Manuel PHP

par:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
Et bien d'autres
2010-06-25
Édité par: Philip Olson
par:
Pierrick Charron Traducteur
Jean-Sébastien Goupil Traducteur
David Manusset Relecteur
Julien Pauli Traducteur
Mickaël Perraud Relecteur
Guillaume Plessis Traducteur
Yannick Torrès Traducteur
par:
Mehdi Achour
Vincent Briet
Damien Seguy
© 1997-2010 PHP Documentation Group
  • Copyright
  • Manuel PHP
    • Préface
  • Au moment de commencer
    • Introduction
    • Une introduction à PHP
  • Installation et configuration
    • Considérations générales sur l'installation
    • Installation sur les systèmes UNIX
    • Installation sur un système Mac OS X
    • Installation sur les système Windows
    • Installation d'extensions PECL
    • Des problèmes ?
    • Configuration
  • Référence du langage
    • La syntaxe de base
    • Les types
    • Les variables
    • Les constantes
    • Les expressions
    • Les opérateurs
    • Les structures de contrôle
    • Les fonctions
    • Les classes et les objets
    • Les espaces de noms
    • Les exceptions
    • Les références
    • Variables prédéfinies
    • Exceptions prédéfinies
    • Interfaces prédéfinies
    • Options et paramètres de contexte
  • Sécurité
    • Introduction
    • Considérations générales
    • Binaires CGI
    • Installé en tant que module Apache
    • Sécurité des fichiers
    • Sécurité des bases de données
    • Rapport d'erreurs
    • Utilisation des variables super-globales
    • Données transmises par les internautes
    • Guillemets magiques
    • Masquer PHP
    • Être à jour
  • Caractéristiques
    • Identification HTTP avec PHP
    • Cookies
    • Sessions
    • Utiliser les XForms
    • Gestion des chargements de fichiers
    • Utilisation des fichiers à distance
    • Gestion des connexions
    • Connexions persistantes aux bases de données
    • Safe mode
    • Utilisation en ligne de commande — Utiliser PHP en ligne de commande
    • Ramasse-miettes (Garbage Collection)
  • Référence des fonctions
    • Affecte le comportement de PHP
    • Manipulation audio
    • Services d'identification
    • Extensions relatives aux dates et aux heures
    • Extensions spécifiques à la ligne de commande
    • Extensions sur l'archivage et la compression
    • Traitement des cartes de crédit
    • Extensions sur la cryptographie
    • Extensions sur les bases de données
    • Extensions relatives aux systèmes de fichiers
    • Support du langage humain et de l'encodage de caractères
    • Génération et traitement des images
    • Extensions relatives aux emails
    • Extensions sur les mathématiques
    • Affichage des données non-textuelles
    • Extensions sur le contrôle des processus
    • Autres extensions basiques
    • Autres services
    • Extensions spécifiques aux moteurs de recherche
    • Extensions spécifiques aux serveurs
    • Extensions sur les Sessions
    • Traitement du texte
    • Extensions relatives aux variables et aux types
    • Services Web
    • Extensions pour Windows uniquement
    • Manipulation XML
  • PHP at the Core: A Hacker's Guide to the Zend Engine
    • Preface
    • The "counter" Extension - A Continuing Example
    • The PHP 5 build system
    • Extension structure
    • Memory management
    • Working with variables
    • Writing functions
    • Working with classes and objects
    • Working with resources
    • Working with INI settings
    • Working with streams
    • PDO Driver How-To
    • Extension FAQs
    • Zend Engine 2 API reference
    • Zend Engine 2 opcode list
    • Zend Engine 1
    • The future: PHP 6 and Zend Engine 3
  • FAQ — FAQ : foire Aux Questions
    • Informations générales
    • Listes de diffusion — Listes de diffusions
    • Obtenir PHP
    • Considérations sur les bases de données
    • Installation
    • Problèmes de compilation
    • Utiliser PHP
    • PHP et HTML
    • PHP et COM
    • PHP et les autres langages
    • Migrer de PHP 4 à PHP 5 — Migration de PHP 4 à PHP 5
    • Questions diverses
  • Annexes
    • Histoire de PHP
    • Migration de PHP 5.2.x vers PHP 5.3.x
    • Migration de PHP 5.1.x à PHP 5.2.x
    • Migration de PHP 5.0.x à PHP 5.1.x
    • Migration de PHP 4 à PHP 5.0.x
    • Les classes et les objets (PHP 4)
    • Débogueur PHP
    • Options de configuration
    • Directives du php.ini
    • Catégorie/Liste des extensions
    • Liste des alias
    • Mots réservés en PHP
    • Types des ressources PHP
    • Liste des protocoles supportés
    • Liste des filtres standards
    • Liste des modes de transport de sockets disponibles
    • Comparaison de types en PHP
    • Liste des tokens de l'analyseur
    • Guide de nommage de l'espace utilisateur
    • À propos du manuel
    • Creative Commons Attribution 3.0
    • Index des fonctions
  • Version HTML Help
    • About This Edition
    • Using PHP Manual CHM Edition
    • The Full Text Search
    • Specialities of this Edition
    • Integrating the PHP Manual
    • Skin development
    • CHM Edition Credits
PHP Manual


Copyright

Copyright @ 1997 - 2010 par le PHP Documentation Group. Ce document ne peut être redistribué qu'aux termes et aux conditions mentionnés dans la licence Open Publication License, version 1.0 ou plus récente. Une copie de la licence Creative Commons Attribution 3.0 est distribuée avec ce manuel ; la dernière version est disponible à » http://creativecommons.org/licenses/by/3.0/.

Dans le cas où vous seriez intéressés par la distribution partielle ou totale de ce document (modifié ou non) et que vous ayez des questions, merci de contacter les propriétaires du Copyright à » doc-license@lists.php.net. Notez que cette adresse courriel est directement redirigée vers une liste de diffusion publique et archivée.

Manuel PHP
Manuel PHP
Manuel PHP


Manuel PHP
PHP Manual

Manuel PHP

  • Préface
Copyright
Préface
Manuel PHP
PHP Manual


Préface

PHP est un acronyme récursif, qui signifie "PHP: Hypertext Preprocessor" : c'est un langage de script HTML, exécuté côté serveur. Sa syntaxe est empruntée aux langages C, Java et Perl, et est facile à apprendre. Le but de ce langage est de permettre aux développeurs web d'écrire des pages dynamiques rapidement, mais vous pouvez faire beaucoup plus avec PHP.

Ce manuel est essentiellement une référence des fonctions, mais il contient aussi des informations de référence sur le langage, des explications sur les fonctionnalités principales de PHP et diverses informations supplémentaires.

Vous pouvez télécharger ce manuel sous divers formats, sur » http://www.php.net/download-docs.php. Plus d'informations sur ce manuel sont disponibles dans l'appendice À propos du manuel. Si vous voulez découvrir l'histoire de PHP.

Auteurs et Contributeurs

Nous mettons en avant les personnes les plus actives dans la préface du manuel mais il y a bien plus de contributeurs qui nous aident actuellement dans notre travail ou qui ont fournis une aide précieuse au projet dans le passé. Il y a beaucoup d'inconnus qui nous ont aidés à travers leurs notes concernant les pages du manuel qui sont continuellement incluses dans le manuel, travail dont nous sommes très reconnaissants. La liste fournie ci-dessous est classée par ordre alphabétique.

Auteurs et Éditeurs

Les contributeurs suivants ont eu un impact énorme en ajoutant du contenu dans le manuel : Bill Abt, Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Rafael Martinez, Rick McGuire, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar et Andrei Zmievski.

Les contributeurs suivants ont énormément aidé dans l'édition du manuel : Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe et Egon Schmid.

Mainteneurs des notes utilisateurs

Les mainteneurs actuellement les plus actifs sont : Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda et Maciek Sokolewicz.

Ces personnes ont également déployé énormément d'efforts dans le maintien des notes utilisateurs : Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles et Jeroen van Wolffelaar.

Manuel PHP
Au moment de commencer
Manuel PHP


Au moment de commencer

  • Introduction
    • Qu'est ce que PHP?
    • Que peut faire PHP ?
  • Une introduction à PHP
    • Le nécessaire
    • Votre première page PHP
    • Trucs pratiques
    • Utiliser un formulaire
    • Utiliser des codes anciens avec les nouvelles versions de PHP
    • Et après ?
Préface
Introduction
Manuel PHP


Introduction

Sommaire

  • Qu'est ce que PHP?
  • Que peut faire PHP ?
Au moment de commencer
Qu'est ce que PHP?
Au moment de commencer


Qu'est ce que PHP?

PHP (officiellement, ce sigle est un acronyme récursif pour PHP: Hypertext Preprocessor) est un langage de scripts généraliste et Open Source, spécialement conçu pour le développement d'applications web. Il peut être intégré facilement au HTML.

Bien... mais qu'est ce que cela veut dire ? Un exemple :

Exemple #1 Exemple d'introduction

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Exemple</title>
</head>
<body>

<?php
echo "Bonjour, je suis un script PHP !";
?>

</body>
</html>

Au lieu d'utiliser des tonnes de commande afin d'afficher du HTML (comme en C ou en Perl), les pages PHP contiennent des fragments HTML dont du code qui fait "quelque chose" (dans ce cas, il va afficher "Bonjour, je suis un script PHP !"). Le code PHP est inclus entre une balise de début <?php et une balise de fin ?> qui permettent au serveur web de passer en mode PHP.

Ce qui distingue PHP des langages de script comme le Javascript, est que le code est exécuté sur le serveur, générant ainsi le HTML, qui sera ensuite envoyé au client. Le client ne reçoit que le résultat du script, sans aucun moyen d'avoir accès au code qui a produit ce résultat. Vous pouvez configurer votre serveur web afin qu'il analyse tous vos fichiers HTML comme des fichiers PHP. Ainsi, il n'y a aucun moyen de distinguer les pages qui sont produites dynamiquement des pages statiques.

Le grand avantage de PHP est qu'il est extrêmement simple pour les néophytes, mais offre des fonctionnalités avancées pour les experts. Ne craignez pas de lire la longue liste de fonctionnalités PHP. Vous pouvez vous plonger dans le code, et en quelques instants, écrire des scripts simples.

Bien que le développement de PHP soit orienté vers la programmation pour les sites web, vous pouvez en faire bien d'autres usages. Lisez donc la section Que peut faire PHP ? ou bien le tutoriel d'introduction si vous êtes uniquement intéressé dans la programmation web.

Introduction
Que peut faire PHP ?
Introduction


Que peut faire PHP ?

Tout. PHP est principalement conçu pour servir de langage de script coté serveur, ce qui fait qu'il est capable de réaliser tout ce qu'un script CGI quelconque peut faire, comme collecter des données de formulaire, générer du contenu dynamique, ou gérer des cookies. Mais PHP peut en faire bien plus.

Il y a trois domaines différents où PHP peut s'illustrer.

  • Langage de script coté serveur. C'est l'utilisation la plus traditionnelle, et aussi le principal objet de PHP. Vous aurez besoin de trois composants pour l'exploiter : un analyseur PHP (CGI ou module serveur), un serveur web et un navigateur web. Vous devez exécuter le serveur web en corrélation avec PHP. Vous pouvez accéder au programme PHP avec l'aide du navigateur web. Tout ceci peut fonctionner sur votre propre machine si vous êtes juste expérimenté dans la programmation en PHP. Voyez la section d'installation pour plus d'informations.
  • Langage de programmation en ligne de commande. Vous pouvez écrire des scripts PHP et l'exécuter en ligne de commande, sans l'aide du serveur web et d'un navigateur. Il vous suffit de disposer de l'exécutable PHP. Cette utilisation est idéale pour les scripts qui sont exécutés régulièrement (avec un cron sous Unix ou Linux), ou un Task Scheduler (sous Windows). Ces scripts peuvent aussi être utilisés pour réaliser des opérations sur des fichiers texte. Voyez la section sur l'utilisation de PHP en ligne de commande pour plus d'informations.
  • Ecrire des applications clientes graphiques. PHP n'est probablement pas le meilleur langage pour écrire des applications clientes graphiques, mais si vous connaissez bien PHP et que vous souhaitez exploiter des fonctionnalités avancées dans vos applications clientes, vous pouvez utiliser PHP-GTK pour écrire de tels programmes. Vous avez aussi la possibilité d'écrire des applications très portables avec ce langage. PHP-GTK est une extension de PHP, qui n'est pas fournie dans la distribution de base. Si vous êtes intéressé par PHP-GTK, visitez » son site web.

PHP est utilisable sur la majorité des systèmes d'exploitation, comme Linux, de nombreuses variantes Unix (incluant HP-UX, Solaris et OpenBSD), Microsoft Windows, Mac OS X, RISC OS et d'autres encore. PHP supporte aussi la plupart des serveurs web actuels : Apache, Microsoft Internet Information Server, Personal Web Server, Netscape et iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd et beaucoup d'autres encore. Pour la majorité des serveurs web, PHP fonctionne comme module et, pour d'autres, il comme exécutable CGI.

Avec PHP vous avez le choix de votre système d'exploitation et de votre serveur web. De plus, vous avez aussi le choix d'utiliser la programmation procédurale ou objet, ou encore un mélange des deux. Bien que le support de la couche objet ne soit pas très standard en PHP 4, beaucoup de bibliothèques et d'applications d'envergures (incluant la bibliothèque PEAR) ont été écrites en utilisant uniquement du code orienté objet. PHP 5 a rectifié les faiblesses de la couche objet de PHP 4 et a introduit un modèle objet complet.

Avec PHP, vous n'êtes pas limité à la production de code HTML. Les capacités de PHP lui permettent de générer aussi bien des images, des fichiers PDF, des animations Flash (avec l'aide des bibliothèques libswf et Ming) générés à la volée. Vous pouvez aussi générer facilement du texte, du code XML ou XHTML. PHP génère tous ces fichiers et les sauve dans le système de fichier, ou bien les envoie directement au navigateur web.

Une des grandes forces de PHP est le support de nombreuses bases de données. Ecrire une page web exploitant une base de données est extrêmement simple. Les bases de données suivantes sont toutes supportées par PHP :

  • Adabas D
  • dBase
  • Empress
  • FilePro (lecture seule)
  • Hyperwave
  • IBM DB2
  • Informix
  • Ingres
  • InterBase
  • FrontBase
  • mSQL
  • Direct MS-SQL
  • MySQL
  • ODBC
  • Oracle (OCI7 et OCI8)
  • Ovrimos
  • PostgreSQL
  • SQLite
  • Solid
  • Sybase
  • Velocis
  • Unix dbm
Il existe aussi une couche d'abstraction de base de données (nommée PDO) qui vous permettent de vous connecter de manière transparente à toute base de données supportée par cette extension. De plus, PHP supporte ODBC, ce qui vous permet de vous connecter à toute autre base de données qui supporte ce standard.

PHP supporte de nombreux protocoles comme LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (sous Windows) et encore d'autres. Vous pouvez ouvrir des sockets réseau, et interagir avec n'importe quel autre protocole. PHP supporte le format complexe WDDX, qui permet de communiquer entre tous les langages web. En terme d'interconnexion, PHP supporte aussi les objets Java, et les utilise de manière transparente comme objets intégrés. Vous pouvez aussi exploiter les objets distants avec CORBA.

PHP dispose de fonctionnalités extrêmement utiles pour le traitement de texte, allant des expressions rationnelles POSIX étendues ou Perl aux traitements des fichiers XML, avec les standards SAX et DOM (PHP 4). Vous pouvez utiliser les transformations XSLT. PHP 5 standardise toutes les extensions XML sur la base solide de libxml2 et en attendant les fonctionnalités en ajoutant le support de SimpleXML et XMLReader.

Enfin, PHP dispose d'extensions très pratiques comme le moteur de recherche mnoGoSearch, la passerelle avec IRC, des outils de compression (gzip, bz2, zip) et de conversion calendaire, de traduction...

Comme vous le voyez, cette page n'est pas assez grande pour lister toutes les puissantes fonctionnalités de PHP. Lisez la section sur l'installation de PHP et étudiez la liste de fonctions pour avoir plus de détails sur toutes ces technologies.

Qu'est ce que PHP?
Une introduction à PHP
Introduction


Une introduction à PHP

Sommaire

  • Le nécessaire
  • Votre première page PHP
  • Trucs pratiques
  • Utiliser un formulaire
  • Utiliser des codes anciens avec les nouvelles versions de PHP
  • Et après ?

Dans cette section, nous voulons illustrer les principes de base de PHP dans une courte introduction. Ce chapitre traite uniquement de création de pages web dynamiques avec PHP, laissant de coté temporairement les autres possibilités de PHP. Voyez la section Ce que peut faire PHP pour plus d'informations.

Les pages web qui exploitent PHP sont traitées comme des pages HTML standards, et vous pouvez les créer, éditer et effacer tout comme vous le faites normalement avec des pages HTML classiques.

Que peut faire PHP ?
Le nécessaire
Au moment de commencer


Le nécessaire

Dans ce tutoriel, nous présumons que vous avez un serveur web avec le support PHP activé, et que les fichiers terminés par l'extension .php sont traités par PHP. Sur la plupart des serveurs, c'est la configuration par défaut, mais n'hésitez pas à interroger votre administrateur système en cas de doute. Si votre serveur web supporte PHP, vous n'avez rien à faire. Simplement, créez un dossier, puis créez un fichier texte, avec l'extension .php : le serveur va automatiquement l'exécuter avec PHP. Il n'y a pas de compilation, ou d'installation compliquée. Gardez en tête que les fichiers sont comparables à des fichiers HTML, dans lesquels vous allez utiliser des balises magiques, qui feront beaucoup de choses pour vous. Beaucoup d'hébergeurs web proposent PHP mais si ce n'est pas le cas, lisez la section des » liens PHP pour trouver un hébergeur web le proposant.

Supposons que vous souhaitiez économiser du temps en ligne et travailler localement. Dans ce cas, vous devez installer un serveur web comme » Apache, et bien sur » PHP. Vous souhaiterez aussi installer une base de données comme » MySQL.

Vous pouvez soit installer ces logiciels individuellement ou bien d'une manière simplifiée. Notre manuel contient les instructions d'installation de PHP (en supposant que vous avez déjà un serveur web d'installé). Dans le cas où vous rencontriez des problèmes dans l'installation de PHP, nous vous suggérons de poser vos questions sur notre » liste de diffusions réservée à cet usage. Si vous choisissez une version simplifiée, vous pouvez utiliser des » des installeurs qui prennent en charge l'ensemble de l'installation en quelques clics. Il est facile de configurer un serveur web avec le support de PHP sur n'importe quel système d'exploitation, y compris MacOs, Linux et Windows. Sous Linux, vous pouvez aussi trouver des commandes comme » rpmfind et » PBone très pratiques pour rechercher les paquets pré-compilés. Vous pouvez aussi visiter » apt-get, pour des paquets Debian.

Une introduction à PHP
Votre première page PHP
Une introduction à PHP


Votre première page PHP

Créez un fichier appelé bonjour.php dans votre dossier web racine (DOCUMENT_ROOT) avec le contenu suivant :

Exemple #1 Notre premier script PHP : bonjour.php

<html>
 <head>
  <title>Test PHP</title>
 </head>
 <body>
 <?php echo '<p>Bonjour le monde</p>'; ?>
 </body>
</html>

Utilisez votre navigateur pour accéder au fichier via votre serveur web, en ajoutant le nom de fichier /bonjour.php. Si vous développez localement, votre URL ressemblera à http://localhost/bonjour.php ou encore http://127.0.0.1/bonjour.php mais cela dépend de la configuration de votre serveur web. Si ceci est configuré correctement, le fichier sera analysé par PHP et le résultat suivant affiché :

<html>
 <head>
  <title>Test PHP</title>
 </head>
 <body>
 <p>Bonjour le monde</p>
 </body>
</html>

Ce programme est extrêmement simple et vous n'avez pas besoin de PHP pour créer une page web comme ceci. Elle ne fait qu'afficher Bonjour le monde, grâce à la fonction echo() de PHP. Notez que ce fichier n'a pas besoin d'être exécutable ou autres, dans aucun cas. Le serveur sait que ce fichier a besoin d'être interprété par PHP car vous utilisez l'extension ".php", et le serveur est configuré pour les passer à PHP. Voyez cela comme une page HTML normale qui contient une série de balises spéciales qui vont vous permettre de réaliser beaucoup de choses intéressantes.

Si vous avez essayé cet exemple et qu'il n'a rien affiché de spécial, ou même qu'une boîte de dialogue a surgi pour vous proposer de le télécharger, ou encore vous avez vu le code tel que nous l'avons écrit dans le fichier, alors votre serveur web ne supporte probablement pas PHP ou est mal configuré. Demandez à votre administrateur de l'activer pour vous, en utilisant le chapitre Installation. Si vous développer localement, lisez également le chapitre d'installation afin de vous assurer que tout est configuré correctement. Assurez-vous que vous tentez d'accéder au fichier via http et que le serveur web vous fournit la sortie. Si vous appelez votre fichier depuis votre gestionnaire de fichiers, il ne sera pas analysé par PHP. Si le problème persiste malgré cela, n'hésitez pas à utiliser une » des options de support de PHP.

Le point important de cet exemple était de montrer le format des balises spéciales PHP. Nous avons utilisé ici <?php pour indiquer le début de la balise PHP. Puis, nous avons introduit les commandes PHP et refermé les balises PHP avec ?>. Vous pouvez passer du mode PHP au mode HTML et vice-versa, de cette manière, et à votre guise. Pour plus d'informations, lisez la section du manuel sur la syntaxe basique de PHP.

Note: Une note sur les retours à la ligne
Les retours à la ligne ont une signification minime en HTML, cependant, c'est toujours une bonne idée de rendre votre HTML aussi joli et proche que possible en y ajoutant des retours à la ligne. Un retour à la ligne suivant immédiatement une balise de fermeture PHP (?>) sera supprimé par PHP. Ceci peut être vraiment très utile lorsque vous insérez plusieurs blocs PHP ou fichiers inclus contenant du PHP qui n'est pas supposé afficher quoi que ce soit. En même temps, ce peut être confus. Vous pouvez ajouter un espace après la balise fermante PHP (?>) pour forcer l'espace et un retour à la ligne à afficher, ou vous pouvez ajouter explicitement un retour à la ligne dans le dernier echo/print de votre bloc PHP.

Note: Une note sur les éditeurs de texte
Il existe de nombreux éditeurs de texte et environnements de développement (IDE) que vous pouvez utiliser pour créer, éditer et gérer vos applications PHP. Une liste partielle de ces outils est entretenue à l'adresse » PHP Editor's List. Si vous voulez recommander un éditeur particulier, rendez donc une visite à cette page, et demandez au webmestre d'ajouter votre éditeur. Avoir au minimum un éditeur de texte avec la coloration syntaxique est vivement recommandé.

Note: Une note sur les traitements de texte
Les traitements de texte tels que StarOffice Writer, Microsoft Word et Abiword sont de très mauvais choix pour éditer des scripts PHP. Si vous voulez utiliser l'un d'entre eux, malgré tout, pour tester vos scripts, vous devez vous assurer que vous sauvez les fichiers au format texte seul (plain text) : sinon, PHP ne sera pas capable de lire et d'exécuter ces scripts.

Note: Une note sur le Notepad de Windows
Si vous écrivez vos scripts PHP avec Windows Notepad, vous devez vous assurer que vos fichiers sont sauvés avec l'extension .php (Notepad ajoute automatiquement une extension .txt à vos fichiers, à moins que vous ne preniez l'une des mesures suivantes). Lorsque vous sauvez un fichier, et que vous êtes invité à lui donner un nom, placez le nom du fichier entre doubles guillemets (i.e. "hello.php"). Vous pouvez également cliquer dans le menu 'Documents texte' du dialogue de sauvegarde, et choisir l'option 'Tous les fichiers'. Vous pourrez alors saisir le nom de votre fichier sans les doubles guillemets.

Maintenant vous avez créé un script PHP qui fonctionne, c'est le moment de créer le meilleur script PHP ! Faites un appel à la fonction phpinfo() et vous verrez beaucoup d'informations intéressantes sur votre système et sa configuration comme les variables pré-définies disponibles, les modules PHP chargés ainsi que la configuration. Prenez du temps pour revoir ces informations importantes.

Exemple #2 Récupération des informations du système depuis PHP

<?php phpinfo(); ?>

Le nécessaire
Trucs pratiques
Une introduction à PHP


Trucs pratiques

Réalisons maintenant quelque chose de plus puissant. Nous allons vérifier le type de navigateur que le visiteur de notre site utilise. Pour cela, nous allons accéder aux informations que le navigateur du visiteur nous envoie, lors de sa requête HTTP. Cette information est stockée dans une variable. Les variables sont faciles à repérer, car elles commencent toutes par un signe dollar. La variable qui nous intéresse ici est $_SERVER['HTTP_USER_AGENT'].

Note: $_SERVER est une variable spéciale de PHP, qui contient toutes les informations relatives au serveur web. C'est une variable réservée de PHP, et une superglobale. Reportez-vous aux pages du manuel traitant des Auto-globales (aussi connues sous le nom de super-globales). Ces variables spéciales ont été introduites en » PHP 4.1.0. Auparavant, il fallait utiliser les variables $HTTP_*_VARS, comme $HTTP_SERVER_VARS. Bien qu'obsolètes, ces variables existent toujours. (Voir aussi la note sur l'ancien code.)

Pour afficher cette variable, nous pouvons simplement faire :

Exemple #1 Afficher le contenu d'une variable (élément de tableau)

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

Un résultat possible du script pourra alors être :

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Il y a de nombreux types de variables disponibles en PHP. Dans l'exemple ci-dessus, nous avons affiché un élément de Tableau (Array). Les tableaux peuvent être très utiles.

$_SERVER est juste une variable qui est automatiquement disponible dans votre script. Une liste de toutes les variables qui sont rendues disponibles est fournie dans la section Variables réservées ou vous pouvez aussi en obtenir une liste complète en lisant l'affichage de la fonction phpinfo() utilisée dans l'exemple de la section précédente.

Vous pouvez ajouter plusieurs commandes PHP dans une balise PHP, et créer de petits blocs de code qui réalisent des opérations plus complexes qu'un simple affichage. Par exemple, si nous voulons vérifier que le navigateur est bien de la famille des Internet Explorer, nous pouvons faire cela :

Exemple #2 Exemple utilisant les structures de contrôle et les fonctions

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo 'Vous utilisez Internet Explorer<br />';
}
?>

Le résultat de ce script, si vous utilisez Internet Explorer, sera :

Vous utilisez Internet Explorer<br />

Ici, nous introduisons plusieurs nouveaux concepts. Nous avons une structure if. Si vous êtes familier avec les syntaxes de base du langage C, cela ne vous surprendra pas. Si vous ne connaissez pas assez le langage C ou un autre langage où la syntaxe est similaire à celle ci-dessus, il vaudrait mieux que vous lisiez une introduction à PHP, et assimiliez les premiers chapitres, ou bien lisez le chapitre consacré à la référence du langage.

Le second concept que nous avons introduit est la fonction strpos(). strpos() est une fonction intégrée à PHP, qui recherche la présence d'une chaîne dans une autre. Dans notre cas, nous avons recherché la chaîne "MSIE" dans la chaîne $_SERVER['HTTP_USER_AGENT']. Si cette chaîne est trouvée, la fonction retourne sa position dans la chaîne et, sinon, FALSE. Si elle ne retourne pas FALSE, la structure if reçoit TRUE et le code entre accolades {} est exécuté. Sinon, le code n'est pas exécuté. N'hésitez pas à expérimenter d'autres exemples, à l'aide de if, else, et d'autres fonctions comme strtoupper() et strlen(). Chaque page de la documentation contient aussi des exemples. Si vous n'êtes pas sûr de l'utilisation de ces fonctions, vous devez lire la page du manuel "comment lire une définition de fonction" ainsi que la section sur les fonctions PHP.

Nous pouvons maintenant progresser et vous montrer comment utiliser le mode PHP, au milieu du code HTML :

Exemple #3 Passer du mode PHP au mode HTML et vice-versa

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() n'a pas retourné FALSE</h3>
<p>Vous utilisez Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() a retourné FALSE</h3>
<p>Vous n'utilisez pas Internet Explorer</p>
<?php
}
?>

Un exemple de résultat obtenu dans ce script est :

<h3>strpos() n'a pas retourné FALSE</h3>
<p>Vous utilisez Internet Explorer</p>

Au lieu d'utiliser une commande echo(), pour afficher du texte, vous pouvez utiliser du code HTML pur. Le point important a noter ici et que la logique de programmation est conservée. Seul un des deux blocs HTML sera affiché, suivant le résultat de la fonction strpos(). En d'autres termes, cela dépend si la chaîne MSIE a été trouvée ou non.

Votre première page PHP
Utiliser un formulaire
Une introduction à PHP


Utiliser un formulaire

L'un des points forts de PHP est sa capacité à gérer les formulaires. Le concept de base qui est important à comprendre est que tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action. Lisez le chapitre du manuel concernant les variables depuis des sources externes à PHP pour plus d'informations et d'exemples sur la façon d'utiliser les formulaires. Voici un exemple de formulaire HTML :

Exemple #1 Un simple formulaire HTML

<form action="action.php" method="post">
 <p>Votre nom : <input type="text" name="nom" /></p>
 <p>Votre âge : <input type="text" name="age" /></p>
 <p><input type="submit" value="OK"></p>
</form>

Il n'y rien de particulier dans ce formulaire. Il est en HTML pur, sans aucune configuration particulière. Lorsque le visiteur remplit le formulaire, et clique sur le bouton OK, le fichier action.php est appelé. Dans ce fichier, vous pouvez écrire le script suivant :

Exemple #2 Afficher des données issues d'un formulaire

Bonjour, <?php echo htmlspecialchars($_POST['nom']); ?>.
Tu as <?php echo (int)$_POST['age']; ?> ans.

Voici le résultat que vous pourriez obtenir, selon les valeurs que vous avez saisies :

Bonjour Jean.
Tu as 29 ans.

Mise à part les parties htmlspecialchars() et (int), ce script ne fait que des choses évidentes. htmlspecialchars() s'assure que tous les caractères spéciaux HTML sont proprement encodés afin d'éviter des injections de balises HTML et de Javascript dans vos pages. Pour l'âge, vu que nous savons que c'est un entier, vous pouvez le convertir en un entier. Vous pouvez également demander à PHP de le faire automatiquement à votre place en utilisant l'extension filter. Les variables $_POST['nom'] et $_POST['age'] sont automatiquement créés par PHP. Un peu plus tôt dans ce tutoriel, nous avons utilisé la variable $_SERVER, une superglobale. Maintenant, nous avons introduit une autre superglobale $_POST qui contient toutes les données envoyées par la méthode POST. Notez que dans notre formulaire, nous avons choisi la méthode POST. Si vous avions utilisé la méthode GET alors notre formulaire aurait placé ses informations dans la variable $_GET, une autre superglobale. Vous pouvez aussi utiliser la variable $_REQUEST, si vous ne souhaitez pas vous embarrasser de la méthode utilisée. Elle contient un mélange des données de GET, POST, COOKIE et FILE. Voyez aussi la fonction import_request_variables().

Vous pouvez également utiliser des champs XForms dans PHP, même si vous vous sentez bien avec l'utilisation des formulaires HTML. Bien que le travail avec XForms ne soit pas fait pour les débutants, vous pourriez être intéressé par cette technologie. Nous avons également une courte introduction sur le traitement des données reçues par XForms dans notre section sur les fonctionnalités.

Trucs pratiques
Utiliser des codes anciens avec les nouvelles versions de PHP
Une introduction à PHP


Utiliser des codes anciens avec les nouvelles versions de PHP

Maintenant que PHP est devenu un langage de script populaire, il existe de nombreuses ressources qui vous proposent des portions de code que vous pouvez réutiliser dans vos codes. Pour la plupart, les développeurs de PHP ont tâché d'assurer la compatibilité ascendante, ce qui fait que de nombreux scripts écrits pour les anciennes versions sont aussi valables pour les nouvelles versions de PHP, idéalement sans modifications. En pratique, certaines modifications doivent être apportées.

Les deux modifications récentes les plus importantes qui affectent les anciens codes sont :

  • Les anciennes variables $HTTP_*_VARS (qui devaient être indiquées comme globales pour être utilisées dans une fonction ou une méthode) sont obsolètes. Les nouveaux tableaux superglobaux ont été introduits en » PHP 4.1.0. Ce sont les variables suivantes : $_GET, $_POST, $_FILES, $_COOKIE, $_SERVER, $_ENV, $_REQUEST et $_SESSION. Les vieux tableaux $HTTP_*_VARS, tels que $HTTP_POST_VARS existent également. Depuis PHP 5.0.0, les tableaux prédéfinis PHP peuvent être désactivés avec l'option de configuration register_long_arrays.
  • Les variables externes ne sont plus enregistrées dans l'environnement par défaut. En d'autres termes, depuis PHP » 4.2.0, la directive PHP register_globals vaut off par défaut dans le php.ini. La méthode recommandée pour accéder à ces valeurs est via les tableaux superglobaux mentionnés ci-dessus. Les anciens scripts, livres et tutoriel continuent de considérer que cette directive devrait être à on. Lorsque cette directive est à on, vous pouvez utiliser la variable $id, si l'URL http://www.example.com/foo.php?id=42 a été appelée. Quelle que soit la valeur de la directive, $_GET['id'] est toujours disponible.
Pour plus de détails sur ces modifications, reportez-vous à la section sur les variables pré-définies.

Utiliser un formulaire
Et après ?
Une introduction à PHP


Et après ?

Avec ce que vous savez, vous êtes maintenant capable de comprendre l'essentiel de la documentation PHP, et les différents scripts d'exemples disponibles dans les archives. Vous pouvez aussi trouver d'autres exemples dans la section liens ("links", en anglais) du site » http://www.php.net/links.php.

Différentes présentations des capacités de PHP sont disponibles sur le site des conférences PHP : » http://talks.php.net/.

Utiliser des codes anciens avec les nouvelles versions de PHP
Installation et configuration
Une introduction à PHP


Installation et configuration

  • Considérations générales sur l'installation
  • Installation sur les systèmes UNIX
    • Apache 1.3.x sur les systèmes Unix
    • Apache 2.x sur les systèmes Unix
    • Lighttpd 1.4 sur les systèmes Unix
    • Installation sous Netscape et iPlanet Enterprise Serveur sur un système Sun Solaris
    • CGI et configuration en ligne de commande
    • Installation sous HP-UX
    • Installation sur les systèmes OpenBSD
    • Installation sous Solaris
    • Notes d'installation sous Debian GNU/Linux
  • Installation sur un système Mac OS X
    • Utilisation des paquets
    • Utilisation de PHP embarqué
    • Compilation pour les serveurs OS X
    • Installation pour Apache sur les clients MacOS X
  • Installation sur les système Windows
    • L'installeur Windows (PHP version 5.1.0 et inférieures)
    • Installeur Windows (PHP 5.2 et suivant)
    • Installation manuelle sous Windows
    • ActiveScript
    • Microsoft IIS
    • Microsoft IIS 5.1 and IIS 6.0
    • Microsoft IIS 7.0 and later
    • Installer PHP sous Microsoft Windows avec Apache 1.3.x
    • Installation des serveurs Apache 2.x sur les systèmes Microsoft Windows
    • Serveurs Sun, iPlanet et Netscape servers sur Microsoft Windows
    • Installation pour les serveurs OmniHTTPd
    • Sambar Server on Microsoft Windows
    • Installation Xitami sur Microsoft Windows
    • Compilation des sources
    • Installation des extensions sous Windows
    • Ligne de commande PHP sous Microsoft Windows
  • Installation d'extensions PECL
    • Introduction aux installations PECL
    • Télécharger des extensions PECL
    • Installer une extension PHP sous Windows
    • Compilation d'extensions PECL partagées avec la commande pecl
    • Compilation des extensions partagées avec phpize
    • Compilation des extensions PECL statiquement dans PHP
  • Des problèmes ?
    • Lisez la FAQ
    • Autres problèmes
    • Rapports de Bogue
  • Configuration
    • Le fichier de configuration
    • .user.ini files
    • Où une directive de configuration peut être modifiée
    • Comment modifier la configuration
Et après ?
Considérations générales sur l'installation
Manuel PHP


Considérations générales sur l'installation

Avant d'installer PHP, vous devez savoir ce que vous voulez faire avec PHP. Il y a trois cas d'utilisation que vous a décrit la section Que peut faire PHP ? :

  • Sites Web et applications Web (script côté serveur)
  • Scripts en ligne de commande
  • Applications à interface graphique (GUI)

Pour la première tâche, qui est de loin la plus répandue, vous avez besoin de trois choses : PHP lui-même, un serveur Web et un navigateur. Vous avez probablement un navigateur, et en fonction de votre système d'exploitation, vous pouvez aussi disposer d'un serveur Web (i.e. Apache sous Linux ou IIS sous Windows). Vous pouvez aussi louer un espace à une société. De cette façon, vous n'aurez pas à mettre en place PHP, mais uniquement à écrire vos scripts, les charger sur le serveur et voir le résultat sur votre navigateur.

Si vous installez PHP et le serveur par vous-même, vous avez deux choix. Soit sous la forme d'un module du serveur Web (via une interface directe appelée SAPI). Les serveurs qui supportent cette solution comptent notamment Apache, Microsoft Internet Information Server, Netscape et iPlanet. D'autres serveurs ont aussi le support ISAPI, l'interface de module Microsoft (OmniHTTPd par exemple). Si PHP ne supporte pas l'interface de module de votre serveur Web, vous pouvez toujours l'utiliser comme processeur CGI ou FastCGI. Cela signifie que vous devez configurer votre serveur pour qu'il utilise l'exécutable CGI de PHP, pour qu'il traite les fichiers PHP sur le serveur.

Si vous souhaitez aussi utiliser PHP en ligne de commande (écrire des scripts de génération d'image hors ligne, par exemple, ou bien traiter des textes en fonctions d'informations que vous leur fourniriez), vous aurez besoin d'un exécutable PHP. Pour plus de détails, lisez la section écrire des applications PHP en ligne de commande. Dans ce cas, vous n'aurez pas besoin de serveur Web, ni de navigateur.

Avec PHP, vous pouvez aussi écrire des interfaces graphiques clientes, en utilisant l'extension PHP-GTK. C'est une approche complètement différente de l'écriture des pages web, car vous ne générerez pas de fichiers HTML, mais vous aurez à gérer des fenêtres et des objets. Pour plus de détails sur PHP-GTK, voyez le » site officiel. PHP-GTK n'est pas inclus dans la distribution officielle de PHP.

À partir de maintenant, cette section décrit l'installation de PHP avec un serveur Web sous Unix et Windows, sous forme de module ou d'exécutables CGI.

Les codes source et les exécutables compilés pour certains OS (y compris Windows), sont disponibles à » http://www.php.net/downloads.php. Nous recommandons l'utilisation du » miroir le plus proche pour télécharger les distributions.

Installation et configuration
Installation sur les systèmes UNIX
Installation et configuration


Installation sur les systèmes UNIX

Sommaire

  • Apache 1.3.x sur les systèmes Unix
  • Apache 2.x sur les systèmes Unix
  • Lighttpd 1.4 sur les systèmes Unix
  • Installation sous Netscape et iPlanet Enterprise Serveur sur un système Sun Solaris
  • CGI et configuration en ligne de commande
  • Installation sous HP-UX
  • Installation sur les systèmes OpenBSD
  • Installation sous Solaris
  • Notes d'installation sous Debian GNU/Linux

Cette section va vous guider lors du processus d'installation et de configuration de PHP sous Unix. Commencez par étudier les sections spécifiques à votre plate-forme ou à votre serveur Web avant de passer à l'installation.

Comme ce que nous avons écrit dans le manuel dans la section Considérations générales sur l'installation, nous traiterons de l'installation de PHP sur des serveurs Web dans cette section, bien que nous couvrirons également la configuration de PHP pour l'utilisation en ligne de commande.

Il y a plusieurs manières d'installer PHP sur des plates-formes Unix : soit avec un processus de compilation/configuration, soit avec des paquets précompilés. Cette documentation est particulièrement focalisée sur le processus de compilation/configuration. Beaucoup de systèmes basés sur Unix ont plusieurs sortes de paquets d'installation pour leur système. Ils permettent de vous assister dans une configuration standard, mais si vous avez besoin d'avoir des fonctionnalités différentes (comme un serveur sécurisé ou un driver différent de bases de données), vous aurez besoin de construire PHP et/ou votre serveur Web. Si vous n'êtes pas familiarisé avec la construction et la compilation de vos propres logiciels, il sera plus simple de vérifier si quelque part, personne n'a déjà construit une version de paquet de PHP avec les fonctionnalités dont vous avez besoin.

Pré-requis :

  • Connaissance de base d'UNIX (savoir faire un "make" et compiler en C, si besoin).
  • Un compilateur ANSI C (pour les codes sources)
  • flex : Version 2.5.4 (pour compiler)
  • bison : Version 1.28 (préféré), 1.35, or 1.75 (pour compiler)
  • Un serveur Web
  • Tous les composants nécessaires aux extensions (bibliothèque GD, PDF, etc.)

La configuration initiale de PHP et le processus de configuration sont contrôlés par l'utilisation du fichier configure et de ces options en lignes de commande. Vous pouvez récupérer une liste de toutes les options disponibles accompagnées d'une courte description en exécutant la commande ./configure --help. Notre manuel documente les différentes options séparément. Vous pouvez trouver les options internes en annexe, bien que les différentes options spécifiques à chaque extension sont décrites sur les pages de référence.

Lorsque PHP est configuré, vous êtes prêt à construire le module et/ou l'exécutable. La commande make devrait s'occuper de cela. Si elle échoue et que vous ne savez pas pourquoi, lisez la section Problèmes.

Considérations générales sur l'installation
Apache 1.3.x sur les systèmes Unix
Installation et configuration


Apache 1.3.x sur les systèmes Unix

Cette section contient des notes spécifiques pour l'installation de PHP avec Apache sur les systèmes Unix. Des notes spécifiques pour Apache 2 sont aussi disponibles sur une page séparée.

Vous pouvez sélectionner des options à ajouter au fichier configure à la ligne 10 depuis la liste complète des options de configuration. Les numéros de versions ont été omis ici afin de s'assurer que les instructions ne soient pas incorrectes. Vous devrez donc remplacer les 'xxx' par les versions correctes de vos fichiers.

Exemple #1 Instructions d'installation de PHP (en module Apache)

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Maintenant, configurez votre PHP. C'est le moment où vous configurez PHP
    avec diverses options, comme les extensions qui seront activées. Lancez
    ./configure --help pour une liste des options disponibles. Dans notre exemple,
    nous ferons un ./configure assez simple avec uniquement le support Apache et MySQL.
    Votre chemin vers apxs peut être différent de notre exemple.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    Si vous décidez de changer vos options de configuration après l'installation,
    vous aurez juste besoin de répéter les trois dernières étapes. Vous aurez aussi besoin
    de redémarrer apache pour que le nouveau module soit chargé. Une recompilation de
    Apache n'est pas nécessaire.

    Notez que, à moins de l'avoir explicitement désactivé, 'make install' installera aussi PEAR,
    et des outils PHP tels que phpize, installera le CLI PHP, etc.

13. Configurez votre fichier php.ini :

      cp php.ini-development /usr/local/lib/php.ini

    Vous pouvez éditer votre fichier .ini pour régler certaines options PHP. Si vous souhaitez
    votre php.ini à un autre endroit, utilisez --with-config-file-path=/votre/chemin lors de
    l'étape 10.

    Si vous utilisez plutôt php.ini-production, assurez-vous de lire l'ensemble des changements
    qui y sont contenus, car ils modifient le fonctionnement de PHP.

14. Éditez votre httpd.conf afin de charger le module PHP. Le chemin dans la partie droite de la
    directive LoadModule doit pointer vers l'endroit où se trouve le module PHP sur votre système.
    Le make install lancé plus haut l'y aura certainement déjà déposé pour vous,
    mais assurez vous en.

      LoadModule php5_module libexec/libphp5.so

15. Et dans la section AddModule de httpd.conf, quelque part en dessous de
    ClearModuleList, ajoutez ceci :

      AddModule mod_php5.c

16. Dites à Apache de faire analyser certaines extensions par PHP. Par exemple,
    faites analyser l'extension .php par PHP. Vous pouvez ajouter n'importe quelle(s)
    extension(s) à analyser juste en l'(les)ajoutant à la suite, séparée(s) par un espace.
    Nous ajouterons .phtml dans notre exemple.

      AddType application/x-httpd-php .php .phtml

    Il est assez fréquent de configurer l'extension .phps comme code source PHP colorisé,
    ce qui peut être fait ainsi :

      AddType application/x-httpd-php-source .phps

17. Utilisez votre méthode habituelle pour démarrer le serveur Apache.
    (vous devez l'éteindre et le redémarrer, pas seulement lui envoyer
    un signal HUP ou USR1.)

Alternativement, pour installer PHP en tant qu'objet statique :

Exemple #2 Instructions d'installation (installation en tant que module statique d'Apache) de PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (La ligne ci-dessus est correcte ! Oui, nous savons que libphp5.a n'existe pas à
    ce moment. On ne le suppose pas non plus. Il sera créé.)

12. make
    (vous devriez avoir maintenant un binaire httpd que vous pouvez copier dans votre
    dossier de binaire Apache ; si c'est votre première installation, vous devez exécuter la
    commande "make install")

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. Vous pouvez éditer le fichier /usr/local/lib/php.ini pour définir les options de PHP.
    Éditez votre fichier httpd.conf ou srm.conf et ajoutez :
    AddType application/x-httpd-php .php

Suivant votre installation d'Apache et votre variante d'Unix, il existe de nombreuses façons d'arrêter et redémarrer Apache. Voici une liste des commandes typiques, pour différentes installations. Remplacez /path/to/ par le chemin d'accès à vos applications sur votre système.

Exemple #3 Exemples de commandes pour le redémarrage d'apache

1. Nombreuses variantes Linux SysV :
/etc/rc.d/init.d/httpd restart

2. Avec les scripts apachectl :
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl et httpsdctl (utilisant OpenSSL), similaires à apachectl :
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. En utilisant mod_ssl, ou un autre serveur SSL, vous pouvez vouloir l'arrêter
et le démarrer manuellement :
/path/to/apachectl stop
/path/to/apachectl startssl

L'emplacement des exécutables apachectl et http(s)dctl peut varier. Si votre système est pourvu des commandes locate, whereis ou which, elles peuvent vous aider à retrouver vos programmes.

Différents exemples de compilation PHP pour Apache suivent :

./configure --with-apxs --with-pgsql

Cette commande va créer une bibliothèque partagée libphp5.so qui sera chargée par Apache avec une ligne LoadModule dans le fichier httpd.conf. Le support PostgreSQL est aussi inclus dans cette bibliothèque.

./configure --with-apxs --with-pgsql=shared

Cette commande va créer une bibliothèque partagée libphp5.so pour Apache, mais va aussi créer la bibliothèque partagée pgsql.so qui sera chargée dans PHP avec une directive du fichier php.ini ou en la chargeant explicitement dans le script avec la fonction dl().

./configure --with-apache=/path/to/apache_source --with-pgsql

Cette commande va créer une autre bibliothèque partagée libmodphp5.a, un fichier mod_php5.c et quelques fichiers associés dans le dossier src/modules/php4 du dossier source Apache. Puis, vous devez compiler Apache avec --activate-module=src/modules/php5/libphp5.a et le système de compilation d'Apache va créer un fichier libphp5.a et le lier statiquement avec httpd. Le support PostgreSQL est alors inclus directement dans l'exécutable httpd, ce qui fait que le résultat final est un fichier unique httpd, qui inclut Apache et PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Comme précédemment, mais au lieu d'inclure le support PostgreSQL directement dans l'exécutable httpd final, vous allez obtenir une bibliothèque partagée pgsql.so que vous pouvez charger dans PHP soit grâce au fichier de configuration php.ini ou dynamiquement avec dl().

Lorsque vous faites votre choix entre les différents modes de compilation de PHP, vous devez prendre en compte leurs avantages et inconvénients respectifs. Les objets partagés permettent de compiler PHP et Apache de manière séparée, et vous n'aurez pas à compiler l'ensemble pour faire évoluer PHP. La compilation statique permet de charger et d'exécuter plus rapidement PHP. Pour plus d'informations, voyez la page web sur le » support des DSO.

Note: Le httpd.conf par défaut d'Apache est fourni avec une section qui ressemble à ceci :

User nobody
Group "#-1"
À moins que vous ne changiez cette valeur par "Group nogroup" ou quelque chose comme ça ("Group daemon" est aussi classique), PHP ne sera pas capable d'ouvrir des fichiers.

Note: Assurez-vous que vous spécifiez la version installée de apxs avec l'option --with-apxs=/path/to/apxs. Vous NE devez PAS utiliser la version d'apxs qui est dans les sources d'Apache, mais celle qui est réellement installée sur votre système.

Installation sur les systèmes UNIX
Apache 2.x sur les systèmes Unix
Installation sur les systèmes UNIX


Apache 2.x sur les systèmes Unix

Cette section contient les notes et conseils d'installation de PHP avec le serveur Apache 2.x sur les systèmes Unix.

Avertissement

Nous ne recommandons pas l'utilisation de PHP dans un environnement threadé MPM, avec Apache 2. Utilisez le mode prefork MPM, qui est le MPM par défaut pour Apache 2.0 et 2.2. Pour savoir pourquoi, lisez l'entrée de la FAQ correspondante à l'utilisation d'Apache 2 dans un environnement threadé MPM.

La » Documentation Apache est la meilleure source d'informations sur le serveur Apache 2.x. La plupart des informations sur les options d'installation d'Apache peut y être trouvée.

La version la plus récente du serveur HTTP Apache peut être obtenue depuis la » page de téléchargement d'Apache, et une version adaptée de PHP depuis les liens ci-dessus. Ce guide couvre uniquement les bases de fonctionnement d'Apache 2.x avec PHP. Pour plus d'informations, lisez la » documentation Apache. Les numéros de version sont omis ici, pour s'assurer que les instructions ne soient pas incorrectes. Dans les exemples ci-dessous, 'NN' devra être remplacé par la version spécifique d'Apache à utiliser.

Il y a actuellement 2 versions d'Apache 2.x - 2.0 et 2.2. Il y a plusieurs raisons de choisir l'une plutôt que l'autre ; néanmoins, la version 2.2 est actuellement la dernière versions disponible et c'est aussi celle que nous vous recommandons. Cependant, les instructions contenues dans ce guide devraient fonctionner pour la version 2.2 comme pour la version 2.0.

  1. Téléchargez le serveur HTTP Apache depuis le site ci-dessus et décompressez-le :

    gzip -d httpd-2_x_NN.tar.gz
tar -xf httpd-2_x_NN.tar

  2. De la même façon, téléchargez et décompressez les sources de PHP :

    gunzip php-NN.tar.gz
tar -xf php-NN.tar

  3. Compilez et installez Apache. Consultez la documentation sur l'installation d'Apache pour plus de détails quant à la compilation de ce logiciel.

    cd httpd-2_x_NN
./configure --enable-so
make
make install

  4. Maintenant que vous avez Apache 2.x.NN de disponible sous /usr/local/apache2, configurez-le avec le support pour le chargement de modules, ainsi que le MPM prefork standard. Pour tester votre installation, utilisez la procédure normale pour démarrer le serveur Apache, i.e. :

    /usr/local/apache2/bin/apachectl start
    et arrêtez-le pour continuer dans la configuration de PHP :
    /usr/local/apache2/bin/apachectl stop

  5. Maintenant, configurez et compilez PHP. Ce sera à ce moment là où vous pourrez personnaliser PHP avec les diverses options disponibles, comme la liste des extensions à activer. Dans notre exemple, nous effectuerons une configuration simple, avec Apache 2 et le support MySQL.

    Si vous voulez construire Apache depuis les sources, tel que décrit ci-dessus, l'exemple suivant devrait être correct concernant les chemins vers les apxs, mais si vous avez installez Apache d'une autre façon, vous devrez prendre en compte vos spécificités et ajustez les chemins apxs en conséquent. Notez que suivants les distributions, vous pourriez être amené à renommer apxs en apxs2.

    cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

    Si vous décidez de modifier les options de configuration après l'installation, vous devrez exécuter de nouveau les étapes "configure", "make" et "make install". Vous n'aurez alors qu'à redémarrer Apache pour que le nouveau module prenne effet. Une re-compilation d'Apache n'est pas nécessaire.

    Notez que, sauf indications contraires, l'étape "make install" installera également PEAR, mais aussi divers outils PHP comme phpsize, PHP CLI et bien plus encore.

  6. Setup your php.ini

    cp php.ini-development /usr/local/lib/php.ini

    Vous devez éditer le fichier .ini pour définir les options PHP. Si vous préférez bouger ce fichier dans un autre répertoire, utilisez l'option --with-config-file-path=/some/path à l'étape 5.

    Si vous choisissez le fichier php.ini-production, assurez-vous de lire la liste des modifications correspondante car il peut affecter considérablement la façon dont PHP fonctionnera.

  7. Éditez le fichier httpd.conf pour charger le module PHP. Le chemin spécifié à droite de la chaîne LoadModule, doit correspondre au chemin système du module PHP. L'étape "make install" ci-dessus devrait avoir réalisé cette opération à votre place, mais une simple vérification permettra de s'en assurer.

    LoadModule php5_module modules/libphp5.so

  8. Dîtes à Apache d'analyser certaines extensions comme étant des scripts PHP. Par exemple, laissez Apache passer à PHP les fichiers dont l'extension est .php. Au lieu d'utiliser seulement la directive AddType d'Apache, nous souhaitons éviter tout risque potentiellement dangereux, lors d'un téléchargement de de la création de fichier comme exploit.php.jpg, d'exécution PHP. En utilisant cette exemple, vous pouvez avoir n'importe quelle extension d'analyser par PHP. Nous avons ajouté .php pour l'exemple.

    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

    Ou, si vous voulez autoriser les fichiers .php, .php2, .php3, .php4, .php5, .php6, et .phtml à être analysés par PHP, mais rien d'autre, nous utiliserons ceci :

    <FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

    Et pour autoriser les fichiers .phps à être gérer par le filtre du code source de PHP, et ains, être affichés comme code source avec la coloration syntaxique, utilisez ceci :

    <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

    mod_rewrite peut être utilisé pour permettre à n'importe quel fichier .php d'être affiché comme code source avec coloration syntaxique, sans pour autant avoir besoin de le renommer ou de le copier avec une extension .phps. :

    RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

    Le filtre de code source PHP ne devrait pas être actif sur des systèmes de production, car il peut exposer du code confidentielle ou des informations sensibles contenues dans le code source.

  9. Utilisez la procédure normale pour démarrer le serveur Apache, i.e. :

    /usr/local/apache2/bin/apachectl start

    Ou

    service httpd restart

Si vous avez suivi les étapes précédentes, vous avez maintenant un serveur web Apache2 fonctionnel avec le support PHP comme module SAPI. Bien sûr, il y a une multitude d'autres options de configuration de disponibles avec Apache et PHP. Pour plus d'informations, entrez la commande ./configure --help dans l'arbre source correspondant.

Apache devrait être compilé en mode multi-threadé, en sélectionnant le MPM worker, plutôt que le standard MPM prefork. Ceci est fait en ajoutant l'option suivante à l'argument de la commande "./configure", à l'étape 3 ci-dessus :

--with-mpm=worker

Cela ne devrait pas être entreprise sans être conscients des conséquences, et ayant au moins une juste compréhension de ce que cela implique. La documentation Apache concernant » MPM-Modules vous apportera d'importantes informations qui vous permettra de prendre votre décision.

Note: La FAQ Apache MultiViews traite de l'utilisation MultiViews avec PHP.

Note: Pour compilez une version multi-threadée d'Apache, le système cible doit supporter les threads. Dans ce cas, PHP doit également être construit avec l'expérimental Zend Thread Safety (ZTS). Sous cette configuration, toutes les extensions ne seront pas disponibles. Nous vous recommandons de compiler Apache avec le prefork MPM-Module.

Apache 1.3.x sur les systèmes Unix
Lighttpd 1.4 sur les systèmes Unix
Installation sur les systèmes UNIX


Lighttpd 1.4 sur les systèmes Unix

Cette section contient des informations spécifiques sur l'installation de PHP avec Lighttpd 1.4 sur les systèmes Unix.

Reportez-vous à » Lighttpd pour une installation correcte de Lighttpd avant de continuer.

Fastcgi est le SAPI préféré pour connecter PHP et Lighttpd. Fastcgi active automatiquement php-cgi depuis PHP 5.3.0, mais pour les versions antérieures, vous devez configurer PHP avec l'option de compilation --enable-fastcgi. Pour vous assurez de l'activation de fastcgi, le résultat de la commande php -v doit contenir PHP 5.2.5 (cgi-fcgi). Avant PHP 5.2.3, fastcgi était activé dans le binaire PHP (php-cgi n'existait pas).

Appel de PHP par Lighttpd

Pour configurer Lighttpd afin qu'il se connecte à PHP et appel le processus fastcgi, vous devez éditez le fichier lighttpd.conf. Une connexion par sockets est la solution préférée pour les systèmes locaux.

Exemple #1 Portion du fichier lighttpd.conf

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)

La directive bin-path permet à lighttpd d'appeler le processus fastcgi dynamiquement. PHP appellera les fils suivant la variable d'environnement PHP_FCGI_CHILDREN. La directive "bin-environment" définit l'environnement pour les processus appelés. PHP terminera un processus fils lorsque le nombre de requêtes spécifié par PHP_FCGI_MAX_REQUESTS a été atteint. Les directives "min-procs" et "max-procs" peuvent généralement être ignorées avec PHP. PHP gère ces propres fils et caches opcode comme APC qui partage uniquement les fils gérés par PHP. Si "min-procs" est définit à quelque chose de supérieur à 1, le nombre total de réponses PHP sera multiplié par PHP_FCGI_CHILDREN (2 min-procs * 16 fils, donne 32 réponses).

Appel avec spawn-fcgi

Lighttpd fournit un programme appelé spawn-fcgi afin de rendre plus facile les appels des processus fastcgi.

Appel de php-cgi

Il est possible d'appeler des processus sans spawn-fcgi, avec un minimum de configuration. La variable d'environnement PHP_FCGI_CHILDREN contrôle le nombre de fils que PHP appelle pour gérer les demandes. La variable d'environnement PHP_FCGI_MAX_REQUESTS détermine la durée de vie, en nombre de requêtes, de chaque fils. Voici un script bash simple qui permet d'aider les appels aux répondeurs PHP.

Exemple #2 Appel des répondeurs FastCGI

#!/bin/sh

# Localisation du binaire php-cgi
PHP=/usr/local/bin/php-cgi

# Localisation  du fichier PID
PHP_PID=/tmp/php.pid

# Liaison à une adresse
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Liaison à un socket du domaine
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &

echo $! > "$PHP_PID"

Connexion à des instances FCGI distantes

Les instances Fastcgi peuvent être appelées sur plusieurs machines distantes afin de répartir les applications.

Exemple #3 Connexion à des instances distantes de php-fastcgi

fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)
Apache 2.x sur les systèmes Unix
Installation sous Netscape et iPlanet Enterprise Serveur sur un système Sun Solaris
Installation sur les systèmes UNIX


Installation sous Netscape et iPlanet Enterprise Serveur sur un système Sun Solaris

Cette section contient les notes et détails spécifiques à l'installation de PHP sur les serveurs Web Sun Java System Web Server, Sun ONE Web Server, iPlanet et Netscape server sur les systèmes Sun Solaris.

Depuis PHP 4.3.3, vous pouvez utiliser les scripts PHP avec le module NSAPI pour gérer des listes de dossiers et des pages d'erreurs personnalisées. Des fonctions supplémentaires sont disponibles pour assurer la compatibilité avec Apache. Pour du support sur les serverus courants, voyez la note sur les sous-requêtes.

Vous pouvez trouver plus d'informations sur la configuration de PHP avec Netscape Enterprise Server : » http://benoit.noss.free.fr/php/install-php4.html

Pour construire PHP avec les serveurs Web Sun JSWS/Sun ONE WS/iPlanet/Netscape, entrez le répertoire valide d'installation pour l'option --with-nsapi=[DIR]. Le répertoire par défaut est habituellement /opt/netscape/suitespot/. Lisez également le fichier /php-xxx-version/sapi/nsapi/nsapi-readme.txt.

  1. Installez les packages suivants depuis le serveur » http://www.sunfreeware.com/ ou un miroir ad hoc :

    • autoconf-2.13
    • automake-1.4
    • bison-1_25-sol26-sparc-local
    • flex-2_5_4a-sol26-sparc-local
    • gcc-2_95_2-sol26-sparc-local
    • gzip-1.2.4-sol26-sparc-local
    • m4-1_4-sol26-sparc-local
    • make-3_76_1-sol26-sparc-local
    • mysql-3.23.24-beta (si vous voulez le support MySQL)
    • perl-5_005_03-sol26-sparc-local
    • tar-1.13 (GNU tar)

  2. Assurez-vous que le path inclut bien les dossiers nécessaires : PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin et rendez-le accessible à votre système avec export PATH.
  3. gunzip php-x.x.x.tar.gz (si vous avez une distribution .gz, ou bien allez en 4).
  4. tar xvf php-x.x.x.tar
  5. Passez dans votre dossier d'extraction PHP : cd ../php-x.x.x

  6. Pour les étapes suivantes, assurez-vous que /opt/netscape/suitespot/ correspond bien à votre installation du serveur netscape. Sinon, indiquez le chemin correct :

    ./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc

  7. Faites un make puis un make install.

Après avoir fait l'installation de base et lu les fichiers readme.txt, vous pouvez avoir besoin de faire des configurations supplémentaires.

Instructions de configuration pour Sun/iPlanet/Netscape

Tout d'abord, vous aurez besoin d'ajouter des chemins dans la variable LD_LIBRARY_PATH pour que Netscape trouve son bonheur. Il est préférable de le faire dans le script de démarrage du serveur Netscape. Les utilisateurs Windows peuvent ignorer cette étape. Le script de démarrage est souvent situé dans : /path/to/server/https-servername/start. Vous aurez peut être à éditer le fichier de configuration situé dans /path/to/server/https-servername/config/.

  1. Ajoutez les lignes suivantes dans mime.types en tant qu'administrateur :

    type=magnus-internal/x-httpd-php exts=php

  2. Éditez le fichier magnus.conf (pour les serveurs >= 6) ou le fichier obj.conf (pour les serveurs < 6) et ajoutez-y les lignes suivantes. shlib peut varier en fonction de votre OS. Pour Unix, c'est quelque chose comme /opt/netscape/suitespot/bin/libphp4.so. Il est conseillé de placer les lignes suivantes après les lignes de mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
    (PHP >= 4.3.3) Le paramètre php_ini est optionnel mais, avec lui, vous pouvez placer votre php.ini dans le dossier de configuration de votre serveur web.

  3. Configurez l'objet par défaut dans le fichier obj.conf (pour les classes de serveur virtuel [version 6.0+] dans leur fichier vserver.obj.conf) :

    <Object name="default">
.
.
.
.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLog' lines
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
.
.
</Object>
    (PHP >= 4.3.3) Comme paramètres additionnels, vous pouvez ajouter quelques valeurs spéciales dans le php.ini. Par exemple, vous pouvez définir un spécifique docroot="/path/to/docroot" où le contexte php4_execute est appelé. Pour les init-keys booléens, utilisez les valeurs 0/1, et non pas "On","Off",... (cela ne fonctionnera pas correctement), e.g. zlib.output_compression=1 au lieu de zlib.output_compression="On"

  4. Cela est nécessaire uniquement si vous voulez configurer un répertoire pour accueillir des scripts PHP tout comme un répertoire cgi-bin :

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    Après cela, vous pouvez configurer un répertoire dans le serveur d'administration et y assigner le style x-httpd-php. Tous les fichiers dans ce répertoire seront exécutés comme étant du PHP. C'est pratique pour cacher l'usage de PHP en renommant les fichiers en .html.

  5. Configuration de l'identification : les identifications PHP ne peuvent être utilisées avec aucune autre identification. TOUTES LES IDENTIFICATIONS SONT PASSEES À VOS SCRIPTS PHP. Pour configurer l'identification PHP pour tout le serveur web, ajoutez la ligne suivante à votre objet par défaut :

    <Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>

  6. Pour utiliser l'identification PHP dans un seul répertoire, ajoutez ce qui suit :

    <Object ppath="d:\path\to\authenticated\dir\*">
AuthTrans fn=php4_auth_trans
</Object>

Note: La taille de la pile que PHP utilise dépend de la configuration du serveur Web. Si vous rencontrez des crashs avec les grands scripts PHP, il est recommandé d'augmenter la taille de la pile avec la console d'administration : dans la section "MAGNUS EDITOR".

Environnement CGI et modifications recommandées du php.ini

Il est important de garder en tête que iPlanet/SunONE/Netscape est un serveur Web multi-threadé. Comme toutes les requêtes se situent dans le même contexte (c'est le contexte sur serveur Web), et que ce contexte est unique, si vous voulez accéder à des variables comme PATH_INFO, HTTP_HOST etc., il n'est pas recommandé d'y accéder à l'ancienne manière de PHP, avec la fonction getenv() ou une autre méthode (register globals, $_ENV). De cette manière, vous n'aurez que des valeurs d'environnement du serveur, et non pas des valeurs correctes pour le CGI.

Note: Pourquoi est-ce que les variables CGI sont invalides ?
C'est lié au fait que le processus du serveur Web est lancé par l'administrateur du serveur, qui utilise le script de lancement au démarrage. En fait, il aurait fallu que vous lanciez vous-même le processus. C'est pour cela que l'environnement du serveur Web contient des variables d'environnement CGI. Vous pouvez vérifier cela en lançant le serveur Web depuis un autre endroit que l'administrateur du serveur : utilisez la ligne de commande Unix en tant que root : vous verrez alors qu'il n'y a pas de variables d'environnement.

Changez simplement vos scripts pour lire les variables CGI, en utilisant le tableau superglobal $_SERVER. Si vous avez d'autres scripts qui utilisent encore $HTTP_HOST et compagnie, il est recommandé d'activer l'option register_globals dans le php.ini et de changer l'ordre des variables. IMPORTANT : supprimez le "E" dans cette option, car vous n'en avez pas besoin pour cet environnement.

variables_order = "GPCS"
register_globals = On

Utilisation particulière pour les pages d'erreurs ou les listages spécifiques de dossier (PHP >= 4.3.3)

Vous pouvez utiliser PHP pour générer des pages d'erreurs de type "404 Not Found" ou apparentée. Ajoutez la ligne suivante dans le fichier obj.conf pour chaque page d'erreur que vous souhaitez remplacer :

Error fn="php4_execute" code=XXX script="/chemin/vers/script.php" [inikey=value inikey=value...]
où XXX est le code d'erreur HTTP. Effacez toute autre directive Error qui pourrait interférer avec la vôtre. Si vous voulez utiliser une page pour toutes les erreurs qui existent, laissez le paramètre code vide. Votre script peut obtenir le code de statut HTTP dans la variable $_SERVER['ERROR_TYPE'].

Une autre possibilité est de générer une liste de dossiers personnalisée. Créez simplement un script PHP qui affiche le contenu du dossier, et remplacez la ligne Service par défaut par type="magnus-internal/directory" dans obj.conf avec ceci :

Service fn="php4_execute" type="magnus-internal/directory" script="/chemin/vers/script.php" [inikey=value inikey=value...]
Pour ces deux points, l'URI originale et l'URI traduite sont dans les variables $_SERVER['PATH_INFO'] et $_SERVER['PATH_TRANSLATED'].

Note au sujet de nsapi_virtual() et des requêtes (PHP >= 4.3.3)

Le module NSAPI supporte désormais la fonction nsapi_virtual() (alias : virtual()), pour réaliser des sous requêtes au serveur Web, et inclure le résultat dans une page. Le problème est que cette fonction utilise une fonctionnalité non documentée de la bibliothèque NSAPI. Sous Unix, ce n'est pas un problème, car le module va automatiquement rechercher les fonctions nécessaires, et les utiliser si elles sont disponibles. Sinon, nsapi_virtual() sera désactivée.

Note: Soyez prévenu : le support de nsapi_virtual() est EXPERIMENTAL !

Lighttpd 1.4 sur les systèmes Unix
CGI et configuration en ligne de commande
Installation sur les systèmes UNIX


CGI et configuration en ligne de commande

Par default, PHP est construit comme programmes à la fois CLI et CGI, pouvant être utilisé comme processeur CGI. Si vous utilisez un serveur qui supporte le module PHP, vous devriez en général utiliser cette solution pour des raisons de performances. Cependant, la version CGI permet aux utilisateurs de lancer des pages PHP sous différent id utilisateurs (Unix).

Avertissement

En utilisant le mode CGI, votre serveur est ouvert à de possibles attaques sérieuses. Lisez attentivement notre section sur la sécurité en mode CGI pour apprendre comment vous défendre contre ces attaques.

Tests

Si vous avez compilé PHP comme programme CGI, vous pouvez tester votre produit en tapant : make test. C'est toujours une bonne chose de tester le résultat d'une compilation. Cela vous permet de repérer des problèmes entre PHP et votre plate-forme, plutôt que d'attendre qu'ils surviennent.

Utiliser les variables prédéfinies

Certaines variables d'environnement fournies par les serveurs Web ne sont pas disponibles dans les » spécifications CGI/1.1 actuelles. Seules les variables suivantes sont définies, et les autres doivent être considérées comme spécifiques aux serveurs Web : AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL et SERVER_SOFTWARE.

Installation sous Netscape et iPlanet Enterprise Serveur sur un système Sun Solaris
Installation sous HP-UX
Installation sur les systèmes UNIX


Installation sous HP-UX

Cette section contient les notes et conseils d'installation de PHP sur les distributions HP-UX.

Il y a deux façons d'installer PHP sur les systèmes HP-UX. Soit en le compilant, soit en installant des binaires précompilés.

Les paquets pré-compilés officiels sont disponibles ici : » http://software.hp.com/

En attendant que cette section du manuel soit réécrite, la documentation concernant la compilation de PHP (ainsi que les extensions associées) sur les systèmes HP-UX a été effacée. Pour le moment, veuillez-vous référer à cette ressource externe : » Mise en place d'Apache et de PHP sous HP-UX 11.11

CGI et configuration en ligne de commande
Installation sur les systèmes OpenBSD
Installation sur les systèmes UNIX


Installation sur les systèmes OpenBSD

Cette section contient les notes spécifiques à l'installation de PHP sous » OpenBSD 3.6.

Utilisation des paquets binaires

Cette méthode est la méthode recommandée pour installer PHP sur OpenBSD. C'est aussi la méthode la plus simple. Le paquet core a été séparé des modules et chacun d'entre eux peut être installé et supprimé indépendamment des autres. Les fichiers dont vous avez besoin sont sur le CD OpenBSD ou sur le site FTP.

Le paquet principal que vous devez installer est php4-core-4.3.8.tgz, qui contient le moteur de base, plus gettext et iconv). Puis, jetez un oeil aux paquets de module, comme php4-mysql-4.3.8.tgz ou php4-imap-4.3.8.tgz. Vous devez utiliser la commande phpxs pour activer et désactiver ces modules dans votre php.ini.

Exemple #1 Exemple d'installation de PHP sous OpenBSD avec Ports

# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
  (add in mysql)
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
  (add in imap)
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
  (remove mysql as a test)
# pkg_delete php4-mysql-4.3.8
# /usr/local/sbin/phpxs -r mysql
  (install the PEAR libraries)
# pkg_add php4-pear-4.3.8.tgz

Lisez la page de manuel Unix » packages(7) pour plus de détails sur les packages binaires d'OpenBSD.

Utilisation des ports

Vous pouvez aussi compiler PHP en utilisant » l'arbre des ports. Cette méthode est recommandée aux utilisateurs expérimentés de OpenBSD. Le port PHP4 est scindé en deux sous-dossiers : core et extensions. Le dossier extensions génère les sous paquets de tous les modules PHP. Si vous souhaitez ne pas créer ces modules, vous pouvez utiliser la commande en ligne no_* FLAVOR. Par exemple, pour ne pas compiler le module imap, utilisez FLAVOR avec la valeur no_imap.

Problèmes courants

  • L'installation par défaut d'Apache fonctionne dans un » contexte chroot(2), qui va limiter l'accès des scripts PHP au dossier /var/www. Vous devez donc créer un dossier /var/www/tmp pour que les sessions PHP soient stockées, ou bien utiliser une autre solution de sauvegarde. De plus, les sockets de bases de données doivent être placés dans ce dossier, ou bien utiliser l'interface localhost. Si vous utilisez des fonctions de réseau avec des fichiers comme /etc, par exemple /etc/resolv.conf, et /etc/services, vous devrez les rendre accessibles aussi dans /var/www/etc. Le paquet OpenBSD PEAR installe automatiquement les bons dossiers, ce qui fait que rien n'est nécessaire. Plus d'informations sur OpenBSD Apache sont disponibles sur » OpenBSD FAQ.
  • Le paquet OpenBSD 3.6 pour l'extension » gd requiert XFree86. Si vous n'avez pas besoin des fonctionnalités de polices qui demandent X11, installez le paquet php4-gd-4.3.8-no_x11.tgz.

Versions plus anciennes

Les anciennes versions de OpenBSD utilisaient le système des FLAVORS pour compiler statiquement PHP. Comme il est trop difficile de générer des packages binaires avec cette méthode, elle est considérée comme obsolète. Vous pouvez toujours utiliser les anciennes versions stables, mais sachez qu'elles ne sont plus supportées par l'équipe d'OpenBSD. Si vous avez des commentaires sur le sujet, le responsable actuel est Anil Madhavapeddy (avsm_arobase_openbsd_point_org).

Installation sous HP-UX
Installation sous Solaris
Installation sur les systèmes UNIX


Installation sous Solaris

Cette section contient les notes et conseils d'installation de PHP sur les distributions Solaris.

Logiciels nécessaires

L'installation Solaris oublie généralement les compilateurs C, et leurs utilitaires. Lisez cette FAQ pour savoir pourquoi est-ce que les versions GNU de certains de ces outils sont nécessaires. Voici la liste des outils nécessaires :

  • gcc (recommandé, mais d'autres compilateurs C peuvent fonctionner)
  • make
  • flex
  • bison
  • m4
  • autoconf
  • automake
  • perl
  • gzip
  • tar
  • GNU sed
De plus, vous devrez aussi installer (et peut être aussi compiler) toutes les bibliothèques nécessaires aux extensions comme MySQL, Oracle, etc.

Utilisation des paquets

Vous pouvez simplifier l'installation Solaris en utilisant pkgadd pour installer la plupart des composants.

Installation sur les systèmes OpenBSD
Notes d'installation sous Debian GNU/Linux
Installation sur les systèmes UNIX


Notes d'installation sous Debian GNU/Linux

Cette section contient des notes et des astuces spécifiques à l'installation de PHP sous » Debian GNU/Linux.

Avertissement

Les compilations non officielles de sources tierces ne sont pas supportées ici. Tout bogue devrait être reporté à l'équipe Debian sauf s'il peut être reproduit en utilisant les dernières compilations de notre » section téléchargements .

Bien que les instructions pour compiler PHP sous Unix s'appliquent aussi à Debian, cette page de manuel contient des informations spécifiques pour les autres manières d'installer PHP, telles que l'utilisation de apt-get ou aptitude. Cette page de manuel utilise indifféremment l'une ou l'autre.

Utilisation de APT

Tout d'abord, veuillez noter que d'autres paquets peuvent être souhaitables, comme libapache2-mod-php5 pour l'intégration avec Apache 2, et php-pear pour PEAR.

Ensuite, avant d'installer un paquet, il est sage de s'assurer que la liste des paquets est à jour. D'habitude, on le fait en utilisant la commande apt-get update.

Exemple #1 Exemple d'installation sous Debian avec Apache 2

# apt-get install php5-common libapache2-mod-php5 php5-cli

APT installera et activera automatiquement le module PHP 5 pour Apache 2, ainsi que toutes ses dépendances. Apache devra être relancé pour que les changements soient effectifs. Par exemple :

Exemple #2 Stopper et démarrer Apache une fois PHP installé

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Un meilleur contrôle de la configuration

Dans l'exemple précédent, PHP a été installé avec juste les composants principaux. Il y a fort à parier que des modules supplémentaires soient nécessaires, tels que MySQL, cURL, GD, etc. Ils peuvent aussi être installés via la commande apt-get.

Exemple #3 Méthodes pour lister les paquets PHP 5 supplémentaires

# apt-cache search php5
# aptitude search php5
# aptitude search php5 |grep -i mysql

Ces exemples montreront de nombreux paquets, donc beaucoup spécifiques à PHP, comme php5-cgi, php5-cli et php5-dev. Déterminez ceux qui sont nécessaires et installez les comme n'importe quel autre en utilisant apt-get ou aptitude. Et vu que Debian effectue une vérification des dépendances, on vous avertira de ces dernières, comme pour installer MySQL et cURL :

Exemple #4 Installer PHP avec MySQL et cURL

# apt-get install php5-mysql php5-curl

APT ajoutera automatiquement les bonnes lignes aux fichiers connexes à php.ini, comme /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini, etc. et selon l'extension, il ajoutera des entrées semblables à extension=foo.so. De plus, redémarrer le serveur web (Apache, par exemple) est nécessaire pour que ces changements soient effectifs.

Problèmes courants

  • Si les scripts PHP ne sont pas interprétés par le serveur web, il est probable que PHP n'ait pas été ajouté aux fichier de configuration du serveur web, c'est-à-dire, sous Debian, /etc/apache2/apache2.conf ou équivalent. Consultez le manuel Debian pour davantage de détails.
  • Si une extension a apparemment été installée mais que ses fonctions ne sont pas définies, assurez vous que les lignes adéquates ont été insérées dans les fichiers .ini et/ou que le serveur web a été redémarré après l'installation.
  • Il y a deux commandes de base pour installer des paquets sous Debian (et d'autres variantes de Linux) : apt-get et aptitude. Expliquer les différences subtiles entre les deux sort du cadre de ce manuel.
Installation sous Solaris
Installation sur un système Mac OS X
Installation sur les systèmes UNIX


Installation sur un système Mac OS X

Sommaire

  • Utilisation des paquets
  • Utilisation de PHP embarqué
  • Compilation pour les serveurs OS X
  • Installation pour Apache sur les clients MacOS X

Cette section contient les notes et conseils pour installer PHP sur un système Mac OS X. Il y a deux versions légèrement différentes de Mac OS X, Client et Serveur ; notre manuel vous guidera dans l'installation de PHP sur ces deux versions. Notez que PHP n'est pas disponible pour MacOS 9 et versions précédentes.

Notes d'installation sous Debian GNU/Linux
Utilisation des paquets
Installation et configuration


Utilisation des paquets

Il existe quelques versions pré-packagées et pré-compilées de PHP pour Mac OS X. Cela peut être utile pour mettre en place une configuration standard, mais si vous avez besoin d'accéder à des fonctionnalités spécifiques (comme un serveur sécurisé, ou un pilote de bases de données exotiques), vous aurez à compiler PHP et/ou votre serveur Web vous-même. Si vous n'êtes pas familier avec la compilation et la mise en place d'applications, il est bon de vérifier si personne d'autre n'a pas déjà réalisé un paquet contenant les fonctionnalités que vous désirez.

Les ressources suivantes offrent la possibilité d'installer des paquets et des binaires précompilés pour PHP sous Mac OS :

  • MacPorts : » http://www.macports.org/
  • Entropy : » http://www.entropy.ch/software/macosx/php/
  • Fink : » http://www.finkproject.org/
  • Homebrew : » http://github.com/mxcl/homebrew

Installation sur un système Mac OS X
Utilisation de PHP embarqué
Installation sur un système Mac OS X


Utilisation de PHP embarqué

PHP est fourni en standard avec Macs depuis OS X version 10.0.0. Activer PHP avec le serveur Web par défaut nécessite de décommenter quelques lignes dans le fichier de configuration d'Apache httpd.conf tandis que le mode CGI et/ou CLI sont activés par défaut (accès simple via le terminal).

L'activation de PHP en suivant ces instructions permet de configurer rapidement un environnement local de développement. Il est vivement recommandé de toujours mettre à jour PHP à sa version la plus récente. Comme la plupart des programmes, les nouvelles versions sont créées pour corriger les bogues et ajouter des fonctionnalités et c'est le cas de PHP. Reportez-vous à la documentation de l'installation de MAC OS X pour plus de détails. Les instructions suivantes sont destinées au débutant, en fournissant juste assez de détails pour mettre en place une configuration par défaut pour travailler. Tous les utilisateurs sont vivement encouragés à compiler et installer une version récente du paquet.

Le type d'installation standard utilise mod_php, et active le mod_php embarqué sur Mac OS X pour le serveur Web Apache (le serveur Web par défaut qui est accessible via les préférences systèmes), en quelques étapes :

  1. Trouvez et ouvrez le fichier de configuration d'Apache. Par défaut, ce sera : /private/etc/apache2/httpd.conf Utilisez le programme Finder ou Spotlight pour trouver ce fichier peut s'avérer difficile, sachant que, par défaut, il appartient à l'utilisateur root.

    Note: Une façon de l'ouvrir est d'utiliser un éditeur de texte Unix dans un terminal, par exemple, nano, et sachant que le fichier est la propriété de l'utilisateur root, vous devrez utiliser la commande sudo pour l'ouvrir (en tant que root) ; aussi, vous devrez entrer la commande suivante dans votre Terminal (votre mot de passe vous sera demandé) : sudo nano /private/etc/apache2/httpd.conf Quelques commandes nano : ^w (recherche), ^o (sauvegarde), et ^x (sortie) où ^ représente la touche Ctrl.

    Note: Les versions de Mac OS X antérieures à 10.5 fournissent d'anciennes versions de PHP et d'Apache. Aussi, le fichier de configuration d'Apache sur les machines originales peut être /etc/httpd/httpd.conf.

  2. Avec un éditeur de texte, décommentez les lignes (en effaçant le caractère #) qui ressemblent aux lignes suivantes (ces 2 lignes ne se trouvent pas au même endroit) :

    # LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c
    Notez le chemin. Dans le futur, lorsque vous compilerez PHP, les fichiers ci-dessus doivent être remplacés ou commentés.

  3. Assurez-vous que les extensions désirées soient analysées par PHP (exemples : .php .html et .inc)

    Sachant que ce comportement a déjà été activé dans votre fichier httpd.conf (depuis Mac Panther), une fois PHP activé, les fichiers .php seront automatiquement analysés par PHP.

    <IfModule mod_php5.c>
    # If php is turned on, we respect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

    Note: Avant OS X 10.5 (Leopard), PHP 4 était livré par défaut plutôt que PHP 5. Ainsi, les instructions ci-dessus diffèreront juste en changeant 5 en 4. 5's to 4's.

  4. Assurez-vous que DirectoryIndex charge le fichier index par défaut. Ceci est également définit dans le fichier httpd.conf. Normalement, les fichiers index.php et index.html sont utilisés. Par défaut, index.php est activé car il est également dans la vérification de PHP ci-dessus. Ajustez-le suivant votre besoin.
  5. Définissez le chemin vers le fichier php.ini ou utilisez le chemin par défaut. Le chemin par défaut sur Mac OS X is /usr/local/php/php.ini et un appel à la fonction phpinfo() révèlera cette information. Si aucun fichier php.ini n'est utilisé, PHP utilisera toutes les valeurs par défaut. Reportez-vous à la FAQ sur "trouver le fichier php.ini".
  6. Trouvez et définissez le DocumentRoot C'est le dossier principal pour tous les fichiers Web. Les fichiers dans ce dossier seront servis par le serveur Web, et donc, les fichiers PHP seront analysés par PHP avant de les envoyer au navigateur. Le chemin par défaut est /Library/WebServer/Documents mais peut être défini à n'importe quelle valeur dans le fichier httpd.conf. De plus, le dossier DocumentRoot pour les différentes utilisateurs est /Users/yourusername/Sites
  7. Créez un fichier phpinfo().

    La fonction phpinfo() affiche les informations sur PHP. Créez un fichier dans le DocumentRoot avec le code PHP suivant :

    <?php phpinfo(); ?>

  8. Redémarrez Apache et chargez le fichier PHP que nous venons de créer. Pour redémarrez, exécutez la commande sudo apachectl graceful dans un terminal ou arrêter/démarrer l'option "Personal Web Server" dans les préférences systèmes OS X. Par défaut, le chargement de fichiers locaux dans le navigateur s'effectue via des URL comme ceci : http://localhost/info.php ou, si vous utilisez le DocumentRoot d'un dossier utilisateur, l'URL ressemblera à : http://localhost/~yourusername/info.php

CLI (ou CGI dans les anciennes versions) est nommé php et réside normalement dans /usr/bin/php. Ouvrez un terminal, lisez la section sur la ligne de commande du manuel PHP, et exécutez la commande php -v pour vérifier la version PHP de ce binaire. Un appel à la fonction phpinfo() pourra également vous révéler cette information.

Utilisation des paquets
Compilation pour les serveurs OS X
Installation sur un système Mac OS X


Compilation pour les serveurs OS X

Compilation pour les serveurs OS X

  1. Téléchargez les dernières distributions d'Apache et PHP.

  2. Décompressez-les, et utilisez le script configure sur Apache, comme ceci.

    ./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache

  3. Si vous voulez que le compilateur fasse certaines optimisations, ajoutez cette ligne :

    setenv OPTIM=-O2

  4. Puis, allez dans le dossier PHP 4 et configurez PHP.

    ./configure --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --mandir=/usr/share/man \
    --with-xml \
    --with-apache=/src/apache_1.3.12
    Si vous avez d'autres extensions à ajouter (MySQL, GD, etc.), assurez-vous de placer les bonnes options ici. Pour la chaîne --with-apache, ajoutez le chemin de votre distribution source apache, par exemple, /src/apache_1.3.12.

  5. Tapez make puis make install. Cela va ajouter un dossier à votre distribution Apache, sous src/modules/php4.

  6. Maintenant, reconfigurez Apache pour compiler PHP 4.

    ./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache \
--activate-module=src/modules/php4/libphp4.a
    Vous pouvez recevoir un message qui vous dit que libmodphp4.a est trop ancien. Si c'est le cas, allez dans le dossier src/modules/php4 de votre distribution Apache et utilisez cette commande : ranlib libmodphp4.a. Puis retournez à la racine de la distribution Apache et lancez la commande configure ci-dessus. Cela aura mis la table de liens à jour. Lancez à nouveau make et make install.

  7. Copiez et renommez le fichier php.ini-development dans votre dossier bin de votre dossier PHP : cp php.ini-development /usr/local/bin/php.ini ou, si vous n'avez pas de dossier local : cp php.ini-development /usr/bin/php.ini.

Utilisation de PHP embarqué
Installation pour Apache sur les clients MacOS X
Installation sur un système Mac OS X


Installation pour Apache sur les clients MacOS X

Les instructions suivantes vous aideront à installer un module PHP pour le serveur web Apache inclus dans MacOS X en utilisant l'interface MacOS. Cette version inclue le support des bases de données MySQL, PostgreSQL, et iODBC, cURL, GD, PDFLib, LDAP, et bien plus. Ces instructions sont fournies par » Marc Liyanage.

Avertissement

Assurez-vous de savoir ce que vous faîtes avant d'aller plus loin ! Vous pouvez rendre votre installation d'Apache instable.

Note: Ces instructions ne fonctionneront qu'avec le serveur Web Apache fourni par Apple. Si vous recompilez ou mettez à jour votre installation d'Apache, vous devrez compiler votre propre module PHP.

Pour l'installer :

  1. Pour Apache 1.3, téléchargez : http://www2.entropy.ch/download/entropy-php-5.2.4-1.tar.gz
  2. Pour Apache 2, téléchargez : wget http://www2.entropy.ch/download/entropy-php-5.2.4-1-apache2.tar.gz
  3. Décompressez le fichier .tar.gz, mais N'UTILISEZ PAS StuffIt Expander. À la place, utilisez BOMArchiveHelper d'Apple ou la ligne de commande.
  4. Double-cliquez sur l'installeur du paquet et suivez les instructions.

C'est tout ! PHP doit maintenant être installé et doit fonctionner. Vous pouvez le tester en plaçant un fichier nommé test.php dans votre dossier Sites de votre répertoire personnel. Dans ce fichier, écrivez cette ligne : <?php phpinfo() ?>.

Maintenant, ouvrez-le en plaçant 127.0.0.1/~your_username/test.php dans votre navigateur Web favori. Vous devriez voir apparaître un tableau contenant les informations sur les modules PHP.

Compilation pour les serveurs OS X
Installation sur les système Windows
Installation sur un système Mac OS X


Installation sur les système Windows

Sommaire

  • L'installeur Windows (PHP version 5.1.0 et inférieures)
  • Installeur Windows (PHP 5.2 et suivant)
  • Installation manuelle sous Windows
  • ActiveScript
  • Microsoft IIS
  • Microsoft IIS 5.1 and IIS 6.0
  • Microsoft IIS 7.0 and later
  • Installer PHP sous Microsoft Windows avec Apache 1.3.x
  • Installation des serveurs Apache 2.x sur les systèmes Microsoft Windows
  • Serveurs Sun, iPlanet et Netscape servers sur Microsoft Windows
  • Installation pour les serveurs OmniHTTPd
  • Sambar Server on Microsoft Windows
  • Installation Xitami sur Microsoft Windows
  • Compilation des sources
  • Installation des extensions sous Windows
  • Ligne de commande PHP sous Microsoft Windows

Cette section est applicable à Windows 98/ME et Windows NT/2000/XP/2003. PHP devrait fonctionner sur les plates-formes 16 bits comme Windows 3.1 et parfois, on décrira les plates-formes supportées sous le nom de Win32. Windows 95 n'est plus supporté à partir de la version 4.3.0 de PHP.

Note: Windows 98/ME/NT4 n'est plus supporté depuis PHP 5.3.0.

Note: Windows 95 n'est plus supporté depuis PHP 4.3.0.

Il y a deux méthodes principales pour installer PHP sous Windows : soit manuellement, soit avec l'installeur.

Si vous avez Microsoft Visual Studio, vous pouvez aussi compiler PHP à partir des sources.

Une fois que PHP est installé sur votre Windows, vous pouvez aussi ajouter diverses extensions.

Avertissement

Il y a beaucoup d'installeurs "tout en un" sur Internet, mais aucun n'est approuvé par Php.net, car nous pensons que l'utilisation d'un des paquets officiels pour Windows depuis » http://www.php.net/downloads.php reste le meilleur choix et vous assurera d'avoir un système sécurisé et optimisé.

Installation pour Apache sur les clients MacOS X
L'installeur Windows (PHP version 5.1.0 et inférieures)
Installation et configuration


L'installeur Windows (PHP version 5.1.0 et inférieures)

L'installeur Windows de PHP disponible depuis les pages de » http://www.php.net/downloads.php, installe la version CGI de PHP, et configure les serveurs web IIS, PWS, et Xitami. L'installeur n'inclut aucune extension externe supplémentaire de PHP (php_*.dll), vous les trouverez uniquement dans le paquet zippé Windows et dans les téléchargements PECL.

Note: Notez bien que bien que l'installeur soit une méthode simple pour installer PHP, il est limité dans plusieurs aspects : par exemple, la configuration automatique des extensions n'est pas prise en compte. Utiliser l'installateur n'est pas la méthode préférée pour installer PHP.

Tout d'abord, installez votre serveur HTTP favori sur votre système et assurez-vous qu'il fonctionne.

Exécutez l'installeur et suivez les instructions fournies par l'assistant. Deux types d'installation sont fournis : standard, qui utilise toutes les configurations par défaut les plus pratiques, et avancée, qui pose un maximum de questions pour paramétrer le plus finement.

L'assistant d'installation rassemble suffisamment d'informations pour configurer php.ini ainsi que certains serveurs web pour utiliser PHP. Un des serveurs web pour lequel l'installeur PHP n'effectue pas de configuration automatique est Apache, vous devez donc le configurer manuellement.

Une fois l'installation terminée, l'installeur vous informera que vous devez redémarrer. Suivez ce conseil, ou commencez à utiliser PHP immédiatement.

Avertissement

Gardez bien à l'esprit que cette installation de PHP n'est pas sécurisée. Si vous voulez avoir une installation sécurisée de PHP, vous devriez commencer par lire la documentation, et choisir toutes vos options avec soin. Cet installeur automatique vous permet de réaliser l'installation en un tour de main, mais n'est pas destiné à l'utilisation sur des serveurs de production.

Installation sur les système Windows
Installeur Windows (PHP 5.2 et suivant)
Installation sur les système Windows


Installeur Windows (PHP 5.2 et suivant)

L'installeur PHP pour Windows pour les versions suivantes de PHP est construit en utilisant la technologie MSI via le kit d'outils Wix (» http://wix.sourceforge.net/). Il installe et configure PHP ainsi que toutes les extensions internes et PECL, mais aussi, configure les serveurs web les plus populaires comme IIS, Apache, et Xitami.

Tout d'abord, installez votre serveur HTTP (web) sur votre système et assurez-vous qu'il fonctionne correctement. Puis, utilisez l'un des types d'installation de PHP suivants.

Installation normale

Exécutez l'installeur MSI et suivez les instructions fournies par l'assistant d'installation. Il vous sera demandé de sélectionner le serveur Web que vous voulez configurer en premier, ainsi que tous les détails de configuration nécessaires.

Ensuite, il vous sera demandé de sélectionner quelles fonctionnalités et extensions vous voulez installer et activer. En sélectionnant "Will be installed on local hard drive" dans le menu pour chaque élément, vous pouvez contrôler l'installation ou non de la fonctionnalité. En sélectionnant "Entire feature will be installed on local hard drive", vous pourrez installer toutes les sous-fonctionnalités de la fonctionnalité principale (par exemple, en sélectionnant la fonctionnalité "PDO", vous installerez également tous les drivers PDO).

Avertissement

Il n'est pas recommandé d'installer toutes les extensions par défaut, sachant que la plupart nécessite des dépendances externes à PHP afin de fonctionner correctement. Préférez l'utilisation du mode de réparation qui est accessible via le panneau de contrôle "Ajout/Suppression de programmes" pour activer ou désactiver les extensions ou fonctionnalités, après l'installation.

L'installeur configurera donc PHP pour l'utiliser sous Windows, le fichier php.ini ainsi que certains serveurs Web. L'installeur configure actuellement IIS, Apache, Xitami et Sambar ; si vous utilisez un serveur web différent de ceux-ci, vous devrez le configurer manuellement.

Installation silencieuse

L'installeur supporte également un mode silencieux, qui est utile pour les administrateurs systèmes pour déployer PHP facilement. Pour utiliser le mode silencieux, entrez la commande suivante :

msiexec.exe /i php-VERSION-win32-install.msi /q

Vous pouvez contrôler le dossier d'installation en le passant comme paramètre à l'installeur. Par exemple, pour installer PHP dans le dossier e:\php :

msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
Vous pouvez également utiliser la même syntaxe pour spécifier le dossier de configuration d'Apache (APACHEDIR), le dossier du serveur Sambar (SAMBARDIR), et le dossier du serveur Xitami (XITAMIDIR).

Vous pouvez également spécifier quelles fonctionnalités devront être installées. Par exemple, pour installer l'extension mysqli et l'exécutable CGI :

msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli

Voici la liste courante des fonctionnalités à installer :

MainExecutable - exécutable php.exe
ScriptExecutable - exécutable php-win.exe ( N'est plus disponible depuis PHP 5.2.10/5.3.0; il est maintenant inclut par défaut )
ext_php_* - les diverses extensions ( par exemple : ext_php_mysql for MySQL )
apache13 - module Apache 1.3
apache20 - module Apache 2.0
apache22 - module Apache 2,2
apacheCGI - exécutable Apache CGI
iis4ISAPI - module IIS ISAPI
iis4CGI - exécutable IIS CGI
iis4FastCGI - exécutable IIS CGI
NSAPI - module serveur Sun/iPlanet/Netscape
netserve - exécutable NetServe Web Server CGI
Xitami - exécutable Xitami CGI
Sambar - module Sambar Server ISAPI
CGI - exécutable php-cgi.exe
PEAR - installeur PEAR
Manual - manuel PHP au format CHM

Pour plus d'informations sur l'installation via les installeurs MSI depuis la ligne de commande, visitez » http://msdn.microsoft.com/en-us/library/aa367988.aspx

Mise à jour de PHP avec l'installeur

Pour effectuer une mise à jour, exécutez l'installeur soit en mode graphique, soit en ligne de commande. L'installeur lira vos options d'installation, effacera votre ancienne installation et réinstallera PHP avec les mêmes options que précédemment. Il est recommandé d'utiliser cette méthode pour mettre à jour votre installation de PHP plutôt que d'aller remplacer manuellement les fichiers dans le dossier d'installation.

L'installeur Windows (PHP version 5.1.0 et inférieures)
Installation manuelle sous Windows
Installation sur les système Windows


Installation manuelle sous Windows

Ce guide d'installation vous aide à installer manuellement et configurer PHP avec un serveur web sous Microsoft Windows. Pour commencer, vous devrez télécharger la distribution binaire Zip sur la page » http://www.php.net/downloads.php.

Bien qu'il existe beaucoup d'installeurs et que nous fournissons également un installeur pour Microsoft Windows, nous vous recommandons de prendre le temps de lire ceci et d'installer PHP vous-même, ce qui est la meilleur façon d'apprendre le système, et vous permettra d'installer des extensions PHP facilement lorsque vous en aurez besoin.

Note: Mise à jour d'une ancienne version de PHP
Les précédentes éditions de ce manuel vous suggéraient de déplacer les fichiers ini et les DLLs dans votre répertoire système (i.e dans le dossier C:\WINDOWS) et, de ce fait, vous aviez des fichiers relatifs à PHP dans de multiples dossiers sur votre disque dur. Nous vous conseillons d'effacer tous ces fichiers (comme php.iniet les bibliothèques DLLs relatives à PHP du dossier système de Windows), avant de commencer l'installation d'une nouvelle version de PHP. Assurez-vous d'avoir effectué des sauvegardes de ces bibliothèques DLLs, sinon, vous risquez de corrompte la totalité de votre système. L'ancien fichier php.ini peut également vous aider à configurer votre nouvelle installation de PHP. Et, comme vous l'apprendrez bientôt, la méthode préférée pour installer PHP est de garder tous les fichiers relatifs à PHP dans un seul dossier et d'avoir le dossier de disponible dans votre variable système PATH.

Note: Pré-requis MDAC
Si vous utilisez Microsoft Windows 9x/NT4, téléchargez la dernière version de Microsoft Data Access Components (MDAC) pour votre plate-forme. MDAC est disponible à » http://msdn.microsoft.com/data/. Cette condition existe car ODBC est compilé dans les binaires distribués pour Windows.

Les étapes suivantes doivent être terminées sur toutes les installations avant d'exécuter une quelconque instruction spécifique au serveur.

Décompressez la distribution dans un dossier de votre choix. Si vous installez PHP 4, extrayez le fichier zippé dans C:\ car il va créer un dossier comme php-4.3.7-Win32. Si vous installez PHP 5, extrayez le fichier zippé dans C:\php car il ne va pas créer de dossier principal, comme en PHP 4. Vous pouvez choisir un autre dossier, mais soyez prudent d'éviter les espaces dans le nom du chemin au dossier (comme C:\Program Files\PHP), sinon, certains serveurs web crasheront.

La structure du dossier que vous avez extrait depuis le fichier zippé est différente pour les versions 4 et 5 de PHP et ressemble à ceci :

Exemple #1 Structure de la distribution Windows de PHP 4

c:\php
   |
   +--cli
   |  |
   |  |-php.exe           -- Executable CLI - UNIQUEMENT pour la ligne de commande
   |
   +--dlls                -- DLL de support des extensions  --> dossier systeme Windows
   |  |
   |  |-expat.dll
   |  |
   |  |-fdftk.dll
   |  |
   |  |-...
   |
   +--extensions          -- extensions DLL pour PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--mibs                -- fichiers de support de SNMP
   |
   +--openssl             -- fichiers de support de Openssl
   |
   +--pdf-related         -- fichiers de support de PDF
   |
   +--sapi                -- DLL SAPI
   |  |
   |  |-php4apache.dll
   |  |
   |  |-php4apache2.dll
   |  |
   |  |-...
   |
   +--PEAR                -- copie initiale de PEAR
   |
   |
   |-go-pear.bat          -- script de configuration de PEAR
   |
   |-...
   |
   |-php.exe              -- exécutable CGI
   |
   |-...
   |
   |-php.ini-dist         -- paramètres par défaut du php.ini
   |
   |-php.ini-recommended  -- paramètres recommandés du php.ini
   |
   |-php4ts.dll           -- DLL principale
   |
   |-...

Ou :

Exemple #2 Structure du paquet PHP 5

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib
   |
   +--ext                 -- extensions DLL pour PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras
   |  |
   |  +--mibs             -- fichiers de support de SNMP
   |  |
   |  +--openssl          -- fichiers de support de Openssl
   |  |
   |  +--pdf-related      -- fichiers de support de PDF
   |  |
   |  |-mime.magic
   |
   +--pear                -- copie initiale de PEAR
   |
   |
   |-go-pear.bat          -- script de configuration de PEAR
   |
   |-fdftk.dll
   |
   |-...
   |
   |-php-cgi.exe          -- exécutable CGI
   |
   |-php-win.exe          -- permet d'exécuter des scripts sans ouvrir un fenêtre de prompt
   |
   |-php.exe              -- exécutable CLI - UNIQUEMENT pour du script en ligne de commande
   |
   |-...
   |
   |-php.ini-dist         -- paramètres par défaut du php.ini
   |
   |-php.ini-recommended  -- paramètres recommandés du php.ini
   |
   |-php5activescript.dll
   |
   |-php5apache.dll
   |
   |-php5apache2.dll
   |
   |-...
   |
   |-php5ts.dll           -- DLL principale
   |
   |-...

Notez les différences et les similitudes. PHP 4 et PHP 5 ont tous les deux un exécutable CGI, un exéctuable CLI et des modules serveurs, mais ils sont situés dans des dossiers différents et/ou ont des noms différents. En PHP 4, les modules serveurs se trouvent dans le dossier sapi, tandis qu'ils se trouvent dans le dossier principal en PHP 5. Le support des DLLs pour les extensions de PHP sont également dans le dossier principal en PHP 5. Observez l'arborescence pour connaître l'emplacement des exécutables CGI et CLI.

Note: En PHP 4, vous devez déplacer tous les fichiers se trouvant dans les dossiers dll et sapi dans le dossier principal (e.g. C:\php).

Voici une liste de modules serveur avec la correspondance entre PHP 4 et PHP 5.

  • sapi/php4activescript.dll (php5activescript.dll) - moteur ActiveScript vous permet d'intégrer PHP dans vos applications Windows.

  • sapi/php4apache.dll (php5apache.dll) - module Apache 1.3.x.

  • sapi/php4apache2.dll (php5apache2.dll) - module Apache 2.0.x.

  • sapi/php5apache2_2.dll - module Apache 2.2.x.

  • sapi/php4isapi.dll (php5isapi.dll) - module ISAPI pour les serveurs ISAPI compliant comme IIS 4.0/PWS 4.0 ou autres.

  • sapi/php4nsapi.dll (php5nsapi.dll) - module serveur Sun/iPlanet/Netscape.

  • sapi/php4pi3web.dll (pas d'équivalent en PHP 5) - module serveur Pi3Web.

Les modules serveurs permettent des gains de performances et quelques fonctionnalités supplémentaires par rapport à la version CGI. La version CLI est destinée à être utilisée pour les scripts en ligne de commande. Plus d'informations sur la version CLI est disponible dans le chapitre à propos "utilisez PHP en ligne de commande".

Avertissement

Les modules SAPI ont été significativement améliorés dans la version 4.1, mais vous pourrez rencontrer des erreurs avec le serveur ou d'autres modules (tels ASP), dans les systèmes plus anciens.

Les binaires CGI et CLI et les modules des serveurs web requierent tous la bibliothèque php4ts.dll (php5ts.dll). Vous devez vous assurer que ce fichier peut être trouvé par votre installation de PHP. Le dossier où ce fichier sera recherché suit ces règles :

  • Le même dossier depuis lequel le fichier php.exe est appelé ou, dans le cas où vous utilisez le module SAPI, le dossier du serveur web (e.g. C:\Program Files\Apache Group\Apache2\bin).

  • N'importe quel dossier de votre variable d'environnement PATH.

Pour rendre le fichier php4ts.dll / php5ts.dll disponible, vous avez trois options : copiez le fichier dans le dossier système de Windwos, copiez le fichier dans le dossier du serveur web ou ajoutez le dossier PHP, C:\php à votre variable d'environnement PATH. Pour une meilleur maintenance, nous vous conseillons de suivre la dernière option et d'ajoutez le dossier C:\php à votre variable d'environnement PATH, cela rendera plus facile la mise à jour de PHP dans le futur. Lisez l'entrée correspondante de la FAQ pour avoir plus d'informations sur la façon d'ajouter votre dossier PHP à la variable d'environnement PATH (et donc, n'oubliez pas de redémarrer votre ordinateur, une simple fermeture de session ne suffisant pas).

L'étape suivante est de définir une configuration valide pour PHP, php.ini. Il y a deux fichiers ini distribués avec le paquet zip, php.ini-dist et php.ini-recommended. Nous vous recommandons vivement d'utiliser le fichier php.ini-recommended, car nous avons optimisé les options par défaut dans ce fichier pour rendre PHP plus performant, plus sécurisé. Lisez ce document très attentivement car il contient des modifications depuis php.ini-dist qui affectent sérieusement votre configuration. Par exemple, display_errors est à off et magic_quotes_gpc est aussi à off. En complément de cette lecture, étudiez la configuration du fichier ini et définissez chacun des éléments manuellement. Si vous voulez avoir la meilleure sécurité, alors, c'est la seule façon pour vous, bien que PHP fonctionne très bien avec le fichier ini par défaut. Copiez le fichier ini de votre choix dans un dossier où PHP sera capable de le trouver et renommez-le en php.ini. PHP recherche un fichier php.ini dans les endroits décrits dans la section Le fichier de configuration.

Si vous utilisez Apache 2, l'option la plus simple est d'utiliser la directive PHPIniDir (lisez la page traitant de l'installation de PHP avec Apache 2) sinon, la meilleure option est de définir la variable d'environnement PHPRC. Ce processus est expliqué dans cette entrée de la FAQ.

Note: Si vous utilisez NTFS sous Windows NT, 2000, XP ou 2003, assurez-vous que l'utilisateur faisant fonctionner le serveur web a les permissions en lecture sur votre fichier php.ini (e.g. rendez-le lisible pour tout le monde).

Les étapes suivantes sont optionnelles :

  • Éditez votre nouveau fichier php.ini. Si vous avez prévu d'utiliser OmniHTTPd, ne suivez pas l'étape suivante. Définissez le paramètre doc_root de façon à ce qu'il pointe vers le document_root de votre serveur web. Par exemple :

    doc_root = c:\inetpub\wwwroot // pour IIS/PWS

doc_root = c:\apache\htdocs // pour Apache

  • Choisissez les extensions que vous voulez charger au démarrage de PHP. Lisez la section sur les extensions Windows, sur la manière de les configurer et celles qui sont déjà intégrées à PHP. Notez que sur les nouvelles installations, il est préférable de faire fonctionner PHP et de le tester avec aucune extension avant d'en activer dans votre fichier php.ini.
  • Sous PWS et IIS, vous pouvez définir le paramètre de configuration browscap pour pointer vers c:\windows\system\inetsrv\browscap.ini sous Windows 9x/Me, c:\winnt\system32\inetsrv\browscap.ini sous NT/2000 et c:\windows\system32\inetsrv\browscap.ini sous XP. Pour un fichier browscap.ini à jour, lisez cette entrée de la FAQ.

PHP est maintenant installé sur votre système. L'étape suivante consiste à choisir un serveur web et le configurer pour y faire fonctionner PHP. Choisissez en un parmi ceux supportés.

Installeur Windows (PHP 5.2 et suivant)
ActiveScript
Installation sur les système Windows


ActiveScript

Cette section contient des notes spécifiques à l'installation d'ActiveScript.

ActiveScript est une SAPI uniquement disponible sous Windows qui vous permet d'utiliser des scripts PHP dans l'importe quel hôte respectant ActiveScript comme Windows Scripts Host, ASP/ASP.NET, Windows Script Components ou encore Microsoft Scriptlet control.

Depuis PHP 5.0.1, ActiveScript a été déplacé dans le dépôt » PECL. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Note: Vous devriez lire les étapes d'installation du manuel d'abord !

Après avoir installé PHP, vous devez télécharger la bibliothèque ActiveScript (php5activescript.dll) et la placer dans le dossier principal de PHP (e.g. C:\php).

Après avoir récupéré tous les fichiers nécessaires, vous devez enregistrer cette bibliothèque DLL sur votre système. Pour réaliser cela, ouvrez un prompt de commande Windows (qui se trouve dans le menu démarrer). Allez dans votre répertoire PHP en tapant quelque chose comme cd C:\php. Pour enregistrer cette bibliothèque DLL, tapez juste : regsvr32 php5activescript.dll.

Pour tester si ActiveScript fonctionne, créez un nouveau fichier, nommé test.wsf (l'extension est vraiment très importante) et tapez :

<job xml:id="test">

 <script language="PHPScript">
  $WScript->Echo("Bonjour le monde !");
 </script>

</job>
Sauvegardez et double-cliquez sur le fichier. Si vous recevez une petite fenêtre disant "Bonjour le monde !", c'est que cela fonctionne.

Note: En PHP 4, le moteur était appelé 'ActivePHP', donc, si vous utilisez PHP 4, vous devez remplacer 'PHPScript' par 'ActivePHP' dans l'exemple ci-dessus.

Note: ActiveScript n'utilise pas le fichier php.ini par défaut. À la place, il regardera uniquement dans le répertoire où se trouve le .exe qui l'a chargé. Vous devez créer un fichier php-activescript.ini et le placer dans ce dossier si vous voulez charger des extensions, etc.

Installation manuelle sous Windows
Microsoft IIS
Installation sur les système Windows


Microsoft IIS

Cette section contient les instructions spécifiques d'installation de PHP sous Microsoft Internet Information Services (IIS).

  • Installation manuelle de PHP sous Microsoft IIS 5.1 et IIS 6.0
  • Installation manuelle de PHP sous Microsoft IIS 7.0 et suivant
ActiveScript
Microsoft IIS 5.1 and IIS 6.0
Installation sur les système Windows


Microsoft IIS 5.1 and IIS 6.0

This section contains instructions for manually setting up Internet Information Services (IIS) 5.1 and IIS 6.0 to work with PHP on Microsoft Windows XP and Windows Server 2003. For instructions on setting up IIS 7.0 and later versions on Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 refer to Microsoft IIS 7.0 and later.

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Note: Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Exemple #1 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Download and install the » Microsoft FastCGI Extension for IIS 5.1 and 6.0. The extension is available for 32-bit and 64-bit platforms - select the right download package for your platform.

Configure the FastCGI extension to handle PHP-specific requests by running the command shown below. Replace the value of the "-path" parameter with the absolute file path to the php-cgi.exe file.

Exemple #2 Configuring FastCGI extension to handle PHP requests

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"

This command will create an IIS script mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI extension. Also, it will configure FastCGI extension to use the executable php-cgi.exe to process the PHP requests.

Note: At this point the required installation and configuration steps are completed. The remaining instructions below are optional but highly recommended for achieving optimal functionality and performance of PHP on IIS.

Impersonation and file system access

It is recommended to enable FastCGI impersonation in PHP when using IIS. This is controlled by the fastcgi.impersonate directive in php.ini file. When impersonation is enabled, PHP will perform all the file system operations on behalf of the user account that has been determined by IIS authentication. This ensures that even if the same PHP process is shared across different IIS web sites, the PHP scripts in those web sites will not be able to access each others' files as long as different user accounts are used for IIS authentication on each web site.

For example IIS 5.1 and IIS 6.0, in its default configuration, has anonymous authentication enabled with built-in user account IUSR_<MACHINE_NAME> used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant IUSR_<MACHINE_NAME> account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders then IUSR_<MACHINE_NAME> account should have write permission to those.

To determine which user account is used by IIS anonymous authentication, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Expand the list of web sites under the "Web Sites" node in the tree view, right-click on a web site that is being used and select "Properties";

  3. Click the "Directory Security" tab;

  4. Take note of a "User name:" field in the "Authentication Methods" dialog

Anonymous authenication for IIS 5.1 and IIS 6.0

To modify the permissions settings on files and folders, use the Windows Explorer user interface or icacls command.

Exemple #3 Configuring file access permissions

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Right-click on the "Web Sites" node in the tree view and select "Properties";

  3. Click the "Documents" tab;

  4. Click the "Add..." button and enter "index.php" for the "Default content page:".

Setting index.php as default document for IIS

FastCGI and PHP Recycling configuration

Configure IIS FastCGI extension settings for recycling of PHP processes by using the commands shown below. The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single php-cgi.exe process before FastCGI extension shuts it down. The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS.

Exemple #4 Configuring FastCGI and PHP recycling

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

Configuring FastCGI timeout settings

Increase the timeout settings for FastCGI extension if there are applications that have long running PHP scripts. The two settings that control timeouts are ActivityTimeout and RequestTimeout. Refer to » Configuring FastCGI Extension for IIS 6.0 for more information about those settings.

Exemple #5 Configuring FastCGI timeout settings

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

Changing the Location of php.ini file

PHP searches for php.ini file in several locations and it is possible to change the default locations of php.ini file by using PHPRC environment variable. To instruct PHP to load the configuration file from a custom location run the command shown below. The absolute path to the directory with php.ini file should be specified as a value of PHPRC environment variable.

Exemple #6 Changing the location of php.ini file

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"C:\Some\Directory\"

Microsoft IIS
Microsoft IIS 7.0 and later
Installation sur les système Windows


Microsoft IIS 7.0 and later

This section contains instructions for manually setting up Internet Information Services (IIS) 7.0 and later to work with PHP on Microsoft Windows Vista SP1, Windows 7, Windows Server 2008 and Windows Server 2008 R2. For instructions on setting up IIS 5.1 and IIS 6.0 on Windows XP and Windows Server 2003 refer to Microsoft IIS 5.1 and IIS 6.0.

Enabling FastCGI support in IIS

FastCGI module is disabled in default installation of IIS. The steps to enable it differ based on the version of Windows being used.

To enable FastCGI support on Windows Vista SP1 and Windows 7:

  1. In the Windows Start Menu choose "Run:", type "optionalfeatures.exe" and click "Ok";

  2. In the "Windows Features" dialog expand "Internet Information Services", "World Wide Web Services", "Application Development Features" and then enable the "CGI" checkbox;

  3. Click OK and wait until the installation is complete.

Enabling FastCGI support for IIS7 on Windows Vista SP1 and Windows 7

To enable FastCGI support on Windows Server 2008 and Windows Server 2008 R2:

  1. In the Windows Start Menu choose "Run:", type "CompMgmtLauncher" and click "Ok";

  2. If the "Web Server (IIS)" role is not present under the "Roles" node, then add it by clicking "Add Roles";

  3. If the "Web Server (IIS)" role is present, then click "Add Role Services" and then enable the "CGI" checkbox under "Application Development" group;

  4. Click "Next" and then "Install" and wait for the installation to complete.

Enabling FastCGI support on Windows Server 2008 and Windows Server 2008 R2

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Note: Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Exemple #1 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

Configure IIS handler mapping for PHP by using either IIS Manager user interface or a command line tool.

Using IIS Manager user interface to create a handler mapping for PHP

Follow these steps to create an IIS handler mapping for PHP in IIS Manager user interface:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. In the IIS Manager user interface select the server node in the "Connections" tree view;

  3. In the "Features View" page open the "Handler Mappings" feature;

    Create IIS handler mapping for PHP : Locate Handler Mappings

  4. In the "Actions" pane click "Add Module Mapping...";

  5. In the "Add Module Mapping" dialog enter the following:

    • Request path: *.php
    • Module: FastCgiModule
    • Executable: C:\[Path to PHP installation]\php-cgi.exe
    • Name: PHP_via_FastCGI

  6. Click "Request Restrictions" button and then configure the mapping to invoke handler only if request is mapped to a file or a folder;

  7. Click OK on all the dialogs to save the configuration.

Create IIS handler mapping for PHP : Add Handler Mapping

Using command line tool to create a handler mapping for PHP

Use the command shown below to create an IIS FastCGI process pool which will use php-cgi.exe executable for processing PHP requests. Replace the value of the fullPath parameter with the absolute file path to the php-cgi.exe file.

Exemple #2 Creating IIS FastCGI process pool

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^
/+[fullPath='c:\PHP\php-cgi.exe']

Configure IIS to handle PHP specific requests by running the command shown below. Replace the value of the scriptProcessor parameter with the absolute file path to the php-cgi.exe file.

Exemple #3 Creating handler mapping for PHP requests

%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^
/+[name='PHP_via_FastCGI', path='*.php',verb='*',modules='FastCgiModule',^
scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

This command creates an IIS handler mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI module.

Note: At this point the required installation and configuration steps are completed. The remaining instructions below are optional but highly recommended for achieving optimal functionality and performance of PHP on IIS.

Impersonation and file system access

It is recommended to enable FastCGI impersonation in PHP when using IIS. This is controlled by the fastcgi.impersonate directive in php.ini file. When impersonation is enabled, PHP will perform all the file system operations on behalf of the user account that has been determined by IIS authentication. This ensures that even if the same PHP process is shared across different IIS web sites, the PHP scripts in those web sites will not be able to access each other's files as long as different user accounts are used for IIS authentication on each web site.

For example IIS 7, in its default configuration, has anonymous authentication enabled with built-in user account IUSR used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant IUSR account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders then IUSR account should have write permission to those.

To determine what user account is used as an anonymous identity in IIS 7 use the following command. Replace the "Default Web Site" with the name of IIS web site that you use. In the output XML configuration element look for the userName attribute.

Exemple #4 Determining the account used as IIS anonymous identity

%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication

<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
   </security>
</system.webServer>

Note: If userName attribute is not present in the anonymousAuthentication element, or is set to an empty string, then it means that the application pool identity is used as an anonymous identity for that web site.

To modify the permissions settings on files and folders, use the Windows Explorer user interface or icacls command.

Exemple #5 Configuring file access permissions

icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, use this command:

Exemple #6 Set index.php as a default document in IIS

%windir%\system32\inetsrv\appcmd.exe set config ^
-section:system.webServer/defaultDocument /+"files.[value='index.php']" ^
/commit:apphost

FastCGI and PHP Recycling configuration

Configure IIS FastCGI settings for recycling of PHP processes by using the commands shown below. The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single php-cgi.exe process before IIS shuts it down. The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS.

Exemple #7 Configuring FastCGI and PHP recycling

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='c:\php\php-cgi.exe'].instanceMaxRequests:10000

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.^
[name='PHP_FCGI_MAX_REQUESTS',value='10000']"

FastCGI timeout settings

Increase the timeout settings for FastCGI if it is expected to have long running PHP scripts. The two settings that control timeouts are activityTimeout and requestTimeout. Use the commands below to change the timeout settings. Make sure to replace the value in the fullPath parameter to contain the absolute path to the php-cgi.exe file.

Exemple #8 Configuring FastCGI timeout settings

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].activityTimeout:"90"  /commit:apphost

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^
/[fullPath='C:\php\php-cgi.exe',arguments=''].requestTimeout:"90"  /commit:apphost

Changing the Location of php.ini file

PHP searches for php.ini file in several locations and it is possible to change the default locations of php.ini file by using PHPRC environment variable. To instruct PHP to load the configuration file from a custom location run the command shown below. The absolute path to the directory with php.ini file should be specified as a value of PHPRC environment variable.

Exemple #9 Changing the location of php.ini file

appcmd.exe set config  -section:system.webServer/fastCgi ^
/+"[fullPath='C:\php\php.exe',arguments=''].environmentVariables.^
[name='PHPRC',value='C:\Some\Directory\']" /commit:apphost

Microsoft IIS 5.1 and IIS 6.0
Installer PHP sous Microsoft Windows avec Apache 1.3.x
Installation sur les système Windows


Installer PHP sous Microsoft Windows avec Apache 1.3.x

Cette section contient des notes et conseils spécifiques pour l'installation de PHP avec Apache 1.3.x sur les systèmes Microsoft Windows. Il y a aussi des instructions et des notes spécifiques pour Apache 2 sur une page séparée.

Note: Lisez les étapes d'installation du manuel d'abord !

Il y a deux méthodes pour faire fonctionner PHP avec Apache 1.3.x sous Windows. La première est d'utiliser l'exécutable CGI (php.exe pour PHP 4 et php-cgi.exe pour PHP 5), l'autre est d'utiliser les modules Apache DLL. Dans les deux cas, vous devez arrêter le serveur Apache, éditer votre fichier httpd.conf pour dire à Apache de prendre PHP en compte et redémarrer Apache.

Maintenant que le module SAPI a été rendu plus stable sous Windows, nous recommandons son usage plutôt que celui de l'exécutable CGI, car il est plus transparent et sécurisé.

Bien qu'il puisse y avoir quelques différences de configuration de PHP sous Apache, le processus reste simple et à la portée du néophyte. Reportez-vous aux documentations Apache pour plus de détails sur ces directives.

Après avoir modifié le fichier de configuration, pensez à redémarrer le serveur web, par exemple avec NET STOP APACHE suivi de NET START APACHE, si vous utilisez Apache comme service Windows, ou bien utilisez vos alias classiques.

Note: Souvenez-vous que lorsque vous ajoutez des valeurs représentants un chemin dans la configuration d'Apache sous Windows, tous les antislash, comme c:\repertoire\fichier.ext, devraient être convertis en slashes, comme c:/repertoire/fichier.ext. Un slash final peut également être nécessaire pour les dossiers.

Installation de PHP en tant que module Apache

Vous devez ajouter les lignes suivantes à votre fichier de configuration Apache httpd.conf :

Exemple #1 PHP comme module Apache 1.3.x

Cet exemple suppose que PHP est installé dans le dossier c:\php. Ajustez le chemin si ce n'est pas le cas.

Pour PHP 4 :

# À ajouter à la fin de la section LoadModule
# N'oubliez pas de copier ce fichier depuis le dossier sapi !
LoadModule php4_module "C:/php/php4apache.dll"

# À ajouter à la fin de la section AddModule
AddModule mod_php4.c

Pour PHP 5 :

# À ajouter à la fin de la section LoadModule
LoadModule php5_module "C:/php/php5apache.dll"

# À ajouter à la fin de la section AddModule
AddModule mod_php5.c

Pour les deux :

# Ajoutez cette ligne dans les parenthèses conditionnelles <IfModule mod_mime.c>
AddType application/x-httpd-php .php

# Pour les fichiers de syntaxe colorisée .phps, ajoutez également
AddType application/x-httpd-php-source .phps

Installation comme binaire CGI

Si vous avez dézippé le paquet PHP dans le répertoire c:\php\ comme décrit dans la section sur les étapes d'installation du manuel, vous devez insérer ces lignes à votre fichier de configuration Apache pour activer le binaire CGI :

Exemple #2 PHP et Apache 1.3.x en tant que CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# Pour PHP 4
Action application/x-httpd-php "/php/php.exe"

# Pour PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# spécifez le répertoire où se trouve php.ini
SetEnv PHPRC C:/php
Notez que la seconde ligne dans l'exemple ci-dessus peut être touvée dans l'actuelle version de votre httpd.conf, mais elle est commentée. Souvenez-vous également de faire correspondre le chemin c:/php/ à votre chemin actuel vers PHP.

Avertissement

En utilisant le mode CGI, votre serveur est ouvert à de possibles attaques sérieuses. Lisez attentivement notre section sur la sécurité en mode CGI pour apprendre comment vous défendre contre ces attaques.

Si vous voulez présenter la source de vos fichiers PHP avec la coloration syntaxique, il n'existe pas d'option équivalente de celle de la version module de PHP. Si vous choisissez de configurer Apache pour utiliser PHP en mode CGI, vous aurez besoin d'utiliser la fonction highlight_file(). Pour réaliser cela simplement, créez un script PHP dans un fichier et ajoutez ce code : <?php highlight_file('original_php_script.php'); ?>.

Microsoft IIS 7.0 and later
Installation des serveurs Apache 2.x sur les systèmes Microsoft Windows
Installation sur les système Windows


Installation des serveurs Apache 2.x sur les systèmes Microsoft Windows

Cette section contient les notes et conseils d'installation de PHP avec le serveur Apache 2.x sur les systèmes Microsoft Windows. Nous avons également des notes et des instructions pour Apache 1.3.x sur une page séparée.

Note: Vous devriez lire les étapes d'installation du manuel d'abord !

Note: Support Apache 2.2
Les utilisateurs d'Apache 2.2 doivent conserver à l'esprit que la bibliothèque DLL d'Apache 2.2 sont nommées php5apache2_2.dll plutôt que php5apache2.dll et n'est disponible que pour PHP 5.2.0 et suivant. Voir aussi » http://snaps.php.net/

Il est vivement recommandé de consulter la » documentation Apache pour avoir une meilleure connaissance du serveur web Apache 2.x. Lisez également les » notes spécifiques à Windows pour Apache 2.x avant de lire cette documentation.

Apache 2.x est prévu pour fonctionner sur les versions de Windows désignées comme serveurs, comme Windows NT 4.0, Windows 2000, Windows XP, ou Windows 7. Bien qu'Apache 2.x fonctionne parfaitement bien sous Windows 9x, le support de ces plateformes est incomplet et quelques fonctionnalités peuvent ne pas fonctionner correctement ; et il n'est pas prévu d'améliorer cela.

Téléchargez la version la plus récente de » Apache 2.x et une version de PHP. Suivez les instructions d'installation manuelle puis revenez ici pour réaliser l'intégration de PHP et Apache.

Il y a trois méthodes pour que PHP fonctionne avec Apache 2.x sous Windows. Vous pouvez exécuter PHP comme gestionnaire, comme CGI ou comme FastCGI.

Note: Souvenez-vous que lorsque vous ajoutez des valeurs représentants un chemin dans la configuration d'Apache sous Windows, tous les antislash, comme c:\repertoire\fichier.ext, devraient être convertis en slashes, comme c:/repertoire/fichier.ext. Un slash final peut également être nécessaire pour les dossiers.

Installation d'Apache comme gestionnaire

Vous devez insérer les lignes suivantes dans le fichier de configuration httpd.conf d'Apache pour charger le module PHP pour Apache 2.x :

Exemple #1 PHP et Apache 2.x comme gestionnaire

#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Note: Rappelez-vous de placer votre chemin actuel de PHP dans le chemin C:/php/ des exemples ci-dessous. Assurez-vous d'utiliser soit php5apache2.dll, soit php5apache2_2.dll dans la directive LoadModule et de vérifiez que le fichier correspondant est en réalité situé dans le chemin utilisé dans cette directive.

La configuration suivante activera le gestionnaire PHP pour tous les fichiers qui ont l'extension .php, même si d'autres extensions sont utilisées pour ces fichiers. Par exemple, un fichier nommé example.php.txt sera exécuté par le gestionnaire PHP. Pour vous assurez que seuls les fichiers se terminant par .php sont exécutés, utilisez plutôt la configuration suivante :

<FilesMatch \.php$>
      SetHandler application/x-httpd-php
 </FilesMatch>

Exécution de PHP en tant que CGI

Vous devriez consulter la » documentation Apache CGI où vous trouverez toutes les informations nécessaires à l'exécution d'Apache CGI.

Pour exécuter PHP en tant que CGI, vous devez placer tous vos fichiers php-cgi dans un dossier désigné comme dossier CGI en utilisant la directive ScriptAlias.

Vous devez ensuite insérer une ligne #! dans vos fichiers PHP, pointant vers le binaire PHP :

Exemple #2 PHP et Apache 2.x en tant que CGI

#!C:/php/php.exe
<?php
  phpinfo();
?>

Avertissement

En utilisant le mode CGI, votre serveur est ouvert à de possibles attaques sérieuses. Lisez attentivement notre section sur la sécurité en mode CGI pour apprendre comment vous défendre contre ces attaques.

Exécuter PHP en tant que FastCGI

L'exécution de PHP en tant que FastCGI a un beaucoup d'avantages contrairement à son exécution en tant que CGI. Sa mise en place de cette manière est assez simple :

Récupérez mod_fcgid depuis » http://httpd.apache.org/mod_fcgid/. Les bibliothèques Win32 sont disponibles au téléchargement depuis ce site. Installez le module suivant les instructions fournies.

Configurez votre serveur web comme ci-dessous, en vous assurant d'ajuster tous les chemins pour refléter votre configuration système particulière :

Exemple #3 Configuration d'Apache pour exécuter PHP en tant que FastCGI

LoadModule fcgid_module modules/mod_fcgid.so

# Où se trouve le fichier php.ini ?
FcgidInitialEnv PHPRC        "c:/php"

AddHandler fcgid-script .php
FcgidWrapper "c:/php/php-cgi.exe" .php
Les fichiers avec l'extension .php seront maintenant exécutés par le gestionnaire PHP FastCGI.

Installer PHP sous Microsoft Windows avec Apache 1.3.x
Serveurs Sun, iPlanet et Netscape servers sur Microsoft Windows
Installation sur les système Windows


Serveurs Sun, iPlanet et Netscape servers sur Microsoft Windows

Cette section contient les notes et détails spécifiques à l'installation de PHP sur des serveurs Sun Java System Web Server, Sun ONE web Server, Netscape et iPlanet, sous Windows.

Depuis PHP 4.3.3, vous pouvez utiliser les scripts PHP avec le module NSAPI pour gérer des listes de dossiers et des pages d'erreurs personnalisées. Des fonctions supplémentaires sont disponibles pour assurer la compatibilité avec Apache. Pour du support sur les serveurs courants, voyez la note sur les sous-requêtes.

Configuration en CGI sur les serveurs Sun, iPlanet et Netscape

Pour installer PHP en CGI, suivez ce qui suit :

  • Copiez le fichier php4ts.dll dans votre dossier principal (le dossier où vous avez installé Windows)

  • Faites un fichier d'association depuis la ligne de commande. Tapez les lignes suivantes :

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • Dans le serveur Netscape Enterprise Administration Server, créez un dossier shellcgi et supprimez-le aussitôt (cette opération crée 5 lignes importantes dans le fichier obj.conf et permet au serveur de gérer les scripts CGI).
  • Dans le serveur Netscape Enterprise Administration Server, créez un nouveau type MIME : Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php.
  • Recommencez pour chaque instance de serveur web qui devra exécuter PHP.

Plus de détails sur la configuration de PHP comme CGI sont disponibles à » http://benoit.noss.free.fr/php/install-php.html

Configuration NSAPI sur les serveurs Sun, iPlanet et Netscape

Pour installer PHP avec l'interface NSAPI, faites ceci :

  • Copiez le fichier php4ts.dll dans votre dossier systemroot (le dossier où vous avez installé windows)

  • Faites un fichier d'association depuis la ligne de commande. Tapez les lignes suivantes :

    assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • Dans le serveur Netscape Enterprise Administration Server, créez un nouveau type MIME : Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php.

  • Éditez le fichier magnus.conf (pour les serveurs >= 6) ou obj.conf (pour les serveurs < 6) et ajoutez ce qui suit : Vous devez placer ces lignes après mime types init.

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
    (PHP >= 4.3.3) Le paramètre php_ini est optionnel, mais si vous le définissez, vous pourrez placer votre fichier php.ini dans le dossier de configuration de votre serveur web.

  • Configurez l'objet par défaut dans le fichier obj.conf (pour les classes de serveur virtuel [Sun Web Server 6.0+], dans le fichier vserver.obj.conf) : dans la section <Object name="default">, placez cette ligne nécessairement avant toutes les lignes 'ObjectType' et après toutes les lignes 'ObjectType' :

    Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
    (PHP >= 4.3.3) Comme paramètres supplémentaires, vous pouvez ajouter quelques valeurs spéciales du php.ini, par exemple, vous pouvez définir un docroot="/path/to/docroot" spécifique au contexte où php4_execute est appelé, non pas "On","Off",... (cela ne fonctionnerait pas correctement), e.g. zlib.output_compression=1 à la place de zlib.output_compression="On"

  • Cela n'est nécessaire que si vous voulez configurer un dossier qui ne contiendra que vos scripts PHP (tout comme un dossier cgi-bin) :

    <Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    Après cela, vous pouvez configurer un dossier dans l'administration du serveur et lui assigner le style x-httpd-php. Tous les fichiers s'y trouvant seront exécutés comme étant des scripts PHP. Cela peut être pratique pour cacher l'usage de PHP en renommant les fichiers en .html.

  • Redémarrez votre serveur web pour que les modifications prennent effet.
  • Faites cela pour chaque instance du serveur web où vous voulez exécuter PHP.

Note: Plus de détails sur la configuration de PHP comme filtre NSAPI peuvent être trouvés ici : » http://benoit.noss.free.fr/php/install-php4.html

Note: La taille de la pile que PHP utilise dépend de la configuration du serveur web. Si vous rencontrez des crashs avec les grands scripts PHP, il est recommandé d'augmenter la taille de la pile avec la console d'administration : dans la section "MAGNUS EDITOR".

Environnement CGI et modifications recommandées du php.ini

Il est important de garder en tête que iPlanet/SunONE/Netscape est un serveur web multi-threadé. Comme toutes les requêtes se situent dans le même contexte (c'est le contexte sur serveur web), et que ce contexte est unique. SI vous voulez accéder a des variables comme PATH_INFO, HTTP_HOST etc. il n'est pas recommandé d'y accéder à l'ancienne manière de PHP, avec la fonction getenv() ou une autre méthode (register globals, $_ENV). De cette manière, vous n'aurez que des valeurs d'environnement du serveur, et non pas des valeurs correctes pour le CGI.

Note: Pourquoi est-ce que les variables CGI sont invalides ?
C'est lié au fait que le processus du serveur web est lancé par l'administrateur du serveur, qui utilise le script de lancement au démarrage. En fait, il aurait fallu que vous lanciez vous-même le processus. C'est pour cela que l'environnement du serveur web contient des variables d'environnement CGI. Vous pouvez vérifier cela en lançant le serveur web depuis un autre endroit que l'administrateur du serveur : utilisez la ligne de commande Unix en tant que root : vous verrez alors qu'il n'y a pas de variables d'environnement.

Changez simplement vos scripts pour lire les variables CGI, en utilisant le tableau superglobal $_SERVER. Si vous avez d'autres scripts qui utilisent encore $HTTP_HOST et compagnie, il est recommandé d'activer l'option register_globals dans le php.ini et de changer l'ordre des variables. IMPORTANT : supprimez le "E" dans cette option, car vous n'en avez pas besoin pour cet environnement.

variables_order = "GPCS"
register_globals = On

Utilisation particulière pour les pages d'erreurs ou les listages spécifiques de dossiers (PHP >= 4.3.3)

Vous pouvez utiliser PHP pour générer des pages d'erreurs de type "404 Not Found" ou apparentée. Ajoutez la ligne suivante dans le fichier obj.conf pour chaque page d'erreur que vous souhaitez remplacer :

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
où XXX est le code d'erreur HTTP. Effacez toute autre directive Error qui pourrait interférer avec la vôtre. Si vous voulez utiliser une page pour toutes les erreurs qui existent, laissez le paramètre code vide. Votre script peut obtenir le code de statut HTTP dans la variable $_SERVER['ERROR_TYPE'].

Une autre possibilité est de générer une liste de dossiers personnalisée. Créez simplement un script PHP qui affiche le contenu du dossier, et remplacez la ligne Service par défaut par type="magnus-internal/directory" dans obj.conf avec ceci :

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
Pour ces deux points, l'URI originale et l'URI traduite sont dans les variables $_SERVER['PATH_INFO'] et $_SERVER['PATH_TRANSLATED'].

Note au sujet de nsapi_virtual() et des requêtes (PHP >= 4.3.3)

Le module NSAPI supporte désormais la fonction nsapi_virtual() (alias : virtual()), pour réaliser des sous requêtes au serveur web, et inclure le résultat dans une page. Le problème est que cette fonction utilise une fonctionnalité non documentée de la bibliothèque NSAPI.

Sous Unix, ce n'est pas un problème, car le module va automatiquement rechercher les fonctions nécessaires, et les utiliser si elles sont disponibles. Sinon, nsapi_virtual() sera désactivée.

Sous Windows, des limitations dans la gestion des DLL impose l'utilisation de la plus récente bibliothèque ns-httpdXX.dll. Cela a été testé pour les serveurs jusqu'à la version 6.0. Si une nouvelle version de SunONE server est utilisée, la détection échoue, et nsapi_virtual() est désactivée.

Dans ce cas, essayez ceci : ajoutez le paramètre suivant à php4_init dans magnus.conf/obj.conf :

Init fn=php4_init ... server_lib="ns-httpdXX.dll"
où XX est le numéro correct de la version de la DLL. Pour la connaître, regardez dans le server-root pour connaître le nom correct de la DLL. La DLL la plus grande en taille est la bonne.

Vous pouvez vérifier le statut en utilisant la fonction phpinfo().

Note: Soyez prévenu : le support de nsapi_virtual() est expérimental.

Installation des serveurs Apache 2.x sur les systèmes Microsoft Windows
Installation pour les serveurs OmniHTTPd
Installation sur les système Windows


Installation pour les serveurs OmniHTTPd

Cette section contient les notes et conseils pour installer PHP sur un serveur » OmniHTTPd sous Windows.

Note: Vous devriez lire les étapes d'installation du manuel d'abord !

Avertissement

En utilisant le mode CGI, votre serveur est ouvert à de possibles attaques sérieuses. Lisez attentivement notre section sur la sécurité en mode CGI pour apprendre comment vous défendre contre ces attaques.

Vous devez réaliser les étapes suivantes pour configurer PHP sur votre serveur OmniHTTPd. C'est une configuration en exécutable CGI. SAPI est supporté par OmniHTTPd, mais des tests ont prouvé que ce n'est pas une solution stable.

Note: Important pour les utilisateurs CGI
Lisez la FAQ sur cgi.force_redirect pour plus de détails. Cette directive doit prendre la valeur de 0.

  1. Installation du serveur OmniHTTPd.

  2. Faites un clic droit sur l'icône bleue d'OmniHTTPd sur le système, et sélectionnez Properties

  3. Cliquez sur Web Server Global Settings

  4. Dans l'onglet 'External', entrez : virtual = .php | actual = c:\php\php.exe (utilisez php-cgi.exe si vous installez PHP 5), et utilisez le bouton "Add" (ajout).

  5. Dans l'onglet Mime, entrez : virtual = wwwserver/stdcgi | actual = .php, et utilisez le bouton "Add" (ajout).

  6. Cliquez sur OK

Répétez les étapes de 2 à 6 pour chaque extension que vous voulez associer à PHP.

Note: Certains paquets OmniHTTPd sont fournis avec le support de PHP. Vous pouvez le choisir au moment de l'installation, et décocher le composant PHP. Nous recommandons d'utiliser les dernières versions de PHP. Certains serveurs OmniHTTPd sont livrés avec des versions bêta de PHP, et il vaut donc mieux éviter de les installer, et choisir une autre version, stable. Si le serveur est déjà sur votre machine, utilisez le bouton "Replace" (remplacer) dans les étapes 4 et 5 pour configurer un nouveau PHP.

Serveurs Sun, iPlanet et Netscape servers sur Microsoft Windows
Sambar Server on Microsoft Windows
Installation sur les système Windows


Sambar Server on Microsoft Windows

Cette section contient les notes et conseils d'installation de PHP sur les serveurs » Sambar, sur Windows.

Note: Vous devriez lire les étapes d'installation du manuel d'abord !

Cette liste décrit comment configurer le module ISAPI avec le serveur Sambar sous Windows.

  • Trouvez le fichier appelé mappings.ini (dans le dossier de configuration), dans le dossier d'installation de Sambar.

  • Ouvrez mappings.ini et ajoutez la ligne suivante, sous la section [ISAPI] :

    Exemple #1 Configuration ISAPI de Sambar

    #pour PHP 4
*.php = c:\php\php4isapi.dll

#pour PHP 5
*.php = c:\php\php5isapi.dll
    (Cette ligne suppose que PHP a été installé dans le dossier c:\php).

  • Maintenant, redémarrez le serveur Sambar pour que les modifications prennent effet.

Note: Si vous voulez utiliser PHP pour communiquer avec les ressources se trouvant sur un autre ordinateur de votre réseau, vous devez modifier le compte utilisé par le service Sambar Server. Le compte par défaut utilisé par le service Sambar Server est LocalSystem, qui n'a pas accès aux ressources distantes. Le compte peut être modifié en utilisant les options des services, se trouvant dans le centre de contrôle de Windows.

Installation pour les serveurs OmniHTTPd
Installation Xitami sur Microsoft Windows
Installation sur les système Windows


Installation Xitami sur Microsoft Windows

Cette section contient les conseils d'installation spécifiques à » Xitami sur Microsoft Windows.

Note: Vous devriez lire les étapes d'installation du manuel d'abord !

Cette liste décrit comment installer PHP comme CGI exécutable avec Xitami sous Windows.

Note: Important pour les utilisateurs de CGI
Lisez la FAQ sur cgi.force_redirect pour d'importants détails. Cette directive doit être configurée à 0. Si vous voulez utiliser $_SERVER['PHP_SELF'], vous devez activer la directive cgi.fix_pathinfo.

Avertissement

En utilisant le mode CGI, votre serveur est ouvert à de possibles attaques sérieuses. Lisez attentivement notre section sur la sécurité en mode CGI pour apprendre comment vous défendre contre ces attaques.

  • Assurez-vous que le serveur web fonctionne, et allez dans la console d'administration du serveur (généralement http://127.0.0.1/admin), puis cliquez sur "Configuration".

  • Naviguez dans les Filters, et ajoutez l'extension que vous souhaitez (souvent .php) dans le champ File extensions.

  • Dans la commande Filter, ajoutez le nom et le chemin de votre exécutable PHP i.e C:\php\php.exe pour PHP 4 ou C:\php\php-cgi.exe pour PHP 5.

  • Cliquez sur le bouton Save.

  • Redémarrez le serveur pour prendre en compte les modifications.

Sambar Server on Microsoft Windows
Compilation des sources
Installation sur les système Windows


Compilation des sources

Ce chapitre va vous apprendre à compiler PHP depuis les sources sous Windows, en utilisant les utilitaires Microsoft. Pour compiler PHP avec Cygwin, référez-vous à Installation sur les systèmes UNIX.

Reportez-vous à la documentation fournie par le wiki : » http://wiki.php.net/internals/windows/stepbystepbuild.

Installation Xitami sur Microsoft Windows
Installation des extensions sous Windows
Installation sur les système Windows


Installation des extensions sous Windows

Après avoir installé PHP et un serveur web sous Windows, vous devriez probablement vouloir installer quelques extensions pour avoir des fonctionnalités supplémentaires. Vous pouvez choisir quelles extensions seront chargées lors du démarrage de PHP en modifiant votre php.ini. Vous pouvez également en charger dynamiquement dans vos scripts à l'aide de la fonction dl().

Les bibliothèques DLLs pour les extensions PHP sont préfixées par php_.

Beaucoup d'extensions sont incluses dans la version pour Windows de PHP. Cela signifie que les bibliothèques DLL additionnelles et la directive extension ne sont pas utilisées pour charger ces extensions. La table des extensions PHP pour Windows liste les extensions qui requièrent des bibliothèques DLL additionnelles PHP. Voici une liste d'extensions internes :

En PHP 4 (mise à jour : PHP 4.3.11) : BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML et Zlib

En PHP 5 (mise à jour : PHP 5.0.4), les changements suivants existent. En interne : DOM, LibXML, Iconv, SimpleXML, SPL et SQLite Les suivants ne sont plus intégrés : MySQL and Overload.

Le dossier par défaut dans lequel PHP cherche des extensions est c:\php4\extensions en PHP 4 et c:\php5 en PHP 5. Pour changer ce comportement pour refléter votre installation de PHP, éditez votre fichier php.ini :

  • Vous devriez pouvoir changer le paramètre extension_dir pour pointer vers le dossier contenant vos extensions ou l'endroit où vous avez placé vos fichiers php_*.dll. Par exemple :

    extension_dir = c:\php\extensions

  • Pour activer ces extensions dans votre php.ini, vous devez décommenter les lignes extension=php_*.dll dans votre php.ini. Cela se fait en effaçant le point virgule (";") du début de la ligne que vous voulez activer.

    Exemple #1 Activer l'extension Bzip2 pour PHP-Windows

    // changez la ligne suivante :
;extension=php_bz2.dll

// En :
extension=php_bz2.dll

  • Quelques extensions ont besoin de bibliothèques DLLs supplémentaire pour fonctionner. La plupart d'entre elles peuvent être trouvées dans le paquet de votre distribution de PHP, dans le dossier c:\php\dlls\ en PHP 4 ou dans le dossier principal en PHP 5 mais quelques autres, comme Oracle (php_oci8.dll), requierent des DLLs qui ne sont pas fournies avec votre distribution de PHP. Si vous installez PHP 4, copiez les bibliothèques DLLs depuis le dossier C:\php\dlls vers le dossier principal C:\php. N'oubliez pas d'inclure le dossier C:\php dans la variable d'environnement PATH (ce processus est expliqué dans une entrée de la FAQ).

  • Quelques-unes de ces bibliothèques ne sont pas incluses dans la distribution de PHP. Lisez la documentation de chaque extension pour plus de détails. Lisez également la section du manuel nommée Installation d'extensions PECL pour plus de détails sur PECL. Un nombre toujours plus important d'extensions PHP se trouve dans PECL, et ces extensions nécessitent un téléchargement séparé.

Note: Si vous utilisez PHP en tant que module d'un serveur web, pensez à redémarrer votre serveur web pour charger les modifications apportées au fichier php.ini.

La table suivante décrit quelques extensions disponibles requérant des bibliothèques DLLs supplémentaires.

Extensions PHP
Extension | Description | Notes
php_bz2.dll | bzip2 : fonctions de compression | Non
php_calendar.dll | Calendar : fonctions de conversion | Intégrées à PHP depuis la version 4.0.3
php_crack.dll | Fonctions Crack | None
php_ctype.dll | Famille de fonctions ctype | Intégrées à PHP depuis la version 4.3.0
php_curl.dll | Fonctions de bibliothèque client CURL | Requiert : libeay32.dll, ssleay32.dll (intégré)
php_dba.dll | DBA: DataBase (dbm-style) Fonctions d'abstraction | Non
php_dbase.dll | Fonctions dBase | Non
php_dbx.dll | Fonctions dbx |
php_domxml.dll | Fonctions DOM XML | PHP <= 4.2.0 requiert : libxml2.dll (intégré) PHP >= 4.3.0 requiert : iconv.dll (intégré)
php_dotnet.dll | Fonctions .NET | PHP <= 4.1.1
php_exif.dll | Fonctions EXIF | php_mbstring.dll. Attention, php_exif.dll doit être chargé après php_mbstring.dll dans le php.ini.
php_fbsql.dll | Fonctions FrontBase | PHP <= 4.2.0
php_fdf.dll | FDF : fonctions Forms Data Format. | Requiert : fdftk.dll (intégré)
php_filepro.dll | Fonctions filePro | Accès en lecture seule
php_ftp.dll | Fonctions FTP | Intégrées à PHP depuis la version 4.0.3
php_gd.dll | GD : bibliothèque de fonctions image | Supprimer en PHP 4.3.2. Notez que les fonctions sur les couleurs vraies ne sont pas disponibles en GD1 ; utilisez plutôt php_gd2.dll.
php_gd2.dll | GD : Bibliothèque de fonctions image | GD2
php_gettext.dll | Fonctions Gettext | PHP <= 4.2.0 requiert gnu_gettext.dll (intégré), PHP >= 4.2.3 requiert libintl-1.dll, iconv.dll (intégré).
php_hyperwave.dll | Fonctions HyperWave | Non
php_iconv.dll | ICONV : conversion de jeux de caractères | Requiert : iconv-1.3.dll (intégré), PHP >=4.2.1 iconv.dll
php_ifx.dll | Fonctions Informix | Requiert : bibliothèque Informix
php_iisfunc.dll | Fonctions d'administration IIS | Non
php_imap.dll | IMAP : fonctions POP3 et NNTP | Non
php_ingres.dll | Fonctions Ingres | Requiert : bibliothèque Ingres
php_interbase.dll | Fonctions InterBase | Requiert : gds32.dll (intégré)
php_java.dll | Fonctions Java | PHP <= 4.0.6 requit : jvm.dll (intégré)
php_ldap.dll | Fonctions LDAP | PHP <= 4.2.0 requiert libsasl.dll (intégré), PHP >= 4.3.0 requiert libeay32.dll, ssleay32.dll (intégré)
php_mbstring.dll | Fonctions Chaînes multioctets | Non
php_mcrypt.dll | Fonctions Mcrypt Encryption | Requiert : libmcrypt.dll
php_mhash.dll | Fonctions Mhash | PHP >= 4.3.0 requiert : libmhash.dll (intégré)
php_mime_magic.dll | Fonctions Mimetype | Requiert : magic.mime (intégré)
php_ming.dll | Fonctions Ming pour Flash | Non
php_msql.dll | Fonctions mSQL | Requiert : msql.dll (intégré)
php_mssql.dll | Fonctions MSSQL | Requiert : ntwdblib.dll (intégré)
php_mysql.dll | Fonctions MySQL | PHP >= 5.0.0, requires libmysql.dll (intégré)
php_mysqli.dll | Fonctions MySQLi | PHP >= 5.0.0, requires libmysql.dll (libmysqli.dll en PHP <=5.0.2) (intégré)
php_oci8.dll | Fonctions Oracle 8 | Requiert : bibliothèque cliente Oracle 8.1+
php_openssl.dll | Fonctions OpenSSL | Requiert : libeay32.dll (intégré)
php_overload.dll | Fonctions Object overloading | Intégrée à PHP depuis la version 4.3.0
php_pdf.dll | Fonctions PDF | Non
php_pgsql.dll | Fonctions PostgreSQL | Non
php_printer.dll | Fonctions Printer | Non
php_shmop.dll | Fonctions de partage de mémoire | Non
php_snmp.dll | Fonctions SNMP | NT seulement !
php_soap.dll | Fonctions SOAP | PHP >= 5.0.0
php_sockets.dll | Fonctions Socket | Non
php_sybase_ct.dll | Fonctions Sybase | Requiert : bibliothèque cliente Sybase
php_tidy.dll | Fonctions Tidy | PHP >= 5.0.0
php_tokenizer.dll | Fonctions Tokenizer | Intégrées à PHP depuis la version 4.3.0
php_w32api.dll | Fonctions W32api | Non
php_xmlrpc.dll | Fonctions XML-RPC | PHP >= 4.2.1 requiert : iconv.dll (intégré)
php_xslt.dll | Fonctions XSLT | PHP <= 4.2.0 requiert sablot.dll, expat.dll (intégré). PHP >= 4.2.1 requiert sablot.dll, expat.dll et iconv.dll (intégré).
php_yaz.dll | Fonctions YAZ | Requiert : yaz.dll (intégré)
php_zip.dll | Fonctions Zip File | Accès en lecture seule
php_zlib.dll | Fonctions de compression ZLib | Intégrées à PHP depuis la version 4.3.0

Compilation des sources
Ligne de commande PHP sous Microsoft Windows
Installation sur les système Windows


Ligne de commande PHP sous Microsoft Windows

Cette section contient les notes et les astuces spécifiques à l'installation de PHP depuis la ligne de commande sous Windows.

Note: Vous devriez lire les étapes du manuel d'installation d'abord !

Faire fonctionner PHP depuis la ligne de commande peut être effectué sans aucune modification à Windows.

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

Mais il existe quelques étapes à suivre pour rendre ceci plus simple. La plupart de ces étapes ont déjà dû être faite, mais elles sont répétées ici pour fournir une séquence étape par étape complète.

  • Ajouter la localisation de l'exécutable PHP (php.exe, php-win.exe ou php-cli.exe suivant la version de PHP ainsi que les préférences d'affichage) à la variable d'environnement PATH. Vous trouverez plus d'informations concernant l'ajout du dossier PHP à la variable PATH dans l'entrée correspondante de la FAQ.

  • Ajouter l'extension .PHP à la variable d'environnement PATHEXT. Ceci peut être fait lors de la modification de la variable d'environnement PATH. Suivez les mêmes étapes que celles décrites dans la FAQ mais utilisez la variable PATHEXT au lieu de la variable d'environnement PATH.

    Note: La position à laquelle vous placez le .PHP déterminera le script ou le programme à exécuter lorsqu'un nom de fichier de cette forme sera trouvé. Par exemple, le fait de placer .PHP avant .BAT fera que votre script sera exécuté à la place du fichier batch, s'il y a un fichier batch avec le même nom.

  • Associer l'extension .PHP avec un type de fichier. Ceci peut être fait en exécutant la commande suivante :

    assoc .php=phpfile

  • Associer le type de fichier phpfile avec l'exécutable PHP approprié. Ceci peut être fait en exécutant la commande suivante :

    ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2

Ces étapes permettent aux scripts PHP d'être exécutés depuis n'importe quel répertoire, sans pour autant spécifier l'exécutable PHP ou l'extension .PHP, et tous les paramètres seront passés au script pour traitement.

L'exemple ci-dessous montre les modifications pouvant être faites manuellement au registre Windows.

Exemple #1 Modification du registre

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\PHP5\\php-win.exe0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"

Avec ces modifications, la même commande peut maintenant être écrite comme ceci :

"C:\PHP Scripts\script" -arg1 -arg2 -arg3
ou, si le chemin "C:\PHP Scripts" est présent dans la variable d'environnement PATH :
script -arg1 -arg2 -arg3

Note: Il y a un petit problème si vous tentez d'utiliser cette technique et qu'en même temps, vous utilisez votre script PHP comme filtre d'une commande, comme ceci :

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
ou
dir | script -arg1 -arg2 -arg3
Vous pourriez trouver que le script s'interrompt et que rien ne s'affiche. Afin de rendre ceci opérationnel, vous devez effectuer une nouvelle modification au registre Windows.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Plus d'informations concernant ce problème peuvent être trouvées dans » l'article de la base de connaissance Microsoft : 321788.

Installation des extensions sous Windows
Installation d'extensions PECL
Installation sur les système Windows


Installation d'extensions PECL

Sommaire

  • Introduction aux installations PECL
  • Télécharger des extensions PECL
  • Installer une extension PHP sous Windows
  • Compilation d'extensions PECL partagées avec la commande pecl
  • Compilation des extensions partagées avec phpize
  • Compilation des extensions PECL statiquement dans PHP
Ligne de commande PHP sous Microsoft Windows
Introduction aux installations PECL
Installation et configuration


Introduction aux installations PECL

» PECL est un dépôt d'extensions PHP qui sont disponibles via le système de paquet » PEAR. Cette section du manuel vous guide dans l'obtention et l'installation d'extensions PECL.

Ces instructions supposent que /your/phpsrcdir/ est le chemin jusqu'aux sources de la distribution PHP, et extname est le nom de votre extension PECL : adaptez les commandes qui suivent à votre situation. Ces instructions supposent aussi que vous êtes familier avec l'utilisation des » commandes pear. Les informations dans le manuel PEAR pour la commande pear sont également applicables à la commande pecl.

Pour être utilisée, une extension partagée doit être compilée, installée et chargée. Les méthodes décrites ci-dessous vous fournissent diverses instructions sur la façon de compiler et d'installer des extensions mais ne les chargent pas automatiquement. Les extensions peuvent être chargées en ajoutant une directive d'extension au fichier php.ini ou à l'aide de la fonction dl().

Lorsque vous compilez des modules PHP, il est important d'avoir les outils dans leurs versions appropriées, tels que autoconf, automake, libtool, etc. Voyez les » Instructions pour le SVN anonyme, afin de connaître les utilitaires nécessaires, et leurs versions.

Installation d'extensions PECL
Télécharger des extensions PECL
Installation d'extensions PECL


Télécharger des extensions PECL

Il existe plusieurs méthodes pour télécharger des extensions PECL :

    La commande pecl install extname télécharge le code des extensions automatiquement, ce qui évite de réaliser un téléchargement particulier.

  • » http://pecl.php.net/ Le site Web de PECL contient diverses informations sur les différentes extensions offertes par l'équipe de développement de PHP. Vous pourrez consulter les modifications entre les versions, les notes de versions, ce qui est requis pour faire fonctionner l'extension ainsi que d'autres détails similaires.
  • pecl download extname Les extensions PECL listées sur le site web de PECL sont disponibles et peuvent être téléchargées et installées en utilisant la » commande pecl. La version spécifique de l'extension peut également être spécifiée.
  • SVN La plupart des fichiers PECL sont conservés dans le serveur SVN. Une interface Web est disponible à » http://svn.php.net/viewvc/pecl/. Pour télécharger directement depuis SVN, suivez la séquence d'instructions ci-dessous :

    $ svn checkout http://svn.php.net/repository/pecl/extname/trunk extname

  • Téléchargements pour Windows Pour le moment, le projet PHP ne compile pas les binaires Windows pour les extensions PECL. Cepdendant, pour compiler PHP sous Windows, reportez-vous au chapitre intitulé Compiler PHP sous Windows.
Introduction aux installations PECL
Installer une extension PHP sous Windows
Installation d'extensions PECL


Installer une extension PHP sous Windows

Sur Windows, vous avez deux moyens de charger une extension PHP : soit vous la compilez dans PHP, soit vous chargez une DLL. Charger une extension précompilée est la méthode la plus pratique et la plus recommandée.

Pour charger une extension, vous devez disposer de son fichier ".dll" sur votre système. Toutes les extensions sont automatiquement et périodiquement compilée par le groupe PHP (voyez la section de téléchargements).

Pour compiler une extension dans PHP, reportez-vous à la documentation sur la compilation des sources.

Pour compiler une extension autonome, (c'est-à-dire un fichier DLL), reportez-vous documentation sur la compilation des sources. Si le fichier DLL est absent de votre distribution PHP et de PECL, il vous faudra la compiler avant de pouvoir l'utiliser.

Où trouver une extension ?

Les extensions PHP sont généralement appelées "php_*.dll" (où les astérisques représentent le nom de l'extension) et elles sont rangées dans le dossier "PHP\ext" ("PHP\extensions" en PHP4).

PHP est livré avec les extensions qui sont les plus utiles à la majorité des utilisateurs. Elles sont appelées des extensions coeur, ou "core".

Cependant, si vous avez besoins de fonctionnalités qui ne sont pas fournies par une extension coeur, vous pourriez quand même les trouver dans PECL. Le PHP Extension Community Library (PECL, aussi dit Bibliothèque d'Extensions Communautaires de PHP) est un dépôt de code pour les extensions PHP, qui fournit un annuaire de toutes les extensions connues, et un service d'hébergement pour télécharger et développer ces extensions.

Si vous avez développé une extension pour votre propre usage, vous pourriez avoir envie de l'héberger sur PECL, pour que tous ceux qui ont eu le même problème que vous, puissent avoir accès à la même solution. Cela vous donne de bonnes chances d'avoir des retours de la communauté, et, peut-être, des remerciements, des rapports de bugs, et même des correctifs. Avant que vous n'envoyez votre extension sur les serveurs PECL, il est recommandé de lire http://pecl.php.net/package-new.php.

Quelles extensions télécharger ?

Souvent, vous trouverez plusieurs versions de chaque DLL :

  • Différents numéros de versions (au moins, les deux premiers chiffres doivent être les mêmes)
  • Différentes configurations de sécurité de threads
  • Différentes architectures de processeurs (x86, x64...)
  • Différentes configurations de débogage
  • etc.

Il est recommandé de choisir les extensions pour qu'elles soient adaptées à la machine serveur sur laquelle vous utilisez PHP. Le script suivant va vous afficher toutes vos configurations PHP :

Exemple #1 Appel de la fonction phpinfo()

<?php
phpinfo();
?>

Ou bien, en ligne de commande :

drive:\\path\to\php\executable\php.exe -i

Charger une extension

Le moyen le plus courant pour charger une extension PHP est de l'inclure dans votre fichier de configuration php.ini. Notez que de nombreuses extensions sont déjà présentes dans le fichier php.ini et que vous avez simplement à supprimer le point-virgule pour les activer.

;extension=php_extname.dll

extension=php_extname.dll

Cependant, certains serveurs Web sont déroutants, car ils n'utilisent pas le fichier php.ini rangé avec votre exécutable PHP. Pour en savoir plus sur votre véritable php.ini, recherchez son dossier dans le fichier phpinfo():

Configuration File (php.ini) Path   C:\WINDOWS

Loaded Configuration File   C:\Program Files\PHP\5.2\php.ini

Après activation d'une extension, sauvegardez le fichier php.ini, et relancez le serveur Web, puis vérifiez à nouveau le fichier phpinfo(). La nouvelle extension devrait y avoir sa section.

Résolution de problèmes

Si l'extension n'apparaît pas dans le fichier phpinfo(), vous devriez jeter un oeil dans les logs pour savoir d'où vient le problème.

Si vous utilisez PHP en ligne de commande (CLI), l'erreur de chargement de l'extension devrait être lisible directement sur l'écran.

Si vous utilisez PHP sur un serveur Web, la position et le format des logs varient grandement d'un serveur à l'autre. Lisez la documentation de votre serveur Web pour savoir où ils sont : PHP ne peut pas vous aider pour cela.

Les problèmes les plus courants sont la localisation du fichier DLL, la valeur de la directive "extension_dir" dans le php.ini et les incohérences de compilations.

Si le problème est une incohérence de compilation, vous avez probablement téléchargé une mauvaise DLL. Essayez d'en charger une nouvelle, avec les bonnes configurations pour votre serveur. phpinfo() vous sera alors très utile.

Télécharger des extensions PECL
Compilation d'extensions PECL partagées avec la commande pecl
Installation d'extensions PECL


Compilation d'extensions PECL partagées avec la commande pecl

PECL facilite la création d'extension PHP partagées. En utilisant la » commande pecl, faites ceci :

$ pecl install extname

Ceci va télécharger le fichier source de l'extension extname, le compiler et installer le fichier extname.so dans votre dossier extension_dir. extname.so doit ensuite être chargé via php.ini.

Par défaut, la commande pecl n'installera pas les paquets marqués comme étant alpha ou beta. Si aucun paquet stable est disponible, vous devrez installer un paquet beta en utilisant la commande suivante :

$ pecl install extname-beta

Vous pouvez également installer une version spécifique en utilisant la commande :

$ pecl install extname-0.1

Note: Après avoir activée cette extension dans le php.ini, relancez le serveur Web afin de la prendre en compte.

Installer une extension PHP sous Windows
Compilation des extensions partagées avec phpize
Installation d'extensions PECL


Compilation des extensions partagées avec phpize

Parfois, l'utilisation de l'installeur pecl n'est pas une bonne option. Ceci parce que vous être derrière un pare-feu ou parce que l'extension que vous voulez installer n'est pas disponible en tant que paquet PECL comme une extension uniquement disponible via SVN. Si vous devez compiler une telle extension, vous pouvez utiliser l'utilitaire de compilation afin d'exécuter la compilation manuellement.

La commande phpize est utilisée pour préparer l'environnement de compilation pour une extension PHP. Dans l'exemple suivant, les sources de l'extension sont dans un dossier appelé extname :

$ cd extname
$ phpize
$ ./configure
$ make
# make install

Une installation réussie aura créé un fichier extname.so et l'aura placé dans le dossier des extensions de PHP. Vous devez ajouter la ligne extension=extname.so dans votre php.ini avant de pouvoir utiliser l'extension.

Si le système ne possède pas la commande phpize et que vous utilisez des paquets précompilés (comme des RPM), assurez-vous d'installer également la version de développement appropriée des paquets PHP car elle inclut également la commande phpize ainsi que les en-têtes appropriés pour construire PHP et ses extensions.

Exécutez la commande phpize --help pour afficher des informations d'utilisation supplémentaires.

Compilation d'extensions PECL partagées avec la commande pecl
Compilation des extensions PECL statiquement dans PHP
Installation d'extensions PECL


Compilation des extensions PECL statiquement dans PHP

Il peut arriver que vous ayez à compiler votre extension PECL statiquement dans votre binaire PHP. Pour ce faire, vous devez placer les sources de l'extension dans le dossier php-src/ext/ et exécuter à nouveau le script de configuration de PHP.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname
$ rm package.xml

Cela générera le dossier suivant :

/your/phpsrcdir/ext/extname

À partir de la, forcez PHP à reconstruire le script de configuration, puis, suivez le processus classique de compilation de PHP :

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Note: Pour exécuter le script 'buildconf', vous devez posséder autoconf 2.13 et automake 1.4+ (les versions plus récentes de autoconf peuvent fonctionner, mais ne sont pas supportées).

L'utilisation de --enable-extname ou --with-extname dépend de l'extension. Généralement, une extension qui ne dépend pas d'une bibliothèque externe utilise --enable. Pour être certain, utilisez la commande suivante après avoir utilisé buildconf :

$ ./configure --help | grep extname

Compilation des extensions partagées avec phpize
Des problèmes ?
Installation d'extensions PECL


Des problèmes ?

Sommaire

  • Lisez la FAQ
  • Autres problèmes
  • Rapports de Bogue
Compilation des extensions PECL statiquement dans PHP
Lisez la FAQ
Installation et configuration


Lisez la FAQ

Certains problèmes sont récurrents : les plus communs sont listés dans la FAQ PHP, disponible dans ce manuel.

Des problèmes ?
Autres problèmes
Des problèmes ?


Autres problèmes

Si vous êtes complètement bloqué, quelqu'un sur la liste de diffusion PHP pourra probablement vous aider. Essayez de consulter les archives, au cas où quelqu'un aurait déjà rencontré votre problème. Les archives sont toujours accessibles à : » http://www.php.net/support.php. Pour souscrire à la liste de diffusion, envoyez un mail vide à » php-install-subscribe@lists.php.net. L'adresse de la liste de diffusion est » php-install@lists.php.net.

Si vous voulez obtenir de l'aide sur la liste de diffusion PHP, essayez d'être concis et clair, et pensez à donner tous les détails sur votre environnement (OS, version de PHP, serveur Web, CGI ou module, safe mode, etc.), et n'hésitez pas à envoyer suffisamment de code pour que nous puissions reproduire et tester l'erreur.

Lisez la FAQ
Rapports de Bogue
Des problèmes ?


Rapports de Bogue

Si vous pensez avoir trouvé un bogue dans PHP, n'oubliez pas de le signaler. L'équipe de développement PHP ne le connaît peut être pas et, si vous ne le signalez pas, vos chances de voir le bogue corrigé sont nulles. Vous pouvez rapporter des bogues grâce au système de suivi, accessible à » http://bugs.php.net/. S'il vous plait, n'envoyez pas de rapports de bogue sur les listes de diffusion ou par courier personnel. Le système de suivi est de plus prévu pour permettre la proposition de nouvelles fonctionnalités.

Lisez le guide » Comment rapporter un bogue (Les bogues : ce qu'il faut faire, et ce qu'il ne faut pas faire) avant d'envoyer n'importe quel rapport !

Autres problèmes
Configuration
Des problèmes ?


Configuration

Sommaire

  • Le fichier de configuration
  • .user.ini files
  • Où une directive de configuration peut être modifiée
  • Comment modifier la configuration
Rapports de Bogue
Le fichier de configuration
Installation et configuration


Le fichier de configuration

Le fichier de configuration (php.ini) est lu par PHP au démarrage. Si vous avez compilé PHP en module, le fichier n'est lu qu'une seule fois, au lancement du serveur web. Pour les versions CGI et CLI le fichier est lu à chaque invocation.

Le php.ini est cherché dans ces endroits (et dans cet ordre) :

  • L'endroit spécifique du module SAPI (la directive PHPIniDir d'Apache 2, l'option de la ligne de commande -cen CGI et en CLI, le paramètre php_ini en NSAPI, la variable d'environnement PHP_INI_PATH en THTTPD)

  • La variable d'environnement PHPRC. Avant PHP 5.2.0, cette variable était récupérée après la clé de registre mentionnée ci-dessous.

  • Depuis PHP 5.2.0, l'endroit où se trouve le fichier php.ini peut être définis pour différentes versions de PHP. Les clés de registre suivantes sont cherchées dans cet ordre : [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] and [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], où x, y et z signifie les versions majeures, mineures et normales. S'il y a une valeur pour IniFilePath dans ces clés, la première trouvée sera utilisée comme endroit où se trouve le fichier php.ini (uniquement sous Windows).

  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], valeur de IniFilePath (uniquement sous Windows).

  • Le dossier courant de travail (sauf pour CLI)

  • Le dossier du serveur web (pour les modules SAPI), ou le dossier contenant PHP (autrement sous Windows)

  • Le dossier Windows (C:\windows ou C:\winnt) (pour Windows), ou l'option de compilation --with-config-file-path lors de la compilation

Si le fichier php-SAPI.ini existe (où SAPI utilise SAPI, donc le nom du fichier est e.g. php-cli.ini ou php-apache.ini), il sera utilisé à la place du php.ini. Le nom SAPI peut être déterminé en utilisant la fonction php_sapi_name().

Note: Le serveur web Apache change ce dossier en dossier root au démarrage, ce qui fait que PHP essaye de lire php.ini depuis le système de fichier racine s'il existe.

Les directives php.ini sont directement documentées, par extensions, sur les pages respectives du manuel de ces extensions. La liste des directives internes est disponible en annexe. Il est probable que toutes les directives PHP ne sont pas documentées dans le manuel. Pour une liste complète des directives disponibles dans votre version de PHP, merci de lire les commentaires de votre propre fichier php.ini. Vous pouvez également trouver la » dernière version du php.ini sur SVN.

Exemple #1 Extrait du php.ini

; tout texte sur une ligne, situé après un point-virgule ";" est ignoré
[php] ; les marqueurs de section (texte entre crochets) sont aussi ignorés
; Les valeurs booléennes peuvent être spécifiées comme ceci :
;    true, on, yes
; ou false, off, no, none
register_globals = off
track_errors = yes

; vous pouvez placer les chaînes de caractères entre guillemets
include_path = ".:/usr/local/lib/php"

; Les antislash sont traités comme n'importe quel caractère
include_path = ".;c:\php\lib"

Depuis PHP 5.1.0, il est possible de se référer à des variables .ini depuis des fichiers .ini. Par exemple : open_basedir = ${open_basedir} ":/new/dir".

Configuration
.user.ini files
Configuration


.user.ini files

Depuis PHP 5.3.0, PHP inclut le support des fichiers INI au style .htaccess sur une base par dossier. Ces fichiers sont analysés uniquement par le SAPI CGI/FastCGI. Cette fonctionnalité rend obsolète l'extension PECL htscanner. Si vous utilisez Apache, l'utilisation des fichiers .htaccess produit le même effet.

En plus du fichier php.ini principal, PHP analyse les fichiers INI contenu dans chaque dossier, en commençant par le dossier depuis lequel le fichier PHP courant est appelé, et parcours les dossiers jusqu'au dossier racine courant (tel que défini par la variable $_SERVER['DOCUMENT_ROOT']). Seuls les configurations INI avec les modes PHP_INI_PERDIR et PHP_INI_USER seront reconnues dans les fichiers INI .user.ini-style.

Deux nouvelles directives INI, user_ini.filename et user_ini.cache_ttl contrôlent l'utilisation des fichiers INI définis par l'utilisateur.

user_ini.filename définit le nom du fichier cherché par PHP dans chaque dossier ; si cette directive est définie à une chaîne vide, PHP n'analysera rien du tout. Par défaut, vaut .user.ini.

user_ini.cache_ttl contrôle la durée entre 2 re-lectures des fichiers INI définis par l'utilisateur. Par défaut, vaut 300 secondes (5 minutes).

Le fichier de configuration
Où une directive de configuration peut être modifiée
Configuration


Où une directive de configuration peut être modifiée

Ces modes déterminent quand et où une directive PHP peut ou ne peut pas être modifiée, et chaque directive du manuel est dirigée par un de ces modes. Par exemple, certaines directives peuvent être modifiées dans un script PHP avec la fonction ini_set(), alors que d'autres ont besoin d'être modifiées dans les fichiers php.ini ou httpd.conf.

Par exemple, la directive output_buffering a le mode PHP_INI_PERDIR alors elle ne peut pas être modifiée avec la fonction ini_set(). D'un autre coté, la directive display_errors a le mode PHP_INI_ALL, et peut être modifiée n'importe où, y compris avec la fonction ini_set().

Définition des modes PHP_INI_*
Mode | Valeur | Signification
PHP_INI_USER | 1 | La directive peut être modifiée dans un script utilisateur, avec la fonction ini_set(), ou via la base de registre Windows
PHP_INI_PERDIR | 6 | La directive peut être modifiée dans les fichiers php.ini, .htaccess ou httpd.conf
PHP_INI_SYSTEM | 4 | La directive peut être modifiée dans les fichiers php.ini ou httpd.conf
PHP_INI_ALL | 7 | La directive peut être modifiée n'importe où

.user.ini files
Comment modifier la configuration
Configuration


Comment modifier la configuration

Exécuter PHP comme module Apache

Lorsque vous utilisez le module Apache, vous pouvez aussi changer les paramètres de configuration en utilisant les directives dans les fichiers de configuration d'Apache (httpd.conf) et dans les fichiers .htaccess. Vous aurez besoin des privilèges "AllowOverride Options" ou "AllowOverride All".

Il y a de nombreuses directives Apache qui vous permettent de modifier la configuration de PHP à partir des fichiers de configuration Apache. Pour une liste des directives qui sont PHP_INI_ALL, PHP_INI_PERDIR ou PHP_INI_SYSTEM reportez-vous à l'annexe Liste des directives du php.ini.

php_value nom valeur

Modifie la valeur de la directive spécifiée. Cette instruction n'est utilisable qu'avec les directives PHP de type PHP_INI_ALL et PHP_INI_PERDIR. Pour annuler une valeur qui aurait été modifiée au préalable, utilisez la valeur none.

Note: N'utilisez pas php_value pour configurer des valeurs booléennes. php_flag (voir plus bas) doit être utilisée.

php_flag nom on|off

Cette instruction est utilisée pour activer ou désactiver une option. Cette instruction n'est utilisable qu'avec les directives PHP de type PHP_INI_ALL et PHP_INI_PERDIR.

php_admin_value nom valeur

Cette instruction affecte une valeur à la variable spécifiée. Cette instruction NE peut PAS être utilisée dans un fichier .htaccess. Toute directive de PHP configurée avec le type php_admin_value ne peut pas être modifiée en utilisant le fichier .htaccess ou la fonction ini_set(). Pour annuler une valeur qui aurait été modifiée au préalable, utilisez la valeur none.

php_admin_flag name on|off

Cette directive est utilisée pour activer ou désactiver une option. Cette instruction NE peut PAS être utilisée dans un fichier .htaccess. Toute directive de PHP configurée avec le type php_admin_flag ne peut pas être modifiée en utilisant le fichier .htaccess ou par la fonction ini_set().

Exemple #1 Exemple de configuration Apache

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>

Attention

Les constantes PHP n'existent pas en dehors de PHP. Par exemple, dans le fichier httpd.conf, vous ne pouvez pas utiliser des constantes PHP telles que E_ALL ou E_NOTICE pour spécifier le niveau de rapport d'erreur, car ces constantes n'ont pas de signification pour Apache, et seront remplacées par 0. Utilisez les valeurs numériques à la place. Les constantes peuvent être utilisées dans le php.ini

Modifier la configuration de PHP dans la base de registre Windows

Lorsque vous utilisez PHP sur Windows, la configuration peut être modifiée dossier par dossier en utilisant la base de registres de Windows. Les valeurs de configuration sont stockées avec la clé de registre HKLM\SOFTWARE\PHP\Per Directory Values, dans les sous-clés correspondantes aux noms de dossier. Par exemple, la valeur d'une option dans le dossier c:\inetpub\wwwroot sera stockée dans la clé HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. La valeur de cette option sera utilisée pour tous les scripts qui fonctionnent dans ce dossier ou ses sous-dossiers. Les valeurs sous la clé doivent avoir le nom d'une direction de configuration PHP, et la valeur correspondante. Les constantes PHP ne sont pas utilisables : il faut mettre la valeur entière. Cependant, seules les valeurs des configurations dans PHP_INI_USER peuvent être fixées de cette manière, celles dans PHP_INI_PERDIR ne peuvent l'être.

Autres interfaces de configuration de PHP

Suivant la façon dont vous exécutez PHP, vous pouvez changer certaines valeurs durant l'exécution de vos scripts en utilisant ini_set(). Voir la documentation de la fonction ini_set() pour plus d'informations.

Si vous êtes intéressé par une liste complète des options configurées sur votre système avec leurs valeurs courantes, vous pouvez exécuter la fonction phpinfo() et consulter la page résultante. Vous pouvez aussi accéder individuellement aux directives de configuration pendant l'exécution de vos scripts en utilisant soit la fonction ini_get(), soit la fonction get_cfg_var().

Où une directive de configuration peut être modifiée
Référence du langage
Configuration


Référence du langage

  • La syntaxe de base
    • Passer du HTML au PHP
    • Séparation des instructions
    • Commentaires
  • Les types
    • Introduction
    • Booléen
    • Les entiers
    • Nombres décimaux
    • Les chaînes de caractères
    • Les tableaux
    • Les objets
    • Les ressources
    • NULL
    • Variables et pseudo-types utilisés dans cette documentation
    • Manipulation des types
  • Les variables
    • Essentiel
    • Variables pré-définies
    • Portée des variables
    • Les variables dynamiques
    • Variables externes à PHP
  • Les constantes
    • Syntaxe
    • Constantes magiques
  • Les expressions
  • Les opérateurs
    • La précédence des opérateurs
    • Les opérateurs arithmétiques
    • Les opérateurs d'assignation
    • Opérateurs sur les bits
    • Opérateurs de comparaison
    • Opérateur de contrôle d'erreur
    • Opérateur d'exécution
    • Opérateurs d'incrémentation et décrémentation
    • Les opérateurs logiques
    • Opérateurs de chaînes
    • Opérateurs de tableaux
    • Opérateurs de types
  • Les structures de contrôle
    • Introduction
    • if
    • else
    • elseif/else if
    • Syntaxe alternative
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • Les fonctions
    • Les fonctions définies par l'utilisateur
    • Les arguments de fonction
    • Les valeurs de retour
    • Fonctions variables
    • Fonctions internes
    • Fonctions anonymes
  • Les classes et les objets
    • Introduction
    • Syntaxe de base
    • Propriétés
    • Constantes de classe
    • Auto-chargement de classes
    • Constructeurs et destructeurs
    • Visibilité
    • Héritage
    • L'opérateur de résolution de portée (::)
    • Statique
    • Abstraction de classes
    • Interfaces
    • Surcharge
    • Parcours d'objets
    • Masques
    • Méthodes magiques
    • Mot-clé "final"
    • Clonage d'objets
    • Comparaison d'objets
    • Typage objet
    • Late Static Bindings (Résolution statique à la volée)
    • Objets et références
    • Sérialisation d'objets
    • Modifications en POO (Programmation orientée objets)
  • Les espaces de noms
    • Introduction aux espaces de noms
    • Définition des espaces de noms
    • Déclaration d'un sous espace de noms
    • Définition de plusieurs espaces de noms dans le même fichier
    • Utilisation des espaces de noms : introduction
    • Espaces de noms et langage dynamique
    • La commande namespace et la constante __NAMESPACE__
    • Utilisation des espaces de noms : importation et alias
    • Espace de noms global
    • Utilisation des espaces de noms : retour à l'espace global
    • Règles de résolutions de noms
    • Foire aux questions : ce que vous devez savoir des espaces de noms
  • Les exceptions
    • Exceptions étendues
  • Les références
    • Qu'est ce qu'une référence ?
    • Que font les références ?
    • Ce que les références ne sont pas
    • Passage par référence
    • Retourner des références
    • Détruire une référence
    • Repérer une référence
  • Variables prédéfinies
    • Les Superglobales — Les Superglobales sont des variables internes qui sont toujours disponibles, quelque soit le contexte
    • $GLOBALS — Référence toutes les variables disponibles dans un contexte global
    • $_SERVER — Variables de serveur et d'exécution
    • $_GET — Variables HTTP GET
    • $_POST — Variables HTTP POST
    • $_FILES — Variable de téléchargement de fichier via HTTP
    • $_REQUEST — Variables de requête HTTP
    • $_SESSION — Variables de session
    • $_ENV — Variables d'environnement
    • $_COOKIE — Cookies HTTP
    • $php_errormsg — Le dernier message d'erreur
    • $HTTP_RAW_POST_DATA — Données POST brutes
    • $http_response_header — En-têtes de réponse HTTP
    • $argc — Le nombre d'arguments passé au script
    • $argv — Tableau d'arguments passé au script
  • Exceptions prédéfinies
    • Exception
    • ErrorException
  • Interfaces prédéfinies
    • Traversable — L'interface Traversable
    • Iterator — L'interface Iterator
    • IteratorAggregate — L'interface IteratorAggregate
    • ArrayAccess — L'interface ArrayAccess
    • Serializable — L'interface Serializable
  • Options et paramètres de contexte
    • Options de contexte des sockets — Liste des options de contexte des sockets
    • Options de contexte HTTP — Liste des options de contexte HTTP
    • Options de contexte FTP — Liste des options de contexte FTP
    • Options de contexte SSL — Liste des options de contexte SSL
    • Options de contexte CURL — Liste des options de contexte CURL
    • Les options du contexte Phar — Liste des options du contexte Phar
    • Paramètres de contexte — Liste des paramètres de contexte
Comment modifier la configuration
La syntaxe de base
Manuel PHP


La syntaxe de base

Sommaire

  • Passer du HTML au PHP
  • Séparation des instructions
  • Commentaires
Référence du langage
Passer du HTML au PHP
Référence du langage


Passer du HTML au PHP

Lorsque PHP traite un fichier, il cherche les balises d'ouverture et de fermeture, qui délimitent le code qu'il doit interpréter. De cette manière, cela permet à PHP d'être intégré dans toutes sortes de documents, car tout ce qui se trouve en dehors des balises ouvrantes / fermantes de PHP est ignoré. La plupart du temps, vous verrez du code PHP dans des documents HTML, comme dans l'exemple ci-dessous.

Exemple #1 Code PHP dans un document HTML

<p>Ceci sera ignoré.</p>
<?php echo 'Alors que ceci sera analysé par PHP.'; ?>
<p>Ceci sera également ignoré.</p>

Vous pouvez également utiliser des structures plus avancées :

Exemple #2 Protections avancées

<?php
if ($expression) {
    ?>
    <strong>Ceci est vrai.</strong>
    <?php
} else {
    ?>
    <strong>Ceci est faux.</strong>
    <?php
}
?>
Ceci fonctionne comme prévu parce que lorsque PHP rencontre la balise fermante ?>, il commence simplement à afficher ce qu'il rencontre (mise à part s'il est immédiatement suivi d'une nouvelle ligne : voir l'instruction de séparation) jusqu'à ce qu'il rencontre une autre balise ouvrante. L'exemple ci-dessus est simple, bien sûr, mais pour afficher de gros blocs de texte, la mise à l'écart de ce type de bloc de l'analyseur de PHP est plus efficace que d'envoyer la totalité du texte en utilisant les fonctions echo() ou print().

Il y a quatre paires différentes de balises ouvrantes / fermantes qui peuvent être utilisées dans PHP. Deux de ces balises, <?php ?> et <script language="php"> </script>, sont toujours disponibles. Les deux autres sont les balises courtes et les balises du style ASP, et peuvent être activées ou désactivées depuis le fichier de configuration php.ini. Cependant, malgré le fait que des personnes trouvent les balises courtes et les balises du style ASP pratiques, elles sont moins portables et donc, généralement, non recommandées.

Note: Notez également que si vous intégrez PHP dans des documents XML ou XHTML, vous devez utiliser les balises <?php ?> pour rester conforme aux standards.

Exemple #3 Balises d'ouvertures et de fermetures PHP

1.  <?php echo 'Si vous voulez réaliser des documents XHTML ou XML, faites comme ceci'; ?>

2.  <script language="php">
        echo 'quelques éditeurs (comme FrontPage)
                 n\'aiment pas ce genre d\'instructions';
    </script>

3.  <? echo 'ceci est le plus simple, une instruction SGML'; ?>
    <?= expression ?> Ceci est la version courte pour "<? echo expression ?>"

4.  <% echo 'Vous pouvez optionnellement utiliser les balises ASP-style'; %>
    <%= $variable; # Ceci est la version courte pour "<% echo . . ." %>

Bien que les balises vues dans les exemples un et deux sont toutes les deux disponibles, l'exemple un est le plus communément utilisé et le plus recommandé des deux.

Les balises courtes (troisième exemple) ne sont disponibles que s'elles ont été activées via la directive short_open_tag du fichier de configuration php.ini, ou si PHP a été configuré avec l'option --enable-short-tags.

Les balises du style ASP (quatrième exemple) sont uniquement disponibles lorsqu'elles sont activées via la directive asp_tags du fichier de configuration php.ini.

Note: L'utilisation des balises courtes doit être bannie lors de développements d'applications ou de bibliothèques qui sont destinées à être redistribuées, ou déployées sur des serveurs qui ne sont pas sous votre contrôle, car les balises courtes peuvent ne pas être supportées sur le serveur cible. Pour réaliser du code portable, qui peut être redistribué, n'utilisez jamais les balises courtes.

Note: En PHP 5.2 et antérieures, l'analyseur n'autorisait pas un tag ouvrant <?php comme seul élément d'une page. Ceci est permis à compter de la version 5.3 de PHP.

La syntaxe de base
Séparation des instructions
La syntaxe de base


Séparation des instructions

Comme en C ou en Perl, PHP requiert que les instructions soient terminées par un point-virgule à la fin de chaque instruction. La balise fermante d'un bloc de code PHP implique automatiquement un point-virgule ; vous n'avez donc pas besoin d'utiliser un point-virgule pour terminer la dernière ligne d'un bloc PHP. La balise fermante d'un bloc inclura immédiatement un caractère de nouvelle ligne si un est présent.

Exemple #1 Séparation des instructions

<?php
    echo 'Ceci est un test';
?>

<?php echo 'Ceci est un test' ?>

<?php echo 'Oubli de la balise fermante';

Note: La balise fermante d'un bloc PHP à la fin d'un fichier est optionnelle, et parfois, il est utile de l'omettre lors de l'utilisation de la fonction include() ou de la fonction require(), car les espaces non désirés n'apparaîtront pas à la fin des fichiers, et ainsi, vous pourrez toujours ajouter des en-têtes à la réponse plus tard. C'est utile également si vous voulez utiliser l'affichage du buffer et que vous ne voulez pas voir d'espaces blancs ajoutés à la fin des parties générées par les fichiers inclus.

Passer du HTML au PHP
Commentaires
La syntaxe de base


Commentaires

PHP supporte les commentaires de type C, C++ et Shell Unix (aussi appelé style Perl). Par exemple :

Exemple #1 Exemple de commentaire

<?php
    echo 'Ceci est un test'; // Ceci est un commentaire sur une seule ligne, style c++
    /* Ceci est un commentaire sur
       plusieurs lignes */
    echo 'Ceci est un autre test';
    echo 'Et un test final'; # Ceci est un commentaire style shell sur une seule ligne
?>

Les commentaires sur une seule ligne ne commentent que jusqu'à la fin de la ligne du bloc PHP courant. Ceci signifie que le code HTML après // ... ?> ou après # ... ?> SERA affiché : ?> terminera le mode PHP et retournera en mode HTML, et // ou # n'influencera pas cela. Si la directive de configuration asp_tags est activée, ce comportement sera identique avec // %> et # %>. Cependant, la balise </script> ne terminera pas le mode PHP dans un commentaire d'une seule ligne.

Exemple #2 Les commentaires vont jusqu'à la fin de la ligne

<h1>Ceci est un exemple <?php # echo 'simple';?>.</h1>
<p>La ligne ci-dessus affichera 'Ceci est un exemple'.</p>

Les commentaires style 'C' commentent jusqu'à ce que le premier */ soit rencontré. Vous devriez faire attention aux commentaires style 'C' nichés dans de gros blocs lorsque vous les commentez.

Exemple #3 Les commentaires de type C

<?php
 /*
    echo 'Ceci est un test'; /* Ce commentaire posera un problème */
 */
?>

Séparation des instructions
Les types
La syntaxe de base


Les types

Sommaire

  • Introduction
  • Booléen
  • Les entiers
  • Nombres décimaux
  • Les chaînes de caractères
  • Les tableaux
  • Les objets
  • Les ressources
  • NULL
  • Variables et pseudo-types utilisés dans cette documentation
  • Manipulation des types
Commentaires
Introduction
Référence du langage


Introduction

PHP supporte 8 types basiques.

4 types scalaires :

  • boolean
  • integer
  • float (nombre à virgule flottante, i.e. double )
  • string

2 types composés :

  • array
  • object

Et finalement, 2 types spéciaux :

  • resource
  • NULL

Ce manuel introduit également quelques pseudo-types pour des raisons de lisibilité :

  • mixed
  • number
  • callback

Et la pseudo-variable $....

Ce manuel peut toutefois contenir des références au type "double". Considérez ce type comme étant un type "float". Les deux noms n'existent que pour des raisons historiques.

Le type d'une variable n'est pas toujours défini par le programmeur ; il peut être défini par PHP au moment de l'exécution, suivant le contexte dans lequel la variable est utilisée.

Note: Pour vérifier le type et la valeur d'une expression, utilisez la fonction var_dump(). Pour afficher une représentation humainement lisible d'un type aux fins de déboguage, utilisez la fonction gettype(). Pour vérifier un certain type, n'utilisez pas la fonction gettype(), mais plutôt les fonctions is_type. Voici quelques exemples :

<?php
$a_bool = TRUE;   // un booléen
$a_str  = "foo";  // une chaîne de caractères
$a_str2 = 'foo';  // une chaîne de caractères
$an_int = 12;     // un entier

echo gettype($a_bool); // affiche :  boolean
echo gettype($a_str);  // affiche :  string

// Si c'est un entier, incrément de 4
if (is_int($an_int)) {
    $an_int += 4;
}

// Si $bool est une chaîne de caractères, on l'affiche
if (is_string($a_bool)) {
    echo "String: $a_bool";
}
?>

Pour forcer la conversion d'une variable en un certain type, vous pouvez transtyper (cast) la variable ou utiliser la fonction settype().

Notez qu'une variable peut être évaluée avec différentes valeurs dans certaines situations, suivant son type à un moment donné. Pour plus d'informations, lisez la section sur le transtypage. La table de comparaison des types peut également être très utile, montrant différents exemples.

Les types
Booléen
Les types


Booléen

C'est le type le plus simple. Un booléen représente une valeur de vérité. Il peut valoir TRUE ou FALSE.

Note: Le type booléen a été introduit en PHP 4.

Syntaxe

Pour spécifier un booléen littéral, utilisez le mot clé TRUE ou FALSE. Les deux sont insensibles à la casse.

<?php
$foo = True; // assigne la valeur TRUE à $foo
?>

Typiquement, voici quelques opérateurs qui retournent un booléen , passé ensuite à une structure de contrôle.

<?php
// == est un opérateur qui teste
// l'égalité et retourne un booléen
if ($action == "show_version") {
    echo "La version est 1.23";
}

// ceci n'est pas nécessaire...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// ...à la place, vous pouvez utiliser :
if ($show_separators) {
    echo "<hr>\n";
}
?>

Conversion en booléen

Pour convertir explicitement une valeur en booléen , utilisez (bool) ou (boolean). Cependant, dans la plupart des cas, le transtypage n'est pas nécessaire, sachant qu'une valeur sera automatiquement convertie si un opérateur, une fonction ou une structure de contrôle demandent un argument de type booléen .

Voir aussi le transtypage.

Lors d'une conversion en booléen , les valeurs suivantes sont considérées comme FALSE :

  • le booléen FALSE, lui-même
  • l'entier 0 (zéro)
  • le nombre à virgule flottante 0.0 (zéro)
  • la chaîne vide, et la chaîne "0"
  • un tableau avec aucun élément
  • un objet avec aucun membre, ni variable (uniquement en PHP 4)
  • le type spécial NULL (incluant les variables non définies)
  • les objets SimpleXML créés depuis des drapeaux vides

Toutes les autres valeurs sont considérées comme TRUE (y compris toutes les ressources).

Avertissement

-1 est considéré comme TRUE, comme tous les nombres différents de zéro (négatifs ou positifs) !

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
Introduction
Les entiers
Les types


Les entiers

Un entier est un nombre appartenant à la classe Z = {..., -2, -1, 0, 1, 2, ...}.

Voir aussi :

  • Les entiers de longueur arbitraire / GMP
  • Les nombres à virgule flottante
  • Les précisions arbitraires / BCMath

Syntaxe

Les entiers peuvent être spécifiés en notation décimale (base 10), hexadécimale (base 16), ou octale (base 8), optionnellement précédée d'un signe (- ou +).

Pour utiliser la notation octale, précédez le nombre d'un 0 (zéro). Pour utiliser la notation hexadécimale, précédez le nombre d'un 0x.

Exemple #1 Les entiers littéraux

<?php
$a = 1234; // un nombre décimal
$a = -123; // un nombre négatif
$a = 0123; // un nombre octal (équivalent à 83 décimales)
$a = 0x1A; // un nombre héxadecimal (équivalent à 26 décimales)
?>

Formellement, la structure d'un entier littéral est :

decimal     : [1-9][0-9]*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+

octal       : 0[0-7]+

integer     : [+-]?decimal
            | [+-]?hexadecimal
            | [+-]?octal

La taille d'un entier est dépendant de la plate-forme, cependant, une valeur maximale d'environ 2 milliards est habituelle (cela correspond à 32 bits signés). Les plateformes 64-bit ont habituellement une valeur maximale d'environ 9E18. PHP ne supporte pas les entiers non-signés. La taille d'un entier peut être déterminée en utilisant la constante PHP_INT_SIZE, et la valeur maximale, en utilisant la constante PHP_INT_MAX depuis PHP 4.4.0 et PHP 5.0.5.

Avertissement

Si un nombre invalide est fourni dans un entier octal (i.e. 8 ou 9), le reste du nombre est ignoré.

Exemple #2 Bizarrerie avec les octales

<?php
var_dump(01090); // 010 octal = 8 décimales
?>

Débordement d'entier

Si PHP rencontre un nombre supérieur au maximal d'un entier, il sera interprété comme un nombre décimal. De la même façon, une opération qui résulte en un nombre supérieur au nombre maximal d'un entier, retournera un nombre décimal.

Exemple #3 Dépassement d'entier sur un système 32-bit

<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)

$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>

Exemple #4 Dépassement d'entier sur un système 64-bit

<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)

$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

Il n'y a pas d'opérateur de division entière en PHP. 1/2 contient en fait, float (0.5). La valeur peut être convertie en un entier en l'arrondissant, en utilisant la fonction round().

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Conversion en entier

Pour convertir explicitement une valeur en un entier, utilisez soit le mot clé (int), soit (integer). Cependant, dans la plupart des cas, ce mot clé n'est pas nécessaire vu qu'une valeur sera automatiquement convertie si un opérateur, une fonction ou une structure de contrôle demande un entier en guise d'argument. Une valeur peut également être convertie en un entier en utilisant la fonction intval().

Voir aussi : le transtypage.

Depuis un booléen

FALSE correspond à 0 (zéro), et TRUE correspond à 1 (un).

Depuis un nombre à virgule flottante

Lorsque l'on convertit un nombre décimal en un entier, le nombre sera arrondi vers zéro.

Si le nombre à virgule flottante est au delà des limites des entiers (habituellement, +/- 2.15e+9 = 2^31 sur les plate-formes 32-bit et +/- 9.22e+18 = 2^63 sur les plate-formes 64-bit), le résultat sera indéfini, sachant que le nombre à virgule flottante n'a pas une précision suffisante pour donner un résultat entier exact. Aucune alerte n'est émise lorsque ce comportement survient !

Avertissement

Ne convertissez jamais une fraction inconnue en un entier, ceci peut engendrer un résultat inattendu.

<?php
echo (int) ( (0.1+0.7) * 10 ); // Affiche 7 !
?>

Voir aussi la section sur les alertes concernant la précision des nombres à virgule flottante.

Depuis des chaînes de caractères

Voir la section sur la conversion des chaînes en nombres

Depuis d'autres types

Attention

Le comportement de la conversion en un entier est indéfini depuis les autres types. Ne rapporter aucun comportement observé, sachant qu'ils peuvent changer sans avertissement.

Booléen
Nombres décimaux
Les types


Nombres décimaux

Les nombres décimaux, (aussi connus comme nombres à virgule flottante, "floats", "doubles", ou "real numbers") peuvent être spécifiés en utilisant les syntaxes suivantes :

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>

Formellement :

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

La taille d'un nombre décimal est dépendant de la plate-forme, cependant, un nombre maximal de ~1.8e308 avec une précision sur 14 chiffres est une valeur commune (format 64 bits IEEE).

Avertissement

Précision des nombres décimaux

Typiquement, une simple fraction décimale comme 0.1 ou 0.7 ne peut être convertie en sa représentation binaire interne sans perte de précision. Ceci peut porter à confusion : par exemple, floor((0.1+0.7)*10) retournera 7 au lieu de 8 comme cela pourrait se prévoir, car la représentation interne serait quelque chose comme 7.9.

Ceci est dû au fait qu'il est impossible d'exprimer quelques fractions en une notation décimale avec une infinité de chiffres. Actuellement, 1/3, en décimal, devient 0.3.

Ainsi, ne faites jamais confiance aux derniers chiffres d'un nombre décimal, mais aussi, ne comparez jamais l'égalité de 2 nombres décimaux. Si vous avez besoin d'une haute précision, les fonctions mathématiques de précision et les fonctions gmp sont disponibles.

Conversion en un nombre décimal

Pour plus d'informations sur la conversion de chaînes en nombres décimaux , voir la section sur la conversion de chaînes en nombres décimaux. Pour les valeurs d'autres types, la conversion est effectuée en convertissant tout d'abord la valeur en un entier, puis, en nombre décimal. Voir la section sur la conversion en entier pour plus d'informations. Depuis PHP 5, une notice est émise si un objet est converti en nombre décimal.

Les entiers
Les chaînes de caractères
Les types


Les chaînes de caractères

Une chaîne de caractères est une série de caractères et un caractère est la même chose qu'un octet. Ainsi, il y a exactement 256 caractères différents. Ceci impliquait également que PHP n'avait pas de support natif pour l'Unicode. Voir les fonctions utf8_encode() et utf8_decode() pour des fonctionnalités Unicode simples.

Note: Ce n'est pas un problème pour une chaîne de caractères de devenir très grande. PHP n'impose pas de taille à une chaîne de caractères ; la seule limite est la mémoire disponible sur le système sous lequel PHP s'exécute.

Syntaxe

Une chaîne de caractères littérale peut être spécifiée de 4 façons différentes :

  • Entourée de guillemets simples
  • Entourée de guillemets doubles
  • syntaxe Heredoc
  • syntaxe Nowdoc (depuis PHP 5.3.0)

Entourée de simples guillemets

La façon la plus simple de spécifier une chaîne de caractères est de l'entourer de guillemets simples (le caractère ').

Pour spécifier un guillemet simple littéral, vous devrez l'échapper d'un antislash (\). Pour spécifier un antislash littéral avant un guillemet simple, ou à la fin d'une chaîne de caractères, échappez-le deux fois (\\). Notez que si vous tentez d'échapper n'importe quel autre caractère, l'antislash s'affichera.

Note: Contrairement aux 3 autres syntaxes, les variables et les séquences échappées des caractères spéciaux ne seront pas traitées lorsqu'elles seront dans une chaîne de caractères entourée de simples guillemets.

<?php
echo 'ceci est une chaîne simple';

echo 'Vous pouvez également ajouter des nouvelles lignes
dans vos chaînes
de cette façon';

// Affiche : Arnold dit : "I'll be back"
echo 'Arnold dit : "I\'ll be back"';

// Affiche : Voulez-vous supprimer C:\*.*?
echo 'Voulez-vous supprimer C:\\*.*?';

// Affiche : Voulez-vous supprimer C:\*.*?
echo 'Voulez-vous supprimer C:\*.*?';

// Affiche : Ceci n'affichera pas \n de nouvelle ligne
echo 'Ceci n\'affichera pas \n de nouvelle ligne';

// Affiche : Les variables ne seront pas $traitees $ici
echo 'Les variables ne seront pas $traitees $ici';
?>

Entourée de guillemets doubles

Si la chaîne de caractères est entourée de guillemets doubles ("), PHP interprétera plus de séquences échappées pour les caractères spéciaux :

Caractères échappés
Séquence | Signification
\n | Fin de ligne (LF ou 0x0A (10) en ASCII)
\r | Retour à la ligne (CR ou 0x0D (13) en ASCII)
\t | Tabulation horizontale (HT or 0x09 (9) en ASCII)
\v | Tabulation verticale (VT or 0x0B (11) en ASCII) (depuis PHP 5.2.5)
\f | Saut de page (FF ou 0x0C (12) en ASCII) (depuis PHP 5.2.5)
\\ | Antislash
\$ | Signe dollar
\" | Guillemet double
\[0-7]{1,3} | La séquence de caractères correspondant à une expression régulière est un caractère, en notation octal
\x[0-9A-Fa-f]{1,2} | La séquence de caractères correspondant à une expression régulière est un caractère, en notation hexadécimale

De la même façon que pour les chaînes entourées de simples guillemets, l'échappement de tout autre caractère affichera l'antislash. Avant PHP 5.1.1, l'antislash de \{$var} n'était pas affiché.

La fonctionnalité la plus intéressante des chaînes entourées de guillemets doubles est que les noms de variables sont traités. Voir la documentation sur l'analyse des chaînes de caractères pour plus de détails.

Syntaxe Heredoc

Une 3ème façon de délimiter une chaîne de caractères est la syntaxe Heredoc : <<<. Après cet opérateur, un identifiant est fourni, puis, une nouvelle ligne. La chaîne elle-même suit, puis, le même identifiant pour fermer la notation.

L'identifiant doit commencer la première colonne de la ligne. De plus, l'identifiant doit suivre les mêmes règles que n'importe quel libellé PHP : il ne doit contenir que des caractères alphanumériques et des soulignés, et doit commencer par un caractère non numérique ou un souligné ("underscore").

Avertissement

Il est très important de noter que la ligne contenant l'identifiant ne doit contenir aucun autre caractère, mis à part, éventuellement, un point-virgule (;). Cela signifie que l'identifiant ne doit pas être indenté, et il ne doit y avoir aucun espace ou tabulation avant ou après le point-virgule. Il est également important de garder à l'esprit que le premier caractère avant l'identifiant de fermeture doit être une nouvelle ligne sur les systèmes Unix, incluant Mac OSX (caractère \n). Le délimiteur de fermeture (pouvant être suivi d'un point-virgule) doit aussi être suivi d'une nouvelle ligne.

Si cette règle n'est pas respectée et que l'identifiant de fermeture n'est pas "propre", il ne sera pas considéré comme identifiant de fermeture, et PHP continuera à en chercher un. Si un identifiant de fermeture "propre" n'est pas trouvé avant la fin du fichier courant, une erreur d'analyse sera émise à la dernière ligne.

Heredoc ne peut être utilisé pour initialiser les proriétés d'une classe. Depuis PHP 5.3, cette limitation ne s'applique qu'aux Heredoc qui contiennent des variables.

Exemple #1 Exemple invalide

<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}
?>

Heredoc se comporte exactement comme une chaîne entourée de doubles guillemets, sans avoir de double guillemet. Cela signifie que les guillemets dans une syntaxe Heredoc n'ont pas besoin d'être échappés, mais les codes d'échappement listés ci-dessus peuvent toujours être utilisés. Les variables seront traitées mais les mêmes attentions doivent être prises lorsque vous utilisez des variables complexes dans une syntaxe Heredoc.

Exemple #2 Exemple de chaînes Heredoc

<?php
$str = <<<EOD
Exemple de chaîne
sur plusieurs lignes
en utilisant la syntaxe Heredoc.
EOD;

/* Exemple plus complexe, avec des variables. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MyName';

echo <<<EOT
Mon nom est "$name". J'affiche quelques $foo->foo.
Maintenant, j'affiche quelques {$foo->bar[1]}.
Et ceci devrait afficher un 'A': \x41
EOT;
?>

L'exemple ci-dessus va afficher :

Mon nom est "MyName". J'affiche quelques Foo.
Maintenant, j'affiche quelques Bar2.
Et ceci devrait afficher un 'A' majuscule : A

Il est aussi possible d'utiliser la syntaxe Heredoc pour passer des arguments à une fonction :

Exemple #3 Exemple d'utilisation de Heredoc pour passer des arguments

<?php
var_dump(array(<<<EOD
foobar!
EOD
));

Depuis PHP 5.3.0, il est possible d'initialiser les variables statiques et les propriétés ou constantes de classes avec la syntaxe Heredoc :

Exemple #4 Utilisation de Heredoc pour initialiser des valeurs statiques

<?php
// Variables statiques
function foo()
{
    static $bar = <<<LABEL
Nothing in here...
LABEL;
}

// Constantes et propriétés de classe
class foo
{
    const BAR = <<<FOOBAR
Constant example
FOOBAR;

    public $baz = <<<FOOBAR
Property example
FOOBAR;
}
?>

PHP 5.3.0 introduit aussi la possibilité pour Heredoc d'utiliser les guillemets doubles dans les déclarations :

Exemple #5 Utilisation des guillemets doubles avec Heredoc

<?php
echo <<<"FOOBAR"
Hello World!
FOOBAR;
>

Note: Le support de la syntaxe Heredoc a été ajouté en PHP 4.

Nowdoc

Nowdoc est aux chaînes entourées de guillemets simples ce qu'Heredoc est aux chaînes entourées de guillemets doubles. Nowdoc est spécifié de manière similaire à Heredoc, mais aucune analyse n'est effectuée dans une syntaxe Nowdoc. La construction est idéale pour embarquer du code PHP ou d'autres larges blocs de texte, sans avoir besoin d'échapper quoi que ce soit. Cette syntaxe partage les mêmes fonctionnalités que le constructeur SGML <![CDATA[ ]]>, en ce qu'elle déclare un bloc de texte qui ne doit pas être analysé.

Nowdoc est identifié avec la même séquence <<< utilisée par Heredoc, mais l'identifiant qui suit est entouré de guillemets simples, e.g. <<<'EOT'. Toutes les règles concernant les identifiants Heredoc sont également appliquées aux identifiants Nowdoc, et tout spécialement, celles concernant l'apparence de l'identifiant.

Exemple #6 Exemple de chaînes Nowdoc

<?php
$str = <<<'EOD'
Exemple de chaîne
sur plusieurs lignes
en utilisant la syntaxe Nowdoc.
EOD;

/* Exemple complexe, avec des variables. */
class foo
{
    public $foo;
    public $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MyName';

echo <<<'EOT'
Mom nom est "$name". J'affiche quelques $foo->foo.
Maintenant, j'affiche quelques {$foo->bar[1]}.
Ceci ne devrait pas afficher un 'A': \x41
EOT;
?>

L'exemple ci-dessus va afficher :

Mom nom est "$name". J'affiche quelques $foo->foo.
Maintenant, j'affiche quelques {$foo->bar[1]}.
Ceci ne devrait pas afficher un 'A': \x41

Note: Contrairement à Heredoc, NowDoc peut être utilisé dans n'importe quel contexte de données statiques. L'exemple typique est l'initialisation de proriétés ou de constantes de classe :

Exemple #7 Exemple avec des données statiques

<?php
class foo {
    public $bar = <<<'EOT'
bar
EOT;
}
?>

Note: Le support Nowdoc a été ajouté en PHP 5.3.0.

Analyse des variables

Lorsqu'une chaîne de caractères est spécifiée entre guillemets doubles ou en Heredoc, les variables sont analysées.

Il y a 2 types de syntaxe : une simple et une complexe. La syntaxe simple est la plus commune et la plus pratique. Elle fournit une façon d'embarquer une variable, un tableau ou un objet dans une chaîne avec un minimum d'effort.

La syntaxe complexe a été introduite en PHP 4, et se reconnaît en l'utilisation d'accolades autour de l'expression.

Syntaxe simple

Si un signe dollar ($) est rencontré, l'analyse prendra autant de caractères que possible pour former un nom de variable valide. Si vous entourez un nom de variable par des accolades explicitement, alors le nom de la variable n'aura aucune ambiguïté.

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // fonctionne ; "'" est un caractère invalide pour les noms de variable
echo "He drank some $beers";   // ne fonctionne pas ; 's' est un caractère valide dans un nom de variable et la variable est en fait "$beer"
echo "He drank some ${beer}s"; // fonctionne
echo "He drank some {$beer}s"; // fonctionne
?>

De la même façon, l'index d'un tableau ou la propriété d'un objet peut être analysé. Avec les indices d'un tableau, les crochets (]) forment la fin de l'index. Les mêmes règles sont appliquées aux propriétés d'objet comme pour les simples variables.

<?php
// Ces exemples sont spécifiques à l'utilisation des tableaux dans des chaînes.
// Lorsqu'ils sont à l'extérieur d'une chaîne, quottez toujours les chaînes représentant
// les clés du tableau et n'utilisez pas d'{accolades}.

// Montre toutes les erreurs
error_reporting(E_ALL);

$fruits = array('strawberry' => 'red', 'banana' => 'yellow');

// Fonctionne, mais notez que cela fonctionne différemment à l'extérieur d'une chaîne
echo "A banana is $fruits[banana].";

// Fonctionne
echo "A banana is {$fruits['banana']}.";

// Fonctionne, mais PHP cherche une constante nommée banana en premier, tel que décrit ci-dessous
echo "A banana is {$fruits[banana]}.";

// Ne fonctionne pas, utilisez des accolades. Ceci produira une erreur d'analyse.
echo "A banana is $fruits['banana'].";

// Fonctionne
echo "A banana is " . $fruits['banana'] . ".";

// Fonctionne
echo "This square is $square->width meters broad.";

// Ne fonctionne pas. Pour une solution, reportez-vous à la syntaxe complexe.
echo "This square is $square->width00 centimeters broad.";
?>

Pour tout ce qui est encore plus complexe, vous devriez utiliser la syntaxe complexe.

Syntaxe complexe

Cette syntaxe est appelée complexe, non pas par qu'elle est complexe, mais parce qu'elle permet l'utilisation d'expressions complexes.

En fait, n'importe quelle valeur d'un espace de nom peut être inclue dans une chaîne de caractères avec cette syntaxe. Écrivez simplement l'expression de la même façon qu'elle devrait l'être à l'extérieur de la chaîne et ensuite, entourez-là des caractères { et }. Sachant que le caractère { ne peut pas être échappé, cette syntaxe ne sera reconnue que lorsque le caractère $ suit immédiatement le caractère {. Utilisez {\$ pour afficher littéralement {$. Quelques exemples pour être clair :

<?php
// Montre toutes les erreurs
error_reporting(E_ALL);

$great = 'fantastic';

// Ne fonctionne pas, affiche : This is { fantastic}
echo "This is { $great}";

// Fonctionne, affiche : This is fantastic
echo "This is {$great}";
echo "This is ${great}";

// Fonctionne
echo "This square is {$square->width}00 centimeters broad.";

// Fonctionne
echo "This works: {$arr[4][3]}";

// Ceci est faux pour la même raison pour laquelle $foo[bar] est faux à l'extérieur d'une chaîne.
// En d'autres termes, ceci fonctionnera, mais uniquement parceque PHP cherchera d'abord
// une constante nommée foo ; une erreur de niveau E_NOTICE (constante indéfinie) sera émise.
echo "This is wrong: {$arr[foo][3]}";

// Fonctionne. Lors de l'utilisation de tableaux multidimensionnels, utilisez toujours
// les accolades autour du tableau lorsqu'il se trouve dans la chaîne
echo "This works: {$arr['foo'][3]}";

// Fonctionne.
echo "This works: " . $arr['foo'][3];

echo "This works too: {$obj->values[3]->name}";

echo "This is the value of the var named $name: {${$name}}";

echo "This is the value of the var named by the return value of getName(): {${getName()}}";

echo "This is the value of the var named by the return value of \$object->getName(): {${$object->getName()}}";
?>

Il est également possible d'accéder aux propriétés de classes en utilisant les variables contenues dans des chaînes, en utilisant cette synthaxe.

<?php
class foo {
    var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo "{$foo->$bar}\n";
echo "{$foo->$baz[1]}\n";
?>

L'exemple ci-dessus va afficher :

I am bar.
I am bar.

Note: Les appels aux fonctions, méthodes, variables statiques de classes, ainsi qu'aux constantes de classes à l'intérieur de {$} fonctionnent depuis PHP 5. Cependant, la valeur accédée sera interprétée comme le nom d'une variable dans le scope duquel la chaîne est définie. L'utilisation de simples accolades ({}) ne fonctionnera pas pour accéder à la valeur retournée par les fonctions, méthodes ou les valeurs des constantes et des variables statiques de classes.

<?php
// Affichage de toutes les erreurs.
error_reporting(E_ALL);

class beers {
    const softdrink = 'rootbeer';
    public static $ale = 'ipa';
}

$rootbeer = 'A & W';
$ipa = 'Alexander Keith\'s';

// Ceci fonctionne ; Affiche : I'd like an A & W
echo "I'd like an {${beers::softdrink}}\n";

// Ceci fonctionne également ; Affiche : I'd like an Alexander Keith's
echo "I'd like an {${beers::$ale}}\n";
?>

Accès et modification d'une chaîne, par caractère

On peut accéder et modifier les caractères d'une chaîne de caractères en spécifiant sa position (à partir de 0) en utilisant la même syntaxe que pour les tableaux, comme pour la variable $str[42]. Il convient de voir une chaîne de caractères comme un tableau dans ce cas. Les fonctions substr() et substr_replace() peuvent être utilisées quand vous voulez extraire ou remplacer plus d'un caractère.

Note: On peut également accéder à une chaîne en utilisant des accolades, comme ceci : $str{42}. Cependant, cette syntaxe est obsolète depuis PHP 6. Utilisez les crochets à la place, comme ceci : $str[42]

Avertissement

Écrire à une position hors de l'intervalle de l'existant fait que la chaîne est complétée par des espaces jusqu'à cette position. Les positions sont toujours converties en valeur entière. Les positions invalides produisent une alerte E_NOTICE. Les positions négatives produisent une alerte E_NOTICE en écriture, mais lisent une chaîne vide. Seul le premier caractère d'une chaîne assignée est utilisé. Assigner une chaîne vide assigne le caractère NUL.

Exemple #8 Quelques exemples de chaînes

<?php
// Récupération du premier caractère d'une chaîne
$str = 'This is a test.';
$first = $str[0];

// Récupération du troisième caractère d'une chaîne
$third = $str[2];

// Récupération du dernier caractère d'une chaîne
$str = 'This is still a test.';
$last = $str[strlen($str)-1];

// Modification du dernier caractère d'une chaîne
$str = 'Look at the sea';
$str[strlen($str)-1] = 'e';

?>

Note: L'accès aux autres types de variables en utilisant [] ou {} retournera silencieusement NULL.

Fonctions et opérateurs utiles

Une chaîne de caractères peut être concaténée en utilisant l'opérateur '.' (point). Notez que l'opérateur '+' (addition) ne fonctionnera pas. Reportez-vous aux opérateurs de chaîne pour plus d'informations.

Il y a beaucoup de fonctions utiles pour la manipulation de chaîne de caractères.

Reportez-vous à la section sur les fonctions des chaînes de caractères pour plus de précisions et à la section sur les expressions rationnelles ou sur les expressions rationnelles compatibles Perl pour des recherches et des remplacements avancés.

Il y a également des fonctions pour les URL, et des fonctions pour chiffrer, déchiffrer les chaînes de caractères (mcrypt et mhash).

Et pour finir, reportez-vous aux fonctions "type de caractères".

Conversion en chaîne de caractères

Une valeur peut être convertie en une chaîne de caractères, en utilisant le mot-clé (string) ou la fonction strval(). La conversion d'une chaîne de caractères est automatiquement effectuée dans le contexte d'une expression où une chaîne de caractères est nécessaire. Ceci survient lors de l'utilisation des fonctions echo() ou print() ou lorsqu'une variable est comparée à une chaîne. Les sections sur les types et sur le transtypage expliquent ce qui suit de manière plus détaillée. Reportez-vous également à la fonction settype().

La valeur booléenne TRUE est convertie en la chaîne "1". La valeur booléenne FALSE est convertie en "" (une chaîne vide). Ceci permet les conversions vers et depuis une chaîne et un booléen.

Un entier ou un nombre décimal est converti en une chaîne de caractères représentant le nombre de façon textuel (incluant la partie exponentielle pour les nombres à virgule flottante). Les nombres à virgule flottante peuvent être convertis en utilisant la notation exponentielle (4.1E+6).

Note: Le point décimal est défini dans la locale du script (catégorie LC_NUMERIC). Reportez-vous à la fonction setlocale().

Les tableaux sont toujours convertis en la chaîne "Array" ; ainsi, echo() et print() ne peuvent être utilisés pour afficher le contenu d'un tableau. Pour afficher un seul élément, utilisez une syntaxe comme echo $arr['foo']. Voir ci-dessous pour des astuces permettant d'afficher le contenu complet.

Les objets en PHP 4 sont toujours convertis en la chaîne "Object". Pour afficher les valeurs des propriétés de l'objet (à des fins de déboguage, par exemple), lisez le paragraphe ci-dessous. Pour récupérer le nom de la classe de l'objet, utilisez la fonction get_class(). Depuis PHP 5, la méthode __toString est utilisée lorsqu'elle peut s'appliquer.

Les ressources sont toujours converties en la chaîne "Resource id #1", où 1 est le nombre unique assigné à la ressource par PHP au moment de l'exécution. Ne vous fiez pas à cette structure, il est possible qu'elle change. Pour récupérer le type de la ressource, utilisez la fonction get_resource_type().

NULL est toujours converti en une chaîne vide.

Au vu de tout cela, la conversion d'un tableau, d'un objet ou d'une ressource en une chaîne de caractères ne fournit aucune information utile sur la valeur contenue dans ce type. Reportez-vous aux fonctions print_r() et var_dump() pour plus d'informations sur le contenu de ces types.

La plupart des valeurs en PHP peuvent également être convertie en chaîne de caractères afin de les stocker. Cette méthode est appelée "linéarisation", et est effectuée par la fonction serialize(). Si le moteur PHP a été compilé avec le support WDDX, les valeurs PHP peuvent également être linéarisées en XML.

Conversion de chaînes en nombres

Lorsqu'une chaîne de caractères est évaluée dans un contexte numérique, la valeur et le type résultants sont déterminés comme suit.

Si la chaîne de caractères ne contient aucun '.', 'e', ou 'E' et que la valeur numérique est dans l'intervalle de représentation des entiers (et notamment plus petite que PHP_INT_MAX), alors la chaîne de caractères sera transformée en entier. Dans les autres cas, elle sera interprétée comme un nombre décimal.

La valeur est fournie par la portion initiale de la chaîne de caractères. Si la chaîne de caractères commence par un caractère numérique valide, ce sera la valeur utilisée. Sinon, la valeur sera de 0 (zéro). Une valeur numérique valide est un signe optionnel, suivi par un ou plusieurs nombres (contenant, optionnellement, un point décimal), suivi par, éventuellement, un exponentiel. L'exponentiel est un 'e' ou 'E' suivi par un ou plusieurs nombres.

<?php
$foo = 1 + "10.5";                // $foo est un nombre à virgule flottante (11.5)
$foo = 1 + "-1.3e3";              // $foo est un nombre à virgule flottante (-1299)
$foo = 1 + "bob-1.3e3";           // $foo est un entier (1)
$foo = 1 + "bob3";                // $foo est un entier (1)
$foo = 1 + "10 Small Pigs";       // $foo est un entier (11)
$foo = 4 + "10.2 Little Piggies"; // $foo est un nombre à virgule flottante (14.2)
$foo = "10.0 pigs " + 1;          // $foo est un nombre à virgule flottante (11)
$foo = "10.0 pigs " + 1.0;        // $foo est un nombre à virgule flottante (11)
?>

Pour plus d'informations sur ces conversions, reportez-vous au manuel Unix de la fonction strtod(3).

Pour tester un exemple de cette section, copiez/collez l'exemple et insérez la ligne suivante pour voir ce qu'il se passe :

<?php
echo "Le type de \$foo==$foo; est " . gettype ($foo) . "<br />\n";
?>

Ne vous attendez pas à récupérer le code d'un caractère en le convertissant en entier, comme cela est possible en C. Utilisez la fonction ord() et la fonction chr() pour convertir les caractères en codes ASCII.

Nombres décimaux
Les tableaux
Les types


Les tableaux

Un tableau en PHP est en fait une carte ordonnée. Une carte est un type qui associe des valeurs en clés. Ce type est optimisé pour différentes utilisations ; il peut être considéré comme un tableau, une liste, une table de hashage, un dictionnaire, une collection, une pile, une file d'attente et probablement plus. On peut avoir, comme valeur d'un tableau, d'autres tableaux, multidimensionnels ou non.

La structure de ces données dépasse l'objet de ce manuel, mais vous trouverez au moins un exemple pour chacun des cas évoqués. Pour plus d'informations, reportez-vous aux différentes explications sur le sujet que l'on trouve sur le web.

Syntaxe

Syntaxe d'un tableau

Un tableau peut être créé avec la structure de langage array(). Il prend un nombre illimité de paramètres, chacun séparé par une virgule, sous la forme d'une paire clé => valeur.

array(  clé =>  valeur
     , ...
     )
// clé ne peut être qu'un entier ou une chaîne de caractères
// valeur peut être de n'importe quel type
<?php
$arr = array("foo" => "bar", 12 => true);

echo $arr["foo"]; // bar
echo $arr[12];    // 1
?>

Une clé peut être soit un entier, soit une chaîne de caractères. Si une clé est une représentation standard d'un entier, elle sera interprétée comme telle (i.e. "8" sera interprété comme 8, alors que "08" sera interprétée comme "08"). Les nombres à virgule flottante, en tant que clé, seront tronqués en entier. Les tableaux indexés ou associatifs, en PHP, sont du même type ; ils peuvent ainsi contenir des indices sous la forme d'entier et de chaîne de caractères.

Une valeur peut être de n'importe quel type PHP.

Note: Tenter d'accéder à un tableau qui n'a pas été définit conduit à la même chose que de tenter d'accéder à une variable non définie : une alerte de niveau E_NOTICE sera émise, et le résultat sera la valeur NULL.

<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));

echo $arr["somearray"][6];    // 5
echo $arr["somearray"][13];   // 9
echo $arr["somearray"]["a"];  // 42
?>

Si une clé n'est pas spécifiée pour une valeur, l'indice entier maximal sera pris et la nouvelle clé sera cette valeur, plus 1. Si une clé contient déjà une valeur associée, cette valeur sera écrasée.

<?php
// Ce tableau est identique à ...
array(5 => 43, 32, 56, "b" => 12);

// ...ce tableau
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
Avertissement

Avant PHP 4.3.0, le fait d'ajouter à un tableau une valeur, dont la précédent clé est négative, reproduisait le comportement ci-dessus. Depuis PHP 4.3.0, la nouvelle clé sera 0.

Utiliser TRUE comme clé sera évalué à l'entier 1. Utiliser FALSE comme clé sera évalué à l'entier 0. Utiliser NULL comme clé sera évalué à une chaîne de caractères vide. Utiliser une chaîne de caractères vide comme clé créera une clé (ou l'écrasera) vide et sa valeur ne sera pas la même si on utilise des parenthèses vides.

Les tableaux et les objets ne peuvent être utilisés comme clés. Si vous tentez de le faire, une message de type Alerte sera émis : Illegal offset type.

Création/modification avec des crochets

Un tableau existant peut être modifié en y assignant explicitement des valeurs.

L'assignation d'une valeur dans un tableau est effectué en spécifiant la clé, entre crochets. La clé peut également ne pas être renseignée, sous la forme : [].

$arr[clé] = valeur;
$arr[] = valeur;
// clé peut être un entier ou une chaîne de caractères
// valeur peut être n'importe quel type

Si $arr n'existe pas lors de l'assignation, il sera créé ; c'est ainsi une façon détournée de créer un tableau. Pour modifier une valeur en particulier, il convient d'assigner une valeur en spécifiant sa clé. Pour effacer une paire clé/valeur, il convient d'appeler la fonction unset() sur la clé désirée.

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // Identique à $arr[13] = 56;
                // à cet endroit du script

$arr["x"] = 42; // Ceci ajoute un nouvel élément au
                // tableau avec la clé "x"

unset($arr[5]); // Ceci efface l'élément du tableau

unset($arr);    // Ceci efface complètement le tableau
?>

Note: Comme dit plus haut, si aucune clé n'est spécifiée, l'indice maximal existant est repris, et la nouvelle clé sera ce nombre, plus 1. Si aucun indice entier n'existe, la clé sera 0 (zéro).
Notez que la clé entière maximale pour cette opération n'a pas besoin d'exister dans le tableau au moment de la manipulation. Elle doit seulement avoir existé dans le tableau à un moment ou un autre depuis la dernière fois où le tableau a été ré-indexé. Voici un exemple qui illustre ce principe :

<?php
// Création d'un tableau simple.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Maintennant, on efface tous les éléments, mais on concerne le tableau :
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Ajout d'un élément (notez que la nouvelle clé est 5, et non 0).
$array[] = 6;
print_r($array);

// Ré-indexation :
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Fonctions utiles

Il y a beaucoup de fonctions utiles pour travailler avec les tableaux. Nous vous invitons à lire la section de ce manuel sur les fonctions en rapport avec les tableaux.

Note: La fonction unset() permet d'effacer les clés d'un tableau. Soyez attentif sur le fait que le tableau ne sera pas ré-indexé. Si vous voulez réaliser un effacement complet et une ré-indexation de votre tableau, vous devez utiliser la fonction array_values().

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* produira un tableau comme ceci
   $a = array(1 => 'one', 3 => 'three');
   et NON un tableau comme ceci
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Maintenant, $b vaut array(0 => 'one', 1 =>'three')
?>

La structure de contrôle foreach existe tout spécialement pour les tableaux. Elle fournit une manière pratique de parcourir un tableau.

Ce qu'il est possible de faire ou non avec un tableau

Pourquoi $foo[bar] est incorrect ?

Utiliser toujours des guillemets autour d'un index littéral. Par exemple, $foo['bar'] est correct, alors que $foo[bar] ne l'est pas. Mais pourquoi ? il est courant de rencontrer ce genre de syntaxe dans d'ancien script :

<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>

C'est incorrect, mais ça fonctionne. La raison est que ce code a une constante indéfinie (bar) plutôt qu'une chaîne ('bar' - noter les guillemets). PHP peut définir plus loin une constante portant le même nom. Cela fonctionne car PHP convertit automatiquement une chaîne nue (une chaîne sans guillemets qui ne correspond à aucun symbole connu) en une chaîne qui la contient. Actuellement, s'il n'y a aucune constante nommée bar, alors PHP substituera 'bar' dans la chaîne et l'utilisera.

Note: Ceci ne signifie pas qu'il faut toujours mettre la clé entre guillemets. N'utilisez pas de guillemets avec les clés qui sont des constantes ou des variables, car cela empêcherait PHP de les interpréter.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Tableau simple :
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nVérification de $i : \n";
    echo "Mauvais : " . $array['$i'] . "\n";
    echo "Bon : " . $array[$i] . "\n";
    echo "Mauvais : {$array['$i']}\n";
    echo "Bon : {$array[$i]}\n";
}
?>
L'exemple ci-dessus va afficher :
Vérification de 0 :
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mauvais :
Bon : 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mauvais :
Bon : 1

Vérification de 1 :
Notice: Undefined index:  $i in /path/to/script.html on line 9
Mauvais :
Bon : 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Mauvais :
Bon : 2

Plus d'exemples pour expliquer ce comportement :

<?php
// Affichons toutes les erreurs
error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

// Correct
print $arr['fruit'];  // apple
print $arr['veggie']; // carrot

// Incorrect.  Ceci fonctionne mais PHP émettera une erreur de type E_NOTICE car
// on utilise la constante nommée fruit qui est indéfinie
//
// Notice: Use of undefined constant fruit - assumed 'fruit' in...
print $arr[fruit];    // apple

// Ceci définit une constante pour expliquer ce qu'il ne va pas. La valeur 'veggie'
// est assignée à la constante nommée fruit.
define('fruit', 'veggie');

// Noter la différence maintenant
print $arr['fruit'];  // apple
print $arr[fruit];    // carrot

// Ce qui squit est correct, car c'est dans une chaîne. Les constantes ne sont pas recherchées
// dans les chaînes, et donc, aucune alerte E_NOTICE ne sera émise
print "Hello $arr[fruit]";      // Hello apple

// Avec une exception : les parenthèses autour d'un tableau dans une chaîne permettent
// aux constantes d'être interprétées
print "Hello {$arr[fruit]}";    // Hello carrot
print "Hello {$arr['fruit']}";  // Hello apple

// Ceci ne fonctionnera pas, et en résultera une erreur d'analyse, comme ceci :
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Ceci arrive lors de l'utilisation d'une supergloables dans les chaînes
print "Hello $arr['fruit']";
print "Hello $_GET['foo']";

// La concaténation est une autre solution
print "Hello " . $arr['fruit']; // Hello apple
?>

Lorsque error_reporting est défini afin de montrer les erreurs de type E_NOTICE (en le définissant à E_ALL, par exemple), une telle pratique devient immédiatement visible. Par défaut, error_reporting n'est pas défini pour afficher toutes les alertes.

Comme vu dans la section "syntaxe", ce qui se trouve entre crochets ('[' et ']') doit être une expression. Ceci signifie que le code ci-dessous fonctionne :

<?php
echo $arr[somefunc($bar)];
?>

C'est un exemple d'utilisation d'une fonction retournant une valeur qui sera la clé du tableau. PHP comprend également les constantes :

<?php
$error_descriptions[E_ERROR]   = "A fatal error has occured";
$error_descriptions[E_WARNING] = "PHP issued a warning";
$error_descriptions[E_NOTICE]  = "This is just an informal notice";
?>

Noter que E_ERROR est également un identifiant valide, tout comme bar dans le premier exemple. Mais le dernier exemple est finalement le même que celui-ci :

<?php
$error_descriptions[1] = "A fatal error has occured";
$error_descriptions[2] = "PHP issued a warning";
$error_descriptions[8] = "This is just an informal notice";
?>

car E_ERROR vaut 1, etc.

Alors, pourquoi est-ce une mauvaise pratique ?

Dans le futur, les développeurs PHP peuvent vouloir ajouter une autre constante ou un autre mot clé, ou bien une constante dans une autre partie du code qui peut interférer. Par exemple, il est toujours incorrect d'utiliser le mot empty et default, sachant que ce sont des mots réservés.

Note: Pour être plus clair, dans une chaîne entourée de guillemets doubles, il est valide de ne pas entourer les indexes d'un tableau avec des guillemets, et donc, "$foo[bar]" est valide. Voir les exemples ci-dessous pour plus détails mais aussi la section sur l'analyse des variables dans les chaînes.

Conversion en un tableau

Pour tous les types : entier, nombre décimal, chaîne de caractères, booléen et ressource, le fait de convertir une valeur en un tableau résulte en un tableau contenant un seul élément dont l'indexe vaut zéro et la valeur, une valeur scalaire convertie. En d'autres termes, (array)$scalarValue est exactement la même chose que array($scalarValue).

Si un objet est converti en un tableau, le résultat sera un tableau dont les éléments sont les propriétés de l'objet. Les clés sont les noms des membres, avec une légère exception : les variables ayant un nom sous forme d'entier sont inaccessible; les variables privées auront le nom de la classe ajouté au nom de la variable ; les variables protégées auront un '*' ajouté au nom de la variable. Ce comportement peut amener à des résultats inattendus :

<?php

class A {
    private $A; // Ceci devient '\0A\0A'
}

class B extends A {
    private $A; // Ceci devient '\0B\0A'
    public $AA; // Ceci devient 'AA'
}

var_dump((array) new B());
?>

Ici, on pourrait penser qu'il y a 2 clés nommées 'AA', alors qu'une est actuellement nommée '\0A\0A'.

La conversion de NULL en un tableau résultat en un tableau vide.

Comparaison

Il est possible de comparer plusieurs tableaux avec la fonction array_diff() ainsi qu'avec les opérateurs de tableaux.

Exemples

Le type tableau en PHP est vraiment versatile. Voici quelques exemples :

<?php
// This
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
             4        // la clé sera 0
          );

// est strictement équivalent à
$a = array();
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // la clé sera 0

$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// Après exécution du code ci-dessus, $a sera le tableau
// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round',
// 'name' => 'apple', 0 => 4), et $b sera le tableau
// array(0 => 'a', 1 => 'b', 2 => 'c'), ou simplement array('a', 'b', 'c').
?>

Exemple #1 Utilisation de array()

<?php
// Tableau comme carte de propriétés
$map = array( 'version'    => 4,
              'OS'         => 'Linux',
              'lang'       => 'english',
              'short_tags' => true
            );

// clés numériques strictes
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// est identique à array(0 => 7, 1 => 8, ...)

$switching = array(         10, // clé = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // clé = 6 (l'indice entier maximal est 5)
                    '8'  =>  2, // clé = 8 (intier !)
                    '02' => 77, // clé = '02'
                    0    => 12  // la valeur 10 sera écrasée par la valeur 12
                  );

// empty array
$empty = array();
?>

Exemple #2 Collection

<?php
$colors = array('rouge', 'bleu', 'verte', 'jaune');

foreach ($colors as $color) {
    echo "Aimez-vous la couleur $color ?\n";
}

?>

L'exemple ci-dessus va afficher :

Aimez-vous la couleur rouge ?
Aimez-vous la couleur bleu ?
Aimez-vous la couleur verte ?
Aimez-vous la couleur jaune ?

La modification directe de valeurs d'un tableau est possible depuis PHP 5 en le passant par référence. Avant cette version, nous devions utiliser l'astuce suivante :

Exemple #3 Collection

<?php
// PHP 5
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
unset($color); /* On s'assure que les écritures suivantes
sur $color ne modifie pas le dernier élément du tableau */

// Astuce pour les anciennes versions
foreach ($colors as $key => $color) {
    $colors[$key] = strtoupper($color);
}

print_r($colors);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => ROUGE
    [1] => BLEU
    [2] => VERTE
    [3] => JAUNE
)

Cet exemple crée un tableau, dont l'indexation commence à 1.

Exemple #4 Indexation commençant à 1

<?php
$firstquarter  = array(1 => 'Janvier', 'Février', 'Mars');
print_r($firstquarter);
?>

L'exemple ci-dessus va afficher :

Array
(
    [1] => 'Janvier'
    [2] => 'Février'
    [3] => 'Mars'
)

Exemple #5 Remplissage d'un tableau

<?php
// Remplit un tableau avec tous les éléments d'un dossier
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>

Les tableaux sont ordonnés. L'ordre peut être modifié en utilisant plusieurs fonctions. Voir la section sur les fonctions sur les tableaux pour plus d'informations. La fonction count() peut être utilisée pour compter le nombre d'éléments d'un tableau.

Exemple #6 Trie d'un tableau

<?php
sort($files);
print_r($files);
?>

Sachant que la valeur d'une tableau peut être n'importe quoi, elle peut aussi être un autre tableau. Ceci permet la création de tableaux récursifs et de tableaux multidimensionnels.

Exemple #7 Tableaux récursifs et multidimensionnels

<?php
$fruits = array ( "fruits"  => array ( "a" => "orange",
                                       "b" => "banana",
                                       "c" => "apple"
                                     ),
                  "numbers" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "holes"   => array (      "first",
                                       5 => "second",
                                            "third"
                                     )
                );

// Quelques exemples pour retrouver les valeurs dans le tableau ci-dessus
echo $fruits["holes"][5];    // affiche "second"
echo $fruits["fruits"]["a"]; // affiche "orange"
unset($fruits["holes"][0]);  // efface "first"

// Création d'un tableau multidimensionnel
$juices["apple"]["green"] = "good";
?>

L'assignation d'un tableau induit toujours la copie des valeurs. Utilisez l'opérateur de référence pour copier un tableau par référence.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 est modifié,
             // $arr1 vaut toujours array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // maintenant, $arr1 et $arr3 sont identiques
?>
Les chaînes de caractères
Les objets
Les types


Les objets

Initialisation des objets

Pour créer un nouvel objet, utilisez le mot clé new afin d'instancier une classe :

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

Pour une discussion complète, voir le chapitre sur les classes et les objets.

Conversion en un objet

Si un objet est converti en un objet, il ne sera pas modifié. Si une valeur de n'importe quel type est convertie en un objet, une nouvelle instance de la classe interne stdClass sera créée. Si la valeur est NULL, la nouvelle instance sera vide. La conversion d'un objet en tableau fera que les propriétés seront les clés, et les valeurs correspondantes aux propriétés, les valeurs de ces clés. Pour n'importe quel autre type, un membre appelé scalar contiendra la valeur.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // Affiche : 'ciao'
?>
Les tableaux
Les ressources
Les types


Les ressources

Une ressource est une variable spéciale, contenant une référence vers une ressource externe. Les ressources sont créées et utilisées par des fonctions spéciales. Voir l'appendice pour une liste de toutes ces fonctions ainsi que les types de ressource correspondants.

Note: Le type ressource a été introduit en PHP 4.

Voir aussi la fonction get_resource_type().

Conversion en ressource

Sachant qu'une ressource représente un fichier ouvert, une connexion à une base de données, une image, etc..., la conversion en une ressource n'a pas de sens.

Libération des ressources

Sachant que le système de comptage des références, introduit dans le moteur Zend PHP 4, une ressource qui n'a plus aucune référence est détectée automatiquement et est libérée par le collecteur. Pour cette raison, il est rarement nécessaire de libérer la mémoire manuellement.

Note: Les connexions persistantes aux bases de données sont des exceptions à cette règle. Elles ne sont pas détruites par le collecteur. Voir la section sur les connexions persistantes pour plus d'informations.

Les objets
NULL
Les types


NULL

La valeur spéciale NULL représente une variable sans valeur. NULL est la seule valeur possible du type NULL .

Note: Le type null a été introduit en PHP 4.

Une variable est considérée comme null si :

  • elle s'est vu assigner la constante NULL.

  • elle n'a pas encore reçu de valeur.

  • elle a été effacée avec la fonction unset().

Syntaxe

Il y a une seule valeur de type null , et c'est le mot clé insensible à la casse NULL.

<?php
$var = NULL;
?>

Voir aussi les fonctions is_null() et unset().

Transtyper vers NULL

Transtyper une variable vers null supprimera la variable et effacera sa valeur.

Les ressources
Variables et pseudo-types utilisés dans cette documentation
Les types


Variables et pseudo-types utilisés dans cette documentation

mixed

mixed indique qu'un paramètre peut accepter plusieurs (mais pas nécessairement tous) types.

gettype() par exemple, accepte tous les types PHP, alors que str_replace() accepte les chaînes et les tableaux.

number

number indique qu'un paramètre peut être soit un nombre entier, soit un nombre décimal (nombre décimal).

callback

Quelques fonctions comme call_user_func() ou usort() acceptent des fonctions de rappel définies par l'utilisateur comme paramètre. Les fonctions de rappel peuvent ne pas être de simples fonctions, mais aussi des méthodes d'objets, incluant des méthodes statiques.

Une fonction PHP est passée par son nom, comme une chaîne. N'importe quelle
fonction interne ou définie par l'utilisateur peut être passée, excepté
les constructeurs de langage comme :
array(), echo(),
empty(), eval(),
exit(), isset(),
list(), print() ou
unset().

Une méthode d'un objet instancié est passée comme étant un tableau, contenant un objet à l'index 0 et le nom de la méthode à l'index 1.

Les méthodes de classe statique peuvent également être passées sans instanciation de l'objet, en passant le nom de la classe au lieu de l'objet à l'index 0.

Mise à part des fonctions définies par l'utilisateur, create_function() peut également être utilisée pour créer des fonctions de rappel anonymes. Depuis PHP 5.3.0, il est aussi possible de passer une fonction anonyme comme paramètre de rappel.

Exemple #1 Exemples de fonctions de rappel

<?php

// Un exemple de fonction de rappel
function ma_fonction_callback() {
    echo 'Bonjour le monde !';
}

// Un exemple de méthode de rappel
class MaClasse {
    static function maMethodeCallback() {
        echo 'Bonjour le monde !';
    }
}

// Type 1 : Rappel simple
call_user_func('ma_fonction_callback');

// Type 2 : Appel d'une méthode de classe statique
call_user_func(array('MaClasse', 'maMethodeCallback'));

// Type 3 : Appel d'une méthode d'objet
$obj = new MaClasse();
call_user_func(array($obj, 'maMethodeCallback'));

// Type 4 : Appel d'une méthode de classe statique (Depuis PHP 5.2.3)
call_user_func('MaClasse::maMethodeCallback');

// Type 5 : Appel d'une méthode de classe statique relative (Depuis PHP 5.3.0)
class A {
    public static function who() {
        echo "A\n";
    }
}

class B extends A {
    public static function who() {
        echo "B\n";
    }
}

call_user_func(array('B', 'parent::who')); // A
?>

Exemple #2 Exemple de fonction anonyme comme fonction de rappel

<?php
// La fonction anonyme
$double = function($a) {
    return $a * 2;
};

// Un intervalle de nombres
$numbers = range(1, 5);

// Utilise la fonction anoyme comme fonction de rappel
// pour doubler la taille de chaque élément
$new_numbers = array_map($double, $numbers);

print implode(' ', $new_numbers);
?>

L'exemple ci-dessus va afficher :

2 4 6 8 10

Note: En PHP 4, il est nécessaire d'utiliser une référence pour créer une fonction de rappel qui pointe vers un objet, et non une copie de celui-ci. Pour plus de détails, reportez-vous à la section "Explication sur les références".

Note: Notez que les fonctions de rappel enregistrées avec des fonctions comme call_user_func() et call_user_func_array() ne seront pas appelées si une exception n'est pas interceptée alors qu'elle a été lancée dans une précédente fonction de rappel.

void

void comme type retourné signifie que la valeur retournée est inutile. void dans une liste de paramètre signifie que la fonction n'accepte aucun paramètre.

...

$... dans le prototype d'une fonction signifie "et bien plus...". Ce nom de variable est utilisé lorsqu'une fonction peut prendre un nombre indéfini d'arguments.

NULL
Manipulation des types
Les types


Manipulation des types

PHP n'impose pas de définir explicitement le type d'une variable lors de sa déclaration ; le type d'une variable est déterminé par son contexte d'utilisation. Si une valeur de type string est assignée à la variable $var, $var devient de type string . Si une valeur de type integer est ensuite assignée à cette variable $var, alors, son type devient integer .

Un exemple de conversion de type automatique avec PHP est l'ajout de l'opérateur '+'. Si une des opérandes est de type float , alors toutes les opérandes seront évaluées comme de types float , et le résultat sera de type float . Sinon, les opérandes seront interprétées comme integer s, et le résultat sera également de type integer . Noter que cela ne modifie pas le type des opérandes ; la seule modification est la façon dont les opérandes sont évaluées et le type de l'expression elle-même.

<?php
$foo = "0";                     // $foo est une chaîne de caractères (ASCII 48)
$foo += 2;                      // $foo est maintenant un entier (2)
$foo = $foo + 1.3;              // $foo est maintenant un nombre à virgule flottante (3.3)
$foo = 5 + "10 Little Piggies"; // $foo est un entier (15)
$foo = 5 + "10 Small Pigs";     // $foo est un entier (15)
?>

Si les 2 derniers exemples vous semblent compliqués, reportez-vous à la section sur les conversions de chaînes en nombres.

Pour forcer une variable à être évaluée en un certain type, reportez-vous à la section sur le transtypage. Pour changer le type d'une variable, reportez-vous à la fonction settype().

Pour tester les exemples de cette section, utilisez la fonction var_dump().

Note: Le comportement d'une conversion automatique en tableau est actuellement non-défini.
De plus, vu que PHP supporte l'indexation des chaînes de caractères via des positions en utilisant la même syntaxe que pour les tableaux, l'exemple suivant est correct pour tous les versions de PHP :

<?php
$a    = 'car'; // $a est une chaîne de caractères
$a[0] = 'b';   // $a est toujours une chaîne de caractères
echo $a;       // bar
?>
Reportez-vous à la section sur l'accès aux chaînes par ces caractères pour plus d'informations.

Modification de types

La modification de types en PHP fonctionne de la même façon qu'en C : le nom du type désiré est écrit entre parenthèses avant la variable à traiter.

<?php
$foo = 10;               // $foo est un entier
$bar = (boolean) $foo;   // $bar est un booléen
?>

Les préfixes autorisés sont :

  • (int), (integer) : modification en integer
  • (bool), (boolean) : modification en boolean
  • (float), (double), (real) : modification en float
  • (string) : modification en string
  • (array) : modification en array
  • (object) : modification en object
  • (unset) : modification en NULL (PHP 5)

La modification en binaire et le préfixe b ont été ajoutés en PHP 5.2.1

Notez que les tabulations et les espaces sont autorisés dans les parenthèses. Les exemples suivants sont fonctionnellement équivalents :

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Modification d'une chaîne littérale et de variables en chaînes binaires :

<?php
$binary = (binary) $string;
$binary = b"binary string";
?>

Note: Au lieu de modifier une variable en chaîne, il est également possible d'entourer la variable de doubles guillemets.

<?php
$foo = 10;            // $foo est un entier
$str = "$foo";        // $str est une chaîne
$fst = (string) $foo; // $fst est également une chaîne

// Ceci affichera "ils sont identiques"
if ($fst === $str) {
    echo "ils sont identiques";
}
?>

Le comportement d'une modification de type n'est pas toujours identique suivant les types. Pour plus d'informations, reportez-vous à ces sections :

  • Conversion en booléen
  • Conversion en entier
  • Conversion en nombre à virgule flottante
  • Conversion en chaîne de caractères
  • Conversion en tableau
  • Conversion en objet
  • Conversion en ressource
  • Conversion en valeur NULL
  • Les tables de comparaison de type
Variables et pseudo-types utilisés dans cette documentation
Les variables
Les types


Les variables

Sommaire

  • Essentiel
  • Variables pré-définies
  • Portée des variables
  • Les variables dynamiques
  • Variables externes à PHP
Manipulation des types
Essentiel
Référence du langage


Essentiel

En PHP, les variables sont représentées par un signe dollar "$" suivi du nom de la variable. Le nom est sensible à la casse.

Les noms de variables suivent les mêmes règles de nommage que les autres entités PHP. Un nom de variable valide doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés. Exprimé sous la forme d'une expression régulière, cela donne : '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Note: Dans nos propos, une lettre peut être a-z, A-Z, et les octets de 127 à 255 (0x7f-0xff).

Note: $this est une variable spéciale, qui ne peut pas être assignée.

Astuce

Vous pourriez également avoir besoin de jeter un oeil sur Guide de nommage de l'espace utilisateur.

Pour obtenir des informations sur une variable, voyez les fonctions dédiées aux variables.

Exemple #1 Validité des noms de variables

<?php
$var = 'Jean';
$Var = 'Paul';
echo "$var, $Var";         // affiche "Jean, Paul"

$4site = 'pas encore';     // invalide : commence par un nombre
$_4site = 'pas encore';    // valide : commence par un souligné
$täyte = 'mansikka';    // valide : 'ä' est ASCII (étendu) 228.
?>

Les variables sont toujours assignées par valeur. C'est-à-dire, lorsque vous assignez une expression à une variable, la valeur de l'expression est recopiée dans la variable. Cela signifie, par exemple, qu'après avoir assigné la valeur d'une variable à une autre, modifier l'une des variables n'aura pas d'effet sur l'autre. Pour plus de détails sur ce genre d'assignation, reportez-vous aux expressions.

PHP permet aussi d'assigner les valeurs aux variables par référence. Cela signifie que la nouvelle variable ne fait que référencer (en d'autres termes, "devient un alias de", ou encore "pointe sur") la variable originale. Les modifications de la nouvelle variable affecteront l'ancienne et vice versa.

Pour assigner par référence, ajoutez simplement un & (ET commercial) au début de la variable qui est assignée (la variable source). Dans l'exemple suivant, Mon nom est Pierre s'affichera deux fois :

Exemple #2 Assignation de référence

<?php
$foo = 'Pierre';              // Assigne la valeur 'Pierre' à $foo
$bar = &$foo;                 // Référence $foo avec $bar.
$bar = "Mon nom est $bar";  // Modifie $bar...
echo $foo;                    // $foo est aussi modifiée
echo $bar;
?>

Une chose importante à noter est que seules les variables nommées peuvent être assignées par référence.

Exemple #3 Assignation de référence et variables anonymes

<?php
$foo = 25;
$bar = &$foo;      // assignation valide
$bar = &(24 * 7);  // assignation invalide : référence une expression sans nom
function test() {
   return 25;
}
$bar = &test();    // assignation invalide.
?>

Il n'est pas nécessaire d'initialiser les variables en PHP, cependant, cela reste une excellente pratique. Les variables non initialisées ont une valeur par défaut selon leur type - FALSE pour les booléens, zéro pour les entiers et les réels, chaîne vide pour les chaînes de caractères (comme utilisée avec echo()) ou un tableau vide pour les tableaux.

Exemple #4 Valeurs par défaut des variables non initialisées

<?php
// Une variable non initialisée et non référencée (pas de contexte d'utilisation); retourne NULL
var_dump($unset_var);

// L'utilisation d'un booléen; retourne 'false' (Voir l'opérateur ternaire pour comprendre cette syntaxe)
echo($unset_bool ? "true\n" : "false\n");

// Utilisation d'une chaîne de caractères; retourne 'string(3) "abc"'
$unset_str .= 'abc';
var_dump($unset_str);

// Utilisation d'un entier; retourne 'int(25)'
$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int);

// Utilisation d'un entier/double; retourne 'float(1.25)'
$unset_float += 1.25;
var_dump($unset_float);

// Utilisation d'un tableau : retourne array(1) {  [3]=>  string(3) "def" }
$unset_arr[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);

// Utilisation d'un objet; crée un nouvel objet stdClass (voir http://www.php.net/manual/fr/reserved.classes.php)
// Retourne : object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo = 'bar';
var_dump($unset_obj);
?>

Utiliser la valeur par défaut d'une variable non initialisée est problématique lorsque vous incluez un fichier dans un autre qui utilise le même nom de variable. C'est également un risque niveau sécurité lorsque register_globals est activé. Une erreur de niveau E_NOTICE sera émise lorsque vous travaillerez avec des variables non initialisées, cependant, aucune erreur ne sera lancée lorsque vous tenterez d'insérer un élément dans un tableau non initialisé. La structure de langage isset() peut être utilisée pour détecter si une variable a déjà été initialisée.

Les variables
Variables pré-définies
Les variables


Variables pré-définies

PHP fourni un grand nombre de variables pré-définies. Cependant, beaucoup de ces variables ne peuvent pas être présentées ici, car elles dépendent du serveur sur lequel elles tournent, de la version et de la configuration du serveur ou encore d'autres facteurs. Certaines de ces variables ne seront pas accessibles lorsque PHP fonctionne en ligne de commande. Pour une liste de ces variables, lisez la section sur les variables réservées prédéfinies.

Avertissement

Depuis la version PHP 4.2.0, la valeur par défaut de la directive PHP register_globals est off. Ceci est une évolution majeure de PHP. Avoir la directive register_globals à off affecte les variables pré-définies du contexte global. Par exemple, pour lire DOCUMENT_ROOT vous devez utiliser $_SERVER['DOCUMENT_ROOT'] au lieu de $DOCUMENT_ROOT ou bien, il faut lire $_GET['id'] dans l'URL http://www.example.com/test.php?id=3 au lieu de $id ou encore $_ENV['HOME'] au lieu de $HOME.

Pour des informations liées à cette évolution, lisez la documentation de la directive register_globals, le chapitre sur la sécurité, à propos de l'Utilisation des variables superglobales, ainsi que les annonces de PHP » 4.1.0 et » 4.2.0.

L'utilisation des variables pré-définies de PHP, comme les tableaux superglobaux, est recommandée.

Depuis la version 4.1.0, PHP fournit un jeu de tableaux pré-définis, contenant les variables du serveur (si possible), les variables d'environnement et celle d'entrées. Ces nouveaux tableaux sont un peu particuliers, car ils sont automatiquement globaux : ils sont automatiquement disponibles dans tous les environnements d'exécution. Pour cette raison, ils sont dits 'superglobaux' (il n'y a pas de mécanisme PHP pour créer de telles variables. Les superglobales sont listées ci-dessous. Cependant, pour connaître le détails de leur contenu et une présentation approfondie sur les variables pré-définies PHP et leur nature, reportez-vous à la section variables pré-définies. De plus, vous noterez que les anciennes variables pré-définies ($HTTP_*_VARS) existent toujours. Depuis PHP 5.0.0, les tableaux prédéfinis PHP peuvent être désactivés avec l'option de configuration register_long_arrays.

Note: Variables variables
Les superglobales ne peuvent pas être utilisées comme variables dynamiques dans les fonctions ou les méthodes des classes.

Note: Même si les superglobales et HTTP_*_VARS peuvent exister en même temps, elles ne sont pas identiques, donc, le changement d'une ne changera pas l'autre.

Si certaines variables de variables_order ne sont pas définies, leur tableau pré-défini PHP correspondant est laissé vide.

Essentiel
Portée des variables
Les variables


Portée des variables

La portée d'une variable dépend du contexte dans lequel la variable est définie. Pour la majorité des variables, la portée concerne la totalité d'un script PHP. Mais, lorsque vous définissez une fonction, la portée d'une variable définie dans cette fonction est locale à la fonction. Par exemple :

Exemple #1 Les variables sont locales à la fonction

<?php
$a = 1;
include 'b.inc';
?>

Ici, la variable $a sera accessible dans le script inclus b.inc. Cependant, dans les fonctions définies par l'utilisateur, une nouvelle définition de cette variable sera donnée, limitée à la fonction. Toute variable utilisée dans une fonction est, par définition, locale. Par exemple :

<?php
$a = 1; /* portée globale */

function test()
{
    echo $a; /* portée locale */
}

test();
?>

Le script n'affichera rien à l'écran car l'instruction echo() utilise la variable locale $a, et celle-ci n'a pas été assignée préalablement dans la fonction. Vous pouvez noter que ce concept diffère un petit peu du langage C dans lequel une variable globale est automatiquement accessible dans les fonctions, à moins d'être redéfinie localement dans la fonction. Cela peut poser des problèmes si vous redéfinissez des variables globales localement. En PHP, une variable globale doit être déclarée à l'intérieur de chaque fonction afin de pouvoir être utilisée dans cette fonction.

Le mot clé global

Commençons par un exemple avec global :

Exemple #2 Exemple avec global

<?php
$a = 1;
$b = 2;
function somme() {
    global $a, $b;
    $b = $a + $b;
}
somme();
echo $b;

Le script ci-dessus va afficher la valeur 3. En déclarant globales les variables $a et $b locales de la fonction somme(), toutes les références à ces variables concerneront les variables globales. Il n'y a aucune limite au nombre de variables globales qui peuvent être manipulées par une fonction.

Une deuxième méthode pour accéder aux variables globales est d'utiliser le tableau associatif pré-défini $GLOBALS. Le précédent exemple peut être réécrit de la manière suivante :

Exemple #3 Les variables globales et $GLOBALS

<?php
$a = 1;
$b = 2;
function somme() {
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
somme();
echo $b;
?>

Le tableau $GLOBALS est un tableau associatif avec le nom des variables globales comme clé et les valeurs des éléments du tableau comme valeur des variables. Notez que $GLOBALS existe dans tous les contextes, car $GLOBALS est un superglobal. Voici un exemple des super globaux :

Exemple #4 Les variables super globales

<?php
function test_global() {

    // La plupart des variables pré-définies ne sont pas des "superglobales" et
    // requièrent le mot-clé 'global' pour être disponibles dans une fonction.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // Les superglobales sont accessibles dans tous les contextes
    // et ne requièrent pas 'global'.  Les superglobales sont disponibles
    // depuis PHP 4.1.0 et HTTP_POST_VARS est de plus en plus
    // déprécié.
    echo $_POST['name'];
}
?>

Utilisation des variables static

Une autre caractéristique importante de la portée des variables est la notion de variable static. Une variable statique a une portée locale uniquement, mais elle ne perd pas sa valeur lorsque le script appelle la fonction. Prenons l'exemple suivant :

Exemple #5 Les variables statiques

<?php
function test()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

Cette fonction est un peu inutile car à chaque fois qu'elle est appelée, elle initialise $a à 0 et affiche "0". L'incrémentation de la variable ($a++) ne sert pas à grand chose, car dès que la fonction est terminée, la variable $a disparaît. Pour faire une fonction de comptage utile, c'est-à-dire qui ne perdra pas la trace du compteur, la variable $a est déclarée comme une variable statique :

Exemple #6 Les variables statiques (2)

<?php
function test()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

Maintenant, la variable $a est initialisée uniquement lors du première appel à la fonction et, à chaque fois que la fonction test() est appelée, elle affichera une valeur de $a incrémentée de 1.

Les variables statiques sont essentielles lorsque vous faites des appels récursifs à une fonction. Une fonction récursive est une fonction qui s'appelle elle-même. Il faut faire attention lorsque vous écrivez une fonction récursive car il est facile de faire une boucle infinie. Vous devez vérifier que vous avez bien une condition qui permet de terminer votre récursivité. La fonction suivante compte récursivement jusqu'à 10, en utilisant la variable $count pour savoir quand il faut s'arrêter :

Exemple #7 Les variables statiques et la récursivité

<?php
function test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        test();
    }
    $count--;
}
?>

Note: Les variables statiques doivent être déclarées comme dans l'exemple ci-dessus. Tenter d'assigner des valeurs à ces variables qui sont le résultat d'expressions causera une erreur d'analyse.

Exemple #8 Déclaration de variables statiques

<?php
function foo(){
    static $int = 0;          // correct
    static $int = 1+2;        // faux  (car c'est une expression)
    static $int = sqrt(121);  // faux  (car c'est aussi une expression)

    $int++;
    echo $int;
}
?>

Note: Les déclarations statiques sont résolues au moment de la compilation.

Les références avec les variables global et static

Le Zend Engine 1, sur qui repose PHP 4, implémente les options static et global pour les variables, en terme de référence. Par exemple, une vraie variable globale est importée dans un contexte de fonction avec global. Cette commande crée en fait une référence sur la variable globale. Cela peut vous mener à des comportements inattendus, par exemple :

<?php
function test_global_ref() {
    global $obj;
    $obj = &new stdclass;
}

function test_global_noref() {
    global $obj;
    $obj = new stdclass;
}

test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>

L'exemple ci-dessus va afficher :

NULL
object(stdClass)(0) {
}

Un comportement similaire s'applique à la commande static. Les références ne sont pas stockées dynamiquement :

<?php
function &get_instance_ref() {
    static $obj;

    echo 'Objet statique : ';
    var_dump($obj);
    if (!isset($obj)) {
        // Assigne une référence à une variable statique
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo 'Objet statique : ';
    var_dump($obj);
    if (!isset($obj)) {
        // Assigne une objet à une variable statique
        $obj = new stdclass;
    }
    $obj->property++;
    return $obj;
}

$obj1 = get_instance_ref();
$still_obj1 = get_instance_ref();
echo "\n";
$obj2 = get_instance_noref();
$still_obj2 = get_instance_noref();
?>

L'exemple ci-dessus va afficher :

Objet statique : NULL
Objet statique : NULL

Objet statique : NULL
Objet statique : object(stdClass)(1) {
["property"]=>
int(1)
}

Ces exemples illustrent les problèmes rencontrés lors de l'assignation de référence à des variables statiques, qui sont oubliées lorsque vous appelez &get_instance_ref() une seconde fois.

Variables pré-définies
Les variables dynamiques
Les variables


Les variables dynamiques

Il est pratique d'avoir parfois des noms de variables qui sont variables. C'est-à-dire un nom de variable qui est affecté et utilisé dynamiquement. Une variable classique est affectée avec l'instruction suivante :

<?php
$a = 'bonjour';
?>

Une variable dynamique prend la valeur d'une variable et l'utilise comme nom d'une autre variable. Dans l'exemple ci-dessous, bonjour peut être utilisé comme le nom d'une variable en utilisant le "$$" précédent la variable. C'est-à-dire :

<?php
$$a = 'monde';
?>

À ce niveau, deux variables ont été définies et stockées dans l'arbre des symboles PHP : $a avec comme valeur "bonjour" et $bonjour avec comme valeur "monde". Alors, l'instruction :

<?php
echo "$a ${$a}";
?>

produira le même affichage que :

<?php
echo "$a $bonjour";
?>

c'est-à-dire : bonjour monde.

Afin de pouvoir utiliser les variables dynamiques avec les tableaux, vous avez à résoudre un problème ambigu. Si vous écrivez $$a[1], l'analyseur a besoin de savoir si vous parler de la variable qui a pour nom $a[1] ou bien si vous voulez l'index [1] de la variable $$a. La syntaxe pour résoudre cette ambiguïté est la suivante : ${$a[1]} pour le premier cas et ${$a}[1] pour le deuxième.

On peut également accéder aux propriétés d'une classe en utilisant les noms des variables. Le nom de la variable sera résolu en utilisant le scope depuis lequel l'appel s'effectue. Par exemple, si vous avez une expression de la forme $foo->$bar, alors le scope local sera examiné pour $bar et sa valeur sera utilisée comme nom pour la propriété de $foo. Ce comportement reste valide si $bar est un tableau.

Exemple #1 Exemple de fonction variable

<?php
class foo {
    var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->$baz[1] . "\n";
?>

L'exemple ci-dessus va afficher :

I am bar.
I am bar.

Avertissement

Notez que les variables dynamiques ne peuvent pas être utilisées avec les tableaux Superglobaux dans une fonction ou une classe. La variable $this est aussi une variable spéciale qui ne peut être référencée dynamiquement.

Portée des variables
Variables externes à PHP
Les variables


Variables externes à PHP

Formulaires HTML (GET et POST)

Lorsqu'un formulaire est envoyé à un script PHP, toutes les variables du formulaire seront automatiquement disponibles dans le script. Par exemple, considérons le formulaire suivant :

Exemple #1 Exemple avec un formulaire simple

<form action="foo.php" method="post">
    Nom  :  <input type="text" name="username" /><br />
    Email: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="Envoie!" />
</form>

Suivant votre configuration particulière et vos préférences, vous avez plusieurs méthodes pour accéder aux variables du formulaires. Voici quelques exemples :

Exemple #2 Accéder simplement à des variables de formulaires POST

<?php
// Disponibles depuis PHP 4.1.0

   echo $_POST['username'];
   echo $_REQUEST['username'];

   import_request_variables('p', 'p_');
   echo $p_username;

// Depuis PHP 5.0.0, ce type de variable peut être désactivé
// avec la directive de configuration register_long_arrays.

   echo $HTTP_POST_VARS['username'];

// Disponibles si la directive register_globals = on.  Depuis
// PHP 4.2.0 la valeur par défaut de cette directive est register_globals = off.
// Utiliser ou présumer cette méthode est découragé.

   echo $username;
?>

Utiliser un formulaire de type GET est similaire, hormis le fait que vous deviez utiliser les variables pré-définies de GET à la place. GET s'applique aussi à la QUERY_STRING (les informations disponibles après le '?' dans une URL). De ce fait, par exemple, http://www.example.com/test.php?id=3 contient les données de GET, qui sont accessibles via $_GET['id']. Voyez aussi $_REQUEST et import_request_variables().

Note: Les tableaux superglobaux, comme $_POST et $_GET sont disponibles depuis PHP 4.1.0.

Note: Les points et les espaces dans les noms de variables sont convertis en underscores. Par exemple, <input name="a.b" /> deviendra $_REQUEST["a_b"].

Comme nous l'avons déjà dis, avant PHP 4.2.0, la valeur par défaut de register_globals était on. La communauté PHP n'encourage personne à utiliser cette directive et privilégie la valeur off et un code accordé.

Note: La directive de configuration magic_quotes_gpc affecte les valeurs de GET, POST et cookies. Si elle est activée, une valeur comme celle de (C'est "PHP!") sera magiquement transformée en (C\'est \"PHP!\"). La protection des caractères est nécessaire pour l'insertion dans les bases de données. Voyez aussi les fonctions addslashes(), stripslashes() et magic_quotes_sybase.

PHP comprend aussi les tableaux dans le contexte des formulaires. (voir aussi la FAQ). Vous pouvez, par exemple, grouper des variables ensemble ou bien utiliser cette fonctionnalité pour lire des valeurs multiples d'un menu déroulant. Par exemple, voici un formulaire qui se poste lui-même des données, et les affiche :

Exemple #3 Variables de formulaires complexes

<?php
if ($_POST) {
    echo '<pre>';
    echo htmlspecialchars(print_r($_POST, true));
    echo '</pre>';
}
?>
<form action="" method="post">
    Name:  <input type="text" name="personal[name]" /><br />
    Email: <input type="text" name="personal[email]" /><br />
    Beer: <br />
    <select multiple name="beer[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br />
    <input type="submit" value="Validez moi !" />
</form>

Nom de variables IMAGE de type SUBMIT

Lors de la soumission d'un formulaire, il est possible d'utiliser une image au lieu d'un bouton standard, comme ceci :

<input type="image" src="image.gif" name="sub" />

Lorsque l'utilisateur clique sur cette image, le formulaire associé est envoyé au serveur, avec deux données supplémentaires, sub_x et sub_y. Elles contiennent les coordonnées du clic de l'utilisateur dans l'image. Vous noterez que ces variables sont envoyées par le navigateur avec un point dans leur nom, mais PHP convertit ces points en soulignés.

Cookies HTTP

PHP supporte les cookies HTTP de manière totalement transparente, comme défini dans les » spécifications de Netscape. Les cookies sont un mécanisme permettant de stocker des données sur la machine cliente à des fins d'identification de l'utilisateur. Vous pouvez établir un cookie grâce à la fonction setcookie(). Les cookies font partie intégrante des en-têtes HTTP et donc la fonction setcookie() doit être appelée avant que le moindre affichage ne soit envoyé au navigateur. C'est la même restriction que pour la fonction header(). Les données contenus dans les cookies sont alors disponibles dans les tableaux de cookies appropriés, comme $_COOKIE, $HTTP_COOKIE_VARS mais aussi $_REQUEST. Lisez la page de la documentation sur la fonction setcookie() pour plus de détails ainsi que des exemples.

Si vous souhaitez assigner plusieurs valeurs à un seul cookie, il devait l'assigner sous forme de tableau. Par exemple :

<?php
setcookie("MyCookie[foo]", 'Test 1', time()+3600);
setcookie("MyCookie[bar]", 'Test 2', time()+3600);
?>

Cela va créer deux cookies distincts bien que MyCookie est maintenant un simple tableau dans votre script. Si vous voulez définir seulement un cookie avec plusieurs valeurs, utilisez la fonction serialize() ou explode() sur la première valeur.

Il est à noter qu'un cookie remplace le cookie précédent par un cookie de même nom tant que le chemin ou le domaine sont identiques. Donc, pour une application de panier, vous devez implémenter un compteur et l'incrémenter au fur et à mesure. C'est-à-dire :

Exemple #4 Exemple avec setcookie()

<?php
if (isset($_COOKIE['compte'])) {
    $compte = $_COOKIE['compte'] + 1;
} else {
    $compte = 1;
}
setcookie('Panier', $compte, time()+3600);
setcookie("Panier[$compte]", $item, time()+3600);
?>

Cas des points dans les noms de variables

Typiquement, PHP ne modifie pas les noms des variables lorsqu'elles sont passées à un script. Cependant, il faut noter que les points (.) ne sont pas autorisés dans les noms de variables PHP. Pour cette raison, jetez un oeil sur :

<?php
  $varname.ext;  /* nom de variable invalide */
?>
Dans ce cas, l'analyseur croit voir la variable nommée $varname, suivie par l'opérateur de concaténation, et suivie encore par la chaîne sans guillemets (une chaîne sans guillemets et qui n'a pas de signification particulière). Visiblement, ce n'est pas ce qu'on attendait...

Pour cette raison, il est important de noter que PHP remplacera automatiquement les points des noms de variables entrantes par des soulignés.

Détermination du type des variables

Parce que PHP détermine le type des variables et les convertit (généralement) comme il faut, ce n'est pas toujours le type de variable que vous souhaitez. PHP inclut des fonctions permettant de déterminer le type d'une variable : gettype(), is_array(), is_float(), is_int(), is_object() et is_string(). Lisez également le chapitre sur les types.

Les variables dynamiques
Les constantes
Les variables


Les constantes

Sommaire

  • Syntaxe
  • Constantes magiques

Une constante est un identifiant (un nom) qui représente une valeur simple. Comme son nom le suggère, cette valeur ne peut jamais être modifiée durant l'exécution du script (sauf les constantes magiques). Par défaut, le nom d'une constante est sensible à la casse. Par convention, les constantes sont toujours en majuscules.

Les noms de constantes suivent les mêmes règles que n'importe quel nom en PHP. Un nom de constante valide commence par une lettre ou un souligné, suivi d'un nombre quelconque de lettre, chiffres ou soulignés. Sous forme d'expression régulière, cela peut s'exprimer comme ceci : [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Astuce

Vous pourriez également avoir besoin de jeter un oeil sur Guide de nommage de l'espace utilisateur.

Exemple #5 Noms valides et invalides pour les constantes

<?php
// Noms valides
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// Noms invalides
define("2FOO",    "something");

// Ce nom est valide, mais évitez-le:
// PHP peut un jour fournir une constante magique nommée
// ainsi, ce qui va corrompre vos scripts.
define("__FOO__", "something");

?>

Note: Dans cette documentation, une lettre peut être un des caractères suivants : de a à z, de A à Z et tous les caractères ASCII de 127 à 255 (0x7f-0xff).

Tout comme les superglobals, les constantes sont accessibles de manière globale. Vous pouvez les définir n'importe où, et y accéder depuis n'importe quelle fonction. Pour plus d'informations sur le contexte, lisez la section du manuel sur la portée des variables.

Variables externes à PHP
Syntaxe
Référence du langage


Syntaxe

Vous pouvez définir une constante en utilisant la fonction define() ou en utilisant le mot-clé const en dehors d'une définition de classe à partir de PHP 5.3.0. Une fois qu'une constante est définie, elle ne peut jamais être modifiée, ou détruite.

Seuls les types de données scalaires peuvent être placés dans une constante : c'est à dire les types booléen, entier, double et chaîne de caractères (soit bool , entier, double et string .) Il est possible de définir des constantes en tant que resource , mais cet usage est déconseillé, car il peut mener à des résultats inattendus.

Vous pouvez accéder à la valeur d'une constante en spécifiant simplement son nom. Contrairement aux variables, vous ne devez PAS préfixer le nom de la constante avec $. Vous pouvez aussi utiliser la fonction constant(), pour lire dynamiquement la valeur d'une constante, dont vous obtenez le nom dynamiquement (retour de fonction, par exemple). Utilisez la fonction get_defined_constants() pour connaître la liste de toutes les constantes définies.

Note: Les constantes et les variables globales utilisent deux espaces de noms différents. Ce qui implique que TRUE et $TRUE sont généralement différents (en tous cas, ils peuvent avoir des valeurs différentes).

Si vous utilisez une constante non définie, PHP considère que vous souhaitez uniquement le nom de la constante elle-même, comme si vous l'appeliez comme étant une chaîne de caractères (CONSTANT vs "CONSTANT"). Une alerte de type E_NOTICE sera émise lorsque ce cas se produit. Lisez également l'entrée du manuel qui explique pourquoi $foo[bar] est faux (tant que vous ne définissez pas bar comme étant une constante). Si vous voulez simplement vérifier qu'une constante est définie, utilisez la fonction defined().

Il y a des différences entre les constantes et les variables :

  • Les constantes ne commencent pas par le signe ($).
  • Les constantes ne peuvent être définies qu'en utilisant la fonction define(), pas par simple assignement.
  • Les constantes sont définies et accessibles à tout endroit du code, globalement.
  • Les constantes ne peuvent pas être redéfinies ou indéfinies une fois qu'elles ont été définies.
  • Les constantes ne peuvent contenir que des scalaires.

Exemple #1 Définir une constante

<?php
  define("CONSTANTE", "Bonjour le monde.");
  echo CONSTANTE; // affiche "Bonjour le monde."
  echo Constante; // affiche "Constante" et une notice.
?>

Exemple #2 Définir des constantes en utilisant le mot-clé const

<?php
// Fonctionne depuis PHP 5.3.0.
const CONSTANT = 'Hello World';

echo CONSTANT;
?>

Note: Contrairement aux constantes définies en utilisation l'instruction define(), les constantes définies en utilisant le mot clé const doivent être déclarées au plus haut niveau du contexte, car elles seront définies au moment de la compilation. Cela signifie qu'elles ne peuvent être déclarées à l'intérieur de fonctions, boucles ou instructions if.

Voir aussi les constantes de classe.

Les constantes
Constantes magiques
Les constantes


Constantes magiques

PHP fournit un grand nombre de constantes magiques. Certaines constantes sont définies par différentes extensions, et ne seront présentes que si ces extensions sont compilées avec PHP, ou bien si l'extension a été chargée dynamiquement.

Il y a sept constantes magiques qui changent suivant l'emplacement où elles sont utilisées. Par exemple, la valeur de __LINE__ dépend de la ligne où vous l'utilisez dans votre script. Ces constantes spéciales sont insensibles à la casse.

Quelques constantes PHP magiques
Nom | Description
__LINE__ | La ligne courante dans le fichier.
__FILE__ | Le chemin complet et le nom du fichier courant. Si utilisé pour une inclusion, le nom du fichier inclus est retourné. Depuis PHP 4.0.2, __FILE__ contient toujours le chemin absolu pour les liens symboliques alors que les anciennes versions contenaient le chemin relatif, dans certaines circonstances.
__DIR__ | Le dossier du fichier. Si utilisé dans une inclusion, le dossier du fichier inclus sera retourné. C'est l'équivalent de dirname(__FILE__). Ce nom de dossier ne contiendra pas de slash final, sauf si c'est le dossier racine. (Ajouté en PHP 5.3.0.)
__FUNCTION__ | Le nom de la fonction. (Ajouté en PHP 4.3.0) Depuis PHP 5, cette constante retourne le nom de la fonction comme il a été déclaré (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
__CLASS__ | Le nom de la classe courante. (Ajouté en PHP 4.3.0) Depuis PHP 5, cette constante retourne le nom de la classe comme il a été déclaré (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
__METHOD__ | Le nom de la méthode courante. (Ajouté en PHP 5.0.0) Le nom de la méthode est retourné comme il a été déclaré (sensible à la casse).
__NAMESPACE__ | Le nom de l'espace de noms courant (sensible à la casse). Cette constante est définie au moment de la compilation (Ajouté en PHP 5.3.0).

Voir aussi
get_class(),
get_object_vars(),
file_exists() et
function_exists().

Syntaxe
Les expressions
Les constantes


Les expressions

Les expressions sont la partie la plus importante de PHP. En PHP, presque tout ce que vous écrivez est une expression. La manière la plus simple de définir une expression est : "tout ce qui a une valeur".

Les formes les plus simples d'expressions sont les constantes et les variables. Lorsque vous écrivez "$a = 5", vous assignez la valeur '5' à la variable $a. Bien évidemment, '5' vaut 5 ou, en d'autres termes, '5' est une expression avec pour valeur 5 (dans ce cas, '5' est un entier constant).

Après cette assignation, vous pouvez considérer que $a a pour valeur 5 et donc, écrire $b = $a, revient à écrire $b = 5. En d'autres termes, $a est une expression avec une valeur de 5. Si tout fonctionne correctement, c'est exactement ce qui arrive.

Un exemple plus complexe concerne les fonctions. Par exemple, considérons la fonction suivante :

<?php
function foo ()
{
    return 5;
}
?>

En supposant que vous êtes familiers avec le concept de fonction, (si ce n'est pas le cas, jetez un oeil au chapitre concernant les fonctions), vous serez d'accord que $c = foo() est équivalent à $c = 5, et vous aurez tout à fait raison. Les fonctions sont des expressions qui ont la valeur de leur "valeur de retour". Si foo() renvoie 5, la valeur de l'expression 'foo()' est 5. Habituellement, les fonctions ne font pas que renvoyer une valeur constante mais réalisent des traitements.

Bien sûr, les valeurs en PHP n'ont pas à être des valeurs numériques, comme c'est souvent le cas. PHP supporte quatre types de variables scalaires : les valeurs entières (entier), les nombres à virgule flottante ( float ), les chaînes de caractères (chaîne de caractères) et les booléens ( boolean ). (une variable scalaire est une variable que vous ne pouvez pas scinder en morceaux, au contraire des tableaux par exemple). PHP supporte aussi deux types composés : les tableaux et les objets. Chacun de ces types de variables peut être affecté ou renvoyé par une fonction.

Les utilisateurs de PHP/FI 2 ne verront aucun changement. Malgré tout, PHP va plus loin dans la gestion des expressions, comme le font d'autres langages. PHP est un langage orienté expression, dans le sens où presque tout est une expression. Considérons l'exemple dont nous avons déjà parlé, '$a = 5'. Il est facile de voir qu'il y a deux valeurs qui entrent en jeu ici, la valeur numérique constante '5' et la valeur de la variable $a qui est mise à jour à la valeur 5. Mais, la vérité est qu'il y a une autre valeur qui entre en jeu ici et c'est la valeur de l'assignation elle-même. L'assignation elle-même est assignée à une valeur, dans ce cas-là 5. En pratique, cela signifie que '$a = 5' est une expression qui a pour valeur 5. Donc, écrire '$b = ($a = 5)' revient à écrire '$a = 5; $b = 5;' (un point virgule marque la fin d'une instruction). Comme les assignations sont analysées de droite à gauche, vous pouvez aussi bien écrire '$b = $a = 5'.

Un autre bon exemple du langage orienté expression est la pre-incrémentation et la post-incrémentation, (ainsi que la décrémentation). Les utilisateurs de PHP/FI 2 et ceux de nombreux autres langages sont habitués à la notation "variable++" et "variable--". Ce sont les opérateurs d'incrémentation et de décrémentation. En PHP/FI 2, l'instruction '$a++' n'a aucune valeur (c'est-à-dire que ce n'est pas une expression) et vous ne pouvez donc pas l'utiliser. PHP ajoute les possibilités d'incrémentation et de décrémentation comme c'est le cas dans le langage C. En PHP, comme en C, il y a deux types d'opérateurs d'incrémentation (pre-incrémentation et post-incrémentation). Les deux types d'opérateur d'incrémentation jouent le même rôle (c'est-à-dire qu'ils incrémentent la variable). La différence vient de la valeur de l'opérateur d'incrémentation. L'opérateur de pre-incrémentation, qui s'écrit '++$variable', évalue la valeur incrémentée (PHP incrémente la variable avant de lire la valeur de cette variable, d'où le nom de pre-incrémentation). L'opérateur de post-incrémentation, qui s'écrit '$variable++', évalue la valeur de la variable avant de l'incrémenter (PHP incrémente la variable après avoir lu sa valeur, d'où le nom de post-incrémentation).

Un type d'expression très commun est l'expression de comparaison. Ces expressions sont évaluées à 0 ou 1, autrement dit FALSE ou TRUE, respectivement. PHP supporte les opérateurs de comparaison > (plus grand que), => (plus grand ou égal), == (égal à), < (plus petit que), <= (plus petit ou égal). Ces expressions sont utilisées de manière courante dans les instructions conditionnelles, comme l'instruction if.

Pour le dernier exemple d'expression, nous allons parler des combinaisons d'opérateurs/assignation. Vous savez que si vous voulez incrémenter la variable $a d'une unité, vous devez simplement écrire '$a++' ou '++$a'. Mais si vous voulez ajouter la valeur '3' à votre variable ? Vous pouvez écrire plusieurs fois '$a++', mais ce n'est pas la meilleure des méthodes. Un pratique plus courante est d'écrire '$a = $a + 3'. L'expression '$a + 3' correspond à la valeur $a plus 3, et est de nouveau assignée à la variable $a. Donc, le résultat est l'incrémentation de 3 unités de la variable $a. En PHP, comme dans de nombreux autres langages comme le C, vous pouvez écrire cela de manière plus concise, manière qui avec le temps se révélera plus claire et plus rapide à comprendre. Ajouter 3 à la valeur de la variable $a peut s'écrire '$a += 3'. Cela signifie précisément : "on prend la valeur de la variable $a, on ajoute la valeur 3 et on assigne cette valeur à la variable $a". Et pour être plus concis et plus clair, cette expression est plus rapide. La valeur de l'expression '$a += 3', comme l'assignation d'une valeur quelconque, est la valeur assignée. Il est à noter que ce n'est pas 3 mais la combinaison de la valeur de la variable $a plus la valeur 3. (c'est la valeur qui est assignée à la variable $a). N'importe quel opérateur binaire peut utiliser ce type d'assignation, par exemple '$a -= 5' (soustraction de 5 de la valeur de la variable $a), '$b *= 7' (multiplication de la valeur de la variable $b par 7).

Il y a une autre expression qui peut paraître complexe si vous ne l'avez pas vue dans d'autres langages, l'opérateur conditionnel ternaire :

<?php
$first ? $second : $third
?>

Si la valeur de la première sous-expression est vraie (TRUE) (différente de 0), alors la deuxième sous-expression est évaluée et constitue le résultat de l'expression conditionnelle. Sinon, c'est la troisième sous-expression qui est évaluée et qui constitue le résultat de l'expression.

Les exemples suivants devraient vous permettre de mieux comprendre la pre-incrémentation, la post-incrémentation et le concept des expressions en général :

<?php
function double($i)
{
    return $i*2;
}

$b = $a = 5;        /* Assigne la valeur 5 aux variables $a et $b  */
$c = $a++;          /* Post-incrémentation de la variable $a et assignation de
                       la valeur à la variable $c */
$e = $d = ++$b;     /* Pre-incrémentation, et assignation de la valeur aux
                       variables $d et $e  */
/* à ce niveau, les variables $d et $e sont égales à 6 */
$f = double($d++);  /* assignation du double de la valeur de $d à la variable $f ($f vaut 12),
                       puis incrémentation de la valeur de $d  */
$g = double(++$e);  /* assigne deux fois la valeur de $e après
                       incrémentation, 2*7 = 14 to $g */
$h = $g += 10;      /* Tout d'abord, $g est incrémentée de 10, et donc $g vaut 24.
                       Ensuite, la valeur de $g, (24) est assignée à la variable $h,
                       qui vaut donc elle aussi 24. */
?>

Au début de ce chapitre, nous avons dit que nous allions décrire les différents types d'instructions, et donc, comme promis, nous allons voir que les expressions peuvent être des instructions. Mais, attention, toutes les expressions ne sont pas des instructions. Dans ce cas-là, une instruction est de la forme 'expr ;', c'est-à-dire, une expression suivie par un point-virgule. L'expression '$b = $a = 5;', '$a = 5' est valide, mais ce n'est pas une instruction en elle-même. '$b = $a = 5;' est une instruction valide.

La dernière chose qui mérite d'être mentionnée est la véritable valeur des expressions. Lorsque vous faites des tests sur une variable, dans une boucle conditionnelle par exemple, cela ne vous intéresse pas de savoir quelle est la valeur exacte de l'expression. Mais vous voulez seulement savoir si le résultat signifie TRUE ou FALSE Les constantes TRUE et FALSE (insensible à la casse) sont les deux valeurs possibles pour un booléen. Lorsque nécessaire, une expression est automatiquement convertie en booléen. Lisez la section sur le transtypage pour plus de détails.

PHP propose une implémentation complète et détaillée des expressions. PHP documente toutes ses expressions dans le manuel que vous êtes en train de lire. Les exemples qui vont suivre devraient vous donner une bonne idée de ce qu'est une expression et comment construire vos propres expressions. Dans tout ce qui va suivre, nous écrirons expr pour indiquer toute expression PHP valide.

Constantes magiques
Les opérateurs
Référence du langage


Les opérateurs

Sommaire

  • La précédence des opérateurs
  • Les opérateurs arithmétiques
  • Les opérateurs d'assignation
  • Opérateurs sur les bits
  • Opérateurs de comparaison
  • Opérateur de contrôle d'erreur
  • Opérateur d'exécution
  • Opérateurs d'incrémentation et décrémentation
  • Les opérateurs logiques
  • Opérateurs de chaînes
  • Opérateurs de tableaux
  • Opérateurs de types

Un opérateur est quelque chose que vous alimentez avec une ou plusieurs valeurs (ou expression, dans le jargon de programmation) qui retourne une autre valeur (donc que la construction elle-même devient une expression). Donc, vous pouvez penser aux fonctions ou constructions qui retournent une valeur (comme print()) comme opérateur et celles qui retournent rien du tout (comme echo()).

Il y a trois types d'opérateurs. Le premier, l'opérateur unaire, qui opère sur une seule valeur, par exemple ! (l'opérateur de négation) ou ++ (l'opérateur d'incrémentation). Le second groupe, les opérateurs binaires ; ce groupe contient la plupart des opérateurs supportés par PHP qui sont listés ci-dessous dans la section "La précédence des opérateurs".

Le troisième groupe est le groupe des opérateurs de terminaison : ?:. Ils doivent être utilisés pour choisir entre deux expressions dépendantes d'une troisième, plutôt que sélectionner deux phrases ou chemins d'exécution. Les expressions ternaires environnantes avec des parenthèses sont une très bonne idée.

Les expressions
La précédence des opérateurs
Référence du langage


La précédence des opérateurs

La priorité des opérateurs spécifie l'ordre dans lequel les valeurs doivent être analysées. Par exemple, dans l'expression 1 + 5 * 3, le résultat est 16 et non 18, car la multiplication ("*") a une priorité supérieure par rapport à l'addition ("+"). Des parenthèses peuvent être utilisées pour forcer la priorité, si nécessaire. Par exemple : (1 + 5) * 3 donnera 18. Si la priorité d'opérateur est égale, l'associativité de gauche à droite est utilisée.

Le tableau suivant dresse une liste de la priorité des différents opérateurs dans un ordre décroissant de priorité. Les opérateurs sur une même ligne ont une priorité équivalente et, dans ce cas, leur association décide de l'ordre de leur évaluation.

Précédence des opérateurs
Associativité | Opérateurs | Information additionnelle
non-associative | clone new | clone et new
gauche | [ | array()
non-associatif | ++ -- | incrémentation/décrémentation
droite | ~ - (int) (float) (string) (array) (object) (bool) @ | types
non-associatif | instanceof | types
droite | ! | logique
gauche | * / % | arithmétique
gauche | + - . | arithmétique et chaîne de caractères
gauche | << >> | bitwise
non-associatif | < <= > >= <> | comparaison
non-associatif | == != === !== | comparaison
gauche | & | bitwise et références
gauche | ^ | bitwise
gauche | | | bitwise
gauche | && | logique
gauche | || | logique
gauche | ? : | ternaire
droite | = += -= *= /= .= %= &= |= ^= <<= >>= => | assignation
gauche | and | logique
gauche | xor | logique
gauche | or | logique
gauche | , | plusieurs utilisations

L'associativité de gauche signifie que l'expression est évaluée de gauche à droite, l'associativité de droite, l'inverse.

Exemple #1 Associativité

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>
Utilisez les parenthèses pour augmenter la lisibilité du code.

Note: Bien que = soit prioritaire sur la plupart des opérateurs, PHP va tout de même exécuter des expressions comme : if (!$a = foo()). Dans cette situation, le résultat de foo() sera placé dans la variable $a.

Les opérateurs
Les opérateurs arithmétiques
Les opérateurs


Les opérateurs arithmétiques

Vous rappelez-vous des opérations élémentaires apprises à l'école ? Les opérateurs arithmétiques fonctionnent comme elles.

Opérations élémentaires
Exemple | Nom | Résultat
-$a | Négation | Opposé de $a.
$a + $b | Addition | Somme de $a et $b.
$a - $b | Soustraction | Différence de $a et $b.
$a * $b | Multiplication | Produit de $a et $b.
$a / $b | Division | Quotient de $a et $b.
$a % $b | Modulo | Reste de $a divisé par $b.

L'opérateur de division ("/") retourne une valeur à virgule flottante sauf si les 2 opérandes sont des entiers (ou une chaîne de caractères qui a été convertie en entiers) et cette valeur est toujours divisible, auquel cas une valeur entière sera retourné.

Les opérandes du modulo sont converties en entiers (en supprimant la partie décimale) avant exécution.

Note: Souvenez-vous que $a % $b est négatif si $a est négatif.

Voir aussi le manuel sur les fonctions mathématiques.

La précédence des opérateurs
Les opérateurs d'assignation
Les opérateurs


Les opérateurs d'assignation

L'opérateur d'assignation le plus simple est le signe "=". Le premier réflexe est de penser que ce signe veut dire "égal à". Ce n'est pas le cas. Il signifie que l'opérande de gauche se voit affecter la valeur de l'expression qui est à droite du signe égal.

La valeur d'une expression d'assignation est la valeur assignée. Par exemple, la valeur de l'expression '$a = 3' est la valeur 3. Cela permet d'utiliser des astuces telles que :

<?php
$a = ($b = 4) + 5;
// $a est maintenant égal à 9, et $b vaut 4.
?>

Pour les arrays , assigner une valeur à une clé donnée est effectué au moyen de l'opérateur "=>". La précédence de cet opérateur est la même que celle des opérateurs d'assignation.

En plus du simple opérateur d'assignation, il existe des "opérateurs combinés" pour tous les opérateurs arithmétiques, l'union de tableaux et pour les opérateurs sur les chaînes de caractères. Cela permet d'utiliser la valeur d'une variable dans une expression et d'affecter le résultat de cette expression à cette variable. Par exemple :

<?php
$a = 3;
$a += 5; // affecte la valeur 8 à la variable $a correspond à l'instruction '$a = $a + 5';
$b = "Bonjour ";
$b .= " tout le monde!";  // affecte la valeur "Bonjour tout le monde!" à
                                    //  la variable $b
                                    //  identique à $b = $b." tout le monde!";

?>

On peut noter que l'assignation copie le contenu de la variable originale dans la nouvelle variable (assignation par valeur), ce qui fait que les changements de valeur d'une variable ne modifieront pas la valeur de l'autre. Cela peut se révéler important lors de la copie d'un grand tableau durant une boucle. L'assignation par référence est également supportée, en utilisant la syntaxe $var = &$othervar;. L'assignation par référence' signifie que les deux variables contiennent les mêmes données, et que la modification de l'une affecte l'autre et rien n'est copié nul part. Pour plus d'informations sur les références, lisez l'explication sur les références. Depuis PHP 5, les objets sont assignés par référence, sans une demande spécifique du contraire en utilisant le nouveau mot clé clone.

Les opérateurs arithmétiques
Opérateurs sur les bits
Les opérateurs


Opérateurs sur les bits

Les opérateurs sur les bits vous permettent de manipuler les bits dans un entier.

Les opérateurs sur les bits
Exemple | Nom | Résultat
$a & $b | And (Et) | Les bits positionnés à 1 dans $a ET dans $b sont positionnés à 1.
$a | $b | Or (Ou) | Les bits positionnés à 1 dans $a OU $b sont positionnés à 1.
$a ^ $b | Xor (ou exclusif) | Les bits positionnés à 1 dans $a OU dans $b mais pas dans les deux sont positionnés à 1.
~ $a | Not (Non) | Les bits qui sont positionnés à 1 dans $a sont positionnés à 0, et vice versa.
$a << $b | Décalage à gauche | Décale les bits de $a, $b fois sur la gauche (chaque décalage équivaut à une multiplication par 2).
$a >> $b | Décalage à droite | Décalage des bits de $a, $b fois par la droite (chaque décalage équivaut à une division par 2).

Le décalage de bits en PHP est arithmétique. Les bits qui sont décalés hors de l'entier sont perdus. Les décalages à gauche font apparaître des zéros à droite, tandis que le bit de signe est décalé à gauche, ce qui signifie que le signe de l'entier n'est pas préservé. Les décalages à droite décalent aussi le bit de signe sur la droite, ce qui signifie que le signe est préservé.

Utilisez des parenthèses pour vous assurer que la précédence voulu est bien appliquée. Par exemple, $a & $b == true applique d'abord l'égalité, et ensuite le et logique, alors que ($a & $b) == true applique d'abord le et logique, puis l'égalité.

Prenez garde aux transtypages. Si les deux paramètres, de chaque coté de l'opérateur, sont des chaînes, l'opérateur de bit va opérer sur les valeurs ASCII des chaînes.

      Le rapport d'erreur de PHP utilise des champs de bits,
      qui sont une illustration de l'extinction des bits.
      Pour afficher les erreurs, sauf les notices, les
      instructions du php.ini sont :
      E_ALL & ~E_NOTICE

      Cela se comprend en comparant avec E_ALL :
      00000000000000000111011111111111
      Puis en éteignant la valeur de E_NOTICE...
      00000000000000000000000000001000
      ... et en l'inversant via ~:
      11111111111111111111111111110111
      Finalement, on utilise le ET logique (&) pour lire les bits activés
      dans les deux valeurs :
      00000000000000000111011111110111

      Un autre moyen d'arriver à ce résultat est d'utiliser
      le OU exclusif (^), qui cherche
      les bits qui ne sont activés que dans l'une ou l'autre des
      valeurs, exclusivement :
      E_ALL ^ E_NOTICE

      error_reporting peut aussi être utilisé pour
      illustrer l'activation de buts. Pour afficher
      uniquement les erreurs et les erreurs recouvrables,
      on utilise :
      E_ERROR | E_RECOVERABLE_ERROR

      Cette approche combine E_ERROR
      00000000000000000000000000000001
      et E_RECOVERABLE_ERROR
      00000000000000000001000000000000
      Avec l'opérateur OR (|) pour s'assurer que
      les bits sont activés dans l'une ou l'autre valeur :
      00000000000000000001000000000001

Exemple #1 Opérations sur les bits et les entiers

<?php
/*
 * Ignorez cette partie,
 * c'est juste du formatage pour clarifier les résultats
 */

$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
        . ' %3$s (%4$2d = %4$04b)' . "\n";

echo <<<EOH
 ---------     ---------  -- ---------
 resultat       valeur        test
 ---------     ---------  -- ---------
EOH;

/*
 * Voici les exemples
 */

$values = array(0, 1, 2, 4, 8);
$test = 1 + 4;

echo "\n Bitwise AND \n";
foreach ($values as $value) {
    $result = $value & $test;
    printf($format, $result, $value, '&', $test);
}

echo "\n Bitwise Inclusive OR \n";
foreach ($values as $value) {
    $result = $value | $test;
    printf($format, $result, $value, '|', $test);
}

echo "\n Bitwise Exclusive OR (XOR) \n";
foreach ($values as $value) {
    $result = $value ^ $test;
    printf($format, $result, $value, '^', $test);
}
?>

L'exemple ci-dessus va afficher :

---------     ---------  -- ---------
 resultat       valeur        test
 ---------     ---------  -- ---------
 Bitwise AND
( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)
( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101)
( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)
( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)
( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101)

 Bitwise Inclusive OR
( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) | ( 5 = 0101)

 Bitwise Exclusive OR (XOR)
( 5 = 0101) = ( 0 = 0000) ^ ( 5 = 0101)
( 4 = 0100) = ( 1 = 0001) ^ ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) ^ ( 5 = 0101)
( 1 = 0001) = ( 4 = 0100) ^ ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) ^ ( 5 = 0101)

Exemple #2 Opération sur les bits et les chaînes

<?php
echo 12 ^ 9; // Affiche '5'

echo "12" ^ "9"; // Affiche le caractère d'effacement (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Affiche les valeurs ASCII #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4

echo 2 ^ "3"; // Affiche 1
              // 2 ^ ((int)"3") == 1

echo "2" ^ 3; // Affiche 1
              // ((int)"2") ^ 3 == 1
?>

Exemple #3 Décalage de bits sur les entiers

<?php
/*
 * Voici quelques exemples
 */

echo "\n--- Décalages à droite sur des entiers positifs ---\n";

$val = 4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'copie du bit de signe maintenant à gauche');

$val = 4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places);

$val = 4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'des bits sont sortis par la droite');

$val = 4;
$places = 4;
$res = $val >> $places;
p($res, $val, '>>', $places, 'même résultat que ci-dessus : pas de décalage au dela de 0');

echo "\n--- Décalages à droite sur des entiers négatifs ---\n";

$val = -4;
$places = 1;
$res = $val >> $places;
p($res, $val, '>>', $places, 'copie du bit de signe maintenant à gauche');

$val = -4;
$places = 2;
$res = $val >> $places;
p($res, $val, '>>', $places, 'des bits sont sortis par la droite');

$val = -4;
$places = 3;
$res = $val >> $places;
p($res, $val, '>>', $places, 'même résultat que ci-dessus : pas de décalage au dela de -1');

echo "\n--- Décalages à gauche sur des entiers positifs ---\n";

$val = 4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'complément de zéros à droite');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 4;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = 4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places, 'les bits de signe sont sortis');

$val = 4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'les bits de signe sont sortis à gauche);

echo "\n--- Décalages à gauche sur des entiers négatifs ---\n";

$val = -4;
$places = 1;
$res = $val << $places;
p($res, $val, '<<', $places, 'complément de zéros à droite');

$val = -4;
$places = (PHP_INT_SIZE * 8) - 3;
$res = $val << $places;
p($res, $val, '<<', $places);

$val = -4;
$places = (PHP_INT_SIZE * 8) - 2;
$res = $val << $places;
p($res, $val, '<<', $places, 'les bits de signe sont sortis à gauche, y compris le bit de signe');

/*
 * Ignorez cette section
 * Elle contient du code pour le formatage de cet exemple
 */

function p($res, $val, $op, $places, $note = '') {
    $format = '%0' . (PHP_INT_SIZE * 8) . "b\n";

    printf("Expression : %d = %d %s %d\n", $res, $val, $op, $places);

    echo " Décimal :\n";
    printf("  val=%d\n", $val);
    printf("  res=%d\n", $res);

    echo " Binaire :\n";
    printf('  val=' . $format, $val);
    printf('  res=' . $format, $res);

    if ($note) {
        echo " Note : $note\n";
    }

    echo "\n";
}
?>

Résultat de l'exemple ci-dessus sur une machine 32 bits :

--- Décalages à droite sur des entiers positifs ---
Expression : 2 = 4 >> 1
 Décimal :
  val=4
  res=2
 Binaire :
  val=00000000000000000000000000000100
  res=00000000000000000000000000000010
 Note : copie du bit de signe maintenant à gauche

Expression : 1 = 4 >> 2
 Décimal :
  val=4
  res=1
 Binaire :
  val=00000000000000000000000000000100
  res=00000000000000000000000000000001

Expression : 0 = 4 >> 3
 Décimal :
  val=4
  res=0
 Binaire :
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 Note : des bits sont sortis par la droite

Expression : 0 = 4 >> 4
 Décimal :
  val=4
  res=0
 Binaire :
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 Note : même résultat que ci-dessus : pas de décalage au dela de 0

--- Décalages à droite sur des entiers négatifs ---
Expression : -2 = -4 >> 1
 Décimal :
  val=-4
  res=-2
 Binaire :
  val=11111111111111111111111111111100
  res=11111111111111111111111111111110
 Note : copie du bit de signe maintenant à gauche

Expression : -1 = -4 >> 2
 Décimal :
  val=-4
  res=-1
 Binaire :
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 Note : des bits sont sortis par la droite

Expression : -1 = -4 >> 3
 Décimal :
  val=-4
  res=-1
 Binaire :
  val=11111111111111111111111111111100
  res=11111111111111111111111111111111
 Note : même résultat que ci-dessus : pas de décalage au dela de -1

--- Décalages à gauche sur des entiers positifs ---
Expression : 8 = 4 << 1
 Décimal :
  val=4
  res=8
 Binaire :
  val=00000000000000000000000000000100
  res=00000000000000000000000000001000
 Note : complément de zéros à droite

Expression : 1073741824 = 4 << 28
 Décimal :
  val=4
  res=1073741824
 Binaire :
  val=00000000000000000000000000000100
  res=01000000000000000000000000000000

Expression : -2147483648 = 4 << 29
 Décimal :
  val=4
  res=-2147483648
 Binaire :
  val=00000000000000000000000000000100
  res=10000000000000000000000000000000
 Note : les bits de signe sont sortis

Expression : 0 = 4 << 30
 Décimal :
  val=4
  res=0
 Binaire :
  val=00000000000000000000000000000100
  res=00000000000000000000000000000000
 Note : bits shift out left side

--- Décalages à gauche sur des entiers négatifs ---
Expression : -8 = -4 << 1
 Décimal :
  val=-4
  res=-8
 Binaire :
  val=11111111111111111111111111111100
  res=11111111111111111111111111111000
 Note : complément de zéros à droite

Expression : -2147483648 = -4 << 29
 Décimal :
  val=-4
  res=-2147483648
 Binaire :
  val=11111111111111111111111111111100
  res=10000000000000000000000000000000

Expression : 0 = -4 << 30
 Décimal :
  val=-4
  res=0
 Binaire :
  val=11111111111111111111111111111100
  res=00000000000000000000000000000000
 Note : bits shift out left side, including sign bit

Résultat de l'exemple ci-dessus sur une machine 64 bits :

--- BIT SHIFT RIGHT ON POSITIVE INTEGERS ---
Expression : 2 = 4 >> 1
 Décimal :
  val=4
  res=2
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000010
 Note : copie du bit de signe maintenant à gauche

Expression : 1 = 4 >> 2
 Décimal :
  val=4
  res=1
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000001

Expression : 0 = 4 >> 3
 Décimal :
  val=4
  res=0
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 Note : des bits sont sortis par la droite

Expression : 0 = 4 >> 4
 Décimal :
  val=4
  res=0
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 Note : même résultat que ci-dessus : pas de décalage au dela de 0

--- BIT SHIFT RIGHT ON NEGATIVE INTEGERS ---
Expression : -2 = -4 >> 1
 Décimal :
  val=-4
  res=-2
 Binaire :
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111110
 Note : copie du bit de signe maintenant à gauche

Expression : -1 = -4 >> 2
 Décimal :
  val=-4
  res=-1
 Binaire :
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 Note : des bits sont sortis par la droite

Expression : -1 = -4 >> 3
 Décimal :
  val=-4
  res=-1
 Binaire :
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111111
 Note : même résultat que ci-dessus : pas de décalage au dela de -1

--- Décalage à gauche sur les entiers négatifs ---
Expression : 8 = 4 << 1
 Décimal :
  val=4
  res=8
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000001000
 Note : complément de zéros à droite

Expression : 4611686018427387904 = 4 << 60
 Décimal :
  val=4
  res=4611686018427387904
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0100000000000000000000000000000000000000000000000000000000000000

Expression : -9223372036854775808 = 4 << 61
 Décimal :
  val=4
  res=-9223372036854775808
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=1000000000000000000000000000000000000000000000000000000000000000
 Note : les bits de signe sont sortis

Expression : 0 = 4 << 62
 Décimal :
  val=4
  res=0
 Binaire :
  val=0000000000000000000000000000000000000000000000000000000000000100
  res=0000000000000000000000000000000000000000000000000000000000000000
 Note : bits shift out left side

--- Décalage à gauche sur les entiers négatifs ---
Expression : -8 = -4 << 1
 Décimal :
  val=-4
  res=-8
 Binaire :
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1111111111111111111111111111111111111111111111111111111111111000
 Note : complément de zéros à droite

Expression : -9223372036854775808 = -4 << 61
 Décimal :
  val=-4
  res=-9223372036854775808
 Binaire :
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=1000000000000000000000000000000000000000000000000000000000000000

Expression : 0 = -4 << 62
 Décimal :
  val=-4
  res=0
 Binaire :
  val=1111111111111111111111111111111111111111111111111111111111111100
  res=0000000000000000000000000000000000000000000000000000000000000000
 Note : bits shift out left side, including sign bit

Avertissement

N'effectuez pas de décalage à droite de plus de 32 bits sur les systèmes 32 bits. N'effectuez pas de décalage à droite dans le cas où le résultat est un nombre plus long que 32 bits. Utilisez les fonctions de l'extension gmp pour les manipulations sur les bits, lorsque les entiers dépassent PHP_INT_MAX.

Voyez aussi
pack(),
unpack(),
gmp_and(),
gmp_or(),
gmp_xor(),
gmp_testbit(),
gmp_clrbit()

Les opérateurs d'assignation
Opérateurs de comparaison
Les opérateurs


Opérateurs de comparaison

Les opérateurs de comparaison, comme leur nom l'indique, vous permettent de comparer deux valeurs. Vous devriez également être intéressés par les tables de comparaisons de types, car ils montrent des exemples de beaucoup de types de comparaisons.

Opérateurs de comparaison
Exemple | Nom | Résultat
$a == $b | Egal | TRUE si $a est égal à $b.
$a === $b | Identique | TRUE si $a est égal à $b et qu'ils sont de même type (introduit en PHP 4).
$a != $b | Différent | TRUE si $a est différent de $b.
$a <> $b | Différent | TRUE si $a est différent de $b.
$a !== $b | Différent | TRUE si $a est différent de $b ou bien qu'ils ne sont pas du même type. (introduit en PHP 4)
$a < $b | Plus petit que | TRUE si $a est strictement plus petit que $b.
$a > $b | Plus grand | TRUE si $a est strictement plus grand que $b.
$a <= $b | Inférieur ou égal | TRUE si $a est plus petit ou égal à $b.
$a >= $b | Supérieur ou égal | TRUE si $a est plus grand ou égal à $b.

Si vous comparez un nombre avec une chaîne ou bien que la comparaison implique des chaînes numériques, alors chaque chaîne sera convertie en un nombre et la comparaison sera effectuée numériquement. Ces règles s'appliquent également à l'instruction switch. La comparaison de type n'a pas de place lorsque la comparaison est === ou !== vu que ceci engendre aussi bien une comparaison de type que de valeur.

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true

switch ("a") {
case 0:
    echo "0";
    break;
case "a": // jamais évalué parce que "a" est déjà trouvé avec 0
    echo "a";
    break;
}
?>

Pour les différents types, la comparaison est faite en suivant la table suivante (dans l'ordre).

Comparaison avec plusieurs types
Type de l'opérande 1 | Type de l'opérande 2 | Résultat
null ou chaîne de caractères | string | Convertit NULL en "", comparaison numérique ou lexicale
booléen ou null | N'importe quoi | Convertit en booléen , FALSE < TRUE
objet | objet | Les classes internes peuvent définir leur propre méthode de comparaison; différentes classes ne sont pas comparables; entre objets de même classe, la comparaison se fait de la même façon que pour les tableaux (PHP 4), PHP 5 a son propre comportement
chaîne de caractères , ressource ou nombre | chaîne de caractères , ressource ou nombre | Transforme les chaînes de caractères et les ressources en nombres
tableaux | tableaux | Le tableau avec le moins de membres est plus petit, si la clé de l'opérande 1 n'est pas trouvée dans l'opérande 2, alors les tableaux ne sont pas comparables, sinon la comparaison se fait valeur par valeur (voir l'exemple suivant)
tableau | N'importe quoi | Le tableau est toujours plus grand
objet | N'importe quoi | L' objet est toujours plus grand

Exemple #1 Transcription des comparaisons standards des tableaux

<?php
// Les tableaux sont comparés comme ceci avec les opérateurs standards de comparaison
function standard_array_compare($op1, $op2)
{
   if (count($op1) < count($op2)) {
      return -1; // $op1 < $op2
   } elseif (count($op1) > count($op2)) {
      return 1; // $op1 > $op2
   }
   foreach ($op1 as $key => $val) {
      if (!array_key_exists($key, $op2)) {
         return null; // incomparable
      } elseif ($val < $op2[$key]) {
         return -1;
      } elseif ($val > $op2[$key]) {
         return 1;
      }
   }
   return 0; // $op1 == $op2
}
?>

Voir aussi strcasecmp(), strcmp() les opérateurs de tableaux, et le chapitre sur les types.

Avertissement

Comparaison de nombre à virgule flottante

A cause de la façon dont les nombres à virgule flottante sont représentés en interne, vous ne devriez pas tester l'égalité entre deux nombres de type float .

See the documentation for float for more information.

L'opérateur ternaire

Un autre opérateur conditionnel est l'opérateur ternaire (":?").

Exemple #2 Assignation d'une valeur par défaut

<?php
// Exemple d'utilisation pour l'opérateur ternaire
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// La ligne ci-dessus est identique à la condition suivante :
if (empty($_POST['action'])) {
   $action = 'default';
} else {
   $action = $_POST['action'];
}

?>
L'expression (expr1) ? (expr2) : (expr3) est évaluée à expr2 si expr1 est évaluée à TRUE, et expr3 si expr1 est évaluée à FALSE.

Depuis PHP 5.3, il est possible d'omettre la partie centrale de l'opérateur ternaire. L'expression expr1 ?: expr3 retourne expr1 si expr1 vaut TRUE, est expr3 sinon.

Note: Notez que l'opérateur ternaire est une instruction, et il n'est pas évalué en tant que variable, mais en tant que résultat de l'instruction. Il est important de savoir si vous voulez retourner une variable par référence. L'instruction return $var == 42 ? $a : $b; dans une fonction retournée par référence ne fonctionnera donc pas et une alerte est émise dans les versions supérieures de PHP.

Note: Il est recommandé de ne pas "empiler" les expressions ternaires. Le comportement de PHP lors de l'utilisation de plus d'un opérateur ternaire dans une seule instruction n'est pas évident :

Exemple #3 Comportement de PHP

<?php
// A première vue, ce qui suit devrait retourner 'true'
echo (true?'true':false?'t':'f');

// cependant, l'expression ci-dessus retournera 't'
// car l'expression ternaire est évaluée de gauche à droite

// l'expression suivante est une version plus évidente du même code
echo ((true ? 'true' : false) ? 't' : 'f');

// ici, vous pouvez voir que la première expression est évaluée à 'true',
// ce qui fait qu'elle est évaluée à (bool)true, ce qui retourne la branche
// 'vraie' de la seconde expression ternaire.
?>

Opérateurs sur les bits
Opérateur de contrôle d'erreur
Les opérateurs


Opérateur de contrôle d'erreur

PHP supporte un opérateur de contrôle d'erreur : c'est @. Lorsque cet opérateur est ajouté en préfixe d'une expression PHP, les messages d'erreur qui peuvent être générés par cette expression seront ignorés.

Si l'option track_errors est activée, les messages d'erreurs générés par une expression seront sauvés dans la variable globale $php_errormsg. Cette variable sera écrasée à chaque erreur. Il faut alors la surveiller souvent pour pouvoir l'utiliser.

<?php
/* Erreur intentionnelle (le fichier n'existe pas): */
$mon_fichier = @file ('non_persistent_file') or
    die ("Impossible d'ouvrir le fichier : L'erreur est : '$php_errormsg'");

// Cela fonctionne avec n'importe quelle expression, pas seulement les fonctions
  $value = @$cache[$key];
// la ligne ci-dessus n'affichera pas d'alerte si la clé $key du tableau n'existe pas

?>

Note: L'opérateur @ ne fonctionne qu'avec les expressions. La règle générale de fonctionnement est la suivante : si vous pouvez prendre la valeur de quelque chose, vous pouvez le préfixer avec @. Par exemple, vous pouvez ajouter @ aux variables, fonctions, à include(), aux constantes, etc. Vous ne pourrez pas le faire avec des éléments de langage tels que les classes, if et foreach, etc.

Voir aussi error_reporting() et la section sur la gestion d'erreurs.

Avertissement

En fait, l'opérateur "@" va aussi désactiver les rapports d'erreurs critiques, qui stoppent l'exécution du script. Entre autres, si vous utilisez "@" pour supprimer les erreurs de certaines fonctions, et que cette fonction n'existe pas, ou qu'elle a été mal orthographiée, vous n'aurez aucune indication.

Opérateurs de comparaison
Opérateur d'exécution
Les opérateurs


Opérateur d'exécution

PHP supporte un opérateur d'exécution : guillemets obliques ("``"). Notez bien qu'il ne s'agit pas de guillemets simples. PHP essaie d'exécuter le contenu de ces guillemets obliques comme une commande shell. Le résultat sera retourné (i.e. : il ne sera pas simplement envoyé à la sortie standard, il peut être assigné à une variable). Utilisez les guillemets obliques revient à utiliser la fonction shell_exec().

Exemple #1 Opérateur d'exécution

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

Note: Cet opérateur est désactivé lorsque le safe mode est activé ou bien que la fonction shell_exec() est désactivée.

Voir aussi le manuel à la section sur les fonctions d'exécution système, popen(), proc_open() et l'utilisation de PHP en ligne de commande.

Opérateur de contrôle d'erreur
Opérateurs d'incrémentation et décrémentation
Les opérateurs


Opérateurs d'incrémentation et décrémentation

PHP supporte les opérateurs de pre- et post-incrémentation et décrémentation, comme en langage C.

Note: Les opérateurs d'incrémentation/décrémentation n'affectent pas les valeurs booléennes. La décrémentation des valeurs NULL n'a également aucun effet, mais leur incrémentation donnera comme résultat 1.

Opérateurs d'incrémentation et décrémentation
Exemple | Nom | Résultat
++$a | Pre-incrémente | Incrémente $a de 1, puis retourne $a.
$a++ | Post-incrémente | Retourne $a, puis incrémente $a de 1.
--$a | Pré-décrémente | Décrémente $a de 1, puis retourne $a.
$a-- | Post-décrémente | Retourne $a, puis décrémente $a de 1.

Voici un exemple simple :

<?php
echo '<h3>Post-incrémentation</h3>';
$a = 5;
echo "Devrait valoir  5: " . $a++ . "<br />\n";
echo "Devrait valoir  6: " . $a . "<br />\n";
echo '<h3>Pre-incrémentation</h3>';
$a = 5;
echo "Devrait valoir  6: " . ++$a . "<br />\n";
echo "Devrait valoir  6: " . $a . "<br />\n";
echo '<h3>Post-décrémentation</h3>';
$a = 5;
echo "Devrait valoir  5: " . $a-- . "<br />\n";
echo "Devrait valoir  4: " . $a . "<br />\n";
echo '<h3>Pre-décrémentation</h3>';
$a = 5;
echo "Devrait valoir  4: " . --$a . "<br />\n";
echo "Devrait valoir  4: " . $a . "<br />\n";
?>

PHP suit les conventions de Perl pour la gestion des opérateurs arithmétiques, et non pas celle du C. Par exemple, en Perl 'Z'+1 retourne 'AA', alors qu'en C, 'Z'+1 retourne '[' (ord('Z') == 90, donc ord('[') == 91). Notez que les variables de caractères peuvent être incrémentées, mais pas décrémentées et même seuls les caractères ASCII (a-z et A-Z) sont supportés.

Exemple #1 Opérations arithmétiques sur un caractère

<?php
$i = 'W';
for($n=0; $n<6; $n++) {
  echo ++$i . "\n";
}
?>

L'exemple ci-dessus va afficher :

X
Y
Z
AA
AB
AC

L'incrémentation ou la décrémentation d'un booléen n'a aucun effet.

Opérateur d'exécution
Les opérateurs logiques
Les opérateurs


Les opérateurs logiques

Les opérateurs logiques
Exemple | Nom | Résultat
$a and $b | And (Et) | TRUE si $a ET $b valent TRUE.
$a or $b | Or (Ou) | TRUE si $a OU $b valent TRUE.
$a xor $b | XOR | TRUE si $a OU $b est TRUE, mais pas les deux en même temps.
! $a | Not (Non) | TRUE si $a n'est pas TRUE.
$a && $b | And (Et) | TRUE si $a ET $b sont TRUE.
$a || $b | Or (Ou) | TRUE si $a OU $b est TRUE.

La raison pour laquelle il existe deux types de "ET" et de "OU" est qu'ils ont des priorités différentes. Voir le paragraphe précédence d'opérateurs.

Exemple #1 Illustration des opérateurs logiques

<?php

// --------------------
// foo() ne sera jamais appeler car ces opérateurs s'annulent

$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// --------------------
// "||" a un précédence supérieure à "or"

// Le résultat de l'expression (false || true) est assigné à $e
// Agit comme : ($e = (false || true))
$e = false || true;

// La constante false est assignée à $f, puis, true est ignoré
// Agit comme : (($f = false) or true)
$f = false or true;

var_dump($e, $f);

// --------------------
// "&&" a un précédence supérieure à "and"

// Le résultat de l'expression (true && false) est assigné à $g
// Agit comme : ($g = (true && false))
$g = true && false;

// La constante true est assignée à $h, puis, false est ignoré
// Agit comme : (($h = true) and false)
$h = true and false;

var_dump($g, $h);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)
bool(false)
bool(true)
Opérateurs d'incrémentation et décrémentation
Opérateurs de chaînes
Les opérateurs


Opérateurs de chaînes

Il y a deux opérateurs de chaînes de caractères string . Le premier est l'opérateur de concaténation ('.'), qui retourne la concaténation de ses deux arguments. Le second est l'opérateur d'assignation concaténant (.=). Reportez-vous à opérateurs d'assignation pour plus de détails.

Exemple #1 Opérateur de concaténation

<?php
$a = "Bonjour ";
$b = $a . "Monde !"; // $b contient "Bonjour Monde !"

$a = "Bonjour ";
$a = $a . "Monde !"; // $a contient "Bonjour Monde !"
?>

Voir aussi les sections du manuel sur les types de chaînes de caractères et les chaînes de caractères.

Les opérateurs logiques
Opérateurs de tableaux
Les opérateurs


Opérateurs de tableaux

Opérateurs de tableaux
Exemple | Nom | Résultat
$a + $b | Union | Union de $a et $b.
$a == $b | Egalité | TRUE si $a et $b contiennent les mêmes paires clés/valeurs.
$a === $b | Identique | TRUE si $a et $b contiennent les mêmes paires clés/valeurs dans le même ordre et du même type.
$a != $b | Inégalité | TRUE si $a n'est pas égal à $b.
$a <> $b | Inégalité | TRUE si $a n'est pas égal à $b.
$a !== $b | Non-identique | TRUE si $a n'est pas identique à $b.

L'opérateur + ajoute les éléments du tableau de droite au tableau de gauche, sans pour autant écraser les clés communes.

<?php
$a = array("a" => "pomme", "b" => "banane");
$b = array("a" =>"poire", "b" => "fraise", "c" => "cerise");

$c = $a + $b; // Union de $a et $b
echo "Union de \$a et \$b : \n";
var_dump($c);

$c = $b + $a; // Union de $b et $a
echo "Union de \$b et \$a : \n";
var_dump($c);
?>
À l'exécution, le script affichera :
Union de $a et $b :
array(3) {
  ["a"]=>
  string(5) "pomme"
  ["b"]=>
  string(6) "banane"
  ["c"]=>
  string(6) "cerise"
}
Union de $b et $a :
array(3) {
  ["a"]=>
  string(5) "poire"
  ["b"]=>
  string(6) "fraise"
  ["c"]=>
  string(6) "cerise"
}

Les éléments d'un tableau sont égaux en terme de comparaison s'ils ont la même clé et la même valeur.

Exemple #1 Comparer des tableaux

<?php
$a = array("pomme", "banane");
$b = array(1 => "banane", "0" => "pomme");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Voyez aussi le manuel aux sections Tableaux et fonctions de tableaux.

Opérateurs de chaînes
Opérateurs de types
Les opérateurs


Opérateurs de types

instanceof est utilisé pour déterminer si une variable PHP est un objet instancié d'une certaine classe :

Exemple #1 Utilisation de instanceof avec des classes

<?php
class MaClasse
{
}
class PasMaClasse
{
}
$a = new MaClasse;

var_dump($a instanceof MaClasse);
var_dump($a instanceof PasMaClasse);
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

instanceof peut également être utilisé pour déterminer si une variable est un objet instancié d'une classe qui hérite d'une classe parente :

Exemple #2 Utilisation de instanceof avec des classes héritées

<?php
class ParentClass
{
}
class MyClass extends ParentClass
{
}
$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof ParentClass);
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)

Pour vérifier si un objet n'est pas une instance d'une classe, l'opérateur logique not peut être utilisé.

Exemple #3 Utilisation de instanceof pour vérifier que l'objet n'est pas une instance de la classe

<?php
class MyClass
{
}
$a = new MyClass;
var_dump(!($a instanceof stdClass));
?>

L'exemple ci-dessus va afficher :

bool(true)

Et finalement, instanceof peut être utilisé pour déterminer si une variable est un objet instancié d'une classe qui implémente une interface :

Exemple #4 Utilisation de instanceof pour une classe

<?php
interface MyInterface
{
}
class MyClass implements MyInterface
{
}
$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof MyInterface);
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)

Bien que instanceof soit habituellement utilisé avec un nom de classe littéral, il peut également être utilisé avec un autre objet ou une chaîne représentant une variable :

Exemple #5 Utilisation de instanceof avec d'autres variables

<?php
interface MyInterface
{
}
class MyClass implements MyInterface
{
}
$a = new MyClass;
$b = new MyClass;
$c = 'MyClass';
$d = 'NotMyClass';
var_dump($a instanceof $b); // $b est un objet de la classe MyClass
var_dump($a instanceof $c); // $c est une chaîne 'MyClass'
var_dump($a instanceof $d); // $d est une chaîne 'NotMyClass'
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)
bool(false)

Il y a quelque piège à éviter. Avant PHP version 5.1.0, instanceof appellera __autoload() si le nom de la classe n'existe pas. De plus, si la classe n'a pas été chargée, une erreur fatale sera émise. Ceci peut fonctionner en utilisant une référence de classe dynamique, ou une chaîne représentant une variable contenant le nom de la classe :

Exemple #6 Pas de recherche sur le nom de la classe et une erreur fatale avec instanceof en PHP 5.0

<?php
$d = 'NotMyClass';
var_dump($a instanceof $d); // no fatal error here
?>

L'exemple ci-dessus va afficher :

bool(false)

L'opérateur instanceof a été introduit en PHP 5. Avant cette version, is_a() était utilisé mais is_a() est depuis devenu obsolète, en faveur de instanceof. Notez que depuis PHP 5.3.0, is_a() n'est de nouveau plus obsolète.

Voir aussi get_class() et is_a().

Opérateurs de tableaux
Les structures de contrôle
Les opérateurs


Les structures de contrôle

Sommaire

  • Introduction
  • if
  • else
  • elseif/else if
  • Syntaxe alternative
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto
Opérateurs de types
Introduction
Référence du langage


Introduction

Tous les scripts PHP sont une suite d'instructions. Une instruction peut être une assignation, un appel de fonction, une instruction conditionnelle ou bien une instruction qui ne fait rien (une instruction vide). Une instruction se termine habituellement par un point virgule (";"). De plus, plusieurs instructions peuvent être regroupées en bloc, délimité par des accolades ("{}"). Un bloc est considéré comme une instruction. Les différents types d'instructions sont décrits dans ce chapitre.

Les structures de contrôle
if
Les structures de contrôle


if

L'instruction if est une des plus importantes instructions de tous les langages, PHP inclus. Elle permet l'exécution conditionnelle d'une partie de code. Les fonctionnalités de l'instruction if sont les mêmes en PHP qu'en C :

if (expression)
  commandes

Comme nous l'avons vu dans le paragraphe consacré aux expressions, expression est convertie en sa valeur booléenne. Si l'expression vaut TRUE, PHP exécutera l'instruction et si elle vaut FALSE, l'instruction sera ignorée. Plus de détails sur les valeurs qui valent FALSE sont disponibles dans la section Conversion en booléen.

L'exemple suivant affiche la phrase a est plus grand que b si $a est plus grand que $b :

<?php
if ($a > $b)
  echo "a est plus grand que b";
?>

Souvent, vous voulez que plusieurs instructions soient exécutées après un branchement conditionnel. Bien évidemment, il n'est pas obligatoire de répéter l'instruction conditionnelle if autant de fois que vous avez d'instructions à exécuter. À la place, vous pouvez rassembler toutes les instructions dans un bloc. L'exemple suivant affiche a est plus grand que b, si $a est plus grand que $b, puis assigne la valeur de $a à la variable $b :

<?php
if ($a > $b) {
  echo "a est plus grand que b";
  $b = $a;
}
?>

Vous pouvez imbriquer indéfiniment des instructions if dans d'autres instructions if, ce qui permet une grande flexibilité dans l'exécution d'une partie de code suivant un grand nombre de conditions.

Introduction
else
Les structures de contrôle


else

Souvent, vous voulez exécuter une instruction si une condition est remplie, et une autre instruction si cette condition n'est pas remplie. C'est à cela que sert else. else fonctionne après un if et exécute les instructions correspondantes au cas où l'expression du if est FALSE. Dans l'exemple suivant, ce bout de code affiche a est plus grand que b si la variable $a est plus grande que la variable $b, et a est plus petit que b sinon :

<?php
if ($a > $b) {
  echo "a est plus grand que b";
} else {
  echo "a est plus petit que b";
}
?>
Les instructions après le else ne sont exécutées que si l'expression du if est FALSE, et si elle n'est pas suivi par l'expression elseif - uniquement si elles sont évaluées à FALSE (voir elseif).

if
elseif/else if
Les structures de contrôle


elseif/else if

elseif, comme son nom l'indique, est une combinaison de if et de else. Comme l'expression else, il permet d'exécuter une instruction après un if dans le cas où le "premier" if est évalué comme FALSE. Mais, à la différence de l'expression else, il n'exécutera l'instruction que si l'expression conditionnelle elseif est évaluée comme TRUE. L'exemple suivant affichera a est plus grand que b, a est égal à b ou a est plus petit que b :

<?php
if ($a > $b) {
    echo "a est plus grand que b";
} elseif ($a == $b) {
    echo "a est égal à b";
} else {
    echo "a est plus petit que b";
}
?>

Vous pouvez avoir plusieurs elseif qui se suivent les uns après les autres, après un if initial. Le premier elseif qui sera évalué à TRUE sera exécuté. En PHP, vous pouvez aussi écrire "else if" en deux mots et son comportement sera identique à la version en un seul mot. La sémantique des deux expressions est légèrement différente, mais au bout du compte, le résultat sera exactement le même.

L'expression elseif est exécutée seulement si le if précédent et tout autre elseif précédent sont évalués comme FALSE, et que votre elseif est évalué à TRUE.

Note: A noter que elseif et else if sont traités de la même façon seulement quand des accolades sont utilisées, comme dans l'exemple ci-dessus. Quand vous utilisez ":" pour définir votre condition if/elseif, vous ne devez pas séparer else if en deux mots, sans quoi PHP soulèvera une erreur d'interprétation.

<?php

/* Mauvaise méthode : */
if($a > $b):
    echo $a." est plus grand que ".$b;
else if($a == $b): // ne compilera pas
    echo "La ligne ci-dessus provoque une erreur d'interprétation";
endif;

/* Bonne méthode : */
if($a > $b):
    echo $a." est plus grand que ".$b;
elseif($a == $b): // Les deux mots sont collés
    echo $a." égal ".$b;
else:
    echo $a." est plus grand ou égal à ".$b;
endif;

?>

else
Syntaxe alternative
Les structures de contrôle


Syntaxe alternative

PHP propose une autre manière de rassembler des instructions à l'intérieur d'un bloc, pour les fonctions de contrôle if, while, for, foreach et switch. Dans chaque cas, le principe est de remplacer l'accolade d'ouverture par deux points (:) et l'accolade de fermeture par, respectivement, endif;, endwhile;, endfor;, endforeach;, ou endswitch;.

<?php if ($a == 5): ?>
A égal 5
<?php endif; ?>

Dans l'exemple ci-dessus, le bloc HTML "A égal 5" est inclus à l'intérieur d'un if en utilisant cette nouvelle syntaxe. Ce code HTML ne sera affiché que si la variable $a est égale à 5.

Cette autre syntaxe fonctionne aussi avec le else et elseif. L'exemple suivant montre une structure avec un if, un elsif et un else utilisant cette autre syntaxe :

<?php
if ($a == 5):
    echo "a égal 5";
    echo "...";
elseif ($a == 6):
    echo "a égal 6";
    echo "!!!";
else:
    echo "a ne vaut ni 5 ni 6";
endif;
?>

Note: Vous ne pouvez pas utiliser différentes synthaxes dans le même bloc de contrôle.

Voir aussi while, for, et if pour d'autres exemples.

elseif/else if
while
Les structures de contrôle


while

La boucle while est le moyen le plus simple d'implémenter une boucle en PHP. Cette boucle se comporte de la même manière qu'en C. L'exemple le plus simple d'une boucle while est le suivant :

while (expression)
    commandes

La signification d'une boucle while est très simple. PHP exécute l'instruction tant que l'expression de la boucle while est évaluée comme TRUE. La valeur de l'expression est vérifiée à chaque début de boucle, et, si la valeur change durant l'exécution de l'instruction, l'exécution ne s'arrêtera qu'à la fin de l'itération (chaque fois que PHP exécute l'instruction, on appelle cela une itération). De temps en temps, si l'expression du while est FALSE avant la première itération, l'instruction ne sera jamais exécutée.

Comme avec le if, vous pouvez regrouper plusieurs instructions dans la même boucle while en les regroupant à l'intérieur de parenthèses ou en utilisant la syntaxe suivante :

while (expression):
    commandes
    ...
endwhile;

Les exemples suivants sont identiques et affichent tous les nombres de 1 jusqu'à 10 :

<?php
/* exemple 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* La valeur affiche est $i avant l'incrémentation
                   (post-incrémentation)  */
}

/* exemple 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

Syntaxe alternative
do-while
Les structures de contrôle


do-while

Les boucles do-while ressemblent beaucoup aux boucles while, mais l'expression est testée à la fin de chaque itération plutôt qu'au début. La principale différence par rapport à la boucle while est que la première itération de la boucle do-while est toujours exécutée (l'expression n'est testée qu'à la fin de l'itération), ce qui n'est pas le cas lorsque vous utilisez une boucle while (la condition est vérifiée dès le début de chaque itération, et si elle s'avère FALSE dès le début, la boucle sera immédiatement arrêtée).

Il n'y a qu'une syntaxe possible pour les boucles do-while :

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

La boucle ci-dessus ne va être exécutée qu'une seule fois, car lorsque l'expression est évaluée, elle vaut FALSE (car la variable $i n'est pas plus grande que 0) et l'exécution de la boucle s'arrête.

Les utilisateurs familiers du C sont habitués à une utilisation différente des boucles do-while , qui permet de stopper l'exécution de la boucle au milieu des instructions, en l'encapsulant dans un do-while(0) la fonction break. Le code suivant montre une utilisation possible :

<?php
do {
    if ($i < 5) {
        echo "i n'est pas suffisamment grand";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i est bon";

    /* ...traitement de i... */

} while (0);
?>

Ne vous inquiétez pas si vous ne comprenez pas tout correctement. Vous pouvez écrire des scripts très très puissants sans utiliser cette fonctionnalité. Depuis PHP 5.3.0, il est possible d'utiliser l'opérateur goto à l'intérieur de cette fonctionnalité.

while
for
Les structures de contrôle


for

Les boucles for sont les boucles les plus complexes en PHP. Elles fonctionnent comme les boucles for du langage C. La syntaxe des boucles for est la suivante :

for (expr1; expr2; expr3)
    commandes

La première expression (expr1) est évaluée (exécutée), quoi qu'il arrive au début de la boucle.

Au début de chaque itération, l'expression expr2 est évaluée. Si l'évaluation vaut TRUE, la boucle continue et l'instruction est exécutée. Si l'évaluation vaut FALSE, l'exécution de la boucle s'arrête.

À la fin de chaque itération, l'expression expr3 est évaluée (exécutée).

Les expressions peuvent éventuellement être laissées vides ou peuvent contenir plusieurs expressions séparées par des virgules. Dans expr2, toutes les expressions séparées par une virgule sont évaluées mais le résultat est obtenu depuis la dernière partie. Si l'expression expr2 est laissée vide, cela signifie que c'est une boucle infinie (PHP considère implicitement qu'elle vaut TRUE, comme en C). Cela n'est pas vraiment très utile, à moins que vous souhaitiez terminer votre boucle par l'instruction conditionnelle break.

Considérons les exemples suivants. Tous affichent les chiffres de 1 jusqu'à 10 :

<?php
/* exemple 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* exemple 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* exemple 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* exemple 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Bien évidemment, le premier exemple est le plus simple de tous (ou peut être le quatrième), mais vous pouvez aussi penser qu'utiliser une expression vide dans une boucle for peut être utile parfois.

PHP supporte aussi la syntaxe alternative suivante pour les boucles for :

for (expr1; expr2; expr3):
    commandes
    ...
endfor;

Beaucoup de personnes ont l'habitude d'itérer grâce à des tableaux, comme dans l'exemple ci dessous.

<?php
/*
 * Ceci est un tableau avec des données que nous voulons modifier
 * au long de la boucle
*/
$people = Array(
        Array('name' => 'Kalle', 'salt' => 856412),
        Array('name' => 'Pierre', 'salt' => 215863)
        );

for($i = 0; $i < sizeof($people); ++$i)
{
    $people[$i]['salt'] = rand(000000, 999999);
}
?>

Le problème se situe dans le deuxième argument de l'expression for. Ce code peut être lent parce qu'il doit calculer la taille du tableau à chaque itération. Etant donné que la taille ne change jamais, il peut facilement être optimisé en utilisant une variable intermédiaire pour stocker la taille et en l'utilisant dans la boucle à la place de sizeof. L'exemple ci-dessous illustre ce cas :

<?php
$people = Array(
        Array('name' => 'Kalle', 'salt' => 856412),
        Array('name' => 'Pierre', 'salt' => 215863)
        );

for($i = 0, $size = sizeof($people); $i < $size; ++$i)
{
    $people[$i]['salt'] = rand(000000, 999999);
}
?>

do-while
foreach
Les structures de contrôle


foreach

PHP 4 introduit une commande foreach, comme en Perl ou d'autres langages. C'est un moyen simple de passer en revue un tableau. foreach fonctionne uniquement sur les tableaux, et retournera une erreur si vous tentez de l'utiliser sur une variable d'un autre type ou non initialisée. Il y a deux syntaxes possibles : la seconde est une extension mineure mais pratique de la première.

foreach (array_expression as $value)
    commandes
foreach (array_expression as $key => $value)
    commandes

La première forme passe en revue le tableau array_expression. À chaque itération, la valeur de l'élément courant est assignée à $value et le pointeur interne de tableau est avancé d'un élément (ce qui fait qu'à la prochaine itération, on accédera à l'élément suivant).

La deuxième forme fait exactement la même chose, mais c'est la clé de l'élément courant qui est assigné à la variable $key.

Depuis PHP 5, il est possible d' itérer également des objets.

Note: Lorsque foreach démarre, le pointeur interne de fichier est automatiquement ramené au premier élément du tableau. Cela signifie que vous n'aurez pas à faire appel à reset() avant foreach.

Note: A moins que le tableau soit une référence, foreach opère sur une copie du tableau spécifié et non sur le tableau lui-même. foreach affecte le pointeur interne du tableau. Ne l'utilisez pas sans le remettre à zéro avant.

Depuis PHP 5, vous pouvez modifier facilement les éléments d'un tableau en précédent $value d'un &. Ceci assignera une référence au lieu de copier la valeur.

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr vaut maintenant array(2, 4, 6, 8)
unset($value); // Stop la référence sur le dernier élément
?>
Ceci n'est possible que si le tableau itéré peut être référencé (i.e. est une variable), ce qui signifie que le code suivant ne fonctionne pas :
<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}

?>

Avertissement

La référence de $value et le dernier élément du tableau sont conservés après l'exécution de la boucle foreach. Il est recommandé de les détruire en utilisant la fonction unset().

Note: foreach n'accepte pas l'opérateur de suppression des erreurs @.

Vous pouvez remarquer que les exemples suivants fonctionnent de manière identique :

<?php
$arr = array("un", "deux", "trois");
reset($arr);
while (list(, $value) = each($arr)) {
    echo "Valeur : $value<br />\n";
}

foreach ($arr as $value) {
    echo "Valeur : $value<br />\n";
}
?>
Les exemples suivants sont aussi fonctionnellement identiques :
<?php
$arr = array("un", "deux", "trois");
reset($arr);
while (list($key, $value) = each($arr)) {
    echo "Clé : $key; Valeur : $value<br />\n";
}

foreach ($arr as $key => $value) {
    echo "Clé : $key; Valeur : $value<br />\n";
}
?>

Voici quelques exemples de plus :

<?php
/* exemple foreach 1 : la valeur seulement */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Valeur courante de \$a: $v.\n";
}

/* exemple foreach 2 : la valeur et sa clé d'index */

$a = array(1, 2, 3, 17);

$i = 0; /* uniquement pour l'illustration */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* exemple foreach 3 : la clé et la valeur */

$a = array(
    "un" => 1,
    "deux" => 2,
    "trois" => 3,
    "dix-sept" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* exemple foreach 4 : tableaux multidimensionnels */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* exemple foreach 5 : tableaux dynamiques */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

for
break
Les structures de contrôle


break

L'instruction break permet de sortir d'une structure for, foreach, while, do-while ou switch.

break accepte un argument numérique optionnel qui vous indiquera combien de structures emboîtées doivent être interrompues.

<?php
$arr = array('un', 'deux', 'trois', 'quatre', 'stop', 'cinq');
while (list(, $val) = each($arr)) {
    if ($val == 'stop') {
        break;    /* Vous pourriez aussi utiliser 'break 1;' ici. */
    }
    echo "$val<br />\n";
}

/* Utilisation de l'argument optionnel. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "At 5<br />\n";
        break 1;  /* Termine uniquement le switch. */
    case 10:
        echo "At 10; quitting<br />\n";
        break 2;  /* Termine le switch et la boucle while. */
    default:
        break;
    }
}
?>

foreach
continue
Les structures de contrôle


continue

L'instruction continue est utilisée dans une boucle afin d'éluder les instructions de l'itération courante et de continuer l'exécution à la condition de l'évaluation et donc, de commencer la prochaine itération.

Note: Notez qu'en PHP, la structure switch est considérée comme une boucle par continue.

continue accepte un argument numérique optionnel qui vous indiquera combien de structures emboîtées ont été ignorées.

Note: continue 0; et continue 1; sont identiques à continue;.

<?php
while (list($key, $value) = each($arr)) {
    if (!($key % 2)) { // évite les membres impairs
        continue;
    }
    do_something_odd($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Dehors<br />\n";
    while (1) {
        echo "Milieu<br />\n";
        while (1) {
            echo "Intérieur<br />\n";
            continue 3;
        }
        echo "Ceci n'est jamais atteint.<br />\n";
    }
    echo "Ceci non plus.<br />\n";
}
?>

Oublier le point virgule après continue peut porter à confusion. Voici un exemple de ce que vous ne devez pas faire :

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

On peut s'attendre à ce que le résultat soit :

0
1
3
4

mais ce script affichera :

2

car la valeur de retour de l'appel à print() est int(1), et cela se comportera alors comme si on avait fournit l'argument optionnel mentionné plus haut.

break
switch
Les structures de contrôle


switch

L'instruction switch équivaut à une série d'instructions if. En de nombreuses occasions, vous aurez besoin de comparer la même variable (ou expression) avec un grand nombre de valeurs différentes, et d'exécuter différentes parties de code suivant la valeur à laquelle elle est égale. C'est exactement à cela que sert l'instruction switch.

Note: Notez que contrairement à d'autres langages, la structure continue s'applique aux structures switch et se comporte de la même manière que break. Si vous avez un switch dans une boucle, et que vous souhaitez continuer jusqu'à la prochaine itération de la boucle extérieure, vous devez utiliser continue 2.

Note: Notez que switch/case provoque une perte de comparaison.

Les deux exemples suivants sont deux manières différentes d'écrire la même chose, l'une en utilisant une séries de if, et l'autre en utilisant l'instruction switch :

Exemple #1 Instruction switch

<?php
if ($i == 0) {
    echo "i égal 0";
} elseif ($i == 1) {
    echo "i égal 1";
} elseif ($i == 2) {
    echo "i égal 2";
}

switch ($i) {
    case 0:
        echo "i égal 0";
        break;
    case 1:
        echo "i égal 1";
        break;
    case 2:
        echo "i égal 2";
        break;
}
?>

Exemple #2 Instruction switch utilisant une chaîne de caractères

<?php
switch ($i) {
    case "apple":
        echo "i est une tarte";
        break;
    case "bar":
        echo "i est une barre";
        break;
    case "cake":
        echo "i est un gateau";
        break;
}
?>

Il est important de comprendre que l'instruction switch exécute chacune des clauses dans l'ordre. L'instruction switch est exécutée ligne par ligne. Au début, aucun code n'est exécuté. Seulement lorsqu'un case est vérifié, PHP exécute alors les instructions correspondantes. PHP continue d'exécuter les instructions jusqu'à la fin du bloc d'instructions du switch, ou bien dès qu'il trouve l'instruction break. Si vous ne pouvez pas utiliser l'instruction break à la fin de l'instruction case, PHP continuera à exécuter toutes les instructions qui suivent. Par exemple :

<?php
switch ($i) {
    case 0:
        echo "i égal 0";
    case 1:
        echo "i égal 1";
    case 2:
        echo "i égal 2";
}
?>

Dans cet exemple, si $i est égal à 0, PHP va exécuter quand même toutes les instructions qui suivent! Si $i est égal à 1, PHP exécutera les deux dernières instructions. Et seulement si $i est égal à 2, vous obtiendrez le résultat escompté, c'est-à-dire, l'affiche de "i égal 2". Donc, l'important est de ne pas oublier l'instruction break (même s'il est possible que vous l'omettiez dans certaines circonstances).

Dans une commande switch, une condition n'est évaluée qu'une fois, et le résultat est comparé à chaque case. Dans une structure elseif, les conditions sont évaluées à chaque comparaison. Si votre condition est plus compliquée qu'une simple comparaison, ou bien fait partie d'une boucle, switch sera plus rapide.

La liste de commandes d'un case peut être vide, auquel cas PHP utilisera la liste de commandes du cas suivant.

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i est plus petit que 3 mais n'est pas négatif";
    break;
case 3:
    echo "i égal 3";
}
?>

Un cas spécial est default. Ce cas est utilisé lorsque tous les autres cas ont échoué. Par exemple :

<?php
switch ($i) {
    case 0:
        echo "i égal 0";
        break;
    case 1:
        echo "i égal 1";
        break;
    case 2:
        echo "i égal 2";
        break;
    default:
       echo "i n'est ni égal à 2, ni à 1, ni à 0.";
}
?>

Une autre chose à mentionner est que la valeur du case peut être toute expression de type scalaire, c'est-à-dire nombre entier, nombre à virgule flottante et chaîne de caractères. Les tableaux sont sans intérêt dans ce contexte-là.

La syntaxe alternative pour cette structure de contrôle est la suivante : (pour plus d'informations, voir syntaxes alternatives).

<?php
switch ($i):
    case 0:
        echo "i égal 0";
        break;
    case 1:
        echo "i égal 1";
        break;
    case 2:
        echo "i égal 2";
        break;
    default:
        echo "i n'est ni égal à 2, ni à 1, ni à 0";
endswitch;
?>

Il est possible d'utiliser un point-virgule plutôt que deux points après un case, comme ceci :

<?php
switch($beer)
{
    case 'leffe';
    case 'grimbergen';
    case 'guinness';
        echo 'Bon choix';
    break;
    default;
        echo 'Merci de faire un choix...';
    break;
}
?>

continue
declare
Les structures de contrôle


declare

L'élément de langage declare sert à ajouter des directives d'exécutions dans un bloc de code. La syntaxe de declare est similaire à la syntaxe des autres fonctions de contrôle :

declare (directive)
    commandes

L'expression directive permet de contrôler l'intervention du bloc declare. Actuellement, seulement deux directives sont reconnues : la directive ticks (voir plus bas pour plus de détails sur les ticks) et la directive d'encodage encoding (Voir plus bas pour plus de détails sur la directive encoding).

Note: La directive encoding a été ajoutée en PHP 5.3.0.

L'expression commandes du bloc de declare sera exécutée. Comment elle sera exécutée, et quels effets cela aura, dépend de la directive utilisée dans le bloc directive.

La structure declare peut aussi être utilisée dans le contexte global. Elle affecte alors tout le code qui la suit (même si le fichier avec declare a été inclus après, ça n'affecte pas le fichier parent).

<?php
// Ces déclaration sont identiques.

// Vous pouvez utiliser ceci
declare(ticks=1) {
    // script entier ici
}

// ou ceci
declare(ticks=1);
// script entier ici
?>

Ticks

Un tick est un événement qui intervient toutes les N commandes bas niveau tickables, exécutées par l'analyseur dans le bloc de declare. La valeur de N est spécifiée par la syntaxe ticks=N dans le bloc de directive declare.

Toutes les commandes ne sont pas tickables. Typiquement, les expressions de condition et les expressions d'arguments ne sont pas tickables.

Un événement qui intervient à chaque tick est spécifié avec la fonction register_tick_function(). Reportez-vous à l'exemple ci-dessous pour plus de détails. Notez que plus d'un événement peut intervenir par tick.

Exemple #1 Exemple d'utilisation des ticks

<?php

declare(ticks=1);

// A function called on each tick event
function tick_handler()
{
    echo "tick_handler() called\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
    $a += 2;
    print($a);
}

?>

Exemple #2 Exemple d'utilisation des ticks

<?php

function tick_handler()
{
  echo "tick_handler() called\n";
}

$a = 1;
tick_handler();

if ($a > 0) {
    $a += 2;
    tick_handler();
    print($a);
    tick_handler();
}
tick_handler();

?>

Voir aussi register_tick_function() et unregister_tick_function().

L'encodage

L'encodage d'un script peut être spécifié par script en utilisant la directive encoding.

Exemple #3 Déclaration d'un encodage pour un script

<?php
declare(encoding='ISO-8859-1');
// le code
?>

Attention

Combinée avec les espaces de nommage, la seule syntaxe valable pour declare est declare(encoding='...'); où ... est la valeur de l'encodage. declare(encoding='...') {} soulèvera une erreur d'interprétation dans le cas des espaces de nommage.

La valeur d'encodage est ignorée en PHP 5.3 à moins que PHP soit compilé avec --enable-zend-multibyte.

switch
return
Les structures de contrôle


return

Si appelée depuis une fonction, la commande return() termine immédiatement la fonction, et retourne l'argument qui lui est passé. return() interrompt aussi l'exécution de commande eval() ou de scripts.

Si appelée depuis l'environnement global, l'exécution du script est interrompue. Si le script courant était include() ou require(), alors le contrôle est rendu au script appelant, et la valeur retournée sera utilisée comme résultat de la fonction include(). Si return() est appelée depuis le script principal, alors l'exécution du script s'arrête. Si le script courant est auto_prepend_file ou auto_append_file dans le fichier php.ini, alors l'exécution du script s'arrête.

Pour plus d'informations, voyez retourner des valeurs.

Note: Notez que puisque return() est une structure de langage, et non une fonction, les parenthèses entourant les arguments ne sont pas nécessaires. Il est classique de les oublier et vous devriez le faire car PHP travaillera moins dans ce cas.

Note: Si aucun paramètre n'est fourni, alors les parenthèses peuvent être omises et NULL sera retourné. L'appel à la fonction return() avec des parenthèses mais sans argument résultera en une alerte d'analyse.

Note: Vous ne devriez jamais utiliser les parenthèses autour de la variable retournée lorsque vous la retournez pas référence, car cela ne fonctionnera pas. Vous ne pouvez retourner que les variables par référence, et non le résultat du traitement. Si vous utilisez return ($a);, alors vous ne retournez pas une variable mais le résultat de l'expression ($a) (qui est, bien sûr, la valeur de $a).

declare
require
Les structures de contrôle


require

return
include
Les structures de contrôle
PHP Manual

require()

require() est identique à include() mise à part le fait que lorsqu'une erreur survient, il produit également une erreur fatale de type E_ERROR. En d'autres termes, il stoppera le script alors que include() n'émettra qu'une alerte de type E_WARNING, ce qui permet au script de continuer.

Voir la documentation de include() pour en connaître son fonctionnement.

return
include
Les structures de contrôle


include

require
require_once
Les structures de contrôle
PHP Manual

include()

L'instruction de langage include() inclut et exécute le fichier spécifié en argument.

Cette documentation s'applique aussi à l'instruction de langage require().

Les fichiers sont inclus suivant le chemin du fichier fourni ; si aucun n'est fourni, l'include_path sera vérifié. L'instruction de langage include() émettra une alerte si elle ne trouve pas un fichier tandis que l'instruction de langage require() émettra une erreur fatale dans le même cas.

Si un chemin est défini (chemin complet ou relatif), l' include_path sera ignoré. Par exemple, si un nom de fichier commence par ../, PHP cherchera dans le dossier parent pour y trouver le fichier spécifié.

Pour plus d'informations sur la façon dont PHP gère les fichiers inclus ains que le chemin d'inclusion, repportez-vous à la documentation relative à l'include_path.

Lorsqu'un fichier est inclus, le code le composant hérite de la portée des variables de la ligne où l'inclusion apparaît. Toutes les variables disponibles à cette ligne dans le fichier appelant seront disponibles dans le fichier appelé, à partir de ce point. Cependant, toutes les fonctions et classes définies dans le fichier inclus ont une portée globale.

Exemple #1 Exemple avec include()

vars.php
<?php

$color = 'verte';
$fruit = 'pomme';

?>

test.php
<?php

echo "Une $couleur $fruit"; // Une

include 'vars.php';

echo "Une $couleur $fruit"; // Une verte pomme

?>

Si l'inclusion intervient à l'intérieur d'une fonction, le code inclus sera alors considéré comme faisant partie de la fonction. Cela modifie donc le contexte de variables accessibles. Une exception à cette règle : les constantes magiques sont analysées par l'analyseur avant que l'inclusion n'intervienne.

Exemple #2 Inclusion de fichiers dans une fonction

<?php

function foo()
{
    global $couleur;

    include 'vars.php';

    echo "Une $couleur $fruit";
}

/* vars.php est dans le contexte de foo()     *
 * donc $fruit n'est pas disponibles hors de  *
 * cette fonction. $couleur l'est, car c'est  *
 * une variable globale                       */

foo();                      // Une verte pomme
echo "Une $couleur $fruit"; // Une verte

?>

Il est important de noter que lorsqu'un fichier est include() ou require(), les erreurs d'analyse apparaîtront en HTML tout au début du fichier, et l'analyse du fichier parent ne sera pas interrompue. Pour cette raison, le code qui est dans le fichier doit être placé entre les balises habituelles de PHP.

Si les Gestionnaires d'URL sont activés dans PHP (ce qui est le cas par défaut), vous pouvez localiser le fichier avec une URL (via HTTP ou bien avec un gestionnaire adapté : voir Liste des protocoles supportés pour une liste des protocoles), au lieu d'un simple chemin local. Si le serveur distant interprète le fichier comme du code PHP, des variables peuvent être transmises au serveur distant via l'URL et la méthode GET. Ce n'est pas, à strictement parler, la même chose que d'hériter du contexte de variable. Le fichier inclus est en fait un script exécuté à distance, et son résultat est inclus dans le code courant.

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

Exemple #3 Utiliser include() via HTTP

<?php

/* Cet exemple suppose que www.example.com est configuré pour traiter
 * les fichiers .php et non pas les fichiers .txt. De plus,
 * 'Work' signifie ici que les variables
 * $foo et $bar sont disponibles dans le fichier inclus
 */

// Ne fonctionne pas : file.txt n'a pas été traité par www.example.com comme du PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Ne fonctionne pas : le script cherche un fichier nommé
// 'file.php?foo=1&bar=2' sur le système local
include 'file.php?foo=1&bar=2';

// Réussi
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Ok.
include 'file.php';  // Ok.

?>

Avertissement

Alerte de sécurité

Un fichier distant peut être traité sur le serveur distant (dépendamment de l'extension du fichier et si le serveur distant exécute PHP ou non) mais il doit toujours produire un script PHP valide parce qu'il sera traité sur le serveur local. Si le fichier du serveur distant doit être traité sur place et affiché seulement, readfile() est une fonction beaucoup plus appropriée. Autrement, vous devriez bien faire attention à sécuriser le script distant afin qu'il produise un code valide et désiré.

Voir aussi travailler avec les fichiers distants, fopen() et file() pour des informations relatives.

Gestion du retour : il est possible d'exécuter une commande return() dans un fichier inclus pour en terminer le traitement et retourner au fichier appelant. De plus, il est possible de retourner des valeurs des fichiers inclus. Vous pouvez prendre et traiter la valeur retournée par la fonction, comme toute autre fonction. Ce n'est cependant pas possible lors de l'inclusion de fichier distant à moins que le fichier distant a des balises valides de début et de fin de script PHP (comme avec les fichiers locaux). Vous pouvez déclarer les variables nécessaire dans ces tags et elles seront introduites à l'endroit où le fichier a été inclus.

Comme include() est une structure de langage particulière, les parenthèses ne sont pas nécessaires autour de l'argument. Faites attention lorsque vous comparez la valeur retournée.

Exemple #4 Comparaison de la valeur de retour d'une inclusion

<?php
// Ne fonctionne pas, évaluer comme include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
    echo 'OK';
}

// Fonctionne
if ((include 'vars.php') == 'OK') {
    echo 'OK';
}
?>

Exemple #5 include() et return()

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // affiche 'PHP'

$bar = include 'noreturn.php';

echo $bar; // affiche 1

?>

$bar a la valeur de 1 car l'inclusion était réussie. Notez la différence entre les deux exemples ci-dessus. Le premier utilise la commande return() dans le fichier inclus, alors que le second ne le fait pas. Si le fichier ne peut être inclus, FALSE est retourné et une erreur de niveau E_WARNING est envoyée.

S'il y a des fonctions définies dans le fichier inclus, elles peuvent être utilisées dans le fichier principal si elles sont avant le return() ou après. Si le fichier est inclus deux fois, PHP 5 enverra une erreur fatale car les fonctions seront déjà déclarées, tandis que PHP 4 ne se plaindra pas des fonctions définies après return(). Il est recommandé d'utiliser include_once() au lieu de vérifier si le fichier a déjà été inclus et donc de retourner conditionnellement l'inclusion du fichier.

Une autre façon d'inclure un fichier PHP dans une variable est de capturer la sortie en utilisant les fonctions de contrôle de sortie avec include(). Par exemple :

Exemple #6 Utilisation de la sortie du buffer pour inclure un fichier PHP dans une chaîne

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        $contents = ob_get_contents();
        ob_end_clean();
        return $contents;
    }
    return false;
}

?>

Pour automatiquement inclure des fichiers dans vos scripts, voyez également les options de configuration auto_prepend_file et auto_append_file du php.ini.

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Voir aussi
require(), require_once(),
include_once(), get_included_files(),
readfile(), virtual(), et
include_path.

require
require_once
Les structures de contrôle


require_once

include
include_once
Les structures de contrôle
PHP Manual

require_once()

L'instruction require_once() est identique à require() mise à part que PHP vérifie si le fichier a déjà été inclus et si c'est le cas, ne l'inclus pas une deuxième fois.

Voir la documention de include_once() pour plus d'informations concernant le comportement de _once, et ce qui le différencie des instructions sans _once.

include
include_once
Les structures de contrôle


include_once

require_once
goto
Les structures de contrôle
PHP Manual

include_once()

La commande include_once() inclut et évalue le fichier spécifié durant l'exécution du script. Le comportement est similaire à include(), mais la différence est que si le code a déjà été inclus, il ne le sera pas une seconde fois.

La fonction include_once() est utilisée de préférence lorsque le fichier va être inclus ou évalué plusieurs fois dans un script, ou bien lorsque vous voulez être sûr qu'il ne sera inclus qu'une seule fois, pour éviter des redéfinitions de fonctions ou de classes.

Voyez la fonction include() pour plus de détails sur le fonctionnement de cette fonction.

Note: En PHP 4, require_once() et include_once() sont insensibles à la casse sous les systèmes comme Windows.

Exemple #1 include_once() est insensible à la casse en PHP 4

<?php
include_once "a.php"; // ceci inclut le fichier a.php
include_once "A.php"; // ceci inclut encore le fichier a.php! (uniquement en PHP 4)
?>

Ce comportement a changé en PHP 5 : le chemin est normalisé d'abord, donc, le fichier C:\PROGRA~1\A.php est reconnu comme étant identique au fichier C:\Program Files\a.php et le fichier ne sera inclus qu'une seule fois.

require_once
goto
Les structures de contrôle


goto

L'opérateur goto peut être utilisé pour continuer l'exécution du script à un autre point du programme. La cible est spécifiée par un label, suivi de deux-point, et l'instruction goto est ensuite suivi de ce label. goto n'est pas totalement sans limitations. L'étiquette cible doit être dans le même contexte et fichier, ce qui signifie qu'il n'est pas possible de changer de méthode ou de fonction, ni de se rendre dans une autre fonction. Vous pouvez sortir d'une fonction, et l'utilisation courante est alors de se servir de goto comme un break.

Exemple #1 Exemple avec goto

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

L'exemple ci-dessus va afficher :

Bar

Exemple #2 Exemple de boucle avec goto

<?php
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    if($j==17) goto end;
  }
}
echo "i = $i";
end:
echo 'j hit 17';
?>

L'exemple ci-dessus va afficher :

j hit 17

Exemple #3 Ce goto ne fonctionne pas

<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
  while($j--) {
    loop:
  }
}
echo "$i = $i";
?>

L'exemple ci-dessus va afficher :

Fatal error: 'goto' into loop or switch statement is disallowed in
script on line 2

Note: L'opérateur goto est disponible depuis PHP 5.3.

Quelle est la chose la plus bizarre lors de l'utilisation de goto ?
Image gracieuseté de » xkcd

include_once
Les fonctions
Les structures de contrôle


Les fonctions

Sommaire

  • Les fonctions définies par l'utilisateur
  • Les arguments de fonction
  • Les valeurs de retour
  • Fonctions variables
  • Fonctions internes
  • Fonctions anonymes
goto
Les fonctions définies par l'utilisateur
Référence du langage


Les fonctions définies par l'utilisateur

Une fonction peut être définie en utilisant la syntaxe suivante :

Exemple #1 Pseudo code pour illustrer l'usage d'une fonction

<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
    echo "Exemple de fonction.\n";
    return $retval;
}
?>

Tout code PHP, correct syntaxiquement, peut apparaître dans une fonction et dans des définitions de classe.

Les noms de fonctions suivent les mêmes règles que les autres labels en PHP. Un nom de fonction valide commence par une lettre ou un souligné, suivi par un nombre quelconque de lettres, de nombres ou de soulignés. Ces règles peuvent être représentées par l'expression rationnelle suivante : [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Astuce

Vous pourriez également avoir besoin de jeter un oeil sur Guide de nommage de l'espace utilisateur.

Les fonctions n'ont pas besoin d'être définies avant d'être utilisées, SAUF lorsqu'une fonction est définie conditionnellement, comme montré dans les deux exemples suivants.

Lorsqu'une fonction est définie de manière conditionnelle, comme dans les exemples ci-dessous, leur définition doit précéder leur utilisation.

Exemple #2 Fonctions conditionnelles

<?php

$makefoo = true;

/* Impossible d'appeler foo() ici,
   car cette fonction n'existe pas.
   Mais nous pouvons utiliser bar() */

bar();

if ($makefoo) {
  function foo()
  {
    echo "Je n'existe pas tant que le programme n'est pas passé ici.\n";
  }
}

/* Maitenant, nous pouvons appeler foo()
   car $makefoo est maintenant vrai */

if ($makefoo) foo();

function bar()
{
  echo "J'existe dès de début du programme.\n";
}

?>

Exemple #3 Fonctions dans une autre fonction

<?php
function foo()
{
  function bar()
  {
    echo "Je n'existe pas tant que foo() n'est pas appelé.\n";
  }
}

/* Impossible d'appeler bar() ici
   car il n'existe pas. */

foo();

/* Maintenant, nous pouvons appeler bar(),
   car l'utilisation de foo() l'a rendu
   accessible. */

bar();

?>

Toutes les fonctions et classes en PHP ont une portée globale - elles peuvent être appelées à l'extérieur d'une fonction si elles ont été définies à l'intérieur et vice-versa.

PHP ne supporte pas le surchargement de fonction, ni la destruction ou la redéfinition de fonctions déjà déclarées.

Note: Les noms de fonctions sont insensibles à la casse, et il est généralement admis que les fonctions doivent être appelées avec le nom utilisé dans leur déclaration, y compris la casse.

Les deux ( liste variable d'arguments de fonction et valeurs par défaut d'arguments) sont supportés : voir les fonctions de références que sont func_num_args(), func_get_arg(), et func_get_args() pour plus d'informations.

Il est possible d'appeler des fonctions récursives en PHP. Cependant, les appels de méthodes/fonctions récursives avec 100-200 degrés de récursivité peuvent remplir la pile et ainsi, terminer le script courant.

Exemple #4 Fonctions récursives

<?php
function recursion($a)
{
    if ($a < 20) {
        echo "$a\n";
        recursion($a + 1);
    }
}

recursion(3);
?>

Les fonctions
Les arguments de fonction
Les fonctions


Les arguments de fonction

Des informations peuvent être passées à une fonction en utilisant une liste d'arguments, dont chaque expression est séparée par une virgule.

PHP supporte le passage d'arguments par valeur (comportement par défaut), le passage par référence, et des valeurs d'arguments par défaut. Une liste variable d'arguments est également supportée, voir la documentation sur les fonctions func_num_args(), func_get_arg(), et func_get_args() pour plus d'informations.

Exemple #1 Nombre variable d'argument sous forme de tableau

<?php
function takes_array($input)
{
    echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}

takes_array(array(2,3));
?>

Passage d'arguments par référence

Par défaut, les arguments sont passés à la fonction par valeur (Ainsi changer la valeur d'un argument dans la fonction ne change pas sa valeur à l'extérieur de la fonction). Si vous voulez que vos fonctions puissent changer la valeur des arguments, vous devez passer ces arguments par référence.

Si vous voulez qu'un argument soit toujours passé par référence, vous pouvez ajouter un '&' devant l'argument dans la déclaration de la fonction :

Exemple #2 Passage d'arguments par référence

<?php
function add_some_extra(&$string)
{
    $string .= ', et un peu plus.';
}
$str = 'Ceci est une chaîne';
add_some_extra($str);
echo $str;
?>

Valeur par défaut des arguments

Vous pouvez définir comme en C++ des valeurs par défaut pour les arguments de type scalaire :

Exemple #3 Valeur par défaut des arguments de fonctions

<?php
function servir_cafe ($type = "cappuccino")
{
    return "Servir un $type.\n";
}
echo servir_cafe();
echo servir_cafe(null);
echo servir_cafe("espresso");
?>

L'exemple ci-dessus va afficher :

Servir un cappuccino.
Servir un.
Servir un espresso.

PHP vous autorise à utiliser des tableau ainsi que le type spécial NULL comme valeur par défaut, par exemple :

Exemple #4 Utilisation de type non scalaire comme valeur par défaut

<?php
function servir_cafe($types = array("cappuccino"), $coffeeMaker = NULL)
{
    $device = is_null($coffeeMaker) ? "les mains" : $coffeeMaker;
    return "Préparation d'une tasse de ".join(", ", $types)." avec $device.\n";
}
echo servir_cafe();
echo servir_cafe(array("cappuccino", "lavazza"), "une cafetière");
?>

La valeur par défaut d'un argument doit obligatoirement être une constante, et ne peut être ni une variable, ni un membre de classe, ni un appel de fonction.

Il est à noter que si vous utilisez des arguments avec valeur par défaut avec d'autres sans valeur par défaut, les premiers doivent être placés à la suite de tous les paramètres sans valeur par défaut. Sinon, cela ne fonctionnera pas. Considérons le code suivant :

Exemple #5 Les arguments à valeur par défaut doivent être en premier : erreur

<?php
function faireunyaourt ($type = "acidophilus", $flavour)
{
    return "Préparer un bol de $type $flavour.\n";
}

echo faireunyaourt("framboise");   // ne fonctionne pas comme voulu
?>

L'exemple ci-dessus va afficher :

Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
Préparer un bol de framboise .

Maintenant comparons l'exemple précédent avec l'exemple suivant :

Exemple #6 Les arguments à valeur par défaut doivent être en premier : valide

<?php
function faireunyaourt ($flavour, $type = "acidophilus")
{
    return "Préparer un bol de $type $flavour.\n";
}

echo faireunyaourt ("framboise");   // fonctionne comme voulu
?>

L'exemple ci-dessus va afficher :

Préparer un bol de acidophilus framboise.

Note: Depuis PHP 5, les valeurs par défaut peuvent être passées par référence.

Nombre d'arguments variable

PHP 4 et suivants supportent les fonctions à nombre d'arguments variable.
C'est très simple à utiliser, avec les fonctions
func_num_args(),
func_get_arg() et
func_get_args().

Aucune syntaxe particulière n'est nécessaire, et la liste d'argument doit toujours être fournie explicitement avec la définition de la fonction, et se comportera normalement.

Les fonctions définies par l'utilisateur
Les valeurs de retour
Les fonctions


Les valeurs de retour

Les valeurs sont renvoyées en utilisant une instruction de retour optionnelle. Tous les types de variables peuvent être renvoyés, tableaux et objets compris. Cela fait que la fonction finit son exécution immédiatement et passe le contrôle à la ligne appelante. Voir return() pour plus d'informations.

Note: Si return() est omis, la valeur NULL sera retournée.

Exemple #1 Utilisation de return()

<?php
function carre ($num)
{
    return $num * $num;
}
echo carre (4);
?>

Une fonction ne peut pas renvoyer plusieurs valeurs en même temps, mais vous pouvez obtenir le même résultat en renvoyant un tableau.

Exemple #2 Retourner un tableau d'une fonction

<?php
function petit_nombre()
{
    return array (0, 1, 2);
}
list ($zero, $un, $deux) = petit_nombre();
var_dump($zero, $un, $deux);
?>

Pour retourner une référence d'une fonction, utilisez l'opérateur & aussi bien dans la déclaration de la fonction que dans l'assignation de la valeur de retour.

Exemple #3 Retourner une référence d'une fonction

<?php
function &retourne_reference()
{
    return $uneref;
}

$newref =& retourne_reference();
?>

Pour plus d'informations sur les références, référez-vous à l'explication sur les références.

Les arguments de fonction
Fonctions variables
Les fonctions


Fonctions variables

PHP supporte le concept de fonctions variables. Cela signifie que si le nom d'une variable est suivi de parenthèses, PHP recherchera une fonction de même nom, et essaiera de l'exécuter. Cela peut servir, entre autres, pour faire des fonctions de rappel, des tables de fonctions...

Les fonctions variables ne peuvent pas fonctionner avec les éléments de langage comme les echo(), print(), unset(), isset(), empty(), include(), require() etc. Vous devez utiliser votre propre gestion de fonctions pour utiliser un de ces éléments de langages comme fonctions variables.

Exemple #1 Exemple de fonction variable

<?php
function foo() {
    echo "dans foo()<br />\n";
}

function bar($arg = '')
{
    echo "Dans bar(); l'argument était '$arg'.<br />\n";
}

// Ceci est une fonction détournée de echo
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // Appel foo()

$func = 'bar';
$func('test');  // Appel bar()

$func = 'echoit';
$func('test');  // Appel echoit()
?>

Vous pouvez aussi appeler une méthode d'un objet en utilisant le système des fonctions variables.

Exemple #2 Exemple de méthode variable

<?php
class Foo
{
    function Variable()
    {
        $name = 'Bar';
        $this->$name(); // Appelle la méthode Bar()
    }

    function Bar()
    {
        echo "C'est Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();  // Appelle $foo->Variable()

?>

Voir aussi call_user_func(), les variables variables et function_exists().

Les valeurs de retour
Fonctions internes
Les fonctions


Fonctions internes

PHP dispose de nombreuses fonctions et structures standards. Il y a aussi des fonctions qui requièrent des extensions spécifiques de PHP, sans lesquelles vous obtiendrez l'erreur fatale undefined function. Par exemple, pour utiliser les fonctions d'images, telles que imagecreatetruecolor(), vous aurez besoin du support de GD dans PHP. Ou bien, pour utiliser mysql_connect(), vous aurez besoin de l'extension MySQL. Il y a des fonctions de base qui sont incluses dans toutes les versions de PHP, telles que les fonctions de chaînes de caractères et les fonctions de variables. Utilisez phpinfo() ou get_loaded_extensions() pour savoir quelles sont les extensions qui sont compilées avec votre PHP. Notez aussi que de nombreuses extensions sont activées par défaut, et que le manuel PHP est compartimenté par extension. Voyez les chapitres de configuration, installation ainsi que les détails particuliers à chaque extension, pour savoir comment les mettre en place.

Lire et comprendre le prototype d'une fonction est décrit dans l'annexe Comment lire la définition d'une fonction (prototype). Il est important de comprendre ce qu'une fonction retourne, ou si une fonction travaille directement sur la valeur des paramètres fournis. Par exemple, str_replace() va retourner une chaîne modifiée, tandis que usort() travaille directement sur la variable passée en paramètre. Chaque page du manuel a des informations spécifiques sur chaque fonction, comme le nombre de paramètres, les évolutions de spécifications, les valeurs retournées en cas de succès ou d'échec, et la disponibilité en fonction des versions. Bien connaître ces différences, parfois subtiles, est crucial pour bien programmer en PHP.

Note: Si les paramètres donnés à une fonction ne sont pas corrects, comme le fait de passer un tableau alors qu'une chaîne de caractères est attendue, la valeur retournée de la fonction est indéfinie. Dans ce cas, la fonction retournera la plupart du temps une valeur NULL mais ce n'est juste qu'une convention et ne peut être considéré comme une certitude.

Voir aussi function_exists(), l'index des fonctions, get_extension_funcs() et dl().

Fonctions variables
Fonctions anonymes
Les fonctions


Fonctions anonymes

Les fonctions anonymes, aussi appelées fermetures ou closures permettent la création de fonctions sans préciser leur nom. Elles sont particulièrement utiles comme fonction de rappel, mais leur utilisation n'est pas limitée à ce seul usage.

Exemple #1 Exemples avec des fonctions anonymes

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'bonjour-le-monde');
?>

Les fermetures peuvent aussi être utilisées comme valeurs de variables. PHP va automatiquement convertir ces expressions en objets Closure. Assigner une fermeture à une variable est la même chose qu'un assignement classique, y compris pour le point-virgule final.

Exemple #2 Assignation de fonction anonyme à une variable

<?php
$greet = function($name)
{
    printf("Bonjour %s\r\n", $name);
};

$greet('World');
$greet('PHP');
?>

Les fermetures peuvent hériter des variables du contexte de leur parent. Ces variables doivent alors être déclaré dans la signature de la fonction. L'héritage du contexte parent n'est pas la même chose que les variables de l'environnement global. Les variables globales existent dans le contexte global, qui est le même, quelque que soit la fonction qui s'exécute. Le contexte parent d'une fermeture est la fonction dans laquelle la fonction a été déclaré (par nécessairement la fonction qui appelle). Voyez l'exemple ci-dessous :

Exemple #3 Fonctions anonymes et contexte

<?php
// Un panier d'achat simple, qui contient une liste de produits
// choisis et la quantité désirée de chaque produite. Il inclut
// une méthode qui calcule le prix total des éléments dans le panier
// en utilisant une fonction de rappel anonyme.
class Panier
{
    const PRICE_BEURRE  = 1.00;
    const PRICE_LAIT    = 3.00;
    const PRICE_OEUF    = 6.95;

    protected   $products = array();

    public function add($product, $quantity)
    {
        $this->products[$product] = $quantity;
    }

    public function getQuantity($product)
    {
        return isset($this->products[$product]) ? $this->products[$product] :
               FALSE;
    }

    public function getTotal($tax)
    {
        $total = 0.00;

        $callback =
            function ($quantity, $product) use ($tax, &$total)
            {
                $pricePerItem = constant(__CLASS__ . "::PRICE_" .
                    strtoupper($product));
                $total += ($pricePerItem * $quantity) * ($tax + 1.0);
            };

        array_walk($this->products, $callback);
        return round($total, 2);
    }
}

$mon_panier = new Panier;

// Ajout d'élément au panier
$mon_panier->add('beurre', 1);
$mon_panier->add('lait', 3);
$mon_panier->add('oeuf', 6);

// Affichage du prix avec 5.5% de TVA
print $mon_panier->getTotal(0.055) . "\n";
?>

Les fonctions anonymes sont actuellement implémentée en utilisant la classe Closure. C'est un détail d'implémentation, et il est recommandé de ne pas s'appuyer dessus.

Note: Les fonctions anonymes sont disponibles depuis PHP 5.3.0.

Note: Il est possible d'utiliser les fonctions func_num_args(), func_get_arg() et func_get_args() dans une fermeture.

Fonctions internes
Les classes et les objets
Les fonctions


Les classes et les objets

Sommaire

  • Introduction
  • Syntaxe de base
  • Propriétés
  • Constantes de classe
  • Auto-chargement de classes
  • Constructeurs et destructeurs
  • Visibilité
  • Héritage
  • L'opérateur de résolution de portée (::)
  • Statique
  • Abstraction de classes
  • Interfaces
  • Surcharge
  • Parcours d'objets
  • Masques
  • Méthodes magiques
  • Mot-clé "final"
  • Clonage d'objets
  • Comparaison d'objets
  • Typage objet
  • Late Static Bindings (Résolution statique à la volée)
  • Objets et références
  • Sérialisation d'objets
  • Modifications en POO (Programmation orientée objets)
Fonctions anonymes
Introduction
Référence du langage


Introduction

Depuis PHP 5, le modèle objet a été réécrit pour permettre de meilleures performances et offrir plus de fonctionnalités. Cette réécriture a été une des modifications majeures par rapport à PHP 4. PHP 5 a donc un modèle objet complet.

Parmis les fonctionnalités offertes par PHP 5, on peut siter les classes visibility, abstract et final mais aussi les méthodes, additional magic methods, interfaces, cloning et typehinting.

PHP gère les objets de la même façon, qu'ils soient des références ou des gestionnaires, ce qui signifie que chaque variable contient une référence vers l'objet plutôt qu'une copie de l'objet complet. Repportez-vous à la documentation Objets et Références pour plus de détails.

Astuce

Vous pourriez également avoir besoin de jeter un oeil sur Guide de nommage de l'espace utilisateur.

Les classes et les objets
Syntaxe de base
Les classes et les objets


Syntaxe de base

class

Une définition de classe basique commence par le mot-clé class, suivi par le nom de la classe. Suit une paire d'accolades contenant la définition des propriétés et des méthodes.

Le nom de la classe peut être quelconque à condition que ce ne soit pas un mot réservé en PHP. Un nom de classe valide commence par une lettre ou un underscore, suivit de nombres ou de lettres ou d'underscores. Si on devait l'exprimer sous forme d'expression régulière, il s'agirait de [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Une classe peut contenir ses propres constants, variables (appelées "propriétés"), et fonctions (appelées "méthodes").

Exemple #1 Définition typique d'une classe

<?php
class SimpleClass
{
    // déclaration des propriétés
    public $var = 'a default value';

    // déclaration des méthodes
    public function displayVar() {
        echo $this->var;
    }
}
?>

Une pseudo-variable $this est disponible lorsqu'une méthode est appelée depuis un contexte objet. $this est une référence à l'objet appelé (habituellement, l'objet auquel la méthode appartient, mais ce peut être un autre objet si la méthode est appelée de manière statique depuis le contexte d'un autre objet).

Exemple #2 Quelques exemples de la pseudo-variable $this

<?php
class A
{
  function toto()
  {
    if (isset($this)) {
      echo '$this est définie (';
      echo get_class($this);
      echo ")\n";
    } else {
      echo "\$this n'est pas définie.\n";
    }
  }
}

class B
{
  function titi()
  {
    // Note: la ligne suivante émet une erreur si E_STRICT est activé.
    A::toto();
  }
}

$a = new A();
$a->toto();

// Note: la ligne suivante émet une erreur si E_STRICT est activé.
A::toto();
$b = new B();
$b->titi();

// Note: la ligne suivante émet une erreur si E_STRICT est activé.
B::titi();
?>

L'exemple ci-dessus va afficher :

$this est définie (A)
$this n'est pas définie.
$this est définie (B)
$this n'est pas définie.

Le mot-clé new

Pour créer une instance d'une classe, un nouvel objet doit être créé et assigné à une variable. Un objet doit toujours être assigné lors de la création d'un nouvel objet à moins qu'il ait un constructeur défini qui lance une exception en cas d'erreur. Les classes doivent être définies avant l'instanciation (dans certains cas, c'est impératif).

Exemple #3 Création d'une instance

<?php
$instance = new SimpleClass();

// Ceci peut également être réalisé avec une variable :
$className = 'Foo';
$instance = new $className(); // Foo()
?>

Dans le contexte de la classe, il est possible de créer un nouvel objet avec new self et new parent.

Lors de l'assignation d'une instance déjà créée d'une classe à une variable, la nouvelle variable accédera à la même instance de l'objet assigné. Ce comportement est le même que lors du passage d'une instance à une fonction. Une copie d'un objet déjà créé peut être effectuée par clonage.

Exemple #4 Assignation d'un objet

<?php

$instance = new SimpleClass();

$assigned   =  $instance;
$reference  =& $instance;

$instance->var = '$assigned aura cette valeur';

$instance = null; // $instance et $reference deviennent null

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

L'exemple ci-dessus va afficher :

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$assigned aura cette valeur"
}

Le mot-clé extends

Une classe peut hériter des méthodes et des membres d'une autre classe en utilisant le mot-clé extends dans la déclaration. Il n'est pas possible d'étendre de multiples classes : une classe peut uniquement hériter d'une seule classe de base.

Les méthodes et membres hérités peuvent être surchargés en les redéclarant avec le même nom que dans la classe parente. Cependant, si la classe parente a défini la méthode comme final, alors celle-ci ne sera pas surchargeable. Il est possible d'accéder à une méthode ou un membre statique avec l'opérateur parent::

Lors de la surcharge de méthodes, la signature devrait rester la même sinon PHP génèrera une erreur de niveau E_STRICT. Ceci ne s'applique pas au constructeur, qui accepte la surcharge avec des paramètres différents.

Exemple #5 Héritage d'une classe simple

<?php
class ExtendClass extends SimpleClass
{
  // Redéfinition de la méthode parent
  function displayVar()
  {
    echo "Classe étendue\n";
    parent::displayVar();
  }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

L'exemple ci-dessus va afficher :

Classe étendue
une valeur par défaut
Introduction
Propriétés
Les classes et les objets


Propriétés

Les variables au sein d'une classe sont appellées "propriétés". On peut également les retrouver sous la dénomination "attributs" ou "champs", mais nous conservervons l'appellation "propriété" pour cette documentation. Elles sont définies en utilisant un des mot-clé public, protected ou private, suivi d'une déclaration classique de variable. Cette déclaration peut être une initialisation, alors elle doit être initialisée à une valeur constante, c'est à dire que cette valeur doit pouvoir être évaluée durant la compilation et ne pas dépendre de l'exécution du code pour pouvoir être évaluée.

Voir Visibilité pour plus d'informations sur la signification public, protected et private.

Note: Afin de maintenir la rétrocompatibilité avec PHP 4, PHP 5 continue d'accepter l'usage du mot-clé var pour la déclaration de propriété en remplacement de (ou avec) public, protected et private. Cependant, var n'est plus requis par le modèle objet de PHP 5. Des versions PHP 5.0 à 5.1.3, l'usage de var était considéré comme déprécié et déclenchait un avertissement de niveau E_STRICT, mais depuis PHP 5.1.3 l'usage n'est plus déprécié et ne déclenche plus d'avertissement.
Si vous déclarez une propriété en utilisant var au lieu de public, protected ou private, alors PHP 5 traitera la propriété comme public.

Au sein des méthodes de classes, les propriétés, constantes et méthodes peuvent être appellées en utilisant la forme $this->property (ou property est le nom de la propriété), à moins que l'appel se fasse sur une propriété statique dans une méthode de classe statique, auquel cas l'accès se fait en utilisant la forme self::$property. Voir Statique pour plus d'informations.

La pseudo-variable $this est disponible au sein de n'importe quelle méthode lorsque cette méthode est appellée depuis un objet. $this est une référence à l'objet appellant (en général l'objet auquel la méthode appartient, ou un autre objet si la méthode est appellé de façon statique depuis un autre objet).

Exemple #1 Déclarations de propriété

<?php
class SimpleClass
{
   // Déclarations invalides de propriété:
   public $var1 = 'hello ' . 'world';
   public $var2 = <<<EOD
hello world
EOD;
   public $var3 = 1+2;
   public $var4 = self::myStaticMethod();
   public $var5 = $myVar;

   // Déclarations valides de propriété;
   public $var6 = myConstant;
   public $var7 = array(true, false);

   // Autorisé depuis PHP 5.3.0
   public $var8 = <<<'EOD'
hello world
EOD;
}
?>

Note: Il existe des fonctions qui permettent de gérer des classes et des objets. Voir Fonctions Classes/Objets.

Contrairement à la syntaxe heredoc, la syntaxe nowdoc peut être utilisée dans n'importe quel contexte statique, y compris la déclaration de propriété.

Exemple #2 Exemple d'utilisation de la syntaxe nowdoc pour initialiser une propriété

<?php
class foo {
   // Depuis PHP 5.3.0
   public $bar = <<<'EOT'
bar
EOT;
}
?>

Note: Le support de la syntaxe nowdoc à été ajouté à PHP 5.3.0.

Syntaxe de base
Constantes de classe
Les classes et les objets


Constantes de classe

Il est possible de définir des valeurs constantes à l'intérieur d'une classe, qui ne seront pas modifiables. Les constantes diffèrent des variables normales du fait qu'on n'utilise pas le symbole $ pour les déclarer ou les utiliser.

La valeur doit être une expression constante, non (par exemple) une variable, une propriété, le résultat d'une opération mathématique ou un appel de fonction.

Il est aussi possible pour les interfaces d'avoir des constantes. Regardez la documentation des interfaces pour quelques exemples.

Depuis PHP 5.3.0, il est possible de référencer une classe en utilisant une variable. La valeur de la variable ne peut être un mot clé (e.g. self, parent et static).

Exemple #1 Définition et utilisation d'une constante de classe

<?php
class MyClass
{
  const constant = 'valeur constante';

  function showConstant() {
    echo  self::constant . "\n";
  }
}

echo MyClass::constant . "\n";

$classname = "MyClass";
echo $classname::constant . "\n"; // Depuis PHP 5.3.0

$class = new MyClass();
$class->showConstant();

echo $class::constant."\n"; // Depuis PHP 5.3.0
?>

Exemple #2 Exemple de données statiques

<?php
class foo {
    // Depuis PHP 5.3.0
    const bar = <<<'EOT'
bar
EOT;
}
?>

Contrairement à heredocs, nowdocs peut être utilisé dans n'importe quel contexte de données statiques.

Note: Le support de Nowdoc a été ajouté en PHP 5.3.0.

Propriétés
Auto-chargement de classes
Les classes et les objets


Auto-chargement de classes

De nombreux développeurs qui créent des applications orientées objet, créent un fichier source par définition de classe. L'inconvénient majeur de cette méthode est d'avoir à écrire une longue liste d'inclusions de fichier classes au début de chaque script : une inclusion par classe.

En PHP 5, ce n'est plus nécessaire. Vous pouvez définir la fonction __autoload() qui va automatiquement être appelée si une classe n'est pas encore définie au moment de son utilisation. Grâce à elle, vous avez une dernière chance pour inclure une définition de classe, avant que PHP ne déclare une erreur.

Note: Avant PHP 5.3.0, les exceptions lancées depuis la fonction __autoload ne pouvaient pas être interceptées par un bloc catch et provoquaient une erreur fatale. Depuis PHP 5.3.0+, elles peuvent être interceptées danscatch, à une précision près : Si vous lancez une exception personnalisée, alors la classe de cette exception doit être disponible. La fonction __autoload doit pouvoir être utilisée récursivement pour charger automatiquement la classe de l'exception personnalisé.

Note: L'auto-chargement n'est pas disponible si vous utilisez PHP en mode interactif CLI.

Note: Si le nom de la classe est utilisé, .g. dans la fonction call_user_func(), alors il peut contenir des caractères dangereux comme ../. Il est recommandé de ne pas utiliser d'entrées utilisateur dans de telle fonction, ou, au moins, vérifier l'entrée dans la fonction __autoload().

Exemple #1 Exemple avec __autoload()

Cet exemple tente de charger les classes MaClasse1 et MaClasse2, dans les fichiers MaClasse1.php et MaClasse2.php respectivement.

<?php
function __autoload($class_name) {
    require_once $class_name . '.php';
}

$obj  = new MaClasse1();
$obj2 = new MaClasse2();
?>

Exemple #2 Autre exemple d'auto-chargement

Cet exemple tente de charger l'interface ITest.

<?php

function __autoload($name) {
    var_dump($name);
}

class Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/
?>

Exemple #3 Auto-chargement avec gestion des exceptions en PHP 5.3.0+

Cette exemple lance une exception et montre comment la traiter avec les blocs try/catch.

<?php
function __autoload($name) {
    echo "Tentative de chargement de $name.\n";
    throw new Exception("Impossible de charger $name.");
}

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

L'exemple ci-dessus va afficher :

Tentative de chargement de NonLoadableClass.
Impossible de charger NonLoadableClass.

Exemple #4 Auto-chargement avec gestion des exceptions en PHP 5.3.0+. Pas d'exception personnalisée

Cet exemple lance une exception pour une classe non-chargeable, en utilisant une exception personnalisé.

<?php
function __autoload($name) {
    echo "Tentative de chargement de $name.\n";
    throw new MissingException("Impossible de charger $name.");
}

try {
    $obj = new NonLoadableClass();
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>

L'exemple ci-dessus va afficher :

Tentative de chargement de NonLoadableClass.
Tentative de chargement de MissingException.

Fatal error: Class 'MissingException' not found in testMissingException.php on line 4

Voir aussi

  • unserialize()
  • unserialize_callback_func
  • spl_autoload()
  • spl_autoload_register()

Constantes de classe
Constructeurs et destructeurs
Les classes et les objets


Constructeurs et destructeurs

Constructeurs

void __construct ([ mixed $args [, $... ]] )

PHP 5 permet aux développeurs de déclarer des constructeurs pour les classes. Les classes qui possèdent une méthode constructeur appellent cette méthode à chaque création d'une nouvelle instance de l'objet, ce qui est intéressant pour toutes les initialisations dont l'objet a besoin avant d'être utilisé.

Note: Les constructeurs parents ne sont pas appelés implicitement si la classe enfant définie un constructeur. Si vous voulez utiliser un constructeur parent, il sera nécessaire de faire appel à parent::__construct().

Exemple #1 Exemple d'utilisation des nouveaux constructeurs unifiés

<?php
class BaseClass {
    function __construct() {
        print "In BaseClass constructor\n";
    }
}

class SubClass extends BaseClass {
    function __construct() {
        parent::__construct();
        print "In SubClass constructor\n";
    }
}

$obj = new BaseClass();
$obj = new SubClass();
?>

Pour des raisons de compatibilité ascendante, si PHP 5 ne peut pas trouver une fonction __construct() pour une classe donnée, il cherchera une fonction constructeur représentée, comme dans l'ancien style (PHP < 5), par le nom de la classe. Effectivement, cela signifie que le seul cas où il pourrait y avoir un problème de compatibilité est celui où votre classe contiendrait une méthode nommée __construct() et que vous en ayez un autre usage.

A la différence des autres méthodes, PHP ne génèrera pas d'erreur de niveau E_STRICT lorsque __construct() est surchargée avec des paramètres différents du constructeur parent.

Destructeurs

void __destruct ( void )

PHP 5 introduit un concept de destructeur similaire aux autres langages orientés objet, comme le C++. La méthode destructeur doit être appelée aussitôt que toutes les références à un objet particulier sont effacées ou lorsque l'objet est explicitement détruit ou dans n'importe quel ordre de la séquence d'arrêt.

Exemple #2 Exemple avec un Destructeur

<?php
class MyDestructableClass {
    function __construct() {
        print "In constructor\n";
        $this->name = "MyDestructableClass";
    }

    function __destruct() {
        print "Destruction de " . $this->name . "\n";
    }
}

$obj = new MyDestructableClass();
?>

Tout comme le constructeur, le destructeur parent n'est pas appelé implicitement par le moteur. Pour exécuter le destructeur parent, vous devez appeler explicitement la fonction parent::__destruct dans le corps du destructeur.

Le destructeur sera appelé même si l'exécution du script est stoppé en utilisant la fonction exit(). Appeler la fonction exit() dans un destructeur permettra de ne pas exécuter les autres routines d'arrêt.

Note: Les destructeurs appelées durant l'arrêt du script ont déjà envoyés les en-têtes HTTP. Le dossier de travail dans la phase du script d'arrêt peut être différent avec d'autres APIs (e.g. Apache).

Note: Tenter de lancer une exception depuis un destructeur (appelé à la fin du script) émet une erreur fatale.

Auto-chargement de classes
Visibilité
Les classes et les objets


Visibilité

La visibilité d'une propriété ou d'une méthode peut être définie en préfixant la déclaration avec un mot-clé : public, protected ou private. Les éléments déclarés publics (public) peuvent être utilisés par n'importe quelle partie du programme. L'accès aux éléments protégés (protected) est limité aux classes et parents hérités (et à la classe qui a défini l'élément). L'accès aux éléments privés (private) est uniquement réservé à la classe qui les a définis.

Visibilité des propriétés

Les propriétés des classes doivent être définies comme publiques, protégées ou privées. Si la propriété est déclarée avec le mot var sans visibilité explicite, celle-ci sera alors définie publique.

Exemple #1 Déclaration des propriétés

<?php
/**
 * Définition de MyClass
 */
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Fonctionne
echo $obj->protected; // Erreur fatale
echo $obj->private; // Erreur fatale
$obj->printHello(); // Affiche Public, Protected et Private

/**
 * Définition de MyClass2
 */
class MyClass2 extends MyClass
{
    // On peut redéclarer les éléments publics ou protégés, mais pas ceux privés
    protected $protected = 'Protected2';

    function printHello()
    {
      echo $this->public;
      echo $this->protected;
      echo $this->private;
   }
}

$obj2 = new MyClass2();
echo $obj2->public; // Fonctionne
echo $obj2->private; // Indéfini
echo $obj2->protected; // Erreur fatale
$obj2->printHello(); // Affiche Public, Protected2 et Indéfini

?>

Note: La méthode de déclaration de variable en PHP 4 avec le mot-clé var est toujours supportée pour des raisons de compatibilité (en tant que synonyme du mot-clé public). Depuis PHP 5.1.3, son utilisation génère une erreur de niveau E_STRICT.

Visibilité des méthodes

Les méthodes des classes peuvent être définies en tant que publiques, privées ou protégées. Les méthodes sans déclaration seront automatiquement définies comme étant publiques.

Exemple #2 Déclaration d'une méthode

<?php
/**
 * Définition de MyClass
 */
class MyClass
{
    // Déclare un contructeur public
    public function __construct() { }

    // Déclaration d'une méthode publique
    public function MyPublic() { }

    // Déclaration d'une méthode protégée
    protected function MyProtected() { }

    // Déclaration d'une méthode privée
    private function MyPrivate() { }

    // Celle-ci sera publique
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Fonctionne
$myclass->MyProtected(); // Erreur fatale
$myclass->MyPrivate(); // Erreur fatale
$myclass->Foo(); // Public, Protected et Private fonctionnent

/**
 * Définition de MyClass2
 */
class MyClass2 extends MyClass
{
    // Celle-ci sera publique
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Erreur fatale
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Fonctionne
$myclass2->Foo2(); // Public et Protected fonctionnent, non pas Private

class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                // Foo::testPublic
?>

Visibilité depuis d'autres objets

Les objets de même type ont un accès aux membres privés et protégés même s'ils ne sont pas dans la même instance. Ceci est dû au fait que les détails spécifiques de l'implémentation sont déjà connus en interne par ces objets.

Exemple #3 Accès aux membres privés d'un type d'objet identique

<?php
class Test
{
    private $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    private function bar()
    {
        echo 'Accès à la méthode privée.';
    }

    public function baz(Test $other)
    {
        // Nous pouvons modifier la propriété privée :
        $other->foo = 'Bonjour';
        var_dump($other->foo);

        // Nous pouvons également appeler la méthode privée :
        $other->bar();
    }
}

$test = new Test('test');

$test->baz(new Test('other'));
?>

L'exemple ci-dessus va afficher :

string(5) "Bonjour"
Accès à la méthode privée.
Constructeurs et destructeurs
Héritage
Les classes et les objets


Héritage

L'héritage fait partie des principes de la programmation orientée objet, et PHP l'implémente dans son modèle objet. L'héritage affecte les relations entre les classes et les objets.

Par exemple, lorsque vous étendez une classe, la classe fille hérite de toutes les méthodes publiques et protégées de la classe parent. Tant qu'une classe n'écrase pas ces méthodes, elles conservent leurs functionnalités d'origine.

L'héritage est donc très utile pour définir et abstraire certaines fonctionnalités communes à plusieurs classes, plusieurs objets, tout en permettant l'ajout de fonctionnalités propres dans les classes enfants sans réimplémenter en leur sein les fonctionnalités communes.

Exemple #1 Exemple d'héritage

<?php

class foo
{
    public function printItem($string)
    {
        echo 'Foo: ' . $string . PHP_EOL;
    }

    public function printPHP()
    {
        echo 'PHP est super' . PHP_EOL;
    }
}

class bar extends foo
{
    public function printItem($string)
    {
        echo 'Bar: ' . $string . PHP_EOL;
    }
}

$foo = new foo();
$bar = new bar();
$foo->printItem('baz'); // Affiche: 'Foo: baz'
$foo->printPHP();       // Affiche: 'PHP est super'
$bar->printItem('baz'); // Affiche: 'Bar: baz'
$bar->printPHP();       // Affiche: 'PHP est super'

?>
Visibilité
L'opérateur de résolution de portée (::)
Les classes et les objets


L'opérateur de résolution de portée (::)

L'opérateur de résolution de portée (aussi appelé Paamayim Nekudotayim) ou, en termes plus simples, le symbole "double deux points" (::), fournit un moyen d'accéder aux membres statiques ou constants, et écrase les propriétés ou les méthodes d'une classe.

Lorsque vous référencez ces éléments en dehors de la définition de la classe, utilisez le nom de la classe.

Depuis PHP 5.3.0, il est possible de référencer une classe en utilisant une variable. La valeur de la variable ne peut être un mot clé (e.g. self, parent et static).

Paamayim Nekudotayim peut sembler un choix étrange pour un double deux points. Cependant, au moment de l'écriture du Zend Engine 0.5 (fourni avec PHP 3), c'est le nom choisi par le groupe Zend. En fait, cela signifie un double deux points... en hébreu !

Exemple #1 :: en dehors de la définition de la classe

<?php
class MyClass {
    const CONST_VALUE = 'Une valeur constante';
}

$classname = 'MyClass';
echo $classname::CONST_VALUE; // Depuis PHP 5.3.0

echo MyClass::CONST_VALUE;
?>

Deux mots-clé spéciaux, self et parent, sont utilisés pour accéder aux proriétés ou aux méthodes depuis la définition de la classe.

Exemple #2 :: depuis la définition de la classe

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'variable statique';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
echo $classname::doubleColon(); // Depuis PHP 5.3.0

OtherClass::doubleColon();
?>

Lorsqu'une classe étendue redéfinit une méthode de la classe parente, PHP n'appellera pas la méthode d'origine. Il appartient à la méthode dérivée d'appeler la méthode d'origine en cas de besoin. Cela est également valable pour les définitions des constructeurs et destructeurs, les surcharges et les méthodes magiques.

Exemple #3 Appel d'une méthode parente

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
  }
}

class OtherClass extends MyClass
{
    // Dépassement de la définition parent
    public function myFunc() {

      // Mais appel de la fonction parent
      parent::myFunc();
      echo "OtherClass::myFunc()\n";
  }
}

$class = new OtherClass();
$class->myFunc();
?>
Héritage
Statique
Les classes et les objets


Statique

Le fait de déclarer des proriétés ou des méthodes comme statiques vous permet d'y accéder sans avoir besoin d'instancier la classe. On ne peut accéder à une propriété déclarée comme statique avec l'objet instancié d'une classe (bien qu'une méthode statique le puisse).

Pour des raisons de compatibilité avec PHP 4, si aucune déclaration de visibilité n'est spécifiée, alors la propriété ou la méthode sera automatiquement spécifiée comme public.

Comme les méthodes statiques peuvent être appelées sans objet, la pseudo-variable $this n'est pas disponible dans la méthode déclarée en tant que statique.

On ne peut pas accéder à des propriétés statiques à travers l'objet en utilisant l'opérateur ->.

L'appel non-statique à des méthodes statiques génère une alerte de degré E_STRICT.

Comme n'importe quelle autre variable PHP statique, les propriétés statiques ne peuvent être initialisées qu'en utilisant un litéral ou une constante; les expressions ne sont pas permises. Ainsi, vous pouvez initialiser une propriété statique avec un entier ou un tableau, mais ni avec une autre variable, ni avec une valeur de retour, ni avec un objet.

Depuis PHP 5.3.0, il est possible de référencer la classe en utilisant une variable. La valeur de la variable ne peut être un mot clé (e.g. self, parent et static).

Exemple #1 Exemple avec une propriété statique

<?php
class Foo
{
    public static $my_static = 'foo';

    public function staticValue() {
        return self::$my_static;
    }
}

class Bar extends Foo
{

    public function fooStatic() {
        return parent::$my_static;
    }
}

print Foo::$my_static . "\n";

$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n";      // propriété my_static non définie

print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n"; // Depuis PHP 5.3.0

print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

Exemple #2 Exemple avec une méthode statique

<?php
class Foo
{
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // Depuis PHP 5.3.0
?>
L'opérateur de résolution de portée (::)
Abstraction de classes
Les classes et les objets


Abstraction de classes

PHP 5 introduit les classes et les méthodes abstraites. Il n'est pas autorisé de créer une instance d'une classe définie comme abstraite. Toutes les classes contenant au moins une méthode abstraite doivent également être abstraites. Pour définir une méthode abstraite, il faut simplement déclarer la signature de la méthode et ne fournir aucune implémentation.

Lors de l'héritage d'une classe abstraite, toutes les méthodes marquées comme abstraites dans la déclaration de la classe parent doivent être définies par l'enfant ; de plus, ces méthodes doivent être définies avec la même visibilité, ou une visibilité moins restreinte. Par exemple, si la méthode abstraite est définie comme protégée, l'implémentation de la fonction doit être définie comme protégée ou publique, mais non privée.

Exemple #1 Exemple de classe abstraite

<?php
abstract class AbstractClass
{
    // Force la classe étendue à définir cette méthode
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

    // méthode commune
    public function printOut() {
        print $this->getValue() . "\n";
   }
}

class ConcreteClass1 extends AbstractClass
{
     protected function getValue() {
       return "ConcreteClass1";
     }

     public function prefixValue($prefix) {
       return "{$prefix}ConcreteClass1";
    }
}

class ConcreteClass2 extends AbstractClass
{
     public function getValue() {
       return "ConcreteClass2";
     }

     public function prefixValue($prefix) {
       return "{$prefix}ConcreteClass2";
    }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>

L'exemple ci-dessus va afficher :

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2

Du code ancien n'ayant aucune classe ou fonction nommée abstract devrait fonctionner sans modifications.

Statique
Interfaces
Les classes et les objets


Interfaces

Les interfaces objet permettent de créer du code qui spécifie quelles méthodes une classe doit implémenter.

Les interfaces sont définies en utilisant le mot-clé interface, de la même façon qu'une classe standard mais sans aucun contenu de méthode.

Toutes les méthodes déclarées dans une interface doivent être publiques.

implements

Pour implémenter une interface, l'opérateur implements est utilisé. Toutes les méthodes de l'interface doivent être implémentées dans une classe ; si ce n'est pas le cas, une erreur fatale sera émise. Les classes peuvent implémenter plus d'une interface en séparant chaque interface par une virgule.

Note: Une classe ne peut implémenter deux interfaces qui partagent des noms de fonctions, puisque cela causerait une ambiguïté.

Note: Les interfaces peuvent être étendues comme des classes en utilisant l'opérateur extends.

Note: La classe implémentant l'interface doit utiliser la même méthode de signature que celle définie dans l'interface. Si vous ne le faîtes pas, une erreur fatale sera émise.

Les constantes

Les interfaces peuvent contenir des constantes. Les constantes d'interfaces fonctionnent exactement comme les constantes de classe à l'exception qu'elles ne peuvent pas être écrasées par des classes ou des interfaces qui en héritent.

Exemples

Exemple #1 Exemple d'interface

<?php

// Declaration de l'interface 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Implémentation de l'interface
// Ceci va fonctionner
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// Ceci ne fonctionnera pas
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}
?>

Exemple #2 Les interfaces extensibles

<?php
interface a
{
    public function foo();
}

interface b extends a
{
    public function baz(Baz $baz);
}

// Ceci fonctionnera
class c implements b
{
    public function foo()
    {
    }

    public function baz(Baz $baz)
    {
    }
}

// Ceci ne fonctionnera pas et soulèvera une erreur fatale
class d implements b
{
    public function foo()
    {
    }

    public function baz(Foo $foo)
    {
    }
}
?>

Exemple #3 L'héritage de plusieurs interfaces

<?php
interface a
{
    public function foo();
}

interface b
{
    public function bar();
}

interface c extends a, b
{
    public function baz();
}

class d implements c
{
    public function foo()
    {
    }

    public function bar()
    {
    }

    public function baz()
    {
    }
}
?>

Exemple #4 Les interfaces avec des constantes

<?php
interface a
{
    const b = 'Constante de l\'interface';
}

// Affiche: Constante de l'interface
echo a::b;

// Ceci ne fonctionnera pas de toutes façons vu qu'il n'est pas autorisé
// d'écraser des constantes.
class b implements a
{
    const b = 'Constante de classe';
}
?>

Une interface, avec le typage, fournit une bonne façon de vous assurer qu'un objet particulier contient des méthodes particulières. Repportez-vous à l'opérateur instanceof et au typage.

Abstraction de classes
Surcharge
Les classes et les objets


Surcharge

La surcharge en PHP permet de créer dynamiquement des propriétés et des méthodes. Ces entités dynamiques sont traitées via mes méthodes magiques établies dans une classe pour diverses types d'actions.

Les méthodes surchargées sont appelées lors de l'interaction avec les propriétés et les méthodes qui n'ont pas été déclarés ou ne sont pas visibles dans le contexte courant. Le reste de cette section utilise les termes de "propriétés inaccessibles" et de "méthodes inaccessibles" pour se référer à cette combinaison de déclaration et de visibilité.

Toutes les méthodes surchargées doivent être définies comme public.

Note: Aucun des arguments de ces méthodes magiques ne peut être passé par référence.

Note: L'interprétation PHP de la "surcharge" est différente de la plupart des langages orientés objet. La surcharge, habituellement, fournit la possibilité d'avoir plusieurs méthodes portant le même nom mais avec une quantité et des types différents d'arguments.

Historique

Version | Description
5.3.0 | Ajout de __callStatic(). Ajout d'un avertissement pour forcer la visibilité public et la déclaration non static.
5.1.0 | Ajout de __isset() et de __unset().

Surcharge des propriétés

void __set ( string $name , mixed $value )
mixed __get ( string $name )
bool __isset ( string $name )
void __unset ( string $name )

__set() est sollicitée lors de l'écriture de données vers des propriétés inaccessibles.

__get() est sollicitée pour lire des données depuis des propriétés inaccessibles.

__isset() est sollicitée lorsque isset() ou la fonction empty() sont appelés avec des propriétés inaccessibles.

__unset()() est sollicitée lorsque unset() est appelée avec des propriétés inaccessibles.

L'argument $name est le nom du propriété qui interagit. L'argument $value de la méthode __set() spécifie la valeur du propriété $name qui doit être définie.

La surcharge des propriétés ne fonctionne que dans les contexte objet. Ces méthodes magiques ne seront pas lancées dans un contexte statique. Par conséquent, ces méthodes ne devraient pas être déclarées comme statiques. Depuis PHP 5.3.0, une alerte est levée si une des méthodes magiques est déclarée statique.

Note: La valeur retournée par __set() est ignoré en raison de la façon dont le processus PHP assigne les opérateurs. De la même façon, __get() n'est jamais appelé lors d'un enchaînement d'assignements, comme ceci :

 $a = $obj->b = 8;

Exemple #1 Exemple de surcharge de propriétés avec les méthodes __get(), __set(), __isset() et __unset()

<?php
class PropertyTest {
    /**  Variable pour les données surchargées.  */
    private $data = array();

    /**  La surcharge n'est pas utilisée sur les propriétés déclarés.  */
    public $declared = 1;

    /**  La surcharge n'est lancée que lorsque l'on accède à la classe depuis l'extérieur.  */
    private $hidden = 2;

    public function __set($name, $value) {
        echo "Définition de '$name' à la valeur '$value'\n";
        $this->data[$name] = $value;
    }

    public function __get($name) {
        echo "Récupération de '$name'\n";
        if (array_key_exists($name, $this->data)) {
            return $this->data[$name];
        }

        $trace = debug_backtrace();
        trigger_error(
            'Propriété non-définie via __get(): ' . $name .
            ' dans ' . $trace[0]['file'] .
            ' à la ligne ' . $trace[0]['line'],
            E_USER_NOTICE);
        return null;
    }

    /**  Depuis PHP 5.1.0  */
    public function __isset($name) {
        echo "Est-ce que '$name' est défini ?\n";
        return isset($this->data[$name]);
    }

    /**  Depuis PHP 5.1.0  */
    public function __unset($name) {
        echo "Effacement de '$name'\n";
        unset($this->data[$name]);
    }

    /**  Ce n'est pas une méthode magique, nécessaire ici que pour l'exemple.  */
    public function getHidden() {
        return $this->hidden;
    }
}

echo "<pre>\n";

$obj = new PropertyTest;

$obj->a = 1;
echo $obj->a . "\n\n";

var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";

echo $obj->declared . "\n\n";

echo "Manipulons maintenant la propriété privée nommée 'hidden':\n";
echo "'hidden' est visible depuis la classe, donc __get() n'est pas utilisé...\n";
echo $obj->getHidden() . "\n";
echo "'hidden' n'est pas visible en dehors de la classe, donc __get() est utlisé...\n";
echo $obj->hidden . "\n";
?>

L'exemple ci-dessus va afficher :

Définition de 'a' à '1'
Récupération de 'a'
1

Est-ce que 'a' est défini ?
bool(true)
Effacement de 'a'
Est-ce que 'a' est défini ?
bool(false)

1

Manipulons maintenant la propriété privée nommée 'hidden':
'hidden' est visible depuis la classe, donc __get() n'est pas utilisé...
2
'hidden' n'est pas visible en dehors de la classe, donc __get() est utlisé...
Récupération de 'hidden'

Notice:  Propriété non-définie via __get(): hidden dans <file> à la ligne 64 dans <file> à la ligne 28

Surcharge de méthode

mixed __call ( string $name , array $arguments )
mixed __callStatic ( string $name , array $arguments )

__call() est lancé lorsque l'on invoque des méthodes inaccessibles dans le contexte de l'objet.

__callStatic() est lancé lorsque l'on invoque des méthodes inaccessibles dans un contexte statique.

L'argument $name est le nom de la méthode appelée. L'argument $arguments est un tableau contenant les paramètres passés à la méthode $name.

Exemple #2 Surcharge de méthodes avec __call() et __callStatic()

<?php
class MethodTest {
    public function __call($name, $arguments) {
        // Note : la valeur de $name est sensible à la casse.
        echo "Appel de la méthode '$name' "
             . implode(', ', $arguments). "\n";
    }

    /**  Depuis PHP 5.3.0  */
    public static function __callStatic($name, $arguments) {
        // Note : la valeur de $name est sensible à la casse.
        echo "Appel de la méthode statique '$name' "
             . implode(', ', $arguments). "\n";
    }
}

$obj = new MethodTest;
$obj->runTest('dans un contexte objet');

MethodTest::runTest('dans un contexte statique');  // Depuis PHP 5.3.0
?>

L'exemple ci-dessus va afficher :

Appel de la méthode 'runTest' dans un contexte objet
Appel de la méthode statique 'runTest' dans un contexte statique
Interfaces
Parcours d'objets
Les classes et les objets


Parcours d'objets

PHP 5 fournit une façon de définir les objets de manière à ce qu'on puisse parcourir une liste de membres avec une structure foreach. Par défaut, toutes les propriétés visibles seront utilisées pour le parcours.

Exemple #1 Parcours d'objet simple

<?php
class MyClass
{
  public $var1 = 'valeur 1';
  public $var2 = 'valeur 2';
  public $var3 = 'valeur 3';

  protected $protected = 'variable protégée';
  private   $private   = 'variable privée';

  function iterateVisible() {
     echo "MyClass::iterateVisible:\n";
     foreach($this as $key => $value) {
         print "$key => $value\n";
     }
  }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

L'exemple ci-dessus va afficher :

var1 => valeur 1
var2 => valeur 2
var3 => valeur 3

MyClass::iterateVisible:
var1 => valeur 1
var2 => valeur 2
var3 => valeur 3
protected => variable protégée
private => variable privée

Comme nous le montre l'affichage, l'itération foreach affiche toutes les variables visibles disponibles. Pour aller plus loin, vous pouvez implémenter l'interface interne de PHP 5 nommée Iterator. Ceci permet de déterminer comment l'objet doit être parcouru.

Exemple #2 Itération d'un objet implémentant un itérateur

<?php
class MyIterator implements Iterator
{
  private $var = array();

  public function __construct($array)
  {
    if (is_array($array) ) {
      $this->var = $array;
    }
  }

  public function rewind() {
    echo "rembobinage\n";
    reset($this->var);
  }

  public function current() {
    $var = current($this->var);
    echo "actuel : $var\n";
    return $var;
  }

  public function key() {
    $var = key($this->var);
    echo "clé : $var\n";
    return $var;
  }

  public function next() {
    $var = next($this->var);
    echo "suivant : $var\n";
    return $var;
  }

  public function valid() {
    $var = $this->current() !== false;
    echo "valide : {$var}\n";
    return $var;
  }
}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}

L'exemple ci-dessus va afficher :

rembobinage
actuel : 1
valide : 1
actuel : 1
clé : 0
0: 1
suivant : 2
actuel : 2
valide : 1
actuel : 2
clé : 1
1: 2
suivant : 3
actuel : 3
valide : 1
actuel : 3
clé : 2
2: 3
suivant :
actuel :
valide :

Vous pouvez également définir votre classe de façon à ce qu'elle n'ait pas besoin de définir toutes les fonctions Iterator en implémentant simplement l'interface PHP 5 IteratorAggregate.

Exemple #3 Itération d'un objet implémentant IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
  private $items = array();
  private $count = 0;

  // Définition requise de l'interface IteratorAggregate
  public function getIterator() {
    return new MyIterator($this->items);
  }

  public function add($value) {
    $this->items[$this->count++] = $value;
  }
}

$coll = new MyCollection();
$coll->add('valeur 1');
$coll->add('valeur 2');
$coll->add('valeur 3');

foreach ($coll as $key => $val) {
    echo "clé/valeur : [$key -> $val]\n\n";
}
?>

L'exemple ci-dessus va afficher :

rembobinage
actuel : valeur 1
valide : 1
actuel : valeur 1
clé : 0
clé/valeur : [0 -> valeur 1]

suivant : valeur 2
actuel : valeur 2
valide : 1
actuel : valeur 2
clé : 1
clé/valeur : [1 -> valeur 2]

suivant : valeur 3
actuel : valeur 3
valide : 1
actuel : valeur 3
clé : 2
clé/valeur : [2 -> valeur 3]

suivant :
actuel :
valide :

Note: Pour plus d'exemples sur le parcours d'objets, lisez la section sur l'extension SPL.

Surcharge
Masques
Les classes et les objets


Masques

Les masques sont un moyen de décrire les meilleures pratiques et les bonnes conceptions. Ils proposent une solution flexible aux problèmes habituels de programmation.

Usine

Le masque d'usine permet l'instanciation d'objets durant l'exécution. Il est appelé "masque d'usine" puisqu'il est responsable de la "fabrication" d'un objet. Un paramètre d'usine reçoit le nom de la classe pour l'instancier en tant qu'argument.

Exemple #1 Méthode de paramètre d'usine

<?php
class Exemple
{
    // La méthode de paramètre d'usine
    public static function factory($type)
    {
        if (include_once 'Drivers/' . $type . '.php') {
            $classname = 'Driver_' . $type;
            return new $classname;
        } else {
            throw new Exception('Driver non trouvé');
        }
    }
}
?>

Définir cette méthode dans une classe permet de charger un pilote à la volée. Si la classe Example était une classe d'abstraction de base de données, le chargement des pilotes MySQL et SQLite pourrait être effectué comme ceci :

<?php
// Chargement du driver MySQL
$mysql = Exemple::factory('MySQL');

// Chargement du driver SQLite
$sqlite = Example::factory('SQLite');
?>

Singleton

Le masque singleton est utilisé dans les situations où l'on a besoin qu'il y ait une unique instance d'une certaine classe. L'exemple le plus commun est une connexion à une base de données. L'implémentation de ce masque permet au développeur de rendre cette unique instance facilement accessible par beaucoup d'autres objets.

Exemple #2 Fonction Singleton

<?php
class Example
{
    // instance de la classe
    private static $instance;

    // Un constructeur privé ; empêche la création directe d'objet
    private function __construct()
    {
        echo 'Je suis construit';
    }

    // La méthode singleton
    public static function singleton()
    {
        if (!isset(self::$instance)) {
            $c = __CLASS__;
            self::$instance = new $c;
        }

        return self::$instance;
    }

    // Exemple d'une méthode
    public function bark()
    {
        echo 'Woof!';
    }

    // Prévient les utilisateurs sur le clônage de l'instance
    public function __clone()
    {
        trigger_error('Le clônage n\'est pas autorisé.', E_USER_ERROR);
    }
}

?>

Ceci autorise une unique instance de la classe Example.

<?php
// Ceci échoue car le constructeur est privé
$test = new Example;

// Ceci récupère toujours une seule instance de la classe
$test = Example::singleton();
$test->bark();

// Ceci provoque une erreur E_USER_ERROR.
$test_clone = clone $test;

?>
Parcours d'objets
Méthodes magiques
Les classes et les objets


Méthodes magiques

Les fonctions __construct, __destruct, __call, __callStatic, __get, __set, __isset, __unset, __sleep, __wakeup, __toString, __invoke, __set_state et __clone sont magiques en PHP. Vous ne pouvez pas utiliser ces noms de fonction dans vos classes, sauf si vous voulez implémenter le comportement associé à ces fonctions magiques.

Attention

PHP réserve tous les noms de fonctions commençant par un double souligné __ pour les fonctions magiques. Il est recommandé de ne pas utiliser de noms de fonctions commençant par __ sauf si vous voulez des fonctionnalités magiques documentées.

__sleep et __wakeup

La fonction serialize() vérifie si votre classe a une fonction avec le nom magique __sleep. Si c'est le cas, cette fonction sera exécutée avant toute linéarisation. Elle peut nettoyer l'objet et elle est supposée retourner un tableau avec les noms de toutes les variables de l'objet qui doivent être linéarisées. Si la méthode ne retourne rien, alors NULL est linéarisé et une alerte de type E_NOTICE est émise.

Note: Il n'est pas possible pour __sleep de retourner les noms des propriétés privées des classes parents. Le fait résulte en une erreur de niveau E_NOTICE. À la place, vous devriez utiliser l'interface Serializable.

Le but avoué de __sleep est de valider des données en attente ou d'effectuer les opérations de nettoyage. De plus, cette fonction est utile si vous avez de très gros objets qui n'ont pas besoin d'être sauvegardés en totalité.

Réciproquement, la fonction unserialize() vérifie la présence d'une fonction dont le nom est le nom magique __wakeup. Si elle est présente, cette fonction peut reconstruire toute ressource que l'objet possède.

Le but avoué de __wakeup est de rétablir toute connexion base de données qui aurait été perdue durant la linéarisation et d'effectuer des tâches de réinitialisation.

Exemple #1 Utilisation de sleep() et wakeup()

<?php
class Connection {
    protected $link;
    private $server, $username, $password, $db;

    public function __construct($server, $username, $password, $db)
    {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->db = $db;
        $this->connect();
    }

    private function connect()
    {
        $this->link = mysql_connect($this->server, $this->username, $this->password);
        mysql_select_db($this->db, $this->link);
    }

    public function __sleep()
    {
        return array('server', 'username', 'password', 'db');
    }

    public function __wakeup()
    {
        $this->connect();
    }
}
?>

__toString

La méthode __toString détermine comment la classe doit réagir lorsqu'elle est convertie en chaîne de caractères.

Exemple #2 Exemple simple

<?php
// Déclaration d'une classe simple
class ClasseTest
{
    public $foo;

    public function __construct($foo) {
        $this->foo = $foo;
    }

    public function __toString() {
        return $this->foo;
    }
}

$class = new ClasseTest('Bonjour');
echo $class;
?>

L'exemple ci-dessus va afficher :

Bonjour

Il est important de noter qu'avant PHP 5.2.0, la méthode __toString n'était appelée que si elle était directement combinée avec echo() ou print(). Depuis PHP 5.2.0, il est appelé dans tous les contextes de chaîne de caractères (e.g. dans printf() avec le modificateur %s) mais pas dans les autres types de contextes (e.g. avec le modificateur %d). Depuis PHP 5.2.0, convertir un objet sans la méthode __toString en chaîne de caractères émettra une E_RECOVERABLE_ERROR.

__invoke

La méthode __invoke est appelée lorsque le script tente d'appeler un objet comme une fonction.

Note: Cette fonctionnalité est disponible depuis PHP 5.3.0.

Exemple #3 Exemple avec __invoke

<?php
class CallableClass {
    function __invoke($x) {
        var_dump($x);
    }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

L'exemple ci-dessus va afficher :

int(5)
bool(true)

__set_state

Cette méthode statique est appelée pour les classes exportées par la fonction var_export() depuis PHP 5.1.0.

Le seul paramètre de cette méthode est un tableau contenant les propriétés exportées sous la forme array('propriété' => valeur, ...).

Exemple #4 Utilisation de __set_state (depuis PHP 5.1.0)

<?php

class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array) // Depuis PHP 5.1.0
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);

?>

L'exemple ci-dessus va afficher :

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}
Masques
Mot-clé "final"
Les classes et les objets


Mot-clé "final"

PHP 5 dispose du mot-clé "final", qui empêche les classes filles de surcharger une méthode, lorsque la définition de cette dernière est préfixées par le mot-clé "final". Si la classe elle-même est définie comme finale, elle ne pourra plus être étendue.

Exemple #1 Exemple de méthode finale

<?php
class BaseClass {
   public function test() {
       echo "BaseClass::test() appelé\n";
   }

   final public function moreTesting() {
       echo "BaseClass::moreTesting() appelé\n";
   }
}

class ChildClass extends BaseClass {
   public function moreTesting() {
       echo "ChildClass::moreTesting() appelé\n";
   }
}
// Résultat : Fatal error: Cannot override final method BaseClass::moreTesting()
?>

Exemple #2 Exemple de classe finale

<?php
final class BaseClass {
   public function test() {
       echo "BaseClass::test() appelé\n";
   }

   // Ici, peut importe si vous spécifiez la fonction en finale ou pas
   final public function moreTesting() {
       echo "BaseClass::moreTesting() appelé\n";
   }
}

class ChildClass extends BaseClass {
}
// Résultat : Fatal error: Class ChildClass may not inherit from final class (BaseClass)
?>

Note: Les propriétés ne peuvent être déclarées finales, seulement les méthodes peuvent l'être.

Méthodes magiques
Clonage d'objets
Les classes et les objets


Clonage d'objets

Le fait de créer une copie d'un objet possédant exactement les mêmes propriétés n'est pas toujours le comportement que l'on souhaite. Un bon exemple pour illustrer le besoin d'un constructeur de copie : si vous avez un objet qui représente une fenêtre GTK et que l'objet contient la ressource représentant cette fenêtre GTK, lorsque vous créez une copie vous pouvez vouloir créer une nouvelle fenêtre avec les mêmes propriétés mais que le nouvel objet contienne une ressource représentant la nouvelle fenêtre.

Une copie d'objet est créée en utilisant le mot-clé clone (qui fait appel à la méthode __clone() de l'objet, si elle a été définie). La méthode __clone() d'un objet ne peut être appelée directement.

<?php

$copie_d_objet = clone $objet;

?>

Lorsqu'un objet est cloné, PHP 5 effectue une copie superficielle de toutes les propriétés de l'objet. Toutes les propriétés qui sont des références à d'autres variables demeureront des références.

Une fois le clonage effectué, si une méthode __clone() est définie, la méthode __clone() du nouvel objet sera appelée pour permettre à chaque propriété qui doit l'être d'être modifiée.

Exemple #1 Exemple de duplication d'objets

<?php
class SubObject
{
  static $instances = 0;
  public $instance;

  public function __construct() {
    $this->instance = ++self::$instances;
  }

  public function __clone() {
    $this->instance = ++self::$instances;
  }
}

class MyCloneable
{
  public $objet1;
  public $objet2;

  function __clone()
  {
    // Force la copie de this->object, sinon
    // il pointera vers le même objet.
    $this->object1 = clone $this->object1;
  }
}

$obj = new MyCloneable();

$obj->object1 = new SubObject();
$obj->object2 = new SubObject();

$obj2 = clone $obj;

print("Objet original :\n");
print_r($obj);

print("Objet cloné :\n");
print_r($obj2);

?>

L'exemple ci-dessus va afficher :

Object original :
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 1
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Object cloné :
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 3
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Mot-clé "final"
Comparaison d'objets
Les classes et les objets


Comparaison d'objets

En PHP 5, la comparaison d'objets est plus compliquée qu'en PHP 4 afin d'être plus proche du comportement des langages orientés objet (bien que PHP n'en soit pas un).

Lors de l'utilisation de l'opérateur de comparaison ==, les objets sont comparées de manière simple, à savoir : deux objets sont égaux s'ils ont les mêmes attributs et valeurs, et qu'ils sont des instances de la même classe.

D'un autre coté, lors de l'utilisation de l'opérateur d'identité (===), les objets sont identiques uniquement s'ils font référence à la même instance de la même classe.

Un exemple va illustrer ces règles.

Exemple #1 Exemple de comparaison d'objets en PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool2str($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool2str($o1 !== $o2)."\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
            $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
            $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Deux instances de la même classe\n";
compareObjects($o, $p);

echo "\nDeux références sur le même objet\n";
compareObjects($o, $q);

echo "\nInstances de classes différentes\n";
compareObjects($o, $r);
?>

L'exemple ci-dessus va afficher :

Deux instances de la même classe
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Deux références sur le même objet
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Instances de classes différentes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Note: Les extensions peuvent définir leurs propres règles pour leurs comparaisons d'objet.

Clonage d'objets
Typage objet
Les classes et les objets


Typage objet

PHP 5 introduit le typage objet implicite (littéralement, Type Hinting). Les fonctions peuvent maintenant imposer aux paramètres d'être des objets (en spécifiant le nom de la classe dans le prototype de la fonction) ou des tableaux (depuis PHP 5.1). Cependant, si NULL est utilisé en tant que valeur par défaut du paramètre, il sera autorisé comme argument pour tous les futurs appels.

Exemple #1 Exemples de typage d'objets

<?php
// Un exemple de classe
class MaClasse
{
    /**
     * Fonction de test
     *
     * Le premier paramètre doit être un objet de type AutreClasse
     */
    public function test(AutreClasse $autreclasse) {
        echo $autreclasse->var;
    }

    /**
    * Une autre fonction de test
    *
    * Le premier paramètre doit être un tableau
    */
    public function test_array(array $input_array) {
        print_r($input_array);
    }
}

// Un autre exemple de classe
class AutreClasse {
    public $var = 'Bonjour le monde!';
}
?>

Si le paramètre ne satisfait pas les conditions imposées, une erreur fatale (qui peut être attrapée) est émise.

<?php
// Une instance de chaque classe
$maclasse = new MaClasse;
$autreclasse = new AutreClasse;

// Erreur fatale : Argument 1 doit être un objet de la classe AutreClasse
$maclasse->test('salut');

// Erreur fatale : Argument 1 doit être une instance de AutreClasse
$foo = new stdClass;
$maclasse->test($foo);

// Erreur fatale : Argument 1 ne doit pas être null
$maclasse->test(null);

// Fonctionne : Affiche 'Bonjour le monde!'
$maclasse->test($autreclasse);

// Erreur fatale : Argument 1 doit être un tableau
$myclass->test_array('a string');

// Fonctionne : Affiche le tableau
$myclass->test_array(array('a', 'b', 'c'));
?>

Le typage fonctionne aussi avec les fonctions :

<?php
// Un exemple de classe
class MaClasse {
    public $var = 'Bonjour le monde!';
}

/**
 * Fonction de test
 *
 * Le premier paramètre doit être un objet de type MaClasse
 */
function MaFonction(MaClasse $foo) {
    echo $foo->var;
}

// Fonctionne
$maclasse = new MaClasse;
MaFonction($maclasse);
?>

Le typage objet autorise les valeurs NULL :

<?php

/* On accepte la valeur NULL */
function test(stdClass $obj = NULL) {

}

test(NULL);
test(new stdClass);

?>

Le typage de paramètre ne fonctionne qu'avec les variables de type object et array . Le typage avec les types traditionnels, tels que int et string , n'est pas supporté.

Comparaison d'objets
Late Static Bindings (Résolution statique à la volée)
Les classes et les objets


Late Static Bindings (Résolution statique à la volée)

Depuis PHP 5.3.0, PHP implémente une fonctionnalité appelée late static bindings, en français la résolution statique à la volée, qui est utilisée pour choisir la classe appelée dans le cadre de l'héritage de méthodes statiques.

Cette fonctionnalité a été baptisée "late static bindings", d'un point de vue interne. "Late binding", littéralement compilation tardive, vient du fait que les éléments static:: ne seront plus résolus en utilisant la classe où la méthode a été définie, mais celle qui est active durant l'exécution. L'adjectif statique a été ajouté car ce problème s'applique aux méthodes statiques, mais pas seulement.

Limitations de self::

Les références à la classe courante, avec self:: ou __CLASS__ sont résolues en utilisant la classe à qui appartiennent les fonctions, où elles ont été définies :

Exemple #1 Utilisation de self::

<?php
class A {
    public static function qui() {
        echo __CLASS__;
    }
    public static function test() {
        self::qui();
    }
}

class B extends A {
    public static function qui() {
         echo __CLASS__;
    }
}

B::test();
?>

L'exemple ci-dessus va afficher :

A

Utilisation de la résolution statique à la volée

La résolution statique à la volée essaie de dépasser cette limitation en introduisant un mot clé qui fait référence à la classe qui est appelée durant l'exécution. Simplement, ce mot-clé vous permet de faire référence à B depuis test(), dans l'exemple précédent. Il a été décidé de ne pas introduire de nouveau mot clé, mais plutôt d'utiliser le mot static qui était déjà réservé.

Exemple #2 Utilisation simple de static::

<?php
class A {
    public static function qui() {
        echo __CLASS__;
    }
    public static function test() {
        static::qui(); // Ici, résolution à la volée
    }
}

class B extends A {
    public static function qui() {
         echo __CLASS__;
    }
}

B::test();
?>

L'exemple ci-dessus va afficher :

B

Note: static:: ne fonctionne pas comme $this pour les méthodes statiques. $this-> suit les règles de l'héritage alors que static:: ne les suit pas. Cette différence est détaillée plus loin dans le manuel.

Exemple #3 Utilisation de static:: dans un contexte non statique

<?php
class TestChild extends TestParent {
    public function __construct() {
        static::qui();
    }

    public function test() {
        $o = new TestParent();
    }

    public static function qui() {
        echo __CLASS__."\n";
    }
}

class TestParent {
    public function __construct() {
        static::qui();
    }

    public static function qui() {
        echo __CLASS__."\n";
    }
}
$o = new TestChild;
$o->test();

?>

L'exemple ci-dessus va afficher :

TestChild
TestParent

Note: La résolution des statiques à la volée va s'arrêter à un appel statique complètement résolu. D'un autre coté, les appels statiques en utilisant un mot-clé comme parent:: ou self:: va transmettre l'information appelante.

Exemple #4 Appel avec ou sans transmission

<?php
class A {
    public static function foo() {
        static::qui();
    }

    public static function qui() {
        echo __CLASS__."\n";
    }
}

class B extends A {
    public static function test() {
        A::foo();
        parent::foo();
        self::foo();
    }

    public static function qui() {
        echo __CLASS__."\n";
    }
}
class C extends B {
    public static function qui() {
        echo __CLASS__."\n";
    }
}

C::test();
?>

L'exemple ci-dessus va afficher :

A
C
C

Cas limites

Il y a de nombreuses solutions pour lancer un appel à une méthode en PHP, comme des fonctions de rappels, ou des méthodes magiques. La résolution statique à la volée qui effectue son travail à l'exécution, il peut y avoir des cas particuliers qui donnent des résultats inattendus.

Exemple #5 Résolution statique à la volée dans une méthode magique

<?php
class A {

   protected static function qui() {
        echo __CLASS__."\n";
   }

   public function __get($var) {
       return static::qui();
   }
}

class B extends A {

   protected static function qui() {
        echo __CLASS__."\n";
   }
}

$b = new B;
$b->foo;
?>

L'exemple ci-dessus va afficher :

B
Typage objet
Objets et références
Les classes et les objets


Objets et références

Un des piliers de la POO de PHP 5 est le fait que les "objets sont passés par référence par défaut". Ce n'est pas complètement vrai. Cette section rectifie cette généralisation avec quelques exemples.

Une référence PHP est un alias, qui permet à deux variables différentes de représenter la même valeur. Depuis PHP 5, une variable contenant un objet ne contient plus l'objet lui-même. Il contient un identifiant d'objet, ce qui permet aux accesseurs d'objets de trouver cet objet. Lorsque l'objet est utilisé comme argument, retourné par une fonction ou assigné à une autre variable, les différentes variables ne sont pas des alias : ils contiennent le même identifiant, qui pointe sur la même valeur.

Exemple #1 Références et Objets

<?php
class A {
    public $foo = 1;
}

$a = new A;
$b = $a;     // $a et $b sont des copies du même identifiant
             // ($a) = ($b) = <id>
$b->foo = 2;
echo $a->foo."\n";

$c = new A;
$d = &$c;    // $c et $d sont des références
             // ($c,$d) = <id>

$d->foo = 2;
echo $c->foo."\n";

$e = new A;

function foo($obj) {
    // ($obj) = ($e) = <id>
    $obj->foo = 2;
}

foo($e);
echo $e->foo."\n";

?>

L'exemple ci-dessus va afficher :

2
2
2
Late Static Bindings (Résolution statique à la volée)
Sérialisation d'objets
Les classes et les objets


Sérialisation d'objets

Sérialiser des objets - des objets en session

serialize() retourne une chaîne de caractères contenant une représentation linéaire de n'importe valeur qui peut être stockée en PHP. unserialize() utilise cette chaîne de caractère pour recréer l'original de la variable à partir de sa représentation linéaire. Utiliser serialize() pour sauvegarder un objet conservera toutes ses variables. Ses méthodes ne seront pas conservées, seulement le nom de la classe.

Afin de pouvoir désérialiser (unserialize()) un objet, la classe de l'objet doit être définie pour permettre sa reconstruction. En d'autres termes, si vous avez un objet de la classe A et le sérialisez, la représentation linéaire obtenue dépendra de la classe A et contiendra toutes ses variables. Si vous voulez désérialiser la représentation linéaire dans un endroit où la classe A n'est pas définie (dans un autre fichier par exemple), alors vous devrez redéclarer la classe A avant de procéder à la désérialisation de la représentation linéaire. Cela peut-être fait, par exemple, en incluant le fichier de définition de la classe ou en utilisant la fonction spl_autoload_register().

<?php
// class_a.inc.php:

  class A {
      public $one = 1;

      public function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("class_a.inc.php");

  $a = new A;
  $s = serialize($a);
  // enregistre $s quelque part ou page2.php peut le retrouver
  file_put_contents('store', $s);

// page2.php:

  // nous avons besoin de la définition de la classe
  // pour qu'unserialize fonctionne
  include("class_a.inc.php");

  $s = file_get_contents('store');
  $a = unserialize($s);

  // appel de show_one() sur l'objet $a, affiche 1
  $a->show_one();
?>

Si une application utilise le système de session et utilise session_register() pour enregistrer des objets, ces objets sont sérialisés automatiquement à la fin de chaque page PHP, et sont désérialisés automatiquement à chaque page suivante. Cela signifie qu'une fois mis en session, chaque objet peut apparaître dans n'importe quelle page de l'application ou la session est démarrée. Notez cependant que, concernant la fonction session_register() : Cette fonctionnalité obsolète sera certainement supprimée dans le futur.

Si une application sérialise des objets, il est fortement recommandé, pour son usage futur, que l'application inclue les définitions de classe des objets sérialisés à chaque page. Ne pas faire ainsi aboutirait à un objet désérialisé sans sa définition de classe. PHP donnerait alors à cet objet une classe de type __PHP_Incomplete_Class_Name, qui n'a pas de méthode et produirait un objet inutile.

Dans l'exemple ci-dessus, si $a est enregistré dans la session en exécutant session_register("a"), vous devriez inclure le fichier class_a.inc.php dans toutes vos pages, et non seulement dans page1.php et page2.php

Objets et références
Modifications en POO (Programmation orientée objets)
Les classes et les objets


Modifications en POO (Programmation orientée objets)

Les changements du modèle objets de PHP5 sont recensés ici. Plus d'informations et quelques notes peuvent être trouvées dans la documentation sur la POO en PHP5.

Version | Description
5.3.0 | Changement: Il est maintenant possible de référencer une classe en utilisant une variable (ex: echo $classname::constant;). La valeur de la variable ne peut être un mot-clé (ex: self, parent ou static).
5.3.0 | Changement: Une erreur de niveau E_WARNING est levée si les méthodes magiques de surcharge sont déclarées static. La visibilité publique est aussi requise.
5.3.0 | Changement: Avant 5.3.0, les exceptions lancées dans la fonction __autoload ne pouvaient être traitées dans un bloc catch et résultaient en une erreur fatale. Maintenant les exceptions levées dans la fonction __autoload peuvent être attrapées dans un bloc catch et traitées. Si une exception personnalisée est levée, alors sa classe doit être disponible. La fonction __autoload peut par contre être utilisée recursivement pour autocharger la classe d'exception personnalisée.
5.3.0 | Ajout de la méthode magique __callStatic.
5.3.0 | Ajout: heredoc et nowdoc sont supportées pour définir les constantes de classes et les attributs. Note: Les valeurs heredoc doivent suivre les mêmes règles que les chaines à doubles quotes, (e.g., pas de variables à l'intérieur).
5.3.0 | Ajout du Late Static Bindings (résolution statique tardive).
5.3.0 | Ajout de la méthode magique __invoke.
5.2.0 | Changement: La méthode magique __toString n'était appelée que lors des appels à echo() ou print(). Maintenant, elles le sont dans n'importe quel contexte de chaine (ex: dans printf() avec %s) mais pas dans les autres contextes (ex: avec le modificateur %d). Depuis PHP 5.2.0, convertir un objet en chaine sans méthode __toString émet une erreur E_RECOVERABLE_ERROR.
5.1.3 | Changement: Dans les versions antérieures de PHP 5, l'utilisation de var était considérée comme dépréciée et envoyait une erreur E_STRICT. Ce n'est plus le cas.
5.1.0 | Changement: La méthode magique statique __set_state est maintenant appelée pour les classes exportées via var_export().
5.1.0 | Ajout des méthodes magiques __isset et __unset.

Sérialisation d'objets
Les espaces de noms
Les classes et les objets


Les espaces de noms

Sommaire

  • Introduction aux espaces de noms
  • Définition des espaces de noms
  • Déclaration d'un sous espace de noms
  • Définition de plusieurs espaces de noms dans le même fichier
  • Utilisation des espaces de noms : introduction
  • Espaces de noms et langage dynamique
  • La commande namespace et la constante __NAMESPACE__
  • Utilisation des espaces de noms : importation et alias
  • Espace de noms global
  • Utilisation des espaces de noms : retour à l'espace global
  • Règles de résolutions de noms
  • Foire aux questions : ce que vous devez savoir des espaces de noms
Modifications en POO (Programmation orientée objets)
Introduction aux espaces de noms
Référence du langage


Introduction aux espaces de noms

Que sont les espaces de noms ? Dans leur définition la plus large, ils représentent un moyen d'encapsuler des éléments. Cela peut être conçu comme un concept abstrait, à différents endroits. Par exemple, dans un système de fichiers, les dossiers représentent un groupe de fichiers associés, et sert d'espace de noms pour les fichiers qu'il contient. Un exemple concret est que le fichier foo.txt peut exister dans les deux dossiers /home/greg et /home/other, mais que les deux copies de foo.txt ne peuvent pas co-exister dans le même dossier. De plus, pour accéder au fichier foo.txt depuis l'extérieur du dossier /home/greg, il faut préciser le nom du dossier en utilisant un séparateur de dossier, tel que /home/greg/foo.txt. Le même principe applique les espaces de noms au monde de la programmation.

Dans le monde PHP, les espaces de noms sont conçus pour résoudre deux problèmes que les auteurs de bibliothèques et applications rencontrent lors de la réutilisation d'éléments tels que des classes ou des bibliothèques de fonctions :

  1. Collisions de noms entre le code que vous créez, les classes, fonctions ou constantes internes de PHP, ou celle de bibliothèques tierces.
  2. La capacité de faire des alias ou de raccourcir des Noms_Extremement_Long pour aider à la résolution du premier problème, et améliorer la lisibilité du code.

Les espaces de noms PHP fournissent un moyen pour regrouper des classes, fonctions ou constantes. Voici un exemple de syntaxe des espaces de noms PHP :

Exemple #1 Exemple de syntaxe des espaces de noms

<?php
namespace mon\nom; // Voyez la section "Définition des espaces de noms"

class MaClasse {}
function mafonction() {}
const MACONSTANTE = 1;

$a = new MaClasse;
$c = new \mon\nom\MaClasse; // Voyez la section "Espace global"

$a = strlen('bonjour'); // Voyez "Utilisation des espaces de noms : retour
       // à l'espace global

$d = namespace\MACONSTANTE; // Voyez "L'opérateur namespace et la constante __NAMESPACE__

$d = __NAMESPACE__ . '\MACONSTANTE';
echo constant($d); // Voyez "Espaces de noms et fonctionnalités dynamiques"
?>

Les espaces de noms sont disponibles en PHP depuis PHP 5.3.0.

Les espaces de noms
Définition des espaces de noms
Les espaces de noms


Définition des espaces de noms

Bien que du code PHP valide puisse être contenu dans un espace de noms, seuls trois types de code peuvent être affectés par les espaces de noms : les classes, les fonctions et les constantes.

Les espaces de noms sont déclarés avec le mot-clé namespace. Un fichier contenant un espace de noms doit déclarer l'espace au début du fichier, avant tout autre code, avec une seule exception : le mot clé declare.

Exemple #1 Déclaration d'un espace de noms

<?php
namespace MonProjet;

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }

?>
Le seul élément autorisé avant la déclaration d'espace de noms est la commande declare, pour définir l'encodage du fichier source. De plus, aucun code non-PHP ne peut précéder la déclaration d'espace de noms, y compris des espaces :

Exemple #2 Erreur de déclaration d'un espace de noms

<html>
<?php
namespace MonProjet; // erreur fatale : l'espace de noms doit être le premier élément du script
?>

De plus, contrairement à d'autres structures PHP, le même espace de noms peut être défini dans plusieurs fichiers, ce qui permet de scinder le contenu d'un espace de noms sur plusieurs fichiers.

Introduction aux espaces de noms
Déclaration d'un sous espace de noms
Les espaces de noms


Déclaration d'un sous espace de noms

Comme pour les fichiers et les dossiers, les espaces de noms sont aussi capables de spécifier une hiérarchie d'espaces de noms. Ainsi, un nom d'espace de noms peut être défini avec ses sous-niveaux :

Exemple #1 Déclaration d'un espace de noms avec hiérarchie

<?php
namespace MonProjet\Sous\Niveau;

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }

?>
Dans l'exemple ci-dessus, la constante MonProjet\Sous\Niveau\CONNEXION_OK, la classe MonProjet\Sous\Niveau\Connexion et la fonction MonProjet\Sous\Niveau\connecte sont créées.

Définition des espaces de noms
Définition de plusieurs espaces de noms dans le même fichier
Les espaces de noms


Définition de plusieurs espaces de noms dans le même fichier

Plusieurs espaces de noms peuvent aussi être déclarés dans le même fichier. Il y a deux syntaxes autorisées.

Exemple #1 Déclaration de plusieurs espaces de noms, syntaxe à combinaison simple

<?php
namespace MonProjet;

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }

namespace AutreProjet;

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }
?>

Cette syntaxe n'est pas recommandée pour combiner des espaces de noms dans un seul fichier. Au lieu de cela, il est recommandé d'utiliser la syntaxe à accolades.

Exemple #2 Déclaration de plusieurs espaces de noms, syntaxe à accolades

<?php
namespace MonProjet {

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }
}

namespace AutreProjet {

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }
}
?>

Il est fortement recommandé, en tant que pratique de codage, de ne pas mélanger plusieurs espaces de noms dans le même fichier. L'utilisation recommandée est de combiner plusieurs scripts PHP dans le même fichier.

Pour combiner plusieurs codes sans espaces de noms dans du code avec espace de noms, seul la syntaxe à accolades est supportée. Le code global doit être encadré par un espace de noms sans nom, tel que celui-ci :

Exemple #3 Déclaration de plusieurs espaces de noms avec un espace sans nom

<?php
namespace MonProjet {

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }
}

namespace { // code global
session_start();
$a = MonProjet\connecte();
echo MonProjet\Connexion::start();
}
?>

Aucun code PHP ne peut exister hors des accolades de l'espace de noms, sauf pour ouvrir une nouvelle instruction declare.

Exemple #4 Déclaration de plusieurs espaces de noms avec un espace sans noms (2)

<?php
declare(encoding='UTF-8');
namespace MonProjet {

const CONNEXION_OK = 1;
class Connexion { /* ... */ }
function connecte() { /* ... */  }
}

namespace { // code global
session_start();
$a = MonProjet\connecte();
echo MonProjet\Connexion::start();
}
?>

Déclaration d'un sous espace de noms
Utilisation des espaces de noms : introduction
Les espaces de noms


Utilisation des espaces de noms : introduction

Avant de discuter de l'utilisation des espaces de noms, il est important de comprendre comment PHP devine quel espace de noms votre code utilise. Une analogie simple peut être faite entre les espaces de noms de PHP et un système de fichiers. Il y a trois moyens d'accéder à un fichier dans un système de fichiers :

  1. Un nom relatif de fichier, tel que foo.txt. Cela est résolu en dossiercourant/foo.txt où dossiercourant est le dossier de travail. Si le dossier courant est /home/foo, ce nom se résout en /home/foo/foo.txt.
  2. Un chemin relatif, tel que sous-dossier/foo.txt. Cela se résout en dossiercourant/sous-dossier/foo.txt.
  3. Un chemin absolu, tel que /main/foo.txt. Cela se résout en /main/foo.txt.
Le même principe peut être appliqué aux espaces de noms de PHP. Par exemple, on peut faire référence à une classe de trois manières :
  1. Un nom sans qualificatif, ou une classe sans préfixe, telle que $a = new foo(); ou foo::methodestatique();. Si l'espace de noms courant est espacedenomscourant, ceci se résout en espacedenomscourant\foo. Si l'espace de noms est global, soit encore l'espace de noms sans nom, cela devient foo. Une mise en garde : les noms sans qualificatif pour les fonctions et les constantes vont être pris dans l'espace de noms global, si la fonction n'est pas définie dans l'espace de noms courant. Voyez Utilisation des espaces de noms : retour à l'espace de noms global pour les fonctions et les constantes pour plus de détails.
  2. Un nom qualifié, ou une classe préfixée telle que $a = new sousespacedenoms\foo(); or sousespacedenoms\foo::methodestatique();. Si l'espace de noms courant est espacedenomscourant, cela devient espacedenomscourant\sousespacedenoms\foo. Si le code est global, c'est à dire l'espace de noms sans nom, cela devient sousespacedenoms\foo.
  3. Un nom absolu, ou un nom préfixé avec un opérateur global tel que $a = new \espacedenomscourant\foo(); ou \espacedenomscourant\foo::methodestatique();. Cela fait toujours référence au nom littéral spécificé dans le code : espacedenomscourant\foo.

Voici un exemple des trois syntaxes, dans du code réel :

file1.php

<?php
namespace Foo\Bar\sousespacedenoms;

const FOO = 1;
function foo() {}
class foo
{
    static function methodestatique() {}
}
?>

file2.php

<?php
namespace Foo\Bar;
include 'file1.php';

const FOO = 2;
function foo() {}
class foo
{
    static function methodestatique() {}
}

/* nom non qualifié */
foo(); // Devient Foo\Bar\foo
foo::methodestatique(); // Devient Foo\Bar\foo, méthode methodestatique
echo FOO; // Deviet la constante Foo\Bar\FOO

/* nom qualifié */
sousespacedenoms\foo(); // Devient la fonction Foo\Bar\sousespacedenoms\foo
sousespacedenoms\foo::methodestatique(); // devient la classe Foo\Bar\sousespacedenoms\foo,
                                  // méthode methodestatique
echo sousespacedenoms\FOO; // Devient la constante Foo\Bar\sousespacedenoms\FOO

/* nom absolu */
\Foo\Bar\foo(); // Devient la fonction Foo\Bar\foo
\Foo\Bar\foo::methodestatique(); // Devient la classe Foo\Bar\foo, méthode methodestatique
echo \Foo\Bar\FOO; // Devient la constante Foo\Bar\FOO
?>

Notez que pour accéder à n'importe quelle classe, fonction ou constante globale, un nom absolu peut être utilisé, tel que \strlen() ou \Exception ou \INI_ALL.

Exemple #1 Accès aux classes, fonctions et constantes globales depuis un espace de noms

<?php
namespace Foo;

function strlen() {}
const INI_ALL = 3;
class Exception {}

$a = \strlen('hi'); // appel la fonction globale strlen
$b = \INI_ALL; // accès à une constante INI_ALL
$c = new \Exception('error'); // instantie la classe globale Exception
?>

Définition de plusieurs espaces de noms dans le même fichier
Espaces de noms et langage dynamique
Les espaces de noms


Espaces de noms et langage dynamique

L'implémentation des espaces de noms de PHP est influencée par sa nature dynamique de langage de programmation. Par conséquent, pour convertir du code tel que le code de l'exemple suivant, en un espace de noms :

Exemple #1 Accès dynamique aux éléments

example1.php:

<?php
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "global";

$a = 'classname';
$obj = new $a; // affiche classname::__construct
$b = 'funcname';
$b(); // affiche funcname
echo constant('constname'), "\n"; // affiche global
?>
Il faut utiliser un nom absolu (le nom de la classe, avec son préfixe d'espace de noms). Notez qu'il n'y a pas de différence entre un nom absolu et un nom qualifié dans un nom de classe, de fonction ou de constante dynamique, ce qui fait que l'anti-slash initial n'est pas nécessaire.

Exemple #2 Accès dynamique à des espaces de noms

<?php
namespace nomdelespacedenoms;
class classname
{
    function __construct()
    {
        echo __METHOD__,"\n";
    }
}
function funcname()
{
    echo __FUNCTION__,"\n";
}
const constname = "namespaced";

include 'example1.php';

$a = 'classname';
$obj = new $a; // affiche classname::__construct
$b = 'funcname';
$b(); // affiche funcname
echo constant('constname'), "\n"; // affiche global

/* Note que si vous utilisez des guillemets doubles, "\\nomdelespacedenoms\\classname" doit être utilisé */
$a = '\nomdelespacedenoms\classname';
$obj = new $a; // affiche nomdelespacedenoms\classname::__construct
$a = 'nomdelespacedenoms\classname';
$obj = new $a; // affiche aussi nomdelespacedenoms\classname::__construct
$b = 'nomdelespacedenoms\funcname';
$b(); // affiche nomdelespacedenoms\funcname
$b = '\nomdelespacedenoms\funcname';
$b(); // affiche aussi nomdelespacedenoms\funcname
echo constant('\nomdelespacedenoms\constname'), "\n"; // affiche namespaced
echo constant('nomdelespacedenoms\constname'), "\n"; // affiche aussi namespaced
?>

Il est recommandé de lire la note au sujet de la protection des espaces de noms dans les chaînes.

Utilisation des espaces de noms : introduction
La commande namespace et la constante __NAMESPACE__
Les espaces de noms


La commande namespace et la constante __NAMESPACE__

PHP supporte deux moyens pour accéder de manière abstraite aux éléments dans l'espace de nom courant, à savoir la constante magique __NAMESPACE__ et la commande namespace.

La valeur de __NAMESPACE__ est une chaîne qui contient le nom de l'espace de noms courant. Dans l'espace global, sans nom, elle contient une chaîne vide.

Exemple #1 Exemple avec __NAMESPACE__, dans un code avec espace de noms

<?php
namespace MonProjet;

echo '"', __NAMESPACE__, '"'; // affiche "MonProjet"
?>

Exemple #2 Exemple avec __NAMESPACE__, dans un code avec espace de noms global

<?php

echo '"', __NAMESPACE__, '"'; // affiche ""
?>
La constante __NAMESPACE__ est utile pour construire dynamiquement des noms, tels que :

Exemple #3 Utilisation de __NAMESPACE__ pour une construction dynamique de noms

<?php
namespace MonProjet;

function get($classname)
{
    $a = __NAMESPACE__ . '\\' . $classname;
    return new $a;
}
?>

La commande namespace peut aussi être utilisée pour demander explicitement un élément de l'espace de noms courant, ou d'un sous-espace. C'est l'équivalent pour les espaces de noms de l'opérateur self des classes.

Exemple #4 l'opérateur namespace, dans un espace de noms

<?php
namespace MonProjet;

use blah\blah as mine; // Voyez "Utilisation des espaces de noms : importation et alias"

blah\mine(); // appelle la fonction MonProjet\blah\mine()
namespace\blah\mine(); // appelle la fonction MonProjet\blah\mine()

namespace\func(); // appelle la fonction MonProjet\func()
namespace\sub\func(); // appelle la fonction MonProjet\sub\func()
namespace\cname::method(); // appelle la méthode statique "method" de la classe MonProjet\cname
$a = new namespace\sub\cname(); // instantie un objet de la classe MonProjet\sub\cname
$b = namespace\CONSTANT; // assigne la valeur de la constante MonProjet\CONSTANT à $b
?>

Exemple #5 l'opérateur namespace, dans l'espace de noms global

<?php

namespace\func(); // appelle la fonction func()
namespace\sub\func(); // appelle la fonction sub\func()
namespace\cname::method(); // appelle la méthode statique "method" de la classe cname
$a = new namespace\sub\cname(); // instantie un objet de la classe sub\cname
$b = namespace\CONSTANT; // assigne la valeur de la constante CONSTANT à $b
?>

Espaces de noms et langage dynamique
Utilisation des espaces de noms : importation et alias
Les espaces de noms


Utilisation des espaces de noms : importation et alias

La capacité de faire référence à un nom absolu avec un alias ou en important un espace de noms est stratégique. C'est un avantage similaire aux liens symbolique dans un système de fichiers.

Les espaces de noms PHP supportent deux types d'alias et d'importation : l'alias de nom de classe, et l'alias d'espace de noms. Notez que l'importation de constantes ou fonctions n'est pas supporté.

En PHP, l'alias est créé avec l'opérateur use. Voici un exemple qui présente les trois types d'importation :

Exemple #1 importation et alias avec l'opérateur use

<?php
namespace foo;
use My\Full\Classname as Another;

// Ceci est la même chose que use My\Full\NSname as NSname
use My\Full\NSname;

// importation d'une classe globale
use \ArrayObject;

$obj = new namespace\Another; // instantie un objet de la classe foo\Another
$obj = new Another; // instantie un objet de la classe My\Full\Classname
NSname\subns\func(); // appelle la fonction My\Full\NSname\subns\func
$a = new ArrayObject(array(1)); // instantie un objet de la classe ArrayObject
// Sans l'instruction "use \ArrayObject" nous aurions instantié un objet de la classe foo\ArrayObject
?>
Notez que pour les noms avec chemin (les noms absolus contenant des séparateurs d'espaces, tels que Foo\Bar, par comparaison avec les noms globaux, tels que FooBar), qui n'en contiennent pas, l'anti-slash initial n'est pas nécessaire, et même interdit, car les noms importés doivent être absolus, et ne sont pas résolus relativement à l'espace de noms courant.

De plus, PHP supporte des raccourcis pratiques, tels que les commandes use multiples.

Exemple #2 importation et alias multiples avec l'opérateur use

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantie un objet de la classe My\Full\Classname
NSname\subns\func(); // appelle la fonction My\Full\NSname\subns\func
?>

L'importation est réalisée à la compilation, ce qui fait que cela n'affecte pas les classes, fonctions et constantes dynamiques.

Exemple #3 Importation et noms d'espaces dynamiques

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantie un objet de la classe My\Full\Classname
$a = 'Another';
$obj = new $a;      // instantie un objet de la classe Another
?>

De plus, l'importation n'affecte que les noms sans qualifications. Les noms absolus restent absolus, et inchangés par un import.

Exemple #4 Importation et noms d'espaces absolus

<?php
use My\Full\Classname as Another, My\Full\NSname;

$obj = new Another; // instantie un objet de la classe My\Full\Classname
$obj = new \Another; // instantie un objet de la classe Another
$obj = new Another\untruc; // instantie un objet de la classe My\Full\Classname\untruc
$obj = new \Another\untruc; // instantie un objet de la classe Another\untruc
?>

La commande namespace et la constante __NAMESPACE__
Espace de noms global
Les espaces de noms


Espace de noms global

Sans aucune définition d'espace de noms, toutes les classes et les fonctions sont placées dans l'espace de noms global : comme en PHP avant que les espaces de noms ait été introduits. En préfixant un nom avec un anti-slash \, on peut demander l'utilisation de l'espace de noms global, même dans un contexte d'espace de noms spécifique.

Exemple #1 Spécification d'espace de noms global

<?php
namespace A\B\C;

/* Cette fonction est A\B\C\fopen */
function fopen() {
     /* ... */
     $f = \fopen(...); // appel à fopen global
     return $f;
}
?>

Utilisation des espaces de noms : importation et alias
Utilisation des espaces de noms : retour à l'espace global
Les espaces de noms


Utilisation des espaces de noms : retour à l'espace global

Dans un espace de noms, lorsque PHP rencontre un nom sans qualification, que ce soit une classe, une fonction ou une constante, il le résout avec différentes priorités. Les noms de classes sont toujours résolus avec l'espace de noms courant. Pour accéder à des classes internes ou à des classes qui ne sont pas dans un espace de noms, il faut les représenter avec leur nom absolu, tel que :

Exemple #1 Accès aux classes globales depuis un espace de noms

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hi'); // $a est un objet de la classe A\B\C\Exception
$b = new \Exception('hi'); // $b est un objet de la classe Exception

$c = new ArrayObject; // erreur fatale, classe A\B\C\ArrayObject non trouvée
?>

Pour les fonctions et constantes, PHP va aller les chercher dans l'espace global s'il ne peut les trouver dans l'espace de noms courant.

Exemple #2 Accès aux fonctions et constantes globales dans un espace de noms

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // affiche "45"
echo INI_ALL, "\n"; // affiche "7" : accès dans l'espace de noms global INI_ALL

echo strlen('hi'), "\n"; // affiche "1"
if (is_array('hi')) { // affiche "n'est pas un tableau"
    echo "est un tableau\n";
} else {
    echo "n'est pas un tableau\n";
}
?>

Espace de noms global
Règles de résolutions de noms
Les espaces de noms


Règles de résolutions de noms

Dans le cadre des règles de résolution, il y a plusieurs définitions importantes :

Définitions pour les espaces de noms
nom non qualifié

Ceci est un identifiant ne contenant pas un séparateur d'espace de noms. Par exemple : Foo

nom qualifié

Ceci est un identifiant contenant un séparateur d'espace de noms. Par exemple : Foo\Bar

Nom absolu

Ceci est un identifiant qui commence par un séparateur d'espace de noms. Par exemple : \Foo\Bar. namespace\Foo est aussi un nom absolu.

Les noms sont résolus en suivant les règles suivantes :

  1. Les appels à des espaces de noms absolus pour des fonctions, classes ou constantes sont résolus à la compilation. Par exemple, new \A\B utilise la classe A\B.
  2. Tous les noms qui ne sont pas absolus sont traduits durant la compilation à l'aide des règles d'importation. Par exemple, si le nom A\B\C est importé sous l'alias C, un appel à C\D\e() est traduit en un appel à A\B\C\D\e().
  3. Dans un nom de domaine, tous les noms qualifiés qui ne sont pas traduits à l'aide des règles d'importation sont préfixés avec l'espace de noms courant. Par exemple, si un appel à C\D\e() est effectué dans l'espace de noms A\B, il est traduit en A\B\C\D\e().
  4. Les classes non qualifiées sont traduites durant la compilation en fonction des règles d'importations (le nom complet remplace les noms courts). Par exemple, si l'espace de noms A\B\C est importé sous le nom C, new C() est remplacé par new A\B\C().
  5. Dans un espace de noms, tel que A\B, les appels à des fonctions sans qualification sont résolus à la compilation. Voici comment un appel à foo() est résolu :
    1. Il recherche une fonction dans l'espace de noms courant : A\B\foo().
    2. Il essaie de trouver et appeler la fonction globale foo().
  6. Dans un espace de noms, e.g. A\B, un appel à une classe qualifiée ou non qualifiée (pas absolue), est résolu à l'exécution. Voici comment un appel à new C() ou à new D\E() est résolu. Pour new C() :
    1. Il recherche une classe dans l'espace de noms courant : A\B\C.
    2. Il appelle l'autoload pour A\B\C.
    Pour new D\E():
    1. Il recherche une classe dans l'espace de noms courant : A\B\D\E.
    2. Il appelle l'autoload pour A\B\D\E.
    Pour référencer une classe globale dans l'espace de noms global, son nom absolu new \C() doit être utilisé.

Exemple #1 Exemples de résolutions d'espaces de noms

<?php
namespace A;
use B\D, C\E as F;

// appels de fonctions

foo();      // tente d'appeler la fonction "foo" dans l'espace de noms "A"
            // puis appelle la fonction globale "foo"

\foo();     // appelle la fonction "foo" définie dans l'espace de noms global

my\foo();   // appelle la fonction "foo" définie dans l'espace de noms "A\my"

F();        // tente d'appeler la fonction "F" définie dans l'espace "A"
            // puis tente d'appeler la fonction globale "F"

// référence de classes references

new B();    // crée un objet de la classe "B" définie dans l'espace de noms  "A"
            // si non trouvé, il essaie l'autoload sur la classe "A\B"

new D();    // using import rules, crée un objet de la classe "D" définie dans l'espace de noms  "B"
            // si non trouvé, il essaie l'autoload sur la classe "B\D"

new F();    // using import rules, crée un objet de la classe "E" définie dans l'espace de noms  "C"
            // si non trouvé, il essaie l'autoload sur la classe "C\E"

new \B();   // crée un objet de la classe "B" définie dans l'espace de noms global
            // si non trouvé, il essaie l'autoload sur la classe "B"

new \D();   // crée un objet de la classe "D" définie dans l'espace de noms global
            // si non trouvé, il essaie l'autoload sur la classe "D"

new \F();   // crée un objet de la classe "F" définie dans l'espace de noms global
            // si non trouvé, il essaie l'autoload sur la classe "F"

// méthodes statiques et fonctions d'espace de noms d'un autre espace

B\foo();    // appelle la fonction "foo" de l'espace de noms "A\B"

B::foo();   // appelle la méthode "foo" de la classe "B" définie dans l'espace de noms  "A"
            // si la classe "A\B" n'est pas trouvée, il essaie l'autoload sur la classe "A\B"

D::foo();   // using import rules, appelle la méthode "foo" de la classe "D" définie dans l'espace de noms  "B"
            // si la classe "B\D" n'est pas trouvée, il essaie l'autoload sur la classe "B\D"

\B\foo();   // appelle la fonction "foo" de l'espace de noms "B"

\B::foo();  // appelle la méthode "foo" de la classe "B" from global scope
            // si la classe "B" n'est pas trouvée, il essaie l'autoload sur la classe "B"

// méthodes statiques et fonctions d'espace de noms de l'espace courant

A\B::foo();   // appelle la méthode "foo" de la classe "B" de l'espace de noms "A\A"
              // si la classe "A\A\B" n'est pas trouvée, il essaie l'autoload sur la classe "A\A\B"

\A\B::foo();  // appelle la méthode "foo" de la classe "B" de l'espace de noms "A\B"
              // si la classe "A\B" n'est pas trouvée, il essaie l'autoload sur la classe "A\B"
?>
Utilisation des espaces de noms : retour à l'espace global
Foire aux questions : ce que vous devez savoir des espaces de noms
Les espaces de noms


Foire aux questions : ce que vous devez savoir des espaces de noms

Cette FAQ est décomposée en deux sections : les questions courantes, et les points particuliers de l'implémentation, qui peuvent être utile à la compréhension globale.

D'abord, les questions courantes.

  1. Si je n'utilise pas d'espaces de noms, est-ce que je dois m'en soucier ?
  2. Comment utiliser une classe globale ou interne depuis un espace de noms ?
  3. Comment utiliser les classes d'espaces de noms, les fonctions ou les constantes dans leur propre espace ?
  4. Comment est-ce qu'un nom comme \mon\nom ou \nom est résolu ?
  5. Comment est-ce qu'un nom tel que mon\nom est résolu ?
  6. Comment un nom de classe sans qualification, tel que nom, est résolu ?
  7. Comment une fonction sans qualification ou une constante de nom nom est résolue ?

Voici les points particuliers de l'implémentation, qui peuvent être utile à la compréhension globale.

  1. Les noms importés ne doivent pas entrer en conflit avec les classes définies dans le même fichier
  2. Les espaces de noms imbriqués sont interdits
  3. Ni les fonctions, ni les constantes ne peuvent être importées avec la commande use
  4. Les noms d'espaces de noms dynamiques doivent protéger l'anti-slash
  5. Des constantes indéfinies référencées avec un anti-slash produisent une erreur fatale
  6. Impossible de remplacer des constantes spéciales comme NULL, TRUE, FALSE, ZEND_THREAD_SAFE ou ZEND_DEBUG_BUILD

Si je n'utilise pas d'espaces de noms, est-ce que je dois m'en soucier ?

Non, les espaces de noms n'affectent pas le code existant, d'une manière ou d'une autre, ni le code qui sera produit et qui n'utilise pas les espaces de noms. Vous pouvez écrire ceci si vous voulez :

Exemple #1 Accès à une classe globale de l'extérieur d'un espace de noms

<?php
$a = new \stdClass;

C'est une fonctionnalité équivalente à :

Exemple #2 Accéder à des classes globales hors d'un espace de noms

<?php
$a = new stdClass;

Comment utiliser une classe globale ou interne depuis un espace de noms ?

Exemple #3 Accès aux classes internes depuis un espace de noms

<?php
namespace foo;
$a = new \stdClass;

function test(\ArrayObject $typehintexample = null) {}

$a = \DirectoryIterator::CURRENT_AS_FILEINFO;

// extension d'une classe interne ou globale
class MyException extends \Exception {}
?>

Comment utiliser les classes d'espaces de noms, les fonctions ou les constantes dans leur propre espace ?

Exemple #4 Accès aux classes, fonctions et constantes internes dans un espace de noms

<?php
namespace foo;

class MaClasse {}

// utilisation d'une classe dans l'espace de noms courant, sous forme de type d'argument
function test(MaClasse $typehintexample = null) {}

// une autre manière d'utiliser une classe dans l'espace de noms courant
function test(\foo\MaClasse $typehintexample = null) {}

// extension d'une classe dans l'espace de noms courant
class Extended extends MaClasse {}

// accès à une fonction globale
$a = \globalfunc();

// accès à une constante globale
$b = \INI_ALL;
?>

Comment est-ce qu'un nom comme \mon\nom ou \nom est résolu ?

Les noms qui commencent par \ sont toujours résolus en ce à quoi ils ressemblent, ce qui fait que \mon\nom est en fait mon\nom, et \Exception est Exception.

Exemple #5 Noms d'espaces absolus

<?php
namespace foo;
$a = new \mon\nom(); // instantie la classe "mon\nom"
echo \strlen('hi'); // appelle la fonction "strlen"
$a = \INI_ALL; // $a reçoit la valeur de la constante "INI_ALL"
?>

Comment est-ce qu'un nom tel que mon\nom est résolu ?

Les noms qui contiennent un anti-slash mais ne commencent par par un anti-slash, comme mon\nom peuvent être résolus de deux manières différentes.

S'il y a eu une commande d'importation qui fait un alias de mon, alors l'alias importé est appliqué à la place de mon, et l'espace de noms devient mon\nom.

Sinon, l'espace de noms courant est ajouté avant le chemin de la classe mon\nom.

Exemple #6 Noms qualifiés

<?php
namespace foo;
use blah\blah as foo;

$a = new mon\nom(); // instantie la classe "foo\mon\nom"
foo\bar::name(); // appelle la méthode statique "name" dans la classe "blah\blah\bar"
mon\bar(); // appelle la fonction "foo\mon\bar"
$a = mon\BAR; // affecte à $a la valeur de la constante "foo\mon\BAR"
?>

Comment un nom de classe sans qualification, tel que nom, est résolu ?

Les noms de classes qui ne contiennent pas d'anti-slash comme nom peuvent être résolus de deux manières différentes.

S'il y a une instruction d'importation qui définit un alias pour nom, alors l'alias est appliqué.

Sinon, l'espace de noms courant est utilisé, et préfixé à nom.

Exemple #7 Classes sans qualification

<?php
namespace foo;
use blah\blah as foo;

$a = new nom(); // instantie "foo\nom" class
foo::nom(); // appelle la méthode statique "nom" dans la classe "blah\blah"
?>

Comment une fonction sans qualification ou une constante de nom nom est résolue ?

Les fonctions et constantes qui n'ont pas d'anti-slash dans leur nom comme nom sont résolues de deux manières différentes :

D'abord, l'espace de noms courant est préfixé à name.

Ensuite, si la constante ou la fonction nom n'existe pas dans l'espace de nom courant, la version globale de la constante ou la fonction nom est utilisée.

Exemple #8 Fonctions et constantes sans espace de noms

<?php
namespace foo;
use blah\blah as foo;

const FOO = 1;

function mon() {}
function foo() {}
function sort(&$a)
{
    sort($a);
    $a = array_flip($a);
    return $a;
}

mon(); // appelle "foo\mon"
$a = strlen('hi'); // appelle la fonction globale "strlen" car "foo\strlen" n'existe pas
$arr = array(1,3,2);
$b = sort($arr); // appelle la fonction "foo\sort"
$c = foo(); // appelle la fonction "foo\foo" : l'importation n'est pas appliquée

$a = FOO; // assigne à $a la valeur de la constante "foo\FOO" : l'importation n'est pas appliquée
$b = INI_ALL; // assigne à $b la valeur de la constante "INI_ALL"
?>

Les noms importés ne doivent pas entrer en conflit avec les classes définies dans le même fichier

La combinaison de script suivante est valide :

file1.php

<?php
namespace mes\trucs;
class MaClasse {}
?>

another.php

<?php
namespace another;
class untruc {}
?>

file2.php

<?php
namespace mes\trucs;
include 'file1.php';
include 'another.php';

use another\untruc as MaClasse;
$a = new MaClasse; // instantie la classe "untruc" de l'espace de noms another
?>

Il n'y a pas de conflit de noms, même si la classe MaClasse existe dans l'espace de noms mes\trucs, car la définition de MaClasse est dans un fichier séparé. Cependant, l'exemple suivant produit une erreur fatale à cause d'un conflit de noms, car MaClasse est définie dans le même fichier que l'instruction use.

<?php
namespace mes\trucs;
use another\untruc as MaClasse;
class MaClasse {} // erreur fatale: MaClasse est en conflit avec la commande d'importation
$a = new MaClasse;
?>

Les espaces de noms imbriqués sont interdits

PHP ne permet pas d'imbriquer des espaces de noms.

<?php
namespace mes\trucs {
    namespace nested {
        class foo {}
    }
}
?>
Cependant, il est facile de simuler des espaces de noms imbriqués, comme ceci :
<?php
namespace mes\trucs\nested {
    class foo {}
}
?>

Ni les fonctions, ni les constantes ne peuvent être importées avec la commande use

Les seuls éléments qui sont affectés par la commande use sont les espaces de noms et les classes. Afin de réduire le nom d'une constante ou d'une fonction, il faut l'importer dans un espace de noms.

<?php
namespace mine;
use ultra\long\ns\nom;

$a = nom\CONSTANT;
nom\func();
?>

Les noms d'espaces de noms dynamiques doivent protéger l'anti-slash

Il est très important de réaliser que, comme les anti-slash sont utilisés comme caractères de protection dans les chaînes, il faut toujours les doubler pour pouvoir les utiliser dans une chaîne. Sinon, il y a un risque d'utilisation inattendue :

Exemple #9 Dangers de l'utilisation des espaces de noms dans une chaîne

<?php
$a = new "dangereux\nom"; // \n est une nouvelle ligne dans une chaîne!
$obj = new $a;

$a = new 'pas\vraiment\dangereux'; // aucun problem ici
$obj = new $a;
?>
Dans une chaîne à double guillemets, la séquence de protection est beaucoup plus sécuritaire à utiliser, mais il est quand même recommandé de toujours protéger les anti-slashs dans une chaîne qui contient un espace de noms.

Des constantes indéfinies référencées avec un anti-slash produisent une erreur fatale

Toute constante indéfinie qui est sans qualificatif tel que FOO va produite une alerte : PHP supposait que FOO était la valeur de la constante. Toute constante, qualifiée partiellement ou totalement, qui contient un anti-slash, produite une erreur fatale si indéfinie.

Exemple #10 Constantes indéfinies

<?php
namespace bar;
$a = FOO; // produit une alerte : constante indéfinie "FOO", qui prend la valeur de "FOO";
$a = \FOO; // erreur fatale, constante d'espace de noms indéfinie FOO
$a = Bar\FOO; // erreur fatale, constante d'espace de noms indéfinie bar\Bar\FOO
$a = \Bar\FOO; // erreur fatale, constante d'espace de noms indéfinie Bar\FOO
?>

Impossible de remplacer des constantes spéciales comme NULL, TRUE, FALSE, ZEND_THREAD_SAFE ou ZEND_DEBUG_BUILD

Toute tentative dans un espace de noms de remplacer les constantes natives ou spéciales engendre une erreur fatale.

Exemple #11 Constantes qui ne peuvent être redéfinies

<?php
namespace bar;
const NULL = 0; // erreur fatale;
const true = 'stupid'; // encore une erreur fatale;
// etc.
?>

Règles de résolutions de noms
Les exceptions
Les espaces de noms


Les exceptions

Sommaire

  • Exceptions étendues

PHP 5 a une gestion des exceptions similaire à ce qu'offrent les autres langages de programmation. Une exception peut être lancée ("throw") et attrapée ("catch") dans PHP. Le code devra être entouré d'un bloc try pour faciliter la saisie d'une exception potentielle. Chaque try doit avoir au moins un bloc catch correspondant. Plusieurs blocs catch peuvent être utilisés pour attraper différentes classes d'exceptions. L'exécution normale (lorsque aucune exception n'est lancée dans le bloc try ou lorsqu'un catch correspondant à l'exception lancée n'est pas présent) continue après le dernier bloc catch défini dans la séquence. Les exceptions peuvent être lancées (ou relancées) dans un bloc catch.

Lorsqu'une exception est jetée, le code suivant le traitement ne sera pas exécuté et PHP tentera de trouver le premier bloc catch correspondant. Si une exception n'est pas attrapé, une erreur fatale issue de PHP sera envoyée avec un message spécifiant que l'exception n'a pu être attrapée à moins qu'un gestionnaire ne soit défini avec la fonction set_exception_handler().

L'objet lancé doit être une instance de la classe Exception ou une sous-classe de la classe Exception. Tenter de lancer un objet qui ne correspond pas à cela résultera en une erreur fatale émise par PHP.

Note: Les fonctions internes de PHP utilisent principalement l' Error reporting, seules les extensions orientées objet utilisent les exceptions. Quoiqu'il en soit, des erreurs peuvent facilement être traduites en exceptions avec ErrorException.

Astuce

La bibliothèque standard PHP (SPL) fournit un bon nombre d'exceptions en dur.

Exemple #12 Lancer une exception

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division par zéro.');
    }
    else return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Exception reçue : ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Bonjour le monde !';
?>

L'exemple ci-dessus va afficher :

0.2
Exception reçue : Division par zéro.
Hello World

Exemple #13 Héritage d'une exception

<?php

class MyException extends Exception { }

class Test {
    public function testing() {
        try {
            try {
                throw new MyException('foo!');
            } catch (MyException $e) {
                /* on la relance */
                throw $e;
            }
        } catch (Exception $e) {
            var_dump($e->getMessage());
        }
    }
}

$foo = new Test;
$foo->testing();

?>

L'exemple ci-dessus va afficher :

string(4) "foo!"
Foire aux questions : ce que vous devez savoir des espaces de noms
Exceptions étendues
Référence du langage


Exceptions étendues

Une classe Exception définie par l'utilisateur peut être définie en étendant la classe Exception interne. Les membres et les propriétés suivantes montrent ce qui est accessible dans la classe enfant qui est dérivée de la classe exception interne.

Exemple #1 La classe Exception interne

<?php
class Exception
{
  protected $message = 'exception inconnu'; // message de l'exception
  private   $string;                        // __toString cache
  protected $code = 0;                      // code de l'exception défini par l'utilisateur
  protected $file;                          // nom du fichier source de l'exception
  protected $line;                          // ligne de la source de l'exception
  private   $trace;                         // backtrace
  private   $previous;                      // exception précédente

  public function __construct($message = null, $code = 0, Exception $previous = null);

  final private function __clone();         // Inhibe le clonage des exceptions.

  final public function getMessage();              // message de l'exception
  final public function getCode();                 // code de l'exception
  final public function getFile();                 // nom du fichier source
  final public function getLine();                 // ligne du fichier source
  final public function getTrace();                // un tableau de backtrace()
  final public function getPrevious();             // exception précédente
  final public function getTraceAsString();        // chaîne formattée de trace

  /* Remplacable */
  public function __toString();                    // chaîne formatée pour l'affichage
}
?>

Si une classe étend la classe Exception interne et redéfinit le constructeur, il est vivement recommandé qu'elle appelle aussi parent::__construct() pour s'assurer que toutes les données disponibles ont été proprement assignées. La méthode __toString() peut être réécrite pour fournir un affichage personnalisé lorsque l'objet est présenté comme une chaîne.

Note: Les exceptions ne peuvent pas être clônées. Si vous tentez de clôner une exception, une erreur fatale (E_ERROR) sera émise.

Exemple #2 Étendre la classe Exception

<?php
/**
* Définition d'une classe d'exception personnalisée
*/
class MyException extends Exception
{
  // Redéfinissez l'exception ainsi le message n'est pas facultatif
  public function __construct($message, $code = 0, Exception $previous = null) {

    // traitement personnalisé que vous voulez réaliser ...

    // assurez-vous que tout a été assigné proprement
    parent::__construct($message, $code, $previous);
  }

  // chaîne personnalisé représentant l'objet
  public function __toString() {
    return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
  }

  public function customFunction() {
    echo "Une fonction personnalisée pour ce type d'exception\n";
  }
}

/**
* Création d'une classe pour tester l'exception
*/
class TestException
{
  public $var;

  const THROW_NONE    = 0;
  const THROW_CUSTOM  = 1;
  const THROW_DEFAULT = 2;

  function __construct($avalue = self::THROW_NONE) {

    switch ($avalue) {
      case self::THROW_CUSTOM:
        // jette une exception personnalisé
        throw new MyException('1 est un paramètre invalide', 5);
        break;

      case self::THROW_DEFAULT:
        // jette l'exception par défaut.
        throw new Exception('2 n\'est pas autorisé en tant que paramètre', 6);

        break;

      default:
        // Aucune exception, l'objet sera créé.
        $this->var = $avalue;
        break;
    }
  }
}

// Exemple 1
try {
  $o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) {            // Devrait être attrapée
  echo "Capture mon exception\n", $e;
  $e->customFunction();
} catch (Exception $e) {              // Sauté
  echo "Capture l'exception par défaut\n", $e;
}

// Continue l'exécution
var_dump($o); // Null
echo "\n\n";

//Exemple 2
try {
  $o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) {            // Ne correspond pas à ce type
  echo "Capture mon exception\n", $e;
  $e->customFunction();
} catch (Exception $e) {              // Devrait être attrapée
  echo "Capture l'exception par défaut\n", $e;
}

// Continue l'exécution
var_dump($o); // Null
echo "\n\n";

// Exemple 3
try {
  $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {              // Devrait être attrapée
  echo "Capture l'exception par défaut\n", $e;
}

// Continue l'exécution
var_dump($o); // Null
echo "\n\n";

// Exemple 4
try {
  $o = new TestException();
} catch (Exception $e) {              // sauté, aucune exception
  echo "Capture l'exception par défaut\n", $e;
}

// Continue l'exécution
var_dump($o); // TestException
echo "\n\n";
?>
Les exceptions
Les références
Les exceptions


Les références

Sommaire

  • Qu'est ce qu'une référence ?
  • Que font les références ?
  • Ce que les références ne sont pas
  • Passage par référence
  • Retourner des références
  • Détruire une référence
  • Repérer une référence
Exceptions étendues
Qu'est ce qu'une référence ?
Référence du langage


Qu'est ce qu'une référence ?

En PHP, les références sont destinées à appeler le contenu d'une variable avec un autre nom. Ce n'est pas comme en C ; vous ne pouvez pas effectuer des opérations arithmétiques comme sur des pointeurs, ce ne sont pas des adresses mémoires. Voyez Ce que les références ne sont pas pour plus d'informations. Les références sont des alias dans la table des symboles. Le nom de la variable et son contenu ont des noms différents, ce qui fait que l'on peut donner plusieurs noms au même contenu. On peut faire l'analogie avec les fichiers sous Unix, et leur nom de fichier : les noms des variables sont les entrées dans un répertoire, tandis que le contenu de la variable est le contenu même du fichier. Faire des références en PHP revient alors à faire des liens sous Unix.

Les références
Que font les références ?
Les références


Que font les références ?

Il y a 3 utilisations principales des références: assignation par référence, passage par référence, et retourner par référence. Cette section introduit ces opérations, avec des liens vers plus de précision.

Assignation par référence

Dans ce premier cas, les références PHP vous permettent de faire en sorte que 2 variables référencent le même contenu. Ainsi :

<?php
$a =& $b;
?>
cela signifie que $a et $b pointent sur le même contenu.

Note: $a et $b sont complètement égales ici : ce n'est pas $a qui pointe sur $b, ou vice-versa. C'est bien $a et $b qui pointent sur le même contenu.

Note: Si un tableau par référence est copié, ses valeurs ne sont pas déréférencées. Cela est valide également pour les tableaux passés par valeur aux fonctions.

Note: Si vous assignez, passez ou retournez une variable indéfinie par référence, elle sera créée automatiquement.

Exemple #1 Utilisation des références avec des variables indéfinies

<?php
function foo(&$var) { }

foo($a); // $a est "créée" et assignée à NULL

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>

La même syntaxe peut être utilisée avec les fonctions qui retournent des références, et avec l'opérateur new (depuis PHP 4.0.4 et avant PHP 5.0.0) :

<?php
$foo =& find_var($bar);
?>
Depuis PHP 5, new retourne une référence automatiquement, donc, l'utilisation de =& dans ce contexte est obsolète et produit un message de niveau E_STRICT.

Avertissement

Si vous assignez une référence à une variable déclarée global dans une fonction, la référence ne sera visible qu'au sein de la fonction. Vous pouvez éviter cela en utilisant le tableau $GLOBALS.

Exemple #2 Référencer des variables globales depuis fonction

<?php
$var1 = "Variable Exemple";
$var2 = "";

function global_references($use_globals)
{
    global $var1, $var2;
    if (!$use_globals) {
        $var2 =& $var1; // visible uniquement dans la fonction
    } else {
        $GLOBALS["var2"] =& $var1; // visible également dans un contexte global
    }
}

global_references(false);
echo "var2 est défini à '$var2'\n"; // var2 est défini à ''
global_references(true);
echo "var2 est défini à '$var2'\n"; // var2 est défini à 'Variable Exemple'
?>
Voyez global $var; comme un raccourci pour $var =& $GLOBALS['var'];. De ce fait assignant d'autres références à $var changeant uniquement la référence locale de la variable.

Note: Si vous assignez des valeurs par références dans une structure foreach, les références seront également modifiées.

Exemple #3 Références et structure foreach

<?php
$ref = 0;
$row =& $ref;
foreach (array(1, 2, 3) as $row) {
    // faites quelque chose
}
echo $ref; // 3 - le dernier élément du tableau itéré
?>

Passage par référence

Le deuxième intérêt des références est de pouvoir passer des variables par référence. On réalise ceci en faisant pointer des variables locales vers le contenu des variables de fonction. Exemple :

<?php
function foo(&$var) {
  $var++;
}
$a=5;
foo($a);
?>
$a vaut 6. Cela provient du fait que dans la fonction foo, la variable $var pointe sur le même contenu que $a. Voir aussi les explications détaillées dans passage par référence.

Retourner par référence

Le troisième intérêt des références est de retourner des valeurs par référence.

Qu'est ce qu'une référence ?
Ce que les références ne sont pas
Les références


Ce que les références ne sont pas

Comme précisé ci-dessus, les références ne sont pas des pointeurs. Cela signifie que le script suivant ne fera pas ce à quoi on peut s'attendre :

<?php
function foo(&$var) {
  $var =& $GLOBALS["baz"];
}
foo($bar);
?>

Il va se passer que $var dans foo sera lié à $bar, mais il sera aussi relié à $GLOBALS["baz"]. Il n'y a pas moyen de lier $bar à quelque chose d'autre en utilisant le mécanisme de référence, car $bar n'est pas accessible dans la fonction foo (certes, il est représenté par $var et $var possède la même valeur, mais n'est pas relié par la table des symboles). Vous pouvez utiliser les références arrières pour référencer les variables sélectionnées par la fonction.

Que font les références ?
Passage par référence
Les références


Passage par référence

Vous pouvez passer des variables par référence, de manière à ce que la fonction modifie ces variables. La syntaxe est la suivante :

<?php
function foo(&$var) {
  $var++;
}
$a=5;
foo ($a);
// $a vaut 6 maintenant
?>

Note: Il n'y a pas de signe de référence dans l'appel de la fonction, uniquement sur sa définition. La définition de la fonction est suffisante pour passer correctement des arguments par référence. Dans les versions récentes de PHP, vous devriez recevoir une alerte disant que "Call-time pass-by-reference" est obsolète lorsque vous utilisez un & dans foo(&$a);.

Les objets suivants peuvent être passés par référence :

  • Une variable, i.e. foo($a)
  • Un nouvel objet, i.e. foo(new foobar())

  • Une référence, retournée par une fonction :

    <?php
    function foo(&$var)
    {
            $var++;
    }
    function &    bar()
    {
         $a = 5;
     return     $a;
    }
    foo(bar());
    ?>
    Voir aussi des détails dans retourner des références.

Toutes les autres expressions ne doivent pas être passées par référence, car le résultat sera indéfini. Par exemple, les passages par référence suivants sont invalides :

<?php
function foo(&$var)
{
    $var++;
}
function bar() // Notez l'absence de &
{
   $a = 5;
   return $a;
}
foo(bar());    // Produit une erreur fatale depuis PHP 5.0.5

foo($a = 5);    // Expression, pas une variable
foo(5);         // Produit une erreur fatale
?>
Ces fonctionnalités sont valables à partir de PHP 4.0.4.

Ce que les références ne sont pas
Retourner des références
Les références


Retourner des références

Retourner des références est toujours utile lorsque vous voulez utiliser une fonction pour savoir à quoi est liée une variable. N'utilisez pas le retour par référence pour améliorer les performances, le moteur est suffisamment robuste pour optimiser cela en interne. Retournez uniquement des références lorsque vous avez techniquement une bonne raison de le faire ! Pour retourner des références, utilisez cette syntaxe :

<?php
class foo {
    public $value = 42;

    public function &getValue() {
        return $this->value;
    }
}

$obj = new foo;
$myValue = &$obj->getValue(); // $myValue est une référence de $obj->value, qui vaut 42.
$obj->value = 2;
echo $myValue;                // affiche la nouvelle valeur de $obj->value, i.e. 2.
?>
Dans cet exemple, on affecte une valeur à la propriété de l'objet retourné par la fonction getValue, et non à sa copie, comme ce serait le cas si on n'avait pas utilisé la syntaxe de référence.

Note: Contrairement au passage de paramètre, vous devez utiliser & aux deux endroits, à la fois pour indiquer que vous retournez par référence (pas une copie habituelle), et pour indiquer que vous assignez aussi par référence (pas la copie habituelle) pour la variable $myValue.

Note: Si vous tentez de retourner une référence depuis une fonction avec la syntaxe :return ($this->value);, cela ne fonctionnera pas comme vous l'attendez et retournera le résultat de l'expression, mais pas de la variable, par référence. Vous ne pouvez retourner des variables par référence que depuis une fonction - rien d'autre. Depuis PHP 4.4.0 et PHP 5.1.0, une alerte E_NOTICE est envoyée si le code tente de retourner une expression dynamique ou un résultat de l'opérateur new.

Passage par référence
Détruire une référence
Les références


Détruire une référence

Lorsque vous détruisez une référence, vous ne faites que casser le lien entre le nom de la variable et son contenu. Cela ne signifie pas que le contenu est détruit. Par exemple :

<?php
$a = 1;
$b =& $a;
unset($a);
?>
Cet exemple ne détruira pas $b, mais juste $a.

Encore une fois, on peut comparer cette action avec la fonction unlink d'Unix.

Retourner des références
Repérer une référence
Les références


Repérer une référence

De nombreuses syntaxes de PHP sont implémentées via le mécanisme de référence, et tout ce qui a été vu concernant les liaisons entre variables s'applique à ces syntaxes. Par exemple, le passage et le retour d'arguments par référence. Quelques autres exemples de syntaxes :

Références globales

Lorsque vous déclarez une variable global $var, vous créez en fait une référence sur une variable globale. Ce qui signifie que

<?php
$var =& $GLOBALS["var"];
?>

Et que, si vous détruisez la variable $var, la variable globale ne sera pas détruite.

$this

Dans une méthode d'objet, $this est toujours une référence sur l'objet courant.

Détruire une référence
Variables prédéfinies
Les références


Variables prédéfinies

PHP fournit un très grand nombre de variables prédéfinies accessible à tous vos scripts. Ces variables représentent à peu près tout, allant des variables externes aux variables d'environnement intégrées à PHP, en passant par les derniers messages d'erreur ou les en-têtes récupérés.

Voir la FAQ intitulée "Comment la directive register_globals affecte-t-elle mes scripts ?"

Sommaire

  • Les Superglobales — Les Superglobales sont des variables internes qui sont toujours disponibles, quelque soit le contexte
  • $GLOBALS — Référence toutes les variables disponibles dans un contexte global
  • $_SERVER — Variables de serveur et d'exécution
  • $_GET — Variables HTTP GET
  • $_POST — Variables HTTP POST
  • $_FILES — Variable de téléchargement de fichier via HTTP
  • $_REQUEST — Variables de requête HTTP
  • $_SESSION — Variables de session
  • $_ENV — Variables d'environnement
  • $_COOKIE — Cookies HTTP
  • $php_errormsg — Le dernier message d'erreur
  • $HTTP_RAW_POST_DATA — Données POST brutes
  • $http_response_header — En-têtes de réponse HTTP
  • $argc — Le nombre d'arguments passé au script
  • $argv — Tableau d'arguments passé au script
Repérer une référence
Les Superglobales
Référence du langage


Les Superglobales sont des variables internes qui sont toujours disponibles, quelque soit le contexte

Variables prédéfinies
$GLOBALS
Variables prédéfinies
PHP Manual

Les Superglobales

Les Superglobales — Les Superglobales sont des variables internes qui sont toujours disponibles, quelque soit le contexte

Description

Énormément de variables prédéfinies en PHP sont "superglobales", ce qui signifie qu'elles sont disponibles quelque soit le contexte du script. Il est inutile de faire global $variable; avant d'y accéder dans les fonctions ou les méthodes.

Les variables superglobales sont :

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

Historique

Version | Description
4.1.0 | Les superglobales sont introduites en PHP.

Notes

Note: Disponibilité des variables
Par défaut, toutes les superglobales sont disponibles, et seules les directives de configuration peuvent les rendre indisponibles. Pour plus d'informations, reportez-vous à la documentation sur l'ordre des variables.

Note: Gérer la directive register_globals
Si la directive obsolète register_globals est définit à on, alors les simples variables seront également disponibles dans le contexte global du script. Par exemple, $_POST['foo'] existera également sous la forme $foo.
Pour plus d'informations, voir la FAQ intitulée "Comment la directive register_globals affecte-t-elle mes scripts ?"

Note: Variable variables
Les superglobales ne peuvent pas être utilisées comme variable variables dans une fonction ou une méthode d'une classe.

Voir aussi

  • La portée des variables
  • La directive variables_order
  • L'extension sur les filtres

Variables prédéfinies
$GLOBALS
Variables prédéfinies


Référence toutes les variables disponibles dans un contexte global

Les Superglobales
$_SERVER
Variables prédéfinies
PHP Manual

$GLOBALS

$GLOBALS — Référence toutes les variables disponibles dans un contexte global

Description

Un tableau associatif contenant les références sur toutes les variables globales actuellement définies dans le contexte d'exécution global du script. Les noms des variables sont les index du tableau.

Exemples

Exemple #1 Exemple avec $GLOBALS

<?php
function test() {
    $foo = "variable locale";

    echo '$foo dans le contexte global : ' . $GLOBALS["foo"] . "\n";
    echo '$foo dans le contexte courant : ' . $foo . "\n";
}

$foo = "Exemple de contenu";
test();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

$foo dans le contexte global : Exemple de contenu
$foo dans le contexte courant : variable locale

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Note: Disponibilité des variables
Contrairement à toutes les autres superglobales, $GLOBALS a toujours été disponible en PHP.

Les Superglobales
$_SERVER
Variables prédéfinies


Variables de serveur et d'exécution

$GLOBALS
$_GET
Variables prédéfinies
PHP Manual

$_SERVER

$HTTP_SERVER_VARS [Obsolète]

$_SERVER -- $HTTP_SERVER_VARS [Obsolète] — Variables de serveur et d'exécution

Description

$_SERVER est un tableau contenant des informations comme les en-têtes, dossiers et chemins du script. Les entrées de ce tableau sont créées par le serveur web. Il n'y a aucune garantie que tous les serveurs les rempliront tous ; certains en oublieront quelques-unes et en rajouteront de nouvelles non mentionnées ici. Cependant, un grand nombre de ces variables fait partie des » spécifications CGI 1.1, et vous pouvez donc vous attendre à les retrouver.

$HTTP_SERVER_VARS contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_SERVER_VARS et $_SERVER sont des variables différentes et que PHP les traite en tant que telles.)

Indices

Vous pouvez éventuellement trouver les éléments suivants dans la variable $_SERVER. Notez que certains, n'auront pas de sens si vous utilisez PHP en ligne de commande.

'PHP_SELF'
Le nom du fichier du script en cours d'exécution, par rapport à la racine web. Par exemple, $_SERVER['PHP_SELF'] dans le script situé à l'adresse http://www.monsite.com/test.php/foo.bar sera /test.php/foo.bar. La constante __FILE__ contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant. Si PHP fonctionne en ligne de commande, cette variable contient le nom du script depuis PHP 4.3.0. Dans les versions antérieures, cette variable n'était pas disponible.
'argv'
Tableau des arguments passés au script. Lorsque le script est appelé en ligne de commande, cela donne accès aux arguments, comme en langage C. Lorsque le script est appelé avec la méthode GET, ce tableau contiendra la chaîne de requête.
'argc'
Contient le nombre de paramètres de la ligne de commande passés au script (si le script fonctionne en ligne de commande).
'GATEWAY_INTERFACE'
Numéro de révision de l'interface CGI du serveur : i.e. 'CGI/1.1'.
'SERVER_ADDR'
L'adresse IP du serveur sous lequel le script courant est en train d'être exécuté.
'SERVER_NAME'
Le nom du serveur hôte qui exécute le script suivant. Si le script est exécuté sur un hôte virtuel, ce sera la valeur définie pour cet hôte virtuel.
'SERVER_SOFTWARE'
Chaîne d'identification du serveur, qui est donnée dans les en-têtes lors de la réponse aux requêtes.
'SERVER_PROTOCOL'
Nom et révision du protocole de communication : i.e. 'HTTP/1.0';
'REQUEST_METHOD'
Méthode de requête utilisée pour accéder à la page; i.e. 'GET', 'HEAD', 'POST', 'PUT'.

Note: Le script PHP se termine après avoir envoyé les en-têtes (après avoir produit n'importe quelle sortie sans avoir affiché le buffer) si la méthode de la requête était HEAD.

'REQUEST_TIME'
Le temps Unix du début de la requête. Disponible depuis PHP 5.1.0.
'QUERY_STRING'
La chaîne de requête, si elle existe, qui est utilisée pour accéder à la page.
'DOCUMENT_ROOT'
La racine sous laquelle le script courant est exécuté, comme défini dans la configuration du serveur.
'HTTP_ACCEPT'
Contenu de l'en-tête Accept: de la requête courante, s'il y en a une.
'HTTP_ACCEPT_CHARSET'
Contenu de l'en-tête Accept-Charset: de la requête courante, si elle existe. Par exemple : 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Contenu de l'en-tête Accept-Encoding: de la requête courante, si elle existe. Par exemple : 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Contenu de l'en-tête Accept-Language: de la requête courante, si elle existe. Par exemple : 'fr'.
'HTTP_CONNECTION'
Contenu de l'en-tête Connection: de la requête courante, si elle existe. Par exemple : 'Keep-Alive'.
'HTTP_HOST'
Contenu de l'en-tête Host: de la requête courante, si elle existe.
'HTTP_REFERER'
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.
'HTTP_USER_AGENT'
Contenu de l'en-tête User_Agent: de la requête courante, si elle existe. C'est une chaîne qui décrit le client HTML utilisé pour voir la page courante. Par exemple : Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Entre autres choses, vous pouvez utiliser cette valeur avec get_browser() pour optimiser votre page en fonction des capacités du client.
'HTTPS'
Définissez à une valeur non-vide si le script nécessite d'utiliser le protocole HTTPS.

Note: Noter que lors de l'utilisation de ISAPI avec IIS, la valeur sera off si la demande n'a pas été faite via le protocole HTTPS.

'REMOTE_ADDR'
L'adresse IP du client qui demande la page courante.
'REMOTE_HOST'
Le nom de l'hôte qui lit le script courant. La résolution DNS inverse est basée sur la valeur de REMOTE_ADDR.

Note: Votre serveur web doit être configuré pour créer cette variable. Par exemple, pour Apache, vous devez ajouter la directive HostnameLookups On dans le fichier httpd.conf, pour que cette variable existe. Voyez aussi gethostbyaddr().

'REMOTE_PORT'
Le port utilisé par la machine cliente pour communiquer avec le serveur web.
'SCRIPT_FILENAME'

Le chemin absolu vers le fichier contenant le script en cours d'exécution.

Note: Si un script est exécuté avec le CLI, avec un chemin relatif, comme file.php ou ../file.php, $_SERVER['SCRIPT_FILENAME'] contiendra le chemin relatif spécifié par l'utilisateur.

'SERVER_ADMIN'
La valeur donnée à la directive SERVER_ADMIN (pour Apache), dans le fichier de configuration. Si le script est exécuté par un hôte virtuel, ce sera la valeur définie par l'hôte virtuel.
'SERVER_PORT'
Le port de la machine serveur utilisé pour les communications. Par défaut, c'est "80". En utilisant SSL, par exemple, il sera remplacé par le numéro de port HTTP sécurisé.
'SERVER_SIGNATURE'
Chaîne contenant le numéro de version du serveur et le nom d'hôte virtuel, qui sont ajoutés aux pages générées par le serveur, si cette option est activée.
'PATH_TRANSLATED'
Chemin dans le système de fichiers (pas le document-root) jusqu'au script courant, une fois que le serveur a fait une traduction chemin virtuel -> réel.

Note: Depuis PHP 4.3.2, la variable PATH_TRANSLATED n'est plus seulement définie implicitement sous Apache 2 SAPI contrairement à la situation sous Apache 1 où elle est définie avec la même valeur que la variable serveur SCRIPT_FILENAME lorsqu'elle n'est pas fournie par Apache. Ce changement a été effectué pour être conforme aux spécifications CGI qui fait que la variable PATH_TRANSLATED doit exister seulement si la variable PATH_INFO est définie. Les utilisateurs d'Apache 2 devraient utiliser AcceptPathInfo = On dans leur httpd.conf pour définir PATH_INFO.

'SCRIPT_NAME'
Contient le nom du script courant. Cela sert lorsque les pages doivent s'appeler elles-mêmes. La constante __FILE__ contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant.
'REQUEST_URI'
L'URI qui a été fourni pour accéder à cette page. Par exemple : '/index.html'.
'PHP_AUTH_DIGEST'
Lorsque vous utilisez PHP avec Apache en tant que module faisant une identification HTTP Digest, cette variable est définie dans l'en-tête "Authorization" envoyé par le client (que vous devez donc utiliser pour réaliser la validation appropriée).
'PHP_AUTH_USER'
Lorsque vous utilisez PHP avec Apache ou IIS (ISAPI en PHP 5) en tant que module faisant une identification HTTP, cette variable est définie à l'utilisateur fourni par l'utilisateur.
'PHP_AUTH_PW'
Lorsque vous utilisez PHP avec Apache ou IIS (ISAPI en PHP 5) en tant que module faisant une identification HTTP, cette variable est définie au mot de passe fourni par l'utilisateur.
'AUTH_TYPE'
Lorsque vous utilisez PHP avec Apache en tant que module faisant une identification HTTP, cette variable est définie au type d'identification.
'PATH_INFO'
Contient les informations sur le nom du chemin fourni par le client concernant le nom du fichier exécutant le script courant, sans la chaîne relative à la requête si elle existe. Actuellement, si le script courant est exécuté via l'URL http://www.example.com/php/path_info.php/some/stuff?foo=bar, alors la variable $_SERVER['PATH_INFO'] contiendra /some/stuff.
'ORIG_PATH_INFO'
Version orignale de 'PATH_INFO' avant d'être analysée par PHP.

Historique

Version | Description
4.1.0 | Introduction de $_SERVER, rendant obsolète $HTTP_SERVER_VARS.

Exemples

Exemple #1 Exemple avec $_SERVER

<?php
echo $_SERVER['SERVER_NAME'];
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

www.example.com

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Voir aussi

  • L'extension sur les filtres

$GLOBALS
$_GET
Variables prédéfinies


Variables HTTP GET

$_SERVER
$_POST
Variables prédéfinies
PHP Manual

$_GET

$HTTP_GET_VARS [Obsolète]

$_GET -- $HTTP_GET_VARS [Obsolète] — Variables HTTP GET

Description

Un tableau associatif des valeurs passées au script courant via les paramètres d'URL.

$HTTP_GET_VARS contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_GET_VARS et $_GET sont des variables différentes et que PHP les traite comme telles.)

Historique

Version | Description
4.1.0 | Introduction de $_GET, rendant obsolète $HTTP_GET_VARS.

Exemples

Exemple #1 Exemple avec $_GET

<?php
echo 'Bonjour ' . htmlspecialchars($_GET["name"]) . '!';
?>

En assumant que l'utilisateur a entré http://example.com/?name=Yannick

L'exemple ci-dessus va afficher quelque chose de similaire à :

Bonjour Yannick !

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Note: Les variables GET sont passées via urldecode().

Voir aussi

  • Gestion des variables externes
  • L'extension sur les filtres

$_SERVER
$_POST
Variables prédéfinies


Variables HTTP POST

$_GET
$_FILES
Variables prédéfinies
PHP Manual

$_POST

$HTTP_POST_VARS [Obsolète]

$_POST -- $HTTP_POST_VARS [Obsolète] — Variables HTTP POST

Description

Un tableau associatif des valeurs passées au script courant via le protocole HTTP et la méthode POST.

$HTTP_POST_VARS contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_POST_VARS et $_POST sont des variables différentes et que PHP les traite comme telles.)

Historique

Version | Description
4.1.0 | Introduction de $_POST, rendant obsolète $HTTP_POST_VARS.

Exemples

Exemple #1 Exemple avec $_POST

<?php
echo 'Bonjour ' . htmlspecialchars($_POST["name"]) . '!';
?>

En assumant que l'utilisateur a POSTé name=Yannick

L'exemple ci-dessus va afficher quelque chose de similaire à :

Bonjour Yannick !

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Voir aussi

  • Gestion des variables externes
  • L'extension sur les filtres

$_GET
$_FILES
Variables prédéfinies


Variable de téléchargement de fichier via HTTP

$_POST
$_REQUEST
Variables prédéfinies
PHP Manual

$_FILES

$HTTP_POST_FILES [Obsolète]

$_FILES -- $HTTP_POST_FILES [Obsolète] — Variable de téléchargement de fichier via HTTP

Description

Un tableau associatif des valeurs téléchargées au script courant via le protocole HTTP et la méthode POST.

$HTTP_POST_FILES contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_POST_FILES et $_FILES sont des variables différentes et que PHP les traite comme telles)

Historique

Version | Description
4.1.0 | Introduction de $_FILES, rendant obsolète $HTTP_POST_FILES.

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Voir aussi

  • move_uploaded_file() - Déplace un fichier téléchargé
  • Gestion des téléchargement de fichiers

$_POST
$_REQUEST
Variables prédéfinies


Variables de requête HTTP

$_FILES
$_SESSION
Variables prédéfinies
PHP Manual

$_REQUEST

$_REQUEST — Variables de requête HTTP

Description

Un tableau associatif qui contient par défaut le contenu des variables $_GET, $_POST et $_COOKIE.

Historique

Version | Description
5.3.0 | Introduction de request_order. Cette directive affecte le contenu de la variable $_REQUEST.
4.3.0 | Les informations de $_FILES ont été supprimées de la variable $_REQUEST.
4.1.0 | Introduction de $_REQUEST.

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Note: En ligne de commande, cette variable n'inclut pas les variables argv et argc : elles sont stockées dans le tableau $_SERVER.

Note: Les variables contenues dans $_REQUEST sont fournies au script via les méchanismes d'entrée GET, POST, et COOKIE et donc, peuvent être modifiées par l'utilisateur final ; aussi, vous ne pouvons faire confiance à leurs contenues. La présence ainsi que l'ordre de ces variables dans ce tableau sont définis suivant la directive de configuration variables_order.

Voir aussi

  • import_request_variables() - Importe les variables de GET/POST/Cookie dans l'environnement global
  • Gestion des variables externes
  • L'extension sur les filtres
$_FILES
$_SESSION
Variables prédéfinies


Variables de session

$_REQUEST
$_ENV
Variables prédéfinies
PHP Manual

$_SESSION

$HTTP_SESSION_VARS [obsolète]

$_SESSION -- $HTTP_SESSION_VARS [obsolète] — Variables de session

Description

Un tableau associatif des valeurs stockées dans les sessions, et accessible au script courant. Elle est automatiquement globale dans tous les contextes d'exécution. Voyez l'extension Sessions pour plus de détails sur comment est utilisée cette variable.

$HTTP_SESSION_VARS contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_SESSION_VARS et $_SESSION sont des variables différentes et que PHP les traite comme telles)

Historique

Version | Description
4.1.0 | Introduction de $_SESSION, rendant obsolète $HTTP_SESSION_VARS.

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Voir aussi

  • session_start() - Initialise une session

$_REQUEST
$_ENV
Variables prédéfinies


Variables d'environnement

$_SESSION
$_COOKIE
Variables prédéfinies
PHP Manual

$_ENV

$HTTP_ENV_VARS [Obsolète]

$_ENV -- $HTTP_ENV_VARS [Obsolète] — Variables d'environnement

Description

Un tableau associatif de variable passé au script courant, via la méthode d'environnement.

Cette variable est importée dans l'espace de nom global de PHP, depuis l'environnement dans lequel l'exécutable PHP fonctionne. De nombreuses valeurs sont fournies par le shell qui exécute PHP, et différents systèmes pouvant disposer de différents shell, même un début de liste serait ici impossible. Reportez-vous à la documentation de votre shell pour connaître une liste de variables pré-définies.

Les autres variables d'environnement incluent les variables CGI, placées ici, indépendemment du fait que PHP fonctionne en tant que CGI ou bien que module du serveur.

$HTTP_ENV_VARS contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_ENV_VARS et $_ENV sont des variables différentes et que PHP les traite comme telles.)

Historique

Version | Description
4.1.0 | Introduction de $_ENV, rendant obsolète $HTTP_ENV_VARS.

Exemples

Exemple #1 Exemple avec $_ENV

<?php
echo 'Mon nom d\'utilisateur est ' .$_ENV["USER"] . '!';
?>

En assumant que "yannick" exécute ce script

L'exemple ci-dessus va afficher quelque chose de similaire à :

Mon nom d'utilisateur est yannick !

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Voir aussi

  • getenv() - Retourne la valeur d'une variable d'environnement
  • L'extension sur les filtres

$_SESSION
$_COOKIE
Variables prédéfinies


Cookies HTTP

$_ENV
$php_errormsg
Variables prédéfinies
PHP Manual

$_COOKIE

$HTTP_COOKIE_VARS [Obsolète]

$_COOKIE -- $HTTP_COOKIE_VARS [Obsolète] — Cookies HTTP

Description

Un tableau associatif de variables, passé au script courant, via des cookies HTTP.

$HTTP_COOKIE_VARS contient les mêmes informations, mais n'est pas superglobale. (Notez que $HTTP_COOKIE_VARS et $_COOKIE sont des variables différentes et que PHP les traite comme telles.)

Historique

Version | Description
4.1.0 | Introduction de $_COOKIE, rendant obsolète $HTTP_COOKIE_VARS.

Exemples

Exemple #1 Exemple avec $_COOKIE

<?php
echo 'Bonjour ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>

En supposant que le cookie "name" a été définit précédemment

L'exemple ci-dessus va afficher quelque chose de similaire à :

Bonjour Yannick !

Notes

Note: Ceci est une 'superglobale', ou variable globale automatique. Cela signifie simplement que cette variable est disponible dans tous les contextes du script. Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Voir aussi

  • setcookie() - Envoie un cookie
  • Gestion des variables externes
  • L'extension sur les filtres

$_ENV
$php_errormsg
Variables prédéfinies


Le dernier message d'erreur

$_COOKIE
$HTTP_RAW_POST_DATA
Variables prédéfinies
PHP Manual

$php_errormsg

$php_errormsg — Le dernier message d'erreur

Description

$php_errormsg est une variable qui contient le texte de la dernière erreur générée par PHP. Cette variable sera uniquement accessible dans le même contexte d'exécution que celui de la ligne qui a généré l'erreur, et uniquement si la directive de configuration track_errors est activée (elle est désactivée par défaut).

Note: Cette variable n'est disponible que lorsque track_errors a été activé dans le fichier php.ini.

Avertissement

Si un gestionnaire d'erreurs définit par l'utilisateur est actif (set_error_handler()), $php_errormsg ne sera définit que si le gestionnaire d'erreur retourne FALSE.

Exemples

Exemple #1 Exemple avec $php_errormsg

<?php
@strpos();
echo $php_errormsg;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Wrong parameter count for strpos()

$_COOKIE
$HTTP_RAW_POST_DATA
Variables prédéfinies


Données POST brutes

$php_errormsg
$http_response_header
Variables prédéfinies
PHP Manual

$HTTP_RAW_POST_DATA

$HTTP_RAW_POST_DATA — Données POST brutes

Description

$HTTP_RAW_POST_DATA contient les données POST brutes. Voir always_populate_raw_post_data.

$php_errormsg
$http_response_header
Variables prédéfinies


En-têtes de réponse HTTP

$HTTP_RAW_POST_DATA
$argc
Variables prédéfinies
PHP Manual

$http_response_header

$http_response_header — En-têtes de réponse HTTP

Description

Le tableau $http_response_header est similaire à la fonction get_headers(). Lors de l'utilisation du gestionnaire HTTP, $http_response_header sera peuplé des en-têtes de réponse HTTP.

Exemples

Exemple #1 Exemple avec $http_response_header

<?php
file_get_contents("http://example.com");
var_dump($http_response_header);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
  [2]=>
  string(29) "Server: Apache/2.2.3 (CentOS)"
  [3]=>
  string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
  [4]=>
  string(27) "ETag: "280100-1b6-80bfd280""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(19) "Content-Length: 438"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(38) "Content-Type: text/html; charset=UTF-8"
}

$HTTP_RAW_POST_DATA
$argc
Variables prédéfinies


Le nombre d'arguments passé au script

$http_response_header
$argv
Variables prédéfinies
PHP Manual

$argc

$argc — Le nombre d'arguments passé au script

Description

Contient le nombre d'arguments passé au script courant lorsqu'il est exécuté depuis la ligne de commande.

Note: Le nom du fichier contenant le script est toujours passé en tant qu'argument au script, toutefois, la valeur minimale de $argc est 1.

Note: Cette variable n'est disponible que lorsque register_argc_argv est activé.

Exemples

Exemple #1 Exemple avec $argc

<?php
var_dump($argc);
?>

Lorsque l'on exécute l'exemple avec la commande : php script.php arg1 arg2 arg3

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(4)

$http_response_header
$argv
Variables prédéfinies


Tableau d'arguments passé au script

$argc
Exceptions prédéfinies
Variables prédéfinies
PHP Manual

$argv

$argv — Tableau d'arguments passé au script

Description

Contient un tableau de tous les arguments passés au script lorsqu'il est passé depuis la ligne de commande.

Note: Le premier argument est toujours le nom du fichier contenant le script, toutefois, $argv[0] correspond au nom du script.

Note: Cette variable n'est disponible que lorsque register_argc_argv est activé.

Exemples

Exemple #1 Exemple avec $argv

<?php
var_dump($argv);
?>

Lorsque l'on exécute l'exemple avec la commande : php script.php arg1 arg2 arg3

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

$argc
Exceptions prédéfinies
Variables prédéfinies


Exceptions prédéfinies

Sommaire

  • Exception
  • ErrorException

Voir aussi les exceptions SPL.

$argv
Exception
Référence du langage


Exception

Introduction

Exception est la classe de base pour toutes les exceptions.

Synopsis de la classe

Exception
Exception {
/* Propriétés */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Méthodes */
public __construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )
final public string getMessage ( void )
final public Exception getPrevious ( void )
final public int getCode ( void )
final public string getFile ( void )
final public int getLine ( void )
final public array getTrace ( void )
final public string getTraceAsString ( void )
public string __toString ( void )
final private void __clone ( void )
}

Propriétés

message

Le message de l'exception

code

Le code de l'exception

file

Le nom du fichier dans lequel l'exception a été lancée

line

La ligne où l'exception a été lancée

Sommaire

  • Exception::__construct — Construit l'exception
  • Exception::getMessage — Récupère le message de l'exception
  • Exception::getPrevious — Retourne l'exception précédente
  • Exception::getCode — Récupère le code de l'exception
  • Exception::getFile — Récupère le fichier dans lequel l'exception est survenue
  • Exception::getLine — Récupère la ligne dans laquelle l'exception est survenue
  • Exception::getTrace — Récupère la trace de la pile
  • Exception::getTraceAsString — Récupère la trace de la pile en tant que chaîne
  • Exception::__toString — Représente l'exception sous la forme d'une chaîne
  • Exception::__clone — Clone l'exception
Exceptions prédéfinies
Exception::__construct
Exceptions prédéfinies


Construit l'exception

Exception
Exception::getMessage
Exception
PHP Manual

Exception::__construct

(PHP 5 >= 5.1.0)

Exception::__construct — Construit l'exception

Description

public Exception::__construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )

Construit l'exception.

Liste de paramètres

message

Le message de l'exception à lancer.

code

Le code de l'exception.

previous

L'exception précédente, utilisée pour le chaînage d'exception.

Historique

Version | Description
5.3.0 | Le paramètre previous a été ajouté.

Exception
Exception::getMessage
Exception


Récupère le message de l'exception

Exception::__construct
Exception::getPrevious
Exception
PHP Manual

Exception::getMessage

(PHP 5 >= 5.1.0)

Exception::getMessage — Récupère le message de l'exception

Description

final public string Exception::getMessage ( void )

Retourne le message de l'exception.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le message de l'exception, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec Exception::getMessage()

<?php
try {
    throw new Exception("Un message d'erreur");
} catch(Exception $e) {
    echo $e->getMessage();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Un message d'erreur

Exception::__construct
Exception::getPrevious
Exception


Retourne l'exception précédente

Exception::getMessage
Exception::getCode
Exception
PHP Manual

Exception::getPrevious

(PHP 5 >= 5.3.0)

Exception::getPrevious — Retourne l'exception précédente

Description

final public Exception Exception::getPrevious ( void )

Retourne l'exception précédente (le troisième paramètre de la méthode Exception::__construct).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la précédente Exception si disponible, NULL sinon.

Exemples

Exemple #1 Exemple avec Exception::getPrevious

Une boucle, on affiche et on capture les exceptions.

<?php
class MyCustomException extends Exception {}

function doStuff() {
    try {
        throw new InvalidArgumentException("Vous avez fais une erreur !", 112);
    } catch(Exception $e) {
        throw new MyCustomException("Un problème est survenu", 911, $e);
    }
}

try {
    doStuff();
} catch(Exception $e) {
    do {
        printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/home/bjori/ex.php:8 Un problème est survenu (911) [MyCustomException]
/home/bjori/ex.php:6 Vous avez fais une erreur ! (112) [InvalidArgumentException]

Exception::getMessage
Exception::getCode
Exception


Récupère le code de l'exception

Exception::getPrevious
Exception::getFile
Exception
PHP Manual

Exception::getCode

(PHP 5 >= 5.1.0)

Exception::getCode — Récupère le code de l'exception

Description

final public int Exception::getCode ( void )

Retourne le code de l'exception.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le code de l'exception, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec Exception::getCode()

<?php
try {
    throw new Exception("Un message d'erreur", 30);
} catch(Exception $e) {
    echo "Le code de l'exception est : " . $e->getCode();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le code de l'exception est : 30

Exception::getPrevious
Exception::getFile
Exception


Récupère le fichier dans lequel l'exception est survenue

Exception::getCode
Exception::getLine
Exception
PHP Manual

Exception::getFile

(PHP 5 >= 5.1.0)

Exception::getFile — Récupère le fichier dans lequel l'exception est survenue

Description

final public string Exception::getFile ( void )

Récupère le nom du fichier dans lequel l'exception a été lancée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom du fichier dans lequel l'exception a été lancée.

Exemples

Exemple #1 Exemple avec Exception::getFile()

<?php
try {
    throw new Exception;
} catch(Exception $e) {
    echo $e->getFile();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/home/bjori/tmp/ex.php

Exception::getCode
Exception::getLine
Exception


Récupère la ligne dans laquelle l'exception est survenue

Exception::getFile
Exception::getTrace
Exception
PHP Manual

Exception::getLine

(PHP 5 >= 5.1.0)

Exception::getLine — Récupère la ligne dans laquelle l'exception est survenue

Description

final public int Exception::getLine ( void )

Retourne le numéro de la ligne où l'exception a été lancée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le numéro de la ligne où l'exception a été lancée.

Exemples

Exemple #1 Exemple avec Exception::getLine()

<?php
try {
    throw new Exception("Un message d'erreur");
} catch(Exception $e) {
    echo "L'exception a été lancée depuis la ligne : " . $e->getLine();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

L'exception a été lancée depuis la ligne : 3

Exception::getFile
Exception::getTrace
Exception


Récupère la trace de la pile

Exception::getLine
Exception::getTraceAsString
Exception
PHP Manual

Exception::getTrace

(PHP 5 >= 5.1.0)

Exception::getTrace — Récupère la trace de la pile

Description

final public array Exception::getTrace ( void )

Retourne la trace de la pile de l'exception.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la trace de la pile de l'exception sous la forme d'un tableau.

Exemples

Exemple #1 Exemple avec Exception::getTrace()

<?php
function test() {
 throw new Exception;
}

try {
 test();
} catch(Exception $e) {
 var_dump($e->getTrace());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Exception::getLine
Exception::getTraceAsString
Exception


Récupère la trace de la pile en tant que chaîne

Exception::getTrace
Exception::__toString
Exception
PHP Manual

Exception::getTraceAsString

(PHP 5 >= 5.1.0)

Exception::getTraceAsString — Récupère la trace de la pile en tant que chaîne

Description

final public string Exception::getTraceAsString ( void )

Retourne la trace de la pile de l'exception, sous la forme d'une chaîne de caractères.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la trace de la pile de l'exception, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec Exception::getTraceAsString()

<?php
function test() {
    throw new Exception;
}

try {
    test();
} catch(Exception $e) {
    echo $e->getTraceAsString();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Exception::getTrace
Exception::__toString
Exception


Représente l'exception sous la forme d'une chaîne

Exception::getTraceAsString
Exception::__clone
Exception
PHP Manual

Exception::__toString

(PHP 5 >= 5.1.0)

Exception::__toString — Représente l'exception sous la forme d'une chaîne

Description

public string Exception::__toString ( void )

Retourne une représentation de l'exception sous forme d'une chaîne de caractères.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la représentation de l'exception, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec Exception::__toString()

<?php
try {
    throw new Exception("Message d'erreur");
} catch(Exception $e) {
    echo $e;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

exception 'Exception' with message 'Message d'erreur' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Exception::getTraceAsString
Exception::__clone
Exception


Clone l'exception

Exception::__toString
ErrorException
Exception
PHP Manual

Exception::__clone

(PHP 5 >= 5.1.0)

Exception::__clone — Clone l'exception

Description

final private void Exception::__clone ( void )

Tenter de cloner l'exception, qui résulte en une erreur fatale.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Les exceptions ne sont pas clonables.

Exception::__toString
ErrorException
Exception


ErrorException

Introduction

Une exception pour les erreurs.

Synopsis de la classe

ErrorException
ErrorException extends Exception {
/* Propriétés */
protected int $severity ;
/* Méthodes */
public __construct ([ string $message [, int $code [, int $severity [, string $filename [, int $lineno ]]]]] )
final public int getSeverity ( void )
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propriétés

severity

La sévérité de l'exception

Exemples

Exemple #1 Utilisation de set_error_handler() pour changer tous les messages d'erreurs en ErrorException

<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
 throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

/* Lance l'exception */
strpos();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Fatal error: Uncaught exception 'ErrorException' with message 'Wrong parameter count for strpos()' in /home/bjori/tmp/ex.php:8
Stack trace:
#0 [internal function]: exception_error_handler(2, 'Wrong parameter...', '/home/bjori/php...', 8, Array)
#1 /home/bjori/php/cleandocs/test.php(8): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 8

Sommaire

  • ErrorException::__construct — Construit l'exception
  • ErrorException::getSeverity — Récupère la sévérité de l'exception
Exception::__clone
ErrorException::__construct
Exceptions prédéfinies


Construit l'exception

ErrorException
ErrorException::getSeverity
ErrorException
PHP Manual

ErrorException::__construct

(PHP 5 >= 5.1.0)

ErrorException::__construct — Construit l'exception

Description

public ErrorException::__construct ([ string $message [, int $code [, int $severity [, string $filename [, int $lineno ]]]]] )

Construit l'exception.

Liste de paramètres

message

Le message de l'exception à lancer.

code

Le code de l'exception.

severity

Le degré de sévérité de l'exception.

filename

Le fichier depuis lequel l'exception est lancée.

lineno

Le numéro de ligne depuis laquelle l'exception est lancée.

ErrorException
ErrorException::getSeverity
ErrorException


Récupère la sévérité de l'exception

ErrorException::__construct
Interfaces prédéfinies
ErrorException
PHP Manual

ErrorException::getSeverity

(PHP 5 >= 5.1.0)

ErrorException::getSeverity — Récupère la sévérité de l'exception

Description

final public int ErrorException::getSeverity ( void )

Retourne la sévérité de l'exception.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le degré de sévérité de l'exception.

Exemples

Exemple #1 Exemple avec ErrorException::ErrorException()

<?php
try {
    throw new ErrorException("Exception message", 0, 75);
} catch(ErrorException $e) {
    echo "La sévérité de l'exception est : " . $e->getSeverity();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

La sévérité de l'exception est : 75

ErrorException::__construct
Interfaces prédéfinies
ErrorException


Interfaces prédéfinies

Sommaire

  • Traversable
  • Iterator
  • IteratorAggregate
  • ArrayAccess
  • Serializable

Voir aussi les interfaces SPL.

ErrorException::getSeverity
Traversable
Référence du langage


L'interface Traversable

Introduction

Interface permettant de détecter si une classe peut être parcourue en utilisant foreach.

L'interface de base est abstraite et ne peut être implémentée seule. Elle doit être implémentée par soit IteratorAggregate, soit Iterator.

Note: Les classes internes qui implémentent cette interface peuvent être utilisées dans une constructeur foreach et n'ont pas besoin d'implémenter IteratorAggregate ou Iterator.

Note: Ceci est une interface du moteur interne qui ne peut être implémentée dans des scripts PHP. Vous devez utiliser à la place IteratorAggregate ou Iterator.

Sommaire de l'Interface

Traversable
Traversable {
}

Cette interface n'a pas de méthode ; son seul but est d'être l'interface de base pour toutes les classes permettant de parcourir des objets.

Interfaces prédéfinies
Iterator
Interfaces prédéfinies


L'interface Iterator

Introduction

Interface pour les itérateurs ou les objets externes qui peuvent être itérés eux-mêmes en interne.

Sommaire de l'Interface

Iterator
Iterator extends Traversable {
/* Méthodes */
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
}

Exemple #2 Exemple simple

Cet exemple montre l'ordre d'appel des méthodes lors d'un appel à l'instruction foreach sur un itérateur.

<?php
class myIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "premierelement",
        "secondelement",
        "dernierelement",
    );

    public function __construct() {
        $this->position = 0;
    }

    function rewind() {
        var_dump(__METHOD__);
        $this->position = 0;
    }

    function current() {
        var_dump(__METHOD__);
        return $this->array[$this->position];
    }

    function key() {
        var_dump(__METHOD__);
        return $this->position;
    }

    function next() {
        var_dump(__METHOD__);
        ++$this->position;
    }

    function valid() {
        var_dump(__METHOD__);
        return isset($this->array[$this->position]);
    }
}

$it = new myIterator;

foreach($it as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(18) "myIterator::rewind"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(0)
string(12) "premierelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(1)
string(13) "secondelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
int(2)
string(11) "dernierelement"

string(16) "myIterator::next"
string(17) "myIterator::valid"

Sommaire

  • Iterator::current — Retourne l'élément courant
  • Iterator::key — Retourne la clé de l'élément courant
  • Iterator::next — Se déplace sur l'élément suivant
  • Iterator::rewind — Replace l'itérateur sur le premier élément
  • Iterator::valid — Vérifie si la position courante est valide
Traversable
Iterator::current
Interfaces prédéfinies


Retourne l'élément courant

Iterator
Iterator::key
Iterator
PHP Manual

Iterator::current

(PHP 5 >= 5.1.0)

Iterator::current — Retourne l'élément courant

Description

abstract public mixed Iterator::current ( void )

Retourne l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Peut retourner tout type.

Iterator
Iterator::key
Iterator


Retourne la clé de l'élément courant

Iterator::current
Iterator::next
Iterator
PHP Manual

Iterator::key

(PHP 5 >= 5.1.0)

Iterator::key — Retourne la clé de l'élément courant

Description

abstract public scalar Iterator::key ( void )

Retourne la clé de l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un scalaire en cas de succès, ou NULL si une erreur survient.

Erreurs / Exceptions

Émet une alerte de type E_NOTICE si une erreur survient.

Iterator::current
Iterator::next
Iterator


Se déplace sur l'élément suivant

Iterator::key
Iterator::rewind
Iterator
PHP Manual

Iterator::next

(PHP 5 >= 5.1.0)

Iterator::next — Se déplace sur l'élément suivant

Description

abstract public void Iterator::next ( void )

Se déplace de la position courant à l'élément suivant.

Note: Cette méthode est appelée après chaque boucle foreach.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les valeurs retournées seront ignorées.

Iterator::key
Iterator::rewind
Iterator


Replace l'itérateur sur le premier élément

Iterator::next
Iterator::valid
Iterator
PHP Manual

Iterator::rewind

(PHP 5 >= 5.1.0)

Iterator::rewind — Replace l'itérateur sur le premier élément

Description

abstract public void Iterator::rewind ( void )

Replace l'itérateur sur le premier élément.

Note: C'est la première méthode appelée lors du départ d'une boucle foreach. Elle ne sera pas exécutée après la boucle foreach.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Toutes les valeurs retournées sont ignorées.

Iterator::next
Iterator::valid
Iterator


Vérifie si la position courante est valide

Iterator::rewind
IteratorAggregate
Iterator
PHP Manual

Iterator::valid

(PHP 5 >= 5.1.0)

Iterator::valid — Vérifie si la position courante est valide

Description

abstract public boolean Iterator::valid ( void )

Cette méthode est appelée après Iterator::rewind et Iterator::next pour vérifier si la position courante est valide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur retournée sera transtypée en booléen , puis, évaluée. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Iterator::rewind
IteratorAggregate
Iterator


L'interface IteratorAggregate

Introduction

Interface pour créer un itérateur externe.

Sommaire de l'Interface

IteratorAggregate
IteratorAggregate extends Traversable {
/* Méthodes */
abstract public Traversable getIterator ( void )
}

Exemple #1 Exemple simple

<?php
class myData implements IteratorAggregate {
    public $property1 = "Propriété publique numéro un";
    public $property2 = "Propriété publique numéro deux";
    public $property3 = "Propriété publique numéro trois";

    public function __construct() {
        $this->property4 = "dernière propriété";
    }

    public function getIterator() {
        return new ArrayIterator($this);
    }
}

$obj = new myData;

foreach($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(9) "property1"
string(19) "Propriété publique numéro un"

string(9) "property2"
string(19) "Propriété publique numéro deux"

string(9) "property3"
string(21) "Propriété publique numéro trois"

string(9) "property4"
string(13) "dernière propriété"

Sommaire

  • IteratorAggregate::getIterator — Retourne un itérateur externe
Iterator::valid
IteratorAggregate::getIterator
Interfaces prédéfinies


Retourne un itérateur externe

IteratorAggregate
ArrayAccess
IteratorAggregate
PHP Manual

IteratorAggregate::getIterator

(PHP 5 >= 5.1.0)

IteratorAggregate::getIterator — Retourne un itérateur externe

Description

abstract public Traversable IteratorAggregate::getIterator ( void )

Retourne un itérateur externe.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une instance d'un objet qui implémente un Iterator ou l'interface Traversable.

Erreurs / Exceptions

Émet une Exception en cas d'échec.

IteratorAggregate
ArrayAccess
IteratorAggregate


L'interface ArrayAccess

Introduction

Interface permettant d'accéder aux objets de la même façon que pour les tableaux.

Sommaire de l'Interface

ArrayAccess
ArrayAccess {
/* Méthodes */
abstract public boolean offsetExists ( mixed $offset )
abstract public mixed offsetGet ( mixed $offset )
abstract public void offsetSet ( mixed $offset , mixed $value )
abstract public void offsetUnset ( mixed $offset )
}

Exemple #1 Exemple simple

<?php
class obj implements arrayaccess {
    private $container = array();
    public function __construct() {
        $this->container = array(
            "un"   => 1,
            "deux"   => 2,
            "trois" => 3,
        );
    }
    public function offsetSet($offset, $value) {
        $this->container[$offset] = $value;
    }
    public function offsetExists($offset) {
        return isset($this->container[$offset]);
    }
    public function offsetUnset($offset) {
        unset($this->container[$offset]);
    }
    public function offsetGet($offset) {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }
}

$obj = new obj;

var_dump(isset($obj["deux"]));
var_dump($obj["deux"]);
unset($obj["deux"]);
var_dump(isset($obj["deux"]));
$obj["deux"] = "Une valeur";
var_dump($obj["deux"]);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
int(2)
bool(false)
string(7) "A value"

Sommaire

  • ArrayAccess::offsetExists — Indique si une position existe dans un tableau
  • ArrayAccess::offsetGet — Position à lire
  • ArrayAccess::offsetSet — Position à assigner
  • ArrayAccess::offsetUnset — Position à supprimer
IteratorAggregate::getIterator
ArrayAccess::offsetExists
Interfaces prédéfinies


Indique si une position existe dans un tableau

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess
PHP Manual

ArrayAccess::offsetExists

(PHP 5 >= 5.1.0)

ArrayAccess::offsetExists — Indique si une position existe dans un tableau

Description

abstract public boolean ArrayAccess::offsetExists ( mixed $offset )

Indique si une position existe.

Cette méthode est exécutée lorsque la fonction isset() ou empty() est appliquée à un objet qui implémente l'interface ArrayAccess.

Note: Lors de l'utilisation de empty(), ArrayAccess::offsetGet() est appelé et vérifie si la valeur est vide, uniquement si ArrayAccess::offsetExists() retourne TRUE.

Liste de paramètres

offset

Une position à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Note: La valeur retournée sera transtypée en booléen si une valeur non booléenne est retournée.

Exemples

Exemple #1 Exemple avec ArrayAccess::offsetExists()

<?php
class obj implements arrayaccess {
    public function offsetSet($offset, $value) {
        var_dump(__METHOD__);
    }
    public function offsetExists($var) {
        var_dump(__METHOD__);
        if ($var == "foobar") {
            return true;
        }
        return false;
    }
    public function offsetUnset($var) {
        var_dump(__METHOD__);
    }
    public function offsetGet($var) {
        var_dump(__METHOD__);
        return "value";
    }
}

$obj = new obj;

echo "Exécute obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));

echo "\nExécute obj::offsetExists() et obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));

echo "\nExécute obj::offsetExists(), *et non pas* obj:offsetGet() car il n'y a rien à lire\n";
var_dump(empty($obj["foobaz"]));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Exécute obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)

Exécute obj::offsetExists() et obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)

Exécute obj::offsetExists(), *et non pas* obj:offsetGet() car il n'y a rien à lire
string(17) "obj::offsetExists"
bool(true)

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess


Position à lire

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess
PHP Manual

ArrayAccess::offsetGet

(PHP 5 >= 5.1.0)

ArrayAccess::offsetGet — Position à lire

Description

abstract public mixed ArrayAccess::offsetGet ( mixed $offset )

Retourne la valeur à la position donnée.

Cette méthode est exécutée lorsque l'on vérifie si une position est empty().

Liste de paramètres

offset

La position à lire.

Valeurs de retour

Peut retourner n'importe quel type de valeur.

Voir aussi

  • ArrayAccess::offsetExists - Indique si une position existe dans un tableau

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess


Position à assigner

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess
PHP Manual

ArrayAccess::offsetSet

(PHP 5 >= 5.1.0)

ArrayAccess::offsetSet — Position à assigner

Description

abstract public void ArrayAccess::offsetSet ( mixed $offset , mixed $value )

Assigne une valeur à une position donnée.

Liste de paramètres

offset

La position à laquelle assigner une valeur.

value

La valeur à assigner.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Le paramètre offset sera définit à NULL si une autre valeur n'est pas disponible, comme dans l'exemple suivant :

<?php
$arrayaccess[] = "value";
?>

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess


Position à supprimer

ArrayAccess::offsetSet
Serializable
ArrayAccess
PHP Manual

ArrayAccess::offsetUnset

(PHP 5 >= 5.1.0)

ArrayAccess::offsetUnset — Position à supprimer

Description

abstract public void ArrayAccess::offsetUnset ( mixed $offset )

Supprime une position.

Note: Cette méthode ne sera pas appelée lors du transtypage en (unset).

Liste de paramètres

offset

La position à supprimer.

Valeurs de retour

Aucune valeur n'est retournée.

ArrayAccess::offsetSet
Serializable
ArrayAccess


L'interface Serializable

Introduction

Interface permettant de personnaliser la linéarisation.

Les classes implémentant cette interface ne supportent plus __sleep() et __wakeup(). La méthode de linéarisation est appelée chaque fois qu'une instance doit être linéarisée. Elle n'appelle pas la méthode __destruct() et n'a aucun effet sur le contenu de cette méthode. Lorsque les données sont linéarisées, la classe est connue et la méthode unserialize() appropriée est appelée comme constructeur au lieu d'appeler __construct(). Si vous devez appeler le constructeur standard, vous pouvez le faire dans la méthode.

Sommaire de l'Interface

Serializable
Serializable {
/* Méthodes */
abstract public string serialize ( void )
abstract public mixed unserialize ( string $serialized )
}

Exemple #1 Exemple simple

<?php
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "Mes données privées";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(15) "Mes données privées"

Sommaire

  • Serializable::serialize — Représentation linéaire de l'objet
  • Serializable::unserialize — Construit un objet
ArrayAccess::offsetUnset
Serializable::serialize
Interfaces prédéfinies


Représentation linéaire de l'objet

Serializable
Serializable::unserialize
Serializable
PHP Manual

Serializable::serialize

(PHP 5 >= 5.1.0)

Serializable::serialize — Représentation linéaire de l'objet

Description

abstract public string Serializable::serialize ( void )

Retourne la représentation en chaîne de caractères de l'objet.

Note: Cette méthode se comporte comme un destructeur de l'objet. La méthode __destruct() ne sera pas appelée après cette méthode.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la représentation de l'objet en chaîne de caractères, ou bien NULL

Erreurs / Exceptions

Émet une Exception si un autre type que chaîne de caractères ou NULL est retourné.

Voir aussi

  • __sleep()

Serializable
Serializable::unserialize
Serializable


Construit un objet

Serializable::serialize
Options et paramètres de contexte
Serializable
PHP Manual

Serializable::unserialize

(PHP 5 >= 5.1.0)

Serializable::unserialize — Construit un objet

Description

abstract public mixed Serializable::unserialize ( string $serialized )

Called during unserialization of the object.

Note: Cette méthode se comporte comme un constructeur d'objet. La méthode __construct() ne sera pas appelée après cette méthode.

Liste de paramètres

serialized

La représentation en chaîne de l'objet.

Valeurs de retour

Retourne la valeur originale délinéarisée.

Voir aussi

  • __wakeup()

Serializable::serialize
Options et paramètres de contexte
Serializable


Options et paramètres de contexte

PHP offre divers options et paramètres de contexte, qui peuvent être utilisés avec tous les systèmes de fichiers et gestionnaires de flux. Le contexte est créé avec la fonction stream_context_create(). Les options sont définies avec la fonction stream_context_set_option() et les paramètres, avec la fonction stream_context_set_params().

Sommaire

  • Options de contexte des sockets — Liste des options de contexte des sockets
  • Options de contexte HTTP — Liste des options de contexte HTTP
  • Options de contexte FTP — Liste des options de contexte FTP
  • Options de contexte SSL — Liste des options de contexte SSL
  • Options de contexte CURL — Liste des options de contexte CURL
  • Les options du contexte Phar — Liste des options du contexte Phar
  • Paramètres de contexte — Liste des paramètres de contexte
Serializable::unserialize
Options de contexte des sockets
Référence du langage


Liste des options de contexte des sockets

Options et paramètres de contexte
Options de contexte HTTP
Options et paramètres de contexte
PHP Manual

Options de contexte des sockets

Options de contexte des sockets — Liste des options de contexte des sockets

Description

Les options de contexte des sockets sont disponibles pour tous les gestionnaires fonctionnant via les sockets, comme tcp, http et ftp.

Options

bindto

Utilisé pour spécifier l'adresse IP (soit IPv4 ou IPv6), et/ou le numéro du port que PHP utilisera pour accéder au réseau. La syntaxe est ip:port. Le fait de définir l'IP ou le port à 0 permettra au système de choisir lui-même le port et/ou l'IP.

Note: Vu que FTP crée 2 sockets de connexion lors d'une opération normale, le numéro du port ne peut être spécifié en utilisant cette option.

backlog

Utilisé pour limiter le nombre de connections actives dans la liste d'attente du socket.

Note: Ceci n'est applicable qu'à la fonction stream_socket_server().

Historique

Version | Description
5.1.0 | Ajout du paramètre bindto.
5.3.3 | Ajout du paramètre backlog.

Exemples

Exemple #1 Exemple d'utilisation du paramètre bindto

<?php
// Connexion à Internet en utilisant l'IP '192.168.0.100'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// Connexion à Internet en utilisant l'IP '192.168.0.100' et le port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// Connexion à Internet en utilisant le port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// Création du contexte...
$context = stream_context_create($opts);

// ...et l'utilise pour récupérer les données
echo file_get_contents('http://www.example.com', false, $context);

?>

Options et paramètres de contexte
Options de contexte HTTP
Options et paramètres de contexte


Liste des options de contexte HTTP

Options de contexte des sockets
Options de contexte FTP
Options et paramètres de contexte
PHP Manual

Options de contexte HTTP

Options de contexte HTTP — Liste des options de contexte HTTP

Description

Options de contexte pour les protocoles http:// et https://.

Options

method chaîne de caractères

GET, POST, ou n'importe quelle autre méthode HTTP supportée par le serveur disant.

Par défaut, vaut GET.

header chaîne de caractères

En-têtes supplémentaires à envoyer lors de la requête. Les valeurs de cette option écraseront les autres valeurs (comme User-agent:, Host:, et Authentication:).

user_agent chaîne de caractères

Valeur à envoyer avec l'en-tête User-Agent:. Cette valeur ne doit être utilisée que si l'agent utilisateur n'est pas spécifié dans l'option de contexte header ci-dessus.

Par défaut, la valeur de l'option de configuration user_agent du fichier php.ini sera utilisée.

content chaîne de caractères

Les données supplémentaires à envoyer après les en-têtes. Typiquement utilisées lors des requêtes POST ou PUT.

proxy chaîne de caractères

URI de l'adresse du proxy. (e.g. tcp://proxy.example.com:5100).

request_fulluri booléen

Lorsque défini à TRUE, l'URI entière sera utilisée lors de la construction de la requête. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0). Bien que ce format de demande ne soit pas standard, certains serveurs de proxy le demandent.

Par défaut, vaut FALSE.

max_redirects integer

Le nombre maximal de redirection à suivre. La valeur 1 ou inférieure signifie qu'aucune redirection ne sera suivie.

Par défaut, vaut 20.

protocol_version nombre décimal

Version du protocole HTTP.

Par défaut, vaut 1.0.

Note: Dans les versions antérieures à 5.3.0, PHP n'implémente pas le décodage du transfert. Aussi, si la valeur est définie à 1.1, il est de votre responsabilité d'être conforme à 1.1.

timeout nombre décimal

Délai maximal d'attente pour la lecture, sous la forme d'un nombre décimal (e.g. 10.5).

Par défaut, la valeur de l'option de configuration default_socket_timeout du fichier php.ini sera utilisé.

ignore_errors booléen

Récupère le contenu même lors de la réception d'un code d'échec.

Par défaut, vaut FALSE

Historique

Version | Description
5.3.0 | Le paramètre protocol_version support les transfert chunked lorsqu'on lui assigne la valeur 1.1.
5.2.10 | Ajout du paramètre ignore_errors.
5.2.10 | Le paramètre header peut désormais être un tableau indexé numériquement.
5.2.1 | Ajout du paramètre timeout.
5.1.0 | Ajout la possibilité d'utiliser des proxy HTTPS via des proxy HTTP.
5.1.0 | Ajout du paramètre max_redirects.
5.1.0 | Ajout du paramètre protocol_version.

Exemples

Exemple #1 Récupération d'une page et envoi de données POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'du contenu',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Exemple #2 Ignore les redirections mais récupère les en-têtes et le contenu

<?php

$url = "http://www.example.org/header.php";

$opts = array(
       'http' => array('method' => 'GET',
                                       'max_redirects' => '0',
                                       'ignore_errors' => '1')
       );

$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);

// informations sur les en-têtes et métadonnées du flux
var_dump(stream_get_meta_data($stream));

// données actuelles de $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Notes

Note: Options de contexte du flux sous-jacent
Des options de contexte supplémentaires peuvent être supportées par le transport sous-jacent. Pour les flux http://, référez-vous aux options de contexte du transport tcp://. Pour les flux https://, référez-vous aux options de contexte du transport ssl://.

Voir aussi

  • Options de contexte des sockets
  • Options de contexte SSL

Options de contexte des sockets
Options de contexte FTP
Options et paramètres de contexte


Liste des options de contexte FTP

Options de contexte HTTP
Options de contexte SSL
Options et paramètres de contexte
PHP Manual

Options de contexte FTP

Options de contexte FTP — Liste des options de contexte FTP

Description

Options de contexte pour les protocoles ftp:// et ftps://.

Options

overwrite booléen

Permet l'écrasement des fichiers existants sur le serveur distant. Ne s'applique qu'en mode écriture.

Par défaut, FALSE.

resume_pos entier

Position dans le fichier à partir de laquelle on commence le transfert. Ne s'applique qu'en mode écriture.

Par défaut, vaut 0 (Début du fichier).

proxy chaîne de caractères

URI de l'adresse du proxy FTP. Ne s'applique qu'aux opérations de lecture de fichiers. Par exemple : tcp://squid.example.com:8000.

Historique

Version | Description
5.1.0 | Ajout du paramètre proxy.
5.0.0 | Ajout des paramètres overwrite et resume_pos.

Notes

Note: Options de contexte du flux sous-jacent
Des options de contexte supplémentaires peuvent être supportées par le transport sous-jacent. Pour les flux ftp://, référez-vous aux options de contexte du transport tcp://. Pour les flux ftps://, référez-vous aux options de contexte du transport ssl://.

Voir aussi

  • Options de contexte des sockets
  • Options de contexte SSL

Options de contexte HTTP
Options de contexte SSL
Options et paramètres de contexte


Liste des options de contexte SSL

Options de contexte FTP
Options de contexte CURL
Options et paramètres de contexte
PHP Manual

Options de contexte SSL

Options de contexte SSL — Liste des options de contexte SSL

Description

Options de contexte pour les protocoles ssl:// et tls://.

Options

verify_peer booléen

Nécessite une vérification du certificat SSL utilisé.

Par défaut, vaut FALSE.

allow_self_signed booléen

Permet les certificats autosignés.

Par défaut, vaut FALSE

cafile string

Endroit où se trouve le fichier de l'autorité du certificat sur le système de fichiers local et qui devra être utilisé avec l'option de contexte verify_peer pour identifier le pair distant.

capath string

Si cafile n'est pas spécifié ou si le certificat n'a pas été trouvé, une recherche dans le dossier pointé par capath sera effectué afin d'y trouver un certificat valide. capath doit être un dossier de certificat valide.

local_cert string

Chemin vers le certificat local, sur le système de fichiers. Ce doit être un fichier encodé PEM qui contient votre certificat et votre clé privée. Il peut, optionnellement, contenir la chaîne de certification de l'émetteur.

passphrase string

La phrase passe avec laquelle votre fichier local_cert a été encodé.

CN_match string

Nom commun attendu. PHP effectuera un nombre limité de recherche sur les jokers. Si le nom commun ne correspond pas à celui-là, la connexion échouera.

verify_depth integer

Échoue si la chaîne de certification est trop profonde.

Par défaut, aucune vérification.

ciphers string

Définit la liste des chiffrements. Le format de la chaîne est décrite sur la page » ciphers(1).

Par défaut, vaut DEFAULT.

capture_peer_cert boolean

Si définit à TRUE, un option de contexte peer_certificate sera créée, contenant le certificat de l'émetteur.

capture_peer_chain boolean

Si définit à TRUE, une option de contexte peer_certificate_chain sera créée, contenant la chaîne de certification.

SNI_enabled boolean

Si vaut TRUE, l'indication sur le nom du serveur sera activée. Le fait d'activer SNI permet d'utiliser plusieurs certificats sur la même adresse IP.

SNI_server_name string

Si définie, alors cette valeur sera utilisée comme nom dans l'indication sur le nom du serveur. Si cette valeur n'est pas définie, alors le nom du serveur sera déduit par rapport au nom de l'hôte utilisé lors de l'ouverture du flux.

Historique

Version | Description
5.3.2 | Ajout de SNI_enabled et de SNI_server_name.
5.0.0 | Ajout des paramètres capture_peer_cert, capture_peer_chain et ciphers.

Notes

Note: Vu que ssl:// est un protocole sous-jacent pour les gestionnaires https:// et ftps://, toutes les options de contexte appliquées à ssl:// seront également appliquées à https:// et ftps://.

Note: Afin que SNI (Server Name Indication) soit disponible, PHP doit être compilé avec OpenSSL 0.9.8j ou supérieur. Utilisez la constante OPENSSL_TLSEXT_SERVER_NAME pour déterminer si SNI est supporté ou non.

Voir aussi

  • Options de contexte des sockets

Options de contexte FTP
Options de contexte CURL
Options et paramètres de contexte


Liste des options de contexte CURL

Options de contexte SSL
Les options du contexte Phar
Options et paramètres de contexte
PHP Manual

Options de contexte CURL

Options de contexte CURL — Liste des options de contexte CURL

Description

Les options de contexte CURL sont disponibles lorsque l'extension CURL a été compilée en utilisant l'option de configuration --with-curlwrappers.

Options

method chaîne de caractères

GET, POST, ou n'importe quelle méthode HTTP supportée par le serveur distant.

Par défaut, vaut GET.

header chaîne de caractères

En-têtes additionnels à envoyer lors de la requête. Les valeurs de cette option écraseront les autres valeurs (comme User-agent:, Host:, et Authentication:).

user_agent chaîne de caractères

Valeur à envoyer avec l'en-tête User-Agent:.

Par défaut, la valeur de la directive user_agent du fichier php.ini sera utilisée.

content chaîne de caractères

Les données additionnelles à envoyer après les en-têtes. Cette option n'est pas utilisée pour les requêtes GET ou HEAD.

proxy chaîne de caractères

URI spécifiant l'adresse du proxy. (e.g. tcp://proxy.exemple.com:5100).

max_redirects integer

Le nombre maximal de redirections à suivre. La valeur 1 ou inférieure signifie qu'il ne faut suivre aucune redirection.

Par défaut, vaut 20.

curl_verify_ssl_host booléen

Vérifie l'hôte.

Par défaut, vaut FALSE

Note: Cette option est disponible pour les protocoles http et ftp.

curl_verify_ssl_peer booléen

Demande une vérification du certificat SSL utilisé.

Par défaut, vaut FALSE

Note: Cette option est disponible pour les protocoles http et ftp.

Exemples

Exemple #1 Récupère une page et envoie des données avec la méthode POST

<?php

$postdata = http_build_query(
    array(
        'var1' => 'du contenu',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

Voir aussi

  • Options de contexte des sockets

Options de contexte SSL
Les options du contexte Phar
Options et paramètres de contexte


Liste des options du contexte Phar

Options de contexte CURL
Paramètres de contexte
Options et paramètres de contexte
PHP Manual

Les options du contexte Phar

Les options du contexte Phar — Liste des options du contexte Phar

Description

Les options de contexte pour le gestionnaire phar://.

Options

compress int

Une des constantes de compression Phar.

metadata mixed

Les méta-données Phar. Voir Phar::setMetadata().

Voir aussi

  • Les options du contexte Phar
  • Le flux Phar

Options de contexte CURL
Paramètres de contexte
Options et paramètres de contexte


Liste des paramètres de contexte

Les options du contexte Phar
Sécurité
Options et paramètres de contexte
PHP Manual

Paramètres de contexte

Paramètres de contexte — Liste des paramètres de contexte

Description

Ces paramètres peuvent être définis sur un contexte, en utilisant la fonction stream_context_set_params().

Liste de paramètres

notification callback

Une fonction de rappel ( callback ), à appeler lorsqu'un événement survient sur le flux.

Voir la fonction stream_notification_callback() pour plus de détails.

Les options du contexte Phar
Sécurité
Options et paramètres de contexte


Sécurité

  • Introduction
  • Considérations générales
  • Binaires CGI
    • Faiblesses connues
    • Cas 1 : Tous les fichiers sont publics
    • Cas 2 : Utilisation de la directive de compilation cgi.force_redirect
    • Cas 3 : Utilisation du "doc_root" ou du "user_dir"
    • Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur
  • Installé en tant que module Apache
  • Sécurité des fichiers
    • Issue lors de l'utilisation des octets nuls
  • Sécurité des bases de données
    • Schéma de base de données
    • Connexions au serveur de base de données
    • Modèle de stockage avec chiffrement
    • Injection SQL
  • Rapport d'erreurs
  • Utilisation des variables super-globales
  • Données transmises par les internautes
  • Guillemets magiques
    • Qu'est-ce que les guillemets magiques?
    • Pourquoi utiliser les guillemets magiques?
    • Pourquoi ne pas utiliser les guillemets magiques?
    • Désactiver les guillemets magiques
  • Masquer PHP
  • Être à jour
Paramètres de contexte
Introduction
Manuel PHP


Introduction

PHP est un langage puissant et l'interpréteur, qu'il soit inclus dans le serveur web ou bien compilé en version CGI, est capable d'accéder aux fichiers, d'exécuter des commandes et d'ouvrir des connexions réseaux. Toutes ces propriétés rendent fragile la sécurité d'un serveur web. Le langage PHP a été pensé afin d'être un langage beaucoup plus sécurisé pour écrire des CGI que le Perl ou le langage C. De plus, une sélection rigoureuse des options de compilation et d'exécution vous permettra d'obtenir un équilibre parfait entre liberté et sécurité.

Étant donné qu'il y a de nombreux moyens d'utiliser le langage PHP, il y a de nombreuses directives de configuration afin d'en contrôler le comportement. Un grand nombre d'options permettent d'utiliser PHP dans de nombreuses situations, mais cela signifie aussi qu'il y a certaines combinaisons d'options de compilation et d'exécution qui fragilisent la sécurité du serveur. Ce chapitre explique comment les différentes options de configuration peuvent être combinées, tout en conservant une sécurité maximum.

La flexibilité de configuration de PHP est épaulée par la flexibilité du code. PHP peut être compilé pour constituer une application serveur complète, avec toutes les fonctionnalités d'un shell, ou il peut encore être utilisé comme simple SSI (server side include) avec peu de risque, dans un environnement à sécurité renforcée. La création de cet environnement et sa sécurité est largement à la charge du développeur PHP.

Ce chapitre commence par expliquer les différentes options de configuration et les situations dans lesquelles elles peuvent être utilisées en toute sécurité. Puis, viennent les considérations de niveaux de sécurité, et les conseils généraux.

Sécurité
Considérations générales
Sécurité


Considérations générales

Un système complètement sûr est une impossibilité virtuelle. L'approche souvent utilisée par les professionnels de la sécurité est d'équilibrer les risques et l'ergonomie. Si chaque variable fournie par l'utilisateur demandait deux formes de validation biométrique (un scan de la rétine et une empreinte digitale), on obtiendrait un système avec un niveau de sécurité d'un bon niveau. Il faudrait aussi une bonne heure pour remplir un formulaire simple, ce qui encouragerait les utilisateurs à trouver un moyen de contourner cette sécurité.

La meilleure sécurité est suffisamment discrète pour assurer un maximum de sécurité sans ajouter de contraintes insurmontables pour l'utilisateur ou de systèmes complexes de programmation. Souvent, les attaques sur un script sont des exploitations des systèmes de sécurité trop complexes, qui s'érodent au cour du temps.

Un principe qu'il est bon de retenir : Un système est aussi sur que son maillon le plus faible. Si toutes les transactions sont bien notées dans une base, avec confirmation mais que l'utilisateur est identifié uniquement par un cookie, la robustesse de votre système est sévèrement réduite.

Lorsque vous testez votre site, gardez en tête que vous ne pourrez jamais tester toutes les situations, même pour les pages les plus simples. Les valeurs que vous attendez seront toujours complètement différentes des valeurs entrées par un employé négligent, un hacker qui a toute la nuit devant lui ou encore le chat de la maison qui marche sur le clavier. C'est pourquoi il est préférable de regarder le code d'un point de vue logique, pour repérer les points d'entrée des données inattendues, puis de voir comment elles pourront être modifiées, amplifiées ou réduites.

L'Internet est rempli d'individus qui tentent de se faire une renommée en piratant vos programmes, en bloquant votre site, en envoyant des contenus inappropriés, qui rendent vos journées si "spéciales". Peu importe que vous ayez un grand portail ou un petit web, vous pouvez être la cible pour tout quidam avec une connexion. Vous êtes une cible potentielle dès que vous êtes connecté vous-même. Certains programmes de piratage ne font pas dans la demi-mesure, et testent systématiquement des millions d'IP, à la recherche de victimes : ne soyez pas la prochaine.

Introduction
Binaires CGI
Sécurité


Binaires CGI

Sommaire

  • Faiblesses connues
  • Cas 1 : Tous les fichiers sont publics
  • Cas 2 : Utilisation de la directive de compilation cgi.force_redirect
  • Cas 3 : Utilisation du "doc_root" ou du "user_dir"
  • Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur
Considérations générales
Faiblesses connues
Sécurité


Faiblesses connues

Utiliser PHP comme un CGI exécutable vient la majorité du temps du fait que l'on ne veut pas l'utiliser comme un module du serveur web, (comme Apache), ou bien que l'on souhaite l'utiliser en combinaison d'un CGI complémentaire, afin de créer un environnement de script sécurisé (en utilisant des techniques de chroot ou setuid). Une telle décision signifie habituellement que vous installez votre exécutable dans le répertoire cgi-bin de votre serveur web. » CERT CA-96.11 recommande effectivement de ne placer aucun interpréteur à l'intérieur du répertoire cgi-bin. Même si le programme PHP peut être utilisé comme interpréteur indépendant, PHP a été pensé afin de rendre impossible les attaques que ce type d'installation induit.

  • Accès au système de fichier : http://ma.machine/cgi-bin/php?/etc/passwd Lorsque la requête est passée dans une url, après le point d'interrogation (?), elle est envoyée à l'interpréteur comme une ligne de commande par l'interface CGI. Habituellement, l'interpréteur ouvre le fichier spécifié et l'exécute. Lorsqu'il est invoqué comme exécutable CGI, PHP refuse d'interpréter les arguments de la ligne de commande.
  • Accès d'un document web sur le serveur : http://my.host/cgi-bin/php/secret/doc.html Le "path information" dans l'url, situé juste après le nom de l'exécutable PHP, /secret/doc.html est utilisé par convention pour spécifier le nom du fichier qui doit être ouvert et interprété par le programe CGI. Habituellement, des directives de configuration du serveur web (pour le serveur Apache : Action) sont utilisées pour rediriger les requêtes afin d'obtenir un document http://my.host/secret/script.php par l'interpréteur PHP. Dans une telle configuration, le serveur web vérifie d'abord s'il a accès au répertoire /secret, et après cette vérification redirige la requête vers http://my.host/cgi-bin/php/secret/script.php. Malheureusement, si la requête est faite directement sous cette forme, aucune vérification d'accès n'est faite par le serveur web pour le fichier /secret/script.php, mais uniquement pour le fichier /cgi-bin/php. De cette manière, n'importe quel utilisateur qui peut accéder au fichier /cgi-bin/php peut aussi accéder aux documents protégés sur le serveur web. Avec PHP, les options d'exécution cgi.force_redirect, doc_root et user_dir peuvent être utilisées pour prévenir ce genre d'attaques, si des restrictions d'accès sont appliquées sur les documents du serveur. Voir ci-dessous pour des explications plus complètes sur les différentes combinaisons.
Binaires CGI
Cas 1 : Tous les fichiers sont publics
Binaires CGI


Cas 1 : Tous les fichiers sont publics

Si votre serveur n'a aucun document dont l'accès est restreint par un mot de passe ou un système de vérification de l'adresse IP, vous n'avez aucun besoin de ce type de configuration. Si votre serveur web ne permet pas les redirections, ou si votre serveur web n'a aucun besoin de communiquer avec le binaire PHP de manière sécurisée, vous pouvez utiliser l'option de compilation --disable-force-cgi-redirect. Vous devez quand même vérifier qu'aucun script ne fait appel au PHP, de manière directe, http://my.host/cgi-bin/php/dir/script.php ou bien de manière indirecte, par redirection, http://my.host/dir/script.php.

Les redirections peuvent être configurées dans les fichiers de configuration d'Apache en utilisant les directives "AddHandler" et "Action" (voir ci-dessous).

Faiblesses connues
Cas 2 : Utilisation de la directive de compilation cgi.force_redirect
Binaires CGI


Cas 2 : Utilisation de la directive de compilation cgi.force_redirect

La directive de configuration cgi.force_redirect évite qu'un appel direct à un script PHP avec une URL comme http://my.host/cgi-bin/php/secretdir/script.php soit possible. Dans ce cas-là, PHP analysera le fichier uniquement s'il y a eu redirection. En PHP antérieur à la version 4.2.0, vous deviez utiliser l'option de compilation --enable-force-cgi-redirect pour faire la même chose.

Habituellement, le serveur web Apache réalise une redirection grâce aux directives suivantes :

Action php-script /cgi-bin/php
AddHandler php-script .php

Cette option a uniquement été testée avec Apache et compte sur Apache pour affecter la variable d'environnement non-standard REDIRECT_STATUS pour les requêtes redirigées. Dans le cas où votre serveur web ne supporte pas le renseignement de PHP, pour savoir si la requête a été redirigée ou non, vous ne pouvez pas utiliser cette option de compilation. Vous devez alors utiliser une des autres méthodes d'exploitation de la version binaire CGI de PHP, comme exposé ci-dessous.

Cas 1 : Tous les fichiers sont publics
Cas 3 : Utilisation du "doc_root" ou du "user_dir"
Binaires CGI


Cas 3 : Utilisation du "doc_root" ou du "user_dir"

Ajouter un contenu interactif dans votre serveur web, comme des scripts ou des exécutables, est souvent considéré comme une pratique non-sécurisée. Si, par erreur, le script n'est pas exécuté mais affiché comme une page HTML classique, il peut en résulter un vol de propriété intellectuelle ou des problèmes de sécurité à propos des mots de passe notamment. Donc, la majorité des administrateurs préfèrent mettre en place un répertoire spécial pour les scripts qui soit uniquement accessible par le biais du binaire CGI de PHP, et donc, tous les fichiers de ce répertoire seront interprétés et non affichés tels quels.

Aussi, si vous ne pouvez pas utiliser la méthode présentée ci-dessus, il est nécessaire de mettre en place un répertoire "doc_root" différent de votre répertoire "document root" de votre serveur web.

Vous pouvez utiliser la directive doc_root dans le fichier de configuration, ou vous pouvez affecter la variable d'environnement PHP_DOCUMENT_ROOT. Si cette variable d'environnement est affectée, le binaire CGI de PHP construira toujours le nom de fichier à ouvrir avec doc_root et le "path information" de la requête, et donc vous serez sûr qu'aucun script n'est exécuté en dehors du répertoire prédéfini (à l'exception du répertoire désigné par la directive user_dir Voir ci-dessous).

Une autre option possible ici est la directive user_dir. Lorsque la directive n'est pas activée, seuls les fichiers contenus dans le répertoire doc_root peuvent être ouverts. Ouvrir un fichier possédant l'url http://my.host/~user/doc.php ne correspond pas à l'ouverture d'un fichier sous le répertoire racine de l'utilisateur mais à l'ouverture du fichier ~user/doc.php sous le répertoire "doc_root" (oui, un répertoire commence par un tilde [~]).

Si la directive "user_dir" est activée à la valeur public_php par exemple, une requête du type http://my.host/~user/doc.php ouvrira un fichier appelé doc.php sous le répertoire appelé public_php sous le répertoire racine de l'utilisateur. Si le répertoire racine des utilisateurs est /home/user, le fichier exécuté sera /home/user/public_php/doc.php.

user_dir et doc_root sont deux directives totalement indépendantes et donc vous pouvez contrôler l'accès au répertoire "document root" séparément des répertoires "user directory".

Cas 2 : Utilisation de la directive de compilation cgi.force_redirect
Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur
Binaires CGI


Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur

Une solution extrêmement sécurisée consiste à mettre l'exécutable PHP à l'extérieur de l'arborescence du serveur web. Dans le répertoire /usr/local/bin, par exemple. Le problème de cette méthode est que vous aurez à rajouter la ligne suivante :

Exemple #1 Ligne d'invocation de PHP

#!/usr/local/bin/php
dans tous les fichiers contenant des balises PHP. Vous devrez aussi rendre le binaire PHP exécutable. Dans ce cas-là, traitez le fichier exactement comme si vous aviez un autre script écrit en Perl ou en sh ou en un autre langage de script qui utilise #! comme mécanisme pour lancer l'interpréteur lui-même.

Pour que l'exécutable PHP prenne en compte les variables d'environnement PATH_INFO et PATH_TRANSLATED correctement avec cette configuration, vous devez utiliser l'option de compilation --enable-discard-path.

Cas 3 : Utilisation du "doc_root" ou du "user_dir"
Installé en tant que module Apache
Binaires CGI


Installé en tant que module Apache

Lorsque PHP est compilé en tant que module Apache, ce module hérite des permissions accordées à l'utilisateur faisant tourner Apache (par défaut, l'utilisateur "nobody"). Cela à plusieurs impacts sur la sécurité et les autorisations. Par exemple, si vous utilisez PHP pour accéder à une base de données, à moins que la base n'ait un système de droits d'accès interne, vous devrez rendre la base accessible à l'utilisateur "nobody". Cela signifie qu'un script mal intentionné peut accéder à la base, la modifier sans identification. Il est aussi possible qu'un robot accède à la page d'administration, et détruise toutes les pages. Vous devez aussi protéger vos bases de données avec les autorisations Apache, ou définir votre propre modèle d'accès avec LDAP, .htaccess, etc. et inclure ce code dans tous vos scripts : PHP.

Souvent, lorsqu'on a établi les droits de l'utilisateur PHP (ici, l'utilisateur Apache) pour minimiser les risques, on s'aperçoit que PHP ne peut plus écrire de virus dans les fichiers des utilisateurs. Ou encore, modifier une base de données privée. Il est aussi incapable de modifier des fichiers qu'il devrait pouvoir modifier, ou effectuer certaines transactions.

Une erreur fréquente de sécurité est de donner à l'utilisateur Apache les droits de superadministrateur ou d'améliorer les possibilités d'Apache d'une autre façon.

Donner de telles permissions à l'utilisateur Apache est extrêmement dangereux, et peut compromettre tout le système, telle que l'utilisation des sudo ou du chroot. Pour les novices de la sécurité, une telle utilisation est à exclure d'office.

Il existe des solutions plus simples. En utilisant open_basedir vous pouvez contrôler et restreindre l'accès à certains dossiers qui pourront être utilisés par PHP. Vous pouvez aussi créer des aires de restrictionsApache, pour restreindre les activités anonymes liées aux internautes.

Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur
Sécurité des fichiers
Sécurité


Sécurité des fichiers

Sommaire

  • Issue lors de l'utilisation des octets nuls

PHP est soumis aux règles de sécurité intrinsèques de la plupart des systèmes serveurs : il respecte notamment les droits des fichiers et des dossiers. Une attention particulière doit être portée aux fichiers ou dossiers qui sont accessibles à tout le monde, afin de s'assurer qu'ils ne divulguent pas d'informations critiques.

Puisque PHP a été fait pour permettre aux utilisateurs d'accéder aux fichiers, il est possible de créer un script PHP qui vous permet de lire des fichiers tels que /etc/password, de modifier les connexions ethernet, lancer des impressions de documents, etc. Cela implique notamment que vous devez vous assurer que les fichiers manipulés par les scripts sont bien ceux qu'il faut.

Considérez le script suivant, où l'utilisateur indique qu'il souhaite effacer un fichier dans son dossier racine. Nous supposons que PHP est utilisé comme interface web pour gérer les fichiers, et que l'utilisateur Apache est autorisé à effacer les fichiers dans le dossier racine des utilisateurs.

Exemple #2 Une erreur de vérification de variable conduit à un gros problème

<?php
// Efface un fichier dans un dossier racine
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir  = "/home/$username";

unlink("$homedir/$userfile");

echo "Ce fichier a été effacé !";
?>
Étant donné que le nom de l'utilisateur et le nom du fichier sont fournis, des intrus peuvent envoyer un nom d'utilisateur et un nom de fichier autres que les leurs, et effacer des documents dans les comptes des autres utilisateurs. Dans ce cas, vous souhaiterez utiliser une autre forme d'identification. Considérez ce qui pourrait se passer si les utilisateurs passent ../etc/ et passwd comme arguments! Le code serait exécuté tel que :

Exemple #3 Une attaque du système de fichiers!

<?php
// efface un fichier n'importe où sur le disque dur,
// où l'utilisateur PHP a accès. Si PHP a un accès root :
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir  = "/home/$username"; // "/home/../etc"

unlink("$homedir/$userfile"); // "/home/../etc/passwd"

echo "Ce fichier a été effacé !";
?>
Il y a deux mesures primordiales à prendre pour éviter ces manoeuvres :
  • Limiter les permissions de l'utilisateur web PHP.
  • Vérifier toutes les variables liées aux chemins et aux fichiers qui sont fournis.
Voici un script renforcé :

Exemple #4 Une vérification renforcée

<?php
// Efface un fichier sur le disque où l'utilisateur a le droit d'aller
$username = $_SERVER['REMOTE_USER']; // utilisation d'un méchanisme d'identification
$userfile = basename($_POST['user_submitted_filename']);
$homedir  = "/home/$username";

$filepath = "$homedir/$userfile";

if (file_exists($filepath) && unlink($filepath)) {
   $logstring = "$filepath effacé\n";
} else {
   $logstring = "Échec lors de l'effacement de $filepath\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite($fp, $logstring);
fclose($fp);

echo htmlentities($logstring, ENT_QUOTES);
?>
Cependant, même cette technique n'est pas sans faille. Si votre système d'identification permet aux utilisateurs de créer leur propre login, et qu'un utilisateur choisi le login ../etc/, le système est de nouveau exposé. Pour cette raison, vous pouvez essayez d'écrire un script renforcé :

Exemple #5 Vérification renforcée de noms de fichiers

<?php
$username     = $_SERVER['REMOTE_USER']; // utilisation d'un méchanisme d'identification
$userfile     = $_POST['user_submitted_filename'];
$homedir      = "/home/$username";

$filepath     = "$homedir/$userfile";

if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
   die("Mauvais utilisateur/nom de fichier");
}

//etc...
?>

Suivant votre système d'exploitation, vous devrez protéger un grand nombre de fichiers, notamment les entrées de périphériques, (/dev/ ou COM1), les fichiers de configuration (fichiers /etc/ et .ini), les lieux de stockage d'informations (/home/, My Documents), etc. Pour cette raison, il est généralement plus sûr d'établir une politique qui interdit TOUT sauf ce que vous autorisez.

Installé en tant que module Apache
Issue lors de l'utilisation des octets nuls
Sécurité


Issue lors de l'utilisation des octets nuls

Comme PHP utilise des fonctions C pour les opérations sous-jacentes, notamment au niveau du système de fichier, il peut gérer les octets nuls d'une façon inattendue. Sachant que les octets nuls dénotent la fin d'une chaîne de caractères en C, certaines fonctions vont donc considérer ces chaînes jusqu'à la première occurrence d'un octet nul. L'exemple suivant présente un code vulnérable qui montre ce problème :

Exemple #1 Script vulnérable aux octets nuls

<?php
$file = $_GET['file']; // "../../etc/passwd\0"
if (file_exists('/home/wwwrun/'.$file.'.php')) {
   // file_exists retournera true sachant que le fichier /home/wwwrun/../../etc/passwd existe
   include '/home/wwwrun/'.$file.'.php';
   // le fichier /etc/passwd sera inclu
}
?>

Ainsi, toute chaîne utilisée dans des opérations sur le système de fichiers doit toujours être validée proprement. Voici une meilleure solution de l'exemple précédent :

Exemple #2 Validation correcte de l'entrée

<?php
$file = $_GET['file'];

// Whitelisting possible values
switch ($file) {
   case 'main':
   case 'foo':
   case 'bar':
   include '/home/wwwrun/include/'.$file.'.php';
   break;
   default:
   include '/home/wwwrun/include/main.php';
}
?>
Sécurité des fichiers
Sécurité des bases de données
Sécurité des fichiers


Sécurité des bases de données

Sommaire

  • Schéma de base de données
  • Connexions au serveur de base de données
  • Modèle de stockage avec chiffrement
  • Injection SQL

De nos jours, les bases de données sont des composants incontournables des serveurs web et des applications en ligne, qui fournissent du contenu dynamique. Des données secrètes ou critiques peuvent être stockées dans les bases de données : il est donc important de les protéger efficacement.

Pour lire ou stocker des informations, vous devez vous connecter au serveur de bases de données, envoyer une requête valide, lire le résultat et refermer la connexion. De nos jours, le langage le plus courant pour ce type de communication est le langage SQL (Structured Query Language). Voyez comment un pirate peut s'introduire dans une requête SQL.

Comme vous pouvez le réaliser, PHP ne peut pas protéger vos bases de données pour vous. La section suivante vous introduira aux notions de base pour protéger vos bases de données, lors de la programmation de vos scripts.

Gardez bien cette règle simple en tête : la défense se fait par couches. Plus vous ajouterez de tests pour protéger votre base, plus faible sera la probabilité de réussite d'un pirate. Ajoutez à cela un bon schéma de base de données, et vous aurez une application réussie.

Issue lors de l'utilisation des octets nuls
Schéma de base de données
Sécurité


Schéma de base de données

La première étape est de créer une base de données, à moins que vous ne souhaitiez utiliser une base de données déjà créée. Lorsque la base de données est créée, un utilisateur propriétaire en est responsable. Généralement, seul le propriétaire et le super utilisateur peuvent intervenir avec les tables de cette base, et il faut que ce dernier donne des droits à tous les intervenants qui auront à travailler sur cette base.

Les applications ne doivent jamais se connecter au serveur de bases de données sous le nom du propriétaire ou de l'administrateur, car ces utilisateurs ont des droits très importants, et pourront exécuter n'importe quelle requête, comme la modification de tables, l'effacement de lignes ou même encore, la destruction de la base.

Vous pouvez créer différents utilisateurs de bases de données pour chaque aspect de votre application, avec des droits limités aux seules actions planifiées. Il faut alors éviter que le même utilisateur dispose des droits de plusieurs cas d'utilisation. Cela permet que si des intrus obtiennent l'accès à la base avec l'un de ces jeux de droits, ils ne puissent pas affecter toute l'application.

Il est recommandé de ne pas implémenter toute la logique fonctionnelle dans l'application web (c'est-à-dire dans vos scripts), mais d'en reporter une partie dans la base en utilisant les déclencheurs, vues et règles. Si le système évolue, les nouvelles versions vous feront réécrire toute la logique et donc tous vos scripts. De plus, l'utilisation de déclencheurs permet de gérer de manière transparente des données, et fournit des indications pour déboguer votre application.

Sécurité des bases de données
Connexions au serveur de base de données
Sécurité des bases de données


Connexions au serveur de base de données

Il est recommandé d'établir des connexions au serveur avec le protocole SSL, pour chiffrer les échanges clients/serveur, afin d'améliorer la sécurité. Vous pouvez aussi utiliser un client SSH pour chiffrer la connexion entre les clients et le serveur de bases de données. Si l'une de ces deux protections est mise en place, il sera difficile de surveiller votre trafic et de comprendre les informations échangées.

Schéma de base de données
Modèle de stockage avec chiffrement
Sécurité des bases de données


Modèle de stockage avec chiffrement

Les protocoles SSL/SSH protègent les données qui circulent entre le serveur et le client, mais SSL/SSH ne protège pas les données une fois dans la base. SSL est un protocole en ligne.

Une fois que le pirate a obtenu l'accès direct à votre base de données (en contournant le serveur web), les données sensibles, stockées dans votre base sont accessibles directement, à moins que les données de la base ne soient protégées par la base. Chiffrer les données est une bonne solution pour réduire cette menace, mais très peu de bases de données offrent ce type de chiffrement.

Le moyen le plus simple pour contourner ce problème est de créer votre propre logiciel de chiffrement, et de l'utiliser dans vos scripts PHP. PHP peut vous aider dans cette tâche grâce aux nombreuses extensions dont il dispose, comme Mcrypt et Mhash, qui connaissent un large éventail de méthodes de chiffrement. Le script PHP va chiffrer les données qui seront stockées, et les déchiffrer lorsqu'elles seront relues. Voyez la suite pour des exemples d'utilisation de ce chiffrement.

Dans le cas de données vraiment sensibles, si la représentation originale n'est pas nécessaire (pour affichage, ou comparaison), utiliser un hash est une bonne solution. L'exemple classique est le stockage de mots de passe dans les bases de données, après les avoir passés au MD5. Voyez les fonctions crypt() et md5().

Exemple #1 Utiliser un mot de passe et MD5

<?php
// Stockage du mot de passe hashé
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
             pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

// interroger le serveur pour comparer le mot de passe soumis
$query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';",
             pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

if (pg_num_rows($result) > 0) {
    echo "Bienvenue, $username!";
} else {
    echo "Identification échouée pour $username.";
}
?>
Connexions au serveur de base de données
Injection SQL
Sécurité des bases de données


Injection SQL

De nombreux développeurs web ne sont pas conscients des possibilités de manipulation des requêtes SQL, et supposent que les requêtes SQL sont des commandes sûres. Cela signifie qu'une requête SQL est capable de contourner les contrôles et vérifications, comme les identifications, et parfois, les requêtes SQL ont accès aux commandes d'administration.

L'injection SQL directe est une technique où un pirate modifie une requête SQL existante pour afficher des données cachées, ou pour écraser des valeurs importantes, ou encore exécuter des commandes dangereuses pour la base. Cela se fait lorsque l'application prend les données envoyées par l'internaute, et l'utilise directement pour construire une requête SQL. Les exemples ci-dessous sont basés sur une histoire vraie, malheureusement.

Avec le manque de vérification des données de l'internaute et la connexion au serveur avec des droits de super utilisateur, le pirate peut créer des utilisateurs, et créer un autre super utilisateur.

Exemple #1 Séparation des résultats en pages, et créer des administrateurs (PostgreSQL et MySQL)

<?php
$offset = $argv[0]; // Attention, aucune validation!
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
// avec PostgreSQL
$result = pg_query($conn, $query);
// avec MySQL
$result = mysql_query($query);
?>
Un utilisateur normal clique sur les boutons 'suivant' et 'précédent', qui sont alors placés dans la variable $offset, encodée dans l'URL. Le script s'attend à ce que la variable $offset soit alors un nombre décimal. Cependant, il est possible de modifier l'URL en ajoutant une nouvelle valeur, au format URL, comme ceci :

Exemple #2 Exemple d'injection SQL

<?php
// cas de PostgreSQL
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--

// cas de MySQL
0;
UPDATE user SET Password=PASSWORD('crack') WHERE user='root';
FLUSH PRIVILEGES;
?>
Si cela arrive, le script va créer un nouveau super utilisateur. Notez que la valeur 0; sert à terminer la requête originale et la terminer correctement.

Note: C'est une technique répandue que de forcer l'analyseur SQL à ignorer le reste de la requête, en utilisant les symboles -- pour mettre en commentaires.

Un moyen disponible pour accéder aux mots de passe est de contourner la recherche de page. Ce que le pirate doit faire, c'est simplement voir si une variable du formulaire est utilisée dans la requête, et si elle est mal gérée. Ces variables peuvent avoir été configurées dans une page précédente pour être utilisées dans les clauses WHERE, ORDER BY, LIMIT et OFFSET des requêtes SELECT. Si votre base de données supporte les commandes UNION, le pirate peut essayer d'ajouter une requête entière pour lister les mots de passe dans n'importe quelle table. Utiliser la technique des mots de passe chiffrés est fortement recommandé.

Exemple #3 Liste d'articles ... et ajout de mot de passe

<?php
$query  = "SELECT id, name, inserted, size FROM products
                  WHERE size = '$size'
                  ORDER BY $order LIMIT $limit, $offset;";
$result = odbc_exec($conn, $query);
?>
La partie statique de la requête, combinée avec une autre requête SELECT, va révéler les mots de passe :

Exemple #4 Révélation des mots de passe

<?php
'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--
?>
Si cette requête, exploitant les ' et -- est affectée à une variable utilisée dans $query, une injection SQL va se produire.

Les commandes UPDATE sont aussi sujettes à des attaques de votre base de données. Ces requêtes peuvent aussi introduire toute une nouvelle requête dans votre commande initiale. Mais en plus, le pirate peut jouer sur la commande SET. Dans ce cas, il doit connaître un peu votre base de données. Cela peut se deviner en examinant les noms de variables dans les formulaires, ou simplement, en testant les cas les plus classiques. Il n'y a pas beaucoup de conventions de noms pour stocker des noms d'utilisateurs et des mots de passe.

Exemple #5 Modifier un mot de passe ... et gain de droits!

<?php
$query= "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
Mais un internaute fourbe peut envoyer une valeur telle que ' or uid like '%admin%'; -- dans $uid pour modifier le mot de passe utilisateur, ou simplement, utiliser la variable $pwd avec la valeur "hehehe', admin='yes', trusted=100 " (avec l'espace final) pour obtenir des droits supplémentaires. La requête devient alors :

Exemple #6 Une requête et son injection

<?php
// $uid == ' or uid like'%admin%'; --
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --";

// $pwd == "hehehe', admin='yes', trusted=100 "
$query = "UPDATE usertable SET pwd='hehehe', admin='yes', trusted=100 WHERE ...;"
?>

C'est un exemple terrible d'acquisition de droits d'administrateur sur un serveur de base de données.

Exemple #7 Attaque d'un serveur de bases de données (MSSQL Server)

<?php
$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);
?>
Si le pirate injecte la valeur a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- dans la variable $prod, alors la requête $query devient :

Exemple #8 Attaque d'un serveur de base de données (MSSQL Server) - 2

<?php
$query  = "SELECT * FROM products
                    WHERE id LIKE '%a%'
                    exec master..xp_cmdshell 'net user test testpass /ADD'--";
$result = mssql_query($query);
?>
MSSQL Server exécute les requêtes SQL en lot, y compris la commande d'ajout d'un nouvel utilisateur à la base de données locale. Si cette application fonctionnait en tant que sa et que le service MSSQLSERVER disposait de niveau de droits suffisant, le pirate dispose désormais d'un compte avec accès au serveur.

Note: Certains des exemples ci-dessus sont spécifiques à certains serveurs de bases de données. Cela n'empêche pas des attaques similaires d'être possibles sur d'autres produits. Votre base de données sera alors vulnérable d'une autre manière.

Techniques de contournement

Vous pouvez prétendre que le pirate doit d'abord obtenir des informations sur le schéma de la base de données, dans la plupart des cas d'injections. C'est vrai, mais vous ne saurez jamais comment ni quand ces informations auront filtré, et si cela arrive, votre base de données sera en grand danger. Si vous utilisez une base de données Open Source, ou une base qui est du domaine public, ou encore un schéma qui appartient à un système de gestion de contenu ou d'un forum, le pirate peut facilement se procurer une copie du code que vous utilisez. Cela peut être un risque potentiel si la base a été mal conçue.

Ces attaques sont généralement basées sur l'exploitation de code qui n'est pas écrit de manière sécuritaire. N'ayez aucune confiance dans les données qui proviennent de l'utilisateur, même si cela provient d'un menu déroulant, d'un champ caché ou d'un cookie. Le premier exemple montre comment une requête peut causer un désastre.

  • Ne nous connectez jamais sur une base de données en tant que super utilisateur ou propriétaire de la base. Utilisez toujours un utilisateur adapté, avec des droits très limités.
  • Vérifiez que les données ont bien le type attendu. PHP dispose d'un éventail de fonction de validation large, depuis les plus simples, de la section Variables et la section Caractères (e.g. is_numeric(), ctype_digit() respectivement) aux fonctions avancées de Expression rationnelle Perl.

  • Si l'application attend une entrée numérique, vérifiez vos données avec la fonction is_numeric(), ou bien modifiez automatiquement le type avec la fonction settype(), ou encore avec sprintf().

    Exemple #9 Une navigation de fiches plus sécuritaire

    <?php
    settype    ($offset, 'integer');
    $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

    // notez que %d dans la chaîne de format : %s serait inutile
    $query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",
                         $offset);
    ?>

  • Mettez entre guillemets toutes les valeurs non numériques qui sont passées à la base de données avec la fonction spécifique à la base de données d'échappement de caractères (e.g. mysql_real_escape_string(), sqlite_escape_string(), etc.). Si un mécanisme d'échappement spécifique à une base de données n'existe pas, les fonctions addslashes() et str_replace() peuvent être très utiles (en fonction du type de la base de données). Lisez le premier exemple. Comme le montre l'exemple, ajouter des guillemets à la partie statique de la requête n'est pas suffisant, rendant cette requête facile à pirater.
  • N'affichez jamais d'informations spécifiques à la base, et notamment des informations concernant le schéma. Voyez aussi la section Rapport d'erreur et le chapitre Gestion des erreurs.
  • Vous pouvez avoir des procédures stockées et des curseurs prédéfinis qui font que les utilisateurs n'ont pas un accès direct aux tables ou vues, mais cette solution a d'autres impacts.

À côté de ces conseils, il est recommandé d'enregistrer vos requêtes, soit dans vos scripts, soit dans la base elle-même, si elle le supporte. Évidemment, cet enregistrement ne sera pas capable d'empêcher une attaque, mais vous permettra de retrouver la requête qui a fauté. L'historique n'est pas très utile par lui-même, mais au niveau des informations qu'il contient. Plus vous avez de détails, mieux c'est.

Modèle de stockage avec chiffrement
Rapport d'erreurs
Sécurité des bases de données


Rapport d'erreurs

En termes de sécurité, il y a deux conséquences au rapport d'erreur. D'un coté, cela améliore la sécurité, mais d'un autre, cela la réduit aussi.

Une tactique d'attaque standard consiste à faire faire des erreurs au système, et lire les variables d'environnement et de contexte qui sont retournées. Cela permet au pirate de lire de nombreuses informations sur le serveur, et de détecter des faiblesses du serveur. Par exemple, si un intrus a glané des informations sur votre page, avec une première utilisation de votre site, il peut essayer de remplacer les variables par ses propres valeurs :

Exemple #10 Attaque de site avec une page HTML personnalisée

<form method="post" action="http://www.site.cible.com/?username=badfoo&password=badfoo">
 <input type="hidden" name="username" value="badfoo">
 <input type="hidden" name="password" value="badfoo">
</form>

Les erreurs PHP qui sont normalement retournées peuvent être très pratiques pour un développeur qui essaie de déboguer un script, car elles donnent de précieux renseignements tels que quelle fonction a échoué, quel fichier n'a pas été trouvé, quel script PHP a un bug, et quelle ligne est en faute. Toutes ces informations sont exploitables. Il est commun aux développeurs PHP d'utiliser les fonctions show_source(), highlight_string(), ou highlight_file() comme outils de déboguage, mais sur un site en production, cela expose des variables cachées, des syntaxes non vérifiées ou d'autres informations critiques. Il est particulièrement dangereux d'exécuter du code de sources connues, avec les gestionnaires de débogage. Si l'intrus peut comprendre votre technique habituelle d'utilisation, il peut tenter une attaque frontale sur une page, en envoyant des chaînes de débogage :

Exemple #11 Exploiter des variables classiques de débogage

<form method="post" action="http://www.site.cible.com/?errors=Y&showerrors=1"&debug=1">
 <input type="hidden" name="errors" value="Y">
 <input type="hidden" name="showerrors" value="1">
 <input type="hidden" name="debug" value="1">
</form>

Indépendamment de la gestion des erreurs, la possibilité de tester la gestion des erreurs d'un système conduit à un trou de sécurité, et la diffusion de plus d'informations sur votre système.

Si un pirate affiche une page html, et essaye de la tester (pour rechercher des faiblesses du système), il peut déterminer sur quel système PHP a été compilé.

Une erreur de fonction indique si un système supporte une base de données spécifique, ou bien indique comment la page a été générée. Cela peut orienter l'intrus vers les ports de cette base de données ou bien vers une attaque liée à cette application. En envoyant des données erronées, par exemple, un pirate peut déterminer l'ordre d'identification dans un script, à partir des lignes d'erreurs, et essayer de les exploiter ailleurs, dans le script.

Une erreur de fichier, ou une erreur générale PHP peut indiquer quelles sont les permissions du serveur web, ainsi que la structure et l'organisation des fichiers. Les gestionnaires d'erreurs utilisateurs peuvent aussi aggraver ce problème, en permettant l'exploitation facile d'informations préalablement cachées.

Il y a trois solutions majeures à ces problèmes : la première est de scruter toutes les fonctions, et d'essayer de traiter toutes les erreurs. La deuxième est de désactiver le rapport d'erreur, dès que le script est en production. La troisième est d'utiliser les fonctions de gestion des erreurs. Suivant votre politique de sécurité, vous pouvez utiliser un panachage savant des trois méthodes.

Une méthode pour gagner du temps est d'utiliser la fonction error_reporting(), pour vous aider à sécuriser le code, et détecter les utilisations dangereuses de variables. Vous testez votre code en béta test avec la valeur E_ALL, et vous pouvez rapidement repérer les variables qui ne sont pas protégées. Une fois que le code est prêt à être déployé, vous devez soit désactiver complètement le rapport d'erreur en affectant 0 à la fonction error_reporting(), soit en désactivant l'affichage des erreurs en utilisant l'option de configuration display_errors du php.ini. Si vous choisissez la dernière solution, vous devez également définir le chemin de votre fichier de log en utilisant la directive de configuration error_log, et en activant la directive log_errors.

Exemple #12 Détecter des variables non protégées avec E_ALL

<?php
if ($username) {
  // Non initialisée, ou vérifée avant utilisation
  $good_login = 1;
}
if ($good_login == 1) {
  // Si le test ci-dessus échoue, les valeurs n'ont pas été testées
  fpassthru ("/données/très/très/sensibles/index.html");
}
?>

Injection SQL
Utilisation des variables super-globales
Sécurité


Utilisation des variables super-globales

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

L'une des évolutions les plus controversées de PHP a été le changement de valeur par défaut de la directive PHP register_globals, qui est passée de On à Off en PHP » 4.2.0. Beaucoup d'applications dépendaient de cette directive, et de nombreux programmeurs ne savaient même pas qu'elle existait, et supposait que c'était le fonctionnement normal de PHP. Cette page explique comment on peut écrire du code peu sécuritaire en utilisant cette directive. Gardez bien en tête que cette directive, par elle-même, n'est pas un trou de sécurité, mais qu'elle facilite leur création.

Lorsqu'elle est activée, register_globals va injecter vos scripts avec toutes sortes de variables, comme les variables issues des formulaires HTML. Ceci, couplé au fait que PHP ne requiert pas d'initialisation de variable signifie que la programmation de script peu sûr est possible. Ce fut une décision difficile de la communauté PHP, mais finalement, il a été décidé de désactiver par défaut cette variable. Lorsqu'elle est active, le programmeur ne sait pas exactement d'où provient le contenu de la variable, et ne peut que faire des suppositions. Les variables internes définies dans le script sont mélangées avec les données envoyées par les utilisateurs, et en désactivant register_globals, on empêche cela. Voyons avec un exemple le fonctionnement de register_globals :

Exemple #13 Exemple de mauvaise utilisation de register_globals

<?php
// $authorized = true uniquement si l'utilisateur est identifié
if (authenticated_user()) {
    $authorized = true;
}

// Comme nous n'avons pas initialisé $authorized avec false, cette dernière
// peut être définie via register_globals, comme avec l'URL GET auth.php?authorized=1
// Tout le monde peut facilement être reconnu comme identifié!
if ($authorized) {
    include "/donnees/critiques/data.php";
}
?>

Lorsque register_globals est activé, la logique ci-dessus peut être prise en défaut. Lorsque register_globals est désactivée $authorized ne peut plus être assignée via la requête, et le script est maintenant sûr, même s'il reste recommandé de toujours initialiser ses variables. Par exemple, dans notre programme ci-dessus, nous pourrions ajouter $authorized = false. En faisant cela, le script peut fonctionner avec register_globals on ou off, car les utilisateurs seront par défaut non-identifiés.

Un autre exemple implique les sessions. Lorsque register_globals est activé, on peut aussi utiliser $username dans notre exemple, mais, encore une fois, vous devez garder en tête que $username peut aussi provenir d'autres biais, tels que GET (via l'URL).

Exemple #14 Exemple d'abus de sessions avec register_globals on ou off

<?php
// Nous ne savons pas d'où provient $username mais nous savons que
// $_SESSION contient les données de session
if (isset($_SESSION['username'])) {

    echo "Bonjour <strong>{$_SESSION['username']}</strong>";

} else {

    echo "Bonjour <strong>visiteur</strong><br />";
    echo "Voulez-vous vous identifier?";

}
?>

Il est même possible de prendre des mesures préventives, pour être alerté lorsqu'une tentative d'usurpation est faite. Si vous savez à l'avance de quelle variable le nom d'utilisateur doit provenir, vous pouvez vérifier si les données que vous manipulez sont d'une origine contrôlée. Même si cela ne garantit pas que les données ne puissent être falsifiées, cela complique la tache du faussaire. Si vous ne vous préoccupez pas de l'origine des données, vous pouvez utiliser la variable $_REQUEST qui contient un mélange de données GET, POST et COOKIE. Voyez aussi la section du manuel concernant les variables de sources externes à PHP.

Exemple #15 Détection simple de fausses variables

<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {

    // MAGIC_COOKIE provient d'un cookie.
    // Assurez-vous de valider les données du cookie!

} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {

   mail("admin@example.com", "Tentative possible d'attaque", $_SERVER['REMOTE_ADDR']);
   echo "Alerte sécurité, l'admin a été prévenu.";
   exit;

} else {

   // MAGIC_COOKIE ne provient pas de REQUEST

}
?>

Bien sur, désactiver l'option register_globals ne signifie pas que votre code est sécuritaire. Pour chaque donnée reçu, vous devez appliquer un maximum de validations. Vérifiez toujours les données de votre visiteur, et initialisez vos variables! Pour vérifier les variables non-initialisées, voyez la fonction error_reporting(), qui peut afficher les erreurs de niveau E_NOTICE.

Pour des informations sur l'émulation de register_globals On ou Off, voyez la FAQ.

Note: Superglobales : disponibilité
Depuis PHP 4.1.0, les tableaux superglobaux tels que $_GET, $_POST et $_SERVER, etc. sont disponibles. Pour plus d'informations, lisez la section superglobals

Rapport d'erreurs
Données transmises par les internautes
Sécurité


Données transmises par les internautes

Les plus grandes faiblesses de nombreux programmes PHP ne viennent pas du langage lui-même, mais de son utilisation en omettant les caractéristiques de sécurité. Pour cette raison, vous devez toujours prendre le temps de prendre en compte les implications d'une fonction, et de cerner toutes les applications d'une utilisation exotiques des paramètres.

Exemple #16 Utilisation dangereuse de variables

<?php
// efface un fichier à la racine d'un utilisateur... ou peut être
// de quelqu'un d'autre?
unlink($evil_var);
// Note l'accès de ce fichier ... ou pas?
fputs($fp, $evil_var);
// Exécute une commande triviale... ou ajoute une entrée dans /etc/password ?
system($evil_var);
exec($evil_var);
?>

Il est vivement recommandé d'examiner minutieusement votre code pour vous assurer qu'il n'y a pas de variables envoyées par le client web, et qui ne sont pas suffisamment vérifiées avant utilisation.

  • Est-ce que ce script n'affectera que les fichiers prévus?
  • Est-il possible que des valeurs incohérentes soient exploitées ici?
  • Est-ce que ce script peut être utilisé dans un but différent?
  • Est-ce que ce script peut être utilisé malicieusement, en conjonction avec d'autres?
  • Est-ce que toutes les actions seront notées?

En répondant de manière adéquate à ces questions lors de l'écriture de vos scripts (plutôt qu'après), vous éviterez une réécriture inopportune pour raison de sécurité. En commençant vos projets avec ces recommandations en tête, vous ne garantirez pas la sécurité de votre système, mais vous contribuerez à l'améliorer.

Vous pouvez aussi envisager de supprimer l'acquisition automatique des variables d'environnement, les guillemets magiques (magic_quotes), ou encore toute option qui pourrait vous conduire à vous tromper sur la validité, la source ou la valeur d'une variable. En travaillant avec avec PHP en error_reporting(E_ALL), vous pouvez être averti que certaines variables sont utilisées avant d'être exploitées, ou vérifiées (et donc, vous pourrez traiter des valeurs exotiques à la source).

Utilisation des variables super-globales
Guillemets magiques
Sécurité


Guillemets magiques

Sommaire

  • Qu'est-ce que les guillemets magiques?
  • Pourquoi utiliser les guillemets magiques?
  • Pourquoi ne pas utiliser les guillemets magiques?
  • Désactiver les guillemets magiques
Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Les guillemets magiques (littéralement, les Magic Quotes) est un processus qui protège automagiquement les données introduites dans un script PHP. Il est recommandé de développer les applications sans l'aide des guillemets magiques, et de protéger manuellement les données.

Données transmises par les internautes
Qu'est-ce que les guillemets magiques?
Sécurité


Qu'est-ce que les guillemets magiques?

Lorsque cette directive est active, les guillemets simples ', les guillemets doubles ", les antislashs \ et les caractères nul NULL sont protégés automatiquement avec un antislash. C'est le même résultat que celui de la fonction addslashes().

Il y a trois directives de guillemets magiques différentes :

  • magic_quotes_gpc Affecte les données issues des requêtes HTTP (GET, POST, et COOKIE). Ne peut pas être configurée durant l'exécution, et vaut par défaut on en PHP. Voir aussi get_magic_quotes_gpc().
  • magic_quotes_runtime Si activée, la plupart des fonctions qui retournent des données externes, y compris issues d'une base de données ou d'un fichier texte, verront les données protégées par des antislashs. Cette directive peut être modifiée durant l'exécution, et vaut par défaut off en PHP. Voir aussi set_magic_quotes_runtime() et get_magic_quotes_runtime().
  • magic_quotes_sybase Si cette configuration est active, les guillemets simples sont protégés avec un autre guillemets simples, et non pas un antislash. Lorsqu'elle est active, cette directive remplace entièrement magic_quotes_gpc. Si vous activez ces deux directives, alors seuls les guillemets simples seront protégés, avec ''. Les guillemets doubles, les antislashs et les caractères nul seront laissés intacts. Voir aussi ini_get() pour lire la valeur de la directive.
Guillemets magiques
Pourquoi utiliser les guillemets magiques?
Guillemets magiques


Pourquoi utiliser les guillemets magiques?

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

  • Il n'y a aucune raison d'utiliser les guillemets magiques, car ils ne sont plus supportés en PHP. Cependant, ils ont existés, et ont aidé quelques débutants, en le permettant de produire, sans le savoir et involontairement, du code plus sécuritaire. Lorsque vous tombez sur des scripts qui s'appuient sur ce type de comportements, il est recommandé de modifier ce code et de désactiver les guillemets magiques. Pour quelles raisons cette fonctionnalité est apparue? Simplement pour se protéger des injections SQL. Aujourd'hui, les développeurs sont plus conscients des problèmes de sécurité, et adoptent les mécanismes de protections de leur base de données, ou les commandes préparées, au lieu de passer par les guillemets magiques.
Qu'est-ce que les guillemets magiques?
Pourquoi ne pas utiliser les guillemets magiques?
Guillemets magiques


Pourquoi ne pas utiliser les guillemets magiques?

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

  • Portabilité Cette directive peut être activée ou désactivée suivant les serveurs et cela affecte grandement la portabilité. Utilisez get_magic_quotes_gpc() pour vérifier s'ils sont actifs ou pas, et adaptez votre application.
  • Performances Comme ce n'est pas toutes les données qui sont finalement placées dans une base, il y a un coût en vitesse pour protéger toutes ces données. Le simple appel des fonctions de protections en fonction des besoins est plus efficace (addslashes()). Même si php.ini-development active ces options par défaut, php.ini-recommended les désactive. Cette recommandation est surtout faite pour des raisons de vitesse.
  • Peu pratique Comme toutes les données n'ont pas forcément besoin de protection, il est souvent désagréable de voir des données protégées là où ça ne sert à rien. Par exemple, lorsque vous envoyez par mail un formulaire, et que vous voyez des antislashs parsemer le message. Pour corriger cela, il faut faire un usage fréquent de stripslashes().
Pourquoi utiliser les guillemets magiques?
Désactiver les guillemets magiques
Guillemets magiques


Désactiver les guillemets magiques

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

La directive magic_quotes_gpc ne peut être désactivée qu'au niveau du système, et non pas à l'exécution. En d'autres termes, utiliser ini_set() n'est pas possible.

Exemple #1 Désactiver les guillemets magiques du coté du serveur

Voici un exemple qui donne la valeur de Off à ces directives dans le fichier php.ini. Pour plus de détails, voyez la section Comment changer la configuration.

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

Si vous n'avez pas accès au serveur, utilisez le fichier .htaccess. Par exemple :

php_flag magic_quotes_gpc Off

Afin d'écrire du code portable sur tous les environnement, et où vous ne pourrez pas forcément modifier la configuration du serveur, voici un exemple de désactivation de magic_quotes_gpc à l'exécution. Cette méthode est inefficace, et il est recommandé d'utiliser les autres solutions si possible.

Exemple #2 Désactivation des guillemets magiques à l'exécution

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

Pourquoi ne pas utiliser les guillemets magiques?
Masquer PHP
Guillemets magiques


Masquer PHP

En général, la sécurité par l'obscurité est une des formes de sécurité les plus faibles. Mais dans certains cas, chaque action, aussi faible soit elle, concernant la sécurité, est souhaitable.

Quelques astuces permettent de masquer PHP, et cela entrave les pirates qui recherchent des faiblesses dans votre système. En l'option expose_php à off dans votre fichier php.ini, vous pouvez réduire la quantité d'informations disponible.

Une autre astuce est de configurer le serveur web, comme Apache, pour qu'il utilise plusieurs types de fichiers différents avec PHP, soit localement avec le fichier .htaccess, soit dans le fichier de configuration lui-même. Vous pouvez utiliser des informations déroutantes comme ceci :

Exemple #3 Masquer PHP avec un autre langage

# Faire que le code PHP ressemble à un autre langage
AddType application/x-httpd-php .asp .py .pl
Ou masquez le complètement :

Exemple #4 Masquer PHP avec des types inconnus

# Faire que le code PHP ressemble à un autre langage qui n'existe pas
AddType application/x-httpd-php .bop .foo .133t
Ou encore, cachez-le sous forme de HTML. Cela a un léger impact négatif sur les performances générales, car tous les fichiers HTML seront aussi analysés et traités par le moteur PHP :

Exemple #5 Utiliser le type HTML pour les extensions PHP

# Faire que le code PHP ressemble à du html
AddType application/x-httpd-php .htm .html
Pour que cela fonctionne efficacement, pensez à renommer tous vos fichiers PHP avec les extensions ci-dessus. Même si c'est une forme de sécurité du non-dit, c'est une mesure de prévention mineure, avec peu d'inconvénients.

Désactiver les guillemets magiques
Être à jour
Sécurité


Être à jour

PHP, comme de nombreux systèmes de grande taille, est constamment testé et amélioré. Chaque nouvelle version rassemble des modifications majeures et mineures, aussi bien pour renforcer la sécurité, que pour réparer les problèmes de conceptions de configuration, et d'autres points qui peuvent affecter la sécurité globale et la stabilité de votre système.

Comme les autres langages de scripts systèmes, la meilleure approche est de mettre à jour souvent PHP, et de rester à l'écoute des dernières versions et des modifications qu'elles apportent.

Masquer PHP
Caractéristiques
Sécurité


Caractéristiques

  • Identification HTTP avec PHP
  • Cookies
  • Sessions
  • Utiliser les XForms
  • Gestion des chargements de fichiers
    • Chargements de fichiers par méthode POST
    • Explication sur les messages d'erreurs de chargement de fichiers
    • Erreurs classiques
    • Télécharger plusieurs fichiers simultanément
    • Chargement par méthode PUT
  • Utilisation des fichiers à distance
  • Gestion des connexions
  • Connexions persistantes aux bases de données
  • Safe mode
    • Sécurité et "Safe Mode"
    • Fonctions désactivées par le Safe Mode
  • Utilisation en ligne de commande — Utiliser PHP en ligne de commande
    • Introduction
    • Différence avec les autres SAPIs
    • Options — Options de ligne de commande
    • Utilisation — Exécution de fichiers PHP
    • Flux I/O — Flux d'entrée/sortie
    • Shell Interactif
  • Ramasse-miettes (Garbage Collection)
    • Bases sur le comptage des références
    • Cycles de nettoyage
    • Considerations sur les performances
Être à jour
Identification HTTP avec PHP
Manuel PHP


Identification HTTP avec PHP

Les fonctions d'identification HTTP de PHP ne sont disponibles que si PHP est exécuté comme module Apache, et non pas sous la forme d'un CGI. Sous cette forme, il est possible d'utiliser la fonction header() pour demander une identification ("Authentication Required") au client, générant ainsi l'apparition d'une fenêtre de demande d'utilisateur et de mot de passe. Une fois que les champs ont été remplis, l'URL sera de nouveau appelée, avec les variables prédéfinies PHP_AUTH_USER, PHP_AUTH_PW et AUTH_TYPE contenant respectivement le nom d'utilisateur, le mot de passe et le type d'identification. Ces variables prédéfinies sont trouvées dans les tableaux $_SERVER et $HTTP_SERVER_VARS. Les méthodes d'identification simple ("Basic") et de type "Digest" (depuis PHP 5.1.0) sont supportées. Reportez-vous à la fonction header() pour plus d'informations.

Note: Note sur les versions de PHP
Les superglobales, telles que $_SERVER, ont été ajoutées en PHP à partir de la version » 4.1.0.

Voici un exemple de script qui force l'identification du client pour accéder à une page :

Exemple #6 Exemple d'identification HTTP simple

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation';
    exit;
} else {
    echo "<p>Bonjour, {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>Votre mot de passe est {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>

Exemple #7 Exemple d'identification HTTP Digest

Cet exemple montre comment appliquer l'utilisation d'un script d'identification HTTP de type "Digest". Pour plus d'informations, lisez la documentation » RFC 2617.

<?php
$realm = 'Restricted area';

//utilisateur => mot de passe
$users = array('admin' => 'mypass', 'guest' => 'guest');

if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Digest realm="'.$realm.
           '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"');

    die('Texte utilisé si le visiteur utilise le bouton d\'annulation');
}

// analyse la variable PHP_AUTH_DIGEST
if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
    !isset($users[$data['username']]))
    die('Mauvaise Pièce d\'identité!');

// Génération de réponse valide
$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);

if ($data['response'] != $valid_response)
    die('Mauvaise Pièce d\'identitée!');

// ok, utilisateur & mot de passe valide
echo 'Vous êtes identifié en tant que : ' . $data['username'];

// fonction pour analyser l'en-tête http auth
function http_digest_parse($txt)
{
    // protection contre les données manquantes
    $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
    $data = array();
    $keys = implode('|', array_keys($needed_parts));

    preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);

    foreach ($matches as $m) {
        $data[$m[1]] = $m[3] ? $m[3] : $m[4];
        unset($needed_parts[$m[1]]);
    }

    return $needed_parts ? false : $data;
}
?>

Note: Note de compatibilité
Soyez bien prudent lorsque vous utilisez des en-têtes HTTP avec PHP. Afin de garantir un maximum de compatibilité entre les navigateurs, le mot clé "Basic" doit être écrit avec un B majuscule, et le texte de présentation doit être placé entre guillemets simples, et exactement un espace doit précéder le code 401 dans l'en-tête HTTP/1.0 401. Les paramètres d'authentification doivent être séparés par des virgules comme montré dans l'exemple ci-haut.

Au lieu d'afficher simplement les variables globales PHP_AUTH_USER et PHP_AUTH_PW, vous préférerez sûrement vérifier la validité du nom d'utilisateur et du mot de passe. Par exemple, en envoyant ces informations à une base de données, ou en recherchant dans un fichier dbm.

Méfiez-vous des navigateurs bogués, tels qu'Internet Explorer. Ils semblent très susceptibles en ce qui concerne l'ordre des en-têtes. Envoyer l'en-tête d'identification (WWW-Authenticate) avant le code de HTTP/1.0 401 semble lui convenir jusqu'à présent.

Pour éviter que quelqu'un écrive un script qui révèle les mots de passe d'une page, à laquelle on a accédé par une identification traditionnelle, les variables globales PHP_AUTH ne seront pas assignées si l'identification externe a été activée pour cette page et que le safe mode est activé. Dans ce cas, la variable REMOTE_USER peut être utilisée pour identifier l'utilisateur à l'extérieur. De même que $_SERVER['REMOTE_USER'].

Note: Note de configuration
PHP utilise la présence de la directive AuthType pour déterminer si une identification externe est activée. Évitez donc cette directive de contexte si vous voulez utiliser l'identification de PHP (sinon, les deux identifications se contrediront, et échoueront).

Notez cependant que les manipulations ci-dessus n'empêchent pas quiconque possède une page non identifiée de voler les mots de passe des pages protégées, sur le même serveur.

Netscape et Internet Explorer effaceront le cache d'identification client s'ils reçoivent une réponse 401. Cela permet de déconnecter un utilisateur, pour le forcer à saisir à nouveau son nom de compte et son mot de passe. Certains programmeurs l'utilisent pour donner un délai d'expiration ou, alors, fournissent un bouton de déconnexion.

Exemple #8 Identification HTTP avec nom d'utilisateur/mot de passe forcé

<?php
function authenticate() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "Vous devez entrer un identifiant et un mot de passe valides pour accéder
    à cette ressource.\n";
    exit;
}

if ( !isset($_SERVER['PHP_AUTH_USER']) ||
     ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
    authenticate();
} else {
    echo "<p>Bienvenue : " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
    echo "Ancien : " . htmlspecialchars($_REQUEST['OldAuth']);
    echo "<form action='' method='post'>\n";
    echo "<input type='hidden' name='SeenBefore' value='1' />\n";
    echo "<input type='hidden' name='OldAuth' value=\"" . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "\" />\n";
    echo "<input type='submit' value='Re Authenticate' />\n";
    echo "</form></p>\n";
}
?>

Ce comportement n'est pas nécessaire par le standard d'identification HTTP Basic. Les tests avec Lynx ont montré qu'il n'affectait pas les informations de session lors de la réception d'un message de type 401. Ce qui fait que presser la touche "retour" à un client Lynx précédemment identifié donnera l'accès direct à la ressource. Cependant, l'utilisateur peut utiliser la touche '_' pour détruire les anciennes identifications.

Notez également qu'avant PHP 4.3.3, l'identification HTTP ne fonctionne pas sous le serveur Microsoft IIS avec la version CGI de PHP à cause d'une limitation de IIS. Pour que cela fonctionne en PHP 4.3.3+, vous devez éditer votre configuration de IIS "Directory Security". Cliquez sur "Edit" et activez uniquement "Anonymous Access", tous les autres champs doivent être laissés non actifs.

Une autre limitation si vous utilisez le module IIS (ISAPI) et PHP 4, vous ne devez pas utiliser les variables PHP_AUTH_* mais à la place, la variable HTTP_AUTHORIZATION est disponible. Par exemple, utilisez le code suivant : list($user, $pw) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

Note: Note pour les utilisateurs de IIS :
Pour que l'identification HTTP fonctionne avec IIS, la directive PHP cgi.rfc2616_headers doit être définie à 0 (la valeur par défaut).

Note: Si le safe mode est activé, le uid de ce script est ajouté à la partie realm des en-têtes WWW-Authenticate.

Caractéristiques
Cookies
Caractéristiques


Cookies

PHP supporte les cookies HTTP de manière transparente. Les cookies sont un mécanisme d'enregistrement d'informations sur le client, et de lecture de ces informations. Ce système permet d'identifier et de suivre les visiteurs. Vous pouvez envoyer un cookie avec la fonction setcookie() ou setrawcookie(). Les cookies font partie des en-têtes HTTP, ce qui impose que setcookie() soit appelée avant tout affichage de texte. Ce sont les mêmes limitations que pour header(). Vous pouvez utiliser les fonctions de bufferisation de sortie pour retarder l'affichage de votre script tant que vous n'avez pas décidé d'envoyer un cookie ou des en-têtes.

Tous les cookies qui sont envoyés au client seront automatiquement inclus dans un tableau auto-global $_COOKIE si variables_order contient "C". Si vous souhaitez affecter plusieurs valeurs à un seul cookie, ajoutez [] au nom du cookie.

Selon la configuration de register_globals, des variables PHP peuvent être créées à partir des cookies. Cependant, il n'est pas recommandé de se fier à elles, puisque cette fonctionnalité est souvent désactivée pour des raisons de sécurité. $HTTP_COOKIE_VARS est aussi prédéfinie dans les versions de PHP plus anciennes, lorsque la directive track_vars est activée. (Cette option est activée par défaut depuis PHP 4.0.3.)

Pour plus de détails, y compris des notes sur les bogues des navigateurs, voir les fonctions setcookie() et setrawcookie().

Identification HTTP avec PHP
Sessions
Caractéristiques


Sessions

Le support des sessions de PHP est un mécanisme pour conserver des données entre différents accès. Cela vous permet de personnaliser les applications, et d'augmenter l'attrait de votre site. Toutes les informations sur les sessions sont disponibles dans la section sessions.

Cookies
Utiliser les XForms
Caractéristiques


Utiliser les XForms

» XForms est une variation des formulaires web traditionnels, qui permet leur utilisation sur diverses plates-formes et navigateurs, et même sur des médias moins traditionnels comme les documents PDF.

La première différence des XForms est leur présentation au client. » XForms for HTML Authors contient une description détaillée de la création des XForms, complémentaire de notre tutoriel : nous allons nous consacrer à un exemple simple.

Exemple #9 Un simple formulaire XForms de recherche

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

Le formulaire ci-dessus affiche une boîte de texte (appelée q), et un bouton de soumission. Lorsque ce bouton est utilisé, le formulaire est envoyé à la page d'action.

C'est là que la différence se fait sentir, du point de vue de l'application web. Dans un formulaire HTML, les données sont envoyées au format application/x-www-form-urlencoded. Pour un XForm, c'est en fait un format XML qui est utilisé.

Si vous avez décidé d'utiliser des XForms, vous attendez peut être des données au format XML, et dans ce cas, regardez dans la variable $HTTP_RAW_POST_DATA, où vous trouverez le document XML généré par le navigateur, que vous pourrez passer à votre moteur XSLT favori.

Si vous n'êtes pas intéressé par ce format, et que vous voulez simplement exploiter vos données avec la variable $_POST, vous pouvez demander au navigateur de les envoyer au format application/x-www-form-urlencoded, en modifiant l'attribut de méthode method et en lui donnant la valeur de urlencoded-post.

Exemple #10 Utiliser des XForms pour remplir $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

Note: Au moment de la rédaction de cet article, de nombreux navigateurs ne supportent pas les XForms. Vérifiez la version de votre navigateur si les exemples de ce tutoriel ne fonctionnent pas.

Sessions
Gestion des chargements de fichiers
Caractéristiques


Gestion des chargements de fichiers

Sommaire

  • Chargements de fichiers par méthode POST
  • Explication sur les messages d'erreurs de chargement de fichiers
  • Erreurs classiques
  • Télécharger plusieurs fichiers simultanément
  • Chargement par méthode PUT
Utiliser les XForms
Chargements de fichiers par méthode POST
Caractéristiques


Chargements de fichiers par méthode POST

Cette fonctionnalité permet aux personnes de télécharger à la fois du texte et des fichiers binaires. Avec les fonctions d'identification et de manipulation de fichiers de PHP, vous avez le contrôle total pour définir qui a le droit de télécharger mais aussi ce qui sera fait du fichier une fois qu'il sera téléchargé.

PHP est capable de recevoir des fichiers émis par un navigateur conforme à la norme RFC-1867.

Note: Notes de configuration
Voir aussi les directives file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size et max_input_time dans php.ini

PHP supporte aussi le chargement par la méthode PUT comme dans le navigateur Netscape Composer et Amaya du W3C. Reportez-vous au chapitre sur le support de la méthode PUT.

Exemple #1 Formulaire de chargement de fichier

Un formulaire de téléchargement de fichiers peut être construit en créant un formulaire spécifique comme ceci :

<!-- Le type d'encodage des données, enctype, DOIT être spécifié comme ce qui suit -->
<form enctype="multipart/form-data" action="_URL_" method="post">
  <!-- MAX_FILE_SIZE doit précéder le champs input de type file -->
  <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  <!-- Le nom de l'élément input détermine le nom dans le tableau $_FILES -->
  Envoyez ce fichier : <input name="userfile" type="file" />
  <input type="submit" value="Envoyer le fichier" />
</form>

_URL_ dans l'exemple précédent doit être remplacé et pointé vers un fichier PHP.

Le champ caché MAX_FILE_SIZE (mesuré en octets) doit précéder le champ input de type file et sa valeur représente la taille maximale acceptée du fichier par PHP. Cet élément de formulaire doit toujours être utilisé car il permet d'informer l'utilisateur que le transfert désiré est trop lourd avant d'atteindre la fin du téléchargement. Gardez à l'esprit que ce paramètre peut être "trompé" du côté du navigateur facilement, aussi ne faîtes pas confiance en ce dernier, ne s'agissant finalement que d'une fonctionnalité de convenance côté client. Le paramètre PHP (côté serveur) à propos de la taille maximale d'un fichier téléchargé, ne peut, lui, être trompé.

Note: Assurez-vous que votre formulaire de téléchargement de fichier contienne enctype="multipart/form-data", sinon, le fichier se sera pas téléchargé.

La variable globale $_FILES existe depuis PHP 4.1.0 (Utilisez $HTTP_POST_FILES si vous utilisez une version plus ancienne). Ce tableau devrait contenir toutes les informations du fichier téléchargé.

Le contenu du tableau $_FILES est détaillé dans notre exemple ci-dessous. Notez que l'on suppose que le nom de la variable du fichier téléchargé est userfile, tel que défini dans le formulaire ci-dessus, mais peut être n'importe quel nom.

$_FILES['userfile']['name']

Le nom original du fichier, tel que sur la machine du client web.

$_FILES['userfile']['type']

Le type MIME du fichier, si le navigateur a fourni cette information. Par exemple, cela pourra être "image/gif". Ce type mime n'est cependant pas vérifié du côté de PHP et, donc, ne prend pas sa valeur pour se synchroniser.

$_FILES['userfile']['size']

La taille, en octets, du fichier téléchargé.

$_FILES['userfile']['tmp_name']

Le nom temporaire du fichier qui sera chargé sur la machine serveur.

$_FILES['userfile']['error']

Le code d'erreur associé au téléchargement de fichier. Cet élément a été introduit en PHP 4.2.0.

Le fichier téléchargé sera stocké temporairement dans le dossier temporaire du système, à moins qu'un autre dossier soit fourni avec la directive upload_tmp_dir du php.ini. Le dossier par défaut du serveur peut être changé dans l'environnement via la variable TMPDIR. Modifier la valeur de cette variable avec la fonction putenv() dans un script PHP sera sans effet. Cette variable d'environnement peut aussi être utilisée pour s'assurer que d'autres opérations fonctionnent aussi sur les fichiers téléchargés.

Exemple #2 Validation de téléchargement de fichiers

Voyez aussi les fonctions is_uploaded_file() et move_uploaded_file() pour plus d'informations. L'exemple suivant va télécharger un fichier venant d'un formulaire.

<?php
// En PHP < 4.1.0, $HTTP_POST_FILES doit être utilisé
//    à la place de $_FILES.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Le fichier est valide, et a été téléchargé
           avec succès. Voici plus d'informations :\n";
} else {
    echo "Attaque potentielle par téléchargement de fichiers.
          Voici plus d'informations :\n";
}

echo 'Voici quelques informations de débogage :';
print_r($_FILES);

echo '</pre>';

?>

Le script PHP qui reçoit le fichier chargé doit pouvoir gérer le fichier de manière appropriée. Vous pouvez utiliser la variable $_FILES['userfile']['size'] pour recaler tous les fichiers qui sont trop gros ou trop petits. Vous pouvez utiliser la variable $_FILES['userfile']['type'] pour écarter les fichiers qui n'ont pas le bon type, mais l'utiliser uniquement pour une série de vérifications, car cette valeur est complètement sous le contrôle du client et n'est pas vérifiée du côté de PHP. Depuis PHP 4.2.0, vous pouvez utiliser l'information dans $_FILES['userfile']['error'] et adapter votre politique en fonction des codes d'erreur. Quelque soit votre politique, vous devriez soit effacer le fichier du dossier temporaire, soit le déplacer.

Si aucun fichier n'est sélectionné dans le formulaire, PHP retournera 0 dans $_FILES['userfile']['size'] et rien du tout dans $_FILES['userfile']['tmp_name'].

Le fichier sera automatiquement effacé du fichier temporaire à la fin du script, s'il n'a pas été déplacé ou renommé.

Exemple #3 Envoi d'un tableau de fichiers

PHP supporte les tableaux en HTML ainsi qu'avec les fichiers.

<form action="" method="post" enctype="multipart/form-data">
<p>Images:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" value="Send" />
</p>
</form>
<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

La barre de progression de téléchargement peut être implémentée par apc.rfc1867.

Gestion des chargements de fichiers
Explication sur les messages d'erreurs de chargement de fichiers
Gestion des chargements de fichiers


Explication sur les messages d'erreurs de chargement de fichiers

Depuis PHP 4.2.0, PHP retourne un code d'erreur approprié dans le tableau de fichiers. Ce code d'erreur est accessible à l'index ['error'] du tableau, qui est créé durant le téléchargement, par PHP. En d'autres termes, le message d'erreur est accessible dans la variable $_FILES['userfile']['error'].

UPLOAD_ERR_OK

Valeur : 0. Aucune erreur, le téléchargement est correct.

UPLOAD_ERR_INI_SIZE

Valeur : 1. Le fichier téléchargé excède la taille de upload_max_filesize, configurée dans le php.ini.

UPLOAD_ERR_FORM_SIZE

Valeur : 2. Le fichier téléchargé excède la taille de MAX_FILE_SIZE, qui a été spécifiée dans le formulaire HTML.

UPLOAD_ERR_PARTIAL

Valeur : 3. Le fichier n'a été que partiellement téléchargé.

UPLOAD_ERR_NO_FILE

Valeur : 4. Aucun fichier n'a été téléchargé.

UPLOAD_ERR_NO_TMP_DIR

Valeur : 6. Un dossier temporaire est manquant. Introduit en PHP 4.3.10 et PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

Valeur : 7. Échec de l'écriture du fichier sur le disque. Introduit en PHP 5.1.0.

UPLOAD_ERR_EXTENSION

Valeur : 8. Une extension PHP a arrété l'envoi de fichier. PHP ne propose aucun moyen de déterminer quelle extension est en cause. L'examen du phpinfo() peut aider. Introduit en PHP 5.2.0.

Note: Ces constantes sont apparues en PHP 4.3.0.

Chargements de fichiers par méthode POST
Erreurs classiques
Gestion des chargements de fichiers


Erreurs classiques

La variable MAX_FILE_SIZE ne peut pas spécifier une taille de fichier plus grande que la taille qui a été fixée par upload_max_filesize, dans le php.ini. La valeur par défaut est 2 megaoctets.

Si une limite de mémoire est activée, une plus grande valeur de memory_limit peut être nécessaire. Assurez-vous d'avoir défini une valeur pour memory_limit assez grande.

Si la valeur de max_execution_time est trop petite, le temps d'exécution du script peut excéder cette valeur. Assurez-vous d'avoir défini une valeur pour max_execution_time assez grande.

Note: max_execution_time affecte uniquement le temps d'exécution du script. Le temps passé sur l'activité qui apparaît en dehors de l'exécution du script comme les appels systèmes avec la fonction system(), la fonction sleep(), les requêtes sur les bases de données, le temps mis pour effectuer le téléchargement du fichier, etc. n'est pas inclus lors du calcul du temps maximal de l'exécution du script.

Avertissement

max_input_time définit le temps maximal, en secondes, au script pour recevoir les données ; cela inclut le téléchargement du fichier. Pour les fichiers multiples, ou les gros fichiers, ou encore pour les utilisateurs sur des connexions lentes, la valeur par défaut de 60 secondes peut être dépassée.

Si post_max_size est définit de façon trop faible, les gros fichiers ne pourront pas être téléchargés. Assurez-vous de définir post_max_size avec une taille suffisante.

Ne pas valider les fichiers que vous manipulez peut donner l'accès aux utilisateurs à des fichiers sensibles dans d'autres dossiers !

Attention : il semble que CERN httpd supprime tout ce qui est après le premier caractère dans l'entête MIME. Tant que c'est le cas, CERN httpd ne pourra pas effectuer de chargements de fichiers.

Du fait de la grande diversité des systèmes, nous ne pouvons garantir que les fichiers avec des noms exotiques (par exemple, ceux contenant des espaces) seront traités correctement.

Le développeur ne doit pas mixer les champs input normaux et les champs de téléchargement dans une même variable (en utilisant un nom d'input comme foo[]).

Explication sur les messages d'erreurs de chargement de fichiers
Télécharger plusieurs fichiers simultanément
Gestion des chargements de fichiers


Télécharger plusieurs fichiers simultanément

Le téléchargement de plusieurs fichiers est possible en utilisant des noms différents dans l'attribut name de la balise input.

Il est aussi possible de télécharger plusieurs fichiers simultanément et d'obtenir les informations sous forme de tableau. Pour cela, vous devez utiliser la syntaxe de tableau dans les noms de balises HTML, comme vous l'avez fait avec les sélections multiples et les boîtes à cocher.

Exemple #1 Télécharger plusieurs fichiers simultanément

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Envoyez plusieurs fichiers : <br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Envoyer les fichiers" />
</form>

Lorsque le formulaire ci-dessus a été envoyé, les tableaux $_FILES['userfile'], $_FILES['userfile']['name'], et $_FILES['userfile']['size'] seront initialisés (tout comme $HTTP_POST_FILES pour les versions de PHP antérieures à la 4.1.0). Lorsque register_globals est activé, les variables globales concernant les fichiers téléchargés sont aussi initialisées. Chacune d'entre elles contiendra un tableau numériquement indexé, avec les valeurs décrivant les fichiers téléchargés.

Par exemple, supposons que les fichiers /home/test/review.html et /home/test/xwp.out ont été téléchargés. Dans ce cas, $_FILES['userfile']['name'][0] contient review.html et $_FILES['userfile']['name'][1] contient xwp.out. Similairement, $_FILES['userfile']['size'][0] va contenir la taille du fichier review.html, etc.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0] et $_FILES['userfile']['type'][0] sont aussi créées.

Erreurs classiques
Chargement par méthode PUT
Gestion des chargements de fichiers


Chargement par méthode PUT

PHP supporte la méthode HTTP PUT utilisée par les navigateurs pour y stocker des fichiers sur un serveur. Les requêtes de type PUT sont beaucoup plus simples que les chargements de fichiers en utilisant le type POST, et elles ressemblent à :

Exemple #1 Méthode PUT pour les chargements de fichiers

PUT /path/filename.html HTTP/1.1

Normalement, cela signifie que le client distant va sauver les données qui suivent dans le fichier : /path/filename.html de votre disque. Ce n'est évidemment pas très sécurisé de laisser Apache ou PHP écraser n'importe quel fichier de l'arborescence. Pour éviter ceci, il faut d'abord dire au serveur que vous voulez qu'un script PHP donné gère la requête. Avec Apache, il y a une directive pour cela : Script. Elle peut être placée n'importe où dans le fichier de configuration d'Apache. En général, les webmestres la placent dans le bloc <Directory>, ou peut-être dans le bloc <VirtualHost>. La ligne suivante fera très bien l'affaire :

Exemple #2 Directive Apache pour le chargement par méthode PUT

Script PUT /put.php

Elle indique à Apache qu'il doit envoyer les requêtes de chargement par méthode PUT au script put.php. Bien entendu, cela présuppose que vous avez activé PHP pour qu'il prenne en charge les fichiers de type .php, et que PHP est actif. La ressource de destination pour toutes les requêtes PUT de ce script doit être le script lui-même, et non le nom du fichier que le fichier téléchargé doit avoir.

Avec PHP, vous voudriez faire quelque chose comme ce qui suit dans votre put.php. Ceci va copier le contenu du fichier téléchargé dans le fichier myputfile.ext sur le serveur. Vous devez probablement vouloir effectuer quelques vérifications et/ou identifier l'utilisateur avant d'effectuer cette copie de fichier.

Exemple #3 Sauvegarde de fichiers HTTP PUT

<?php
/* Les données PUT arrivent du flux */
$putdata = fopen("php://input", "r");

/* Ouvre un fichier pour écriture */
$fp = fopen("myputfile.ext", "w");

/* Lecture des données, 1 Ko à la fois
and write to the file */
while ($data = fread($putdata, 1024))
fwrite($fp, $data);

/* Fermeture du flux */
fclose($fp);
fclose($putdata);
?>

Télécharger plusieurs fichiers simultanément
Utilisation des fichiers à distance
Gestion des chargements de fichiers


Utilisation des fichiers à distance

Aussi longtemps que le support des gestionnaires d'URL ("URL fopen wrapper") est activé dans le php.ini, avec l'option allow_url_fopen, vous pouvez utiliser des URL (HTTP et FTP) avec la majorité des fonctions qui utilisent un nom de fichier comme paramètre. Cela inclut notamment include(), include_once(), require() et require_once() (depuis PHP 5.2.0,allow_url_include doit être actif pour les utiliser). Reportez-vous à Liste des protocoles supportés pour plus d'informations sur les protocoles supportés par PHP.

Note: En PHP 4.0.3 et plus récent, pour pouvoir utiliser les gestionnaires d'URL, vous devez configurer PHP avec l'option --enable-url-fopen-wrapper.

Note: Les versions de PHP pour Windows plus anciennes que 4.3 de supportaient pas les gestionnaires d'URL avec les fonctions suivantes : include(), include_once(), require(), require_once(), et les fonctions de création d'images de l'extension Fonctions GD et images.

Par exemple, vous pouvez suivre l'exemple suivant pour ouvrir un fichier sur un serveur web distant, analyser les résultats pour extraire les informations dont vous avez besoin, et ensuite l'utiliser dans une requête de base de données, ou simplement éditer les informations dans le style de votre site.

Exemple #4 Connaître le titre d'une page distante

<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
  echo "<p>Impossible de lire la page.\n";
  exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* Cela ne fonctionne que si les balises Title sont correctement utilisées */
    if (preg_match ("@\<title\>(.*)\</title\>@i", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

Vous pouvez aussi écrire des fichiers sur un serveur FTP aussi longtemps que vous êtes connecté avec un utilisateur ayant les bons droits d'accès, alors que le fichier n'existait pas encore.

Pour vous connecter avec un utilisateur autre qu'anonyme, vous devez spécifier un nom d'utilisateur (et certainement le mot de passe) dans l'URL, comme ftp://user:password@ftp.example.com/path/to/file. (Vous pouvez utiliser le même type de syntaxe pour accéder aux fichiers via HTTP lorsqu'ils nécessitent une identification simple).

Exemple #5 Stocker des données sur un serveur distant

<?php
$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w");
if (!$file) {
  echo "<p>Impossible d'ouvrir le fichier distant pour écriture.\n";
  exit;
}
/* Ecriture des données. */
fputs ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Note: Remarque : vous pouvez avoir l'idée, à partir de l'exemple ci-dessus, d'utiliser la même technique pour écrire sur un log distant, mais comme mentionné ci-dessus vous ne pouvez qu'écrire sur un nouveau fichier en utilisant les fonctions fopen() avec une URL. Pour faire des log distribués, nous vous conseillons de regarder la partie syslog().

Chargement par méthode PUT
Gestion des connexions
Caractéristiques


Gestion des connexions

Le statut des connexions est conservé en interne par PHP. Il y a trois états possibles :

  • 0 - NORMAL (normal)
  • 1 - ABORTED (annulé)
  • 2 - TIMEOUT (périmé)

Lorsqu'un script PHP est en cours d'exécution, son état est NORMAL. Si le client distant se déconnecte, le statut devient ABORTED. En général, une telle déconnexion provient d'un arrêt temporaire. Si la durée maximale d'exécution de PHP est dépassée, (voir set_time_limit()), le script prend le statut TIMEOUT.

Vous pouvez en outre décider si vous voulez que la déconnexion d'un client provoque l'arrêt de votre script. Il est parfois pratique que vos scripts continuent à s'exécuter jusqu'à la fin, même si le client n'est plus là pour recevoir les informations. Cependant, par défaut, le script s'arrêtera dès que le client se déconnecte. Ce comportement peut être modifié avec la directive ignore_user_abort dans le fichier php.ini ou bien avec la directive Apache php_value ignore_user_abort du fichier Apache httpd.conf ou avec la fonction ignore_user_abort(). Si vous ne demandez pas à PHP d'ignorer la déconnexion, et que l'utilisateur se déconnecte, le script sera terminé. La seule exception est si vous avez enregistré une fonction de fermeture, avec register_shutdown_function(). Avec une telle fonction, lorsque l'utilisateur interrompt sa requête, à la prochaine exécution du script, PHP va s'apercevoir que le dernier script n'a pas été terminé, et il va déclencher la fonction de fermeture. Cette fonction sera aussi appelée à la fin du script, si celui-ci se termine normalement. Pour pouvoir avoir un comportement différent suivant l'état du script lors de sa finalisation, vous pouvez exécutez des commandes spécifiques à la déconnexion grâce à la commande connection_aborted(). Cette fonction retournera TRUE si la connexion a été annulée.

Votre script peut aussi être automatiquement interrompu après une certaine durée. Par défaut, le délai est de 30 secondes. Cette valeur peut être changée en utilisant la directive PHP max_execution_time dans le fichier php.ini ou avec la directive php_value max_execution_time, dans le fichier Apache httpd.conf ou encore avec la fonction set_time_limit(). Lorsque le délai expire, le script est terminé, et comme pour la déconnexion du client, une fonction de terminaison sera appelée. Dans cette fonction, vous pouvez savoir si c'est le délai d'expiration qui a causé la fin du script, en appelant la fonction connection_status(). Cette fonction retournera 2 si le délai d'expiration a été dépassé.

Une chose à noter est que les deux cas ABORTED et TIMEOUT peuvent être appelés en même temps. Ceci est possible si vous demandez à PHP d'ignorer les déconnexions des utilisateurs. PHP va quand même noter le fait que l'utilisateur s'est déconnecté, mais le script va continuer. Puis, lorsqu'il atteint la limite de temps, le script va expirer. À ce moment-là, la fonction connection_status() retournera 3.

Utilisation des fichiers à distance
Connexions persistantes aux bases de données
Caractéristiques


Connexions persistantes aux bases de données

Les connexions persistantes aux bases de données SQL sont des connexions qui ne se referment pas à la fin du script. Lorsqu'une connexion persistante est demandée, PHP s'assure qu'il n'y a pas une autre connexion identique (qui serait ouverte précédemment, avec le même nom d'hôte, d'utilisateur et le même mot de passe), et si une telle connexion existe, elle est utilisée ; sinon, elle est créée. Une connexion identique est une connexion qui a ouvert le même hôte, avec le même nom et le même mot de passe (s'ils sont nécessaires).

Ceux qui ne sont pas rompus aux techniques des serveurs web et leur distribution de la charge de travail se font parfois une fausse idée de ces connexions persistantes. En particulier, les connexions persistantes ne permettent pas l'ouverture de plusieurs sessions avec le même lien ; elles ne permettent pas la réalisation de transactions efficaces et ne font pas le café. En fait, pour être extrêmement clair sur le sujet, les connexions persistantes ne vous donnent aucune fonctionnalité de plus que les connexions non persistantes.

Alors pourquoi les connexions persistantes ?

Cela s'explique par la manière avec laquelle les serveurs web fonctionnent. Il y a trois manières d'utiliser PHP pour générer des pages.

La première est d'utiliser PHP comme un CGI (Common Interface Gateway). Lorsque PHP fonctionne de cette manière, une instance de l'interpréteur PHP est créée puis détruite pour chaque page demandée. Étant donné que cet interpréteur est détruit après chaque requête, toutes les ressources acquises (comme une connexion à une base SQL), sont purement et simplement détruites.

La deuxième méthode, de loin la plus prisée, est d'exécuter PHP sous la forme d'un module sur un serveur multi-processus, ce qui revient à dire : Apache. Un tel serveur a typiquement un processus parent qui coordonne un ensemble de processus fils, qui servent les fichiers. Lorsque les requêtes parviennent depuis un client, elles sont transmises à un fils disponible. Cela signifie que si un client fait une deuxième requête, il peut être servi par un processus client différent du premier. Les connexions persistantes vous permettent alors de ne vous connecter à une base SQL que la première fois. Lors des connexions ultérieures, les processus fils pourront réutiliser la connexion ouverte précédemment.

La dernière méthode est d'utiliser PHP sous la forme d'un module de serveur multithread. Actuellement, PHP 4 supporte ISAPI, WSAPI, et NSAPI (sous Windows), qui permettent tous d'utiliser PHP comme un module sur un serveur multithread tel que Netscape FastTrack (iPlanet), Microsoft Internet Information Server (IIS), et O'Reilly's WebSite Pro. Le comportement est essentiellement le même que pour les serveurs multi-processus décrits précédemment.

Si les connexions persistantes n'ont aucune fonctionnalité de plus, à quoi servent-elles ?

La réponse est extrêmement simple : efficacité. Les connexions persistantes sont un bon moyen d'accélérer les accès à une base SQL si le traitement de connexion à la base est long. Ce temps dépend de nombreux facteurs : le type de base de données, cette base est-elle sur le même serveur ou pas, quelle est la charge du serveur de base de données, etc. Si le temps de connexion est long, les connexions persistantes seront bien utiles, car une fois ouverte par un processus fils, la connexion est réutilisable sans avoir à se reconnecter. Si vous avez 20 processus fils, il suffit d'avoir 20 connexions persistantes ouvertes, une par fils.

Notez que les connexions persistantes ont quelques inconvénients si vous hébergez une base de données dont le nombre maximal de connexion risque d'être atteint par les connexions persistantes. Si votre base de données accepte jusqu'à 16 connexions simultanées et que 17 processus essaient de se connecter, le dernier restera sur la touche. S'il y a des erreurs dans les scripts qui ne permettent pas de fermer la connexion (par exemple, une boucle infinie), votre serveur sera rapidement engorgé. Vérifiez la documentation de votre base de données pour savoir comment elle traite les connexions inactives ou abandonnées.

Avertissement

Il y a quelques autres limitations à bien garder en tête lorsque vous utilisez les connexions persistantes. L'une est que lorsque vous posez un verrou avec une connexion persistante, si le script ne peut libérer le verrou pour une raison quelconque, alors les autres scripts qui réutiliseront la connexion seront bloqués indéfiniment, et vous imposeront le redémarrage du serveur ou de la base de données. Une autre limitation est, lors de l'utilisation des transactions, un bloc de transaction non fermé sera prolongé au script suivant, s'il n'est pas fermé par le script initiateur. Dans les deux cas, vous pouvez utiliser la fonction register_shutdown_function() pour enregistrer une fonction simple de nettoyage, pour déverrouiller les tables, et annuler les transactions en cours. Mieux encore, évitez le problème entièrement en n'utilisant pas les connexions persistantes dans les scripts qui ont besoin de verrous ou de transactions. Vous pourrez toujours les utiliser ailleurs.

Résumons-nous : les connexions persistantes ont été définies pour avoir les mêmes fonctionnalités que les connexions non persistantes. Les deux types de connexions sont parfaitement interchangeables, et n'affecteront pas le comportement de votre script : uniquement son efficacité.

Voir aussi
fbsql_pconnect(),
ibase_pconnect(),
ifx_pconnect(),
ingres_pconnect(),
msql_pconnect(),
mssql_pconnect(),
mysql_pconnect(),
ociplogon(),
odbc_pconnect(),
oci_pconnect(),
pfsockopen(),
pg_pconnect() et
sybase_pconnect().

Gestion des connexions
Safe mode
Caractéristiques


Safe mode

Sommaire

  • Sécurité et "Safe Mode"
  • Fonctions désactivées par le Safe Mode

Le "Safe Mode" est le mode de sécurité de PHP : une solution au problème de partage de PHP sur un serveur. Ce système pêche au niveau de l'architecture car il n'est pas correct de tenter de résoudre ce problème au niveau de PHP, mais les solutions alternatives basées sur le serveur web et l'OS ne sont pas réalistes. De nombreux intervenants, notamment les fournisseurs d'hébergement, utilisent le "Safe Mode".

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Connexions persistantes aux bases de données
Sécurité et "Safe Mode"
Caractéristiques


Sécurité et "Safe Mode"

Options de configuration
Nom | Par défaut | Modifiable | Historique
safe_mode | "0" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.1.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 4.1.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

safe_mode booléen

Active ou non le mode de sécurité de PHP. Si PHP est compilé avec --enable-safe-mode, la valeur par défaut sera On, sinon Off.

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

safe_mode_gid booléen

Par défaut, le safe mode fait une comparaison des propriétaires, avant d'ouvrir un fichier. Si vous voulez alléger un peu ce niveau de sécurité, vous pouvez réaliser une comparaison de groupe, et activer cette directive. Si cette directive vaut FALSE (sa valeur par défaut), c'est une comparaison sur les UID, et, si elle vaut TRUE c'est une comparaison sur les GID.

safe_mode_include_dir chaîne de caractères

Les vérifications basées sur le UID ou GID sont ignorées lorsque les fichiers inclus sont placés dans le dossier indiqué par cette directive, ainsi que ses sous-dossiers. Les dossiers peuvent être aussi dans l'include_path ou bien il faut inclure le chemin complet.

Depuis PHP 4.2.0, cette directive utilise le point virgule de la même façon que le fait include_path, pour permettre de configurer plusieurs dossiers. La restriction spécifiée est en fait un préfixe, plus qu'un nom de dossier. Cela signifie que "safe_mode_include_dir = /dir/incl" autorise aussi bien "/dir/include" que "/dir/incls", s'ils existent. Lorsque vous souhaitez restreindre l'accès à un dossier spécifique, il faut terminer cette directive avec un slash. Par exemple "safe_mode_include_dir = /dir/incl/". Si la valeur de cette directive est vide, aucun fichier avec le UID/GID différent ne peut être inclus dans PHP 4.2.3 et dans les versions PHP 4.3.3 et plus récentes. Dans les versions antérieures, tous les fichiers pouvaient être inclus.
safe_mode_exec_dir chaîne de caractères

Si PHP est utilisé en safe mode, les fonctions comme system() et toutes celles qui permettent l'exécution en ligne de commande refuseront d'exécuter des programmes qui ne sont pas dans ce dossier. Vous devez utiliser / en tant que séparateur de dossier sous tous les environnements, y compris Windows.

safe_mode_allowed_env_vars chaîne de caractères

Modifier certaines variables d'environnement est un trou de sécurité potentiel. Cette directive contient une liste de noms de variables d'environnement séparées par des virgules, ou de préfixes. En Safe mode, l'utilisateur ne pourra modifier que les variables d'environnement dont le nom commence par l'un des préfixes fourni ici. Par défaut, les utilisateurs ne peuvent modifier que les variables d'environnement qui commencent par PHP_ (e.g. PHP_FOO=BAR).

Note: Si cette directive est vide, PHP autorisera la modification de TOUTES les variables d'environnement.

safe_mode_protected_env_vars chaîne de caractères

Cette directive contient une liste de variables d'environnement que le programmeur ne pourra pas modifier en utilisant la fonction putenv(). Ces variables seront protégées, même si la directive safe_mode_allowed_env_vars autorise leur modification.

Voir aussi open_basedir, disable_functions, disable_classes, register_globals, display_errors, et log_errors.

Lorsque Safe Mode est actif, PHP vérifie que le propriétaire du script courant est le même que le propriétaire des fichiers ou dossiers qui seront manipulés par ce script. Par exemple, dans la situation suivante :

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
exécuter le script script.php :
<?php
 readfile('/etc/passwd');
?>
générera cette erreur, si le Safe Mode est activé :
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

Cependant, il arrive que la vérification faite avec le nom du propriétaire (UID) du fichier soit trop restrictive, et qu'une vérification sur le nom du groupe (GID) soit suffisante. C'est une autre fonctionnalité supportée par la directive safe_mode_gid. En lui donnant la valeur de On, les vérifications seront faites sur le GID, alors qu'en lui laissant sa valeur par défaut de Off, les vérifications seront faites sur le UID.

Si au lieu d'utiliser le Safe Mode, vous utilisez la directive open_basedir, alors les manipulations seront limitées aux fichiers situés dans les dossiers spécifiés. Par exemple (Apache httpd.conf) :

<Directory /docroot>
  php_admin_value open_basedir /docroot
</Directory>
Si vous exécutez le script script.php ci-dessus avec la configuration d'open_basedir, le résultat sera l'affichage suivant :
Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2

Vous pouvez également désactiver les fonctions particulières. Notez que la directive disable_functions ne peut être utilisée en dehors du fichier php.ini, ce qui signifie que vous ne pouvez pas désactiver des fonctions par virtualhost ou par dossiers, dans votre fichier httpd.conf. Si nous ajoutons ceci à notre fichier php.ini :

disable_functions = readfile,system
toute utilisation des fonctions readfile() et system() générera l'affichage suivant :
Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2

Avertissement

Ces restrictions de PHP sont bien sûr invalides en exécution binaire.

Safe mode
Fonctions désactivées par le Safe Mode
Safe mode


Fonctions désactivées par le Safe Mode

Voici une liste non-exhaustive des fonctions désactivées par le Safe Mode.

Fonctions désactivées par le Safe Mode
Fonction | Limitations
dbmopen() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
dbase_open() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
filepro() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
filepro_rowcount() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
filepro_retrieve() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
Fonctions ifx_* | restrictions sql_safe_mode, (!= Safe Mode)
Fonctions ingres_* | restrictions sql_safe_mode, (!= Safe Mode)
Fonctions mysql_* | restrictions sql_safe_mode, (!= Safe Mode)
pg_lo_import() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
posix_mkfifo() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
putenv() | Obéit aux directives safe_mode_protected_env_vars et safe_mode_allowed_env_vars. Voir aussi la documentation de putenv()
move_uploaded_file() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
chdir() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
dl() | Cette fonction est désactivée par le safe-mode
opérateur guillemets obliques | Cette fonction est désactivée par le safe-mode
shell_exec() (équivalent fonctionnel des guillemets obliques) | Cette fonction est désactivée par le safe-mode
exec() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction.
system() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction.
passthru() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction.
popen() | Vous ne pouvez exécuter que les programmes qui sont dans le dossier safe_mode_exec_dir. Pour des raisons pratiques, il n'est pas possible d'utiliser des jokers comme .. dans le chemin de ce dossier. escapeshellcmd() est exécuté sur les arguments de cette fonction.
fopen() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
mkdir() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
rmdir() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
rename() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
unlink() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
copy() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (sur source et target)
chgrp() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
chown() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
chmod() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. De plus, vous ne pouvez pas modifier les SUID, SGID et le bit sticky
touch() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
symlink() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (note : seule l'hôte cible est vérifié)
link() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (note : seul le fichier de destination est vérifié.)
apache_request_headers() | En Safe Mode, les en-têtes commençant par authorization (sensible à la casse) ne seront pas retournés.
header() | Avec le safe mode, le uid du script est ajouté à la partie realm de l'en-tête WWW-Authenticate si vous utilisez cet en-tête pour l'identification.
variables PHP_AUTH | Avec le safe mode, les variables PHP_AUTH_USER, PHP_AUTH_PW et PHP_AUTH_TYPE ne sont pas disponibles dans la variable $_SERVER. Indépendamment, vous pouvez utiliser la variable REMOTE_USER pour connaître l'utilisateur. (note : affectée uniquement depuis PHP 4.3.0)
highlight_file(), show_source() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (note : affectée uniquement depuis PHP 4.2.1)
parse_ini_file() | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (note : affectée uniquement depuis PHP 4.2.1)
set_time_limit() | N'a aucun effet lorsque PHP fonctionne avec le safe mode.
max_execution_time | N'a aucun effet lorsque PHP fonctionne avec le safe mode.
mail() | Si le Safe Mode est actif, le 5ème paramètre est désactivé (note : uniquement affecté depuis PHP 4.2.3)
session_start() | Le propriétaire d'un script doit être le même que celui que celui du répertoire session.save_path si le répertoire par défaut session.save_handler est utilisé.
Toutes les fonctions sur les flux et sur le système de fichiers. | Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté. (Voir l'option safe_mode_include_dir du php.ini.

Sécurité et "Safe Mode"
Utilisation en ligne de commande
Safe mode


Utiliser PHP en ligne de commande

Sommaire

  • Introduction
  • Différence avec les autres SAPIs
  • Options
  • Utilisation
  • Flux I/O
  • Shell Interactif
Fonctions désactivées par le Safe Mode
Introduction
Caractéristiques


Introduction

PHP supporte le CLI SAPI depuis PHP 4.3.0. Le but premier de ce SAPI est le développement d'applications shell avec PHP. Les différences entre le CLI SAPI et les autres SAPI sont expliqués dans ce chapitre. Il est important de mentionner que CLI et CGI sont des SAPI différents malgré le fait qu'ils puissent partager la majeure partie de leurs comportements.

Le CLI SAPI est activée par défaut en utilisant l'option --enable-cli, mais vous pouvez le désactiver en utilisant l'option --disable-cli lors de l'exécution de la commande ./configure.

Le nom, l'emplacement et l'existence des binaires CLI/CGI vont dépendre de la façon dont PHP est installé sur votre système. Par défaut, en exécutant make, les deux binaires CGI et CLI sont compilés et nommés respectivement sapi/cgi/php et sapi/cli/php dans votre répertoire source PHP. Vous remarquerez que les deux se nomment php. Ce qui se passe ensuite pendant le make install dépend de votre ligne de configuration. Si un module SAPI, apxs par exemple, a été choisi pendant la configuration, ou que l'option --disable-cgi a été activée, le CLI est copié dans {PREFIX}/bin/php pendant le make install sinon, le CGI sera placé ici. Si, par exemple, --with--apxs figure dans votre ligne de configuration, le CLI est copié dans {PREFIX}/bin/php pendant le make install. Si vous voulez forcer l'installation du binaire CGI, lancez make install-cli après le make install. Sinon, vous pouvez aussi spécifier --disable-cgi dans votre ligne de configuration.

Note: Du fait que les deux options --enable-cli et --enable-cgi sont activées par défaut, avoir simplement --enable-cli dans votre ligne de configuration n'implique pas nécessairement que le CLI soit renommé en {PREFIX}/bin/php pendant le make install.

Depuis PHP 5, le binaire CLI est distribué dans le dossier principal sous le nom de php.exe sous Windows. La version CGI est distribué sous le nom de php-cgi.exe. De plus, un fichier php-win.exe est distribué si PHP est configuré en utilisant l'option de configuration --enable-cli-win32. Ce fichier fait la même chose que la version CLI, sauf qu'il n'affiche rien et qu'il ne fournit pas de console.

Note: Quel SAPI est installé ?
À partir d'un terminal, lancer php -v vous dira si php est en version CGI ou CLI. Vous pouvez aussi consulter la fonction php_sapi_name() et la constante PHP_SAPI.

Note: Une page man de manuel Unix est disponible en tapant man php dans votre interpréteur de commande.

Utilisation en ligne de commande
Différence avec les autres SAPIs
Utilisation en ligne de commande


Différence avec les autres SAPIs

Les différences les plus notables entre le CLI SAPI et les SAPI sont :

  • Contrairement au CGI SAPI, aucun en-tête HTTP n'est écrit dans le résultat.

    Bien que le CGI SAPI fournisse un moyen de supprimer les en-têtes HTTP, il n'y a pas moyen d'activer les en-têtes HTTP dans le CLI SAPI.

    CLI est lancé en mode silencieux par défaut, bien que les options -q et --no-header soient gardées pour rester compatible avec les anciennes versions CGI.

    Il ne change pas le répertoire courant en celui du script. (les options -C et --no-chdir sont gardées par souci de compatibilité)

    Messages d'erreurs en texte brut (pas de formatage HTML).

  • Il y a plusieurs directives du php.ini qui sont ignorées par le CLI SAPI, car elles n'ont pas de sens en environnement shell :

    Directives php.ini ignorées
    Directive | Valeur par défaut pour CLI SAPI | Commentaire
    html_errors | FALSE | Il peut être bien difficile de lire les messages d'erreur sur un terminal lorsqu'ils sont noyés dans des balises HTML sans grand intérêt. Par conséquent, cette directive est forcée à FALSE.
    implicit_flush | TRUE | Il est souhaitable que tout affichage en provenance de print(), echo() et consorts, soit immédiatement affiché dans le terminal, et non pas placé dans un buffer quelconque. Vous pouvez toujours utiliser la bufferisation de sortie si vous voulez retarder un affichage, ou bien en manipuler le contenu une dernière fois.
    max_execution_time | 0 (sans limite) | Étant données les possibilités infinies de PHP en environnement shell, le temps d'exécution maximal d'un script PHP a été rendu illimité. Alors que les scripts destinés au web doivent s'accomplir en une fraction de seconde, il arrive que les scripts shell requièrent bien plus de temps.
    register_argc_argv TRUE

    En donnant la valeur de TRUE à cette directive, vous aurez toujours accès à la variable argc (représentant le nombre d'arguments passés à l'application) et argv (le tableau contenant les arguments passés) dans le CLI SAPI.

    Les variables PHP $argc et $argv sont définies et remplies avec les valeurs appropriées, en utilisant CLI SAPI. vous pouvez toujours accéder à $_SERVER et $HTTP_SERVER_VARS. Par exemple : $_SERVER['argv']

    output_buffering FALSE

    Même si cette configuration INI est codée en dur à FALSE, les fonctions relatives à l'affichage du buffer sont disponibles.

    max_input_time FALSE

    Le PHP CLI ne supporte pas GET, POST et le téléchargement de fichiers.

    Note: Ces directives ne peuvent pas être initialisées avec d'autres valeurs dans le fichier php.ini ou par une autre méthode. C'est une limitation, car ces valeurs par défaut s'appliquent une fois que tous les autres fichiers de configuration ont été analysés. Cependant, ces valeurs peuvent être modifiées durant l'exécution (ce qui n'est pas logique pour certaines directives, comme register_argc_argv).

    Note: Il est recommandé de définit ignore_user_abort pour les scripts en ligne de commande. Voir la fonction ignore_user_abort() pour plus d'informations.

  • Pour faciliter le travail en environnement shell, plusieurs constantes sont définies pour les flux I/O.

  • Le CLI SAPI ne transforme pas le dossier courant en dossier d'exécution du script !

    Exemple #1 Exemple montrant la différence avec le SAPI CGI :

    <?php
    // Un test simple : affiche le dossier d'exécution */
    echo getcwd(), "\n";
    ?>

    Lorsque vous utilisez la version CGI, l'affichage sera :

    $ pwd
/tmp

$ php -q autre_dossier/test.php
/tmp/autre_dossier

    Cela montre clairement que PHP modifie le dossier courant, et utilise le dossier du script exécuté.

    En utilisant le CLI SAPI, on obtient :

    $ pwd
/tmp

$ php -f autre_dossier/test.php
/tmp

    Cela donne beaucoup plus de souplesse lorsque vous rédigez des scripts shell avec PHP.

    Note: Le CGI SAPI se comporte de la même façon que le CLI SAPI, en lui passant l'option -C, lorsque vous l'invoquez en ligne de commande.

Introduction
Options
Utilisation en ligne de commande


Options de ligne de commande

La liste des options de ligne de commande fournies par PHP est disponible à n'importe quel moment en exécutant PHP avec l'option -h :

Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --ri <name>      Show configuration for extension <name>.

Options de ligne de commande
Option | Option longue | Description
-a --interactive

Lance PHP de façon interactive. Pour plus d'information, reportez-vous à la documentation concernant le shell intéractif.

-b --bindpath

Lie le chemin pour les externes, en mode serveur FASTCGI (CGI uniquement).

-C --no-chdir

Ne pas aller dans le dossier du script (CGI uniquement).

-q --no-header

Mode silencieux. Supprime la sortie des en-têtes HTTP (CGI uniquement).

-T --timing

Mesure le temps d'exécution du script, répété count fois (CGI uniquement).

-c --php-ini

Cette option permet de spécifier le nom du dossier dans lequel se trouve le fichier php.ini, ou encore de spécifier un fichier de configuration (INI) directement (qui ne s'appelle pas obligatoirement php.ini) :

$ php -c /custom/directory/ mon_script.php

$ php -c /custom/directory/custom-file.ini mon_script.php

Si vous ne spécifiez pas cette option, le fichier est recherché dans les endroits par défaut.

-n --no-php-ini

Ignore complètement php.ini.

-d --define

Cette option permet de modifier n'importe quelle directive de configuration du fichier php.ini. La syntaxe est :

 -d configuration_directive[=value]

# L'omission de la valeur conduit à donner la valeur de "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Passer une valeur vide conduit à donner la valeur de ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# La directive de configuration sera n'importe quelle valeur passée après le caractère '='
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e --profile-info

Génère des informations étendues pour le profilage et le débogage.

-f --file

Analyse et exécute le fichier donné après l'option -f. Cette option est facultative, et peut être omise. Le seul nom du fichier est suffisant.

Note: Pour passer des arguments à votre script, le premier argument doit être --, sinon, PHP les interprètera comme des options PHP.

-h et -? | --help et --usage | Avec cette option, vous pouvez obtenir des informations sur la liste courante des options de la ligne de commande, ainsi que leur description.
-i | --info | Cette option appelle la fonction phpinfo(), et affiche le résultat. Si PHP ne fonctionne pas correctement, il est recommandé d'utiliser la commande php -i et de voir s'il n'y a pas d'erreurs affichées avant ou après la table d'information. N'oubliez pas que le résultat de cette option, si vous utilisez le mode CGI, est au format HTML, et donc de taille conséquente.
-l --syntax-check

Cette option permet de faire une vérification syntaxique sur le code PHP fourni. En cas de réussite, le message No syntax errors detected in <filename> (Littéralement, aucune erreur de syntaxe n'a été détectée dans le fichier) est affiché sur la sortie standard, et le script shell retourne 0. En cas d'erreur, le message Errors parsing <filename> (Littéralement, erreur d'analyse dans le fichier filename) est affiché, en plus des messages d'erreurs détectés par l'analyseur lui-même. Le script Shell retourne le code -1.

Cette option ne détecte pas les erreurs fatales (par exemple les fonctions non définies). Utilisez -f si vous voulez tester aussi ces erreurs.

Note: Cette option ne fonctionne pas avec l'option -r.

-m --modules

Exemple #1 Affichage des modules internes (et chargés) de PHP et Zend

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

Cette option permet l'exécution de PHP directement dans la ligne de commande. Les balises de PHP (<?php et ?>) ne sont pas nécessaires, et causeront une erreur d'analyse si elles sont présentes.

Note: Une attention toute particulière doit être portée lors de l'utilisation de cette option de PHP, pour qu'il n'y ait pas de collision avec les substitutions de variables en ligne de commande, réalisées par le shell.

Exemple #2 Erreur de syntaxe lors de l'utilisation de doubles guillemets

$ php -r "$foo = get_defined_constants();"
PHP Parse error:  syntax error, unexpected '=' in Command line code on line 1

Parse error: syntax error, unexpected '=' in Command line code on line 1
Le problème ici est que le shell (sh/bash) effectue une substitution de variables, même avec les guillemets doubles ". puisque la variable $foo n'est probablement pas définie dans le shell, elle est remplacée par rien, ce qui fait que le code passé à PHP pour l'exécution est :
$ php -r " = get_defined_constants();"
La solution de ce problème est d'utiliser les guillemets simples '. Les variables de ces chaînes ne seront pas substituées par leurs valeurs par le shell.

Exemple #3 Utilisation de guillemets simples pour éviter une substitution par le shell

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]
Si vous utilisez un shell différent de sh/bash, vous pouvez rencontrer d'autres problèmes. N'hésitez pas à ouvrir un rapport de bogues à » http://bugs.php.net/. Il est toujours très facile d'avoir des problèmes lorsque vous essayez d'inclure des variables shell dans le code, ou d'utiliser les antislash pour la protection. Vous aurez été prévenu.

Note: -r est disponible avec le CLI SAPI et pas avec le CGI SAPI.

Note: Cette option est utilisée pour des choses vraiment de base. Ainsi, quelques directives de configuration (par exemple auto_prepend_file et auto_append_file) sont ignorées dans ce mode.

-B --process-begin

PHP code à exécuter avant le traitement de stdin. Ajouté en PHP 5.

-R --process-code

Code PHP à exécuter pour chaque ligne en entrée. Ajouté en PHP 5.

Il y a deux variables spéciales de disponibles dans ce mode : $argn et $argi. $argn doit contenir la ligne PHP traitée à ce moment donné, tandis que $argi doit contenir le numéro de la ligne.

-F --process-file

Fichier PHP à exécuter pour chaque ligne en entrée. Ajouté en PHP 5.

-E --process-end

Code PHP à exécuter après avoir effectué l'entrée. Ajouté en PHP 5.

Exemple #4 Exemple d'utilisation des options -B, -R et -E pour compter le nombre de lignes d'un projet.

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328

-s --syntax-highlight et --syntax-highlighting

Affiche le code avec la colorisation syntaxique.

Cette option utilise le mécanisme interne pour analyser le fichier, et produire une version colorisée du code source, au format HTML. Notez que cette option ne fait que générer un bloc HTML, avec les balises HTML <code> [...] </code>, sans en-têtes HTML.

Note: Cette option ne fonctionne pas avec l'option -r.

-v --version

Exemple #5 Utilisation de l'option -v pour récupérer le nom du SAPI ainsi que la version de PHP et de Zend

$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

-w --strip

Affiche la source sans les commentaires et les espaces.

Note: Cette option ne fonctionne pas avec l'option -r.

-z --zend-extension

Charge une extension Zend. Si et seulement si un fichier est fourni, PHP essaie de charger cette extension dans le dossier courant par défaut des bibliothèque sur votre système (généralement spécifié avec /etc/ld.so.conf sous Linux). Passer un nom de fichier avec le chemin complet fera que PHP utilisera ce fichier, sans recherche dans les dossiers classiques. Un chemin de dossier relatif indiquera à PHP qu'il doit chercher les extensions uniquement dans ce dossier.

--ini

Affiche les noms des fichiers de configuration et des dossiers analysés. Disponible depuis PHP 5.2.3.

Exemple #6 Exemple avec --ini

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Affiche des informations sur la fonction donnée ou la méthode d'une classe (i.e. nombre et nom des paramètres). Disponible depuis PHP 5.1.2.

Cette option n'est disponible que si PHP a été compilé avec le support Reflection.

Exemple #7 Exemple avec --rf

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
}
--rc --rclass

Affiche des informations sur la classe donnée (liste des constantes, propriétés et méthodes). Disponible depuis PHP 5.1.2.

Cette option n'est disponible que si PHP a été compilé avec le support Reflection.

Exemple #8 Exemple avec --rc

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Affiche les informations sur l'extension donné (liste les options du php.ini, les fonctions définies, les constantes et les classes). Disponible depuis PHP 5.1.2.

Cette option n'est disponible que si PHP a été compilé avec le support Reflection.

Exemple #9 Exemple avec --re

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--ri --rextinfo

Affiche les informations de configuration pour l'extension donnée (les mêmes informations retournées par la fonction phpinfo()). Disponible depuis PHP 5.2.2. Les informations de configurations internes sont disponibles en utilisant le nom d'extension "main".

Exemple #10 Exemple avec --ri

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo

Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Note: Les options -rBRFEH, --ini et --r[fcei] ne sont disponibles qu'en mode CLI.

Différence avec les autres SAPIs
Utilisation
Utilisation en ligne de commande


Exécution de fichiers PHP

Le CLI SAPI dispose de trois moyens pour lire le code du script PHP que vous voulez exécuter :

  1. Indiquer à PHP d'exécuter un fichier donné :

    php mon_script.php

php -f mon_script.php

    Les deux méthodes (en utilisant -f ou pas) exécutent le script contenu dans le fichier mon_script.php. Vous pouvez choisir n'importe quel fichier, et ces fichiers ne sont pas tenus d'utiliser l'extension .php. N'importe quelle extension peut faire l'affaire.

    Note: Si vous devez passer des arguments à votre script, vous devez passer -- comme premier argument lorsque vous utilisez -f.

  2. Donner du code PHP à exécuter directement en ligne de commande.

    php -r 'print_r(get_defined_constants());'

    Une attention particulière doit alors être apportée aux variables d'environnement, qui seront remplacées, et aux guillemets, qui ont des significations spéciales en ligne de commande.

    Note: Lisez l'exemple attentivement, il n'y a ni balise d'ouverture, ni balise de fermeture ! L'option -r rend caduque l'utilisation de celles-ci, et les ajouter conduirait alors à une erreur d'analyse syntaxique.

  3. Alimenter l'entrée standard en code PHP (stdin).

    Cela donne la possibilité de créer dynamiquement du code PHP, puis de le fournir à PHP, et enfin, de le traiter à nouveau en shell. Voici un exemple fictif :

    $ some_application | some_filter | php | sort -u > final_output.txt
Il n'est pas possible de combiner ces trois modes d'exécution.

Comme toute application shell, l'exécutable PHP accepte des arguments, et votre script PHP peut aussi les recevoir. Le nombre d'arguments n'est pas limité par PHP (le shell a une limite en terme de nombre de caractères qui peuvent être passés. Généralement, vous n'atteindrez pas cette limite). Les arguments passés au script seront transmis via la variable tableau $argv. L'index zéro contiendra toujours le nom du script appelé (qui sera - dans le cas où le code PHP arrive de l'entrée standard ou depuis la ligne de commande, passé -r). L'autre variable globale fournie est $argc qui contient le nombre d'éléments dans le tableau $argv (ce nombre est différent du nombre d'arguments passés au script).

Tant que les arguments que vous passez à votre script ne commencent pas par le caractère -, il n'y a rien de spécial à surveiller. Si vous passez des arguments à votre script qui commencent par -, cela posera des problèmes car PHP va penser qu'il doit les interpréter. Pour éviter cela, utilisez le séparateur --. Après cet argument, tous les arguments suivants seront passés à votre script sans être modifiés ou analysés par PHP.

# Cela ne va pas exécuter le code, mais afficher l'aide de PHP
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Cela va passer l'argument '-h' à votre script, et éviter que PHP ne le traite
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Cependant, il y a une autre méthode pour utiliser PHP en script shell. Vous pouvez aussi utiliser la ligne #!/usr/bin/php en tout début de votre script, suivie de code PHP compris entre balise ouvrantes/fermantes. Après avoir mis les droits d'exécution sur votre script (chmod +x test), il peut être exécuté comme un script shell ou perl habituel :

Exemple #1 Exécute un script PHP en tant que script shell

#!/usr/bin/php
<?php
var_dump($argv);
?>

En supposant que ce fichier s'appelle test, dans le dossier courant, nous pouvons alors faire ceci :

$ chmod +x test
$ ./test -h -- foo
array(4) {
   [0]=>
   string(6) "./test"
   [1]=>
   string(2) "-h"
   [2]=>
   string(2) "--"
   [3]=>
   string(3) "foo"
}

Comme vous pouvez le voir, dans ce cas, vous n'avez pas besoin de faire attention lors du passage de paramètres qui commencent par - à votre script.

L'exécutable PHP peut être utilisé pour exécuter des scripts indépendants du serveur web. Si vous êtes sur un système Unix, il est recommandé d'ajouter la ligne spéciale en début de script, de le rendre exécutable de manière à ce que le système sache quel programme doit exécuter le script. Sous Windows, vous pouvez associer l'exécutable php.exe avec le double-clic sur les fichiers d'extension .php, ou bien vous pouvez faire un fichier batch pour exécuter le script grâce à PHP. La première ligne utilisée dans le monde Unix ne perturbera pas l'exécution sous Windows, ce qui rend les scripts facilement portables. Un exemple complet est disponible ci-dessous :

Exemple #2 Script prévu pour être exécuté en ligne de commande (script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

C'est une ligne de commande à une option.

  Utilisation :
  <?php echo $argv[0]; ?> <option>

  <option> peut être un mot que vous souhaitez afficher.
  Avec les options --help, -help, -h,
  et -?, vous obtiendrez cette aide.

<?php
} else {
    echo $argv[1];
}
?>

Dans le script ci-dessus, nous utilisons la première ligne pour indiquer que le fichier doit être exécuté par PHP. Nous travaillons avec une version CLI, donc aucun en-tête HTTP n'est affiché. Il y a deux variables que vous pouvez utiliser avec les applications de ligne de commande : $argc et $argv. La première est le nombre d'arguments plus un (le nom du script qui est exécuté). La seconde est un tableau contenant les arguments, commençant avec le nom du script en élément 0 ($argv[0]).

Dans notre exemple, nous avons vérifié qu'il y a plus ou moins d'un argument. De plus, si cet argument est --help, -help, -h ou -?, nous affichons un message d'aide, ainsi que le nom du script. Si nous recevons un autre argument, celui-ci est affiché dans le terminal.

Pour exécuter le script ci-dessus sous Unix, vous devez le rendre exécutable, puis l'appeler avec une commande comme : script.php echothis ou script.php -h. Sous Windows, vous pouvez faire un fichier batch pour cela :

Exemple #3 Fichier batch pour exécuter un script PHP en ligne de commande (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Si vous avez nommé le programme ci-dessus script.php, et que vous avez votre exécutable CLI php.exe situé à C:\php\php.exe, ce fichier batch l'exécutera avec les options que vous lui passez : script.bat echothis ou script.bat -h.

Voir aussi l'extension Readline, qui dispose de nombreuses fonctions pour améliorer la convivialité de vos applications en ligne de commande.

Si vous êtes sous Windows, Php peut être configuré pour fonctionne sans avoir besoin de fournir les extensions C:\php\php.exe ou .php, tel que décrit dans la ligne de commande PHP sous Microsoft Windows.

Options
Flux I/O
Utilisation en ligne de commande


Flux d'entrée/sortie

Le CLI SAPI définit quelques constantes pour les flux I/O pour rendre la programmation en ligne de commande plus facile.

Constantes spécifiques CLI
Constante Description
STDIN

Un flux déjà ouvert vers stdin. Ceci évite de l'ouvrir explicitement avec

<?php
$stdin = fopen('php://stdin', 'r');
?>
Si vous voulez lire une seule ligne depuis stdin, vous pouvez utiliser
<?php
$line = trim(fgets(STDIN)); // lit une ligne depuis STDIN
fscanf(STDIN, "%d\n", $number); // lit des nombres depuis STDIN
?>

STDOUT

Un flux déjà ouvert vers stdout. Ceci évite de l'ouvrir explicitement avec

<?php
$stdout = fopen('php://stdout', 'w');
?>

STDERR

Un flux déjà ouvert vers stderr. Ceci évite de l'ouvrir explicitement avec

<?php
$stderr = fopen('php://stderr', 'w');
?>

Ainsi, vous n'avez pas besoin d'ouvrir un flux spécifique pour, par exemple, stderr mais vous pouvez simplement utiliser la constante correspondante à ce flux :

php -r 'fwrite(STDERR, "stderr\n");'
Vous n'avez pas à clore explicitement ces flux, sachant qu'ils le seront automatiquement par PHP à la fin de votre script.

Note: Ces constantes ne sont pas disponibles dans le cas d'une lecture d'un script PHP depuis stdin.

Utilisation
Shell Interactif
Utilisation en ligne de commande


Shell Interactif

Depuis PHP 5.1.0, le CLI SAPI fournit un shell intéractif lors de l'utilisation de l'option -a si PHP a été compilé avec l'option --with-readline.

En utilisant le shell interactif, vous avez la possibilité de taper du code PHP et qu'il soit exécuté directement.

Exemple #1 Exécution de code en utilisant le shell interactif

$ php -a
Interactive shell

php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_dump(addtwo(2));
int(4)
php >

Le shell interactif fournit également une auto-complétion des fonctions, des constantes, des noms de classes, des variables, des appels aux méthodes statiques, et des constantes de classes en utilisant la touche de tabulation.

Exemple #2 Auto-complétion en utilisant la touche de tabulation

Le fait de presser deux fois la touche de tabulation lorsqu'il y a plusieurs complétions possibles affichera une liste de ces complétions :

php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp

Lorsqu'il n'y a qu'une seul complétion possible, presser la touche de tabulation une seule fois complétera le reste sur la même ligne :

php > strpt[TAB]ime(

Il est également possible de compléter des éléments définis précédemment dans la session de shell interactif :

php > $fooThisIsAReallyLongVariableName = 42;
php > $foo[TAB]ThisIsAReallyLongVariableName

Le shell interactif stocke votre historique et peut y accéder en utilisant les touches haut et bas. L'historique est sauvegardé dans le fichier ~/.php_history.

Note: Les fichiers inclus via auto_prepend_file et auto_append_file sont analysés dans ce mode, mais avec quelques restrictions - i.e. les fonctions doivent avoir été définies avant l'appel.

Note: Autoloading n'est pas disponible si vous utilisez PHP en mode CLI interactif.

Flux I/O
Ramasse-miettes (Garbage Collection)
Utilisation en ligne de commande


Ramasse-miettes (Garbage Collection)

Sommaire

  • Bases sur le comptage des références
  • Cycles de nettoyage
  • Considerations sur les performances

Cette section explique les mérites du nouveau mécanisme ramasse-miettes (aussi appelé GC) fourni avec PHP 5.3.

Shell Interactif
Bases sur le comptage des références
Caractéristiques


Bases sur le comptage des références

Une variable PHP est stockée en interne dans un conteneur appelé "zval". Un conteneur zval contient, outre le type de la variable et sa valeur, deux unités d'information additionnelles. La première se nomme "is_ref" et une valeur booléenne qui indique si une variable fait partie d'une référence ou non. Grâce à cette information, le moteur de PHP sait différencier les variables normales des références. Comme PHP autorise le programmeur à utiliser des références, au moyen de l'opérateur &, un conteneur zval possède aussi un mécanisme de comptage des références afin d'optimiser l'utilisation de la mémoire. Cette seconde information, appelée "refcount", contient le nombre de variables (aussi appelées symboles) qui pointent vers ce conteneur zval. Tous les symboles sont stockés dans une table de symboles et il y a une table par espace de visibilité (scope). Il y a un espace global pour le script principal (celui appelé par exemple via le navigateur) et un espace par fonction ou méthode.

Un conteneur zval est crée lorsqu'une nouvelle variable est créee avec une valeur constante, par exemple:

Exemple #1 Création d'un nouveau conteneur zval

<?php
$a = "new string";
?>

Dans ce cas, le nouveau symbole a est crée dans le scope global, et un nouveau conteneur est crée avec comme type string et comme valeur new string. Le bit "is_ref" est mis par défaut à FALSE car aucune référence n'a été créee par le programmeur. Le bit "refcount" iest mis à 1 car il n'y a qu'un seul symbole qui utilise ce conteneur. Notez que si "refcount" vaut 1, "is_ref" vaut toujours FALSE. Si vous avez installé » Xdebug, vous pouvez afficher cette information en appelant xdebug_debug_zval().

Exemple #2 Affichage des informations zval

<?php
xdebug_debug_zval('a');
?>

L'exemple ci-dessus va afficher :

a: (refcount=1, is_ref=0)='new string'

Assigner cette variable à un autre symbole va incrémenter le refcount.

Exemple #3 Incrémentation du refcount d'une zval

<?php
$a = "new string";
$b = $a;
xdebug_debug_zval( 'a' );
?>

L'exemple ci-dessus va afficher :

a: (refcount=2, is_ref=0)='new string'

Le refcount vaut 2 ici, car le même conteneur est lié à a et b à la fois. PHP est suffisament intelligent pour ne pas dupliquer le conteneur lorsque ce n'est pas nécessaire. Les conteneurs sont détruits lorsque leur "refcount" atteint zéro. Le "refcount" est décrémenté de une unité lorsque n'importe quel symbole lié à un conteneur est détruit du scope (e.g. lorsque la fonction se termine) ou lorsque unset() est appelée sur un symbole. L'exemple qui suit le démontre:

Exemple #4 Decrémentation du refcount d'une zval

<?php
$a = "new string";
$c = $b = $a;
xdebug_debug_zval( 'a' );
unset( $b, $c );
xdebug_debug_zval( 'a' );
?>

L'exemple ci-dessus va afficher :

a: (refcount=3, is_ref=0)='new string'
a: (refcount=1, is_ref=0)='new string'

Si maintenant nous appelons unset($a);, le conteneur zval, incluant le type et la valeur, va être détruit de la mémoire.

Types composés

Les choses se compliquent dans le cas des types composés comme array et object . A la différence des valeurs scalaires scalar , les array et object stockent leurs propriétés dans une table de symboles qui leur est propre. Ceci signifie que l'exemple qui suit crée trois conteneurs zval:

Exemple #5 Creation d'une zval array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
xdebug_debug_zval( 'a' );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
)

Ou graphiquement

Zvals d'un tableau simple

Les trois conteneurs zval sont: a, meaning, et number. Les mêmes règles s'appliquent pour l'incrémentation et la décrémentation des "refcounts". Ci-après, nous ajoutons un élément au tableau et nous affectons son contenu à une valeur déja existante dans le tableau:

Exemple #6 Ajout d'un élément déja existant au tableau

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
xdebug_debug_zval( 'a' );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=2, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42,
   'life' => (refcount=2, is_ref=0)='life'
)

Ou graphiquement

Zvals pour un tableau simple avec une référence

La sortie Xdebug que nous voyons indique que l'ancien et le nouvel élément du tableau pointent vers le même conteneur zval dont le "refcount" vaut 2. Il y a donc un total de trois conteneurs zval. Supprimer un élément du tableau aura le même effet que supprimer un symbole de l'espace (scope) actuel. Ce faisant, le "refcount" du conteneur vers lequel l'élément de tableau pointe sera décrémenté. Là encore, lorsque le "refcount" atteint zéro, le conteneur est détruit de la mémoire. Voici un exemple qui le démontre:

Exemple #7 Suppression d'un élément de tableau

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
unset( $a['meaning'], $a['number'] );
xdebug_debug_zval( 'a' );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a: (refcount=1, is_ref=0)=array (
   'life' => (refcount=1, is_ref=0)='life'
)

Maintenant, les choses deviennent intéressantes si nous ajoutons le tableau comme élément de lui-même. Nous faisons ça dans l'exemple qui suit avec un opérateur de référence, sinon PHP va crée une copie:

Exemple #8 Ajout du tableau comme référence à lui-même en tant qu'élement

<?php
$a = array( 'one' );
$a[] =& $a;
xdebug_debug_zval( 'a' );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a: (refcount=2, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=2, is_ref=1)=...
)

Ou graphiquement

Zvals dans un tableau avec référence circulaire

Vous pouvez voir que la variable tableau (a) tout comme le second élément (1) pointent désormais vers un conteneur dont le "refcount" vaut 2. Les "..." sur l'affichage indiquent une récursion et représentent donc le tableau lui-même.

Comme avant, supprimer une variable supprime son symbole et le refcount est décrémenté. Donc si nous supprimons la variable $a après son effectation, le refcount du conteneur sur lequel pointe $a et l'élément "1" sera décrémenté de une unité, de "2" vers "1". Ceci est représenté par:

Exemple #9 Suppression de $a

(refcount=1, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=1, is_ref=1)=...
)

Ou graphiquement

Zvals après suppression du tableau contenant une référence circulaire, fuite mémoire

Problèmes de nettoyage

Bien qu'il n'y ait plus aucun symbole dans l'espace de variables courant qui pointe vers cette structure, elle ne peut être nettoyée car l'élément du tableau "1" pointe toujours vers ce même tableau. Comme il n'y a plus de symbole externe pointant vers cette structure, l'utilisateur ne peut plus la nettoyer manuellement, il y a donc fuite mémoire. Heureusement, PHP va détruire cette structure à la fin de la requête, mais avant cette étape, la mémoire n'est pas libérée. Cette situation se produit souvent lorsque qu'un enfant pointe vers son parent. Notamment avec les objets qui sont utilisés par référence implicitement.

Ceci ne devrait pas être un problème si ça arrive une ou deux fois, mais s'il y a des centaines ou des milliers de situations similaires dans un même programme, alors cela peut devenir un problème important. Ceci en particulier pour les scripts démons dans lesquels la requête ne termine jamais, ou encore dans une grosse suite de tests unitaires. Ce dernier cas a été rencontré en lançant les tests du composant Template de la bibliothèque eZ Components. Dans certains cas, la suite de tests nécessitait 2Go de mémoire, ce que le serveur ne pouvait alors fournir.

Ramasse-miettes (Garbage Collection)
Cycles de nettoyage
Ramasse-miettes (Garbage Collection)


Cycles de nettoyage

Traditionnellement, les mécanismes de comptage des références comme utilisés dans PHP auparavant ne pouvaient détecter les fuites mémoires dûes à des références circulaires. Depuis PHP 5.3.0, un algorithme synchrone issue de l'analyse » Concurrent Cycle Collection in Reference Counted Systems est utilisé pour répondre à ce problème particulier.

Une explication complète du fonctionnement de l'algorithme serait hors de portée pour cette section, mais nous allons ici détailler les principes de base. D'abord, nous allons établir quelques règles. Si un refcount est incrémenté, le conteneur est toujours utilisé, donc pas nettoyé. Si le refcount est décrémenté et atteint zéro, le conteneur zval peut être supprimé et la mémoire libérée. Ceci signifie que les cycles de nettoyages ne peuvent intervenir que lorsque le refcount est décrémenté vers une valeur différente de zéro. Ensuite, dans un cycle de nettoyage, il est possible de détecter les déchets en vérifiant s'il est possible ou non de décrémenter leur refcount de une unité en vérifiant quelles zvals ont un refcount à zéro.

Algorithme de collecte des déchets

Pour éviter d'appeler la routine de nettoyage à chaque décrémentation de refcount possible, l'algorithme place toutes les zval racines dans un "tampon de racines" (en les marquant). Il s'assure aussi que chaque racine n'apparait qu'une seule fois dans le tampon. Le mécanisme de nettoyage intervient alors lorsque le tampon est plein. Voyez l'étape A sur la figure ci-dessus.

A l'étape B, l'algorithme lance une recherche sur toutes les racines possibles afin de décrémenter de une unité les refcounts de toutes les zvals qu'il trouve, en faisant bien attention de ne pas décrémenter 2 fois le refcount de la même zval (en les marquant comme "grises"). Dans l'étape C, l'algorithme relance une recherche sur toutes les racines possibles et scrute la valeur de refcount de chaque zval. S'il trouve un refcount à zéro, la zval est marquée comme "blanche" (bleu sur la figure). S'il trouve autre chose que zéro, il annule sa décrémentation en refaisant une recherche à partir de ce noeud, et les marque comme "noires" à nouveau. Dans la dernière étape, D, l'algorithme parcours tout le tampon des racines et les supprime, tout en scrutant chaque zval, toute zval marquée comme "blanche" à l'étape précédente est alors supprimée de la mémoire.

Maintenant que vous savez globalement comment fonctionne l'algorithme, nous allons voir comment il a été intégré dans PHP. Par défaut, le ramasse-miettes de PHP est activé. Il existe cependant une options de php.ini pour changer cela : zend.enable_gc.

Lorsque le ramasse-miettes est activé, l'algorithme de recherche des cycles tel que décrit au dessus est exécuté à chaque fois que le tampon est plein. Le tampon de racines a une taille fixée à 10.000 racines (ce paramètre est changeable grâce à GC_ROOT_BUFFER_MAX_ENTRIES dans Zend/zend_gc.c dans le code source de PHP, une recompilation est donc nécessaire). Si le ramasse- miettes est désactivé, la recherche des cycles l'est aussi. Cependant, les racines probables seront toujours enregistrées dans le tampon, ceci ne dépend pas de l'activation du ramasse-miettes.

Si le tampon est plein alors que le mécanisme est désactivé, alors plus aucune racine ne pourra y être insérée. Ces racines ne seront donc pas analysées par l'algorithme au besoin, et si elles représentaient des références circulaires, il y aura fuite mémoire.

La raison pour laquelle les racines possibles sont tout de même enregistrées dans le tampon même si le mécanisme est désactivé est qu'il aurait été trop couteux de vérifier l'activation éventuelle du mécanisme à chaque tentative d'ajout d'une racine dans le tampon. Le mécanisme de ramasse-miettes et d'analyse peut être lui, couteux en temps.

En plus de pouvoir changer la valeur du paramètre de configuration zend.enable_gc, vous pouvez aussi activer ou désactiver le mécanisme de ramasse-miettes en appelant les fonctions gc_enable() ou gc_disable() respectivement. Ceci aura le même effet que de modifier le paramètre de configuration. Vous avez de plus la possibilité de forcer le passe du ramasse-miettes à un moment donné dans votre script, même si le tampon n'est pas encore complètement plein. Utilisez pour cela la fonction gc_collect_cycles(), cette fonction retournera le nombre de cycles alors collectés.

Vous pouvez prendre le contrôle en désactivant le ramasse-miettes ou en le forçant à passer à un moment donné car certaines parties de votre application peuvent être gourmandes en temps de traitement auquel cas vous pouvez désactiver le ramasse-miettes. Vous risquez à ce moment là des fuites mémoires. Vous pourriez vouloir déclencher manuellement le processus grâce à gc_collect_cycles() juste avant l'appel à gc_disable() pour libérer de la mémoire. Ceci laissera un tampon vidé et il y aura plus d'espace pour des racines probables (surtout lorsque le mécanisme est désactivé).

Bases sur le comptage des références
Considerations sur les performances
Ramasse-miettes (Garbage Collection)


Considerations sur les performances

Nous avons déja vu dans les sections précédentes que la collecte des racines probables avait un impact très léger sur les performances, mais c'est lorsqu'on compare PHP5.2 à PHP5.3. Même si l'enregistrement des racines probables est plus lent que de pas les enregistrer du tout, comme dans PHP5.2, d'autres changements durant l'éxécution de PHP5.3 font de cette opération une opération quasi indolore au niveau des performances.

Il y a deux axes pour étudier les performances avec GC. D'abord l'empreinte mémoire et ensuite le temps d'éxécution pour nettoyer la mémoire. Nous allons étudier ces deux axes.

Empreinte mémoire réduite

D'abord, la raison principale de l'implémentation du mécanisme de collecte des déchets est la réduction de la mémoire consommée en nettoyant les références circulaires aussitôt que possible. Dans PHP, ceci arrive lorsque le tampon de racines est plein, ou lorsque la fonction gc_collect_cycles() est appelée. Sur le graphe ci-après, nous affichons l'utilisation mémoire d'un script dans PHP5.2 et PHP5.3, en excluant la mémoire obligatoire que PHP consomme pour lui-même au démarrage.

Exemple #1 Exemple d'utilisation mémoire

<?php
class Foo
{
    public $var = '3.141592654';
}

$baseMemory = memory_get_usage();

for ( $i = 0; $i <= 100000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
    if ( $i % 500 === 0 )
    {
        echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
    }
}
?>
Comparaison de la consommation mémoire entre PHP 5.2 et PHP 5.3

L'exemple est étuidé pour, nous allons créer un objet possédant un attribut le référençant lui-même. Lorsque la variable $a dans le script est réassignée à la prochaine itération, une fuite mémoire apparaitra. Dans ce cas, les deux conteneurs zval fuient (la zval de l'objet et celle de l'attribut), mais seulement une racine possible est trouvée : la variable qui a été supprimée. Lorsque le tampon de racines est plein après 10.000 itérations (un total de 10.000 racines possibles), le mécanisme de collection des déchets entre en jeu et libère la mémoire associée à ces racines probables. Cela se voit très clairement sur les graphes d'utilisation mémoire de PHP5.3. Après chaques 10.000 itérations, le mécanisme se déclenche et libère la mémoire associée aux variables références circulaires. Le diagramme montre que l'utilisation maximale de mémoire de PHP5.3 est d'environ 9Mo là où PHP5.2 n'arrête pas d'en consommer.

Ralentissement durant l'exécution

Le second point concernant les performances du mécanisme de collecte des déchets (GC) est le temps pris par le mécanisme pour libérer la mémoire "gaspillée". Pour voir cet impact, nous allons modifier le script précédent afin d'avoir un nombre d'itérations beaucoup plus élevé. Le script ressemble à:

Exemple #2 Impact de GC sur les performances

<?php
class Foo
{
    public $var = '3.141592654';
}

for ( $i = 0; $i <= 1000000; $i++ )
{
    $a = new Foo;
    $a->self = $a;
}

echo memory_get_peak_usage(), "\n";
?>

Nous allons lancer ce script 2 fois, une fois avec zend.enable_gc à on, et une fois à off:

Exemple #3 Lancement du script ci-dessus

time php -dzend.enable_gc=0 -dmemory_limit=-1 -n example2.php
# and
time php -dzend.enable_gc=1 -dmemory_limit=-1 -n example2.php

Sur ma machine, la première commande semble durer tout le temps 10,7 secondes, alors que la seconde commande prend environ 11,4 secondes. Un ralentissement de 7% environ. Cependant, la quantité totale de mémoire utilisée par le script est réduite de 98% passant de 931Mo à 10Mo. Ce benchmark n'est pas très scientifique ou même représentatif d'applications réelles, mais il démontre concrètement en quoi le mécanisme de collecte des déchets peut être utile concernant la consommation mémoire. Le bon point est que le ralentissement est toujours de 7%, dans le cas particulier de ce script, alors que la mémoire restaurée sera de plus en plus importante au fur et à mesure que des références circulaires apparaitront durant l'éxécution.

Statistiques internes du GC de PHP

Il est possible d'obtenir quelques informations concernant le mécanisme de collecte des déchets interne à PHP. Mais pour cela, il faut recompiler PHP avec le support du benchmarking et de la collection de données. Vous devrez passer la variable d'environnement CFLAGS avec -DGC_BENCH=1 avant de lancer ./configure. L'exemple suivant démontre cela:

Exemple #4 Recompiler PHP pour le support du benchmark du GC

export CFLAGS=GC_BENCH=1
./config.nice
make clean
make

Lorsque vous ré-éxécutez le code du script ci-dessus avec un PHP fraichement reconstruit, vous devriez voir le résultat suivant après l'éxecution:

Exemple #5 Statistiques GC

GC Statistics
-------------
Runs:               110
Collected:          2072204
Root buffer length: 0
Root buffer peak:   10000

      Possible            Remove from  Marked
        Root    Buffered     buffer     grey
      --------  --------  -----------  ------
ZVAL   7175487   1491291    1241690   3611871
ZOBJ  28506264   1527980     677581   1025731

Les statistiques les plus descriptives sont affichées dans le premier bloc. Vous voyez que le mécanisme de collecte des dechets a été déclenché 110 fois, et au total ce sont plus de 2 millions d'allocations mémoires qui ont été libérées durant ces 110 passages. Dès lors que le mécanisme est intervenu une seule fois, le pic du buffer racine est toujours de 10000.

Conclusion

De manière générale, la collection des dechets en PHP ne causera un ralentissement que lorsque le cycle tournera, ainsi dans les scripts normaux il ne devrait pas y avoir de ressenti de ce ralentissement.

Cependant, lorsque le cycle de collection de déchets sera enclenché dans des scripts normaux, la réduction de l'empreinte mémoire permettra alors d'éxécuter plus de scripts en parallèle.

Les avantages se sentent plus dans le cas de scripts démons ou devant tourner longtemps. Aussi, concernant les applications » PHP-GTK qui souvent tournent plus longtemps que des scripts pour le Web, le nouveau mécanisme devrait réduire significativement les fuites mémoires sur le long terme.

Cycles de nettoyage
Référence des fonctions
Ramasse-miettes (Garbage Collection)


Référence des fonctions

Astuce

Voir aussi Catégorie/Liste des extensions.

  • Affecte le comportement de PHP
    • APC — Cache PHP alternatif
    • APD — Débogueur PHP avancé
    • bcompiler — Compilateur bytecode PHP
    • Gestion des erreurs — Gestion des erreurs et des journaux
    • htscanner — Support du format .htaccess pour toutes les SAPI
    • inclued — Arbre d'inclusions
    • Options PHP et informations PHP
    • Memtrack
    • Surcharge d'objets
    • Contrôle de l'affichage — Bufferisation de sortie
    • runkit
    • scream — Casse l'opérateur de silence
    • WinCache — Windows Cache pour PHP
  • Manipulation audio
    • ID3 — Balises ID3
    • KTaglib
    • oggvorbis — OGG/Vorbis
    • OpenAL — Gestion Audio OpenAL
  • Services d'identification
    • KADM5 — Kerberos V
    • Radius
  • Extensions relatives aux dates et aux heures
    • Calendar
    • Date/Heure — Date et Heure
  • Extensions spécifiques à la ligne de commande
    • Newt
    • Ncurses — Fonctions de contrôle d'écran de terminal
    • Readline — GNU Readline
  • Extensions sur l'archivage et la compression
    • Bzip2
    • LZF
    • Phar
    • Rar — Archives RAR
    • Zip
    • Zlib — Compression Zlib
  • Traitement des cartes de crédit
    • MCVE — Paiement MCVE (Monetra)
    • SPPLUS — Système de paiement SPPLUS
  • Extensions sur la cryptographie
    • Crack — Cracklib
    • Hash — HASH
    • Mcrypt
    • Mhash
    • OpenSSL
  • Extensions sur les bases de données
    • Interface d'abstraction
    • Extensions spécifiques des fabricants de bases de données
  • Extensions relatives aux systèmes de fichiers
    • Direct IO
    • Les dossiers
    • Fileinfo — Informations sur les fichiers
    • Système de fichiers
    • Inotify
    • Mimetype
    • xattr
    • xdiff
  • Support du langage humain et de l'encodage de caractères
    • Enchant — Bibliothèque d'orthographe Enchant
    • FriBiDi
    • Gettext
    • iconv
    • intl — Fonctions d'internationalisation
    • Chaînes de caractères multi-octets
    • Pspell
    • Recode — GNU Recode
  • Génération et traitement des images
    • Exif — Informations Exif
    • GD — Traitement des images et GD
    • ImageMagick — Traitement des images (ImageMagick)
    • Gmagick
    • Cairo
  • Extensions relatives aux emails
    • Cyrus — Administration Cyrus IMAP
    • IMAP — IMAP, POP3 et NNTP
    • Mail
    • Mailparse
    • vpopmail
  • Extensions sur les mathématiques
    • BC Math — Fonctions BCMath
    • GMP — GNU Multiple Precision
    • Math — Fonctions mathématiques
    • Fonctions statistiques
  • Affichage des données non-textuelles
    • FDF — Format de formulaire
    • GnuPG — GNU PG
    • haru — Haru PDF
    • Ming — Ming (flash)
    • PDF
    • PS — Création de document PostScript
    • RPM Reader — Lecture d'en-tête RPM
    • SWF — Shockwave Flash
  • Extensions sur le contrôle des processus
    • Exécution de programme — Système d'exécution de programme
    • Expect
    • Libevent
    • PCNTL — Contrôle du processus
    • POSIX
    • Semaphore — Sémaphore
    • Mémoire partagée
  • Autres extensions basiques
    • GeoIP — Localisation géographique des IPs
    • JSON — Notation Objet JavaScript
    • Misc. — Fonctions diverses
    • Parsekit
    • SPL — Bibliothèque standard PHP (SPL)
    • Types SPL — Gestion des types SPL
    • Flux
    • Tidy
    • Tokenizer
    • URLs
    • Yaml — Sérialisation de données YAML
  • Autres services
    • AMQP
    • chdb — Constant hash database
    • cURL — Bibliothèque d'URL client
    • FAM — Moniteur d'altération de fichiers
    • FTP
    • Gupnp
    • Hyperwave
    • Hyperwave API
    • HTTP
    • Java — Intégration PHP / Java
    • LDAP — Lightweight Directory Access Protocol
    • Lotus Notes
    • Memcache
    • Memcached
    • Gearman
    • mqseries
    • Gopher — Net Gopher
    • Réseau
    • SAM — SAM - Messagerie asynchrone
    • SNMP
    • Sockets
    • SSH2 — Fonctions Shell2 sécurisé
    • Stomp — Client Stomp
    • SVN — Subversion
    • TCP — TCP Wrappers
    • YAZ
    • YP/NIS
  • Extensions spécifiques aux moteurs de recherche
    • mnoGoSearch
    • Sphinx — Client Sphinx
    • Swish — Indexation Swish
    • Solr — Apache Solr
  • Extensions spécifiques aux serveurs
    • Apache
    • IIS — Administration d'IIS
    • NSAPI
  • Extensions sur les Sessions
    • Msession — Fonctions sur le gestionnaire de session Mohawk
    • Sessions — Gestion des sessions
    • Session PgSQL — Sauvegarde d'Identifiant de session dans PostgreSQL
  • Traitement du texte
    • BBCode
    • PCRE — Expressions rationnelles (compatible Perl)
    • Regex POSIX — Expressions rationnelles
    • Chaîne de caractères
  • Extensions relatives aux variables et aux types
    • Les tableaux
    • Classes/Objets — Les Classes/Objets
    • Classkit
    • ctype — Vérification des types de caractères
    • Filter — Filtrage des données
    • Gestion des fonctions
    • Agrégation d'objets — Agrégation/composition d'objets [PHP4]
    • Reflection
    • Gestion des variables
  • Services Web
    • OAuth
    • SCA
    • SOAP
    • XML-RPC
  • Extensions pour Windows uniquement
    • .NET
    • COM — COM et .Net (Windows)
    • Impression
    • W32api
    • win32ps
    • win32service
  • Manipulation XML
    • DOM — Model Objet d'un document
    • DOM XML (PHP 4)
    • libxml
    • qtdom
    • SDO
    • SDO-DAS-Relational — SDO Relationnel Service d'Accès de Données
    • SDO DAS XML — Fonctions de Service d'Accès de Données SDO XML
    • SimpleXML
    • WDDX
    • Analyseur syntaxique XML
    • XMLReader
    • XMLWriter
    • XSL
    • XSLT (PHP4)
Considerations sur les performances
Affecte le comportement de PHP
Manuel PHP


Affecte le comportement de PHP

  • APC — Cache PHP alternatif
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions APC
    • APCIterator — La classe APCIterator
  • APD — Débogueur PHP avancé
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions APD
  • bcompiler — Compilateur bytecode PHP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions bcompiler
  • Gestion des erreurs — Gestion des erreurs et des journaux
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions sur la gestion des erreurs
  • htscanner — Support du format .htaccess pour toutes les SAPI
    • Introduction
    • Installation/Configuration
  • inclued — Arbre d'inclusions
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions inclued
  • Options PHP et informations PHP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur les options et les informations de PHP
  • Memtrack
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
  • Surcharge d'objets
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions sur la surcharge d'objets
  • Contrôle de l'affichage — Bufferisation de sortie
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions de bufferisation de sortie
  • runkit
    • Introduction
    • Constantes pré-définies
    • Installation/Configuration
    • Fonctions runkit
  • scream — Casse l'opérateur de silence
    • Introduction
    • Installation/Configuration
    • Exemples
  • WinCache — Windows Cache pour PHP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • WinCache Fonctions
    • Compilation sous Windows
Référence des fonctions
APC
Référence des fonctions


Cache PHP alternatif

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions APC
    • apc_add — Met en cache une variable dans le magasin de données
    • apc_bin_dump — Récupère une sortie binaire des fichiers fournis et des variables utilisateur
    • apc_bin_dumpfile — Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique
    • apc_bin_load — Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC
    • apc_bin_loadfile — Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC
    • apc_cache_info — Récupère les informations du cache dans l'entrepôt APC
    • apc_cas
    • apc_clear_cache — Efface le cache APC
    • apc_compile_file — Stocke un fichier dans le cache, en évitant tous les filtres
    • apc_dec — Décrémente un nombre stocké
    • apc_define_constants — Définit un jeu de constantes pour la récupération et la définition en masse
    • apc_delete_file — Efface un fichier depuis le cache opcode
    • apc_delete — Efface une variable stockée dans le cache
    • apc_exists — Vérifie si une clé APC existe
    • apc_fetch — Récupère une variable stockée dans le cache
    • apc_inc — Incrémente un nombre stocké
    • apc_load_constants — Charge un jeu de constantes depuis le cache
    • apc_sma_info — Récupère les informations d'allocation mémoire partagée d'APC
    • apc_store — Met en cache une variable dans le magasin
  • APCIterator — La classe APCIterator
    • APCIterator::__construct — Construit un objet d'itération APCIterator
    • APCIterator::current — Récupère l'élément en cours
    • APCIterator::getTotalCount — Récupère le nombre total d'éléments
    • APCIterator::getTotalHits — Récupère le nombre total de cache hits
    • APCIterator::getTotalSize — Récupère la taille totale du cache
    • APCIterator::key — Récupère la clé de l'itérateur
    • APCIterator::next — Déplace le pointeur vers l'élément suivant
    • APCIterator::rewind — Rembobine l'itérateur
    • APCIterator::valid — Vérifie si la position actuelle de l'itérateur est valide
Affecte le comportement de PHP
Introduction
Affecte le comportement de PHP


Introduction

Le "Alternative PHP Cache" (APC) est un cache d'opcode libre et ouvert pour PHP. Son objectif est de fournir un framework libre, ouvert et robuste pour la mise en cache et l'optimisation de code intermédiaire PHP.

APC
Installation/Configuration
APC


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
APC


Pré-requis

Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/apc.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Note: Sous Windows, APC a besoin d'un chemin temporaire pour exister devant être accessible en écriture par le serveur Web. Il vérifie la valeur des variables d'environnement TMP, TEMP et USERPROFILE dans cet ordre, et tente finalement le dossier WINDOWS si aucune de ces variables n'est définie.

Note: Pour des détails techniques sur l'implémentation de ce framework, lisez le » fichier TECHNOTES fourni par les développeurs .

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Bien que la configuration par défaut d'APC soit suffisante pour la plupart des installations, les utilisateurs avancés devraient affiner certains paramètres.

Il y a deux décisions importantes que vous devez prendre. D'abord, la quantité de mémoire partagée que vous voulez allouer à APC et ensuite, si vous voulez qu'APC vérifie si un fichier a été modifié à chaque requête. Les deux directives de configuration concernées sont apc.shm_size et apc.stat. Lisez avec attention la section suivante sur ces deux directives de configuration.

Une fois que vous avez un serveur qui fonctionne, vous devez copier le script apc.php fourni avec l'extension dans un endroit accessible par le serveur web, puis, appelez-le depuis votre navigateur. Il vous fournit tous les détails de votre cache. Si GD est actif sur votre configuration PHP, il y aura aussi de jolis graphiques. La première chose à vérifier est s'il y a actuellement des fichiers en cache. En supposant que cela fonctionne, vous devez donc faire attention au nombre Cache full count sur la gauche. Il indique le temps depuis lequel le cache a été créé et qui doit effacer les entrées non utilisées depuis apc.ttl secondes. Vous devriez configurer votre cache pour minimiser ce nombre. Si vous remplissez constamment votre cache, la génération du cache résultant va prendre beaucoup de ressources. Vous devriez soit allouer plus de mémoire pour APC, soit utiliser apc.filters pour mettre en cache moins de scripts.

Options de configuration APC
Nom | Défaut | Modifiable | Historique
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM avec APC 2. PHP_INI_ALL avec APC <= 3.0.12p2
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM avec APC 2. Supprimé depuis APC 3.0.13.
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.ttl | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM avec APC <= 3.0.12p2. Disponible depuis APC 3.0.0.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.6.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.7.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.7.
apc.use_request_time | "1" | PHP_INI_ALL | Disponible depuis APC 3.1.3.
apc.stat | "1" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.10.
apc.write_lock | "1" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.11.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.11.
apc.include_once_override | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.12.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.13.
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_ttl | "3600" | PHP_INI_SYSTEM | Disponible depuis APC 3.1.1.
apc.localcache | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.14.
apc.coredump_unmap | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.16.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.13.
apc.preload_path | NULL | PHP_INI_SYSTEM | Disponible depuis APC 3.1.1.
apc.file_md5 | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.1.1.
apc.canonicalize | "1" | PHP_INI_SYSTEM | Disponible depuis APC 3.1.1.
apc.lazy_functions | 0 | PHP_INI_SYSTEM | Disponible depuis APC 3.1.3.
apc.lazy_classes | 0 | PHP_INI_SYSTEM | Disponible depuis APC 3.1.3.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

apc.enabled booléen

apc.enabled peut être défini à 0 pour désactiver APC. Ceci est utile lorsque APC est compilé statiquement dans PHP, et qu'il n'y a donc aucun autre moyen de le désactiver (lorsque compilé en tant que DSO, la ligne extension dans le php.ini peut juste être commentée).

apc.shm_segments entier

Le nombre de segments mémoire à allouer pour le cache compilé. Si APC fonctionne en dehors de la mémoire partagée, mais que vous avez déjà défini apc.shm_size aussi élevé que votre système le permet, vous pouvez tenter de relever cette valeur.

apc.shm_size entier

La taille de chaque segment de mémoire partagé en MB. Par défaut, quelques systèmes (incluant la plupart des BSD) ont une limite basse de la taille d'un segment mémoire partagé.

apc.optimization entier

Le degré d'optimisation. Zéro désactive l'optimiseur, et de hautes valeurs utilisent des optimisations agressives. Attendez-vous à des améliorations très modestes de vitesse. Ceci est expérimental.

apc.num_files_hint entier

Un "conseil" au sujet du nombre de fichiers sources distincts qui seront inclus ou demandés sur votre serveur web. Placez à zéro ou omettez-le si vous n'êtes pas sûr ; cet arrangement est principalement utile pour les sites qui ont des milliers de fichiers sources.

apc.user_entries_hint entier

Tout comme apc.num_files_hint, un "conseil" à propos du nombre de variables de cache utilisateur distinctes à stocker. Définissez le à 0 ou ne le définissez pas si vous n'êtes pas sûr.

apc.ttl entier

Le nombre de secondes qu'une entrée de cache est autorisée à stagner dans un slot dans le cas où ce slot d'entrée de cache est nécessaire pour une autre entrée. Laisser à zéro signifie que votre cache pourrait potentiellement remplir d'autres entrées tant que d'autres entrées ne seront pas mises en cache.

apc.user_ttl entier

Le nombre de secondes qu'une entrée utilisateur du cache est autorisée à résider dans un slot dans le cas où ce slot d'entrée de cache est demandé par une autre entrée. Laisser cette option à zéro signifie que votre cache peut potentiellement être rempli avec des entrées obsolètes lorsqu'il n'y a eu jamais d'entrées mises en cache. Dans le cas où le cache est à court d'espace, ce dernier sera totalement vidé si ttl vaut 0. Sinon, et si le ttl est supérieur à 0, APC va tenter de supprimer les entrées qui ont dépassé leur date d'expiration.

apc.gc_ttl entier

Le nombre de secondes qu'une entrée de cache est autorisée à rester sans utilisation, au cas où cet espace pourrait être nécessaires à une autre entrée. La valeur de zéro fait que votre cache pourrait se remplir avec des entrées oisives, et que les nouvelles entrées ne soient pas mises en cache. Dans le cas où le cache est à court de mémoire, le cache sera totalement vidé si ttl vaut 0. Sinon, et si ttl est supérieur à 0, APC va tenter de supprimer les entrées qui ont dépassé leur date d'expiration.

apc.cache_by_default booléen

Actif par défaut, mais peut être désactivé et utilisé en conjonction avec un apc.filters positif donc ces fichiers seront uniquement mis en cache s'ils correspondent à un filtre positif.

apc.filters chaîne de caractères

Une liste séparée par des virgules d'expressions rationnelles POSIX. Si un seul masque correspond à un nom de fichier source, le fichier ne sera pas mis en cache. Notez que le nom du fichier utilisé pour le masque est celui passé aux instructions include() require(), et non un chemin absolu. Si le premier caractère de l'expression est un + alors l'expression sera additive dans le sens que chaque fichier correspondant à l'expression sera mis en cache, et si le premier caractère est un - alors tout ce qui correspond ne sera pas mis en cache. Le cas du - est celui par défaut, donc, il peut être omis.

apc.mmap_file_mask chaîne de caractères

Si compilé avec le support MMAP en utilisant --enable-mmap, ce sera le style mktemp de masque de fichier à passer au module MMAP pour déterminer si votre région de mémoire MMAP va être mise dans un fichier ou en mémoire partagée. Dans le cas de la mise en cache dans un fichier MMAP, définissez ce paramètre comme /tmp/apc.XXXXXX (exactement 6 X). Pour utiliser le style POSIX shm_open/mmap, placez un .shm quelque part dans votre masque, e.g. /apc.shm.XXXXXX. Vous pouvez également définir ce paramètre à /dev/zero pour utiliser votre interface kernel /dev/zero pour la mémoire anonyme MMAP. Le laisser indéfini forcera un MMAP anonyme.

apc.slam_defense entier

Sur les serveurs très surchargés lorsque vous démarrez le serveur ou modifiez des fichiers, vous pouvez créer une course de plusieurs processus pour mettre en cache le même fichier en même temps. Cette option définit le pourcentage de processus qui évitera de tenter de mettre en cache un fichier non mis en cache. Ou pensez à lui comme probabilité d'un processus simple pour éviter la mise en cache. Par exemple, définir apc.slam_defense à 75 signifie qu'il y a 75 % de chances que le processus ne mettra pas en cache un fichier qui ne s'y trouvera pas déjà. Définir à 0 pour désactiver cette fonctionnalité.

Obsolète avec apc.write_lock.

apc.file_update_protection entier

Lorsque vous modifiez un fichier sur un serveur web, vous devriez le faire d'une façon atomique. Écrivez-le dans un fichier temporaire et renommez-le (mv) vers sa position permanente lorsqu'il est prêt. La plupart des éditeurs de texte, cp, tar et les autres programmes de ce genre ne font pas cela. Cela signifie qu'il y a une chance pour que le fichier soit accédé (et donc, mis en cache) alors qu'il est encore en cours d'écriture. Ce paramètre apc.file_update_protection fait intervenir un délai pour la mise en cache des nouveaux fichiers. Par défaut, il vaut 2 secondes, ce qui signifie que si le timestamp de modification (mtime) d'un fichier montre qu'il vaut moins de 2 secondes, ce fichier ne sera pas mis en cache. La personne malheureuse qui a accédé à ce fichier à moitié écrit verra une ébauche, mais au moins celui-ci ne persistera pas en cache. Si vous êtes certain de mettre toujours et automatiquement à jour vos fichiers en utilisant quelque chose comme rsync qui fait cela correctement, vous pouvez désactiver cette protection en le définissant à 0. Si vous avez une application très intensive sur le disque, qui force les procédures de mise à jour à prendre plus de 2 secondes, vous pourriez vouloir augmenter la valeur de cette directive.

apc.enable_cli entier

Pour tester et déboguer. Définir ceci active APC pour la version CLI de PHP. Normalement, vous ne devriez pas vouloir créer, peupler et démonter le cache APC à chaque requête CLI, mais pour divers scénarios de test, elle est maniable afin de pouvoir activer facilement APC pour la version CLI d'APC.

apc.max_file_size entier

Permet d'éviter la mise en cache des fichiers dont la taille est supérieure à cette valeur. Par défaut, 1Mo.

apc.stat entier

Faites très attention si vous modifiez cette valeur. Par défaut, APC vérifie le script à chaque demande pour voir s'il a été modifié ou non. S'il a été modifié, il sera compilé à nouveau et la nouvelle version sera mise en cache. En désactivant cette option, aucune vérification n'aura lieu. Cela signifie que si vous voulez activer les modifications, vous devez redémarrer le serveur web. Sur un serveur de production où vous modifiez rarement le code, le fait de désactiver cette option permet de gagner en performances de manière significative.

Pour les fichiers inclus/requis, cette option est également appliquée, mais notez que si vous utilisez des chemins relatifs (n'importe quel chemin qui ne commence pas par un / sous Unix), APC doit identifier de manière unique le fichier à vérifier. Si vous utilisez des chemins absolus pour vos inclusions, APC peut éviter ces vérifications et utiliser ce chemin absolu en tant qu'identifiant unique du fichier.

apc.write_lock booléen

Sur les serveurs très chargés, lorsque vous démarrez le serveur, ou lorsque beaucoup de fichiers sont modifiés, vous pouvez en finir avec les processus qui tentent de compiler et mettre en cache le même fichier. Lorsque apc.write_lock est activé, uniquement un seul processus à la fois tentera de compiler un script de mise en cache tandis que les autres processus exécuteront les fichiers non mis en cache au lieu d'attendre que le verrou se libère.

apc.report_autofilter booléen

Logs tous les scripts qui sont automatiquement exclus de la mise en cache à cause de problèmes de liaison.

apc.include_once_override booléen

Optimise les appels aux fonctions include_once() et require_once() et évite ainsi de surcharger le système appelant.

apc.rfc1867 booléen

Le gestionnaire de progression de téléchargement de fichier RFC1867 n'est disponible que si vous avez compilé APC avec PHP 5.2.0 ou supérieur. Lors le support est actif, les fichiers téléchargés qui incluent un champ appelé APC_UPLOAD_PROGRESS avant le champ "file" d'un formulaire de téléchargement fera qu'APC créera automatiquement une entrée de cache utilisateur nommée upload_key où key est la valeur de l'entrée de formulaire APC_UPLOAD_PROGRESS.

Notez que les champs cachés spécifié par APC_UPLOAD_PROGRESS doivent être placés avant le champ de type file, sinon le suivi de l'upload ne fonctionnera pas correctement.

Notez que la surveillance du téléchargement de fichier n'est pas compatible avec les threads pour le moment, ainsi, les nouveaux téléchargements survenant tandis qu'un précédent est toujours en cours désactivera la surveillance précédente.

Exemple #1 Exemple avec apc.rfc1867

<?php
print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)

apc.rfc1867_prefix chaîne de caractères

Préfixe de la clé à utiliser pour l'entrée de cache utilisateur généré par la fonctionnalité de progression de téléchargement RFC1867.

apc.rfc1867_name chaîne de caractères

Spécifie le nom du champ masqué du formulaire qui active la progression du téléchargement et spécifie le suffixe de la clé du cache utilisation.

apc.rfc1867_freq chaîne de caractères

La fréquence à laquelle la mise à jour doit être effectuée pour l'entrée du cache utilisateur pour la progression du téléchargement. Peut prendre la forme d'un pourcentage de la taille totale du fichier ou une taille, en octets, optionnellement suffixée par "k", "m", ou "g" pour kilo-octets, méga-octets ou giga-octets (insensible à la casse). Si vous définissez cette option à 0, la mise à jour intervient aussi souvent que possible, ce qui peut rendre le téléchargement plus lent.

apc.rfc1867_ttl bool

TTL pour les entrées rfc1867.

apc.localcache booléen

Ceci active un processus d'interface locale libre de cache, ce qui réduit les controverses de verrous lorsque le cache est sur le point d'être écrit.

apc.localcache.size entier

La taille du processus d'interface locale libre de cache, doit être définit à une valeur suffisamment élevée, soit approximativement la moitié de la valeur de apc.num_files_hint.

apc.coredump_unmap booléen

Active la gestion APC des signaux, comme SIGSEGV, qui écrit les fichiers internes lorsqu'il est émis. Lorsque ces signaux sont reçus, APC tentera de détacher les segments de la mémoire partagées afin de les exclure du fichier interne. Cette configuration devrait rendre plus stable le système lorsque des signaux fatales sont reçus et qu'un gros segment APC de mémoire partagée est configuré.

Avertissement

Cette fonctionnalité est potentiellement dangereuse. Le détachement d'un segment de mémoire partagée dans un gestionnaire de signaux fatals peut produire à un comportement indéterminé si une erreur fatale survient.

Note: Bien que quelques noyaux puissent ignorer divers types de mémoire partagée lors de la génération du fichier interne, ces implémentations peuvent également ignorer d'importants segments de mémoire partagée tel que le scoreboard d'Apache.

apc.stat_ctime entier

Une vérification avec ctime prévient les problèmes causés par des programmes comme svn ou rsync en s'assurant que les inodes n'ont pas été modifiés depuis le dernier appel à stat. APC, normalement, n'utilise que mtime pour cela.

apc.canonicalize bool

Si activé les chemins relatifs sont cononisés en mode no-stat.

apc.preload_path string

apc.use_request_time bool

Utilise le temp de début derequête SAPI pour le TTL.

apc.file_md5 bool

Enregistre un hashage md5 pour les fichiers.

apc.lazy_functions integer

Active le chargement à la demande pour les fonctions.

apc.lazy_classes integer

Active le chargement à la demande pour les classes.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

APC_BIN_VERIFY_CRC32 ( integer )
APC_BIN_VERIFY_MD5 ( integer )
APC_ITER_ALL ( integer )
APC_ITER_ATIME ( integer )
APC_ITER_CTIME ( integer )
APC_ITER_DEVICE ( integer )
APC_ITER_DTIME ( integer )
APC_ITER_FILENAME ( integer )
APC_ITER_INODE ( integer )
APC_ITER_KEY ( integer )
APC_ITER_MD5 ( integer )
APC_ITER_MEM_SIZE ( integer )
APC_ITER_MTIME ( integer )
APC_ITER_NONE ( integer )
APC_ITER_NUM_HITS ( integer )
APC_ITER_REFCOUNT ( integer )
APC_ITER_TTL ( integer )
APC_ITER_TYPE ( integer )
APC_ITER_VALUE ( integer )
APC_LIST_ACTIVE ( integer )
APC_LIST_DELETED ( integer )

Types de ressources
Fonctions APC
APC


Fonctions APC

Sommaire

  • apc_add — Met en cache une variable dans le magasin de données
  • apc_bin_dump — Récupère une sortie binaire des fichiers fournis et des variables utilisateur
  • apc_bin_dumpfile — Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique
  • apc_bin_load — Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC
  • apc_bin_loadfile — Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC
  • apc_cache_info — Récupère les informations du cache dans l'entrepôt APC
  • apc_cas — apc_cas
  • apc_clear_cache — Efface le cache APC
  • apc_compile_file — Stocke un fichier dans le cache, en évitant tous les filtres
  • apc_dec — Décrémente un nombre stocké
  • apc_define_constants — Définit un jeu de constantes pour la récupération et la définition en masse
  • apc_delete_file — Efface un fichier depuis le cache opcode
  • apc_delete — Efface une variable stockée dans le cache
  • apc_exists — Vérifie si une clé APC existe
  • apc_fetch — Récupère une variable stockée dans le cache
  • apc_inc — Incrémente un nombre stocké
  • apc_load_constants — Charge un jeu de constantes depuis le cache
  • apc_sma_info — Récupère les informations d'allocation mémoire partagée d'APC
  • apc_store — Met en cache une variable dans le magasin
Constantes pré-définies
apc_add
APC


Met en cache une variable dans le magasin de données

Fonctions APC
apc_bin_dump
Fonctions APC
PHP Manual

apc_add

(PECL apc >= 3.0.13)

apc_add — Met en cache une variable dans le magasin de données

Description

bool apc_add ( string $key , mixed $var [, int $ttl = 0 ] )

Met en cache une variable dans le magasin de données, uniquement si elle ne s'y trouve pas déjà.

Note: Contrairement aux autres mécanismes en PHP, les variables stockées en utilisant la fonction apc_add() seront persistantes entre les requêtes (jusqu'à ce que la valeur soit effacée du cache).

Liste de paramètres

key

Stocke la variable en utilisant son nom. La clé key est unique dans le cache, donc utilisez la fonction apc_add() pour stocker une donnée avec une clé qui existe déjà n'efface pas la donnée existante, mais retournera FALSE. (C'est la seule différence entre la fonction apc_add() et la fonction apc_store().)

var

La variable à stocker

ttl

Durée de vie ; stocke la variable var dans le cache pendant ttl secondes. Après ce délai, la variable stockée sera effacée du cache (à la requête suivante). Si le paramètre ttl n'est pas fourni (ou s'il vaut 0), la valeur persistera tant qu'elle ne sera pas effacée manuellement du cache, ou si elle n'existe plus dans le cache (effacement, redémarrage, etc.).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_add()

<?php
$bar = 'BAR';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
?>

L'exemple ci-dessus va afficher :

string(3) "BAR"
string(3) "BAR"

Voir aussi

  • apc_store() - Met en cache une variable dans le magasin
  • apc_fetch() - Récupère une variable stockée dans le cache
  • apc_delete() - Efface une variable stockée dans le cache

Fonctions APC
apc_bin_dump
Fonctions APC


Récupère une sortie binaire des fichiers fournis et des variables utilisateur

apc_add
apc_bin_dumpfile
Fonctions APC
PHP Manual

apc_bin_dump

(PECL apc >= 3.1.4)

apc_bin_dump — Récupère une sortie binaire des fichiers fournis et des variables utilisateur

Description

string apc_bin_dump ([ array $files [, array $user_vars ]] )

Retourne une sortie binaire des fichiers fournis et des variables utilisateur depuis le cache APC. Passer NULL pour les fichiers ou les variables utilisateur signifie une sortie pour chaque entrée alors que array() permettra de n'avoir aucune sortie.

Liste de paramètres

files

Les fichiers. Passer NULL indique un retour pour chaque entrée alors que passer array() ne génèrera aucune sortie.

user_vars

Les variables utilisateur. Passer NULL indique un retour pour chaque entrée alors que passer array() ne génèrera aucune sortie.

Valeurs de retour

Retourne une sortie binaire de chaque fichiers et chaque variables utilisateur depuis le cache APC. FALSE est retourné si APC n'est pas activé et NULL si une erreur est survenue.

Voir aussi

  • apc_bin_dumpfile() - Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique
  • apc_bin_load() - Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC
apc_add
apc_bin_dumpfile
Fonctions APC


Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique

apc_bin_dump
apc_bin_load
Fonctions APC
PHP Manual

apc_bin_dumpfile

(PECL apc >= 3.1.4)

apc_bin_dumpfile — Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique

Description

int apc_bin_dumpfile ( array $files , array $user_vars , string $filename [, int $flags [, resource $context ]] )

Envoi une sortie binaire des fichiers fournis et des variables utilisateur depuis le cache APC vers un fichier fourni.

Liste de paramètres

files

Les noms de fichier à sortir.

user_vars

Les variables utilisateur à sortir.

filename

Le fichier vers lequel envoyer les sorties.

flags

Drapeaux passés au flux filename. Voyez la documentation de file_put_contents() pour plus de détails.

context

Le contexte de flux à passer pour filename. Voyez la documentation de file_put_contents() pour plus de détails.

Valeurs de retour

Le nombre d'octets écrits dans le fichier, sinon FALSE si APC n'est pas activé, si filename est invalide ou ne peut être ouvert, si la sortie générée est incomplète (ex: le disque est plein) ou enfin si une erreur quelconque est survenue.

Voir aussi

  • apc_bin_dump() - Récupère une sortie binaire des fichiers fournis et des variables utilisateur
  • apc_bin_load() - Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC
apc_bin_dump
apc_bin_load
Fonctions APC


Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC

apc_bin_dumpfile
apc_bin_loadfile
Fonctions APC
PHP Manual

apc_bin_load

(PECL apc >= 3.1.4)

apc_bin_load — Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC

Description

bool apc_bin_load ( string $data [, int $flags ] )

Charge la sortie binaire fournie dans le cache fichiers ou utilisateur d'APC

Liste de paramètres

data

La sortie binaire à charger, provenant de apc_bin_dump().

flags

Soit APC_BIN_VERIFY_CRC32, soit APC_BIN_VERIFY_MD5, ou encore les deux combinés.

Valeurs de retour

Retourne TRUE si la sortie binaire data a été chargée avec succès, sinon FALSE est retourné. FALSE est retourné si APC n'est pas activé ou si data n'est pas une sortie APC valide (ex: taille incorrecte).

Exemples

Exemple #1 Exemple apc_bin_load()

<?php
$data = apc_bin_dump(NULL, NULL);
apc_bin_load($data, APC_BIN_VERIFY_MD5 | APC_BIN_VERIFY_CRC32);
?>

Voir aussi

  • apc_bin_dump() - Récupère une sortie binaire des fichiers fournis et des variables utilisateur
  • apc_bin_loadfile() - Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC
apc_bin_dumpfile
apc_bin_loadfile
Fonctions APC


Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC

apc_bin_load
apc_cache_info
Fonctions APC
PHP Manual

apc_bin_loadfile

(PECL apc >= 3.1.4)

apc_bin_loadfile — Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC

Description

bool apc_bin_loadfile ( string $filename [, resource $context [, int $flags ]] )

Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC

Liste de paramètres

filename

Le nom du fichier contenant la sortie binaire, typiquement depuis apc_bin_dumpfile().

context

Le contexte des fichiers.

flags

Soit APC_BIN_VERIFY_CRC32, soit APC_BIN_VERIFY_MD5, ou encore les deux combinés.

Valeurs de retour

Retourne TRUE en cas de succès, ou alors FALSE Les raisons d'un retour FALSE incluent la non activation de APC, filename invalide ou non ouvrable, le fichier de sortie est incomplet ou encore si data n'est pas une sortie APC valide (ex: taille incorrecte).

Voir aussi

  • apc_bin_dumpfile() - Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique
  • apc_bin_load() - Charge une sortie binaire dans le cache fichiers ou utilisateur d'APC
apc_bin_load
apc_cache_info
Fonctions APC


Récupère les informations du cache dans l'entrepôt APC

apc_bin_loadfile
apc_cas
Fonctions APC
PHP Manual

apc_cache_info

(PECL apc >= 2.0.0)

apc_cache_info — Récupère les informations du cache dans l'entrepôt APC

Description

array apc_cache_info ([ string $cache_type [, bool $limited = false ]] )

Récupère les informations du cache et les métadonnées depuis le magasin APC.

Valeurs de retour

Un tableau de données mis en cache (et les métadonnées) ou FALSE si une erreur survient.

Note: apc_cache_info() émet une alerte s'il n'est pas capable de récupérer les données APC mises en cache. Ceci arrive typiquement lorsque APC n'est pas activé.

Liste de paramètres

cache_type

Si cache_type vaut "user", les informations sur le cache utilisateur seront retournées.

Si cache_type vaut "filehits", les informations sur les fichiers ayant été servis depuis le cache pour la requête courante seront retournées. Cette fonctionnalité doit être activé lors de la compilation, en utilisant l'option --enable-filehits.

Si cache_type est non spécifié ou invalide, l'information à propos du cache système (fichiers mis en cache) est retournée.

limited

Si limited vaut TRUE, la valeur retournée exclue les entrées de la liste individuelle du cache. Ceci est utile lorsque l'on tente d'optimiser les appels pour la collecte de statistiques.

Historique

Version | Description
3.0.11 | Le paramètre limited a été introduit.
3.0.16 | L'option "filehits" du paramètre cache_type a été introduite.

Exemples

Exemple #1 Exemple avec apc_cache_info()

<?php
print_r(apc_cache_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /chemin/vers/apc_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...itération pour chaque fichier mis en cache)
)

Voir aussi

  • Directives de configuration APC
  • APCIterator::getTotalSize - Récupère la taille totale du cache
  • APCIterator::getTotalHits - Récupère le nombre total de cache hits
  • APCIterator::getTotalCount - Récupère le nombre total d'éléments

apc_bin_loadfile
apc_cas
Fonctions APC


apc_cas

(PECL apc >= 3.1.1)

apc_cas — apc_cas

Description

int apc_cas ( string $key , int $old , int $new )

apc_cas

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

key

old

new

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple apc_cas()

<?php
apc_store('foobar',2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;

apc_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1

Voir aussi

  • apc_dec() - Décrémente un nombre stocké
  • apc_store() - Met en cache une variable dans le magasin
apc_cache_info
apc_clear_cache
Fonctions APC


Efface le cache APC

apc_cas
apc_compile_file
Fonctions APC
PHP Manual

apc_clear_cache

(PECL apc >= 2.0.0)

apc_clear_cache — Efface le cache APC

Description

bool apc_clear_cache ([ string $cache_type ] )

Efface le cache utilisateur/système.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Liste de paramètres

cache_type

Si cache_type vaut "user", le cache utilisateur sera nettoyé ; sinon, le cache système (les fichiers mis en cache) sera nettoyé.

Voir aussi

  • apc_cache_info() - Récupère les informations du cache dans l'entrepôt APC

apc_cas
apc_compile_file
Fonctions APC


Stocke un fichier dans le cache, en évitant tous les filtres

apc_clear_cache
apc_dec
Fonctions APC
PHP Manual

apc_compile_file

(PECL apc >= 3.0.13)

apc_compile_file — Stocke un fichier dans le cache, en évitant tous les filtres

Description

bool apc_compile_file ( string $filename )

Stocke un fichier dans le cache, en évitant tous les filtres.

Liste de paramètres

filename

Chemin complet ou relatif vers un fichier PHP qui sera compilé et stocké dans le cache.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • apc_bin_dumpfile() - Envoi une sortie binaire des fichiers fournis et des variables utilisateur vers un fichier spécifique
  • apc_bin_loadfile() - Charge une sortie binaire depuis un fichier dans le cache fichiers ou utilisateur d'APC
apc_clear_cache
apc_dec
Fonctions APC


Décrémente un nombre stocké

apc_compile_file
apc_define_constants
Fonctions APC
PHP Manual

apc_dec

(PECL apc >= 3.1.1)

apc_dec — Décrémente un nombre stocké

Description

int apc_dec ( string $key [, int $step = 1 [, bool &$success ]] )

Décrémente un nombre stocké

Liste de paramètres

key

La clé de la valeur à décrémenter.

step

Le pas, ou la valeur à décrémenter.

success

Booléen optionnel pass/fail (par référence).

Valeurs de retour

Retourne la valeur courante de key en cas de succès, ou FALSE si une erreur survient

Exemples

Exemple #1 Exemple apc_dec()

<?php
echo "Faisons les choses bien", PHP_EOL;

apc_store('anumber', 42);

echo apc_fetch('anumber'), PHP_EOL;

echo apc_dec('anumber'), PHP_EOL;
echo apc_dec('anumber', 10), PHP_EOL;
echo apc_dec('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Maintenant, un échec", PHP_EOL, PHP_EOL;

apc_store('astring', 'foo');

$ret = apc_dec('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Faisons les choses bien
42
41
31
21
bool(true)

Maintenant, un échec
bool(false)
bool(false)

Voir aussi

  • apc_inc() - Incrémente un nombre stocké
apc_compile_file
apc_define_constants
Fonctions APC


Définit un jeu de constantes pour la récupération et la définition en masse

apc_dec
apc_delete_file
Fonctions APC
PHP Manual

apc_define_constants

(PECL apc >= 3.0.0)

apc_define_constants — Définit un jeu de constantes pour la récupération et la définition en masse

Description

bool apc_define_constants ( string $key , array $constants [, bool $case_sensitive = true ] )

define() est notoirement lent. Vu que le principal bénéfice d'APC est d'augmenter les performances des applications/scripts, ce mécanisme est fourni pour améliorer le processus de la définition de constantes en masse. Cependant, cette fonction n'effectue aucune opération anticipée.

Pour une solution plus performante, essayez l'extension PECL » hidef.

Note: Pour effacer plusieurs constantes stockées (sans effacer tout le cache), un tableau vide peut être passé en tant que paramètre constants, ce qui effacera les valeurs stockées.

Liste de paramètres

key

La clé key correspondant au nom du jeu de constantes stockées. Ce paramètre key est utilisé pour récupérer les constantes stockées avec la fonction apc_load_constants().

constants

Un tableau associatif de paires constant_name => value. Le constant_name doit suivre les règles de nommage normales des constantes. value doit être évaluée comme une valeur scalaire.

case_sensitive

Le comportement par défaut pour les constantes est d'être déclarées en tenant compte de la casse ; i.e. CONSTANT et Constant représentent des valeurs différentes. Si ce paramètre est évalué à FALSE, les constantes seront déclarées en tant que symboles insensibles à la casse.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_define_constants()

<?php
$constants = array(
    'UN'   => 1,
    'DEUX'   => 2,
    'TROIS' => 3,
);
apc_define_constants('numbers', $constants);
echo UN, DEUX, TROIS;
?>

L'exemple ci-dessus va afficher :

123

Voir aussi

  • apc_load_constants() - Charge un jeu de constantes depuis le cache
  • define() - Définit une constante
  • constant() - Retourne la valeur d'une constante
  • Ou la référence sur les constantes PHP

apc_dec
apc_delete_file
Fonctions APC


Efface un fichier depuis le cache opcode

apc_define_constants
apc_delete
Fonctions APC
PHP Manual

apc_delete_file

(PECL apc >= 3.1.1)

apc_delete_file — Efface un fichier depuis le cache opcode

Description

mixed apc_delete_file ( mixed $keys )

Efface les fichiers indiqués depuis le cache opcode

Liste de paramètres

keys

Les fichiers à effacer. Accepte une string , array de strings, ou un objet APCIterator.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Ou si keys est un array , alors un tableau vide est retourné en cas de succès, ou un tableau contenant les fichiers en échec sinon.

Exemples

Exemple #1 Exemple apc_delete_file()

<?php
$filename = 'file.php';

if (apc_compile_file($filename)) {

    if (apc_delete_file($filename)) {
        echo "Fichier $filename supprimé avec succès depuis le cache APC.", PHP_EOL;
    }
}

if (apc_compile_file($filename)) {

    if ($good = apc_delete_file(array($filename, 'donotexist.php'))) {
        var_dump($good);
    }
}

$bad = apc_delete_file('donotexist.php');
var_dump($bad);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Fichier $filename supprimé avec succès depuis le cache APC
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file donotexist.php, unable to delete from cache. in /tmp/test.php on line 13.
array(1) {
  [0]=>
  string(14) "donotexist.php"
}
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file donotexist.php, unable to delete from cache. in /tmp/test.php on line 18.
bool(false)

Voir aussi

  • apc_clear_cache() - Efface le cache APC
  • apc_delete() - Efface une variable stockée dans le cache
  • apc_exists() - Vérifie si une clé APC existe
apc_define_constants
apc_delete
Fonctions APC


Efface une variable stockée dans le cache

apc_delete_file
apc_exists
Fonctions APC
PHP Manual

apc_delete

(PECL apc >= 3.0.0)

apc_delete — Efface une variable stockée dans le cache

Description

bool apc_delete ( string $key )

Efface une variable stockée dans le cache.

Liste de paramètres

key

La clé key utilisée pour stocker la valeur (avec apc_store()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_delete()

<?php
$bar = 'BAR';
apc_store('foo', $bar);
apc_delete('foo');
// c'est évidemment inutile sous cette forme
?>

Voir aussi

  • apc_store() - Met en cache une variable dans le magasin
  • apc_fetch() - Récupère une variable stockée dans le cache

apc_delete_file
apc_exists
Fonctions APC


Vérifie si une clé APC existe

apc_delete
apc_fetch
Fonctions APC
PHP Manual

apc_exists

(PECL apc >= 3.1.4)

apc_exists — Vérifie si une clé APC existe

Description

mixed apc_exists ( mixed $keys )

Vérifie si une ou plusieurs clés APC existent.

Liste de paramètres

keys

Une string , ou un array de chaines qui contient les clés.

Valeurs de retour

Retourne TRUE si la clé existe, sinon FALSE Ou si un array était passé à keys, alors un tableau est retourné, il contient toutes les clés existantes, ou un tableau vide si aucune clé n'existait.

Exemples

Exemple #1 Exemple apc_exists()

<?php
$fruit  = 'apple';
$veggie = 'carrot';

apc_store('foo', $fruit);
apc_store('bar', $veggie);

if (apc_exists('foo')) {
    echo "Foo existe: ";
    echo apc_fetch('foo');
} else {
    echo "Foo n'existe pas";
}

echo PHP_EOL;
if (apc_exists('baz')) {
    echo "Baz existe.";
} else {
    echo "Baz n'existe pas";
}

echo PHP_EOL;

$ret = apc_exists(array('foo', 'donotexist', 'bar'));
var_dump($ret);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Foo existe: apple
Baz n'existe pas
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Voir aussi

  • apc_cache_info() - Récupère les informations du cache dans l'entrepôt APC
  • apc_fetch() - Récupère une variable stockée dans le cache
apc_delete
apc_fetch
Fonctions APC


Récupère une variable stockée dans le cache

apc_exists
apc_inc
Fonctions APC
PHP Manual

apc_fetch

(PECL apc >= 3.0.0)

apc_fetch — Récupère une variable stockée dans le cache

Description

mixed apc_fetch ( mixed $key [, bool &$success ] )

Récupère une variable stockée dans le cache.

Liste de paramètres

key

La clé key utilisée pour stocker la valeur (avec apc_store()). Si un tableau est passé, chaque élément sera récupéré et retourné.

success

Vaut TRUE en cas de succès, et FALSE si une erreur survient.

Valeurs de retour

La variable stockée ou les variables du tableau en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_fetch()

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

L'exemple ci-dessus va afficher :

string(3) "BAR"

Historique

Version | Description
3.0.17 | Le paramètre success est ajouté.

Voir aussi

  • apc_store() - Met en cache une variable dans le magasin
  • apc_delete() - Efface une variable stockée dans le cache
  • APCIterator

apc_exists
apc_inc
Fonctions APC


Incrémente un nombre stocké

apc_fetch
apc_load_constants
Fonctions APC
PHP Manual

apc_inc

(PECL apc >= 3.1.1)

apc_inc — Incrémente un nombre stocké

Description

int apc_inc ( string $key [, int $step = 1 [, bool &$success ]] )

Incrémente un nombre stocké.

Liste de paramètres

key

La clé de la valeur à incrémenter.

step

Le pas, ou la valeur à incrémenter.

success

Booléen optionnel pass/fail (par référence).

Valeurs de retour

Retourne la valeur courante de key en cas de succès, ou FALSE si une erreur survient

Exemples

Exemple #1 Exemple apc_inc()

<?php
echo "Faisons les choses bien", PHP_EOL;

apc_store('anumber', 42);

echo apc_fetch('anumber'), PHP_EOL;

echo apc_inc('anumber'), PHP_EOL;
echo apc_inc('anumber', 10), PHP_EOL;
echo apc_inc('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Maintenant, un échec", PHP_EOL, PHP_EOL;

apc_store('astring', 'foo');

$ret = apc_inc('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Faisons les choses bien
42
43
53
63
bool(true)
Maintenant, un échec

bool(false)
bool(false)

Voir aussi

  • apc_dec() - Décrémente un nombre stocké
apc_fetch
apc_load_constants
Fonctions APC


Charge un jeu de constantes depuis le cache

apc_inc
apc_sma_info
Fonctions APC
PHP Manual

apc_load_constants

(PECL apc >= 3.0.0)

apc_load_constants — Charge un jeu de constantes depuis le cache

Description

bool apc_load_constants ( string $key [, bool $case_sensitive = true ] )

Charge un jeu de constantes depuis le cache.

Liste de paramètres

key

Le nom du jeu de constantes (qui a été stocké avec la fonction apc_define_constants()) à récupérer.

case_sensitive

Le comportement par défaut pour les constantes est d'être déclarées en tenant compte de la casse ; i.e. CONSTANT et Constant représentent des valeurs différentes. Si ce paramètre est évalué à FALSE, les constantes seront déclarées en tant que symboles insensibles à la casse.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_load_constants()

<?php
$constants = array(
    'UN'   => 1,
    'DEUX'   => 2,
    'TROIS' => 3,
);
apc_define_constants('numbers', $constants);
apc_load_constants('numbers');
echo UN, DEUX, TROIS;
?>

L'exemple ci-dessus va afficher :

123

Voir aussi

  • apc_define_constants() - Définit un jeu de constantes pour la récupération et la définition en masse
  • define() - Définit une constante
  • constant() - Retourne la valeur d'une constante
  • Ou la référence sur les constantes PHP

apc_inc
apc_sma_info
Fonctions APC


Récupère les informations d'allocation mémoire partagée d'APC

apc_load_constants
apc_store
Fonctions APC
PHP Manual

apc_sma_info

(PECL apc >= 2.0.0)

apc_sma_info — Récupère les informations d'allocation mémoire partagée d'APC

Description

array apc_sma_info ([ bool $limited = false ] )

Récupère les informations d'allocation mémoire partagée d'APC.

Liste de paramètres

limited

Lorsque défini à FALSE (défaut) apc_sma_info() retournera une information détaillée de chaque segment.

Valeurs de retour

Tableau de données d'allocation mémoire partagée ; FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_sma_info()

<?php
print_r(apc_sma_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Voir aussi

  • les directives de configuration APC

apc_load_constants
apc_store
Fonctions APC


Met en cache une variable dans le magasin

apc_sma_info
APCIterator
Fonctions APC
PHP Manual

apc_store

(PECL apc >= 3.0.0)

apc_store — Met en cache une variable dans le magasin

Description

bool apc_store ( string $key , mixed $var [, int $ttl = 0 ] )

Met en cache une variable en magasin.

Note: Contrairement à tous les autres mécanismes de PHP, les variables stockées en utilisant la fonction apc_store() persistent entre les requêtes (tant que la valeur n'est pas effacée du cache).

Liste de paramètres

key

Stocke la variable en utilisant ce nom. Les clés key sont uniques, donc, stocker une seconde valeur avec la même clé effacera la valeur originale.

var

La variable à stocker.

ttl

Temps de vie : stocke la variable var dans le cache pour ttl secondes. Après que ttl soit passé, la variable stockée sera supprimée du cache (à la requête suivante). Si aucun ttl n'est fourni (ou si le ttl vaut 0), la valeur persistera tant qu'elle ne sera pas effacée manuellement du cache, ou si elle n'existe plus dans le cache (effacement, redémarrage, etc.).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apc_store()

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

L'exemple ci-dessus va afficher :

string(3) "BAR"

Voir aussi

  • apc_add() - Met en cache une variable dans le magasin de données
  • apc_fetch() - Récupère une variable stockée dans le cache
  • apc_delete() - Efface une variable stockée dans le cache

apc_sma_info
APCIterator
Fonctions APC


La classe APCIterator

Introduction

La classe APCIterator simplifie l'itération des caches APC volumineux. C'est utile car cela permet d'itérer sur les gros caches par pas tout en récupérant un nombre défini d'entrées par instance de verrou, ainsi les verrous sont libérés pour des activités ultérieures plutôt que de bloquer tout le cache pour récupérer (par défaut) 100 entrées. Aussi, l'utilisation d'expression régulière est plus réactive car l'implémentation a été faite au niveau C.

Synopsis de la classe

APCIterator
APCIterator implements Iterator , Traversable {
/* Méthodes */
__construct ( string $cache [, mixed $search = null [, int $format [, int $chunk_size = 100 [, int $list ]]]] )
public mixed current ( void )
public integer getTotalCount ( void )
public integer getTotalHits ( void )
public int getTotalSize ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Sommaire

  • APCIterator::__construct — Construit un objet d'itération APCIterator
  • APCIterator::current — Récupère l'élément en cours
  • APCIterator::getTotalCount — Récupère le nombre total d'éléments
  • APCIterator::getTotalHits — Récupère le nombre total de cache hits
  • APCIterator::getTotalSize — Récupère la taille totale du cache
  • APCIterator::key — Récupère la clé de l'itérateur
  • APCIterator::next — Déplace le pointeur vers l'élément suivant
  • APCIterator::rewind — Rembobine l'itérateur
  • APCIterator::valid — Vérifie si la position actuelle de l'itérateur est valide
apc_store
APCIterator::__construct
APC


Construit un objet d'itération APCIterator

APCIterator
APCIterator::current
APCIterator
PHP Manual

APCIterator::__construct

(PECL apc >= 3.1.1)

APCIterator::__construct — Construit un objet d'itération APCIterator

Description

APCIterator::__construct ( string $cache [, mixed $search = null [, int $format [, int $chunk_size = 100 [, int $list ]]]] )

Construit un objet APCIterator.

Liste de paramètres

cache

Le type de cache, user ou file.

search

Une expression régulière PCRE pour établir la correspondance avec les clés APC. Peut être une string pour une expression régulière simple ou un array d'expressions régulières. Passez optionnellement NULL pour sauter la recherche.

format

Le format désiré, configuré à partir d'une ou plusieurs constantes APC_ITER_*.

chunk_size

La taille du segment. Doit être une valeur supérieure à 0. La valeur par défaut est 100.

list

Le type de liste. Passez APC_LIST_ACTIVE ou APC_LIST_INACTIVE.

Valeurs de retour

Un objet APCIterator en cas de succès, ou NULL si échec.

Voir aussi

  • apc_exists() - Vérifie si une clé APC existe
  • apc_cache_info() - Récupère les informations du cache dans l'entrepôt APC
APCIterator
APCIterator::current
APCIterator


Récupère l'élément en cours

APCIterator::__construct
APCIterator::getTotalCount
APCIterator
PHP Manual

APCIterator::current

(PECL apc >= 3.1.1)

APCIterator::current — Récupère l'élément en cours

Description

public mixed APCIterator::current ( void )

Récupère l'élément en cours dans la pile APCIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'élément en cours en cas de succès, ou FALSE si aucun élément supplémentaire n'existe ou en cas d'échec.

Voir aussi

  • APCIterator::next - Déplace le pointeur vers l'élément suivant
  • Iterator::current - Retourne l'élément courant
APCIterator::__construct
APCIterator::getTotalCount
APCIterator


Récupère le nombre total d'éléments

APCIterator::current
APCIterator::getTotalHits
APCIterator
PHP Manual

APCIterator::getTotalCount

(PECL apc >= 3.1.1)

APCIterator::getTotalCount — Récupère le nombre total d'éléments

Description

public integer APCIterator::getTotalCount ( void )

Récupère le nombre total d'éléments.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre total d'éléments.

Voir aussi

  • APCIterator::getTotalHits - Récupère le nombre total de cache hits
  • APCIterator::getTotalSize - Récupère la taille totale du cache
  • apc_cache_info() - Récupère les informations du cache dans l'entrepôt APC
APCIterator::current
APCIterator::getTotalHits
APCIterator


Récupère le nombre total de cache hits

APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator
PHP Manual

APCIterator::getTotalHits

(PECL apc >= 3.1.1)

APCIterator::getTotalHits — Récupère le nombre total de cache hits

Description

public integer APCIterator::getTotalHits ( void )

Récupère le nombre total de cache hits.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre de hits en cas de succès, ou FALSE si échec.

Voir aussi

  • APCIterator::getTotalCount - Récupère le nombre total d'éléments
  • APCIterator::getTotalSize - Récupère la taille totale du cache
  • apc_cache_info() - Récupère les informations du cache dans l'entrepôt APC
APCIterator::getTotalCount
APCIterator::getTotalSize
APCIterator


Récupère la taille totale du cache

APCIterator::getTotalHits
APCIterator::key
APCIterator
PHP Manual

APCIterator::getTotalSize

(PECL apc >= 3.1.1)

APCIterator::getTotalSize — Récupère la taille totale du cache

Description

public int APCIterator::getTotalSize ( void )

Récupère la taille totale du cache.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La taille totale du cache.

Voir aussi

  • APCIterator::getTotalCount - Récupère le nombre total d'éléments
  • APCIterator::getTotalHits - Récupère le nombre total de cache hits
  • apc_cache_info() - Récupère les informations du cache dans l'entrepôt APC
APCIterator::getTotalHits
APCIterator::key
APCIterator


Récupère la clé de l'itérateur

APCIterator::getTotalSize
APCIterator::next
APCIterator
PHP Manual

APCIterator::key

(PECL apc >= 3.1.1)

APCIterator::key — Récupère la clé de l'itérateur

Description

public string APCIterator::key ( void )

Récupère la clé de l'itérateur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la clé en cas de succès, ou FALSE si échec.

Voir aussi

  • APCIterator::current - Récupère l'élément en cours
  • Iterator::key - Retourne la clé de l'élément courant
APCIterator::getTotalSize
APCIterator::next
APCIterator


Déplace le pointeur vers l'élément suivant

APCIterator::key
APCIterator::rewind
APCIterator
PHP Manual

APCIterator::next

(PECL apc >= 3.1.1)

APCIterator::next — Déplace le pointeur vers l'élément suivant

Description

public void APCIterator::next ( void )

Déplace le pointeur vers l'élément suivant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • APCIterator::current - Récupère l'élément en cours
  • APCIterator::rewind - Rembobine l'itérateur
  • Iterator::next - Se déplace sur l'élément suivant
APCIterator::key
APCIterator::rewind
APCIterator


Rembobine l'itérateur

APCIterator::next
APCIterator::valid
APCIterator
PHP Manual

APCIterator::rewind

(PECL apc >= 3.1.1)

APCIterator::rewind — Rembobine l'itérateur

Description

public void APCIterator::rewind ( void )

Rembobine l'itérateur sur le premier élément.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • APCIterator::next - Déplace le pointeur vers l'élément suivant
  • Iterator::next - Se déplace sur l'élément suivant
APCIterator::next
APCIterator::valid
APCIterator


Vérifie si la position actuelle de l'itérateur est valide

APCIterator::rewind
APD
APCIterator
PHP Manual

APCIterator::valid

(PECL apc >= 3.1.1)

APCIterator::valid — Vérifie si la position actuelle de l'itérateur est valide

Description

public void APCIterator::valid ( void )

Vérifie si la position actuelle de l'itérateur est valide

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la position actuelle de l'itérateur est valide, sinon FALSE.

Voir aussi

  • APCIterator::current - Récupère l'élément en cours
  • Iterator::valid - Vérifie si la position courante est valide
APCIterator::rewind
APD
APCIterator


Débogueur PHP avancé

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Building on Win32
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Comment utiliser PHP-APD dans vos scripts
  • Fonctions APD
    • apd_breakpoint — Stoppe l'interpréteur et attend un CR depuis la socket
    • apd_callstack — Retourne la pile d'appel courante dans un tableau
    • apd_clunk — Lance une alerte et un callstack
    • apd_continue — Redémarre l'interpréteur
    • apd_croak — Lance une erreur, un callstack et sort
    • apd_dump_function_table — Affiche la table courante de fonction
    • apd_dump_persistent_resources — Retourne toutes les ressources persistantes dans un tableau
    • apd_dump_regular_resources — Retourne toutes les ressources régulières courantes dans un tableau
    • apd_echo — Écrit dans la socket de déboguage
    • apd_get_active_symbols — Récupère un tableau contenant les noms des variables courantes de portée locale
    • apd_set_pprof_trace — Démarre la session de déboguage APD
    • apd_set_session_trace_socket — Démarre la session de déboguage à distance
    • apd_set_session_trace — Démarre la session de déboguage APD
    • apd_set_session — Modifie ou définit le degré de déboguage courant
    • override_function — Surcharge les fonctions intégrées
    • rename_function — Renomme une fonction intégrée dans la table des fonctions globales
APCIterator::valid
Introduction
Affecte le comportement de PHP


Introduction

APD est un débogueur PHP avancé. Il a été écrit afin de fournir des possibilités de profilage et de déboguage pour le code PHP, mais aussi la possibilité d'afficher une trace complète. APD supporte le déboguage interactif, mais, par défaut, il écrit les données dans des fichiers de traces. Il fournit également des événements lors de la journalisation à différents niveaux (incluant les appels aux fonctions, les arguments passés, le temps passé, etc...) pouvant être activés ou non pour des scripts particuliers.

Attention

APD est une extension Zend, modifiant la façon dont les appels aux fonctions, en interne, s'effectue, et donc, peut ne pas être compatible avec les autres extensions Zend (par exemple, Zend Optimizer).

APD
Installation/Configuration
APD


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Building on Win32
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
APD


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/apd.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Dans votre fichier INI, ajoutez les lignes suivantes:

zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0

En fonction de votre compilation de PHP, la directive zend_extension peut prendre l'une des formes suivantes :

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Pré-requis
Building on Win32
Installation/Configuration


Building on Win32

Pour compiler APD sous Windows, vous devez installer un environnement de compilation PHP, tel que décrit sur http://php.net/ : en fait, vous avez besoin de Microsoft Visual C++, win32build.zip, bison/flex, et d'un peu de savoir-faire pour le faire fonctionner. De plus, assurez-vous que adp.dsp utilise les nouvelles lignes de format DOS; si c'est le format Unix, Microsoft Visual C++ va s'en plaindre.

Installation
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration APD
Nom | Défaut | Modifiable | Historique
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Disponible depuis apd 0.9.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

apd.dumpdir chaîne de caractères

Spécifie le dossier dans lequel APD écrit les fichiers de profilage. Vous pouvez spécifier un chemin absolu ou relatif.

Vous pouvez spécifier un dossier différent comme argument de apd_set_pprof_trace().

apd.statement_tracing booléen

Active ou désactive les traces à la ligne. En activant cette option (valeur de 1), l'application sera considérablement ralentie.

Building on Win32
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes APD
Constante | Valeur | Description
FUNCTION_TRACE (entier) | 1 |
ARGS_TRACE (entier) | 2 |
ASSIGNMENT_TRACE (entier) | 4 |
STATEMENT_TRACE (entier) | 8 |
MEMORY_TRACE (entier) | 16 |
TIMING_TRACE (entier) | 32 |
SUMMARY_TRACE (entier) | 64 |
ERROR_TRACE (entier) | 128 |
PROF_TRACE (entier) | 256 |
APD_VERSION (chaîne de caractères) | exemple : 1.0.2-dev |
Types de ressources
Exemples
APD


Exemples

Sommaire

  • Comment utiliser PHP-APD dans vos scripts
Constantes pré-définies
Comment utiliser PHP-APD dans vos scripts
APD


Comment utiliser PHP-APD dans vos scripts

  1. À la première ligne de votre script PHP, appelez la fonction apd_set_pprof_trace() afin de commencer à enregistrer la trace :

    apd_set_pprof_trace();

    Vous pouvez insérer la ligne n'importe où dans votre script, mais si vous ne commencez pas à enregistrer la trace au début de votre script, vous désactiverez les données du profile qui pourraient vous mener à trouver un goulot d'étranglement.

  2. Maintenant, exécutez votre script. L'affichage sera écrit dans le fichier apd.dumpdir/pprof_pid.ext.

    Astuce

    Si vous utilisez la version CGI de PHP, vous devrez utiliser l'option "-e" afin d'activer les informations étendues d'APD. Par exemple : php -e -f script.php

  3. Pour afficher les données formatées du profil, exécutez la commande pprofp avec les options de tri et d'affichage de votre choix. Le formatage de la sortie ressemblera à :

    bash-2.05b$ pprofp -R /tmp/pprof.22141.0

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    L'option -R utilisé dans cet exemple trie la table de profil par la colonne "Real Time", représentant le temps mis par le script pour exécuter une fonction donnée. La colonne "cumm call" montre le nombre de fois que la fonction a été appelée et la colonne "s/call", le nombre de secondes chaque appel à la fonction nécessite, en moyenne.

  4. Pour générer un fichier "calltree" que vous pourrez importer dans l'application d'analyse de profil KCacheGrind, exécutez la commande pprof2calltree.

Exemples
Fonctions APD
Exemples


Fonctions APD

Informations de contact

Si vous avez des commentaires, des corrections de bogues ou si vous voulez développer des améliorations pour cette extension, vous pouvez envoyer un message à » apd@mail.communityconnect.com. Toute aide est vraiment la bienvenue.

Sommaire

  • apd_breakpoint — Stoppe l'interpréteur et attend un CR depuis la socket
  • apd_callstack — Retourne la pile d'appel courante dans un tableau
  • apd_clunk — Lance une alerte et un callstack
  • apd_continue — Redémarre l'interpréteur
  • apd_croak — Lance une erreur, un callstack et sort
  • apd_dump_function_table — Affiche la table courante de fonction
  • apd_dump_persistent_resources — Retourne toutes les ressources persistantes dans un tableau
  • apd_dump_regular_resources — Retourne toutes les ressources régulières courantes dans un tableau
  • apd_echo — Écrit dans la socket de déboguage
  • apd_get_active_symbols — Récupère un tableau contenant les noms des variables courantes de portée locale
  • apd_set_pprof_trace — Démarre la session de déboguage APD
  • apd_set_session_trace_socket — Démarre la session de déboguage à distance
  • apd_set_session_trace — Démarre la session de déboguage APD
  • apd_set_session — Modifie ou définit le degré de déboguage courant
  • override_function — Surcharge les fonctions intégrées
  • rename_function — Renomme une fonction intégrée dans la table des fonctions globales
Comment utiliser PHP-APD dans vos scripts
apd_breakpoint
APD


Stoppe l'interpréteur et attend un CR depuis la socket

Fonctions APD
apd_callstack
Fonctions APD
PHP Manual

apd_breakpoint

(PECL apd >= 0.2)

apd_breakpoint — Stoppe l'interpréteur et attend un CR depuis la socket

Description

bool apd_breakpoint ( int $debug_level )

apd_breakpoint() peut être utilisé pour stopper l'exécution de votre script PHP et attend les réponses depuis la socket connectée. Pour reprendre l'exécution du programme, appuyez juste sur enter (une ligne vide) ou entrez une commande PHP à exécuter.

Liste de paramètres

debug_level

Un entier qui est formé en ajoutant les constantes XXX_TRACE.

Il n'est pas recommandé d'utiliser MEMORY_TRACE. C'est très lent et ne semble pas être précis. ASSIGNMENT_TRACE n'est actuellement pas implémenté.

Pour activer toutes les traces fonctionnelles (TIMING, FUNCTIONS, ARGS SUMMARY (comme strace -c)), utilisez la valeur 99

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Session typique utilisant tcplisten

bash#tcplisten localhost 7777

APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
(  0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
(  0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned.  Elapsed (0.074824)
(  0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
              ++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned.  Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC:  apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));

>apd_continue(0);

Fonctions APD
apd_callstack
Fonctions APD


Retourne la pile d'appel courante dans un tableau

apd_breakpoint
apd_clunk
Fonctions APD
PHP Manual

apd_callstack

(PECL apd 0.2-0.4)

apd_callstack — Retourne la pile d'appel courante dans un tableau

Description

array apd_callstack ( void )

apd_callstack() retourne la pile d'appel courante dans un tableau d'éléments.

Valeurs de retour

Un tableau contenant la pile d'appel courante.

Exemples

Exemple #1 Exemple avec apd_callstack()

<?php
print_r(apd_callstack());
?>

apd_breakpoint
apd_clunk
Fonctions APD


Lance une alerte et un callstack

apd_callstack
apd_continue
Fonctions APD
PHP Manual

apd_clunk

(PECL apd 0.2-0.4)

apd_clunk — Lance une alerte et un callstack

Description

void apd_clunk ( string $warning [, string $delimiter ] )

apd_clunk() fonctionne de la même façon que son homologue Perl Carp::cluck. apd_clunk() lance une alerte et un callstack en utilisant le paramètre delimiter comme délimiteur.

Liste de paramètres

warning

L'alerte à lancer.

delimiter

Le délimiteur. Par défaut, <BR />.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec apd_clunk()

<?php
apd_clunk("Quelques alertes", "<br/>");
?>

Voir aussi

  • apd_croak() - Lance une erreur, un callstack et sort

apd_callstack
apd_continue
Fonctions APD


Redémarre l'interpréteur

apd_clunk
apd_croak
Fonctions APD
PHP Manual

apd_continue

(PECL apd >= 0.2)

apd_continue — Redémarre l'interpréteur

Description

bool apd_continue ( int $debug_level )

apd_continue() envoie une instruction via la socket pour redémarrer l'interpréteur.

Liste de paramètres

debug_level

Un entier qui est formé en ajoutant les constantes XXX_TRACE.

Il n'est pas recommandé d'utiliser MEMORY_TRACE. C'est très lent et ne semble pas être précis. ASSIGNMENT_TRACE n'est actuellement pas implémenté.

Pour activer toutes les traces fonctionnelles (TIMING, FUNCTIONS, ARGS SUMMARY (comme strace -c)), utilisez la valeur 99

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apd_continue()

<?php
apd_continue(0);
?>

apd_clunk
apd_croak
Fonctions APD


Lance une erreur, un callstack et sort

apd_continue
apd_dump_function_table
Fonctions APD
PHP Manual

apd_croak

(PECL apd 0.2-0.4)

apd_croak — Lance une erreur, un callstack et sort

Description

void apd_croak ( string $warning [, string $delimiter ] )

apd_croak() fonctionne comme son homologue Perl Carp::croak. apd_croak() lance une erreur, un callstack et sort.

Liste de paramètres

warning

L'alerte à lancer.

delimiter

Le délimiteur. Par défaut, <BR />.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec apd_croak()

<?php
apd_croak("Quelques alertes","<P>");
?>

Voir aussi

  • apd_clunk() - Lance une alerte et un callstack

apd_continue
apd_dump_function_table
Fonctions APD


Affiche la table courante de fonction

apd_croak
apd_dump_persistent_resources
Fonctions APD
PHP Manual

apd_dump_function_table

(Unknown)

apd_dump_function_table — Affiche la table courante de fonction

Description

void apd_dump_function_table ( void )

apd_dump_function_table() affiche la table courante de fonction.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec apd_dump_function_table()

<?php
apd_dump_function_table();
?>

apd_croak
apd_dump_persistent_resources
Fonctions APD


Retourne toutes les ressources persistantes dans un tableau

apd_dump_function_table
apd_dump_regular_resources
Fonctions APD
PHP Manual

apd_dump_persistent_resources

(PECL apd 0.2-0.4)

apd_dump_persistent_resources — Retourne toutes les ressources persistantes dans un tableau

Description

array apd_dump_persistent_resources ( void )

apd_dump_persistent_resources() retourne toutes les ressources persistantes dans un tableau.

Valeurs de retour

Un tableau contenant toutes les ressources persistantes.

Exemples

Exemple #1 Exemple avec apd_dump_persistent_resources()

<?php
print_r(apd_dump_persistent_resources());
?>

Voir aussi

  • apd_dump_regular_resources() - Retourne toutes les ressources régulières courantes dans un tableau

apd_dump_function_table
apd_dump_regular_resources
Fonctions APD


Retourne toutes les ressources régulières courantes dans un tableau

apd_dump_persistent_resources
apd_echo
Fonctions APD
PHP Manual

apd_dump_regular_resources

(PECL apd 0.2-0.4)

apd_dump_regular_resources — Retourne toutes les ressources régulières courantes dans un tableau

Description

array apd_dump_regular_resources ( void )

Retourne toutes les ressources régulières courantes dans un tableau.

Valeurs de retour

Un tableau contenant les ressources régulières courantes.

Exemples

Exemple #1 Exemple avec apd_dump_regular_resources()

<?php
print_r(apd_dump_regular_resources());
?>

Voir aussi

  • apd_dump_persistent_resources() - Retourne toutes les ressources persistantes dans un tableau

apd_dump_persistent_resources
apd_echo
Fonctions APD


Écrit dans la socket de déboguage

apd_dump_regular_resources
apd_get_active_symbols
Fonctions APD
PHP Manual

apd_echo

(PECL apd >= 0.2)

apd_echo — Écrit dans la socket de déboguage

Description

bool apd_echo ( string $output )

apd_echo() envoie via la socket une demande d'information concernant le script exécuté.

Liste de paramètres

output

La variable de déboguage.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apd_echo()

<?php
apd_echo($i);
?>

apd_dump_regular_resources
apd_get_active_symbols
Fonctions APD


Récupère un tableau contenant les noms des variables courantes de portée locale

apd_echo
apd_set_pprof_trace
Fonctions APD
PHP Manual

apd_get_active_symbols

(PECL apd 0.2)

apd_get_active_symbols — Récupère un tableau contenant les noms des variables courantes de portée locale

Description

array apd_get_active_symbols ( void )

apd_get_active_symbols() récupère les noms de toutes les variables définies dans le contexte actif (et non leurs valeurs).

Valeurs de retour

Un tableau multidimensionnel contenant toutes les variables.

Exemples

Exemple #1 Exemple avec apd_get_active_symbols()

<?php
apd_echo(apd_get_active_symbols());
?>

apd_echo
apd_set_pprof_trace
Fonctions APD


Démarre la session de déboguage APD

apd_get_active_symbols
apd_set_session_trace_socket
Fonctions APD
PHP Manual

apd_set_pprof_trace

(PECL apd >= 0.2)

apd_set_pprof_trace — Démarre la session de déboguage APD

Description

string apd_set_pprof_trace ([ string $dump_directory [, string $fragment = "pprof" ]] )

Démarre la session de déboguage dans le dossier dump_directory/pprof_{process_id}.

Liste de paramètres

dump_directory

Le dossier dans lequel le fichier sera écrit. S'il n'est pas fourni, la directive apd.dumpdir du php.ini sera utilisée.

fragment

Valeurs de retour

Retourne le chemin du fichier de destination.

Exemples

Exemple #1 Exemple avec apd_set_pprof_trace()

<?php
apd_set_pprof_trace();
?>

Voir aussi

  • apd_set_session_trace() - Démarre la session de déboguage APD

apd_get_active_symbols
apd_set_session_trace_socket
Fonctions APD


Démarre la session de déboguage à distance

apd_set_pprof_trace
apd_set_session_trace
Fonctions APD
PHP Manual

apd_set_session_trace_socket

(PECL apd >= 0.2)

apd_set_session_trace_socket — Démarre la session de déboguage à distance

Description

bool apd_set_session_trace_socket ( string $tcp_server , int $socket_type , int $port , int $debug_level )

apd_set_session_trace_socket() se connecte au serveur TCP (e.g. tcplisten) spécifié par l'IP ou la socket Unix (comme un fichier) et envoie des données de déboguage à la socket.

Liste de paramètres

tcp_server

IP ou socket Unix (comme un fichier) du serveur TCP.

socket_type

Peut prendre les valeurs des constantes AF_UNIX, pour une socket à base de fichiers, ou APD_AF_INET, pour des sockets TCP/IP standard.

port

Vous pouvez utiliser n'importe quel port, mais les numéros de port les plus élevés sont plus recommandés que les moins élevés, qui risquent d'être utilisés par d'autres services du système.

debug_level

Un entier qui est formé en ajoutant les constantes XXX_TRACE.

Il n'est pas recommandé d'utiliser MEMORY_TRACE. C'est très lent et ne semble pas être précis. ASSIGNMENT_TRACE n'est actuellement pas implémenté.

Pour activer toutes les traces fonctionnelles (TIMING, FUNCTIONS, ARGS SUMMARY (comme strace -c)), utilisez la valeur 99

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apd_set_socket_session_trace()

<?php
  apd_set_socket_session_trace("127.0.0.1",APD_AF_INET,7112,0);
?>

apd_set_pprof_trace
apd_set_session_trace
Fonctions APD


Démarre la session de déboguage APD

apd_set_session_trace_socket
apd_set_session
Fonctions APD
PHP Manual

apd_set_session_trace

(PECL apd 0.2-0.4)

apd_set_session_trace — Démarre la session de déboguage APD

Description

void apd_set_session_trace ( int $debug_level [, string $dump_directory ] )

Démarre le déboguage de apd_dump_{process_id} dans le dossier dump_directory.

Liste de paramètres

debug_level

Un entier qui est formé en ajoutant les constantes XXX_TRACE.

Il n'est pas recommandé d'utiliser MEMORY_TRACE. C'est très lent et ne semble pas être précis. ASSIGNMENT_TRACE n'est actuellement pas implémenté.

Pour activer toutes les traces fonctionnelles (TIMING, FUNCTIONS, ARGS SUMMARY (comme strace -c)), utilisez la valeur 99

dump_directory

Le dossier dans lequel le fichier sera écrit. S'il n'est pas défini, la valeur du paramètre de configuration apd.dumpdir du php.ini sera utilisée.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec apd_set_session_trace()

<?php
apd_set_session_trace(99);
?>

apd_set_session_trace_socket
apd_set_session
Fonctions APD


Modifie ou définit le degré de déboguage courant

apd_set_session_trace
override_function
Fonctions APD
PHP Manual

apd_set_session

(PECL apd 0.2-0.4)

apd_set_session — Modifie ou définit le degré de déboguage courant

Description

void apd_set_session ( int $debug_level )

apd_set_session() peut être utilisé pour augmenter ou diminuer le degré de déboguage dans un endroit particulier de votre application.

Liste de paramètres

debug_level

Un entier qui est formé en ajoutant les constantes XXX_TRACE.

Il n'est pas recommandé d'utiliser MEMORY_TRACE. C'est très lent et ne semble pas être précis. ASSIGNMENT_TRACE n'est actuellement pas implémenté.

Pour activer toutes les traces fonctionnelles (TIMING, FUNCTIONS, ARGS SUMMARY (comme strace -c)), utilisez la valeur 99

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec apd_set_session()

<?php
apd_set_session(9);
?>

apd_set_session_trace
override_function
Fonctions APD


Surcharge les fonctions intégrées

apd_set_session
rename_function
Fonctions APD
PHP Manual

override_function

(PECL apd >= 0.2)

override_function — Surcharge les fonctions intégrées

Description

bool override_function ( string $function_name , string $function_args , string $function_code )

override_function() surcharge les fonctions intégrées (les remplace dans la table des symboles).

Liste de paramètres

function_name

La fonction à surcharger.

function_args

Les arguments de la fonction, séparés par une virgule.

Habituellement, vous voudriez passer ce paramètre, tout comme le paramètre function_code, délimité par un guillemet simple. La raison pour laquelle on utilise un guillemet simple est pour protéger le nom de la variable lors de l'analyse, sinon, si vous utilisez des guillemets doubles, il devient nécessaire d'échapper le nom de la variable, e.g. \$votre_variable.

function_code

Le nouveau code pour la fonction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec override_function()

<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>

apd_set_session
rename_function
Fonctions APD


Renomme une fonction intégrée dans la table des fonctions globales

override_function
bcompiler
Fonctions APD
PHP Manual

rename_function

(PECL apd >= 0.2)

rename_function — Renomme une fonction intégrée dans la table des fonctions globales

Description

bool rename_function ( string $original_name , string $new_name )

rename_function() renomme une fonction intégrée dans la table des fonctions globales. Utile pour surcharger temporairement une fonction intégrée.

Liste de paramètres

original_name

Le nom original de la fonction.

new_name

Le nouveau nom pour la fonction original_name.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec rename_function()

<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>

override_function
bcompiler
Fonctions APD


Compilateur bytecode PHP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions bcompiler
    • bcompiler_load_exe — Lit et crée des classes depuis un fichier exe bcompiler
    • bcompiler_load — Lit et crée les classes depuis un fichier compressé en bzip2
    • bcompiler_parse_class — Lit le bytecode d'une classe et revient à une fonction utilisateur
    • bcompiler_read — Lit et crée les classes depuis un pointeur de fichier
    • bcompiler_write_class — Écrit une classe définie en bytecode
    • bcompiler_write_constant — Écrit une constante définie comme bytecode
    • bcompiler_write_exe_footer — Écrit à la position start et jusqu'à la fin du fichier de type exe
    • bcompiler_write_file — Écrit un code source PHP sous forme de bytecode
    • bcompiler_write_footer — Écrit le caractère \x00 pour indiquer la fin des données compilées
    • bcompiler_write_function — Écrit une fonction définie sous forme de bytecode
    • bcompiler_write_functions_from_file — Écrit toutes les fonctions définies dans un fichier sous forme de bytecode
    • bcompiler_write_header — Écrit l'en-tête bcompiler
    • bcompiler_write_included_filename — Écrit un fichier inclus en tant que bytecode
rename_function
Introduction
Affecte le comportement de PHP


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Bcompiler a été écrit pour diverses raisons :

  • Pour encoder un script entier dans une application PHP propriétaire
  • Pour encoder quelques fonctions / classes dans une application PHP propriétaire
  • Pour activer la production d'applications php-gtk qui peuvent être utilisées dans des applications bureautiques, sans avoir besoin d'un php.exe.
  • Pour faire la transition facilement du PHP au C
La première des raisons est possible en utilisant les fonctions bcompiler_write_header(), bcompiler_write_file() et bcompiler_write_footer(). Les fichiers bytecode peuvent être écrits compressés ou non. Pour utiliser le bytecode généré, vous pouvez simplement l'inclure grâce aux instructions include ou require.

La deuxième raison est possible en utilisant les fonctions bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read(), et bcompiler_load(). Les fichiers bytecode peuvent être écrits compressés ou non. La fonction bcompiler_load() lit le fichier bytecode compressé, qui représente un tiers de la taille du fichier original.

Pour créer les fichiers de type EXE, bcompiler doit être utilisé avec un fichier sapi modifié ou une version de PHP qui a été compilé en tant que bibliothèque partagé. Dans ce cas, bcompiler lit le bytecode compressé depuis la fin du fichier EXE.

Bcompiler peut améliorer les performances d'environ 30% lors de l'utilisation de bytecode non compressé uniquement. Mais garder à l'esprit que le bytecode non compressé peut représenter une taille 5 fois plus large que le code source original. L'utilisation de bytecode compressé prendra moins de place, mais la décompression nécessite plus de temps que d'analyser le code source. De plus, Bcompiler n'effectue aucune optimisation du bytecode. Cette fonctionnalité devrait être ajoutée dans les futures versions...

D'un point de vue de la protection du code, l'on peut dire qu'il est absolument impossible de recréer le code source exact, tel qu'à l'origine, et sans les commentaires originaux. Cependant, il est possible de récupérer les données depuis un fichier bytecode Bcompiler - de ce fait, n'y incluez pas vos mots de passes personnels.

bcompiler
Installation/Configuration
bcompiler


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
bcompiler


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/bcompiler.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions bcompiler
bcompiler


Fonctions bcompiler

Contact

Si vous avez des commentaires, des corrections de bogues, des améliorations ou que vous voulez aider à rendre cette extension meilleure, vous pouvez envoyer un message à » alan_k@php.net. Toute aide est vraiment la bienvenue.

Sommaire

  • bcompiler_load_exe — Lit et crée des classes depuis un fichier exe bcompiler
  • bcompiler_load — Lit et crée les classes depuis un fichier compressé en bzip2
  • bcompiler_parse_class — Lit le bytecode d'une classe et revient à une fonction utilisateur
  • bcompiler_read — Lit et crée les classes depuis un pointeur de fichier
  • bcompiler_write_class — Écrit une classe définie en bytecode
  • bcompiler_write_constant — Écrit une constante définie comme bytecode
  • bcompiler_write_exe_footer — Écrit à la position start et jusqu'à la fin du fichier de type exe
  • bcompiler_write_file — Écrit un code source PHP sous forme de bytecode
  • bcompiler_write_footer — Écrit le caractère \x00 pour indiquer la fin des données compilées
  • bcompiler_write_function — Écrit une fonction définie sous forme de bytecode
  • bcompiler_write_functions_from_file — Écrit toutes les fonctions définies dans un fichier sous forme de bytecode
  • bcompiler_write_header — Écrit l'en-tête bcompiler
  • bcompiler_write_included_filename — Écrit un fichier inclus en tant que bytecode
Constantes pré-définies
bcompiler_load_exe
bcompiler


Lit et crée des classes depuis un fichier exe bcompiler

Fonctions bcompiler
bcompiler_load
Fonctions bcompiler
PHP Manual

bcompiler_load_exe

(PECL bcompiler >= 0.4)

bcompiler_load_exe — Lit et crée des classes depuis un fichier exe bcompiler

Description

bool bcompiler_load_exe ( string $filename )

Lit les données depuis le fichier exe bcompiler appelé filename et crée les classes à partir du bytecode.

Liste de paramètres

filename

Le chemin vers le fichier exe, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_load_exe()

<?php

bcompiler_load_exe("/tmp/example.exe");
print_r(get_defined_classes());

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_load() - Lit et crée les classes depuis un fichier compressé en bzip2

Fonctions bcompiler
bcompiler_load
Fonctions bcompiler


Lit et crée les classes depuis un fichier compressé en bzip2

bcompiler_load_exe
bcompiler_parse_class
Fonctions bcompiler
PHP Manual

bcompiler_load

(PECL bcompiler >= 0.4)

bcompiler_load — Lit et crée les classes depuis un fichier compressé en bzip2

Description

bool bcompiler_load ( string $filename )

Lit les données depuis le fichier compressé en bzip2 filename et crée les classes depuis le bytecode.

Liste de paramètres

filename

Le chemin vers le fichier compressé avec bzip2, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_load()

<?php

bcompiler_load("/tmp/example");

print_r(get_defined_classes());

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Note: Utiliser les instructions include() ou require() pour analyser les bytecodes : c'est plus portable et plus commode que d'utiliser cette fonction.
Notez que cette fonction n'exécute pas le corps du script contenu dans le fichier bytecode.

Voir aussi

  • bcompiler_load_exe() - Lit et crée des classes depuis un fichier exe bcompiler

bcompiler_load_exe
bcompiler_parse_class
Fonctions bcompiler


Lit le bytecode d'une classe et revient à une fonction utilisateur

bcompiler_load
bcompiler_read
Fonctions bcompiler
PHP Manual

bcompiler_parse_class

(PECL bcompiler >= 0.4)

bcompiler_parse_class — Lit le bytecode d'une classe et revient à une fonction utilisateur

Description

bool bcompiler_parse_class ( string $class , string $callback )

Lit le bytecode d'une classe et revient à une fonction utilisateur.

Liste de paramètres

class

Le nom de la classe, sous la forme d'une chaîne de caractères.

callback

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_parse_class()

<?php

function readByteCodes($data) {
    print_r($data);
}

bcompiler_parse_class("DB","readByteCodes");

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Note: Cette fonction a été supprimée de bcompiler et n'est plus disponible depuis bcompiler 0.5.

bcompiler_load
bcompiler_read
Fonctions bcompiler


Lit et crée les classes depuis un pointeur de fichier

bcompiler_parse_class
bcompiler_write_class
Fonctions bcompiler
PHP Manual

bcompiler_read

(PECL bcompiler >= 0.4)

bcompiler_read — Lit et crée les classes depuis un pointeur de fichier

Description

bool bcompiler_read ( resource $filehandle )

Lit les données depuis un fichier ouvert représenté par la ressource filehandle et crée les classes depuis le bytecode.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_read()

<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Note: Utiliser les instructions include() ou require() pour analyser les bytecodes : c'est plus portable et plus commode que d'utiliser cette fonction.
Notez que cette fonction n'exécute pas le corps du script contenu dans le fichier bytecode.

bcompiler_parse_class
bcompiler_write_class
Fonctions bcompiler


Écrit une classe définie en bytecode

bcompiler_read
bcompiler_write_constant
Fonctions bcompiler
PHP Manual

bcompiler_write_class

(PECL bcompiler >= 0.4)

bcompiler_write_class — Écrit une classe définie en bytecode

Description

bool bcompiler_write_class ( resource $filehandle , string $className [, string $extends ] )

Lit le bytecode d'une classe existante nommée className depuis PHP et l'écrit dans le fichier ouvert désigné par la ressource filehandle.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

className

Le nom de la classe, sous la forme d'une chaîne de caractères.

extends

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_class()

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// vous devez écrire DB_common avant DB_mysql, car DB_mysql étend DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Note: Cette fonction n'effectue pas de vérification sur les dépendances, assurez-vous donc d'écrire les classes dans l'ordre pour éviter d'avoir une alerte du genre 'undefined class' lorsque vous les chargerez.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler
  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_read
bcompiler_write_constant
Fonctions bcompiler


Écrit une constante définie comme bytecode

bcompiler_write_class
bcompiler_write_exe_footer
Fonctions bcompiler
PHP Manual

bcompiler_write_constant

(PECL bcompiler >= 0.5)

bcompiler_write_constant — Écrit une constante définie comme bytecode

Description

bool bcompiler_write_constant ( resource $filehandle , string $constantName )

Lit le bytecode depuis PHP pour une constante existante constantName et écrit le bytecode dans le fichier ouvert désigné par filehandle.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

constantName

Le nom de la constante définie, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_constant()

<?php
define("MODULE_MAX", 30);

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler
  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_class
bcompiler_write_exe_footer
Fonctions bcompiler


Écrit à la position start et jusqu'à la fin du fichier de type exe

bcompiler_write_constant
bcompiler_write_file
Fonctions bcompiler
PHP Manual

bcompiler_write_exe_footer

(PECL bcompiler >= 0.4)

bcompiler_write_exe_footer — Écrit à la position start et jusqu'à la fin du fichier de type exe

Description

bool bcompiler_write_exe_footer ( resource $filehandle , int $startpos )

Un fichier exe (ou auto-exécutable) est composé de trois parties :

  • Le stub (le programme compilé) qui charge PHP et l'extension bcompiler, stocke le bytecode et initialise un appel à la fonction spécifique (e.g. main) ou une méthode d'une classe (i.e. main::main)
  • Le bytecode (uniquement décompressé pour le moment)
  • Le footer EXE bcompiler

Pour obtenir un stub approprié, vous pouvez compiler le stub php_embed-based phpe.c qui se trouve dans le dossier examples/embed sur le CVS de bcompiler.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

startpos

La position dans le fichier à partir duquel commence le bytecode, et pouvant être obtenu en utilisant la fonction ftell().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_exe_footer()

<?php

/* Création du fichier de sortie (example.exe) */
$fh = fopen("example.exe", "w");

/* 1) Écriture d'un stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);

/* 2) Écriture du bytecode */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);

/* 3) Écriture du footer EXE */
bcompiler_write_exe_footer($fh, $startpos);

/* Fermeture du fichier de sortie */
fclose($fh);
?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler
  • bcompiler_write_class() - Écrit une classe définie en bytecode
  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_constant
bcompiler_write_file
Fonctions bcompiler


Écrit un code source PHP sous forme de bytecode

bcompiler_write_exe_footer
bcompiler_write_footer
Fonctions bcompiler
PHP Manual

bcompiler_write_file

(PECL bcompiler >= 0.6)

bcompiler_write_file — Écrit un code source PHP sous forme de bytecode

Description

bool bcompiler_write_file ( resource $filehandle , string $filename )

Cette fonction compile le fichier filename en bytecodes, et écrit le résultat dans le fichier filename.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

filename

Le chemin vers le fichier source, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_file()

<?php
$fh = fopen("example.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "example.php");
bcompiler_write_footer($fh);
fclose($fh);
/* Ce qui suit doit être équivalent :
include "example.php";
   et
include "example.phb";
*/
?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler
  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_exe_footer
bcompiler_write_footer
Fonctions bcompiler


Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_file
bcompiler_write_function
Fonctions bcompiler
PHP Manual

bcompiler_write_footer

(PECL bcompiler >= 0.4)

bcompiler_write_footer — Écrit le caractère \x00 pour indiquer la fin des données compilées

Description

bool bcompiler_write_footer ( resource $filehandle )

Écrit le caractère \x00 pour indiquer la fin des données compilées.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_footer()

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler

bcompiler_write_file
bcompiler_write_function
Fonctions bcompiler


Écrit une fonction définie sous forme de bytecode

bcompiler_write_footer
bcompiler_write_functions_from_file
Fonctions bcompiler
PHP Manual

bcompiler_write_function

(PECL bcompiler >= 0.5)

bcompiler_write_function — Écrit une fonction définie sous forme de bytecode

Description

bool bcompiler_write_function ( resource $filehandle , string $functionName )

Lit le bytecode d'une fonction existante depuis PHP et l'écrit dans le fichier désigné par la ressource de fichier filehandle. L'ordre n'est pas important (e.g. si la fonction b utilise la fonction a et que vous compilez l'exemple ci-dessous, cela fonctionnera très bien).

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

functionName

Le nom de la fonction, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_function()

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"my_function_a");
bcompiler_write_function($fh,"my_function_b");
bcompiler_write_footer($fh);
fclose($fh);
?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler
  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_footer
bcompiler_write_functions_from_file
Fonctions bcompiler


Écrit toutes les fonctions définies dans un fichier sous forme de bytecode

bcompiler_write_function
bcompiler_write_header
Fonctions bcompiler
PHP Manual

bcompiler_write_functions_from_file

(PECL bcompiler >= 0.5)

bcompiler_write_functions_from_file — Écrit toutes les fonctions définies dans un fichier sous forme de bytecode

Description

bool bcompiler_write_functions_from_file ( resource $filehandle , string $fileName )

Recherche toutes les fonctions déclarées dans le fichier nommé fileName et écrit leurs bytecodes correspondants dans le fichier désigné par la ressource filehandle.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

fileName

Le fichier à compiler. Souvenez-vous de toujours include/require les fichiers que vous tentez de compiler.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_functions_from_file()

<?php
require('module.php');

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);

?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_header() - Écrit l'en-tête bcompiler
  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_function
bcompiler_write_header
Fonctions bcompiler


Écrit l'en-tête bcompiler

bcompiler_write_functions_from_file
bcompiler_write_included_filename
Fonctions bcompiler
PHP Manual

bcompiler_write_header

(PECL bcompiler >= 0.3)

bcompiler_write_header — Écrit l'en-tête bcompiler

Description

bool bcompiler_write_header ( resource $filehandle [, string $write_ver ] )

Écrit l'en-tête bcompiler.

Liste de paramètres

filehandle

Une ressource de fichier retournée par la fonction fopen().

write_ver

Peut être utilisé pour écrire le bytecode dans un format utilisé précédemment, vous pouvez donc l'utiliser avec les anciennes versions de bcompiler.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcompiler_write_header()

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);
?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • bcompiler_write_footer() - Écrit le caractère \x00 pour indiquer la fin des données compilées

bcompiler_write_functions_from_file
bcompiler_write_included_filename
Fonctions bcompiler


Écrit un fichier inclus en tant que bytecode

bcompiler_write_header
Gestion des erreurs
Fonctions bcompiler
PHP Manual

bcompiler_write_included_filename

(PECL bcompiler >= 0.5)

bcompiler_write_included_filename — Écrit un fichier inclus en tant que bytecode

Description

bool bcompiler_write_included_filename ( resource $filehandle , string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

bcompiler_write_header
Gestion des erreurs
Fonctions bcompiler


Gestion des erreurs et des journaux

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions sur la gestion des erreurs
    • debug_backtrace — Génère le contexte de déboguage
    • debug_print_backtrace — Affiche la pile d'exécution PHP
    • error_get_last — Récupère la dernière erreur survenue
    • error_log — Stocke un message d'erreur
    • error_reporting — Fixe le niveau de rapport d'erreurs PHP
    • restore_error_handler — Réactive l'ancienne fonction de gestion des erreurs
    • restore_exception_handler — Réactive l'ancienne fonction de gestion d'exceptions
    • set_error_handler — Spécifie une fonction utilisateur comme gestionnaire d'erreurs
    • set_exception_handler — Définit une fonction utilisateur de gestion d'exceptions
    • trigger_error — Déclenche une erreur utilisateur
    • user_error — Alias de trigger_error
bcompiler_write_included_filename
Introduction
Affecte le comportement de PHP


Introduction

Voici des fonctions gérant les erreurs et les journaux. Elles vous permettent de définir vos propres règles de gestion des erreurs, mais aussi la façon dont les erreurs sont enregistrées ; ceci afin de répondre à vos besoins particuliers.

Avec les fonctions de journal, vous pouvez envoyer des messages directement à d'autres machines (ou des emails avec une passerelles), vers les logs du système, etc..., ainsi, vous pouvez sélectionner les messages et surveiller les parties les plus importantes de vos applications et de vos sites web.

Les fonctions sur le rapport d'erreurs vous permettent de personnaliser le degré et les erreurs désirées, en les catégorisant comme simple avertissement jusqu'à l'exécution de fonctions personnalisées lorsque des erreurs surviennent.

Gestion des erreurs
Installation/Configuration
Gestion des erreurs


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gestion des erreurs


Installation

Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour la gestion d'erreurs
Nom | Défaut | Modifiable | Historique
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Disponible depuis PHP 4.1.0.
docref_root | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

error_reporting integer

Fixe le niveau d'erreur. Ce paramètre est un entier, représentant un champ de bits. Ajoutez les valeurs suivantes pour choisir le niveau que vous désirez, telles que décrites dans la section Constantes pré-définies, et dans le fichier php.ini. Pour modifier cette configuration durant l'exécution du script, utilisez la fonction error_reporting(). Voyez aussi la directive display_errors.

En PHP 4 et PHP 5, la configuration par défaut est E_ALL & ~E_NOTICE. Elle montre toutes les erreurs, sauf les E_NOTICE. Il est recommandé de les afficher durant le développement.

Note: Activer le rapport d'erreur de niveau E_NOTICE durant le développement a des avantages. En terme de déboguage, les message d'alertes vous signalent des bogues potentiels dans votre code. Par exemple, l'utilisation de valeurs non initialisées est signalée. Il est aussi plus pratique pour trouver des coquilles, et, ainsi, gagner du temps. Les messages NOTICE vous signaleront aussi les mauvaises pratiques de codage. Par exemple $arr[item] doit toujours être écrit $arr['item'] car PHP va considérer "item" comme une constante, au premier abord. Si cette constante n'est pas définie, alors il va l'utiliser comme une chaîne.

Note: En PHP 5, un nouveau niveau d'erreur nommé E_STRICT est disponible. Comme E_STRICT n'est pas inclus sans E_ALL, vous devez explicitement activer ce niveau d'erreur. Activer E_STRICT pendant le développement peut être bénéfique. Les messages STRICT vous aideront à utiliser la dernière et meilleure suggestion de méthode de codage, par exemple, vous alertera de l'utilisation de fonctions non recommandées.

Note: Les constantes PHP en dehors de PHP
L'utilisation des constantes PHP en dehors de PHP, comme dans le fichier httpd.conf, n'a pas de signification utile mise à part dans les cas où des valeurs entières sont nécessaires. Et depuis que les niveaux d'erreurs ont été ajoutés, la valeur maximale (pour E_ALL) devrait changée. Donc, à la place de E_ALL, utilisez plutôt une valeur plus grande pour couvrir tous les octets, une valeur numérique comme 2147483647 (incluant toutes les erreurs, et non juste les erreurs de type E_ALL).

display_errors string

Cette directive détermine si les erreurs doivent être affichées à l'écran ou non.

La valeur "stderr" envoie les erreurs vers stderr plutôt que vers stdout. La valeur est disponible depuis PHP 5.2.4. Dans les anciennes versions, cette directive était du type boolean .

Note: C'est une directive nécessaire en développement mais qui ne doit jamais être utilisée sur un système en production. (e.g. systèmes connectés à Internet).

Note: Bien que display_errors peut être défini en cours d'exécution (avec la fonction ini_set()), il n'aura aucun effet si le script a des erreurs fatales, car l'action désirée au moment de l'exécution ne sera pas exécutée.

display_startup_errors boolean

Même si display_errors est activé, des erreurs peuvent survenir lors de la séquence de démarrage de PHP, et ces erreurs sont cachées. Avec cette option, vous pouvez les afficher, ce qui est recommandé pour le déboguage. En dehors de ce cas, il est fortement recommandé de laisser display_startup_errors à off.

log_errors boolean

Indique où les messages d'erreur générés doivent être écrits : dans l'historique du serveur ou dans error_log. Cette fonction est spécifique aux serveurs.

Note: Il est recommandé d'utiliser l'historique d'erreur, plutôt que d'afficher les erreurs sur les sites de production.

log_errors_max_len integer

Configure la taille maximale des erreurs qui seront enregistrées dans l'historique, en kilo octets. Dans les informations de error_log, l'origine est ajoutée. La valeur par défaut est de 1024. 0 signifie qu'il n'y a pas de limite de taille. Cette longueur est appliquée pour enregistrer dans l'historique les erreurs, afficher les erreurs et également à $php_errormsg.

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..
ignore_repeated_errors boolean

Ne pas enregistrer des messages répétitifs. Les erreurs répétées doivent survenir au même moment, à la même ligne et depuis le même fichier de script, à moins que ignore_repeated_source soit défini à TRUE.

ignore_repeated_source boolean

Ignore la source du message lors des messages répétés. Lorsque vous avez configuré cette option à On, vous n'enregistrerez pas les erreurs répétées provenant de fichiers et lignes de code différents.

report_memleaks boolean

Si ce paramètre est mis à Off, alors les fuites de mémoires ne seront pas affichées (sur la sortie standard, stdout ou dans les logs). Cette option n'a d'effet que si PHP a été compilé avec l'option de déboguage, et si error_reporting inclut E_WARNING dans sa liste.

track_errors boolean

Si cette option est activée, le dernier message d'erreur sera placé dans la variable $php_errormsg.

html_errors boolean

Désactive les balises HTML dans les messages d'erreurs. Le nouveau format d'erreurs HTML fournit des messages avec liens hypertexte, qui redirige l'utilisateur vers la documentation de l'erreur ou de la fonction. Ces références sont affectées par docref_root et docref_ext.

xmlrpc_errors boolean

Désactive le rapport normal d'erreur et formate les erreurs comme des messages d'erreur XML-RPC.

xmlrpc_error_number integer

Utilisé comme valeur de l'élément XML-RPC faultcode.

docref_root string

Le nouveau format d'erreur contient une référence à une page décrivant l'erreur, ou la fonction ayant causé l'erreur. Pour le manuel, vous pouvez télécharger ce dernier dans votre langue, et configurer cette option pour qu'elle pointe sur lui. Si votre copie du manuel est accessible à "/manual/", vous pouvez simplement utiliser docref_root=/manual/. De plus, vous devez configurer docref_ext pour qu'elle corresponde aux extensions de votre manuel. docref_ext=.html. Il est possible d'utiliser des références externes. Par exemple, vous pouvez utiliser docref_root=http://manual/en/ ou docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon&url=http%3A%2F%2Fwww.php.net%2F"

La plupart du temps, vous utilisez l'option docref_root avec un slash a la fin ("/"). Mais ce n'est pas obligatoire, comme le montre le second exemple ci-dessus.

Note: Cette directive est destiné à vous aider dans votre développement en rendant facile la consultation de la description d'une fonction. Ne jamais l'utiliser sur un système de production (e.g. système connecté à Internet).

docref_ext string

Voir aussi docref_root.

Note: La valeur de docref_ext doit commencer par un point ".".

error_prepend_string string

La chaîne à placer avant les messages d'erreur.

error_append_string string

La chaîne à placer après les messages d'erreur.

error_log string

Nom du fichier où seront enregistrées les erreurs. Le fichier doit être accessible en écriture par l'utilisateur exécutant le serveur web. Si la valeur spéciale syslog est utilisée, les erreurs seront envoyées au système d'historique du serveur. Sous Unix, cela correspond à syslog(3) et sous Windows NT, à l'historique d'événement. L'historique n'est pas supporté sous Windows 95. Voir aussi : syslog(). Si cette directive n'est pas fixée, les erreurs sont envoyées au journal d'erreurs SAPI. Par exemple, s'il s'agit d'une erreur de journal dans Apache ou stderr dans CLI.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Les constantes listées ici sont toujours disponibles dans PHP.

Note: Vous pouvez utiliser ces constantes dans le fichier php.ini mais pas hors de PHP, comme dans le fichier httpd.conf, où vous devez utiliser les valeurs de champs de bits.

Erreurs et historique
Valeur | Constante | Description | Note
1 | E_ERROR (entier) | Les erreurs sont aussi affichées par défaut, et l'exécution du script est interrompue. Elles indiquent des erreurs qui ne peuvent pas être ignorées, comme des problèmes d'allocation de mémoire, par exemple. |
2 | E_WARNING (entier) | Les alertes sont affichées par défaut, mais n'interrompent pas l'exécution du script. Elles indiquent un problème qui doit être intercepté par le script durant l'exécution du script. Par exemple, appeler ereg() avec une expression rationnelle invalide. |
4 | E_PARSE (entier) | Les erreurs d'analyse ne doivent être générées que par l'analyseur. Elles ne sont citées ici que dans le but d'être exhaustif. |
8 | E_NOTICE (entier) | Les alertes ne sont pas affichées par défaut, et indiquent que le script a rencontré quelque chose qui peut être une erreur, mais peut aussi être un événement normal dans la vie du script. Par exemple, essayer d'accéder à une valeur qui n'a pas été déclarée, ou appeler stat() sur un fichier qui n'existe pas. |
16 | E_CORE_ERROR (entier) | Elles sont similaires aux erreurs E_ERROR, mais elles sont générées par le code de PHP. Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
32 | E_CORE_WARNING (entier) | Elles sont similaires à E_WARNING, mais elles sont générées par le code de PHP. Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
64 | E_COMPILE_ERROR (entier) | Elles sont similaires à E_ERROR, mais elles sont générées par le moteur Zend. Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
128 | E_COMPILE_WARNING (entier) | Elles sont similaires à E_WARNING, mais elles sont générées par le moteur Zend. Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
256 | E_USER_ERROR (entier) | Message d'erreur généré par l'utilisateur. Comparable à E_ERROR. Elle est générée en PHP par l'utilisation de la fonction trigger_error(). Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
512 | E_USER_WARNING (entier) | Message d'erreur généré par l'utilisateur. Comparable à E_WARNING. Elle est générée en PHP par l'utilisation de la fonction trigger_error(). Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
1024 | E_USER_NOTICE (entier) | Message d'erreur généré par l'utilisateur. Comparable à E_NOTICE. Elle est générée en PHP par l'utilisation de la fonction trigger_error(). Les fonctions ne doivent pas générer ce genre d'erreur. | Depuis PHP 4
2048 | E_STRICT (entier) | Permet d'obtenir des suggestions de PHP pour modifier votre code, assurant ainsi une meilleure interopérabilité et compatibilité de celui-ci. | Depuis PHP 5
4096 | E_RECOVERABLE_ERROR (entier) | Erreur fatale qui peut être captée. Ceci indique qu'une erreur probablement dangereuse s'est produite, mais n'a pas laissé l'engin Zend dans un état instable. Si l'erreur n'est pas attrapée par un gestionnaire d'erreur défini par l'utilisateur (voyez aussi set_error_handler(), l'application arrête prématurément comme si cela était une E_ERROR. | Depuis PHP 5.2.0
8192 | E_DEPRECATED (entier) | Alertes d'exécution. Activer cette option pour recevoir des alertes sur les portions de votre code qui pourraient ne pas fonctionner avec les futures versions. | Depuis PHP 5.3.0
16384 | E_USER_DEPRECATED (entier) | Message d'alerte généré par l'utilisateur. Fonctionne de la même façon que E_DEPRECATED, mise à part que le message est généré par votre code PHP en utilisant la fonction trigger_error(). | Depuis PHP 5.3.0
30719 | E_ALL (entier) | Toutes les erreurs et alertes supportées sauf le niveau E_STRICT. | 30719 en PHP 5.3.x, 6143 en PHP 5.2.x, et 2047 auparavant

Les valeurs ci-dessus (numérique ou symbolique) sont utilisées pour constituer des champs de bits, qui spécifient le niveau de rapport d'erreur. Vous pouvez utiliser les opérateurs de bits pour combiner ces valeurs pour en faire des masques qui filtrent certaines erreurs. Notez bien que seuls '|', '~', '!', '^' et '&' seront compris dans le fichier php.ini.

Types de ressources
Exemples
Gestion des erreurs


Exemples

Ci-dessous, vous trouverez un exemple de gestion des erreurs par PHP. Il y est défini un gestionnaire d'erreur, qui enregistre les informations dans un fichier (au format XML), et envoie un courriel au développeur si l'erreur est critique.

Exemple #1 Gestion d'erreurs avancées en PHP

<?php
// Nous allons faire notre propre gestion
error_reporting(0);

// Fonction spéciale de gestion des erreurs
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
    // Date et heure de l'erreur
    $dt = date("Y-m-d H:i:s (T)");

    // Définit un tableau associatif avec les chaînes d'erreur
    // En fait, les seuls niveaux qui nous interessent
    // sont E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING et E_USER_NOTICE
    $errortype = array (
                E_ERROR              => 'Erreur',
                E_WARNING            => 'Alerte',
                E_PARSE              => 'Erreur d\'analyse',
                E_NOTICE             => 'Note',
                E_CORE_ERROR         => 'Core Error',
                E_CORE_WARNING       => 'Core Warning',
                E_COMPILE_ERROR      => 'Compile Error',
                E_COMPILE_WARNING    => 'Compile Warning',
                E_USER_ERROR         => 'Erreur spécifique',
                E_USER_WARNING       => 'Alerte spécifique',
                E_USER_NOTICE        => 'Note spécifique',
                E_STRICT             => 'Runtime Notice',
                E_RECOVERABLE_ERROR => 'Catchable Fatal Error'
                );
    // Les niveaux qui seront enregistrés
    $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $dt . "</datetime>\n";
    $err .= "\t<errornum>" . $errno . "</errornum>\n";
    $err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
    $err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
    $err .= "\t<scriptname>" . $filename . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";

    if (in_array($errno, $user_errors)) {
        $err .= "\t<vartrace>".wddx_serialize_value($vars,"Variables")."</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // sauvegarde de l'erreur, et mail si c'est critique
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($errno == E_USER_ERROR) {
        mail("phpdev@example.com","Critical User Error",$err);
    }
}

function distance($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Incorrect parameters, arrays expected", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Vectors need to be of the same size", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("Coordinate $i in vector 1 is not a number, using zero",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("Coordinate $i in vector 2 is not a number, using zero",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

// constante non définie, qui génère une alerte
$t = I_AM_NOT_DEFINED;

// définition de quelques vecteurs
$a = array (2, 3, "foo");
$b = array (5.5, 4.3, -1.6);
$c = array (1, -3);

// génère une erreur utilisateur
$t1 = distance ($c, $b)."\n";

// génère une erreur utilisateur
$t2 = distance ($b, "i am not an array")."\n";

// Génère une alerte
$t3 = distance ($a, $b)."\n";

?>

Constantes pré-définies
Fonctions sur la gestion des erreurs
Gestion des erreurs


Fonctions sur la gestion des erreurs

Voir aussi

Voir aussi la fonction syslog().

Sommaire

  • debug_backtrace — Génère le contexte de déboguage
  • debug_print_backtrace — Affiche la pile d'exécution PHP
  • error_get_last — Récupère la dernière erreur survenue
  • error_log — Stocke un message d'erreur
  • error_reporting — Fixe le niveau de rapport d'erreurs PHP
  • restore_error_handler — Réactive l'ancienne fonction de gestion des erreurs
  • restore_exception_handler — Réactive l'ancienne fonction de gestion d'exceptions
  • set_error_handler — Spécifie une fonction utilisateur comme gestionnaire d'erreurs
  • set_exception_handler — Définit une fonction utilisateur de gestion d'exceptions
  • trigger_error — Déclenche une erreur utilisateur
  • user_error — Alias de trigger_error
Exemples
debug_backtrace
Gestion des erreurs


Génère le contexte de déboguage

Fonctions sur la gestion des erreurs
debug_print_backtrace
Fonctions sur la gestion des erreurs
PHP Manual

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace — Génère le contexte de déboguage

Description

array debug_backtrace ([ bool $provide_object = true ] )

debug_backtrace() génère un contexte de déboguage PHP.

Liste de paramètres

provide_object

Indique s'il faut remplir l'index "object".

Valeurs de retour

Retourne un tableau associatif. Les éléments de retour possibles sont les suivants :

Éléments possibles de retour de la fonction debug_backtrace()
Nom | Type | Description
function | chaîne de caractères | Le nom de la fonction courante. Voir aussi __FUNCTION__.
line | entier | Le numéro de la ligne courante. Voir aussi __LINE__.
file | string | Le nom du fichier courant. Voir aussi __FILE__.
class | string | Le nom courante de la classe. Voir aussi __CLASS__
object | object | L'objet courant.
type | string | Le type de classe courante. Si une méthode est appelée, "->" est retourné. Si une méthode statique est appelé, "::" est retourné. Si une fonction est appelée, rien ne sera retourné.
args | array | Si à l'intérieur d'une fonction, ceci liste des arguments. Si dans un fichier inclus, ceci liste des fichiers inclus.

Historique

Version | Description
5.2.5 | Ajout du paramètre optionnel provide_object.
5.1.1 | Ajout de l' objet courant comme élément de retour possible.

Exemples

Exemple #1 Exemple avec debug_backtrace()

<?php
// filename: /tmp/a.php

function a_test($str)
{
  echo "\nHi: $str";
  var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>

Résultat de l'exécution de /tmp/b.php :

Hi: friend
array(2) {
  [0]=>
    array(4) {
      ["file"] => string(10) "/tmp/a.php"
      ["line"] => int(10)
      ["function"] => string(6) "a_test"
      ["args"]=>
        array(1) {
          [0] => &string(6) "friend"
        }
    }
  [1]=>
    array(4) {
      ["file"] => string(10) "/tmp/b.php"
      ["line"] => int(2)
      ["args"] =>
        array(1) {
          [0] => string(10) "/tmp/a.php"
        }
      ["function"] => string(12) "include_once"
    }
}

Voir aussi

  • trigger_error() - Déclenche une erreur utilisateur
  • debug_print_backtrace() - Affiche la pile d'exécution PHP

Fonctions sur la gestion des erreurs
debug_print_backtrace
Fonctions sur la gestion des erreurs


Affiche la pile d'exécution PHP

debug_backtrace
error_get_last
Fonctions sur la gestion des erreurs
PHP Manual

debug_print_backtrace

(PHP 5)

debug_print_backtrace — Affiche la pile d'exécution PHP

Description

void debug_print_backtrace ( void )

debug_print_backtrace() affiche la pile d'exécution de PHP. Elle affiche les appels aux fonctions, aux fichiers inclus / requis ainsi que les appels à eval().

Liste de paramètres

Cette fonction n'a aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec debug_print_backtrace()

<?php
// fichier include.php

function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
<?php
// fichier test.php
// C'est le fichier que vous devez exécuter

include 'include.php';
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

#0  eval() called at [/tmp/include.php:5]
#1  a() called at [/tmp/include.php:17]
#2  include(/tmp/include.php) called at [/tmp/test.php:3]

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]

Voir aussi

  • debug_backtrace() - Génère le contexte de déboguage

debug_backtrace
error_get_last
Fonctions sur la gestion des erreurs


Récupère la dernière erreur survenue

debug_print_backtrace
error_log
Fonctions sur la gestion des erreurs
PHP Manual

error_get_last

(PHP 5 >= 5.2.0)

error_get_last — Récupère la dernière erreur survenue

Description

array error_get_last ( void )

Récupère la dernière erreur survenue.

Valeurs de retour

Retourne un tableau associatif décrivant la dernière errer avec les clés "type", "message", "file" et "line". Retourne NULL s'il n'y a actuellement aucune erreur.

Exemples

Exemple #1 Exemple avec error_get_last()

<?php
echo $a;
print_r(error_get_last());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Voir aussi

  • Constantes d'erreur
  • Variable $php_errormsg
  • Directive display_errors
  • Directive html_errors
  • Directive xmlrpc_errors

debug_print_backtrace
error_log
Fonctions sur la gestion des erreurs


Stocke un message d'erreur

error_get_last
error_reporting
Fonctions sur la gestion des erreurs
PHP Manual

error_log

(PHP 4, PHP 5)

error_log — Stocke un message d'erreur

Description

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

Envoie un message d'erreur à l'historique du serveur web, à un port TCP ou un fichier.

Liste de paramètres

message

Le message d'erreur qui doit être stocké.

message_type

Spécifie la destination du message d'erreur. Les types possibles de messages sont :

error_log() log types
0 | message est envoyé à l'historique PHP, qui est basé sur l'historique système ou un fichier, en fonction de la configuration de error_log. C'est l'option par défaut.
1 | message est envoyé par email à l'adresse destination. C'est le seul type qui utilise le quatrième paramètre extra_headers.
2 | N'est plus une option.
3 | message est ajouté au fichier destination. Une nouvelle ligne est automatiquement ajoutée à la fin de la chaîne message.
4 | message est envoyé directement au gestionnaire d'identification SAPI.

destination

La destination. Cela dépend du paramètre message_type décrit ci-dessus.

extra_headers

Les en-têtes supplémentaires. Ils sont utilisés lorsque le paramètre message_type est défini à 1. Ce type de message utilise la même fonction interne que la fonction mail().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.7 | La valeur possible pour 4 a été ajoutée à message_type.

Exemples

Exemple #1 Exemples avec error_log()

<?php
// Envoie une notification par l'historique du serveur web,
// si la connexion à la base de données est impossible.
if (!Ora_Logon($username, $password)) {
  error_log("Base Oracle indisponible !", 0);
}

// Indiquer à l'administrateur, par email, qu'il n'y a plus de FOO
if (!($foo = allocate_new_foo())) {
  error_log("Aya!, Il ne reste plus de FOO disponibles !", 1,
  "operateur@example.com");
}

// D'autres manières d'appeler error_log():
error_log("Grosse bourde !", 3, "/var/tmp/mes-erreurs.log");
?>

error_get_last
error_reporting
Fonctions sur la gestion des erreurs


Fixe le niveau de rapport d'erreurs PHP

error_log
restore_error_handler
Fonctions sur la gestion des erreurs
PHP Manual

error_reporting

(PHP 4, PHP 5)

error_reporting — Fixe le niveau de rapport d'erreurs PHP

Description

int error_reporting ([ int $level ] )

error_reporting() modifie la directive error_reporting pendant l'exécution du script. PHP possède plusieurs niveaux d'erreurs, utiliser cette fonction configure ce niveau pendant la durée (d'exécution) de votre script. Si le paramètre optionnel level n'est pas défini, error_reporting() retournera uniquement le niveau de rapport d'erreurs courant.

Liste de paramètres

level

Le nouveau niveau error_reporting. Il peut être un champ de bits ou une combinaison de constantes. L'utilisation des constantes est vivement recommandée pour assurer une compatibilité maximale avec les futures versions. Au fur et à mesure que de nouveaux niveaux d'erreurs sont créés, les valeurs évoluent, c'est pourquoi les anciennes valeurs n'ont plus forcément la même signification.

Les constantes représentant les niveaux d'erreurs disponibles et la signification de ces niveaux d'erreurs est décrite dans le manuel sur les constantes prédéfinies.

Valeurs de retour

Retourne l'ancien niveau d'error_reporting ou le niveau d'erreurs courant si le paramètre level n'est pas fourni.

Historique

Version | Description
5.0.0 | E_STRICT est introduit (ne fait plus partie de E_ALL).
5.2.0 | E_RECOVERABLE_ERROR est introduit.
5.3.0 | E_DEPRECATED et E_USER_DEPRECATED ont été introduits.

Exemples

Exemple #1 Exemple avec error_reporting()

<?php

// Désactiver le rapport d'erreurs
error_reporting(0);

// Rapporte les erreurs d'exécution de script
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Rapporter les E_NOTICE peut vous aider à améliorer vos scripts
// (variables non initialisées, variables mal orthographiées..)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Rapporte toutes les erreurs à part les E_NOTICE
// C'est la configuration par défaut de php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Reporte toutes les erreurs PHP (Voir l'historique des modifications)
error_reporting(E_ALL);

// Reporte toutes les erreurs PHP
error_reporting(-1);

// Même chose que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

Notes

Avertissement

La plupart des erreurs E_STRICT sont évaluées au moment de la compilation, comme les erreurs qui ne sont pas reportées dans le fichier lorsque error_reporting est défini pour inclure les erreurs E_STRICT (et vice-versa).

Astuce

En passant la valeur -1, toutes les erreurs possibles seront affichées, même lors de l'ajout d'autres niveaux et constantes dans les futures versions de PHP. La constantes E_ALL fonctionne de la même façon depuis PHP 6.

Voir aussi

  • La directive display_errors
  • La directive html_errors
  • La directive xmlrpc_errors
  • ini_set() - Modifie la valeur d'une option de configuration

error_log
restore_error_handler
Fonctions sur la gestion des erreurs


Réactive l'ancienne fonction de gestion des erreurs

error_reporting
restore_exception_handler
Fonctions sur la gestion des erreurs
PHP Manual

restore_error_handler

(PHP 4 >= 4.0.1, PHP 5)

restore_error_handler — Réactive l'ancienne fonction de gestion des erreurs

Description

bool restore_error_handler ( void )

Utilisée après avoir modifié la fonction de gestion des erreurs, grâce à set_error_handler(), restore_error_handler() permet de réutiliser l'ancienne version de gestion des erreurs (qui peut être la fonction PHP par défaut, ou une autre fonction utilisateur).

Valeurs de retour

Cette fonction retourne toujours TRUE.

Exemples

Exemple #1 Exemple avec restore_error_handler()

Si unserialize() cause une erreur, alors le gestionnaire d'erreurs original est restauré.

<?php
function unserialize_handler($errno, $errstr)
{
echo "Valeur incorrectement linéarisée.\n";
}

$serialized = 'foo';
set_error_handler('unserialize_handler');
$original = unserialize($serialized);
restore_error_handler();
?>

L'exemple ci-dessus va afficher :

Valeur incorrectement linéarisée.

Notes

Note: L'appel de la fonction restore_error_handler() depuis la fonction error_handler est ignoré.

Voir aussi

  • error_reporting() - Fixe le niveau de rapport d'erreurs PHP
  • set_error_handler() - Spécifie une fonction utilisateur comme gestionnaire d'erreurs
  • restore_exception_handler() - Réactive l'ancienne fonction de gestion d'exceptions
  • trigger_error() - Déclenche une erreur utilisateur

error_reporting
restore_exception_handler
Fonctions sur la gestion des erreurs


Réactive l'ancienne fonction de gestion d'exceptions

restore_error_handler
set_error_handler
Fonctions sur la gestion des erreurs
PHP Manual

restore_exception_handler

(PHP 5)

restore_exception_handler — Réactive l'ancienne fonction de gestion d'exceptions

Description

bool restore_exception_handler ( void )

restore_exception_handler() est utilisé, après le changement de la fonction de gestion d'exceptions avec la fonction set_exception_handler(), pour revenir à l'ancien gestionnaire d'exceptions (qui peut être la fonction interne ou une fonction définie par l'utilisateur).

Valeurs de retour

Cette fonction retourne toujours TRUE.

Exemples

Exemple #1 Exemple avec restore_exception_handler()

<?php
    function exception_handler_1(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }

    function exception_handler_2(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }

    set_exception_handler('exception_handler_1');
    set_exception_handler('exception_handler_2');

    restore_exception_handler();

    throw new Exception('Ceci utilise le premier gestionnaire d\'exception...');
?>

L'exemple ci-dessus va afficher :

[exception_handler_1] Ceci utilise le premier gestionnaire d'exception...

Voir aussi

  • set_exception_handler() - Définit une fonction utilisateur de gestion d'exceptions
  • set_error_handler() - Spécifie une fonction utilisateur comme gestionnaire d'erreurs
  • restore_error_handler() - Réactive l'ancienne fonction de gestion des erreurs
  • error_reporting() - Fixe le niveau de rapport d'erreurs PHP

restore_error_handler
set_error_handler
Fonctions sur la gestion des erreurs


Spécifie une fonction utilisateur comme gestionnaire d'erreurs

restore_exception_handler
set_exception_handler
Fonctions sur la gestion des erreurs
PHP Manual

set_error_handler

(PHP 4 >= 4.0.1, PHP 5)

set_error_handler — Spécifie une fonction utilisateur comme gestionnaire d'erreurs

Description

mixed set_error_handler ( callback $error_handler [, int $error_types = E_ALL | E_STRICT ] )

set_error_handler() choisit la fonction utilisateur error_handler pour gérer les erreurs dans un script.

set_error_handler() peut être utilisé pour définir votre propre manière de gérer les erreurs durant l'exécution, par exemple pour une application dans laquelle vous devez nettoyer les données/fichiers lorsqu'une erreur survient ou lorsque vous devez déclencher une erreur sous certaines conditions (en utilisant trigger_error()).

Il faut se rappeler que la fonction standard de traitement des erreurs de PHP est alors complètement ignorée pour les erreurs de types spécifiés par error_types tant que la fonction de rappel retourne FALSE. error_reporting() n'aura plus d'effet, et votre fonction de gestion des erreurs sera toujours appelée. Vous pourrez toujours lire la valeur de l'erreur courante de error_reporting et faire réagir la fonction de gestion des erreurs en fonction. Cette remarque est notamment valable si la commande a été préfixée par @.

Notez aussi qu'il est alors confié à cette fonction de terminer le script (die()) si nécessaire. Si la fonction de gestion des erreurs se termine normalement, l'exécution du script se poursuivra avec l'exécution de la prochaine commande.

Les types d'erreur suivants ne peuvent pas être gérés avec cette fonction : E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING ainsi que la plupart des E_STRICT d'un fichier lorsque set_error_handler() est appelé.

Si une erreur survient avant que le script ne soit exécuté (par exemple un téléchargement de fichier), le gestionnaire d'erreurs personnalisé ne pourra pas être appelé, car il n'est pas encore enregistré.

Liste de paramètres

error_handler

La fonction utilisateur doit accepter deux paramètres : le code d'erreur et une chaîne décrivant le code d'erreur. Depuis, trois paramètres optionnels sont fournis en même temps : le fichier dans lequel l'erreur est survenue, la ligne à laquelle l'erreur est survenue, et le contexte dans lequel l'erreu est survenue (un tableau contenant la liste des symboles lors de l'erreur). La fonction peut être décrite comme ceci :

handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )
errno
Le premier paramètre errno, contient le niveau d'erreur, sous la forme d'un entier.
errstr
Le second paramètre errstr, contient le message d'erreur, sous forme de chaîne.
errfile
Le troisième paramètre, optionnel, errfile, contient le nom du fichier dans lequel l'erreur a été identifiée.
errline
Le quatrième paramètre, optionnel, errline, contient le numéro de ligne à laquelle l'erreur a été identifiée.
errcontext
Le cinquième paramètre, optionnel, errcontext, est un tableau qui pointe sur la table des symboles actifs lors de l'erreur. En d'autres termes, errcontext contient un tableau avec toutes les variables qui existaient lorsque l'erreur a été déclenchée. La fonction de gestion d'erreurs de l'utilisateur ne doit pas modifier le contexte d'erreur.

Si la fonction retourne FALSE, alors le gestion d'erreurs normal continue.

error_types

Sert de masque pour appeler la fonction error_handler de la même façon que l'option de configuration error_reporting contrôle les erreurs qui sont affichées. Sans le masque, error_handler sera appelé pour toutes les erreurs, quelque soit la valeur de error_reporting.

Valeurs de retour

Retourne une chaîne contenant le dernier gestionnaire d'erreurs (s'il existe). Si le gestionnaire d'erreurs natif est utilisé, NULL est retourné. NULL est également retourné dans le cas d'une erreur, comme une fonction de rappel incorrecte. Si le gestionnaire d'erreurs précédent est une méthode d'une classe, cette fonction retournera un tableau indexé de la classe et du nom de la méthode.

Historique

Version | Description
5.2.0 | Le gestionnaire d'erreurs doit retourner FALSE pour peupler la variable $php_errormsg.
5.0.0 | Le paramètre error_types a été introduit.
4.3.0 | Au lieu d'un nom de fonction, un tableau contenant une référence à un objet ainsi qu'un nom de méthode peut aussi être passé au paramètre error_handler.
4.0.2 | Trois paramètres optionnels pour le paramètre error_handler de la fonction utilisateur ont été introduits. C'est le nom du fichier, le numéro de ligne ainsi que le contexte.

Exemples

Exemple #1 Gestionnaire d'erreurs avec set_error_handler() et trigger_error()

L'exemple ci-dessous illustre l'interception d'erreurs internes avec génération d'erreur et son exploitation dans une fonction utilisateur :

<?php
// Gestionnaire d'erreurs
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    switch ($errno) {
    case E_USER_ERROR:
        echo "<b>Mon ERREUR</b> [$errno] $errstr<br />\n";
        echo "  Erreur fatale sur la ligne $errline dans le fichier $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Arrêt...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>Mon ALERTE</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>Mon AVERTISSEMENT</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Type d'erreur inconnu : [$errno] $errstr<br />\n";
        break;
    }

    /* Ne pas exécuter le gestionnaire interne de PHP */
    return true;
}

// Fonction pour tester la gestion d'erreur
function scale_by_log($vect, $scale)
{
    if (!is_numeric($scale) || $scale <= 0) {
        trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR);
    }

    if (!is_array($vect)) {
        trigger_error("Type d'entrée incorrect, tableau de valeurs attendu", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vect as $pos => $value) {
        if (!is_numeric($value)) {
            trigger_error("La valeur à la position $pos n'est pas un nombre, utilisation 0 (zéro)", E_USER_NOTICE);
            $value = 0;
        }
        $temp[$pos] = log($scale) * $value;
    }
    return $temp;
  }

// Configuration du gestionnaire d'erreurs
$old_error_handler = set_error_handler("myErrorHandler");

// Génération de quelques erreurs. Commençons par créer un tableau
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// Générons maintenant un second tableau
echo "----\nvector b - a notice (b = log(PI) * a)\n";
/* Valeur à la position $pos n'est pas un nombre, utilisation de 0 (zéro) */
$b = scale_by_log($a, M_PI);
print_r($b);

// Ceci est un problème, nous avons utilisé une chaîne au lieu d'un tableau
echo "----\nvector c - a warning\n";
/* Type d'entrée incorrect, tableau de valeurs attendu */
$c = scale_by_log("non un tablau", 2.3);
var_dump($c); // NULL

// Ceci est une erreur critique : le logarithme de zéro ou d'un nombre négatif est indéfini
echo "----\nvector d - fatal error\n";
/* log(x) pour x <= 0 est indéfini, vous utilisez : scale = $scale" */
$d = scale_by_log($a, -2.5);
var_dump($d); // Jamais atteint
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

vector a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
vector b - a notice (b = log(PI) * a)
<b>Mon AVERTISSEMENT</b> [1024] La valeur à la position 2 n'est pas un nombre, utilisation de 0 (zéro)<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
vector c - an warning
<b>Mon ALERTE</b> [512] Entrée incorrect, tableau de valeurs attendu<br />
NULL
----
vector d - fatal error
<b>Mon ERREUR</b> [256] log(x) for x <= 0 est indéfini, vous utilisez : scale = -2.5<br />
Erreur fatale sur la ligne 36 dans le fichier trigger_error.php, PHP 4.0.2 (Linux)<br />
Abandon...<br />

Voir aussi

  • ErrorException
  • error_reporting() - Fixe le niveau de rapport d'erreurs PHP
  • restore_error_handler() - Réactive l'ancienne fonction de gestion des erreurs
  • trigger_error() - Déclenche une erreur utilisateur
  • Constantes de niveau d'erreur
  • Informations sur le type callback

restore_exception_handler
set_exception_handler
Fonctions sur la gestion des erreurs


Définit une fonction utilisateur de gestion d'exceptions

set_error_handler
trigger_error
Fonctions sur la gestion des erreurs
PHP Manual

set_exception_handler

(PHP 5)

set_exception_handler — Définit une fonction utilisateur de gestion d'exceptions

Description

callback set_exception_handler ( callback $exception_handler )

set_exception_handler() définit le gestionnaire d'exceptions par défaut si une exception n'est pas attrapée avec un bloc d'essai/d'attrape. L'exécution sera stoppé après l'appel à la fonction exception_handler.

Liste de paramètres

exception_handler

Nom de la fonction à appeler lorsqu'une exception qui n'a pu être attrapée survient. Cette fonction doit être définie avant l'appel de la fonction set_exception_handler(). Ce gestionnaire de fonction doit accepter un paramètre qui sera l'objet représentant l'exception qui vient d'être lancée.

Valeurs de retour

Retourne le nom du gestionnaire précédemment défini ou NULL en cas d'erreur. Si aucun gestionnaire n'a été précédemment défini, NULL est également retournée.

Exemples

Exemple #1 Exemple avec set_exception_handler()

<?php
function exception_handler($exception) {
  echo "Exception non attrapée : " , $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');

throw new Exception('Uncaught Exception');
echo "Non exécuté\n";
?>

Voir aussi

  • restore_exception_handler() - Réactive l'ancienne fonction de gestion d'exceptions
  • restore_error_handler() - Réactive l'ancienne fonction de gestion des erreurs
  • error_reporting() - Fixe le niveau de rapport d'erreurs PHP
  • Informations sur le type callback
  • Les exceptions en PHP 5

set_error_handler
trigger_error
Fonctions sur la gestion des erreurs


Déclenche une erreur utilisateur

set_exception_handler
user_error
Fonctions sur la gestion des erreurs
PHP Manual

trigger_error

(PHP 4 >= 4.0.1, PHP 5)

trigger_error — Déclenche une erreur utilisateur

Description

bool trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ] )

trigger_error() est utilisé pour déclencher une erreur utilisateur. Elle peut aussi être utilisée en conjonction avec un gestionnaire d'erreurs interne, ou un gestionnaire d'erreurs utilisateur qui a été choisi comme gestionnaire d'erreurs avec set_error_handler().

trigger_error() est pratique lorsque vous devez générer une réponse particulière lors de l'exécution.

Liste de paramètres

error_msg

Le message d'erreur désigné pour cette erreur. Il est limité en longueur à 1024 caractères. Tous caractères après les 1024 seront ignorés.

error_type

Le type d'erreur désigné pour cette erreur. Cela ne fonctionne qu'avec la famille de constantes E_USER et sera par défaut E_USER_NOTICE.

Valeurs de retour

Cette fonction retourne FALSE si un paramètre incorrect est passé à error_type, TRUE sinon.

Exemples

Exemple #1 Exemple avec trigger_error()

Voir set_error_handler() pour un exemple plus conséquent.

<?php
if ($divisor == 0) {
  trigger_error("Impossible de diviser par zéro", E_USER_ERROR);
}
?>

Notes

Avertissement

Les entités HTML contenues dans le paramètre error_msg ne sont pas échappées. Utilisez la fonction htmlentities() sur le message si l'erreur doit être affichée dans un navigateur.

Voir aussi

  • error_reporting() - Fixe le niveau de rapport d'erreurs PHP
  • set_error_handler() - Spécifie une fonction utilisateur comme gestionnaire d'erreurs
  • restore_error_handler() - Réactive l'ancienne fonction de gestion des erreurs
  • Les constantes de niveau d'erreur

set_exception_handler
user_error
Fonctions sur la gestion des erreurs


Alias de trigger_error

trigger_error
htscanner
Fonctions sur la gestion des erreurs
PHP Manual

user_error

(PHP 4, PHP 5)

user_error — Alias de trigger_error()

Description

Cette fonction est un alias de : trigger_error().

trigger_error
htscanner
Fonctions sur la gestion des erreurs


Support du format .htaccess pour toutes les SAPI

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
user_error
Introduction
Affecte le comportement de PHP


Introduction

L'extension htscanner donne la possibilité d'accéder à des fichiers au format .htaccess pour configurer PHP, dossier par dossier, comme c'est possible avec Apache. Cela est particulièrement utile avec fastcgi (ISS5/6/7, lighttpd, etc.).

htscanner
Installation/Configuration
htscanner


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
htscanner


Pré-requis

PHP version 5.2.0 ou plus récent.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/htscanner

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration htscanner
Nom | Défaut | Modifiable | Historique
htscanner.config_file | ".htscanner" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM |
htscanner."stop_on_error" | "Off" | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

htscanner.config_file string

Nom du fichier qui contient les configurations.

htscanner.default_docroot string

Racine Web par défaut.

htscanner.default_ttl int

Durée de vie des documents mis en cache, exprimé en secondes.

htscanner.stop_on_error int

Arrêt sur erreur (erreur d'analyse, ou d'affectation d'une directive INI).

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
inclued
Installation/Configuration


Arbre d'inclusions

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple qui implémente inclued dans une application
  • Fonctions inclued
    • inclued_get_data — Get the inclued data
Types de ressources
Introduction
Affecte le comportement de PHP


Introduction

Note les inclusions, et produire une arborescence d'inclusions et d'héritage de classes à la volée.

Les fichiers peuvent avoir été inclus avec les fonctions include(), include_once(), require() ou require_once().

Les héritages de classes sont aussi rapportés.

inclued
Installation/Configuration
inclued


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
inclued


Pré-requis

PHP version 5.1.0 ou plus récente.

Le fichier inclus gengraph.php utilise la bibliothèque » graphviz, mais elle n'est pas obligatoire.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/inclued

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration inclued
Nom | Défaut | Modifiable | Historique
inclued.enabled | Off | PHP_INI_SYSTEM |
inclued.dumpdir | NULL | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

inclued.enabled bool

Si oui ou non, inclued est activée.

inclued.dumpdir string

Chemin du dossier qui stocke les fichiers inclued. Si configuré, chaque requête PHP va créer un fichier dans ce dossier.

Attention

Comme chaque requête crée un fichier, ce dossier risque de se remplir très très vite!

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Cette extension ne définit aucune constante.

Types de ressources
Exemples
inclued


Exemples

Sommaire

  • Exemple qui implémente inclued dans une application
Constantes pré-définies
Exemple qui implémente inclued dans une application
inclued


Exemple qui implémente inclued dans une application

Cet exemple montre comment implémenter inclued dans une application existante, et afficher les résultats.

Exemple #1 Lecture des informations depuis inclued

<?php
// Fichier de stockage des informations d'inclusion
$fp = fopen('/tmp/wp.ser', 'w');
if ($fp) {
    $clue = inclued_get_data();
    if ($clue) {
        fwrite($fp, serialize($clue));
    }
    fclose($fp);
}
?>

Maintenant que nous avons des données, il est temps de prendre du recul et d'avoir un graphique. L'extension inclued inclut un fichier PHP appelé gengraph.php qui crée un fichier DOT, qui peut être passé à la bibliothèque » graphviz. Cependant, cette approche n'est pas obligatoire.

Exemple #2 Exemple d'utilisation de gengraph.php

Cet exemple crée une image appelée inclued.png qui montre les fichiers inclus.

# First, create the dot file
$ php graphviz.php -i /tmp/wp.ser -o wp.dot

# Next, create the image
$ dot -Tpng -o inclued.png wp.dot

Exemples
Fonctions inclued
Exemples


Fonctions inclued

Sommaire

  • inclued_get_data — Get the inclued data
Exemple qui implémente inclued dans une application
inclued_get_data
inclued


Get the inclued data

Fonctions inclued
Options PHP et informations PHP
Fonctions inclued
PHP Manual

inclued_get_data

(PECL inclued >= 0.1.0)

inclued_get_data — Get the inclued data

Description

array inclued_get_data ( void )

Lit les données incluses.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les données incluses.

Exemples

Exemple #1 Exemple avec inclued_get_data()

Voyez les exemples avec inclued pour une méthode de représentation de ces données.

<?php
include 'x.php';

$clue = inclued_get_data();

print_r($clue);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
  [includes] => Array
    (
      [0] => Array
        (
          [operation] => include
          [op_type] => 2
          [filename] => x.php
          [opened_path] => /tmp/x.php
          [fromfile] => /tmp/z.php
          [fromline] => 2
        )
    )
)

Voir aussi

  • exemples avec inclued
  • debug_backtrace() - Génère le contexte de déboguage
  • include() - include

Fonctions inclued
Options PHP et informations PHP
Fonctions inclued


Options PHP et informations PHP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur les options et les informations de PHP
    • assert_options — Fixe et lit différentes options d'assertions
    • assert — Vérifie si une assertion est fausse
    • dl — Charge une extension PHP à la volée
    • extension_loaded — Détermine si une extension est chargée ou non
    • gc_collect_cycles — Force le passage du collecteur de mémoire
    • gc_disable — Désactive le collecteur de références circulaires
    • gc_enable — Active le collecteur de références circulaires
    • gc_enabled — Retourne le statut du collecteur de références circulaires
    • get_cfg_var — Retourne la valeur d'une option de PHP
    • get_current_user — Retourne le nom du possesseur du script courant
    • get_defined_constants — Retourne la liste des constantes et leurs valeurs
    • get_extension_funcs — Liste les fonctions d'une extension
    • get_include_path — Lit la valeur de la directive de configuration include_path
    • get_included_files — Retourne un tableau avec les noms des fichiers qui sont inclus dans un script
    • get_loaded_extensions — Retourne la liste de tous les modules compilés et chargés
    • get_magic_quotes_gpc — Retourne la configuration actuelle de l'option magic_quotes_gpc
    • get_magic_quotes_runtime — Retourne la configuration actuelle de l'option magic_quotes_runtime
    • get_required_files — Alias de get_included_files
    • getenv — Retourne la valeur d'une variable d'environnement
    • getlastmod — Retourne la date de dernière modification de la page
    • getmygid — Retourne le GID du propriétaire du script
    • getmyinode — Retourne l'inode du script
    • getmypid — Retourne le numéro de processus courant de PHP
    • getmyuid — Retourne l'UID du propriétaire du script actuel
    • getopt — Lit des options passées dans la ligne de commande
    • getrusage — Retourne le niveau d'utilisation des ressources
    • ini_alter — Alias de ini_set
    • ini_get_all — Lit toutes les valeurs de configuration
    • ini_get — Lit la valeur d'une option de configuration
    • ini_restore — Restaure la valeur de l'option de configuration
    • ini_set — Modifie la valeur d'une option de configuration
    • magic_quotes_runtime — Alias de set_magic_quotes_runtime
    • main — Fausse documentation pour main
    • memory_get_peak_usage — Retourne la quantité de mémoire maximale allouée par PHP
    • memory_get_usage — Indique la quantité de mémoire utilisée par PHP
    • php_ini_loaded_file — Récupère le chemin d'un fichier php.ini chargé
    • php_ini_scanned_files — Retourne la liste des fichiers .ini analysés dans les dossiers de configuration supplémentaires
    • php_logo_guid — Retourne l'identifiant du logo PHP
    • php_sapi_name — Retourne le type d'interface utilisée entre le serveur web et PHP
    • php_uname — Retourne les informations sur le système d'exploitation
    • phpcredits — Affiche les crédits de PHP
    • phpinfo — Affiche de nombreuses informations sur la configuration de PHP
    • phpversion — Retourne le numéro de la version courante de PHP
    • putenv — Fixe la valeur d'une variable d'environnement
    • restore_include_path — Restaure la valeur de la directive de configuration include_path
    • set_include_path — Modifie la valeur de la directive de configuration include_path
    • set_magic_quotes_runtime — Active/désactive l'option magic_quotes_runtime
    • set_time_limit — Fixe le temps maximum d'exécution d'un script
    • sys_get_temp_dir — Retourne le chemin du répertoire utilisé pour les fichiers temporaires
    • version_compare — Compare deux chaînes de version au format des versions PHP
    • zend_logo_guid — Retourne le logo de Zend
    • zend_thread_id — Retourne un identifiant unique du thread courant
    • zend_version — Lit la version courante du moteur Zend
inclued_get_data
Introduction
Affecte le comportement de PHP


Introduction

Ces fonctions vous donnent accès à de nombreuses informations sur PHP lui-même, comme les configurations d'exécution, les extensions chargées, les versions, etc. Vous trouverez aussi des fonctions pour modifier des options. Ainsi que la star des fonctions PHP phpinfo().

Options PHP et informations PHP
Installation/Configuration
Options PHP et informations PHP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Options PHP et informations PHP


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration
Nom | Défaut | Modifiable | Historique
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | Disponible depuis PHP 4.3.0.
max_input_nesting_level | "64" | PHP_INI_PERDIR | Disponible depuis PHP 4.4.8. Supprimé depuis PHP 5.0.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
magic_quotes_runtime | "0" | PHP_INI_ALL | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
zend.enable_gc | "1" | PHP_INI_ALL | Disponible depuis PHP 5.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

assert.active boolean

Active les évaluations de type assert().

assert.bail boolean

Termine le script si une assertion échoue.

assert.warning boolean

Émet une alerte PHP pour chaque assertion qui échoue.

assert.callback string

Fonction définie par le programmeur, à appeler pour chaque assertion échouée.

assert.quiet_eval boolean

Utilise la configuration courante de error_reporting() durant les évaluations d'assertions. Si activée, aucune erreur n'est affichée (error_reporting(0) implicite) durant l'évaluation. Si désactivée, les erreurs sont affichées en fonction de la configuration de error_reporting()

enable_dl boolean

Cette directive est réellement utile lorsque PHP est compilé comme module Apache. Vous pouvez activer le chargement dynamique d'extension avec la fonction PHP dl() au cas par cas, pour chaque serveur virtuel.

La raison principale pour désactiver ce système est la sécurité. Avec le chargement dynamique, il est possible de passer outre les configurations de safe mode et open_basedir. Par défaut, le chargement dynamique est autorisé, sauf avec le safe mode. En safe mode, il est toujours impossible d'utiliser la fonction dl().

max_execution_time entier

Fixe le temps maximal d'exécution d'un script, en secondes. Cela permet d'éviter que des scripts en boucles infinies saturent le serveur. La configuration par défaut est de 30 secondes. Lorsque PHP fonctionne depuis la ligne de commande, la valeur par défaut est 0.

Le temps d'exécution maximum n'est pas affecté par des appels systèmes tels que sleep(). Reportez-vous à la fonction set_time_limit() pour plus de détails.

Vous ne pouvez pas modifier la valeur de cette directive avec ini_set() lorsque PHP est configuré en safe mode. Le seul moyen de le faire est de désactiver le safe mode ou de changer la valeur dans php.ini.

Votre serveur web peut avoir d'autres configurations de la durée limite d'exécution qui peuvent également interrompre PHP. Apache a une directive Timeout et IIS a une fonction CGI pour cela. Par défaut, elles valent toutes les deux 300 secondes. Reportez-vous à la documentation de votre serveur web pour plus de détails.

max_input_time entier

Cette option spécifie la durée maximale pour analyser les données d'entrée, via POST, GET et téléchargement de fichier.

max_input_nesting_level entier

Définit la profondeur maximale des variables d'entrées (i.e. $_GET, $_POST..)

magic_quotes_gpc boolean
Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Fixe le mode magic_quotes pour les opérations GPC (Get/Post/Cookie). Lorsque magic_quotes est activé, tous les caractères ' (guillemets simples), " (guillemets doubles), \ (antislash) et NUL sont échappés avec un antislash.

Note: En PHP 4, la variable $_ENV est également échappée.

Note: Si la directive magic_quotes_sybase est aussi activée, elle écrasera magic_quotes_gpc. Avec les deux directives activées, seuls les guillemets simples seront protégés avec un autre guillemet simple (''). Les guillemets doubles, les antislashs et les NUL ne seront pas protégés.

Voir aussi get_magic_quotes_gpc().

magic_quotes_runtime boolean
Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Si magic_quotes_runtime est activé, toutes les fonctions qui obtiennent des données auprès d'une source externe, y compris les bases de données et les fichiers texte, verront leur guillemets échappés avec un antislash. Si magic_quotes_sybase est aussi activé, les guillemets simples seront échappés avec un autre guillemet simple, plutôt qu'un antislash.

Fonctions affectées par magic_quotes_runtime (n'incluent pas les fonctions depuis PECL):

  • get_meta_tags()
  • file_get_contents()
  • file()
  • fgets()
  • fwrite()
  • fread()
  • fputcsv()
  • stream_socket_recvfrom()
  • exec()
  • system()
  • passthru()
  • stream_get_contents()
  • bzread()
  • gzfile()
  • gzgets()
  • gzwrite()
  • gzread()
  • phar_file_get_contents()
  • exif_read_data()
  • dba_insert()
  • dba_replace()
  • dba_fetch()
  • ibase_fetch_row()
  • ibase_fetch_assoc()
  • ibase_fetch_object()
  • mssql_fetch_row()
  • mssql_fetch_object()
  • mssql_fetch_array()
  • mssql_fetch_assoc()
  • mysqli_fetch_row()
  • mysqli_fetch_array()
  • mysqli_fetch_assoc()
  • mysqli_fetch_object()
  • pg_fetch_row()
  • pg_fetch_assoc()
  • pg_fetch_array()
  • pg_fetch_object()
  • pg_fetch_all()
  • pg_select()
  • sybase_fetch_object()
  • sybase_fetch_array()
  • sybase_fetch_assoc()
  • SplFileObject::fgets()
  • SplFileObject::fgetcsv()
  • SplFileObject::fwrite()

zend.enable_gc boolean

Active ou désactive la collecte des références circulaires.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Les constantes listées ici sont toujours disponibles dans PHP.

Constantes prédéfinies de phpcredits()
Constante | Valeur | Description
CREDITS_GROUP | 1 | Une liste des développeurs principaux
CREDITS_GENERAL | 2 | Crédits généraux. Design du langage, concepts, auteurs de PHP et module SAPI.
CREDITS_SAPI | 4 | Une liste des API de serveurs, et leurs auteurs.
CREDITS_MODULES | 8 | Une liste des extensions de PHP, et leurs auteurs
CREDITS_DOCS | 16 | Les crédits de l'équipe de documentation
CREDITS_FULLPAGE | 32 | Généralement utilisé combiné avec d'autres options. Cette option indique qu'une page HTML complète doit être générée.
CREDITS_QA | 64 | Les crédits pour le groupe d'assurance qualité.
CREDITS_ALL | -1 | Tous les crédits. C'est l'équivalent de : CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Elle génère une page HTML complète et autonome. C'est la valeur par défaut.
Constantes de phpinfo()
Constante | Valeur | Description
INFO_GENERAL | 1 | La ligne de configuration, le chemin du php.ini, la date de compilation, le système et plus encore.
INFO_CREDITS | 2 | Crédits de PHP. Voir aussi phpcredits().
INFO_CONFIGURATION | 4 | Valeurs locales et serveurs des directives PHP. Voir aussi ini_get().
INFO_MODULES | 8 | Les modules chargés et leurs configurations respectives.
INFO_ENVIRONMENT | 16 | Les variables d'environnement, qui sont aussi disponibles dans $_ENV.
INFO_VARIABLES | 32 | Toutes les variables prédéfinies : EGPCS (Environnement, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | La licence PHP. Voir aussi la » FAQ de la licence.
INFO_ALL | -1 | Affiche toutes les valeurs citées ci-dessus. C'est la valeur par défaut.

Les constantes d'assertions servent avec la fonction assert_options().

Constantes d'assert()
Constante | Directive de configuration | Description
ASSERT_ACTIVE | assert.active | Active l'évaluation assert().
ASSERT_CALLBACK | assert.callback | Fonction de rappel des assertions échouées.
ASSERT_BAIL | assert.bail | Termine l'exécution des assertions échouées.
ASSERT_WARNING | assert.warning | Émet une alerte PHP pour chaque assertion échouée.
ASSERT_QUITE_EVAL | assert.quiet_eval | Désactive le error_reporting durant l'évaluation des expressions d'assertion.

Les constantes suivantes ne sont disponibles que si le système d'hébergement est sur Windows, et peut vous donner des informations sur les versions, qui vous permettront de détecter la présence de fonctionnalités. Elles sont disponibles depuis PHP 5.3.0.

Constantes particulières à Windows
Constante | Description
PHP_WINDOWS_VERSION_MAJOR | La version majeure de Windows, qui peut être 4 (NT4/ME/98/95), 5 (XP/2003 R2/2003/2000) ou 6 (Vista/2008).
PHP_WINDOWS_VERSION_MINOR | La version mineure de Windows, qui peut être 0 (Vista/2008/2000/NT4/95), 1 (XP), 2 (2003 R2/2003/XP x64), 10 (98) ou 90 (ME).
PHP_WINDOWS_VERSION_BUILD | Le numéro de compilation de Windows (par exemple, Windows Vista avec SP1 a le numéro 6001)
PHP_WINDOWS_VERSION_PLATFORM | La plate-forme que PHP utilise actuellement : cette valeur peut être 2 sur Windows Vista/XP/2000/NT4, Server 2008/2003 et sur Windows ME/98/95 cette valeur est 1.
PHP_WINDOWS_VERSION_SP_MAJOR | La version majeure du paquet de service installé : cette valeur vaut 0 si aucun paquet de service n'est disponible. Par exemple, Windows XP avec le paquet de service 3 donne la valeur 3 à cette constante.
PHP_WINDOWS_VERSION_SP_MINOR | La version mineur du paquet de service installé. Cette valeur est 0 si aucun paquet de service n'est installé.
PHP_WINDOWS_VERSION_SUITEMASK | Le masque est un champ de bits qui permet de connaître la présence de différentes fonctionnalités de Windows. Voyez la table ci-dessous pour connaître les différents champs.
PHP_WINDOWS_VERSION_PRODUCTTYPE | Cette constante contient la valeur utilisée pour déterminer la valeur des constantes PHP_WINDOWS_NT_*. Cette valeur peut être l'une des constantes PHP_WINDOWS_NT_*, indiquant le type de plate-forme.
PHP_WINDOWS_NT_DOMAIN_CONTROLLER | Le contrôleur de domaine.
PHP_WINDOWS_NT_SERVER | Un serveur système (eg. Server 2008/2003/2000). Notez que si c'est un contrôleur de domaine, il est indiqué dans PHP_WINDOWS_NT_DOMAIN_CONTROLLER.
PHP_WINDOWS_NT_WORKSTATION | Un poste de travail (eg. Vista/XP/2000/NT4)

La table ci-desous présente les fonctionnalités qui peuvent être vérifiées dans le champ de bit de la constante PHP_WINDOWS_VERSION_SUITEMASK.

Champs du masque Windows
Bits | Description
0x00000004 | Les composants Microsoft BackOffice sont installés.
0x00000400 | Windows Server 2003, Web Edition est installé.
0x00004000 | Windows Server 2003, Compute Cluster Edition est installé.
0x00000080 | Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition ou Windows 2000 Datacenter Server est installé.
0x00000002 | Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, Windows 2000 Advanced Server, ou Windows NT Server 4.0 Enterprise Edition est installé.
0x00000040 | Windows XP Embedded est installé.
0x00000200 | Windows Vista Home Premium, Windows Vista Home Basic, ou Windows XP Home Edition est installé.
0x00000100 | Remote Desktop est supporté, mais une seule session interactive est supportée. Cette valeur est présente, à moins que le système ne fonctionne en mode serveur d'application.
0x00000001 | Microsoft Small Business Server a été installé sur le système, mais a été mis à joru vers une nouvelle version de Windows.
0x00000020 | Microsoft Small Business Server est installé avec la licence cliente restreinte.
0x00002000 | Windows Storage Server 2003 R2 ou Windows Storage Server 2003 est installé.
0x00000010 | Terminal Services est installé. Cette valeur est toujours activée. Si cette valeur est activée, mais 0x00000100 ne l'est pas, alors le système fonctionne en mode de serveur d'application.
0x00008000 | Windows Home Server est installé.
Types de ressources
Fonctions sur les options et les informations de PHP
Options PHP et informations PHP


Fonctions sur les options et les informations de PHP

Sommaire

  • assert_options — Fixe et lit différentes options d'assertions
  • assert — Vérifie si une assertion est fausse
  • dl — Charge une extension PHP à la volée
  • extension_loaded — Détermine si une extension est chargée ou non
  • gc_collect_cycles — Force le passage du collecteur de mémoire
  • gc_disable — Désactive le collecteur de références circulaires
  • gc_enable — Active le collecteur de références circulaires
  • gc_enabled — Retourne le statut du collecteur de références circulaires
  • get_cfg_var — Retourne la valeur d'une option de PHP
  • get_current_user — Retourne le nom du possesseur du script courant
  • get_defined_constants — Retourne la liste des constantes et leurs valeurs
  • get_extension_funcs — Liste les fonctions d'une extension
  • get_include_path — Lit la valeur de la directive de configuration include_path
  • get_included_files — Retourne un tableau avec les noms des fichiers qui sont inclus dans un script
  • get_loaded_extensions — Retourne la liste de tous les modules compilés et chargés
  • get_magic_quotes_gpc — Retourne la configuration actuelle de l'option magic_quotes_gpc
  • get_magic_quotes_runtime — Retourne la configuration actuelle de l'option magic_quotes_runtime
  • get_required_files — Alias de get_included_files
  • getenv — Retourne la valeur d'une variable d'environnement
  • getlastmod — Retourne la date de dernière modification de la page
  • getmygid — Retourne le GID du propriétaire du script
  • getmyinode — Retourne l'inode du script
  • getmypid — Retourne le numéro de processus courant de PHP
  • getmyuid — Retourne l'UID du propriétaire du script actuel
  • getopt — Lit des options passées dans la ligne de commande
  • getrusage — Retourne le niveau d'utilisation des ressources
  • ini_alter — Alias de ini_set
  • ini_get_all — Lit toutes les valeurs de configuration
  • ini_get — Lit la valeur d'une option de configuration
  • ini_restore — Restaure la valeur de l'option de configuration
  • ini_set — Modifie la valeur d'une option de configuration
  • magic_quotes_runtime — Alias de set_magic_quotes_runtime
  • main — Fausse documentation pour main
  • memory_get_peak_usage — Retourne la quantité de mémoire maximale allouée par PHP
  • memory_get_usage — Indique la quantité de mémoire utilisée par PHP
  • php_ini_loaded_file — Récupère le chemin d'un fichier php.ini chargé
  • php_ini_scanned_files — Retourne la liste des fichiers .ini analysés dans les dossiers de configuration supplémentaires
  • php_logo_guid — Retourne l'identifiant du logo PHP
  • php_sapi_name — Retourne le type d'interface utilisée entre le serveur web et PHP
  • php_uname — Retourne les informations sur le système d'exploitation
  • phpcredits — Affiche les crédits de PHP
  • phpinfo — Affiche de nombreuses informations sur la configuration de PHP
  • phpversion — Retourne le numéro de la version courante de PHP
  • putenv — Fixe la valeur d'une variable d'environnement
  • restore_include_path — Restaure la valeur de la directive de configuration include_path
  • set_include_path — Modifie la valeur de la directive de configuration include_path
  • set_magic_quotes_runtime — Active/désactive l'option magic_quotes_runtime
  • set_time_limit — Fixe le temps maximum d'exécution d'un script
  • sys_get_temp_dir — Retourne le chemin du répertoire utilisé pour les fichiers temporaires
  • version_compare — Compare deux chaînes de version au format des versions PHP
  • zend_logo_guid — Retourne le logo de Zend
  • zend_thread_id — Retourne un identifiant unique du thread courant
  • zend_version — Lit la version courante du moteur Zend
Constantes pré-définies
assert_options
Options PHP et informations PHP


Fixe et lit différentes options d'assertions

Fonctions sur les options et les informations de PHP
assert
Fonctions sur les options et les informations de PHP
PHP Manual

assert_options

(PHP 4, PHP 5)

assert_options — Fixe et lit différentes options d'assertions

Description

mixed assert_options ( int $what [, mixed $value ] )

assert_options() permet de modifier les diverses options de la fonction assert(), ou simplement connaître la configuration actuelle.

Liste de paramètres

what

Options d'assertions
Option | Directive | Valeur par défaut | Description
ASSERT_ACTIVE | assert.active | 1 | Active l'évaluation de la fonction assert()
ASSERT_WARNING | assert.warning | 1 | Génère une alerte PHP pour chaque assertion fausse
ASSERT_BAIL | assert.bail | 0 | Termine l'exécution en cas d'assertion fausse
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | Désactive le rapport d'erreur durant l'évaluation d'une assertion
ASSERT_CALLBACK | assert.callback | (NULL) | Fonction de rappel utilisateur, pour le traitement des assertions fausses

value

Une nouvelle valeur, optionnelle, pour l'option.

Valeurs de retour

Retourne la valeur originale de l'option, ou bien FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec assert_options()

<?php
// Ceci est notre fonction pour gérer les
// erreurs d'assertion
function assert_failure()
{
    echo 'Échec de l\'assertion';
}

// Ceci est notre fonction de test
function test_assert($parameter)
{
    assert(is_bool($parameter));
}

// Définit nos options d'assertion
assert_options(ASSERT_ACTIVE,   true);
assert_options(ASSERT_BAIL,     true);
assert_options(ASSERT_WARNING,  false);
assert_options(ASSERT_CALLBACK, 'assert_failure');

// Une assertion qui doit échouée
test_assert(1);

// Ceci n'est jamais atteint, car ASSERT_BAIL
// vaut true
echo 'Jamais atteint';
?>

Voir aussi

  • assert() - Vérifie si une assertion est fausse

Fonctions sur les options et les informations de PHP
assert
Fonctions sur les options et les informations de PHP


Vérifie si une assertion est fausse

assert_options
dl
Fonctions sur les options et les informations de PHP
PHP Manual

assert

(PHP 4, PHP 5)

assert — Vérifie si une assertion est fausse

Description

bool assert ( mixed $assertion )

assert() va vérifier l'assertion assertion et prendre la mesure appropriée si le résultat est FALSE.

Si assertion est donnée sous la forme d'une chaîne, elle sera évaluée comme un code PHP par la fonction assert(). Les avantages de ce type d'assertion sont d'être moins lourd si la vérification d'assertion est désactivée, et les messages contenant l'assertion lorsque l'assertion échoue. Cela signifie que si vous passez une condition booléenne en tant qu'assertion, cette condition ne sera pas considérée comme un paramètre par la fonction d'assertion que vous avez définie avec la fonction assert_options(), la condition est convertie en chaîne de caractères avant l'appel à ce gestionnaire de fonction, et le booléen FALSE sera converti en chaîne de caractères vide.

Il est recommandé de n'utiliser les assertions que comme outil de déboguage. Vous pouvez les utiliser pour les vérifications d'usage : ces conditions doivent normalement être vraies, et indiquer une erreur de programmation si ce n'est pas le cas. Vous pouvez aussi vérifier la présence de certaines extensions ou limitations du système.

Les assertions ne doivent pas être utilisées pour faire des opérations de vérifications en production, comme des vérifications de valeur d'argument. En conditions normales, votre code doit être en état de fonctionner si la vérification d'assertion est désactivée.

Le comportement de assert() peut être configuré par assert_options() ou par les directives de configuration décrites dans la page de manuel de cette fonction.

La fonction assert_options() et la directive ASSERT_CALLBACK permettent de configurer une fonction qui sera appelée lorsque l'assertion échoue.

Les fonctions de rappel pour assert() sont particulièrement utiles pour bâtir des suites de tests automatiques, car elles vous permettent de capturer facilement le code passé à l'assertion, ainsi que des informations sur le lieu et le moment de l'assertion. Même si ces informations peuvent être appelées par d'autres méthodes, les assertions sont plus rapides et plus faciles.

La fonction de rappel doit accepter trois arguments. Le premier contient le nom du fichier qui a vu l'assertion échouer. Le second contient le numéro de ligne dans le fichier précédent. Le troisième argument contient l'expression qui a échoué (s'il y en a : les valeurs littérales comme 1 ou "deux" ne seront pas passées par cet argument).

Liste de paramètres

assertion

L'assertion.

Valeurs de retour

FALSE si l'assertion est fausse, TRUE sinon.

Exemples

Exemple #1 Gestion des assertions avec un gestionnaire personnalisé

<?php
// Activation des assertions et mise en mode discret
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Création d'un gestionnaire d'assertions
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Échec de l'assertion :
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}

// Configuration de la méthode de callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Utilisation d'une assertion qui va échouer
assert('mysql_query("")');
?>

Voir aussi

  • assert_options() - Fixe et lit différentes options d'assertions

assert_options
dl
Fonctions sur les options et les informations de PHP


Charge une extension PHP à la volée

assert
extension_loaded
Fonctions sur les options et les informations de PHP
PHP Manual

dl

(PHP 4, PHP 5)

dl — Charge une extension PHP à la volée

Description

bool dl ( string $library )

Charge l'extension PHP library à la volée.

Utilisez la fonction extension_loaded() pour vérifier qu'une extension est chargée ou non. Cette fonction travaille aussi bien avec les extensions natives qu'avec les extensions dynamiquement chargées (via le php.ini ou dl()).

Avertissement

Cette fonction a été supprimée du SAPI en PHP 5.3.

Liste de paramètres

library

Ce paramètre est seulement le nom de fichier de l'extension, qui dépend de votre plate-forme. Par exemple l'extension sockets (si compilée comme module partagé, et non par défaut), sera appelée sockets.so sous Unix, et php_sockets.dll sous Windows.

Le dossier à partir duquel sont chargées vos extensions dépend de votre plate-forme :

Windows - S'il n'est pas explicitement indiqué dans le fichier php.ini, le dossier des extensions est c:\php4\extensions\ (PHP4) ou C:\php5\ (PHP5) par défaut.

Unix - S'il n'est pas explicitement indiqué dans le fichier php.ini, le dossier des extensions dépend de

  • Si PHP a été compilé avec l'option --enable-debug ou non
  • Si PHP a été compilé avec le support (expérimental) de ZTS (Zend Thread Safety) ou non
  • de la constante interne ZEND_MODULE_API_NO (version interne de module d'API Zend, qui est en réalité la date à laquelle une modification importante de l'API a été faite, par exemple 20010901)
En prenant ces paramètres en considération, le dossier des extensions vaut alors <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, e.g. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 ou /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.. Si la fonctionnalité de chargement de module n'est pas disponible, ou a été désactivée (soit en désactivant la directive enable_dl ou en activant le safe mode dans le php.ini) une E_ERROR sera émise et l'exécution du script sera stoppée. Si la fonction dl() échoue parce que la bibliothèque n'a pu être trouvée, dl() retournera FALSE et émettra un message d'alerte E_WARNING.

Exemples

Exemple #1 Exemples avec dl()

<?php
// Chargement pour toutes plates-formes
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// Mais la constante PHP_SHLIB_SUFFIX est disponible depuis PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

Historique

Version | Description
5.3.0 | dl() est maintenant désactivé dans quelques SAPIs en raison de son instabilité. Le seul SAPI qui active dl() sont : CLI, CGI et Embed. Utilisez les directives de chargement d'extension à la place.

Notes

Note: dl() n'est pas supporté lorsque PHP est compilé avec le support ZTS. Utilisez les directives de chargement d'extension à la place.

Note: dl() est sensible à la casse sur les plates-formes Unix.

Note: Cette fonction est désactivée par le safe-mode

Voir aussi

  • Directives de chargement d'extensions
  • extension_loaded() - Détermine si une extension est chargée ou non

assert
extension_loaded
Fonctions sur les options et les informations de PHP


Détermine si une extension est chargée ou non

dl
gc_collect_cycles
Fonctions sur les options et les informations de PHP
PHP Manual

extension_loaded

(PHP 4, PHP 5)

extension_loaded — Détermine si une extension est chargée ou non

Description

bool extension_loaded ( string $name )

Détermine si une extension est chargée ou non.

Liste de paramètres

name

Le nom de l'extension.

Vous pouvez connaître le nom des différentes extensions PHP en utilisant la fonction phpinfo() ou bien si vous utilisez la version CGI ou CLI de PHP, vous pouvez utiliser l'option de ligne de commande -m pour afficher toutes les extensions disponibles :

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Valeurs de retour

Retourne TRUE si l'extension name a été chargée, FALSE sinon.

Exemples

Exemple #1 Exemple avec extension_loaded()

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

Historique

Version | Description
5.0.0 | extension_loaded() utilise le nom interne de l'extension pour vérifier si une extension est disponible ou pas. La plupart des extensions ont des noms internes écrits en minuscules, mais il peut arriver que certaines aient des noms en majuscules. Avant PHP 5, cette fonction comparait les noms en ne tenant pas compte de la casse.

Voir aussi

  • get_loaded_extensions() - Retourne la liste de tous les modules compilés et chargés
  • get_extension_funcs() - Liste les fonctions d'une extension
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP
  • dl() - Charge une extension PHP à la volée

dl
gc_collect_cycles
Fonctions sur les options et les informations de PHP


Force le passage du collecteur de mémoire

extension_loaded
gc_disable
Fonctions sur les options et les informations de PHP
PHP Manual

gc_collect_cycles

(PHP 5 >= 5.3.0)

gc_collect_cycles — Force le passage du collecteur de mémoire

Description

int gc_collect_cycles ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Force le passage du collecteur de mémoire.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre de cycles collectés.

extension_loaded
gc_disable
Fonctions sur les options et les informations de PHP


Désactive le collecteur de références circulaires

gc_collect_cycles
gc_enable
Fonctions sur les options et les informations de PHP
PHP Manual

gc_disable

(PHP 5 >= 5.3.0)

gc_disable — Désactive le collecteur de références circulaires

Description

void gc_disable ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Désactive le collecteur de références circulaires.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

gc_collect_cycles
gc_enable
Fonctions sur les options et les informations de PHP


Active le collecteur de références circulaires

gc_disable
gc_enabled
Fonctions sur les options et les informations de PHP
PHP Manual

gc_enable

(PHP 5 >= 5.3.0)

gc_enable — Active le collecteur de références circulaires

Description

void gc_enable ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Active le collecteur de références circulaires.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

gc_disable
gc_enabled
Fonctions sur les options et les informations de PHP


Retourne le statut du collecteur de références circulaires

gc_enable
get_cfg_var
Fonctions sur les options et les informations de PHP
PHP Manual

gc_enabled

(PHP 5 >= 5.3.0)

gc_enabled — Retourne le statut du collecteur de références circulaires

Description

bool gc_enabled ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le statut du collecteur de références circulaires.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE so le collecteur est actif, et FALSE sinon.

gc_enable
get_cfg_var
Fonctions sur les options et les informations de PHP


Retourne la valeur d'une option de PHP

gc_enabled
get_current_user
Fonctions sur les options et les informations de PHP
PHP Manual

get_cfg_var

(PHP 4, PHP 5)

get_cfg_var — Retourne la valeur d'une option de PHP

Description

string get_cfg_var ( string $option )

Retourne la valeur de l'option option de configuration PHP.

get_cfg_var() ne retourne pas les options qui ont été choisies lors de la compilation de PHP, ni ne lit dans le fichier de configuration d'Apache.

Pour vérifier si le système utilise le fichier de configuration, essayez de lire la valeur de cfg_file_path. Si cette valeur est disponible, alors le fichier de configuration est utilisé.

Liste de paramètres

option

Le nom de l'option de configuration.

Valeurs de retour

Retourne la valeur courante de l'option PHP option ou bien FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | get_cfg_var() a été modifié afin de permettre de retourner un tableau de directives.

Voir aussi

  • ini_get() - Lit la valeur d'une option de configuration
  • ini_get_all() - Lit toutes les valeurs de configuration

gc_enabled
get_current_user
Fonctions sur les options et les informations de PHP


Retourne le nom du possesseur du script courant

get_cfg_var
get_defined_constants
Fonctions sur les options et les informations de PHP
PHP Manual

get_current_user

(PHP 4, PHP 5)

get_current_user — Retourne le nom du possesseur du script courant

Description

string get_current_user ( void )

Retourne le nom du possesseur du script courant.

Valeurs de retour

Retourne le nom de l'utilisateur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec get_current_user()

<?php
echo 'Propriétaire du script courant : ' . get_current_user();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Propriétaire du script courant : SYSTEM

Voir aussi

  • getmyuid() - Retourne l'UID du propriétaire du script actuel
  • getmygid() - Retourne le GID du propriétaire du script
  • getmypid() - Retourne le numéro de processus courant de PHP
  • getmyinode() - Retourne l'inode du script
  • getlastmod() - Retourne la date de dernière modification de la page

get_cfg_var
get_defined_constants
Fonctions sur les options et les informations de PHP


Retourne la liste des constantes et leurs valeurs

get_current_user
get_extension_funcs
Fonctions sur les options et les informations de PHP
PHP Manual

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5)

get_defined_constants — Retourne la liste des constantes et leurs valeurs

Description

array get_defined_constants ([ bool $categorize ] )

Retourne les noms et valeurs des constantes déjà définies. Cela inclut les constantes créées par les extensions, et celles créées avec la fonction define().

Liste de paramètres

categorize

Permet à cette fonction de retourner un tableau multidimensionnel avec les catégories en tant que clés de la première dimension et les constantes ainsi que leurs valeurs dans la seconde dimension.

<?php
define("MY_CONSTANT", 1);
print_r(get_defined_constants(true));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [MY_CONSTANT] => 1
        )

)

Valeurs de retour

Historique

Version | Description
5.3.1 | Windows uniquement : Les constantes internes sont catégorisées sous Core, précédemment, elles l'étaient sous mhash.
5.3.0 | Les constantes internes sont maintenant catégorisées sous Core alors qu'elles l'étaient sous internal auparavant. Sous WIndows, les constantes internes étaient catégorisées sous mhash.
5.0.0 | Le paramètre categorize a été ajouté.

Exemples

Exemple #1 Exemple avec get_defined_constants()

<?php
print_r(get_defined_constants());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Voir aussi

  • defined() - Vérifie l'existence d'une constante
  • get_loaded_extensions() - Retourne la liste de tous les modules compilés et chargés
  • get_defined_functions() - Liste toutes les fonctions définies
  • get_defined_vars() - Liste toutes les variables définies

get_current_user
get_extension_funcs
Fonctions sur les options et les informations de PHP


Liste les fonctions d'une extension

get_defined_constants
get_include_path
Fonctions sur les options et les informations de PHP
PHP Manual

get_extension_funcs

(PHP 4, PHP 5)

get_extension_funcs — Liste les fonctions d'une extension

Description

array get_extension_funcs ( string $module_name )

Retourne le nom des fonctions définies dans le module module_name.

Liste de paramètres

module_name

Le nom du module.

Note: Ce paramètre doit être en minuscule.

Valeurs de retour

Retourne un tableau contenant toutes les fonctions, ou FALSE si module_name n'est pas une extension valide.

Exemples

Exemple #1 Affiche toutes les fonctions XML

<?php
print_r(get_extension_funcs("xml"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
    [22] => utf8_encode
    [23] => utf8_decode
)

Voir aussi

  • get_loaded_extensions() - Retourne la liste de tous les modules compilés et chargés

get_defined_constants
get_include_path
Fonctions sur les options et les informations de PHP


Lit la valeur de la directive de configuration include_path

get_extension_funcs
get_included_files
Fonctions sur les options et les informations de PHP
PHP Manual

get_include_path

(PHP 4 >= 4.3.0, PHP 5)

get_include_path — Lit la valeur de la directive de configuration include_path

Description

string get_include_path ( void )

Lit la valeur de la directive de configuration include_path.

Valeurs de retour

Retourne le chemin, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec get_include_path()

<?php
// Fonctionne depuis PHP 4.3.0
echo get_include_path();

// Fonctionne sur toutes les versions
echo ini_get('include_path');
?>

Voir aussi

  • ini_get() - Lit la valeur d'une option de configuration
  • restore_include_path() - Restaure la valeur de la directive de configuration include_path
  • set_include_path() - Modifie la valeur de la directive de configuration include_path
  • include() - include

get_extension_funcs
get_included_files
Fonctions sur les options et les informations de PHP


Retourne un tableau avec les noms des fichiers qui sont inclus dans un script

get_include_path
get_loaded_extensions
Fonctions sur les options et les informations de PHP
PHP Manual

get_included_files

(PHP 4, PHP 5)

get_included_files — Retourne un tableau avec les noms des fichiers qui sont inclus dans un script

Description

array get_included_files ( void )

Retourne un tableau contenant les noms de tous les fichiers qui ont été ajoutés au script avec les fonctions require_once(), include_once(), require() ou include().

Valeurs de retour

Retourne un tableau contenant les noms de tous les fichiers.

Le script en cours est considéré comme fichier inclus, il sera donc listé avec les autres fichiers.

Les fichiers inclus ou requis plusieurs fois ne s'affichent qu'une fois dans le tableau retourné.

Historique

Version | Description
4.0.1 | En PHP 4.0.1 et inférieure, cette fonction supposait que les fichiers requis utilisait l'extension .php ; les autres extensions ne fonctionnaient pas. Par ailleurs, dans cette version, le tableau retourné par la fonction get_included_files() était un tableau associatif et ne reprenait que les fichiers ajoutés avec include() et include_once().

Exemples

Exemple #1 Exemple avec get_included_files()

<?php
// Ce fichier est abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo "$filename\n";
}

?>

L'exemple ci-dessus va afficher :

abc.php
test1.php
test2.php
test3.php
test4.php

Notes

Note: Les fichiers inclus en utilisant la directive de configuration auto_prepend_file ne sont pas listés.

Voir aussi

  • include() - include
  • include_once() - include_once
  • require() - require
  • require_once() - require_once
  • get_required_files() - Alias de get_included_files

get_include_path
get_loaded_extensions
Fonctions sur les options et les informations de PHP


Retourne la liste de tous les modules compilés et chargés

get_included_files
get_magic_quotes_gpc
Fonctions sur les options et les informations de PHP
PHP Manual

get_loaded_extensions

(PHP 4, PHP 5)

get_loaded_extensions — Retourne la liste de tous les modules compilés et chargés

Description

array get_loaded_extensions ([ bool $zend_extensions = false ] )

Retourne un tableau contenant les noms de tous les modules compilés et chargés par l'application PHP courante.

Liste de paramètres

zend_extensions

Retourne zend_extensions ou pas, par défaut, vaut FALSE (ne liste pas zend_extensions).

Valeurs de retour

Retourne un tableau indexé des noms de tous les modules.

Historique

Version | Description
5.2.4 | Le paramètre optionnel zend_extensions a été ajouté

Exemples

Exemple #1 Exemple avec get_loaded_extensions()

<?php
print_r(get_loaded_extensions());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

Voir aussi

  • get_extension_funcs() - Liste les fonctions d'une extension
  • extension_loaded() - Détermine si une extension est chargée ou non
  • dl() - Charge une extension PHP à la volée
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP

get_included_files
get_magic_quotes_gpc
Fonctions sur les options et les informations de PHP


Retourne la configuration actuelle de l'option magic_quotes_gpc

get_loaded_extensions
get_magic_quotes_runtime
Fonctions sur les options et les informations de PHP
PHP Manual

get_magic_quotes_gpc

(PHP 4, PHP 5)

get_magic_quotes_gpc — Retourne la configuration actuelle de l'option magic_quotes_gpc

Description

int get_magic_quotes_gpc ( void )

Retourne la configuration actuelle de l'option magic_quotes_gpc

Gardez en tête que vous ne pouvez pas définir magic_quotes_gpc au moment de l'exécution.

Pour plus d'informations sur magic_quotes, voir la section sur les guillemets magiques.

Valeurs de retour

Retourne 0 si magic_quotes_gpc est désactivée, 1 sinon.

Exemples

Exemple #1 Exemple avec get_magic_quotes_gpc()

<?php
echo get_magic_quotes_gpc();         // 1
echo $_POST['lastname'];             // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly

if (get_magic_quotes_gpc()) {
    $lastname = stripslashes($_POST['lastname']);
}
else {
    $lastname = $_POST['lastname'];
}

// Si vous utilisez MySQL
$lastname = mysql_real_escape_string($lastname);

echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>

Notes

Note: Si la directive magic_quotes_sybase est activée, elle remplacera complètement magic_quotes_gpc. Ce qui fait que même si get_magic_quotes() retourne TRUE les guillemets doubles, les antislashs ou les caractères NULL ne seront pas protégés. Seul les guillemets simples le seront. Dans ce cas, ils ressembleront à ''.

Voir aussi

  • addslashes() - Ajoute des antislashs dans une chaîne
  • stripslashes() - Supprime les antislashs d'une chaîne
  • get_magic_quotes_runtime() - Retourne la configuration actuelle de l'option magic_quotes_runtime
  • ini_get() - Lit la valeur d'une option de configuration

get_loaded_extensions
get_magic_quotes_runtime
Fonctions sur les options et les informations de PHP


Retourne la configuration actuelle de l'option magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
Fonctions sur les options et les informations de PHP
PHP Manual

get_magic_quotes_runtime

(PHP 4, PHP 5)

get_magic_quotes_runtime — Retourne la configuration actuelle de l'option magic_quotes_runtime

Description

int get_magic_quotes_runtime ( void )

Retourne la configuration actuelle de l'option magic_quotes_runtime.

Valeurs de retour

Retourne 0 si magic_quotes_runtime est désactivée, 1 sinon.

Exemples

Exemple #1 Exemple avec get_magic_quotes_runtime()

<?php
// Vérifie si magic_quotes_runtime est activé
if(get_magic_quotes_runtime())
{
    // Désactivation
    set_magic_quotes_runtime(false);
}
?>

Voir aussi

  • get_magic_quotes_gpc() - Retourne la configuration actuelle de l'option magic_quotes_gpc
  • set_magic_quotes_runtime() - Active/désactive l'option magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
Fonctions sur les options et les informations de PHP


Alias de get_included_files

get_magic_quotes_runtime
getenv
Fonctions sur les options et les informations de PHP
PHP Manual

get_required_files

(PHP 4, PHP 5)

get_required_files — Alias de get_included_files()

Description

Cette fonction est un alias de : get_included_files().

get_magic_quotes_runtime
getenv
Fonctions sur les options et les informations de PHP


Retourne la valeur d'une variable d'environnement

get_required_files
getlastmod
Fonctions sur les options et les informations de PHP
PHP Manual

getenv

(PHP 4, PHP 5)

getenv — Retourne la valeur d'une variable d'environnement

Description

string getenv ( string $varname )

Retourne la valeur d'une variable d'environnement.

Vous pouvez voir une liste complète des variables d'environnement en utilisant la fonction phpinfo(). Vous pouvez trouver la signification de chacune d'entre elles en consultant le site concernant » "CGI specification" (en anglais), et particulièrement la page concernant les » variables d'environnement.

Liste de paramètres

varname

Le nom de la variable.

Valeurs de retour

Retourne la valeur de la variable d'environnement varname, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec getenv()

<?php
// Exemple d'utilisation de getenv()
$ip = getenv('REMOTE_ADDR');

// Ou utilisez simplement une Superglobale ($_SERVER ou $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
?>

Voir aussi

  • putenv() - Fixe la valeur d'une variable d'environnement
  • apache_getenv() - Lit une variable de processus Apache
  • Superglobales

get_required_files
getlastmod
Fonctions sur les options et les informations de PHP


Retourne la date de dernière modification de la page

getenv
getmygid
Fonctions sur les options et les informations de PHP
PHP Manual

getlastmod

(PHP 4, PHP 5)

getlastmod — Retourne la date de dernière modification de la page

Description

int getlastmod ( void )

Retourne la date de dernière modification de la page.

Si vous voulez récupérer la date de la dernière modification d'un fichier différent, utilisez la fonction filemtime().

Valeurs de retour

Retourne la date de dernière modification de la page. La valeur retournée est un timestamp UNIX, utilisable comme paramètre avec la fonction date(). Retourne FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec getlastmod()

<?php
// affiche par exemple 'Dernière modification: April 20 2004 20:43:59.'
echo "Dernière modification : " . date ("F d Y H:i:s.", getlastmod());
?>

Voir aussi

  • date() - Formate une date/heure locale
  • getmyuid() - Retourne l'UID du propriétaire du script actuel
  • getmygid() - Retourne le GID du propriétaire du script
  • get_current_user() - Retourne le nom du possesseur du script courant
  • getmyinode() - Retourne l'inode du script
  • getmypid() - Retourne le numéro de processus courant de PHP
  • filemtime() - Lit la date de dernière modification du fichier

getenv
getmygid
Fonctions sur les options et les informations de PHP


Retourne le GID du propriétaire du script

getlastmod
getmyinode
Fonctions sur les options et les informations de PHP
PHP Manual

getmygid

(PHP 4 >= 4.1.0, PHP 5)

getmygid — Retourne le GID du propriétaire du script

Description

int getmygid ( void )

Retourne le GID du propriétaire du script.

Valeurs de retour

Retourne le GID du propriétaire du script courant, ou FALSE si une erreur survient.

Voir aussi

  • getmyuid() - Retourne l'UID du propriétaire du script actuel
  • getmypid() - Retourne le numéro de processus courant de PHP
  • get_current_user() - Retourne le nom du possesseur du script courant
  • getmyinode() - Retourne l'inode du script
  • getlastmod() - Retourne la date de dernière modification de la page

getlastmod
getmyinode
Fonctions sur les options et les informations de PHP


Retourne l'inode du script

getmygid
getmypid
Fonctions sur les options et les informations de PHP
PHP Manual

getmyinode

(PHP 4, PHP 5)

getmyinode — Retourne l'inode du script

Description

int getmyinode ( void )

Retourne l'inode du script courant.

Valeurs de retour

Retourne l'inode du script courant, sous la forme d'un entier, ou FALSE si une erreur survient.

Voir aussi

  • getmygid() - Retourne le GID du propriétaire du script
  • getmyuid() - Retourne l'UID du propriétaire du script actuel
  • getmypid() - Retourne le numéro de processus courant de PHP
  • get_current_user() - Retourne le nom du possesseur du script courant
  • getlastmod() - Retourne la date de dernière modification de la page

getmygid
getmypid
Fonctions sur les options et les informations de PHP


Retourne le numéro de processus courant de PHP

getmyinode
getmyuid
Fonctions sur les options et les informations de PHP
PHP Manual

getmypid

(PHP 4, PHP 5)

getmypid — Retourne le numéro de processus courant de PHP

Description

int getmypid ( void )

Retourne le numéro de processus courant de PHP.

Valeurs de retour

Retourne le numéro de processus courant de PHP, ou FALSE si une erreur survient.

Notes

Avertissement

Les identifiants de processus ne sont pas uniques, et forment une source d'entropie faible. Nous recommandons de ne pas utiliser les pid pour assurer la sécurité d'un système.

Voir aussi

  • getmygid() - Retourne le GID du propriétaire du script
  • getmyuid() - Retourne l'UID du propriétaire du script actuel
  • get_current_user() - Retourne le nom du possesseur du script courant
  • getmyinode() - Retourne l'inode du script
  • getlastmod() - Retourne la date de dernière modification de la page

getmyinode
getmyuid
Fonctions sur les options et les informations de PHP


Retourne l'UID du propriétaire du script actuel

getmypid
getopt
Fonctions sur les options et les informations de PHP
PHP Manual

getmyuid

(PHP 4, PHP 5)

getmyuid — Retourne l'UID du propriétaire du script actuel

Description

int getmyuid ( void )

Retourne l'UID du propriétaire du script actuel.

Valeurs de retour

Retourne l'identifiant du propriétaire du script actuel (UID) ou FALSE en cas d'erreur.

Voir aussi

  • getmygid() - Retourne le GID du propriétaire du script
  • getmypid() - Retourne le numéro de processus courant de PHP
  • get_current_user() - Retourne le nom du possesseur du script courant
  • getmyinode() - Retourne l'inode du script
  • getlastmod() - Retourne la date de dernière modification de la page

getmypid
getopt
Fonctions sur les options et les informations de PHP


Lit des options passées dans la ligne de commande

getmyuid
getrusage
Fonctions sur les options et les informations de PHP
PHP Manual

getopt

(PHP 4 >= 4.3.0, PHP 5)

getopt — Lit des options passées dans la ligne de commande

Description

array getopt ( string $options [, array $longopts ] )

getopt() lit les options passées dans la ligne de commande.

Liste de paramètres

options
Chaque caractère dans cette chaîne sera utilisé en tant que caractères optionnels et devra correspondre aux options passées, commençant par un tiret simple (-). Par exemple, une chaîne optionnelle "x" correspondra à l'option -x. Seuls a-z, A-Z et 0-9 are sont autorisés.
longopts
Un tableau d'options. Chaque élément de ce tableau sera utilisé comme option et devra correspondre aux options passées, commençant par un tiret double (--). Par exemple, un élément longopts "opt" correspondra à l'option --opt.

Note: Avant PHP 5.3.0, ce paramètre n'était disponible que sous peu de systèmes.

Le paramètre options peut contenir les éléments suivants :

  • Caractères individuels (n'accepte pas de valeur)
  • Caractères suivis par un deux-points (le paramètre nécessite une valeur)
  • Caractères suivis par deux deux-points (valeur optionnelle)
Les valeurs optionnelles sont les premiers arguments après la chaîne. Peut importe que la valeur soit suivie d'un espace ou non.

Note: Les valeurs optionnelles n'acceptent pas l'espace comme séparateur.

Note: Le format des paramètres options et longopts est identique ; la seule différence est que longopts prend un tableau en option (où chaque élément est une option) alors que options prend une chaîne (où chaque caractère est une option).

Valeurs de retour

Cette fonction retourne un tableau d'options/arguments, ou FALSE si une erreur survient.

Note: L'analyse des options s'arrêtera lorsque la première mauvaise option sera trouvée, et tout ce qui suivra sera ignoré.

Historique

Version | Description
5.3.0 | Ajout du support de "=" comme séparateur argument/valeur.
5.3.0 | Ajout du support des valeurs optionnelles (spécifié par "::").
5.3.0 | Cette fonction n'est plus dépendante du système et fonctionne maintenant également sous Windows.

Exemples

Exemple #1 Exemple avec getopt()

<?php
$options = getopt("f:hp:");
var_dump($options);
?>

L'exécution du script ci-dessus avec la commande php script.php -fvalue -h affichera :

array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}

Exemple #2 Second exemple avec getopt()

<?php
$shortopts  = "";
$shortopts .= "f:";  // Valeur requise
$shortopts .= "v::"; // Valeur optionnelle
$shortopts .= "abc"; // Ces options n'acceptent pas de valeur

$longopts  = array(
    "required:",     // Valeur requise
    "optional::",    // Valeur optionnelle
    "option",        // Aucune valeur
    "opt",           // Aucune valeur
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>

L'exécution du script ci-dessus avec la commande php script.php -f "value for f" -v -a --required value --optional="optional value" --option affichera :

array(6) {
  ["f"]=>
  string(11) "value for f"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["required"]=>
  string(5) "value"
  ["optional"]=>
  string(14) "optional value"
  ["option"]=>
  bool(false)
}

Exemple #3 Troisième exemple avec getopt()

Passage de plusieurs options

<?php
$options = getopt("abc");
var_dump($options);
?>

L'exécution du script ci-dessus avec la commande php script.php -aaac affichera :

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

getmyuid
getrusage
Fonctions sur les options et les informations de PHP


Retourne le niveau d'utilisation des ressources

getopt
ini_alter
Fonctions sur les options et les informations de PHP
PHP Manual

getrusage

(PHP 4, PHP 5)

getrusage — Retourne le niveau d'utilisation des ressources

Description

array getrusage ([ int $who = 0 ] )

C'est une interface à la fonction système getrusage(2). Elle retourne un tableau associatif contenant les informations renvoyées par cet appel système.

Liste de paramètres

who

Si who est égal à 1, getrusage() sera appelé avec le paramètre RUSAGE_CHILDREN.

Valeurs de retour

Retourne un tableau associatif contenant les données retournées depuis l'appel système. Toutes les entrées sont accessibles en utilisant leurs noms de champs documentés.

Exemples

Exemple #1 Exemple avec getrusage()

<?php
$dat = getrusage();
echo $dat["ru_nswap"];         // Taille de la mémoire swap
echo $dat["ru_majflt"];        // Nombre de page mémoires utilisées
echo $dat["ru_utime.tv_sec"];  // Temps utilisateur (en secondes)
echo $dat["ru_utime.tv_usec"]; // Temps utilisateur (en microsecondes)
?>

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

Voir aussi

  • La page de manuel getrusage(2) de votre système

getopt
ini_alter
Fonctions sur les options et les informations de PHP


Alias de ini_set

getrusage
ini_get_all
Fonctions sur les options et les informations de PHP
PHP Manual

ini_alter

(PHP 4, PHP 5)

ini_alter — Alias de ini_set()

Description

Cette fonction est un alias de : ini_set().

getrusage
ini_get_all
Fonctions sur les options et les informations de PHP


Lit toutes les valeurs de configuration

ini_alter
ini_get
Fonctions sur les options et les informations de PHP
PHP Manual

ini_get_all

(PHP 4 >= 4.2.0, PHP 5)

ini_get_all — Lit toutes les valeurs de configuration

Description

array ini_get_all ([ string $extension [, bool $details = true ]] )

Lit toutes les valeurs de configuration.

Liste de paramètres

extension

Un nom d'extension, optionnel. S'il est défini, la fonction retournera uniquement les options spécifiques à cette extension.

details

Récupère les détails, ou uniquement la valeur courante de chaque configuration. Par défaut, vaut TRUE (récupère les détails).

Valeurs de retour

Retourne un tableau associatif dont les clés sont les noms des directives.

Lorsque le paramètre details vaut TRUE (défaut), le tableau contiendra les valeurs global_value (définies dans le fichier php.ini), local_value (définie éventuellement avec la fonction ini_set() ou via un .htaccess), et access (le degré d'accès).

Lorsque le paramètre details vaut FALSE, la valeur sera la valeur courant de l'option.

Voir le manuel pour plus d'informations sur la signification du degré d'accès.

Note: Il est possible pour une directive d'avoir plusieurs degrés d'accès, et c'est la raison pour laquelle access montre les valeurs du masque appropriées.

Historique

Version | Description
5.3.0 | Ajout du paramètre details.

Exemples

Exemple #1 Exemple avec ini_get_all()

<?php
print_r(ini_get_all("pcre"));
print_r(ini_get_all());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [pcre.backtrack_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

    [pcre.recursion_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

)
Array
(
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

)

Exemple #2 Désactive le paramètre details

<?php
print_r(ini_get_all("pcre", false)); // Ajouté en PHP 5.3.0
print_r(ini_get_all(null, false)); // Ajouté en PHP 5.3.0
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [pcre.backtrack_limit] => 100000
    [pcre.recursion_limit] => 100000
)
Array
(
    [allow_call_time_pass_reference] => 0
    [allow_url_fopen] => 1
    ...
)

Voir aussi

  • Comment modifier la configuration
  • ini_get() - Lit la valeur d'une option de configuration
  • ini_restore() - Restaure la valeur de l'option de configuration
  • ini_set() - Modifie la valeur d'une option de configuration
  • get_loaded_extensions() - Retourne la liste de tous les modules compilés et chargés
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP

ini_alter
ini_get
Fonctions sur les options et les informations de PHP


Lit la valeur d'une option de configuration

ini_get_all
ini_restore
Fonctions sur les options et les informations de PHP
PHP Manual

ini_get

(PHP 4, PHP 5)

ini_get — Lit la valeur d'une option de configuration

Description

string ini_get ( string $varname )

Retourne la valeur de l'option de configuration varname en cas de succès.

Liste de paramètres

varname

Le nom de l'option de configuration.

Valeurs de retour

Retourne la valeur de l'option de configuration varname en cas de succès, ou une chaîne de caractères vide si une erreur survient, ou pour les valeurs NULL.

Exemples

Exemple #1 Exemples avec ini_get()

<?php
/*
Notre fichier php.ini contient les directives suivantes :

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $last = strtolower($val[strlen($val)-1]);
    switch($last) {
        // Le modifieur 'G' est disponible depuis PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size in bytes = 8388608

Notes

Note: Lecture de valeurs booléennes
Une directive de configuration ayant la valeur de off sera retourné sous la forme d'une chaîne vide ou "0" alors que la valeur on retournera "1". Cette fonction peut également retourner la valeur littérale du fichier INI.

Note: Lors de la lecture des tailles de mémoire
Plusieurs directives traitant de taille mémoire, comme upload_max_filesize, sont stockées dans le fichier php.ini avec une notation courte. ini_get() retourne la chaîne exacte stockée dans le fichier php.ini et NON PAS son équivalent entier. Appliquer des opérations arithmétiques classiques sur ces valeurs ne conduira à rien de bon. L'exemple ci-dessous montre une façon de convertir la notation sténographique en octets, de la même façon dont le fait le source PHP.

Voir aussi

  • get_cfg_var() - Retourne la valeur d'une option de PHP
  • ini_get_all() - Lit toutes les valeurs de configuration
  • ini_restore() - Restaure la valeur de l'option de configuration
  • ini_set() - Modifie la valeur d'une option de configuration

ini_get_all
ini_restore
Fonctions sur les options et les informations de PHP


Restaure la valeur de l'option de configuration

ini_get
ini_set
Fonctions sur les options et les informations de PHP
PHP Manual

ini_restore

(PHP 4, PHP 5)

ini_restore — Restaure la valeur de l'option de configuration

Description

void ini_restore ( string $varname )

Restaure la valeur originale de l'option de configuration varname.

Liste de paramètres

varname

Le nom de l'option de configuration.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ini_restore()

<?php
$setting = 'y2k_compliance';

echo 'Valeur courante de \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_set($setting, ini_get($setting) ? 0 : 1);
echo 'Nouvelle valeur de \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_restore($setting);
echo 'Valeur originale de \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;
?>

L'exemple ci-dessus va afficher :

Valeur courante de 'y2k_compliance': 1
Nouvelle valeur de 'y2k_compliance': 0
Valeur originale de 'y2k_compliance': 1

Voir aussi

  • ini_get() - Lit la valeur d'une option de configuration
  • ini_get_all() - Lit toutes les valeurs de configuration
  • ini_set() - Modifie la valeur d'une option de configuration

ini_get
ini_set
Fonctions sur les options et les informations de PHP


Modifie la valeur d'une option de configuration

ini_restore
magic_quotes_runtime
Fonctions sur les options et les informations de PHP
PHP Manual

ini_set

(PHP 4, PHP 5)

ini_set — Modifie la valeur d'une option de configuration

Description

string ini_set ( string $varname , string $newvalue )

Change la valeur de l'option de configuration varname et lui donne celle de newvalue. La valeur de l'option de configuration sera modifiée durant toute l'exécution du script et pour ce script spécifiquement. Elle reprendra sa valeur par défaut dès la fin du script.

Liste de paramètres

varname

Les options disponibles ne peuvent pas toutes être modifiées avec ini_set(). La liste de toutes les options disponibles se trouve dans l'annexe.

newvalue

La nouvelle valeur pour l'option.

Valeurs de retour

Retourne l'ancien valeur en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Définit une option de configuration

<?php
echo ini_get('display_errors');

if (!ini_get('display_errors')) {
    ini_set('display_errors', 1);
}

echo ini_get('display_errors');
?>

Voir aussi

  • get_cfg_var() - Retourne la valeur d'une option de PHP
  • ini_get() - Lit la valeur d'une option de configuration
  • ini_get_all() - Lit toutes les valeurs de configuration
  • ini_restore() - Restaure la valeur de l'option de configuration
  • Comment modifier la configuration

ini_restore
magic_quotes_runtime
Fonctions sur les options et les informations de PHP


Alias de set_magic_quotes_runtime

ini_set
main
Fonctions sur les options et les informations de PHP
PHP Manual

magic_quotes_runtime

(PHP 4, PHP 5)

magic_quotes_runtime — Alias de set_magic_quotes_runtime()

Description

Cette fonction est un alias de : set_magic_quotes_runtime()

ini_set
main
Fonctions sur les options et les informations de PHP


Fausse documentation pour main

magic_quotes_runtime
memory_get_peak_usage
Fonctions sur les options et les informations de PHP
PHP Manual

main

main — Fausse documentation pour main()

Description

Il n'y a pas de fonction appelée main(), hormis dans les sources PHP. En PHP 4.3.0, un nouveau type de gestion d'erreur a été introduit dans les sources de PHP : php_error_docref. Une des fonctionnalité était de fournir un lien vers la page de manuel de PHP lorsque les directives html_errors (par défaut) et docref_root (par défaut jusqu'en PHP 4.3.2) sont activées.

Certains messages d'erreur faisaient référence à une page de manuel pour la fonction main() alors que cette page n'existe pas. Ajoutez alors un » rapport de bug, en anglais, où vous mentionnez la fonction PHP vous ayant conduite sur cette page. Cette erreur sera corrigée et documentée.

Erreurs connues pour diriger sur la page main()
Nom de la fonction | Ne pointe plus sur cette page depuis la version
include() | 5.1.0
include_once() | 5.1.0
require() | 5.1.0
require_once() | 5.1.0

Voir aussi

  • html_errors
  • display_errors

magic_quotes_runtime
memory_get_peak_usage
Fonctions sur les options et les informations de PHP


Retourne la quantité de mémoire maximale allouée par PHP

main
memory_get_usage
Fonctions sur les options et les informations de PHP
PHP Manual

memory_get_peak_usage

(PHP 5 >= 5.2.0)

memory_get_peak_usage — Retourne la quantité de mémoire maximale allouée par PHP

Description

int memory_get_peak_usage ([ bool $real_usage = false ] )

Retourne la quantité de mémoire maximale, en octets, qui a été allouée à votre script PHP.

Liste de paramètres

real_usage

Définir à TRUE pour récupérer la taille réelle de la mémoire allouée par le système. Si ce paramètre n'est pas définit ou vaut FALSE, seule la mémoire utilisée par emalloc() sera retournée.

Valeurs de retour

Retourne la quantité de mémoire, en octets.

Historique

Version | Description
5.2.1 | La compilation avec l'option de configuration --enable-memory-limit n'est plus nécessaire pour que cette fonction existe.
5.2.0 | Le paramètre real_usage a été ajouté.

Voir aussi

  • memory_get_usage() - Indique la quantité de mémoire utilisée par PHP
  • memory_limit

main
memory_get_usage
Fonctions sur les options et les informations de PHP


Indique la quantité de mémoire utilisée par PHP

memory_get_peak_usage
php_ini_loaded_file
Fonctions sur les options et les informations de PHP
PHP Manual

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5)

memory_get_usage — Indique la quantité de mémoire utilisée par PHP

Description

int memory_get_usage ([ bool $real_usage = false ] )

Retourne la quantité de mémoire allouée à PHP à cet instant.

Liste de paramètres

real_usage

Définir à TRUE pour récupérer la taille réelle de la mémoire allouée par le système. Si ce paramètre n'est pas définit ou vaut FALSE, seule la mémoire utilisée par emalloc() sera retournée.

Valeurs de retour

Retourne la quantité de mémoire, en octets.

Historique

Version | Description
5.2.1 | La compilation avec l'option de configuration --enable-memory-limit n'est plus nécessaire pour que cette fonction existe.
5.2.0 | Le paramètre real_usage a été ajouté.

Exemples

Exemple #1 Exemple avec memory_get_usage()

<?php
// Ceci n'est qu'un exemple. Les chiffres ci-dessous
// différeront suivant les systèmes et les configurations

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Voir aussi

  • memory_get_peak_usage() - Retourne la quantité de mémoire maximale allouée par PHP
  • memory_limit

memory_get_peak_usage
php_ini_loaded_file
Fonctions sur les options et les informations de PHP


Récupère le chemin d'un fichier php.ini chargé

memory_get_usage
php_ini_scanned_files
Fonctions sur les options et les informations de PHP
PHP Manual

php_ini_loaded_file

(PHP 5 >= 5.2.4)

php_ini_loaded_file — Récupère le chemin d'un fichier php.ini chargé

Description

string php_ini_loaded_file ( void )

Vérifie si un fichier php.ini est chargé, et récupère son chemin.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le chemin du fichier php.ini chargé, ou FALSE si aucun n'a été chargé.

Exemples

Exemple #1 Exemple avec php_ini_loaded_file()

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'php.ini chargé : ' . $inipath;
} else {
    echo 'Aucun fichier php.ini n\'a été chargé';
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

php.ini chargé : /usr/local/php/php.ini

Voir aussi

  • php_ini_scanned_files() - Retourne la liste des fichiers .ini analysés dans les dossiers de configuration supplémentaires
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP
  • Le fichier de configuration

memory_get_usage
php_ini_scanned_files
Fonctions sur les options et les informations de PHP


Retourne la liste des fichiers .ini analysés dans les dossiers de configuration supplémentaires

php_ini_loaded_file
php_logo_guid
Fonctions sur les options et les informations de PHP
PHP Manual

php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5)

php_ini_scanned_files — Retourne la liste des fichiers .ini analysés dans les dossiers de configuration supplémentaires

Description

string php_ini_scanned_files ( void )

php_ini_scanned_files() retourne une liste de noms de fichiers de configuration analysés, en plus de php.ini. Cette liste est au format CSV. Ces fichiers sont situés dans un dossier défini par l'option --with-config-file-scan-dir, définie au moment de la compilation.

Les fichiers retournés incluent le chemin, comme déclaré dans la directive --with-config-file-scan-dir. De plus, chaque virgule est suivie d'une nouvelle ligne.

Valeurs de retour

Retourne une chaîne de caractères, où les noms de fichiers sont séparés par des virgules. Si --with-config-file-scan-dir n'était pas configuré, FALSE est retourné. Si cette option était configurée, mais que le dossier était vide, une chaîne vide est retournée. Si un fichier n'est pas lisible, le nom du fichier sera inclus dans la liste, mais une erreur sera générée. Cette erreur sera visible au moment de la compilation, et lorsque vous appellerez la fonction php_ini_scanned_files().

Exemples

Exemple #1 Un exemple de liste retournée par php_ini_scanned_files()

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);

        foreach ($files as $file) {
            echo "<li>" . trim($file) . "</li>\n";
        }
    }
}
?>

Voir aussi

  • ini_set() - Modifie la valeur d'une option de configuration
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP
  • php_ini_loaded_file() - Récupère le chemin d'un fichier php.ini chargé

php_ini_loaded_file
php_logo_guid
Fonctions sur les options et les informations de PHP


Retourne l'identifiant du logo PHP

php_ini_scanned_files
php_sapi_name
Fonctions sur les options et les informations de PHP
PHP Manual

php_logo_guid

(PHP 4, PHP 5)

php_logo_guid — Retourne l'identifiant du logo PHP

Description

string php_logo_guid ( void )

Cette fonction retourne l'identifiant qui peut être utilisé pour afficher le logo PHP en utilisant une image incorporée dans les sources. Le logo est affiché uniquement si expose_php vaut On.

Valeurs de retour

Retourne PHPE9568F34-D428-11d2-A769-00AA001ACF42.

Exemples

Exemple #1 Exemple avec php_logo_guid()

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="Logo PHP !" />';

?>

Voir aussi

  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP
  • phpversion() - Retourne le numéro de la version courante de PHP
  • phpcredits() - Affiche les crédits de PHP
  • zend_logo_guid() - Retourne le logo de Zend

php_ini_scanned_files
php_sapi_name
Fonctions sur les options et les informations de PHP


Retourne le type d'interface utilisée entre le serveur web et PHP

php_logo_guid
php_uname
Fonctions sur les options et les informations de PHP
PHP Manual

php_sapi_name

(PHP 4 >= 4.0.1, PHP 5)

php_sapi_name — Retourne le type d'interface utilisée entre le serveur web et PHP

Description

string php_sapi_name ( void )

Retourne une chaîne en minuscule qui décrit le type d'interface (l'API, SAPI serveur) que PHP utilise. Par exemple, en PHP CLI, cette chaîne sera "cli" tandis qu'avec Apache, elle pourra avoir plusieurs valeurs différentes suivant le SAPI exact utilisé. Les valeurs possibles sont listées ci-dessous.

Valeurs de retour

Retourne le type de l'interface, sous la forme d'une chaîne de caractères en minuscule.

Voici une liste non exhaustive des valeurs possibles : aolserver, apache, apache2filter, apache2handler, caudium, cgi (jusqu'en PHP 5.3), cgi-fcgi, cli, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux et webjames.

Exemples

Exemple #1 Exemple avec php_sapi_name()

Cet exemple cherche la sous-chaîne cgi car elle peut également valoir cgi-fcgi.

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
    echo "Vous utilisez CGI PHP\n";
} else {
    echo "Vous n'utilisez pas CGI PHP\n";
}
?>

Notes

Note: Une approche alternative
La constante PHP PHP_SAPI a une valeur identique à php_sapi_name().

Astuce

Un comportement inattendu

Le SAPI défini ne doit pas être ambigu, car par exemple, au lieu de apache, il peut être défini à apache2handler ou apache2filter.

Voir aussi

  • PHP_SAPI

php_logo_guid
php_uname
Fonctions sur les options et les informations de PHP


Retourne les informations sur le système d'exploitation

php_sapi_name
phpcredits
Fonctions sur les options et les informations de PHP
PHP Manual

php_uname

(PHP 4 >= 4.0.2, PHP 5)

php_uname — Retourne les informations sur le système d'exploitation

Description

string php_uname ([ string $mode = "a" ] )

php_uname() retourne une description sur le système d'exploitation sur lequel tourne PHP. C'est la même chaîne que celle que vous voyez en haut du phpinfo(). Si vous voulez juste savoir le nom du système d'exploitation, utilisez plutôt la constante PHP_OS mais gardez à l'esprit que cette constante contient le nom du système sur lequel PHP a été compilé.

Sur certaines vieilles plate-formes Unix, il n'est pas possible de déterminer les informations courantes de l'OS, auquel cas cette fonction se contente de retourner le nom de l'OS sur lequel PHP a été compilé. Cela n'arrivera que si votre bibliothèque uname() n'existe pas ou ne fonctionne pas.

Liste de paramètres

mode

mode est un seul caractère qui définit quelles seront les informations à retourner :

  • 'a': par défaut, contient tous les modes de la séquence "s n r v m".
  • 's': nom du système d'exploitation. Par exemple, FreeBSD.
  • 'n': nom de l'hôte. Par exemple, localhost.example.com.
  • 'r': nom de la version. Par exemple, 5.1.2-RELEASE.
  • 'v': information sur la version. Varie énormément suivant le système d'exploitation.
  • 'm': type de la machine. Par exemple, i386.

Valeurs de retour

Retourne la description, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemples avec php_uname()

<?php
echo php_uname();
echo PHP_OS;

/* Affichages possibles :
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'Le serveur tourne sous Windows !';
} else {
    echo 'Le serveur ne tourne pas sous Windows !';
}

?>

Il existe aussi des constantes PHP pré-définies liées qui peuvent s'avérer utiles, par exemple :

Exemple #2 Exemples avec quelques constantes liées au système

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

Voir aussi

  • phpversion() - Retourne le numéro de la version courante de PHP
  • php_sapi_name() - Retourne le type d'interface utilisée entre le serveur web et PHP
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP

php_sapi_name
phpcredits
Fonctions sur les options et les informations de PHP


Affiche les crédits de PHP

php_uname
phpinfo
Fonctions sur les options et les informations de PHP
PHP Manual

phpcredits

(PHP 4, PHP 5)

phpcredits — Affiche les crédits de PHP

Description

bool phpcredits ([ int $flag = CREDITS_ALL ] )

Affiche la liste des développeurs PHP, des modules, etc. Elle génère le code HTML approprié pour insérer les informations dans une page.

Liste de paramètres

flag

Pour générer une page personnalisée sur les crédits, il faut utiliser le paramètre flag.

Paramètres prédéfinis de phpcredits()
Nom | Description
CREDITS_ALL | Tous les crédits, équivalent à : CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. La fonction génère alors une page HTML complète.
CREDITS_DOCS | Les crédits du groupe de documentation
CREDITS_FULLPAGE | En général, ce paramètre est utilisé avec d'autres constantes. Il indique que la page ainsi générée doit être une page HTML complète, avec toutes les balises nécessaires.
CREDITS_GENERAL | Crédits Généraux : conception et design du langage, auteurs de PHP et du module SAPI.
CREDITS_GROUP | Une liste des développeurs principaux
CREDITS_MODULES | Une liste des extensions de PHP, et leurs auteurs
CREDITS_SAPI | Une liste des API serveur pour PHP et leurs auteurs

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec phpcredits()

<?php
phpcredits(CREDITS_GENERAL);
?>

Exemple #2 Affiche les développeurs principaux ansi que le groupe de documentation

<?php
phpcredits(CREDITS_GROUP | CREDITS_DOCS | CREDITS_FULLPAGE);
?>

Exemple #3 Affiche tous les crédits

<html>
 <head>
  <title>Ma page de crédits</title>
 </head>
 <body>
<?php
// Un peu de votre code
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// Encore un peu de votre code
?>
 </body>
</html>

Voir aussi

  • phpversion() - Retourne le numéro de la version courante de PHP
  • php_logo_guid() - Retourne l'identifiant du logo PHP
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP

php_uname
phpinfo
Fonctions sur les options et les informations de PHP


Affiche de nombreuses informations sur la configuration de PHP

phpcredits
phpversion
Fonctions sur les options et les informations de PHP
PHP Manual

phpinfo

(PHP 4, PHP 5)

phpinfo — Affiche de nombreuses informations sur la configuration de PHP

Description

bool phpinfo ([ int $what = INFO_ALL ] )

Affiche de nombreuses informations sur PHP, concernant sa configuration courante : options de compilation, extensions, version, informations sur le serveur, et l'environnement (lorsqu'il est compilé comme module), environnement PHP, informations sur le système, chemins, valeurs générales et locales de configuration, en-têtes HTTP et la licence PHP.

Comme tous les systèmes sont configurés différemment, phpinfo() sert généralement à vérifier la configuration ainsi que les variables prédéfinies, pour une plate-forme donnée.

phpinfo() est un bon outil de débogage, car il affiche le contenu de toutes les variables EGPCS (Environnement, GET, POST, Cookie, Serveur).

Liste de paramètres

what

L'affichage peut être personnalisé en utilisant une ou plusieurs des constantes suivantes. Elles sont combinables avec l'opérateur or, et doivent être passées dans le paramètre what. Vous pouvez aussi additionner ces constantes.

Options de phpinfo()
Nom de la constante | Valeur | Description
INFO_GENERAL | 1 | La ligne de configuration, le chemin du php.ini, la date de compilation, le serveur web, le système, etc.
INFO_CREDITS | 2 | Les crédits de PHP. Voir aussi phpcredits().
INFO_CONFIGURATION | 4 | Valeurs courantes locales et générales des directives PHP. Voyez aussi la fonction ini_get().
INFO_MODULES | 8 | Modules chargés et leur configuration spécifique. Voir aussi la fonction get_loaded_extensions().
INFO_ENVIRONMENT | 16 | Informations sur les variables d'environnement, qui sont disponibles dans la variable $_ENV.
INFO_VARIABLES | 32 | Affiche toutes les variables prédéfinies, issues de l'environnement, la méthode GET, la méthode POST, les cookies et le serveur.
INFO_LICENSE | 64 | La licence PHP. Voir aussi » la FAQ de la licence.
INFO_ALL | -1 | Affiche toutes les informations suscitées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.2 | L'information "Loaded Configuration File" a été ajoutée, alors qu'avant, seule l'information "Configuration File (php.ini) Path" existée.

Exemples

Exemple #1 Exemple avec phpinfo()

<?php

// Affiche toutes les informations, comme le ferait INFO_ALL
phpinfo();

// Affiche uniquement le module d'information.
// phpinfo(8) fournirait les mêmes informations.
phpinfo(INFO_MODULES);

?>

Notes

Note: Une partie des informations affichées sont désactivées si la directive expose_php est configurée avec la valeur off. Cela inclus les logos PHP et Zend, ainsi que les crédits.

Note: phpinfo() affiche du texte au lieu de HTML lorsque vous utilisez la version CLI.

Voir aussi

  • phpversion() - Retourne le numéro de la version courante de PHP
  • phpcredits() - Affiche les crédits de PHP
  • php_logo_guid() - Retourne l'identifiant du logo PHP
  • ini_get() - Lit la valeur d'une option de configuration
  • ini_set() - Modifie la valeur d'une option de configuration
  • get_loaded_extensions() - Retourne la liste de tous les modules compilés et chargés
  • les variables prédéfinies

phpcredits
phpversion
Fonctions sur les options et les informations de PHP


Retourne le numéro de la version courante de PHP

phpinfo
putenv
Fonctions sur les options et les informations de PHP
PHP Manual

phpversion

(PHP 4, PHP 5)

phpversion — Retourne le numéro de la version courante de PHP

Description

string phpversion ([ string $extension ] )

Retourne le numéro de la version courante de PHP.

Liste de paramètres

extension

Un nom d'extension, optionnel.

Valeurs de retour

Si le paramètre optionnel extension est spécifié, la fonction phpversion() retournera la version de cette extension ou FALSE s'il n'y a aucune information sur la version d'associée ou si cette extensions n'est pas disponible.

Exemples

Exemple #1 Exemple avec phpversion()

<?php
// affiche le numéro de version courante du PHP.
echo 'Version PHP courante : ' . phpversion();

// affiche e.g. '2.0' ou rien du tout si cette extension n'est pas active
echo phpversion('tidy');
?>

Exemple #2 Exemple avec PHP_VERSION_ID

<?php
// PHP_VERSION_ID est disponible depuis PHP 5.2.7,
// si votre version est antérieure, émulez-le.
if (!defined('PHP_VERSION_ID')) {
   $version = explode('.',PHP_VERSION);

   define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}

// PHP_VERSION_ID est défini comme un nombre : plus il est grand, plus
// la version de PHP est récente. Il est défini comme illustré dans
// le code ci-dessous :
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// Maintenant, avec PHP_VERSION_ID, il est possible de vérifier la disponibilité
// de fonctionnalités de PHP, sans passer par version_compare().
//
// Par exemple, on peut définir les constantes PHP_VERSION_* qui n'étaient pas
// disponibles avant 5.2.7

if (PHP_VERSION_ID < 50207) {
    define('PHP_MAJOR_VERSION',   $version[0]);
    define('PHP_MINOR_VERSION',   $version[1]);
    define('PHP_RELEASE_VERSION', $version[2]);

    // etc.

}
?>

Notes

Note: Cette information est aussi disponible via la constante prédéfinie PHP_VERSION. Plus d'informations sur les versions, avec les constantes PHP_VERSION_*.

Voir aussi

  • les constantes PHP_VERSION
  • version_compare() - Compare deux chaînes de version au format des versions PHP
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP
  • phpcredits() - Affiche les crédits de PHP
  • php_logo_guid() - Retourne l'identifiant du logo PHP
  • zend_version() - Lit la version courante du moteur Zend

phpinfo
putenv
Fonctions sur les options et les informations de PHP


Fixe la valeur d'une variable d'environnement

phpversion
restore_include_path
Fonctions sur les options et les informations de PHP
PHP Manual

putenv

(PHP 4, PHP 5)

putenv — Fixe la valeur d'une variable d'environnement

Description

bool putenv ( string $setting )

Fixe la valeur d'une variable d'environnement. Cette valeur n'existera que durant la vie du script courant, et l'environnement initial sera restauré lorsque le script sera terminé.

Modifier la valeur de certaines variables système peut être un trou de sécurité considérable. La directive de configuration safe_mode_allowed_env_vars contient une liste de préfixes, séparés par des virgules. Lorsque le Safe Mode est actif, l'utilisateur ne peut que modifier les variables dont le nom commence par les préfixes fournis par cette directive. Par défaut, les utilisateurs ne peuvent modifier que les variables qui commencent par PHP_ (i.e. PHP_FOO=BAR). Note : Si cette directive est vide, PHP autorisera la modification de TOUTES les variables d'environnement !

La directive de configuration safe_mode_protected_env_vars contient une liste de variables d'environnement, séparées par des virgules. Les utilisateurs ne pourront pas modifier ces variables avec la fonction putenv(). Ces variables seront protégées même si safe_mode_allowed_env_vars permet leur modification.

Liste de paramètres

setting

La configuration, comme "FOO=BAR"

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Modification d'une variable d'environnement

<?php
putenv("UNIQID=$uniqid");
?>

Notes

Avertissement

Ces directives n'ont d'effets que lorsque le safe-mode est activé !

Voir aussi

  • getenv() - Retourne la valeur d'une variable d'environnement

phpversion
restore_include_path
Fonctions sur les options et les informations de PHP


Restaure la valeur de la directive de configuration include_path

putenv
set_include_path
Fonctions sur les options et les informations de PHP
PHP Manual

restore_include_path

(PHP 4 >= 4.3.0, PHP 5)

restore_include_path — Restaure la valeur de la directive de configuration include_path

Description

void restore_include_path ( void )

Restaure la valeur de la directive de configuration include_path à sa valeur originale de début de script, telle qu'inscrite dans le php.ini.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec restore_include_path()

<?php

echo get_include_path();  // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path();  // /inc

// Fonctionne depuis PHP 4.3.0
restore_include_path();

// Fonctionne sur toutes les versions
ini_restore('include_path');

echo get_include_path();  // .:/usr/local/lib/php

?>

Voir aussi

  • ini_restore() - Restaure la valeur de l'option de configuration
  • get_include_path() - Lit la valeur de la directive de configuration include_path
  • set_include_path() - Modifie la valeur de la directive de configuration include_path
  • include() - include

putenv
set_include_path
Fonctions sur les options et les informations de PHP


Modifie la valeur de la directive de configuration include_path

restore_include_path
set_magic_quotes_runtime
Fonctions sur les options et les informations de PHP
PHP Manual

set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path — Modifie la valeur de la directive de configuration include_path

Description

string set_include_path ( string $new_include_path )

Modifie la valeur de la directive de configuration include_path, pour la durée du script en cours.

Liste de paramètres

new_include_path

La nouvelle valeur pour la directive de configuration include_path

Valeurs de retour

Retourne l'ancienne valeur de include_path en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec set_include_path()

<?php
// Fonctionne depuis PHP 4.3.0
set_include_path('/inc');

// Fonctionne sur toutes les versions
ini_set('include_path', '/inc');
?>

Exemple #2 Ajout dans le chemin d'inclusion

En utilisant la constante PATH_SEPARATOR, il est possible d'étendre le chemin d'inclusion au vu du système.

Dans cet exemple, nous ajoutons /usr/lib/pear à la fin de l'actuel include_path.

<?php
$path = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

Voir aussi

  • ini_set() - Modifie la valeur d'une option de configuration
  • get_include_path() - Lit la valeur de la directive de configuration include_path
  • restore_include_path() - Restaure la valeur de la directive de configuration include_path
  • include() - include

restore_include_path
set_magic_quotes_runtime
Fonctions sur les options et les informations de PHP


Active/désactive l'option magic_quotes_runtime

set_include_path
set_time_limit
Fonctions sur les options et les informations de PHP
PHP Manual

set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtime — Active/désactive l'option magic_quotes_runtime

Description

bool set_magic_quotes_runtime ( bool $new_setting )

Active/désactive l'option magic_quotes_runtime.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

new_setting

0 l'option est désactivée, 1 l'option est activée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec set_magic_quotes_runtime()

<?php
// Création d'un pointeur de fichier temporaire
$fp = tmpfile();

// Écriture de quelques données dans ce pointeur
fwrite($fp, '\'PHP\' est un acronyme récursif');

// Sans magic_quotes_runtime
rewind($fp);
set_magic_quotes_runtime(false);

echo 'Sans magic_quotes_runtime : ' . fread($fp, 64), PHP_EOL;

// Avec magic_quotes_runtime
rewind($fp);
set_magic_quotes_runtime(true);

echo 'Avec magic_quotes_runtime : ' . fread($fp, 64), PHP_EOL;

// Clean up
fclose($fp);
?>

L'exemple ci-dessus va afficher :

Sans magic_quotes_runtime: 'PHP' est un acronyme récursif
Avec magic_quotes_runtime: \'PHP\' est un acronyme récursif

Voir aussi

  • get_magic_quotes_gpc() - Retourne la configuration actuelle de l'option magic_quotes_gpc
  • get_magic_quotes_runtime() - Retourne la configuration actuelle de l'option magic_quotes_runtime

set_include_path
set_time_limit
Fonctions sur les options et les informations de PHP


Fixe le temps maximum d'exécution d'un script

set_magic_quotes_runtime
sys_get_temp_dir
Fonctions sur les options et les informations de PHP
PHP Manual

set_time_limit

(PHP 4, PHP 5)

set_time_limit — Fixe le temps maximum d'exécution d'un script

Description

void set_time_limit ( int $seconds )

Fixe le délai d'expiration d'un script, en secondes. Si cette limite est atteinte, le script s'interrompt, et renvoie une erreur fatale. La valeur par défaut est 30 secondes ou, si c'est le cas, la valeur de la directive max_execution_time définie dans le php.ini.

Lorsqu'elle est appelée, set_time_limit() remet le compteur à zéro. En d'autres termes, si la limite par défaut est à 30 secondes, et qu'après 25 secondes d'exécution du script l'appel set_time_limit(20) est fait, alors le script tournera pendant un total de 45 secondes avant de finir.

Liste de paramètres

seconds

Le temps maximal d'exécution, en secondes. S'il vaut 0, aucune limite n'est imposée.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Avertissement

Notez que set_time_limit() n'a pas d'effet lorsque PHP fonctionne en mode safe mode. Il n'y a pas d'autre solution que de changer de mode, ou de modifier la durée maximale d'exécution dans le php.ini.

Note: La fonction set_time_limit() et la directive de configuration max_execution_time n'affectent que le temps d'exécution du script lui-même. Tout temps passé en dehors du script, comme un appel système utilisant system(), des opérations sur les flux, les requêtes sur base de données, etc. n'est pas pris en compte lors du calcul de la durée maximale d'exécution du script. Ceci est faux sous Windows où le temps mesuré est le temps réel.

Voir aussi

  • max_execution_time
  • max_input_time

set_magic_quotes_runtime
sys_get_temp_dir
Fonctions sur les options et les informations de PHP


Retourne le chemin du répertoire utilisé pour les fichiers temporaires

set_time_limit
version_compare
Fonctions sur les options et les informations de PHP
PHP Manual

sys_get_temp_dir

(PHP 5 >= 5.2.1)

sys_get_temp_dir — Retourne le chemin du répertoire utilisé pour les fichiers temporaires

Description

string sys_get_temp_dir ( void )

Retourne le chemin du répertoire PHP où sont enregistrés les fichiers temporaires par défaut.

Valeurs de retour

Retourne le chemin du répertoire temporaire.

Exemples

Exemple #1 Exemple avec sys_get_temp_dir()

<?php
// Création d'un fichier temporaire dans le dossier
// des fichiers temporaires, en utilisant la fonction sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

C:\Windows\Temp\TuxA318.tmp

Voir aussi

  • tmpfile() - Crée un fichier temporaire
  • tempnam() - Crée un fichier avec un nom unique

set_time_limit
version_compare
Fonctions sur les options et les informations de PHP


Compare deux chaînes de version au format des versions PHP

sys_get_temp_dir
zend_logo_guid
Fonctions sur les options et les informations de PHP
PHP Manual

version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compare — Compare deux chaînes de version au format des versions PHP

Description

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

version_compare() compare les deux versions de PHP standardisées. Cette fonction est pratique pour les programmes qui doivent vérifier la version de PHP qui les fait tourner.

version_compare() remplace dans un premier temps _, - et + par un point (.) dans les chaînes de version et insère aussi des points avant et après tout caractère non-numérique pour que, par exemple, '4.3.5RC1' devienne '4.3.5.RC.1'. Ensuite, elle découpe les résultats, similairement à explode('.', $ver). Puis, elle compare les morceaux en allant de gauche à droite. Si une part contient des caractères alphabétiques, ils sont gérés dans l'ordre suivant : any string not found in this list < dev < alpha = a < beta = b < RC = rc < # < pl = p. De cette façon, il est possible de comparer non seulement des versions de différents niveaux, comme '4.1' et '4.1.2', mais aussi des versions de développement à la mode de PHP, à n'importe quel stade.

Liste de paramètres

version1

Premier numéro de version.

version2

Second numéro de version.

operator

Si troisième argument optionnel operator est spécifié, il est possible de tester une relation particulière. Les opérateurs possibles sont : <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne.

Ce paramètre est sensible à la casse, aussi les valeurs doivent être en minuscule.

Valeurs de retour

Par défaut, version_compare() retourne -1 si la première version est inférieure à la seconde, 0 si elles sont égales, et 1 si la seconde est inférieure à la première.

Lorsque l'on utilise le paramètre optionnel operator, la fonction retourne TRUE si la relation est celle spécifiée par l'opérateur, FALSE sinon.

Exemples

Les exemples ci-dessous utilisent la constante PHP_VERSION, sachant qu'elle contient la valeur de la version PHP utilisée pour exécuter le code.

Exemple #1 Exemple avec version_compare()

<?php
if (version_compare(PHP_VERSION, '6.0.0') >= 0) {
    echo 'J\'ai au moins la version 6.0.0 de PHP ; ma version : ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
    echo 'J\'ai au moins la version 5.3.0 de PHP ; ma version : ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    echo 'J\'utilise PHP 5 ; ma version : ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
    echo 'J\'utilise PHP 4 ; ma version : ' . PHP_VERSION . "\n";
}
?>

Notes

Note: La constante PHP_VERSION contient la version courante de PHP.

Note: Notez que les versions intermédiaires, comme 5.3.0-dev, sont considérées comme inférieures à leurs versions finales (telle que 5.3.0).

Voir aussi

  • phpversion() - Retourne le numéro de la version courante de PHP
  • php_uname() - Retourne les informations sur le système d'exploitation
  • function_exists() - Indique si une fonction est définie

sys_get_temp_dir
zend_logo_guid
Fonctions sur les options et les informations de PHP


Retourne le logo de Zend

version_compare
zend_thread_id
Fonctions sur les options et les informations de PHP
PHP Manual

zend_logo_guid

(PHP 4, PHP 5)

zend_logo_guid — Retourne le logo de Zend

Description

string zend_logo_guid ( void )

zend_logo_guid() retourne l'identifiant pouvant être utilisé pour afficher le logo Zend en utilisant l'image intégrée.

Valeurs de retour

Retourne PHPE9568F35-D428-11d2-A769-00AA001ACF42.

Exemples

Exemple #1 Exemple avec zend_logo_guid()

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . zend_logo_guid() . '" alt="Zend Logo !" />';

?>

Voir aussi

  • php_logo_guid() - Retourne l'identifiant du logo PHP

version_compare
zend_thread_id
Fonctions sur les options et les informations de PHP


Retourne un identifiant unique du thread courant

zend_logo_guid
zend_version
Fonctions sur les options et les informations de PHP
PHP Manual

zend_thread_id

(PHP 5)

zend_thread_id — Retourne un identifiant unique du thread courant

Description

int zend_thread_id ( void )

Cette fonction retourne un identifiant unique pour le thread courant.

Valeurs de retour

Retourne l'identifiant du thread, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec zend_thread_id()

<?php
$thread_id = zend_thread_id();

echo 'ID du thread courant : ' . $thread_id;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

ID du thread courant : 7864

Notes

Note: Cette fonction n'est disponible que si PHP a été compilé avec le support ZTS (Zend Thread Safety) et le mode de débogage (--enable-debug).

zend_logo_guid
zend_version
Fonctions sur les options et les informations de PHP


Lit la version courante du moteur Zend

zend_thread_id
Memtrack
Fonctions sur les options et les informations de PHP
PHP Manual

zend_version

(PHP 4, PHP 5)

zend_version — Lit la version courante du moteur Zend

Description

string zend_version ( void )

Retourne une chaîne contenant le numéro de version du moteur d'analyse Zend actuellement en cours d'utilisation.

Valeurs de retour

Retourne le numéro de la version du moteur Zend, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec zend_version()

<?php
echo "Version du moteur Zend : " . zend_version();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version du moteur Zend : 2.2.0

Voir aussi

  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP
  • phpcredits() - Affiche les crédits de PHP
  • php_logo_guid() - Retourne l'identifiant du logo PHP
  • phpversion() - Retourne le numéro de la version courante de PHP

zend_thread_id
Memtrack
Fonctions sur les options et les informations de PHP


Memtrack

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Création d'un grand tableau
zend_version
Introduction
Affecte le comportement de PHP


Introduction

Le but de cette extension est d'identifier les scripts et les fonctions les plus consommateurs de mémoire.

memtrack surveille la consommation de mémoire dans les scripts PHP, et produit un rapport d'alertes lorsque la consommation atteint un certain niveau, défini par l'utilisateur. Ceci est réussi en remplaçant les fonctions standard par une fonction spéciale qui compare l'utilisation de mémoire avant et après le passage par une fonction : de cette manière, on sait de combien la consommation de mémoire a changé.

Le Zend Engine fait fonctionner son exécuteur pour chaque tableau d'opcodes, ce qui représente généralement une fonction ou un script, ce qui fait que memtrack n'a pas d'impact notable sur les performances.

memtrack ne fournit aucune fonction, car il n'y a que des directives d'exécution pour configurer son fonctionnement.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Memtrack
Installation/Configuration
Memtrack


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Memtrack


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/memtrack

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Memtrack
Nom | Défaut | Modifiable
memtrack.enabled | "0" | PHP_INI_SYSTEM
memtrack.soft_limit | "0" | PHP_INI_ALL
memtrack.hard_limit | "0" | PHP_INI_ALL
memtrack.vm_limit | "0" | PHP_INI_ALL
memtrack.ignore_functions | "" | PHP_INI_SYSTEM
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

memtrack.enabled boolean

Active ou non l'extension. Par défaut, c'est 0, i.e. désactivé.

memtrack.soft_limit int

Limite mémoire logicielle.

L'extension vérifie la consommation avant et après l'exécution d'un tableau d'opcode, puis produit une alerte si la différence entre les deux valeurs est égale ou supérieure à la limite logicielle, et que la fonction n'est pas ignorée.

En donnant à cette directive la valeur de 0, on désactive les limites logicielle et physique. Par défaut, cette directive vaut 0, ce qui fait qu'aucune alerte n'est produite.

memtrack.hard_limit int

Limite mémoire physique.

L'extension vérifie la consommation avant et après l'exécution d'un tableau d'opcode, puis produit une alerte si la différence entre les deux valeurs est égale ou supérieure à la limite logicielle, même si la fonction est ignorée. En donnant à cette directive la valeur de 0, on désactive les limites physique. Par défaut, cette directive vaut 0, ce qui fait qu'aucune alerte n'est produite.

memtrack.vm_limit int

Limite de mémoire virtuelle (par processus).

Cette limite est vérifiée à l'extinction du script, et une alerte est émise si la consommation de mémoire est plus grande que cette limite.

Cette option est uniquement supportée sur les OS où la fonction mallinfo() est disponible (i.e. Linux).

memtrack.ignore_functions string

Une liste de fonctions qui seront ignorées par la limite logicielle. Les fonctions sont séparées par des virgules ou des espaces. Les valeurs sont insensibles à la casse, et pour les méthodes, il faut utiliser la syntaxe classe::méthode.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Memtrack


Exemples

Sommaire

  • Création d'un grand tableau
Constantes pré-définies
Création d'un grand tableau
Memtrack


Création d'un grand tableau

Exemples
Surcharge d'objets
Exemples
PHP Manual

Exemple simple d'utilisation de memtrack

Exemple #1 Création d'un grand tableau

<?php

/* /tmp/exemple.php */

function foo() {
    $a = array();
    for ($i = 0; $i < 10000; $i++) $a[] = "test";
    return $a;
}
$arr = foo();

?>

Exécution de l'exemple avec la commande suivante :

php -d memtrack.enabled=1 -d memtrack.soft_limit=1M -d memtrack.vm_limit=3M /tmp/exemple.php

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: [memtrack] [pid 26177] user function foo() executed in /tmp/example1.php on line 10 allocated 4194304 bytes in /tmp/example1.php on line 0
Warning: [memtrack] [pid 26177] virtual memory usage on shutdown: 32911360 bytes in Unknown on line 0
Exemples
Surcharge d'objets
Exemples


Surcharge d'objets

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Overload avec une classe PHP
  • Fonctions sur la surcharge d'objets
    • overload — Active la couche de contrôle des membres et méthodes
Création d'un grand tableau
Introduction
Affecte le comportement de PHP


Introduction

Le but de cette extension est de permettre de maîtriser les appels aux méthodes et aux membres d'un objet. Seule une fonction est définie dans cette extension, overload() qui demande le nom de la classe qui doit supporter cette fonctionnalité. Cette classe doit être pourvue des méthodes nécessaires au bon fonctionnement de l'extension, c'est-à-dire : __get(), __set() et __call(), qui servent respectivement à lire, à modifier un membre et à appeler une méthode. De cette manière, l'overloading assure un contrôle sur les fonctions appelées. À l'intérieur de ces méthodes, l'overloading est désactivé, pour que vous puissiez accéder à l'objet.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Avertissement

Cette extension ne fait pas partie de PHP 5. PHP 5 supporte __get(), __set() et __call() nativement. Voir la page traitant de la surcharge en PHP 5 pour plus d'informations.

Surcharge d'objets
Installation/Configuration
Surcharge d'objets


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Surcharge d'objets


Installation

Afin d'utiliser ces fonctions, vous devez compiler PHP avec l'option --enable-overload. Depuis PHP 4.3.0, cette extension est activée par défaut. Pour la désactiver, utilisez l'option --disable--overload.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Note: Le support par défaut de l'extension overload a été ajouté en PHP 4.3.0.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Surcharge d'objets


Exemples

Sommaire

  • Overload avec une classe PHP
Constantes pré-définies
Overload avec une classe PHP
Surcharge d'objets


Overload avec une classe PHP

Exemples
Fonctions sur la surcharge d'objets
Exemples
PHP Manual

Voici un exemple simple de fonctions utilisant overload() :

Exemple #1 Overload avec une classe PHP

<?php

class OO {
   var $a = 111;
   var $elem = array('b' => 9, 'c' => 42);

   // Fonction de callback pour la lecture de membre
   function __get($prop_name, &$prop_value)
   {
       if (isset($this->elem[$prop_name])) {
           $prop_value = $this->elem[$prop_name];
           return true;
       } else {
           return false;
       }
   }

   // Fonction de callback pour l'écriture de membre
   function __set($prop_name, $prop_value)
   {
       $this->elem[$prop_name] = $prop_value;
       return true;
   }
}

// Ici, l'initiation de l'overload
overload('OO');

$o = new OO;
echo "\$o->a: $o->a\n"; // print: $o->a: 111
echo "\$o->b: $o->b\n"; // print: $o->b: 9
echo "\$o->c: $o->c\n"; // print: $o->c: 42
echo "\$o->d: $o->d\n"; // print: $o->d:

// ajout d'une nouvelle valeur au membre $elem, en programmation OOP
$o->x = 56;

// instantiation de la classe stdclass (elle existe par défaut en PHP 4)
// $val n'est pas surchargée !
$val = new stdclass;
$val->prop = 555;

// Forcez "a" à être un tableau avec l'élément $val
// Mais _set() forcera cet élément dans le tableau $elem
$o->a = array($val);
var_dump($o->a[0]->prop);

?>

Exemples
Fonctions sur la surcharge d'objets
Exemples


Fonctions sur la surcharge d'objets

Sommaire

  • overload — Active la couche de contrôle des membres et méthodes
Overload avec une classe PHP
overload
Surcharge d'objets


Active la couche de contrôle des membres et méthodes

Fonctions sur la surcharge d'objets
Contrôle de l'affichage
Fonctions sur la surcharge d'objets
PHP Manual

overload

(PHP 4 >= 4.3.0)

overload — Active la couche de contrôle des membres et méthodes

Description

void overload ( string $class_name )

overload() active le contrôle des accesseurs et appels de méthodes pour la classe class_name.

Liste de paramètres

class_name

Le nom de la classe surchargée, sous la forme d'une chaîne de caractères

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Voir un exemple dans la section d'introduction de cette partie.

Fonctions sur la surcharge d'objets
Contrôle de l'affichage
Fonctions sur la surcharge d'objets


Bufferisation de sortie

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemples
  • Fonctions de bufferisation de sortie
    • flush — Vide les tampons de sortie
    • ob_clean — Efface le tampon de sortie
    • ob_end_clean — Détruit les données du tampon de sortie et éteint la tamporisation de sortie
    • ob_end_flush — Envoie les données du tampon de sortie et éteint la tamporisation de sortie
    • ob_flush — Envoie le tampon de sortie
    • ob_get_clean — Lit le contenu courant du tampon de sortie puis l'efface
    • ob_get_contents — Retourne le contenu du tampon de sortie
    • ob_get_flush — Vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation
    • ob_get_length — Retourne la longueur du contenu du tampon de sortie
    • ob_get_level — Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie
    • ob_get_status — Lit le statut du tampon de sortie
    • ob_gzhandler — Fonction de rappel pour la compression automatique des tampons
    • ob_implicit_flush — Active/désactive l'envoi implicite
    • ob_list_handlers — Liste les gestionnaires d'affichage utilisés
    • ob_start — Enclenche la tamporisation de sortie
    • output_add_rewrite_var — Ajoute une règle de réécriture d'URL
    • output_reset_rewrite_vars — Annule la réécriture d'URL
overload
Introduction
Affecte le comportement de PHP


Introduction

Les fonctions de bufferisation de sortie vous permettent de contrôler quand les données ont été envoyées par le script. Cela peut être utile dans certaines situations, notamment si vous devez envoyer des en-têtes au navigateur après avoir envoyé des données. Ces fonctions n'affectent pas les en-têtes envoyés par la fonction header() ou les cookies envoyés par setcookie(). Seules les fonctions telles que echo() et les données entre blocs PHP sont affectées.

Note: Lors de la mise à jour depuis PHP 4.1.x (et 4.2.x) vers 4.3.x, à cause d'un bogue dans les versions précédentes, vous devez vous assurer que implict_flush vaut OFF dans votre php.ini, sinon, tout affichage avec la fonction ob_start() sera caché.

Contrôle de l'affichage
Installation/Configuration
Contrôle de l'affichage


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Contrôle de l'affichage


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration des buffers de sortie
Nom | Défaut | Modifiable | Historique
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponible depuis PHP 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR en PHP <= 4.2.3.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

output_buffering booléen /entier

Vous pouvez activer la bufferisation de sortie pour tous les fichiers avec cette directive, en lui passant la valeur On. Si vous souhaitez limiter la taille du buffer à une certaine taille, vous pouvez alors indiquer un nombre maximum d'octets à la place de On. Par exemple, output_buffering=4096). Depuis PHP 4.3.5, cette directive est toujours désactivée en ligne de commande.

output_handler string

Vous pouvez rediriger le résultat de tous vos scripts à une fonction avant leur envoi au navigateur. Par exemple, si vous configurez output_handler à mb_output_handler(), l'encodage des caractères sera adapté de manière transparente. Configurer une telle fonction active automatiquement la bufferisation de sortie.

Note: Vous ne pouvez pas utiliser simultanément mb_output_handler() avec ob_iconv_handler(), non plus que ob_gzhandler() avec zlib.output_compression.

Note: Seules les fonctions internes peuvent être utilisées avec cette directive. Pour les fonctions utilisateurs, utilisez ob_start().

implicit_flush booléen

FALSE par défaut. En changeant cette valeur pour TRUE vous indiquez à PHP que le buffer de sortie doit être vidé automatiquement après chaque fonction d'affichage. Cela revient à appeler la fonction flush() après chaque appel à print() ou echo() et pour tous les blocs HTML.

Lorsque vous utilisez PHP en environnement web, activer cette option a de sérieuses implications et généralement, cela n'est conseillé que pour les déboguages. Cette valeur est par défaut à TRUE lorsque PHP fonctionne en mode CLI SAPI.

Voir aussi ob_implicit_flush().

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Contrôle de l'affichage


Exemples
Contrôle de l'affichage
PHP Manual

Exemples

Sommaire

  • Exemples
Constantes pré-définies
Exemples
Contrôle de l'affichage


Exemples
Fonctions de bufferisation de sortie
Exemples
PHP Manual

Exemples

Exemple #1 Exemple de bufferisation de sortie

<?php

ob_start();
echo "Bonjour\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

Dans l'exemple ci-dessus, l'instruction echo() est stockée dans un buffer jusqu'à l'appel de la fonction ob_end_flush(). Dans le même temps, l'appel à setcookie() a réussi à créer un cookie, sans générer d'erreur. (D'habitude, vous devez envoyer les en-têtes avant les données).

Exemples
Fonctions de bufferisation de sortie
Exemples
PHP Manual


Fonctions de bufferisation de sortie

Voir aussi

Voir aussi header() et setcookie().

Sommaire

  • flush — Vide les tampons de sortie
  • ob_clean — Efface le tampon de sortie
  • ob_end_clean — Détruit les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_end_flush — Envoie les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_flush — Envoie le tampon de sortie
  • ob_get_clean — Lit le contenu courant du tampon de sortie puis l'efface
  • ob_get_contents — Retourne le contenu du tampon de sortie
  • ob_get_flush — Vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation
  • ob_get_length — Retourne la longueur du contenu du tampon de sortie
  • ob_get_level — Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie
  • ob_get_status — Lit le statut du tampon de sortie
  • ob_gzhandler — Fonction de rappel pour la compression automatique des tampons
  • ob_implicit_flush — Active/désactive l'envoi implicite
  • ob_list_handlers — Liste les gestionnaires d'affichage utilisés
  • ob_start — Enclenche la tamporisation de sortie
  • output_add_rewrite_var — Ajoute une règle de réécriture d'URL
  • output_reset_rewrite_vars — Annule la réécriture d'URL
Exemples
flush
Contrôle de l'affichage


Vide les tampons de sortie

Fonctions de bufferisation de sortie
ob_clean
Fonctions de bufferisation de sortie
PHP Manual

flush

(PHP 4, PHP 5)

flush — Vide les tampons de sortie

Description

void flush ( void )

Vide les tampons d'écriture de PHP et tous ceux que PHP utilisait (CGI, un serveur web, etc.). Cette fonction tente d'envoyer tout l'affichage courant au navigateur, sous quelques conditions.

flush() peut ne pas être capable d'écraser le schéma du buffer de votre serveur web et ceci n'aura aucun effet sur le buffer du navigateur côté client. De plus, cette fonction n'affecte pas le mécanisme d'affichage du buffer de l'espace utilisateur de PHP. Cela signifie que vous devez appeler à la fois la fonction ob_flush() et la fonction flush() pour vider les tampons de sortie si vous les utilisez.

De nombreux serveurs, essentiellement sous Windows, continueront à tamporiser l'affichage de votre script jusqu'à ce qu'il soit terminé, avant de transmettre les résultats à l'internaute.

Des modules Apache comme mod_gzip utilisent leur propre tamporisation, ce qui fait que flush() n'enverra pas les données jusqu'au navigateur client immédiatement.

Même le navigateur peut réaliser une tamporisation avant de l'afficher. Netscape, par exemple, met en cache le texte jusqu'à ce qu'il reçoive une fin de ligne, ou un début d'une balise et il n'affichera pas les tables tant que la balise </table> la plus externe ne soit vue.

Certaines versions de Microsoft Internet Explorer ne commenceront l'affichage de la page qu'après avoir reçu 256 octets d'affichage. Cela vous obligera à envoyer des espaces supplémentaires pour afficher la page.

Valeurs de retour

Aucune valeur n'est retournée.

Fonctions de bufferisation de sortie
ob_clean
Fonctions de bufferisation de sortie


Efface le tampon de sortie

flush
ob_end_clean
Fonctions de bufferisation de sortie
PHP Manual

ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean — Efface le tampon de sortie

Description

void ob_clean ( void )

Cette fonction vide le tampon de sortie sans l'envoyer au navigateur.

Cette fonction ne détruit pas le contenu du tampon de sortie comme peut le faire ob_end_clean().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ob_flush() - Envoie le tampon de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la tamporisation de sortie

flush
ob_end_clean
Fonctions de bufferisation de sortie


Détruit les données du tampon de sortie et éteint la tamporisation de sortie

ob_clean
ob_end_flush
Fonctions de bufferisation de sortie
PHP Manual

ob_end_clean

(PHP 4, PHP 5)

ob_end_clean — Détruit les données du tampon de sortie et éteint la tamporisation de sortie

Description

bool ob_end_clean ( void )

Cette fonction vide le contenu du premier tampon de sortie et désactive la tamporisation de sortie. Si vous voulez traiter le contenu du tampon, vous devrez appeler ob_get_contents() avant ob_end_clean(), car le tampon est détruit par ob_end_clean().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Les raisons d'un tel échec sont que la tamporisation de sortie pouvait ne pas être activée, ou que, pour une raison quelconque, le tampon n'a pu être détruit.

Erreurs / Exceptions

Si la fonction échoue, elle génère une note E_NOTICE.

Historique

Version | Description
4.2.0 | La valeur booléen retournée par la fonction a été ajoutée.

Exemples

L'exemple suivant montre comment se débarrasser de tous les tampons de sortie :

Exemple #1 Exemple avec ob_end_clean()

<?php
ob_start();
echo 'Texte qui ne sera pas affiché.';
ob_end_clean();
?>

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • ob_get_contents() - Retourne le contenu du tampon de sortie
  • ob_flush() - Envoie le tampon de sortie

ob_clean
ob_end_flush
Fonctions de bufferisation de sortie


Envoie les données du tampon de sortie et éteint la tamporisation de sortie

ob_end_clean
ob_flush
Fonctions de bufferisation de sortie
PHP Manual

ob_end_flush

(PHP 4, PHP 5)

ob_end_flush — Envoie les données du tampon de sortie et éteint la tamporisation de sortie

Description

bool ob_end_flush ( void )

Envoie le contenu du tampon de sortie (s'il existe) et éteint la tamporisation de sortie. Si vous voulez continuer à manipuler la valeur du tampon, vous pouvez appeler ob_get_contents() avant ob_end_flush() car le contenu du tampon est détruit après un appel à ob_end_flush().

Note: Cette fonction est similaire à ob_get_flush(), excepté que ob_get_flush() retourne le tampon comme une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Les raisons d'échec sont que vous pourriez avoir appelé la fonction sans avoir de tampon actif, ou que, pour une raison quelconque, le tampon n'a pu être effacé (possible pour un tampon spécial).

Erreurs / Exceptions

Si la fonction échoue, elle émet une alerte de type E_NOTICE.

Historique

Version | Description
4.2.0 | La fonction retourne une valeur booléenne.

Exemples

Exemple #1 Exemple avec ob_end_flush()

L'exemple ci-dessous montre une méthode simple pour vider tous les tampons :

<?php
while (@ob_end_flush());
?>

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • ob_get_contents() - Retourne le contenu du tampon de sortie
  • ob_get_flush() - Vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation
  • ob_flush() - Envoie le tampon de sortie
  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la tamporisation de sortie

ob_end_clean
ob_flush
Fonctions de bufferisation de sortie


Envoie le tampon de sortie

ob_end_flush
ob_get_clean
Fonctions de bufferisation de sortie
PHP Manual

ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush — Envoie le tampon de sortie

Description

void ob_flush ( void )

Envoie le contenu du tampon de sortie (s'il y en a un). Si vous voulez contrôler le contenu du tampon, vous devez appeler la fonction ob_get_contents() avant ob_flush() car le contenu du tampon est effacé après l'appel de ob_flush().

ob_flush() ne détruit pas le contenu du tampon de sortie comme peut le faire ob_end_flush().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ob_get_contents() - Retourne le contenu du tampon de sortie
  • ob_clean() - Efface le tampon de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la tamporisation de sortie

ob_end_flush
ob_get_clean
Fonctions de bufferisation de sortie


Lit le contenu courant du tampon de sortie puis l'efface

ob_flush
ob_get_contents
Fonctions de bufferisation de sortie
PHP Manual

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5)

ob_get_clean — Lit le contenu courant du tampon de sortie puis l'efface

Description

string ob_get_clean ( void )

Lit le contenu courant du tampon de sortie puis l'efface.

ob_get_clean() exécute successivement
ob_get_contents() et
ob_end_clean().

Valeurs de retour

Retourne le contenu du tampon de sortie et termine la session de tamporisation. Si la tamporisation n'est pas activée, alors FALSE sera retourné.

Exemples

Exemple #1 Exemple avec ob_get_clean()

<?php

ob_start();

echo "Bonjour le monde !";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

L'exemple ci-dessus va afficher :

string(18) "bonjour le monde !"

Voir aussi

  • ob_get_contents() - Retourne le contenu du tampon de sortie
  • ob_start() - Enclenche la tamporisation de sortie

ob_flush
ob_get_contents
Fonctions de bufferisation de sortie


Retourne le contenu du tampon de sortie

ob_get_clean
ob_get_flush
Fonctions de bufferisation de sortie
PHP Manual

ob_get_contents

(PHP 4, PHP 5)

ob_get_contents — Retourne le contenu du tampon de sortie

Description

string ob_get_contents ( void )

Retourne le contenu du tampon de sortie sans l'effacer.

Valeurs de retour

Retourne le contenu du tampon de sortie sans l'effacer ou FALSE, si la tamporisation de sortie n'est pas activée.

Exemples

Exemple #1 Exemple avec ob_get_contents()

<?php

ob_start();

echo "Bonjour ";

$out1 = ob_get_contents();

echo "le monde !";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

L'exemple ci-dessus va afficher :

string(8) "Bonjour "
string(18) "le monde"

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • ob_get_length() - Retourne la longueur du contenu du tampon de sortie

ob_get_clean
ob_get_flush
Fonctions de bufferisation de sortie


Vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation

ob_get_contents
ob_get_length
Fonctions de bufferisation de sortie
PHP Manual

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flush — Vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation

Description

string ob_get_flush ( void )

ob_get_flush() vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation.

Note: ob_get_flush() est similaire à ob_end_flush(), sauf que cette fonction retourne le tampon en tant que chaîne.

Valeurs de retour

Retourne le tampon de sortie ou FALSE s'il n'y en a aucun d'actif.

Exemples

Exemple #1 Exemple avec ob_get_flush()

<?php
//Utilisation de output_buffering=On
print_r(ob_list_handlers());

//Saugarde du tampon dans un fichier
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => default output handler
)
Array
(
)

Voir aussi

  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_list_handlers() - Liste les gestionnaires d'affichage utilisés

ob_get_contents
ob_get_length
Fonctions de bufferisation de sortie


Retourne la longueur du contenu du tampon de sortie

ob_get_flush
ob_get_level
Fonctions de bufferisation de sortie
PHP Manual

ob_get_length

(PHP 4 >= 4.0.2, PHP 5)

ob_get_length — Retourne la longueur du contenu du tampon de sortie

Description

int ob_get_length ( void )

Retourne la longueur du contenu du tampon de sortie.

Valeurs de retour

Retourne la longueur du contenu du tampon de sortie si la tamporisation est activée, et FALSE sinon.

Exemples

Exemple #1 Exemple avec ob_get_length()

<?php

ob_start();

echo "Bonjour ";

$len1 = ob_get_length();

echo "le monde";

$len2 = ob_get_length();

ob_end_clean();

echo $len1 . ", ." . $len2;
?>

L'exemple ci-dessus va afficher :

8, 16

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • ob_get_contents() - Retourne le contenu du tampon de sortie

ob_get_flush
ob_get_level
Fonctions de bufferisation de sortie


Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie

ob_get_length
ob_get_status
Fonctions de bufferisation de sortie
PHP Manual

ob_get_level

(PHP 4 >= 4.2.0, PHP 5)

ob_get_level — Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie

Description

int ob_get_level ( void )

Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie.

Valeurs de retour

Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie, et zéro s'il n'est pas actif.

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • ob_get_contents() - Retourne le contenu du tampon de sortie

ob_get_length
ob_get_status
Fonctions de bufferisation de sortie


Lit le statut du tampon de sortie

ob_get_level
ob_gzhandler
Fonctions de bufferisation de sortie
PHP Manual

ob_get_status

(PHP 4 >= 4.2.0, PHP 5)

ob_get_status — Lit le statut du tampon de sortie

Description

array ob_get_status ([ bool $full_status = FALSE ] )

ob_get_status() retourne les informations sur le statut du tampon d'affichage de haut niveau ou de tous les tampons d'affichage si full_status est défini à TRUE.

Liste de paramètres

full_status

TRUE pour retourner tous les tampons d'affichage. Si vaut FALSE ou non défini, seul le statut du tampon d'affichage de haut niveau sera retourné.

Valeurs de retour

Si la fonction est appelée sans le paramètre full_status ou avec le paramètre full_status = FALSE, un tableau simple avec les éléments suivants sera retourné :

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)
Résultats simples pour la fonction ob_get_status()
Clé:level
Valeur:Niveau de sortie désiré
Clé:type
Valeur:PHP_OUTPUT_HANDLER_INTERNAL (0) ou PHP_OUTPUT_HANDLER_USER (1)
Clé:status
Valeur:Un parmi PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) ou PHP_OUTPUT_HANDLER_END (2)
Clé:name
Valeur:Nom du gestionnaire de sortie actif ou ' default output handler' si aucun n'est défini
Clé:del
Valeur:Flag d'effacement tel que défini par ob_start()

Si la fonction est appelée avec le paramètre full_status défini à TRUE, un tableau avec un élément par tampon de sortie actif est retourné. Le niveau de sortie est utilisé en tant que clé du tableau de niveau élevé et chaque élément du tableau est un autre tableau contenant les informations sur le statut du niveau du tampon actif.

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

La sortie complète contient les éléments suivants :

Résultats complets pour la fonction ob_get_status()
Clé:chunk_size
Valeur:Taille telle que définie par la fonction ob_start()
Clé:size
Valeur:...
Clé:blocksize
Valeur:...

Voir aussi

  • ob_get_level() - Retourne le nombre de niveaux d'imbrications du système de tamporisation de sortie
  • ob_list_handlers() - Liste les gestionnaires d'affichage utilisés

ob_get_level
ob_gzhandler
Fonctions de bufferisation de sortie


Fonction de rappel pour la compression automatique des tampons

ob_get_status
ob_implicit_flush
Fonctions de bufferisation de sortie
PHP Manual

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5)

ob_gzhandler — Fonction de rappel pour la compression automatique des tampons

Description

string ob_gzhandler ( string $buffer , int $mode )

ob_gzhandler() est destinée à être utilisée comme fonction de rappel par ob_start() pour faciliter l'envoi de données compressées aux navigateurs qui supportent les pages compressées. Avant que ob_gzhandler() envoie les données compressées, il détermine les types d'encodage qui sont supportés par le navigateur ("gzip", "deflate" ou aucun) et retourne le contenu des tampons de manière appropriée. Tous les navigateurs sont traités, car c'est aux navigateurs d'envoyer un en-tête indiquant les types de pages supportés. Si le navigateur ne supporte pas les pages compressées, cette fonction retournera FALSE.

Liste de paramètres

buffer

mode

Valeurs de retour

Historique

Version | Description
4.0.5 | Ajout du paramètre mode.

Exemples

Exemple #1 Exemple avec ob_gzhandler()

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>Ceci devrait être une page compressée.</p>
</html>
<body>

Notes

Note: ob_gzhandler() nécessite l'extension zlib.

Note: Vous ne pouvez pas utiliser simultanément ob_gzhandler() et zlib.output_compression. De plus, notez bien que zlib.output_compression est préférable à ob_gzhandler().

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie

ob_get_status
ob_implicit_flush
Fonctions de bufferisation de sortie


Active/désactive l'envoi implicite

ob_gzhandler
ob_list_handlers
Fonctions de bufferisation de sortie
PHP Manual

ob_implicit_flush

(PHP 4, PHP 5)

ob_implicit_flush — Active/désactive l'envoi implicite

Description

void ob_implicit_flush ([ int $flag = true ] )

ob_implicit_flush() active/désactive l'envoi implicite. L'envoi implicite signifie que toute fonction qui envoie des données au navigateur verra ses données envoyées immédiatement (la fonction flush() est appelée automatiquement).

Liste de paramètres

flag

TRUE pour activer, FALSE sinon.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • flush() - Vide les tampons de sortie
  • ob_start() - Enclenche la tamporisation de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie

ob_gzhandler
ob_list_handlers
Fonctions de bufferisation de sortie


Liste les gestionnaires d'affichage utilisés

ob_implicit_flush
ob_start
Fonctions de bufferisation de sortie
PHP Manual

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5)

ob_list_handlers — Liste les gestionnaires d'affichage utilisés

Description

array ob_list_handlers ( void )

Liste les gestionnaires d'affichage utilisés.

Valeurs de retour

Retourne un tableau avec le gestionnaire d'affichage en cours d'utilisation (s'il existe). Si output_buffering est activé ou si une fonction anonyme est utilisée avec ob_start(), ob_list_handlers() retournera un tableau avec comme valeur d'entrée : "default output handler".

Exemples

Exemple #1 Exemple avec ob_list_handlers()

<?php
//Utilisation de output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// Fonctions anonymes
ob_start(create_function('$string', 'return $string;'));
print_r(ob_list_handlers());
ob_end_flush();
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => default output handler
)

Voir aussi

  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_get_flush() - Vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation
  • ob_start() - Enclenche la tamporisation de sortie

ob_implicit_flush
ob_start
Fonctions de bufferisation de sortie


Enclenche la tamporisation de sortie

ob_list_handlers
output_add_rewrite_var
Fonctions de bufferisation de sortie
PHP Manual

ob_start

(PHP 4, PHP 5)

ob_start — Enclenche la tamporisation de sortie

Description

bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )

ob_start() démarre la tamporisation de sortie. Tant qu'elle est enclenchée, aucune donnée, hormis les en-têtes, n'est envoyée au navigateur, mais temporairement mise en tampon.

Le contenu de ce tampon peut être copié dans une chaîne avec la fonction ob_get_contents(). Pour afficher le contenu de ce tampon, utilisez ob_end_flush(). Au contraire, ob_end_clean() effacera le contenu de ce tampon.

Avertissement

Quelques serveurs web (par exemple Apache) modifient le dossier de travail d'un script lorsqu'il appelle une fonction de rappel. Vous pouvez revenir à un comportement normal en ajoutant chdir(dirname($_SERVER['SCRIPT_FILENAME'])) dans votre fonction de rappel.

Les tampons de sortie sont gérés par pile, c'est-à-dire que vous pouvez appeler plusieurs fois ob_start() simultanément. Assurez-vous que vous appelez ob_end_flush() suffisamment souvent. Si plusieurs fonctions de rappel sont actives, les contenus seront filtrés séquentiellement, dans l'ordre d'emboîtement.

Liste de paramètres

output_callback

Une fonction optionnelle de rappel peut être spécifiée. Cette fonction prend une chaîne comme paramètre, et retourne une chaîne. Elle sera appelée lorsque le tampon sera envoyé ou supprimé (avec les fonctions ob_flush(), ob_clean() ou des fonctions similaires) ou lorsque le tampon sera envoyé au navigateur à la fin du script et recevra le contenu du tampon de sortie. Lorsque la fonction output_callback est appelée, elle doit retourner un nouveau contenu pour le tampon de sortie : celui-ci sera envoyé au navigateur. Si output_callback n'est pas une fonction accessible, la fonction retournera FALSE.

Si la fonction de rappel a deux paramètres, le second est composé du champ bits constitué par PHP_OUTPUT_HANDLER_START, PHP_OUTPUT_HANDLER_CONT et PHP_OUTPUT_HANDLER_END.

Si output_callback retourne FALSE, l'entrée originale est envoyée au navigateur.

Le paramètre output_callback peut être annulé en y passant la valeur NULL.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() et ob_start() ne doivent pas être appelés depuis une fonction de rappel. Si vous les appelez depuis une fonction de rappel, le comportement ne sera pas défini. Si vous voulez effacer le contenu du tampon, retournez "" (une chaîne vide) comme fonction de rappel. Vous ne pourrez jamais appeler les fonctions utilisant la fonction de tamporisation de sortie comme print_r($expression, true) ou highlight_file($filename, true) depuis une fonction de rappel.

Note: En PHP 4.0.4, ob_gzhandler() a été introduite pour faciliter l'envoi de fichiers compressés avec gzip aux navigateurs web qui supportent les pages compressées. ob_gzhandler() détermine le type d'encodage accepté par un navigateur, et retourne le contenu le plus adéquat.

chunk_size

Si le paramètre optionnel chunk_size est passé, la fonction de rappel est appelée à chaque nouvelle ligne après chunk_size octets d'affichage. La valeur par défaut (zéro) signifie que la fonction est appelée uniquement à la fin, et si la valeur est 1, chunk_size vaudra 4096.

erase

Si le paramètre optionnel erase est défini à FALSE, le tampon ne sera pas effacé tant que le script ne sera pas terminé. Ceci aura pour effet d'émettre une notice et de retourner FALSE lors de l'appel aux fonctions d'affichage et de nettoyage.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.2 | Cette fonction a été modifiée pour retourner FALSE dans le cas où output_callback ne peut être exécuté.
4.2.0 | Ajout du paramètre erase.

Exemples

Exemple #1 Exemple de gestion de sortie avec fonction de rappel

<?php

function rappel($buffer)
{
  // remplace toutes les pommes par des carottes
  return (ereg_replace("pommes de terre", "carottes", $buffer));
}

ob_start("rappel");

?>
<html>
<body>
<p>C'est comme comparer des carottes et des pommes de terre.</p>
</body>
</html>
<?php

ob_end_flush();

?>

L'exemple ci-dessus va afficher :

<html>
<body>
<p>C'est comme comparer des carottes et des carottes.</p>
</body>
</html>

Voir aussi

  • ob_get_contents() - Retourne le contenu du tampon de sortie
  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la tamporisation de sortie
  • ob_implicit_flush() - Active/désactive l'envoi implicite
  • ob_gzhandler() - Fonction de rappel pour la compression automatique des tampons
  • ob_iconv_handler() - Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie
  • mb_output_handler() - Fonction de traitement des affichages
  • ob_tidyhandler() - Fonction de rappel ob_start pour réparer le buffer

ob_list_handlers
output_add_rewrite_var
Fonctions de bufferisation de sortie


Ajoute une règle de réécriture d'URL

ob_start
output_reset_rewrite_vars
Fonctions de bufferisation de sortie
PHP Manual

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_var — Ajoute une règle de réécriture d'URL

Description

bool output_add_rewrite_var ( string $name , string $value )

Cette fonction ajoute une nouvelle paire nom/valeur au mécanisme de réécriture d'URL. Le nom et la valeur sera ajouté aux URL (en tant que paramètre GET) et aux formulaires (en tant que champs cachés) de la même façon que pour les identifiants de session lorsque la réécriture d'URL est activée avec session.use_trans_sid. Notez que les URL absolues, telles http://example.com/, ne sont pas réécrites.

Ce comportement est contrôlé par l'option url_rewriter.tags du php.ini.

Note: L'appel à cette fonction démarre implicitement la tamporisation de sortie si elle n'est pas déjà activée.

Liste de paramètres

name

Le nom de la variable.

value

La valeur de la variable.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec output_add_rewrite_var()

<?php
output_add_rewrite_var('var', 'value');

// Quelques liens
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';

// un formulaire
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

L'exemple ci-dessus va afficher :

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Voir aussi

  • output_reset_rewrite_vars() - Annule la réécriture d'URL
  • ob_flush() - Envoie le tampon de sortie
  • ob_list_handlers() - Liste les gestionnaires d'affichage utilisés

ob_start
output_reset_rewrite_vars
Fonctions de bufferisation de sortie


Annule la réécriture d'URL

output_add_rewrite_var
runkit
Fonctions de bufferisation de sortie
PHP Manual

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5)

output_reset_rewrite_vars — Annule la réécriture d'URL

Description

bool output_reset_rewrite_vars ( void )

Cette fonction annule la règle de réécriture et efface toutes les variables de réécriture précédemment définies avec la fonction output_add_rewrite_var() ou par le mécanisme de session (si session.use_trans_sid a été défini lors de l'utilisation de la fonction session_start()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec output_reset_rewrite_vars()

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">link</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">link</a>';
?>

L'exemple ci-dessus va afficher :

<a href="file.php?PHPSESSID=xxx&var=value">link</a>
<a href="file.php">link</a>

Voir aussi

  • output_add_rewrite_var() - Ajoute une règle de réécriture d'URL
  • ob_flush() - Envoie le tampon de sortie
  • ob_list_handlers() - Liste les gestionnaires d'affichage utilisés
  • session_start() - Initialise une session

output_add_rewrite_var
runkit
Fonctions de bufferisation de sortie


runkit

  • Introduction
  • Constantes pré-définies
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Fonctions runkit
    • Runkit_Sandbox — Classe Runkit Sandbox -- Machine Virtuelle PHP
    • Runkit_Sandbox_Parent — Classe Anti-Sandbox Runkit
    • runkit_class_adopt — Convertit une classe de base à une classe héritée, ajoute une méthode ancestrale lorsque approprié
    • runkit_class_emancipate — Convertit une classe héritée à une classe de base, supprime toute méthode pour qui la portée est ancestrale
    • runkit_constant_add — Similaire à define(), mais permet aussi la définition dans définitions de classe
    • runkit_constant_redefine — Redéfinit une constante déjà définie
    • runkit_constant_remove — Enlève/Supprime une constante déjà définie
    • runkit_function_add — Ajoute une nouvelle fonction, similaire à create_function
    • runkit_function_copy — Copie une fonction vers un nom de fonction nouveau
    • runkit_function_redefine — Remplace une définition de fonction avec une nouvelle implémentation
    • runkit_function_remove — Enlève une définition de fonction
    • runkit_function_rename — Change le nom d'une fonction
    • runkit_import — Traite un fichier PHP important fonctions et définitions de classes, écrasement où applicable
    • runkit_lint_file — Vérifie la syntaxe PHP d'un fichier spécifié
    • runkit_lint — Vérifie la syntaxe PHP de code PHP spécifié
    • runkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
    • runkit_method_copy — Copie une méthode d'une classe à une autre
    • runkit_method_redefine — Change dynamiquement le code de la méthode donnée
    • runkit_method_remove — Supprime dynamiquement la méthode donnée
    • runkit_method_rename — Change dynamiquement le nom de la méthode donnée
    • runkit_return_value_used — Détermine si la valeur de retour des fonctions courantes sera utilisée
    • runkit_sandbox_output_handler — Spécifie une fonction à capturer et/ou traiter la sortie à partir d'un runkit sandbox
    • runkit_superglobals — Retourne un tableau indexé numériquement des variables superglobales enregistrées
output_reset_rewrite_vars
Introduction
Affecte le comportement de PHP


Introduction

L'extension runkit fournit les moyens de modifier les constantes, les fonctions et les classes définies par l'utilisateur. Elle fournit aussi ces moyens pour les variables superglobales et les sous-interpréteurs par sandboxing.

Ce paquetage est signifié en tant que remplacement de fonctionnalités pour le paquetage » classkit. Lorsque compilé avec l'option --enable-runkit=classkit à ./configure, les définitions des fonctions et des constantes de classkit seront exportées.

runkit
Constantes pré-définies
runkit


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

RUNKIT_IMPORT_FUNCTIONS (entier)
runkit_import() marque indiquant que les fonctions normales doivent être importées à partir du fichier spécifié.
RUNKIT_IMPORT_CLASS_METHODS (entier)
runkit_import() marque indiquant que les méthodes de classes doivent être importées à partir du fichier spécifié.
RUNKIT_IMPORT_CLASS_CONSTS (entier)
runkit_import() marque indiquant que les constantes de classes doivent être importées à partir du fichier spécifié. Notez que cette marque est seulement signifiante dans les versions PHP 5.1.0 et supérieures.
RUNKIT_IMPORT_CLASS_PROPS (entier)
runkit_import() marque indiquant que les propriétés standards de classes doivent être importée à partir du fichier spécifié.
RUNKIT_IMPORT_CLASSES (entier)
runkit_import() marque indiquant une opération de bits OU (OR) des constantes RUNKIT_IMPORT_CLASS_*.
RUNKIT_IMPORT_OVERRIDE (entier)
runkit_import() marque indiquant que si n'importe quelles fonctions, méthodes, constantes ou propriétés importées existent, elles doivent être remplacées par leurs nouvelles définitions. Si ce drapeau n'est pas activé, alors toutes définitions importées qui existent déjà seront supprimées.
RUNKIT_ACC_PUBLIC (entier)
Drapeau spécifique à PHP 5 pour runkit_method_add()
RUNKIT_ACC_PROTECTED (entier)
Drapeau spécifique à PHP 5 pour runkit_method_add()
RUNKIT_ACC_PRIVATE (entier)
Drapeau spécifique à PHP 5 pour runkit_method_add()
CLASSKIT_ACC_PUBLIC (entier)
Drapeau spécifique à PHP 5 pour runkit_method_add() Seulement définie lorsque les compatibilités classkit sont activées.
CLASSKIT_ACC_PROTECTED (entier)
Drapeau spécifique à PHP5 pour runkit_method_add() Seulement définie lorsque les compatibilités classkit sont activées.
CLASSKIT_ACC_PRIVATE (entier)
Drapeau spécifique à PHP 5 pour runkit_method_add() Seulement définie lorsque les compatibilités classkit sont activées.
CLASSKIT_AGGREGATE_OVERRIDE (entier)
Drapeau spécifique à PHP 5 pour classkit_import() Seulement définie lorsque les compatibilités classkit sont activées.
RUNKIT_VERSION (chaîne de caractères)
Définie la version courante du paquetage runkit.
CLASSKIT_VERSION (chaîne de caractères)
Définie la version courante du paquetage runkit. Seulement définie lorsque les compatibilités classkit sont activées.
Introduction
Installation/Configuration
runkit


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Constantes pré-définies
Pré-requis
runkit


Pré-requis

Modification de Constantes, Fonctions, Classes et Méthodes fonctionne avec toutes les versions de PHP 4 et PHP 5. Aucune condition spéciale n'est nécessaire.

Les Superglobales Personnalisées sont seulement disponibles dans les versions PHP 4.2.0 et supérieures.

Sandboxing nécessite PHP 5.1.0 ou supérieur ou PHP 5.0.0 avec le patch spécial TSRM appliqué. Sans se soucier de quelle version de PHP est utilisé, sandboxing doit être compilé avec l'option --enable-maintainer-zts. Voyez le fichier README dans le paquetage de runkit pour plus d'informations.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/runkit.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Runkit
Nom | Défaut | Modifiable | Historique
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

runkit.superglobal string
Liste de noms de variable séparés par des virgules à être traités comme variables superglobales. Cette valeur devrait être fixée dans le fichier du système php.ini, mais devrait fonctionner dans les contextes de configuration par dossier dépendamment de votre SAPI.

Exemple #1 Superglobales particulières avec runkit.superglobal=_FOO,_BAR dans php.ini

<?php
function montre_valeurs() {
  echo "Foo est $_FOO\n";
  echo "Bar est $_BAR\n";
  echo "Baz est $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Montre foo et bar mais pas baz */
montre_valeurs();
?>
runkit.internal_override boolean
Active la possibilité de modifier/renommer/supprimer les fonctions internes.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
Fonctions runkit
Installation/Configuration


Fonctions runkit

Sommaire

  • Runkit_Sandbox — Classe Runkit Sandbox -- Machine Virtuelle PHP
  • Runkit_Sandbox_Parent — Classe Anti-Sandbox Runkit
  • runkit_class_adopt — Convertit une classe de base à une classe héritée, ajoute une méthode ancestrale lorsque approprié
  • runkit_class_emancipate — Convertit une classe héritée à une classe de base, supprime toute méthode pour qui la portée est ancestrale
  • runkit_constant_add — Similaire à define(), mais permet aussi la définition dans définitions de classe
  • runkit_constant_redefine — Redéfinit une constante déjà définie
  • runkit_constant_remove — Enlève/Supprime une constante déjà définie
  • runkit_function_add — Ajoute une nouvelle fonction, similaire à create_function
  • runkit_function_copy — Copie une fonction vers un nom de fonction nouveau
  • runkit_function_redefine — Remplace une définition de fonction avec une nouvelle implémentation
  • runkit_function_remove — Enlève une définition de fonction
  • runkit_function_rename — Change le nom d'une fonction
  • runkit_import — Traite un fichier PHP important fonctions et définitions de classes, écrasement où applicable
  • runkit_lint_file — Vérifie la syntaxe PHP d'un fichier spécifié
  • runkit_lint — Vérifie la syntaxe PHP de code PHP spécifié
  • runkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • runkit_method_copy — Copie une méthode d'une classe à une autre
  • runkit_method_redefine — Change dynamiquement le code de la méthode donnée
  • runkit_method_remove — Supprime dynamiquement la méthode donnée
  • runkit_method_rename — Change dynamiquement le nom de la méthode donnée
  • runkit_return_value_used — Détermine si la valeur de retour des fonctions courantes sera utilisée
  • runkit_sandbox_output_handler — Spécifie une fonction à capturer et/ou traiter la sortie à partir d'un runkit sandbox
  • runkit_superglobals — Retourne un tableau indexé numériquement des variables superglobales enregistrées
Types de ressources
Runkit_Sandbox
runkit


Classe Runkit Sandbox -- Machine Virtuelle PHP

Fonctions runkit
Runkit_Sandbox_Parent
Fonctions runkit
PHP Manual

Runkit_Sandbox

(PECL runkit >= 0.7.0)

Runkit_Sandbox — Classe Runkit Sandbox -- Machine Virtuelle PHP

Description

L'instanciation de la classe Runkit_Sandbox crée un nouveau thread avec sa propre portée et sa pile de programme. En utilisant les options passées au constructeur, cet environnement peut être restreint à un sous-ensemble pour lequel l'interpréteur primaire peut exécuter et fournir un environnement plus sûr pour l'exécution de code utilisateur.

Note: Support Sandbox (requis pour runkit_lint(), runkit_lint_file() et la classe Runkit_Sandbox) n'est seulement disponible qu'avec PHP 5.1 ou les versions de PHP 5.0 spécialement patché et nécessite que la protection de thread soit activée. Voyez le fichier README inclus dans le paquetage runkit pour plus d'informations.

Constructeur

void Runkit_Sandbox::__construct ([ array $options ] )

options est un tableau associatif contenant n'importe quelle combinaison des options ini listées ci-dessous.

safe_mode

Si un script extérieur qui est instancié avec la classe Runkit_Sandbox est configuré avec safe_mode = off, alors safe_mod devrait être activé pour l'environnement sandbox. Cette configuration ne peut être utilisée pour désactiver safe_mode lorsque safe_mode est déjà activé dans le script extérieur.

safe_mode_gid

Si le script extérieur qui est instancié avec la classe Runkit_Sandbox est configuré avec safe_mode_gid = on, alors safe_mod_gid devrait être désactivé pour l'environnement sandbox. Cette configuration ne peut être utilisée pour activer safe_mode_gid lorsque c'est déjà désactivé dans le script extérieur.

safe_mode_include_dir

Si le script extérieur qui est instancié avec la classe Runkit_Sandbox est configuré avec safe_mode_include_dir, alors un nouveau safe_mode_include_dir devrait être fixé pour les environnements de sandbox sous la valeur actuellement définie. safe_mode_include_dir peut aussi être supprimé pour indiquer que l'évitement de cette fonctionnalité est désactivé. Si safe_mode_include_dir était vide dans le script extérieur, mais safe_mod n'était pas activé, alors n'importe quel safe_mode_include_dir arbitraire peut être fixé en activant le safe_mode.

open_basedir

open_basedir peut être fixé à n'importe quel chemin sous la configuration courante de open_basedir. Si open_basedir n'est pas fixé dans la portée globale, alors il est assumé qu'il est dans le répertoire root et peut être fixé à n'importe quelle autre emplacement.

allow_url_fopen

Comme safe_mode, cette configuration peut seulement être faite plus restrictive, dans ce cas, en mettant FALSE lorsque la valeur était précédemment TRUE.

disable_functions

Liste de fonctions séparées par des virgules à désactiver dans le sous-interpréteur sandbox. Cette liste ne nécessite pas de contenir le nom des fonctions déjà désactivées, elles resteront désactivées même si elles ne sont pas listées.

disable_classes

Liste de classes séparées par des virgules à désactiver dans le sous-interpréteur sandbox. Cette liste ne nécessite pas de contenir le nom des classes déjà désactivées, elles resteront désactivées même si elles ne sont pas listées.

runkit.superglobal

Liste des variables qui seront traitées en tant que superglobales dans le sous-interpréteur sandbox. Ces variables seront utilisées en plus de celles définies à l'interne ou à l'aide de la configuration runkit.superglobal.

runkit.internal_override

L'option ini runkit.internal_override devrait être désactivée (mais non réactivée) à l'intérieur des sandbox.

Exemple #1 Instanciation d'un sandbox restreint

<?php
$options = array(
  'safe_mode'=>true,
  'open_basedir'=>'/var/www/users/jdoe/',
  'allow_url_fopen'=>'false',
  'disable_functions'=>'exec,shell_exec,passthru,system',
  'disable_classes'=>'myAppClass');
$sandbox = new Runkit_Sandbox($options);
/* Configurations ini non protégées sont fixées normalement */
$sandbox->ini_set('html_errors',true);
?>

Portée des variables

Toutes les variables dans la portée globale de l'environnement sandbox sont accessibles comme étant des propriétés de l'objet sandbox. La première chose à noter, c'est puisque la manière de gestion de la mémoire entre les deux threads est faite que les objets et les variables de ressources ne peuvent pas, jusqu'à présent, être échangées entre les interpréteurs. De plus, tous les tableaux sont copiés au complet et toutes références seront perdues. Cela veut aussi dire que les références entre les interpréteurs ne sont pas possibles.

Exemple #2 Utilisation des variables dans sandbox

<?php
$sandbox = new Runkit_Sandbox();

$sandbox->foo = 'bar';
$sandbox->eval('echo "$foo\n"; $bar = $foo . "baz";');
echo "{$sandbox->bar}\n";
if (isset($sandbox->foo)) unset($sandbox->foo);
$sandbox->eval('var_dump(isset($foo));');
?>

L'exemple ci-dessus va afficher :

bar
barbaz
bool(false)

Appel de Fonctions PHP

Toute fonction définie dans le sandbox peut être appelée en tant que
méthode sur l'objet sandbox. Ceci inclut aussi quelques constructions de
pseudo-fonctions : eval()
include(), include_once(),
require(), require_once(),
echo(), print(),
die() et exit().

Exemple #3 Appel de fonctions sandbox

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

L'exemple ci-dessus va afficher :

fbc

Lors du passage d'arguments à une fonction sandbox, les arguments sont pris à partir de l'extérieur de l'instance de PHP. Si vous voulez passer les arguments à la portée de sandbox, soyez assuré de les accéder comme étant des propriétés de l'objet sandbox comme montré plus haut.

Exemple #4 Passage d'arguments aux fonctions sandbox

<?php
$sandbox = new Runkit_Sandbox();

$foo = 'bar';
$sandbox->foo = 'baz';
echo $sandbox->str_replace('a',$foo,'a');
echo $sandbox->str_replace('a',$sandbox->foo,'a');
?>

L'exemple ci-dessus va afficher :

bar
baz

Modification des Configurations de Sandbox

Depuis la version de runkit 0.5, certaines configurations de Sandbox peuvent être modifiées à la volée en utilisant la syntaxe ArrayAccess. Certaines configurations, comme active sont en lecture seule et permettent de fournir des informations de statut. Les autres configurations, comme output_handler peuvent être fixées et lues comme un tableau normal. Les configurations futures devraient être en écriture seule, cependant aucune configuration n'existe présentement.

Configurations Sandbox / Indicateurs de Statut
Configuration | Type | But | Défaut
active | booléen (Lecture Seule) | TRUE si le Sandbox est toujours dans un état utilisable, FALSE si la requête est en arrêt dû à un appel à die(), exit() ou à cause d'une condition d'erreur fatale. | TRUE (Initial)
output_handler | Callback | Lorsque fixée à une valeur de retour valide, toutes sorties générées par l'instance Sandbox seront traitées à travers la fonction nommée. Les sorties de Sandbox suivent les mêmes conventions d'appel pour les gestionnaires de sortie du système entier. | Aucun
parent_access | booléen | Autorise sandbox à utiliser des instances de la classe Runkit_Sandbox_Parent. Doit être activée pour que les autres configurations reliées à Runkit_Sandbox_Parent fonctionnent. | FALSE
parent_read | booléen | Autorise sandbox à lire des variables dans son contexte parent. | FALSE
parent_write | booléen | Autorise sandbox à modifier des variables dans son contexte parent. | FALSE
parent_eval | booléen | Autorise sandbox à évaluer du code arbitraire dans son contexte parent. (DANGEREUX) | FALSE
parent_include | booléen | Autorise sandbox à inclure des fichiers de code php dans son contexte parent. DANGEREUX | FALSE
parent_echo | booléen | Autorise sandbox à afficher des données dans son contexte parent en court-circuitant efficacement son propre output_handler. | FALSE
parent_call | booléen | Autorise sandbox à appeler des fonctions dans son contexte parent. | FALSE
parent_die | booléen | Autorise sandbox à tuer son propre parent. (Et donc soi-même) | FALSE
parent_scope | entier | Quelle portée la propriété de l'accès parental vérifiera ? 0 == Portée Globale, 1 == Portée Appelante, 2 == Portée précédant la portée appelante, 3 == La porté avant celle-ci, etc., etc. | 0 (Global)
parent_scope | chaîne de caractères | Lorsque parent_scope est fixée à une valeur d'une chaîne de caractères, elle se réfère à une variable tableau nommée dans la portée globale. Si la variable nommée n'existe pas au moment de son accès, elle sera créée comme un tableau vide. Si la variable existe mais n'est pas un tableau, un faux tableau sera créé contenant une référence à la variable globale nommée. |

Fonctions runkit
Runkit_Sandbox_Parent
Fonctions runkit


Classe Anti-Sandbox Runkit

Runkit_Sandbox
runkit_class_adopt
Fonctions runkit
PHP Manual

Runkit_Sandbox_Parent

(PECL runkit >= 0.7.0)

Runkit_Sandbox_Parent — Classe Anti-Sandbox Runkit

Description

void Runkit_Sandbox_Parent::__construct ( void )

L'instanciation de la classe Runkit_Sandbox_Parent à l'intérieure d'un environnement sandbox créé à partir de la classe Runkit_Sandbox fournit certains moyens (contrôlés) pour un sandbox fils pour accéder à son parent.

Note: Support Sandbox (requis pour runkit_lint(), runkit_lint_file() et la classe Runkit_Sandbox) n'est seulement disponible qu'avec PHP 5.1 ou les versions de PHP 5.0 spécialement patché et nécessite que la protection de thread soit activée. Voyez le fichier README inclus dans le paquetage runkit pour plus d'informations.

Afin de faire fonctionner une des fonctionnalités de Runkit_Sandbox_Parent, le support doit être activé sur une base de chaque sandbox en activant le drapeau parent_access à partir du contexte parent.

Exemple #1 Travailler avec des variables dans un sandbox

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Accéder les Variables du Parent

Comme les accès des variables de sandbox, les variables de parent sandbox devraient être lues et écrites à partir des propriétés de la classe Runkit_Sandbox_Parent. L'accès en lecture aux variables parentes devraient être activé avec la configuration parent_read (en plus de la base de configuration parent_access). L'accès en écriture est activé avec la configuration parent_write.

La portée des variables est différente de l'accès aux variables enfants de sandbox; elle n'est pas limitée au variables globales seulement. En configurant la configuration parent_scope pour un entier approprié, les autres portées dans la pile active pourraient être inspectée. Une valeur de 0 (Défaut) autorisera l'accès direct aux variables dans la portée globale. 1 pointera l'accès des variables à n'importe quelles variables dont la portée était active au moment ou le bloc courant du code sandbox était exécuté. Des valeurs plus élevées font reculer à travers les fonctions qui ont appelées d'autres fonctions qui menent au code sandbox en train d'être exécuté et qui essaie d'accéder à ses propres variables parentes.

Exemple #2 Accès aux variables parentes

<?php
$php = new Runkit_Sandbox();
$php['parent_access'] = true;
$php['parent_read'] = true;

$test = "Global";

$php->eval('$PARENT = new Runkit_Sandbox_Parent;');

$php['parent_scope'] = 0;
one();

$php['parent_scope'] = 1;
one();

$php['parent_scope'] = 2;
one();

$php['parent_scope'] = 3;
one();

$php['parent_scope'] = 4;
one();

$php['parent_scope'] = 5;
one();

function un() {
    $test = "un()";
    two();
}

function deux() {
    $test = "deux()";
    three();
}

function trois() {
    $test = "trois()";
    $GLOBALS['php']->eval('var_dump($PARENT->test);');
}
?>

L'exemple ci-dessus va afficher :

string(6) "Global"
string(7) "trois()"
string(5) "deux()"
string(5) "un()"
string(6) "Global"
string(6) "Global"

Appel de Fonctions Parentes

Comme l'accès avec sandbox, un sandbox peut accéder ses fonctions parentes si les configurations adéquates ont été activées. L'activation de parent_call autorisera le sandbox d'appeler toutes les fonctions disponibles à la portée parente. Les constructions de langage sont chacune contrôlées par ses propres configurations : print() et echo() sont activées avec parent_echo. die() et exit() sont activées avec parent_die. eval() est activées avec parent_eval tandis que include(), include_once(), require() et require_once() sont activées avec parent_include.

Runkit_Sandbox
runkit_class_adopt
Fonctions runkit


Convertit une classe de base à une classe héritée, ajoute une méthode ancestrale lorsque approprié

Runkit_Sandbox_Parent
runkit_class_emancipate
Fonctions runkit
PHP Manual

runkit_class_adopt

(PECL runkit >= 0.7.0)

runkit_class_adopt — Convertit une classe de base à une classe héritée, ajoute une méthode ancestrale lorsque approprié

Description

bool runkit_class_adopt ( string $classname , string $parentname )

Liste de paramètres

classname

Le nom de la classe à adopter

parentname

Classe parente pour laquelle la classe enfant s'étend

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_class_adopt()

<?php
class myParent {
  function parentFunc() {
    echo "Sortie Fonction Parente\n";
  }
}

class myChild {
}

runkit_class_adopt('myChild','myParent');
myChild::parentFunc();
?>

L'exemple ci-dessus va afficher :

Sortie Fonction Parente

Voir aussi

  • runkit_class_emancipate() - Convertit une classe héritée à une classe de base, supprime toute méthode pour qui la portée est ancestrale

Runkit_Sandbox_Parent
runkit_class_emancipate
Fonctions runkit


Convertit une classe héritée à une classe de base, supprime toute méthode pour qui la portée est ancestrale

runkit_class_adopt
runkit_constant_add
Fonctions runkit
PHP Manual

runkit_class_emancipate

(PECL runkit >= 0.7.0)

runkit_class_emancipate — Convertit une classe héritée à une classe de base, supprime toute méthode pour qui la portée est ancestrale

Description

bool runkit_class_emancipate ( string $classname )

Liste de paramètres

classname

Nom de la classe à émanciper

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_class_emancipate()

<?php
class myParent {
  function parentFunc () {
    echo "Sortie Fonction Parente\n";
  }
}
class myChild extends myParent {
}

myChild::parentFunc();
runkit_class_emancipate('myChild');
myChild::parentFunc();
?>

L'exemple ci-dessus va afficher :

Sortie Fonction Parente
Fatal error: Call to undefined function:  parentFunc() in example.php on line 12

Voir aussi

  • runkit_class_adopt() - Convertit une classe de base à une classe héritée, ajoute une méthode ancestrale lorsque approprié

runkit_class_adopt
runkit_constant_add
Fonctions runkit


Similaire à define(), mais permet aussi la définition dans définitions de classe

runkit_class_emancipate
runkit_constant_redefine
Fonctions runkit
PHP Manual

runkit_constant_add

(PECL runkit >= 0.7.0)

runkit_constant_add — Similaire à define(), mais permet aussi la définition dans définitions de classe

Description

bool runkit_constant_add ( string $constname , mixed $value )

Liste de paramètres

constname

Nom de la constante à déclarer. Soit une chaîne de caractères pour indiquer une constante globale ou un classname::constname pour indiquer une constante de classe.

value

Valeur NULL, Bool, Long, Double, String ou Resource pour enregistrer la nouvelle constante.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • define() - Définit une constante
  • runkit_constant_redefine() - Redéfinit une constante déjà définie
  • runkit_constant_remove() - Enlève/Supprime une constante déjà définie

runkit_class_emancipate
runkit_constant_redefine
Fonctions runkit


Redéfinit une constante déjà définie

runkit_constant_add
runkit_constant_remove
Fonctions runkit
PHP Manual

runkit_constant_redefine

(PECL runkit >= 0.7.0)

runkit_constant_redefine — Redéfinit une constante déjà définie

Description

bool runkit_constant_redefine ( string $constname , mixed $newvalue )

Liste de paramètres

constname

Constante à redéfinir. Soit une chaîne de caractères pour indiquer une constante globale ou classname::constname pour indiquer une constante de classe.

newvalue

Nouvelle valeur à assigner à la constante.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • runkit_constant_add() - Similaire à define(), mais permet aussi la définition dans définitions de classe
  • runkit_constant_remove() - Enlève/Supprime une constante déjà définie

runkit_constant_add
runkit_constant_remove
Fonctions runkit


Enlève/Supprime une constante déjà définie

runkit_constant_redefine
runkit_function_add
Fonctions runkit
PHP Manual

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove — Enlève/Supprime une constante déjà définie

Description

bool runkit_constant_remove ( string $constname )

Liste de paramètres

constname

Nom de la constante à enlever. Soit une chaîne de caractères pour indiquer une constante globale ou classname::constname pour indiquer une constante de classe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • define() - Définit une constante
  • runkit_constant_add() - Similaire à define(), mais permet aussi la définition dans définitions de classe
  • runkit_constant_redefine() - Redéfinit une constante déjà définie

runkit_constant_redefine
runkit_function_add
Fonctions runkit


Ajoute une nouvelle fonction, similaire à create_function

runkit_constant_remove
runkit_function_copy
Fonctions runkit
PHP Manual

runkit_function_add

(PECL runkit >= 0.7.0)

runkit_function_add — Ajoute une nouvelle fonction, similaire à create_function()

Description

bool runkit_function_add ( string $funcname , string $arglist , string $code )

Liste de paramètres

funcname

Nom de la fonction à être créé

arglist

Liste d'arguments séparés par des virgules

code

Code qui compose la fonction

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_function_add()

<?php
runkit_function_add('testme','$a,$b','echo "La valeur de a est $a\n"; echo "La valeur de b est $b\n";');
testme(1,2);
?>

L'exemple ci-dessus va afficher :

La valeur de a est 1
La valeur de b est 2

Voir aussi

  • create_function() - Crée une fonction anonyme
  • runkit_function_redefine() - Remplace une définition de fonction avec une nouvelle implémentation
  • runkit_function_copy() - Copie une fonction vers un nom de fonction nouveau
  • runkit_function_rename() - Change le nom d'une fonction
  • runkit_function_remove() - Enlève une définition de fonction
  • runkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée

runkit_constant_remove
runkit_function_copy
Fonctions runkit


Copie une fonction vers un nom de fonction nouveau

runkit_function_add
runkit_function_redefine
Fonctions runkit
PHP Manual

runkit_function_copy

(PECL runkit >= 0.7.0)

runkit_function_copy — Copie une fonction vers un nom de fonction nouveau

Description

bool runkit_function_copy ( string $funcname , string $targetname )

Liste de paramètres

funcname

Nom de la fonction existante

targetname

Nom de la nouvelle fonction pour copier la définition vers celle-ci

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_function_copy()

<?php
function original() {
  echo "Dans une fonction\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

L'exemple ci-dessus va afficher :

Dans une fonction
Dans une fonction

Voir aussi

  • runkit_function_add() - Ajoute une nouvelle fonction, similaire à create_function
  • runkit_function_redefine() - Remplace une définition de fonction avec une nouvelle implémentation
  • runkit_function_rename() - Change le nom d'une fonction
  • runkit_function_remove() - Enlève une définition de fonction

runkit_function_add
runkit_function_redefine
Fonctions runkit


Remplace une définition de fonction avec une nouvelle implémentation

runkit_function_copy
runkit_function_remove
Fonctions runkit
PHP Manual

runkit_function_redefine

(PECL runkit >= 0.7.0)

runkit_function_redefine — Remplace une définition de fonction avec une nouvelle implémentation

Description

bool runkit_function_redefine ( string $funcname , string $arglist , string $code )

Note: Par défaut, seulement les fonctions définies par l'utilisateur peuvent être supprimées, renommées ou modifiées. Afin de surcharger des fonctions internes, vous devez activer la configuration runkit.internal_override dans le fichier php.ini du système entier.

Liste de paramètres

funcname

Nom de la fonction à redéfinir

arglist

Nouvelle liste d'arguments à être acceptés par la fonction

code

Nouvelle implémentation du code

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_function_redefine()

<?php
function testme() {
  echo "Implémentation de Testme originale\n";
}
testme();
runkit_function_redefine('testme','','echo "Nouvelle implémentation de Testme\n";');
testme();
?>

L'exemple ci-dessus va afficher :

Implémentation de Testme originale
Nouvelle implémentation de Testme

Voir aussi

  • runkit_function_add() - Ajoute une nouvelle fonction, similaire à create_function
  • runkit_function_copy() - Copie une fonction vers un nom de fonction nouveau
  • runkit_function_rename() - Change le nom d'une fonction
  • runkit_function_remove() - Enlève une définition de fonction

runkit_function_copy
runkit_function_remove
Fonctions runkit


Enlève une définition de fonction

runkit_function_redefine
runkit_function_rename
Fonctions runkit
PHP Manual

runkit_function_remove

(PECL runkit >= 0.7.0)

runkit_function_remove — Enlève une définition de fonction

Description

bool runkit_function_remove ( string $funcname )

Note: Par défaut, seulement les fonctions définies par l'utilisateur peuvent être supprimées, renommées ou modifiées. Afin de surcharger des fonctions internes, vous devez activer la configuration runkit.internal_override dans le fichier php.ini du système entier.

Liste de paramètres

funcname

Nom de la fonction à supprimer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • runkit_function_add() - Ajoute une nouvelle fonction, similaire à create_function
  • runkit_function_copy() - Copie une fonction vers un nom de fonction nouveau
  • runkit_function_redefine() - Remplace une définition de fonction avec une nouvelle implémentation
  • runkit_function_rename() - Change le nom d'une fonction

runkit_function_redefine
runkit_function_rename
Fonctions runkit


Change le nom d'une fonction

runkit_function_remove
runkit_import
Fonctions runkit
PHP Manual

runkit_function_rename

(PECL runkit >= 0.7.0)

runkit_function_rename — Change le nom d'une fonction

Description

bool runkit_function_rename ( string $funcname , string $newname )

Note: Par défaut, seulement les fonctions définies par l'utilisateur peuvent être supprimées, renommées ou modifiées. Afin de surcharger des fonctions internes, vous devez activer la configuration runkit.internal_override dans le fichier php.ini du système entier.

Liste de paramètres

funcname

Nom de la fonction courante

newname

Nouveau nom de fonction

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • runkit_function_add() - Ajoute une nouvelle fonction, similaire à create_function
  • runkit_function_copy() - Copie une fonction vers un nom de fonction nouveau
  • runkit_function_redefine() - Remplace une définition de fonction avec une nouvelle implémentation
  • runkit_function_remove() - Enlève une définition de fonction

runkit_function_remove
runkit_import
Fonctions runkit


Traite un fichier PHP important fonctions et définitions de classes, écrasement où applicable

runkit_function_rename
runkit_lint_file
Fonctions runkit
PHP Manual

runkit_import

(PECL runkit >= 0.7.0)

runkit_import — Traite un fichier PHP important fonctions et définitions de classes, écrasement où applicable

Description

bool runkit_import ( string $filename [, int $flags = RUNKIT_IMPORT_CLASS_METHODS ] )

Similaire à include(), par contre tout code qui réside à l'extérieur de fonction ou classe est simplement ignoré. De plus, dépendamment de la valeur de flags, toutes fonctions et classes qui existent déjà dans l'environnement en cours d'exécution seront automatiquement écrasées par leurs nouvelles définitions.

Liste de paramètres

filename

Nom du fichier pour importer les définitions de fonctions et de classe

flags

Comparaison de bits OU (OR) de la famille de constantes RUNKIT_IMPORT_*.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

runkit_function_rename
runkit_lint_file
Fonctions runkit


Vérifie la syntaxe PHP d'un fichier spécifié

runkit_import
runkit_lint
Fonctions runkit
PHP Manual

runkit_lint_file

(PECL runkit >= 0.7.0)

runkit_lint_file — Vérifie la syntaxe PHP d'un fichier spécifié

Description

bool runkit_lint_file ( string $filename )

La fonction runkit_lint_file() effectue une vérification de syntaxe (lint) sur le fichier spécifié en testant les erreurs de scripts. Cette fonction est similaire à l'utilisation de php -l à partir de la ligne de commande.

Note: Support Sandbox (requis pour runkit_lint(), runkit_lint_file() et la classe Runkit_Sandbox) n'est seulement disponible qu'avec PHP 5.1 ou les versions de PHP 5.0 spécialement patché et nécessite que la protection de thread soit activée. Voyez le fichier README inclus dans le paquetage runkit pour plus d'informations.

Liste de paramètres

filename

Fichier contenant du code PHP à être vérifié

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • runkit_lint() - Vérifie la syntaxe PHP de code PHP spécifié

runkit_import
runkit_lint
Fonctions runkit


Vérifie la syntaxe PHP de code PHP spécifié

runkit_lint_file
runkit_method_add
Fonctions runkit
PHP Manual

runkit_lint

(PECL runkit >= 0.7.0)

runkit_lint — Vérifie la syntaxe PHP de code PHP spécifié

Description

bool runkit_lint ( string $code )

La fonction runkit_lint() effectue une vérification de syntaxe (lint) sur le code PHP spécifié en testant les erreurs de scripts. Cette fonction est similaire à l'utilisation de php -l à partir de la ligne de commande à l'exception que runkit_lint() accepte le code actuel plutôt qu'un fichier.

Note: Support Sandbox (requis pour runkit_lint(), runkit_lint_file() et la classe Runkit_Sandbox) n'est seulement disponible qu'avec PHP 5.1 ou les versions de PHP 5.0 spécialement patché et nécessite que la protection de thread soit activée. Voyez le fichier README inclus dans le paquetage runkit pour plus d'informations.

Liste de paramètres

code

Code PHP à être vérifié

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • runkit_lint_file() - Vérifie la syntaxe PHP d'un fichier spécifié

runkit_lint_file
runkit_method_add
Fonctions runkit


Ajoute dynamiquement une nouvelle méthode à une classe donnée

runkit_lint
runkit_method_copy
Fonctions runkit
PHP Manual

runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée

Description

bool runkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode sera ajoutée

methodname

Le nom de la méthode à ajouter

args

Liste des arguments séparés par des virgules pour la nouvelle méthode créée

code

Le code à être évalué lors que methodname est appelé

flags

Le type de méthode à créer, peut être RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED ou RUNKIT_ACC_PRIVATE

Note: Ce paramètre est utilisé seulement en PHP 5, parce que, avant cette version, toutes les méthodes étaient publiques.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_method_add()

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// Crée un objet Example
$e = new Example();

// Ajoute une nouvelle méthode publique
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// ajoute 12 + 4
echo $e->add(12, 4);
?>

L'exemple ci-dessus va afficher :

16

Voir aussi

  • runkit_method_copy() - Copie une méthode d'une classe à une autre
  • runkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • runkit_method_remove() - Supprime dynamiquement la méthode donnée
  • runkit_method_rename() - Change dynamiquement le nom de la méthode donnée
  • runkit_function_add() - Ajoute une nouvelle fonction, similaire à create_function

runkit_lint
runkit_method_copy
Fonctions runkit


Copie une méthode d'une classe à une autre

runkit_method_add
runkit_method_redefine
Fonctions runkit
PHP Manual

runkit_method_copy

(PECL runkit >= 0.7.0)

runkit_method_copy — Copie une méthode d'une classe à une autre

Description

bool runkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

dClass

Classe destination pour la méthode copiée

dMethod

Nom de la méthode de destination

sClass

Classe source pour la méthode à copier

sMethod

Nom de la méthode à copier à partir de la classe source. Si ce paramètre est omis, la valeur de dMethod est utilisée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_method_copy()

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initialement, aucune méthode
}

// Copie la méthode example() de la classe Foo vers la classe Bar, comme étant baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'example');

// sortie de la fonction copiée
echo Bar::baz();
?>

L'exemple ci-dessus va afficher :

foo!

Voir aussi

  • runkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • runkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • runkit_method_remove() - Supprime dynamiquement la méthode donnée
  • runkit_method_rename() - Change dynamiquement le nom de la méthode donnée
  • runkit_function_copy() - Copie une fonction vers un nom de fonction nouveau

runkit_method_add
runkit_method_redefine
Fonctions runkit


Change dynamiquement le code de la méthode donnée

runkit_method_copy
runkit_method_remove
Fonctions runkit
PHP Manual

runkit_method_redefine

(PECL runkit >= 0.7.0)

runkit_method_redefine — Change dynamiquement le code de la méthode donnée

Description

bool runkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] )

Note: Cette fonction ne peut être utilisée pour manipuler la méthode en cours d'utilisation (ou chaînée).

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode sera redéfinie

methodname

Le nom de la méthode à redéfinir

args

Liste d'arguments séparés par des virgules pour la méthode redéfinie

code

Le nouveau code qui sera évalué lorsque methodname sera appelée

flags

La méthode redéfinie peut etre RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED ou RUNKIT_ACC_PRIVATE

Note: Ce paramètre est utilisé seulement en PHP 5, parce que, avant cette version, toutes les méthodes étaient publiques.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_method_redefine()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Crée un objet Example
$e = new Example();

// Sortie Example::foo() (avant la redéfinition)
echo "Avant : " . $e->foo();

// Redéfinition de la méthode 'foo'
runkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// Sortie Example::foo() (après la redéfinition)
echo "Après : " . $e->foo();
?>

L'exemple ci-dessus va afficher :

Avant : foo!
Après : bar!

Voir aussi

  • runkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • runkit_method_copy() - Copie une méthode d'une classe à une autre
  • runkit_method_remove() - Supprime dynamiquement la méthode donnée
  • runkit_method_rename() - Change dynamiquement le nom de la méthode donnée
  • runkit_function_redefine() - Remplace une définition de fonction avec une nouvelle implémentation

runkit_method_copy
runkit_method_remove
Fonctions runkit


Supprime dynamiquement la méthode donnée

runkit_method_redefine
runkit_method_rename
Fonctions runkit
PHP Manual

runkit_method_remove

(PECL runkit >= 0.7.0)

runkit_method_remove — Supprime dynamiquement la méthode donnée

Description

bool runkit_method_remove ( string $classname , string $methodname )

Note: Cette fonction ne peut être utilisée pour manipuler la méthode en cours d'utilisation (ou chaînée).

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode sera supprimée

methodname

Le nom de la méthode à supprimer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_method_remove()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Suppression de la méthode 'foo'
runkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

L'exemple ci-dessus va afficher :

bar

Voir aussi

  • runkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • runkit_method_copy() - Copie une méthode d'une classe à une autre
  • runkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • runkit_method_rename() - Change dynamiquement le nom de la méthode donnée
  • runkit_function_remove() - Enlève une définition de fonction

runkit_method_redefine
runkit_method_rename
Fonctions runkit


Change dynamiquement le nom de la méthode donnée

runkit_method_remove
runkit_return_value_used
Fonctions runkit
PHP Manual

runkit_method_rename

(PECL runkit >= 0.7.0)

runkit_method_rename — Change dynamiquement le nom de la méthode donnée

Description

bool runkit_method_rename ( string $classname , string $methodname , string $newname )

Note: Cette fonction ne peut être utilisée pour manipuler la méthode en cours d'utilisation (ou chaînée).

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode sera renommée

methodname

Le nom de la méthode à renommer

newname

Le nouveau nom à donner à la méthode renommée

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec runkit_method_rename()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Renomme la méthode 'foo' par 'bar'
runkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

L'exemple ci-dessus va afficher :

foo!

Voir aussi

  • runkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • runkit_method_copy() - Copie une méthode d'une classe à une autre
  • runkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • runkit_method_remove() - Supprime dynamiquement la méthode donnée
  • runkit_function_rename() - Change le nom d'une fonction

runkit_method_remove
runkit_return_value_used
Fonctions runkit


Détermine si la valeur de retour des fonctions courantes sera utilisée

runkit_method_rename
runkit_sandbox_output_handler
Fonctions runkit
PHP Manual

runkit_return_value_used

(PECL runkit >= 0.8.0)

runkit_return_value_used — Détermine si la valeur de retour des fonctions courantes sera utilisée

Description

bool runkit_return_value_used ( void )

Valeurs de retour

Retourne TRUE si la valeur de retour d'une fonction est utilisée par la portée appelante, FALSE autrement.

Exemples

Exemple #1 Exemple avec runkit_return_value_used()

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

runkit_method_rename
runkit_sandbox_output_handler
Fonctions runkit


Spécifie une fonction à capturer et/ou traiter la sortie à partir d'un runkit sandbox

runkit_return_value_used
runkit_superglobals
Fonctions runkit
PHP Manual

runkit_sandbox_output_handler

(PECL runkit >= 0.7.0)

runkit_sandbox_output_handler — Spécifie une fonction à capturer et/ou traiter la sortie à partir d'un runkit sandbox

Description

mixed runkit_sandbox_output_handler ( object $sandbox [, mixed $callback ] )

Normalement, toutes les sorties (comme avec echo() ou print()) seront écrites comme si elles avaient été écrites à partir de la portée du parent. Cependant, l'utilisation de runkit_sandbox_output_handler(), sorties générées par le sandbox (incluant les erreurs), peuvent être capturées par une fonction extérieure à sandbox.

Note: Support Sandbox (requis pour runkit_lint(), runkit_lint_file() et la classe Runkit_Sandbox) n'est seulement disponible qu'avec PHP 5.1 ou les versions de PHP 5.0 spécialement patché et nécessite que la protection de thread soit activée. Voyez le fichier README inclus dans le paquetage runkit pour plus d'informations.

Note: Dépréciée
Depuis la version de runkit 0.5, cette fonction est dépréciée et devrait être supprimée de ce paquetage avant la version 1.0. Le gestionnaire de sortie pour une instance donnée de Runkit_Sandbox devrait être lue/fixée en utilisant la syntaxe tableau de décalage montrée sur la page de définition de la classe Runkit_Sandbox.

Liste de paramètres

sandbox

Instance de la classe Runkit_Sandbox sur laquelle spécifier la gestion des sorties.

callback

Nom d'une fonction qui s'attend à un paramètre. La sortie générée par sandbox sera envoyée à cette fonction de rappel. Tout ce qui sera retourné par cette fonction sera affiché normalement. Si ce paramètre n'est pas passé, alors la gestion des sorties ne sera pas changée. Si une valeur incorrecte est passée, la gestion des sorties sera désactivée et sera retournée à l'affichage direct.

Valeurs de retour

Retourne le nom de la fonction de rappel précédemment définie en tant que gestion des sorties, ou FALSE si aucun gestionnaire n'avait été précédemment défini.

Exemples

Exemple #1 Alimentation de sortie vers une variable

<?php
function capture_output($str) {
  $GLOBALS['sandbox_output'] .= $str;

  return '';
}

$sandbox_output = '';

$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Bonjour\n");
$php->eval('var_dump("Excusez-moi");');
$php->die("Je me suis perdu.");
unset($php);

echo "Sandbox Complété\n\n";
echo $sandbox_output;
?>

L'exemple ci-dessus va afficher :

Sandbox Complété

Bonjour
string(9) "Excusez-moi"
Je me suis perdu.

runkit_return_value_used
runkit_superglobals
Fonctions runkit


Retourne un tableau indexé numériquement des variables superglobales enregistrées

runkit_sandbox_output_handler
scream
Fonctions runkit
PHP Manual

runkit_superglobals

(PECL runkit >= 0.7.0)

runkit_superglobals — Retourne un tableau indexé numériquement des variables superglobales enregistrées

Description

array runkit_superglobals ( void )

Valeurs de retour

Retourne un tableau indexé numériquement des variables superglobales enregistrée actuellement. C'est-à-dire _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Voir aussi

  • Portées des Variables

runkit_sandbox_output_handler
scream
Fonctions runkit


Casse l'opérateur de silence

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Exemples
    • Exemple d'illustration de scream
runkit_superglobals
Introduction
Affecte le comportement de PHP


Introduction

L'extension scream donne la possibilité de désactiver l'opérateur de contrôle d'erreur, de manière à ce que toutes les erreurs soient rapportées. Cette fonctionnalité est désactivée par une directive PHP.

scream
Installation/Configuration
scream


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
scream


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/scream

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration de scream
Nom | Défaut | Modifiable | Historique
scream.enabled | Off | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

scream.enabled int

Active ou non le module scream.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
Exemples
Installation/Configuration


Exemples

Sommaire

  • Exemple d'illustration de scream
Types de ressources
Exemple d'illustration de scream
scream


Exemple d'illustration de scream

Cet exemple montre comment l'extension scream affecte le comportement du gestionnaire d'erreur PHP.

Exemple #1 Activation et désactivation de scream, à l'exécution

<?php
// Affichage des erreurs
ini_set('display_errors', true);
error_reporting(E_ALL);

// Désactivation de scream : le code est silencieux
ini_set('scream.enabled', false);
echo "Opening http://example.com/not-existing-file\n";
@fopen('http://example.com/not-existing-file', 'r');

// Activation de scream : le code est verbeux
ini_set('scream.enabled', true);
echo "Opening http://example.com/not-existing-file\n";
@fopen('http://example.com/another-not-existing-file', 'r');
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Opening http://example.com/not-existing-file
Opening http://example.com/not-existing-file

Warning: fopen(http://example.com/another-not-existing-file): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in example.php on line 14

Note: Généralement, on active cette extension avec une directive de configuration php.ini, au lieu de la modifier dans le code PHP.

Exemples
WinCache
Exemples


Windows Cache pour PHP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Script de statistiques WinCache
    • WinCache Session Handler
    • Types de ressources
  • Constantes pré-définies
  • WinCache Fonctions
    • wincache_fcache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
    • wincache_fcache_meminfo — Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
    • wincache_lock — Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache opcode
    • wincache_ocache_meminfo — Extrait des informations sur l'utilisation du cache opcode
    • wincache_refresh_if_changed — Actualise les entrées du cache pour les fichiers mis en cache
    • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
    • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info — Retrieves information about files cached in the session cache
    • wincache_scache_meminfo — Retrieves information about session cache memory usage
    • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear — Deletes entire content of the user cache
    • wincache_ucache_dec — Decrements the value associated with the key
    • wincache_ucache_delete — Deletes variables from the user cache
    • wincache_ucache_exists — Checks if a variable exists in the user cache
    • wincache_ucache_get — Gets a variable stored in the user cache
    • wincache_ucache_inc — Increments the value associated with the key
    • wincache_ucache_info — Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo — Retrieves information about user cache memory usage
    • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock — Releases an exclusive lock on a given key
  • Compilation sous Windows
    • Prérequis
    • Compiler et construire
    • Verifying the build
Exemple d'illustration de scream
Introduction
Affecte le comportement de PHP


Introduction

L'extension Windows Cache pour PHP est un accélérateur PHP qui est utilisé pour augmenter la vitesse des applications PHP sous Windows et Windows Server. Une fois l'extension Windows Cache activée et chargée par le moteur PHP, les applications PHP peuvent tirer parti des fonctionnalités sans aucune modification de code.

L'extension Windows Cache comprend 5 types de caches. Ce qui suit décrit le but de chaque type de cache et les avantages qu'il procure.

  • Cache d'Opcode PHP - PHP est un moteur de traitement de script, qui lit un flux d'entrée de données qui contient du texte et / ou des instructions PHP et produit un autre flux de données, le plus souvent au format HTML. Cela signifie que sur un serveur Web le moteur PHP lit, analyse, compile et exécute un script PHP à chaque fois qu'il est demandé par un client Web. Les operations de lecture, d'analyse et de compilation ajoute une charge supplémentaire sur le processeur (CPU) et sur le système de fichier, ce qui affecte la performance globale d'une application web PHP. Le cache de bytecode PHP (Opcode) est utilisé pour stocker le bytecode du script compilé dans la mémoire partagée pour qu'il puisse être ré-utilisé par le moteur PHP lors des exécutions suivantes du même script.

  • Cache de fichiers - Même avec le cache d'opcode PHP activé, le moteur PHP doit accèder aux fichiers de script sur un système de fichier. Lorsque les scripts PHP sont stockés sur le système de fichier d'un ordinateur distant, les opérations sur ces fichiers introduisent une surcharge importante des performances. L'extension de Cache Windows pour PHP inclut un cache de fichier qui est utilisé pour stocker le contenu des fichiers de scripts PHP dans la mémoire partagée, ce qui réduit le nombre d'opérations effectuées par le moteur PHP sur le système de fichier.

  • Cache de résolution des chemins de fichier - Les scripts PHP incluent ou fonctionnent très souvent avec des fichiers en utilisant des chemins relatifs. Chaque chemin de fichier doit être normalisé en un chemin de fichier absolu par le moteur PHP. Quand une application PHP utilise de nombreux fichiers PHP et y accède par des chemins relatifs, l'opération de résolution des chemins peut impacter négativement les performances de l'application. L'extension de Cache Windows pour PHP fournit un cache de résolution des chemins de fichier, qui est utilisé pour stocker les correspondances entre les chemins de fichier relatifs et absolus, réduisant ainsi le nombre de résolutions que le moteur PHP devra effectuer.

  • Cache utilisateur (disponible depuis la version 1.1.0) - Les scripts PHP peuvent tirer profit du cache de mémoire partagée en utilisant l'API de cache utilisateur. Les objets PHP et les variables peuvent être stockées dans le cache utilisateur et réutilisés lors des requêtes suivantes. Ce cache peut être utilisé pour améliorer les performances des scripts PHP et pour partager les données entre plusieurs processus PHP.

  • Gestionnaire de session (disponible depuis la version 1.1.0) - Le gestionnaire de session WinCache peut être utilisé pour stocker les données de session PHP dans le cache de la mémoire partagée. Cela évite des opérations sur le système de fichier pour la lecture et l'écriture des données de session, ce qui améliore les performances lorsque un montant important de données est stocké dans la session PHP.

WinCache
Installation/Configuration
WinCache


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Script de statistiques WinCache
  • WinCache Session Handler
  • Types de ressources
Introduction
Pré-requis
WinCache


Pré-requis

L'extension est actuellement uniquement supportée sur les configurations suivantes :

Windows OS:

  • Windows XP SP3 avec IIS 5.1 et l'» Extension FastCGI
  • Windows Server 2003 avec IIS 6.0 et l'» Extension FastCGI
  • Windows Vista SP1 avec IIS 7.0 et le module FastCGI
  • Windows Server 2008 avec IIS 7.0 et le module FastCGI
  • Windows 7 avec IIS 7.5 et le module FastCGI
  • Windows Server 2008 R2 avec IIS 7.5 et le module FastCGI

PHP:

  • PHP 5.2.X, Non-thread-safe build
  • PHP 5.3 X86, Non-thread-safe VC9 build

Note: L'extension WinCache peut uniquement être utilisée lorsque IIS est configuré pour exécuter PHP via FastCGI.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/wincache.

Il y a deux packages pour cette extension: un package est pour les versions PHP 5.2.X, et l'autre package est pour PHP 5.3.X. Choisissez le package approprié à la version PHP utilisée.

Pour installer et activer l'extension, suivez ces étapes :

  1. Décompressez le package dans un endroit temporaire.

  2. Copiez le fichier php_wincache.dll dans le dossier d'extensions PHP. En général, ce dossier se nomme "ext" et est situé dans le même dossier avec tout les fichiers binaires PHP. Par exemple : C:\Program Files\PHP\ext.

  3. Avec un éditeur de texte, ouvrez le fichier php.ini, qui se trouve généralement dans le même dossier que tout les fichiers binaires PHP. Par exemple : C:\Program Files\PHP\php.ini.

  4. Ajoutez la ligne suivante à la fin du fichier php.ini : extension = php_wincache.dll.

  5. Enregistrez et fermez le fichier php.ini.

  6. Redémarrez le pool d'application IIS pour que PHP récupère les changements de configuration. Pour vérifier que l'extension a été activée, créez un fichier nommé phpinfo.php contenant un appel à la fonction phpinfo.

  7. Sauvez le fichier phpinfo.php dans le répertoire racine d'un site Web IIS qui utilise PHP, puis ouvrez un navigateur et faites une requête sur http://localhost/phpinfo.php. Cherchez une section appelée wincache dans la page retournée. Si l'extension est activée, alors la sortie de phpinfo listera les paramètres de configuration fournis par WinCache.

Note: Ne pas oublier de supprimer le fichier phpinfo.php du répertoire racine après avoir vérifié que l'extension a été activée.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Le tableau suivant répertorie et explique les paramètres de configuration fournis par l'extension WinCache :

Options de configuration WinCache
Nom | Défault | Minimum | Maximum | Modifiable | Changelog
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | Disponible depuis WinCache 1.0.0
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.fcachesize | "24" | "5" | "85" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.1.0
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | Disponible depuis WinCache 1.0.0
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | Disponible depuis WinCache 1.0.0
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | Disponible depuis WinCache 1.0.0
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | Disponible depuis WinCache 1.1.0
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Disponible depuis WinCache 1.1.0
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Disponible depuis WinCache 1.1.0
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

wincache.fcenabled boolean
Active ou désactive la fonctionnalité de cache de fichiers.
wincache.fcenabledfilter string
Définit une liste séparée par des virgules, d'identificateurs de site Web IIS où le cache de fichiers doit être activé ou désactivé. Ce paramètre fonctionne en conjonction avec wincache.fcenabled : Si wincache.fcenabled est réglé à 1, alors les sites listés dans wincache.fcenabledfilter auront le cache de fichiers désactivé; si wincache.fcenabled est réglé à 0, alors les sites listés dans wincache.fcenabledfilter auront le cache de fichiers activé.
wincache.fcachesize integer
Définit la taille maximale de mémoire (en mégaoctets) qui est allouée pour le cache de fichiers. Si la taille totale de tous les fichiers en cache dépasse la valeur spécifiée dans ce paramètre, alors la plupart des fichiers périmés seront retirés du cache de fichiers.
wincache.fcndetect boolean
Active ou désactive les notifications de détection de modification de fichier. Si la notification est supporté, alors elle sera utilisé pour rafraîchir l'opcode ainsi que les entrées du fichier présentes dans le cache aussitôt la modification correspondante des fichiers effectuée sur le système de fichiers. Si la notification n'est pas supportée, par exemple lors de l'utilisation de fichiers partagés par le réseau, alors Wincache vérifiera les modifications de fichiers à intervalle régulier spécifié par le paramètre wincache.chkinterval.
wincache.maxfilesize integer
Définit la taille maximale autorisée (en kilo-octets) pour un fichier unique qui sera mis en cache. Si un fichier a une taille supérieure à la valeur spécifiée, le fichier ne sera pas mis en cache. Ce paramètre s'applique à la mémoire cache de fichier seulement.
wincache.ocenabled boolean
Active ou désactive la fonctionnalité de cache opcode
wincache.ocenabledfilter string
Définit une liste séparée par des virgules, d'identificateurs de site Web IIS où le cache opcode doit être activé ou désactivé. Ce paramètre fonctionne en conjonction avec wincache.ocenabled : Si wincache.ocenabled est réglé à 1, alors les sites listés dans wincache.ocenabledfilter auront le cache opcode désactivé; si wincache.ocenabled est réglé à 0, alors les sites listés dans wincache.ocenabledfilter auront le cache opcode activé.
wincache.ocachesize integer
Définit la taille maximum de mémoire (en mégaoctets) qui est allouée pour le cache opcode. Si la taille du cache opcode dépasse la valeur spécifiée, alors l'opcode le plus ancien sera retiré du cache. Notez que la taille du cache d'opcode doit être au moins 3 fois plus grande que la taille du cache de fichiers. Si ce n'est pas le cas la taille du cache opcode sera automatiquement augmentée.
wincache.filecount integer
Définit combien de fichiers sont censés être mis en cache par l'extension, de sorte à ce qu'un montant de mémoire suffisant soit alloué au démarrage. Si le nombre de fichiers excède la valeur spécifiée, WinCache ré-allouera plus de mémoire comme demandé.
wincache.chkinterval integer
Définit la fréquence (en secondes) à laquelle l'extension vérifiera les changements de fichier de façon à rafraîchir le cache. Mettre cette option à 0 permet de désactiver le rafraîchissement du cache. Les changements de fichiers ne seront pas reflétés dans le cache à moins que l'entrée de cache soit supprimée par le récupérateur, que le pool d'applications IIS soit recyclé, ou que la fonction wincache_refresh_if_changed soit appelée.
wincache.ttlmax integer
Définit le temps de vie maximale (en secondes) pour une entrée de cache sans être utilisée. Définir ce paramètre à 0 désactive la récupérateur de cache, de façon à ce que les entrées du cache ne soient jamais supprimées du cache pendant la durée de vie du processus de travail IIS.
wincache.enablecli boolean
Définit si le cache est activé lorsque PHP fonctionne en ligne de commande (CLI) .
wincache.ignorelist string

Définit une liste de fichiers qui ne doivent pas être mis en cache par l'extension. La liste des fichiers est spécifiée en utilisant des noms de fichiers uniquement, séparés par le symbole pipe - "|".

Exemple #1 wincache.ignorelist exemple

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Définit une chaîne qui sera utilisée lors du nommage des objets spécifiques à l'extension qui seront stockés dans la mémoire partagée. Ce paramètre est utilisé afin d'éviter les conflits qui peuvent être provoqués si d'autres applications dans un processus de travail IIS tente d'accéder à la mémoire partagée. La longueur de la chaîne namesalt ne peut être supérieure à 8 caractères.
wincache.ucenabled boolean
Active ou désactive la fonctionnalité de cache utilisateur.
wincache.ucachesize integer
Définit la taille maximale de mémoire (en mégaoctets) qui est allouée pour le cache utilisateur. Si la taille totale des variables stockées dans le cache utilisateur dépasse la valeur spécifiée, alors les plus anciennes variables seront retirées du cache.
wincache.scachesize integer
Définie la taille maximale de mémoire, en méga-octets, à allouer pour le cache de la session. Si la taille totale des données stockées dans le cache de la session excède la valeur spécifiée, alors les données les plus anciennes seront supprimées du cache.

Installation
Script de statistiques WinCache
Installation/Configuration


Script de statistiques WinCache

Le package d'installation pour WinCache inclut un script PHP, wincache.php, qui peut être utilisé pour obtenir des informations et des statistiques sur le cache.

Si l'extension WinCache a été installée via l'installeur de Microsoft Web Platform, alors ce script se trouve dans %SystemDrive%\Program Files\IIS\Windows Cache for PHP\. Sur une version 64 bits du système d'exploitation Windows Server, le script se trouve dans %SystemDrive%\Program Files (x86)\IIS\Windows Cache for PHP. Si l'extension a été installée manuellement, alors le fichier wincache.php sera situé dans le même dossier à partir duquel le contenu du package d'installation a été extrait.

Pour utiliser wincache.php, copiez-le dans le dossier racine d'un site Web ou dans n'importe quel sous-dossier. Pour protéger le script, ouvrez-le dans n'importe quel éditeur et remplacez les valeurs des constantes USERNAME et PASSWORD. Si n'importe quel autre authentification IIS est activée sur le serveur, alors suivez les instructions dans les commentaires :

Exemple #1 Configuration de l'authentification pour wincache.php

/**
 * ======================== CONFIGURATION SETTINGS ==============================
 * If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
 * If you use authentication then replace the default password.
 */
define('USE_AUTHENTICATION', 1);
define('USERNAME', 'wincache');
define('PASSWORD', 'wincache');

/**
 * The Basic PHP authentication will work only when IIS is configured to support
 * Anonymous Authentication' and nothing else. If IIS is configured to support/use
 * any other kind of authentication like Basic/Negotiate/Digest etc, this will not work.
 * In that case use the array below to define the names of users in your
 * domain/network/workgroup which you want to grant access to.
 */
$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3');

/**
 * If the array contains string 'all', then all the users authenticated by IIS
 * will have access to the page. Uncomment the below line and comment above line
 * to grant access to all users who gets authenticated by IIS.
 */
/* $user_allowed = array('all'); */

/** ===================== END OF CONFIGURATION SETTINGS ========================== */

Note: Protégez toujours le script wincache.php en utilisant soit le mécanisme d'authentification intégré ou le mécanisme d'authentification du serveur. Laissez ce script non protégé peut compromettre la sécurité de votre application web et du serveur.

Configuration à l'exécution
WinCache Session Handler
Installation/Configuration


WinCache Session Handler

Le gestionnaire de session WinCache (disponible depuis WinCache 1.1.0) peut être utilisé pour configurer PHP pour stocker les données de session dans la mémoire partagée du cache de session. L'utilisation de la mémoire partagée au lieu de la session par défaut aide à améliorer les performances des applications PHP qui stockent de grandes quantités de données dans des objets de session. Le cache de session Wincache utilise des fichiers basés sur la mémoire partagée, ce qui assure que les données de session ne seront pas perdues lors du recyclage de la file d'attente des applications IIS.

Pour configurer PHP pour utiliser le gestionnaire de session WinCache mettez le paramètre session.save_handler du fichier php.ini à wincache. Par défaut, l'endroit où sont stockés les fichiers temporaires sous Windows est utilisé pour stocker les données de session. Pour changer cet endroit, utilisez la directive session.save_path.

Exemple #1 Activer le gestionnaire de session WinCache

session.save_handler = wincache
session.save_path = C:\inetpub\temp\session\

Script de statistiques WinCache
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

WinCache Session Handler
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
WinCache Fonctions
WinCache


WinCache Fonctions

Sommaire

  • wincache_fcache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo — Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_lock — Acquires an exclusive lock on a given key
  • wincache_ocache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo — Extrait des informations sur l'utilisation du cache opcode
  • wincache_refresh_if_changed — Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
  • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
  • wincache_scache_info — Retrieves information about files cached in the session cache
  • wincache_scache_meminfo — Retrieves information about session cache memory usage
  • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
  • wincache_ucache_clear — Deletes entire content of the user cache
  • wincache_ucache_dec — Decrements the value associated with the key
  • wincache_ucache_delete — Deletes variables from the user cache
  • wincache_ucache_exists — Checks if a variable exists in the user cache
  • wincache_ucache_get — Gets a variable stored in the user cache
  • wincache_ucache_inc — Increments the value associated with the key
  • wincache_ucache_info — Retrieves information about data stored in the user cache
  • wincache_ucache_meminfo — Retrieves information about user cache memory usage
  • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_unlock — Releases an exclusive lock on a given key
Constantes pré-définies
wincache_fcache_fileinfo
WinCache


Extrait des informations sur les fichiers mis en cache dans le cache de fichiers

WinCache Fonctions
wincache_fcache_meminfo
WinCache Fonctions
PHP Manual

wincache_fcache_fileinfo

(PECL wincache >= 1.0.0)

wincache_fcache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache de fichiers

Description

array wincache_fcache_fileinfo ([ bool $summaryonly = false ] )

Extrait des informations sur le contenu du cache de fichiers et son utilisation.

Liste de paramètres

summaryonly

Si le tableau retourné doit contenir des informations sur chaque entrée du cache en plus du résumé sur les fichiers du cache.

Valeurs de retour

Tableau de méta-données sur le cache de fichier ou FALSE si une erreur survient

Le tableau retourné par cette fonction contient les éléments suivants :

  • total_cache_uptime - Temps d'activité total en secondes du cache de fichiers
  • total_file_count - Nombre total de fichiers actuellement dans le cache de fichiers
  • total_hit_count - Nombre de fois où les fichiers ont été servis à partir du cache du fichiers
  • total_miss_count - Nombre de fois que les fichiers n'ont pas été trouvés dans le cache de fichiers

  • file_entries - Tableau contenant les informations sur tous les fichiers mis en cache:

    • file_name - Nom et chemin absolu du fichier en cache
    • add_time - Temps en secondes depuis que le fichier a été ajouté au cache de fichiers
    • use_time - Temps en secondes depuis que le fichier a été consulté dans le cache de fichier
    • last_check - Temps en secondes depuis la dernière vérification de modifications
    • hit_count - Nombre de fois que le fichier a été servis à partir du cache
    • file_size - Taille en bytes du fichier caché

Exemples

Exemple #1 Un exemple de wincache_fcache_fileinfo()

<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(   [total_cache_uptime] => 3234
    [total_file_count] => 5
    [total_hit_count] => 0
    [total_miss_count] => 1
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 1
                    [use_time] => 0
                    [last_check] => 1
                    [hit_count] => 1
                    [file_size] => 2435
                )
            [2] => Array (...iterates for each cached file)
        )
)

Voir aussi

  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

WinCache Fonctions
wincache_fcache_meminfo
WinCache Fonctions


Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.

wincache_fcache_fileinfo
wincache_lock
WinCache Fonctions
PHP Manual

wincache_fcache_meminfo

(PECL wincache >= 1.0.0)

wincache_fcache_meminfo — Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.

Description

array wincache_fcache_meminfo ( void )

Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.

Valeurs de retour

Tableau de méta-données sur l'utilisation de la mémoire du cache de fichiers ou FALSE si une erreur survient

Le tableau retourné par cette fonction contient les éléments suivants:

  • memory_total - Quantité de mémoire en octets allouée pour le cache de fichiers
  • memory_free - Quantité de mémoire libre en octets disponible pour le cache de fichiers
  • num_used_blks - Nombre de blocs mémoire utilisés par le cache de fichiers
  • num_free_blks - Nombre de blocs mémoire libres disponibles pour le cache de fichiers
  • memory_overhead - Quantité de mémoire en bytes utilisée pour la structure interne du cache de fichiers

Exemples

Exemple #1 Un exemple de wincache_fcache_meminfo()

<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [memory_total] => 134217728
    [memory_free] => 131339120
    [num_used_blks] => 361
    [num_free_blks] => 3
    [memory_overhead] => 5856
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_fcache_fileinfo
wincache_lock
WinCache Fonctions


Acquires an exclusive lock on a given key

wincache_fcache_meminfo
wincache_ocache_fileinfo
WinCache Fonctions
PHP Manual

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquires an exclusive lock on a given key

Description

bool wincache_lock ( string $key [, bool $isglobal = false ] )

Obtains an exclusive lock on a given key. The execution of the current script will be blocked until the lock can be obtained. Once the lock is obtained, the other scripts that try to request the lock by using the same key will be blocked, until the current script releases the lock by using wincache_unlock().

Avertissement

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Liste de paramètres

key

Name of the key in the cache to get the lock on.

isglobal

Controls whether the scope of the lock is system-wide or local. Local locks are scoped to the application pool in IIS FastCGI case or to all php processes that have the same parent process identifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Using wincache_lock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Voir aussi

  • wincache_unlock() - Releases an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_fcache_meminfo
wincache_ocache_fileinfo
WinCache Fonctions


Extrait des informations sur les fichiers mis en cache dans le cache opcode

wincache_lock
wincache_ocache_meminfo
WinCache Fonctions
PHP Manual

wincache_ocache_fileinfo

(PECL wincache >= 1.0.0)

wincache_ocache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache opcode

Description

array wincache_ocache_fileinfo ([ bool $summaryonly = false ] )

Extrait des informations sur le contenu du cache opcode et son utilisation.

Liste de paramètres

summaryonly

Contrôle si le tableau retourné doit contenir des informations sur les entrées individuelles du cache en plus du résumé sur le cache opcode.

Valeurs de retour

Tableau de méta-données sur le cache opcode ou FALSE si une erreur survient

Le tableau retourné par cette fonction contient les éléments suivants:

  • total_cache_uptime - Temps d'activité total en secondes du cache opcode
  • total_file_count - Nombre total de fichiers actuellement dans le cache opcode
  • total_hit_count - Nombre total de fois où l'opcode compilé a été servis par le cache
  • total_miss_count - Nombre de fois où l'opcode compilé n'a pas été trouvé dans le cache
  • is_local_cache - true si les méta-données du cache sont pour une instance de cache local, false si les méta-données sont pour le cache global.

  • file_entries - Tableau contenant les informations sur tous les fichiers mis en cache:

    • file_name - Nom de fichier absolu du fichier en cache
    • add_time - Temps en secondes depuis l'ajout du fichier dans le cache opcode
    • use_time - Temps en secondes depuis la consultation du fichier dans le cache opcode
    • last_check - Temps en secondes depuis où le fichier a été vérifié pour les modifications
    • hit_count - Nombre de fois où le fichier a été servis par le cache
    • function_count - Nombre de fonctions dans le cache
    • class_count - Nombre de classes dans le cache

Exemples

Exemple #1 Un exemple de wincache_ocache_fileinfo()

<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_lock
wincache_ocache_meminfo
WinCache Fonctions


Extrait des informations sur l'utilisation du cache opcode

wincache_ocache_fileinfo
wincache_refresh_if_changed
WinCache Fonctions
PHP Manual

wincache_ocache_meminfo

(PECL wincache >= 1.0.0)

wincache_ocache_meminfo — Extrait des informations sur l'utilisation du cache opcode

Description

array wincache_ocache_meminfo ( void )

Extrait des informations sur l'utilisation de la mémoire par le cache opcode.

Valeurs de retour

Tableau de méta-données sur l'utilisation de la mémoire cache opcode ou FALSE si une erreur survient

Le tableau retourné par cette fonction contient les éléments suivants :

  • memory_total - Quantité de mémoire en octets, allouée pour le cache opcode
  • memory_free - Quantité de mémoire libre en octets, disponible pour le cache opcode
  • num_used_blks - Nombre de blocs mémoire utilisés par le cache opcode
  • num_free_blks - Nombre de blocs mémoire libres disponibles pour le cache opcode
  • memory_overhead - Quantité de mémoire en octets utilisée pour la structure interne du cache opcode

Exemples

Exemple #1 Un exemple de wincache_ocache_meminfo()

<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [memory_total] => 134217728
    [memory_free] => 112106972
    [num_used_blks] => 15469
    [num_free_blks] => 4
    [memory_overhead] => 247600
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ocache_fileinfo
wincache_refresh_if_changed
WinCache Fonctions


Actualise les entrées du cache pour les fichiers mis en cache

wincache_ocache_meminfo
wincache_rplist_fileinfo
WinCache Fonctions
PHP Manual

wincache_refresh_if_changed

(PECL wincache >= 1.0.0)

wincache_refresh_if_changed — Actualise les entrées du cache pour les fichiers mis en cache

Description

bool wincache_refresh_if_changed ([ array $files ] )

Actualise les entrées du cache pour les fichiers dont les noms ont été passés dans les arguments d'entrée. Si aucun argument n'est précisé, alors, actualise toutes les entrées du cache.

Liste de paramètres

files

Tableau de noms de fichiers pour les fichiers qui ont besoin d'être actualisés. Un chemin de fichier absolu ou relatif peut être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

WinCache effectue des contrôles réguliers sur les fichiers mis en cache pour veiller à ce que, si un fichier ai changé, l'entrée correspondante dans la mémoire cache sois mis à jour. Par défaut, cette vérification est effectuée toutes les 30 secondes. Si par exemple un script PHP met à jour un autre script PHP où les configurations de l'application son stockés, alors il peu arriver que après les changement de configuration soient sauvés, l'application utilise toujours les anciens paramètres pour quelque temps jusqu'à ce que le cache sois actualisé. Dans ce cas, il est préférable d'actualiser le cache juste après que le fichier ai été modifié. L'exemple qui suis montre comment cela peut être effectué.

Exemple #1 Un exemple de wincache_refresh_if_changed()

<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ocache_meminfo
wincache_rplist_fileinfo
WinCache Fonctions


Retrieves information about resolve file path cache

wincache_refresh_if_changed
wincache_rplist_meminfo
WinCache Fonctions
PHP Manual

wincache_rplist_fileinfo

(PECL wincache >= 1.0.0)

wincache_rplist_fileinfo — Retrieves information about resolve file path cache

Description

array wincache_rplist_fileinfo ( void )

Retrieves information about cached mappings between relative file paths and corresponding absolute file paths.

Valeurs de retour

Array of meta data about the resolve file path cache ou FALSE si une erreur survient

The array returned by this function contains the following elements:

  • total_file_count - total number of file path mappings stored in the cache

  • rplist_entries - an array that contains the information about all the cached file paths:

    • resolve_path - path to a file
    • subkey_data - corresponding absolute path to a file

Exemples

Exemple #1 A wincache_rplist_fileinfo() example

<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [total_file_count] => 5
    [rplist_entries] => Array
        (
            [1] => Array
                (
                    [resolve_path] => checkcache.php
                    [subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
                )

            [2] => Array (...iterates for each cached file)
        )
)

Voir aussi

  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_refresh_if_changed
wincache_rplist_meminfo
WinCache Fonctions


Retrieves information about memory usage by the resolve file path cache

wincache_rplist_fileinfo
wincache_scache_info
WinCache Fonctions
PHP Manual

wincache_rplist_meminfo

(PECL wincache >= 1.0.0)

wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache

Description

array wincache_rplist_meminfo ( void )

Retrieves information about memory usage by resolve file path cache.

Valeurs de retour

Array of meta data that describes memory usage by resolve file path cache. ou FALSE si une erreur survient

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the resolve file path cache
  • memory_free - amount of free memory in bytes available for the resolve file path cache
  • num_used_blks - number of memory blocks used by the resolve file path cache
  • num_free_blks - number of free memory blocks available for the resolve file path cache
  • memory_overhead - amount of memory in bytes used for the internal structures of resolve file path cache

Exemples

Exemple #1 A wincache_rplist_meminfo() example

<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [memory_total] => 9437184
    [memory_free] => 9416744
    [num_used_blks] => 23
    [num_free_blks] => 1
    [memory_overhead] => 416
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_rplist_fileinfo
wincache_scache_info
WinCache Fonctions


Retrieves information about files cached in the session cache

wincache_rplist_meminfo
wincache_scache_meminfo
WinCache Fonctions
PHP Manual

wincache_scache_info

(PECL wincache >= 1.1.0)

wincache_scache_info — Retrieves information about files cached in the session cache

Description

array wincache_scache_info ([ bool $summaryonly = false ] )

Retrieves information about session cache content and its usage.

Liste de paramètres

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the session cache summary.

Valeurs de retour

Array of meta data about session cache ou FALSE si une erreur survient

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the session cache has been active
  • total_item_count - total number of elements that are currently in the session cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • scache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Exemples

Exemple #1 A wincache_scache_info() example

<pre>
<?php
print_r(wincache_scache_info());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [scache_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_rplist_meminfo
wincache_scache_meminfo
WinCache Fonctions


Retrieves information about session cache memory usage

wincache_scache_info
wincache_ucache_add
WinCache Fonctions
PHP Manual

wincache_scache_meminfo

(PECL wincache >= 1.1.0)

wincache_scache_meminfo — Retrieves information about session cache memory usage

Description

array wincache_scache_meminfo ( void )

Retrieves information about memory usage by session cache.

Valeurs de retour

Array of meta data about session cache memory usage ou FALSE si une erreur survient

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the session cache
  • memory_free - amount of free memory in bytes available for the session cache
  • num_used_blks - number of memory blocks used by the session cache
  • num_free_blks - number of free memory blocks available for the session cache
  • memory_overhead - amount of memory in bytes used for the session cache internal structures

Exemples

Exemple #1 A wincache_scache_meminfo() example

<pre>
<?php
print_r(wincache_scache_meminfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_scache_info
wincache_ucache_add
WinCache Fonctions


Adds a variable in user cache only if variable does not already exist in the cache

wincache_scache_meminfo
wincache_ucache_cas
WinCache Fonctions
PHP Manual

wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache

Description

bool wincache_ucache_add ( mixed $key , mixed $value [, int $ttl = 0 ] )

Adds a variable in user cache, only if this variable doesn't already exist in the cache. The added variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Liste de paramètres

key

Store the variable using this key name. If a variable with same key is already present the function will fail and return FALSE. key is case sensitive. To override the value even if key is present use wincache_ucache_set() function instad. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Valeurs de retour

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Exemples

Exemple #1 wincache_ucache_add() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)
string(3) "BAR"

Exemple #2 wincache_ucache_add() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

L'exemple ci-dessus va afficher :

array(0) { }
array(4) {
  ["green"]=> int(-1)
  ["Blue"]=> int(-1)
  ["yellow"]=> int(-1)
  ["cyan"]=> int(-1)
}
string(1) "6"

Voir aussi

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_scache_meminfo
wincache_ucache_cas
WinCache Fonctions


Compares the variable with old value and assigns new value to it

wincache_ucache_add
wincache_ucache_clear
WinCache Fonctions
PHP Manual

wincache_ucache_cas

(PECL wincache >= 1.1.0)

wincache_ucache_cas — Compares the variable with old value and assigns new value to it

Description

mixed wincache_ucache_cas ( string $key , long $old_value , long $new_value )

Compares the variable associated with the key with old_value and if it matches then assigns the new_value to it.

Liste de paramètres

key

The key that is used to store the variable in the cache. key is case sensitive.

old_value

Old value of the variable pointed by key in the user cache. The value should be of type long, otherwise the function returns FALSE.

new_value

New value which will get assigned to variable pointer by key if a match is found. The value should be of type long, otherwise the function returns FALSE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Using wincache_ucache_cas()

<?php
wincache_ucache_set('counter', 2922);
var_dump(wincache_ucache_cas('counter', 2922, 1));
var_dump(wincache_ucache_get('counter'));
?>

L'exemple ci-dessus va afficher :

bool(true)
int(1)

Voir aussi

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_dec() - Decrements the value associated with the key

wincache_ucache_add
wincache_ucache_clear
WinCache Fonctions


Deletes entire content of the user cache

wincache_ucache_cas
wincache_ucache_dec
WinCache Fonctions
PHP Manual

wincache_ucache_clear

(PECL wincache >= 1.1.0)

wincache_ucache_clear — Deletes entire content of the user cache

Description

bool wincache_ucache_clear ( void )

Clears/deletes all the values stored in the user cache.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 using wincache_ucache_clear()

<?php
wincache_ucache_set('green', 1);
wincache_ucache_set('red', 2);
wincache_ucache_set('orange', 4);
wincache_ucache_set('blue', 8);
wincache_ucache_set('cyan', 16);
$array1 = array('green', 'red', 'orange', 'blue', 'cyan');
var_dump(wincache_ucache_get($array1));
var_dump(wincache_ucache_clear());
var_dump(wincache_ucache_get($array1));
?>

L'exemple ci-dessus va afficher :

array(5) { ["green"]=> int(1)
           ["red"]=> int(2)
           ["orange"]=> int(4)
           ["blue"]=> int(8)
           ["cyan"]=> int(16) }
bool(true)
bool(false)

Voir aussi

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_cas
wincache_ucache_dec
WinCache Fonctions


Decrements the value associated with the key

wincache_ucache_clear
wincache_ucache_delete
WinCache Fonctions
PHP Manual

wincache_ucache_dec

(PECL wincache >= 1.1.0)

wincache_ucache_dec — Decrements the value associated with the key

Description

mixed wincache_ucache_dec ( string $key [, long $dec_by = 1 [, bool &$success ]] )

Decrements the value associated with the key by 1 or as specified by dec_by.

Liste de paramètres

key

The key that was used to store the variable in the cache. key is case sensitive.

dec_by

The value by which the variable associated with the key will get decremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns FALSE.

success

Will be set to TRUE on success and FALSE on failure.

Valeurs de retour

Returns the decremented value on success and FALSE on failure.

Exemples

Exemple #1 Using wincache_ucache_dec()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_dec('counter', 2923, $success));
var_dump($success);
?>

L'exemple ci-dessus va afficher :

int(2922)
bool(true)

Voir aussi

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it

wincache_ucache_clear
wincache_ucache_delete
WinCache Fonctions


Deletes variables from the user cache

wincache_ucache_dec
wincache_ucache_exists
WinCache Fonctions
PHP Manual

wincache_ucache_delete

(PECL wincache >= 1.1.0)

wincache_ucache_delete — Deletes variables from the user cache

Description

bool wincache_ucache_delete ( mixed $key )

Deletes the elements in the user cache pointed by key.

Liste de paramètres

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

If key is an array then the function returns FALSE if every element of the array fails to get deleted from the user cache, otherwise returns an array which consists of all the keys that are deleted.

Exemples

Exemple #1 Using wincache_ucache_delete() with key as a string

<?php
wincache_ucache_set('foo', 'bar');
var_dump(wincache_ucache_delete('foo'));
var_dump(wincache_ucache_exists('foo'));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

Exemple #2 Usingwincache_ucache_delete() with key as an array

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'blue', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

L'exemple ci-dessus va afficher :

array(4) { [0]=> string(5) "green"
           [1]=> string(4) "Blue"
           [2]=> string(6) "yellow"
           [3]=> string(4) "cyan" }

Exemple #3 Using wincache_ucache_delete() with key as an array where some elements cannot be deleted

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('orange', 'red', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

L'exemple ci-dessus va afficher :

array(2) { [0]=> string(6) "yellow"
           [1]=> string(4) "cyan" }

Voir aussi

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_dec
wincache_ucache_exists
WinCache Fonctions


Checks if a variable exists in the user cache

wincache_ucache_delete
wincache_ucache_get
WinCache Fonctions
PHP Manual

wincache_ucache_exists

(PECL wincache >= 1.1.0)

wincache_ucache_exists — Checks if a variable exists in the user cache

Description

bool wincache_ucache_exists ( string $key )

Checks if a variable with the key exists in the user cache or not.

Liste de paramètres

key

The key that was used to store the variable in the cache. key is case sensitive.

Valeurs de retour

Returns TRUE if variable with the key exitsts, otherwise returns FALSE.

Exemples

Exemple #1 Using wincache_ucache_exists()

<?php
if (!wincache_ucache_exists('green'))
    wincache_ucache_set('green', 1);
var_dump(wincache_ucache_exists('green'));
?>

L'exemple ci-dessus va afficher :

bool(true)

Voir aussi

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_delete
wincache_ucache_get
WinCache Fonctions


Gets a variable stored in the user cache

wincache_ucache_exists
wincache_ucache_inc
WinCache Fonctions
PHP Manual

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get — Gets a variable stored in the user cache

Description

mixed wincache_ucache_get ( mixed $key [, bool &$success ] )

Gets a variable stored in the user cache.

Liste de paramètres

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys. In this case the return value will be an array of values of each element in the key array.

success

Will be set to TRUE on success and FALSE on failure.

Valeurs de retour

If key is a string, the function returns the value of the variable stored with that key. The success is set to TRUE on success and to FALSE on failure.

The key is an array, the parameter success is always set to TRUE. The returned array (name => value pairs) will contain only those name => value pairs for which the get operation in user cache was successful. If none of the keys in the key array finds a match in the user cache an empty array will be returned.

Exemples

Exemple #1 wincache_ucache_get() with key as a string

<?php
wincache_ucache_add('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

L'exemple ci-dessus va afficher :

string(4) "blue"
bool(true)

Exemple #2 wincache_ucache_get() with key as an array

<?php
$array1 = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

L'exemple ci-dessus va afficher :

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

Voir aussi

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_exists
wincache_ucache_inc
WinCache Fonctions


Increments the value associated with the key

wincache_ucache_get
wincache_ucache_info
WinCache Fonctions
PHP Manual

wincache_ucache_inc

(PECL wincache >= 1.1.0)

wincache_ucache_inc — Increments the value associated with the key

Description

mixed wincache_ucache_inc ( string $key [, long $inc_by = 1 [, bool &$success ]] )

Increments the value associated with the key by 1 or as specified by inc_by.

Liste de paramètres

key

The key that was used to store the variable in the cache. key is case sensitive.

inc_by

The value by which the variable associated with the key will get incremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns FALSE.

success

Will be set to TRUE on success and FALSE on failure.

Valeurs de retour

Returns the incremented value on success and FALSE on failure.

Exemples

Exemple #1 Using wincache_ucache_inc()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_inc('counter', 2921, $success));
var_dump($success);
?>

L'exemple ci-dessus va afficher :

int(2922)
bool(true)

Voir aussi

  • wincache_ucache_dec() - Decrements the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it

wincache_ucache_get
wincache_ucache_info
WinCache Fonctions


Retrieves information about data stored in the user cache

wincache_ucache_inc
wincache_ucache_meminfo
WinCache Fonctions
PHP Manual

wincache_ucache_info

(PECL wincache >= 1.1.0)

wincache_ucache_info — Retrieves information about data stored in the user cache

Description

array wincache_ucache_info ([ bool $summaryonly = false [, string $key ]] )

Retrieves information about data stored in the user cache.

Liste de paramètres

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the user cache summary.

key

The key of an entry in the user cache. If specified then the returned array will contain information only about that cache entry. If not specified and summaryonly is set to false then the returned array will contain information about all entries in the cache.

Valeurs de retour

Array of meta data about user cache ou FALSE si une erreur survient

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the user cache has been active
  • total_item_count - total number of elements that are currently in the user cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • ucache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • is_session - indicates if the data is a session variable
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Exemples

Exemple #1 Using wincache_ucache_info()

<?php
wincache_ucache_get('green');
wincache_ucache_set('green', 2922);
wincache_ucache_get('green');
wincache_ucache_get('green');
wincache_ucache_get('green');
print_r(wincache_ucache_info());
?>

L'exemple ci-dessus va afficher :

Array
( ["total_cache_uptime"] => int(0)
  ["is_local_cache"] => bool(false)
  ["total_item_count"] => int(1)
  ["total_hit_count"] => int(3)
  ["total_miss_count"] => int(1)
  ["ucache_entries"] => Array(1)
    ( [1] => Array(6)
      (
        ["key_name"] => string(5) "green"
        ["value_type"] => string(4) "long"
        ["is_session"] => int(0)
        ["ttl_seconds"] => int(0)
        ["age_seconds"] => int(0)
        ["hitcount"] => int(3)
       )
    )
)

Voir aussi

  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_ocache_meminfo() - Extrait des informations sur l'utilisation du cache opcode
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ucache_inc
wincache_ucache_meminfo
WinCache Fonctions


Retrieves information about user cache memory usage

wincache_ucache_info
wincache_ucache_set
WinCache Fonctions
PHP Manual

wincache_ucache_meminfo

(PECL wincache >= 1.1.0)

wincache_ucache_meminfo — Retrieves information about user cache memory usage

Description

array wincache_ucache_meminfo ( void )

Retrieves information about memory usage by user cache.

Valeurs de retour

Array of meta data about user cache memory usage ou FALSE si une erreur survient

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the user cache
  • memory_free - amount of free memory in bytes available for the user cache
  • num_used_blks - number of memory blocks used by the user cache
  • num_free_blks - number of free memory blocks available for the user cache
  • memory_overhead - amount of memory in bytes used for the user cache internal structures

Exemples

Exemple #1 A wincache_ucache_meminfo() example

<pre>
<?php
print_r(wincache_ucache_meminfo());
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Voir aussi

  • wincache_fcache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  • wincache_fcache_meminfo() - Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  • wincache_ocache_fileinfo() - Extrait des informations sur les fichiers mis en cache dans le cache opcode
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Actualise les entrées du cache pour les fichiers mis en cache
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage

wincache_ucache_info
wincache_ucache_set
WinCache Fonctions


Adds a variable in user cache and overwrites a variable if it already exists in the cache

wincache_ucache_meminfo
wincache_unlock
WinCache Fonctions
PHP Manual

wincache_ucache_set

(PECL wincache >= 1.1.0)

wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache

Description

bool wincache_ucache_set ( mixed $key , mixed $value [, int $ttl = 0 ] )

Adds a variable in user cache. Overwrites a variable if it already exists in the cache. The added or updated variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Liste de paramètres

key

Store the variable using this key name. If a variable with same key is already present the function will overwrite the previous value with the new one. key is case sensitive. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass NULL as value while using array as key.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Valeurs de retour

If key is string, the function returns TRUE on success and FALSE on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns FALSE;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Exemples

Exemple #1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1'
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

L'exemple ci-dessus va afficher :

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

Exemple #2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

L'exemple ci-dessus va afficher :

array(0) {}
array(0) {}
string(1) "6"

Voir aussi

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache

wincache_ucache_meminfo
wincache_unlock
WinCache Fonctions


Releases an exclusive lock on a given key

wincache_ucache_set
Compilation sous Windows
WinCache Fonctions
PHP Manual

wincache_unlock

(PECL wincache >= 1.1.0)

wincache_unlock — Releases an exclusive lock on a given key

Description

bool wincache_unlock ( string $key )

Releases an exclusive lock that was obtained on a given key by using wincache_lock(). If any other process was blocked waiting for the lock on this key, that process will be able to obtain the lock.

Avertissement

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Liste de paramètres

key

Name of the key in the cache to release the lock on.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Using wincache_unlock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>

Voir aussi

  • wincache_lock() - Acquires an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache

wincache_ucache_set
Compilation sous Windows
WinCache Fonctions


Compilation sous Windows

Sommaire

  • Prérequis
  • Compiler et construire
  • Verifying the build
wincache_unlock
Prérequis
WinCache


Prérequis

Pour compiler l'extension WinCache, il faudra:

  1. le code source de PHP
  2. un environnement de compilation PHP
  3. le code source de WinCache

Pour compléter les deux premières étapes, suivez le guide étape par étape » Compiler PHP sous Windows.

Pour obtenir le code source de WinCache, suivez les instructions décrites dans Télécharger des extensions PECL.

Compilation sous Windows
Compiler et construire
Compilation sous Windows


Compiler et construire

Les étapes suivantes décrivent comment compiler et construire WinCache sous Windows:

  1. Ouvrez une invite de commande utilisée pour compiler PHP

  2. Allez dans le dossier racine où les sources de PHP sont présentes

  3. Lancez la commande :

    cscript.exe win32\build\buildconf.js

  4. Lancez la commande :

    configure.bat --help
    La sortie contiendra une nouvelle option --enable-wincache.

  5. Lancez la commande :

    configure.js [all options used to build PHP] --enable-wincache
    --enable-wincache est la seule option supplémentaire requise pour s'assurer que l'extension WinCache se compile correctement. Cette option permet de construire WinCache et le lier statiquement avec la DLL de PHP. Pour construire l'extension comme une DLL externe, utilisez l'option --enable-wincache=shared.

  6. Lancez la commande :

    nmake

Prérequis
Verifying the build
Compilation sous Windows


Verifying the build

Les étapes suivantes décrivent comment vérifier que WinCache a été construit correctement :

  1. Allez dans le dossier où les fichiers PHP sont construits.

  2. Lancez la commande :

    php.exe -n -d extension=php_wincache.dll -re wincache
    Si WinCache a été construit correctement, la sortie de cette commande listera les directives INI et les fonctions supportées par WinCache.

Compiler et construire
Manipulation audio
Compilation sous Windows


Manipulation audio

  • ID3 — Balises ID3
    • Introduction
    • Installation/Configuration
    • Constantes prédéfinies
    • Fonctions ID3
  • KTaglib
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • KTaglib_MPEG_File — La classe KTagLib_MPEG_File
    • KTaglib_MPEG_AudioProperties — La classe KTaglib_MPEG_AudioProperties
    • KTaglib_Tag — La classe KTaglib_Tag
    • KTaglib_ID3v2_Tag — La classe KTagLib_ID3v2_Tag
    • KTaglib_ID3v2_Frame — La classe KTagLib_ID3v2_Frame
    • KTaglib_ID3v2_AttachedPictureFrame — La classe KTaglib_ID3v2_AttachedPictureFrame
  • oggvorbis — OGG/Vorbis
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Options de contexte
    • Exemples
  • OpenAL — Gestion Audio OpenAL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions OpenAL
Verifying the build
ID3
Référence des fonctions


Balises ID3

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes prédéfinies
  • Fonctions ID3
    • id3_get_frame_long_name — Récupère le nom long d'un champs ID3v2
    • id3_get_frame_short_name — Récupère le nom court d'un champs ID3v2
    • id3_get_genre_id — Récupération d'un id pour un genre
    • id3_get_genre_list — Récupère toutes les valeurs possibles du genre
    • id3_get_genre_name — Récupère le nom pour un id de genre
    • id3_get_tag — Récupère toutes les informations stockées dans un tag ID3
    • id3_get_version — Récupère la version d'un tag ID3
    • id3_remove_tag — Efface un tag ID3
    • id3_set_tag — Met à jour les informations stockées dans un tag ID3
Manipulation audio
Introduction
Manipulation audio


Introduction

Ces fonctions vous permettent de lire et de manipuler les tags ID3. Les tags ID3 sont utilisés dans les fichiers MP3 pour stocker le titre d'une chanson, tout comme des informations sur l'artiste, l'album, le genre, l'année et le numéro de la piste.

Depuis la version 0.2, il est également possible d'extraire des champs texte depuis des tags ID3 v2.2+.

ID3
Installation/Configuration
ID3


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
ID3


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/id3.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
Constantes prédéfinies
Installation/Configuration


Constantes prédéfinies

La plupart des fonctions ID3 vous permettent soit de spécifier, soit de retourner un tag. Pour spécifier la version, utilisez une de ces constantes :

ID3_V1_0 (entier)
ID3_V1_0 est utilisé si vous travaillez avec des tags ID3 V1.0. Ces tags peuvent contenir les champs title, artist, album, genre, year et comment.
ID3_V1_1 (entier)
ID3_V1_1 est utilisé si vous travaillez avec des tags ID3 V1.1. Ces tags peuvent contenir tous les champs de la version 1.0 ainsi qu'un champ représentant le numéro de la piste.
ID3_V2_1 (entier)
ID3_V2_1 est utilisé si vous travaillez avec des tags ID3 V2.1.
ID3_V2_2 (entier)
ID3_V2_2 est utilisé si vous travaillez avec des tags ID3 V2.2 tags.
ID3_V2_3 (entier)
ID3_V2_3 est utilisé si vous travaillez avec des tags ID3 V2.3 tags.
ID3_V2_4 (entier)
ID3_V2_4 est utilisé si vous travaillez avec des tags ID3 V2.4 tags.
ID3_BEST (entier)
ID3_BEST est utilisé si vous voulez laisser les fonctions id3 déterminer quelle version de tags doit être utilisée.

Types de ressources
Fonctions ID3
ID3


Fonctions ID3

Sommaire

  • id3_get_frame_long_name — Récupère le nom long d'un champs ID3v2
  • id3_get_frame_short_name — Récupère le nom court d'un champs ID3v2
  • id3_get_genre_id — Récupération d'un id pour un genre
  • id3_get_genre_list — Récupère toutes les valeurs possibles du genre
  • id3_get_genre_name — Récupère le nom pour un id de genre
  • id3_get_tag — Récupère toutes les informations stockées dans un tag ID3
  • id3_get_version — Récupère la version d'un tag ID3
  • id3_remove_tag — Efface un tag ID3
  • id3_set_tag — Met à jour les informations stockées dans un tag ID3
Constantes prédéfinies
id3_get_frame_long_name
ID3


Récupère le nom long d'un champs ID3v2

Fonctions ID3
id3_get_frame_short_name
Fonctions ID3
PHP Manual

id3_get_frame_long_name

(PECL id3 >= 0.2)

id3_get_frame_long_name — Récupère le nom long d'un champs ID3v2

Description

string id3_get_frame_long_name ( string $frameId )

id3_get_frame_long_name() retourne le nom long d'un champs ID3v2.

Liste de paramètres

frameId

Une frame ID3v2

Valeurs de retour

Retourne le nom long d'un champs ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec id3_get_frame_long_name()

<?php
$longName = id3_get_frame_long_name("TOLY");
echo $longName;
?>

L'exemple ci-dessus va afficher :

Original lyricist(s)/text writer(s)

Voir aussi

  • id3_get_frame_short_name() - Récupère le nom court d'un champs ID3v2

Fonctions ID3
id3_get_frame_short_name
Fonctions ID3


Récupère le nom court d'un champs ID3v2

id3_get_frame_long_name
id3_get_genre_id
Fonctions ID3
PHP Manual

id3_get_frame_short_name

(PECL id3 >= 0.2)

id3_get_frame_short_name — Récupère le nom court d'un champs ID3v2

Description

string id3_get_frame_short_name ( string $frameId )

id3_get_frame_short_name() retourne le nom court d'un champs ID3v2.

Liste de paramètres

frameId

Une frame ID3v2

Valeurs de retour

Retourne le nom court d'un champs ou FALSE si une erreur survient.

Les valeurs retournées par id3_get_frame_short_name() sont utilisées dans le tableau retourné par id3_get_tag().

Exemples

Exemple #1 Exemple avec id3_get_frame_short_name()

<?php
$shortName = id3_get_frame_short_name("TOLY");
echo $shortName;
?>

L'exemple ci-dessus va afficher :

originalLyricist

Voir aussi

  • id3_get_frame_long_name() - Récupère le nom long d'un champs ID3v2

id3_get_frame_long_name
id3_get_genre_id
Fonctions ID3


Récupération d'un id pour un genre

id3_get_frame_short_name
id3_get_genre_list
Fonctions ID3
PHP Manual

id3_get_genre_id

(PECL id3 >= 0.1)

id3_get_genre_id — Récupération d'un id pour un genre

Description

int id3_get_genre_id ( string $genre )

id3_get_genre_id() retourne l'id pour un genre.

Liste de paramètres

genre

Un entier compris entre 0 et 147

Valeurs de retour

L'id du genre ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec id3_get_genre_id()

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

L'exemple ci-dessus va afficher :

20

Voir aussi

  • id3_get_genre_name() - Récupère le nom pour un id de genre
  • id3_get_genre_list() - Récupère toutes les valeurs possibles du genre

id3_get_frame_short_name
id3_get_genre_list
Fonctions ID3


Récupère toutes les valeurs possibles du genre

id3_get_genre_id
id3_get_genre_name
Fonctions ID3
PHP Manual

id3_get_genre_list

(PECL id3 >= 0.1)

id3_get_genre_list — Récupère toutes les valeurs possibles du genre

Description

array id3_get_genre_list ( void )

id3_get_genre_list() retourne un tableau contenant tous les genres possibles pouvant être stockés dans un tag ID3. La liste a été créée par Eric Kemp et, plus tard, complétée par WinAmp.

Cette fonction est pratique pour fournir à vos utilisateurs une liste de genres depuis laquelle ils peuvent en choisir un. Lorsque vous mettez à jour vos tags ID3, vous devez également spécifier un genre sous forme d'entier entre 0-147.

Valeurs de retour

Retourne un tableau contenant tous les genres possibles qui peuvent être stockés dans une balise ID3.

Exemples

Exemple #1 Exemple avec id3_get_genre_list()

<?php
$genres = id3_get_genre_list();
print_r($genres);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Blues
    [1] => Classic Rock
    [2] => Country
    [3] => Dance
    [4] => Disco
    [5] => Funk
    [6] => Grunge
    [7] => Hip-Hop
    [8] => Jazz
    [9] => Metal
    [10] => New Age
    [11] => Oldies
    [12] => Other
    [13] => Pop
    [14] => R&B
    [15] => Rap
    [16] => Reggae
    [17] => Rock
    [18] => Techno
    [19] => Industrial
    [20] => Alternative
    [21] => Ska
    [22] => Death Metal
    [23] => Pranks
    [24] => Soundtrack
    [25] => Euro-Techno
    [26] => Ambient
    [27] => Trip-Hop
    [28] => Vocal
    [29] => Jazz+Funk
    [30] => Fusion
    [31] => Trance
    [32] => Classical
    [33] => Instrumental
    [34] => Acid
    [35] => House
    [36] => Game
    [37] => Sound Clip
    [38] => Gospel
    [39] => Noise
    [40] => Alternative Rock
    [41] => Bass
    [42] => Soul
    [43] => Punk
    [44] => Space
    [45] => Meditative
    [46] => Instrumental Pop
    [47] => Instrumental Rock
    [48] => Ethnic
    [49] => Gothic
    [50] => Darkwave
    [51] => Techno-Industrial
    [52] => Electronic
    [53] => Pop-Folk
    [54] => Eurodance
    [55] => Dream
    [56] => Southern Rock
    [57] => Comedy
    [58] => Cult
    [59] => Gangsta
    [60] => Top 40
    [61] => Christian Rap
    [62] => Pop/Funk
    [63] => Jungle
    [64] => Native US
    [65] => Cabaret
    [66] => New Wave
    [67] => Psychadelic
    [68] => Rave
    [69] => Showtunes
    [70] => Trailer
    [71] => Lo-Fi
    [72] => Tribal
    [73] => Acid Punk
    [74] => Acid Jazz
    [75] => Polka
    [76] => Retro
    [77] => Musical
    [78] => Rock & Roll
    [79] => Hard Rock
    [80] => Folk
    [81] => Folk-Rock
    [82] => National Folk
    [83] => Swing
    [84] => Fast Fusion
    [85] => Bebob
    [86] => Latin
    [87] => Revival
    [88] => Celtic
    [89] => Bluegrass
    [90] => Avantgarde
    [91] => Gothic Rock
    [92] => Progressive Rock
    [93] => Psychedelic Rock
    [94] => Symphonic Rock
    [95] => Slow Rock
    [96] => Big Band
    [97] => Chorus
    [98] => Easy Listening
    [99] => Acoustic
    [100] => Humour
    [101] => Speech
    [102] => Chanson
    [103] => Opera
    [104] => Chamber Music
    [105] => Sonata
    [106] => Symphony
    [107] => Booty Bass
    [108] => Primus
    [109] => Porn Groove
    [110] => Satire
    [111] => Slow Jam
    [112] => Club
    [113] => Tango
    [114] => Samba
    [115] => Folklore
    [116] => Ballad
    [117] => Power Ballad
    [118] => Rhytmic Soul
    [119] => Freestyle
    [120] => Duet
    [121] => Punk Rock
    [122] => Drum Solo
    [123] => Acapella
    [124] => Euro-House
    [125] => Dance Hall
    [126] => Goa
    [127] => Drum & Bass
    [128] => Club-House
    [129] => Hardcore
    [130] => Terror
    [131] => Indie
    [132] => BritPop
    [133] => Negerpunk
    [134] => Polsk Punk
    [135] => Beat
    [136] => Christian Gangsta
    [137] => Heavy Metal
    [138] => Black Metal
    [139] => Crossover
    [140] => Contemporary C
    [141] => Christian Rock
    [142] => Merengue
    [143] => Salsa
    [144] => Thrash Metal
    [145] => Anime
    [146] => JPop
    [147] => SynthPop
)

Voir aussi

  • id3_get_genre_name() - Récupère le nom pour un id de genre
  • id3_get_genre_id() - Récupération d'un id pour un genre

id3_get_genre_id
id3_get_genre_name
Fonctions ID3


Récupère le nom pour un id de genre

id3_get_genre_list
id3_get_tag
Fonctions ID3
PHP Manual

id3_get_genre_name

(PECL id3 >= 0.1)

id3_get_genre_name — Récupère le nom pour un id de genre

Description

string id3_get_genre_name ( int $genre_id )

id3_get_genre_name() retourne le nom pour un id de genre spécifié.

Liste de paramètres

genre_id

Un entier, compris entre 0 et 147

Valeurs de retour

Retourne le nom sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec id3_get_genre_name()

<?php
$genre = id3_get_genre_name(20);
echo $genre;
?>

L'exemple ci-dessus va afficher :

Alternative

Voir aussi

  • id3_get_genre_list() - Récupère toutes les valeurs possibles du genre
  • id3_get_genre_id() - Récupération d'un id pour un genre

id3_get_genre_list
id3_get_tag
Fonctions ID3


Récupère toutes les informations stockées dans un tag ID3

id3_get_genre_name
id3_get_version
Fonctions ID3
PHP Manual

id3_get_tag

(PECL id3 >= 0.1)

id3_get_tag — Récupère toutes les informations stockées dans un tag ID3

Description

array id3_get_tag ( string $filename [, int $version = ID3_BEST ] )

id3_get_tag() est utilisée pour récupérer toutes les informations stockées dans un tag ID3 d'un fichier spécifique.

Liste de paramètres

filename

Le chemin vers le fichier MP3

Au lieu de passer un nom de fichier, vous pouvez aussi passer un flux de ressource valide.

version

Vous permet de spécifier la version du tag, bien que les fichiers MP3 doivent contenir à la fois les versions 1.x et les versions 2.x.

Depuis la version 0.2, id3_get_tag() supporte également les tags ID3 version 2.2, 2.3 et 2.4. Pour extraire les informations de ces tags, passez une des constantes ID3_V2_2, ID3_V2_3 ou ID3_V2_4 en tant que second paramètre. Les tags ID3 v2.x peuvent contenir beaucoup plus d'informations sur le fichier MP3 que les versions ID3 v1.x.

Valeurs de retour

Retourne un tableau associatif avec diverses clés, comme : title, artist, ..

La clé genre doit contenir un entier compris entre 0 et 147. Vous pouvez utiliser la fonction id3_get_genre_name() pour convertir ce nombre en une chaîne lisible humainement.

Exemples

Exemple #1 Exemple avec id3_get_tag()

<?php
$tag = id3_get_tag( "path/to/example.mp3" );
print_r($tag);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [title] => DN-38416
    [artist] => Re:\Legion
    [album] => Reflections
    [year] => 2004
    [genre] => 19
)

Exemple #2 Exemple avec id3_get_tag()

<?php
$tag = id3_get_tag( "path/to/example2.mp3", ID3_V2_3 );
print_r($tag);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [copyright] => Dirty Mac
    [originalArtist] => Dirty Mac
    [composer] => Marcus Götze
    [artist] => Dirty Mac
    [title] => Little Big Man
    [album] => Demo-Tape
    [track] => 5/12
    [genre] => (17)Rock
    [year] => 2001
)

Voir aussi

  • id3_set_tag() - Met à jour les informations stockées dans un tag ID3
  • id3_remove_tag() - Efface un tag ID3
  • id3_get_version() - Récupère la version d'un tag ID3

id3_get_genre_name
id3_get_version
Fonctions ID3


Récupère la version d'un tag ID3

id3_get_tag
id3_remove_tag
Fonctions ID3
PHP Manual

id3_get_version

(PECL id3 >= 0.1)

id3_get_version — Récupère la version d'un tag ID3

Description

int id3_get_version ( string $filename )

id3_get_version() récupère la(les) version(s) de la(des) balise(s) ID3 d'un fichier MP3.

Si un fichier contient une balise ID3 v1.1, il contiendra toujours aussi une balise 1.0, vu que 1.1 est uniquement une extension de 1.0.

Liste de paramètres

filename

Le chemin vers le fichier MP3

Au lieu de passer un nom de fichier, vous pouvez aussi passer un flux de ressource valide.

Valeurs de retour

Retourne la(les) version(s) du(des) tag(s) ID3 d'un fichier MP3. Sachant qu'un tag peut contenir des tags ID3 de version v1.x et v2.x, la valeur retournée par cette fonction doit être comparée au niveau binaire avec les constantes prédéfinies ID3_V1_0, ID3_V1_1 et ID3_V2.

Exemples

Exemple #1 Exemple avec id3_get_version()

<?php
$version = id3_get_version( "path/to/example.mp3" );
if ($version & ID3_V1_0) {
    echo "Contains a 1.x tag\n";
}
if ($version & ID3_V1_1) {
    echo "Contains a 1.1 tag\n";
}
if ($version & ID3_V2) {
    echo "Contains a 2.x tag\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Contains a 1.x tag
Contains a 1.1 tag

Voir aussi

  • id3_set_tag() - Met à jour les informations stockées dans un tag ID3
  • id3_get_tag() - Récupère toutes les informations stockées dans un tag ID3
  • id3_remove_tag() - Efface un tag ID3

id3_get_tag
id3_remove_tag
Fonctions ID3


Efface un tag ID3

id3_get_version
id3_set_tag
Fonctions ID3
PHP Manual

id3_remove_tag

(PECL id3 >= 0.1)

id3_remove_tag — Efface un tag ID3

Description

bool id3_remove_tag ( string $filename [, int $version = ID3_V1_0 ] )

id3_remove_tag() est utilisé pour effacer les informations stockées dans un tag ID3.

Liste de paramètres

filename

Le chemin vers le fichier MP3

Au lieu d'un nom de fichier, vous pouvez également passer une ressource valide.

version

Vous permet de spécifier la version du tag, bien que les fichiers MP3 doivent contenir à la fois les versions 1.x et les versions 2.x.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec id3_remove_tag()

<?php
$result = id3_remove_tag( "path/to/example.mp3", ID3_V1_0 );
if ($result === true) {
    echo "Le tag a été effacé avec succès\n";
}
?>

Si le fichier est accessible en écriture et qu'il contient un tag 1.0, l'exemple affichera :

Le tag a été effacé avec succès

Notes

Note: Actuellement, id3_remove_tag() supporte uniquement les tags version 1.0 et 1.1. Si vous tentez d'effacer un tag 1.0 et que le fichier contient un tag 1.1, le tag sera effacé car la version 1.1 n'est qu'une extension de la version 1.0.

Voir aussi

  • id3_set_tag() - Met à jour les informations stockées dans un tag ID3
  • id3_get_tag() - Récupère toutes les informations stockées dans un tag ID3
  • id3_get_version() - Récupère la version d'un tag ID3

id3_get_version
id3_set_tag
Fonctions ID3


Met à jour les informations stockées dans un tag ID3

id3_remove_tag
KTaglib
Fonctions ID3
PHP Manual

id3_set_tag

(PECL id3 >= 0.1)

id3_set_tag — Met à jour les informations stockées dans un tag ID3

Description

bool id3_set_tag ( string $filename , array $tag [, int $version = ID3_V1_0 ] )

id3_set_tag() est utilisé pour changer les informations stockées dans un tag ID3. Si aucun tag n'est présent, le tag sera ajouté au fichier.

Liste de paramètres

filename

Le chemin vers le fichier MP3

Au lieu d'un nom de fichier, vous pouvez également passer une ressource valide.

tag

Un tableau associatif de clés et de valeurs de tags

Les clés suivantes peuvent être utilisées dans le tableau associatif :

Clés dans le tableau associatif
Clé | Valeur possible | Disponible dans la version
"title" | chaîne de caractères avec un maximum de 30 caractères | v1.0, v1.1
"artist" | chaîne de caractères avec un maximum de 30 caractères | v1.0, v1.1
"album" | chaîne de caractères avec un maximum de 30 caractères | v1.0, v1.1
"year" | 4 digits | v1.0, v1.1
"genre" | valeur entière comprise entre 0 et 147 | v1.0, v1.1
"comment" | chaîne de caractères avec un maximum de 30 caractères (28 en v1.1) | v1.0, v1.1
"track" | entier compris entre 0 et 255 | v1.1

version

Vous permet de spécifier la version du tag, bien que les fichiers MP3 doivent contenir à la fois les versions 1.x et les versions 2.x.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec id3_set_tag()

<?php
$data = array(
              "title" => "Re:Start",
              "artist" => "Re:\Legion",
              "comment" => "A nice track"
             );
$result = id3_set_tag( "path/to/example.mp3", $data, ID3_V1_0 );
if ($result === true) {
    echo "Le tag a été mis à jour avec succès\n";
}
?>

Si le fichier est accessible en écriture, l'exemple affichera :

Le tag a été mis à jour avec succès

Notes

Note: Actuellement, id3_set_tag() supporte uniquement les versions 1.0 et 1.1.

Voir aussi

  • id3_remove_tag() - Efface un tag ID3
  • id3_get_tag() - Récupère toutes les informations stockées dans un tag ID3
  • id3_get_version() - Récupère la version d'un tag ID3

id3_remove_tag
KTaglib
Fonctions ID3


KTaglib

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
  • Constantes pré-définies
  • KTaglib_MPEG_File — La classe KTagLib_MPEG_File
    • KTaglib_MPEG_File::__construct — Ouvre un nouveau fichier
    • KTaglib_MPEG_File::getAudioProperties — Retourne un objet qui permet l'accès aux propriétés audio
    • KTaglib_MPEG_File::getID3v1Tag — Retourne un objet représentant un tag ID3v1
    • KTaglib_MPEG_File::getID3v2Tag — Retourne un objet ID3v2
  • KTaglib_MPEG_AudioProperties — La classe KTaglib_MPEG_AudioProperties
    • KTaglib_MPEG_AudioProperties::getBitrate — Retourne le débit binaire d'un fichier MPEG
    • KTaglib_MPEG_AudioProperties::getChannels — Retourne le nombre de canaux d'un fichier MPEG
    • KTaglib_MPEG_AudioProperties::getLayer — Retourne la couche d'un fichier MPEG
    • KTaglib_MPEG_AudioProperties::getLength — Retourne la taille d'un fichier MPEG
    • KTaglib_MPEG_AudioProperties::getSampleBitrate — Retourne l'échantillonnage d'un fichier MPEG
    • KTaglib_MPEG_AudioProperties::getVersion — Retourne la version d'un fichier MPEG
    • KTaglib_MPEG_AudioProperties::isCopyrighted — Retourne true si le fichier MPEG est sous copyright
    • KTaglib_MPEG_AudioProperties::isOriginal — Retourne true si le fichier MPEG est marqué comme original
    • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Retourne true si une protection est active
  • KTaglib_Tag — La classe KTaglib_Tag
    • KTaglib_Tag::getAlbum — Retourne le nom de l'album d'un tag ID3
    • KTaglib_Tag::getArtist — Retourne le nom de l'artiste d'un tag ID3
    • KTaglib_Tag::getComment — Retourne le commentaire d'un tag ID3
    • KTaglib_Tag::getGenre — Retourne le genre d'un tag ID3
    • KTaglib_Tag::getTitle — Retourne le titre d'un tag ID3
    • KTaglib_Tag::getTrack — Retourne le numéro de la piste d'un tag ID3
    • KTaglib_Tag::getYear — Retourne l'année d'un tag ID3
    • KTaglib_Tag::isEmpty — Retourne TRUE si le tag est vide
  • KTaglib_ID3v2_Tag — La classe KTagLib_ID3v2_Tag
    • KTaglib_ID3v2_Tag::addFrame — Ajoute une frame à un tag ID3v2
    • KTaglib_ID3v2_Tag::getFrameList — Retourne un tableau de frames ID3v2, associées avec un tag ID3v2
  • KTaglib_ID3v2_Frame — La classe KTagLib_ID3v2_Frame
    • KTaglib_ID3v2_Frame::getSize — Retourne la taille de la frame, en octets
    • KTaglib_ID3v2_Frame::__toString — Retourne une chaîne représentant la frame
  • KTaglib_ID3v2_AttachedPictureFrame — La classe KTaglib_ID3v2_AttachedPictureFrame
    • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Retourne une description de l'image contenu dans la frame spécialisée
    • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Retourne le type MIME de l'image
    • KTaglib_ID3v2_AttachedPictureFrame::getType — Retourne le type d'une image
    • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Sauvegarde une image dans un fichier
    • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Définit le type MIME d'une image
    • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Définit le tag image en une image donnée
    • KTaglib_ID3v2_AttachedPictureFrame::setType — Définit le type de l'image
id3_set_tag
Introduction
Manipulation audio


Introduction

KTaglib est une approche orientée objet de la bibliothèque taglib du projet KDE utilisée dans des projets comme Amarok, permettant de lire et d'écrire les tags ID3 et Ogg. La bibliothèque permet également d'accéder aux informations audio. Cette approche suit l'API C++ de base, mais a été modifiée légèrement afin d'être plus orientée PHP.

Note: Pour le moment, ktaglib est capable de lire et d'écrire les tags ID3v1 et ID3v2.

KTaglib
Installation/Configuration
KTaglib


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
Introduction
Pré-requis
KTaglib


Pré-requis

Si vous voulez compiler ktaglib, vous devez avoir installé la bibliothèque taglib version 1.5. Pour obtenir cette bibliothèque, reportez-vous à la » page du projet taglib. Les bibliothèque DLL Windows sont compilés statiquement sur taglib, aussi, vous n'avez pas besoin d'installer la bibliothèque taglib.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ktaglib.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

KTaglib utilise des constantes. La plupart de ces constantes est identique à celle de la bibliothèque Taglib.

KTaglib_MPEG_Header::Version1 ( integer )
La version ID3 est 1.0
KTaglib_MPEG_Header::Version2 ( integer )
La version ID3 est 2.0
KTaglib_MPEG_Header::Version2_5 ( integer )
La version ID3 est 2.5
KTaglib_ID3v2_AttachedPictureFrame::Other ( integer )
Autre type d'image
KTaglib_ID3v2_AttachedPictureFrame::FileIcon ( integer )
Image de type "FileIcon"
KTaglib_ID3v2_AttachedPictureFrame::OtherFileIcon ( integer )
Image de type "OtherFileIcon"
KTaglib_ID3v2_AttachedPictureFrame::FrontCover ( integer )
Image de type "FrontCover"
KTaglib_ID3v2_AttachedPictureFrame::BackCover ( integer )
Image de type "BackCover"
KTaglib_ID3v2_AttachedPictureFrame::LeafletPage ( integer )
Image de type "LeafletPage"
KTaglib_ID3v2_AttachedPictureFrame::Media ( integer )
Image de type "Media"
KTaglib_ID3v2_AttachedPictureFrame::LeadArtist ( integer )
Image de type "LeadArtist"
KTaglib_ID3v2_AttachedPictureFrame::Artist ( integer )
Image de type "Artist"
KTaglib_ID3v2_AttachedPictureFrame::Conductor ( integer )
Image de type "Condutor"
KTaglib_ID3v2_AttachedPictureFrame::Band ( integer )
Image de type "Band"
KTaglib_ID3v2_AttachedPictureFrame::Composer ( integer )
Image de type "Composer"
KTaglib_ID3v2_AttachedPictureFrame::Lyricist ( integer )
Image de type "Lyricist"
KTaglib_ID3v2_AttachedPictureFrame::RecordingLocation ( integer )
Image de type "RecordingLocation"
KTaglib_ID3v2_AttachedPictureFrame::DuringRecording ( integer )
Image de type "DuringRecording"
KTaglib_ID3v2_AttachedPictureFrame::DuringPerformance ( integer )
Image de type "DuringPerformance"
KTaglib_ID3v2_AttachedPictureFrame::MovieScreenCapture ( integer )
Image de type "MovieScreenCapture"
KTaglib_ID3v2_AttachedPictureFrame::ColouredFish ( integer )
Image de type "ColouredFish"
KTaglib_ID3v2_AttachedPictureFrame::Illustration ( integer )
Image de type "Illustration"
KTaglib_ID3v2_AttachedPictureFrame::BandLogo ( integer )
Image de type "BandLogo"
Installation
KTaglib_MPEG_File
KTaglib


La classe KTagLib_MPEG_File

Introduction

Représente un fichier MPEG. Les fichiers MPEG peuvent avoir des tags ID3v1, ID3v2 et des propriétés audio.

Class synopsis

KTagLib_MPEG_File
KTagLib_MPEG_File {
}

Sommaire

  • KTaglib_MPEG_File::__construct — Ouvre un nouveau fichier
  • KTaglib_MPEG_File::getAudioProperties — Retourne un objet qui permet l'accès aux propriétés audio
  • KTaglib_MPEG_File::getID3v1Tag — Retourne un objet représentant un tag ID3v1
  • KTaglib_MPEG_File::getID3v2Tag — Retourne un objet ID3v2
Constantes pré-définies
KTaglib_MPEG_File::__construct
KTaglib


Ouvre un nouveau fichier

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::__construct

(0.0.1)

KTaglib_MPEG_File::__construct — Ouvre un nouveau fichier

Description

KTaglib_MPEG_File::__construct ( string $filename )

Ouvre un nouveau fichier MPEG.

Liste de paramètres

filename

Le fichier à lire.

Exemples

Exemple #1 Ouvre un nouveau fichier MP3 et lit le titre

<?php
$mpeg = new KTaglib_MPEG_File('example.mp3');
echo $mpeg->getID3v1Tag()->getTitle();
?>

KTaglib_MPEG_File
KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File


Retourne un objet qui permet l'accès aux propriétés audio

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getAudioProperties

(0.0.1)

KTaglib_MPEG_File::getAudioProperties — Retourne un objet qui permet l'accès aux propriétés audio

Description

public KTaglib_MPEG_File: KTaglib_MPEG_File::getAudioProperties ( void )

Retourne un objet qui permet l'accès aux propriétés audio d'un fichier MPEG.

Valeurs de retour

Retourne un objet KTaglib_MPEG_AudioProperties ou FALSE si une erreur survient.

KTaglib_MPEG_File::__construct
KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_File


Retourne un objet représentant un tag ID3v1

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v1Tag

(0.0.1)

KTaglib_MPEG_File::getID3v1Tag — Retourne un objet représentant un tag ID3v1

Description

public KTaglib_ID3v1_Tag KTaglib_MPEG_File::getID3v1Tag ([ bool $create = false ] )

Retourne un objet représentant un tag ID3v1, qui pourra être utilisé pour récupérer les informations s'y trouvant.

Valeurs de retour

Retourne un objet KTaglib_MPEG_ID3v1Tag ou FALSE s'il n'y a pas de tag ID3v1.

KTaglib_MPEG_File::getAudioProperties
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_File


Retourne un objet ID3v2

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File
PHP Manual

KTaglib_MPEG_File::getID3v2Tag

(0.0.1)

KTaglib_MPEG_File::getID3v2Tag — Retourne un objet ID3v2

Description

public KTaglib_ID3v2_Tag KTaglib_MPEG_File::getID3v2Tag ([ bool $create = false ] )

Retourne un objet ID3v2 pour le fichier MPEG. S'il n'y a aucun tag ID3v2, une exception KTaglib_TagNotFoundException sera lancée.

Valeurs de retour

Retourne un objet KTaglib_ID3v2_Tag pour un fichier MPEG s'il possède un tag ID3v2, ou FALSE s'il n'en possède pas.

KTaglib_MPEG_File::getID3v1Tag
KTaglib_MPEG_AudioProperties
KTaglib_MPEG_File


La classe KTaglib_MPEG_AudioProperties

Introduction

Représente les propriétés audio d'un fichier MPEG, comme la longueur, le débit ou encore la fréquence.

Classe

KTaglib_MPEG_Audioproperties
KTaglib_MPEG_AudioProperties {
}

Sommaire

  • KTaglib_MPEG_AudioProperties::getBitrate — Retourne le débit binaire d'un fichier MPEG
  • KTaglib_MPEG_AudioProperties::getChannels — Retourne le nombre de canaux d'un fichier MPEG
  • KTaglib_MPEG_AudioProperties::getLayer — Retourne la couche d'un fichier MPEG
  • KTaglib_MPEG_AudioProperties::getLength — Retourne la taille d'un fichier MPEG
  • KTaglib_MPEG_AudioProperties::getSampleBitrate — Retourne l'échantillonnage d'un fichier MPEG
  • KTaglib_MPEG_AudioProperties::getVersion — Retourne la version d'un fichier MPEG
  • KTaglib_MPEG_AudioProperties::isCopyrighted — Retourne true si le fichier MPEG est sous copyright
  • KTaglib_MPEG_AudioProperties::isOriginal — Retourne true si le fichier MPEG est marqué comme original
  • KTaglib_MPEG_AudioProperties::isProtectionEnabled — Retourne true si une protection est active
KTaglib_MPEG_File::getID3v2Tag
KTaglib_MPEG_AudioProperties::getBitrate
KTaglib


Retourne le débit binaire d'un fichier MPEG

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getBitrate — Retourne le débit binaire d'un fichier MPEG

Description

public int KTaglib_MPEG_AudioProperties::getBitrate ( void )

Retourne le débit binaire d'un fichier MPEG.

Valeurs de retour

Retourne le débit binaire, sous la forme d'un entier.

KTaglib_MPEG_AudioProperties
KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties


Retourne le nombre de canaux d'un fichier MPEG

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getChannels

(0.0.1)

KTaglib_MPEG_AudioProperties::getChannels — Retourne le nombre de canaux d'un fichier MPEG

Description

public int KTaglib_MPEG_AudioProperties::getChannels ( void )

Retourne le nombre de canaux d'un fichier MPEG.

Valeurs de retour

Retourne le nombre de canaux, sous la forme d'un entier.

KTaglib_MPEG_AudioProperties::getBitrate
KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties


Retourne la couche d'un fichier MPEG

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLayer

(0.0.1)

KTaglib_MPEG_AudioProperties::getLayer — Retourne la couche d'un fichier MPEG

Description

public int KTaglib_MPEG_AudioProperties::getLayer ( void )

Retourne la couche d'un fichier MPEG (habituellement 2 pour un MP3).

Valeurs de retour

Retourne la couche, sous la forme d'un entier.

KTaglib_MPEG_AudioProperties::getChannels
KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties


Retourne la taille d'un fichier MPEG

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getLength

(0.0.1)

KTaglib_MPEG_AudioProperties::getLength — Retourne la taille d'un fichier MPEG

Description

public int KTaglib_MPEG_AudioProperties::getLength ( void )

Retourne la taille d'un fichier MPEG.

Valeurs de retour

Retourne la taille, sous la forme d'un entier.

KTaglib_MPEG_AudioProperties::getLayer
KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties


Retourne l'échantillonnage d'un fichier MPEG

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getSampleBitrate

(0.0.1)

KTaglib_MPEG_AudioProperties::getSampleBitrate — Retourne l'échantillonnage d'un fichier MPEG

Description

public int KTaglib_MPEG_AudioProperties::getSampleBitrate ( void )

Retourne l'échantillonnage d'un fichier MPEG.

Valeurs de retour

Retourne l'échantillonnage, sous la forme d'un entier.

KTaglib_MPEG_AudioProperties::getLength
KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties


Retourne la version d'un fichier MPEG

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::getVersion

(0.0.1)

KTaglib_MPEG_AudioProperties::getVersion — Retourne la version d'un fichier MPEG

Description

public int KTaglib_MPEG_AudioProperties::getVersion ( void )

Retourne la version de l'en-tête d'un fichier MPEG. Les versions possibles sont définies dans Tag_MPEG_Header (Version1, Version2, Version2.5).

Valeurs de retour

Retourne la version.

KTaglib_MPEG_AudioProperties::getSampleBitrate
KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties


Retourne true si le fichier MPEG est sous copyright

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isCopyrighted

(0.0.1)

KTaglib_MPEG_AudioProperties::isCopyrighted — Retourne true si le fichier MPEG est sous copyright

Description

public bool KTaglib_MPEG_AudioProperties::isCopyrighted ( void )

Retourne true si le fichier MPEG est sous copyright.

Valeurs de retour

Retourne true si le fichier MPEG est sous copyright.

KTaglib_MPEG_AudioProperties::getVersion
KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_MPEG_AudioProperties


Retourne true si le fichier MPEG est marqué comme original

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isOriginal

(0.0.1)

KTaglib_MPEG_AudioProperties::isOriginal — Retourne true si le fichier MPEG est marqué comme original

Description

public bool KTaglib_MPEG_AudioProperties::isOriginal ( void )

Retourne true si le fichier MPEG est marqué comme original.

Valeurs de retour

Retourne true si le fichier MPEG est marqué comme original.

KTaglib_MPEG_AudioProperties::isCopyrighted
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_MPEG_AudioProperties


Retourne true si une protection est active

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties
PHP Manual

KTaglib_MPEG_AudioProperties::isProtectionEnabled

(0.0.1)

KTaglib_MPEG_AudioProperties::isProtectionEnabled — Retourne true si une protection est active

Description

public bool KTaglib_MPEG_AudioProperties::isProtectionEnabled ( void )

Retourne true si un méchanisme de protection tel que le DRM est actif pour ce fichier.

Valeurs de retour

Retourne true si un méchanisme de protection tel que le DRM est actif pour ce fichier.

KTaglib_MPEG_AudioProperties::isOriginal
KTaglib_Tag
KTaglib_MPEG_AudioProperties


La classe KTaglib_Tag

Introduction

Classe de base pour les tags ID3v1 ou ID3v2.

Class synopsis

KTaglib_Tag
KTaglib_Tag {
}

Sommaire

  • KTaglib_Tag::getAlbum — Retourne le nom de l'album d'un tag ID3
  • KTaglib_Tag::getArtist — Retourne le nom de l'artiste d'un tag ID3
  • KTaglib_Tag::getComment — Retourne le commentaire d'un tag ID3
  • KTaglib_Tag::getGenre — Retourne le genre d'un tag ID3
  • KTaglib_Tag::getTitle — Retourne le titre d'un tag ID3
  • KTaglib_Tag::getTrack — Retourne le numéro de la piste d'un tag ID3
  • KTaglib_Tag::getYear — Retourne l'année d'un tag ID3
  • KTaglib_Tag::isEmpty — Retourne TRUE si le tag est vide
KTaglib_MPEG_AudioProperties::isProtectionEnabled
KTaglib_Tag::getAlbum
KTaglib


Retourne le nom de l'album d'un tag ID3

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag
PHP Manual

KTaglib_Tag::getAlbum

(0.0.1)

KTaglib_Tag::getAlbum — Retourne le nom de l'album d'un tag ID3

Description

public string KTaglib_Tag::getAlbum ( void )

Retourne le nom de l'album d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne le nom de l'album.

KTaglib_Tag
KTaglib_Tag::getArtist
KTaglib_Tag


Retourne le nom de l'artiste d'un tag ID3

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag
PHP Manual

KTaglib_Tag::getArtist

(0.0.1)

KTaglib_Tag::getArtist — Retourne le nom de l'artiste d'un tag ID3

Description

public string KTaglib_Tag::getArtist ( void )

Retourne le nom de l'artiste d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne le nom de l'artiste.

KTaglib_Tag::getAlbum
KTaglib_Tag::getComment
KTaglib_Tag


Retourne le commentaire d'un tag ID3

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag
PHP Manual

KTaglib_Tag::getComment

(0.0.1)

KTaglib_Tag::getComment — Retourne le commentaire d'un tag ID3

Description

public string KTaglib_Tag::getComment ( void )

Retourne le commentaire d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne le commentaire.

KTaglib_Tag::getArtist
KTaglib_Tag::getGenre
KTaglib_Tag


Retourne le genre d'un tag ID3

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag
PHP Manual

KTaglib_Tag::getGenre

(0.0.1)

KTaglib_Tag::getGenre — Retourne le genre d'un tag ID3

Description

public string KTaglib_Tag::getGenre ( void )

Retourne le genre d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne le genre.

KTaglib_Tag::getComment
KTaglib_Tag::getTitle
KTaglib_Tag


Retourne le titre d'un tag ID3

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTitle

(0.0.1)

KTaglib_Tag::getTitle — Retourne le titre d'un tag ID3

Description

public string KTaglib_Tag::getTitle ( void )

Retourne le titre d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne le titre.

KTaglib_Tag::getGenre
KTaglib_Tag::getTrack
KTaglib_Tag


Retourne le numéro de la piste d'un tag ID3

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag
PHP Manual

KTaglib_Tag::getTrack

(0.0.1)

KTaglib_Tag::getTrack — Retourne le numéro de la piste d'un tag ID3

Description

public int KTaglib_Tag::getTrack ( void )

Retourne le numéro de la piste d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne le numéro de la piste, sous la forme d'un entier.

KTaglib_Tag::getTitle
KTaglib_Tag::getYear
KTaglib_Tag


Retourne l'année d'un tag ID3

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag
PHP Manual

KTaglib_Tag::getYear

(0.0.1)

KTaglib_Tag::getYear — Retourne l'année d'un tag ID3

Description

public int KTaglib_Tag::getYear ( void )

Retourne l'année d'un tag ID3. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne l'année, sous la forme d'un entier.

KTaglib_Tag::getTrack
KTaglib_Tag::isEmpty
KTaglib_Tag


Retourne TRUE si le tag est vide

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag
PHP Manual

KTaglib_Tag::isEmpty

(0.0.1)

KTaglib_Tag::isEmpty — Retourne TRUE si le tag est vide

Description

public bool KTaglib_Tag::isEmpty ( void )

Retourne TRUE si le tag existe mais qu'il est vide. Cette méthode est implémentée pour les tags ID3v1 et ID3v2.

Valeurs de retour

Retourne TRUE si le tag est vide, FALSE sinon.

KTaglib_Tag::getYear
KTaglib_ID3v2_Tag
KTaglib_Tag


La classe KTagLib_ID3v2_Tag

Introduction

Représente un tag ID3v2. Elle fournit une liste des frames ID3v2 et peut être utilisée pour ajouter ou effacer des frames.

Classe

KTagLib_ID3v2_Tag
étend KTagLib_Tag {
}

Sommaire

  • KTaglib_ID3v2_Tag::addFrame — Ajoute une frame à un tag ID3v2
  • KTaglib_ID3v2_Tag::getFrameList — Retourne un tableau de frames ID3v2, associées avec un tag ID3v2
KTaglib_Tag::isEmpty
KTaglib_ID3v2_Tag::addFrame
KTaglib


Ajoute une frame à un tag ID3v2

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::addFrame

(0.0.1)

KTaglib_ID3v2_Tag::addFrame — Ajoute une frame à un tag ID3v2

Description

public bool KTaglib_ID3v2_Tag::addFrame ( KTagLib_ID3v2_Frame $frame )

Ajoute une frame à un tag ID3v2. La frame doit être un objet KTagLib_ID3v2_Frame valide. Pour sauvegarder la frame, la fonction de sauvegarde doit être appelée.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE sinon.

KTaglib_ID3v2_Tag
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Tag


Retourne un tableau de frames ID3v2, associées avec un tag ID3v2

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag
PHP Manual

KTaglib_ID3v2_Tag::getFrameList

(0.0.1)

KTaglib_ID3v2_Tag::getFrameList — Retourne un tableau de frames ID3v2, associées avec un tag ID3v2

Description

public array KTaglib_ID3v2_Tag::getFrameList ( void )

Retourne un tableau de frames ID3v2, associées au tag ID3v2.

Valeurs de retour

Retourne un tableau d'objets KTaglib_ID3v2_Frame.

KTaglib_ID3v2_Tag::addFrame
KTaglib_ID3v2_Frame
KTaglib_ID3v2_Tag


La classe KTagLib_ID3v2_Frame

Introduction

La classe de base pour les frames ID3v2. Les tags ID3v2 sont séparés en plusieurs frames spécialisés. Quelques frames peuvent être présents plusieurs fois.

Classe

KTagLib_ID3v2_Frame
étend KTagLib_Tag {
}

Sommaire

  • KTaglib_ID3v2_Frame::getSize — Retourne la taille de la frame, en octets
  • KTaglib_ID3v2_Frame::__toString — Retourne une chaîne représentant la frame
KTaglib_ID3v2_Tag::getFrameList
KTaglib_ID3v2_Frame::getSize
KTaglib


Retourne la taille de la frame, en octets

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::getSize

(0.0.1)

KTaglib_ID3v2_Frame::getSize — Retourne la taille de la frame, en octets

Description

public int KTaglib_ID3v2_Frame::getSize ( void )

Retourne la taille de la frame, en octets. Reportez-vous au site id3.org pour savoir comment sont les frames et comment elles sont définies.

Valeurs de retour

Retourne la taille de la frame, en octets.

KTaglib_ID3v2_Frame
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_Frame


Retourne une chaîne représentant la frame

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame
PHP Manual

KTaglib_ID3v2_Frame::__toString

(0.0.1)

KTaglib_ID3v2_Frame::__toString — Retourne une chaîne représentant la frame

Description

public string KTaglib_ID3v2_Frame::__toString ( void )

Retourne une chaîne représentant la frame. Ce peut être uniquement l'identifiant de la frame, mais cette chaîne peut également contenir d'autres informations. Reportez-vous à la documentation de ktaglib pour plus d'informations.

Valeurs de retour

Retourne une chaîne représentant la frame.

KTaglib_ID3v2_Frame::getSize
KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_Frame


La classe KTaglib_ID3v2_AttachedPictureFrame

Introduction

Représente une frame ID3v2 qui peut contenir une image.

Classe

KTaglib_ID3v2_AttachedPictureFrame
étend KTagLib_ID3v2_Frame {
}

Sommaire

  • KTaglib_ID3v2_AttachedPictureFrame::getDescription — Retourne une description de l'image contenu dans la frame spécialisée
  • KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Retourne le type MIME de l'image
  • KTaglib_ID3v2_AttachedPictureFrame::getType — Retourne le type d'une image
  • KTaglib_ID3v2_AttachedPictureFrame::savePicture — Sauvegarde une image dans un fichier
  • KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Définit le type MIME d'une image
  • KTaglib_ID3v2_AttachedPictureFrame::setPicture — Définit le tag image en une image donnée
  • KTaglib_ID3v2_AttachedPictureFrame::setType — Définit le type de l'image
KTaglib_ID3v2_Frame::__toString
KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib


Retourne une description de l'image contenu dans la frame spécialisée

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getDescription

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::getDescription — Retourne une description de l'image contenu dans la frame spécialisée

Description

public string KTaglib_ID3v2_AttachedPictureFrame::getDescription ( void )

Retourne la description attachée à une frame contenant une image, dans une frame ID3v2.x.

Valeurs de retour

Retourne une description de l'image.

KTaglib_ID3v2_AttachedPictureFrame
KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame


Retourne le type MIME de l'image

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getMimeType — Retourne le type MIME de l'image

Description

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( void )

Retourne le type MIME de l'image présente dans la frame spécialisée.

Notez que cette méthode peut retourner différents types. Alors que les tags ID3v2.2 contiennent un type MIME qui ne commencent pas par "image/", les tags ID3v2.3 et v2.4 commencent eux par "image/". Aussi, cette méthode peut retourner "image/png" pour les tags IDv2.3 et uniquement "PNG" pour les tags ID3v2.2.

Notez également que, malgré le fait qu'une image soit attachée, le type MIME peut ne pas avoir été défini, et ainsi, une chaîne vide peut être retournée.

Valeurs de retour

Retourne le type MIME de l'image.

KTaglib_ID3v2_AttachedPictureFrame::getDescription
KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame


Retourne le type d'une image

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::getType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::getType — Retourne le type d'une image

Description

public int KTaglib_ID3v2_AttachedPictureFrame::getType ( void )

Retourne le type d'une image.

La spécification ID3v2 autorise un AttachedPictureFrame à définir une image. Cela peut être, i.e. FrontCover ou FileIcon. Reportez-vous à la description de la classe KTagLib_ID3v2_AttachedPictureFrame pour une liste des types disponibles.

Valeurs de retour

Retourne un entier représentant le type de l'image.

KTaglib_ID3v2_AttachedPictureFrame::getMimeType
KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame


Sauvegarde une image dans un fichier

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::savePicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::savePicture — Sauvegarde une image dans un fichier

Description

public bool KTaglib_ID3v2_AttachedPictureFrame::savePicture ( string $filename )

Sauvegarde l'image attachée dans un fichier donné.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE sinon.

KTaglib_ID3v2_AttachedPictureFrame::getType
KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame


Définit le type MIME d'une image

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setMimeType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setMimeType — Définit le type MIME d'une image

Description

public string KTaglib_ID3v2_AttachedPictureFrame::getMimeType ( string $type )

Définit le type MIME d'une image. C'est, en général, "image/png" ou "image/jpeg".

KTaglib_ID3v2_AttachedPictureFrame::savePicture
KTaglib_ID3v2_AttachedPictureFrame::setPicture
KTaglib_ID3v2_AttachedPictureFrame


Définit le tag image en une image donnée

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setPicture

(0.0.1)

KTaglib_ID3v2_AttachedPictureFrame::setPicture — Définit le tag image en une image donnée

Description

public void KTaglib_ID3v2_AttachedPictureFrame::setPicture ( string $filename )

Définit le tag image en une image donnée. L'image est chargée depuis le fichier fourni. Notez que l'image n'est sauvegardée que lors de l'appel à la méthode de sauvegarde de l'objet fichier correspondant.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE si une erreur survient.

KTaglib_ID3v2_AttachedPictureFrame::setMimeType
KTaglib_ID3v2_AttachedPictureFrame::setType
KTaglib_ID3v2_AttachedPictureFrame


Définit le type de l'image

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame
PHP Manual

KTaglib_ID3v2_AttachedPictureFrame::setType

(0.2.0)

KTaglib_ID3v2_AttachedPictureFrame::setType — Définit le type de l'image

Description

public void KTaglib_ID3v2_AttachedPictureFrame::setType ( int $type )

Définit le type de l'image. Ce peut être FrontCover ou FileIcon. Reportez-vous à la description de la classe KTaglib_ID3v2_AttachedPictureFrame pour une liste de types disponibles ainsi que leurs constantes correspondantes.

KTaglib_ID3v2_AttachedPictureFrame::setPicture
oggvorbis
KTaglib_ID3v2_AttachedPictureFrame


OGG/Vorbis

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Options de contexte
  • Exemples
    • Exemples d'utilisation du gestionnaire ogg://
KTaglib_ID3v2_AttachedPictureFrame::setType
Introduction
Manipulation audio


Introduction

Le format de fichier OGG/Vorbis, comme définit par » http://www.vorbis.com/, est un schéma pour la compression de flux audio par de multiples facteurs avec un minimum de perte de qualité. Cette extension ajoute le support Ogg Vorbis aux gestionnaires d'URL de PHP. Lorsqu'utilisé en mode lecture, les données compressées OGG/Vorbis sont déployées en audio PCM brute en un des six formats d'encodage PCM listés ci-dessous.

oggvorbis
Installation/Configuration
oggvorbis


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
oggvorbis


Pré-requis

Cette extension nécessite PHP >= 4.3.0, » libogg >= 1.0, et » libvorbis >= 1.0.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/oggvorbis

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

OGG/Vorbis supporte l'encodage PCM dans les formats suivants :
Constante | Définition
OGGVORBIS_PCM_U8 | PCM 8-bit non-signé.
OGGVORBIS_PCM_S8 | PCM 8-bit signé.
OGGVORBIS_PCM_U16_LE | PCM 16-bit non-signé. Arrangements normaux Little Endian.
OGGVORBIS_PCM_U16_BE | PCM 16-bit non-signé. Arrangements normaux Big Endian.
OGGVORBIS_PCM_S16_LE | PCM 16-bit signé. Arrangements normaux Little Endian.
OGGVORBIS_PCM_S16_BE | PCM 16-bit signé. Arrangements normaux Big Endian.
Types de ressources
Options de contexte
oggvorbis


Options de contexte

Options personnalisées OGG/Vorbis
Option | Définition | Pertinence | Défaut
pcm_mode | Encodage PCM utilisé. Voir les constantes ci-dessous. | Lecture / Écriture | OGGVORBIS_PCM_S16_LE
rate | Taux d'échantillonnage PCM. Mesuré en Hz. | Écriture uniquement | 44100
bitrate | Débit d'encodage moyen Vorbis / Débit d'encodage variable. Mesuré en bps (ABR) ou en niveau de qualité (VBR : 0.0 à 1.0). 128000 ABR équivaut à 0.4 VBR. | Écriture uniquement | 128000
channels | Nombre de canaux PCM. 1 == Mono, 2 == Stéréo. | Écriture uniquement | 2
serialno | Nombre de séries de flux dans un fichier. Doit être unique dans un fichier. Parce qu'il est potentiellement possible de sélectionner plusieurs nombres de séries dans un fichier chaîné, faites l'effort d'assigner manuellement des nombres uniques lors de l'encodage. | Écriture uniquement | Random
comments | Tableau associatif de commentaires de fichier. Peut être traduit par strtoupper($name) . "=$value". Note : cette option de contexte n'est pas disponible en oggvorbis 0.1 | Écriture uniquement | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')
Constantes pré-définies
Exemples
oggvorbis


Exemples

Sommaire

  • Exemples d'utilisation du gestionnaire ogg://
Options de contexte
Exemples d'utilisation du gestionnaire ogg://
oggvorbis


Exemples d'utilisation du gestionnaire ogg://

Exemple #1 Lecture d'un fichier OGG/Vorbis

<?php
dl("oggvorbis.so");

/* Par défaut, ogg:// décodera en 16-bit signé, en mode Little Endian */
$fp = fopen('ogg://monaudio.ogg', 'r');

/* Collecte quelques informations sur le fichier. */
$metadata = stream_get_meta_data($fp);

/* Inspection de la première chanson (habituellement la seule chanson
   mais les fichiers OGG/Vorbis peuvent être chaînés) */
$songdata = $metadata['wrapper_data'][0];

echo "Fichier OGG/Vorbis encodé par : {$songdata['vendor']}\n.";
echo "  {$songdata['channels']} canaux de {$songdata['rate']}Hz encodé à {$songdata['bitrate_nominal']}bps.\n";
foreach($songdata['comments'] as $comment) {
    echo "  $comment\n";
}

while ($audio_data = fread($fp, 8192)) {
  /* Faire quelque chose avec l'audio PCM extrait depuis le OGG.
     Copier vers /dev/dsp est une bonne chose sur les systèmes linux,
     souvenez-vous juste de définir le périphérique pour votre mode d'échantillonage d'abord. */
}

fclose($fp);

?>

Exemple #2 Encoder un fichier audio en OGG/Vorbis

<?php
dl('oggvorbis.so');

$context = stream_context_create(array('ogg'=>array(
             'pcm_mode' => OGGVORBIS_PCM_S8,  /* audio 8bit signé */
             'rate' => 44100,                 /* Qualité CD 44kHz */
             'bitrate' => 0.5,                /* Qualité moyenne VBR */
             'channels' => 1,                 /* Mono */
             'serialno' => 12345)));          /* Unique dans notre flux */

/* Ouverture d'un fichier pour un ajout. Ceci permet de "chaîner" un deuxième flux OGG à la fin du premier. */
$ogg = fopen('ogg://machanson.ogg', 'a', false, $context);

$pcm = fopen('mysample.pcm', 'r');

/* Compression de l'audio brute PCM depuis mysample.pcm vers machanson.ogg */
stream_copy_to_stream($pcm, $ogg);

fclose($pcm);
fclose($ogg);
?>

Exemples
OpenAL
Exemples


Gestion Audio OpenAL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions OpenAL
    • openal_buffer_create — Génère un buffer OpenAL
    • openal_buffer_data — Charge un buffer avec des données
    • openal_buffer_destroy — Détruit un buffer OpenAL
    • openal_buffer_get — Récupère les propriétés du buffer OpenAL
    • openal_buffer_loadwav — Charge un fichier .wav dans le buffer
    • openal_context_create — Crée un contexte de traitement audio
    • openal_context_current — Rend courant le contexte spécifié
    • openal_context_destroy — Détruit un contexte
    • openal_context_process — Traite le contexte spécifié
    • openal_context_suspend — Suspend le contexte spécifié
    • openal_device_close — Ferme un périphérique OpenAL
    • openal_device_open — Initialise une interface audio OpenAL
    • openal_listener_get — Récupère une propriété d'auditeur
    • openal_listener_set — Définie une propriété d'auditeur
    • openal_source_create — Génère une ressource de source
    • openal_source_destroy — Détruit une ressource de source
    • openal_source_get — Récupère une propriété de source OpenAL
    • openal_source_pause — Marque une pause dans la source
    • openal_source_play — Démarre la lecture de la source
    • openal_source_rewind — Revient en arrière dans la source
    • openal_source_set — Définie une propriété de la source
    • openal_source_stop — Arrête la lecture de la source
    • openal_stream — Démarre le streaming d'une source
Exemples d'utilisation du gestionnaire ogg://
Introduction
Manipulation audio


Introduction

Plate-forme indépendante pour la gestion de l'audio. Requiert la bibliothèque » OpenAL.

OpenAL
Installation/Configuration
OpenAL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
OpenAL


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/openal.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définie quatre types de ressource :
Open AL(Device) - Retournée par openal_device_open(),
Open AL(Context) - Retournée par openal_context_create(),
Open AL(Buffer) - Retournée par openal_buffer_create(),
et Open AL(Source) - Retournée par openal_source_create().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

ALC_FREQUENCY (entier)
Attribut de contexte
ALC_REFRESH (entier)
Attribut de contexte
ALC_SYNC (entier)
Attribut de contexte
AL_FREQUENCY (entier)
Configuration du buffer
AL_BITS (entier)
Configuration du buffer
AL_CHANNELS (entier)
Configuration du buffer
AL_SIZE (entier)
Configuration du buffer
AL_BUFFER (entier)
Configuration de la source/de l'écoute (Entier)
AL_SOURCE_RELATIVE (entier)
Configuration de la source/de l'écoute (Entier)
AL_SOURCE_STATE (entier)
Configuration de la source/de l'écoute (Entier)
AL_PITCH (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_GAIN (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_MIN_GAIN (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_MAX_GAIN (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_MAX_DISTANCE (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_ROLLOFF_FACTOR (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_CONE_OUTER_GAIN (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_CONE_INNER_ANGLE (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_CONE_OUTER_ANGLE (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_REFERENCE_DISTANCE (entier)
Configuration de la source/de l'écoute (Nombre à virgule flottante)
AL_POSITION (entier)
Configuration de la source/de l'écoute (Nombre vectoriel à virgule flottante)
AL_VELOCITY (entier)
Configuration de la source/de l'écoute (Nombre vectoriel à virgule flottante)
AL_DIRECTION (entier)
Configuration de la source/de l'écoute (Nombre vectoriel à virgule flottante)
AL_ORIENTATION (entier)
Configuration de la source/de l'écoute (Nombre vectoriel à virgule flottante)
AL_FORMAT_MONO8 (entier)
Format PCM
AL_FORMAT_MONO16 (entier)
Format PCM
AL_FORMAT_STEREO8 (entier)
Format PCM
AL_FORMAT_STEREO16 (entier)
Format PCM
AL_INITIAL (entier)
État de la Source
AL_PLAYING (entier)
État de la Source
AL_PAUSED (entier)
État de la Source
AL_STOPPED (entier)
État de la Source
AL_LOOPING (entier)
État de la Source
AL_TRUE (entier)
Valeur booléen reconnue par OpenAL
AL_FALSE (entier)
Valeur booléen reconnue par OpenAL
Types de ressources
Fonctions OpenAL
OpenAL


Fonctions OpenAL

Sommaire

  • openal_buffer_create — Génère un buffer OpenAL
  • openal_buffer_data — Charge un buffer avec des données
  • openal_buffer_destroy — Détruit un buffer OpenAL
  • openal_buffer_get — Récupère les propriétés du buffer OpenAL
  • openal_buffer_loadwav — Charge un fichier .wav dans le buffer
  • openal_context_create — Crée un contexte de traitement audio
  • openal_context_current — Rend courant le contexte spécifié
  • openal_context_destroy — Détruit un contexte
  • openal_context_process — Traite le contexte spécifié
  • openal_context_suspend — Suspend le contexte spécifié
  • openal_device_close — Ferme un périphérique OpenAL
  • openal_device_open — Initialise une interface audio OpenAL
  • openal_listener_get — Récupère une propriété d'auditeur
  • openal_listener_set — Définie une propriété d'auditeur
  • openal_source_create — Génère une ressource de source
  • openal_source_destroy — Détruit une ressource de source
  • openal_source_get — Récupère une propriété de source OpenAL
  • openal_source_pause — Marque une pause dans la source
  • openal_source_play — Démarre la lecture de la source
  • openal_source_rewind — Revient en arrière dans la source
  • openal_source_set — Définie une propriété de la source
  • openal_source_stop — Arrête la lecture de la source
  • openal_stream — Démarre le streaming d'une source
Constantes pré-définies
openal_buffer_create
OpenAL


Génère un buffer OpenAL

Fonctions OpenAL
openal_buffer_data
Fonctions OpenAL
PHP Manual

openal_buffer_create

(PECL openal >= 0.1.0)

openal_buffer_create — Génère un buffer OpenAL

Description

resource openal_buffer_create ( void )

Valeurs de retour

openal_buffer_create() retourne une ressource Open AL(Buffer) ou FALSE en cas d'erreur.

Voir aussi

  • openal_buffer_loadwav() - Charge un fichier .wav dans le buffer
  • openal_buffer_data() - Charge un buffer avec des données

Fonctions OpenAL
openal_buffer_data
Fonctions OpenAL


Charge un buffer avec des données

openal_buffer_create
openal_buffer_destroy
Fonctions OpenAL
PHP Manual

openal_buffer_data

(PECL openal >= 0.1.0)

openal_buffer_data — Charge un buffer avec des données

Description

bool openal_buffer_data ( resource $buffer , int $format , string $data , int $freq )

Liste de paramètres

buffer

Une ressource Open AL(Buffer) (précédemment créée par openal_buffer_create()).

format

Format du paramètre data, un parmi ceux-là : AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 et AL_FORMAT_STEREO16.

data

Bloc de données binaires audio dans le format spécifié format et freq.

freq

Fréquence des données data, en Hz.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_buffer_loadwav() - Charge un fichier .wav dans le buffer
  • openal_stream() - Démarre le streaming d'une source

openal_buffer_create
openal_buffer_destroy
Fonctions OpenAL


Détruit un buffer OpenAL

openal_buffer_data
openal_buffer_get
Fonctions OpenAL
PHP Manual

openal_buffer_destroy

(PECL openal >= 0.1.0)

openal_buffer_destroy — Détruit un buffer OpenAL

Description

bool openal_buffer_destroy ( resource $buffer )

Liste de paramètres

buffer

Une ressource Open AL(Buffer) (précédemment créée par openal_buffer_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_buffer_create() - Génère un buffer OpenAL

openal_buffer_data
openal_buffer_get
Fonctions OpenAL


Récupère les propriétés du buffer OpenAL

openal_buffer_destroy
openal_buffer_loadwav
Fonctions OpenAL
PHP Manual

openal_buffer_get

(PECL openal >= 0.1.0)

openal_buffer_get — Récupère les propriétés du buffer OpenAL

Description

int openal_buffer_get ( resource $buffer , int $property )

Liste de paramètres

buffer

Une ressource Open AL(Buffer) (précédemment créée par openal_buffer_create()).

property

Une propriété spécifique, une parmi celles-ci : AL_FREQUENCY, AL_BITS, AL_CHANNELS et AL_SIZE.

Valeurs de retour

Retourne une valeur entière appropriée à la demande property ou FALSE si une erreur survient.

Voir aussi

  • openal_buffer_create() - Génère un buffer OpenAL

openal_buffer_destroy
openal_buffer_loadwav
Fonctions OpenAL


Charge un fichier .wav dans le buffer

openal_buffer_get
openal_context_create
Fonctions OpenAL
PHP Manual

openal_buffer_loadwav

(PECL openal >= 0.1.0)

openal_buffer_loadwav — Charge un fichier .wav dans le buffer

Description

bool openal_buffer_loadwav ( resource $buffer , string $wavfile )

Liste de paramètres

buffer

Une ressource Open AL(Buffer) (précédemment créée par openal_buffer_create()).

wavfile

Chemin vers le fichier .wav sur le système de fichier local.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_buffer_data() - Charge un buffer avec des données
  • openal_stream() - Démarre le streaming d'une source

openal_buffer_get
openal_context_create
Fonctions OpenAL


Crée un contexte de traitement audio

openal_buffer_loadwav
openal_context_current
Fonctions OpenAL
PHP Manual

openal_context_create

(PECL openal >= 0.1.0)

openal_context_create — Crée un contexte de traitement audio

Description

resource openal_context_create ( resource $device )

Liste de paramètres

device

Une ressource Open AL(Device) (précédemment créée par openal_device_open()).

Valeurs de retour

Retourne une ressource Open AL(Context) ou FALSE en cas d'erreur.

Voir aussi

  • openal_device_open() - Initialise une interface audio OpenAL
  • openal_context_destroy() - Détruit un contexte

openal_buffer_loadwav
openal_context_current
Fonctions OpenAL


Rend courant le contexte spécifié

openal_context_create
openal_context_destroy
Fonctions OpenAL
PHP Manual

openal_context_current

(PECL openal >= 0.1.0)

openal_context_current — Rend courant le contexte spécifié

Description

bool openal_context_current ( resource $context )

Liste de paramètres

context

Une ressource Open AL(Context) (précédemment créée par openal_context_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_context_create() - Crée un contexte de traitement audio

openal_context_create
openal_context_destroy
Fonctions OpenAL


Détruit un contexte

openal_context_current
openal_context_process
Fonctions OpenAL
PHP Manual

openal_context_destroy

(PECL openal >= 0.1.0)

openal_context_destroy — Détruit un contexte

Description

bool openal_context_destroy ( resource $context )

Liste de paramètres

context

Une ressource Open AL(Context) (précédemment créée par openal_context_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_context_create() - Crée un contexte de traitement audio

openal_context_current
openal_context_process
Fonctions OpenAL


Traite le contexte spécifié

openal_context_destroy
openal_context_suspend
Fonctions OpenAL
PHP Manual

openal_context_process

(PECL openal >= 0.1.0)

openal_context_process — Traite le contexte spécifié

Description

bool openal_context_process ( resource $context )

Liste de paramètres

context

Une ressource Open AL(Context) (précédemment créée par openal_context_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_context_create() - Crée un contexte de traitement audio
  • openal_context_current() - Rend courant le contexte spécifié
  • openal_context_suspend() - Suspend le contexte spécifié

openal_context_destroy
openal_context_suspend
Fonctions OpenAL


Suspend le contexte spécifié

openal_context_process
openal_device_close
Fonctions OpenAL
PHP Manual

openal_context_suspend

(PECL openal >= 0.1.0)

openal_context_suspend — Suspend le contexte spécifié

Description

bool openal_context_suspend ( resource $context )

Liste de paramètres

context

Une ressource Open AL(Context) (précédemment créée par openal_context_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_context_create() - Crée un contexte de traitement audio
  • openal_context_current() - Rend courant le contexte spécifié
  • openal_context_process() - Traite le contexte spécifié

openal_context_process
openal_device_close
Fonctions OpenAL


Ferme un périphérique OpenAL

openal_context_suspend
openal_device_open
Fonctions OpenAL
PHP Manual

openal_device_close

(PECL openal >= 0.1.0)

openal_device_close — Ferme un périphérique OpenAL

Description

bool openal_device_close ( resource $device )

Liste de paramètres

device

Une ressource Open AL(Device) (précédemment créée par openal_device_open()) à fermer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_device_open() - Initialise une interface audio OpenAL

openal_context_suspend
openal_device_open
Fonctions OpenAL


Initialise une interface audio OpenAL

openal_device_close
openal_listener_get
Fonctions OpenAL
PHP Manual

openal_device_open

(PECL openal >= 0.1.0)

openal_device_open — Initialise une interface audio OpenAL

Description

resource openal_device_open ([ string $device_desc ] )

Liste de paramètres

device_desc

openal_device_open() ouvre un périphérique audio optionnellement spécifié par le paramètre device_desc. Si le paramètre device_desc n'est pas spécifié, le premier périphérique audio disponible sera utilisé.

Valeurs de retour

Retourne une ressource Open AL(Device) ou FALSE en cas d'erreur.

Voir aussi

  • openal_device_close() - Ferme un périphérique OpenAL
  • openal_context_create() - Crée un contexte de traitement audio

openal_device_close
openal_listener_get
Fonctions OpenAL


Récupère une propriété d'auditeur

openal_device_open
openal_listener_set
Fonctions OpenAL
PHP Manual

openal_listener_get

(PECL openal >= 0.1.0)

openal_listener_get — Récupère une propriété d'auditeur

Description

mixed openal_listener_get ( int $property )

Liste de paramètres

property

La propriété à récupérer, une parmi celles-ci : AL_GAIN ( float ), AL_POSITION (array( float , float , float )), AL_VELOCITY (array( float , float , float )) et AL_ORIENTATION (array( float , float , float )).

Valeurs de retour

Retourne un nombre décimal ou un tableau de nombres à virgule flottante ou FALSE si une erreur survient.

Voir aussi

  • openal_listener_set() - Définie une propriété d'auditeur

openal_device_open
openal_listener_set
Fonctions OpenAL


Définie une propriété d'auditeur

openal_listener_get
openal_source_create
Fonctions OpenAL
PHP Manual

openal_listener_set

(PECL openal >= 0.1.0)

openal_listener_set — Définie une propriété d'auditeur

Description

bool openal_listener_set ( int $property , mixed $setting )

Liste de paramètres

property

La propriété à définir, une parmi celles-ci : AL_GAIN ( float ), AL_POSITION (array( float , float , float )), AL_VELOCITY (array( float , float , float )) et AL_ORIENTATION (array( float , float , float )).

setting

La valeur à définir, soit un nombre décimal, soit un tableau de nombres à virgule flottante appropriés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_listener_get() - Récupère une propriété d'auditeur

openal_listener_get
openal_source_create
Fonctions OpenAL


Génère une ressource de source

openal_listener_set
openal_source_destroy
Fonctions OpenAL
PHP Manual

openal_source_create

(PECL openal >= 0.1.0)

openal_source_create — Génère une ressource de source

Description

resource openal_source_create ( void )

Valeurs de retour

Retourne une ressource Open AL(Source) ou FALSE en cas d'erreur.

Voir aussi

  • openal_source_set() - Définie une propriété de la source
  • openal_source_play() - Démarre la lecture de la source
  • openal_source_destroy() - Détruit une ressource de source

openal_listener_set
openal_source_destroy
Fonctions OpenAL


Détruit une ressource de source

openal_source_create
openal_source_get
Fonctions OpenAL
PHP Manual

openal_source_destroy

(PECL openal >= 0.1.0)

openal_source_destroy — Détruit une ressource de source

Description

bool openal_source_destroy ( resource $source )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_source_create() - Génère une ressource de source

openal_source_create
openal_source_get
Fonctions OpenAL


Récupère une propriété de source OpenAL

openal_source_destroy
openal_source_pause
Fonctions OpenAL
PHP Manual

openal_source_get

(PECL openal >= 0.1.0)

openal_source_get — Récupère une propriété de source OpenAL

Description

mixed openal_source_get ( resource $source , int $property )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

property

Propriété à récupérer, une parmi celles-ci : AL_SOURCE_RELATIVE (entier), AL_SOURCE_STATE (entier), AL_PITCH ( float ), AL_GAIN ( float ), AL_MIN_GAIN ( float ), AL_MAX_GAIN ( float ), AL_MAX_DISTANCE ( float ), AL_ROLLOFF_FACTOR ( float ), AL_CONE_OUTER_GAIN ( float ), AL_CONE_INNER_ANGLE ( float ), AL_CONE_OUTER_ANGLE ( float ), AL_REFERENCE_DISTANCE ( float ), AL_POSITION (array( float , float , float )), AL_VELOCITY (array( float , float , float )), AL_DIRECTION (array( float , float , float )).

Valeurs de retour

Retourne le type associé avec la propriété récupérée ou FALSE si une erreur survient.

Voir aussi

  • openal_source_create() - Génère une ressource de source
  • openal_source_set() - Définie une propriété de la source
  • openal_source_play() - Démarre la lecture de la source

openal_source_destroy
openal_source_pause
Fonctions OpenAL


Marque une pause dans la source

openal_source_get
openal_source_play
Fonctions OpenAL
PHP Manual

openal_source_pause

(PECL openal >= 0.1.0)

openal_source_pause — Marque une pause dans la source

Description

bool openal_source_pause ( resource $source )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée avec openal_source_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_source_stop() - Arrête la lecture de la source
  • openal_source_play() - Démarre la lecture de la source
  • openal_source_rewind() - Revient en arrière dans la source

openal_source_get
openal_source_play
Fonctions OpenAL


Démarre la lecture de la source

openal_source_pause
openal_source_rewind
Fonctions OpenAL
PHP Manual

openal_source_play

(PECL openal >= 0.1.0)

openal_source_play — Démarre la lecture de la source

Description

bool openal_source_play ( resource $source )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_source_stop() - Arrête la lecture de la source
  • openal_source_pause() - Marque une pause dans la source
  • openal_source_rewind() - Revient en arrière dans la source

openal_source_pause
openal_source_rewind
Fonctions OpenAL


Revient en arrière dans la source

openal_source_play
openal_source_set
Fonctions OpenAL
PHP Manual

openal_source_rewind

(PECL openal >= 0.1.0)

openal_source_rewind — Revient en arrière dans la source

Description

bool openal_source_rewind ( resource $source )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_source_stop() - Arrête la lecture de la source
  • openal_source_pause() - Marque une pause dans la source
  • openal_source_play() - Démarre la lecture de la source

openal_source_play
openal_source_set
Fonctions OpenAL


Définie une propriété de la source

openal_source_rewind
openal_source_stop
Fonctions OpenAL
PHP Manual

openal_source_set

(PECL openal >= 0.1.0)

openal_source_set — Définie une propriété de la source

Description

bool openal_source_set ( resource $source , int $property , mixed $setting )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

property

La propriété à définir, une parmi celles-ci : AL_BUFFER (OpenAL(Source)), AL_LOOPING ( boolean ), AL_SOURCE_RELATIVE ( int ), AL_SOURCE_STATE ( int ), AL_PITCH ( float ), AL_GAIN ( float ), AL_MIN_GAIN ( float ), AL_MAX_GAIN ( float ), AL_MAX_DISTANCE ( float ), AL_ROLLOFF_FACTOR ( float ), AL_CONE_OUTER_GAIN ( float ), AL_CONE_INNER_ANGLE ( float ), AL_CONE_OUTER_ANGLE ( float ), AL_REFERENCE_DISTANCE ( float ), AL_POSITION (array( float , float , float )), AL_VELOCITY (array( float , float , float )), AL_DIRECTION (array( float , float , float )).

setting

La valeur à assigner à la propriété spécifiée par le paramètre property. Référez-vous à la description de la propriété property pour une description des valeurs attendues.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_source_create() - Génère une ressource de source
  • openal_source_get() - Récupère une propriété de source OpenAL
  • openal_source_play() - Démarre la lecture de la source

openal_source_rewind
openal_source_stop
Fonctions OpenAL


Arrête la lecture de la source

openal_source_set
openal_stream
Fonctions OpenAL
PHP Manual

openal_source_stop

(PECL openal >= 0.1.0)

openal_source_stop — Arrête la lecture de la source

Description

bool openal_source_stop ( resource $source )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openal_source_play() - Démarre la lecture de la source
  • openal_source_pause() - Marque une pause dans la source
  • openal_source_rewind() - Revient en arrière dans la source

openal_source_set
openal_stream
Fonctions OpenAL


Démarre le streaming d'une source

openal_source_stop
Services d'identification
Fonctions OpenAL
PHP Manual

openal_stream

(PECL openal >= 0.1.0)

openal_stream — Démarre le streaming d'une source

Description

resource openal_stream ( resource $source , int $format , int $rate )

Liste de paramètres

source

Une ressource Open AL(Source) (précédemment créée par openal_source_create()).

format

Le format du paramètre data, un parmi ceux-là : AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 et AL_FORMAT_STEREO16.

rate

La fréquence des données à streamer, en Hz.

Valeurs de retour

Retourne une ressource de streaming ou FALSE si une erreur survient.

Voir aussi

  • openal_source_create() - Génère une ressource de source
  • fwrite() - Écrit un fichier en mode binaire

openal_source_stop
Services d'identification
Fonctions OpenAL


Services d'identification

  • KADM5 — Kerberos V
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions KADM5
  • Radius
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Radius
openal_stream
KADM5
Référence des fonctions


Kerberos V

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
    • Constantes pour les attributs des balises
    • Constantes pour les options
  • Exemples
    • Exemple général de l'extension KADM5
  • Fonctions KADM5
    • kadm5_chpass_principal — Modifie le mot de passe du principal
    • kadm5_create_principal — Crée un principal kerberos avec les paramètres donnés
    • kadm5_delete_principal — Efface un principal kerberos
    • kadm5_destroy — Ferme la connexion avec le serveur d'administration et libère toutes les ressources associées
    • kadm5_flush — Valide toutes les modifications de la base de données Kerberos
    • kadm5_get_policies — Récupère toutes les directives depuis la base de données Kerberos
    • kadm5_get_principal — Récupère les entrées des éléments principaux depuis la base de données Kerberos
    • kadm5_get_principals — Récupère tous les éléments principaux depuis la base de données Kerberos
    • kadm5_init_with_password — Ouvre une connexion à la bibliothèque KADM5
    • kadm5_modify_principal — Modifie un principal Kerberos avec les paramètres donnés
Services d'identification
Introduction
Services d'identification


Introduction

Ce paquet vous permet d'accéder à l'administration des serveurs Kerberos V. Vous pourrez créer, modifier et effacer les directives et les éléments principaux Kerberos V.

Plus d'informations à propos de Kerberos peuvent être trouvées sur » http://web.mit.edu/kerberos/www/.

La documentation sur Kerberos et KADM5 peut être trouvée sur » http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.

KADM5
Installation/Configuration
KADM5


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
KADM5


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/kadm5.

Note: Si vous utilisez cette option sans spécifier le chemin vers KADM5, PHP utilisera les bibliothèques clientes internes de KADM5. Les utilisateurs qui exécutent d'autres applications qui utilisent également KADM5 (par exemple, l'exécution de PHP 4 et PHP 5 comme modules apache concurrent, ou auth-kadm5), doivent également spécifier le chemin vers KADM5 : --with-kadm5=/path/to/kadm5. Ceci forcera PHP à utiliser les bibliothèques clientes installées par KADM5, évitant ainsi les conflits.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension dÃ©finit un gestionnaire KADM5 retournÃ© par la fonction kadm5_init_with_password().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Sommaire

  • Constantes pour les attributs des balises
  • Constantes pour les options

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Types de ressources
Constantes pour les attributs des balises
KADM5


Constantes pour les attributs des balises

Les fonctions kadm5_create_principal(),
kadm5_modify_principal() et
kadm5_modify_principal() vous permettent
de spécifier des attributs spéciaux utilisant un champ de bits.
Les symboles sont définis ci-dessous :

Attributs à utiliser par KDC
constante
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

Constantes pré-définies
Constantes pour les options
Constantes pré-définies


Constantes pour les options

Les fonctions kadm5_create_principal(), kadm5_modify_principal() et kadm5_get_principal() permettent de spécifier ou retourner les options des éléments principaux en tant que tableaux associatifs. Les clés pour le tableau associatif sont définies en tant que constantes ci-dessous :

Options pour créer/modifier/récupérer des éléments principaux
constante | type | description
KADM5_PRINCIPAL | long | Le délai d'expiration des éléments principaux en tant que timestamp Kerberos.
KADM5_PRINC_EXPIRE_TIME | long | Le délai d'expiration des éléments principaux en tant que timestamp Kerberos.
KADM5_LAST_PW_CHANGE | long | Le délai pendant lequel le mot de passe du principal a été changé pour la dernière fois.
KADM5_PW_EXPIRATION | long | Le délai d'expiration du mot de passe du principal courant, en tant que timestamp Kerberos.
KADM5_MAX_LIFE | long | La durée de vie maximale de tous les tickets Kerberos issus de ce principal.
KADM5_MAX_RLIFE | long | La durée maximale renouvelable de tous les tickets Kerberos issus de ce principal.
KADM5_MOD_NAME | string | Le nom du principal Kerberos qui a modifié ce principal le plus récemment.
KADM5_MOD_TIME | long | L'heure à laquelle ce principal a été modifié pour la dernière fois, en tant que timestamp Kerberos.
KADM5_KVNO | long | La version de la clé courante du principal.
KADM5_POLICY | string | Le nom de la directive contrôlant ce principal.
KADM5_CLEARPOLICY | long | La procédure standard servant à assigner la directive par défaut pour créer des éléments principaux. KADM5_CLEARPOLICY supprime ce comportement.
KADM5_LAST_SUCCESS | long | L'heure KDC de la dernière AS_REQ qui a réussi.
KADM5_LAST_FAILED | long | L'heure KDC de la dernière AS_REQ qui a échoué.
KADM5_FAIL_AUTH_COUNT | long | Le nombre d'échec récursif AS_REQs.
KADM5_RANDKEY | long | Génère un mot de passe aléatoire pour le principal. Le paramètre password sera ignoré.
KADM5_ATTRIBUTES | long | Un champ de bits d'attributs à utiliser par KDC.

Constantes pour les attributs des balises
Exemples
Constantes pré-définies


Exemples

Sommaire

  • Exemple général de l'extension KADM5
Constantes pour les options
Exemple général de l'extension KADM5
KADM5


Exemple général de l'extension KADM5

Exemples
Fonctions KADM5
Exemples
PHP Manual

Cet exemple simple montre comment se connecter, interroger, imprimer les éléments principaux et se déconnecter depuis une base de données KADM5.

Exemple #1 Exemple général de l'extension KADM5

<?php

  $handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

  print "<h1>get_principals</h1>\n";
  $principals = kadm5_get_principals($handle);
  for( $i=0; $i<count($principals); $i++)
      print "$principals[$i]<br>\n";

  print "<h1>get_policies</h1>\n";
  $policies = kadm5_get_policies($handle);
  for( $i=0; $i<count($policies); $i++)
      print "$policies[$i]<br>\n";

  print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

  $options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
  $keys = array_keys($options);
  for( $i=0; $i<count($keys); $i++) {
    $value = $options[$keys[$i]];
    print "$keys[$i]: $value<br>\n";
  }

  $options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

  kadm5_destroy($handle);
?>

Exemples
Fonctions KADM5
Exemples


Fonctions KADM5

Sommaire

  • kadm5_chpass_principal — Modifie le mot de passe du principal
  • kadm5_create_principal — Crée un principal kerberos avec les paramètres donnés
  • kadm5_delete_principal — Efface un principal kerberos
  • kadm5_destroy — Ferme la connexion avec le serveur d'administration et libère toutes les ressources associées
  • kadm5_flush — Valide toutes les modifications de la base de données Kerberos
  • kadm5_get_policies — Récupère toutes les directives depuis la base de données Kerberos
  • kadm5_get_principal — Récupère les entrées des éléments principaux depuis la base de données Kerberos
  • kadm5_get_principals — Récupère tous les éléments principaux depuis la base de données Kerberos
  • kadm5_init_with_password — Ouvre une connexion à la bibliothèque KADM5
  • kadm5_modify_principal — Modifie un principal Kerberos avec les paramètres donnés
Exemple général de l'extension KADM5
kadm5_chpass_principal
KADM5


Modifie le mot de passe du principal

Fonctions KADM5
kadm5_create_principal
Fonctions KADM5
PHP Manual

kadm5_chpass_principal

(PECL kadm5 >= 0.2.3)

kadm5_chpass_principal — Modifie le mot de passe du principal

Description

bool kadm5_chpass_principal ( resource $handle , string $principal , string $password )

kadm5_chpass_principal() définit un nouveau mot de passe password pour le principal.

Liste de paramètres

handle

Un gestionnaire KADM5.

principal

Le principal.

password

Le nouveau mot de passe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de modification du mot de passe du principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_chpass_principal($handle, "burbach@GONICUS.LOCAL", "newpassword");

kadm5_destroy($handle);
?>

Fonctions KADM5
kadm5_create_principal
Fonctions KADM5


Crée un principal kerberos avec les paramètres donnés

kadm5_chpass_principal
kadm5_delete_principal
Fonctions KADM5
PHP Manual

kadm5_create_principal

(PECL kadm5 >= 0.2.3)

kadm5_create_principal — Crée un principal kerberos avec les paramètres donnés

Description

bool kadm5_create_principal ( resource $handle , string $principal [, string $password [, array $options ]] )

kadm5_create_principal() crée un principal avec le mot de passe password donné.

Liste de paramètres

handle

Un gestionnaire KADM5.

principal

Le principal.

password

Si password n'est pas spécifié ou s'il vaut NULL, une clé aléatoire sera générée.

options

Il est possible de spécifier plusieurs paramètres optionnels avec le tableau options. Les options suivantes sont autorisées : KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de création d'un principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Voir aussi

  • kadm5_modify_principal() - Modifie un principal Kerberos avec les paramètres donnés
  • kadm5_delete_principal() - Efface un principal kerberos

kadm5_chpass_principal
kadm5_delete_principal
Fonctions KADM5


Efface un principal kerberos

kadm5_create_principal
kadm5_destroy
Fonctions KADM5
PHP Manual

kadm5_delete_principal

(PECL kadm5 >= 0.2.3)

kadm5_delete_principal — Efface un principal kerberos

Description

bool kadm5_delete_principal ( resource $handle , string $principal )

Efface un principal depuis la base de données Kerberos.

Liste de paramètres

handle

Un gestionnaire KADM5.

principal

Le principal à effacer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec kadm5_delete_principal()

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_delete_principal($handle, "burbach@GONICUS.LOCAL");

kadm5_destroy($handle);
?>

Voir aussi

  • kadm5_modify_principal() - Modifie un principal Kerberos avec les paramètres donnés
  • kadm5_create_principal() - Crée un principal kerberos avec les paramètres donnés

kadm5_create_principal
kadm5_destroy
Fonctions KADM5


Ferme la connexion avec le serveur d'administration et libère toutes les ressources associées

kadm5_delete_principal
kadm5_flush
Fonctions KADM5
PHP Manual

kadm5_destroy

(PECL kadm5 >= 0.2.3)

kadm5_destroy — Ferme la connexion avec le serveur d'administration et libère toutes les ressources associées

Description

bool kadm5_destroy ( resource $handle )

Ferme la connexion avec le serveur d'administration et libère toutes les ressources associées.

Liste de paramètres

handle

Un gestionnaire KADM5.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • kadm5_init_with_password() - Ouvre une connexion à la bibliothèque KADM5

kadm5_delete_principal
kadm5_flush
Fonctions KADM5


Valide toutes les modifications de la base de données Kerberos

kadm5_destroy
kadm5_get_policies
Fonctions KADM5
PHP Manual

kadm5_flush

(PECL kadm5 >= 0.2.3)

kadm5_flush — Valide toutes les modifications de la base de données Kerberos

Description

bool kadm5_flush ( resource $handle )

Valide toutes les modifications de la base de données Kerberos, et quitte la connexion ouverte du serveur d'administration Kerberos

Liste de paramètres

handle

Un gestionnaire KADM5.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

kadm5_destroy
kadm5_get_policies
Fonctions KADM5


Récupère toutes les directives depuis la base de données Kerberos

kadm5_flush
kadm5_get_principal
Fonctions KADM5
PHP Manual

kadm5_get_policies

(PECL kadm5 >= 0.2.3)

kadm5_get_policies — Récupère toutes les directives depuis la base de données Kerberos

Description

array kadm5_get_policies ( resource $handle )

Récupère un tableau contenant tous les noms des directives.

Liste de paramètres

handle

Un gestionnaire KADM5.

Valeurs de retour

Retourne un tableau de directives en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec kadm5_get_policies()

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_policies</h1>\n";
foreach (kadm5_get_policies($handle) as $policy) {
    echo "$policy<br />\n";
}

kadm5_destroy($handle);
?>

kadm5_flush
kadm5_get_principal
Fonctions KADM5


Récupère les entrées des éléments principaux depuis la base de données Kerberos

kadm5_get_policies
kadm5_get_principals
Fonctions KADM5
PHP Manual

kadm5_get_principal

(PECL kadm5 >= 0.2.3)

kadm5_get_principal — Récupère les entrées des éléments principaux depuis la base de données Kerberos

Description

array kadm5_get_principal ( resource $handle , string $principal )

Récupère les entrées des éléments principaux depuis la base de données Kerberos.

Liste de paramètres

handle

Un gestionnaire KADM5.

principal

Le principal.

Valeurs de retour

kadm5_get_principal() retourne un tableau associatif contenant les clés suivantes : KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME, KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS, KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT. en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec kadm5_get_principal()

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );

foreach ($options as $key => $value) {
    echo "$key: $value<br />\n";
}

kadm5_destroy($handle);
?>

Voir aussi

  • kadm5_get_principals() - Récupère tous les éléments principaux depuis la base de données Kerberos

kadm5_get_policies
kadm5_get_principals
Fonctions KADM5


Récupère tous les éléments principaux depuis la base de données Kerberos

kadm5_get_principal
kadm5_init_with_password
Fonctions KADM5
PHP Manual

kadm5_get_principals

(PECL kadm5 >= 0.2.3)

kadm5_get_principals — Récupère tous les éléments principaux depuis la base de données Kerberos

Description

array kadm5_get_principals ( resource $handle )

kadm5_get_principals() retourne un tableau contenant tous les noms des éléments principaux.

Liste de paramètres

handle

A KADM5 handle.

Valeurs de retour

Retourne un tableau d'éléments principaux en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec kadm5_get_principals()

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principals</h1>\n";
foreach (kadm5_get_principals($handle) as $principal) {
    echo "$principal<br />\n";
}

kadm5_destroy($handle);
?>

Voir aussi

  • kadm5_get_principal() - Récupère les entrées des éléments principaux depuis la base de données Kerberos

kadm5_get_principal
kadm5_init_with_password
Fonctions KADM5


Ouvre une connexion à la bibliothèque KADM5

kadm5_get_principals
kadm5_modify_principal
Fonctions KADM5
PHP Manual

kadm5_init_with_password

(PECL kadm5 >= 0.2.3)

kadm5_init_with_password — Ouvre une connexion à la bibliothèque KADM5

Description

resource kadm5_init_with_password ( string $admin_server , string $realm , string $principal , string $password )

Ouvre une connexion avec la bibliothèque KADM5 en utilisant le principal et le mot de passe password pour obtenir les créances initiales depuis le serveur d'administration admin_server.

Liste de paramètres

admin_server

Le serveur.

realm

Définit le domaine d'identification pour la connexion.

principal

Le principal.

password

Si password est omis ou s'il vaut NULL, une clé aléatoire sera générée.

Valeurs de retour

Retourne un gestionnaire KADM5 en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple d'initialisation KADM5

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

Notes

Note: La connexion doit être close après l'avoir utilisée avec la fonction kadm5_destroy().

Voir aussi

  • kadm5_destroy() - Ferme la connexion avec le serveur d'administration et libère toutes les ressources associées

kadm5_get_principals
kadm5_modify_principal
Fonctions KADM5


Modifie un principal Kerberos avec les paramètres donnés

kadm5_init_with_password
Radius
Fonctions KADM5
PHP Manual

kadm5_modify_principal

(PECL kadm5 >= 0.2.3)

kadm5_modify_principal — Modifie un principal Kerberos avec les paramètres donnés

Description

bool kadm5_modify_principal ( resource $handle , string $principal , array $options )

Modifie un principal Kerberos avec les paramètres donnés

Liste de paramètres

handle

Un gestionnaire KADM5.

principal

Le principal.

options

Il est possible de spécifier plusieurs paramètres optionnels avec un tableau d'options. Les options suivantes sont autorisées : KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE. KADM5_FAIL_AUTH_COUNT.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de modification d'un principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH;
$options = array(KADM5_PRINC_EXPIRE_TIME => 3451234,
KADM5_POLICY => "gonicus",
KADM5_ATTRIBUTES => $attributes);

kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

kadm5_destroy($handle);
?>

Voir aussi

  • kadm5_create_principal() - Crée un principal kerberos avec les paramètres donnés
  • kadm5_delete_principal() - Efface un principal kerberos

kadm5_init_with_password
Radius
Fonctions KADM5


Radius

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Radius
    • radius_acct_open — Crée une ressource Radius pour les comptes
    • radius_add_server — Ajoute un serveur
    • radius_auth_open — Crée une ressource Radius pour l'identification
    • radius_close — Libère toutes les ressources Radius
    • radius_config — Demande à la bibliothèque de lire un fichier de configuration donné
    • radius_create_request — Crée une demande de compte ou d'identification
    • radius_cvt_addr — Convertit des données brutes en adresse IP
    • radius_cvt_int — Convertit des données brutes en entier
    • radius_cvt_string — Convertit des données brutes en chaîne de caractères
    • radius_demangle_mppe_key — Dérive les clés mppe depuis des données
    • radius_demangle — Assèche des données
    • radius_get_attr — Extrait un attribut
    • radius_get_vendor_attr — Extrait un attribut spécifique au vendeur
    • radius_put_addr — Attache une adresse IP en tant qu'attribut
    • radius_put_attr — Attache un attribut binaire
    • radius_put_int — Attache un attribut entier
    • radius_put_string — Attache un attribut chaîne de caractères
    • radius_put_vendor_addr — Attache un attribut IP-Address spécifique à un vendeur
    • radius_put_vendor_attr — Attache un attribut binaire à un vendeur spécifique
    • radius_put_vendor_int — Attache un attribut entier à un vendeur spécifique
    • radius_put_vendor_string — Attache un attribut sous la forme d'une chaîne à un vendeur spécifique
    • radius_request_authenticator — Retourne l'identifiant demandé
    • radius_send_request — Envoie la demande et attente une réponse
    • radius_server_secret — Retourne le secret partagé
    • radius_strerror — Retourne un message d'erreur
kadm5_modify_principal
Introduction
Services d'identification


Introduction

Ce paquet est basé sur la bibliothèque libradius (Remote Authentication Dial In User Service) de FreeBSD. Il permet aux clients d'effectuer des identification et représentations par le biais de requêtes réseau sur des serveurs distants.

Cette extension PECL supporte tout le protocole Radius Authentication complet pour les identifications (» RFC 2865) et Radius Accounting (» RFC 2866). Ce paquet est disponible pour Unix (testé sous FreeBSD et Linux) mais aussi pour Windows.

Note: Une description de libradius peut être trouvée » ici. Une description détaillée du fichier de configuration peut être trouvée » ici.

Radius
Installation/Configuration
Radius


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Radius


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/radius.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

RADIUS_ACCESS_REQUEST ( )
Demande d'identification
RADIUS_ACCESS_ACCEPT ( )
Accès accepté
RADIUS_ACCESS_REJECT ( )
Accès rejeté
RADIUS_ACCOUNTING_REQUEST ( )
Demande de compte
RADIUS_ACCOUNTING_RESPONSE ( )
Réponse du compte
RADIUS_ACCESS_CHALLENGE ( )
Défi d'accès
RADIUS_USER_NAME (chaîne de caractères)
Nom d'utilisateur
RADIUS_USER_PASSWORD (chaîne de caractères)
Mot de passe
RADIUS_CHAP_PASSWORD (chaîne de caractères)
Chap Password: chappass = md5(ident + plaintextpass + challenge)
RADIUS_NAS_IP_ADDRESS (chaîne de caractères)
Adresse IP NAS
RADIUS_NAS_PORT (entier)
Port NAS
RADIUS_SERVICE_TYPE (entier)

Type de service :

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (entier)

Protocole encadré :

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (chaîne de caractères)
Adresse IP
RADIUS_FRAMED_IP_NETMASK (chaîne de caractères)
Netmasque
RADIUS_FRAMED_ROUTING (entier)
Routing
RADIUS_FILTER_ID (chaîne de caractères)
Identifiant de filtre
RADIUS_FRAMED_MTU (entier)
MTU
RADIUS_FRAMED_COMPRESSION (entier)

Compression :

  • RADIUS_COMP_NONE
  • RADIUS_COMP_VJ
  • RADIUS_COMP_IPXHDR

RADIUS_LOGIN_IP_HOST (chaîne de caractères)
Login IP Host
RADIUS_LOGIN_SERVICE (entier)
Login Service
RADIUS_LOGIN_TCP_PORT (entier)
Login TCP Port
RADIUS_REPLY_MESSAGE (chaîne de caractères)
Message de réponse
RADIUS_CALLBACK_NUMBER (chaîne de caractères)
Numéro de Callback
RADIUS_CALLBACK_ID (chaîne de caractères)
ID de Callback
RADIUS_FRAMED_ROUTE (chaîne de caractères)
Framed Route
RADIUS_FRAMED_IPX_NETWORK (chaîne de caractères)
Framed IPX Network
RADIUS_STATE (chaîne de caractères)
Statut
RADIUS_CLASS (entier)
Classe
RADIUS_VENDOR_SPECIFIC (entier)
Attribut spécifique au vendeur
RADIUS_SESSION_TIMEOUT (entier)
Timeout de la session
RADIUS_IDLE_TIMEOUT (entier)
Durée d'expiration
RADIUS_TERMINATION_ACTION (entier)
Action de termination
RADIUS_CALLED_STATION_ID (entier)
Called Station Id
RADIUS_CALLING_STATION_ID (chaîne de caractères)
Calling Station Id
RADIUS_NAS_IDENTIFIER (entier)
NAS ID
RADIUS_PROXY_STATE (entier)
Proxy State
RADIUS_LOGIN_LAT_SERVICE (entier)
Login LAT Service
RADIUS_LOGIN_LAT_NODE (entier)
Login LAT Node
RADIUS_LOGIN_LAT_GROUP (entier)
Login LAT Group
RADIUS_FRAMED_APPLETALK_LINK (entier)
Framed Appletalk Link
RADIUS_FRAMED_APPLETALK_NETWORK (entier)
Framed Appletalk Network
RADIUS_FRAMED_APPLETALK_ZONE (entier)
Framed Appletalk Zone
RADIUS_CHAP_CHALLENGE (chaîne de caractères)
Challenge
RADIUS_NAS_PORT_TYPE (entier)

Type du port NAS :

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (entier)
Port Limit
RADIUS_LOGIN_LAT_PORT (entier)
Login LAT Port
RADIUS_CONNECT_INFO (chaîne de caractères)
Connect info
RADIUS_ACCT_STATUS_TYPE (entier)

Type de statut du compte :

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (entier)
Accounting delay time
RADIUS_ACCT_INPUT_OCTETS (entier)
Accounting input bytes
RADIUS_ACCT_OUTPUT_OCTETS (entier)
Accounting output bytes
RADIUS_ACCT_SESSION_ID (entier)
Accounting session ID
RADIUS_ACCT_AUTHENTIC (entier)

Accounting authentic, un parmi :

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (entier)
Accounting session time
RADIUS_ACCT_INPUT_PACKETS (entier)
Accounting input packets
RADIUS_ACCT_OUTPUT_PACKETS (entier)
Accounting output packets
RADIUS_ACCT_TERMINATE_CAUSE (entier)

Accounting terminate cause, un parmi :

  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (chaîne de caractères)
Accounting multisession ID
RADIUS_ACCT_LINK_COUNT (entier)
Accounting link count
RADIUS_VENDOR_MICROSOFT (entier)

Attributs spécifiques à Microsoft (» RFC 2548) :

  • RADIUS_MICROSOFT_MS_CHAP_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP_ERROR
  • RADIUS_MICROSOFT_MS_CHAP_PW_1
  • RADIUS_MICROSOFT_MS_CHAP_PW_2
  • RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
  • RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
  • RADIUS_MICROSOFT_MS_RAS_VENDOR
  • RADIUS_MICROSOFT_MS_CHAP_DOMAIN
  • RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
  • RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
  • RADIUS_MICROSOFT_MS_BAP_USAGE
  • RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
  • RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
  • RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
  • RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
  • RADIUS_MICROSOFT_MS_RAS_VERSION
  • RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
  • RADIUS_MICROSOFT_MS_FILTER
  • RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
  • RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
  • RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
  • RADIUS_MICROSOFT_MS_CHAP2_PW
  • RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_ARAP_CHALLENGE

Types de ressources
Exemples
Radius


Exemples

Comment commencer ?

  • récupérez une ressource radius
  • configurez la bibliothèque
  • créez la requête
  • ajoutez les attributs
  • envoyez la requête
  • récupérer les attributs
  • fermez la ressource radius (optionnel)
Regardez également aux exemples fournis avec ce paquet.

Le paquet contient un exemple de script PHP. Ce script montre une identification avec radius, en utilisant PAP ou CHAP (md5). Si vous effectuer une identification via Microsoft Radius servers, alors il est possible d'utiliser CHAP (md5). Si vous voulez vous identifier avec Microsoft Servers, vous devez utiliser MS-CHAPv1 ou MS-CHAPv2, mais c'est plus compliqué, car vous devez avoir md4, sha1 et des pour générer les bonnes données. L'exemple fourni montre toutes les méthodes d'identification, incluant MS-CHAPv1 et MS-CHAPv2. Pour faire en sorte que MS-CHAP fonctionne, vous devez activer les extensions mcrypt et mhash, à partir de la version 1.2 de ce paquet, l'extension mcrypt n'est plus nécessaire.

Constantes pré-définies
Fonctions Radius
Radius


Fonctions Radius

Contact

Si vous avez des commentaires, des corrections de bogues, des améliorations ou si vous voulez aider dans le développement, vous pouvez envoyer un email à » mbretter@php.net.

Sommaire

  • radius_acct_open — Crée une ressource Radius pour les comptes
  • radius_add_server — Ajoute un serveur
  • radius_auth_open — Crée une ressource Radius pour l'identification
  • radius_close — Libère toutes les ressources Radius
  • radius_config — Demande à la bibliothèque de lire un fichier de configuration donné
  • radius_create_request — Crée une demande de compte ou d'identification
  • radius_cvt_addr — Convertit des données brutes en adresse IP
  • radius_cvt_int — Convertit des données brutes en entier
  • radius_cvt_string — Convertit des données brutes en chaîne de caractères
  • radius_demangle_mppe_key — Dérive les clés mppe depuis des données
  • radius_demangle — Assèche des données
  • radius_get_attr — Extrait un attribut
  • radius_get_vendor_attr — Extrait un attribut spécifique au vendeur
  • radius_put_addr — Attache une adresse IP en tant qu'attribut
  • radius_put_attr — Attache un attribut binaire
  • radius_put_int — Attache un attribut entier
  • radius_put_string — Attache un attribut chaîne de caractères
  • radius_put_vendor_addr — Attache un attribut IP-Address spécifique à un vendeur
  • radius_put_vendor_attr — Attache un attribut binaire à un vendeur spécifique
  • radius_put_vendor_int — Attache un attribut entier à un vendeur spécifique
  • radius_put_vendor_string — Attache un attribut sous la forme d'une chaîne à un vendeur spécifique
  • radius_request_authenticator — Retourne l'identifiant demandé
  • radius_send_request — Envoie la demande et attente une réponse
  • radius_server_secret — Retourne le secret partagé
  • radius_strerror — Retourne un message d'erreur
Exemples
radius_acct_open
Radius


Crée une ressource Radius pour les comptes

Fonctions Radius
radius_add_server
Fonctions Radius
PHP Manual

radius_acct_open

(PECL radius >= 1.1.0)

radius_acct_open — Crée une ressource Radius pour les comptes

Description

resource radius_acct_open ( void )

Valeurs de retour

Retourne une ressource en cas de succès ou FALSE si une erreur survient. Cette fonction n'échoue que s'il y a un manque de mémoire.

Exemples

Exemple #1 Exemple avec radius_acct_open()

<?php
$res = radius_acct_open ()
    or die ("Impossible de créer la ressource");
print("La ressource a été créée avec succès");
?>

Fonctions Radius
radius_add_server
Fonctions Radius


Ajoute un serveur

radius_acct_open
radius_auth_open
Fonctions Radius
PHP Manual

radius_add_server

(PECL radius >= 1.1.0)

radius_add_server — Ajoute un serveur

Description

bool radius_add_server ( resource $radius_handle , string $hostname , int $port , string $secret , int $timeout , int $max_tries )

radius_add_server() peut être utilisé plusieurs fois, et il peut être utilisé avec la fonction radius_config(). Tout au plus, 10 serveurs peuvent être spécifiés. Lorsque plusieurs serveurs sont fournis, ils sont essayés à la façon round-robin tant qu'une réponse valide n'est pas reçue, ou tant que la limite max_tries de chaque serveur n'est pas atteinte.

Liste de paramètres

radius_handle

hostname

Le paramètre hostname spécifie l'hôte serveur, soit en tant que nom de domaine qualifié, soit en tant qu'adresse IP.

port

Le port spécifie le port UDP à contacter sur le serveur. Si le port donné vaut 0, la bibliothèque recherchera le service radius/udp ou radacct/udp dans la base de données des services du réseau et utilisera le port s'y trouvant. Si aucune entrée n'est trouvée, la bibliothèque utilisera les ports Radius standards, 1812 pour l'identification et 1813 pour les comptes.

secret

Le secret partagé pour l'hôte serveur est passé au paramètre secret. Le protocole Radius ignore tout mais garde les 128 premiers octets du secret partagé.

timeout

Le délai limite pour recevoir les réponses du serveur est passé au paramètre timeout, sous la forme de seconde.

max_tries

Le nombre maximal de requêtes répétées à faire avant d'échouer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_add_server()

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'Erreur Radius :' . radius_strerror($res). "\n<br>";
    exit;
}
?>

Voir aussi

  • radius_config() - Demande à la bibliothèque de lire un fichier de configuration donné

radius_acct_open
radius_auth_open
Fonctions Radius


Crée une ressource Radius pour l'identification

radius_add_server
radius_close
Fonctions Radius
PHP Manual

radius_auth_open

(PECL radius >= 1.1.0)

radius_auth_open — Crée une ressource Radius pour l'identification

Description

resource radius_auth_open ( void )

Valeurs de retour

Retourne une ressource en cas de succès ou FALSE si une erreur survient. Cette fonction n'échoue que s'il y a un manque de mémoire.

Exemples

Exemple #1 Exemple avec radius_auth_open()

<?php
$radh = radius_auth_open()
    or die ("Impossible de créer la ressource");
echo "La ressource a été créée avec succès";
?>

radius_add_server
radius_close
Fonctions Radius


Libère toutes les ressources Radius

radius_auth_open
radius_config
Fonctions Radius
PHP Manual

radius_close

(PECL radius >= 1.1.0)

radius_close — Libère toutes les ressources Radius

Description

bool radius_close ( resource $radius_handle )

Il n'est pas nécessaire d'appeler cette fonction car PHP libère toutes les ressources à la fin de chaque demande.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

radius_auth_open
radius_config
Fonctions Radius


Demande à la bibliothèque de lire un fichier de configuration donné

radius_close
radius_create_request
Fonctions Radius
PHP Manual

radius_config

(PECL radius >= 1.1.0)

radius_config — Demande à la bibliothèque de lire un fichier de configuration donné

Description

bool radius_config ( resource $radius_handle , string $file )

Avant toute demande Radius, la bibliothèque doit connaître le serveur à contacter. La manière simple de configurer la bibliothèque est d'appeler la fonction radius_config(). radius_config() demande à la bibliothèque de lire un fichier de configuration dont le format est décrit sur la page » radius.conf.

Liste de paramètres

radius_handle

file

Le chemin vers le fichier de configuration est passé en tant qu'argument à la fonction radius_config(). La bibliothèque peut également être configurée en appelant la fonction radius_add_server().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • radius_add_server() - Ajoute un serveur

radius_close
radius_create_request
Fonctions Radius


Crée une demande de compte ou d'identification

radius_config
radius_cvt_addr
Fonctions Radius
PHP Manual

radius_create_request

(PECL radius >= 1.1.0)

radius_create_request — Crée une demande de compte ou d'identification

Description

bool radius_create_request ( resource $radius_handle , int $type )

Une demande Radius consiste en du code spécifiant une demande spécifique, ainsi que zéro ou plusieurs attributs qui fournissent des informations supplémentaires. Pour commencer à construire une nouvelle demande, appelez la fonction radius_create_request().

Note: Attention : Vous devez appeler cette fonction avant de passer n'importe quel argument !

Liste de paramètres

radius_handle

type

Le type est RADIUS_ACCESS_REQUEST ou RADIUS_ACCOUNTING_REQUEST.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_create_request()

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'Erreur Radius :' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Voir aussi

  • radius_send_request() - Envoie la demande et attente une réponse

radius_config
radius_cvt_addr
Fonctions Radius


Convertit des données brutes en adresse IP

radius_create_request
radius_cvt_int
Fonctions Radius
PHP Manual

radius_cvt_addr

(PECL radius >= 1.1.0)

radius_cvt_addr — Convertit des données brutes en adresse IP

Description

string radius_cvt_addr ( string $data )

Exemples

Exemple #1 Exemple avec radius_cvt_addr()

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Erreur lors de la récupération des attributs : %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP : $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASQUE : $mask<br>\n";
        break;
    }
}
?>

Voir aussi

  • radius_cvt_int() - Convertit des données brutes en entier
  • radius_cvt_string() - Convertit des données brutes en chaîne de caractères

radius_create_request
radius_cvt_int
Fonctions Radius


Convertit des données brutes en entier

radius_cvt_addr
radius_cvt_string
Fonctions Radius
PHP Manual

radius_cvt_int

(PECL radius >= 1.1.0)

radius_cvt_int — Convertit des données brutes en entier

Description

int radius_cvt_int ( string $data )

Exemples

Exemple #1 Exemple avec radius_cvt_int()

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Erreur lors de la récupération des attributs : %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU : $mtu<br>\n";
        break;
    }
}
?>

Voir aussi

  • radius_cvt_addr() - Convertit des données brutes en adresse IP
  • radius_cvt_string() - Convertit des données brutes en chaîne de caractères

radius_cvt_addr
radius_cvt_string
Fonctions Radius


Convertit des données brutes en chaîne de caractères

radius_cvt_int
radius_demangle_mppe_key
Fonctions Radius
PHP Manual

radius_cvt_string

(PECL radius >= 1.1.0)

radius_cvt_string — Convertit des données brutes en chaîne de caractères

Description

string radius_cvt_string ( string $data )

Exemples

Exemple #1 Exemple avec radius_cvt_string()

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Erreur lors de la récupération des attributs : %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filtre ID : $id<br>\n";
        break;
    }
}
?>

Voir aussi

  • radius_cvt_addr() - Convertit des données brutes en adresse IP
  • radius_cvt_int() - Convertit des données brutes en entier

radius_cvt_int
radius_demangle_mppe_key
Fonctions Radius


Dérive les clés mppe depuis des données

radius_cvt_string
radius_demangle
Fonctions Radius
PHP Manual

radius_demangle_mppe_key

(PECL radius >= 1.2.0)

radius_demangle_mppe_key — Dérive les clés mppe depuis des données

Description

string radius_demangle_mppe_key ( resource $radius_handle , string $mangled )

Lors de l'utilisation de MPPE avec MS-CHAPv2, les clés reçues et envoyées sont "séchées" (voir la » RFC 2548), cependant, cette fonction est utile, car je ne sais pas s'il y a ou pas une implémentation de PPTP-MPPE dans PHP.

Valeurs de retour

Retourne la chaîne ou FALSE si une erreur survient.

radius_cvt_string
radius_demangle
Fonctions Radius


Assèche des données

radius_demangle_mppe_key
radius_get_attr
Fonctions Radius
PHP Manual

radius_demangle

(PECL radius >= 1.2.0)

radius_demangle — Assèche des données

Description

string radius_demangle ( resource $radius_handle , string $mangled )

Quelques données (mots de passe, clés MS-CHAPv1 MPPE) sont "séchées" pour des raisons de sécurité et doivent être "asséchées" avant de pouvoir les utiliser.

Valeurs de retour

Retourne la chaîne "asséchées" ou FALSE si une erreur survient.

radius_demangle_mppe_key
radius_get_attr
Fonctions Radius


Extrait un attribut

radius_demangle
radius_get_vendor_attr
Fonctions Radius
PHP Manual

radius_get_attr

(PECL radius >= 1.1.0)

radius_get_attr — Extrait un attribut

Description

mixed radius_get_attr ( resource $radius_handle )

Comme les demandes Radius, chaque réponse doit contenir zéro ou plusieurs attributs. Après la réception d'une réponse avec succès par la fonction radius_send_request(), ces attributs peuvent être extraits un par un en utilisant la fonction radius_get_attr(). À chaque appel de radius_get_attr(), le prochain attribut est récupéré depuis la réponse courante.

Valeurs de retour

Retourne un tableau associatif contenant le type de l'attribut ainsi que les données ou un numéro d'erreur <= 0.

Exemples

Exemple #1 Exemple avec radius_get_attr()

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Erreur lors de la récupération de l'attribut : %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Attribut récupéré :%d %d octets %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Voir aussi

  • radius_put_attr() - Attache un attribut binaire
  • radius_get_vendor_attr() - Extrait un attribut spécifique au vendeur
  • radius_put_vendor_attr() - Attache un attribut binaire à un vendeur spécifique
  • radius_send_request() - Envoie la demande et attente une réponse

radius_demangle
radius_get_vendor_attr
Fonctions Radius


Extrait un attribut spécifique au vendeur

radius_get_attr
radius_put_addr
Fonctions Radius
PHP Manual

radius_get_vendor_attr

(PECL radius >= 1.1.0)

radius_get_vendor_attr — Extrait un attribut spécifique au vendeur

Description

array radius_get_vendor_attr ( string $data )

Si radius_get_attr() retourne RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() peut être appelé pour déterminer le vendeur.

Valeurs de retour

Retourne un tableau associatif contenant le type de l'attribut, le vendeur ainsi que les données, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_get_vendor_attr()

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Erreur lors de la récupération de l'attribut : %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Attribut récupéré :%d %d octets %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Récupération du vendeur de l'attribut :%d %d octets %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

Voir aussi

  • radius_get_attr() - Extrait un attribut
  • radius_put_vendor_attr() - Attache un attribut binaire à un vendeur spécifique

radius_get_attr
radius_put_addr
Fonctions Radius


Attache une adresse IP en tant qu'attribut

radius_get_vendor_attr
radius_put_attr
Fonctions Radius
PHP Manual

radius_put_addr

(PECL radius >= 1.1.0)

radius_put_addr — Attache une adresse IP en tant qu'attribut

Description

bool radius_put_addr ( resource $radius_handle , int $type , string $addr )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

radius_get_vendor_attr
radius_put_attr
Fonctions Radius


Attache un attribut binaire

radius_put_addr
radius_put_int
Fonctions Radius
PHP Manual

radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attache un attribut binaire

Description

bool radius_put_attr ( resource $radius_handle , int $type , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_put_attr()

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'Erreur Radius :' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Voir aussi

  • radius_get_attr() - Extrait un attribut
  • radius_get_vendor_attr() - Extrait un attribut spécifique au vendeur
  • radius_put_vendor_attr() - Attache un attribut binaire à un vendeur spécifique

radius_put_addr
radius_put_int
Fonctions Radius


Attache un attribut entier

radius_put_attr
radius_put_string
Fonctions Radius
PHP Manual

radius_put_int

(PECL radius >= 1.1.0)

radius_put_int — Attache un attribut entier

Description

bool radius_put_int ( resource $radius_handle , int $type , int $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_put_int()

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'Erreur Radius :' . radius_strerror($res). "\n<br />";
   exit;
}
?>

Voir aussi

  • radius_put_string() - Attache un attribut chaîne de caractères
  • radius_put_vendor_int() - Attache un attribut entier à un vendeur spécifique
  • radius_put_vendor_string() - Attache un attribut sous la forme d'une chaîne à un vendeur spécifique

radius_put_attr
radius_put_string
Fonctions Radius


Attache un attribut chaîne de caractères

radius_put_int
radius_put_vendor_addr
Fonctions Radius
PHP Manual

radius_put_string

(PECL radius >= 1.1.0)

radius_put_string — Attache un attribut chaîne de caractères

Description

bool radius_put_string ( resource $radius_handle , int $type , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_put_string()

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'Erreur Radius :' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Voir aussi

  • radius_put_int() - Attache un attribut entier
  • radius_put_vendor_int() - Attache un attribut entier à un vendeur spécifique
  • radius_put_vendor_string() - Attache un attribut sous la forme d'une chaîne à un vendeur spécifique

radius_put_int
radius_put_vendor_addr
Fonctions Radius


Attache un attribut IP-Address spécifique à un vendeur

radius_put_string
radius_put_vendor_attr
Fonctions Radius
PHP Manual

radius_put_vendor_addr

(PECL radius >= 1.1.0)

radius_put_vendor_addr — Attache un attribut IP-Address spécifique à un vendeur

Description

bool radius_put_vendor_addr ( resource $radius_handle , int $vendor , int $type , string $addr )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

radius_put_string
radius_put_vendor_attr
Fonctions Radius


Attache un attribut binaire à un vendeur spécifique

radius_put_vendor_addr
radius_put_vendor_int
Fonctions Radius
PHP Manual

radius_put_vendor_attr

(PECL radius >= 1.1.0)

radius_put_vendor_attr — Attache un attribut binaire à un vendeur spécifique

Description

bool radius_put_vendor_attr ( resource $radius_handle , int $vendor , int $type , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec radius_put_vendor_attr()

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'Erreur Radius :' . radius_strerror($res). "\n<br />";
    exit;
}
?>

Voir aussi

  • radius_get_vendor_attr() - Extrait un attribut spécifique au vendeur

radius_put_vendor_addr
radius_put_vendor_int
Fonctions Radius


Attache un attribut entier à un vendeur spécifique

radius_put_vendor_attr
radius_put_vendor_string
Fonctions Radius
PHP Manual

radius_put_vendor_int

(PECL radius >= 1.1.0)

radius_put_vendor_int — Attache un attribut entier à un vendeur spécifique

Description

bool radius_put_vendor_int ( resource $radius_handle , int $vendor , int $type , int $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • radius_put_vendor_string() - Attache un attribut sous la forme d'une chaîne à un vendeur spécifique

radius_put_vendor_attr
radius_put_vendor_string
Fonctions Radius


Attache un attribut sous la forme d'une chaîne à un vendeur spécifique

radius_put_vendor_int
radius_request_authenticator
Fonctions Radius
PHP Manual

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string — Attache un attribut sous la forme d'une chaîne à un vendeur spécifique

Description

bool radius_put_vendor_string ( resource $radius_handle , int $vendor , int $type , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • radius_put_vendor_int() - Attache un attribut entier à un vendeur spécifique

radius_put_vendor_int
radius_request_authenticator
Fonctions Radius


Retourne l'identifiant demandé

radius_put_vendor_string
radius_send_request
Fonctions Radius
PHP Manual

radius_request_authenticator

(PECL radius >= 1.1.0)

radius_request_authenticator — Retourne l'identifiant demandé

Description

string radius_request_authenticator ( resource $radius_handle )

L'identifiant demandé est nécessaire pour le rétablissement des données comme les mots de passe et les clés de chiffrement.

Valeurs de retour

Retourne l'identificateur demandé en tant que chaîne de caractères ou FALSE si une erreur survient.

Voir aussi

  • radius_demangle() - Assèche des données

radius_put_vendor_string
radius_send_request
Fonctions Radius


Envoie la demande et attente une réponse

radius_request_authenticator
radius_server_secret
Fonctions Radius
PHP Manual

radius_send_request

(PECL radius >= 1.1.0)

radius_send_request — Envoie la demande et attente une réponse

Description

int radius_send_request ( resource $radius_handle )

Après qu'une demande Radius ait été construite, elle est envoyé grâce à la fonction radius_send_request().

La fonction radius_send_request() envoie la requête et attend une réponse valide, essayant à nouveau, suivant la méthode round-robin autant que nécessaire.

Valeurs de retour

Si une réponse valide est reçue, radius_send_request() retourne le code Radius qui spécifie le type de réponse. C'est, typiquement, RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT ou RADIUS_ACCESS_CHALLENGE. Si aucune réponse valide n'est reçue, radius_send_request() retournera FALSE.

Voir aussi

  • radius_create_request() - Crée une demande de compte ou d'identification

radius_request_authenticator
radius_server_secret
Fonctions Radius


Retourne le secret partagé

radius_send_request
radius_strerror
Fonctions Radius
PHP Manual

radius_server_secret

(PECL radius >= 1.1.0)

radius_server_secret — Retourne le secret partagé

Description

string radius_server_secret ( resource $radius_handle )

Le secret partagé est nécessaire pour le rétablissement des données comme les mots de passe et les clés de chiffrement.

Valeurs de retour

Retourne le secret partagé du serveur en tant que chaîne de caractères ou FALSE si une erreur survient.

radius_send_request
radius_strerror
Fonctions Radius


Retourne un message d'erreur

radius_server_secret
Extensions relatives aux dates et aux heures
Fonctions Radius
PHP Manual

radius_strerror

(PECL radius >= 1.1.0)

radius_strerror — Retourne un message d'erreur

Description

string radius_strerror ( resource $radius_handle )

Si une fonction Radius échoue, alors, elle enregistre un message d'erreur. Ce message d'erreur peut être récupéré avec cette fonction.

Valeurs de retour

Retourne un message d'erreur en tant que chaîne de caractères.

radius_server_secret
Extensions relatives aux dates et aux heures
Fonctions Radius


Extensions relatives aux dates et aux heures

  • Calendar
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Calendar Fonctions
  • Date/Heure — Date et Heure
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Liste des Fuseaux Horaires Supportés
    • Formats de temps et de dates
    • DateTime — La classe DateTime
    • DateTimeZone — La classe DateTimeZone
    • DateInterval — La classe DateInterval
    • DatePeriod — La classe DatePeriod
    • Fonctions Date/Heure
radius_strerror
Calendar
Référence des fonctions


Calendar

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Calendar Fonctions
    • cal_days_in_month — Retourne le nombre de jours dans un mois, pour une année et un calendrier donné
    • cal_from_jd — Convertit le nombre de jours Julien en un calendrier spécifique
    • cal_info — Retourne des détails sur un calendrier
    • cal_to_jd — Convertit un calendrier en nombre de jours Julien
    • easter_date — Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée
    • easter_days — Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée
    • FrenchToJD — Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien
    • GregorianToJD — Convertit une date grégorienne en nombre de jours du calendrier Julien
    • JDDayOfWeek — Retourne le numéro du jour de la semaine
    • JDMonthName — Retourne le nom du mois
    • JDToFrench — Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain
    • JDToGregorian — Convertit le nombre de jours du calendrier Julien en date grégorienne
    • jdtojewish — Convertit le nombre de jours du calendrier Julien en date du calendrier juif
    • JDToJulian — Convertit le nombre de jours du calendrier Julien en date du calendrier Julien
    • jdtounix — Convertit un jour Julien en timestamp UNIX
    • JewishToJD — Convertit une date du calendrier Juif en nombre de jours du calendrier Julien
    • JulianToJD — Convertit un jours du calendrier Julien en un nombre de jours du calendrier Julien
    • unixtojd — Convertit un timestamp UNIX en un jour Julien
Extensions relatives aux dates et aux heures
Introduction
Extensions relatives aux dates et aux heures


Introduction

L'extension Calendar contient une série de fonctions afin de convertir simplement les différents formats de calendrier. Elles sont basées sur un comptage de jour Julien. Le comptage Julien est un comptage commençant le 1er Janvier 4713 A.J. Pour convertir les différents calendriers, vous devez tout d'abord convertir en nombre de jours Julien, puis, dans le type de calendrier de votre choix. Le comptage de jours Julien est très différent du calendrier Julien ! Pour plus d'informations sur le comptage en jours Julien, visitez cette page : » http://www.hermetic.ch/cal_stud/jdn.htm. Pour plus d'informations sur les différents calendriers, visitez cette page : » http://www.fourmilab.ch/documents/calendar/.

Calendar
Installation/Configuration
Calendar


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Calendar


Installation

Pour faire fonctionner ces fonctions avec PHP, vous devez le compiler avec l'option --enable-calendar.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CAL_GREGORIAN (entier)
CAL_JULIAN (entier)
CAL_JEWISH (entier)
CAL_FRENCH (entier)
CAL_NUM_CALS (entier)
CAL_DOW_DAYNO (entier)
CAL_DOW_SHORT (entier)
CAL_DOW_LONG (entier)
CAL_MONTH_GREGORIAN_SHORT (entier)
CAL_MONTH_GREGORIAN_LONG (entier)
CAL_MONTH_JULIAN_SHORT (entier)
CAL_MONTH_JULIAN_LONG (entier)
CAL_MONTH_JEWISH (entier)
CAL_MONTH_FRENCH (entier)

Les constantes suivantes sont disponibles depuis PHP 4.3.0 :

CAL_EASTER_DEFAULT (entier)
CAL_EASTER_ROMAN (entier)
CAL_EASTER_ALWAYS_GREGORIAN (entier)
CAL_EASTER_ALWAYS_JULIAN (entier)

Les constantes suivantes sont disponibles depuis PHP 5.0.0 :

CAL_JEWISH_ADD_ALAFIM_GERESH (entier)
CAL_JEWISH_ADD_ALAFIM (entier)
CAL_JEWISH_ADD_GERESHAYIM (entier)
Types de ressources
Calendar Fonctions
Calendar


Calendar Fonctions

Sommaire

  • cal_days_in_month — Retourne le nombre de jours dans un mois, pour une année et un calendrier donné
  • cal_from_jd — Convertit le nombre de jours Julien en un calendrier spécifique
  • cal_info — Retourne des détails sur un calendrier
  • cal_to_jd — Convertit un calendrier en nombre de jours Julien
  • easter_date — Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée
  • easter_days — Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée
  • FrenchToJD — Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien
  • GregorianToJD — Convertit une date grégorienne en nombre de jours du calendrier Julien
  • JDDayOfWeek — Retourne le numéro du jour de la semaine
  • JDMonthName — Retourne le nom du mois
  • JDToFrench — Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain
  • JDToGregorian — Convertit le nombre de jours du calendrier Julien en date grégorienne
  • jdtojewish — Convertit le nombre de jours du calendrier Julien en date du calendrier juif
  • JDToJulian — Convertit le nombre de jours du calendrier Julien en date du calendrier Julien
  • jdtounix — Convertit un jour Julien en timestamp UNIX
  • JewishToJD — Convertit une date du calendrier Juif en nombre de jours du calendrier Julien
  • JulianToJD — Convertit un jours du calendrier Julien en un nombre de jours du calendrier Julien
  • unixtojd — Convertit un timestamp UNIX en un jour Julien
Constantes pré-définies
cal_days_in_month
Calendar


Retourne le nombre de jours dans un mois, pour une année et un calendrier donné

Calendar Fonctions
cal_from_jd
Calendar Fonctions
PHP Manual

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5)

cal_days_in_month — Retourne le nombre de jours dans un mois, pour une année et un calendrier donné

Description

int cal_days_in_month ( int $calendar , int $month , int $year )

Retourne le nombre de jours dans le mois month de l'année year, pour le calendrier calendar.

Liste de paramètres

calendar

Calendrier à utiliser pour le calcul

month

Mois dans le calendrier sélectionné

year

Année dans le calendrier sélectionné

Valeurs de retour

Le nombre de jours dans le mois sélectionné, dans le calendrier fourni.

Exemples

Exemple #1 Exemple avec cal_days_in_month()

<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "Il y a $num jours en Août 2003";
?>

Calendar Fonctions
cal_from_jd
Calendar Fonctions


Convertit le nombre de jours Julien en un calendrier spécifique

cal_days_in_month
cal_info
Calendar Fonctions
PHP Manual

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_from_jd — Convertit le nombre de jours Julien en un calendrier spécifique

Description

array cal_from_jd ( int $jd , int $calendar )

cal_from_jd() convertit le nombre de jours Julien jd en une date du calendrier calendar. Les valeurs possibles pour calendar sont CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH et CAL_FRENCH.

Liste de paramètres

jd

Jour Julien, sous la forme d'un entier

calendar

Calendrier à utiliser

Valeurs de retour

Retourne un tableau contenant des informations sur le calendrier, comme le mois, le jour, l'année, le jour de la semaine, les noms abrégés et complets des jours de la semaine et du mois, et la date, sous la forme d'une chaîne de caractères "mois/jour/année".

Exemples

Exemple #1 Exemple avec cal_from_jd()

<?php
$today = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($today, CAL_GREGORIAN));
?>

L'exemple ci-dessus va afficher :

Array
(
   [date] => 8/16/2003
   [month] => 8
   [day] => 16
   [year] => 2003
   [dow] => 6
   [abbrevdayname] => Sat
   [dayname] => Saturday
   [abbrevmonth] => Aug
   [monthname] => August
)

Voir aussi

  • cal_to_jd() - Convertit un calendrier en nombre de jours Julien
  • jdtofrench() - Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain
  • jdtogregorian() - Convertit le nombre de jours du calendrier Julien en date grégorienne
  • jdtojewish() - Convertit le nombre de jours du calendrier Julien en date du calendrier juif
  • jdtojulian() - Convertit le nombre de jours du calendrier Julien en date du calendrier Julien
  • jdtounix() - Convertit un jour Julien en timestamp UNIX

cal_days_in_month
cal_info
Calendar Fonctions


Retourne des détails sur un calendrier

cal_from_jd
cal_to_jd
Calendar Fonctions
PHP Manual

cal_info

(PHP 4 >= 4.1.0, PHP 5)

cal_info — Retourne des détails sur un calendrier

Description

array cal_info ([ int $calendar = -1 ] )

cal_info() retourne des informations sur le calendrier calendar spécifié.

Les informations de calendriers sont retournées dans un tableau qui contient les éléments calname, calsymbol, month, abbrevmonth et maxdaysinmonth. Les noms des différents calendriers qui peuvent être utilisés dans le paramètre calendar sont les suivants :

  • 0 ou CAL_GREGORIAN - Calendrier Grégorien
  • 1 ou CAL_JULIAN - Calendrier Julien
  • 2 ou CAL_JEWISH - Calendrier juif
  • 3 ou CAL_FRENCH - Calendrier révolutionnaire français

Si le paramètre calendar n'est pas spécifié, un tableau représentant tous les calendriers est retourné.

Liste de paramètres

calendar

Calendrier dont on souhaite des informations. Si aucun calendrier n'est spécifié, des informations sur tous les calendriers seront retournées.

Valeurs de retour

Historique

Version | Description
Since 5.0 | Le paramètre calendar devient optionnel et vaut par défaut "tous calendriers" s'il n'est pas spécifié.

Exemples

Exemple #1 Exemple avec cal_info()

<?php
$info = cal_info(0);
print_r($info);
?>

L'exemple ci-dessus va afficher :

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)

cal_from_jd
cal_to_jd
Calendar Fonctions


Convertit un calendrier en nombre de jours Julien

cal_info
easter_date
Calendar Fonctions
PHP Manual

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_to_jd — Convertit un calendrier en nombre de jours Julien

Description

int cal_to_jd ( int $calendar , int $month , int $day , int $year )

cal_to_jd() calcule le nombre de jours Julien pour une date, dans le calendrier calendar. Les valeurs possibles pour calendar sont CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH et CAL_FRENCH.

Liste de paramètres

calendar

Calendrier à convertir. Un parmi CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH ou CAL_FRENCH.

month

Le mois, sous la forme d'un nombre. L'intervalle valide dépend du calendrier calendar

day

Le jour, sous la forme d'un nombre. L'intervalle valide dépend du calendrier calendar

year

L'année, sous la forme d'un nombre. L'intervalle valide dépend du calendrier calendar

Valeurs de retour

Le nombre de jour Julien.

Voir aussi

  • cal_from_jd() - Convertit le nombre de jours Julien en un calendrier spécifique
  • frenchtojd() - Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien
  • gregoriantojd() - Convertit une date grégorienne en nombre de jours du calendrier Julien
  • jewishtojd() - Convertit une date du calendrier Juif en nombre de jours du calendrier Julien
  • juliantojd() - Convertit un jours du calendrier Julien en un nombre de jours du calendrier Julien
  • unixtojd() - Convertit un timestamp UNIX en un jour Julien

cal_info
easter_date
Calendar Fonctions


Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée

cal_to_jd
easter_days
Calendar Fonctions
PHP Manual

easter_date

(PHP 4, PHP 5)

easter_date — Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée

Description

int easter_date ([ int $year ] )

Retourne un timestamp UNIX pour Pâques, à minuit, pour une année donnée.

Avertissement

Cette fonction génère une alerte si la date tombe hors de la zone de validité des timestamp UNIX (i.e. avant 1970 ou après 2037).

La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les dates des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis.

Liste de paramètres

year

L'année, sous la forme d'un nombre compris entre 1970 et 2037

Valeurs de retour

La date pour Pâques, sous la forme d'un timestamp unix.

Historique

Version | Description
Depuis la version 4.3.0 | Le paramètre year est optionnel et vaut par défaut l'année courante vis à vis de l'heure locale.

Exemples

Exemple #1 Exemple avec easter_date()

<?php

echo date("M-d-Y", easter_date(1999));        // Apr-04-1999
echo date("M-d-Y", easter_date(2000));        // Apr-23-2000
echo date("M-d-Y", easter_date(2001));        // Apr-15-2001

?>

Voir aussi

  • easter_days() - Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée pour le calcul de Pâques avant 1970 et après 2037

cal_to_jd
easter_days
Calendar Fonctions


Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée

easter_date
FrenchToJD
Calendar Fonctions
PHP Manual

easter_days

(PHP 4, PHP 5)

easter_days — Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée

Description

int easter_days ([ int $year [, int $method = CAL_EASTER_DEFAULT ]] )

Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée. Si l'année n'est pas précisée, l'année courante sera utilisée.

Cette fonction peut être utilisée à la place de easter_date() pour calculer la date de Pâques, pour les années qui tombent hors de l'intervalle de validité des timestamps UNIX (i.e. avant 1970 ou après 2037).

La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les date des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis.

Liste de paramètres

year

L'année, sous la forme d'un nombre positif

method

Permet le calcul des dates de Pâques en se basant sur le calendrier Grégorien pour les années entre 1582 et 1752 lorsque définit à CAL_EASTER_ROMAN. Voir les constantes des calendriers pour plus de constantes valides.

Valeurs de retour

Le nombre de jours entre le 21 Mars et Pâques, pour l'année year fournie.

Historique

Version | Description
Depuis la version 4.3.0 | Le paramètre year est optionnel et vaut par défaut, l'année courante du temps local.
Depuis la version 4.3.0 | Le paramètre method a été introduit.

Exemples

Exemple #1 Exemple avec easter_days()

<?php

echo easter_days(1999);        // 14, i.e. April 4
echo easter_days(1492);        // 32, i.e. April 22
echo easter_days(1913);        //  2, i.e. March 23

?>

Voir aussi

  • easter_date() - Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée

easter_date
FrenchToJD
Calendar Fonctions


Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien

easter_days
GregorianToJD
Calendar Fonctions
PHP Manual

FrenchToJD

(PHP 4, PHP 5)

FrenchToJD — Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien

Description

int frenchtojd ( int $month , int $day , int $year )

frenchtojd() convertit une date du calendrier français républicain en nombre de jours du calendrier Julien.

Ces fonctions convertissent les dates comprises entre l'an 1 et l'an 14 (22 Septembre 1792 à 22 Septembre 1806 en calendrier grégorien). Cela couvre plus que la durée d'existence de ce calendrier.

Liste de paramètres

month

Le mois, sous la forme d'un nombre entre 1 (pour Vendémiaire) à 13 (pour la période de 5-6 jours en à la fin de chaque année)

day

Le jour, sous la forme d'un nombre compris entre 1 et 30

year

L'année, sous la forme d'un nombre compris entre 1 et 14

Valeurs de retour

Le jour Julien pour la date fournie du calendrier français républicain, sous la forme d'un entier.

Voir aussi

  • jdtofrench() - Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain
  • cal_to_jd() - Convertit un calendrier en nombre de jours Julien

easter_days
GregorianToJD
Calendar Fonctions


Convertit une date grégorienne en nombre de jours du calendrier Julien

FrenchToJD
JDDayOfWeek
Calendar Fonctions
PHP Manual

GregorianToJD

(PHP 4, PHP 5)

GregorianToJD — Convertit une date grégorienne en nombre de jours du calendrier Julien

Description

int gregoriantojd ( int $month , int $day , int $year )

Intervalle de validité pour le calendrier grégorien : 4714 avant JC à 9999 après JC.A.D.

Bien qu'il soit possible de manipuler des dates jusqu'en 4714 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé le 18 octobre 1582 après J.C. (ou 5 octobre 1582 en calendrier grec). Certains pays ne l'acceptèrent que bien plus tard. Par exemple, les britanniques n'y passèrent qu'en 1752, les Russes en 1918 et les Grecs en 1923. La plupart des pays européens utilisaient le calendrier Julien avant le Grégorien.

Liste de paramètres

month

Le mois, sous la forme d'un nombre compris entre 1 (pour Janvier) et 12 (pour Décembre)

day

Le jour, sous la forme d'un nombre compris entre 1 et 31

year

L'année, sous la forme d'un nombre compris entre -4714 et 9999

Valeurs de retour

Le jour Julien pour la date fournie du calendrier Grégorien, sous la forme d'un entier.

Exemples

Exemple #1 Fonctions calendrier

<?php
$jd = GregorianToJD(10, 11, 1970);
echo "$jd\n";
$gregorian = JDToGregorian($jd);
echo "$gregorian\n";
?>

Voir aussi

  • jdtogregorian() - Convertit le nombre de jours du calendrier Julien en date grégorienne
  • cal_to_jd() - Convertit un calendrier en nombre de jours Julien

FrenchToJD
JDDayOfWeek
Calendar Fonctions


Retourne le numéro du jour de la semaine

GregorianToJD
JDMonthName
Calendar Fonctions
PHP Manual

JDDayOfWeek

(PHP 4, PHP 5)

JDDayOfWeek — Retourne le numéro du jour de la semaine

Description

mixed jddayofweek ( int $julianday [, int $mode = CAL_DOW_DAYNO ] )

Retourne le numéro du jour de la semaine. Peut retourner une chaîne ou un entier, en fonction du mode.

Liste de paramètres

julianday

Le numéro du jour Julien, sous la forme d'un entier

mode
Modes pour la semaine du calendrier
Mode | Signification
0 (défaut) | Retourne le numéro du jour comme un entier (0=dimanche, 1=lundi, etc.)
1 | Retourne une chaîne contenant le nom du jour (anglais grégorien)
2 | Retourne une chaîne contenant le nom abrégé du jour de la semaine (anglais grégorien)

Valeurs de retour

Le jour de la semaine Grégorien, sous la forme d'un entier ou d'une chaîne de caractères.

GregorianToJD
JDMonthName
Calendar Fonctions


Retourne le nom du mois

JDDayOfWeek
JDToFrench
Calendar Fonctions
PHP Manual

JDMonthName

(PHP 4, PHP 5)

JDMonthName — Retourne le nom du mois

Description

string jdmonthname ( int $julianday , int $mode )

Retourne une chaîne contenant le nom du mois. mode indique de quel calendrier dépend ce mois, et quel type de nom doit être retourné.

Modes de calendrier
Mode | Signification | Valeurs
0 | Grégorien - abrégé | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Grégorien | January, February, March, April, May, June, July, August, September, October, November, December
2 | Julien - abrégé | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Julien | January, February, March, April, May, June, July, August, September, October, November, December
4 | Juif | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | Républicain français | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Liste de paramètres

jday

Le jour Julien à analyser

calendar

Le calendrier dans lequel on récupère le nom du mois

Valeurs de retour

Le nom du mois pour le jour Julien donné, pour le calendrier calendar.

JDDayOfWeek
JDToFrench
Calendar Fonctions


Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain

JDMonthName
JDToGregorian
Calendar Fonctions
PHP Manual

JDToFrench

(PHP 4, PHP 5)

JDToFrench — Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain

Description

string jdtofrench ( int $juliandaycount )

Convertit le nombre de jours du calendrier julien en date du calendrier français républicain.

Liste de paramètres

julianday

Le numéro du jour Julien, sous la forme d'un entier

Valeurs de retour

La date française républicaine, sous la forme d'une chaîne de caractères "mois/jour/année".

Voir aussi

  • frenchtojd() - Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien
  • cal_from_jd() - Convertit le nombre de jours Julien en un calendrier spécifique

JDMonthName
JDToGregorian
Calendar Fonctions


Convertit le nombre de jours du calendrier Julien en date grégorienne

JDToFrench
jdtojewish
Calendar Fonctions
PHP Manual

JDToGregorian

(PHP 4, PHP 5)

JDToGregorian — Convertit le nombre de jours du calendrier Julien en date grégorienne

Description

string jdtogregorian ( int $julianday )

Convertit le nombre de jours du calendrier Julien en une chaîne contenant une date du calendrier grégorien, au format "mois/jour/année".

Liste de paramètres

julianday

Le numéro du jour Julien, sous la forme d'un entier

Valeurs de retour

La date grégorienne, sous la forme d'une chaîne de caractères "mois/jour/année".

Voir aussi

  • gregoriantojd() - Convertit une date grégorienne en nombre de jours du calendrier Julien
  • cal_from_jd() - Convertit le nombre de jours Julien en un calendrier spécifique

JDToFrench
jdtojewish
Calendar Fonctions


Convertit le nombre de jours du calendrier Julien en date du calendrier juif

JDToGregorian
JDToJulian
Calendar Fonctions
PHP Manual

jdtojewish

(PHP 4, PHP 5)

jdtojewish — Convertit le nombre de jours du calendrier Julien en date du calendrier juif

Description

string jdtojewish ( int $juliandaycount [, bool $hebrew = false [, int $fl = 0 ]] )

Convertit le nombre de jours du calendrier Julien en date du calendrier juif.

Les paramètres optionnels hebrew et fl sont disponibles depuis PHP 5.0.0.

Si le paramètre hebrew vaut TRUE, le paramètre fl sera utilisé pour générer une chaîne au format hébreux. Les formats disponibles sont : CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM et CAL_JEWISH_ADD_GERESHAYIM.

Liste de paramètres

julianday

Le nombre de jours Julien, sous la forme d'un entier

Valeurs de retour

La date Juive, sous la forme d'une chaîne de caractères "mois/jour/année".

Historique

Version | Description
5.0.0 | Les paramètres hebrew et fl ont été ajoutés. Le paramètre fl a été ajouté.
4.3.0 | Le paramètre hebrew a été ajouté.

Exemples

Exemple #1 Exemple avec jdtojewish()

<?php
echo jdtojewish(gregoriantojd(10, 8, 2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

Voir aussi

  • jewishtojd() - Convertit une date du calendrier Juif en nombre de jours du calendrier Julien
  • cal_from_jd() - Convertit le nombre de jours Julien en un calendrier spécifique

JDToGregorian
JDToJulian
Calendar Fonctions


Convertit le nombre de jours du calendrier Julien en date du calendrier Julien

jdtojewish
jdtounix
Calendar Fonctions
PHP Manual

JDToJulian

(PHP 4, PHP 5)

JDToJulian — Convertit le nombre de jours du calendrier Julien en date du calendrier Julien

Description

string jdtojulian ( int $julianday )

Convertit le nombre de jours du calendrier Julien en une chaîne contenant la date du calendrier Julien, au format "mois/jour/année".

Liste de paramètres

julianday

Le nombre de jours Julien, sous la forme d'un entier

Valeurs de retour

La date Julien, sous la forme d'une chaîne de caractères "mois/jour/année".

Voir aussi

  • juliantojd() - Convertit un jours du calendrier Julien en un nombre de jours du calendrier Julien
  • cal_from_jd() - Convertit le nombre de jours Julien en un calendrier spécifique

jdtojewish
jdtounix
Calendar Fonctions


Convertit un jour Julien en timestamp UNIX

JDToJulian
JewishToJD
Calendar Fonctions
PHP Manual

jdtounix

(PHP 4, PHP 5)

jdtounix — Convertit un jour Julien en timestamp UNIX

Description

int jdtounix ( int $jday )

Retourne un timestamp UNIX correspondant au jour Julien jday ou FALSE si jday n'est pas dans l'intervalle de validité de l'époque UNIX. (années grégoriennes entre 1970 et 2037 ou 2440588 <= jday <= 2465342 .) Le temps retourné est un temps local (et non GMT).

Liste de paramètres

jday

Le nombre de jours Julien, compris entre 2440588 et 2465342.

Valeurs de retour

Le timestamp unix pour le début du jour Julien donné.

Voir aussi

  • unixtojd() - Convertit un timestamp UNIX en un jour Julien

JDToJulian
JewishToJD
Calendar Fonctions


Convertit une date du calendrier Juif en nombre de jours du calendrier Julien

jdtounix
JulianToJD
Calendar Fonctions
PHP Manual

JewishToJD

(PHP 4, PHP 5)

JewishToJD — Convertit une date du calendrier Juif en nombre de jours du calendrier Julien

Description

int jewishtojd ( int $month , int $day , int $year )

Bien qu'il soit possible de manipuler des dates à partir de l'an 1 (3761 avant J.C.), une telle utilisation a peu de sens. Le calendrier juif a été utilisé depuis plusieurs dizaines de siècles, mais dans les premiers temps, il n'y avait pas de formule pour déterminer le début du mois. Un nouveau mois commençait quand une nouvelle lune était observée.

Liste de paramètres

month

Le mois, sous la forme d'un nombre entre 1 et 13

day

Le jour, sous la forme d'un nombre entre 1 et 30

year

L'année, sous la forme d'un nombre entre 1 et 9999

Valeurs de retour

Le jour Julien pour la date Juive donnée, sous la forme d'un entier.

Voir aussi

  • jdtojewish() - Convertit le nombre de jours du calendrier Julien en date du calendrier juif
  • cal_to_jd() - Convertit un calendrier en nombre de jours Julien

jdtounix
JulianToJD
Calendar Fonctions


Convertit un jours du calendrier Julien en un nombre de jours du calendrier Julien

JewishToJD
unixtojd
Calendar Fonctions
PHP Manual

JulianToJD

(PHP 4, PHP 5)

JulianToJD — Convertit un jours du calendrier Julien en un nombre de jours du calendrier Julien

Description

int juliantojd ( int $month , int $day , int $year )

Intervalle de validité du calendrier Julien : 4713 avant JC à 9999 après J.C.

Bien qu'il soit possible de manipuler des dates jusqu'en 4713 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé en 46 avant J.C., et ses détails ne furent finalisés qu'au plus tôt en 8 après JC, et probablement pas avant le quatrième siècle après JC. De plus, le début de l'année variait suivant les peuples, certains n'acceptant pas janvier comme premier mois de l'année.

Attention

Souvenez-vous, le calendrier courant du système utilisé sur le Web est un calendrier Grégorien. gregoriantojd() peut être utilisé pour convertir ce genre de dates en un nombre de jours du calendrier Julien.

Liste de paramètres

month

Le mois, sous la forme d'un nombre entre 1 (pour Janvier) et 12 (pour Décembre)

day

Le jour, sous la forme d'un nombre entre 1 et 31

year

L'année, sous la forme d'un nombre entre -4713 et 9999

Valeurs de retour

Le jour Julien pour la date Julienne donnée, sous la forme d'un entier.

Voir aussi

  • jdtojulian() - Convertit le nombre de jours du calendrier Julien en date du calendrier Julien
  • cal_to_jd() - Convertit un calendrier en nombre de jours Julien

JewishToJD
unixtojd
Calendar Fonctions


Convertit un timestamp UNIX en un jour Julien

JulianToJD
Date/Heure
Calendar Fonctions
PHP Manual

unixtojd

(PHP 4, PHP 5)

unixtojd — Convertit un timestamp UNIX en un jour Julien

Description

int unixtojd ([ int $timestamp = time() ] )

Retourne le jour Julien du timestamp UNIX timestamp (nombre de secondes depuis le 1/1/1970), ou pour le jour courant si timestamp est omis.

Liste de paramètres

timestamp

Un timestamp unix à convertir.

Valeurs de retour

Un nombre de jours Julien, sous la forme d'un entier.

Voir aussi

  • jdtounix() - Convertit un jour Julien en timestamp UNIX

JulianToJD
Date/Heure
Calendar Fonctions


Date et Heure

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Liste des Fuseaux Horaires Supportés
    • Afrique
    • Amerique
    • Antarctique
    • Arctique
    • Asie
    • Atlantique
    • Australie
    • Europe
    • Indien
    • Pacifique
    • Autres
  • Formats de temps et de dates
    • Formats pour les temps (Time)
    • Formats de dates
    • Formats composés
    • Formats relatifs
  • DateTime — La classe DateTime
    • DateTime::add — Ajoute une durée à un objet DateTime
    • DateTime::__construct — Retourne un nouvel objet DateTime
    • DateTime::createFromFormat — Retourne un nouvel objet DateTime formaté
    • DateTime::diff — Retourne la différence entre deux objets DateTime
    • DateTime::format — Retourne la date au format demandé
    • DateTime::getLastErrors — Retourne les dernières erreurs et alertes
    • DateTime::getOffset — Retourne le décalage horaire
    • DateTime::getTimestamp — Lit le timestamp Unix
    • DateTime::getTimezone — Lit le fuseau horaire d'un objet DateTime
    • DateTime::modify — Modifie le timestamp
    • DateTime::__set_state — Le gestionnaire __set_state
    • DateTime::setDate — Assigne la date
    • DateTime::setISODate — Configure une date ISO
    • DateTime::setTime — Assigne l'heure
    • DateTime::setTimestamp — Assigne la date et l'heure à l'aide d'un timestamp Unix
    • DateTime::setTimezone — Configure le fuseau horaire de l'objet DateTime
    • DateTime::sub — Soustrait une durée à un objet DateTime
    • DateTime::__wakeup — Le gestionnaire de __wakeup
  • DateTimeZone — La classe DateTimeZone
    • DateTimeZone::__construct — Crée un nouvel objet DateTimeZone
    • DateTimeZone::getLocation — Retourne les informations géographiques d'un fuseau horaire
    • DateTimeZone::getName — Retourne le nom du fuseau horaire
    • DateTimeZone::getOffset — Retourne le décalage GMT d'un fuseau horaire
    • DateTimeZone::getTransitions — Retourne toutes les transitions d'un fuseau horaire
    • DateTimeZone::listAbbreviations — Retourne un tableau associatif, décrivant un fuseau horaire
    • DateTimeZone::listIdentifiers — Retourne un tableau numérique de tous les fuseaux horaires
  • DateInterval — La classe DateInterval
    • DateInterval::__construct — Crée un nouvel objet DateInterval
    • DateInterval::createFromDateString — Configure un objet DateInterval à partir des parties d'une chaîne
    • DateInterval::format — Formate l'intervalle
  • DatePeriod — La classe DatePeriod
    • DatePeriod::__construct — Crée un nouvel objet DatePeriod
  • Fonctions Date/Heure
    • checkdate — Valide une date grégorienne
    • date_add — Alias de DateTime::add
    • date_create_from_format — Alias de DateTime::createFromFormat
    • date_create — Alias de DateTime::__construct
    • date_date_set — Alias de DateTime::setDate
    • date_default_timezone_get — Récupère le décalage horaire par défaut utilisé par toutes les fonctions date/heure dans un script
    • date_default_timezone_set — Définit le décalage horaire par défaut de toutes les fonctions date/heure
    • date_diff — Alias de DateTime::diff
    • date_format — Alias de DateTime::format
    • date_get_last_errors — Alias de DateTime::getLastErrors
    • date_interval_create_from_date_string — Alias de DateInterval::createFromDateString
    • date_interval_format — Alias de DateInterval::format
    • date_isodate_set — Alias de DateTime::setISODate
    • date_modify — Alias de DateTime::modify
    • date_offset_get — Alias de DateTime::getOffset
    • date_parse_from_format — Récupère les informations d'une date donnée
    • date_parse — Retourne un tableau associatif avec des informations détaillées sur une date donnée
    • date_sub — Alias de DateTime::sub
    • date_sun_info — Retourne un tableau avec les informations sur lever/coucher du soleil ainsi que le début et la fin de l'aube
    • date_sunrise — Retourne l'heure de levé du soleil pour un jour et un endroit donnés
    • date_sunset — Retourne l'heure de coucher du soleil pour un jour et un endroit donnés
    • date_time_set — Alias de DateTime::setTime
    • date_timestamp_get — Alias de DateTime::getTimestamp
    • date_timestamp_set — Alias de DateTime::setTimestamp
    • date_timezone_get — Alias de DateTime::getTimezone
    • date_timezone_set — Alias de DateTime::setTimezone
    • date — Formate une date/heure locale
    • getdate — Retourne la date/heure
    • gettimeofday — Retourne l'heure actuelle
    • gmdate — Formate une date/heure GMT/CUT
    • gmmktime — Retourne le timestamp UNIX d'une date GMT
    • gmstrftime — Formate une date/heure GMT/CUT en fonction de la configuration locale
    • idate — Formate une date/heure locale en tant qu'entier
    • localtime — Récupère l'heure locale
    • microtime — Retourne le timestamp UNIX actuel avec les microsecondes
    • mktime — Retourne le timestamp UNIX d'une date
    • strftime — Formate une date/heure locale avec la configuration locale
    • strptime — Analyse une date générée par strftime
    • strtotime — Transforme un texte anglais en timestamp
    • time — Retourne le timestamp UNIX actuel
    • timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations
    • timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers
    • timezone_location_get — Alias de DateTimeZone::getLocation
    • timezone_name_from_abbr — Retourne le nom du fuseau horaire à partir de son abréviation
    • timezone_name_get — Alias de DateTimeZone::getName
    • timezone_offset_get — Alias de DateTimeZone::getOffset
    • timezone_open — Alias de DateTimeZone::__construct
    • timezone_transitions_get — Alias de DateTimeZone::getTransitions
    • timezone_version_get — Lit la version de la timezonedb
unixtojd
Introduction
Extensions relatives aux dates et aux heures


Introduction

Ces fonctions vous permettent de récupérer la date et l'heure depuis le serveur où le script PHP s'exécute. Vous pouvez utiliser ces fonctions pour formater la date et l'heure de différentes façons.

Les informations quant à la date et l'heure sont stockées en interne comme nombre sur 64 bits, aussi, toutes les dates imaginables (y compris les dates négatives) sont supportées. L'intervalle va de 292 billions d'années dans le passé, et la même valeur dans le futur.

Note: Gardez à l'esprit que ces fonctions sont indépendantes de la configuration locale de votre système. Assurez-vous donc de prendre en considération l'heure d'été (en utilisant e.g. $date = strtotime('+7 days', $date) et non $date += 7*24*60*60) ainsi que les années bissextiles lorsque vous utilisez ces fonctions.

Note: Les fuseaux horaires référencés dans cette section peuvent être trouvés dans la section Liste des Fuseaux Horaires Supportés.

Date/Heure
Installation/Configuration
Date/Heure


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Date/Heure


Installation

Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.

Note: Récupération de la dernière base de données des fuseaux horaires
La dernière version de la base de données des fuseaux horaires peut être installée via le paquet PECL » timezonedb.

Note: Support DateTime expérimental en PHP 5.1.x
Bien que la classe DateTime (et les fonctions connexes) soit activée par défaut depuis PHP 5.2.0, il est possible d'ajouter un support expérimental dans PHP 5.1.x en utilisant le drapeau suivant lors de la compilation : CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour les dates et heures
Nom | Défaut | Modifiable | Historique
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponible depuis PHP 5.1.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

date.default_latitude float

La latitude par défaut.

date.default_longitude float

La longitude par défaut.

date.sunrise_zenith float

L'heure de lever du soleil par défaut.

date.sunset_zenith float

L'heure du coucher du soleil par défaut.

date.timezone string

Avant PHP 5.3.0, c'est le décalage horaire par défaut utilisé pour les fonctions date/heure si la variable d'environnement TZ n'est pas définie ; ce n'est plus le cas depuis 5.3.0. L'ordre est décrit dans la page de documentation de la fonction date_default_timezone_get(). Voir Liste des Fuseaux Horaires Supportés pour une liste complète des décalages horaires supportés.

Note: Les quatre premières options de configuration sont actuellement utilisées uniquement par les fonction date_sunrise() et date_sunset().

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Les constantes DATE_ sont définies depuis PHP 5.1.1 et offrent une représentation standard des dates, qui peut être utilisée avec toutes les fonctions de formatage de date (comme date()).

Les constantes suivantes existent depuis PHP 5.1.2 et spécifient un format retourné par les fonctions date_sunrise() et date_sunset().

SUNFUNCS_RET_TIMESTAMP (entier)
Timestamp
SUNFUNCS_RET_STRING (entier)
Heures:minutes (exemple: 08:02)
SUNFUNCS_RET_DOUBLE (entier)
Heures en tant que nombre à point flottant (exemple 8.75)
Types de ressources
Liste des Fuseaux Horaires Supportés
Date/Heure


Liste des Fuseaux Horaires Supportés

Sommaire

  • Afrique
  • Amerique
  • Antarctique
  • Arctique
  • Asie
  • Atlantique
  • Australie
  • Europe
  • Indien
  • Pacifique
  • Autres

Ici, vous trouverez une liste complète des fuseaux horaires supportés par PHP, qui peuvent être utilisés avec, e.g. date_default_timezone_set().

Note: La dernière version de la base de données des fuseaux horaires peut être installée via la commande PECL » timezonedb.

Note: Cette liste est basée sur la version de la base de données des fuseaux horaires 2010.9.

Constantes pré-définies
Afrique
Date/Heure


Afrique

Afrique
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers | Africa/Asmara
Africa/Asmera | Africa/Bamako | Africa/Bangui | Africa/Banjul | Africa/Bissau
Africa/Blantyre | Africa/Brazzaville | Africa/Bujumbura | Africa/Cairo | Africa/Casablanca
Africa/Ceuta | Africa/Conakry | Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti
Africa/Douala | Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare
Africa/Johannesburg | Africa/Kampala | Africa/Khartoum | Africa/Kigali | Africa/Kinshasa
Africa/Lagos | Africa/Libreville | Africa/Lome | Africa/Luanda | Africa/Lubumbashi
Africa/Lusaka | Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane
Africa/Mogadishu | Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena | Africa/Niamey
Africa/Nouakchott | Africa/Ouagadougou | Africa/Porto-Novo | Africa/Sao_Tome | Africa/Timbuktu
Africa/Tripoli | Africa/Tunis | Africa/Windhoek |  |
Liste des Fuseaux Horaires Supportés
Amerique
Liste des Fuseaux Horaires Supportés


Amerique

Amerique
America/Adak | America/Anchorage | America/Anguilla | America/Antigua | America/Araguaina
America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/ComodRivadavia | America/Argentina/Cordoba | America/Argentina/Jujuy
America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos | America/Argentina/Salta | America/Argentina/San_Juan
America/Argentina/San_Luis | America/Argentina/Tucuman | America/Argentina/Ushuaia | America/Aruba | America/Asuncion
America/Atikokan | America/Atka | America/Bahia | America/Barbados | America/Belem
America/Belize | America/Blanc-Sablon | America/Boa_Vista | America/Bogota | America/Boise
America/Buenos_Aires | America/Cambridge_Bay | America/Campo_Grande | America/Cancun | America/Caracas
America/Catamarca | America/Cayenne | America/Cayman | America/Chicago | America/Chihuahua
America/Coral_Harbour | America/Cordoba | America/Costa_Rica | America/Cuiaba | America/Curacao
America/Danmarkshavn | America/Dawson | America/Dawson_Creek | America/Denver | America/Detroit
America/Dominica | America/Edmonton | America/Eirunepe | America/El_Salvador | America/Ensenada
America/Fort_Wayne | America/Fortaleza | America/Glace_Bay | America/Godthab | America/Goose_Bay
America/Grand_Turk | America/Grenada | America/Guadeloupe | America/Guatemala | America/Guayaquil
America/Guyana | America/Halifax | America/Havana | America/Hermosillo | America/Indiana/Indianapolis
America/Indiana/Knox | America/Indiana/Marengo | America/Indiana/Petersburg | America/Indiana/Tell_City | America/Indiana/Vevay
America/Indiana/Vincennes | America/Indiana/Winamac | America/Indianapolis | America/Inuvik | America/Iqaluit
America/Jamaica | America/Jujuy | America/Juneau | America/Kentucky/Louisville | America/Kentucky/Monticello
America/Knox_IN | America/La_Paz | America/Lima | America/Los_Angeles | America/Louisville
America/Maceio | America/Managua | America/Manaus | America/Marigot | America/Martinique
America/Matamoros | America/Mazatlan | America/Mendoza | America/Menominee | America/Merida
America/Mexico_City | America/Miquelon | America/Moncton | America/Monterrey | America/Montevideo
America/Montreal | America/Montserrat | America/Nassau | America/New_York | America/Nipigon
America/Nome | America/Noronha | America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Ojinaga
America/Panama | America/Pangnirtung | America/Paramaribo | America/Phoenix | America/Port-au-Prince
America/Port_of_Spain | America/Porto_Acre | America/Porto_Velho | America/Puerto_Rico | America/Rainy_River
America/Rankin_Inlet | America/Recife | America/Regina | America/Resolute | America/Rio_Branco
America/Rosario | America/Santa_Isabel | America/Santarem | America/Santiago | America/Santo_Domingo
America/Sao_Paulo | America/Scoresbysund | America/Shiprock | America/St_Barthelemy | America/St_Johns
America/St_Kitts | America/St_Lucia | America/St_Thomas | America/St_Vincent | America/Swift_Current
America/Tegucigalpa | America/Thule | America/Thunder_Bay | America/Tijuana | America/Toronto
America/Tortola | America/Vancouver | America/Virgin | America/Whitehorse | America/Winnipeg
America/Yakutat | America/Yellowknife |  |  |
Afrique
Antarctique
Liste des Fuseaux Horaires Supportés


Antarctique

Antarctique
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Macquarie | Antarctica/Mawson
Antarctica/McMurdo | Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa
Antarctica/Vostok |  |  |  |
Amerique
Arctique
Liste des Fuseaux Horaires Supportés


Arctique

Arctique
Arctic/Longyearbyen
Antarctique
Asie
Liste des Fuseaux Horaires Supportés


Asie

Asie
Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr | Asia/Aqtau
Asia/Aqtobe | Asia/Ashgabat | Asia/Ashkhabad | Asia/Baghdad | Asia/Bahrain
Asia/Baku | Asia/Bangkok | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Calcutta | Asia/Choibalsan | Asia/Chongqing | Asia/Chungking | Asia/Colombo
Asia/Dacca | Asia/Damascus | Asia/Dhaka | Asia/Dili | Asia/Dubai
Asia/Dushanbe | Asia/Gaza | Asia/Harbin | Asia/Ho_Chi_Minh | Asia/Hong_Kong
Asia/Hovd | Asia/Irkutsk | Asia/Istanbul | Asia/Jakarta | Asia/Jayapura
Asia/Jerusalem | Asia/Kabul | Asia/Kamchatka | Asia/Karachi | Asia/Kashgar
Asia/Kathmandu | Asia/Katmandu | Asia/Kolkata | Asia/Krasnoyarsk | Asia/Kuala_Lumpur
Asia/Kuching | Asia/Kuwait | Asia/Macao | Asia/Macau | Asia/Magadan
Asia/Makassar | Asia/Manila | Asia/Muscat | Asia/Nicosia | Asia/Novokuznetsk
Asia/Novosibirsk | Asia/Omsk | Asia/Oral | Asia/Phnom_Penh | Asia/Pontianak
Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda | Asia/Rangoon | Asia/Riyadh
Asia/Saigon | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul | Asia/Shanghai
Asia/Singapore | Asia/Taipei | Asia/Tashkent | Asia/Tbilisi | Asia/Tehran
Asia/Tel_Aviv | Asia/Thimbu | Asia/Thimphu | Asia/Tokyo | Asia/Ujung_Pandang
Asia/Ulaanbaatar | Asia/Ulan_Bator | Asia/Urumqi | Asia/Vientiane | Asia/Vladivostok
Asia/Yakutsk | Asia/Yekaterinburg | Asia/Yerevan |  |
Arctique
Atlantique
Liste des Fuseaux Horaires Supportés


Atlantique

Atlantique
Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde | Atlantic/Faeroe
Atlantic/Faroe | Atlantic/Jan_Mayen | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia
Atlantic/St_Helena | Atlantic/Stanley |  |  |
Asie
Australie
Liste des Fuseaux Horaires Supportés


Australie

Australie
Australia/ACT | Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Canberra
Australia/Currie | Australia/Darwin | Australia/Eucla | Australia/Hobart | Australia/LHI
Australia/Lindeman | Australia/Lord_Howe | Australia/Melbourne | Australia/North | Australia/NSW
Australia/Perth | Australia/Queensland | Australia/South | Australia/Sydney | Australia/Tasmania
Australia/Victoria | Australia/West | Australia/Yancowinna |  |
Atlantique
Europe
Liste des Fuseaux Horaires Supportés


Europe

Europe
Europe/Amsterdam | Europe/Andorra | Europe/Athens | Europe/Belfast | Europe/Belgrade
Europe/Berlin | Europe/Bratislava | Europe/Brussels | Europe/Bucharest | Europe/Budapest
Europe/Chisinau | Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey | Europe/Kaliningrad
Europe/Kiev | Europe/Lisbon | Europe/Ljubljana | Europe/London | Europe/Luxembourg
Europe/Madrid | Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Nicosia | Europe/Oslo | Europe/Paris | Europe/Podgorica
Europe/Prague | Europe/Riga | Europe/Rome | Europe/Samara | Europe/San_Marino
Europe/Sarajevo | Europe/Simferopol | Europe/Skopje | Europe/Sofia | Europe/Stockholm
Europe/Tallinn | Europe/Tirane | Europe/Tiraspol | Europe/Uzhgorod | Europe/Vaduz
Europe/Vatican | Europe/Vienna | Europe/Vilnius | Europe/Volgograd | Europe/Warsaw
Europe/Zagreb | Europe/Zaporozhye | Europe/Zurich |  |
Australie
Indien
Liste des Fuseaux Horaires Supportés


Indien

Indien
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte
Indian/Reunion |  |  |  |
Europe
Pacifique
Liste des Fuseaux Horaires Supportés


Pacifique

Pacifique
Pacific/Apia | Pacific/Auckland | Pacific/Chatham | Pacific/Easter | Pacific/Efate
Pacific/Enderbury | Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos
Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu | Pacific/Johnston
Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro | Pacific/Marquesas
Pacific/Midway | Pacific/Nauru | Pacific/Niue | Pacific/Norfolk | Pacific/Noumea
Pacific/Pago_Pago | Pacific/Palau | Pacific/Pitcairn | Pacific/Ponape | Pacific/Port_Moresby
Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa | Pacific/Tahiti | Pacific/Tarawa
Pacific/Tongatapu | Pacific/Truk | Pacific/Wake | Pacific/Wallis | Pacific/Yap
Indien
Autres
Liste des Fuseaux Horaires Supportés


Autres

Autres
Brazil/Acre | Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain | Canada/Newfoundland
Canada/Pacific | Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental
Chile/EasterIsland | CST6CDT | Cuba | EET | Egypt
Eire | EST | EST5EDT | Etc/GMT | Etc/GMT+0
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2
Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7
Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT
Etc/Universal | Etc/UTC | Etc/Zulu | Factory | GB
GB-Eire | GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland | Iran
Israel | Jamaica | Japan | Kwajalein | Libya
MET | Mexico/BajaNorte | Mexico/BajaSur | Mexico/General | MST
MST7MDT | Navajo | NZ | NZ-CHAT | Poland
Portugal | PRC | PST8PDT | ROC | ROK
Singapore | Turkey | UCT | Universal | US/Alaska
US/Aleutian | US/Arizona | US/Central | US/East-Indiana | US/Eastern
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain | US/Pacific
US/Pacific-New | US/Samoa | UTC | W-SU | WET
Zulu |  |  |  |
Avertissement

N'utilisez aucun des fuseaux horaires listés ici (à côté de UTC), ils n'existent que pour des raisons de compatibilité ascendante.

Pacifique
Formats de temps et de dates
Liste des Fuseaux Horaires Supportés


Formats de temps et de dates

Sommaire

  • Formats pour les temps (Time)
  • Formats de dates
  • Formats composés
  • Formats relatifs

Ce chapitre explique tous les formats accéptés par strtotime(), DateTime et date_create(). Les formats sont groupés par sections. Dans la plupart des cas les formats de sections différentes peuvent être utilisés dans la même chaine date/time. Pour chaque format supporté, un ou plusieurs exemples sont données ainsi qu'une description du format en question. Les caractères entre guillemets simples pour les formats sont insensibles à la casse ('t' pourrait s'écrire t ou T), les caractères écrits entre guillemets doubles, eux, sont sensibles à la casse ("T" et seulement T).

Autres
Formats pour les temps (Time)
Date/Heure


Formats pour les temps (Time)

Symboles utilisés
Description | Formats | Exemples
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
méridien | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
MM | [0-5][0-9] | "00", "12", "59"
II | [0-5][0-9] | "00", "12", "59"
espace | [ \t] |
tz | "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox"
tzcorrection | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
Notation 12 heures
Description | Format | Examples
Heures seules, avec méridien | hh espace? méridien | "4 am", "5PM"
Heures et minutes, avec méridien | hh [.:] MM space? méridien | "4:08 am", "7:19P.M."
Heures, minutes et secondes avec méridien | hh [.:] MM [.:] II espace? méridien | "4:08:37 am", "7:19:19P.M."
MS SQL (Heures, minutes, secondes et fraction avec méridien), PHP 5.3 et plus uniquement | hh ":" MM ":" II [.:] [0-9]+ meridian | "4:08:39:12313am"
Notation 24 heures
Description | Format | Exemples
Heures et minutes | 't'? HH [.:] MM | "04:08", "19.19", "T23:43"
Heures et minutes, sans double-points | 't'? HH MM | "0408", "t1919", "T2343"
Heures, minutes et secondes | 't'? HH [.:] MM [.:] II | "04.08.37", "t19:19:19"
Heures, minutes et secondes, sans double-points | 't'? HH MM II | "040837", "T191919"
Heures, minutes, secondes et fuseau | 't'? HH [.:] MM [.:] II space? ( tzcorrection | tz ) | "040837CEST", "T191919-0700"
Heures, minutes, secondes et fraction | 't'? HH [.:] MM [.:] II frac | "04.08.37.81412", "19:19:19.532453"
Information de fuseau horaire | tz | tzcorrection | "CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"
Formats de temps et de dates
Formats de dates
Formats de temps et de dates


Formats de dates

Symboles utilisés
Description | Format | Exemples
suffixe des jours | "st" | "nd" | "rd" | "th" |
dd | ([0-2]?[0-9] | "3"[01]) daysuf? | "7th", "22nd", "31"
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31"
m | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" |
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
mm | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12"
MM | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12"
y | [0-9]{1,4} | "00", "78", "08", "8", "2008"
yy | [0-9]{2} | "00", "08", "78"
YY | [0-9]{4} | "2000", "2008", "1978"
Notations localisées
Description | Format | Exemples
Mois américain et jour | mm "/" dd | "5/12", "10/27"
Mois américain, jour et année | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6"
Année sur quatre chiffres, mois et jour avec slashs | YY "/" mm "/" dd | "2008/6/30", "1978/12/22"
Année sur quatre chiffres et mois (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12"
Année, mois et jour avec tirets | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21"
Jour, mois et année sur quatre chiffres, avec des points, des tabulations ou des tirets | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12\t1978"
Jour, mois et année sur deux chiffres, avec des points ou des tabulations | dd [.\t] mm "." yy | "30.6.08", "22\t12\t78"
Jour, mois textuel et année | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879"
Mois textuel et année sur quatre chiffres (le jour sera le 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879"
Année sur quatre chiffres et mois textuel (le jour sera le 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH"
Mois textuel, jour et année | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78"
Mois textuel et jour | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9"
Jour et mois textuel | d ([ .\t-])* m | "1 July", "17 Apr", "9.May"
Mois abrégé, jour et année | M "-" DD "-" y | "May-09-78", "Apr-17-1790"
Année, mois abrégé et jour | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17"
Année (et juste l'année) | YY | "1978", "2008"
Mois textuel (et juste le mois) | m | "March", "jun", "DEC"
Notations ISO8601
Description | Format | Exemples
Année sur huit chiffres, mois et jour | YY MM DD | "15810726", "19780417", "18140517"
Année sur quatre chiffres, mois et jour avec des slashes | YY "/" MM "/" DD | "2008/06/30", "1978/12/22"
Année sur deux chiffres, mois et jour avec des tirets | yy "-" MM "-" DD | "08-06-30", "78-12-22"
Année sur quatre chiffres avec un signe optionnel, mois et jour | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17"

Note: Pour les formats y et yy , les années avant 100 sont considérées d'une manière spéciale lorsque les symboles y ou yy sont utilisés. Si l'année est comprise entre 0 (inclusif) et 69 (inclusif), 2000 sont ajoutés. Si l'année est comprise entre 70 (inclusif) et 99 (inclusif) alors 1900 sont ajoutés. Cela signifie que "00-01-01" est interprété comme "2000-01-01".

Note: Le format "Jour, mois et année sur deux chiffres avec tabulations ou points" (dd [.\t] mm "." yy) ne fonctionne que pour des valeurs d'années de 61 (inclusif) à 99 (inclusif) - en dehors de ces bornes le format du temps "HH [.:] MM [.:] SS" a une precédence plus forte et primera.

Note: Le format "Année (et juste l'année)" ne fonctionne que si la chaine qui représente le temps a déja été trouvée, sinon le format est reconnu comme HH MM.

Note: Il est possible d'ajouter ou soustraire une retenue pour les formats dd et DD. Le jour 0 signifie le dernier jour du mois précédent les retenues positives compteront le mois suivant. Ainsi, "2008-08-00" est équivalent à "2008-07-31" et "2008-06-31" est équivalent à "2008-07-01" (Juin ne possède que 30 jours).
Il est aussi possible de jouer avec les retenues des formats mm et MM grâce à la valeur 0. Une valeur de mois de 0 signifie Décembre de l'année précédente. Par exemple "2008-00-22" est équivalent à "2007-12-22".
Si vous combinez les deux notions précédentes et utilisez une retenue négative sur le jour et le mois, alors il se passe ceci: "2008-00-00" est converti d'abord vers "2007-12-00" puis vers "2007-11-30". Ceci arrive aussi avec la chaine "0000-00-00" qui est alors tranformée vers "-0001-11-30" (l'année -1 dans le calendrier ISO 8601, qui est 2 BC dans le calendrier Gregorien).

Formats pour les temps (Time)
Formats composés
Formats de temps et de dates


Formats composés

Symboles utilisés
Description | Formats | Exemples
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31"
doy | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "36"[0-6] "000", "012", "366"
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "7", "19"
méridien | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
ii | [0-5][0-9] | "04", "8", "59"
II | [0-5][0-9] | "04", "08", "59"
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
MM | [0-5][0-9] | "00", "12", "59"
espace | [ \t] |
ss | [0-5][0-9] | "04", "8", "59"
SS | [0-5][0-9] | "04", "08", "59"
W | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53"
tzcorrection | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
YY | [0-9]{4} | "2000", "2008", "1978"
Notations localisées
Description | Format | Exemples
Format de log commun | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection | "10/Oct/2000:13:55:36 -0700"
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31"
Année ISO avec semaine ISO | YY "-"? "W" W | "2008W27", "2008-W28"
Année ISO avec semaine ISO et jour | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3"
PostgreSQL: Année avec jour de l'année | YY "."? doy | "2008.197", "2008197"
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"
Unix Timestamp | "@" "-"? [0-9]+ | "@1215282385"
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07"
XMLRPC (Compact) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807"
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37"

Note: Le "W" dans les formats "Année ISO avec semaine ISO" et "Année ISO avec semaine ISO et jour" est sensible à la casse, vous ne pouvez utiliser que la majuscule "W".
Le "T" dans les formats SOAP, XMRPC et WDDX est sensible à la casse, utilisez toujours la majuscule "T".

Formats de dates
Formats relatifs
Formats de temps et de dates


Formats relatifs

Symboles utilisés
Description | Format
nom du jour | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
textes relatifs aux jours | 'weekday' | 'weekdays'
nombre | [+-]?[0-9]+
ordinal | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eight' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
textes relatifs | 'next' | 'last' | 'previous' | 'this'
espace | [ \t]+
unité | (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext
Notations basées sur le jour
Format | Description | Exemples
'yesterday' | Minuit d'hier | "yesterday 14:00"
'midnight' | Le temps est affecté à 00:00:00 |
'today' | Le temps est affecté à 00:00:00 |
'now' | Maintenant |
'noon' | Le temps est affecté à 12:00:00 | "yesterday noon"
'tomorrow' | Minuit de demain |
'back of' hour | 15 minutes avant l'heure précisée | "back of 7pm", "back of 15"
'front of' hour | 15 minutes après l'heure spécifiée | "front of 5am", "front of 23"
'first day' ' of'? | Affecte le jour du premier jour du mois courant. Il est plus intéréssant d'utiliser cette phrase suivie d'un nom de mois. | "first day of January 2008"
'last day' ' of'? | Affecte le jour du dernier jour du mois courant. Il est plus intéréssant d'utiliser cette phrase suivie d'un nom de mois. | "last day of next month"
ordinal espace nom de jour espace 'of' | Calcule le x-ième jour de semaine du mois en cours. | "first sat of July 2008"
'last' espace nom de jour espace 'of' | Calcule le dernier jour de semaine du mois en cours. | "last sat of July 2008"
nombre espace? (unité | 'week') | Gère des temps relatifs dont la valeur est dénombrée. | "+5 weeks", "12 day", "-7 weekdays"
nombre espace unité | Gère des temps relatifs dont la valeur est dénombrée. | "fifth day", "second month"
'ago' | Utilise dans le passé toute description de temps relatif ('il y a'). | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago ago"
nom de jour | Se déplace vers le prochain jour indiqué. | "Monday"
reltext espace 'week' | Gère le format spécial "weekday + last/this/next week". | "Monday next week"

Note: Les expressions relatives sont toujours traitées après les expressions non relatives. Ceci fait en sorte que "+1 week july 2008" et "july 2008 +1 week" sont équivalents.
"yesterday", "midnight", "today", "noon" et "tomorrow" sont des exceptions à cette règle. "tomorrow 11:00" et "11:00 tomorrow" sont différents. Soit la date d'aujourd'hui à "July 23rd, 2008" , la première expression donne "2008-07-24 11:00" alors que la seconde donnera "2008-07-24 00:00". La raison est que ces six expressions influencent directement la date courante.

Note: Notez les remarques qui suivent lorsque le jour de semaine courant est le même que le jour de semaine utilisé dans la chaine de date/time. Le jour de semaine courant aurait pu être recalculé par rapport aux parties non relatives de la chaine date/time.

  1. "nom de jour" n'avance pas vers un autre jour. (Exemple: "Wed July 23rd, 2008" signifie "2008-07-23").
  2. "nombre nom de jour" n'avance pas vers un autre jour. (Exemple: "1 wednesday july 23rd, 2008" signifie "2008-07-23").
  3. "nombre week nom de jour" ajoutera d'abord le nombre de semaines, mais n'avancera pas vers un autre jour. Dans ce cas "nombre week" et "nom de jour" sont deux blocs distincts. (Exemple: "+1 week wednesday july 23rd, 2008" signifie "2008-07-30").
  4. "ordinal nom de jour" avance vers un autre jour. (Exemple "first wednesday july 23rd, 2008" signifie "2008-07-30").
  5. "nombre week ordinal nom de jour" ajoutera d'abord le nombre de semaines et ensuite avancera vers un autre jour. Dans ce cas, "nombre week" et "ordinal nom de jour" sont deux blocs distincts. (Exemple: "+1 week first wednesday july 23rd, 2008" signifie "2008-08-06").
  6. "ordinal nom de jour avance vers un autre jour. (Exemple "first wednesday july 23rd, 2008" signifie "2008-07-30").
  7. "ordinal nom de jour 'of' " n'avance pas vers uyn autre jour. (Exemple: "first wednesday of july 23rd, 2008" signifie "2008-07-02" car la phrase avec 'of' remet à zéro le jour du mois vers '1' et le '23' est ignoré ici).
Notez aussi que le "of" dans "ordinal espace nom de jour espace 'of' " et "'last' espace nom de jour espace 'of' " fait quelque chose de spécial.
  1. Il affecte le jour du mois à 1.
  2. "ordinal nom de jour 'of' " n'avance pas vers un autre jour. (Exemple: "first tuesday of july 2008" signifie "2008-07-01").
  3. "ordinal nom de jour " avance vers un autre jour. (Exemple: "first tuesday july 2008" signifie "2008-07-08", voyez aussi le point numéro 4 de la liste ci dessus).
  4. "'last' nom de jour 'of' " prend le dernier jour nommé du mois courant. (Exemple: "last wed of july 2008" signifie "2008-07-30")
  5. "'last' nom de jour" prend le dernier jour nommé à partir du jour actuel. (Exemple: "last wed july 2008" signifie "2008-06-25"; "july 2008" affecte d'abord la date courante à "2008-07-01" et ensuite "last wed" remonte au dernier mercredi qui est le "2008-06-25").

Formats composés
DateTime
Formats de temps et de dates


La classe DateTime

Introduction

Représentation d'une date et heure.

Synopsis de la classe

DateTime
DateTime {
/* Constantes */
const string DateTime::ATOM = Y-m-d\TH:i:sP ;
const string DateTime::COOKIE = l, d-M-y H:i:s T ;
const string DateTime::ISO8601 = Y-m-d\TH:i:sO ;
const string DateTime::RFC822 = D, d M y H:i:s O ;
const string DateTime::RFC850 = l, d-M-y H:i:s T ;
const string DateTime::RFC1036 = D, d M y H:i:s O ;
const string DateTime::RFC1123 = D, d M Y H:i:s O ;
const string DateTime::RFC2822 = D, d M Y H:i:s O ;
const string DateTime::RFC3339 = Y-m-d\TH:i:sP ;
const string DateTime::RSS = D, d M Y H:i:s O ;
const string DateTime::W3C = Y-m-d\TH:i:sP ;
/* Méthodes */
public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
public DateTime add ( DateInterval $interval )
public static DateTime createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public DateInterval diff ( DateTime $datetime2 [, bool $absolute = false ] )
public string format ( string $format )
public static array getLastErrors ( void )
public int getOffset ( void )
public int getTimestamp ( void )
public DateTimeZone getTimezone ( void )
public DateTime modify ( string $modify )
public static DateTime __set_state ( array $array )
public DateTime setDate ( int $year , int $month , int $day )
public DateTime setISODate ( int $year , int $week [, int $day = 1 ] )
public DateTime setTime ( int $hour , int $minute [, int $second = 0 ] )
public DateTime setTimestamp ( int $unixtimestamp )
public DateTime setTimezone ( DateTimeZone $timezone )
public DateTime sub ( DateInterval $interval )
public DateTime __wakeup ( void )
}

Constantes pré-définies

Types de noeuds DateTime

DateTime::ATOM
DATE_ATOM
Atom (exemple : 2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
Cookies HTTP (exemple : Monday, 15-Aug-05 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (exemple : 2005-08-15T15:52:01+0000)
DateTime::RFC822
DATE_RFC822
RFC 822 (exemple : Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (exemple : Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (exemple : Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (exemple : Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC2822
DATE_RFC2822
RFC 2822 (exemple : Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC3339
DATE_RFC3339
Identique à DATE_ATOM (Depuis PHP 5.1.3)
DateTime::RSS
DATE_RSS
RSS (exemple : Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::W3C
DATE_W3C
World Wide Web Consortium (exemple : 2005-08-15T15:52:01+00:00)

Sommaire

  • DateTime::add — Ajoute une durée à un objet DateTime
  • DateTime::__construct — Retourne un nouvel objet DateTime
  • DateTime::createFromFormat — Retourne un nouvel objet DateTime formaté
  • DateTime::diff — Retourne la différence entre deux objets DateTime
  • DateTime::format — Retourne la date au format demandé
  • DateTime::getLastErrors — Retourne les dernières erreurs et alertes
  • DateTime::getOffset — Retourne le décalage horaire
  • DateTime::getTimestamp — Lit le timestamp Unix
  • DateTime::getTimezone — Lit le fuseau horaire d'un objet DateTime
  • DateTime::modify — Modifie le timestamp
  • DateTime::__set_state — Le gestionnaire __set_state
  • DateTime::setDate — Assigne la date
  • DateTime::setISODate — Configure une date ISO
  • DateTime::setTime — Assigne l'heure
  • DateTime::setTimestamp — Assigne la date et l'heure à l'aide d'un timestamp Unix
  • DateTime::setTimezone — Configure le fuseau horaire de l'objet DateTime
  • DateTime::sub — Soustrait une durée à un objet DateTime
  • DateTime::__wakeup — Le gestionnaire de __wakeup
Formats relatifs
DateTime::add
Date/Heure


Ajoute une durée à un objet DateTime

DateTime
DateTime::__construct
DateTime
PHP Manual

DateTime::add

(PHP 5 >= 5.3.0)

DateTime::add — Ajoute une durée à un objet DateTime

Description

Style orienté objet

public DateTime DateTime::add ( DateInterval $interval )

Style procédural

DateTime date_add ( DateTime $object , DateInterval $interval )

Ajoute la durée de l'objet DateInterval à l'objet DateTime.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

interval

Un objet DateInterval

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::add()

Style orienté objet

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Style procédural

<?php
$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

L'exemple ci-dessus va afficher :

2000-01-11

Exemple #2 Autres exemples avec DateTime::add()

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

L'exemple ci-dessus va afficher :

2000-01-01 10:00:30
2007-06-05 04:03:02

Exemple #3 Attention à l'ajout de mois

<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');

$date->add($interval);
echo $date->format('Y-m-d') . "\n";

$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>

L'exemple ci-dessus va afficher :

2001-01-31
2001-03-03

Notes

DateTime::modify() est une alternative pouvant être utilisée avec PHP 5.2.

Voir aussi

  • DateTime::sub() - Soustrait une durée à un objet DateTime
  • DateTime::diff() - Retourne la différence entre deux objets DateTime
  • DateTime::modify() - Modifie le timestamp
DateTime
DateTime::__construct
DateTime


Retourne un nouvel objet DateTime

DateTime::add
DateTime::createFromFormat
DateTime
PHP Manual

DateTime::__construct

(PHP 5 >= 5.2.0)

DateTime::__construct — Retourne un nouvel objet DateTime

Description

Style orienté objet

public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Style procédural

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Retourne un nouvel objet DateTime.

Liste de paramètres

time

Une chaîne date/heure. Les formats valides sont expliqués dans la documentation sur les formats Date et Heure.

Passez NULL ici pour obtenir le temps courant en utilisant le paramètre $timezone.

timezone

Un objet DateTimeZone object representant le fuseau horaire.

Si$timezone est omis, le fuseau horaire actuel sera utilisé.

Note: Le paramètre $timezone et le fuseau horaire actuels sont ignorés lorsque paramètre $time est un timestamp UNIX (e.g. @946684800) ou précise un fuseau (e.g. 2010-01-28T15:00:00+02:00).

Valeurs de retour

Retourne une nouvelle instance DateTime. Style procédural retourne FALSE en cas d'erreur.

Erreurs / Exceptions

Émet un Exception en cas d'erreur.

Exemples

Exemple #1 Exemple avec DateTime::__construct()

Style orienté objet

<?php
try {
    $date = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
?>

Style procédural

<?php
$date = date_create('2000-01-01');
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, 'Y-m-d');
?>

Les exemples ci-dessus vont afficher :

2000-01-01

Exemple #2 Autres exemples avec DateTime::__construct()

<?php
// date/time spécifiés dans le fuseau de votre machine
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// date/time dans un fuseau précis.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// date/time courants dans le fuseau de votre machine
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";

// date/time courants dans un fuseau précis.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Utilisation d'un timestamp Unix. Notez que le résultat est dans le fuseau UTC.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Valeur non existante
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Voir aussi

  • DateTime::createFromFormat() - Retourne un nouvel objet DateTime formaté
  • DateTimeZone::__construct() - Crée un nouvel objet DateTimeZone
  • Paramètre ini date.timezone
  • date_default_timezone_set() - Définit le décalage horaire par défaut de toutes les fonctions date/heure
  • DateTime::getLastErrors() - Retourne les dernières erreurs et alertes
DateTime::add
DateTime::createFromFormat
DateTime


Retourne un nouvel objet DateTime formaté

DateTime::__construct
DateTime::diff
DateTime
PHP Manual

DateTime::createFromFormat

(PHP 5 >= 5.3.0)

DateTime::createFromFormat — Retourne un nouvel objet DateTime formaté

Description

Style orienté objet

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Style procédural

DateTime date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Retourne un nouvel objet DateTime formaté.

Liste de paramètres

format

Format accepté par date().

Si format n'est pas composé du caractère ! alors les valeurs de temps générées qui sont absentes de format prendront comme valeur le temps système.

Si format contient le caractère !, alors les valeurs de temps générées qui sont absentes de format ainsi que les valeurs situées à gauche de ! prendront des valeurs mesurées depuis Unix epoch.

Le début de l'époque Unix est le 01/01/1970 à 00:00:00 UTC.

time

Chaîne représentant l'heure.

timezone

Un objet DateTimeZone représentant le fuseau horaire désiré.

Valeurs de retour

Retourne un nouvel objet DateTime ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::createFromFormat

Style orienté objet

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

Style procédural

<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>

Les exemples ci-dessus vont afficher :

2009-02-15

Exemple #2 Autres exemples avec DateTime::createFromFormat()

<?php
echo 'Date courante: ' . date('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d';
$date = DateTime::createFromFormat($format, '2009-02-15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-!d H:i:s';
$date = DateTime::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = '!d';
$date = DateTime::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Date courante: 2010-04-23 10:29:35
Format: Y-m-d; 2009-02-15 10:29:35
Format: Y-m-d H:i:s; 2009-02-15 15:16:17
Format: Y-m-!d H:i:s; 1970-01-15 15:16:17
Format: !d; 1970-01-15 00:00:00

Voir aussi

  • DateTime::__construct() - Retourne un nouvel objet DateTime
  • DateTime::getLastErrors() - Retourne les dernières erreurs et alertes
DateTime::__construct
DateTime::diff
DateTime


Retourne la différence entre deux objets DateTime

DateTime::createFromFormat
DateTime::format
DateTime
PHP Manual

DateTime::diff

(PHP 5 >= 5.3.0)

DateTime::diff — Retourne la différence entre deux objets DateTime

Description

Style orienté objet

public DateInterval DateTime::diff ( DateTime $datetime2 [, bool $absolute = false ] )

Style procédural

DateInterval date_diff ( DateTime $datetime1 , DateTime $datetime2 [, bool $absolute = false ] )

Retourne la différence entre deux objets DateTime.

Liste de paramètres

datetime

La date à comparer.

absolute

Retourner la différence absolue ou non.

Valeurs de retour

L'objet DateInterval représentant la différence entre les 2 dates ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::diff()

Style orienté objet

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%d days');
?>

Style procédural

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%d days');
?>

L'exemple ci-dessus va afficher :

+2 days

Voir aussi

  • DateInterval::format() - Formate l'intervalle
  • DateTime::add() - Ajoute une durée à un objet DateTime
  • DateTime::sub() - Soustrait une durée à un objet DateTime
DateTime::createFromFormat
DateTime::format
DateTime


Retourne la date au format demandé

DateTime::diff
DateTime::getLastErrors
DateTime
PHP Manual

DateTime::format

(PHP 5 >= 5.2.0)

DateTime::format — Retourne la date au format demandé

Description

Style orienté objet

public string DateTime::format ( string $format )

Style procédural

string date_format ( DateTime $object , string $format )

Retourne une date formattée selon un format donné.

Liste de paramètres

object

Seulement en style procédural : un objet DateTime retourné par date_create()

format

Format accepté par date().

Valeurs de retour

Retourne la date formatée, en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::format()

Style orienté objet

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

Style procédural

<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>
?>

L'exemple ci-dessus va afficher :

2000-01-01 00:00:00

Notes

Cette méthode n'utilise pas les locales. Toute sortie est en anglais.

Voir aussi

  • date() - Formate une date/heure locale
DateTime::diff
DateTime::getLastErrors
DateTime


Retourne les dernières erreurs et alertes

DateTime::format
DateTime::getOffset
DateTime
PHP Manual

DateTime::getLastErrors

(PHP 5 >= 5.3.0)

DateTime::getLastErrors — Retourne les dernières erreurs et alertes

Description

Style orienté objet

public static array DateTime::getLastErrors ( void )

Style procédural

array date_get_last_errors ( void )

Retourne un tableau contenant les dernières erreurs et alertes obtenu lors de l'analyse de la chaîne de date.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant les erreurs et alertes.

Exemples

Exemple #1 Exemple avec DateTime::getLastErrors()

Style orienté objet

<?php
try {
    $date = new DateTime('asdfasdf');
} catch (Exception $e) {
    // Juste pour l'exemple...
    print_r(DateTime::getLastErrors());

    // Manière orientée objets de gérer les erreurs (exceptions)
    // echo $e->getMessage();
}
?>

Style procédural

<?php
$date = date_create('asdfasdf');
print_r(date_get_last_errors());
?>

Les exemples ci-dessus vont afficher :

Array
(
    [warning_count] => 1
    [warnings] => Array
        (
            [6] => Double timezone specification
        )

    [error_count] => 1
    [errors] => Array
        (
            [0] => The timezone could not be found in the database
        )

)
DateTime::format
DateTime::getOffset
DateTime


Retourne le décalage horaire

DateTime::getLastErrors
DateTime::getTimestamp
DateTime
PHP Manual

DateTime::getOffset

(PHP 5 >= 5.2.0)

DateTime::getOffset — Retourne le décalage horaire

Description

Style orienté objet

public int DateTime::getOffset ( void )

Style procédural

int date_offset_get ( DateTime $object )

Retourne le décalage horaire.

Liste de paramètres

object

Seulement en style procédural : un objet DateTime retourné par date_create()

Valeurs de retour

Retourne le décalage horaire en secondes depuis UTC en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::getOffset()

Style orienté objet

<?php
$winter = new DateTime('2010-12-21', new DateTimeZone('America/New_York'));
$summer = new DateTime('2008-06-21', new DateTimeZone('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Style procédural

<?php
$winter = new date_create('2010-12-21', timezone_open('America/New_York'));
$summer = new date_create('2008-06-21', timezone_open('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Les exemples ci-dessus vont afficher :

-18000
-14400

Note: -18000 = -5 heures, -14400 = -4 heures.

DateTime::getLastErrors
DateTime::getTimestamp
DateTime


Lit le timestamp Unix

DateTime::getOffset
DateTime::getTimezone
DateTime
PHP Manual

DateTime::getTimestamp

(PHP 5 >= 5.3.0)

DateTime::getTimestamp — Lit le timestamp Unix

Description

Style orienté objet

public int DateTime::getTimestamp ( void )

Style procédural

int date_timestamp_get ( DateTime $object )

Lit le timestamp Unix.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le timestamp Unix représentant la date.

Exemples

Exemple #1 Exemple avec DateTime::getTimestamp()

Style orienté objet

<?php
$date = new DateTime();
echo $date->getTimestamp();
?>

Style procédural

<?php
$date = date_create();
echo date_timestamp_get($date);
?>

Les exemples ci-dessus vont afficher quelque chose de similaire à :

1272509157

Notes

Utiliser U comme paramètre de DateTime::format() est une alternative proposée pour PHP 5.2.

Voir aussi

  • DateTime::setTimestamp() - Assigne la date et l'heure à l'aide d'un timestamp Unix
  • DateTime::format() - Retourne la date au format demandé
DateTime::getOffset
DateTime::getTimezone
DateTime


Lit le fuseau horaire d'un objet DateTime

DateTime::getTimestamp
DateTime::modify
DateTime
PHP Manual

DateTime::getTimezone

(PHP 5 >= 5.2.0)

DateTime::getTimezone — Lit le fuseau horaire d'un objet DateTime

Description

Style orienté objet

public DateTimeZone DateTime::getTimezone ( void )

Style procédural

DateTimeZone date_timezone_get ( DateTime $object )

Retourne le fuseau relatif à un DateTime donné.

Liste de paramètres

object

Seulement en style procédural : un objet DateTime retourné par date_create()

Valeurs de retour

Retourne l'objet DateTimeZone en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::getTimezone()

Style orienté objet

<?php
$date = new DateTime(null, new DateTimeZone('Europe/London'));
$tz = $date->getTimezone();
echo $tz->getName();
?>

Style procédural

<?php
$date = date_create(null, timezone_open('Europe/London'));
$tz = date_timezone_get($date);
echo timezone_name_get($tz);
?>

L'exemple ci-dessus va afficher :

Europe/London

Voir aussi

  • DateTime::setTimezone() - Configure le fuseau horaire de l'objet DateTime
DateTime::getTimestamp
DateTime::modify
DateTime


Modifie le timestamp

DateTime::getTimezone
DateTime::__set_state
DateTime
PHP Manual

DateTime::modify

(PHP 5 >= 5.2.0)

DateTime::modify — Modifie le timestamp

Description

Style orienté objet

public DateTime DateTime::modify ( string $modify )

Style procédural

DateTime date_modify ( DateTime $object , string $modify )

Modifie le timestamp d'un objet DateTime en l'incrémentant ou le décrémentant dans un format acceptable par strtotime().

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

modify

Une chaîne date/heure. Les formats valides sont expliqués dans la documentation sur les formats Date et Heure.

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Changement de valeur de retour de NULL à DateTime.

Exemples

Exemple #1 Exemple avec DateTime::modify()

Style orienté objet

<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
?>

Style procédural

<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
?>

Les exemples ci-dessus vont afficher :

2006-12-13

Exemple #2 Méfiez-vous lors de l'ajout ou la soustraction de mois

<?php
$date = new DateTime('2000-12-31');

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>

L'exemple ci-dessus va afficher :

2001-01-31
2001-03-03

Voir aussi

  • strtotime() - Transforme un texte anglais en timestamp
  • DateTime::add() - Ajoute une durée à un objet DateTime
  • DateTime::sub() - Soustrait une durée à un objet DateTime
  • DateTime::setDate() - Assigne la date
  • DateTime::setISODate() - Configure une date ISO
  • DateTime::setTime() - Assigne l'heure
  • DateTime::setTimestamp() - Assigne la date et l'heure à l'aide d'un timestamp Unix
DateTime::getTimezone
DateTime::__set_state
DateTime


Le gestionnaire __set_state

DateTime::modify
DateTime::setDate
DateTime
PHP Manual

DateTime::__set_state

(PHP 5 >= 5.2.0)

DateTime::__set_state — Le gestionnaire __set_state

Description

public static DateTime DateTime::__set_state ( array $array )

Le gestionnaire __set_state.

Liste de paramètres

array

Le tableau d'initialisation.

Valeurs de retour

Retourne une nouvelle instance de l'objet DateTime.

DateTime::modify
DateTime::setDate
DateTime


Assigne la date

DateTime::__set_state
DateTime::setISODate
DateTime
PHP Manual

DateTime::setDate

(PHP 5 >= 5.2.0)

DateTime::setDate — Assigne la date

Description

Style orienté objet

public DateTime DateTime::setDate ( int $year , int $month , int $day )

Style procédural

DateTime date_date_set ( DateTime $object , int $year , int $month , int $day )

Assigne la date courante de l'objet DateTime à une nouvelle date.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

year

Année de la date.

month

Mois de la date.

day

Jour de la date.

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Changement de valeur de retour de NULL à DateTime.

Exemples

Exemple #1 Exemple avec DateTime::setDate()

Style orienté objet

<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>

Style procédural

<?php
$date = date_create();
date_date_set($date, 2001, 2, 3);
echo date_format($date, 'Y-m-d');
?>

Les exemples ci-dessus vont afficher :

2001-02-03

Exemple #2 Les valeurs qui dépassent leurs bornes sont ajoutées à leur parent

<?php
$date = new DateTime();

$date->setDate(2001, 2, 28);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 2, 29);
echo $date->format('Y-m-d') . "\n";

$date->setDate(2001, 14, 3);
echo $date->format('Y-m-d') . "\n";
?>

L'exemple ci-dessus va afficher :

2001-02-28
2001-03-01
2002-02-03

Voir aussi

  • DateTime::setISODate() - Configure une date ISO
  • DateTime::setTime() - Assigne l'heure
DateTime::__set_state
DateTime::setISODate
DateTime


Configure une date ISO

DateTime::setDate
DateTime::setTime
DateTime
PHP Manual

DateTime::setISODate

(PHP 5 >= 5.2.0)

DateTime::setISODate — Configure une date ISO

Description

Style orienté objet

public DateTime DateTime::setISODate ( int $year , int $week [, int $day = 1 ] )

Style procédural

DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] )

Configure une date au format ISO 8601 : en utilisant des décalages de semaines et de jours, au lieu de dates spécifiques.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

year

L'année de la date.

week

Le mois de la date.

day

Décalage par rapport au premier jour de la semaine.

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Changement de valeur de retour de NULL à DateTime.

Exemples

Exemple #1 Exemple avec DateTime::setISODate()

Style orienté objet

<?php
$date = new DateTime();

$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>

Style procédural

<?php
$date = date_create();

date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";

date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>

Les exemples ci-dessus vont afficher :

2008-01-07
2008-01-13

Exemple #2 Les valeurs qui excèdent leur bornes s'ajoutent à leur parent

<?php
$date = new DateTime();

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>

L'exemple ci-dessus va afficher :

2008-01-13
2008-01-14
2009-01-04

Exemple #3 Calcul du mois dans lequel est une semaine

<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>

Les exemples ci-dessus vont afficher :

3

Voir aussi

  • DateTime::setDate() - Assigne la date
  • DateTime::setTime() - Assigne l'heure
DateTime::setDate
DateTime::setTime
DateTime


Assigne l'heure

DateTime::setISODate
DateTime::setTimestamp
DateTime
PHP Manual

DateTime::setTime

(PHP 5 >= 5.2.0)

DateTime::setTime — Assigne l'heure

Description

Style orienté objet

public DateTime DateTime::setTime ( int $hour , int $minute [, int $second = 0 ] )

Style procédural

DateTime date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 ] )

Change le temps dans l'objet DateTime.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

hour

Heure du moment.

minute

Minute du moment.

second

Seconde du moment.

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Changement de valeur de retour de NULL à DateTime.

Exemples

Exemple #1 Exemple avec DateTime::setTime()

Style orienté objet

<?php
$date = new DateTime('2000-01-01');

$date->setTime(14, 55);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

?>

Style procédural

<?php
$date = date_create('2001-01-01');

date_time_set($date, 14, 55);
echo date_format($date, 'Y-m-d H:i:s') . "\n";

date_time_set($date, 14, 55, 24);
echo date_format($date, 'Y-m-d H:i:s') . "\n";
?>

Les exemples ci-dessus vont afficher quelque chose de similaire à :

2000-01-01 14:55:00
2000-01-01 14:55:24

Exemple #2 Les valeurs qui dépassent leur borne sont ajoutées à leur parent

<?php
$date = new DateTime('2001-01-01');

$date->setTime(14, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 55, 65);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(14, 65, 24);
echo $date->format('Y-m-d H:i:s') . "\n";

$date->setTime(25, 55, 24);
echo $date->format('Y-m-d H:i:s') . "\n";
?>

L'exemple ci-dessus va afficher :

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Voir aussi

  • DateTime::setDate() - Assigne la date
  • DateTime::setISODate() - Configure une date ISO
DateTime::setISODate
DateTime::setTimestamp
DateTime


Assigne la date et l'heure à l'aide d'un timestamp Unix

DateTime::setTime
DateTime::setTimezone
DateTime
PHP Manual

DateTime::setTimestamp

(PHP 5 >= 5.3.0)

DateTime::setTimestamp — Assigne la date et l'heure à l'aide d'un timestamp Unix

Description

Style orienté objet

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

Style procédural

DateTime date_timestamp_set ( DateTime $object , int $unixtimestamp )

Assigne la date et l'heure à l'aide d'un timestamp Unix.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

unixtimestamp

Timestamp Unix représentant la date et l'heure.

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::setTimestamp()

Style orienté objet

<?php
$date = new DateTime();
echo $date->format('U = Y-m-d H:i:s') . "\n";

$date->setTimestamp(1171502725);
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>

Style procédural

<?php
$date = date_create();
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";

date_timestamp_set($date, 1171502725);
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
?>

Les exemples ci-dessus vont afficher quelque chose de similaire à :

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Notes

Pour PHP 5.2, une alternative est de passer un timestamp Unix à DateTime::__construct()

Voir aussi

  • DateTime::getTimestamp() - Lit le timestamp Unix
DateTime::setTime
DateTime::setTimezone
DateTime


Configure le fuseau horaire de l'objet DateTime

DateTime::setTimestamp
DateTime::sub
DateTime
PHP Manual

DateTime::setTimezone

(PHP 5 >= 5.2.0)

DateTime::setTimezone — Configure le fuseau horaire de l'objet DateTime

Description

Style orienté objet

public DateTime DateTime::setTimezone ( DateTimeZone $timezone )

Style procédural

DateTime date_timezone_set ( DateTime $object , DateTimeZone $timezone )

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

timezone

Un objet DateTimeZone représentant le fuseau horaire désiré.

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | La valeur retournée passe de NULL à DateTime.

Exemples

Exemple #1 Exemple avec DateTime::setTimeZone()

Style orienté objet

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Style procédural

<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

L'exemple ci-dessus va afficher :

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Voir aussi

  • DateTime::getTimezone() - Lit le fuseau horaire d'un objet DateTime
  • DateTimeZone::__construct() - Crée un nouvel objet DateTimeZone
DateTime::setTimestamp
DateTime::sub
DateTime


Soustrait une durée à un objet DateTime

DateTime::setTimezone
DateTime::__wakeup
DateTime
PHP Manual

DateTime::sub

(PHP 5 >= 5.3.0)

DateTime::sub — Soustrait une durée à un objet DateTime

Description

Style orienté objet

public DateTime DateTime::sub ( DateInterval $interval )

Style procédural

DateTime date_sub ( DateTime $object , DateInterval $interval )

Soustrait la durée spécifiée par l'objet DateInterval de l'objet DateTime.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

interval

Un objet DateInterval

Valeurs de retour

Retourne l'objet DateTime modifié ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTime::sub()

Style orienté objet

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>

Style procédural

<?php
$date = date_create('2000-01-20');
date_sub($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'Y-m-d');
?>

Les exemples ci-dessus vont afficher :

2000-01-10

Exemple #2 Autres exemples avec DateTime::sub()

<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

L'exemple ci-dessus va afficher :

2000-01-19 13:59:30
1992-08-15 19:56:58

Exemple #3 Attention à la soustraction de mois

<?php
$date = new DateTime('2001-04-30');
$interval = new DateInterval('P1M');

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";

$date->sub($interval);
echo $date->format('Y-m-d') . "\n";
?>

L'exemple ci-dessus va afficher :

2001-03-30
2001-03-02

Notes

DateTime::modify() est une alternative à utiliser avec PHP 5.2.

Voir aussi

  • DateTime::add() - Ajoute une durée à un objet DateTime
  • DateTime::diff() - Retourne la différence entre deux objets DateTime
  • DateTime::modify() - Modifie le timestamp
DateTime::setTimezone
DateTime::__wakeup
DateTime


Le gestionnaire de __wakeup

DateTime::sub
DateTimeZone
DateTime
PHP Manual

DateTime::__wakeup

(PHP 5 >= 5.2.0)

DateTime::__wakeup — Le gestionnaire de __wakeup

Description

public DateTime DateTime::__wakeup ( void )

Le gestionnaire de __wakeup.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Initialise un objet DateTime.

DateTime::sub
DateTimeZone
DateTime


La classe DateTimeZone

Introduction

Représentation d'un fuseau horaire.

Synopsis de la classe

DateTimeZone
DateTimeZone {
/* Constantes */
const integer DateTimeZone::AFRICA = 1 ;
const integer DateTimeZone::AMERICA = 2 ;
const integer DateTimeZone::ANTARCTICA = 4 ;
const integer DateTimeZone::ARCTIC = 8 ;
const integer DateTimeZone::ASIA = 16 ;
const integer DateTimeZone::ATLANTIC = 32 ;
const integer DateTimeZone::AUSTRALIA = 64 ;
const integer DateTimeZone::EUROPE = 128 ;
const integer DateTimeZone::INDIAN = 256 ;
const integer DateTimeZone::PACIFIC = 512 ;
const integer DateTimeZone::UTC = 1024 ;
const integer DateTimeZone::ALL = 2047 ;
const integer DateTimeZone::ALL_WITH_BC = 4095 ;
const integer DateTimeZone::PER_COUNTRY = 4096 ;
/* Méthodes */
public __construct ( string $timezone )
public array getLocation ( void )
public string getName ( void )
public int getOffset ( DateTime $datetime )
public array getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )
public static array listAbbreviations ( void )
public static array listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )
}

Constantes pré-définies

Types de noeuds DateTimeZone

DateTimeZone::AFRICA

Fuseau africain.

DateTimeZone::AMERICA

Fuseau américain.

DateTimeZone::ANTARCTICA

Fuseau antarctique.

DateTimeZone::ARCTIC

Fuseau arctique.

DateTimeZone::ASIA

Fuseau asiatique.

DateTimeZone::ATLANTIC

Fuseau atlantique.

DateTimeZone::AUSTRALIA

Fuseau australien.

DateTimeZone::EUROPE

Fuseau européen.

DateTimeZone::INDIAN

Fuseau indien.

DateTimeZone::PACIFIC

Fuseau pacifique.

DateTimeZone::UTC

Fuseau UTC.

DateTimeZone::ALL

Tous les fuseaux.

DateTimeZone::ALL_WITH_BC

Tous les fuseaux, y compris les anciens.

DateTimeZone::PER_COUNTRY

Fuseaux horaires par pays.

Sommaire

  • DateTimeZone::__construct — Crée un nouvel objet DateTimeZone
  • DateTimeZone::getLocation — Retourne les informations géographiques d'un fuseau horaire
  • DateTimeZone::getName — Retourne le nom du fuseau horaire
  • DateTimeZone::getOffset — Retourne le décalage GMT d'un fuseau horaire
  • DateTimeZone::getTransitions — Retourne toutes les transitions d'un fuseau horaire
  • DateTimeZone::listAbbreviations — Retourne un tableau associatif, décrivant un fuseau horaire
  • DateTimeZone::listIdentifiers — Retourne un tableau numérique de tous les fuseaux horaires
DateTime::__wakeup
DateTimeZone::__construct
Date/Heure


Crée un nouvel objet DateTimeZone

DateTimeZone
DateTimeZone::getLocation
DateTimeZone
PHP Manual

DateTimeZone::__construct

(PHP 5 >= 5.2.0)

DateTimeZone::__construct — Crée un nouvel objet DateTimeZone

Description

Style orienté objet

public DateTimeZone::__construct ( string $timezone )

Style procédural

DateTimeZone timezone_open ( string $timezone )

Crée un nouvel objet DateTimeZone.

Liste de paramètres

timezone

Un des fuseaux horaires.

Valeurs de retour

Retourne un objet DateTimeZone, en cas de succès. Style procédural retourne FALSE en cas d'erreur..

Erreurs / Exceptions

Cette méthode émet une exception Exception, si le fuseau horaire fourni n'est pas reconnu.

Exemples

Exemple #1 Interception des erreurs avec DateTimeZone

<?php
// Gestion des erreurs par interception des exceptions
$timezones = array('Europe/London', 'Mars/Phobos', 'Jupiter/Europa');

foreach ($timezones as $tz) {
    try {
        $mars = new DateTimeZone($tz);
    } catch(Exception $e) {
        echo $e->getMessage() . '<br />';
    }
}
?>

L'exemple ci-dessus va afficher :

DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)

DateTimeZone
DateTimeZone::getLocation
DateTimeZone


Retourne les informations géographiques d'un fuseau horaire

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone
PHP Manual

DateTimeZone::getLocation

(PHP 5 >= 5.3.0)

DateTimeZone::getLocation — Retourne les informations géographiques d'un fuseau horaire

Description

Style orienté objet

public array DateTimeZone::getLocation ( void )

Style procédural

array timezone_location_get ( void )

Retourne les informations géographiques d'un fuseau horaire, comprenant le code du pays, la latitude et la longitude, et commentaires.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Tableau contenant les informations de localisation du fuseau horaire.

Exemples

Exemple #1 Exemple avec DateTimeZone::getLocation()

<?php
$tz = new DateTimeZone("Europe/Prague");
print_r($tz->getLocation());
?>

L'exemple ci-dessus va afficher :

Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone


Retourne le nom du fuseau horaire

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone
PHP Manual

DateTimeZone::getName

(PHP 5 >= 5.2.0)

DateTimeZone::getName — Retourne le nom du fuseau horaire

Description

Style orienté objet

public string DateTimeZone::getName ( void )

Style procédural

string timezone_name_get ( void )

Retourne le nom du fuseau horaire.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un des fuseaux horaires.

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone


Retourne le décalage GMT d'un fuseau horaire

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone
PHP Manual

DateTimeZone::getOffset

(PHP 5 >= 5.2.0)

DateTimeZone::getOffset — Retourne le décalage GMT d'un fuseau horaire

Description

Style orienté objet

public int DateTimeZone::getOffset ( DateTime $datetime )

Style procédural

int timezone_offset_get ( DateTimeZone $object , DateTime $datetime )

timezone_offset_get() retourne le décalage horaire par rapport au GMT pour le paramètre datetime. Le décalage GMT est calculé à partir des informations de fuseau horaire contenu dans l'objet DateTime.

Liste de paramètres

object

Seulement en style procédural : un DateTimeZone objet retourné par timezone_open()

datetime

Objet DateTime qui contient la date dont il faut calculer le décalage.

Valeurs de retour

Retourne le décalage horaire, exprimé en secondes, en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DateTimeZone::getOffset()

<?php
// Crée deux objets fuseau horaire, un pour Taipei (Taiwan) et un pour
// Tokyo (Japon)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Crée deux objets DateTime qui contiennent le même timestampe Unix,
// mais sont situés dans deux fuseaux horaires différents.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calcule le décalage horaire GMT pour l'objet $dateTimeTaipei
// mais en utilisant le fuseau horaire de Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Devrait afficher int(32400) (pour les dates après le Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone


Retourne toutes les transitions d'un fuseau horaire

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone
PHP Manual

DateTimeZone::getTransitions

(PHP 5 >= 5.2.0)

DateTimeZone::getTransitions — Retourne toutes les transitions d'un fuseau horaire

Description

Style orienté objet

public array DateTimeZone::getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )

Style procédural

array timezone_transitions_get ( DateTimeZone $object [, int $timestamp_begin [, int $timestamp_end ]] )

Liste de paramètres

object

Seulement en style procédural : un DateTimeZone objet retourné par timezone_open()

timestamp_begin

Début du timestamp.

timestamp_end

Fin du timestamp.

Valeurs de retour

Retourne un tableau numérique, contenant des tableaux associatifs avec toutes les transitions, en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Les paramètres optionnels timestamp_begin et timestamp_end ont été ajouté.

Exemples

Exemple #1 Exemple avec timezone_transitions_get()

<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
        (
            [ts]  => -9223372036854775808
             [time] =>  -292277022657-01-27T08:29:52+0000
             [offset] => 3600
            [isdst]  => 1
            [abbr] => BST
         )

    [1] => Array
        (
            [ts]  => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset]  => 3600
            [isdst] => 1
             [abbr] => BST
        )

    [2] => Array
        (
            [ts]  => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset]  => 0
            [isdst] =>
             [abbr] => GMT
        )

)

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone


Retourne un tableau associatif, décrivant un fuseau horaire

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone
PHP Manual

DateTimeZone::listAbbreviations

(PHP 5 >= 5.2.0)

DateTimeZone::listAbbreviations — Retourne un tableau associatif, décrivant un fuseau horaire

Description

Style orienté objet

public static array DateTimeZone::listAbbreviations ( void )

Style procédural

array timezone_abbreviations_list ( void )

Valeurs de retour

Retourne un tableau en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec timezone_abbreviations_list()

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Voir aussi

  • timezone_identifiers_list() - Alias de DateTimeZone::listIdentifiers

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone


Retourne un tableau numérique de tous les fuseaux horaires

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone
PHP Manual

DateTimeZone::listIdentifiers

(PHP 5 >= 5.2.0)

DateTimeZone::listIdentifiers — Retourne un tableau numérique de tous les fuseaux horaires

Description

Style orienté objet

public static array DateTimeZone::listIdentifiers ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Style procédural

array timezone_identifiers_list ([ int $what = DateTimeZone::ALL [, string $country = NULL ]] )

Liste de paramètres

what

Une des constantes de classe DateTimeZone.

country

Un code de pays en deux lettres, compatible ISO 3166-1.

Note: Cette option n'est dispoinble que lorsque le paramètre what prend la valeur de DateTimeZone::PER_COUNTRY.

Valeurs de retour

Retourne un tableau en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Ajout des paramètres optionnels what et country.

Exemples

Exemple #1 Exemple avec timezone_identifiers_list()

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Voir aussi

  • timezone_abbreviations_list() - Alias de DateTimeZone::listAbbreviations

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone


La classe DateInterval

Introduction

Représentation d'un intervalle de dates. Un intervalle stock un nombre fixe de durées (en années, mois, jours, heures, etc.) ou une chaîne relative à une durée dans un format compréhensible par le constructeur de la classe DateTime.

Synopsis de la classe

DateInterval
DateInterval {
/* Méthodes */
public __construct ( string $interval_spec )
public static DateInterval createFromDateString ( string $time )
public string format ( string $format )
}

Sommaire

  • DateInterval::__construct — Crée un nouvel objet DateInterval
  • DateInterval::createFromDateString — Configure un objet DateInterval à partir des parties d'une chaîne
  • DateInterval::format — Formate l'intervalle
DateTimeZone::listIdentifiers
DateInterval::__construct
Date/Heure


Crée un nouvel objet DateInterval

DateInterval
DateInterval::createFromDateString
DateInterval
PHP Manual

DateInterval::__construct

(PHP 5 >= 5.3.0)

DateInterval::__construct — Crée un nouvel objet DateInterval

Description

public DateInterval::__construct ( string $interval_spec )

Crée un nouvel objet DateInterval.

Liste de paramètres

interval_spec

Spécification d'intervalle.

Le format commence avec la lettre P, pour "period". Chaque durée de la période est représentée par une valeur entière suivie par une désignation de période. Si la durée contient des éléments de temps, cette portion de la spécification est précédée par la lettre T.

Désignation de période interval_spec
Désignation de période | Description
Y | Années
M | Mois
D | Jours
W | Semaine. Sera converti en jours, aussi, vous ne pouvez pas le combiner avec D.
H | Heures
M | Minutes
S | Secondes

Voici quelques exemples simples. 2 jours sera P2D. 2 secondes sera PT2S. 6 années et 5 minutes sera P6YT5M.

Note: Les types d'unité doivent être entrés des plus grands aux plus petits. Ainsi, les années doivent être présentes avant les mois, les mois avant les jours, les jours avant les minutes, etc. Aussi, une année et 4 jours doit être représenté comme P1Y4D, et non P4D1Y.

Cette spécification peut également être représentée sous la forme d'une durée. Aussi, une année et 4 jours peut être P0001-00-04T00:00:00. Mais les valeurs de ce format ne peuvent pas exécéder une période donnée (i.e. 25 heures est invalide).

Ces formats sont basés sur la » spécification de durée ISO 8601.

Exemples

Exemple #1 Exemple avec DateInterval

<?php

$interval = new DateInterval('P2Y4DT6H8M');
print_r($interval);

?>

L'exemple ci-dessus va afficher :

DateInterval Object
(
    [y] => 2
    [m] => 0
    [d] => 4
    [h] => 6
    [i] => 8
    [s] => 0
    [invert] => 0
    [days] => 0
)

Voir aussi

  • DateInterval::format() - Formate l'intervalle
  • DateTime::add() - Ajoute une durée à un objet DateTime
  • DateTime::sub() - Soustrait une durée à un objet DateTime
  • DateTime::diff() - Retourne la différence entre deux objets DateTime

DateInterval
DateInterval::createFromDateString
DateInterval


Configure un objet DateInterval à partir des parties d'une chaîne

DateInterval::__construct
DateInterval::format
DateInterval
PHP Manual

DateInterval::createFromDateString

(PHP 5 >= 5.3.0)

DateInterval::createFromDateString — Configure un objet DateInterval à partir des parties d'une chaîne

Description

public static DateInterval DateInterval::createFromDateString ( string $time )

Utilise les analyseurs de dates natifs et configure un objet DateInterval à partir d'une chaîne de caractères.

Liste de paramètres

time

Une date, avec des portions relatives.

Valeurs de retour

Retourne un nouvel objet DateInterval, en cas de succès.

DateInterval::__construct
DateInterval::format
DateInterval


Formate l'intervalle

DateInterval::createFromDateString
DatePeriod
DateInterval
PHP Manual

DateInterval::format

(PHP 5 >= 5.3.0)

DateInterval::format — Formate l'intervalle

Description

public string DateInterval::format ( string $format )

Formate l'intervalle.

Liste de paramètres

format

Les caractères suivants sont reconnus dans la chaîne format. Chaque caractère utilisé pour le format doit être précédé par un signe de pourcentage (%).
Caractère de format | Description | Valeur d'exemple
% Caractère % littéral %
Y | Années, numérique, au moins 2 chiffres avec zéros initiaux | 01, 03
y | Années, numérique | 1, 3
M | Mois, numérique, au moins 2 chiffres avec zéros initiaux | 01, 03, 12
m | Mois, numérique | 1, 3, 12
D | Jours, numérique, au moins 2 chiffres avec zéros initiaux | 01, 03, 31
d | Jours, numérique | 1, 3, 31
a | Nombre total de jours | 4, 18, 8123
H | Heures, numérique, au moins 2 chiffres avec zéros initiaux | 01, 03, 23
h | Heures, numérique | 1, 3, 23
I | Minutes, numérique, au moins 2 chiffres avec zéros initiaux | 01, 03, 59
i | Minutes, numérique | 1, 3, 59
S | Secondes, numérique, au moins 2 chiffres avec zéros initiaux | 01, 03, 57
s | Secondes, numérique | 1, 3, 57
R Signe "-" lorsque négatif, "+" si positif -, +
r Signe "-" lorsque négatif, vide si positif -,

Valeurs de retour

Retourne l'intervalle formaté.

Notes

Note: La méthode DateInterval::format ne recalcule pas la retenue dans les chaines de temps ni dans les segments de date. Ce comportement est attendu car il n'est pas possible de dépasser des valeurs comme "32 days" qui pourrait être interprété comme "1 mois et 4 jours" ou "1 mois et 1 jour".

Exemples

Exemple #1 Exemple avec DateInterval

<?php

$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d jours');

?>

L'exemple ci-dessus va afficher :

4 jours

Exemple #2 DateInterval et retenue

<?php

$interval = new DateInterval('P32D');
echo $interval->format('%d jours');

?>

L'exemple ci-dessus va afficher :

32 jours

Exemple #3 DateInterval et DateTime::diff avec les modificateurs %a et %d

<?php

$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);

// %a affichera le nombre total de jours...
echo $interval->format('%a jours au total')."\n";

// ...alors que %d n'affichera que le nombre de jours non encore couverts
// dans le mois.
echo $interval->format('%m mois, %d jour');

?>

L'exemple ci-dessus va afficher :

31 jours au total
1 mois, 0 jour

DateInterval::createFromDateString
DatePeriod
DateInterval


La classe DatePeriod

Introduction

Représentation d'une période de dates.

Synopsis de la classe

DatePeriod
DatePeriod implements Traversable {
/* Constantes */
const integer DatePeriod::EXCLUDE_START_DATE = 1 ;
/* Méthodes */
public __construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
public __construct ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
public __construct ( string $isostr [, int $options ] )
}

Constantes pré-définies

Types de noeuds DatePeriod

DatePeriod::EXCLUDE_START_DATE

Exclut la date de début, utilisé par DatePeriod::__construct().

Sommaire

  • DatePeriod::__construct — Crée un nouvel objet DatePeriod
DateInterval::format
DatePeriod::__construct
Date/Heure


Crée un nouvel objet DatePeriod

DatePeriod
Fonctions Date/Heure
DatePeriod
PHP Manual

DatePeriod::__construct

(PHP 5 >= 5.3.0)

DatePeriod::__construct — Crée un nouvel objet DatePeriod

Description

public DatePeriod::__construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
public DatePeriod::__construct ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
public DatePeriod::__construct ( string $isostr [, int $options ] )

Crée un nouvel objet DatePeriod.

Liste de paramètres

start

Date de début.

interval

Intervalle.

recurrences

Nombre de récurrences.

end

Date de fin.

isostr

Chaîne contenant l'intervalle ISO.

options

Peut être configuré à DatePeriod::EXCLUDE_START_DATE.

DatePeriod
Fonctions Date/Heure
DatePeriod


Fonctions Date/Heure

Sommaire

  • checkdate — Valide une date grégorienne
  • date_add — Alias de DateTime::add
  • date_create_from_format — Alias de DateTime::createFromFormat
  • date_create — Alias de DateTime::__construct
  • date_date_set — Alias de DateTime::setDate
  • date_default_timezone_get — Récupère le décalage horaire par défaut utilisé par toutes les fonctions date/heure dans un script
  • date_default_timezone_set — Définit le décalage horaire par défaut de toutes les fonctions date/heure
  • date_diff — Alias de DateTime::diff
  • date_format — Alias de DateTime::format
  • date_get_last_errors — Alias de DateTime::getLastErrors
  • date_interval_create_from_date_string — Alias de DateInterval::createFromDateString
  • date_interval_format — Alias de DateInterval::format
  • date_isodate_set — Alias de DateTime::setISODate
  • date_modify — Alias de DateTime::modify
  • date_offset_get — Alias de DateTime::getOffset
  • date_parse_from_format — Récupère les informations d'une date donnée
  • date_parse — Retourne un tableau associatif avec des informations détaillées sur une date donnée
  • date_sub — Alias de DateTime::sub
  • date_sun_info — Retourne un tableau avec les informations sur lever/coucher du soleil ainsi que le début et la fin de l'aube
  • date_sunrise — Retourne l'heure de levé du soleil pour un jour et un endroit donnés
  • date_sunset — Retourne l'heure de coucher du soleil pour un jour et un endroit donnés
  • date_time_set — Alias de DateTime::setTime
  • date_timestamp_get — Alias de DateTime::getTimestamp
  • date_timestamp_set — Alias de DateTime::setTimestamp
  • date_timezone_get — Alias de DateTime::getTimezone
  • date_timezone_set — Alias de DateTime::setTimezone
  • date — Formate une date/heure locale
  • getdate — Retourne la date/heure
  • gettimeofday — Retourne l'heure actuelle
  • gmdate — Formate une date/heure GMT/CUT
  • gmmktime — Retourne le timestamp UNIX d'une date GMT
  • gmstrftime — Formate une date/heure GMT/CUT en fonction de la configuration locale
  • idate — Formate une date/heure locale en tant qu'entier
  • localtime — Récupère l'heure locale
  • microtime — Retourne le timestamp UNIX actuel avec les microsecondes
  • mktime — Retourne le timestamp UNIX d'une date
  • strftime — Formate une date/heure locale avec la configuration locale
  • strptime — Analyse une date générée par strftime
  • strtotime — Transforme un texte anglais en timestamp
  • time — Retourne le timestamp UNIX actuel
  • timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers
  • timezone_location_get — Alias de DateTimeZone::getLocation
  • timezone_name_from_abbr — Retourne le nom du fuseau horaire à partir de son abréviation
  • timezone_name_get — Alias de DateTimeZone::getName
  • timezone_offset_get — Alias de DateTimeZone::getOffset
  • timezone_open — Alias de DateTimeZone::__construct
  • timezone_transitions_get — Alias de DateTimeZone::getTransitions
  • timezone_version_get — Lit la version de la timezonedb
DatePeriod::__construct
checkdate
Date/Heure


Valide une date grégorienne

Fonctions Date/Heure
date_add
Fonctions Date/Heure
PHP Manual

checkdate

(PHP 4, PHP 5)

checkdate — Valide une date grégorienne

Description

bool checkdate ( int $month , int $day , int $year )

Vérifie la validité d'une date formée par les arguments. Une date est considérée comme valide si chaque paramètre est défini correctement.

Liste de paramètres

month

Le mois doit être compris entre 1 et 12.

day

Le jour doit être un jour autorisé par le mois donné. Les années bissextiles sont prises en comptes.

year

L'année est comprise entre 1 et 32767 inclus.

Valeurs de retour

Retourne TRUE si la date fournie est valide, sinon FALSE.

Exemples

Exemple #1 Exemple avec checkdate()

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

Voir aussi

  • mktime() - Retourne le timestamp UNIX d'une date
  • strtotime() - Transforme un texte anglais en timestamp

Fonctions Date/Heure
date_add
Fonctions Date/Heure


Alias de DateTime::add

checkdate
date_create_from_format
Fonctions Date/Heure
PHP Manual

date_add

(PHP 5 >= 5.3.0)

date_add — Alias de DateTime::add

Description

Cette fonction est un alias de : DateTime::add

checkdate
date_create_from_format
Fonctions Date/Heure


Alias de DateTime::createFromFormat

date_add
date_create
Fonctions Date/Heure
PHP Manual

date_create_from_format

(PHP 5 >= 5.3.0)

date_create_from_format — Alias de DateTime::createFromFormat

Description

Cette fonction est un alias de : DateTime::createFromFormat

date_add
date_create
Fonctions Date/Heure


Alias de DateTime::__construct

date_create_from_format
date_date_set
Fonctions Date/Heure
PHP Manual

date_create

(PHP 5 >= 5.2.0)

date_create — Alias de DateTime::__construct

Description

Cette fonction est un alias de : DateTime::__construct

date_create_from_format
date_date_set
Fonctions Date/Heure


Alias de DateTime::setDate

date_create
date_default_timezone_get
Fonctions Date/Heure
PHP Manual

date_date_set

(PHP 5 >= 5.2.0)

date_date_set — Alias de DateTime::setDate

Description

Cette fonction est un alias de : DateTime::setDate

date_create
date_default_timezone_get
Fonctions Date/Heure


Récupère le décalage horaire par défaut utilisé par toutes les fonctions date/heure dans un script

date_date_set
date_default_timezone_set
Fonctions Date/Heure
PHP Manual

date_default_timezone_get

(PHP 5 >= 5.1.0)

date_default_timezone_get — Récupère le décalage horaire par défaut utilisé par toutes les fonctions date/heure dans un script

Description

string date_default_timezone_get ( void )

Cette fonction retourne le décalage horaire en suivant l'ordre de préférences suivant :

  • Lecture du décalage horaire définie en utilisant la fonction date_default_timezone_set() (si elle existe)

  • Lecture de la variable d'environnement TZ (si elle n'est pas vide) (Avant PHP 5.3.0)

  • Lecture de la valeur de l'option de configuration date.timezone (si elle est définie)

  • Interrogation du système d'exploitation (si le système le supporte et l'autorise)

Si tout ce qui précède échoue, date_default_timezone_get retournera le décalage horaire par défaut de UTC.

Valeurs de retour

Retourne une chaîne de caractères.

Historique

Version | Description
5.3.0 | La variable d'environnement TZ n'est plus utilisée pour deviner le décalage horaire.

Exemples

Exemple #1 Récupération du décalage horaire par défaut

<?php
date_default_timezone_set('Europe/London');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set : ' . date_default_timezone_get() . '<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone : ' . ini_get('date.timezone');
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

date_default_timezone_set : Europe/London
date.timezone : Europe/London

Exemple #2 Récupération de l'abréviation d'un décalage horaire

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

L'exemple ci-dessus va afficher :

America/Los_Angeles => America/Los_Angeles => PST

Voir aussi

  • date_default_timezone_set() - Définit le décalage horaire par défaut de toutes les fonctions date/heure
  • Liste des Fuseaux Horaires Supportés

date_date_set
date_default_timezone_set
Fonctions Date/Heure


Définit le décalage horaire par défaut de toutes les fonctions date/heure

date_default_timezone_get
date_diff
Fonctions Date/Heure
PHP Manual

date_default_timezone_set

(PHP 5 >= 5.1.0)

date_default_timezone_set — Définit le décalage horaire par défaut de toutes les fonctions date/heure

Description

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() définit le décalage horaire par défaut utilisé par toutes les fonctions date/heure.

Note: Depuis PHP 5.1.0 (lorsque les fonctions date/heure ont été écrites), chaque appel à une fonction date/heure génère une E_NOTICE si le décalage horaire n'est pas valide et/ou un message E_WARNING si vous utilisez des configurations système ou la variable d'environnement TZ.

Au lieu d'utiliser cette fonction pour définir le décalage horaire par défaut dans votre script, vous pouvez également utiliser la configuration INI date.timezone.

Liste de paramètres

timezone_identifier

L'identifiant de décalage horaire, comme UTC ou Europe/Lisbon. La liste des identifiants valides est disponible dans le Liste des Fuseaux Horaires Supportés.

Valeurs de retour

Cette fonction retourne FALSE si timezone_identifier n'est pas valide, TRUE sinon.

Exemples

Exemple #1 Récupération du décalage horaire par défaut

<?php
date_default_timezone_set('America/Los_Angeles');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Le décalage horaire du script diffère du décalage horaire défini dans le fichier ini.';
} else {
    echo 'Le décalage horaire du script est équivalent à celui défini dans le fichier ini.';
}
?>

Historique

Version | Description
5.3.0 | Émet maintenant une alerte de type E_WARNING plutôt qu'une alerte de type E_STRICT.
5.1.2 | La fonction commence à valider le paramètre timezone_identifier.

Voir aussi

  • date_default_timezone_get() - Récupère le décalage horaire par défaut utilisé par toutes les fonctions date/heure dans un script
  • Liste des Fuseaux Horaires Supportés

date_default_timezone_get
date_diff
Fonctions Date/Heure


Alias de DateTime::diff

date_default_timezone_set
date_format
Fonctions Date/Heure
PHP Manual

date_diff

(PHP 5 >= 5.3.0)

date_diff — Alias de DateTime::diff

Description

Cette fonction est un alias de : DateTime::diff

date_default_timezone_set
date_format
Fonctions Date/Heure


Alias de DateTime::format

date_diff
date_get_last_errors
Fonctions Date/Heure
PHP Manual

date_format

(PHP 5 >= 5.2.0)

date_format — Alias de DateTime::format

Description

Cette fonction est un alias de : DateTime::format

date_diff
date_get_last_errors
Fonctions Date/Heure


Alias de DateTime::getLastErrors

date_format
date_interval_create_from_date_string
Fonctions Date/Heure
PHP Manual

date_get_last_errors

(PHP 5 >= 5.3.0)

date_get_last_errors — Alias de DateTime::getLastErrors

Description

Cette fonction est un alias de : DateTime::getLastErrors

date_format
date_interval_create_from_date_string
Fonctions Date/Heure


Alias de DateInterval::createFromDateString

date_get_last_errors
date_interval_format
Fonctions Date/Heure
PHP Manual

date_interval_create_from_date_string

(PHP 5 >= 5.3.0)

date_interval_create_from_date_string — Alias de DateInterval::createFromDateString

Description

Cette fonction est un alias de : DateInterval::createFromDateString

date_get_last_errors
date_interval_format
Fonctions Date/Heure


Alias de DateInterval::format

date_interval_create_from_date_string
date_isodate_set
Fonctions Date/Heure
PHP Manual

date_interval_format

(PHP 5 >= 5.3.0)

date_interval_format — Alias de DateInterval::format

Description

Cette fonction est un alias de : DateInterval::format

date_interval_create_from_date_string
date_isodate_set
Fonctions Date/Heure


Alias de DateTime::setISODate

date_interval_format
date_modify
Fonctions Date/Heure
PHP Manual

date_isodate_set

(PHP 5 >= 5.2.0)

date_isodate_set — Alias de DateTime::setISODate

Description

Cette fonction est un alias de : DateTime::setISODate

date_interval_format
date_modify
Fonctions Date/Heure


Alias de DateTime::modify

date_isodate_set
date_offset_get
Fonctions Date/Heure
PHP Manual

date_modify

(PHP 5 >= 5.2.0)

date_modify — Alias de DateTime::modify

Description

Cette fonction est un alias de : DateTime::modify

date_isodate_set
date_offset_get
Fonctions Date/Heure


Alias de DateTime::getOffset

date_modify
date_parse_from_format
Fonctions Date/Heure
PHP Manual

date_offset_get

(PHP 5 >= 5.2.0)

date_offset_get — Alias de DateTime::getOffset

Description

Cette fonction est un alias de : DateTime::getOffset

date_modify
date_parse_from_format
Fonctions Date/Heure


Récupère les informations d'une date donnée

date_offset_get
date_parse
Fonctions Date/Heure
PHP Manual

date_parse_from_format

(PHP 5 >= 5.3.0)

date_parse_from_format — Récupère les informations d'une date donnée

Description

array date_parse_from_format ( string $format , string $date )

Retourne un tableau associatif contenant des informations détaillées sur une date donnée.

Liste de paramètres

format

Format accepté par la fonction date() avec quelques ajouts.

date

Chaîne représentant la date.

Valeurs de retour

Retourne un tableau associatif avec des informations détaillées sur la date donnée.

Exemples

Exemple #1 Exemple avec date_parse_from_format()

<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>

L'exemple ci-dessus va afficher :

Array
(
    [year] => 2009
    [month] => 1
    [day] => 6
    [hour] => 13
    [minute] => 0
    [second] => 0
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => -60
    [is_dst] =>
)

date_offset_get
date_parse
Fonctions Date/Heure


Retourne un tableau associatif avec des informations détaillées sur une date donnée

date_parse_from_format
date_sub
Fonctions Date/Heure
PHP Manual

date_parse

(PHP 5 >= 5.2.0)

date_parse — Retourne un tableau associatif avec des informations détaillées sur une date donnée

Description

array date_parse ( string $date )

Liste de paramètres

date

Date mise en forme acceptée par strtotime().

Valeurs de retour

Retourne un tableau contenant des informations sur la date analysée en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Dans le cas où la fonction retourne une erreur, l'élément "errors" contiendra les messages d'erreur.

Exemples

Exemple #1 Exemple avec date_parse()

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

L'exemple ci-dessus va afficher :

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

Voir aussi

  • getdate() - Retourne la date/heure

date_parse_from_format
date_sub
Fonctions Date/Heure


Alias de DateTime::sub

date_parse
date_sun_info
Fonctions Date/Heure
PHP Manual

date_sub

(PHP 5 >= 5.3.0)

date_sub — Alias de DateTime::sub

Description

Cette fonction est un alias de : DateTime::sub

date_parse
date_sun_info
Fonctions Date/Heure


Retourne un tableau avec les informations sur lever/coucher du soleil ainsi que le début et la fin de l'aube

date_sub
date_sunrise
Fonctions Date/Heure
PHP Manual

date_sun_info

(PHP 5 >= 5.1.2)

date_sun_info — Retourne un tableau avec les informations sur lever/coucher du soleil ainsi que le début et la fin de l'aube

Description

array date_sun_info ( int $time , float $latitude , float $longitude )

Liste de paramètres

time

Timestamp.

latitude

Latitude en degrés.

longitude

Longitude en degrés.

Valeurs de retour

Retourne un tableau en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec date_sun_info()

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
  echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

L'exemple ci-dessus va afficher :

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Voir aussi

  • date_sunrise() - Retourne l'heure de levé du soleil pour un jour et un endroit donnés
  • date_sunset() - Retourne l'heure de coucher du soleil pour un jour et un endroit donnés

date_sub
date_sunrise
Fonctions Date/Heure


Retourne l'heure de levé du soleil pour un jour et un endroit donnés

date_sun_info
date_sunset
Fonctions Date/Heure
PHP Manual

date_sunrise

(PHP 5)

date_sunrise — Retourne l'heure de levé du soleil pour un jour et un endroit donnés

Description

mixed date_sunrise ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunrise() retourne l'heure de levé du soleil pour un jour (spécifié par le paramètre timestamp) et un endroit donnés.

Liste de paramètres

timestamp

Le timestamp Unix du jour pour lequel l'heure de levé du soleil est donné.

format

Constantes pour le paramètre format
Constante | Description | Exemple
SUNFUNCS_RET_STRING | Retourne le résultat en tant que chaîne de caractères | 16:46
SUNFUNCS_RET_DOUBLE | Retourne le résultat en tant que nombre décimal | 16.78243132
SUNFUNCS_RET_TIMESTAMP | Retourne le résultat en tant qu'entier (timestamp) | 1095034606

latitude

Par défaut, c'est le Nord. Passez une valeur négative pour le Sud. Voir aussi date.default_latitude.

longitude

Par défaut, c'est l'Est. Passez une valeur négative pour l'Ouest. Voir aussi date.default_longitude.

zenith

Par défaut : date.sunrise_zenith

gmtoffset

Spécifié en heures.

Valeurs de retour

Retourne l'heure de levé du soleil dans un format spécifié en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.

Exemples

Exemple #1 Exemple avec date_sunrise()

<?php

/* Calcul l'heure du levé du soleil pour Lisbonne, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Mon Dec 20 2004, sunrise time : 08:54

Voir aussi

  • date_sunset() - Retourne l'heure de coucher du soleil pour un jour et un endroit donnés

date_sun_info
date_sunset
Fonctions Date/Heure


Retourne l'heure de coucher du soleil pour un jour et un endroit donnés

date_sunrise
date_time_set
Fonctions Date/Heure
PHP Manual

date_sunset

(PHP 5)

date_sunset — Retourne l'heure de coucher du soleil pour un jour et un endroit donnés

Description

mixed date_sunset ( int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunset_zenith") [, float $gmt_offset = 0 ]]]]] )

date_sunset() retourne l'heure de couché du soleil pour un jour (spécifié en tant que timestamp Unix) et un endroit donnés.

Liste de paramètres

timestamp

Le timestamp Unix du jour pour lequel l'heure du couché du soleil est donnée.

format

Constantes pour le paramètre format
Constante | Description | Exemple
SUNFUNCS_RET_STRING | Retourne le résultat sous la forme d'une chaîne de caractères | 16:46
SUNFUNCS_RET_DOUBLE | Retourne le résultat sous la forme d'un nombre décimal | 16.78243132
SUNFUNCS_RET_TIMESTAMP | Retourne le résultat sous la forme d'un entier (timestamp) | 1095034606

latitude

Par défaut, c'est le Nord. Passez une valeur négative pour le Sud. Voir aussi date.default_latitude.

longitude

Par défaut, c'est l'Est. Passez une valeur négative pour l'Ouest. Voir aussi date.default_longitude.

zenith

Par défaut : date.sunrise_zenith

gmtoffset

Spécifié en heures.

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.

Valeurs de retour

Retourne l'heure de couché du soleil dans un format spécifié ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec date_sunset()

<?php

     /* Calcul l'heure du couché du soleil pour Lisbonne, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Mon Dec 20 2004, sunset time : 18:13

Voir aussi

  • date_sunrise() - Retourne l'heure de levé du soleil pour un jour et un endroit donnés

date_sunrise
date_time_set
Fonctions Date/Heure


Alias de DateTime::setTime

date_sunset
date_timestamp_get
Fonctions Date/Heure
PHP Manual

date_time_set

(PHP 5 >= 5.2.0)

date_time_set — Alias de DateTime::setTime

Description

Cette fonction est un alias de : DateTime::setTime

date_sunset
date_timestamp_get
Fonctions Date/Heure


Alias de DateTime::getTimestamp

date_time_set
date_timestamp_set
Fonctions Date/Heure
PHP Manual

date_timestamp_get

(PHP 5 >= 5.3.0)

date_timestamp_get — Alias de DateTime::getTimestamp

Description

Cette fonction est un alias de : DateTime::getTimestamp

date_time_set
date_timestamp_set
Fonctions Date/Heure


Alias de DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Fonctions Date/Heure
PHP Manual

date_timestamp_set

(PHP 5 >= 5.3.0)

date_timestamp_set — Alias de DateTime::setTimestamp

Description

Cette fonction est un alias de : DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Fonctions Date/Heure


Alias de DateTime::getTimezone

date_timestamp_set
date_timezone_set
Fonctions Date/Heure
PHP Manual

date_timezone_get

(PHP 5 >= 5.2.0)

date_timezone_get — Alias de DateTime::getTimezone

Description

Cette fonction est un alias de : DateTime::getTimezone

date_timestamp_set
date_timezone_set
Fonctions Date/Heure


Alias de DateTime::setTimezone

date_timezone_get
date
Fonctions Date/Heure
PHP Manual

date_timezone_set

(PHP 5 >= 5.2.0)

date_timezone_set — Alias de DateTime::setTimezone

Description

Cette fonction est un alias de : DateTime::setTimezone

date_timezone_get
date
Fonctions Date/Heure


Formate une date/heure locale

date_timezone_set
getdate
Fonctions Date/Heure
PHP Manual

date

(PHP 4, PHP 5)

date — Formate une date/heure locale

Description

string date ( string $format [, int $timestamp ] )

Retourne une date sous forme d'une chaîne, au format donné par le paramètre format, fournie par le paramètre timestamp ou la date et l'heure courantes si aucun timestamp n'est fourni. En d'autres termes, le paramètre timestamp est optionnel et vaut par défaut la valeur de la fonction time().

Liste de paramètres

format

Le format de la date désirée. Voir les options de formatage ci-dessous. Il existe aussi de nombreuses constantes de dates qui peuvent être utilisées, ce qui fait que DATE_RSS va remplacer le format "D, d M Y H:i:s".

Les caractères suivants sont reconnus dans le paramètre format
Caractères pour le paramètre format | Description | Exemple de valeurs retournées
Jour --- ---
d | Jour du mois, sur deux chiffres (avec un zéro initial) | 01 à 31
D | Jour de la semaine, en trois lettres (et en anglais) | Mon à Sun
j | Jour du mois sans les zéros initiaux | 1 à 31
l ('L' minuscule) | Jour de la semaine, textuel, version longue, en anglais | Sunday à Saturday
N | Représentation numérique ISO-8601 du jour de la semaine (ajouté en PHP 5.1.0) | 1 (pour Lundi) à 7 (pour Dimanche)
S | Suffixe ordinal d'un nombre pour le jour du mois, en anglais, sur deux lettres | st, nd, rd ou th. Fonctionne bien avec j
w | Jour de la semaine au format numérique | 0 (pour dimanche) à 6 (pour samedi)
z | Jour de l'année | 0 à 366
Semaine --- ---
W | Numéro de semaine dans l'année ISO-8601, les semaines commencent le lundi (ajouté en PHP 4.1.0) | Exemple : 42 (la 42ème semaine de l'année)
Mois --- ---
F | Mois, textuel, version longue; en anglais, comme January ou December | January à December
m | Mois au format numérique, avec zéros initiaux | 01 à 12
M | Mois, en trois lettres, en anglais | Jan à Dec
n | Mois sans les zéros initiaux | 1 à 12
t | Nombre de jours dans le mois | 28 à 31
Année --- ---
L | Est ce que l'année est bissextile | 1 si bissextile, 0 sinon.
o | L'année ISO-8601. C'est la même valeur que Y, excepté que si le numéro de la semaine ISO (W) appartient à l'année précédente ou suivante, cette année sera utilisé à la place. (ajouté en PHP 5.1.0) | Exemples : 1999 ou 2003
Y | Année sur 4 chiffres | Exemples : 1999 ou 2003
y | Année sur 2 chiffres | Exemples : 99 ou 03
Heure --- ---
a | Ante meridiem et Post meridiem en minuscules | am ou pm
A | Ante meridiem et Post meridiem en majuscules | AM ou PM
B | Heure Internet Swatch | 000 à 999
g | Heure, au format 12h, sans les zéros initiaux | 1 à 12
G | Heure, au format 24h, sans les zéros initiaux | 0 à 23
h | Heure, au format 12h, avec les zéros initiaux | 01 à 12
H | Heure, au format 24h, avec les zéros initiaux | 00 à 23
i | Minutes avec les zéros initiaux | 00 à 59
s | Secondes, avec zéros initiaux | 00 à 59
u | Microsecondes (ajouté en PHP 5.2.2) | Exemple : 654321
Fuseau horaire --- ---
e | L'identifiant du fuseau horaire (ajouté en PHP 5.1.0) | Exemples : UTC, GMT, Atlantic/Azores
I (i majuscule) | L'heure d'été est activée ou pas | 1 si oui, 0 sinon.
O | Différence d'heures avec l'heure de Greenwich (GMT), exprimée en heures | Exemple : +0200
P | Différence avec l'heure Greenwich (GMT) avec un deux-points entre les heures et les minutes (ajouté dans PHP 5.1.3) | Exemple : +02:00
T | Abréviation du fuseau horaire | Exemples : EST, MDT ...
Z | Décalage horaire en secondes. Le décalage des zones à l'ouest de la zone UTC est négative, et à l'est, il est positif. | -43200 à 50400
Date et Heure complète --- ---
c | Date au format ISO 8601 (ajouté en PHP 5) | 2004-02-12T15:19:21+00:00
r | Format de date » RFC 2822 | Exemple : Thu, 21 Dec 2000 16:01:07 +0200
U | Secondes depuis l'époque Unix (1er Janvier 1970, 0h00 00s GMT) | Voir aussi time()

Les caractères non reconnus seront imprimés tels quel. "Z" retournera toujours 0 lorsqu'il est utilisé avec gmdate().

Note: Sachant que cette fonction n'accepte que des entiers sous la forme de timestamp, le caractère u n'est utile que lors de l'utilisation de la fonction date_format() avec un timestamp utilisateur créé avec la fonction date_create().

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne une date formatée. Si une valeur non-numérique est utilisée dans le paramètre timestamp, FALSE sera retourné et une erreur de niveau E_WARNING est émise.

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.1.0 | L'intervalle de validité d'un timestamp va généralement du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. (Ces dates correspondent aux valeurs minimales et maximales des entiers 32 bits non-signés). Cependant, avant PHP 5.1.0, cette intervalle va du 01-01-1970 au 19-01-2038 sur quelques systèmes (e.g. Windows).
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
5.1.1 | Il y a plusieurs constantes utiles de formats date/heure standards qui peuvent être utilisées pour spécifier le paramètre format.

Exemples

Exemple #1 Exemple avec date()

<?php
// Définit le fuseau horaire par défaut à utiliser. Disponible depuis PHP 5.1
date_default_timezone_set('UTC');

// Affichage de quelque chose comme : Monday
echo date("l");

// Affichage de quelque chose comme : Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Affiche : July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* utilise les constantes dans le paramètre format */
// Affichage de quelque chose comme : Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// Affichage de quelque chose comme : 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Vous pouvez faire afficher un caractère spécial dans la chaîne de format en le protégeant par un antislash. Si le caractère est lui-même une séquence incluant un antislash, vous devrez protéger aussi l'antislash.

Exemple #2 Protection des caractères dans la fonction date()

<?php
// Affichage de quelque chose comme : Wednesday the 15th
echo date("l \\t\h\e jS");
?>

Il est possible d'utiliser date() et mktime() ensemble pour générer des dates dans le futur ou dans le passé.

Exemple #3 Exemple avec date() et mktime()

<?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);
?>

Note: Cette méthode est plus sûre que simplement ajouter ou retrancher le nombre de secondes dans une journée ou un mois à un timestamp, à cause des heures d'hiver et d'été.

Voici maintenant quelques exemples de formatage avec date(). Notez que vous devriez échapper tous les autres caractères, car s'ils ont une signification spéciale, ils risquent de produire des effets secondaires indésirables. Notez aussi que les versions futures de PHP peuvent attribuer une signification à des lettres qui sont actuellement inertes. Lorsque vous échappez les caractères, pensez à utiliser des guillemets simples, pour que les séquences \n ne deviennent pas des nouvelles lignes.

Exemple #4 Exemple avec date()

<?php
// Aujourd'hui, le 12 Mars 2001, 5:16:18 pm, Fuseau horaire
// Mountain Standard Time (MST)

$today = date("F j, Y, g:i a");                   // March 10, 2001, 5:16 pm
$today = date("m.d.y");                           // 03.10.01
$today = date("j, n, Y");                         // 10, 3, 2001
$today = date("Ymd");                             // 20010310
$today = date('h-i-s, j-m-y, it is w Day');       // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');     // It is the 10th day (10ème jour du mois).
$today = date("D M j G:i:s T Y");                 // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \e\s\t\ \l\e\ \m\o\i\s'); // 17:16:18 m est le mois
$today = date("H:i:s");                           // 17:16:18
?>

Pour formater des dates dans d'autres langues, utilisez les fonctions setlocale() et strftime() au lieu de la fonction date().

Notes

Note: Pour générer un timestamp à partir d'une représentation de date, vous pouvez utiliser la fonction strtotime(). De plus, certaines bases de données disposent de fonctions pour convertir leurs propres formats de date en timestamp (par exemple, MySQL et sa fonction » UNIX_TIMESTAMP()).

Astuce

Un timestamp représentant le début de la requête est disponible dans la variable $_SERVER['REQUEST_TIME'] depuis PHP 5.1.

Voir aussi

  • gmdate() - Formate une date/heure GMT/CUT
  • idate() - Formate une date/heure locale en tant qu'entier
  • getdate() - Retourne la date/heure
  • getlastmod() - Retourne la date de dernière modification de la page
  • mktime() - Retourne le timestamp UNIX d'une date
  • strftime() - Formate une date/heure locale avec la configuration locale
  • time() - Retourne le timestamp UNIX actuel
  • constantes de date

date_timezone_set
getdate
Fonctions Date/Heure


Retourne la date/heure

date
gettimeofday
Fonctions Date/Heure
PHP Manual

getdate

(PHP 4, PHP 5)

getdate — Retourne la date/heure

Description

array getdate ([ int $timestamp = time() ] )

Retourne un tableau associatif contenant les informations de date et d'heure du timestamp timestamp lorsqu'il est fourni, sinon, le timestamp de la date/heure courante locale.

Liste de paramètres

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne un tableau associatif contenant les informations de date et d'heure du timestamp timestamp. Les éléments du tableau associatif retourné sont les suivants :

Nom des clés du tableau associatif retourné
Clé | Description | Exemple de valeur retournée
"seconds" | Représentation numérique des secondes | 0 à 59
"minutes" | Représentation numérique des minutes | 0 à 59
"hours" | Représentation numérique des heures | 0 à 23
"mday" | Représentation numérique du jour du mois courant | 1 à 31
"wday" | Représentation numérique du jour de la semaine courante | 0 (pour Dimanche) à 6 (pour Samedi)
"mon" | Représentation numérique du mois | 1 à 12
"year" | Année, sur 4 chiffres | Exemples : 1999 ou 2003
"yday" | Représentation numérique du jour de l'année | 0 à 365
"weekday" | Version texte du jour de la semaine | Sunday à Saturday
"month" | Version texte du mois, comme January ou March | January à December
0 | Nombre de secondes depuis l'époque Unix, similaire à la valeur retournée par la fonction time() et utilisée par date(). | Dépend du système, typiquement de -2147483648 à 2147483647.

Exemples

Exemple #1 Exemple avec getdate()

<?php
$today = getdate();
print_r($today);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
     [seconds] => 40
     [minutes] => 58
     [hours]   => 21
     [mday]    => 17
     [wday]    => 2
     [mon]     => 6
     [year]    => 2003
     [yday]    => 167
     [weekday] => Tuesday
     [month]   => June
     [0]       => 1055901520
)

Voir aussi

  • date() - Formate une date/heure locale
  • idate() - Formate une date/heure locale en tant qu'entier
  • time() - Retourne le timestamp UNIX actuel
  • setlocale() - Modifie les informations de localisation

date
gettimeofday
Fonctions Date/Heure


Retourne l'heure actuelle

getdate
gmdate
Fonctions Date/Heure
PHP Manual

gettimeofday

(PHP 4, PHP 5)

gettimeofday — Retourne l'heure actuelle

Description

mixed gettimeofday ([ bool $return_float ] )

C'est une interface avec gettimeofday(2). Elle retourne un tableau associatif qui contient les informations retournées par le système.

Liste de paramètres

return_float

Lorsque défini à TRUE, un nombre décimal est retourné à la place d'un tableau.

Valeurs de retour

Par défaut, un tableau est retourné. Si le paramètre return_float est défini, alors un nombre décimal sera retourné.

Clés du tableau :

  • "sec" : secondes depuis l'époque Unix
  • "usec" : microsecondes
  • "minuteswest" : minutes de décalage par rapport à Greenwich, vers l'Ouest.
  • "dsttime" : type de correction dst

Historique

Version | Description
5.1.0 | Le paramètre return_float a été ajouté.

Exemples

Exemple #1 Exemple avec gettimeofday()

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
   [sec] => 1073504408
   [usec] => 238215
   [minuteswest] => 0
   [dsttime] => 1
)

1073504408.23910

getdate
gmdate
Fonctions Date/Heure


Formate une date/heure GMT/CUT

gettimeofday
gmmktime
Fonctions Date/Heure
PHP Manual

gmdate

(PHP 4, PHP 5)

gmdate — Formate une date/heure GMT/CUT

Description

string gmdate ( string $format [, int $timestamp ] )

gmdate() est identique à la fonction date(), hormis le fait que le temps retourné est GMT (Greenwich Mean Time).

Liste de paramètres

format

Le format de la date en sortie. Voir les options de formatage pour la fonction date().

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne une date formatée. Si une valeur non numérique est utilisée pour le paramètre timestamp, FALSE est retourné et une erreur de niveau E_WARNING sera émise.

Historique

Version | Description
5.1.0 | L'intervalle de validité d'un timestamp est typiquement depuis le Vendredi 13 Décembre 1901 20:45:54 GMT au 19 Janvier 2038 03:14:07 GMT. (ce qui correspond aux valeurs minimales et maximales d'un entier 32 bits signé). Cependant, avant PHP 5.1.0, cet intervalle était limité de 01-01-1970 à 19-01-2038 sous quelques systèmes (e.g. Windows).
5.1.1 | Il y a quelques constants utiles pour les formats standards date/heure qui peuvent être utilisées dans le paramètre format.

Exemples

Exemple #1 Exemple avec gmdate()

Lorsque cette fonction est exécutée en Finlande (GMT +0200), la première ligne ci-dessous affichera "Jan 01 1998 00:00:00", tandis que la seconde affichera "Dec 31 1997 22:00:00".

<?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));
?>

Voir aussi

  • date() - Formate une date/heure locale
  • mktime() - Retourne le timestamp UNIX d'une date
  • gmmktime() - Retourne le timestamp UNIX d'une date GMT
  • strftime() - Formate une date/heure locale avec la configuration locale

gettimeofday
gmmktime
Fonctions Date/Heure


Retourne le timestamp UNIX d'une date GMT

gmdate
gmstrftime
Fonctions Date/Heure
PHP Manual

gmmktime

(PHP 4, PHP 5)

gmmktime — Retourne le timestamp UNIX d'une date GMT

Description

  int  gmmktime
  ([  int  $hour = gmdate("H")
 [,  int  $minute = gmdate("i")
 [,  int  $second = gmdate("s")
 [,  int  $month = gmdate("n")
 [,  int  $day = gmdate("j")
 [,  int  $year = gmdate("Y")
 [,  int  $is_dst = -1
]]]]]]] )

Identique à la fonction mktime() excepté le fait que les paramètres passés sont GMT. gmmktime() utilise en interne la fonction mktime(), donc, seuls les temps valides dans la zone locale dérivée peuvent être utilisés.

Comme mktime(), les arguments restants peuvent être ignorés. Ils prendront alors leurs valeurs GMT actuelles.

Liste de paramètres

hour

Les heures

minute

Les minutes

second

Les secondes

month

Le mois

day

Le jour

year

L'année

is_dst

Les paramètres représentent toujours une date GMT donc, le paramètre is_dst n'influence pas le résultat.

Valeurs de retour

Retourne un timestamp Unix de type entier.

Historique

Version | Description
5.1.0 | Depuis PHP 5.1.0, le paramètre is_dst est devenu obsolète. Comme résultat, le nouveau gestionnaire de fuseau horaire doit être utilisé à la place.

Exemples

Exemple #1 Exemple avec gmmktime()

<?php
gmmktime(0, 0, 0, 1, 1, 1970);  // valide en GMT et l'ouest, invalide à l'est
?>

Voir aussi

  • mktime() - Retourne le timestamp UNIX d'une date
  • date() - Formate une date/heure locale
  • time() - Retourne le timestamp UNIX actuel

gmdate
gmstrftime
Fonctions Date/Heure


Formate une date/heure GMT/CUT en fonction de la configuration locale

gmmktime
idate
Fonctions Date/Heure
PHP Manual

gmstrftime

(PHP 4, PHP 5)

gmstrftime — Formate une date/heure GMT/CUT en fonction de la configuration locale

Description

string gmstrftime ( string $format [, int $timestamp = time() ] )

gmstrftime() se comporte exactement comme strftime() hormis le fait que l'heure utilisée est celle de Greenwich (Greenwich Mean Time, GMT). Par exemple, dans la zone Eastern Standard Time (est des USA) est GMT -0500, la première ligne de l'exemple ci-dessous affiche "Dec 31 1998 20:00:00", tandis que la seconde affiche "Jan 01 1999 01:00:00".

Liste de paramètres

format

Voir la description de la fonction strftime().

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne une chaîne de caractères formatée suivant le format donné par le paramètre timestamp ou la date courante si aucun paramètre timestamp n'est fourni. Les noms des mois, des jours de la semaine et des autres chaînes dépendant d'une localisation donnée, respectent la localisation courante définie par la fonction setlocale().

Exemples

Exemple #1 Exemple avec gmstrftime()

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Voir aussi

  • strftime() - Formate une date/heure locale avec la configuration locale

gmmktime
idate
Fonctions Date/Heure


Formate une date/heure locale en tant qu'entier

gmstrftime
localtime
Fonctions Date/Heure
PHP Manual

idate

(PHP 5)

idate — Formate une date/heure locale en tant qu'entier

Description

int idate ( string $format [, int $timestamp = time() ] )

idate() retourne une nombre formaté avec le format format et représentant le timestamp timestamp ou l'heure courant si timestamp est omis. En d'autres termes, le paramètre timestamp est optionnel et la valeur par défaut est la valeur retournée par la fonction time().

À l'inverse de la fonction date(), idate() accepte juste un caractère comme paramètre format.

Liste de paramètres

format

Les caractères suivants sont reconnus dans la chaîne de caractères du paramètre format
Caractères de format | Description
B | Temps Internet Swatch Beat
d | Le jour du mois
h | Heure (format 12 heures)
H | Heure (format 24 heures)
i | Minutes
I(i, en majuscule) | Retourne 1 si l'heure d'été est activée, 0 sinon
L(l, en majuscule) | Retourne 1 pour une année bissextile, 0 sinon
m | Numéro du mois
s | Secondes
t | Jour du mois courant
U | Secondes depuis l'époque Unix - 1 Janvier 1970 00:00:00 UTC - c'est la même chose que la fonction time()
w | Jour de la semaine (0 pour Dimanche)
W | Le numéro de semaine de l'année ; selon l'ISO-8601, les semaines débutent le Lundi
y | Année sur 1 ou 2 chiffres, voir la note plus bas
Y | Année sur 4 chiffres
z | Jour de l'année
Z | Décalage horaire, en secondes

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne un entier.

Sachant que idate() retourne toujours un entier et qu'il ne peut commencer par 0, idate() peut retourner moins de chiffres que ce dont on pourrait espérer. Voir l'exemple ci-dessous.

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.

Exemples

Exemple #1 Exemple avec idate()

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// ceci affiche l'année sur deux chiffres
// néanmoins, vu que ce chiffre va commencer par "0",
// seul "4" sera affiché
echo idate('y', $timestamp);
?>

Voir aussi

  • date() - Formate une date/heure locale
  • getdate() - Retourne la date/heure
  • time() - Retourne le timestamp UNIX actuel

gmstrftime
localtime
Fonctions Date/Heure


Récupère l'heure locale

idate
microtime
Fonctions Date/Heure
PHP Manual

localtime

(PHP 4, PHP 5)

localtime — Récupère l'heure locale

Description

array localtime ([ int $timestamp = time() [, bool $is_associative = false ]] )

localtime() retourne un tableau identique à la structure retournée par la fonction C localtime.

Liste de paramètres

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

is_associative

si défini à FALSE ou ignoré, force localtime() à retourner un tableau à index numérique. S'il est mis à TRUE, localtime() retourne un tableau associatif, avec tous les éléments de la structure C, accessible avec les clés. Les noms des différentes clés du tableau associatif sont les suivants :

  • "tm_sec" : secondes
  • "tm_min" : minutes
  • "tm_hour" : heure
  • "tm_mday" : jour du mois Les mois commencent à 0 (Janvier) à 11 (Décembre) et les jours de la semaine commencent à 0 (Dimanche) à 6 (Samedi).
  • "tm_mon" : mois de l'année, commence par 0 pour Janvier
  • "tm_year" : Année depuis 1900
  • "tm_wday" : Jour de la semaine
  • "tm_yday" : Jour de l'année
  • "tm_isdst" : Est-ce que l'heure d'hiver a pris effet ?

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.

Exemples

Exemple #1 Exemple avec localtime()

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)

idate
microtime
Fonctions Date/Heure


Retourne le timestamp UNIX actuel avec les microsecondes

localtime
mktime
Fonctions Date/Heure
PHP Manual

microtime

(PHP 4, PHP 5)

microtime — Retourne le timestamp UNIX actuel avec les microsecondes

Description

mixed microtime ([ bool $get_as_float ] )

microtime() retourne le timestamp Unix, avec les microsecondes. Cette fonction est uniquement disponible sur les systèmes qui supportent la fonction gettimeofday().

Liste de paramètres

get_as_float

Lorsque cette fonction est appelée sans l'argument optionnel, elle retourne la chaîne "msec sec" avec sec qui est mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT), et msec qui est le nombre de microsecondes de cette heure. Les deux parties de la chaîne sont retournées sous la forme de secondes.

Si le paramètre optionnel get_as_float est défini à TRUE alors microtime() retourne un nombre à virgule.

Historique

Version | Description
5.0.0 | Le paramètre get_as_float a été ajouté.

Exemples

Exemple #1 Durée d'exécution d'un script avec la fonction microtime()

<?php
/**
* Fonction simple identique à celle en PHP 5 qui va suivre
*/
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Attend pendant un moment
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "Ne rien faire pendant $time secondes\n";
?>

Exemple #2 Durée d'exécution d'un script en PHP 5

<?php
$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>

Voir aussi

  • time() - Retourne le timestamp UNIX actuel

localtime
mktime
Fonctions Date/Heure


Retourne le timestamp UNIX d'une date

microtime
strftime
Fonctions Date/Heure
PHP Manual

mktime

(PHP 4, PHP 5)

mktime — Retourne le timestamp UNIX d'une date

Description

  int  mktime
  ([  int  $hour = date("H")
 [,  int  $minute = date("i")
 [,  int  $second = date("s")
 [,  int  $month = date("n")
 [,  int  $day = date("j")
 [,  int  $year = date("Y")
 [,  int  $is_dst = -1
]]]]]]] )

mktime() retourne un timestamp UNIX correspondant aux arguments fournis. Ce timestamp est un entier long, contenant le nombre de secondes entre le début de l'époque UNIX (1er Janvier 1970 00:00:00 GMT) et le temps spécifié.

Les arguments peuvent être omis, de droite à gauche, et tous les arguments manquants sont utilisés avec la valeur courante de l'heure et du jour.

Notes

Note: Depuis PHP 5.1, lorsqu'appelée sans argument, la fonction mktime() émet une alerte de type E_STRICT : utilisez la fonction time() à la place.

Liste de paramètres

hour

L'heure.

minute

Les minutes

second

Les secondes.

month

Le nombre représentant le mois.

day

Le nombre représentant le jour.

year

L'année, peut être sur deux ou quatre chiffres, avec des valeurs allant de 0 à 69, correspondant au valeur 2000 à 2069 et 70 à 100, correspondant au valeur 1970 à 2000. Sur les systèmes où time_t un entier signé sur 32bits, ce qui est le plus courant de nos jours, la période valide pour year est quelque part près de 1901 et 2038. Cependant, avant PHP 5.1.0, cette intervalle était limitée de 1970 à 2038 sur quelques systèmes (i.e. Windows).

is_dst

Ce paramètre peut être mis à 1 si l'heure d'hiver est appliquée (DST), 0 si elle ne l'est pas, et -1 (par défaut) si on ne sait pas. Si l'on ne sait pas, PHP tente de le traiter lui-même. Ceci peut occasionner des résultats inattendus (mais néanmoins correct). Quelques temps sont invalides si DST est activé sur les systèmes où PHP fonctionne ou is_dist est défini à 1. Si DST est activé e.g. 2:00, tous les temps entre 2:00 et 3:00 sont invalides et la fonction mktime() retourne une valeur indéfinie (généralement une valeur négative). Quelques systèmes (e.g. Solaris 8) activent DST à minuit, donc, le temps 0:30 du jour lorsque DST est activé est évalué à 23:30 du jour précédent.

Note: Depuis PHP 5.1.0, ce paramètre est déprécié. Comme résultat, le nouveau gestionnaire de fuseau horaire doit être utilisé à la place.

Valeurs de retour

mktime() retourne un timestamp Unix des arguments donnés. Si les arguments ne sont pas valides, la fonction retournera FALSE (avant PHP 5.1, elle retournait -1).

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.3.0 | mktime() lance maintenant une alerte de type E_DEPRECATED si le paramètre is_dst est utilisé.
5.1.0 | Le paramètre is_dst est déprécié. Fait que la fonction retourne FALSE en cas d'erreur, au lieu de -1. La fonction a été modifiée pour accepter la valeur zéro comme année, mois ou bien jour.
5.1.0 | Lorsqu'appelée sans argument, la fonction mktime() émet une alerte de type E_STRICT. Utilisez la fonction time() à la place.
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.

Exemples

Exemple #1 Exemple simple avec mktime()

<?php
// Configuration du fuseau horaire. Disponible depuis PHP 5.1
date_default_timezone_set('UTC');

// Affiche : July 1, 2000 est un Saturday
echo "July 1, 2000 est un " . date("l", mktime(0, 0, 0, 7, 1, 2000));

// Affiche quelque chose comme : 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>

Exemple #2 Exemple avec mktime()

mktime() est pratique pour faire des calculs de dates et des validations, car elle va automatiquement corriger les valeurs invalides. Par exemple, toutes les lignes suivantes vont retourner la même date : "Jan-01-1998".

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Exemple #3 Dernier jour du mois suivant

Le dernier jour d'un mois peut être décrit comme le jour "0" du mois suivant, et non pas le jour -1. Les deux exemples suivants vont donner : "Le dernier jour de Février 2000 est: 29".

<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Le dernier jour de Fevrier 2000 est : %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Le dernier jour de Fevrier 2000 est : %d", $lastday);
?>

Notes

Attention

Avant PHP 5.1.0, les valeurs négatives des timestamp ne sont pas supportées sous toutes les versions actuelles de Microsoft Windows. De ce fait, l'intervalle valide pour les années est de 1970 à 2038, inclus.

Voir aussi

  • gmmktime() - Retourne le timestamp UNIX d'une date GMT
  • date() - Formate une date/heure locale
  • time() - Retourne le timestamp UNIX actuel

microtime
strftime
Fonctions Date/Heure


Formate une date/heure locale avec la configuration locale

mktime
strptime
Fonctions Date/Heure
PHP Manual

strftime

(PHP 4, PHP 5)

strftime — Formate une date/heure locale avec la configuration locale

Description

string strftime ( string $format [, int $timestamp = time() ] )

Formate une date et/ou une heure suivant la localisation locale. Les noms des mois, des jours de la semaine mais aussi d'autres chaînes dépendant de la location, respecteront la localisation courante définie par la fonction setlocale().

Tous les caractères modificateurs ne sont pas toujours supportés par toutes les bibliothèques C. Dans ce cas, ils ne seront pas supportés par PHP non plus. De plus, toutes les plates-formes ne supportent pas les timestamps négatifs, et vos dates pourraient être limitées par le début de l'époque Unix. Cela signifie que %e, %T, %R et %D (et peut être d'autres) et les dates antérieures au 1er Janvier 1970 ne fonctionneront pas sous Windows, sur certaines distributions de Linux, et sur certains systèmes d'exploitation. Pour Windows, une liste complète des options de conversion est disponible sur le » site de MSDN.

Liste de paramètres

format

Les caractères suivants sont reconnus dans le paramètre format
format | Description | Exemple de valeurs retournées
Jour --- ---
%a | Nom abrégé du jour de la semaine | De Sun à Sat
%A | Nom complet du jour de la semaine | De Sunday à Saturday
%d | Jour du mois en numérique, sur 2 chiffres (avec le zéro initial) | De 01 à 31
%e | Jour du mois, avec un espace précédant le premier chiffre | De 1 à 31
%j | Jour de l'année, sur 3 chiffres avec un zéro initial | 001 à 366
%u | Représentation ISO-8601 du jour de la semaine | De 1 (pour Lundi) à 7 (pour Dimanche)
%w | Représentation numérique du jour de la semaine | De 0 (pour Dimanche) à 6 (pour Samedi)
Semaine --- ---
%U | Numéro de la semaine de l'année donnée, en commençant par le premier Lundi comme première semaine | 13 (pour la 13ème semaine pleine de l'année)
%V | Numéro de la semaine de l'année, suivant la norme ISO-8601:1988, en commençant comme première semaine, la semaine de l'année contenant au moins 4 jours, et où Lundi est le début de la semaine | De 01 à 53 (où 53 compte comme semaine de chevauchement)
%W | Une représentation numérique de la semaine de l'année, en commençant par le premier Lundi de la première semaine | 46 (pour la 46ème semaine de la semaine commençant par un Lundi)
Mois --- ---
%b | Nom du mois, abrégé, suivant la locale | De Jan à Dec
%B | Nom complet du mois, suivant la locale | De January à December
%h | Nom du mois abrégé, suivant la locale (alias de %b) | De Jan à Dec
%m | Mois, sur 2 chiffres | De 01 (pour Janvier) à 12 (pour Décembre)
Année --- ---
%C | Représentation, sur 2 chiffres, du siècle (année divisée par 100, réduit à un entier) | 19 pour le 20ème siècle
%g | Représentation, sur 2 chiffres, de l'année, compatible avec les standards ISO-8601:1988 (voyez %V) | Exemple : 09 pour la semaine du 6 janvier 2009
%G | La version complète à quatre chiffres de %g | Exemple : 2008 pour la semaine du 3 janvier 2009
%y | L'année, sur 2 chiffres | Exemple : 09 pour 2009, 79 pour 1979
%Y | L'année, sur 4 chiffres | Exemple : 2038
Heure --- ---
%H | L'heure, sur 2 chiffres, au format 24 heures | De 00 à 23
%I | Heure, sur 2 chiffres, au format 12 heures | De 01 à 12
%l ('L' minuscule) | Heure, au format 12 heures, avec un espace précédant de complétion pour les heures sur un chiffre | De 1 à 12
%M | Minute, sur 2 chiffres | De 00 à 59
%p | 'AM' ou 'PM', en majuscule, basé sur l'heure fournie | Exemple : AM pour 00:31, PM pour 22:23
%P | 'am' ou 'pm', en minuscule, basé sur l'heure fournie | Exemple : am pour 00:31, pm pour 22:23
%r | Identique à "%I:%M:%S %p" | Exemple : 09:34:17 PM pour 21:34:17
%R | Identique à "%H:%M" | Exemple : 00:35 pour 12:35 AM, 16:44 pour 4:44 PM
%S | Seconde, sur 2 chiffres | De 00 à 59
%T | Identique à "%H:%M:%S" | Exemple : 21:34:17 pour 09:34:17 PM
%X | Représentation de l'heure, basée sur la locale, sans la date | Exemple : 03:59:16 ou 15:59:16
%z | Soit le décalage horaire depuis UTC, ou son abréviation (suivant le système d'exploitation) | Exemple : -0500 ou EST pour l'heure de l'Est
%Z | Le décalage horaire ou son abréviation NON fournie par %z (suivant le système d'exploitation) | Exemple : -0500 ou EST pour l'heure de l'Est
L'heure et la date --- ---
%c | Date et heure préférées, basées sur la locale | Exemple : Tue Feb 5 00:45:10 2009 pour le 4 Février 2009 à 12:45:10 AM
%D | Identique à "%m/%d/%y" | Exemple : 02/05/09 pour le 5 Février 2009
%F | Identique à "%Y-%m-%d" (utilisé habituellement par les bases de données) | Exemple : 2009-02-05 pour le 5 février 2009
%s | Timestamp de l'époque Unix (identique à la fonction time()) | Exemple : 305815200 pour le 10 Septembre 1979 08:40:00 AM
%x | Représentation préférée de la date, basée sur la locale, sans l'heure | Exemple : 02/05/09 pour le 5 Février 2009
Divers --- ---
%n Une nouvelle ligne ("\n") ---
%t Une tabulation ("\t") ---
%% Le caractère de pourcentage ("%") ---

La longueur maximale de ce paramètre est de 1023 caractères.

Avertissement

Contrairement à la norme ISO-9899:1999, Sun Solaris commence avec le Dimanche à 1. Aussi, le format %u ne fonctionnera pas tel que décrit dans ce manuel.

timestamp

Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time().

Valeurs de retour

Retourne une chaîne de caractères formatée suivant le paramètre format donné, en utilisant le paramètre timestamp ou la date locale courante si aucun timestamp n'est fourni. Les noms des mois, des jours de la semaine mais aussi d'autres chaînes dépendant de la location, respecteront la localisation courante définie par la fonction setlocale().

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Vu que la sortie dépend de la bibliothèque C sous-jacente, quelques spécificateurs de conversion ne sont pas supportés. Sous Windows, le fait de fournir un spécificateur de conversion inconnu retournera 5 messages de niveau E_WARNING et retournera FALSE au final. Sous d'autres systèmes d'exploitation, vous ne recevrez aucun message de niveau E_WARNING et la sortie contiendra les spécificateurs non convertis.

Historique

Version | Description
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.

Exemples

Cet exemple ne fonctionnera que si vous avez les locales respectives installées sur votre système.

Exemple #1 Exemple avec strftime()

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>

Exemple #2 Exemple au format de date ISO 8601:1988

<?php
/*     December 2002 / January 2003
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Affiche : 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Affiche : 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Affiche : 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Affiche : 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     December 2004 / January 2005
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Affiche : 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Affiche : 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Affiche : 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Affiche : 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Notes

Note: %G et %V, qui sont basées sur la semaine ISO 8601:1988, peut conduire à des résultat inattendus (bien que corrects) si le système de numérotation n'est pas connu. Voir l'exemple %V de cette page.

Voir aussi

  • setlocale() - Modifie les informations de localisation
  • mktime() - Retourne le timestamp UNIX d'une date
  • strptime() - Analyse une date générée par strftime
  • gmstrftime() - Formate une date/heure GMT/CUT en fonction de la configuration locale
  • » groupe de spécifications de strftime()

mktime
strptime
Fonctions Date/Heure


Analyse une date générée par strftime

strftime
strtotime
Fonctions Date/Heure
PHP Manual

strptime

(PHP 5 >= 5.1.0)

strptime — Analyse une date générée par strftime()

Description

array strptime ( string $date , string $format )

strptime() retourne un tableau après avoir analysé date, ou FALSE en cas d'erreur.

Les noms des mois et jour de la semaine dépendent de la configuration locale, choisie avec setlocale() (LC_TIME).

Liste de paramètres

date ( string )

La chaîne à analyser (e.g. retourné par strftime())

format ( string )

Le format utilisé par date (e.g. le même que celui qui a été utilisé par strftime()).

Pour plus d'informations sur les spécificateurs de formats, voyez la fonction strftime().

Valeurs de retour

Retourne un tableau ou FALSE si une erreur survient.

Les paramètres suivants sont retournés dans le tableau
Paramètres | Description
"tm_sec" | Secondes après la minute (0-61)
"tm_min" | Minutes après l'heure (0-59)
"tm_hour" | Heure depuis minuit (0-23)
"tm_mday" | Jour du mois (1-31)
"tm_mon" | Mois depuis janvier (0-11)
"tm_year" | Années depuis 1900
"tm_wday" | Jours depuis dimanche (0-6)
"tm_yday" | Jours depuis le 1er janvier (0-365)
"unparsed" | La partie de date qui n'a pas été reconnue par l'analyseur avec le format spécifié.

Exemples

Exemple #1 Exemple avec strptime()

<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo "$strf\n";

print_r(strptime($strf, $format));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

Note: "tm_sec" inclut toutes les secondes intercalaires (acutellement 2 par an). Pour plus d'informations sur les secondes intercalaires, repportez-vous à l'» article sur Wikipedia les concernant.

Voir aussi

  • strftime() - Formate une date/heure locale avec la configuration locale

strftime
strtotime
Fonctions Date/Heure


Transforme un texte anglais en timestamp

strptime
time
Fonctions Date/Heure
PHP Manual

strtotime

(PHP 4, PHP 5)

strtotime — Transforme un texte anglais en timestamp

Description

int strtotime ( string $time [, int $now ] )

strtotime() essaye de lire une date au format anglais US dans la chaîne time, et de la transformer en timestamp Unix (le nombre de secondes depuis le 1er Janvier 1970 à 00:00:00 UTC), relativement au timestamp now, ou à la date courante si ce dernier est omis.

Cette fonction devrait utiliser la variable d'environnement TZ (si disponible) pour calculer le timestamp. Depuis PHP 5.1.0, il y a une façon simple de définir un fuseau horaire à utiliser avec toutes les fonctions de date/heure. Le processus est expliqué dans la page du manuel de la fonction date_default_timezone_get().

Liste de paramètres

time

Une chaîne date/heure. Les formats valides sont expliqués dans la documentation sur les formats Date et Heure.

now

Le timestamp, représentant la date courante, utilisé pour le calcul relative des dates.

Valeurs de retour

Retourne un timestamp en cas de succès, FALSE sinon. Avant PHP 5.1.0, cette fonction retournait -1 en cas d'échec.

Erreurs / Exceptions

Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT ou E_WARNING si vous utilisez la configuration du système ou la variable d'environnement TZ. Voir aussi date_default_timezone_set()

Historique

Version | Description
5.3.0 | Avant PHP 5.3.0, 24:00 n'était pas un format valide et strtotime() retournait FALSE.
5.2.7 | En PHP 5 avant 5.2.7, demander le jour de la semaine correspondant au premier jour du mois ajoute de manière incorrecte une semaine au timestamp retourné. Ceci a été corrigé dans PHP 5.2.7 et supérieur.
5.1.0 | La fonction retourne maintenant FALSE en cas d'échec, au lieu de -1.
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
5.0.2 | En PHP 5 jusqu'à 5.0.2, "now" et les autres temps relatifs sont mal calculés depuis minuit d'aujourd'hui. Dans les autres versions, le calcul est correct.
5.0.0 | Les microsecondes sont accéptées mais ignorées.
4.4.0 | En PHP avant 4.4.0, "next" est mal calculé et considère +2. Une solution typique à ce problème est d'utiliser "+1".

Exemples

Exemple #1 Exemple avec strtotime()

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Exemple #2 Vérification d'erreur

<?php
$str = 'Pas bon';

// Avant PHP 5.1.0, vous devez comparer avec  -1, au lieu de false
if (($timestamp = strtotime($str)) === false) {
   echo "La chaîne ($str) est boguée";
} else {
   echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

Notes

Note: Si le chiffre des années est précisé sur deux chiffres, les valeurs entre 00-69 correspondent à 2000-2069 et 70-99 à 1970-1999. Voyez les notes après concernant les différences possibles entres systèmes 32bits (des dates peuvent échoué après le 19/01/2038 à 03:14:07).

Note: L'intervalle de validité d'un timestamp va du Vendredi 13 Décembre 1901 20:45:54 UTC au Mardi 19 Janvier 2038 03:14:07 UTC. (Cela correspond aux dates maximales et minimales pour un entier de 32 bits signé.) Toutes les plates-formes ne supportent pas les timestamp négatifs et dans ce cas, l'intervalle de date sera limitée à environs l'époque Unix. Cela signifie que les dates antérieures au 1 Janvier 1970 ne fonctionneront pas sous Windows, quelques distributions Linux et quelques autres systèmes. PHP 5.1.0 ainsi que les versions plus récentes outrepassent cette limitation.

Voir aussi

  • strptime() - Analyse une date générée par strftime

strptime
time
Fonctions Date/Heure


Retourne le timestamp UNIX actuel

strtotime
timezone_abbreviations_list
Fonctions Date/Heure
PHP Manual

time

(PHP 4, PHP 5)

time — Retourne le timestamp UNIX actuel

Description

int time ( void )

time() retourne l'heure courante, mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT).

Exemples

Exemple #1 Exemple avec time()

<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
// 7 jours; 24 heures; 60 minutes; 60secondes
echo 'Aujourd\'hui :       '. date('Y-m-d') ."\n";
echo 'Semaine prochaine : '. date('Y-m-d', $nextWeek) ."\n";
// ou en utilisant strtotime():
echo 'Semaine prochaine : '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Aujourd'hui :       2005-03-30
Semaine prochaine : 2005-04-06
Semaine prochaine : 2005-04-06

Notes

Astuce

Un timestamp représentant le début de la demande est disponible dans la variable $_SERVER['REQUEST_TIME'] depuis PHP 5.1.

Voir aussi

  • date() - Formate une date/heure locale
  • microtime() - Retourne le timestamp UNIX actuel avec les microsecondes

strtotime
timezone_abbreviations_list
Fonctions Date/Heure


Alias de DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Fonctions Date/Heure
PHP Manual

timezone_abbreviations_list

(PHP 5 >= 5.1.0)

timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations

Description

Cette fonction est un alias de : DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Fonctions Date/Heure


Alias de DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Fonctions Date/Heure
PHP Manual

timezone_identifiers_list

(PHP 5 >= 5.1.0)

timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers

Description

Cette fonction est un alias de : DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Fonctions Date/Heure


Alias de DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Fonctions Date/Heure
PHP Manual

timezone_location_get

(PHP 5 >= 5.3.0)

timezone_location_get — Alias de DateTimeZone::getLocation

Description

Cette fonction est un alias de : DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Fonctions Date/Heure


Retourne le nom du fuseau horaire à partir de son abréviation

timezone_location_get
timezone_name_get
Fonctions Date/Heure
PHP Manual

timezone_name_from_abbr

(PHP 5 >= 5.1.3)

timezone_name_from_abbr — Retourne le nom du fuseau horaire à partir de son abréviation

Description

string timezone_name_from_abbr ( string $abbr [, int $gmtOffset = -1 [, int $isdst = -1 ]] )

Liste de paramètres

abbr

Abréviation du fuseau horaire.

gmtOffset

Décalage à partir du GMT en seconde. La valeur par défaut est -1 ce qui signifie que le premier fuseau horaire trouvé correspondant à abbr est retourné. Autrement, le décalage exact est recherché et seulement s'il n'est pas trouvé alors le premier fuseau horaire avec n'importe quel décalage est retourné.

isdst

Indicateur d'heure avancée. Si abbr n'existe pas, alors le fuseau horaire est recherché seulement par offset et isdst.

Valeurs de retour

Retourne un nom de fuseau horaire en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec timezone_name_from_abbr()

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Europe/Berlin
Europe/Paris

Voir aussi

  • timezone_abbreviations_list() - Alias de DateTimeZone::listAbbreviations

timezone_location_get
timezone_name_get
Fonctions Date/Heure


Alias de DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Fonctions Date/Heure
PHP Manual

timezone_name_get

(PHP 5 >= 5.1.0)

timezone_name_get — Alias de DateTimeZone::getName

Description

Cette fonction est un alias de : DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Fonctions Date/Heure


Alias de DateTimeZone::getOffset

timezone_name_get
timezone_open
Fonctions Date/Heure
PHP Manual

timezone_offset_get

(PHP 5 >= 5.1.0)

timezone_offset_get — Alias de DateTimeZone::getOffset

Description

Cette fonction est un alias de : DateTimeZone::getOffset

timezone_name_get
timezone_open
Fonctions Date/Heure


Alias de DateTimeZone::__construct

timezone_offset_get
timezone_transitions_get
Fonctions Date/Heure
PHP Manual

timezone_open

(PHP 5 >= 5.1.0)

timezone_open — Alias de DateTimeZone::__construct

Description

Cette fonction est un alias de : DateTimeZone::__construct

timezone_offset_get
timezone_transitions_get
Fonctions Date/Heure


Alias de DateTimeZone::getTransitions

timezone_open
timezone_version_get
Fonctions Date/Heure
PHP Manual

timezone_transitions_get

(PHP 5 >= 5.2.0)

timezone_transitions_get — Alias de DateTimeZone::getTransitions

Description

Cette fonction est un alias de : DateTimeZone::getTransitions

timezone_open
timezone_version_get
Fonctions Date/Heure


Lit la version de la timezonedb

timezone_transitions_get
Extensions spécifiques à la ligne de commande
Fonctions Date/Heure
PHP Manual

timezone_version_get

(PHP 5 >= 5.3.0)

timezone_version_get — Lit la version de la timezonedb

Description

string timezone_version_get ( void )

timezone_version_get() lit la version de la timezonedb.

Valeurs de retour

Retourne une chaîne de caractères.

Exemples

Exemple #1 Lecture de la version de la timezonedb

<?php
echo timezone_version_get();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

2009.7

Voir aussi

  • Liste des fuseaux horaires valides

timezone_transitions_get
Extensions spécifiques à la ligne de commande
Fonctions Date/Heure


Extensions spécifiques à la ligne de commande

  • Newt
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Newt
  • Ncurses — Fonctions de contrôle d'écran de terminal
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Ncurses
  • Readline — GNU Readline
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Readline
timezone_version_get
Newt
Référence des fonctions


Newt

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
    • Raisons de sortie de Newt
    • Newt colorsets
    • Drapeaux d'argument Newt
    • Sens des Drapeaux Newt
    • Drapeaux des Composants Newt
    • Drapeaux de pointeur de fichier
    • Drapeaux d'Arbre de Cases à Cocher
    • Drapeaux d'Entrée
    • Drapeaux de Liste
    • Drapeaux de Boîte Texte
    • Drapeaux de Formulaire
    • Clés Newt
    • Ancres Newt
    • Drapeaux de Grille
  • Exemples
    • Utilisation simple
  • Fonctions Newt
    • newt_bell — Envoie un beep au terminal
    • newt_button_bar — Retourne une grille contenant les boutons créés
    • newt_button — Crée un nouveau bouton
    • newt_centered_window — Ouvre une fenêtre centrée de la taille spécifiée
    • newt_checkbox_get_value — Récupère la valeur de la ressource de boîte à cocher
    • newt_checkbox_set_flags — Configure une ressource de boîte à cocher
    • newt_checkbox_set_value — Définit la valeur de la boîte à cocher
    • newt_checkbox_tree_add_item — Ajout un nouvel élément à l'arbre des boîtes à cocher
    • newt_checkbox_tree_find_item — Cherche un élément dans l'arbre des boîtes à cocher
    • newt_checkbox_tree_get_current — Retourne l'élément sélectionné de l'arbre des boîtes à cocher
    • newt_checkbox_tree_get_entry_value — Description
    • newt_checkbox_tree_get_multi_selection — Description
    • newt_checkbox_tree_get_selection — Description
    • newt_checkbox_tree_multi — Description
    • newt_checkbox_tree_set_current — Description
    • newt_checkbox_tree_set_entry_value — Description
    • newt_checkbox_tree_set_entry — Description
    • newt_checkbox_tree_set_width — Description
    • newt_checkbox_tree — Description
    • newt_checkbox — Description
    • newt_clear_key_buffer — Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle
    • newt_cls — Description
    • newt_compact_button — Description
    • newt_component_add_callback — Description
    • newt_component_takes_focus — Description
    • newt_create_grid — Description
    • newt_cursor_off — Description
    • newt_cursor_on — Description
    • newt_delay — Description
    • newt_draw_form — Description
    • newt_draw_root_text — Affiche la chaîne de caractères à la position indiquée
    • newt_entry_get_value — Description
    • newt_entry_set_filter — Description
    • newt_entry_set_flags — Description
    • newt_entry_set — Description
    • newt_entry — Description
    • newt_finished — Arrête l'interface newt
    • newt_form_add_component — Ajoute un seul composant à la forme
    • newt_form_add_components — Ajoute plusieurs composants à la forme
    • newt_form_add_hot_key — Description
    • newt_form_destroy — Détruit une forme
    • newt_form_get_current — Description
    • newt_form_run — Exécute une forme
    • newt_form_set_background — Description
    • newt_form_set_height — Description
    • newt_form_set_size — Description
    • newt_form_set_timer — Description
    • newt_form_set_width — Description
    • newt_form_watch_fd — Description
    • newt_form — Crée une forme
    • newt_get_screen_size — Remplit les références passées avec la taille courante du terminal
    • newt_grid_add_components_to_form — Description
    • newt_grid_basic_window — Description
    • newt_grid_free — Description
    • newt_grid_get_size — Description
    • newt_grid_h_close_stacked — Description
    • newt_grid_h_stacked — Description
    • newt_grid_place — Description
    • newt_grid_set_field — Description
    • newt_grid_simple_window — Description
    • newt_grid_v_close_stacked — Description
    • newt_grid_v_stacked — Description
    • newt_grid_wrapped_window_at — Description
    • newt_grid_wrapped_window — Description
    • newt_init — Initialise newt
    • newt_label_set_text — Description
    • newt_label — Description
    • newt_listbox_append_entry — Description
    • newt_listbox_clear_selection — Description
    • newt_listbox_clear — Description
    • newt_listbox_delete_entry — Description
    • newt_listbox_get_current — Description
    • newt_listbox_get_selection — Description
    • newt_listbox_insert_entry — Description
    • newt_listbox_item_count — Description
    • newt_listbox_select_item — Description
    • newt_listbox_set_current_by_key — Description
    • newt_listbox_set_current — Description
    • newt_listbox_set_data — Description
    • newt_listbox_set_entry — Description
    • newt_listbox_set_width — Description
    • newt_listbox — Description
    • newt_listitem_get_data — Description
    • newt_listitem_set — Description
    • newt_listitem — Description
    • newt_open_window — Ouvre une fenêtre de la taille et la position spécifiée
    • newt_pop_help_line — Replace la ligne d'aide courante avec une provenant de la pile
    • newt_pop_window — Supprime la fenêtre de premier plan de l'affichage
    • newt_push_help_line — Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne
    • newt_radio_get_current — Description
    • newt_radiobutton — Description
    • newt_redraw_help_line — Description
    • newt_reflow_text — Description
    • newt_refresh — Met à jour les portions modifiées de l'écran
    • newt_resize_screen — Description
    • newt_resume — Récupère l'interface de newt après l'appel de newt_suspend
    • newt_run_form — Exécute une forme
    • newt_scale_set — Description
    • newt_scale — Description
    • newt_scrollbar_set — Description
    • newt_set_help_callback — Description
    • newt_set_suspend_callback — Assigne la fonction de rappel appelée sur suspension
    • newt_suspend — Indique à newt de retourner à l'état initial du terminal
    • newt_textbox_get_num_lines — Description
    • newt_textbox_reflowed — Description
    • newt_textbox_set_height — Description
    • newt_textbox_set_text — Description
    • newt_textbox — Description
    • newt_vertical_scrollbar — Description
    • newt_wait_for_key — Ne continue pas tant qu'une touche n'est pas appuyée
    • newt_win_choice — Description
    • newt_win_entries — Description
    • newt_win_menu — Description
    • newt_win_message — Description
    • newt_win_messagev — Description
    • newt_win_ternary — Description
Extensions spécifiques à la ligne de commande
Introduction
Extensions spécifiques à la ligne de commande


Introduction

Il s'agit d'une extension du langage PHP pour la bibliothèque RedHat Newt, une fenêtre basé sur un terminal et sur une bibliothèque de widget pour écrire des applications avec des interfaces conviviaux. Une fois que cette extension est activé dans PHP, vous aurez la possibilité d'utiliser des widgets, comme des fenêtres, des boutons, des boîtes à cocher, des boîtes radio, des labels, des boîtes texte, des barres de défilement, de grandes boîtes texte, des règles, etc. L'utilisation de cette extension est vraiment similaire à l'API original Newt du langage de programmation C.

Newt
Installation/Configuration
Newt


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Newt


Pré-requis

Ce module utilise les fonctions de la bibliothèque RedHat Newt. Vous aurez besoin de la version libnewt >= 0.51.0.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/newt.

En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Afin d'utiliser ces fonctions, vous devez compiler le support newt en CGI ou en CLI PHP en utilisant l'option de configure --with-newt[=DIR].

Note: Cette extension n'est pas disponible pour la plate-forme Windows.
Vous aurez aussi besoin des bibliothèques curses et slang afin de compiler cette extension. Pour spécifier des emplacements de ces bibliothèques, utilisez les options de configuration suivante : --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension utilise deux types de ressources : "composant newt" et "grille newt".

Le type de ressource "composant newt" est retourné par les fonctions, qui créent les widgets communs newt (par exemple : newt_button()).

Le type de ressource "grille newt" est un lien spécial pour les identifiants des composants, retourné par la classe d'objet de grille de newt (par exemple : newt_create_grid())

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Sommaire

  • Raisons de sortie de Newt
  • Newt colorsets
  • Drapeaux d'argument Newt
  • Sens des Drapeaux Newt
  • Drapeaux des Composants Newt
  • Drapeaux de pointeur de fichier
  • Drapeaux d'Arbre de Cases à Cocher
  • Drapeaux d'Entrée
  • Drapeaux de Liste
  • Drapeaux de Boîte Texte
  • Drapeaux de Formulaire
  • Clés Newt
  • Ancres Newt
  • Drapeaux de Grille

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Types de ressources
Raisons de sortie de Newt
Newt


Raisons de sortie de Newt

Raisons de sortie de Newt
Constante | Signification
NEWT_EXIT_HOTKEY | touche rapide définie par newt_form_add_hot_key() a été appuyée
NEWT_EXIT_COMPONENT | certains composants ont demandé la sortie de la forme
NEWT_EXIT_FDREADY | le pointeur de fichier spécifié dans newt_form_watch_fd() est prêt à être lu ou écrit
NEWT_EXIT_TIMER | le temps spécifié dans newt_form_set_timer() s'est écoulé
Constantes pré-définies
Newt colorsets
Constantes pré-définies


Newt colorsets

Newt colorsets
Constante | Signification
NEWT_COLORSET_ROOT |
NEWT_COLORSET_BORDER |
NEWT_COLORSET_WINDOW |
NEWT_COLORSET_SHADOW |
NEWT_COLORSET_TITLE |
NEWT_COLORSET_BUTTON |
NEWT_COLORSET_ACTBUTTON |
NEWT_COLORSET_CHECKBOX |
NEWT_COLORSET_ACTCHECKBOX |
NEWT_COLORSET_ENTRY |
NEWT_COLORSET_LABEL |
NEWT_COLORSET_LISTBOX |
NEWT_COLORSET_ACTLISTBOX |
NEWT_COLORSET_TEXTBOX |
NEWT_COLORSET_ACTTEXTBOX |
NEWT_COLORSET_HELPLINE |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_EMPTYSCALE |
NEWT_COLORSET_FULLSCALE |
NEWT_COLORSET_DISENTRY |
NEWT_COLORSET_COMPACTBUTTON |
NEWT_COLORSET_ACTSELLISTBOX |
NEWT_COLORSET_SELLISTBOX |
Raisons de sortie de Newt
Drapeaux d'argument Newt
Constantes pré-définies


Drapeaux d'argument Newt

Drapeaux d'argument Newt
Constante | Signification
NEWT_ARG_LAST |
NEWT_ARG_APPEND |
Newt colorsets
Sens des Drapeaux Newt
Constantes pré-définies


Sens des Drapeaux Newt

Sens des Drapeaux Newt
Constante | Signification
NEWT_FLAGS_SET |
NEWT_FLAGS_RESET |
NEWT_FLAGS_TOGGLE |
Drapeaux d'argument Newt
Drapeaux des Composants Newt
Constantes pré-définies


Drapeaux des Composants Newt

Drapeaux des Composants Newt
Constante | Signification
NEWT_FLAG_RETURNEXIT | Sort de la forme, lorsque le composant est activé
NEWT_FLAG_HIDDEN | Le composant est caché
NEWT_FLAG_SCROLL | Le composant est flottant
NEWT_FLAG_DISABLED | Le composant est désactivé
NEWT_FLAG_BORDER |
NEWT_FLAG_WRAP | Enveloppe le texte
NEWT_FLAG_NOF12 | Ne sort pas de la forme en appuyant sur F12
NEWT_FLAG_MULTIPLE |
NEWT_FLAG_SELECTED | Le composant est sélectionné
NEWT_FLAG_CHECKBOX | Le composant est une case à cocher
NEWT_FLAG_PASSWORD | Le composant est une boîte de mot de passe
NEWT_FLAG_SHOWCURSOR | Montre le curseur
Sens des Drapeaux Newt
Drapeaux de pointeur de fichier
Constantes pré-définies


Drapeaux de pointeur de fichier

Drapeaux de pointeur de fichier
Constante | Signification
NEWT_FD_READ |
NEWT_FD_WRITE |
NEWT_FD_EXCEPT |
Drapeaux des Composants Newt
Drapeaux d'Arbre de Cases à Cocher
Constantes pré-définies


Drapeaux d'Arbre de Cases à Cocher

Drapeaux d'Arbre de Cases à Cocher
Constante | Signification
NEWT_CHECKBOXTREE_UNSELECTABLE |
NEWT_CHECKBOXTREE_HIDE_BOX |
NEWT_CHECKBOXTREE_COLLAPSED |
NEWT_CHECKBOXTREE_EXPANDED |
NEWT_CHECKBOXTREE_UNSELECTED |
NEWT_CHECKBOXTREE_SELECTED |
Drapeaux de pointeur de fichier
Drapeaux d'Entrée
Constantes pré-définies


Drapeaux d'Entrée

Drapeaux d'Entrée
Constante | Signification
NEWT_ENTRY_SCROLL |
NEWT_ENTRY_HIDDEN |
NEWT_ENTRY_RETURNEXIT |
NEWT_ENTRY_DISABLED |
Drapeaux d'Arbre de Cases à Cocher
Drapeaux de Liste
Constantes pré-définies


Drapeaux de Liste

Drapeaux de Liste
Constante | Signification
NEWT_LISTBOX_RETURNEXIT |
Drapeaux d'Entrée
Drapeaux de Boîte Texte
Constantes pré-définies


Drapeaux de Boîte Texte

Drapeaux de Boîte Texte
Constante | Signification
NEWT_TEXTBOX_WRAP | Enveloppe le texte dans la boîte texte
NEWT_TEXTBOX_SCROLL | Défile le texte dans la boîte texte
Drapeaux de Liste
Drapeaux de Formulaire
Constantes pré-définies


Drapeaux de Formulaire

Drapeaux de Formulaire
Constante | Signification
NEWT_FORM_NOF12 | Ne sort pas de la forme en appuyant sur F12
Drapeaux de Boîte Texte
Clés Newt
Constantes pré-définies


Clés Newt

Clés Newt
Constante | Signification
NEWT_KEY_TAB |
NEWT_KEY_ENTER |
NEWT_KEY_SUSPEND |
NEWT_KEY_ESCAPE |
NEWT_KEY_RETURN |
NEWT_KEY_EXTRA_BASE |
NEWT_KEY_UP |
NEWT_KEY_DOWN |
NEWT_KEY_LEFT |
NEWT_KEY_RIGHT |
NEWT_KEY_BKSPC |
NEWT_KEY_DELETE |
NEWT_KEY_HOME |
NEWT_KEY_END |
NEWT_KEY_UNTAB |
NEWT_KEY_PGUP |
NEWT_KEY_PGDN |
NEWT_KEY_INSERT |
NEWT_KEY_F1 |
NEWT_KEY_F2 |
NEWT_KEY_F3 |
NEWT_KEY_F4 |
NEWT_KEY_F5 |
NEWT_KEY_F6 |
NEWT_KEY_F7 |
NEWT_KEY_F8 |
NEWT_KEY_F9 |
NEWT_KEY_F10 |
NEWT_KEY_F11 |
NEWT_KEY_F12 |
NEWT_KEY_RESIZE |
Drapeaux de Formulaire
Ancres Newt
Constantes pré-définies


Ancres Newt

Ancres Newt
Constante | Signification
NEWT_ANCHOR_LEFT |
NEWT_ANCHOR_RIGHT |
NEWT_ANCHOR_TOP |
NEWT_ANCHOR_BOTTOM |
Clés Newt
Drapeaux de Grille
Constantes pré-définies


Drapeaux de Grille

Drapeaux de Grille
Constante | Signification
NEWT_GRID_FLAG_GROWX |
NEWT_GRID_FLAG_GROWY |
NEWT_GRID_EMPTY |
NEWT_GRID_COMPONENT |
NEWT_GRID_SUBGRID |
Ancres Newt
Exemples
Constantes pré-définies


Exemples

Sommaire

  • Utilisation simple
Drapeaux de Grille
Utilisation simple
Newt


Utilisation simple

Cet exemple est une utilisation du dialogue 'setup' de RedHat écrit en PHP, exécuté en mode texte.

Exemple #1 Exemple d'Utilisation Newt

<?php
newt_init ();
newt_cls ();

newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
newt_push_help_line (null);
newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

newt_get_screen_size ($rows, $cols);

newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");

$form = newt_form ();

$list = newt_listbox (3, 2, 10);

foreach (array (
    "Authentication configuration",
    "Firewall configuration",
    "Mouse configuration",
    "Network configuration",
    "Printer configuration",
    "System services") as $l_item)
{
    newt_listbox_add_entry ($list, $l_item, $l_item);
}

$b1 = newt_button (5, 12, "Run Tool");
$b2 = newt_button (21, 12, "Quit");

newt_form_add_component ($form, $list);
newt_form_add_components ($form, array($b1, $b2));

newt_refresh ();
newt_run_form ($form);

newt_pop_window ();
newt_pop_help_line ();
newt_finished ();
newt_form_destroy ($form);
?>
Exemples
Fonctions Newt
Exemples


Fonctions Newt

Sommaire

  • newt_bell — Envoie un beep au terminal
  • newt_button_bar — Retourne une grille contenant les boutons créés
  • newt_button — Crée un nouveau bouton
  • newt_centered_window — Ouvre une fenêtre centrée de la taille spécifiée
  • newt_checkbox_get_value — Récupère la valeur de la ressource de boîte à cocher
  • newt_checkbox_set_flags — Configure une ressource de boîte à cocher
  • newt_checkbox_set_value — Définit la valeur de la boîte à cocher
  • newt_checkbox_tree_add_item — Ajout un nouvel élément à l'arbre des boîtes à cocher
  • newt_checkbox_tree_find_item — Cherche un élément dans l'arbre des boîtes à cocher
  • newt_checkbox_tree_get_current — Retourne l'élément sélectionné de l'arbre des boîtes à cocher
  • newt_checkbox_tree_get_entry_value — Description
  • newt_checkbox_tree_get_multi_selection — Description
  • newt_checkbox_tree_get_selection — Description
  • newt_checkbox_tree_multi — Description
  • newt_checkbox_tree_set_current — Description
  • newt_checkbox_tree_set_entry_value — Description
  • newt_checkbox_tree_set_entry — Description
  • newt_checkbox_tree_set_width — Description
  • newt_checkbox_tree — Description
  • newt_checkbox — Description
  • newt_clear_key_buffer — Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle
  • newt_cls — Description
  • newt_compact_button — Description
  • newt_component_add_callback — Description
  • newt_component_takes_focus — Description
  • newt_create_grid — Description
  • newt_cursor_off — Description
  • newt_cursor_on — Description
  • newt_delay — Description
  • newt_draw_form — Description
  • newt_draw_root_text — Affiche la chaîne de caractères à la position indiquée
  • newt_entry_get_value — Description
  • newt_entry_set_filter — Description
  • newt_entry_set_flags — Description
  • newt_entry_set — Description
  • newt_entry — Description
  • newt_finished — Arrête l'interface newt
  • newt_form_add_component — Ajoute un seul composant à la forme
  • newt_form_add_components — Ajoute plusieurs composants à la forme
  • newt_form_add_hot_key — Description
  • newt_form_destroy — Détruit une forme
  • newt_form_get_current — Description
  • newt_form_run — Exécute une forme
  • newt_form_set_background — Description
  • newt_form_set_height — Description
  • newt_form_set_size — Description
  • newt_form_set_timer — Description
  • newt_form_set_width — Description
  • newt_form_watch_fd — Description
  • newt_form — Crée une forme
  • newt_get_screen_size — Remplit les références passées avec la taille courante du terminal
  • newt_grid_add_components_to_form — Description
  • newt_grid_basic_window — Description
  • newt_grid_free — Description
  • newt_grid_get_size — Description
  • newt_grid_h_close_stacked — Description
  • newt_grid_h_stacked — Description
  • newt_grid_place — Description
  • newt_grid_set_field — Description
  • newt_grid_simple_window — Description
  • newt_grid_v_close_stacked — Description
  • newt_grid_v_stacked — Description
  • newt_grid_wrapped_window_at — Description
  • newt_grid_wrapped_window — Description
  • newt_init — Initialise newt
  • newt_label_set_text — Description
  • newt_label — Description
  • newt_listbox_append_entry — Description
  • newt_listbox_clear_selection — Description
  • newt_listbox_clear — Description
  • newt_listbox_delete_entry — Description
  • newt_listbox_get_current — Description
  • newt_listbox_get_selection — Description
  • newt_listbox_insert_entry — Description
  • newt_listbox_item_count — Description
  • newt_listbox_select_item — Description
  • newt_listbox_set_current_by_key — Description
  • newt_listbox_set_current — Description
  • newt_listbox_set_data — Description
  • newt_listbox_set_entry — Description
  • newt_listbox_set_width — Description
  • newt_listbox — Description
  • newt_listitem_get_data — Description
  • newt_listitem_set — Description
  • newt_listitem — Description
  • newt_open_window — Ouvre une fenêtre de la taille et la position spécifiée
  • newt_pop_help_line — Replace la ligne d'aide courante avec une provenant de la pile
  • newt_pop_window — Supprime la fenêtre de premier plan de l'affichage
  • newt_push_help_line — Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne
  • newt_radio_get_current — Description
  • newt_radiobutton — Description
  • newt_redraw_help_line — Description
  • newt_reflow_text — Description
  • newt_refresh — Met à jour les portions modifiées de l'écran
  • newt_resize_screen — Description
  • newt_resume — Récupère l'interface de newt après l'appel de newt_suspend
  • newt_run_form — Exécute une forme
  • newt_scale_set — Description
  • newt_scale — Description
  • newt_scrollbar_set — Description
  • newt_set_help_callback — Description
  • newt_set_suspend_callback — Assigne la fonction de rappel appelée sur suspension
  • newt_suspend — Indique à newt de retourner à l'état initial du terminal
  • newt_textbox_get_num_lines — Description
  • newt_textbox_reflowed — Description
  • newt_textbox_set_height — Description
  • newt_textbox_set_text — Description
  • newt_textbox — Description
  • newt_vertical_scrollbar — Description
  • newt_wait_for_key — Ne continue pas tant qu'une touche n'est pas appuyée
  • newt_win_choice — Description
  • newt_win_entries — Description
  • newt_win_menu — Description
  • newt_win_message — Description
  • newt_win_messagev — Description
  • newt_win_ternary — Description
Utilisation simple
newt_bell
Newt


Envoie un beep au terminal

Fonctions Newt
newt_button_bar
Fonctions Newt
PHP Manual

newt_bell

(PECL newt >= 0.1)

newt_bell — Envoie un beep au terminal

Description

void newt_bell ( void )

Cette fonction envoie un beep au terminal.

Note: Dépendemment des configurations du terminal, le beep peut être ou ne peut être audible.

Valeurs de retour

Aucune valeur n'est retournée.

Fonctions Newt
newt_button_bar
Fonctions Newt


Retourne une grille contenant les boutons créés

newt_bell
newt_button
Fonctions Newt
PHP Manual

newt_button_bar

(PECL newt >= 0.1)

newt_button_bar — Retourne une grille contenant les boutons créés

Description

resource newt_button_bar ( array &$buttons )

Cette fonction retourne une grille contenant les boutons créés.

Liste de paramètres

buttons

Valeurs de retour

Retourne une grille, contenant les boutons créés.

newt_bell
newt_button
Fonctions Newt


Crée un nouveau bouton

newt_button_bar
newt_centered_window
Fonctions Newt
PHP Manual

newt_button

(PECL newt >= 0.1)

newt_button — Crée un nouveau bouton

Description

resource newt_button ( int $left , int $top , string $text )

Crée un nouveau bouton.

Liste de paramètres

left

Coordonnée X du bouton.

top

Coordonnée Y du bouton.

text

Le texte qui devrait apparaître dans le bouton.

Valeurs de retour

Retourne une ressource du composant bouton créé ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec newt_button()

<?php

$form = newt_form();

$ok_button = newt_button(5, 12, "Run Tool");

newt_form_add_component($form, $ok_button);

?>

Voir aussi

  • newt_button_bar() - Retourne une grille contenant les boutons créés

newt_button_bar
newt_centered_window
Fonctions Newt


Ouvre une fenêtre centrée de la taille spécifiée

newt_button
newt_checkbox_get_value
Fonctions Newt
PHP Manual

newt_centered_window

(PECL newt >= 0.1)

newt_centered_window — Ouvre une fenêtre centrée de la taille spécifiée

Description

int newt_centered_window ( int $width , int $height [, string $title ] )

Ouvre une fenêtre centrée de la taille spécifiée.

Liste de paramètres

width

Largeur de la fenêtre

height

Hauteur de la fenêtre

title

Titre de la fenêtre

Valeurs de retour

Valeur non définie.

Voir aussi

  • newt_pop_window() - Supprime la fenêtre de premier plan de l'affichage
  • newt_open_window() - Ouvre une fenêtre de la taille et la position spécifiée

newt_button
newt_checkbox_get_value
Fonctions Newt


Récupère la valeur de la ressource de boîte à cocher

newt_centered_window
newt_checkbox_set_flags
Fonctions Newt
PHP Manual

newt_checkbox_get_value

(PECL newt >= 0.1)

newt_checkbox_get_value — Récupère la valeur de la ressource de boîte à cocher

Description

string newt_checkbox_get_value ( resource $checkbox )

Cette fonction retourne le caractère dans la séquence qui indique la valeur courante de la boîte à cocher.

Liste de paramètres

checkbox

Valeurs de retour

Retourne le caractère indiquant la valeur de la boîte à cocher.

newt_centered_window
newt_checkbox_set_flags
Fonctions Newt


Configure une ressource de boîte à cocher

newt_checkbox_get_value
newt_checkbox_set_value
Fonctions Newt
PHP Manual

newt_checkbox_set_flags

(PECL newt >= 0.1)

newt_checkbox_set_flags — Configure une ressource de boîte à cocher

Description

void newt_checkbox_set_flags ( resource $checkbox , int $flags , int $sense )

Cette fonction permet de définir divers drapeaux d'une ressource de boîte à cocher.

Liste de paramètres

checkbox

flags

sense

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_get_value
newt_checkbox_set_value
Fonctions Newt


Définit la valeur de la boîte à cocher

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Fonctions Newt
PHP Manual

newt_checkbox_set_value

(PECL newt >= 0.1)

newt_checkbox_set_value — Définit la valeur de la boîte à cocher

Description

void newt_checkbox_set_value ( resource $checkbox , string $value )

Cette fonction permet de définir la valeur courante de la ressource de boîte à cocher.

Liste de paramètres

checkbox

value

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_set_flags
newt_checkbox_tree_add_item
Fonctions Newt


Ajout un nouvel élément à l'arbre des boîtes à cocher

newt_checkbox_set_value
newt_checkbox_tree_find_item
Fonctions Newt
PHP Manual

newt_checkbox_tree_add_item

(PECL newt >= 0.1)

newt_checkbox_tree_add_item — Ajout un nouvel élément à l'arbre des boîtes à cocher

Description

void newt_checkbox_tree_add_item ( resource $checkboxtree , string $text , mixed $data , int $flags , int $index [, int $... ] )

Cette fonction permet d'ajout un nouvel élément l'arbre des boîtes à cocher.

Liste de paramètres

checkboxtree

text

data

flags

index

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_set_value
newt_checkbox_tree_find_item
Fonctions Newt


Cherche un élément dans l'arbre des boîtes à cocher

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Fonctions Newt
PHP Manual

newt_checkbox_tree_find_item

(PECL newt >= 0.1)

newt_checkbox_tree_find_item — Cherche un élément dans l'arbre des boîtes à cocher

Description

array newt_checkbox_tree_find_item ( resource $checkboxtree , mixed $data )

Cherche un élément dans l'arbre des boîtes à cocher.

Liste de paramètres

checkboxtree

data

Valeurs de retour

Retourne la ressource de l'élément de l'arbre de boîtes à cocher, ou NULL s'il n'a pas été trouvé.

newt_checkbox_tree_add_item
newt_checkbox_tree_get_current
Fonctions Newt


Retourne l'élément sélectionné de l'arbre des boîtes à cocher

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Fonctions Newt
PHP Manual

newt_checkbox_tree_get_current

(PECL newt >= 0.1)

newt_checkbox_tree_get_current — Retourne l'élément sélectionné de l'arbre des boîtes à cocher

Description

mixed newt_checkbox_tree_get_current ( resource $checkboxtree )

Cette méthode retourne l'élément sélectionné de l'arbre des boîtes à cocher.

Liste de paramètres

checkboxtree

Valeurs de retour

Retourne l'élément courant (sélectionné) de l'arbre des boîtes à cocher.

newt_checkbox_tree_find_item
newt_checkbox_tree_get_entry_value
Fonctions Newt


newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Fonctions Newt
PHP Manual

newt_checkbox_tree_get_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_get_entry_value —

Description

string newt_checkbox_tree_get_entry_value ( resource $checkboxtree , mixed $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkboxtree

data

Valeurs de retour

newt_checkbox_tree_get_current
newt_checkbox_tree_get_multi_selection
Fonctions Newt


newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Fonctions Newt
PHP Manual

newt_checkbox_tree_get_multi_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_multi_selection —

Description

array newt_checkbox_tree_get_multi_selection ( resource $checkboxtree , string $seqnum )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkboxtree

seqnum

Valeurs de retour

newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_selection
Fonctions Newt


newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Fonctions Newt
PHP Manual

newt_checkbox_tree_get_selection

(PECL newt >= 0.1)

newt_checkbox_tree_get_selection —

Description

array newt_checkbox_tree_get_selection ( resource $checkboxtree )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkboxtree

Valeurs de retour

newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_multi
Fonctions Newt


newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Fonctions Newt
PHP Manual

newt_checkbox_tree_multi

(PECL newt >= 0.1)

newt_checkbox_tree_multi —

Description

resource newt_checkbox_tree_multi ( int $left , int $top , int $height , string $seq [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

height

seq

flags

Valeurs de retour

newt_checkbox_tree_get_selection
newt_checkbox_tree_set_current
Fonctions Newt


newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Fonctions Newt
PHP Manual

newt_checkbox_tree_set_current

(PECL newt >= 0.1)

newt_checkbox_tree_set_current —

Description

void newt_checkbox_tree_set_current ( resource $checkboxtree , mixed $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkboxtree

data

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_tree_multi
newt_checkbox_tree_set_entry_value
Fonctions Newt


newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Fonctions Newt
PHP Manual

newt_checkbox_tree_set_entry_value

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry_value —

Description

void newt_checkbox_tree_set_entry_value ( resource $checkboxtree , mixed $data , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkboxtree

data

value

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry
Fonctions Newt


newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Fonctions Newt
PHP Manual

newt_checkbox_tree_set_entry

(PECL newt >= 0.1)

newt_checkbox_tree_set_entry —

Description

void newt_checkbox_tree_set_entry ( resource $checkboxtree , mixed $data , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkboxtree

data

text

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_width
Fonctions Newt


newt_checkbox_tree_set_entry
newt_checkbox_tree
Fonctions Newt
PHP Manual

newt_checkbox_tree_set_width

(PECL newt >= 0.1)

newt_checkbox_tree_set_width —

Description

void newt_checkbox_tree_set_width ( resource $checkbox_tree , int $width )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

checkbox_tree

width

Valeurs de retour

Aucune valeur n'est retournée.

newt_checkbox_tree_set_entry
newt_checkbox_tree
Fonctions Newt


newt_checkbox_tree_set_width
newt_checkbox
Fonctions Newt
PHP Manual

newt_checkbox_tree

(PECL newt >= 0.1)

newt_checkbox_tree —

Description

resource newt_checkbox_tree ( int $left , int $top , int $height [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

height

flags

Valeurs de retour

newt_checkbox_tree_set_width
newt_checkbox
Fonctions Newt


newt_checkbox_tree
newt_clear_key_buffer
Fonctions Newt
PHP Manual

newt_checkbox

(PECL newt >= 0.1)

newt_checkbox —

Description

resource newt_checkbox ( int $left , int $top , string $text , string $def_value [, string $seq ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

text

def_value

seq

Valeurs de retour

newt_checkbox_tree
newt_clear_key_buffer
Fonctions Newt


Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle

newt_checkbox
newt_cls
Fonctions Newt
PHP Manual

newt_clear_key_buffer

(PECL newt >= 0.1)

newt_clear_key_buffer — Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle

Description

void newt_clear_key_buffer ( void )

Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_wait_for_key() - Ne continue pas tant qu'une touche n'est pas appuyée

newt_checkbox
newt_cls
Fonctions Newt


newt_clear_key_buffer
newt_compact_button
Fonctions Newt
PHP Manual

newt_cls

(PECL newt >= 0.1)

newt_cls —

Description

void newt_cls ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

Aucune valeur n'est retournée.

newt_clear_key_buffer
newt_compact_button
Fonctions Newt


newt_cls
newt_component_add_callback
Fonctions Newt
PHP Manual

newt_compact_button

(PECL newt >= 0.1)

newt_compact_button —

Description

resource newt_compact_button ( int $left , int $top , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

text

Valeurs de retour

newt_cls
newt_component_add_callback
Fonctions Newt


newt_compact_button
newt_component_takes_focus
Fonctions Newt
PHP Manual

newt_component_add_callback

(PECL newt >= 0.1)

newt_component_add_callback —

Description

void newt_component_add_callback ( resource $component , mixed $func_name , mixed $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

component

func_name

data

Valeurs de retour

Aucune valeur n'est retournée.

newt_compact_button
newt_component_takes_focus
Fonctions Newt


newt_component_add_callback
newt_create_grid
Fonctions Newt
PHP Manual

newt_component_takes_focus

(PECL newt >= 0.1)

newt_component_takes_focus —

Description

void newt_component_takes_focus ( resource $component , bool $takes_focus )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

component

takes_focus

Valeurs de retour

Aucune valeur n'est retournée.

newt_component_add_callback
newt_create_grid
Fonctions Newt


newt_component_takes_focus
newt_cursor_off
Fonctions Newt
PHP Manual

newt_create_grid

(PECL newt >= 0.1)

newt_create_grid —

Description

resource newt_create_grid ( int $cols , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

cols

rows

Valeurs de retour

newt_component_takes_focus
newt_cursor_off
Fonctions Newt


newt_create_grid
newt_cursor_on
Fonctions Newt
PHP Manual

newt_cursor_off

(PECL newt >= 0.1)

newt_cursor_off —

Description

void newt_cursor_off ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

Aucune valeur n'est retournée.

newt_create_grid
newt_cursor_on
Fonctions Newt


newt_cursor_off
newt_delay
Fonctions Newt
PHP Manual

newt_cursor_on

(PECL newt >= 0.1)

newt_cursor_on —

Description

void newt_cursor_on ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

newt_cursor_off
newt_delay
Fonctions Newt


newt_cursor_on
newt_draw_form
Fonctions Newt
PHP Manual

newt_delay

(PECL newt >= 0.1)

newt_delay —

Description

void newt_delay ( int $microseconds )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

microseconds

Valeurs de retour

Aucune valeur n'est retournée.

newt_cursor_on
newt_draw_form
Fonctions Newt


newt_delay
newt_draw_root_text
Fonctions Newt
PHP Manual

newt_draw_form

(PECL newt >= 0.1)

newt_draw_form —

Description

void newt_draw_form ( resource $form )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

Valeurs de retour

Aucune valeur n'est retournée.

newt_delay
newt_draw_root_text
Fonctions Newt


Affiche la chaîne de caractères à la position indiquée

newt_draw_form
newt_entry_get_value
Fonctions Newt
PHP Manual

newt_draw_root_text

(PECL newt >= 0.1)

newt_draw_root_text — Affiche la chaîne de caractères à la position indiquée

Description

void newt_draw_root_text ( int $left , int $top , string $text )

Affiche la chaîne de caractères à la position indiquée.

Liste de paramètres

left

Numéro de colonne

Note: Si left est négatif, la position est mesurée à partir du côté opposé de l'écran.

top

Numéro de ligne

Note: Si top est négatif, la position est mesurée à partir du côté opposé de l'écran.

text

Texte à afficher.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec newt_draw_root_text()

Ce code démontre l'affichage des titres dans les deux coins de l'écran.

<?php
 newt_init();
 newt_cls();

 newt_draw_root_text (2, 0, "Un peu de texte");
 newt_refresh();
 sleep(1);

 newt_draw_root_text (-30, 0, "Du texte dans l'autre coin");
 newt_refresh();
 sleep(1);

 newt_finished();
?>

Voir aussi

  • newt_push_help_line() - Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne
  • newt_pop_help_line() - Replace la ligne d'aide courante avec une provenant de la pile

newt_draw_form
newt_entry_get_value
Fonctions Newt


newt_draw_root_text
newt_entry_set_filter
Fonctions Newt
PHP Manual

newt_entry_get_value

(PECL newt >= 0.1)

newt_entry_get_value —

Description

string newt_entry_get_value ( resource $entry )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

entry

Valeurs de retour

newt_draw_root_text
newt_entry_set_filter
Fonctions Newt


newt_entry_get_value
newt_entry_set_flags
Fonctions Newt
PHP Manual

newt_entry_set_filter

(PECL newt >= 0.1)

newt_entry_set_filter —

Description

void newt_entry_set_filter ( resource $entry , callback $filter , mixed $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

entry

filter

data

Valeurs de retour

Aucune valeur n'est retournée.

newt_entry_get_value
newt_entry_set_flags
Fonctions Newt


newt_entry_set_filter
newt_entry_set
Fonctions Newt
PHP Manual

newt_entry_set_flags

(PECL newt >= 0.1)

newt_entry_set_flags —

Description

void newt_entry_set_flags ( resource $entry , int $flags , int $sense )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

entry

flags

sense

Valeurs de retour

Aucune valeur n'est retournée.

newt_entry_set_filter
newt_entry_set
Fonctions Newt


newt_entry_set_flags
newt_entry
Fonctions Newt
PHP Manual

newt_entry_set

(PECL newt >= 0.1)

newt_entry_set —

Description

void newt_entry_set ( resource $entry , string $value [, bool $cursor_at_end ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

entry

value

cursor_at_end

Valeurs de retour

Aucune valeur n'est retournée.

newt_entry_set_flags
newt_entry
Fonctions Newt


newt_entry_set
newt_finished
Fonctions Newt
PHP Manual

newt_entry

(PECL newt >= 0.1)

newt_entry —

Description

resource newt_entry ( int $left , int $top , int $width [, string $init_value [, int $flags ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

width

init_value

flags

Valeurs de retour

newt_entry_set
newt_finished
Fonctions Newt


Arrête l'interface newt

newt_entry
newt_form_add_component
Fonctions Newt
PHP Manual

newt_finished

(PECL newt >= 0.1)

newt_finished — Arrête l'interface newt

Description

int newt_finished ( void )

Arrête l'interface newt. Cette fonction est appelée lorsque le programme est prêt à être arrêté.

Valeurs de retour

Retourne 1 en cas de succès ou 0 en cas d'échec.

Voir aussi

  • newt_init() - Initialise newt

newt_entry
newt_form_add_component
Fonctions Newt


Ajoute un seul composant à la forme

newt_finished
newt_form_add_components
Fonctions Newt
PHP Manual

newt_form_add_component

(PECL newt >= 0.1)

newt_form_add_component — Ajoute un seul composant à la forme

Description

void newt_form_add_component ( resource $form , resource $component )

Ajoute un seul composant à la forme qui est passé dans le premier paramètre.

Liste de paramètres

form

Forme à laquelle le composant sera ajouté

component

Composant à ajouter à la forme

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec newt_form_add_component()

<?php
$form = newt_form();

$options = array("Authentication configuration", "Firewall configuration",
"Mouse configuration", "Network configuration", "Printer configuration",
"System services");

$list = newt_listbox(3, 2, 10);

foreach ($options as $l_item) {
   newt_listbox_add_entry($list, $l_item, $l_item);
}

newt_form_add_component($form, $list);
?>

Voir aussi

  • newt_form_add_components() - Ajoute plusieurs composants à la forme

newt_finished
newt_form_add_components
Fonctions Newt


Ajoute plusieurs composants à la forme

newt_form_add_component
newt_form_add_hot_key
Fonctions Newt
PHP Manual

newt_form_add_components

(PECL newt >= 0.1)

newt_form_add_components — Ajoute plusieurs composants à la forme

Description

void newt_form_add_components ( resource $form , array $components )

Ajoute plusieurs composants à la forme form.

Liste de paramètres

form

Forme à laquelle les composants seront ajoutés

components

Tableau de composants à ajouter à la forme

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec newt_form_add_components()

<?php
$form = newt_form();

$b1 = newt_button(5, 12, "Run Tool");
$b2 = newt_button(21, 12, "Quit");

newt_form_add_components($form, array($b1, $b2));
?>

Voir aussi

  • newt_form_add_component() - Ajoute un seul composant à la forme

newt_form_add_component
newt_form_add_hot_key
Fonctions Newt


newt_form_add_components
newt_form_destroy
Fonctions Newt
PHP Manual

newt_form_add_hot_key

(PECL newt >= 0.1)

newt_form_add_hot_key —

Description

void newt_form_add_hot_key ( resource $form , int $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

key

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_add_components
newt_form_destroy
Fonctions Newt


Détruit une forme

newt_form_add_hot_key
newt_form_get_current
Fonctions Newt
PHP Manual

newt_form_destroy

(PECL newt >= 0.1)

newt_form_destroy — Détruit une forme

Description

void newt_form_destroy ( resource $form )

Cette fonction libère les ressources mémoires utilisées par la forme et tous les composants qui avaient été ajoutés à la forme (en incluant les composants qui sont sur des formes filles). Une fois que la forme est détruite, aucun des composants qui appartenaient à la forme ne peut être utilisé.

Liste de paramètres

form

Composant forme, qui sera détruit

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_form_run() - Exécute une forme
  • newt_run_form() - Exécute une forme

newt_form_add_hot_key
newt_form_get_current
Fonctions Newt


newt_form_destroy
newt_form_run
Fonctions Newt
PHP Manual

newt_form_get_current

(PECL newt >= 0.1)

newt_form_get_current —

Description

resource newt_form_get_current ( resource $form )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

Valeurs de retour

newt_form_destroy
newt_form_run
Fonctions Newt


Exécute une forme

newt_form_get_current
newt_form_set_background
Fonctions Newt
PHP Manual

newt_form_run

(PECL newt >= 0.1)

newt_form_run — Exécute une forme

Description

void newt_form_run ( resource $form , array &$exit_struct )

Cette fonction exécute la forme qui lui est passée.

Liste de paramètres

form

Composant forme

exit_struct

Tableau, utilisé pour retourner des informations après l'exécution des composants de la forme. Les clés et leur valeur sont décrites dans la table suivante :

Structure Arrêt de Forme
Clé Index | Type de Valeur | Description
reason | entier | La raison indiquant pourquoi la forme a été quittée. Les valeurs possibles sont définies ici.
watch | ressource | Lien de ressource, spécifié dans newt_form_watch_fd()
key | entier | Raccourci
component | ressource | Composant, qui a causé la forme à quitter

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_run_form() - Exécute une forme

newt_form_get_current
newt_form_set_background
Fonctions Newt


newt_form_run
newt_form_set_height
Fonctions Newt
PHP Manual

newt_form_set_background

(PECL newt >= 0.1)

newt_form_set_background —

Description

void newt_form_set_background ( resource $from , int $background )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

from

background

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_run
newt_form_set_height
Fonctions Newt


newt_form_set_background
newt_form_set_size
Fonctions Newt
PHP Manual

newt_form_set_height

(PECL newt >= 0.1)

newt_form_set_height —

Description

void newt_form_set_height ( resource $form , int $height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

height

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_set_background
newt_form_set_size
Fonctions Newt


newt_form_set_height
newt_form_set_timer
Fonctions Newt
PHP Manual

newt_form_set_size

(PECL newt >= 0.1)

newt_form_set_size —

Description

void newt_form_set_size ( resource $form )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_set_height
newt_form_set_timer
Fonctions Newt


newt_form_set_size
newt_form_set_width
Fonctions Newt
PHP Manual

newt_form_set_timer

(PECL newt >= 0.1)

newt_form_set_timer —

Description

void newt_form_set_timer ( resource $form , int $milliseconds )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

milliseconds

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_set_size
newt_form_set_width
Fonctions Newt


newt_form_set_timer
newt_form_watch_fd
Fonctions Newt
PHP Manual

newt_form_set_width

(PECL newt >= 0.1)

newt_form_set_width —

Description

void newt_form_set_width ( resource $form , int $width )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

width

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_set_timer
newt_form_watch_fd
Fonctions Newt


newt_form_set_width
newt_form
Fonctions Newt
PHP Manual

newt_form_watch_fd

(PECL newt >= 0.1)

newt_form_watch_fd —

Description

void newt_form_watch_fd ( resource $form , resource $stream [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

form

stream

flags

Valeurs de retour

Aucune valeur n'est retournée.

newt_form_set_width
newt_form
Fonctions Newt


Crée une forme

newt_form_watch_fd
newt_get_screen_size
Fonctions Newt
PHP Manual

newt_form

(PECL newt >= 0.1)

newt_form — Crée une forme

Description

resource newt_form ([ resource $vert_bar [, string $help [, int $flags ]]] )

Crée une nouvelle forme.

Liste de paramètres

vert_bar

Barre de défilement vertical qui devrait être associée à la forme

help

Chaîne de caractères d'aide

flags

Drapeaux variés

Valeurs de retour

Retourne le lien ressource du composant de la forme créé ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec newt_form()

Affiche un simple bouton "Quitter", qui ferme l'application une fois qu'il est pressé.

<?php
newt_init();
newt_cls();

$myform = newt_form();
$button = newt_button (5, 12, "Quitter");

newt_form_add_component ($myform, $button);
newt_refresh ();
newt_run_form ($myform);

newt_finished ();
newt_form_destroy ($myform);
?>

Voir aussi

  • newt_form_run() - Exécute une forme
  • newt_run_form() - Exécute une forme
  • newt_form_add_component() - Ajoute un seul composant à la forme
  • newt_form_add_components() - Ajoute plusieurs composants à la forme
  • newt_form_destroy() - Détruit une forme

newt_form_watch_fd
newt_get_screen_size
Fonctions Newt


Remplit les références passées avec la taille courante du terminal

newt_form
newt_grid_add_components_to_form
Fonctions Newt
PHP Manual

newt_get_screen_size

(PECL newt >= 0.1)

newt_get_screen_size — Remplit les références passées avec la taille courante du terminal

Description

void newt_get_screen_size ( int &$cols , int &$rows )

Remplit les références passées avec la taille courante du terminal.

Liste de paramètres

cols

Nombre de colonnes dans le terminal

rows

Nombre de lignes dans le terminal

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec newt_get_screen_size()

Ce code affiche la taille de l'écran de votre terminal.

<?php
 newt_init();
 newt_get_screen_size (&$cols, &$rows);
 newt_finished();

 print "Votre taille de terminal est : {$cols}x{$rows}\n";
?>

L'exemple ci-dessus va afficher :

Votre taille de terminal est : 138x47

newt_form
newt_grid_add_components_to_form
Fonctions Newt


newt_get_screen_size
newt_grid_basic_window
Fonctions Newt
PHP Manual

newt_grid_add_components_to_form

(PECL newt >= 0.1)

newt_grid_add_components_to_form —

Description

void newt_grid_add_components_to_form ( resource $grid , resource $form , bool $recurse )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

form

recurse

Valeurs de retour

Aucune valeur n'est retournée.

newt_get_screen_size
newt_grid_basic_window
Fonctions Newt


newt_grid_add_components_to_form
newt_grid_free
Fonctions Newt
PHP Manual

newt_grid_basic_window

(PECL newt >= 0.1)

newt_grid_basic_window —

Description

resource newt_grid_basic_window ( resource $text , resource $middle , resource $buttons )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

text

middle

buttons

Valeurs de retour

newt_grid_add_components_to_form
newt_grid_free
Fonctions Newt


newt_grid_basic_window
newt_grid_get_size
Fonctions Newt
PHP Manual

newt_grid_free

(PECL newt >= 0.1)

newt_grid_free —

Description

void newt_grid_free ( resource $grid , bool $recurse )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

recurse

Valeurs de retour

Aucune valeur n'est retournée.

newt_grid_basic_window
newt_grid_get_size
Fonctions Newt


newt_grid_free
newt_grid_h_close_stacked
Fonctions Newt
PHP Manual

newt_grid_get_size

(PECL newt >= 0.1)

newt_grid_get_size —

Description

void newt_grid_get_size ( resouce $grid , int &$width , int &$height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

width

height

Valeurs de retour

Aucune valeur n'est retournée.

newt_grid_free
newt_grid_h_close_stacked
Fonctions Newt


newt_grid_get_size
newt_grid_h_stacked
Fonctions Newt
PHP Manual

newt_grid_h_close_stacked

(PECL newt >= 0.1)

newt_grid_h_close_stacked —

Description

resource newt_grid_h_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

element1_type

element1

Valeurs de retour

newt_grid_get_size
newt_grid_h_stacked
Fonctions Newt


newt_grid_h_close_stacked
newt_grid_place
Fonctions Newt
PHP Manual

newt_grid_h_stacked

(PECL newt >= 0.1)

newt_grid_h_stacked —

Description

resource newt_grid_h_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

element1_type

element1

Valeurs de retour

newt_grid_h_close_stacked
newt_grid_place
Fonctions Newt


newt_grid_h_stacked
newt_grid_set_field
Fonctions Newt
PHP Manual

newt_grid_place

(PECL newt >= 0.1)

newt_grid_place —

Description

void newt_grid_place ( resource $grid , int $left , int $top )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

left

top

Valeurs de retour

Aucune valeur n'est retournée.

newt_grid_h_stacked
newt_grid_set_field
Fonctions Newt


newt_grid_place
newt_grid_simple_window
Fonctions Newt
PHP Manual

newt_grid_set_field

(PECL newt >= 0.1)

newt_grid_set_field —

Description

void newt_grid_set_field ( resource $grid , int $col , int $row , int $type , resource $val , int $pad_left , int $pad_top , int $pad_right , int $pad_bottom , int $anchor [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

col

row

type

val

pad_left

pad_top

pad_right

pad_bottom

anchor

flags

Valeurs de retour

Aucune valeur n'est retournée.

newt_grid_place
newt_grid_simple_window
Fonctions Newt


newt_grid_set_field
newt_grid_v_close_stacked
Fonctions Newt
PHP Manual

newt_grid_simple_window

(PECL newt >= 0.1)

newt_grid_simple_window —

Description

resource newt_grid_simple_window ( resource $text , resource $middle , resource $buttons )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

text

middle

buttons

Valeurs de retour

newt_grid_set_field
newt_grid_v_close_stacked
Fonctions Newt


newt_grid_simple_window
newt_grid_v_stacked
Fonctions Newt
PHP Manual

newt_grid_v_close_stacked

(PECL newt >= 0.1)

newt_grid_v_close_stacked —

Description

resource newt_grid_v_close_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

element1_type

element1

Valeurs de retour

newt_grid_simple_window
newt_grid_v_stacked
Fonctions Newt


newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Fonctions Newt
PHP Manual

newt_grid_v_stacked

(PECL newt >= 0.1)

newt_grid_v_stacked —

Description

resource newt_grid_v_stacked ( int $element1_type , resource $element1 [, int $... [, resource $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

element1_type

element1

Valeurs de retour

newt_grid_v_close_stacked
newt_grid_wrapped_window_at
Fonctions Newt


newt_grid_v_stacked
newt_grid_wrapped_window
Fonctions Newt
PHP Manual

newt_grid_wrapped_window_at

(PECL newt >= 0.1)

newt_grid_wrapped_window_at —

Description

void newt_grid_wrapped_window_at ( resource $grid , string $title , int $left , int $top )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

title

left

top

Valeurs de retour

Aucune valeur n'est retournée.

newt_grid_v_stacked
newt_grid_wrapped_window
Fonctions Newt


newt_grid_wrapped_window_at
newt_init
Fonctions Newt
PHP Manual

newt_grid_wrapped_window

(PECL newt >= 0.1)

newt_grid_wrapped_window —

Description

void newt_grid_wrapped_window ( resource $grid , string $title )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

grid

title

Valeurs de retour

Aucune valeur n'est retournée.

newt_grid_wrapped_window_at
newt_init
Fonctions Newt


Initialise newt

newt_grid_wrapped_window
newt_label_set_text
Fonctions Newt
PHP Manual

newt_init

(PECL newt >= 0.1)

newt_init — Initialise newt

Description

int newt_init ( void )

Initialise l'interface newt. Cette fonction doit être appelée avant n'importe quelle autre fonction newt.

Valeurs de retour

Retourne 1 en cas de succès ou 0 en cas d'échec.

Voir aussi

  • newt_finished() - Arrête l'interface newt

newt_grid_wrapped_window
newt_label_set_text
Fonctions Newt


newt_init
newt_label
Fonctions Newt
PHP Manual

newt_label_set_text

(PECL newt >= 0.1)

newt_label_set_text —

Description

void newt_label_set_text ( resource $label , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

label

text

Valeurs de retour

Aucune valeur n'est retournée.

newt_init
newt_label
Fonctions Newt


newt_label_set_text
newt_listbox_append_entry
Fonctions Newt
PHP Manual

newt_label

(PECL newt >= 0.1)

newt_label —

Description

resource newt_label ( int $left , int $top , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

text

Valeurs de retour

newt_label_set_text
newt_listbox_append_entry
Fonctions Newt


newt_label
newt_listbox_clear_selection
Fonctions Newt
PHP Manual

newt_listbox_append_entry

(PECL newt >= 0.1)

newt_listbox_append_entry —

Description

void newt_listbox_append_entry ( resource $listbox , string $text , mixed $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

text

data

Valeurs de retour

Aucune valeur n'est retournée.

newt_label
newt_listbox_clear_selection
Fonctions Newt


newt_listbox_append_entry
newt_listbox_clear
Fonctions Newt
PHP Manual

newt_listbox_clear_selection

(PECL newt >= 0.1)

newt_listbox_clear_selection —

Description

void newt_listbox_clear_selection ( resource $listbox )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_append_entry
newt_listbox_clear
Fonctions Newt


newt_listbox_clear_selection
newt_listbox_delete_entry
Fonctions Newt
PHP Manual

newt_listbox_clear

(PECL newt >= 0.1)

newt_listbox_clear —

Description

void newt_listbox_clear ( resource $listobx )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listobx

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_clear_selection
newt_listbox_delete_entry
Fonctions Newt


newt_listbox_clear
newt_listbox_get_current
Fonctions Newt
PHP Manual

newt_listbox_delete_entry

(PECL newt >= 0.1)

newt_listbox_delete_entry —

Description

void newt_listbox_delete_entry ( resource $listbox , mixed $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

key

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_clear
newt_listbox_get_current
Fonctions Newt


newt_listbox_delete_entry
newt_listbox_get_selection
Fonctions Newt
PHP Manual

newt_listbox_get_current

(PECL newt >= 0.1)

newt_listbox_get_current —

Description

string newt_listbox_get_current ( resource $listbox )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

Valeurs de retour

newt_listbox_delete_entry
newt_listbox_get_selection
Fonctions Newt


newt_listbox_get_current
newt_listbox_insert_entry
Fonctions Newt
PHP Manual

newt_listbox_get_selection

(PECL newt >= 0.1)

newt_listbox_get_selection —

Description

array newt_listbox_get_selection ( resource $listbox )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

Valeurs de retour

newt_listbox_get_current
newt_listbox_insert_entry
Fonctions Newt


newt_listbox_get_selection
newt_listbox_item_count
Fonctions Newt
PHP Manual

newt_listbox_insert_entry

(PECL newt >= 0.1)

newt_listbox_insert_entry —

Description

void newt_listbox_insert_entry ( resource $listbox , string $text , mixed $data , mixed $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

text

data

key

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_get_selection
newt_listbox_item_count
Fonctions Newt


newt_listbox_insert_entry
newt_listbox_select_item
Fonctions Newt
PHP Manual

newt_listbox_item_count

(PECL newt >= 0.1)

newt_listbox_item_count —

Description

int newt_listbox_item_count ( resource $listbox )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

Valeurs de retour

newt_listbox_insert_entry
newt_listbox_select_item
Fonctions Newt


newt_listbox_item_count
newt_listbox_set_current_by_key
Fonctions Newt
PHP Manual

newt_listbox_select_item

(PECL newt >= 0.1)

newt_listbox_select_item —

Description

void newt_listbox_select_item ( resource $listbox , mixed $key , int $sense )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

key

sense

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_item_count
newt_listbox_set_current_by_key
Fonctions Newt


newt_listbox_select_item
newt_listbox_set_current
Fonctions Newt
PHP Manual

newt_listbox_set_current_by_key

(PECL newt >= 0.1)

newt_listbox_set_current_by_key —

Description

void newt_listbox_set_current_by_key ( resource $listbox , mixed $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

key

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_select_item
newt_listbox_set_current
Fonctions Newt


newt_listbox_set_current_by_key
newt_listbox_set_data
Fonctions Newt
PHP Manual

newt_listbox_set_current

(PECL newt >= 0.1)

newt_listbox_set_current —

Description

void newt_listbox_set_current ( resource $listbox , int $num )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

num

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_set_current_by_key
newt_listbox_set_data
Fonctions Newt


newt_listbox_set_current
newt_listbox_set_entry
Fonctions Newt
PHP Manual

newt_listbox_set_data

(PECL newt >= 0.1)

newt_listbox_set_data —

Description

void newt_listbox_set_data ( resource $listbox , int $num , mixed $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

num

data

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_set_current
newt_listbox_set_entry
Fonctions Newt


newt_listbox_set_data
newt_listbox_set_width
Fonctions Newt
PHP Manual

newt_listbox_set_entry

(PECL newt >= 0.1)

newt_listbox_set_entry —

Description

void newt_listbox_set_entry ( resource $listbox , int $num , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

num

text

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_set_data
newt_listbox_set_width
Fonctions Newt


newt_listbox_set_entry
newt_listbox
Fonctions Newt
PHP Manual

newt_listbox_set_width

(PECL newt >= 0.1)

newt_listbox_set_width —

Description

void newt_listbox_set_width ( resource $listbox , int $width )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

listbox

width

Valeurs de retour

Aucune valeur n'est retournée.

newt_listbox_set_entry
newt_listbox
Fonctions Newt


newt_listbox_set_width
newt_listitem_get_data
Fonctions Newt
PHP Manual

newt_listbox

(PECL newt >= 0.1)

newt_listbox —

Description

resource newt_listbox ( int $left , int $top , int $height [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

height

flags

Valeurs de retour

newt_listbox_set_width
newt_listitem_get_data
Fonctions Newt


newt_listbox
newt_listitem_set
Fonctions Newt
PHP Manual

newt_listitem_get_data

(PECL newt >= 0.1)

newt_listitem_get_data —

Description

mixed newt_listitem_get_data ( resource $item )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

item

Valeurs de retour

newt_listbox
newt_listitem_set
Fonctions Newt


newt_listitem_get_data
newt_listitem
Fonctions Newt
PHP Manual

newt_listitem_set

(PECL newt >= 0.1)

newt_listitem_set —

Description

void newt_listitem_set ( resource $item , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

item

text

Valeurs de retour

Aucune valeur n'est retournée.

newt_listitem_get_data
newt_listitem
Fonctions Newt


newt_listitem_set
newt_open_window
Fonctions Newt
PHP Manual

newt_listitem

(PECL newt >= 0.1)

newt_listitem —

Description

resource newt_listitem ( int $left , int $top , string $text , bool $is_default , resouce $prev_item , mixed $data [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

text

is_default

prev_item

data

flags

Valeurs de retour

newt_listitem_set
newt_open_window
Fonctions Newt


Ouvre une fenêtre de la taille et la position spécifiée

newt_listitem
newt_pop_help_line
Fonctions Newt
PHP Manual

newt_open_window

(PECL newt >= 0.1)

newt_open_window — Ouvre une fenêtre de la taille et la position spécifiée

Description

int newt_open_window ( int $left , int $top , int $width , int $height [, string $title ] )

Ouvre une fenêtre de la taille et la position spécifiée.

Liste de paramètres

left

Emplacement du coin haut gauche de la fenêtre (numéro de colonne)

top

Emplacement du coin haut gauche de la fenêtre (numéro de ligne)

width

Largeur de la fenêtre

height

Hauteur de la fenêtre

title

Titre de la fenêtre

Valeurs de retour

Retourne 1 en cas de succès ou 0 en cas d'échec.

Voir aussi

  • newt_pop_window() - Supprime la fenêtre de premier plan de l'affichage
  • newt_centered_window() - Ouvre une fenêtre centrée de la taille spécifiée

newt_listitem
newt_pop_help_line
Fonctions Newt


Replace la ligne d'aide courante avec une provenant de la pile

newt_open_window
newt_pop_window
Fonctions Newt
PHP Manual

newt_pop_help_line

(PECL newt >= 0.1)

newt_pop_help_line — Replace la ligne d'aide courante avec une provenant de la pile

Description

void newt_pop_help_line ( void )

Replace la ligne d'aide courante avec une provenant de la pile.

Note: Il est important de ne pas appeler la fonction newt_pop_help_line() plus que newt_push_help_line().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_push_help_line() - Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne

newt_open_window
newt_pop_window
Fonctions Newt


Supprime la fenêtre de premier plan de l'affichage

newt_pop_help_line
newt_push_help_line
Fonctions Newt
PHP Manual

newt_pop_window

(PECL newt >= 0.1)

newt_pop_window — Supprime la fenêtre de premier plan de l'affichage

Description

void newt_pop_window ( void )

Supprime la fenêtre de premier plan de l'affichage et redessine le secteur d'affichage sur lequel la fenêtre se trouvait.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_open_window() - Ouvre une fenêtre de la taille et la position spécifiée
  • newt_centered_window() - Ouvre une fenêtre centrée de la taille spécifiée

newt_pop_help_line
newt_push_help_line
Fonctions Newt


Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne

newt_pop_window
newt_radio_get_current
Fonctions Newt
PHP Manual

newt_push_help_line

(PECL newt >= 0.1)

newt_push_help_line — Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne

Description

void newt_push_help_line ([ string $text ] )

Sauvegarde la ligne d'aide courante sur la pile et affiche la nouvelle ligne.

Liste de paramètres

text

Nouveau message d'aide

Note: Si non spécifié, la ligne d'aide est supprimée.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_pop_help_line() - Replace la ligne d'aide courante avec une provenant de la pile

newt_pop_window
newt_radio_get_current
Fonctions Newt


newt_push_help_line
newt_radiobutton
Fonctions Newt
PHP Manual

newt_radio_get_current

(PECL newt >= 0.1)

newt_radio_get_current —

Description

resource newt_radio_get_current ( resource $set_member )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

set_member

Valeurs de retour

newt_push_help_line
newt_radiobutton
Fonctions Newt


newt_radio_get_current
newt_redraw_help_line
Fonctions Newt
PHP Manual

newt_radiobutton

(PECL newt >= 0.1)

newt_radiobutton —

Description

resource newt_radiobutton ( int $left , int $top , string $text , bool $is_default [, resource $prev_button ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

text

is_default

prev_button

Valeurs de retour

newt_radio_get_current
newt_redraw_help_line
Fonctions Newt


newt_radiobutton
newt_reflow_text
Fonctions Newt
PHP Manual

newt_redraw_help_line

(PECL newt >= 0.1)

newt_redraw_help_line —

Description

void newt_redraw_help_line ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

Aucune valeur n'est retournée.

newt_radiobutton
newt_reflow_text
Fonctions Newt


newt_redraw_help_line
newt_refresh
Fonctions Newt
PHP Manual

newt_reflow_text

(PECL newt >= 0.1)

newt_reflow_text —

Description

string newt_reflow_text ( string $text , int $width , int $flex_down , int $flex_up , int &$actual_width , int &$actual_height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

text

width

flex_down

flex_up

actual_width

actual_height

Valeurs de retour

newt_redraw_help_line
newt_refresh
Fonctions Newt


Met à jour les portions modifiées de l'écran

newt_reflow_text
newt_resize_screen
Fonctions Newt
PHP Manual

newt_refresh

(PECL newt >= 0.1)

newt_refresh — Met à jour les portions modifiées de l'écran

Description

void newt_refresh ( void )

Pour améliorer les performances, newt met à jour seulement l'affichage lorsque c'est requis et non lorsque le programme lui demande d'écrire dans le terminal. Les applications peuvent forcer newt pour mettre à jour immédiatement les portions modifiées de l'écran en appelant cette fonction.

Valeurs de retour

Aucune valeur n'est retournée.

newt_reflow_text
newt_resize_screen
Fonctions Newt


newt_refresh
newt_resume
Fonctions Newt
PHP Manual

newt_resize_screen

(PECL newt >= 0.1)

newt_resize_screen —

Description

void newt_resize_screen ([ bool $redraw ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

redraw

Valeurs de retour

Aucune valeur n'est retournée.

newt_refresh
newt_resume
Fonctions Newt


Récupère l'interface de newt après l'appel de newt_suspend

newt_resize_screen
newt_run_form
Fonctions Newt
PHP Manual

newt_resume

(PECL newt >= 0.1)

newt_resume — Récupère l'interface de newt après l'appel de newt_suspend()

Description

void newt_resume ( void )

Récupère l'interface après l'appel de newt_suspend().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_suspend() - Indique à newt de retourner à l'état initial du terminal

newt_resize_screen
newt_run_form
Fonctions Newt


Exécute une forme

newt_resume
newt_scale_set
Fonctions Newt
PHP Manual

newt_run_form

(PECL newt >= 0.1)

newt_run_form — Exécute une forme

Description

resource newt_run_form ( resource $form )

Cette fonction exécute la forme qui lui est passée en argument.

Liste de paramètres

form

Composant forme

Valeurs de retour

Le composant qui a arrêté la forme.

Note: Notez que cette fonction n'est pas similaire aux conventions de nom de newt. Il s'agit d'une plus vieille interface qui ne fonctionnera pas pour toutes les formes. Elle a été laissée dans newt seulement pour compatibilité des applications. Il s'agit d'une interface plus simple que la nouvelle newt_form_run() et est toujours utilisée plus souvent en pratique. Lorsqu'une application a terminée d'une forme, elle la détruit et tous les composants que la forme contient.

Voir aussi

  • newt_form_run() - Exécute une forme
  • newt_form_destroy() - Détruit une forme

newt_resume
newt_scale_set
Fonctions Newt


newt_run_form
newt_scale
Fonctions Newt
PHP Manual

newt_scale_set

(PECL newt >= 0.1)

newt_scale_set —

Description

void newt_scale_set ( resource $scale , int $amount )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scale

amount

Valeurs de retour

Aucune valeur n'est retournée.

newt_run_form
newt_scale
Fonctions Newt


newt_scale_set
newt_scrollbar_set
Fonctions Newt
PHP Manual

newt_scale

(PECL newt >= 0.1)

newt_scale —

Description

resource newt_scale ( int $left , int $top , int $width , int $full_value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

width

full_value

Valeurs de retour

newt_scale_set
newt_scrollbar_set
Fonctions Newt


newt_scale
newt_set_help_callback
Fonctions Newt
PHP Manual

newt_scrollbar_set

(PECL newt >= 0.1)

newt_scrollbar_set —

Description

void newt_scrollbar_set ( resource $scrollbar , int $where , int $total )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scrollbar

where

total

Valeurs de retour

Aucune valeur n'est retournée.

newt_scale
newt_set_help_callback
Fonctions Newt


newt_scrollbar_set
newt_set_suspend_callback
Fonctions Newt
PHP Manual

newt_set_help_callback

(PECL newt >= 0.1)

newt_set_help_callback —

Description

void newt_set_help_callback ( mixed $function )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

function

Valeurs de retour

Aucune valeur n'est retournée.

newt_scrollbar_set
newt_set_suspend_callback
Fonctions Newt


Assigne la fonction de rappel appelée sur suspension

newt_set_help_callback
newt_suspend
Fonctions Newt
PHP Manual

newt_set_suspend_callback

(PECL newt >= 0.1)

newt_set_suspend_callback — Assigne la fonction de rappel appelée sur suspension

Description

void newt_set_suspend_callback ( callback $function , mixed $data )

newt_set_suspend_callback() assigne une fonction de rappel qui sera appelée lorsque l'utilisateur appuiera sur la touche de suspension (normalement ^Z). Si aucune fonction de rappel n'est configurée, la commande de suspension est ignorée.

Liste de paramètres

function

Une fonction de rappel, qui accepte un argument : data

data

Cette donnée sera passée à la fonction de rappel

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_suspend() - Indique à newt de retourner à l'état initial du terminal
  • newt_resume() - Récupère l'interface de newt après l'appel de newt_suspend

newt_set_help_callback
newt_suspend
Fonctions Newt


Indique à newt de retourner à l'état initial du terminal

newt_set_suspend_callback
newt_textbox_get_num_lines
Fonctions Newt
PHP Manual

newt_suspend

(PECL newt >= 0.1)

newt_suspend — Indique à newt de retourner à l'état initial du terminal

Description

void newt_suspend ( void )

Indique newt de retourner à l'état initial du terminal. Une fois cela fait, l'application est suspendue (en envoyant à elle-même un SIGTSTP, embranche sur un programme enfant ou fait n'importe quoi d'autre qu'elle aime).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_resume() - Récupère l'interface de newt après l'appel de newt_suspend

newt_set_suspend_callback
newt_textbox_get_num_lines
Fonctions Newt


newt_suspend
newt_textbox_reflowed
Fonctions Newt
PHP Manual

newt_textbox_get_num_lines

(PECL newt >= 0.1)

newt_textbox_get_num_lines —

Description

int newt_textbox_get_num_lines ( resource $textbox )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

textbox

Valeurs de retour

newt_suspend
newt_textbox_reflowed
Fonctions Newt


newt_textbox_get_num_lines
newt_textbox_set_height
Fonctions Newt
PHP Manual

newt_textbox_reflowed

(PECL newt >= 0.1)

newt_textbox_reflowed —

Description

resource newt_textbox_reflowed ( int $left , int $top , char $*text , int $width , int $flex_down , int $flex_up [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

*text

width

flex_down

flex_up

flags

Valeurs de retour

newt_textbox_get_num_lines
newt_textbox_set_height
Fonctions Newt


newt_textbox_reflowed
newt_textbox_set_text
Fonctions Newt
PHP Manual

newt_textbox_set_height

(PECL newt >= 0.1)

newt_textbox_set_height —

Description

void newt_textbox_set_height ( resource $textbox , int $height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

textbox

height

Valeurs de retour

Aucune valeur n'est retournée.

newt_textbox_reflowed
newt_textbox_set_text
Fonctions Newt


newt_textbox_set_height
newt_textbox
Fonctions Newt
PHP Manual

newt_textbox_set_text

(PECL newt >= 0.1)

newt_textbox_set_text —

Description

void newt_textbox_set_text ( resource $textbox , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

textbox

text

Valeurs de retour

Aucune valeur n'est retournée.

newt_textbox_set_height
newt_textbox
Fonctions Newt


newt_textbox_set_text
newt_vertical_scrollbar
Fonctions Newt
PHP Manual

newt_textbox

(PECL newt >= 0.1)

newt_textbox —

Description

resource newt_textbox ( int $left , int $top , int $width , int $height [, int $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

width

height

flags

Valeurs de retour

newt_textbox_set_text
newt_vertical_scrollbar
Fonctions Newt


newt_textbox
newt_wait_for_key
Fonctions Newt
PHP Manual

newt_vertical_scrollbar

(PECL newt >= 0.1)

newt_vertical_scrollbar —

Description

resource newt_vertical_scrollbar ( int $left , int $top , int $height [, int $normal_colorset [, int $thumb_colorset ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

left

top

height

normal_colorset

thumb_colorset

Valeurs de retour

newt_textbox
newt_wait_for_key
Fonctions Newt


Ne continue pas tant qu'une touche n'est pas appuyée

newt_vertical_scrollbar
newt_win_choice
Fonctions Newt
PHP Manual

newt_wait_for_key

(PECL newt >= 0.1)

newt_wait_for_key — Ne continue pas tant qu'une touche n'est pas appuyée

Description

void newt_wait_for_key ( void )

Cette fonction ne continue pas tant qu'une touche n'est pas appuyée. La frappe est alors ignorée. Si une touche est déjà dans le tampon du terminal, cette fonction jette la frappe et continue immédiatement.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • newt_clear_key_buffer() - Jette le contenu de l'entrée du tampon du terminal sans attendre d'autre entrée additionnelle

newt_vertical_scrollbar
newt_win_choice
Fonctions Newt


newt_wait_for_key
newt_win_entries
Fonctions Newt
PHP Manual

newt_win_choice

(PECL newt >= 0.1)

newt_win_choice —

Description

int newt_win_choice ( string $title , string $button1_text , string $button2_text , string $format [, mixed $args [, mixed $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

title

button1_text

button2_text

format

args

Valeurs de retour

newt_wait_for_key
newt_win_entries
Fonctions Newt


newt_win_choice
newt_win_menu
Fonctions Newt
PHP Manual

newt_win_entries

(PECL newt >= 0.1)

newt_win_entries —

Description

int newt_win_entries ( string $title , string $text , int $suggested_width , int $flex_down , int $flex_up , int $data_width , array &$items , string $button1 [, string $... ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

title

text

suggested_width

flex_down

flex_up

data_width

items

button1

button2

Valeurs de retour

Exemples

Exemple #1 Exemple avec newt_win_entries()

<?php

newt_init();
newt_cls();

$entries[] = array('text' => 'First name:', 'value' => &$f_name);
$entries[] = array('text' => 'Last name:',  'value' => &$l_name);

$rc = newt_win_entries("User information", "Please enter your credentials:", 50, 7, 7, 30, $entries, "Ok", "Back");
newt_finished ();

if ($rc != 2) {
   echo "Your name is: $f_name $l_name\n";
}
?>

newt_win_choice
newt_win_menu
Fonctions Newt


newt_win_entries
newt_win_message
Fonctions Newt
PHP Manual

newt_win_menu

(PECL newt >= 0.1)

newt_win_menu —

Description

int newt_win_menu ( string $title , string $text , int $suggestedWidth , int $flexDown , int $flexUp , int $maxListHeight , array $items , int &$listItem [, string $button1 [, string $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

title

text

suggestedWidth

flexDown

flexUp

maxListHeight

items

listItem

button1

Valeurs de retour

Aucune valeur n'est retournée.

newt_win_entries
newt_win_message
Fonctions Newt


newt_win_menu
newt_win_messagev
Fonctions Newt
PHP Manual

newt_win_message

(PECL newt >= 0.1)

newt_win_message —

Description

void newt_win_message ( string $title , string $button_text , string $format [, mixed $args [, mixed $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

title

button_text

format

args

Valeurs de retour

Aucune valeur n'est retournée.

newt_win_menu
newt_win_messagev
Fonctions Newt


newt_win_message
newt_win_ternary
Fonctions Newt
PHP Manual

newt_win_messagev

(PECL newt >= 0.1)

newt_win_messagev —

Description

void newt_win_messagev ( string $title , string $button_text , string $format , array $args )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

title

button_text

format

args

Valeurs de retour

Aucune valeur n'est retournée.

newt_win_message
newt_win_ternary
Fonctions Newt


newt_win_messagev
Ncurses
Fonctions Newt
PHP Manual

newt_win_ternary

(PECL newt >= 0.1)

newt_win_ternary —

Description

int newt_win_ternary ( string $title , string $button1_text , string $button2_text , string $button3_text , string $format [, mixed $args [, mixed $... ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

title

button1_text

button2_text

button3_text

format

args

Valeurs de retour

newt_win_messagev
Ncurses
Fonctions Newt


Fonctions de contrôle d'écran de terminal

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
    • Codes d'erreurs ncurses
    • Couleurs
    • Touches
    • Souris
  • Fonctions Ncurses
    • ncurses_addch — Ajoute un caractère à la position courante et avance le curseur
    • ncurses_addchnstr — Ajoute une chaîne de taille donnée à la position courante
    • ncurses_addchstr — Ajoute une chaîne à la position courante
    • ncurses_addnstr — Ajoute une chaîne à la position courante
    • ncurses_addstr — Affiche du texte à la position courante
    • ncurses_assume_default_colors — Définit la couleur 0
    • ncurses_attroff — Désactive les attributs donnés
    • ncurses_attron — Active les attributs fournis
    • ncurses_attrset — Modifie les attributs donnés
    • ncurses_baudrate — Retourne le baudrate du terminal
    • ncurses_beep — Fait beeper le terminal
    • ncurses_bkgd — Définit les propriétés de fond d'écran pour le terminal
    • ncurses_bkgdset — Définit le fond d'écran
    • ncurses_border — Dessine un bord autour de l'écran avec les caractères données
    • ncurses_bottom_panel — Place un conteneur visible en bas de la pile
    • ncurses_can_change_color — Vérifie si le terminal peut changer de couleur
    • ncurses_cbreak — Change la bufferisation d'entrée
    • ncurses_clear — Efface l'écran
    • ncurses_clrtobot — Efface l'écran depuis la position courante jusqu'au bas de l'écran
    • ncurses_clrtoeol — Efface l'écran depuis la position courante jusqu'à la fin de la ligne
    • ncurses_color_content — Lit la valeur RGB d'une couleur
    • ncurses_color_set — Modifie la couleur de fond et de devant
    • ncurses_curs_set — Modifie l'état du curseur
    • ncurses_def_prog_mode — Sauve le mode du terminal
    • ncurses_def_shell_mode — Sauve le mode de terminal (shell)
    • ncurses_define_key — Définit un code de clé (keycode)
    • ncurses_del_panel — Retire un conteneur de la pile et l'efface (mais pas la fenêtre associée)
    • ncurses_delay_output — Retarde l'affichage sur les terminaux utilisant des caractères de remplissage
    • ncurses_delch — Efface le caractère courant et décale le reste de la ligne vers la gauche
    • ncurses_deleteln — Efface la ligne courante, et monte l'écran d'une ligne
    • ncurses_delwin — Efface une fenêtre ncurses
    • ncurses_doupdate — Affiche tout ce qui est prêt, et rafraîchit l'écran
    • ncurses_echo — Active l'écho d'entrée clavier
    • ncurses_echochar — Affiche un caractère et rafraîchit l'écran
    • ncurses_end — Cesse l'utilisation de ncurses et efface l'écran
    • ncurses_erase — Efface l'écran du terminal
    • ncurses_erasechar — Lit le caractère qui se fait effacer
    • ncurses_filter — Définit LINES pour iniscr() et newterm() à 1
    • ncurses_flash — Fait flasher le terminal (visual bell)
    • ncurses_flushinp — Vide le buffer d'entrée du clavier
    • ncurses_getch — Lit un caractère sur le clavier
    • ncurses_getmaxyx — Retourne la taille d'une fenêtre
    • ncurses_getmouse — Lit les événements souris
    • ncurses_getyx — Retourne la position courante du curseur pour une fenêtre
    • ncurses_halfdelay — Met le terminal en mode semi-retardé
    • ncurses_has_colors — Vérifie que le terminal supporte les couleurs
    • ncurses_has_ic — Vérifie les capacités d'insertion et d'effacement
    • ncurses_has_il — Vérifie les capacités d'insertion et d'effacement
    • ncurses_has_key — Vérifie la présence des touches de fonctions sur le clavier
    • ncurses_hide_panel — Retire un conteneur de la pile, pour le rendre invisible
    • ncurses_hline — Dessine une ligne horizontale à la position courante, en utilisant un caractère et une taille maximale
    • ncurses_inch — Lit le caractère et ses attributs à la position courante
    • ncurses_init_color — Configure une nouvelle valeur RGB pour une couleur
    • ncurses_init_pair — Alloue une paire de couleur
    • ncurses_init — Initialise ncurses
    • ncurses_insch — Insère un caractère et décale le reste de la ligne vers la droite, y compris le caractère courant
    • ncurses_insdelln — Insère des lignes devant la ligne courante en scrollant vers le bas (des nombres négatifs donneront un scroll vers le haut)
    • ncurses_insertln — Insère une ligne et décale le reste de l'écran vers le bas
    • ncurses_insstr — Insère une chaîne à la position courante, et décale le reste de la chaîne à droite
    • ncurses_instr — Lit une chaîne depuis le terminal
    • ncurses_isendwin — Vérifie si ncurses est en mode endwin
    • ncurses_keyok — Active ou désactive un code de clé (keycode)
    • ncurses_keypad — Active ou désactive le keypad
    • ncurses_killchar — Retourne la ligne du caractère actuellement supprimé
    • ncurses_longname — Retourne la description du terminal
    • ncurses_meta — Active/désactive les informations de méta clé 8-bits
    • ncurses_mouse_trafo — Transforme les coordonnées
    • ncurses_mouseinterval — Configure les délais entre les clics de souris
    • ncurses_mousemask — Configure les événements de souris à surveiller
    • ncurses_move_panel — Déplace un conteneur pour que son coin supérieur gauche soit aux coordonnées [startx, starty]
    • ncurses_move — Déplace la position d'affichage
    • ncurses_mvaddch — Déplace la position courante et ajoute un caractère
    • ncurses_mvaddchnstr — Déplace la position et ajoute la chaîne attribuée avec la taille donnée
    • ncurses_mvaddchstr — Déplace la position et ajoute une chaîne attribuée
    • ncurses_mvaddnstr — Déplace la position et ajoute une chaîne de taille donnée
    • ncurses_mvaddstr — Déplace la position et ajoute une chaîne
    • ncurses_mvcur — Déplace immédiatement le curseur
    • ncurses_mvdelch — Déplace la position et efface le caractère, puis décale le reste de la ligne à gauche
    • ncurses_mvgetch — Déplace la position et lit le caractère à la nouvelle position
    • ncurses_mvhline — Choisi une nouvelle position et dessine une ligne horizontale avec le caractère donné, et de taille maximale donnée
    • ncurses_mvinch — Déplace la position et lit le caractère à la nouvelle position
    • ncurses_mvvline — Modifie la position et dessine une ligne verticale avec le caractère donné, de taille maximale donnée
    • ncurses_mvwaddstr — Ajoute une chaîne à une nouvelle position dans la fenêtre
    • ncurses_napms — Fait une pause
    • ncurses_new_panel — Crée un nouveau conteneur et l'associe à une fenêtre
    • ncurses_newpad — Crée un nouveau pad (fenêtre)
    • ncurses_newwin — Crée une nouvelle fenêtre
    • ncurses_nl — Convertit les nouvelles lignes et retours chariot en sauts de ligne
    • ncurses_nocbreak — Passe le terminal en mode cooked
    • ncurses_noecho — Désactive l'écho clavier
    • ncurses_nonl — Ne convertit par les nouvelles lignes et retours chariot en sauts de ligne
    • ncurses_noqiflush — Ne vide pas les buffers sur réception des caractères de signaux
    • ncurses_noraw — Déconfigure le mode brut du terminal
    • ncurses_pair_content — Retourne les couleurs de fond et d'affichage d'une paire
    • ncurses_panel_above — Retourne le conteneur au-dessus du conteneur
    • ncurses_panel_below — Retourne le conteneur sous le conteneur
    • ncurses_panel_window — Retourne la fenêtre associée avec un conteneur
    • ncurses_pnoutrefresh — Copie une région depuis un pad dans un écran virtuel
    • ncurses_prefresh — Copie une région depuis un pad dans l'écran virtuel
    • ncurses_putp — Applique l'information d'espacement à la chaîne et l'affiche
    • ncurses_qiflush — Vide les buffers après détection d'un caractère de signal
    • ncurses_raw — Passe le terminal en mode brut (raw)
    • ncurses_refresh — Rafraîchit l'écran
    • ncurses_replace_panel — Remplace la fenêtre associée à un conteneur
    • ncurses_reset_prog_mode — Restaure le mode prog sauvé par def_prog_mode
    • ncurses_reset_shell_mode — Restaure le mode shell, mode sauvé par def_shell_mode
    • ncurses_resetty — Rétablit le terminal sauvé
    • ncurses_savetty — Sauve l'état du terminal
    • ncurses_scr_dump — Sauve un écran dans un fichier
    • ncurses_scr_init — Initialise un écran depuis un fichier de sauvegarde
    • ncurses_scr_restore — Rétablit un écran depuis un fichier de sauvegarde
    • ncurses_scr_set — Configure un écran depuis un fichier de sauvegarde
    • ncurses_scrl — Scrolle le contenu de la fenêtre vers le haut ou le bas, sans changer la position courante
    • ncurses_show_panel — Place un conteneur invisible en haut de la pile, pour le rendre visible
    • ncurses_slk_attr — Retourne l'attribut de la clé soft label courante
    • ncurses_slk_attroff — Désactive l'attribut donné pour les étiquettes des function-key (fonctions clés)
    • ncurses_slk_attron — Active l'attribut donné pour les étiquettes des function-key (fonctions clés)
    • ncurses_slk_attrset — Définit les attributs donnés à une étiquette function-key
    • ncurses_slk_clear — Efface les soft labels de l'écran
    • ncurses_slk_color — Configure la couleur des clés soft label
    • ncurses_slk_init — Initialise les fonctions de clés soft label
    • ncurses_slk_noutrefresh — Copie toutes les clés soft label à l'écran virtuel
    • ncurses_slk_refresh — Copie les clés soft label à l'écran
    • ncurses_slk_restore — Rétablit les clés soft label
    • ncurses_slk_set — Modifie les étiquettes de clé de fonction (function key labels)
    • ncurses_slk_touch — Force l'affichage lorsque ncurses_slk_noutrefresh est utilisé
    • ncurses_standend — Cesse l'utilisation de l'attribut 'standout'
    • ncurses_standout — Commence l'utilisation de l'attribut 'standout'
    • ncurses_start_color — Active les couleurs
    • ncurses_termattrs — Retourne toutes les options supportées par le terminal, combinées ensemble par l'opérateur OR
    • ncurses_termname — Retourne le nom court du terminal
    • ncurses_timeout — Configure le temps d'expiration des séquences clavier spéciales
    • ncurses_top_panel — Place un conteneur visible sur le haut de la pile
    • ncurses_typeahead — Spécifie un autre descripteur de fichier pour la vérification à la volée des données saisies
    • ncurses_ungetch — Replace un caractère dans la queue d'entrée
    • ncurses_ungetmouse — Ajoute un événement souris dans la queue
    • ncurses_update_panels — Rafraîchit l'écran virtuel pour prendre en compte les relations entre les conteneurs de la pile
    • ncurses_use_default_colors — Assigne la couleur de terminal pour l'index -1
    • ncurses_use_env — Contrôle l'utilisation des informations d'environnement concernant la taille du terminal
    • ncurses_use_extended_names — Contrôle l'utilisation des noms étendus dans les descriptions terminfo
    • ncurses_vidattr — Affiche la chaîne sur un terminal dans le mode d'attribut vidéo
    • ncurses_vline — Dessine une ligne verticale à la position courante en utilisant un caractère donné, pour une taille donnée
    • ncurses_waddch — Ajoute un caractère à la position courante, dans une fenêtre, et avance le curseur
    • ncurses_waddstr — Affiche le texte à la position courante dans la fenêtre
    • ncurses_wattroff — Désactive les attributs d'une fenêtre
    • ncurses_wattron — Efface les attributs de la fenêtre
    • ncurses_wattrset — Modifie les attributs d'une fenêtre
    • ncurses_wborder — Dessine le bord d'une fenêtre avec un caractère qualifié
    • ncurses_wclear — Efface la fenêtre
    • ncurses_wcolor_set — Modifie les paires de couleurs de la fenêtre
    • ncurses_werase — Efface le contenu de la fenêtre
    • ncurses_wgetch — Lit un caractère depuis le clavier (fenêtre)
    • ncurses_whline — Dessine une ligne horizontale à partir de la position courante, avec un caractère qualifié, et d'une taille maximale
    • ncurses_wmouse_trafo — Transforme les coordonnées d'une fenêtre
    • ncurses_wmove — Déplace la position d'affichage de la fenêtre
    • ncurses_wnoutrefresh — Copie la fenêtre dans l'écran virtuel
    • ncurses_wrefresh — Rafraîchit la fenêtre sur l'écran du terminal
    • ncurses_wstandend — Termine le mode standout de la fenêtre
    • ncurses_wstandout — Passe une fenêtre en mode standout
    • ncurses_wvline — Dessine une ligne verticale dans une fenêtre, à la position courante, en utilisant un caractère qualifié, avec une taille maximale
newt_win_ternary
Introduction
Extensions spécifiques à la ligne de commande


Introduction

ncurses (new curses, les nouveaux curseurs) sont une émulation libre des curseurs du System V Rel 4.0 (et plus récente). Ils utilisent le format terminfo, supportent les pavés numériques, les couleurs, les colorations multiples, les caractères de formulaire et les touches de fonctions. De par la nature interactive de cette bibliothèque, il est hors de question de l'utiliser pour écrire des applications pour le Web mais, par contre, elle peut être très intéressante pour écrire des scripts en ligne de commande.

Les fonctionnalités disponibles, telles que les couleurs, dépendent du terminal que vous utilisez. Utilisez les fonctions telles que ncurses_has_colors(), ncurses_can_change_color() et ncurses_has_ic() pour vérifier les capacités du votre.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0.

Ncurses est disponible sur les plates-formes suivantes :

  • AIX
  • BeOS
  • BSD variants (FreeBSD, NetBSD, OpenBSD)
  • Cygwin
  • Digital Unix (aka OSF1)
  • GNU/Linux
  • HPUX
  • IRIX64
  • Mac OS X
  • OS/2
  • QNX
  • SCO OpenServer
  • Solaris
  • Tru64

Ncurses
Installation/Configuration
Ncurses


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Ncurses


Pré-requis

Vous devez disposer des bibliothèques ncurses et des fichiers d'en-têtes. Téléchargez la dernière version sur le site de » ftp://ftp.gnu.org/pub/gnu/ncurses/ ou sur un miroir GNU.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ncurses.

Le support des caractères CRT (ncursesw) a été ajouté en version 1.0.1 de cette extension PECL.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit les ressources window, panel et pad.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Sommaire

  • Codes d'erreurs ncurses
  • Couleurs
  • Touches
  • Souris

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Types de ressources
Codes d'erreurs ncurses
Ncurses


Codes d'erreurs ncurses

En cas d'erreur, les fonctions ncurses retournent -1. Certaines fonctions retourne 0 en cas de succès. Voyez les documentations associées pour plus de détails.

Constantes pré-définies
Couleurs
Constantes pré-définies


Couleurs

Constantes de couleurs ncurses
Constante | Signification
NCURSES_COLOR_BLACK | Pas de couleur
NCURSES_COLOR_WHITE | blanc
NCURSES_COLOR_RED | rouge : supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_GREEN | vert : supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_YELLOW | jaune : supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_BLUE | bleu : supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_CYAN | cyan : supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_MAGENTA | magenta : supporté lorsque le terminal est en mode couleurs
Codes d'erreurs ncurses
Touches
Constantes pré-définies


Touches

Constantes de touches ncurses
Constante | Signification
NCURSES_KEY_F0 - NCURSES_KEY_F64 | Touches de fonctions F1 : F64
NCURSES_KEY_DOWN | flèche vers le bas
NCURSES_KEY_UP | flèche vers le haut
NCURSES_KEY_LEFT | flèche vers la gauche
NCURSES_KEY_RIGHT | flèche vers la droite
NCURSES_KEY_HOME | touche home (vers le haut + flèche vers la gauche)
NCURSES_KEY_BACKSPACE | retour en arrière
NCURSES_KEY_DL | efface une ligne
NCURSES_KEY_IL | insère une ligne
NCURSES_KEY_DC | efface un caractère
NCURSES_KEY_IC | insère un caractère, ou bien passe en mode insertion
NCURSES_KEY_EIC | termine le mode insertion
NCURSES_KEY_CLEAR | efface l'écran
NCURSES_KEY_EOS | efface l'écran jusqu'en bas
NCURSES_KEY_EOL | efface l'écran jusqu'à la fin de la ligne
NCURSES_KEY_SF | scrolle une ligne vers le bas
NCURSES_KEY_SR | scrolle une ligne vers le haut
NCURSES_KEY_NPAGE | page suivante
NCURSES_KEY_PPAGE | page précédente
NCURSES_KEY_STAB | place une tabulation
NCURSES_KEY_CTAB | supprime une tabulation
NCURSES_KEY_CATAB | supprime toutes les tabulations
NCURSES_KEY_SRESET | remise à zéro partielle
NCURSES_KEY_RESET | remise à zéro totale
NCURSES_KEY_PRINT | imprime
NCURSES_KEY_LL | inférieur gauche (sur le pavé numérique)
NCURSES_KEY_A1 | supérieur gauche (sur le pavé numérique)
NCURSES_KEY_A3 | supérieur droit (sur le pavé numérique)
NCURSES_KEY_B2 | centre (sur le pavé numérique)
NCURSES_KEY_C1 | inférieur gauche (sur le pavé numérique)
NCURSES_KEY_C3 | inférieur droit (sur le pavé numérique)
NCURSES_KEY_BTAB | tabulation arrière
NCURSES_KEY_BEG | début
NCURSES_KEY_CANCEL | annule
NCURSES_KEY_CLOSE | ferme
NCURSES_KEY_COMMAND | commande
NCURSES_KEY_COPY | copie
NCURSES_KEY_CREATE | crée
NCURSES_KEY_END | fin
NCURSES_KEY_EXIT | quitte
NCURSES_KEY_FIND | trouve
NCURSES_KEY_HELP | aide
NCURSES_KEY_MARK | marque
NCURSES_KEY_MESSAGE | message
NCURSES_KEY_MOVE | déplace
NCURSES_KEY_NEXT | suivant
NCURSES_KEY_OPEN | ouvre
NCURSES_KEY_OPTIONS | options
NCURSES_KEY_PREVIOUS | précédent
NCURSES_KEY_REDO | refaire
NCURSES_KEY_REFERENCE | référence
NCURSES_KEY_REFRESH | rafraîchis
NCURSES_KEY_REPLACE | replace
NCURSES_KEY_RESTART | redémarre
NCURSES_KEY_RESUME | recommence
NCURSES_KEY_SAVE | sauve
NCURSES_KEY_SBEG | shift et début
NCURSES_KEY_SCANCEL | shift et annule
NCURSES_KEY_SCOMMAND | shift et commande
NCURSES_KEY_SCOPY | shift et copie
NCURSES_KEY_SCREATE | shift et crée
NCURSES_KEY_SDC | shift et efface un caractère
NCURSES_KEY_SDL | shift et efface une ligne
NCURSES_KEY_SELECT | sélectionne
NCURSES_KEY_SEND | shift et fin
NCURSES_KEY_SEOL | shift et fin de ligne
NCURSES_KEY_SEXIT | shift et quitte
NCURSES_KEY_SFIND | shift et trouve
NCURSES_KEY_SHELP | shift et aide
NCURSES_KEY_SHOME | shift et home
NCURSES_KEY_SIC | shift et entrée
NCURSES_KEY_SLEFT | shift et flèche vers la gauche
NCURSES_KEY_SMESSAGE | shift et message
NCURSES_KEY_SMOVE | shift et déplace
NCURSES_KEY_SNEXT | shift et suivant
NCURSES_KEY_SOPTIONS | shift et options
NCURSES_KEY_SPREVIOUS | shift et précédent
NCURSES_KEY_SPRINT | shift et imprime
NCURSES_KEY_SREDO | shift et refait
NCURSES_KEY_SREPLACE | shift et remplace
NCURSES_KEY_SRIGHT | shift et flèche vers la droite
NCURSES_KEY_SRSUME | shift et recommence
NCURSES_KEY_SSAVE | shift et sauve
NCURSES_KEY_SSUSPEND | shift et suspend
NCURSES_KEY_UNDO | défait
NCURSES_KEY_MOUSE | un événement souris est survenu
NCURSES_KEY_MAX | valeur maximale de clé
Couleurs
Souris
Constantes pré-définies


Souris

Constantes de souris
Constante | Signification
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | bouton (1-4) relâché
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | bouton (1-4) pressé
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | bouton (1-4) cliqué
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | bouton (1-4) double cliqué
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | bouton (1-4) triple cliqué
NCURSES_BUTTON_CTRL | Contrôle pressé durant le clic
NCURSES_BUTTON_SHIFT | shift pressé durant le clic
NCURSES_BUTTON_ALT | Alt pressé durant le clic
NCURSES_ALL_MOUSE_EVENTS | indique tous les événements souris
NCURSES_REPORT_MOUSE_POSITION | indique la position de la souris
Touches
Fonctions Ncurses
Constantes pré-définies


Fonctions Ncurses

Sommaire

  • ncurses_addch — Ajoute un caractère à la position courante et avance le curseur
  • ncurses_addchnstr — Ajoute une chaîne de taille donnée à la position courante
  • ncurses_addchstr — Ajoute une chaîne à la position courante
  • ncurses_addnstr — Ajoute une chaîne à la position courante
  • ncurses_addstr — Affiche du texte à la position courante
  • ncurses_assume_default_colors — Définit la couleur 0
  • ncurses_attroff — Désactive les attributs donnés
  • ncurses_attron — Active les attributs fournis
  • ncurses_attrset — Modifie les attributs donnés
  • ncurses_baudrate — Retourne le baudrate du terminal
  • ncurses_beep — Fait beeper le terminal
  • ncurses_bkgd — Définit les propriétés de fond d'écran pour le terminal
  • ncurses_bkgdset — Définit le fond d'écran
  • ncurses_border — Dessine un bord autour de l'écran avec les caractères données
  • ncurses_bottom_panel — Place un conteneur visible en bas de la pile
  • ncurses_can_change_color — Vérifie si le terminal peut changer de couleur
  • ncurses_cbreak — Change la bufferisation d'entrée
  • ncurses_clear — Efface l'écran
  • ncurses_clrtobot — Efface l'écran depuis la position courante jusqu'au bas de l'écran
  • ncurses_clrtoeol — Efface l'écran depuis la position courante jusqu'à la fin de la ligne
  • ncurses_color_content — Lit la valeur RGB d'une couleur
  • ncurses_color_set — Modifie la couleur de fond et de devant
  • ncurses_curs_set — Modifie l'état du curseur
  • ncurses_def_prog_mode — Sauve le mode du terminal
  • ncurses_def_shell_mode — Sauve le mode de terminal (shell)
  • ncurses_define_key — Définit un code de clé (keycode)
  • ncurses_del_panel — Retire un conteneur de la pile et l'efface (mais pas la fenêtre associée)
  • ncurses_delay_output — Retarde l'affichage sur les terminaux utilisant des caractères de remplissage
  • ncurses_delch — Efface le caractère courant et décale le reste de la ligne vers la gauche
  • ncurses_deleteln — Efface la ligne courante, et monte l'écran d'une ligne
  • ncurses_delwin — Efface une fenêtre ncurses
  • ncurses_doupdate — Affiche tout ce qui est prêt, et rafraîchit l'écran
  • ncurses_echo — Active l'écho d'entrée clavier
  • ncurses_echochar — Affiche un caractère et rafraîchit l'écran
  • ncurses_end — Cesse l'utilisation de ncurses et efface l'écran
  • ncurses_erase — Efface l'écran du terminal
  • ncurses_erasechar — Lit le caractère qui se fait effacer
  • ncurses_filter — Définit LINES pour iniscr() et newterm() à 1
  • ncurses_flash — Fait flasher le terminal (visual bell)
  • ncurses_flushinp — Vide le buffer d'entrée du clavier
  • ncurses_getch — Lit un caractère sur le clavier
  • ncurses_getmaxyx — Retourne la taille d'une fenêtre
  • ncurses_getmouse — Lit les événements souris
  • ncurses_getyx — Retourne la position courante du curseur pour une fenêtre
  • ncurses_halfdelay — Met le terminal en mode semi-retardé
  • ncurses_has_colors — Vérifie que le terminal supporte les couleurs
  • ncurses_has_ic — Vérifie les capacités d'insertion et d'effacement
  • ncurses_has_il — Vérifie les capacités d'insertion et d'effacement
  • ncurses_has_key — Vérifie la présence des touches de fonctions sur le clavier
  • ncurses_hide_panel — Retire un conteneur de la pile, pour le rendre invisible
  • ncurses_hline — Dessine une ligne horizontale à la position courante, en utilisant un caractère et une taille maximale
  • ncurses_inch — Lit le caractère et ses attributs à la position courante
  • ncurses_init_color — Configure une nouvelle valeur RGB pour une couleur
  • ncurses_init_pair — Alloue une paire de couleur
  • ncurses_init — Initialise ncurses
  • ncurses_insch — Insère un caractère et décale le reste de la ligne vers la droite, y compris le caractère courant
  • ncurses_insdelln — Insère des lignes devant la ligne courante en scrollant vers le bas (des nombres négatifs donneront un scroll vers le haut)
  • ncurses_insertln — Insère une ligne et décale le reste de l'écran vers le bas
  • ncurses_insstr — Insère une chaîne à la position courante, et décale le reste de la chaîne à droite
  • ncurses_instr — Lit une chaîne depuis le terminal
  • ncurses_isendwin — Vérifie si ncurses est en mode endwin
  • ncurses_keyok — Active ou désactive un code de clé (keycode)
  • ncurses_keypad — Active ou désactive le keypad
  • ncurses_killchar — Retourne la ligne du caractère actuellement supprimé
  • ncurses_longname — Retourne la description du terminal
  • ncurses_meta — Active/désactive les informations de méta clé 8-bits
  • ncurses_mouse_trafo — Transforme les coordonnées
  • ncurses_mouseinterval — Configure les délais entre les clics de souris
  • ncurses_mousemask — Configure les événements de souris à surveiller
  • ncurses_move_panel — Déplace un conteneur pour que son coin supérieur gauche soit aux coordonnées [startx, starty]
  • ncurses_move — Déplace la position d'affichage
  • ncurses_mvaddch — Déplace la position courante et ajoute un caractère
  • ncurses_mvaddchnstr — Déplace la position et ajoute la chaîne attribuée avec la taille donnée
  • ncurses_mvaddchstr — Déplace la position et ajoute une chaîne attribuée
  • ncurses_mvaddnstr — Déplace la position et ajoute une chaîne de taille donnée
  • ncurses_mvaddstr — Déplace la position et ajoute une chaîne
  • ncurses_mvcur — Déplace immédiatement le curseur
  • ncurses_mvdelch — Déplace la position et efface le caractère, puis décale le reste de la ligne à gauche
  • ncurses_mvgetch — Déplace la position et lit le caractère à la nouvelle position
  • ncurses_mvhline — Choisi une nouvelle position et dessine une ligne horizontale avec le caractère donné, et de taille maximale donnée
  • ncurses_mvinch — Déplace la position et lit le caractère à la nouvelle position
  • ncurses_mvvline — Modifie la position et dessine une ligne verticale avec le caractère donné, de taille maximale donnée
  • ncurses_mvwaddstr — Ajoute une chaîne à une nouvelle position dans la fenêtre
  • ncurses_napms — Fait une pause
  • ncurses_new_panel — Crée un nouveau conteneur et l'associe à une fenêtre
  • ncurses_newpad — Crée un nouveau pad (fenêtre)
  • ncurses_newwin — Crée une nouvelle fenêtre
  • ncurses_nl — Convertit les nouvelles lignes et retours chariot en sauts de ligne
  • ncurses_nocbreak — Passe le terminal en mode cooked
  • ncurses_noecho — Désactive l'écho clavier
  • ncurses_nonl — Ne convertit par les nouvelles lignes et retours chariot en sauts de ligne
  • ncurses_noqiflush — Ne vide pas les buffers sur réception des caractères de signaux
  • ncurses_noraw — Déconfigure le mode brut du terminal
  • ncurses_pair_content — Retourne les couleurs de fond et d'affichage d'une paire
  • ncurses_panel_above — Retourne le conteneur au-dessus du conteneur
  • ncurses_panel_below — Retourne le conteneur sous le conteneur
  • ncurses_panel_window — Retourne la fenêtre associée avec un conteneur
  • ncurses_pnoutrefresh — Copie une région depuis un pad dans un écran virtuel
  • ncurses_prefresh — Copie une région depuis un pad dans l'écran virtuel
  • ncurses_putp — Applique l'information d'espacement à la chaîne et l'affiche
  • ncurses_qiflush — Vide les buffers après détection d'un caractère de signal
  • ncurses_raw — Passe le terminal en mode brut (raw)
  • ncurses_refresh — Rafraîchit l'écran
  • ncurses_replace_panel — Remplace la fenêtre associée à un conteneur
  • ncurses_reset_prog_mode — Restaure le mode prog sauvé par def_prog_mode
  • ncurses_reset_shell_mode — Restaure le mode shell, mode sauvé par def_shell_mode
  • ncurses_resetty — Rétablit le terminal sauvé
  • ncurses_savetty — Sauve l'état du terminal
  • ncurses_scr_dump — Sauve un écran dans un fichier
  • ncurses_scr_init — Initialise un écran depuis un fichier de sauvegarde
  • ncurses_scr_restore — Rétablit un écran depuis un fichier de sauvegarde
  • ncurses_scr_set — Configure un écran depuis un fichier de sauvegarde
  • ncurses_scrl — Scrolle le contenu de la fenêtre vers le haut ou le bas, sans changer la position courante
  • ncurses_show_panel — Place un conteneur invisible en haut de la pile, pour le rendre visible
  • ncurses_slk_attr — Retourne l'attribut de la clé soft label courante
  • ncurses_slk_attroff — Désactive l'attribut donné pour les étiquettes des function-key (fonctions clés)
  • ncurses_slk_attron — Active l'attribut donné pour les étiquettes des function-key (fonctions clés)
  • ncurses_slk_attrset — Définit les attributs donnés à une étiquette function-key
  • ncurses_slk_clear — Efface les soft labels de l'écran
  • ncurses_slk_color — Configure la couleur des clés soft label
  • ncurses_slk_init — Initialise les fonctions de clés soft label
  • ncurses_slk_noutrefresh — Copie toutes les clés soft label à l'écran virtuel
  • ncurses_slk_refresh — Copie les clés soft label à l'écran
  • ncurses_slk_restore — Rétablit les clés soft label
  • ncurses_slk_set — Modifie les étiquettes de clé de fonction (function key labels)
  • ncurses_slk_touch — Force l'affichage lorsque ncurses_slk_noutrefresh est utilisé
  • ncurses_standend — Cesse l'utilisation de l'attribut 'standout'
  • ncurses_standout — Commence l'utilisation de l'attribut 'standout'
  • ncurses_start_color — Active les couleurs
  • ncurses_termattrs — Retourne toutes les options supportées par le terminal, combinées ensemble par l'opérateur OR
  • ncurses_termname — Retourne le nom court du terminal
  • ncurses_timeout — Configure le temps d'expiration des séquences clavier spéciales
  • ncurses_top_panel — Place un conteneur visible sur le haut de la pile
  • ncurses_typeahead — Spécifie un autre descripteur de fichier pour la vérification à la volée des données saisies
  • ncurses_ungetch — Replace un caractère dans la queue d'entrée
  • ncurses_ungetmouse — Ajoute un événement souris dans la queue
  • ncurses_update_panels — Rafraîchit l'écran virtuel pour prendre en compte les relations entre les conteneurs de la pile
  • ncurses_use_default_colors — Assigne la couleur de terminal pour l'index -1
  • ncurses_use_env — Contrôle l'utilisation des informations d'environnement concernant la taille du terminal
  • ncurses_use_extended_names — Contrôle l'utilisation des noms étendus dans les descriptions terminfo
  • ncurses_vidattr — Affiche la chaîne sur un terminal dans le mode d'attribut vidéo
  • ncurses_vline — Dessine une ligne verticale à la position courante en utilisant un caractère donné, pour une taille donnée
  • ncurses_waddch — Ajoute un caractère à la position courante, dans une fenêtre, et avance le curseur
  • ncurses_waddstr — Affiche le texte à la position courante dans la fenêtre
  • ncurses_wattroff — Désactive les attributs d'une fenêtre
  • ncurses_wattron — Efface les attributs de la fenêtre
  • ncurses_wattrset — Modifie les attributs d'une fenêtre
  • ncurses_wborder — Dessine le bord d'une fenêtre avec un caractère qualifié
  • ncurses_wclear — Efface la fenêtre
  • ncurses_wcolor_set — Modifie les paires de couleurs de la fenêtre
  • ncurses_werase — Efface le contenu de la fenêtre
  • ncurses_wgetch — Lit un caractère depuis le clavier (fenêtre)
  • ncurses_whline — Dessine une ligne horizontale à partir de la position courante, avec un caractère qualifié, et d'une taille maximale
  • ncurses_wmouse_trafo — Transforme les coordonnées d'une fenêtre
  • ncurses_wmove — Déplace la position d'affichage de la fenêtre
  • ncurses_wnoutrefresh — Copie la fenêtre dans l'écran virtuel
  • ncurses_wrefresh — Rafraîchit la fenêtre sur l'écran du terminal
  • ncurses_wstandend — Termine le mode standout de la fenêtre
  • ncurses_wstandout — Passe une fenêtre en mode standout
  • ncurses_wvline — Dessine une ligne verticale dans une fenêtre, à la position courante, en utilisant un caractère qualifié, avec une taille maximale
Souris
ncurses_addch
Ncurses


Ajoute un caractère à la position courante et avance le curseur

Fonctions Ncurses
ncurses_addchnstr
Fonctions Ncurses
PHP Manual

ncurses_addch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addch — Ajoute un caractère à la position courante et avance le curseur

Description

int ncurses_addch ( int $ch )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

ch

Fonctions Ncurses
ncurses_addchnstr
Fonctions Ncurses


Ajoute une chaîne de taille donnée à la position courante

ncurses_addch
ncurses_addchstr
Fonctions Ncurses
PHP Manual

ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchnstr — Ajoute une chaîne de taille donnée à la position courante

Description

int ncurses_addchnstr ( string $s , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

s

n

ncurses_addch
ncurses_addchstr
Fonctions Ncurses


Ajoute une chaîne à la position courante

ncurses_addchnstr
ncurses_addnstr
Fonctions Ncurses
PHP Manual

ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addchstr — Ajoute une chaîne à la position courante

Description

int ncurses_addchstr ( string $s )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

s

ncurses_addchnstr
ncurses_addnstr
Fonctions Ncurses


Ajoute une chaîne à la position courante

ncurses_addchstr
ncurses_addstr
Fonctions Ncurses
PHP Manual

ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addnstr — Ajoute une chaîne à la position courante

Description

int ncurses_addnstr ( string $s , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

s

n

ncurses_addchstr
ncurses_addstr
Fonctions Ncurses


Affiche du texte à la position courante

ncurses_addnstr
ncurses_assume_default_colors
Fonctions Ncurses
PHP Manual

ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_addstr — Affiche du texte à la position courante

Description

int ncurses_addstr ( string $text )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

text

ncurses_addnstr
ncurses_assume_default_colors
Fonctions Ncurses


Définit la couleur 0

ncurses_addstr
ncurses_attroff
Fonctions Ncurses
PHP Manual

ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_assume_default_colors — Définit la couleur 0

Description

int ncurses_assume_default_colors ( int $fg , int $bg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

fg

bg

ncurses_addstr
ncurses_attroff
Fonctions Ncurses


Désactive les attributs donnés

ncurses_assume_default_colors
ncurses_attron
Fonctions Ncurses
PHP Manual

ncurses_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attroff — Désactive les attributs donnés

Description

int ncurses_attroff ( int $attributes )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

attributes

ncurses_assume_default_colors
ncurses_attron
Fonctions Ncurses


Active les attributs fournis

ncurses_attroff
ncurses_attrset
Fonctions Ncurses
PHP Manual

ncurses_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attron — Active les attributs fournis

Description

int ncurses_attron ( int $attributes )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

attributes

ncurses_attroff
ncurses_attrset
Fonctions Ncurses


Modifie les attributs donnés

ncurses_attron
ncurses_baudrate
Fonctions Ncurses
PHP Manual

ncurses_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_attrset — Modifie les attributs donnés

Description

int ncurses_attrset ( int $attributes )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

attributes

ncurses_attron
ncurses_baudrate
Fonctions Ncurses


Retourne le baudrate du terminal

ncurses_attrset
ncurses_beep
Fonctions Ncurses
PHP Manual

ncurses_baudrate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_baudrate — Retourne le baudrate du terminal

Description

int ncurses_baudrate ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_attrset
ncurses_beep
Fonctions Ncurses


Fait beeper le terminal

ncurses_baudrate
ncurses_bkgd
Fonctions Ncurses
PHP Manual

ncurses_beep

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_beep — Fait beeper le terminal

Description

int ncurses_beep ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

ncurses_beep() envoie une alerte audible (bell) et si ce n'est pas possible, fait flasher l'écran.

Voir aussi

  • ncurses_flash() - Fait flasher le terminal (visual bell)

ncurses_baudrate
ncurses_bkgd
Fonctions Ncurses


Définit les propriétés de fond d'écran pour le terminal

ncurses_beep
ncurses_bkgdset
Fonctions Ncurses
PHP Manual

ncurses_bkgd

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgd — Définit les propriétés de fond d'écran pour le terminal

Description

int ncurses_bkgd ( int $attrchar )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

attrchar

ncurses_beep
ncurses_bkgdset
Fonctions Ncurses


Définit le fond d'écran

ncurses_bkgd
ncurses_border
Fonctions Ncurses
PHP Manual

ncurses_bkgdset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bkgdset — Définit le fond d'écran

Description

void ncurses_bkgdset ( int $attrchar )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

attrchar

ncurses_bkgd
ncurses_border
Fonctions Ncurses


Dessine un bord autour de l'écran avec les caractères données

ncurses_bkgdset
ncurses_bottom_panel
Fonctions Ncurses
PHP Manual

ncurses_border

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_border — Dessine un bord autour de l'écran avec les caractères données

Description

int ncurses_border ( int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Dessine les lignes spécifiées et les coins autour de la fenêtre principale.

Utilisez ncurses_wborder() pour les bordures autour de la fenêtre.

Liste de paramètres

Chaque paramètre attend 0 pour dessiner la ligne et 1 pour ne pas le faire.

left

right

top

bottom

tl_corner

Coin en haut à gauche

tr_corner

Coin en haut à droite

bl_corner

Coin en bas à gauche

br_corner

Coin en bas à droite

Voir aussi

  • ncurses_wborder() - Dessine le bord d'une fenêtre avec un caractère qualifié

ncurses_bkgdset
ncurses_bottom_panel
Fonctions Ncurses


Place un conteneur visible en bas de la pile

ncurses_border
ncurses_can_change_color
Fonctions Ncurses
PHP Manual

ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_bottom_panel — Place un conteneur visible en bas de la pile

Description

int ncurses_bottom_panel ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

ncurses_border
ncurses_can_change_color
Fonctions Ncurses


Vérifie si le terminal peut changer de couleur

ncurses_bottom_panel
ncurses_cbreak
Fonctions Ncurses
PHP Manual

ncurses_can_change_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_can_change_color — Vérifie si le terminal peut changer de couleur

Description

bool ncurses_can_change_color ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie si le terminal supporte les couleurs et si on peut peut changer ces couleurs à l'aide de la fonction ncurses_init_color(). ncurses doit être initialisé avec ncurses_init() avant d'appeler cette fonction.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si on peut changer les couleurs du terminal, et FALSE sinon.

Voir aussi

  • ncurses_has_colors() - Vérifie que le terminal supporte les couleurs
  • ncurses_init_color() - Configure une nouvelle valeur RGB pour une couleur
  • ncurses_start_color() - Active les couleurs

ncurses_bottom_panel
ncurses_cbreak
Fonctions Ncurses


Change la bufferisation d'entrée

ncurses_can_change_color
ncurses_clear
Fonctions Ncurses
PHP Manual

ncurses_cbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_cbreak — Change la bufferisation d'entrée

Description

bool ncurses_cbreak ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Désactive la bufferisation de ligne, et le traitement des caractères (les interruptions et le flux de caractères de contrôle sont inchangés), rendant les caractères tapés par l'utilisateur directement accessibles au programme.

Valeurs de retour

Retourne TRUE en cas de succès, et NCURSES_ERR en cas d'erreur.

Voir aussi

  • ncurses_nocbreak() - Passe le terminal en mode cooked

ncurses_can_change_color
ncurses_clear
Fonctions Ncurses


Efface l'écran

ncurses_cbreak
ncurses_clrtobot
Fonctions Ncurses
PHP Manual

ncurses_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clear — Efface l'écran

Description

bool ncurses_clear ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Efface totalement l'écran sans configurer les blancs.

Note : ncurses_clear() efface totalement l'écran sans configurer les blancs, qui représentent la couleur de fond d'écran. Pour effacer le fond d'écran avec les blancs, utilisez plutôt ncurses_erase().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ncurses_erase() - Efface l'écran du terminal

ncurses_cbreak
ncurses_clrtobot
Fonctions Ncurses


Efface l'écran depuis la position courante jusqu'au bas de l'écran

ncurses_clear
ncurses_clrtoeol
Fonctions Ncurses
PHP Manual

ncurses_clrtobot

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtobot — Efface l'écran depuis la position courante jusqu'au bas de l'écran

Description

bool ncurses_clrtobot ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Efface toutes les lignes de l'écran depuis le curseur jusqu'à la fin de l'écran. Les blancs qui sont créés avec la fonction ncurses_clrtobot() ont le rendu courant du fond d'écran.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ncurses_clear() - Efface l'écran
  • ncurses_clrtoeol() - Efface l'écran depuis la position courante jusqu'à la fin de la ligne

ncurses_clear
ncurses_clrtoeol
Fonctions Ncurses


Efface l'écran depuis la position courante jusqu'à la fin de la ligne

ncurses_clrtobot
ncurses_color_content
Fonctions Ncurses
PHP Manual

ncurses_clrtoeol

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_clrtoeol — Efface l'écran depuis la position courante jusqu'à la fin de la ligne

Description

bool ncurses_clrtoeol ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Efface la ligne courante depuis la position courante du curseur jusqu'à la fin. Les blancs qui sont créés avec la fonction ncurses_clrtoeol() ont le rendu courant du fond d'écran.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ncurses_clear() - Efface l'écran
  • ncurses_clrtobot() - Efface l'écran depuis la position courante jusqu'au bas de l'écran

ncurses_clrtobot
ncurses_color_content
Fonctions Ncurses


Lit la valeur RGB d'une couleur

ncurses_clrtoeol
ncurses_color_set
Fonctions Ncurses
PHP Manual

ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_content — Lit la valeur RGB d'une couleur

Description

int ncurses_color_content ( int $color , int &$r , int &$g , int &$b )

Lit les composants rouge, vert et bleu d'une couleur. Les capacités de gestion des couleurs du terminal doivent avoir été initialisées avec ncurses_start_color() avant d'appeler cette fonction.

Liste de paramètres

color

Le numéero de la couleur dont il faut lire les composants. Cela peut être une des constantes de couleurs prédéfinies.

r

Une variable passée par référence, pour recevoir le composant rouge de la couleur demandée. La valeur retournée sera entre 0 et 1000.

g

Une variable passée par référence, pour recevoir le composant vert de la couleur demandée. La valeur retournée sera entre 0 et 1000.

b

Une variable passée par référence, pour recevoir le composant bleu de la couleur demandée. La valeur retournée sera entre 0 et 1000.

Valeurs de retour

Retourne -1 si la fonction a réussi, et 0 si ncurses ou la gestion des couleurs du terminal n'ont pas été initialisées.

Voir aussi

  • ncurses_init_color() - Configure une nouvelle valeur RGB pour une couleur
  • ncurses_start_color() - Active les couleurs

ncurses_clrtoeol
ncurses_color_set
Fonctions Ncurses


Modifie la couleur de fond et de devant

ncurses_color_content
ncurses_curs_set
Fonctions Ncurses
PHP Manual

ncurses_color_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_color_set — Modifie la couleur de fond et de devant

Description

int ncurses_color_set ( int $pair )

Configure les couleurs actives de fond et d'affichage. Tous les caractères qui seront écrits après l'utilisation de cette fonction utiliseront ces couleurs. Cette fonction a besoin du support des couleurs dans le terminal et de leur initialisation avec ncurses_start_color().

ncurses utilise des paires de couleurs pour spécifier simultanément les deux couleurs. Utilisez ncurses_init_pair() pour définir une paire.

Liste de paramètres

pair

La paire de couleur qui sera utilisée pour définir les couleurs de fond d'écran et d'affichage.

Valeurs de retour

Retourne -1 en cas de succès, et 0 en cas d'échec.

Exemples

Exemple #1 Affichage d'une chaîne avec une couleur donnée à l'écran

<?php
ncurses_init();

// Si le terminal supporte les couleurs, initialisation et activation
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Écriture d'une chaîne à l'écran
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Envoi à l'écran
ncurses_refresh();

ncurses_end();
?>

Voir aussi

  • ncurses_init_pair() - Alloue une paire de couleur
  • ncurses_start_color() - Active les couleurs

ncurses_color_content
ncurses_curs_set
Fonctions Ncurses


Modifie l'état du curseur

ncurses_color_set
ncurses_def_prog_mode
Fonctions Ncurses
PHP Manual

ncurses_curs_set

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_curs_set — Modifie l'état du curseur

Description

int ncurses_curs_set ( int $visibility )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

visibility

ncurses_color_set
ncurses_def_prog_mode
Fonctions Ncurses


Sauve le mode du terminal

ncurses_curs_set
ncurses_def_shell_mode
Fonctions Ncurses
PHP Manual

ncurses_def_prog_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_prog_mode — Sauve le mode du terminal

Description

bool ncurses_def_prog_mode ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Sauve le mode du terminal pour réutilisation (dans les curses) avec la fonction ncurses_reset_prog_mode().

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_reset_prog_mode() - Restaure le mode prog sauvé par def_prog_mode

ncurses_curs_set
ncurses_def_shell_mode
Fonctions Ncurses


Sauve le mode de terminal (shell)

ncurses_def_prog_mode
ncurses_define_key
Fonctions Ncurses
PHP Manual

ncurses_def_shell_mode

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_def_shell_mode — Sauve le mode de terminal (shell)

Description

bool ncurses_def_shell_mode ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Sauve le mode de terminal courant pour qu'il soit réutilisé par le shell (et non pas par curses) avec la fonction ncurses_reset_shell_mode().

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_reset_shell_mode() - Restaure le mode shell, mode sauvé par def_shell_mode

ncurses_def_prog_mode
ncurses_define_key
Fonctions Ncurses


Définit un code de clé (keycode)

ncurses_def_shell_mode
ncurses_del_panel
Fonctions Ncurses
PHP Manual

ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_define_key — Définit un code de clé (keycode)

Description

int ncurses_define_key ( string $definition , int $keycode )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

definition

keycode

ncurses_def_shell_mode
ncurses_del_panel
Fonctions Ncurses


Retire un conteneur de la pile et l'efface (mais pas la fenêtre associée)

ncurses_define_key
ncurses_delay_output
Fonctions Ncurses
PHP Manual

ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_del_panel — Retire un conteneur de la pile et l'efface (mais pas la fenêtre associée)

Description

bool ncurses_del_panel ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

ncurses_define_key
ncurses_delay_output
Fonctions Ncurses


Retarde l'affichage sur les terminaux utilisant des caractères de remplissage

ncurses_del_panel
ncurses_delch
Fonctions Ncurses
PHP Manual

ncurses_delay_output

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delay_output — Retarde l'affichage sur les terminaux utilisant des caractères de remplissage

Description

int ncurses_delay_output ( int $milliseconds )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

milliseconds

ncurses_del_panel
ncurses_delch
Fonctions Ncurses


Efface le caractère courant et décale le reste de la ligne vers la gauche

ncurses_delay_output
ncurses_deleteln
Fonctions Ncurses
PHP Manual

ncurses_delch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delch — Efface le caractère courant et décale le reste de la ligne vers la gauche

Description

bool ncurses_delch ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Efface la caractère sous le curseur. Tous les caractères sont alors décalés vers la gauche sur la même ligne, et le dernier caractère est remplacé par un vide. La position du curseur ne change pas.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_deleteln() - Efface la ligne courante, et monte l'écran d'une ligne

ncurses_delay_output
ncurses_deleteln
Fonctions Ncurses


Efface la ligne courante, et monte l'écran d'une ligne

ncurses_delch
ncurses_delwin
Fonctions Ncurses
PHP Manual

ncurses_deleteln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_deleteln — Efface la ligne courante, et monte l'écran d'une ligne

Description

bool ncurses_deleteln ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Efface la ligne courante, qui est placée sous le curseur. Toutes les lignes sous-jacentes sont alors remontées d'un cran. La ligne du bas est effacée. La position du curseur ne change pas.

Valeurs de retour

Retourne FALSE en cas de succès, et sinon TRUE.

Voir aussi

  • ncurses_delch() - Efface le caractère courant et décale le reste de la ligne vers la gauche

ncurses_delch
ncurses_delwin
Fonctions Ncurses


Efface une fenêtre ncurses

ncurses_deleteln
ncurses_doupdate
Fonctions Ncurses
PHP Manual

ncurses_delwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_delwin — Efface une fenêtre ncurses

Description

bool ncurses_delwin ( resource $window )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_deleteln
ncurses_doupdate
Fonctions Ncurses


Affiche tout ce qui est prêt, et rafraîchit l'écran

ncurses_delwin
ncurses_echo
Fonctions Ncurses
PHP Manual

ncurses_doupdate

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_doupdate — Affiche tout ce qui est prêt, et rafraîchit l'écran

Description

bool ncurses_doupdate ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Compare l'écran mémoire avec l'écran physique, et met à jour l'écran physique. Cette méthode est plus efficace que d'utiliser des rafraîchissements multiples.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ncurses_delwin
ncurses_echo
Fonctions Ncurses


Active l'écho d'entrée clavier

ncurses_doupdate
ncurses_echochar
Fonctions Ncurses
PHP Manual

ncurses_echo

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echo — Active l'écho d'entrée clavier

Description

bool ncurses_echo ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Active le mode écho. Tous les caractères saisis par l'utilisateur sont affichés à l'écran par ncurses_getch().

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE si une erreur survient.

Voir aussi

  • ncurses_noecho() - Désactive l'écho clavier pour désactiver le mode écho.

ncurses_doupdate
ncurses_echochar
Fonctions Ncurses


Affiche un caractère et rafraîchit l'écran

ncurses_echo
ncurses_end
Fonctions Ncurses
PHP Manual

ncurses_echochar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_echochar — Affiche un caractère et rafraîchit l'écran

Description

int ncurses_echochar ( int $character )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

character

ncurses_echo
ncurses_end
Fonctions Ncurses


Cesse l'utilisation de ncurses et efface l'écran

ncurses_echochar
ncurses_erase
Fonctions Ncurses
PHP Manual

ncurses_end

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_end — Cesse l'utilisation de ncurses et efface l'écran

Description

int ncurses_end ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_echochar
ncurses_erase
Fonctions Ncurses


Efface l'écran du terminal

ncurses_end
ncurses_erasechar
Fonctions Ncurses
PHP Manual

ncurses_erase

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erase — Efface l'écran du terminal

Description

bool ncurses_erase ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Remplit le terminal avec des blancs.

Les blancs créés ont la couleur du fond d'écran, configurée avec la fonction ncurses_bkgd().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ncurses_bkgd() - Définit les propriétés de fond d'écran pour le terminal
  • ncurses_clear() - Efface l'écran

ncurses_end
ncurses_erasechar
Fonctions Ncurses


Lit le caractère qui se fait effacer

ncurses_erase
ncurses_filter
Fonctions Ncurses
PHP Manual

ncurses_erasechar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_erasechar — Lit le caractère qui se fait effacer

Description

string ncurses_erasechar ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le caractère qui se fait effacer.

Valeurs de retour

Le caractère effacé, sous la forme d'une chaîne de caractères.

Voir aussi

  • ncurses_killchar() - Retourne la ligne du caractère actuellement supprimé

ncurses_erase
ncurses_filter
Fonctions Ncurses


Définit LINES pour iniscr() et newterm() à 1

ncurses_erasechar
ncurses_flash
Fonctions Ncurses
PHP Manual

ncurses_filter

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_filter — Définit LINES pour iniscr() et newterm() à 1

Description

void ncurses_filter ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_erasechar
ncurses_flash
Fonctions Ncurses


Fait flasher le terminal (visual bell)

ncurses_filter
ncurses_flushinp
Fonctions Ncurses
PHP Manual

ncurses_flash

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flash — Fait flasher le terminal (visual bell)

Description

bool ncurses_flash ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Fait flasher le terminal et si ce n'est pas possible, envoie une alerte sonore (bell).

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_beep() - Fait beeper le terminal

ncurses_filter
ncurses_flushinp
Fonctions Ncurses


Vide le buffer d'entrée du clavier

ncurses_flash
ncurses_getch
Fonctions Ncurses
PHP Manual

ncurses_flushinp

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_flushinp — Vide le buffer d'entrée du clavier

Description

bool ncurses_flushinp ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vide le buffer d'entrée du clavier que votre programme n'a pas encore lu.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

ncurses_flash
ncurses_getch
Fonctions Ncurses


Lit un caractère sur le clavier

ncurses_flushinp
ncurses_getmaxyx
Fonctions Ncurses
PHP Manual

ncurses_getch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getch — Lit un caractère sur le clavier

Description

int ncurses_getch ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_flushinp
ncurses_getmaxyx
Fonctions Ncurses


Retourne la taille d'une fenêtre

ncurses_getch
ncurses_getmouse
Fonctions Ncurses
PHP Manual

ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmaxyx — Retourne la taille d'une fenêtre

Description

void ncurses_getmaxyx ( resource $window , int &$y , int &$x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Place la taille verticale et la taille horizontale de la fenêtre window dans les variables fournies.

Les variables doivent être passées par référence, donc, elles seront modifiées lorsque l'utilisateur change la taille du terminal.

Liste de paramètres

window

La fenêtre mesurée

x

Sera défini pour la largeur de la fenêtre

y

Sera défini pour la hauteur de la fenêtre

Valeurs de retour

Aucune valeur n'est retournée.

ncurses_getch
ncurses_getmouse
Fonctions Ncurses


Lit les événements souris

ncurses_getmaxyx
ncurses_getyx
Fonctions Ncurses
PHP Manual

ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmouse — Lit les événements souris

Description

bool ncurses_getmouse ( array &$mevent )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

ncurses_getmouse() lit les événements souris placés dans la queue.

Liste de paramètres

mevent

Les options d'événements seront placées dans ce paramètre, qui doit être un tableau, passé par référence (voir l'exemple ci-dessous).

En cas de succès, un tableau associatif, contenant les clés suivantes, sera délivré :

  • "id" : Identifiant permettant de distinguer plusieurs périphériques

  • "x" : Position à l'écran, en abscisse relative, et comptée en caractères

  • "y" : Position à l'écran, en ordonnée relative, et comptée en caractères

  • "z" : Actuellement non supporté

  • "mmask" : Action de souris

Valeurs de retour

Retourne FALSE si un événement de souris est actuellement visible dans la fenêtre fournie, TRUE sinon.

Exemples

Exemple #1 Exemple avec ncurses_getmouse()

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse($mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Sauve la position de la souris
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

Voir aussi

  • ncurses_ungetmouse() - Ajoute un événement souris dans la queue

ncurses_getmaxyx
ncurses_getyx
Fonctions Ncurses


Retourne la position courante du curseur pour une fenêtre

ncurses_getmouse
ncurses_halfdelay
Fonctions Ncurses
PHP Manual

ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getyx — Retourne la position courante du curseur pour une fenêtre

Description

void ncurses_getyx ( resource $window , int &$y , int &$x )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

y

x

ncurses_getmouse
ncurses_halfdelay
Fonctions Ncurses


Met le terminal en mode semi-retardé

ncurses_getyx
ncurses_has_colors
Fonctions Ncurses
PHP Manual

ncurses_halfdelay

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_halfdelay — Met le terminal en mode semi-retardé

Description

int ncurses_halfdelay ( int $tenth )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

tenth

ncurses_getyx
ncurses_has_colors
Fonctions Ncurses


Vérifie que le terminal supporte les couleurs

ncurses_halfdelay
ncurses_has_ic
Fonctions Ncurses
PHP Manual

ncurses_has_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_colors — Vérifie que le terminal supporte les couleurs

Description

bool ncurses_has_colors ( void )

Vérifie que le terminal supporte les couleurs. Cette fonction peut être utilisée pour écrire des programmes indépendants des capacités du terminal. ncurses doit être initialisé avec ncurses_init() avant d'appeler cette fonction.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le terminal supporte les couleurs, FALSE sinon.

Exemples

Exemple #1 Writing a string with a specified color to the screen

<?php
ncurses_init();

// Si le terminal supporte les couleurs, initialise et active les couleurs
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Écrit une chaîne à l'écran
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Envoi à l'écran
ncurses_refresh();

ncurses_end();
?>

Voir aussi

  • ncurses_can_change_color() - Vérifie si le terminal peut changer de couleur
  • ncurses_start_color() - Active les couleurs

ncurses_halfdelay
ncurses_has_ic
Fonctions Ncurses


Vérifie les capacités d'insertion et d'effacement

ncurses_has_colors
ncurses_has_il
Fonctions Ncurses
PHP Manual

ncurses_has_ic

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_ic — Vérifie les capacités d'insertion et d'effacement

Description

bool ncurses_has_ic ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie les capacités d'insertion et d'effacement du terminal.

Valeurs de retour

Retourne TRUE lorsque le terminal a ces capacités, FALSE sinon.

Voir aussi

  • ncurses_has_il() - Vérifie les capacités d'insertion et d'effacement

ncurses_has_colors
ncurses_has_il
Fonctions Ncurses


Vérifie les capacités d'insertion et d'effacement

ncurses_has_ic
ncurses_has_key
Fonctions Ncurses
PHP Manual

ncurses_has_il

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_il — Vérifie les capacités d'insertion et d'effacement

Description

bool ncurses_has_il ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie les capacités d'insertion et d'effacement du terminal.

Valeurs de retour

Retourne TRUE si le terminal a ces capacités, FALSE sinon.

Voir aussi

  • ncurses_has_ic() - Vérifie les capacités d'insertion et d'effacement

ncurses_has_ic
ncurses_has_key
Fonctions Ncurses


Vérifie la présence des touches de fonctions sur le clavier

ncurses_has_il
ncurses_hide_panel
Fonctions Ncurses
PHP Manual

ncurses_has_key

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_has_key — Vérifie la présence des touches de fonctions sur le clavier

Description

int ncurses_has_key ( int $keycode )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

keycode

ncurses_has_il
ncurses_hide_panel
Fonctions Ncurses


Retire un conteneur de la pile, pour le rendre invisible

ncurses_has_key
ncurses_hline
Fonctions Ncurses
PHP Manual

ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hide_panel — Retire un conteneur de la pile, pour le rendre invisible

Description

int ncurses_hide_panel ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

ncurses_has_key
ncurses_hline
Fonctions Ncurses


Dessine une ligne horizontale à la position courante, en utilisant un caractère et une taille maximale

ncurses_hide_panel
ncurses_inch
Fonctions Ncurses
PHP Manual

ncurses_hline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_hline — Dessine une ligne horizontale à la position courante, en utilisant un caractère et une taille maximale

Description

int ncurses_hline ( int $charattr , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

charattr

n

ncurses_hide_panel
ncurses_inch
Fonctions Ncurses


Lit le caractère et ses attributs à la position courante

ncurses_hline
ncurses_init_color
Fonctions Ncurses
PHP Manual

ncurses_inch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_inch — Lit le caractère et ses attributs à la position courante

Description

string ncurses_inch ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le caractère de la position courante.

Valeurs de retour

Retourne le caractère.

ncurses_hline
ncurses_init_color
Fonctions Ncurses


Configure une nouvelle valeur RGB pour une couleur

ncurses_inch
ncurses_init_pair
Fonctions Ncurses
PHP Manual

ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_color — Configure une nouvelle valeur RGB pour une couleur

Description

int ncurses_init_color ( int $color , int $r , int $g , int $b )

Définit ou redéfinit une couleur. Lorsque cette fonction est appelée, toutes les occurrences d'une couleur donnée à l'écran, s'il y en a, changent immédiatement de définition.

Le terminal doit supporter les couleurs, et avoir été initialisé avec la fonction ncurses_start_color() avant d'appeler cette fonction. De plus, le terminal doit avoir être capable de changer les couleurs, ce qui peut être vérifié avec la fonction ncurses_can_change_color().

Liste de paramètres

color

Le numéro d'identification de la couleur à redéfinir. Cela peut être une des constantes de couleurs.

r

Une valeur de couleur pour le rouge, entre 0 et 1000.

g

Une valeur de couleur pour le vert, entre 0 et 1000.

b

Une valeur de couleur pour le bleu, entre 0 et 1000.

Valeurs de retour

Retourne -1 si la fonction a réussi, et 0 si ncurses ou les couleurs du terminal n'ont pas été initialisées, ou que le terminal ne supporte pas le changement de couleurs.

Voir aussi

  • ncurses_color_content() - Lit la valeur RGB d'une couleur
  • ncurses_start_color() - Active les couleurs

ncurses_inch
ncurses_init_pair
Fonctions Ncurses


Alloue une paire de couleur

ncurses_init_color
ncurses_init
Fonctions Ncurses
PHP Manual

ncurses_init_pair

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init_pair — Alloue une paire de couleur

Description

int ncurses_init_pair ( int $pair , int $fg , int $bg )

Définit ou redéfinit une paire de couleur pour l'affichage à l'écran : fond d'écran et affichage. Si la paire de couleur a déjà été initialisée, l'écran est rafraîchit et toutes les occurrences sont modifiées pour refléter la nouvelle définition.

Le support des couleurs doit avoir été initialisé avec ncurses_start_color() avant d'appeler cette fonction. La première paire de couleur (numéro 0) est supposée être blanc sur noir pardéfaut, mais peut être modifiée avec ncurses_assume_default_colors().

Liste de paramètres

pair

Le numéro de la paire à définir.

fg

La couleur d'affichage pour la paire de couleurs. Doit être une des couleurs prédéfinies ou une couleur définie par ncurses_init_color(), si le terminal est capable de changer les couleurs.

bg

La couleur de fond pour la paire de couleurs. Doit être une des couleurs prédéfinies ou une couleur définie par ncurses_init_color(), si le terminal est capable de changer les couleurs.

Valeurs de retour

Retourne -1 si la fonction réussit, et 0 si ncurses ou le support des couleurs n'a pas été initialisé.

Notes

Notez que le support du changement de couleurs n'est pas nécessaire pour définir une paire de couleurs pré-existante, mais uniquement pour changer la définition des composants (rouge, vert et bleu) des couleurs elles-mêmes, via ncurses_init_color().

Exemples

Exemple #1 Écriture d'une chaîne dans une couleur donnée

<?php
ncurses_init();

// Si le terminal supporte les couleurs, initialisation et activation
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Écriture d'une chaîne à la position donnée
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Envoi à l'écran
ncurses_refresh();

ncurses_end();
?>

Voir aussi

  • ncurses_pair_content() - Retourne les couleurs de fond et d'affichage d'une paire
  • ncurses_start_color() - Active les couleurs

ncurses_init_color
ncurses_init
Fonctions Ncurses


Initialise ncurses

ncurses_init_pair
ncurses_insch
Fonctions Ncurses
PHP Manual

ncurses_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_init — Initialise ncurses

Description

void ncurses_init ( void )

Initialise l'interface ncurses et doit être utilisé avant n'importe quelle autre fonction ncurses.

Notez que ncurses_end() doit être appelé avant la fin du programme, ou alors le terminal ne sera pas remis dans sont mode non-visuel correct.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ncurses_end() - Cesse l'utilisation de ncurses et efface l'écran

ncurses_init_pair
ncurses_insch
Fonctions Ncurses


Insère un caractère et décale le reste de la ligne vers la droite, y compris le caractère courant

ncurses_init
ncurses_insdelln
Fonctions Ncurses
PHP Manual

ncurses_insch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insch — Insère un caractère et décale le reste de la ligne vers la droite, y compris le caractère courant

Description

int ncurses_insch ( int $character )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

character

ncurses_init
ncurses_insdelln
Fonctions Ncurses


Insère des lignes devant la ligne courante en scrollant vers le bas (des nombres négatifs donneront un scroll vers le haut)

ncurses_insch
ncurses_insertln
Fonctions Ncurses
PHP Manual

ncurses_insdelln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insdelln — Insère des lignes devant la ligne courante en scrollant vers le bas (des nombres négatifs donneront un scroll vers le haut)

Description

int ncurses_insdelln ( int $count )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

count

ncurses_insch
ncurses_insertln
Fonctions Ncurses


Insère une ligne et décale le reste de l'écran vers le bas

ncurses_insdelln
ncurses_insstr
Fonctions Ncurses
PHP Manual

ncurses_insertln

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insertln — Insère une ligne et décale le reste de l'écran vers le bas

Description

int ncurses_insertln ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Insère une nouvelle ligne au-dessus de la ligne courante. La ligne du bas de l'écran sera perdue.

ncurses_insdelln
ncurses_insstr
Fonctions Ncurses


Insère une chaîne à la position courante, et décale le reste de la chaîne à droite

ncurses_insertln
ncurses_instr
Fonctions Ncurses
PHP Manual

ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_insstr — Insère une chaîne à la position courante, et décale le reste de la chaîne à droite

Description

int ncurses_insstr ( string $text )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

text

ncurses_insertln
ncurses_instr
Fonctions Ncurses


Lit une chaîne depuis le terminal

ncurses_insstr
ncurses_isendwin
Fonctions Ncurses
PHP Manual

ncurses_instr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_instr — Lit une chaîne depuis le terminal

Description

int ncurses_instr ( string &$buffer )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Lit une chaîne depuis le terminal et retourne le nombre de caractères lus depuis la position courante jusqu'à la fin de la ligne.

Liste de paramètres

buffer

Les caractères. Les attributs seront supprimés.

Valeurs de retour

Retourne le nombre de caractères.

ncurses_insstr
ncurses_isendwin
Fonctions Ncurses


Vérifie si ncurses est en mode endwin

ncurses_instr
ncurses_keyok
Fonctions Ncurses
PHP Manual

ncurses_isendwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_isendwin — Vérifie si ncurses est en mode endwin

Description

bool ncurses_isendwin ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie si ncurses est en mode endwin.

Valeurs de retour

Retourne TRUE, si ncurses_end() a été appelée sans aucun appel subséquent à ncurses_wrefresh(), FALSE sinon.

Voir aussi

  • ncurses_end() - Cesse l'utilisation de ncurses et efface l'écran
  • ncurses_wrefresh() - Rafraîchit la fenêtre sur l'écran du terminal

ncurses_instr
ncurses_keyok
Fonctions Ncurses


Active ou désactive un code de clé (keycode)

ncurses_isendwin
ncurses_keypad
Fonctions Ncurses
PHP Manual

ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keyok — Active ou désactive un code de clé (keycode)

Description

int ncurses_keyok ( int $keycode , bool $enable )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

keycode

enable

ncurses_isendwin
ncurses_keypad
Fonctions Ncurses


Active ou désactive le keypad

ncurses_keyok
ncurses_killchar
Fonctions Ncurses
PHP Manual

ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_keypad — Active ou désactive le keypad

Description

int ncurses_keypad ( resource $window , bool $bf )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

bf

ncurses_keyok
ncurses_killchar
Fonctions Ncurses


Retourne la ligne du caractère actuellement supprimé

ncurses_keypad
ncurses_longname
Fonctions Ncurses
PHP Manual

ncurses_killchar

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_killchar — Retourne la ligne du caractère actuellement supprimé

Description

string ncurses_killchar ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne la ligne du caractère actuellement supprimé.

Valeurs de retour

Retourne le caractère supprimé.

Voir aussi

  • ncurses_erasechar() - Lit le caractère qui se fait effacer

ncurses_keypad
ncurses_longname
Fonctions Ncurses


Retourne la description du terminal

ncurses_killchar
ncurses_meta
Fonctions Ncurses
PHP Manual

ncurses_longname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_longname — Retourne la description du terminal

Description

string ncurses_longname ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne une description complète du terminal.

Valeurs de retour

Retourne une description complète du terminal. La description est tronquée à 128 caractères. En cas d'erreur, FALSE sera retourné.

Voir aussi

  • ncurses_termname() - Retourne le nom court du terminal

ncurses_killchar
ncurses_meta
Fonctions Ncurses


Active/désactive les informations de méta clé 8-bits

ncurses_longname
ncurses_mouse_trafo
Fonctions Ncurses
PHP Manual

ncurses_meta

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_meta — Active/désactive les informations de méta clé 8-bits

Description

int ncurses_meta ( resource $window , bool $8bit )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

8bit

ncurses_longname
ncurses_mouse_trafo
Fonctions Ncurses


Transforme les coordonnées

ncurses_meta
ncurses_mouseinterval
Fonctions Ncurses
PHP Manual

ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouse_trafo — Transforme les coordonnées

Description

bool ncurses_mouse_trafo ( int &$y , int &$x , bool $toscreen )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

toscreen

ncurses_meta
ncurses_mouseinterval
Fonctions Ncurses


Configure les délais entre les clics de souris

ncurses_mouse_trafo
ncurses_mousemask
Fonctions Ncurses
PHP Manual

ncurses_mouseinterval

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mouseinterval — Configure les délais entre les clics de souris

Description

int ncurses_mouseinterval ( int $milliseconds )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

milliseconds

ncurses_mouse_trafo
ncurses_mousemask
Fonctions Ncurses


Configure les événements de souris à surveiller

ncurses_mouseinterval
ncurses_move_panel
Fonctions Ncurses
PHP Manual

ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mousemask — Configure les événements de souris à surveiller

Description

int ncurses_mousemask ( int $newmask , int &$oldmask )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Configure les événements de souris à surveiller. Par défaut, aucun événement souris n'est rapporté.

Les événements souris sont représentés par NCURSES_KEY_MOUSE dans la fonction ncurses_wgetch(). Pour lire les données d'événements dans la queue, utilisez la fonction ncurses_getmouse().

Liste de paramètres

newmask

Les options de masque de souris sont les constantes suivantes :

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

Comme effet secondaire, utiliser la valeur de 0 avec le paramètre newmask désactive la souris. Lui donner une valeur positive non nulle réactive la souris.

oldmask

Ce paramètre sera défini avec la valeur du masque précédent.

Valeurs de retour

Retourne un masque pour indiquer quels paramètres de newmask peut être rapporté. En cas d'échec complet, elle retourne 0.

Exemples

Exemple #1 Exemple avec ncurses_mousemask()

<?php
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, $oldmask);
if ($mask & $newmask){
    printf("Toutes les options de souris spécifiées sont supportées\n");
}
?>

Voir aussi

  • ncurses_getch() - Lit un caractère sur le clavier
  • ncurses_getmouse() - Lit les événements souris
  • ncurses_ungetmouse() - Ajoute un événement souris dans la queue

ncurses_mouseinterval
ncurses_move_panel
Fonctions Ncurses


Déplace un conteneur pour que son coin supérieur gauche soit aux coordonnées [startx, starty]

ncurses_mousemask
ncurses_move
Fonctions Ncurses
PHP Manual

ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move_panel — Déplace un conteneur pour que son coin supérieur gauche soit aux coordonnées [startx, starty]

Description

int ncurses_move_panel ( resource $panel , int $startx , int $starty )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

startx

starty

ncurses_mousemask
ncurses_move
Fonctions Ncurses


Déplace la position d'affichage

ncurses_move_panel
ncurses_mvaddch
Fonctions Ncurses
PHP Manual

ncurses_move

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_move — Déplace la position d'affichage

Description

int ncurses_move ( int $y , int $x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

ncurses_move_panel
ncurses_mvaddch
Fonctions Ncurses


Déplace la position courante et ajoute un caractère

ncurses_move
ncurses_mvaddchnstr
Fonctions Ncurses
PHP Manual

ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddch — Déplace la position courante et ajoute un caractère

Description

int ncurses_mvaddch ( int $y , int $x , int $c )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

c

ncurses_move
ncurses_mvaddchnstr
Fonctions Ncurses


Déplace la position et ajoute la chaîne attribuée avec la taille donnée

ncurses_mvaddch
ncurses_mvaddchstr
Fonctions Ncurses
PHP Manual

ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchnstr — Déplace la position et ajoute la chaîne attribuée avec la taille donnée

Description

int ncurses_mvaddchnstr ( int $y , int $x , string $s , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

s

n

ncurses_mvaddch
ncurses_mvaddchstr
Fonctions Ncurses


Déplace la position et ajoute une chaîne attribuée

ncurses_mvaddchnstr
ncurses_mvaddnstr
Fonctions Ncurses
PHP Manual

ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddchstr — Déplace la position et ajoute une chaîne attribuée

Description

int ncurses_mvaddchstr ( int $y , int $x , string $s )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

s

ncurses_mvaddchnstr
ncurses_mvaddnstr
Fonctions Ncurses


Déplace la position et ajoute une chaîne de taille donnée

ncurses_mvaddchstr
ncurses_mvaddstr
Fonctions Ncurses
PHP Manual

ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddnstr — Déplace la position et ajoute une chaîne de taille donnée

Description

int ncurses_mvaddnstr ( int $y , int $x , string $s , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

s

n

ncurses_mvaddchstr
ncurses_mvaddstr
Fonctions Ncurses


Déplace la position et ajoute une chaîne

ncurses_mvaddnstr
ncurses_mvcur
Fonctions Ncurses
PHP Manual

ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvaddstr — Déplace la position et ajoute une chaîne

Description

int ncurses_mvaddstr ( int $y , int $x , string $s )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

s

ncurses_mvaddnstr
ncurses_mvcur
Fonctions Ncurses


Déplace immédiatement le curseur

ncurses_mvaddstr
ncurses_mvdelch
Fonctions Ncurses
PHP Manual

ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvcur — Déplace immédiatement le curseur

Description

int ncurses_mvcur ( int $old_y , int $old_x , int $new_y , int $new_x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

old_y

old_x

new_y

new_x

ncurses_mvaddstr
ncurses_mvdelch
Fonctions Ncurses


Déplace la position et efface le caractère, puis décale le reste de la ligne à gauche

ncurses_mvcur
ncurses_mvgetch
Fonctions Ncurses
PHP Manual

ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvdelch — Déplace la position et efface le caractère, puis décale le reste de la ligne à gauche

Description

int ncurses_mvdelch ( int $y , int $x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

ncurses_mvcur
ncurses_mvgetch
Fonctions Ncurses


Déplace la position et lit le caractère à la nouvelle position

ncurses_mvdelch
ncurses_mvhline
Fonctions Ncurses
PHP Manual

ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvgetch — Déplace la position et lit le caractère à la nouvelle position

Description

int ncurses_mvgetch ( int $y , int $x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

ncurses_mvdelch
ncurses_mvhline
Fonctions Ncurses


Choisi une nouvelle position et dessine une ligne horizontale avec le caractère donné, et de taille maximale donnée

ncurses_mvgetch
ncurses_mvinch
Fonctions Ncurses
PHP Manual

ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvhline — Choisi une nouvelle position et dessine une ligne horizontale avec le caractère donné, et de taille maximale donnée

Description

int ncurses_mvhline ( int $y , int $x , int $attrchar , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

attrchar

n

ncurses_mvgetch
ncurses_mvinch
Fonctions Ncurses


Déplace la position et lit le caractère à la nouvelle position

ncurses_mvhline
ncurses_mvvline
Fonctions Ncurses
PHP Manual

ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvinch — Déplace la position et lit le caractère à la nouvelle position

Description

int ncurses_mvinch ( int $y , int $x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

ncurses_mvhline
ncurses_mvvline
Fonctions Ncurses


Modifie la position et dessine une ligne verticale avec le caractère donné, de taille maximale donnée

ncurses_mvinch
ncurses_mvwaddstr
Fonctions Ncurses
PHP Manual

ncurses_mvvline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvvline — Modifie la position et dessine une ligne verticale avec le caractère donné, de taille maximale donnée

Description

int ncurses_mvvline ( int $y , int $x , int $attrchar , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

y

x

attrchar

n

ncurses_mvinch
ncurses_mvwaddstr
Fonctions Ncurses


Ajoute une chaîne à une nouvelle position dans la fenêtre

ncurses_mvvline
ncurses_napms
Fonctions Ncurses
PHP Manual

ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_mvwaddstr — Ajoute une chaîne à une nouvelle position dans la fenêtre

Description

int ncurses_mvwaddstr ( resource $window , int $y , int $x , string $text )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

y

x

text

ncurses_mvvline
ncurses_napms
Fonctions Ncurses


Fait une pause

ncurses_mvwaddstr
ncurses_new_panel
Fonctions Ncurses
PHP Manual

ncurses_napms

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_napms — Fait une pause

Description

int ncurses_napms ( int $milliseconds )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

milliseconds

ncurses_mvwaddstr
ncurses_new_panel
Fonctions Ncurses


Crée un nouveau conteneur et l'associe à une fenêtre

ncurses_napms
ncurses_newpad
Fonctions Ncurses
PHP Manual

ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_new_panel — Crée un nouveau conteneur et l'associe à une fenêtre

Description

resource ncurses_new_panel ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_napms
ncurses_newpad
Fonctions Ncurses


Crée un nouveau pad (fenêtre)

ncurses_new_panel
ncurses_newwin
Fonctions Ncurses
PHP Manual

ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newpad — Crée un nouveau pad (fenêtre)

Description

resource ncurses_newpad ( int $rows , int $cols )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

rows

cols

ncurses_new_panel
ncurses_newwin
Fonctions Ncurses


Crée une nouvelle fenêtre

ncurses_newpad
ncurses_nl
Fonctions Ncurses
PHP Manual

ncurses_newwin

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_newwin — Crée une nouvelle fenêtre

Description

resource ncurses_newwin ( int $rows , int $cols , int $y , int $x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée une nouvelle fenêtre pour y dessiner des éléments.

Lors de la création de la nouvelle fenêtre, pensez à utiliser ncurses_getmaxyx() pour repérer les espaces disponibles, sachant qu'un terminal est individuel et peut varier.

Liste de paramètres

rows

Nombre de lignes

cols

Nombre de colonnes

y

Y : coordonnée de l'origine

x

X : coordonnée de l'origine

Valeurs de retour

Retourne un identifiant de ressource pour la nouvelle fenêtre.

ncurses_newpad
ncurses_nl
Fonctions Ncurses


Convertit les nouvelles lignes et retours chariot en sauts de ligne

ncurses_newwin
ncurses_nocbreak
Fonctions Ncurses
PHP Manual

ncurses_nl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nl — Convertit les nouvelles lignes et retours chariot en sauts de ligne

Description

bool ncurses_nl ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_newwin
ncurses_nocbreak
Fonctions Ncurses


Passe le terminal en mode cooked

ncurses_nl
ncurses_noecho
Fonctions Ncurses
PHP Manual

ncurses_nocbreak

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nocbreak — Passe le terminal en mode cooked

Description

bool ncurses_nocbreak ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le terminal en mode normal (cooked). Initialement, le terminal peut ou peut ne pas être en mode cbreak, comme mode hérité. Par conséquent, un program doit appeler ncurses_cbreak() et ncurses_nocbreak() explicitement.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_cbreak() - Change la bufferisation d'entrée

ncurses_nl
ncurses_noecho
Fonctions Ncurses


Désactive l'écho clavier

ncurses_nocbreak
ncurses_nonl
Fonctions Ncurses
PHP Manual

ncurses_noecho

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noecho — Désactive l'écho clavier

Description

bool ncurses_noecho ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Annule l'effet d'écho des caractères tapés à l'écran.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_echo() - Active l'écho d'entrée clavier
  • ncurses_getch() - Lit un caractère sur le clavier

ncurses_nocbreak
ncurses_nonl
Fonctions Ncurses


Ne convertit par les nouvelles lignes et retours chariot en sauts de ligne

ncurses_noecho
ncurses_noqiflush
Fonctions Ncurses
PHP Manual

ncurses_nonl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_nonl — Ne convertit par les nouvelles lignes et retours chariot en sauts de ligne

Description

bool ncurses_nonl ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_noecho
ncurses_noqiflush
Fonctions Ncurses


Ne vide pas les buffers sur réception des caractères de signaux

ncurses_nonl
ncurses_noraw
Fonctions Ncurses
PHP Manual

ncurses_noqiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noqiflush — Ne vide pas les buffers sur réception des caractères de signaux

Description

void ncurses_noqiflush ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_nonl
ncurses_noraw
Fonctions Ncurses


Déconfigure le mode brut du terminal

ncurses_noqiflush
ncurses_pair_content
Fonctions Ncurses
PHP Manual

ncurses_noraw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_noraw — Déconfigure le mode brut du terminal

Description

bool ncurses_noraw ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Déconfigure le mode brut du terminal. Le mode brut est similaire au mode cbreak, car les caractères tapés sont immédiatement passés au programme. La différence est qu'en mode brut, les caractères d'interruption, de fin de programme, de suspension et de suivi du flux de caractères sont passés sans être interprétés.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_raw() - Passe le terminal en mode brut (raw)
  • ncurses_cbreak() - Change la bufferisation d'entrée
  • ncurses_nocbreak() - Passe le terminal en mode cooked

ncurses_noqiflush
ncurses_pair_content
Fonctions Ncurses


Retourne les couleurs de fond et d'affichage d'une paire

ncurses_noraw
ncurses_panel_above
Fonctions Ncurses
PHP Manual

ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pair_content — Retourne les couleurs de fond et d'affichage d'une paire

Description

int ncurses_pair_content ( int $pair , int &$f , int &$b )

ncurses_pair_content() lit les couleurs de fond et de forme qui constitue une paire. Le support des couleurs du terminal doivent avoir été initialisées avec la fonction ncurses_start_color() avant d'appeler cette fonction.

Liste de paramètres

pair

Le numéro de la paire de couleur qu'il faut lire.

f

Une référence dans laquelle les informations de la couleur d'affichage sera placée. Les informations retournées seront un numéro de couleur parmi les couleurs prédéfinies ou une couleur définie précédemment par ncurses_init_color(), si le terminal supporte le changement de couleur.

b

Une référence dans laquelle les informations de la couleur de fond sera placée. Les informations retournées seront un numéro de couleur parmi les couleurs prédéfinies ou une couleur définie précédemment par ncurses_init_color(), si le terminal supporte le changement de couleur.

Valeurs de retour

Retourne -1 si la fonction a réussi, et 0 si ncurses ou le support des couleurs du terminal n'ont pas été initialisées.

Voir aussi

  • ncurses_init_pair() - Alloue une paire de couleur
  • ncurses_start_color() - Active les couleurs

ncurses_noraw
ncurses_panel_above
Fonctions Ncurses


Retourne le conteneur au-dessus du conteneur

ncurses_pair_content
ncurses_panel_below
Fonctions Ncurses
PHP Manual

ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_above — Retourne le conteneur au-dessus du conteneur

Description

resource ncurses_panel_above ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

Valeurs de retour

Si le conteneur est null, retourne le dernier conteneur de la pile.

ncurses_pair_content
ncurses_panel_below
Fonctions Ncurses


Retourne le conteneur sous le conteneur

ncurses_panel_above
ncurses_panel_window
Fonctions Ncurses
PHP Manual

ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_below — Retourne le conteneur sous le conteneur

Description

resource ncurses_panel_below ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

Liste de paramètres

Si le conteneur est null, le premier conteneur de la pile est retourné.

ncurses_panel_above
ncurses_panel_window
Fonctions Ncurses


Retourne la fenêtre associée avec un conteneur

ncurses_panel_below
ncurses_pnoutrefresh
Fonctions Ncurses
PHP Manual

ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_panel_window — Retourne la fenêtre associée avec un conteneur

Description

resource ncurses_panel_window ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

ncurses_panel_below
ncurses_pnoutrefresh
Fonctions Ncurses


Copie une région depuis un pad dans un écran virtuel

ncurses_panel_window
ncurses_prefresh
Fonctions Ncurses
PHP Manual

ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_pnoutrefresh — Copie une région depuis un pad dans un écran virtuel

Description

int ncurses_pnoutrefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_panel_window
ncurses_prefresh
Fonctions Ncurses


Copie une région depuis un pad dans l'écran virtuel

ncurses_pnoutrefresh
ncurses_putp
Fonctions Ncurses
PHP Manual

ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_prefresh — Copie une région depuis un pad dans l'écran virtuel

Description

int ncurses_prefresh ( resource $pad , int $pminrow , int $pmincol , int $sminrow , int $smincol , int $smaxrow , int $smaxcol )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

ncurses_pnoutrefresh
ncurses_putp
Fonctions Ncurses


Applique l'information d'espacement à la chaîne et l'affiche

ncurses_prefresh
ncurses_qiflush
Fonctions Ncurses
PHP Manual

ncurses_putp

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_putp — Applique l'information d'espacement à la chaîne et l'affiche

Description

int ncurses_putp ( string $text )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

text

ncurses_prefresh
ncurses_qiflush
Fonctions Ncurses


Vide les buffers après détection d'un caractère de signal

ncurses_putp
ncurses_raw
Fonctions Ncurses
PHP Manual

ncurses_qiflush

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_qiflush — Vide les buffers après détection d'un caractère de signal

Description

void ncurses_qiflush ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_putp
ncurses_raw
Fonctions Ncurses


Passe le terminal en mode brut (raw)

ncurses_qiflush
ncurses_refresh
Fonctions Ncurses
PHP Manual

ncurses_raw

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_raw — Passe le terminal en mode brut (raw)

Description

bool ncurses_raw ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Place le terminal en mode brut. Le mode brut est similaire au mode cbreak, car les caractères tapés sont immédiatement passés au programme. La différence est qu'en mode brut, les caractères d'interruption, de fin de programme, de suspension et de suivi du flux de caractères sont passés sans être interprétés.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_noraw() - Déconfigure le mode brut du terminal
  • ncurses_cbreak() - Change la bufferisation d'entrée
  • ncurses_nocbreak() - Passe le terminal en mode cooked

ncurses_qiflush
ncurses_refresh
Fonctions Ncurses


Rafraîchit l'écran

ncurses_raw
ncurses_replace_panel
Fonctions Ncurses
PHP Manual

ncurses_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_refresh — Rafraîchit l'écran

Description

int ncurses_refresh ( int $ch )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

ch

ncurses_raw
ncurses_replace_panel
Fonctions Ncurses


Remplace la fenêtre associée à un conteneur

ncurses_refresh
ncurses_reset_prog_mode
Fonctions Ncurses
PHP Manual

ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_replace_panel — Remplace la fenêtre associée à un conteneur

Description

int ncurses_replace_panel ( resource $panel , resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

window

ncurses_refresh
ncurses_reset_prog_mode
Fonctions Ncurses


Restaure le mode prog sauvé par def_prog_mode

ncurses_replace_panel
ncurses_reset_shell_mode
Fonctions Ncurses
PHP Manual

ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_prog_mode — Restaure le mode prog sauvé par def_prog_mode

Description

int ncurses_reset_prog_mode ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_replace_panel
ncurses_reset_shell_mode
Fonctions Ncurses


Restaure le mode shell, mode sauvé par def_shell_mode

ncurses_reset_prog_mode
ncurses_resetty
Fonctions Ncurses
PHP Manual

ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_reset_shell_mode — Restaure le mode shell, mode sauvé par def_shell_mode

Description

int ncurses_reset_shell_mode ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_reset_prog_mode
ncurses_resetty
Fonctions Ncurses


Rétablit le terminal sauvé

ncurses_reset_shell_mode
ncurses_savetty
Fonctions Ncurses
PHP Manual

ncurses_resetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_resetty — Rétablit le terminal sauvé

Description

bool ncurses_resetty ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Rétablit le terminal sauvé par la fonction ncurses_savetty().

Valeurs de retour

Retourne toujours FALSE.

Voir aussi

  • ncurses_savetty() - Sauve l'état du terminal

ncurses_reset_shell_mode
ncurses_savetty
Fonctions Ncurses


Sauve l'état du terminal

ncurses_resetty
ncurses_scr_dump
Fonctions Ncurses
PHP Manual

ncurses_savetty

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_savetty — Sauve l'état du terminal

Description

bool ncurses_savetty ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Sauve l'état courant du terminal. L'état courant du terminal peut être rétabli avec la fonction ncurses_resetty().

Valeurs de retour

Retourne toujours FALSE.

Voir aussi

  • ncurses_resetty() - Rétablit le terminal sauvé

ncurses_resetty
ncurses_scr_dump
Fonctions Ncurses


Sauve un écran dans un fichier

ncurses_savetty
ncurses_scr_init
Fonctions Ncurses
PHP Manual

ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_dump — Sauve un écran dans un fichier

Description

int ncurses_scr_dump ( string $filename )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filename

ncurses_savetty
ncurses_scr_init
Fonctions Ncurses


Initialise un écran depuis un fichier de sauvegarde

ncurses_scr_dump
ncurses_scr_restore
Fonctions Ncurses
PHP Manual

ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_init — Initialise un écran depuis un fichier de sauvegarde

Description

int ncurses_scr_init ( string $filename )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filename

ncurses_scr_dump
ncurses_scr_restore
Fonctions Ncurses


Rétablit un écran depuis un fichier de sauvegarde

ncurses_scr_init
ncurses_scr_set
Fonctions Ncurses
PHP Manual

ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_restore — Rétablit un écran depuis un fichier de sauvegarde

Description

int ncurses_scr_restore ( string $filename )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filename

ncurses_scr_init
ncurses_scr_set
Fonctions Ncurses


Configure un écran depuis un fichier de sauvegarde

ncurses_scr_restore
ncurses_scrl
Fonctions Ncurses
PHP Manual

ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scr_set — Configure un écran depuis un fichier de sauvegarde

Description

int ncurses_scr_set ( string $filename )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filename

ncurses_scr_restore
ncurses_scrl
Fonctions Ncurses


Scrolle le contenu de la fenêtre vers le haut ou le bas, sans changer la position courante

ncurses_scr_set
ncurses_show_panel
Fonctions Ncurses
PHP Manual

ncurses_scrl

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_scrl — Scrolle le contenu de la fenêtre vers le haut ou le bas, sans changer la position courante

Description

int ncurses_scrl ( int $count )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

count

ncurses_scr_set
ncurses_show_panel
Fonctions Ncurses


Place un conteneur invisible en haut de la pile, pour le rendre visible

ncurses_scrl
ncurses_slk_attr
Fonctions Ncurses
PHP Manual

ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_show_panel — Place un conteneur invisible en haut de la pile, pour le rendre visible

Description

int ncurses_show_panel ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

ncurses_scrl
ncurses_slk_attr
Fonctions Ncurses


Retourne l'attribut de la clé soft label courante

ncurses_show_panel
ncurses_slk_attroff
Fonctions Ncurses
PHP Manual

ncurses_slk_attr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attr — Retourne l'attribut de la clé soft label courante

Description

int ncurses_slk_attr ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne l'attribut de la clé soft label.

Valeurs de retour

L'attribut, sous la forme d'un entier.

ncurses_show_panel
ncurses_slk_attroff
Fonctions Ncurses


Désactive l'attribut donné pour les étiquettes des function-key (fonctions clés)

ncurses_slk_attr
ncurses_slk_attron
Fonctions Ncurses
PHP Manual

ncurses_slk_attroff

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attroff — Désactive l'attribut donné pour les étiquettes des function-key (fonctions clés)

Description

int ncurses_slk_attroff ( int $intarg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

intarg

ncurses_slk_attr
ncurses_slk_attron
Fonctions Ncurses


Active l'attribut donné pour les étiquettes des function-key (fonctions clés)

ncurses_slk_attroff
ncurses_slk_attrset
Fonctions Ncurses
PHP Manual

ncurses_slk_attron

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attron — Active l'attribut donné pour les étiquettes des function-key (fonctions clés)

Description

int ncurses_slk_attron ( int $intarg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

intarg

ncurses_slk_attroff
ncurses_slk_attrset
Fonctions Ncurses


Définit les attributs donnés à une étiquette function-key

ncurses_slk_attron
ncurses_slk_clear
Fonctions Ncurses
PHP Manual

ncurses_slk_attrset

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_attrset — Définit les attributs donnés à une étiquette function-key

Description

int ncurses_slk_attrset ( int $intarg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

intarg

ncurses_slk_attron
ncurses_slk_clear
Fonctions Ncurses


Efface les soft labels de l'écran

ncurses_slk_attrset
ncurses_slk_color
Fonctions Ncurses
PHP Manual

ncurses_slk_clear

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_clear — Efface les soft labels de l'écran

Description

bool ncurses_slk_clear ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

ncurses_slk_clear() efface les clés label keys de l'écran.

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

ncurses_slk_attrset
ncurses_slk_color
Fonctions Ncurses


Configure la couleur des clés soft label

ncurses_slk_clear
ncurses_slk_init
Fonctions Ncurses
PHP Manual

ncurses_slk_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_color — Configure la couleur des clés soft label

Description

int ncurses_slk_color ( int $intarg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

intarg

ncurses_slk_clear
ncurses_slk_init
Fonctions Ncurses


Initialise les fonctions de clés soft label

ncurses_slk_color
ncurses_slk_noutrefresh
Fonctions Ncurses
PHP Manual

ncurses_slk_init

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_init — Initialise les fonctions de clés soft label

Description

bool ncurses_slk_init ( int $format )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Initialise les fonctions de clés soft label.

ncurses_slk_init() doit être appelée
avant que ncurses_init() et
ncurses_newwin() soient utilisées.

Liste de paramètres

format

Si ncurses_init() utilise une ligne de stdscr pour émuler les soft labels, alors le paramètre format détermine comment les labels seront arrangés sur l'écran.

La valeur 0 indique que vous utiliserez un arrangement de type 3-2-3; la valeur 1 indiquera un arrangement 4-4; la valeur 2 indiquera un mode 4-4-4, mais une ligne d'index sera créée en plus.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ncurses_slk_color
ncurses_slk_noutrefresh
Fonctions Ncurses


Copie toutes les clés soft label à l'écran virtuel

ncurses_slk_init
ncurses_slk_refresh
Fonctions Ncurses
PHP Manual

ncurses_slk_noutrefresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_noutrefresh — Copie toutes les clés soft label à l'écran virtuel

Description

bool ncurses_slk_noutrefresh ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_slk_init
ncurses_slk_refresh
Fonctions Ncurses


Copie les clés soft label à l'écran

ncurses_slk_noutrefresh
ncurses_slk_restore
Fonctions Ncurses
PHP Manual

ncurses_slk_refresh

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_refresh — Copie les clés soft label à l'écran

Description

int ncurses_slk_refresh ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Copie les clés soft label de l'écran virtuel vers l'écran physique.

ncurses_slk_noutrefresh
ncurses_slk_restore
Fonctions Ncurses


Rétablit les clés soft label

ncurses_slk_refresh
ncurses_slk_set
Fonctions Ncurses
PHP Manual

ncurses_slk_restore

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_restore — Rétablit les clés soft label

Description

int ncurses_slk_restore ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Rétablit les clés soft label après l'utilisation de ncurses_slk_clear().

ncurses_slk_refresh
ncurses_slk_set
Fonctions Ncurses


Modifie les étiquettes de clé de fonction (function key labels)

ncurses_slk_restore
ncurses_slk_touch
Fonctions Ncurses
PHP Manual

ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_set — Modifie les étiquettes de clé de fonction (function key labels)

Description

bool ncurses_slk_set ( int $labelnr , string $label , int $format )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

labelnr

label

format

ncurses_slk_restore
ncurses_slk_touch
Fonctions Ncurses


Force l'affichage lorsque ncurses_slk_noutrefresh est utilisé

ncurses_slk_set
ncurses_standend
Fonctions Ncurses
PHP Manual

ncurses_slk_touch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_slk_touch — Force l'affichage lorsque ncurses_slk_noutrefresh est utilisé

Description

int ncurses_slk_touch ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Force l'affichage de tous les soft labels dès la prochaine utilisation de ncurses_slk_noutrefresh().

ncurses_slk_set
ncurses_standend
Fonctions Ncurses


Cesse l'utilisation de l'attribut 'standout'

ncurses_slk_touch
ncurses_standout
Fonctions Ncurses
PHP Manual

ncurses_standend

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standend — Cesse l'utilisation de l'attribut 'standout'

Description

int ncurses_standend ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_slk_touch
ncurses_standout
Fonctions Ncurses


Commence l'utilisation de l'attribut 'standout'

ncurses_standend
ncurses_start_color
Fonctions Ncurses
PHP Manual

ncurses_standout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_standout — Commence l'utilisation de l'attribut 'standout'

Description

int ncurses_standout ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_standend
ncurses_start_color
Fonctions Ncurses


Active les couleurs

ncurses_standout
ncurses_termattrs
Fonctions Ncurses
PHP Manual

ncurses_start_color

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_start_color — Active les couleurs

Description

int ncurses_start_color ( void )

ncurses_start_color() intialise le support des couleurs dans ncurses. Cette fonction doit être appelée avant toute manipulation des couelurs, et après ncurses_init(). C'est une bonne pratique que d'appeler cette fonction juste après ncurses_init().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne 0 en cas de succès, et -1 si la table de couleurs n'a pas pu être allouée ou ncurses n'a pas été initialisée.

Exemples

Exemple #1 Affichage d'une chaîne en couleur à l'écran

<?php
ncurses_init();

// Si le terminal supporte les couleurs, initialisation et activation
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Ecriture de la chaîne à l'écran
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Envoi à l'écran
ncurses_refresh();

ncurses_end();
?>

Voir aussi

  • ncurses_can_change_color() - Vérifie si le terminal peut changer de couleur
  • ncurses_has_colors() - Vérifie que le terminal supporte les couleurs

ncurses_standout
ncurses_termattrs
Fonctions Ncurses


Retourne toutes les options supportées par le terminal, combinées ensemble par l'opérateur OR

ncurses_start_color
ncurses_termname
Fonctions Ncurses
PHP Manual

ncurses_termattrs

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termattrs — Retourne toutes les options supportées par le terminal, combinées ensemble par l'opérateur OR

Description

bool ncurses_termattrs ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_start_color
ncurses_termname
Fonctions Ncurses


Retourne le nom court du terminal

ncurses_termattrs
ncurses_timeout
Fonctions Ncurses
PHP Manual

ncurses_termname

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_termname — Retourne le nom court du terminal

Description

string ncurses_termname ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le nom court du terminal.

Valeurs de retour

Retourne le nom court du terminal. Le nom court est tronqué à 14 caractères. En cas d'erreur, ncurses_termname() retourne NULL.

Voir aussi

  • ncurses_longname() - Retourne la description du terminal

ncurses_termattrs
ncurses_timeout
Fonctions Ncurses


Configure le temps d'expiration des séquences clavier spéciales

ncurses_termname
ncurses_top_panel
Fonctions Ncurses
PHP Manual

ncurses_timeout

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_timeout — Configure le temps d'expiration des séquences clavier spéciales

Description

void ncurses_timeout ( int $millisec )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

millisec

ncurses_termname
ncurses_top_panel
Fonctions Ncurses


Place un conteneur visible sur le haut de la pile

ncurses_timeout
ncurses_typeahead
Fonctions Ncurses
PHP Manual

ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_top_panel — Place un conteneur visible sur le haut de la pile

Description

int ncurses_top_panel ( resource $panel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

panel

ncurses_timeout
ncurses_typeahead
Fonctions Ncurses


Spécifie un autre descripteur de fichier pour la vérification à la volée des données saisies

ncurses_top_panel
ncurses_ungetch
Fonctions Ncurses
PHP Manual

ncurses_typeahead

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_typeahead — Spécifie un autre descripteur de fichier pour la vérification à la volée des données saisies

Description

int ncurses_typeahead ( int $fd )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

fd

ncurses_top_panel
ncurses_ungetch
Fonctions Ncurses


Replace un caractère dans la queue d'entrée

ncurses_typeahead
ncurses_ungetmouse
Fonctions Ncurses
PHP Manual

ncurses_ungetch

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetch — Replace un caractère dans la queue d'entrée

Description

int ncurses_ungetch ( int $keycode )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

keycode

ncurses_typeahead
ncurses_ungetmouse
Fonctions Ncurses


Ajoute un événement souris dans la queue

ncurses_ungetch
ncurses_update_panels
Fonctions Ncurses
PHP Manual

ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_ungetmouse — Ajoute un événement souris dans la queue

Description

bool ncurses_ungetmouse ( array $mevent )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Ajoute un événement souris dans la queue d'entrée, et associe cet événement avec l'état du terminal et les coordonnées relatives (en caractères) de la souris, spécifiés dans mevent.

Liste de paramètres

mevent

Un tableau associatif spécifiant les options de l'événement :

  • "id" : identifiant permettant de distinguer plusieurs périphériques

  • "x" : position à l'écran, en abscisse relative, et comptée en caractères

  • "y" : position à l'écran, en ordonnée relative, et comptée en caractères

  • "z" : actuellement non supporté

  • "mmask" : action de souris

Valeurs de retour

Retourne FALSE en cas de succès, et TRUE sinon.

Voir aussi

  • ncurses_getmouse() - Lit les événements souris

ncurses_ungetch
ncurses_update_panels
Fonctions Ncurses


Rafraîchit l'écran virtuel pour prendre en compte les relations entre les conteneurs de la pile

ncurses_ungetmouse
ncurses_use_default_colors
Fonctions Ncurses
PHP Manual

ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_update_panels — Rafraîchit l'écran virtuel pour prendre en compte les relations entre les conteneurs de la pile

Description

void ncurses_update_panels ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_ungetmouse
ncurses_use_default_colors
Fonctions Ncurses


Assigne la couleur de terminal pour l'index -1

ncurses_update_panels
ncurses_use_env
Fonctions Ncurses
PHP Manual

ncurses_use_default_colors

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_default_colors — Assigne la couleur de terminal pour l'index -1

Description

bool ncurses_use_default_colors ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ncurses_update_panels
ncurses_use_env
Fonctions Ncurses


Contrôle l'utilisation des informations d'environnement concernant la taille du terminal

ncurses_use_default_colors
ncurses_use_extended_names
Fonctions Ncurses
PHP Manual

ncurses_use_env

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_env — Contrôle l'utilisation des informations d'environnement concernant la taille du terminal

Description

void ncurses_use_env ( bool $flag )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

flag

ncurses_use_default_colors
ncurses_use_extended_names
Fonctions Ncurses


Contrôle l'utilisation des noms étendus dans les descriptions terminfo

ncurses_use_env
ncurses_vidattr
Fonctions Ncurses
PHP Manual

ncurses_use_extended_names

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_use_extended_names — Contrôle l'utilisation des noms étendus dans les descriptions terminfo

Description

int ncurses_use_extended_names ( bool $flag )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

flag

ncurses_use_env
ncurses_vidattr
Fonctions Ncurses


Affiche la chaîne sur un terminal dans le mode d'attribut vidéo

ncurses_use_extended_names
ncurses_vline
Fonctions Ncurses
PHP Manual

ncurses_vidattr

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vidattr — Affiche la chaîne sur un terminal dans le mode d'attribut vidéo

Description

int ncurses_vidattr ( int $intarg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

intarg

ncurses_use_extended_names
ncurses_vline
Fonctions Ncurses


Dessine une ligne verticale à la position courante en utilisant un caractère donné, pour une taille donnée

ncurses_vidattr
ncurses_waddch
Fonctions Ncurses
PHP Manual

ncurses_vline

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_vline — Dessine une ligne verticale à la position courante en utilisant un caractère donné, pour une taille donnée

Description

int ncurses_vline ( int $charattr , int $n )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

charattr

n

ncurses_vidattr
ncurses_waddch
Fonctions Ncurses


Ajoute un caractère à la position courante, dans une fenêtre, et avance le curseur

ncurses_vline
ncurses_waddstr
Fonctions Ncurses
PHP Manual

ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddch — Ajoute un caractère à la position courante, dans une fenêtre, et avance le curseur

Description

int ncurses_waddch ( resource $window , int $ch )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ch

ncurses_vline
ncurses_waddstr
Fonctions Ncurses


Affiche le texte à la position courante dans la fenêtre

ncurses_waddch
ncurses_wattroff
Fonctions Ncurses
PHP Manual

ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_waddstr — Affiche le texte à la position courante dans la fenêtre

Description

int ncurses_waddstr ( resource $window , string $str [, int $n ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

str

n

ncurses_waddch
ncurses_wattroff
Fonctions Ncurses


Désactive les attributs d'une fenêtre

ncurses_waddstr
ncurses_wattron
Fonctions Ncurses
PHP Manual

ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattroff — Désactive les attributs d'une fenêtre

Description

int ncurses_wattroff ( resource $window , int $attrs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

attrs

ncurses_waddstr
ncurses_wattron
Fonctions Ncurses


Efface les attributs de la fenêtre

ncurses_wattroff
ncurses_wattrset
Fonctions Ncurses
PHP Manual

ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattron — Efface les attributs de la fenêtre

Description

int ncurses_wattron ( resource $window , int $attrs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

attrs

ncurses_wattroff
ncurses_wattrset
Fonctions Ncurses


Modifie les attributs d'une fenêtre

ncurses_wattron
ncurses_wborder
Fonctions Ncurses
PHP Manual

ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wattrset — Modifie les attributs d'une fenêtre

Description

int ncurses_wattrset ( resource $window , int $attrs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

attrs

ncurses_wattron
ncurses_wborder
Fonctions Ncurses


Dessine le bord d'une fenêtre avec un caractère qualifié

ncurses_wattrset
ncurses_wclear
Fonctions Ncurses
PHP Manual

ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wborder — Dessine le bord d'une fenêtre avec un caractère qualifié

Description

int ncurses_wborder ( resource $window , int $left , int $right , int $top , int $bottom , int $tl_corner , int $tr_corner , int $bl_corner , int $br_corner )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Dessine les lignes spécifiées et les coins autour de la fenêtre passée par window.

Utilisez ncurses_border() pour les bordures de la fenêtre principale.

Liste de paramètres

Chaque paramètre attend 0 pour dessiner et 1 pour ne pas le faire.

window

La fenêtre à traiter

left

right

top

bottom

tl_corner

Coin en haut, à gauche

tr_corner

Coin en haut, à droite

bl_corner

Coin en bas, à gauche

br_corner

Coin en bas, à droite

Voir aussi

  • ncurses_border() - Dessine un bord autour de l'écran avec les caractères données

ncurses_wattrset
ncurses_wclear
Fonctions Ncurses


Efface la fenêtre

ncurses_wborder
ncurses_wcolor_set
Fonctions Ncurses
PHP Manual

ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wclear — Efface la fenêtre

Description

int ncurses_wclear ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_wborder
ncurses_wcolor_set
Fonctions Ncurses


Modifie les paires de couleurs de la fenêtre

ncurses_wclear
ncurses_werase
Fonctions Ncurses
PHP Manual

ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wcolor_set — Modifie les paires de couleurs de la fenêtre

Description

int ncurses_wcolor_set ( resource $window , int $color_pair )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

color_pair

ncurses_wclear
ncurses_werase
Fonctions Ncurses


Efface le contenu de la fenêtre

ncurses_wcolor_set
ncurses_wgetch
Fonctions Ncurses
PHP Manual

ncurses_werase

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_werase — Efface le contenu de la fenêtre

Description

int ncurses_werase ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_wcolor_set
ncurses_wgetch
Fonctions Ncurses


Lit un caractère depuis le clavier (fenêtre)

ncurses_werase
ncurses_whline
Fonctions Ncurses
PHP Manual

ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wgetch — Lit un caractère depuis le clavier (fenêtre)

Description

int ncurses_wgetch ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_werase
ncurses_whline
Fonctions Ncurses


Dessine une ligne horizontale à partir de la position courante, avec un caractère qualifié, et d'une taille maximale

ncurses_wgetch
ncurses_wmouse_trafo
Fonctions Ncurses
PHP Manual

ncurses_whline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_whline — Dessine une ligne horizontale à partir de la position courante, avec un caractère qualifié, et d'une taille maximale

Description

int ncurses_whline ( resource $window , int $charattr , int $n )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

charattr

n

ncurses_wgetch
ncurses_wmouse_trafo
Fonctions Ncurses


Transforme les coordonnées d'une fenêtre

ncurses_whline
ncurses_wmove
Fonctions Ncurses
PHP Manual

ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmouse_trafo — Transforme les coordonnées d'une fenêtre

Description

bool ncurses_wmouse_trafo ( resource $window , int &$y , int &$x , bool $toscreen )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

x

y

toscreen

ncurses_whline
ncurses_wmove
Fonctions Ncurses


Déplace la position d'affichage de la fenêtre

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Fonctions Ncurses
PHP Manual

ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wmove — Déplace la position d'affichage de la fenêtre

Description

int ncurses_wmove ( resource $window , int $y , int $x )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

y

x

ncurses_wmouse_trafo
ncurses_wnoutrefresh
Fonctions Ncurses


Copie la fenêtre dans l'écran virtuel

ncurses_wmove
ncurses_wrefresh
Fonctions Ncurses
PHP Manual

ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wnoutrefresh — Copie la fenêtre dans l'écran virtuel

Description

int ncurses_wnoutrefresh ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_wmove
ncurses_wrefresh
Fonctions Ncurses


Rafraîchit la fenêtre sur l'écran du terminal

ncurses_wnoutrefresh
ncurses_wstandend
Fonctions Ncurses
PHP Manual

ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wrefresh — Rafraîchit la fenêtre sur l'écran du terminal

Description

int ncurses_wrefresh ( resource $window )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_wnoutrefresh
ncurses_wstandend
Fonctions Ncurses


Termine le mode standout de la fenêtre

ncurses_wrefresh
ncurses_wstandout
Fonctions Ncurses
PHP Manual

ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandend — Termine le mode standout de la fenêtre

Description

int ncurses_wstandend ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_wrefresh
ncurses_wstandout
Fonctions Ncurses


Passe une fenêtre en mode standout

ncurses_wstandend
ncurses_wvline
Fonctions Ncurses
PHP Manual

ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wstandout — Passe une fenêtre en mode standout

Description

int ncurses_wstandout ( resource $window )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

ncurses_wstandend
ncurses_wvline
Fonctions Ncurses


Dessine une ligne verticale dans une fenêtre, à la position courante, en utilisant un caractère qualifié, avec une taille maximale

ncurses_wstandout
Readline
Fonctions Ncurses
PHP Manual

ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_wvline — Dessine une ligne verticale dans une fenêtre, à la position courante, en utilisant un caractère qualifié, avec une taille maximale

Description

int ncurses_wvline ( resource $window , int $charattr , int $n )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

window

charattr

n

ncurses_wstandout
Readline
Fonctions Ncurses


GNU Readline

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Readline
    • readline_add_history — Ajoute une ligne à l'historique
    • readline_callback_handler_install — Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement
    • readline_callback_handler_remove — Efface un gestionnaire de rappel readline
    • readline_callback_read_char — Lit un caractère et informe l'interface de rappel readline
    • readline_clear_history — Efface l'historique
    • readline_completion_function — Enregistre une fonction de complétion
    • readline_info — Lit ou modifie diverses variables internes de readline
    • readline_list_history — Liste l'historique
    • readline_on_new_line — Informe readline que le curseur est passé à une nouvelle ligne
    • readline_read_history — Lit l'historique
    • readline_redisplay — Demande à readline de refaire l'affichage
    • readline_write_history — Écrit dans l'historique
    • readline — Lit une ligne
ncurses_wvline
Introduction
Extensions spécifiques à la ligne de commande


Introduction

Les fonctions readline implémente une interface de la bibliothèque GNU Readline. Ce sont des fonctions qui fournissent des lignes de commandes éditables. Un exemple est fourni montrant comment Bash vous permet d'utiliser les flèches pour insérer des caractères ou scroller dans l'historique des commandes. De part la nature de cette bibliothèque, vous ne devriez pas en avoir besoin dans vos applications Web mais par contre, cela peut être très utile lors de l'écriture de scripts utilisés depuis la ligne de command.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Readline
Installation/Configuration
Readline


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Readline


Pré-requis

Pour utiliser les fonctions readline, vous devez installer la bibliothèque libreadline. Vous pouvez la trouver sur la page d'accueil du projet GNU Readline, ici : » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. Elle est maintenu par Chet Ramey, qui est également l'auteur de Bash.

Vous pouvez également utiliser ces fonctions avec la bibliothèque libedit, une alternative non-GPL à la bibliothèque readline. La bibliothèque libedit est sous licence BSD et est disponible au téléchargement depuis » http://www.thrysoee.dk/editline/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour utiliser ces fonctions, vous devez compiler PHP, en version CGI ou CLI. Vous devez aussi utiliser l'option de compilation --with-readline[=DIR]. Si vous souhaitez utiliser la bibliothèque libedit readline, en remplacement, compilez PHP avec l'option --with-libedit[=DIR].

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Readline
Readline


Fonctions Readline

Sommaire

  • readline_add_history — Ajoute une ligne à l'historique
  • readline_callback_handler_install — Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement
  • readline_callback_handler_remove — Efface un gestionnaire de rappel readline
  • readline_callback_read_char — Lit un caractère et informe l'interface de rappel readline
  • readline_clear_history — Efface l'historique
  • readline_completion_function — Enregistre une fonction de complétion
  • readline_info — Lit ou modifie diverses variables internes de readline
  • readline_list_history — Liste l'historique
  • readline_on_new_line — Informe readline que le curseur est passé à une nouvelle ligne
  • readline_read_history — Lit l'historique
  • readline_redisplay — Demande à readline de refaire l'affichage
  • readline_write_history — Écrit dans l'historique
  • readline — Lit une ligne
Constantes pré-définies
readline_add_history
Readline


Ajoute une ligne à l'historique

Fonctions Readline
readline_callback_handler_install
Fonctions Readline
PHP Manual

readline_add_history

(PHP 4, PHP 5)

readline_add_history — Ajoute une ligne à l'historique

Description

bool readline_add_history ( string $line )

Ajoute une ligne à l'historique.

Liste de paramètres

line

La ligne à ajouter à l'historique.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Fonctions Readline
readline_callback_handler_install
Fonctions Readline


Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement

readline_add_history
readline_callback_handler_remove
Fonctions Readline
PHP Manual

readline_callback_handler_install

(PHP 5 >= 5.1.0)

readline_callback_handler_install — Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement

Description

bool readline_callback_handler_install ( string $prompt , callback $callback )

Définie une interface de rappel pour readline, affiche le prompt et retourne immédiatement. Appeler cette fonction deux fois sans effacer au préalable l'interface de rappel précédente effacera automatiquement et proprement l'ancienne interface.

La fonctionnalité de rappel est très utile lorsque combinée à la fonction stream_select() permettant l'interconnexion IO / entrée utilisateur, à la différence de readline().

Liste de paramètres

prompt

Le message de prompt.

callback

La fonction callback prend un paramètre : l'entrée utilisateur retournée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple d'interface de rappelde Readline

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "You entered: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Entrer quelque chose : ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Entrer quelque chose : ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // lit un caractère, appelera la fonction de callback lorsqu'une nouvelle ligne est entrée
        readline_callback_read_char();
    }
}

echo "Le prompt est désactivé. Tout a été effectué.\n";
?>

Voir aussi

  • readline_callback_handler_remove() - Efface un gestionnaire de rappel readline
  • readline_callback_read_char() - Lit un caractère et informe l'interface de rappel readline
  • stream_select() - Surveille la modification d'un ou plusieurs flux

readline_add_history
readline_callback_handler_remove
Fonctions Readline


Efface un gestionnaire de rappel readline

readline_callback_handler_install
readline_callback_read_char
Fonctions Readline
PHP Manual

readline_callback_handler_remove

(PHP 5 >= 5.1.0)

readline_callback_handler_remove — Efface un gestionnaire de rappel readline

Description

bool readline_callback_handler_remove ( void )

Efface un gestionnaire de rappel installé précédemment et restaure les paramètres du terminal.

Valeurs de retour

Retourne TRUE si un gestionnaire de rappel précédemment installé a été effacé ou FALSE s'il n'a pas été trouvé.

Exemples

Voir la fonction readline_callback_handler_install() pour un exemple concernant l'utilisation de l'interface de rappel readline.

Voir aussi

  • readline_callback_handler_install() - Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement
  • readline_callback_read_char() - Lit un caractère et informe l'interface de rappel readline

readline_callback_handler_install
readline_callback_read_char
Fonctions Readline


Lit un caractère et informe l'interface de rappel readline

readline_callback_handler_remove
readline_clear_history
Fonctions Readline
PHP Manual

readline_callback_read_char

(PHP 5 >= 5.1.0)

readline_callback_read_char — Lit un caractère et informe l'interface de rappel readline

Description

void readline_callback_read_char ( void )

Lit un caractère de l'entrée utilisateur. Lorsqu'une ligne est reçue, la fonction informe l'interface de rappel readline installée en utilisant readline_callback_handler_install() qu'une ligne est prête à être entrée.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Voir la fonction readline_callback_handler_install() pour un exemple concernant l'utilisation de l'interface de rappel readline.

Voir aussi

  • readline_callback_handler_install() - Initialise l'interface et le terminal de rappel de readline, affiche le prompt et retourne immédiatement
  • readline_callback_handler_remove() - Efface un gestionnaire de rappel readline

readline_callback_handler_remove
readline_clear_history
Fonctions Readline


Efface l'historique

readline_callback_read_char
readline_completion_function
Fonctions Readline
PHP Manual

readline_clear_history

(PHP 4, PHP 5)

readline_clear_history — Efface l'historique

Description

bool readline_clear_history ( void )

Efface l'historique.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

readline_callback_read_char
readline_completion_function
Fonctions Readline


Enregistre une fonction de complétion

readline_clear_history
readline_info
Fonctions Readline
PHP Manual

readline_completion_function

(PHP 4, PHP 5)

readline_completion_function — Enregistre une fonction de complétion

Description

bool readline_completion_function ( callback $function )

Enregistre une nouvelle fonction de complétion. C'est la même fonctionnalité que lorsque vous utilisez la touche de tabulation sous Bash.

Liste de paramètres

function

Vous devez fournir le nom d'une fonction qui accepte un nom partiel de commande, et retourne une liste de fonctions complète possibles.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

readline_clear_history
readline_info
Fonctions Readline


Lit ou modifie diverses variables internes de readline

readline_completion_function
readline_list_history
Fonctions Readline
PHP Manual

readline_info

(PHP 4, PHP 5)

readline_info — Lit ou modifie diverses variables internes de readline

Description

mixed readline_info ([ string $varname [, string $newvalue ]] )

Lit/modifie diverses variables internes.

Liste de paramètres

varname

Un nom de variable.

newvalue

Si fourni, ce sera la nouvelle valeur à définir.

Valeurs de retour

Appelée sans paramètre, readline_info() retourne une tableau contenant les valeurs des paramètres de Readline. Les éléments seront indexés par les clés suivantes : "done", "end", "erase_empty_line", "library_version", "line_buffer", "mark", "pending_input", "point", "prompt", "readline_name" et "terminal_name".

Si appelée avec un ou deux paramètres, l'ancienne valeur est retournée.

readline_completion_function
readline_list_history
Fonctions Readline


Liste l'historique

readline_info
readline_on_new_line
Fonctions Readline
PHP Manual

readline_list_history

(PHP 4, PHP 5)

readline_list_history — Liste l'historique

Description

array readline_list_history ( void )

Liste l'historique.

Valeurs de retour

Retourne un tableau avec la liste de toutes les lignes de commandes de l'historique. Les éléments sont indexés numériquement, à partir de 0.

readline_info
readline_on_new_line
Fonctions Readline


Informe readline que le curseur est passé à une nouvelle ligne

readline_list_history
readline_read_history
Fonctions Readline
PHP Manual

readline_on_new_line

(PHP 5 >= 5.1.0)

readline_on_new_line — Informe readline que le curseur est passé à une nouvelle ligne

Description

void readline_on_new_line ( void )

Informe readline que le curseur est passé à une nouvelle ligne.

Valeurs de retour

Aucune valeur n'est retournée.

readline_list_history
readline_read_history
Fonctions Readline


Lit l'historique

readline_on_new_line
readline_redisplay
Fonctions Readline
PHP Manual

readline_read_history

(PHP 4, PHP 5)

readline_read_history — Lit l'historique

Description

bool readline_read_history ([ string $filename ] )

Lit une ligne de l'historique depuis le fichier filename.

Liste de paramètres

filename

Chemin vers le fichier contenant l'historique des commandes.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

readline_on_new_line
readline_redisplay
Fonctions Readline


Demande à readline de refaire l'affichage

readline_read_history
readline_write_history
Fonctions Readline
PHP Manual

readline_redisplay

(PHP 5 >= 5.1.0)

readline_redisplay — Demande à readline de refaire l'affichage

Description

void readline_redisplay ( void )

Demande à readline de refaire l'affichage.

Valeurs de retour

Aucune valeur n'est retournée.

readline_read_history
readline_write_history
Fonctions Readline


Écrit dans l'historique

readline_redisplay
readline
Fonctions Readline
PHP Manual

readline_write_history

(PHP 4, PHP 5)

readline_write_history — Écrit dans l'historique

Description

bool readline_write_history ([ string $filename ] )

Écrit l'historique dans le fichier filename.

Liste de paramètres

filename

Chemin vers le fichier à sauvegarder.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

readline_redisplay
readline
Fonctions Readline


Lit une ligne

readline_write_history
Extensions sur l'archivage et la compression
Fonctions Readline
PHP Manual

readline

(PHP 4, PHP 5)

readline — Lit une ligne

Description

string readline ([ string $prompt ] )

Retourne une ligne entrée par l'utilisateur. Vous devez ajouter cette ligne à l'historique vous-même, avec la fonction readline_add_history().

Liste de paramètres

prompt

Vous pouvez spécifier une chaîne de caractères à utiliser comme prompt à l'utilisateur.

Valeurs de retour

Retourne une chaîne de caractères depuis l'utilisateur. La ligne retournée a été débarrassée du caractère final de nouvelle ligne.

Exemples

Exemple #1 Exemple avec readline()

<?php
// Lit 3 commandes de l'utilisateur
for ($i=0; $i < 3; $i++) {
        $line = readline("Commande : ");
        readline_add_history($line);
}

// Liste l'historique
print_r(readline_list_history());

// Liste les variables
print_r(readline_info());
?>

readline_write_history
Extensions sur l'archivage et la compression
Fonctions Readline


Extensions sur l'archivage et la compression

  • Bzip2
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Bzip2
  • LZF
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions LZF
  • Phar
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Utiliser les archives Phar
    • Créer des archives Phar
    • Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?
    • Phar — La classe Phar
    • PharData — La classe PharData
    • PharFileInfo — La classe PharFileInfo
    • PharException — La classe PharException
  • Rar — Archives RAR
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • RarArchive — La classe RarArchive
    • RarEntry — La classe RarEntry
    • RarException — La classe RarException
  • Zip
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • ZipArchive — La classe ZipArchive
    • Fonctions Zip
  • Zlib — Compression Zlib
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Zlib
readline
Bzip2
Référence des fonctions


Bzip2

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Bzip2
    • bzclose — Ferme un fichier bzip2
    • bzcompress — Compresse une chaîne avec bzip2
    • bzdecompress — Décompresse une chaîne bzip2
    • bzerrno — Retourne le code d'erreur bzip2
    • bzerror — Retourne le numéro et le message d'erreur bzip2 dans un tableau
    • bzerrstr — Retourne le message d'erreur bzip2
    • bzflush — Force l'écriture de toutes les données compressées
    • bzopen — Ouvre un fichier compressé avec bzip2
    • bzread — Lecture binaire d'un fichier bzip2
    • bzwrite — Écriture binaire dans un fichier bzip2
Extensions sur l'archivage et la compression
Introduction
Extensions sur l'archivage et la compression


Introduction

Les fonctions bzip2 sont utilisées pour lire et écrire de façon transparente les fichiers compressés bzip2 (.bz2).

Bzip2
Installation/Configuration
Bzip2


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Bzip2


Pré-requis

Cette extension utilise les fonctions » bzip2 de la bibliothèque écrite par Julian Seward. Ce module nécessite bzip2/libbzip2, version >= 1.0.x.

Installation/Configuration
Installation
Installation/Configuration


Installation

Le support bzip2 par PHP n'est pas activé par défaut. Vous devez utiliser l'option de configuration --with-bz2[=DIR] lors de la compilation de PHP pour l'activer.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit un type de ressource : un pointeur de fichier identifiant le fichier bz2.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Bzip2


Exemples

Cet exemple ouvre un fichier temporaire et y écrit une chaîne de test, puis, affiche le contenu de ce fichier.

Exemple #1 Petit exemple avec bzip2

<?php

$filename = "/tmp/testfile.bz2";
$str = "Ceci est une chaîne de test.\n";

// Ouvre un fichier en écriture
$bz = bzopen($filename, "w");

// Écrit une chaîne
bzwrite($bz, $str);

// Ferme le fichier
bzclose($bz);

// Ouvre le fichier en lecture
$bz = bzopen($filename, "r");

// Lit 10 caractères
echo bzread($bz, 10);

// Affiche le contenu du fichier et on le ferme
echo bzread($bz);

bzclose($bz);

?>
Constantes pré-définies
Fonctions Bzip2
Bzip2


Fonctions Bzip2

Sommaire

  • bzclose — Ferme un fichier bzip2
  • bzcompress — Compresse une chaîne avec bzip2
  • bzdecompress — Décompresse une chaîne bzip2
  • bzerrno — Retourne le code d'erreur bzip2
  • bzerror — Retourne le numéro et le message d'erreur bzip2 dans un tableau
  • bzerrstr — Retourne le message d'erreur bzip2
  • bzflush — Force l'écriture de toutes les données compressées
  • bzopen — Ouvre un fichier compressé avec bzip2
  • bzread — Lecture binaire d'un fichier bzip2
  • bzwrite — Écriture binaire dans un fichier bzip2
Exemples
bzclose
Bzip2


Ferme un fichier bzip2

Fonctions Bzip2
bzcompress
Fonctions Bzip2
PHP Manual

bzclose

(PHP 4 >= 4.0.4, PHP 5)

bzclose — Ferme un fichier bzip2

Description

int bzclose ( resource $bz )

bzclose() ferme le fichier bzip2 représenté par le pointeur bz.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès par la fonction bzopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • bzopen() - Ouvre un fichier compressé avec bzip2

Fonctions Bzip2
bzcompress
Fonctions Bzip2


Compresse une chaîne avec bzip2

bzclose
bzdecompress
Fonctions Bzip2
PHP Manual

bzcompress

(PHP 4 >= 4.0.4, PHP 5)

bzcompress — Compresse une chaîne avec bzip2

Description

mixed bzcompress ( string $source [, int $blocksize = 4 [, int $workfactor = 0 ]] )

bzcompress() compresse la chaîne source et retourne les données ainsi encodées.

Liste de paramètres

source

La chaîne à compresser.

blocksize

Spécifie la taille de bloc utilisée durant la compression et doit être un nombre de 1 à 9, sachant que 9 représente la meilleure compression, mais qu'elle utilise plus de ressources pour se faire.

workfactor

Contrôle le comportement de la compression dans les pires cas de données hautement répétitives. Cette valeur peut aller de 0 à 250 (0 est une valeur spéciale).

En dehors de workfactor, le résultat sera le même.

Valeurs de retour

La chaîne compressée ou un numéro erreur si une erreur survient.

Exemples

Exemple #1 Compression de données

<?php
$str = "donnée simple";
$bzstr = bzcompress($str, 9);
echo $bzstr;
?>

Voir aussi

  • bzdecompress() - Décompresse une chaîne bzip2

bzclose
bzdecompress
Fonctions Bzip2


Décompresse une chaîne bzip2

bzcompress
bzerrno
Fonctions Bzip2
PHP Manual

bzdecompress

(PHP 4 >= 4.0.4, PHP 5)

bzdecompress — Décompresse une chaîne bzip2

Description

mixed bzdecompress ( string $source [, int $small = 0 ] )

bzdecompress() décompresse la chaîne source, contenant des données compressées bzip2.

Liste de paramètres

source

La chaîne à décompresser.

small

Si ce paramètre vaut TRUE, un autre algorithme de décompression sera utilisé : il consomme moins de mémoire (le maximum demandé tombe autour de 2300 ko), mais fonctionne globalement à la moitié de la vitesse.

Reportez-vous à la » documentation bzip2 pour plus de détails sur cette fonctionnalité.

Valeurs de retour

La chaîne décompressée ou un numéro erreur si une erreur survient.

Exemples

Exemple #1 Décompression d'une chaîne

<?php
$start_str = "phrase à compresser";
$bzstr = bzcompress($start_str);

echo "Chaîne compressée : ";
echo $bzstr;
echo "\n<br />\n";

$str = bzdecompress($bzstr);
echo "Chaîne décompressée : ";
echo $str;
echo "\n<br />\n";
?>

Voir aussi

  • bzcompress() - Compresse une chaîne avec bzip2

bzcompress
bzerrno
Fonctions Bzip2


Retourne le code d'erreur bzip2

bzdecompress
bzerror
Fonctions Bzip2
PHP Manual

bzerrno

(PHP 4 >= 4.0.4, PHP 5)

bzerrno — Retourne le code d'erreur bzip2

Description

int bzerrno ( resource $bz )

bzerrno() retourne le code d'erreur du fichier bz2 représenté par le pointeur bz.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès avec la fonction bzopen().

Valeurs de retour

Retourne le code erreur sous la forme d'un entier.

Voir aussi

  • bzerror() - Retourne le numéro et le message d'erreur bzip2 dans un tableau
  • bzerrstr() - Retourne le message d'erreur bzip2

bzdecompress
bzerror
Fonctions Bzip2


Retourne le numéro et le message d'erreur bzip2 dans un tableau

bzerrno
bzerrstr
Fonctions Bzip2
PHP Manual

bzerror

(PHP 4 >= 4.0.4, PHP 5)

bzerror — Retourne le numéro et le message d'erreur bzip2 dans un tableau

Description

array bzerror ( resource $bz )

bzerror() retourne un tableau associatif avec le numéro et le message d'erreur du fichier bz2 représenté par le pointeur bz.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès par la fonction bzopen().

Valeurs de retour

Retourne un tableau associatif, avec le code erreur dans l'entrée errno, et le message d'erreur dans l'entrée errstr.

Exemples

Exemple #1 Exemple avec bzerror()

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

Voir aussi

  • bzerrno() - Retourne le code d'erreur bzip2
  • bzerrstr() - Retourne le message d'erreur bzip2

bzerrno
bzerrstr
Fonctions Bzip2


Retourne le message d'erreur bzip2

bzerror
bzflush
Fonctions Bzip2
PHP Manual

bzerrstr

(PHP 4 >= 4.0.4, PHP 5)

bzerrstr — Retourne le message d'erreur bzip2

Description

string bzerrstr ( resource $bz )

bzerrstr() retourne le message d'erreur du fichier bz2 représenté par le pointeur bz.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès par la fonction bzopen().

Valeurs de retour

Retourne une chaîne contenant le message d'erreur.

Voir aussi

  • bzerrno() - Retourne le code d'erreur bzip2
  • bzerror() - Retourne le numéro et le message d'erreur bzip2 dans un tableau

bzerror
bzflush
Fonctions Bzip2


Force l'écriture de toutes les données compressées

bzerrstr
bzopen
Fonctions Bzip2
PHP Manual

bzflush

(PHP 4 >= 4.0.4, PHP 5)

bzflush — Force l'écriture de toutes les données compressées

Description

int bzflush ( resource $bz )

bzflush() force l'écriture de toutes les données bzip2 mises en tampon pour le fichier représenté par bz.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès par la fonction bzopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • bzread() - Lecture binaire d'un fichier bzip2
  • bzwrite() - Écriture binaire dans un fichier bzip2

bzerrstr
bzopen
Fonctions Bzip2


Ouvre un fichier compressé avec bzip2

bzflush
bzread
Fonctions Bzip2
PHP Manual

bzopen

(PHP 4 >= 4.0.4, PHP 5)

bzopen — Ouvre un fichier compressé avec bzip2

Description

resource bzopen ( string $filename , string $mode )

bzopen() ouvre un fichier bzip2 (.bz2) en écriture ou en lecture.

Liste de paramètres

filename

Le nom du fichier à ouvrir.

mode

Similaire à la fonction fopen(), seules les options 'r' (pour lecture), et 'w' (pour écriture) sont supportées. Tout autre option fera que la fonction retournera FALSE.

Valeurs de retour

Si l'ouverture échoue, bzopen() retourne FALSE, sinon, il retourne un pointeur vers le fichier ouvert.

Exemples

Exemple #1 Exemple avec bzopen()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Impossible d'ouvrir le fichier $file pour lecture");

bzclose($bz);

?>

Voir aussi

  • bzclose() - Ferme un fichier bzip2

bzflush
bzread
Fonctions Bzip2


Lecture binaire d'un fichier bzip2

bzopen
bzwrite
Fonctions Bzip2
PHP Manual

bzread

(PHP 4 >= 4.0.4, PHP 5)

bzread — Lecture binaire d'un fichier bzip2

Description

string bzread ( resource $bz [, int $length = 1024 ] )

bzread() lit depuis le pointeur de fichier bzip2 donné.

La lecture s'arrête lorsque length (non-compressé) octets ont été lus ou si la fin du fichier est atteint, le premier des deux qui survient.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès par la fonction bzopen().

length

Si non spécifié, bzread() lira 1024 (non-compressé) octets à la fois.

Valeurs de retour

Retourne les données non-compressées ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bzread()

<?php

$file = "/tmp/foo.bz2";
$bz = bzopen($file, "r") or die("Impossible d'ouvrir le fichier $file");

$decompressed_file = '';
while (!feof($bz)) {
  $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

echo "Le contenu du fichier $file est : <br />\n";
echo $decompressed_file;

?>

Voir aussi

  • bzwrite() - Écriture binaire dans un fichier bzip2
  • feof() - Teste la fin du fichier
  • bzopen() - Ouvre un fichier compressé avec bzip2

bzopen
bzwrite
Fonctions Bzip2


Écriture binaire dans un fichier bzip2

bzread
LZF
Fonctions Bzip2
PHP Manual

bzwrite

(PHP 4 >= 4.0.4, PHP 5)

bzwrite — Écriture binaire dans un fichier bzip2

Description

int bzwrite ( resource $bz , string $data [, int $length ] )

bzwrite() écrit le contenu de la chaîne data dans le fichier bzip2 représenté par bz.

Liste de paramètres

bz

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès par la fonction bzopen().

data

Les données écrites.

length

Si fourni, l'écriture s'arrêtera après que length (non-compressé) octets aient été écrits ou bien que la fin de data soit atteinte, le premier des deux qui survient.

Valeurs de retour

Retourne le nombre d'octets écrits ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bzwrite()

<?php
$str = "donné non-compressée";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

Voir aussi

  • bzread() - Lecture binaire d'un fichier bzip2
  • bzopen() - Ouvre un fichier compressé avec bzip2

bzread
LZF
Fonctions Bzip2


LZF

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions LZF
    • lzf_compress — Compression LZF
    • lzf_decompress — Décompression LZF
    • lzf_optimized_for — Détermine le mode d'optimisation de l'extension LZF
bzwrite
Introduction
Extensions sur l'archivage et la compression


Introduction

LZF est un algorithme de compression très rapide, idéal pour économiser de l'espace disque sans trop de perte de temps. Il peut être optimisé pour la vitesse ou pour la compression au moment de la compilation. Cette extension utilise la bibliothèque » liblzf créée par Marc Lehmann.

LZF
Installation/Configuration
LZF


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
LZF


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/lzf.

Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support lzf en utilisant l'option de configuration --with-lzf[=DIR]. Vous pouvez également passer l'option --enable-lzf-better-compression pour optimiser LZF d'un point de vue d'espace au détriment de la vitesse.

Les utilisateurs de Windows doivent activer la bibliothèque php_lzf.dll dans le php.ini pour pouvoir utiliser ces fonctions. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions LZF
LZF


Fonctions LZF

Sommaire

  • lzf_compress — Compression LZF
  • lzf_decompress — Décompression LZF
  • lzf_optimized_for — Détermine le mode d'optimisation de l'extension LZF
Constantes pré-définies
lzf_compress
LZF


Compression LZF

Fonctions LZF
lzf_decompress
Fonctions LZF
PHP Manual

lzf_compress

(PECL lzf >= 0.1.0)

lzf_compress — Compression LZF

Description

string lzf_compress ( string $data )

lzf_compress() compresse les données data en utilisant l'encodage LZF.

Liste de paramètres

data

La chaîne de caractères à compresser.

Valeurs de retour

Retourne les données compressées ou FALSE si une erreur survient.

Voir aussi

  • lzf_decompress() - Décompression LZF

Fonctions LZF
lzf_decompress
Fonctions LZF


Décompression LZF

lzf_compress
lzf_optimized_for
Fonctions LZF
PHP Manual

lzf_decompress

(PECL lzf >= 0.1.0)

lzf_decompress — Décompression LZF

Description

string lzf_decompress ( string $data )

lzf_compress() décompresse les données data en utilisant l'encodage LZF.

Liste de paramètres

data

La chaîne compressée.

Valeurs de retour

Retourne les données compressées ou FALSE si une erreur survient.

Voir aussi

  • lzf_compress() - Compression LZF

lzf_compress
lzf_optimized_for
Fonctions LZF


Détermine le mode d'optimisation de l'extension LZF

lzf_decompress
Phar
Fonctions LZF
PHP Manual

lzf_optimized_for

(PECL lzf >= 1.0.0)

lzf_optimized_for — Détermine le mode d'optimisation de l'extension LZF

Description

int lzf_optimized_for ( void )

Détermine le mode d'optimisation de l'extension LZF.

Valeurs de retour

Retourne 1 si LZF a été optimisé pour la vitesse, 0 pour la compression.

lzf_decompress
Phar
Fonctions LZF


Phar

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Utiliser les archives Phar
    • Utiliser les archives Phar : Introduction
    • Utiliser les archives Phar : le flux phar
    • Utiliser les archives Phar : les classes Phar et PharData
  • Créer des archives Phar
    • Créer des archives Phar : Introduction
  • Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?
    • Les constituants de toutes les archives Phar, indépendamment du format de fichier
    • Le conteneur de fichier Phar
    • Comparaison entre Phar, Tar et Zip
    • Les phars basés sur Tar
    • Les phars basés sur Zip
    • Le format de fichier Phar
    • Drapeaux "bitmappés" globaux du Phar
    • Définition des entrées du manifeste Phar
    • Phar Signature format
  • Phar — La classe Phar
    • Phar::addEmptyDir — Ajoute un répertoire vide à l'archive phar
    • Phar::addFile — Ajoute un fichier du système de fichiers à l'archive phar
    • Phar::addFromString — Ajoute un fichier du système de fichiers à l'archive phar
    • Phar::apiVersion — Retourne la version de l'API
    • Phar::buildFromDirectory — Construit une archive phar à partir des fichiers d'un répertoire
    • Phar::buildFromIterator — Construit une archive phar à partir d'un itérateur
    • Phar::canCompress — Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
    • Phar::canWrite — Détermine si l'extension phar supporte la création et l'écriture des phars
    • Phar::compress — Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
    • Phar::compressAllFilesBZIP2 — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
    • Phar::compressAllFilesGZ — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
    • Phar::compressFiles — Compresse tous les fichiers de l'archive Phar courante'
    • Phar::__construct — Construit un objet d'archive Phar
    • Phar::convertToData — Convertit une archive phar en un fichier non-exécutable
    • Phar::convertToExecutable — Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
    • Phar::copy — Copie un fichier appartenant à une archive vers un autre fichier de la même archive
    • Phar::count — Retourne le nombre d'entrées (fichiers) dans l'archive Phar
    • Phar::createDefaultStub — Crée un conteneur de chargement d'une archive Phar
    • Phar::decompress — Décompresse l'archive tar complète
    • Phar::decompressFiles — Décompresse tous les fichiers de l'archive Phar courante
    • Phar::delMetadata — Efface les méta-données globales du phar
    • Phar::delete — Efface un fichier au sein d'une archive phar
    • Phar::extractTo — Extrait le contenu d'une archive phar vers un répertoire
    • Phar::getMetaData — Retourne les méta-données de l'archive phar
    • Phar::getModified — Indique si le fichier phar a été modifié
    • Phar::getSignature — Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar
    • Phar::getStub — Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar
    • Phar::getSupportedCompression — Retourne un tableau des algorithmes de compression supportés
    • Phar::getSupportedSignatures — Retourne un tableau des types de signature supportés
    • Phar::getVersion — Retourne les informations de version de l'archive Phar
    • Phar::hasMetaData — Détermine si le phar a ou non des méta-données
    • Phar::interceptFileFuncs — Informe phar qu'il doit intercepter les fonctions de fichiers
    • Phar::isBuffering — Détermine si les opérations d'écriture du Phar sont mises en tampons ou sont directement inscrites sur le disque
    • Phar::isCompressed — Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
    • Phar::isFileFormat — Retourne TRUE si l'archive phar est basée sur le formats de fichier tar/phar/zip selon le paramètre
    • Phar::isValidPharFilename — Détermine si le nom de fichier spécifié est un nom de fichier valide pour une archive phar
    • Phar::isWritable — Retourne TRUE si l'archive phar peut être modifiée
    • Phar::loadPhar — Charge n'importe quelle archive phar avec un alias
    • Phar::mapPhar — Lit le phar exécuté et charge son manifeste
    • Phar::mount — Monte un chemin ou un fichier externe à un emplacement virtuel au sein de l'archive phar
    • Phar::mungServer — Définit une liste de maximum 4 variables $_SERVER qui doivent être modifiées lors de l'exécution
    • Phar::offsetExists — détermine si un fichier existe dans le phar
    • Phar::offsetGet — Obtient un objet PharFileInfo à partir d'un fichier
    • Phar::offsetSet — met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
    • Phar::offsetUnset — Efface un fichier d'un phar
    • Phar::running — Retourne le chemin complet sur le disque ou l'URL phar complète de l'archive phar couramment exécutée
    • Phar::setAlias — Fixe l'alias de l'archive Phar
    • Phar::setDefaultStub — Utilisé pour fixer le chargeur PHP ou le conteneur de chargement d'une archive Phar en tant que chargeur par défaut
    • Phar::setMetadata — Fixe les métadonnées de l'archive phar
    • Phar::setSignatureAlgorithm — Fixe et applique l'algorithme de signature d'un phar
    • Phar::setStub — Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar
    • Phar::startBuffering — Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque
    • Phar::stopBuffering — Arrête la mise en tampon des écritures Phar et provoque l'écriture que le disque
    • Phar::uncompressAllFiles — Décompresse tous les fichiers de l'archive Phar courante
    • Phar::unlinkArchive — Efface complètement une archive phar du disque et de la mémoire
    • Phar::webPhar — mapPhar pour les phars orientés web. Contrôleur pour les applications web
  • PharData — La classe PharData
    • PharData::addEmptyDir — Ajoute un répertoire vide à l'archive tar/zip
    • PharData::addFile — Ajoute un fichier du système de fichiers à l'archive tar/zip
    • PharData::addFromString — Ajoute un fichier du système de fichiers à l'archive tar/zip
    • PharData::buildFromDirectory — Construit une archive tar/zip à partir des fichiers d'un répertoire
    • PharData::buildFromIterator — Construit une archive tar ou zip à partir d'un itérateur
    • PharData::compress — Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
    • PharData::compressFiles — Compresse tous les fichiers de l'archive tar/zip courante
    • PharData::__construct — Construit un objet d'archive tar ou zip non-exécutable
    • PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exécutable
    • PharData::convertToExecutable — Convertit une archive tar/zip non-exécutable en une archive phar exécutable
    • PharData::copy — Copie un fichier un fichier interne à l'archive phar vers un autre fichier au sein de la même archive
    • PharData::decompress — Décompresse l'archive Phar entière
    • PharData::decompressFiles — Décompresse tous les fichier de l'archive zip courante
    • PharData::delMetadata — Efface les méta-données globales d'une archive zip
    • PharData::delete — Efface un fichier au sein de l'archive tar/zip
    • PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire
    • PharData::isWritable — Vérifie si l'archive tar/zip peut être modifiée
    • PharData::offsetSet — remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères
    • PharData::offsetUnset — efface un fichier d'une archive tar/zip
    • PharData::setAlias — fonction inutile (Phar::setAlias n'est pas valide pour PharData)
    • PharData::setDefaultStub — fonction inutile (Phar::setDefaultStub n'est pas valide pour PharData)
    • Phar::setMetadata — Fixe les méta-données de l'archive
    • Phar::setSignatureAlgorithm — Assigne l'algorithme de signature d'un phar et l'applique
    • PharData::setStub — fonction inutile (Phar::setStub n'est pas valide pour PharData)
  • PharFileInfo — La classe PharFileInfo
    • PharFileInfo::chmod — Fixe les bits de permission spécifiques aux fichiers
    • PharFileInfo::compress — Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
    • PharFileInfo::__construct — Construit un objet d'entrée Phar
    • PharFileInfo::decompress — Décompresse l'entrée Phar courante au sein du phar
    • PharFileInfo::delMetadata — Efface les métadonnées de l'entrée
    • PharFileInfo::getCRC32 — Retourne le code CRC32 ou soulève une exception si le CRC n'a pas été vérifié
    • PharFileInfo::getCompressedSize — Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
    • PharFileInfo::getMetaData — Retourne les méta-données spécifiques attachées à un fichier
    • PharFileInfo::getPharFlags — Retourne les drapeaux du fichier Phar
    • PharFileInfo::hasMetadata — Retourne les méta-données de l'entrée
    • PharFileInfo::isCRCChecked — Détermine si le fichier a un CRC vérifié
    • PharFileInfo::isCompressed — Retourne si l'entrée est compressée
    • PharFileInfo::isCompressedBZIP2 — Détermine si l'archive Phar est compressée avec bzip2
    • PharFileInfo::isCompressedGZ — Détermine si l'archive Phar est compressée avec gzip
    • PharFileInfo::setCompressedBZIP2 — Compresse l'entrée Phar courante au sein du phar avec Bzip2
    • PharFileInfo::setCompressedGZ — Compresse l'entrée Phar courante au sein du phar avec gzip
    • PharFileInfo::setMetaData — Fixe les métadonnées spécifiques à un fichier
    • PharFileInfo::setUncompressed — Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharException — La classe PharException
    • PharException — La classe PharException fournit une classe d'exception spécifique à phar pour essayer/attraper des blocs
lzf_optimized_for
Introduction
Extensions sur l'archivage et la compression


Introduction

L'extension phar fournit un moyen de mettre une application PHP complète dans un fichier unique appelé un "phar" (PHP Archive) pour une installation et une configuration aisées. En plus de ce service, l'extension fournit aussi une classe d'abstraction de format de fichier pour créer et manipuler des fichiers tar et zip à travers la classe PharData, tout comme PDO fournit une interface unifiée pour accéder à des base de données différentes. Mais à l'inverse de PDO, qui ne peut pas transposer les données d'une base à l'autre, Phar a la possibilité de convertir des fichiers tar, zip et phar avec une simple ligne de code. Regardez Phar::convertToExecutable() pour avoir un exemple.

Qu'est-ce que phar? Les archives phar sont en fait un moyen pratique de grouper plusieurs fichiers en un seul. Ainsi, une archive phar permet de distribuer une application PHP complète dans un fichier unique et de l'exécuter à partir de ce fichier sans pour autant l'extraire sur le disque. De plus, des archives phar peuvent être exécutées par PHP aussi facilement que n'importe quel autre fichier, aussi bien en ligne de commande que via un serveur web. Phar est une sorte de clé USB pour les applications PHP.

Phar implémente cette fonctionnalité via un flux. Normalement, pour utiliser un fichier externe à partir d'un script PHP, vous devez utiliser la fonction include()

Exemple #1 Utiliser un fichier externe

<?php
 include '/chemin/vers/le/fichier/externe.php';
 ?>

On peut considérer que PHP traduit en fait /chemin/vers/le/fichier/externe.php en un flux file:///chemin/vers/le/fichier/externe.php, et qu'il utilise de façon cachée les fonctions de flux de fichiers plats pour accéder à des fichiers locaux.

Pour utiliser un fichier nommé fichier.php contenu dans une archive phar /chemin/vers/monphar.phar, la syntaxe est quasi similaire à la syntaxe file:// ci-dessus.

Exemple #2 Utilier un fichier contenu dans une archive phar

<?php
 include 'phar:///chemin/vers/monphar.phar/fichier.php';
 ?>

En fait, on peut traiter une archive phar comme s'il s'agissait d'un disque externe, en utilisant n'importe laquelle des fonctions relatives à fopen(), opendir() et mkdir() pour lire, changer ou créer des nouveaux fichiers ou répertoires au sein de l'archive phar. Celà permet à des applications PHP complètes d'être distribuées dans un seul fichier et d'être exécutées à partir de celui-ci

L'utilisation la plus courant d'une archive phar est de distribuer une application complète en un seul fichier. Par exemple, l'installeur PEAR qui est inclus avec les versions de PHP est distribué grâce à une archive phar. pour utiliser l'archive phar ainsi distribuée, celle-ci peut-être exécutée via la ligne de commande ou via un navigateur web.

Les archives phar peuvent être distribuées sous forme de fichiers tar, de fichiers zip ou de fichiers phar spécialement conçus pour l'extensions phar. Chaque format de fichier a ses avantages et ses inconvénients. Les fichiers zip et tar peuvent être extraits par n'importe quel outil tiers qui peut lire le format, mais requièrent l'extension phar pour être exécutés par PHP. Le format de fichier phar est unique et dédié à l'extension phar et peut être créé uniquement par celle-ci ou par le paquet PEAR » PHP_Archive, mais a l'avantage de ne pas nécessiter l'installation de l'extension phar pour que l'application empaquetée puisse être exécutée.

En d'autres mots, même avec l'extension phar désactivée, il est possible d'exécuter ou d'inclure une archive basée sur phar. Accéder à des fichiers individuels au sein d'une archive phar n'est possible qu'avec l'extension phar à moins que l'archive phar n'ait été créée par PHP_Archive.

L'extension phar est aussi capable de convertir une archive phar à partir d'un tar vers un fichier zip ou phar en une seule commande :

Exemple #3 Convertir une archive phar au format tar

<?php
 $phar = new Phar('monphar.phar');
 $pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // produit monphar.phar.tar.gz
 ?>

Phar peut compresser des fichiers individuels ou une archive entière en utilisant la compression gzip ou bzip2, et peut vérifier l'intégrité de l'archive automatiquement en utilisant des fonctions de signature md5(), sha1(), sha256(), ou sha512().

Enfin, l'extension phar est orientée sécurité, elle désactive par défaut les accès en écriture sur les archives phar exécutables et requiert la désactivation au niveau système du paramètre phar.readonly du php.ini pour créer ou modifier des archives phar. Des archives tar et zip sans le marqueur exécutable peuvent toujours être créées ou modifiées en utilisant la classe PharData.

Si vous créez des applications dans le but de les distribuer, vous devriez lire Comment créer des archives Phar. Si vous voulez davantage d'informations sur les différences entre les formats de fichier que phar supporte, vous devriez lire Phar, Tar et Zip.

Si vous utilisez des applications phar, il y a des astuces très utiles dans Comment utiliser des archives Phar

Le mot phar est la contraction de PHP et de Archive et est grandement inspiré du mot jar (Java Archive) familier aux développeurs Java.

L'implémentation des archives Phar est basée sur le paquet PEAR » PHP_Archive, et les détails d'implémentations sont les mêmes, bien que l'extension Phar soit plus puissante. En plus, celle-ci permet à la plupart des applications PHP d'être exécutées sans modification alors que les archives basées sur PHP_Archive requièrent souvent beaucoup de modification pour fonctionner.

Phar
Installation/Configuration
Phar


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Phar


Pré-requis

Phar requiert PHP 5.2.0 ou plus récent. Des fonctionnalités supplémentaires requièrent l'extension SPL pour tirer parti de l'itération et de l'accès sous forme de tableau au contenu d'un fichier Phar. Le flux phar ne requiert aucune extension supplémentaire pour fonctionner.

Vous pouvez éventuellement souhaiter activer les extensions zlib et bzip2 pour tirer parti du support phar compressé. De plus, pour exploiter les signatures OpenSSL, l'extension OpenSSL doit être activée.

A noter qu'un bogue dans le filtre de flux zlib.deflate corrigé en PHP 5.2.6 et plus récent pourrait causer la troncature des archives phar compressées en gzip ou bzip2.

Installation/Configuration
Installation
Installation/Configuration


Installation

L'extension Phar est incluse dans PHP depuis PHP 5.3.0. Phar peut aussi être installé depuis l'extension PECL pour les versions précédentes de PHP versions, la » page PECL de Phar contient plus d'informations et l'historique.

Les utilisateurs de Windows doivent inclure php_phar.dll dans php.ini pour utiliser cette extension.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour le système de fichiers
Nom | Défaut | Modifiable | Historique
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.extract_list | "" | PHP_INI_ALL | Disponible de phar 1.1.0 à 1.2.3, supprimé en 2.0.0.
phar.cache_list | "" | PHP_INI_SYSTEM | Disponible à partir de phar 2.0.0.

Voici un éclaircissement sur l'utilisation des directives de configuration.

phar.readonly booléen

Cette option désactive la création ou la modification des archives Phar en utilisant le flux phar ou le support en écriture sur les objets Phar. Ce paramètre devrait toujours être activé sur des machines de production, car le support en écriture sur les archives phar pourrait mener à la création de virus basés sur PHP en cas d'utilisation conjuguée avec des vulnérabilités communes.

Note: Ce paramètre ne peut être désactivé que dans php.ini pour des raisons de sécurité. Si phar.readonly est désactivé dans php.ini, l'utilisateur peut activer phar.readonly dans un script ou le désactiver plus tard. Si phar.readonly est activé dans php.ini, un script pourrait "réactiver" sans danger la variable INI, mais ne pourrait pas la désactiver.

phar.require_hash booléen

Cette option forcera toutes les archives Phar ouvertes à contenir un type de signature (à ce jour MD5, SHA1, SHA256 et SHA512 sont supportés), et toute archive Phar ne contenant pas de signature sera rejetée.

Note: Ce paramètre ne peut être désactivé que dans php.ini pour des raisons de sécurité. Si phar.require_hash est désactivé dans php.ini, l'utilisateur peut activer phar.require_hash dans un script ou le désactiver plus tard. Si phar.require_hash est activé dans php.ini, un script pourrait "réactiver" sans danger la variable INI, mais ne pourrait pas la désactiver.
Ce paramètre n'affecte pas la lecture des fichiers tar avec la classe PharData.

phar.extract_list chaîne de caractères

Ce paramètre INI a été supprimé en phar 2.0.0.

Permet la correspondance entre le chemin complet d'une archive phar ou son alias et l'emplacement de ses fichiers extraits. Le format de ce paramètre est name=archive,name2=archive2. Cela permet l'extraction de fichiers phar sur le disque, et permet à phar d'agir comme une sorte de correspondance vers des fichiers extraits sur disque. C'est souvent utilisé pour des raisons de performance ou pour aider au débogage de phar.

Exemple #1 Exemple d'utilisation de phar.extract_list

dans php.ini:
phar.extract_list = archive=/chemin/complet/vers/archive/,arch2=/chemin/complet/vers/arch2
<?php
include "phar://archive/content.php";
include "phar://arch2/foo.php";
?>

phar.cache_list chaîne de caractères

Ce paramètre INI a été ajouté en phar 2.0.0

Permet aux correspondances d'archives phar d'être traitées au démarrage du serveur web, augmentant de ce fait les performance d'accès aux fichiers contenus dans une archive phar et les rendant très proche d'un accès à des fichiers d'une installation classique sur disque.

Exemple #2 Exemple d'utilisation de phar.cache_list

dans php.ini (windows):
phar.cache_list =C:\chemin\vers\phar1.phar;C:\chemin\vers\phar2.phar
dans php.ini (unix):
phar.cache_list =/chemin/vers/phar1.phar:/chemin/vers/phar2.phar

Installation
Types de ressources
Installation/Configuration


Types de ressources

L'extension Phar fournit le flux phar, qui permet l'accès de façon transparente aux fichiers contenus dans un phar. Pour davantage d'information, lisez le format de fichier Phar

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes de compression Phar
Constante | Valeur | Description
Phar::NONE ( integer ) | 0x00000000 | aucune compression
Phar::COMPRESSED ( integer ) | 0x0000F000 | masque de bits pouvant être utilisé avec les drapeaux de fichier pour déterminer si une compression est utilisée
Phar::GZ ( integer ) | 0x00001000 | compression zlib (gzip)
Phar::BZ2 ( integer ) | 0x00002000 | compression bzip2
Les constantes de format de fichier Phar
Constante | Valeur | Description
Phar::SAME ( integer ) | 0 | Conserve le même format de fichier
Phar::PHAR ( integer ) | 1 | format de fichier phar
Phar::TAR ( integer ) | 2 | format de fichier tar
Phar::ZIP ( integer ) | 3 | format de fichier zip
Les constantes de signature Phar
Constante | Valeur | Description
Phar::MD5 ( integer ) | 0x0001 | signature avec l'algorithme md5
Phar::SHA1 ( integer ) | 0x0002 | signature avec l'algorithme sha1
Phar::SHA256 ( integer ) | 0x0003 | signature avec l'algorithme sha256 (requiert l'extension hash)
Phar::SHA512 ( integer ) | 0x0004 | signature avec l'algorithme sha512 (requiert l'extension hash)
Phar::OPENSSL ( integer ) | 0x0010 | signature avec une paire de clé privée/publique OpenSSL. C'est une véritable signature à clé asymétrique/
Les constantes d'écrasement de mime Phar webPhar
Constante | Valeur | Description
Phar::PHP ( integer ) | 1 | utilisée pour renseigner le paramètre d'écrasement mime de Phar::webPhar() et faire en sorte que l'extension soit parsée comme un fichier PHP
Phar::PHPS ( integer ) | 2 | utilisée pour renseigner le paramètre d'écrasement mime de Phar::webPhar() et faire en sorte que l'extension soit parsée comme un fichier PHP via highlight_file()
Types de ressources
Utiliser les archives Phar
Phar


Utiliser les archives Phar

Sommaire

  • Utiliser les archives Phar : Introduction
  • Utiliser les archives Phar : le flux phar
  • Utiliser les archives Phar : les classes Phar et PharData
Constantes pré-définies
Utiliser les archives Phar : Introduction
Phar


Utiliser les archives Phar : Introduction

Les archives Phar sont identiques dans le concept aux archives JAR de Java, mais sont conçues plus spécifiquement pour les besoins et la flexibilité des applications PHP. Une archive Phar est utilisée pour distribuer une application PHP complète ou une bibliothèque sous forme d'un fichier unique. A l'inverse de Java, aucun outil externe n'est requis pour manipuler ou exécuter une archive Phar PHP. Une application sous forme d'archive Phar est utilisée exactement de la même façon que n'importe quelle autre application PHP :

php applicationsympa.phar

L'utilisation d'une bibliothèque sous forme d'archive Phar est la même que n'importe quelle autre bibliothèque PHP :

<?php
include 'bibliothequesympa.phar';
?>

Le flux phar fournit le coeur de l'extension phar, et est décrit en détails ici. Le flux phar permet l'accès aux fichiers contenus dans une archive phar via les fonctions standards de fichier fopen(), opendir(), et toute autre fonctionnant sur des fichiers normaux. Le flux phar supporte toutes les opérations de lecture/écriture à al fois su les fichiers et sur les répertoires.

<?php
include 'phar://bibliothequesympa.phar/fichier/interne.php';
header('Content-type: image/jpeg');
// les phars peuvent être atteint via le chemin complet ou via des alias
echo file_get_contents('phar:///chemin/complet/vers/bibliothequesympa.phar/images/wow.jpg');
?>

La classe Phar implémente des fonctionnalités avancées pour accéder aux fichiers et créer des archives phar. La classe Phar est décrite en détails ici.

<?php
try {
    // ouvre un phar existant
    $p = new Phar('bibliothequesympa.phar', 0);
    // Phar étend la classe DirectoryIterator de SPL
    foreach (new RecursiveIteratorIterator($p) as $file) {
        // $file est une classe PharFileInfo et hérité de SplFileInfo
        echo $file->getFileName() . "\n";
        echo file_get_contents($file->getPathName()) . "\n"; // affiche le contenu;
    }
    if (isset($p['fichier/interne.php'])) {
        var_dump($p['fichier/interne.php']->getMetaData());
    }

    // crée un nouveau phar - phar.readonly doit être à 0 dans php.ini
    // phar.readonly est activé par défaut pour des raisons de sécurité.
    // Sur des serveurs de production, les Phars n'ont pas besoin d'être créés,
    // juste d'être exécutés.
    if (Phar::canWrite()) {
        $p = new Phar('nouveauphar.tar.phar', 0, 'nouveauphar.tar.phar');
        // On crée une archive Phar basée sur tar, compressée par gzip (.tar.gz)
        $p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

        // crée une transaction - rien n'est écrit dans nouveauphar.phar
        // jusqu'à ce que stopBuffering() ne soit appelé, bien qu'un stockage temporaire soit requis
        $p->startBuffering();
        // ajoute tous les fichier de /chemin/vers/leprojet dans le phar avec le préfixe "projet"
        $p->buildFromIterator(new RecursiveIteratorIterator(new DirectoryIterator('/chemin/vers/leprojet')), '/chemin/vers/');

        // ajoute un nouveau fichier en utilisant l'API d'accès par tableau
        $p['fichier1.txt'] = 'Information';
        $fp = fopen('grosfichier.dat', 'rb');
        // copie toutes les données du flux
        $p['data/grosfichier.dat'] = $fp;

        if (Phar::canCompress(Phar::GZ)) {
            $p['data/grosfichier.dat']->compress(Phar::GZ);
        }

        $p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
        // toute valeur peut être sauvegardée comme métadonnée spécifique au fichier
        $p['images/wow.jpg']->setMetaData(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetaData(array('bootstrap' => 'index.php'));

        // sauvegarde l'archive phar sur le disque
        $p->stopBuffering();
    }
} catch (Exception $e) {
    echo 'N\'a pas pu ouvrir le Phar: ', $e;
}
?>

D'autre part, la vérification du contenu du fichier phar peut être faite en utilisant un des algorithme de signature symétrique (MD5, SHA1, SHA256 et SHA512 si ext/hash est activée) et en utilisant la signature asymétrique par clé publique/privée de OpenSSL (nouveauté de Phar 2.0.0). Pour tirer parti de la signature OpenSSL, vous devez générer une paire de clés publique/privée et utiliser la clé privée pour signer avec Phar::setSignatureAlgorithm(). En plus, la clé publique, extraite en utilisant ce code :

<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
doit être sauvegardée à part de l'archive phar qu'elle vérifie. Si l'archive phar est sauvegardée en tant que /chemin/vers/mon.phar, la clé publique doit être sauvegardée en tant que /chemin/vers/mon.phar.pubkey, sans quoi phar ne sera pas capable de vérifier la signature OpenSSL.

Depuis la version 2.0.0, la classe Phar fournit aussi trois méthodes statiques, Phar::webPhar(), Phar::mungServer() et Phar::interceptFileFuncs() qui sont cruciales pour empaqueter des applications PHP visant à être utilisée sur un système de fichier classique ou en tant qu'application web. Phar::webPhar() implémente un contrôleur qui route les appels HTTP vers le bon endroit de l'archive phar. Phar::mungServer() est utilisé pour modifier les valeurs du tableau $_SERVER pour dire aux applications d'utiliser ces valeurs. Phar::interceptFileFuncs() dit à Phar d'intercepter les appels à fopen(), file_get_contents(), opendir(), et à toutes les fonctions basées sur stat (file_exists(), is_readable(), etc) et route tous les chemins relatif vers les bons endroits de l'archive phar.

Par exemple, empaqueter une version de la célèbre application phpMyAdmin dans une archive phar nécessite juste ce simple script et, dès lors, phpMyAdmin.phar.tar.php peut être accédé comme un fichier classique à partir de votre serveur web, après avoir modifié le couple utilisateur/motdepasse :

<?php
@unlink('phpMyAdmin.phar.tar.php');
copy('phpMyAdmin-2.11.3-english.tar.gz', 'phpMyAdmin.phar.tar.php');
$a = new Phar('phpMyAdmin.phar.tar.php');
$a->startBuffering();
$a["phpMyAdmin-2.11.3-english/config.inc.php"] = '<?php
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'compress\'] = false;
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'\';

/* End of servers configuration */
if (strpos(PHP_OS, \'WIN\') !== false) {
    $cfg[\'UploadDir\'] = getcwd();
} else {
    $cfg[\'UploadDir\'] = \'/tmp/pharphpmyadmin\';
    @mkdir(\'/tmp/pharphpmyadmin\');
    @chmod(\'/tmp/pharphpmyadmin\', 0777);
}';
$a->setStub('<?php
Phar::interceptFileFuncs();
Phar::webPhar("phpMyAdmin.phar", "phpMyAdmin-2.11.3-english/index.php");
echo "phpMyAdmin is intended to be executed from a web browser\n";
exit -1;
__HALT_COMPILER();
');
$a->stopBuffering();
?>

Utiliser les archives Phar
Utiliser les archives Phar : le flux phar
Utiliser les archives Phar


Utiliser les archives Phar : le flux phar

Le flux Phar supporte totalement fopen() pour les lectures/écritures (pas les concaténations), unlink(), stat(), fstat(), fseek(), rename() et le opérations de flux sur les répertoires opendir() et depuis la version 2.0.0, rmdir() et mkdir().

La compression et les métadonnées individuelles par fichier peuvent aussi être manipulées au sein de l'archive Phar en utilisant les contextes de flux :

<?php
$context = stream_context_create(array('phar' =>
                                    array('compress' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://mon.phar/unfichier.php', 0, $context);
?>

Le flux phar n'agit pas sur les fichiers distants et ne peut pas considérer les fichiers distants, etc... même si les options INI allow_url_fopen et allow_url_include sont désactivées.

Bien qu'il soit possible de créer des archives phar de zéro en utilisant juste les opérations sur les flux, il est préférable d'utiliser la fonctionnalité incluse dans la classe Phar. Le flux est mieux utilisé pour les opérations de lecture.

Utiliser les archives Phar : Introduction
Utiliser les archives Phar : les classes Phar et PharData
Utiliser les archives Phar


Utiliser les archives Phar : les classes Phar et PharData

La classe Phar supporte la lecture et la manipulation des archives Phar, ainsi que l'itération à travers la fonctionnalité héritée de la classe RecursiveDirectoryIterator. Avec le support de l'interface ArrayAccess, les fichiers contenus dans une archive Phar peuvent être accédés comme s'ils étaient membres d'un tableau associatif.

La classe PharData étend la classe Phar, et permet la création et la modification d'archives tar et zip non exécutables (données) même si phar.readonly=1 dans php.ini. Ainsi, PharData::setAlias() et PharData::setStub() sont toutes deux désactivées car les concepts d'alias et de conteneur sont restreints aux archives phar exécutables.

Il est important de noter que quand une archive Phar est créée, le chemin complet doit être passé au constructeur de l'objet Phar. Un chemin relatif empêcherait l'initialisation.

En supposant que $p est un objet initialisé de cette façon :

<?php
$p = new Phar('/chemin/vers/monphar.phar', 0, 'monphar.phar');
?>

Une archive Phar vide sera créée en tant que /chemin/vers/monphar.phar, ou si /chemin/vers/monphar.phar existe déjà, il sera ouvert de nouveau. Le terme monphar.phar démontre le concept d'un alias qui peut être utilisé pour référencer /chemin/vers/monphar.phar dans des URL comme ceci :

<?php
// ces deux appels à file_get_contents() sont équivalents si
// /chemin/vers/monphar.phar a un alias explicite de "monphar.phar"
// dans son mainfeste, ou si le phar a été initialisé avec l'instantiation de
// l'objet Phar de l'exemple précedent
$f = file_get_contents('phar:///chemin/vers/monphar.phar/nimportequoi.txt');
$f = file_get_contents('phar://monphar.phar/nimportequoi.txt');
?>

Avec l'objet Phar $p nouvellement créé, les choses suivantes sont possibles :

  • $a = $p['fichier.php'] crée une PharFileInfo qui réfère au contenu de phar://monphar.phar/fichier.php
  • $p['fichier.php'] = $v crée un nouveau fichier (phar://monphar.phar/fichier.php), ou écrase un fichier existant au sein de monphar.phar. $v peut être soit une chaîne ou un pointeur vers un fichier ouvert, dans quel cas le contenu du fichier sera utilisé pour créer le nouveau fichier. Notez que $p->addFromString('fichier.php', $v) est équivalent en terme de fonctionnalité au cas ci-dessus. Il est aussi possible d'ajouter le contenu d'un fichier avec $p->addFile('/chemin/vers/fichier.php', 'fichier.php'). Enfin, un répertoire vide peut être créé avec $p->addEmptyDir('vide').
  • isset($p['fichier.php']) peut être utilisé pour déterminer si phar://monphar.phar/fichier.php existe au sein de monphar.phar.
  • unset($p['fichier.php']) efface phar://monphar.phar/fichier.php de monphar.phar.

De plus, l'objet Phar est le seul moyen d'accéder aux métadonnées spécifiques de Phar, via Phar::getMetaData(), et c'est aussi le seul moyen de régler ou de récupérer le conteneur du chargeur de l'archive Phar via Phar::getStub() et Phar::setStub(). De plus, la compression pour l'archive Phar entière peut être manipulée seulement via la classe Phar.

La liste complète des fonctionnalités de l'objet Phar est documentée ci-dessous.

La classe PharFileInfo étend la classe SplFileInfo et ajoute plusieurs méthodes pour manipuler les métadonnées spécifiques à Phar d'un fichier contenu dans un Phar, telles que manipuler la compression ou les métadonnées.

Utiliser les archives Phar : le flux phar
Créer des archives Phar
Utiliser les archives Phar


Créer des archives Phar

Sommaire

  • Créer des archives Phar : Introduction
Utiliser les archives Phar : les classes Phar et PharData
Créer des archives Phar : Introduction
Phar


Créer des archives Phar : Introduction

Sera entièrement écrit plus tard. Avant de lire ceci, soyez sûr de lire Comment utiliser des archives Phar.

Se documenter sur Phar::buildFromIterator() et les spécificités des choix de format de fichier disponible pour les archives peut être un bon début. Une bonne compréhension de ce qu'est et de ce que fait un conteneur (stub) est cruciale pour la création d'archive phar, ce qui fait de Phar::setStub() et Phar::createDefaultStub() également un bon point de départ. Si vous distribuer des applications web, il est important de connaître Phar::webPhar() et la méthode associée Phar::mungServer(). Toute application qui accède à ses propres fichiers devrait aussi considérer l'utilisation de Phar::interceptFileFuncs().

Créer des archives Phar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?
Créer des archives Phar


Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?

Sommaire

  • Les constituants de toutes les archives Phar, indépendamment du format de fichier
  • Le conteneur de fichier Phar
  • Comparaison entre Phar, Tar et Zip
  • Les phars basés sur Tar
  • Les phars basés sur Zip
  • Le format de fichier Phar
  • Drapeaux "bitmappés" globaux du Phar
  • Définition des entrées du manifeste Phar
  • Phar Signature format
Créer des archives Phar : Introduction
Les constituants de toutes les archives Phar, indépendamment du format de fichier
Phar


Les constituants de toutes les archives Phar, indépendamment du format de fichier

Toute les archives Phar contiennent de trois à quatre sections:

  1. Un conteneur

  2. Un manifest décrivant le contenu

  3. Le contenu du fichier

  4. Une signature (facultative) pour vérifier l'intégrité (uniquement avec le format de fichier phar)

Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?
Le conteneur de fichier Phar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Le conteneur de fichier Phar

Un conteneur Phar est un simple fichier PHP. Le conteneur minimal contient :

<?php __HALT_COMPILER();

Un conteneur doit contenir au moins le jeton __HALT_COMPILER(); en guise de conclusion. Typiquement, un conteneur comportera les fonctionnalités de chargement suivantes :

<?php
Phar::mapPhar();
include 'phar://monphar.phar/index.php';
__HALT_COMPILER();

Il n'y a aucune restriction sur le contenu d'un conteneur Phar, si ce n'est le besoin d'être conclu par __HALT_COMPILER();. Le tag fermant PHP

?>
peut être inclus ou omis, mais il ne peut y avoir plus d'un espace entre le ; et le tag fermant
?>
 sans quoi l'extension phar ne sera pas capable de lire le manifeste de l'archive.

Dans une archive phar basée sur tar ou zip, le conteneur est stocké dans le fichier .phar/stub.php. Le conteneur par défaut des archives Phar basées sur phar contient approximativement 7ko de code pour extraire le contenu du phar et l'exécuter. Regardez la fonction Phar::createDefaultStub() pour davantage de détails.

L'alias phar est stocké, dans le cas d'une archive phar basée sur tar ou zip, dans le fichier .phar/alias.txt en tant que texte plein.

Les constituants de toutes les archives Phar, indépendamment du format de fichier
Comparaison entre Phar, Tar et Zip
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Comparaison entre Phar, Tar et Zip

Quels sont les avantages et les inconvénients de chacun des trois formats supportés par l'extension phar? Ce tableau tente de répondre à cette question.

Tableau comparatif : Phar, Tar et Zip
Fonctionnalité | Phar | Tar | Zip
Format de fichier standard | Non | Oui | Oui
Peut être exécuté sans l'extension Phar [1] | Oui | Non | Non
Compression par fichier | Oui | Non | Oui
Compression pour toute l'archive | Oui | Oui | Non
Validation par signature de toute l'archive | Oui | Oui | Oui (PHP 5.3.1+)
Support d'applications spécifiquement Web | Oui | Oui | Oui
Métadonnées par fichier | Oui | Oui | Oui
Métadonnées pour toute l'archive | Oui | Oui | Oui
Création/modification d'archive [2] | Oui | Oui | Oui
Support complet de toutes les fonctions de flux | Oui | Oui | Oui
Peut être créée/modifiée même si phar.readonly=1 [3] | Non | Oui | Oui

Astuce

[1] PHP ne peut accéder directement au contenu d'une archive Phar sans que l'extension Phar soit installée si elle utilise un conteneur qui extrait le contenu de l'archive phar. Le conteneur créé par Phar::createDefaultStub() extrait l'archive phar et exécute son contenu à partir d'un répertoire temporaire si aucune extension phar n'est trouvée.

Astuce

[2] Tous les accès en écriture nécessitent que phar.readonly soit désactivé dans le php.ini ou directement via la ligne de commande.

Astuce

[3] Seules les archives tar ou zip sans .phar dans leur nom et sans conteneur exécutable .phar/stub.php peuvent être créées si phar.readonly=1.

Le conteneur de fichier Phar
Les phars basés sur Tar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Les phars basés sur Tar

Les archives basées sur le format de fichier tar sont conformes au format moderne USTAR. Le design des en-têtes du fichier tar le rend plus efficace que le format de fichier zip et aussi efficace que le format de fichier phar quand il s'agit d'accéder aux données. Les noms de fichiers sont limités à 255 octets, y compris le chemin complet au sein de l'archive phar basée sur tar. Ces archives peuvent être intégralement compressées au format gzip ou bzip2 tout en restant exécutables par l'extension Phar.

Pour compresser une archive entière, utilisez Phar::compress(). Pour décompresser une archive entière, utilisez Phar::decompress().

Comparaison entre Phar, Tar et Zip
Les phars basés sur Zip
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Les phars basés sur Zip

Les archives basées sur le format de fichier zip supportent de nombreuses fonctionnalités incluses dans le format zip. Les métadonnées par fichier ou sur toute l'archive sont stockées dans les commentaires du fichier zip et de l'archive zip en tant que chaîne de caractères sérialisée. Les commentaires zip déjà existants seront lus sans problème en tant que chaîne. Les lectures/écritures compressées sont supportées par la compression zlib, et uniquement les lectures compressées par la compression bzip2. Il n'y a pas de limite sur le nombre de fichiers au sein d'une archive phar basée sur zip. Les répertoires vides sont stockés dans l'archive zip comme des fichiers avec un slash final, comme mon/repertoire/

Les phars basés sur Tar
Le format de fichier Phar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Le format de fichier Phar

Le format de fichier phar est composé de conteneur/manifeste/contenu/signature, et stocke les informations cruciales de ce qui est contenu dans l'archive phar dans son manifeste.

Le manifeste Phar est un format hautement optimisé qui permet la spécification fichier par fichier de la compression, des permissions et même des métadonnées utilisateur tels que l'utilisateur ou le groupe propriétaire. Toutes les valeurs de plus d'un octet sont stockées sous forme petit-boutiste, Ã l'exception de la version de l'API qui est stockée pour des raisons historiques en 3 morceaux grand-boutistes.

Tous les drapeaux non utilisés sont réservés pour un usage futur et ne doivent pas être utilisés pour stocker des informations personnalisées. Utilisez les métadonnées par fichier pour stocker des métadonnées personnalisées sur des fichiers particuliers.

Le format de fichier basique du manifeste d'une archive Phar est le suivant :

Format global du manifeste Phar
Taille en octets | Description
4 octets | Longueur du manifeste en octets (limitée à 1 Mo)
4 octets | Nombre de fichiers dans le Phar
2 octets | Version de l'API du manifest Phar (à ce jour 1.0.0)
4 octets | Drapeaux "bitmappés" globaux du Phar
4 octets | Longueur de l'alias Phar
?? | L'alias Phar (longueur basée sur la valeur précédente)
4 octets | Longueur des métadonnées Phar (0 si aucune)
?? | métadonnées Phar sérialisées, stockées dans un format serialize()
au moins 24 * nombre d'octets des entrées | Entrées pour chaque fichier

Les phars basés sur Zip
Drapeaux "bitmappés" globaux du Phar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Drapeaux "bitmappés" globaux du Phar

Voici les drapeaux "bitmappés" actuellement reconnus par l'extension Phar pour le bitmap plein global de Phar :

Valeurs de bitmap reconnues
Valeur | Description
0x00010000 | Si présent, le Phar contient une signature de vérification
0x00001000 | Si présent, le Phar contient au moins 1 fichier qui est compressé grâce à zlib
0x00002000 | Si présent, le Phar contient au moins 1 fichier qui est compressé grâce à bzip

Le format de fichier Phar
Définition des entrées du manifeste Phar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Définition des entrées du manifeste Phar

Chaque fichier du manifeste contient les informations suivantes :

Entrée du manifeste Phar
Taille en octets | Description
4 octets | Longueur du nom de fichier en octets
?? | Nom de fichier (longueur basée sur la valeur précédente)
4 octets | Taille du fichier décompressé en octets
4 octets | Timestamp Unix du fichier
4 octets | Taille du fichier compressé en octets
4 octets | Somme de contrôle CRC32 du contenu décompressé du fichier
4 octets | Drapeaux bitmappés spécifiques au fichier
4 octets | Longueur des métadonnées du fichier sérialisées (0 si aucune)
?? | métadonnées du fichier sérialisées, stockées dans un format serialize()

A noter qu'à partir de l'API 1.1.1, les répertoires vides sont stockés comme des noms de fichier avec un slash final comme mon/repertoire/

Les valeurs reconnues de drapeaux bitmappés spécifiques au fichier sont :

Valeurs reconnues de bitmap
Valeur | Description
0x000001FF | Ces bits sont réservés pour définir des permissions spécifiques au fichier. Celles-ci sont utilisées pour fstat() et peuvent être utilisées pour recréer les permissions souhaitées en cas d'extraction.
0x00001000 | Si présent, le fichier est compressé grâce à zlib
0x00002000 | Si présent, le fichier est compressé grâce à bzip

Drapeaux "bitmappés" globaux du Phar
Phar Signature format
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


Phar Signature format

Les Phar qui contiennent une signature ont toujours la signature ajoutée à la fin du Phar, après le chargeur, le manifeste et le contenu. Les deux types de signature supportés à ce jour sont MD5 et SHA1.

Format de signature
Longueur en octets | Description
16 ou 20 octets | La signature actuelle, 20 octets pour une SHA1, 16 octets pour une MD5, 32 octets pour une SHA256, et 64 octets pour une SHA512.
4 octets | Les drapeaux de signature. 0x0001 est utilisé pour définir une signature MD5, 0x0002 pour une SHA1, 0x0004 pour une SHA256 et 0x0008 pour une SHA512. Le support des signatures SHA256 et SHA512 a été introduit avec l'API version 1.1.0.
4 octets | GBMB magique utilisé pour définir la présence d'une signature.

Définition des entrées du manifeste Phar
Phar
Qu'est-ce qui fait d'un phar un phar et pas un tar ou un zip?


La classe Phar

Introduction

La classe Phar fournit une interface de haut niveau pour accéder et créer des archives phar.

Synopsis de la classe

Phar
Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Propriétés */
/* Méthodes */
void addEmptyDir ( string $dirname )
void addFile ( string $file [, string $localname ] )
void addFromString ( string $localname , string $contents )
string apiVersion ( void )
array buildFromDirectory ( string $base_dir [, string $regex ] )
array buildFromIterator ( Iterator $iter [, string $base_directory ] )
bool canCompress ([ int $type = 0 ] )
bool canWrite ( void )
object compress ( int $compression [, string $extension ] )
bool compressAllFilesBZIP2 ( void )
bool compressAllFilesGZ ( void )
void compressFiles ( int $compression )
void __construct ( string $fname [, int $flags [, string $alias ]] )
PharData convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
Phar convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
bool copy ( string $oldfile , string $newfile )
int count ( void )
string createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
object decompress ([ string $extension ] )
bool decompressFiles ( void )
bool delMetadata ( void )
bool delete ( string $entry )
bool extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
mixed getMetaData ( void )
bool getModified ( void )
array getSignature ( void )
string getStub ( void )
array getSupportedCompression ( void )
array getSupportedSignatures ( void )
string getVersion ( void )
bool hasMetadata ( void )
void interceptFileFuncs ( void )
bool isBuffering ( void )
mixed isCompressed ( void )
bool isFileFormat ( int $format )
bool isValidPharFilename ( string $filename [, bool $executable = true ] )
bool isWritable ( void )
bool loadPhar ( string $filename [, string $alias ] )
bool mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
void mount ( string $pharpath , string $externalpath )
void mungServer ( array $munglist )
bool offsetExists ( string $offset )
int offsetGet ( string $offset )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
string running ([ bool $retphar = true ] )
bool setAlias ( string $alias )
bool setDefaultStub ([ string $index [, string $webindex ]] )
void setMetadata ( mixed $metadata )
void setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
bool setStub ( string $stub )
void startBuffering ( void )
void stopBuffering ( void )
bool uncompressAllFiles ( void )
bool unlinkArchive ( string $archive )
void webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, array $rewrites ]]]]] )
}

Sommaire

  • Phar::addEmptyDir — Ajoute un répertoire vide à l'archive phar
  • Phar::addFile — Ajoute un fichier du système de fichiers à l'archive phar
  • Phar::addFromString — Ajoute un fichier du système de fichiers à l'archive phar
  • Phar::apiVersion — Retourne la version de l'API
  • Phar::buildFromDirectory — Construit une archive phar à partir des fichiers d'un répertoire
  • Phar::buildFromIterator — Construit une archive phar à partir d'un itérateur
  • Phar::canCompress — Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::canWrite — Détermine si l'extension phar supporte la création et l'écriture des phars
  • Phar::compress — Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::compressAllFilesBZIP2 — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::compressFiles — Compresse tous les fichiers de l'archive Phar courante'
  • Phar::__construct — Construit un objet d'archive Phar
  • Phar::convertToData — Convertit une archive phar en un fichier non-exécutable
  • Phar::convertToExecutable — Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
  • Phar::copy — Copie un fichier appartenant à une archive vers un autre fichier de la même archive
  • Phar::count — Retourne le nombre d'entrées (fichiers) dans l'archive Phar
  • Phar::createDefaultStub — Crée un conteneur de chargement d'une archive Phar
  • Phar::decompress — Décompresse l'archive tar complète
  • Phar::decompressFiles — Décompresse tous les fichiers de l'archive Phar courante
  • Phar::delMetadata — Efface les méta-données globales du phar
  • Phar::delete — Efface un fichier au sein d'une archive phar
  • Phar::extractTo — Extrait le contenu d'une archive phar vers un répertoire
  • Phar::getMetaData — Retourne les méta-données de l'archive phar
  • Phar::getModified — Indique si le fichier phar a été modifié
  • Phar::getSignature — Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar
  • Phar::getStub — Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::getSupportedCompression — Retourne un tableau des algorithmes de compression supportés
  • Phar::getSupportedSignatures — Retourne un tableau des types de signature supportés
  • Phar::getVersion — Retourne les informations de version de l'archive Phar
  • Phar::hasMetaData — Détermine si le phar a ou non des méta-données
  • Phar::interceptFileFuncs — Informe phar qu'il doit intercepter les fonctions de fichiers
  • Phar::isBuffering — Détermine si les opérations d'écriture du Phar sont mises en tampons ou sont directement inscrites sur le disque
  • Phar::isCompressed — Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::isFileFormat — Retourne TRUE si l'archive phar est basée sur le formats de fichier tar/phar/zip selon le paramètre
  • Phar::isValidPharFilename — Détermine si le nom de fichier spécifié est un nom de fichier valide pour une archive phar
  • Phar::isWritable — Retourne TRUE si l'archive phar peut être modifiée
  • Phar::loadPhar — Charge n'importe quelle archive phar avec un alias
  • Phar::mapPhar — Lit le phar exécuté et charge son manifeste
  • Phar::mount — Monte un chemin ou un fichier externe à un emplacement virtuel au sein de l'archive phar
  • Phar::mungServer — Définit une liste de maximum 4 variables $_SERVER qui doivent être modifiées lors de l'exécution
  • Phar::offsetExists — détermine si un fichier existe dans le phar
  • Phar::offsetGet — Obtient un objet PharFileInfo à partir d'un fichier
  • Phar::offsetSet — met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
  • Phar::offsetUnset — Efface un fichier d'un phar
  • Phar::running — Retourne le chemin complet sur le disque ou l'URL phar complète de l'archive phar couramment exécutée
  • Phar::setAlias — Fixe l'alias de l'archive Phar
  • Phar::setDefaultStub — Utilisé pour fixer le chargeur PHP ou le conteneur de chargement d'une archive Phar en tant que chargeur par défaut
  • Phar::setMetadata — Fixe les métadonnées de l'archive phar
  • Phar::setSignatureAlgorithm — Fixe et applique l'algorithme de signature d'un phar
  • Phar::setStub — Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::startBuffering — Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque
  • Phar::stopBuffering — Arrête la mise en tampon des écritures Phar et provoque l'écriture que le disque
  • Phar::uncompressAllFiles — Décompresse tous les fichiers de l'archive Phar courante
  • Phar::unlinkArchive — Efface complètement une archive phar du disque et de la mémoire
  • Phar::webPhar — mapPhar pour les phars orientés web. Contrôleur pour les applications web
Phar Signature format
Phar::addEmptyDir
Phar


Ajoute un répertoire vide à l'archive phar

Phar
Phar::addFile
Phar
PHP Manual

Phar::addEmptyDir

(Unknown)

Phar::addEmptyDir — Ajoute un répertoire vide à l'archive phar

Description

void Phar::addEmptyDir ( string $dirname )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Grâce à cette méthode, un répertoire vide est créé avec le chemin dirname. Cette méthode est identique à ZipArchive::addEmptyDir().

Liste de paramètres

dirname

Le nom du répertoire vide à créer dans l'archive phar

Valeurs de retour

pas de valeur de retour, une exception est levée en cas d'échec.

Exemples

Exemple #1 Un exemple avec Phar::addEmptyDir()

<?php
try {
    $a = new Phar('/chemin/vers/phar.phar');

    $a->addEmptyDir('/chemin/complet/vers/fichier');
    // démontre comment le fichier est stocké
    $b = $a['chemin/complet/vers/fichier']->isDir();
} catch (Exception $e) {
    // traite les erreurs ici
}
?>

Voir aussi

  • PharData::addEmptyDir() - Ajoute un répertoire vide à l'archive tar/zip
  • Phar::addFile() - Ajoute un fichier du système de fichiers à l'archive phar
  • Phar::addFromString() - Ajoute un fichier du système de fichiers à l'archive phar

Phar
Phar::addFile
Phar


Ajoute un fichier du système de fichiers à l'archive phar

Phar::addEmptyDir
Phar::addFromString
Phar
PHP Manual

Phar::addFile

(Unknown)

Phar::addFile — Ajoute un fichier du système de fichiers à l'archive phar

Description

void Phar::addFile ( string $file [, string $localname ] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Grâce à cette méthode, tout fichier ou URL peut être ajouté à l'archive phar. Si le second paramètre optionnel localname est spécifié, le fichier sera stocké dans l'archive de ce nom, sinon le paramètre file est utilisé comme chemin vers lequel stocker l'archive. Les URL doivent être locales, sans quoi une exception est levée. Cette méthode est identique à ZipArchive::addFile().

Liste de paramètres

file

Chemin absolu ou relatif vers un fichier du disque à ajouter à l'archive phar.

localname

Chemin où le fichier sera stocké dans l'archive.

Valeurs de retour

Pas de valeur de retour, une exception est levée en cas d'échec.

Exemples

Exemple #1 Un exemple avec Phar::addFile()

<?php
try {
    $a = new Phar('/chemin/vers/phar.phar');

    $a->addFile('/chemin/complet/vers/fichier');
    // démontre comment le fichier est stocké
    $b = $a['chemin/complet/vers/fichier']->getContent();

    $a->addFile('/chemin/complet/vers/fichier', 'mon/fichier.txt');
    $c = $a['mon/fichier.txt']->getContent();

    // démontre l'utilisation d'URL
    $a->addFile('http://www.exemple.com', 'exemple.html');
} catch (Exception $e) {
    // traite les erreurs ici
}
?>

Voir aussi

  • Phar::offsetSet() - met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
  • PharData::addFile() - Ajoute un fichier du système de fichiers à l'archive tar/zip
  • Phar::addFromString() - Ajoute un fichier du système de fichiers à l'archive phar
  • Phar::addEmptyDir() - Ajoute un répertoire vide à l'archive phar

Phar::addEmptyDir
Phar::addFromString
Phar


Ajoute un fichier du système de fichiers à l'archive phar

Phar::addFile
Phar::apiVersion
Phar
PHP Manual

Phar::addFromString

(Unknown)

Phar::addFromString — Ajoute un fichier du système de fichiers à l'archive phar

Description

void Phar::addFromString ( string $localname , string $contents )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Grâce à cette méthode, toute chaîne peut être ajoutée à l'archive phar. Le fichier sera stocké dans l'archive avec localname en tant que chemin. Cette méthode est identique à ZipArchive::addFromString().

Liste de paramètres

localname

Chemin dans lequel le fichier sera stocké dans l'archive.

contents

Le contenu de fichier à stocker

Valeurs de retour

Pas de valeur de retour, une exception est levée en cas d'échec.

Exemples

Exemple #1 Un exemple avec Phar::addFromString()

<?php
try {
    $a = new Phar('/chemin/vers/phar.phar');

    $a->addFromString('chemin/vers/fichier.txt', 'mon fichier simple');
    $b = $a['chemin/vers/fichier.txt']->getContent();

    // pour ajouter du contenu à partir d'un descripteur de flux pour des gros fichiers, utilisez offsetSet()
    $c = fopen('/chemin/vers/grosfichier.bin');
    $a['grosfichier.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // traite les erreurs ici
}
?>

Voir aussi

  • Phar::offsetSet() - met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
  • PharData::addFromString() - Ajoute un fichier du système de fichiers à l'archive tar/zip
  • Phar::addFile() - Ajoute un fichier du système de fichiers à l'archive phar
  • Phar::addEmptyDir() - Ajoute un répertoire vide à l'archive phar

Phar::addFile
Phar::apiVersion
Phar


Retourne la version de l'API

Phar::addFromString
Phar::buildFromDirectory
Phar
PHP Manual

Phar::apiVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::apiVersion — Retourne la version de l'API

Description

string Phar::apiVersion ( void )

Retourne la version de l'API du format de fichier phar qui sera utilisée pour la création de phars. L'extension Phar supporte la lecture des versions d'API 1.0.0 et supérieures. L'API version 1.1.0 est requise pour les hachages SHA-256 et SHA-512, et l'API version 1.1.1 est requise pour stocker des répertoires vides.

Liste de paramètres

Valeurs de retour

La version de l'API, par exemple "1.0.0".

Exemples

Exemple #1 Un exemple avecPhar::apiVersion()

<?php
echo Phar::apiVersion();
?>

L'exemple ci-dessus va afficher :

1.1.1

Phar::addFromString
Phar::buildFromDirectory
Phar


Construit une archive phar à partir des fichiers d'un répertoire

Phar::apiVersion
Phar::buildFromIterator
Phar
PHP Manual

Phar::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construit une archive phar à partir des fichiers d'un répertoire

Description

array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Remplit une archive phar à partir du contenu d'un répertoire. Le second paramètre, optionnel, est une expression rationnelle (pcre) utilisée pour exclure des fichiers. Tout fichier dont le nom satisfait l'expression rationnelle sera inclus, les autres seront exclus. Pour un contrôle plus fin, utilisez Phar::buildFromIterator().

Liste de paramètres

base_dir

Le chemin absolu ou relatif vers le répertoire contenant tous les fichiers à ajouter à l'archive.

regex

Une expression rationnelle optionnelle utilisée pour filtrer la liste des fichiers. Seuls les fichiers dont le nom satisfait l'expression rationnelle seront inclus dans l'archive.

Valeurs de retour

Phar::buildFromDirectory() retourne un tableau associatif faisant correspondre le chemin interne du fichier avec le chemin complet sur le système de fichiers.

Erreurs / Exceptions

Cette méthode lève une exception BadMethodCallException quand elle est incapable d'instancier l'itérateur de répertoire interne, ou une exception PharException s'il y a eu des erreurs lors de la sauvegarde de l'archive.

Exemples

Exemple #1 Un exemple avecPhar::buildFromDirectory()

<?php
// crée avec l'alias "projet.phar"
$phar = new Phar('projet.phar', 0, 'projet.phar');
// ajoute des fichiers dans le projet
$phar->buildFromDirectory(dirname(__FILE__) . '/projet');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('projet2.phar', 0, 'projet2.phar');
// ajoute tous les fichiers dans le projet, mais juste les fichiers .php
$phar->buildFromDirectory(dirname(__FILE__) . '/projet', '/\.php$/');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>

Voir aussi

  • Phar::buildFromIterator() - Construit une archive phar à partir d'un itérateur

Phar::apiVersion
Phar::buildFromIterator
Phar


Construit une archive phar à partir d'un itérateur

Phar::buildFromDirectory
Phar::canCompress
Phar
PHP Manual

Phar::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::buildFromIterator — Construit une archive phar à partir d'un itérateur

Description

array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Remplit une archive phar à partir d'un itérateur. Deux styles d'itérateur sont supportés : les itérateurs qui font correspondre le nom de fichier au sein du phar avec le nom d'un fichier sur le disque, et les itérateurs comme DirectoryIterator qui retournent des objets SplFileInfo. Pour les itérateurs qui retournent des objets SplFileInfo, le second paramètre est obligatoire.

Liste de paramètres

iter

Un itérateur qui associe un fichier avec une position, ou bien retourne des objets SplFileInfo.

base_directory

Pour les itérateurs qui retournent des objets SplFileInfo, la portion de chemin absolu de chaque fichier qu'il faut supprimer lors de l'ajout à l'archive phar.

Valeurs de retour

Phar::buildFromIterator() retourne un tableau associatif qui associe la représentation interne du fichier à un chemin absolu dans le système.

Exemples

Exemple #1 Exemple avec Phar::buildFromIterator() et SplFileInfo

Pour la plupart des archives phar, l'archive reflète l'arborescence d'un répertoire, et le second style est le plus utile. Par exemple, pour créer une archive phar contenant les fichiers de l'arborescence du répertoire :

/chemin/vers/projet/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

Ce code peut être utilisé pour ajouter à l'archive "projet.phar" :

<?php
// crée avec l'alias "projet.phar"
$phar = new Phar('projet.phar', 0, 'projet.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/chemin/vers/projet')),
    '/chemin/vers/projet');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>

Le fichier projet.phar peut alors être utilisé immédiatement. Phar::buildFromIterator() ne règle pas les paramètres tels que la compression ou les métadonnées; ceci peut cependant être fait après avoir créé l'archive phar.

Il est intéressant de noter que Phar::buildFromIterator() peut aussi être utilisé pour copier les éléments d'une archive phar existante, car l'objet Phar hérite de DirectoryIterator :

<?php
// crée avec l'alias "projet.phar"
$phar = new Phar('projet.phar', 0, 'projet.phar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/chemin/vers/unautrephar.phar')),
    'phar:///chemin/vers/unautrephar.phar/chemin/vers/projet');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>

Exemple #2 Exemple avec Phar::buildFromIterator() et d'autres itérateurs

La seconde forme d'itérateur peut être utilisée avec n'importe quel itérateur qui retourne une correspondance clé => valeur, tels que ArrayIterator :

<?php
// crée avec l'alias "projet.phar"
$phar = new Phar('projet.phar', 0, 'projet.phar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'interne/fichier.php' => dirname(__FILE__) . '/unfichier.php',
        'unautre/fichier.jpg' => fopen('/chemin/vers/grosfichier.jpg', 'rb'),
     )));
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>

Erreurs / Exceptions

Cette méthode émet une exception UnexpectedValueException quand l'itérateur retourne des valeurs fausses, telles qu'une clé entière à la place d'une chaîne; une exception BadMethodCallException quand un itérateur basé sur SplFileInfo est passé sans paramètre base_directory, ou une exception PharException s'il y a eu des erreurs lors de la sauvegarde de l'archive phar.

Voir aussi

  • Phar::buildFromDirectory() - Construit une archive phar à partir des fichiers d'un répertoire

Phar::buildFromDirectory
Phar::canCompress
Phar


Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2

Phar::buildFromIterator
Phar::canWrite
Phar
PHP Manual

Phar::canCompress

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canCompress — Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2

Description

bool Phar::canCompress ([ int $type = 0 ] )

Cette méthode doit être utilisée pour déterminer si la compression est possible avant de charger une archive phar qui contient des fichiers compressés.

Liste de paramètres

type

Phar::GZ et Phar::BZ2 peuvent être utilisées pour déterminer si la compression est possible avec respectivement zlip ou bzip2.

Valeurs de retour

TRUE si la compression/décompression est disponible, FALSE sinon.

Exemples

Exemple #1 Un exemple avec Phar::canCompress()

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://pharcompresse.phar/interne/fichier.txt');
} else {
    echo 'compression non disponible';
}
?>

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
  • Phar::convertToData() - Convertit une archive phar en un fichier non-exécutable

Phar::buildFromIterator
Phar::canWrite
Phar


Détermine si l'extension phar supporte la création et l'écriture des phars

Phar::canCompress
Phar::compress
Phar
PHP Manual

Phar::canWrite

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::canWrite — Détermine si l'extension phar supporte la création et l'écriture des phars

Description

bool Phar::canWrite ( void )

Cette méthode statique détermine si l'accès en écriture a été désactivé dans le php.ini du système via la variable INI phar.readonly.

Liste de paramètres

Valeurs de retour

TRUE si l'accès en écriture est possible, FALSE sinon.

Exemples

Exemple #1 Un exemple avec Phar::canWrite()

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://monphar.phar/fichier.txt', 'coucou');
}
?>

Voir aussi

  • phar.readonly
  • Phar::isWritable() - Retourne TRUE si l'archive phar peut être modifiée

Phar::canCompress
Phar::compress
Phar


Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar
PHP Manual

Phar::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compress — Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2

Description

object Phar::compress ( int $compression [, string $extension ] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Dans le cas des archives phar basées sur tar ou sur phar, cette méthode compresse l'archive complète en utilisant la compression gzip ou bzip2. Le fichier qui en résulte peut être traité avec la commande gzip/bzip2, ou accédée directement et de façon transparente avec l'extension Phar.

Dans le cas des archives phar basées sur Zip, cette méthode échoue en lançant une exception. L'extension zlib doit être activée pour compresser avec gzip, tandis que l'extension bzip2 doit être activée pour compresser avec bzip2. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

En plus, cette méthode renomme automatiquement l'archive, en suffisant son nom par .gz, .bz2 ou en enlevant l'extension si Phar::NONE est passée pour supprimer la compression. Sinon, une extension de fichier peut aussi être spécifiée en utilisant le second paramètre.

Liste de paramètres

compression

La compression doit être soit Phar::GZ, soit Phar::BZ2 pour bénéficier de la compression, ou bien Phar::NONE pour éliminer la compression.

extension

Par défaut, l'extension est .phar.gz ou .phar.bz2 pour compresser les archives phar, et .phar.tar.gz ou .phar.tar.bz2 pour compresser les archives tar. Pour décompresser, les extensions par défaut sont .phar et .phar.tar.

Valeurs de retour

Retourne un objet Phar.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible, ou si l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::compress()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p1 = $p->compress(Phar::GZ); // copie vers /chemin/vers/mon.phar.gz
$p2 = $p->compress(Phar::BZ2); // copie vers /chemin/vers/mon.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /chemin/vers/mon.phar existe déjà
?>

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante

Phar::canWrite
Phar::compressAllFilesBZIP2
Phar


Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2

Phar::compress
Phar::compressAllFilesGZ
Phar
PHP Manual

Phar::compressAllFilesBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesBZIP2 — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2

Description

bool Phar::compressAllFilesBZIP2 ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser Phar::compress(), Phar::decompress(), Phar::compressFiles() et Phar::decompressFiles() à la place.

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Cette méthode compresse tous les fichier de l'archive Phar en utilisant la compression bzip2. L'extension bzip2 doit être activée pour pouvoir bénéficier de cette fonctionnalité. De plus, si un ou des fichiers ont déjà été compressés en utilisant la compression gzip, l'extension zlib doit être activée pour pouvoir décompresser les fichiers et les re-compresser avec l'algorithme bzip2. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est on, si l'extension bzip2 n'est pas disponible, ou si un ou des fichiers ont été déjà compressés avec la compression gzip et que l'extension zlib n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::compressAllFilesBZIP2()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
string(10) "monfichier.txt"
bool(true)
bool(true)
bool(false)
string(11) "monfichier2.txt"
bool(true)
bool(true)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

Phar::compress
Phar::compressAllFilesGZ
Phar


Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar
PHP Manual

Phar::compressAllFilesGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::compressAllFilesGZ — Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip

Description

bool Phar::compressAllFilesGZ ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser Phar::compress(), Phar::decompress(), Phar::compressFiles() et Phar::decompressFiles() à la place.

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives phar basées sur tar, cette méthode compresse l'archive complète en utilisant la compression gzip. Le fichier qui en résulte peut être traité avec la commande gunzip, ou accédée directement et de façon transparente avec l'extension Phar.

Pour les archives phar basées sur Zip, cette méthode compresse tous les fichiers de l'archive Phar en utilisant la compression gzip. L'extension zlib doit être activée pour pouvoir bénéficier de cette fonctionnalité. De plus, si un ou des fichiers ont déjà été compressés en utilisant la compression bzip2, l'extension bzip2 doit être activée pour pouvoir décompresser les fichiers et les re-compresser avec l'algorithme gzip. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible, ou si un ou des fichiers ont déjà été compressés avec l'algorithme bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::compressAllFilesGZ()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
string(10) "monfichier.txt"
bool(true)
bool(false)
bool(true)
string(11) "monfichier22.txt"
bool(true)
bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

Phar::compressAllFilesBZIP2
Phar::compressFiles
Phar


Compresse tous les fichiers de l'archive Phar courante'

Phar::compressAllFilesGZ
Phar::__construct
Phar
PHP Manual

Phar::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::compressFiles — Compresse tous les fichiers de l'archive Phar courante'

Description

void Phar::compressFiles ( int $compression )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives phar basées sur tar, cette méthode lève une exception BadMethodCallException car la compression de fichier individuelle au sein d'une archive tar n'est pas supportée par le format de fichier. Utilisez Phar::compress() pour compresser une archive phar basée sur tar en entier.

Pour les extensions phar basées sur Zip, cette méthode compresse tous les fichiers de l'archive Phar en utilisant la compression spécifiée. Les extensions zlib ou bzip2 doivent être activée pour tirer parti de cette fonctionnalité. De plus, si un ou des fichiers ont déjà été compressé en utilisant la compression bzip2/zlib, l'extension adéquate doit être activée pour décompresser les fichiers avant de les recompresser. extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

Liste de paramètres

compression

La compression doit être soit Phar::GZ, soit Phar::BZ2 pour bénéficier de la compression, ou bien Phar::NONE pour éliminer la compression.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible, ou si un ou des fichiers ont été compressés avec l'algorithme bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::compressFiles()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
string(10) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(11) "monfichier2.txt"
int(4096)
bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::decompress() - Décompresse l'archive tar complète

Phar::compressAllFilesGZ
Phar::__construct
Phar


Construit un objet d'archive Phar

Phar::compressFiles
Phar::convertToData
Phar
PHP Manual

Phar::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::__construct — Construit un objet d'archive Phar

Description

void Phar::__construct ( string $fname [, int $flags [, string $alias ]] )

Liste de paramètres

fname

Le chemin vers une archive Phar existante ou à créer

flags

Les drapeaux à passer à la classe parente RecursiveDirectoryIterator.

alias

Alias avec lequel on doit faire référence à l'archive lors de l'appels aux fonctionnalités de flux.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la méthode est appelée deux fois, ou UnexpectedValueException si l'archive ne peut pas être ouverte.

Exemples

Exemple #1 Un exemple avec Phar::__construct()

<?php
try {
    $p = new Phar('/chemon/vers/mon.phar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME,
                  'mon.phar');
} catch (UnexpectedValueException $e) {
    die('Ne peut pas ouvrir mon.phar');
} catch (BadMethodCallException $e) {
    echo 'techniquement, ça ne peut pas arriver';
}
// ça fonctionne maintenant
echo file_get_contents('phar://mon.phar/exemple.txt');
// et ça fonctionne comme si nous avions tapé
echo file_get_contents('phar:///chemin/vers/mon.phar/exemple.txt');
?>

Phar::compressFiles
Phar::convertToData
Phar


Convertit une archive phar en un fichier non-exécutable

Phar::__construct
Phar::convertToExecutable
Phar
PHP Manual

Phar::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToData — Convertit une archive phar en un fichier non-exécutable

Description

PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

Convertit une archive phar exécutable en un fichier tar ou zip. Pour rendre le tar ou le zip non exécutable, le conteneur phar et l'alias phar sont supprimés de l'archive nouvellement créée.

Si aucun changement n'est spécifié, cette méthode émet une exception BadMethodCallException si l'archive est dans le format de fichier phar. Pour les archives basées sur tar ou zip, cette méthode convertit l'archive en une archive non exécutable.

En cas de succès, la méthode crée une nouvelle archive sur le disque et retourne un objet PharData. L'ancienne archive n'est pas supprimée du disque, ce qui devrait être fait manuellement à la fin du procédé.

Liste de paramètres

format

Ce doit être l'un des formats Phar::TAR ou Phar::ZIP. Si ce paramètre est NULL, le format de fichier actuel sera conservé.

compression

Ce doit être Phar::NONE pour aucune compression globale, Phar::GZ la une compression basée sur zlib et Phar::BZ2 pour une compression basée sur bzip2.

extension

Ce paramètre est utilisée pour écraser l'extension par défaut d'une archive convertie. A noter que .phar ne peut pas être utilisé dans le nom de fichier d'une archive tar ou zip non-exécutable.

Si on convertit vers une archive basée sur tar, les extensions par défaut sont .tar, .tar.gz, et .tar.bz2 selon la compression spécifiée. Pour les archives phar basées sur zip, l'extension par défaut est .zip.

Valeurs de retour

La méthode retourne un objet PharData en cas de succès et émet une exception en cas d'échec.

Erreurs / Exceptions

Cette méthode émet une exception BadMethodCallException si elle n'est pas capable de compresser, si une méthode de compression inconnue a été spécifiée ou si l'archive demandée a été mise en tampon avec Phar::startBuffering() sans être conclue avec Phar::stopBuffering(), et émet une exception PharException si un quelconque problème a été rencontré pendant la phase de création de l'archive.

Exemples

Exemple #1 Un exemple avec Phar::convertToData()

Utilisons Phar::convertToData():

<?php
try {
    $tarphar = new Phar('monphar.phar.tar');
    // notez bien que monphar.phar.tar n'est *pas* effacé
    // on convertit vers le format de fichier tar non exéctuable
    // crée monphar.tar
    $tar = $tarphar->convertToData();
    // on convertit vers le format de fichier zip non exéctuable et crée monphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // crée monphar.tbz
    $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // crée monphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // émet une exception
} catch (Exception $e) {
    // on traite les erreurs ici
}
?>

Voir aussi

  • Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
  • PharData::convertToExecutable() - Convertit une archive tar/zip non-exécutable en une archive phar exécutable
  • PharData::convertToData() - Convertit une archive phar en une archive tar ou zip non-exécutable

Phar::__construct
Phar::convertToExecutable
Phar


Convertit une archive phar vers un autre format de fichier d'archive phar exécutable

Phar::convertToData
Phar::copy
Phar
PHP Manual

Phar::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::convertToExecutable — Convertit une archive phar vers un autre format de fichier d'archive phar exécutable

Description

Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Cette méthode est utilisée pour convertir une archive phar vers un autre format de fichier. Par exemple, elle peut être utilisée pour créer une archive phar basée sur tar en partant d'une archive phar basée sur zip ou à partir d'une archive phar exécutable basée sur le format de fichier phar. De plus, elle peut aussi être utilisée pour appliquer une compression globale à une archive basée sur tar ou sur phar.

Si aucun changement n'est précisé, cette méthode lève une exception BadMethodCallException.

En cas de succès, la méthode crée une nouvelle archive sur le disque et retourne un objet Phar. L'ancienne archive n'est pas supprimée du disque, ce qui devrait être fait manuellement à la fin du procédé.

Liste de paramètres

format

Ce doit être l'un des formats Phar::PHAR, Phar::TAR, ou Phar::ZIP. Si ce paramètre est NULL, le format de fichier actuel sera conservé.

compression

Ce doit être Phar::NONE pour aucune compression globale, Phar::GZ la une compression basée sur zlib et Phar::BZ2 pour une compression basée sur bzip2.

extension

Ce paramètre est utilisée pour écraser l'extension par défaut d'une archive convertie. A noter que toutes les archives phar basée sur zip ou sur tar doivent comporter .phar dans leur extension pour être traitées comme une archive phar.

Si on convertit vers une archive basée sur phar, les extensions par défaut sont .phar, .phar.gz, ou .phar.bz2 selon la compression spécifiée. Pour les archives phar basées sur tar, les extensions par défaut sont .phar.tar, .phar.tar.gz, et .phar.tar.bz2. Pour les archives phar basées sur zip, l'extension par défaut est .phar.zip.

Valeurs de retour

La méthode retourne un objet Phar en cas de succès et lève une exception en cas d'échec.

Erreurs / Exceptions

Cette méthode lève une exception BadMethodCallException si elle n'est pas capable de compresser, si une méthode de compression inconnue a été spécifiée ou si l'archive demandée a été mise en tampon avec Phar::startBuffering() sans être conclue avec Phar::stopBuffering(), lève une exception UnexpectedValueException si le support en écriture a été désactivé et lève une exception PharException si un quelconque problème a été rencontré pendant la phase de création de l'archive.

Exemples

Exemple #1 Un exemple avec Phar::convertToExecutable()

Utilisons Phar::convertToExecutable() :

<?php
try {
    $tarphar = new Phar('monphar.phar.tar');
    // on le convertit vers le format de fichier phar
    // notez bien que monphar.phar.tar n'est *pas* effacé
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // crée monphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // crée monphar.phar.tgz
    $compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // on traite les erreurs ici
}
?>

Voir aussi

  • Phar::convertToData() - Convertit une archive phar en un fichier non-exécutable
  • PharData::convertToExecutable() - Convertit une archive tar/zip non-exécutable en une archive phar exécutable
  • PharData::convertToData() - Convertit une archive phar en une archive tar ou zip non-exécutable

Phar::convertToData
Phar::copy
Phar


Copie un fichier appartenant à une archive vers un autre fichier de la même archive

Phar::convertToExecutable
Phar::count
Phar
PHP Manual

Phar::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::copy — Copie un fichier appartenant à une archive vers un autre fichier de la même archive

Description

bool Phar::copy ( string $oldfile , string $newfile )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Copie un fichier appartenant à une archive vers un nouveau fichier de la même archive. C'est une alternative orientée objet à l'utilisation de copy() avec un flux phar.

Liste de paramètres

oldfile

newfile

Valeurs de retour

Retourne TRUE en cas de succès, mais il est plus sûr d'encadrer l'appel à cette méthode dans un bloc try/catch et de considérer son succès si aucune exception n'est levée.

Erreurs / Exceptions

Lève une exception UnexpectedValueException si le fichier source n'existe pas, si le fichier destination existe déjà, si l'accès en écriture est désactivé, si ouvrir l'un ou l'autre des fichiers échoue, si la lecture du fichier source échoue, ou lève une exception PharException si l'écriture des changement dans le phar échoue.

Exemples

Exemple #1 Exemple avec Phar::copy()

Cet exemple montre comment utiliser Phar::copy() et la comparaison en terme de performance avec l'équivalent utilisant le flux phar. La différence principale entre les deux méthodes concerne la gestion des erreurs. Toutes les méthodes Phar lèvent des exceptions, là où les fonctions de flux utilisent trigger_error().

<?php
try {
    $phar = new Phar('monphar.phar');
    $phar['a'] = 'salut';
    $phar->copy('a', 'b');
    echo $phar['b']; // affiche "salut"
} catch (Exception $e) {
    // traite les erreurs
}

// l'équivalent en terme de flux du code ci-dessus
// des E_WARNING sont retournés plutôt que des exceptions
copy('phar://monphar.phar/a', 'phar//monphar.phar/c');
echo file_get_contents('phar://monphar.phar/c'); // affiche "salut"
?>

Phar::convertToExecutable
Phar::count
Phar


Retourne le nombre d'entrées (fichiers) dans l'archive Phar

Phar::copy
Phar::createDefaultStub
Phar
PHP Manual

Phar::count

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::count — Retourne le nombre d'entrées (fichiers) dans l'archive Phar

Description

int Phar::count ( void )

Liste de paramètres

Valeurs de retour

Le nombre de fichiers contenus dans le phar, ou 0 (le nombre zéro) si aucun.

Exemples

Exemple #1 Un exemple avec Phar::count()

<?php
// on s'assure que le phar n'existe pas
@unlink('lenouveauphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/lenouveauphar.phar', 0, 'le nouveauphar.phar');
} catch (Exception $e) {
    echo 'Ne peut pas créer le phar:', $e;
}
echo 'Le nouveau phar a ' . $p->count() . " entrées\n";
$p['file.txt'] = 'salut';
echo 'Le nouveau phar a ' . $p->count() . " entrées\n";
?>

L'exemple ci-dessus va afficher :

Le nouveau phar a 0 entrées
Le nouveau phar a 1 entrées

Phar::copy
Phar::createDefaultStub
Phar


Crée un conteneur de chargement d'une archive Phar

Phar::count
Phar::decompress
Phar
PHP Manual

Phar::createDefaultStub

(Unknown)

Phar::createDefaultStub — Crée un conteneur de chargement d'une archive Phar

Description

string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )

Cette méthode est destinée à la création de conteneurs spécifique au format de fichier phar et n'est pas conçue pour être utilisée avec des archives phar basées sur tar ou sur zip.

Les archives Phar contiennent un chargeur ou un conteneur écrit en PHP qui est exécuté quand l'archive est exécutée soit par une inclusion

<?php
include 'monphar.phar';
?>
ou par une simple exécution :
php monphar.phar

Cette méthode fournit un moyen simple et facile de créer un conteneur qui lancera un fichier de démarrage à partir de l'archive phar. En plus, des fichiers différents peuvent être spécifiés pour exécuter l'archive à partir de la ligne de commande ou d'un serveur web. Le conteneur de chargement appelle alors Phar::interceptFileFuncs() pour permettre l'empaquetage facile d'applications PHP accédant au système de fichiers. Si l'extension phar n'est pas présente, le conteneur de chargement extraira l'archive phar vers un répertoire temporaire et traitera les fichier. Une fonction d'extinction effacera les fichier temporaires à la fin.

Valeurs de retour

Retourne une chaîne de caractères contenant un conteneur de chargement personnalisé qui permet à l'archive Phar créée de fonctionner avec ou sans l'extension Phar d'activée.

Erreurs / Exceptions

Lève une exception UnexpectedValueException si un des paramètres est plus long que 400 octets.

Exemples

Exemple #1 Exemple avec Phar::createDefaultStub()

<?php
try {
    $phar = new Phar('monphar.phar');
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // traite les erreurs
}
?>

Voir aussi

  • Phar::setStub() - Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::getStub() - Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar

Phar::count
Phar::decompress
Phar


Décompresse l'archive tar complète

Phar::createDefaultStub
Phar::decompressFiles
Phar
PHP Manual

Phar::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompress — Décompresse l'archive tar complète

Description

object Phar::decompress ([ string $extension ] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives phar basées sur tar et sur phar, cette méthode décompresser l'archive complète.

Pour les archives phar bases sur Zip, cette méthode échoue et lève une exception. L'extension zlib doit être active pour décompresser une archive compressée grâce à gzip, et l'extension bzip2 doit être active pour décompresser une archive compressée grâce à bzip2. Comme avec toutes les fonctionnalités qui modifient le coutenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

De plus, cette méthode change automatiquement l'extension de l'archive, .phar Par défaut pour les archives phar, ou .phar.tar pour les archives phar basées sur tar. Sinon, une extension de fichier peut aussi être spécifiée en utilisant le second paramètre.

Liste de paramètres

extension

Pour décompresser, les extension de fichier par défaut sont .phar et .phar.tar. Utilisez ce paramètre pour spécifier une autre extension de fichier. A noter que toutes les archives phar exécutables doivent contenir .phar dans leur nom de fichier.

Valeurs de retour

Un objet Phar est retourné.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible, ou si l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::decompress()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar.gz');
$p['monfichier.txt'] = 'salut';
$p['monfichier.txt'] = 'salut';
$p3 = $p2->decompress(); // crée /chemin/vers/mon.phar
?>

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante

Phar::createDefaultStub
Phar::decompressFiles
Phar


Décompresse tous les fichiers de l'archive Phar courante

Phar::decompress
Phar::delMetadata
Phar
PHP Manual

Phar::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompressFiles — Décompresse tous les fichiers de l'archive Phar courante

Description

bool Phar::decompressFiles ( void )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives phar basées sur tar, cette méthode lève une exception BadMethodCallException, car la compression individuelle des fichiers au sein d'une archive tar n'est pas supportée par le format de fichier. Utilisez Phar::compress() pour compresser en archive phar basée sur tar en entier.

Pour les archives phar basées sur Zip ou sur phar, cette méthode décompresser tous les fichiers de l'archive Phar. Les extensions zlib ou bzip2 doivent être activées pour tirer parti de cette fonctionnalité si n'importe lequel des fichiers est compressé en utilisant une la compression bzip2/zlib. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible ou si un des fichiers est compressé en utilisant la compression bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::decompressFiles()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(11) "monfichier2.txt"
int(4096)
bool(false)
bool(true)
string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::decompress() - Décompresse l'archive tar complète

Phar::decompress
Phar::delMetadata
Phar


Efface les méta-données globales du phar

Phar::decompressFiles
Phar::delete
Phar
PHP Manual

Phar::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::delMetadata — Efface les méta-données globales du phar

Description

bool Phar::delMetadata ( void )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Efface les méta-données globales du phar

Liste de paramètres

Valeurs de retour

retourne TRUE en cas de succès, mais il est plus sûr de vérifier si des exceptions sont levées, et de considérer que tout s'est bien passé si aucune n'est levée.

Erreurs / Exceptions

Lève une exception PharException si des erreurs apparaissent pendant l'écriture sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::delMetaData()

<?php
try {
    $phar = new Phar('monphar.phar');
    var_dump($phar->getMetadata());
    $phar->setMetadata("salut");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // traite les erreurs
}
?>

L'exemple ci-dessus va afficher :

NULL
string(8) "salut"
NULL

Voir aussi

  • Phar::getMetadata() - Retourne les méta-données de l'archive phar
  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données

Phar::decompressFiles
Phar::delete
Phar


Efface un fichier au sein d'une archive phar

Phar::delMetadata
Phar::extractTo
Phar
PHP Manual

Phar::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::delete — Efface un fichier au sein d'une archive phar

Description

bool Phar::delete ( string $entry )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Efface une fichier au sein d'une archive phar. C'est l'équivalent fonctionnel de l'appel à unlink() dans un contexte de flux, comme décrit dans l'exemple suivant...

Liste de paramètres

entry

Chemin du fichier à effacer au sein de l'archive.

Valeurs de retour

retourne TRUE en cas de succès, mais il est plus sûr de vérifier si des exceptions sont levées, et de considérer que tout s'est bien passé si aucune n'est levée.

Erreurs / Exceptions

Lève une exception PharException si des erreurs apparaissent pendant l'écriture sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::delete()

<?php
try {
    $phar = new Phar('monphar.phar');
    $phar->delete('efface/moi.php');
    // c'est équivalent à :
    unlink('phar://monphar.phar/efface/moi.php');
} catch (Exception $e) {
    // traite les erreurs
}
?>

Voir aussi

  • PharData::delete() - Efface un fichier au sein de l'archive tar/zip
  • Phar::unlinkArchive() - Efface complètement une archive phar du disque et de la mémoire

Phar::delMetadata
Phar::extractTo
Phar


Extrait le contenu d'une archive phar vers un répertoire

Phar::delete
Phar::getMetaData
Phar
PHP Manual

Phar::extractTo

(Unknown)

Phar::extractTo — Extrait le contenu d'une archive phar vers un répertoire

Description

bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Extrait tous les fichiers d'une archive phar vers le disque. Les fichiers et les dossiers extraits conservent les permissions à l'identique de l'intérieur de l'archive. Les paramètres optionnels permettent un éventuel contrôle sur quel fichier est extrait et si des fichiers déjà existants sur le disque peuvent être écrasés. Le second paramètre files peut être soit le nom d'un fichier ou d'un répertoire, soit un tableau de noms de fichiers et de répertoires à extraire. Par défaut, cette méthode n'écrasant pas les fichiers existants, le troisième paramètre peut être passé à TRUE pour activer l'écrasement de fichiers. Cette méthode est identique à ZipArchive::extractTo().

Liste de paramètres

pathto

Chemin du fichier à effacer au sein de l'archive.

files

Le nom d'un fichier ou d'un répertoire ou un tableau de fichiers/répertoires à extraire

overwrite

Le passer à TRUE pour activer l'écrasement des fichiers existants

Valeurs de retour

retourne TRUE en cas de succès, mais il est plus sûr de vérifier si des exceptions sont levées, et de considérer que tout s'est bien passé si aucune n'est levée.

Erreurs / Exceptions

Lève une exception PharException si des erreurs apparaissent pendant l'écriture sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::extractTo()

<?php
try {
    $phar = new Phar('monphar.phar');
    $phar->extractTo('/chemin/complet'); // extrait tous les fichiers
    $phar->extractTo('/autre/chemin', 'fichier.txt'); // extrait seulement fichier.txt
    $phar->extractTo('/ce/chemin',
        array('fichier1.txt', 'fichier2.txt')); // extrait seulement 2 fichiers
    $phar->extractTo('/troisieme/chemin', null, true); // extrait tous les fichiers, en écrasant
} catch (Exception $e) {
    // traite les erreurs
}
?>

Voir aussi

  • PharData::extractTo() - Extrait le contenu d'une archive tar/zip vers un répertoire

Phar::delete
Phar::getMetaData
Phar


Retourne les méta-données de l'archive phar

Phar::extractTo
Phar::getModified
Phar
PHP Manual

Phar::getMetaData

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getMetaData — Retourne les méta-données de l'archive phar

Description

mixed Phar::getMetaData ( void )

Récupère les méta-données de l'archive. Celles-ci peuvent être n'importe quelle variable PHP pouvant être sérialisée.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

n'importe quelle variable PHP pouvant être sérialisée et qui est stockée comme méta-donnée de l'archive Phar, ou NULL si aucune méta-donnée n'est stockée.

Exemples

Exemple #1 Un exemple avec Phar::getMetaData()

<?php
// on s'assure que le phar n'existe pas
@unlink('nouveauphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
    $p['fichier.php'] = '<?php echo "salut";';
    $p->setMetaData(array('bootstrap' => 'fichier.php'));
    var_dump($p->getMetaData());
} catch (Exception $e) {
    echo 'Ne peut pas modifier le phar :', $e;
}
?>

L'exemple ci-dessus va afficher :

array(1) {
  ["bootstrap"]=>
  string(8) "fichier.php"
}

Voir aussi

  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::delMetadata() - Efface les méta-données globales du phar
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données

Phar::extractTo
Phar::getModified
Phar


Indique si le fichier phar a été modifié

Phar::getMetaData
Phar::getSignature
Phar
PHP Manual

Phar::getModified

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getModified — Indique si le fichier phar a été modifié

Description

bool Phar::getModified ( void )

Détermine si une archive phar a eu soit un fichier interne effacé ou si le contenu d'un fichier a changé d'une façon ou d'une autre.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

TRUE si le phar a été modifié depuis son ouverture, FALSE sinon.

Phar::getMetaData
Phar::getSignature
Phar


Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar

Phar::getModified
Phar::getStub
Phar
PHP Manual

Phar::getSignature

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getSignature — Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar

Description

array Phar::getSignature ( void )

Retourne la signature de vérification d'une archive phar sous forme d'une chaîne de caractères hexadécimale.

Liste de paramètres

Valeurs de retour

Un tableau avec la signature de l'archive ouverte avec le hash en guise de clé et "MD5", "SHA-1", "SHA-256" ou "SHA-512" comme hash_type. Cette signature est un hachage calculé à partir du contenu de l'archive entière; elle peut être utilisée pour vérifier l'intégrité de l'archive. Une signature valide est absolument requise pour toutes les archives phar exécutables si la variable INI phar.require_hash vaut TRUE.

Phar::getModified
Phar::getStub
Phar


Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar

Phar::getSignature
Phar::getSupportedCompression
Phar
PHP Manual

Phar::getStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getStub — Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar

Description

string Phar::getStub ( void )

Les archives phar contiennent un chargeur, ou conteneur (stub), écrit en PHP qui est exécuté quand l'archive elle-même est exécutée soit par inclusion :

<?php
include 'monphar.phar';
?>
soit par simple exécution :
php monphar.phar

Valeurs de retour

Retourne une chaîne de caractères avec le contenu du conteneur de chargement (stub) de l'archive phar courante.

Erreurs / Exceptions

Lève une exception RuntimeException s'il n'est pas possible de lire le conteneur de chargement de l'archive Phar.

Exemples

Exemple #1 Exemple avec Phar::getStub()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
echo $p->getStub();
echo "==SUIVANT==\n";
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('monphar.phar');
include 'phar://monphar.phar/demarrage.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>

L'exemple ci-dessus va afficher :

<?php __HALT_COMPILER(); ?>
==SUIVANT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('monphar.phar');
include 'phar://monphar.phar/demarrage.php';
__HALT_COMPILER(); ?>

Voir aussi

  • Phar::setStub() - Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::createDefaultStub() - Crée un conteneur de chargement d'une archive Phar

Phar::getSignature
Phar::getSupportedCompression
Phar


Retourne un tableau des algorithmes de compression supportés

Phar::getStub
Phar::getSupportedSignatures
Phar
PHP Manual

Phar::getSupportedCompression

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::getSupportedCompression — Retourne un tableau des algorithmes de compression supportés

Description

array Phar::getSupportedCompression ( void )

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Retourne un tableau contenant l'un des algorithmes Phar::GZ ou Phar::BZ2, selon la disponibilité de l'extension zlib ou de l'extension bz2.

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante

Phar::getStub
Phar::getSupportedSignatures
Phar


Retourne un tableau des types de signature supportés

Phar::getSupportedCompression
Phar::getVersion
Phar
PHP Manual

Phar::getSupportedSignatures

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::getSupportedSignatures — Retourne un tableau des types de signature supportés

Description

array Phar::getSupportedSignatures ( void )

Retourne un tableau des types de signature supportés

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Retourne un tableau contenant un ou plusieurs des types MD5, SHA-1, SHA-256, SHA-512.

Voir aussi

  • Phar::getSignature() - Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar
  • Phar::setSignatureAlgorithm() - Assigne l'algorithme de signature d'un phar et l'applique

Phar::getSupportedCompression
Phar::getVersion
Phar


Retourne les informations de version de l'archive Phar

Phar::getSupportedSignatures
Phar::hasMetaData
Phar
PHP Manual

Phar::getVersion

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::getVersion — Retourne les informations de version de l'archive Phar

Description

string Phar::getVersion ( void )

Retourne la version de l'API d'une archive Phar ouverte.

Liste de paramètres

Valeurs de retour

La version de l'API de l'archive ouverte. A ne pas confondre avec la version dAPI que l'extension phar chargée utilisera pour créer de nouveaux phar. Chaque archive Phar a la version d'API codée en dur dans son manifeste. Pour davantage d'information, regardez le format de fichier Phar.

Voir aussi

  • Phar::apiVersion() - Retourne la version de l'API

Phar::getSupportedSignatures
Phar::hasMetaData
Phar


Détermine si le phar a ou non des méta-données

Phar::getVersion
Phar::interceptFileFuncs
Phar
PHP Manual

Phar::hasMetaData

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::hasMetaData — Détermine si le phar a ou non des méta-données

Description

bool Phar::hasMetadata ( void )

Détermine si le phar a ou non des méta-données.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Retourne TRUE si des méta-données sont présentes, FALSE sinon.

Exemples

Exemple #1 Un exemple avec Phar::hasMetaData()

<?php
try {
    $phar = new Phar('monphar.phar');
    var_dump($phar->hasMetadata());
    $phar->setMetadata(array('deschoses' => 'salut'));
    var_dump($phar->hasMetadata());
    $phar->delMetadata();
    var_dump($phar->hasMetadata());
} catch (Exception $e) {
    // traite les erreurs
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)
bool(false)

Voir aussi

  • Phar::getMetadata() - Retourne les méta-données de l'archive phar
  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::delMetadata() - Efface les méta-données globales du phar

Phar::getVersion
Phar::interceptFileFuncs
Phar


Informe phar qu'il doit intercepter les fonctions de fichiers

Phar::hasMetaData
Phar::isBuffering
Phar
PHP Manual

Phar::interceptFileFuncs

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::interceptFileFuncs — Informe phar qu'il doit intercepter les fonctions de fichiers

Description

void Phar::interceptFileFuncs ( void )

Informe phar d'intercepter fopen(), readfile(), file_get_contents(), opendir() et toutes les fonctions relatives à stat. Si n'importe laquelle de ces fonctions est appelée depuis l'archive phar avec un chemin relatif, l'appel est modifié pour accéder à un fichier au sein de l'archive. Les chemins absolus sont supposés être des tentatives de chargement de fichiers externes à partir du système de fichiers.

Cette fonction rend possible l'exécution d'applications PHP conçues pour être lancées en dehors d'un disque dur, en tant qu'application phar.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec Phar::interceptFileFuncs()

<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/fichier.php';
?>

En supposant que ce phar est nommé /chemin/vers/monphar.phar est qu'il contient fichier.php et fichier2.txt, si fichier.php contient ce code :

Exemple #2 Un exemple avec Phar::interceptFileFuncs()

<?php
echo file_get_contents('fichier2.txt');
?>

Normalement, PHP chercherait dans le répertoire courant le fichier nommé file2.txt, c'est à dire dans le répertoire de fichier.php ou le répertoire courant de l'utilisateur de la ligne de commande. Phar::interceptFileFuncs() dit à PHP de considérer phar:///chemin/vers/monphar.phar/ comme répertoire courant et ainsi ouvre dans l'exemple ci-dessus le fichier phar:///chemin/vers/monphar.phar/fichier2.txt.

Phar::hasMetaData
Phar::isBuffering
Phar


Détermine si les opérations d'écriture du Phar sont mises en tampons ou sont directement inscrites sur le disque

Phar::interceptFileFuncs
Phar::isCompressed
Phar
PHP Manual

Phar::isBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::isBuffering — Détermine si les opérations d'écriture du Phar sont mises en tampons ou sont directement inscrites sur le disque

Description

bool Phar::isBuffering ( void )

Cette méthode peut être utilisée pour déterminer si un Phar sauvera ses changements immédiatement sur le disque ou si un appel à la fonction Phar->stopBuffering() est nécessaire pour inscrire les modifications.

La mise en tampon de l'écriture du Phar se fait par archive; la mise en tampon de l'archive Pharfoo.phar n'affecte en rien les changements faits sur l'archive Phar bar.phar.

Valeurs de retour

Retourne TRUE si les opérations d'écriture sont mises en tampons, FALSE sinon.

Exemples

Exemple #1 Un exemple avec Phar::isBuffering()

<?php
$p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
$p2 = new Phar('pharexistant.phar');
$p['fichier1.txt'] = 'salut';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

Voir aussi

  • Phar::startBuffering() - Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque
  • Phar::stopBuffering() - Arrête la mise en tampon des écritures Phar et provoque l'écriture que le disque

Phar::interceptFileFuncs
Phar::isCompressed
Phar


Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)

Phar::isBuffering
Phar::isFileFormat
Phar
PHP Manual

Phar::isCompressed

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isCompressed — Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)

Description

mixed Phar::isCompressed ( void )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc). Les archives phar basées sur Zip ne peuvent pas être compressées en tant que fichier, et cette méthode retournera toujours FALSE si une archive phar basée sur Zip est interrogée.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Phar::GZ, Phar::BZ2 ou FALSE

Exemples

Exemple #1 Exemple avec Phar::isCompressed()

<?php
try {
    $phar1 = new Phar('monphar.zip.phar');
    var_dump($phar1->isCompressed());
    $phar2 = new Phar('monpharnoncompresse.tar.phar');
    var_dump($phar2->isCompressed());
    $phar2->compressAllFilesGZ();
    var_dump($phar2->isCompressed() == Phar::GZ);
} catch (Exception $e) {
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés

Phar::isBuffering
Phar::isFileFormat
Phar


Retourne TRUE si l'archive phar est basée sur le formats de fichier tar/phar/zip selon le paramètre

Phar::isCompressed
Phar::isValidPharFilename
Phar
PHP Manual

Phar::isFileFormat

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::isFileFormat — Retourne TRUE si l'archive phar est basée sur le formats de fichier tar/phar/zip selon le paramètre

Description

bool Phar::isFileFormat ( int $format )

Liste de paramètres

format

Soit Phar::PHAR, soit Phar::TAR, soit Phar::ZIP pour tester le format de fichier de l'archive.

Valeurs de retour

Retourne TRUE si l'archive phar utilise le format de fichier spécifié en paramètre

Erreurs / Exceptions

Une exception PharException est levée sur le paramètre est un format de fichier inconnu.

Voir aussi

  • Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
  • Phar::convertToData() - Convertit une archive phar en un fichier non-exécutable

Phar::isCompressed
Phar::isValidPharFilename
Phar


Détermine si le nom de fichier spécifié est un nom de fichier valide pour une archive phar

Phar::isFileFormat
Phar::isWritable
Phar
PHP Manual

Phar::isValidPharFilename

(PHP >= 5.3.0, PECL phar >= 1.2.0)

Phar::isValidPharFilename — Détermine si le nom de fichier spécifié est un nom de fichier valide pour une archive phar

Description

bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )

Détermine si le nom de fichier spécifié est une nom de fichier valide pour une archive phar, qui sera reconnue comme telle par l'extension phar. Ceci peut être utilisé pour tester un nom sans avoir à instancier une archive phar et à attraper l'inévitable Exception qui sera levée si un nom de fichier non valide est spécifié.

Liste de paramètres

filename

Le nom ou le chemin complet vers une archive phar non encore créée

executable

Ce paramètre détermine si le nom de fichier doit être traité comme celui d'une archive phar exécutable ou comme une archive de données non exécutable.

Valeurs de retour

Retourne TRUE si le nom de fichier est valide, FALSE sinon.

Phar::isFileFormat
Phar::isWritable
Phar


Retourne TRUE si l'archive phar peut être modifiée

Phar::isValidPharFilename
Phar::loadPhar
Phar
PHP Manual

Phar::isWritable

(Unknown)

Phar::isWritable — Retourne TRUE si l'archive phar peut être modifiée

Description

bool Phar::isWritable ( void )

Cette méthode retourne TRUE si phar.readonly est à 0 et que l'archive phar actuelle sur le disque n'est pas en lecture seule.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Retourne TRUE si l'archive phar peut être modifiée

Voir aussi

  • Phar::canWrite() - Détermine si l'extension phar supporte la création et l'écriture des phars
  • PharData::isWritable() - Vérifie si l'archive tar/zip peut être modifiée

Phar::isValidPharFilename
Phar::loadPhar
Phar


Charge n'importe quelle archive phar avec un alias

Phar::isWritable
Phar::mapPhar
Phar
PHP Manual

Phar::loadPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::loadPhar — Charge n'importe quelle archive phar avec un alias

Description

bool Phar::loadPhar ( string $filename [, string $alias ] )

Cette méthode peut être utilisée pour lire le contenu d'une archive Phar externe. C'est principalement utile pour assigner un alias à un phar de telle façon que les références ultérieures au phar puissent être faites à l'aide d'un alias plus court ou pour charger des archives Phar qui contiennent seulement des données et qui ne sont pas destinées à être exécutées/incluses dans des scripts PHP.

Liste de paramètres

filename

le chemin relatif ou absolu vers l'archive phar à ouvrir

alias

L'alias qui pourra être utilisé pour se référer à l'archive phar. Notez que de nombreuses archives phar spécifient un alias explicite au sein de l'archive phar, et une exception PharException sera levée si un nouvel alias est spécifié dans ce cas.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Une exceptionPharException est levée si un alias est passé alors que l'archive phar a déjà un alias explicite

Exemples

Exemple #1 Un exemple avec Phar::loadPhar()

Phar::loadPhar peut être utilisée n'importe où pour charger une archive phar externe alors que Phar::mapPhar devrait être utilisée dans un conteneur de chargement pour un Phar.

<?php
try {
    Phar::loadPhar('/chemin/vers/phar.phar', 'mon.phar');
    echo file_get_contents('phar://mon.phar/fichier.txt');
} catch (PharException $e) {
    echo $e;
}
?>

Voir aussi

  • Phar::mapPhar() - Lit le phar exécuté et charge son manifeste

Phar::isWritable
Phar::mapPhar
Phar


Lit le phar exécuté et charge son manifeste

Phar::loadPhar
Phar::mount
Phar
PHP Manual

Phar::mapPhar

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::mapPhar — Lit le phar exécuté et charge son manifeste

Description

bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )

Cette méthode statique peut être utilisée seulement au sein du conteneur de chargement d'une archive Phar pour initialiser le phar quand il est exécuté directement ou quand il est inclus dans un autre script.

Liste de paramètres

alias

L'alias qui peut être utilisé dans l'URL phar:// pour se référer à l'archive plutôt que d'utiliser son chemin complet.

dataoffset

Variable inutilisée, présente par souci de compatibilité avec la bibliothèque PHP_Archive de PEAR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Une exception PharException est levée si la méthode n'est pas appelée directement au sein de l'exécution de PHP, si aucun jeton __HALT_COMPILER(); n'est trouvé dans le fichier source actuel ou si le fichier ne peut pas être ouvert en lecture.

Exemples

Exemple #1 Exemple avec Phar::mapPhar()

mapPhar ne doit être utilisé qu'au sein du conteneur de chargement d'un phar. Utilisez loadPhar pour charger un phar externe en mémoire.

Voici un exemple de conteneur de chargement Phar qui utilise mapPhar.

<?php
function __autoload($class)
{
    include 'phar://mon.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
    Phar::mapPhar('mon.phar');
    include 'phar://mon.phar/demarrage.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('Ne peut pas initialiser le Phar');
}
__HALT_COMPILER();

Voir aussi

  • Phar::loadPhar() - Charge n'importe quelle archive phar avec un alias

Phar::loadPhar
Phar::mount
Phar


Monte un chemin ou un fichier externe à un emplacement virtuel au sein de l'archive phar

Phar::mapPhar
Phar::mungServer
Phar
PHP Manual

Phar::mount

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::mount — Monte un chemin ou un fichier externe à un emplacement virtuel au sein de l'archive phar

Description

void Phar::mount ( string $pharpath , string $externalpath )

Tout comme le concept unix de montage d'un périphérique externe à un endroit de l'arborescence, Phar::mount() permet de se référer à des fichiers et des répertoires externes comme s'ils étaient à l'intérieur de l'archive.

Liste de paramètres

pharpath

Le chemin interne au sein de l'archive phar à utiliser en tant que point de montage. En cas d'exécution au sein d'une archive phar, ce peut être un chemin relatif, sinon ce doit être une URL absolue phar.

externalpath

Un chemin ou une URL vers un fichier ou un répertoire externe à monter au sein de l'archive

Valeurs de retour

Aucun retour. Une exception PharException est levée en cas d'échec.

Erreurs / Exceptions

Lève une exception PharException si un problème est rencontré lors du montage.

Exemples

Exemple #1 Un exemple avec Phar::mount()

L'exemple suivant présente l'accès à un fichier de configuration externe comme s'il était un chemin au sein de l'archive phar.

Tout d'abord, le code au sein de l'archive phar :

<?php
$configuration = simplexml_load_string(file_get_contents(
    Phar::running(false) . '/config.xml'));
?>

Ensuite le code externe utilisé pour monter le fichier de configuration :

<?php
// on commence par configurer l'association entre le fichier config.xml abstrait
// et celui sur le disque
Phar::mount('phar:///chemin/vers/archive.phar/config.xml', '/home/exemple/config.xml');
// on lance maintenant l'application
include '/chemin/vers/archive.phar';
?>

Une autre méthode est de mettre le code de montage au sein du conteneur de chargement de l'archive phar. Voici un exemple pour configurer un fichier de configuration par défaut si aucune configuration utilisateur n'est faite :

<?php
// on commence par configurer l'association entre le fichier config.xml abstrait
// et celui sur le disque
if (defined('EXTERNAL_CONFIG')) {
    Phar::mount('config.xml', EXTERNAL_CONFIG);
    if (file_exists(__DIR__ . '/extra_config.xml')) {
        Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
    }
} else {
    Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
    Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// on lance maintenant l'application
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>

... et le code externe pour charger cette archive phar :

<?php
define('EXTERNAL_CONFIG', '/home/exemple/config.xml');
// on lance maintenant l'application
include '/chemin/vers/archive.phar';
?>

Phar::mapPhar
Phar::mungServer
Phar


Définit une liste de maximum 4 variables $_SERVER qui doivent être modifiées lors de l'exécution

Phar::mount
Phar::offsetExists
Phar
PHP Manual

Phar::mungServer

(Unknown)

Phar::mungServer — Définit une liste de maximum 4 variables $_SERVER qui doivent être modifiées lors de l'exécution

Description

void Phar::mungServer ( array $munglist )

Phar::mungServer() doit être appelée seulement dans le conteneur de chargement d'une archive phar.

Définit une liste de maximum 4 variables $_SERVER qui doiventt être modifiées lors de l'exécution. Les variables qui peuvent être modifiées pour effacer les traces de l'exécution phar sont REQUEST_URI, PHP_SELF, SCRIPT_NAME et SCRIPT_FILENAME.

Seule, cette méthode ne fait rien. Elle prend effet seulement quand elle est combinée à Phar::webPhar() et seulement si le fichier demandé est un fichier PHP à parser. Notez que les variables PATH_INFO et PATH_TRANSLATED sont toujours modifiées.

Les valeurs de départ des variables qui sont modifiées sont stockées dans le tableau SERVER avec le préfixe PHAR_ et donc par exemple SCRIPT_NAME sera stockée en tant que PHAR_SCRIPT_NAME.

Liste de paramètres

munglist

un tableau contenant n'importe laquelle des variables REQUEST_URI, PHP_SELF, SCRIPT_NAME et SCRIPT_FILENAME en tant qu'indices de chaînes de caractères. Les autres valeurs déclenchent une exception et Phar::mungServer() est sensible à la casse.

Valeurs de retour

Aucun retour.

Erreurs / Exceptions

Lève une exception UnexpectedValueException si un quelconque problème est trouvé dans les données passées.

Exemples

Exemple #1 Un exemple avec Phar::mungServer()

<?php
// exemple de conteneur
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

Voir aussi

  • Phar::webPhar() - mapPhar pour les phars orientés web. Contrôleur pour les applications web
  • Phar::setStub() - Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar

Phar::mount
Phar::offsetExists
Phar


détermine si un fichier existe dans le phar

Phar::mungServer
Phar::offsetGet
Phar
PHP Manual

Phar::offsetExists

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetExists — détermine si un fichier existe dans le phar

Description

bool Phar::offsetExists ( string $offset )

C'est une implémentation de l'interface ArrayAccess qui permet la manipulation directe du contenu d'une archive Phar en utilisant les crochets d'accès au tableau.

offsetExists() est appelé comme isset() est appelé.

Liste de paramètres

offset

Le nom de fichier (en chemin relatif) à chercher dans le Phar.

Valeurs de retour

Retourne TRUE si le fichier existe dans le phar, FALSE sinon.

Exemples

Exemple #1 Un exemple avec Phar::offsetExists()

<?php
$p = new Phar(dirname(__FILE__) . '/mon.phar', 0, 'mon.phar');
$p['premierfichier.txt'] = 'premier fichier';
$p['secondfichier.txt'] = 'second fichier';
// les lignes suivantes font appel à offsetExists() de façon indirecte
var_dump(isset($p['premierfichier.txt']));
var_dump(isset($p['pasla.txt']));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

Voir aussi

  • Phar::offsetGet() - Obtient un objet PharFileInfo à partir d'un fichier
  • Phar::offsetSet() - met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
  • Phar::offsetUnset() - Efface un fichier d'un phar

Phar::mungServer
Phar::offsetGet
Phar


Obtient un objet PharFileInfo à partir d'un fichier

Phar::offsetExists
Phar::offsetSet
Phar
PHP Manual

Phar::offsetGet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetGet — Obtient un objet PharFileInfo à partir d'un fichier

Description

int Phar::offsetGet ( string $offset )

C'est une implémentation de l'interface ArrayAccess qui permet la manipulation directe du contenu d'une archive Phar en utilisant les crochets d'accès au tableau. Phar::offsetGet() est utilisé pour extraire des fichiers d'une archive Phar.

Liste de paramètres

offset

Le nom de fichier (en chemin relatif) à chercher dans le Phar.

Valeurs de retour

Un objet PharFileInfo est retourné et peut être utilisé pour intégrer le contenu d'un fichier ou pour récupérer des informations sur le fichier courant.

Erreurs / Exceptions

Cette méthode émet une exception BadMethodCallException si le fichier n'existe pas dans l'archive Phar.

Exemples

Exemple #1 Exemple avec Phar::offsetGet()

Comme avec toutes les classes qui implémentent l'interface ArrayAccess, Phar::offsetGet() est automatiquement appelée quand les crochets d'accès à un tableau sont utilisés ([]).

<?php
$p = new Phar(dirname(__FILE__) . '/monphar.phar', 0, 'monphar.phar');
$p['existe.txt'] = "le fichier existe\n";
try {
    // appelle automatiquement offsetGet()
    echo $p['existe.txt'];
    echo $p['nexistepas.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

L'exemple ci-dessus va afficher :

le fichier existe
Entry nexistepas.txt does not exist

Voir aussi

  • Phar::offsetExists() - détermine si un fichier existe dans le phar
  • Phar::offsetSet() - met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
  • Phar::offsetUnset() - Efface un fichier d'un phar

Phar::offsetExists
Phar::offsetSet
Phar


met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe

Phar::offsetGet
Phar::offsetUnset
Phar
PHP Manual

Phar::offsetSet

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetSet — met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe

Description

void Phar::offsetSet ( string $offset , string $value )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

C'est une implémentation de l'interface ArrayAccess qui permet la manipulation directe du contenu d'une archive Phar en utilisant les crochets d'accès au tableau. offsetSet est utilisé pour modifier un fichier existant ou pour ajouter un nouveau fichier à l'archive Phar.

Liste de paramètres

offset

Le nom de fichier (en chemin relatif) à chercher dans le Phar.

value

Contenu du fichier.

Valeurs de retour

Aucune valeur de retour.

Erreurs / Exceptions

Si phar.readonly est à 1, une exception BadMethodCallException est levée, car modifier un Phar n'est permis que quand phar.readonly est à 0. Une exception PharException est levée s'il y a eu un problème lors de l'écriture des changements de l'archive Phar sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::offsetSet()

offsetSet ne doit pas être accédé directement, mais plutôt via l'opérateur d'accès au tableau, [].

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
try {
    // appelle offsetSet
    $p['fichier.txt'] = 'Salut';
} catch (Exception $e) {
    echo 'Ne peut pas modifier fichier.txt:', $e;
}
?>

Voir aussi

  • Phar::offsetExists() - détermine si un fichier existe dans le phar
  • Phar::offsetGet() - Obtient un objet PharFileInfo à partir d'un fichier
  • Phar::offsetUnset() - Efface un fichier d'un phar

Phar::offsetGet
Phar::offsetUnset
Phar


Efface un fichier d'un phar

Phar::offsetSet
Phar::running
Phar
PHP Manual

Phar::offsetUnset

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::offsetUnset — Efface un fichier d'un phar

Description

bool Phar::offsetUnset ( string $offset )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

C'est une implémentation de l'interface ArrayAccess qui permet la manipulation directe du contenu d'une archive Phar en utilisant les crochets d'accès au tableau. offsetUnset est utilisé pour supprimer un fichier existant et est appelé par la fonction unset().

Liste de paramètres

offset

Le nom de fichier (en chemin relatif) à chercher dans le Phar.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Si phar.readonly est à 1, une exception BadMethodCallException est levée, car modifier un Phar n'est permis que quand phar.readonly est à 0.Une exception PharException est levée s'il y a eu un problème lors de l'écriture des changements de l'archive Phar sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::offsetUnset()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
try {
    // efface fichier.txt de mon.phar en appelant offsetUnset
    unset($p['fichier.txt']);
} catch (Exception $e) {
    echo 'Ne peut pas effacer fichier.txt: ', $e;
}
?>

Voir aussi

  • Phar::offsetExists() - détermine si un fichier existe dans le phar
  • Phar::offsetGet() - Obtient un objet PharFileInfo à partir d'un fichier
  • Phar::offsetSet() - met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe
  • Phar::unlinkArchive() - Efface complètement une archive phar du disque et de la mémoire
  • Phar::delete() - Efface un fichier au sein d'une archive phar

Phar::offsetSet
Phar::running
Phar


Retourne le chemin complet sur le disque ou l'URL phar complète de l'archive phar couramment exécutée

Phar::offsetUnset
Phar::setAlias
Phar
PHP Manual

Phar::running

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::running — Retourne le chemin complet sur le disque ou l'URL phar complète de l'archive phar couramment exécutée

Description

string Phar::running ([ bool $retphar = true ] )

Retourne le chemin complet de l'archive phar exécutée. C'est bien entendu utilisé un peu comme la constante magique __FILE__ et a des effets uniquement au sein d'une archive phar en train d'être exécutée.

Dans le conteneur de chargement d'une archive, Phar::running() retourne "". Utilisez simplement __FILE__ pour accéder au phar courant au sein d'un conteneur de chargement.

Liste de paramètres

retphar

Si FALSE, le chemin complet sur le disque vers le phar est retourné. Si TRUE, une URL phar complète est retournée.

Valeurs de retour

Retourne le chemin de fichier si valide, sinon une chaîne vide.

Exemples

Exemple #1 Un exemple avec Phar::running()

Pour l'exemple suivant, on suppose que le fichier est au sein de l'archive phar /chemin/vers/mon.phar et qu'il y est nommé mon/fichier.txt.

<?php
$a = Phar::running(); // $a vaut "phar:///chemin/vers/mon.phar"
$b = Phar::running(false); // $b vaut "/chemin/vers/mon.phar"
?>

Phar::offsetUnset
Phar::setAlias
Phar


Fixe l'alias de l'archive Phar

Phar::running
Phar::setDefaultStub
Phar
PHP Manual

Phar::setAlias

(PHP >= 5.3.0, PECL phar >= 1.2.1)

Phar::setAlias — Fixe l'alias de l'archive Phar

Description

bool Phar::setAlias ( string $alias )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Fixe l'alias de l'archive Phar et l'écrit en tant qu'alias permanent de cette archive phar. Un alias peut être utilisé à l'intérieur d'une archive phar pour s'assurer que l'utilisation du flux phar pour accéder à des fichiers internes fonctionnera toujours quelque soit l'emplacement de l'archive phar sur le système de fichiers. Une alternative consiste à se fier à l'interception de include() faite par Phar ou d'utiliser Phar::interceptFileFuncs() et d'utiliser des chemins relatifs.

Liste de paramètres

alias

Une petite chaîne avec laquelle on se référera à cette archive lors des accès avec le flux phar.

Valeurs de retour

Erreurs / Exceptions

Une exception UnexpectedValueException est levée quand l'accès en écriture est désactivé et une exception PharException est levée si l'alias est déjà utilisé ou si un problème a été rencontré lors de l'écriture des changements sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::setAlias()

<?php
try {
    $phar = new Phar('monphar.phar');
    $phar->setAlias('monp.phar');
} catch (Exception $e) {
    // traite les erreurs
}
?>

Voir aussi

  • Phar::__construct() - Construit un objet d'archive Phar
  • Phar::interceptFileFuncs() - Informe phar qu'il doit intercepter les fonctions de fichiers

Phar::running
Phar::setDefaultStub
Phar


Utilisé pour fixer le chargeur PHP ou le conteneur de chargement d'une archive Phar en tant que chargeur par défaut

Phar::setAlias
Phar::setMetadata
Phar
PHP Manual

Phar::setDefaultStub

(Unknown)

Phar::setDefaultStub — Utilisé pour fixer le chargeur PHP ou le conteneur de chargement d'une archive Phar en tant que chargeur par défaut

Description

bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Cette méthode est un raccourci qui combine les fonctionnalités de Phar::createDefaultStub() et de Phar::setStub().

Liste de paramètres

index

Chemin relatif au sein de l'archive phar a exécuter si lancée à partir de la ligne de commande

webindex

Chemin relatif au sein de l'archive phar a exécuter si lancée à partir d'un navigateur

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Une exception UnexpectedValueException est levée si phar.readonly est activée dans le php.ini. Une exception PharException est levée si des problèmes sont rencontrés lors de l'écriture des changements sur disque.

Exemples

Exemple #1 Un exemple avec Phar::setDefaultStub()

<?php
try {
    $phar = new Phar('monphar.phar');
    $phar->setDefaultStub('cli.php', 'web/index.php');
    // est identique à :
    // $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
    // traite les erreurs
}
?>

Voir aussi

  • Phar::setStub() - Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::createDefaultStub() - Crée un conteneur de chargement d'une archive Phar

Phar::setAlias
Phar::setMetadata
Phar


Fixe les métadonnées de l'archive phar

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Fixe les métadonnées de l'archive phar

Description

void Phar::setMetadata ( mixed $metadata )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Phar::setMetadata() doit être utilisée pour stocker des données personnalisées qui décrivent l'archive phar, en tant qu'entité à part entière. PharFileInfo::setMetadata() doit être utilisée pour les métadonnées spécifiques aux fichiers. Les métadonnées peuvent diminuer les performance de chargement d'une archive phar si les données sont importantes.

Une utilisation possible des métadonnées est la spécification des fichiers à utiliser au sein de l'archive pour la lancer, ou l'emplacement d'un fichier de manifeste comme le fichier package.xml de » PEAR. De façon générale, toute donnée utile qui décrit l'archive phar peut être stockée.

Liste de paramètres

metadata

Toute variable PHP contenant des informations à stocker et qui décrit l'archive phar

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Un exemple avec Phar::setMetadata()

<?php
// on s'assure que le phar n'existe pas déjà
@unlink('nouveau.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nouveau.phar', 0, 'nouveau.phar');
    $p['fichier.php'] = '<?php echo "salut"';
    $p->setMetadata(array('chargeur' => 'fichier.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier le phar :', $e;
}
?>

L'exemple ci-dessus va afficher :

array(1) {
  ["chargeur"]=>
  string(11) "fichier.php"
}

Voir aussi

  • Phar::getMetadata() - Retourne les méta-données de l'archive phar
  • Phar::delMetadata() - Efface les méta-données globales du phar
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données

Phar::setDefaultStub
Phar::setSignatureAlgorithm
Phar


Fixe et applique l'algorithme de signature d'un phar

Phar::setMetadata
Phar::setStub
Phar
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — Fixe et applique l'algorithme de signature d'un phar

Description

void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Fixe et applique l'algorithme de signature d'un phar. L'algorithme de signature doit être Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, ou Phar::OPENSSL.

Notez que toutes les archives phar exécutables ont une signature créée automatiquement, SHA1 par défaut. Les archives de données basées sur tar ou sur zip (créées avec la classe PharData) doivent avoir leur signature créée et assignée explicitement via Phar::setSignatureAlgorithm().

Liste de paramètres

sigtype

Un des algorithmes Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, ou Phar::OPENSSL

privatekey

Le contenu d'une clé privée OpenSSL, telle qu'extraite d'un certificat ou d'un fichier de clé OpenSSL :

<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
Reportez-vous à l'introduction de phar pour les instructions de nommage et de placement du fichier de clé publique.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lève une exception UnexpectedValueException pour de nombreuses erreurs et une exception PharException si des problèmes surviennent durant l'écriture des changements sur le disque.

Voir aussi

  • Phar::getSupportedSignatures() - Retourne un tableau des types de signature supportés
  • Phar::getSignature() - Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar

Phar::setMetadata
Phar::setStub
Phar


Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar
PHP Manual

Phar::setStub

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setStub — Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar

Description

bool Phar::setStub ( string $stub )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Cette méthode est utilisée pour ajouter un chargeur PHP à une nouvelle archive Phar, ou pour remplacer le conteneur de chargement d'une archive Phar existante.

Le conteneur de chargement d'une archive Phar est utilisé quand une archive est incluse directement comme dans cet exemple :

<?php
include 'monphar.phar';
?>

Le chargeur n'est pas utilisé quand un fichier est inclus via le flux phar comme ceci :

<?php
include 'phar://monphar.phar/unfchier.php';
?>

Liste de paramètres

stub

Une chaîne ou une ressource de flux ouvert à utiliser comme conteneur exécutable pour cette archive phar.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Une exception UnexpectedValueException est levée si phar.readonly est activé dans le php.ini. Une exception PharException est levée si des problèmes sont rencontrés lors de l'écriture des changement sur le disque.

Exemples

Exemple #1 Un exemple avec Phar::setStub()

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/nouveau.phar', 0, 'nouveau.phar');
    $p['a.php'] = '<?php var_dump("Salut");';
    $p->setStub('<?php var_dump("Premier"); Phar::mapPhar("nouveau.phar"); __HALT_COMPILER(); ?>');
    include 'phar://nouveau.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("Tout le monde");';
    $p->setStub('<?php var_dump("Second"); Phar::mapPhar("nouveau.phar"); __HALT_COMPILER(); ?>');
    include 'phar://nouveau.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Erreur lors de l'écriture de nouveau.phar: ', $e;
}
?>

L'exemple ci-dessus va afficher :

string(5) "Salut"
string(79) "<?php var_dump("Premier"); Phar::mapPhar("nouveau.phar"); __HALT_COMPILER(); ?>"
string(13) "Tout le monde"
string(78) "<?php var_dump("Second"); Phar::mapPhar("nouveau.phar"); __HALT_COMPILER(); ?>"

Voir aussi

  • Phar::getStub() - Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::createDefaultStub() - Crée un conteneur de chargement d'une archive Phar

Phar::setSignatureAlgorithm
Phar::startBuffering
Phar


Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque

Phar::setStub
Phar::stopBuffering
Phar
PHP Manual

Phar::startBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::startBuffering — Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque

Description

void Phar::startBuffering ( void )

Bien que techniquement inutile, la méthode Phar::startBuffering() peut fournir un gain de performance lors de la création ou la modification d'une archive Phar avec un grand nombre de fichiers. D'ordinaire, chaque fois qu'un fichier au sein de l'archive Phar est créé ou modifié, l'archive Phar entière et recréée en incluant les changements. De cette manière, l'archive sera toujours à jour vis à vis des opération qui y sont appliquées.

Alors que ceci peut paraître inutile lors de la création d'un archive Phar simple, ça prend tout son sens lors de l'écriture en une fois de l'archive Phar entière. De même, il est souvent nécessaire de faire une série de changements et de s'assurer qu'ils sont tous possibles avant d'écrire sur le disque, un peu comme les transactions des base de données relationnelles. Les fonctions Phar::startBuffering()/Phar::stopBuffering() sont disponibles dans ce but.

La mise en tampon Phar s'effectue par archive, le tampon actif pour l'archive Phar foo.phar n'affecte pas les changements faits à l'archive Phar bar.phar.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Un exemple avec Phar::startBuffering()

<?php
// on s'assure que le phar n'existe pas déjà
@unlink('nouveau.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nouveau.phar', 0, 'nouveau.phar');
} catch (Exception $e) {
    echo 'Ne peut pas créer le phar:', $e;
}
echo 'Le nouveau phar a ' . $p->count() . " entrées\n";
$p->startBuffering();
$p['fichier.txt'] = 'salut';
$p['fichier2.txt'] = 'jolie';
$p['fichier2.txt']->setCompressedGZ();
$p['fichier3.txt'] = 'môme';
$p['fichier3.txt']->setMetaData(42);
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://monphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('monphar.phar');
include 'phar://monphar.phar/demarrage.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

Voir aussi

  • Phar::stopBuffering() - Arrête la mise en tampon des écritures Phar et provoque l'écriture que le disque
  • Phar::isBuffering() - Détermine si les opérations d'écriture du Phar sont mises en tampons ou sont directement inscrites sur le disque

Phar::setStub
Phar::stopBuffering
Phar


Arrête la mise en tampon des écritures Phar et provoque l'écriture que le disque

Phar::startBuffering
Phar::uncompressAllFiles
Phar
PHP Manual

Phar::stopBuffering

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::stopBuffering — Arrête la mise en tampon des écritures Phar et provoque l'écriture que le disque

Description

void Phar::stopBuffering ( void )

Phar::stopBuffering() est utilisée en conjonction avec la méthode Phar::startBuffering(). Phar::startBuffering() peut fournir un gain de performance lors de la création ou la modification d'une archive Phar avec un grand nombre de fichiers. D'ordinaire, chaque fois qu'un fichier au sein de l'archive Phar est créé ou modifié, l'archive Phar entière et recréée en incluant les changements. De cette manière, l'archive sera toujours à jour vis à vis des opération qui y sont appliquées.

Alors que ceci peut paraître inutile lors de la création d'un archive Phar simple, ça prend tout son sens lors de l'écriture en une fois de l'archive Phar entière. De même, il est souvent nécessaire de faire une série de changements et de s'assurer qu'ils sont tous possibles avant d'écrire sur le disque, un peu comme les transactions des base de données relationnelles. Les fonctions Phar::startBuffering()/Phar::stopBuffering() sont disponibles dans ce but.

La mise en tampon Phar s'effectue par archive, le tampon actif pour l'archive Phar foo.phar n'affecte pas les changements faits à l'archive Phar bar.phar.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Une exception PharException est levée si des problèmes sont rencontrés lors de l'écriture des changements sur le disque.

Exemples

Exemple #1 Un exemple Phar::stopBuffering()

<?php
$p = new Phar(dirname(__FILE__) . '/nouveau.phar', 0, 'nouveau.phar');
$p['fichier1.txt'] = 'salut';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
    include 'phar://nouveau.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('nouveau.phar');
include 'phar://nouveau.phar/demarrage.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

L'exemple ci-dessus va afficher :

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('nouveau.phar');
include 'phar://nouveau.phar/demarrage.php';
__HALT_COMPILER();"

Voir aussi

  • Phar::startBuffering() - Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque
  • Phar::isBuffering() - Détermine si les opérations d'écriture du Phar sont mises en tampons ou sont directement inscrites sur le disque

Phar::startBuffering
Phar::uncompressAllFiles
Phar


Décompresse tous les fichiers de l'archive Phar courante

Phar::stopBuffering
Phar::unlinkArchive
Phar
PHP Manual

Phar::uncompressAllFiles

(PECL phar < 2.0.0)

Phar::uncompressAllFiles — Décompresse tous les fichiers de l'archive Phar courante

Description

bool Phar::uncompressAllFiles ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser Phar::compress(), Phar::decompress(), Phar::compressFiles() et Phar::decompressFiles() à la place.

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Cette méthode décompresser tous les fichier de l'archive Phar. Si un des fichiers est déjà compressé en utilisant la compression gzip, l'extension zlib doit être activée pour décompresser le fichier, et si un des fichiers est déjà compressé en utilisant la compression bzip2, l'extension bzip2 doit être activée pour décompresser le fichier. Comme avec toutes les fonctionnalités qui modifient le contenu d'un As with all functionality that modifies the contents of phar, la variable INI phar.readonly doit être à off pour que ça fonctionne.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension bzip2 n'est pas activée alors qu'au moins un fichier est compressé avec la compression bzip2 ou si au moins un des fichiers est compressé avec la compression gzip et que l'extension zlib n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::uncompressAllFiles()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $p['monfichier2.txt'] = 'salut';
    $p->compressAllFilesGZ();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
    $p->uncompressAllFiles();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
} catch (Exception $e) {
    echo 'Les opération d'écriture sur mon.phar ont échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichiere.txt"
bool(true)
bool(false)
bool(true)
string(11) "monfichier2.txt"
bool(true)
bool(false)
bool(true)
string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés

Phar::stopBuffering
Phar::unlinkArchive
Phar


Efface complètement une archive phar du disque et de la mémoire

Phar::uncompressAllFiles
Phar::webPhar
Phar
PHP Manual

Phar::unlinkArchive

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::unlinkArchive — Efface complètement une archive phar du disque et de la mémoire

Description

bool Phar::unlinkArchive ( string $archive )

Efface complètement une archive phar du disque et de la mémoire

Liste de paramètres

archive

Le chemin sur le disque vers l'archive phar.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Une exception PharException est levée si des pointeurs sont ouverts vers des fichiers de l'archive phar, ou si des objets Phar, PharData, ou PharFileInfo réfèrent à l'archive phar.

Exemples

Exemple #1 Un exemple avec Phar::unlinkArchive()

<?php
// utilisation simple
Phar::unlinkArchive('/chemin/vers/mon.phar');

// un exemple plus commun :
$p = new Phar('mon.phar');
$fp = fopen('phar://mon.phar/fichier.txt', 'r');
// cela crée 'mon.phar.gz'
$gp = $p->compress(Phar::GZ);
// enlève toutes les références à l'archive
unset($p);
fclose($fp);
// efface maintenant toute trace de l'archive
Phar::unlinkArchive('mon.phar');
?>

Voir aussi

  • Phar::delete() - Efface un fichier au sein d'une archive phar
  • Phar::offsetUnset() - Efface un fichier d'un phar

Phar::uncompressAllFiles
Phar::webPhar
Phar


mapPhar pour les phars orientés web. Contrôleur pour les applications web

Phar::unlinkArchive
PharData
Phar
PHP Manual

Phar::webPhar

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::webPhar — mapPhar pour les phars orientés web. Contrôleur pour les applications web

Description

void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, array $rewrites ]]]]] )

Phar::mapPhar() pour les phars orientés web. Cette méthode parse $_SERVER['REQUEST_URI'] et route les requêtes d'un navigateur vers un fichier interne à l'archive. Dans le principe, cela simule un serveur web, en routant des requêtes vers le bon fichier, en envoyant les bons en-têtes et analysant le fichier PHP comme il convient. Cette méthode puissante permet de convertir facilement des applications PHP en archive phar. Combinée avec Phar::mungServer() et Phar::interceptFileFuncs(), n'importe quelle application web peut être utilisée sans changement à partir de l'archive phar.

Phar::webPhar() doit être appelé uniquement à partir du conteneur de chargement d'une archive phar (lisez ceci pour en savoir davantage sur les conteneurs).

Liste de paramètres

alias

L'alias qui peut être utilisé dans l'URL phar:// pour se référer à l'archive, plutôt que son chemin complet.

index

L'emplacement au sein de l'archive de l'index de répertoire.

f404

L'emplacement du script à exécuter quand un fichier n'est pas trouvé. Ce script doit envoyer des en-têtes HTTP 404 corrects.

mimetypes

Un tableau faisant correspondre des extensions de fichier supplémentaires à des types MIME. Par défaut, ces correspondances sont les suivantes :

<?php
$mimes = array(
    'phps' => 2, // passage vers highlight_file()
    'c' => 'text/plain',
    'cc' => 'text/plain',
    'cpp' => 'text/plain',
    'c++' => 'text/plain',
    'dtd' => 'text/plain',
    'h' => 'text/plain',
    'log' => 'text/plain',
    'rng' => 'text/plain',
    'txt' => 'text/plain',
    'xsd' => 'text/plain',
    'php' => 1, // parse en tant que PHP
    'inc' => 1, // parse en tant que PHP
    'avi' => 'video/avi',
    'bmp' => 'image/bmp',
    'css' => 'text/css',
    'gif' => 'image/gif',
    'htm' => 'text/html',
    'html' => 'text/html',
    'htmls' => 'text/html',
    'ico' => 'image/x-ico',
    'jpe' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'jpeg' => 'image/jpeg',
    'js' => 'application/x-javascript',
    'midi' => 'audio/midi',
    'mid' => 'audio/midi',
    'mod' => 'audio/mod',
    'mov' => 'movie/quicktime',
    'mp3' => 'audio/mp3',
    'mpg' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'pdf' => 'application/pdf',
    'png' => 'image/png',
    'swf' => 'application/shockwave-flash',
    'tif' => 'image/tiff',
    'tiff' => 'image/tiff',
    'wav' => 'audio/wav',
    'xbm' => 'image/xbm',
    'xml' => 'text/xml',
);
?>

rewrites

Un tableau faisant correspondre des URI à des fichiers internes, simulant le mod_rewrite de apache. Par exemple:

<?php
array(
    'moninfo' => 'moninfo.php'
);
?>
routera les appels à http://<hôte>/monphar.phar/moninfo vers le fichier phar:///chemin/vers/monphar.phar/moninfo.php, en préservant les GET/POST. Ca ne fonctionne pas tout à fait comme mod_rewrite car ça ne fera pas correspondre http://<hôte>/monphar.phar/moninfo/unautre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lève une exception PharException quand le fichier interne ne peut pas être ouvert ou si l'appel est fait en dehors d'un conteneur. Si un valeur de tableau non valide est passée dans mimetypes ou dans rewrites, une exception UnexpectedValueException est levée.

Exemples

Exemple #1 Exemple avec Phar::webPhar()

Dans l'exemple ci-dessous, le phar créé affichera Salut tout le monde si quelqu'un appelle /monphar.phar/index.php ou /monphar.phar, et affichera la source de index.phps si /monphar.phar/index.phps est appelé.

<?php
// l'archive phar est créée :
try {
    $phar = new Phar('monphar.phar');
    $phar['index.php'] = '<?php echo "Salut tout le monde"; ?>';
    $phar['index.phps'] = '<?php echo "Salut tout le monde"; ?>';
    $phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
    // on traite les erreurs ici
}
?>

Voir aussi

  • Phar::mungServer() - Définit une liste de maximum 4 variables $_SERVER qui doivent être modifiées lors de l'exécution
  • Phar::interceptFileFuncs() - Informe phar qu'il doit intercepter les fonctions de fichiers

Phar::unlinkArchive
PharData
Phar


La classe PharData

Introduction

La classe PharData fournit une interface de haut niveau pour accéder et créer des archives tar et zip non exécutables. Du fait que ces archives ne contiennent pas de conteneur et qu'elles ne puissent être exécutées par l'extension phar, il est possible de créer et de manipuler des fichiers zip et tar normaux en utilisant la classe PharData même si le paramètre phar.readonly du php.ini est à 1.

Synopsis de la classe

PharData
PharData extends Phar {
/* Propriétés */
/* Méthodes */
bool addEmptyDir ( string $dirname )
void Phar::addFile ( string $file [, string $localname ] )
bool addFromString ( string $localname , string $contents )
array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
array buildFromIterator ( Iterator $iter [, string $base_directory ] )
object compress ( int $compression , string $extension )
bool compressFiles ( int $compression )
void __construct ( string $fname [, int $flags ] )
PharData convertToData ([ int $format [, int $compression [, string $extension ]]] )
Phar convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )
bool copy ( string $oldfile , string $newfile )
object decompress ([ string $extension ] )
bool decompressFiles ( void )
int delMetadata ( void )
int delete ( string $entry )
int extractTo ( string $pathto [, string|array $files [, bool $overwrite ]] )
bool isWritable ( void )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
bool setAlias ( string $alias )
void setDefaultStub ([ string $index [, string $webindex ]] )
void Phar::setMetadata ( mixed $metadata )
void Phar::setSignatureAlgorithm ( int $sigtype )
void setStub ( string $stub )
/* Méthodes héritées */
void Phar::addEmptyDir ( string $dirname )
void Phar::addFile ( string $file [, string $localname ] )
void Phar::addFromString ( string $localname , string $contents )
string Phar::apiVersion ( void )
array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )
array Phar::buildFromIterator ( Iterator $iter [, string $base_directory ] )
bool Phar::canCompress ([ int $type = 0 ] )
bool Phar::canWrite ( void )
object Phar::compress ( int $compression [, string $extension ] )
bool Phar::compressAllFilesBZIP2 ( void )
bool Phar::compressAllFilesGZ ( void )
void Phar::compressFiles ( int $compression )
void Phar::__construct ( string $fname [, int $flags [, string $alias ]] )
PharData Phar::convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
Phar Phar::convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] )
bool Phar::copy ( string $oldfile , string $newfile )
int Phar::count ( void )
string Phar::createDefaultStub ([ string $indexfile [, string $webindexfile ]] )
object Phar::decompress ([ string $extension ] )
bool Phar::decompressFiles ( void )
bool Phar::delMetadata ( void )
bool Phar::delete ( string $entry )
bool Phar::extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] )
mixed Phar::getMetaData ( void )
bool Phar::getModified ( void )
array Phar::getSignature ( void )
string Phar::getStub ( void )
array Phar::getSupportedCompression ( void )
array Phar::getSupportedSignatures ( void )
string Phar::getVersion ( void )
bool Phar::hasMetadata ( void )
void Phar::interceptFileFuncs ( void )
bool Phar::isBuffering ( void )
mixed Phar::isCompressed ( void )
bool Phar::isFileFormat ( int $format )
bool Phar::isValidPharFilename ( string $filename [, bool $executable = true ] )
bool Phar::isWritable ( void )
bool Phar::loadPhar ( string $filename [, string $alias ] )
bool Phar::mapPhar ([ string $alias [, int $dataoffset = 0 ]] )
void Phar::mount ( string $pharpath , string $externalpath )
void Phar::mungServer ( array $munglist )
bool Phar::offsetExists ( string $offset )
int Phar::offsetGet ( string $offset )
void Phar::offsetSet ( string $offset , string $value )
bool Phar::offsetUnset ( string $offset )
string Phar::running ([ bool $retphar = true ] )
bool Phar::setAlias ( string $alias )
bool Phar::setDefaultStub ([ string $index [, string $webindex ]] )
void Phar::setMetadata ( mixed $metadata )
void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )
bool Phar::setStub ( string $stub )
void Phar::startBuffering ( void )
void Phar::stopBuffering ( void )
bool Phar::uncompressAllFiles ( void )
bool Phar::unlinkArchive ( string $archive )
void Phar::webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, array $rewrites ]]]]] )
}

Sommaire

  • PharData::addEmptyDir — Ajoute un répertoire vide à l'archive tar/zip
  • PharData::addFile — Ajoute un fichier du système de fichiers à l'archive tar/zip
  • PharData::addFromString — Ajoute un fichier du système de fichiers à l'archive tar/zip
  • PharData::buildFromDirectory — Construit une archive tar/zip à partir des fichiers d'un répertoire
  • PharData::buildFromIterator — Construit une archive tar ou zip à partir d'un itérateur
  • PharData::compress — Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • PharData::compressFiles — Compresse tous les fichiers de l'archive tar/zip courante
  • PharData::__construct — Construit un objet d'archive tar ou zip non-exécutable
  • PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exécutable
  • PharData::convertToExecutable — Convertit une archive tar/zip non-exécutable en une archive phar exécutable
  • PharData::copy — Copie un fichier un fichier interne à l'archive phar vers un autre fichier au sein de la même archive
  • PharData::decompress — Décompresse l'archive Phar entière
  • PharData::decompressFiles — Décompresse tous les fichier de l'archive zip courante
  • PharData::delMetadata — Efface les méta-données globales d'une archive zip
  • PharData::delete — Efface un fichier au sein de l'archive tar/zip
  • PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire
  • PharData::isWritable — Vérifie si l'archive tar/zip peut être modifiée
  • PharData::offsetSet — remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères
  • PharData::offsetUnset — efface un fichier d'une archive tar/zip
  • PharData::setAlias — fonction inutile (Phar::setAlias n'est pas valide pour PharData)
  • PharData::setDefaultStub — fonction inutile (Phar::setDefaultStub n'est pas valide pour PharData)
  • Phar::setMetadata — Fixe les méta-données de l'archive
  • Phar::setSignatureAlgorithm — Assigne l'algorithme de signature d'un phar et l'applique
  • PharData::setStub — fonction inutile (Phar::setStub n'est pas valide pour PharData)
Phar::webPhar
PharData::addEmptyDir
Phar


Ajoute un répertoire vide à l'archive tar/zip

PharData
PharData::addFile
PharData
PHP Manual

PharData::addEmptyDir

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addEmptyDir — Ajoute un répertoire vide à l'archive tar/zip

Description

bool PharData::addEmptyDir ( string $dirname )

Avec cette méthode, un répertoire vide est créé avec le chemin dirname. Cette méthode est identique à ZipArchive::addEmptyDir().

Liste de paramètres

dirname

Le nom du répertoire vide à créer dans l'archive phar

Valeurs de retour

aucune valeur de retour, une exception est levée en cas d'échec.

Exemples

Exemple #1 Un exemple avec PharData::addEmptyDir()

<?php
try {
    $a = new PharData('/chemin/vers/mon.tar');

    $a->addEmptyDir('/chemin/complet/vers/fichier');
    // montre comment le fichier est stocké
    $b = $a['chemin/complet/vers/fichier']->isDir();
} catch (Exception $e) {
    // les erreurs sont traitées ici
}
?>

Voir aussi

  • Phar::addEmptyDir() - Ajoute un répertoire vide à l'archive phar
  • PharData::addFile() - Ajoute un fichier du système de fichiers à l'archive tar/zip
  • PharData::addFromString() - Ajoute un fichier du système de fichiers à l'archive tar/zip

PharData
PharData::addFile
PharData


Ajoute un fichier du système de fichiers à l'archive tar/zip

PharData::addEmptyDir
PharData::addFromString
PharData
PHP Manual

PharData::addFile

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFile — Ajoute un fichier du système de fichiers à l'archive tar/zip

Description

void Phar::addFile ( string $file [, string $localname ] )

Avec cette méthode, n'importe quel fichier ou URL peut être ajouté à l'archive tar/zip. Si le second paramètre optionnel localname est spécifié, le fichier sera stocké dans l'archive avec ce nom, sans quoi le paramètre file est utilisé comme chemin vers lequel stocker le fichier au sein de l'archive. Les URL doivent avoir un nom local sans quoi une exception est levée. Cette méthode est identique à ZipArchive::addFile().

Liste de paramètres

file

Chemin relatif ou absolu vers un fichier du disque à ajouter à l'archive phar.

localname

Chemin vers lequel le fichier sera stocké au sein de l'archive.

Valeurs de retour

aucune valeur de retour, une exception est levée en cas d'échec.

Exemples

Exemple #1 Un exemple avec PharData::addFile()

<?php
try {
    $a = new PharData('/chemin/vers/mon.tar');

    $a->addFile('/chemin/complet/vers/fichier');
    // montre comment le fichier est stocké
    $b = $a['chemin/complet/vers/fichier']->getContent();

    $a->addFile('/chemin/complet/vers/fichier', 'mon/fichier.txt');
    $c = $a['mon/fichier.txt']->getContent();

    // montre l'utilisation des URLs
    $a->addFile('http://www.exemple.com', 'exemple.html');
} catch (Exception $e) {
    // les erreurs sont traitées ici
}
?>

Voir aussi

  • PharData::offsetSet() - remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères
  • Phar::addFile() - Ajoute un fichier du système de fichiers à l'archive phar
  • PharData::addFromString() - Ajoute un fichier du système de fichiers à l'archive tar/zip
  • PharData::addEmptyDir() - Ajoute un répertoire vide à l'archive tar/zip

PharData::addEmptyDir
PharData::addFromString
PharData


Ajoute un fichier du système de fichiers à l'archive tar/zip

PharData::addFile
PharData::buildFromDirectory
PharData
PHP Manual

PharData::addFromString

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::addFromString — Ajoute un fichier du système de fichiers à l'archive tar/zip

Description

bool PharData::addFromString ( string $localname , string $contents )

Ajoute une chaîne de caractères à l'archive tar/zip. Le fichier sera stocké dans l'archive avec le chemin localname. Cette méthode est identique à ZipArchive::addFromString().

Liste de paramètres

localname

Chemin vers lequel le fichier sera stocké au sein de l'archive.

contents

Le contenu du fichier à stocker

Valeurs de retour

Aucune valeur de retour, une exception est levée en cas d'échec.

Exemples

Exemple #1 Exemple avec PharData::addFromString()

<?php
try {
    $a = new PharData('/chemin/vers/mon.tar');

    $a->addFromString('chemin/vers/fichier.txt', 'mon fichier simple');
    $b = $a['chemin/vers/fichier.txt']->getContent();

    // pour ajouter du contenu à partir d'un gestionnaire de flux pour des gros fichier, utilisez offsetSet()
    $c = fopen('/chemin/vers/grosfichier.bin');
    $a['grosfichier.bin'] = $c;
    fclose($c);
} catch (Exception $e) {
    // les erreurs sont traitées ici
}
?>

Voir aussi

  • PharData::offsetSet() - remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères
  • Phar::addFromString() - Ajoute un fichier du système de fichiers à l'archive phar
  • PharData::addFile() - Ajoute un fichier du système de fichiers à l'archive tar/zip
  • PharData::addEmptyDir() - Ajoute un répertoire vide à l'archive tar/zip

PharData::addFile
PharData::buildFromDirectory
PharData


Construit une archive tar/zip à partir des fichiers d'un répertoire

PharData::addFromString
PharData::buildFromIterator
PharData
PHP Manual

PharData::buildFromDirectory

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromDirectory — Construit une archive tar/zip à partir des fichiers d'un répertoire

Description

array Phar::buildFromDirectory ( string $base_dir [, string $regex ] )

Remplit une archive tar/zip à partir du contenu d'un répertoire. Le second paramètre optionnel est une expression rationnelle (pcre) utilisée pour exclure des fichiers. N'importe quel fichier dont le nom satisfait sera inclus, tous les autres seront exclus. Pour un contrôle plus fin, utilisez PharData::buildFromIterator().

Liste de paramètres

base_dir

Le chemin relatif ou absolu vers le répertoire contenant tous les fichiers à ajouter à l'archive.

regex

Une expression rationnelle optionnelle qui est utilisée pour filtrer la liste des fichiers. Seuls les fichiers dont le nom satisfont l'expression seront inclus dans l'archive.

Valeurs de retour

Phar::buildFromDirectory() retourne un tableau associatif faisant correspondre un chemin de fichier interne vers un chemin complet sur le système de fichiers.

Erreurs / Exceptions

Cette méthode soulève une exception BadMethodCallException quand elle est incapable d'instancier les itérateurs interne de répertoire, ou une exception PharException si des erreurs ont été rencontrée lors de l'enregistrement de l'archive phar.

Exemples

Exemple #1 Un exemple avec PharData::buildFromDirectory()

<?php
$phar = new PharData('projet.tar');
// ajoute tous les fichiers au projet
$phar->buildFromDirectory(dirname(__FILE__) . '/projet');

$phar2 = new PharData('projet2.zip');
// ajoute tous les fichiers au projet en n'incluant que les fichiers php
$phar->buildFromDirectory(dirname(__FILE__) . '/projet', '/\.php$/');
?>

Voir aussi

  • Phar::buildFromDirectory() - Construit une archive phar à partir des fichiers d'un répertoire
  • PharData::buildFromIterator() - Construit une archive tar ou zip à partir d'un itérateur

PharData::addFromString
PharData::buildFromIterator
PharData


Construit une archive tar ou zip à partir d'un itérateur

PharData::buildFromDirectory
PharData::compress
PharData
PHP Manual

PharData::buildFromIterator

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::buildFromIterator — Construit une archive tar ou zip à partir d'un itérateur

Description

array PharData::buildFromIterator ( Iterator $iter [, string $base_directory ] )

Remplit une archive tar ou zip à partir d'un itérateur. Deux styles d'itérateurs sont supportés, les itérateurs qui font correspondre le chemin de fichier au sein de l'archive avec le chemin sur le disque, et les itérateurs comme DirectoryIterator qui retournent des objets SplFileInfo. Pour les itérateurs qui retournent des objets SplFileInfo, le second paramètre est requis.

Exemples

Exemple #1 Exemple avec PharData::buildFromIterator() et SplFileInfo

Pour la plupart des archive tar/zip, l'archive reflétera la structure de répertoire actuelle, et le second style est le plus utile. Par exemple, pour créer une archive tar/zip contenant les fichiers contenant la structure de répertoire ci-dessous :

/chemin/vers/projet/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     fichier1.php
                     fichier2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

Ce code peut être utilisé pour ajouter des fichiers à l'archive "projet.tar" tar :

<?php
$phar = new PharData('projet.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new RecursiveDirectoryIterator('/chemin/vers/projet')),
    '/chemin/vers/projet');
?>

Le fichier projet.tar peut alors être effacé immédiatement. PharData::buildFromIterator() ne règle pas les paramètres tels que la compression, les métadonnées, ce qui peut être fait après avoir créé l'archive tar/zip.

A noter que Phar::buildFromIterator() peut aussi être utilisé pour copier le contenu d'une archive phar, tar ou zip existante, car l'objet PharData est dérivé de DirectoryIterator :

<?php
$phar = new PharData('projet.tar');
$phar->buildFromIterator(
    new RecursiveIteratorIterator(
     new Phar('/chemin/vers/unautrephar.phar')),
    'phar:///chemin/vers/unautrephar.phar/chemin/vers/projet');
$phar->setStub($phar->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>

Exemple #2 Exemple avec PharData::buildFromIterator() et d'autres itérateurs

La seconde forme d'itérateur peut être utilisée avec n'importe quel itérateur qui retourne une association clé => valeur, tel que ArrayIterator :

<?php
$phar = new PharData('projet.tar');
$phar->buildFromIterator(
    new ArrayIterator(
     array(
        'interne/fichier.php' => dirname(__FILE__) . '/unfichier.php',
        'unautre/fichier.jpg' => fopen('/chemin/vers/grosfichier.jpg', 'rb'),
     )));
?>

Liste de paramètres

iter

N'importe quel itérateur qui fait correspondre de façon associative un fichier tar/zip ou qui retourne des objets SplFileInfo

base_directory

Pour les itérateurs qui retournent des objets SplFileInfo, la partie du chemin complet vers le fichier à enlever lors de l'ajout à l'archive tar/zip

Valeurs de retour

PharData::buildFromIterator() retourne un tableau associatif faisant correspondre un chemin de fichier interne avec un chemin complet vers le fichier sur le système de fichiers.

Erreurs / Exceptions

Cette méthode retourne une exception UnexpectedValueException quand l'itérateur retourne des valeurs incorrectes, comme une clé entière plutôt qu'une chaîne, une exception BadMethodCallException quand un itérateur basé sur SplFileInfo-based est passé sans paramètre base_directory, ou une exception PharException si des erreurs ont été rencontrées lors de la sauvegarde de l'archive phar.

Voir aussi

  • Phar::buildFromIterator() - Construit une archive phar à partir d'un itérateur

PharData::buildFromDirectory
PharData::compress
PharData


Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2

PharData::buildFromIterator
PharData::compressFiles
PharData
PHP Manual

PharData::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compress — Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2

Description

object PharData::compress ( int $compression , string $extension )

Pour les archives tar, cette méthode compresse l'archive entière en utilisant la compressions gzip ou bzip2. Le fichier qui en résulte peut être manipulé avec la commande gunzip/bunzip, ou être accédé directement et de façon transparente avec l'extension Phar.

Pour les archives zip, cette méthode échoue en levant une exception. L'extension zlib doit être activée pour compresser avec gzip, l'extension bzip2 doit être activée pour compresser avec bzip2.

De plus, cette méthode renomme automatiquement l'archive, en la suffixant par .gz, .bz2 ou en enlevant l'extension si Phar::NONE est spécifié pour enlever la compression. Sinon, une extension de fichier peut être spécifiée avec le second paramètre.

Liste de paramètres

compression

La compression doit être Phar::GZ ou Phar::BZ2 pour appliquer une compression, ou Phar::NONE pour l'enlever.

extension

Par défaut, l'extension est .tar.gz ou .tar.bz2 pour compresser un tar, et .tar pour décompresser.

Valeurs de retour

Un objet PharData est retourné.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si l'extension zlib n'est pas disponible, ou si l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec PharData::compress()

<?php
$p = new PharData('/chemin/vers/mon.tar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p1 = $p->compress(Phar::GZ); // copie vers /chemin/vers/mon.phar.gz
$p2 = $p->compress(Phar::BZ2); // copie vers /chemin/vers/mon.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /chemin/vers/mon.phar existe déjà
?>

Voir aussi

  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2

PharData::buildFromIterator
PharData::compressFiles
PharData


Compresse tous les fichiers de l'archive tar/zip courante

PharData::compress
PharData::__construct
PharData
PHP Manual

PharData::compressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::compressFiles — Compresse tous les fichiers de l'archive tar/zip courante

Description

bool PharData::compressFiles ( int $compression )

Pour les archives basées sur tar, cette méthode soulève une exception BadMethodCallException car la compression individuelle des fichiers d'une archive tar n'est pas supportée par ce format de fichiers. Utilisez PharData::compress() pour compresser une archive basée sur tar complète.

Pour les archives basées sur Zip, cette méthode compresse tous les fichiers de l'archive en utilisant la compression spécifiée. Les extensions zlib ou bzip2 doivent être activées pour tirer parti de cette fonctionnalité. De plus, si au moins un fichier est déjà compressé en utilisant la compression bzip2/zlib, l'extension adéquate être activée pour décompresser les fichiers avant de les re-compresser.

Liste de paramètres

compression

La compression doit être Phar::GZ ou Phar::BZ2 pour appliquer une compression, ou Phar::NONE pour l'enlever.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible ou si au moins un fichier est compressé via bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec PharData::compressFiles()

<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

L'exemple ci-dessus va afficher :

string(14) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(15) "monfichier2.txt"
bool(false)
bool(false)
bool(false)
string(14) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(15) "monfichier2.txt"
int(4096)
bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • PharData::decompressFiles() - Décompresse tous les fichier de l'archive zip courante
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • PharData::decompress() - Décompresse l'archive Phar entière

PharData::compress
PharData::__construct
PharData


Construit un objet d'archive tar ou zip non-exécutable

PharData::compressFiles
PharData::convertToData
PharData
PHP Manual

PharData::__construct

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::__construct — Construit un objet d'archive tar ou zip non-exécutable

Description

void PharData::__construct ( string $fname [, int $flags ] )

Liste de paramètres

fname

Chemin vers une archive tar/zip existante ou à créer

flags

Drapeaux à passer à la classe parente Phar RecursiveDirectoryIterator.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si appelée deux fois, une exception UnexpectedValueException si l'archive phar ne peut pas être ouverte.

Exemples

Exemple #1 Un exemple avec PharData::__construct()

<?php
try {
    $p = new PharData('/chemin/vers/mon.tar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME);
} catch (UnexpectedValueException $e) {
    die('Ne peut pas ouvrir mon.tar');
} catch (BadMethodCallException $e) {
    echo 'techniquement, ça ne peut pas arriver';
}
echo file_get_contents('phar:///chemin/vers/mon.tar/exemple.txt');
?>

PharData::compressFiles
PharData::convertToData
PharData


Convertit une archive phar en une archive tar ou zip non-exécutable

PharData::__construct
PharData::convertToExecutable
PharData
PHP Manual

PharData::convertToData

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exécutable

Description

PharData PharData::convertToData ([ int $format [, int $compression [, string $extension ]]] )

Cette méthode est utilisée pour convertir une archive non exécutable tar ou zip en un autre format non-exécutable.

Si aucun changement n'est demandé, cette méthode, cette méthode soulève une exception BadMethodCallException. Cette méthode doit être utilisée pour convertir une archive tar au format zip et vice-versa. Bien qu'il soit possible de changer la compression d'une archive tar avec cette méthode, il est préférable d'utiliser la méthode PharData::compress() pour rester cohérent au niveau de la logique.

En cas de succès, cette méthode crée une nouvelle archive sur le disque et retourne un objet PharData. L'ancienne archive n'est pas effacée du disque, ceci devant être fait manuellement une fois le traitement terminé.

Liste de paramètres

format

Le format doit être Phar::TAR ou Phar::ZIP. S'il vaut NULL, le format de fichier actuel sera conservé.

compression

La compression doit être Phar::NONE pour éviter la compression de l'archive complète, Phar::GZ pour la compression basée sur zlib, et Phar::BZ2 pour la compression basée sur bzip.

extension

Ce paramètre est utilisé pour écrase l'extension de fichier par défaut de l'archive convertie. Notez que .phar ne peut pas être utilisé n'importe où dans le nom de fichier d'une archive tar ou zip non-exécutable.

En cas de conversion vers une archive phar basée sur tar, les extensions par défaut sont .tar, .tar.gz et .tar.bz2 selon la compression spécifiée. Pour les archives basées sur zip, l'extension par défaut est .zip.

Valeurs de retour

Cette méthode retourne un objet PharData en cas de succès et soulève une exception en cas d'échec.

Erreurs / Exceptions

Cette méthode soulève une exception BadMethodCallException quand elle est incapable de compresser, quand une méthode de compression inconnue a été spécifiée, quand l'archive demandée est mise en tampon avec Phar::startBuffering() et qu'elle n'a pas été conclue avec Phar::stopBuffering(), et soulève une exception PharException si un quelconque problème est rencontré lors de la création du phar.

Exemples

Exemple #1 Un exemple avec PharData::convertToData()

Utilisons PharData::convertToData():

<?php
try {
    $tarphar = new PharData('monphar.tar');
    // notez que monphar.tar n'est *pas* effacé
    // le convertir au format tar non-exécutable
    // crée monphar.zip
    $zip = $tarphar->convertToData(Phar::ZIP);
    // crée monphar.tbz
    $tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
    // crée monphar.phar.tgz
    $phar = $tarphar->convertToData(Phar::PHAR); // soulève une exceptions
} catch (Exception $e) {
    // les erreurs sont traitées ici
}
?>

Voir aussi

  • Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
  • Phar::convertToData() - Convertit une archive phar en un fichier non-exécutable
  • PharData::convertToExecutable() - Convertit une archive tar/zip non-exécutable en une archive phar exécutable

PharData::__construct
PharData::convertToExecutable
PharData


Convertit une archive tar/zip non-exécutable en une archive phar exécutable

PharData::convertToData
PharData::copy
PharData
PHP Manual

PharData::convertToExecutable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convertit une archive tar/zip non-exécutable en une archive phar exécutable

Description

Phar PharData::convertToExecutable ([ int $format [, int $compression [, string $extension ]]] )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Cette méthode est utilisée pour convertit une archive tar ou zip non-exécutable en une archive phar exécutable. N'importe lequel des trois formats de fichier (phar, tar ou zip) peut être utilisé et la compression de l'archive complète est aussi possible.

Si aucun changement n'est demandé, cette méthode soulève une exception BadMethodCallException.

En cas de succès, cette méthode crée une nouvelle archive sur le disque et retourne un objet Phar. L'ancienne archive n'est pas effacée du disque, ceci devant être fait manuellement une fois le traitement terminé.

Liste de paramètres

format

Le format doit être Phar::PHAR, Phar::TAR ou Phar::ZIP. S'il vaut NULL, le format de fichier actuel sera conservé.

compression

La compression doit être Phar::NONE pour éviter la compression de l'archive complète, Phar::GZ pour la compression basée sur zlib, et Phar::BZ2 pour la compression basée sur bzip.

extension

Ce paramètre est utilisé pour écrase l'extension de fichier par défaut de l'archive convertie. Notez que toute les archives basées sur tar et sur zip doivent contenir .phar dans leur extension de fichier pour pouvoir être traitées comme des archives phar.

En cas de conversion vers une archive basée sur phar, les extensions par défaut sont .phar, .phar.gz ou .phar.bz2 selon la compression spécifiée. Pour les archives phar basées sur tar, les extensions par défaut sont .phar.tar, .phar.tar.gz et .phar.tar.bz2. Pour les archives phar basées sur zip, l'extension par défaut est .phar.zip.

Valeurs de retour

Cette méthode retourne un objet Phar en cas de succès et soulève une exception en cas d'échec.

Erreurs / Exceptions

Cette méthode soulève une exception BadMethodCallException quand elle est incapable de compresser, quand une méthode de compression inconnue a été spécifiée, quand l'archive demandée est mise en tampon avec Phar::startBuffering() et qu'elle n'a pas été conclue avec Phar::stopBuffering(), soulève une exception UnexpectedValueException si le support en écriture est désactivé, et soulève une exception PharException si des problèmes ont été rencontrés lors de la création du phar.

Exemples

Exemple #1 Un exemple avec PharData::convertToExecutable()

Utilisons PharData::convertToExecutable() :

<?php
try {
    $tarphar = new PharData('monphar.tar');
    // le convertit au format de fichier phar
    // notez que monphar.tar n'est *pas* effacé
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // crée monphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // crée monphar.phar.tgz
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // les erreurs sont traitées ici
}
?>

Voir aussi

  • Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
  • Phar::convertToData() - Convertit une archive phar en un fichier non-exécutable
  • PharData::convertToData() - Convertit une archive phar en une archive tar ou zip non-exécutable

PharData::convertToData
PharData::copy
PharData


Copie un fichier un fichier interne à l'archive phar vers un autre fichier au sein de la même archive

PharData::convertToExecutable
PharData::decompress
PharData
PHP Manual

PharData::copy

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::copy — Copie un fichier un fichier interne à l'archive phar vers un autre fichier au sein de la même archive

Description

bool PharData::copy ( string $oldfile , string $newfile )

Copie un fichier interne à l'archive tar/zip vers un autre fichier au sein de la même archive. C'est une alternative orientée objet à l'utilisation de copy() avec le gestionnaire de flux phar.

Liste de paramètres

oldfile

newfile

Valeurs de retour

retourne TRUE en cas de succès, mais il est plus sûr d'encadrer l'appel à la méthode dans un bloc try/catch est de considérer son succès si aucune exception n'est levée.

Erreurs / Exceptions

lève une exception UnexpectedValueException si le fichier source n'existe pas, si le fichier de destination existe déjà, si le support en écriture est désactivé, si l'ouverture d'un des deux fichiers échoue ou si la lecture du fichier source échoue; ou lève une exception PharException si l'écriture des changements de l'archive phar échoue.

Exemples

Exemple #1 Un exemple avec PharData::copy()

Cet exemple montre l'utilisation de PharData::copy() et de son équivalent en terme de gestionnaire de flux. La différence principale entre les deux façons de faire concerne la gestion des erreurs. Toutes les méthodes PharData soulèvent des exceptions, alors que le gestionnaire de flux utilise trigger_error().

<?php
try {
    $phar = new PharData('monphar.tar');
    $phar['a'] = 'salut';
    $phar->copy('a', 'b');
    echo $phar['b']; // affiche "salut"
} catch (Exception $e) {
    // on traite les erreurs
}

// l'équivalent en terme de flux de l'exemple ci-dessus.
// des E_WARNINGS sont lancés en cas d'erreur à la place d'exceptions.
copy('phar://monphar.tar/a', 'phar//monphar.tar/c');
echo file_get_contents('phar://monphar.tar/c'); // affiche "salut"
?>

PharData::convertToExecutable
PharData::decompress
PharData


Décompresse l'archive Phar entière

PharData::copy
PharData::decompressFiles
PharData
PHP Manual

PharData::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompress — Décompresse l'archive Phar entière

Description

object PharData::decompress ([ string $extension ] )

Décompresse l'archive entière, si c'est une archive tar.

Pour les archives Zip, cette méthode échoue et lève une exception. L'extension zlib doit être activée pour décompresser une archive compressée avec gzip et l'extension bzip2 doit être disponible pour décompresser une archive compressée avec bzip2.

De plus, cette méthode renomme automatiquement l'extension de fichier de l'archive, .tar par défaut. Sinon, une extension de fichier peut être spécifiée avec le second paramètre.

Liste de paramètres

extension

Pour décompresser, l'extension par défaut est .phar.tar. Utilisez ce paramètre pour spécifier une autre extension de fichier. Gardez à l'esprit que les archives non-exécutables ne peuvent pas contenir .phar dans leur nom de fichier.

Valeurs de retour

Un objet PharData est retourné.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si l'extension zlib n'est pas disponible ou si l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Exemple avec PharData::decompress()

<?php
$p = new PharData('/chemin/vers/mon.tar', 0, 'mon.tar.gz');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p3 = $p2->decompress(); // crée /chemin/vers/mon.tar
?>

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • PharData::compressFiles() - Compresse tous les fichiers de l'archive tar/zip courante
  • PharData::decompressFiles() - Décompresse tous les fichier de l'archive zip courante

PharData::copy
PharData::decompressFiles
PharData


Décompresse tous les fichier de l'archive zip courante

PharData::decompress
PharData::delMetadata
PharData
PHP Manual

PharData::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::decompressFiles — Décompresse tous les fichier de l'archive zip courante

Description

bool PharData::decompressFiles ( void )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives basées sur tar, cette méthode soulève une exception BadMethodCallException, car la compression individuelle des fichiers au sein d'une archive tar n'est pas supportée par le format de fichier. Utilisez PharData::compress() pour compresser une archive basée sur tar complète.

Pour les archives basées sur Zip, cette méthode décompresse tous les fichiers de l'archive. Les extensions zlib ou bzip2 doivent être activées pour tirer parti de cette fonctionnalité si au moins un des fichiers est compressé avec bzip2/zlib.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si l'extension zlib n'est pas disponible ou si au moins un des fichiers est compressé avec bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec PharData::decompressFiles()

<?php
$p = new PharData('/chemin/vers/mon.zip');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressed(Phar::BZ2));
    var_dump($file->isCompressed(Phar::GZ));
}
?>

L'exemple ci-dessus va afficher :

string(14) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(15) "monfichier2.txt"
int(4096)
bool(false)
bool(true)
string(14) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(15) "monfichier2.txt"
bool(false)
bool(false)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • PharData::compressFiles() - Compresse tous les fichiers de l'archive tar/zip courante
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • PharData::compress() - Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
  • PharData::decompress() - Décompresse l'archive Phar entière

PharData::decompress
PharData::delMetadata
PharData


Efface les méta-données globales d'une archive zip

PharData::decompressFiles
PharData::delete
PharData
PHP Manual

PharData::delMetadata

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delMetadata — Efface les méta-données globales d'une archive zip

Description

int PharData::delMetadata ( void )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Efface les méta-données globales de l'archive zip

Liste de paramètres

Valeurs de retour

retourne TRUE en cas de succès, mais il est préférable de vérifier les exception soulevées et de considérer le succès si aucune ne l'est.

Erreurs / Exceptions

Soulève une exception PharException si des erreurs sont rencontrés lors de l'écriture des changements sur le disque.

Exemples

Exemple #1 Un exemple avec PharData::delMetaData()

<?php
try {
    $phar = new PharData('monphar.zip');
    var_dump($phar->getMetadata());
    $phar->setMetadata("salut");
    var_dump($phar->getMetadata());
    $phar->delMetadata();
    var_dump($phar->getMetadata());
} catch (Exception $e) {
    // on traite les erreurs
}
?>

L'exemple ci-dessus va afficher :

NULL
string(5) "salut"
NULL

Voir aussi

  • Phar::delMetadata() - Efface les méta-données globales du phar

PharData::decompressFiles
PharData::delete
PharData


Efface un fichier au sein de l'archive tar/zip

PharData::delMetadata
PharData::extractTo
PharData
PHP Manual

PharData::delete

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::delete — Efface un fichier au sein de l'archive tar/zip

Description

int PharData::delete ( string $entry )

Efface un fichier au sein de l'archive. C'est l'équivalent fonctionnel de l'appel à unlink() à l'aide du gestionnaire de flux phar, comme montré dans l'exemple ci-dessous.

Liste de paramètres

entry

Chemin du fichier à effacer au sein de l'archive.

Valeurs de retour

retourne TRUE en cas de succès, mais il est préférable de vérifier les exception soulevées et de considérer le succès si aucune ne l'est.

Erreurs / Exceptions

Soulève une exception PharException si des erreurs sont rencontrés lors de l'écriture des changements sur le disque.

Exemples

Exemple #1 Un exemple avec PharData::delete()

<?php
try {
    $phar = new PharData('monphar.zip');
    $phar->delete('efface/moi.php');
    // c'est l'équivalent de :
    unlink('phar://monphar.phar/efface/mon.php');
} catch (Exception $e) {
    // on traite les erreurs
}
?>

Voir aussi

  • Phar::delete() - Efface un fichier au sein d'une archive phar

PharData::delMetadata
PharData::extractTo
PharData


Extrait le contenu d'une archive tar/zip vers un répertoire

PharData::delete
PharData::isWritable
PharData
PHP Manual

PharData::extractTo

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire

Description

int PharData::extractTo ( string $pathto [, string|array $files [, bool $overwrite ]] )

Extrait tous les fichiers d'une archive tar/zip vers le disque. Les fichiers et les répertoires extraits conservent les permissions telles qu'au sein de l'archive. Les paramètres optionnels permettent un éventuel contrôle sur quels fichiers seront extraits et si les fichiers déjà présents sur le disque peuvent être écrasés. Le second paramètre files peut être le nom d'un fichier ou d'un répertoire à extraire, ou tableau de nom de fichiers et de répertoires à extraire. Par défaut, cette méthode n'écrasera aucun fichier déjà existant, à moins que le troisième paramètre soit à TRUE. Cette méthode est identique à ZipArchive::extractTo().

Liste de paramètres

pathto

Chemin au sein de l'archive des fichiers à effacer.

files

Le nom d'un fichier ou d'un répertoire à extraire, ou un tableau de fichiers/répertoires à extraire

overwrite

Le passer à TRUE pour activer l'écrasement des fichiers déjà existants

Valeurs de retour

retourne TRUE en cas de succès, mais il est préférable de vérifier les exception soulevées et de considérer le succès si aucune ne l'est.

Erreurs / Exceptions

Soulève une exception PharException si des erreurs sont rencontrés lors de l'écriture des changements sur le disque.

Exemples

Exemple #1 Un exemple avec PharData::extractTo()

<?php
try {
    $phar = new PharData('monphar.tar');
    $phar->extractTo('/chemin/complet'); // extrait tous les fichiers
    $phar->extractTo('/un/autre/chemin', 'fichier.txt'); // extrait seulement fichier.txt
    $phar->extractTo('/ce/chemin',
        array('fichier1.txt', 'fichier2.txt')); // extrait seulement 2 fichiers
    $phar->extractTo('/troisieme/chemin', null, true); // extrait tous les fichiers, en écrasant
} catch (Exception $e) {
    // on traite les erreurs
}
?>

Voir aussi

  • Phar::extractTo() - Extrait le contenu d'une archive phar vers un répertoire

PharData::delete
PharData::isWritable
PharData


Vérifie si l'archive tar/zip peut être modifiée

PharData::extractTo
PharData::offsetSet
PharData
PHP Manual

PharData::isWritable

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::isWritable — Vérifie si l'archive tar/zip peut être modifiée

Description

bool PharData::isWritable ( void )

Cette méthode retourne TRUE si l'archive tar/zip sur le disque n'est pas en lecture seule. Contrairement à Phar::isWritable(), les archives tar/zip de données peuvent être modifiées même si phar.readonly est à 1.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Retourne TRUE si l'archive tar/zip peut être modifiée

Voir aussi

  • Phar::canWrite() - Détermine si l'extension phar supporte la création et l'écriture des phars
  • Phar::isWritable() - Retourne TRUE si l'archive phar peut être modifiée

PharData::extractTo
PharData::offsetSet
PharData


remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères

PharData::isWritable
PharData::offsetUnset
PharData
PHP Manual

PharData::offsetSet

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetSet — remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères

Description

void PharData::offsetSet ( string $offset , string $value )

C'est une implémentation de l'interface ArrayAccess permettant la manipulation directe du contenu d'une archive tar/zip en utilisant les crochets, opérateurs d'accès au tableau. offsetSet est utilisé pour modifier un fichier existant ou pour ajouter un nouveau fichier à l'archive tar/zip.

Liste de paramètres

offset

Le chemin (relatif) du fichier à modifier au sein de l'archive tar ou zip.

value

Contenu du fichier.

Valeurs de retour

Aucune valeur de retour.

Erreurs / Exceptions

Soulève une exception PharException si des problèmes ont été rencontrés lors de l'écriture sur le disque des changements de l'archive tar/zip.

Exemples

Exemple #1 Un exemple avec PharData::offsetSet()

offsetSet ne doit pas être accédé directement, mais plutôt utilisé via l'opérateur [].

<?php
$p = new PharData('/chemin/vers/mon.tar');
try {
    // appelle offsetSet
    $p['fichier.txt'] = 'Salut';
} catch (Exception $e) {
    echo 'Ne peut pas modifier fichier.txt:', $e;
}
?>

Voir aussi

  • Phar::offsetSet() - met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe

PharData::isWritable
PharData::offsetUnset
PharData


efface un fichier d'une archive tar/zip

PharData::offsetSet
PharData::setAlias
PharData
PHP Manual

PharData::offsetUnset

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::offsetUnset — efface un fichier d'une archive tar/zip

Description

bool PharData::offsetUnset ( string $offset )

C'est une implémentation de l'interface ArrayAccess permettant la manipulation directe du contenu d'une archive tar/zip en utilisant les crochets, opérateurs d'accès au tableau. offsetUnset est utilisé pour effacer un fichier existant et est appelé par la construction de langage unset().

Liste de paramètres

offset

Le chemin (relatif) du fichier à modifier au sein de l'archive tar ou zip.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception PharException si des problèmes ont été rencontrés lors de l'écriture sur le disque des changements de l'archive tar/zip.

Exemples

Exemple #1 Un exemple avec PharData::offsetUnset()

<?php
$p = new PharData('/chemin/vers/mon.zip');
try {
    // efface fichier.txt de mon.zip en appelant offsetUnset
    unset($p['fichier.txt']);
} catch (Exception $e) {
    echo 'Ne peut pas effacer fichier.txt: ', $e;
}
?>

Voir aussi

  • Phar::offsetUnset() - Efface un fichier d'un phar

PharData::offsetSet
PharData::setAlias
PharData


fonction inutile (Phar::setAlias n'est pas valide pour PharData)

PharData::offsetUnset
PharData::setDefaultStub
PharData
PHP Manual

PharData::setAlias

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setAlias — fonction inutile (Phar::setAlias n'est pas valide pour PharData)

Description

bool PharData::setAlias ( string $alias )

Les archives tar/zip non exécutables ne peuvent pas avoir d'alias, donc cette méthode ne fait que soulever une exception.

Liste de paramètres

alias

Une courte chaîne de caractère à laquelle se référer pour faire appel à l'archive via le gestionnaire de flux phar. Ce paramètre est ignoré.

Valeurs de retour

Erreurs / Exceptions

Soulève une exception PharException lors de l'appel à la méthode

Voir aussi

  • Phar::setAlias() - Fixe l'alias de l'archive Phar

PharData::offsetUnset
PharData::setDefaultStub
PharData


fonction inutile (Phar::setDefaultStub n'est pas valide pour PharData)

PharData::setAlias
Phar::setMetadata
PharData
PHP Manual

PharData::setDefaultStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setDefaultStub — fonction inutile (Phar::setDefaultStub n'est pas valide pour PharData)

Description

void PharData::setDefaultStub ([ string $index [, string $webindex ]] )

Les archives tar/zip non-exécutables ne peuvent pas avoir de conteneur de chargement, donc cette méthode ne fait que soulever une exception.

Liste de paramètres

index

Chemin relatif au sein de l'archive phar à exécuter en cas d'accès à partir de la ligne de commande

webindex

Chemin relatif au sein de l'archive phar à exécuter en cas d'accès à partir d'un navigateur

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Soulève une exception PharException lors de l'appel à la méthode

Voir aussi

  • Phar::setDefaultStub() - Utilisé pour fixer le chargeur PHP ou le conteneur de chargement d'une archive Phar en tant que chargeur par défaut

PharData::setAlias
Phar::setMetadata
PharData


Fixe les méta-données de l'archive

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData
PHP Manual

Phar::setMetadata

(PHP >= 5.3.0, PECL phar >= 1.0.0)

Phar::setMetadata — Fixe les méta-données de l'archive

Description

void Phar::setMetadata ( mixed $metadata )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Phar::setMetadata() doit être utilisé pour stocker des méta-données personnalisées qui décrivent quelque chose à propos de l'archive phar en tant qu'entité complète. PharFileInfo::setMetadata() doit être utilisé pour les méta-données spécifiques aux fichiers. Les méta-données peuvent dégrader les performances de chargement d'une archive phar si les données sont trop lourdes.

Les méta-données peuvent être utilisées pour spécifier quel fichier au sein de l'archive doit être utilisé pour charger l'archive ou l'emplacement d'un fichier de manifeste comme le fichier package.xml de » PEAR. De manière générale, n'importe quelle données utile décrivant l'archive phar peut être stockée.

Liste de paramètres

metadata

N'importe quelle variable PHP contenant de l'information à stocker pour décrire l'archive phar

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Un exemple avec Phar::setMetadata()

<?php
// on s'assure que le phar n'existe pas
@unlink('nouveauphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
    $p['fichier.php'] = '<?php echo "salut"';
    $p->setMetadata(array('chargement' => 'fichier.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier le phar:', $e;
}
?>

L'exemple ci-dessus va afficher :

array(1) {
  ["chargement"]=>
  string(11) "fichier.php"
}

Voir aussi

  • Phar::getMetadata() - Retourne les méta-données de l'archive phar
  • Phar::delMetadata() - Efface les méta-données globales du phar
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données

PharData::setDefaultStub
Phar::setSignatureAlgorithm
PharData


Assigne l'algorithme de signature d'un phar et l'applique

Phar::setMetadata
PharData::setStub
PharData
PHP Manual

Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — Assigne l'algorithme de signature d'un phar et l'applique

Description

void Phar::setSignatureAlgorithm ( int $sigtype )

Note: Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Assigne l'algorithme de signature d'un phar et l'applique. L'algorithme
de signature doit être  Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, ou Phar::PGP
(PGP n'est pas encore supporté et implique Phar::SHA1).

Liste de paramètres

sigtype

Un algorithme parmi Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::PGP

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Soulève une exception UnexpectedValueException pour beaucoup d'erreurs, une exception BadMethodCallException si l'appel est fait pour une archive phar basée sur tar ou sur zip, une exception PharException si des problèmes sont rencontrés lors de l'écriture des changements sur le disque.

Voir aussi

  • Phar::getSupportedSignatures() - Retourne un tableau des types de signature supportés
  • Phar::getSignature() - Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar

Phar::setMetadata
PharData::setStub
PharData


fonction inutile (Phar::setStub n'est pas valide pour PharData)

Phar::setSignatureAlgorithm
PharFileInfo
PharData
PHP Manual

PharData::setStub

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharData::setStub — fonction inutile (Phar::setStub n'est pas valide pour PharData)

Description

void PharData::setStub ( string $stub )

Les archives tar/zip non-exécutables ne peuvent pas avoir de conteneur de chargement, donc cette méthode ne fait que soulever une exception.

Liste de paramètres

stub

Une chaîne de caractères ou un gestionnaire de flux ouvert à utiliser en tant que conteneur de chargement exécutable pour l'archive phar. Ce paramètre est ignoré.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Soulève une exception PharException lors de tout appel à la méthode

Voir aussi

  • Phar::setStub() - Utilisé pour spécifier le chargeur PHP ou le conteneur de chargement d'une archive Phar

Phar::setSignatureAlgorithm
PharFileInfo
PharData


La classe PharFileInfo

Introduction

La classe PharFileInfo fournit une interface de haut niveau pour accéder au contenu et aux attributs d'un fichier contenu dans une archive phar.

Synopsis de la classe

PharFileInfo
PharFileInfo extends SplFileInfo {
/* Propriétés */
/* Méthodes */
void chmod ( int $permissions )
bool compress ( int $compression )
void __construct ( string $entry )
bool decompress ( void )
bool delMetadata ( void )
int getCRC32 ( void )
int getCompressedSize ( void )
mixed getMetaData ( void )
int getPharFlags ( void )
bool hasMetadata ( void )
bool isCRCChecked ( void )
bool isCompressed ([ int $compression_type = 9021976 ] )
bool isCompressedBZIP2 ( void )
bool isCompressedGZ ( void )
bool setCompressedBZIP2 ( void )
bool setCompressedGZ ( void )
void setMetaData ( mixed $metadata )
bool setUncompressed ( void )
}

Sommaire

  • PharFileInfo::chmod — Fixe les bits de permission spécifiques aux fichiers
  • PharFileInfo::compress — Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • PharFileInfo::__construct — Construit un objet d'entrée Phar
  • PharFileInfo::decompress — Décompresse l'entrée Phar courante au sein du phar
  • PharFileInfo::delMetadata — Efface les métadonnées de l'entrée
  • PharFileInfo::getCRC32 — Retourne le code CRC32 ou soulève une exception si le CRC n'a pas été vérifié
  • PharFileInfo::getCompressedSize — Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::getMetaData — Retourne les méta-données spécifiques attachées à un fichier
  • PharFileInfo::getPharFlags — Retourne les drapeaux du fichier Phar
  • PharFileInfo::hasMetadata — Retourne les méta-données de l'entrée
  • PharFileInfo::isCRCChecked — Détermine si le fichier a un CRC vérifié
  • PharFileInfo::isCompressed — Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedBZIP2 — Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressedGZ — Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2 — Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setCompressedGZ — Compresse l'entrée Phar courante au sein du phar avec gzip
  • PharFileInfo::setMetaData — Fixe les métadonnées spécifiques à un fichier
  • PharFileInfo::setUncompressed — Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
PharData::setStub
PharFileInfo::chmod
Phar


Fixe les bits de permission spécifiques aux fichiers

PharFileInfo
PharFileInfo::compress
PharFileInfo
PHP Manual

PharFileInfo::chmod

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::chmod — Fixe les bits de permission spécifiques aux fichiers

Description

void PharFileInfo::chmod ( int $permissions )

PharFileInfo::chmod() permet de fixer les bits d'exécution des fichiers, ainsi que ceux de lecture seule. Ceux d'écriture sont ignorés car fixés au démarrage par la variable INI phar.readonly. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'une archive PharData n'ont pas cette restriction.

Liste de paramètres

permissions

les permissions (voir chmod())

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Un exemple avec PharFileInfo::chmod()

<?php
// on s'assure que le phar n'existe pas
@unlink('nouveauphar.phar');
try {
    $p = new Phar('nouveauphar.phar', 0, 'nouveauphar.phar');
    $p['fichier.sh'] = '#!/usr/local/lib/php
    <?php echo "salut"; ?>';
    // met le bit d'exécution
    $p['fichier.sh']->chmod(0555);
    var_dump($p['fichier.sh']->isExecutable());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier le phar: ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(true)

PharFileInfo
PharFileInfo::compress
PharFileInfo


Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo
PHP Manual

PharFileInfo::compress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::compress — Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2

Description

bool PharFileInfo::compress ( int $compression )

Cette méthode compresse le fichier au sein de l'archive Phar en utilisant l'une des compressions bzip2 ou zlib. Les extensions bzip2 ou zlib doivent être activées pour tirer parti de cette fonctionnalité. De plus, si le fichier est déjà compressé, l'extension adéquate doit être activée pour le décompresser. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'archives PharData n'ont pas cette restriction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension bzip2/zlib n'est pas disponible.

Exemples

Exemple #1 Un exemple avec PharFileInfo::compress()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    var_dump($file->isCompressed(Phar::BZ2));
    $p['monfichier.txt']->compress(Phar::BZ2);
    var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier mon.phar : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés

PharFileInfo::chmod
PharFileInfo::__construct
PharFileInfo


Construit un objet d'entrée Phar

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo
PHP Manual

PharFileInfo::__construct

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::__construct — Construit un objet d'entrée Phar

Description

void PharFileInfo::__construct ( string $entry )

Cette méthode ne doit pas être appelé directement. A la place, un objet PharFileInfo est initialisé en appelant Phar::offsetGet() via un accès de type tableau.

Liste de paramètres

entry

L'URL complète pour récupérer un fichier. Si vous voulez récupérer les informations du fichier mon/fichier.php du phar boo.phar, vous devrez préciser phar://boo.phar/mon/fichier.php.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si __construct() est appelé deux fois. Soulève une exception UnexpectedValueException si l'URL du phar demandé est mal formée, si le phar ne peut pas être ouvert ou si le fichier ne peut pas être trouvé au sein du phar.

Exemples

Exemple #1 Exemple avec PharFileInfo::__construct()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['fichierdetest.txt'] = "salut\nmon\npote";
    $file = $p['fichierdetest.txt'];
    foreach ($file as $line => $text) {
        echo "ligne numéro $line: $text";
    }
    // ceci marche aussi
    $file = new PharFileInfo('phar:///chemin/vers/mon.phar/fichierdetest.txt');
    foreach ($file as $line => $text) {
        echo "ligne numéro $line: $text";
    }
} catch (Exception $e) {
    echo 'L'opération Phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

ligne numéro 1: salut
ligne numéro 2: mon
ligne numéro 3: pote
ligne numéro 1: salut
ligne numéro 2: mon
ligne numéro 3: pote

PharFileInfo::compress
PharFileInfo::decompress
PharFileInfo


Décompresse l'entrée Phar courante au sein du phar

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo
PHP Manual

PharFileInfo::decompress

(PHP >= 5.3.0, PECL phar >= 2.0.0)

PharFileInfo::decompress — Décompresse l'entrée Phar courante au sein du phar

Description

bool PharFileInfo::decompress ( void )

Cette méthode décompresse le fichier au sein de l'archive Phar. Selon la façon dont le fichier est compressé, les extensions bzip2 ou zlib doivent être activées pour tirer parti de cette fonctionnalité. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est dans une archive Phar. Les fichiers au sein d'archives PharData n'ont pas cette restriction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension bzip2/zlib n'est pas disponible.

Exemples

Exemple #1 Exemple avec PharFileInfo::decompress()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    $file->compress(Phar::GZ);
    var_dump($file->isCompressed());
    $p['monfichier.txt']->decompress();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier mon.phar: ', $e;
}
?>

L'exemple ci-dessus va afficher :

int(4096)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés

PharFileInfo::__construct
PharFileInfo::delMetadata
PharFileInfo


Efface les métadonnées de l'entrée

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo
PHP Manual

PharFileInfo::delMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::delMetadata — Efface les métadonnées de l'entrée

Description

bool PharFileInfo::delMetadata ( void )

Efface les métadonnées de l'entrée, s'il y en a.

Liste de paramètres

Pas de paramètres.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE si l'entrée ne possédait pas de métadonnées. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'archives PharData n'ont pas cette restriction.

Erreurs / Exceptions

Soulève une exception PharException si des erreurs ont été rencontrées lors de l'écriture des changements sur le disque, et une exception BadMethodCallException si l'accès en écriture est désactivé.

Exemples

Exemple #1 Un exemple avec PharFileInfo::delMetaData()

<?php
try {
    $a = new Phar('monphar.phar');
    $a['salut'] = 'salut';
    var_dump($a['salut']->delMetadata());
    $a['salut']->setMetadata('mon pote');
    var_dump($a['salut']->delMetadata());
    var_dump($a['salut']->delMetadata());
} catch (Exception $e) {
    // on traite les erreurs
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)
bool(false)

Voir aussi

  • PharFileInfo::setMetadata() - Fixe les métadonnées spécifiques à un fichier
  • PharFileInfo::hasMetadata() - Retourne les méta-données de l'entrée
  • PharFileInfo::getMetadata() - Retourne les méta-données spécifiques attachées à un fichier
  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données
  • Phar::getMetadata() - Retourne les méta-données de l'archive phar

PharFileInfo::decompress
PharFileInfo::getCRC32
PharFileInfo


Retourne le code CRC32 ou soulève une exception si le CRC n'a pas été vérifié

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo
PHP Manual

PharFileInfo::getCRC32

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCRC32 — Retourne le code CRC32 ou soulève une exception si le CRC n'a pas été vérifié

Description

int PharFileInfo::getCRC32 ( void )

Retourne la somme de contrôle crc32() du fichier au sein de l'archive Phar.

Valeurs de retour

La somme de contrôle crc32() du fichier au sein de l'archive Phar.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si le CRC32 du fichier n'a pas encore été vérifié. Ceci n'arrive normalement pas, car le CRC est vérifié à l'ouverture du fichier en lecture ou en écriture.

Exemples

Exemple #1 Exemple avec PharFileInfo::getCRC32()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    echo $file->getCRC32();
} catch (Exception $e) {
    echo 'L'écriture de mon.phar.phar a échouée : ', $e;
}
?>

L'exemple ci-dessus va afficher :

3633523372

PharFileInfo::delMetadata
PharFileInfo::getCompressedSize
PharFileInfo


Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar

PharFileInfo::getCRC32
PharFileInfo::getMetaData
PharFileInfo
PHP Manual

PharFileInfo::getCompressedSize

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getCompressedSize — Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar

Description

int PharFileInfo::getCompressedSize ( void )

Cette méthode retourne la taille du fichier au sein de l'archive Phar. Les fichiers non compressés retourneront la même valeur avec getCompressedSize qu'avec filesize()

Valeurs de retour

La taille en octets du fichier au sein de l'archive Phar sur le disque.

Exemples

Exemple #1 Un exemple avec PharFileInfo::getCompressedSize()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    echo $file->getCompressedSize();
} catch (Exception $e) {
    echo 'L'écriture de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

2

Voir aussi

  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'

PharFileInfo::getCRC32
PharFileInfo::getMetaData
PharFileInfo


Retourne les méta-données spécifiques attachées à un fichier

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo
PHP Manual

PharFileInfo::getMetaData

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getMetaData — Retourne les méta-données spécifiques attachées à un fichier

Description

mixed PharFileInfo::getMetaData ( void )

Retourne les méta-données qui ont été sauvegardées dans le manifeste de l'archive Phar pour ce fichier.

Liste de paramètres

Valeurs de retour

n'importe quelle variable PHP qui peut être sérialisée et qui est stockée comme méta-données pour le fichier, ou NULL si aucune méta-donnée n'est stockée.

Exemples

Exemple #1 Un exemple avec PharFileInfo::getMetaData()

<?php
// on s'assure que le phar n'est pas déjà
@unlink('nouveauphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
    $p['fichier.txt'] = 'salut';
    $p['fichier.txt']->setMetaData(array('utilisateur' => 'Yannick', 'mime-type' => 'text/plain'));
    var_dump($p['fichier.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier nouveauphar.phar: ', $e;
}
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["utilisateur"]=>
  string(7) "Yannick"
  ["mime-type"]=>
  string(10) "text/plain"
}

Voir aussi

  • PharFileInfo::setMetadata() - Fixe les métadonnées spécifiques à un fichier
  • PharFileInfo::hasMetadata() - Retourne les méta-données de l'entrée
  • PharFileInfo::delMetadata() - Efface les métadonnées de l'entrée
  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données
  • Phar::getMetadata() - Retourne les méta-données de l'archive phar

PharFileInfo::getCompressedSize
PharFileInfo::getPharFlags
PharFileInfo


Retourne les drapeaux du fichier Phar

PharFileInfo::getMetaData
PharFileInfo::hasMetadata
PharFileInfo
PHP Manual

PharFileInfo::getPharFlags

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::getPharFlags — Retourne les drapeaux du fichier Phar

Description

int PharFileInfo::getPharFlags ( void )

Cette méthode retourne les drapeaux fixés dans le manifeste pour un Phar. Elle retournera toujours 0 dans son implémentation actuelle.

Valeurs de retour

Les drapeaux Phar (toujours 0 dans son implémentation actuelle)

Exemples

Exemple #1 Un exemple avecPharFileInfo::getPharFlags()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    var_dump($file->getPharFlags());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier mon.phar: ', $e;
}
?>

L'exemple ci-dessus va afficher :

int(0)

PharFileInfo::getMetaData
PharFileInfo::hasMetadata
PharFileInfo


Retourne les méta-données de l'entrée

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo
PHP Manual

PharFileInfo::hasMetadata

(PHP >= 5.3.0, PECL phar >= 1.2.0)

PharFileInfo::hasMetadata — Retourne les méta-données de l'entrée

Description

bool PharFileInfo::hasMetadata ( void )

Retourne les méta-données d'un fichier au sein d'une archive Phar.

Liste de paramètres

Aucun paramètre.

Valeurs de retour

Retourne FALSE si aucune méta-donnée n'est présente ou vaut NULL, TRUE si les méta-données ne valent pas NULL

Voir aussi

  • PharFileInfo::setMetadata() - Fixe les métadonnées spécifiques à un fichier
  • PharFileInfo::getMetadata() - Retourne les méta-données spécifiques attachées à un fichier
  • PharFileInfo::delMetadata() - Efface les métadonnées de l'entrée
  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données
  • Phar::getMetadata() - Retourne les méta-données de l'archive phar

PharFileInfo::getPharFlags
PharFileInfo::isCRCChecked
PharFileInfo


Détermine si le fichier a un CRC vérifié

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo
PHP Manual

PharFileInfo::isCRCChecked

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCRCChecked — Détermine si le fichier a un CRC vérifié

Description

bool PharFileInfo::isCRCChecked ( void )

Cette méthode détermine si un fichier au sein d'une archive Phar a un CRC vérifié.

Valeurs de retour

TRUE si le fichier a un CRC vérifié, FALSE sinon.

Exemples

Exemple #1 Un exemple avec PharFileInfo::isCRCChecked()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    var_dump($file->isCRCChecked());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(true)

PharFileInfo::hasMetadata
PharFileInfo::isCompressed
PharFileInfo


Retourne si l'entrée est compressée

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressed — Retourne si l'entrée est compressée

Description

bool PharFileInfo::isCompressed ([ int $compression_type = 9021976 ] )

Cette méthode détermine si un fichier au sein d'une archive Phar est compressé avec une des compression Gzip o Bzip2.

Liste de paramètres

compression_type

Une des compressions Phar::GZ ou Phar::BZ2, aucune compression par défaut.

Valeurs de retour

TRUE si le fichier au sein de l'archive est compressé, FALSE sinon.

Exemples

Exemple #1 Un exemple avec PharFileInfo::isCompressed()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $p['monfichier2.txt'] = 'salut';
    $p['monfichier2.txt']->setCompressedGZ();
    $file = $p['monfichier.txt'];
    $file2 = $p['monfichier2.txt'];
    var_dump($file->isCompressed());
    var_dump($file2->isCompressed());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::decompress() - Décompresse l'entrée Phar courante au sein du phar
  • PharFileInfo::compress() - Compresse l'entrée Phar courante avec une des compressions zlib ou bzip2
  • Phar::decompress() - Décompresse l'archive tar complète
  • Phar::compress() - Compresse l'archive Phar complète en utilisant la compression Gzip ou Bzip2
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::decompressFiles() - Décompresse tous les fichiers de l'archive Phar courante
  • Phar::compressFiles() - Compresse tous les fichiers de l'archive Phar courante'

PharFileInfo::isCRCChecked
PharFileInfo::isCompressedBZIP2
PharFileInfo


Détermine si l'archive Phar est compressée avec bzip2

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::isCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedBZIP2 — Détermine si l'archive Phar est compressée avec bzip2

Description

bool PharFileInfo::isCompressedBZIP2 ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser PharFileInfo::isCompressed(), PharFileInfo::decompress(), et PharFileInfo::compress() à la place.

Détermine si le fichier au sein de l'archive Phar est compressé avec Bzip2.

Valeurs de retour

TRUE si le fichier au sein de l'archive Phar est compressé avec Bzip2, FALSE sinon.

Exemples

Exemple #1 Un exemple avec PharFileInfo::isCompressedBZIP2()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $p['monfichier2.txt'] = 'salut';
    $p['monfichier3.txt'] = 'salut';
    $p['monfichier2.txt']->setCompressedGZ();
    $p['monfichier3.txt']->setCompressedBZIP2();
    $file = $p['monfichier.txt'];
    $file2 = $p['monfichier2.txt'];
    $file3 = $p['monfichier3.txt'];
    var_dump($file->isCompressedBZIP2());
    var_dump($file2->isCompressedBZIP2());
    var_dump($file3->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

PharFileInfo::isCompressed
PharFileInfo::isCompressedGZ
PharFileInfo


Détermine si l'archive Phar est compressée avec gzip

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo
PHP Manual

PharFileInfo::isCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::isCompressedGZ — Détermine si l'archive Phar est compressée avec gzip

Description

bool PharFileInfo::isCompressedGZ ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser PharFileInfo::isCompressed(), PharFileInfo::decompress(), et PharFileInfo::compress() à la place.

Détermine si un fichier au sein de l'archive Phar est compressé avec Gzip.

Valeurs de retour

TRUE si le fichier au sein de l'archive Phar est compressé avec Gzip, FALSE sinon.

Exemples

Exemple #1 Exemple avec PharFileInfo::isCompressedGZ()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $p['monfichier2.txt'] = 'salut';
    $p['monfichier3.txt'] = 'salut';
    $p['monfichier2.txt']->setCompressedGZ();
    $p['monfichier3.txt']->setCompressedBZIP2();
    $file = $p['monfichier.txt'];
    $file2 = $p['monfichier2.txt'];
    $file3 = $p['monfichier3.txt'];
    var_dump($file->isCompressedGZ());
    var_dump($file2->isCompressedGZ());
    var_dump($file3->isCompressedGZ());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

PharFileInfo::isCompressedBZIP2
PharFileInfo::setCompressedBZIP2
PharFileInfo


Compresse l'entrée Phar courante au sein du phar avec Bzip2

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo
PHP Manual

PharFileInfo::setCompressedBZIP2

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedBZIP2 — Compresse l'entrée Phar courante au sein du phar avec Bzip2

Description

bool PharFileInfo::setCompressedBZIP2 ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser PharFileInfo::isCompressed(), PharFileInfo::decompress(), et PharFileInfo::compress() à la place.

Cette méthode compresse le fichier au sein de l'archive Phar en utilisant bzip2. L'extension bzip2 doit être activée doit être activée pour tirer parti de cette fonctionnalité. De plus, si au moins un fichier est déjà compressé avec gzip, l'extension zlib doit être activée pour décompresser le fichier. Comme avec toutes les fonctionnalités qui modifient le contenu du phar, la variable INI phar.readonly doit être à off pour réussir.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension bzip2 n'est pas disponible.

Exemples

Exemple #1 Un exemple avec PharFileInfo::setCompressedBZIP2()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    var_dump($file->isCompressedBZIP2());
    $p['monfichier.txt']->setCompressedBZIP2();
    var_dump($file->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

PharFileInfo::isCompressedGZ
PharFileInfo::setCompressedGZ
PharFileInfo


Compresse l'entrée Phar courante au sein du phar avec gzip

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetaData
PharFileInfo
PHP Manual

PharFileInfo::setCompressedGZ

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setCompressedGZ — Compresse l'entrée Phar courante au sein du phar avec gzip

Description

bool PharFileInfo::setCompressedGZ ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser PharFileInfo::isCompressed(), PharFileInfo::decompress(), et PharFileInfo::compress() à la place.

Cette méthode compresse le fichier au sein de l'archive Phar en utilisant gzip. L'extension zlib doit être activée doit être activée pour tirer parti de cette fonctionnalité. De plus, si au moins un fichier est déjà compressé avec bzip2, l'extension bzip2 doit être activée pour décompresser le fichier. Comme avec toutes les fonctionnalités qui modifient le contenu du phar, la variable INI phar.readonly doit être à off pour réussir.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension zlib n'est pas disponible.

Exemples

Exemple #1 Un exemple avec PharFileInfo::setCompressedGZ()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    var_dump($file->isCompressedGZ());
    $p['monfichier.txt']->setCompressedGZ();
    var_dump($file->isCompressedGZ());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setUncompressed() - Décompresse l'entrée Phar courante au sein du phar s'il y a lieu
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

PharFileInfo::setCompressedBZIP2
PharFileInfo::setMetaData
PharFileInfo


Fixe les métadonnées spécifiques à un fichier

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo
PHP Manual

PharFileInfo::setMetaData

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setMetaData — Fixe les métadonnées spécifiques à un fichier

Description

void PharFileInfo::setMetaData ( mixed $metadata )

PharFileInfo::setMetaData() ne doit être utilisée que pour stocker des données personnalisées dans un fichier qui ne peuvent pas l'être avec des informations normalement stockées avec le fichier. Les métadonnées peuvent dégrader les performances de chargement d'une archive phar si les données sont trop lourdes ou s'il y a beaucoup de fichiers avec des métadonnées. Il est important de noter que les permissions de fichiers sont supportées nativement dans un phar; il est possible de les fixer avec la méthode PharFileInfo::chmod(). Comme avec toutes les fonctionnalités qui modifient le contenu du phar, la variable INI phar.readonly doit être à off pour réussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'archives PharData n'ont pas cette restriction.

Une utilisation possible des métadonnées est le passage d'un utilisateur/groupe qui devrait être utilisé quand un fichier est extrait du phar vers le disque. On peut aussi spécifier un type MIME à retourner. De manière générale, on peut stocker toute donnée utile qui décrit un fichier mais qui ne peut pas y être inscrite directement.

Liste de paramètres

metadata

Toute variable PHP contenant des informations à stocker à part du fichier

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Un exemple avec PharFileInfo::setMetaData()

<?php
// on s'assure que le phar n'existe pas déjà
@unlink('nouveauphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
    $p['fichier.txt'] = 'salut';
    $p['fichier.txt']->setMetaData(array('utilisateur' => 'Yannick', 'mime-type' => 'text/plain'));
    var_dump($p['fichier.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Ne peut pas créer/modifier le phar : ', $e;
}
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["utilisateur"]=>
  string(7) "Yannick"
  ["mime-type"]=>
  string(10) "text/plain"
}

Voir aussi

  • PharFileInfo::hasMetadata() - Retourne les méta-données de l'entrée
  • PharFileInfo::getMetadata() - Retourne les méta-données spécifiques attachées à un fichier
  • PharFileInfo::delMetadata() - Efface les métadonnées de l'entrée
  • Phar::setMetadata() - Fixe les méta-données de l'archive
  • Phar::hasMetadata() - Détermine si le phar a ou non des méta-données
  • Phar::getMetadata() - Retourne les méta-données de l'archive phar

PharFileInfo::setCompressedGZ
PharFileInfo::setUncompressed
PharFileInfo


Décompresse l'entrée Phar courante au sein du phar s'il y a lieu

PharFileInfo::setMetaData
PharException
PharFileInfo
PHP Manual

PharFileInfo::setUncompressed

(PHP >= 5.3.0, PECL phar >= 1.0.0)

PharFileInfo::setUncompressed — Décompresse l'entrée Phar courante au sein du phar s'il y a lieu

Description

bool PharFileInfo::setUncompressed ( void )

Note: Cette méthode a été supprimée de l'extension phar depuis la version 2.0.0. Vous pouvez utiliser PharFileInfo::isCompressed(), PharFileInfo::decompress(), et PharFileInfo::compress() à la place.

Cette méthode décompresse le fichier au sein de l'archive Phar. Selon la façon dont le fichier est compressé, les extensions bzip2 ou zlib doivent être activées pour tirer parti de cette fonctionnalité. Comme avec toutes les fonctionnalités qui modifient le contenu du phar, la variable INI phar.readonly doit être à off pour réussir.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Soulève une exception BadMethodCallException si la variable INI phar.readonly est à on, ou si l'extension bzip2/zlib n'est pas disponible.

Exemples

Exemple #1 Un exemple avec PharFileInfo::setUncompressed()

<?php
try {
    $p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
    $p['monfichier.txt'] = 'salut';
    $file = $p['monfichier.txt'];
    $file->setCompressedGZ();
    var_dump($file->isCompressed());
    $p['monfichier.txt']->setUncompressed();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'La création/modification de mon.phar a échoué : ', $e;
}
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

Voir aussi

  • PharFileInfo::getCompressedSize() - Retourne la taille actuelle (avec compression) du fichier au sein de l'archive Phar
  • PharFileInfo::isCompressedBZIP2() - Détermine si l'archive Phar est compressée avec bzip2
  • PharFileInfo::isCompressed() - Retourne si l'entrée est compressée
  • PharFileInfo::isCompressedGZ() - Détermine si l'archive Phar est compressée avec gzip
  • PharFileInfo::setCompressedBZIP2() - Compresse l'entrée Phar courante au sein du phar avec Bzip2
  • PharFileInfo::setCompressedGZ() - Compresse l'entrée Phar courante au sein du phar avec gzip
  • Phar::canCompress() - Détermine si l'extension phar supporte une la compression en utilisant soit zip soit bzip2
  • Phar::isCompressed() - Retourne Phar::GZ ou PHAR::BZ2 si l'archive entière est compressée (.tar.gz/tar.bz, etc)
  • Phar::compressAllFilesBZIP2() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Bzip2
  • Phar::compressAllFilesGZ() - Compresse tous les fichiers de l'archive Phar courante en utilisant la compression Gzip
  • Phar::getSupportedCompression() - Retourne un tableau des algorithmes de compression supportés
  • Phar::uncompressAllFiles() - Décompresse tous les fichiers de l'archive Phar courante

PharFileInfo::setMetaData
PharException
PharFileInfo


La classe PharException

Introduction

La classe PharException fournit une classe d'exception spécifique à phar pour essayer/attraper des blocs.

Synopsis de la classe

PharException
PharException extends Exception {
/* Propriétés */
}

Sommaire

  • PharException — La classe PharException fournit une classe d'exception spécifique à phar pour essayer/attraper des blocs
PharFileInfo::setUncompressed
PharException
Phar


La classe PharException fournit une classe d'exception spécifique à phar pour essayer/attraper des blocs

PharException
Rar
PharException
PHP Manual

PharException

(Unknown)

PharException — La classe PharException fournit une classe d'exception spécifique à phar pour essayer/attraper des blocs

Description

PharException
Rar
PharException
PHP Manual


Archives RAR

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • RarArchive — La classe RarArchive
    • RarArchive::close — Ferme une archive RAR et libère toutes les ressources
    • RarArchive::getComment — Récupère un commentaire depuis une archive RAR
    • RarArchive::getEntries — Récupère la liste complète depuis l'archive RAR
    • RarArchive::getEntry — Récupère une entrée depuis une archive RAR
    • RarArchive::isSolid — Vérifie si l'archive RAR est solide
    • RarArchive::open — Ouvre une archive RAR
    • RarArchive::__toString — Récupère une représentation sous forme de texte
  • RarEntry — La classe RarEntry
    • RarEntry::extract — Extrait une entrée d'une archive
    • RarEntry::getAttr — Récupère les attributs d'une entrée
    • RarEntry::getCrc — Récupère le CRC d'une entrée
    • RarEntry::getFileTime — Récupère la date de dernière modification d'une entrée
    • RarEntry::getHostOs — Récupère le code de l'hôte pour une entrée
    • RarEntry::getMethod — Récupère la méthode utilisée pour l'ajout d'une entrée
    • RarEntry::getName — Récupère le nom de l'entrée
    • RarEntry::getPackedSize — Récupère la taille compressée d'une entrée
    • RarEntry::getStream — Récupère le gestion de fichier pour une entrée
    • RarEntry::getUnpackedSize — Récupère la taille décompressée d'une entrée
    • RarEntry::getVersion — Récupère la version minimale du logiciel RAR à utiliser pour décompresser une entrée
    • RarEntry::isDirectory — Teste si l'entrée courante est un dossier
    • RarEntry::isEncrypted — Teste si une entrée est cryptée
    • RarEntry::__toString — Récupère une représentation sous forme de chaîne de caractères d'une entrée
  • RarException — La classe RarException
    • RarException::isUsingExceptions — Vérifie si le gestionnaire d'erreur utilise les exceptions ou non
    • RarException::setUsingExceptions — Active ou désactive les exceptions dans le gestionnaire d'erreurs
PharException
Introduction
Extensions sur l'archivage et la compression


Introduction

Rar est un archiveur puissant et fiable, créé par Eugene Roshal. Cette extension vous donne la possibilité de lire des archives Rar, mais ne supporte pas l'écriture, car elle n'est pas supporté par la bibliothèque UnRar et que c'est interdit directement par la licence.

Plus d'informations sur Rar et UnRar peuvent être trouvées sur » http://www.rarlabs.com/.

Rar
Installation/Configuration
Rar


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Rar


Installation

Rar est actuellement disponible via PECL » http://pecl.php.net/package/rar.

Vous pouvez utiliser l'assistant d'installation PECL pour installer l'extension Rar, en utilisant la commande suivante : pecl -v install rar.

Vous pouvez également télécharger le paquet tar.gz et installez Rar manuellement :

Exemple #1 Installation de Rar

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Les utilisateurs de Windows doivent activer la bibliothèque php_rar.dll dans le fichier php.ini afin d'utiliser ces fonctions. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension enregistre 2 classes internes : La représentation de l'archive, retournée par la fonction rar_open() et la représentation des entrées, retournée par les fonctions rar_list() et rar_entry_get().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

RAR_HOST_MSDOS ( integer )
Utilisez la constante RarEntry::HOST_MSDOS à la place.
RAR_HOST_OS2 ( integer )
Utilisez la constante RarEntry::HOST_OS2 à la place.
RAR_HOST_WIN32 ( integer )
Utilisez la constante RarEntry::HOST_WIN32 à la place.
RAR_HOST_UNIX ( integer )
Utilisez la constante RarEntry::HOST_UNIX à la place.
RAR_HOST_BEOS ( integer )
Utilisez la constante RarEntry::HOST_BEOS à la place.
Types de ressources
Exemples
Rar


Exemples

Exemple #1 Décompression à la volée

<?php

if (!array_key_exists("i", $_GET) || !is_numeric($_GET["i"]))
    die("Index non spécifié ou non numérique");
$index = (int) $_GET["i"];

$arch = RarArchive::open("example.rar");
if ($arch === FALSE)
    die("Impossible d'ouvrir example.rar");

$entries = $arch->getEntries();
if ($entries === FALSE)
    die("Impossible de récupérer les entrées");

if (!array_key_exists($index, $entries))
    die("L'index $index n'existe pas");

$orfilename = $entries[$index]->getName(); //Encodage UTF-8

$filesize = $entries[$index]->getUnpackedSize();

/* Vous pouvez vérifier ici HTTP_IF_MODIFIED_SINCE et le comparer
 * avec $entries[$index]->getFileTime(). Vous pouvez également envoyer
 * un en-tête "Last modified" */

$fp = $entries[$index]->getStream();
if ($fp === FALSE)
    die("Impossible d'ouvrir le fichier d'index $index depuis l'archive.");

$arch->close(); //plus nécessaire ; le flux est indépendant

function detectUserAgent() {
    if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
        return "Autre";

    $uas = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match("@Opera/@", $uas))
        return "Opera";
    if (preg_match("@Firefox/@", $uas))
        return "Firefox";
    if (preg_match("@Chrome/@", $uas))
        return "Chrome";
    if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
        if (((float)$matches[1]) >= 7.0)
            return "IE";
    }

    return "Autre";
}

/*
 * Nous avons 3 options :
 * - Pour FF et Opera, qui supportent RFC 2231, utilisez ce format.
 * - Pour IE et Chrome, utilisez attwithfnrawpctenclong
 *   (http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong)
 * - Pour les autres, convertissez en ISO-8859-1, si possible
 */
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';

switch (detectUserAgent()) {
    case "Opera":
    case "Firefox":
        $orfilename = rawurlencode($orfilename);
        $format = $formatRFC2231;
        break;

    case "IE":
    case "Chrome":
        $orfilename = rawurlencode($orfilename);
        $format = $formatDef;
        break;
    default:
        if (function_exists('iconv'))
            $orfilename =
                @iconv("UTF-8", "ISO-8859-1//TRANSLIT", $orfilename);
        $format = $formatDef;
}

header(sprintf($format, $orfilename));
// Impossible d'envoyer les messages d'erreur à partir d'ici (les en-têtes
// ont déjà été émis)

// Remplacement par le type de contenu réel, pourquoi pas par déduction de l'extension du fichier
$contentType = "application/octet-stream";
header("Content-Type: $contentType");

header("Content-Transfer-Encoding: binary");

header("Content-Length: $filesize");

if ($_SERVER['REQUEST_METHOD'] == "HEAD")
    die();

while (!feof($fp)) {
    $s = @fread($fp, 8192);
    if ($s === false)
        break; //utile pour envoyer des messages d'erreur

    echo $s;
}

Cet exemple ouvre l'archive RAR et extrait chacune des entrées dans un dossier spécifié.

Exemple #2 Exemple d'extractions RAR

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Nom du fichier : ' . $entry->getName() . "\n";
    echo 'Taille de l'archive : ' . $entry->getPackedSize() . "\n";
    echo 'Taille après décompression : ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

Cet exemple ouvre une archive RAR et extrait chaque entrée dans le dossier spécifié.

Constantes pré-définies
RarArchive
Rar


La classe RarArchive

Introduction

Cette classe représente une archive RAR, qui peut être formée de plusieurs volumes (parties) et qui peut contenir plusieurs entrées RAR (i.e., fichiers, dossiers et autres objets spéciaux comme des liens symboliques).

Les objets de cette classe peuvent être parcourus, permettant ainsi d'accéder aux entrées contenues dans les archives RAR respectives. Ces entrées peuvent également être obtenues via les méthodes RarArchive::getEntry et RarArchive::getEntries.

Synopsis de la classe

RarArchive
final RarArchive implements Traversable {
/* Méthodes */
public bool close ( void )
public string getComment ( void )
public array getEntries ( void )
public RarEntry getEntry ( string $entryname )
public bool isSolid ( void )
public static RarArchive open ( string $filename [, string $password ] )
public void __toString ( void )
}

Sommaire

  • RarArchive::close — Ferme une archive RAR et libère toutes les ressources
  • RarArchive::getComment — Récupère un commentaire depuis une archive RAR
  • RarArchive::getEntries — Récupère la liste complète depuis l'archive RAR
  • RarArchive::getEntry — Récupère une entrée depuis une archive RAR
  • RarArchive::isSolid — Vérifie si l'archive RAR est solide
  • RarArchive::open — Ouvre une archive RAR
  • RarArchive::__toString — Récupère une représentation sous forme de texte
Exemples
RarArchive::close
Rar


Ferme une archive RAR et libère toutes les ressources

RarArchive
RarArchive::getComment
RarArchive
PHP Manual

RarArchive::close

rar_close

(PECL rar >= 2.0.0)

RarArchive::close -- rar_close — Ferme une archive RAR et libère toutes les ressources

Description

Style orienté objet (méthode) :

public bool RarArchive::close ( void )

Style procédural :

bool rar_close ( RarArchive $rarfile )

Ferme une archive RAR et libère toutes les ressources associées.

Liste de paramètres

rarfile

Un objet RarArchive , ouvert avec la fonctionrar_open().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
2.0.0 | Les entrées RAR retournées par RarArchive::getEntry et RarArchive::getEntries sont désormais invalidées lors de l'appel à cette méthode. Cela signifie que tous les appels d'instances sur de telles entrées ne sont pas garanties.

Exemples

Exemple #1 Style orienté objet

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

Exemple #2 Style procédural

<?php
$rar_arch = rar_open('latest_winrar.rar');
echo $rar_arch."\n";
rar_close($rar_arch);
echo $rar_arch."\n";
?>

RarArchive
RarArchive::getComment
RarArchive


Récupère un commentaire depuis une archive RAR

RarArchive::close
RarArchive::getEntries
RarArchive
PHP Manual

RarArchive::getComment

rar_comment_get

(PECL rar >= 2.0.0)

RarArchive::getComment -- rar_comment_get — Récupère un commentaire depuis une archive RAR

Description

Style orienté objet (méthode) :

public string RarArchive::getComment ( void )

Style procédural :

string rar_comment_get ( RarArchive $rarfile )

Récupère le commentaire global stocké dans l'archive RAR. Il peut être supérieur à une longueur de 64 Ko.

Note: Cette extension ne supporte pas les commentaires sur de simple entrée.

Liste de paramètres

rarfile

Un objet RarArchive , ouvert avec la fonctionrar_open().

Valeurs de retour

Retourne le commentaire, ou NULL s'il n'y en a pas.

Note: RAR ne supporte actuellement pas les commentaires unicodes. L'encodage du résultat de cette fonction n'est pas spécifié, mais il sera probablement de type Windows-1252.

Exemples

Exemple #1 Style orienté objet

<?php
$rar_arch = RarArchive::open('commented.rar');
echo $rar_arch->getComment();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Ceci est le commentaire du fichier commented.rar.

Exemple #2 Style procédural

<?php
$rar_arch = rar_open('commented.rar');
echo rar_comment_get($rar_arch);
?>

RarArchive::close
RarArchive::getEntries
RarArchive


Récupère la liste complète depuis l'archive RAR

RarArchive::getComment
RarArchive::getEntry
RarArchive
PHP Manual

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — Récupère la liste complète depuis l'archive RAR

Description

Object oriented style (method):

public array RarArchive::getEntries ( void )

Procedural style:

array rar_list ( RarArchive $rarfile )

Récupère la liste complète (fichiers et dossiers) depuis l'archive RAR.

Liste de paramètres

rarfile

Un objet RarArchive , ouvert avec la fonction rar_open().

Valeurs de retour

Retourne un tableau d'objets RarEntry ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Impossible d'ouvrir l'archive RAR.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
    die("Impossible de récupérer les entrées.");

echo "Nombre d'entrées trouvées : " . count($rar_entries) . "\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
$rar_arch->close();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nombre d'entrées trouvées : 2
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Exemple #2 Style procédural

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Impossible d'ouvrir l'archive RAR.");

$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
    die("Impossible de récupérer les entrées.");

echo "Nombre d'entrées trouvées : " . count($rar_entries) . "\n";

foreach ($rar_entries as $e) {
    echo $e;
    echo "\n";
}
rar_close($rar_arch);
?>

RarArchive::getComment
RarArchive::getEntry
RarArchive


Récupère une entrée depuis une archive RAR

RarArchive::getEntries
RarArchive::isSolid
RarArchive
PHP Manual

RarArchive::getEntry

rar_entry_get

(PECL rar >= 2.0.0)

RarArchive::getEntry -- rar_entry_get — Récupère une entrée depuis une archive RAR

Description

Style orienté objet (method):

public RarEntry RarArchive::getEntry ( string $entryname )

Style procédural :

RarEntry rar_entry_get ( RarArchive $rarfile , string $entryname )

Récupère une entrée (fichier ou dossier) depuis une archive RAR.

Note: Vous pouvez également récupérer les entrées en utilisant la méthode RarArchive::getEntries.

Liste de paramètres

rarfile

Un objet RarArchive , ouvert avec la fonctionrar_open().

entryname

Chemin vers l'entrée, dans l'archive RAR.

Note: Le chemin doit être le même que celui retourné par la méthode RarEntry::getName.

Valeurs de retour

Retourne l'entrée RarEntry correspondante ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
    die("Impossible d'ouvrir l'archive RAR.");
$rar_entry = $rar_arch->getEntry('tese.txt');
if ($rar_entry === FALSE)
    die("Impossible de récupérer cette entrée.");
echo get_class($rar_entry)."\n";
echo $rar_entry;
$rar_arch->close();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

RarEntry
RarEntry for file "tese.txt" (23b93a7a)

Exemple #2 Style procédural

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
    die("Impossible d'ouvrir l'archive RAR.");
$rar_entry = rar_entry_get($rar_arch, 'tese.txt');
if ($rar_entry === FALSE)
    die("Impossible de récupérer cette entrée.");
echo get_class($rar_entry)."\n";
echo $rar_entry;
rar_close($rar_arch);
?>

RarArchive::getEntries
RarArchive::isSolid
RarArchive


Vérifie si l'archive RAR est solide

RarArchive::getEntry
RarArchive::open
RarArchive
PHP Manual

RarArchive::isSolid

rar_solid_is

(PECL rar >= 2.0.0)

RarArchive::isSolid -- rar_solid_is — Vérifie si l'archive RAR est solide

Description

Style orienté objet (méthode) :

public bool RarArchive::isSolid ( void )

Style procédural :

bool rar_solid_is ( RarArchive $rarfile )

Vérifie si l'archive RAR est solide. L'extraction de fichier individuel est plus lente sur les archives solides.

Liste de paramètres

rarfile

Un objet RarArchive , ouvert avec la fonctionrar_open().

Valeurs de retour

Returns TRUE if the archive is solid, FALSE otherwise.

Exemples

Exemple #1 Style orienté objet

<?php
$arch1 = RarArchive::open("store_method.rar");
$arch2 = RarArchive::open("solid.rar");
echo "$arch1: " . ($arch1->isSolid()?'oui':'non') ."\n";
echo "$arch2: " . ($arch2->isSolid()?'oui':'non') . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

RAR Archive "C:\php_rar\trunk\tests\store_method.rar": no
RAR Archive "C:\php_rar\trunk\tests\solid.rar": yes

Exemple #2 Style procédural

<?php
$arch1 = rar_open("store_method.rar");
$arch2 = rar_open("solid.rar");
echo "$arch1: " . (rar_solid_is($arch1)?'oui':'non') ."\n";
echo "$arch2: " . (rar_solid_is($arch2)?'oui':'non') . "\n";
?>

RarArchive::getEntry
RarArchive::open
RarArchive


Ouvre une archive RAR

RarArchive::isSolid
RarArchive::__toString
RarArchive
PHP Manual

RarArchive::open

rar_open

(PECL rar >= 2.0.0)

RarArchive::open -- rar_open — Ouvre une archive RAR

Description

Style orienté objet (méthode) :

public static RarArchive RarArchive::open ( string $filename [, string $password ] )

Style procédural :

RarArchive rar_open ( string $filename [, string $password ] )

Ouvre une archive RAR et retourne une instance RarArchive la représentant.

Note: Si on tente d'ouvrir une archive multi-volume, le chemin du premier volume doit être passé comme premier paramètre. Sinon, l'ensemble des fichiers ne sera pas affiché.

Liste de paramètres

filename

Path to the Rar archive.

password

Un mot de passe en text plein, si nécessaire pour décrypter l'en-tête. Il sera également utilisé par défaut si des fichiers cryptés sont trouvés. Noter que les fichiers peuvent avoir un mot de passe différent, et ce, en respectant les en-têtes.

Avertissement

Avant la version 2.0.0, cette fonction ne gérait pas correctement les chemins relatifs. Utilisez la fonction realpath() pour corriger ce bogue.

Valeurs de retour

Retourne l'instance RarArchive requise ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Échec lors de l'ouverture du fichier");

$entries = $rar_arch->getEntries();
if ($entries === FALSE)
    die("Échec lors de la récupération des entrées");

echo count($entries) . " fichier(s) trouvé(s).\n";

if (empty($entries))
    die("Aucune entrée valide n'a été trouvée.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Échec lors de l'ouverture du premier fichier");

$rar_arch->close();

echo "Contenu du premier fichier :\n";
echo stream_get_contents($stream);

fclose($stream);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

2 fichier(s) trouvé(s).
Contenu du premier fichier :
Encrypted file 1 contents.

Exemple #2 Style procédural

<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
    die("Échec lors de l'ouverture du fichier");

$entries = rar_list($rar_arch);
if ($entries === FALSE)
    die("Échec lors de la récupération des entrées");

echo count($entries) . " fichier(s) trouvé(s).\n";

if (empty($entries))
    die("Aucune entrée valide n'a été trouvée.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
    die("Échec lors de l'ouverture du premier fichier");

rar_close($rar_arch);

echo "Contenu du premier fichier :\n";
echo stream_get_contents($stream);

fclose($stream);
?>

RarArchive::isSolid
RarArchive::__toString
RarArchive


Récupère une représentation sous forme de texte

RarArchive::open
RarEntry
RarArchive
PHP Manual

RarArchive::__toString

(PECL rar >= 2.0.0)

RarArchive::__toString — Récupère une représentation sous forme de texte

Description

public void RarArchive::__toString ( void )

Fournit une représentation sous forme de chaîne de caractères pour l'objet RarArchive . Actuellement, ce sera le nom du chemin complet vers le volume de l'archive ouverte ainsi qu'une information indiquant si la ressource est valide ou bien si elle a été close via un appel à la méthode RarArchive::close.

Cette méthode ne doit être utilisée qu'à des fins de débogage, sachant qu'elle n'est ni garantie dans les informations composant le résultat, ni garantie dans la façon dont le résultat sera formatté.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une représentation textuelle de l'objet RarArchive . Le contenu de cette représentation n'est pas spécifié.

Exemples

Exemple #1 Exemple avec RarArchive::__toString

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

RarArchive::open
RarEntry
RarArchive


La classe RarEntry

Introduction

Une entrée RAR, représentant un dossier ou un fichier compressé dans une archive RAR.

Synopsis de la classe

RarEntry
final RarEntry {
/* Constantes */
const integer RarEntry::HOST_MSDOS = 0 ;
const integer RarEntry::HOST_OS2 = 1 ;
const integer RarEntry::HOST_WIN32 = 2 ;
const integer RarEntry::HOST_UNIX = 3 ;
const integer RarEntry::HOST_MACOS = 4 ;
const integer RarEntry::HOST_BEOS = 5 ;
const integer RarEntry::ATTRIBUTE_WIN_READONLY = 1 ;
const integer RarEntry::ATTRIBUTE_WIN_HIDDEN = 2 ;
const integer RarEntry::ATTRIBUTE_WIN_SYSTEM = 4 ;
const integer RarEntry::ATTRIBUTE_WIN_DIRECTORY = 16 ;
const integer RarEntry::ATTRIBUTE_WIN_ARCHIVE = 32 ;
const integer RarEntry::ATTRIBUTE_WIN_DEVICE = 64 ;
const integer RarEntry::ATTRIBUTE_WIN_NORMAL = 128 ;
const integer RarEntry::ATTRIBUTE_WIN_TEMPORARY = 256 ;
const integer RarEntry::ATTRIBUTE_WIN_SPARSE_FILE = 512 ;
const integer RarEntry::ATTRIBUTE_WIN_REPARSE_POINT = 1024 ;
const integer RarEntry::ATTRIBUTE_WIN_COMPRESSED = 2048 ;
const integer RarEntry::ATTRIBUTE_WIN_OFFLINE = 4096 ;
const integer RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192 ;
const integer RarEntry::ATTRIBUTE_WIN_ENCRYPTED = 16384 ;
const integer RarEntry::ATTRIBUTE_WIN_VIRTUAL = 65536 ;
const integer RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE = 1 ;
const integer RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE = 2 ;
const integer RarEntry::ATTRIBUTE_UNIX_WORLD_READ = 4 ;
const integer RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE = 8 ;
const integer RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE = 16 ;
const integer RarEntry::ATTRIBUTE_UNIX_GROUP_READ = 32 ;
const integer RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE = 64 ;
const integer RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE = 128 ;
const integer RarEntry::ATTRIBUTE_UNIX_OWNER_READ = 256 ;
const integer RarEntry::ATTRIBUTE_UNIX_STICKY = 512 ;
const integer RarEntry::ATTRIBUTE_UNIX_SETGID = 1024 ;
const integer RarEntry::ATTRIBUTE_UNIX_SETUID = 2048 ;
const integer RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET = 61440 ;
const integer RarEntry::ATTRIBUTE_UNIX_FIFO = 4096 ;
const integer RarEntry::ATTRIBUTE_UNIX_CHAR_DEV = 8192 ;
const integer RarEntry::ATTRIBUTE_UNIX_DIRECTORY = 16384 ;
const integer RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV = 24576 ;
const integer RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE = 32768 ;
const integer RarEntry::ATTRIBUTE_UNIX_SYM_LINK = 40960 ;
const integer RarEntry::ATTRIBUTE_UNIX_SOCKET = 49152 ;
/* Méthodes */
public bool extract ( string $dir [, string $filepath [, string $password ]] )
public int getAttr ( void )
public string getCrc ( void )
public string getFileTime ( void )
public int getHostOs ( void )
public int getMethod ( void )
public string getName ( void )
public int getPackedSize ( void )
public resource RarEntry ([ string $password ] )
public int getUnpackedSize ( void )
public int getVersion ( void )
public bool RarEntry ( void )
public bool isEncrypted ( void )
public string __toString ( void )
}

Constantes pré-définies

RarEntry Node Types

RarEntry::HOST_MSDOS

Si la valeur retournée de RarEntry::getHostOs est égal à cette constante, MS-DOS est utilisé pour ajouter cette entrée. Destiner à remplacer la constante RAR_HOST_MSDOS.

RarEntry::HOST_OS2

Si la valeur retournée de RarEntry::getHostOs est égal à cette constante, OS/2 est utilisé pour ajouter cette entrée. Destiner à remplacer la constante RAR_HOST_OS2.

RarEntry::HOST_WIN32

Si la valeur retournée de RarEntry::getHostOs est égal à cette constante, Microsoft Windows est utilisé pour ajouter cette entrée. Destiner à remplacer la constante RAR_HOST_WIN32.

RarEntry::HOST_UNIX

Si la valeur retournée de RarEntry::getHostOs est égal à cette constante, UNIX OS est utilisé pour ajouter cette entrée. Destiner à remplacer la constante RAR_HOST_UNIX.

RarEntry::HOST_MACOS

Si la valeur retournée de RarEntry::getHostOs est égal à cette constante, Mac OS est utilisé pour ajouter cette entrée.

RarEntry::HOST_BEOS

Si la valeur retournée de RarEntry::getHostOs est égal à cette constante, BeOS est utilisé pour ajouter cette entrée. Destiner à remplacer la constante RAR_HOST_BEOS.

RarEntry::ATTRIBUTE_WIN_READONLY

Octet représentant une entrée Windows avec un attribut en lecture seule. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_HIDDEN

Octet représentant une entrée Windows avec un attribut caché. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SYSTEM

Octet représentant une entrée Windows avec un attribut système. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DIRECTORY

Octet représentant une entrée Windows avec un attribut dossier (l'entrée est un dossier). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows. Voir aussi la méthode RarEntry::isDirectory, qui fonctionne également avec les entrées qui ne sont pas ajoutées dans WinRAR.

RarEntry::ATTRIBUTE_WIN_ARCHIVE

Octet représentant une entrée Windows avec un attribut d'archive. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DEVICE

Octet représentant une entrée Windows avec un attribut de périphérique. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NORMAL

Octet représentant une entrée Windows avec un attribut de fichier normal (l'entrée n'est pas un dossier). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows. Voir aussi la méthode RarEntry::isDirectory, qui fonctionne également avec les entrées qui ne sont pas ajoutées dans WinRAR.

RarEntry::ATTRIBUTE_WIN_TEMPORARY

Octet représentant une entrée Windows avec un attribut temporaire. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SPARSE_FILE

Octet représentant une entrée Windows avec un attribut de fichier fragmenté (le fichier est un fichier NTFS fragmenté). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_REPARSE_POINT

Octet représentant une entrée Windows avec un attribut de point d'analyse (le fichier est un point d'analyse NTFS; i.e. une jonction de dossier ou un système de fichier monté). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_COMPRESSED

Octet représentant une entrée Windows avec un attribut compressé (NTFS uniquement). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_OFFLINE

Octet représentant une entrée Windows avec un attribut hors-ligne (le fichier est hors-ligne et non accessible). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED

Octet représentant une entrée Windows avec un attribut dont le contenu n'est pas indexé (l'entrée doit être indexé). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_ENCRYPTED

Octet représentant une entrée Windows avec un attribut crypté (NTFS uniquement). À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_VIRTUAL

Octet représentant une entrée Windows avec un attribut virtuel. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est Microsoft Windows.

RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE

Octet représentant une entrée UNIX qui est exéctuable par tous. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE

Octet représentant une entrée UNIX qui est accessible en écriture par tous. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_READ

Octet représentant une entrée UNIX qui est accessible en lecture par tous. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE

Octet représentant une entrée UNIX qui est dans le groupe des exécutables. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE

Octet représentant une entrée UNIX qui est dans le groupe des accessibles en écriture. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_READ

Octet représentant une entrée UNIX qui est dans le groupe des accessibles en lecture. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE

Octet représentant une entrée UNIX dont le propriétaire est exécutable. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE

Octet représentant une entrée UNIX dont le propriétaire est accessible en écriture. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_READ

Octet représentant une entrée UNIX dont le propriétaire est accessible en lecture. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_STICKY

Octet représentant une entrée UNIX ayant l'octet sticky. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_SETGID

Octet représentant une attribut UNIX setgid. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_SETUID

Octet représentant une attribut UNIX setuid. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX.

RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET

Masque permettant d'isoler les 4 derniers octets des attributs UNIX.
À utiliser avec la méthode  RarEntry::getAttr
sur les entrées dont l'OS hôte est UNIX et avec les constantes
RarEntry::ATTRIBUTE_UNIX_FIFO,
RarEntry::ATTRIBUTE_UNIX_CHAR_DEV,
RarEntry::ATTRIBUTE_UNIX_DIRECTORY,
RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV,
RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE,
RarEntry::ATTRIBUTE_UNIX_SYM_LINK et
RarEntry::ATTRIBUTE_UNIX_SOCKET.

RarEntry::ATTRIBUTE_UNIX_FIFO

Attributs FIFOs Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_CHAR_DEV

Attributs des périphériques Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_DIRECTORY

Attributs des dossiers Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. Voir aussi la méthode RarEntry::isDirectory qui fonctionne également avec les entrées qui ont été ajoutées sous d'autres système d'exploitation.

RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV

Attributs des périphériques de bloc Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE

Attributs des fichiers réguliers (pas de dossiers) Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. Voir aussi la méthode RarEntry::isDirectory qui fonctionne également avec les entrées qui ont été ajoutées sous d'autres système d'exploitation.

RarEntry::ATTRIBUTE_UNIX_SYM_LINK

Attributs des liens symboliques Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_SOCKET

Attributs des sockets Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr sur les entrées dont l'OS hôte est UNIX et avec la constante RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

Sommaire

  • RarEntry::extract — Extrait une entrée d'une archive
  • RarEntry::getAttr — Récupère les attributs d'une entrée
  • RarEntry::getCrc — Récupère le CRC d'une entrée
  • RarEntry::getFileTime — Récupère la date de dernière modification d'une entrée
  • RarEntry::getHostOs — Récupère le code de l'hôte pour une entrée
  • RarEntry::getMethod — Récupère la méthode utilisée pour l'ajout d'une entrée
  • RarEntry::getName — Récupère le nom de l'entrée
  • RarEntry::getPackedSize — Récupère la taille compressée d'une entrée
  • RarEntry::getStream — Récupère le gestion de fichier pour une entrée
  • RarEntry::getUnpackedSize — Récupère la taille décompressée d'une entrée
  • RarEntry::getVersion — Récupère la version minimale du logiciel RAR à utiliser pour décompresser une entrée
  • RarEntry::isDirectory — Teste si l'entrée courante est un dossier
  • RarEntry::isEncrypted — Teste si une entrée est cryptée
  • RarEntry::__toString — Récupère une représentation sous forme de chaîne de caractères d'une entrée
RarArchive::__toString
RarEntry::extract
Rar


Extrait une entrée d'une archive

RarEntry
RarEntry::getAttr
RarEntry
PHP Manual

RarEntry::extract

(PECL rar >= 0.1)

RarEntry::extract — Extrait une entrée d'une archive

Description

public bool RarEntry::extract ( string $dir [, string $filepath [, string $password ]] )

RarEntry::extract extrait une entrée de données. Ceci va créer un nouveau fichier dans le dossier spécifié par le paramètre dir portant un nom identique au nom de l'entrée, tant que le second argument n'est pas spécifié. Voir ci-dessous pour plus d'informations.

Liste de paramètres

dir

Chemin vers le dossier où le fichier extrait devra être créé. Ce paramètre sera utilisé uniquement si le paramètre filepath n'est pas fourni. Si ces 2 paramètres sont vides, l'extraction se fera dans le dossier courant.

filepath

Chemin (relatif ou absolut) contenant le dossier et le nom du fichier à extraire. Ce paramètre écrase à la fois le paramètre dir et le nom original du fichier.

password

Le mot de passe à utiliser pour décrypter cette entrée. Si l'entrée n'est pas crypté, cette valeur ne sera pas utilisée et peut être omise. Si ce paramètre est omis et que l'entrée est cryptée, le mot de passe fourni à la fonction rar_open(), si il existe, sera utilisé. Si un mauvais mot de passe est fourni, soit explicitement ou implicitement via la fonction rar_open(), la vérification CRC échouera et cette méthode échouera, en retournant FALSE. Si aucun mot de passe n'est fourni alors qu'il est nécessaire, cette méthode échouera en retournant FALSE. Vous pouvez vérifier si une entrée est cryptée avec la méthode RarEntry::isEncrypted.

Avertissement

Avant la version 2.0.0, cette fonction ne gérait pas les chemins relatifs correctement. Utilisez la fonction realpath() comme contournement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec RarEntry::extract

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive RAR");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("L'entrée demandée n'existe pas !");

$entry->extract('/dir/to'); // Création de /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // Création de /dir/to/new_name.txt

?>

Exemple #2 Comment extraire tous les fichiers d'une archive :

<?php

/* Exemple fourni par Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // Extraction dans le dossier courant
}
rar_close($rar_file);

?>

Voir aussi

  • RarEntry::getStream - Récupère le gestion de fichier pour une entrée

RarEntry
RarEntry::getAttr
RarEntry


Récupère les attributs d'une entrée

RarEntry::extract
RarEntry::getCrc
RarEntry
PHP Manual

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttr — Récupère les attributs d'une entrée

Description

public int RarEntry::getAttr ( void )

Retourne les attributs dépendants de l'OS d'une entrée d'une archive.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les attributs ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec RarEntry::getAttr

<?php

$rar_file = rar_open('example.rar') or die("Impossible d'ouvrir l'archive RAR");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("L'entrée demandée n'existe pas !");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

Voir aussi

  • RarEntry::getHostOs - Récupère le code de l'hôte pour une entrée
  • Les constantes de la classe RarEntry

RarEntry::extract
RarEntry::getCrc
RarEntry


Récupère le CRC d'une entrée

RarEntry::getAttr
RarEntry::getFileTime
RarEntry
PHP Manual

RarEntry::getCrc

(PECL rar >= 0.1)

RarEntry::getCrc — Récupère le CRC d'une entrée

Description

public string RarEntry::getCrc ( void )

Retourne une chaîne de caractères hexadécimale représentant le CRC d'une entrée d'une archive.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le CRC d'une entrée d'une archive, ou FALSE si une erreur survient.

Historique

Version | Description
2.0.0 | Cette méthode retourne maintenant des valeurs correctes pour les archives sur plusieurs volumes.

RarEntry::getAttr
RarEntry::getFileTime
RarEntry


Récupère la date de dernière modification d'une entrée

RarEntry::getCrc
RarEntry::getHostOs
RarEntry
PHP Manual

RarEntry::getFileTime

(PECL rar >= 0.1)

RarEntry::getFileTime — Récupère la date de dernière modification d'une entrée

Description

public string RarEntry::getFileTime ( void )

Récupère la date de dernière modification d'une entrée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la date de dernière modification de l'entrée sous la forme d'une chaîne de caractères au format YYYY-MM-DD HH:II:SS, ou FALSE si une erreur survient.

RarEntry::getCrc
RarEntry::getHostOs
RarEntry


Récupère le code de l'hôte pour une entrée

RarEntry::getFileTime
RarEntry::getMethod
RarEntry
PHP Manual

RarEntry::getHostOs

(PECL rar >= 0.1)

RarEntry::getHostOs — Récupère le code de l'hôte pour une entrée

Description

public int RarEntry::getHostOs ( void )

Retourne le code de l'OS hôte d'une entrée d'une archive.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le code de l'OS hôte d'une entrée, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec RarEntry::getHostOs (version >= 2.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive RAR");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("L'entrée demandée n'existe pas !");

switch ($entry->getHostOs()) {
    case RarEntry::HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RarEntry::HOST_OS2:
        echo "OS2\n";
        break;
    case RarEntry::HOST_WIN32:
        echo "Win32\n";
        break;
    case RarEntry::HOST_MACOS:
        echo "MacOS\n";
        break;
    case RarEntry::HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RarEntry::HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Exemple #2 Exemple avec RarEntry::getHostOs (version <= 1.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive RAR");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("L'entrée demandée n'existe pas !");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

Voir aussi

  • RarEntry::extract - Extrait une entrée d'une archive

RarEntry::getFileTime
RarEntry::getMethod
RarEntry


Récupère la méthode utilisée pour l'ajout d'une entrée

RarEntry::getHostOs
RarEntry::getName
RarEntry
PHP Manual

RarEntry::getMethod

(PECL rar >= 0.1)

RarEntry::getMethod — Récupère la méthode utilisée pour l'ajout d'une entrée

Description

public int RarEntry::getMethod ( void )

Récupère la méthode utilisée lors de l'ajout d'une entrée dans l'archive courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le numéro de la méthode, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec RarEntry::getMethod

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive RAR");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("L'entrée demandée n'existe pas !");

echo "Numéro de la méthode : " . $entry->getMethod();

?>

RarEntry::getHostOs
RarEntry::getName
RarEntry


Récupère le nom de l'entrée

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry
PHP Manual

RarEntry::getName

(PECL rar >= 0.1)

RarEntry::getName — Récupère le nom de l'entrée

Description

public string RarEntry::getName ( void )

Retourne le nom (avec le chemin) de l'entrée d'une archive.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de l'entrée, sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

Historique

Version | Description
2.0.0 | Depuis la version 2.0.0, la chaîne de caractères retournée est encodée en Unicode/UTF-8.

Exemples

Exemple #1 Exemple avec RarEntry::getName

<?php

// Cet exemple fonctionne aussi pour les pages encodées en UTF-8.
// Aussi, l'appel à la fonction mb_convert_encoding n'est pas nécessaire

$rar_file = rar_open('example.rar') or die("Erreur lors de l'ouverture de l'archive Rar");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Entrée non trouvée");

echo "Entry name: " . mb_convert_encoding(
    htmlentities(
        $entry->getName(),
        ENT_COMPAT,
        "UTF-8"
    ),
    "HTML-ENTITIES",
    "UTF-8"
);

?>

RarEntry::getMethod
RarEntry::getPackedSize
RarEntry


Récupère la taille compressée d'une entrée

RarEntry::getName
RarEntry::getStream
RarEntry
PHP Manual

RarEntry::getPackedSize

(PECL rar >= 0.1)

RarEntry::getPackedSize — Récupère la taille compressée d'une entrée

Description

public int RarEntry::getPackedSize ( void )

Récupère la taille décompressée d'une entrée.

Note: Noter que sous les plateformes 32bits (y compris sous Windows 64bits), la taille maximale retournée sera tronquée à 2 Go. Vérifier la constante PHP_INT_MAX.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille compressée, ou FALSE si une erreur survient.

Historique

Version | Description
2.0.0 | Cette méthode retourne maintenant des valeurs correcte de tailles compressées plus grandes que 2Go sous les plateformes 64bits et ne retourne jamais de valeurs négatives sous les autres plateformes.

Exemples

Exemple #1 Exemple avec RarEntry::getPackedSize

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive Rar");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Impossible de trouver l'entrée demandée");

echo "Taille compressée de " . $entry->getName() . " = " . $entry->getPackedSize() . " octets";

?>

RarEntry::getName
RarEntry::getStream
RarEntry


Récupère le gestion de fichier pour une entrée

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry
PHP Manual

RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStream — Récupère le gestion de fichier pour une entrée

Description

public resource RarEntry::RarEntry::getStream ([ string $password ] )

Retourne le gestionnaire de fichier qui supporte les opérations de lecture. Ce gestionnaire permet la décompression à la volée de l'entrée.

Le gestionnaire ne sera pas touché par l'appel à la fonction rar_close().

Avertissement

Le flux résultant ne permet pas de vérifier l'intégrité des données. Par exemple, un fichier corrompu ou crypté avec une clé fausse ne sera pas détecté. Ce sera de la responsabilité du développeur d'utiliser le CRC de l'entrée pour vérifier son intégrité, s'il le souhaite.

Liste de paramètres

password

Le mot de passe à utiliser pour décrypter l'entrée. Si l'entrée n'est pas crypté, la valeur ne sera pas utilisée et peut être omise. Si ce paramètre est omis et que l'entrée est crypté, le mot de passe fourni lors de l'appel à la fonction rar_open() sera utilisé, si il a été fourni. Si un mauvais mot de passe est fourni, soit explicitement, soit implicitement via la fonction rar_open(), le flux résultant produira un affichage incorrect. Si aucun mot de passe n'est fourni alors qu'il est nécessaire, la méthode échouera et retournera FALSE. Vous pouvez vérifier si l'entrée est cryptée en utilisant la méthode RarEntry::isEncrypted.

Valeurs de retour

Le gestionnaire de fichier, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec RarEntry::getStream

<?php

$rar_file = rar_open('example.rar');
if ($rar_file === false)
    die("Échec lors de l'ouverture de l'archive Rar");

$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
    die("Impossible de trouver l'entrée demandée");

$stream = $entry->getStream();
if ($stream === false)
    die("Échec lors de la récupération du flux.");

rar_close($rar_file); //le flux est indépendant du fichier

while (!feof($stream)) {
    $buff = fread($stream, 8192);
    if ($buff !== false)
        echo $buff;
    else
        break; //erreur fread
}

fclose($stream);

?>

Voir aussi

  • RarEntry::extract - Extrait une entrée d'une archive

RarEntry::getPackedSize
RarEntry::getUnpackedSize
RarEntry


Récupère la taille décompressée d'une entrée

RarEntry::getStream
RarEntry::getVersion
RarEntry
PHP Manual

RarEntry::getUnpackedSize

(PECL rar >= 0.1)

RarEntry::getUnpackedSize — Récupère la taille décompressée d'une entrée

Description

public int RarEntry::getUnpackedSize ( void )

Récupère la taille décompressée d'une entrée d'une archive.

Note: Notez que sur les plateformes 32bits (y compris les Windows x64), la taille maximale est tronquée à 2 Go. Vérifier la constante PHP_INT_MAX.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille décompressée, ou FALSE si une erreur survient.

Historique

Version | Description
2.0.0 | Cette méthode retourne maintenant les valeurs correctes pour les tailles décompressées plus grandes que 2Go sur les plateformes 64bits et ne retournera jamais de valeurs négatives pour les autres plateformes.

Valeurs de retour

Exemple #1 Exemple avec RarEntry::getUnpackedSize

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive Rar");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Échec lors de la récupération de l'entrée");

echo "Taille décompressée de " . $entry->getName() . " = " . $entry->getPackedSize() . " octets";

?>

RarEntry::getStream
RarEntry::getVersion
RarEntry


Récupère la version minimale du logiciel RAR à utiliser pour décompresser une entrée

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry
PHP Manual

RarEntry::getVersion

(PECL rar >= 0.1)

RarEntry::getVersion — Récupère la version minimale du logiciel RAR à utiliser pour décompresser une entrée

Description

public int RarEntry::getVersion ( void )

Retourne la version minimale du logiciel RAR (e.g. WinRAR) requise pour décompresser l'entrée. Elle sera encodée sous la forme 10 * version majeure + version mineure.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la version ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec RarEntry::getVersion

<?php

$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive Rar");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("L'entrée demandée n'existe pas");

echo "Version Rar requise pour décompresser l'entrée : " . $entry->getVersion();

?>

RarEntry::getUnpackedSize
RarEntry::isDirectory
RarEntry


Teste si l'entrée courante est un dossier

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry
PHP Manual

RarEntry::isDirectory

(PECL rar >= 2.0.0)

RarEntry::isDirectory — Teste si l'entrée courante est un dossier

Description

public bool RarEntry::RarEntry::isDirectory ( void )

Teste si l'entrée courante est un dossier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'entrée est un dossier, FALSE sinon.

Notes

Cette fonction est uniquement disponible depuis la version 2.0.0, mais ce test peut également être effectué en vérifiant les attributs de l'entrée comme ceci (ne fonctionne que pour des fichiers compressés avec RAR sous Windows ou Unix) :

<?php
//...
// Ouvre le fichier, récupère l'entrée et la stock dans la variable $e...
//...

$isDirectory = (bool) ((($e->getHostOs() == RAR_HOST_WIN32) && ($e->getAttr() & 0x10)) ||
    (($e->getHostOs() == RAR_HOST_UNIX) && (($e->getAttr() & 0xf000) == 0x4000)));

RarEntry::getVersion
RarEntry::isEncrypted
RarEntry


Teste si une entrée est cryptée

RarEntry::isDirectory
RarEntry::__toString
RarEntry
PHP Manual

RarEntry::isEncrypted

(PECL rar >= 2.0.0)

RarEntry::isEncrypted — Teste si une entrée est cryptée

Description

public bool RarEntry::isEncrypted ( void )

Teste si le contenu de l'entrée courante est crypté.

Note: Le mot de passe utilisé peut différé entre plusieurs fichiers de la même archive RAR.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'entrée courante est crypté, FALSE sinon.

RarEntry::isDirectory
RarEntry::__toString
RarEntry


Récupère une représentation sous forme de chaîne de caractères d'une entrée

RarEntry::isEncrypted
RarException
RarEntry
PHP Manual

RarEntry::__toString

(PECL rar >= 2.0.0)

RarEntry::__toString — Récupère une représentation sous forme de chaîne de caractères d'une entrée

Description

public string RarEntry::__toString ( void )

Retourne une représentation textuelle d'une entrée. Ceci inclut les entrées sous forme de fichier, de dossier (les liens symboliques ou les objets spéciaux seront traités comme des fichiers), les noms UTF-8 des entrées, mais aussi les CRC. La forme et le contenu de cette représentation peut changer dans le futur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une représentation textuelle de l'entrée.

RarEntry::isEncrypted
RarException
RarEntry


La classe RarException

Introduction

Cette classe sert à 2 choses : C'est le type d'exceptions lancées par l'extension RAR et permet, via ses méthodes statiques, de savoir et de définir les comportements des erreurs de l'extension, i.e. si l'exception doit être émise ou bien si des alertes PHP doivent être émises.

Les codes erreurs suivants sont utilisés :

  • -1 - Erreur externe à la bibliothèque UnRAR
  • 11 - Mémoire insuffisante
  • 12 - Données incorrectes
  • 13 - Archive incorrecte
  • 14 - Format inconnu
  • 15 - Erreur lors de l'ouverture du fichier
  • 16 - Erreur lors de la création d'un fichier
  • 17 - Erreur lors de la fermeture d'un fichier
  • 18 - Erreur lors de la lecture
  • 19 - Erreur lors de l'écriture
  • 20 - Buffer trop petit
  • 21 - Erreur RAR inconnue
  • 22 - Mot de passe nécessaire mais non fourni

Synopsis de la classe

RarException
final RarException extends Exception {
/* Méthodes */
public static bool isUsingExceptions ( void )
public static void setUsingExceptions ( bool $using_exceptions )
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Sommaire

  • RarException::isUsingExceptions — Vérifie si le gestionnaire d'erreur utilise les exceptions ou non
  • RarException::setUsingExceptions — Active ou désactive les exceptions dans le gestionnaire d'erreurs
RarEntry::__toString
RarException::isUsingExceptions
Rar


Vérifie si le gestionnaire d'erreur utilise les exceptions ou non

RarException
RarException::setUsingExceptions
RarException
PHP Manual

RarException::isUsingExceptions

(PECL rar >= 2.0.0)

RarException::isUsingExceptions — Vérifie si le gestionnaire d'erreur utilise les exceptions ou non

Description

public static bool RarException::isUsingExceptions ( void )

Vérifie si les fonctions RAR émettent des alertes et retournent des valeurs d'erreur ou bien si elles émettent des exceptions (n'incluent pas des erreurs de syntaxe telles que le fait de passer des types incorrects comme arguments).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si les exceptions sont utilisées, FALSE sinon.

Exemples

Exemple #1 Exemple avec RarException::isUsingExceptions()

<?php
// Par défaut, les exceptions ne sont pas utilisées
var_dump(RarException::isUsingExceptions());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(false)

Voir aussi

  • RarException::setUsingExceptions - Active ou désactive les exceptions dans le gestionnaire d'erreurs

RarException
RarException::setUsingExceptions
RarException


Active ou désactive les exceptions dans le gestionnaire d'erreurs

RarException::isUsingExceptions
Zip
RarException
PHP Manual

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — Active ou désactive les exceptions dans le gestionnaire d'erreurs

Description

public static void RarException::setUsingExceptions ( bool $using_exceptions )

Si et seulement si l'argument vaut TRUE, alors, au lieu d'émettre des alertes et de retourner des valeurs spéciales indiquant une erreur lors que la bibliothèque UnRAR rencontre une erreur, une exception de type RarException est émise.

Les exceptions seront également lancées pour les erreurs suivantes, qui surviennent en dehors de la bibliothèque (leurs codes erreurs seront -1) :

  • tentative d'une opération sur un objet RarArchive clos ou un objet RarEntry relatif au premier ;
  • tentative de récupération d'une entrée qui n'existe pas avec la méthode RarArchive::getEntry.

Liste de paramètres

using_exceptions

Doit valoir TRUE pour active l'émission d'exceptions, FALSE pour le désactiver (par défaut).

Exemples

Exemple #1 Exemple avec RarException::setUsingExceptions()

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //non atteint
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

Voir aussi

  • RarException::isUsingExceptions - Vérifie si le gestionnaire d'erreur utilise les exceptions ou non

RarException::isUsingExceptions
Zip
RarException


Zip

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • ZipArchive — La classe ZipArchive
    • ZipArchive::addEmptyDir — Ajoute un nouveau dossier à une archive Zip
    • ZipArchive::addFile — Ajoute un fichier à l'archive ZIP depuis le chemin fourni
    • ZipArchive::addFromString — Ajoute un fichier à une archive ZIP en utilisant son contenu
    • ZipArchive::close — Ferme l'archive active
    • ZipArchive::deleteIndex — Efface une entrée de l'archive en utilisant son index
    • ZipArchive::deleteName — Efface une entrée dans l'archive en utilisant son nom
    • ZipArchive::extractTo — Extrait le contenu de l'archive
    • ZipArchive::getArchiveComment — Retourne le commentaire de l'archive ZIP
    • ZipArchive::getCommentIndex — Retourne le commentaire d'une entrée
    • ZipArchive::getCommentName — Retourne le commentaire d'une entrée en utilisant le nom de l'entrée
    • ZipArchive::getFromIndex — Retourne le contenu d'une entrée en utilisant son index
    • ZipArchive::getFromName — Retourne le contenu de l'entrée en utilisant son nom
    • ZipArchive::getNameIndex — Retourne le nom d'une entrée en utilisant son index
    • ZipArchive::GetStatusString — Retourne le message du statut de l'erreur, du système ou de zip
    • ZipArchive::getStream — Récupère un gestionnaire de fichier pour l'entrée définie par son nom (lecture seule)
    • ZipArchive::locateName — Retourne l'index d'une entrée de l'archive
    • ZipArchive::open — Ouvre une archive ZIP
    • ZipArchive::renameIndex — Renomme une entrée définie par son index
    • ZipArchive::renameName — Renomme une entrée définie par son nom
    • ZipArchive::setArchiveComment — Définit le commentaire d'une archive ZIP
    • ZipArchive::setCommentIndex — Définit le commentaire d'une entrée définie par son index
    • ZipArchive::setCommentName — Définit le commentaire d'une entrée spécifiée par son nom
    • ZipArchive::statIndex — Récupère les détails d'une entrée définie par son index
    • ZipArchive::statName — Récupère les détails de l'entrée définie par son nom
    • ZipArchive::unchangeAll — Annule toutes les modifications faites sur l'archive
    • ZipArchive::unchangeArchive — Annule toutes les modifications globales faites sur l'archive
    • ZipArchive::unchangeIndex — Annule toutes les modifications faites sur une entrée, définie par nom index
    • ZipArchive::unchangeName — Annule toutes les modifications faites sur une entrée, définie par son nom
  • Fonctions Zip
    • zip_close — Ferme une archive Zip
    • zip_entry_close — Ferme un dossier d'archive
    • zip_entry_compressedsize — Lit la taille compressée d'un dossier d'archives
    • zip_entry_compressionmethod — Lit la méthode de compression utilisée sur un dossier d'archives
    • zip_entry_filesize — Lit la taille décompressée d'un dossier d'archives
    • zip_entry_name — Lit le nom d'un dossier d'archives
    • zip_entry_open — Ouvre un dossier d'archives en lecture
    • zip_entry_read — Lit le contenu d'un fichier dans un dossier
    • zip_open — Ouvre une archive ZIP
    • zip_read — Lit la prochaine entrée dans une archive ZIP
RarException::setUsingExceptions
Introduction
Extensions sur l'archivage et la compression


Introduction

Cette extension offre la possibilité de lire et d'écrire des archives compressées ZIP, et d'accéder aux les fichiers et dossiers s'y trouvant.

Zip
Installation/Configuration
Zip


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Zip


Pré-requis

PHP 4

La version incluse dans PHP 4 nécessite la bibliothèque » ZZIPlib, écrite par Guido Draheim, en version 0.10.6 ou supérieure.

PHP 5.2.0 ou supérieure

Cette extension utilise les fonctions » zlib écrite par Jean-loup Gailly et Mark Adler.

Installation/Configuration
Installation
Installation/Configuration


Installation

PHP 4

Note: Le support de Zip avant PHP 4.1.0 est expérimental.

Avertissement

Comme l'extension Zip en PHP 4 n'est plus entretenue, il est recommandé d'utiliser l'extension PECL.

Systèmes Linux

Afin d'utiliser ces fonctions, vous devez compiler PHP avec le support Zip en utilisant l'option de configuration --with-zip[=DIR], où [DIR] est le préfixe de l'installation de la bibliothèque » ZZIPlib.

Windows

Les utilisateurs de Windows doivent activer la bibliothèque php_zip.dll dans le php.ini afin d'utiliser ces fonctions.

PHP 5.2.0 et supérieur

Systèmes Linux

Afin d'utiliser ces fonctions, vous devez compiler PHP avec le support Zip en utilisant l'option de configuration --enable-zip.

Windows

Les utilisateurs de Windows doivent activer la bibliothèque php_zip.dll dans le php.ini afin d'utiliser ces fonctions.

Installation via PECL

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/zip.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Il y a deux types de ressources utilisées par le module Zip. La première est le dossier Zip d'une archive Zip, et la seconde, l'entrée Zip de l'archives.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

ZipArchive utilise des constantes de classe. Il y a trois types de constantes : les options (préfixées par FL_), les erreurs (préfixées par ER_) ou les modes (sans préfixe).

ZIPARCHIVE::CREATE (entier)
Crée l'archive si elle n'existe pas.
ZIPARCHIVE::OVERWRITE (entier)
Démarre toujours une nouvelle archive. Ce mode écrase le fichier s'il existe déjà.
ZIPARCHIVE::EXCL (entier)
Erreur si l'archive existe déjà.
ZIPARCHIVE::CHECKCONS (entier)
Effectue des analyses supplémentaires de cohérence et émet une erreur si elles échouent.
ZIPARCHIVE::FL_NOCASE (entier)
Ignore la casse sur le nom
ZIPARCHIVE::FL_NODIR (entier)
Ignore le composant dossier
ZIPARCHIVE::FL_COMPRESSED (entier)
Lit les données compressées
ZIPARCHIVE::FL_UNCHANGED (entier)
Utilise les données originales, ignore les modifications
ZIPARCHIVE::CM_DEFAULT (entier)
meilleur compression ou stocke
ZIPARCHIVE::CM_STORE (entier)
stocké (non-compressé)
ZIPARCHIVE::CM_SHRINK (entier)
retrait
ZIPARCHIVE::CM_REDUCE_1 (entier)
réduit de facteur 1
ZIPARCHIVE::CM_REDUCE_2 (entier)
réduit de facteur 2
ZIPARCHIVE::CM_REDUCE_3 (entier)
réduit de facteur 3
ZIPARCHIVE::CM_REDUCE_4 (entier)
réduit de facteur 4
ZIPARCHIVE::CM_IMPLODE (entier)
réunit
ZIPARCHIVE::CM_DEFLATE (entier)
compression
ZIPARCHIVE::CM_DEFLATE64 (entier)
compression 64
ZIPARCHIVE::CM_PKWARE_IMPLODE (entier)
réunit PKWARE
ZIPARCHIVE::CM_BZIP2 (entier)
algorithme BZIP2
ZIPARCHIVE::ER_OK (entier)
Aucune erreur
ZIPARCHIVE::ER_MULTIDISK (entier)
archives ZIP multidisques non supportées
ZIPARCHIVE::ER_RENAME (entier)
échec du changement de nom du fichier temporaire
ZIPARCHIVE::ER_CLOSE (entier)
échec de la fermeture de l'archive ZIP
ZIPARCHIVE::ER_SEEK (entier)
erreur de pointeur
ZIPARCHIVE::ER_READ (entier)
erreur de lecture
ZIPARCHIVE::ER_WRITE (entier)
erreur d'écriture
ZIPARCHIVE::ER_CRC (entier)
erreur CRC
ZIPARCHIVE::ER_ZIPCLOSED (entier)
archive ZIP fermée
ZIPARCHIVE::ER_NOENT (entier)
le fichier n'existe pas
ZIPARCHIVE::ER_EXISTS (entier)
le fichier existe déjà
ZIPARCHIVE::ER_OPEN (entier)
impossible d'ouvrir le fichier
ZIPARCHIVE::ER_TMPOPEN (entier)
échec lors de la création du fichier temporaire
ZIPARCHIVE::ER_ZLIB (entier)
erreur Zlib
ZIPARCHIVE::ER_MEMORY (entier)
échec d'allocation mémoire
ZIPARCHIVE::ER_CHANGED (chaîne de caractères)
l'entrée a été modifiée
ZIPARCHIVE::ER_COMPNOTSUPP (entier)
méthode de compression non supportée
ZIPARCHIVE::ER_EOF (entier)
EOF prématuré
ZIPARCHIVE::ER_INVAL (entier)
argument invalide
ZIPARCHIVE::ER_NOZIP (entier)
ce n'est pas une archive ZIP
ZIPARCHIVE::ER_INTERNAL (entier)
erreur interne
ZIPARCHIVE::ER_INCONS (entier)
archive ZIP incohérente
ZIPARCHIVE::ER_REMOVE (entier)
impossible d'effacer le fichier
ZIPARCHIVE::ER_DELETED (entier)
l'entrée a été supprimée
Types de ressources
Exemples
Zip


Exemples

Exemple #1 Création d'une archive Zip

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("Impossible d'ouvrir <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 Ceci est une chaîne texte, ajoutée comme testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 Ceci est une chaîne texte, ajoutée comme testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "Nombre de fichiers : " . $zip->numFiles . "\n";
echo "statut :" . $zip->status . "\n";
$zip->close();
?>

Exemple #2 Affiche les détails de l'archive et liste son contenu

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "Nombre de fichiers : " . $za->numFiles . "\n";
echo "statut : " . $za->status  . "\n";
echo "statut du système : " . $za->statusSys . "\n";
echo "Nom du fichier : " . $za->filename . "\n";
echo "Commentaire : " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index : $i\n";
    print_r($za->statIndex($i));
}
echo "Nombre de fichiers :" . $za->numFiles . "\n";
?>

Exemple #3 Flux ZIP ; lit les metainformations d'un fichier OpenOffice

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
    if ($reader->nodeType == XMLREADER::ELEMENT) {
        $elm = $reader->name;
    } else {
        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
            break;
        }
        if (!trim($reader->value)) {
            continue;
        }
        $odt_meta[$elm] = $reader->value;
    }
}
print_r($odt_meta);
?>

Cet exemple utilise l'ancienne API (PHP 4) ; il ouvre une archive ZIP, lit chaque fichier de l'archive et affiche son contenu. L'archive test2.zip utilisée dans cet exemple est une des archives de test, se trouvant dans les sources de ZZIPlib.

Exemple #4 Exemple d'utilisation de Zip

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Nom :                        " . zip_entry_name($zip_entry) . "\n";
        echo "Taille actuelle du fichier : " . zip_entry_filesize($zip_entry) . "\n";
        echo "Taille compressée :          " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Méthode de compression :     " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "Contenu du fichier :\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
?>
Constantes pré-définies
ZipArchive
Zip


La classe ZipArchive

Introduction

Un fichier d'archive, compressé Zip.

Synopsis de la classe

ZipArchive
ZipArchive {
/* Propriétés */
/* Méthodes */
bool addEmptyDir ( string $dirname )
bool addFile ( string $filename [, string $localname ] )
bool addFromString ( string $localname , string $contents )
bool close ( void )
bool deleteIndex ( int $index )
bool deleteName ( string $name )
bool extractTo ( string $destination [, mixed $entries ] )
string getArchiveComment ( void )
string getCommentIndex ( int $index [, int $flags ] )
string getCommentName ( string $name [, int $flags ] )
mixed getFromIndex ( int $index [, int $flags ] )
mixed getFromName ( string $name [, int $flags ] )
string getNameIndex ( int $index )
string getStatusString ( void )
resource getStream ( string $name )
mixed locateName ( string $name [, int $flags ] )
mixed open ( string $filename [, int $flags ] )
bool renameIndex ( int $index , string $newname )
bool renameName ( string $name , string $newname )
mixed setArchiveComment ( string $comment )
mixed setCommentIndex ( int $index , string $comment )
mixed setCommentName ( string $name , string $comment )
mixed statIndex ( int $index [, int $flags ] )
mixed statName ( name $name [, int $flags ] )
mixed unchangeAll ( void )
mixed unchangeArchive ( void )
mixed unchangeIndex ( int $index )
mixed unchangeName ( string $name )
}

Propriétés

status

Le statut de l'archive Zip

statusSys

Le statut système de l'archive Zip

numFiles

Le nombre de fichiers dans l'archive

filename

Le nom du fichier dans le système de fichiers

comment

Commentaire pour l'archive

Sommaire

  • ZipArchive::addEmptyDir — Ajoute un nouveau dossier à une archive Zip
  • ZipArchive::addFile — Ajoute un fichier à l'archive ZIP depuis le chemin fourni
  • ZipArchive::addFromString — Ajoute un fichier à une archive ZIP en utilisant son contenu
  • ZipArchive::close — Ferme l'archive active
  • ZipArchive::deleteIndex — Efface une entrée de l'archive en utilisant son index
  • ZipArchive::deleteName — Efface une entrée dans l'archive en utilisant son nom
  • ZipArchive::extractTo — Extrait le contenu de l'archive
  • ZipArchive::getArchiveComment — Retourne le commentaire de l'archive ZIP
  • ZipArchive::getCommentIndex — Retourne le commentaire d'une entrée
  • ZipArchive::getCommentName — Retourne le commentaire d'une entrée en utilisant le nom de l'entrée
  • ZipArchive::getFromIndex — Retourne le contenu d'une entrée en utilisant son index
  • ZipArchive::getFromName — Retourne le contenu de l'entrée en utilisant son nom
  • ZipArchive::getNameIndex — Retourne le nom d'une entrée en utilisant son index
  • ZipArchive::GetStatusString — Retourne le message du statut de l'erreur, du système ou de zip
  • ZipArchive::getStream — Récupère un gestionnaire de fichier pour l'entrée définie par son nom (lecture seule)
  • ZipArchive::locateName — Retourne l'index d'une entrée de l'archive
  • ZipArchive::open — Ouvre une archive ZIP
  • ZipArchive::renameIndex — Renomme une entrée définie par son index
  • ZipArchive::renameName — Renomme une entrée définie par son nom
  • ZipArchive::setArchiveComment — Définit le commentaire d'une archive ZIP
  • ZipArchive::setCommentIndex — Définit le commentaire d'une entrée définie par son index
  • ZipArchive::setCommentName — Définit le commentaire d'une entrée spécifiée par son nom
  • ZipArchive::statIndex — Récupère les détails d'une entrée définie par son index
  • ZipArchive::statName — Récupère les détails de l'entrée définie par son nom
  • ZipArchive::unchangeAll — Annule toutes les modifications faites sur l'archive
  • ZipArchive::unchangeArchive — Annule toutes les modifications globales faites sur l'archive
  • ZipArchive::unchangeIndex — Annule toutes les modifications faites sur une entrée, définie par nom index
  • ZipArchive::unchangeName — Annule toutes les modifications faites sur une entrée, définie par son nom
Exemples
ZipArchive::addEmptyDir
Zip


Ajoute un nouveau dossier à une archive Zip

ZipArchive
ZipArchive::addFile
ZipArchive
PHP Manual

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Ajoute un nouveau dossier à une archive Zip

Description

bool ZipArchive::addEmptyDir ( string $dirname )

Ajoute un dossier vide dans l'archive Zip.

Liste de paramètres

dirname

Le dossier à ajouter.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Crée un nouveau dossier dans l'archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Création d\'un nouveau dossier racine';
    } else {
        echo 'Impossible de créer un nouveau dossier';
    }
    $zip->close();
} else {
    echo 'Échec';
}
?>
ZipArchive
ZipArchive::addFile
ZipArchive


Ajoute un fichier à l'archive ZIP depuis le chemin fourni

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive
PHP Manual

ZipArchive::addFile

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFile — Ajoute un fichier à l'archive ZIP depuis le chemin fourni

Description

bool ZipArchive::addFile ( string $filename [, string $localname ] )

Ajoute un fichier à une archive ZIP depuis le chemin fourni.

Liste de paramètres

filename

Le chemin vers le fichier à ajouter

localname

nom local dans l'archive ZIP

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Cet exemple ouvre l'archive ZIP test.zip et ajoute le fichier /path/to/index.txt, en tant que newname.txt.

Exemple #1 Ouverture et extraction

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/chemin/vers/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive


Ajoute un fichier à une archive ZIP en utilisant son contenu

ZipArchive::addFile
ZipArchive::close
ZipArchive
PHP Manual

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFromString — Ajoute un fichier à une archive ZIP en utilisant son contenu

Description

bool ZipArchive::addFromString ( string $localname , string $contents )

Ajoute un fichier à une archive ZIP en utilisant son contenu.

Liste de paramètres

localname

Le nom de l'entrée à créer

contents

Le contenu à utiliser pour créer l'entrée. Ceci est utilisé dans un mode binaire sécurisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout d'une entrée dans une nouvelle archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'contenu du fichier ici');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>

Exemple #2 Ajout d'un fichier dans un dossier d'une archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'contenu du fichier ici');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::addFile
ZipArchive::close
ZipArchive


Ferme l'archive active

ZipArchive::addFromString
ZipArchive::deleteIndex
ZipArchive
PHP Manual

ZipArchive::close

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::close — Ferme l'archive active

Description

bool ZipArchive::close ( void )

Ferme une archive ouverte ou nouvellement créée et sauvegarde les modifications. Cette méthode est appelée automatiquement à la fin du script.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ZipArchive::addFromString
ZipArchive::deleteIndex
ZipArchive


Efface une entrée de l'archive en utilisant son index

ZipArchive::close
ZipArchive::deleteName
ZipArchive
PHP Manual

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — Efface une entrée de l'archive en utilisant son index

Description

bool ZipArchive::deleteIndex ( int $index )

Efface une entrée de l'archive en utilisant son index.

Liste de paramètres

index

Index de l'entrée à effacer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Efface le fichier depuis l'archive en utilisant son index

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::close
ZipArchive::deleteName
ZipArchive


Efface une entrée dans l'archive en utilisant son nom

ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive
PHP Manual

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteName — Efface une entrée dans l'archive en utilisant son nom

Description

bool ZipArchive::deleteName ( string $name )

Efface une entrée dans l'archive en utilisant son nom.

Liste de paramètres

name

Nom de l'entrée à effacer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Efface un fichier et un dossier de l'archive en utilisant les noms

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->deleteName('testDir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive


Extrait le contenu de l'archive

ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive
PHP Manual

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::extractTo — Extrait le contenu de l'archive

Description

bool ZipArchive::extractTo ( string $destination [, mixed $entries ] )

Extrait l'archive complète ou les fichiers fournis vers un chemin spécifié.

Liste de paramètres

destination

Endroit où l'on doit extraire les fichiers

entries

Les entrées à extraire. Ce peut être soit le nom d'une entrée ou un tableau de noms

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Cet exemple ouvre une archive ZIP, lit chaque fichier et affiche leurs contenus. L'archive test2.zip utilisée dans cet exemple est une des archives de test fournie dans les sources de ZZIPlib.

Exemple #1 Extrait toutes les entrées

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/mon/dossier/destination/');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>

Exemple #2 Extrait uniquement deux entrées

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/mon/dossier/destination/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive


Retourne le commentaire de l'archive ZIP

ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive
PHP Manual

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Retourne le commentaire de l'archive ZIP

Description

string ZipArchive::getArchiveComment ( void )

Retourne le commentaire de l'archive ZIP.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le commentaire de l'archive ZIP ou FALSE si une erreur survient.

Exemples

Exemple #1 Extrait le commentaire de l'archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test_avec_commentaire.zip');
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Ou en utilisant la propriété de l'archive */
    var_dump($zip->comment);
} else {
    echo 'échec, code:' . $res;
}
?>
ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive


Retourne le commentaire d'une entrée

ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive
PHP Manual

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — Retourne le commentaire d'une entrée

Description

string ZipArchive::getCommentIndex ( int $index [, int $flags ] )

Retourne le commentaire d'une entrée en utilisant l'index de l'entrée.

Liste de paramètres

index

Index de l'entrée

flags

Si ce flag est défini à ZIPARCHIVE::FL_UNCHANGED, le commentaire original est retourné.

Valeurs de retour

Retourne le commentaire en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affiche le commentaire d'une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'échec, code:' . $res;
}
?>
ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive


Retourne le commentaire d'une entrée en utilisant le nom de l'entrée

ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive
PHP Manual

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentName — Retourne le commentaire d'une entrée en utilisant le nom de l'entrée

Description

string ZipArchive::getCommentName ( string $name [, int $flags ] )

Retourne le commentaire d'une entrée en utilisant le nom de l'entrée.

Liste de paramètres

name

Nom de l'entrée

flags

Si ce flag est défini à ZIPARCHIVE::FL_UNCHANGED, le commentaire original est retourné.

Valeurs de retour

Retourne le commentaire en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affiche le commentaire d'une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'échec, code:' . $res;
}
?>
ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive


Retourne le contenu d'une entrée en utilisant son index

ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive
PHP Manual

ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.3.0)

ZipArchive::getFromIndex — Retourne le contenu d'une entrée en utilisant son index

Description

mixed ZipArchive::getFromIndex ( int $index [, int $flags ] )

Retourne le contenu d'une entrée en utilisant son index.

Liste de paramètres

index

Index de l'entrée

flags

Le flag à utiliser pour ouvrir l'archive.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Valeurs de retour

Retourne le contenu de l'entrée en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupère le contenu du fichier

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'échec';
}
?>
ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive


Retourne le contenu de l'entrée en utilisant son nom

ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive
PHP Manual

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getFromName — Retourne le contenu de l'entrée en utilisant son nom

Description

mixed ZipArchive::getFromName ( string $name [, int $flags ] )

Retourne le contenu de l'entrée en utilisant son nom.

Liste de paramètres

name

Nom de l'entrée

flags

Le flag à utiliser pour ouvrir l'archive.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Valeurs de retour

Retourne le contenu de l'entrée en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupère le contenu d'un fichier

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'échec';
}
?>

Exemple #2 Convertit une image depuis une entrée ZIP

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>
ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive


Retourne le nom d'une entrée en utilisant son index

ZipArchive::getFromName
ZipArchive::GetStatusString
ZipArchive
PHP Manual

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — Retourne le nom d'une entrée en utilisant son index

Description

string ZipArchive::getNameIndex ( int $index )

Retourne le nom d'une entrée en utilisant son index.

Liste de paramètres

index

Index de l'entrée

Valeurs de retour

Retourne le nom en cas de succès ou FALSE si une erreur survient.

ZipArchive::getFromName
ZipArchive::GetStatusString
ZipArchive


Retourne le message du statut de l'erreur, du système ou de zip

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive
PHP Manual

ZipArchive::GetStatusString

(PHP 5 >= 5.2.7)

ZipArchive::GetStatusString — Retourne le message du statut de l'erreur, du système ou de zip

Description

string ZipArchive::getStatusString ( void )

Retourne le message du statut de l'erreur, du système ou de zip.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères contenant le message du statut en cas de succès ou FALSE si une erreur survient.

ZipArchive::getNameIndex
ZipArchive::getStream
ZipArchive


Récupère un gestionnaire de fichier pour l'entrée définie par son nom (lecture seule)

ZipArchive::GetStatusString
ZipArchive::locateName
ZipArchive
PHP Manual

ZipArchive::getStream

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getStream — Récupère un gestionnaire de fichier pour l'entrée définie par son nom (lecture seule)

Description

resource ZipArchive::getStream ( string $name )

Récupère un gestionnaire de fichier pour l'entrée définie par son nom. Actuellement, cette fonction ne supporte que les opérations de lecture.

Liste de paramètres

name

Le nom de l'entrée à utiliser

Valeurs de retour

Retourne un pointeur de fichier (ressource) en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupère le contenu de l'entrée ZIP

<?php
$content = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("échec\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "fait.\n";
}
?>

Exemple #2 Récupère une entrée Zip avec la fonction fopen() et le gestionnaire de flux ZIP

<?php
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("impossible d'ouvrir\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
    echo "$contents\n";
}
fclose($fp);
echo "fait.\n";
?>

Exemple #3 Gestionnaire de flux et image, peut être utilisé également avec les fonctions XML

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>
ZipArchive::GetStatusString
ZipArchive::locateName
ZipArchive


Retourne l'index d'une entrée de l'archive

ZipArchive::getStream
ZipArchive::open
ZipArchive
PHP Manual

ZipArchive::locateName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::locateName — Retourne l'index d'une entrée de l'archive

Description

mixed ZipArchive::locateName ( string $name [, int $flags ] )

Localise une entrée en utilisant son nom.

Liste de paramètres

name

Le nom de l'entrée à chercher

flags

La fonction retourne l'index du fichier dans l'archive. Le flag est spécifié par les valeurs suivantes ou par 0 pour aucun d'entre eux.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

Valeurs de retour

Retourne l'index de l'entrée en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Crée une archive et l'utilise avec ZipArchive::locateName()

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZIPARCHIVE::CREATE) !== TRUE) {
    exit('failed');
}

$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');

if (!$zip->status == ZIPARCHIVE::ER_OK) {
    echo "échec lors de l'écriture ZIP\n";
}
$zip->close();

if ($zip->open($file) === TRUE) {
    exit('échec');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZIPARCHIVE::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR) . "\n";
$zip->close();

?>

L'exemple ci-dessus va afficher :

0

1
2
ZipArchive::getStream
ZipArchive::open
ZipArchive


Ouvre une archive ZIP

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual

ZipArchive::open

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::open — Ouvre une archive ZIP

Description

mixed ZipArchive::open ( string $filename [, int $flags ] )

Ouvre une nouvelle archive ZIP pour lecture, écriture et modification.

Liste de paramètres

filename

Le nom du fichier ZIP à ouvrir.

flags

Le mode à utiliser pour ouvrir l'archive.

  • ZIPARCHIVE::OVERWRITE

  • ZIPARCHIVE::CREATE

  • ZIPARCHIVE::EXCL

  • ZIPARCHIVE::CHECKCONS

Valeurs de retour

Error codes

Retourne TRUE en cas de succès ou sinon, le code erreur

  • ZIPARCHIVE::ER_EXISTS

  • ZIPARCHIVE::ER_INCONS

  • ZIPARCHIVE::ER_INVAL

  • ZIPARCHIVE::ER_MEMORY

  • ZIPARCHIVE::ER_NOENT

  • ZIPARCHIVE::ER_NOZIP

  • ZIPARCHIVE::ER_OPEN

  • ZIPARCHIVE::ER_READ

  • ZIPARCHIVE::ER_SEEK

Exemples

Cet exemple ouvre une archive ZIP, lit chaque fichier et affiche leurs contenus. L'archive test2.zip de cet exemple est une des archives contenue dans les sources de ZZIPlib.

Exemple #1 Ouverture et extraction

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'échec, code:' . $res;
}
?>

Exemple #2 Création d'une archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'nom_de_l_entree.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive


Renomme une entrée définie par son index

ZipArchive::open
ZipArchive::renameName
ZipArchive
PHP Manual

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameIndex — Renomme une entrée définie par son index

Description

bool ZipArchive::renameIndex ( int $index , string $newname )

Renomme une entrée définie par son index.

Liste de paramètres

index

Index de l'entrée à renommer

newname

Nouveau nom

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Renommer une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameIndex(2,'newname.txt');
    $zip->close();
} else {
    echo 'échec, code:' . $res;
}
?>
ZipArchive::open
ZipArchive::renameName
ZipArchive


Renomme une entrée définie par son nom

ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive
PHP Manual

ZipArchive::renameName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameName — Renomme une entrée définie par son nom

Description

bool ZipArchive::renameName ( string $name , string $newname )

Renomme une entrée définie par son nom.

Liste de paramètres

name

Nom de l'entrée à renommer

newname

Nouveau nom

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Renommer une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('currentname.txt','newname.txt');
    $zip->close();
} else {
    echo 'échec, code:' . $res;
}
?>
ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive


Définit le commentaire d'une archive ZIP

ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive
PHP Manual

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Définit le commentaire d'une archive ZIP

Description

mixed ZipArchive::setArchiveComment ( string $comment )

Définit le commentaire d'une archive ZIP.

Liste de paramètres

comment

Le contenu du commentaire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une archive et définition d'un commentaire

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'contenu du fichier ici');
    $zip->setArchiveComment('commentaire de l\'archive');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive


Définit le commentaire d'une entrée définie par son index

ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive
PHP Manual

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — Définit le commentaire d'une entrée définie par son index

Description

mixed ZipArchive::setCommentIndex ( int $index , string $comment )

Définit le commentaire d'une entrée définie par son index.

Liste de paramètres

index

Index de l'entrée

comment

Le contenu du commentaire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ouvre une archive et définit un commentaire pour une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentIndex(2, 'commentaire de l\'entrée');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive


Définit le commentaire d'une entrée spécifiée par son nom

ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive
PHP Manual

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentName — Définit le commentaire d'une entrée spécifiée par son nom

Description

mixed ZipArchive::setCommentName ( string $name , string $comment )

Définit le commentaire pour une entrée définie par son nom.

Liste de paramètres

name

Nom de l'entrée

comment

Le contenu du commentaire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ouvre une archive et définit le commentaire pour une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->setCommentName('entry1.txt', 'commentaire de l\'entrée');
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>
ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive


Récupère les détails d'une entrée définie par son index

ZipArchive::setCommentName
ZipArchive::statName
ZipArchive
PHP Manual

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::statIndex — Récupère les détails d'une entrée définie par son index

Description

mixed ZipArchive::statIndex ( int $index [, int $flags ] )

Cette fonction obtient des informations d'une entrée définie par son index.

Liste de paramètres

index

Index de l'entrée

flags

ZIPARCHIVE::FL_UNCHANGED permet d'obtenir les informations du fichier original de l'archive, ignorant toutes les modifications effectuées

Valeurs de retour

Retourne un tableau contenant les détails de l'entrée ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupère les informations d'une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'échec, code:' . $res;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::setCommentName
ZipArchive::statName
ZipArchive


Récupère les détails de l'entrée définie par son nom

ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive
PHP Manual

ZipArchive::statName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::statName — Récupère les détails de l'entrée définie par son nom

Description

mixed ZipArchive::statName ( name $name [, int $flags ] )

Cette fonction obtient des informations sur l'entrée définie par son nom.

Liste de paramètres

name

Nom de l'entrée

flags

Le flag spécifie comment la recherche sur le nom doit s'effectuer. ZIPARCHIVE::FL_UNCHANGED doit être utilisé pour récupérer les informations sur le fichier original de l'archive, ignorant toutes les modifications effectuées.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

Valeurs de retour

Retourne un tableau contenant les détails de l'entrée, ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupère les informations d'une entrée

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'échec, code:' . $res;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)
ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive


Annule toutes les modifications faites sur l'archive

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive
PHP Manual

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Annule toutes les modifications faites sur l'archive

Description

mixed ZipArchive::unchangeAll ( void )

Annule toutes les modifications faites sur l'archive.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive


Annule toutes les modifications globales faites sur l'archive

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive
PHP Manual

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Annule toutes les modifications globales faites sur l'archive

Description

mixed ZipArchive::unchangeArchive ( void )

Annule toutes les modifications faites sur l'archive. Actuellement, ceci annule uniquement les modifications effectuées sur les commentaires.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive


Annule toutes les modifications faites sur une entrée, définie par nom index

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive
PHP Manual

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — Annule toutes les modifications faites sur une entrée, définie par nom index

Description

mixed ZipArchive::unchangeIndex ( int $index )

Annule toutes les modifications faites sur une entrée, définie par son index.

Liste de paramètres

index

Index de l'entrée

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive


Annule toutes les modifications faites sur une entrée, définie par son nom

ZipArchive::unchangeIndex
Fonctions Zip
ZipArchive
PHP Manual

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::unchangeName — Annule toutes les modifications faites sur une entrée, définie par son nom

Description

mixed ZipArchive::unchangeName ( string $name )

Annule toutes les modifications faites sur une entrée, définie par son nom.

Liste de paramètres

name

Nom de l'entrée

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ZipArchive::unchangeIndex
Fonctions Zip
ZipArchive


Fonctions Zip

Sommaire

  • zip_close — Ferme une archive Zip
  • zip_entry_close — Ferme un dossier d'archive
  • zip_entry_compressedsize — Lit la taille compressée d'un dossier d'archives
  • zip_entry_compressionmethod — Lit la méthode de compression utilisée sur un dossier d'archives
  • zip_entry_filesize — Lit la taille décompressée d'un dossier d'archives
  • zip_entry_name — Lit le nom d'un dossier d'archives
  • zip_entry_open — Ouvre un dossier d'archives en lecture
  • zip_entry_read — Lit le contenu d'un fichier dans un dossier
  • zip_open — Ouvre une archive ZIP
  • zip_read — Lit la prochaine entrée dans une archive ZIP
ZipArchive::unchangeName
zip_close
Zip


Ferme une archive Zip

Fonctions Zip
zip_entry_close
Fonctions Zip
PHP Manual

zip_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_close — Ferme une archive Zip

Description

void zip_close ( resource $zip )

zip_close() ferme l'archive ZIP donnée.

Liste de paramètres

zip

Un fichier ZIP précédemment ouvert avec la fonction zip_open().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • zip_open() - Ouvre une archive ZIP
  • zip_read() - Lit la prochaine entrée dans une archive ZIP

Fonctions Zip
zip_entry_close
Fonctions Zip


Ferme un dossier d'archive

zip_close
zip_entry_compressedsize
Fonctions Zip
PHP Manual

zip_entry_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_close — Ferme un dossier d'archive

Description

bool zip_entry_close ( resource $zip_entry )

zip_entry_close() ferme un dossier d'archive donné.

Liste de paramètres

zip_entry

Un dossier d'archive précédemment ouvert avec la fonction zip_entry_open().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • zip_entry_open() - Ouvre un dossier d'archives en lecture
  • zip_entry_read() - Lit le contenu d'un fichier dans un dossier

zip_close
zip_entry_compressedsize
Fonctions Zip


Lit la taille compressée d'un dossier d'archives

zip_entry_close
zip_entry_compressionmethod
Fonctions Zip
PHP Manual

zip_entry_compressedsize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_compressedsize — Lit la taille compressée d'un dossier d'archives

Description

int zip_entry_compressedsize ( resource $zip_entry )

zip_entry_compressedsize() retourne la taille compressée d'un dossier d'archives donné.

Liste de paramètres

zip_entry

Un dossier d'archives retourné par la fonction zip_read().

Valeurs de retour

La taille compressée.

Voir aussi

  • zip_open() - Ouvre une archive ZIP
  • zip_read() - Lit la prochaine entrée dans une archive ZIP

zip_entry_close
zip_entry_compressionmethod
Fonctions Zip


Lit la méthode de compression utilisée sur un dossier d'archives

zip_entry_compressedsize
zip_entry_filesize
Fonctions Zip
PHP Manual

zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_compressionmethod — Lit la méthode de compression utilisée sur un dossier d'archives

Description

string zip_entry_compressionmethod ( resource $zip_entry )

zip_entry_compressionmethod() retourne la méthode de compression utilisée sur le dossier d'archives spécifié par zip_entry.

Liste de paramètres

zip_entry

Un dossier d'archives retourné par la fonction zip_read().

Valeurs de retour

La méthode de compression.

Voir aussi

  • zip_open() - Ouvre une archive ZIP
  • zip_read() - Lit la prochaine entrée dans une archive ZIP

zip_entry_compressedsize
zip_entry_filesize
Fonctions Zip


Lit la taille décompressée d'un dossier d'archives

zip_entry_compressionmethod
zip_entry_name
Fonctions Zip
PHP Manual

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_filesize — Lit la taille décompressée d'un dossier d'archives

Description

int zip_entry_filesize ( resource $zip_entry )

zip_entry_filesize() retourne la taille décompressée d'un dossier d'archives donné.

Liste de paramètres

zip_entry

Un dossier d'archives retourné par la fonction zip_read().

Valeurs de retour

La taille décompressée du dossier d'archives.

Voir aussi

  • zip_open() - Ouvre une archive ZIP
  • zip_read() - Lit la prochaine entrée dans une archive ZIP

zip_entry_compressionmethod
zip_entry_name
Fonctions Zip


Lit le nom d'un dossier d'archives

zip_entry_filesize
zip_entry_open
Fonctions Zip
PHP Manual

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_name — Lit le nom d'un dossier d'archives

Description

string zip_entry_name ( resource $zip_entry )

zip_entry_name() retourne le nom d'un dossier d'archives donné.

Liste de paramètres

zip_entry

Un dossier d'archives retourné par la fonction zip_read().

Valeurs de retour

Le nom du dossier d'archives.

Voir aussi

  • zip_open() - Ouvre une archive ZIP
  • zip_read() - Lit la prochaine entrée dans une archive ZIP

zip_entry_filesize
zip_entry_open
Fonctions Zip


Ouvre un dossier d'archives en lecture

zip_entry_name
zip_entry_read
Fonctions Zip
PHP Manual

zip_entry_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_open — Ouvre un dossier d'archives en lecture

Description

bool zip_entry_open ( resource $zip , resource $zip_entry [, string $mode ] )

zip_entry_open() ouvre un dossier dans un fichier ZIP pour lecture.

Liste de paramètres

zip

Une ressource valide retournée par la fonction zip_open().

zip_entry

Un dossier d'archives retourné par la fonction zip_read().

mode

Toutes les méthodes spécifiées dans la documentation de la fonction fopen().

Note: Actuellement, mode est ignoré et vaut toujours "rb". Cela est dû au fait que le support ZIP de PHP est uniquement en lecture seule.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Note: Contrairement à fopen() et les autres fonctions de fichiers, la valeur retournée par zip_entry_open() indique uniquement le résultat de l'opération, et n'est pas nécessaire pour la lecture ou la fermeture du fichier de dossier d'archives.

Voir aussi

  • zip_entry_close() - Ferme un dossier d'archive
  • zip_entry_read() - Lit le contenu d'un fichier dans un dossier

zip_entry_name
zip_entry_read
Fonctions Zip


Lit le contenu d'un fichier dans un dossier

zip_entry_open
zip_open
Fonctions Zip
PHP Manual

zip_entry_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_entry_read — Lit le contenu d'un fichier dans un dossier

Description

string zip_entry_read ( resource $zip_entry [, int $length ] )

zip_entry_read() lit dans un dossier d'archives ouvert.

Liste de paramètres

zip_entry

Un dossier d'archives retourné par la fonction zip_read().

length

Le nombre d'octets à retourner. Si ce paramètre est omis, la fonction tentera de lire 1024 octets.

Note: Ceci doit être la taille non-compressée que vous voulez lire.

Valeurs de retour

Retourne les données lues ou FALSE si la fin du fichier est atteinte.

Voir aussi

  • zip_entry_open() - Ouvre un dossier d'archives en lecture
  • zip_entry_close() - Ferme un dossier d'archive
  • zip_entry_filesize() - Lit la taille décompressée d'un dossier d'archives

zip_entry_open
zip_open
Fonctions Zip


Ouvre une archive ZIP

zip_entry_read
zip_read
Fonctions Zip
PHP Manual

zip_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_open — Ouvre une archive ZIP

Description

mixed zip_open ( string $filename )

zip_open() ouvre une nouvelle archive ZIP pour lecture.

Liste de paramètres

filename

Le nom du fichier de l'archive ZIP à ouvrir.

Valeurs de retour

Retourne une ressource à utiliser plus tard avec les fonctions zip_read() et zip_close(), ou bien retourne le numéro de l'erreur si le paramètre filename n'existe pas ou dans le cas d'une autre erreur.

Voir aussi

  • zip_read() - Lit la prochaine entrée dans une archive ZIP
  • zip_close() - Ferme une archive Zip

zip_entry_read
zip_read
Fonctions Zip


Lit la prochaine entrée dans une archive ZIP

zip_open
Zlib
Fonctions Zip
PHP Manual

zip_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)

zip_read — Lit la prochaine entrée dans une archive ZIP

Description

mixed zip_read ( resource $zip )

zip_read() lit la prochaine entrée dans une archive ZIP.

Liste de paramètres

zip

Un fichier ZIP précédemment ouvert avec la fonction zip_open().

Valeurs de retour

Retourne une ressource de dossier d'archive, à utiliser plus tard avec les autres fonctions de la bibliothèque, FALSE s'il n'y a plus d'entrées à lire dans l'archive ZIP ou le numéro de l'erreur dans le cas d'une autre erreur.

Voir aussi

  • zip_open() - Ouvre une archive ZIP
  • zip_close() - Ferme une archive Zip
  • zip_entry_open() - Ouvre un dossier d'archives en lecture
  • zip_entry_read() - Lit le contenu d'un fichier dans un dossier

zip_open
Zlib
Fonctions Zip


Compression Zlib

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Zlib
    • gzclose — Ferme un pointeur sur un fichier gz ouvert
    • gzcompress — Compresse une chaîne
    • gzdecode — Décode une chaîne de caractères compressée gzip
    • gzdeflate — Compresse une chaîne
    • gzencode — Crée une chaîne compressée gzip
    • gzeof — Indique si la fin d'un fichier (EOF) compressé est atteinte
    • gzfile — Lit la totalité d'un fichier compressé
    • gzgetc — Lit un caractère dans un fichier compressé
    • gzgets — Lit une ligne dans un fichier compressé
    • gzgetss — Lit une ligne dans un fichier compressé, et supprime les balises HTML
    • gzinflate — Décompresse une chaîne
    • gzopen — Ouvre un fichier compressé avec gzip
    • gzpassthru — Affiche toutes les données qui restent dans un pointeur gz
    • gzputs — Alias de gzwrite
    • gzread — Lecture de fichier compressé binaire
    • gzrewind — Replace le pointeur au début du fichier
    • gzseek — Déplace le pointeur de lecture
    • gztell — Lit la position courante du pointeur de lecture
    • gzuncompress — Décompresse une chaîne compressée
    • gzwrite — Écrit dans un fichier compressé gzip
    • readgzfile — Lit tout le fichier compressé
    • zlib_get_coding_type — Retourne la méthode de compression utilisée avec Gzip
zip_read
Introduction
Extensions sur l'archivage et la compression


Introduction

Ce module vous permet de lire et d'écrire des fichiers compressés gzip (.gz), via la plupart des fonctions du système de fichiers qui fonctionnent avec les fichiers compressés gzip (ainsi qu'avec les fichiers non-compressés, mais sans sockets).

Note: La version 4.0.4 introduit un gestionnaire de format pour les fichiers .gz ; ainsi, vous pouvez utiliser l'URL spécial zlib: pour accéder aux fichiers compressés en utilisant les fonctions normales f*() si vous préfixez le nom du fichier ou le nom du chemin par zlib: lorsque vous appelez la fonction fopen(). Cette fonctionnalité nécessite une bibliothèque C qui fournit la fonction fopencookie(). À ce jour, il semble que seule la bibliothèque GNU libc fournit cette fonctionnalité.
En PHP 4.3.0, zlib: a été modifié en compress.zlib:// afin d'éviter de confondre avec les noms de fichiers contenant les caractères ':'. La fonction fopencookie() n'est plus requise. Pour plus d'informations, reportez-vous à la section Flux compressés.

Zlib
Installation/Configuration
Zlib


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Zlib


Pré-requis

Ce module utilise les fonctions » zlib crées par Jean-loup Gailly et Mark Adler. Vous devez utiliser la bibliothèque zlib version >= 1.0.9 avec ce module.

Installation/Configuration
Installation
Installation/Configuration


Installation

Le support de Zlib dans PHP n'est pas activé par défaut. Vous devez compiler PHP avec l'option --with-zlib[=DIR].

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Note: Le support intégré de zlib pour Windows est disponible depuis PHP 4.3.0.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

L'extension zlib offre l'option de compresser de manière transparente les pages PHP à la volée, si le navigateur du visiteur le supporte. Voici donc les trois options à utiliser dans le fichier de configuration php.ini.

Options de configuration Zlib
Nom | Défaut | Modifiable | Historique
zlib.output_compression | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

zlib.output_compression booléen / entier

Active ou pas la compression transparente des pages. Si cette option est mise à "On" dans php.ini ou dans la configuration Apache, les pages sont compressées si le navigateur envoie un en-tête "Accept-Encoding: gzip" ou "deflate". Les en-têtes "Content-Encoding: gzip" (respectivement "deflate") et "Vary: Accept-Encoding" sont ajoutés dans la page envoyée au navigateur. En fonctionnement, il peut être défini uniquement avant tout affichage.

Cette option accepte aussi des valeurs entières au lieu des booléens, "On"/"Off", ce qui vous permet de configurer la taille du tampon de sortie (par défaut, il vaut 4ko).

Note: output_handler doit être laissée à vide si cette option est activée. Sinon, vous devez utiliser zlib.output_handler.

zlib.output_compression_level entier

Niveau de compression utilisé pour la compression de sortie. La valeur doit être comprise entre 0 (aucune compression) et 9 (compression élevée). La valeur par défaut est -1, ce qui laissera le serveur décider du niveau de compression à utiliser.

zlib.output_handler chaîne de caractères

Vous ne pouvez pas spécifier de gestionnaire de sortie supplémentaire si zlib.output_compression est activée. Cette configuration est la même que output_handler mais dans un ordre différent.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit une ressource de fichier, retournée par la fonction gzopen().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FORCE_GZIP (entier)
FORCE_DEFLATE (entier)
Types de ressources
Exemples
Zlib


Exemples

Cet exemple ouvre un fichier temporaire et y écrit une chaîne de test, puis, affiche le contenu de ce fichier, deux fois.

Exemple #1 Exemple avec Zlib

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Seulement un test, test, test, test, test, test, test, test!\n";

// ouvre un fichier en écriture, avec une compression maximale
$zp = gzopen($filename, "w9");

// écrit une chaîne dans le fichier
gzwrite($zp, $s);

// ferme le fichier
gzclose($zp);

// ouvre un fichier en lecture
$zp = gzopen($filename, "r");

// lit 3 caractères
echo gzread($zp, 3);

// lit tout le contenu et ferme le fichier
gzpassthru($zp);
gzclose($zp);

echo "\n";

// ouvre un fichier et affiche le contenu (pour la deuxième fois).
if (readgzfile($filename) != strlen($s)) {
        echo "Erreur avec les fonctions zlib !";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>
Constantes pré-définies
Fonctions Zlib
Zlib


Fonctions Zlib

Sommaire

  • gzclose — Ferme un pointeur sur un fichier gz ouvert
  • gzcompress — Compresse une chaîne
  • gzdecode — Décode une chaîne de caractères compressée gzip
  • gzdeflate — Compresse une chaîne
  • gzencode — Crée une chaîne compressée gzip
  • gzeof — Indique si la fin d'un fichier (EOF) compressé est atteinte
  • gzfile — Lit la totalité d'un fichier compressé
  • gzgetc — Lit un caractère dans un fichier compressé
  • gzgets — Lit une ligne dans un fichier compressé
  • gzgetss — Lit une ligne dans un fichier compressé, et supprime les balises HTML
  • gzinflate — Décompresse une chaîne
  • gzopen — Ouvre un fichier compressé avec gzip
  • gzpassthru — Affiche toutes les données qui restent dans un pointeur gz
  • gzputs — Alias de gzwrite
  • gzread — Lecture de fichier compressé binaire
  • gzrewind — Replace le pointeur au début du fichier
  • gzseek — Déplace le pointeur de lecture
  • gztell — Lit la position courante du pointeur de lecture
  • gzuncompress — Décompresse une chaîne compressée
  • gzwrite — Écrit dans un fichier compressé gzip
  • readgzfile — Lit tout le fichier compressé
  • zlib_get_coding_type — Retourne la méthode de compression utilisée avec Gzip
Exemples
gzclose
Zlib


Ferme un pointeur sur un fichier gz ouvert

Fonctions Zlib
gzcompress
Fonctions Zlib
PHP Manual

gzclose

(PHP 4, PHP 5)

gzclose — Ferme un pointeur sur un fichier gz ouvert

Description

bool gzclose ( resource $zp )

gzclose() referme le fichier compressé zp.

Liste de paramètres

zp

Le pointeur de fichier compressé. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gzclose()

<?php
$gz = gzopen('somefile.gz','w9');
gzputs ($gz, 'Je suis ajouté à somefile.gz');
gzclose($gz);
?>

Voir aussi

  • gzopen() - Ouvre un fichier compressé avec gzip

Fonctions Zlib
gzcompress
Fonctions Zlib


Compresse une chaîne

gzclose
gzdecode
Fonctions Zlib
PHP Manual

gzcompress

(PHP 4 >= 4.0.1, PHP 5)

gzcompress — Compresse une chaîne

Description

string gzcompress ( string $data [, int $level = -1 ] )

gzcompress() compresse la chaîne donnée en utilisant le format de données ZLIB.

Pour plus de détails sur l'algorithme, lisez le document » "ZLIB Compressed Data Format Specification version 3.3" (RFC 1950).

Note: Ce n'est pas la même chose que la compression gzip, qui inclut quelques en-têtes de données. Voir gzencode() pour la compression gzip.

Liste de paramètres

data

La donnée à compresser.

level

Le degré de compression. 0 signifie aucune compression, jusqu'à 9 pour une compression maximale.

Valeurs de retour

La chaîne compressée ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gzcompress()

<?php
$compressed = gzcompress('Compresse moi', 9);
echo $compressed;
?>

Voir aussi

  • gzdeflate() - Compresse une chaîne
  • gzinflate() - Décompresse une chaîne
  • gzuncompress() - Décompresse une chaîne compressée
  • gzencode() - Crée une chaîne compressée gzip

gzclose
gzdecode
Fonctions Zlib


Décode une chaîne de caractères compressée gzip

gzcompress
gzdeflate
Fonctions Zlib
PHP Manual

gzdecode

(No version information available, might only be in SVN)

gzdecode — Décode une chaîne de caractères compressée gzip

Description

string gzdecode ( string $data [, int $length ] )

Cette fonction retourne une version décodée des données data.

Liste de paramètres

data

Les données à décoder, encodées par la fonction gzencode().

length

La longueur maximale de données à décoder.

Valeurs de retour

La chaîne de caractères décodée, ou FALSE si une erreur survient.

Voir aussi

  • gzencode() - Crée une chaîne compressée gzip

gzcompress
gzdeflate
Fonctions Zlib


Compresse une chaîne

gzdecode
gzencode
Fonctions Zlib
PHP Manual

gzdeflate

(PHP 4 >= 4.0.4, PHP 5)

gzdeflate — Compresse une chaîne

Description

string gzdeflate ( string $data [, int $level = -1 ] )

gzdeflate() compresse la chaîne donnée en utilisant le format de données DEFLATE.

Pour plus de détails sur l'algorithme, lisez le document » "ZLIB Compressed Data Format Specification version 1.3" (RFC 1951).

Liste de paramètres

data

Les données à compresser.

level

Le degré de compression. 0 signifie aucune compression jusqu'à 9 pour une compression maximale. Si omis, le degré de compression par défaut sera celui de la bibliothèque zlib.

Valeurs de retour

La chaîne compressée ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gzdeflate()

<?php
$compressed = gzdeflate('Compresse moi', 9);
echo $compressed;
?>

Voir aussi

  • gzinflate() - Décompresse une chaîne
  • gzcompress() - Compresse une chaîne
  • gzuncompress() - Décompresse une chaîne compressée
  • gzencode() - Crée une chaîne compressée gzip

gzdecode
gzencode
Fonctions Zlib


Crée une chaîne compressée gzip

gzdeflate
gzeof
Fonctions Zlib
PHP Manual

gzencode

(PHP 4 >= 4.0.4, PHP 5)

gzencode — Crée une chaîne compressée gzip

Description

string gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] )

gzencode() retourne la version compressée de la chaîne data compatible avec la sortie du programme gzip.

Pour plus de détails sur l'algorithme, lisez le document » "ZLIB Compressed Data Format Specification version 4.3" (RFC 1952).

Liste de paramètres

data

Les données à encoder.

level

Le degré de compression. 0 signifie aucune compression, jusqu'à 9 pour une compression maximale. Si omis, le degré de compression par défaut sera celui de la bibliothèque zlib.

encoding_mode

Le mode d'encodage. Peut être FORCE_GZIP (par défaut) ou FORCE_DEFLATE.

Si vous utilisez FORCE_DEFLATE, vous récupérez une chaîne standard zlib (incluant les en-têtes zlib) après l'en-tête de fichier gzip mais sans la somme de vérification (checksum) crc32 finale.

Valeurs de retour

La chaîne encodée ou FALSE si une erreur survient.

Historique

Version | Description
4.2 | level a été ajouté. gzencode() n'avait que les paramètres data et encoding_mode (optionnel) avant.

Exemples

Les données résultantes contiennent les en-têtes appropriés ainsi que la structure de données pour faire un fichier .gz standard, e.g. :

Exemple #1 Création d'un fichier gzip

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Voir aussi

  • gzdecode() - Décode une chaîne de caractères compressée gzip
  • gzdeflate() - Compresse une chaîne
  • gzinflate() - Décompresse une chaîne
  • gzuncompress() - Décompresse une chaîne compressée
  • gzcompress() - Compresse une chaîne

gzdeflate
gzeof
Fonctions Zlib


Indique si la fin d'un fichier (EOF) compressé est atteinte

gzencode
gzfile
Fonctions Zlib
PHP Manual

gzeof

(PHP 4, PHP 5)

gzeof — Indique si la fin d'un fichier (EOF) compressé est atteinte

Description

int gzeof ( resource $zp )

Indique si la fin d'un fichier compressé est atteinte, c'est à dire si le pointeur est à la position EOF.

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

Valeurs de retour

Retourne TRUE si le pointeur de fichier gz est à la fin du fichier (EOF) ou si une erreur survient ; sinon, retourne FALSE.

Exemples

Exemple #1 Exemple avec gzeof()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

gzencode
gzfile
Fonctions Zlib


Lit la totalité d'un fichier compressé

gzeof
gzgetc
Fonctions Zlib
PHP Manual

gzfile

(PHP 4, PHP 5)

gzfile — Lit la totalité d'un fichier compressé

Description

array gzfile ( string $filename [, int $use_include_path = 0 ] )

gzfile() est identique à la fonction readgzfile(), excepté qu'elle retourne le fichier dans un tableau.

Liste de paramètres

filename

Le nom du fichier.

use_include_path

Vous pouvez définir ce paramètre optionnel à 1, si vous voulez chercher le fichier également dans l'include_path.

Valeurs de retour

Un tableau contenant le fichier, une ligne par cellule.

Exemples

Exemple #1 Exemple avec gzfile()

<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
    echo $line;
}
?>

Voir aussi

  • readgzfile() - Lit tout le fichier compressé
  • gzopen() - Ouvre un fichier compressé avec gzip

gzeof
gzgetc
Fonctions Zlib


Lit un caractère dans un fichier compressé

gzfile
gzgets
Fonctions Zlib
PHP Manual

gzgetc

(PHP 4, PHP 5)

gzgetc — Lit un caractère dans un fichier compressé

Description

string gzgetc ( resource $zp )

gzgetc() retourne une chaîne contenant un seul caractère (décompressé) lu depuis le pointeur de fichier gz.

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

Valeurs de retour

Le caractère décompressé ou FALSE si le pointeur est à la fin du fichier, position EOF (contrairement à la fonction gzeof()).

Exemples

Exemple #1 Exemple avec gzgetc()

<?php
$gz = gzopen('somefile.gz', 'r');
while (!gzeof($gz)) {
  echo gzgetc($gz);
}
gzclose($gz);
?>

Voir aussi

  • gzopen() - Ouvre un fichier compressé avec gzip
  • gzgets() - Lit une ligne dans un fichier compressé

gzfile
gzgets
Fonctions Zlib


Lit une ligne dans un fichier compressé

gzgetc
gzgetss
Fonctions Zlib
PHP Manual

gzgets

(PHP 4, PHP 5)

gzgets — Lit une ligne dans un fichier compressé

Description

string gzgets ( resource $zp , int $length )

gzgets() retourne une chaîne non compressée, de taille maximale length - 1 octets, lue dans le fichier représenté par zp. La lecture s'arrête lorsque length - 1 octets ont été lus, ou que la fonction a rencontré une nouvelle ligne ou la fin du fichier (le premier des trois qui survient).

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

length

La longueur de données à lire.

Valeurs de retour

La chaîne décompressée ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gzgets()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgets($handle, 4096);
   echo $buffer;
}
gzclose($handle);
?>

Voir aussi

  • gzopen() - Ouvre un fichier compressé avec gzip
  • gzgetc() - Lit un caractère dans un fichier compressé
  • gzwrite() - Écrit dans un fichier compressé gzip

gzgetc
gzgetss
Fonctions Zlib


Lit une ligne dans un fichier compressé, et supprime les balises HTML

gzgets
gzinflate
Fonctions Zlib
PHP Manual

gzgetss

(PHP 4, PHP 5)

gzgetss — Lit une ligne dans un fichier compressé, et supprime les balises HTML

Description

string gzgetss ( resource $zp , int $length [, string $allowable_tags ] )

gzgetss() est identique à la fonction gzgets(), excepté que gzgetss() tente de supprimer toutes les balises HTML et PHP du texte lu.

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

length

La longueur des données à récupérer.

allowable_tags

Vous pouvez utiliser ce paramètre optionnel pour spécifier les balises à ne pas supprimer.

Valeurs de retour

La chaîne décompressée et nettoyée ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gzgetss()

<?php
$handle = gzopen('somefile.gz', 'r');
while (!gzeof($handle)) {
   $buffer = gzgetss($handle, 4096);
   echo $buffer;
}
gzclose($handle);
?>

Voir aussi

  • gzopen() - Ouvre un fichier compressé avec gzip
  • gzgets() - Lit une ligne dans un fichier compressé
  • strip_tags() - Supprime les balises HTML et PHP d'une chaîne

gzgets
gzinflate
Fonctions Zlib


Décompresse une chaîne

gzgetss
gzopen
Fonctions Zlib
PHP Manual

gzinflate

(PHP 4 >= 4.0.4, PHP 5)

gzinflate — Décompresse une chaîne

Description

string gzinflate ( string $data [, int $length = 0 ] )

gzinflate() décompresse une chaîne.

Liste de paramètres

data

Les données compressées avec la fonction gzdeflate().

length

La longueur maximale de données à décoder.

Valeurs de retour

Les données originales décompressées ou FALSE si une erreur survient.

gzinflate() retourne une erreur si la chaîne décompressée est plus de 32768 fois plus longue que la chaîne compressée data ou plus grande que la taille de length octets, passé comme paramètre optionnel.

Exemples

Exemple #1 Exemple avec gzinflate()

<?php
$compressed   = gzdeflate('Compresse moi', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

Voir aussi

  • gzdeflate() - Compresse une chaîne
  • gzcompress() - Compresse une chaîne
  • gzuncompress() - Décompresse une chaîne compressée
  • gzencode() - Crée une chaîne compressée gzip

gzgetss
gzopen
Fonctions Zlib


Ouvre un fichier compressé avec gzip

gzinflate
gzpassthru
Fonctions Zlib
PHP Manual

gzopen

(PHP 4, PHP 5)

gzopen — Ouvre un fichier compressé avec gzip

Description

resource gzopen ( string $filename , string $mode [, int $use_include_path = 0 ] )

gzopen() ouvre un fichier compressé avec gzip pour y écrire ou y lire des données.

gzopen() peut être utilisée pour lire un fichier qui n'est pas dans un format gzip ; dans ce cas, gzread() lira directement le fichier sans décompression.

Liste de paramètres

filename

Le nom du fichier.

mode

Comme dans la fonction fopen() (rb ou wb) mais peut également inclure un degré de compression (wb9) ou une stratégie : f pour les données filtrées comme wb6f, h pour Huffman only compression comme wb1h. (Lisez la description de deflateInit2 dans le fichier zlib.h pour plus d'informations sur la stratégie des paramètres.)

use_include_path

Vous pouvez définir ce paramètre optionnel à 1, si vous voulez chercher un fichier également dans l'include_path.

Valeurs de retour

Retourne un pointeur de fichier vers le fichier ouvert, ainsi, la lecture depuis ce pointeur de fichier sera des données décompressées et ce que vous y écrirez, sera compressé.

Si l'ouverture échoue, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gzopen()

<?php
$fp = gzopen("/tmp/file.gz", "r");
?>

Voir aussi

  • gzclose() - Ferme un pointeur sur un fichier gz ouvert

gzinflate
gzpassthru
Fonctions Zlib


Affiche toutes les données qui restent dans un pointeur gz

gzopen
gzputs
Fonctions Zlib
PHP Manual

gzpassthru

(PHP 4, PHP 5)

gzpassthru — Affiche toutes les données qui restent dans un pointeur gz

Description

int gzpassthru ( resource $zp )

gzpassthru() lit les données restantes du fichier zp jusqu'à la fin (position EOF), puis affiche le résultat (décompressé).

Note: Vous pourriez avoir besoin d'appeler la fonction gzrewind() pour réinitialiser le pointeur de fichier au début du fichier si vous avez déjà écrit des données dedans.

Astuce

Si vous voulez uniquement afficher le contenu d'un fichier, sans le modifier auparavant ou sans déplacer le pointeur à une position particulière, vous devriez utiliser la fonction readgzfile(), ce qui vous évitera d'appeler la fonction gzopen().

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

Valeurs de retour

Le nombre de caractères décompressés lus depuis gz et affiché ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gzpassthru()

<?php
$fp = gzopen('file.gz', 'r');
gzpassthru($fp);
gzclose($fp);
?>

gzopen
gzputs
Fonctions Zlib


Alias de gzwrite

gzpassthru
gzread
Fonctions Zlib
PHP Manual

gzputs

(PHP 4, PHP 5)

gzputs — Alias de gzwrite()

Description

Cette fonction est un alias de : gzwrite().

gzpassthru
gzread
Fonctions Zlib


Lecture de fichier compressé binaire

gzputs
gzrewind
Fonctions Zlib
PHP Manual

gzread

(PHP 4, PHP 5)

gzread — Lecture de fichier compressé binaire

Description

string gzread ( resource $zp , int $length )

gzread() lit jusqu'à length octets dans le fichier compressé gzip, représenté par zp. La lecture s'arrête lorsque length octets (décompressés) ont été lus, ou que la fin du fichier a été atteinte (position EOF).

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

length

Le nombre d'octets lus.

Valeurs de retour

Les données qui ont été lues.

Exemples

Exemple #1 Exemple avec gzread()

<?php
// récupère le contenu d'un fichier gz dans une chaîne
$filename = "/usr/local/something.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
?>

Voir aussi

  • gzwrite() - Écrit dans un fichier compressé gzip
  • gzopen() - Ouvre un fichier compressé avec gzip
  • gzgets() - Lit une ligne dans un fichier compressé
  • gzgetss() - Lit une ligne dans un fichier compressé, et supprime les balises HTML
  • gzfile() - Lit la totalité d'un fichier compressé
  • gzpassthru() - Affiche toutes les données qui restent dans un pointeur gz

gzputs
gzrewind
Fonctions Zlib


Replace le pointeur au début du fichier

gzread
gzseek
Fonctions Zlib
PHP Manual

gzrewind

(PHP 4, PHP 5)

gzrewind — Replace le pointeur au début du fichier

Description

bool gzrewind ( resource $zp )

gzrewind() replace le pointeur de position du fichier zp au début de celui-ci.

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gzseek() - Déplace le pointeur de lecture
  • gztell() - Lit la position courante du pointeur de lecture

gzread
gzseek
Fonctions Zlib


Déplace le pointeur de lecture

gzrewind
gztell
Fonctions Zlib
PHP Manual

gzseek

(PHP 4, PHP 5)

gzseek — Déplace le pointeur de lecture

Description

int gzseek ( resource $zp , int $offset [, int $whence = SEEK_SET ] )

gzseek() place le pointeur de lecture du fichier zp à la position offset, comptée en octets depuis le début du fichier. C'est l'équivalent de la fonction gzseek(zp, offset, SEEK_SET), du langage C.

Si le fichier est ouvert en lecture, cette fonction est alors émulée, et se révèle extrêmement lente. Si le fichier est ouvert en écriture, seuls les déplacements vers l'avant sont supportés : gzseek() compresse alors une série de zéros jusqu'à la nouvelle position.

Liste de paramètres

zp

Le pointeur de fichier gz. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

offset

La position désirée.

whence

Les valeurs de whence sont :

  • SEEK_SET : ramène la position à l'offset.
  • SEEK_CUR : ramène la position à la position actuelle plus offset.

Si whence n'est pas spécifié, il vaut par défaut SEEK_SET.

Valeurs de retour

0 en cas de réussite, -1 sinon. Notez que placer le pointeur au delà de la fin du fichier n'est pas considéré comme une erreur.

Exemples

Exemple #1 Exemple avec gzseek()

<?php
$gz = gzopen('somefile.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Voir aussi

  • gztell() - Lit la position courante du pointeur de lecture
  • gzrewind() - Replace le pointeur au début du fichier

gzrewind
gztell
Fonctions Zlib


Lit la position courante du pointeur de lecture

gzseek
gzuncompress
Fonctions Zlib
PHP Manual

gztell

(PHP 4, PHP 5)

gztell — Lit la position courante du pointeur de lecture

Description

int gztell ( resource $zp )

gztell() retourne la position du pointeur de lecture dans le fichier zp.

Liste de paramètres

zp

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

Valeurs de retour

La position du pointeur de fichier ou FALSE si une erreur survient.

Voir aussi

  • gzopen() - Ouvre un fichier compressé avec gzip
  • gzseek() - Déplace le pointeur de lecture
  • gzrewind() - Replace le pointeur au début du fichier

gzseek
gzuncompress
Fonctions Zlib


Décompresse une chaîne compressée

gztell
gzwrite
Fonctions Zlib
PHP Manual

gzuncompress

(PHP 4 >= 4.0.1, PHP 5)

gzuncompress — Décompresse une chaîne compressée

Description

string gzuncompress ( string $data [, int $length = 0 ] )

gzuncompress() décompresse une chaîne compressée.

Liste de paramètres

data

Les données compressées par gzcompress().

length

La longueur maximale de données à décoder.

Valeurs de retour

Les données originales décompressées ou FALSE si une erreur survient.

gzuncompress() retourne une erreur si la chaîne décompressée est 32768 fois plus longue que la chaîne compressée data ou plus grande que la taille de length octets, passé comme paramètre optionnel.

Exemples

Exemple #1 Exemple avec gzuncompress()

<?php
$compressed   = gzcompress('Compresse moi', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
?>

Voir aussi

  • gzcompress() - Compresse une chaîne
  • gzinflate() - Décompresse une chaîne
  • gzdeflate() - Compresse une chaîne
  • gzencode() - Crée une chaîne compressée gzip

gztell
gzwrite
Fonctions Zlib


Écrit dans un fichier compressé gzip

gzuncompress
readgzfile
Fonctions Zlib
PHP Manual

gzwrite

(PHP 4, PHP 5)

gzwrite — Écrit dans un fichier compressé gzip

Description

int gzwrite ( resource $zp , string $string [, int $length ] )

gzwrite() écrit le contenu de la chaîne string dans le fichier compressé zp.

Liste de paramètres

zp

Le pointeur de fichier. Il doit être valide et doit pointer vers un fichier ouvert avec succès grâce à la fonction gzopen().

string

La chaîne à écrire.

length

Le nombre d'octets décompressés à écrire. Si fournie, l'écriture s'arrêtera après length (décompressé) octets écrits ou si la fin de la chaîne string est atteinte ; celui qui survient le premier.

Note: Notez que si l'argument length est donné, alors l'option de configuration magic_quotes_runtime sera ignoré et aucun slash ne sera supprimé de la chaîne string.

Valeurs de retour

Retourne le nombre d'octets (décompressés) écrits dans le fichier gz donné.

Exemples

Exemple #1 Exemple avec gzwrite()

<?php
$string = 'Quelques informations à compresser';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>

Voir aussi

  • gzread() - Lecture de fichier compressé binaire
  • gzopen() - Ouvre un fichier compressé avec gzip

gzuncompress
readgzfile
Fonctions Zlib


Lit tout le fichier compressé

gzwrite
zlib_get_coding_type
Fonctions Zlib
PHP Manual

readgzfile

(PHP 4, PHP 5)

readgzfile — Lit tout le fichier compressé

Description

int readgzfile ( string $filename [, int $use_include_path = 0 ] )

readgzfile() lit le fichier filename, le décompresse et affiche le résultat.

readgzfile() peut aussi servir à lire un fichier qui n'est pas compressé : dans ce cas, readgzfile() va lire le fichier sans le décompresser.

Liste de paramètres

filename

Le nom du fichier. Ce fichier devra être ouvert depuis le système de fichiers et son contenu sera affiché.

use_include_path

Vous pouvez définir ce paramètre optionnel à 1, si vous voulez chercher le fichier également dans l'include_path.

Valeurs de retour

Retourne le nombre d'octets (décompressés) lus depuis le fichier. Si une erreur survient, FALSE est retourné et si la fonction n'a pas été appelée de cette façon : @readgzfile, un message d'erreur sera affiché.

Voir aussi

  • gzpassthru() - Affiche toutes les données qui restent dans un pointeur gz
  • gzfile() - Lit la totalité d'un fichier compressé
  • gzopen() - Ouvre un fichier compressé avec gzip

gzwrite
zlib_get_coding_type
Fonctions Zlib


Retourne la méthode de compression utilisée avec Gzip

readgzfile
Traitement des cartes de crédit
Fonctions Zlib
PHP Manual

zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5)

zlib_get_coding_type — Retourne la méthode de compression utilisée avec Gzip

Description

string zlib_get_coding_type ( void )

zlib_get_coding_type() retourne la méthode de compression utilisée avec Gzip.

Valeurs de retour

Les valeurs possibles de retour sont gzip, deflate ou FALSE.

Voir aussi

  • La directive zlib.output_compression directive

readgzfile
Traitement des cartes de crédit
Fonctions Zlib


Traitement des cartes de crédit

  • MCVE — Paiement MCVE (Monetra)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions MCVE
  • SPPLUS — Système de paiement SPPLUS
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions SPPLUS
zlib_get_coding_type
MCVE
Référence des fonctions


Paiement MCVE (Monetra)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions MCVE
    • m_checkstatus — Vérifie si la transaction a été complétée
    • m_completeauthorizations — Nombre d'autorisations complètes en attente, retourne un tableau de leur identifiant
    • m_connect — Établit une connexion à MCVE
    • m_connectionerror — Obtient une représentation textuelle de la cause de l'échec de connexion
    • m_deletetrans — Supprime la transaction spécifiée de la structure MCVE_CONN
    • m_destroyconn — Détruit la connexion et la structure MCVE_CONN
    • m_destroyengine — Libère la mémoire associée avec la connectivité IP/SSL
    • m_getcell — Récupère une cellule spécifique d'une réponse délimitée par virgule avec le nom de colonne
    • m_getcellbynum — Récupère une cellule spécifique d'une réponse délimitée par virgule avec le numéro de colonne
    • m_getcommadelimited — Récupère les données brutes délimitées par virgule retournées par MCVE
    • m_getheader — Récupère le nom de la colonne dans la réponse délimitée par virgule
    • m_initconn — Crée et initialise une structure MCVE_CONN
    • m_initengine — Apprête le client pour une communication IP/SSL
    • m_iscommadelimited — Vérifie si la réponse est délimitée par virgule
    • m_maxconntimeout — Le temps maximal pendant lequel l'API tentera une connexion à MCVE
    • m_monitor — Effectue une communication avec MCVE (envoi/réception de données) en mode non-bloquant
    • m_numcolumns — Nombre de colonnes retournées dans une réponse délimitée par virgule
    • m_numrows — Nombre de lignes retournées dans une réponse délimitée par virgule
    • m_parsecommadelimited — Analyse la réponse délimitée par virgule permettant à m_getcell, etc. de fonctionner ensuite
    • m_responsekeys — Retourne un tableau de chaînes de caractères qui représentent les clés pouvant être utilisées en tant que paramètres de réponse pour cette transaction
    • m_responseparam — Récupère un paramètre spécial de réponse
    • m_returnstatus — Vérifie si la transaction fut complétée correctement
    • m_setblocking — Spécifie le mode bloquant/non-bloquant pour une connexion
    • m_setdropfile — Spécifie la méthode de connexion à Drop-File
    • m_setip — Spécifie la méthode de connexion à IP
    • m_setssl_cafile — Spécifie le fichier SSL CA (Certificate Authority) pour vérification du certificat du serveur
    • m_setssl_files — Spécifie les fichiers de clé de certificat et certifie si le serveur requiert la vérification du client par certificat
    • m_setssl — Spécifie la méthode de connexion à SSL
    • m_settimeout — Spécifie le temps maximal d'une transaction (par transaction)
    • m_sslcert_gen_hash — Génère une clé de hachage pour les vérifications de certificat de client SSL
    • m_transactionssent — Vérifie si le tampon de sortie est vide
    • m_transinqueue — Nombre de transactions dans la file de client
    • m_transkeyval — Ajoute une paire clé/valeur à une transaction. Remplace transparam() dépréciée
    • m_transnew — Démarre une nouvelle transaction
    • m_transsend — Finalise et envoie la transaction
    • m_uwait — Attend x micro secondes
    • m_validateidentifier — Valide ou non l'identifiant passé pour n'importe quelle transaction à laquelle il est fourni
    • m_verifyconnection — Effectue un ping ou non lors de la connexion pour la vérifier
    • m_verifysslcert — Active ou non la vérification du certificat SSL du serveur
Traitement des cartes de crédit
Introduction
Traitement des cartes de crédit


Introduction

Ces fonctions servent d'interface avec l'API MCVE (Monetra, libmonetra, auparavant libmcve), qui vous permet de travailler directement avec MCVE/Monetra à partir de vos scripts PHP. MCVE/Monetra est la solution de Main Street Softworks pour les traitements de carte de crédit/débit/cadeau sous Linux/Unix/MacOSX/Windows (» http://www.mainstreetsoftworks.com/). Elle vous permet d'interroger l'établissement bancaire gérant la carte de crédit à partir de votre machine *nix, de votre modem ou de votre connexion Internet (en ne passant pas par des services supplémentaires comme Authorize.Net ou Pay Flow Pro). En utilisant le module MCVE/Monetra pour PHP, vous pouvez manipuler les cartes de crédit directement dans vos scripts PHP via l'API MCVE/Monetra. La documentation ci-dessous en explique le fonctionnement.

Note: MCVE/Monetra remplace la solution CCVS de RedHat. Un contrat a été passé avec RedHat fin 2001 pour migrer la clientèle existante vers la plate-forme MCVE.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

MCVE
Installation/Configuration
MCVE


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
MCVE


Pré-requis

La bibliothèque LibMonetra (formellement, libmcve).

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/mcve.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Si vous installez sans spécifier le chemin d'accès de votre installation de libmonetra, PHP tentera de rechercher dans l'emplacement d'installation par défaut de LibMonetra (/usr/local). Si Monetra (MCVE) est dans un emplacement non standard, exécutez la configuration avec : --with-mcve=$mcve_path, où $mcve_path est le chemin menant à votre installation de MCVE/Monetra. Veuillez noter que le support MCVE/Monetra requiert que $mcve_path/lib et $mcve_path/include existent et incluent mcve.h ou monetra.h dans le répertoire include et libmcve.so et/ou libmcve.a et/ou libmonetra.so et/ou libmonetra.a dans le répertoire lib.

Comme MCVE/Monetra vient avec une véritable séparation client/serveur, il n'y a pas de prérequis supplémentaires pour compiler PHP avec le support MCVE. Pour tester votre extension MCVE/Monetra avec PHP, connectez-vous au site testbox.monetra.com sur le port 8333 pour le mode IP, ou le port 8444 pour le mode SSL en utilisant l'API PHP MCVE/Monetra. Utilisez 'vitale' comme nom d'utilisateur et 'test' comme mot de passe. Plus de détails sur ce système de test sont disponibles sur » http://www.mainstreetsoftworks.com/.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit une resource MVCE_CONN retournée par m_initconn().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

M_PENDING (entier)
M_DONE (entier)
M_ERROR (entier)
M_FAIL (entier)
M_SUCCESS (entier)
Types de ressources
Fonctions MCVE
MCVE


Fonctions MCVE

Voir aussi

De la documentation supplémentaire sur l'API PHP MCVE/Monetra peut être trouvée sur » http://www.mainstreetsoftworks.com/documentation.html. La documentation de Main Street est complète et devrait être la référence pour les fonctions.

Sommaire

  • m_checkstatus — Vérifie si la transaction a été complétée
  • m_completeauthorizations — Nombre d'autorisations complètes en attente, retourne un tableau de leur identifiant
  • m_connect — Établit une connexion à MCVE
  • m_connectionerror — Obtient une représentation textuelle de la cause de l'échec de connexion
  • m_deletetrans — Supprime la transaction spécifiée de la structure MCVE_CONN
  • m_destroyconn — Détruit la connexion et la structure MCVE_CONN
  • m_destroyengine — Libère la mémoire associée avec la connectivité IP/SSL
  • m_getcell — Récupère une cellule spécifique d'une réponse délimitée par virgule avec le nom de colonne
  • m_getcellbynum — Récupère une cellule spécifique d'une réponse délimitée par virgule avec le numéro de colonne
  • m_getcommadelimited — Récupère les données brutes délimitées par virgule retournées par MCVE
  • m_getheader — Récupère le nom de la colonne dans la réponse délimitée par virgule
  • m_initconn — Crée et initialise une structure MCVE_CONN
  • m_initengine — Apprête le client pour une communication IP/SSL
  • m_iscommadelimited — Vérifie si la réponse est délimitée par virgule
  • m_maxconntimeout — Le temps maximal pendant lequel l'API tentera une connexion à MCVE
  • m_monitor — Effectue une communication avec MCVE (envoi/réception de données) en mode non-bloquant
  • m_numcolumns — Nombre de colonnes retournées dans une réponse délimitée par virgule
  • m_numrows — Nombre de lignes retournées dans une réponse délimitée par virgule
  • m_parsecommadelimited — Analyse la réponse délimitée par virgule permettant à m_getcell, etc. de fonctionner ensuite
  • m_responsekeys — Retourne un tableau de chaînes de caractères qui représentent les clés pouvant être utilisées en tant que paramètres de réponse pour cette transaction
  • m_responseparam — Récupère un paramètre spécial de réponse
  • m_returnstatus — Vérifie si la transaction fut complétée correctement
  • m_setblocking — Spécifie le mode bloquant/non-bloquant pour une connexion
  • m_setdropfile — Spécifie la méthode de connexion à Drop-File
  • m_setip — Spécifie la méthode de connexion à IP
  • m_setssl_cafile — Spécifie le fichier SSL CA (Certificate Authority) pour vérification du certificat du serveur
  • m_setssl_files — Spécifie les fichiers de clé de certificat et certifie si le serveur requiert la vérification du client par certificat
  • m_setssl — Spécifie la méthode de connexion à SSL
  • m_settimeout — Spécifie le temps maximal d'une transaction (par transaction)
  • m_sslcert_gen_hash — Génère une clé de hachage pour les vérifications de certificat de client SSL
  • m_transactionssent — Vérifie si le tampon de sortie est vide
  • m_transinqueue — Nombre de transactions dans la file de client
  • m_transkeyval — Ajoute une paire clé/valeur à une transaction. Remplace transparam() dépréciée
  • m_transnew — Démarre une nouvelle transaction
  • m_transsend — Finalise et envoie la transaction
  • m_uwait — Attend x micro secondes
  • m_validateidentifier — Valide ou non l'identifiant passé pour n'importe quelle transaction à laquelle il est fourni
  • m_verifyconnection — Effectue un ping ou non lors de la connexion pour la vérifier
  • m_verifysslcert — Active ou non la vérification du certificat SSL du serveur
Constantes pré-définies
m_checkstatus
MCVE


Vérifie si la transaction a été complétée

Fonctions MCVE
m_completeauthorizations
Fonctions MCVE
PHP Manual

m_checkstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_checkstatus — Vérifie si la transaction a été complétée

Description

int m_checkstatus ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

Fonctions MCVE
m_completeauthorizations
Fonctions MCVE


Nombre d'autorisations complètes en attente, retourne un tableau de leur identifiant

m_checkstatus
m_connect
Fonctions MCVE
PHP Manual

m_completeauthorizations

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_completeauthorizations — Nombre d'autorisations complètes en attente, retourne un tableau de leur identifiant

Description

int m_completeauthorizations ( resource $conn , int &$array )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

array

Valeurs de retour

m_checkstatus
m_connect
Fonctions MCVE


Établit une connexion à MCVE

m_completeauthorizations
m_connectionerror
Fonctions MCVE
PHP Manual

m_connect

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connect — Établit une connexion à MCVE

Description

int m_connect ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

m_completeauthorizations
m_connectionerror
Fonctions MCVE


Obtient une représentation textuelle de la cause de l'échec de connexion

m_connect
m_deletetrans
Fonctions MCVE
PHP Manual

m_connectionerror

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_connectionerror — Obtient une représentation textuelle de la cause de l'échec de connexion

Description

string m_connectionerror ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

m_connect
m_deletetrans
Fonctions MCVE


Supprime la transaction spécifiée de la structure MCVE_CONN

m_connectionerror
m_destroyconn
Fonctions MCVE
PHP Manual

m_deletetrans

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_deletetrans — Supprime la transaction spécifiée de la structure MCVE_CONN

Description

bool m_deletetrans ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_connectionerror
m_destroyconn
Fonctions MCVE


Détruit la connexion et la structure MCVE_CONN

m_deletetrans
m_destroyengine
Fonctions MCVE
PHP Manual

m_destroyconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyconn — Détruit la connexion et la structure MCVE_CONN

Description

bool m_destroyconn ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • m_initconn() - Crée et initialise une structure MCVE_CONN

m_deletetrans
m_destroyengine
Fonctions MCVE


Libère la mémoire associée avec la connectivité IP/SSL

m_destroyconn
m_getcell
Fonctions MCVE
PHP Manual

m_destroyengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_destroyengine — Libère la mémoire associée avec la connectivité IP/SSL

Description

void m_destroyengine ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

Aucune valeur n'est retournée.

m_destroyconn
m_getcell
Fonctions MCVE


Récupère une cellule spécifique d'une réponse délimitée par virgule avec le nom de colonne

m_destroyengine
m_getcellbynum
Fonctions MCVE
PHP Manual

m_getcell

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcell — Récupère une cellule spécifique d'une réponse délimitée par virgule avec le nom de colonne

Description

string m_getcell ( resource $conn , int $identifier , string $column , int $row )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

column

row

Valeurs de retour

m_destroyengine
m_getcellbynum
Fonctions MCVE


Récupère une cellule spécifique d'une réponse délimitée par virgule avec le numéro de colonne

m_getcell
m_getcommadelimited
Fonctions MCVE
PHP Manual

m_getcellbynum

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcellbynum — Récupère une cellule spécifique d'une réponse délimitée par virgule avec le numéro de colonne

Description

string m_getcellbynum ( resource $conn , int $identifier , int $column , int $row )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

column

row

Valeurs de retour

m_getcell
m_getcommadelimited
Fonctions MCVE


Récupère les données brutes délimitées par virgule retournées par MCVE

m_getcellbynum
m_getheader
Fonctions MCVE
PHP Manual

m_getcommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getcommadelimited — Récupère les données brutes délimitées par virgule retournées par MCVE

Description

string m_getcommadelimited ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_getcellbynum
m_getheader
Fonctions MCVE


Récupère le nom de la colonne dans la réponse délimitée par virgule

m_getcommadelimited
m_initconn
Fonctions MCVE
PHP Manual

m_getheader

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_getheader — Récupère le nom de la colonne dans la réponse délimitée par virgule

Description

string m_getheader ( resource $conn , int $identifier , int $column_num )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

column_num

Valeurs de retour

m_getcommadelimited
m_initconn
Fonctions MCVE


Crée et initialise une structure MCVE_CONN

m_getheader
m_initengine
Fonctions MCVE
PHP Manual

m_initconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initconn — Crée et initialise une structure MCVE_CONN

Description

resource m_initconn ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Retourne une ressource MCVE_CONN.

Voir aussi

  • m_destroyconn() - Détruit la connexion et la structure MCVE_CONN

m_getheader
m_initengine
Fonctions MCVE


Apprête le client pour une communication IP/SSL

m_initconn
m_iscommadelimited
Fonctions MCVE
PHP Manual

m_initengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_initengine — Apprête le client pour une communication IP/SSL

Description

int m_initengine ( string $location )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

location

Valeurs de retour

m_initconn
m_iscommadelimited
Fonctions MCVE


Vérifie si la réponse est délimitée par virgule

m_initengine
m_maxconntimeout
Fonctions MCVE
PHP Manual

m_iscommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_iscommadelimited — Vérifie si la réponse est délimitée par virgule

Description

int m_iscommadelimited ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_initengine
m_maxconntimeout
Fonctions MCVE


Le temps maximal pendant lequel l'API tentera une connexion à MCVE

m_iscommadelimited
m_monitor
Fonctions MCVE
PHP Manual

m_maxconntimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_maxconntimeout — Le temps maximal pendant lequel l'API tentera une connexion à MCVE

Description

bool m_maxconntimeout ( resource $conn , int $secs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

secs

Valeurs de retour

m_iscommadelimited
m_monitor
Fonctions MCVE


Effectue une communication avec MCVE (envoi/réception de données) en mode non-bloquant

m_maxconntimeout
m_numcolumns
Fonctions MCVE
PHP Manual

m_monitor

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_monitor — Effectue une communication avec MCVE (envoi/réception de données) en mode non-bloquant

Description

int m_monitor ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

m_maxconntimeout
m_numcolumns
Fonctions MCVE


Nombre de colonnes retournées dans une réponse délimitée par virgule

m_monitor
m_numrows
Fonctions MCVE
PHP Manual

m_numcolumns

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numcolumns — Nombre de colonnes retournées dans une réponse délimitée par virgule

Description

int m_numcolumns ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_monitor
m_numrows
Fonctions MCVE


Nombre de lignes retournées dans une réponse délimitée par virgule

m_numcolumns
m_parsecommadelimited
Fonctions MCVE
PHP Manual

m_numrows

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_numrows — Nombre de lignes retournées dans une réponse délimitée par virgule

Description

int m_numrows ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_numcolumns
m_parsecommadelimited
Fonctions MCVE


Analyse la réponse délimitée par virgule permettant à m_getcell, etc. de fonctionner ensuite

m_numrows
m_responsekeys
Fonctions MCVE
PHP Manual

m_parsecommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_parsecommadelimited — Analyse la réponse délimitée par virgule permettant à m_getcell, etc. de fonctionner ensuite

Description

int m_parsecommadelimited ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_numrows
m_responsekeys
Fonctions MCVE


Retourne un tableau de chaînes de caractères qui représentent les clés pouvant être utilisées en tant que paramètres de réponse pour cette transaction

m_parsecommadelimited
m_responseparam
Fonctions MCVE
PHP Manual

m_responsekeys

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_responsekeys — Retourne un tableau de chaînes de caractères qui représentent les clés pouvant être utilisées en tant que paramètres de réponse pour cette transaction

Description

array m_responsekeys ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_parsecommadelimited
m_responseparam
Fonctions MCVE


Récupère un paramètre spécial de réponse

m_responsekeys
m_returnstatus
Fonctions MCVE
PHP Manual

m_responseparam

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_responseparam — Récupère un paramètre spécial de réponse

Description

string m_responseparam ( resource $conn , int $identifier , string $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

key

Valeurs de retour

m_responsekeys
m_returnstatus
Fonctions MCVE


Vérifie si la transaction fut complétée correctement

m_responseparam
m_setblocking
Fonctions MCVE
PHP Manual

m_returnstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_returnstatus — Vérifie si la transaction fut complétée correctement

Description

int m_returnstatus ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_responseparam
m_setblocking
Fonctions MCVE


Spécifie le mode bloquant/non-bloquant pour une connexion

m_returnstatus
m_setdropfile
Fonctions MCVE
PHP Manual

m_setblocking

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setblocking — Spécifie le mode bloquant/non-bloquant pour une connexion

Description

int m_setblocking ( resource $conn , int $tf )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

tf

Valeurs de retour

m_returnstatus
m_setdropfile
Fonctions MCVE


Spécifie la méthode de connexion à Drop-File

m_setblocking
m_setip
Fonctions MCVE
PHP Manual

m_setdropfile

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setdropfile — Spécifie la méthode de connexion à Drop-File

Description

int m_setdropfile ( resource $conn , string $directory )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

directory

Valeurs de retour

m_setblocking
m_setip
Fonctions MCVE


Spécifie la méthode de connexion à IP

m_setdropfile
m_setssl_cafile
Fonctions MCVE
PHP Manual

m_setip

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setip — Spécifie la méthode de connexion à IP

Description

int m_setip ( resource $conn , string $host , int $port )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

host

port

Valeurs de retour

m_setdropfile
m_setssl_cafile
Fonctions MCVE


Spécifie le fichier SSL CA (Certificate Authority) pour vérification du certificat du serveur

m_setip
m_setssl_files
Fonctions MCVE
PHP Manual

m_setssl_cafile

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_cafile — Spécifie le fichier SSL CA (Certificate Authority) pour vérification du certificat du serveur

Description

int m_setssl_cafile ( resource $conn , string $cafile )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

cafile

Valeurs de retour

m_setip
m_setssl_files
Fonctions MCVE


Spécifie les fichiers de clé de certificat et certifie si le serveur requiert la vérification du client par certificat

m_setssl_cafile
m_setssl
Fonctions MCVE
PHP Manual

m_setssl_files

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl_files — Spécifie les fichiers de clé de certificat et certifie si le serveur requiert la vérification du client par certificat

Description

int m_setssl_files ( resource $conn , string $sslkeyfile , string $sslcertfile )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

sslkeyfile

sslcertfile

Valeurs de retour

m_setssl_cafile
m_setssl
Fonctions MCVE


Spécifie la méthode de connexion à SSL

m_setssl_files
m_settimeout
Fonctions MCVE
PHP Manual

m_setssl

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_setssl — Spécifie la méthode de connexion à SSL

Description

int m_setssl ( resource $conn , string $host , int $port )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

host

port

Valeurs de retour

m_setssl_files
m_settimeout
Fonctions MCVE


Spécifie le temps maximal d'une transaction (par transaction)

m_setssl
m_sslcert_gen_hash
Fonctions MCVE
PHP Manual

m_settimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_settimeout — Spécifie le temps maximal d'une transaction (par transaction)

Description

int m_settimeout ( resource $conn , int $seconds )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

seconds

Valeurs de retour

m_setssl
m_sslcert_gen_hash
Fonctions MCVE


Génère une clé de hachage pour les vérifications de certificat de client SSL

m_settimeout
m_transactionssent
Fonctions MCVE
PHP Manual

m_sslcert_gen_hash

(PECL mcve >= 5.2.0)

m_sslcert_gen_hash — Génère une clé de hachage pour les vérifications de certificat de client SSL

Description

string m_sslcert_gen_hash ( string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filename

Valeurs de retour

m_settimeout
m_transactionssent
Fonctions MCVE


Vérifie si le tampon de sortie est vide

m_sslcert_gen_hash
m_transinqueue
Fonctions MCVE
PHP Manual

m_transactionssent

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transactionssent — Vérifie si le tampon de sortie est vide

Description

int m_transactionssent ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

m_sslcert_gen_hash
m_transinqueue
Fonctions MCVE


Nombre de transactions dans la file de client

m_transactionssent
m_transkeyval
Fonctions MCVE
PHP Manual

m_transinqueue

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transinqueue — Nombre de transactions dans la file de client

Description

int m_transinqueue ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

m_transactionssent
m_transkeyval
Fonctions MCVE


Ajoute une paire clé/valeur à une transaction. Remplace transparam() dépréciée

m_transinqueue
m_transnew
Fonctions MCVE
PHP Manual

m_transkeyval

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_transkeyval — Ajoute une paire clé/valeur à une transaction. Remplace transparam() dépréciée

Description

int m_transkeyval ( resource $conn , int $identifier , string $key , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

key

value

Valeurs de retour

m_transinqueue
m_transnew
Fonctions MCVE


Démarre une nouvelle transaction

m_transkeyval
m_transsend
Fonctions MCVE
PHP Manual

m_transnew

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transnew — Démarre une nouvelle transaction

Description

int m_transnew ( resource $conn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

Valeurs de retour

m_transkeyval
m_transsend
Fonctions MCVE


Finalise et envoie la transaction

m_transnew
m_uwait
Fonctions MCVE
PHP Manual

m_transsend

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_transsend — Finalise et envoie la transaction

Description

int m_transsend ( resource $conn , int $identifier )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

identifier

Valeurs de retour

m_transnew
m_uwait
Fonctions MCVE


Attend x micro secondes

m_transsend
m_validateidentifier
Fonctions MCVE
PHP Manual

m_uwait

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_uwait — Attend x micro secondes

Description

int m_uwait ( int $microsecs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

microsecs

Valeurs de retour

m_transsend
m_validateidentifier
Fonctions MCVE


Valide ou non l'identifiant passé pour n'importe quelle transaction à laquelle il est fourni

m_uwait
m_verifyconnection
Fonctions MCVE
PHP Manual

m_validateidentifier

(PHP 5 >= 5.0.5, PECL mcve >= 1.0.0)

m_validateidentifier — Valide ou non l'identifiant passé pour n'importe quelle transaction à laquelle il est fourni

Description

int m_validateidentifier ( resource $conn , int $tf )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

tf

Valeurs de retour

m_uwait
m_verifyconnection
Fonctions MCVE


Effectue un ping ou non lors de la connexion pour la vérifier

m_validateidentifier
m_verifysslcert
Fonctions MCVE
PHP Manual

m_verifyconnection

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifyconnection — Effectue un ping ou non lors de la connexion pour la vérifier

Description

bool m_verifyconnection ( resource $conn , int $tf )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

tf

Valeurs de retour

m_validateidentifier
m_verifysslcert
Fonctions MCVE


Active ou non la vérification du certificat SSL du serveur

m_verifyconnection
SPPLUS
Fonctions MCVE
PHP Manual

m_verifysslcert

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve >= 1.0.0)

m_verifysslcert — Active ou non la vérification du certificat SSL du serveur

Description

bool m_verifysslcert ( resource $conn , int $tf )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

conn

Une ressource MCVE_CONN retournée par la fonction m_initengine().

tf

Valeurs de retour

m_verifyconnection
SPPLUS
Fonctions MCVE


Système de paiement SPPLUS

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions SPPLUS
    • calcul_hmac — Obtient la clé hmac (nécessite 8 arguments)
    • calculhmac — Obtient la clé hmac (nécessite 2 arguments)
    • nthmac — Obtient la clé nthmac (nécessite 2 arguments)
    • signeurlpaiement — Obtient l'URL de paiement (nécessite 2 arguments)
m_verifysslcert
Introduction
Traitement des cartes de crédit


Introduction

Cette extension vous permet d'utiliser le » système de paiement SPPLUS de la Caisse d'Épargne (une banque française).

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Reportez-vous aux fichiers README se trouvant dans le paquet kit_php pour plus de détails concernant la configuration.

SPPLUS
Installation/Configuration
SPPLUS


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SPPLUS


Pré-requis

Note: Vous devez avoir d'installer au moins PHP 4.1.0 et SPPLUS v.3

Note: Vous devriez avoir besoin de récupérer le nouveau kit_php pour spplus. Contactez le mainteneur si vous n'arrivez pas à le récupérer.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/spplus.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Note: PHP 4.3.0 ou supérieur est nécessaire pour que la compression fonctionne.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions SPPLUS
SPPLUS


Fonctions SPPLUS

Sommaire

  • calcul_hmac — Obtient la clé hmac (nécessite 8 arguments)
  • calculhmac — Obtient la clé hmac (nécessite 2 arguments)
  • nthmac — Obtient la clé nthmac (nécessite 2 arguments)
  • signeurlpaiement — Obtient l'URL de paiement (nécessite 2 arguments)
Constantes pré-définies
calcul_hmac
SPPLUS


Obtient la clé hmac (nécessite 8 arguments)

Fonctions SPPLUS
calculhmac
Fonctions SPPLUS
PHP Manual

calcul_hmac

(PECL spplus >= 1.0.0)

calcul_hmac — Obtient la clé hmac (nécessite 8 arguments)

Description

string calcul_hmac ( string $clent , string $siretcode , string $price , string $reference , string $validity , string $taxation , string $devise , string $language )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Fonctions SPPLUS
calculhmac
Fonctions SPPLUS


Obtient la clé hmac (nécessite 2 arguments)

calcul_hmac
nthmac
Fonctions SPPLUS
PHP Manual

calculhmac

(PECL spplus >= 1.0.0)

calculhmac — Obtient la clé hmac (nécessite 2 arguments)

Description

string calculhmac ( string $clent , string $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

calcul_hmac
nthmac
Fonctions SPPLUS


Obtient la clé nthmac (nécessite 2 arguments)

calculhmac
signeurlpaiement
Fonctions SPPLUS
PHP Manual

nthmac

(PECL spplus >= 1.0.0)

nthmac — Obtient la clé nthmac (nécessite 2 arguments)

Description

string nthmac ( string $clent , string $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

calculhmac
signeurlpaiement
Fonctions SPPLUS


Obtient l'URL de paiement (nécessite 2 arguments)

nthmac
Extensions sur la cryptographie
Fonctions SPPLUS
PHP Manual

signeurlpaiement

(PECL spplus >= 1.0.0)

signeurlpaiement — Obtient l'URL de paiement (nécessite 2 arguments)

Description

string nthmac ( string $clent , string $data )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

nthmac
Extensions sur la cryptographie
Fonctions SPPLUS


Extensions sur la cryptographie

  • Crack — Cracklib
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Crack
  • Hash — HASH
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Hash
  • Mcrypt
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Modes de chiffrement Mcrypt
    • Exemples
    • Fonctions Mcrypt
  • Mhash
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Mhash
  • OpenSSL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Paramètres clés/certificats
    • Vérification de certificats
    • Fonctions OpenSSL
signeurlpaiement
Crack
Référence des fonctions


Cracklib

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Crack
    • crack_check — Effectue une vérification de mot de passe
    • crack_closedict — Ferme un dictionnaire CrackLib
    • crack_getlastmessage — Retourne le message de diagnostic
    • crack_opendict — Ouvre un nouveau dictionnaire CrackLib
Extensions sur la cryptographie
Introduction
Extensions sur la cryptographie


Introduction

Ces fonctions vous permettent d'utiliser la bibliothèque CrackLib afin de tester la solidité d'un mot de passe. Cette solidité est testée au regard de la longueur du mot de passe, de l'utilisation de majuscule/minuscule, et en utilisant le dictionnaire CrackLib. CrackLib fournit également des messages de diagnostique très utiles qui vous aideront dans la construction d'un mot de passe solide.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

Crack
Installation/Configuration
Crack


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Crack


Pré-requis

Pour plus d'informations sur CrackLib, consultez la page suivante : » http://sourceforge.net/projects/cracklib.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/crack.

En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support Crack en utilisant l'option de configuration --with-crack[=DIR].

Les utilisateurs de Windows doivent activer la bibliothèque php_crack.dll dans le php.ini pour pouvoir utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour crack
Nom | Défaut | Modifiable | Historique
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM en crack <= 0.2. Disponible depuis PHP 4.0.5. Supprimé depuis PHP 5.0.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Types de ressources

L'extension CrackLib définit une ressource de dictionnaire, retournée par la fonction crack_opendict().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Crack


Exemples

Cet exemple montre comment ouvrir un dictionnaire CrackLib, tester un mot de passe, récupérer les messages de diagnostique, et enfin, fermer le dictionnaire.

Exemple #1 Exemple avec CrackLib

<?php
// Ouvre un dictionnaire CrackLib
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die('Impossible d\'ouvrir le dictionnaire CrackLib');

// Effectue une vérification de mot de passe
$check = crack_check($dictionary, 'gx9A2s0x');

// Récupère les messages
$diag = crack_getlastmessage();
echo $diag; // 'strong password'

// Ferme le dictionnaire
crack_closedict($dictionary);
?>

Note: Si crack_check() retourne TRUE, crack_getlastmessage() devrait retourner 'strong password'.

Constantes pré-définies
Fonctions Crack
Crack


Fonctions Crack

Sommaire

  • crack_check — Effectue une vérification de mot de passe
  • crack_closedict — Ferme un dictionnaire CrackLib
  • crack_getlastmessage — Retourne le message de diagnostic
  • crack_opendict — Ouvre un nouveau dictionnaire CrackLib
Exemples
crack_check
Crack


Effectue une vérification de mot de passe

Fonctions Crack
crack_closedict
Fonctions Crack
PHP Manual

crack_check

(PECL crack >= 0.1)

crack_check — Effectue une vérification de mot de passe

Description

bool crack_check ( resource $dictionary , string $password )
bool crack_check ( string $password )

crack_check() effectue une vérification du mot de passe donné sur le dictionnaire spécifié.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

dictionary

Le dictionnaire. Si aucun n'est spécifié, le dernier dictionnaire ouvert sera utilisé.

password

Le mot de passe à tester.

Valeurs de retour

Retourne TRUE si password est solide, ou FALSE sinon.

Fonctions Crack
crack_closedict
Fonctions Crack


Ferme un dictionnaire CrackLib

crack_check
crack_getlastmessage
Fonctions Crack
PHP Manual

crack_closedict

(PECL crack >= 0.1)

crack_closedict — Ferme un dictionnaire CrackLib

Description

bool crack_closedict ([ resource $dictionary ] )

crack_closedict() ferme le dictionnaire représenté par l'identifiant dictionary.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

dictionary

Le dictionnaire à fermer. Si aucun n'est spécifié, le dictionnaire courant sera fermé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • crack_opendict() - Ouvre un nouveau dictionnaire CrackLib

crack_check
crack_getlastmessage
Fonctions Crack


Retourne le message de diagnostic

crack_closedict
crack_opendict
Fonctions Crack
PHP Manual

crack_getlastmessage

(PECL crack >= 0.1)

crack_getlastmessage — Retourne le message de diagnostic

Description

string crack_getlastmessage ( void )

crack_getlastmessage() retourne le message de diagnostic depuis la dernière vérification.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Valeurs de retour

Le message depuis la dernière vérification ou FALSE s'il n'y eu aucune vérification.

Le message retourné est l'un des suivants :

  • it's WAY too short (Le mot de passe est beaucoup trop court)
  • it is too short (Le mot de passe est trop court)
  • it does not contain enough DIFFERENT characters (Le mot de passe ne contient pas assez de caractères)
  • it is all whitespace (Le mot de passe ne contient que des mots de passe)
  • it is too simplistic/systematic (Le mot de passe est trop simple)
  • it looks like a National Insurance number. (Le mot de passe ressemble à un numéro d'assurance nationale.)
  • it is based on a dictionary word (Le mot de passe est basé sur un mot du dictionnaire)
  • it is based on a (reversed) dictionary word (Le mot de passe est basé sur un mot inversé du dictionnaire)
  • strong password (Le mot de passe est solide)

Voir aussi

  • crack_check() - Effectue une vérification de mot de passe

crack_closedict
crack_opendict
Fonctions Crack


Ouvre un nouveau dictionnaire CrackLib

crack_getlastmessage
Hash
Fonctions Crack
PHP Manual

crack_opendict

(PECL crack >= 0.1)

crack_opendict — Ouvre un nouveau dictionnaire CrackLib

Description

resource crack_opendict ( string $dictionary )

crack_opendict() ouvre le dictionnaire CrackLib dictionary pour être utilisé avec la fonction crack_check().

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Note: Un seul dictionnaire peut être ouvert à la fois.

Liste de paramètres

dictionary

Le chemin vers le dictionnaire CrackLib.

Valeurs de retour

Retourne un identifiant de ressource de dictionnaire en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • crack_check() - Effectue une vérification de mot de passe
  • crack_closedict() - Ferme un dictionnaire CrackLib

crack_getlastmessage
Hash
Fonctions Crack


HASH

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Hash
    • hash_algos — Retourne une liste des algorithmes de hachage enregistrés
    • hash_copy — Copie un contexte de hashage
    • hash_file — Génère une valeur de hachage en utilisant le contenu d'un fichier donné
    • hash_final — Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique
    • hash_hmac_file — Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné
    • hash_hmac — Génère une valeur de clé de hachage en utilisant la méthode HMAC
    • hash_init — Initialise un contexte de hachage incrémental
    • hash_update_file — Ajoute des données dans un contexte de hachage actif provenant d'un fichier
    • hash_update_stream — Ajoute des données dans un contexte de hachage actif d'un flux ouvert
    • hash_update — Ajoute des données dans le contexte de hachage actif
    • hash — Génère une valeur de hachage (empreinte numérique)
crack_opendict
Introduction
Extensions sur la cryptographie


Introduction

Moteur d'empreinte numérique. Permet le traitement direct ou incrémental de message de grandeur arbitraire en utilisant une variété d'algorithmes.

Hash
Installation/Configuration
Hash


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Hash


Pré-requis

L'extension Hash ne nécessite aucune bibliothèque externe et est activée par défaut depuis PHP 5.1.2. Elle doit être explicitement désactivée au moment de la compilation avec l'option --disable-hash. Pour les anciennes versions de PHP, vous devez installer le » module PECL pour utiliser l'extension Hash.

Installation/Configuration
Installation
Installation/Configuration


Types de ressources

Cette extension définit une ressource Hash de contexte, retournée par la fonction hash_init().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

HASH_HMAC (entier)
Drapeau optionnel pour hash_init(). Indique que l'algorithme de clé HMAC doit être appliqué au contexte courant de hachage.
Types de ressources
Fonctions Hash
Hash


Fonctions Hash

Sommaire

  • hash_algos — Retourne une liste des algorithmes de hachage enregistrés
  • hash_copy — Copie un contexte de hashage
  • hash_file — Génère une valeur de hachage en utilisant le contenu d'un fichier donné
  • hash_final — Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique
  • hash_hmac_file — Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné
  • hash_hmac — Génère une valeur de clé de hachage en utilisant la méthode HMAC
  • hash_init — Initialise un contexte de hachage incrémental
  • hash_update_file — Ajoute des données dans un contexte de hachage actif provenant d'un fichier
  • hash_update_stream — Ajoute des données dans un contexte de hachage actif d'un flux ouvert
  • hash_update — Ajoute des données dans le contexte de hachage actif
  • hash — Génère une valeur de hachage (empreinte numérique)
Constantes pré-définies
hash_algos
Hash


Retourne une liste des algorithmes de hachage enregistrés

Fonctions Hash
hash_copy
Fonctions Hash
PHP Manual

hash_algos

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_algos — Retourne une liste des algorithmes de hachage enregistrés

Description

array hash_algos ( void )

Valeurs de retour

Retourne un tableau indexé numériquement contenant la liste des algorithmes de hachage supportés.

Exemples

Exemple #1 Exemple avec hash_algos()

Dans PHP 5.1.2, hash_algos() retournera la liste d'algorithmes suivante :

<?php
print_r(hash_algos());
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => md4
    [1] => md5
    [2] => sha1
    [3] => sha256
    [4] => sha384
    [5] => sha512
    [6] => ripemd128
    [7] => ripemd160
    [8] => whirlpool
    [9] => tiger128,3
    [10] => tiger160,3
    [11] => tiger192,3
    [12] => tiger128,4
    [13] => tiger160,4
    [14] => tiger192,4
    [15] => snefru
    [16] => gost
    [17] => adler32
    [18] => crc32
    [19] => crc32b
    [20] => haval128,3
    [21] => haval160,3
    [22] => haval192,3
    [23] => haval224,3
    [24] => haval256,3
    [25] => haval128,4
    [26] => haval160,4
    [27] => haval192,4
    [28] => haval224,4
    [29] => haval256,4
    [30] => haval128,5
    [31] => haval160,5
    [32] => haval192,5
    [33] => haval224,5
    [34] => haval256,5
)

Fonctions Hash
hash_copy
Fonctions Hash


Copie un contexte de hashage

hash_algos
hash_file
Fonctions Hash
PHP Manual

hash_copy

(PHP 5 >= 5.3.0)

hash_copy — Copie un contexte de hashage

Description

resource hash_copy ( resource $context )

Liste de paramètres

context

Contexte de hashage, retourné par la fonction hash_init().

Valeurs de retour

Retourne une copie du contexte de hashage.

Exemples

Exemple #1 Exemple avec hash_copy()

<?php
$context = hash_init("md5");
hash_update($context, "data");

/* copie le contexte afin de pouvoir continuer à l'utiliser */
$copy_context = hash_copy($context);

echo hash_final($context), "\n";

hash_update($copy_context, "data");
echo hash_final($copy_context), "\n";
?>

L'exemple ci-dessus va afficher :

8d777f385d3dfec8815d20f7496026dc
511ae0b1c13f95e5f08f1a0dd3da3d93

hash_algos
hash_file
Fonctions Hash


Génère une valeur de hachage en utilisant le contenu d'un fichier donné

hash_copy
hash_final
Fonctions Hash
PHP Manual

hash_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_file — Génère une valeur de hachage en utilisant le contenu d'un fichier donné

Description

string hash_file ( string $algo , string $filename [, bool $raw_output = false ] )

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.)

filename

URL indiquant l'emplacement du fichier qui sera haché; Supporte les enveloppes fopen().

raw_output

Lorsqu'il vaut TRUE, la sortie sera des données brutes binaires. Lorsqu'il vaut FALSE, la sortie sera des chiffres hexadécimaux en minuscule.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que raw_output soit fixé à TRUE. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée.

Exemples

Exemple #1 Exemple avec hash_file()

<?php
/* Crée un fichier pour calculer son empreinte numérique */
file_put_contents('exemple.txt', 'Le rapide goupil brun sauta par dessus le chien paresseux.');

echo hash_file('md5', 'exemple.txt');
?>

L'exemple ci-dessus va afficher :

2dfe052a8caca3db869ede6ae544cd5d

Voir aussi

  • hash() - Génère une valeur de hachage (empreinte numérique)
  • hash_hmac_file() - Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné
  • hash_update_file() - Ajoute des données dans un contexte de hachage actif provenant d'un fichier
  • md5_file() - Calcule le md5 d'un fichier
  • sha1_file() - Calcule le sha1 d'un fichier

hash_copy
hash_final
Fonctions Hash


Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique

hash_file
hash_hmac_file
Fonctions Hash
PHP Manual

hash_final

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_final — Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique

Description

string hash_final ( resource $context [, bool $raw_output = false ] )

Liste de paramètres

context

Contexte de hachage retourné par hash_init().

raw_output

Lorsqu'il vaut TRUE, la sortie sera des données brutes binaires. Lorsqu'il vaut FALSE, la sortie sera des chiffres hexadécimaux en minuscule.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que raw_output soit fixé à TRUE. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée.

Exemples

Exemple #1 Exemple avec hash_final()

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'Le rapide goupil brun sauta par dessus le chien paresseux.');
echo hash_final($ctx);
?>

L'exemple ci-dessus va afficher :

7d36f32a7c271e74a44d759b89d19bbaf1b53904

Voir aussi

  • hash_init() - Initialise un contexte de hachage incrémental
  • hash_update() - Ajoute des données dans le contexte de hachage actif
  • hash_update_stream() - Ajoute des données dans un contexte de hachage actif d'un flux ouvert
  • hash_update_file() - Ajoute des données dans un contexte de hachage actif provenant d'un fichier

hash_file
hash_hmac_file
Fonctions Hash


Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné

hash_final
hash_hmac
Fonctions Hash
PHP Manual

hash_hmac_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac_file — Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné

Description

string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output = false ] )

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.) Voir la documentation sur la fonction hash_algos() pour connaitre la liste des algorithmes supportés.

filename

URL indiquant l'emplacement du fichier qui sera haché; Supporte les enveloppes fopen().

key

Clé secrète partagée utilisée pour générer la variance HMAC de l'empreinte numérique.

raw_output

Lorsqu'il vaut TRUE, la sortie sera des données brutes binaires. Lorsqu'il vaut FALSE, la sortie sera des chiffres hexadécimaux en minuscule.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que raw_output soit fixé à TRUE. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée.

Exemples

Exemple #1 Exemple avec hash_hmac_file()

<?php
/* Crée un fichier pour calculer son empreinte numérique */
file_put_contents('exemple.txt', 'Le rapide goupil brun sauta par dessus le chien paresseux.');

echo hash_hmac_file('md5', 'exemple.txt', 'secret');
?>

L'exemple ci-dessus va afficher :

0d68e079ae8a5d364df207637e4f6860

Voir aussi

  • hash_algos() - Retourne une liste des algorithmes de hachage enregistrés
  • hash_hmac() - Génère une valeur de clé de hachage en utilisant la méthode HMAC
  • hash_file() - Génère une valeur de hachage en utilisant le contenu d'un fichier donné

hash_final
hash_hmac
Fonctions Hash


Génère une valeur de clé de hachage en utilisant la méthode HMAC

hash_hmac_file
hash_init
Fonctions Hash
PHP Manual

hash_hmac

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac — Génère une valeur de clé de hachage en utilisant la méthode HMAC

Description

string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] )

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.). Voir la documentation de la fonction hash_algos() pour une liste des algorithmes supportés.

data

Le message qui sera haché.

key

Clé secrète partagée utilisée pour générer la variance HMAC de l'empreinte numérique.

raw_output

Lorsqu'il vaut TRUE, la sortie sera des données brutes binaires. Lorsqu'il vaut FALSE, la sortie sera des chiffres hexadécimaux en minuscule.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que raw_output soit fixé à TRUE. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée.

Exemples

Exemple #1 Exemple avec hash_hmac()

<?php
echo hash_hmac('ripemd160', 'Le rapide goupil brun sauta par dessus le chien paresseux.', 'secret');
?>

L'exemple ci-dessus va afficher :

a6f41314c7a3482836268cf504b066e08216e40f

Voir aussi

  • hash() - Génère une valeur de hachage (empreinte numérique)
  • hash_algos() - Retourne une liste des algorithmes de hachage enregistrés
  • hash_init() - Initialise un contexte de hachage incrémental
  • hash_hmac_file() - Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné

hash_hmac_file
hash_init
Fonctions Hash


Initialise un contexte de hachage incrémental

hash_hmac
hash_update_file
Fonctions Hash
PHP Manual

hash_init

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_init — Initialise un contexte de hachage incrémental

Description

resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] )

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.)

options

Configurations optionnelles pour la génération du hachage, supporte actuellement seulement une option : HASH_HMAC. Lorsque cette option est spécifiée, le paramètre key doit être spécifié.

key

Lorsque HASH_HMAC est spécifiée pour options, une clé secrète partagée qui sera utilisée avec la méthode de hachage HMAC doit être fournie dans ce paramètre.

Valeurs de retour

Retourne une ressource de Contexte de Hachage pour utilisation avec hash_update(), hash_update_stream(), hash_update_file() et hash_final().

Exemples

Exemple #1 Exemple de hashage incrémental

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'Le rapide goupil brun ');
hash_update($ctx, 'sauta par dessus le chien paresseux.');
echo hash_final($ctx);
?>

L'exemple ci-dessus va afficher :

2dfe052a8caca3db869ede6ae544cd5d

Voir aussi

  • hash() - Génère une valeur de hachage (empreinte numérique)
  • hash_file() - Génère une valeur de hachage en utilisant le contenu d'un fichier donné
  • hash_hmac() - Génère une valeur de clé de hachage en utilisant la méthode HMAC
  • hash_hmac_file() - Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné

hash_hmac
hash_update_file
Fonctions Hash


Ajoute des données dans un contexte de hachage actif provenant d'un fichier

hash_init
hash_update_stream
Fonctions Hash
PHP Manual

hash_update_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_file — Ajoute des données dans un contexte de hachage actif provenant d'un fichier

Description

bool hash_update_file ( resource $context , string $filename [, resource $context = NULL ] )

Liste de paramètres

context

Contexte de hachage retourné par hash_init().

filename

URL indiquant l'emplacement du fichier qui sera haché; Supporte les enveloppes fopen().

context

Contexte de flux retourné par stream_context_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hash_init() - Initialise un contexte de hachage incrémental
  • hash_update() - Ajoute des données dans le contexte de hachage actif
  • hash_update_stream() - Ajoute des données dans un contexte de hachage actif d'un flux ouvert
  • hash_final() - Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique
  • hash() - Génère une valeur de hachage (empreinte numérique)
  • hash_file() - Génère une valeur de hachage en utilisant le contenu d'un fichier donné

hash_init
hash_update_stream
Fonctions Hash


Ajoute des données dans un contexte de hachage actif d'un flux ouvert

hash_update_file
hash_update
Fonctions Hash
PHP Manual

hash_update_stream

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_stream — Ajoute des données dans un contexte de hachage actif d'un flux ouvert

Description

int hash_update_stream ( resource $context , resource $handle [, int $length = -1 ] )

Liste de paramètres

context

Contexte de hachage retourné par hash_init().

handle

Identifiant de fichier ouvert comme retourné par n'importe quelle fonction de création de flux.

length

Taille maximale de caractères à copier de handle dans le contexte de hachage.

Valeurs de retour

Nombre actuel d'octets ajoutés au contexte de hachage de handle.

Exemples

Exemple #1 Exemple avec hash_update_stream()

<?php
$fp = tmpfile();
fwrite($fp, 'Le rapide goupil brun sauta par dessus le chien paresseux.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

L'exemple ci-dessus va afficher :

2dfe052a8caca3db869ede6ae544cd5d

Voir aussi

  • hash_init() - Initialise un contexte de hachage incrémental
  • hash_update() - Ajoute des données dans le contexte de hachage actif
  • hash_final() - Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique
  • hash() - Génère une valeur de hachage (empreinte numérique)
  • hash_file() - Génère une valeur de hachage en utilisant le contenu d'un fichier donné

hash_update_file
hash_update
Fonctions Hash


Ajoute des données dans le contexte de hachage actif

hash_update_stream
hash
Fonctions Hash
PHP Manual

hash_update

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update — Ajoute des données dans le contexte de hachage actif

Description

bool hash_update ( resource $context , string $data )

Liste de paramètres

context

Contexte de hachage retourné par hash_init().

data

Message qui sera inclut dans l'empreinte de hachage.

Valeurs de retour

Retourne TRUE.

Voir aussi

  • hash_init() - Initialise un contexte de hachage incrémental
  • hash_update_file() - Ajoute des données dans un contexte de hachage actif provenant d'un fichier
  • hash_update_stream() - Ajoute des données dans un contexte de hachage actif d'un flux ouvert
  • hash_final() - Finalise un hachage incrémental et retourne le résultat de l'empreinte numérique

hash_update_stream
hash
Fonctions Hash


Génère une valeur de hachage (empreinte numérique)

hash_update
Mcrypt
Fonctions Hash
PHP Manual

hash

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash — Génère une valeur de hachage (empreinte numérique)

Description

string hash ( string $algo , string $data [, bool $raw_output = false ] )

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.)

data

Message à être haché.

raw_output

Lorsqu'il vaut TRUE, la sortie sera des données brutes binaires. Lorsqu'il vaut FALSE, la sortie sera des chiffres hexadécimaux en minuscule.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que raw_output soit fixé à TRUE. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée.

Exemples

Exemple #1 Exemple avec hash()

<?php
echo hash('ripemd160', 'Le rapide goupil brun sauta par dessus le chien paresseux.');
?>

L'exemple ci-dessus va afficher :

cdb8426cb020896cea1d040e62a0f8cf9f5b4226

Voir aussi

  • hash_file() - Génère une valeur de hachage en utilisant le contenu d'un fichier donné
  • hash_hmac() - Génère une valeur de clé de hachage en utilisant la méthode HMAC
  • hash_init() - Initialise un contexte de hachage incrémental
  • md5() - Calcule le md5 d'une chaîne
  • sha1() - Calcule le sha1 d'une chaîne de caractères

hash_update
Mcrypt
Fonctions Hash


Mcrypt

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Modes de chiffrement Mcrypt
  • Exemples
  • Fonctions Mcrypt
    • mcrypt_cbc — Chiffre/déchiffre des données en mode CBC
    • mcrypt_cfb — Chiffre/déchiffre des données en mode CFB
    • mcrypt_create_iv — Crée un vecteur d'initialisation à partir d'une source aléatoire
    • mcrypt_decrypt — Déchiffre un texte avec les paramètres donnés
    • mcrypt_ecb — Obsolète : Chiffre/déchiffre des données en mode ECB
    • mcrypt_enc_get_algorithms_name — Retourne le nom de l'algorithme de chiffrement
    • mcrypt_enc_get_block_size — Retourne la taille du bloc d'un algorithme
    • mcrypt_enc_get_iv_size — Retourne la taille du VI d'un algorithme
    • mcrypt_enc_get_key_size — Retourne la taille maximale de la clé pour un mode
    • mcrypt_enc_get_modes_name — Retourne le nom du mode
    • mcrypt_enc_get_supported_key_sizes — Retourne un tableau contenant les tailles de clés acceptées par un algorithme
    • mcrypt_enc_is_block_algorithm_mode — Teste le chiffrement par blocs d'un mode
    • mcrypt_enc_is_block_algorithm — Teste le chiffrement par blocs d'un algorithme
    • mcrypt_enc_is_block_mode — Teste si le mode retourne les données par blocs
    • mcrypt_enc_self_test — Teste un module ouvert
    • mcrypt_encrypt — Chiffre un texte
    • mcrypt_generic_deinit — Prépare le module pour le déchargement
    • mcrypt_generic_end — Termine un chiffrement
    • mcrypt_generic_init — Initialise tous les buffers nécessaires
    • mcrypt_generic — Chiffre les données
    • mcrypt_get_block_size — Retourne la taille de blocs d'un chiffrement
    • mcrypt_get_cipher_name — Lit le nom du chiffrement utilisé
    • mcrypt_get_iv_size — Retourne la taille du VI utilisé par un couple chiffrement/mode
    • mcrypt_get_key_size — Retourne la taille de la clé d'un chiffrement
    • mcrypt_list_algorithms — Liste tous les algorithmes de chiffrement supportés
    • mcrypt_list_modes — Liste tous les modes de chiffrement supportés
    • mcrypt_module_close — Décharge le module de chiffrement
    • mcrypt_module_get_algo_block_size — Retourne la taille de blocs d'un algorithme
    • mcrypt_module_get_algo_key_size — Retourne la taille maximale de clé
    • mcrypt_module_get_supported_key_sizes — Retourne un tableau contenant les tailles de clés supportées par l'algorithme ouvert
    • mcrypt_module_is_block_algorithm_mode — Indique si un mode fonctionne par blocs
    • mcrypt_module_is_block_algorithm — Indique si un algorithme fonctionne par blocs
    • mcrypt_module_is_block_mode — Indique si un mode travaille par blocs
    • mcrypt_module_open — Ouvre le module de l'algorithme et du mode à utiliser
    • mcrypt_module_self_test — Teste un mode
    • mcrypt_ofb — Chiffre/déchiffre des données en mode OFB
    • mdecrypt_generic — Déchiffre les données
hash
Introduction
Extensions sur la cryptographie


Introduction

Ces fonctions permettent d'accéder à la bibliothèque mcrypt, qui dispose d'une grande variété d'algorithmes de chiffrement, tels DES, TripleDES, Blowfish (par défaut), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 et GOST en modes CBC, OFB, CFB et ECB. De plus, elles acceptent aussi RC6 et IDEA qui sont considérés comme "non-libres". CFB/OFB est sur 8bit par défaut.

Mcrypt
Installation/Configuration
Mcrypt


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mcrypt


Pré-requis

Ces fonctions utilisent » mcrypt. Pour utiliser cette bibliothèque, téléchargez le fichier libmcrypt-x.x.tar.gz sur » http://mcrypt.sourceforge.net/ et suivez les instructions d'installation fournies. Les utilisateurs Windows trouveront toutes les bibliothèques nécessaires sur » http://files.edin.dk/php/win32/mcrypt/.

Depuis PHP 5.0.0, vous avez besoin de la version 2.5.6 ou suivant de la bibliothèque libmcrypt.

Si vous compilez PHP avec la bibliothèque libmcrypt 2.4.x, les algorithmes suivants sont supportés : "CAST", "LOKI97", "RIJNDAEL", "SAFERPLUS", "SERPENT" ainsi que les chiffrements suivants : "ENIGMA" (chiffrement), "PANAMA", "RC4" et "WAKE". Avec libmcrypt 2.4.x un autre mode de chiffrement est disponible : "nOFB".

Installation/Configuration
Installation
Installation/Configuration


Installation

Vous devez compiler PHP avec l'option --with-mcrypt=[DIR] pour activer cette extension. DIR est le dossier d'installation de mcrypt. Assurez-vous de compiler libmcrypt avec l'option --disable-posix-threads.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration mcrypt
Nom | Défaut | Modifiable | Historique
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Types de ressources

mcrypt_module_open() retourne un pointeur de chiffrement.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Mcrypt peut opérer en 4 modes de chiffrement (CBC, OFB, CFB, et ECB). Si vous utilisez libmcrypt-2.4.x ou plus récent, les fonctions peuvent aussi opérer en mode nOFB et en mode STREAM. Nous allons présenter la technique d'utilisation de ces modes. Pour plus de références et de détails, reportez-vous au livre suivant : Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) est prévu pour des données aléatoires, telles que des clés. Comme les données sont peu nombreuses et aléatoires, les inconvénients de l'ECB ont ici un effet négatif favorable.
  • MCRYPT_MODE_CBC (cipher block chaining) est particulièrement pratique avec les fichiers dont la sécurité ECB n'est pas suffisante.
  • MCRYPT_MODE_CFB (cipher feedback) est la meilleure méthode pour chiffrer des flots d'octets, quand les octets doivent être chiffrés un par un.
  • MCRYPT_MODE_OFB (output feedback, in 8bit) est comparable à CFB, mais peut être utilisé lorsque des erreurs ne doivent pas être propagées.
  • MCRYPT_MODE_NOFB (output feedback, in nbit) est comparable à OFB, mais plus sûr, car il opère avec la taille de blocs de l'algorithme.
  • MCRYPT_MODE_STREAM est un mode supplémentaire, pour permettre l'utilisation d'algorithmes tels "WAKE" ou "RC4".

Voici quelques autres modes et méthodes de compression :

MCRYPT_ENCRYPT (entier)
MCRYPT_DECRYPT (entier)
MCRYPT_DEV_RANDOM (entier)
MCRYPT_DEV_URANDOM (entier)
MCRYPT_RAND (entier)

Types de ressources
Modes de chiffrement Mcrypt
Mcrypt


Modes de chiffrement Mcrypt

Voici une liste non exhaustive des modes de chiffrement de l'extension mcrypt. Pour disposer d'une liste complète des chiffrements supportés, voyez les définitions dans le fichier mcrypt.h. La règle générale avec l'API mcrypt-2.2.x API est que vous pouvez accéder au mode de chiffrement depuis PHP avec la constante MCRYPT_ciphername. Avec la bibliothèque libmcrypt-2.4.x et libmcrypt-2.5.x, ces constantes fonctionnent toujours, mais il est possible de spécifier le nom du chiffrement dans une chaîne, lors de l'appel à mcrypt_module_open().

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x uniquement)
  • MCRYPT_ARCFOUR (libmcrypt > 2.4.x uniquement)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (libmcrypt 2.2.x uniquement)
  • MCRYPT_ENIGMA (libmcrypt > 2.4.x uniquement, alias de MCRYPT_CRYPT)
  • MCRYPT_GOST
  • MCRYPT_IDEA (non libre)
  • MCRYPT_LOKI97 (libmcrypt > 2.4.x uniquement)
  • MCRYPT_MARS (libmcrypt > 2.4.x uniquement, non libre)
  • MCRYPT_PANAMA (libmcrypt > 2.4.x uniquement)
  • MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x uniquement)
  • MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x uniquement)
  • MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x uniquement)
  • MCRYPT_RC2
  • MCRYPT_RC4 (libmcrypt 2.2.x uniquement)
  • MCRYPT_RC6 (libmcrypt > 2.4.x uniquement)
  • MCRYPT_RC6_128 (libmcrypt 2.2.x uniquement)
  • MCRYPT_RC6_192 (libmcrypt 2.2.x uniquement)
  • MCRYPT_RC6_256 (libmcrypt 2.2.x uniquement)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (libmcrypt > 2.4.x uniquement)
  • MCRYPT_SERPENT(libmcrypt > 2.4.x uniquement)
  • MCRYPT_SERPENT_128 (libmcrypt 2.2.x uniquement)
  • MCRYPT_SERPENT_192 (libmcrypt 2.2.x uniquement)
  • MCRYPT_SERPENT_256 (libmcrypt 2.2.x uniquement)
  • MCRYPT_SKIPJACK (libmcrypt > 2.4.x uniquement)
  • MCRYPT_TEAN (libmcrypt 2.2.x uniquement)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (libmcrypt > 2.4.x uniquement)
  • MCRYPT_TWOFISH (pour les anciennes versions de mcrypt 2.x ou mcrypt > 2.4.x )
  • MCRYPT_TWOFISH128 (TWOFISHxxx est disponible dans les nouvelles versions 2.x, mais pas dans les versions 2.4.x)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (libmcrypt > 2.4.x uniquement)
  • MCRYPT_XTEA (libmcrypt > 2.4.x uniquement)

Vous devez (mode OFB et OFB) ou pouvez (mode CBC) fournir un vecteur d'initialisation (IV) pour ces modes de chiffrement. IV doit être unique, et avoir la même valeur au chiffrement et au déchiffrement. Pour des données qui seront enregistrées après chiffrement, vous pouvez prendre le résultat d'une fonction telle que MD5, appliquée sur le nom du fichier. Sinon, vous pouvez envoyer IV avec les données chiffrées, (reportez-vous au chapitre 9.3 de Applied Cryptography by Schneier (ISBN 0-471-11709-9) de Schneier (ISBN 0-471-11709-9) pour plus de détails sur le sujet).

Constantes pré-définies
Exemples
Mcrypt


Exemples

Mcrypt permet de chiffrer et de déchiffrer en utilisant les méthodes mentionnées ci-dessus. Si vous utilisez libmcrypt-2.2.x, les 4 commandes importantes (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb() et mcrypt_ofb()) peuvent toutes opérer en mode MCRYPT_ENCRYPT et MCRYPT_DECRYPT.

Exemple #1 Chiffre une valeur avec un TripleDES, en mode ECB, sous 2.2.x

<?php
$key = "Cette clé est ultra-secrète";
$input = "Rencontrons-nous dans notre place secrète à 9 h 00.";

$encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);
?>
Cet exemple va retourner les données chiffrées dans la variable $encrypted_data.

Si vous avez compilé PHP avec libmcrypt 2.4.x ou 2.5.x, ces fonctions sont toujours disponibles, mais il est vivement conseillé d'utiliser les nouvelles fonctions avancées.

Exemple #2 Chiffrement d'une valeur avec TripleDES sous 2.4.x et supérieur, en mode ECB

<?php
$key = "Ceci est une vraie clé secrète";
$input = "Rendez-vous à 9 heures, dans notre planque.";

$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
?>
Cet exemple va retourner les données cryptées dans la variable $encrypted_data. Pour un exemple complet, voyez mcrypt_module_open().

Modes de chiffrement Mcrypt
Fonctions Mcrypt
Mcrypt


Fonctions Mcrypt

Sommaire

  • mcrypt_cbc — Chiffre/déchiffre des données en mode CBC
  • mcrypt_cfb — Chiffre/déchiffre des données en mode CFB
  • mcrypt_create_iv — Crée un vecteur d'initialisation à partir d'une source aléatoire
  • mcrypt_decrypt — Déchiffre un texte avec les paramètres donnés
  • mcrypt_ecb — Obsolète : Chiffre/déchiffre des données en mode ECB
  • mcrypt_enc_get_algorithms_name — Retourne le nom de l'algorithme de chiffrement
  • mcrypt_enc_get_block_size — Retourne la taille du bloc d'un algorithme
  • mcrypt_enc_get_iv_size — Retourne la taille du VI d'un algorithme
  • mcrypt_enc_get_key_size — Retourne la taille maximale de la clé pour un mode
  • mcrypt_enc_get_modes_name — Retourne le nom du mode
  • mcrypt_enc_get_supported_key_sizes — Retourne un tableau contenant les tailles de clés acceptées par un algorithme
  • mcrypt_enc_is_block_algorithm_mode — Teste le chiffrement par blocs d'un mode
  • mcrypt_enc_is_block_algorithm — Teste le chiffrement par blocs d'un algorithme
  • mcrypt_enc_is_block_mode — Teste si le mode retourne les données par blocs
  • mcrypt_enc_self_test — Teste un module ouvert
  • mcrypt_encrypt — Chiffre un texte
  • mcrypt_generic_deinit — Prépare le module pour le déchargement
  • mcrypt_generic_end — Termine un chiffrement
  • mcrypt_generic_init — Initialise tous les buffers nécessaires
  • mcrypt_generic — Chiffre les données
  • mcrypt_get_block_size — Retourne la taille de blocs d'un chiffrement
  • mcrypt_get_cipher_name — Lit le nom du chiffrement utilisé
  • mcrypt_get_iv_size — Retourne la taille du VI utilisé par un couple chiffrement/mode
  • mcrypt_get_key_size — Retourne la taille de la clé d'un chiffrement
  • mcrypt_list_algorithms — Liste tous les algorithmes de chiffrement supportés
  • mcrypt_list_modes — Liste tous les modes de chiffrement supportés
  • mcrypt_module_close — Décharge le module de chiffrement
  • mcrypt_module_get_algo_block_size — Retourne la taille de blocs d'un algorithme
  • mcrypt_module_get_algo_key_size — Retourne la taille maximale de clé
  • mcrypt_module_get_supported_key_sizes — Retourne un tableau contenant les tailles de clés supportées par l'algorithme ouvert
  • mcrypt_module_is_block_algorithm_mode — Indique si un mode fonctionne par blocs
  • mcrypt_module_is_block_algorithm — Indique si un algorithme fonctionne par blocs
  • mcrypt_module_is_block_mode — Indique si un mode travaille par blocs
  • mcrypt_module_open — Ouvre le module de l'algorithme et du mode à utiliser
  • mcrypt_module_self_test — Teste un mode
  • mcrypt_ofb — Chiffre/déchiffre des données en mode OFB
  • mdecrypt_generic — Déchiffre les données
Exemples
mcrypt_cbc
Mcrypt


Chiffre/déchiffre des données en mode CBC

Fonctions Mcrypt
mcrypt_cfb
Fonctions Mcrypt
PHP Manual

mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc — Chiffre/déchiffre des données en mode CBC

Description

string mcrypt_cbc ( int $cipher , string $key , string $data , int $mode [, string $iv ] )
string mcrypt_cbc ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

La première syntaxe utilise libmcrypt 2.2.x, et la seconde libmcrypt 2.4.x. Le paramètre mode doit être MCRYPT_ENCRYPT ou MCRYPT_DECRYPT.

mcrypt_cbc() ne doit plus être utilisée. Vous pouvez la remplacer par mcrypt_generic() et mdecrypt_generic().

Fonctions Mcrypt
mcrypt_cfb
Fonctions Mcrypt


Chiffre/déchiffre des données en mode CFB

mcrypt_cbc
mcrypt_create_iv
Fonctions Mcrypt
PHP Manual

mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb — Chiffre/déchiffre des données en mode CFB

Description

string mcrypt_cfb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_cfb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

La première syntaxe utilise libmcrypt 2.2.x, et la seconde libmcrypt 2.4.x. Le paramètre mode doit être MCRYPT_ENCRYPT ou MCRYPT_DECRYPT.

mcrypt_cfb() ne doit plus être utilisée. Vous pouvez la remplacer par mcrypt_generic() et mdecrypt_generic().

mcrypt_cbc
mcrypt_create_iv
Fonctions Mcrypt


Crée un vecteur d'initialisation à partir d'une source aléatoire

mcrypt_cfb
mcrypt_decrypt
Fonctions Mcrypt
PHP Manual

mcrypt_create_iv

(PHP 4, PHP 5)

mcrypt_create_iv — Crée un vecteur d'initialisation à partir d'une source aléatoire

Description

string mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_RANDOM ] )

mcrypt_create_iv() crée un IV (vecteur d'initialisation) à partir d'une source aléatoire.

Le vecteur d'initialisation est le seul moyen de fournir une initialisation de remplacement aux méthodes d'initialisation. Ce vecteur n'a pas besoin d'être particulièrement secret, même si c'est mieux. Vous pouvez l'envoyer avec vos documents chiffrés sans perdre en sécurité.

Liste de paramètres

size

Détermine la taille du vecteur, et source (par défaut, une valeur aléatoire), spécifie la source du vecteur.

source

La source peut être MCRYPT_RAND (le générateur de nombre aléatoire du système), MCRYPT_DEV_RANDOM (lit les données depuis /dev/random) et MCRYPT_DEV_URANDOM (lit les données depuis /dev/urandom). Avant la version 5.3.0, MCRYPT_RAND était la seule constante supportée par Windows.

Valeurs de retour

Retourne le vecteur d'initialisation, ou bien FALSE en cas d'erreur.

Historique

Version | Description
5.3.0 | MCRYPT_DEV_RANDOM et MCRYPT_DEV_URANDOM deviennent disponibles sous Windows.
5.3.0 | Il n'est plus nécessaire d'appeler srand() dans un premier temps. Cet appel est maintenant fait automatiquement.

Exemples

Exemple #1 Exemple avec mcrypt_create_iv()

<?php
     $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
     $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
     ?>

Voir aussi

  • » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
  • » http://www.quadibloc.com/crypto/co0409.htm
  • Chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9)

mcrypt_cfb
mcrypt_decrypt
Fonctions Mcrypt


Déchiffre un texte avec les paramètres donnés

mcrypt_create_iv
mcrypt_ecb
Fonctions Mcrypt
PHP Manual

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_decrypt — Déchiffre un texte avec les paramètres donnés

Description

string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

Déchiffre les données data et retourne les données déchiffrées.

Liste de paramètres

cipher

cipherest une constante MCRYPT_ciphername qui indique le nom de l'algorithme sous forme de chaîne.

key

keyest la clé utilisée pour chiffrer les données. Si elle est plus petite que nécessaire, elle sera complétée avec des "\0".

data

datasont les données qui doivent être déchiffrées. Si la taille des données n'est pas de la forme n * taille_de_bloc, elles seront complétées avec des '\0'.

mode

modeest une constante MCRYPT_MODE_modename qui peut valoir : "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

iv

Le iv(Vecteur d'Initialisation) est utilisé pour les modes CBC, CFB, OFB, et dans certains algorithmes de mode STREAM. Si vous ne fournissez pas le VI, alors qu'il est nécessaire, la fonction affichera une alerte, et utilisera un VI composé de caractères "\0".

Valeurs de retour

Retourne les données déchiffrées sous la forme d'une chaîne de caractères.

mcrypt_create_iv
mcrypt_ecb
Fonctions Mcrypt


Obsolète : Chiffre/déchiffre des données en mode ECB

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Fonctions Mcrypt
PHP Manual

mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb — Obsolète : Chiffre/déchiffre des données en mode ECB

Description

string mcrypt_ecb ( int $cipher , string $key , string $data , int $mode )
string mcrypt_ecb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

La première syntaxe utilise libmcrypt 2.2.x, et la seconde libmcrypt 2.4.x. Le paramètre mode doit être MCRYPT_ENCRYPT ou MCRYPT_DECRYPT.

mcrypt_ecb() ne doit plus être utilisée. Vous pouvez la remplacer par mcrypt_generic() et mdecrypt_generic().

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Fonctions Mcrypt


Retourne le nom de l'algorithme de chiffrement

mcrypt_ecb
mcrypt_enc_get_block_size
Fonctions Mcrypt
PHP Manual

mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_algorithms_name — Retourne le nom de l'algorithme de chiffrement

Description

string mcrypt_enc_get_algorithms_name ( resource $td )

mcrypt_enc_get_algorithms_name() retourne le nom de l'algorithme utilisé par td.

Liste de paramètres

td

La resource de chiffrement.

Valeurs de retour

Retourne le nom de l'algorithme courant, sous forme de chaîne de caractères

Exemples

Exemple #1 Exemple avec mcrypt_enc_get_algorithms_name()

<?php
     $td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
     echo mcrypt_enc_get_algorithms_name($td). "\n";

     $td = mcrypt_module_open ('cast-256', '', MCRYPT_MODE_CFB, '');
     echo mcrypt_enc_get_algorithms_name($td). "\n";
     ?>

L'exemple ci-dessus va afficher :

CAST-256
CAST-256

mcrypt_ecb
mcrypt_enc_get_block_size
Fonctions Mcrypt


Retourne la taille du bloc d'un algorithme

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Fonctions Mcrypt
PHP Manual

mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_block_size — Retourne la taille du bloc d'un algorithme

Description

int mcrypt_enc_get_block_size ( resource $td )

Récupère la taille du bloc d'un algorithme.

Liste de paramètres

td

Le pointeur de fichiers.

Valeurs de retour

Retourne la taille du bloc de l'algorithme, en octets.

mcrypt_enc_get_algorithms_name
mcrypt_enc_get_iv_size
Fonctions Mcrypt


Retourne la taille du VI d'un algorithme

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Fonctions Mcrypt
PHP Manual

mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_iv_size — Retourne la taille du VI d'un algorithme

Description

int mcrypt_enc_get_iv_size ( resource $td )

Cette fonction retourne la taille du VI de l'algorithme désigné par td, en octets. Si la valeur retournée est 0, c'est que l'algorithme ne demande pas de VI. Un VI est demandé en mode "cbc", "cfb" et "ofb", et parfois en mode "stream".

Liste de paramètres

td

Le pointeur de fichiers.

Valeurs de retour

Retourne la taille du IV, ou 0 si l'IV est ignoré dans l'algorithme.

mcrypt_enc_get_block_size
mcrypt_enc_get_key_size
Fonctions Mcrypt


Retourne la taille maximale de la clé pour un mode

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Fonctions Mcrypt
PHP Manual

mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_key_size — Retourne la taille maximale de la clé pour un mode

Description

int mcrypt_enc_get_key_size ( resource $td )

Retourne la taille maximale de la clé pour un mode donné.

Liste de paramètres

td

Le pointeur de fichier.

Valeurs de retour

Retourne la taille maximale de la clé pour le mode donné.

mcrypt_enc_get_iv_size
mcrypt_enc_get_modes_name
Fonctions Mcrypt


Retourne le nom du mode

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Fonctions Mcrypt
PHP Manual

mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_modes_name — Retourne le nom du mode

Description

string mcrypt_enc_get_modes_name ( resource $td )

Retourne le nom du mode.

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Retourne le nom, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec mcrypt_enc_get_modes_name()

<?php
$td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_modes_name($td). "\n";

$td = mcrypt_module_open ('cast-256', '', 'ecb', '');
echo mcrypt_enc_get_modes_name($td). "\n";
?>

L'exemple ci-dessus va afficher :

CFB
ECB

mcrypt_enc_get_key_size
mcrypt_enc_get_supported_key_sizes
Fonctions Mcrypt


Retourne un tableau contenant les tailles de clés acceptées par un algorithme

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Fonctions Mcrypt
PHP Manual

mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_supported_key_sizes — Retourne un tableau contenant les tailles de clés acceptées par un algorithme

Description

array mcrypt_enc_get_supported_key_sizes ( resource $td )

mcrypt_enc_get_supported_key_sizes() lit les tailles de clés supportées par l'algorithme courant de la ressource de chiffrement td.

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Retourne un tableau contenant les tailles des clés supportées par l'algorithme désigné par td. S'il retourne un tableau vide, c'est que toutes les clés entre 1 et mcrypt_enc_get_key_size() sont acceptées par l'algorithme.

Exemples

Exemple #1 Exemple avec mcrypt_enc_get_supported_key_sizes()

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

Affichera :

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}

mcrypt_enc_get_modes_name
mcrypt_enc_is_block_algorithm_mode
Fonctions Mcrypt


Teste le chiffrement par blocs d'un mode

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Fonctions Mcrypt
PHP Manual

mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm_mode — Teste le chiffrement par blocs d'un mode

Description

bool mcrypt_enc_is_block_algorithm_mode ( resource $td )

Teste le chiffrement par blocs d'un mode (e.g. FALSE pour un flux, et TRUE pour "cbc", "cfb", "ofb").

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Retourne TRUE si ce mode utilise des algorithmes par blocs, et FALSE sinon.

mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm
Fonctions Mcrypt


Teste le chiffrement par blocs d'un algorithme

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Fonctions Mcrypt
PHP Manual

mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm — Teste le chiffrement par blocs d'un algorithme

Description

bool mcrypt_enc_is_block_algorithm ( resource $td )

Teste le chiffrement par blocs d'un algorithme.

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Retourne TRUE si l'algorithme utilisé est un algorithme par blocs, et FALSE si c'est un algorithme par flux.

mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_mode
Fonctions Mcrypt


Teste si le mode retourne les données par blocs

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Fonctions Mcrypt
PHP Manual

mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_mode — Teste si le mode retourne les données par blocs

Description

bool mcrypt_enc_is_block_mode ( resource $td )

Teste si le mode retourne les données par blocs (e.g. TRUE pour "cbc" et "ecb", et FALSE pour "cfb" et un flux).

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Retourne TRUE si le mode retourne des blocs d'octets, ou bien FALSE s'il retourne des octets (par flux).

mcrypt_enc_is_block_algorithm
mcrypt_enc_self_test
Fonctions Mcrypt


Teste un module ouvert

mcrypt_enc_is_block_mode
mcrypt_encrypt
Fonctions Mcrypt
PHP Manual

mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_self_test — Teste un module ouvert

Description

int mcrypt_enc_self_test ( resource $td )

Effectue un test du module ouvert et désigné par td.

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Si le test est concluant, elle retourne FALSE, sinon TRUE.

mcrypt_enc_is_block_mode
mcrypt_encrypt
Fonctions Mcrypt


Chiffre un texte

mcrypt_enc_self_test
mcrypt_generic_deinit
Fonctions Mcrypt
PHP Manual

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_encrypt — Chiffre un texte

Description

string mcrypt_encrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )

mcrypt_encrypt() chiffre les données, et retourne les données chiffrées.

Liste de paramètres

cipher

Une des constantes MCRYPT_ciphername, contenant le nom de l'algorithme, sous forme de chaîne de caractères.

key

La clé avec laquelle les données seront chiffrées. Si elle est plus petite que sa taille demandée, elle sera complétée avec des '\0'. Il est mieux de ne pas utiliser des clés ASCII.

Il est recommandé d'utiliser les fonctions mhash pour créer des clés à partir d'une chaîne.

data

Les données qui seront chiffrées, avec l'algorithme et le mode indiqué. Si la taille des données n'est pas un multiple de la taille de bloc, les données seront complétées par des caractères '\0', autant que nécessaire.

Le texte chiffré retourné peut être plus long que la taille des données passées en argument via data.

mode

Une des constantes MCRYPT_MODE_modename, parmi les valeurs de "ecb", "cbc", "cfb", "ofb", "nofb" et "stream".

iv

Ce paramètre est utilisé pour l'initialisation en modes CBC, CFB et OFB, et dans certains algorithmes en mode STREAM. Si vous ne fournissez pas de vecteur d'initialisation et que l'algorithme en requiert un, la fonction va émettre une alerte, et utiliser un vecteur d'initialisation entièrement constitué de '\0'.

Valeurs de retour

Retourne les données chiffrées, sous forme de chaîne de caractères.

Exemples

Exemple #1 Exemple avec mcrypt_encrypt()

<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
echo strlen($text) . "\n";

$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo strlen($crypttext) . "\n";
?>

L'exemple ci-dessus va afficher :

42
64

Voir aussi mcrypt_module_open() pour une meilleure API et un exemple.

mcrypt_enc_self_test
mcrypt_generic_deinit
Fonctions Mcrypt


Prépare le module pour le déchargement

mcrypt_encrypt
mcrypt_generic_end
Fonctions Mcrypt
PHP Manual

mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5)

mcrypt_generic_deinit — Prépare le module pour le déchargement

Description

bool mcrypt_generic_deinit ( resource $td )

Prépare le module de chiffrement td pour le déchargement. Tous les tampons sont vidés, mais le module n'est pas déchargé. Vous devez appeler mcrypt_module_close() vous-même (mais PHP le fera pour vous a la fin du script).

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mcrypt_module_open() - Ouvre le module de l'algorithme et du mode à utiliser
  • mcrypt_generic_init() - Initialise tous les buffers nécessaires

mcrypt_encrypt
mcrypt_generic_end
Fonctions Mcrypt


Termine un chiffrement

mcrypt_generic_deinit
mcrypt_generic_init
Fonctions Mcrypt
PHP Manual

mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5 <= 5.1.6)

mcrypt_generic_end — Termine un chiffrement

Description

bool mcrypt_generic_end ( resource $td )

Avertissement

Cette fonction est obsolète, utilisez mcrypt_generic_deinit() à la place. Elle peut causer des crashes lorsqu'elle est utilisée avec mcrypt_module_close() à cause d'une multitude de tampons libres.

mcrypt_generic_end() termine le chiffrement désigné par le pointeur td. En fait, elle supprime tous les buffers, et ferme les modules utilisés. Retourne FALSE si une erreur survient, ou TRUE en cas de succès.

mcrypt_generic_deinit
mcrypt_generic_init
Fonctions Mcrypt


Initialise tous les buffers nécessaires

mcrypt_generic_end
mcrypt_generic
Fonctions Mcrypt
PHP Manual

mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_init — Initialise tous les buffers nécessaires

Description

int mcrypt_generic_init ( resource $td , string $key , string $iv )

Vous devez appeler mcrypt_generic_init()
avant chaque appel à mcrypt_generic() ou
mdecrypt_generic().

Liste de paramètres

td

La ressource de chiffrement.

key

La taille maximale de la clé doit être celle retournée par mcrypt_enc_get_key_size() et toutes les valeurs inférieures seront aussi valides.

iv

Le vecteur d'initialisation (VI) doit avoir la taille d'un bloc, mais vous devez lire sa taille en appelant mcrypt_enc_get_iv_size(). IV est ignoré en mode ECB. IV DOIT exister en modes "CFB", "CBC", "STREAM", "nOFB" et "OFB". Il doit être aléatoire et unique (mais pas secret). Le même VI doit être utilisé pour le chiffrement et le déchiffrement. Si vous ne voulez pas l'utiliser, remplissez-le de zéros, mais ce n'est pas recommandé.

Valeurs de retour

Retourne une valeur négative en cas d'erreur : -3 si la taille de la clé est incorrecte, -4 quand il y a eu un problème d'allocation de mémoire et toute autre valeur en cas d'erreur inconnue. Si une erreur survient, une alerte est affichée. FALSE est retourné si des paramètres incorrects sont passés à la fonction.

Voir aussi

  • mcrypt_module_open() - Ouvre le module de l'algorithme et du mode à utiliser

mcrypt_generic_end
mcrypt_generic
Fonctions Mcrypt


Chiffre les données

mcrypt_generic_init
mcrypt_get_block_size
Fonctions Mcrypt
PHP Manual

mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic — Chiffre les données

Description

string mcrypt_generic ( resource $td , string $data )

mcrypt_generic() chiffre les données data. Les données sont complétées par des "\0" pour obtenir une taille multiple de la taille d'un bloc. Elle retourne les données chiffrées. Notez que la longueur de la chaîne retournée peut être plus longue que celle passée en argument, à cause du complément.

Si vous voulez enregistrer les données chiffrées dans une base de données assurez-vous d'enregistrer la chaîne entière retournée par cette fonction, sinon la chaîne ne sera pas décryptée correctement. Si votre chaîne d'origine comporte 10 caractères et que la taille d'un bloc est de 8 (utilisez mcrypt_enc_get_block_size() pour déterminer cette taille), vous aurez besoin d'au moins 16 caractères dans le champ de votre base de données. Notez que la chaîne retournée par mdecrypt_generic() aura 16 caractères de long... utilisez rtrim($str, "\0") pour supprimer le complément.

Par exemple, si vous enregistrez les données dans une base de données MySQL, souvenez-vous que les champs de type VARCHAR suppriment automatiquement les espaces en trop durant l'insertion. Comme les données chiffrés peuvent se terminer avec un espace (ASCII 32), les données seront endommagées par cette suppression. Stockez les données dans un champ de type TINYBLOB/TINYTEXT (ou plus grand) pour que tout fonctionne normalement.

Liste de paramètres

td

La ressource de chiffrement.

Le gestionnaire de chiffrement td doit être initialisé avec la fonction mcrypt_generic_init(), avec une clé et un VI, avant d'appeler cette fonction. Lorsque le chiffrement est réalisé, vous devez libérer les buffers en appelant la fonction mcrypt_generic_deinit(). Voyez mcrypt_module_open() pour un exemple.

data

Les données à chiffrer.

Valeurs de retour

Retourne les données chiffrées.

Voir aussi

  • mdecrypt_generic() - Déchiffre les données
  • mcrypt_generic_init() - Initialise tous les buffers nécessaires
  • mcrypt_generic_deinit() - Prépare le module pour le déchargement

mcrypt_generic_init
mcrypt_get_block_size
Fonctions Mcrypt


Retourne la taille de blocs d'un chiffrement

mcrypt_generic
mcrypt_get_cipher_name
Fonctions Mcrypt
PHP Manual

mcrypt_get_block_size

(PHP 4, PHP 5)

mcrypt_get_block_size — Retourne la taille de blocs d'un chiffrement

Description

int mcrypt_get_block_size ( int $cipher )
int mcrypt_get_block_size ( string $cipher , string $module )

Le premier prototype sert lorsque PHP est compilé avec la bibliothèque libmcrypt 2.2.x, le second lorsqu'il est compilé avec libmcrypt 2.4.x ou 2.5.x.

mcrypt_get_block_size() sert à lire la taille de blocs du chiffrement cipher (en combinaison avec un mode de chiffrement).

Il est recommandé de se servir de la fonction mcrypt_enc_get_block_size(), car elle utilise la ressource retournée par mcrypt_module_open().

Liste de paramètres

cipher

Une des constantes MCRYPT_ciphername, représentant le nom d'un algorithme sous forme de chaîne de caractères.

module

Le module.

Valeurs de retour

Lit la taille de bloc, sous forme d'un entier.

Exemples

Exemple #1 Exemple avec mcrypt_get_block_size()

Cet exemple montre comment utiliser cette fonction lorsque PHP est compilé avec libmcrypt 2.4.x et 2.5.x.

<?php
echo mcrypt_get_block_size('tripledes', 'ecb'); // 8
?>

Voir aussi

  • mcrypt_get_key_size() - Retourne la taille de la clé d'un chiffrement
  • mcrypt_enc_get_block_size() - Retourne la taille du bloc d'un algorithme
  • mcrypt_encrypt() - Chiffre un texte

mcrypt_generic
mcrypt_get_cipher_name
Fonctions Mcrypt


Lit le nom du chiffrement utilisé

mcrypt_get_block_size
mcrypt_get_iv_size
Fonctions Mcrypt
PHP Manual

mcrypt_get_cipher_name

(PHP 4, PHP 5)

mcrypt_get_cipher_name — Lit le nom du chiffrement utilisé

Description

string mcrypt_get_cipher_name ( int $cipher )
string mcrypt_get_cipher_name ( string $cipher )

mcrypt_get_cipher_name() retourne le nom du chiffrement utilisé.

mcrypt_get_cipher_name() prend le numéro de chiffrement (avec libmcrypt 2.2.x) ou prend le nom du chiffrement (avec libmcrypt 2.4.x) comme paramètre, et retourne le nom du chiffrement, ou FALSE, s'il n'existe pas.

Liste de paramètres

cipher

Une des constantes MCRYPT_ciphername ou le nom de l'algorithme sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne le nom du cipher ou FALSE si le cipher n'existe pas.

Exemples

Exemple #1 Exemple avec mcrypt_get_cipher_name()

<?php
$cipher = MCRYPT_TripleDES;

echo mcrypt_get_cipher_name($cipher);
?>

L'exemple ci-dessus va afficher :

3DES

mcrypt_get_block_size
mcrypt_get_iv_size
Fonctions Mcrypt


Retourne la taille du VI utilisé par un couple chiffrement/mode

mcrypt_get_cipher_name
mcrypt_get_key_size
Fonctions Mcrypt
PHP Manual

mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_get_iv_size — Retourne la taille du VI utilisé par un couple chiffrement/mode

Description

int mcrypt_get_iv_size ( string $cipher , string $mode )

mcrypt_get_iv_size() retourne la taille du vecteur d'initialisation (VI). Si l'algorithme n'utilise pas de vecteur d'initialisation, zéro est retourné.

Il est plus utile d'utiliser la fonction mcrypt_enc_get_iv_size(), car elle utilise la ressource retournée par mcrypt_module_open().

Liste de paramètres

cipher

Une des constantes MCRYPT_ciphername, qui contient le nom de l'algorithme sous forme de chaîne de caractères.

mode

mode est une constante MCRYPT_MODE_modename qui peut valoir : "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream". IV est ignoré en mode ECB sachant que ce mode ne le demande pas. Vous devez avoir le même IV (point de départ) lors du chiffrement et du déchiffrement, sinon, votre chiffrage échouera.

Valeurs de retour

Retourne la taille du vecteur d'initialisation (IV), en octets. En cas d'erreur, la fonction retourne FALSE. Si le vecteur d'initialisation est inutile, 0 est retourné.

Exemples

Exemple #1 Exemple avec mcrypt_get_iv_size()

<?php
echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

Voir aussi

  • mcrypt_get_block_size() - Retourne la taille de blocs d'un chiffrement
  • mcrypt_enc_get_iv_size() - Retourne la taille du VI d'un algorithme
  • mcrypt_create_iv() - Crée un vecteur d'initialisation à partir d'une source aléatoire

mcrypt_get_cipher_name
mcrypt_get_key_size
Fonctions Mcrypt


Retourne la taille de la clé d'un chiffrement

mcrypt_get_iv_size
mcrypt_list_algorithms
Fonctions Mcrypt
PHP Manual

mcrypt_get_key_size

(PHP 4, PHP 5)

mcrypt_get_key_size — Retourne la taille de la clé d'un chiffrement

Description

int mcrypt_get_key_size ( int $cipher )
int mcrypt_get_key_size ( string $cipher , string $module )

La première syntaxe utilise libmcrypt 2.2.x, et la seconde libmcrypt 2.4.x ou plus récent.

mcrypt_get_key_size() sert à lire la taille de clé du chiffrement cipher.

Cet exemple illustre comment utiliser cette fonction avec les deux bibliothèques libmcrypt 2.4.x et 2.5.x. Il est plus facile de se servir de la fonction mcrypt_enc_get_key_size() comme elle utilise la ressource retournée par mcrypt_module_open().

Exemple #1 Exemple avec mcrypt_get_key_size()

<?php
echo mcrypt_get_key_size('tripledes', 'ecb');
?>

Affichera :
24

Voir aussi mcrypt_get_block_size(),
mcrypt_enc_get_key_size() et
mcrypt_encrypt().

mcrypt_get_iv_size
mcrypt_list_algorithms
Fonctions Mcrypt


Liste tous les algorithmes de chiffrement supportés

mcrypt_get_key_size
mcrypt_list_modes
Fonctions Mcrypt
PHP Manual

mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_algorithms — Liste tous les algorithmes de chiffrement supportés

Description

array mcrypt_list_algorithms ([ string $lib_dir = ini_get("mcrypt.algorithms_dir") ] )

Liste tous les algorithmes de chiffrement de lib_dir.

Liste de paramètres

lib_dir

Spécifie le dossier où les algoritjmes sont situés. Si omis, la valeur de la directive mcrypt.algorithms_dir du fichier php.ini est utilisée.

Valeurs de retour

Retourne un tableau avec les algorithmes supportés.

Exemples

Exemple #1 Exemple avec mcrypt_list_algorithms()

<?php
$algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

foreach ($algorithms as $cipher) {
    echo "$cipher<br />\n";
}
?>

L'exemple ci-dessus va afficher tous les algorithmes supportés dans le dossier "/usr/local/lib/libmcrypt".

mcrypt_get_key_size
mcrypt_list_modes
Fonctions Mcrypt


Liste tous les modes de chiffrement supportés

mcrypt_list_algorithms
mcrypt_module_close
Fonctions Mcrypt
PHP Manual

mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_modes — Liste tous les modes de chiffrement supportés

Description

array mcrypt_list_modes ([ string $lib_dir = ini_get("mcrypt.modes_dir") ] )

Liste tous les modes de chiffrement de lib_dir.

Liste de paramètres

lib_dir

Spécifie le dossier où tous les modes sont situés. Si omis, la valeur de la directive mcrypt.modes_dir dans le php.ini est utilisée.

Valeurs de retour

Retourne un tableau avec tous les modes supportés.

Exemples

Exemple #1 Exemple avec mcrypt_list_modes()

<?php
$modes = mcrypt_list_modes();

foreach ($modes as $mode) {
    echo "$mode <br />\n";
}
?>

L'exemple ci-dessus va afficher tous les modes supportés dans le dossier par défaut. Si la directive mcrypt.modes_dir n'est pas définie, le dossier par défaut de mcrypt est utilisé (/usr/local/lib/libmcrypt).

mcrypt_list_algorithms
mcrypt_module_close
Fonctions Mcrypt


Décharge le module de chiffrement

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Fonctions Mcrypt
PHP Manual

mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_close — Décharge le module de chiffrement

Description

bool mcrypt_module_close ( resource $td )

Décharge le module td.

Liste de paramètres

td

La ressource de chiffrement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mcrypt_module_open() - Ouvre le module de l'algorithme et du mode à utiliser

mcrypt_list_modes
mcrypt_module_get_algo_block_size
Fonctions Mcrypt


Retourne la taille de blocs d'un algorithme

mcrypt_module_close
mcrypt_module_get_algo_key_size
Fonctions Mcrypt
PHP Manual

mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_block_size — Retourne la taille de blocs d'un algorithme

Description

int mcrypt_module_get_algo_block_size ( string $algorithm [, string $lib_dir ] )

Retourne la taille de blocs d'un algorithme.

Liste de paramètres

algorithm

Le nom de l'algorithme.

lib_dir

Le paramètre optionnel lib_dir contient le chemin jusqu'au module de l'algorithme sur le système.

Valeurs de retour

Retourne la taille de blocs d'un algorithme, en octets.

mcrypt_module_close
mcrypt_module_get_algo_key_size
Fonctions Mcrypt


Retourne la taille maximale de clé

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Fonctions Mcrypt
PHP Manual

mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_key_size — Retourne la taille maximale de clé

Description

int mcrypt_module_get_algo_key_size ( string $algorithm [, string $lib_dir ] )

Retourne la taille maximale de clé.

Liste de paramètres

algorithm

Le nom de l'algorithme.

lib_dir

Le paramètre optionnel lib_dir contient le chemin jusqu'au module de l'algorithme sur le système.

Valeurs de retour

Retourne la taille maximale de la clé supportée par l'algorithme algorithm.

mcrypt_module_get_algo_block_size
mcrypt_module_get_supported_key_sizes
Fonctions Mcrypt


Retourne un tableau contenant les tailles de clés supportées par l'algorithme ouvert

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Fonctions Mcrypt
PHP Manual

mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_supported_key_sizes — Retourne un tableau contenant les tailles de clés supportées par l'algorithme ouvert

Description

array mcrypt_module_get_supported_key_sizes ( string $algorithm [, string $lib_dir ] )

Retourne un tableau contenant les tailles de clés supportées par l'algorithme de chiffrement algorithm. S'il retourne un tableau vide, alors toutes les clés entre 1 et mcrypt_module_get_algo_key_size() sont supportées par l'algorithme.

Liste de paramètres

algorithm

L'algorithme à utiliser.

lib_dir

Le paramètre optionnel lib_dir peut contenir le chemin du dossier d'installation du module, sur le système.

Valeurs de retour

Retourne un tableau contenant les tailles de clés supportées par l'algorithme de chiffrement algorithm. S'il retourne un tableau vide, alors toutes les clés entre 1 et mcrypt_module_get_algo_key_size() sont supportées par l'algorithme.

Voir aussi

  • mcrypt_enc_get_supported_key_sizes() - Retourne un tableau contenant les tailles de clés acceptées par un algorithme

mcrypt_module_get_algo_key_size
mcrypt_module_is_block_algorithm_mode
Fonctions Mcrypt


Indique si un mode fonctionne par blocs

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Fonctions Mcrypt
PHP Manual

mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm_mode — Indique si un mode fonctionne par blocs

Description

bool mcrypt_module_is_block_algorithm_mode ( string $mode [, string $lib_dir ] )

Cette fonction retourne TRUE si le mode doit être utilisé avec un algorithme par bloc, sinon, elle retourne FALSE (i.e. FALSE pour un flux, et TRUE pour cbc, cfb, ofb).

Liste de paramètres

mode

Le mode à vérifier.

lib_dir

Le paramètre optionnel lib_dir peut contenir le dossier où les modules d'algorithme se trouvent sur le système.

Valeurs de retour

Cette fonction retourne TRUE si le mode doit être utilisé avec un algorithme par bloc, sinon, elle retourne FALSE (i.e. FALSE pour un flux, et TRUE pour cbc, cfb, ofb).

mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm
Fonctions Mcrypt


Indique si un algorithme fonctionne par blocs

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Fonctions Mcrypt
PHP Manual

mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm — Indique si un algorithme fonctionne par blocs

Description

bool mcrypt_module_is_block_algorithm ( string $algorithm [, string $lib_dir ] )

mcrypt_module_is_block_algorithm() retourne TRUE si algorithm est un algorithme par blocs, ou FALSE si c'est un algorithme par flux.

Liste de paramètres

algorithm

L'algorithme à vérifier.

lib_dir

Le paramètre optionnel lib_dir peut contenir le chemin où se trouve les modules des algorithmes sur le disque système.

Valeurs de retour

Retourne TRUE si l'algorithme spécifié est un algorithme par blocs ou FALSE si c'est un algorithme par flux.

mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_mode
Fonctions Mcrypt


Indique si un mode travaille par blocs

mcrypt_module_is_block_algorithm
mcrypt_module_open
Fonctions Mcrypt
PHP Manual

mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_mode — Indique si un mode travaille par blocs

Description

bool mcrypt_module_is_block_mode ( string $mode [, string $lib_dir ] )

Cette fonction retourne TRUE si ce mode fournit des blocs d'octets ou FALSE s'il ne sort que des octets. (i.e. TRUE pour "cbc" et "ecb", et FALSE pour "cfb" et "stream").

Liste de paramètres

mode

Le mode à vérifier.

lib_dir

Le paramètre optionnel lib_dir contient le chemin jusqu'au module de l'algorithme sur le système.

Valeurs de retour

Cette fonction retourne TRUE si ce mode fournit des blocs d'octets ou FALSE s'il ne sort que des octets. (i.e. TRUE pour "cbc" et "ecb", et FALSE pour "cfb" et "stream").

mcrypt_module_is_block_algorithm
mcrypt_module_open
Fonctions Mcrypt


Ouvre le module de l'algorithme et du mode à utiliser

mcrypt_module_is_block_mode
mcrypt_module_self_test
Fonctions Mcrypt
PHP Manual

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_open — Ouvre le module de l'algorithme et du mode à utiliser

Description

resource mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory )

mcrypt_module_open() ouvre le module de l'algorithme et du mode à utiliser. Le nom de l'algorithme est spécifié par le paramètre algorithm (par exemple : "twofish"), ou bien une des constantes MCRYPT_ciphername. La bibliothèque est refermée en appelant mcrypt_module_close().

Liste de paramètres

algorithm

L'algorithme à utiliser.

algorithm_directory

algorithm_directory et mode_directory servent à repérer les modules de chiffrement. Si vous fournissez un nom de dossier, il sera utilisé. Si vous passez une chaîne vide (""), la valeur utilisé par mcrypt.algorithms_dir ou mcrypt.modes_dir sera celle indiquée dans les directives de configuration. Lorsque ces paramètres ne sont pas fournis les valeurs par défaut, compilées avec la bibliothèque, sont utilisées (généralement /usr/local/lib/libmcrypt).

mode

Le mode à utiliser.

mode_directory

Valeurs de retour

Normalement, cette fonction retourne un descripteur de cryptage, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mcrypt_module_open()

<?php
$td = mcrypt_module_open(MCRYPT_DES, '',
    MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

$td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

La première ligne de l'exemple ci-dessus va essayer d'ouvrir le chiffrement DES, dans le dossier par défaut, et le mode EBC dans le dossier /usr/lib/mcrypt-modes. Le second exemple utilise les chaînes comme nom pour le chiffrement et le mode. Cela ne fonctionne que si l'extension est compilée avec libmcrypt 2.4.x or 2.5.x.

Exemple #2 Utilisation de mcrypt_module_open() pour chiffrer

<?php
/* Charge un chiffrement */
$td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

/* Crée le VI et détermine la taille de la clé */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($td);

/* Crée la clé */
$key = substr(md5('very secret key'), 0, $ks);

/* Intialise le chiffrement */
mcrypt_generic_init($td, $key, $iv);

/* Chiffre les données */
$encrypted = mcrypt_generic($td, 'This is very important data');

/* Libère le gestionnaire de chiffrement */
mcrypt_generic_deinit($td);

/* Initialise le module de chiffrement pour le déchiffrement */
mcrypt_generic_init($td, $key, $iv);

/* Déchiffre les données */
$decrypted = mdecrypt_generic($td, $encrypted);

/* Libère le gestionnaire de déchiffrement, et ferme le module */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

/* Affiche la chaîne */
echo trim($decrypted)."\n";
?>

Voir aussi

  • mcrypt_module_close() - Décharge le module de chiffrement
  • mcrypt_generic() - Chiffre les données
  • mdecrypt_generic() - Déchiffre les données
  • mcrypt_generic_init() - Initialise tous les buffers nécessaires
  • mcrypt_generic_deinit() - Prépare le module pour le déchargement

mcrypt_module_is_block_mode
mcrypt_module_self_test
Fonctions Mcrypt


Teste un mode

mcrypt_module_open
mcrypt_ofb
Fonctions Mcrypt
PHP Manual

mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_self_test — Teste un mode

Description

bool mcrypt_module_self_test ( string $algorithm [, string $lib_dir ] )

Effectue un test sur l'algorithme spécifié.

Liste de paramètres

algorithm

The algorithm to test.

lib_dir

Le paramètre optionnel lib_dir contient le chemin jusqu'au module de l'algorithme sur le système.

Valeurs de retour

Retourne TRUE si le test fonctionne, et FALSE sinon.

Exemples

Exemple #1 Exemple avec mcrypt_module_self_test()

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

mcrypt_module_open
mcrypt_ofb
Fonctions Mcrypt


Chiffre/déchiffre des données en mode OFB

mcrypt_module_self_test
mdecrypt_generic
Fonctions Mcrypt
PHP Manual

mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb — Chiffre/déchiffre des données en mode OFB

Description

string mcrypt_ofb ( int $cipher , string $key , string $data , int $mode , string $iv )
string mcrypt_ofb ( string $cipher , string $key , string $data , int $mode [, string $iv ] )

La première syntaxe utilise libmcrypt 2.2.x, et la seconde libmcrypt 2.4.x. Le paramètre mode doit être MCRYPT_ENCRYPT ou MCRYPT_DECRYPT.

mcrypt_ofb() ne doit plus être utilisée. Vous pouvez la remplacer par mcrypt_generic() et mdecrypt_generic().

mcrypt_module_self_test
mdecrypt_generic
Fonctions Mcrypt


Déchiffre les données

mcrypt_ofb
Mhash
Fonctions Mcrypt
PHP Manual

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic — Déchiffre les données

Description

string mdecrypt_generic ( resource $td , string $data )

Déchiffre les données data. Notez que la longueur de la chaîne déchiffrée peut être plus longue que la chaîne originale, car elle peut avoir été complétée par des caractères.

Liste de paramètres

td

Un descripteur de chiffrement, retourné par la fonction mcrypt_module_open()

data

Les données chiffrées.

Exemples

Exemple #1 Exemple avec mdecrypt_generic()

<?php
/* Données */
$key = 'Ceci est une très longue clé de chiffrement, et même trop longue';
$plain_text = 'Ceci sont des données importantes';

/* Ouvre le module et crée un VI */
$td = mcrypt_module_open('des', '', 'ecb', '');
$key = substr($key, 0, mcrypt_enc_get_key_size($td));
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

/* Initialise le module de chiffrement */
if (mcrypt_generic_init($td, $key, $iv) != -1) {

    /* Chiffre les données */
    $c_t = mcrypt_generic($td, $plain_text);
    mcrypt_generic_deinit($td);

    /* Réinitialise les tampons pour le déchiffrement */
    mcrypt_generic_init($td, $key, $iv);
    $p_t = mdecrypt_generic($td, $c_t);

    /* Nettoye */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
}

if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
    echo "ok\n";
} else {
    echo "erreur\n";
}
?>

L'exemple ci-dessus montre comment vérifier que les données avant chiffrement sont bien les mêmes que celles après chiffrement/déchiffrement. Il est très important de réinitialiser le buffer de chiffrement avec mcrypt_generic_init() avant que nous ne déchiffriez les données.

Le gestionnaire de déchiffrement doit toujours être initialisé par la fonction mcrypt_generic_init() avec une clé et un VI avant d'appeler cette fonction. Lorsque le chiffrement est fait, il faut que vous libériez les données chiffrées en appelant mcrypt_generic_deinit(). Voir mcrypt_module_open() pour un exemple.

Voir aussi

  • mcrypt_generic() - Chiffre les données
  • mcrypt_generic_init() - Initialise tous les buffers nécessaires
  • mcrypt_generic_deinit() - Prépare le module pour le déchargement

mcrypt_ofb
Mhash
Fonctions Mcrypt


Mhash

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Mhash
    • mhash_count — Récupère l'identifiant maximal de hash
    • mhash_get_block_size — Retourne la taille de bloc du hash
    • mhash_get_hash_name — Retourne le nom du hash
    • mhash_keygen_s2k — Génère une clé
    • mhash — Calcule un hash
mdecrypt_generic
Introduction
Extensions sur la cryptographie


Introduction

Ces fonctions ont été prévues pour fonctionner avec » mhash. Mhash peut être utilisée pour créer une somme de contrôle, un hachage et bien plus.

Cet ensemble de fonctions représente une interface avec la bibliothèque mhash. Mhash accepte un grand nombre d'algorithmes différents, tels MD5, SHA1, GOST et bien d'autres. Pour une liste complète des hashes supportés, reportez-vous à la documentation de mhash. La règle générale est que vous pouvez accéder à un algorithme depuis PHP avec la constante MHASH_NOMDUHASH. Par exemple, pour accéder à l'algorithme TIGER, vous pouvez utiliser la constante MHASH_TIGER.

Note: Cette extension est obsolète. Veuillez utiliser l'extension Hash à la place.

Mhash
Installation/Configuration
Mhash


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mhash


Pré-requis

Pour l'utiliser, téléchargez les distributions de mhash depuis ce » site internet et suivez les instructions d'installation incluses.

Installation/Configuration
Installation
Installation/Configuration


Installation

Vous aurez besoin de compiler PHP avec l'option --with-mhash[=DIR] pour activer cette extension. DIR est le chemin du dossier d'installation de la bibliothèque MHASH.

Depuis PHP 5.3.0, l'extension mhash est émulée via l'extension Hash. Aussi, l'option permettant de spécifier le dossier d'installation de mhash n'a plus d'effet, et cette extension nécessite l'installation de l'extension hash pour fonctionner.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Voici une liste des modes qui sont supportés par mhash. Toutes les constantes ne sont pas ici, et vous pouvez supposer que cette documentation n'est plus à jour.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL256
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD160
  • MHASH_SHA1
  • MHASH_SHA256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160

Types de ressources
Exemples
Mhash


Exemples

Exemple #1 Calcule le MD5 et le hmac, puis l'affiche comme un hexadécimal

<?php
$input = "what do ya want for nothing?";
$hash = mhash(MHASH_MD5, $input);
echo "Le hash vaut " . bin2hex($hash) . "<br />\n";
$hash = mhash(MHASH_MD5, $input, "Jefe");
echo "Le hmac vaut " . bin2hex($hash) . "<br />\n";
?>

This will produce:

Le hash vaut d03cb659cbf9192dcd066272249f8412
Le hmac vaut 750c783e6ab0b503eaa86e310a5db738

Constantes pré-définies
Fonctions Mhash
Mhash


Fonctions Mhash

Sommaire

  • mhash_count — Récupère l'identifiant maximal de hash
  • mhash_get_block_size — Retourne la taille de bloc du hash
  • mhash_get_hash_name — Retourne le nom du hash
  • mhash_keygen_s2k — Génère une clé
  • mhash — Calcule un hash
Exemples
mhash_count
Mhash


Récupère l'identifiant maximal de hash

Fonctions Mhash
mhash_get_block_size
Fonctions Mhash
PHP Manual

mhash_count

(PHP 4, PHP 5)

mhash_count — Récupère l'identifiant maximal de hash

Description

int mhash_count ( void )

Récupère l'identifiant maximal de hash.

Valeurs de retour

Retourne l'identifiant de hash maximal. Les hashs sont numérotés de 0 jusqu'à cet identifiant.

Exemples

Exemple #1 Parcourir la liste des hash

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
    echo sprintf("La taille de bloc de %s est %d\n",
        mhash_get_hash_name($i),
        mhash_get_block_size($i));
}
?>

Fonctions Mhash
mhash_get_block_size
Fonctions Mhash


Retourne la taille de bloc du hash

mhash_count
mhash_get_hash_name
Fonctions Mhash
PHP Manual

mhash_get_block_size

(PHP 4, PHP 5)

mhash_get_block_size — Retourne la taille de bloc du hash

Description

int mhash_get_block_size ( int $hash )

Retourne la taille de bloc du hash spécifié.

Liste de paramètres

hash

L'identifiant du hash. Une des constantes MHASH_XXX.

Valeurs de retour

Retourne la taille, en octets, ou FALSE si le hash n'existe pas.

Exemples

Exemple #1 Exemple avec mhash_get_block_size()

<?php

echo mhash_get_block_size(MHASH_MD5); // 16

?>

mhash_count
mhash_get_hash_name
Fonctions Mhash


Retourne le nom du hash

mhash_get_block_size
mhash_keygen_s2k
Fonctions Mhash
PHP Manual

mhash_get_hash_name

(PHP 4, PHP 5)

mhash_get_hash_name — Retourne le nom du hash

Description

string mhash_get_hash_name ( int $hash )

Retourne le nom du hash spécifié.

Liste de paramètres

hash

L'identifiant du hash. Une des constantes MHASH_XXX.

Valeurs de retour

Retourne le nom du hash ou FALSE si le hash n'existe pas.

Exemples

Exemple #1 Exemple avec mhash_get_hash_name()

<?php

echo mhash_get_hash_name(MHASH_MD5); // MD5

?>

mhash_get_block_size
mhash_keygen_s2k
Fonctions Mhash


Génère une clé

mhash_get_hash_name
mhash
Fonctions Mhash
PHP Manual

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5)

mhash_keygen_s2k — Génère une clé

Description

string mhash_keygen_s2k ( int $hash , string $password , string $salt , int $bytes )

Génère une clé de bytes octets de long, à partir d'un mot de passe.

Cette fonction utilise l'algorithme Salted S2K, spécifié dans OpenPGP (» RFC 2440).

N'oubliez pas que les mots de passe fournis par les utilisateurs ne sont pas conseillés pour faire des clés cryptographiques, étant donné que les utilisateurs normaux retiennent des mots de passe qu'ils peuvent saisir au clavier. Ces mots de passe utilisent uniquement 6 à 7 des 8 bits d'un caractère (voire moins). Il est vivement recommandé d'appliquer une fonction de transformation (comme celle-ci), à un mot de passe utilisateur.

Liste de paramètres

hash

L'identifiant du hash utilisé pour créer la clé. Une parmi les constantes MHASH_XXX.

password

Mot de passe fourni par l'utilisateur.

salt

Doit être différent et suffisamment aléatoire pour chaque clé que vous générez, afin d'en créer des différentes. Ce grain de sel ("salt") servira à nouveau lorsque vous vérifierez les clés : c'est alors une bonne idée que de l'ajouter à la fin de la clé générée. salt doit avoir la longueur de 8 octets, et sera complété par des 0 si vous ne fournissez par suffisamment de données.

bytes

La longueur de la clé, en octets.

Valeurs de retour

Retourne la clé générée, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

mhash_get_hash_name
mhash
Fonctions Mhash


Calcule un hash

mhash_keygen_s2k
OpenSSL
Fonctions Mhash
PHP Manual

mhash

(PHP 4, PHP 5)

mhash — Calcule un hash

Description

string mhash ( int $hash , string $data [, string $key ] )

mhash() applique la fonction de hash hash aux données data.

Liste de paramètres

hash

L'identifiant du hash. Une parmi les constantes MHASH_XXX.

data

L'entrée utilisateur, sous la forme d'une chaîne de caractères.

key

Spécifié, la fonction retournera le HMAC résultant. HMAC est un hash indexé utilisé pour l'identification de message, ou bien un simple rapport de message, suivant la clé spécifiée. Certains algorithmes supportés dans mhash ne sont pas compatibles avec le mode HMAC.

Valeurs de retour

Retourne le hash résultant (appelé aussi "digest") ou HMAC, sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

mhash_keygen_s2k
OpenSSL
Fonctions Mhash


OpenSSL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
    • Options de validations générales
    • Options de remplissage (Padding)
    • Types de clés
    • Constantes/options PKCS7
    • Algorithme de signature
    • Chiffrements
    • Constantes de version
    • Constantes d'identification du nom de serveur
  • Paramètres clés/certificats
  • Vérification de certificats
  • Fonctions OpenSSL
    • openssl_csr_export_to_file — Exporte une CSR vers un fichier
    • openssl_csr_export — Exporte un CSR vers un fichier ou une variable
    • openssl_csr_get_public_key — Retourne la clé publique d'un CERT
    • openssl_csr_get_subject — Retourne le sujet d'un CERT
    • openssl_csr_new — Génère une CSR
    • openssl_csr_sign — Signe un CSR avec un autre certificat (ou lui-même) et génère un certificat
    • openssl_decrypt — Décrypte les données
    • openssl_dh_compute_key — Calcule un secret partagé pour une valeur publique des clés DH locales et distantes
    • openssl_digest — Calcule un digest
    • openssl_encrypt — Crypte les données
    • openssl_error_string — Retourne le message d'erreur OpenSSL
    • openssl_free_key — Libère les ressources
    • openssl_get_cipher_methods — Récupère la liste des méthodes cipher disponibles
    • openssl_get_md_methods — Récupère la liste des méthodes digest disponibles
    • openssl_get_privatekey — Alias de openssl_pkey_get_private
    • openssl_get_publickey — Alias de openssl_pkey_get_public
    • openssl_open — Ouvre des données scellées
    • openssl_pkcs12_export_to_file — Exporte un certificat compatible PKCS#12
    • openssl_pkcs12_export — Exporte un certificat compatible PKCS#12 dans une variable
    • openssl_pkcs12_read — Lit un certificat PKCS#12 dans un tableau
    • openssl_pkcs7_decrypt — Déchiffre un message S/MIME
    • openssl_pkcs7_encrypt — Chiffre un message S/MIME
    • openssl_pkcs7_sign — Signe un message S/MIME
    • openssl_pkcs7_verify — Vérifie la signature d'un message S/MIME
    • openssl_pkey_export_to_file — Sauve une clé au format ASCII dans un fichier
    • openssl_pkey_export — Stocke une représentation exportable de la clé dans une chaîne de caractères
    • openssl_pkey_free — Libère une clé privée
    • openssl_pkey_get_details — Retourne un tableau contenant le détail d'une clé
    • openssl_pkey_get_private — Lit une clé privée
    • openssl_pkey_get_public — Extrait une clé publique d'un certificat, et la prépare
    • openssl_pkey_new — Génère une nouvelle clé privée
    • openssl_private_decrypt — Déchiffre des données avec une clé privée
    • openssl_private_encrypt — Chiffre des données avec une clé privée
    • openssl_public_decrypt — Déchiffre des données avec une clé publique
    • openssl_public_encrypt — Chiffre des données avec une clé publique
    • openssl_random_pseudo_bytes — Génère une chaine pseudo-aléatoire d'octets
    • openssl_seal — Scelle des données
    • openssl_sign — Signe les données
    • openssl_verify — Vérifie une signature
    • openssl_x509_check_private_key — Vérifie si une clé privée correspond à un certificat
    • openssl_x509_checkpurpose — Vérifie l'usage d'un certificat
    • openssl_x509_export_to_file — Exporte un certificat vers un fichier
    • openssl_x509_export — Exporte un certificat vers une chaîne de caractères
    • openssl_x509_free — Libère les ressources prises par un certificat
    • openssl_x509_parse — Analyse un certificat X509
    • openssl_x509_read — Analyse un certificat X.509 et retourne une ressource
mhash
Introduction
Extensions sur la cryptographie


Introduction

Cette extension utilise les fonctions de » OpenSSL pour générer et vérifier les signatures, ainsi que pour sceller (chiffrer) et ouvrir (déchiffrer) les données. OpenSSL offre beaucoup de fonctionnalités que ce module n'offre pas actuellement. Quelques-unes pourront être ajoutées dans le futur.

OpenSSL
Installation/Configuration
OpenSSL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
OpenSSL


Pré-requis

Afin de pouvoir utiliser les fonctions OpenSSL, vous devez installer les fonctions » OpenSSL. PHP depuis les version 4.0.5 et 4.3.1 fonctionnent avec openSSL >= 0.9.5. Les autres versions (PHP <=4.0.4 et >= 4.3.2) nécessitent OpenSSL >= 0.9.6.

Avertissement

Vous êtes vivement encouragé à utiliser la version la plus récente d'OpenSSL afin d'éviter certaines vulnérabilités sur votre serveur web.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour utiliser le support OpenSSL de PHP, vous devez aussi compiler PHP avec l'option de configuration --with-openssl[=DIR].

Note: Note aux utilisateurs Win32
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : libeay32.dll
De plus, si vous avez prévu d'utiliser les fonctions relatives à la génération de clés et aux certificats, vous devez installer un fichier openssl.cnf valide sur votre système. Depuis PHP 4.3.0, nous incluons un fichier de configuration de base dans les distributions de PHP pour win32. PHP 4.3.x et 4.4.x ont ce fichier dans le dossier openssl. PHP 5.x et 6.x ont ce fichier dans le dossier extras/openssl. Si vous utilisez PHP 4.2.x ou bien si le fichier n'est pas présent, vous pouvez l'obtenir sur la page » des binaires OpenSSL ou en téléchargeant une version récente de PHP. Attention : Windows Explorer cache par défaut les fichiers dont l'extension est .cnf et indique que le type de fichier est SpeedDial.
PHP va rechercher le fichier openssl.cnf suivant la tactique suivante :

  • La variable d'environnement OPENSSL_CONF, si elle est définie, sera utilisée comme chemin (comprenant le fichier) vers le fichier de configuration.
  • La variable d'environnement SSLEAY_CONF, si elle est définie, sera utilisée comme chemin (comprenant le fichier) vers le fichier de configuration.
  • Le fichier openssl.cnf sera supposé se trouver dans le dossier des certificats, tel que configuré lors de la compilation de la bibliothèque openssl. Cela signifie généralement c:\usr\local\ssl\openssl.cnf.

Dans votre installation, vous devrez décider si vous allez installer le fichier dans c:\usr\local\ssl\openssl.cnf ou si vous allez le faire ailleurs et configurer une variable d'environnement (possiblement par site virtuel). Notez qu'il est possible de remplacer le chemin par défaut en utilisant le paramètre configargs des fonctions qui requièrent un fichier de configuration.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Sommaire

  • Options de validations générales
  • Options de remplissage (Padding)
  • Types de clés
  • Constantes/options PKCS7
  • Algorithme de signature
  • Chiffrements
  • Constantes de version
  • Constantes d'identification du nom de serveur

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Types de ressources
Options de validations générales
OpenSSL


Options de validations générales

X509_PURPOSE_SSL_CLIENT (entier)
X509_PURPOSE_SSL_SERVER (entier)
X509_PURPOSE_NS_SSL_SERVER (entier)
X509_PURPOSE_SMIME_SIGN (entier)
X509_PURPOSE_SMIME_ENCRYPT (entier)
X509_PURPOSE_CRL_SIGN (entier)
X509_PURPOSE_ANY (entier)
Constantes pré-définies
Options de remplissage (Padding)
Constantes pré-définies


Options de remplissage (Padding)

OPENSSL_PKCS1_PADDING (entier)
OPENSSL_SSLV23_PADDING (entier)
OPENSSL_NO_PADDING (entier)
OPENSSL_PKCS1_OAEP_PADDING (entier)
Options de validations générales
Types de clés
Constantes pré-définies


Types de clés

OPENSSL_KEYTYPE_RSA (entier)
OPENSSL_KEYTYPE_DSA (entier)
OPENSSL_KEYTYPE_DH (entier)
Options de remplissage (Padding)
Constantes/options PKCS7
Constantes pré-définies


Constantes/options PKCS7

Les fonctions S/MIME utilisent des options qui sont spécifiées par un champ de bits. Les valeurs valides sont :

Constantes PKCS7
Constante | Description
PKCS7_TEXT | Ajoute le texte plein en clair dans les en-têtes du message signé/chiffré. Lors du déchiffrement ou la vérification, il supprime purement et simplement ces données. Si le message chiffré ou signé n'est pas du type MIME, une erreur surviendra.
PKCS7_BINARY | Normalement, le message est converti au format canonique qui utilise effectivement des CR et LF comme fin de ligne, comme demandé dans les spécifications de S/MIME. Lorsque cette option est activée, le message ne sera pas converti. Cela sert lorsque vous manipulez des données binaires qui ne sont pas au format MIME.
PKCS7_NOINTERN | Lors de la vérification d'un message, les certificats (s'il y en a) inclus dans le message sont normalement utilisés pour rechercher le certificat de signature. Avec cette option, seul le certificat spécifié par le paramètre extracerts de la fonction openssl_pkcs7_verify() est utilisé. Les certificats fournis peuvent toujours être utilisés, avec un niveau de confiance réduit.
PKCS7_NOVERIFY | Ne vérifie pas les certificats des signataires d'un message signé.
PKCS7_NOCHAIN | N'enchaîne pas les vérifications des signataires de certificats. C'est-à-dire, n'utilise pas les certificats contenu dans le message.
PKCS7_NOCERTS | Lors de la signature d'un message, le certificat du signataire est normalement inclus. Avec cette option, c'est désactivé. Cela va réduire la taille du message, mais le vérificateur devra avoir une copie locale du certificat du signataire (passée au paramètre extracerts, avec la fonction openssl_pkcs7_verify()).
PKCS7_NOATTR | Normalement, lorsqu'un message est signé, un jeu d'attributs contenant l'heure de signature et l'algorithme symétrique supporté, est inclus dans le message. Avec cette option, il n'est pas inclus.
PKCS7_DETACHED | Lors de la signature d'un message, utilise la signature en texte clair, avec le type MIME "multipart/signed". C'est la valeur par défaut du paramètre flags pour la fonction openssl_pkcs7_sign(). Si vous annulez cette option, le message sera signé de manière opaque, ce qui résiste mieux à la traduction des relais mail (certains anciens serveurs mail corrompent les messages), mais empêche la lecture par les client emails qui ne connaissent pas S/MIME.
PKCS7_NOSIGS | Ne vérifie pas les signatures d'une message

Note: Ces constantes ont été ajoutées en PHP 4.0.6.

Types de clés
Algorithme de signature
Constantes pré-définies


Algorithme de signature

OPENSSL_ALGO_DSS1 (entier)
OPENSSL_ALGO_SHA1 (entier)
Utilisé comme algorithme par défaut pour les fonctions openssl_sign() et openssl_verify().
OPENSSL_ALGO_MD5 (entier)
OPENSSL_ALGO_MD4 (entier)
OPENSSL_ALGO_MD2 (entier)

Note: Ces constantes ont été ajoutées depuis PHP 5.0.0.

Constantes/options PKCS7
Chiffrements
Constantes pré-définies


Chiffrements

OPENSSL_CIPHER_RC2_40 (entier)
OPENSSL_CIPHER_RC2_128 (entier)
OPENSSL_CIPHER_RC2_64 (entier)
OPENSSL_CIPHER_DES (entier)
OPENSSL_CIPHER_3DES (entier)

Note: Ces constantes ont été ajoutées depuis PHP 4.3.0.

Algorithme de signature
Constantes de version
Constantes pré-définies


Constantes de version

OPENSSL_VERSION_TEXT (entier)
OPENSSL_VERSION_NUMBER (entier)

Note: Ces constantes ont été ajoutées depuis PHP 5.2.0.

Chiffrements
Constantes d'identification du nom de serveur
Constantes pré-définies


Constantes d'identification du nom de serveur

OPENSSL_TLSEXT_SERVER_NAME ( string )
Si le support SNI est disponible ou non.

Note: Cette constante a été ajoutée en PHP 5.3.2 et nécessite que PHP ait été compilé avec OpenSSL 0.9.8j ou supérieur.

Constantes de version
Paramètres clés/certificats
Constantes pré-définies


Paramètres clés/certificats

Un bon nombre de fonctions OpenSSL demandent une clé et un certificat comme paramètres. PHP 4.0.5 et plus récent utilisait des clés ou certificats sous forme de ressource, retournée par l'une des fonctions openssl_get_xxx(). Les versions ultérieures utilisent l'une des méthodes suivantes :

  • Certificats

    1. Une ressource X.509 retournée par openssl_x509_read()
    2. Une chaîne au format file://path/to/cert.pem; Le fichier ainsi repéré doit contenir un certificat, encodé au format PEM
    3. Une chaîne contenant le contenu d'un certificat, encodé au format PEM.

  • Clés publiques/privées

    1. Une ressource clé, retournée par la fonction openssl_get_publickey() ou openssl_get_privatekey()
    2. Pour les clés publiques seulement : une ressource X.509
    3. Une chaîne avec le format : file://path/to/file.pem. Le fichier doit contenir une clé privée, ou un certificat, encodé au format PEM (il peut contenir les deux).
    4. Une chaîne contenant une clé ou un certificat encodé au format PEM
    5. Pour les clés privées, vous pouvez aussi utiliser la syntaxe array($key, $passphrase), où $key représente une clé spécifiée par un fichier ou une représentation textuelle comme cité ci-dessus, et $passphrase représente une chaîne contenant la phrase de passe de cette clé privée.

Constantes d'identification du nom de serveur
Vérification de certificats
OpenSSL


Vérification de certificats

Lorsque vous appelez une fonction qui va vérifier une signature ou un certificat, le paramètre cainfo doit être un tableau contenant les noms d'un dossier et d'un fichier indiquant les tiers de confiance. Si un dossier est spécifié, il doit être correct, car openssl va l'utiliser.

Paramètres clés/certificats
Fonctions OpenSSL
OpenSSL


Fonctions OpenSSL

Sommaire

  • openssl_csr_export_to_file — Exporte une CSR vers un fichier
  • openssl_csr_export — Exporte un CSR vers un fichier ou une variable
  • openssl_csr_get_public_key — Retourne la clé publique d'un CERT
  • openssl_csr_get_subject — Retourne le sujet d'un CERT
  • openssl_csr_new — Génère une CSR
  • openssl_csr_sign — Signe un CSR avec un autre certificat (ou lui-même) et génère un certificat
  • openssl_decrypt — Décrypte les données
  • openssl_dh_compute_key — Calcule un secret partagé pour une valeur publique des clés DH locales et distantes
  • openssl_digest — Calcule un digest
  • openssl_encrypt — Crypte les données
  • openssl_error_string — Retourne le message d'erreur OpenSSL
  • openssl_free_key — Libère les ressources
  • openssl_get_cipher_methods — Récupère la liste des méthodes cipher disponibles
  • openssl_get_md_methods — Récupère la liste des méthodes digest disponibles
  • openssl_get_privatekey — Alias de openssl_pkey_get_private
  • openssl_get_publickey — Alias de openssl_pkey_get_public
  • openssl_open — Ouvre des données scellées
  • openssl_pkcs12_export_to_file — Exporte un certificat compatible PKCS#12
  • openssl_pkcs12_export — Exporte un certificat compatible PKCS#12 dans une variable
  • openssl_pkcs12_read — Lit un certificat PKCS#12 dans un tableau
  • openssl_pkcs7_decrypt — Déchiffre un message S/MIME
  • openssl_pkcs7_encrypt — Chiffre un message S/MIME
  • openssl_pkcs7_sign — Signe un message S/MIME
  • openssl_pkcs7_verify — Vérifie la signature d'un message S/MIME
  • openssl_pkey_export_to_file — Sauve une clé au format ASCII dans un fichier
  • openssl_pkey_export — Stocke une représentation exportable de la clé dans une chaîne de caractères
  • openssl_pkey_free — Libère une clé privée
  • openssl_pkey_get_details — Retourne un tableau contenant le détail d'une clé
  • openssl_pkey_get_private — Lit une clé privée
  • openssl_pkey_get_public — Extrait une clé publique d'un certificat, et la prépare
  • openssl_pkey_new — Génère une nouvelle clé privée
  • openssl_private_decrypt — Déchiffre des données avec une clé privée
  • openssl_private_encrypt — Chiffre des données avec une clé privée
  • openssl_public_decrypt — Déchiffre des données avec une clé publique
  • openssl_public_encrypt — Chiffre des données avec une clé publique
  • openssl_random_pseudo_bytes — Génère une chaine pseudo-aléatoire d'octets
  • openssl_seal — Scelle des données
  • openssl_sign — Signe les données
  • openssl_verify — Vérifie une signature
  • openssl_x509_check_private_key — Vérifie si une clé privée correspond à un certificat
  • openssl_x509_checkpurpose — Vérifie l'usage d'un certificat
  • openssl_x509_export_to_file — Exporte un certificat vers un fichier
  • openssl_x509_export — Exporte un certificat vers une chaîne de caractères
  • openssl_x509_free — Libère les ressources prises par un certificat
  • openssl_x509_parse — Analyse un certificat X509
  • openssl_x509_read — Analyse un certificat X.509 et retourne une ressource
Vérification de certificats
openssl_csr_export_to_file
OpenSSL


Exporte une CSR vers un fichier

Fonctions OpenSSL
openssl_csr_export
Fonctions OpenSSL
PHP Manual

openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export_to_file — Exporte une CSR vers un fichier

Description

bool openssl_csr_export_to_file ( resource $csr , string $outfilename [, bool $notext = true ] )

openssl_csr_export_to_file() prend la CSR représentée par le paramètre csr et la sauve dans le fichier nommé outfilename.

Liste de paramètres

csr

outfilename

Chemin vers le fichier de sortie.

notext

Le paramètre optionnel notext affecte le niveau verbeux de l'affichage ; s'il vaut FALSE, des informations humainement lisibles seront ajoutées dans l'affichage. Par défaut, le paramètre notext vaut TRUE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openssl_csr_export() - Exporte un CSR vers un fichier ou une variable
  • openssl_csr_new() - Génère une CSR
  • openssl_csr_sign() - Signe un CSR avec un autre certificat (ou lui-même) et génère un certificat

Fonctions OpenSSL
openssl_csr_export
Fonctions OpenSSL


Exporte un CSR vers un fichier ou une variable

openssl_csr_export_to_file
openssl_csr_get_public_key
Fonctions OpenSSL
PHP Manual

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export — Exporte un CSR vers un fichier ou une variable

Description

bool openssl_csr_export ( resource $csr , string &$out [, bool $notext = true ] )

openssl_csr_export() convertit la requête de signature de certificat représentée par csr au format ASCII et la stocke dans la variable out, qui est passée par référence.

Liste de paramètres

csr

out

notext

Le paramètre optionnel notext affecte le niveau verbeux de l'affichage ; s'il vaut FALSE, des informations humainement lisibles seront ajoutées dans l'affichage. Par défaut, le paramètre notext vaut TRUE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openssl_csr_export_to_file() - Exporte une CSR vers un fichier
  • openssl_csr_new() - Génère une CSR
  • openssl_csr_sign() - Signe un CSR avec un autre certificat (ou lui-même) et génère un certificat

openssl_csr_export_to_file
openssl_csr_get_public_key
Fonctions OpenSSL


Retourne la clé publique d'un CERT

openssl_csr_export
openssl_csr_get_subject
Fonctions OpenSSL
PHP Manual

openssl_csr_get_public_key

(PHP 5 >= 5.2.0)

openssl_csr_get_public_key — Retourne la clé publique d'un CERT

Description

resource openssl_csr_get_public_key ( mixed $csr [, bool $use_shortnames = true ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

openssl_csr_export
openssl_csr_get_subject
Fonctions OpenSSL


Retourne le sujet d'un CERT

openssl_csr_get_public_key
openssl_csr_new
Fonctions OpenSSL
PHP Manual

openssl_csr_get_subject

(PHP 5 >= 5.2.0)

openssl_csr_get_subject — Retourne le sujet d'un CERT

Description

array openssl_csr_get_subject ( mixed $csr [, bool $use_shortnames = true ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

openssl_csr_get_public_key
openssl_csr_new
Fonctions OpenSSL


Génère une CSR

openssl_csr_get_subject
openssl_csr_sign
Fonctions OpenSSL
PHP Manual

openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_new — Génère une CSR

Description

mixed openssl_csr_new ( array $dn , resource &$privkey [, array $configargs [, array $extraattribs ]] )

openssl_csr_new() génère une nouvelle CSR (Certificate Signing Request, requête de signature de certificat), basée sur les informations apportés par dn, qui représente le nom unique (Distinguished Name) qui doit être utilisé pour ce certificat.

Note: Vous devez avoir un fichier openssl.cnf valide et installé pour que cette fonction opère correctement. Voir les notes se trouvant dans la section concernant l'installation pour plus d'informations.

Liste de paramètres

dn

Le nom distingué qui doit être utilisé dans le certificat.

privkey

privkey doit être une clé privée qui a été générée par openssl_pkey_new() (ou obtenue autrement par l'une des fonctions de la famille openssl_pkey) La clé publique sera utilisée pour signer la CSR.

configargs

Par défaut, le fichier openssl.conf de votre système est utilisé pour initialiser la requête; vous pouvez spécifier une section du fichier de configuration en paramétrant la clé config_section_section de configargs. Vous pouvez aussi spécifier un fichier de configuration openssl alternatif en paramétrant la valeur de config avec le chemin du fichier à utiliser. Si les clés suivantes sont présentes dans configargs, elles se comportent comme leurs équivalents dans openssl.conf, selon la liste suivante.

Écrasement de configuration
configargs | type | Équivalent de openssl.conf | description
digest_alg | string | default_md | Sélectionne l'algorithme de hachage à utiliser
x509_extensions | string | x509_extensions | Sélectionne quelle extension utiliser lors de la création d'un certificat x509
req_extensions | string | req_extensions | Sélectionne quelle extension utiliser lors de la création d'une CSR
private_key_bits | integer | default_bits | Spécifie la longueur en bits de la clé privée
private_key_type | integer | none | Spécifie le type de clé privée à créer. Les valeurs possibles sont OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH ou OPENSSL_KEYTYPE_RSA. La valeur par défaut est OPENSSL_KEYTYPE_RSA qui est actuellement le seul type de clé supporté.
encrypt_key | boolean | encrypt_key | La clé (avec mot de passe) exportée doit-elle être chiffrée?

extraattribs

extraattribs est utilisé pour spécifier des options de configuration supplémentaires pour la CSR. Les deux paramètres dn et extraattribs sont des tableaux associatifs dont les clés sont converties en OIDs et appliquées aux parties appropriées de la requête.

Valeurs de retour

Retourne la CSR.

Exemples

Exemple #1 Création d'un certificat autosigné

<?php
// Assigne les valeurs du nom distingué à utiliser avec le certificat
// Vous devez remplacer les valeurs suivantes pour qu'elles correspondent
// au nom de votre compagnie, ou, plus précisément, le nom de la personne
// qui représente le site de votre compagnie pour qui vous générez des certificats.
// Pour les certificats SSL, le commonName est généralement le nom de domaine
// pour lequel vous installez le certificat, mais pour les certificats S/MIME,
// le commonName sera le nom de la personne qui utilisera le certificat.
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Génère les clés privée et publique
$privkey = openssl_pkey_new();

// Génère la requête de signature de certificat
$csr = openssl_csr_new($dn, $privkey);

// Vous souhaiterez généralement créer un certificat auto-signé
// une fois que votre autorité de certification accède à votre requête
// Cette commande crée une certificat auto-signé valide 365 jours
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Maintenant, vous voulez préserver la clé privée, la CSR et le certificat
// auto-signé, de façon à ce qu'ils puissent être installés sur votre
// serveur web, serveur mail ou client mail (suivant l'utilisation).
// Cet exemple vous montre comment placer ces éléments dans des variables
// mais vous pouvez aussi les mettre directement dans des fichiers.
// Typiquement, vous allez envoyer la CSR à votre autorité de certification
// qui vous émettra un "vrai" certificat.
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Affiche les erreurs qui sont survenues
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_get_subject
openssl_csr_sign
Fonctions OpenSSL


Signe un CSR avec un autre certificat (ou lui-même) et génère un certificat

openssl_csr_new
openssl_decrypt
Fonctions OpenSSL
PHP Manual

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_sign — Signe un CSR avec un autre certificat (ou lui-même) et génère un certificat

Description

resource openssl_csr_sign ( mixed $csr , mixed $cacert , mixed $priv_key , int $days [, array $configargs [, int $serial = 0 ]] )

openssl_csr_sign() génère une ressource de certificat x509 depuis la CSR donnée.

Note: Vous devez avoir un fichier openssl.cnf valide et installé pour que cette fonction opère correctement. Voir les notes se trouvant dans la section concernant l'installation pour plus d'informations.

Liste de paramètres

csr

Une CSR générée précédemment par openssl_csr_new(). mais ce paramètre peut aussi être une Ca peut aussi être le chemin vers une CSR encodée au format PEM, et spécifiée avec file://path/to/csr ou une chaîne exportée par openssl_csr_export().

cacert

Le certificat généré sera signé par le certificat cacert. Si cacert vaut NULL, le certificat généré sera autosigné.

priv_key

priv_key est la clé privée qui correspond au certificat cacert.

days

days spécifie la durée pour laquelle le certificat est valide, en nombre de jours.

configargs

Vous pouvez affiner la signature CSR avec configargs. Voir la fonction openssl_csr_new() pour plus d'informations sur configargs.

serial

Un numéro de série optionnel pour le certificat émis. S'il n'est pas spécifié, il vaudra 0.

Valeurs de retour

Retourne la ressource de certificat x509 en cas de succès, FALSE sinon.

Historique

Version | Description
4.3.3 | Le paramètre serial a été ajouté.

Exemples

Exemple #1 Exemple avec openssl_csr_sign() - signer une CSR (comment être votre propre Autorité de Certification)

<?php
// Supposons que ce script est configuré pour recevoir des CSR qui ont
// été collés dans un champ textarea depuis une autre page
$csrdata = $_POST["CSR"];

// Nous allons signer la requête avec notre propre certificat, en tant
// qu'"autorité de certification". Vous pouvez utiliser n'importe quel
// certificat pour en signer un autre, mais le processus est inutile à moins
// que le certificat de signature n'ait la confiance des utilisateurs
// qui utiliseront le nouveau certificat signé.

// Nous avons besoin de notre certificat et de la clé privée
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "la_cle_secrete_de_votre_certificat");

$userscert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Affichons maintenant le certificat généré, de façon à ce que l'utilisateur
// puisse le copier/coller dans sa configuration locale (comme un
// fichier qui contient les certificats de son serveur SSL)
openssl_x509_export($usercert, $certout);
echo $certout;

// Affiche toutes les erreurs survenues
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

openssl_csr_new
openssl_decrypt
Fonctions OpenSSL


Décrypte les données

openssl_csr_sign
openssl_dh_compute_key
Fonctions OpenSSL
PHP Manual

openssl_decrypt

(PHP 5 >= 5.3.0)

openssl_decrypt — Décrypte les données

Description

string openssl_decrypt ( string $data , string $method , string $password [, string $raw_input = false ] )

Prend une chaine brute ou base64 encodée et la décrypte en utilisant la méthode et la clé passées.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

data

Les données.

method

La méthode de cipher.

password

Le password.

raw_input

Passez TRUE si les donnée sen entrées sont brutes, sinon une chaine base64 encodée est requise pour data.

Valeurs de retour

La chaine décryptée en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Emmet une erreur de niveau E_WARNING si un algorithme cipher inconnu est passé via method.

Voir aussi

  • openssl_encrypt() - Crypte les données

openssl_csr_sign
openssl_dh_compute_key
Fonctions OpenSSL


Calcule un secret partagé pour une valeur publique des clés DH locales et distantes

openssl_decrypt
openssl_digest
Fonctions OpenSSL
PHP Manual

openssl_dh_compute_key

(No version information available, might only be in SVN)

openssl_dh_compute_key — Calcule un secret partagé pour une valeur publique des clés DH locales et distantes

Description

string openssl_dh_compute_key ( string $pub_key , resource $dh_key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pub_key

La clé publique

dh_key

La clé DH

Valeurs de retour

Retourne la clé calculée en cas de succès ou FALSE si une erreur survient.

openssl_decrypt
openssl_digest
Fonctions OpenSSL


Calcule un digest

openssl_dh_compute_key
openssl_encrypt
Fonctions OpenSSL
PHP Manual

openssl_digest

(PHP 5 >= 5.3.0)

openssl_digest — Calcule un digest

Description

string openssl_digest ( string $data , string $method [, bool $raw_output = false ] )

Calcule une hash digest pour les données d'entrée en utilisant la méthode fournie. Retourne une chaine brute ou héxadécimale.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

data

Les données.

method

La méthode digest à utiliser.

raw_output

Passez à TRUE et une donnée brute sera retournée, sinon la valeur retournée sera héxadécimale.

Valeurs de retour

Retourne la valeur en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Emmet une erreur de niveau E_WARNING si un algorithme inconnu est passé au paramètre method.

Voir aussi

  • openssl_get_cipher_methods() - Récupère la liste des méthodes cipher disponibles

openssl_dh_compute_key
openssl_encrypt
Fonctions OpenSSL


Crypte les données

openssl_digest
openssl_error_string
Fonctions OpenSSL
PHP Manual

openssl_encrypt

(PHP 5 >= 5.3.0)

openssl_encrypt — Crypte les données

Description

string openssl_encrypt ( string $data , string $method , string $password [, bool $raw_output = false ] )

Cryte les données passées avec la méthode et la clé précisées. Retourne une chaine brute ou base64.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

data

Les données.

method

La méthode de cipher.

password

Le password.

raw_output

Passez à TRUE fera retourner des données brutes, sinon la valeur retournée sera encodée base64.

Valeurs de retour

Retourne la chaine cryptée en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Emmet une erreur de niveau E_WARNING si un algorithme cipher inconnu est passé comme paramètre method.

Voir aussi

  • openssl_decrypt() - Décrypte les données

openssl_digest
openssl_error_string
Fonctions OpenSSL


Retourne le message d'erreur OpenSSL

openssl_encrypt
openssl_free_key
Fonctions OpenSSL
PHP Manual

openssl_error_string

(PHP 4 >= 4.0.6, PHP 5)

openssl_error_string — Retourne le message d'erreur OpenSSL

Description

string openssl_error_string ( void )

openssl_error_string() retourne la dernière erreur de la bibliothèque OpenSSL. Les messages d'erreurs sont empilés, et openssl_error_string() doit être appelé plusieurs fois pour afficher toutes les erreurs.

Valeurs de retour

Retourne un message d'erreur, sous la forme d'une chaîne de caractères, ou FALSE s'il n'y a plus de message à afficher.

Exemples

Exemple #1 Exemple avec openssl_error_string()

<?php
// Imaginons que vous avez appelé une fonction qui a émis une erreur
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>

openssl_encrypt
openssl_free_key
Fonctions OpenSSL


Libère les ressources

openssl_error_string
openssl_get_cipher_methods
Fonctions OpenSSL
PHP Manual

openssl_free_key

(PHP 4 >= 4.0.4, PHP 5)

openssl_free_key — Libère les ressources

Description

void openssl_free_key ( resource $key_identifier )

openssl_free_key() libère les ressources associées à key_identifier.

Liste de paramètres

key_identifier

Valeurs de retour

Aucune valeur n'est retournée.

openssl_error_string
openssl_get_cipher_methods
Fonctions OpenSSL


Récupère la liste des méthodes cipher disponibles

openssl_free_key
openssl_get_md_methods
Fonctions OpenSSL
PHP Manual

openssl_get_cipher_methods

(PHP 5 >= 5.3.0)

openssl_get_cipher_methods — Récupère la liste des méthodes cipher disponibles

Description

array openssl_get_cipher_methods ([ bool $aliases = false ] )

Récupère la liste des méthodes cipher disponibles.

Liste de paramètres

aliases

Passez TRUE si vous voulez que les alias de cipher soient inclus dans le tableau retourné.

Valeurs de retour

Un array des méthodes cipher disponibles.

Exemples

Exemple #1 Exemple openssl_get_cipher_methods()

Montre à quoi ressemblent les ciphers disponibles, ainsi que les alias disponibles.

<?php
$ciphers             = openssl_get_cipher_methods();
$ciphers_and_aliases = openssl_get_cipher_methods(true);
$cipher_aliases      = array_diff($ciphers_and_aliases, $ciphers);

print_r($ciphers);

print_r($cipher_aliases);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => AES-128-CBC
    [1] => AES-128-CFB
    [2] => AES-128-CFB1
    [3] => AES-128-CFB8
    [4] => AES-128-ECB
    [5] => AES-128-OFB
    [6] => AES-192-CBC
    [7] => AES-192-CFB
    [8] => AES-192-CFB1
    [9] => AES-192-CFB8
    [10] => AES-192-ECB
    [11] => AES-192-OFB
    [12] => AES-256-CBC
    [13] => AES-256-CFB
    [14] => AES-256-CFB1
    [15] => AES-256-CFB8
    [16] => AES-256-ECB
    [17] => AES-256-OFB
    [18] => BF-CBC
    [19] => BF-CFB
    [20] => BF-ECB
    [21] => BF-OFB
    [22] => CAST5-CBC
    [23] => CAST5-CFB
    [24] => CAST5-ECB
    [25] => CAST5-OFB
    [26] => DES-CBC
    [27] => DES-CFB
    [28] => DES-CFB1
    [29] => DES-CFB8
    [30] => DES-ECB
    [31] => DES-EDE
    [32] => DES-EDE-CBC
    [33] => DES-EDE-CFB
    [34] => DES-EDE-OFB
    [35] => DES-EDE3
    [36] => DES-EDE3-CBC
    [37] => DES-EDE3-CFB
    [38] => DES-EDE3-OFB
    [39] => DES-OFB
    [40] => DESX-CBC
    [41] => IDEA-CBC
    [42] => IDEA-CFB
    [43] => IDEA-ECB
    [44] => IDEA-OFB
    [45] => RC2-40-CBC
    [46] => RC2-64-CBC
    [47] => RC2-CBC
    [48] => RC2-CFB
    [49] => RC2-ECB
    [50] => RC2-OFB
    [51] => RC4
    [52] => RC4-40
    [53] => aes-128-cbc
    [54] => aes-128-cfb
    [55] => aes-128-cfb1
    [56] => aes-128-cfb8
    [57] => aes-128-ecb
    [58] => aes-128-ofb
    [59] => aes-192-cbc
    [60] => aes-192-cfb
    [61] => aes-192-cfb1
    [62] => aes-192-cfb8
    [63] => aes-192-ecb
    [64] => aes-192-ofb
    [65] => aes-256-cbc
    [66] => aes-256-cfb
    [67] => aes-256-cfb1
    [68] => aes-256-cfb8
    [69] => aes-256-ecb
    [70] => aes-256-ofb
    [71] => bf-cbc
    [72] => bf-cfb
    [73] => bf-ecb
    [74] => bf-ofb
    [75] => cast5-cbc
    [76] => cast5-cfb
    [77] => cast5-ecb
    [78] => cast5-ofb
    [79] => des-cbc
    [80] => des-cfb
    [81] => des-cfb1
    [82] => des-cfb8
    [83] => des-ecb
    [84] => des-ede
    [85] => des-ede-cbc
    [86] => des-ede-cfb
    [87] => des-ede-ofb
    [88] => des-ede3
    [89] => des-ede3-cbc
    [90] => des-ede3-cfb
    [91] => des-ede3-ofb
    [92] => des-ofb
    [93] => desx-cbc
    [94] => idea-cbc
    [95] => idea-cfb
    [96] => idea-ecb
    [97] => idea-ofb
    [98] => rc2-40-cbc
    [99] => rc2-64-cbc
    [100] => rc2-cbc
    [101] => rc2-cfb
    [102] => rc2-ecb
    [103] => rc2-ofb
    [104] => rc4
    [105] => rc4-40
)
Array
(
    [18] => AES128
    [19] => AES192
    [20] => AES256
    [21] => BF
    [26] => CAST
    [27] => CAST-cbc
    [32] => DES
    [47] => DES3
    [48] => DESX
    [50] => IDEA
    [55] => RC2
    [82] => aes128
    [83] => aes192
    [84] => aes256
    [85] => bf
    [90] => blowfish
    [91] => cast
    [92] => cast-cbc
    [97] => des
    [112] => des3
    [113] => desx
    [115] => idea
    [120] => rc2
)

Voir aussi

  • openssl_get_md_methods() - Récupère la liste des méthodes digest disponibles

openssl_free_key
openssl_get_md_methods
Fonctions OpenSSL


Récupère la liste des méthodes digest disponibles

openssl_get_cipher_methods
openssl_get_privatekey
Fonctions OpenSSL
PHP Manual

openssl_get_md_methods

(PHP 5 >= 5.3.0)

openssl_get_md_methods — Récupère la liste des méthodes digest disponibles

Description

array openssl_get_md_methods ([ bool $aliases = false ] )

Récupère la liste des méthodes digest disponibles.

Liste de paramètres

aliases

Passez TRUE si vous voulez que les alias de digest soient inclus dans le tableau retourné.

Valeurs de retour

Un array des méthodes digest disponibles.

Exemples

Exemple #1 Exemple openssl_get_md_methods()

Montre à quoi ressemblent les digests disponibles, ainsi que les alias disponibles.

<?php
$digests             = openssl_get_md_methods();
$digests_and_aliases = openssl_get_md_methods(true);
$digest_aliases      = array_diff($digests_and_aliases, $digests);

print_r($digests);

print_r($digest_aliases);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => DSA
    [1] => DSA-SHA
    [2] => MD2
    [3] => MD4
    [4] => MD5
    [5] => RIPEMD160
    [6] => SHA
    [7] => SHA1
    [8] => SHA224
    [9] => SHA256
    [10] => SHA384
    [11] => SHA512
    [12] => dsaEncryption
    [13] => dsaWithSHA
    [14] => ecdsa-with-SHA1
    [15] => md2
    [16] => md4
    [17] => md5
    [18] => ripemd160
    [19] => sha
    [20] => sha1
    [21] => sha224
    [22] => sha256
    [23] => sha384
    [24] => sha512
)
Array
(
    [2] => DSA-SHA1
    [3] => DSA-SHA1-old
    [4] => DSS1
    [9] => RSA-MD2
    [10] => RSA-MD4
    [11] => RSA-MD5
    [12] => RSA-RIPEMD160
    [13] => RSA-SHA
    [14] => RSA-SHA1
    [15] => RSA-SHA1-2
    [16] => RSA-SHA224
    [17] => RSA-SHA256
    [18] => RSA-SHA384
    [19] => RSA-SHA512
    [28] => dsaWithSHA1
    [29] => dss1
    [32] => md2WithRSAEncryption
    [34] => md4WithRSAEncryption
    [36] => md5WithRSAEncryption
    [37] => ripemd
    [39] => ripemd160WithRSA
    [40] => rmd160
    [43] => sha1WithRSAEncryption
    [45] => sha224WithRSAEncryption
    [47] => sha256WithRSAEncryption
    [49] => sha384WithRSAEncryption
    [51] => sha512WithRSAEncryption
    [52] => shaWithRSAEncryption
    [53] => ssl2-md5
    [54] => ssl3-md5
    [55] => ssl3-sha1
)

Voir aussi

  • openssl_digest() - Calcule un digest
  • openssl_get_cipher_methods() - Récupère la liste des méthodes cipher disponibles

openssl_get_cipher_methods
openssl_get_privatekey
Fonctions OpenSSL


Alias de openssl_pkey_get_private

openssl_get_md_methods
openssl_get_publickey
Fonctions OpenSSL
PHP Manual

openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_privatekey — Alias de openssl_pkey_get_private()

Description

Cette fonction est un alias de : openssl_pkey_get_private().

openssl_get_md_methods
openssl_get_publickey
Fonctions OpenSSL


Alias de openssl_pkey_get_public

openssl_get_privatekey
openssl_open
Fonctions OpenSSL
PHP Manual

openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_publickey — Alias de openssl_pkey_get_public()

Description

Cette fonction est un alias de : openssl_pkey_get_public().

openssl_get_privatekey
openssl_open
Fonctions OpenSSL


Ouvre des données scellées

openssl_get_publickey
openssl_pkcs12_export_to_file
Fonctions OpenSSL
PHP Manual

openssl_open

(PHP 4 >= 4.0.4, PHP 5)

openssl_open — Ouvre des données scellées

Description

bool openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id )

openssl_open() ouvre (déchiffre) les données sealed_data en utilisant la clé privée priv_key_id et la clé d'enveloppe env_key et remplit open_data avec les données déchiffrées. La clé d'enveloppe est générée lorsque les données sont scellées, et ne peut être utilisée qu'avec la clé privée spécifique. Reportez-vous à openssl_seal() pour plus d'informations.

Liste de paramètres

sealed_data

open_data

Si l'appel a réussi, les données ouvertes sont retournées dans ce paramètre.

env_key

priv_key_id

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec openssl_open()

<?php
// On suppose que $sealed et $env_key contiennent les données scellées
// et la clé d'enveloppe, fournies par l'expéditeur
// lecture de la clé privée dans un fichier
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// déchiffrage des données : elles sont placées dans $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "Voici les données déchiffrées : ", $open;
} else {
    echo "Impossible de déchiffrer les données";
}

// libération des ressources
openssl_free_key($pkeyid);
?>

Voir aussi

  • openssl_seal() - Scelle des données

openssl_get_publickey
openssl_pkcs12_export_to_file
Fonctions OpenSSL


Exporte un certificat compatible PKCS#12

openssl_open
openssl_pkcs12_export
Fonctions OpenSSL
PHP Manual

openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2)

openssl_pkcs12_export_to_file — Exporte un certificat compatible PKCS#12

Description

bool openssl_pkcs12_export_to_file ( mixed $x509 , string $filename , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export_to_file() stocke un certificat x509 dans un fichier nommé filename dans un format PKCS#12.

Liste de paramètres

x509

Voir les paramètres clés/Certificats pour une liste de valeurs valides.

filename

Chemin vers le fichier de sortie.

priv_key

Clé privée du fichier PKCS#12.

pass

Mot de passe de chiffrement pour déverrouiller le fichier PKCS#12.

args

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_open
openssl_pkcs12_export
Fonctions OpenSSL


Exporte un certificat compatible PKCS#12 dans une variable

openssl_pkcs12_export_to_file
openssl_pkcs12_read
Fonctions OpenSSL
PHP Manual

openssl_pkcs12_export

(PHP 5 >= 5.2.2)

openssl_pkcs12_export — Exporte un certificat compatible PKCS#12 dans une variable

Description

bool openssl_pkcs12_export ( mixed $x509 , string &$out , mixed $priv_key , string $pass [, array $args ] )

openssl_pkcs12_export() stocke un certificat x509 dans une chaîne nommée out dans un format PKCS#12.

Liste de paramètres

x509

Voir les paramètres clés/Certificats pour une liste de valeurs valides.

out

En cas de succès, cette variable contiendra le PKCS#12.

priv_key

Clé privée du fichier PKCS#12.

pass

Mot de passe de chiffrement pour déverrouiller le fichier PKCS#12.

args

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_pkcs12_export_to_file
openssl_pkcs12_read
Fonctions OpenSSL


Lit un certificat PKCS#12 dans un tableau

openssl_pkcs12_export
openssl_pkcs7_decrypt
Fonctions OpenSSL
PHP Manual

openssl_pkcs12_read

(PHP 5 >= 5.2.2)

openssl_pkcs12_read — Lit un certificat PKCS#12 dans un tableau

Description

bool openssl_pkcs12_read ( string $pkcs12 , array &$certs , string $pass )

openssl_pkcs12_read() lit le certificat PKCS#12 fourni par le paramètre pkcs12 dans un tableau nommé certs.

Liste de paramètres

pkcs12

certs

En cas de succès, ce tableau contiendra les données du certificat.

pass

Mot de passe de chiffrement pour déverrouiller le fichier PKCS#12.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_pkcs12_export
openssl_pkcs7_decrypt
Fonctions OpenSSL


Déchiffre un message S/MIME

openssl_pkcs12_read
openssl_pkcs7_encrypt
Fonctions OpenSSL
PHP Manual

openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_decrypt — Déchiffre un message S/MIME

Description

bool openssl_pkcs7_decrypt ( string $infilename , string $outfilename , mixed $recipcert [, mixed $recipkey ] )

Déchiffre le message S/MIME contenu dans le fichier infilename, en utilisant le certificat et la clé privée spécifiés par recipcert et recipkey.

Liste de paramètres

infilename

outfilename

Le message déchiffré est écrit dans le fichier spécifié par ce paramètre.

recipcert

recipkey

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec openssl_pkcs7_decrypt()

<?php
// $cert et $key contiennent vos certificats et clés privés
// On suppose aussi que le message vous est destiné
$infilename = "encrypted.msg";  // ce fichier contient votre message chiffré
$outfilename = "decrypted.msg"; // assurez-vous de pouvoir écrire dans ce fichier

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
    echo "déchiffré !";
} else {
    echo "Échec lors du déchiffrement !";
}
?>

openssl_pkcs12_read
openssl_pkcs7_encrypt
Fonctions OpenSSL


Chiffre un message S/MIME

openssl_pkcs7_decrypt
openssl_pkcs7_sign
Fonctions OpenSSL
PHP Manual

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encrypt — Chiffre un message S/MIME

Description

bool openssl_pkcs7_encrypt ( string $infile , string $outfile , mixed $recipcerts , array $headers [, int $flags = 0 [, int $cipherid = OPENSSL_CIPHER_RC2_40 ]] )

openssl_pkcs7_encrypt() prend le contenu du fichier infilename et le chiffre en utilisant un chiffrement RC2 à 40-bit, de manière à ce que le message ne puisse être lu que par le possesseur de recipcerts.

Liste de paramètres

infile

outfile

recipcerts

Soit un certificat X.509, soit un tableau de certificats X.509.

headers

headers est un tableau d'en-têtes qui seront ajoutés en tête de message, une fois que les données auront été chiffrées.

headers peut être un tableau associatif, dont les clés sont les noms d'en-tête, ou bien un tableau indexé dont chaque ligne contient un en-tête complet.

flags

flags peut être utilisé pour spécifier des options qui affecteront le chiffrement (voir les constantes PKCS7).

cipherid

Le chiffrement peut être sélectionné avec le paramètre cipherid.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | Ajout du paramètre cipherid.

Exemples

Exemple #1 Exemple avec openssl_pkcs7_encrypt()

<?php
// le message que vous souhaitez chiffrer et envoyer à votre agent secret
// en mission commandée, appelé "nighthawk". Vous avez son certificat
// dans le fichier "nighthawk.pem"
$data = <<<EOD
Nighthawk,

Top secret, uniquement votre lecture !

L'ennemi approche! Rendez-vous au café à 8 h 30,
pour votre faux passeport.

HQ
EOD;

// Chargement de la clé
$key = file_get_contents("nighthawk.pem");

// Sauvegarde du message dans un fichier
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// Chiffrons-le
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "nighthawk@example.com", // syntaxe sous forme de clé
          "From: HQ <hq@example.com>", // syntaxe sous forme d'indexe
          "Subject" => "Que pour vos yeux !"))) {
    // message chiffré - envoyez-le !
    exec(ini_get("sendmail_path") . " < enc.txt");
}
?>

openssl_pkcs7_decrypt
openssl_pkcs7_sign
Fonctions OpenSSL


Signe un message S/MIME

openssl_pkcs7_encrypt
openssl_pkcs7_verify
Fonctions OpenSSL
PHP Manual

openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_sign — Signe un message S/MIME

Description

bool openssl_pkcs7_sign ( string $infilename , string $outfilename , mixed $signcert , mixed $privkey , array $headers [, int $flags = PKCS7_DETACHED [, string $extracerts ]] )

openssl_pkcs7_sign() prend le contenu du fichier infilename et le signe en utilisant le certificat et la clé privée contenus dans les arguments signcert et privkey.

Liste de paramètres

infilename

outfilename

signcert

privkey

headers

headers est un tableau d'en-têtes qui seront ajoutés aux données chiffrées (voir la fonction openssl_pkcs7_encrypt() pour plus de détails sur le format du paramètre).

flags

flags sert à modifier le message final. Voyez les constantes PKCS7.

extracerts

extracerts spécifie le nom du fichier contenant un ensemble de certificats supplémentaires à inclure dans la signature, qui pourront aider le destinataire à vérifier les données que vous utilisez.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec openssl_pkcs7_sign()

<?php
// le message que vous voulez signer, afin que le destinataire soit sûr qu'il
// vient bien de vous
$data = <<<EOD

Tu peux dépenser jusqu'à 10000 euros en note de frais.

Ton boss
EOD;
// sauvez le message dans un fichier
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
    array("file://mycert.pem", "mypassphrase"),
    array("To" => "joes@example.com", // syntaxe à clé
          "From: HQ <ceo@example.com>", // syntaxe indexée
          "Subject" => "Eyes only")
    )) {
    // message signée - envoyez-le !
    exec(ini_get("sendmail_path") . " < signed.txt");
}
?>

openssl_pkcs7_encrypt
openssl_pkcs7_verify
Fonctions OpenSSL


Vérifie la signature d'un message S/MIME

openssl_pkcs7_sign
openssl_pkey_export_to_file
Fonctions OpenSSL
PHP Manual

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verify — Vérifie la signature d'un message S/MIME

Description

mixed openssl_pkcs7_verify ( string $filename , int $flags [, string $outfilename [, array $cainfo [, string $extracerts [, string $content ]]]] )

openssl_pkcs7_verify() lit le message S/MIME contenu dans le fichier filename et examine la signature digitale.

Liste de paramètres

filename

Chemin vers le message.

flags

flags sert à modifier la façon dont la signature est vérifiée. Voyez les constantes PKCS7. Par défaut, la valeur est : PKCS7_DETACHED.

outfilename

Si le paramètre outfilename est spécifié, il doit être une chaîne contenant le nom d'un fichier qui contient le certificat du signataire, au format PEM.

cainfo

Si le paramètre cainfo est spécifié, il doit contenir les informations sur les tiers de certificats de confiance utilisé lors de la vérification. Voyez vérification des certificats pour plus de détails.

extracerts

Si le paramètre extracerts est spécifié, il doit représenter le nom d'un fichier contenant un ensemble de certificats utilisés comme certificats de peu de confiance.

content

Vous pouvez spécifier un nom de fichier avec le paramètre content qui peut être remplit avec les données vérifiées, mais avec les informations de signature.

Valeurs de retour

Retourne TRUE si la signature est vérifiée, et FALSE sinon (le message a été modifié, ou bien le certificat de signature est invalide) ou -1 si une erreur survient.

Historique

Version | Description
5.1.0 | Ajout du paramètre content.

Notes

Note: Tel que spécifié dans la RFC 2045, les lignes ne doivent pas être plus longues que 76 caractères dans le paramètre filename.

openssl_pkcs7_sign
openssl_pkey_export_to_file
Fonctions OpenSSL


Sauve une clé au format ASCII dans un fichier

openssl_pkcs7_verify
openssl_pkey_export
Fonctions OpenSSL
PHP Manual

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export_to_file — Sauve une clé au format ASCII dans un fichier

Description

bool openssl_pkey_export_to_file ( mixed $key , string $outfilename [, string $passphrase [, array $configargs ]] )

openssl_pkey_export_to_file() sauve la clé au format ASCII (PEM) key dans le fichier outfilename.

Note: Vous devez avoir un fichier openssl.cnf valide et installé pour que cette fonction opère correctement. Voir les notes se trouvant dans la section concernant l'installation pour plus d'informations.

Liste de paramètres

key

outfilename

Chemin du fichier de sortie.

passphrase

La clé peut éventuellement être protégée par un mot de passe.

configargs

configargs peut être utilisé pour calibrer le processus d'exportation en spécifiant ou remplaçant les options du fichier de configuration d'OpenSSl. Voyez openssl_csr_new() pour plus d'informations sur configargs.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_pkcs7_verify
openssl_pkey_export
Fonctions OpenSSL


Stocke une représentation exportable de la clé dans une chaîne de caractères

openssl_pkey_export_to_file
openssl_pkey_free
Fonctions OpenSSL
PHP Manual

openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export — Stocke une représentation exportable de la clé dans une chaîne de caractères

Description

bool openssl_pkey_export ( mixed $key , string &$out [, string $passphrase [, array $configargs ]] )

openssl_pkey_export() exporte la clé key sous forme de chaîne au format PEM, et la stocke dans la variable out (qui est passée par référence).

Note: Vous devez avoir un fichier openssl.cnf valide et installé pour que cette fonction opère correctement. Voir les notes se trouvant dans la section concernant l'installation pour plus d'informations.

Liste de paramètres

key

out

passphrase

La clé est éventuellement protégée par le mot de passe passphrase.

configargs

configargs peut être utilisé pour calibrer le processus d'exportation en spécifiant ou remplaçant les options du fichier de configuration d'OpenSSl. Voyez openssl_csr_new() pour plus d'informations sur configargs.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_pkey_export_to_file
openssl_pkey_free
Fonctions OpenSSL


Libère une clé privée

openssl_pkey_export
openssl_pkey_get_details
Fonctions OpenSSL
PHP Manual

openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_free — Libère une clé privée

Description

void openssl_pkey_free ( resource $key )

Libère une clé privée créée par la fonction openssl_pkey_new().

Liste de paramètres

key

Ressource représentant la clé.

Valeurs de retour

Aucune valeur n'est retournée.

openssl_pkey_export
openssl_pkey_get_details
Fonctions OpenSSL


Retourne un tableau contenant le détail d'une clé

openssl_pkey_free
openssl_pkey_get_private
Fonctions OpenSSL
PHP Manual

openssl_pkey_get_details

(PHP 5 >= 5.2.0)

openssl_pkey_get_details — Retourne un tableau contenant le détail d'une clé

Description

array openssl_pkey_get_details ( resource $key )

Retourne les détails d'une clé (bits, key, type).

Liste de paramètres

key

Ressource représentant la clé.

Valeurs de retour

Retourne un tableau avec les détails de la clé en cas de succès, ou FALSE si une erreur survient. Le tableau retourné contient l'index bits (nombre d'octets), key (représentation sous forme de chaîne de caractères de la clé publique) et type (type de clé, parmi les constantes OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC ou -1, signifiant "inconnu").

openssl_pkey_free
openssl_pkey_get_private
Fonctions OpenSSL


Lit une clé privée

openssl_pkey_get_details
openssl_pkey_get_public
Fonctions OpenSSL
PHP Manual

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_private — Lit une clé privée

Description

resource openssl_pkey_get_private ( mixed $key [, string $passphrase = "" ] )

openssl_pkey_get_private() analyse la clé key et la prépare pour être utilisée par d'autres fonctions.

Liste de paramètres

key

key peut être l'une des valeurs suivantes :

  1. une chaîne au format file://path/to/file.pem. Le fichier ainsi désigné doit contenir une clé privée ou un certificat au format PEM (éventuellement les deux).
  2. Une clé privée au format PEM.

passphrase

Le paramètre optionnel passphrase doit être utilisé si la clé spécifiée est chiffrée (protégée par un mot de passe).

Valeurs de retour

Retourne une ressource positive représentant une clé en cas de succès, ou FALSE si une erreur survient.

openssl_pkey_get_details
openssl_pkey_get_public
Fonctions OpenSSL


Extrait une clé publique d'un certificat, et la prépare

openssl_pkey_get_private
openssl_pkey_new
Fonctions OpenSSL
PHP Manual

openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_public — Extrait une clé publique d'un certificat, et la prépare

Description

resource openssl_pkey_get_public ( mixed $certificate )

openssl_get_publickey() extrait la clé publique du certificat certificate et la prépare pour être utilisée par les autres fonctions.

Liste de paramètres

certificate

certificate peut avoir l'une des valeurs suivantes :

  1. Une ressource d'un certificat X.509.
  2. Une chaîne au format file://path/to/file.pem. Le fichier ainsi désigné doit contenir une clé privée ou un certificat au format PEM (éventuellement les deux).
  3. Une clé privée au format PEM.

Valeurs de retour

Retourne une ressource positive, représentant une clé en cas de succès, ou FALSE si une erreur survient.

openssl_pkey_get_private
openssl_pkey_new
Fonctions OpenSSL


Génère une nouvelle clé privée

openssl_pkey_get_public
openssl_private_decrypt
Fonctions OpenSSL
PHP Manual

openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_new — Génère une nouvelle clé privée

Description

resource openssl_pkey_new ([ array $configargs ] )

openssl_pkey_new() génère une nouvelle paire de clés, une privée et une publique. La partie publique en est accessible via la fonction openssl_pkey_get_public().

Note: Vous devez avoir un fichier openssl.cnf valide et installé pour que cette fonction opère correctement. Voir les notes se trouvant dans la section concernant l'installation pour plus d'informations.

Liste de paramètres

configargs

Vous pouvez calibrer la génération de la clé (comme le nombre de bits) en utilisant le paramètre configargs. Voir la fonction openssl_csr_new() pour plus de détails sur configargs.

Valeurs de retour

Retourne un identifiant de ressource pour la pkey en cas de succès, FALSE sinon.

openssl_pkey_get_public
openssl_private_decrypt
Fonctions OpenSSL


Déchiffre des données avec une clé privée

openssl_pkey_new
openssl_private_encrypt
Fonctions OpenSSL
PHP Manual

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_decrypt — Déchiffre des données avec une clé privée

Description

bool openssl_private_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_private_decrypt() déchiffre data qui a été chiffrée précédemment avec openssl_private_encrypt(), puis stocke le résultat dans la variable decrypted.

Vous pouvez utiliser cette fonction pour déchiffrer les données qui sont supposées vous être personnellement adressées.

Liste de paramètres

data

decrypted

key

key doit être la clé privée utilisée pour chiffrer les données.

padding

padding peut être OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING ou OPENSSL_NO_PADDING.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openssl_public_encrypt() - Chiffre des données avec une clé publique
  • openssl_public_decrypt() - Déchiffre des données avec une clé publique

openssl_pkey_new
openssl_private_encrypt
Fonctions OpenSSL


Chiffre des données avec une clé privée

openssl_private_decrypt
openssl_public_decrypt
Fonctions OpenSSL
PHP Manual

openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_encrypt — Chiffre des données avec une clé privée

Description

bool openssl_private_encrypt ( string $data , string &$crypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_private_encrypt() chiffre les données data avec la clé privée key et stocke le résultat dans crypted. Les données chiffrées peuvent être déchiffrées avec la fonction openssl_public_decrypt().

Cette fonction peut être utilisée pour signer les données (ou leurs chiffrements) pour prouver qu'elles n'ont pas été écrites par une autre personne.

Liste de paramètres

data

crypted

key

padding

Le paramètre padding peut être OPENSSL_PKCS1_PADDING ou OPENSSL_NO_PADDING.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openssl_public_encrypt() - Chiffre des données avec une clé publique
  • openssl_public_decrypt() - Déchiffre des données avec une clé publique

openssl_private_decrypt
openssl_public_decrypt
Fonctions OpenSSL


Déchiffre des données avec une clé publique

openssl_private_encrypt
openssl_public_encrypt
Fonctions OpenSSL
PHP Manual

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decrypt — Déchiffre des données avec une clé publique

Description

bool openssl_public_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_public_decrypt() déchiffre les données data qui ont été chiffrées avec la fonction openssl_private_encrypt() et stocke le résultat dans decrypted.

Vous pouvez utiliser cette fonction pour vérifier si le message a été écrit par le propriétaire de la clé privée.

Liste de paramètres

data

decrypted

key

key doit être la clé publique qui a été utilisée pour chiffrer les données.

padding

padding peut être OPENSSL_PKCS1_PADDING ou OPENSSL_NO_PADDING.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openssl_private_encrypt() - Chiffre des données avec une clé privée
  • openssl_private_decrypt() - Déchiffre des données avec une clé privée

openssl_private_encrypt
openssl_public_encrypt
Fonctions OpenSSL


Chiffre des données avec une clé publique

openssl_public_decrypt
openssl_random_pseudo_bytes
Fonctions OpenSSL
PHP Manual

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_encrypt — Chiffre des données avec une clé publique

Description

bool openssl_public_encrypt ( string $data , string &$crypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] )

openssl_public_encrypt() chiffre les données data avec la clé publique key et stocke le résultat dans crypted. Les données chiffrées peuvent être déchiffrées avec la fonction openssl_private_decrypt().

Cette fonction peut être utilisée pour chiffrer un message qui pourra être lu uniquement par le propriétaire de la clé privée. Elle peut être également utilisée pour stocker des données sécurisées dans une base de données.

Liste de paramètres

data

crypted

Contiendra le résultat du chiffrage.

key

La clé publique.

padding

padding peut être OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING ou OPENSSL_NO_PADDING.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • openssl_private_encrypt() - Chiffre des données avec une clé privée
  • openssl_private_decrypt() - Déchiffre des données avec une clé privée

openssl_public_decrypt
openssl_random_pseudo_bytes
Fonctions OpenSSL


Génère une chaine pseudo-aléatoire d'octets

openssl_public_encrypt
openssl_seal
Fonctions OpenSSL
PHP Manual

openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0)

openssl_random_pseudo_bytes — Génère une chaine pseudo-aléatoire d'octets

Description

string openssl_random_pseudo_bytes ( string $length [, bool &$crypto_strong ] )

Génère une chaîne de caractères pseudo-aléatoire d'octets, dont la longueur est spécifiée par le paramètre length.

Indique également si l'algorithme fort de cryptologie a été utilisé pour produire ces octets pseudo-aléatoires, en utilisant le paramètre crypto_strong.

Liste de paramètres

length

La taille désirée pour la chaine d'octets. Un entier positif est demandé. PHP va tenter de transtyper ce paramètre en un entier non nul pour l'utiliser.

crypto_strong

Si fourni, détermine si l'agorithme de cryptologie utilisé doit être fort, i.e. sécurisé lorsqu'utilisé avec GPG, les mots de passe, etc... TRUE s'il le doit, FALSE sinon.

Valeurs de retour

Retourne la chaine d'octets générée en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple openssl_random_pseudo_bytes()

<?php
for ($i = -1; $i <= 4; $i++) {
    $bytes = openssl_random_pseudo_bytes($i, $cstrong);
    $hex   = bin2hex($bytes);

    echo "Longueur : Octets : $i et Hex: " . strlen($hex) . PHP_EOL;
    var_dump($hex);
    var_dump($cstrong);
    echo PHP_EOL;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Longueur : Octets : -1 et Hex: 0
string(0) ""
NULL

Longueur : Octets : 0 et Hex: 0
string(0) ""
NULL

Longueur : Octets : 1 et  Hex: 2
string(2) "42"
bool(true)

Longueur : Octets : 2 et Hex: 4
string(4) "dc6e"
bool(true)

Longueur : Octets : 3 et Hex: 6
string(6) "288591"
bool(true)

Longueur : Octets : 4 et Hex: 8
string(8) "ab86d144"
bool(true)

Voir aussi

  • bin2hex() - Convertit des données binaires en représentation hexadécimale
  • crypt() - Hachage à sens unique (indéchiffrable)
  • mt_rand() - Génère une meilleure valeur aléatoire
  • uniqid() - Génère un identifiant unique
openssl_public_encrypt
openssl_seal
Fonctions OpenSSL


Scelle des données

openssl_random_pseudo_bytes
openssl_sign
Fonctions OpenSSL
PHP Manual

openssl_seal

(PHP 4 >= 4.0.4, PHP 5)

openssl_seal — Scelle des données

Description

int openssl_seal ( string $data , string &$sealed_data , array &$env_keys , array $pub_key_ids )

openssl_seal() chiffre les données data en utilisant l'algorithme RC4 avec une clé secrète générée aléatoirement. La clé est chiffrée avec chaque clé publique associée à pub_key_ids et chaque clé ainsi chiffrée est retournée dans env_keys. Cela signifie que vous pouvez envoyer des données scellées à plusieurs destinataires (en supposant que chacun ait reçu la clé publique). Chaque destinataire doit recevoir les données chiffrées et la clé d'enveloppe, qui a été chiffrée avec la clé publique du destinataire.

Liste de paramètres

data

sealed_data

env_keys

pub_key_ids

Valeurs de retour

Retourne la longueur des données scellées en cas de succès, et FALSE sinon. En cas de succès, les données scellées sont placées dans le paramètre sealed_data, et les clés d'enveloppe dans env_keys.

Exemples

Exemple #1 Exemple avec openssl_seal()

<?php
// On suppose que $data contient les données à sceller
// lecture de la clé publique pour chaque destinataire
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// pour le deuxième destinataire
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// scelle le message : seuls, les possesseurs de $pk1 et $pk2 peuvent déchiffrer
// le message $sealed avec les clés $ekeys[0] et $ekeys[1] (respectivement).
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// libère les clés de la mémoire
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

Voir aussi

  • openssl_open() - Ouvre des données scellées

openssl_random_pseudo_bytes
openssl_sign
Fonctions OpenSSL


Signe les données

openssl_seal
openssl_verify
Fonctions OpenSSL
PHP Manual

openssl_sign

(PHP 4 >= 4.0.4, PHP 5)

openssl_sign — Signe les données

Description

bool openssl_sign ( string $data , string &$signature , mixed $priv_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

openssl_sign() calcule la signature des données data en utilisant l'algorithme SHA1 (hashing) suivi du chiffrage avec la clé privée priv_key_id. Notez que les données elles-mêmes ne sont pas chiffrées.

Liste de paramètres

data

signature

Si l'appel à la fonction est un succès, la signature sera retournée dans le paramètre signature.

priv_key_id

signature_alg

Pour plus d'informations, reportez-vous à la liste des algorithmes de signature.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | Ajout du paramètre signature_alg.

Exemples

Exemple #1 Exemple avec openssl_sign()

<?php
// On suppose que $data contient les données à signer
// lecture de la clé publique pour chaque destinataire
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// calcule de la signature
openssl_sign($data, $signature, $pkeyid);

// libère les clés de la mémoire
openssl_free_key($pkeyid);
?>

Voir aussi

  • openssl_verify() - Vérifie une signature

openssl_seal
openssl_verify
Fonctions OpenSSL


Vérifie une signature

openssl_sign
openssl_x509_check_private_key
Fonctions OpenSSL
PHP Manual

openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify — Vérifie une signature

Description

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )

openssl_verify() vérifie que la signature signature est correcte pour les données data, et avec la clé publique pub_key_id. Cette clé doit être la clé publique correspondant à la clé privée utilisée lors de la signature.

Liste de paramètres

data

signature

pub_key_id

signature_alg

Pour plus d'informations, reportez-vous à la liste des algorithmes de signature.

Valeurs de retour

Retourne 1 si la signature est correcte, 0 si elle est incorrecte et -1 si une erreur survient.

Historique

Version | Description
5.0.0 | Ajout du paramètre signature_alg.

Exemples

Exemple #1 Exemple avec openssl_verify()

<?php
// On suppose que $data et $signature contiennent les données à signer et
// la signature.
// Lecture de la clé publique depuis le certificat
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);

// indique si la signature est correcte
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "Signature valide";
} elseif ($ok == 0) {
    echo "Signature erronée";
} else {
    echo "Erreur de vérification de la signature";
}
// libère les clés de la mémoire
openssl_free_key($pubkeyid);
?>

Voir aussi

  • openssl_sign() - Signe les données

openssl_sign
openssl_x509_check_private_key
Fonctions OpenSSL


Vérifie si une clé privée correspond à un certificat

openssl_verify
openssl_x509_checkpurpose
Fonctions OpenSSL
PHP Manual

openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_check_private_key — Vérifie si une clé privée correspond à un certificat

Description

bool openssl_x509_check_private_key ( mixed $cert , mixed $key )

Vérifie si le paramètre key fourni est la clé privée qui correspond à cert.

Liste de paramètres

cert

Le certificat.

key

La clé privée.

Valeurs de retour

Retourne TRUE si key est la clé privée qui correspond à cert, ou FALSE sinon.

openssl_verify
openssl_x509_checkpurpose
Fonctions OpenSSL


Vérifie l'usage d'un certificat

openssl_x509_check_private_key
openssl_x509_export_to_file
Fonctions OpenSSL
PHP Manual

openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_checkpurpose — Vérifie l'usage d'un certificat

Description

int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] )

openssl_x509_checkpurpose() examine le certificat spécifié par x509cert, pour voir s'il peut être utilisé pour une opération particulière purpose.

Liste de paramètres

x509cert

Le certificat examiné.

purpose

Utilisation de openssl_x509_checkpurpose()
Constante | Description
X509_PURPOSE_SSL_CLIENT | Est-ce que le certificat peut être utilisé avec le client d'une connexion SSL ?
X509_PURPOSE_SSL_SERVER | Est-ce que le certificat peut être utilisé avec le serveur d'une connexion SSL ?
X509_PURPOSE_NS_SSL_SERVER | Est-ce que le certificat peut être utilisé avec un serveur Netscape d'une connexion SSL ?
X509_PURPOSE_SMIME_SIGN | Est-ce que le certificat peut être utilisé pour signer des courriers à la norme S/MIME ?
X509_PURPOSE_SMIME_ENCRYPT | Est-ce que le certificat peut être utilisé pour chiffrer un courrier au format S/MIME ?
X509_PURPOSE_CRL_SIGN | Est-ce que le certificat peut être utilisé pour chiffrer une liste de révocation de certificats ? (CRL)?
X509_PURPOSE_ANY | Est-ce que le certificat peut être utilisé pour n'importe lequel de ces cas ?
Ces options ne sont pas des champs de bits : vous ne pouvez en passer qu'une seule à la fois.

cainfo

cainfo doit être un tableau de dossiers/fichiers de CA de confiance comme décrit dans la Vérification des certificats.

untrustedfile

Si spécifié, est le nom d'un fichier au format PEM contenant les certificats qui pourront aider lors de la vérification du certificat, même si une confiance limitée doit leur être portée.

Valeurs de retour

Retourne TRUE si le certificat peut être utilisé pour un but particulier, FALSE s'il ne le peut pas, ou -1 si une erreur survient.

openssl_x509_check_private_key
openssl_x509_export_to_file
Fonctions OpenSSL


Exporte un certificat vers un fichier

openssl_x509_checkpurpose
openssl_x509_export
Fonctions OpenSSL
PHP Manual

openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export_to_file — Exporte un certificat vers un fichier

Description

bool openssl_x509_export_to_file ( mixed $x509 , string $outfilename [, bool $notext ] )

openssl_x509_export_to_file() stocke un certificat x509 dans le fichier outfilename au format PRM.

Liste de paramètres

x509

Voir les paramètres clés/Certificats pour une liste de valeurs valides.

outfilename

Chemin du fichier de sortie.

notext

Le paramètre optionnel notext affecte le niveau verbeux de l'affichage ; s'il vaut FALSE, des informations humainement lisibles seront ajoutées dans l'affichage. Par défaut, le paramètre notext vaut TRUE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_x509_checkpurpose
openssl_x509_export
Fonctions OpenSSL


Exporte un certificat vers une chaîne de caractères

openssl_x509_export_to_file
openssl_x509_free
Fonctions OpenSSL
PHP Manual

openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export — Exporte un certificat vers une chaîne de caractères

Description

bool openssl_x509_export ( mixed $x509 , string &$output [, bool $notext ] )

openssl_x509_export() stocke un certificat x509 dans le fichier output au format PRM.

Liste de paramètres

x509

Voir les paramètres clés/Certificats pour une liste de valeurs valides.

output

En cas de succès, contiendra le PEM.

notext

Le paramètre optionnel notext affecte le niveau verbeux de l'affichage ; s'il vaut FALSE, des informations humainement lisibles seront ajoutées dans l'affichage. Par défaut, le paramètre notext vaut TRUE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

openssl_x509_export_to_file
openssl_x509_free
Fonctions OpenSSL


Libère les ressources prises par un certificat

openssl_x509_export
openssl_x509_parse
Fonctions OpenSSL
PHP Manual

openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_free — Libère les ressources prises par un certificat

Description

void openssl_x509_free ( resource $x509cert )

openssl_x509_free() libère les ressources prises par le certificat x509cert.

Liste de paramètres

x509cert

Valeurs de retour

Aucune valeur n'est retournée.

openssl_x509_export
openssl_x509_parse
Fonctions OpenSSL


Analyse un certificat X509

openssl_x509_free
openssl_x509_read
Fonctions OpenSSL
PHP Manual

openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_parse — Analyse un certificat X509

Description

array openssl_x509_parse ( mixed $x509cert [, bool $shortnames = true ] )

openssl_x509_parse() analyse le certificat X509 x509cert, et retourne les informations contenues dedans, y compris le sujet (subject), nom (name), émetteur (issuer name), dates de début et de fin (valid from date et valid to date), etc.

Liste de paramètres

x509cert

shortnames

shortnames contrôle l'indexation des données dans le tableau : si shortnames vaut TRUE (valeur par défaut), alors les champs seront indexés avec la forme courte des noms, sinon, les noms longs seront utilisés. (par exemple, CN est le nom court de commonName).

Valeurs de retour

La structure des données retournées est (délibérément) non documentée, car elle est sujette à des changements sans préavis.

openssl_x509_free
openssl_x509_read
Fonctions OpenSSL


Analyse un certificat X.509 et retourne une ressource

openssl_x509_parse
Extensions sur les bases de données
Fonctions OpenSSL
PHP Manual

openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_read — Analyse un certificat X.509 et retourne une ressource

Description

resource openssl_x509_read ( mixed $x509certdata )

openssl_x509_read() analyse le certificat x509certdata et retourne un identifiant de ressource.

Liste de paramètres

x509certdata

Valeurs de retour

Retourne une ressource en cas de succès ou FALSE si une erreur survient.

openssl_x509_parse
Extensions sur les bases de données
Fonctions OpenSSL


Extensions sur les bases de données

  • Interface d'abstraction
    • DBA — Couche d'abstraction de base de données (style dbm)
    • dbx
    • ODBC — ODBC (Unifié)
    • PDO — PHP Data Objects
  • Extensions spécifiques des fabricants de bases de données
    • dBase
    • DB++
    • FrontBase
    • filePro
    • Firebird/InterBase
    • Informix
    • IBM DB2 — Fonctions IBM DB2, Cloudscape et Apache Derby
    • Ingres — Ingres DBMS, EDBC, et Enterprise Access
    • MaxDB
    • Mongo — Base de données Mongo
    • mSQL
    • Mssql — Serveur MS SQL
    • MySQL
    • mysqli — Extension mysqli
    • Mysqlnd — Le pilote natif MySQL
    • OCI8 — Oracle OCI8
    • SQL Ovrimos
    • Paradox
    • PostgreSQL
    • SQLite
    • SQLite3
    • Sybase
    • tokyo_tyrant
openssl_x509_read
Interface d'abstraction
Référence des fonctions


Interface d'abstraction

  • DBA — Couche d'abstraction de base de données (style dbm)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions DBA
  • dbx
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions dbx
  • ODBC — ODBC (Unifié)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions ODBC
  • PDO — PHP Data Objects
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Connexions et gestionnaire de connexion
    • Transactions et validation automatique (autocommit)
    • Requêtes préparées et procédures stockées
    • Les erreurs et leur gestion
    • Les objets larges (LOB)
    • PDO — La classe PDO
    • PDOStatement — La classe PDOStatement
    • PDOException — La classe PDOException
    • Pilotes PDO
Extensions sur les bases de données
DBA
Extensions sur les bases de données


Couche d'abstraction de base de données (style dbm)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation
  • Fonctions DBA
    • dba_close — Ferme une base DBA
    • dba_delete — Efface une ligne dans une base DBA
    • dba_exists — Vérifie qu'une clé DBA existe
    • dba_fetch — Lit les données liées à une clé DBA
    • dba_firstkey — Lit la première clé DBA
    • dba_handlers — Liste les gestionnaires DBA disponibles
    • dba_insert — Insère une entrée DBA
    • dba_key_split — Transforme une représentation de clé DBA par chaîne en une représentation par tableau
    • dba_list — Liste tous les fichiers de bases de données DBA ouverts
    • dba_nextkey — Lit la clé DBA suivante
    • dba_open — Ouvre une base de données DBA
    • dba_optimize — Optimise une base DBA
    • dba_popen — Ouvre une connexion persistante à une base de données DBA
    • dba_replace — Remplace ou insère une ligne DBA
    • dba_sync — Synchronise une base de données DBA
Interface d'abstraction
Introduction
Interface d'abstraction


Introduction

Ces fonctions permettent l'accès aux bases de données du style Berkeley DB.

C'est une couche d'abstraction générale pour plusieurs bases de données, basées sur des fichiers. Raison pour laquelle les fonctionnalités sont limitées à des actions communes supportées par les bases de données modernes, comme » Oracle Berkeley DB.

DBA
Installation/Configuration
DBA


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
DBA


Pré-requis

Le comportement de certains aspects dépend de l'implémentation de la base de données sous-jacente. Les fonctions comme dba_optimize() et dba_sync() fonctionnent comme prévues pour une base de données, et ne feront strictement rien sur d'autres. Vous devez télécharger et installer les gestionnaires DBA supportés.

Liste des gestionnaires DBA
Gestionnaire | Notes
dbm | DBM est la plus ancienne (l'originale) des bases de données de style Berkeley DB. Vous devriez éviter de l'utiliser si vous en avez le choix. Nous ne fournissons pas de support de la compatibilité des fonctions internes à DB2 et gdbm, car elles ne sont compatibles qu'au niveau source du code, mais ne peuvent pas gérer le format original DBM.
ndbm | Ndbm est un type nouveau et plus flexible que dbm. Il comporte néanmoins des limitations arbitraires de dbm (et par conséquence, il est obsolète).
gdbm | Gdbm est un » gestionnaire de bases de données GNU.
db2 | » Oracle Berkeley DB 2. Il est décrit comme étant un toolkit fournissant un support haute performance pour les bases de données, aussi bien du côté client que du côté serveur.
db3 | » Oracle Berkeley DB 3.
db4 | » Oracle Berkeley DB 4 ou 5. Cette option est disponible depuis PHP 4.3.2. Elle peut être utilisée avec BDB 5 depuis PHP 5.3.3.
cdb | Cdb est un paquet rapide, léger et fiable pour créer et lire des bases de données constantes. Il a été créé par l'auteur de qmail et peut être trouvé sur » http://cr.yp.to/cdb.html. Vu qu'il est "constant", nous ne supporterons donc que les opérations de lecture. Depuis PHP 4.3.0, nous supportons également l'écriture (et non la mise à jour) via la bibliothèque interne cdb.
cdb_make | Depuis PHP 4.3.0, nous supportons l'écriture (et non la mise à jour) des fichiers cdb lorsque la bibliothèque cdb est utilisée.
flatfile | Supporté depuis PHP 4.3.0 pour des raisons de compatibilité avec l'extension obsolète dbm. Cependant, vous pouvez l'utiliser lorsque les fichiers ont été créés dans ce format. Survient lorsque la configuration n'a pas réussi à trouver de bibliothèque externe.
inifile | Disponible depuis PHP 4.3.3 afin de permettre de modifier les fichiers php.ini depuis des scripts PHP. Lorsque vous utilisez des fichiers ini, vous pouvez passer des tableaux de la forme (0=>groupe,1=>nom_valeur) ou des chaînes de la forme "[groupe]nom_valeur" où le groupe est optionnel. Sachant que les fonctions dba_firstkey() et dba_nextkey() retournent une chaîne de caractères représentant la clé, il y a une nouvelle fonction, dba_key_split(), disponible depuis PHP 5 qui permet de convertir les clés en tableaux sans déperdition.
qdbm | Disponible depuis PHP 5.0.0. La bibliothèque peut être téléchargée depuis » http://qdbm.sourceforge.net/.

Lorsque vous appelez la fonction dba_open() ou la fonction dba_popen(), un des noms de gestionnaire doit être fournit comme argument. La liste des gestionnaires disponibles peut être affichée en utilisant la fonction phpinfo() ou la fonction dba_handlers().

Installation/Configuration
Installation
Installation/Configuration


Installation

En utilisant l'option de compilation --enable-dba=shared, vous pouvez compiler un module dynamique qui activera le support des bases de données de style DBM pour PHP. Vous devez aussi ajouter le support d'au moins l'un des gestionnaires suivants, en spécifiant l'option de configuration --with-XXXX lors de la configuration de PHP.

Avertissement

Après avoir configuré et compilé PHP, vous devez exécuter les test suivants à partir de la ligne de commande : php run-tests.php ext/dba. Cela montre si votre combinaison de pilotes fonctionne. Les plus problématiques sont dbm et ndbm qui entrent en conflit avec nombre d'installations. Ceci est dû au fait que sur de nombreux systèmes, ces bibliothèques font parties de plus d'une bibliothèque. Le test de configuration vous empêche juste de configurer des descripteurs dont la combinaison est défectueuse alors qu'ils fonctionnent correctement séparément.

Gestionnaires DBA supportés
Gestionnaire | Option de configuration
dbm

Pour activer le support de dbm, ajoutez --with-dbm[=DIR].

Note: dbm est une surcouche qui aboutit souvent à des échecs. Ainsi, vous ne devez utiliser dbm que si vous êtes sûrs qu'il fonctionne et que vous avez besoin de ce format.

ndbm

Pour activer le support de ndbm, ajoutez --with-ndbm[=DIR].

Note: ndbm est une surcouche qui aboutit souvent à des échecs. Ainsi, vous ne devez utiliser ndbm que si vous êtes sûrs qu'il fonctionne et que vous avez besoin de ce format.

gdbm | Pour activer le support de gdbm, ajoutez --with-gdbm[=DIR].
db2

Pour activer le support de Oracle Berkeley DB 2, ajoutez --with-db2[=DIR].

Note: db2 entre en conflit avec db3 et db4.

db3

Pour activer le support de Oracle Berkeley DB 3, ajoutez --with-db3[=DIR].

Note: db3 entre en conflit avec db2 et db4.

db4

Pour activer le support de Oracle Berkeley DB 4, ajoutez --with-db4[=DIR].

Note: db4 entre en conflit avec db2 et db3.

Note: L'option db4 a été introduite avec PHP 4.3.2. Dans des versions précédentes de PHP, vous devez utiliser --with-db3=DIR où DIR pointe vers le répertoire ou se situe la bibliothèque db4. Il n'est pas possible d'utiliser des versions de db supérieures à 4.1 avec des versions de PHP antérieures à 4.3.0. De même, les bibliothèques db avec des versions allant de 4.1 à 4.1.24 ne peuvent être utilisées avec aucune version de PHP.
Le support DB5 a été ajouté en PHP 5.3.3.

cdb

Pour activer le support de cdb, ajoutez --with-cdb[=DIR].

Note: Depuis PHP 4.3.0, vous pouvez omettre d'utiliser DIR, afin d'exploiter la bibliothèque cdb fournie avec PHP, qui ajoute un gestionnaire cdb_make, permet la création de fichier cdb et permet l'accès aux fichiers cbd via le réseau avec les flux de PHP.

flatfile

Pour activer le support des fichiers, ajoutez --with-flatfile.

Note: Ceci a été ajouté à PHP 4.3.0 pour assurer la compatibilité avec l'extension dbm qui est obsolète. Utilisez ce gestionnaire seulement quand vous ne pouvez installer aucun autre gestionnaire et que vous ne pouvez pas utiliser le gestionnaire cdb intégré.

inifile

Pour activer le support de inifile, ajoutez l'option de compilation --with-inifile.

Note: Cette option a été ajoutée avec PHP 5.0.0 et permet de lire et écrire dans des fichiers d'initialisation de type Microsoft (.ini), comme le php.ini par exemple.

qdbm

Pour activer le support de qdbm, ajoutez l'option de compilation --with-qdbm[=DIR].

Note: qdbm entre en conflit avec dbm et gdbm.

Note: Cette option a été ajoutée avec PHP 5.0.0. La bibliothèque qdbm peut être téléchargée sur » http://qdbm.sourceforge.net/.

Note: Jusqu'en PHP 4.3.0, il était possible d'utiliser simultanément les gestionnaires db2 et db3 mais juste avec un seul en interne. Cela signifie que vous ne pouvez pas avoir les deux formats de fichiers. Depuis PHP 5.0.0, une vérification est faite lors de la configuration pour éviter ces problèmes.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Les fonctions dba_open() et dba_popen() retournent une ressource représentant le fichier de la base de données accédée, qui sera utilisé par toutes les autres fonctions dba.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
DBA


Exemples

Sommaire

  • Utilisation
Constantes pré-définies
Utilisation
DBA


Utilisation

Exemple #1 Exemple avec DBA

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
    echo "dba_open a échoué\n";
    exit;
}

dba_replace("key", "Ceci est un exemple !", $id);

if (dba_exists("key", $id)) {
    echo dba_fetch("key", $id);
    dba_delete("key", $id);
}

dba_close($id);
?>

DBA gère les donnée binaires et n'a aucune limite arbitraire. Cependant, il hérite de toutes les limites définies par l'implémentation de la base de données accédée.

Toutes les bases de données se basant sur des fichiers doivent fournir une façon de définir le mode de fichier des nouvelles bases créées. Ce mode est passé généralement comme 4ème argument des fonctions dba_open() ou dba_popen().

Vous pouvez accéder à toutes les entrées de la base de données de façon linéaire, en utilisant les fonctions dba_firstkey() et dba_nextkey(). Vous ne pouvez pas modifier la base de données lorsque vous êtes en train de la lire.

Exemple #2 Lecture d'une base de données

<?php

// ...ouverture de la base de données...

$key = dba_firstkey($id);

while ($key != false) {
    if (true) {          // on retient la clé pour effectuer d'autres actions plus tard
        $handle_later[] = $key;
    }
    $key = dba_nextkey($id);
}

foreach ($handle_later as $val) {
    dba_delete($val, $id);
}

?>

Exemples
Fonctions DBA
Exemples


Fonctions DBA

Sommaire

  • dba_close — Ferme une base DBA
  • dba_delete — Efface une ligne dans une base DBA
  • dba_exists — Vérifie qu'une clé DBA existe
  • dba_fetch — Lit les données liées à une clé DBA
  • dba_firstkey — Lit la première clé DBA
  • dba_handlers — Liste les gestionnaires DBA disponibles
  • dba_insert — Insère une entrée DBA
  • dba_key_split — Transforme une représentation de clé DBA par chaîne en une représentation par tableau
  • dba_list — Liste tous les fichiers de bases de données DBA ouverts
  • dba_nextkey — Lit la clé DBA suivante
  • dba_open — Ouvre une base de données DBA
  • dba_optimize — Optimise une base DBA
  • dba_popen — Ouvre une connexion persistante à une base de données DBA
  • dba_replace — Remplace ou insère une ligne DBA
  • dba_sync — Synchronise une base de données DBA
Utilisation
dba_close
DBA


Ferme une base DBA

Fonctions DBA
dba_delete
Fonctions DBA
PHP Manual

dba_close

(PHP 4, PHP 5)

dba_close — Ferme une base DBA

Description

void dba_close ( resource $handle )

dba_close() ferme le lien établi avec la base et libère toutes les ressources de handle.

Liste de paramètres

handle

Le gestionnaire de la base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • dba_open() - Ouvre une base de données DBA
  • dba_popen() - Ouvre une connexion persistante à une base de données DBA

Fonctions DBA
dba_delete
Fonctions DBA


Efface une ligne dans une base DBA

dba_close
dba_exists
Fonctions DBA
PHP Manual

dba_delete

(PHP 4, PHP 5)

dba_delete — Efface une ligne dans une base DBA

Description

bool dba_delete ( string $key , resource $handle )

dba_delete() efface l'entrée spécifiée par la clé key, dans la base identifiée par handle.

Liste de paramètres

key

La clé de l'entrée à effacer.

handle

Le gestionnaire de la base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_exists() - Vérifie qu'une clé DBA existe
  • dba_fetch() - Lit les données liées à une clé DBA
  • dba_insert() - Insère une entrée DBA
  • dba_replace() - Remplace ou insère une ligne DBA

dba_close
dba_exists
Fonctions DBA


Vérifie qu'une clé DBA existe

dba_delete
dba_fetch
Fonctions DBA
PHP Manual

dba_exists

(PHP 4, PHP 5)

dba_exists — Vérifie qu'une clé DBA existe

Description

bool dba_exists ( string $key , resource $handle )

dba_exists() vérifie si la clé key existe dans la base identifiée par handle.

Liste de paramètres

key

La clé à vérifier.

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Retourne TRUE si la clé existe, FALSE sinon.

Voir aussi

  • dba_delete() - Efface une ligne dans une base DBA
  • dba_fetch() - Lit les données liées à une clé DBA
  • dba_insert() - Insère une entrée DBA
  • dba_replace() - Remplace ou insère une ligne DBA

dba_delete
dba_fetch
Fonctions DBA


Lit les données liées à une clé DBA

dba_exists
dba_firstkey
Fonctions DBA
PHP Manual

dba_fetch

(PHP 4, PHP 5)

dba_fetch — Lit les données liées à une clé DBA

Description

string dba_fetch ( string $key , resource $handle )
string dba_fetch ( string $key , int $skip , resource $handle )

dba_fetch() lit les données spécifiées par la clé key dans la base identifiée par handle.

Liste de paramètres

key

La clé correspondant aux données.

Note: Lorsque vous travaillez avec des fichiers .ini cette fonction accepte des tableaux comme clés où l'index 0 est le groupe et l'index 1 est le nom de la valeur. Voir dba_key_split().

skip

Le nombre de paire clé-valeur que vous souhaitez ignorer lors de l'utilisation de bases cdb. Cette valeur sera ignorée pour toutes les autres bases de données qui ne supportent pas les clés multiples avec le même nom.

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Retourne la chaîne associée si la paire clé/valeur est trouvée, FALSE sinon.

Historique

Version | Description
4.3 | Le paramètre skip est disponible pour supporter les capacités cdb des clés multiples portant le même nom.

Voir aussi

  • dba_exists() - Vérifie qu'une clé DBA existe
  • dba_delete() - Efface une ligne dans une base DBA
  • dba_insert() - Insère une entrée DBA
  • dba_replace() - Remplace ou insère une ligne DBA
  • dba_key_split() - Transforme une représentation de clé DBA par chaîne en une représentation par tableau

dba_exists
dba_firstkey
Fonctions DBA


Lit la première clé DBA

dba_fetch
dba_handlers
Fonctions DBA
PHP Manual

dba_firstkey

(PHP 4, PHP 5)

dba_firstkey — Lit la première clé DBA

Description

string dba_firstkey ( resource $handle )

dba_firstkey() retourne la première clé de la base de données spécifiée par handle et y place le pointeur interne de clé. Cela permettra de traverser la base.

Liste de paramètres

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Retourne la clé en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_nextkey() - Lit la clé DBA suivante
  • dba_key_split() - Transforme une représentation de clé DBA par chaîne en une représentation par tableau
  • Exemple 2 dans les exemples DBA

dba_fetch
dba_handlers
Fonctions DBA


Liste les gestionnaires DBA disponibles

dba_firstkey
dba_insert
Fonctions DBA
PHP Manual

dba_handlers

(PHP 4 >= 4.3.0, PHP 5)

dba_handlers — Liste les gestionnaires DBA disponibles

Description

array dba_handlers ([ bool $full_info = false ] )

dba_handlers() retourne un tableau avec tous les gestionnaires supportés par cette extension.

Liste de paramètres

full_info

Active l'affiche de toutes les informations dans le résultat.

Valeurs de retour

Retourne un tableau de gestionnaires disponibles. Si full_info est défini à TRUE, le tableau sera associé avec les noms des gestionnaires en tant que clés, et les informations en tant que valeurs. Sinon, le résultat sera un tableau indexé par les noms des gestionnaires.

Note: Lorsque la bibliothèque interne cdb est utilisée, vous devez voir avec cdb and cdb_make.

Exemples

Exemple #1 Exemple avec dba_handlers()

<?php

echo "Gestionnaires DBA disponibles :\n";
foreach (dba_handlers(true) as $handler_name => $handler_version) {
  // clean the versions
  $handler_version = str_replace('$', '', $handler_version);
  echo " - $handler_name: $handler_version\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Gestionnaires DBA disponibles :
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4

dba_firstkey
dba_insert
Fonctions DBA


Insère une entrée DBA

dba_handlers
dba_key_split
Fonctions DBA
PHP Manual

dba_insert

(PHP 4, PHP 5)

dba_insert — Insère une entrée DBA

Description

bool dba_insert ( string $key , string $value , resource $handle )

dba_insert() insère l'entrée décrite par la clé key et la valeur value dans la base spécifiée par handle.

Liste de paramètres

key

La clé de l'entrée à insérer. Si cette clé existe déjà dans la base de données, cette fonction échouera. Utilisez la fonction dba_replace() si vous devez remplacer une clé existante.

value

La valeur à insérer.

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_exists() - Vérifie qu'une clé DBA existe
  • dba_delete() - Efface une ligne dans une base DBA
  • dba_fetch() - Lit les données liées à une clé DBA
  • dba_replace() - Remplace ou insère une ligne DBA

dba_handlers
dba_key_split
Fonctions DBA


Transforme une représentation de clé DBA par chaîne en une représentation par tableau

dba_insert
dba_list
Fonctions DBA
PHP Manual

dba_key_split

(PHP 5)

dba_key_split — Transforme une représentation de clé DBA par chaîne en une représentation par tableau

Description

mixed dba_key_split ( mixed $key )

dba_key_split() transforme une représentation de clé DBA par chaîne en une représentation par tableau.

Liste de paramètres

key

La clé sous forme de chaîne de caractères.

Valeurs de retour

Retourne un tableau sous la forme array(0 => group, 1 => nom_valeur). Cette fonction retourne FALSE si key vaut NULL ou FALSE.

Voir aussi

  • dba_firstkey() - Lit la première clé DBA
  • dba_nextkey() - Lit la clé DBA suivante
  • dba_fetch() - Lit les données liées à une clé DBA

dba_insert
dba_list
Fonctions DBA


Liste tous les fichiers de bases de données DBA ouverts

dba_key_split
dba_nextkey
Fonctions DBA
PHP Manual

dba_list

(PHP 4 >= 4.3.0, PHP 5)

dba_list — Liste tous les fichiers de bases de données DBA ouverts

Description

array dba_list ( void )

dba_list() liste tous les fichiers de bases de données DBA ouverts.

Valeurs de retour

Un tableau associatif, sous la forme idressource => nomfichier.

dba_key_split
dba_nextkey
Fonctions DBA


Lit la clé DBA suivante

dba_list
dba_open
Fonctions DBA
PHP Manual

dba_nextkey

(PHP 4, PHP 5)

dba_nextkey — Lit la clé DBA suivante

Description

string dba_nextkey ( resource $handle )

dba_nextkey() retourne la clé suivante, dans la base identifiée par handle et incrémente le pointeur de clé.

Liste de paramètres

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Retourne la clé en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_firstkey() - Lit la première clé DBA
  • dba_key_split() - Transforme une représentation de clé DBA par chaîne en une représentation par tableau
  • Exemple 2 dans les exemples DBA

dba_list
dba_open
Fonctions DBA


Ouvre une base de données DBA

dba_nextkey
dba_optimize
Fonctions DBA
PHP Manual

dba_open

(PHP 4, PHP 5)

dba_open — Ouvre une base de données DBA

Description

resource dba_open ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_open() établit une connexion à la base repérée par path avec le mode mode et l'identifiant handler.

Liste de paramètres

path

Chemin sur votre système de fichiers.

mode

Il vaut r pour lecture seule, w pour lecture/écriture, c pour lecture/écriture, et création si la base n'existe pas, et n pour création, écrasement et accès en lecture/écriture. La base de données est créé en mode BTree ; les autres modes (comme Hash ou Queue) ne sont pas supportés.

De plus, vous pouvez choisir la méthode de verrouillage de la base avec le caractère suivant. Utilisez l pour verrouiller la base avec un fichier .lck, ou d pour verrouiller la base elle-même. Il est important que vos application utilisent ces options de manière cohérente.

Si vous voulez tester la possibilité d'accès, et ne pas attendre la disponibilité du verrou, vous pouvez ajouter la lettre t comme troisième caractère. Lorsque vous êtes absolument certain que votre base ne requiert pas de verrou, vous pouvez utiliser le tiret - à la place de l ou d. Lorsque vous n'utilisez ni d, ni l ni -, dba va verrouiller en mode d.

Note: Il ne peut y avoir qu'un seul type d'écriture dans la base. Lorsque vous utilisez dba sur un serveur web, et que plusieurs requêtes HTTP effectuent des écritures, elles ne peuvent être faites que l'une après l'autre. De même, la lecture durant l'écriture n'est pas possible. L'extension dba utilise un verrou pour éviter ces problèmes. Voici la table de verrouillage :

Verrouillage DBA
déjà ouverte | mode = "rl" | mode = "rlt" | mode = "wl" | mode = "wlt" | mode = "rd" | mode = "rdt" | mode = "wd" | mode = "wdt"
non-ouverte | ok | ok | ok | ok | ok | ok | ok | ok
mode = "rl" | ok | ok | attente | FALSE | illégal | illégal | illégal | illégal
mode = "wl" | attente | FALSE | attente | FALSE | illégal | illégal | illégal | illégal
mode = "rd" | illégal | illégal | illégal | illégal | ok | ok | attente | FALSE
mode = "wd" | illégal | illégal | illégal | illégal | attente | FALSE | attente | FALSE
  • ok: Le second appel réussit.
  • wait: Le second appel attend que dba_close() soit appelé par le premier script.
  • FALSE: Le second appel retourne FALSE.
  • illégal: vous ne devez pas mélanger les options "l" et "d" pour le paramètre mode.

handler

Le nom du gestionnaire qui doit être utilisé pour accéder à path. C'est passé à tous les paramètres facultatifs donnés à dba_open() et peut agir au nom d'eux.

Valeurs de retour

Retourne un gestionnaire positif en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | il est possible d'ouvrir la base de données à travers le réseau. Toutefois, dans le cas où des connexions sockets seront utilisées (via HTTP ou FTP), la connexion sera verrouillée, et non pas la ressource. C'est important de le savoir pour comprendre que dans ce cas, le verrouillage sera ignoré, et d'autres solutions doivent être trouvées.
4.3.0 | Le paramètre de verrouillage mode et les options "l", "d", "-" et "t" ont été ajoutées. Dans les versions de PHP antérieures à la PHP 4.3.0, vous deviez utiliser des sémaphores pour éviter les accès concurrents à la base de données, hormis pour celles de type GDBM. Voyez le chapitre sur les sémaphores System V.
avant 4.3.5 | le mode "c" est inopérant pour de nombreux gestionnaires internes, et tronque la base au lieu d'ajouter les données à la base existante. De plus, dbm et ndbm échoue en mode "c" dans des configurations typiques (impossible à corriger).

Voir aussi

  • dba_popen() - Ouvre une connexion persistante à une base de données DBA
  • dba_close() - Ferme une base DBA

dba_nextkey
dba_optimize
Fonctions DBA


Optimise une base DBA

dba_open
dba_popen
Fonctions DBA
PHP Manual

dba_optimize

(PHP 4, PHP 5)

dba_optimize — Optimise une base DBA

Description

bool dba_optimize ( resource $handle )

dba_optimize() optimise la base de données identifiée par handle.

Liste de paramètres

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_sync() - Synchronise une base de données DBA

dba_open
dba_popen
Fonctions DBA


Ouvre une connexion persistante à une base de données DBA

dba_optimize
dba_replace
Fonctions DBA
PHP Manual

dba_popen

(PHP 4, PHP 5)

dba_popen — Ouvre une connexion persistante à une base de données DBA

Description

resource dba_popen ( string $path , string $mode [, string $handler [, mixed $... ]] )

dba_popen() établit une connexion persistante à la base repérée par path avec le mode mode, en utilisant l'identifiant handler.

Liste de paramètres

path

Chemin sur votre système de fichiers.

mode

Il vaut r pour lecture seule, w pour lecture/écriture, c pour lecture/écriture, et création si la base n'existe pas, et n pour création, écrasement, et accès en lecture/écriture.

handler

le nom du gestionnaire qui doit être utilisé pour accéder à path. Le gestionnaire reçoit tous les paramètres supplémentaires passés à dba_popen().

Valeurs de retour

Retourne un gestionnaire positif en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_open() - Ouvre une base de données DBA
  • dba_close() - Ferme une base DBA

dba_optimize
dba_replace
Fonctions DBA


Remplace ou insère une ligne DBA

dba_popen
dba_sync
Fonctions DBA
PHP Manual

dba_replace

(PHP 4, PHP 5)

dba_replace — Remplace ou insère une ligne DBA

Description

bool dba_replace ( string $key , string $value , resource $handle )

dba_replace() remplace ou insère une entrée, pour la clé key et avec la valeur value dans la base identifiée par handle.

Liste de paramètres

key

La clé de l'entrée à remplacer.

value

La valeur utilisée pour le remplacement.

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_exists() - Vérifie qu'une clé DBA existe
  • dba_delete() - Efface une ligne dans une base DBA
  • dba_fetch() - Lit les données liées à une clé DBA
  • dba_insert() - Insère une entrée DBA

dba_popen
dba_sync
Fonctions DBA


Synchronise une base de données DBA

dba_replace
dbx
Fonctions DBA
PHP Manual

dba_sync

(PHP 4, PHP 5)

dba_sync — Synchronise une base de données DBA

Description

bool dba_sync ( resource $handle )

dba_sync() synchronise la base de données spécifiée par handle. Si accepté, cela va probablement lancer une opération de réécriture physique du fichier.

Liste de paramètres

handle

Le gestionnaire de base de données, retourné par dba_open() ou dba_popen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dba_optimize() - Optimise une base DBA

dba_replace
dbx
Fonctions DBA


dbx

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions dbx
    • dbx_close — Ferme une connexion à une base DBX
    • dbx_compare — Compare deux lignes DBX afin de les trier
    • dbx_connect — Ouvre une connexion à une base de données
    • dbx_error — Rapporte le message d'erreur du dernier appel de fonction DBX
    • dbx_escape_string — Protège une chaîne de caractères pour l'utiliser dans une requête
    • dbx_fetch_row — Lit une ligne dans un résultat DBX ayant l'option DBX_RESULT_UNBUFFERED activée
    • dbx_query — Envoie une requête et lit tous les résultats DBX
    • dbx_sort — Trie un résultat avec une fonction utilisateur
dba_sync
Introduction
Interface d'abstraction


Introduction

Le module dbx est une couche d'abstraction de base de données (db 'X', où 'X' est la base de données supportées). Les fonctions dbx vous permettent d'accéder à toutes les bases de données supportées en utilisant un simple appel. Les fonctions dbx elles-mêmes ne s'interfacent pas directement sur les bases de données, mais plutôt avec le module qui est utilisé pour supporter la base de données.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

dbx
Installation/Configuration
dbx


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
dbx


Pré-requis

Afin de pouvoir utiliser une base de données avec le module dbx, le module doit être lié ou chargé dans PHP, et le mode de base de données doit être supporté par le module dbx. Actuellement, les bases de données suivantes sont supportées, mais d'autres devraient suivre :

  • FrontBase (disponible depuis PHP 4.1.0).
  • Microsoft SQL Server
  • MySQL
  • ODBC
  • PostgreSQL
  • Sybase-CT (disponible depuis PHP 4.2.0).
  • Oracle (oci8) (disponible depuis PHP 4.3.0).
  • SQLite (PHP 5).

La documentation permettant l'ajout du support d'autres bases de données à dbx peut être trouvée sur » http://www.guidance.nl/php/dbx/doc/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Il vous faut avoir ces fonctions compilées avec PHP (option de configuration --enable-dbx et toutes les bases que vous souhaitez utiliser. Par exemple, si vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer PHP avec --with-mysql=[DIR].

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration DBX
Nom | Défaut | Modifiable | Historique
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0. Supprimé depuis PHP 5.1.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

dbx.colnames_case string

Les noms de colonnes peuvent être retournés comme "inchangés" ("unchanged"), ou bien "majuscules" ("uppercase") ou encore "minuscules" ("lowercase"). Cette directive peut être reconfigurée par une option de dbx_query().

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il y a deux types de ressources utilisées par le module dbx. La première est l'objet lié à la connexion avec la base de données, la deuxième est le résultat d'une requête.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

DBX_MYSQL (entier)
DBX_ODBC (entier)
DBX_PGSQL (entier)
DBX_MSSQL (entier)
DBX_FBSQL (entier)
DBX_OCI8 (entier) (disponible à partir de PHP 4.3.0)
DBX_SYBASECT (entier)
DBX_SQLITE (entier) (PHP 5)
DBX_PERSISTENT (entier)
DBX_RESULT_INFO (entier)
DBX_RESULT_INDEX (entier)
DBX_RESULT_ASSOC (entier)
DBX_RESULT_UNBUFFERED (entier) (PHP 5)
DBX_COLNAMES_UNCHANGED (entier) (uniquement disponible à partir de PHP 4.3.0)
DBX_COLNAMES_UPPERCASE (entier) (uniquement disponible à partir de PHP 4.3.0)
DBX_COLNAMES_LOWERCASE (entier) (uniquement disponible à partir de PHP 4.3.0)
DBX_CMP_NATIVE (entier)
DBX_CMP_TEXT (entier)
DBX_CMP_NUMBER (entier)
DBX_CMP_ASC (entier)
DBX_CMP_DESC (entier)
Types de ressources
Fonctions dbx
dbx


Fonctions dbx

Sommaire

  • dbx_close — Ferme une connexion à une base DBX
  • dbx_compare — Compare deux lignes DBX afin de les trier
  • dbx_connect — Ouvre une connexion à une base de données
  • dbx_error — Rapporte le message d'erreur du dernier appel de fonction DBX
  • dbx_escape_string — Protège une chaîne de caractères pour l'utiliser dans une requête
  • dbx_fetch_row — Lit une ligne dans un résultat DBX ayant l'option DBX_RESULT_UNBUFFERED activée
  • dbx_query — Envoie une requête et lit tous les résultats DBX
  • dbx_sort — Trie un résultat avec une fonction utilisateur
Constantes pré-définies
dbx_close
dbx


Ferme une connexion à une base DBX

Fonctions dbx
dbx_compare
Fonctions dbx
PHP Manual

dbx_close

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_close — Ferme une connexion à une base DBX

Description

int dbx_close ( object $link_identifier )

Liste de paramètres

link_identifier

L'objet DBX à fermer.

Valeurs de retour

Retourne 1 en cas de succès, 0 si une erreur survient.

Exemples

Exemple #1 Exemple avec dbx_close()

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

Notes

Note: Reportez-vous aussi à la documentation de la base de données que vous utilisez.

Voir aussi

  • dbx_connect() - Ouvre une connexion à une base de données

Fonctions dbx
dbx_compare
Fonctions dbx


Compare deux lignes DBX afin de les trier

dbx_close
dbx_connect
Fonctions dbx
PHP Manual

dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_compare — Compare deux lignes DBX afin de les trier

Description

int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] )

dbx_compare() est une fonction d'aide pour dbx_sort(), afin d'aider aux tris.

Liste de paramètres

row_a

Première ligne

row_b

Seconde ligne

column_key

La colonne comparée

flags

Le paramètre flags peut prendre plusieurs valeurs :

  • DBX_CMP_ASC - ordre ascendant
  • DBX_CMP_DESC - ordre descendant
et le type utilisé pour la comparaison :
  • DBX_CMP_NATIVE - pas de conversion de type
  • DBX_CMP_TEXT - compare les lignes comme des chaînes
  • DBX_CMP_NUMBER - compare les lignes comme des nombres
Une direction de tri et un type de comparaison peuvent être combinés avec l'opérateur OR (|).

Valeurs de retour

Retourne 0 si row_a[$column_key] est égale à row_b[$column_key], et 1 ou -1 si le premier est plus grand ou plus petit que le dernier, respectivement, ou bien le contraire si l'option flags est configurée à DBX_CMP_DESC.

Exemples

Exemple #1 Exemple avec dbx_compare()

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Impossible de se connecter");

$result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id");
    // les données de $result sont désormais classées par id

dbx_sort($result, "user_re_order");
    // la date dans $result est maintenant ordonnée par parentid (descending), puis par id

dbx_close($link);
?>

Voir aussi

  • dbx_sort() - Trie un résultat avec une fonction utilisateur

dbx_close
dbx_connect
Fonctions dbx


Ouvre une connexion à une base de données

dbx_compare
dbx_error
Fonctions dbx
PHP Manual

dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_connect — Ouvre une connexion à une base de données

Description

object dbx_connect ( mixed $module , string $host , string $database , string $username , string $password [, int $persistent ] )

Ouvre une connexion à une base de données.

Liste de paramètres

module

Le paramètre module peut être soit une chaîne, soit une constante. Les valeurs possibles de module sont listées ci-dessous, mais n'oubliez pas que cela fonctionnera que si le module associé est chargé.

  • DBX_MYSQL ou "mysql"
  • DBX_ODBC ou "odbc"
  • DBX_PGSQL ou "pgsql"
  • DBX_MSSQL ou "mssql"
  • DBX_FBSQL ou "fbsql"
  • DBX_SYBASECT ou "sybase_ct"
  • DBX_OCI8 ou "oci8"
  • DBX_SQLITE ou "sqlite"

host

L'hôte serveur SQL

database

Le nom de la base de données

username

Le nom d'utilisateur

password

Le mot de passe

persistent

Le paramètre persistent peut prendre la valeur DBX_PERSISTENT, pour créer une connexion persistante.

Les paramètres host, database, username et password sont attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion de la base de données utilisée.

Valeurs de retour

Retourne un objet en cas de succès, FALSE si une erreur survient. Si une connexion a été faîte mais la base de données n'a pu être sélectionnée, la connexion sera fermée et FALSE sera retourné.

L'objet retourné object a trois propriétés :

database
Nom de la base de données sélectionnées
handle

Ressource de connexion de la base de données, et donc, elle peut être utilisée dans les fonctions spécifiques au module (si requis).

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($link->handle); // dbx_close($link) serait plus appropriée ici.
?>

module
Utiliser en interne par dbx uniquement et actuellement, correspond au numéro du module mentionné ci-dessus.

Historique

Version | Description
5.0.0 | Ajout de la constante DBX_SQLITE.
4.3.0 | Ajout de la constante DBX_OCI8.
4.2.0 | Ajout de la constante DBX_SYBASECT.
4.1.0 | Ajout de la constante DBX_FBSQL.

Exemples

Exemple #1 Exemple avec dbx_connect()

<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
    or die("Impossible de se connecter");

echo "Connexion réussie";
dbx_close($link);
?>

Notes

Note: Reportez-vous à la documentation du module utilisé.

Voir aussi

  • dbx_close() - Ferme une connexion à une base DBX

dbx_compare
dbx_error
Fonctions dbx


Rapporte le message d'erreur du dernier appel de fonction DBX

dbx_connect
dbx_escape_string
Fonctions dbx
PHP Manual

dbx_error

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_error — Rapporte le message d'erreur du dernier appel de fonction DBX

Description

string dbx_error ( object $link_identifier )

dbx_error() retourne une chaîne contenant le dernier message d'erreur du module sélectionné.

Liste de paramètres

link_identifier

L'objet DBX retourné par la fonction dbx_connect()

Valeurs de retour

Retourne une chaîne contenant le dernier message d'erreur du module sélectionné. S'il y a des connexions multiples sur le même module, seule la dernière erreur est fournie. S'il a des connexions sur différents modules, la dernière erreur du module est retourné (le module est alors représenté par link_identifier).

Exemples

Exemple #1 Exemple avec dbx_error()

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Impossible de se connecter");

$result = dbx_query($link, "select id from non_existing_table");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Notes

Note: Reportez-vous aussi à la documentation de la base de données que vous utilisez.
Le message de Microsoft SQL Server est en fait le résultat de la fonction mssql_get_last_message().
Le support des messages d'erreur Oracle ne sont pas implémentés pour le moment.

dbx_connect
dbx_escape_string
Fonctions dbx


Protège une chaîne de caractères pour l'utiliser dans une requête

dbx_error
dbx_fetch_row
Fonctions dbx
PHP Manual

dbx_escape_string

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_escape_string — Protège une chaîne de caractères pour l'utiliser dans une requête

Description

string dbx_escape_string ( object $link_identifier , string $text )

Protège une chaîne de caractères pour l'utiliser dans une requête.

Liste de paramètres

link_identifier

L'objet DBX retourné par la fonction dbx_connect()

text

La chaîne à échapper

Valeurs de retour

Retourne le texte text dont les caractères spéciaux ont été protégés (les guillemets, les antislash...). Si une erreur survient, NULL sera retourné.

Exemples

Exemple #1 Exemple avec dbx_escape_string()

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Impossible de se connecter");

$text = dbx_escape_string($link, "It\'s quoted and backslashed (\\).");
$result = dbx_query($link, "insert into tbl (txt) values ('" . $text . "')");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

Voir aussi

  • dbx_query() - Envoie une requête et lit tous les résultats DBX

dbx_error
dbx_fetch_row
Fonctions dbx


Lit une ligne dans un résultat DBX ayant l'option DBX_RESULT_UNBUFFERED activée

dbx_escape_string
dbx_query
Fonctions dbx
PHP Manual

dbx_fetch_row

(PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_fetch_row — Lit une ligne dans un résultat DBX ayant l'option DBX_RESULT_UNBUFFERED activée

Description

mixed dbx_fetch_row ( object $result_identifier )

dbx_fetch_row() récupère les lignes depuis le jeu de résultats dont le drapeau DBX_RESULT_UNBUFFERED est défini.

Lorsque l'option DBX_RESULT_UNBUFFERED n'est pas activée dans la requête, dbx_fetch_row() va échouer car toutes les lignes auront été déjà lues dans le membre data.

De plus, le membre rows de l'objet de résultat est incrémenté à chaque lecture réussie de dbx_fetch_row().

Liste de paramètres

result_identifier

Un jeu de résultats retourné par la fonction dbx_query().

Valeurs de retour

Retourne un objet en cas de succès qui contient les mêmes informations que n'importe quelle ligne d'un résultat dbx, placé dans le membre data, incluant l'accès aux colonnes par index ou par nom, suivant l'utilisation des options avec dbx_guery().

Si une erreur survient, la fonction retournera 0 (e.g. lorsqu'aucune ligne n'est disponible).

Exemples

Exemple #1 Comment gérer la valeur retournée

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Voir aussi

  • dbx_query() - Envoie une requête et lit tous les résultats DBX

dbx_escape_string
dbx_query
Fonctions dbx


Envoie une requête et lit tous les résultats DBX

dbx_fetch_row
dbx_sort
Fonctions dbx
PHP Manual

dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_query — Envoie une requête et lit tous les résultats DBX

Description

mixed dbx_query ( object $link_identifier , string $sql_statement [, int $flags ] )

Envoie une requête et lit tous les résultats.

Liste de paramètres

link_identifier

L'objet DBX retournée par la fonction dbx_connect()

sql_statement

La requête SQL.

Les données à l'intérieur de la requête doivent être proprement échappées.

flags

Le paramètre flags sert à contrôler la quantité d'informations retournée. Il peut être n'importe quelle combinaisons par l'opérateur OR des constantes ci-après. Les constantes remplacent la configuration du php.ini.

DBX_RESULT_INDEX
Ce paramètre est toujours activé, c'est à dire que l'objet retourné dispose du membre data qui est un tableau à deux dimensions, indexé numériquement. Par exemple, dans l'expression data[2][3] 2 représente le numéro de ligne et 3 représente le numéro de colonne. Les premières lignes et colonnes sont indexées à 0. Si DBX_RESULT_ASSOC est aussi spécifié, l'objet retourné contient en plus les informations liées à DBX_RESULT_INFO, même s'il n'a pas été spécifié.
DBX_RESULT_INFO
Cette option fournit des informations sur les colonnes, comme les noms des champs et leur type.
DBX_RESULT_ASSOC
Cette option fait que la valeur des champs peut être accessible avec le nom de la colonne, utilisé comme clé dans le tableau du membre data. Les résultats ainsi associés sont des références sur les valeurs identifiées par les index numériques, ce qui fait que modifier data[0][0] fait que data[0]['nom_de_la_premiere_colonne'] sera aussi modifié.
DBX_RESULT_UNBUFFERED
Cet option ne crée pas de propriété data et la propriété rows sera initialement positionnée à 0. Utilisez ce flag pour des jeux d'enregistrements importants et utilisez dbx_fetch_row() pour retrouver le résultat ligne par ligne. dbx_fetch_row() retournera les lignes qui se conforment au flag de la requête. Par ailleurs, cela mettra à jour les lignes à chaque appel de la fonction.
DBX_COLNAMES_UNCHANGED
La casse du nom des colonnes retournées ne sera pas modifiée.
DBX_COLNAMES_UPPERCASE
Les noms de colonnes seront mis en majuscules.
DBX_COLNAMES_LOWERCASE
Les noms de colonnes seront mis en minuscules.
Notez que DBX_RESULT_INDEX est toujours active, indépendamment de la valeur de flags. Cela signifie que seules les combinaisons suivantes sont utiles :
  • DBX_RESULT_INDEX
  • DBX_RESULT_INDEX | DBX_RESULT_INFO
  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - c'est la valeur par défaut, si flags est omis.

Valeurs de retour

dbx_query() retourne un objet dbx_result_object ou 1 en cas de succès (un objet de résultat ne sera retourné que pour les requêtes SQL qui retournent un résultat), ou 0 en cas d'erreur. L'objet résultant n'est retourné que si la requête donnée par sql_statement produit un jeu d'enregistrements. (i.e. une requête SELECT, même si le résultat est vide).

L'objet retourné a 5 membres (éventuellement 4, suivant les valeurs de flags) :

handle

Ceci est une ressource représentant la connexion à la base de données, et il peut être utilisé (si nécessaire) avec les fonctions spécialisées de la base.

<?php
$result = dbx_query($link, "SELECT id FROM table");
mysql_field_len($result->handle, 0);
?>

cols et rows

Ces deux membres contiennent respectivement le nombre de colonnes et de lignes.

<?php
$result = dbx_query($link, 'SELECT id FROM table');
echo $result->rows; // nombre de lignes
echo $result->cols; // nombre de champs
?>

info (optionnel)
Ce membre est retourné uniquement si DBX_RESULT_INFO ou DBX_RESULT_ASSOC sont spécifiés dans le paramètre flags. C'est un tableau à deux dimensions, avec deux lignes (name et type) pour lire les informations de colonnes.

Exemple #1 Listes les types et noms de colonnes

<?php
$result = dbx_query($link, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);

for ($i = 0; $i < $result->cols; $i++ ) {
    echo $result->info['name'][$i] . "\n";
    echo $result->info['type'][$i] . "\n";
}
?>
data
Ce membre contient les résultats obtenus, possiblement associés avec le nom de colonne, en fonction de la valeur du paramètre flags. Si DBX_RESULT_ASSOC est activé, il est possible d'utiliser aussi $result->data[2]["nom_de_la_colonne"].

Exemple #2 Afficher le contenu d'une base

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

echo "<table>\n";
foreach ($result->data as $row) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

Exemple #3 Comment utiliser les requêtes UNBUFFERED

<?php

$result = dbx_query ($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Historique

Version | Description
5.0.0 | Ajout de la constante DBX_RESULT_UNBUFFERED.
4.3.0 | Ajout des constantes DBX_COLNAMES_UNCHANGED, DBX_COLNAMES_UPPERCASE, et DBX_COLNAMES_LOWERCASE.

Exemples

Exemple #4 Comment gérer la valeur retournée

<?php
$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Impossible de se connecter");

$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

if (is_object($result) ) {
    // ... faîtes des actions ici, voir les exemples détaillés ci-dessus ...
    // tout d'abord, afficher les noms et types de champs
    // puis, afficher un tableau contenant les valeurs retournées
} else {
    exit("Échec de la requête");
}

dbx_close($link);
?>

Notes

Note: Reportez-vous aussi à la documentation de la base de données que vous utilisez.
Les noms des colonnes pour les requêtes sur des bases de données Oracle sont retournés en minuscules.

Voir aussi

  • dbx_escape_string() - Protège une chaîne de caractères pour l'utiliser dans une requête
  • dbx_fetch_row() - Lit une ligne dans un résultat DBX ayant l'option DBX_RESULT_UNBUFFERED activée
  • dbx_connect() - Ouvre une connexion à une base de données

dbx_fetch_row
dbx_sort
Fonctions dbx


Trie un résultat avec une fonction utilisateur

dbx_query
ODBC
Fonctions dbx
PHP Manual

dbx_sort

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_sort — Trie un résultat avec une fonction utilisateur

Description

bool dbx_sort ( object $result , string $user_compare_function )

Trie un résultat depuis un appel à la fonction dbx_query() avec une fonction de trie personnalisée.

Liste de paramètres

result

Un jeu de résultats retourné par la fonction dbx_query().

user_compare_function

La fonction de comparaison définie par l'utilisateur. Elle doit accepter deux arguments et retourner un entier, inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à ou supérieur au second.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec dbx_sort()

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Impossible de se connecter");

$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
    // Les données sont maintenant triées par id

dbx_sort($result, "user_re_order");
    // Les données sont maintenant triées par parentid décroissant, puis par id

dbx_close($link);
?>

Notes

Note: Il est toujours plus intéressant d'utiliser la clause SQL ORDER BY que la fonction dbx_sort(), si possible.

Voir aussi

  • dbx_compare() - Compare deux lignes DBX afin de les trier

dbx_query
ODBC
Fonctions dbx


ODBC (Unifié)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions ODBC
    • odbc_autocommit — Active le mode d'autovalidation
    • odbc_binmode — Modifie la gestion des colonnes de données binaires
    • odbc_close_all — Ferme toutes les connexions ODBC
    • odbc_close — Ferme une connexion ODBC
    • odbc_columnprivileges — Liste les colonnes et leurs droits associés
    • odbc_columns — Liste les colonnes d'une table
    • odbc_commit — Valide une transaction ODBC
    • odbc_connect — Connexion à une source
    • odbc_cursor — Lit le nom du pointeur de résultat courant
    • odbc_data_source — Retourne des informations sur la connexion courante
    • odbc_do — Alias de odbc_exec
    • odbc_error — Lit le dernier code d'erreur
    • odbc_errormsg — Lit le dernier message d'erreur
    • odbc_exec — Prépare et exécute une requête SQL
    • odbc_execute — Exécute une requête SQL préparée
    • odbc_fetch_array — Lit une ligne de résultat dans un tableau associatif
    • odbc_fetch_into — Lit une ligne de résultat, et la place dans un tableau
    • odbc_fetch_object — Lit une ligne de résultat dans un objet
    • odbc_fetch_row — Lit une ligne de résultat
    • odbc_field_len — Lit la longueur d'un champ
    • odbc_field_name — Lit le nom de la colonne
    • odbc_field_num — Numéro de colonne
    • odbc_field_precision — Alias de odbc_field_len
    • odbc_field_scale — Lit l'échelle d'un champ
    • odbc_field_type — Type de données d'un champ
    • odbc_foreignkeys — Liste les clés étrangères
    • odbc_free_result — Libère les ressources associées à un résultat
    • odbc_gettypeinfo — Liste les types de données supportés par une source
    • odbc_longreadlen — Gestion des colonnes de type LONG
    • odbc_next_result — Vérifie si plusieurs résultats sont disponibles
    • odbc_num_fields — Nombre de colonnes dans un résultat
    • odbc_num_rows — Nombre de lignes dans un résultat
    • odbc_pconnect — Ouvre une connexion persistante à une source de données
    • odbc_prepare — Prépare une commande pour l'exécution
    • odbc_primarykeys — Liste les colonnes utilisées dans une clé primaire
    • odbc_procedurecolumns — Liste les paramètres des procédures
    • odbc_procedures — Liste les procédures stockées
    • odbc_result_all — Affiche le résultat sous la forme d'une table HTML
    • odbc_result — Lit un champ de résultat UODBC
    • odbc_rollback — Annule une transaction
    • odbc_setoption — Modifie les paramètres ODBC
    • odbc_specialcolumns — Retourne l'ensemble optimal de colonnes
    • odbc_statistics — Calcul des statistiques sur une table
    • odbc_tableprivileges — Liste les tables et leurs privilèges
    • odbc_tables — Liste les tables d'une source
dbx_sort
Introduction
Interface d'abstraction


Introduction

En plus du support de l'ODBC normal, l'ODBC unifié de PHP vous donne accès à diverses bases de données qui ont emprunté la sémantique des API ODBC pour implémenter leur propres API. Au lieu de maintenir de multiples pilotes qui sont similaires, ces pilotes ont été rassemblés dans un jeu de fonctions ODBC uniques.

Les bases de données suivantes sont supportées par l'ODBC unifié : » Adabas D, » IBM DB2, » iODBC, » Solid, et » Sybase SQL Anywhere.

Note: Mise à part pour IODBC, il n'y a pas d'ODBC utilisé lors des connexions aux bases de données ci-dessus. Les fonctions que vous utiliserez portent des noms évocateurs, et utilisent les mêmes syntaxes que leurs cousines d'ODBC. L'exception à ceci est iODBC. En compilant PHP avec le support iODBC, vous pourrez utiliser n'importe quel pilote compatible ODBC avec vos applications PHP. Plus d'informations sur iODBC, ainsi qu'un HOWTO (en anglais), sont disponibles sur » www.iodbc.org, ainsi que l'alternative unixODBC, disponible sur » www.unixodbc.org.

ODBC
Installation/Configuration
ODBC


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
ODBC


Pré-requis

Pour accéder à l'une des bases de données supportées, il faut que les bibliothèques équivalentes soient installées.

Installation/Configuration
Installation
Installation/Configuration


Installation

--with-adabas[=DIR]

Inclut le support Adabas D. DIR est le dossier d'installation d'Adabas D. Par défaut, c'est /usr/local.

--with-sapdb[=DIR]

Inclut le support SAP DB. DIR est le dossier d'installation de SAP DB. Par défaut, c'est /usr/local.

--with-solid[=DIR]

Inclut le support Solid. DIR est le dossier d'installation de Solid. Par défaut, c'est /usr/local/solid.

--with-ibm-db2[=DIR]

Inclut le support IBM DB2. DIR est le dossier d'installation de DB2. Par défaut, c'est /home/db2inst1/sqllib.

--with-empress[=DIR]

Inclut le support Empress. DIR est le dossier d'installation de Empress. Par défaut, c'est $EMPRESSPATH. Depuis PHP 4, cette option ne supporte que Empress Version 8.60 et plus récent.

--with-empress-bcs[=DIR]

Inclut le support "Empress Local Access". DIR est le dossier d'installation de Empress. Par défaut, c'est $EMPRESSPATH. Depuis PHP 4, cette option ne supporte que Empress version 8.60 et plus récent.

--with-birdstep[=DIR]

Inclut le support Birdstep. DIR est le dossier d'installation de Birdstep. Par défaut, c'est /usr/local/birdstep.

--with-custom-odbc[=DIR]

Inclut le support d'un ODBC définit par l'utilisateur. DIR est le dossier d'installation d'ODBC. Par défaut, c'est /usr/local. Assurez-vous que la variable CUSTOM_ODBC_LIBS est définie, et que le fichier odbc.h est dans votre chemin d'inclusion, c'est-à-dire que vous devriez définir les lignes suivantes pour Sybase SQL Anywhere 5.5.00 sous QNX, avant d'utiliser le script de configuration :

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Inclut le support iODBC. DIR est le dossier d'installation de iODBC. Par défaut, c'est /usr/local.

--with-esoob[=DIR]

Inclut le support Easysoft OOB. DIR est le dossier d'installation de OOB. Par défaut, c'est /usr/local/easysoft/oob/client.

--with-unixodbc[=DIR]

Inclut le support UnixODBC. DIR est le dossier d'installation d'UnixODBC. Par défaut, c'est /usr/local.

--with-openlink[=DIR]

Inclut le support OpenLink ODBC. DIR est le dossier d'installation OpenLink. Par défaut, c'est /usr/local. C'est le même que pour iODBC.

--with-dbmaker[=DIR]

Inclut le support DBMaker. DIR est le dossier d'installation DBMaker. Par défaut, c'est le chemin de la dernière installation de DBMaker (par exemple /home/dbmaker/3.6).

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration UODBC
Nom | Défaut | Modifiable | Historique
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL | Disponible depuis PHP 5.3.0

Note: Les entrées marquées avec une étoile ne sont pas encore implémentées.

Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

odbc.default_db chaîne de caractères

La source de données ODBC si aucune n'est spécifiée dans les fonctions odbc_connect() ou odbc_pconnect().

odbc.default_user chaîne de caractères

Nom d'utilisateur à utiliser si aucun n'est spécifié dans les fonctions odbc_connect() ou odbc_pconnect().

odbc.default_pw chaîne de caractères

Mot de passe à utiliser si aucun n'est spécifié dans les fonctions odbc_connect() ou odbc_pconnect().

odbc.allow_persistent booléen

Est-ce que les connexions ODBC persistantes sont autorisées ou pas ?

odbc.check_persistent booléen

Vérifie que la connexion est valide avant de l'utiliser.

odbc.max_persistent entier

Nombre maximum de connexions persistantes par processus.

odbc.max_links entier

Le nombre maximum de connexions ODBC par processus, y compris les connexions persistantes.

odbc.defaultlrl entier

Gestion des champs de type LONG. Spécifie le nombre d'octets retournés dans les variables.

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..
odbc.defaultbinmode entier

Gestion des données binaires.

odbc.default_cursortype entier

Contrôle le modèle de curseur ODBC. Valeurs possibles : SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC et SQL_CURSOR_STATIC (par défaut).

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit deux types de ressource : un identifiant de connexion ODBC et un identifiant de résultat ODBC.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

ODBC_TYPE (entier)
ODBC_BINMODE_PASSTHRU (entier)
ODBC_BINMODE_RETURN (entier)
ODBC_BINMODE_CONVERT (entier)
SQL_ODBC_CURSORS (entier)
SQL_CUR_USE_DRIVER (entier)
SQL_CUR_USE_IF_NEEDED (entier)
SQL_CUR_USE_ODBC (entier)
SQL_CONCURRENCY (entier)
SQL_CONCUR_READ_ONLY (entier)
SQL_CONCUR_LOCK (entier)
SQL_CONCUR_ROWVER (entier)
SQL_CONCUR_VALUES (entier)
SQL_CURSOR_TYPE (entier)
SQL_CURSOR_FORWARD_ONLY (entier)
SQL_CURSOR_KEYSET_DRIVEN (entier)
SQL_CURSOR_DYNAMIC (entier)
SQL_CURSOR_STATIC (entier)
SQL_KEYSET_SIZE (entier)
SQL_CHAR (entier)
SQL_VARCHAR (entier)
SQL_LONGVARCHAR (entier)
SQL_DECIMAL (entier)
SQL_NUMERIC (entier)
SQL_BIT (entier)
SQL_TINYINT (entier)
SQL_SMALLINT (entier)
SQL_INTEGER (entier)
SQL_BIGINT (entier)
SQL_REAL (entier)
SQL_FLOAT (entier)
SQL_DOUBLE (entier)
SQL_BINARY (entier)
SQL_VARBINARY (entier)
SQL_LONGVARBINARY (entier)
SQL_DATE (entier)
SQL_TIME (entier)
SQL_TIMESTAMP (entier)
SQL_TYPE_DATE (entier)
SQL_TYPE_TIME (entier)
SQL_TYPE_TIMESTAMP (entier)
SQL_BEST_ROWID (entier)
SQL_ROWVER (entier)
SQL_SCOPE_CURROW (entier)
SQL_SCOPE_TRANSACTION (entier)
SQL_SCOPE_SESSION (entier)
SQL_NO_NULLS (entier)
SQL_NULLABLE (entier)
SQL_INDEX_UNIQUE (entier)
SQL_INDEX_ALL (entier)
SQL_ENSURE (entier)
SQL_QUICK (entier)
Types de ressources
Fonctions ODBC
ODBC


Fonctions ODBC

Sommaire

  • odbc_autocommit — Active le mode d'autovalidation
  • odbc_binmode — Modifie la gestion des colonnes de données binaires
  • odbc_close_all — Ferme toutes les connexions ODBC
  • odbc_close — Ferme une connexion ODBC
  • odbc_columnprivileges — Liste les colonnes et leurs droits associés
  • odbc_columns — Liste les colonnes d'une table
  • odbc_commit — Valide une transaction ODBC
  • odbc_connect — Connexion à une source
  • odbc_cursor — Lit le nom du pointeur de résultat courant
  • odbc_data_source — Retourne des informations sur la connexion courante
  • odbc_do — Alias de odbc_exec
  • odbc_error — Lit le dernier code d'erreur
  • odbc_errormsg — Lit le dernier message d'erreur
  • odbc_exec — Prépare et exécute une requête SQL
  • odbc_execute — Exécute une requête SQL préparée
  • odbc_fetch_array — Lit une ligne de résultat dans un tableau associatif
  • odbc_fetch_into — Lit une ligne de résultat, et la place dans un tableau
  • odbc_fetch_object — Lit une ligne de résultat dans un objet
  • odbc_fetch_row — Lit une ligne de résultat
  • odbc_field_len — Lit la longueur d'un champ
  • odbc_field_name — Lit le nom de la colonne
  • odbc_field_num — Numéro de colonne
  • odbc_field_precision — Alias de odbc_field_len
  • odbc_field_scale — Lit l'échelle d'un champ
  • odbc_field_type — Type de données d'un champ
  • odbc_foreignkeys — Liste les clés étrangères
  • odbc_free_result — Libère les ressources associées à un résultat
  • odbc_gettypeinfo — Liste les types de données supportés par une source
  • odbc_longreadlen — Gestion des colonnes de type LONG
  • odbc_next_result — Vérifie si plusieurs résultats sont disponibles
  • odbc_num_fields — Nombre de colonnes dans un résultat
  • odbc_num_rows — Nombre de lignes dans un résultat
  • odbc_pconnect — Ouvre une connexion persistante à une source de données
  • odbc_prepare — Prépare une commande pour l'exécution
  • odbc_primarykeys — Liste les colonnes utilisées dans une clé primaire
  • odbc_procedurecolumns — Liste les paramètres des procédures
  • odbc_procedures — Liste les procédures stockées
  • odbc_result_all — Affiche le résultat sous la forme d'une table HTML
  • odbc_result — Lit un champ de résultat UODBC
  • odbc_rollback — Annule une transaction
  • odbc_setoption — Modifie les paramètres ODBC
  • odbc_specialcolumns — Retourne l'ensemble optimal de colonnes
  • odbc_statistics — Calcul des statistiques sur une table
  • odbc_tableprivileges — Liste les tables et leurs privilèges
  • odbc_tables — Liste les tables d'une source
Constantes pré-définies
odbc_autocommit
ODBC


Active le mode d'autovalidation

Fonctions ODBC
odbc_binmode
Fonctions ODBC
PHP Manual

odbc_autocommit

(PHP 4, PHP 5)

odbc_autocommit — Active le mode d'autovalidation

Description

mixed odbc_autocommit ( resource $connection_id [, bool $OnOff = false ] )

Sans le paramètre onoff, odbc_autocommit() retourne le statut d'autovalidation

Par défaut, l'autovalidation est activée. Désactiver l'autovalidation est équivalent à démarrer une transaction.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

OnOff

Si OnOff vaut TRUE, l'autovalidation est activée. S'il est FALSE, l'autovalidation est désactivée.

Valeurs de retour

Sans le paramètre OnOff, odbc_autocommit() retourne le statut d'autovalidation de la connexion connection_id. Une valeur différente de 0 si le mode est activé, 0 s'il ne l'est pas, ou FALSE si une erreur survient.

Si OnOff est défini, cette fonction retourne TRUE en cas de succès,et FALSE si une erreur survient.

Voir aussi

  • odbc_commit() - Valide une transaction ODBC
  • odbc_rollback() - Annule une transaction

Fonctions ODBC
odbc_binmode
Fonctions ODBC


Modifie la gestion des colonnes de données binaires

odbc_autocommit
odbc_close_all
Fonctions ODBC
PHP Manual

odbc_binmode

(PHP 4, PHP 5)

odbc_binmode — Modifie la gestion des colonnes de données binaires

Description

bool odbc_binmode ( resource $result_id , int $mode )

odbc_binmode() modifie la gestion des colonnes de données binaires. Les types ODBC SQL affectés sont BINARY, VARBINARY et LONGVARBINARY.

Lorsqu'une donnée SQL est convertie en caractère C, les 8 bits du caractère source sont représentés par deux caractères ASCII. Ces caractères sont des représentations ASCII des nombres au format hexadécimal. Par exemple, le binaire 00000001 est converti en "01" et le binaire 11111111 est converti en "FF".

Conversion des LONGVARBINARY
Mode | Longueur | Résultat
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | passthru
ODBC_BINMODE_CONVERT | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | Tel quel
ODBC_BINMODE_CONVERT | 0 | Caractère

Si odbc_fetch_into() est utilisé, passthru signifie qu'une chaîne vide sera retournée pour ces colonnes.

Liste de paramètres

result_id

L'identifiant de résultat.

Si result_id vaut 0, ces paramètres seront appliqués aux nouveaux résultats.

Note: La valeur par défaut de longreadlen est 4096 et celle de mode est ODBC_BINMODE_RETURN. La gestion des colonnes binaires est aussi modifiée par odbc_longreadlen().

mode

Valeurs possibles pour le paramètre mode :

  • ODBC_BINMODE_PASSTHRU : retourner les données en binaire
  • ODBC_BINMODE_RETURN : retourner sans conversion
  • ODBC_BINMODE_CONVERT : convertir en caractère

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

odbc_autocommit
odbc_close_all
Fonctions ODBC


Ferme toutes les connexions ODBC

odbc_binmode
odbc_close
Fonctions ODBC
PHP Manual

odbc_close_all

(PHP 4, PHP 5)

odbc_close_all — Ferme toutes les connexions ODBC

Description

void odbc_close_all ( void )

odbc_close_all() ferme toutes les connexions ODBC à des sources de données.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: odbc_close_all() échouera s'il y a des transactions en cours sur cette connexion. Dans ce cas, la connexion restera ouverte.

odbc_binmode
odbc_close
Fonctions ODBC


Ferme une connexion ODBC

odbc_close_all
odbc_columnprivileges
Fonctions ODBC
PHP Manual

odbc_close

(PHP 4, PHP 5)

odbc_close — Ferme une connexion ODBC

Description

void odbc_close ( resource $connection_id )

Ferme la connexion avec la source de données représentée par l'identifiant de connexion connection_id.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: odbc_close() échouera s'il y a des transactions en cours sur cette connexion. Dans ce cas, la connexion restera ouverte.

odbc_close_all
odbc_columnprivileges
Fonctions ODBC


Liste les colonnes et leurs droits associés

odbc_close
odbc_columns
Fonctions ODBC
PHP Manual

odbc_columnprivileges

(PHP 4, PHP 5)

odbc_columnprivileges — Liste les colonnes et leurs droits associés

Description

resource odbc_columnprivileges ( resource $connection_id , string $qualifier , string $owner , string $table_name , string $column_name )

Liste les colonnes et leurs droits associés.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

owner

Le propriétaire.

table_name

Le nom de la table.

column_name

Le paramètre column_name accepte des masques de recherche ('%' pour remplacer zéro ou plus caractères, et '_' pour n'en remplacer qu'un seul).

Les paramètres owner, table_name, et column_name acceptent des masques de recherche ('%' correspond à zéro ou plus de caractères, et '_' correspond à exactement un caractère).

Valeurs de retour

Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient. Cet identifiant de résultat pourra être utilisé pour récupérer une liste des colonnes ainsi que les droits associés.

Le jeu de résultat contient les colonnes suivantes :

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

Le résultat est ordonné par TABLE_QUALIFIER, TABLE_OWNER et TABLE_NAME.

odbc_close
odbc_columns
Fonctions ODBC


Liste les colonnes d'une table

odbc_columnprivileges
odbc_commit
Fonctions ODBC
PHP Manual

odbc_columns

(PHP 4, PHP 5)

odbc_columns — Liste les colonnes d'une table

Description

resource odbc_columns ( resource $connection_id [, string $qualifier [, string $schema [, string $table_name [, string $column_name ]]]] )

Liste les colonnes d'une table.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

schema

Le propriétaire.

table_name

Le nom de la table.

column_name

Le nom de la colonne.

Les paramètres owner, column_name et table_name acceptent des masques de recherche ('%' pour remplacer zéro ou plus caractères, et '_' pour n'en remplacer qu'un seul).

Valeurs de retour

Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient.

Le jeu de résultat contient les colonnes suivantes :

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

Le résultat est ordonné par TABLE_QUALIFIER, TABLE_SCHEM et TABLE_NAME.

Voir aussi

  • odbc_columnprivileges() - Liste les colonnes et leurs droits associéspour connaître les droits associés.

odbc_columnprivileges
odbc_commit
Fonctions ODBC


Valide une transaction ODBC

odbc_columns
odbc_connect
Fonctions ODBC
PHP Manual

odbc_commit

(PHP 4, PHP 5)

odbc_commit — Valide une transaction ODBC

Description

bool odbc_commit ( resource $connection_id )

Valide toutes les transactions en cours sur la connexion connection_id.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

odbc_columns
odbc_connect
Fonctions ODBC


Connexion à une source

odbc_commit
odbc_cursor
Fonctions ODBC
PHP Manual

odbc_connect

(PHP 4, PHP 5)

odbc_connect — Connexion à une source

Description

resource odbc_connect ( string $dsn , string $user , string $password [, int $cursor_type ] )

L'identifiant de connexion retourné par cette fonction est nécessaire pour toutes les autres fonctions ODBC. Vous pouvez avoir de multiples connexions en même temps.

Avec certains pilotes ODBC, l'exécution de procédures enregistrées complexes peut produire l'erreur suivante : "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it", ce qui signifie : "Impossible de créer un pointeur de résultat dans une procédure enregistrée qui est réduite à une simple sélection (SELECT)". Utiliser l'option SQL_CUR_USE_ODBC permet d'éviter cette erreur. De plus, certains pilotes ne supportent pas le paramètre optionnel de numéro de ligne dans odbc_fetch_row(). SQL_CUR_USE_ODBC peut aussi permettre de résoudre ces problèmes.

Liste de paramètres

dsn

Le nom source de la base de données (DSN), pour la connexion.

user

Le nom d'utilisateur.

password

Le mot de passe.

cursor_type

Fixe le type de pointeur de résultat utilisé pour cette connexion. Ce paramètre n'est généralement pas nécessaire, mais il peut être utile pour contourner certains problèmes ODBC.

Les constantes suivantes sont définies comme types de pointeur :

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

Valeurs de retour

Retourne un identifiant de connexion ODBC ou 0 (FALSE) si une erreur survient.

Exemples

Exemple #1 Connexion sans DNS

<?php
// Microsoft SQL Server utilise le pilote SQL Native Client 10.0 ODBC Driver :
// il permet les connexions à SQL 7, 2000, 2005 et 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);

// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>

Voir aussi

  • Pour les connexions persistantes : odbc_pconnect() - Ouvre une connexion persistante à une source de données

odbc_commit
odbc_cursor
Fonctions ODBC


Lit le nom du pointeur de résultat courant

odbc_connect
odbc_data_source
Fonctions ODBC
PHP Manual

odbc_cursor

(PHP 4, PHP 5)

odbc_cursor — Lit le nom du pointeur de résultat courant

Description

string odbc_cursor ( resource $result_id )

odbc_cursor() lit le nom du pointeur de résultat courant pour le résultat result_id.

Liste de paramètres

result_id

La ressource de résultat.

Valeurs de retour

Retourne le nom du curseur, sous forme d'une chaîne de caractères.

odbc_connect
odbc_data_source
Fonctions ODBC


Retourne des informations sur la connexion courante

odbc_cursor
odbc_do
Fonctions ODBC
PHP Manual

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5)

odbc_data_source — Retourne des informations sur la connexion courante

Description

array odbc_data_source ( resource $connection_id , int $fetch_type )

Retourne une liste de DNS disponibles (après l'avoir appelée plusieurs fois).

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

fetch_type

Le paramètre connection_id est une connexion ODBC valide. Le paramètre fetch_type peut être l'une des deux constantes suivantes : SQL_FETCH_FIRST ou SQL_FETCH_NEXT. Utilisez SQL_FETCH_FIRST la première fois que la fonction est appelée, puis SQL_FETCH_NEXT.

Valeurs de retour

Retourne FALSE si une erreur survient, un tableau sinon.

odbc_cursor
odbc_do
Fonctions ODBC


Alias de odbc_exec

odbc_data_source
odbc_error
Fonctions ODBC
PHP Manual

odbc_do

(PHP 4, PHP 5)

odbc_do — Alias de odbc_exec()

Description

Cette fonction est un alias de : odbc_exec().

odbc_data_source
odbc_error
Fonctions ODBC


Lit le dernier code d'erreur

odbc_do
odbc_errormsg
Fonctions ODBC
PHP Manual

odbc_error

(PHP 4 >= 4.0.5, PHP 5)

odbc_error — Lit le dernier code d'erreur

Description

string odbc_error ([ resource $connection_id ] )

Retourne un état ODBC sur 6 chiffres, ou une chaîne vide s'il n'y avait plus d'erreurs.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

Valeurs de retour

Si connection_id est spécifié, le dernier état ODBC de cette connexion est retourné. Si connection_id est omis, c'est le dernier état de n'importe quelle connexion qui est retourné.

Cette fonction retourne une valeur significative uniquement si la dernière requête ODBC a échoué (i.e. la fonction odbc_exec() a retourné FALSE).

Voir aussi

  • odbc_errormsg() - Lit le dernier message d'erreur
  • odbc_exec() - Prépare et exécute une requête SQL

odbc_do
odbc_errormsg
Fonctions ODBC


Lit le dernier message d'erreur

odbc_error
odbc_exec
Fonctions ODBC
PHP Manual

odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5)

odbc_errormsg — Lit le dernier message d'erreur

Description

string odbc_errormsg ([ resource $connection_id ] )

Retourne une chaîne contenant le dernier message d'erreur ODBC, ou une chaîne vide s'il n'y avait pas d'erreur.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

Valeurs de retour

Si connection_id est spécifié, le dernier état ODBC de cette connexion est retourné.

Cette fonction retourne une valeur significative uniquement si la dernière requête ODBC a échoué (i.e. la fonction odbc_exec() a retourné FALSE).

Voir aussi

  • odbc_error() - Lit le dernier code d'erreur
  • odbc_exec() - Prépare et exécute une requête SQL

odbc_error
odbc_exec
Fonctions ODBC


Prépare et exécute une requête SQL

odbc_errormsg
odbc_execute
Fonctions ODBC
PHP Manual

odbc_exec

(PHP 4, PHP 5)

odbc_exec — Prépare et exécute une requête SQL

Description

resource odbc_exec ( resource $connection_id , string $query_string [, int $flags ] )

odbc_exec() envoie une commande SQL à la source de données ODBC, représentée par connection_id.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

query_string

La requête SQL.

flags

Ce paramètre n'est actuellement pas utilisé.

Valeurs de retour

Retourne une ressource de résultat ODBC en cas de succès, FALSE si une erreur survient.

Voir aussi

  • odbc_prepare() - Prépare une commande pour l'exécution
  • odbc_execute() - Exécute une requête SQL préparée

odbc_errormsg
odbc_execute
Fonctions ODBC


Exécute une requête SQL préparée

odbc_exec
odbc_fetch_array
Fonctions ODBC
PHP Manual

odbc_execute

(PHP 4, PHP 5)

odbc_execute — Exécute une requête SQL préparée

Description

bool odbc_execute ( resource $result_id [, array $parameters_array ] )

Exécute une requête SQL préparée par odbc_prepare().

Liste de paramètres

result_id

L'identifiant de résultat, depuis la fonction odbc_prepare().

parameters_array

Les valeurs du paramètre parameter_array seront substituées dans les variables de requêtes de la requête préparée. Les éléments de ce tableau seront convertis en chaînes de caractères en appelant cette fonction.

Tout paramètre de parameter_array qui commence et termine par des guillemets simples sera considéré comme un nom de fichier à lire et envoyé à la base de données, avec la variable de requête appropriée.

Si vous voulez stocker une chaîne de caractères qui commence et se finit réellement par des guillemets, vous devez ajouter un espace au début ou à la fin de la chaîne, pour éviter que ce paramètre soit confondu avec un nom de fichier. Si ce n'est pas possible dans le cadre de votre application, vous devrez passer par la fonction odbc_exec().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec odbc_execute() et odbc_prepare()

Dans le script suivant, $success ne sera possible que si les trois paramètres de maproc sont des paramètres de type IN :

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt    = odbc_prepare($conn, 'CALL maproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

Si vous devez appeler une procédure stockée en utilisant des paramètres INOUT ou OUT, la solution est d'utiliser une extension native de votre base de données (par exemple, mssql pour MS SQL Server, ou oci8 pour Oracle).

Historique

Version | Description
4.2.0 | La lecture du fichier est maintenant sujette au safe mode et aux restrictions open-basedir dans le paramètre parameters_array.
4.1.1 | Les fichiers distants ne sont plus supportés dans le paramètre parameters_array.

Voir aussi

  • odbc_prepare() - Prépare une commande pour l'exécution

odbc_exec
odbc_fetch_array
Fonctions ODBC


Lit une ligne de résultat dans un tableau associatif

odbc_execute
odbc_fetch_into
Fonctions ODBC
PHP Manual

odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_array — Lit une ligne de résultat dans un tableau associatif

Description

array odbc_fetch_array ( resource $result [, int $rownumber ] )

odbc_fetch_array() lit une ligne de résultat dans un tableau associatif depuis une requête ODBC. Voir le changelog ci-dessous pour savoir quand cette fonction est disponible.

Liste de paramètres

result

La ressource de résultat depuis la fonction odbc_exec().

rownumber

Le numéro de ligne doit être lu, optionnel.

Valeurs de retour

Retourne un tableau correspondant à la ligne récupérée, ou FALSE s'il n'y a plus de ligne de disponible.

Historique

Version | Description
4.3.3 | Cette fonction est disponible lorsque PHP est compilé avec le support IBM DB2 ou UnixODBC.
4.3.2 | Cette fonction est disponible lorsque PHP est compilé pour Windows.
4.0.2 | Cette fonction est disponible lorsque PHP est compilé avec le support DBMaker.

Voir aussi

  • odbc_fetch_row() - Lit une ligne de résultat
  • odbc_fetch_object() - Lit une ligne de résultat dans un objet
  • odbc_num_rows() - Nombre de lignes dans un résultat

odbc_execute
odbc_fetch_into
Fonctions ODBC


Lit une ligne de résultat, et la place dans un tableau

odbc_fetch_array
odbc_fetch_object
Fonctions ODBC
PHP Manual

odbc_fetch_into

(PHP 4, PHP 5)

odbc_fetch_into — Lit une ligne de résultat, et la place dans un tableau

Description

int odbc_fetch_into ( resource $result_id , array &$result_array [, int $rownumber ] )

Lit une ligne de résultat, et la place dans un tableau.

Liste de paramètres

result_id

La ressource de résultat.

result_array

Peut être de n'importe quel type, étant donné qu'il sera converti en tableau. Le tableau contiendra les valeurs des colonnes, ces dernières étant numérotées à partir de 0.

rownumber

Le numéro de la ligne.

Valeurs de retour

Retourne le nombre de colonnes du résultat, ou FALSE si une erreur survient.

Historique

Version | Description
4.2.0 | Les paramètres result_array et rownumber ont été inversés. Cela permet à rownumber d'être à nouveau une constante.
4.0.6 | Le paramètre rownumber ne peut pas être passé comme une constante, mais comme une variable. Ce comportement a également été modifié dans la version 4.2.0.
4.0.5 | Le paramètre result_array n'a plus besoin d'être passé par référence.

Exemples

Exemple #1 Exemple avec odbc_fetch_into()

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

ou

<?php
$rc = odbc_fetch_into($res_id, $my_array, 2);
?>

odbc_fetch_array
odbc_fetch_object
Fonctions ODBC


Lit une ligne de résultat dans un objet

odbc_fetch_into
odbc_fetch_row
Fonctions ODBC
PHP Manual

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_object — Lit une ligne de résultat dans un objet

Description

object odbc_fetch_object ( resource $result [, int $rownumber ] )

odbc_fetch_object() lit une ligne de résultat dans un objet depuis une requête ODBC. Voir le changelog ci-dessous pour savoir quand cette fonction est disponible.

Liste de paramètres

result

La ressource de résultat depuis la fonction odbc_exec().

rownumber

Le numéro de ligne à récupérer, en option.

Valeurs de retour

Retourne un objet qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de ligne de disponible.

Historique

Version | Description
4.3.3 | Cette fonction est disponible lorsque PHP est compilé avec le support IBM DB2 ou UnixODBC.
4.3.2 | Cette fonction est disponible lorsque PHP est compilé pour Windows.
4.0.2 | Cette fonction est disponible lorsque PHP est compilé avec le support DBMaker.

Voir aussi

  • odbc_fetch_row() - Lit une ligne de résultat
  • odbc_fetch_array() - Lit une ligne de résultat dans un tableau associatif
  • odbc_num_rows() - Nombre de lignes dans un résultat

odbc_fetch_into
odbc_fetch_row
Fonctions ODBC


Lit une ligne de résultat

odbc_fetch_object
odbc_field_len
Fonctions ODBC
PHP Manual

odbc_fetch_row

(PHP 4, PHP 5)

odbc_fetch_row — Lit une ligne de résultat

Description

bool odbc_fetch_row ( resource $result_id [, int $row_number ] )

Lit une ligne dans le résultat identifié par
result_id et retourné par
odbc_do() ou
odbc_exec(). Après
odbc_fetch_row(), les champs seront accessibles
avec la fonction odbc_result().

Liste de paramètres

result_id

L'identifiant de résultat.

row_number

Si row_number est omis, row_number va tenter de lire la prochaine ligne dans le résultat. Des appels répétés à odbc_fetch_row() avec et sans paramètre row_number peuvent être combinés librement.

Pour passer en revue toutes les lignes d'un résultat plusieurs fois, vous pouvez appeler odbc_fetch_row() avec row_number = 1, puis continuer à appeler odbc_fetch_row() sans le paramètre row_number pour passer en revue tout le résultat. Si un pilote ne supporte pas la lecture des lignes par numéro, le paramètre sera ignoré.

Valeurs de retour

Retourne TRUE si la ligne existe, FALSE sinon.

odbc_fetch_object
odbc_field_len
Fonctions ODBC


Lit la longueur d'un champ

odbc_fetch_row
odbc_field_name
Fonctions ODBC
PHP Manual

odbc_field_len

(PHP 4, PHP 5)

odbc_field_len — Lit la longueur d'un champ

Description

int odbc_field_len ( resource $result_id , int $field_number )

Lit la longueur du champ identifié par son numéro.

Liste de paramètres

result_id

L'identifiant de résultat.

field_number

Le numéro du champ. La numérotation commence à 1.

Valeurs de retour

Retourne le nom du champ, sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

Voir aussi

  • odbc_field_scale() - Lit l'échelle d'un champpour connaître l'échelle d'un nombre à virgule flottante

odbc_fetch_row
odbc_field_name
Fonctions ODBC


Lit le nom de la colonne

odbc_field_len
odbc_field_num
Fonctions ODBC
PHP Manual

odbc_field_name

(PHP 4, PHP 5)

odbc_field_name — Lit le nom de la colonne

Description

string odbc_field_name ( resource $result_id , int $field_number )

Lit le nom de la colonne dont l'index est field_number.

Liste de paramètres

result_id

L'identifiant de résultat.

field_number

Le numéro de la colonne. La numérotation commence à 1.

Valeurs de retour

Retourne le nom de la colonne, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

odbc_field_len
odbc_field_num
Fonctions ODBC


Numéro de colonne

odbc_field_name
odbc_field_precision
Fonctions ODBC
PHP Manual

odbc_field_num

(PHP 4, PHP 5)

odbc_field_num — Numéro de colonne

Description

int odbc_field_num ( resource $result_id , string $field_name )

Lit le numéro de la colonne nommée field_name.

Liste de paramètres

result_id

L'identifiant de résultat.

field_name

Le nom du champ.

Valeurs de retour

Retourne le numéro du champ, sous la forme d'un entier, ou FALSE si une erreur survient. La numérotation commence à 1.

odbc_field_name
odbc_field_precision
Fonctions ODBC


Alias de odbc_field_len

odbc_field_num
odbc_field_scale
Fonctions ODBC
PHP Manual

odbc_field_precision

(PHP 4, PHP 5)

odbc_field_precision — Alias de odbc_field_len()

Description

Cette fonction est un alias de : odbc_field_len().

Voir aussi

  • odbc_field_scale() - Lit l'échelle d'un champpour connaître l'échelle d'un nombre à virgule flottante.

odbc_field_num
odbc_field_scale
Fonctions ODBC


Lit l'échelle d'un champ

odbc_field_precision
odbc_field_type
Fonctions ODBC
PHP Manual

odbc_field_scale

(PHP 4, PHP 5)

odbc_field_scale — Lit l'échelle d'un champ

Description

int odbc_field_scale ( resource $result_id , int $field_number )

Lit l'échelle du champ référencé par son numéro de champ field_number dans le résultat ODBC result_id.

Liste de paramètres

result_id

L'identifiant de résultat.

field_number

Le numéro du champ. La numérotation commence à 1.

Valeurs de retour

Retourne l'échelle du champ, sous la forme d'un entier, ou FALSE si une erreur survient.

odbc_field_precision
odbc_field_type
Fonctions ODBC


Type de données d'un champ

odbc_field_scale
odbc_foreignkeys
Fonctions ODBC
PHP Manual

odbc_field_type

(PHP 4, PHP 5)

odbc_field_type — Type de données d'un champ

Description

string odbc_field_type ( resource $result_id , int $field_number )

Lit le type de données SQL d'un champ, identifié par son numéro.

Liste de paramètres

result_id

L'identifiant de résultat.

field_number

Le numéro du champ. La numérotation commence à 1.

Valeurs de retour

Retourne le type du champ, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

odbc_field_scale
odbc_foreignkeys
Fonctions ODBC


Liste les clés étrangères

odbc_field_type
odbc_free_result
Fonctions ODBC
PHP Manual

odbc_foreignkeys

(PHP 4, PHP 5)

odbc_foreignkeys — Liste les clés étrangères

Description

resource odbc_foreignkeys ( resource $connection_id , string $pk_qualifier , string $pk_owner , string $pk_table , string $fk_qualifier , string $fk_owner , string $fk_table )

Liste les clés étrangères utilisées dans la table pk_table.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

pk_qualifier

Le qualifieur de la clé primaire.

pk_owner

Le propriétaire de la clé primaire.

pk_table

La table de la clé primaire.

fk_qualifier

Le qualifieur de la clé étrangère.

fk_owner

Le propriétaire de la clé étrangère.

fk_table

La table de la clé étrangère.

Valeurs de retour

Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • PKTABLE_QUALIFIER
  • PKTABLE_OWNER
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_QUALIFIER
  • FKTABLE_OWNER
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME

Si pk_table contient un nom de table, odbc_foreignkeys() retourne la clé primaire de la table pk_table, et toutes les clés étrangères qui y font référence.

Si fk_table contient un nom de table, odbc_foreignkeys() retourne la liste des clés étrangères de la table fk_table, et les clés primaires (d'autres tables) qui y font référence.

Si pk_table et fk_table contiennent des noms de tables, odbc_foreignkeys() retourne la liste des clés étrangères de la table fk_table qui utilisent la clé primaire de la table pk_table. Cette liste devrait ne contenir qu'une clé au mieux.

odbc_field_type
odbc_free_result
Fonctions ODBC


Libère les ressources associées à un résultat

odbc_foreignkeys
odbc_gettypeinfo
Fonctions ODBC
PHP Manual

odbc_free_result

(PHP 4, PHP 5)

odbc_free_result — Libère les ressources associées à un résultat

Description

bool odbc_free_result ( resource $result_id )

Libère les ressources associées à un résultat.

odbc_free_result() n'est nécessaire que si vous craignez d'utiliser trop de mémoire lors de l'exécution de votre script. Tous les résultats en mémoire seront libérés dès la fin du script.

Liste de paramètres

result_id

L'identifiant de résultat.

Valeurs de retour

Retourne toujours TRUE.

Notes

Note: Si l'autovalidation est désactivée (voir odbc_autocommit()) et que vous appelez odbc_free_result() avant de valider vos requêtes, toutes les transactions préparées seront annulées.

odbc_foreignkeys
odbc_gettypeinfo
Fonctions ODBC


Liste les types de données supportés par une source

odbc_free_result
odbc_longreadlen
Fonctions ODBC
PHP Manual

odbc_gettypeinfo

(PHP 4, PHP 5)

odbc_gettypeinfo — Liste les types de données supportés par une source

Description

resource odbc_gettypeinfo ( resource $connection_id [, int $data_type ] )

Liste les types de données supportés par une source.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

data_type

Peut être utilisé pour restreindre les informations à un seul type de données.

Valeurs de retour

Retourne l'identifiant de résultat ODBC, ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

Le résultat est ordonné par DATA_TYPE et TYPE_NAME.

odbc_free_result
odbc_longreadlen
Fonctions ODBC


Gestion des colonnes de type LONG

odbc_gettypeinfo
odbc_next_result
Fonctions ODBC
PHP Manual

odbc_longreadlen

(PHP 4, PHP 5)

odbc_longreadlen — Gestion des colonnes de type LONG

Description

bool odbc_longreadlen ( resource $result_id , int $length )

Active la gestion des colonnes de type LONG et LONGVARBINARY.

Liste de paramètres

result_id

L'identifiant de résultat.

length

Le nombre d'octets retourné à PHP. S'il est défini à 0, les données des colonnes de type LONG sont passé au client.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: La gestion des types LONGVARBINARY est aussi affectée par odbc_binmode().

odbc_gettypeinfo
odbc_next_result
Fonctions ODBC


Vérifie si plusieurs résultats sont disponibles

odbc_longreadlen
odbc_num_fields
Fonctions ODBC
PHP Manual

odbc_next_result

(PHP 4 >= 4.0.5, PHP 5)

odbc_next_result — Vérifie si plusieurs résultats sont disponibles

Description

bool odbc_next_result ( resource $result_id )

Vérifie s'il y a plus de jeux de résultats de disponibles accessibles via les fonctions odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

Liste de paramètres

result_id

L'identifiant de résultat.

Valeurs de retour

Retourne TRUE s'il n'y a plus de jeux de résultats, FALSE sinon.

Exemples

Exemple #1 Exemple avec odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Affiche le premier jeu de résultats : ";
var_dump($a_Row1, $a_Row2);

echo "Récupération du deuxième jeu de résultats : ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Affiche le second jeu de résultats : ";
var_dump($a_Row1, $a_Row2);

echo "Récupération du troisième jeu de résultats : ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Affiche le troisième jeu de résultats : ";
var_dump($a_Row1, $a_Row2);

echo "Tente de récupérer un quatrième jeu de résultats : ";
var_dump(odbc_next_result($r_Results));
?>

L'exemple ci-dessus va afficher :

Affiche le premier jeu de résultats : array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Récupération du second jeu de résultats :bool(true)
Affiche le second jeu de résultats : array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Récupération du troisième jeu de résultats : bool(true)
Affiche le troisième jeu de résultats : array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Tente de récupérer un quatrième jeu de résultats : bool(false)

odbc_longreadlen
odbc_num_fields
Fonctions ODBC


Nombre de colonnes dans un résultat

odbc_next_result
odbc_num_rows
Fonctions ODBC
PHP Manual

odbc_num_fields

(PHP 4, PHP 5)

odbc_num_fields — Nombre de colonnes dans un résultat

Description

int odbc_num_fields ( resource $result_id )

Récupère le nombre de colonnes dans un résultat ODBC.

Liste de paramètres

result_id

L'identifiant de résultat, retourné par la fonction odbc_exec().

Valeurs de retour

Retourne le nombre de colonnes, ou -1 si une erreur survient.

odbc_next_result
odbc_num_rows
Fonctions ODBC


Nombre de lignes dans un résultat

odbc_num_fields
odbc_pconnect
Fonctions ODBC
PHP Manual

odbc_num_rows

(PHP 4, PHP 5)

odbc_num_rows — Nombre de lignes dans un résultat

Description

int odbc_num_rows ( resource $result_id )

Lit le nombre de lignes dans un résultat. Pour les commandes INSERT, UPDATE et DELETE, odbc_num_rows() retourne le nombre de ligne affectées. Pour les commandes SELECT, cela PEUT être le nombre de lignes disponibles, mais ce n'est pas certain.

Liste de paramètres

result_id

L'identifiant de résultat, retourné par la fonction odbc_exec().

Valeurs de retour

Retourne le nombre de lignes dans le résultat ODBC. Cette fonction retournera -1 si une erreur survient.

Notes

Note: L'utilisation de la fonction odbc_num_rows() pour déterminer le nombre de lignes disponible après un SELECT retournera -1 avec la plupart des pilotes.

odbc_num_fields
odbc_pconnect
Fonctions ODBC


Ouvre une connexion persistante à une source de données

odbc_num_rows
odbc_prepare
Fonctions ODBC
PHP Manual

odbc_pconnect

(PHP 4, PHP 5)

odbc_pconnect — Ouvre une connexion persistante à une source de données

Description

resource odbc_pconnect ( string $dsn , string $user , string $password [, int $cursor_type ] )

Ouvre une connexion persistante à une source de données.

odbc_pconnect() se comporte de manière similaire à odbc_connect(), mais la connexion ouverte n'est pas vraiment terminée lorsque le script est achevé. Les prochaines requêtes qui se feront sur une connexion dont les dsn, user, password sont les mêmes que celle-ci (avec odbc_connect() et odbc_pconnect()) réutiliseront la connexion ouverte.

Liste de paramètres

Voir la fonction odbc_connect() pour plus de détails.

Valeurs de retour

Retourne un identifiant de connexion ODBC, ou 0 (FALSE) si une erreur survient.

Notes

Note: Les connexions persistantes n'ont aucun effet si PHP est utilisé comme CGI.

Voir aussi

  • odbc_connect() - Connexion à une source
  • Les connexions persistantes aux bases de données

odbc_num_rows
odbc_prepare
Fonctions ODBC


Prépare une commande pour l'exécution

odbc_pconnect
odbc_primarykeys
Fonctions ODBC
PHP Manual

odbc_prepare

(PHP 4, PHP 5)

odbc_prepare — Prépare une commande pour l'exécution

Description

resource odbc_prepare ( resource $connection_id , string $query_string )

Prépare une commande pour l'exécution. L'identifiant peut être utilisé plus tard pour exécuter la commande avec odbc_execute().

Quelques bases de données (comme IBM DB2, MS SQL Server et Oracle) supportent les procédures stockées qui acceptent les types de paramètres IN, INOUT et OUT comme définis dans les spécifications ODBC. Cependant, le driver unifié ODBC supporte actuellement uniquement le type de paramètres IN pour les procédures stockées.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

query_string

La requête à préparer.

Valeurs de retour

Retourne un identifiant de résultat ODBC si la commande SQL a été préparée avec succès. Retourne FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec odbc_prepare() et odbc_prepare()

Dans le code suivant, $res ne sera valide uniquement si les trois paramètres pour myproc sont des paramètres IN :

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$res  = odbc_execute($stmt, array($a, $b, $c));
?>

Si vous devez appeler une procédure stockée utilisant des paramètres INOUT ou OUT, il est recommandé d'utiliser l'extension native de votre base de données (par exemple, mssql pour MS SQL Server ou oci8 pour Oracle).

Voir aussi

  • odbc_execute() - Exécute une requête SQL préparée

odbc_pconnect
odbc_primarykeys
Fonctions ODBC


Liste les colonnes utilisées dans une clé primaire

odbc_prepare
odbc_procedurecolumns
Fonctions ODBC
PHP Manual

odbc_primarykeys

(PHP 4, PHP 5)

odbc_primarykeys — Liste les colonnes utilisées dans une clé primaire

Description

resource odbc_primarykeys ( resource $connection_id , string $qualifier , string $owner , string $table )

Liste les colonnes utilisées dans une clé primaire de la table table.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

owner

table

Valeurs de retour

Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME

odbc_prepare
odbc_procedurecolumns
Fonctions ODBC


Liste les paramètres des procédures

odbc_primarykeys
odbc_procedures
Fonctions ODBC
PHP Manual

odbc_procedurecolumns

(PHP 4, PHP 5)

odbc_procedurecolumns — Liste les paramètres des procédures

Description

resource odbc_procedurecolumns ( resource $connection_id )
resource odbc_procedurecolumns ( resource $connection_id , string $qualifier , string $owner , string $proc , string $column )

Liste les paramètres des procédures.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

owner

Le propriétaire. Ce paramètre accepte les masques de recherche suivants : "%" pour chercher zéro ou plusieurs caractères, et "_" pour chercher un seul caractère.

proc

Le procédure. Ce paramètre accepte les masques de recherche suivants : "%" pour chercher zéro ou plusieurs caractères, et "_" pour chercher un seul caractère.

column

La colonne. Ce paramètre accepte les masques de recherche suivants : "%" pour chercher zéro ou plusieurs caractères, et "_" pour chercher un seul caractère.

Valeurs de retour

Retourne les paramètres d'entrée et de sortie, ainsi que les colonnes utilisées dans les procédures désignées par les paramètres. Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

Le résultat est ordonné par PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME et COLUMN_TYPE.

odbc_primarykeys
odbc_procedures
Fonctions ODBC


Liste les procédures stockées

odbc_procedurecolumns
odbc_result_all
Fonctions ODBC
PHP Manual

odbc_procedures

(PHP 4, PHP 5)

odbc_procedures — Liste les procédures stockées

Description

resource odbc_procedures ( resource $connection_id )
resource odbc_procedures ( resource $connection_id , string $qualifier , string $owner , string $name )

Liste les procédures stockées.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

owner

Le propriétaire. Ce paramètre accepte les masques de recherche suivants : "%" pour chercher zéro ou plusieurs caractères, et "_" pour chercher un seul caractère.

name

Le nom. Ce paramètre accepte les masques de recherche suivants : "%" pour chercher zéro ou plusieurs caractères, et "_" pour chercher un seul caractère.

Valeurs de retour

Retourne un identifiant de résultat ODBC contenant les informations ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE

odbc_procedurecolumns
odbc_result_all
Fonctions ODBC


Affiche le résultat sous la forme d'une table HTML

odbc_procedures
odbc_result
Fonctions ODBC
PHP Manual

odbc_result_all

(PHP 4, PHP 5)

odbc_result_all — Affiche le résultat sous la forme d'une table HTML

Description

int odbc_result_all ( resource $result_id [, string $format ] )

Affiche toutes les lignes d'un résultat. L'affichage se fait au format HTML.

Liste de paramètres

result_id

L'identifiant de résultat.

format

Permet de modifier l'aspect global de la table.

Valeurs de retour

Retourne le nombre de lignes du résultat, ou FALSE si une erreur survient.

odbc_procedures
odbc_result
Fonctions ODBC


Lit un champ de résultat UODBC

odbc_result_all
odbc_rollback
Fonctions ODBC
PHP Manual

odbc_result

(PHP 4, PHP 5)

odbc_result — Lit un champ de résultat UODBC

Description

mixed odbc_result ( resource $result_id , mixed $field )

Lit un champ de résultat UODBC.

Liste de paramètres

result_id

Une ressource ODBC.

field

Le nom du champ à récupérer. Peut être aussi bien un entier, contenant le numéro de colonne du champ, dans le résultat, ou bien une chaîne de caractères, qui représente le nom du champ.

Valeurs de retour

Retourne le contenu du champ, FALSE si une erreur survient, NULL pour les données NULL, ou TRUE pour des données binaires.

Exemples

Le premier appel à odbc_result() retourne la valeur du troisième champ de la ligne courante du résultat result_id. Le deuxième appel à odbc_result() retourne la valeur du troisième champ dont le nom est "val" de la ligne courante du résultat result_id. Une erreur survient si le paramètre de colonne est inférieur à 1, ou dépasse le nombre de colonnes du résultat. De la même manière, une erreur survient si le nom du champ passé ne correspond à aucun champ dans le résultat.

Exemple #1 Exemple avec odbc_result()

<?php
$item_3   = odbc_result($Query_ID, 3);
$item_val = odbc_result($Query_ID, "val");
?>

Notes

Les index de champs commencent à 1. Pour plus d'informations sur la façon de lire des colonnes de type binaire ou long, reportez-vous à odbc_binmode() et odbc_longreadlen().

odbc_result_all
odbc_rollback
Fonctions ODBC


Annule une transaction

odbc_result
odbc_setoption
Fonctions ODBC
PHP Manual

odbc_rollback

(PHP 4, PHP 5)

odbc_rollback — Annule une transaction

Description

bool odbc_rollback ( resource $connection_id )

Annule toutes les transactions sur la connexion connection_id.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

odbc_result
odbc_setoption
Fonctions ODBC


Modifie les paramètres ODBC

odbc_rollback
odbc_specialcolumns
Fonctions ODBC
PHP Manual

odbc_setoption

(PHP 4, PHP 5)

odbc_setoption — Modifie les paramètres ODBC

Description

bool odbc_setoption ( resource $id , int $function , int $option , int $param )

odbc_setoption() donne accès aux options ODBC pour une connexion particulière ou un résultat de requête. Elle a été écrite pour aider à la résolution de problèmes liés aux pilotes ODBC récalcitrants. Vous aurez sûrement à utiliser odbc_setoption() si vous êtes un programmeur ODBC et que vous comprenez les divers effets des options disponibles. Vous aurez aussi besoin d'un bon manuel de référence pour comprendre les options et leur usage. Différentes versions de pilotes supportent différentes versions d'options.

Étant donné que les effets peuvent varier d'un pilote à l'autre, l'utilisation de odbc_setoption() dans des scripts voués à être livrés au public est très fortement déconseillée. De plus, certaines options ODBC ne sont pas disponibles car elles doivent être fixées avant l'établissement de la connexion. Cependant, si dans un cas bien spécifique, odbc_setoption() vous permet d'utiliser PHP sans que votre patron ne vous pousse à utiliser un produit commercial, alors cela n'a pas d'importance.

Liste de paramètres

id

Un identifiant de connexion, ou un identifiant de résultat, pour lequel vous souhaitez modifier des options. Pour SQLSetConnectOption(), c'est un identifiant de connexion. Pour SQLSetStmtOption(), c'est un identifiant de résultat.

function

Fonction ODBC à utiliser. La valeur doit être de 1 pour utiliser SQLSetConnectOption() et 2 pour SQLSetStmtOption().

option

L'option à définir.

param

La valeur pour l'option donnée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec odbc_setoption()

<?php
// 1. L'option 102 de SQLSetConnectOption() est SQL_AUTOCOMMIT.
// 1 de SQL_AUTOCOMMIT est SQL_AUTOCOMMIT_ON.
//    Cet exemple a le même effet que
//    odbc_autocommit($conn, true);

odbc_setoption($conn, 1, 102, 1);

// 2. Option 0 de SQLSetStmtOption() est SQL_QUERY_TIMEOUT.
//    Cet exemple fixe le délai d'expiration à 30 secondes.

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>

odbc_rollback
odbc_specialcolumns
Fonctions ODBC


Retourne l'ensemble optimal de colonnes

odbc_setoption
odbc_statistics
Fonctions ODBC
PHP Manual

odbc_specialcolumns

(PHP 4, PHP 5)

odbc_specialcolumns — Retourne l'ensemble optimal de colonnes

Description

resource odbc_specialcolumns ( resource $connection_id , int $type , string $qualifier , string $owner , string $table , int $scope , int $nullable )

Retourne soit l'ensemble optimal de colonnes qui identifie de façon unique une ligne d'une table, ou les colonnes qui sont automatiquement mises à jour lorsqu'un des valeurs de la ligne est mise à jour par une transaction.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

type
Lorsque le type est SQL_BEST_ROWID, odbc_specialcolumns() retourne la ou les colonnes qui permettent de repérer uniquement chaque ligne d'une table. Lorsque le type est SQL_ROWVER, odbc_specialcolumns() retourne la colonne ou les colonnes de la table spécifiée, s'il y en a, elles sont automatiquement mises à jour par les données sources lorsque chaque valeur de la ligne est mise à jour par n'importe quelle transaction.
qualifier

Le qualifieur.

owner

Le propriétaire.

table

La table.

scope

Le scope, qui ordonne le jeu de résultats.

nullable

L'option nullable.

Valeurs de retour

Retourne la ressource de résultat ODBC ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • PSEUDO_COLUMN

odbc_setoption
odbc_statistics
Fonctions ODBC


Calcul des statistiques sur une table

odbc_specialcolumns
odbc_tableprivileges
Fonctions ODBC
PHP Manual

odbc_statistics

(PHP 4, PHP 5)

odbc_statistics — Calcul des statistiques sur une table

Description

resource odbc_statistics ( resource $connection_id , string $qualifier , string $owner , string $table_name , int $unique , int $accuracy )

Calcul des statistiques sur une table.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

owner

Le propriétaire.

table_name

Le nom de la table.

unique

L'attribut unique.

accuracy

L'attribut accuracy.

Valeurs de retour

Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • SEQ_IN_INDEX
  • COLUMN_NAME
  • COLLATION
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION

Le résultat est ordonné par NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME et SEQ_IN_INDEX.

odbc_specialcolumns
odbc_tableprivileges
Fonctions ODBC


Liste les tables et leurs privilèges

odbc_statistics
odbc_tables
Fonctions ODBC
PHP Manual

odbc_tableprivileges

(PHP 4, PHP 5)

odbc_tableprivileges — Liste les tables et leurs privilèges

Description

resource odbc_tableprivileges ( resource $connection_id , string $qualifier , string $owner , string $name )

Liste les tables et leurs privilèges.

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

owner

Le propriétaire. Acceptent des masques de recherche ('%' pour remplacer zéro ou plus caractères, et '_' pour n'en remplacer qu'un seul).

name

Le nom. Acceptent des masques de recherche ('%' pour remplacer zéro ou plus caractères, et '_' pour n'en remplacer qu'un seul).

Valeurs de retour

Retourne un identifiant de résultat ODBC ou FALSE si une erreur survient.

Le résultat possède les colonnes suivantes :

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

Le résultat est ordonné par TABLE_QUALIFIER, TABLE_OWNER et TABLE_NAME.

odbc_statistics
odbc_tables
Fonctions ODBC


Liste les tables d'une source

odbc_tableprivileges
PDO
Fonctions ODBC
PHP Manual

odbc_tables

(PHP 4, PHP 5)

odbc_tables — Liste les tables d'une source

Description

resource odbc_tables ( resource $connection_id [, string $qualifier [, string $owner [, string $name [, string $types ]]]] )

Liste les tables d'une source.

Pour supporter les énumérations de qualificateurs propriétaires et types de table, la sémantique suivante pour les paramètres qualifier, owner, name et table_type est disponible :

  • Si qualifier est un signe de pourcentage (%), et owner et name sont des chaînes vides, alors le résultat contient la liste des qualifiés valides pour la source (toutes les colonnes hormis TABLE_QUALIFIER contiennent NULL).
  • Si owner est un signe de pourcentage (%), et qualifier et name sont des chaînes vides, alors le résultat contient la liste des propriétaires de la source (toutes les colonnes hormis TABLE_OWNER contiennent NULL).
  • Si table_type est un signe de pourcentage (%), et qualifier, owner et name sont des chaînes vides, alors le résultat contient la liste des types de tables de la source (toutes les colonnes hormis TABLE_TYPE contiennent NULL).

Liste de paramètres

connection_id

L'identifiant de connexion ODBC, voir la documentation de la fonction odbc_connect() pour plus de détails.

qualifier

Le qualifieur.

owner

Le propriétaire. Accepte des masques de recherche ('%' pour remplacer zéro ou plus caractères, et '_' pour n'en remplacer qu'un seul).

name

Le nom. Accepte des masques de recherche ('%' pour remplacer zéro ou plus caractères, et '_' pour n'en remplacer qu'un seul).

types

Si table_type n'est pas une chaîne vide, il doit contenir une liste de valeurs, séparées par des virgules, qui représentent les types recherchés. Chaque valeur peut être insérée entre guillemets simples ('), ou sans guillemets. Par exemple, "'TABLE','VIEW'" ou "TABLE, VIEW". Si la source de données ne supporte pas un type de table donné, odbc_tables() ne retournera aucun résultat pour ce type.

Valeurs de retour

Retourne un identifiant de résultat ODBC contenant les informations ou FALSE si une erreur survient.

Le résultat contient les colonnes suivantes :

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS

Le résultat est ordonné grâce aux options TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER et TABLE_NAME.

Voir aussi

  • odbc_tableprivileges() - Liste les tables et leurs privilèges

odbc_tableprivileges
PDO
Fonctions ODBC


PHP Data Objects

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Connexions et gestionnaire de connexion
  • Transactions et validation automatique (autocommit)
  • Requêtes préparées et procédures stockées
  • Les erreurs et leur gestion
  • Les objets larges (LOB)
  • PDO — La classe PDO
    • PDO::beginTransaction — Démarre une transaction
    • PDO::commit — Valide une transaction
    • PDO::__construct — Crée une instance PDO qui représente une connexion à la base
    • PDO::errorCode — Retourne le SQLSTATE associé avec la dernière opération sur la base de données
    • PDO::errorInfo — Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
    • PDO::exec — Exécute une requête SQL et retourne le nombre de lignes affectées
    • PDO::getAttribute — Récupère un attribut d'une connexion à une base de données
    • PDO::getAvailableDrivers — Retourne la liste des pilotes PDO disponibles
    • PDO::lastInsertId — Retourne l'identifiant de la dernière ligne insérée ou la valeur d'une séquence
    • PDO::prepare — Prépare une requête à l'exécution et retourne un objet
    • PDO::query — Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
    • PDO::quote — Protège une chaîne pour l'utiliser dans une requête SQL PDO
    • PDO::rollBack — Annule une transaction
    • PDO::setAttribute — Configure un attribut PDO
  • PDOStatement — La classe PDOStatement
    • PDOStatement->bindColumn — Lie une colonne à une variable PHP
    • PDOStatement->bindParam — Lie un paramètre à un nom de variable spécifique
    • PDOStatement->bindValue — Associe une valeur à un paramètre
    • PDOStatement->closeCursor — Ferme le curseur, permettant à la requête d'être de nouveau exécutée
    • PDOStatement->columnCount — Retourne le nombre de colonnes dans le jeu de résultats
    • PDOStatement->debugDumpParams — Détaille une commande préparée SQL
    • PDOStatement->errorCode — Récupère le SQLSTATE associé lors de la dernière opération sur la requête
    • PDOStatement->errorInfo — Récupère les informations sur l'erreur associée lors dernière opération sur la requête
    • PDOStatement->execute — Exécute une requête préparée
    • PDOStatement->fetch — Récupère la ligne suivante d'un jeu de résultat PDO
    • PDOStatement->fetchAll — Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
    • PDOStatement->fetchColumn — Retourne une colonne depuis la ligne suivante d'un jeu de résultats
    • PDOStatement->fetchObject — Récupère la prochaine ligne et la retourne en tant qu'objet
    • PDOStatement->getAttribute — Récupère un attribut de requête
    • PDOStatement->getColumnMeta — Retourne les métadonnées pour une colonne d'un jeu de résultats
    • PDOStatement->nextRowset — Avance à la prochaine ligne de résultats d'un gestionnaire de lignes de résultats multiples
    • PDOStatement->rowCount — Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()
    • PDOStatement->setAttribute — Définie un attribut de requête
    • PDOStatement->setFetchMode — Définit le mode de récupération par défaut pour cette requête
  • PDOException — La classe PDOException
  • Pilotes PDO
    • MS SQL Server (PDO) — Microsoft SQL Server et Fonctions Sybase (PDO_DBLIB)
    • Firebird/Interbase (PDO) — Fonctions Firebird/Interbase (PDO_FIREBIRD)
    • IBM (PDO) — Fonctions IBM (PDO_IBM)
    • Informix (PDO) — Fonctions Informix (PDO_INFORMIX)
    • MySQL (PDO) — Fonctions MySQL (PDO_MYSQL)
    • Oracle (PDO) — Fonctions Oracle (PDO_OCI)
    • ODBC et DB2 (PDO) — Fonctions ODBC et DB2 (PDO_ODBC)
    • PostgreSQL (PDO) — Fonctions PostgreSQL (PDO_PGSQL)
    • SQLite (PDO) — Fonctions SQLite (PDO_SQLITE)
    • 4D (PDO)
odbc_tables
Introduction
Interface d'abstraction


Introduction

L'extension PHP Data Objects (PDO) définit une excellente interface pour accéder à une base de données depuis PHP. Chaque pilote de base de données implémenté dans l'interface PDO peut utiliser des fonctionnalités spécifiques de chacune des bases de données en utilisant des extensions de fonctions. Notez que vous ne pouvez exécuter aucune fonction de base de données en utilisant l'extension PDO par elle-même ; vous devez utiliser un driver PDO spécifique à la base de données pour accéder au serveur de base de données.

PDO fournit une interface d'abstraction à l'accès de données, ce qui signifie que vous utilisez les mêmes fonctions pour exécuter des requêtes ou récupérer les données quelque soit la base de données utilisée. PDO ne fournit pas une abstraction de base de données : il ne réécrit pas le SQL, n'émule pas des fonctionnalités manquantes. Vous devriez utiliser une interface d'abstraction complète si vous avez besoin de cela.

PDO est fournit avec PHP 5.1 et est disponible en tant qu'extension PECL pour PHP 5.0 ; PDO requiert les nouvelles fonctionnalités OO fournies par PHP 5 et donc, ne fonctionne pas avec les versions antérieures de PHP.

PDO
Installation/Configuration
PDO


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
PDO


Installation

PHP 5.1 et supérieur sur les systèmes Unix

  1. PDO et le driver PDO_SQLITE sont activés par défaut depuis PHP 5.1.0. Vous devez activer le driver PDO de la base de données de votre choix ; consultez la documentation pour les drivers spécifiques à votre base de données pour plus d'informations. Notez que lors de la compilation de PDO comme extension partagée (non recommandé), alors tous les drivers PDO doivent être chargés après le chargement de PDO.

  2. Lors de l'installation de PDO comme module partagé, le fichier php.ini doit être mis à jour afin de charger l'extension PDO automatiquement lorsque PHP entre en fonctionnement. Vous devez également y activer les drivers spécifiques à votre base de données ; assurez-vous que ces drivers seront listés après la ligne pdo.so, vu que PDO doit être initialisé avant le chargement des extensions spécifiques aux bases de données. Si vous compilez PDO et les extensions relatives aux bases de données de façon statique, vous pouvez ignorer cette étape.

    extension=pdo.so

Utilisateurs de Windows

  1. PDO ainsi que tous les drivers principaux interagissent avec PHP en tant qu'extensions partagées, et ont tout simplement besoin d'être activés en éditant le fichier php.ini :

    extension=php_pdo.dll

  2. Ensuite, choisissez les autres fichiers DLL spécifiques à votre base de données et utilisez soit la fonction dl() pour les charger au moment de l'exécution ou activer-les dans le fichier php.ini en dessous de la ligne php_pdo.dll. Par exemple :

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    Ces bibliothèques DDLs doivent exister dans le dossier système extension_dir.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration PDO
Nom | Défaut | Modifiable | Historique
pdo.dsn.* |  | php.ini seulement |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

pdo.dsn.* string

Définit un alias DSN. Voyez PDO::__construct() pour une explication complète.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Avertissement

PDO utilise les constantes de classe depuis PHP 5.1. Les versions antérieures utilisent les constantes globales sous la forme PDO_PARAM_BOOL.

PDO::PARAM_BOOL (entier)
Représente le type de données booléen.
PDO::PARAM_NULL (entier)
Représente le type de données NULL SQL.
PDO::PARAM_INT (entier)
Représente le type de données INTEGER SQL.
PDO::PARAM_STR (entier)
Représente les types de données CHAR, VARCHAR ou les autres types de données sous forme de chaîne de caractères SQL.
PDO::PARAM_LOB (entier)
Représente le type de données "objet large" SQL.
PDO::PARAM_STMT (entier)
Représente un type de jeu de résultats. N'est actuellement pas supporté par tous les pilotes.
PDO::PARAM_INPUT_OUTPUT (entier)
Spécifie que le paramètre est un paramètre INOUT pour une procédure stockée. Vous devez utiliser l'opérateur OR avec un type de données explicite PDO::PARAM_*.
PDO::FETCH_LAZY (entier)
Spécifie que la méthode de récupération doit retourner chaque ligne en tant qu'objet PDORow avec les noms de variables correspondants aux noms des colonnes retournées dans le jeu de résultats. PDO::FETCH_LAZY crée les noms des variables de l'objet uniquement lorsqu'ils sont utilisés.
PDO::FETCH_ASSOC (entier)
Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes comme elles sont retournées dans le jeu de résultats correspondant. Si le jeu de résultats contient de multiples colonnes avec le même nom, PDO::FETCH_ASSOC retourne une seule valeur par nom de colonne.
PDO::FETCH_NAMED (entier)
Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes comme elles sont retournées dans le jeu de résultats correspondant. Si le jeu de résultats contient de multiples colonnes avec le même nom, PDO::FETCH_NAMED retourne un tableau de valeurs par nom de colonne.
PDO::FETCH_NUM (entier)
Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par le numéro des colonnes comme elles sont retournées dans le jeu de résultats correspondant, en commençant à 0.
PDO::FETCH_BOTH (entier)
Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes ainsi que leurs numéros, comme elles sont retournées dans le jeu de résultats correspondant, en commençant à 0.
PDO::FETCH_OBJ (entier)
Spécifie que la méthode de récupération doit retourner chaque ligne dans un objet avec les noms de propriétés correspondant aux noms des colonnes comme elles sont retournées dans le jeu de résultats.
PDO::FETCH_BOUND (entier)
Spécifie que la méthode de récupération doit retourner TRUE et assigner les valeurs des colonnes du jeu de résultats dans les variables PHP auxquelles elles sont liées avec la méthode PDOStatement::bindParam() ou la méthode PDOStatement::bindColumn().
PDO::FETCH_COLUMN (entier)
Spécifie que la méthode de récupération doit retourner uniquement une seule colonne demandée depuis la prochaine ligne du jeu de résultats.
PDO::FETCH_CLASS (entier)
Spécifie que la méthode de récupération doit retourner une nouvelle instance de la classe demandée, liant les colonnes aux membres de la classe.

Note: La méthode magique __set est appelée si le membre n'existe pas dans la classe utilisée.

PDO::FETCH_INTO (entier)
Spécifie que la méthode de récupération doit mettre à jour une instance existante de la classe demandée, liant les colonnes aux propriétés nommées dans la classe.
PDO::FETCH_FUNC (entier)
Spécifie que la méthode de récupération doit appeler une fonction de callback qui traitera les résultats.
PDO::FETCH_GROUP (entier)
PDO::FETCH_UNIQUE (entier)
PDO::FETCH_KEY_PAIR (entier)
Récupération dans un tableau lorsque la première colonne est une clé et tous les autres colonnes sont les valeurs. Disponible depuis PHP 5.2.3.
PDO::FETCH_CLASSTYPE (entier)
Détermine le nom de la classe depuis la valeur de la première colonne.
PDO::FETCH_SERIALIZE (entier)
Identique à PDO::FETCH_INTO, mais l'objet est fourni sous la forme d'une chaîne linéarisée. Disponible depuis PHP 5.1.0.
PDO::FETCH_PROPS_LATE (entier)
Disponible depuis PHP 5.2.0
PDO_ATTR_AUTOCOMMIT (entier)
Si la valeur vaut FALSE, PDO tente de désactiver l'autovalidation lorsque la connexion commence une transaction.
PDO::ATTR_PREFETCH (entier)
Définir la taille de la prérécupération vous permet d'accroître les performances de votre application. Toutes les combinaisons bases de données / pilotes ne supportent pas cette fonctionnalité. Ceci accroît les performances au détriment de la consommation de mémoire vive.
PDO::ATTR_TIMEOUT (entier)
Définit la valeur d'attente en secondes pour les communications avec la base de données.
PDO::ATTR_ERRMODE (entier)
Voir la section sur les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
PDO::ATTR_SERVER_VERSION (entier)
Attribut en lecture seule ; il retourne des informations sur la version de la base de données à laquelle PDO est connecté.
PDO::ATTR_CLIENT_VERSION (entier)
Attribut en lecture seule ; il retourne des informations sur la version de la bibliothèque cliente utilisée par PDO.
PDO::ATTR_SERVER_INFO (entier)
Attribut en lecture seule ; il retourne quelques metainformations sur le serveur de base de données auquel PDO est connecté.
PDO::ATTR_CONNECTION_STATUS (entier)
PDO::ATTR_CASE (entier)
Force les noms des colonnes dans une casse spécifiée par les constantes PDO::CASE_*.
PDO::ATTR_CURSOR_NAME (entier)
Récupère ou définit le nom à utiliser pour un curseur. Très utile lors de l'utilisation de curseurs scrollables et des mises à jour positionnées.
PDO::ATTR_CURSOR (entier)
Sélectionne le type de curseur. PDO supporte actuellement soit PDO::CURSOR_FWDONLY, soit PDO::CURSOR_SCROLL. Conservez PDO::CURSOR_FWDONLY tant que vous savez que vous avez besoin d'un curseur scrollable.
PDO::ATTR_DRIVER_NAME (chaîne de caractères)
Retourne le nom du driver.

Exemple #1 Utilisation de PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
   echo "Utilisation de mysql ; fait quelque chose de spécifique à mysql ici\n";
}
?>

PDO::ATTR_ORACLE_NULLS (entier)
Convertit les chaînes vides en valeurs NULL SQL dans les données récupérées.
PDO::ATTR_PERSISTENT (entier)
Demande une connexion persistante, plutôt que de créer une nouvelle connexion. Voir les connexions et le gestionnaire de connexion pour plus d'informations sur cet attribut.
PDO::ATTR_STATEMENT_CLASS (entier)
PDO::ATTR_FETCH_CATALOG_NAMES (entier)
Ajoute le contenu du catalogue de noms dans chaque nom de colonnes retourné dans le jeu de résultat. Le catalogue de noms et les noms de colonnes sont séparés par un point (.). Le support de cet attribut n'est pas disponible pour tous les pilotes ; il peut ne pas être disponible pour votre driver.
PDO::ATTR_FETCH_TABLE_NAMES (entier)
Ajoute le contenu de la table de noms dans chaque nom de colonne retourné dans le jeu de résultats. La table de nom et les noms de colonnes sont séparés par un point (.). Le support de cet attribut n'est pas disponible pour tous les pilotes ; il peut ne pas être disponible pour votre driver.
PDO::ATTR_STRINGIFY_FETCHES (entier)
PDO::ATTR_MAX_COLUMN_LEN (entier)
PDO::ATTR_DEFAULT_FETCH_MODE (entier)
Disponible depuis PHP 5.2.0.
PDO::ATTR_EMULATE_PREPARES (entier)
Disponible depuis PHP 5.1.3.
PDO::ERRMODE_SILENT (entier)
N'envoie pas d'erreur ni d'exception si une erreur survient. Le développeur doit explicitement vérifier les erreurs. C'est le mode par défaut. Voir les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
PDO::ERRMODE_WARNING (entier)
Envoie une erreur de niveau E_WARNING si une erreur survient. Voir les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
PDO::ERRMODE_EXCEPTION (entier)
Lance une exception PDOException si une erreur survient. Voir les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
PDO::CASE_NATURAL (entier)
Laisse les noms de colonnes comme retournés par le driver de base de données.
PDO::CASE_LOWER (entier)
Force les noms de colonnes en minuscule.
PDO::CASE_UPPER (entier)
Force les noms des colonnes en majuscule.
PDO::NULL_NATURAL (entier)
PDO::NULL_EMPTY_STRING (entier)
PDO::NULL_TO_STRING (entier)
PDO::FETCH_ORI_NEXT (entier)
Récupère la prochaine ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.
PDO::FETCH_ORI_PRIOR (entier)
Récupère la ligne précédente d'un jeu de résultats. Valide seulement pour les curseurs scrollables.
PDO::FETCH_ORI_FIRST (entier)
Récupère la première ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.
PDO::FETCH_ORI_LAST (entier)
Récupère la dernière ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.
PDO::FETCH_ORI_ABS (entier)
Récupère la ligne demandée par un numéro de ligne d'un jeu de résultats. Valide seulement pour les curseurs scrollables.
PDO::FETCH_ORI_REL (entier)
Récupère la ligne demandée par une position relative à la position courante du curseur d'un jeu de résultats. Valide seulement pour les curseurs scrollables.
PDO::CURSOR_FWDONLY (entier)
Crée un objet PDOStatement avec un curseur uniquement de retour. C'est le choix par défaut pour le curseur, car il est rapide et l'accès aux données est commun pour les masques en PHP.
PDO::CURSOR_SCROLL (entier)
Crée un objet PDOStatement avec un curseur scrollable. Passez la constante PDO::FETCH_ORI_* pour contrôler les lignes récupérées du jeu de résultats.
PDO::ERR_NONE (chaîne de caractères)
Correspond à SQLSTATE '00000', ce qui signifie que la requête SQL a réussi sans erreur, ni avertissement. Cette constante est utile lorsque vous utilisez PDO::errorCode() ou PDOStatement::errorCode() pour déterminer si une erreur est survenue. Cependant, vous devez déjà savoir si c'est le cas en examinant le code retourné par la méthode qui a lancée l'erreur.
PDO::PARAM_EVT_ALLOC (entier)
Alloue un événement
PDO::PARAM_EVT_FREE (entier)
Supprime un événement
PDO::PARAM_EVT_EXEC_PRE (entier)
Toujours faire un déclencheur avant l'exécution d'une requête préparée.
PDO::PARAM_EVT_EXEC_POST (entier)
Toujours effectuer un déclencheur de sous séquence avant l'exécution d'une requête préparée.
PDO::PARAM_EVT_FETCH_PRE (entier)
Toujours effectuer un déclencheur avant de récupérer un résultat d'un jeu de résultats.
PDO::PARAM_EVT_FETCH_POST (entier)
Toujours effectuer un déclencheur de sous séquence avant de récupérer un résultat d'un jeu de résultats.
PDO::PARAM_EVT_NORMALIZE (entier)
Toujours effectuer un déclencheur lors de l'enregistrement des paramètres liés permettant au pilote de normaliser le nom des paramètres.
Types de ressources
Connexions et gestionnaire de connexion
PDO


Connexions et gestionnaire de connexion

Les connexions sont établies en créant des instances de la classe de base de PDO. Peu importe quel driver vous voulez utiliser ; vous utilisez toujours le nom de la classe PDO. Le constructeur accepte des paramètres pour spécifier la source de la base de données (connue en tant que DSN) et optionnellement, le nom d'utilisateur et le mot de passe (s'il y en a un).

Exemple #2 Connexion à MySQL

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

S'il y a des erreurs de connexion, un objet PDOException est lancé. Vous pouvez attraper cette exception si vous voulez gérer cette erreur, ou laisser le gestionnaire global d'exception défini via la fonction set_exception_handler() la traiter.

Exemple #3 Gestion des erreurs de connexion

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Erreur !: " . $e->getMessage() . "<br/>";
    die();
}
?>

Avertissement

Si votre application n'attrape pas les exceptions lancées depuis le constructeur PDO, l'action par défaut du moteur zend est de terminer le script et d'afficher une trace. Cette trace devrait révéler des détails complets sur la connexion à la base de données, incluant le nom d'utilisateur et le mot de passe. Il en est donc de votre responsabilité d'attraper cette exception, soit explicitement (via l'instruction catch) ou implicitement via la fonction set_exception_handler().

Lorsque la connexion à la base de données a réussi, une instance de la classe PDO est retournée à votre script. La connexion est active tant que l'objet PDO l'est. Pour clore la connexion, vous devez détruire l'objet en vous assurant que toutes ses références sont effacées. Vous pouvez faire cela en assignant NULL à la variable gérant l'objet. Si vous ne le faites pas explicitement, PHP fermera automatiquement la connexion lorsque le script arrivera à la fin.

Exemple #4 Fermeture d'une connexion

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// utiliser la connexion ici

// et maintenant, fermez-la !
$dbh = null;
?>

Beaucoup d'applications web utilisent des connexions persistantes aux serveurs de base de données. Les connexions persistantes ne sont pas fermées à la fin du script, mais sont mises en cache et réutilisées lorsqu'un autre script demande une connexion en utilisant les mêmes paramètres. Le cache des connexions persistantes vous permet d'éviter d'établir une nouvelle connexion à chaque fois qu'un script doit accéder à une base de données, rendant l'application web plus rapide.

Exemple #5 Connexions persistantes

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));
?>

Note: Si vous souhaitez utiliser des connexions persistantes, vous devez utiliser la valeur PDO::ATTR_PERSISTENT dans le le tableau des options du driver passé au constructeur PDO. Si vous définissez cet attribut avec la méthode PDO::setAttribute() après l'instanciation de l'objet, le driver n'utilisera pas les connexions persistantes.

Note: Si vous utilisez le driver PDO ODBC et que votre bibliothèque ODBC supporte le pool de connexion ODBC (unixODBC et Windows le supportent tous les deux ; peut être plus), alors il est recommandé de ne pas utiliser les connexions persistantes PDO, mais plutôt laisser le pool de connexion ODBC mettre en cache les connexions. Le pool de connexion ODBC est partagé avec les autres modules dans le processus ; si PDO met en cache la connexion, alors cette connexion ne sera jamais retournée par le pool de connexion ODBC, faisant que plusieurs connexions sont créées pour les autres modules.

Constantes pré-définies
Transactions et validation automatique (autocommit)
PDO


Transactions et validation automatique (autocommit)

Maintenant que vous êtes connecté via PDO, vous devez comprendre comment PDO gère les transactions avant d'exécuter des requêtes. Si vous n'avez jamais utilisé les transactions, elles offrent 4 fonctionnalités majeures : Atomicité, Consistance, Isolation et Durabilité (ACID). En d'autres termes, n'importe quel travail mené à bien dans une transaction, même s'il est effectué par étapes, est garanti d'être appliqué à la base de données sans risque, et sans interférence pour les autres connexions, quand il est validé. Le travail des transactions peut également être automatiquement annulé à votre demande (en supposant que vous n'avez encore rien validé), ce qui rend la gestion des erreurs bien plus simple dans vos scripts.

Les transactions sont typiquement implémentées pour appliquer toutes vos modifications en une seule fois ; ceci a le bel effet d'éprouver drastiquement l'efficacité de vos mises à jour. Dans d'autres termes, les transactions rendent vos scripts plus rapides et potentiellement plus robustes (vous devez les utiliser correctement pour avoir ces bénéfices).

Malheureusement, toutes les bases de données ne supportent pas les transactions, donc, PDO doit s'exécuter en mode "autocommit" lorsque vous ouvrez pour la première fois la connexion. Le mode "autocommit" signifie que toutes les requêtes que vous exécutez ont leurs transactions implicites, si la base de données le supporte ou aucune transaction si la base de données ne les supporte pas. Si vous avez besoin d'une transaction, vous devez utiliser la méthode PDO::beginTransaction() pour l'initialiser. Si le driver utilisé ne supporte pas les transactions, une exception PDO sera lancée (en accord avec votre gestionnaire d'erreurs : ceci est toujours une erreur sérieuse). Une fois que vous êtes dans une transaction, vous devez utiliser la fonction PDO::commit() ou la fonction PDO::rollBack() pour la terminer, suivant le succès de votre code durant la transaction.

Lorsque le script se termine ou lorsque la connexion est sur le point de se fermer, si vous avez une transaction en cours, PDO l'annulera automatiquement. Ceci est une mesure de sécurité afin de garantir la consistance de vos données dans le cas où le script se termine d'une façon inattendue. Si vous ne validez pas explicitement la transaction, alors, on présume que quelque chose s'est mal passé et l'annulation de la transaction intervient afin de garantir la sécurité de vos données.

Avertissement

L'annulation automatique intervient si vous avez initialisé la transaction via PDO::beginTransaction(). Si vous avez manuellement exécuté une requête qui commence une transaction, PDO n'a aucun moyen de le savoir et donc, n'annulera pas automatiquement cette transaction si quelque chose s'est mal passé.

Exemple #6 Exécution d'un groupe dans une transaction

Dans l'exemple suivant, supposons que nous allons créer un jeu d'entrées pour un nouvel employé, dont le numéro d'ID sera 23. En plus des données basiques sur cette personne, nous devons également lui enregistrer son salaire. Il est très simple d'effectuer deux mises à jour séparées, mais en les enfermant dans les appels des fonctions PDO::beginTransaction() et PDO::commit(), nous garantissons que personne ne pourra voir ces modifications tant qu'elles ne seront pas complètes. Si quelque chose tourne mal, le bloc de capture annulera toutes les modifications effectuées depuis le début de la transaction et affichera un message d'erreur.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connecté\n";
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $dbh->commit();

} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

Vous n'êtes pas limités dans le nombre de mises à jour dans une transaction ; vous pouvez également y effectuer des requêtes complexes et bien sûr, utiliser ces informations pour construire d'autres mises à jour et requêtes ; durant l'activité de la transaction, vous êtes sûrs que personne d'autre ne peut effectuer des modifications alors que vous êtes au milieu de vos modifications. Pour plus d'informations sur les transactions, reportez-vous à la documentation fournie par votre base de données.

Connexions et gestionnaire de connexion
Requêtes préparées et procédures stockées
PDO


Requêtes préparées et procédures stockées

La plupart des bases de données supportent le concept des requêtes préparées. Qu'est-ce donc ? Vous pouvez les voir comme une sorte de modèle compilé pour le SQL que vous voulez exécuter, qui peut être personnalisé en utilisant des variables en guise de paramètres. Les requêtes préparées offrent deux fonctionnalités essentielles :

  • La requête ne doit être analysée (ou préparée) qu'une seule fois, mais peut être exécutée plusieurs fois avec des paramètres identiques ou différents. Lorsque la requête est préparée, la base de données va analyser, compiler et optimiser son plan pour exécuter la requête. Pour les requêtes complexes, ce processus peut prendre assez de temps, ce qui peut ralentir vos applications si vous devez répéter la même requête plusieurs fois avec différents paramètres. En utilisant les requêtes préparées, vous évitez ainsi de répéter le cycle analyser/compilation/optimisation. Pour résumer, les requêtes préparées utilisent moins de ressources et s'exécutent plus rapidement.
  • Les paramètres pour préparer les requêtes n'ont pas besoin d'être entre guillemets ; le driver le gère pour vous. Si votre application utilise exclusivement les requêtes préparées, vous pouvez être sûr qu'aucune injection SQL n'est possible (Cependant, si vous construisez d'autres parties de la requête en vous basant sur des entrées utilisateurs, vous continuez à prendre un risque).

Les requêtes préparées sont tellement pratiques que c'est l'unique fonctionnalité que PDO émule pour les drivers qui ne les supportent pas. Ceci assure de pouvoir utiliser la même technique pour accéder aux données, sans se soucier des capacités de la base de données.

Exemple #7 Insertions répétitives en utilisant les requêtes préparées

Cet exemple effectue une requête INSERT en y substituant un nom et une valeur pour les marqueurs nommés.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insertion d'une ligne
$name = 'one';
$value = 1;
$stmt->execute();

// insertion d'une autre ligne avec des valeurs différentes
$name = 'two';
$value = 2;
$stmt->execute();
?>

Exemple #8 Insertions répétées en utilisant des requêtes réparées

Cet exemple effectue une requête INSERT en y substituant un nom et une valeur pour les marqueurs ?.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);

// insertion d'une ligne
$name = 'one';
$value = 1;
$stmt->execute();

// insertion d'une autre ligne avec différentes valeurs
$name = 'two';
$value = 2;
$stmt->execute();
?>

Exemple #9 Récupération des données en utilisant des requêtes préparées

Cet exemple récupère des données basées sur la valeur d'une clé fournie par un formulaire. L'entrée utilisateur est automatiquement échappée, il n'y a donc aucun risque d'attaque par injection SQL.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>

Si le driver de la base de données le supporte, vous pouvez également lier des paramètres aussi bien pour l'entrée que pour la sortie. Les paramètres de sortie sont utilisés typiquement pour récupérer les valeurs d'une procédure stockée. Les paramètres de sortie sont un peu plus complexe à utiliser que les paramètres d'entrée car vous devez savoir la longueur d'un paramètre donné pourra atteindre lorsque vous le liez. Si la valeur retournée est plus longue que la taille qui vous auriez suggéré, une erreur sera émise.

Exemple #10 Appel d'une procédure stockée avec un paramètre de sortie

<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);

// Appel de la procédure stockée
$stmt->execute();

print "La procédure a retourné : $return_value\n";
?>

Vous devez également spécifier les paramètres qui gèrent les valeurs aussi bien pour l'entrée que pour la sortie ; la syntaxe est similaire aux paramètres de sortie. Dans le prochain exemple, la chaîne 'Bonjour' est passée à la procédure stockée et lorsqu'elle retourne la valeur, 'Bonjour' est remplacée par la valeur retournée par la procédure.

Exemple #11 Appel d'une procédure stockée avec un paramètre d'entrée/sortie

<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// appel de la procédure stockée
$stmt->execute();

print "La procédure a retourné : $value\n";
?>

Exemple #12 Utilisation invalide de marqueur

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// un marqueur doit être utilisé à la place d'une valeur complète
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>

Transactions et validation automatique (autocommit)
Les erreurs et leur gestion
PDO


Les erreurs et leur gestion

PDO vous offre 3 façon différentes de gérer les erreurs afin de mieux s'adapter à votre application.

  • PDO::ERRMODE_SILENT

    C'est le mode par défaut. PDO définit simplement le code erreur à inspecter grâce aux méthodes PDO::errorCode() et PDO::errorInfo() sur les objets représentant les requêtes, mais aussi ceux représentant les bases de données ; si l'erreur résulte d'un appel à l'objet représentant la requête, vous pouvez appeler la méthode PDOStatement::errorCode() ou la méthode PDOStatement::errorInfo() sur l'objet. Si l'erreur résulte d'un appel sur l'objet représentant une base de données, vous pouvez également appeler ces deux mêmes méthodes sur l'objet.

  • PDO::ERRMODE_WARNING

    En plus de définir le code erreur, PDO émettra un message E_WARNING traditionnel. Cette configuration est utile lors des tests et du déboguage, si vous voulez voir le problème sans interrompre l'application.

  • PDO::ERRMODE_EXCEPTION

    En plus de définir le code erreur, PDO lancera une exception PDOException et y définit les propriétés afin de représenter le code erreur et les informations complémentaires. Cette configuration est également utile lors du déboguage, car elle va "contourner" le point critique de votre code, vous montrer rapidement le problème rencontré (souvenez-vous : les transactions sont automatiquement annulées si l'exception fait que votre script se termine).

    Le mode "exception" est également très utile car ainsi, vous pouvez structurer votre gestionnaire d'erreur plus clairement qu'avec les alertes traditionnelles PHP et, ce, avec moins de code que lorsque vous exécutez votre code en mode silence, et que vous vérifiez systématiquement les valeurs retournées après chaque appel à la base de données.

    Voir le chapitre sur les exceptions pour plus d'informations sur les exceptions en PHP.

PDO utilise les codes erreurs SQL-92 SQLSTATE ; chaque driver PDO est responsable de lier leurs codes natifs aux codes SQLSTATE appropriés. La méthode PDO::errorCode() retourne un code SQLSTATE unique. Si vous avez besoin d'informations spécifiques sur l'erreur, PDO vous propose également la méthode PDO::errorInfo() qui retourne un tableau contenant le code SQLSTATE, le code erreur spécifique du driver et la chaîne décrivant l'erreur provenant du driver.

Requêtes préparées et procédures stockées
Les objets larges (LOB)
PDO


Les objets larges (LOB)

À un moment dans votre application, vous pourriez avoir besoin de stocker de larges données dans votre base de données. "Large" signifie typiquement des données d'environ 4 ko ou plus, bien que certaines bases de données peuvent gérer plus de 32 ko avant que les données deviennent "larges". Les objets larges peuvent être de nature textuelle ou binaire. PDO vous permet de travailler avec ce type de larges données en utilisant le code type PDO::PARAM_LOB dans vos appels aux fonctions PDOStatement::bindParam() ou PDOStatement::bindColumn(). PDO::PARAM_LOB demande à PDO de transformer les données en un flux que vous pourrez manipuler en utilisant l'API PHP des flux.

Exemple #13 Affichage d'une image depuis une base de données

Cet exemple lie un LOB dans une variable nommée $lob et l'envoie au navigateur en utilisant la fonction fpassthru(). Étant donné qu'un LOB est représenté en un flux, les fonctions comme fgets(), fread() et stream_get_contents() peuvent être utilisées sur ce flux.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Exemple #14 Insertion d'une image dans une base de données

Cet exemple ouvre un fichier et passe le pointeur de fichier à PDO pour l'insérer en tant que LOB. PDO fera son possible pour récupérer le contenu du fichier et l'insérer dans la base de données de la manière la plus efficace possible.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // fonction pour allouer un nouvel ID

// assumons que nous récupérons un fichier depuis un formulaire
// vous pouvez trouver plus de détails dans la documentation de PHP

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Exemple #15 Insertion d'une image dans une base de données Oracle

Oracle requiert une syntaxe légèrement différente pour y insérer un LOB depuis un fichier. Il est également essentiel d'effectuer votre insertion au sein d'une transaction, sinon, votre nouveau LOB sera inséré avec une longueur de zéro :

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // fonction pour allouer un nouvel ID

// assumons que nous récupérons un fichier depuis un formulaire
// vous pouvez trouver plus de détails dans la documentation de PHP

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>

Les erreurs et leur gestion
PDO
PDO


La classe PDO

Introduction

Représente une connexion entre PHP et un serveur de base de données.

Synopsis de la classe

PDO
PDO {
__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )
bool beginTransaction ( void )
bool commit ( void )
mixed errorCode ( void )
array errorInfo ( void )
int exec ( string $statement )
mixed getAttribute ( int $attribute )
array getAvailableDrivers ( void )
string lastInsertId ([ string $name = NULL ] )
PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
PDOStatement query ( string $statement )
string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
bool rollBack ( void )
bool setAttribute ( int $attribute , mixed $value )
}

Sommaire

  • PDO::beginTransaction — Démarre une transaction
  • PDO::commit — Valide une transaction
  • PDO::__construct — Crée une instance PDO qui représente une connexion à la base
  • PDO::errorCode — Retourne le SQLSTATE associé avec la dernière opération sur la base de données
  • PDO::errorInfo — Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
  • PDO::exec — Exécute une requête SQL et retourne le nombre de lignes affectées
  • PDO::getAttribute — Récupère un attribut d'une connexion à une base de données
  • PDO::getAvailableDrivers — Retourne la liste des pilotes PDO disponibles
  • PDO::lastInsertId — Retourne l'identifiant de la dernière ligne insérée ou la valeur d'une séquence
  • PDO::prepare — Prépare une requête à l'exécution et retourne un objet
  • PDO::query — Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
  • PDO::quote — Protège une chaîne pour l'utiliser dans une requête SQL PDO
  • PDO::rollBack — Annule une transaction
  • PDO::setAttribute — Configure un attribut PDO
Les objets larges (LOB)
PDO::beginTransaction
PDO


Démarre une transaction

PDO
PDO::commit
PDO
PHP Manual

PDO::beginTransaction

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::beginTransaction — Démarre une transaction

Description

bool PDO::beginTransaction ( void )

PDO::beginTransaction() désactive le mode autocommit. Lorsque l'autocommit est désactivé, les modifications faites sur la base de données via les instances des objets PDO ne sont pas appliquées tant que vous ne mettez pas fin à la transaction en appelant la fonction PDO::commit(). L'appel de PDO::rollBack() annulera toutes les modifications faites à la base de données et remettra la connexion en mode autocommit.

Quelques bases de données, dont MySQL, exécuteront automatiquement un COMMIT lorsqu'une requête de définition de langage de base de données (DDL) comme DROP TABLE ou CREATE TABLE est exécutée dans une transaction. Ce COMMIT implicite vous empêchera d'annuler toutes autres modifications faites dans cette transaction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Annule une transaction

L'exemple suivant commence une transaction et exécute deux requêtes qui modifient la base de données avant d'annuler les modifications. Sur MySQL, cependant, la requête DROP TABLE validera automatiquement la transaction, donc, aucune des modifications de la transaction ne sera annulée.

<?php
/* Démarre une transaction, désactivation de l'auto-commit */
$dbh->beginTransaction();

/* Modification du schéma de la base ainsi que des données */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");

/* On s'aperçoit d'une erreur et on annule les modifications */
$dbh->rollBack();

/* Le connexion à la base de données est maintenant de retour en mode auto-commit */
?>

Voir aussi

  • PDO::commit() - Valide une transaction
  • PDO::rollBack() - Annule une transaction

PDO
PDO::commit
PDO


Valide une transaction

PDO::beginTransaction
PDO::__construct
PDO
PHP Manual

PDO::commit

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::commit — Valide une transaction

Description

bool PDO::commit ( void )

PDO::commit() valide une transaction, remet la connexion en mode autocommit en attendant l'appel à la fonction PDO::beginTransaction() pour débuter une nouvelle transaction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Valide une transaction

<?php
/* Commence une transaction, désactivation de l'auto-commit */
$dbh->beginTransaction();

/* Modification du schéma de la base de données */
$sth = $dbh->exec("DROP TABLE fruit");

/* Valide les modifications */
$dbh->commit();

/* La connexion à la base de données est maintenant de retour en mode auto-commit */
?>

Voir aussi

  • PDO::beginTransaction() - Démarre une transaction
  • PDO::rollBack() - Annule une transaction

PDO::beginTransaction
PDO::__construct
PDO


Crée une instance PDO qui représente une connexion à la base

PDO::commit
PDO::errorCode
PDO
PHP Manual

PDO::__construct

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::__construct — Crée une instance PDO qui représente une connexion à la base

Description

PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )

Crée un objet PDO qui représente une connexion à la base.

Liste de paramètres

dsn

Le Data Source Name, ou DSN, qui contient les informations requises pour se connecter à la base.

En général, un DSN est constitué du nom du pilote PDO, suivi d'une syntaxe spécifique au pilote. Plus de détails sont disponibles dans la documentation PDO de chaque pilote.

Le paramètre dsn supporte trois méthodes différentes pour spécifier les arguments nécessaires à la création de la base de données :

Appel pilote

dsn contient le DSN complet.

Appel URI

dsn est constitué de uri: suivi par une URI qui définit la localisation du fichier contenant la chaîne de DSN. L'URI peut spécifier un fichier local ou distant.

uri:file:///path/to/dsnfile

Aliasing

dsn est constitué d'un nom name qui correspond à pdo.dsn.name dans le fichier php.ini, et qui définit la chaîne DSN.

Note: L'alias doit être défini dans le fichier php.ini, et non pas dans un fichier .htaccess ou httpd.conf

username

Le nom d'utilisateur pour la chaîne DSN. Ce paramètre est optionnel pour certains pilote PDO.

password

Le mot de passe de la chaîne DSN. Ce paramètre est optionnel pour certains pilote PDO.

driver_options

Un tableau clé=>valeur avec les options spécifiques de connexion.

Valeurs de retour

Retourne un objet PDO en cas de succès.

Erreurs / Exceptions

PDO::__construct() émet une exception PDOException si la tentative de connexion à la base de données échoue.

Exemples

Exemple #1 Crée une instance PDO via une invocation de pilote

<?php
/* Connexion à une base ODBC avec l'invocation de pilote */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connexion échouée : ' . $e->getMessage();
}

?>

Exemple #2 Crée une instance PDO via une invocation URI

L'exemple ci-dessous suppose que le fichier /usr/local/dbconnect existe avec des droits d'accès qui permettent à PHP d'y accéder. Le fichier contient alors le DSN de PDO, pour se connecter à une base de données DB2, avec le pilote PDO_ODBC :

odbc:DSN=SAMPLE;UID=john;PWD=mypass

Le script PHP peut alors créer une connexion de base de données, en passant dans l'URL le paramètre uri: et en pointant sur l'URI du fichier :

<?php
/* Connexion à une base ODBC avec l'invocation de pilote */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connexion échouée : ' . $e->getMessage();
}

?>

Exemple #3 Crée une instance PDO avec un alias

L'exemple ci-dessous suppose que le fichier php.ini contient la directive suivant pour activer une connexion à un serveur MySQL, avec l'alias mydb:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Connexion à une base MySQL avec l'invocation d'alias */
$dsn = 'mydb';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connexion échouée : ' . $e->getMessage();
}

?>

PDO::commit
PDO::errorCode
PDO


Retourne le SQLSTATE associé avec la dernière opération sur la base de données

PDO::__construct
PDO::errorInfo
PDO
PHP Manual

PDO::errorCode

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorCode — Retourne le SQLSTATE associé avec la dernière opération sur la base de données

Description

mixed PDO::errorCode ( void )

Valeurs de retour

PDO::errorCode() retourne un SQLSTATE, un identifiant alphanumérique de cinq caractères défini dans le standard AINSI SQL. Brièvement, un SQLSTATE consiste en une valeur de classe de deux caractères suivi par une valeur de sous-classe de trois caractères. Une valeur de classe de 01 indique une alerte et est accompagnée par un code de retour SQL_SUCCESS_WITH_INFO. Les valeurs de classes autre que '01', mis à part la classe 'IM', indiquent une erreur. La classe 'IM' est spécifique aux alertes et aux erreurs qui sont issus de l'implémentation elle-même de PDO (ou peut-être ODBC, si vous utilisez le driver ODBC). La valeur de sous-classe '000' dans n'importe quelle classe, indique qu'il n'y a pas de sous-classe pour cet SQLSTATE.

PDO::errorCode() retourne uniquement les codes erreurs pour les opérations exécutées directement sur le gestionnaire de la base de données. Si vous créez un objet PDOStatement avec la fonction PDO::prepare() ou la fonction PDO::query() et que vous invoquez une erreur sur le gestionnaire de requête, PDO::errorCode() ne retournera pas cette erreur. Vous devez appeler PDOStatement::errorCode() pour retourner le code erreur pour une opération exécutée sur un gestionnaire de requête particulier.

Retourne NULL si aucune opération n'a été exécutée sur la base de données.

Exemples

Exemple #1 Récupération d'un code SQLSTATE

<?php
/* Provoque une erreur -- la table BONES n'existe pas */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ";
print $dbh->errorCode();
?>

L'exemple ci-dessus va afficher :

PDO::errorCode(): 42S02

Voir aussi

  • PDO::errorInfo() - Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
  • PDOStatement::errorCode() - Récupère le SQLSTATE associé lors de la dernière opération sur la requête
  • PDOStatement::errorInfo() - Récupère les informations sur l'erreur associée lors dernière opération sur la requête

PDO::__construct
PDO::errorInfo
PDO


Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données

PDO::errorCode
PDO::exec
PDO
PHP Manual

PDO::errorInfo

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::errorInfo — Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données

Description

array PDO::errorInfo ( void )

Valeurs de retour

PDO::errorInfo() retourne un tableau contenant des informations sur l'erreur survenu lors de la dernière opération exécutée par ce gestionnaire de base de données. Le tableau contient les champs suivants :

Élément | Information
0 | code erreur SQLSTATE (un identifiant alphanumérique de cinq caractères défini dans le standard ANSI SQL).
1 | Code erreur spécifique au driver.
2 | Message d'erreur spécifique au driver.

Note: Si le code erreur SQLSTATE n'est pas défini ou s'il n'y a pas d'erreur spécifique du driver, l'élément suivant l'élément 0 sera défini à NULL.

PDO::errorInfo() retourne uniquement les informations des erreurs pour les opérations exécutées directement sur un gestionnaire de base de données. Si vous créez un objet PDOStatement avec la fonction PDO::prepare() ou la fonction PDO::query() et que vous invoquez une erreur sur le gestionnaire de requête, PDO::errorInfo() ne retournera pas l'erreur depuis le gestionnaire de requête. Vous devez appeler la fonction PDOStatement::errorInfo() pour retourner les informations sur l'erreur pour une opération exécutée sur un gestionnaire de requête particulier.

Exemples

Exemple #1 Affiche les champs de d'erreurs pour une connexion PDO_ODBC sur une base de donnés DB2

<?php
/* Provoque une erreur -- mauvaise syntaxe SQL */
$stmt = $dbh->prepare('mauvaise syntaxe sql');
if (!$stmt) {
   echo "\nPDO::errorInfo():\n";
   print_r($dbh->errorInfo());
}
?>

L'exemple ci-dessus va afficher :

PDO::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Voir aussi

  • PDO::errorCode() - Retourne le SQLSTATE associé avec la dernière opération sur la base de données
  • PDOStatement::errorCode() - Récupère le SQLSTATE associé lors de la dernière opération sur la requête
  • PDOStatement::errorInfo() - Récupère les informations sur l'erreur associée lors dernière opération sur la requête

PDO::errorCode
PDO::exec
PDO


Exécute une requête SQL et retourne le nombre de lignes affectées

PDO::errorInfo
PDO::getAttribute
PDO
PHP Manual

PDO::exec

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::exec — Exécute une requête SQL et retourne le nombre de lignes affectées

Description

int PDO::exec ( string $statement )

PDO::exec() exécute une requête SQL dans un appel d'une seule fonction, retourne le nombre de lignes affectées par la requête.

PDO::exec() ne retourne pas de résultat pour une requête SELECT. Pour une requête SELECT dont vous auriez besoin une seule fois dans le programme, utilisez plutôt la fonction PDO::query(). Pour une requête dont vous auriez besoin plusieurs fois, préparez un objet PDOStatement avec la fonction PDO::prepare() et exécutez la requête avec la fonction PDOStatement::execute().

Liste de paramètres

statement

La requête à préparer et à exécuter.

Les données contenues dans la requête doivent être échappées proprement.

Valeurs de retour

PDO::exec() retourne le nombre de lignes qui ont été modifiées ou effacées pour la requête SQL qui vous exécutez. Si aucune ligne n'est affectée, la fonction PDO::exec() retournera 0.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

L'exemple suivant se fonde inexactement sur la valeur retournée par PDO::exec(), où une requête qui n'affecte aucune lignes revient à appeler die() :

<?php
$db->exec() or die(print_r($db->errorInfo(), true));
?>

Exemples

Exemple #1 Exécution d'une requête DELETE

Compte le nombre de lignes effacées pour une requête DELETE avec aucune clause WHERE.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Effacement de toutes les lignes de la table FRUIT */
$count = $dbh->exec("DELETE FROM fruit WHERE couleur = 'rouge'");

/* Retourne le nombre de lignes effacées */
print("Retourne le nombre de lignes effacées :\n");
print("Effacement de $count lignes.\n");
?>

L'exemple ci-dessus va afficher :

Retourne le nombre de lignes effacées :
Effacement de 2 lignes.

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
  • PDOStatement::execute() - Exécute une requête préparée

PDO::errorInfo
PDO::getAttribute
PDO


Récupère un attribut d'une connexion à une base de données

PDO::exec
PDO::getAvailableDrivers
PDO
PHP Manual

PDO::getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::getAttribute — Récupère un attribut d'une connexion à une base de données

Description

mixed PDO::getAttribute ( int $attribute )

Cette fonction retourne la valeur d'un attribut d'une connexion à une base de données. Pour récupérer les attributs PDOStatement, référez-vous à la fonction PDOStatement::getAttribute().

Notez que quelques bases de données/drivers combinés ne supportent pas tous les attributs de connexion.

Liste de paramètres

attribute

Une des constantes PDO::ATTR_*. Les constantes qui sont appliquées aux connexions sont les suivantes :

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

Valeurs de retour

Un appel réussi retourne la valeur de l'attribut PDO demandé. Un appel qui a échoué retourne la valeur NULL.

Exemples

Exemple #1 Récupération des attributs de connexion à une base de données

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
"AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
"ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
"TIMEOUT"
);

foreach ($attributes as $val) {
   echo "PDO::ATTR_$val: ";
   echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Voir aussi

  • PDO::setAttribute() - Configure un attribut PDO
  • PDOStatement::getAttribute() - Récupère un attribut de requête
  • PDOStatement::setAttribute() - Définie un attribut de requête

PDO::exec
PDO::getAvailableDrivers
PDO


Retourne la liste des pilotes PDO disponibles

PDO::getAttribute
PDO::lastInsertId
PDO
PHP Manual

PDO::getAvailableDrivers

(PHP 5 >= 5.1.3, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers — Retourne la liste des pilotes PDO disponibles

Description

array PDO::getAvailableDrivers ( void )
array pdo_drivers ( void )

Cette fonction retourne la liste de tous les pilotes PDO disponibles qui peuvent être utilisés avec le paramètre DSN de la fonction PDO::__construct(). C'est une méthode statique.

Valeurs de retour

PDO::getAvailableDrivers() retourne un tableau de nom de pilotes. Si aucun pilote n'est disponible, il retourne un tableau vide.

Exemples

Exemple #1 Exemple avec PDO::getAvailableDrivers()

<?php
print_r(PDO::getAvailableDrivers());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => mysql
    [1] => sqlite
)

PDO::getAttribute
PDO::lastInsertId
PDO


Retourne l'identifiant de la dernière ligne insérée ou la valeur d'une séquence

PDO::getAvailableDrivers
PDO::prepare
PDO
PHP Manual

PDO::lastInsertId

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::lastInsertId — Retourne l'identifiant de la dernière ligne insérée ou la valeur d'une séquence

Description

string PDO::lastInsertId ([ string $name = NULL ] )

Retourne l'identifiant de la dernière ligne insérée, ou la dernière valeur d'une séquence d'objets, dépendamment du driver utilisé. Par exemple, PDO_PGSQL() vous impose de spécifier le nom d'une séquence d'objet pour le paramètre name.

Note: Cette méthode peut ne pas retourner un résultat significatif suivant les drivers PDO utilisés, car la base de données utilisée peut ne pas supporter la notion de champs auto-incrémenté ou de séquences.

Liste de paramètres

name

Nom de la séquence d'objets depuis laquelle l'identifiant doit être retourné.

Valeurs de retour

Si un nom de séquence n'est pas spécifié pour le paramètre name, PDO::lastInsertId() retourne une chaîne représentant l'identifiant de la ligne de la dernière ligne insérée dans la base de données.

Si un nom de séquence est spécifié pour le paramètre name, PDO::lastInsertId() retourne une chaîne représentant la dernière valeur depuis la séquence d'objets spécifiée.

Si le driver PDO ne supporte pas cette fonctionnalité, PDO::lastInsertId() lancera un SQLSTATE IM001.

PDO::getAvailableDrivers
PDO::prepare
PDO


Prépare une requête à l'exécution et retourne un objet

PDO::lastInsertId
PDO::query
PDO
PHP Manual

PDO::prepare

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::prepare — Prépare une requête à l'exécution et retourne un objet

Description

PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Prépare une requête SQL à être exécutée par la méthode PDOStatement::execute(). La requête SQL peut contenir zéro ou plusieurs noms (:nom) ou marqueurs (?) pour lesquels les valeurs réelles seront substituées lorsque la requête sera exécutée. Vous ne pouvez pas utiliser les marqueurs nommés et les marqueurs interrogatifs dans une même requête SQL ; choisissez l'un ou l'autre. Utilisez ces paramètres pour lier les entrées utilisateurs, ne les incluez pas directement dans la requête.

Vous devez inclure un marquer avec un nom unique pour chaque valeur que vous souhaitez passer dans la requête lorsque vous appelez PDOStatement::execute(). Vous ne pouvez pas utiliser un marqueur avec deux noms pareils dans une requête préparée. Vous ne pouvez associer plusieurs valeurs à un seul marqueur de nom entrant, par exemple, la clause IN() d'une requête SQL.

Appeler PDO::prepare() et PDOStatement::execute() pour les requêtes qui doivent être exécutées plusieurs fois avec différentes valeurs de paramètres optimisent les performances de votre application en autorisant le pilote à négocier coté client et/ou serveur avec le cache des requêtes et les metainformations, et aident à prévenir les attaques par injection SQL en éliminant le besoin de protéger les paramètres manuellement.

PDO émule les requêtes préparées / les paramètres liés pour les pilotes qui ne le supportent pas nativement, et peut également réécrire les paramètres nommés ou les marqueurs en quelques choses de plus approprié, si le pilote supporte un style et pas l'autre.

Liste de paramètres

statement

Doit être une requête SQL valide pour le serveur de base de données cible.

driver_options

Ce tableau contient une ou plusieurs paires clé=>valeur pour définir les valeurs des attributs pour l'objet PDOStatement que cette méthode retourne. Vous pouvez utiliser ceci pour définir la valeur PDO::ATTR_CURSOR à PDO::CURSOR_SCROLL pour demander un curseur scrollable. Quelques pilotes ont des options spécifiques qui peuvent être définies au moment de la préparation.

Valeurs de retour

Si le serveur de base de données prépare avec succès cette requête, PDO::prepare() retourne un objet PDOStatement. Si le serveur de base de données ne réussit pas à préparer la requête, PDO::prepare() retourne FALSE ou émet une exception PDOException (suivant le gestionnaire des erreurs).

Note: L'émulation de requêtes préparées ne communique pas avec le serveur de base de données. Aussi, la fonction PDO::prepare() ne vérifie pas la requête.

Exemples

Exemple #1 Prépare une requête SQL avec des paramètres nommés

<?php
/* Exécute une requête préparée en passant un tableau de valeurs */
$sql = 'SELECT nom, couleur, calories
    FROM fruit
WHERE calories < :calories AND couleur = :couleur';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':couleur' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array('calories' => 175, 'couleur' => 'yellow'));
$yellow = $sth->fetchAll();
?>

Exemple #2 Prépare une requête SQL avec des marqueurs

<?php
/* Exécute une requête préparée en passant un tableau de valeurs */
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < ? AND couleur = ?');
$sth->execute(array(150, 'rouge'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'jaune'));
$yellow = $sth->fetchAll();
?>

Voir aussi

  • PDO::exec() - Exécute une requête SQL et retourne le nombre de lignes affectées
  • PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
  • PDOStatement::execute() - Exécute une requête préparée

PDO::lastInsertId
PDO::query
PDO


Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement

PDO::prepare
PDO::quote
PDO
PHP Manual

PDO::query

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::query — Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement

Description

PDOStatement PDO::query ( string $statement )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )

PDO::query() exécute une requête SQL en appelant une seule fonction, retourne le jeu de résultats (s'il y en a) retourné par la requête en tant qu'objet PDOStatement.

Pour une requête que vous devez exécuter plusieurs fois, vous réaliserez de meilleurs performances si vous préparez l'objet PDOStatement en utilisant la fonction PDO::prepare() et exécutez la requête via plusieurs appels à la fonction PDOStatement::execute().

Si vous ne récupérez pas toutes les données du jeux de résultats avant d'exécuter le prochain appel à PDO::query(), votre appel peut échouer. Appeler PDOStatement::closeCursor() pour libérer les ressources de la base de données associées à l'objet PDOStatement avant d'exécuter votre prochain appel à la fonction PDO::query().

Note: Bien que la documentation de cette fonction autorise de passer un seul paramètre, vous pouvez y passer d'autres paramètres. Ils seront traités via l'appel à PDOStatement::setFetchMode() sur le résultat du traitement de l'objet.

Liste de paramètres

statement

La requête SQL à préparer et à exécuter.

Les données contenues dans la requête doivent être échappées proprement.

Valeurs de retour

PDO::query() retourne un objet PDOStatement, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec PDO::query

Une fonctionnalité intéressante de PDO::query() est qu'il vous permet d'itérer à travers un jeu de résultats retourné par une requête SELECT exécutée avec succès.

<?php
function getFruit($conn) {
    $sql =  'SELECT name, color, calories FROM fruit ORDER BY name';
    foreach  ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
        print  $row['color'] . "\t";
        print $row['calories'] . "\n";
  }
}
?>

L'exemple ci-dessus va afficher :

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Voir aussi

  • PDO::exec() - Exécute une requête SQL et retourne le nombre de lignes affectées
  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::execute() - Exécute une requête préparée

PDO::prepare
PDO::quote
PDO


Protège une chaîne pour l'utiliser dans une requête SQL PDO

PDO::query
PDO::rollBack
PDO
PHP Manual

PDO::quote

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.1)

PDO::quote — Protège une chaîne pour l'utiliser dans une requête SQL PDO

Description

string PDO::quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )

PDO::quote() place des guillemets simples autour d'une chaîne d'entrée, si nécessaire et protège les caractères spéciaux présents dans la chaîne d'entrée, en utilisant le style de protection approprié au pilote courant.

Si vous utilisez cette fonction pour construire des requêtes SQL, vous êtes vivement invités à utiliser PDO::prepare() pour préparer les requêtes SQL avec des paramètres liés au lieu d'utiliser PDO::quote() pour interpréter les entrées utilisateur dans la requête SQL. Les requêtes préparées avec des paramètres liés sont non seulement plus portables, plus souples et plus sécuritaires, mais bien plus rapides à exécuter que d'interpréter les requêtes, étant donné que les côtés client et serveur peuvent mettre en cache une version compilée de la requête.

Tous les pilotes PDO n'implémentent pas cette méthode (comme PDO_ODBC). Utilisez les requêtes préparées à la place.

Liste de paramètres

string

La chaîne à protéger.

parameter_type

Le type de données pour les drivers qui ont des styles particuliers de protection.

Valeurs de retour

Retourne une chaîne protégée, qui est théoriquement sûre à utiliser dans une requête SQL. Retourne FALSE si le pilote ne supporte pas ce type de protections.

Exemples

Exemple #1 Protection d'une chaîne normale

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Chaîne simple */
$string = 'Nice';
print "Chaîne non échappée : $string\n";
print "Chaîne échappée : " . $conn->quote($string) . "\n";
?>

L'exemple ci-dessus va afficher :

Chaîne non échappée : Nice
Chaîne échappée: 'Nice'

Exemple #2 Protection d'une chaîne dangereuse

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Chaîne dangereuse */
$string = 'Chaîne \' particulière';
print "Chaîne non échappée : $string\n";
print "Chaîne échappée :" . $conn->quote($string) . "\n";
?>

L'exemple ci-dessus va afficher :

Chaîne non échappée : Chaîne ' particulière
Chaîne échappée : 'Chaîne '' particulière'

Exemple #3 Protection d'une chaîne complexe

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Chaîne complexe */
$string = "Co'mpl''exe \"ch'\"aîne";
print "Chaîne non protégée : $string\n";
print "Chaîne protégée : " . $conn->quote($string) . "\n";
?>

L'exemple ci-dessus va afficher :

Chaîne non échappée: Co'mpl''exe "ch'"aîne
Chaîne échappée: 'Co''mpl''''exe "ch''"aîne'

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::execute() - Exécute une requête préparée

PDO::query
PDO::rollBack
PDO


Annule une transaction

PDO::quote
PDO::setAttribute
PDO
PHP Manual

PDO::rollBack

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::rollBack — Annule une transaction

Description

bool PDO::rollBack ( void )

Annule la transaction courante, initié par la fonction PDO::beginTransaction(). C'est une erreur que d'appeler cette méthode s'il n'y a aucune transaction active.

Si la base de données est en mode autocommit, cette fonction restaurera le mode autocommit après l'annulation de la transaction.

Quelques bases de données, dont MySQL, exécuteront automatiquement un COMMIT lorsqu'une requête de définition de langage de base de données (DDL) comme DROP TABLE ou CREATE TABLE est exécutée dans une transaction. Ce COMMIT implicite vous empêchera d'annuler toutes autres modifications faites dans cette transaction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Annulation d'une transaction

L'exemple suivant commence une transaction et exécute deux requêtes qui modifient la base de données avant d'annuler les modifications. Sur MySQL, cependant, la requête DROP TABLE validera automatiquement la transaction, donc, aucune des modifications de la transaction ne sera annulée.

<?php
/* Début d'une transaction, désactivation du mode autocommit */
$dbh->beginTransaction();

/* Modifie le schéma de la base de données ainsi que des données */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* On s'aperçoit d'une erreur et on annule les modifications */
$dbh->rollBack();

/* La connexion à la base de donnés revient en mode autocommit */
?>

Voir aussi

  • PDO::beginTransaction() - Démarre une transaction
  • PDO::commit() - Valide une transaction

PDO::quote
PDO::setAttribute
PDO


Configure un attribut PDO

PDO::rollBack
PDOStatement
PDO
PHP Manual

PDO::setAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::setAttribute — Configure un attribut PDO

Description

bool PDO::setAttribute ( int $attribute , mixed $value )

Configure un attribut du gestionnaire de base de données. Certains des attributs génériques sont listés ci-dessous : certains pilotes disposent de configuration supplémentaires.

  • PDO::ATTR_CASE: force les noms de colonnes à une casse particulière.

    • PDO::CASE_LOWER : force les noms de colonnes à être en minuscules.

    • PDO::CASE_NATURAL : laisse les noms de colonnes inchangées.

    • PDO::CASE_UPPER : force les noms de colonnes à être en majuscules.

  • PDO::ATTR_ERRMODE : rapport d'erreurs.

    • PDO::ERRMODE_SILENT : assigne simplement les codes d'erreur.

    • PDO::ERRMODE_WARNING: émet une alerte E_WARNING.

    • PDO::ERRMODE_EXCEPTION : émet une exceptions.

  • PDO::ATTR_ORACLE_NULLS (disponible pour tous les pilotes, et pas juste Oracle ) : Conversion des valeurs NULL et chaînes vides.

    • PDO::NULL_NATURAL : Pas de conversion.

    • PDO::NULL_EMPTY_STRING : Chaîne vide convertie en NULL.

    • PDO::NULL_TO_STRING : NULL est converti en chaîne vide.

  • PDO::ATTR_STRINGIFY_FETCHES : Convertit une valeur numérique en chaîne lors de la lecture. Requiert bool .

  • PDO::ATTR_STATEMENT_CLASS : Configure une classe de résultat, définie par l'utilisateur, et dérivée de PDOStatement. Ne peut pas être utilisé avec les instances persistantes de PDO. Requiert array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_TIMEOUT: Précise la durée de timeout en secondes. Tous les pilotes ne supportent pas cette option et sa signification peut différer en fonctions des pilotes. Par exemple, sqlite attendra pendant cette période pour obtenir un verrou en écriture sur le fichier, mais les autres pilotes considèreront ceci comme un timeout de connexion ou de lecture. Requiert int .

  • PDO::ATTR_AUTOCOMMIT (disponible en OCI, Firebird et MySQL) : activation de l'autocommit pour chaque commande.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (disponible en MySQL) : utilisation des requêtes bufferisées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDO::rollBack
PDOStatement
PDO


La classe PDOStatement

Introduction

Représente une requête préparée et, une fois exécutée, le jeu de résultats associé.

Synopsis de la classe

PDOStatement
PDOStatement implements Traversable {
/* Propriétés */
readonly string $queryString;
/* Méthodes */
bool bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
bool bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
bool bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
bool closeCursor ( void )
int columnCount ( void )
bool debugDumpParams ( void )
string errorCode ( void )
array errorInfo ( void )
bool execute ([ array $input_parameters = array() ] )
mixed fetch ([ int $fetch_style = PDO::FETCH_BOTH [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
array fetchAll ([ int $fetch_style = PDO::FETCH_BOTH [, int $column_index = 0 [, array $ctor_args = array() ]]] )
string fetchColumn ([ int $column_number = 0 ] )
mixed fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )
mixed getAttribute ( int $attribute )
array getColumnMeta ( int $column )
bool nextRowset ( void )
int rowCount ( void )
bool setAttribute ( int $attribute , mixed $value )
bool setFetchMode ( int $mode )
}

Propriétés

queryString

chaîne de caractères utilisée pour la requête.

Sommaire

  • PDOStatement->bindColumn — Lie une colonne à une variable PHP
  • PDOStatement->bindParam — Lie un paramètre à un nom de variable spécifique
  • PDOStatement->bindValue — Associe une valeur à un paramètre
  • PDOStatement->closeCursor — Ferme le curseur, permettant à la requête d'être de nouveau exécutée
  • PDOStatement->columnCount — Retourne le nombre de colonnes dans le jeu de résultats
  • PDOStatement->debugDumpParams — Détaille une commande préparée SQL
  • PDOStatement->errorCode — Récupère le SQLSTATE associé lors de la dernière opération sur la requête
  • PDOStatement->errorInfo — Récupère les informations sur l'erreur associée lors dernière opération sur la requête
  • PDOStatement->execute — Exécute une requête préparée
  • PDOStatement->fetch — Récupère la ligne suivante d'un jeu de résultat PDO
  • PDOStatement->fetchAll — Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
  • PDOStatement->fetchColumn — Retourne une colonne depuis la ligne suivante d'un jeu de résultats
  • PDOStatement->fetchObject — Récupère la prochaine ligne et la retourne en tant qu'objet
  • PDOStatement->getAttribute — Récupère un attribut de requête
  • PDOStatement->getColumnMeta — Retourne les métadonnées pour une colonne d'un jeu de résultats
  • PDOStatement->nextRowset — Avance à la prochaine ligne de résultats d'un gestionnaire de lignes de résultats multiples
  • PDOStatement->rowCount — Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()
  • PDOStatement->setAttribute — Définie un attribut de requête
  • PDOStatement->setFetchMode — Définit le mode de récupération par défaut pour cette requête
PDO::setAttribute
PDOStatement->bindColumn
PDO


Lie une colonne à une variable PHP

PDOStatement
PDOStatement->bindParam
PDOStatement
PHP Manual

PDOStatement->bindColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->bindColumn — Lie une colonne à une variable PHP

Description

bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )

PDOStatement::bindColumn() fait en sorte qu'une variable PHP soit liée à une colonne données dans le jeu de résultats dans une requête. Chaque appel à la fonction PDOStatement::fetch() ou PDOStatement::fetchAll() met à jour toutes les variables qui sont liées aux colonnes.

Note: Étant donné que les informations sur les colonnes ne sont pas toujours disponibles à PDO tant que la requête n'est pas exécutée, les applications portables doivent appeler cette fonction après la fonction PDOStatement::execute().
Cependant, pour pouvoir lier une colonne de type LOB avec un flux lors de l'utilisation du pilote PostGreSQL, les applications doivent appeler cette méthode avant d'appeler PDOStatement::execute(), sous peine de recevoir l'objet OID sous forme d'entier.

Liste de paramètres

column

Numéro de la colonne (en commençant à 1) ou nom de la colonne dans le jeu de résultats. Si vous utilisez les noms de colonnes, assurez-vous que le nom corresponde à la casse de la colonne, comme retourné par le pilote.

param

Nom de la variable PHP à laquelle la colonne doit être liée.

type

Type du paramètre, spécifié par les constantes PDO::PARAM_*.

maxlen

Une astuce pour la pré-allocation.

driverdata

Paramètres optionnels pour la bibliothèque.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Lie l'affichage du jeu de résultats à des variables PHP

Lie les colonnes du jeu de résultats aux variables PHP est une façon agréable de rendre les données contenues dans chaque ligne immédiatement disponible à votre application. L'exemple suivant montre comment PDO vous autorise à lier et récupérer les colonnes avec une variété d'options.

<?php
function readData($dbh) {
  $sql = 'SELECT nom, couleur, calories FROM fruit';
  try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    /* Lie par les numéros de colonnes */
    $stmt->bindColumn(1, $nom);
    $stmt->bindColumn(2, $couleur);

    /* Lie par les noms de colonnes */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $nom . "\t" . $couleur . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

L'exemple ci-dessus va afficher :

pomme   rouge     150
banane  jaune  175
kiwi    vert   75
orange  orange  150
mangue   rouge     200
fraise      rouge     25

Voir aussi

  • PDOStatement::execute() - Exécute une requête préparée
  • PDOStatement::fetch() - Récupère la ligne suivante d'un jeu de résultat PDO
  • PDOStatement::fetchAll() - Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
  • PDOStatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats

PDOStatement
PDOStatement->bindParam
PDOStatement


Lie un paramètre à un nom de variable spécifique

PDOStatement->bindColumn
PDOStatement->bindValue
PDOStatement
PHP Manual

PDOStatement->bindParam

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->bindParam — Lie un paramètre à un nom de variable spécifique

Description

bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )

Lie une variable PHP à un marquer nommé ou interrogatif correspondant dans une requête SQL utilisée pour préparer la requête. Contrairement à PDOStatement::bindValue(), la variable est liée en tant que référence et ne sera évaluée qu'au moment de l'appel à la fonction PDOStatement::execute().

La plupart des paramètres sont des paramètres d'entrées, et sont utilisés en lecture seule pour construire la requête. Quelques drivers supportent l'invocation de procédures stockées qui retournent des données en tant que paramètres de sortie, et quelques autres en tant que paramètres entrées / sorties qui sont envoyés ensemble et sont mis à jour pour les recevoir.

Liste de paramètres

parameter

Identifiant. Pour une requête préparée utilisant des marqueurs nommés, ce sera le nom du paramètre sous la forme :name. Pour une requête préparée utilisant les marqueurs interrogatifs, ce sera la position indexé -1 du paramètre.

variable

Nom de la variable PHP à lier au paramètre de la requête SQL.

data_type

Type explicite de données pour le paramètre utilisant la constante PDO::PARAM_*. Pour retourner un paramètre INOUT depuis une procédure stockée, utilisez l'opérateur OR pour définir l'octet PDO::PARAM_INPUT_OUTPUT pour le paramètre data_type.

length

Longueur du type de données. Pour indiquer qu'un paramètre est un paramètre OUT depuis une procédure stockée, vous devez explicitement définir la longueur.

driver_options

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exécution d'une requête préparée avec des emplacements nommés

<?php
/* Exécution d'une requête préparée en liant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < :calories AND couleur = :couleur');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':couleur', $couleur, PDO::PARAM_STR, 12);
$sth->execute();
?>

Exemple #2 Exécution d'une requête préparée avec des marques de positionnement

<?php
/* Exécution d'une requête préparée en liant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < ? AND couleur = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $couleur, PDO::PARAM_STR, 12);
$sth->execute();
?>

Exemple #3 Appel une procédure stockée avec un paramètre INOUT

<?php
/* Appel une procédure stockée avec un paramètre INOUT */
$couleur = 'rouge';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $couleur, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("Après avoir pressé le fruit, la couleur est : $couleur");
?>

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::execute() - Exécute une requête préparée
  • PDOStatement::bindValue() - Associe une valeur à un paramètre

PDOStatement->bindColumn
PDOStatement->bindValue
PDOStatement


Associe une valeur à un paramètre

PDOStatement->bindParam
PDOStatement->closeCursor
PDOStatement
PHP Manual

PDOStatement->bindValue

(PHP 5 >= 5.1.0, PECL pdo >= 1.0.0)

PDOStatement->bindValue — Associe une valeur à un paramètre

Description

bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )

Associe une valeur à un nom correspondant ou à un point d'interrogation (comme paramètre fictif) dans la requête SQL qui fut utilisée pour préparer la requête.

Liste de paramètres

parameter

Identifiant du paramètre. Pour une requête préparée utilisant les marqueurs, cela sera un nom de paramètre de la forme :nom. Pour une requête préparée utilisant les points d'interrogation (comme paramètre fictif), cela sera un tableau indexé numériquement qui commence à la position 1 du paramètre.

value

La valeur à associer au paramètre.

data_type

Type de données explicite pour le paramètre utilisant les constantes PDO::PARAM_*.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exécute une requête préparée avec des marqueurs nommés

<?php
/* Exécute une requête préparée en associant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < :calories AND couleur = :couleur');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':couleur', $couleur, PDO::PARAM_STR);
$sth->execute();
?>

Exemple #2 Exécute une requête préparée avec des points d'interrogation comme paramètre fictif

<?php
/* Exécute une requête préparée en associant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < ? AND couleur = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $couleur, PDO::PARAM_STR);
$sth->execute();
?>

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::execute() - Exécute une requête préparée
  • PDOStatement::bindParam() - Lie un paramètre à un nom de variable spécifique

PDOStatement->bindParam
PDOStatement->closeCursor
PDOStatement


Ferme le curseur, permettant à la requête d'être de nouveau exécutée

PDOStatement->bindValue
PDOStatement->columnCount
PDOStatement
PHP Manual

PDOStatement->closeCursor

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement->closeCursor — Ferme le curseur, permettant à la requête d'être de nouveau exécutée

Description

bool PDOStatement::closeCursor ( void )

PDOStatement::closeCursor() libère la connexion du serveur, permettant ainsi à d'autres requêtes SQL d'être exécutées, mais quitte la requête, permettant ainsi qu'elle soit de nouveau exécutée.

Cette méthode est utile pour les drivers de base de données qui ne supportent pas l'exécution d'objet PDOStatement lorsqu'un objet PDOStatement exécuté précédemment a encore des lignes non récupérées. Si votre driver de base de données souffre de cette limitation, le problème se manifestera de lui-même dans une erreur en dehors de la séquence.

PDOStatement::closeCursor() est implémenté soit en tant que méthode optionnelle spécifique au pilote, avec un maximum d'efficacité, ou en tant que solution générique si aucune fonction spécifique au pilote n'est installée. Sémantiquement, la fonction générique PDO revient à écrire le code suivant dans votre script PHP :

<?php
do {
    while ($stmt->fetch())
        ;
    if (!$stmt->nextRowset())
        break;
} while (true);
?>

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec PDOStatement::closeCursor()

Dans l'exemple suivant, l'objet PDOStatement $stmt retourne de multiples lignes, mais l'application récupère uniquement la première ligne, laissant l'objet PDOStatement dans l'état où il lui reste des lignes non récupérées. Pour vous assurez que l'application fonctionnera avec tous les drivers de base de données, l'auteur insère un appel à la fonction PDOStatement::closeCursor() sur $stmt avant l'exécution d'objet PDOStatement $otherStmt.

<?php
/* Création d'un objet PDOStatement */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Création d'un second objet PDOStatement */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* Exécute la première requête */
$stmt->execute();

/* Récupération de la première ligne uniquement depuis le résultat */
$stmt->fetch();

/* L'appel suivant à closeCursor() peut être requis par quelques drivers */
$stmt->closeCursor();

/* Maintenant, nous pouvons exécuter la deuxième requête */
$otherStmt->execute();
?>

Voir aussi

  • PDOStatement::execute() - Exécute une requête préparée

PDOStatement->bindValue
PDOStatement->columnCount
PDOStatement


Retourne le nombre de colonnes dans le jeu de résultats

PDOStatement->closeCursor
PDOStatement->debugDumpParams
PDOStatement
PHP Manual

PDOStatement->columnCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->columnCount — Retourne le nombre de colonnes dans le jeu de résultats

Description

int PDOStatement::columnCount ( void )

Utilisez la fonction PDOStatement::columnCount() pour retourner le nombre de colonnes dans le jeu de résultats représenté par l'objet PDOStatement.

Si l'objet PDOStatement a été retourné par la fonction PDO::query(), le nombre de colonnes est immédiatement disponible.

Si l'objet PDOStatement a été retourné par la fonction PDO::prepare(), un compte précis des colonnes ne sera pas disponible tant que vous n'invoquerez pas la fonction PDOStatement::execute().

Valeurs de retour

Retourne le nombre de colonnes dans le jeu de résultats représenté par l'objet PDOStatement. S'il n'y a pas de jeu de résultats, PDOStatement::columnCount() retournera 0.

Exemples

Exemple #1 Comptage des colonnes

Cet exemple démontre comment PDOStatement::columnCount() fonctionne avec ou sans jeu de résultats.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT nom, couleur FROM fruit");

/* Compte le nombre de colonnes dans le jeu de résultat (non-existant) */
$colcount = $sth->columnCount();
print("Avant execute(), le jeu de résultats avait $colcount colonnes (devrait être 0)\n");

$sth->execute();

/* Compte le nombre de colonnes dans le jeu de résultats */
$colcount = $sth->columnCount();
print("Après execute(), le jeu de résultats a $colcount colonnes (devrait être 2)\n");

?>

L'exemple ci-dessus va afficher :

Avant execute(), le jeu de résultats avait 0 colonnes (devrait être 0)
Après execute(), le jeu de résultat a 2 colonnes (devrait être 2)

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::execute() - Exécute une requête préparée
  • PDOStatement::rowCount() - Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

PDOStatement->closeCursor
PDOStatement->debugDumpParams
PDOStatement


Détaille une commande préparée SQL

PDOStatement->columnCount
PDOStatement->errorCode
PDOStatement
PHP Manual

PDOStatement->debugDumpParams

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement->debugDumpParams — Détaille une commande préparée SQL

Description

bool PDOStatement::debugDumpParams ( void )

Détaille les informations contenues dans une commande préparée, directement sur la sortie standard. Les informations sont notamment la requête SQL utilisée, le nombre de paramètres utilisés (Params), la liste des paramètres, avec leur nom, type (paramtype) sous forme d'entier, le nom de clé ou leur position dans la requête, la valeur associée, et la position dans la requête (Si cette dernière information n'est pas supportée par le pilote PDO, c'est toujours -1).

Ceci est une fonction de déboguage, qui affiche directement des informations sur la sortie standard.

Astuce

Comme pour toutes les fonctions qui affichent directement des résultats au navigateur, vous pouvez utiliser les fonctions de gestion des sorties pour capturer le contenu de cette fonction et le sauver, par exemple, dans une chaîne.

Les paramètres affichés sont ceux qui ont été ajoutés dans la requête jusqu'au moment de l'appel. Les paramètres surnuméraires sont ignorés.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec PDOStatement::debugDumpParams() et des paramètres nommés

<?php
/* exécution d'une commande préparée avec liaison avec variables PHP */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

$sth->debugDumpParams();

?>

L'exemple ci-dessus va afficher :

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

Exemple #2 Exemple avec PDOStatement::debugDumpParams() et des paramètres anonymes

<?php

/* exécution d'une commande préparée avec liaison avec variables PHP */
$calories = 150;
$colour = 'red';
$name = 'apple';

$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();

$sth->debugDumpParams();

?>

L'exemple ci-dessus va afficher :

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::bindParam() - Lie un paramètre à un nom de variable spécifique
  • PDOStatement::bindValue() - Associe une valeur à un paramètre

PDOStatement->columnCount
PDOStatement->errorCode
PDOStatement


Récupère le SQLSTATE associé lors de la dernière opération sur la requête

PDOStatement->debugDumpParams
PDOStatement->errorInfo
PDOStatement
PHP Manual

PDOStatement->errorCode

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->errorCode — Récupère le SQLSTATE associé lors de la dernière opération sur la requête

Description

string PDOStatement::errorCode ( void )

Valeurs de retour

Identique à PDO::errorCode(), excepté que PDOStatement::errorCode() récupère uniquement les codes erreurs pour les opérations sur les objets PDOStatement.

Exemples

Exemple #1 Détermine la catégorie de l'erreur qui survient

<?php
/* Provoque une erreur -- la table BONES n'existe pas */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

L'exemple ci-dessus va afficher :

PDOStatement::errorCode(): 42S02

Voir aussi

  • PDO::errorCode() - Retourne le SQLSTATE associé avec la dernière opération sur la base de données
  • PDO::errorInfo() - Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
  • PDOStatement::errorInfo() - Récupère les informations sur l'erreur associée lors dernière opération sur la requête

PDOStatement->debugDumpParams
PDOStatement->errorInfo
PDOStatement


Récupère les informations sur l'erreur associée lors dernière opération sur la requête

PDOStatement->errorCode
PDOStatement->execute
PDOStatement
PHP Manual

PDOStatement->errorInfo

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->errorInfo — Récupère les informations sur l'erreur associée lors dernière opération sur la requête

Description

array PDOStatement::errorInfo ( void )

Valeurs de retour

PDOStatement::errorInfo() retourne un tableau contenant des informations sur l'erreur survenu lors de la dernière opération exécutée par ce gestionnaire de requêtes. Le tableau contient les champs suivants :

Élément | Information
0 | Code erreur SQLSTATE (un identifiant de cinq caractères alphanumériques défini dans le standard ANSI SQL)
1 | Code erreur spécifique au driver.
2 | Message d'erreur spécifique au driver.

Exemples

Exemple #1 Affiche les champs de errorInfo() pour une connexion PDO_ODBC sur une base de données DB2

<?php
/* Provoque une erreur -- la table BONES n'existe pas */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

L'exemple ci-dessus va afficher :

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

Voir aussi

  • PDO::errorCode() - Retourne le SQLSTATE associé avec la dernière opération sur la base de données
  • PDO::errorInfo() - Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
  • PDOStatement::errorCode() - Récupère le SQLSTATE associé lors de la dernière opération sur la requête

PDOStatement->errorCode
PDOStatement->execute
PDOStatement


Exécute une requête préparée

PDOStatement->errorInfo
PDOStatement->fetch
PDOStatement
PHP Manual

PDOStatement->execute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->execute — Exécute une requête préparée

Description

bool PDOStatement::execute ([ array $input_parameters = array() ] )

Exécute une requête préparée. Si la requête préparée inclut des marqueurs de positionnement, vous pouvez :

  • appeler la fonction PDOStatement::bindParam() pour lier les variables PHP aux marqueurs de positionnement : les variables liées passent leurs valeurs en entrée et reçoivent les valeurs de sortie, s'il y en a, de leurs marqueurs de positionnement respectifs

  • ou passer un tableau de valeurs de paramètres, uniquement en entrée

Liste de paramètres

input_parameters

Un tableau de valeurs avec autant d'éléments qu'il y a de paramètres à associer dans la requête SQL qui sera exécutées. Toutes les valeurs sont traitées comme des constantes PDO::PARAM_STR.

Vous ne pouvez associer plusieurs valeurs à un seul paramètre; par exemple, vous ne pouvez associer deux valeurs à un paramètre de nom dans une clause IN().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exécute une requête préparée avec des variables liées

<?php
/* Exécute une requête préparée en liant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < :calories AND couleur = :couleur');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':couleur', $couleur, PDO::PARAM_STR, 12);
$sth->execute();
?>

Exemple #2 Exécute une requête préparée avec un tableau de valeurs (paramètres de nom)

<?php
/* Exécute une requête préparée en passant un tableau de valeurs */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < :calories AND couleur = :couleur');
$sth->execute(array(':calories' => $calories, ':couleur' => $couleur));
?>

Exemple #3 Exécute une requête préparée avec un tableau de valeurs (marqueurs)

<?php
/* Exécute une requête préparée en passant un tableau de valeurs */
$calories = 150;
$colour = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < ? AND couleur = ?');
$sth->execute(array($calories, $couleur));
?>

Exemple #4 Exécute une requête préparée avec un marqueur de positionnement

<?php
/* Exécute une requête préparée en liant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
    FROM fruit
    WHERE calories < ? AND couleur = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $couleur, PDO::PARAM_STR, 12);
$sth->execute();
?>

Notes

Note: Quelques drivers nécessitent de fermer le curseur avant d'exécuter la requête suivante.

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::bindParam() - Lie un paramètre à un nom de variable spécifique
  • PDOStatement::fetch() - Récupère la ligne suivante d'un jeu de résultat PDO
  • PDOStatement::fetchAll() - Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
  • PDOStatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats

PDOStatement->errorInfo
PDOStatement->fetch
PDOStatement


Récupère la ligne suivante d'un jeu de résultat PDO

PDOStatement->execute
PDOStatement->fetchAll
PDOStatement
PHP Manual

PDOStatement->fetch

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->fetch — Récupère la ligne suivante d'un jeu de résultat PDO

Description

  mixed  PDOStatement::fetch
  ([  int  $fetch_style = PDO::FETCH_BOTH
 [,  int  $cursor_orientation = PDO::FETCH_ORI_NEXT
 [,  int  $cursor_offset = 0
]]] )

Récupère une ligne depuis un jeu de résultats associé à l'objet PDOStatement. Le paramètre fetch_style détermine la façon dont PDO retourne la ligne.

Liste de paramètres

fetch_style

Contrôle comment la prochaine ligne sera retournée à l'appelant. Cette valeur doit être une des constantes PDO::FETCH_*, et par défaut, vaut PDO::FETCH_BOTH.

  • PDO::FETCH_ASSOC: retourne un tableau indexé par le nom de la colonne comme retourné dans le jeu de résultats

  • PDO::FETCH_BOTH (défaut): retourne un tableau indexé par les noms de colonnes et aussi par les numéros de colonnes, commençant à l'index 0, comme retournés dans le jeu de résultats

  • PDO::FETCH_BOUND: retourne TRUE et assigne les valeurs des colonnes de votre jeu de résultats dans les variables PHP à laquelle elles sont liées avec la méthode PDOStatement::bindParam()

  • PDO::FETCH_CLASS: retourne une nouvelle instance de la classe demandée, liant les colonnes du jeu de résultats aux noms des propriétés de la classe. Si fetch_style inclut PDO::FETCH_CLASS (c'est-à-dire PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE), alors le nom de la classe est déterminé à partir d'une valeur de la première colonne.

  • PDO::FETCH_INTO: met à jour une instance existante de la classe demandée, liant les colonnes du jeu de résultats aux noms des propriétés de la classe

  • PDO::FETCH_LAZY: combine PDO::FETCH_BOTH et PDO::FETCH_OBJ, créant ainsi les noms des variables de l'objet, comme elles sont accédées

  • PDO::FETCH_NUM: retourne un tableau indexé par le numéro de la colonne comme elle est retourné dans votre jeu de résultat, commençant à 0

  • PDO::FETCH_OBJ: retourne un objet anonyme avec les noms de propriétés qui correspondent aux noms des colonnes retournés dans le jeu de résultats

cursor_orientation

Pour un objet PDOStatement représentant un curseur scrollable, cette valeur détermine quelle ligne sera retournée à l'appelant. Cette valeur doit être une des constantes PDO::FETCH_ORI_*, et par défaut, vaut PDO::FETCH_ORI_NEXT. Pour demander un curseur scrollable pour votre objet PDOStatement, vous devez définir l'attribut PDO::ATTR_CURSOR à PDO::CURSOR_SCROLL lorsque vous préparez la requête SQL avec la fonction PDO::prepare().

offset

Pour un objet PDOStatement représentant un curseur scrollable pour lequel le paramètre cursor_orientation est défini à PDO::FETCH_ORI_ABS, cette valeur spécifie le numéro absolu de la ligne dans le jeu de résultats qui doit être récupérée.

Pour un objet PDOStatement représentant un curseur scrollable pour lequel le paramètre cursor_orientation est défini à PDO::FETCH_ORI_REL, cette valeur spécifie la ligne à récupérer relativement à la position du curseur avant l'appel à la fonction PDOStatement::fetch().

Valeurs de retour

La valeur retournée par cette fonction en cas de succès dépend du type récupéré. Dans tous les cas, FALSE est retourné si une erreur survient.

Exemples

Exemple #1 Récupération de lignes en utilisant différentes méthodes

<?php
$sth = $dbh->prepare("SELECT nom, couleur FROM fruit");
$sth->execute();

/* styles PDOStatement::fetch */
print("PDO::FETCH_ASSOC: ");
print("Retourne la ligne suivante en tant qu'un tableau indexé par le nom des colonnes\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Retourne la ligne suivante en tant qu'un tableau indexé par le nom et le numéro de la colonne\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Retourne la ligne suivante en tant qu'objet anonyme ayant les noms de colonnes comme propriétés\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Retourne la ligne suivante en tant qu'objet anonyme ayant les noms de colonnes comme propriétés\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");
?>

L'exemple ci-dessus va afficher :

PDO::FETCH_ASSOC: Retourne la ligne suivante en tant qu'un tableau indexé par le nom des colonnes
Array
(
    [NOM] => apple
    [COULEUR] => red
)

PDO::FETCH_BOTH: Retourne la ligne suivante en tant qu'un tableau indexé par le nom et le numéro de la colonne
Array
(
    [NOM] => banana
    [0] => banana
    [COULEUR] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Retourne la ligne suivante en tant qu'objet anonyme ayant les noms de colonnes comme propriétés PDORow Object
(
    [NOM] => orange
    [COULEUR] => orange
)

PDO::FETCH_OBJ: Retourne la ligne suivante en tant qu'objet anonyme ayant les noms de colonnes comme propriétés kiwi

Exemple #2 Récupération des lignes avec un curseur scrollable

<?php
function readDataForwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function readDataBackwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Lecture en avant :\n";
readDataForwards($conn);

print "Lecture en arrière :\n";
readDataBackwards($conn);
?>

L'exemple ci-dessus va afficher :

Lecture en avant :
21    10    5
16    0     5
19    20    10

Lecture en arrière :
19    20    10
16    0     5
21    10    5

Voir aussi

  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::execute() - Exécute une requête préparée
  • PDOStatement::fetchAll() - Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
  • PDOStatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats
  • PDOStatement::fetchObject() - Récupère la prochaine ligne et la retourne en tant qu'objet
  • PDOStatement::setFetchMode() - Définit le mode de récupération par défaut pour cette requête

PDOStatement->execute
PDOStatement->fetchAll
PDOStatement


Retourne un tableau contenant toutes les lignes du jeu d'enregistrements

PDOStatement->fetch
PDOStatement->fetchColumn
PDOStatement
PHP Manual

PDOStatement->fetchAll

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->fetchAll — Retourne un tableau contenant toutes les lignes du jeu d'enregistrements

Description

array PDOStatement::fetchAll ([ int $fetch_style = PDO::FETCH_BOTH [, int $column_index = 0 [, array $ctor_args = array() ]]] )

Liste de paramètres

fetch_style

Contrôle le contenu du tableau retourné comme documenté dans la fonction PDOStatement::fetch().

Pour retourner un tableau contenant toutes les valeurs d'une seule colonne depuis le jeu de résultats, spécifiez PDO::FETCH_COLUMN. Vous pouvez spécifier quelle colonne vous voulez avec le paramètre column-index.

Pour récupérer uniquement les valeurs uniques d'une seule colonne depuis le jeu de résultats, utilisez PDO::FETCH_COLUMN avec PDO::FETCH_UNIQUE.

Pour retourner un tableau associatif groupé par les valeurs d'une colonne spécifique, utilisez PDO::FETCH_COLUMN avec PDO::FETCH_GROUP.

column_index

Retourne la colonne indiquée où la valeur de fetch_style est PDO::FETCH_COLUMN.

ctor_args

Arguments du constructeur personnalisé de la classe.

Valeurs de retour

PDOStatement::fetchAll() retourne un tableau contenant toutes les lignes du jeu d'enregistrements. Le tableau représente chaque ligne comme soit un tableau de valeurs des colonnes, soit un objet avec des propriétés correspondant à chaque nom de colonne.

L'utilisation de cette méthode pour récupérer de gros jeux de résultats peut augmenter les ressources du système, mais également ces ressources. Plutôt que de récupérer toutes les données et de les manipuler avec PHP, utilisez le serveur de base de données pour manipuler les jeux de résultats. Par exemple, utilisez les clauses WHERE et ORDER BY dans vos requêtes SQL pour restreindre les résultats avant de le récupérer et de les traiter avec PHP.

Exemples

Exemple #1 Récupération de toutes les lignes d'un jeu de résultats

<?php
$sth = $dbh->prepare("SELECT nom, couleur FROM fruit");
$sth->execute();

/* Récupération de toutes les lignes d'un jeu de résultats */
print("Récupération de toutes les lignes d'un jeu de résultats :\n");
$result = $sth->fetchAll();
print_r($result);
?>

L'exemple ci-dessus va afficher :

Récupération de toutes les lignes d'un jeu de résultats :
Array
(
    [0] => Array
        (
            [NOM] => pear
            [0] => pear
            [COULEUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NOM] => watermelon
            [0] => watermelon
            [COULEUR] => pink
            [1] => pink
        )

)

Exemple #2 Récupération de toutes les valeurs d'une seule colonne depuis un jeu de résultats

L'exemple suivant montre comment retourner toutes les valeurs d'une seule colonne depuis un jeu de résultats, même si la requête SQL retourne plusieurs colonnes par lignes.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Récupération de toutes les valeurs de la première colonne */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

L'exemple ci-dessus va afficher :

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Exemple #3 Grouper toutes les valeurs d'une seule colonne

L'exemple suivant montre comment retourner un tableau associatif groupé par les valeurs de la colonne spécifiée d'un jeu de résultats. Le tableau contient trois clés : les valeurs apple et pear sont retournées sous la forme de tableaux qui contiennent deux couleurs différentes, tandis que watermelon est retourné sous la forme d'un tableau qui contient uniquement une seule couleur.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Grouper les valeurs de la première colonne */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

L'exemple ci-dessus va afficher :

array(3) {
  ["apple"]=>
    array(2) {
      [0]=>
        string(5) "green"
      [1]=>
        string(3) "red"
    }
  ["pear"]=>
    array(2) {
      [0]=>
        string(5) "green"
      [1]=>
        string(6) "yellow"
    }
  ["watermelon"]=>
    array(1) {
      [0]=>
        string(5) "green"
    }
}

Voir aussi

  • PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
  • PDOStatement::fetch() - Récupère la ligne suivante d'un jeu de résultat PDO
  • PDOStatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats
  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::setFetchMode() - Définit le mode de récupération par défaut pour cette requête

PDOStatement->fetch
PDOStatement->fetchColumn
PDOStatement


Retourne une colonne depuis la ligne suivante d'un jeu de résultats

PDOStatement->fetchAll
PDOStatement->fetchObject
PDOStatement
PHP Manual

PDOStatement->fetchColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement->fetchColumn — Retourne une colonne depuis la ligne suivante d'un jeu de résultats

Description

string PDOStatement::fetchColumn ([ int $column_number = 0 ] )

Retourne une colonne depuis la ligne suivante d'un jeu de résultats ou FALSE s'il n'y a plus de ligne.

Liste de paramètres

column_number

Numéro de la colonne que vous voulez récupérer depuis la ligne (commençant à 0). Si aucune valeur n'est fournie, PDOStatement::fetchColumn() récupérera la première colonne.

Valeurs de retour

PDOStatement::fetchColumn() retourne une colonne depuis la ligne suivante d'un jeu de résultats.

Avertissement

Il n'y a pas de solution pour retourner une autre colonne depuis la même ligne si vous utilisez la fonction PDOStatement::fetchColumn() pour récupérer les données.

Exemples

Exemple #1 Retourne la première colonne de la ligne suivante

<?php
$sth = $dbh->prepare("SELECT nom, couleur FROM fruit");
$sth->execute();

/* Récupère la première colonne depuis la ligne suivante d'un jeu de résultats */
print("Récupère la première colonne depuis la ligne suivante d'un jeu de résultats :\n");
$result = $sth->fetchColumn();
print("nom=$result\n");

print("Récupère la deuxième colonne depuis la ligne suivante d'un jeu de résultats :\n");
$result = $sth->fetchColumn();
print("couleur=$result\n");
?>

L'exemple ci-dessus va afficher :

Récupère la première colonne depuis la ligne suivante d'un jeu de résultats :
nom=lemon
Récupère la deuxième colonne depuis la ligne suivante d'un jeu de résultats :
couleur=orange

Voir aussi

  • PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement
  • PDOStatement::fetch() - Récupère la ligne suivante d'un jeu de résultat PDO
  • PDOStatement::fetchAll() - Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
  • PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
  • PDOStatement::setFetchMode() - Définit le mode de récupération par défaut pour cette requête

PDOStatement->fetchAll
PDOStatement->fetchObject
PDOStatement


Récupère la prochaine ligne et la retourne en tant qu'objet

PDOStatement->fetchColumn
PDOStatement->getAttribute
PDOStatement
PHP Manual

PDOStatement->fetchObject

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.4)

PDOStatement->fetchObject — Récupère la prochaine ligne et la retourne en tant qu'objet

Description

mixed PDOStatement::fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] )

Récupère la prochaine ligne et la retourne en tant qu'objet. Cette fonction
est une alternative à PDOStatement::fetch() avec
PDO::FETCH_CLASS ou le style
PDO::FETCH_OBJ.

Liste de paramètres

class_name

Nom de la classe créée.

ctor_args

Éléments de ce tableau sont passés au constructeur.

Valeurs de retour

Retourne une instance de la classe demandée avec les propriétés de noms qui correspondent aux noms des colonnes ou FALSE si une erreur survient.

Voir aussi

  • PDOStatement::fetch() - Récupère la ligne suivante d'un jeu de résultat PDO

PDOStatement->fetchColumn
PDOStatement->getAttribute
PDOStatement


Récupère un attribut de requête

PDOStatement->fetchObject
PDOStatement->getColumnMeta
PDOStatement
PHP Manual

PDOStatement->getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->getAttribute — Récupère un attribut de requête

Description

mixed PDOStatement::getAttribute ( int $attribute )

Récupère un attribut de la requête. Actuellement, aucun attribut générique n'existe, mais uniquement des spécificités du driver :

  • PDO::ATTR_CURSOR_NAME (spécificité de Firebird et d'ODBC) : Récupère le nom du curseur pour UPDATE ... WHERE CURRENT OF.

Valeurs de retour

Retourne la valeur de l'attribut.

Voir aussi

  • PDO::getAttribute() - Récupère un attribut d'une connexion à une base de données
  • PDO::setAttribute() - Configure un attribut PDO
  • PDOStatement::setAttribute() - Définie un attribut de requête

PDOStatement->fetchObject
PDOStatement->getColumnMeta
PDOStatement


Retourne les métadonnées pour une colonne d'un jeu de résultats

PDOStatement->getAttribute
PDOStatement->nextRowset
PDOStatement
PHP Manual

PDOStatement->getColumnMeta

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->getColumnMeta — Retourne les métadonnées pour une colonne d'un jeu de résultats

Description

array PDOStatement::getColumnMeta ( int $column )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère les metainformations pour une colonne d'un jeu de résultat dans un tableau associatif.

Avertissement

Tous les drivers PDO ne supportent pas la fonction PDOStatement::getColumnMeta().

Liste de paramètres

column

Le nom de la colonne dans le jeu de résultat.

Valeurs de retour

Retourne un tableau associatif contenant les valeurs suivantes représentant les metainformations pour une colonne :

Metainformations d'une colonne
Nom | Valeur
native_type | Le type natif PHP utilisé pour représenter la valeur de la colonne.
driver:decl_type | Le type SQL utilisé pour représenter la valeur de la colonne dans la base de données. Si la colonne du jeu de résultat est le résultat d'une fonction, cette valeur n'est pas retournée par la fonction PDOStatement::getColumnMeta().
flags | N'importe quelle balise définie pour cette colonne.
name | Le nom de cette colonne, comme retourné par la base de données.
table | Le nom de la colonne dans la table, tel que retourné par la base de données.
len | La longueur de cette colonne. Normalement, -1 pour les types autres que les nombres décimaux à virgule flottante.
precision | La précision numérique pour cette colonne. Normalement, 0 pour les types autres que les nombres décimaux à virgule flottante.
pdo_type | Le type de cette colonne comme représenté par la constante PDO::PARAM_* constants.

Retourne FALSE si la colonne demandée n'existe pas dans le jeu de résultats, ou si aucun jeu de résultats n'existe.

Historique

Version | Description
5.2.3 | champs table

Exemples

Exemple #1 Récupération des metainformations pour une colonne

L'exemple suivant montre le résultat de la récupération des metainformations pour une colonne générée par une fonction (COUNT) dans un pilote PDO_SQLITE.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

L'exemple ci-dessus va afficher :

array(6) {
   ["native_type"]=>
   string(7) "integer"
   ["flags"]=>
      array(0) {
      }
   ["name"]=>
   string(8) "COUNT(*)"
   ["len"]=>
   int(-1)
   ["precision"]=>
   int(0)
   ["pdo_type"]=>
   int(2)
}

Voir aussi

  • PDOStatement::columnCount() - Retourne le nombre de colonnes dans le jeu de résultats
  • PDOStatement::rowCount() - Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

PDOStatement->getAttribute
PDOStatement->nextRowset
PDOStatement


Avance à la prochaine ligne de résultats d'un gestionnaire de lignes de résultats multiples

PDOStatement->getColumnMeta
PDOStatement->rowCount
PDOStatement
PHP Manual

PDOStatement->nextRowset

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->nextRowset — Avance à la prochaine ligne de résultats d'un gestionnaire de lignes de résultats multiples

Description

bool PDOStatement::nextRowset ( void )

Quelques bases de données supportent les procédures stockées qui retournent plus d'une ligne de résultats (aussi connu comme des jeux de résultats). PDOStatement::nextRowset() vous permet d'accéder à la seconde et suivantes lignes de résultats associées avec l'objet PDOStatement. Chaque ligne de résultats a des jeux différents de colonnes depuis la ligne de résultats.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupération de multiples lignes de résultats retournées par une procédure stockée

L'exemple suivant montre comment appeler une procédure stockée, MULTIPLE_RESULTS, qui retourne trois lignes de résultats. Nous utilisons une boucle do / while pour parcourir la méthode PDOStatement::nextRowset(), qui retourne FALSE et termine la boucle lorsque plus aucune ligne de résultats ne peut être retournée.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
    $rowset = $stmt->fetchAll(PDO::FETCH_NUM);
    if ($rowset) {
        printResultSet($rowset, $i);
    }
    $i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
    print "Jeu de résultats $i:\n";
    foreach ($rowset as $row) {
        foreach ($row as $col) {
            print $col . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

L'exemple ci-dessus va afficher :

Jeu de résultats 1:
apple    red
banana   yellow

Jeu de résultats 2:
orange   orange    150
banana   yellow    175

Jeu de résultats 3:
lime     green
apple    red
banana   yellow

Voir aussi

  • PDOStatement::columnCount() - Retourne le nombre de colonnes dans le jeu de résultats
  • PDOStatement::execute() - Exécute une requête préparée
  • PDOStatement::getColumnMeta() - Retourne les métadonnées pour une colonne d'un jeu de résultats
  • PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement

PDOStatement->getColumnMeta
PDOStatement->rowCount
PDOStatement


Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

PDOStatement->nextRowset
PDOStatement->setAttribute
PDOStatement
PHP Manual

PDOStatement->rowCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement->rowCount — Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

Description

int PDOStatement::rowCount ( void )

PDOStatement::rowCount() retourne le nombre de lignes affectées par la dernière requête DELETE, INSERT ou UPDATE exécutée par l'objet PDOStatement correspondant.

Si la dernière requête SQL exécutée par l'objet PDOStatement associé est une requête de type SELECT, quelques bases de données retourneront le nombre de lignes retournées par cette requête. Néanmoins, ce comportement n'est pas garanti pour toutes les bases de données et ne devrait pas être exécuté pour des applications portables.

Valeurs de retour

Retourne le nombre de lignes.

Exemples

Exemple #1 Retourne le nombre de lignes effacées

PDOStatement::rowCount() retourne le nombre de lignes affectées par une requête DELETE, INSERT, ou UPDATE.

<?php
/* Effacement de toutes les lignes de la table FRUIT */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Retourne le nombre de lignes effacées */
print("Retourne le nombre de lignes effacées :\n");
$count = $del->rowCount();
print("Effacement de $count lignes.\n");
?>

L'exemple ci-dessus va afficher :

Effacement de 9 lignes.

Exemple #2 Comptage des lignes retournées par une requête SELECT

Pour la plupart des bases de données, PDOStatement::rowCount() ne retourne pas le nombre de lignes affectées par une requête SELECT. À la place, utilisez PDO::query() pour faire une requête SELECT COUNT(*), puis utilisez PDOStatement::fetchColumn() pour récupérer le nombre de lignes retournées. Votre application peut ainsi effectuer la bonne action.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

   /* Récupère le nombre de lignes qui correspond à la requête SELECT */
   if ($res->fetchColumn() > 0) {

      /* Effectue la vraie requête SELECT et travaille sur le résultat */
      $sql = "SELECT nom FROM fruit WHERE calories > 100";
      foreach ($conn->query($sql) as $row) {
      print "Nom : " .  $row['NOM'] . "\n";
      }
   }
   /* Aucune ligne ne correspond -- faire quelque chose d'autre */
   else {
      print "Aucune ligne ne correspond à la requête.";
   }
}

$res = null;
$conn = null;
?>

L'exemple ci-dessus va afficher :

apple
banana
orange
pear

Voir aussi

  • PDOStatement::columnCount() - Retourne le nombre de colonnes dans le jeu de résultats
  • PDOStatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats
  • PDO::query() - Exécute une requête SQL, retourne un jeu de résultats en tant qu'objet PDOStatement

PDOStatement->nextRowset
PDOStatement->setAttribute
PDOStatement


Définie un attribut de requête

PDOStatement->rowCount
PDOStatement->setFetchMode
PDOStatement
PHP Manual

PDOStatement->setAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->setAttribute — Définie un attribut de requête

Description

bool PDOStatement::setAttribute ( int $attribute , mixed $value )

Définit un attribut de la requête. Actuellement, aucun attribut générique n'est défini, mais uniquement des spécificités du driver :

  • PDO::ATTR_CURSOR_NAME (spécificité de Firebird et d'ODBC) : Définit le nom du curseur pour UPDATE ... WHERE CURRENT OF.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • PDO::getAttribute() - Récupère un attribut d'une connexion à une base de données
  • PDO::setAttribute() - Configure un attribut PDO
  • PDOStatement::getAttribute() - Récupère un attribut de requête

PDOStatement->rowCount
PDOStatement->setFetchMode
PDOStatement


Définit le mode de récupération par défaut pour cette requête

PDOStatement->setAttribute
PDOException
PDOStatement
PHP Manual

PDOStatement->setFetchMode

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDOStatement->setFetchMode — Définit le mode de récupération par défaut pour cette requête

Description

bool PDOStatement::setFetchMode ( int $mode )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_COLUMN , int $colno )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_INTO , object $object )

Liste de paramètres

mode

Le mode de récupération doit être une des constantes PDO::FETCH_*.

colno

Numéro de la colonne.

classname

Nom de la classe.

ctorargs

Arguments du constructeur.

object

Objet.

Valeurs de retour

Retourne 1 en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Définition du mode de récupération

L'exemple suivant montre comment PDOStatement::setFetchMode() modifie le mode de récupération par défaut pour un objet PDOStatement.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $stmt = $dbh->query($sql);
  $result = $stmt->setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt->fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

L'exemple ci-dessus va afficher :

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90

PDOStatement->setAttribute
PDOException
PDOStatement


La classe PDOException

Introduction

Représente une erreur émise par PDO. Vous ne devez pas lancer une exception PDOException depuis votre propre code. Voir le chapitre sur les exceptions pour plus d'informations concernant les exceptions en PHP.

Synopsis de la classe

PDOException
PDOException Étend RuntimeException {
/* Propriétés */
public array $errorInfo ;
protected string $message ;
protected string $code ;
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propriétés

errorInfo

Correspond à PDO::errorInfo() ou PDOStatement::errorInfo()

message

Message d'erreur textuel. Utilisez la méthode Exception::getMessage() pour y accéder.

code

Code erreur SQLSTATE. Utilisez la méthode Exception::getCode() pour y accéder.

PDOStatement->setFetchMode
Pilotes PDO
PDO


Pilotes PDO

Sommaire

  • MS SQL Server (PDO)
  • Firebird/Interbase (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • Oracle (PDO)
  • ODBC et DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • 4D (PDO)

Les pilotes suivants (driver) sont actuellement implémentés dans l'interface PDO :

Nom du driver | Bases de données supportées
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird/Interbase 6
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x/5.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC et win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 et SQLite 2
PDO_4D | 4D

PDOException
MS SQL Server (PDO)
PDO


Microsoft SQL Server et Fonctions Sybase (PDO_DBLIB)

Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

PDO_DBLIB est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP au Microsoft SQL Server et aux bases de données Sybase par la bibliothèque FreeTDS.

Cette extension n'est plus disponible sous Windows avec PHP 5.3 et suivant.

Sous Windows, vous devriez utiliser SqlSrv, un driver alternatif pour MS SQL disponible chez Microsoft : » http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx . La documentation est disponible à l'adresse » http://msdn.microsoft.com/en-us/library/cc296221.aspx

Si vous ne pouvez pas utiliser SqlSrv, vous pouvez utiliser le driver PDO_ODBC pour se connecter à un serveur de bases de données Microsoft SQL et Sybase, sachant que le driver natif Windows DB-LIB est ancien, non sécurisé niveau thread et plus supporté par Microsoft.

Sommaire

  • PDO_DBLIB DSN — Connexion au Serveur Microsoft SQL et bases de données Sybase
Pilotes PDO
PDO_DBLIB DSN
Pilotes PDO


Connexion au Serveur Microsoft SQL et bases de données Sybase

MS SQL Server (PDO)
Firebird/Interbase (PDO)
MS SQL Server (PDO)
PHP Manual

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN — Connexion au Serveur Microsoft SQL et bases de données Sybase

Description

Le Data Source Name (DSN) de PDO_DBLIB est composé des éléments suivants :

Préfixe DSN

Le préfixe DNS est sybase: si PDO_DBLIB était lié avec les bibliothèques FreeTDS, mssql: si PDO_DBLIB était lié avec les bibliothèques de Microsoft SQL Server, ou dblib: si il était lié avec n'importe quelle autre sorte de DB-lib.

host

L'hôte sur lequel le serveur de base de données se situe.

dbname

Le nom de la base de données.

charset

Le jeu de caractères du client.

appname

Le nom de l'application (utilisé dans sysprocesses). Par défaut, "PHP Generic DB-lib" ou "PHP freetds".

secure

Actuellement inutilisé.

Exemples

Exemple #1 Exemples avec PDO_DBLIB DSN

Les exemples suivants montrent PDO_DBLIB DSN pour se connecter au Microsoft SQL Server et les bases de données Sybase :

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

MS SQL Server (PDO)
Firebird/Interbase (PDO)
MS SQL Server (PDO)


Fonctions Firebird/Interbase (PDO_FIREBIRD)

Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

PDO_FIREBIRD est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour permettre l'accès de PHP aux bases de données Firebird et Interbase.

Constantes pré-définies

Les constantes ci-dessous sont définies par ce pilote et seront seulement disponibles lorsque l'extension aura été compilée dans PHP ou chargée dynamiquement du moteur d'exécution. De plus, ces constantes spécifiques au pilote devraient être utilisées seulement si vous utilisez ce pilote. En utilisant les attributs spécifiques à un pilote avec un autre pilote pourrait causer un comportement inattendu. PDO::getAttribute() pourrait être utilisé pour obtenir l'attribut PDO_ATTR_DRIVER_NAME pour vérifier le pilote, si votre code peut fonctionner sur des pilotes multiples.

PDO::FB_ATTR_DATE_FORMAT (entier)

Disponible depuis PHP 5.3.0.

Configure le format de la date.

PDO::FB_ATTR_TIME_FORMAT (entier)

Disponible depuis PHP 5.3.0.

Configure le format de l'heure.

PDO::FB_ATTR_TIMESTAMP_FORMAT (entier)

Disponible depuis PHP 5.3.0.

Configure le format des timestamp.

Sommaire

  • PDO_FIREBIRD DSN — Connexion aux bases de données Firebird et Interbase
PDO_DBLIB DSN
PDO_FIREBIRD DSN
Pilotes PDO


Connexion aux bases de données Firebird et Interbase

Firebird/Interbase (PDO)
IBM (PDO)
Firebird/Interbase (PDO)
PHP Manual

PDO_FIREBIRD DSN

(PECL PDO_FIREBIRD >= 0.1.0)

PDO_FIREBIRD DSN — Connexion aux bases de données Firebird et Interbase

Description

Le Data Source Name (DSN) de PDO_FIREBIRD est composé des éléments suivants :

Préfixe DSN

Le préfixe DNS est firebird:.

dbname

Le nom de la base de données.

charset

Le jeu de caractères.

role

Le nom du rôle SQL.

Exemples

Exemple #1 Exemples avec PDO_FIREBIRD DSN

L'exemple suivant montre PDO_FIREBIRD DSN pour se connecter aux bases de données Firebird et Interbase :

firebird:dbname=DATABASE.GDE

Firebird/Interbase (PDO)
IBM (PDO)
Firebird/Interbase (PDO)


Fonctions IBM (PDO_IBM)

Introduction

PDO_IBM est un driver qui implémente l'interface PHP Data Objects (PDO) afin d'activer l'accès depuis PHP aux bases de données IBM.

Installation

Pour compiler l'extension PDO_IBM, le client DB2 v9.1 ou supérieur doit être installé sur le même système que PHP. Le client DB2 peut être téléchargé depuis le site d'IBM de » développement d'applications.

Note: Note
Le client DB2 v9.1 ou supérieur supporte les accès directs à DB2 pour les systèmes Linux, UNIX et les serveurs Windows v8 et v9.1.
Le client DB2 v9.1 supporte également les accès à DB2 UDB pour i5 et DB2 UDB pour les serveurs z/OS en utilisant le » produit de connexion DB2 payant.

PDO_IBM est une extension » PECL; vous devez donc suivre les instructions de Installation d'extensions PECL pour installer l'extension PDO_IBM. Exécutez la commande configure afin qu'elle pointe vers le dossier contenant les fichiers d'en-têtes et les bibliothèques de votre client DB2 comme ceci :

 bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
La commande configure utilise par défaut la valeur de la variable d'environnement DB2DIR.

Sommaire

  • PDO_IBM DSN — Connexion aux bases de données IBM
PDO_FIREBIRD DSN
PDO_IBM DSN
Pilotes PDO


Connexion aux bases de données IBM

IBM (PDO)
Informix (PDO)
IBM (PDO)
PHP Manual

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSN — Connexion aux bases de données IBM

Description

Le nom de la source de données PDO_IBM (DSN) est basé sur le IBM CLI DSN. Les principaux composants de PDO_IBM DSN sont :

DSN prefix

Le préfixe DSN est ibm:.

DSN

Le DSN peut être une valeur parmi celles-ci :

  • a) Configuration de la source des données en utilisant le fichier db2cli.ini ou odbc.ini

  • b) Nom de base de données catalogué, i.e. alias de base de données contenus dans le catalogue du client DB2

  • c) Chaîne de connexion complète dans le format suivant : DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; où les paramètres représentent les valeurs suivantes :

    database

    Le nom de la base de données.

    hostname

    Le nom de l'hôte ou l'adresse IP du serveur de base de données.

    port

    Le port TCP/IP sur lequel la base de données écoute les requêtes.

    username

    Le nom d'utilisateur utilisé pour la connexion à la base de données.

    password

    Le mot de passe utilisé pour la connexion à la base de données.

Exemples

Exemple #1 Exemple avec PDO_IBM DSN en utilisant db2cli.ini

L'exemple suivant montre l'utilisation de PDO_IBM DSN pour la connexion à une base de données DB2 cataloguée comme DB2_9 dans le fichier db2cli.ini :

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Exemple #2 Exemple avec PDO_IBM DSN en utilisant une chaîne complète de connexion

L'exemple suivant montre l'utilisation de PDO_IBM DSN pour la connexion à une base de données DB2 nommé testdb en utilisant la chaîne complète de connexion DB2 CLI :

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

IBM (PDO)
Informix (PDO)
IBM (PDO)


Fonctions Informix (PDO_INFORMIX)

Introduction

PDO_INFORMIX est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès à PHP aux bases de données Informix.

Installation

Pour compiler l'extension PDO_INFORMIX, le SDK Client Informix 2.81 UC1 ou supérieur doit être installé sur le même système que PHP. Le SDK Client Informix est disponible sur le » Site de Support IBM Informix.

PDO_INFORMIX est une extension » PECL, alors suivez les instructions dans Installation d'extensions PECL pour installer l'extension PDO_INFORMIX. Écrivez la commande configure pour pointer au chemin de vos fichiers d'en-têtes SDK Client Informix ainsi que les bibliothèques comme suit :

   bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
La commande configure utilise par défaut la variable d'environnement INFORMIXDIR.

Curseurs flottants

PDO_INFORMIX supporte les curseurs flottants; cependant, ils ne sont pas activés par défaut. Pour activer le support des curseurs flottants, vous devez soit fixer ENABLESCROLLABLECURSORS=1 dans les configurations de la connexion ODBC correspondante dans odbc.ini ou passer la clause EnableScrollableCursors=1 dans la chaîne de caractères de connexion DSN.

Sommaire

  • PDO_INFORMIX DSN — Connexion aux bases de données Informix
PDO_IBM DSN
PDO_INFORMIX DSN
Pilotes PDO


Connexion aux bases de données Informix

Informix (PDO)
MySQL (PDO)
Informix (PDO)
PHP Manual

PDO_INFORMIX DSN

(PECL PDO_INFORMIX >= 0.1.0)

PDO_INFORMIX DSN — Connexion aux bases de données Informix

Description

Le Data Source Name (DSN) de PDO_INFORMIX est basé sur la chaîne de caractères DSN d'Informix ODBC. Les détails sur la configuration d'un DSN Informix ODBC sont disponibles sur » Informix Dynamic Server Information Center. Les composants majeurs de DSN de PDO_INFORMIX sont :

DSN prefix

Le préfixe DSN est informix:.

DSN

Le DSN peut soit être une source de données de configuration en utilisant odbc.ini ou une » chaînes de caractères de connexion complète.

Exemples

Exemple #1 Exemple DSN de PDO_INFORMIX avec odbc.ini

L'exemple suivant montre PDO_INFORMIX DSN pour se connecter à une base de données Informix cataloguée comme Infdrv33 dans odbc.ini :

$db = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Exemple #2 Exemple DSN de PDO_INFORMIX avec une chaîne de caractères de connexion

L'exemple suivant montre PDO_INFORMIX DSN pour se connecter à une base de données Informix nommée common_db en utilisant la syntaxe de chaîne de caractères de connexion Informix.

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");

Informix (PDO)
MySQL (PDO)
Informix (PDO)


Fonctions MySQL (PDO_MYSQL)

Introduction

PDO_MYSQL est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données de MySQL 3.x, 4.x. et 5.x.

PDO_MYSQL prendra avantage des requêtes natives préparées présentes dans MySQL 4.1 et supérieur. Si vous utilisez une version plus ancienne des bibliothèques clientes mysql, PDO les émulera pour vous.

Avertissement

Prenez garde : certains types de tables MySQL (moteur d'enregistrement) ne supportent pas les transactions. Lorsque vous écrivez du code de base de données transactionnel en utilisant un type de table qui ne supporte pas les transactions, MySQL prétendra qu'une transaction était initiée correctement. De plus, toutes requêtes DLL publiées enverra implicitement toutes les transactions en attente.

Constantes pré-définies

Les constantes ci-dessous sont définies par ce pilote et seront seulement disponibles lorsque l'extension aura été compilée dans PHP ou chargée dynamiquement du moteur d'exécution. De plus, ces constantes spécifiques au pilote devraient être utilisées seulement si vous utilisez ce pilote. En utilisant les attributs spécifiques à un pilote avec un autre pilote pourrait causer un comportement inattendu. PDO::getAttribute() pourrait être utilisé pour obtenir l'attribut PDO_ATTR_DRIVER_NAME pour vérifier le pilote, si votre code peut fonctionner sur des pilotes multiples.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY ( integer )
Si un attribut est fixé à TRUE sur une classe PDOStatement, le pilote MySQL utilisera les versions bufferisées de l'API MySQL. Si vous écrivez du code portable, vous devriez utiliser à la place PDOStatement::fetchAll().

Exemple #3 Forcer la bufferisation des requêtes avec mysql

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $stmt = $db->prepare('select * from foo',
         array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("mon application fonctionne seulement avec mysql; Je devrais utiliser \$stmt->fetchAll() à la place");
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (entier)

Active LOAD LOCAL INFILE.

PDO::MYSQL_ATTR_INIT_COMMAND (entier)

Commande à exécuter lors de la connexion au serveur MySQL. Sera automatiquement ré-exécuté lors d'une reconnexion.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (entier)

Lit les options depuis le fichier nommé optionnel, plutôt que depuis my.cnf. Cette option n'est pas disponible lors de l'utilisation de mysqlnd car ce dernier ne lit pas les fichiers de configuration de mysql.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (entier)

Lit les options depuis le groupe nommé du fichier my.cnf ou depuis le fichier spécifié par MYSQL_READ_DEFAULT_FILE. Cette option n'est pas disponible lors de l'utilisation de mysqlnd car ce dernier ne lit pas les fichiers de configuration de mysql.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (entier)

Taille maximale du tampon. Par défaut, vaut 1 MiB.

PDO::MYSQL_ATTR_DIRECT_QUERY (entier)

Effectue des requêtes directes, sans utiliser de requêtes préparées.

Sommaire

  • PDO_MYSQL DSN — Connexion aux bases de données MySQL
PDO_INFORMIX DSN
PDO_MYSQL DSN
Pilotes PDO


Connexion aux bases de données MySQL

MySQL (PDO)
Oracle (PDO)
MySQL (PDO)
PHP Manual

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Connexion aux bases de données MySQL

Description

Le Data Source Name (DSN) de PDO_MYSQL est composé des éléments suivants :

Préfixe DSN

Le préfixe DSN est mysql:.

host

L'hôte sur lequel le serveur de base de données se situe.

port

Le numéro de port où le serveur de base de données est en train d'écouter.

dbname

Le nom de la base de données.

unix_socket

Le socket Unix MySQL (ne devrait pas être utilisé avec host ou port).

Exemples

Exemple #1 Exemples avec PDO_MYSQL DSN

L'exemple suivant montre PDO_MYSQL DSN pour se connecter aux bases de données MySQL :

mysql:host=localhost;dbname=testdb
Exemples plus complets :
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

MySQL (PDO)
Oracle (PDO)
MySQL (PDO)


Fonctions Oracle (PDO_OCI)

Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

PDO_OCI est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données Oracle à l'aide de la bibliothèque OCI.

Sommaire

  • PDO_OCI DSN — Connexion aux bases de données Oracle
PDO_MYSQL DSN
PDO_OCI DSN
Pilotes PDO


Connexion aux bases de données Oracle

Oracle (PDO)
ODBC et DB2 (PDO)
Oracle (PDO)
PHP Manual

PDO_OCI DSN

(PECL PDO_OCI >= 0.1.0)

PDO_OCI DSN — Connexion aux bases de données Oracle

Description

Le Data Source Name (DSN) de PDO_OCI est composé des éléments suivants :

Préfixe DSN

Le préfixe DSN est oci:.

dbname (Oracle Instant Client)

Le URI de la connexion Oracle Instant Client prend la forme de dbname=//hostname:port-number/database. Si vous vous connectez sur une base de données définies dans tnsnames.ora, utilisez seulement le nom de la base de données : dbname=database.

charset

Le jeu de caractères côté client pour l'environnement courant.

Exemples

Exemple #1 Exemples avec PDO_OCI DSN

Les exemples suivants montrent PDO_OCI DSN pour se connecter aux bases de données Oracle :

// Connexion à une base de données définie dans tnsnames.ora
oci:dbname=mydb

// Connexion en utilisant le client Oracle Instant
oci:dbname=//localhost:1521/mydb

Oracle (PDO)
ODBC et DB2 (PDO)
Oracle (PDO)


Fonctions ODBC et DB2 (PDO_ODBC)

Introduction

PDO_ODBC est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données par les pilotes de ODBC ou par la bibliothèque d'interface IBM DB2 Call Level (DB2 CLI). PDO_ODBC supporte actuellement trois "saveurs" différentes des pilotes de bases de données :

ibm-db2

Supporte l'accès à IBM DB2 Universal Database, Cloudscape et Apache Derby Server à l'aide du client gratuit DB2.

unixODBC

Supporte l'accès aux serveurs de base de données à l'aide du pilote de gestion unixODBC et les bases de données possédées par les pilotes ODBC.

generic

Offre une option de compilation pour les pilotes de gestion ODBC qui ne sont pas explicitement supportés par PDO_ODBC.

Sur Windows, PDO_ODBC est construit dans le noyau de PHP par défaut. Il est lié avec le Windows ODBC Driver Manager, c'est pourquoi PHP peut se connecter à n'importe quelle base de données cataloguée comme étant un System DSN. De plus, PDO_ODBC est le pilote recommandé pour se connecter aux bases de données Microsoft SQL Server.

Installation

PDO_ODBC sur les systèmes UNIX

  1. À partir de PHP 5.1, PDO_ODBC est inclus dans les sources de PHP. Vous pouvez compiler l'extension PDO_ODBC soit en statique ou en module partagé en utilisant les commandes configure suivantes.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    Pour construire PDO_ODBC avec la saveur ibm-db2, vous devez avoir précédemment installé les en-têtes de développement de l'application de DB2 sur la même machine sur laquelle vous compilez PDO_ODBC. Les en-têtes de développement de l'application DB2 sont une option d'installation dans les serveurs DB2 et sont aussi disponibles en tant que DB2 Application Development Client gratuitement disponibles pour téléchargement à partir du » site. IBM DB2 Universal Database.

    Si vous ne spécifiez pas d'emplacement pour les bibliothèques et les en-têtes de DB2 à la commande configure, PDO_ODBC prendra par défaut /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    Si vous ne spécifiez pas d'emplacement pour les bibliothèques et les en-têtes de unixODBC à la commande configure, PDO_ODBC prendra par défaut /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration PDO_ODBC
Nom | Défaut | Modifiable | Historique
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Disponible depuis PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.1. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

pdo_odbc.connection_pooling string

Pour mettre en commun les connexions ODBC. Peut être "strict", "relaxed" ou "off" (égal à ""). Le paramètre décrit comment la gestion de la connexion stricte devrait être lorsque les paramètres de connexion se ressemblent pour des connexions mises en commun. strict est la valeur par défaut recommandée et permettra l'utilisation des connexions en cache lorsque des paramètres de connexion similaires sont utilisés. relaxed permettra d'utiliser des connexions mises en cache lorsque des paramètres de connexion similaire seront utilisés. Cela peut augmenter l'utilisation du cache au risque de noyer les informations de connexion entre (par exemple) des serveurs virtuels.

Cette configuration peut seulement être changé à partir du fichier php.ini et affecte le processus entier; n'importe quels autres modules chargé dans le processus qui utilisent les bibliothèques ODBC sera aussi affecté, en incluant l'extension unifié ODBC.

Avertissement

relaxed ne devrait pas être utilisé sur les serveurs partagés, pour des raisons de sécurité.

Astuce

Laissez cette configuration à la valeur par défaut strict à moins que vous ayez une bonne raison pour la changer.

pdo_odbc.db2_instance_name string

Si vous compilez PDO_ODBC en utilisant db2, cette configuration fixe la valeur de la variable d'environnement DB2INSTANCE sur les systèmes d'exploitation Linux et UNIX au nom spécifié de l'instance DB2. Ceci permet à PDO_ODBC de résoudre le chemin des bibliothèques DB2 et de faire des connexions cataloguées aux bases de données DB2.

Cette configuration peut seulement être changée à partir du fichier php.ini et affecte le processus entier; n'importe quels autres modules chargés dans le processus qui utilisent les même bibliothèques ODBC seront aussi affectés, incluant l'extension unifiée ODBC.

Cette configuration n'a aucun effet sur Windows.

Sommaire

  • PDO_ODBC DSN — Connexion aux bases de données ODBC ou DB2
PDO_OCI DSN
PDO_ODBC DSN
Pilotes PDO


Connexion aux bases de données ODBC ou DB2

ODBC et DB2 (PDO)
PostgreSQL (PDO)
ODBC et DB2 (PDO)
PHP Manual

PDO_ODBC DSN

(PECL PDO_ODBC >= 0.1.0)

PDO_ODBC DSN — Connexion aux bases de données ODBC ou DB2

Description

Le Data Source Name (DSN) de PDO_ODBC est composé des éléments suivants :

Préfixe DSN

Le préfixe DSN est odbc:. Si vous vous connectez à une base de données cataloguée dans le pilote de ODBC Manager ou dans le catalogue de DB2, vous pouvez ajouter le nom du catalogue de la base de données au DSN.

DSN

Le nom de la base de données étant catalogué dans le pilote ODBC Manager ou le catalogue DB2. Alternativement, vous pouvez fournir une chaîne de connexion complète pour ODBC pour vous connecter à une base de données comme décrit à » http://www.connectionstrings.com/.

UID

Le nom de l'utilisateur pour la connexion. Si vous spécifiez l'utilisateur dans le DSN, PDO ignorera la valeur de l'utilisateur en argument dans le constructeur PDO.

PWD

Le mot de passe de l'utilisateur pour la connexion. Si vous spécifiez le mot de passe dans le DSN, PDO ignorera la valeur du mot de passe en argument dans le constructeur PDO.

Exemples

Exemple #1 Exemple avec PDO_ODBC DSN (pilote ODBC Manager)

L'exemple suivant montre PDO_ODBC DSN pour se connecter à une base de données ODBC catalogué comme étant testdb dans le pilote ODBC Manager :

odbc:testdb

Exemple #2 Exemple avec PDO_ODBC DSN (connexion non cataloguée IBM DB2)

L'exemple suivant montre PDO_ODBC DSN pour se connecter à une base de données IBM DB2 nommé SAMPLE en utilisant la syntaxe complète de ODBC DSN :

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Exemple #3 Exemple avec PDO_ODBC DSN (connexion non cataloguée Microsoft Access)

L'exemple suivant montre PDO_ODBC DSN pour se connecter à une base de données Microsoft Access enregistré à C:\db.mdb en utilisant la syntaxe complète de ODBC DSN :

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

ODBC et DB2 (PDO)
PostgreSQL (PDO)
ODBC et DB2 (PDO)


Fonctions PostgreSQL (PDO_PGSQL)

Introduction

PDO_PGSQL est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données PostgreSQL.

Types de ressources

Cette extension définie une ressource de flux, retournée par la fonction PDO::pgsqlLOBOpen().

Sommaire

  • PDO_PGSQL DSN — Connexion aux bases de données PostgreSQL
  • PDO::pgsqlLOBCreate — Crée un nouvel objet large
  • PDO::pgsqlLOBOpen — Ouvre un flux existant de large objet
  • PDO::pgsqlLOBUnlink — Supprime un objet large
PDO_ODBC DSN
PDO_PGSQL DSN
Pilotes PDO


Connexion aux bases de données PostgreSQL

PostgreSQL (PDO)
PDO::pgsqlLOBCreate
PostgreSQL (PDO)
PHP Manual

PDO_PGSQL DSN

(PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSN — Connexion aux bases de données PostgreSQL

Description

Le Data Source Name (DSN) de PDO_PGSQL est composé des éléments suivants, délimités par des espaces ou des points-virgules :

Préfixe DSN

Le préfixe DSN est pgsql:.

host

L'hôte sur lequel le serveur de base de données se situe.

port

L'hôte sur lequel le serveur de base de données se situe.

dbname

Le nom de la base de données.

user

Le nom de l'utilisateur pour la connexion. Si vous spécifiez l'utilisateur dans le DSN, PDO ignorera la valeur de l'utilisateur en argument dans le constructeur PDO.

password

Le mot de passe de l'utilisateur pour la connexion. Si vous spécifiez le mot de passe dans le DSN, PDO ignorera la valeur du mot de passe en argument dans le constructeur PDO.

Note: Les champs bytea sont retournés sous forme de flux.

Exemples

Exemple #1 Exemples avec PDO_PGSQL DSN

L'exemple suivant montre PDO_PGSQL DSN pour se connecter à une base de données PostgreSQL :

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass

PostgreSQL (PDO)
PDO::pgsqlLOBCreate
PostgreSQL (PDO)


Crée un nouvel objet large

PDO_PGSQL DSN
PDO::pgsqlLOBOpen
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBCreate — Crée un nouvel objet large

Description

string PDO::pgsqlLOBCreate ( void )

PDO::pgsqlLOBCreate() crée un objet large et retourne le OID de cet objet. Vous devrez alors ouvrir un flux sur cet objet en utilisant PDO::pgsqlLOBOpen() pour lire et écrire des données à l'intérieur. Le OID peut être enregistré en colonnes de type OID et doit être utilisé pour référencer l'objet large, sans pour autant augmenter arbitrairement la grandeur des lignes. L'objet large continuera a vivre dans la base de données tant qu'il n'est pas supprimé en appelant PDO::pgsqlLOBUnlink().

Les objets larges peuvent atteindre une taille jusqu'à 2GO, mais sont encombrant à utiliser; vous devez vous assurer que PDO::pgsqlLOBUnlink() est appelée avant de supprimer la dernière ligne qui fait référence son OID de votre base de données. De plus, les objets larges n'ont pas de contrôle d'accès. Comme alternative, essayez la colonne de type BYTEA; les nouvelles versions de PostgreSQL autorisent les colonnes BYTEA à atteindre une taille de 1GO et gère de manière transparente l'enregistrement pour avoir une ligne de taille optimale.

Note: Cette fonction doit être appelée à l'intérieur d'une transaction.

Liste de paramètres

PDO::pgsqlLOBCreate() ne prend aucun paramètre.

Valeurs de retour

Retourne le OID du nouvel objet large créé en cas de réussite ou FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec PDO::pgsqlLOBCreate()

Cet exemple crée un nouvel objet large et copie le contenu d'un fichier à l'intérieur. Le OID est alors enregistré dans une table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

Voir aussi

  • PDO::pgsqlLOBOpen() - Ouvre un flux existant de large objet
  • PDO::pgsqlLOBUnlink() - Supprime un objet large
  • pg_lo_create() - Crée un objet de grande taille PostgreSQL

PDO_PGSQL DSN
PDO::pgsqlLOBOpen
PostgreSQL (PDO)


Ouvre un flux existant de large objet

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — Ouvre un flux existant de large objet

Description

resource PDO::pgsqlLOBOpen ( string $oid [, string $mode = "rb" ] )

PDO::pgsqlLOBOpen() ouvre un flux pour accéder aux données référencées par oid. Si mode est r, le flux est ouvert en lecture, si mode est w, alors le flux sera ouvert en écriture. Vous pouvez utilisez toutes les fonctions usuelles de système de fichiers, comme fread(), fwrite() et fgets() pour manipuler le contenu du flux.

Note: Cette fonction, ainsi que toutes les manipulations sur l'objet large, doit être appelée et exécutée à l'intérieur d'une transaction.

Liste de paramètres

oid

Un identifiant d'objet large

mode

Si le mode est r, ouverture du flux en lecture. Si le mode est w, ouverture du flux en écriture.

Valeurs de retour

Retourne une ressource de flux en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec PDO::pgsqlLOBOpen()

Suivant l'exemple de PDO::pgsqlLOBCreate(), cet partie de code récupère l'objet large de la base de données et l'affiche au navigateur.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
fpassthru($lob);
?>

Voir aussi

  • PDO::pgsqlLOBCreate() - Crée un nouvel objet large
  • PDO::pgsqlLOBUnlink() - Supprime un objet large
  • pg_lo_open() - Ouvre un objet de grande taille PostgreSQL

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)


Supprime un objet large

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBUnlink — Supprime un objet large

Description

bool PDO::pgsqlLOBUnlink ( string $oid )

Supprime un large objet de la base de données identifié par le OID.

Note: Cette fonction doit être appelée à l'intérieur d'une transaction.

Liste de paramètres

oid

Un identifiant d'objet large

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec PDO::pgsqlLOBUnlink()

Cet exemple supprime l'objet large de la base de données avant de supprimer la ligne qui le référence de la table binaire que nous avons utilisé dans nos exemples de PDO::pgsqlLOBCreate() et PDO::pgsqlLOBOpen().

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

Voir aussi

  • PDO::pgsqlLOBOpen() - Ouvre un flux existant de large objet
  • PDO::pgsqlLOBCreate() - Crée un nouvel objet large

PDO::pgsqlLOBOpen
SQLite (PDO)
PostgreSQL (PDO)


Fonctions SQLite (PDO_SQLITE)

Introduction

PDO_ODBC est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données SQLite 3.

Dans PHP 5.1, l'extension SQLite fournit aussi le pilote pour les bases de données SQLite 2; bien que ce n'est pas techniquement une partie du pilote de PDO_SQLITE, il se comporte similairement, donc il est documenté a côté de ce pilote. Le pilote SQLite 2 pour PDO est fourni principalement pour rendre plus facile l'importation de l'ancien format SQLite 2 des fichiers de base de données dans une application qui utilisent le pilote SQLite 3 qui est plus rapide et plus efficace. En conséquence, le pilote SQLite 2 n'est pas aussi riche en fonctionnalité que le pilote SQLite 3.

Note: PDO_SQLITE autorise l'utilisation de chaînes en dehors des flux avec PDO::PARAM_LOB.

Sommaire

  • PDO_SQLITE DSN — Connexion aux bases de données SQLite
  • PDO::sqliteCreateAggregate — Référence une fonction définie par l'utilisateur agrégative pour une utilisation dans les requêtes SQL
  • PDO::sqliteCreateFunction — Référence une fonction définie par l'utilisateur pour une utilisation dans les requêtes SQL
PDO::pgsqlLOBUnlink
PDO_SQLITE DSN
Pilotes PDO


Connexion aux bases de données SQLite

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)
PHP Manual

PDO_SQLITE DSN

(PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSN — Connexion aux bases de données SQLite

Description

Le Data Source Name (DSN) de PDO_SQLITE est composé des éléments suivants :

Préfixe DSN (SQLite 3)

Le préfixe DSN est sqlite:.

  • Pour accéder à une base de données sur le disque, ajoutez le chemin absolu au préfixe DSN.

  • Pour créer une base de données en mémoire, ajouter :memory: au préfixe DSN.

Préfixe DSN (SQLite 2)

L'extension SQLite dans PHP 5.1 fournit un pilote PDO qui supporte l'accès et la création de bases de données pour SQLite 2. Ceci vous permet d'accéder aux bases de données que vous avez créées avec l'extension SQLite dans une version antérieure de PHP.

Note: Le pilote sqlite2 n'est disponible que dans PHP 5.1.x si vous avez activé PDO et ext/sqlite. Il n'est actuellement pas disponible à partir de PECL.

Le préfixe DSN pour se connecter aux bases de données SQLite 2 est sqlite2:.

  • Pour accéder à une base de données sur le disque, ajoutez le chemin absolu au préfixe DSN.

  • Pour créer une base de données en mémoire, ajouter :memory: au préfixe DSN.

Exemples

Exemple #1 Exemples avec PDO_SQLITE DSN

Les exemples suivant montrent PDO_SQLITE DSN pour se connecter aux bases de données SQLite :

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite2:/opt/databases/mydb.sq2
sqlite2::memory:

SQLite (PDO)
PDO::sqliteCreateAggregate
SQLite (PDO)


Référence une fonction définie par l'utilisateur agrégative pour une utilisation dans les requêtes SQL

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)
PHP Manual

PDO::sqliteCreateAggregate

(PHP 5 >= 5.1.0, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateAggregate — Référence une fonction définie par l'utilisateur agrégative pour une utilisation dans les requêtes SQL

Description

PDO
bool sqliteCreateAggregate ( string $function_name , callback $step_func , callback $finalize_func [, int $num_args ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cette méthode est similaire à PDO::sqliteCreateFunction à l'exception qu'elle référence les fonctions qui peuvent être utilisées pour calculer un résultat agrégé à travers toutes les lignes d'une requête.

La différence entre cette méthode et PDO::sqliteCreateFunction est que deux fonctions sont requises pour gérer les agrégation.

Liste de paramètres

function_name

Le nom de la fonction utilisée dans les requêtes SQL.

step_func

Fonction de rappel appelée pour chaque ligne dans le jeu de résultats. Votre fonction PHP devrait accumuler le résultat et stocker son contexte d'agrégation.

Cette fonction doit être définie comme :

step ( mixed $context , int $rownumber , mixed $value1 [, mixed $value2 [, mixed $.. ]] )

context vaudra NULL pour la première ligne; pour les lignes suivantes, il vaudra la même valeur que celle précédemment retournée par la fonction step; vous devriez l'utiliser pour maintenir l'état d'agrégation.

rownumber contiendra le nombre de lignes.

finalize_func

Fonction de rappel pour agréger les "étapes" de données de chaque ligne. Une fois que toutes les lignes ont été traitées, la fonction sera appelée, prendra les données du contexte d'agrégation et retournera le résultat. La fonction de rappel retournera une type compris par SQLite (c'est-à-dire un type scalaire).

Cette fonction doit être définie comme :

fini ( mixed $context , int $rownumber )

context contiendra la valeur de retour du tout dernier appel à la fonction step.

rownumber contiendra le nombre de lignes sur lesquelles l'agrégation a eu lieu.

La valeur de retour de cette fonction sera utilisée comme valeur de retour pour l'agrégation.

num_args

Conseil à l'analyseur SQLite si la fonction de rappel accepte un nombre prédéterminé d'arguments.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple d'agrégation avec une fonction max_length

<?php
$data = array(
   'un',
   'deux',
   'trois',
   'quatre',
   'cinq',
   'six',
   'sept',
   'huit',
   'neuf',
   'dix',
   );
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step(&$context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
    return $context;
}

function max_len_finalize(&$context, $rownumber)
{
    return $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

Dans cet exemple, on crée une fonction agrégative qui va calculer la longueur de la plus grande chaîne de caractères dans une des colonnes de la table. Pour chaque ligne, la fonction max_len_step est appelée et le paramètre context est passé. Le paramètre de contexte est comme n'importe quelle autre variable PHP et doit être fixé pour contenir un tableau ou même, un objet. Dans cet exemple, nous l'utilisons pour contenir la taille maximale que nous avons vu jusqu'à présent ; si le paramètre string a une grandeur plus importante que celle courante, on met à jour le contexte pour contenir cette nouvelle taille maximale.

Une fois que toutes les lignes ont été traitées, SQLite appelle la fonction max_len_finalize pour déterminer le résultat agrégatif. Ici, nous pourrions effectuer des calculs basés sur les données trouvées dans context. Dans notre exemple simple, nous avons calculé le résultat comme si la requête progressait, alors que nous avons simplement besoin de retourner la valeur de contexte.

Astuce

Il n'est PAS recommandé d'enregistrer une copie des valeurs dans le contexte pour finalement les traiter. Dans ce cas, SQLite utiliserait beaucoup trop de mémoire pour traiter la requête - imaginez la quantité de mémoire nécessaire si un million de lignes étaient enregistrées en mémoire, sachant que chaque ligne contient une chaîne de caractères (32 octets par chaîne).

Astuce

Vous pouvez utiliser PDO::sqliteCreateFunction et PDO::sqliteCreateAggregate pour surcharger les fonctions natives de SQLite.

Note: Cette méthode n'est pas disponible avec les pilotes de SQLite2. Utilisez l'ancien style de l'API sqlite à la place.

Voir aussi

  • PDO::sqliteCreateFunction
  • sqlite_create_function() - Enregistre une fonction utilisateur "classique" UDF pour SQLite
  • sqlite_create_aggregate() - Enregistre une UDF agrégeante pour les requêtes SQLite

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)


Référence une fonction définie par l'utilisateur pour une utilisation dans les requêtes SQL

PDO::sqliteCreateAggregate
4D (PDO)
SQLite (PDO)
PHP Manual

PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Référence une fonction définie par l'utilisateur pour une utilisation dans les requêtes SQL

Description

PDO
bool sqliteCreateFunction ( string $function_name , callback $callback [, int $num_args ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cette méthode vous permet de référencer une fonction PHP avec SQLite comme étant un UDF (User Defined Function), de telle façon qu'elle puisse être appelée à l'intérieur de vos requêtes SQL.

Un UDF peut être utilisé dans n'importe quelle requête SQL qui peut appeler des fonctions, par exemple les requêtes SELECT et UPDATE mais aussi dans les marqueurs.

Liste de paramètres

function_name

Le nom de la fonction utilisé dans les requêtes SQL.

callback

Fonction de rappel pour manipuler la fonction SQL définie.

Note: Les fonctions de rappel devraient retourner un type connu par SQLite (c'est-à-dire type scalaire).

num_args

Conseil à l'analyseur SQLite si la fonction de rappel accepte un nombre prédéterminé d'arguments.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec PDO::sqliteCreateFunction()

<?php
function md5_et_renverse($string)
{
    return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_et_renverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

Dans cet exemple, nous avons une fonction qui calcule la somme MD5 de la chaîne de caractères et la renverse ensuite. Lorsque la requête SQL s'exécute, elle retourne la valeur du nom du fichier transformée par notre fonction. Les données retournées dans $rows contiennent le résultat traité.

La beauté de cette technique est que vous n'avez pas à traiter le résultat en utilisant une boucle foreach après que vous ayez récupéré les données.

Astuce

Vous pouvez utiliser PDO::sqliteCreateFunction et PDO::sqliteCreateAggregate pour surcharger les fonctions natives de SQL.

Note: Cette méthode n'est pas disponible avec les pilotes de SQLite2. Utilisez l'ancien style de l'API sqlite à la place.

Voir aussi

  • PDO::sqliteCreateAggregate
  • sqlite_create_function() - Enregistre une fonction utilisateur "classique" UDF pour SQLite
  • sqlite_create_aggregate() - Enregistre une UDF agrégeante pour les requêtes SQLite

PDO::sqliteCreateAggregate
4D (PDO)
SQLite (PDO)


4D (PDO)

Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

PDO_4D est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données 4D.

4D est une plate-forme intégrée de développement accélérant et simplifiant le développement et le déploiement d'applications métier, exploitée dans plus de 70 pays par une communauté de plusieurs milliers de développeurs et fournisseurs de solutions verticales, et utilisée par des millions d'utilisateurs finaux à travers le monde.

En proposant un ensemble d'outils intégrés tels qu'une base de données ANSI SQL relationnelle et transactionnelle, un environnement de développement graphique, un langage de quatrième génération comptant plus de 1000 commandes de haut niveau, un serveur HTTP, un serveur d'applications etc... 4D facilite la génération et la maintenance d'applications pour un à plusieurs centaines d'utilisateurs simultanés sous Windows, Mac ou depuis tout client Web.

4D est également une plate-forme ouverte qui offre une API complète permettant la création de plug-ins additionnels ainsi que des connecteurs variés lui permettant d'agir comme back-end ou front-end de nombreux environnements (Oracle via OCI, Serveur ou Client SOAP, source de données Flex, toutes bases ODBC, XML over HTTP, etc...).

Outre la possibilité d'interagir avec les applications 4D à travers leurs Web Services, leur base de données est désormais directement accessible avec le pilote PDO_4D.

Plus de détails sur l'environnement 4D sur » http://www.4d.com/.

Il est recommandé de l'utiliser avec les serveurs 4D versions 12 beta et plus récentes, pour Mac OS X et Windows. Les versions plus anciennes peuvent fonctionner avec, mais ne sont pas supportées.

Sommaire

  • PDO_4D DSN — Connexion aux bases de données 4D
  • Constantes pour PDO_4D — Constantes pour PDO_4D
  • Types SQL en PDO_4D et PHP — Types SQL en PDO_4D et PHP
  • Indications sur le SQL supporté par 4D — PDO et SQL 4D
  • Exemples PDO_4D — Exemples PDO_4D
PDO::sqliteCreateFunction
PDO_4D DSN
Pilotes PDO


Connexion aux bases de données 4D

4D (PDO)
Constantes pour PDO_4D
4D (PDO)
PHP Manual

PDO_4D DSN

(No version information available, might only be in SVN)

PDO_4D DSN — Connexion aux bases de données 4D

Description

Le Data Source Name (DSN) de PDO_4D est composé des éléments suivants :

Préfixe DSN

Le préfixe DSN est 4D:.

host

L'hôte sur lequel le serveur de base de données se situe.

port

Le numéro de port où le serveur de base de données est en train d'écouter. Ce paramètre est optionnel.

user

Le nom d'utilisateur pour se connecter à la base 4D.

password

Le mot de passe associé à l'utilisateur pour se connecter à la base 4D.

dbname

Le nom de la base de données. Ce paramètre est optionnel, et n'est pas utilisé.

charset

Le jeu de caractères utilisé par 4D.

Exemples

Exemple #1 Exemples de DSN pour PDO_4D

L'exemple suivant montre un DSN PDO_4D pour se connecter aux bases de données 4D :

4D:host=localhost;charset=UTF-8
Autres exemples possibles :
4D:host=localhost
4D:

4D (PDO)
Constantes pour PDO_4D
4D (PDO)


Constantes pour PDO_4D

(No version information available, might only be in SVN)

Constantes pour PDO_4D — Constantes pour PDO_4D

Constantes pré-définies

Les constantes ci-dessous sont définies par ce pilote et seront seulement disponibles lorsque l'extension aura été compilée dans PHP ou chargée dynamiquement du moteur d'exécution. De plus, ces constantes spécifiques au pilote devraient être utilisées seulement si vous utilisez ce pilote. En utilisant les attributs spécifiques à un pilote avec un autre pilote pourrait causer un comportement inattendu. PDO::getAttribute() pourrait être utilisé pour obtenir l'attribut PDO_ATTR_DRIVER_NAME pour vérifier le pilote, si votre code peut fonctionner sur des pilotes multiples.

PDO::FOURD_ATTR_CHARSET (entier)

Modifie le jeu de caractère dans lequel 4D retourne les résultats. (Par défaut, UTF-8). Cette constante supporte les mêmes constantes que celle de l'extension mbstring.

PDO::FOURD_ATTR_PREFERRED_IMAGE_TYPES (entier)

Le type d'image retourné par 4D, lorsqu'on sélectionne une colonne de type image.

PDO_4D DSN
Types SQL en PDO_4D et PHP
4D (PDO)


Types SQL en PDO_4D et PHP

(No version information available, might only be in SVN)

Types SQL en PDO_4D et PHP — Types SQL en PDO_4D et PHP

Liste des types SQL supportés par 4D
Type SQL 4D | Équivalent 4D | Note
ALPHA_NUMERIC | TEXT |
VARCHAR | TEXT |
TEXT | TEXT |
TIMESTAMP | DATE |
INTERVAL | HOUR |
DURATION | HOUR |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
BYTE | INT32 |
INT16 | SMALLINT |
SMALLINT | SMALLINT |
INT32 | INT32 |
INT | INT32 |
INT64 | INT64 |
NUMERIC | INT64 |
REAL | REAL | Non supporté (utilisez la conversion en VARCHAR)
FLOAT | FLOAT | Non supporté (utilisez la conversion en VARCHAR)
DOUBLE PRECISION | FLOAT | Non supporté (utiliser la conversion en VARCHAR)
BLOB | BLOB | Doit passer par une commande préparée, et PDO::PARAM_LOB
BIT VARYING | BLOB | Doit passer par une commande préparée, et PDO::PARAM_LOB
CLOB | TEXT |
PICTURE | PICTURE | Doit passer par une commande préparée, et PDO::PARAM_LOB

Constantes pour PDO_4D
Indications sur le SQL supporté par 4D
4D (PDO)


PDO et SQL 4D

Types SQL en PDO_4D et PHP
Exemples PDO_4D
4D (PDO)
PHP Manual

Indications sur le SQL supporté par 4D

(No version information available, might only be in SVN)

Indications sur le SQL supporté par 4D — PDO et SQL 4D

Description

4D implémente le standard ANSI 89 strict, et le fait respecter. Il est recommandé de bien lire la documentation 4D sur les commandes disponibles, dans la documentation à l'adresse suivante : » http://doc.4d.com/. La liste des particularités de 4D ci-dessous est une introduction, et ne saurait être exhaustive.

Liste des caractéristiques SQL de 4D
Caractéristique | Solution | Note
INTEGER | Modifier la requête de création de la table. | INT est le type officiellement supporté.
CHAR | Utilisez VARCHAR à la place. | Non supporté en 4D v12.0
UNION | Faire plusieurs requêtes séparées. | Non supporté en 4D v12.0
SELECT 1 + 1; | SELECT 1 + 1 FROM _USER_SCHEMAS; | FROM est toujours obligatoire.
REAL, FLOAT | Transtyper le FLOAT en FLOAT ou en STRING avec la fonction SQL 4D (CAST, ROUND, TRUNC ou TRUNCATE) | Non supporté dans les versions courantes du pilote PDO_4D
Typage fort | Réécrivez votre requête SQL, ou bien ajouter du code PHP pour gérer les données dans les types attendus. | Il faut utiliser le type exact que 4D attend. On ne peut pas insérer '1' (la chaîne), dans une colonne entière.
PDO::execute($row)() | Utiliser les commandes préparées, et spécifier les bons types. | L'extension PDO fait passer toutes les données comme des chaînes, et présume que la base assure le transtypage.
SELECT NULL FROM TABLE | N'utilisez pas de constantes NULL. Extrayez les des tables. | Il n'est pas autorisé d'utiliser la constante NULL dans la liste sélectionnée.
SELECT * FROM TABLE WHERE 1 | Utilisez 1 = 1 | Une constante ne peut pas être utilisée dans la clause WHERE.
SHOW TABLES | Utilisez les tables système. | Utilisez les tables _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER_CONS_COLUMNS et _USER_SCHEMAS.
Délimiteur de structures SQL | Utilisez la fonction de protection suivante sur les noms d'objets SQL : function sqlEscapeElement(elem) { return '[' . str_replace(']',']]', $elem) . ']'; } | Pour la protection des noms d'objets SQL (tables, champs, utilisateurs, groupe, schéma, clé primaire, etc.. ) il faut doubler les crochets fermants et mettre tout l'identifiant entre crochets.

Types SQL en PDO_4D et PHP
Exemples PDO_4D
4D (PDO)


Exemples PDO_4D

(No version information available, might only be in SVN)

Exemples PDO_4D — Exemples PDO_4D

Ce premier exemple montre comment se connecter, exécuter une requête SQL, lire les informations obtenues et se déconnecter d'une base de données 4D.

Exemple #1 Exemple de présentation de l'extension PDO_4D

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connexion au serveur 4D
$db = new PDO($dsn, $user, $pass);

try {
    $db->exec('CREATE TABLE test(id varCHAR(1) NOT NULL, val VARCHAR(10))');
} catch (PDOException $e) {
    die("Erreur 4D : " . $e->getMessage());
}

$db->exec("INSERT INTO test VALUES('A', 'A')");
$db->exec("INSERT INTO test VALUES('B', 'A')");
$db->exec("INSERT INTO test VALUES('C', 'C')");

$stmt = $db->prepare('SELECT id, val from test');

$stmt->execute();
print_r($stmt->fetchAll());

unset($stmt);
unset($db);
?>

L'exemple ci-dessus va afficher :

    Array
(
    [0] => Array
        (
            [ID] => A
            [0] => A
            [VAL] => B
            [1] => B
        )

    [1] => Array
        (
            [ID] => C
            [0] => C
            [VAL] => D
            [1] => D
        )

    [2] => Array
        (
            [ID] => E
            [0] => E
            [VAL] => F
            [1] => F
        )

)

Ce deuxième exemple montre comment exécuter une commande en langage 4D, et obtenir le résultat en PDO_4D.

Exemple #2 Exemple d'exécution de langage 4D depuis pdo_4d

Créer une méthode 4D, de nom method. Dans les propriétés de la méthode, assurez-vous que l'option Disponible via SQL est active. Le code de la méthode est disponible ci-dessous.

C_TEXTE($0)
$0:=Version application(*);

Le code PHP pour accéder à cette méthode 4D est le suivant :

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connexion et sélection de la base
$db = new PDO($dsn, $user, $pass);

$stmt = $db->prepare('SELECT {FN method() AS VARCHAR } FROM _USER_SCHEMAS LIMIT 1');

$stmt->execute();
print_r($stmt->fetchAll());

unset($stmt);
unset($db);
?>

L'exemple ci-dessus va afficher :

(
    [0] => Array
        (
            [<expression>] => F0011140
            [0] => F0011140
        )

)

Exemple #3 Protection des noms de tables spéciaux

Cet exemple montre comment protéger un nom de table ou de colonnes avec les crochets de 4D.

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connexion au serveur 4D
$db = new PDO($dsn, $user, $pass);

$objets = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23');

foreach($objets as $id => $objet) {
    $objet = str_replace(']',']]', $objet);
    print "$objet\n";

    $db->exec('CREATE TABLE IF NOT EXISTS ['.$objet.'](['.$objet.'] FLOAT)');

    $req = "INSERT INTO [$objet] ([$objet]) VALUES ($id);";
    $db->query($req);

    $q = $db->prepare("SELECT [$objet] FROM [$objet]");
    $q->execute();
    $x[] = $q->fetch(PDO::FETCH_NUM);

    $db->exec('DROP TABLE ['.$objet.'];');
}

?>

L'exemple ci-dessus va afficher :

[
]]
[]]
]][
[[
]]]]
[[[
]]]]]]
TBL ]]]]32[23

Indications sur le SQL supporté par 4D
Extensions spécifiques des fabricants de bases de données
4D (PDO)


Extensions spécifiques des fabricants de bases de données

  • dBase
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • dBase Fonctions
  • DB++
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions DB++
  • FrontBase
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • FrontBase Fonctions
  • filePro
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions filePro
  • Firebird/InterBase
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Firebird/InterBase
  • Informix
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Informix
  • IBM DB2 — Fonctions IBM DB2, Cloudscape et Apache Derby
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions IBM DB2
  • Ingres — Ingres DBMS, EDBC, et Enterprise Access
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Ingres
  • MaxDB
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions MaxDB
  • Mongo — Base de données Mongo
    • Introduction
    • Manuel
    • Classes internes
    • Les types
    • Classes GridFS
    • Fonctions
    • Exceptions
  • mSQL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions mSQL
  • Mssql — Serveur MS SQL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Mssql
  • MySQL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions MySQL
  • mysqli — Extension mysqli
    • Introduction
    • Introduction
    • Installation/Configuration
    • L'extension mysqli et les connexions persistantes
    • Constantes pré-définies
    • Sommaire des fonctions de l'extension MySQLi
    • MySQLi — La classe MySQLi
    • MySQLi_STMT — La classe MySQLi_STMT
    • MySQLi_Result — La classe MySQLi_Result
    • MySQLi_Driver — La classe MySQLi_Driver
    • MySQLi_Warning — La classe MySQLi_Warning
    • Fonctions mysqli obsolètes et alias
  • Mysqlnd — Le pilote natif MySQL
    • Introduction
    • Introduction
    • Installation
    • Configuration à l'exécution
    • Les connexions persistantes
    • Statistiques
    • Notes
  • OCI8 — Oracle OCI8
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Gestion de la connexion
    • Types de données supportées par le driver
    • Fonctions OCI8
    • Fonctions et alias OCI8 obsolètes
  • SQL Ovrimos
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Ovrimos SQL
  • Paradox
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Paradox
  • PostgreSQL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions PostgreSQL
  • SQLite
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions SQLite
  • SQLite3
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • SQLite3 — La classe SQLite3
    • SQLite3Stmt — La classe SQLite3Stmt
    • SQLite3Result — La classe SQLite3Result
  • Sybase
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Sybase
  • tokyo_tyrant
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantQuery — The TokyoTyrantQuery class
Exemples PDO_4D
dBase
Extensions sur les bases de données


dBase

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • dBase Fonctions
    • dbase_add_record — Ajoute un enregistrement dans une base dBase
    • dbase_close — Ferme une base dBase
    • dbase_create — Crée une base de données dBase
    • dbase_delete_record — Efface un enregistrement dans une base dBase
    • dbase_get_header_info — Récupère des informations d'en-tête d'une base de données dBase
    • dbase_get_record_with_names — Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif
    • dbase_get_record — Lit un enregistrement dans une base dBase
    • dbase_numfields — Compte le nombre de champs d'une base dBase
    • dbase_numrecords — Compte le nombre d'enregistrements dans une base dBase
    • dbase_open — Ouvre une base dBase
    • dbase_pack — Compacte une base dBase
    • dbase_replace_record — Remplace un enregistrement dans une base dBase
Extensions spécifiques des fabricants de bases de données
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions permettent d'accéder aux enregistrements des bases de données au format dBase (dbf).

Les fichiers dBase sont de simples fichiers séquentiels, d'un nombre d'enregistrements fixe. Les enregistrements sont ajoutés à la fin du fichier et les enregistrements effacés sont conservés tant que vous n'appelez pas la fonction dbase_pack().

Les types de champs dBase disponibles sont :

Type de champs disponible
Champ | Type dBase | Format | Informations complémentaires
M | Memo | n/a | Ce type n'est pas supporté par PHP, et sera ignoré
D | Date | YYYYMMDD | La taille du champ est limitée à 8
N | Number | Un nombre | Vous devez déclarer une taille et une précision (le nombre de chiffres après le point décimal)
C | chaîne de caractères | Une chaîne de caractères | Vous devez déclarer une taille. Lors de la récupération des données, la chaîne sera complétée d'espace afin d'atteindre la taille déclarée.
L | booléen | T ou Y pour TRUE, F ou N pour FALSE | Stocké et retourné sous la forme d'un entier (1 ou 0)
F | Float | Un nombre à virgule flottante | Le support de ce type de champ a été ajouté en PHP 5.2.0

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0.

Avertissement

Il n'y pas aucun support des index ou des champs memo. Il n'y pas non plus de support des verrous. Ainsi, si 2 processus accèdent en même temps au même fichier dBase, ce dernier risque d'être corrompu.

Nous vous recommandons de ne pas utiliser les fichiers dBase comme base de données, en production. Optez plutôt pour un vrai serveur SQL à la place ; » MySQL ou » PostgreSQL sont des choix commun en PHP. Le support dBase est présent en PHP uniquement pour vous permettre d'importer et d'exporter des données depuis et vers votre base de données, car ce format de fichier est habituellement compris par les tableurs Windows.

dBase
Installation/Configuration
dBase


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
dBase


Installation

Pour activer la bibliothèque dBase fournie avec PHP, vous devez compiler PHP avec l'option --enable-dbase.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
dBase Fonctions
dBase


dBase Fonctions

Exemples

La plupart des exemples dans cette documentation nécessitent une base de données dBase. Nous utiliserons /tmp/test.dbf qui est créée dans l'exemple de la fonction dbase_create().

Sommaire

  • dbase_add_record — Ajoute un enregistrement dans une base dBase
  • dbase_close — Ferme une base dBase
  • dbase_create — Crée une base de données dBase
  • dbase_delete_record — Efface un enregistrement dans une base dBase
  • dbase_get_header_info — Récupère des informations d'en-tête d'une base de données dBase
  • dbase_get_record_with_names — Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif
  • dbase_get_record — Lit un enregistrement dans une base dBase
  • dbase_numfields — Compte le nombre de champs d'une base dBase
  • dbase_numrecords — Compte le nombre d'enregistrements dans une base dBase
  • dbase_open — Ouvre une base dBase
  • dbase_pack — Compacte une base dBase
  • dbase_replace_record — Remplace un enregistrement dans une base dBase
Constantes pré-définies
dbase_add_record
dBase


Ajoute un enregistrement dans une base dBase

dBase Fonctions
dbase_close
dBase Fonctions
PHP Manual

dbase_add_record

(PHP 4, PHP 5)

dbase_add_record — Ajoute un enregistrement dans une base dBase

Description

bool dbase_add_record ( int $dbase_identifier , array $record )

dbase_add_record() ajoute les données fournies dans la base de données dBase spécifiée.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

record

Un tableau de données indexé. Le nombre d'éléments doit être égal au nombre de champs dans la base de données, sinon dbase_add_record() échouera.

Note: Si vous utilisez dbase_get_record() pour retourner une valeur pour ce paramètre, n'oubliez pas de réinitialiser la clé nommée deleted.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Insertion d'un enregistrement dans une base de données dBase

<?php

// Ouverture en mode lecture-écriture
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
    date('Ymd'),
    'Maxim Topolov',
    '23',
    'max@example.com',
    'T'));
  dbase_close($db);
}

?>

Voir aussi

  • dbase_delete_record() - Efface un enregistrement dans une base dBase
  • dbase_replace_record() - Remplace un enregistrement dans une base dBase

dBase Fonctions
dbase_close
dBase Fonctions


Ferme une base dBase

dbase_add_record
dbase_create
dBase Fonctions
PHP Manual

dbase_close

(PHP 4, PHP 5)

dbase_close — Ferme une base dBase

Description

bool dbase_close ( int $dbase_identifier )

dbase_close() ferme la base associée à dbase_identifier.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ferme un fichier de base de données dBase

<?php

// Ouverture en mode lecture-écriture
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
// Lecture des données ..

dbase_close($db);
}

?>

Voir aussi

  • dbase_open() - Ouvre une base dBase
  • dbase_create() - Crée une base de données dBase

dbase_add_record
dbase_create
dBase Fonctions


Crée une base de données dBase

dbase_close
dbase_delete_record
dBase Fonctions
PHP Manual

dbase_create

(PHP 4, PHP 5)

dbase_create — Crée une base de données dBase

Description

int dbase_create ( string $filename , array $fields )

dbase_create() crée une base de données dBase dans le fichier filename, et avec les champs fields.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Note: Cette fonction est affectée par la directive de configuration open_basedir.

Liste de paramètres

filename

Le nom de la base de données. Il peut être un chemin relatif ou absolu vers le fichier où dBase stockera vos données.

fields

Un tableau de tableaux, chaque tableau décrit le format d'un champ de la base de données. Chaque champ est constitué d'un nom, d'un caractère indiquant le type du champ et optionnellement, une longueur et une précision.

Note: Les noms des champs sont limités en longueur et ne doivent pas excéder 10 caractères.

Valeurs de retour

Retourne un identifiant de lien à la base de données si la base de données a été créée avec succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'un fichier de base de données dBase

<?php

// Base de données "definition"
$def = array(
  array("date",     "D"),
  array("name",     "C",  50),
  array("age",      "N",   3, 0),
  array("email",    "C", 128),
  array("ismember", "L")
);

// Création
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Erreur, impossible de créer la base de données\n";
}

?>

Voir aussi

  • dbase_open() - Ouvre une base dBase
  • dbase_close() - Ferme une base dBase

dbase_close
dbase_delete_record
dBase Fonctions


Efface un enregistrement dans une base dBase

dbase_create
dbase_get_header_info
dBase Fonctions
PHP Manual

dbase_delete_record

(PHP 4, PHP 5)

dbase_delete_record — Efface un enregistrement dans une base dBase

Description

bool dbase_delete_record ( int $dbase_identifier , int $record_number )

dbase_delete_record() marque l'enregistrement record pour l'effacement, dans la base dbase_identifier.

Note: Pour effacer réellement l'enregistrement de la base de données, vous devez appeler la fonction dbase_pack().

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

record_number

Un entier compris entre 1 et le nombre maximal d'enregistrements dans la base de données (tel que retourné par la fonction dbase_numrecords()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • dbase_add_record() - Ajoute un enregistrement dans une base dBase
  • dbase_replace_record() - Remplace un enregistrement dans une base dBase

dbase_create
dbase_get_header_info
dBase Fonctions


Récupère des informations d'en-tête d'une base de données dBase

dbase_delete_record
dbase_get_record_with_names
dBase Fonctions
PHP Manual

dbase_get_header_info

(PHP 5)

dbase_get_header_info — Récupère des informations d'en-tête d'une base de données dBase

Description

array dbase_get_header_info ( int $dbase_identifier )

dbase_get_header_info() retourne des informations sur la structure des colonnes de la base de données référencée par dbase_identifier.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

Valeurs de retour

Un tableau indexé avec une entrée pour chaque colonne de la base de données. Le tableau indexé commence à 0.

Chaque élément du tableau contient un tableau associatif contenant les informations sur les colonnes, comme décrit ici :

name
Le nom de la colonne
type
Le nom lisible du type de la colonne (i.e. date, boolean, etc.)
length
Le nombre d'octets que cette colonne peut contenir
precision
Le nombre de décimales pour la colonne
format
Un format printf() suggéré pour la colonne
offset
La position de la colonne depuis la début de la ligne

Si les informations d'en-têtes de la base de données ne peuvent pas être lues, FALSE est retourné.

Exemples

Exemple #1 Affiche les informations d'en-têtes pour un fichier de base de données dBase

<?php
// Chemin vers le fichier dBase
$db_path = "/tmp/test.dbf";

// Ouvre le fichier dBase
$dbh = dbase_open($db_path, 0)
or die("Erreur ! Impossible d'ouvrir le fichier dBase '$db_path'.");

// Récupération des informations des colonnes
$column_info = dbase_get_header_info($dbh);

// Affichage des informations
print_r($column_info);
?>

dbase_delete_record
dbase_get_record_with_names
dBase Fonctions


Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif

dbase_get_header_info
dbase_get_record
dBase Fonctions
PHP Manual

dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names — Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif

Description

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

dbase_identifier retourne les données de l'enregistrement record dans un tableau associatif.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

record_number

L'index de l'enregistrement.

Valeurs de retour

Un tableau associatif avec l'enregistrement. Ceci inclut également une clé nommée deleted qui est définie à 1 si l'enregistrement a été marqué pour effacement (voir dbase_delete_record()).

Chaque champ est converti en un type PHP approprié, excepté :

  • Les dates sont laissées en tant que chaînes de caractères.
  • Les entiers qui peuvent causés un dépassement de mémoire tampon (> 32 bits) sont retournés sous forme de chaînes de caractères.

En cas d'erreur, dbase_get_record_with_names() retourne FALSE.

Exemples

Exemple #1 Liste de tous les membres enregistrés dans la base de données

<?php
// Ouverture en mode lecture seul
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
    $row = dbase_get_record_with_names($db, $i);
    if ($row['ismember'] == 1) {
      echo "Membre #$i: " . trim($row['name']) . "\n";
    }
  }
}
?>

Voir aussi

  • dbase_get_record() - Lit un enregistrement dans une base dBase

dbase_get_header_info
dbase_get_record
dBase Fonctions


Lit un enregistrement dans une base dBase

dbase_get_record_with_names
dbase_numfields
dBase Fonctions
PHP Manual

dbase_get_record

(PHP 4, PHP 5)

dbase_get_record — Lit un enregistrement dans une base dBase

Description

array dbase_get_record ( int $dbase_identifier , int $record_number )

dbase_get_record() retourne les données de l'enregistrement record dans un tableau.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

record_number

L'index de l'enregistrement.

Valeurs de retour

Un tableau indexé avec l'enregistrement. Ce tableau inclut également une clé associée nommée deleted qui est définie à 1 si l'enregistrement a été marqué pour effacement (voir dbase_delete_record()).

Chaque champ est converti en un type PHP approprié, excepté :

  • Les dates sont laissées en tant que chaîne de caractères.
  • Les entiers qui peuvent causés un dépassement de mémoire tampon (> 32 bits) sont retournés sous forme de chaînes de caractères.

En cas d'erreur, dbase_get_record() retourne FALSE.

Voir aussi

  • dbase_get_record_with_names() - Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif

dbase_get_record_with_names
dbase_numfields
dBase Fonctions


Compte le nombre de champs d'une base dBase

dbase_get_record
dbase_numrecords
dBase Fonctions
PHP Manual

dbase_numfields

(PHP 4, PHP 5)

dbase_numfields — Compte le nombre de champs d'une base dBase

Description

int dbase_numfields ( int $dbase_identifier )

dbase_numfields() retourne le nombre de champs (colonnes) de la base de données dbase_identifier.

Note: Les numéros de champs sont numérotés de 0 à dbase_numfields($db)-1, tandis que les numéros d'enregistrements sont numérotés de 1 à dbase_numrecords($db).

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

Valeurs de retour

Le nombre de champs de la base de données, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec dbase_numfields()

<?php

$rec = dbase_get_record($db, $recno);
$nf  = dbase_numfields($db);
for ($i = 0; $i < $nf; $i++) {
  echo $rec[$i], "\n";
}

?>

Voir aussi

  • dbase_numrecords() - Compte le nombre d'enregistrements dans une base dBase

dbase_get_record
dbase_numrecords
dBase Fonctions


Compte le nombre d'enregistrements dans une base dBase

dbase_numfields
dbase_open
dBase Fonctions
PHP Manual

dbase_numrecords

(PHP 4, PHP 5)

dbase_numrecords — Compte le nombre d'enregistrements dans une base dBase

Description

int dbase_numrecords ( int $dbase_identifier )

dbase_numrecords() retourne le nombre d'enregistrements (lignes) dans la base dbase_identifier.

Note: Les numéros de champ sont numérotés de 0 à dbase_numfields($db)-1, tandis que les numéros d'enregistrements sont numérotés de 1 à dbase_numrecords($db).

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

Valeurs de retour

Le nombre d'enregistrements dans la base de données ou FALSE si une erreur survient.

Exemples

Exemple #1 Lecture de tous les enregistrements de la base de données

<?php

// Ouverture en mode lecture seul
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++) {
  // Faites quelque chose ici, pour chaque enregistrement
}
}

?>

Voir aussi

  • dbase_numfields() - Compte le nombre de champs d'une base dBase

dbase_numfields
dbase_open
dBase Fonctions


Ouvre une base dBase

dbase_numrecords
dbase_pack
dBase Fonctions
PHP Manual

dbase_open

(PHP 4, PHP 5)

dbase_open — Ouvre une base dBase

Description

int dbase_open ( string $filename , int $mode )

dbase_open() ouvre une base de données dBase avec un mode d'accès donné.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Note: Cette fonction est affectée par la directive de configuration open_basedir.

Liste de paramètres

filename

Le nom de la base de données. Il peut être un chemin relatif ou absolu vers le fichier où dBase stockera vos données.

mode

Un entier correspondant à celui utilisé pour l'appel système open() (Typiquement, 0 signifie lecture seule, 1 signifie écriture seule, et 2 signifie lecture et écriture).

Note: Vous ne pouvez pas ouvrir un fichier dBase en mode écriture seul, car la fonction échouera lors de la lecture des informations d'en-têtes et donc, vous ne pouvez pas utiliser 1 comme mode.

Exemples

Exemple #1 Ouverture d'un fichier de base de données dBase

<?php

// Ouverture en lecture seul
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
// lecture des données ..

dbase_close($db);
}

?>

Valeurs de retour

Retourne un identifiant de lien à la base de données si la base de données est ouverte avec succès, ou FALSE si une erreur survient.

Voir aussi

  • dbase_create() - Crée une base de données dBase
  • dbase_close() - Ferme une base dBase

dbase_numrecords
dbase_pack
dBase Fonctions


Compacte une base dBase

dbase_open
dbase_replace_record
dBase Fonctions
PHP Manual

dbase_pack

(PHP 4, PHP 5)

dbase_pack — Compacte une base dBase

Description

bool dbase_pack ( int $dbase_identifier )

dbase_pack() compacte la base de données dbase_identifier (effacement définitif de tous les enregistrements marqués pour l'effacement, avec la fonction dbase_delete_record()).

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Vide une base de données dBase

<?php

// Ouverture en mode lecture-écriture
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
    dbase_delete_record($db, $i);
  }
// Compacte la base de données
dbase_pack($db);
}

?>

Voir aussi

  • dbase_delete_record() - Efface un enregistrement dans une base dBase

dbase_open
dbase_replace_record
dBase Fonctions


Remplace un enregistrement dans une base dBase

dbase_pack
DB++
dBase Fonctions
PHP Manual

dbase_replace_record

(PHP 4, PHP 5)

dbase_replace_record — Remplace un enregistrement dans une base dBase

Description

bool dbase_replace_record ( int $dbase_identifier , array $record , int $record_number )

dbase_replace_record() remplace les données associées à l'enregistrement dbase_record_number par les données enregistrées dans record, dans la base dbase_identifier.

Liste de paramètres

dbase_identifier

L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().

record

Un tableau indexé des données. Le nombre d'éléments doit être égal au nombre de champs dans la base de données, sinon dbase_replace_record() échouera.

Note: Si vous utilisez dbase_get_record() pour retourner la valeur de ce paramètre, n'oubliez pas de réinitialiser la clé nommée deleted.

record_number

Un entier entre 1 et le nombre total d'enregistrements dans la base de données (comme retourné par la fonction dbase_numrecords()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Mise à jour d'un enregistrement dans une base de données

<?php

// Ouverture en mode lecture-écriture
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // Récupération de l'ancienne ligne
  $row = dbase_get_record_with_names($db, 1);

  // Supprime l'entrée effacée
  unset($row['deleted']);

  // Mise à jour de la date du champ avec le timestamp courant
  $row['date'] = date('Ymd');

  // Remplace l'enregistrement
  dbase_replace_record($db, $row, 1);
  dbase_close($db);
}

?>

Voir aussi

  • dbase_add_record() - Ajoute un enregistrement dans une base dBase
  • dbase_delete_record() - Efface un enregistrement dans une base dBase

dbase_pack
DB++
dBase Fonctions


DB++

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
    • Codes d'erreurs de DB++
  • Fonctions DB++
    • dbplus_add — Ajoute une ligne à une relation
    • dbplus_aql — Exécute une requête AQL
    • dbplus_chdir — Lit/modifie le chemin courant de base
    • dbplus_close — Ferme une relation
    • dbplus_curr — Lit la ligne courante dans une relation
    • dbplus_errcode — Obtenir un message d'erreur
    • dbplus_errno — Lit le code d'erreur généré par la dernière opération
    • dbplus_find — Ajoute une contrainte sur une relation
    • dbplus_first — Lit la première ligne d'une relation
    • dbplus_flush — Écrit toutes les modifications apportées à une relation
    • dbplus_freealllocks — Libère tous les verrous posés par le client
    • dbplus_freelock — Lève un verrou en écriture sur une ligne
    • dbplus_freerlocks — Lève tous les verrous sur les lignes d'une relation
    • dbplus_getlock — Pose un verrou sur une ligne
    • dbplus_getunique — Retourne un identifiant unique pour une relation
    • dbplus_info — Récupère les informations sur une relation
    • dbplus_last — Lit la dernière ligne d'une relation
    • dbplus_lockrel — Pose un verrou en écriture sur une relation
    • dbplus_next — Lit la ligne suivante dans la relation
    • dbplus_open — Ouvre un fichier de relation
    • dbplus_prev — Lit la ligne précédente dans la relation
    • dbplus_rchperm — Modifie les droits sur la relation
    • dbplus_rcreate — Crée une nouvelle relation DB++
    • dbplus_rcrtexact — Crée une copie exacte mais vide d'une relation
    • dbplus_rcrtlike — Crée une copie vide d'une relation avec les index
    • dbplus_resolve — Résout les informations d'hôte pour une relation
    • dbplus_restorepos — Restaure la position
    • dbplus_rkeys — Spécifie la nouvelle clé primaire d'une relation
    • dbplus_ropen — Ouvre un fichier de relation local
    • dbplus_rquery — Accomplit une requête AQL locale
    • dbplus_rrename — Renomme une relation
    • dbplus_rsecindex — Crée un nouvel index secondaire pour une relation
    • dbplus_runlink — Détruit une relation
    • dbplus_rzap — Supprime toutes les lignes d'une relation
    • dbplus_savepos — Sauvegarde la position
    • dbplus_setindex — Définie l'index
    • dbplus_setindexbynumber — Définie l'index par un nombre
    • dbplus_sql — Exécute une requête SQL
    • dbplus_tcl — Exécute du code TCL côté serveur
    • dbplus_tremove — Supprime la ligne courante et retourne la nouvelle ligne courante
    • dbplus_undo — Annule
    • dbplus_undoprepare — Prépare l'annulation
    • dbplus_unlockrel — Libère un verrou en écriture posé sur une relation
    • dbplus_unselect — Retire une contrainte d'une relation
    • dbplus_update — Modifie une ligne dans une relation
    • dbplus_xlockrel — Pose un verrou exclusif sur une relation
    • dbplus_xunlockrel — Lève un verrou exclusif posé sur une relation
dbase_replace_record
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

db++, conçu par une compagnie allemande » Concept asa, est un système de base de données relationnelles avec de hautes performances et une basse utilisation de la mémoire, et en gardant à l'esprit l'utilisation du disque. En fournissant le SQL comme langage additionnel, db++ n'est pas réellement une base de données SQL, mais fournit son propre langage de requête AQL, qui est plus influencé par l'algèbre relationnel que SQL.

Concept asa a toujours souhaité supporter les langages open source ; db++ a des interfaces Perl et Tcl depuis plusieurs années, et utilise Tcl comme son langage de procédure stockée interne.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

DB++
Installation/Configuration
DB++


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
DB++


Pré-requis

Cette extension utilise des bibliothèques clientes externes ; ainsi, vous devez installé le client db++ sur votre système afin d'y utiliser cette extension.

» Concept asa fournit des versions » de démo de db++ ainsi qu'une » documentation pour Linux et quelques autres Unix. Il y a également une version Windows de db++, mais cette extension ne la supporte pas (encore).

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour compiler cette extension vous-même, vous devez avoir les bibliothèques clients et les fichiers d'en-têtes installés sur le système (ils sont inclus dans la distribution de DB++ par défaut). Exécutez la commande configure avec l'option --with-dbplus pour inclure cette extension dans PHP.

configure recherche les bibliothèques clients et les fichiers d'en-têtes dans les dossiers suivants : /usr/dbplus, /usr/local/dbplus et /opt/dbplus. Si vous avez installé DB++ dans un autre dossier, indiquez le chemin de ce dossier dans l'option de configure comme ceci : --with-dbplus=/votre/dossier/installation.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

dbplus_relation

La plupart des fonctions db++ opèrent ou retournent des ressources dbplus_relation. dbplus_relation est un gestionnaire de relation stockée ou de relation générée, comme résultat d'une requête.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Sommaire

  • Codes d'erreurs de DB++

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Types de ressources
Codes d'erreurs de DB++
DB++


Codes d'erreurs de DB++

Codes d'erreurs de DB++
Constante PHP | Constante DB++ | Description
DBPLUS_ERR_NOERR (entier) | ERR_NOERR | Condition d'erreur Null
DBPLUS_ERR_DUPLICATE (entier) | ERR_DUPLICATE | Tentative d'insertion d'un doublon
DBPLUS_ERR_EOSCAN (entier) | ERR_EOSCAN | Fin de scan rget()
DBPLUS_ERR_EMPTY (entier) | ERR_EMPTY | Relation vide (serveur)
DBPLUS_ERR_CLOSE (entier) | ERR_CLOSE | Le serveur ne peut fermer
DBPLUS_ERR_WLOCKED (entier) | ERR_WLOCKED | La ligne est verrouillée en écriture
DBPLUS_ERR_LOCKED (entier) | ERR_LOCKED | La relation est déjà verrouillée
DBPLUS_ERR_NOLOCK (entier) | ERR_NOLOCK | La relation ne peut être verrouillée
DBPLUS_ERR_READ (entier) | ERR_READ | Erreur de lecture sur la relation
DBPLUS_ERR_WRITE (entier) | ERR_WRITE | Erreur d'écriture sur la relation
DBPLUS_ERR_CREATE (entier) | ERR_CREATE | La fonction système Create() a échoué
DBPLUS_ERR_LSEEK (entier) | ERR_LSEEK | La fonction système lseek() a échoué
DBPLUS_ERR_LENGTH (entier) | ERR_LENGTH | La ligne excède la taille maximale
DBPLUS_ERR_OPEN (entier) | ERR_OPEN | La fonction système Open() a échoué
DBPLUS_ERR_WOPEN (entier) | ERR_WOPEN | La relation est déjà ouverte en lecture
DBPLUS_ERR_MAGIC (entier) | ERR_MAGIC | Le fichier n'est pas une relation
DBPLUS_ERR_VERSION (entier) | ERR_VERSION | Le fichier est une très vieille relation
DBPLUS_ERR_PGSIZE (entier) | ERR_PGSIZE | La relation utilise une page de taille différente
DBPLUS_ERR_CRC (entier) | ERR_CRC | CRC invalide de la super-page
DBPLUS_ERR_PIPE (entier) | ERR_PIPE | Une relation pipée requiert lseek()
DBPLUS_ERR_NIDX (entier) | ERR_NIDX | Trop d'index secondaires
DBPLUS_ERR_MALLOC (entier) | ERR_MALLOC | L'appel à malloc() a échoué
DBPLUS_ERR_NUSERS (entier) | ERR_NUSERS | Erreur lors de l'utilisation du nombre maximal d'utilisateurs
DBPLUS_ERR_PREEXIT (entier) | ERR_PREEXIT | Causée par une utilisation invalide
DBPLUS_ERR_ONTRAP (entier) | ERR_ONTRAP | Causée par un signal
DBPLUS_ERR_PREPROC (entier) | ERR_PREPROC | Erreur dans le préprocesseur
DBPLUS_ERR_DBPARSE (entier) | ERR_DBPARSE | Erreur dans l'analyseur
DBPLUS_ERR_DBRUNERR (entier) | ERR_DBRUNERR | Erreur durant l'exécution
DBPLUS_ERR_DBPREEXIT (entier) | ERR_DBPREEXIT | La condition d'exit a été causée par la procédure prexit()
DBPLUS_ERR_WAIT (entier) | ERR_WAIT | Attend un peu (Simple seulement)
DBPLUS_ERR_CORRUPT_TUPLE (entier) | ERR_CORRUPT_TUPLE | Un client a envoyé une ligne corrompue
DBPLUS_ERR_WARNING0 (entier) | ERR_WARNING0 | Les routines Simple ont rencontré une erreur non fatale, qui a été corrigée.
DBPLUS_ERR_PANIC (entier) | ERR_PANIC | Le serveur ne devrait pas s'arrêter, mais, après un désastre, envoyer ERR_PANIC à tout ses clients
DBPLUS_ERR_FIFO (entier) | ERR_FIFO | Impossible de créer une pile FIFO
DBPLUS_ERR_PERM (entier) | ERR_PERM | Permission refusée
DBPLUS_ERR_TCL (entier) | ERR_TCL | TCL_error
DBPLUS_ERR_RESTRICTED (entier) | ERR_RESTRICTED | Seulement deux utilisateurs
DBPLUS_ERR_USER (entier) | ERR_USER | Une erreur est survenue dans l'utilisation de la bibliothèque par l'application.
DBPLUS_ERR_UNKNOWN (entier) | ERR_UNKNOWN | Erreur inconnue

Constantes pré-définies
Fonctions DB++
Constantes pré-définies


Fonctions DB++

Sommaire

  • dbplus_add — Ajoute une ligne à une relation
  • dbplus_aql — Exécute une requête AQL
  • dbplus_chdir — Lit/modifie le chemin courant de base
  • dbplus_close — Ferme une relation
  • dbplus_curr — Lit la ligne courante dans une relation
  • dbplus_errcode — Obtenir un message d'erreur
  • dbplus_errno — Lit le code d'erreur généré par la dernière opération
  • dbplus_find — Ajoute une contrainte sur une relation
  • dbplus_first — Lit la première ligne d'une relation
  • dbplus_flush — Écrit toutes les modifications apportées à une relation
  • dbplus_freealllocks — Libère tous les verrous posés par le client
  • dbplus_freelock — Lève un verrou en écriture sur une ligne
  • dbplus_freerlocks — Lève tous les verrous sur les lignes d'une relation
  • dbplus_getlock — Pose un verrou sur une ligne
  • dbplus_getunique — Retourne un identifiant unique pour une relation
  • dbplus_info — Récupère les informations sur une relation
  • dbplus_last — Lit la dernière ligne d'une relation
  • dbplus_lockrel — Pose un verrou en écriture sur une relation
  • dbplus_next — Lit la ligne suivante dans la relation
  • dbplus_open — Ouvre un fichier de relation
  • dbplus_prev — Lit la ligne précédente dans la relation
  • dbplus_rchperm — Modifie les droits sur la relation
  • dbplus_rcreate — Crée une nouvelle relation DB++
  • dbplus_rcrtexact — Crée une copie exacte mais vide d'une relation
  • dbplus_rcrtlike — Crée une copie vide d'une relation avec les index
  • dbplus_resolve — Résout les informations d'hôte pour une relation
  • dbplus_restorepos — Restaure la position
  • dbplus_rkeys — Spécifie la nouvelle clé primaire d'une relation
  • dbplus_ropen — Ouvre un fichier de relation local
  • dbplus_rquery — Accomplit une requête AQL locale
  • dbplus_rrename — Renomme une relation
  • dbplus_rsecindex — Crée un nouvel index secondaire pour une relation
  • dbplus_runlink — Détruit une relation
  • dbplus_rzap — Supprime toutes les lignes d'une relation
  • dbplus_savepos — Sauvegarde la position
  • dbplus_setindex — Définie l'index
  • dbplus_setindexbynumber — Définie l'index par un nombre
  • dbplus_sql — Exécute une requête SQL
  • dbplus_tcl — Exécute du code TCL côté serveur
  • dbplus_tremove — Supprime la ligne courante et retourne la nouvelle ligne courante
  • dbplus_undo — Annule
  • dbplus_undoprepare — Prépare l'annulation
  • dbplus_unlockrel — Libère un verrou en écriture posé sur une relation
  • dbplus_unselect — Retire une contrainte d'une relation
  • dbplus_update — Modifie une ligne dans une relation
  • dbplus_xlockrel — Pose un verrou exclusif sur une relation
  • dbplus_xunlockrel — Lève un verrou exclusif posé sur une relation
Codes d'erreurs de DB++
dbplus_add
DB++


Ajoute une ligne à une relation

Fonctions DB++
dbplus_aql
Fonctions DB++
PHP Manual

dbplus_add

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_add — Ajoute une ligne à une relation

Description

int dbplus_add ( resource $relation , array $tuple )

Ajoute une ligne à la relation.

Liste de paramètres

relation

tuple

Un tableau de pairs d'attribut/valeur à être inséré dans la relation donnée.

Après une exécution réussie, le tableau contiendra les toutes les données de la nouvelle ligne y compris tous les champs implicitement créés, comme les séquences.

Valeurs de retour

Cette fonction retournera DBPLUS_ERR_NOERR en cas de succès ou une erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_errcode() - Obtenir un message d'erreur

Fonctions DB++
dbplus_aql
Fonctions DB++


Exécute une requête AQL

dbplus_add
dbplus_chdir
Fonctions DB++
PHP Manual

dbplus_aql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_aql — Exécute une requête AQL

Description

resource dbplus_aql ( string $query [, string $server [, string $dbpath ]] )

Exécute une requête AQL query sur le serveur server et le chemin dbpath.

Liste de paramètres

query

La requête AQL qui sera exécutée. Plus d'informations sur AQL A... Le langage de requête est fourni dans le manuel original de db++.

server

dbpath

Valeurs de retour

Retourne une ressource de relation en cas de succès. Les données de résultats peuvent être récupérées à partir de cette relation en appelant dbplus_next() et dbplus_curr(). Les autres fonctions d'accès aux relations ne fonctionneront pas avec ce résultat de relation.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_add
dbplus_chdir
Fonctions DB++


Lit/modifie le chemin courant de base

dbplus_aql
dbplus_close
Fonctions DB++
PHP Manual

dbplus_chdir

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_chdir — Lit/modifie le chemin courant de base

Description

string dbplus_chdir ([ string $newdir ] )

Change le chemin du dossier virtuel courant où les fichiers de relations seront recherchés par dbplus_open().

Liste de paramètres

newdir

Le nouveau répertoire pour les fichiers de relations. Vous pouvez omettre ce paramètre pour récupérer le répertoire de travail courant.

Valeurs de retour

Retourne le chemin absolu du dossier courant.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_aql
dbplus_close
Fonctions DB++


Ferme une relation

dbplus_chdir
dbplus_curr
Fonctions DB++
PHP Manual

dbplus_close

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_close — Ferme une relation

Description

mixed dbplus_close ( resource $relation )

Ferme une relation précédemment ouverte par dbplus_open().

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Retourne TRUE en cas de succès ou DBPLUS_ERR_UNKNOWN en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_chdir
dbplus_curr
Fonctions DB++


Lit la ligne courante dans une relation

dbplus_close
dbplus_errcode
Fonctions DB++
PHP Manual

dbplus_curr

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_curr — Lit la ligne courante dans une relation

Description

int dbplus_curr ( resource $relation , array &$tuple )

Lit les donnée de la ligne courante pour la relation relation.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

tuple

Les données seront retournées par ce paramètre comme un tableau associatif.

Valeurs de retour

La fonction retournera zéro (DBPLUS_ERR_NOERR) en cas de succès ou une erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_first() - Lit la première ligne d'une relation
  • dbplus_prev() - Lit la ligne précédente dans la relation
  • dbplus_next() - Lit la ligne suivante dans la relation
  • dbplus_last() - Lit la dernière ligne d'une relation
  • dbplus_errcode() - Obtenir un message d'erreur

dbplus_close
dbplus_errcode
Fonctions DB++


Obtenir un message d'erreur

dbplus_curr
dbplus_errno
Fonctions DB++
PHP Manual

dbplus_errcode

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errcode — Obtenir un message d'erreur

Description

string dbplus_errcode ([ int $errno ] )

Retourne un message d'erreur sous forme de chaîne de caractères pour le code d'erreur donné.

Liste de paramètres

errno

Le code d'erreur. S'il n'est pas fourni, le code de la dernière opération db++ est utilisé.

Valeurs de retour

Retourne le message d'erreur.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_curr
dbplus_errno
Fonctions DB++


Lit le code d'erreur généré par la dernière opération

dbplus_errcode
dbplus_find
Fonctions DB++
PHP Manual

dbplus_errno

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_errno — Lit le code d'erreur généré par la dernière opération

Description

int dbplus_errno ( void )

Retourne le code d'erreur retourné par la dernière opération db++.

Valeurs de retour

Retourne le code d'erreur sous forme d'entier.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_errcode() - Obtenir un message d'erreur

dbplus_errcode
dbplus_find
Fonctions DB++


Ajoute une contrainte sur une relation

dbplus_errno
dbplus_first
Fonctions DB++
PHP Manual

dbplus_find

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_find — Ajoute une contrainte sur une relation

Description

int dbplus_find ( resource $relation , array $constraints , mixed $tuple )

Ajoute une contrainte sur la relation relation.

Les futurs appels aux fonctions comme dbplus_curr() ou dbplus_next() retourneront uniquement les tuples correspondants, suivant les contraintes.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

constraints

Les contraintes sont des triplets de chaîne de caractères contenant un nom de domaine, un opérateur de comparaison et une valeur de comparaison. Le paramètre constraints est un tableau qui consiste d'une collection de tableaux de chaîne de caractères, chacun contenant un domaine, un opérateur et une valeur, ou bien un seul tableau de chaîne de caractères contenant un multiple de trois éléments.

L'opérateur de comparaison peut être une des chaînes de caractères suivantes : '==', '>', '>=', '<', '<=', '!=', '~' pour les recherche régulière, et 'BAND' ou 'BOR' pour les opérations bits à bits.

tuple

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_unselect() - Retire une contrainte d'une relation

dbplus_errno
dbplus_first
Fonctions DB++


Lit la première ligne d'une relation

dbplus_find
dbplus_flush
Fonctions DB++
PHP Manual

dbplus_first

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_first — Lit la première ligne d'une relation

Description

int dbplus_first ( resource $relation , array &$tuple )

Lit les données de la première ligne de la relation relation et place la ligne courante à ces données. Retourne aussi ces données en tant que tableau associatif dans le paramètre tuple.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

tuple

Valeurs de retour

Retourne DBPLUS_ERR_NOERR en cas de succès ou un code d'erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_curr() - Lit la ligne courante dans une relation
  • dbplus_prev() - Lit la ligne précédente dans la relation
  • dbplus_next() - Lit la ligne suivante dans la relation
  • dbplus_last() - Lit la dernière ligne d'une relation
  • dbplus_errcode() - Obtenir un message d'erreur

dbplus_find
dbplus_flush
Fonctions DB++


Écrit toutes les modifications apportées à une relation

dbplus_first
dbplus_freealllocks
Fonctions DB++
PHP Manual

dbplus_flush

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_flush — Écrit toutes les modifications apportées à une relation

Description

int dbplus_flush ( resource $relation )

Écrit tous les changements appliqués à relation depuis la dernière écriture vers le disque.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

Valeurs de retour

Retourne DBPLUS_ERR_NOERR en cas de succès ou un code d'erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_errcode() - Obtenir un message d'erreur

dbplus_first
dbplus_freealllocks
Fonctions DB++


Libère tous les verrous posés par le client

dbplus_flush
dbplus_freelock
Fonctions DB++
PHP Manual

dbplus_freealllocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freealllocks — Libère tous les verrous posés par le client

Description

int dbplus_freealllocks ( void )

Libère tous les verrous posés par le client.

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_getlock() - Pose un verrou sur une ligne
  • dbplus_freelock() - Lève un verrou en écriture sur une ligne
  • dbplus_freerlocks() - Lève tous les verrous sur les lignes d'une relation

dbplus_flush
dbplus_freelock
Fonctions DB++


Lève un verrou en écriture sur une ligne

dbplus_freealllocks
dbplus_freerlocks
Fonctions DB++
PHP Manual

dbplus_freelock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freelock — Lève un verrou en écriture sur une ligne

Description

int dbplus_freelock ( resource $relation , string $tuple )

Supprime le verrou en écriture sur la ligne tuple précédemment obtenu par dbplus_getlock().

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

tuple

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_getlock() - Pose un verrou sur une ligne
  • dbplus_freerlocks() - Lève tous les verrous sur les lignes d'une relation
  • dbplus_freealllocks() - Libère tous les verrous posés par le client

dbplus_freealllocks
dbplus_freerlocks
Fonctions DB++


Lève tous les verrous sur les lignes d'une relation

dbplus_freelock
dbplus_getlock
Fonctions DB++
PHP Manual

dbplus_freerlocks

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_freerlocks — Lève tous les verrous sur les lignes d'une relation

Description

int dbplus_freerlocks ( resource $relation )

Lève tous les verrous sur les lignes de la relation relation.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_getlock() - Pose un verrou sur une ligne
  • dbplus_freelock() - Lève un verrou en écriture sur une ligne
  • dbplus_freealllocks() - Libère tous les verrous posés par le client

dbplus_freelock
dbplus_getlock
Fonctions DB++


Pose un verrou sur une ligne

dbplus_freerlocks
dbplus_getunique
Fonctions DB++
PHP Manual

dbplus_getlock

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getlock — Pose un verrou sur une ligne

Description

int dbplus_getlock ( resource $relation , string $tuple )

Demande un verrou sur la ligne tuple.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

tuple

Valeurs de retour

Retourne zéro en cas de succès ou un code d'erreur différent de zéro. Plus précisément DBPLUS_ERR_WLOCKED en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_freelock() - Lève un verrou en écriture sur une ligne
  • dbplus_freerlocks() - Lève tous les verrous sur les lignes d'une relation
  • dbplus_freealllocks() - Libère tous les verrous posés par le client

dbplus_freerlocks
dbplus_getunique
Fonctions DB++


Retourne un identifiant unique pour une relation

dbplus_getlock
dbplus_info
Fonctions DB++
PHP Manual

dbplus_getunique

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_getunique — Retourne un identifiant unique pour une relation

Description

int dbplus_getunique ( resource $relation , int $uniqueid )

Demande le nombre qui sera garantit comme unique pour la relation relation et le retourne dans le paramètre uniqueid.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

uniqueid

Valeurs de retour

Retourne DBPLUS_ERR_NOERR en cas de succès ou un code d'erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_getlock
dbplus_info
Fonctions DB++


Récupère les informations sur une relation

dbplus_getunique
dbplus_last
Fonctions DB++
PHP Manual

dbplus_info

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_info — Récupère les informations sur une relation

Description

int dbplus_info ( resource $relation , string $key , array &$result )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

key

result

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_getunique
dbplus_last
Fonctions DB++


Lit la dernière ligne d'une relation

dbplus_info
dbplus_lockrel
Fonctions DB++
PHP Manual

dbplus_last

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_last — Lit la dernière ligne d'une relation

Description

int dbplus_last ( resource $relation , array &$tuple )

Lit les données de la dernière ligne de la relation relation et place la ligne courante à ces données. Retourne aussi ces données en tant que tableau associatif dans le paramètre tuple

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

tuple

Valeurs de retour

Retourne DBPLUS_ERR_NOERR en cas de succès ou un code d'erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_first() - Lit la première ligne d'une relation
  • dbplus_curr() - Lit la ligne courante dans une relation
  • dbplus_prev() - Lit la ligne précédente dans la relation
  • dbplus_next() - Lit la ligne suivante dans la relation

dbplus_info
dbplus_lockrel
Fonctions DB++


Pose un verrou en écriture sur une relation

dbplus_last
dbplus_next
Fonctions DB++
PHP Manual

dbplus_lockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_lockrel — Pose un verrou en écriture sur une relation

Description

int dbplus_lockrel ( resource $relation )

Demande un verrou en écriture sur la relation relation.

Les autres clients pourront toujours lire dans cette relation, mais devront attendre pour la modifier.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_last
dbplus_next
Fonctions DB++


Lit la ligne suivante dans la relation

dbplus_lockrel
dbplus_open
Fonctions DB++
PHP Manual

dbplus_next

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_next — Lit la ligne suivante dans la relation

Description

int dbplus_next ( resource $relation , array &$tuple )

Lit les données de la ligne suivante de la relation relation et place la ligne courante à ces données. Retourne aussi ces données en tant que tableau associatif dans le paramètre tuple.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

tuple

Valeurs de retour

Retourne DBPLUS_ERR_NOERR en cas de succès ou un code d'erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_first() - Lit la première ligne d'une relation
  • dbplus_curr() - Lit la ligne courante dans une relation
  • dbplus_prev() - Lit la ligne précédente dans la relation
  • dbplus_last() - Lit la dernière ligne d'une relation

dbplus_lockrel
dbplus_open
Fonctions DB++


Ouvre un fichier de relation

dbplus_next
dbplus_prev
Fonctions DB++
PHP Manual

dbplus_open

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_open — Ouvre un fichier de relation

Description

resource dbplus_open ( string $name )

Ouvre le fichier de relation donné.

Liste de paramètres

name

Peut être soit un fichier ou un chemin relatif ou absolu. Dans tous les cas, il sera remplacé par un chemin absolu, sur une machine spécifique et sur un serveur spécifique.

Valeurs de retour

En cas de succès, une ressource de fichier de relation (dite aussi curseur) sera retournée. Elle sera alors utilisée avec les fonctions utilisant cette relation. En cas d'échec, la valeur zéro est retournée et le code d'erreur peut être demandé via la fonction dbplus_errno().

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_next
dbplus_prev
Fonctions DB++


Lit la ligne précédente dans la relation

dbplus_open
dbplus_rchperm
Fonctions DB++
PHP Manual

dbplus_prev

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_prev — Lit la ligne précédente dans la relation

Description

int dbplus_prev ( resource $relation , array &$tuple )

Lit les données de la ligne précédente de la relation relation et place la ligne courante à ces données. Retourne aussi ces données en tant que tableau associatif dans le paramètre tuple.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

tuple

Valeurs de retour

Retourne DBPLUS_ERR_NOERR en cas de succès ou un code d'erreur db++ en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_first() - Lit la première ligne d'une relation
  • dbplus_curr() - Lit la ligne courante dans une relation
  • dbplus_next() - Lit la ligne suivante dans la relation
  • dbplus_last() - Lit la dernière ligne d'une relation

dbplus_open
dbplus_rchperm
Fonctions DB++


Modifie les droits sur la relation

dbplus_prev
dbplus_rcreate
Fonctions DB++
PHP Manual

dbplus_rchperm

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rchperm — Modifie les droits sur la relation

Description

int dbplus_rchperm ( resource $relation , int $mask , string $user , string $group )

Modifie les droits d'accès comme spécifié par les paramètres mask, user et group. Les valeurs à fournir sont spécifiques à chaque système d'exploitation.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

mask

user

group

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_prev
dbplus_rcreate
Fonctions DB++


Crée une nouvelle relation DB++

dbplus_rchperm
dbplus_rcrtexact
Fonctions DB++
PHP Manual

dbplus_rcreate

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcreate — Crée une nouvelle relation DB++

Description

resource dbplus_rcreate ( string $name , mixed $domlist [, bool $overwrite ] )

Crée une nouvelle relation. N'importe quelle autre relation qui possède le même nom name sera écrasée si la relation n'est pas présentement utilisée et que le paramètre overwrite est fixé à TRUE.

Liste de paramètres

name

domlist

Une combinaison de domaines. Il est possible de passer un simple domaine en chaîne de caractères ou plusieurs noms de domaines en tableau.

Ce paramètre devrait contenir les spécifications du domaine pour la nouvelle relation, sous la forme d'un tableau de chaînes de caractères descriptives. Une description de domaine est constituée d'un nom de domaine unique pour cette relation, d'un slash et d'un caractère de spécification de type. Voyez la documentation de db++, plus spécialement la page de manuel dbcreate(1), pour une description des spécificateurs de type disponibles et leur signification.

Note: Cette fonction acceptera aussi une chaîne de caractères avec des domaines séparés par des espaces, mais il est recommandé d'utiliser un tableau.

overwrite

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rchperm
dbplus_rcrtexact
Fonctions DB++


Crée une copie exacte mais vide d'une relation

dbplus_rcreate
dbplus_rcrtlike
Fonctions DB++
PHP Manual

dbplus_rcrtexact

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtexact — Crée une copie exacte mais vide d'une relation

Description

mixed dbplus_rcrtexact ( string $name , resource $relation [, bool $overwrite ] )

dbplus_rcrtexact() crée une copie exacte de la relation relation mais vide, sous le nouveau nom de name.

Liste de paramètres

name

relation

La relation copiée, ouverte par dbplus_open().

overwrite

Une relation existante par le même nom name sera seulement écrasée si ce paramètre est fixé à TRUE et aucun autre processus utilise cette relation.

Valeurs de retour

Retourne une ressource en cas de succès ou DBPLUS_ERR_UNKNOWN en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rcreate
dbplus_rcrtlike
Fonctions DB++


Crée une copie vide d'une relation avec les index

dbplus_rcrtexact
dbplus_resolve
Fonctions DB++
PHP Manual

dbplus_rcrtlike

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rcrtlike — Crée une copie vide d'une relation avec les index

Description

mixed dbplus_rcrtlike ( string $name , resource $relation [, int $overwrite ] )

dbplus_rcrtexact() crée une copie vide de la relation relation, sous le nouveau nom de name, mais avec les index par défaut.

Liste de paramètres

name

relation

La relation copiée, ouverte par dbplus_open().

overwrite

Une relation existante par le même nom name sera seulement écrasée si ce paramètre est fixé à TRUE et aucun autre processus utilise cette relation.

Valeurs de retour

Retourne une ressource en cas de succès ou DBPLUS_ERR_UNKNOWN en cas d'erreur.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rcrtexact
dbplus_resolve
Fonctions DB++


Résout les informations d'hôte pour une relation

dbplus_rcrtlike
dbplus_restorepos
Fonctions DB++
PHP Manual

dbplus_resolve

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_resolve — Résout les informations d'hôte pour une relation

Description

array dbplus_resolve ( string $relation_name )

dbplus_resolve() essaie de résoudre le nom de relation relation_name et collecte le nom interne de serveur, le nom d'hôte et le chemin vers la base sur cet hôte.

Liste de paramètres

relation_name

Nom de la relation.

Valeurs de retour

Retourne un tableau contenant les valeurs sous les clés sid, host et host_path ou FALSE en cas d'erreur.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_tcl() - Exécute du code TCL côté serveur

dbplus_rcrtlike
dbplus_restorepos
Fonctions DB++


Restaure la position

dbplus_resolve
dbplus_rkeys
Fonctions DB++
PHP Manual

dbplus_restorepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_restorepos — Restaure la position

Description

int dbplus_restorepos ( resource $relation , array $tuple )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

tuple

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_resolve
dbplus_rkeys
Fonctions DB++


Spécifie la nouvelle clé primaire d'une relation

dbplus_restorepos
dbplus_ropen
Fonctions DB++
PHP Manual

dbplus_rkeys

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rkeys — Spécifie la nouvelle clé primaire d'une relation

Description

mixed dbplus_rkeys ( resource $relation , mixed $domlist )

dbplus_rkeys() remplace la clé primaire courante de la relation relation avec la combinaison de domaines spécifiée par domlist.

Liste de paramètres

relation

Une relation ouverte avec dbplus_open().

domlist

Une combinaison de domaines. Peut être passé comme un seul nom de domaine ou alors un tableau de noms de domaine.

Valeurs de retour

Retourne une ressource en cas de succès où DBPLUS_ERR_UNKNOWN en cas d'erreur.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_restorepos
dbplus_ropen
Fonctions DB++


Ouvre un fichier de relation local

dbplus_rkeys
dbplus_rquery
Fonctions DB++
PHP Manual

dbplus_ropen

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_ropen — Ouvre un fichier de relation local

Description

resource dbplus_ropen ( string $name )

dbplus_ropen() ouvre le fichier de relation file localement, pour accès rapide, sans les coûts supplémentaires du système client/serveur. L'accès est alors en lecture seule, et seules dbplus_curr() et dbplus_next() peuvent être utilisées avec la relation retournée.

Liste de paramètres

name

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rkeys
dbplus_rquery
Fonctions DB++


Accomplit une requête AQL locale

dbplus_ropen
dbplus_rrename
Fonctions DB++
PHP Manual

dbplus_rquery

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rquery — Accomplit une requête AQL locale

Description

resource dbplus_rquery ( string $query [, string $dbpath ] )

dbplus_rquery() accomplit une requête AQL brute, en utilisant l'interpréteur de la bibliothèque du client DB++. dbplus_rquery() est plus rapide que dbplus_aql() mais ne fonctionne que sur des données locales.

Liste de paramètres

query

dbpath

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_ropen
dbplus_rrename
Fonctions DB++


Renomme une relation

dbplus_rquery
dbplus_rsecindex
Fonctions DB++
PHP Manual

dbplus_rrename

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rrename — Renomme une relation

Description

int dbplus_rrename ( resource $relation , string $name )

dbplus_rrename() va changer le nom de la relation en name.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

name

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rquery
dbplus_rsecindex
Fonctions DB++


Crée un nouvel index secondaire pour une relation

dbplus_rrename
dbplus_runlink
Fonctions DB++
PHP Manual

dbplus_rsecindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rsecindex — Crée un nouvel index secondaire pour une relation

Description

mixed dbplus_rsecindex ( resource $relation , mixed $domlist , int $type )

dbplus_rsecindex() crée un nouvel index secondaire pour la relation relation, qui sera constitué par domlist et sera de type type

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

domlist

Une combinaison de domaines. Peut être passé comme un seul nom de domaine ou alors un tableau de noms de domaine.

type

Valeurs de retour

Retourne une ressource en cas de succès ou DBPLUS_ERR_UNKNOWN en cas d'échec.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rrename
dbplus_runlink
Fonctions DB++


Détruit une relation

dbplus_rsecindex
dbplus_rzap
Fonctions DB++
PHP Manual

dbplus_runlink

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_runlink — Détruit une relation

Description

int dbplus_runlink ( resource $relation )

dbplus_runlink() ferme et supprime la relation relation.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rsecindex
dbplus_rzap
Fonctions DB++


Supprime toutes les lignes d'une relation

dbplus_runlink
dbplus_savepos
Fonctions DB++
PHP Manual

dbplus_rzap

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_rzap — Supprime toutes les lignes d'une relation

Description

int dbplus_rzap ( resource $relation )

dbplus_rzap() supprime toutes les lignes de la relation relation.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_runlink
dbplus_savepos
Fonctions DB++


Sauvegarde la position

dbplus_rzap
dbplus_setindex
Fonctions DB++
PHP Manual

dbplus_savepos

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_savepos — Sauvegarde la position

Description

int dbplus_savepos ( resource $relation )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_rzap
dbplus_setindex
Fonctions DB++


Définie l'index

dbplus_savepos
dbplus_setindexbynumber
Fonctions DB++
PHP Manual

dbplus_setindex

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindex — Définie l'index

Description

int dbplus_setindex ( resource $relation , string $idx_name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

idx_name

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_savepos
dbplus_setindexbynumber
Fonctions DB++


Définie l'index par un nombre

dbplus_setindex
dbplus_sql
Fonctions DB++
PHP Manual

dbplus_setindexbynumber

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_setindexbynumber — Définie l'index par un nombre

Description

int dbplus_setindexbynumber ( resource $relation , int $idx_number )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

idx_number

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_setindex
dbplus_sql
Fonctions DB++


Exécute une requête SQL

dbplus_setindexbynumber
dbplus_tcl
Fonctions DB++
PHP Manual

dbplus_sql

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_sql — Exécute une requête SQL

Description

resource dbplus_sql ( string $query [, string $server [, string $dbpath ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

query

server

dbpath

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_setindexbynumber
dbplus_tcl
Fonctions DB++


Exécute du code TCL côté serveur

dbplus_sql
dbplus_tremove
Fonctions DB++
PHP Manual

dbplus_tcl

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tcl — Exécute du code TCL côté serveur

Description

string dbplus_tcl ( int $sid , string $script )

Un serveur db++ va préparer un interpréteur TCL pour chaque connexion de client. Cet interpréteur va permettre au serveur d'exécuter du code TCL fourni par le client, un peu comme une procédure stockée, pour améliorer les performances du serveur en évitant des transferts client/serveur et des changements de contexte.

dbplus_tcl() doit recevoir l'identifiant de connexion sid et le code TCL script qui sera exécuté. dbplus_resolve() fournira l'identifiant de connexion. dbplus_tcl() retourne ce que le code TCL retourne, ou bien un message d'erreur TCL si le code TCL échoue.

Liste de paramètres

sid

script

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_resolve() - Résout les informations d'hôte pour une relation

dbplus_sql
dbplus_tremove
Fonctions DB++


Supprime la ligne courante et retourne la nouvelle ligne courante

dbplus_tcl
dbplus_undo
Fonctions DB++
PHP Manual

dbplus_tremove

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_tremove — Supprime la ligne courante et retourne la nouvelle ligne courante

Description

int dbplus_tremove ( resource $relation , array $tuple [, array &$current ] )

dbplus_tremove() supprime la ligne tuple de la relation si cela correspond parfaitement à une ligne dans la relation. current, si fourni, contient les données de la nouvelle ligne, une fois la suppression effectuée avec dbplus_tremove().

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

tuple

current

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_tcl
dbplus_undo
Fonctions DB++


Annule

dbplus_tremove
dbplus_undoprepare
Fonctions DB++
PHP Manual

dbplus_undo

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undo — Annule

Description

int dbplus_undo ( resource $relation )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_tremove
dbplus_undoprepare
Fonctions DB++


Prépare l'annulation

dbplus_undo
dbplus_unlockrel
Fonctions DB++
PHP Manual

dbplus_undoprepare

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_undoprepare — Prépare l'annulation

Description

int dbplus_undoprepare ( resource $relation )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_undo
dbplus_unlockrel
Fonctions DB++


Libère un verrou en écriture posé sur une relation

dbplus_undoprepare
dbplus_unselect
Fonctions DB++
PHP Manual

dbplus_unlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unlockrel — Libère un verrou en écriture posé sur une relation

Description

int dbplus_unlockrel ( resource $relation )

Lève le verrou en écriture obtenu par dbplus_lockrel().

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_undoprepare
dbplus_unselect
Fonctions DB++


Retire une contrainte d'une relation

dbplus_unlockrel
dbplus_update
Fonctions DB++
PHP Manual

dbplus_unselect

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_unselect — Retire une contrainte d'une relation

Description

int dbplus_unselect ( resource $relation )

L'utilisation de dbplus_unselect() supprime la contrainte posée par dbplus_find() sur la relation.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_unlockrel
dbplus_update
Fonctions DB++


Modifie une ligne dans une relation

dbplus_unselect
dbplus_xlockrel
Fonctions DB++
PHP Manual

dbplus_update

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_update — Modifie une ligne dans une relation

Description

int dbplus_update ( resource $relation , array $old , array $new )

dbplus_update() remplace la ligne old avec les données de la nouvelle ligne new, seulement si la ligne old est parfaitement similaire à une relation dans relation.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

old

L'ancienne ligne.

new

La nouvelle ligne.

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_unselect
dbplus_xlockrel
Fonctions DB++


Pose un verrou exclusif sur une relation

dbplus_update
dbplus_xunlockrel
Fonctions DB++
PHP Manual

dbplus_xlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xlockrel — Pose un verrou exclusif sur une relation

Description

int dbplus_xlockrel ( resource $relation )

Demande le verrou exclusif sur la relation relation qui empêchera même la lecture des autres clients.

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • dbplus_xunlockrel() - Lève un verrou exclusif posé sur une relation

dbplus_update
dbplus_xunlockrel
Fonctions DB++


Lève un verrou exclusif posé sur une relation

dbplus_xlockrel
FrontBase
Fonctions DB++
PHP Manual

dbplus_xunlockrel

(PHP 4 <= 4.1.0, PECL dbplus >= 0.9)

dbplus_xunlockrel — Lève un verrou exclusif posé sur une relation

Description

int dbplus_xunlockrel ( resource $relation )

Lève le verrou exclusif obtenu par la fonction dbplus_xlockrel().

Liste de paramètres

relation

Une relation ouverte par dbplus_open().

Valeurs de retour

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

dbplus_xlockrel
FrontBase
Fonctions DB++


FrontBase

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • FrontBase Fonctions
    • fbsql_affected_rows — Lit le nombre de lignes affectées par la dernière requête
    • fbsql_autocommit — Active ou désactive la validation automatique
    • fbsql_blob_size — Retourne la taille d'un BLOB
    • fbsql_change_user — Change le nom d'utilisateur de la session active
    • fbsql_clob_size — Retourne la taille d'un CLOB
    • fbsql_close — Ferme la connexion FrontBase
    • fbsql_commit — Valide une transaction
    • fbsql_connect — Ouvre une connexion à un serveur FrontBase
    • fbsql_create_blob — Crée un BLOB
    • fbsql_create_clob — Crée un CLOB
    • fbsql_create_db — Crée une base de données
    • fbsql_data_seek — Déplace le pointeur interne de résultat FBSQL
    • fbsql_database_password — Modifie/lit le mot de passe dans une base FBSQL
    • fbsql_database — Lit ou définit le nom de la base de données utilisée avec une connexion
    • fbsql_db_query — Envoie une requête à la base FrontBase
    • fbsql_db_status — Lit le statut courant d'une base de données
    • fbsql_drop_db — Supprime une base de données FrontBase
    • fbsql_errno — Retourne le code d'erreur FrontBase
    • fbsql_error — Retourne le message d'erreur FrontBase
    • fbsql_fetch_array — Lit toute une ligne de résultat dans un tableau
    • fbsql_fetch_assoc — Lit toute une ligne de résultat dans un tableau associatif
    • fbsql_fetch_field — Lit des informations sur une colonne dans un résultat, et retourne un objet
    • fbsql_fetch_lengths — Lit la taille de chaque colonne d'un résultat
    • fbsql_fetch_object — Lit une ligne de résultat sous forme d'objet
    • fbsql_fetch_row — Lit une ligne de résultat sous forme de tableau numérique
    • fbsql_field_flags — Lit les options associées à une colonne de résultat
    • fbsql_field_len — Retourne la taille d'un champ
    • fbsql_field_name — Lit le nom d'un champ
    • fbsql_field_seek — Déplace le pointeur de résultat
    • fbsql_field_table — Lit le nom de la table d'origine d'un champ
    • fbsql_field_type — Lit le type d'une colonne
    • fbsql_free_result — Libère le résultat de la mémoire
    • fbsql_get_autostart_info — Description
    • fbsql_hostname — Lit ou définit le nom de l'hôte à utiliser avec une connexion
    • fbsql_insert_id — Lit le dernier identifiant généré par une requête INSERT
    • fbsql_list_dbs — Liste les bases de données FBSQL
    • fbsql_list_fields — Liste les champs d'une table FrontBase
    • fbsql_list_tables — Liste les tables dans une base de données FrontBase
    • fbsql_next_result — Déplace le pointeur interne vers le résultat suivant
    • fbsql_num_fields — Lit le nombre de champs dans un résultat
    • fbsql_num_rows — Lit le nombre de lignes dans un résultat
    • fbsql_password — Lit ou définit le mot de passe à utiliser avec une connexion
    • fbsql_pconnect — Ouvre une connexion persistante sur un serveur FrontBase
    • fbsql_query — Exécute une requête sur un serveur FrontBase
    • fbsql_read_blob — Lit un BLOB dans une base de données
    • fbsql_read_clob — Lit un CLOB dans une base de données
    • fbsql_result — Lit des données dans un résultat
    • fbsql_rollback — Annule une transaction FBSQL
    • fbsql_rows_fetched — Récupère le nombre de lignes affectées par la dernière requête
    • fbsql_select_db — Sélectionne une base de données FrontBase
    • fbsql_set_characterset — Modifie le jeu de caractères pour l'entrée / sortie
    • fbsql_set_lob_mode — Modifie le mode de lecture des LOB
    • fbsql_set_password — Change le mot de passe de l'utilisateur spécifié
    • fbsql_set_transaction — Configure le verrouillage et l'isolation de transactions
    • fbsql_start_db — Démarre une base de données FBSQL
    • fbsql_stop_db — Stoppe une base de données FBSQL
    • fbsql_table_name — Récupère le nom de la table d'un champ
    • fbsql_tablename — Alias de de fbsql_table_name
    • fbsql_username — Lit ou définit le nom de login à utiliser avec une connexion
    • fbsql_warnings — Active ou désactive les alertes FrontBase
dbplus_xunlockrel
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Plus de détails sur le serveur FrontBase sont disponibles sur le site de » http://www.frontbase.com/.

La documentation complète de FrontBase est disponible à » http://www.frontbase.com/cgi-bin/WebObjects/FrontBase.woa/wa/productsPage?currentPage=Documentation.

Frontbase est supporté depuis PHP 4.0.6.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0.

FrontBase
Installation/Configuration
FrontBase


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
FrontBase


Pré-requis

Vous devez installer un serveur de bases de données FrontBase ou, tout au moins, les bibliothèques clientes fbsql, pour accéder à ces fonctions. Vous pouvez accéder au site de FrontBase à l'adresse » http://www.frontbase.com/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour pouvoir utiliser ces fonctions, vous devez compiler PHP avec le support fbsql en utilisant l'option de configuration --with-fbsql. Si vous utilisez cette option sans spécifier le chemin jusqu'au dossier d'installation fbsql, PHP recherchera les bibliothèques du client fbsql dans les dossiers habituels, sur votre système. Les utilisateurs qui ont installé FrontBase dans un dossier non standard doivent spécifier le chemin comme ceci : --with-fbsql=/path/to/fbsql. Cela va indiquer à PHP le bon emplacement des bibliothèques de FrontBase, et éviter les conflits.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration FBSQL
Nom | Défaut | Modifiable | Historique
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0. Supprimé en PHP 5.1.0.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_database | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FBSQL_ASSOC (entier)
FBSQL_NUM (entier)
FBSQL_BOTH (entier)
FBSQL_LOCK_DEFERRED (entier)
FBSQL_LOCK_OPTIMISTIC (entier)
FBSQL_LOCK_PESSIMISTIC (entier)
FBSQL_ISO_READ_UNCOMMITTED (entier)
FBSQL_ISO_READ_COMMITTED (entier)
FBSQL_ISO_REPEATABLE_READ (entier)
FBSQL_ISO_SERIALIZABLE (entier)
FBSQL_ISO_VERSIONED (entier)
FBSQL_UNKNOWN (entier)
FBSQL_STOPPED (entier)
FBSQL_STARTING (entier)
FBSQL_RUNNING (entier)
FBSQL_STOPPING (entier)
FBSQL_NOEXEC (entier)
FBSQL_LOB_DIRECT (entier)
FBSQL_LOB_HANDLE (entier)
Types de ressources
FrontBase Fonctions
FrontBase


FrontBase Fonctions

Sommaire

  • fbsql_affected_rows — Lit le nombre de lignes affectées par la dernière requête
  • fbsql_autocommit — Active ou désactive la validation automatique
  • fbsql_blob_size — Retourne la taille d'un BLOB
  • fbsql_change_user — Change le nom d'utilisateur de la session active
  • fbsql_clob_size — Retourne la taille d'un CLOB
  • fbsql_close — Ferme la connexion FrontBase
  • fbsql_commit — Valide une transaction
  • fbsql_connect — Ouvre une connexion à un serveur FrontBase
  • fbsql_create_blob — Crée un BLOB
  • fbsql_create_clob — Crée un CLOB
  • fbsql_create_db — Crée une base de données
  • fbsql_data_seek — Déplace le pointeur interne de résultat FBSQL
  • fbsql_database_password — Modifie/lit le mot de passe dans une base FBSQL
  • fbsql_database — Lit ou définit le nom de la base de données utilisée avec une connexion
  • fbsql_db_query — Envoie une requête à la base FrontBase
  • fbsql_db_status — Lit le statut courant d'une base de données
  • fbsql_drop_db — Supprime une base de données FrontBase
  • fbsql_errno — Retourne le code d'erreur FrontBase
  • fbsql_error — Retourne le message d'erreur FrontBase
  • fbsql_fetch_array — Lit toute une ligne de résultat dans un tableau
  • fbsql_fetch_assoc — Lit toute une ligne de résultat dans un tableau associatif
  • fbsql_fetch_field — Lit des informations sur une colonne dans un résultat, et retourne un objet
  • fbsql_fetch_lengths — Lit la taille de chaque colonne d'un résultat
  • fbsql_fetch_object — Lit une ligne de résultat sous forme d'objet
  • fbsql_fetch_row — Lit une ligne de résultat sous forme de tableau numérique
  • fbsql_field_flags — Lit les options associées à une colonne de résultat
  • fbsql_field_len — Retourne la taille d'un champ
  • fbsql_field_name — Lit le nom d'un champ
  • fbsql_field_seek — Déplace le pointeur de résultat
  • fbsql_field_table — Lit le nom de la table d'origine d'un champ
  • fbsql_field_type — Lit le type d'une colonne
  • fbsql_free_result — Libère le résultat de la mémoire
  • fbsql_get_autostart_info — Description
  • fbsql_hostname — Lit ou définit le nom de l'hôte à utiliser avec une connexion
  • fbsql_insert_id — Lit le dernier identifiant généré par une requête INSERT
  • fbsql_list_dbs — Liste les bases de données FBSQL
  • fbsql_list_fields — Liste les champs d'une table FrontBase
  • fbsql_list_tables — Liste les tables dans une base de données FrontBase
  • fbsql_next_result — Déplace le pointeur interne vers le résultat suivant
  • fbsql_num_fields — Lit le nombre de champs dans un résultat
  • fbsql_num_rows — Lit le nombre de lignes dans un résultat
  • fbsql_password — Lit ou définit le mot de passe à utiliser avec une connexion
  • fbsql_pconnect — Ouvre une connexion persistante sur un serveur FrontBase
  • fbsql_query — Exécute une requête sur un serveur FrontBase
  • fbsql_read_blob — Lit un BLOB dans une base de données
  • fbsql_read_clob — Lit un CLOB dans une base de données
  • fbsql_result — Lit des données dans un résultat
  • fbsql_rollback — Annule une transaction FBSQL
  • fbsql_rows_fetched — Récupère le nombre de lignes affectées par la dernière requête
  • fbsql_select_db — Sélectionne une base de données FrontBase
  • fbsql_set_characterset — Modifie le jeu de caractères pour l'entrée / sortie
  • fbsql_set_lob_mode — Modifie le mode de lecture des LOB
  • fbsql_set_password — Change le mot de passe de l'utilisateur spécifié
  • fbsql_set_transaction — Configure le verrouillage et l'isolation de transactions
  • fbsql_start_db — Démarre une base de données FBSQL
  • fbsql_stop_db — Stoppe une base de données FBSQL
  • fbsql_table_name — Récupère le nom de la table d'un champ
  • fbsql_tablename — Alias de de fbsql_table_name
  • fbsql_username — Lit ou définit le nom de login à utiliser avec une connexion
  • fbsql_warnings — Active ou désactive les alertes FrontBase
Constantes pré-définies
fbsql_affected_rows
FrontBase


Lit le nombre de lignes affectées par la dernière requête

FrontBase Fonctions
fbsql_autocommit
FrontBase Fonctions
PHP Manual

fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_affected_rows — Lit le nombre de lignes affectées par la dernière requête

Description

int fbsql_affected_rows ([ resource $link_identifier ] )

fbsql_affected_rows() retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, effectuée avec la connexion représentée par link_identifier.

Note: Si vous utilisez les transactions, vous devez appeler fbsql_affected_rows() après votre requête INSERT, UPDATE ou DELETE, et non après la validation.

Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes les lignes seront effacées, mais fbsql_affected_rows() retournera 0.

Note: Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les anciennes valeurs sont égales aux nouvelles. Cela fait que fbsql_affected_rows() ne retournera pas le nombre de lignes traitées, mais le nombre de lignes affectées (modifiées) par la requête.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Si la dernière requête échoue, fbsql_affected_rows() retourne -1.

Voir aussi

  • fbsql_num_rows() - Lit le nombre de lignes dans un résultat

FrontBase Fonctions
fbsql_autocommit
FrontBase Fonctions


Active ou désactive la validation automatique

fbsql_affected_rows
fbsql_blob_size
FrontBase Fonctions
PHP Manual

fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_autocommit — Active ou désactive la validation automatique

Description

bool fbsql_autocommit ( resource $link_identifier [, bool $OnOff ] )

Retourne l'état courant de la validation automatique.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

OnOff

Si ce paramètre optionnel est fourni, le statut de l'autovalidation sera changé.

Si le paramètre onoff vaut TRUE, FBSQL va se mettre en mode d'autovalidation, et les requêtes seront validées automatiquement si aucune erreur n'est trouvée.

Si le paramètre onoff vaut FALSE, FBSQL va se mettre en mode de validation manuelle, et les requêtes seront validées par l'appel de la fonction fbsql_commit() ou annulées par fbsql_rollback().

Valeurs de retour

Retourne le statut courant de l'autovalidation, sous la forme d'un booléen.

Voir aussi

  • fbsql_commit() - Valide une transaction
  • fbsql_rollback() - Annule une transaction FBSQL

fbsql_affected_rows
fbsql_blob_size
FrontBase Fonctions


Retourne la taille d'un BLOB

fbsql_autocommit
fbsql_change_user
FrontBase Fonctions
PHP Manual

fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_blob_size — Retourne la taille d'un BLOB

Description

int fbsql_blob_size ( string $blob_handle [, resource $link_identifier ] )

Retourne la taille du BLOB fourni.

Liste de paramètres

blob_handle

Un gestionnaire de BLOB, retourné par la fonction fbsql_create_blob().

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne la taille du BLOB, sous la forme d'un entier ou FALSE si une erreur survient.

Voir aussi

  • fbsql_clob_size() - Retourne la taille d'un CLOB

fbsql_autocommit
fbsql_change_user
FrontBase Fonctions


Change le nom d'utilisateur de la session active

fbsql_blob_size
fbsql_clob_size
FrontBase Fonctions
PHP Manual

fbsql_change_user

(PHP 4 >= 4.0.6, PHP 5)

fbsql_change_user — Change le nom d'utilisateur de la session active

Description

bool fbsql_change_user ( string $user , string $password [, string $database [, resource $link_identifier ]] )

fbsql_change_user() change le nom de l'utilisateur sur la session courante. Si l'identification du nouvel utilisateur échoue, l'utilisateur courant reste actif.

Liste de paramètres

user

Le nom du nouvel utilisateur.

password

Le mot de passe du nouvel utilisateur.

database

Si spécifié, ce sera la base de données par défaut après le changement d'utilisateur.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

fbsql_blob_size
fbsql_clob_size
FrontBase Fonctions


Retourne la taille d'un CLOB

fbsql_change_user
fbsql_close
FrontBase Fonctions
PHP Manual

fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_clob_size — Retourne la taille d'un CLOB

Description

int fbsql_clob_size ( string $clob_handle [, resource $link_identifier ] )

Retourne la taille du CLOB fourni.

Liste de paramètres

clob_handle

Un gestionnaire de CLOB, retourné par la fonction fbsql_create_clob().

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne la taille du CLOB, sous la forme d'un entier ou FALSE si une erreur survient.

Voir aussi

  • fbsql_blob_size() - Retourne la taille d'un BLOB

fbsql_change_user
fbsql_close
FrontBase Fonctions


Ferme la connexion FrontBase

fbsql_clob_size
fbsql_commit
FrontBase Fonctions
PHP Manual

fbsql_close

(PHP 4 >= 4.0.6, PHP 5)

fbsql_close — Ferme la connexion FrontBase

Description

bool fbsql_close ([ resource $link_identifier ] )

Ferme la connexion au serveur FrontBase associée à la ressource spécifiée.

Utiliser fbsql_close() n'est pas nécessaire, car les liens non persistants seront automatiquement fermés à la fin du script.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fbsql_close()

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
echo "Connecté !";
fbsql_close($link);
?>

Voir aussi

  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase
  • fbsql_pconnect() - Ouvre une connexion persistante sur un serveur FrontBase

fbsql_clob_size
fbsql_commit
FrontBase Fonctions


Valide une transaction

fbsql_close
fbsql_connect
FrontBase Fonctions
PHP Manual

fbsql_commit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_commit — Valide une transaction

Description

bool fbsql_commit ([ resource $link_identifier ] )

Termine la transaction courante en sauvant toutes les insertions, modifications et effacements sur le serveur, puis en relâchant tous les verrous qui ont été posés sur les tables. Cette commande n'est nécessaire que si FBSQL est en mode de validation manuelle.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_autocommit() - Active ou désactive la validation automatique
  • fbsql_rollback() - Annule une transaction FBSQL

fbsql_close
fbsql_connect
FrontBase Fonctions


Ouvre une connexion à un serveur FrontBase

fbsql_commit
fbsql_create_blob
FrontBase Fonctions
PHP Manual

fbsql_connect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_connect — Ouvre une connexion à un serveur FrontBase

Description

  resource  fbsql_connect
  ([  string  $hostname = ini_get("fbsql.default_host")
 [,  string  $username = ini_get("fbsql.default_user")
 [,  string  $password = ini_get("fbsql.default_password")
]]] )

fbsql_connect() établit une connexion avec un serveur FrontBase.

Si un deuxième appel est fait à fbsql_connect() avec les mêmes arguments, une nouvelle connexion ne sera pas générée, mais la connexion déjà ouverte sera réutilisée, et retournée.

La connexion au serveur sera fermée dès la fin du script, à moins qu'elle ne soit explicitement terminée plus tôt, avec la fonction fbsql_close().

Liste de paramètres

hostname

Le nom du serveur hôte.

username

Le nom de l'utilisateur pour la connexion.

password

Le mot de passe pour la connexion.

Valeurs de retour

Retourne une ressource de connexion positive FrontBase en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fbsql_connect()

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
echo "Connexion effectuée !";
fbsql_close($link);

?>

Voir aussi

  • fbsql_pconnect() - Ouvre une connexion persistante sur un serveur FrontBase
  • fbsql_close() - Ferme la connexion FrontBase

fbsql_commit
fbsql_create_blob
FrontBase Fonctions


Crée un BLOB

fbsql_connect
fbsql_create_clob
FrontBase Fonctions
PHP Manual

fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_blob — Crée un BLOB

Description

string fbsql_create_blob ( string $blob_data [, resource $link_identifier ] )

Crée un BLOB à partir des données fournies.

Liste de paramètres

blob_data

Les données BLOB.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un gestionnaire de ressource BLOB qui peut être utilisé avec les commandes insertions ou de mise à jour pour stocker le BLOB dans la base de données.

Exemples

Exemple #1 Exemple avec fbsql_create_blob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
$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);
?>

Voir aussi

  • fbsql_create_clob() - Crée un CLOB
  • fbsql_read_blob() - Lit un BLOB dans une base de données
  • fbsql_read_clob() - Lit un CLOB dans une base de données
  • fbsql_set_lob_mode() - Modifie le mode de lecture des LOB

fbsql_connect
fbsql_create_clob
FrontBase Fonctions


Crée un CLOB

fbsql_create_blob
fbsql_create_db
FrontBase Fonctions
PHP Manual

fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_clob — Crée un CLOB

Description

string fbsql_create_clob ( string $clob_data [, resource $link_identifier ] )

Crée un CLOB à partir des données fournies.

Liste de paramètres

clob_data

Les données CLOB.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un gestionnaire de ressource CLOB qui pourra être utilisé avec les commandes d'insertion ou de mise à jour pour stocker le CLOB dans la base de données.

Exemples

Exemple #1 Exemple avec fbsql_create_clob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
$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);
?>

Voir aussi

  • fbsql_create_blob() - Crée un BLOB
  • fbsql_read_blob() - Lit un BLOB dans une base de données
  • fbsql_read_clob() - Lit un CLOB dans une base de données
  • fbsql_set_lob_mode() - Modifie le mode de lecture des LOB

fbsql_create_blob
fbsql_create_db
FrontBase Fonctions


Crée une base de données

fbsql_create_clob
fbsql_data_seek
FrontBase Fonctions
PHP Manual

fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_create_db — Crée une base de données

Description

bool fbsql_create_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Tente de créer une nouvelle base de données sur le serveur spécifié.

Liste de paramètres

database_name

Le nom de la base de données, sous la forme d'une chaîne de caractères.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

database_options

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fbsql_create_db()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
if (fbsql_create_db("my_db")) {
    echo "Base de données créée avec succès\n";
} else {
    printf("Erreur de création de la base de données : %s\n", fbsql_error());
}
?>

Voir aussi

  • fbsql_drop_db() - Supprime une base de données FrontBase

fbsql_create_clob
fbsql_data_seek
FrontBase Fonctions


Déplace le pointeur interne de résultat FBSQL

fbsql_create_db
fbsql_database_password
FrontBase Fonctions
PHP Manual

fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_data_seek — Déplace le pointeur interne de résultat FBSQL

Description

bool fbsql_data_seek ( resource $result , int $row_number )

Déplace le pointeur interne de ligne dans le résultat de requête result_identifier jusqu'à la ligne row_number.

Le prochain appel à la fonction fbsql_fetch_row() retournera cette ligne.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

row_number

Le numéro de la ligne. Commence à 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fbsql_data_seek()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");

fbsql_select_db("samp_db")
    or die("Impossible de sélectionner une base");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("La requête a échoué");

// Lecture des lignes en ordre inverse

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("Impossible d'accéder à la ligne %d\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result($result);
?>

fbsql_create_db
fbsql_database_password
FrontBase Fonctions


Modifie/lit le mot de passe dans une base FBSQL

fbsql_data_seek
fbsql_database
FrontBase Fonctions
PHP Manual

fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database_password — Modifie/lit le mot de passe dans une base FBSQL

Description

string fbsql_database_password ( resource $link_identifier [, string $database_password ] )

Modifie et lit le mot de passe de la base de données courante. Si la base de données est protégée par un mot de passe, l'utilisateur doit appeler cette fonction avant d'appeler la fonction fbsql_select_db().

Si aucune connexion n'a été ouverte PHP essaiera d'en ouvrir une en appelant la fonction fbsql_connect(), et en utilisant la connexion qui en résultera (si elle réussit).

Cette fonction ne modifie pas le mot de passe d'accès au serveur qui est stocké sur le serveur, et elle ne permet pas non plus d'aller lire ce mot de passe.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

database_password

Le mot de passe, sous la forme d'une chaîne de caractères. Si fourni, la fonction définira le mot de passe de base de données pour la connexion courante.

Valeurs de retour

Retourne le mot de passe de base de données associé à la connexion courante.

Exemples

Exemple #1 Exemple avec fbsql_create_clob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

Voir aussi

  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase
  • fbsql_pconnect() - Ouvre une connexion persistante sur un serveur FrontBase
  • fbsql_select_db() - Sélectionne une base de données FrontBase

fbsql_data_seek
fbsql_database
FrontBase Fonctions


Lit ou définit le nom de la base de données utilisée avec une connexion

fbsql_database_password
fbsql_db_query
FrontBase Fonctions
PHP Manual

fbsql_database

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database — Lit ou définit le nom de la base de données utilisée avec une connexion

Description

string fbsql_database ( resource $link_identifier [, string $database ] )

Lit ou définit le nom de la base de données utilisée avec la connexion fournie.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

database

Le nom de la base de données. Si fourni, la base de données par défaut pour la connexion sera changé en database.

Valeurs de retour

Retourne le nom de la base de données utilisée avec cette connexion.

fbsql_database_password
fbsql_db_query
FrontBase Fonctions


Envoie une requête à la base FrontBase

fbsql_database
fbsql_db_status
FrontBase Fonctions
PHP Manual

fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_db_query — Envoie une requête à la base FrontBase

Description

resource fbsql_db_query ( string $database , string $query [, resource $link_identifier ] )

Sélectionne une base de données et y exécute une requête.

Liste de paramètres

database

La base de données à sélectionner.

query

La requête SQL à exécuter.

Note: La requête doit toujours se terminer par un point virgule.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un identifiant de résultat positif FrontBase ou FALSE si une erreur survient.

Voir aussi

  • fbsql_query() - Exécute une requête sur un serveur FrontBase
  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase

fbsql_database
fbsql_db_status
FrontBase Fonctions


Lit le statut courant d'une base de données

fbsql_db_query
fbsql_drop_db
FrontBase Fonctions
PHP Manual

fbsql_db_status

(PHP 4 >= 4.0.7, PHP 5)

fbsql_db_status — Lit le statut courant d'une base de données

Description

int fbsql_db_status ( string $database_name [, resource $link_identifier ] )

Lit le statut courant de la base de données fournie.

Liste de paramètres

database_name

Le nom de la base de données.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un entier correspondant au statut courant. Il peut être une des constantes suivantes :

  • FALSE - Le gestion de cet hôte était invalide. Cette erreur survient lorsque PHP se connecte directement à une base de données en utilisant un numéro de port. FBExec peut être disponible sur un serveur, mais aucune connexion n'a été faite.
  • FBSQL_UNKNOWN - Le statut est inconnu.
  • FBSQL_STOPPED - La base de données ne fonctionne pas. Utilisez fbsql_start_db() pour démarrer la base.
  • FBSQL_STARTING - La base de données démarre.
  • FBSQL_RUNNING - La base de données fonctionne, et est disponible pour recevoir des requêtes SQL.
  • FBSQL_STOPPING - La base de données s'arrête.
  • FBSQL_NOEXEC - FBExec ne fonctionne par sur le serveur, et il n'est pas possible d'obtenir le statut de la base de données.

Voir aussi

  • fbsql_start_db() - Démarre une base de données FBSQL
  • fbsql_stop_db() - Stoppe une base de données FBSQL

fbsql_db_query
fbsql_drop_db
FrontBase Fonctions


Supprime une base de données FrontBase

fbsql_db_status
fbsql_errno
FrontBase Fonctions
PHP Manual

fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_drop_db — Supprime une base de données FrontBase

Description

bool fbsql_drop_db ( string $database_name [, resource $link_identifier ] )

fbsql_drop_db() essaie de supprimer la base de données database_name, sur la connexion représentée par link_identifier.

Liste de paramètres

database_name

Le nom de la base de données.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_create_db() - Crée une base de données

fbsql_db_status
fbsql_errno
FrontBase Fonctions


Retourne le code d'erreur FrontBase

fbsql_drop_db
fbsql_error
FrontBase Fonctions
PHP Manual

fbsql_errno

(PHP 4 >= 4.0.6, PHP 5)

fbsql_errno — Retourne le code d'erreur FrontBase

Description

int fbsql_errno ([ resource $link_identifier ] )

Retourne le code d'erreur de la dernière opération sur la connexion FrontBase fournie.

Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction fbsql_errno() pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis fbsql_error() et fbsql_errno()) : si vous voulez repérer les erreurs, faites-le dès que les fonctions ont été appelées.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne le numéro de l'erreur généré par la dernière fonction fbsql ou 0 si aucune erreur survient.

Exemples

Exemple #1 Exemple avec fbsql_errno()

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Voir aussi

  • fbsql_error() - Retourne le message d'erreur FrontBase
  • fbsql_warnings() - Active ou désactive les alertes FrontBase

fbsql_drop_db
fbsql_error
FrontBase Fonctions


Retourne le message d'erreur FrontBase

fbsql_errno
fbsql_fetch_array
FrontBase Fonctions
PHP Manual

fbsql_error

(PHP 4 >= 4.0.6, PHP 5)

fbsql_error — Retourne le message d'erreur FrontBase

Description

string fbsql_error ([ resource $link_identifier ] )

Retourne le dernier message d'erreur généré par le serveur FrontBase.

Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction fbsql_errno() pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis fbsql_error() et fbsql_errno()) : si vous voulez repérer les erreurs, faites-le dès que les fonctions ont été appelées.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne le texte de l'erreur générée par la dernière fonction fbsql ou '' (une chaîne vide) si aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec fbsql_error()

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

Voir aussi

  • fbsql_errno() - Retourne le code d'erreur FrontBase
  • fbsql_warnings() - Active ou désactive les alertes FrontBase

fbsql_errno
fbsql_fetch_array
FrontBase Fonctions


Lit toute une ligne de résultat dans un tableau

fbsql_error
fbsql_fetch_assoc
FrontBase Fonctions
PHP Manual

fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_array — Lit toute une ligne de résultat dans un tableau

Description

array fbsql_fetch_array ( resource $result [, int $result_type ] )

fbsql_fetch_array() est une combinaison de
fbsql_fetch_row() et
fbsql_fetch_assoc().

Il est important de noter que fbsql_fetch_array() n'est pas significativement plus lente que fbsql_fetch_row(), tandis qu'elle apporte un confort d'utilisation notable.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

result_type

Une constante et peut prendre les valeurs suivantes : FBSQL_ASSOC, FBSQL_NUM, ou FBSQL_BOTH.

Lors de l'utilisation de FBSQL_BOTH, en plus de stocker les indices numériques du tableau de résultats, il stockera les données dans des indices associatifs, en utilisant les noms des champs comme clés.

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de ligne de disponible.

Si deux colonnes (ou plus) ont le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser les indices numériques.

select t1.f1 as foo t2.f1 as bar from t1, t2

Exemples

Exemple #1 Exemple avec fbsql_fetch_array()

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "Nom complet : " . $row["fullname"] . "<br />\n";
    echo "Nom complet : " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

Voir aussi

  • fbsql_fetch_row() - Lit une ligne de résultat sous forme de tableau numérique
  • fbsql_fetch_assoc() - Lit toute une ligne de résultat dans un tableau associatif
  • fbsql_fetch_object() - Lit une ligne de résultat sous forme d'objet

fbsql_error
fbsql_fetch_assoc
FrontBase Fonctions


Lit toute une ligne de résultat dans un tableau associatif

fbsql_fetch_array
fbsql_fetch_field
FrontBase Fonctions
PHP Manual

fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_assoc — Lit toute une ligne de résultat dans un tableau associatif

Description

array fbsql_fetch_assoc ( resource $result )

fbsql_fetch_assoc() est équivalent à fbsql_fetch_array() avec l'option FBSQL_ASSOC. Elle ne retourne qu'un tableau associatif.

C'est le comportement initial de fbsql_fetch_array(). Si vous avez aussi besoin des indices numériques, utilisez fbsql_fetch_array().

Il est important de noter que fbsql_fetch_assoc() n'est pas significativement plus lente que fbsql_fetch_row(), tandis qu'elle apporte un confort d'utilisation notable.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne un tableau associatif contenant la ligne courante du résultat, ou FALSE s'il n'y a plus de lignes.

Si deux colonnes (ou plus) ont le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser la fonction fbsql_fetch_array().

Exemples

Exemple #1 Exemple avec fbsql_fetch_assoc()

<?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);
?>

Voir aussi

  • fbsql_fetch_row() - Lit une ligne de résultat sous forme de tableau numérique
  • fbsql_fetch_array() - Lit toute une ligne de résultat dans un tableau
  • fbsql_fetch_object() - Lit une ligne de résultat sous forme d'objet

fbsql_fetch_array
fbsql_fetch_field
FrontBase Fonctions


Lit des informations sur une colonne dans un résultat, et retourne un objet

fbsql_fetch_assoc
fbsql_fetch_lengths
FrontBase Fonctions
PHP Manual

fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_field — Lit des informations sur une colonne dans un résultat, et retourne un objet

Description

object fbsql_fetch_field ( resource $result [, int $field_offset ] )

Sert à lire des informations sur les champs dans le résultat fourni.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

field_offset

L'offset numérique du champ. L'index du champ commence à 0. Si aucun n'est spécifié, le prochain champ qui n'a pas été récupéré par la fonction fbsql_fetch_field() sera retourné.

Valeurs de retour

Retourne un objet contenant les informations sur le champ ou FALSE si une erreur survient.

Les propriétés de l'objet sont :

  • "name" : nom de colonne
  • "table" : nom de la table d'origine
  • "max_length" : taille maximale de la colonne
  • "not_null" : 1 si la colonne ne peut être nulle
  • "type" : type de la colonne

Exemples

Exemple #1 Exemple avec fbsql_fetch_field()

<?php
fbsql_connect($host, $user, $password)
    or die("Impossible de se connecter");
$result = fbsql_db_query("database", "select * from table")
    or die("La requête a échoué");
// lire les données de colonnes
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Information de la colonne $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "Aucune information disponible<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

Voir aussi

  • fbsql_field_seek() - Déplace le pointeur de résultat

fbsql_fetch_assoc
fbsql_fetch_lengths
FrontBase Fonctions


Lit la taille de chaque colonne d'un résultat

fbsql_fetch_field
fbsql_fetch_object
FrontBase Fonctions
PHP Manual

fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_lengths — Lit la taille de chaque colonne d'un résultat

Description

array fbsql_fetch_lengths ( resource $result )

Stocke les tailles de chaque ligne de résultat retournée par
fbsql_fetch_row(),
fbsql_fetch_array() et
fbsql_fetch_object()
dans un tableau à indices numériques, commençant à 0.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne un tableau, commençant à l'offset 0, qui correspond aux tailles de chaque champ présent dans la dernière ligne récupérée par la fonction fbsql_fetch_row(), ou FALSE si une erreur survient.

Voir aussi

  • fbsql_fetch_row() - Lit une ligne de résultat sous forme de tableau numérique

fbsql_fetch_field
fbsql_fetch_object
FrontBase Fonctions


Lit une ligne de résultat sous forme d'objet

fbsql_fetch_lengths
fbsql_fetch_row
FrontBase Fonctions
PHP Manual

fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_object — Lit une ligne de résultat sous forme d'objet

Description

object fbsql_fetch_object ( resource $result )

fbsql_fetch_object() est similaire à fbsql_fetch_array(), à la différence qu'elle retourne un objet. Vous ne pouvez alors accéder aux données qu'avec les noms des colonnes, et sous la forme de membres d'objet, et non plus avec leurs index (les nombres ne peuvent représenter un membre d'objet).

En terme de vitesse, cette fonction est identique à fbsql_fetch_array() et presque aussi rapide que fbsql_fetch_row() (la différence n'est pas significative).

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne un objet dont les propriétés correspondent à la ligne récupérée ou FALSE s'il n'y a plus de ligne à lire.

Exemples

Exemple #1 Exemple avec fbsql_fetch_object()

<?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);
?>

Voir aussi

  • fbsql_fetch_array() - Lit toute une ligne de résultat dans un tableau
  • fbsql_fetch_row() - Lit une ligne de résultat sous forme de tableau numérique
  • fbsql_fetch_assoc() - Lit toute une ligne de résultat dans un tableau associatif

fbsql_fetch_lengths
fbsql_fetch_row
FrontBase Fonctions


Lit une ligne de résultat sous forme de tableau numérique

fbsql_fetch_object
fbsql_field_flags
FrontBase Fonctions
PHP Manual

fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_row — Lit une ligne de résultat sous forme de tableau numérique

Description

array fbsql_fetch_row ( resource $result )

fbsql_fetch_row() lit une ligne de données dans le résultat result et crée un tableau indexé.

Le prochain appel à fbsql_fetch_row() va lire la prochaine ligne, ou bien retourner FALSE s'il n'y a plus de ligne à lire.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée où chaque colonne du résultat y est stocké, en commençant par la position 0 ou FALSE s'il n'y a plus de ligne à lire.

Voir aussi

  • fbsql_fetch_array() - Lit toute une ligne de résultat dans un tableau
  • fbsql_fetch_assoc() - Lit toute une ligne de résultat dans un tableau associatif
  • fbsql_fetch_object() - Lit une ligne de résultat sous forme d'objet
  • fbsql_data_seek() - Déplace le pointeur interne de résultat FBSQL
  • fbsql_fetch_lengths() - Lit la taille de chaque colonne d'un résultat
  • fbsql_result() - Lit des données dans un résultat

fbsql_fetch_object
fbsql_field_flags
FrontBase Fonctions


Lit les options associées à une colonne de résultat

fbsql_fetch_row
fbsql_field_len
FrontBase Fonctions
PHP Manual

fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_flags — Lit les options associées à une colonne de résultat

Description

string fbsql_field_flags ( resource $result [, int $field_offset ] )

Lit les options associées à la colonne de résultat spécifiée dans le résultat.

Liste de paramètres

result

Un pointeur de résultat, retourné par la fonction fbsql_list_fields().

field_offset

La position numérique du champ. L'index des champs commence à 0.

Valeurs de retour

Retourne les options du champ field_offset, dans le résultat result. Les options sont retournées sous la forme d'un seul mot par option, séparées par des espaces, de façon à faciliter la manipulation avec explode().

fbsql_fetch_row
fbsql_field_len
FrontBase Fonctions


Retourne la taille d'un champ

fbsql_field_flags
fbsql_field_name
FrontBase Fonctions
PHP Manual

fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_len — Retourne la taille d'un champ

Description

int fbsql_field_len ( resource $result [, int $field_offset ] )

Retourne la taille du champ spécifié.

Liste de paramètres

result

Un pointeur de résultat, retourné par la fonction fbsql_list_fields().

field_offset

La position numérique du champ. L'index des champs commence à 0.

Valeurs de retour

Retourne la taille du champ spécifié.

fbsql_field_flags
fbsql_field_name
FrontBase Fonctions


Lit le nom d'un champ

fbsql_field_len
fbsql_field_seek
FrontBase Fonctions
PHP Manual

fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_name — Lit le nom d'un champ

Description

string fbsql_field_name ( resource $result [, int $field_index ] )

Lit le nom d'un champ à un index spécifié.

Liste de paramètres

result

Un pointeur de résultat, retourné par la fonction fbsql_list_fields().

field_index

La position numérique du champ. L'index des champs commence à 0.

Valeurs de retour

Retourne le nom sous la forme d'une chaîne de caractères ou FALSE si le champ n'existe pas.

Exemples

Exemple #1 Exemple avec fbsql_field_name()

<?php
// La table utilisateur est constituée de trois colonnes :
//   user_id
//   username
//   password

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

L'exemple ci-dessus va afficher :

user_id
password

Voir aussi

  • fbsql_field_type() - Lit le type d'une colonne

fbsql_field_len
fbsql_field_seek
FrontBase Fonctions


Déplace le pointeur de résultat

fbsql_field_name
fbsql_field_table
FrontBase Fonctions
PHP Manual

fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_seek — Déplace le pointeur de résultat

Description

bool fbsql_field_seek ( resource $result [, int $field_offset ] )

Place le pointeur de colonne à la colonne spécifiée. Si le prochain appel à fbsql_fetch_field() n'inclut pas un pointeur de champs, le pointeur du champ spécifié dans fbsql_field_seek() sera retourné.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

field_offset

La position numérique du champ. L'index des champs commence à 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_fetch_field() - Lit des informations sur une colonne dans un résultat, et retourne un objet

fbsql_field_name
fbsql_field_table
FrontBase Fonctions


Lit le nom de la table d'origine d'un champ

fbsql_field_seek
fbsql_field_type
FrontBase Fonctions
PHP Manual

fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_table — Lit le nom de la table d'origine d'un champ

Description

string fbsql_field_table ( resource $result [, int $field_offset ] )

Retourne le nom de la table d'où est issu le champ spécifié.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

field_offset

La position numérique du champ. L'index des champs commence à 0.

Valeurs de retour

Retourne le nom de la table, sous la forme d'une chaîne de caractères.

fbsql_field_seek
fbsql_field_type
FrontBase Fonctions


Lit le type d'une colonne

fbsql_field_table
fbsql_free_result
FrontBase Fonctions
PHP Manual

fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_type — Lit le type d'une colonne

Description

string fbsql_field_type ( resource $result [, int $field_offset ] )

fbsql_field_type() est similaire à la fonction fbsql_field_name(). Les arguments sont identiques, mais le type du champ est retourné.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

field_offset

La position numérique du champ. L'index des champs commence à 0.

Valeurs de retour

Retourne le type du champ sous la forme d'une chaîne de caractères.

Ce type peut être un parmi int, real, string, blob, et d'autres, tel que spécifié dans la » documentation de FrontBase.

Exemples

Exemple #1 Exemple avec fbsql_field_type()

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "Votre table '" . $table . "' a " . $fields . " colonnes et " . $rows . " lignes <br />";
echo "TLa table dispose des champs suivants <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

Voir aussi

  • fbsql_field_name() - Lit le nom d'un champ

fbsql_field_table
fbsql_free_result
FrontBase Fonctions


Libère le résultat de la mémoire

fbsql_field_type
fbsql_get_autostart_info
FrontBase Fonctions
PHP Manual

fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_free_result — Libère le résultat de la mémoire

Description

bool fbsql_free_result ( resource $result )

Libérer toute la mémoire utilisée par le résultat associé à la ressource result.

fbsql_free_result() n'a besoin d'être appelé que si vous craignez que votre script ne consomme trop de mémoire, lorsqu'une requête retourne de très grands résultats. Toutes les ressources mémoire utilisées par le script sont de toute manière libérées à la fin du script.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

fbsql_field_type
fbsql_get_autostart_info
FrontBase Fonctions


fbsql_free_result
fbsql_hostname
FrontBase Fonctions
PHP Manual

fbsql_get_autostart_info

(PHP 4 >= 4.0.7, PHP 5)

fbsql_get_autostart_info —

Description

array fbsql_get_autostart_info ([ resource $link_identifier ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

fbsql_free_result
fbsql_hostname
FrontBase Fonctions


Lit ou définit le nom de l'hôte à utiliser avec une connexion

fbsql_get_autostart_info
fbsql_insert_id
FrontBase Fonctions
PHP Manual

fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5)

fbsql_hostname — Lit ou définit le nom de l'hôte à utiliser avec une connexion

Description

string fbsql_hostname ( resource $link_identifier [, string $host_name ] )

Lit ou définit le nom de l'hôte à utiliser avec une connexion.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

host_name

Si fourni, ce sera le nouveau nom de l'hôte à utiliser.

Valeurs de retour

Retourne le nom de l'hôte courant pour la connexion.

Voir aussi

  • fbsql_username() - Lit ou définit le nom de login à utiliser avec une connexion
  • fbsql_password() - Lit ou définit le mot de passe à utiliser avec une connexion

fbsql_get_autostart_info
fbsql_insert_id
FrontBase Fonctions


Lit le dernier identifiant généré par une requête INSERT

fbsql_hostname
fbsql_list_dbs
FrontBase Fonctions
PHP Manual

fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5)

fbsql_insert_id — Lit le dernier identifiant généré par une requête INSERT

Description

int fbsql_insert_id ([ resource $link_identifier ] )

Retourne l'identifiant généré par la colonne de type DEFAULT UNIQUE, lors de la dernière requête INSERT.

Note: La valeur de la fonction FrontBase SQL fbsql_insert_id() retourne toujours la dernière valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les requêtes.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne l'identifiant généré depuis la dernière requête INSERT, ou 0 si la dernière requête n'a pas générée une valeur DEFAULT UNIQUE.

Si vous devez sauver cette valeur pour plus tard, n'oubliez pas d'appeler fbsql_insert_id() tout de suite après la requête qui a généré cette valeur.

Voir aussi

  • fbsql_affected_rows() - Lit le nombre de lignes affectées par la dernière requête

fbsql_hostname
fbsql_list_dbs
FrontBase Fonctions


Liste les bases de données FBSQL

fbsql_insert_id
fbsql_list_fields
FrontBase Fonctions
PHP Manual

fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_dbs — Liste les bases de données FBSQL

Description

resource fbsql_list_dbs ([ resource $link_identifier ] )

Retourne un résultat contenant la liste des bases de données disponibles sur le serveur link_identifier. Utilisez la fonction fbsql_tablename() pour passer en revue ce résultat.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un pointeur de résultat ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fbsql_list_dbs()

$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}

L'exemple ci-dessus va afficher quelque chose de similaire à :

database1
database2
database3
...

Note: L'exemple ci-dessus peut aussi bien fonctionner avec la fonction fbsql_fetch_row() ou toute autre similaire.

Voir aussi

  • fbsql_list_fields() - Liste les champs d'une table FrontBase
  • fbsql_list_tables() - Liste les tables dans une base de données FrontBase

fbsql_insert_id
fbsql_list_fields
FrontBase Fonctions


Liste les champs d'une table FrontBase

fbsql_list_dbs
fbsql_list_tables
FrontBase Fonctions
PHP Manual

fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_fields — Liste les champs d'une table FrontBase

Description

resource fbsql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )

Liste les champs d'une table fournie.

Liste de paramètres

database_name

Le nom de la base de données.

table_name

Le nom de la table.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un pointeur de résultat qui pourra être utilisé avec les fonctions fbsql_field_xxx ou FALSE si une erreur survient.

Erreurs / Exceptions

Une chaîne décrivant l'erreur sera placée dans la variable $phperrmsg, et ce, même si la fonction a été appelée comme ceci : @fbsql(), puis, l'erreur sera également affichée.

Exemples

Exemple #1 Exemple avec fbsql_list_fields()

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

field1
field2
field3
...

Voir aussi

  • fbsql_field_len() - Retourne la taille d'un champ
  • fbsql_field_name() - Lit le nom d'un champ
  • fbsql_field_type() - Lit le type d'une colonne
  • fbsql_field_flags() - Lit les options associées à une colonne de résultat

fbsql_list_dbs
fbsql_list_tables
FrontBase Fonctions


Liste les tables dans une base de données FrontBase

fbsql_list_fields
fbsql_next_result
FrontBase Fonctions
PHP Manual

fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_tables — Liste les tables dans une base de données FrontBase

Description

resource fbsql_list_tables ( string $database [, resource $link_identifier ] )

Retourne un pointeur de résultat décrivant la base de données database.

Liste de paramètres

database

Le nom de la base de données.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne un pointeur de résultat qui pourra être utilisé avec la fonction fbsql_tablename() pour lire les noms des tables ou FALSE si une erreur survient.

Voir aussi

  • fbsql_list_fields() - Liste les champs d'une table FrontBase
  • fbsql_list_dbs() - Liste les bases de données FBSQL

fbsql_list_fields
fbsql_next_result
FrontBase Fonctions


Déplace le pointeur interne vers le résultat suivant

fbsql_list_tables
fbsql_num_fields
FrontBase Fonctions
PHP Manual

fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_next_result — Déplace le pointeur interne vers le résultat suivant

Description

bool fbsql_next_result ( resource $result )

Lorsque vous envoyez plus d'une commande SQL au serveur ou que vous exécutez une procédure stockée avec de multiples résultats, cela va conduire le serveur à retourner plusieurs jeux de lignes. fbsql_next_result() va vérifier l'existence de plusieurs résultats disponibles sur le serveur. Si un autre jeu de résultats existe, fbsql_next_result() va détruire le résultat précédent et préparer la lecture dans les nouvelles lignes.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne TRUE si un jeu de résultats additionnel est disponible, FALSE sinon.

Exemples

Exemple #1 Exemple avec fbsql_next_result()

<?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);
?>

fbsql_list_tables
fbsql_num_fields
FrontBase Fonctions


Lit le nombre de champs dans un résultat

fbsql_next_result
fbsql_num_rows
FrontBase Fonctions
PHP Manual

fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_fields — Lit le nombre de champs dans un résultat

Description

int fbsql_num_fields ( resource $result )

Retourne le nombre de champs dans le résultat result.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne le nombre de champs, sous la forme d'un entier.

Voir aussi

  • fbsql_db_query() - Envoie une requête à la base FrontBase
  • fbsql_query() - Exécute une requête sur un serveur FrontBase
  • fbsql_fetch_field() - Lit des informations sur une colonne dans un résultat, et retourne un objet
  • fbsql_num_rows() - Lit le nombre de lignes dans un résultat

fbsql_next_result
fbsql_num_rows
FrontBase Fonctions


Lit le nombre de lignes dans un résultat

fbsql_num_fields
fbsql_password
FrontBase Fonctions
PHP Manual

fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_rows — Lit le nombre de lignes dans un résultat

Description

int fbsql_num_rows ( resource $result )

Lit le nombre de lignes dans le jeu de résultats result.

Cette fonction n'est valable qu'avec les commandes SELECT. Pour connaître le nombre de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez fbsql_affected_rows().

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne le nombre de lignes retourné par la dernière requête SELECT.

Exemples

Exemple #1 Exemple avec fbsql_num_rows()

<?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 lignes\n";

?>

Voir aussi

  • fbsql_affected_rows() - Lit le nombre de lignes affectées par la dernière requête
  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase
  • fbsql_select_db() - Sélectionne une base de données FrontBase
  • fbsql_query() - Exécute une requête sur un serveur FrontBase

fbsql_num_fields
fbsql_password
FrontBase Fonctions


Lit ou définit le mot de passe à utiliser avec une connexion

fbsql_num_rows
fbsql_pconnect
FrontBase Fonctions
PHP Manual

fbsql_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_password — Lit ou définit le mot de passe à utiliser avec une connexion

Description

string fbsql_password ( resource $link_identifier [, string $password ] )

Lit ou définit le mot de passe à utiliser avec une connexion.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

password

Si fourni, il sera le nouveau mot de passe pour la connexion.

Valeurs de retour

Retourne le mot de passe courant pour la connexion.

Voir aussi

  • fbsql_username() - Lit ou définit le nom de login à utiliser avec une connexion
  • fbsql_hostname() - Lit ou définit le nom de l'hôte à utiliser avec une connexion

fbsql_num_rows
fbsql_pconnect
FrontBase Fonctions


Ouvre une connexion persistante sur un serveur FrontBase

fbsql_password
fbsql_query
FrontBase Fonctions
PHP Manual

fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_pconnect — Ouvre une connexion persistante sur un serveur FrontBase

Description

  resource  fbsql_pconnect
  ([  string  $hostname = ini_get("fbsql.default_host")
 [,  string  $username = ini_get("fbsql.default_user")
 [,  string  $password = ini_get("fbsql.default_password")
]]] )

Ouvre une connexion persistante sur un serveur FrontBase.

Pour choisir le port d'accès au serveur FrontBase, voyez fbsql_select_db().

fbsql_pconnect() se comporte comme fbsql_connect() avec deux différences majeures :

Premièrement, lors de la connexion, fbsql_pconnect() essaie de trouver une connexion permanente déjà ouverte sur cet hôte, avec les mêmes nom d'utilisateur et mot de passe. Si une telle connexion est trouvée, son identifiant est retourné sans ouvrir de nouvelle connexion.

Deuxièmement, la connexion au serveur fbssl ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès (fbsql_close() ne terminera pas une connexion persistante établie par fbsql_pconnect()).

C'est pourquoi ce type de connexion est dit 'persistant'.

Liste de paramètres

hostname

Le nom de l'hôte du serveur.

username

Le nom d'utilisateur pour la connexion.

password

Le mot de passe pour la connexion.

Valeurs de retour

Retourne un identifiant de connexion persistante FrontBase en cas de succès, ou FALSE si une erreur survient.

Voir aussi

  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase

fbsql_password
fbsql_query
FrontBase Fonctions


Exécute une requête sur un serveur FrontBase

fbsql_pconnect
fbsql_read_blob
FrontBase Fonctions
PHP Manual

fbsql_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_query — Exécute une requête sur un serveur FrontBase

Description

resource fbsql_query ( string $query [, resource $link_identifier [, int $batch_size ]] )

Envoie la requête query à la base de données courante, sur le serveur.

Lorsque la requête réussit, vous pouvez utilisez fbsql_num_rows() pour savoir combien de lignes ont été retournées par une requête SELECT, ou fbsql_affected_rows() pour les autres requêtes (DELETE, INSERT, REPLACE et UPDATE).

Liste de paramètres

query

La requête SQL à exécuter.

Note: La requête doit toujours se terminer par un point virgule.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

batch_size

Valeurs de retour

fbsql_query() retourne une ressource en cas de succès, ou FALSE, en cas d'échec. Si TRUE est retourné, cela signifie que la requête est correcte et qu'elle peut être exécutée par le serveur. Cela n'indique rien sur le nombre de lignes concernées ou retournées. Il est tout à fait possible qu'une requête réussisse mais qu'aucune ligne ne soit affectée ni retournée.

Pour les requêtes SELECT, fbsql_query() retourne une ressource de résultat, que vous pouvez passer à fbsql_result().

fbsql_query() échouera si vous n'avez pas les droits d'accès sur l'une des bases de données utilisées dans la requête.

Exemples

La requête suivante est invalide, et fbsql_query() échouera puis retournera FALSE :

Exemple #1 Exemple avec fbsql_query()

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Requête invalide");
?>

La requête suivante est invalide si my_col n'est pas une colonne dans la table my_tbl : fbsql_query() échouera puis retournera FALSE :

Exemple #2 Exemple avec fbsql_query()

<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
    or die ("Requête invalide");
?>

Voir aussi

  • fbsql_affected_rows() - Lit le nombre de lignes affectées par la dernière requête
  • fbsql_db_query() - Envoie une requête à la base FrontBase
  • fbsql_free_result() - Libère le résultat de la mémoire
  • fbsql_result() - Lit des données dans un résultat
  • fbsql_select_db() - Sélectionne une base de données FrontBase
  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase

fbsql_pconnect
fbsql_read_blob
FrontBase Fonctions


Lit un BLOB dans une base de données

fbsql_query
fbsql_read_clob
FrontBase Fonctions
PHP Manual

fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_blob — Lit un BLOB dans une base de données

Description

string fbsql_read_blob ( string $blob_handle [, resource $link_identifier ] )

Lit un BLOB d'une base de données.

Si une sélection contient une colonne de type BLOB et/ou de type CLOB, FrontBase retournera directement les données lors de la lecture. Ce comportement par défaut peut être modifié avec la fonction fbsql_set_lob_mode() pour que les fonctions de lecture ne retournent qu'un identifiant de BLOB ou CLOB. Si un identifiant est lu, il faut utiliser la fonction fbsql_read_blob() pour obtenir la valeur du BLOB.

Liste de paramètres

blob_handle

Un gestionnaire BLOB, retourné par la fonction fbsql_create_blob().

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne une chaîne de caractères contenant les données du BLOB spécifié.

Exemples

Exemple #1 Exemple avec fbsql_read_blob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] contiendra maintenant les données du blob de la première
// ligne
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] contient maintenant un gestionnaire vers les données BLOB
// dans la première ligne
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

Voir aussi

  • fbsql_create_blob() - Crée un BLOB
  • fbsql_read_clob() - Lit un CLOB dans une base de données
  • fbsql_set_lob_mode() - Modifie le mode de lecture des LOB

fbsql_query
fbsql_read_clob
FrontBase Fonctions


Lit un CLOB dans une base de données

fbsql_read_blob
fbsql_result
FrontBase Fonctions
PHP Manual

fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_clob — Lit un CLOB dans une base de données

Description

string fbsql_read_clob ( string $clob_handle [, resource $link_identifier ] )

Lit un CLOB d'une base de données.

Si une sélection contient une colonne de type CLOB et/ou de type BLOB, FrontBase retournera directement les données lors de la lecture. Ce comportement par défaut peut être modifié avec la fonction fbsql_set_lob_mode() pour que les fonctions de lecture ne retournent qu'un identifiant de BLOB ou CLOB. Si un identifiant est lu, il faut utiliser la fonction fbsql_read_clob() pour obtenir la valeur du CLOB.

Liste de paramètres

clob_handle

Un gestionnaire CLOB, retourné par la fonction fbsql_create_clob().

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Retourne une chaîne de caractères contenant les données du CLOB spécifié.

Exemples

Exemple #1 Exemple avec fbsql_read_clob()

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Impossible de se connecter");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] contiendra maintenant les données du blob de la
// première ligne
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] contiendra maintenant un identifiant vers les
// données du clob de la première ligne
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

Voir aussi

  • fbsql_create_clob() - Crée un CLOB
  • fbsql_read_blob() - Lit un BLOB dans une base de données
  • fbsql_set_lob_mode() - Modifie le mode de lecture des LOB

fbsql_read_blob
fbsql_result
FrontBase Fonctions


Lit des données dans un résultat

fbsql_read_clob
fbsql_rollback
FrontBase Fonctions
PHP Manual

fbsql_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_result — Lit des données dans un résultat

Description

mixed fbsql_result ( resource $result [, int $row [, mixed $field ]] )

Retourne le contenu d'une cellule depuis un jeu de résultat FrontBase.

Lorsque vous travaillez sur de grands résultats, il est vivement recommandé d'utiliser les fonctions qui lisent toute une ligne d'un coup, plutôt que fbsql_result() qui travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi que les offset numériques sont plus rapides que les offset nominaux.

L'utilisation de fbsql_result() ne doit pas être mélangée avec d'autres fonctions qui utilisent aussi le résultat result.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

row

field

Peut être la position du champ ou le nom du champ, ou le nom de la table, suivi d'un point, suivi du nom du champ (tablename.fieldname).

Si vous n'utilisez pas d'alias ('select foo as bar from...'), utilisez plutôt le nom de la colonne.

Note: Le fait de spécifier une position numérique pour l'argument du champ est plus rapide que de spécifier le nom du champ ou la forme tablename.fieldname comme argument.

Valeurs de retour

Voir aussi

Alternatives vivement recommandées :

  • fbsql_fetch_row() - Lit une ligne de résultat sous forme de tableau numérique
  • fbsql_fetch_array() - Lit toute une ligne de résultat dans un tableau
  • fbsql_fetch_assoc() - Lit toute une ligne de résultat dans un tableau associatif
  • fbsql_fetch_object() - Lit une ligne de résultat sous forme d'objet

fbsql_read_clob
fbsql_rollback
FrontBase Fonctions


Annule une transaction FBSQL

fbsql_result
fbsql_rows_fetched
FrontBase Fonctions
PHP Manual

fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5)

fbsql_rollback — Annule une transaction FBSQL

Description

bool fbsql_rollback ([ resource $link_identifier ] )

Termine la transaction courante en annulant toutes les requêtes émises depuis la dernière validation.

Cette commande n'est utile que si FrontBase est en mode de validation manuelle.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_autocommit() - Active ou désactive la validation automatique
  • fbsql_commit() - Valide une transaction

fbsql_result
fbsql_rows_fetched
FrontBase Fonctions


Récupère le nombre de lignes affectées par la dernière requête

fbsql_rollback
fbsql_select_db
FrontBase Fonctions
PHP Manual

fbsql_rows_fetched

(PHP 5 >= 5.1.0)

fbsql_rows_fetched — Récupère le nombre de lignes affectées par la dernière requête

Description

int fbsql_rows_fetched ( resource $result )

Récupère le nombre de lignes affectées par la dernière requête.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier.

fbsql_rollback
fbsql_select_db
FrontBase Fonctions


Sélectionne une base de données FrontBase

fbsql_rows_fetched
fbsql_set_characterset
FrontBase Fonctions
PHP Manual

fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_select_db — Sélectionne une base de données FrontBase

Description

bool fbsql_select_db ([ string $database_name [, resource $link_identifier ]] )

Sélectionne une base de données FrontBase.

Le client contacte FBExec pour connaître le numéro de port à utiliser pour la connexion à la base de données. Si le nom de la base est un numéro, le système l'utilisera comme numéro de port, et ne le demandera pas à FBExec. Le serveur Frontbase peut être démarré avec la commande : FRontBase -FBExec=No -port=<port number> <database name>.

Tous les prochains appels à fbsql_query() se feront dans la base database_name.

Liste de paramètres

database_name

Le nom de la base de données à sélectionner.

Si la base de données est protégée avec un mot de passe, l'utilisateur doit appeler la fonction fbsql_database_password() avant de sélectionner la base de données.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_connect() - Ouvre une connexion à un serveur FrontBase
  • fbsql_pconnect() - Ouvre une connexion persistante sur un serveur FrontBase
  • fbsql_database_password() - Modifie/lit le mot de passe dans une base FBSQL
  • fbsql_query() - Exécute une requête sur un serveur FrontBase

fbsql_rows_fetched
fbsql_set_characterset
FrontBase Fonctions


Modifie le jeu de caractères pour l'entrée / sortie

fbsql_select_db
fbsql_set_lob_mode
FrontBase Fonctions
PHP Manual

fbsql_set_characterset

(PHP 5 >= 5.1.0)

fbsql_set_characterset — Modifie le jeu de caractères pour l'entrée / sortie

Description

void fbsql_set_characterset ( resource $link_identifier , int $characterset [, int $in_out_both ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

fbsql_select_db
fbsql_set_lob_mode
FrontBase Fonctions


Modifie le mode de lecture des LOB

fbsql_set_characterset
fbsql_set_password
FrontBase Fonctions
PHP Manual

fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_lob_mode — Modifie le mode de lecture des LOB

Description

bool fbsql_set_lob_mode ( resource $result , int $lob_mode )

Modifie le mode de lecture des LOB depuis la base de données.

Lorsque des données BLOB ou CLOB sont stockées dans une base de données FrontBase, elles peuvent l'être de manière directe ou indirecte. Si les données sont stockées directement, elles seront automatiquement lues, quel que soit le mode choisi. Si un LOB fait moins de 512 octets, il sera aussi stocké directement.

Liste de paramètres

result

Un identifiant de résultat retourné par la fonction fbsql_query() ou la fonction fbsql_db_query().

lob_mode

Peut être un parmi :

  • FBSQL_LOB_DIRECT - les données LOB sont lues directement. Lorsque les données sont lues dans la base avec fbsql_fetch_row() ou d'autres fonctions de lecture, toutes les colonnes de type CLOB et BLOB seront retournées comme des colonnes habituelles. C'est le comportement par défaut de FrontBase.
  • FBSQL_LOB_HANDLE - Les données LOB sont lues sous forme d'identifiants. Lorsque les données sont lues dans la base avec fbsql_fetch_row() ou d'autres fonctions de lecture, toutes les colonnes de type CLOB et BLOB seront retournées sous la forme d'un identifiant. Cet identifiant sera une chaîne de 27 caractères de long, formatée comme ceci : "@'000000000000000000000000'".

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_create_blob() - Crée un BLOB
  • fbsql_create_clob() - Crée un CLOB
  • fbsql_read_blob() - Lit un BLOB dans une base de données
  • fbsql_read_clob() - Lit un CLOB dans une base de données

fbsql_set_characterset
fbsql_set_password
FrontBase Fonctions


Change le mot de passe de l'utilisateur spécifié

fbsql_set_lob_mode
fbsql_set_transaction
FrontBase Fonctions
PHP Manual

fbsql_set_password

(PHP 5)

fbsql_set_password — Change le mot de passe de l'utilisateur spécifié

Description

bool fbsql_set_password ( resource $link_identifier , string $user , string $password , string $old_password )

Change le mot de passe de l'utilisateur user.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

user

Le nom de l'utilisateur.

password

Le nouveau mot de passe à définir.

old_password

L'ancien mot de passe à remplacer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

fbsql_set_lob_mode
fbsql_set_transaction
FrontBase Fonctions


Configure le verrouillage et l'isolation de transactions

fbsql_set_password
fbsql_start_db
FrontBase Fonctions
PHP Manual

fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_transaction — Configure le verrouillage et l'isolation de transactions

Description

void fbsql_set_transaction ( resource $link_identifier , int $locking , int $isolation )

Configure le verrouillage et l'isolation de la transaction.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

locking

Le type de verrouillage à définir. Il peut être une constante parmi : FBSQL_LOCK_DEFERRED, FBSQL_LOCK_OPTIMISTIC, ou FBSQL_LOCK_PESSIMISTIC.

isolation

Le type d'isolation à définir. Il peut être une constante parmi : FBSQL_ISO_READ_UNCOMMITTED, FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ, FBSQL_ISO_SERIALIZABLE, ou FBSQL_ISO_VERSIONED.

Valeurs de retour

Aucune valeur n'est retournée.

fbsql_set_password
fbsql_start_db
FrontBase Fonctions


Démarre une base de données FBSQL

fbsql_set_transaction
fbsql_stop_db
FrontBase Fonctions
PHP Manual

fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_start_db — Démarre une base de données FBSQL

Description

bool fbsql_start_db ( string $database_name [, resource $link_identifier [, string $database_options ]] )

Démarre une base de données FBSQL.

Liste de paramètres

database_name

Le nom de la base de données.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

database_options

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_db_status() - Lit le statut courant d'une base de données
  • fbsql_stop_db() - Stoppe une base de données FBSQL

fbsql_set_transaction
fbsql_stop_db
FrontBase Fonctions


Stoppe une base de données FBSQL

fbsql_start_db
fbsql_table_name
FrontBase Fonctions
PHP Manual

fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_stop_db — Stoppe une base de données FBSQL

Description

bool fbsql_stop_db ( string $database_name [, resource $link_identifier ] )

Stoppe une base de données FBSQL sur un serveur local ou distant.

Liste de paramètres

database_name

Le nom de la base de données.

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fbsql_db_status() - Lit le statut courant d'une base de données
  • fbsql_start_db() - Démarre une base de données FBSQL

fbsql_start_db
fbsql_table_name
FrontBase Fonctions


Récupère le nom de la table d'un champ

fbsql_stop_db
fbsql_tablename
FrontBase Fonctions
PHP Manual

fbsql_table_name

(PHP 4 >= 4.2.0, PHP 5)

fbsql_table_name — Récupère le nom de la table d'un champ

Description

string fbsql_table_name ( resource $result , int $index )

fbsql_table_name() récupère le nom de la table courante dans le jeu de résultats result.

La fonction fbsql_num_rows() peut être utilisée pour déterminer le nombre de tables dans le pointeur de résultats.

Liste de paramètres

result

Un pointeur de résultats retourné par la fonction fbsql_list_tables().

index

L'index de la table courante, sous la forme d'un entier.

Valeurs de retour

Retourne le nom de la table, sous le forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec fbsql_table_name()

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_table_name($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>

fbsql_stop_db
fbsql_tablename
FrontBase Fonctions


Alias de de fbsql_table_name

fbsql_table_name
fbsql_username
FrontBase Fonctions
PHP Manual

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5)

fbsql_tablename — Alias de de fbsql_table_name()

Description

Cette fonction est un alias de : fbsql_table_name().

fbsql_table_name
fbsql_username
FrontBase Fonctions


Lit ou définit le nom de login à utiliser avec une connexion

fbsql_tablename
fbsql_warnings
FrontBase Fonctions
PHP Manual

fbsql_username

(PHP 4 >= 4.0.6, PHP 5)

fbsql_username — Lit ou définit le nom de login à utiliser avec une connexion

Description

string fbsql_username ( resource $link_identifier [, string $username ] )

Lit ou définit le nom de login à utiliser avec la connexion.

Liste de paramètres

link_identifier

Un identifiant de lien FrontBase retourné par la fonction fbsql_connect() ou la fonction fbsql_pconnect().

Si ce paramètre est optionnel et qu'il n'est pas spécifié, la fonction tentera de trouver un lien ouvert vers le serveur FrontBase et un tel lien n'est pas trouvé, la fonction tentera d'en créer un, de la même façon que si la fonction fbsql_connect() est appelée sans aucun argument.

username

Si fourni, il sera le nouveau nom de l'utilisateur à définir.

Valeurs de retour

Retourne le nom de l'utilisateur courant utilisé avec la connexion, sous la forme d'une chaîne de caractères.

Voir aussi

  • fbsql_password() - Lit ou définit le mot de passe à utiliser avec une connexion
  • fbsql_hostname() - Lit ou définit le nom de l'hôte à utiliser avec une connexion

fbsql_tablename
fbsql_warnings
FrontBase Fonctions


Active ou désactive les alertes FrontBase

fbsql_username
filePro
FrontBase Fonctions
PHP Manual

fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5)

fbsql_warnings — Active ou désactive les alertes FrontBase

Description

bool fbsql_warnings ([ bool $OnOff ] )

Active ou désactive les alertes FrontBase.

Liste de paramètres

OnOff

Si l'on doit activer ou non les alertes.

Valeurs de retour

Retourne TRUE si les alertes sont actives, FALSE sinon.

Voir aussi

  • fbsql_errno() - Retourne le code d'erreur FrontBase
  • fbsql_error() - Retourne le message d'erreur FrontBase

fbsql_username
filePro
FrontBase Fonctions


filePro

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions filePro
    • filepro_fieldcount — Retourne le nombre de champs dans une base filePro
    • filepro_fieldname — Retourne le nom d'un champ filePro
    • filepro_fieldtype — Retourne le type d'un champ filePro
    • filepro_fieldwidth — Retourne la taille d'un champ filePro
    • filepro_retrieve — Retourne la valeur d'un champ filePro
    • filepro_rowcount — Retourne le nombre de lignes dans une base filePro
    • filepro — Lit et vérifie un fichier
fbsql_warnings
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions permettent de lire des données enregistrées dans des bases de données non modifiables filePro.

filePro est une marque de fP Technologies, Inc. Vous pouvez avoir plus de détails sur filePro en visitant » http://www.fptech.com/.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.2.0.

filePro
Installation/Configuration
filePro


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
filePro


Installation

Le support de filePro n'est pas activé par défaut dans PHP. Pour utiliser le support fourni dans la distribution, qui assure l'accès en lecture seule, vous devez compiler PHP avec l'option --enable-filepro.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions filePro
filePro


Fonctions filePro

Sommaire

  • filepro_fieldcount — Retourne le nombre de champs dans une base filePro
  • filepro_fieldname — Retourne le nom d'un champ filePro
  • filepro_fieldtype — Retourne le type d'un champ filePro
  • filepro_fieldwidth — Retourne la taille d'un champ filePro
  • filepro_retrieve — Retourne la valeur d'un champ filePro
  • filepro_rowcount — Retourne le nombre de lignes dans une base filePro
  • filepro — Lit et vérifie un fichier
Constantes pré-définies
filepro_fieldcount
filePro


Retourne le nombre de champs dans une base filePro

Fonctions filePro
filepro_fieldname
Fonctions filePro
PHP Manual

filepro_fieldcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldcount — Retourne le nombre de champs dans une base filePro

Description

int filepro_fieldcount ( void )

Retourne le nombre de champs (ou colonnes) d'une base filePro.

Valeurs de retour

Retourne le nombre de champs d'une base de donnée filePro ouverte, ou FALSE si une erreur survient.

Voir aussi

  • filepro() - Lit et vérifie un fichier

Fonctions filePro
filepro_fieldname
Fonctions filePro


Retourne le nom d'un champ filePro

filepro_fieldcount
filepro_fieldtype
Fonctions filePro
PHP Manual

filepro_fieldname

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldname — Retourne le nom d'un champ filePro

Description

string filepro_fieldname ( int $field_number )

Retourne le nom du champ d'index field_number.

Liste de paramètres

field_number

Le numéro du champs.

Valeurs de retour

Retourne le nom du champs sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

filepro_fieldcount
filepro_fieldtype
Fonctions filePro


Retourne le type d'un champ filePro

filepro_fieldname
filepro_fieldwidth
Fonctions filePro
PHP Manual

filepro_fieldtype

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldtype — Retourne le type d'un champ filePro

Description

string filepro_fieldtype ( int $field_number )

Retourne le type du champ d'index field_number.

Liste de paramètres

field_number

Le numéro du champs.

Valeurs de retour

Retourne le type du champs sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

filepro_fieldname
filepro_fieldwidth
Fonctions filePro


Retourne la taille d'un champ filePro

filepro_fieldtype
filepro_retrieve
Fonctions filePro
PHP Manual

filepro_fieldwidth

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldwidth — Retourne la taille d'un champ filePro

Description

int filepro_fieldwidth ( int $field_number )

Retourne la taille du champ d'index field_number.

Liste de paramètres

field_number

Le numéro du champs.

Valeurs de retour

Retourne la taille du champs sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

filepro_fieldtype
filepro_retrieve
Fonctions filePro


Retourne la valeur d'un champ filePro

filepro_fieldwidth
filepro_rowcount
Fonctions filePro
PHP Manual

filepro_retrieve

(PHP 4, PHP 5 <= 5.1.6)

filepro_retrieve — Retourne la valeur d'un champ filePro

Description

string filepro_retrieve ( int $row_number , int $field_number )

Retourne les données à partir de l'endroit spécifié dans la base de données.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Liste de paramètres

row_number

Le numéro de ligne. Doit être compris entre 0 et le nombre total de lignes moins une (0..filepro_rowcount() - 1)

field_number

Le numéro du champs. Doit être compris entre 0 et le nombre total de champs moins un (0..filepro_fieldcount() - 1)

Valeurs de retour

Retourne les données spécifiées, ou FALSE si une erreur survient.

filepro_fieldwidth
filepro_rowcount
Fonctions filePro


Retourne le nombre de lignes dans une base filePro

filepro_retrieve
filepro
Fonctions filePro
PHP Manual

filepro_rowcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_rowcount — Retourne le nombre de lignes dans une base filePro

Description

int filepro_rowcount ( void )

Retourne le nombre de lignes dans une base filePro.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Valeurs de retour

Retourne le nombre de lignes d'une base de données filePro ouverte, ou FALSE si une erreur survient.

Voir aussi

  • filepro() - Lit et vérifie un fichier

filepro_retrieve
filepro
Fonctions filePro


Lit et vérifie un fichier

filepro_rowcount
Firebird/InterBase
Fonctions filePro
PHP Manual

filepro

(PHP 4, PHP 5 <= 5.1.6)

filepro — Lit et vérifie un fichier

Description

bool filepro ( string $directory )

Lit et vérifie un fichier, puis enregistre le nombre de champs et de lignes.

Aucun verrouillage n'est pratiqué : il vaut alors mieux ne pas modifier la base filePro lorsqu'elle est ouverte par PHP.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Liste de paramètres

directory

Le dossier du fichier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

filepro_rowcount
Firebird/InterBase
Fonctions filePro


Firebird/InterBase

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Firebird/InterBase
    • ibase_add_user — Ajoute un utilisateur à une base de données de sécurité (uniquement pour IB6 ou plus récent)
    • ibase_affected_rows — Retourne le nombre de lignes affectées par la dernière requête iBase
    • ibase_backup — Effectue une sauvegarde de base de données InterBase
    • ibase_blob_add — Ajoute des données dans un BLOB iBase fraîchement créé
    • ibase_blob_cancel — Annule la création d'un BLOB iBase
    • ibase_blob_close — Ferme un BLOB ibase
    • ibase_blob_create — Crée un BLOB iBase pour ajouter des données
    • ibase_blob_echo — Affiche le contenu d'un BLOB iBase au navigateur
    • ibase_blob_get — Lit len octets de données dans un BLOB iBase ouvert
    • ibase_blob_import — Crée un BLOB iBase, y copie un fichier et le referme
    • ibase_blob_info — Retourne la taille d'un BLOB iBase et d'autres informations utiles
    • ibase_blob_open — Ouvre un BLOB iBase pour récupérer des parties de données
    • ibase_close — Ferme une connexion à une base de données Interbase
    • ibase_commit_ret — Valide une transaction iBase sans la refermer
    • ibase_commit — Valide une transaction iBase
    • ibase_connect — Ouvre une connexion à une base de données InterBase
    • ibase_db_info — Demande des statistiques sur une base de données Interbase
    • ibase_delete_user — Efface un utilisateur d'une base de données de sécurité (uniquement pour IB6 ou plus récent)
    • ibase_drop_db — Supprime une base de données iBase
    • ibase_errcode — Retourne le code d'erreur iBase
    • ibase_errmsg — Retourne un message d'erreur
    • ibase_execute — Exécute une requête iBase préparée
    • ibase_fetch_assoc — Récupère une ligne du résultat d'une requête dans un tableau associatif
    • ibase_fetch_object — Lit une ligne dans une base Interbase dans un objet
    • ibase_fetch_row — Lit une ligne d'une base Interbase
    • ibase_field_info — Lit les informations sur un champ iBase
    • ibase_free_event_handler — Libère un gestionnaire d'événements iBase
    • ibase_free_query — Libère la mémoire réservée par une requête préparée
    • ibase_free_result — Libère un résultat iBase
    • ibase_gen_id — Incrémente le générateur donné et retourne sa nouvelle valeur
    • ibase_maintain_db — Exécute une commande de maintenance sur une base de données Interbase
    • ibase_modify_user — Modifie un utilisateur dans une base de données de sécurité (uniquement pour InterBase6 ou plus récent)
    • ibase_name_result — Assigne un nom à un jeu de résultats iBase
    • ibase_num_fields — Retourne le nombre de colonnes dans un résultat iBase
    • ibase_num_params — Retourne le nombre de paramètres dans une requête préparée iBase
    • ibase_param_info — Retourne des informations à propos d'un paramètre dans une requête préparée iBase
    • ibase_pconnect — Ouvre une connexion persistante à une base de données InterBase
    • ibase_prepare — Prépare une requête iBase pour lier les paramètres et l'exécuter ultérieurement
    • ibase_query — Exécute une requête sur une base iBase
    • ibase_restore — Restaure une sauvegarde de base de données Interbase
    • ibase_rollback_ret — Annule une transaction sans la fermer
    • ibase_rollback — Annule une transaction interBase
    • ibase_server_info — Demande des informations sur le serveur Interbase
    • ibase_service_attach — Connexion au service de gestion Interbase
    • ibase_service_detach — Déconnexion du service de gestion Interbase
    • ibase_set_event_handler — Enregistre une fonction de rappel sur un événement interBase
    • ibase_timefmt — Fixe le format de date pour les prochaines requêtes
    • ibase_trans — Prépare une transaction interBase
    • ibase_wait_event — Attend un événement interBase
filepro
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Firebird/InterBase est une base de données relationnelles offrant la plus part des fonctionnalités décrites dans la norme ANSI SQL-92, qui fonctionne sous environnements Linux, Windows, et la plus part des systèmes Unix. Firebird/InterBase offre une excellente simultanéité, de hautes performances et un langage efficace pour l'écriture des procédures stockées et des déclencheurs. Il est utilisé sur des systèmes de production depuis 1981.

Interbase est le nom de la variante commerciale de cette base de données créée par Borland/Inprise. Pour plus d'informations sur Interbase, allez à » http://www.borland.com/interbase/.

Firebird est un projet commercialement indépendant de programmeurs C et C++, conseillés techniques, supportant le développement et assurant la compatibilité multi-plate-forme de la base de données relationnelle basé sur le code source offert par Inprise Corp. (maintenant connu sous le nom de Borland Software Corp.) sous la licence "InterBase Public License v.1.0 le 25 Juillet 2000". Pour plus d'informations sur Firebird, allez à » http://www.firebirdsql.org/.

Note: Cette extension supporte Interbase version 5 et suivante ainsi que toutes les versions de Firebird. Le support d'Interbase version 5.x sera supprimé dans PHP 5.
Cette base de données utilise les guillemets simples (') pour échapper les caractères, un peu comme le fait Sybase. Ajoutez à votre fichier php.ini la directive suivante :

magic_quotes_sybase = On

Firebird/InterBase
Installation/Configuration
Firebird/InterBase


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Firebird/InterBase


Installation

Pour activer le support de ibase, vous devez compiler PHP avec l'option --with-interbase[=DIR], où DIR est le dossier d'installation Interbase (qui est par défaut, /usr/interbase).

Note: Note aux utilisateurs Win32
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : gds32.dll
Dans le cas où vous installeriez un serveur InterBase sur la même machine que celle faisant fonctionner PHP, vous devriez déjà avoir cette bibliothèque. Ainsi, ne vous en faites pas car gds32.dll sera déjà dans votre PATH.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration iBase
Nom | Défaut | Modifiable | Historique
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

ibase.allow_persistent booléen

Accepte ou non les connexions persistantes à Firebird/Interbase.

ibase.max_persistent entier

Le nombre maximal de connexions persistantes Firebird/Interbase par processus. Les nouvelles connexions avec ibase_pconnect() ne seront pas persistantes si ce nombre maximal est atteint.

ibase.max_links entier

Le nombre maximal de connexions Firebird/Interbase par processus, incluant les connexions persistantes.

ibase.default_db chaîne de caractères

Le nom de la base de données par défaut lorsque ibase_[p]connect() est appelé sans base de données spécifique. Si cette valeur est définie et que le mode sécurisé (safe mode) SQL est activé, aucune connexion à d'autres bases de données que celle-ci ne sera autorisée.

ibase.default_user chaîne de caractères

Le nom d'utilisateur utilisé lors de la connexion à la base de données lorsque aucun n'est spécifié.

ibase.default_password chaîne de caractères

Le mot de passe utilisé lors de la connexion à la base de données lorsque aucun n'est spécifié.

ibase.default_charset chaîne de caractères

Le jeux de caractères utilisé lors de la connexion à la base de données lorsque aucun n'est spécifié.

ibase.timestampformat chaîne de caractères

ibase.dateformat chaîne de caractères

ibase.timeformat chaîne de caractères

Ces directives sont utilisées pour définir les formats de dates et d'heures qui seront utilisés lorsque des dates/heures seront retournées d'un jeux de résultat, ou lors de traitement d'arguments en paramètres dates/heures.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes suivantes peuvent être passées à la fonction ibase_trans() pour spécifier le comportement du traitement.

Constantes Firebird/InterBase
Constante | Description
IBASE_DEFAULT | Définit le comportement par défaut. Ce comportement est déterminé par la bibliothèque cliente, qui est définie comme IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT dans la plus part des cas.
IBASE_READ | Démarre une transaction en lecture seul
IBASE_WRITE | Démarre une transaction en lecture / écriture
IBASE_CONSISTENCY | Démarre une transaction avec le niveau d'isolation définie à 'consistency', ce qui signifie que le transaction courante ne peut lire depuis des tables qui ont été modifiées par d'autres transactions.
IBASE_CONCURRENCY | Démarre une transaction avec le niveau d'isolation définie à 'concurrency' (ou 'snapshot'), ce qui signifie que la transaction peut accéder à toutes les tables, mais ne peut pas voir les modifications apportées par d'autres transactions une fois que la transaction a débuté.
IBASE_COMMITTED | Démarre une transaction avec le niveau d'isolation définie à 'read committed'. Ce flag doit être associé avec soit la constante IBASE_REC_VERSION, soit la constante IBASE_REC_NO_VERSION. Ce niveau d'isolation vous permet d'accéder aux modifications effectuées après le début de la transaction. Si la constante IBASE_REC_NO_VERSION est spécifiée, seulement la dernière version des lignes pourra être lue. Si la constante IBASE_REC_VERSION est spécifiée, une ligne peut toujours être lue lorsqu'une modification est en attente dans une transaction concurrente.
IBASE_WAIT | Indique que la transaction peut attendre, puis réessayer lorsqu'un conflit apparaît.
IBASE_NOWAIT | Indique que la transaction échouera immédiatement lorsqu'un conflit apparaît.

Les constantes suivantes peuvent être passées aux fonctions ibase_fetch_row(), ibase_fetch_assoc() ou ibase_fetch_object() pour spécifier leurs comportements.

Constantes Firebird/InterBase
Constante | Description
IBASE_FETCH_BLOBS | Aussi disponible sous le nom IBASE_TEXT pour des raisons de compatibilité ascendante. Permet de lire le contenu d'un BLOB "inline" au lieu de le parcourir en utilisant un identifiant de BLOB.
IBASE_FETCH_ARRAYS | Permet de lire un tableau "inline". Sinon, les identifiants de tableaux sont retournés. Les identifiants de tableaux ne peuvent être passés uniquement comme arguments aux requêtes INSERT, car aucune fonction pour traiter les identifiants de tableaux n'est actuellement disponible.
IBASE_UNIXTIME | Permet de retourner les champs date et heure non pas comme des chaînes de caractères mais comme des timestamps UNIX (le nombre de secondes depuis l'époque UNIX, qui est le 1-Jan-1970 0:00 UTC). Cela peut être problématique si vous utilisez des dates antérieures à 1970 sur quelques systèmes.

Les constantes suivantes sont utilisées pour passer des requêtes et des options à l'API (ibase_server_info(), ibase_db_info(), ibase_backup(), ibase_restore() et ibase_maintain_db()). Merci de consulter le manuel Firebird/InterBase pour plus d'informations sur la significations de ces options.

IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
Options de ibase_backup()
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
Options de ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Options de ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Options de ibase_db_info()
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Options de ibase_server_info()

Types de ressources
Fonctions Firebird/InterBase
Firebird/InterBase


Fonctions Firebird/InterBase

Sommaire

  • ibase_add_user — Ajoute un utilisateur à une base de données de sécurité (uniquement pour IB6 ou plus récent)
  • ibase_affected_rows — Retourne le nombre de lignes affectées par la dernière requête iBase
  • ibase_backup — Effectue une sauvegarde de base de données InterBase
  • ibase_blob_add — Ajoute des données dans un BLOB iBase fraîchement créé
  • ibase_blob_cancel — Annule la création d'un BLOB iBase
  • ibase_blob_close — Ferme un BLOB ibase
  • ibase_blob_create — Crée un BLOB iBase pour ajouter des données
  • ibase_blob_echo — Affiche le contenu d'un BLOB iBase au navigateur
  • ibase_blob_get — Lit len octets de données dans un BLOB iBase ouvert
  • ibase_blob_import — Crée un BLOB iBase, y copie un fichier et le referme
  • ibase_blob_info — Retourne la taille d'un BLOB iBase et d'autres informations utiles
  • ibase_blob_open — Ouvre un BLOB iBase pour récupérer des parties de données
  • ibase_close — Ferme une connexion à une base de données Interbase
  • ibase_commit_ret — Valide une transaction iBase sans la refermer
  • ibase_commit — Valide une transaction iBase
  • ibase_connect — Ouvre une connexion à une base de données InterBase
  • ibase_db_info — Demande des statistiques sur une base de données Interbase
  • ibase_delete_user — Efface un utilisateur d'une base de données de sécurité (uniquement pour IB6 ou plus récent)
  • ibase_drop_db — Supprime une base de données iBase
  • ibase_errcode — Retourne le code d'erreur iBase
  • ibase_errmsg — Retourne un message d'erreur
  • ibase_execute — Exécute une requête iBase préparée
  • ibase_fetch_assoc — Récupère une ligne du résultat d'une requête dans un tableau associatif
  • ibase_fetch_object — Lit une ligne dans une base Interbase dans un objet
  • ibase_fetch_row — Lit une ligne d'une base Interbase
  • ibase_field_info — Lit les informations sur un champ iBase
  • ibase_free_event_handler — Libère un gestionnaire d'événements iBase
  • ibase_free_query — Libère la mémoire réservée par une requête préparée
  • ibase_free_result — Libère un résultat iBase
  • ibase_gen_id — Incrémente le générateur donné et retourne sa nouvelle valeur
  • ibase_maintain_db — Exécute une commande de maintenance sur une base de données Interbase
  • ibase_modify_user — Modifie un utilisateur dans une base de données de sécurité (uniquement pour InterBase6 ou plus récent)
  • ibase_name_result — Assigne un nom à un jeu de résultats iBase
  • ibase_num_fields — Retourne le nombre de colonnes dans un résultat iBase
  • ibase_num_params — Retourne le nombre de paramètres dans une requête préparée iBase
  • ibase_param_info — Retourne des informations à propos d'un paramètre dans une requête préparée iBase
  • ibase_pconnect — Ouvre une connexion persistante à une base de données InterBase
  • ibase_prepare — Prépare une requête iBase pour lier les paramètres et l'exécuter ultérieurement
  • ibase_query — Exécute une requête sur une base iBase
  • ibase_restore — Restaure une sauvegarde de base de données Interbase
  • ibase_rollback_ret — Annule une transaction sans la fermer
  • ibase_rollback — Annule une transaction interBase
  • ibase_server_info — Demande des informations sur le serveur Interbase
  • ibase_service_attach — Connexion au service de gestion Interbase
  • ibase_service_detach — Déconnexion du service de gestion Interbase
  • ibase_set_event_handler — Enregistre une fonction de rappel sur un événement interBase
  • ibase_timefmt — Fixe le format de date pour les prochaines requêtes
  • ibase_trans — Prépare une transaction interBase
  • ibase_wait_event — Attend un événement interBase
Constantes pré-définies
ibase_add_user
Firebird/InterBase


Ajoute un utilisateur à une base de données de sécurité (uniquement pour IB6 ou plus récent)

Fonctions Firebird/InterBase
ibase_affected_rows
Fonctions Firebird/InterBase
PHP Manual

ibase_add_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_add_user — Ajoute un utilisateur à une base de données de sécurité (uniquement pour IB6 ou plus récent)

Description

bool ibase_add_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )

PHP 4 utilise les paramètres server, dba_user_name et dba_user_password au lieu de service_handle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_modify_user() - Modifie un utilisateur dans une base de données de sécurité (uniquement pour InterBase6 ou plus récent)
  • ibase_delete_user() - Efface un utilisateur d'une base de données de sécurité (uniquement pour IB6 ou plus récent)

Fonctions Firebird/InterBase
ibase_affected_rows
Fonctions Firebird/InterBase


Retourne le nombre de lignes affectées par la dernière requête iBase

ibase_add_user
ibase_backup
Fonctions Firebird/InterBase
PHP Manual

ibase_affected_rows

(PHP 5)

ibase_affected_rows — Retourne le nombre de lignes affectées par la dernière requête iBase

Description

int ibase_affected_rows ([ resource $link_identifier ] )

Retourne le nombre de lignes qui ont été affectées par la dernière requête (INSERT, UPDATE ou DELETE) qui a été exécuté dans le contexte de transaction spécifié par link_identifier.

Liste de paramètres

link_identifier

Un contexte de transaction. Si link_identifier est une ressource de connexion, la transaction par défaut est utilisée.

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier.

Voir aussi

  • ibase_query() - Exécute une requête sur une base iBase
  • ibase_execute() - Exécute une requête iBase préparée

ibase_add_user
ibase_backup
Fonctions Firebird/InterBase


Effectue une sauvegarde de base de données InterBase

ibase_affected_rows
ibase_blob_add
Fonctions Firebird/InterBase
PHP Manual

ibase_backup

(PHP 5)

ibase_backup — Effectue une sauvegarde de base de données InterBase

Description

mixed ibase_backup ( resource $service_handle , string $source_db , string $dest_file [, int $options = 0 [, bool $verbose = false ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ibase_affected_rows
ibase_blob_add
Fonctions Firebird/InterBase


Ajoute des données dans un BLOB iBase fraîchement créé

ibase_backup
ibase_blob_cancel
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_add

(PHP 4, PHP 5)

ibase_blob_add — Ajoute des données dans un BLOB iBase fraîchement créé

Description

void ibase_blob_add ( resource $blob_handle , string $data )

ibase_blob_add() ajoute les données data dans le BLOB blob_handle, créé avec ibase_blob_create().

Liste de paramètres

blob_handle

Une ressource blob, ouverte avec la fonction ibase_blob_create().

data

Les données à ajouter.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ibase_blob_cancel() - Annule la création d'un BLOB iBase
  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_create() - Crée un BLOB iBase pour ajouter des données
  • ibase_blob_import() - Crée un BLOB iBase, y copie un fichier et le referme

ibase_backup
ibase_blob_cancel
Fonctions Firebird/InterBase


Annule la création d'un BLOB iBase

ibase_blob_add
ibase_blob_close
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_cancel

(PHP 4, PHP 5)

ibase_blob_cancel — Annule la création d'un BLOB iBase

Description

bool ibase_blob_cancel ( resource $blob_handle )

ibase_blob_cancel() annule la création du BLOB blob_handle, créé par ibase_blob_create() s'il n'a pas encore été fermé avec ibase_blob_close().

Liste de paramètres

blob_handle

Une ressource blob, ouverte avec la fonction ibase_blob_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_create() - Crée un BLOB iBase pour ajouter des données
  • ibase_blob_import() - Crée un BLOB iBase, y copie un fichier et le referme

ibase_blob_add
ibase_blob_close
Fonctions Firebird/InterBase


Ferme un BLOB ibase

ibase_blob_cancel
ibase_blob_create
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_close

(PHP 4, PHP 5)

ibase_blob_close — Ferme un BLOB ibase

Description

mixed ibase_blob_close ( resource $blob_handle )

ibase_blob_close() ferme le BLOB blob_handle, ouvert en lecture avec ibase_open_blob() ou en écriture avec ibase_blob_create().

Liste de paramètres

blob_handle

Une ressource blob, ouverte avec la fonction ibase_blob_create() ou la fonction ibase_blob_open().

Valeurs de retour

Si le BLOB était lu, ibase_blob_close() retourne TRUE en cas de succès, s'il était en cours de modification, ibase_blob_close() retourne une chaîne de caractères contenant l'identifiant du BLOB qui lui a été assigné par la base de données. En cas d'échec, cette fonction retournera FALSE.

Voir aussi

  • ibase_blob_cancel() - Annule la création d'un BLOB iBase
  • ibase_blob_open() - Ouvre un BLOB iBase pour récupérer des parties de données

ibase_blob_cancel
ibase_blob_create
Fonctions Firebird/InterBase


Crée un BLOB iBase pour ajouter des données

ibase_blob_close
ibase_blob_echo
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_create

(PHP 4, PHP 5)

ibase_blob_create — Crée un BLOB iBase pour ajouter des données

Description

resource ibase_blob_create ([ resource $link_identifier = NULL ] )

ibase_blob_create() crée un nouveau BLOB à remplir avec des données, sur la connexion InterBase link_identifier.

Liste de paramètres

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

Valeurs de retour

Retourne un identifiant de BLOB à utiliser avec ibase_blob_add() ou FALSE si une erreur survient.

Voir aussi

  • ibase_blob_add() - Ajoute des données dans un BLOB iBase fraîchement créé
  • ibase_blob_cancel() - Annule la création d'un BLOB iBase
  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_import() - Crée un BLOB iBase, y copie un fichier et le referme

ibase_blob_close
ibase_blob_echo
Fonctions Firebird/InterBase


Affiche le contenu d'un BLOB iBase au navigateur

ibase_blob_create
ibase_blob_get
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_echo

(PHP 4, PHP 5)

ibase_blob_echo — Affiche le contenu d'un BLOB iBase au navigateur

Description

bool ibase_blob_echo ( string $blob_id )
bool ibase_blob_echo ( resource $link_identifier , string $blob_id )

ibase_blob_echo() ouvre le BLOB blob_id en lecture et envoie son contenu directement vers la sortie standard (le navigateur dans la plupart des cas).

Liste de paramètres

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

blob_id

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_blob_open() - Ouvre un BLOB iBase pour récupérer des parties de données
  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_get() - Lit len octets de données dans un BLOB iBase ouvert

ibase_blob_create
ibase_blob_get
Fonctions Firebird/InterBase


Lit len octets de données dans un BLOB iBase ouvert

ibase_blob_echo
ibase_blob_import
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_get

(PHP 4, PHP 5)

ibase_blob_get — Lit len octets de données dans un BLOB iBase ouvert

Description

string ibase_blob_get ( resource $blob_handle , int $len )

ibase_blob_get() retourne au plus len octets du BLOB blob_handle qui a été ouvert en lecture par ibase_blob_open().

Note: Il n'est pas possible de lire dans un BLOB ouvert en écriture par ibase_blob_create().

Liste de paramètres

blob_handle

Une ressource blob, ouverte avec la fonction ibase_blob_open().

len

La taille des données retournées.

Valeurs de retour

Retourne au plus, len octets du BLOB, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ibase_blob_get()

<?php
$result    = ibase_query("SELECT blob_value FROM table");
$data      = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>
Cet exemple ne fait pas plus qu'un ibase_blob_echo( $data->BLOB_VALUE ), mais il montre comment récupérer les informations dans une $variable pour les manipuler comme vous le voulez.

Voir aussi

  • ibase_blob_open() - Ouvre un BLOB iBase pour récupérer des parties de données
  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_echo() - Affiche le contenu d'un BLOB iBase au navigateur

ibase_blob_echo
ibase_blob_import
Fonctions Firebird/InterBase


Crée un BLOB iBase, y copie un fichier et le referme

ibase_blob_get
ibase_blob_info
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_import

(PHP 4, PHP 5)

ibase_blob_import — Crée un BLOB iBase, y copie un fichier et le referme

Description

string ibase_blob_import ( resource $link_identifier , resource $file_handle )
string ibase_blob_import ( resource $file_handle )

ibase_blob_import() crée un nouveau BLOB sur la connexion iBase link_identifier, y copie le fichier file_handle en entier, le referme et en retourne l'identifiant assigné

Liste de paramètres

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

file_handle

La ressource de fichier, retournée par la fonction fopen().

Valeurs de retour

Retourne l'identifiant du BLOB en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ibase_blob_import()

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // échec de l'importation
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // échec de l'insertion de l'enregistrement
        }
    }
} else {
    // impossible d'ouvrir le fichier
}
?>

Voir aussi

  • ibase_blob_add() - Ajoute des données dans un BLOB iBase fraîchement créé
  • ibase_blob_cancel() - Annule la création d'un BLOB iBase
  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_create() - Crée un BLOB iBase pour ajouter des données

ibase_blob_get
ibase_blob_info
Fonctions Firebird/InterBase


Retourne la taille d'un BLOB iBase et d'autres informations utiles

ibase_blob_import
ibase_blob_open
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_info

(PHP 4, PHP 5)

ibase_blob_info — Retourne la taille d'un BLOB iBase et d'autres informations utiles

Description

array ibase_blob_info ( resource $link_identifier , string $blob_id )
array ibase_blob_info ( string $blob_id )

Retourne la taille d'un BLOB iBase et d'autres informations utiles.

Liste de paramètres

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

blob_id

L'identifiant du BLOB.

Valeurs de retour

Retourne un tableau contenant des informations à propos du BLOB blob_id. Les informations sont la taille du BLOB, le nombre de segments qu'il contient, la taille du segment le plus large, et indiquent s'il s'agit d'un BLOB stream ou segmenté.

ibase_blob_import
ibase_blob_open
Fonctions Firebird/InterBase


Ouvre un BLOB iBase pour récupérer des parties de données

ibase_blob_info
ibase_close
Fonctions Firebird/InterBase
PHP Manual

ibase_blob_open

(PHP 4, PHP 5)

ibase_blob_open — Ouvre un BLOB iBase pour récupérer des parties de données

Description

resource ibase_blob_open ( resource $link_identifier , string $blob_id )
resource ibase_blob_open ( string $blob_id )

Ouvre un BLOB iBase pour récupérer des parties de données.

Liste de paramètres

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

blob_id

L'identifiant du BLOB.

Valeurs de retour

Retourne une ressource BLOB pour une utilisation avec la fonction ibase_blob_get() ou FALSE si une erreur survient.

Voir aussi

  • ibase_blob_close() - Ferme un BLOB ibase
  • ibase_blob_echo() - Affiche le contenu d'un BLOB iBase au navigateur
  • ibase_blob_get() - Lit len octets de données dans un BLOB iBase ouvert

ibase_blob_info
ibase_close
Fonctions Firebird/InterBase


Ferme une connexion à une base de données Interbase

ibase_blob_open
ibase_commit_ret
Fonctions Firebird/InterBase
PHP Manual

ibase_close

(PHP 4, PHP 5)

ibase_close — Ferme une connexion à une base de données Interbase

Description

bool ibase_close ([ resource $connection_id = NULL ] )

Ferme une connexion à une base de données Interbase. Cette fonction prend comme argument l'identifiant de connexion connection_id retourné par ibase_connect(). Les transactions par défaut sont validées et les autres sont annulées.

Liste de paramètres

connection_id

Un identifiant de connexion à InterBase, retourné par la fonction ibase_connect(). S'il est omis, la dernière connexion ouverte sera utilisée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_connect() - Ouvre une connexion à une base de données InterBase
  • ibase_pconnect() - Ouvre une connexion persistante à une base de données InterBase

ibase_blob_open
ibase_commit_ret
Fonctions Firebird/InterBase


Valide une transaction iBase sans la refermer

ibase_close
ibase_commit
Fonctions Firebird/InterBase
PHP Manual

ibase_commit_ret

(PHP 5)

ibase_commit_ret — Valide une transaction iBase sans la refermer

Description

bool ibase_commit_ret ([ resource $link_or_trans_identifier = NULL ] )

Valide une transaction iBase sans la refermer.

Liste de paramètres

link_or_trans_identifier

Appelée sans argument, elle valide la transaction par défaut de la connexion par défaut. Si l'argument link_or_trans_identifier est un identifiant de connexion, sa transaction par défaut est validée. Si l'argument link_or_trans_identifier est un identifiant de transaction, celle-ci sera validée. Le contexte de transaction sera retenu et, donc, les requêtes exécutées dans cette transaction ne seront pas invalidées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_close
ibase_commit
Fonctions Firebird/InterBase


Valide une transaction iBase

ibase_commit_ret
ibase_connect
Fonctions Firebird/InterBase
PHP Manual

ibase_commit

(PHP 4, PHP 5)

ibase_commit — Valide une transaction iBase

Description

bool ibase_commit ([ resource $link_or_trans_identifier = NULL ] )

Valide une transaction iBase.

Liste de paramètres

link_or_trans_identifier

Appelée sans argument, elle valide la transaction par défaut de la connexion par défaut. Si l'argument link_or_trans_identifier est un identifiant de connexion, sa transaction par défaut est validée. Si l'argument link_or_trans_identifier est un identifiant de transaction, celle-ci sera validée. Le contexte de transaction sera retenu et, donc, les requêtes exécutées dans cette transaction ne seront pas invalidées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_commit_ret
ibase_connect
Fonctions Firebird/InterBase


Ouvre une connexion à une base de données InterBase

ibase_commit
ibase_db_info
Fonctions Firebird/InterBase
PHP Manual

ibase_connect

(PHP 4, PHP 5)

ibase_connect — Ouvre une connexion à une base de données InterBase

Description

resource ibase_connect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Ouvre une connexion à une base de données InterBase.

Si un deuxième appel est fait avec ibase_connect(), en passant les mêmes arguments, une nouvelle connexion ne sera pas ouverte, mais la connexion déjà ouverte sera retournée. La connexion sera fermée dès que le script se termine, à moins qu'elle ne soit fermée explicitement avec ibase_close(), durant le script.

Liste de paramètres

database

database doit être un chemin valide jusqu'à un fichier de base de données sur le serveur sur lequel il réside. Si le serveur est distant, il faut le préfixer avec un nom d'hôte 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) ou 'hostname@' (IPX/SPX), en fonction du protocole de communication utilisé.

username

Le nom d'utilisateur. Peut être défini avec la directive ibase.default_user du fichier php.ini.

password

Le mot de passe correspondant à l'utilisateur username. Peut être défini avec la directive ibase.default_password du fichier php.ini.

charset

charset est le jeu de caractères par défaut pour la base de données.

buffers

buffers est le nombre de buffer de base à allouer pour le cache serveur. S'il est passé à 0 ou omis, le serveur le choisira de lui-même.

dialect

dialect sélectionne le dialecte SQL pour les requêtes exécutées avec cette connexion et, par défaut, il utilise le meilleur dialecte disponible. Ceci ne fonctionne qu'avec InterBase 6 et supérieur.

role

Ne fonctionne qu'avec InterBase 5 et supérieur.

sync

Valeurs de retour

Retourne un identifiant de connexion InterBase en cas de succès, ou FALSE si une erreur survient.

Erreurs / Exceptions

Si vous avez quelques erreurs comme "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (cela se produit lorsque vous tentez d'utiliser quelques caractères accentués) lorsque vous utilisez ibase_connect() et après ibase_query(), vous devez spécifier un jeu de caractères correct (i.e. ISO8859_1 ou votre jeu de caractères courant).

Exemples

Exemple #1 Exemple avec ibase_connect()

<?php
$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>

Voir aussi

  • ibase_pconnect() - Ouvre une connexion persistante à une base de données InterBase
  • ibase_close() - Ferme une connexion à une base de données Interbase

ibase_commit
ibase_db_info
Fonctions Firebird/InterBase


Demande des statistiques sur une base de données Interbase

ibase_connect
ibase_delete_user
Fonctions Firebird/InterBase
PHP Manual

ibase_db_info

(PHP 5)

ibase_db_info — Demande des statistiques sur une base de données Interbase

Description

string ibase_db_info ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ibase_connect
ibase_delete_user
Fonctions Firebird/InterBase


Efface un utilisateur d'une base de données de sécurité (uniquement pour IB6 ou plus récent)

ibase_db_info
ibase_drop_db
Fonctions Firebird/InterBase
PHP Manual

ibase_delete_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_delete_user — Efface un utilisateur d'une base de données de sécurité (uniquement pour IB6 ou plus récent)

Description

bool ibase_delete_user ( resource $service_handle , string $user_name )

PHP 4 utilise les paramètres server, dba_user_name et dba_user_password au lieu de service_handle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_add_user() - Ajoute un utilisateur à une base de données de sécurité (uniquement pour IB6 ou plus récent)
  • ibase_modify_user() - Modifie un utilisateur dans une base de données de sécurité (uniquement pour InterBase6 ou plus récent)

ibase_db_info
ibase_drop_db
Fonctions Firebird/InterBase


Supprime une base de données iBase

ibase_delete_user
ibase_errcode
Fonctions Firebird/InterBase
PHP Manual

ibase_drop_db

(PHP 5)

ibase_drop_db — Supprime une base de données iBase

Description

bool ibase_drop_db ([ resource $connection = NULL ] )

ibase_drop_db() supprime une base de données qui a été ouverte par ibase_connect() ou ibase_pconnect(). La base de données est refermée et supprimée du serveur.

Liste de paramètres

connection

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_connect() - Ouvre une connexion à une base de données InterBase
  • ibase_pconnect() - Ouvre une connexion persistante à une base de données InterBase

ibase_delete_user
ibase_errcode
Fonctions Firebird/InterBase


Retourne le code d'erreur iBase

ibase_drop_db
ibase_errmsg
Fonctions Firebird/InterBase
PHP Manual

ibase_errcode

(PHP 5)

ibase_errcode — Retourne le code d'erreur iBase

Description

int ibase_errcode ( void )

Retourne le code erreur résultant de l'appel le plus récent à une fonction InterBase.

Valeurs de retour

Retourne le code erreur, sous la forme d'un entier, ou FALSE si aucune erreur n'est survenue.

Voir aussi

  • ibase_errmsg() - Retourne un message d'erreur

ibase_drop_db
ibase_errmsg
Fonctions Firebird/InterBase


Retourne un message d'erreur

ibase_errcode
ibase_execute
Fonctions Firebird/InterBase
PHP Manual

ibase_errmsg

(PHP 4, PHP 5)

ibase_errmsg — Retourne un message d'erreur

Description

string ibase_errmsg ( void )

Retourne une chaîne contenant les messages d'erreurs.

Valeurs de retour

Retourne le message d'erreur, sous la forme d'une chaîne de caractères, ou FALSE si aucune erreur n'est survenue.

Voir aussi

  • ibase_errcode() - Retourne le code d'erreur iBase

ibase_errcode
ibase_execute
Fonctions Firebird/InterBase


Exécute une requête iBase préparée

ibase_errmsg
ibase_fetch_assoc
Fonctions Firebird/InterBase
PHP Manual

ibase_execute

(PHP 4, PHP 5)

ibase_execute — Exécute une requête iBase préparée

Description

resource ibase_execute ( resource $query [, mixed $bind_arg [, mixed $... ]] )

Exécute une requête iBase préparée.

ibase_execute() est beaucoup plus efficace que ibase_query(), si vous effectuez plusieurs fois la même requête en ne changeant que quelques paramètres.

Liste de paramètres

query

Une requête InterBase, préparée avec la fonction ibase_prepare().

bind_arg

...

Valeurs de retour

Si la requête émet une erreur, la fonction retournera FALSE. Si la requête réussie, et qu'il y a un jeu de résultats (pouvant être vide), la fonction retourne un identifiant de résultats. Si la requête réussie et qu'il n'y a pas de résultat, la fonction retourne TRUE.

Note: Depuis la version 5.0.0 de PHP, ibase_execute() retourne le nombre d'enregistrements affectés par la requête (si supérieur à 0). Pour une requête qui réussie mais qui ne renvoie aucun enregistrement (e.g un UPDATE sur un enregistrement inexistant), ibase_execute() retournera TRUE.

Exemples

Exemple #1 Exemple avec ibase_execute()

<?php

$dbh = ibase_connect($host, $username, $password);

$updates = array(
    1 => 'Eric',
    5 => 'Filip',
    7 => 'Larry'
);

$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach ($updates as $baz => $bar) {
    ibase_execute($query, $bar, $baz);
}

?>

Voir aussi

  • ibase_query() - Exécute une requête sur une base iBase

ibase_errmsg
ibase_fetch_assoc
Fonctions Firebird/InterBase


Récupère une ligne du résultat d'une requête dans un tableau associatif

ibase_execute
ibase_fetch_object
Fonctions Firebird/InterBase
PHP Manual

ibase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

ibase_fetch_assoc — Récupère une ligne du résultat d'une requête dans un tableau associatif

Description

array ibase_fetch_assoc ( resource $result [, int $fetch_flag = 0 ] )

Récupère une ligne du résultat d'une requête dans un tableau associatif.

ibase_fetch_assoc() récupère une ligne de données à partir de result. Si deux ou plus colonnes ont le même nom de champ, la dernière colonne prendra précédence. Pour accéder aux autres colonnes du même nom, vous devez soit le faire avec leurs indices numériques en utilisant ibase_fetch_row() ou en utilisant des alias dans votre requête.

Liste de paramètres

result

Le jeu de résultats.

fetch_flag

fetch_flag est une combinaison des constantes IBASE_TEXT et IBASE_UNIXTIME. Passer IBASE_TEXT fait retourner le contenu du BLOB au lieu de l'ID du BLOB. Passer IBASE_UNIXTIME fait retourner les valeurs date/time sous forme de timestamps UNIX au lieu de chaînes formatées.

Valeurs de retour

Retourne un tableau associatif qui correspond à la ligne récupérée. Les appels suivants renvoient la ligne qui suit dans le jeu de résultats, ou FALSE s'il n'y a plus de lignes.

Voir aussi

  • ibase_fetch_row() - Lit une ligne d'une base Interbase
  • ibase_fetch_object() - Lit une ligne dans une base Interbase dans un objet

ibase_execute
ibase_fetch_object
Fonctions Firebird/InterBase


Lit une ligne dans une base Interbase dans un objet

ibase_fetch_assoc
ibase_fetch_row
Fonctions Firebird/InterBase
PHP Manual

ibase_fetch_object

(PHP 4, PHP 5)

ibase_fetch_object — Lit une ligne dans une base Interbase dans un objet

Description

object ibase_fetch_object ( resource $result_id [, int $fetch_flag = 0 ] )

Lit une ligne dans une base Interbase et la place dans un pseudo objet.

Les prochains appels à la fonction ibase_fetch_object() retourneront la prochaine ligne du jeu de résultats.

Liste de paramètres

result_id

Un identifiant de résultat InterBase, obtenu soit par la fonction ibase_query(), soit par la fonction ibase_execute().

fetch_flag

fetch_flag est une combinaison des constantes IBASE_TEXT et IBASE_UNIXTIME. Passer IBASE_TEXT fait retourner le contenu du BLOB au lieu de l'ID du BLOB. Passer IBASE_UNIXTIME fait retourner les valeurs date/time sous forme de timestamps UNIX au lieu de chaînes formatées.

Valeurs de retour

Retourne un objet contenant les informations de la ligne, ou FALSE s'il n'y a plus de ligne.

Exemples

Exemple #1 Exemple avec ibase_fetch_object()

<?php
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email . "\n";
}
ibase_close($dbh);
?>

Voir aussi

  • ibase_fetch_row() - Lit une ligne d'une base Interbase
  • ibase_fetch_assoc() - Récupère une ligne du résultat d'une requête dans un tableau associatif

ibase_fetch_assoc
ibase_fetch_row
Fonctions Firebird/InterBase


Lit une ligne d'une base Interbase

ibase_fetch_object
ibase_field_info
Fonctions Firebird/InterBase
PHP Manual

ibase_fetch_row

(PHP 4, PHP 5)

ibase_fetch_row — Lit une ligne d'une base Interbase

Description

array ibase_fetch_row ( resource $result_identifier [, int $fetch_flag = 0 ] )

ibase_fetch_row() récupère une ligne de données depuis le jeu de résultats donné.

Les appels suivants à ibase_fetch_row() vont retourner la prochaine ligne dans le résultat, ou bien FALSE s'il n'y a plus de ligne.

Liste de paramètres

result_identifier

Un identifiant de résultat InterBase.

fetch_flag

fetch_flag est une combinaison des constantes IBASE_TEXT et IBASE_UNIXTIME. Passer IBASE_TEXT fait retourner le contenu du BLOB au lieu de l'ID du BLOB. Passer IBASE_UNIXTIME fait retourner les valeurs date/time sous forme de timestamps UNIX au lieu de chaînes formatées.

Valeurs de retour

Retourne un tableau correspondant à la ligne récupérée, ou FALSE s'il n'y a plus de ligne. Chaque colonne du résultat est stockée dans une position du tableau, en commençant à 0.

Voir aussi

  • ibase_fetch_assoc() - Récupère une ligne du résultat d'une requête dans un tableau associatif
  • ibase_fetch_object() - Lit une ligne dans une base Interbase dans un objet

ibase_fetch_object
ibase_field_info
Fonctions Firebird/InterBase


Lit les informations sur un champ iBase

ibase_fetch_row
ibase_free_event_handler
Fonctions Firebird/InterBase
PHP Manual

ibase_field_info

(PHP 4, PHP 5)

ibase_field_info — Lit les informations sur un champ iBase

Description

array ibase_field_info ( resource $result , int $field_number )

Retourne un tableau contenant les informations d'un champ, après qu'une requête de type sélection ait été exécutée.

Liste de paramètres

result

Un identifiant de résultat InterBase.

field_number

Position du champ.

Valeurs de retour

Retourne un tableau contenant les clés suivantes : name, alias, relation, length et type.

Exemples

Exemple #1 Exemple avec ibase_field_info()

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "nom : ". $col_info['name']. "\n";
    echo "alias : ". $col_info['alias']. "\n";
    echo "relation : ". $col_info['relation']. "\n";
    echo "taille : ". $col_info['length']. "\n";
    echo "type : ". $col_info['type']. "\n";
}
?>

Voir aussi

  • ibase_num_fields() - Retourne le nombre de colonnes dans un résultat iBase

ibase_fetch_row
ibase_free_event_handler
Fonctions Firebird/InterBase


Libère un gestionnaire d'événements iBase

ibase_field_info
ibase_free_query
Fonctions Firebird/InterBase
PHP Manual

ibase_free_event_handler

(PHP 5)

ibase_free_event_handler — Libère un gestionnaire d'événements iBase

Description

bool ibase_free_event_handler ( resource $event )

ibase_free_event_handler() annule le gestionnaire d'événements enregistré, spécifié par event. La fonction de rappel ne sera plus exécutée pour les événements qu'elle devait prendre en charge.

Liste de paramètres

event

Une ressource d'événement, créée par la fonction ibase_set_event_handler().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_set_event_handler() - Enregistre une fonction de rappel sur un événement interBase

ibase_field_info
ibase_free_query
Fonctions Firebird/InterBase


Libère la mémoire réservée par une requête préparée

ibase_free_event_handler
ibase_free_result
Fonctions Firebird/InterBase
PHP Manual

ibase_free_query

(PHP 4, PHP 5)

ibase_free_query — Libère la mémoire réservée par une requête préparée

Description

bool ibase_free_query ( resource $query )

Libère la mémoire réservée par une requête préparée.

Liste de paramètres

query

Une requête préparée avec la fonction ibase_prepare().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_free_event_handler
ibase_free_result
Fonctions Firebird/InterBase


Libère un résultat iBase

ibase_free_query
ibase_gen_id
Fonctions Firebird/InterBase
PHP Manual

ibase_free_result

(PHP 4, PHP 5)

ibase_free_result — Libère un résultat iBase

Description

bool ibase_free_result ( resource $result_identifier )

Libère un résultat iBase.

Liste de paramètres

result_identifier

Un jeu de caractères, créé par la fonction ibase_query() ou par la fonction ibase_execute().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_free_query
ibase_gen_id
Fonctions Firebird/InterBase


Incrémente le générateur donné et retourne sa nouvelle valeur

ibase_free_result
ibase_maintain_db
Fonctions Firebird/InterBase
PHP Manual

ibase_gen_id

(PHP 5)

ibase_gen_id — Incrémente le générateur donné et retourne sa nouvelle valeur

Description

mixed ibase_gen_id ( string $generator [, int $increment = 1 [, resource $link_identifier = NULL ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Retourne une nouvelle valeur générée sous la forme d'un entier ou d'une chaîne de caractères si la valeur est trop grosse.

ibase_free_result
ibase_maintain_db
Fonctions Firebird/InterBase


Exécute une commande de maintenance sur une base de données Interbase

ibase_gen_id
ibase_modify_user
Fonctions Firebird/InterBase
PHP Manual

ibase_maintain_db

(PHP 5)

ibase_maintain_db — Exécute une commande de maintenance sur une base de données Interbase

Description

bool ibase_maintain_db ( resource $service_handle , string $db , int $action [, int $argument = 0 ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_gen_id
ibase_modify_user
Fonctions Firebird/InterBase


Modifie un utilisateur dans une base de données de sécurité (uniquement pour InterBase6 ou plus récent)

ibase_maintain_db
ibase_name_result
Fonctions Firebird/InterBase
PHP Manual

ibase_modify_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_modify_user — Modifie un utilisateur dans une base de données de sécurité (uniquement pour InterBase6 ou plus récent)

Description

bool ibase_modify_user ( resource $service_handle , string $user_name , string $password [, string $first_name [, string $middle_name [, string $last_name ]]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

PHP 4 utilise les paramètres server, dba_user_name et dba_user_password au lieu de service_handle.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ibase_add_user() - Ajoute un utilisateur à une base de données de sécurité (uniquement pour IB6 ou plus récent)
  • ibase_delete_user() - Efface un utilisateur d'une base de données de sécurité (uniquement pour IB6 ou plus récent)

ibase_maintain_db
ibase_name_result
Fonctions Firebird/InterBase


Assigne un nom à un jeu de résultats iBase

ibase_modify_user
ibase_num_fields
Fonctions Firebird/InterBase
PHP Manual

ibase_name_result

(PHP 5)

ibase_name_result — Assigne un nom à un jeu de résultats iBase

Description

bool ibase_name_result ( resource $result , string $name )

Assigne un nom à un jeu de résultats. Ce nom peut être utilisé plus tard dans les requêtes de type UPDATE|DELETE ... WHERE CURRENT OF name.

Liste de paramètres

result

Un jeu de résultats InterBase.

name

Le nom à assigner.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ibase_name_result()

<?php
$result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
ibase_name_result($result, "my_cursor");

$updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

for ($i = 0; ibase_fetch_row($result); ++$i) {
    ibase_execute($updateqry, $i);
}
?>

Voir aussi

  • ibase_prepare() - Prépare une requête iBase pour lier les paramètres et l'exécuter ultérieurement
  • ibase_execute() - Exécute une requête iBase préparée

ibase_modify_user
ibase_num_fields
Fonctions Firebird/InterBase


Retourne le nombre de colonnes dans un résultat iBase

ibase_name_result
ibase_num_params
Fonctions Firebird/InterBase
PHP Manual

ibase_num_fields

(PHP 4, PHP 5)

ibase_num_fields — Retourne le nombre de colonnes dans un résultat iBase

Description

int ibase_num_fields ( resource $result_id )

Retourne le nombre de colonnes dans un résultat iBase.

Liste de paramètres

result_id

Un identifiant de résultat InterBase.

Valeurs de retour

Retourne le nombre de champs, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec ibase_num_fields()

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "nom : " . $col_info['name'] . "\n";
    echo "alias : " . $col_info['alias'] . "\n";
    echo "relation : " . $col_info['relation'] . "\n";
    echo "taille : " . $col_info['length'] . "\n";
    echo "type : " . $col_info['type'] . "\n";
}
?>

Voir aussi

  • ibase_field_info() - Lit les informations sur un champ iBase

ibase_name_result
ibase_num_params
Fonctions Firebird/InterBase


Retourne le nombre de paramètres dans une requête préparée iBase

ibase_num_fields
ibase_param_info
Fonctions Firebird/InterBase
PHP Manual

ibase_num_params

(PHP 5)

ibase_num_params — Retourne le nombre de paramètres dans une requête préparée iBase

Description

int ibase_num_params ( resource $query )

ibase_num_params() retourne le nombre de paramètres dans la requête spécifiée par query. C'est le nombre d'arguments de substitution qui doivent être présents lors de l'appel de ibase_execute().

Liste de paramètres

query

La requête préparée.

Valeurs de retour

Retourne le nombre de paramètres, sous la forme d'un entier.

Voir aussi

  • ibase_prepare() - Prépare une requête iBase pour lier les paramètres et l'exécuter ultérieurement
  • ibase_param_info() - Retourne des informations à propos d'un paramètre dans une requête préparée iBase

ibase_num_fields
ibase_param_info
Fonctions Firebird/InterBase


Retourne des informations à propos d'un paramètre dans une requête préparée iBase

ibase_num_params
ibase_pconnect
Fonctions Firebird/InterBase
PHP Manual

ibase_param_info

(PHP 5)

ibase_param_info — Retourne des informations à propos d'un paramètre dans une requête préparée iBase

Description

array ibase_param_info ( resource $query , int $param_number )

Retourne un tableau avec des informations à propos d'un paramètre après qu'une requête n'ait été préparée.

Liste de paramètres

query

Un gestionnaire de requête préparée InterBase.

param_number

La position du paramètre.

Valeurs de retour

Retourne un tableau contenant les clés suivantes : name, alias, relation, length et type.

Voir aussi

  • ibase_field_info() - Lit les informations sur un champ iBase
  • ibase_num_params() - Retourne le nombre de paramètres dans une requête préparée iBase

ibase_num_params
ibase_pconnect
Fonctions Firebird/InterBase


Ouvre une connexion persistante à une base de données InterBase

ibase_param_info
ibase_prepare
Fonctions Firebird/InterBase
PHP Manual

ibase_pconnect

(PHP 4, PHP 5)

ibase_pconnect — Ouvre une connexion persistante à une base de données InterBase

Description

resource ibase_pconnect ([ string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync ]]]]]]]] )

Ouvre une connexion persistante à une base de données InterBase.

ibase_pconnect() se comporte similairement à ibase_connect(), avec deux différences majeures.

La première est que, lors de la connexion, la fonction va essayer de trouver une connexion (persistante) déjà ouverte. Si elle la trouve, cette dernière sera retournée, plutôt qu'une nouvelle connexion. Sinon, une nouvelle connexion sera ouverte.

La deuxième est que la connexion ne sera pas fermée à la fin du script, mais restera ouverte pour utilisation ultérieure. (ibase_close() ne fermera pas une connexion ouverte avec ibase_pconnect()). Ce type de lien est alors dit 'persistant'.

Liste de paramètres

database

L'argument database doit être un chemin valide vers le fichier de la base de données sur le serveur où il réside. Si le serveur n'est pas local, il doit être préfixé avec soit 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) ou 'hostname@' (IPX/SPX), suivant le protocole utilisé.

username

Le nom d'utilisateur. Peut être défini avec la directive ibase.default_user du php.ini.

password

Le mot de passe pour l'utilisateur username. Peut être défini avec la directive ibase.default_password du php.ini.

charset

charset est le jeu de caractères par défaut pour la base de données.

buffers

buffers est le nombre de buffers de la base de données à allouer pour le cache côté serveur. Si ce paramètre vaut 0 ou s'il est omis, le serveur choisira lui-même ce nombre.

dialect

dialect sélectionne le dialecte SQL par défaut pour toutes les requêtes exécutées dans la connexion, et vaudra par défaut, le plus haut supporté par la bibliothèque cliente. Ne fonctionne qu'avec InterBase 6 et supérieur.

role

Ne fonctionne qu'avec InterBase 5 et supérieur.

sync

Valeurs de retour

Retourne un identifiant de connexion InterBase en cas de succès, ou FALSE si une erreur survient.

Voir aussi

  • ibase_close() - Ferme une connexion à une base de données Interbase
  • ibase_connect() - Ouvre une connexion à une base de données InterBase

ibase_param_info
ibase_prepare
Fonctions Firebird/InterBase


Prépare une requête iBase pour lier les paramètres et l'exécuter ultérieurement

ibase_pconnect
ibase_query
Fonctions Firebird/InterBase
PHP Manual

ibase_prepare

(PHP 4, PHP 5)

ibase_prepare — Prépare une requête iBase pour lier les paramètres et l'exécuter ultérieurement

Description

resource ibase_prepare ( string $query )
resource ibase_prepare ( resource $link_identifier , string $query )
resource ibase_prepare ( resource $link_identifier , string $trans , string $query )

Prépare une requête afin d'y lier ultérieurement des paramètres ainsi que de l'exécuter (via la fonction ibase_execute()).

Liste de paramètres

query

Une requête InterBase.

Valeurs de retour

Retourne un gestionnaire de requête préparée, ou FALSE si une erreur survient.

ibase_pconnect
ibase_query
Fonctions Firebird/InterBase


Exécute une requête sur une base iBase

ibase_prepare
ibase_restore
Fonctions Firebird/InterBase
PHP Manual

ibase_query

(PHP 4, PHP 5)

ibase_query — Exécute une requête sur une base iBase

Description

resource ibase_query ([ resource $link_identifier ], string $query [, int $bind_args ] )

Exécute une requête sur une base iBase.

Liste de paramètres

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

query

Une requête InterBase.

bind_args

Valeurs de retour

Si la requête émet une erreur, la fonction retournera FALSE. Si la requête est exécutée avec succès, et qu'il y a un jeu de résultats (même vide), la fonction retournera un identifiant de résultat. Si la requête est exécutée avec succès, et qu'il n'y a pas de résultat, la fonction retournera TRUE.

Note: Dans les version 5.0.0 de PHP et suivantes, ibase_query() retourne le nombre d'enregistrements affectés par les requêtes INSERT, UPDATE et DELETE. Dans un souci de compatibilité ascendante, ibase_query() retournera TRUE si la requête réussi mais ne renvoie aucun enregistrement.

Erreurs / Exceptions

Si vous recevez une erreur du type "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (ceci survient lorsque vous essayez d'utiliser des caractères accentués) avec la fonction ibase_query(), c'est que vous devez choisir un jeu de caractères (i.e. ISO8859_1 ou votre jeu courant).

Historique

Version | Description
5.3.1 | En cas de succès, cette fonction retourne maintenant TRUE s'il n'y a aucune ligne d'affectée, alors qu'elle retournait auparavant 0 (un zéro suivi d'un espace vide).

Exemples

Exemple #1 Exemple avec ibase_query()

<?php

$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';

$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());

?>

Voir aussi

  • ibase_errmsg() - Retourne un message d'erreur
  • ibase_fetch_row() - Lit une ligne d'une base Interbase
  • ibase_fetch_object() - Lit une ligne dans une base Interbase dans un objet
  • ibase_free_result() - Libère un résultat iBase

ibase_prepare
ibase_restore
Fonctions Firebird/InterBase


Restaure une sauvegarde de base de données Interbase

ibase_query
ibase_rollback_ret
Fonctions Firebird/InterBase
PHP Manual

ibase_restore

(PHP 5)

ibase_restore — Restaure une sauvegarde de base de données Interbase

Description

mixed ibase_restore ( resource $service_handle , string $source_file , string $dest_db [, int $options = 0 [, bool $verbose = false ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ibase_query
ibase_rollback_ret
Fonctions Firebird/InterBase


Annule une transaction sans la fermer

ibase_restore
ibase_rollback
Fonctions Firebird/InterBase
PHP Manual

ibase_rollback_ret

(PHP 5)

ibase_rollback_ret — Annule une transaction sans la fermer

Description

bool ibase_rollback_ret ([ resource $link_or_trans_identifier = NULL ] )

Annule une transaction sans la fermer.

Liste de paramètres

link_or_trans_identifier

Si ibase_rollback_ret() est appelée sans argument, elle annule la transaction par défaut du lien par défaut. Si l'argument link_or_trans_identifier est un identifiant de connexion, la transaction par défaut de cette connexion sera annulée. Si l'argument link_or_trans_identifier est un identifiant de transaction, celle-ci sera annulée. Le contexte de transaction sera retenu et, donc, les requêtes exécutées dans cette transaction ne seront pas invalidées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_restore
ibase_rollback
Fonctions Firebird/InterBase


Annule une transaction interBase

ibase_rollback_ret
ibase_server_info
Fonctions Firebird/InterBase
PHP Manual

ibase_rollback

(PHP 4, PHP 5)

ibase_rollback — Annule une transaction interBase

Description

bool ibase_rollback ([ resource $link_or_trans_identifier = NULL ] )

Annule une transaction interBase.

Liste de paramètres

link_or_trans_identifier

Lorsque ibase_rollback() est appelée sans argument, elle annule la transaction par défaut du lien par défaut. Si l'argument link_or_trans_identifier est un identifiant de connexion, la transaction par défaut de cette connexion sera annulée. Si l'argument link_or_trans_identifier est un identifiant de transaction, celle-ci sera annulée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_rollback_ret
ibase_server_info
Fonctions Firebird/InterBase


Demande des informations sur le serveur Interbase

ibase_rollback
ibase_service_attach
Fonctions Firebird/InterBase
PHP Manual

ibase_server_info

(PHP 5)

ibase_server_info — Demande des informations sur le serveur Interbase

Description

string ibase_server_info ( resource $service_handle , int $action )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ibase_rollback
ibase_service_attach
Fonctions Firebird/InterBase


Connexion au service de gestion Interbase

ibase_server_info
ibase_service_detach
Fonctions Firebird/InterBase
PHP Manual

ibase_service_attach

(PHP 5)

ibase_service_attach — Connexion au service de gestion Interbase

Description

resource ibase_service_attach ( string $host , string $dba_username , string $dba_password )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ibase_server_info
ibase_service_detach
Fonctions Firebird/InterBase


Déconnexion du service de gestion Interbase

ibase_service_attach
ibase_set_event_handler
Fonctions Firebird/InterBase
PHP Manual

ibase_service_detach

(PHP 5)

ibase_service_detach — Déconnexion du service de gestion Interbase

Description

bool ibase_service_detach ( resource $service_handle )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ibase_service_attach
ibase_set_event_handler
Fonctions Firebird/InterBase


Enregistre une fonction de rappel sur un événement interBase

ibase_service_detach
ibase_timefmt
Fonctions Firebird/InterBase
PHP Manual

ibase_set_event_handler

(PHP 5)

ibase_set_event_handler — Enregistre une fonction de rappel sur un événement interBase

Description

resource ibase_set_event_handler ( callback $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )
resource ibase_set_event_handler ( resource $connection , callback $event_handler , string $event_name1 [, string $event_name2 [, string $... ]] )

ibase_set_event_handler() enregistre la fonction utilisateur PHP event_handler en tant que gestionnaire d'événements pour les événements spécifiés.

Liste de paramètres

event_handler

Fonction de rappel appelée avec le nom de l'événement et la ressource de connexion en tant qu'arguments dès qu'un événement spécifié est posté dans la base de données.

La fonction de rappel event_handler doit retourner FALSE si le gestionnaire doit être annulé. Toute autre valeur de retour est ignorée. Cette fonction accepte jusqu'à 15 arguments d'événement.

event_name1

Le nom de l'événement.

event_name2

15 événements tout au plus sont autorisés.

Valeurs de retour

La valeur retournée est une ressource d'événement. Elle peut être utilisée pour libérer le gestionnaire d'événements en utilisant ibase_free_event_handler().

Exemples

Exemple #1 Exemple avec ibase_set_event_handler()

<?php

function event_handler($event_name, $link)
{
    if ($event_name == "NEW ORDER") {
        // Traitement du nouvel ordre
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name == "DB_SHUTDOWN") {
        // Libération du gestionnaire
        return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

Voir aussi

  • ibase_free_event_handler() - Libère un gestionnaire d'événements iBase
  • ibase_wait_event() - Attend un événement interBase

ibase_service_detach
ibase_timefmt
Fonctions Firebird/InterBase


Fixe le format de date pour les prochaines requêtes

ibase_set_event_handler
ibase_trans
Fonctions Firebird/InterBase
PHP Manual

ibase_timefmt

(PHP 4)

ibase_timefmt — Fixe le format de date pour les prochaines requêtes

Description

bool ibase_timefmt ( string $format [, int $columntype ] )

Fixe le format de date pour les prochaines requêtes.

Vous pouvez définir des valeurs par défaut pour ces formats avec les directives de configuration PHP ibase.timestampformat, ibase.dateformat et ibase.timeformat.

Note: Cette fonction a été supprimée de PHP 5 ; utilisez ini_set() à la place.

Liste de paramètres

format

En interne, les colonnes sont formatées par la fonction C strftime() : reportez-vous à sa documentation pour connaître la structure de la chaîne de format.

columntype

columntype est une constante parmi IBASE_TIMESTAMP, IBASE_DATE et IBASE_TIME. Si ce paramètre est omis, il vaudra par défaut IBASE_TIMESTAMP, afin de respecter une compatibilité avec les versions antérieures.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ibase_timefmt()

<?php
/* Les colonnes TIME de InterBase 6 seront retournées avec
 * la forme '05 heures 37 minutes'. */
ibase_timefmt("%H hours %M minutes", IBASE_TIME);
?>

ibase_set_event_handler
ibase_trans
Fonctions Firebird/InterBase


Prépare une transaction interBase

ibase_timefmt
ibase_wait_event
Fonctions Firebird/InterBase
PHP Manual

ibase_trans

(PHP 4, PHP 5)

ibase_trans — Prépare une transaction interBase

Description

resource ibase_trans ([ int $trans_args [, resource $link_identifier ]] )
resource ibase_trans ([ resource $link_identifier [, int $trans_args ]] )

Prépare une transaction interBase.

Note: Le comportement de cette fonction a changé depuis PHP 5.0.0. Le premier appel à ibase_trans() retournera la transaction par défaut pour la connexion courante. Toutes les transactions commencées par ibase_trans() seront annulées à la fin de l'exécution du script si elles n'ont pas été validées ou annulées par respectivement les fonctions ibase_commit() ou ibase_rollback().

Note: Dans les versions 5.0.0 de PHP et suivantes, ibase_trans() accepte plusieurs paramètres trans_args et link_identifier. Ceci permet d'effectuer des transactions sur plusieurs connexions à des bases de données différentes, qui seront validées en utilisant l'algorithme 2-phase. Cela signifie que vous pouvez mettre à jour plusieurs bases de données. Cela ne veut PAS dire que vous pouvez utiliser plusieurs bases de données dans une même requête !
Si vous utilisez les transactions sur plusieurs base de données, vous devez spécifier link_id et transaction_id dans les fonctions ibase_query() et ibase_prepare().

Liste de paramètres

trans_args

trans_args peut être une combinaison des constantes suivantes : IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT et IBASE_NOWAIT.

link_identifier

Un identifiant de connexion à InterBase. S'il est omis, la dernière connexion ouverte sera utilisée.

Valeurs de retour

Retourne une ressource de transaction, ou FALSE si une erreur survient.

ibase_timefmt
ibase_wait_event
Fonctions Firebird/InterBase


Attend un événement interBase

ibase_trans
Informix
Fonctions Firebird/InterBase
PHP Manual

ibase_wait_event

(PHP 5)

ibase_wait_event — Attend un événement interBase

Description

string ibase_wait_event ( string $event_name1 [, string $event_name2 [, string $... ]] )
string ibase_wait_event ( resource $connection , string $event_name1 [, string $event_name2 [, string $... ]] )

ibase_wait_event() suspend l'exécution du script jusqu'à ce que l'un des événements spécifiés soit posté par la base de données. Le nom de l'événement qui a été posté est alors retourné. Cette fonction accepte jusqu'à 15 arguments événements.

Liste de paramètres

event_name1

Le nom de l'événement.

event_name2

...

Valeurs de retour

Retourne le nom de l'événement qui a été posté.

Voir aussi

  • ibase_set_event_handler() - Enregistre une fonction de rappel sur un événement interBase
  • ibase_free_event_handler() - Libère un gestionnaire d'événements iBase

ibase_trans
Informix
Fonctions Firebird/InterBase


Informix

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Informix
    • ifx_affected_rows — Retourne le nombre de lignes affectées par une requête
    • ifx_blobinfile_mode — Choisit le mode par défaut des objets BLOB pour toutes les requêtes SELECT
    • ifx_byteasvarchar — Choisit le mode par défaut des objets BYTE
    • ifx_close — Ferme une connexion à un serveur Informix
    • ifx_connect — Ouvre une connexion à un serveur Informix
    • ifx_copy_blob — Duplique un BLOB
    • ifx_create_blob — Crée un objet BLOB
    • ifx_create_char — Crée un objet char
    • ifx_do — Exécute une requête SQL préparée
    • ifx_error — Retourne le code d'erreur de la dernière requête Informix
    • ifx_errormsg — Retourne le message d'erreur de la dernière requête Informix
    • ifx_fetch_row — Retourne une ligne sous la forme d'un tableau énuméré
    • ifx_fieldproperties — Liste les propriétés des champs SQL
    • ifx_fieldtypes — Liste les champs Informix SQL
    • ifx_free_blob — Supprime un objet BLOB
    • ifx_free_char — Supprime un objet char
    • ifx_free_result — Libère les ressources prises par un résultat
    • ifx_get_blob — Retourne le contenu d'un objet BLOB
    • ifx_get_char — Retourne le contenu d'un objet char
    • ifx_getsqlca — Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête
    • ifx_htmltbl_result — Lit toutes les lignes d'un tableau, et le met sous la forme d'un tableau HTML
    • ifx_nullformat — Modifie le mode par défaut de lecture des valeurs
    • ifx_num_fields — Retourne le nombre de colonnes d'une requête
    • ifx_num_rows — Compte le nombre de lignes déjà lues dans un résultat
    • ifx_pconnect — Ouvre une connexion persistante à un serveur Informix
    • ifx_prepare — Prépare une requête SQL pour l'exécution
    • ifx_query — Envoie une requête Informix
    • ifx_textasvarchar — Choisit le mode par défaut des objets texte
    • ifx_update_blob — Modifie le contenu d'un objet BLOB
    • ifx_update_char — Modifie le contenu d'un objet char
    • ifxus_close_slob — Ferme un objet SLOB
    • ifxus_create_slob — Crée un objet SLOB et l'ouvre
    • ifxus_free_slob — Supprime un objet SLOB
    • ifxus_open_slob — Ouvre un objet SLOB
    • ifxus_read_slob — Lit des octets dans un objet SLOB
    • ifxus_seek_slob — Fixe le fichier courant ou la position courante
    • ifxus_tell_slob — Retourne le fichier courant ou la position courante
    • ifxus_write_slob — Écrit une chaîne dans un objet SLOB
ibase_wait_event
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Les pilotes d'accès à Informix pour Online (ODS) 7.x, SE 7.x, Universal Server (IUS) 9.x et IDS 2000 sont implémentés dans "functions/ifx.ec" et "functions/php3_ifx.h". Le support ODS 7.x est plutôt complet, et accepte les colonnes de type BYTE et TEXT. Le support IUS 9.x est partiellement fini, de nouveaux types sont disponibles, mais SLOB et CLOB sont toujours en cours de développement.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.2.1.

Informix
Installation/Configuration
Informix


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Informix


Pré-requis

Note: Configuration notes
Vous avez besoin d'une version de ESQL/C pour compiler le pilote PHP d'Informix. Les versions ESQL/C 7.2x sont utilisables. ESQL/C fait partie du SDK Informix Client.
Avant que vous ne lanciez le script "configure", assurez-vous que la variable d'environnement "INFORMIXDIR" a été correctement paramétrée, et que $INFORMIXDIR/bin est dans votre PATH.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour activer ces fonctions, vous devez compiler PHP avec l'option --with-informix[=DIR], où DIR est le dossier d'installation de Informix et, par défaut, il ne vaut rien.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Note: Avant que vous ne lanciez le script "configure", assurez-vous que la variable d'environnement "INFORMIXDIR" a été correctement paramétrée, et que $INFORMIXDIR/bin est dans votre PATH. Vérifiez cela en étudiant le résultat de la fonction phpinfo() avant de commencer à utiliser cette extension. phpinfo() devrait lister ces variables d'environnement. C'est le cas aussi bien pour les modes CGI que module Apache. Vous pouvez aussi mettre en place ces variables dans votre script de démarrage Apache.
Les bibliothèques partagées Informix doivent être accessibles pour le chargement (vérifiez LD_LIBRARY_PATH et ld.so.conf/ldconfig).

Note: Notes sur l'utilisation des BLOB (TEXT et BYTE)
Les objets de type BLOB sont normalement gérés par des identifiants de BLOB. Les requêtes de sélection retournent un identifiant de BLOB pour chaque colonne de type BYTE et TEXT. Vous pouvez en lire le contenu, avec des commandes de type "string_var = ifx_get_blob($BLOB_id);" ; si vous souhaitez ramener le BLOB en mémoire (avec: "ifx_blobinfile_mode(0);"). Si vous préférez recevoir le contenu d'une colonne BLOB dans un fichier, utilisez ifx_blobinfile_mode(), et ifx_get_blob($BLOB_id) vous retournera le nom du fichier. Utilisez les fonctions habituelles d'accès aux fichiers pour lire son contenu.
Pour les requêtes INSERT/UPDATE, vous devez créer les identifiants de BLOB vous-même, avec la fonction ifx_create_blob(). Puis, vous placez l'identifiant de BLOB dans un tableau, et remplacez la colonne par un point d'interrogation (?). Pour les UPDATE/INSERT, vous êtes responsable du contenu du BLOB, avec la fonction ifx_update_blob().
Le comportement par défaut des colonnes de type BLOB peut être modifié en affectant de nouvelles valeurs aux variables de configuration (même à la volée) :
Variable de configuration : ifx.textasvarchar
Variable de configuration : ifx.byteasvarchar
Fonctions à utiliser lors de l'exécution :
ifx_textasvarchar(0) : utilise l'identifiant de BLOB avec des colonnes de type TEXT, dans les requêtes SELECT
ifx_byteasvarchar(0) : utilise l'identifiant de BLOB avec des colonnes de type BYTE, dans les requêtes SELECT
ifx_textasvarchar(1) : retourne les colonnes de type TEXT sous la forme de VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT.
ifx_byteasvarchar(1) : retourne les colonnes de type BYTE sous la forme de VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT.
Variable de configuration : ifx.BLOBinfile
Fonctions à utiliser lors de l'exécution :
ifx_blobinfile_mode(0) : retourne les colonnes de type BYTE en mémoire ; l'identifiant de BLOB vous donnera accès au contenu.
ifx_blobinfile_mode(1) : retourne les colonnes de type BYTE dans un fichier ; l'identifiant de BLOB vous donnera accès au nom de ce fichier.
En affectant la valeur 1 à ifx_text/byteasvarchar, vous pouvez utiliser les colonnes de type TEXT et BYTE dans les requêtes SELECT comme des champs VARCHAR (mais plus long). Étant donné la gestion des chaînes par PHP, cette technique conserve les données binaires. Les données retournées peuvent contenir n'importe quoi, et vous êtes responsable de la bonne manipulation de ces valeurs.
En affectant la valeur 1 à ifx_blobinfile_mode(), utilisez le nom de fichier retourné par ifx_get_blob() pour accéder au contenu du BLOB. Notez bien que vous êtes tenu responsable de l'effacement des fichiers temporaires, créés par Informix. Chaque nouvelle ligne lue sur le serveur va créer un nouveau fichier temporaire, pour chaque colonne de type BYTE.
L'emplacement des fichiers temporaires peut être modifié, grâce à la variable "blobdir", (par défaut, ".", c'est-à-dire, le dossier courant). Une valeur telle que BLOBdir="tmpBLOB" simplifiera le nettoyage des fichiers temporaires, accidentellement oubliés (les noms commencent tous par "blb").

Note: Suppression automatique des espaces (SQLCHAR et SQLNCHAR)
Elle peut être mise en place avec la variable de configuration.
ifx.charasvarchar : avec la valeur 1, les espaces de fin de champs seront automatiquement supprimés.

Note: NULL values
Lorsque la variable de configuration ifx.nullformat (ou que la fonction ifx_nullformat()) est à un, les colonnes contenant la valeur NULL retourneront la chaîne "NULL" et, sinon, retourneront une chaîne vide. Cela vous permet de faire la différence entre les colonnes vides et celles qui contiennent la valeur NULL.

Options de configuration Informix
Nom | Défaut | Modifiable | Historique
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Supprimé depuis PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Supprimé depuis PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Supprimé depuis PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Supprimé depuis PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Supprimé depuis PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Supprimé depuis PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Supprimé depuis PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Supprimé depuis PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Supprimé depuis PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Supprimé depuis PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Supprimé depuis PHP 5.2.1.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

ifx.allow_persistent bool

Active les connexions persistantes à une base de données Informix.

ifx.max_persistent entier

Nombre maximum de connexions persistantes à une base de données Informix, par processus.

ifx.max_links entier

Nombre maximum de connexions à une base de données Informix par processus, en incluant les connexions persistantes.

ifx.default_host string

Hôte par défaut où se connecter si aucun hôte n'est spécifié par les fonctions ifx_connect() ou ifx_pconnect(). Cette option ne s'applique pas si le safe mode est activé.

ifx.default_user string

Utilisateur par défaut si aucun utilisateur n'est spécifié par les fonctions ifx_connect() ou ifx_pconnect(). Cette option ne s'applique pas si le safe mode est activé.

ifx.default_password string

Mot de passe par défaut si aucun mot de passe n'est spécifié par les fonctions ifx_connect() ou ifx_pconnect(). Cette option ne s'applique pas si le safe mode est activé.

ifx.blobinfile bool

Lorsque cette option est activée, les colonnes de type "blob" seront retournées dans un fichier. Par défaut, elles seront retournées en mémoire. Il est possible de modifier dynamiquement cette valeur grâce à la fonction ifx_blobinfile_mode().

ifx.textasvarchar bool

Lorsque cette option est activée, les colonnes de type "TEXT" seront retournées dans une chaîne de caractères. Par défaut, elles seront retournées en mémoire. Il est possible de modifier dynamiquement cette valeur grâce à la fonction ifx_textasvarchar().

ifx.byteasvarchar bool

Lorsque cette option est activée, les colonnes de type "BYTE" seront retournées dans une chaîne de caractères. Par défaut, elles seront retournées en mémoire. Il est possible de modifier dynamiquement cette valeur grâce à la fonction ifx_textasvarchar().

ifx.charasvarchar bool

Lorsque cette option est activée, les espaces en fin de chaîne de caractères seront conservés lors d'une commande FETCH.

ifx.nullformat bool

Lorsque cette option est activée, les colonnes de valeur NULL seront retournées comme des chaînes de caractères vides. Il est possible de modifier dynamiquement cette valeur grâce à la fonction ifx_nullformat().

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

IFX_SCROLL (entier)
IFX_HOLD (entier)
IFX_LO_RDONLY (entier)
IFX_LO_WRONLY (entier)
IFX_LO_APPEND (entier)
IFX_LO_RDWR (entier)
IFX_LO_BUFFER (entier)
IFX_LO_NOBUFFER (entier)
Types de ressources
Fonctions Informix
Informix


Fonctions Informix

Sommaire

  • ifx_affected_rows — Retourne le nombre de lignes affectées par une requête
  • ifx_blobinfile_mode — Choisit le mode par défaut des objets BLOB pour toutes les requêtes SELECT
  • ifx_byteasvarchar — Choisit le mode par défaut des objets BYTE
  • ifx_close — Ferme une connexion à un serveur Informix
  • ifx_connect — Ouvre une connexion à un serveur Informix
  • ifx_copy_blob — Duplique un BLOB
  • ifx_create_blob — Crée un objet BLOB
  • ifx_create_char — Crée un objet char
  • ifx_do — Exécute une requête SQL préparée
  • ifx_error — Retourne le code d'erreur de la dernière requête Informix
  • ifx_errormsg — Retourne le message d'erreur de la dernière requête Informix
  • ifx_fetch_row — Retourne une ligne sous la forme d'un tableau énuméré
  • ifx_fieldproperties — Liste les propriétés des champs SQL
  • ifx_fieldtypes — Liste les champs Informix SQL
  • ifx_free_blob — Supprime un objet BLOB
  • ifx_free_char — Supprime un objet char
  • ifx_free_result — Libère les ressources prises par un résultat
  • ifx_get_blob — Retourne le contenu d'un objet BLOB
  • ifx_get_char — Retourne le contenu d'un objet char
  • ifx_getsqlca — Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête
  • ifx_htmltbl_result — Lit toutes les lignes d'un tableau, et le met sous la forme d'un tableau HTML
  • ifx_nullformat — Modifie le mode par défaut de lecture des valeurs
  • ifx_num_fields — Retourne le nombre de colonnes d'une requête
  • ifx_num_rows — Compte le nombre de lignes déjà lues dans un résultat
  • ifx_pconnect — Ouvre une connexion persistante à un serveur Informix
  • ifx_prepare — Prépare une requête SQL pour l'exécution
  • ifx_query — Envoie une requête Informix
  • ifx_textasvarchar — Choisit le mode par défaut des objets texte
  • ifx_update_blob — Modifie le contenu d'un objet BLOB
  • ifx_update_char — Modifie le contenu d'un objet char
  • ifxus_close_slob — Ferme un objet SLOB
  • ifxus_create_slob — Crée un objet SLOB et l'ouvre
  • ifxus_free_slob — Supprime un objet SLOB
  • ifxus_open_slob — Ouvre un objet SLOB
  • ifxus_read_slob — Lit des octets dans un objet SLOB
  • ifxus_seek_slob — Fixe le fichier courant ou la position courante
  • ifxus_tell_slob — Retourne le fichier courant ou la position courante
  • ifxus_write_slob — Écrit une chaîne dans un objet SLOB
Constantes pré-définies
ifx_affected_rows
Informix


Retourne le nombre de lignes affectées par une requête

Fonctions Informix
ifx_blobinfile_mode
Fonctions Informix
PHP Manual

ifx_affected_rows

(PHP 4, PHP <=5.2.0)

ifx_affected_rows — Retourne le nombre de lignes affectées par une requête

Description

int ifx_affected_rows ( resource $result_id )

Retourne le nombre de lignes affectées par la requête associée à result_id.

Pour les INSERT, UPDATE et DELETE, ce nombre est le nombre exact de lignes affectées (sqlerrd[2]). Pour les SELECT, ce n'est qu'une estimation (sqlerrd[0]). Ne vous y fiez pas. Le serveur de base de données ne peut jamais retourner le nombre de lignes actuel qui sera retourné par une requête SELECT car il n'a pas commencé à les récupérer ce stade (juste après "PREPARE", lorsque l'optimisateur a déterminé le plan de requête).

ifx_affected_rows() est très pratique après ifx_prepare() pour limiter la taille des résultats.

Liste de paramètres

result_id

Un identifiant de résultat valide retourné par la fonction ifx_query() ou la fonction ifx_prepare().

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier.

Exemples

Exemple #1 Nombre de lignes affectées

<?php
$rid = ifx_prepare("select * from emp
                     where name like " . $name, $connid);
if (! $rid) {
    /* ... erreur ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Trop de lignes trouvées (%d)\n<br />", $rowcount);
    die ("Rééssayez avec une autre requête.<br />\n");
}
?>

Voir aussi

  • ifx_num_rows() - Compte le nombre de lignes déjà lues dans un résultat

Fonctions Informix
ifx_blobinfile_mode
Fonctions Informix


Choisit le mode par défaut des objets BLOB pour toutes les requêtes SELECT

ifx_affected_rows
ifx_byteasvarchar
Fonctions Informix
PHP Manual

ifx_blobinfile_mode

(PHP 4, PHP <=5.2.0)

ifx_blobinfile_mode — Choisit le mode par défaut des objets BLOB pour toutes les requêtes SELECT

Description

bool ifx_blobinfile_mode ( int $mode )

Choisit le mode par défaut des objets BLOB pour toutes les requêtes SELECT.

Liste de paramètres

mode

Mode "0" chargera les BLOB de type Byte en mémoire ; Mode "1" sauvera les BLOB de type Byte dans un fichier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ifx_affected_rows
ifx_byteasvarchar
Fonctions Informix


Choisit le mode par défaut des objets BYTE

ifx_blobinfile_mode
ifx_close
Fonctions Informix
PHP Manual

ifx_byteasvarchar

(PHP 4, PHP <=5.2.0)

ifx_byteasvarchar — Choisit le mode par défaut des objets BYTE

Description

bool ifx_byteasvarchar ( int $mode )

Choisit le mode par défaut des objets BYTE pour toutes les requêtes de sélection.

Liste de paramètres

mode

Le mode "0" retournera l'identifiant de BLOB, et le mode "1" retournera le contenu du TEXT sous la forme d'un VARCHAR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_textasvarchar() - Choisit le mode par défaut des objets texte

ifx_blobinfile_mode
ifx_close
Fonctions Informix


Ferme une connexion à un serveur Informix

ifx_byteasvarchar
ifx_connect
Fonctions Informix
PHP Manual

ifx_close

(PHP 4, PHP <=5.2.0)

ifx_close — Ferme une connexion à un serveur Informix

Description

bool ifx_close ([ resource $link_identifier ] )

ifx_close() ferme le lien au serveur de données Informix associé à l'identifiant de connexion link_identifier.

Notez qu'il n'est généralement pas besoin d'appeler cette fonction, car les connexions non persistantes seront automatiquement fermées.

ifx_close() ne peut pas fermer une connexion ouverte avec ifx_pconnect().

Liste de paramètres

link_identifier

L'identifiant du lien. S'il n'est pas spécifié, le dernier lien ouvert est utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fermer une connexion Informix

<?php
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
/* ... quelques requêtes diverses et variées ... */
ifx_close($conn_id);
?>

Voir aussi

  • ifx_connect() - Ouvre une connexion à un serveur Informix
  • ifx_pconnect() - Ouvre une connexion persistante à un serveur Informix

ifx_byteasvarchar
ifx_connect
Fonctions Informix


Ouvre une connexion à un serveur Informix

ifx_close
ifx_copy_blob
Fonctions Informix
PHP Manual

ifx_connect

(PHP 4, PHP <=5.2.0)

ifx_connect — Ouvre une connexion à un serveur Informix

Description

resource ifx_connect ([ string $database [, string $userid [, string $password ]]] )

ifx_connect() établit une connexion à un serveur Informix.

Si un deuxième appel à ifx_connect() est fait avec les mêmes arguments, l'identifiant de connexion déjà ouvert sera retourné.

Le lien avec le serveur sera fermé dès que le script se termine, ce qui fait qu'il n'est pas nécessaire de terminer les connexions avec ifx_close().

Liste de paramètres

Tous les arguments sont optionnels, et, s'ils viennent à manquer, les valeurs par défaut seront prises dans le php.ini (ifx.default_host pour l'hôte par défaut) (Les bibliothèques Informix utiliseront la variable d'environnement $INFORMIXSERVER si ifx.default_host n'est pas définie). ifx.default_user pour l'utilisateur, et ifx.default_password comme mot de passe (si aucun n'a été défini).

database

Le nom de la base de données, sous la forme d'une chaîne de caractères.

userid

Le nom d'utilisateur, sous la forme d'une chaîne de caractères.

password

Le mot de passe, sous la forme d'une chaîne de caractères.

Valeurs de retour

Retourne un identifiant de connexion en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Connexion à un serveur Informix

<?php
$conn_id = ifx_connect ("mydb@ol_srv1", "imyself", "mypassword");
?>

Voir aussi

  • ifx_pconnect() - Ouvre une connexion persistante à un serveur Informix
  • ifx_close() - Ferme une connexion à un serveur Informix

ifx_close
ifx_copy_blob
Fonctions Informix


Duplique un BLOB

ifx_connect
ifx_create_blob
Fonctions Informix
PHP Manual

ifx_copy_blob

(PHP 4, PHP <=5.2.0)

ifx_copy_blob — Duplique un BLOB

Description

int ifx_copy_blob ( int $bid )

Duplique le BLOB fourni.

Liste de paramètres

bid

L'identifiant d'un BLOB.

Valeurs de retour

Retourne l'identifiant vers le nouveau BLOB, ou FALSE si une erreur survient.

Voir aussi

  • ifx_create_blob() - Crée un objet BLOB
  • ifx_free_blob() - Supprime un objet BLOB

ifx_connect
ifx_create_blob
Fonctions Informix


Crée un objet BLOB

ifx_copy_blob
ifx_create_char
Fonctions Informix
PHP Manual

ifx_create_blob

(PHP 4, PHP <=5.2.0)

ifx_create_blob — Crée un objet BLOB

Description

int ifx_create_blob ( int $type , int $mode , string $param )

Crée un objet BLOB.

Liste de paramètres

type

1 = TEXT, 0 = BYTE

mode

0 = L'objet BLOB place le contenu en mémoire, 1 = L'objet BLOB place le contenu dans un fichier.

param

Si mode = 0: pointeur du contenu, si mode = 1: pointeur vers un fichier.

Valeurs de retour

Retourne l'identifiant vers le nouveau BLOB, ou FALSE si une erreur survient.

Voir aussi

  • ifx_copy_blob() - Duplique un BLOB
  • ifx_free_blob() - Supprime un objet BLOB

ifx_copy_blob
ifx_create_char
Fonctions Informix


Crée un objet char

ifx_create_blob
ifx_do
Fonctions Informix
PHP Manual

ifx_create_char

(PHP 4, PHP <=5.2.0)

ifx_create_char — Crée un objet char

Description

int ifx_create_char ( string $param )

Crée un objet char.

Liste de paramètres

param

Le contenu du char.

Valeurs de retour

Retourne l'identifiant vers le nouvel objet char, ou FALSE si une erreur survient.

Voir aussi

  • ifx_free_char() - Supprime un objet char

ifx_create_blob
ifx_do
Fonctions Informix


Exécute une requête SQL préparée

ifx_create_char
ifx_error
Fonctions Informix
PHP Manual

ifx_do

(PHP 4, PHP <=5.2.0)

ifx_do — Exécute une requête SQL préparée

Description

bool ifx_do ( resource $result_id )

Exécute une requête qui a déjà été préparée, ou crée un pointeur pour cela.

ifx_do() ne libère pas result_id en cas d'erreur.

De plus, ifx_do() fixe la valeur de result_id pour accès ultérieur par ifx_affected_rows().

Liste de paramètres

result_id

result_id est un identifiant de résultat valide retourné par la fonction ifx_query() ou la fonction ifx_prepare() (uniquement les requêtes de type SELECT !).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

Exemple #1 Exemple avec ifx_do()

<?php
$conn = fx_connect( "db", "user", "password" );
$result = ifx_prepare("SELECT customer_num, company FROM customer", $conn);
ifx_do($result);
?>

Voir aussi

  • ifx_prepare() - Prépare une requête SQL pour l'exécution

ifx_create_char
ifx_error
Fonctions Informix


Retourne le code d'erreur de la dernière requête Informix

ifx_do
ifx_errormsg
Fonctions Informix
PHP Manual

ifx_error

(PHP 4, PHP <=5.2.0)

ifx_error — Retourne le code d'erreur de la dernière requête Informix

Description

string ifx_error ([ resource $link_identifier ] )

Retourne un seul caractère décrivant les résultats généraux d'une requête ainsi que SQLSTATE et SQLCODE associés avec la requête SQL la plus récente.

Liste de paramètres

link_identifier

L'identifiant du lien.

Valeurs de retour

Les codes erreurs Informix (SQLSTATE & SQLCODE) sont formatés ainsi : x [SQLSTATE = aa bbb SQLCODE=cccc].

où x = space : aucune erreur

E : erreur

N : il n'y a plus de donnée

W : alerte

? : indéfinie

Si le caractère "x" vaut autre chose qu'un espace, SQLSTATE et SQLCODE décrivent l'erreur avec plus de détails.

Reportez-vous au manuel Informix pour trouver la description de SQLSTATE et SQLCODE.

Voir aussi

  • ifx_errormsg() - Retourne le message d'erreur de la dernière requête Informix

ifx_do
ifx_errormsg
Fonctions Informix


Retourne le message d'erreur de la dernière requête Informix

ifx_error
ifx_fetch_row
Fonctions Informix
PHP Manual

ifx_errormsg

(PHP 4, PHP <=5.2.0)

ifx_errormsg — Retourne le message d'erreur de la dernière requête Informix

Description

string ifx_errormsg ([ int $errorcode ] )

Retourne le message d'erreur associé à la dernière erreur Informix.

Liste de paramètres

errorcode

Si spécifié, la fonction retournera le message correspondant au code erreur spécifié.

Valeurs de retour

Retourne le message d'erreur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec ifx_errormsg()

printf("%s\n<br>", ifx_errormsg(-201));

Voir aussi

  • ifx_error() - Retourne le code d'erreur de la dernière requête Informix

ifx_error
ifx_fetch_row
Fonctions Informix


Retourne une ligne sous la forme d'un tableau énuméré

ifx_errormsg
ifx_fieldproperties
Fonctions Informix
PHP Manual

ifx_fetch_row

(PHP 4, PHP <=5.2.0)

ifx_fetch_row — Retourne une ligne sous la forme d'un tableau énuméré

Description

array ifx_fetch_row ( resource $result_id [, mixed $position ] )

Retourne une ligne de données d'un résultat associé à l'identifiant de résultat result_id.

Les appels ultérieurs à ifx_fetch_row() retourneront la ligne suivante, ou FALSE s'il n'y a plus de ligne.

Liste de paramètres

result_id

result_id est un identifiant valide de résultat, retourné par ifx_query() ou ifx_prepare() (Requêtes SELECT seulement !).

position

position est un paramètre optionnel, pour une opération de lecture d'informations sur un pointeur de type "scroll": NEXT, PREVIOUS, CURRENT, FIRST, LAST ou encore un nombre. Si vous spécifiez un nombre, la ligne d'index absolu sera retournée. Ce paramètre est optionnel, et ne fonctionne qu'avec les pointeurs de type "scroll".

Valeurs de retour

retourne un tableau associatif qui contient la ligne retournée ou FALSE s'il ne reste plus de lignes à lire, ou s'il a eu une erreur.

Les colonnes de types BLOB sont retournées sous la forme d'un identifiant à utiliser avec ifx_get_blob() à moins que vous n'ayez utilisé la fonction ifx_textasvarchar() ou ifx_byteasvarchar() et, dans ce cas, les BLOB seront retournés sous forme de chaîne.

Exemples

Exemple #1 Exemple avec ifx_fetch_row()

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... erreur ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Trop de lignes dans le résultat. (%d)\n<br />", $rowcount);
    die ("Restreignez votre requête. <br />\n");
}
if (! ifx_do ($rid)) {
   /* ... erreur ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
    for (reset($row); $fieldname=key($row); next($row)) {
        $fieldvalue = $row[$fieldname];
        printf ("%s = %s,", $fieldname, $fieldvalue);
    }
    printf("\n<br />");
    $row = ifx_fetch_row($rid, "NEXT");
}
ifx_free_result ($rid);
?>

ifx_errormsg
ifx_fieldproperties
Fonctions Informix


Liste les propriétés des champs SQL

ifx_fetch_row
ifx_fieldtypes
Fonctions Informix
PHP Manual

ifx_fieldproperties

(PHP 4, PHP <=5.2.0)

ifx_fieldproperties — Liste les propriétés des champs SQL

Description

array ifx_fieldproperties ( resource $result_id )

Retourne les propriétés Informix SQL pour tous les champs d'une requête, sous la forme d'un tableau associatif. Les propriétés sont présentées sous la forme : "SQLTYPE;longueur ;précision;échelle;ISNULLABLE" avec SQLTYPE qui représente le type de données Informix tel que "SQLVCHAR" et ISNULLABLE = "Y" ou "N" (le champ peut contenir NULL ou pas : Oui ou Non).

Liste de paramètres

result_id

result_id est un identifiant de résultats valide retourné par la fonction ifx_query() ou la fonction ifx_prepare() (Requête de type SELECT uniquement !).

Valeurs de retour

Retourne un tableau associatif avec les noms des champs comme clés, et les données de propriétés des champs comme valeurs. ifx_fieldproperties() retourne FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec ifx_fieldproperties()

<?php
$properties = ifx_fieldproperties($resultid);
if (!isset($properties)) {
    /* ... erreur ... */
}
foreach ($properties as $fname => $val) {
    echo "$fname :\t property = $val\n";
}
?>

Voir aussi

  • ifx_fieldtypes() - Liste les champs Informix SQL

ifx_fetch_row
ifx_fieldtypes
Fonctions Informix


Liste les champs Informix SQL

ifx_fieldproperties
ifx_free_blob
Fonctions Informix
PHP Manual

ifx_fieldtypes

(PHP 4, PHP <=5.2.0)

ifx_fieldtypes — Liste les champs Informix SQL

Description

array ifx_fieldtypes ( resource $result_id )

Retourne un tableau associatif avec les noms des champs comme clés, et les types SQL comme valeurs.

Liste de paramètres

result_id

result_id est un identifiant de résultats valide, retourné par la fonction ifx_query() ou la fonction ifx_prepare() (requêtes de type SELECT uniquement !).

Valeurs de retour

Retourne un tableau associatif avec les noms des champs comme clés, et les types SQL comme valeurs. En cas d'erreur, retourne FALSE.

Exemples

Exemple #1 Nom de champs et type SQL

<?php
$types = ifx_fieldtypes($resultid);
if (is_array($types)) {
    foreach ($types as $fname => $val) {
        echo "$fname :\t type = $val\n";
    }
}
?>

Voir aussi

  • ifx_fieldproperties() - Liste les propriétés des champs SQL

ifx_fieldproperties
ifx_free_blob
Fonctions Informix


Supprime un objet BLOB

ifx_fieldtypes
ifx_free_char
Fonctions Informix
PHP Manual

ifx_free_blob

(PHP 4, PHP <=5.2.0)

ifx_free_blob — Supprime un objet BLOB

Description

bool ifx_free_blob ( int $bid )

Supprime l'objet BLOB dont l'identifiant est fourni.

Liste de paramètres

bid

L'identifiant de l'objet BLOB.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_create_blob() - Crée un objet BLOB

ifx_fieldtypes
ifx_free_char
Fonctions Informix


Supprime un objet char

ifx_free_blob
ifx_free_result
Fonctions Informix
PHP Manual

ifx_free_char

(PHP 4, PHP <=5.2.0)

ifx_free_char — Supprime un objet char

Description

bool ifx_free_char ( int $bid )

Supprime l'objet char dont l'identifiant est fourni.

Liste de paramètres

bid

L'identifiant de l'objet char.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_create_char() - Crée un objet char

ifx_free_blob
ifx_free_result
Fonctions Informix


Libère les ressources prises par un résultat

ifx_free_char
ifx_get_blob
Fonctions Informix
PHP Manual

ifx_free_result

(PHP 4, PHP <=5.2.0)

ifx_free_result — Libère les ressources prises par un résultat

Description

bool ifx_free_result ( resource $result_id )

Libère les ressources prises par le résultat associé avec result_id.

Liste de paramètres

result_id

result_id est un identifiant de résultats valide, retourné par la fonction ifx_query() ou la fonction ifx_prepare() (requêtes de type SELECT uniquement !).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_do() - Exécute une requête SQL préparée

ifx_free_char
ifx_get_blob
Fonctions Informix


Retourne le contenu d'un objet BLOB

ifx_free_result
ifx_get_char
Fonctions Informix
PHP Manual

ifx_get_blob

(PHP 4, PHP <=5.2.0)

ifx_get_blob — Retourne le contenu d'un objet BLOB

Description

string ifx_get_blob ( int $bid )

Retourne le contenu d'un objet BLOB.

Liste de paramètres

bid

L'identifiant de l'objet BLOB.

Valeurs de retour

Le contenu du BLOB, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Voir aussi

  • ifx_get_char() - Retourne le contenu d'un objet char

ifx_free_result
ifx_get_char
Fonctions Informix


Retourne le contenu d'un objet char

ifx_get_blob
ifx_getsqlca
Fonctions Informix
PHP Manual

ifx_get_char

(PHP 4, PHP <=5.2.0)

ifx_get_char — Retourne le contenu d'un objet char

Description

string ifx_get_char ( int $bid )

Retourne le contenu d'un objet char.

Liste de paramètres

bid

L'identifiant de l'objet char.

Valeurs de retour

Retourne le contenu sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Voir aussi

  • ifx_get_blob() - Retourne le contenu d'un objet BLOB

ifx_get_blob
ifx_getsqlca
Fonctions Informix


Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête

ifx_get_char
ifx_htmltbl_result
Fonctions Informix
PHP Manual

ifx_getsqlca

(PHP 4, PHP <=5.2.0)

ifx_getsqlca — Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête

Description

array ifx_getsqlca ( resource $result_id )

Retourne un tableau associatif, contenant sqlca.sqlerrd[0] à sqlca.sqlerrd[5] après la requête associée result_id.

Pour les requêtes INSERT, UPDATE et DELETE, les valeurs retournées sont celles fixées par le serveur après avoir exécuté la requête. Cela donne accès au nombre de lignes affectées, ainsi qu'au numéro de série d'insertion. Pour les requêtes de type SELECT, les valeurs retournées sont celles qui ont été préparées. Utiliser cette fonction économise l'exécution d'une requête SELECT dbinfo('sqlca.sqlerrdx'), étant donné qu'elle retourne les valeurs qui ont été sauvées par le pilote ifx au moment approprié.

Liste de paramètres

result_id

result_id est un identifiant de résultats valide, retourné par la fonction ifx_query() ou la fonction ifx_prepare() (requêtes de type SELECT uniquement !).

Valeurs de retour

Retourne un tableau associatif, composé des entrées suivantes : sqlerrd0, sqlerrd1, sqlerrd2, sqlerrd3, sqlerrd4 et sqlerrd5.

Exemples

Exemple #1 Lire les valeurs de sqlca.sqlerrd[x]

<?php
/* On suppose que la première colonne d'une table
'quelconque' est un numéro de série */
$qid = ifx_query("insert into sometable
                  values (0, '2nd column', 'another column') ", $connid);
if (!$qid) {
    /* ... erreur ... */
}
$sqlca = ifx_getsqlca($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "Le numéro de série de la valeur insérée est : $serial_value<br />\n";
?>

ifx_get_char
ifx_htmltbl_result
Fonctions Informix


Lit toutes les lignes d'un tableau, et le met sous la forme d'un tableau HTML

ifx_getsqlca
ifx_nullformat
Fonctions Informix
PHP Manual

ifx_htmltbl_result

(PHP 4, PHP <=5.2.0)

ifx_htmltbl_result — Lit toutes les lignes d'un tableau, et le met sous la forme d'un tableau HTML

Description

int ifx_htmltbl_result ( resource $result_id [, string $html_table_options ] )

Formate et affiche toutes les lignes issues de la requête result_id dans un tableau HTML.

Liste de paramètres

result_id

result_id est un identifiant de résultats, retourné par la fonction ifx_query() ou la fonction ifx_prepare() (requêtes de type SELECT uniquement !).

html_table_options

Cet argument optionnel est une chaîne de caractères d'options de balise <table>.

Valeurs de retour

Retourne le nombre de lignes récupérées ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage sous la forme d'une table HTML

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... erreur ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Trop de lignes dans le résultat : (%d)\n<br />", $rowcount);
    die ("Recommencez votre requête <br />\n");
}
if (! ifx_do($rid)) {
    /* ... erreur ... */
}

ifx_htmltbl_result ($rid, "border=\"2\"");

ifx_free_result($rid);
?>

ifx_getsqlca
ifx_nullformat
Fonctions Informix


Modifie le mode par défaut de lecture des valeurs

ifx_htmltbl_result
ifx_num_fields
Fonctions Informix
PHP Manual

ifx_nullformat

(PHP 4, PHP <=5.2.0)

ifx_nullformat — Modifie le mode par défaut de lecture des valeurs

Description

bool ifx_nullformat ( int $mode )

Modifie le mode par défaut de lecture des valeurs.

Liste de paramètres

mode

Le mode "0" retourne "", et le mode "1" retourne "NULL".

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ifx_htmltbl_result
ifx_num_fields
Fonctions Informix


Retourne le nombre de colonnes d'une requête

ifx_nullformat
ifx_num_rows
Fonctions Informix
PHP Manual

ifx_num_fields

(PHP 4, PHP <=5.2.0)

ifx_num_fields — Retourne le nombre de colonnes d'une requête

Description

int ifx_num_fields ( resource $result_id )

Après avoir préparé ou exécuté une requête, cette fonction retourne le nombre de colonnes dans la requête.

Liste de paramètres

result_id

result_idest un identifiant de résultats retourné par la fonction ifx_query() ou par la fonction ifx_prepare() (requêtes de type SELECT uniquement !).

Valeurs de retour

Retourne le nombre de colonnes dans la requête result_id ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec ifx_num_fields()

<?php
$conn_id = ifx_connect("db", "user", "password");
$res_id = ifx_query("select * from systables", $conn_id);
echo ifx_num_fields($res_id);
?>

Voir aussi

  • ifx_num_rows() - Compte le nombre de lignes déjà lues dans un résultat

ifx_nullformat
ifx_num_rows
Fonctions Informix


Compte le nombre de lignes déjà lues dans un résultat

ifx_num_fields
ifx_pconnect
Fonctions Informix
PHP Manual

ifx_num_rows

(PHP 4, PHP <=5.2.0)

ifx_num_rows — Compte le nombre de lignes déjà lues dans un résultat

Description

int ifx_num_rows ( resource $result_id )

Compte le nombre de lignes déjà lues dans le résultat result_id après ifx_query() ou ifx_do().

Liste de paramètres

result_id

result_id est un identifiant de résultats retourné par la fonction ifx_query() ou la fonction ifx_prepare() (requêtes de type SELECT uniquement !).

Valeurs de retour

Retourne le nombre de lignes récupérées ou FALSE si une erreur survient.

Voir aussi

  • ifx_num_fields() - Retourne le nombre de colonnes d'une requête

ifx_num_fields
ifx_pconnect
Fonctions Informix


Ouvre une connexion persistante à un serveur Informix

ifx_num_rows
ifx_prepare
Fonctions Informix
PHP Manual

ifx_pconnect

(PHP 4, PHP <=5.2.0)

ifx_pconnect — Ouvre une connexion persistante à un serveur Informix

Description

resource ifx_pconnect ([ string $database [, string $userid [, string $password ]]] )

ifx_pconnect() se comporte de manière très similaire à ifx_connect() avec deux différences importantes.

Tout d'abord, lors de la connexion, la fonction va chercher une connexion (persistante) déjà ouverte avec le même hôte, le même nom d'utilisateur et le même mot de passe. Si elle en trouve une, elle retournera un identifiant de cette connexion au lieu d'en ouvrir une nouvelle.

Deuxièmement, la connexion au serveur SQL ne sera pas automatiquement refermée à la fin de l'exécution du script. Au contraire, le lien va rester ouvert (ifx_close() ne fermera pas les connexions établies avec ifx_pconnect()).

Ainsi, ce type de lien est appelé 'persistant'.

Liste de paramètres

Tous les arguments sont optionnels, et s'ils ne sont pas fournis, les valeurs par défaut sont utilisées, émanant du php.ini (ifx.default_host pour l'hôte (les bibliothèques Informix utiliseront la valeur de la variable d'environnement INFORMIXSERVER si cette valeur n'est pas défini), ifx.default_user pour l'utilisateur, ifx.default_password pour le mot de passe (aucun s'il n'est pas fourni)).

database

Le nom de la base de données, sous la forme d'une chaîne de caractères.

userid

Le nom d'utilisateur, sous la forme d'une chaîne de caractères.

password

Le mot de passe, sous la forme d'une chaîne de caractères.

Valeurs de retour

Retourne un identifiant valide de connexion persistante à un serveur Informix, ou FALSE, en cas d'erreur.

Voir aussi

  • ifx_connect() - Ouvre une connexion à un serveur Informix

ifx_num_rows
ifx_prepare
Fonctions Informix


Prépare une requête SQL pour l'exécution

ifx_pconnect
ifx_query
Fonctions Informix
PHP Manual

ifx_prepare

(PHP 4, PHP <=5.2.0)

ifx_prepare — Prépare une requête SQL pour l'exécution

Description

resource ifx_prepare ( string $query , resource $link_identifier [, int $cursor_def ], mixed $blobidarray )

Prépare la requête query pour une utilisation ultérieure avec la fonction ifx_do().

Pour les requêtes de type "select-type" un pointeur de résultat est déclaré et ouvert. Les autres seront exécutées immédiatement.

Pour les autres types de requêtes, le nombre de lignes affectées (estimé ou exact) est enregistré, pour être lu avec la fonction ifx_affected_rows().

Si le contenu d'une colonne est de type TEXT (ou BYTE) vous pouvez aussi utiliser les fonctions ifx_textasvarchar() et ifx_byteasvarchar(). Cela vous permettra d'utiliser les colonnes TEXT (ou BYTE) comme des colonnes de type VARCHAR (mais plus long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB.

Avec les fonctions ifx_textasvarchar() et ifx_byteasvarchar() (valeurs par défaut), les requêtes SELECT retourneront des identifiants de BLOB. Cet identifiant peut être une chaîne ou un fichier, suivant la configuration (voir plus loin).

Liste de paramètres

query

La requête.

link_identifier

L'identifiant du lien.

cursor_def

Ce paramètre optionnel permet de choisir le type de pointeur : scroll et/ou hold. Les valeurs peuvent être combinées ensemble (IFX_SCROLL, IFX_HOLD).

blobidarray

Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de modification, vous pouvez passer un paramètre blobidarray qui contiendra les identifiants des BLOB à modifier, et vous devrez remplacer cette colonne par un point d'interrogation (?) dans la requête.

Valeurs de retour

Retourne un identifiant de résultats pour une utilisation ultérieure avec la fonction ifx_do(), ou FALSE si une erreur survient.

Voir aussi

  • ifx_do() - Exécute une requête SQL préparée

ifx_pconnect
ifx_query
Fonctions Informix


Envoie une requête Informix

ifx_prepare
ifx_textasvarchar
Fonctions Informix
PHP Manual

ifx_query

(PHP 4, PHP <=5.2.0)

ifx_query — Envoie une requête Informix

Description

resource ifx_query ( string $query , resource $link_identifier [, int $cursor_type [, mixed $blobidarray ]] )

ifx_query() envoie une requête au serveur actif courant, associé à l'identifiant de connexion link_identifier.

Pour les requêtes de type SELECT, un pointeur est déclaré, et ouvert. Les autres seront exécutées immédiatement.

Pour les autres requêtes, le nombre de lignes affectées (estimé ou exact) est enregistré pour être lu avec ifx_affected_rows().

Si le contenu d'une colonne est de type TEXT (ou BYTE) vous pouvez aussi utiliser les fonctions ifx_textasvarchar() et ifx_byteasvarchar(). Cela vous permettra d'utiliser les colonnes TEXT ( ou BYTE ) comme des colonnes de type VARCHAR (mais plus long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB.

Avec les fonctions ifx_textasvarchar() et ifx_byteasvarchar() (valeurs par défaut), les requêtes SELECT retourneront des identifiants de BLOB. Ces identifiants peuvent être une chaîne ou un fichier, suivant la configuration (voir plus loin).

Liste de paramètres

query

La requête, sous la forme d'une chaîne de caractères.

link_identifier

L'identifiant du lien.

cursor_def

Ce paramètre optionnel vous permet de choisir le type de curseur, scroll et/ou hold. C'est un masque qui peut être soit IFX_SCROLL, soit IFX_HOLD, ou les deux. Si vous ne fournissez pas ce paramètre, le curseur est un curseur normal séquentiel.

blobidarray

Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de modification, vous pouvez passer un paramètre blobidarray qui contiendra les identifiants des BLOB à modifier, et vous devrez remplacer cette colonne par un point d'interrogation (?) dans la requête.

Valeurs de retour

Retourne un identifiant de résultats Informix en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Afficher toutes les lignes de la table "ordres" sous la forme html du serveur IFX

<?php
ifx_textasvarchar(1);      // Utilisation du mode "text mode" pour les BLOBs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
    printf("Can't select orders : %s\n<br />%s<br />\n", ifx_error(), ifx_errormsg());
    die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
?>

Exemple #2 Insertion de valeurs dans la table "catalogue" IFX

<?php

// Créer un identifiant de BLOB pour une colonne de type BYTE et une de type TEXT
$textid = ifx_create_blob(0, 0, "Colonne Text en mémoire");
$byteid = ifx_create_blob(1, 0, "Colonne Byte en mémoire");

// Stocke l'identifiant du BLOB dans le tableau BLOBid
$blobidarray[] = $textid;
$blobidarray[] = $byteid;

// Exécute la requête
$query = "insert into catalog (stock_num, manu_code, " .
         "cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
    /* ... erreur ... */
}

// Libération du résultat
ifx_free_result($res_id);
?>

Voir aussi

  • ifx_connect() - Ouvre une connexion à un serveur Informix

ifx_prepare
ifx_textasvarchar
Fonctions Informix


Choisit le mode par défaut des objets texte

ifx_query
ifx_update_blob
Fonctions Informix
PHP Manual

ifx_textasvarchar

(PHP 4, PHP <=5.2.0)

ifx_textasvarchar — Choisit le mode par défaut des objets texte

Description

bool ifx_textasvarchar ( int $mode )

Modifie le mode par défaut des objets TEXT.

Liste de paramètres

mode

Le mode "0" retournera un identifiant de BLOB et le mode "1" retourne le BLOB sous la forme d'un (gros) VARCHAR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_byteasvarchar() - Choisit le mode par défaut des objets BYTE

ifx_query
ifx_update_blob
Fonctions Informix


Modifie le contenu d'un objet BLOB

ifx_textasvarchar
ifx_update_char
Fonctions Informix
PHP Manual

ifx_update_blob

(PHP 4, PHP <=5.2.0)

ifx_update_blob — Modifie le contenu d'un objet BLOB

Description

bool ifx_update_blob ( int $bid , string $content )

Modifie le contenu de l'objet BLOB repéré par son identifiant bid.

Liste de paramètres

bid

Un identifiant d'objet BLOB.

content

Les nouvelles données, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_update_char() - Modifie le contenu d'un objet char

ifx_textasvarchar
ifx_update_char
Fonctions Informix


Modifie le contenu d'un objet char

ifx_update_blob
ifxus_close_slob
Fonctions Informix
PHP Manual

ifx_update_char

(PHP 4, PHP <=5.2.0)

ifx_update_char — Modifie le contenu d'un objet char

Description

bool ifx_update_char ( int $bid , string $content )

Modifie le contenu de l'objet char repéré par son identifiant bid.

Liste de paramètres

bid

Un identifiant d'objet char.

content

Les nouvelles données, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifx_update_blob() - Modifie le contenu d'un objet BLOB

ifx_update_blob
ifxus_close_slob
Fonctions Informix


Ferme un objet SLOB

ifx_update_char
ifxus_create_slob
Fonctions Informix
PHP Manual

ifxus_close_slob

(PHP 4, PHP <=5.2.0)

ifxus_close_slob — Ferme un objet SLOB

Description

bool ifxus_close_slob ( int $bid )

Ferme l'objet SLOB représenté par son identifiant bid.

Liste de paramètres

bid

Un identifiant vers un slob existant.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifxus_open_slob() - Ouvre un objet SLOB

ifx_update_char
ifxus_create_slob
Fonctions Informix


Crée un objet SLOB et l'ouvre

ifxus_close_slob
ifxus_free_slob
Fonctions Informix
PHP Manual

ifxus_create_slob

(PHP 4, PHP <=5.2.0)

ifxus_create_slob — Crée un objet SLOB et l'ouvre

Description

int ifxus_create_slob ( int $mode )

Crée un objet SLOB et l'ouvre.

Liste de paramètres

mode

Une combinaison des constantes suivantes : IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

Valeurs de retour

Retourne l'identifiant du nouvel objet slob, ou FALSE si une erreur survient.

Voir aussi

  • ifxus_close_slob() - Ferme un objet SLOB
  • ifxus_free_slob() - Supprime un objet SLOB

ifxus_close_slob
ifxus_free_slob
Fonctions Informix


Supprime un objet SLOB

ifxus_create_slob
ifxus_open_slob
Fonctions Informix
PHP Manual

ifxus_free_slob

(PHP 4, PHP <=5.2.0)

ifxus_free_slob — Supprime un objet SLOB

Description

bool ifxus_free_slob ( int $bid )

Supprime un objet SLOB.

Liste de paramètres

bid

Un identifiant vers un slob existant.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ifxus_close_slob() - Ferme un objet SLOB

ifxus_create_slob
ifxus_open_slob
Fonctions Informix


Ouvre un objet SLOB

ifxus_free_slob
ifxus_read_slob
Fonctions Informix
PHP Manual

ifxus_open_slob

(PHP 4, PHP <=5.2.0)

ifxus_open_slob — Ouvre un objet SLOB

Description

int ifxus_open_slob ( int $bid , int $mode )

Ouvre un objet SLOB. bid doit être un identifiant slob existant.

Liste de paramètres

bid

Un identifiant slob existant.

mode

Une combinaison des constantes suivantes : IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

Valeurs de retour

Retourne l'identifiant du nouvel objet slob, ou FALSE si une erreur survient.

Voir aussi

  • ifxus_close_slob() - Ferme un objet SLOB
  • ifxus_free_slob() - Supprime un objet SLOB

ifxus_free_slob
ifxus_read_slob
Fonctions Informix


Lit des octets dans un objet SLOB

ifxus_open_slob
ifxus_seek_slob
Fonctions Informix
PHP Manual

ifxus_read_slob

(PHP 4, PHP <=5.2.0)

ifxus_read_slob — Lit des octets dans un objet SLOB

Description

string ifxus_read_slob ( int $bid , int $nbytes )

Lit nbytes octets de l'objet slob.

Liste de paramètres

bid

Un identifiant slob existant.

nbytes

Le nombre d'octets à lire.

Valeurs de retour

Retourne le contenu du slob sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

Voir aussi

  • ifxus_write_slob() - Écrit une chaîne dans un objet SLOB

ifxus_open_slob
ifxus_seek_slob
Fonctions Informix


Fixe le fichier courant ou la position courante

ifxus_read_slob
ifxus_tell_slob
Fonctions Informix
PHP Manual

ifxus_seek_slob

(PHP 4, PHP <=5.2.0)

ifxus_seek_slob — Fixe le fichier courant ou la position courante

Description

int ifxus_seek_slob ( int $bid , int $mode , int $offset )

Fixe le fichier courant ou la position courante d'un objet slob ouvert.

Liste de paramètres

bid

Un identifiant slob existant.

mode

0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END.

offset

La position.

Valeurs de retour

Retourne le position sous la forme d'un entier ou FALSE si une erreur survient.

Voir aussi

  • ifxus_tell_slob() - Retourne le fichier courant ou la position courante

ifxus_read_slob
ifxus_tell_slob
Fonctions Informix


Retourne le fichier courant ou la position courante

ifxus_seek_slob
ifxus_write_slob
Fonctions Informix
PHP Manual

ifxus_tell_slob

(PHP 4, PHP <=5.2.0)

ifxus_tell_slob — Retourne le fichier courant ou la position courante

Description

int ifxus_tell_slob ( int $bid )

Retourne le fichier courant ou la position courante d'un objet slob ouvert.

Liste de paramètres

bid

Un identifiant slob existant.

Valeurs de retour

Retourne la position sous la forme d'un entier ou FALSE si une erreur survient.

Voir aussi

  • ifxus_seek_slob() - Fixe le fichier courant ou la position courante

ifxus_seek_slob
ifxus_write_slob
Fonctions Informix


Écrit une chaîne dans un objet SLOB

ifxus_tell_slob
IBM DB2
Fonctions Informix
PHP Manual

ifxus_write_slob

(PHP 4, PHP <=5.2.0)

ifxus_write_slob — Écrit une chaîne dans un objet SLOB

Description

int ifxus_write_slob ( int $bid , string $content )

Écrit une chaîne dans un objet SLOB.

Liste de paramètres

bid

Un identifiant slob existant.

content

Le contenu à écrire, sous la forme d'une chaîne de caractères.

Valeurs de retour

Retourne les octets écrits, sous la forme d'un entier ou FALSE si une erreur survient.

Voir aussi

  • ifxus_read_slob() - Lit des octets dans un objet SLOB

ifxus_tell_slob
IBM DB2
Fonctions Informix


Fonctions IBM DB2, Cloudscape et Apache Derby

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions IBM DB2
    • db2_autocommit — Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données
    • db2_bind_param — Associe une variable PHP à un paramètre d'une requête SQL
    • db2_client_info — Retourne un objet avec des propriétés qui décrivent le client de base de données DB2
    • db2_close — Ferme une connexion de base de données
    • db2_column_privileges — Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
    • db2_columns — Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
    • db2_commit — Valide la transaction
    • db2_conn_error — Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion
    • db2_conn_errormsg — Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE
    • db2_connect — Retourne une connexion à une base de données
    • db2_cursor_type — Retourne le type de curseur utilisé par une ressource
    • db2_escape_string — Utilisé pour échapper certains caractères
    • db2_exec — Exécute une requête SQL directement
    • db2_execute — Exécute une requête SQL préparée
    • db2_fetch_array — Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
    • db2_fetch_assoc — Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
    • db2_fetch_both — Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
    • db2_fetch_object — Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
    • db2_fetch_row — Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
    • db2_field_display_size — Retourne le maximum d'octets requis pour afficher une colonne
    • db2_field_name — Retourne le nom de la colonne du jeu de résultats
    • db2_field_num — Retourne la position du nom de la colonne du jeu de résultats
    • db2_field_precision — Retourne la précision de la colonne indiquée du jeu de résultats
    • db2_field_scale — Retourne l'échelle de la colonne indiquée du jeu de résultats
    • db2_field_type — Retourne le type de donnée de la colonne indiquée du jeu de résultats
    • db2_field_width — Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats
    • db2_foreign_keys — Retourne un jeu de résultats listant les clés étrangères d'une table
    • db2_free_result — Libère la mémoire associée à un jeu de résultats
    • db2_free_stmt — Libère la mémoire associée à la ressource indiquée
    • db2_get_option — Récupère la valeur d'une option pour une requête ou une connexion
    • db2_last_insert_id — Retourne le dernier ID généré par la dernière requête d'insertion
    • db2_lob_read — Récupère de grands objets binaires de tailles prédéfinies à chaque invocation
    • db2_next_result — Demande le prochain jeu de résultats de la ressource indiquée
    • db2_num_fields — Retourne le nombre de champs contenu du jeu de résultats
    • db2_num_rows — Retourne le nombre de lignes affectées par une requête SQL
    • db2_pclose — Ferme une connexion persistante à la base de données
    • db2_pconnect — Retourne une connexion persistante à une base de données
    • db2_prepare — Prépare une requête SQL à être exécutée
    • db2_primary_keys — Retourne un jeu de résultats listant les clés d'une table
    • db2_procedure_columns — Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
    • db2_procedures — Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
    • db2_result — Retourne une colonne d'une ligne d'un jeu de résultats
    • db2_rollback — Annule une transaction
    • db2_server_info — Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2
    • db2_set_option — Fixe des options pour une connexion ou des ressources
    • db2_special_columns — Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
    • db2_statistics — Retourne un jeu de résultats listant les index et statistiques d'une table
    • db2_stmt_error — Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL
    • db2_stmt_errormsg — Retourne le dernier message d'erreur d'une requête SQL
    • db2_table_privileges — Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
    • db2_tables — Retourne la liste des tables et leurs métadonnées
ifxus_write_slob
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions vous permettent un accès aux IBM DB2 Universal Database, IBM Cloudscape et Apache Derby qui utilisent DB2 Call Level Interface (CLI).

IBM DB2
Installation/Configuration
IBM DB2


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
IBM DB2


Pré-requis

Pour se connecter à des bases de données IBM DB2 Universal Database pour linux, UNIX et Windows ou IBM Cloudscape ou Apache Derby, vous devez installer un client IBM DB2 Universal Database sur le même ordinateur qui utilise PHP. Cette extension a été développé et testé avec DB2 Version 8.2.

Pour se connecter à des bases de données IBM DB2 Universal Database pour z/OS ou iSeries, vous aurez aussi besoin de IBM DB2 Connect ou l'équivalent d'un programme DRDA.

Prérequis pour Linux et Unix

L'utilisateur appelant l'exécutable PHP ou module SAPI doit spécifier l'instance DB2 avant d'accéder à ces fonctions. Vous pouvez spécifier le nom de l'instance DB2 dans php.ini en utilisant l'option de configuration ibm_db2.instance_name ou vous pouvez approvisionner le profile de l'instance DB2 avant d'appeler l'exécutable PHP.

Si vous avez créée une instance DB2 nommée db2inst1 dans /home/db2inst1, par exemple, vous pouvez ajouter la ligne suivante à votre php.ini :

ibm_db2.instance_name=db2inst1
Si vous ne spécifiez pas cette option dans php.ini, vous devez exécuter la commande suivante pour modifier vos variables d'environnement pour autoriser l'accès à DB2 :
bash$ source /home/db2inst1/sqllib/db2profile
Pour permettre votre PHP sur votre serveur web d'accéder à ces fonctions, vous devez ajouter la même commande à votre script de démarrage de votre serveur Web (typiquement /etc/init.d/httpd or /etc/init.d/apache).

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour compiler l'extension ibm_db2, les fichiers d'en-tête et de bibliothèques de l'application de développement de DB2 doivent être présents sur votre système. DB2 ne les installe pas par défaut, vous devrez donc retourner à l'installation de DB2 et ajouter cette option. Les en-têtes des fichiers sont inclus avec le client de développement d'application DB2, disponible librement au téléchargement depuis le » support du site de la base de données universelle.

Si vous ajoutez les fichiers d'en-têtes et de bibliothèques de l'application de développement de DB2 sur un système Linux ou Unix où DB2 est déjà installé, vous devez lancer la commande db2iupdt -e pour mettre à jour les liens symboliques dans les fichiers d'en-têtes et de bibliothèques de vos exemples DB2.

ibm_db2 est une extension » PECL, alors suivez les instructions présentes dans Installation d'extensions PECL pour installer l'extension ibm_db2 pour PHP. Tapez la commande configure pour pointer vers l'emplacement de vos fichiers d'en-têtes et de bibliothèques de DB2 comme suit :

bash$ ./configure --with-IBM_DB2=/chemin/vers/DB2
La commande configure prend la valeur par défaut de /opt/IBM/db2/V8.1.

Note: Note pour les utilisateurs de IIS
Si vous utilisez le driver ibm_db2 avec IIS (Microsoft Internet Information Server), vous devez faire ce qui suit :

  • Installez DB2 avec le système de sécurité étendu.
  • Ajoutez le chemin vers le binaire PHP à la variable d'environnement du système (PATH) (Par défaut : C:\php\).
  • Créé une autre variable d'environnement contenant le chemin vers le fichier PHP.INI (e.g. : PHPRC = C:\php\).
  • Ajoutez l'utilisateur IUSR_COMPUTERNAME au groupe DB2USERS.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration DB2
Nom | Défaut | Modifiable | Historique
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.5.0.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.0.2.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM |
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.8.0.

Voici un éclaircissement sur l'utilisation des directives de configuration.

ibm_db2.binmode (entier)

Cette option contrôle le mode utilisé pour convertir à partir ou vers les données binaires dans l'application PHP.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect (entier)

Cette option écrase le comportement de la fonction db2_connect() pour les ouvertures et les fermetures en PHP Lorsque ibm_db2.i5_all_pconnect = 1, toutes les connexions db2 deviennent persistante (db2_pconnect()). Sous i5/OS, db2_pconnect() a des performances accrues avec de petites machines comparée à la fonction db2_connect(). Cette option est pratique dans le sens où elle permet de modifier le comportement de la fonction db2_connect() en db2_pconnect() sans pour autant modifier le code source PHP.

  • 0 : le comportement de la fonction db2_connect() est inchangé

  • 1 : le comportement de la fonction db2_connect() devient identique à la fonction db2_pconnect() pour les connexions persistantes uniquement.

ibm_db2.i5_allow_commit integer

Cette option contrôle le mode d'envoi utilisé pour les schémas de collections i5 dans l'application PHP.

  • 0 : aucun envoi (voir i5_commit pour dérivé)

  • 1 : autorise l'envoi (voir i5_commit pour dérivé)

ibm_db2.i5_dbcs_alloc (entier)

Cette option contrôle l'allocation de canevas internes de ibm_db2 pour des tampons de colonne large DBCS.

  • 0 : aucune allocation étendue (voir i5_dbcs_alloc pour dérivé)

  • 1 : utilise les allocations étendues (voir i5_dbcs_alloc pour dérivé)

ibm_db2.instance_name (chaîne de caractères)

Sur les systèmes d'exploitation Linux et UNIX, cette option définit le nom de l'instance à utiliser pour les connexions aux bases de données cataloguées. Si cette option est utilisée, sa valeur prévaut sur la variable d'environnement DB2INSTANCE.

Cette option est ignorée sur les systèmes d'exploitation Windows.

ibm_db2.i5_ignore_userid (entier)

Cette option surcharge le comportement de db2_pconnect() et db2_connect() quant aux userid et au mot de passe dans vos application PHP. Lorsque ibm_db2.i5_ignore_userid = 1, toutes les connexions db2 (persistantes comprises) reçoivent un userid et un mot de passe vide. Ainsi, Apache se connecte avec le profil courant (NOBODY). Vous ne devriez utiliser cette option que pour des sites web DB2 qui ne nécessitent aucun changement de profile. Cette option est une façon simple de définir le userid et le mot de passe pour les fonctions db2_pconnect() et db2_connect() sans pour autant modifier le code source PHP. Cette option peut être utilisée avec l'option ibm_db2.i5_all_pconnect = 1.

  • 0 : db2_(p)connect avec un userid et un mot de passé spécifique

  • 1 : db2_(p)connect avec un userid et un mot de passe nul

Installation
Types de ressources
Installation/Configuration


Types de ressources

L'extension ibm_db2 retourne des ressources de connexion, des ressources de déclaration et des ressources de jeu de résultats.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

DB2_BINARY (entier)
Spécifie que les données binaires seront retournées comme elles sont. Ceci est le mode par défaut.
DB2_CONVERT (entier)
Spécifie que les données binaires seront converties en hexadécimal et retournées comme une chaîne ASCII.
DB2_PASSTHRU (entier)
Spécifie que les données binaires seront converties en valeur NULL.
DB2_SCROLLABLE (entier)
Spécifie le curseur flottant pour une déclaration de ressource. Ce mode permet un accès aléatoire aux lignes du jeu de résultats, mais présentement, il est supporté seulement par IBM DB2 Universal Database.
DB2_FORWARD_ONLY (entier)
Spécifie un curseur d'avancement seul pour une déclaration de ressource. Il s'agit de la valeur par défaut de ce type de curseur, et il est supporté par tous les serveurs de base de données.
DB2_PARAM_IN (entier)
Spécifie que la variable PHP doit être lié comme étant un paramètre ENTRANT pour une procédure d'enregistrement.
DB2_PARAM_OUT (entier)
Spécifie que la variable PHP doit être lié comme étant un paramètre SORTANT pour une procédure d'enregistrement.
DB2_PARAM_INOUT (entier)
Spécifie que la variable PHP doit être lié comme étant un paramètre ENTRANT/SORTANT pour une procédure d'enregistrement.
DB2_PARAM_FILE (entier)
Spécifie que la colonne doit être lié directement à un fichier pour entrée.
DB2_AUTOCOMMIT_ON (entier)
Spécifie que autocommit doit être activé.
DB2_AUTOCOMMIT_OFF (entier)
Spécifie que autocommit doit être désactivé.
DB2_DOUBLE (entier)
Spécifie que la variable doit être lié à un type DOUBLE, FLOAT ou REAL.
DB2_LONG (entier)
Spécifie que la variable doit être lié à un type SMALLINT, INTEGER ou BIGINT.
DB2_CHAR (entier)
Spécifie que la variable doit être lié à un type CHAR ou VARCHAR
DB2_CASE_NATURAL (entier)
Spécifie que les noms de colonnes doivent être retournés dans leurs casses naturelles.
DB2_CASE_LOWER (entier)
Spécifie que les noms de colonnes doivent être retournés en minuscule.
DB2_CASE_UPPER (entier)
Spécifie que les noms de colonnes doivent être retournés en majuscule.
DB2_DEFERRED_PREPARE_ON (entier)
Spécifie que la préparation déferrée doit être active pour la ressource de requête spécifiée.
DB2_DEFERRED_PREPARE_OFF (entier)
Spécifie que la préparation déferrée doit être désactivée pour la ressource de requête spécifiée.
Types de ressources
Fonctions IBM DB2
IBM DB2


Fonctions IBM DB2

Sommaire

  • db2_autocommit — Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données
  • db2_bind_param — Associe une variable PHP à un paramètre d'une requête SQL
  • db2_client_info — Retourne un objet avec des propriétés qui décrivent le client de base de données DB2
  • db2_close — Ferme une connexion de base de données
  • db2_column_privileges — Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns — Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_commit — Valide la transaction
  • db2_conn_error — Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion
  • db2_conn_errormsg — Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE
  • db2_connect — Retourne une connexion à une base de données
  • db2_cursor_type — Retourne le type de curseur utilisé par une ressource
  • db2_escape_string — Utilisé pour échapper certains caractères
  • db2_exec — Exécute une requête SQL directement
  • db2_execute — Exécute une requête SQL préparée
  • db2_fetch_array — Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc — Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both — Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_object — Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
  • db2_fetch_row — Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_field_display_size — Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name — Retourne le nom de la colonne du jeu de résultats
  • db2_field_num — Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision — Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale — Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type — Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width — Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats
  • db2_foreign_keys — Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_free_result — Libère la mémoire associée à un jeu de résultats
  • db2_free_stmt — Libère la mémoire associée à la ressource indiquée
  • db2_get_option — Récupère la valeur d'une option pour une requête ou une connexion
  • db2_last_insert_id — Retourne le dernier ID généré par la dernière requête d'insertion
  • db2_lob_read — Récupère de grands objets binaires de tailles prédéfinies à chaque invocation
  • db2_next_result — Demande le prochain jeu de résultats de la ressource indiquée
  • db2_num_fields — Retourne le nombre de champs contenu du jeu de résultats
  • db2_num_rows — Retourne le nombre de lignes affectées par une requête SQL
  • db2_pclose — Ferme une connexion persistante à la base de données
  • db2_pconnect — Retourne une connexion persistante à une base de données
  • db2_prepare — Prépare une requête SQL à être exécutée
  • db2_primary_keys — Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns — Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures — Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_result — Retourne une colonne d'une ligne d'un jeu de résultats
  • db2_rollback — Annule une transaction
  • db2_server_info — Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2
  • db2_set_option — Fixe des options pour une connexion ou des ressources
  • db2_special_columns — Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics — Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_stmt_error — Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL
  • db2_stmt_errormsg — Retourne le dernier message d'erreur d'une requête SQL
  • db2_table_privileges — Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables — Retourne la liste des tables et leurs métadonnées
Constantes pré-définies
db2_autocommit
IBM DB2


Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données

Fonctions IBM DB2
db2_bind_param
Fonctions IBM DB2
PHP Manual

db2_autocommit

(PECL ibm_db2 >= 1.0.0)

db2_autocommit — Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données

Description

mixed db2_autocommit ( resource $connection [, bool $value ] )

Modifie ou lit le comportement de AUTOCOMMIT de la connexion spécifiée.

Liste de paramètres

connection

Une variable de connexion à une base de données valide retournée par db2_connect() ou db2_pconnect().

value

Une des constantes suivantes :

DB2_AUTOCOMMIT_OFF

Désactive AUTOCOMMIT.

DB2_AUTOCOMMIT_ON

Active AUTOCOMMIT.

Valeurs de retour

Lorsque db2_autocommit() reçoit seulement connection comme paramètre, la fonction retourne un entier représentant l'état courant de AUTOCOMMIT de la connexion fournie. Une valeur de 0 signifie que AUTOCOMMIT est désactivé, tandis qu'une valeur de 1 signifie que AUTOCOMMIT est activé.

Lorsque db2_autocommit() reçoit les deux paramètres connection et autocommit, la fonction essaie de modifier l'état AUTOCOMMIT à l'état autocommit de la connexion fournie. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupération de la valeur de AUTOCOMMIT pour une connexion

Dans l'exemple suivant, une connexion qui a été initialisée avec l'état AUTOCOMMIT désactivé est testé avec la fonction db2_autocommit().

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT est désactivé.";
} else {
    print "$ac -- AUTOCOMMIT est activé.";
}
?>

L'exemple ci-dessus va afficher :

0 -- AUTOCOMMIT est désactivé.

Exemple #2 Modification de la valeur de AUTOCOMMIT pour une connexion

Dans l'exemple suivant, une connexion qui a été préalablement initialisée avec l'état AUTOCOMMIT désactivé a son comportement changé lors de l'activation de l'état AUTOCOMMIT.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Active AUTOCOMMIT
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Activation AUTOCOMMIT réussie.\n";
}

// Vérification de l'état AUTOCOMMIT
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT est désactivé.";
} else {
    print "$ac -- AUTOCOMMIT est activé.";
}
?>

L'exemple ci-dessus va afficher :

Activation AUTOCOMMIT réussie.
1 -- AUTOCOMMIT est activé.

Voir aussi

  • db2_connect() - Retourne une connexion à une base de données
  • db2_pconnect() - Retourne une connexion persistante à une base de données

Fonctions IBM DB2
db2_bind_param
Fonctions IBM DB2


Associe une variable PHP à un paramètre d'une requête SQL

db2_autocommit
db2_client_info
Fonctions IBM DB2
PHP Manual

db2_bind_param

(PECL ibm_db2 >= 1.0.0)

db2_bind_param — Associe une variable PHP à un paramètre d'une requête SQL

Description

bool db2_bind_param ( resource $stmt , int $parameter-number , string $variable-name [, int $parameter-type [, int $data-type = 0 [, int $precision = -1 [, int $scale = 0 ]]]] )

Associe une variable PHP à un paramètre dans la requête SQL retournée par db2_prepare(). Cette fonction vous donne plus de contrôle sur les types des paramètres, les types des données, la précision, et l'échelle pour le paramètre qu'en lui passant simplement une variable à l'intérieur du tableau d'entrée optionnel de la fonction db2_execute().

Liste de paramètres

stmt

Une requête préparée retournée par db2_prepare().

parameter-number

Spécifie la position du paramètre commençant à l'indice 1 dans la requête préparée.

variable-name

Une chaîne spécifiant le nom de la variable PHP à associer au paramètre spécifié par parameter-number.

parameter-type

Une constante spécifiant si la variable PHP devrait être associé au paramètre SQL en tant que paramètre entrant (DB2_PARAM_IN), que paramètre sortant (DB2_PARAM_OUT) ou en tant que paramètre qui accepte les entrées et les sorties (DB2_PARAM_INOUT). Pour éviter une surconsommation de la mémoire, vous pouvez aussi spécifier DB2_PARAM_FILE pour attacher la variable PHP au nom du fichier qui contient les données de l'objet large (BLOB, CLOB ou DBCLOB).

data-type

Une constante spécifiant le type de données SQL que la variable PHP devrait être associée. Le paramètre doit prendre une des valeurs suivantes : DB2_BINARY, DB2_CHAR, DB2_DOUBLE ou DB2_LONG.

precision

Spécifie la précision à laquelle la variable devrait être associée à la base de données. Ce paramètre peut également être utilisé pour récupérer des valeurs de sortie XML pour les procédures stockées. Une valeur non-négative spécifie la taille maximale des données XML qui seront récupérées depuis la base de données. Si ce paramètre n'est pas utilisé, une taille par défaut de 1 Mo sera définie pour récupérer les valeurs de sorte XML depuis la procédure stockée.

scale

Spécifie l'échelle à laquelle la variable devrait être associée à la base de données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Association de variables PHP à une requête préparée

La requête SQL dans l'exemple suivant utilise deux paramètres d'entrée dans la section WHERE. Nous appelons db2_bind_param() pour associer deux variables qui n'ont pas été déclarées ou assignées avant l'appel de db2_bind_param(); dans cet exemple, $lower_limit est assignée avant d'être appelée à db2_bind_param(), mais $upper_limit est assignée après l'appel de db2_bind_param(). Les variables doivent être associées et, pour les paramètres qui acceptent les entrées, nous devons leur assigner une valeur avant d'appeler db2_execute().

<?php

$sql = 'SELECT nom, race, poids FROM animaux
    WHERE poids > ? AND poids < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// Nous pouvons déclarer la variable avant d'appeler db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// Nous pouvons aussi déclarer la variable après l'appel de db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

L'exemple ci-dessus va afficher :

Pook, chat, 3.2
Rickety Ride, chèvre, 9.7
Peaches, chien, 12.3

Exemple #2 Appel de procédures d'enregistrement avec les paramètres IN et OUT

La procédure d'enregistrement concorde_animal dans l'exemple suivant accepte trois différents paramètres :

  1. un paramètre d'entré (IN) qui accepte le nom du premier animal en entré

  2. un paramètre d'entrée-sortie (INOUT) qui accepte le nom du second animal en entré et retourne une chaîne de caractères TRUE si un animal dans la base de données correspond à ce nom

  3. un paramètre de sortie (OUT) qui retourne la somme des poids des deux animaux identifiés

De plus, la procédure d'enregistrement retourne un jeu de résultat contenant les animaux listés en ordre alphabétique en commençant avec l'animal correspondant à la valeur d'entrée du premier paramètre et en terminant avec l'animal correspondant à la valeur d'entrée du deuxième paramètre.

<?php

$sql = 'CALL concorde_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$nom = "Peaches";
$second_nom = "Rickety Ride";
$poids = 0;

db2_bind_param($stmt, 1, "nom", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_nom", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "poids", DB2_PARAM_OUT);

print "Valeurs des paramètres _avant_ CALL :\n";
print "  1: {$nom} 2: {$second_nom} 3: {$poids}\n\n";

if (db2_execute($stmt)) {
    print "Valeurs des paramètres _après_ CALL :\n";
    print "  1: {$nom} 2: {$second_nom} 3: {$poids}\n\n";

    print "Résultats :\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

L'exemple ci-dessus va afficher :

Valeurs des paramètres _avant_ CALL :
  1: Peaches 2: Rickety Ride 3: 0

Valeurs des paramètres _après_ CALL :
  1: Peaches 2: TRUE 3: 22

Résultats :
  Peaches, chien, 12.3
  Pook, chat, 3.2
  Rickety Ride, chèvre, 9.7

Exemple #3 Insertion d'un objet large binaire (BLOB) provenant directement d'un fichier

Les données pour les objets larges sont normalement enregistrées dans des fichiers, comme des documents XML ou des fichiers audio. Plutôt que de lire le fichier en entier dans une variable de PHP et ensuite associer la variable PHP dans la requête SQL, vous pouvez éviter certain surdébit de mémoire en associant le fichier directement au paramètre d'entrée de votre requête SQL. L'exemple suivant démontre comment associer un fichier directement dans une colonne BLOB.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(photo) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Voir aussi

  • db2_execute() - Exécute une requête SQL préparée
  • db2_prepare() - Prépare une requête SQL à être exécutée

db2_autocommit
db2_client_info
Fonctions IBM DB2


Retourne un objet avec des propriétés qui décrivent le client de base de données DB2

db2_bind_param
db2_close
Fonctions IBM DB2
PHP Manual

db2_client_info

(PECL ibm_db2 >= 1.1.1)

db2_client_info — Retourne un objet avec des propriétés qui décrivent le client de base de données DB2

Description

object db2_client_info ( resource $connection )

Cette fonction retourne un objet avec des propriétés en lecture seule qui retournent des informations à propos du client de base de données DB2. La table suivante liste les propriétés du client DB2 :

Propriétés du client DB2
Nom Propriété | Type de retour | Description
APPL_CODEPAGE | entier | L'application est un code page.
CONN_CODEPAGE | entier | Le code page pour la connexion courante.
DATA_SOURCE_NAME | chaîne de caractères | Le nom source de la donnée (DSN) utilisé pour créer la connexion courante à la base de données.
DRIVER_NAME | chaîne de caractères | Le nom de la bibliothèque qui implémente la spécification DB2 Call Level Interface (CLI).
DRIVER_ODBC_VER | chaîne de caractères | La version de ODBC que le client DB2 supporte. Ceci retourne une chaîne de caractères "MM.mm" où MM est la version majeure et mm est la version mineure. Le client DB2 retourne toujours "03.51".
DRIVER_VER | chaîne de caractères | La version du client, dans la forme d'une chaîne de caractères "MM.mm.uuuu" où MM est la version majeure, mm est la version mineure et uuuu est la mise à jour. Par exemple, "08.02.0001" représente la version majeure 8, la version mineure 2, et la mise à jour 1.
ODBC_SQL_CONFORMANCE chaîne de caractères

Le niveau de grammaire supporté par le client :

MINIMUM

Supporte le minimum de grammaire SQL de ODBC.

CORE

Supporte le noyau de grammaire SQL de ODBC.

EXTENDED

Supporte la grammaire étendue SQL de ODBC.

ODBC_VER | chaîne de caractères | La version de ODBC que le gestionnaire de pilote ODBC supporte. Cela retourne une chaîne de caractères "MM.mm.rrrr" où MM est la version majeure, mm est la version mineure et rrrr est la mise à jour. Le client DB2 retourne toujours "03.01.0000".

Liste de paramètres

connection

Spécifie la connexion cliente DB2 active.

Valeurs de retour

Retourne un objet si l'appel est réussi. Retourne FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec db2_client_info()

Pour récupérer des informations à propos du client, vous devez passer une ressource de connexion de base de données valide à la fonction db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";   var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";   var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";   var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";   var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";    var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";  var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";   var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";   var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Erreur de récupération des informations du client.
     Peut-être que votre connexion à la base de données était invalide.";
}
db2_close($conn);

?>

L'exemple ci-dessus va afficher :

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Voir aussi

  • db2_server_info() - Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2

db2_bind_param
db2_close
Fonctions IBM DB2


Ferme une connexion de base de données

db2_client_info
db2_column_privileges
Fonctions IBM DB2
PHP Manual

db2_close

(PECL ibm_db2 >= 1.0.0)

db2_close — Ferme une connexion de base de données

Description

bool db2_close ( resource $connection )

Cette fonction ferme la connexion client DB2 initialisée avec db2_connect() et libère les ressources correspondantes du serveur de base de données.

Si vous essayez de fermer une connexion client DB2 persistante initialisée avec db2_pconnect(), la requête de fermeture est ignorée et la connexion client DB2 persistante reste disponible pour de prochains appels.

Liste de paramètres

connection

Spécifie une connexion client DB2 active.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fermeture d'une connexion

L'exemple suivant montre une tentative réussie de fermeture de connexion d'une base de données IBM DB2, Cloudscape ou Apache Derby.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "La connexion a été correctement fermée.";
}
?>

L'exemple ci-dessus va afficher :

La connexion a été correctement fermée.

Voir aussi

  • db2_connect() - Retourne une connexion à une base de données
  • db2_pclose() - Ferme une connexion persistante à la base de données
  • db2_pconnect() - Retourne une connexion persistante à une base de données

db2_client_info
db2_column_privileges
Fonctions IBM DB2


Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table

db2_close
db2_columns
Fonctions IBM DB2
PHP Manual

db2_column_privileges

(PECL ibm_db2 >= 1.0.0)

db2_column_privileges — Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table

Description

resource db2_column_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Pour concorder avec tous les schémas, passez NULL ou une chaîne vide.

table-name

Le nom de la table. Pour obtenir toutes les tables dans la base de données, passez NULL ou une chaîne vide.

column-name

Le nom de la colonne. Pour obtenir toutes les colonnes de la table, passez NULL ou une chaîne vide.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant les lignes qui décrivent les privilèges des colonnes concordant avec les paramètres spécifiés. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
TABLE_CAT | Nom du catalogue. La valeur est NULL si la table ne possède pas de catalogue.
TABLE_SCHEM | Nom du schéma.
TABLE_NAME | Nom de la table.
COLUMN_NAME | Nom de la colonne.
GRANTOR | ID d'autorisation de l'utilisateur qui a donné le privilège.
GRANTEE | ID d'autorisation de l'utilisateur à qui le privilège a été donné.
PRIVILEGE | Le privilège pour la colonne.
IS_GRANTABLE | Si GRANTEE est permis pour donner ce privilège à d'autres utilisateurs.

Voir aussi

  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_close
db2_columns
Fonctions IBM DB2


Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table

db2_column_privileges
db2_commit
Fonctions IBM DB2
PHP Manual

db2_columns

(PECL ibm_db2 >= 1.0.0)

db2_columns — Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table

Description

resource db2_columns ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name ]]]] )

Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Pour concorder avec tous les schémas, passez '%'.

table-name

Le nom de la table. Pour obtenir toutes les tables dans la base de données, passez NULL ou une chaîne vide.

column-name

Le nom de la colonne. Pour obtenir toutes les colonnes de la table, passez NULL ou une chaîne vide.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant les lignes qui décrivent les privilèges des colonnes concordant avec les paramètres spécifiés. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
TABLE_CAT | Nom du catalogue. La valeur est NULL si la table ne possède pas de catalogue.
TABLE_SCHEM | Nom du schéma.
TABLE_NAME | Nom de la table.
COLUMN_NAME | Nom de la colonne.
DATA_TYPE | Le type de données SQL pour la colonne, représenté comme un entier.
TYPE_NAME | Une chaîne représentant le type de données pour la colonne.
COLUMN_SIZE | Un entier représentant la grandeur de la colonne.
BUFFER_LENGTH | Nombre d'octets maximaux nécessaires pour enregistrer des données de cette colonne.
DECIMAL_DIGITS | L'échelle de la colonne ou NULL où l'échelle n'est pas applicable.
NUM_PREC_RADIX | Un entier pouvant être 10 (représentant un type de données numérique exact), 2 (représentant un type de données numériques approximé) ou NULL (représentant un type de données pour lequel la base n'est pas applicable).
NULLABLE | Un entier représentant si la colonne peut être nulle ou pas.
REMARKS | Description de la colonne.
COLUMN_DEF | Valeur par défaut de la colonne.
SQL_DATA_TYPE | Un entier représentant la grandeur de la colonne.
SQL_DATETIME_SUB | Retourne un entier représentant un code de sous-type datetime ou NULL si les types de données SQL n'appliquent pas.
CHAR_OCTET_LENGTH | Grandeur maximale en octets pour les type de données d'un caractère de la colonne, qui concorde avec COLUMN_SIZE pour un seul octet de données ou NULL pour un type de données qui n'est pas des caractères.
ORDINAL_POSITION | La position de la colonne commençant à 1 dans la table.
IS_NULLABLE | Une chaîne dont la valeur est 'YES' signifie que la colonne est nulle et 'NO' signifie que la colonne ne peut être nulle.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_column_privileges
db2_commit
Fonctions IBM DB2


Valide la transaction

db2_columns
db2_conn_error
Fonctions IBM DB2
PHP Manual

db2_commit

(PECL ibm_db2 >= 1.0.0)

db2_commit — Valide la transaction

Description

bool db2_commit ( resource $connection )

Envoie une une requête en cours sur la ressource de connexion spécifiée et commence une nouvelle transaction. Les applications PHP ont normalement pour valeur par défaut AUTOCOMMIT d'activé, alors db2_commit() n'est pas nécessaire tant que AUTOCOMMIT n'est pas désactivée pour la ressource de connexion.

Note: Si la ressource de connexion spécifiée est persistante, toutes les transactions en cours pour toutes les applications qui utilisent cette connexion persistante seront validées. Pour cette raison, les connexions persistantes ne sont pas recommandées pour les applications qui nécessitent des transactions.

Liste de paramètres

connection

Une variable ressource de connexion valide retournée par db2_connect() ou db2_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • db2_autocommit() - Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données
  • db2_rollback() - Annule une transaction

db2_columns
db2_conn_error
Fonctions IBM DB2


Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion

db2_commit
db2_conn_errormsg
Fonctions IBM DB2
PHP Manual

db2_conn_error

(PECL ibm_db2 >= 1.0.0)

db2_conn_error — Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion

Description

string db2_conn_error ([ resource $connection ] )

db2_conn_error() retourne la valeur de SQLSTATE représentant la raison pour laquelle la dernière tentative de connexion à la base de données a échouée. Lorsque db2_connect() retourne FALSE en cas d'une tentative de connexion échouée, ne passez aucun paramètre à db2_conn_error() pour obtenir la valeur de SQLSTATE.

Si par contre la connexion était réussie mais est devenue invalide avec le temps, vous pouvez passer le paramètre de connexion connection pour obtenir la valeur de SQLSTATE pour la connexion spécifique.

Pour comprendre les valeurs de SQLSTATE, vous pouvez taper la commande suivante dans le processeur de ligne de commandes de DB2 : db2 '? sqlstate-value'. Vous pouvez aussi appeler la fonction db2_conn_errormsg() pour obtenir un message d'erreur explicite ainsi que la valeur de SQLCODE associée.

Liste de paramètres

connection

Une ressource de connexion associée à la connexion qui a préalablement été réussie, mais qui est devenue invalide avec le temps.

Valeurs de retour

Retourne la valeur de SQLSTATE résultant d'une mauvaise tentative de connexion. Retourne une chaîne vide s'il n'y a pas d'erreur associée avec la dernière tentative de connexion.

Exemples

Exemple #1 Récupération de la valeur de SQLSTATE pour une tentative de connexion échouée

L'exemple suivant montre comment retourner une valeur de SQLSTATE après un passage forcé d'un paramètre invalide à la fonction db2_connect().

<?php
$conn = db2_connect('mauvaisnom', 'mauvaisutilisateur', 'mauvaismotdepasse');
if (!$conn) {
    print "Valeur de SQLSTATE : " . db2_conn_error();
}
?>

L'exemple ci-dessus va afficher :

Valeur de SQLSTATE : 08001

Voir aussi

  • db2_conn_errormsg() - Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE
  • db2_connect() - Retourne une connexion à une base de données
  • db2_stmt_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL
  • db2_stmt_errormsg() - Retourne le dernier message d'erreur d'une requête SQL

db2_commit
db2_conn_errormsg
Fonctions IBM DB2


Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE

db2_conn_error
db2_connect
Fonctions IBM DB2
PHP Manual

db2_conn_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_conn_errormsg — Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE

Description

string db2_conn_errormsg ([ resource $connection ] )

db2_conn_errormsg() retourne un message d'erreur et la valeur de SQLCODE représentant la raison pour laquelle la dernière tentative de connexion à la base de données a échouée. Lorsque db2_connect() retourne FALSE en cas d'une tentative de connexion échouée, ne passez aucun paramètre à db2_conn_errormsg() pour obtenir le message d'erreur et la valeur de SQLCODE.

Si par contre la connexion était réussie mais est devenue invalide avec le temps, vous pouvez passer le paramètre de connexion connection pour obtenir le message d'erreur et la valeur de SQLCODE pour la connexion spécifique.

Liste de paramètres

connection

Une ressource de connexion associée à la connexion qui a préalablement été réussie, mais qui est devenue invalide avec le temps.

Valeurs de retour

Retourne une chaîne contenant le message d'erreur et la valeur de SQLCODE résultant d'une mauvaise tentative de connexion. Retourne une chaîne vide s'il n'y a pas d'erreur associée avec la dernière tentative de connexion.

Exemples

Exemple #1 Récupération du message d'erreur retourné par une tentative de connexion échouée

L'exemple suivant montre comment retourner un message d'erreur ainsi que la valeur de SQLCODE après un passage forcé d'un paramètre invalide à la fonction db2_connect(). db2_connect().

<?php
$conn = db2_connect('mauvaisnom', 'mauvaisutilisateur', 'mauvaismotdepasse');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

L'exemple ci-dessus va afficher :

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "MAUVAISNOM" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Voir aussi

  • db2_conn_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion
  • db2_connect() - Retourne une connexion à une base de données
  • db2_stmt_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL
  • db2_stmt_errormsg() - Retourne le dernier message d'erreur d'une requête SQL

db2_conn_error
db2_connect
Fonctions IBM DB2


Retourne une connexion à une base de données

db2_conn_errormsg
db2_cursor_type
Fonctions IBM DB2
PHP Manual

db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Retourne une connexion à une base de données

Description

resource db2_connect ( string $database , string $username , string $password [, array $options ] )

Crée une nouvelle connexion à une base de données IBM DB2 Universal Database, IBM Cloudscape ou Apache Derby.

Liste de paramètres

database

Pour une connexion cataloguée de la base de données, database représente l'alias de la base de données dans le catalogue client DB2

Pour une connexion non cataloguée de la base de données, database représente une chaîne complète de connexion qui est dans le format suivant :

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;
où les paramètres représentent les valeurs suivantes :
database

Le nom de la base de données.

hostname

L'adresse Internet ou IP du serveur de base de données.

port

Le port TCP/IP sur lequel la base de données écoute les connexions.

username

Le nom d'utilisateur avec lequel vous vous connectez à la base de données.

password

Le mot de passe avec lequel vous vous connectez à la base de données.

username

Le nom d'utilisateur avec lequel vous vous connectez à la base de données.

Pour les connexions non cataloguées, vous devez passer une valeur NULL ou une chaîne vide.

password

Le mot de passe avec lequel vous vous connectez à la base de données.

Pour les connexions non cataloguées, vous devez passer une valeur NULL ou une chaîne vide.

options

Un tableau associatif des options de connexion qui affecteront le comportement de la connexion, où les valeurs des clés incluent :

autocommit

La valeur DB2_AUTOCOMMIT_ON active l'autocommit sur cette connexion.

La valeur DB2_AUTOCOMMIT_OFF désactive le autocommit pour cette connexion.

DB2_ATTR_CASE

Passer la valeur DB2_CASE_NATURAL spécifie que les noms de colonnes seront retournés dans leurs casses naturelles.

Passer la valeur DB2_CASE_LOWER spécifie que les noms de colonnes seront retournés en minuscule.

Passer la valeur DB2_CASE_UPPER spécifie que les noms de colonnes seront retournés en majuscule.

CURSOR

Passer la valeur DB2_FORWARD_ONLY spécifie un curseur uniquement suivant pour une ressource de requête. C'est le type de curseur par défaut et est supporté sur tous les serveurs de base de données.

Passer la valeur DB2_SCROLLABLE spécifie un curseur scrollable pour une ressource de requête. Ce mode permet un accès aléatoire aux lignes dans un jeu de résultats, mais actuellement, n'est supporté que par la base de données IBM DB2 Universal.

La nouvelle option suivante est disponible pour les versions ibm_db2 1.7.0 et suivantes.

trustedcontext

Le fait de passer la valeur DB2_TRUSTED_CONTEXT_ENABLE active le contexte pour ce gestionnaire de connexion. Ce paramètre ne peut être défini avec la fonction db2_set_option().

Cette clé fonctionne uniquement si la base de données est cataloguée (même si la base de données est locale), ou si vous spécifiez le DSN complet lors de la création de la connexion.

Pour catalogue la base de données, utilisez les commandes suivantes :

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

Les nouvelles options i5/OS suivantes sont disponibles dans les versions ibm_db2 1.5.1 et suivantes.

i5_lib

Un caractère qui indique la bibliothèque par défaut qui sera utilisée pour résoudre les références aux fichiers non qualifiées. Ceci n'est pas valide si la connexion utilise un mode de système de nom.

i5_naming

La valeur DB2_I5_NAMING_ON active DB2 UDB Cli iSeries mode système de nom. Les fichiers sont qualifiés en utilisant le délimiteur slash (/). Les fichiers non qualifiés sont résolus en utilisant la liste de bibliothèque pour le travail.

La valeur DB2_I5_NAMING_OFF désactive DB2 UDB CLI mode de nom par défaut, qui est l'écriture SQL. Les fichiers sont qualifiés en utilisant le délimiteur point (.). Les fichiers non qualifiés sont résolus en utilisant soit la bibliothèque par défaut ou l'ID de l'usager courant.

i5_commit

L'attribut i5_commit devrait être fixé avant l'appel à db2_connect(). Si la valeur est changée après que la connexion ait été établie et que la connexion est à une source de données distance, le changement ne prendra effet qu'au prochain appel de db2_connect().

Note: La configuration php.ini ibm_db2.i5_allow_commit==0 ou DB2_I5_TXN_NO_COMMIT est par défaut, mais peut être dérivée avec l'option i5_commit.

DB2_I5_TXN_NO_COMMIT : contrôle d'envoi n'est pas utilisé.

DB2_I5_TXN_READ_UNCOMMITTED : lecture ancienne, lecture non répétitive et fictive est possible.

DB2_I5_TXN_READ_COMMITTED : lecture ancienne non possible. La lecture répétitive et fictive est possible.

DB2_I5_TXN_REPEATABLE_READ : lecture ancienne et non répétitive n'est pas possible. Lecture fictive est possible.

DB2_I5_TXN_SERIALIZABLE : les transactions sont linéarisées. Lecture ancienne, non répétitive et fictive n'est pas possible.

i5_query_optimize

DB2_FIRST_IO Toutes les requêtes sont optimisées avec le but de retourner la première page aussi vite que possible. Ce but fonctionne bien lorsque l'affichage est contrôlé par un utilisateur qui peut annuler une requête après avoir vu la première page des données. Les requêtes sont codées avec une clause "OPTIMIZE nnn ROWS" afin de réussir le but spécifié par la clause.

DB2_ALL_IO Toutes les requêtes sont optimisées avec le but de retourner l'entière requête dans le plus petit intervalle de temps. Ceci est une bonne option lorsque l'affichage d'une requête est en train d'être écrit vers un fichier ou un rapport ou encore lorsque l'interface met en queue les données. Les requêtes sont codées avec une clause "OPTIMIZE FOR nnn ROWS" afin de réussir le but spécifié par la clause. Ceci est l'opération par défaut.

i5_dbcs_alloc

La valeur DB2_I5_DBCS_ALLOC_ON active le canevas d'allocation DB2 6X pour l'accroissement des tailles des colonnes.

La valeur DB2_I5_DBCS_ALLOC_OFF désactive le canevas d'allocation DB2 6X pour l'accroissement des tailles des colonnes.

Note : la configuration php.ini ibm_db2.i5_dbcs_alloc==0 ou DB2_I5_DBCS_ALLOC_OFF est par défaut mais peut être dérivée avec l'option i5_dbcs_alloc.

i5_date_fmt

DB2_I5_FMT_ISO : le format de date de l'organisation internationale de normalisation (ISO) "yyyy-mm-dd" est utilisé. Ceci est la valeur par défaut.

DB2_I5_FMT_USA : le format de date des États-Unis "mm/dd/yyyy" est utilisé.

DB2_I5_FMT_EUR : le format de date Européen "dd.mm.yyyy" est utilisé.

DB2_I5_FMT_JIS : le format de date de l'industrie japonaise des standards "yyyy-mm-dd" est utilisé.

DB2_I5_FMT_MDY : le format de date "mm/dd/yyyy" est utilisé.

DB2_I5_FMT_DMY : le format de date "dd/mm/yyyy" est utilisé.

DB2_I5_FMT_YMD : le format de date "yy/mm/dd" est utilisé.

DB2_I5_FMT_JUL : le format de date Julien "yy/ddd" est utilisé.

DB2_I5_FMT_JOB : le valeur par défaut est utilisée.

i5_date_sep

DB2_I5_SEP_SLASH : un slash ( / ) est utilisé en tant que séparateur de date. Ceci est la valeur par défaut.

DB2_I5_SEP_DASH : un tiret ( : ) est utilisé en tant que séparateur de date.

DB2_I5_SEP_PERIOD : un point ( . ) est utilisé en tant que séparateur de date.

DB2_I5_SEP_COMMA : une virgule ( , ) est utilisée en tant que séparateur de date.

DB2_I5_SEP_BLANK : un espace blanc est utilisé en tant que séparateur de date.

DB2_I5_SEP_JOB : la valeur par défaut est utilisée.

i5_time_fmt

DB2_I5_FMT_ISO : le format de l'heure de l'organisation internationale de normalisation "hh.mm.ss" est utilisé. Ceci est la valeur par défaut.

DB2_I5_FMT_USA : le format de l'heure des États-Unis "hh:mmxx" est utilisé, où "xx" vaut "AM" ou "PM".

DB2_I5_FMT_EUR : le format de l'heure Européen "hh.mm.ss" est utilisé.

DB2_I5_FMT_JIS : le format de l'heure de l'industrie japonaise des standards "hh:mm:ss" est utilisé.

DB2_I5_FMT_HMS : le format "hh:mm:ss" est utilisé.

i5_time_sep

DB2_I5_SEP_COLON : un deux-points ( : ) est utilisé en tant que séparateur de temps. Ceci est la valeur par défaut.

DB2_I5_SEP_PERIOD : un point ( . ) est utilisé en tant que séparateur de temps.

DB2_I5_SEP_COMMA : une virgule ( , ) est utilisée en tant que séparateur de temps.

DB2_I5_SEP_BLANK : un espace blanc est utilisé en tant que séparateur de temps.

DB2_I5_SEP_JOB : la valeur par défaut est utilisée.

i5_decimal_sep

DB2_I5_SEP_PERIOD : un point ( . ) est utilisé en tant que séparateur de décimale. Ceci est la valeur par défaut.

DB2_I5_SEP_COMMA : une virgule ( , ) est utilisée en tant que séparateur de décimale.

DB2_I5_SEP_JOB : la valeur par défaut est utilisée.

La nouvelle option i5/OS suivante est disponible depuis la version ibm_db2 1.8.0 et suivantes.

i5_libl

Une chaîne indiquant la liste a utilisé pour résoudre les références de fichiers non qualifiés. Spécifiez la liste en séparant les valeurs par un espace, comme ceci : 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Note: i5_libl appelle qsys2/qcmdexc('cmd',cmdlen), qui n'est disponible que depuis i5/OS V5R4.

Valeurs de retour

Retourne la ressource de connexion si la tentative de connexion réussie. Si la tentative de connexion échoue, db2_connect() retourne FALSE.

Exemples

Exemple #1 Création d'une connexion cataloguée

Les connexions cataloguées nécessitent que vous ayez préalablement catalogué la base de données spécifiée à l'aide du processeur de ligne de commandes DB2 ("Command Line Processor" : cLP) ou avec l'assistant de configuration de DB2.

<?php
$database = 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connexion réussie.";
    db2_close($conn);
}
else {
    echo "Connexion échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion réussie.

Exemple #2 Création d'une connexion non cataloguée

Une connexion non cataloguées vous permet de vous connecter dynamiquement à une base de données.

<?php
$database = 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connexion réussie.";
    db2_close($conn);
}
else {
    echo "Connexion échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion réussie.

Exemple #3 Création d'une connexion avec autocommit désactivé par défaut

Le fait de passer un tableau d'option à db2_connect() vous permet de modifier le comportement par défaut de la connexion.

<?php
$database = 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connexion réussie.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit est activé.\n";
    }
    else {
         echo "Autocommit est désactivé.\n";
    }
    db2_close($conn);
}
else {
    echo "Connexion échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion réussie.
Autocommit est désactivé.

Exemple #4 Meilleure performance i5/OS

Pour réussir à utiliser les meilleures performance de votre i5/OS ibm_db2 1.5.1, l'application PHP utilise l'hôte par défaut, le userid et le mot de passer pour votre db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

L'exemple ci-dessus va afficher :

ANIMALS
NAMES
PICTURES

Exemple #5 Utilisation du contexte

L'exemple suivant montre comment activer le contexte, changer d'utilisateur et récupérer l'ID de l'utilisateur courant.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_connect($dsn, "", "", $options);
if($tc_conn) {
    echo "Explicit trusted connection succeeded.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Code en tant qu'utilisateur 1.

        //Modification en l'utilisateur de confiance.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Code en tant qu'utilisateur de confiance.

        if($userBefore != $userAfter) {
            echo "L'utilisateur a changé." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Le changement de contexte de connexion a échoué.\n";
}
?>

L'exemple ci-dessus va afficher :

Le changement de contexte de connexion a échoué.
L'utilisateur a changé.

Voir aussi

  • db2_close() - Ferme une connexion de base de données
  • db2_pconnect() - Retourne une connexion persistante à une base de données

db2_conn_errormsg
db2_cursor_type
Fonctions IBM DB2


Retourne le type de curseur utilisé par une ressource

db2_connect
db2_escape_string
Fonctions IBM DB2
PHP Manual

db2_cursor_type

(PECL ibm_db2 >= 1.0.0)

db2_cursor_type — Retourne le type de curseur utilisé par une ressource

Description

int db2_cursor_type ( resource $stmt )

Retourne le type de curseur utilisé par une ressource. Utilisez cette fonction pour déterminer si vous travaillez avec un curseur à avancement seul ou un curseur flottant.

Liste de paramètres

stmt

Une ressource valide.

Valeurs de retour

Retourne DB2_FORWARD_ONLY si la ressource utilise un curseur à avance seul ou DB2_SCROLLABLE si la ressource utilise un curseur flottant.

Voir aussi

  • db2_prepare() - Prépare une requête SQL à être exécutée

db2_connect
db2_escape_string
Fonctions IBM DB2


Utilisé pour échapper certains caractères

db2_cursor_type
db2_exec
Fonctions IBM DB2
PHP Manual

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string — Utilisé pour échapper certains caractères

Description

string db2_escape_string ( string $string_literal )

Place des antislashs devant les caractères spéciaux à la chaîne de caractères passée en argument.

Liste de paramètres

string_literal

Une chaîne de caractères qui contient des caractères spéciaux qui doivent être modifiés. Les caractères qui sont transformés à l'aide d'un antislash sont \x00, \n, \r, \, ' " et \x1a.

Valeurs de retour

Retourne string_literal avec les caractères spéciaux mentionnés ci-dessus précédés par des antislashs.

Exemples

Exemple #1 Exemple avec db2_escape_string()

Résultat suite à l'utilisation de la fonction db2_escape_string()

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
    $str[0] = "Tous les caractères : \x00 , \n , \r , \ , ' , \" , \x1a .";
    $str[1] = "Antislash (\). Apostrophe ('). Guillemet (\")";
    $str[2] = "Le caractère NULL \0 doit être transformé aussi";
    $str[3] = "Caractères intéressants : \x1a , \x00 .";
    $str[4] = "Rien à transformer";
    $str[5] = 200676;
    $str[6] = "";

    foreach( $str as $string ) {
        echo "db2_escape_string: " . db2_escape_string($string). "\n";
    }
}
?>

L'exemple ci-dessus va afficher :

db2_escape_string: Tous les caractères : \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Antislash (\\). Apostrophe (\'). Guillemet (\")
db2_escape_string: Le caractère NULL \0 doit être transformé aussi
db2_escape_string: Caractères intéressants : \Z , \0 .
db2_escape_string: Rien à transformer
db2_escape_string: 200676
db2_escape_string:

Voir aussi

  • db2_prepare() - Prépare une requête SQL à être exécutée

db2_cursor_type
db2_exec
Fonctions IBM DB2


Exécute une requête SQL directement

db2_escape_string
db2_execute
Fonctions IBM DB2
PHP Manual

db2_exec

(PECL ibm_db2 >= 1.0.0)

db2_exec — Exécute une requête SQL directement

Description

resource db2_exec ( resource $connection , string $statement [, array $options ] )

Exécute une requête SQL directement.

Si vous prévoyez intercaler des variables PHP dans la requête SQL, vous devez comprendre que c'est l'une des plus communes failles de sécurité. Considérez qu'il faut appeler la fonction db2_prepare() pour préparer une requête SQL qui contient des marqueurs pour des variables d'entrée. Ensuite, vous pouvez appeler la fonction db2_execute() pour passer les valeurs d'entrée et ainsi éviter les attaques par injections SQL.

Si vous prévoyez appeler à plusieurs reprises la même requête SQL avec des paramètres différents, considérez qu'il est préférable d'appeler la fonction db2_prepare() et db2_execute() pour permettre au serveur de base de données de réutiliser son plan d'accès et ainsi augmenter l'efficacité de votre accès à la base de données.

Liste de paramètres

connection

Une variable ressource de connexion valide retournée par db2_connect() ou db2_pconnect().

statement

Une requête SQL. La requête ne peut contenir de marqueur.

options

Un tableau associatif contenant les options de la requête. Vous pouvez utiliser ce paramètre pour demander un curseur flottant sur les serveurs de base de données qui supportent cette fonctionnalité.

Pour une description des options valides, reportez-vous à la fonction db2_set_option().

Valeurs de retour

Retourne une variable ressource si la requête SQL était envoyée correctement ou FALSE si la base de données n'a pas réussi à exécuter la requête SQL.

Exemples

Exemple #1 Création d'une table avec db2_exec()

L'exemple suivant utilise la fonction db2_exec() pour envoyer un ensemble de requêtes DDL afin de créer une table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animaux (id INTEGER, race VARCHAR(32),
    nom CHAR(16), poids DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "La table a été créée correctement.\n";
}

// Remplit la table de test
$animaux = array(
    array(0, 'chat', 'Pook', 3.2),
    array(1, 'chien', 'Peaches', 12.3),
    array(2, 'cheval', 'Smarty', 350.0),
    array(3, 'cyprin doré', 'Bubbles', 0.1),
    array(4, 'perruche', 'Gizmo', 0.2),
    array(5, 'chèvre', 'Rickety Ride', 9.7),
    array(6, 'lama', 'Sweater', 150)
);

foreach ($animaux as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animaux (id, race, nom, poids)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insertion... ";
    }
}
?>

L'exemple ci-dessus va afficher :

La table a été créée correctement.
Insertion... Insertion... Insertion... Insertion... Insertion... Insertion... Insertion...

Exemple #2 Exécution d'une requête SELECT avec un curseur flottant

L'exemple suivant montre comment demander un curseur flottant pour une requête SQL envoyée avec la fonction db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT nom FROM animaux
    WHERE poids < 10.0
    ORDER BY nom";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

L'exemple ci-dessus va afficher :

Bubbles
Gizmo
Pook
Rickety Ride

Exemple #3 Retourne des données XML en tant que ResultSet SQL

L'exemple suivant démontre comment utiliser des documents enregistrés dans une colonne XML en utilisant la base de données SAMPLE. En utilisant un simple SQL/XML, cet exemple retourne quelques noeuds dans un document XML dans un format ResultSet SQL dont la plupart des utilisateurs sont familiers.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

L'exemple ci-dessus va afficher :

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Exemple #4 Exécuter un "JOIN" avec des données XML

L'exemple suivant fonctionne avec des documents enregistrés dans deux colonnes différentes dans la base de données SAMPLE. Cela crée deux tables temporaires provenant des documents XML de deux différentes colonnes XML et retourne un ResultSet SQL avec les informations contenant le statut de livraison pour un client.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
 B.POID = C.PONUM AND
 A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

L'exemple ci-dessus va afficher :

1001     Kathy Smith     905-555-7258     5002     Shipped

Exemple #5 Retourne des données SQL faisant partie d'un document XML large

L'exemple suivant utilise une portion des documents de PRODUCT.DESCRIPTION dans la base de données SAMPLE. Cela crée un document XML contenant la description du produit (données XML) et les informations concernant le prix (données SQL).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
        for $prod in $doc/product
        where $prod/description/price < 10.00
        order by $prod/description/price ascending
        return(
            <promoitem> {
                $prod,
                <startdate> {$start} </startdate>,
                <enddate> {$end} </enddate>,
                <promoprice> {$promo} </promoprice>
            } </promoitem>
        )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
 printf("$row[0]\n");
}
db2_close($conn);

?>

L'exemple ci-dessus va afficher :

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Voir aussi

  • db2_execute() - Exécute une requête SQL préparée
  • db2_prepare() - Prépare une requête SQL à être exécutée

db2_escape_string
db2_execute
Fonctions IBM DB2


Exécute une requête SQL préparée

db2_exec
db2_fetch_array
Fonctions IBM DB2
PHP Manual

db2_execute

(PECL ibm_db2 >= 1.0.0)

db2_execute — Exécute une requête SQL préparée

Description

bool db2_execute ( resource $stmt [, array $parameters ] )

db2_execute() exécute une requête SQL qui a été préparée par db2_prepare().

Si la requête SQL retourne un jeu de résultats, par exemple, une requête SELECT ou CALL à une procédure d'enregistrement retourne un ou plusieurs jeux de résultats, vous pouvez récupérer une ligne en tant que tableau à partir de la ressource stmt en utilisant db2_fetch_assoc(), db2_fetch_both() ou db2_fetch_array(). Alternativement, vous pouvez utiliser db2_fetch_row() pour déplacer le pointeur à la ligne suivante et récupérer une colonne à la fois de cette ligne avec la fonction db2_result().

Référez-vous à db2_prepare() pour une brève discussion sur les avantages de l'utilisation de db2_prepare() et db2_execute() plutôt que db2_exec().

Liste de paramètres

stmt

Une requête préparée retournée par db2_prepare().

parameters

Un tableau des paramètres d'entrée qui contient les marqueurs de variables contenus dans la requête préparée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Préparation et exécution d'une requête SQL avec des marqueurs

L'exemple suivant prépare une requête INSERT qui accepte quatre marqueurs, ensuite itère sur le tableau contenant les valeurs d'entrées qui sera passé à la fonction db2_execute().

<?php
$pet = array(0, 'chat', 'Pook', 3.2);

$insert = 'INSERT INTO animaux (id, race, nom, poids)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Ajout d'un nouvel animal réussi.";
    }
}
?>

L'exemple ci-dessus va afficher :

Ajout d'un nouvel animal réussi.

Exemple #2 Appel d'une procédure d'enregistrement avec un paramètre de SORTIE

L'exemple suivant prépare une requête CALL qui accepte un marqueur qui représente un paramètre de SORTIE, lie la variable PHP $my_pets au paramètre en utilisant la fonction db2_bind_param() et appelle la fonction db2_execute() pour exécuter la requête CALL. Une fois que la requête CALL a été exécutée, la valeur de $num_pets change pour réfléchir la valeur retournée par la procédure d'enregistrement pour ce paramètre de SORTIE.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "Je possède $num_pets animaux !";
?>

L'exemple ci-dessus va afficher :

Je possède 7 animaux !

Exemple #3 Retourne des données XML en tant que ResultSet SQL

L'exemple suivant démontre comment utiliser des documents enregistrés dans une colonne XML en utilisant la base de données SAMPLE. En utilisant un simple SQL/XML, cet exemple retourne quelques noeuds dans un document XML dans un format ResultSet SQL dont la plupart des utilisateurs sont familiers.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
        printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

L'exemple ci-dessus va afficher :

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Exemple #4 Exécuter un "JOIN" avec des données XML

L'exemple suivant fonctionne avec des documents enregistrés dans deux colonnes différentes dans la base de données SAMPLE. Cela crée deux tables temporaires provenant des documents XML de deux différentes colonnes XML et retourne un ResultSet SQL avec les informations contenant le statut de livraison pour un client.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
        B.POID = C.PONUM AND
        A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
        printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

L'exemple ci-dessus va afficher :

1001     Kathy Smith     905-555-7258     5002     Shipped

Exemple #5 Retourne des données SQL faisant partie d'un document XML large

L'exemple suivant utilise une portion des documents de PRODUCT.DESCRIPTION dans la base de données SAMPLE. Cela crée un document XML contenant la description du produit (données XML) et les informations concernant le prix (données SQL).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
        for $prod in $doc/product
        where $prod/description/price < 10.00
        order by $prod/description/price ascending
        return(
            <promoitem> {
                $prod,
                <startdate> {$start} </startdate>,
                <enddate> {$end} </enddate>,
                <promoprice> {$promo} </promoprice>
            } </promoitem>
        )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
        printf("$row[0]\n");
    }
}

db2_close($conn);

?>

L'exemple ci-dessus va afficher :

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Voir aussi

  • db2_exec() - Exécute une requête SQL directement
  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_prepare() - Prépare une requête SQL à être exécutée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_exec
db2_fetch_array
Fonctions IBM DB2


Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats

db2_execute
db2_fetch_assoc
Fonctions IBM DB2
PHP Manual

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array — Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats

Description

array db2_fetch_array ( resource $stmt [, int $row_number = -1 ] )

Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats. Les indices du tableau sont numériques et commencent par zéro.

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

row_number

Demande une ligne spécifique indexée numériquement qui commence par la valeur 1 au jeu de résultat. En fournissant ce paramètre, vous obtiendrez une alerte PHP si le jeu de résultat utilise une curseur d'avancement seul.

Valeurs de retour

Retourne un tableau à indices numériques commençant à 0 indexé avec la position des colonnes. Cet indice pointe vers des données de la ligne suivante ou la ligne demandée dans le jeu de résultats. Retourne FALSE s'il n'y a pas de ligne disponible dans le jeu de résultats ou si la ligne demandée par row_number n'existe pas dans le jeu de résultats.

Exemples

Exemple #1 Itère avec un curseur d'avancement seul

Si vous appelez db2_fetch_array() sans le numéro d'une ligne spécifique, la ligne suivante sera automatiquement récupérée dans le jeu de résultats.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

L'exemple ci-dessus va afficher :

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Exemple #2 Récupération de lignes spécifiques avec db2_fetch_array() provenant d'un curseur flottant

Si votre jeu de résultats utilise un curseur flottant, vous pouvez appeler la fonction db2_fetch_array() avec une numéro de ligne spécifique. L'exemple suivant récupère chaque ligne paire dans le jeu de résultats, commençant avec la deuxième ligne.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

L'exemple ci-dessus va afficher :

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Voir aussi

  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_object() - Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_execute
db2_fetch_assoc
Fonctions IBM DB2


Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats

db2_fetch_array
db2_fetch_both
Fonctions IBM DB2
PHP Manual

db2_fetch_assoc

(PECL ibm_db2 >= 1.0.0)

db2_fetch_assoc — Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats

Description

array db2_fetch_assoc ( resource $stmt [, int $row_number = -1 ] )

Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats.

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

row_number

Demande une ligne spécifique indexée numériquement qui commence par la valeur 1 au jeu de résultat. En fournissant ce paramètre, vous obtiendrez une alerte PHP si le jeu de résultat utilise une curseur d'avancement seul.

Valeurs de retour

Retourne un tableau associatif avec les valeurs des colonnes indexées par le nom des colonnes représentant la ligne suivante ou la ligne demandée dans le jeu de résultats. Retourne FALSE s'il n'y a pas de ligne disponible dans le jeu de résultats ou si la ligne demandée par row_number n'existe pas dans le jeu de résultats.

Exemples

Exemple #1 Itère avec un curseur d'avancement seul

Si vous appelez db2_fetch_assoc() sans le numéro d'une ligne spécifique, la ligne suivante sera automatiquement récupérée dans le jeu de résultats.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NOM'], $row['RACE'], $row['POIDS']);
}
?>

L'exemple ci-dessus va afficher :

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Exemple #2 Récupération de lignes spécifiques avec db2_fetch_assoc() provenant d'un curseur flottant

Si votre jeu de résultats utilise un curseur flottant, vous pouvez appeler la fonction db2_fetch_assoc() avec un numéro de ligne spécifique. L'exemple suivant récupère chaque ligne paire dans le jeu de résultats, commençant avec la deuxième ligne.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NOM'], $row['RACE'], $row['POIDS']);
    $i = $i + 2;
}
?>

L'exemple ci-dessus va afficher :

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Voir aussi

  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_object() - Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_fetch_array
db2_fetch_both
Fonctions IBM DB2


Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats

db2_fetch_assoc
db2_fetch_object
Fonctions IBM DB2
PHP Manual

db2_fetch_both

(PECL ibm_db2 >= 1.0.0)

db2_fetch_both — Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats

Description

array db2_fetch_both ( resource $stmt [, int $row_number = -1 ] )

Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats. Notez que la ligne retournée par db2_fetch_both() nécessite plus de mémoire que les tableaux simplement indexés retournés par db2_fetch_assoc() ou db2_fetch_array().

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

row_number

Demande une ligne spécifique indexée numériquement qui commence par la valeur 1 au jeu de résultat. En fournissant ce paramètre, vous obtiendrez une alerte PHP si le jeu de résultat utilise une curseur d'avancement seul.

Valeurs de retour

Retourne un tableau associatif avec les valeurs des colonnes indexées par le nom des colonnes et le numéro des colonnes commençant par 0. Le tableau représente la ligne suivante ou la ligne demandée du jeu de résultats. Retourne FALSE s'il n'y a pas de ligne disponible dans le jeu de résultats ou si la ligne demandée par row_number n'existe pas dans le jeu de résultats.

Exemples

Exemple #1 Itère avec un curseur d'avancement seul

Si vous appelez db2_fetch_both() sans le numéro d'une ligne spécifique, la ligne suivante sera automatiquement récupérée par le jeu de résultats. L'exemple suivant accède aux colonnes retournées dans le tableau avec la méthode des noms de colonne et par indice numérique.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['RACE'], $row[3]);
}
?>

L'exemple ci-dessus va afficher :

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Exemple #2 Récupération de lignes spécifiques avec db2_fetch_both() provenant d'un curseur flottant

Si votre jeu de résultats utilise un curseur flottant, vous pouvez appeler la fonction db2_fetch_assoc() avec une numéro de ligne spécifique. L'exemple suivant récupère chaque ligne paire dans le jeu de résultats, commençant avec la deuxième ligne.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NOM'], $row[2], $row['POIDS']);
    $i = $i + 2;
}
?>

L'exemple ci-dessus va afficher :

0     Pook             chat                                   3.20
5     Rickety Ride     chèvre                                 9.70
2     Smarty           cheval                               350.00

Voir aussi

  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_object() - Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_fetch_assoc
db2_fetch_object
Fonctions IBM DB2


Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite

db2_fetch_both
db2_fetch_row
Fonctions IBM DB2
PHP Manual

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object — Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite

Description

object db2_fetch_object ( resource $stmt [, int $row_number = -1 ] )

Retourne un objet dans lequel chaque propriété représente une colonne retournée dans la ligne extraite du jeu de résultats.

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

row_number

Demande une ligne spécifique commençant à l'index 1 du jeu de résultats. Si vous passez ce paramètre, vous obtiendrez une alerte PHP si le résultat utilise un curseur à avancement seul.

Valeurs de retour

Retourne un objet représentant une seule ligne dans le jeu de résultats. Les propriétés de l'objet correspondent au nom des colonnes dans le jeu de résultats.

Les serveurs IBM DB2, Cloudscape et Apache Derby remplissent normalement les nom des colonnes avec des majuscules, par conséquent, les propriétés de l'objet refléteront ce cas.

Si votre requête SELECT appelle une fonction scalaire pour modifier la valeur d'une colonne, les serveurs de base de données retournent le numéro de colonne en tant que nom de colonne dans le jeu de résultats. Si vous préférez une description plus détaillée du nom des colonnes et des propriétés de l'objet, vous pouvez utiliser la clause AS pour assigner un nom à la colonne dans le jeu de résultats.

Retourne FALSE si aucune ligne n'a été récupérée.

Exemples

Exemple #1 Exemple avec db2_fetch_object()

L'exemple suivant envoie une requête SELECT avec une fonction scalaire, RTRIM, qui supprime les espaces à partir de la fin de la colonne. Au lieu de créer un objet avec les propriétés "RACE" et "2", nous utilisons la clause AS dans la requête SELECT pour assigner le nom "nom" à la colonne modifiée. Le serveur de base de données remplit le nom des colonnes avec des majuscules, alors l'objet aura les propriétés "RACE" et "NOM".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT race, RTRIM(nom) AS nom
    FROM animaux
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Viens ici, {$pet->NOM}, mon petit {$pet->RACE} !";
    }
    db2_close($conn);
}
?>

L'exemple ci-dessus va afficher :

Viens ici, Pook, mon petit chat !

Voir aussi

  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_fetch_both
db2_fetch_row
Fonctions IBM DB2


Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée

db2_fetch_object
db2_field_display_size
Fonctions IBM DB2
PHP Manual

db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row — Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée

Description

bool db2_fetch_row ( resource $stmt [, int $row_number ] )

Utilisez db2_fetch_row() pour itérer à travers un jeu de résultats ou pour pointer à une ligne spécifique d'un jeu de résultats si vous avez demandé un curseur flottant.

Pour obtenir des champs individuels du jeu de résultats, appelez la fonction db2_result().

Au lieu d'appeler les fonctions db2_fetch_row() et db2_result(), la plupart des applications vont appeler la fonction db2_fetch_assoc(), db2_fetch_both() ou db2_fetch_array() pour avancer le pointeur dans le jeu de résultats et retourner une ligne complète en tant que tableau.

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

row_number

Avec des curseurs flottants, vous pouvez demander un numéro de ligne spécifique du jeu de résultats. Les numéros des lignes commencent par l'indice 1

Valeurs de retour

Retourne TRUE si la ligne demandée existe dans le jeu de résultats. Retourne FALSE si la ligne demandée n'existe pas dans le jeu de résultats.

Exemples

Exemple #1 Itère à travers un jeu de résultats

L'exemple suivant démontre comment itérer à travers un jeu de résultats avec la fonction db2_fetch_row() et récupérer les colonnes du jeu de résultats avec db2_result().

<?php
$sql = 'SELECT nom, race FROM animaux WHERE poids < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $nom = db2_result($stmt, 0);
    $race = db2_result($stmt, 1);
    print "$nom $race";
}
?>

L'exemple ci-dessus va afficher :

chat Pook
cyprin doré Bubbles
perruche Gizmo
chèvre Rickety Ride

Exemple #2 Alternatives recommandées i5/OS pour db2_fetch_row/db2_result

Sur i5/OS, il est recommandé que vous utilisiez db2_fetch_both(), db2_fetch_array() ou db2_fetch_object() au lieu de db2_fetch_row()/db2_result(). En général db2_fetch_row()/db2_result() a plus de problèmes avec des types de colonne variés dans la traduction de EBCIDIC à ASCII, en incluant de possible troncature dans les applications DBCS. Vous pourriez aussi trouver une performance d'utiliser db2_fetch_both(), db2_fetch_array() et db2_fetch_object() à utiliser db2_fetch_row()/db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

L'exemple ci-dessus va afficher :

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Voir aussi

  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_object() - Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_fetch_object
db2_field_display_size
Fonctions IBM DB2


Retourne le maximum d'octets requis pour afficher une colonne

db2_fetch_row
db2_field_name
Fonctions IBM DB2
PHP Manual

db2_field_display_size

(PECL ibm_db2 >= 1.0.0)

db2_field_display_size — Retourne le maximum d'octets requis pour afficher une colonne

Description

int db2_field_display_size ( resource $stmt , mixed $column )

Retourne le maximum d'octets requis pour afficher une colonne dans un jeu de résultats.

Liste de paramètres

stmt

Spécifie la ressource contenant le jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne une valeur entière avec le maximum d'octets requis pour afficher la colonne spécifiée. Si la colonne n'existe pas dans le jeu de résultats, db2_field_display_size() retourne FALSE.

Voir aussi

  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_fetch_row
db2_field_name
Fonctions IBM DB2


Retourne le nom de la colonne du jeu de résultats

db2_field_display_size
db2_field_num
Fonctions IBM DB2
PHP Manual

db2_field_name

(PECL ibm_db2 >= 1.0.0)

db2_field_name — Retourne le nom de la colonne du jeu de résultats

Description

string db2_field_name ( resource $stmt , mixed $column )

Retourne le nom de la colonne du jeu de résultats

Liste de paramètres

stmt

Spécifie la ressource contenant le jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne une chaîne contenant le nom de la colonne spécifiée. Si la colonne spécifiée n'existe pas dans le jeu de résultat, db2_field_name() retourne FALSE.

Voir aussi

  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_field_display_size
db2_field_num
Fonctions IBM DB2


Retourne la position du nom de la colonne du jeu de résultats

db2_field_name
db2_field_precision
Fonctions IBM DB2
PHP Manual

db2_field_num

(PECL ibm_db2 >= 1.0.0)

db2_field_num — Retourne la position du nom de la colonne du jeu de résultats

Description

int db2_field_num ( resource $stmt , mixed $column )

Retourne la position du nom de la colonne du jeu de résultats

Liste de paramètres

stmt

Spécifie une ressource contenant un jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne un entier contenant la position commençant à 0 du nom de la colonne dans le jeu de résultats. Si la colonne spécifiée n'existe pas dans le jeu de résultats, db2_field_num() retourne FALSE.

Voir aussi

  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_field_name
db2_field_precision
Fonctions IBM DB2


Retourne la précision de la colonne indiquée du jeu de résultats

db2_field_num
db2_field_scale
Fonctions IBM DB2
PHP Manual

db2_field_precision

(PECL ibm_db2 >= 1.0.0)

db2_field_precision — Retourne la précision de la colonne indiquée du jeu de résultats

Description

int db2_field_precision ( resource $stmt , mixed $column )

Retourne la précision de la colonne indiquée du jeu de résultats.

Liste de paramètres

stmt

Spécifie la ressource contenant le jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne un entier contenant la précision de la colonne spécifiée. Si la colonne spécifiée n'existe pas dans le jeu de résultats, db2_field_precision() retourne FALSE.

Voir aussi

  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_field_num
db2_field_scale
Fonctions IBM DB2


Retourne l'échelle de la colonne indiquée du jeu de résultats

db2_field_precision
db2_field_type
Fonctions IBM DB2
PHP Manual

db2_field_scale

(PECL ibm_db2 >= 1.0.0)

db2_field_scale — Retourne l'échelle de la colonne indiquée du jeu de résultats

Description

int db2_field_scale ( resource $stmt , mixed $column )

Retourne l'échelle de la colonne indiquée du jeu de résultats.

Liste de paramètres

stmt

Spécifie la ressource contenant le jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne un entier contenant l'échelle de la colonne spécifiée. Si la colonne spécifiée n'existe pas dans le jeu de résultats, db2_field_scale() retourne FALSE.

Voir aussi

  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_field_precision
db2_field_type
Fonctions IBM DB2


Retourne le type de donnée de la colonne indiquée du jeu de résultats

db2_field_scale
db2_field_width
Fonctions IBM DB2
PHP Manual

db2_field_type

(PECL ibm_db2 >= 1.0.0)

db2_field_type — Retourne le type de donnée de la colonne indiquée du jeu de résultats

Description

string db2_field_type ( resource $stmt , mixed $column )

Retourne le type de donnée de la colonne indiquée du jeu de résultats.

Liste de paramètres

stmt

Spécifie la ressource contenant le jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne une chaîne contenant le type de données défini de la colonne spécifiée. Si la colonne spécifiée n'existe pas dans le jeu de résultats, db2_field_type() retourne FALSE.

Voir aussi

  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_field_scale
db2_field_width
Fonctions IBM DB2


Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_field_type
db2_foreign_keys
Fonctions IBM DB2
PHP Manual

db2_field_width

(PECL ibm_db2 >= 1.0.0)

db2_field_width — Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

Description

int db2_field_width ( resource $stmt , mixed $column )

Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats. Cela est la largeur maximale de la colonne pour un type de données de longueur fixe ou la largeur actuelle de la colonne pour un type de données de longueur fixe.

Liste de paramètres

stmt

Spécifie la ressource contenant le jeu de résultats.

column

Spécifie la colonne dans le jeu de résultats. Cela peut être un entier commençant à la position 0 représentant le numéro de la colonne ou une chaîne contenant le nom de la colonne.

Valeurs de retour

Retourne un entier contenant la largeur du caractère spécifié ou de la colonne de type binaire dans le jeu de résultats. Si la colonne spécifiée n'existe pas dans le jeu de résultats, db2_field_width() retourne FALSE.

Voir aussi

  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats

db2_field_type
db2_foreign_keys
Fonctions IBM DB2


Retourne un jeu de résultats listant les clés étrangères d'une table

db2_field_width
db2_free_result
Fonctions IBM DB2
PHP Manual

db2_foreign_keys

(PECL ibm_db2 >= 1.0.0)

db2_foreign_keys — Retourne un jeu de résultats listant les clés étrangères d'une table

Description

resource db2_foreign_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Retourne un jeu de résultats listant les clés étrangères d'une table.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Si schema est NULL, db2_foreign_keys() fait concorder le schéma pour la connexion courante.

table-name

Le nom de la table.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant des lignes décrivant les clés étrangères à la table spécifiée. Le jeu de résultats est composé des colonnes suivantes :

Nom de la colonne | Description
PKTABLE_CAT | Nom du catalogue de la table contenant la clé primaire. La valeur est NULL si la table n'a pas de catalogue.
PKTABLE_SCHEM | Nom du schéma de la table contenant la clé primaire.
PKTABLE_NAME | Nom de la table contenant la clé primaire.
PKCOLUMN_NAME | Nom de la colonne contenant la clé primaire.
FKTABLE_CAT | Nom du catalogue de la table contenant la clé étrangère. La valeur est NULL si la table n'a pas de catalogue.
FKTABLE_SCHEM | Nom du schéma de la table contenant la clé étrangère.
FKTABLE_NAME | Nom de la table contenant la clé étrangère.
FKCOLUMN_NAME | Nom de la colonne contenant la clé étrangère.
KEY_SEQ | Position commençant à 1 de la colonne dans la clé.
UPDATE_RULE | Entier représentant l'action appliquée à la clé étrangère lorsque une opération est de type UPDATE.
DELETE_RULE | Entier représentant l'action appliquée à la clé étrangère lorsque une opération est de type DELETE.
FK_NAME | Nom de la clé étrangère.
PK_NAME | Nom de la clé primaire.
DEFERRABILITY | Un entier représentant si le mode différé de la clé étrangère est SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE ou SQL_NOT_DEFERRABLE.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_field_width
db2_free_result
Fonctions IBM DB2


Libère la mémoire associée à un jeu de résultats

db2_foreign_keys
db2_free_stmt
Fonctions IBM DB2
PHP Manual

db2_free_result

(PECL ibm_db2 >= 1.0.0)

db2_free_result — Libère la mémoire associée à un jeu de résultats

Description

bool db2_free_result ( resource $stmt )

Libère la mémoire des ressources du système et de base de données associée du jeu de résultats. Ces ressources sont libérées implicitement lorsqu'un script se termine, mais vous pouvez appeler db2_free_result() pour libérer explicitement les ressources avant la fin du script.

Liste de paramètres

stmt

Une ressource valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • db2_free_stmt() - Libère la mémoire associée à la ressource indiquée

db2_foreign_keys
db2_free_stmt
Fonctions IBM DB2


Libère la mémoire associée à la ressource indiquée

db2_free_result
db2_get_option
Fonctions IBM DB2
PHP Manual

db2_free_stmt

(PECL ibm_db2 >= 1.0.0)

db2_free_stmt — Libère la mémoire associée à la ressource indiquée

Description

bool db2_free_stmt ( resource $stmt )

Libère la mémoire des ressources du système et de base de données associée au jeu de résultats. Ces ressources sont libérées implicitement lorsqu'un script se termine, mais vous pouvez appeler db_free_stmt() pour libérer explicitement les ressources avant la fin du script.

Liste de paramètres

stmt

Une ressource valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • db2_free_result() - Libère la mémoire associée à un jeu de résultats

db2_free_result
db2_get_option
Fonctions IBM DB2


Récupère la valeur d'une option pour une requête ou une connexion

db2_free_stmt
db2_last_insert_id
Fonctions IBM DB2
PHP Manual

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option — Récupère la valeur d'une option pour une requête ou une connexion

Description

string db2_get_option ( resource $resource , string $option )

Récupère la valeur d'une option spécifiée pour une ressource de requête ou une ressource de connexion.

Liste de paramètres

resource

Une ressource de requête valide retournée par db2_prepare() ou une ressource de connexion valide retournée par db2_connect() ou db2_pconnect().

option

Des options de requête ou de connexion valides. Les nouvelles options suivantes sont disponibles depuis la version 1.6.0 de ibm_db2. Elles fournissent d'utiles informations de traçage qui peuvent être fixées pendant l'exécution avec db2_get_option().

Note: Les anciennes versions de ibm_db ne supportent pas ces nouvelles options.
Lorsqu'une valeur dans chaque option est fixée, certains serveurs peuvent ne pas prendre en charge la valeur totale fournie et peuvent tronquer cette valeur.
Pour s'assurer que les données spécifiées dans chaque option sont converties correctement lors de la transmission vers une base de données, utilisez seulement les caractères de A à Z, 0 à 9 et les caractères de soulignement (_) ou point (.).

userid

SQL_ATTR_INFO_USERID : un pointeur vers une chaîne de caractères utilisée pour identifier l'identifiant de l'usager (ID) envoyé vers le serveur de base de données lors de la connexion à DB2.

Note: DB2 pour les serveurs z/OS et OS/390 supportent jusqu'à 16 caractères. Le user-id ne doit pas être confondu avec l'identification user-id ; il s'agit seulement d'un but d'identification et ne doit pas être autorisé pour des autorisations.

acctstr

SQL_ATTR_INFO_ACCTSTR : un pointeur vers une chaîne de caractères utilisée pour identifier le compte du client envoyé vers le serveur de base de données lors de la connexion à DB2.

Note: DB2 pour les serveurs z/OS et OS/390 supportent jusqu'à 200 caractères.

applname

SQL_ATTR_INFO_APPLNAME : un pointeur vers une chaîne de caractères utilisée pour identifier le nom de l'application du client envoyée vers le serveur de base de données lors de la connexion à DB2.

Note: DB2 pour les serveurs z/OS et OS/390 supportent jusqu'à 32 caractères.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME : un pointeur vers une chaîne de caractères utilisée pour identifier le nom de la machine du client envoyée vers le serveur de base de données lors de la connexion à DB2.

Note: DB2 pour les serveurs z/OS et OS/390 supportent jusqu'à 18 caractères.

La table suivante spécifie quelles options qui sont compatibles avec le type de ressource disponible :

Matrice ressource paramètre
Clé | Valeur | Type de ressource
 |  | Connexion | Requête | Jeu de résultats
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Valeurs de retour

Retourne la configuration courante de la connexion fournie en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fixe et récupère les paramètres d'une ressource de connexion

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$user     = 'db2inst1';
$password = 'ibmdb2';

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($database, $user, $password);

echo "Attributs de connexion passés avec la chaîne de caractères de connexion :\n";

/* Crée un tableau associatif d'options avec les paires clé/valeur valides */
/* Assigne les attributs à partir de la chaîne de caractères de connexion */
/* Accède les options spécifiées */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Attributs après la connexion :\n";

/* Crée un tableau associatif d'options avec les paires clé/valeur valides */
/* Assigne les attributs après que la connexion soit faite */
/* Accède les options spécifiées */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

L'exemple ci-dessus va afficher :

Attributs de connexion passés avec la chaîne de caractères de connexion :
db2inst1
account
myapp
workstation
Attributs après la connexion :
db2inst1
account
myapp
workstation

Voir aussi

  • db2_connect() - Retourne une connexion à une base de données
  • db2_cursor_type() - Retourne le type de curseur utilisé par une ressource
  • db2_exec() - Exécute une requête SQL directement
  • db2_set_option() - Fixe des options pour une connexion ou des ressources
  • db2_pconnect() - Retourne une connexion persistante à une base de données
  • db2_prepare() - Prépare une requête SQL à être exécutée

db2_free_stmt
db2_last_insert_id
Fonctions IBM DB2


Retourne le dernier ID généré par la dernière requête d'insertion

db2_get_option
db2_lob_read
Fonctions IBM DB2
PHP Manual

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_id — Retourne le dernier ID généré par la dernière requête d'insertion

Description

int db2_last_insert_id ( resource $resource )

Retourne le dernier identifiant autogénéré par la dernière requête d'insertion pour la connexion en cours.

Le résultat de cette fonction n'est pas affecté par les événements suivants :

  • Une commande unique INSERT avec une clause VALUES pour une table qui ne dispose pas de colonne d'identité.

  • Une commande INSERT multiple avec clause VALUES.

  • Une commande INSERT avec un SELECT.

  • Une commande ROLLBACK TO SAVEPOINT.

Liste de paramètres

resource

Une ressource de connexion valide, créée par db2_connect() ou db2_pconnect(). La valeur de ce paramètre ne peut pas être une ressource de commande ou de résultat.

Valeurs de retour

Retourne l'identifiant autogénéré qui a pu être exécuté correctement sur cette connexion.

Exemples

Exemple #1 Exemple avec db2_last_insert_id()

L'exemple suivant montre comment retourner un identifiant automatique

<?php

$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";

$conn = db2_connect($database, $user, $password);
if($conn) {
    $createTable = "CREATE TABLE lastInsertID
      (id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
    $insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";

    $stmt = @db2_exec($conn, $createTable);

    /* Vérification de l'insertion d'une ligne unique */
    $stmt = db2_exec($conn, $insertTable);
    $ret =  db2_last_insert_id($conn);
    if($ret) {
        echo "Dernier ID inséré : " . $ret . "\n";
    } else {
        echo "Pas d'ID inséré récemment.\n";
    }

    db2_close($conn);
}
else {
    echo "La connexion a échoué.";
}
?>

L'exemple ci-dessus va afficher :

Dernier ID généré : 1

db2_get_option
db2_lob_read
Fonctions IBM DB2


Récupère de grands objets binaires de tailles prédéfinies à chaque invocation

db2_last_insert_id
db2_next_result
Fonctions IBM DB2
PHP Manual

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — Récupère de grands objets binaires de tailles prédéfinies à chaque invocation

Description

string db2_lob_read ( resource $stmt , int $colnum , int $length )

Utilisez db2_lob_read() pour passer à travers une colonne spécifique d'un jeu de résultats et récupérer les grands objets binaires de taille prédéfinie.

Liste de paramètres

stmt

Une ressource stmt valide contenant des grands objets binaires.

colnum

Un numéro de colonne valide dans le jeu de résultats de la ressource stmt.

length

La taille des grands objets binaires à récupérer de la ressource stmt.

Valeurs de retour

Retourne le nombre de données spécifiés. Retourne FALSE si les données ne peuvent être récupérées.

Exemples

Exemple #1 Itére à travers différents types de données

<?php

/* Paramètres de Connexion */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($db,$username,$password);

if ($conn) {
    $drop = 'DROP TABLE clob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
    $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_clob FROM clob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Lecture des grands objets */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Boucle $i : $data\n";
        $i = $i + 1;
    }

    $drop = 'DROP TABLE blob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
    $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_blob FROM blob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Lecture des grands objets */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Boucle $i : $data\n";
        $i = $i + 1;
    }
} else {
    echo 'aucune connexion : ' . db2_conn_errormsg();
}

?>

L'exemple ci-dessus va afficher :

Boucle 0 : THIS I
Boucle 1 : S A CL
Boucle 2 : OB TES
Boucle 3 : T. THI
Boucle 4 : S IS A
Boucle 5 :  CLOB
Boucle 6 : TEST.
Boucle 0 : THIS I
Boucle 1 : S A BL
Boucle 2 : OB TES
Boucle 3 : T. THI
Boucle 4 : S IS A
Boucle 5 :  BLOB
Boucle 6 : TEST.

Voir aussi

  • db2_bind_param() - Associe une variable PHP à un paramètre d'une requête SQL
  • db2_exec() - Exécute une requête SQL directement
  • db2_execute() - Exécute une requête SQL préparée
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
  • db2_prepare() - Prépare une requête SQL à être exécutée
  • db2_result() - Retourne une colonne d'une ligne d'un jeu de résultats

db2_last_insert_id
db2_next_result
Fonctions IBM DB2


Demande le prochain jeu de résultats de la ressource indiquée

db2_lob_read
db2_num_fields
Fonctions IBM DB2
PHP Manual

db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Demande le prochain jeu de résultats de la ressource indiquée

Description

resource db2_next_result ( resource $stmt )

Une procédure d'enregistrement peut retourner aucun ou plusieurs jeux de résultats. Vous devez gérer le premier jeu de résultats de la même manière que vous gérez les résultats retournés par une simple requête SELECT, pour obtenir le second ou les résultats suivants, vous devez appeler la fonction db2_next_result() et retourner le résultat dans une variable PHP.

Liste de paramètres

stmt

Une requête préparée retournée par db2_exec() ou db2_execute().

Valeurs de retour

Retourne une nouvelle ressource contenant le jeu de résultats suivants si la procédure contenait un jeu de résultats suivant. Retourne FALSE si la procédure n'avait plus de jeu de résultats à retourner.

Exemples

Exemple #1 Exemple avec db2_next_result()

Dans l'exemple suivant, nous appelons une procédure qui retourne trois jeux de résultats. Le premier jeu de résultats est récupéré directement de la même ressource sur laquelle on a invoqué une requête CALL, alors que le deuxième et troisième jeux de résultats sont récupérés des ressources retournées par l'appel de la fonction db2_next_result().

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Récupération du premier jeu de résultats\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nRécupération du deuxième jeu de résultats\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nRécupération du troisième jeu de résultats\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

L'exemple ci-dessus va afficher :

Récupération du premier jeu de résultats
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Récupération du deuxième jeu de résultats
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "lama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "cheval"
  [3]=>
  string(6) "350.00"
}

Récupération du troisième jeu de résultats
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

db2_lob_read
db2_num_fields
Fonctions IBM DB2


Retourne le nombre de champs contenu du jeu de résultats

db2_next_result
db2_num_rows
Fonctions IBM DB2
PHP Manual

db2_num_fields

(PECL ibm_db2 >= 1.0.0)

db2_num_fields — Retourne le nombre de champs contenu du jeu de résultats

Description

int db2_num_fields ( resource $stmt )

Retourne le nombre de champs contenus dans le jeu de résultats. Cette fonction est très utile lorsque vous gérez des jeux de résultats retourné par des requêtes générées dynamiquement ou pour des jeux de résultats retournés par des procédures d'enregistrement, là où votre application ne peut faire autrement pour obtenir et utiliser ces résultats.

Liste de paramètres

stmt

Une ressource valide contenant un jeu de résultats.

Valeurs de retour

Retourne un entier représentant le nombre de champs dans le jeu de résultats associé avec la ressource spécifiée. Retourne FALSE si la ressource n'est pas valide.

Exemples

Exemple #1 Exemple avec db2_num_fields()

L'exemple suivant démontre comment obtenir le nombre de champs retournés dans le jeu de résultats.

<?php

$sql = "SELECT id, nom, race, poids FROM animaux ORDER BY race";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "Il y a {$columns} colonne dans le jeu de résultats.";
?>

L'exemple ci-dessus va afficher :

Il y a 4 colonnes dans le jeu de résultats.

Voir aussi

  • db2_execute() - Exécute une requête SQL préparée
  • db2_field_display_size() - Retourne le maximum d'octets requis pour afficher une colonne
  • db2_field_name() - Retourne le nom de la colonne du jeu de résultats
  • db2_field_num() - Retourne la position du nom de la colonne du jeu de résultats
  • db2_field_precision() - Retourne la précision de la colonne indiquée du jeu de résultats
  • db2_field_scale() - Retourne l'échelle de la colonne indiquée du jeu de résultats
  • db2_field_type() - Retourne le type de donnée de la colonne indiquée du jeu de résultats
  • db2_field_width() - Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats

db2_next_result
db2_num_rows
Fonctions IBM DB2


Retourne le nombre de lignes affectées par une requête SQL

db2_num_fields
db2_pclose
Fonctions IBM DB2
PHP Manual

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows — Retourne le nombre de lignes affectées par une requête SQL

Description

int db2_num_rows ( resource $stmt )

Retourne le nombre de lignes supprimées, ajoutées, mises à jour par une requête SQL.

Afin de déterminer le nombre de lignes que retournera une requête SELECT, utilisez la requête SELECT COUNT(*) avec les mêmes attributs lorsque vous avez effectué la requête SELECT et la récupération des valeurs.

Si la logique de votre application vérifie le nombre de ligne retournée par une requête SELECT et effectue le saut si le nombre de ligne est 0, modifiez votre application pour tenter de retourner la première ligne avec db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array() ou db2_fetch_row(), et effectuez le saut si la fonction retourne FALSE.

Note: Si vous envoyez une requête SELECT avec un curseur flottant, db2_num_rows() retournera le nombre de lignes retournées par la requête SELECT. Cependant, le temps système associé avec des curseurs flottants dégrade considérablement les performances de votre application, alors si cela est la seule raison pour laquelle vous utilisez des curseurs flottants, vous devriez utiliser des curseurs à avancement seul et de plus appeler SELECT COUNT(*) ou compter sur les valeurs de retour des fonctions de type boolean pour obtenir l'équivalent de fonctionnalité avec une performance bien meilleure.

Liste de paramètres

stmt

Une ressource stmt valide contenant le jeu de résultats.

Valeurs de retour

Retourne le nombre de lignes affectées par la dernière requête SQL envoyée par une fonction qui exécute les requêtes SQL.

db2_num_fields
db2_pclose
Fonctions IBM DB2


Ferme une connexion persistante à la base de données

db2_num_rows
db2_pconnect
Fonctions IBM DB2
PHP Manual

db2_pclose

(PECL ibm_db2 >= 1.8.0)

db2_pclose — Ferme une connexion persistante à la base de données

Description

bool db2_pclose ( resource $resource )

Cette fonction ferme une connexion DB2, créée avec db2_pconnect() et libère les ressources correspondances du serveur.

Note: Cette fonction n'est disponible sur i5/OS en réponse à des requêtes d'administration i5/OS.

Si vous avez une connexion client DB2 persistante créée avec la fonction db2_pconnect(), vous pouvez utiliser cette fonction pour fermer la connexion. Pour éviter des coûts de connexion significatifs, cette fonction ne doit être utilisée que dans de rares cas, où la connexion est devenue amorphe, ou que la connexion persistante ne sera plus utilisée pour un long moment.

Liste de paramètres

connection

Une ressource de connexion active DB2.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fermer une connexion DB2 persistante

L'exemple ci-dessous montre comment fermer une connexion sur un serveur IBM DB2 i5/OS.

<?php
$conn = db2_pconnect('', '', '');
$rc = db2_pclose($conn);
if ($rc) {
    echo "La connexion a été correctement fermée.";
}
?>

L'exemple ci-dessus va afficher :

La connexion a été correctement fermée.

Voir aussi

  • db2_close() - Ferme une connexion de base de données
  • db2_pconnect() - Retourne une connexion persistante à une base de données

db2_num_rows
db2_pconnect
Fonctions IBM DB2


Retourne une connexion persistante à une base de données

db2_pclose
db2_prepare
Fonctions IBM DB2
PHP Manual

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Retourne une connexion persistante à une base de données

Description

resource db2_pconnect ( string $database , string $username , string $password [, array $options ] )

Retourne une connexion persistante à une base de données IBM DB2 Universal Database, IBM Cloudscape ou Apache Derby. Pour plus d'informations sur les connexions persistantes, référez-vous à Connexions persistantes aux bases de données.

En appelant db2_close() sur une connexion persistante, vous recevrez toujours TRUE, mais les connexions des clients DB2 demeureront ouvertes et attendront de servir la prochaine demande de la fonction db2_pconnect().

Liste de paramètres

database

L'alias de la base de données dans le catalogue du client DB2.

username

Le nom d'utilisateur avec lequel vous vous connectez à la base de données.

password

Le mot de passe avec lequel vous vous connectez à la base de données.

options

Un tableau associatif des options de connexion qui affecteront le comportement de la connexion, où les valeurs des clés incluent :

autocommit

La valeur DB2_AUTOCOMMIT_ON active le autocommit sur cette connexion.

La valeur DB2_AUTOCOMMIT_OFF désactive le autocommit pour cette connexion.

DB2_ATTR_CASE

Passer la valeur DB2_CASE_NATURAL spécifie que les noms de colonnes seront retournés dans leurs casses naturelles.

Passer la valeur DB2_CASE_LOWER spécifie que les noms de colonnes seront retournés en minuscule.

Passer la valeur DB2_CASE_UPPER spécifie que les noms de colonnes seront retournés en majuscule.

CURSOR

Passer la valeur DB2_FORWARD_ONLY spécifie un curseur uniquement suivant pour une ressource de requête. C'est le type de curseur par défaut et est supporté sur tous les serveurs de base de données.

Passer la valeur DB2_SCROLLABLE spécifie un curseur scrollable pour une ressource de requête. Ce mode permet un accès aléatoire aux lignes dans un jeu de résultats, mais actuellement, n'est supporté que par la base de données IBM DB2 Universal.

Les options suivantes sont disponibles depuis ibm_db2 version 1.7.0.

trustedcontext

En passant la valeur DB2_TRUSTED_CONTEXT_ENABLE, le contexte de confiance est activé pour cette connexion. Ce paramètre ne peut pas être activé avec db2_set_option().

Cette option ne fonctionne que si la base est cataloguée, même si la base est locale, ou si vous spécifiez un DSN complet lors de la création de la connexion.

Pour cataloguer la base, utilisez la commande suivante :

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

Les options i5/OS suivantes sont disponibles depuis ibm_db2 version 1.5.1.

Astuce

Des attributs de connexion contradictoires, en conjonction avec une connexion persistante peut produire des résultats indéterminés sur i5/OS. La politique du site doit être établie pour toutes les applications qui utilisent une connexion persistante. La valeur par défaut de DB2_AUTOCOMMIT_ON est recommandée avec les connexions persistantes.

i5_lib

Une caractère qui indique la bibliothèque par défaut qui sera utilisée pour résoudre les références de fichiers non qualifiées. Cette option n'est pas valide si la connexion utilise le mode de nommage système.

i5_naming

DB2_I5_NAMING_ON active le mode de nommage système de DB2 UDB CLI iSeries. Les fichiers sont alors qualifiés avec le délimiteur slash (/). Les fichiers non qualifiés sont résolus en utilisant la liste de bibliothèque de la tâche.

DB2_I5_NAMING_OFF active le mode de nommage par défaut, qui est le nommage SQL. Les fichiers sont alors qualifiés avec le point (.) . Les fichiers non qualifiés sont résolus avec la bibliothèque par défaut, ou bien l'identifiant de l'utilisateur courant.

i5_commit

L'attribut i5_commit doit être configuré avant l'appel à db2_pconnect(). Si la valeur est changée après la connexion, et que la connexion s'effectue sur des données distantes, alors ce changement n'aura pas d'effets, juqu'au prochain appel réussi à db2_pconnect().

Note: La directive du php.ini ibm_db2.i5_allow_commit==0 ou DB2_I5_TXN_NO_COMMIT est la valeur par défaut, mais peut être remplacé par l'option i5_commit.

DB2_I5_TXN_NO_COMMIT : le contrôle de validation n'est pas utilisé.

DB2_I5_TXN_READ_UNCOMMITTED : les lectures incohérentes, ou non répétables et les fantômes sont possibles.

DB2_I5_TXN_READ_COMMITTED : les lectures sont cohérentes. Les lecteurs non répétables et les fantômes sont possibles.

DB2_I5_TXN_REPEATABLE_READ : les lectures cohérentes et répétables, mais les fantômes sont possibles.

DB2_I5_TXN_SERIALIZABLE : les transactions sont activées. les lectures incohérentes, ou non répétables et les fantômes sont impossibles.

i5_query_optimize

DB2_FIRST_IO : toutes les requêtes sont optimisées dans le but de retourner la première page le plus rapidement possible. Cet objectif fonctionne bien lorsque le résultat est contrôler par un utilisateur qui a de bonnes chances d'annuler la requête après avoir vu les premières réponses. Les requêtes codée avec une clause OPTIMIZE FOR nnn ROWS respectent aussi cet objectif.

DB2_ALL_IO : toutes les requêtes sont optimisées dans le but de traiter la requête complète le plus rapidement possible. C'est une bonne option lorsque le résultat de la requête doit être écrit dans un fichier ou un rapport, ou que l'interface accumule toutes les données avant de les exporter. Les requêtes codées avec la clause OPTIMIZE FOR nnn ROWS respectent aussi cet objectif. C'est le comportement par défaut.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON active le schéma d'allocation DB2 6X pour la croissance des tailles de colonnes de translation DBCS.

DB2_I5_DBCS_ALLOC_OFF désactive le schéma d'allocation DB2 6X pour la croissance des tailles de colonnes de translation DBCS.

Note: La directive du php.ini ibm_db2.i5_dbcs_alloc==0 ou DB2_I5_DBCS_ALLOC_OFF est la valeur par défaut, mais peut être remplacé par l'option i5_dbcs_alloc.

i5_date_fmt

DB2_I5_FMT_ISO : le format de date ISO (International Organization for Standardization) est utilisé : yyyy-mm-dd. C'est le format par défaut.

DB2_I5_FMT_USA : le format des États Unis d'Amérique est utilisé : mm/dd/yyyy.

DB2_I5_FMT_EUR : le format de date européen dd.mm.yyyy est utilisé.

DB2_I5_FMT_JIS : le format standard industriel japonais yyyy-mm-dd est utilisé.

DB2_I5_FMT_MDY : le format de date mm/dd/yyyy est utilisé.

DB2_I5_FMT_DMY : le format de date dd/mm/yyyy est utilisé.

DB2_I5_FMT_YMD : le format de date yy/mm/dd est utilisé.

DB2_I5_FMT_JUL : Le format de date julien yy/ddd est utilisé.

DB2_I5_FMT_JOB : le format de date par défaut est utilisé.

i5_date_sep

DB2_I5_SEP_SLASH : un slash ( / ) est utilisé comme séparateur de date. C'est le format par défaut.

DB2_I5_SEP_DASH : un tiret ( - ) est utilisé comme séparateur de date.

DB2_I5_SEP_PERIOD : un point ( . ) est utilisé comme séparateur de date.

DB2_I5_SEP_COMMA : une virgule ( , ) est utilisé comme séparateur de date.

DB2_I5_SEP_BLANK : un espace est utilisé comme séparateur de date.

DB2_I5_SEP_JOB : la configuration par défaut est utilisée

i5_time_fmt

DB2_I5_FMT_ISO : le format d'heure ISO (International Organization for Standardization) est utilisé : hh.mm.ss. C'est le format par défaut.

DB2_I5_FMT_USA : le format des États-Unis d'Amérique est utilisé : hh:mmxx est utilisé, où xx vaut AM ou PM.

DB2_I5_FMT_EUR : le format d'heure européen hh.mm.ss est utilisé.

DB2_I5_FMT_JIS : le format standard industriel japonais est utilisé hh:mm:ss.

DB2_I5_FMT_HMS : le format hh:mm:ss est utilisé.

i5_time_sep

DB2_I5_SEP_COLON : un deux-point ( : ) est utilisé comme séparateur d'heure. C'est le défaut.

DB2_I5_SEP_PERIOD : un point ( . ) est utilisé comme séparateur d'heure.

DB2_I5_SEP_COMMA : une virgule ( , ) est utilisée comme séparateur d'heure.

DB2_I5_SEP_BLANK : un espace est utilisé comme séparateur d'heure.

DB2_I5_SEP_JOB : le séparateur par défaut est utilisé.

i5_decimal_sep

DB2_I5_SEP_PERIOD : un point ( . ) est utilisé comme séparateur décimal. C'est le séparateur par défaut.

DB2_I5_SEP_COMMA : une virgule ( , ) est utilisée comme séparateur décimal.

DB2_I5_SEP_JOB : le séparateur par défaut est utilisé.

Les options suivantes i5/OS sont disponibles depuis ibm_db2 version 1.8.0.

i5_libl

Un caractère qui indique la bibliothèque qui sera utilisée pour résoudre les références de fichiers non qualifiées. Spécifiez la liste de bibliothèque sous la forme d'éléments séparés par des espaces : 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Note: i5_libl appelle qsys2/qcmdexc('cmd',cmdlen), qui est disponible depuis i5/OS V5R4.

Valeurs de retour

Retourne la ressource de connexion si la tentative de connexion réussie. db2_pconnect() essaie de réutiliser une ressource de connexion existante qui correspond parfaitement aux paramètres tels que la base de données database, l'utilisateur username et le mot de passe password. Si la tentative de connexion échoue, db2_pconnect() retourne FALSE

Exemples

Exemple #1 Exemple d'utilisation de db2_pconnect()

Dans l'exemple suivant, le premier appel à db2_pconnect() retourne une nouvelle ressource de connexion persistante. Le second appel à la fonction db2_pconnect() retourne une ressource de connexion persistante qui réutilise la première ressource de connexion.

<?php
$database = 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Connexion persistante réussie.";
}
else {
    echo "Connexion persistante échouée.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Deuxième connexion persistante réussie.";
}
else {
    echo "Deuxième connexion persistante échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion persistante réussie.
Deuxième connexion persistante réussie.

Exemple #2 Utilisation de contextes de confiance DB2

L'exemple suivant montre comment activer un utilisateur de confiance, basculer dessus, et obtenir un identifiant d'utilisateur.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
  PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if($tc_conn) {
    echo "Connexion de confiance réussie.\n";

    if(db2_get_option($tc_conn, "trustedcontext")) {
        $userBefore = db2_get_option($tc_conn, "trusted_user");

        //Travail par l'utilisateur 1.

        //Bascule sur l'utilisateur de confiance.
        $parameters = array("trusted_user" => $tc_user,
          "trusted_password" => $tcuser_pass);
        $res = db2_set_option ($tc_conn, $parameters, 1);

        $userAfter = db2_get_option($tc_conn, "trusted_user");
        //Do more work as trusted user.

        if($userBefore != $userAfter) {
            echo "Utilisateur changé." . "\n";
        }
    }

    db2_close($tc_conn);
}
else {
    echo "Connexion de confiance échouée.\n";
}
?>

L'exemple ci-dessus va afficher :

Connexion de confiance réussie.
Utilisateur changé

Voir aussi

  • db2_connect() - Retourne une connexion à une base de données

db2_pclose
db2_prepare
Fonctions IBM DB2


Prépare une requête SQL à être exécutée

db2_pconnect
db2_primary_keys
Fonctions IBM DB2
PHP Manual

db2_prepare

(PECL ibm_db2 >= 1.0.0)

db2_prepare — Prépare une requête SQL à être exécutée

Description

resource db2_prepare ( resource $connection , string $statement [, array $options ] )

db2_prepare() crée une requête SQL préparée qui peut inclure aucun ou plusieurs marqueurs (caractères ?) représentant les paramètres d'entrée, sortie ou d'entrée/sortie. Vous pouvez passer des paramètres à la requête préparée en utilisant la fonction db2_bind_param(), si vous avez que des entrées, vous pouvez utiliser db2_execute().

Il y a trois principaux avantages d'utiliser les requêtes préparées dans votre application :

  • Performance : lorsque vous préparez une requête, le serveur de base de données crée un plan d'accès optimisé pour la récupération des données avec la requête. Par la suite, l'envoi de la requête préparée avec db2_execute() permet à la requête de réutiliser le plan d'accès et ainsi d'éviter les surcharges du processeurs à chaque envoi de requête qui créerait dynamiquement un nouveau plan d'accès.

  • Sécurité : lorsque vous préparez une requête, vous pouvez inclure des marqueurs pour les valeurs d'entrées. Lorsque vous exécutez une requête préparée avec ces valeurs d'entrées, le serveur de base de données vérifie chaque valeur d'entrée pour s'assurer que les types concordent avec la définition de la colonne ou du paramètre de définition.

  • Fonctionnalité avancée : Les marqueurs vous permettent non seulement de passer des valeurs d'entrées dans les requêtes SQL préparées, mais permettent aussi de récupérer des paramètres de SORTIE et d'ENTRÉE/SORTIE des procédures d'enregistrement en utilisant la fonction db2_bind_param().

Liste de paramètres

connection

Une variable ressource de connexion valide retournée par db2_connect() ou db2_pconnect().

statement

Une requête SQL qui peut contenir un ou plusieurs marqueurs.

options

Un tableau associatif contenant les options de la requête. Vous pouvez utiliser ce paramètre pour demander un curseur flottant sur les serveurs de base de données qui supportent cette fonctionnalité.

Pour une description des options valides, reportez-vous à la fonction db2_set_option().

Valeurs de retour

Retourne une variable ressource si la requête SQL était envoyée correctement ou FALSE si le serveur de base de données a retourné une erreur. Vous pouvez déterminer quelle erreur a été retournée en appelant la fonction db2_stmt_error() ou db2_stmt_errormsg().

Exemples

Exemple #1 Préparation et exécution d'une requête SQL avec des marqueurs

L'exemple suivant prépare une requête INSERT qui accepte quatre marqueurs, ensuite itère sur le tableau contenant les valeurs d'entrées qui sera passé à la fonction db2_execute().

<?php
$animaux = array(
    array(0, 'chat', 'Pook', 3.2),
    array(1, 'chien', 'Peaches', 12.3),
    array(2, 'cheval', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animaux (id, race, nom, poids)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animaux as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

Voir aussi

  • db2_bind_param() - Associe une variable PHP à un paramètre d'une requête SQL
  • db2_execute() - Exécute une requête SQL préparée
  • db2_stmt_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL
  • db2_stmt_errormsg() - Retourne le dernier message d'erreur d'une requête SQL

db2_pconnect
db2_primary_keys
Fonctions IBM DB2


Retourne un jeu de résultats listant les clés d'une table

db2_prepare
db2_procedure_columns
Fonctions IBM DB2
PHP Manual

db2_primary_keys

(PECL ibm_db2 >= 1.0.0)

db2_primary_keys — Retourne un jeu de résultats listant les clés d'une table

Description

resource db2_primary_keys ( resource $connection , string $qualifier , string $schema , string $table-name )

Retourne un jeu de résultats listant les clés d'une table.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Si schema est NULL, db2_primary_keys() fait concorder le schéma pour la connexion courante.

table-name

Le nom de la table.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant des lignes décrivant les clés primaires à la table spécifiée. Le jeu de résultats est composé des colonnes suivantes :

Nom de la colonne | Description
TABLE_CAT | Nom du catalogue de la table contenant la clé primaire. La valeur est NULL si la table n'a pas de catalogue.
TABLE_SCHEM | Nom du schéma de la table contenant la clé primaire.
TABLE_NAME | Nom de la table contenant la clé primaire.
COLUMN_NAME | Nom de la colonne contenant la clé primaire.
KEY_SEQ | Position commençant à 1 de la colonne dans la clé.
PK_NAME | Nom de la clé primaire.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_prepare
db2_procedure_columns
Fonctions IBM DB2


Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement

db2_primary_keys
db2_procedures
Fonctions IBM DB2
PHP Manual

db2_procedure_columns

(PECL ibm_db2 >= 1.0.0)

db2_procedure_columns — Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement

Description

resource db2_procedure_columns ( resource $connection , string $qualifier , string $schema , string $procedure , string $parameter )

Retourne un jeu de résultats listant les paramètres pour une ou plusieurs procédures d'enregistrement.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

procedure

Le nom de la procédure. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

parameter

Le nom du paramètre. Ce paramètre accepte un paramètre de recherche de forme contenant _ et % en tant que mot clé. Si ce paramètre est NULL, tous les paramètres pour la procédure d'enregistrement spécifiée sont retournés.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant les lignes qui décrient les paramètres pour les procédures d'enregistrement qui concordent avec les paramètres spécifiés. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
PROCEDURE_CAT | Nom du catalogue que contient la table. La valeur est NULL si la table n'a pas de catalogue.
PROCEDURE_SCHEM | Nom du schéma que contient la procédure d'enregistrement.
PROCEDURE_NAME | Nom de la procédure.
COLUMN_NAME | Nom du paramètre.
COLUMN_TYPE

Un entier représentant le type du paramètre :

Valeur de retour | Type de paramètre
1 (SQL_PARAM_INPUT) | Paramètre d'entrée (IN).
2 (SQL_PARAM_INPUT_OUTPUT) | Paramètre d'entrée/sortie (INOUT).
3 (SQL_PARAM_OUTPUT) | Paramètre d'entrée (OUT).
DATA_TYPE | Le type de données SQL pour le paramètre représenté en tant qu'entier.
TYPE_NAME | Une chaîne représentant le type de données pour le paramètre.
COLUMN_SIZE | Un entier représentant la grandeur du paramètre.
BUFFER_LENGTH | Nombre d'octets maximaux nécessaires pour enregistrer des données de ce paramètre.
DECIMAL_DIGITS | L'échelle du paramètre ou NULL où l'échelle n'est pas applicable.
NUM_PREC_RADIX | Un entier pouvant être 10 (représentant un type de données numérique exact), 2 (représentant une approximation de type de données numériques) ou NULL (représentant un type de données pour lequel la base n'est pas applicable).
NULLABLE | Un entier représentant si le paramètre peut être nul ou pas.
REMARKS | Description du paramètre.
COLUMN_DEF | Valeur par défaut du paramètre.
SQL_DATA_TYPE | Un entier représentant la grandeur du paramètre.
SQL_DATETIME_SUB | Retourne un entier représentant un code de sous-type datetime ou NULL si les types de données SQL n'appliquent pas.
CHAR_OCTET_LENGTH | Grandeur maximale en octets pour les type de données d'un caractère du paramètre, qui concorde avec COLUMN_SIZE pour un seul octet de données ou NULL pour un type de données qui n'est pas des caractères.
ORDINAL_POSITION | La position du paramètre commençant à 1 dans la requête CALL.
IS_NULLABLE | Une chaîne dont la valeur est YES signifie que le paramètre accepte ou retourne des valeurs NULL et NO signifie que le paramètre n'accepte pas ou ne retourne pas de valeurs NULL.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_primary_keys
db2_procedures
Fonctions IBM DB2


Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données

db2_procedure_columns
db2_result
Fonctions IBM DB2
PHP Manual

db2_procedures

(PECL ibm_db2 >= 1.0.0)

db2_procedures — Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données

Description

resource db2_procedures ( resource $connection , string $qualifier , string $schema , string $procedure )

Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

procedure

Le nom de la procédure. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant les lignes qui décrient les procédures enregistrées qui concordent avec les paramètres spécifiés. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
PROCEDURE_CAT | Nom du catalogue que contient la table. La valeur est NULL si la table n'a pas de catalogue.
PROCEDURE_SCHEM | Nom du schéma que contient la procédure d'enregistrement.
PROCEDURE_NAME | Nom de la procédure.
NUM_INPUT_PARAMS | Nombre de paramètres d'entrée (IN) pour la procédure d'enregistrement.
NUM_OUTPUT_PARAMS | Nombre de paramètres de sortie (OUT) pour la procédure d'enregistrement.
NUM_RESULT_SETS | Nombre de jeux de résultats retournés par la procédure d'enregistrement.
REMARKS | Commentaires concernant la procédure d'enregistrement.
PROCEDURE_TYPE | Retourne toujours 1, indiquant que la procédure d'enregistrement ne retourne aucune valeur de retour.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_procedure_columns
db2_result
Fonctions IBM DB2


Retourne une colonne d'une ligne d'un jeu de résultats

db2_procedures
db2_rollback
Fonctions IBM DB2
PHP Manual

db2_result

(PECL ibm_db2 >= 1.0.0)

db2_result — Retourne une colonne d'une ligne d'un jeu de résultats

Description

mixed db2_result ( resource $stmt , mixed $column )

Utilisez db2_result() pour retourner une valeur d'une colonne spécifique dans la ligne courante d'un jeu de résultats. Vous devez appeler db2_fetch_row() avant d'appeler db2_result() pour enregistrer les valeurs pointées du jeu de résultats.

Liste de paramètres

stmt

Une ressource stmt valide.

column

Un tableau d'entier commençant avec l'indice 0 qui pointe vers les champs du jeu de résultats ou une chaîne représentant le nom de la colonne.

Valeurs de retour

Retourne la valeur du champ demandé si le champ existe dans le jeu de résultats. Retourne NULL si le champ n'existe pas et retourne une alerte PHP.

Exemples

Exemple #1 Exemple d'utilisation de db2_result()

L'exemple suivant démontre comment itérer à travers un jeu de résultats avec la fonction db2_fetch_row() et récupérer les colonnes du jeu de résultats avec db2_result().

<?php
$sql = 'SELECT nom, race FROM animaux WHERE poids < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $nom = db2_result($stmt, 0);
    $race = db2_result($stmt, 'RACE');
    print "$nom $race";
}
?>

L'exemple ci-dessus va afficher :

chat Pook
cyprin doré Bubbles
perruche Gizmo
chèvre Rickety Ride

Voir aussi

  • db2_fetch_array() - Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
  • db2_fetch_assoc() - Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
  • db2_fetch_both() - Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
  • db2_fetch_object() - Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
  • db2_fetch_row() - Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée

db2_procedures
db2_rollback
Fonctions IBM DB2


Annule une transaction

db2_result
db2_server_info
Fonctions IBM DB2
PHP Manual

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Annule une transaction

Description

bool db2_rollback ( resource $connection )

Annule une transaction en cours sur la connexion spécifiée et commence une nouvelle transaction. Les applications PHP ont normalement pour valeur par défaut AUTOCOMMIT d'activé, alors db2_commit() n'est pas nécessaire tant que AUTOCOMMIT n'est pas désactivée pour la ressource de connexion.

Note: Si la ressource de connexion spécifiée est persistante, toutes les transactions en cours pour toutes les applications qui utilisent cette connexion persistante seront validées. Pour cette raison, les connexions persistantes ne sont pas recommandées pour les applications qui nécessitent des transactions.

Liste de paramètres

connection

Une variable ressource de connexion valide retournée par db2_connect() ou db2_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Annulation d'une requête DELETE

Dans l'exemple suivant, nous comptons le nombre de ligne dans la table, désactivons le mode AUTOCOMMIT sur la connexion de la base de données, supprimons toutes les lignes dans la table et retournons le nombre 0 pour prouver que les lignes ont bien été supprimées. Ensuite nous utilisons la fonction db2_rollback() et retournons la nouvelle valeur du nombre de ligne dans la table pour montrer que le nombre est le même que celui que nous avions avant d'effectuer la requête DELETE. Le retour à l'état original de la table démontre que l'annulation de la transaction a réussie.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animaux");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Désactive AUTOCOMMIT
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Suppression de toutes les lignes de ANIMAUX
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animaux");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Annule la requête DELETE
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animaux" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

L'exemple ci-dessus va afficher :

7
0
7

Voir aussi

  • db2_autocommit() - Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données
  • db2_commit() - Valide la transaction

db2_result
db2_server_info
Fonctions IBM DB2


Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2

db2_rollback
db2_set_option
Fonctions IBM DB2
PHP Manual

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info — Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2

Description

object db2_server_info ( resource $connection )

Cette fonction retourne un objet avec des propriétés en lecture seule qui retournent des informations à propos le serveur de base de données IBM DB2, Cloudscape ou Apache Derby. La table suivante liste les propriétés du serveur de base de données :

Propriétés serveur de base de données
Nom Propriété | Type de retour | Description
DBMS_NAME | chaîne de caractères | Le nom du serveur de base de données sur lequel vous êtes connecté. Pour des serveurs DB2, c'est une combinaison de DB2 suivi par le système d'exploitation sur lequel le serveur de base de données fonctionne.
DBMS_VER | chaîne de caractères | La version du serveur de la base de données, dans la forme d'une chaîne de caractères "MM.mm.uuuu" où MM est la version majeure, mm est la version mineure et uuuu est la mise à jour. Par exemple, "08.02.0001" représente la version majeure 8, la version mineure 2, la mise à jour 1.
DB_CODEPAGE | entier | Le code page de la base de données sur laquelle vous êtes connecté.
DB_NAME | chaîne de caractères | Le nom de la base de données sur laquelle vous êtes connecté.
DFT_ISOLATION chaîne de caractères

Le niveau par défaut d'isolation de transaction supporté par le serveur :

UR

Lecture non-envoyée (Uncommitted read) : les changements sont immédiatement visibles par toutes les transactions concurrentes.

CS

Stabilité du curseur (Cursor stability) : un ligne lue par une transaction peut être modifiée et envoyée par une seconde transaction concurrente.

RS

Stabilité de lecture (Read stability) : une transaction peut ajouter ou supprimer des lignes qui correspondent à une condition de recherche ou à une transaction en attente.

RR

Lecture répétée (Repeatable read) : les données affectées par les transaction en attente ne sont pas disponibles aux autres transactions.

NC

Aucun envoi (No commit) : tout changement est visible à la fin d'une opération réussie. Les envois explicites et retours arrières ne sont pas alloués.

IDENTIFIER_QUOTE_CHAR | chaîne de caractères | Le caractère utilisé pour délimiter un identifiant.
INST_NAME | chaîne de caractères | L'instance sur le serveur de base de données qui contient la base de données.
ISOLATION_OPTION | tableau | Un tableau d'options d'isolation supporté par le serveur de base de données. Les options d'isolation sont décrites dans la propriété DFT_ISOLATION.
KEYWORDS | tableau | Un tableau des mots-clés réservés par le serveur de base de données.
LIKE_ESCAPE_CLAUSE | booléen | TRUE si le serveur de base de données supporte l'utilisation des caractères de remplacement % et _. FALSE si le serveur de base de données ne supporte pas ces caractères de remplacement.
MAX_COL_NAME_LEN | entier | Taille maximale d'un nom de colonne supportée par le serveur de base de données, exprimée en octets.
MAX_IDENTIFIER_LEN | entier | Taille maximale d'un identifiant SQL supportée par les serveurs de base de données, exprimée en caractères.
MAX_INDEX_SIZE | entier | Taille maximale des colonnes combinées dans un index supporté par le serveur de base de données, exprimée en octets.
MAX_PROC_NAME_LEN | entier | Taille maximale d'un nom de procédure supporté par le serveur de base de données, exprimée en octets.
MAX_ROW_SIZE | entier | Taille maximale d'une ligne dans la table de base supportée par le serveur de base de données, exprimée en octets.
MAX_SCHEMA_NAME_LEN | entier | Taille maximale d'un nom de schéma supporté par le serveur de base de données, exprimé en octets.
MAX_STATEMENT_LEN | entier | Taille maximale d'une requête SQL supporté par le serveur de base de données, exprimée en octets.
MAX_TABLE_NAME_LEN | entier | Taille maximale d'un nom de table supporté par le serveur de base de données, exprimée en octets.
NON_NULLABLE_COLUMNS | booléen | TRUE si le serveur de base de données supporte les colonnes qui peuvent être définies comme NOT NULL, FALSE si le serveur de base de données ne supporte pas les colonnes définies comme NOT NULL.
PROCEDURES | booléen | TRUE si le serveur de base de données supporte l'utilisation de la requête CALL pour appeler les procédures enregistrées, FALSE si le serveur de base de données ne supporte pas la requête CALL.
SPECIAL_CHARS | chaîne de caractères | Une chaîne de caractères contenant tous les caractères autre que les lettres (majuscules et minuscules), les chiffres et le caractère souligné qui peuvent être utilisé en tant que nom d'identifiant.
SQL_CONFORMANCE chaîne de caractères

Le niveau de conformité à la spécification ANSI/ISO SQL-92 offert par le serveur de base de données :

ENTRY

Niveau de conformité SQL-92.

FIPS127

Conformité traditionnelle FIPS-127-2.

FULL

Niveau complet de conformité SQL-92.

INTERMEDIATE

Niveau intermédiaire de conformité SQL-92.

Liste de paramètres

connection

Spécifie la connexion cliente DB2 active.

Valeurs de retour

Retourne un objet si l'appel est réussi. Retourne FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec db2_server_info()

Pour récupérer des informations à propos du serveur, vous devez passer une ressource de connexion de base de données valide à la fonction db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

L'exemple ci-dessus va afficher :

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Voir aussi

  • db2_client_info() - Retourne un objet avec des propriétés qui décrivent le client de base de données DB2

db2_rollback
db2_set_option
Fonctions IBM DB2


Fixe des options pour une connexion ou des ressources

db2_server_info
db2_special_columns
Fonctions IBM DB2
PHP Manual

db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Fixe des options pour une connexion ou des ressources

Description

bool db2_set_option ( resource $resource , array $options , int $type )

Fixe des options pour une ressource ou une connexion. Vous ne pouvez pas fixer des options pour un jeu de résultats.

Liste de paramètres

resource

Une ressource valide comme retournée par
db2_prepare() ou une connexion valide comme
retournée par db2_connect() ou
db2_pconnect().

options

Un tableau associatif contenant des options de ressources ou de connexion valides. Ce paramètre peut être utilisé pour changer les valeurs d'autocommit, types de curseur (flottant ou à avance seule) et spécifier la casse des noms de colonne (minuscule, majuscule ou naturelle) qui apparaîtra dans le jeu de résultats.

autocommit

Passer DB2_AUTOCOMMIT_ON active l'autocommit pour la connexion spécifiée.

Passer DB2_AUTOCOMMIT_OFF désactive l'autocommit pour la connexion spécifiée.

cursor

Passer DB2_FORWARD_ONLY spécifie un curseur à avance seule pour une ressource. Ceci est le type de défaut pour un curseur et est supporté par tous les serveurs de base de données.

Passer DB2_SCROLLABLE spécifie un curseur flottant pour une ressource. Les curseurs flottants permettent aux lignes de résultats d'être accessibles dans un ordre non séquentiel. Ce type de curseur est supporté seulement par les bases de données IBM DB2 Universal Database.

binmode

Passer DB2_BINARY spécifie que des données binaires seront retournées comme telles. Ceci est le mode par défaut. Ceci est équivalent à la configuration ibm_db2.binmode=1 dans php.ini.

Passer DB2_CONVERT spécifie que les données binaires seront converties en encodage hexadécimal et seront retourné ainsi. Ceci est équivalent à la configuration ibm_db2.binmode=2 dans php.ini.

Passer DB2_PASSTHRU spécifie que les données binaires seront converties en NULL. Ceci est équivalent à la configuration ibm_db2.binmode=3 dans php.ini.

db2_attr_case

Passer DB2_CASE_LOWER spécifie que les noms des colonnes dans le jeu de résultats seront retournés en minuscule.

Passer DB2_CASE_UPPER spécifie que les noms des colonnes dans le jeu de résultats seront retournés en majuscule.

Passer DB2_CASE_NATURAL spécifie que les noms de colonnes dans le jeu de résultats seront retournés en casse naturelle.

deferred_prepare

Passer DB2_DEFERRED_PREPARE_ON active la préparation déférée sur la ressource de requête spécifiée.

Passer DB2_DEFERRED_PREPARE_OFF désactive la préparation déférée sur la ressource de requête spécifiée.

Les nouvelles options suivantes i5/OS sont disponibles depuis la version 1.5.1 de ibm_db2. Ces options s'appliquent uniquement lorsque PHP et ibm_db2 fonctionnent nativement sur un système i5.

i5_fetch_only

DB2_I5_FETCH_ON : les curseurs sont en lecture seule et ne peuvent être utilisé pour positionner des mises à jour et des suppressions. Ceci est la valeur par défaut a moins que la variable d'environnement SQL_ATTR_FOR_FETCH_ONLY ait été mis à SQL_FALSE.

DB2_I5_FETCH_OFF : les curseurs peuvent être positionnés pour mises à jour et suppressions.

Les nouvelles options suivantes sont disponibles depuis ibm_db2 version 1.8.0 et suivants.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - Le client peut demander un comptage complet des lignes avant de les récupérer, ce qui signifie que la fonction db2_num_rows() retourne le nombre de lignes sélectionnées même si un curseur ROLLFORWARD_ONLY est utilisé.

DB2_ROWCOUNT_PREFETCH_OFF - Le client ne peut pas demander un comptage complet des lignes avant de les récupérer.

Les options suivantes sont nouvelles, et disponibles depuis ibm_db2 version 1.7.0.

trusted_user

Pour basculer l'utilisateur vers un utilisateur de confiance, indiquez l'identifiant utilisateur sous forme de chaîne, de l'utilisateur de confiance que vous voulez utiliser. Cette option peut être configurée au niveau de la connexion uniquement. Pour utiliser cette option, un contexte de confiance doit être activé sur la ressource de connexion.

trusted_password

Le mot de passe, sous forme de chaîne, qui correspond à l'utilisateur de confiance.

Les options suivantes sont nouvelles, et disponibles depuis ibm_db2 version 1.6.0. Ces options sont pratiques pour obtenir des informations de suivis, accessibles via db2_get_option().

Note: Lorsque la valeur de chaque option est sur le point d'être définie, quelques serveurs peuvent ne pas gérer la totalité de la longueur fournie et peuvent tronquer la valeur.
Pour s'assurer que les données spécifiées dans chaque option seront converties correctement lorsqu'elles seront transmises au système, utilisez seulement les caractères de A à Z, 0 à 9, les soulignés (_) et les points (.).

userid

SQL_ATTR_INFO_USERID : un pointeur vers une chaîne de caractères terminée par NULL utilisée pour identifier l'ID utilisateur du client envoyé au serveur de base de données, lors de la connexion DB2.

Note: DB2 pour les serveurs z/OS et OS/390 supporte une longueur supérieure à 16 caractères. L'ID utilisateur ne doit pas être confondu avec l'ID utilisateur d'identification, il est utilisé pour les processus d'identification uniquement et non pour ceux d'autorisation.

acctstr

SQL_ATTR_INFO_ACCTSTR : un pointeur vers une chaîne de caractères terminée par NULL utilisée pour identifier le compte du client à envoyer au serveur de base de données lors de la connexion DB2..

Note: DB2 pour les serveurs z/OS et OS/390 supporte une longueur supérieure à 200 caractères.

applname

SQL_ATTR_INFO_APPLNAME : un pointeur vers une chaîne de caractères terminée par NULL utilisée pour identifier le nom de l'application client à envoyer au serveur de base de données lors de la connexion DB2.

Note: DB2 pour les serveurs z/OS and OS/390 supportent une longueur supérieure à 32 caractères.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME : un pointeur vers une chaîne de caractères terminée par NULL utilisée pour identifier le nom de la station à envoyer au serveur de base de données lors de la connexion DB2.

Note: DB2 pour les serveurs z/OS et OS/390 supportent une longueur supérieure à 18 caractères.

type

Un entier qui spécifie le type de ressource qui a été passé à la fonction. Le type de ressource et valeur doit correspondre.

Passer 1 en tant que valeur spécifie qu'une ressource de connexion a été passée à la fonction.

Passer n'importe quel entier différent de 1 en tant que valeur spécifie qu'une ressource a été passée à la fonction.

Le tableau suivant spécifie quelles options sont compatibles avec quels types de ressources :

Matrice ressource paramètre
Clé | Valeur | Type de ressource
 |  | Connexion | Requête | Jeu de résultats
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_OFF | - | X | -
trusted_user | <USER NAME> (String) | X | - | -
trusted_password | <PASSWORD> (String) | X | - | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fixer un paramètre à une ressource de connexion

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Appel de la fonction en utilisant le type correct de ressource, le tableau
* d'options et la valeur type */
$result = db2_set_option($conn, $options, 1);

/* Vérifie si toutes les options peuvent être fixées correctement */
if($result)
{
   echo 'Options fixées correctement';
}
else
{
   echo 'Impossible de fixer les options';
}
?>

L'exemple ci-dessus va afficher :

Options fixées correctement

Exemple #2 Fixe des paramètres multiples avec une ressource de connexion

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Appel de la fonction en utilisant le type correct de ressource, le tableau
* d'options et la valeur type */
$result = db2_set_option($conn, $options, 1);

/* Vérifie si toutes les options peuvent être fixées correctement */
if($result)
{
  echo 'Options fixées correctement';
}
else
{
  echo 'Impossible de fixer les options';
}
?>

L'exemple ci-dessus va afficher :

Options fixées correctement

Exemple #3 Fixe des paramètres multiples avec une clé invalide

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'MY_INVALID_KEY' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Appel de la fonction en utilisant le type correct de ressource, le tableau
* d'options et la valeur type */
$result = db2_set_option($conn, $options, 1);

/* Vérifie si toutes les options peuvent être fixées correctement */
if($result)
{
   echo 'Options fixées correctement';
}
else
{
   echo 'Impossible de fixer les options';
}
?>

L'exemple ci-dessus va afficher :

Impossible de fixer les options

Exemple #4 Fixe des paramètres multiples avec une valeur invalide

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => 'INVALID_VALUE',
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Appel de la fonction en utilisant le type correct de ressource, le tableau
* d'options et la valeur type */
$result = db2_set_option($conn, $options, 1);

/* Vérifie si toutes les options peuvent être fixées correctement */
if($result)
{
   echo 'Options fixées correctement';
}
else
{
   echo 'Impossible de fixer les options';
}
?>

L'exemple ci-dessus va afficher :

Impossible de fixer les options

Exemple #5 Fixe des paramètres multiples avec une ressource de connexion et un mauvais type

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Appel de la fonction en utilisant le type correct de ressource, le tableau
* d'options et la valeur type invalide */
$result = db2_set_option($conn, $options, 2);

/* Vérifie si toutes les options peuvent être fixées correctement */
if($result)
{
  echo 'Options fixées correctement';
}
else
{
  echo 'Impossible de fixer les options';
}
?>

L'exemple ci-dessus va afficher :

Impossible de fixer les options

Exemple #6 Fixe des paramètres multiples avec une mauvaise ressource

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Appel de la fonction en utilisant le type incorrect de ressource, mais le tableau
* d'options et la valeur type valide */
$result = db2_set_option($stmt, $options, 1);

/* Vérifie si toutes les options peuvent être fixées correctement */
if($result)
{
  echo 'Options fixées correctement';
}
else
{
  echo 'Impossible de fixer les options';
}
?>

L'exemple ci-dessus va afficher :

Impossible de fixer les options

Exemple #7 Tout mettre ensemble

<?php
/* Paramètres de Connexion */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Chaînes de caractères de Connexion */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Récupération de la Ressource de Connexion */
$conn = db2_connect($conn_string, '', '');

/* Crée le tableau associatif d'options avec des paires clé-valeur valides */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Appel de la fonction en utilisant le type correct de ressource, le tableau
* d'options et la valeur type */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Récupère la ligne 2 avant la ligne 1 puisque nous avons un curseur flottant */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

L'exemple ci-dessus va afficher :

Array
(
     [empno] => 000140
     [firstnme] => HEATHER
     [midinit] => A
     [lastname] => NICHOLLS
     [workdept] => C01
     [phoneno] => 1793
     [hiredate] => 1976-12-15
     [job] => ANALYST
     [edlevel] => 18
     [sex] => F
     [birthdate] => 1946-01-19
     [salary] => 28420.00
     [bonus] => 600.00
     [comm] => 2274.00
)

Array
(
     [empno] => 000130
     [firstnme] => DELORES
     [midinit] => M
     [lastname] => QUINTANA
     [workdept] => C01
     [phoneno] => 4578
     [hiredate] => 1971-07-28
     [job] => ANALYST
     [edlevel] => 16
     [sex] => F
     [birthdate] => 1925-09-15
     [salary] => 23800.00
     [bonus] => 500.00
     [comm] => 1904.00
)

Exemple #8 Les curseurs i5/OS sont en lecture seule

<?php
$conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
$stmt = db2_prepare($conn, 'select * from names where first = ?');
$name = "first2";
db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
$options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
db2_set_option($stmt,$options,0);
if (db2_execute($stmt)) {
   while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
   }
}
?>

L'exemple ci-dessus va afficher :

first2 last2

Voir aussi

  • db2_connect() - Retourne une connexion à une base de données
  • db2_pconnect() - Retourne une connexion persistante à une base de données
  • db2_exec() - Exécute une requête SQL directement
  • db2_prepare() - Prépare une requête SQL à être exécutée
  • db2_cursor_type() - Retourne le type de curseur utilisé par une ressource

db2_server_info
db2_special_columns
Fonctions IBM DB2


Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table

db2_set_option
db2_statistics
Fonctions IBM DB2
PHP Manual

db2_special_columns

(PECL ibm_db2 >= 1.0.0)

db2_special_columns — Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table

Description

resource db2_special_columns ( resource $connection , string $qualifier , string $schema , string $table_name , int $scope )

Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables.

table_name

Le nom de la table.

scope

Un entier représentant le temps minimal pour lequel l'identifiant unique de la ligne est valide. Cela peut être une des valeurs suivantes :

Valeur Entier | Constante SQL | Description
0 | SQL_SCOPE_CURROW | L'identifiant de la ligne est valide seulement lorsque curseur est positionné sur la ligne.
1 | SQL_SCOPE_TRANSACTION | L'identifiant de la ligne est valide pour la durée de la transaction.
2 | SQL_SCOPE_SESSION | L'identifiant de la ligne est valide durant la durée de la connexion.

Valeurs de retour

Retourne une ressource avec un jeu de résultats contenant des lignes avec des informations uniques pour une table. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
SCOPE

Valeur Entier | Constante SQL | Description
0 | SQL_SCOPE_CURROW | L'identifiant de la ligne est valide seulement lorsque curseur est positionné sur la ligne.
1 | SQL_SCOPE_TRANSACTION | L'identifiant de la ligne est valide pour la durée de la transaction.
2 | SQL_SCOPE_SESSION | L'identifiant de la ligne est valide durant la durée de la connexion.
COLUMN_NAME | Nom de la colonne unique.
DATA_TYPE | Le type de données SQL pour la colonne.
TYPE_NAME | Une chaîne représentant le type de données pour la colonne.
COLUMN_SIZE | Un entier représentant la grandeur de la colonne.
BUFFER_LENGTH | Nombre d'octets maximaux nécessaires pour enregistrer des données de cette colonne.
DECIMAL_DIGITS | L'échelle de la colonne ou NULL où l'échelle n'est pas applicable.
NUM_PREC_RADIX | Un entier pouvant être 10 (représentant un type de données numérique exact), 2 (représentant un type de données numériques approximé) ou NULL (représentant un type de données pour lequel la base n'est pas applicable).
PSEUDO_COLUMN | Retourne toujours 1.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_set_option
db2_statistics
Fonctions IBM DB2


Retourne un jeu de résultats listant les index et statistiques d'une table

db2_special_columns
db2_stmt_error
Fonctions IBM DB2
PHP Manual

db2_statistics

(PECL ibm_db2 >= 1.0.0)

db2_statistics — Retourne un jeu de résultats listant les index et statistiques d'une table

Description

resource db2_statistics ( resource $connection , string $qualifier , string $schema , string $table-name , bool $unique )

Retourne un jeu de résultats listant les index et statistiques d'une table.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables visées. Si le paramètre est NULL, les statistiques et les index sont retournés pour le schéma de l'utilisateur en cours.

table_name

Le nom de la table.

unique

Un entier représentant le type d'information à retourner.

0

Retourne seulement les informations pour les index uniques de la table.

1

Retourne les informations pour tous les index de la table.

Valeurs de retour

Ce que la fonction retourne, premièrement lors de succès, ensuite lors d'échec. Voyez aussi l'entité Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Nom de la colonne | Description
TABLE_CAT | Nom du catalogue que contient la table. La valeur est NULL si la table n'a pas de catalogue.
TABLE_SCHEM | Nom du schéma que contient la table.
TABLE_NAME | Nom de la table.
NON_UNIQUE

Un entier représentant si l'index interdit les valeurs uniques ou si la ligne représente des statistiques sur la table elle-même :

Valeur de retour | Type de paramètre
0 (SQL_FALSE) | L'index autorise les valeurs dupliquées.
1 (SQL_TRUE) | Les valeurs index doivent être uniques.
NULL | La ligne contient des informations statistiques à propos de la table.
INDEX_QUALIFIER | Une chaîne de caractères représentant un qualificatif qui devrait avoir été préalablement fixé à INDEX_NAME pour qualifier complètement l'index.
INDEX_NAME | Une chaîne représentant le nom de l'index.
TYPE

Un entier représentant le type d'informations contenues dans cette ligne du jeu de résultats :

Valeur de retour | Type de paramètre
0 (SQL_TABLE_STAT) | La ligne contient des informations statistiques à propos de la table.
1 (SQL_INDEX_CLUSTERED) | La ligne contient des informations à propos d'index groupé.
2 (SQL_INDEX_HASH) | La ligne contient des informations à propos d'index haché.
3 (SQL_INDEX_OTHER) | La ligne contient des informations à propos du type d'index qui n'est pas groupé ni haché.
ORDINAL_POSITION | Un tableau commençant à l'index 1 indiquant la colonne dans l'index. NULL si la ligne contient des informations statistiques à propos de la table.
COLUMN_NAME | Le nom de la colonne dans l'index. NULL si la ligne contient des informations statistiques à propos de la table.
ASC_OR_DESC | A si la colonne est triée en ordre alphabétique, D si la colonne est triée en ordre alphabétique inverse, NULL si la ligne contient des informations statistiques à propos de la table.
CARDINALITY

Si la ligne contient des informations à propos d'un index, cette colonne contiendra un entier représentant le nombre de valeurs uniques dans l'index.

Si la ligne contient des informations à propos de la table, cette colonne contiendra un entier représentant le nombre de lignes dans la table.

PAGES

Si la ligne contient des informations à propos d'un index, cette colonne contiendra un entier représentant le nombre de pages utilisées pour enregistrer l'index.

Si la ligne contient des informations à propos de la table, cette colonne contiendra un entier représentant le nombre de pages utilisées pour enregistrer la table.

FILTER_CONDITION | Retourne toujours NULL.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_special_columns
db2_stmt_error
Fonctions IBM DB2


Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL

db2_statistics
db2_stmt_errormsg
Fonctions IBM DB2
PHP Manual

db2_stmt_error

(PECL ibm_db2 >= 1.0.0)

db2_stmt_error — Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL

Description

string db2_stmt_error ([ resource $stmt ] )

Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL.

Si vous ne passez pas de ressource en tant qu'argument à la fonction db2_stmt_error(), elle retournera le message d'erreur associé avec le dernier essai de retour d'une requête SQL, par exemple, provenant de db2_prepare() ou db2_exec().

Pour comprendre les valeurs de SQLSTATE, vous pouvez taper la commande suivante dans le processeur de ligne de commandes de DB2 : db2 '? sqlstate-value'. Vous pouvez aussi appeler la fonction db2_conn_errormsg() pour obtenir un message d'erreur explicite ainsi que la valeur de SQLCODE associée.

Liste de paramètres

stmt

Une ressource valide.

Valeurs de retour

Retourne une chaîne contenant la valeur de SQLSTATE.

Voir aussi

  • db2_conn_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion
  • db2_conn_errormsg() - Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE
  • db2_stmt_errormsg() - Retourne le dernier message d'erreur d'une requête SQL

db2_statistics
db2_stmt_errormsg
Fonctions IBM DB2


Retourne le dernier message d'erreur d'une requête SQL

db2_stmt_error
db2_table_privileges
Fonctions IBM DB2
PHP Manual

db2_stmt_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_stmt_errormsg — Retourne le dernier message d'erreur d'une requête SQL

Description

string db2_stmt_errormsg ([ resource $stmt ] )

Retourne le dernier message d'erreur d'une requête SQL.

Si vous ne passez pas de ressource en tant qu'argument à la fonction db2_stmt_error_msg(), elle retournera le message d'erreur associé avec le dernier essai de retour d'une requête SQL, par exemple, provenant de db2_prepare() ou db2_exec().

Liste de paramètres

stmt

Une ressource valide.

Valeurs de retour

Retourne une chaîne contenant l'erreur du message et le SQLCODE pour la dernière erreur qui s'est déroulée après l'exécution d'une requête SQL.

Voir aussi

  • db2_conn_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion
  • db2_conn_errormsg() - Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE
  • db2_stmt_error() - Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL

db2_stmt_error
db2_table_privileges
Fonctions IBM DB2


Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données

db2_stmt_errormsg
db2_tables
Fonctions IBM DB2
PHP Manual

db2_table_privileges

(PECL ibm_db2 >= 1.0.0)

db2_table_privileges — Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données

Description

resource db2_table_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table_name ]]] )

Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données.

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

table-name

Le nom de la table. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant les lignes qui décrient les privilèges pour la table qui concordent avec les paramètres spécifiés. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
TABLE_CAT | Nom du catalogue que contient la table. La valeur est NULL si la table n'a pas de catalogue.
TABLE_SCHEM | Nom du schéma que contient la table.
TABLE_NAME | Nom de la table.
GRANTOR | ID d'autorisation de l'utilisateur qui a donné le privilège.
GRANTEE | ID d'autorisation de l'utilisateur à qui le privilège a été donné.
PRIVILEGE | Le privilège qui a été donné. Cela peut être un de ces mots suivants : ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT ou UPDATE.
IS_GRANTABLE | Une chaîne contenant "YES" ou "NO" indiquant si l'utilisateur à qui le privilège a été donné peut donner le privilège aux autres utilisateurs.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_tables() - Retourne la liste des tables et leurs métadonnées

db2_stmt_errormsg
db2_tables
Fonctions IBM DB2


Retourne la liste des tables et leurs métadonnées

db2_table_privileges
Ingres
Fonctions IBM DB2
PHP Manual

db2_tables

(PECL ibm_db2 >= 1.0.0)

db2_tables — Retourne la liste des tables et leurs métadonnées

Description

resource db2_tables ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $table-type ]]]] )

Retourne un jeu de résultats listant les tables et leurs métadonnées qui leur sont associées d'une base de données

Liste de paramètres

connection

Une connexion valide à une base de données IBM DB2, Cloudscape ou Apache Derby.

qualifier

Un qualificatif pour les bases de données DB2 qui fonctionnent sur les serveurs OS/390 ou z/OS. Pour les autres bases de données, passez NULL ou une chaîne vide.

schema

Le schéma qui contient les tables. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

table-name

Le nom de la table. Le paramètre accepte les formes contenant _ et % en tant que mot clé.

table-type

Une liste des identifiants du type de table délimitée par des virgules. Pour concorder avec tous les schémas, passez NULL ou une chaîne vide. Les identifiants valides sont : ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW et VIEW.

Valeurs de retour

Retourne une ressource avec le jeu de résultats contenant les lignes qui décrient les tables qui concordent avec les paramètres spécifiés. Les lignes sont composées des colonnes suivantes :

Nom de la colonne | Description
TABLE_CAT | Nom du catalogue que contient la table. La valeur est NULL si la table n'a pas de catalogue.
TABLE_SCHEM | Nom du schéma que contient la table.
TABLE_NAME | Nom de la table.
TABLE_TYPE | Identifiant de la table.
REMARKS | Description de la table.

Voir aussi

  • db2_column_privileges() - Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
  • db2_columns() - Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
  • db2_foreign_keys() - Retourne un jeu de résultats listant les clés étrangères d'une table
  • db2_primary_keys() - Retourne un jeu de résultats listant les clés d'une table
  • db2_procedure_columns() - Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
  • db2_procedures() - Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
  • db2_special_columns() - Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
  • db2_statistics() - Retourne un jeu de résultats listant les index et statistiques d'une table
  • db2_table_privileges() - Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données

db2_table_privileges
Ingres
Fonctions IBM DB2


Ingres DBMS, EDBC, et Enterprise Access

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple simple avec Ingres
  • Fonctions Ingres
    • ingres_autocommit_state — Vérifie si la connexion utilise l'autocommit
    • ingres_autocommit — Active ou désactive le mode autocommit
    • ingres_charset — Retourne le jeu de caractères utilisé par Ingres
    • ingres_close — Ferme une connexion à un serveur Ingres
    • ingres_commit — Valide une transaction
    • ingres_connect — Ouvre une connexion sur un serveur Ingres
    • ingres_cursor — Récupère le nom du curseur pour une ressource de résultats donnée
    • ingres_errno — Récupère le dernier numéro d'erreur d'Ingres généré
    • ingres_error — Lit le dernier message d'erreur Ingres
    • ingres_errsqlstate — Récupère le dernier code SQLSTATE généré
    • ingres_escape_string — Protège les caractères spéciaux de Ingres
    • ingres_execute — Exécute une commande préparée Ingres
    • ingres_fetch_array — Récupère une ligne de résultat Ingres dans un tableau
    • ingres_fetch_assoc — Récupère une ligne de résultat dans un tableau associatif
    • ingres_fetch_object — Récupère une ligne de résultat dans un objet
    • ingres_fetch_proc_return — Lit le résultat d'un appel à une procédure stockée
    • ingres_fetch_row — Récupère une ligne de résultat dans un tableau énuméré
    • ingres_field_length — Retourne la taille d'un champ
    • ingres_field_name — Retourne le nom d'un champ dans le résultat d'une requête Ingres
    • ingres_field_nullable — Teste si un champ est annulable
    • ingres_field_precision — Retourne la précision d'un champ Ingres
    • ingres_field_scale — Retourne l'échelle d'un champ
    • ingres_field_type — Retourne le type d'un champ dans le résultat d'une requête Ingres
    • ingres_free_result — Libère les ressources d'un résultat Ingres
    • ingres_next_error — Lit l'erreur Ingres suivante
    • ingres_num_fields — Retourne le nombre de champs renvoyés par la dernière requête Ingres
    • ingres_num_rows — Retourne le nombre de lignes affectées ou renvoyées par une requête Ingres
    • ingres_pconnect — Ouvre une connexion persistante à un serveur Ingres
    • ingres_prepare — Prépare une requête pour l'exécution
    • ingres_query — Envoie une requête SQL à Ingres
    • ingres_result_seek — Change la position de lecture des données
    • ingres_rollback — Annule une transaction Ingres
    • ingres_set_environment — Configure les directives contrôlant les résultats Ingres
    • ingres_unbuffered_query — Envoie une requête sans buffer à Ingres
db2_tables
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Le driver Ingres pour PHP vous permet de vous connecter et d'effectuer des requêtes sur des serveurs DBMS, EDBC, et Enterprise Access.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Ingres
Installation/Configuration
Ingres


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Ingres


Pré-requis

Pour utiliser ou compiler l'extension PHP pour Ingres, vous devez avoir un environnement client Ingres. Vous pouvez télécharger le logiciel client à » http://esd.ingres.com/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ingres.

La bibliothèque DLL de cette extension PECL peut être téléchargée sur » http://esd.ingres.com/product/drivers/PHP/.

Pour activer ces fonctions, vous devez avoir » téléchargé et compilé cette extension, activé le support Ingres avec l'option --with-ingres[=DIR], où DIR est le dossier de base de Ingres. Si la variable d'environnement II_SYSTEM n'est pas correctement spécifiée, vous devrez utiliser la directive --with-ingres=DIR pour indiquer où se trouve votre dossier d'installation Ingres.

Le code PHP écrite pour la version 2.x et plus récent n'est pas compatible avec les versions plus anciennes de cette extension. Cependant, il est possible d'exécuter les deux extensions incompatibles dans le même environnement PHP, avec l'option --enable-ingres2. Cette option de configuration renomme l'extension en ingres2, change le nom des fonctions, des directives de configurations et des constantes. Par exemple, cette option activée, la fonction ingres_connect() devient ingres2_connect().

Pour utiliser cette extension, la variable d'environnement II_SYSTEM doit être définie. Les utilisateurs Linux et UNIX doivent aussi définir le chemin jusqu'à la bibliothèque partagée, par exemple LD_LIBRARY_PATH. Lorsqu'utilisé avec le serveur Web Apache, ces variables doivent être configurées explicitement dans le script de démarrage d'Apache. De plus, la directive PassEnv est nécessaire pour que l'extension Ingres charge correctement les bibliothèques. Par exemple :

Exemple #1 Exemple d'utilisation de PassEnv avec Ingres

<IfModule mod_env.c>
    PassEnv II_SYSTEM
    PassEnv LD_LIBRARY_PATH
</IfModule>

Note: Pour des exemples de configurations pour différents serveurs Web et systèmes d'exploitation, voyez » http://community.ingres.com/wiki/Ingres_Articles#Ingres_and_Web_Servers.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Ingres
Nom | Défaut | Modifiable | Historique
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible depuis ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Disponible depuis ingres 1.4.0.
ingres.auto | "1" | PHP_INI_ALL | Disponible depuis ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Disponible depuis ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Disponible depuis ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Disponible depuis ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Disponible depuis ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Disponible depuis ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Disponible depuis ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Disponible depuis ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Disponible depuis ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Disponible depuis ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Disponible depuis ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Disponible depuis ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Disponible depuis ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Disponible depuis ingres 2.0.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

ingres.allow_persistent booléen

Indique s'il faut activer les connexions persistantes à Ingres

ingres.array_index_start entier

Spécifie la valeur de départ pour les clés des entiers des tableaux générés par la fonction ingres_fetch_row() ou par la fonction ingres_fetch_array(). Par défaut, le paramètre ingres.array_index_start est définit à 1. Si vous voulez que l'extension ingres fonctionne de la même façon que les autres extensions de bases de données, définissez ce paramètre à 0.

ingres.auto booléen

Active ou pas l'émulation de l'autocommit. Ingres ne peut pas avoir plusieurs curseurs ouverts simultanément, lorsque l'autocommit est actif. Lorsqu'il est activé, le pilote émule l'autocommit.

ingres.blob_segment_length entier

Spécifie la quantité de mémoire à utiliser lors de la lecture des BLOB, en octets.

ingres.cursor_mode entier

Spécifie le mode par défaut pour les curseurs ouverts avec ingres_prepare(). Les valeurs valides sont INGRES_CURSOR_UPDATE ou INGRES_CURSOR_READONLY.

ingres.default_database chaîne de caractères

Spécifie le nom de la base de données par défaut, lors de la connexion à un serveur, si aucun nom de base n'est fourni. Cela ne s'applique pas au safe mode SQL.

ingres.default_password chaîne de caractères

Spécifie le mot de passe par défaut, lors de la connexion à un serveur, si aucun nom de base n'est fourni. Cela ne s'applique pas au safe mode SQL.

ingres.default_user chaîne de caractères

Spécifie le nom d'utilisateur par défaut, lors de la connexion à un serveur, si aucun nom de base n'est fourni. Cela ne s'applique pas au safe mode SQL.

ingres.describe booléen

Active l'utilisation de DESCRIBE INPUT pour déterminer les types de données pour les requêtes préparées. Disponible depuis Ingres 9.1.0. Lorsque cette directive est désactivée, les requêtes qui reçoivent des paramètres doivent décrire manuellement ces paramètres avec le paramètre types dans la fonction ingres_query().

Note: En activant cette fonctionnalité, ingres_query() va réaliser plusieurs requêtes supplémentaires entre PHP et le serveur. Pour réduire ce trafic, utilisez ingres_prepare() et ingres_execute().

ingres.fetch_buffer_size entier

Spécifie le nombre de ligne à télécharger lors d'une opération de lecture
en groupe par ingres_fetch_array(),
ingres_fetch_object() et
ingres_fetch_row().

ingres.max_links entier

Spécifie le nombre de sessions Ingres allouées par processus ou thread. Le nombre de sessions ne doit pas excéder le nombre maximal de connexions configurées par le serveur Ingres.

ingres.max_persistent entier

Spécifie le nombre maximum de sessions persistantes allouées par processus ou par thread. Le nombre de sessions ne doit pas excéder le nombre de connexions configurées sur le serveur Ingres.

ingres.reuse_connection booléen

Active la réutilisation de connexion si la connexion est tentée sur le même serveur avec le même nom d'utilisateur.

ingres.scrollable booléen

Active le support des curseurs scrollables. Lors de la lecture de données CLOB ou BLOB, cette directive doit être mise à FALSE. Disponible depuis Ingres 9.2.0.

ingres.trace booléen

Active les traces simples de messages E_NOTICE.

ingres.trace_connect booléen

Affiche des messages E_NOTICE durant les appels à ingres_connect() et ingres_pconnect().

ingres.utf8 booléen

Suppose que les chaîne de caractères passées à une colonne de type National Character (NVARCHAR ou NCHAR) utilisent l'encodage UTF-8 et les converti en UTF-16 pour le serveur.

Installation
Types de ressources
Installation/Configuration


Types de ressources

ingres_connect() et ingres_pconnect() retournent une ressource de connexion à Ingres.

ingres_query() et ingres_unbuffered_query() retourne une ressource de résultat Ingres.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

INGRES_ASSOC (entier)
Les colonnes sont retournées dans des tableaux, dont les noms de colonnes sont les index. À utiliser avec ingres_fetch_array().
INGRES_NUM (entier)
Les colonnes sont retournées dans des tableaux avec des index numériques. Par défaut, les index commencent à 1, qui est le premier champ du résultat. Pour changer cette valeur, voyez ingres.array_index_start. À utiliser avec ingres_fetch_array().
INGRES_BOTH (entier)
Les colonnes sont retournées dans des tableaux, numériques et littéraux. À utiliser avec ingres_fetch_array().
INGRES_EXT_VERSION (chaîne de caractères)
Spécifie la version de l'extension Ingres. Disponible depuis la version 1.2.0 de l'extension PECL.
INGRES_API_VERSION (entier)
Spécifie la version de Ingres OpenAPI. Disponible depuis la version 1.2.0 de l'extension PECL.
INGRES_CURSOR_READONLY (entier)
Spécifie si les curseurs Ingres sont en mode lecture seule. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres.cursor_mode.
INGRES_CURSOR_UPDATE (entier)
Spécifie si les curseurs Ingres sont en mode écriture. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres.cursor_mode.
INGRES_DATE_MULTINATIONAL (entier)
Équivalent à configure II_DATE_FORMAT à MULTINATIONAL. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_MULTINATIONAL4 (entier)
Équivalent à configure II_DATE_FORMAT à MULTINATIONAL4. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_FINNISH (entier)
Équivalent à configure II_DATE_FORMAT à FINNISH. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_ISO (entier)
Équivalent à configure II_DATE_FORMAT à ISO. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_ISO4 (entier)
Équivalent à configure II_DATE_FORMAT à ISO4. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_GERMAN (entier)
Équivalent à configure II_DATE_FORMAT à GERMAN. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_MDY (entier)
Équivalent à configure II_DATE_FORMAT à MDY. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_DMY (entier)
Équivalent à configure II_DATE_FORMAT à DMY. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_DATE_YMD (entier)
Équivalent à configure II_DATE_FORMAT à YMD. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_MONEY_LEADING (entier)
Spécifie le symbole monétaire, lorsqu'il est utilisé comme préfixe d'une valeur. Équivalent à configure II_MONEY_FORMAT à L:. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_MONEY_TRAILING (entier)
Spécifie le symbole monétaire, lorsqu'il est utilisé comme suffixe d'une valeur. Équivalent à configure II_MONEY_FORMAT à T:. Disponible depuis la version 1.2.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_set_environment().
INGRES_STRUCTURE_BTREE (entier)
Spécifie la structure de table ou d'index par défaut à BTREE, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_CBTREE (entier)
Spécifie la structure de table ou d'index par défaut à COMPRESSED BTREE, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_HASH (entier)
Spécifie la structure de table ou d'index par défaut à HASH, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_CHASH (entier)
Spécifie la structure de table ou d'index par défaut à COMPRESSED HASH, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_HEAP (entier)
Spécifie la structure de table ou d'index par défaut à HEAP, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_CHEAP (entier)
Spécifie la structure de table ou d'index par défaut à COMPRESSED HEAP, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_ISAM (entier)
Spécifie la structure de table ou d'index par défaut à ISAM, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
INGRES_STRUCTURE_CISAM (entier)
Spécifie la structure de table ou d'index par défaut à COMPRESSED ISAM, lorsqu'elle est utilisée en combinaison avec les options ou l'option index_structure lors de la connexion. Disponible depuis la version 1.4.0 de l'extension PECL. À utiliser avec ingres_connect(), ingres_pconnect() and ingres_set_environment(). Voyez les options de ingres_connect().
Types de ressources
Exemples
Ingres


Exemples

Sommaire

  • Exemple simple avec Ingres
Constantes pré-définies
Exemple simple avec Ingres
Ingres


Exemple simple avec Ingres

Exemples
Fonctions Ingres
Exemples
PHP Manual

L'exemple suivant montre comment se connecter à une base Ingres, exécuter une requête, afficher le résultat et se déconnecter.

Exemple #1 Exemple simple avec Ingres

<?php
// Connexion et sélection de la base
$link = ingres_connect("database", "user", "password")
    or die("Could not connect: " . ingres_error($link));
echo "Connected successfully";

// Sélection dans une table qui existe dans toutes les bases
$query = "SELECT * FROM iitables";
$result = ingres_query($link,$query) or die("Query failed: " .
ingres_error($link));

// Affichage du résultat au format HTML
// relid : nom de la table
// relowner : propriétaire de la table
echo "<table>\n";
while ($iitables = ingres_fetch_object($result)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $iitables->relid . "</td>\n";
    echo "\t\t<td>" . $iitables->relowner . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

// Libération des résultats
ingres_free_result($result);

// Validation de la transaction
ingres_commit($link);

// Fermeture de la connexion
ingres_close($link);
?>

Exemples
Fonctions Ingres
Exemples


Fonctions Ingres

Sommaire

  • ingres_autocommit_state — Vérifie si la connexion utilise l'autocommit
  • ingres_autocommit — Active ou désactive le mode autocommit
  • ingres_charset — Retourne le jeu de caractères utilisé par Ingres
  • ingres_close — Ferme une connexion à un serveur Ingres
  • ingres_commit — Valide une transaction
  • ingres_connect — Ouvre une connexion sur un serveur Ingres
  • ingres_cursor — Récupère le nom du curseur pour une ressource de résultats donnée
  • ingres_errno — Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error — Lit le dernier message d'erreur Ingres
  • ingres_errsqlstate — Récupère le dernier code SQLSTATE généré
  • ingres_escape_string — Protège les caractères spéciaux de Ingres
  • ingres_execute — Exécute une commande préparée Ingres
  • ingres_fetch_array — Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc — Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object — Récupère une ligne de résultat dans un objet
  • ingres_fetch_proc_return — Lit le résultat d'un appel à une procédure stockée
  • ingres_fetch_row — Récupère une ligne de résultat dans un tableau énuméré
  • ingres_field_length — Retourne la taille d'un champ
  • ingres_field_name — Retourne le nom d'un champ dans le résultat d'une requête Ingres
  • ingres_field_nullable — Teste si un champ est annulable
  • ingres_field_precision — Retourne la précision d'un champ Ingres
  • ingres_field_scale — Retourne l'échelle d'un champ
  • ingres_field_type — Retourne le type d'un champ dans le résultat d'une requête Ingres
  • ingres_free_result — Libère les ressources d'un résultat Ingres
  • ingres_next_error — Lit l'erreur Ingres suivante
  • ingres_num_fields — Retourne le nombre de champs renvoyés par la dernière requête Ingres
  • ingres_num_rows — Retourne le nombre de lignes affectées ou renvoyées par une requête Ingres
  • ingres_pconnect — Ouvre une connexion persistante à un serveur Ingres
  • ingres_prepare — Prépare une requête pour l'exécution
  • ingres_query — Envoie une requête SQL à Ingres
  • ingres_result_seek — Change la position de lecture des données
  • ingres_rollback — Annule une transaction Ingres
  • ingres_set_environment — Configure les directives contrôlant les résultats Ingres
  • ingres_unbuffered_query — Envoie une requête sans buffer à Ingres
Exemple simple avec Ingres
ingres_autocommit_state
Ingres


Vérifie si la connexion utilise l'autocommit

Fonctions Ingres
ingres_autocommit
Fonctions Ingres
PHP Manual

ingres_autocommit_state

(PECL ingres >= 2.0.0)

ingres_autocommit_state — Vérifie si la connexion utilise l'autocommit

Description

bool ingres_autocommit_state ( resource $link )

ingres_autocommit_state() sert à déterminer si la connexion actuelle utilise l'autocommit ou non.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Retourne TRUE si l'autocommit est activé, et FALSE sinon.

Voir aussi

  • ingres_autocommit() - Active ou désactive le mode autocommit
  • ingres_query() - Envoie une requête SQL à Ingres

Fonctions Ingres
ingres_autocommit
Fonctions Ingres


Active ou désactive le mode autocommit

ingres_autocommit_state
ingres_charset
Fonctions Ingres
PHP Manual

ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_autocommit — Active ou désactive le mode autocommit

Description

bool ingres_autocommit ( resource $link )

ingres_autocommit() est appelée juste avant l'ouverture d'une transaction (avant le premier appel à ingres_query() ou juste après un appel à ingres_rollback() ou ingres_commit()) pour changer l'état du mode autocommit (ce mode fonctionne comme une bascule). Lorsque le script débute le mode autocommit est toujours désactivé.

Pour savir si l'autocommit est activé, utilisez la fonction ingres_autocommit_state().

Par défaut, Ingres va annuler toute transaction qui n'est pas validée à la fin d'une requête. Utilisez cette fonction ou ingres_autocommit() pour vous assurer que vos requêtes sont bien enregistrées dans la base.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ingres_autocommit_state() - Vérifie si la connexion utilise l'autocommit
  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_rollback() - Annule une transaction Ingres
  • ingres_commit() - Valide une transaction

ingres_autocommit_state
ingres_charset
Fonctions Ingres


Retourne le jeu de caractères utilisé par Ingres

ingres_autocommit
ingres_close
Fonctions Ingres
PHP Manual

ingres_charset

(PECL ingres >= 2.1.0)

ingres_charset — Retourne le jeu de caractères utilisé par Ingres

Description

string ingres_charset ( resource $link )

ingres_charset() retourne le jeu de caractères utilisé par le client Ingres, parmi les jeux II_CHARSETxx (où xx est le code d'installation).

Note: Vous pouvez modifier la valeur retournée par cette fonction avec la fonction putenv(). Changer la valeur de II_CHARSETxx lorsque Ingres est en fonctionnement peut conduire à de la corruption de données.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Retourne la chaîne avec une valeur II_CHARSETxx ou NULL si la valeur n'a pas pu être déterminée.

Exemples

Exemple #1 Exemple avec ingres_charset()

<?php
$link = ingres_connect($database, $user, $password);

echo ingres_charset($link) . "\n";

ingres_close($link);
?>

Voir aussi

  • ingres_connect() - Ouvre une connexion sur un serveur Ingres
  • ingres_query() - Envoie une requête SQL à Ingres

ingres_autocommit
ingres_close
Fonctions Ingres


Ferme une connexion à un serveur Ingres

ingres_charset
ingres_commit
Fonctions Ingres
PHP Manual

ingres_close

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_close — Ferme une connexion à un serveur Ingres

Description

bool ingres_close ( resource $link )

ingres_close() ferme la connexion au serveur Ingres associée au lien link.

Habituellement l'appel à ingres_close() n'est pas nécessaire, car il ne ferme pas les connexions persistantes, et toutes les connexions non-persistantes sont automatiquement fermées à la fin du script.

Liste de paramètres

link

La ressource de connexion.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ingres_connect() - Ouvre une connexion sur un serveur Ingres
  • ingres_pconnect() - Ouvre une connexion persistante à un serveur Ingres

ingres_charset
ingres_commit
Fonctions Ingres


Valide une transaction

ingres_close
ingres_connect
Fonctions Ingres
PHP Manual

ingres_commit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_commit — Valide une transaction

Description

bool ingres_commit ( resource $link )

ingres_commit() valide la transaction ouverte, ce qui rend permanentes toutes les modifications faites sur la base de données au cours de cette transaction.

Cette fonction ferme la transaction. Une nouvelle transaction peut être ouverte en envoyant une requête à l'aide de ingres_query().

Vous pouvez aussi faire en sorte que le serveur valide automatiquement les changements après chaque requête en appelant ingres_autocommit() avant l'ouverture d'une transaction.

Par défaut, Ingres va annuler toute transaction qui n'est pas validée à la fin d'une requête. Utilisez cette fonction ou ingres_autocommit() pour vous assurer que vos requêtes sont bien enregistrées dans la base.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_rollback() - Annule une transaction Ingres
  • ingres_autocommit() - Active ou désactive le mode autocommit

ingres_close
ingres_connect
Fonctions Ingres


Ouvre une connexion sur un serveur Ingres

ingres_commit
ingres_cursor
Fonctions Ingres
PHP Manual

ingres_connect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_connect — Ouvre une connexion sur un serveur Ingres

Description

resource ingres_connect ([ string $database [, string $username [, string $password [, array $options ]]]] )

ingres_connect() ouvre une connexion avec la base de données database.

La connexion est fermée lorsque le script se termine ou en cas d'appel à ingres_close().

Liste de paramètres

Si certains paramètres sont manquants, ingres_connect() utilise les valeurs de ingres.default_database, ingres.default_user et ingres.default_password indiquées dans php.ini.

database

Le nom de la base de données.

Doit suivre la syntaxe : [node_id::]dbname[/svr_class].

username

Le nom d'utilisateur Ingres

password

Le mot de passe associé avec l'utilisateur username

options

Options d'ingres_connect()

Nom de l'option | Option type | Description | Exemple
date_century_boundary | entier | Le seuil pour lequel une année sur 2 chiffres est déterminée pour être dans le siècle courant ou dans le siècle prochain. Identique à II_DATE_CENTURY_BOUNDARY. | 50
group | chaîne de caractères | Spécifie d'identifiant de groupe de l'utilisateur. Équivaut à l'option "-G" | payroll
role | chaîne de caractères | L'identifiant du rôle de l'application. Si un mot de passe de rôle est nécessaire, la valeur du paramètre devra être spécifiée sous la forme "rôle/mot de passe"
effective_user | chaîne de caractères | Le compte utilisateur Ingres à personnifier. Équivalent à l'option "-u" | un_autre_utilisateur
dbms_password | chaîne de caractères | Le mot de passe interne de la base de données pour l'utilisateur se connectant à Ingres | s3cr3t
table_structure chaîne de caractères

La structure par défaut pour les nouvelles tables. Les valeurs valides pour table_structure sont :

  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_HEAP
  • INGRES_STRUCTURE_ISAM
  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_CHEAP

 INGRES_STRUCTURE_BTREE
index_structure chaîne de caractères

La structure par défaut pour les indexes secondaires. Les valeurs valides pour index_structure sont :

  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_ISAM

 INGRES_STRUCTURE_HASH
login_local | booléen | Détermine la façon dont sont traités l'identifiant de l'utilisateur et le mot de passe lorsqu'un VNODE est inclus dans la chaîne cible de la base de données. Si définit à TRUE, l'identifiant de l'utilisateur et le mot de passe sont utilisés pour accéder localement au VNODE et les informations d'identification du VNODE sont utilisées pour établir la connexion DBMS. Si définit à FALSE, l'identifiant du processus utilisateur est utilisé pour accéder au VNODE et l'identifiant de l'utilisateur pour la connexion et le mot de passe sont utilisés à la place des informations d'identification VNODE pour établir la connexion DBMS. Ce paramètre est ignoré si aucun VNODE n'est inclus dans la chaîne cible de la base de données. Par défaut, ce paramètre vaut FALSE. | TRUE
timezone | chaîne de caractères | Contrôle le fuseau horaire de la session. Si aucun n'est défini, ce paramètre vaudra la valeur définie par la constante II_TIMEZONE_NAME. Si la constante II_TIMEZONE_NAME n'est pas définie, la valeur NA-PACIFIC (GMT-8) sera utilisée.
date_format entier

Définit les formats d'entrée et de sortie autorisées pour les dates Ingres. Par défaut, la valeur est définie par la constante II_DATE_FORMAT. Si la constante II_DATE_FORMAT n'est pas définie, le format par défaut de la date sera US, e.g. mm/dd/yy. Les valeurs valides pour date_format sont :

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_MULTINATIONAL4
decimal_separator chaîne de caractères Le caractère utilisé comme séparateur des décimales ","
money_lort entier

Si le signe pour la monnaie doit se trouver avant ou après la valeur. Les valeurs valides pour money_lort sont :

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_TRAILING
money_sign chaîne de caractères Le symbole à utiliser avec le type de données MONEY €
money_precision | entier | La précision pour le type de données MONEY | 3
float4_precision | entier | La précision pour le type de données FLOAT4 | 10
float8_precision | entier | La précision pour le type de données FLOAT8 | 10
blob_segment_length | entier | La quantité de données à récupérer en une fois lorsque l'on récupère des données de type BLOB/CLOB. Par défaut, ce paramètre vaut 4096 octets. | 8192

Valeurs de retour

Retourne une ressource Ingres en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ingres_connect()

<?php
$link = ingres_connect("mydb", "user", "pass")
    or die("Connexion impossible");
echo "Connexion réussie";
ingres_close($link);
?>

Voir aussi

  • ingres_pconnect() - Ouvre une connexion persistante à un serveur Ingres
  • ingres_close() - Ferme une connexion à un serveur Ingres

ingres_commit
ingres_cursor
Fonctions Ingres


Récupère le nom du curseur pour une ressource de résultats donnée

ingres_connect
ingres_errno
Fonctions Ingres
PHP Manual

ingres_cursor

(PECL ingres >= 1.1.0)

ingres_cursor — Récupère le nom du curseur pour une ressource de résultats donnée

Description

string ingres_cursor ( resource $result )

ingres_cursor() retourne une chaîne de caractères contenant le nom du curseur actif. Si aucun curseur n'est actif, alors NULL est retourné.

Liste de paramètres

result

La ressource de connexion Ingres

Valeurs de retour

Retourne une chaîne de caractères contenant le nom du curseur actif. Si aucun curseur n'est actif, NULL est retourné.

Exemples

Exemple #1 Exemple avec ingres_cursor()

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_prepare($link, "select * from table");

$cursor_name = ingres_cursor($result);

echo $cursor_name;

?>

Voir aussi

  • ingres_prepare() - Prépare une requête pour l'exécution
  • ingres_execute() - Exécute une commande préparée Ingres

ingres_connect
ingres_errno
Fonctions Ingres


Récupère le dernier numéro d'erreur d'Ingres généré

ingres_cursor
ingres_error
Fonctions Ingres
PHP Manual

ingres_errno

(PECL ingres >= 1.1.0)

ingres_errno — Récupère le dernier numéro d'erreur d'Ingres généré

Description

int ingres_errno ([ resource $link ] )

ingres_errno() retourne le dernier numéro d'erreur. Si aucune erreur n'a été rapportée, 0 est retourné.

Si une ressource link est passée à la fonction ingres_errno(), elle retourne la dernière erreur enregistrée pour ce lien. Si aucun lien n'est passé alors ingres_errno() retourne la dernière erreur en utilisant le lien par défaut.

La fonction, ingres_errno(), devrait toujours être appelée après avoir exécuté n'importe quelle requête à la base de données. Un appel d'une autre fonction avant d'appeler ingres_errno() supprimerait ou changerait le message d'erreur provenant du dernier appel de fonction Ingres.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Retourne un entier contenant le numéro de la dernière erreur. Si aucune erreur n'a été rapportée, 0 est retourné.

Exemples

Exemple #1 Exemple avec ingres_errno()

<?php
$link = ingres_connect($database, $user, $password);

ingres_query("select * from table", $link);

$error_code = ingres_errno($link);

if ( $error_code != 0 ) {
   echo "Une erreur est survenue - " . $error_code;
}
?>

Voir aussi

  • ingres_error() - Lit le dernier message d'erreur Ingres
  • ingres_errsqlstate() - Récupère le dernier code SQLSTATE généré
  • ingres_next_error() - Lit l'erreur Ingres suivante

ingres_cursor
ingres_error
Fonctions Ingres


Lit le dernier message d'erreur Ingres

ingres_errno
ingres_errsqlstate
Fonctions Ingres
PHP Manual

ingres_error

(PECL ingres >= 1.1.0)

ingres_error — Lit le dernier message d'erreur Ingres

Description

string ingres_error ([ resource $link ] )

ingres_error() retourne une chaîne de caractères contenant la dernière erreur ou NULL si aucune erreur ne s'est produite.

Si une ressource link est passée à la fonction ingres_error(), elle retourne la dernière erreur enregistrée pour ce lien. Si aucun lien n'est passé alors ingres_error() retourne la dernière erreur en utilisant le lien par défaut.

La fonction, ingres_error(), devrait toujours être appelée après avoir exécuté toute sorte de requête à la base de données. Un appel d'une autre fonction avant d'appeler ingres_error() supprimera ou changera le message d'erreur provenant du dernier appel de fonction Ingres.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Retourne une chaîne contenant la dernière erreur, ou NULL si aucune n'est survenue.

Exemples

Exemple #1 Exemple avec ingres_error()

<?php
ingres_connect($database, $user, $password);

$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_text = ingres_error();

if (!is_null($error_text)) {
   echo "Une erreur est survenue : " . $error_text;
}
?>

Voir aussi

  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_errsqlstate() - Récupère le dernier code SQLSTATE généré
  • ingres_next_error() - Lit l'erreur Ingres suivante

ingres_errno
ingres_errsqlstate
Fonctions Ingres


Récupère le dernier code SQLSTATE généré

ingres_error
ingres_escape_string
Fonctions Ingres
PHP Manual

ingres_errsqlstate

(PECL ingres >= 1.1.0)

ingres_errsqlstate — Récupère le dernier code SQLSTATE généré

Description

string ingres_errsqlstate ([ resource $link ] )

ingres_errsqlstate() retourne une chaîne de caractères contenant le dernier SQLSTATE ou NULL si aucune erreur ne s'est produite.

Si une ressource link est passée à la fonction ingres_errsqlstate(), elle retourne la dernière erreur enregistrée pour ce lien. Si aucun lien n'est passé alors ingres_errsqlstate() retourne la dernière erreur en utilisant le lien par défaut.

La fonction, ingres_errsqlstate(), devrait toujours être appelée après avoir exécuté toute sorte de requête à la base de données. Un appel d'une autre fonction avant d'appeler ingres_errsqlstate() supprimera ou changera le message d'erreur provenant du dernier appel de fonction Ingres.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Retourne une chaîne contenant la dernière SQLSTATE, ou NULL si aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec ingres_errsqlstate()

<?php
ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

$error_sqlstate = ingres_errsqlstate($link);

if (!is_null($error_sqlstate)) {
   echo "Une erreur est survenue - " . $error_sqlstate;
}
?>

Voir aussi

  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error() - Lit le dernier message d'erreur Ingres
  • ingres_next_error() - Lit l'erreur Ingres suivante

ingres_error
ingres_escape_string
Fonctions Ingres


Protège les caractères spéciaux de Ingres

ingres_errsqlstate
ingres_execute
Fonctions Ingres
PHP Manual

ingres_escape_string

(PECL ingres >= 2.1.0)

ingres_escape_string — Protège les caractères spéciaux de Ingres

Description

string ingres_escape_string ( resource $link , string $source_string )

ingres_escape_string() protège les caractères spéciaux de Ingres dans une chaîne, avant de l'envoyer au serveur.

Liste de paramètres

link

La ressource de connexion au serveur

source_string

La chaîne à protéger

Valeurs de retour

Retourne la chaîne avec les caractères protégés

Exemples

Exemple #1 Protège les caractères spéciaux avant de les utiliser avec Ingres

<?php
$link = ingres_connect($database, $user, $password);

$last_name = "O'Connor";

$sql = sprintf("select * from user_profile where up_last = '%s'", ingres_escape_string( $link, $last_name));

$result = ingres_query($link, $sql);

while ($user = ingres_fetch_object($result))
{
  echo $user->up_first . '<BR/>';
}

ingres_commit($link);

ingres_close($link);

?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres

ingres_errsqlstate
ingres_execute
Fonctions Ingres


Exécute une commande préparée Ingres

ingres_escape_string
ingres_fetch_array
Fonctions Ingres
PHP Manual

ingres_execute

(PECL ingres >= 1.1.0)

ingres_execute — Exécute une commande préparée Ingres

Description

boolean ingres_execute ( resource $result [, array $params [, string $types ]] )

ingres_execute() exécute une requête préparée avec ingres_prepare().

Note: Configurations associées
Voyez aussi les directives ingres.describe, ingres.scrollable et ingres.utf8 dans les configurations à l'exécution.

Liste de paramètres

result

La ressource de résultat Ingres

params

Un tableau de paramètres à utiliser avec la requête

types

Une chaîne contenant une séquence de types pour formater les valeurs des paramètres. Voyez les types dans la documentation de la fonction ingres_query() pour connaître la liste des codes.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ingres_unbuffered_query() - Envoie une requête sans buffer à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré
  • ingres_commit() - Valide une transaction
  • ingres_rollback() - Annule une transaction Ingres
  • ingres_autocommit() - Active ou désactive le mode autocommit
  • ingres_set_environment() - Configure les directives contrôlant les résultats Ingres
  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error() - Lit le dernier message d'erreur Ingres

ingres_escape_string
ingres_fetch_array
Fonctions Ingres


Récupère une ligne de résultat Ingres dans un tableau

ingres_execute
ingres_fetch_assoc
Fonctions Ingres
PHP Manual

ingres_fetch_array

( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_array — Récupère une ligne de résultat Ingres dans un tableau

Description

array ingres_fetch_array ( resource $result [, int $result_type ] )

ingres_fetch_array() est une version améliorée de ingres_fetch_row(). En plus de stocker les données dans un tableau à indices numériques, elle peut aussi les enregistrer dans un tableau associatif, en utilisant les noms des champs comme indices.

Si plusieurs colonnes ont le même nom, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser l'index numérique, ou faire un alias pour chaque colonne. Par exemple :

<?php

$result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$result = ingres_fetch_array($result);
$foo = $result["city"];
$bar = $result["country"];

?>

Du point de vue de la rapidité, cette fonction est identique à ingres_fetch_object(), et presque aussi rapide que ingres_fetch_row() (la différence est insignifiante).

Par défaut, les index numériques des tableaux créés avec la fonction ingres_fetch_array() commencent à 1, qui est le premier champ du résultat. Ce n'est pas la pratique avec les autres bases de données, qui commencent la numérotation à 0. Pour changer cette valeur, voyez ingres.array_index_start. À utiliser avec ingres_fetch_array().

Note: Directives de configurations associées
Voyez aussi ingres.array_index_start, ingres.fetch_buffer_size et les directives ingres.utf8 dans les configurations à l'exécution.

Liste de paramètres

result

La ressource de résultats

result_type

result_type peut valoir INGRES_NUM pour un tableau à index numériques, INGRES_ASSOC pour un tableau associatif, ou INGRES_BOTH (défaut) pour un tableau mixte (accessible selon les deux méthodes).

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

Exemples

Exemple #1 Exemple avec ingres_fetch_array()

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");

while ($row = ingres_fetch_array($result)) {
    echo $row["user_id"];  // utilisation du tableau associatif
    echo $row["fullname"];
    echo $row[1];          // utilisation du tableau à indices numériques
    echo $row[2];
}
?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_num_fields() - Retourne le nombre de champs renvoyés par la dernière requête Ingres
  • ingres_field_name() - Retourne le nom d'un champ dans le résultat d'une requête Ingres
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_execute
ingres_fetch_assoc
Fonctions Ingres


Récupère une ligne de résultat dans un tableau associatif

ingres_fetch_array
ingres_fetch_object
Fonctions Ingres
PHP Manual

ingres_fetch_assoc

(PECL ingres >= 2.2.2)

ingres_fetch_assoc — Récupère une ligne de résultat dans un tableau associatif

Description

array ingres_fetch_assoc ( resource $result )

Cette fonction stoque les données récupérées depuis une requête exécutée en utilisant la fonction ingres_query() dans un tableau associatif, en utilisant les noms des champs comme clés.

D'un point de vue rapidité, cette fonction est identique à la fonction ingres_fetch_object(), et presque aussi rapide que la fonction ingres_fetch_row() (la différence est insignifiante).

Par défaut, les tableaux créés avec la fonction ingres_fetch_assoc() commence à la position 1 et non 0 comme cela est souvent le cas avec les extensions relatives aux bases de données. La position de départ peut être mise à 0 en utilisant le paramètre de configuration ingres.array_index_start.

Note: Configurations associées
Voir aussi les directives ingres.array_index_start, ingres.fetch_buffer_size et ingres.utf8 dans la configuration lors de l'exécution.

Liste de paramètres

result

L'identifiant de résultat

Valeurs de retour

Retourne un tableau associatif correspondant à la ligne récupérée, ou FALSE s'il n'y a plus de lignes de disponible.

Exemples

Exemple #1 Récupère une ligne dans un tableau associatif

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_assoc($result)) {
    echo $row["user_id"];  // utilisant du tableau associatif
    echo $row["fullname"];
}
?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_num_fields() - Retourne le nombre de champs renvoyés par la dernière requête Ingres
  • ingres_field_name() - Retourne le nom d'un champ dans le résultat d'une requête Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_fetch_array
ingres_fetch_object
Fonctions Ingres


Récupère une ligne de résultat dans un objet

ingres_fetch_assoc
ingres_fetch_proc_return
Fonctions Ingres
PHP Manual

ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_object — Récupère une ligne de résultat dans un objet

Description

object ingres_fetch_object ( resource $result [, int $result_type ] )

ingres_fetch_object() est similaire à ingres_fetch_array(), avec une différence : la valeur de retour est un objet et non un tableau. Indirectement, cela signifie qu'il n'est possible d'accéder aux données qu'avec les noms des champs, et pas avec leur numéro (les nombres ne sont pas des noms valides de propriété).

Du point de vue de la rapidité, cette fonction est identique à ingres_fetch_array(), et presque aussi rapide que ingres_fetch_row() (la différence est insignifiante).

Note: Configurations associées
Voyez aussi les directives ingres.fetch_buffer_size et ingres.utf8 dans les configurations à l'exécution.

Liste de paramètres

link

La ressource de connexion.

result_type

Le paramètre optionnel result_type est une constante qui peut prendre les valeurs INGRES_ASSOC, INGRES_NUM, et INGRES_BOTH.

Valeurs de retour

Retourne un objet qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

Exemples

Exemple #1 Exemple avec ingres_fetch_object()

<?php
$link = ingres_connect($database, $user, $password);
$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_num_fields() - Retourne le nombre de champs renvoyés par la dernière requête Ingres
  • ingres_field_name() - Retourne le nom d'un champ dans le résultat d'une requête Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_fetch_assoc
ingres_fetch_proc_return
Fonctions Ingres


Lit le résultat d'un appel à une procédure stockée

ingres_fetch_object
ingres_fetch_row
Fonctions Ingres
PHP Manual

ingres_fetch_proc_return

(PECL ingres >= 1.4.0)

ingres_fetch_proc_return — Lit le résultat d'un appel à une procédure stockée

Description

int ingres_fetch_proc_return ( resource $result )

ingres_fetch_proc_return() lit le résultat retourné par une procédure stockée Ingres.

Note: Si cette fonction est utilisée avec une procédure stockée qui produit des lignes, elle doit être appelée après que toute les lignes de la procédure ait été lues avec ingres_fetch_array(), ingres_fetch_object() ou ingres_fetch_row(). Cette fonction va éliminer toutes les lignes qui n'ont pas encore été lues.

Liste de paramètres

result

La ressource de résultat Ingres

Valeurs de retour

Retourne un entier s'il y a une valeur à retourner, et sinon, retourne NULL.

Exemples

Exemple #1 Lit la valeur retournée par une procédure stockée Ingres

<?php

$link = ingres_connect($database);

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

$result = ingres_query($link, "execute procedure php_proc (value = 1000)");

if ( ingres_errno() != 0 ) {
    $error_text = ingres_error();
    die($error_text);
}

echo "return value - " . ingres_fetch_proc_return($result) . "\n";

ingres_close($link);

?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_fetch_object
ingres_fetch_row
Fonctions Ingres


Récupère une ligne de résultat dans un tableau énuméré

ingres_fetch_proc_return
ingres_field_length
Fonctions Ingres
PHP Manual

ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_fetch_row — Récupère une ligne de résultat dans un tableau énuméré

Description

array ingres_fetch_row ( resource $result )

ingres_fetch_row() renvoie un tableau correspondant à la ligne récupérée, ou FALSE s'il n'y a plus de ligne à récupérer. La ligne est stockée dans un tableau à indices numériques, le premier champ étant à l'indice 1.

Les appels successifs à ingres_fetch_row() retournent les lignes suivantes du résultat, ou FALSE s'il n'y a plus de lignes.

Par défaut, les index numériques commencent à 1, qui est le premier champ du résultat. Ce n'est pas la pratique avec les autres bases de données, qui commencent la numérotation à 0. Pour changer cette valeur, voyez ingres.array_index_start. À utiliser avec ingres_fetch_array().

Note: Directives de configurations associées
Voyez aussi ingres.array_index_start, ingres.fetch_buffer_size et les directives ingres.utf8 dans les configurations à l'exécution.

Liste de paramètres

result

La ressource de connexion Ingres

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

Exemples

Exemple #1 Exemple avec ingres_fetch_row()

<?php
ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Voir aussi

  • ingres_num_fields() - Retourne le nombre de champs renvoyés par la dernière requête Ingres
  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet

ingres_fetch_proc_return
ingres_field_length
Fonctions Ingres


Retourne la taille d'un champ

ingres_fetch_row
ingres_field_name
Fonctions Ingres
PHP Manual

ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_length — Retourne la taille d'un champ

Description

int ingres_field_length ( resource $result , int $index )

ingres_field_length() retourne la taille d'un champ. Il s'agit du nombre d'octets utilisés par le serveur pour stocker ce champ. Pour plus d'informations, voir le OpenAPI User Guide, Appendice "Data Types".

Note: Configurations connexes
Voir ingres.array_index_start dans la configuration à l'exécution

Liste de paramètres

result

La ressource de résultat Ingres

index

index est l'indexe du champ à récupérer.

Les valeurs possibles de index dépendent de la valeur de ingres.array_index_start. Si ingres.array_index_start vaut 1 (par défaut), alors index doit être compris entre 1 et la valeur retournée par la fonction ingres_num_fields(). Si ingres.array_index_start vaut 0, alors index doit être compris entre 0 et la valeur retournée par la fonction ingres_num_fields() - 1.

Valeurs de retour

Retourne la taille du champ.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_fetch_row
ingres_field_name
Fonctions Ingres


Retourne le nom d'un champ dans le résultat d'une requête Ingres

ingres_field_length
ingres_field_nullable
Fonctions Ingres
PHP Manual

ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_name — Retourne le nom d'un champ dans le résultat d'une requête Ingres

Description

string ingres_field_name ( resource $result , int $index )

ingres_field_name() retourne le nom d'un champ dans le résultat d'une requête.

Note: Configurations connexes
Voir ingres.array_index_start dans la configuration à l'exécution

Liste de paramètres

result

La ressource de résultat Ingres

index

index est l'indexe du champ à récupérer.

Les valeurs possibles de index dépendent de la valeur de ingres.array_index_start. Si ingres.array_index_start vaut 1 (par défaut), alors index doit être compris entre 1 et la valeur retournée par la fonction ingres_num_fields(). Si ingres.array_index_start vaut 0, alors index doit être compris entre 0 et la valeur retournée par la fonction ingres_num_fields() - 1.

Valeurs de retour

Retourne le nom du champ dans le résultat d'une requête, ou FALSE si une erreur survient.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_field_length
ingres_field_nullable
Fonctions Ingres


Teste si un champ est annulable

ingres_field_name
ingres_field_precision
Fonctions Ingres
PHP Manual

ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_nullable — Teste si un champ est annulable

Description

bool ingres_field_nullable ( resource $result , int $index )

ingres_field_nullable test si un champ est annulable.

Note: Configurations connexes
Voir ingres.array_index_start dans la configuration à l'exécution

Liste de paramètres

result

La ressource de résultat Ingres

index

index est l'indexe du champ à récupérer.

Les valeurs possibles de index dépendent de la valeur de ingres.array_index_start. Si ingres.array_index_start vaut 1 (par défaut), alors index doit être compris entre 1 et la valeur retournée par la fonction ingres_num_fields(). Si ingres.array_index_start vaut 0, alors index doit être compris entre 0 et la valeur retournée par la fonction ingres_num_fields() - 1.

Valeurs de retour

ingres_field_nullable() retourne TRUE si le champ peut recevoir la valeur NULL et FALSE sinon.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_field_name
ingres_field_precision
Fonctions Ingres


Retourne la précision d'un champ Ingres

ingres_field_nullable
ingres_field_scale
Fonctions Ingres
PHP Manual

ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_precision — Retourne la précision d'un champ Ingres

Description

int ingres_field_precision ( resource $result , int $index )

ingres_field_precision() retourne la précision d'un champ. Cette valeur est utilisée uniquement pour les types de données SQL decimal, float et money. Pour plus d'informations, voir le OpenAPI User Guide, Appendice "Data Types".

Note: Configurations connexes
Voir ingres.array_index_start dans la configuration à l'exécution

Liste de paramètres

result

La ressource de connexion Ingres

index

index est l'indexe du champ à récupérer.

Les valeurs possibles de index dépendent de la valeur de ingres.array_index_start. Si ingres.array_index_start vaut 1 (par défaut), alors index doit être compris entre 1 et la valeur retournée par la fonction ingres_num_fields(). Si ingres.array_index_start vaut 0, alors index doit être compris entre 0 et la valeur retournée par la fonction ingres_num_fields() - 1.

Valeurs de retour

Retourne la précision du champ, sous la forme d'un entier.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_field_nullable
ingres_field_scale
Fonctions Ingres


Retourne l'échelle d'un champ

ingres_field_precision
ingres_field_type
Fonctions Ingres
PHP Manual

ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_scale — Retourne l'échelle d'un champ

Description

int ingres_field_scale ( resource $result , int $index )

ingres_field_scale() retourne l'échelle d'un champ. Cette valeur n'est utilisée que pour le type de données SQL décimal. Pour plus d'informations, voir le OpenAPI User Guide, Appendice "Data Types".

Note: Configurations connexes
Voir ingres.array_index_start dans la configuration à l'exécution

Liste de paramètres

result

La ressource de résultat Ingres

index

index est l'indexe du champ à récupérer.

Les valeurs possibles de index dépendent de la valeur de ingres.array_index_start. Si ingres.array_index_start vaut 1 (par défaut), alors index doit être compris entre 1 et la valeur retournée par la fonction ingres_num_fields(). Si ingres.array_index_start vaut 0, alors index doit être compris entre 0 et la valeur retournée par la fonction ingres_num_fields() - 1.

Valeurs de retour

Retourne l'échelle d'un champ, sous la forme d'un entier.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_field_precision
ingres_field_type
Fonctions Ingres


Retourne le type d'un champ dans le résultat d'une requête Ingres

ingres_field_scale
ingres_free_result
Fonctions Ingres
PHP Manual

ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_field_type — Retourne le type d'un champ dans le résultat d'une requête Ingres

Description

string ingres_field_type ( resource $result , int $index )

Retourne le type d'un champ dans le résultat d'une requête.

Note: Configurations connexes
Voir ingres.array_index_start dans la configuration à l'exécution

Liste de paramètres

resultat

La ressource de résultat Ingres

index

index est l'indexe du champ à récupérer.

Les valeurs possibles de index dépendent de la valeur de ingres.array_index_start. Si ingres.array_index_start vaut 1 (par défaut), alors index doit être compris entre 1 et la valeur retournée par la fonction ingres_num_fields(). Si ingres.array_index_start vaut 0, alors index doit être compris entre 0 et la valeur retournée par la fonction ingres_num_fields() - 1.

Valeurs de retour

ingres_field_type() retourne le type d'un champ dans le résultat d'une requête ou FALSE si une erreur survient. Exemples de types renvoyés par cette fonction : IIAPI_BYTE_TYPE, IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, IIAPI_FLT_TYPE, IIAPI_INT_TYPE, IIAPI_VCH_TYPE. Certains de ces types correspondent à plus d'un type SQL, selon la taille du champ (voir ingres_field_length()). Par exemple IIAPI_FLT_TYPE peut être un float4 ou un float8. Pour plus d'informations, voir le OpenAPI User Guide, Appendice C.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_field_scale
ingres_free_result
Fonctions Ingres


Libère les ressources d'un résultat Ingres

ingres_field_type
ingres_next_error
Fonctions Ingres
PHP Manual

ingres_free_result

(PECL ingres >= 2.0.0)

ingres_free_result — Libère les ressources d'un résultat Ingres

Description

bool ingres_free_result ( resource $result )

ingres_free_result() libère les ressources du résultat Ingres result.

Liste de paramètres

result

La ressource de résultat Ingres

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Libération d'un résultat Ingres

<?php
$link = ingres_connect($database, $user, $password);

$result = ingres_query($link, "select * from table");

while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
ingres_free_result($result);

ingres_close($link)

?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres

ingres_field_type
ingres_next_error
Fonctions Ingres


Lit l'erreur Ingres suivante

ingres_free_result
ingres_num_fields
Fonctions Ingres
PHP Manual

ingres_next_error

(PECL ingres >= 2.0.0)

ingres_next_error — Lit l'erreur Ingres suivante

Description

bool ingres_next_error ([ resource $link ] )

ingres_next_error() lit la prochaine erreur produite par la dernière requête. Chaque appel à ingres_next_error() peut être suivi d'un appel à ingres_errno(), ingres_error() ou ingres_errsqlstate() pour obtenir respectivement le numéro, le message ou le SQL STATE. Tant que ingres_next_error() vaut TRUE, il y a d'autres erreur à lire.

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

ingres_next_error() retourne TRUE s'il y a d'autres erreurs à lire, et FALSE s'il n'y a plus d'autres erreurs.

Voir aussi

  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error() - Lit le dernier message d'erreur Ingres
  • ingres_errsqlstate() - Récupère le dernier code SQLSTATE généré

ingres_free_result
ingres_num_fields
Fonctions Ingres


Retourne le nombre de champs renvoyés par la dernière requête Ingres

ingres_next_error
ingres_num_rows
Fonctions Ingres
PHP Manual

ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_fields — Retourne le nombre de champs renvoyés par la dernière requête Ingres

Description

int ingres_num_fields ( resource $result )

ingres_num_fields() retourne le nombre de champs du résultat renvoyé par le serveur Ingres après un appel à ingres_query().

Liste de paramètres

result

La ressource de résultat Ingres

Valeurs de retour

Retourne le nombre de champs.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_next_error
ingres_num_rows
Fonctions Ingres


Retourne le nombre de lignes affectées ou renvoyées par une requête Ingres

ingres_num_fields
ingres_pconnect
Fonctions Ingres
PHP Manual

ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_num_rows — Retourne le nombre de lignes affectées ou renvoyées par une requête Ingres

Description

int ingres_num_rows ( resource $result )

Cette fonction est conçue principalement pour obtenir le nombre de lignes modifiées dans la base de données par la requête précédente. Elle peut être utilisée pour lire le nombre de lignes à lire après une requête SELECT.

Note: Si les curseurs scrollables sont désactivés, et que cette fonction est appelée avant ingres_fetch_array(), ingres_fetch_object(), ou ingres_fetch_row(), le serveur va effacer les données de résultats, et le script sera incapable de les obtenir.
Il faut dans ce cas récupérer les données du résultat en utilisant une de ces 3 fonctions dans une boucle jusqu'à ce qu'elle renvoie FALSE, ce qui indique qu'il n'y a plus de résultats à récupérer.

Liste de paramètres

link

La ressource de résultats Ingres

Valeurs de retour

Pour les requêtes DELETE, INSERT, UPDATE ingres_num_rows() retourne le nombre de lignes affectées par la requête. Pour les autres requêtes, ingres_num_rows() retourne le nombre de lignes du résultat de la requête.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_num_fields
ingres_pconnect
Fonctions Ingres


Ouvre une connexion persistante à un serveur Ingres

ingres_num_rows
ingres_prepare
Fonctions Ingres
PHP Manual

ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_pconnect — Ouvre une connexion persistante à un serveur Ingres

Description

resource ingres_pconnect ([ string $database [, string $username [, string $password [, array $options ]]]] )

ingres_pconnect() ouvre une connexion persistante à la base de données Ingres.

Il n'y a que 2 différences entre ingres_pconnect() et ingres_connect() : tout d'abord, à la connexion, la fonction cherche un lien persistant déjà ouvert avec les mêmes paramètres. Si un tel lien est trouvé, la ressource de ce lien est retournée au lieu d'établir une nouvelle connexion. Ensuite, la connexion vers le serveur Ingres n'est pas fermée lorsque le script se termine. En fait, le lien reste ouvert pour pouvoir être réutilisé (ingres_close() ne ferme pas les liens établis avec ingres_pconnect()). C'est pourquoi ce type de lien est dit 'persistant'.

Liste de paramètres

database

Le nom de la base de données.

Doit suivre la syntaxe suivante : [node_id::]dbname[/svr_class].

username

Le nom d'utilisateur Ingres.

password

Le mot de passe associé à l'utilisateur username.

options

Voyez la fonction ingres_connect() pour connaître la liste des options qui peuvent être passées.

Valeurs de retour

Retourne une ressource de connexion Ingres en cas de succès, ou FALSE si une erreur survient.

Voir aussi

  • ingres_connect() - Ouvre une connexion sur un serveur Ingres
  • ingres_close() - Ferme une connexion à un serveur Ingres

ingres_num_rows
ingres_prepare
Fonctions Ingres


Prépare une requête pour l'exécution

ingres_pconnect
ingres_query
Fonctions Ingres
PHP Manual

ingres_prepare

(PECL ingres >= 1.1.0)

ingres_prepare — Prépare une requête pour l'exécution

Description

mixed ingres_prepare ( resource $link , string $query )

ingres_prepare() prépare une requête pour l'exécution avec ingres_execute().

La requête fait alors partie de la transaction courante. S'il n'y a pas de transaction ouverte, ingres_query() en ouvre une nouvelle. Pour fermer la transaction, vous pouvez appeler soit ingres_commit() pour valider les modifications, ou bien ingres_rollback() pour les annuler. Lorsque le script s'achève, toutes les transactions qui n'auront pas été validées, seront annulées, en appelant ingres_rollback(). Vous pouvez aussi utiliser ingres_autocommit() avant d'ouvrir une nouvelle transaction pour forcer la validation immédiate de toutes les requêtes.

Note: Configurations associées
Voyez aussi les directives ingres.describe, ingres.scrollable et ingres.utf8 dans les configurations d'exécution.

Liste de paramètres

link

La ressource de connexion Ingres

query

Une requête SQL valide (voyez le SQL reference guide de la documentation Ingres). Voyez la documentation du paramètre query de la fonction ingres_query() pour une liste de commandes SQL qui ne peuvent pas être exécutées avec ingres_prepare()

Valeurs de retour

ingres_prepare() retourne une ressource de résultat qui peut être utilisée avec ingres_execute() pour exécuter la requête. Pour voir si une erreur est survenue, utilisez ingres_errno(), ingres_error() ou ingres_errsqlstate().

Voir aussi

  • ingres_unbuffered_query() - Envoie une requête sans buffer à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré
  • ingres_commit() - Valide une transaction
  • ingres_rollback() - Annule une transaction Ingres
  • ingres_autocommit() - Active ou désactive le mode autocommit
  • ingres_set_environment() - Configure les directives contrôlant les résultats Ingres
  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error() - Lit le dernier message d'erreur Ingres

ingres_pconnect
ingres_query
Fonctions Ingres


Envoie une requête SQL à Ingres

ingres_prepare
ingres_result_seek
Fonctions Ingres
PHP Manual

ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_query — Envoie une requête SQL à Ingres

Description

mixed ingres_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_query() envoie la requête SQL query au serveur Ingres.

La requête fait alors partie de la transaction courante. S'il n'y a pas de transaction ouverte, ingres_query() en ouvre une nouvelle. Pour fermer la transaction, vous pouvez appeler soit ingres_commit() pour valider les modifications, ou bien ingres_rollback() pour les annuler. Lorsque le script s'achève, toutes les transactions qui n'auront pas été validées, seront annulées, en appelant ingres_rollback(). Vous pouvez aussi utiliser ingres_autocommit() avant d'ouvrir une nouvelle transaction pour forcer la validation immédiate de toutes les requêtes.

Note: Configurations reliées
Voyez aussi les directives ingres.describe, ingres.scrollable ingres.utf8 dans les configurations d'exécutions

Liste de paramètres

link

La ressource de connexion à Ingres

query

Une requête SQL valide (voyez le SQL reference guide de la documentation Ingres).

Les données contenues dans la requête doivent être proprement échappées.

Les requêtes suivantes ne peuvent pas être envoyées à l'aide de cette fonction :

  • close (voyez ingres_close())
  • commit (voyez ingres_commit())
  • connect (voyez ingres_connect())
  • disconnect (voyez ingres_close())
  • get dbevent
  • prepare to commit
  • rollback (voyez ingres_rollback())
  • savepoint
  • set autocommit (voyez ingres_autocommit())
  • toutes les requêtes liées aux curseurs ne sont pas supportées

params

Un tableau de valeurs de paramètres à utiliser avec la requête

types

Une chaîne contenant une séquence de types pour les paramètres fournis à la requête. Lorsque ingres.describe est activé, ce paramètre peut être ignoré car le pilote va lire automatiquement la valeur de ce paramètre auprès du serveur.

Code de type | Type Ingres
a | BOOLEAN
b | BYTE
B | LONG BYTE/BLOB
c | CHAR
d | DATE/ANSIDATE/TIMESTAMP/TIME
f | FLOAT
i | INTEGER
L | LONG TEXT
m | MONEY
M | LONG NVARCHAR
n | NCHAR
N | NVARCHAR
t | TEXT
v | VARCHAR
V | LONG VARCHAR

Valeurs de retour

ingres_query() retourne une ressource de résultat
en cas de succès, et sinon FALSE. Pour savoir si une erreur est
survenue, utilisez ingres_errno(),
ingres_error() ou
ingres_errsqlstate().

Exemples

Exemple #1 Envoi d'une requête à Ingres

<?php
$link = ingres_connect("demodb");

$result = ingres_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemple #2 Passage de paramètres de requête à ingres_query()

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemple #3 Insertion d'un BLOB dans les paramètres de requête

<?php
$link = ingres_connect("demodb");

//Ouverture d'une photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

//Préparation des paramètres
$params[] = $blob_data;
$params[] = 1201;

//Définition des paramètres
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . " : " . ingres_error() . "\n";
}

ingres_commit($link);

ingres_close($link);
?>

Voir aussi

  • ingres_unbuffered_query() - Envoie une requête sans buffer à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré
  • ingres_commit() - Valide une transaction
  • ingres_rollback() - Annule une transaction Ingres
  • ingres_autocommit() - Active ou désactive le mode autocommit
  • ingres_set_environment() - Configure les directives contrôlant les résultats Ingres
  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error() - Lit le dernier message d'erreur Ingres

ingres_prepare
ingres_result_seek
Fonctions Ingres


Change la position de lecture des données

ingres_query
ingres_rollback
Fonctions Ingres
PHP Manual

ingres_result_seek

(PECL ingres >= 2.1.0)

ingres_result_seek — Change la position de lecture des données

Description

boolean ingres_result_seek ( resource $result , integer $position )

ingres_result_seek() positionne le curseur associé au résultat, avant de lire la ligne. Si ingres.array_index_start vaut 0, alors la première ligne sera au numéro 0, et sinon, elle sera à 1. ingres_result_seek() peut uniquement être utilisé avec des requêtes qui utilisent des curseurs scrollables. Elle ne peut pas être utilisée avec la fonction ingres_unbuffered_query().

Note: Configurations associées
Voyez aussi les directives ingres.scrollable et ingres.array_index_start dans les configurations d'exécution.

Liste de paramètres

result

Une ressource de résultat Ingres

position

La ligne à laquelle positionner le curseur. Si ingres.array_index_start vaut 0, ce sera la première ligne, et sinon, ce sera 1.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Positionnement du curseur Ingres sur la 3ème ligne

<?php

$result=ingres_query($link, "select * from airport where ap_ccode = 'ES' order by ap_place asc");

/* Va en position 3 */
if (!ingres_result_seek($result, 3))
{
    echo ingres_errno() . " - " . ingres_error . "\n";
    die();
}
else
{
    $airport = ingres_fetch_object ($result);
    {
        echo $airport->ap_iatacode . " - " .  $airport->ap_name . "\n";
    }
}

ingres_commit($link);

?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré

ingres_query
ingres_rollback
Fonctions Ingres


Annule une transaction Ingres

ingres_result_seek
ingres_set_environment
Fonctions Ingres
PHP Manual

ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)

ingres_rollback — Annule une transaction Ingres

Description

bool ingres_rollback ( resource $link )

ingres_rollback() annule (roll back) la transaction ouverte sur la connexion Ingres link, ce qui annule les modifications faites sur la base de données au cours de cette transaction.

Ceci ferme la transaction. Une nouvelle transaction peut être ouverte en envoyant une requête à l'aide de ingres_query().

Liste de paramètres

link

La ressource de connexion Ingres

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_commit() - Valide une transaction
  • ingres_autocommit() - Active ou désactive le mode autocommit

ingres_result_seek
ingres_set_environment
Fonctions Ingres


Configure les directives contrôlant les résultats Ingres

ingres_rollback
ingres_unbuffered_query
Fonctions Ingres
PHP Manual

ingres_set_environment

(PECL ingres >= 1.2.0)

ingres_set_environment — Configure les directives contrôlant les résultats Ingres

Description

bool ingres_set_environment ( resource $link , array $options )

ingres_set_environment() assigne des valeurs aux options qui affectent l'affichage des valeurs en provenance d'Ingres, telles que les fuseaux horaires, le format de date, le séparateur décimal ou la précision des nombres décimaux.

Liste de paramètres

link

La ressource de connexion Ingres

options

Un tableau énuméré de paires clé / valeur. La table suivante liste toutes les options et leur type associé.

Nom de l'option | Type de l'option | Description | Exemple
date_century_boundary | entier | Le seuil qui fait qu'une année exprimée sur deux chiffres fait partie de ce siècle ou du précédent. C'est l'équivalent de II_DATE_CENTURY_BOUNDARY | 50
timezone | chaîne de caractères | Contrôle le fuseau horaire de la session. S'il n'est pas configuré, il prendra par défaut la valeur définie dans II_TIMEZONE_NAME. Si II_TIMEZONE_NAME n'est pas définie, ce sera NA-PACIFIC (GMT-8 avec horaire d'été), qui sera utilisé. | UNITED-KINGDOM
date_format entier

Configure les formats acceptables de dates. Par défaut, c'est la valeur définie dans II_DATE_FORMAT. Si II_DATE_FORMAT n'est pas configuré, le format par défaut est celui de la date US, par exemple mm/dd/yy. Les valeurs valides pour les formats sont :

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

 INGRES_DATE_ISO4
decimal_separator chaîne de caractères Le séparateur décimal (en français, la virgule) ","
money_lort entier

Le symbole monétaire, suffixe ou préfixe. Les valeurs valides sont :

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

 INGRES_MONEY_LEADING
money_sign chaîne de caractères Le symbole monétaire à utiliser avec les valeurs de type MONEY €
money_precision | entier | La précision à utiliser avec les valeurs de type MONEY | 2
float4_precision | entier | La précision à utiliser avec les valeurs de type FLOAT4 | 10
float8_precision | entier | La précision à utiliser avec les valeurs de type FLOAT8 | 10
blob_segment_length | entier | La quantité de données à lire à chaque lecture d'une valeur de type BLOB ou CLOB. Par défaut, c'est 4096 octets | 8192

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Configuration du format de date à ISO4

<?php
$options = array( "date_format" => INGRES_DATE_ISO4 );

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Exemple #2 Configuration du fuseau horaire de Hong-Kong

<?php

$options = array( "timezone" => "HONG-KONG");

if (ingres_set_environment($link, $options))
{
    $result=ingres_query($link,"select date('now') as date");

    while ( $object = ingres_fetch_object ($result) ) {
        echo $object->date."\n";
    }
}
?>

Voir aussi

  • ingres_connect() - Ouvre une connexion sur un serveur Ingres
  • ingres_query() - Envoie une requête SQL à Ingres

ingres_rollback
ingres_unbuffered_query
Fonctions Ingres


Envoie une requête sans buffer à Ingres

ingres_set_environment
MaxDB
Fonctions Ingres
PHP Manual

ingres_unbuffered_query

(No version information available, might only be in SVN)

ingres_unbuffered_query — Envoie une requête sans buffer à Ingres

Description

mixed ingres_unbuffered_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_unbuffered_query() envoie la requête SQL query au serveur Ingres.

La requête fait alors partie de la transaction courante. S'il n'y a pas de transaction ouverte, ingres_query() en ouvre une nouvelle. Pour fermer la transaction, vous pouvez appeler soit ingres_commit() pour valider les modifications, ou bien ingres_rollback() pour les annuler. Lorsque le script s'achève, toutes les transactions qui n'auront pas été validées, seront annulées, en appelant ingres_rollback(). Vous pouvez aussi utiliser ingres_autocommit() avant d'ouvrir une nouvelle transaction pour forcer la validation immédiate de toutes les requêtes. Ingres permet une seule requête sans buffer active à un moment donné. L'extension va fermer toute requête active avant d'exécuter une nouvelle requête SQL. De plus, vous ne pouvez pas utiliser ingres_result_seek() pour vous positionner à la ligne que vous souhaitez dans le résultat.

Note: Configurations associées
Voyez aussi les directives ingres.describe et ingres.utf8 dans les directives d'exécution.

Liste de paramètres

link

La ressource de connexion à Ingres

query

Une requête SQL valide (voyez le SQL reference guide) pour le serveur Ingres. Voyez la documentation du paramètre query la fonction ingres-query() pour une liste de requêtes SQL qui ne peuvent pas être exécutées via la fonction ingres_unbuffered_query().

Les données contenues dans la requête doivent être proprement échappées.

params

Un tableau de valeurs de paramètre à utiliser avec la requête

types

Une chaîne contenant une séquence de types pour les paramètres fournis à la requête. Voyez la documentation de la fonction ingres-query() pour obtenir la liste des types.

Valeurs de retour

ingres_unbuffered_query() retourne une ressource de résultats lorsqu'il y a des lignes à lire, et sinon, elle retourne FALSE s'il n'y a pas de lignes à lire, comme pour les requêtes INSERT, UPDATE et DELETE. Pour savoir s'il y a eu une erreur, utilisez l'une des fonctions ingres_errno(), ingres_error() ou ingres_errsqlstate().

Exemples

Exemple #1 Exécution d'une requête SQL sans buffer sur Ingres

<?php
$link = ingres_connect("demodb");

$result = ingres_unbuffered_query($link, "select * from user_profile");
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemple #2 Passage de paramètres de requêtes à ingres_unbuffered_query()

<?php
$link = ingres_connect("demodb");

$params[] = "Emma";
$query = "select * from user_profile where up_first = ?";
$result = ingres_unbuffered_query($link, $query, $params);
while ($row = ingres_fetch_row($result)) {
    echo $row[1];
    echo $row[2];
}
?>

Exemple #3 Insertion d'un BLOB dans les paramètres de requêtes SQL Ingres

<?php
$link = ingres_connect("demodb");

//Ouverture d'une photo
$fh = fopen("photo.jpg","r");
$blob_data = stream_get_contents($fh);
fclose($fh);

//Préparation des parametres
$params[] = $blob_data;
$params[] = 1201;

//Définition des types de paramètres
$param_types = "Bi";

$query = "update user_profile set up_image = ? where up_id = ?";
$result = ingres_unbuffered_query($link, $query , $params, $param_types);

if (ingres_errno())
{
    echo ingres_errno() . " : " . ingres_error() . "\n";
}
?>

Voir aussi

  • ingres_query() - Envoie une requête SQL à Ingres
  • ingres_fetch_array() - Récupère une ligne de résultat Ingres dans un tableau
  • ingres_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • ingres_fetch_object() - Récupère une ligne de résultat dans un objet
  • ingres_fetch_row() - Récupère une ligne de résultat dans un tableau énuméré
  • ingres_commit() - Valide une transaction
  • ingres_rollback() - Annule une transaction Ingres
  • ingres_autocommit() - Active ou désactive le mode autocommit
  • ingres_set_environment() - Configure les directives contrôlant les résultats Ingres
  • ingres_errno() - Récupère le dernier numéro d'erreur d'Ingres généré
  • ingres_error() - Lit le dernier message d'erreur Ingres

ingres_set_environment
MaxDB
Fonctions Ingres


MaxDB

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple global de l'extension MaxDB
  • Fonctions MaxDB
    • maxdb_affected_rows — Récupère le nombre de lignes affectées par la dernière opération MaxDB
    • maxdb_autocommit — Active ou désactive l'auto-commit des modifications de la base de données
    • maxdb_bind_param — Alias de maxdb_stmt_bind_param
    • maxdb_bind_result — Alias de maxdb_stmt_bind_result
    • maxdb_change_user — Modifie l'utilisateur de la connexion à la base de données spécifiée
    • maxdb_character_set_name — Retourne le jeu de caractères par défaut pour la connexion à la base de données
    • maxdb_client_encoding — Alias de maxdb_character_set_name
    • maxdb_close_long_data — Alias de maxdb_stmt_close_long_data
    • maxdb_close — Ferme une connexion à une base de données
    • maxdb_commit — Valide la transaction courante
    • maxdb_connect_errno — Retourne le code erreur du dernier appel à la connexion
    • maxdb_connect_error — Retourne une chaîne descriptive de la dernière erreur
    • maxdb_connect — Ouvre une nouvelle connexion sur un serveur MaxDB
    • maxdb_data_seek — Ajuste le pointeur de résultat sur une ligne arbitraire dans le résultat
    • maxdb_debug — Effectue des opérations de déboguage
    • maxdb_disable_reads_from_master — Désactive la lecture depuis le maître
    • maxdb_disable_rpl_parse — Désactive l'analyseur RPL
    • maxdb_dump_debug_info — Sauvegarde les informations de déboguage dans un log
    • maxdb_embedded_connect — Ouvre une connexion sur un serveur MaxDB embarqué
    • maxdb_enable_reads_from_master — Active la lecture depuis le maître
    • maxdb_enable_rpl_parse — Active l'analyseur RPL
    • maxdb_errno — Retourne le code erreur pour le dernier appel à une fonction
    • maxdb_error — Retourne une chaîne représentant la dernière erreur
    • maxdb_escape_string — Alias de maxdb_real_escape_string
    • maxdb_execute — Alias de maxdb_stmt_execute
    • maxdb_fetch_array — Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux
    • maxdb_fetch_assoc — Récupère une ligne de résultat dans un tableau associatif
    • maxdb_fetch_field_direct — Récupère les métadonnées pour un seul champ
    • maxdb_fetch_field — Retourne le prochain champs d'un jeu de résultats
    • maxdb_fetch_fields — Retourne un tableau de ressource représentant les champs dans un jeu de résultats
    • maxdb_fetch_lengths — Retourne la longueur des colonnes de la ligne courante dans un jeu de résultats
    • maxdb_fetch_object — Retourne la ligne courante d'un jeu de résultats dans un objet
    • maxdb_fetch_row — Récupère une ligne de résultat en tant que tableau énuméré
    • maxdb_fetch — Alias de maxdb_stmt_fetch
    • maxdb_field_count — Retourne le nombre de colonnes pour la dernière requête
    • maxdb_field_seek — Définit le pointeur de résultat à une position donnée
    • maxdb_field_tell — Récupère la position du champs courant pour un pointeur de résultat
    • maxdb_free_result — Libère la mémoire associée à un résultat
    • maxdb_get_client_info — Retourne la version du client MaxDB sous la forme d'une chaîne
    • maxdb_get_client_version — Récupère des informations sur le client MaxDB
    • maxdb_get_host_info — Retourne une chaîne représentant le type de de connexion utilisé
    • maxdb_get_metadata — Alias de maxdb_stmt_result_metadata
    • maxdb_get_proto_info — Retourne la version du protocole MaxDB utilisé
    • maxdb_get_server_info — Retourne la version du serveur MaxDB
    • maxdb_get_server_version — Retourne la version du serveur MaxDB sous la forme d'un entier
    • maxdb_info — Récupère des informations sur le dernière requête exécutée
    • maxdb_init — Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect
    • maxdb_insert_id — Retourne le dernier identifiant généré automatiquement par la dernière requête
    • maxdb_kill — Déconnecte un serveur MaxDB
    • maxdb_master_query — Force l'exécution d'une requête sur le maître
    • maxdb_more_results — Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes
    • maxdb_multi_query — Exécute une requête sur une base de données
    • maxdb_next_result — Prépare le prochain résultat depuis multi_query
    • maxdb_num_fields — Récupère le nombre de champs dans un résultat
    • maxdb_num_rows — Récupère le nombre de lignes dans un résultat
    • maxdb_options — Définie des options
    • maxdb_param_count — Alias de maxdb_stmt_param_count
    • maxdb_ping — Test une connexion à un serveur ou tente de se reconnecter si la connexion a été interrompue
    • maxdb_prepare — Prépare une requête SQL pour exécution
    • maxdb_query — Exécute une requête sur une base de données
    • maxdb_real_connect — Ouvre une connexion sur un serveur MaxDB
    • maxdb_real_escape_string — Protège les caractères spéciaux d'une chaîne afin de l'utiliser dans une requête SQL, en tenant compte du jeu de caractères courant de la connexion
    • maxdb_real_query — Exécute une requête SQL
    • maxdb_report — Active ou désactive le rapport interne des fonctions
    • maxdb_rollback — Annule la transaction courante
    • maxdb_rpl_parse_enabled — Vérifie si l'analyseur RPL est activé
    • maxdb_rpl_probe — Test RPL
    • maxdb_rpl_query_type — Retourne une requête de type RPL
    • maxdb_select_db — Sélectionne une base de données pour les requêtes
    • maxdb_send_long_data — Alias de maxdb_stmt_send_long_data
    • maxdb_send_query — Envoie une requête et retourne
    • maxdb_server_end — Éteint un serveur embarqué
    • maxdb_server_init — Initialise un serveur embarqué
    • maxdb_set_opt — Alias de maxdb_options
    • maxdb_sqlstate — Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB
    • maxdb_ssl_set — Utilisé pour établir une connexion sécurisée utilisant SSL
    • maxdb_stat — Récupère le statut courant du système
    • maxdb_stmt_affected_rows — Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête
    • maxdb_stmt_bind_param — Lie les variables à une requête préparée en tant que paramètres
    • maxdb_stmt_bind_result — Lie les variables à une requête préparée pour stockage du résultat
    • maxdb_stmt_close_long_data — Termine une séquence maxdb_stmt_send_long_data
    • maxdb_stmt_close — Ferme une requête préparée
    • maxdb_stmt_data_seek — Se positionne sur une ligne arbitraire dans le jeu de résultats
    • maxdb_stmt_errno — Retourne le code erreur pour le dernier appel à une fonction de requête
    • maxdb_stmt_error — Retourne une description de la dernière erreur
    • maxdb_stmt_execute — Exécute une requête préparée
    • maxdb_stmt_fetch — Récupère les résultats depuis la requête préparée dans les variables liées
    • maxdb_stmt_free_result — Libère la mémoire des résultats stockés pour un gestionnaire de requête donné
    • maxdb_stmt_init — Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare
    • maxdb_stmt_num_rows — Retourne le nombre de lignes dans le jeu de résultats
    • maxdb_stmt_param_count — Retourne le nombre de marqueurs pour une requête donnée
    • maxdb_stmt_prepare — Prépare une requête SQL pour exécution
    • maxdb_stmt_reset — Réinitialise une requête préparée
    • maxdb_stmt_result_metadata — Retourne les métadonnées du jeu de résultats pour une requête préparée
    • maxdb_stmt_send_long_data — Envoie un bloc de données
    • maxdb_stmt_sqlstate — Retourne une erreur SQLSTATE depuis la requête précédente
    • maxdb_stmt_store_result — Transfert un jeu de résultats depuis une requête préparée
    • maxdb_store_result — Transfert un jeu de résultats depuis la dernière requête
    • maxdb_thread_id — Retourne l'identifiant du thread pour la connexion courante
    • maxdb_thread_safe — Indique si le thread safety est donné ou non
    • maxdb_use_result — Initialise un jeu de résultats
    • maxdb_warning_count — Retourne le nombre d'avertissements depuis la dernière requête pour un lien donné
ingres_unbuffered_query
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

L'extension MaxDB de PHP vous permet d'accéder aux fonctionnalités fournies par MaxDB 7.5.0 et suivant. Plus d'informations sur le serveur de base de données MaxDB peuvent être trouvées sur » http://www.sdn.sap.com/irj/sdn/maxdb.

L'extension MaxDB est compatible avec l'extension mysqli de MySQL. Il y a simplement des différences mineurs dans le comportement de certaines fonctions, liées au comportement des bibliothèques sous- jacentes.

Les différences notables par rapport à MySQLi sont :

  • maxdb_character_set_name() : retourne uniquement de l'ASCII ou unicode.
  • maxdb_get_client_info() : retourne une chaîne de version différente.
  • maxdb_get_client_version() : retourne une chaîne de version différente.
  • maxdb_get_host_info() : retourne localhost ou le nom de l'hôte.
  • maxdb_get_server_info() : retourne une chaîne de version différente.
  • maxdb_get_server_version() : retourne une chaîne de version différente.
  • maxdb_kill() : déconnecte uniquement la session.
  • maxdb_multi_query() : ne peut pas gérer les requêtes multiples SQL.
  • maxdb_next_result() : la fonction retourne toujours FALSE.
  • maxdb_options() : supporte un jeu d'options différentes.
  • maxdb_report() : supporte un mode de rapport différent.
  • maxdb_stat() : retourne une chaîne de statut système différente.
  • maxdb_stmt_store_result() : n'est pas nécessaire pour MaxDB.
  • maxdb_store_result() : n'est pas nécessaire pour MaxDB.

La documentation pour MaxDB peut être trouvée sur » http://maxdb.sap.com/documentation/.

MaxDB
Installation/Configuration
MaxDB


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
MaxDB


Pré-requis

Pour pouvoir utiliser ces fonctions, vous devez compiler PHP avec le support MaxDB. De plus, vous devez avoir de disponible la bibliothèque MaxDB SQLDBC pour accéder au serveur MaxDB.

La documentation sur MaxDB SQLDBC peut être trouvée sur » http://maxdb.sap.com/documentation/.

Téléchargez le paquet MaxDB SQLDBC sur » http://www.sdn.sap.com/irj/sdn/maxdb-downloads.

Installation/Configuration
Installation
Installation/Configuration


Installation

En utilisant l'option de configuration --with-maxdb[=DIR], vous permettez à PHP d'accéder à une base de données MaxDB. [DIR] pointe vers le dossier contenant le paquet d'installation MaxDB SQLDBC.

Les utilisateurs de Windows doivent activer la bibliothèque php_maxdb.dll dans le php.ini.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration maxdb
Nom | Défaut | Modifiable | Historique
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

maxdb.default_host string

L'hôte par défaut à utiliser lors de la connexion au serveur de base de données si aucun hôte n'est spécifié.

maxdb.default_db string

La base de données par défaut à utiliser lors de la connexion si aucun autre base de données n'est spécifié.

maxdb.default_user string

Le nom d'utilisateur par défaut à utiliser lors de la connexion au serveur de base de données si aucun autre nom n'est spécifié.

maxdb.default_pw string

Le mot de passe par défaut à utiliser lorsqu'un utilisateur se connecte à un serveur sans spécifier de mot de passe.

maxdb.long_readlen integer

La longueur maximale d'octets par défaut qui sont transférés au client si un gros volume de données est récupéré depuis un serveur de base de données MaxDB.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit des ressources.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes suivantes à utiliser avec maxdb_options() sont définies. Pour plus de descriptions sur ces constantes, lisez » http://maxdb.sap.com/documentation/.

Constantes clientes PHP MaxDB
Constante | Description
MAXDB_COMPNAME | Le nom du composant utilisé pour initialiser l'environnement d'exécution SQLDBC.
MAXDB_APPLICATION | L'application à connecter à la base de données.
MAXDB_APPVERSION | La version de l'application.
MAXDB_SQLMODE | Le mode SQL.
MAXDB_UNICODE | TRUE, si la connexion est un client unicode (UCS2) ou FALSE sinon.
MAXDB_TIMEOUT | Le délai maximal d'inactivité après lequel la connexion à la base de données est close par le système.
MAXDB_ISOLATIONLEVEL | Spécifie si oui ou non et comment les verrous partagés ainsi que les verrous exclusifs sont implicitement demandés ou libérés.
MAXDB_PACKETCOUNT | Le nombre de paquets de requêtes différents utilisé pour la connexion.
MAXDB_STATEMENTCACHESIZE | Le nombre de requêtes préparées à être mises en cache pour la connexion pour être réutilisées.
MAXDB_CURSORPREFIX | Le préfixe à utiliser pour la table de résultats qui sont automatiquement nommées.

La fonction maxdb_fetch_array() utilise une constante pour les différents types de tableaux de résultats. Les constantes suivantes sont définies :

MaxDB fetch constants
Constante | Description
MAXDB_ASSOC | Les colonnes sont retournées dans un tableau ayant comme index les noms des champs.
MAXDB_ASSOC_UPPER | Les colonnes sont retournées dans un tableau ayant comme index les noms des champs en majuscule.
MAXDB_ASSOC_LOWER | Les colonnes sont retournées dans un tableau ayant comme index les noms des champs en minuscule.
MAXDB_BOTH | Les colonnes sont retournées dans un tableau ayant des index numériques ainsi que les noms des champs en tant qu'index.
MAXDB_NUM | Les colonnes sont retournées dans un tableau ayant un index numérique correspondant à un champs. Cet index commence à 0, le premier champs du jeu de résultats.

Types de ressources
Exemples
MaxDB


Exemples

Sommaire

  • Exemple global de l'extension MaxDB
Constantes pré-définies
Exemple global de l'extension MaxDB
MaxDB


Exemple global de l'extension MaxDB

Exemples
Fonctions MaxDB
Exemples
PHP Manual

Tous les exemples dans la documentation PHP de MaxDB utilise la base de données de démonstration HETOLDB depuis MaxDB. Plus d'informations concernant cette base de données peuvent être trouvées sur » http://maxdb.sap.com/doc/7_7/44/d8c25164bb38d0e10000000a1553f7/content.htm.

Pour utiliser les exemples dans la documentation PHP MaxDB, vous devez télécharger les données du tutorial dans votre base de données. Ensuite, vous devez définir maxdb.default_db dans votre php.ini à la valeur de votre base de données contenant les données du tutorial.

Cet exemple simple montre comment se connecter, exécuter une requête, afficher les lignes résultants et se déconnecter de la base de données MaxDB.

Exemple #1 Exemple global de l'extension MaxDB

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
   printf("Échec de la connexion : %s\n", maxdb_connect_error());
   exit();
}

/* Exécution de la requête SQL */
$query = "SELECT * FROM hotel.city";
$result = maxdb_query($link, $query) or die("Échec de la requête : " . maxdb_error());

/* Affichage des resultats en HTML */
echo "<table>\n";
while ($line = maxdb_fetch_array($result, MAXDB_ASSOC)) {
    echo "  <tr>\n";
    foreach ($line as $col_value) {
        echo "    <td>$col_value</td>\n";
    }
    echo "  </tr>\n";
}
echo "</table>\n";

/* Libération du résultat */
maxdb_free_result($result);

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple suivant montre comment l'on lie des variables à des requêtes SELECT INTO.

Exemple #2 Exemple d'utilisation des requêtes SELECT INTO

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
   printf("Échec de la connexion : %s\n", maxdb_connect_error());
   exit();
}

/* Exécution de la requête SQL */
$stmt = maxdb_prepare ($link, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$stmt) {
  printf ("Échec de la préparation : %s\n", maxdb_error($link));
}

$name = "Mbundu";

maxdb_stmt_bind_param($stmt, 'ds', $percentage, $name);
maxdb_stmt_execute($stmt);

printf ("%f\n", $percentage);

maxdb_stmt_close ($stmt);
?>

L'exemple suivant montre comment utiliser les procédures avec les bases de données MaxDB.

Exemple #3 Exemple d'utilisation des procédures

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
   printf("Échec de la connexion : %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Exécution de la requête SQL */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Échec de la préparation : %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

Exemples
Fonctions MaxDB
Exemples


Exemple global de l'extension MaxDB
maxdb_affected_rows
MaxDB
PHP Manual

Fonctions MaxDB

Classes pré-définies

maxdb

Représente une connexion entre PHP et une base MaxDB.

Constructeur

  • maxdb : constructeur

Méthodes

  • autocommit : active ou pas l'autoarchivage

  • change_user : change l'utilisateur de la base de données

  • character_set_name : retourne le jeu de caractères par défaut de la connexion

  • close : ferme une connexion ouverte

  • commit : valide la transaction courante

  • connect : ouvre une nouvelle connexion

  • debug : effectue des opérations de déboguage

  • dump_debug_info : affiche des informations de déboguage

  • get_client_info : retourne la version du client

  • get_host_info : retourne le type de connexion

  • get_server_info : retourne les informations sur le serveur maxDB

  • get_server_version : retourne la version du serveur

  • init : initialise un objet maxdb

  • info : lit les informations sur la dernière requête exécutée

  • kill : tente de terminer un thread MaxDB

  • multi_query : effectue une commande multiple

  • more_results : vérifie si d'autres résultats existent dans la commande multiple courante

  • next_result : lit le prochain résultat de la commande multiple courante

  • options : configure les options

  • ping : teste le serveur avec un ping et se reconnecte si besoin

  • prepare : prépare une requête SQL

  • query : exécute une requête

  • real_connect : ouvre une connexion au serveur MaxDB

  • escape_string : protège les caractères spéciaux dans une chaîne pour l'utiliser dans une requête, en tenant compte du jeu de caractères courant

  • rollback : annule la transaction courante

  • select_db : sélectionne la base de données par défaut

  • ssl_set : configure les paramètres ssl

  • stat : lit le statut courant du système

  • stmt_init : initialise une commande à utiliser avec maxdb_stmt_prepare

  • store_result : transfert un résultat de la dernière requête

  • use_result : transfert un résultat non bufferisé de la dernière requête

  • thread-safe : indique si la sécurité thread est active ou pas

Propriétés

  • affected_rows : lit le nombre de lignes affectées par la dernière opération MaxDB

  • client_info : retourne la version du client MaxDB sous forme de chaîne

  • client_version : retourne la version du client MaxDB sous forme d'entier

  • errno : retourne le code d'erreur du dernier appel de fonction

  • error : retourne le message d'erreur de la plus récente fonction

  • field_count : retourne le nombre de colonne de la dernière requête

  • host_info : retourne une chaîne représentant le type de connexion

  • info : lit les informations sur la dernière requête exécutée

  • insert-id : retourne l'identifiant autogénéré par la dernière requête

  • protocol_version : retourne la version du protocole MaxDB utilisé

  • sqlstate : retourne une chaîne représentant le code d'erreur SQLSTATE

  • thread_id : retourne l'identifiant du thread de la connexion courante

  • warning-count : retourne le nombre d'alertes générées durant la dernière commande SQL

maxdb_stmt

Représente une commande préparée.

Méthodes

  • bind_param : lie les variables à la commande préparée

  • bind_result : lie les variables à la commande préparée, pour stockage des résultats

  • close : détruit la commande préparée

  • data-seek : place le pointeur à une position arbitraire du résultat

  • execute : exécute une commande préparée

  • fetch : lit les résultats de la commande préparée dans les variables liées

  • free_result : libère les ressources de la mémoire

  • result_metadata : lit les métadonnées d'un résultat de commande préparée

  • prepare : prépare une commande préparée

  • send_long_data : envoie les données par paquet

  • close_long_data : termine l'envoi de grandes données

  • reset : remet à zéro une commande préparée

  • store_result : stocke tout le résultat d'une commande préparée

Propriétés

  • affected_rows : retourne le nombre de lignes affectées par la dernière commande préparée

  • errno : retourne le code d'erreur de la dernière commande préparée

  • errno : retourne le message d'erreur de la dernière commande préparée

  • param_count : retourne le nombre de paramètres pour une commande préparée

  • sqlstate : retourne une chaîne contenant le code d'erreur SQLSTATE

maxdb_result

Représente le jeu de résultat obtenu après exécution d'une requête.

Méthodes

  • close : détruit le jeu de résultat

  • data_seek : déplace le pointeur de ligne

  • fetch_field : lit les informations de colonnes d'un résultat

  • fetch_fields : lit les informations de toutes les colonnes d'un résultat

  • fetch_field_direct : lit les informations sur une colonne spécifique

  • fetch_array : lit la ligne de résultat sous forme de tableau associatif, numérique ou les deux.

  • fetch_assoc : lit une ligne sous forme de tableau associatif

  • fetch_object : lit un résultat sous forme d'objet

  • fetch_row : lit un résultat sous forme de tableau énuméré

  • close : libère les ressources

  • field_seek : place le pointeur à une position donnée

Propriétés

  • current_field : retourne le pointeur courant

  • field_count : retourne le nombre de champs dans le résultat

  • lengths : retourne un tableau avec les tailles des colonnes

  • num_rows : retourne le nombre de ligne du résultat

Sommaire

  • maxdb_affected_rows — Récupère le nombre de lignes affectées par la dernière opération MaxDB
  • maxdb_autocommit — Active ou désactive l'auto-commit des modifications de la base de données
  • maxdb_bind_param — Alias de maxdb_stmt_bind_param
  • maxdb_bind_result — Alias de maxdb_stmt_bind_result
  • maxdb_change_user — Modifie l'utilisateur de la connexion à la base de données spécifiée
  • maxdb_character_set_name — Retourne le jeu de caractères par défaut pour la connexion à la base de données
  • maxdb_client_encoding — Alias de maxdb_character_set_name
  • maxdb_close_long_data — Alias de maxdb_stmt_close_long_data
  • maxdb_close — Ferme une connexion à une base de données
  • maxdb_commit — Valide la transaction courante
  • maxdb_connect_errno — Retourne le code erreur du dernier appel à la connexion
  • maxdb_connect_error — Retourne une chaîne descriptive de la dernière erreur
  • maxdb_connect — Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_data_seek — Ajuste le pointeur de résultat sur une ligne arbitraire dans le résultat
  • maxdb_debug — Effectue des opérations de déboguage
  • maxdb_disable_reads_from_master — Désactive la lecture depuis le maître
  • maxdb_disable_rpl_parse — Désactive l'analyseur RPL
  • maxdb_dump_debug_info — Sauvegarde les informations de déboguage dans un log
  • maxdb_embedded_connect — Ouvre une connexion sur un serveur MaxDB embarqué
  • maxdb_enable_reads_from_master — Active la lecture depuis le maître
  • maxdb_enable_rpl_parse — Active l'analyseur RPL
  • maxdb_errno — Retourne le code erreur pour le dernier appel à une fonction
  • maxdb_error — Retourne une chaîne représentant la dernière erreur
  • maxdb_escape_string — Alias de maxdb_real_escape_string
  • maxdb_execute — Alias de maxdb_stmt_execute
  • maxdb_fetch_array — Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux
  • maxdb_fetch_assoc — Récupère une ligne de résultat dans un tableau associatif
  • maxdb_fetch_field_direct — Récupère les métadonnées pour un seul champ
  • maxdb_fetch_field — Retourne le prochain champs d'un jeu de résultats
  • maxdb_fetch_fields — Retourne un tableau de ressource représentant les champs dans un jeu de résultats
  • maxdb_fetch_lengths — Retourne la longueur des colonnes de la ligne courante dans un jeu de résultats
  • maxdb_fetch_object — Retourne la ligne courante d'un jeu de résultats dans un objet
  • maxdb_fetch_row — Récupère une ligne de résultat en tant que tableau énuméré
  • maxdb_fetch — Alias de maxdb_stmt_fetch
  • maxdb_field_count — Retourne le nombre de colonnes pour la dernière requête
  • maxdb_field_seek — Définit le pointeur de résultat à une position donnée
  • maxdb_field_tell — Récupère la position du champs courant pour un pointeur de résultat
  • maxdb_free_result — Libère la mémoire associée à un résultat
  • maxdb_get_client_info — Retourne la version du client MaxDB sous la forme d'une chaîne
  • maxdb_get_client_version — Récupère des informations sur le client MaxDB
  • maxdb_get_host_info — Retourne une chaîne représentant le type de de connexion utilisé
  • maxdb_get_metadata — Alias de maxdb_stmt_result_metadata
  • maxdb_get_proto_info — Retourne la version du protocole MaxDB utilisé
  • maxdb_get_server_info — Retourne la version du serveur MaxDB
  • maxdb_get_server_version — Retourne la version du serveur MaxDB sous la forme d'un entier
  • maxdb_info — Récupère des informations sur le dernière requête exécutée
  • maxdb_init — Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect
  • maxdb_insert_id — Retourne le dernier identifiant généré automatiquement par la dernière requête
  • maxdb_kill — Déconnecte un serveur MaxDB
  • maxdb_master_query — Force l'exécution d'une requête sur le maître
  • maxdb_more_results — Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes
  • maxdb_multi_query — Exécute une requête sur une base de données
  • maxdb_next_result — Prépare le prochain résultat depuis multi_query
  • maxdb_num_fields — Récupère le nombre de champs dans un résultat
  • maxdb_num_rows — Récupère le nombre de lignes dans un résultat
  • maxdb_options — Définie des options
  • maxdb_param_count — Alias de maxdb_stmt_param_count
  • maxdb_ping — Test une connexion à un serveur ou tente de se reconnecter si la connexion a été interrompue
  • maxdb_prepare — Prépare une requête SQL pour exécution
  • maxdb_query — Exécute une requête sur une base de données
  • maxdb_real_connect — Ouvre une connexion sur un serveur MaxDB
  • maxdb_real_escape_string — Protège les caractères spéciaux d'une chaîne afin de l'utiliser dans une requête SQL, en tenant compte du jeu de caractères courant de la connexion
  • maxdb_real_query — Exécute une requête SQL
  • maxdb_report — Active ou désactive le rapport interne des fonctions
  • maxdb_rollback — Annule la transaction courante
  • maxdb_rpl_parse_enabled — Vérifie si l'analyseur RPL est activé
  • maxdb_rpl_probe — Test RPL
  • maxdb_rpl_query_type — Retourne une requête de type RPL
  • maxdb_select_db — Sélectionne une base de données pour les requêtes
  • maxdb_send_long_data — Alias de maxdb_stmt_send_long_data
  • maxdb_send_query — Envoie une requête et retourne
  • maxdb_server_end — Éteint un serveur embarqué
  • maxdb_server_init — Initialise un serveur embarqué
  • maxdb_set_opt — Alias de maxdb_options
  • maxdb_sqlstate — Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB
  • maxdb_ssl_set — Utilisé pour établir une connexion sécurisée utilisant SSL
  • maxdb_stat — Récupère le statut courant du système
  • maxdb_stmt_affected_rows — Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête
  • maxdb_stmt_bind_param — Lie les variables à une requête préparée en tant que paramètres
  • maxdb_stmt_bind_result — Lie les variables à une requête préparée pour stockage du résultat
  • maxdb_stmt_close_long_data — Termine une séquence maxdb_stmt_send_long_data
  • maxdb_stmt_close — Ferme une requête préparée
  • maxdb_stmt_data_seek — Se positionne sur une ligne arbitraire dans le jeu de résultats
  • maxdb_stmt_errno — Retourne le code erreur pour le dernier appel à une fonction de requête
  • maxdb_stmt_error — Retourne une description de la dernière erreur
  • maxdb_stmt_execute — Exécute une requête préparée
  • maxdb_stmt_fetch — Récupère les résultats depuis la requête préparée dans les variables liées
  • maxdb_stmt_free_result — Libère la mémoire des résultats stockés pour un gestionnaire de requête donné
  • maxdb_stmt_init — Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare
  • maxdb_stmt_num_rows — Retourne le nombre de lignes dans le jeu de résultats
  • maxdb_stmt_param_count — Retourne le nombre de marqueurs pour une requête donnée
  • maxdb_stmt_prepare — Prépare une requête SQL pour exécution
  • maxdb_stmt_reset — Réinitialise une requête préparée
  • maxdb_stmt_result_metadata — Retourne les métadonnées du jeu de résultats pour une requête préparée
  • maxdb_stmt_send_long_data — Envoie un bloc de données
  • maxdb_stmt_sqlstate — Retourne une erreur SQLSTATE depuis la requête précédente
  • maxdb_stmt_store_result — Transfert un jeu de résultats depuis une requête préparée
  • maxdb_store_result — Transfert un jeu de résultats depuis la dernière requête
  • maxdb_thread_id — Retourne l'identifiant du thread pour la connexion courante
  • maxdb_thread_safe — Indique si le thread safety est donné ou non
  • maxdb_use_result — Initialise un jeu de résultats
  • maxdb_warning_count — Retourne le nombre d'avertissements depuis la dernière requête pour un lien donné
Exemple global de l'extension MaxDB
maxdb_affected_rows
MaxDB
PHP Manual


Récupère le nombre de lignes affectées par la dernière opération MaxDB

Fonctions MaxDB
maxdb_autocommit
Fonctions MaxDB
PHP Manual

maxdb_affected_rows

maxdb->affected_rows

(PECL maxdb >= 1.0)

maxdb_affected_rows -- maxdb->affected_rows — Récupère le nombre de lignes affectées par la dernière opération MaxDB

Description

Style procédural

int maxdb_affected_rows ( resource $link )

Style orienté objet

maxdb
int $affected_rows;

Retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE associée avec le paramètre link fourni. Si ce nombre ne peut pas être déterminé, cette fonction retournera -1.

Note: Pour les requêtes SELECT, maxdb_affected_rows() fonctionne comme la fonction maxdb_num_rows().

La fonction maxdb_affected_rows() ne fonctionne qu'avec les requêtes qui modifient une table. Pour récupérer le nombre de lignes depuis une requête SELECT, utilisez plutôt la fonction maxdb_num_rows().

Valeurs de retour

Un entier plus grand que 0 indique le nombre de lignes affectées ou récupérées. Zéro indique qu'aucune ligne n'a été mise à jour pour une requête de type SELECT, qu'aucun ligne ne correspond à une clause WHERE dans une requête ou bien qu'aucune requête n'a été exécutée. -1 indique que le nombre de lignes affectées n'a pû être déterminé.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insertion de lignes */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);

$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");

/* Mise à jour de lignes */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);

/* Effacement de lignes */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);

/* Sélection de toutes les lignes */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);

$result->close();

/* Effacement de la table Language */
$maxdb->query("DROP TABLE mycustomer");

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
    printf("Impossible de se connecter à localhost. Erreur : %s\n", maxdb_connect_error());
    exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insertion de lignes */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Nombres de lignes affectées (INSERT): %d\n", maxdb_affected_rows($link));

maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");

/* Mise à jour de lignes */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Nombres de lignes affectées (UPDATE): %d\n", maxdb_affected_rows($link));

/* Effacement de lignes */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Nombres de lignes affectées (DELETE): %d\n", maxdb_affected_rows($link));

/* Sélectionne toutes les lignes */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Nombres de lignes affectées (SELECT): %d\n", maxdb_affected_rows($link));

maxdb_free_result($result);

/* Effacement d'une table */
maxdb_query($link, "DROP TABLE mycustomer");

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affected rows (INSERT): 15
Affected rows (UPDATE): 15
Affected rows (DELETE): 0
Affected rows (SELECT): 15

Voir aussi

  • maxdb_num_rows() - Récupère le nombre de lignes dans un résultat
  • maxdb_info() - Récupère des informations sur le dernière requête exécutée

Fonctions MaxDB
maxdb_autocommit
Fonctions MaxDB


Active ou désactive l'auto-commit des modifications de la base de données

maxdb_affected_rows
maxdb_bind_param
Fonctions MaxDB
PHP Manual

maxdb_autocommit

maxdb::auto_commit

(PECL maxdb >= 1.0)

maxdb_autocommit -- maxdb::auto_commit — Active ou désactive l'auto-commit des modifications de la base de données

Description

Style procédural

bool maxdb_autocommit ( resource $link , bool $mode )

Style orienté objet

bool maxdb::auto_commit ( bool $mode )

maxdb_autocommit() est utilisé pour activer ou désactiver le mode auto-commit sur les requêtes pour la connexion à la base de données représentée par la ressource link.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Activation de l'auto-commit */
$maxdb->autocommit(TRUE);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
    printf("Impossible de se connecter à localhost. Erreur : %s\n", maxdb_connect_error());
    exit();
}

/* Active l'auto-commit */
maxdb_autocommit($link, TRUE);

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Voir aussi

  • maxdb_commit() - Valide la transaction courante
  • maxdb_rollback() - Annule la transaction courante

maxdb_affected_rows
maxdb_bind_param
Fonctions MaxDB


Alias de maxdb_stmt_bind_param

maxdb_autocommit
maxdb_bind_result
Fonctions MaxDB
PHP Manual

maxdb_bind_param

(PECL maxdb 1.0)

maxdb_bind_param — Alias de maxdb_stmt_bind_param()

Description

Cette fonction est un alias de : maxdb_stmt_bind_param()

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_autocommit
maxdb_bind_result
Fonctions MaxDB


Alias de maxdb_stmt_bind_result

maxdb_bind_param
maxdb_change_user
Fonctions MaxDB
PHP Manual

maxdb_bind_result

(PECL maxdb 1.0)

maxdb_bind_result — Alias de maxdb_stmt_bind_result()

Description

Cette fonction est un alias de : maxdb_stmt_bind_result().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_bind_param
maxdb_change_user
Fonctions MaxDB


Modifie l'utilisateur de la connexion à la base de données spécifiée

maxdb_bind_result
maxdb_character_set_name
Fonctions MaxDB
PHP Manual

maxdb_change_user

maxdb::change_user

(PECL maxdb >= 1.0)

maxdb_change_user -- maxdb::change_user — Modifie l'utilisateur de la connexion à la base de données spécifiée

Description

Style procédural

bool maxdb_change_user ( resource $link , string $user , string $password , string $database )

Style orienté objet

bool maxdb::change_user ( string $user , string $password , string $database )

maxdb_change_user() est utilisé pour modifier l'utilisateur de la connexion à la base de données spécifiée par le paramètre link et pour définir la base de données courant à celle spécifiée par le paramètre database.

Pour modifier avec succès un utilisateur, les paramètres username et password doivent être fournis et cet utilisateur doit avoir des permissions suffisantes pour accéder à la base de données désirées. Si pour une raison quelconque l'identification échoue, l'utilisateur courant sera conservé.

Note: L'utilisation de cette commande fera que la connexion courante à la base de données sera renouvelée, comme si l'on avait fait une nouvelle connexion, indépendamment du succès de l'opération. Cette réinitialisation effectue une annulation sur toutes les transactions actives, ferme toutes les tables temporaires et déverrouille toutes les tables verrouillées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php

/* Connexion à la base de données */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($result = $maxdb->query("SELECT * FROM dual")) {
    $row = $result->fetch_row();
    printf("Résultat : %s\n", $row[0]);
    $result->free();
}

/* Réinitialisation et sélection d'une nouvelle base de données */
if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
    printf("La base de données ne fonctionne pas.\n");
} else {
    printf("La base de données fonctionne.\n");
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($result = maxdb_query($link, "SELECT * FROM dual")) {
    $row = maxdb_fetch_row($result);
    printf("Résultat : %s\n", $row[0]);
    maxdb_free_result($result);
}

/* réinitialisation de tout et sélection d'une nouvelle base de données */
if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
    printf("La base de données ne fonctionne pas.\n");
} else {
    printf("La base de données fonctionne.\n");
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Résultat : a
La base de données fonctionne.

Voir aussi

  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_select_db() - Sélectionne une base de données pour les requêtes

maxdb_bind_result
maxdb_character_set_name
Fonctions MaxDB


Retourne le jeu de caractères par défaut pour la connexion à la base de données

maxdb_change_user
maxdb_client_encoding
Fonctions MaxDB
PHP Manual

maxdb_character_set_name

maxdb::character_set_name

(PECL maxdb >= 1.0)

maxdb_character_set_name -- maxdb::character_set_name — Retourne le jeu de caractères par défaut pour la connexion à la base de données

Description

Style procédural

string maxdb_character_set_name ( resource $link )

Style orienté objet

string maxdb::character_set_name ( void )

Retourne le jeu de caractères courant défini pour la connexion à la base de données spécifiée par le paramètre link.

Valeurs de retour

Le jeu de caractères par défaut défini pour la connexion courante, soit ascii, soit unicode.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouverture d'une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affichage du jeu de caractères courant */
$charset = $maxdb->character_set_name();
printf ("Le jeu de caractères courant est %s\n", $charset);

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche le jeu de caractères courant */
$charset = maxdb_character_set_name($link);
printf ("Le jeu de caractères courant est %s\n",$charset);

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le jeu de caractères courant est ascii

Voir aussi

  • maxdb_client_encoding() - Alias de maxdb_character_set_name
  • maxdb_real_escape_string() - Protège les caractères spéciaux d'une chaîne afin de l'utiliser dans une requête SQL, en tenant compte du jeu de caractères courant de la connexion

maxdb_change_user
maxdb_client_encoding
Fonctions MaxDB


Alias de maxdb_character_set_name

maxdb_character_set_name
maxdb_close_long_data
Fonctions MaxDB
PHP Manual

maxdb_client_encoding

(PECL maxdb 1.0)

maxdb_client_encoding — Alias de maxdb_character_set_name()

Description

Cette fonction est un alias de : maxdb_character_set_name().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_character_set_name
maxdb_close_long_data
Fonctions MaxDB


Alias de maxdb_stmt_close_long_data

maxdb_client_encoding
maxdb_close
Fonctions MaxDB
PHP Manual

maxdb_close_long_data

maxdb->close_long_data

(PECL maxdb >= 1.0)

maxdb_close_long_data -- maxdb->close_long_data — Alias de maxdb_stmt_close_long_data()

Description

Cette fonction est un alias de : maxdb_stmt_close_long_data().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_client_encoding
maxdb_close
Fonctions MaxDB


Ferme une connexion à une base de données

maxdb_close_long_data
maxdb_commit
Fonctions MaxDB
PHP Manual

maxdb_close

maxdb::close

(PECL maxdb >= 1.0)

maxdb_close -- maxdb::close — Ferme une connexion à une base de données

Description

Style procédural

bool maxdb_close ( resource $link )

Style orienté objet

bool maxdb::close ( void )

maxdb_close() ferme une connexion à une base de données spécifiée par le paramètre link.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_init() - Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect
  • maxdb_real_connect() - Ouvre une connexion sur un serveur MaxDB

maxdb_close_long_data
maxdb_commit
Fonctions MaxDB


Valide la transaction courante

maxdb_close
maxdb_connect_errno
Fonctions MaxDB
PHP Manual

maxdb_commit

maxdb::commit

(PECL maxdb >= 1.0)

maxdb_commit -- maxdb::commit — Valide la transaction courante

Description

Style procédural

bool maxdb_commit ( resource $link )

Style orienté objet

bool maxdb::commit ( void )

maxdb_commit() valide la transaction courante pour la connexion à la base de données spécifiée par le paramètre link.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Désactivation de l'auto-commit */
$maxdb->autocommit(FALSE);

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycustomer LIKE hotel.customer");

/* Insertion de quelques valeurs */
$maxdb->query("INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
$maxdb->query("INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* Valide la transaction */
$maxdb->commit();

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Connect failed: %s\n", maxdb_connect_error());
    exit();
}

/* Désactive l'auto-commit */
maxdb_autocommit($link, FALSE);

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycustomer LIKE hotel.customer");

/* Insertion de quelques lignes */
maxdb_query($link, "INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
maxdb_query($link, "INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* Valide la transaction */
maxdb_commit($link);

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus ne produit aucun affichage.

Voir aussi

  • maxdb_autocommit() - Active ou désactive l'auto-commit des modifications de la base de données
  • maxdb_rollback() - Annule la transaction courante

maxdb_close
maxdb_connect_errno
Fonctions MaxDB


Retourne le code erreur du dernier appel à la connexion

maxdb_commit
maxdb_connect_error
Fonctions MaxDB
PHP Manual

maxdb_connect_errno

(PECL maxdb >= 1.0)

maxdb_connect_errno — Retourne le code erreur du dernier appel à la connexion

Description

int maxdb_connect_errno ( void )

maxdb_connect_errno() retourne le dernier code erreur du dernier appel à maxdb_connect(). Si aucune erreur n'est survenue, cette fonction retournera zéro.

Valeurs de retour

Un code erreur pour le dernier appel à maxdb_connect(), si elle a échouée. Zéro signifie qu'aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec maxdb_connect_errno()

<?php
$link = maxdb_connect("localhost", "XXXXXXXX", "YYYYYYYYY");

if (!$link) {
    printf("Impossible de se connecter à locahost. Code erreur : %d\n", maxdb_connect_errno());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination [08004] <...>
Impossible de se connecter à locahost. Code erreur : -4008

Voir aussi

  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_connect_error() - Retourne une chaîne descriptive de la dernière erreur
  • maxdb_errno() - Retourne le code erreur pour le dernier appel à une fonction
  • maxdb_error() - Retourne une chaîne représentant la dernière erreur
  • maxdb_sqlstate() - Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

maxdb_commit
maxdb_connect_error
Fonctions MaxDB


Retourne une chaîne descriptive de la dernière erreur

maxdb_connect_errno
maxdb_connect
Fonctions MaxDB
PHP Manual

maxdb_connect_error

(PECL maxdb >= 1.0)

maxdb_connect_error — Retourne une chaîne descriptive de la dernière erreur

Description

string maxdb_connect_error ( void )

maxdb_connect_error() est identique à la fonction maxdb_connect_errno(), excepté qu'au lieu de retourner un code erreur, maxdb_connect_error() retourne une chaîne représentative de la dernière erreur survenue lors du dernier appel à maxdb_connect(). Si aucune erreur n'est survenue, cette fonction retournera une chaîne vide.

Valeurs de retour

Une chaîne décrivant l'erreur. Une chaîne vide si aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec maxdb_connect_error()

<?php

$link = maxdb_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Impossible de se connecter à localhost. Erreur : %s\n", maxdb_connect_error());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination <...>
Impossible de se connecter à localhost. Erreur : POS(1) Unknown user name/password combination

Voir aussi

  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_connect_errno() - Retourne le code erreur du dernier appel à la connexion
  • maxdb_errno() - Retourne le code erreur pour le dernier appel à une fonction
  • maxdb_error() - Retourne une chaîne représentant la dernière erreur
  • maxdb_sqlstate() - Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

maxdb_connect_errno
maxdb_connect
Fonctions MaxDB


Ouvre une nouvelle connexion sur un serveur MaxDB

maxdb_connect_error
maxdb_data_seek
Fonctions MaxDB
PHP Manual

maxdb_connect

maxdb::__construct

(PECL maxdb >= 1.0)

maxdb_connect -- maxdb::__construct — Ouvre une nouvelle connexion sur un serveur MaxDB

Description

Style procédural

resource maxdb_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket ]]]]]] )

Style orienté objet

maxdb::__construct ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket ]]]]]] )

maxdb_connect() tente d'ouvrir une connexion sur un serveur MaxDB fonctionnant sur l'hôte host qui peut être soit un nom d'hôte, soit une adresse IP. Passer la chaîne "localhost" à ce paramètre, l'hôte local sera assumé. En cas de succès, maxdb_connect() retournera une ressource représentant la connexion à la base de données ou FALSE si une erreur survient.

Les paramètres username et password spécifient le nom de l'utilisateur ainsi que le mot de passe utilisés pour la connexion au serveur MaxDB. Si le mot de passe n'est pas fourni (la valeur NULL est passée), le serveur MaxDB tentera d'identifier l'utilisateur encore une fois en utilisant la valeur de l'option de configuration maxdb.default_pw du php.ini.

Le paramètre dbname, si fourni, spécifie la base de données par défaut à utiliser lors de l'exécution de requêtes. S'il n'est pas fourni, l'option de configuration maxdb.default_db du php.ini est utilisée.

Les paramètres port et socket sont ignorés par le serveur MaxDB.

Valeurs de retour

Retourne une ressource représentant la connexion au serveur MaxDB ou FALSE si la connexion échoue.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérfication de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

printf("Informations sur l'hôte : %s\n", $maxdb->host_info);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED");

/* Vérifie la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

printf("Informations sur l'hôte : %s\n", maxdb_get_host_info($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Informations sur l'hôte : localhost
maxdb_connect_error
maxdb_data_seek
Fonctions MaxDB


Ajuste le pointeur de résultat sur une ligne arbitraire dans le résultat

maxdb_connect
maxdb_debug
Fonctions MaxDB
PHP Manual

maxdb_data_seek

maxdb_result::data_seek

(PECL maxdb >= 1.0)

maxdb_data_seek -- maxdb_result::data_seek — Ajuste le pointeur de résultat sur une ligne arbitraire dans le résultat

Description

Style procédural

bool maxdb_data_seek ( resource $result , int $offset )

Style orienté objet

bool maxdb_result::data_seek ( int $offset )

maxdb_data_seek() se déplace sur un pointeur de résultat arbitraire spécifié par offset dans le jeu de résultats représenté par result. Le paramètre offset doit être compris entre zéro le nombre total de lignes moins un (0..maxdb_num_rows() - 1).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouverture de la connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Connect failed: %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";
if ($result = $maxdb->query( $query)) {

    /* Déplacement sur la ligne no. 10 */
    $result->data_seek(10);

    /* Récupération de la ligne */
    $row = $result->fetch_row();

    printf ("Ville : %s  Pays : %s\n", $row[0], $row[1]);

    /* Libération du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";

if ($result = maxdb_query($link, $query)) {

    /* Déplacement sur la ligne no. 400 */
    maxdb_data_seek($result, 10);

    /* Récupération de la ligne */
    $row = maxdb_fetch_row($result);

    printf ("Ville : %s  Pays : %s\n", $row[0], $row[1]);

    /* Libération du jeu de résultats*/
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Ville : Irvine  Pays : CA

Voir aussi

  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_fetch_row() - Récupère une ligne de résultat en tant que tableau énuméré
  • maxdb_num_rows() - Récupère le nombre de lignes dans un résultat

maxdb_connect
maxdb_debug
Fonctions MaxDB


Effectue des opérations de déboguage

maxdb_data_seek
maxdb_disable_reads_from_master
Fonctions MaxDB
PHP Manual

maxdb_debug

(PECL maxdb >= 1.0)

maxdb_debug — Effectue des opérations de déboguage

Description

void maxdb_debug ( string $debug )

maxdb_debug() peut être utilisé pour tracer la connexion SQLDBC. Les chaînes suivantes peuvent être utilisées en tant que paramètre de la fonction maxdb_debug() :

  • TRACE SHORT ON|OFF - Active/Désactive l'appel à la méthode de traçage.
  • TRACE LONG ON|OFF - Active/Désactive l'argument de la méthode et les détails de la trace de déboguage.
  • TRACE PACKET ON|OFF|<size> - Active/Désactive le paquet de trace, limitant la taille de l'objet de traçage au nombre d'octets spécifiés, ou 1000 si aucune taille n'est spécifiée.
  • TRACE SQL ON|OFF - Active/Désactive la trace de haut niveau de l'API.
  • TRACE TIMESTAMP ON|OFF - Active/Désactive un préfixe timestamp sur chaque ligne tracée.
  • TRACE SIZE <size> - Limite la taille du fichier de trace à <size> octets, 8192 octets sont au moins nécessaire.

Valeurs de retour

maxdb_debug() ne retourne aucune valeur.

Exemples

Exemple #1 Style procédural

<?php

maxdb_debug("trace packet 200");

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus ne produit aucun affichage.

maxdb_data_seek
maxdb_disable_reads_from_master
Fonctions MaxDB


Désactive la lecture depuis le maître

maxdb_debug
maxdb_disable_rpl_parse
Fonctions MaxDB
PHP Manual

maxdb_disable_reads_from_master

maxdb::disable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_disable_reads_from_master -- maxdb::disable_reads_from_master — Désactive la lecture depuis le maître

Description

Style procédural

bool maxdb_disable_reads_from_master ( resource $link )

Style orienté objet

void maxdb::disable_reads_from_master ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_debug
maxdb_disable_rpl_parse
Fonctions MaxDB


Désactive l'analyseur RPL

maxdb_disable_reads_from_master
maxdb_dump_debug_info
Fonctions MaxDB
PHP Manual

maxdb_disable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_disable_rpl_parse — Désactive l'analyseur RPL

Description

bool maxdb_disable_rpl_parse ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_disable_reads_from_master
maxdb_dump_debug_info
Fonctions MaxDB


Sauvegarde les informations de déboguage dans un log

maxdb_disable_rpl_parse
maxdb_embedded_connect
Fonctions MaxDB
PHP Manual

maxdb_dump_debug_info

(PECL maxdb >= 1.0)

maxdb_dump_debug_info — Sauvegarde les informations de déboguage dans un log

Description

bool maxdb_dump_debug_info ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_disable_rpl_parse
maxdb_embedded_connect
Fonctions MaxDB


Ouvre une connexion sur un serveur MaxDB embarqué

maxdb_dump_debug_info
maxdb_enable_reads_from_master
Fonctions MaxDB
PHP Manual

maxdb_embedded_connect

(PECL maxdb >= 1.0)

maxdb_embedded_connect — Ouvre une connexion sur un serveur MaxDB embarqué

Description

resource maxdb_embedded_connect ([ string $dbname ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_dump_debug_info
maxdb_enable_reads_from_master
Fonctions MaxDB


Active la lecture depuis le maître

maxdb_embedded_connect
maxdb_enable_rpl_parse
Fonctions MaxDB
PHP Manual

maxdb_enable_reads_from_master

(PECL maxdb >= 1.0)

maxdb_enable_reads_from_master — Active la lecture depuis le maître

Description

bool maxdb_enable_reads_from_master ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_embedded_connect
maxdb_enable_rpl_parse
Fonctions MaxDB


Active l'analyseur RPL

maxdb_enable_reads_from_master
maxdb_errno
Fonctions MaxDB
PHP Manual

maxdb_enable_rpl_parse

(PECL maxdb >= 1.0)

maxdb_enable_rpl_parse — Active l'analyseur RPL

Description

bool maxdb_enable_rpl_parse ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_enable_reads_from_master
maxdb_errno
Fonctions MaxDB


Retourne le code erreur pour le dernier appel à une fonction

maxdb_enable_rpl_parse
maxdb_error
Fonctions MaxDB
PHP Manual

maxdb_errno

maxdb->errno

(PECL maxdb >= 1.0)

maxdb_errno -- maxdb->errno — Retourne le code erreur pour le dernier appel à une fonction

Description

Style procédural

int maxdb_errno ( resource $link )

Style orienté objet

maxdb
int $errno;

maxdb_errno() retourne le dernier code erreur pour le dernier appel à une fonction MaxDB, qu'elle ait réussie ou échouée, sur la connexion à la base de données représentée par le paramètre link. Si aucune erreur n'est survenue, cette fonction retournera zéro.

Valeurs de retour

Une valeur de code erreur pour le dernier appel, s'il a échoué. Zéro signifie qu'aucune erreur n'est survenue.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
    printf("Code erreur : %d\n", $maxdb->errno);
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
    printf("Code erreur : %d\n", maxdb_errno($link));
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000] <...>
Code erreur : -4005

Voir aussi

  • maxdb_connect_errno() - Retourne le code erreur du dernier appel à la connexion
  • maxdb_connect_error() - Retourne une chaîne descriptive de la dernière erreur
  • maxdb_error() - Retourne une chaîne représentant la dernière erreur
  • maxdb_sqlstate() - Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

maxdb_enable_rpl_parse
maxdb_error
Fonctions MaxDB


Retourne une chaîne représentant la dernière erreur

maxdb_errno
maxdb_escape_string
Fonctions MaxDB
PHP Manual

maxdb_error

maxdb->error

(PECL maxdb >= 1.0)

maxdb_error -- maxdb->error — Retourne une chaîne représentant la dernière erreur

Description

Style procédural

string maxdb_error ( resource $link )

Style orienté objet

maxdb
string $error;

maxdb_error() est identique à la fonction maxdb_errno() dans tous les sens, exceptée qu'au lieu de retourner une erreur sous forme d'entier, maxdb_error() retourne une chaîne représentant la dernière erreur survenue pour la connexion à la base de données représentée par le paramètre link. Si aucune erreur n'est survenue, cette fonction retournera une chaîne vide.

Valeurs de retour

Une chaîne décrivant l'erreur. Une chaîne vide si aucune erreur n'est survenue.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la conneixon */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion: %s\n", maxdb_connect_error());
    exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
    printf("Message d'erreur : %s\n", $maxdb->error);
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
    printf("Message d'erreur : %s\n", maxdb_error($link));
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000]
Message d'erreur : POS(8) Unknown column name:XXX

Voir aussi

  • maxdb_connect_errno() - Retourne le code erreur du dernier appel à la connexion
  • maxdb_connect_error() - Retourne une chaîne descriptive de la dernière erreur
  • maxdb_errno() - Retourne le code erreur pour le dernier appel à une fonction
  • maxdb_sqlstate() - Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

maxdb_errno
maxdb_escape_string
Fonctions MaxDB


Alias de maxdb_real_escape_string

maxdb_error
maxdb_execute
Fonctions MaxDB
PHP Manual

maxdb_escape_string

(PECL maxdb 1.0)

maxdb_escape_string — Alias de maxdb_real_escape_string()

Description

Cette fonction est un alias de : maxdb_real_escape_string().

maxdb_error
maxdb_execute
Fonctions MaxDB


Alias de maxdb_stmt_execute

maxdb_escape_string
maxdb_fetch_array
Fonctions MaxDB
PHP Manual

maxdb_execute

(PECL maxdb 1.0)

maxdb_execute — Alias de maxdb_stmt_execute()

Description

Cette fonction est un alias de : maxdb_stmt_execute().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_escape_string
maxdb_fetch_array
Fonctions MaxDB


Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux

maxdb_execute
maxdb_fetch_assoc
Fonctions MaxDB
PHP Manual

maxdb_fetch_array

maxdb_result::fetch_array

(PECL maxdb >= 1.0)

maxdb_fetch_array -- maxdb_result::fetch_array — Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux

Description

Style procédural

mixed maxdb_fetch_array ( resource $result [, int $resulttype ] )

Style orienté objet

mixed maxdb_result::fetch_array ([ int $resulttype ] )

Retourne un tableau qui correspond à la ligne récupérée ou NULL s'il n'y a plus de lignes pour le jeu de résultats représenté par le paramètre result.

maxdb_fetch_array() est une version étendue de la fonction maxdb_fetch_row(). En plus de stocker les données dans un tableau de résultats aux indices numériques , la fonction maxdb_fetch_array() peut également stocker les données dans des indices associatifs, en utilisant les noms de champs du résultat en tant que clés.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Si deux colonnes ou plus du résultats ont les mêmes noms de champs, la dernière colonne aura la priorité et effacera les données précédentes. Pour accéder aux autres colonnes du même nom, la version indexée numériquement de la ligne doit être utilisée.

Le second argument optionnel resulttype est une constante indiquant quel type de tableau doit être produit pour les données de la ligne courante. Les valeurs possibles pour ce paramètre sont les constantes MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, ou MAXDB_BOTH. Par défaut, la fonction maxdb_fetch_array() prendra la valeur MAXDB_BOTH, qui est une combinaison de MAXDB_NUM et de MAXDB_ASSOC, pour ce paramètre.

En utilisant la constante MAXDB_ASSOC, cette fonction fonctionne de la même manière que la fonction maxdb_fetch_assoc(), tandis que MAXDB_NUM fonctionne de la même manière que la fonction maxdb_fetch_row(). L'option MAXDB_BOTH créera un seul tableau contenant les deux sortes d'attributs.

En utilisant la constante MAXDB_ASSOC_UPPER, le comportement de cette fonction est identique à l'utilisation de MAXDB_ASSOC à la seule différence que l'index de la colonne du tableau est le nom du champs en majuscule.

En utilisant la constante MAXDB_ASSOC_LOWER, le comportement de cette fonction est identique à l'utilisation de MAXDB_ASSOC à la seule différence que l'index de la colonne du tableau est le nom du champs en minuscule.

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée ou NULL s'il n'y a plus de lignes de disponibles dans le jeu de résultats.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Connect failed: %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);

/* Tableau numérique */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* Tableau associatif */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* Tableau associatif et numérique */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* Libération du jeu de résultats */
$result->close();

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);

/* Tableau numérique */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* Tableau associatif */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* Tableau associatif et numérique */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* Libération du jeu de résultats */
maxdb_free_result($result);

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

New York (NY)
New York (NY)
Long Island (NY)

Voir aussi

  • maxdb_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • maxdb_fetch_row() - Récupère une ligne de résultat en tant que tableau énuméré
  • maxdb_fetch_resource()

maxdb_execute
maxdb_fetch_assoc
Fonctions MaxDB


Récupère une ligne de résultat dans un tableau associatif

maxdb_fetch_array
maxdb_fetch_field_direct
Fonctions MaxDB
PHP Manual

maxdb_fetch_assoc

maxdb_result::fetch_assoc

(PECL maxdb >= 1.0)

maxdb_fetch_assoc -- maxdb_result::fetch_assoc — Récupère une ligne de résultat dans un tableau associatif

Description

Style procédural

array maxdb_fetch_assoc ( resource $result )

Style orienté objet

array maxdb_result::fetch_assoc ( void )

Retourne un tableau associatif qui correspond à la ligne récupérée ou NULL s'il n'y a plus de lignes de disponibles.

maxdb_fetch_assoc() est utilisé pour retourner un tableau associatif représentant la prochaine ligne dans le jeu de résultats pour le résultat représenté par le paramètre result, où chaque clé du tableau représente le nom d'une des colonnes du jeu de résultats.

Si deux colonnes ou plus du résultats ont les mêmes noms de champs, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez soit accéder au résultat avec des indices numériques en utilisant la fonction maxdb_fetch_row(), soit ajouter des alias aux noms.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Valeurs de retour

Retourne un tableau représentant la ligne récupérée ou NULL s'il n'y a plus de lignes de disponibles.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Connect failed: %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

    /* Récupération du tableau associatif */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
    }

    /* Libération du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

    /* Récupération du tableau associatif */
    while ($row = maxdb_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
    }

    /* Libération du jeu de résultats */
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Voir aussi

  • maxdb_fetch_array() - Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux
  • maxdb_fetch_row() - Récupère une ligne de résultat en tant que tableau énuméré
  • maxdb_fetch_resource()

maxdb_fetch_array
maxdb_fetch_field_direct
Fonctions MaxDB


Récupère les métadonnées pour un seul champ

maxdb_fetch_assoc
maxdb_fetch_field
Fonctions MaxDB
PHP Manual

maxdb_fetch_field_direct

maxdb_result::fetch_field_direct

(PECL maxdb >= 1.0)

maxdb_fetch_field_direct -- maxdb_result::fetch_field_direct — Récupère les métadonnées pour un seul champ

Description

Style procédural

mixed maxdb_fetch_field_direct ( resource $result , int $fieldnr )

Style orienté objet

mixed maxdb_result::fetch_field_direct ( int $fieldnr )

maxdb_fetch_field_direct() retourne une ressource qui contient les informations de définition des champs pour un jeu de résultat spécifique. La valeur du champ doit être dans l'intervalle 0 à number of fields - 1.

Valeurs de retour

Retourne une ressource qui contient les informations de définition des champs ou FALSE s'il n'y a plus d'informations pour le champ fieldnr.

Attributs de l'objet
Attribut | Description
name | Le nom de la colonne
max_length | La largeur maximale du champ pour le jeu de résultats
type | Le type de données utilisé pour ce champ
decimals | Le nombre de décimales utilisées (pour les champs entiers)

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = $maxdb->query($query)) {

    /* Récupère les informations pour la colonne 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = maxdb_query($link, $query)) {

    /* Récupère les informations pour la colonne 'cno' */
    $finfo = maxdb_fetch_field_direct($result, 1);

    printf("Nom :     %s\n", $finfo->name);
    printf("Table :    %s\n", $finfo->table);
    printf("Longueur max. : %d\n", $finfo->max_length);
    printf("Flags :    %d\n", $finfo->flags);
    printf("Type :     %d\n", $finfo->type);

    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nom :     CNO
Table :
Longueur max.: 4
Flags :    -1
Type :     0

Voir aussi

  • maxdb_num_fields() - Récupère le nombre de champs dans un résultat
  • maxdb_fetch_field() - Retourne le prochain champs d'un jeu de résultats
  • maxdb_fetch_fields() - Retourne un tableau de ressource représentant les champs dans un jeu de résultats

maxdb_fetch_assoc
maxdb_fetch_field
Fonctions MaxDB


Retourne le prochain champs d'un jeu de résultats

maxdb_fetch_field_direct
maxdb_fetch_fields
Fonctions MaxDB
PHP Manual

maxdb_fetch_field

maxdb_result::fetch_field

(PECL maxdb >= 1.0)

maxdb_fetch_field -- maxdb_result::fetch_field — Retourne le prochain champs d'un jeu de résultats

Description

Style procédural

mixed maxdb_fetch_field ( resource $result )

Style orienté objet

mixed maxdb_result::fetch_field ( void )

maxdb_fetch_field() retourne la définition d'une colonne d'un jeu de résultats en tant que ressource. Appelez cette fonction de façon répétitive pour récupérer toutes les informations sur les colonnes dans le jeu de résultats. maxdb_fetch_field() retourne FALSE lorsqu'il n'y a plus de champs disponibles.

Valeurs de retour

Retourne une ressource contenant toutes les informations de définitions des champs ou FALSE s'il n'y a plus d'informations de champs disponibles.

Propriétés de l'objet
Propriété | Description
name | Le nom de la colonne
max_length | La largeur maximale d'un champ dans le jeu de résultats
type | Le type de données utilisé pour ce champ
decimals | Le nombre de décimales utilisées (pour les champs entiers)

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

    /* Récupération de l'information pour tous les champs */
    while ($finfo = $result->fetch_field()) {

        printf("Nom :     %s\n", $finfo->name);
        printf("Table :    %s\n", $finfo->table);
        printf("Longueur max. : %d\n", $finfo->max_length);
        printf("Flags :    %d\n", $finfo->flags);
        printf("Type :     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

    /* Récupération de l'information pour tous les champs */
    while ($finfo = maxdb_fetch_field($result)) {

        printf("Nom :     %s\n", $finfo->name);
        printf("Table :    %s\n", $finfo->table);
        printf("Longueur max.: %d\n", $finfo->max_length);
        printf("Flags :    %d\n", $finfo->flags);
        printf("Type :     %d\n\n", $finfo->type);
    }
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nom :     NAME
Table :
Longueur max. : 10
Flags :    -1
Type :     2

Nom :     CNO
Table :
Longueur max. : 4
Flags :    -1
Type :     0

Voir aussi

  • maxdb_num_fields() - Récupère le nombre de champs dans un résultat
  • maxdb_fetch_field_direct() - Récupère les métadonnées pour un seul champ
  • maxdb_fetch_fields() - Retourne un tableau de ressource représentant les champs dans un jeu de résultats
  • maxdb_field_seek() - Définit le pointeur de résultat à une position donnée

maxdb_fetch_field_direct
maxdb_fetch_fields
Fonctions MaxDB


Retourne un tableau de ressource représentant les champs dans un jeu de résultats

maxdb_fetch_field
maxdb_fetch_lengths
Fonctions MaxDB
PHP Manual

maxdb_fetch_fields

maxdb_result::fetch_fields

(PECL maxdb >= 1.0)

maxdb_fetch_fields -- maxdb_result::fetch_fields — Retourne un tableau de ressource représentant les champs dans un jeu de résultats

Description

Style procédural

mixed maxdb_fetch_fields ( resource $result )

Style orienté objet

mixed maxdb_result::fetch_fields ( void )

Cette fonction est identique à la fonction maxdb_fetch_field() avec la seule différence qu'au lieu de retourner une ressource à la fois pour chaque champ, les colonnes sont retournées en tant que tableau de ressources.

Valeurs de retour

Retourne un tableau de ressources qui contient les informations de définitions des champs ou FALSE s'il n'y a plus d'informations de champs de disponibles.

Propriétés de l'objet
Propriété | Description
name | Le nom de la colonne
max_length | La largeur maximale d'un champ dans le jeu de résultats
type | Le type de données utilisé pour ce champ
decimals | Le nombre de décimales utilisées (pour les champs entiers)

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

    /* Récupération des informations pour toutes les colonnes */
    $finfo = $result->fetch_fields();

    foreach ($finfo as $val) {
        printf("Nom :     %s\n", $finfo[$i]->name);
        printf("Table :    %s\n", $finfo[$i]->table);
        printf("Longueur max. : %d\n", $finfo[$i]->max_length);
        printf("Flags :    %d\n", $finfo[$i]->flags);
        printf("Type :     %d\n\n", $finfo[$i]->type);
    }
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

    /* Récupération des informations pour toutes les colonnes */
    $finfo = maxdb_fetch_fields($result);

    foreach ($finfo as $val) {
        printf("Nom :     %s\n", $finfo[$i]->name);
        printf("Table :    %s\n", $finfo[$i]->table);
        printf("Longueur max. : %d\n", $finfo[$i]->max_length);
        printf("Flags :    %d\n", $finfo[$i]->flags);
        printf("Type :     %d\n\n", $finfo[$i]->type);
    }
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nom :     NAME
Table :
Longueur max. : 10
Flags :    -1
Type :     2

Nom :     CNO
Table :
Longueur max. : 4
Flags :    -1
Type :     0

Voir aussi

  • maxdb_num_fields() - Récupère le nombre de champs dans un résultat
  • maxdb_fetch_field() - Retourne le prochain champs d'un jeu de résultats
  • maxdb_fetch_field_direct() - Récupère les métadonnées pour un seul champ

maxdb_fetch_field
maxdb_fetch_lengths
Fonctions MaxDB


Retourne la longueur des colonnes de la ligne courante dans un jeu de résultats

maxdb_fetch_fields
maxdb_fetch_object
Fonctions MaxDB
PHP Manual

maxdb_fetch_lengths

maxdb_result->lengths

(PECL maxdb >= 1.0)

maxdb_fetch_lengths -- maxdb_result->lengths — Retourne la longueur des colonnes de la ligne courante dans un jeu de résultats

Description

Style procédural

array maxdb_fetch_lengths ( resource $result )

Style orienté objet

maxdb_result
array $lengths;

maxdb_fetch_lengths() retourne un tableau contenant la longueur de chaque colonne de la ligne courante du jeu de résultats représenté par le paramètre result. Si cela réussit, un tableau indexé numériquement représentant la longueur de chaque colonne est retourné ou FALSE si une erreur survient.

Valeurs de retour

Un tableau d'entiers représentant la taille de chaque colonne (n'inclut aucun caractères nul de fin). FALSE si une erreur survient.

maxdb_fetch_lengths() est valide uniquement pour la ligne courante du jeu de résultats. Il retourne FALSE si vous l'appelez avant d'appeler les fonctions maxdb_fetch_row/array/resource ou après avoir récupéré toutes les lignes du jeu de résultats.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = $maxdb->query($query)) {

    $row = $result->fetch_row();

    /* Affiche la longueur des colonnes */
    foreach ($result->lengths as $i => $val) {
        printf("Le champs %2d a une longueur de %2d\n", $i+1, $result->lengths[$i]);
    }
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = maxdb_query($link, $query)) {

    $row = maxdb_fetch_row($result);

    /* Affiche la longueur des colonnes */
    foreach (maxdb_fetch_lengths($result) as $i => $val) {
        printf("Le champs %2d a une longueur de %2d\n", $i+1, $lengths[$i]);
    }
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le champs 1 a une longueur de 4
Le champs 2 a une longueur de 3
Le champs 3 a une longueur de 5
Le champs 4 a une longueur de 6
Le champs 5 a une longueur de 5
Le champs 6 a une longueur de 21
maxdb_fetch_fields
maxdb_fetch_object
Fonctions MaxDB


Retourne la ligne courante d'un jeu de résultats dans un objet

maxdb_fetch_lengths
maxdb_fetch_row
Fonctions MaxDB
PHP Manual

maxdb_fetch_object

maxdb_result::fetch_object

(PECL maxdb >= 1.0)

maxdb_fetch_object -- maxdb_result::fetch_object — Retourne la ligne courante d'un jeu de résultats dans un objet

Description

Style procédural

object maxdb_fetch_object ( object $result )

Style orienté objet

object maxdb_result::fetch_object ( void )

maxdb_fetch_resource() retourne la ligne courante du jeu de résultats result dans un objet dont les attributs sont les noms des champs trouvés dans le jeu de résultats. S'il n'y a plus de lignes dans le jeu de résultats courant, NULL est retourné.

Valeurs de retour

Retourne une ressource qui correspond à la ligne récupérée ou NULL s'il n'y a plus de lignes disponibles dans le jeu de résultats.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Connexion échouée : %s\n", maxdb_connect_error());
exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

    /* Lecture d'un objet */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
    }

    /* Libération des ressources */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

    /* Récupération de l'objet */
    while ($obj = maxdb_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
    }

    /* Libération du résultat */
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Voir aussi

  • maxdb_fetch_array() - Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux
  • maxdb_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • maxdb_fetch_row() - Récupère une ligne de résultat en tant que tableau énuméré

maxdb_fetch_lengths
maxdb_fetch_row
Fonctions MaxDB


Récupère une ligne de résultat en tant que tableau énuméré

maxdb_fetch_object
maxdb_fetch
Fonctions MaxDB
PHP Manual

maxdb_fetch_row

maxdb_result::fetch_row

(PECL maxdb >= 1.0)

maxdb_fetch_row -- maxdb_result::fetch_row — Récupère une ligne de résultat en tant que tableau énuméré

Description

Style procédural

mixed maxdb_fetch_row ( resource $result )

Style orienté objet

mixed maxdb_result::fetch_row ( void )

Retourne un tableau qui correspond à la ligne récupérée ou NULL s'il n'y a plus de résultat.

maxdb_fetch_row() récupère une ligne de données depuis le jeu de résultats représenté par result et la retourne dans un tableau énuméré, où chaque colonne est stocké dans une entrée du tableau, en commençant à 0 (zéro). Chaque sous-séquence d'appel à la fonction maxdb_fetch_row() retourne la ligne suivante du jeu de résultats ou FALSE s'il n'y a plus de lignes de disponibles.

Valeurs de retour

maxdb_fetch_row() retourne un tableau qui correspond à la ligne récupérée ou NULL s'il n'y a plus de lignes disponibles dans le jeu de résultats.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Connect failed: %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

    /* Récupération du tableau énumératif */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* Libération du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED");

/* Vérification de la connexion  */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

    /* Récupération du tableau énumératif */
    while ($row = maxdb_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* Libération du jeu de résultats */
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

Voir aussi

  • maxdb_fetch_array() - Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux
  • maxdb_fetch_assoc() - Récupère une ligne de résultat dans un tableau associatif
  • maxdb_fetch_resource()

maxdb_fetch_object
maxdb_fetch
Fonctions MaxDB


Alias de maxdb_stmt_fetch

maxdb_fetch_row
maxdb_field_count
Fonctions MaxDB
PHP Manual

maxdb_fetch

(PECL maxdb 1.0)

maxdb_fetch — Alias de maxdb_stmt_fetch()

Description

Cette fonction est un alias de : maxdb_stmt_fetch().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_fetch_row
maxdb_field_count
Fonctions MaxDB


Retourne le nombre de colonnes pour la dernière requête

maxdb_fetch
maxdb_field_seek
Fonctions MaxDB
PHP Manual

maxdb_field_count

maxdb::field_count

(PECL maxdb >= 1.0)

maxdb_field_count -- maxdb::field_count — Retourne le nombre de colonnes pour la dernière requête

Description

Style procédural

int maxdb_field_count ( resource $link )

Style orienté objet

int maxdb::field_count ( void )

Retourne le nombre de colonnes pour la dernière requête sur la connexion représentée par le paramètre link. Cette fonction est utile lors de l'utilisation de la fonction maxdb_store_result() pour déterminer si la requête a produit un jeu de résultats non-vide ou non, sans connaître la nature de la requête.

Valeurs de retour

Un entier représentant le nombre de champs dans un jeu de résultats.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query( "CREATE TABLE friends (id int, name varchar(20))");

$maxdb->query( "INSERT INTO friends VALUES (1,'Hartmut')");
$maxdb->query( "INSERT INTO friends VALUES (2, 'Ulf')");

if ($maxdb->field_count()) {
    /* Ceci est une requête select/show ou describe */
    $result = $maxdb->store_result();

    /* Récupération du jeu de résultats */
    $row = $result->fetch_row();

    /* Libération du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO friends VALUES (2, 'Ulf')");

if (maxdb_field_count($link)) {
    /* Ceci est une requête select/show ou describe */
    $result = maxdb_store_result($link);

    /* Récupération du jeu de résultats */
    $row = maxdb_fetch_row($result);

    /* Libération du jeu de résultats */
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

Cet exemple ne produit aucun affichage.

maxdb_fetch
maxdb_field_seek
Fonctions MaxDB


Définit le pointeur de résultat à une position donnée

maxdb_field_count
maxdb_field_tell
Fonctions MaxDB
PHP Manual

maxdb_field_seek

maxdb_result::field_seek

(PECL maxdb >= 1.0)

maxdb_field_seek -- maxdb_result::field_seek — Définit le pointeur de résultat à une position donnée

Description

Style procédural

bool maxdb_field_seek ( resource $result , int $fieldnr )

Style orienté objet

bool maxdb_result::field_seek ( int $fieldnr )

Définit le curseur de champ à une position donnée. Le prochain appel à la fonction maxdb_fetch_field() récupérera la définition de champ de la colonne associée avec cette position.

Note: Pour placer le curseur au début d'une ligne, passez zéro comme valeur.

Valeurs de retour

maxdb_field_seek() retourne la valeur précédente du curseur de champ.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

    /* Récupération des informations de champ pour la deuxième colonne */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Nom :     %s\n", $finfo->name);
    printf("Table :    %s\n", $finfo->table);
    printf("Longueur max. : %d\n", $finfo->max_length);
    printf("Flags :    %d\n", $finfo->flags);
    printf("Type :     %d\n\n", $finfo->type);

    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

    /* Récupération des informations de champ pour la deuxième colonne */
    maxdb_field_seek($result, 1);
    $finfo = maxdb_fetch_field($result);

    printf("Nom :     %s\n", $finfo->name);
    printf("Table :    %s\n", $finfo->table);
    printf("Longueur max. : %d\n", $finfo->max_length);
    printf("Flags :    %d\n", $finfo->flags);
    printf("Type :     %d\n\n", $finfo->type);

    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nom :     NAME
Table :
Longueur max. : 10
Flags :    -1
Type :     2

Voir aussi

  • maxdb_fetch_field() - Retourne le prochain champs d'un jeu de résultats

maxdb_field_count
maxdb_field_tell
Fonctions MaxDB


Récupère la position du champs courant pour un pointeur de résultat

maxdb_field_seek
maxdb_free_result
Fonctions MaxDB
PHP Manual

maxdb_field_tell

maxdb_result->current_field

(PECL maxdb >= 1.0)

maxdb_field_tell -- maxdb_result->current_field — Récupère la position du champs courant pour un pointeur de résultat

Description

Style procédural

int maxdb_field_tell ( resource $result )

Style orienté objet

maxdb_result
int $current_field;

Retourne la position du curseur de champs utilisé par le dernier appel à maxdb_fetch_field(). Cette valeur peut être utilisée en tant qu'argument à la fonction maxdb_field_seek().

Valeurs de retour

Retourne le position courant du curseur de champs.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

    /* Récupère les informations pour tous les champs */
    while ($finfo = $result->fetch_field()) {

        /* Récupère le position du curseur de champs */
        $currentfield = $result->current_field;

        printf("Colonne    %d:\n", $currentfield);
        printf("Nom:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("Longueur max. : %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

    /* Récupère les informations pour tous les champs */
    while ($finfo = maxdb_fetch_field($result)) {

        /* Récupère le position du curseur de champs */
        $currentfield = maxdb_field_tell($result);

        printf("Colonne    %d:\n", $currentfield);
        printf("Nom :     %s\n", $finfo->name);
        printf("Table :    %s\n", $finfo->table);
        printf("Longueur max. : %d\n", $finfo->max_length);
        printf("Flags :    %d\n", $finfo->flags);
        printf("Type :     %d\n\n", $finfo->type);
    }
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Colonne    1:
Nom :     NAME
Table :
Longueur max. : 10
Flags :    -1
Type :     2

Colonne    2:
Nom :     CNO
Table :
Longueur max. : 4
Flags :    -1
Type :     0

Voir aussi

  • maxdb_fetch_field() - Retourne le prochain champs d'un jeu de résultats
  • maxdb_field_seek() - Définit le pointeur de résultat à une position donnée

maxdb_field_seek
maxdb_free_result
Fonctions MaxDB


Libère la mémoire associée à un résultat

maxdb_field_tell
maxdb_get_client_info
Fonctions MaxDB
PHP Manual

maxdb_free_result

maxdb_result::free

(PECL maxdb >= 1.0)

maxdb_free_result -- maxdb_result::free — Libère la mémoire associée à un résultat

Description

Style procédural

void maxdb_free_result ( resource $result )

Style orienté objet

void maxdb_result::free ( void )

maxdb_free_result() libère la mémoire associée avec le résultat représenté par le paramètre result, qui a été allouée par maxdb_query(), maxdb_store_result() ou maxdb_use_result().

Note: Vous devriez toujours libérer votre résultat avec la fonction maxdb_free_result(), lorsque votre ressource de résultat n'est plus utile.

Valeurs de retour

Cette fonction ne retourne aucune valeur.

Voir aussi

  • maxdb_query() - Exécute une requête sur une base de données
  • maxdb_stmt_store_result() - Transfert un jeu de résultats depuis une requête préparée
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_use_result() - Initialise un jeu de résultats

maxdb_field_tell
maxdb_get_client_info
Fonctions MaxDB


Retourne la version du client MaxDB sous la forme d'une chaîne

maxdb_free_result
maxdb_get_client_version
Fonctions MaxDB
PHP Manual

maxdb_get_client_info

(PECL maxdb >= 1.0)

maxdb_get_client_info — Retourne la version du client MaxDB sous la forme d'une chaîne

Description

string maxdb_get_client_info ( void )

maxdb_get_client_info() est utilisé pour retourner une chaîne représentant la version cliente utilisée dans l'extension MaxDB.

Valeurs de retour

Une chaîne représentant la version de la bibliothèque cliente MaxDB.

Exemples

Exemple #1 Exemple avec maxdb_get_client_info()

<?php

/* Nous n'avons pas besoin d'une connexion
pour déterminer la version de la bibliothèque MaxDB */

printf("Version de la bibliothèque cliente : %s\n", maxdb_get_client_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version de la bibliothèque cliente : libSQLDBC <...>

Voir aussi

  • maxdb_get_client_version() - Récupère des informations sur le client MaxDB
  • maxdb_get_server_info() - Retourne la version du serveur MaxDB
  • maxdb_get_server_version() - Retourne la version du serveur MaxDB sous la forme d'un entier

maxdb_free_result
maxdb_get_client_version
Fonctions MaxDB


Récupère des informations sur le client MaxDB

maxdb_get_client_info
maxdb_get_host_info
Fonctions MaxDB
PHP Manual

maxdb_get_client_version

(PECL maxdb >= 1.0)

maxdb_get_client_version — Récupère des informations sur le client MaxDB

Description

int maxdb_get_client_version ( void )

Retourne le numéro de version du client en tant qu'entier.

Valeurs de retour

Un nombre représentant la version de la bibliothèque cliente MaxDB dans le format : main_version*10000 + minor_version *100 + sub_version. Par exemple, 7.5.0 est retourné comme ceci : 70500.

Ceci est utile pour déterminer rapidement la version de la bibliothèque cliente pour savoir si certaines fonctionnalités existent.

Exemples

Exemple #1 Exemple avec maxdb_get_client_version()

<?php

/* Nous n'avons pas besoin d'une connexion
pour déterminer la version de la bibliothèque MaxDB */

printf("Version de la bibliothèque cliente : %d\n", maxdb_get_client_version());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version de la bibliothèque cliente : 7.<...>

Voir aussi

  • maxdb_get_client_info() - Retourne la version du client MaxDB sous la forme d'une chaîne
  • maxdb_get_server_info() - Retourne la version du serveur MaxDB
  • maxdb_get_server_version() - Retourne la version du serveur MaxDB sous la forme d'un entier

maxdb_get_client_info
maxdb_get_host_info
Fonctions MaxDB


Retourne une chaîne représentant le type de de connexion utilisé

maxdb_get_client_version
maxdb_get_metadata
Fonctions MaxDB
PHP Manual

maxdb_get_host_info

maxdb->get_host_info

(PECL maxdb >= 1.0)

maxdb_get_host_info -- maxdb->get_host_info — Retourne une chaîne représentant le type de de connexion utilisé

Description

Style procédural

string maxdb_get_host_info ( resource $link )

Style orienté objet

maxdb
string $host_info;

maxdb_get_host_info() retourne une chaîne décrivant la connexion représentée par le paramètre link.

Valeurs de retour

Une chaîne représentant l'hôte du serveur ainsi que le type de connexion.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche les informations de l'hôte */
printf("Informations sur l'hôte : %s\n", $maxdb->host_info);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche les informations de l'hôte */
printf("Informations sur l'hôte : %s\n", maxdb_get_host_info($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Informations sur l'hôte : localhost

Voir aussi

  • maxdb_get_proto_info() - Retourne la version du protocole MaxDB utilisé

maxdb_get_client_version
maxdb_get_metadata
Fonctions MaxDB


Alias de maxdb_stmt_result_metadata

maxdb_get_host_info
maxdb_get_proto_info
Fonctions MaxDB
PHP Manual

maxdb_get_metadata

(PECL maxdb 1.0)

maxdb_get_metadata — Alias de maxdb_stmt_result_metadata()

Description

Cette fonction est un alias de : maxdb_stmt_result_metadata().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_get_host_info
maxdb_get_proto_info
Fonctions MaxDB


Retourne la version du protocole MaxDB utilisé

maxdb_get_metadata
maxdb_get_server_info
Fonctions MaxDB
PHP Manual

maxdb_get_proto_info

maxdb->protocol_version

(PECL maxdb >= 1.0)

maxdb_get_proto_info -- maxdb->protocol_version — Retourne la version du protocole MaxDB utilisé

Description

Style procédural

int maxdb_get_proto_info ( resource $link )

Style orienté objet

maxdb
string $protocol_version;

Retourne un entier représentant la version du protocole MaxDB utilisé par la connexion représentée par le paramètre link.

Valeurs de retour

Retourne un entier représentant la version du protocole (constante 10).

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche la version du protocole */
printf("Version du protocole : %d\n", $maxdb->protocol_version);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche la version du protocole */
printf("Version du protocole : %d\n", maxdb_get_proto_info($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version du protocole : 10

Voir aussi

  • maxdb_get_host_info() - Retourne une chaîne représentant le type de de connexion utilisé

maxdb_get_metadata
maxdb_get_server_info
Fonctions MaxDB


Retourne la version du serveur MaxDB

maxdb_get_proto_info
maxdb_get_server_version
Fonctions MaxDB
PHP Manual

maxdb_get_server_info

maxdb->server_info

(PECL maxdb >= 1.0)

maxdb_get_server_info -- maxdb->server_info — Retourne la version du serveur MaxDB

Description

Style procédural

string maxdb_get_server_info ( resource $link )

Style orienté objet

maxdb
string $server_info;

Retourne une chaîne représentant la version du serveur MaxDB sur lequel l'extension MaxDB est connecté (représenté par le paramètre link).

Valeurs de retour

Une chaîne représentant la version du serveur.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche la version du serveur */
printf("Version du serveur : %s\n", $maxdb->server_info);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche la version du serveur */
printf("Version du serveur : %s\n", maxdb_get_server_info($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version du serveur : Kernel    7<...>

Voir aussi

  • maxdb_get_client_info() - Retourne la version du client MaxDB sous la forme d'une chaîne
  • maxdb_get_client_version() - Récupère des informations sur le client MaxDB
  • maxdb_get_server_version() - Retourne la version du serveur MaxDB sous la forme d'un entier

maxdb_get_proto_info
maxdb_get_server_version
Fonctions MaxDB


Retourne la version du serveur MaxDB sous la forme d'un entier

maxdb_get_server_info
maxdb_info
Fonctions MaxDB
PHP Manual

maxdb_get_server_version

maxdb->server_version

(PECL maxdb >= 1.0)

maxdb_get_server_version -- maxdb->server_version — Retourne la version du serveur MaxDB sous la forme d'un entier

Description

Style procédural

int maxdb_get_server_version ( resource $link )

Style orienté objet

maxdb
int $server_version;

maxdb_get_server_version() retourne la version du serveur connecté (représenté par le paramètre link) en tant qu'entier.

La forme de ce numéro de version est main_version * 10000 + minor_version * 100 + sub_version (i.e. version 7.5.0 est 70500).

Valeurs de retour

Un entier représentant la version du serveur.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche la version du serveur */
printf("Version du serveur : %d\n", $maxdb->server_version);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Affiche la version du serveur */
printf("Version du serveur : %d\n", maxdb_get_server_version($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version du serveur : 7<...>

Voir aussi

  • maxdb_get_client_info() - Retourne la version du client MaxDB sous la forme d'une chaîne
  • maxdb_get_client_version() - Récupère des informations sur le client MaxDB
  • maxdb_get_server_info() - Retourne la version du serveur MaxDB

maxdb_get_server_info
maxdb_info
Fonctions MaxDB


Récupère des informations sur le dernière requête exécutée

maxdb_get_server_version
maxdb_init
Fonctions MaxDB
PHP Manual

maxdb_info

maxdb->info

(PECL maxdb >= 1.0)

maxdb_info -- maxdb->info — Récupère des informations sur le dernière requête exécutée

Description

Style procédural

string maxdb_info ( resource $link )

Style orienté objet

maxdb
string $info;

maxdb_info() retourne une chaîne contenant des informations sur la dernière requête exécutée. La nature de cette chaîne est définie ci-dessous :

Valeurs de retour possibles pour maxdb_info
Type de requête | Exemple de chaîne résultante
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Note: Les requêtes qui ne correspondent pas à une des catégories ci-dessus ne sont pas supportées. Dans ce cas, maxdb_info() retourne une chaîne vide.

Valeurs de retour

Une chaîne représentant des informations additionnelles sur la dernière requête exécutée.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
$maxdb->query("INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", $maxdb->info);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
maxdb_query($link, "INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", maxdb_info($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Records: 25 Duplicates: 0 Warnings: 0

Voir aussi

  • maxdb_affected_rows() - Récupère le nombre de lignes affectées par la dernière opération MaxDB
  • maxdb_warning_count() - Retourne le nombre d'avertissements depuis la dernière requête pour un lien donné
  • maxdb_num_rows() - Récupère le nombre de lignes dans un résultat

maxdb_get_server_version
maxdb_init
Fonctions MaxDB


Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect

maxdb_info
maxdb_insert_id
Fonctions MaxDB
PHP Manual

maxdb_init

(PECL maxdb >= 1.0)

maxdb_init — Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect

Description

resource maxdb_init ( void )

Alloue ou initialise une ressource MaxDB utilisable pour avec les fonctions maxdb_options() et maxdb_real_connect().

Note: Tous les appels de sous-séquence à n'importe quel fonction maxdb (sauf maxdb_options()) échoueront tant que la fonction maxdb_real_connect() ne sera pas appelée.

Valeurs de retour

Retourne une ressource.

Voir aussi

  • maxdb_options() - Définie des options
  • maxdb_close() - Ferme une connexion à une base de données
  • maxdb_real_connect() - Ouvre une connexion sur un serveur MaxDB
  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB

maxdb_info
maxdb_insert_id
Fonctions MaxDB


Retourne le dernier identifiant généré automatiquement par la dernière requête

maxdb_init
maxdb_kill
Fonctions MaxDB
PHP Manual

maxdb_insert_id

maxdb->insert_id

(PECL maxdb >= 1.0)

maxdb_insert_id -- maxdb->insert_id — Retourne le dernier identifiant généré automatiquement par la dernière requête

Description

Style procédural

mixed maxdb_insert_id ( resource $link )

Style orienté objet

maxdb
mixed $insert_id;

maxdb_insert_id() retourne le denier identifiant généré par une requête sur une table qui a une colonne possédant l'attribut DEFAULT SERIAL. Si la dernière requête n'était pas une requête de type INSERT ou UPDATE ou si la table modifiée n'a pas de colonne possédant un attribut DEFAULT SERIAL, cette fonction retournera zéro.

Valeurs de retour

La valeur du champs DEFAULT SERIAL qui a été mis à jour par la dernière requête. Retourne zéro s'il n'y a aucune requête précédente sur la connexion ou si la requête n'a pas mis à jour la valeur DEFAULT_SERIAL.

Note: Si le nombre généré est plus grand que la valeur maximale pour un entier, maxdb_insert_id() retournera une chaîne de caractères.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);

printf ("Le nouvel enregistrement a comme identifiant %d.\n", $maxdb->insert_id);

/* Effacement de la table */
$maxdb->query("DROP TABLE mycity");

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
   printf("Echec de la connexion : %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);

printf ("Le nouvel enregistrement a comme identifiant %d.\n", maxdb_insert_id($link));

/* Effacement de la table */
maxdb_query($link, "DROP TABLE mycity");

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le nouvel enregistrement a comme identifiant 1.
maxdb_init
maxdb_kill
Fonctions MaxDB


Déconnecte un serveur MaxDB

maxdb_insert_id
maxdb_master_query
Fonctions MaxDB
PHP Manual

maxdb_kill

maxdb::kill

(PECL maxdb >= 1.0)

maxdb_kill -- maxdb::kill — Déconnecte un serveur MaxDB

Description

Style procédural

bool maxdb_kill ( resource $link , int $processid )

Style orienté objet

bool maxdb::kill ( int $processid )

Cette fonction est utilisée pour se déconnecter d'un serveur MaxDB spécifié par le paramètre processid.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Détermine l'identifiant du thread */
$thread_id = $maxdb->thread_id;

/* Tue la connexion */
$maxdb->kill($thread_id);

/* Ceci doit produire une erreur */
if (!$maxdb->query("CREATE TABLE myCity LIKE City")) {
    printf("Erreur : %s\n", $maxdb->error);
    exit;
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Détermine l'identifiant du thread */
$thread_id = maxdb_thread_id($link);

/* Tue la connexion */
maxdb_kill($link, $thread_id);

/* Ceci doit produire une erreur */
if (!maxdb_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Erreur : %s\n", maxdb_error($link));
    exit;
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Erreur : Session not connected

Voir aussi

  • maxdb_thread_id() - Retourne l'identifiant du thread pour la connexion courante

maxdb_insert_id
maxdb_master_query
Fonctions MaxDB


Force l'exécution d'une requête sur le maître

maxdb_kill
maxdb_more_results
Fonctions MaxDB
PHP Manual

maxdb_master_query

(PECL maxdb >= 1.0)

maxdb_master_query — Force l'exécution d'une requête sur le maître

Description

bool maxdb_master_query ( resource $link , string $query )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_kill
maxdb_more_results
Fonctions MaxDB


Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes

maxdb_master_query
maxdb_multi_query
Fonctions MaxDB
PHP Manual

maxdb_more_results

maxdb->more_results

(PECL maxdb >= 1.0)

maxdb_more_results -- maxdb->more_results — Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes

Description

bool maxdb_more_results ( resource $link )

maxdb_more_results() indique si un ou plusieurs jeux de résultats sont disponibles depuis le dernier appel à la fonction maxdb_multi_query().

Valeurs de retour

Toujours FALSE.

Exemples

Voir la documentation sur la fonction maxdb_multi_query().

Voir aussi

  • maxdb_multi_query() - Exécute une requête sur une base de données
  • maxdb_next_result() - Prépare le prochain résultat depuis multi_query
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_use_result() - Initialise un jeu de résultats

maxdb_master_query
maxdb_multi_query
Fonctions MaxDB


Exécute une requête sur une base de données

maxdb_more_results
maxdb_next_result
Fonctions MaxDB
PHP Manual

maxdb_multi_query

maxdb::multi_query

(PECL maxdb >= 1.0)

maxdb_multi_query -- maxdb::multi_query — Exécute une requête sur une base de données

Description

Style procédural

bool maxdb_multi_query ( resource $link , string $query )

Style orienté objet

bool maxdb::multi_query ( string $query )

maxdb_multi_query() fonctionne de la même manière que la fonction maxdb_query(). Les requêtes multiples ne sont pas encore supportées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query  = "SELECT * FROM dual";

/* Exécute de multiples requêtes */
if ($maxdb->multi_query($query)) {
    do {
        /* Stock le premier jeu de résultats */
        if ($result = $maxdb->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* Affiche une séparation */
        if ($maxdb->more_results()) {
            printf("-----------------\n");
        }
    } while ($maxdb->next_result());
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT * FROM dual";

/* Exécute de multiples requêtes */
if (maxdb_multi_query($link, $query)) {
    do {
        /* Stock le premier jeu de résultats */
        if ($result = maxdb_store_result($link)) {
            while ($row = maxdb_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            maxdb_free_result($result);
        }
        /* Affiche une séparation */
        if (maxdb_more_results($link)) {
        printf("-----------------\n");
        }
    } while (maxdb_next_result($link));
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a

Voir aussi

  • maxdb_use_result() - Initialise un jeu de résultats
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_next_result() - Prépare le prochain résultat depuis multi_query
  • maxdb_more_results() - Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes

maxdb_more_results
maxdb_next_result
Fonctions MaxDB


Prépare le prochain résultat depuis multi_query

maxdb_multi_query
maxdb_num_fields
Fonctions MaxDB
PHP Manual

maxdb_next_result

maxdb->next_result

(PECL maxdb >= 1.0)

maxdb_next_result -- maxdb->next_result — Prépare le prochain résultat depuis multi_query

Description

bool maxdb_next_result ( resource $link )

Vu que les requêtes multiples ne sont pas encore implémentées, maxdb_next_result() retourne toujours FALSE.

Valeurs de retour

Retourne FALSE.

Voir aussi

  • maxdb_multi_query() - Exécute une requête sur une base de données
  • maxdb_more_results() - Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_use_result() - Initialise un jeu de résultats

maxdb_multi_query
maxdb_num_fields
Fonctions MaxDB


Récupère le nombre de champs dans un résultat

maxdb_next_result
maxdb_num_rows
Fonctions MaxDB
PHP Manual

maxdb_num_fields

maxdb_num->field_count

(PECL maxdb >= 1.0)

maxdb_num_fields -- maxdb_num->field_count — Récupère le nombre de champs dans un résultat

Description

Style procédural

int maxdb_num_fields ( resource $result )

Style orienté objet

maxdb_result
int $field_count;

maxdb_num_fields() retourne le nombre de champs pour un jeu de résultats spécifique.

Valeurs de retour

Le nombre de champs dans un jeu de résultats.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($result = $maxdb->query("SELECT * FROM hotel.city ORDER BY zip")) {

    /* Détermine le nombre de champs dans le jeu de résultats */
    $field_cnt = $result->field_count;

    printf("Le résultat contient %d champs.\n", $field_cnt);

    /* Fermeture du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($result = maxdb_query($link, "SELECT * FROM hotel.city ORDER BY zip")) {

    /* Détermine le nombre de champs dans le jeu de résultats */
    $field_cnt = maxdb_num_fields($result);

    printf("Le résultat contient %d champs.\n", $field_cnt);

    /* Fermeture du jeu de résultats */
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le résultat contient 3 champs.

Voir aussi

  • maxdb_fetch_field() - Retourne le prochain champs d'un jeu de résultats

maxdb_next_result
maxdb_num_rows
Fonctions MaxDB


Récupère le nombre de lignes dans un résultat

maxdb_num_fields
maxdb_options
Fonctions MaxDB
PHP Manual

maxdb_num_rows

maxdb->num_rows

(PECL maxdb >= 1.0)

maxdb_num_rows -- maxdb->num_rows — Récupère le nombre de lignes dans un résultat

Description

Style procédural

int maxdb_num_rows ( resource $result )

Style orienté objet

maxdb
int $num_rows;

Retourne le nombre de lignes dans un jeu de résultats.

L'utilisation de la fonction maxdb_num_rows() dépend si vous utilisez des jeux de résultats bufferisés ou non. Dans le cas où vous utilisez des jeux de résultats non bufferisés, maxdb_num_rows() ne retournera pas un nombre de lignes correct tant que toutes les lignes du jeu de résultats n'auront pas été récupérées.

Valeurs de retour

Retourne le nombre de lignes dans le jeu de résultats.

Note: Si le nombre de lignes est plus grand que la valeur maximale pour un entier, le nombre sera retourné en tant que chaîne de caractères.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($result = $maxdb->query("SELECT cno, name FROM hotel.customer ORDER BY name")) {

    /* Détermine le nombre de lignes dans le jeu de résultats */
    $row_cnt = $result->num_rows;

    printf("Le résultat contient %d lignes.\n", $row_cnt);

    /* Fermeture du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($result = maxdb_query($link, "SELECT cno, name FROM hotel.customer ORDER BY name")) {

    /* Détermine le nombre de lignes dans le jeu de résultats */
    $row_cnt = maxdb_num_rows($result);

    printf("Le résultat contient %d lignes.\n", $row_cnt);

    /* Fermeture du jeu de résultats */
    maxdb_free_result($result);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le résultat contient 15 lignes.

Voir aussi

  • maxdb_affected_rows() - Récupère le nombre de lignes affectées par la dernière opération MaxDB
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_use_result() - Initialise un jeu de résultats
  • maxdb_query() - Exécute une requête sur une base de données

maxdb_num_fields
maxdb_options
Fonctions MaxDB


Définie des options

maxdb_num_rows
maxdb_param_count
Fonctions MaxDB
PHP Manual

maxdb_options

maxdb::options

(PECL maxdb >= 1.0)

maxdb_options -- maxdb::options — Définie des options

Description

Style procédural

bool maxdb_options ( resource $link , int $option , mixed $value )

Style orienté objet

bool maxdb::options ( int $option , mixed $value )

maxdb_options() peut être utilisé pour définir des options de connexion supplémentaire et affecte le comportement de cette connexion.

Cette fonction peut être appelée plusieurs fois pour définir différentes options.

maxdb_options() doit être appelé après
maxdb_init() et avant
maxdb_real_connect().

Le paramètre option est l'option que vous voulez définir, le paramètre value est la valeur de cette option. Pour plus de descriptions sur ces options, lisez » http://maxdb.sap.com/documentation/. Le paramètre option peut être une des valeurs suivantes :

Options valides
Nom | Description
MAXDB_COMPNAME | Le composant "name" utilisé pour initialiser l'environnement d'exécution SQLDBC.
MAXDB_APPLICATION | L'application à connecter à la base de données.
MAXDB_APPVERSION | La version de l'application.
MAXDB_SQLMODE | Le mode SQL.
MAXDB_UNICODE | TRUE si la connexion est un client unicode(UCS2), FALSE sinon.
MAXDB_TIMEOUT | Le délai maximal d'inactivité autorisé après lequel la connexion à la base de données sera fermée par le système.
MAXDB_ISOLATIONLEVEL | Spécifie si oui ou non et combien de verrous partagés et de verrous exclusifs sont demandés ou libérés implicitement.
MAXDB_PACKETCOUNT | Le nombre de paquets différents utilisés pour la connexion.
MAXDB_STATEMENTCACHESIZE | Le nombre de requêtes préparées à être mises en cache pour la connexion pour être réutilisées.
MAXDB_CURSORPREFIX | Le préfixe à utiliser pour les tables résultantes qui sont automatiquement nommées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Voir la documentation de la fonction maxdb_real_connect().

Voir aussi

  • maxdb_init() - Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect
  • maxdb_real_connect() - Ouvre une connexion sur un serveur MaxDB

maxdb_num_rows
maxdb_param_count
Fonctions MaxDB


Alias de maxdb_stmt_param_count

maxdb_options
maxdb_ping
Fonctions MaxDB
PHP Manual

maxdb_param_count

(PECL maxdb 1.0)

maxdb_param_count — Alias de maxdb_stmt_param_count()

Description

Cette fonction est un alias de : maxdb_stmt_param_count().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_options
maxdb_ping
Fonctions MaxDB


Test une connexion à un serveur ou tente de se reconnecter si la connexion a été interrompue

maxdb_param_count
maxdb_prepare
Fonctions MaxDB
PHP Manual

maxdb_ping

maxdb::ping

(PECL maxdb >= 1.0)

maxdb_ping -- maxdb::ping — Test une connexion à un serveur ou tente de se reconnecter si la connexion a été interrompue

Description

Style procédural

bool maxdb_ping ( resource $link )

Style orienté objet

bool maxdb::ping ( void )

Vérifie si la connexion au serveur est active. Si elle a été interrompue et que l'option globale maxdb.reconnect est active, une reconnexion automatique est tentée.

Cette fonction peut être utilisée par les clients qui restent en attente durant de grande période, pour vérifier si la connexion a été interrompue par le serveur et pour se reconnecter si nécessaire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Vérifie si la connexion est active */
if ($maxdb->ping()) {
    printf ("Notre connexion est Ok !\n");
} else {
    printf ("Erreur : %s\n", $maxdb->error);
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Vérifie si la connexion est active */
if (maxdb_ping($link)) {
    printf ("Notre connexion est Ok !\n");
} else {
    printf ("Erreur : %s\n", maxdb_error($link));
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Notre connexion est Ok !
maxdb_param_count
maxdb_prepare
Fonctions MaxDB


Prépare une requête SQL pour exécution

maxdb_ping
maxdb_query
Fonctions MaxDB
PHP Manual

maxdb_prepare

maxdb::prepare

(PECL maxdb >= 1.0)

maxdb_prepare -- maxdb::prepare — Prépare une requête SQL pour exécution

Description

Style procédural

resource maxdb_prepare ( resource $link , string $query )

Style orienté objet

maxdb_stmt maxdb::prepare ( string $query )

maxdb_prepare() prépare la requête SQL pointée par la chaîne de requête et retourne un gestionnaire de requête à utiliser pour les opérations futures sur la requête. La requête doit être composée d'une seule requête SQL.

Note: Vous ne devez pas ajouter de point-virgule ou de \g à la fin de la requête.

Le paramètre query peut inclure un ou plusieurs marqueurs dans la requête SQL en y intégrant des point d'interrogations (?) aux positions voulues.

Note: Les marqueurs sont autorisés uniquement à des positions précises dans les requêtes SQL. Par exemple, ils sont autorisés dans la liste VALUE() d'une requête INSERT (pour spécifier une valeur de colonne pour une ligne), ou dans une comparaison avec une colonne dans une clause WHERE pour spécifier une valeur de comparaison.
Cependant, ils ne sont pas autorisés pour les identifiants (comme les noms de tables ou de colonnes), dans la liste SELECT qui nomme les colonnes à être retournées par les requêtes SELECT), ou pour spécifier les opérants d'un opérateur binaire comme le signe égal (=). La dernière restriction est nécessaire car il est impossible de déterminer le type du paramètre. En général, les paramètres sont légaux uniquement dans les requêtes Data Manipulation Languange (DML) et non dans les requêtes Data Defination Language (DDL).

Les marqueurs doit être liés aux variables en utilisant les fonctions maxdb_stmt_bind_param() et/ou maxdb_stmt_bind_result() avant d'exécuter la requête ou de récupérer les lignes.

Valeurs de retour

maxdb_prepare() retourne une ressource de requête ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec dela connexion : %s\n", maxdb_connect_error());
    exit();
}

$city = "Rosemont";

/* Création d'une requête préparée */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {

    /* Lie les paramètres aux marqueurs */
    $stmt->bind_param("s", $city);

    /* Exécute la requête */
    $stmt->execute();

    /* Lie les variables de résultats */
    $stmt->bind_result($district);

    /* Récupération des valeurs */
    $stmt->fetch();

    printf("%s est dans %s\n", $city, $district);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec dela connexion : %s\n", maxdb_connect_error());
    exit();
}

$city = "Rosemont";

/* Création d'une requête préparée */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {

     /* Lie les paramètres aux marqueurs */
     maxdb_stmt_bind_param($stmt, "s", $city);

     /* Exécute la requête */
     maxdb_stmt_execute($stmt);

     /* Lie les variables de résultats */
     maxdb_stmt_bind_result($stmt, $district);

     /* Récupération des valeurs */
     maxdb_stmt_fetch($stmt);

     printf("%s est dans %s\n", $city, $district);

     /* Fermeture de la requête */
     maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Rosemont est dans IL

Voir aussi

  • maxdb_stmt_execute() - Exécute une requête préparée
  • maxdb_stmt_fetch() - Récupère les résultats depuis la requête préparée dans les variables liées
  • maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres
  • maxdb_stmt_bind_result() - Lie les variables à une requête préparée pour stockage du résultat
  • maxdb_stmt_close() - Ferme une requête préparée

maxdb_ping
maxdb_query
Fonctions MaxDB


Exécute une requête sur une base de données

maxdb_prepare
maxdb_real_connect
Fonctions MaxDB
PHP Manual

maxdb_query

maxdb::query

(PECL maxdb >= 1.0)

maxdb_query -- maxdb::query — Exécute une requête sur une base de données

Description

Style procédural

mixed maxdb_query ( resource $link , string $query [, int $resultmode ] )

Style orienté objet

mixed maxdb::query ( string $query )

maxdb_query() est utilisé pour simplifier l'exécution d'une requête sur une base de données représentée par le paramètre link.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Pour les requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN, maxdb_query() retourne une ressource de résultats.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* La création d'une table ne retourne pas de jeu de résultats*/
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
    printf("La table mycity a été créée avec succès.\n");
}

/* Les requêtes SELECT retournent un jeu de résultats */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
    printf("SELECT a retourné %d lignes.\n", $result->num_rows);

    /* Libération des résultats */
    $result->close();
}

/* Si nous devons récupérer une grosse quantité de données, nous utilisons MAXDB_USE_RESULT */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
    $result->close();
}

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* La création d'une table ne retourne pas de jeu de résultats */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
    printf("La table mycity a été créée avec succès.\n");
}

/* Les requêtes SELECT retournent un jeu de résultats */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
    printf("SELECT a retourné %d lignes.\n", maxdb_num_rows($result));

    /* Libération des résultats */
    maxdb_free_result($result);
}

/* Si nous devons récupérer une grosse quantité de données, nous utilisons MAXDB_USE_RESULT */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
    maxdb_free_result($result);
}

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

La table mycity a été créée avec succès.
SELECT a retourné 25 lignes.

Voir aussi

  • maxdb_real_query() - Exécute une requête SQL
  • maxdb_multi_query() - Exécute une requête sur une base de données
  • maxdb_free_result() - Libère la mémoire associée à un résultat

maxdb_prepare
maxdb_real_connect
Fonctions MaxDB


Ouvre une connexion sur un serveur MaxDB

maxdb_query
maxdb_real_escape_string
Fonctions MaxDB
PHP Manual

maxdb_real_connect

maxdb::real_connect

(PECL maxdb >= 1.0)

maxdb_real_connect -- maxdb::real_connect — Ouvre une connexion sur un serveur MaxDB

Description

Style procédural

bool maxdb_real_connect ( resource $link [, string $hostname [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket ]]]]]] )

Style orienté objet

bool maxdb::real_connect ([ string $hostname [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket ]]]]]] )

maxdb_real_connect() tente d'ouvrir une connexion sur un serveur MaxDB fonctionnant sur l'hôte hostname.

Cette fonction diffère de maxdb_connect() :

  • maxdb_real_connect() nécessite une ressource valide créée par la fonction maxdb_init().

  • Avec la fonction maxdb_options(), vous pouvez définir plusieurs options pour la connexion.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php

/* Création d'un objet de connexion qui n'est pas connecté */
$maxdb = maxdb_init();

/* Définition des options de connexion */
$maxdb->options(MAXDB_UNICODE, "FALSE");
$maxdb->options(MAXDB_TIMEOUT, 5);

/* Connexion au serveur */
$maxdb->real_connect('localhost', 'MONA', 'RED', 'DEMODB');

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

printf ("Connexion : %s\n.", $maxdb->host_info);

$maxdb->close();
?>

Exemple #2 Style procédural

<?php

/* Création d'un objet de connexion qui n'est pas connecté */
$link = maxdb_init();

/* Définition des options de connexion */
maxdb_options($link, MAXDB_UNICODE, "FALSE");
maxdb_options($link, MAXDB_TIMEOUT, 5);

/* Connexion au serveur */
maxdb_real_connect($link, 'localhost', 'MONA', 'RED', 'DEMODB');

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

printf ("Connexion : %s\n.", maxdb_get_host_info($link));

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Connexion: localhost <...>

Voir aussi

  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_init() - Initialise MaxDB et retourne une ressource pour l'utiliser avec maxdb_real_connect
  • maxdb_options() - Définie des options
  • maxdb_ssl_set() - Utilisé pour établir une connexion sécurisée utilisant SSL
  • maxdb_close() - Ferme une connexion à une base de données

maxdb_query
maxdb_real_escape_string
Fonctions MaxDB


Protège les caractères spéciaux d'une chaîne afin de l'utiliser dans une requête SQL, en tenant compte du jeu de caractères courant de la connexion

maxdb_real_connect
maxdb_real_query
Fonctions MaxDB
PHP Manual

maxdb_real_escape_string

maxdb::real_escape_string

(PECL maxdb >= 1.0)

maxdb_real_escape_string -- maxdb::real_escape_string — Protège les caractères spéciaux d'une chaîne afin de l'utiliser dans une requête SQL, en tenant compte du jeu de caractères courant de la connexion

Description

Style procédural

string maxdb_real_escape_string ( resource $link , string $escapestr )

Style orienté objet

string maxdb::real_escape_sring ( string $escapestr )

Cette fonction est utilisée pour créer une chaîne SQL valide que vous pouvez utiliser dans une requête SQL. La chaîne escapestr est encodée en une chaîne échappée SQL, en tenant compte du jeu de caractères courant de la connexion.

Les caractères encodés sont ', ".

Valeurs de retour

Retourne une chaîne échappée.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* Cette requête échouera, car nous n'avons pas échappé $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
    printf("Erreur : %s\n", $maxdb->sqlstate);
}

$city = $maxdb->real_escape_string($city);

/* Cette requête, avec $city échappé, fonctionnera */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
    printf("%d ligne insérée.\n", $maxdb->affected_rows);
}

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* Cette requête échouera, car nous n'avons pas échappé $city */
if (!maxdb_query($link, "INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
    printf("Erreur : %s\n", maxdb_sqlstate($link));
}

$city = maxdb_real_escape_string($link, $city);

/* Cette requête, avec $city échappé, fonctionnera */
if (maxdb_query($link, "INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
    printf("%d ligne insérée.\n", maxdb_affected_rows($link));
}

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Erreur : 42000
1 ligne insérée.

Voir aussi

  • maxdb_character_set_name() - Retourne le jeu de caractères par défaut pour la connexion à la base de données

maxdb_real_connect
maxdb_real_query
Fonctions MaxDB


Exécute une requête SQL

maxdb_real_escape_string
maxdb_report
Fonctions MaxDB
PHP Manual

maxdb_real_query

maxdb::real_query

(PECL maxdb >= 1.0)

maxdb_real_query -- maxdb::real_query — Exécute une requête SQL

Description

Style procédural

bool maxdb_real_query ( resource $link , string $query )

Style orienté objet

bool maxdb::real_query ( string $query )

maxdb_real_query() est identique au niveau fonctionnalité que la fonction maxdb_query().

Note: Pour déterminer si une requête donnée doit retourner un jeu de résultats ou non, référez-vous à la fonction maxdb_field_count().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • maxdb_query() - Exécute une requête sur une base de données
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête
  • maxdb_use_result() - Initialise un jeu de résultats

maxdb_real_escape_string
maxdb_report
Fonctions MaxDB


Active ou désactive le rapport interne des fonctions

maxdb_real_query
maxdb_rollback
Fonctions MaxDB
PHP Manual

maxdb_report

(PECL maxdb 1.0)

maxdb_report — Active ou désactive le rapport interne des fonctions

Description

bool maxdb_report ( int $flags )

Liste de paramètres

flags

Une des constantes MAXDB_REPORT_XXX.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style procédural

<?php
/* Active les rapports */
maxdb_report(MAXDB_REPORT_ERROR);

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Cette requête doit produire une erreur */
$result = maxdb_query($link,"SELECT Name FROM Nonexistingtable WHERE population > 50000");

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_query(): -4004 POS(18) Unknown table name:NONEXISTINGTABLE <...>
maxdb_real_query
maxdb_rollback
Fonctions MaxDB


Annule la transaction courante

maxdb_report
maxdb_rpl_parse_enabled
Fonctions MaxDB
PHP Manual

maxdb_rollback

maxdb::rollback

(PECL maxdb >= 1.0)

maxdb_rollback -- maxdb::rollback — Annule la transaction courante

Description

Style procédural

bool maxdb_rollback ( resource $link )

Style orienté objet

bool maxdb::rollback ( void )

Annule la transaction courante pour la base de données spécifiée par le paramètre link.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Désactive l'auto-commit */
$maxdb->autocommit(FALSE);

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* Exécution */
$maxdb->commit();

/* Efface toutes les lignes */
$maxdb->query("DELETE FROM temp.mycity");

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
    $row = $result->fetch_row();
    printf("%d rows in table mycity.\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Rollback */
$maxdb->rollback();

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
    $row = $result->fetch_row();
    printf("%d ligne dans la table mycity (après annulation).\n", $row[0]);
    /* Libération du résultat */
    $result->close();
}

/* Effacement de la table myCity */
$maxdb->query("DROP TABLE temp.mycity");

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Désactive l'auto-commit */
maxdb_autocommit($link, FALSE);

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* Exécution */
maxdb_commit($link);

/* Efface toutes les lignes */
maxdb_query($link, "DELETE FROM temp.mycity");

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
    $row = maxdb_fetch_row($result);
    printf("%d ligne dans la table mycity.\n", $row[0]);
    /* Libération du résultats */
    maxdb_free_result($result);
}

/* Annulation */
maxdb_rollback($link);

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
    $row = maxdb_fetch_row($result);
    printf("%d lignes dans la table mycity (après annulation).\n", $row[0]);
    /* Libération du résultat */
    maxdb_free_result($result);
}

/* Effacement de la table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0 ligne dans la table mycity.
25 lignes dans la table mycity (après annulation).

Voir aussi

  • maxdb_commit() - Valide la transaction courante
  • maxdb_autocommit() - Active ou désactive l'auto-commit des modifications de la base de données

maxdb_report
maxdb_rpl_parse_enabled
Fonctions MaxDB


Vérifie si l'analyseur RPL est activé

maxdb_rollback
maxdb_rpl_probe
Fonctions MaxDB
PHP Manual

maxdb_rpl_parse_enabled

(PECL maxdb >= 1.0)

maxdb_rpl_parse_enabled — Vérifie si l'analyseur RPL est activé

Description

int maxdb_rpl_parse_enabled ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_rollback
maxdb_rpl_probe
Fonctions MaxDB


Test RPL

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
Fonctions MaxDB
PHP Manual

maxdb_rpl_probe

(PECL maxdb >= 1.0)

maxdb_rpl_probe — Test RPL

Description

bool maxdb_rpl_probe ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_rpl_parse_enabled
maxdb_rpl_query_type
Fonctions MaxDB


Retourne une requête de type RPL

maxdb_rpl_probe
maxdb_select_db
Fonctions MaxDB
PHP Manual

maxdb_rpl_query_type

maxdb::rpl_query_type

(PECL maxdb >= 1.0)

maxdb_rpl_query_type -- maxdb::rpl_query_type — Retourne une requête de type RPL

Description

Style procédural

int maxdb_rpl_query_type ( resource $link )

Style orienté objet

int maxdb::rpl_query_type ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_rpl_probe
maxdb_select_db
Fonctions MaxDB


Sélectionne une base de données pour les requêtes

maxdb_rpl_query_type
maxdb_send_long_data
Fonctions MaxDB
PHP Manual

maxdb_select_db

maxdb->select_db

(PECL maxdb >= 1.0)

maxdb_select_db -- maxdb->select_db — Sélectionne une base de données pour les requêtes

Description

bool maxdb_select_db ( resource $link , string $dbname )

maxdb_select_db() sélectionne la base de données (spécifiée par le paramètre dbname) a être utilisée lors de l'exécution de requête sur la connexion représentée par le paramètre link.

Note: Cette fonction ne doit être utilisée que pour changer de base de données pour une connexion donnée. Vous pouvez sélectionner une base de données par défaut en utilisant le quatrième paramètres dans la fonction maxdb_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Retourne le nom de la base de données courante */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
    $row = $result->fetch_row();
    printf("La base de données par défaut est %s.\n", $row[0]);
    $result->close();
}

/* Changement de base de données en une base inexistante */
$maxdb->select_db("XXXXXXXX");

/* Retourne le nom de la base de données courante */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
    $row = $result->fetch_row();
    printf("La base de données courante est %s.\n", $row[0]);
    $result->close();
}

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Retourne le nom de la base de données courante */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
    $row = maxdb_fetch_row($result);
    printf("La base de données par défaut est %s.\n", $row[0]);
    maxdb_free_result($result);
}

/* Changement de base de données en une base inexistante */
maxdb_select_db($link, "XXXXXXXX");

/* Retourne le nom de la base de données courante */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
    $row = maxdb_fetch_row($result);
    printf("La base de données courante est %s.\n", $row[0]);
    maxdb_free_result($result);
}

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

La base de données courante est <...>.

Warning: maxdb_select_db(): -10709 Connection failed (RTE:database not running) <...>

Warning: maxdb_query(): -10821 Session not connected [] <...>

Warning: maxdb_close(): -10821 Session not connected [] <...>

Voir aussi

  • maxdb_connect() - Ouvre une nouvelle connexion sur un serveur MaxDB
  • maxdb_real_connect() - Ouvre une connexion sur un serveur MaxDB

maxdb_rpl_query_type
maxdb_send_long_data
Fonctions MaxDB


Alias de maxdb_stmt_send_long_data

maxdb_select_db
maxdb_send_query
Fonctions MaxDB
PHP Manual

maxdb_send_long_data

(PECL maxdb >= 1.0)

maxdb_send_long_data — Alias de maxdb_stmt_send_long_data()

Description

Cette fonction est un alias de : maxdb_stmt_send_long_data().

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

maxdb_select_db
maxdb_send_query
Fonctions MaxDB


Envoie une requête et retourne

maxdb_send_long_data
maxdb_server_end
Fonctions MaxDB
PHP Manual

maxdb_send_query

maxdb::send_query

(PECL maxdb >= 1.0)

maxdb_send_query -- maxdb::send_query — Envoie une requête et retourne

Description

Style procédural

bool maxdb_send_query ( resource $link , string $query )

Style orienté objet

bool maxdb::send_query ( string $query )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_send_long_data
maxdb_server_end
Fonctions MaxDB


Éteint un serveur embarqué

maxdb_send_query
maxdb_server_init
Fonctions MaxDB
PHP Manual

maxdb_server_end

(PECL maxdb >= 1.0)

maxdb_server_end — Éteint un serveur embarqué

Description

void maxdb_server_end ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_send_query
maxdb_server_init
Fonctions MaxDB


Initialise un serveur embarqué

maxdb_server_end
maxdb_set_opt
Fonctions MaxDB
PHP Manual

maxdb_server_init

(PECL maxdb >= 1.0)

maxdb_server_init — Initialise un serveur embarqué

Description

bool maxdb_server_init ([ array $server [, array $groups ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_server_end
maxdb_set_opt
Fonctions MaxDB


Alias de maxdb_options

maxdb_server_init
maxdb_sqlstate
Fonctions MaxDB
PHP Manual

maxdb_set_opt

(PECL maxdb 1.0)

maxdb_set_opt — Alias de maxdb_options()

Description

Cette fonction est un alias de : maxdb_options().

maxdb_server_init
maxdb_sqlstate
Fonctions MaxDB


Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

maxdb_set_opt
maxdb_ssl_set
Fonctions MaxDB
PHP Manual

maxdb_sqlstate

maxdb->sqlstate

(PECL maxdb >= 1.0)

maxdb_sqlstate -- maxdb->sqlstate — Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

Description

Style procédural

string maxdb_sqlstate ( resource $link )

Style orienté objet

maxdb
string $sqlstate;

Retourne une chaîne contenant le code erreur SQLSTATE pour la dernière erreur. Le code erreur est composé de cinq caractères. '00000' signifie aucune erreur. Les valeurs sont spécifiées par ANSI SQL et ODBC.

Note: Notez que toutes les erreurs MaxDB ne sont pas encore implémentées dans SQLSTATE. La valeur HY000 (erreur générale) est utilisée pour les erreurs non implémentées.

Valeurs de retour

Retourne une chaîne contenant le code erreur SQLSTATE pour la dernière erreur. Le code erreur est composé de cinq caractères. '00000' signifie aucune erreur.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* La table City existe déjà, donc nous devrions avoir une erreur */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
    printf("Erreur - SQLSTATE %s.\n", $maxdb->sqlstate);
}

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* La table City existe déjà, donc nous devrions avoir une erreur */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
    printf("Erreur - SQLSTATE %s.\n", maxdb_sqlstate($link));
}

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
Erreur - SQLSTATE I6000.

Voir aussi

  • maxdb_errno() - Retourne le code erreur pour le dernier appel à une fonction
  • maxdb_error() - Retourne une chaîne représentant la dernière erreur

maxdb_set_opt
maxdb_ssl_set
Fonctions MaxDB


Utilisé pour établir une connexion sécurisée utilisant SSL

maxdb_sqlstate
maxdb_stat
Fonctions MaxDB
PHP Manual

maxdb_ssl_set

maxdb::ssl_set

(PECL maxdb >= 1.0)

maxdb_ssl_set -- maxdb::ssl_set — Utilisé pour établir une connexion sécurisée utilisant SSL

Description

Style procédural

bool maxdb_ssl_set ( resource $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Style orienté objet

bool maxdb::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_sqlstate
maxdb_stat
Fonctions MaxDB


Récupère le statut courant du système

maxdb_ssl_set
maxdb_stmt_affected_rows
Fonctions MaxDB
PHP Manual

maxdb_stat

maxdb::stat

(PECL maxdb >= 1.0)

maxdb_stat -- maxdb::stat — Récupère le statut courant du système

Description

Style procédural

string maxdb_stat ( resource $link )

Style orienté objet

string maxdb::stat ( void )

maxdb_stat() retourne une chaîne contenant plusieurs informations concernant le serveur MaxDB.

Valeurs de retour

Une chaîne décrivant le statut du serveur ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

printf ("Statut du système : %s\n", $maxdb->stat());

$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

printf("Statut du système : %s\n", maxdb_stat($link));

maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Statut du système : Kernel    7<...>

Voir aussi

  • maxdb_get_server_info() - Retourne la version du serveur MaxDB

maxdb_ssl_set
maxdb_stmt_affected_rows
Fonctions MaxDB


Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête

maxdb_stat
maxdb_stmt_bind_param
Fonctions MaxDB
PHP Manual

maxdb_stmt_affected_rows

maxdb_stmt->affected_rows

(PECL maxdb >= 1.0)

maxdb_stmt_affected_rows -- maxdb_stmt->affected_rows — Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête

Description

Style procédural

int maxdb_stmt_affected_rows ( resource $stmt )

Style orienté objet

maxdb_stmt
int $affected_rows;

maxdb_stmt_affected_rows() retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE. Si la dernière requête est invalide ou si le nombre de lignes ne peut être déterminé, cette fonction retournera -1.

Valeurs de retour

Un entier plus grand que zéro indique le nombre de lignes affectées ou récupérées. Zéro indique qu'aucun enregistrement n'a été mis à jour pour une requête UPDATE/DELETE; aucune ligne ne correspond à la clause WHERE d'une requête ou bien qu'aucun requête n'a été exécutée pour le moment. -1 indique que la requête a retournée une erreur ou bien que le nombre de lignes n'a pu être déterminé.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Création d'une table temporaire */
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* Prépare une requête */
if ($stmt = $maxdb->prepare($query)) {

    /* Lie les variables à un endroit */
    $code = 'N%';
    $stmt->bind_param("s", $code);

    /* Exécute la requête */
    $stmt->execute();

    printf("Lignes insérées : %d\n", $stmt->affected_rows);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Création d'une table temporaire */
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* Prépare une requête */
if ($stmt = maxdb_prepare($link, $query)) {

    /* Lie les variables à un endroit */
    $code = 'N%';
    maxdb_stmt_bind_param($stmt, "s", $code);

    /* Exécute la requête */
    maxdb_stmt_execute($stmt);

    printf("Lignes insérées : %d\n", maxdb_stmt_affected_rows($stmt));

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Lignes insérées : 4

Voir aussi

  • maxdb_stmt_num_rows() - Retourne le nombre de lignes dans le jeu de résultats
  • maxdb_prepare() - Prépare une requête SQL pour exécution

maxdb_stat
maxdb_stmt_bind_param
Fonctions MaxDB


Lie les variables à une requête préparée en tant que paramètres

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
Fonctions MaxDB
PHP Manual

maxdb_stmt_bind_param

maxdb_stmt::bind_param

(PECL maxdb >= 1.0)

maxdb_stmt_bind_param -- maxdb_stmt::bind_param — Lie les variables à une requête préparée en tant que paramètres

Description

Style procédural

bool maxdb_stmt_bind_param ( resource $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Style orienté objet

bool maxdb_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Style procédural (syntaxe étendue) :

bool maxdb_stmt_bind_param ( resource $stmt , string $types , array &$var )

Style orienté objet (syntaxe étendue) :

bool maxdb_stmt::bind_param ( string $types , array &$var )

maxdb_stmt_bind_param() est utilisé pour lier les variables pour les marqueurs dans la requête SQL qui a été passée à maxdb_prepare(). La chaîne types contient un ou plusieurs caractères qui spécifient le(s) type(s) correspondant aux variables liées.

La syntaxe étendue de maxdb_stmt_bind_param() permet de passer les paramètres en tant que tableaux plutôt qu'en tant que listes de variables PHP à la fonction. Si le tableau de variables n'a pas été utilisé avant l'appel à la fonction maxdb_stmt_bind_param(), il doit être initialisé en tant que tableau vide. Voir les exemples sur l'utilisation de la fonction maxdb_stmt_bind_param() avec la syntaxe étendue.

Les variables pour les requêtes SELECT INTO SQL peuvent également être liées en utilisant la fonction maxdb_stmt_bind_param(). Les paramètres pour les procédures de base de données peuvent être liés en utilisant la fonction maxdb_stmt_bind_param(). Voir les exemples sur l'utilisation de la fonction maxdb_stmt_bind_param() dans ce cas.

Si une variable liée comme variable INTO à une requête SQL a été utilisée avant, le contenu de cette variable sera écrasé par les données de la requête SELECT INTO. Une référence sur cette variable sera invalide après un appel à la fonction maxdb_stmt_bind_param().

Pour les paramètres INOUT des procédures de base de données, le contenu de la variable liée INOUT sera écrasé par la valeur de sortie de la procédure de la base de données. Une référence sur cette variable sera invalide après un appel à la fonction maxdb_stmt_bind_param().

Caractères spécifiant les types
Caractères | Description
i | correspond à une variable de type entier
d | correspond à une variable de type nombre décimal
s | correspond à une variable de type chaîne de caractères
b | correspond à une variable de type blob et sera envoyée dans le paquet

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* Exécution de la requête préparée */
$stmt->execute();

printf("%d ligne insérée.\n", $stmt->affected_rows);

/* Fermeture de la requête */
$stmt->close();

/* Nettoyage de la table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d ligne effacée.\n", $maxdb->affected_rows);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query ($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query ($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = maxdb_prepare($link, "INSERT INTO temp.mycity VALUES (?, ?, ?)");
maxdb_stmt_bind_param($stmt, 'sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* Exécution de la requête préparée */
maxdb_stmt_execute($stmt);

printf("%d ligne insérée.\n", maxdb_stmt_affected_rows($stmt));

/* Fermeture de la requête */
maxdb_stmt_close($stmt);

/* Nettoyage de la table CountryLanguage */
maxdb_query($link, "DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d ligne effacée.\n", maxdb_affected_rows($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1 ligne insérée.
1 ligne effacée.

Exemple #3 Style procédural (SELECT INTO)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Exécution d'une requête SQL */
$stmt = maxdb_prepare ($link, "SELECT price INTO ? FROM hotel.room where hno = ? and type = ?");
if (!$stmt) {
    printf ("Echec de la préparation : %s\n", maxdb_error($link));
}

$hno = "50";
$rtype = "suite";

maxdb_stmt_bind_param($stmt, 'dss', $price, $hno, $rtype);
maxdb_stmt_execute($stmt);

printf ("%f\n", $price);

maxdb_stmt_close ($stmt);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

21.600000

Exemple #4 Style procédural (avec procédure de base)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Exécution d'une requête SQL */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
    printf ("Echec de la préparation : %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a

Exemple #5 Style orienté objet (syntaxe étendue)

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Connect failed: %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");

$arr = array();

$stmt->bind_param('iss', $arr);

$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';

/* Exécution de la requête préparée */
$stmt->execute();

printf("%d ligne insérée.\n", maxdb_stmt_affected_rows($stmt));

$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';

/* Exécution de la requête préparée */
$stmt->execute();

printf("%d ligne insérée.\n", $stmt->affected_rows);

/* Fermeture de la requête et de la connexion */
$stmt->close();

$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
    while ($row = $result->fetch_row()) {
        printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
    }
}

/* Nettoyage de la table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d lignes effacées.\n", $maxdb->affected_rows);

/* Fermeture de la connexion */
$maxdb->close();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1 ligne insérée.
1 ligne insérée.
11111 Georgetown NY
22222 New Orleans LA
2 lignes effacées.

Voir aussi

  • maxdb_stmt_bind_result() - Lie les variables à une requête préparée pour stockage du résultat
  • maxdb_stmt_execute() - Exécute une requête préparée
  • maxdb_stmt_fetch() - Récupère les résultats depuis la requête préparée dans les variables liées
  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_send_long_data() - Envoie un bloc de données
  • maxdb_stmt_errno() - Retourne le code erreur pour le dernier appel à une fonction de requête
  • maxdb_stmt_error() - Retourne une description de la dernière erreur

maxdb_stmt_affected_rows
maxdb_stmt_bind_result
Fonctions MaxDB


Lie les variables à une requête préparée pour stockage du résultat

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
Fonctions MaxDB
PHP Manual

maxdb_stmt_bind_result

maxdb_stmt::bind_result

(PECL maxdb >= 1.0)

maxdb_stmt_bind_result -- maxdb_stmt::bind_result — Lie les variables à une requête préparée pour stockage du résultat

Description

Style procédural

bool maxdb_stmt_bind_result ( resource $stmt , mixed &$var1 [, mixed &$... ] )

Style orienté objet

bool maxdb_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

maxdb_stmt_bind_result() est utilisé pour associer (lier) les colonnes du jeu de résultats à des variables. Lorsque maxdb_stmt_fetch() est appelé pour récupérer les données, Le protocole client/serveur MaxDB place les données pour les colonnes liées dans les variables spécifiées var1, ....

Note: Notez que toutes les colonnes doivent être liées avant l'appel à maxdb_stmt_fetch(). Les variables liées peuvent être modifiées en leur type PHP correspondant suivant le type des colonnes.
Une colonne peut être liée ou reliée à n'importe quel moment, y compris après la récupération d'une partie du jeu de résultats. La nouvelle association prend effet au prochain appel à maxdb_stmt_fetch().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Préparation de la requête */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
    $stmt->execute();

    /* Lie les variables à la requête préparée */
    $stmt->bind_result($col1, $col2);

    /* Récupération des valeurs */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* Fermeture de la requête */
    $stmt->close();
}
/* Fermeture de la connexion */
$maxdb->close();

?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (!$link) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Préparation de la requête */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
    maxdb_stmt_execute($stmt);

    /* Lie les variables à la requête préparée */
    maxdb_stmt_bind_result($stmt, $col1, $col2);

    /* Récupération des valeurs */
    while (maxdb_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

12203 Albany
60601 Chicago
60615 Chicago
45211 Cincinnati
33575 Clearwater
75243 Dallas
32018 Daytona Beach
33441 Deerfield Beach
48226 Detroit
90029 Hollywood
92714 Irvine
90804 Long Beach
11788 Long Island
90018 Los Angeles
70112 New Orleans
10019 New York
10580 New York
92262 Palm Springs
97213 Portland
60018 Rosemont
95054 Santa Clara
20903 Silver Spring
20005 Washington
20019 Washington
20037 Washington

Voir aussi

  • maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres
  • maxdb_stmt_execute() - Exécute une requête préparée
  • maxdb_stmt_fetch() - Récupère les résultats depuis la requête préparée dans les variables liées
  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_init() - Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare
  • maxdb_stmt_errno() - Retourne le code erreur pour le dernier appel à une fonction de requête
  • maxdb_stmt_error() - Retourne une description de la dernière erreur

maxdb_stmt_bind_param
maxdb_stmt_close_long_data
Fonctions MaxDB


Termine une séquence maxdb_stmt_send_long_data

maxdb_stmt_bind_result
maxdb_stmt_close
Fonctions MaxDB
PHP Manual

maxdb_stmt_close_long_data

maxdb_stmt::close_long_data

(PECL maxdb 1.0)

maxdb_stmt_close_long_data -- maxdb_stmt::close_long_data — Termine une séquence maxdb_stmt_send_long_data()

Description

Style procédural

bool maxdb_stmt_close_long_data ( resource $stmt , int $param_nr )

Style orienté objet

bool maxdb_stmt::close_long_data ( void )

Cette fonction doit être appelée après une séquence de maxdb_stmt_send_long_data(), qui a été commencée après maxdb_execute().

param_nr indique quel paramètre à associer avec la fin des données. Les paramètres sont numérotés en commençant à 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres

maxdb_stmt_bind_result
maxdb_stmt_close
Fonctions MaxDB


Ferme une requête préparée

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
Fonctions MaxDB
PHP Manual

maxdb_stmt_close

maxdb_stmt::close

(PECL maxdb >= 1.0)

maxdb_stmt_close -- maxdb_stmt::close — Ferme une requête préparée

Description

Style procédural

bool maxdb_stmt_close ( resource $stmt )

Style orienté objet

bool maxdb_stmt::close ( void )

Ferme une requête préparée. maxdb_stmt_close() Libère également le gestionnaire de requête représenté par stmt. Si la requête courante est en attente ou a des résultats non lus, cette fonction s'interrompt et ainsi, la prochaine requête peut être exécutée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution

maxdb_stmt_close_long_data
maxdb_stmt_data_seek
Fonctions MaxDB


Se positionne sur une ligne arbitraire dans le jeu de résultats

maxdb_stmt_close
maxdb_stmt_errno
Fonctions MaxDB
PHP Manual

maxdb_stmt_data_seek

maxdb_stmt::data_seek

(PECL maxdb >= 1.0)

maxdb_stmt_data_seek -- maxdb_stmt::data_seek — Se positionne sur une ligne arbitraire dans le jeu de résultats

Description

Style procédural

bool maxdb_stmt_data_seek ( resource $statement , int $offset )

Style orienté objet

bool maxdb_stmt::data_seek ( int $offset )

maxdb_stmt_data_seek() déplace le pointeur sur une ligne arbitraire offset du jeu de résultat statement. Le paramètre offset doit être compris entre zéro et le nombre total de lignes moins un (0..maxdb_stmt_num_rows() - 1).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouvre une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

    /* Exécute une requête */
    $stmt->execute();

    /* Lie les variables de résultats */
    $stmt->bind_result($name, $code);

    /* Stock le résultat */
    $stmt->store_result();

    /* Se place sur la ligne no. 5 */
    $stmt->data_seek(5);

    /* Récupère les valeurs */
    $stmt->fetch();

    printf ("Ville : %s  Code postal : %s\n", $name, $code);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
/* Ouvre une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

    /* Exécute une requête */
    maxdb_stmt_execute($stmt);

    /* Lie les variables de résultats */
    maxdb_stmt_bind_result($stmt, $name, $code);

    /* Stock le résultat */
    maxdb_stmt_store_result($stmt);

    /* Se place sur la ligne no. 5 */
    maxdb_stmt_data_seek($stmt, 5);

    /* Récupère les valeurs */
    maxdb_stmt_fetch($stmt);

    printf ("Ville : %s  Code postal : %s\n", $name, $code);

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Ville : Dallas  Code postal : 75243

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution

maxdb_stmt_close
maxdb_stmt_errno
Fonctions MaxDB


Retourne le code erreur pour le dernier appel à une fonction de requête

maxdb_stmt_data_seek
maxdb_stmt_error
Fonctions MaxDB
PHP Manual

maxdb_stmt_errno

maxdb_stmt->errno

(PECL maxdb >= 1.0)

maxdb_stmt_errno -- maxdb_stmt->errno — Retourne le code erreur pour le dernier appel à une fonction de requête

Description

Style procédural

int maxdb_stmt_errno ( resource $stmt )

Style orienté objet

maxdb_stmt
int $errno;

Pour la requête spécifiée par le paramètre stmt, maxdb_stmt_errno() retourne le code erreur pour l'appel le plus récent à une fonction de requête, qu'elle ait réussie ou échouée.

Note: Pour une liste des codes erreurs possibles, lisez la documentation SQLDBC: » http://maxdb.sap.com/documentation/.

Valeurs de retour

Un code erreur. Zéro signifie qu'aucune erreur n'est survenue.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouvre une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

    /* Efface une table */
    $maxdb->query("DROP TABLE temp.mycity");

    /* Exécute une requête */
    $stmt->execute();

    printf("Erreur : %d.\n", $stmt->errno);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
/* Ouvre une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

    /* Efface une table */
    maxdb_query($link, "DROP TABLE temp.mycity");

    /* Exécute une requête */
    maxdb_stmt_execute($stmt);

    printf("Erreur : %d.\n", maxdb_stmt_errno($stmt));

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Erreur : -4004.

Voir aussi

  • maxdb_stmt_error() - Retourne une description de la dernière erreur
  • maxdb_stmt_sqlstate() - Retourne une erreur SQLSTATE depuis la requête précédente

maxdb_stmt_data_seek
maxdb_stmt_error
Fonctions MaxDB


Retourne une description de la dernière erreur

maxdb_stmt_errno
maxdb_stmt_execute
Fonctions MaxDB
PHP Manual

maxdb_stmt_error

maxdb_stmt->error

(PECL maxdb >= 1.0)

maxdb_stmt_error -- maxdb_stmt->error — Retourne une description de la dernière erreur

Description

Style procédural

string maxdb_stmt_error ( resource $stmt )

Style orienté objet

maxdb_stmt
string $error;

Pour la requête spécifiée par le paramètre stmt, maxdb_stmt_error() retourne un message d'erreur correspondant à la fonction de requête la plus récente, qu'elle ait échouée ou réussie.

Valeurs de retour

Une chaîne décrivant l'erreur. Une chaîne vide s'il n'y a aucune erreur.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouverture d'une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

    /* Effacement de la table */
    $maxdb->query("DROP TABLE temp.mycity");

    /* Exécute une requête */
    $stmt->execute();

    printf("Erreur : %s.\n", $stmt->error);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
/* Ouverture d'une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

    /* Effacement de la table */
    maxdb_query($link, "DROP TABLE temp.mycity");

    /* Exécute une requête */
    maxdb_stmt_execute($stmt);

    printf("Erreur : %s.\n", maxdb_stmt_error($stmt));

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Erreur : POS(23) Unknown table name:MYCITY.

Voir aussi

  • maxdb_stmt_errno() - Retourne le code erreur pour le dernier appel à une fonction de requête
  • maxdb_stmt_sqlstate() - Retourne une erreur SQLSTATE depuis la requête précédente

maxdb_stmt_errno
maxdb_stmt_execute
Fonctions MaxDB


Exécute une requête préparée

maxdb_stmt_error
maxdb_stmt_fetch
Fonctions MaxDB
PHP Manual

maxdb_stmt_execute

maxdb_stmt::execute

(PECL maxdb >= 1.0)

maxdb_stmt_execute -- maxdb_stmt::execute — Exécute une requête préparée

Description

Style procédural

bool maxdb_stmt_execute ( resource $stmt )

Style orienté objet

bool maxdb_stmt::execute ( void )

maxdb_stmt_execute() exécute une requête qui a été préparée auparavant en utilisant la fonction maxdb_prepare() représenté par la ressource stmt. Lors de l'exécution, tous les marqueurs existants seront automatiquement remplacés par les données appropriées.

Si la requête est du type UPDATE, DELETE ou INSERT, le nombre total de lignes affectées peut être déterminé en utilisant la fonction maxdb_stmt_affected_rows(). De même, si la requête rapporte un jeu de résultats, la fonction maxdb_fetch() est utilisée.

Note: Lors de l'utilisation de la fonction maxdb_stmt_execute(), la fonction maxdb_fetch() doit être utilisée pour récupérer les données avant d'effectuer toute autre requête additionnelle.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* Prépare une requête d'insertion */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Exécute la requête */
$stmt->execute();

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Exécute la requête */
$stmt->execute();

/* Fermeture de la requête */
$stmt->close();

/* Récupère toutes les lignes depuis myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* Libération du jeu de résultats */
    $result->close();
}

/* Effacement de la table */
$maxdb->query("DROP TABLE temp.mycity");

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* Prépare une requête d'insertion */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);

maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Exécute la requête */
maxdb_stmt_execute($stmt);

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Exécute la requête */
maxdb_stmt_execute($stmt);

/* Fermeture de la requête */
maxdb_stmt_close($stmt);

/* Récupère toutes les lignes depuis myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
    while ($row = maxdb_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* Libération du jeu de résultats */
    maxdb_free_result($result);
}

/* Effacement de la table */
maxdb_query($link, "DROP TABLE temp.mycity");

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

11111 (Georgetown,NY)
22222 (Hubbatown,CA)

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres

maxdb_stmt_error
maxdb_stmt_fetch
Fonctions MaxDB


Récupère les résultats depuis la requête préparée dans les variables liées

maxdb_stmt_execute
maxdb_stmt_free_result
Fonctions MaxDB
PHP Manual

maxdb_stmt_fetch

maxdb_stmt::fetch

(PECL maxdb >= 1.0)

maxdb_stmt_fetch -- maxdb_stmt::fetch — Récupère les résultats depuis la requête préparée dans les variables liées

Description

Style procédural

bool maxdb_stmt_fetch ( resource $stmt )

Style orienté objet

bool maxdb_stmt::fetch ( void )

maxdb_stmt_fetch() retourne les données de lignes en utilisant les variables liées par la fonction maxdb_stmt_bind_result().

Note: Notez que toutes les colonnes doivent être liées par l'application avant l'appel à la fonction maxdb_stmt_fetch().

Valeurs de retour

Valeurs retournées
Valeur | Description
TRUE | Succès. Les données ont été récupérées
FALSE | Une erreur est survenue
NULL | Il n'y a plus de lignes/données disponibles

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = $maxdb->prepare($query)) {

    /* Exécution de la requête */
    $stmt->execute();

    /* Lie les variables de résultats */
    $stmt->bind_result($name, $code);

    /* Récupération des valeurs */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = maxdb_prepare($link, $query)) {

    /* Exécution de la requête */
    maxdb_stmt_execute($stmt);

    /* Lie les variables de résultats */
    maxdb_stmt_bind_result($stmt, $name, $code);

    /* Récupération des valeurs */
    while (maxdb_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

12203 (Albany)
60601 (Chicago)
60615 (Chicago)
45211 (Cincinnati)
33575 (Clearwater)
75243 (Dallas)
32018 (Daytona Beach)
33441 (Deerfield Beach)
48226 (Detroit)
90029 (Hollywood)
92714 (Irvine)
90804 (Long Beach)
11788 (Long Island)
90018 (Los Angeles)
70112 (New Orleans)
10019 (New York)
10580 (New York)
92262 (Palm Springs)
97213 (Portland)
60018 (Rosemont)
95054 (Santa Clara)
20903 (Silver Spring)
20005 (Washington)
20019 (Washington)
20037 (Washington)

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_errno() - Retourne le code erreur pour le dernier appel à une fonction de requête
  • maxdb_stmt_error() - Retourne une description de la dernière erreur
  • maxdb_stmt_bind_result() - Lie les variables à une requête préparée pour stockage du résultat

maxdb_stmt_execute
maxdb_stmt_free_result
Fonctions MaxDB


Libère la mémoire des résultats stockés pour un gestionnaire de requête donné

maxdb_stmt_fetch
maxdb_stmt_init
Fonctions MaxDB
PHP Manual

maxdb_stmt_free_result

maxdb_stmt::free_result

(PECL maxdb >= 1.0)

maxdb_stmt_free_result -- maxdb_stmt::free_result — Libère la mémoire des résultats stockés pour un gestionnaire de requête donné

Description

Style procédural

void maxdb_stmt_free_result ( resource $stmt )

Style orienté objet

void maxdb_stmt::free_result ( void )

maxdb_stmt_free_result() libère la mémoire des résultats associés avec la requête représentée par le paramètre stmt, qui a été alloué avec la fonction maxdb_stmt_store_result().

Valeurs de retour

Cette fonction ne retourne aucune valeur.

Voir aussi

  • maxdb_stmt_store_result() - Transfert un jeu de résultats depuis une requête préparée

maxdb_stmt_fetch
maxdb_stmt_init
Fonctions MaxDB


Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare

maxdb_stmt_free_result
maxdb_stmt_num_rows
Fonctions MaxDB
PHP Manual

maxdb_stmt_init

maxdb->stmt_init

(PECL maxdb >= 1.0)

maxdb_stmt_init -- maxdb->stmt_init — Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare

Description

Style procédural

resource maxdb_stmt_init ( resource $link )

Style orienté objet

maxdb
object stmt_init ( void )

Alloue et initialise une ressource de requête utilisable pour la fonction maxdb_stmt_prepare().

Note: Tous les appels de sous-séquence à n'importe quel fonction maxdb_stmt échoueront tant que la fonction maxdb_stmt_prepare() ne sera pas appelée.

Valeurs de retour

Retourne une ressource.

Voir aussi

  • maxdb_stmt_prepare() - Prépare une requête SQL pour exécution

maxdb_stmt_free_result
maxdb_stmt_num_rows
Fonctions MaxDB


Retourne le nombre de lignes dans le jeu de résultats

maxdb_stmt_init
maxdb_stmt_param_count
Fonctions MaxDB
PHP Manual

maxdb_stmt_num_rows

maxdb_stmt->num_rows

(PECL maxdb >= 1.0)

maxdb_stmt_num_rows -- maxdb_stmt->num_rows — Retourne le nombre de lignes dans le jeu de résultats

Description

Style procédural

int maxdb_stmt_num_rows ( resource $stmt )

Style orienté objet

maxdb_stmt
int $num_rows;

Retourne le nombre de lignes dans le jeu de résultats.

Valeurs de retour

Un entier représentant le nombre de lignes dans le jeu de résultats.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouvre une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

    /* Exécute une requête */
    $stmt->execute();

    /* Stock le résultat */
    $stmt->store_result();

    printf("Nombre de lignes : %d.\n", $stmt->num_rows);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
/* Ouvre une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

    /* Exécute une requête */
    maxdb_stmt_execute($stmt);

    /* Stock le résultat */
    maxdb_stmt_store_result($stmt);

    printf("Nombre de lignes : %d.\n", maxdb_stmt_num_rows($stmt));

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nombre de lignes : 25.

Voir aussi

  • maxdb_stmt_affected_rows() - Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête
  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_store_result() - Transfert un jeu de résultats depuis une requête préparée

maxdb_stmt_init
maxdb_stmt_param_count
Fonctions MaxDB


Retourne le nombre de marqueurs pour une requête donnée

maxdb_stmt_num_rows
maxdb_stmt_prepare
Fonctions MaxDB
PHP Manual

maxdb_stmt_param_count

maxdb_stmt->param_count

(PECL maxdb >= 1.0)

maxdb_stmt_param_count -- maxdb_stmt->param_count — Retourne le nombre de marqueurs pour une requête donnée

Description

Style procédural

int maxdb_stmt_param_count ( resource $stmt )

Style orienté objet

maxdb_stmt
int $param_count;

maxdb_stmt_param_count() retourne le nombre de marqueurs présent dans une requête préparée.

Valeurs de retour

Retourne un entier représentant le nombre de marqueurs.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($stmt = $maxdb->prepare("SELECT name FROM hotel.city WHERE name=? OR state=?")) {

    $marker = $stmt->param_count;
    printf("Statement has %d markers.\n", $marker);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

if ($stmt = maxdb_prepare($link, "SELECT name FROM hotel.city WHERE name=? OR state=?")) {

    $marker = maxdb_stmt_param_count($stmt);
    printf("La requête contient %d marqueurs.\n", $marker);

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

La requête contient 2 marqueurs.

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution

maxdb_stmt_num_rows
maxdb_stmt_prepare
Fonctions MaxDB


Prépare une requête SQL pour exécution

maxdb_stmt_param_count
maxdb_stmt_reset
Fonctions MaxDB
PHP Manual

maxdb_stmt_prepare

maxdb_stmt::prepare

(PECL maxdb >= 1.0)

maxdb_stmt_prepare -- maxdb_stmt::prepare — Prépare une requête SQL pour exécution

Description

Style procédural

bool maxdb_stmt_prepare ( resource $stmt , string $query )

Style orienté objet

mixed maxdb_stmt::prepare ( string $query )

maxdb_stmt_prepare() prépare une requête SQL pointée par une chaîne. La ressource de requête doit avoir été allouée par la fonction maxdb_stmt_init(). La requête doit être constituée d'une simple requête SQL.

Note: Vous ne devez pas ajouter de point-virgule final ou \g à la requête.

Le paramètre query peut inclure un ou plusieurs marqueurs de paramètres dans la requête SQL en y intégrant des points d'exclamations (?) à une position appropriée.

Note: Les marqueurs sont autorisés uniquement à des positions précises dans les requêtes SQL. Par exemple, ils sont autorisés dans la liste VALUE() d'une requête INSERT (pour spécifier une valeur de colonne pour une ligne), ou dans une comparaison avec une colonne dans une clause WHERE pour spécifier une valeur de comparaison.
Cependant, ils ne sont pas autorisés pour les identifiants (comme les noms de tables ou de colonnes), dans la liste SELECT qui nomme les colonnes à être retournées par les requêtes SELECT), ou pour spécifier les opérants d'un opérateur binaire comme le signe égal (=). La dernière restriction est nécessaire car il est impossible de déterminer le type du paramètre. En général, les paramètres sont légaux uniquement dans les requêtes Data Manipulation Languange (DML) et non dans les requêtes Data Defination Language (DDL).

Les marqueurs doit être liés aux variables en utilisant les fonctions maxdb_stmt_bind_param() et/ou maxdb_stmt_bind_result() avant d'exécuter la requête ou de récupérer les lignes.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$city = "Portland";

/* Création d'une requête préparée */
$stmt =  $maxdb->stmt_init();
if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {

    /* Lie les paramètres aux marqueurs */
    $stmt->bind_param("s", $city);

    /* Exécute la requête */
    $stmt->execute();

    /* Lie les variables de résultats */
    $stmt->bind_result($district);

    /* Récupère la valeur */
    $stmt->fetch();

    printf("%s est dans %s\n", $city, $district);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$city = "Portland";

/* Création d'une requête préparée */
$stmt = maxdb_stmt_init($link);
if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {

    /* Lie les paramètres aux marqueurs */
    maxdb_stmt_bind_param($stmt, "s", $city);

    /* Exécute la requête */
    maxdb_stmt_execute($stmt);

    /* Lie les variables de résultats */
    maxdb_stmt_bind_result($stmt, $district);

    /* Récupère la valeur */
    maxdb_stmt_fetch($stmt);

    printf("%s est dans %s\n", $city, $district);

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Portland est dans OR

Voir aussi

  • maxdb_stmt_init() - Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare
  • maxdb_stmt_execute() - Exécute une requête préparée
  • maxdb_stmt_fetch() - Récupère les résultats depuis la requête préparée dans les variables liées
  • maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres
  • maxdb_stmt_bind_result() - Lie les variables à une requête préparée pour stockage du résultat
  • maxdb_stmt_close() - Ferme une requête préparée

maxdb_stmt_param_count
maxdb_stmt_reset
Fonctions MaxDB


Réinitialise une requête préparée

maxdb_stmt_prepare
maxdb_stmt_result_metadata
Fonctions MaxDB
PHP Manual

maxdb_stmt_reset

maxdb_stmt::reset

(PECL maxdb >= 1.0)

maxdb_stmt_reset -- maxdb_stmt::reset — Réinitialise une requête préparée

Description

Style procédural

bool maxdb_stmt_reset ( resource $stmt )

Style orienté objet

bool maxdb_stmt::reset ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

maxdb_stmt_prepare
maxdb_stmt_result_metadata
Fonctions MaxDB


Retourne les métadonnées du jeu de résultats pour une requête préparée

maxdb_stmt_reset
maxdb_stmt_send_long_data
Fonctions MaxDB
PHP Manual

maxdb_stmt_result_metadata

maxdb_stmt::result_metadata

(PECL maxdb >= 1.0)

maxdb_stmt_result_metadata -- maxdb_stmt::result_metadata — Retourne les métadonnées du jeu de résultats pour une requête préparée

Description

Style procédural

resource maxdb_stmt_result_metadata ( resource $stmt )

Style orienté objet

resource maxdb_stmt::result_metadata ( void )

Si la requête passée à maxdb_prepare() est une de celle puisant un jeu de résultats, maxdb_stmt_result_metadata() retourne la ressource de résultats qui peut être utilisée pour récupérer les métadonnées comme, le nombre total de champs et les informations individuelles d'un champs.

Note: Ce pointeur de résultats peut être passé comme argument à n'importe quelle fonction basé sur les champs qui traite les métadonnées, comme :

  • maxdb_num_fields()

  • maxdb_fetch_field()

  • maxdb_fetch_field_direct()

  • maxdb_fetch_fields()

  • maxdb_field_count()

  • maxdb_field_seek()

  • maxdb_field_tell()

  • maxdb_free_result()

La structure du jeu de résultats doit être libérée lorsque vous en avez terminé avec, ce qui est obtenu en la passant à la fonction maxdb_free_result().

Note: Le jeu de résultat retourné par maxdb_stmt_result_metadata() contient uniquement des métadonnées. Il ne contient aucune ligne de résultats. Les lignes sont obtenues en utilisant le gestionnaire de requête avec la fonction maxdb_fetch().

Valeurs de retour

maxdb_stmt_result_metadata() retourne une ressource de résultats ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");

$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = $maxdb->prepare("SELECT id, name FROM temp.friends");
$stmt->execute();

/* Récupération du jeu de résultats pour les métadonnées */
$result = $stmt->result_metadata();

/* Récupère les informations d'un champs pour les métadonnées du jeu de résultats */
$field = $result->fetch_field();

printf("Nom du champs : %s\n", $field->name);

/* Fermeture du jeu de résultats */
$result->close();

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);

/* Récupération du jeu de résultats pour les métadonnées */
$result = maxdb_stmt_result_metadata($stmt);

/* Récupère les informations d'un champs pour les métadonnées du jeu de résultats */
$field = maxdb_fetch_field($result);

printf("Nom du champs : %s\n", $field->name);

/* Fermeture du jeu de résultats */
maxdb_free_result($result);

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nom du champs : ID

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_free_result() - Libère la mémoire associée à un résultat

maxdb_stmt_reset
maxdb_stmt_send_long_data
Fonctions MaxDB


Envoie un bloc de données

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
Fonctions MaxDB
PHP Manual

maxdb_stmt_send_long_data

maxdb_stmt::send_long_data

(PECL maxdb 1.0)

maxdb_stmt_send_long_data -- maxdb_stmt::send_long_data — Envoie un bloc de données

Description

Style procédural

bool maxdb_stmt_send_long_data ( resource $stmt , int $param_nr , string $data )

Style orienté objet

bool maxdb_stmt::stmt_send_long_data ( int $param_nr , string $data )

Permet d'envoyer les données au serveur sous forme de morceaux (ou gros morceaux). Cette fonction peut être appelée plusieurs fois pour envoyer les parties des caractères ou des valeurs de données binaires pour une colonne, qui peut être du type TEXT ou BLOB.

param_nr indique quel paramètre à associer avec les données. Les paramètres sont numérotés en commençant à 0. data est une chaîne contenant les données à envoyer.

Note: Pour des raisons d'efficacité, cette fonction doit être utilisée après l'appel à la fonction maxdb_execute(). Dans ce cas, les données ne sont pas stockées côté client. La fin de la séquence doit finir avec un appel à la fonction maxdb_stmt_close_long_data().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres

maxdb_stmt_result_metadata
maxdb_stmt_sqlstate
Fonctions MaxDB


Retourne une erreur SQLSTATE depuis la requête précédente

maxdb_stmt_send_long_data
maxdb_stmt_store_result
Fonctions MaxDB
PHP Manual

maxdb_stmt_sqlstate

(PECL maxdb >= 1.0)

maxdb_stmt_sqlstate — Retourne une erreur SQLSTATE depuis la requête précédente

Description

string maxdb_stmt_sqlstate ( resource $stmt )

Retourne une chaîne contenant un code erreur SQLSTATE depuis la fonction de requête préparée la plus récente qu'elle ait réussie ou échouée. Le code erreur est composé de cinq caractères. '00000' signifie aucune erreur. La valeur est spécifiée par ANSI SQL et ODBC.

Note: Notez que toutes les erreurs MaxDB ne sont pas encore liées à SQLSTATE. La valeur HY000 (erreur général) est utilisée pour les erreurs non liées.

Valeurs de retour

Retourne une chaîne contenant le code erreur SQLSTATE pour la dernière erreur. Le code erreur est composé de cinq caractères. '00000' signifie aucune erreur.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouvre une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

    /* Efface la table */
    $maxdb->query("DROP TABLE temp.mycity");

    /* Exécute une requête */
    $stmt->execute();

    printf("Erreur : %s.\n", $stmt->sqlstate);

    /* Ferme la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
/* Ouvre une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

    /* Efface la table */
    maxdb_query($link, "DROP TABLE temp.mycity");

    /* Exécute une requête */
    maxdb_stmt_execute($stmt);

    printf("Erreur : %s.\n", maxdb_stmt_sqlstate($stmt));

    /* Ferme la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Erreur : 42000.

Voir aussi

  • maxdb_stmt_errno() - Retourne le code erreur pour le dernier appel à une fonction de requête
  • maxdb_stmt_error() - Retourne une description de la dernière erreur

maxdb_stmt_send_long_data
maxdb_stmt_store_result
Fonctions MaxDB


Transfert un jeu de résultats depuis une requête préparée

maxdb_stmt_sqlstate
maxdb_store_result
Fonctions MaxDB
PHP Manual

maxdb_stmt_store_result

maxdb::store_result

(PECL maxdb >= 1.0)

maxdb_stmt_store_result -- maxdb::store_result — Transfert un jeu de résultats depuis une requête préparée

Description

Style procédural

bool maxdb_stmt_store_result ( resource $stmt )

Style orienté objet

object maxdb::store_result ( void )

maxdb_stmt_store_result() n'a pas de fonctionnalité et ne devrait pas être utilisé pour récupérer les données depuis un serveur MaxDB.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
/* Ouvre une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

    /* Exécute une requête */
    $stmt->execute();

    /* Stock le résultat */
    $stmt->store_result();

    printf("Nombre de lignes : %d.\n", $stmt->num_rows);

    /* Libération du résultat */
    $stmt->free_result();

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
/* Ouvre une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

    /* Exécute une requête */
    maxdb_stmt_execute($stmt);

    /* Stock le résultat */
    maxdb_stmt_store_result($stmt);

    printf("Nombre de lignes : %d.\n", maxdb_stmt_num_rows($stmt));

    /* Libération du résultat */
    maxdb_stmt_free_result($stmt);

    /* Fermeture de la requête */
    maxdb_stmt_close($stmt);
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nombre de lignes : 25.

Voir aussi

  • maxdb_prepare() - Prépare une requête SQL pour exécution
  • maxdb_stmt_result_metadata() - Retourne les métadonnées du jeu de résultats pour une requête préparée
  • maxdb_fetch() - Alias de maxdb_stmt_fetch

maxdb_stmt_sqlstate
maxdb_store_result
Fonctions MaxDB


Transfert un jeu de résultats depuis la dernière requête

maxdb_stmt_store_result
maxdb_thread_id
Fonctions MaxDB
PHP Manual

maxdb_store_result

maxdb::store_result

(PECL maxdb >= 1.0)

maxdb_store_result -- maxdb::store_result — Transfert un jeu de résultats depuis la dernière requête

Description

Style procédural

resource maxdb_store_result ( resource $link )

Style orienté objet

object maxdb::store_result ( void )

Cette fonction n'a aucune fonctionnalité.

Valeurs de retour

Retourne une ressource de résultats ou FALSE si une erreur survient.

Exemples

Voir la documentation de la fonction maxdb_multi_query().

Voir aussi

  • maxdb_real_query() - Exécute une requête SQL
  • maxdb_use_result() - Initialise un jeu de résultats

maxdb_stmt_store_result
maxdb_thread_id
Fonctions MaxDB


Retourne l'identifiant du thread pour la connexion courante

maxdb_store_result
maxdb_thread_safe
Fonctions MaxDB
PHP Manual

maxdb_thread_id

maxdb->thread_id

(PECL maxdb >= 1.0)

maxdb_thread_id -- maxdb->thread_id — Retourne l'identifiant du thread pour la connexion courante

Description

Style procédural

int maxdb_thread_id ( resource $link )

Style orienté objet

maxdb
int $thread_id;

maxdb_thread_id() retourne l'identifiant du thread pour la connexion courante que l'on peut ensuite tuer en utilisant la fonction maxdb_kill(). Si la connexion est perdue et que vous vous reconnectez avec la fonction maxdb_ping(), l'identifiant du thread changera. De ce fait, vous ne devez récupérer l'identifiant du thread que lorsque vous en avez besoin.

Note: L'identifiant du thread est assigné à chaque connexion. De ce fait, si la connexion est interrompue puis établie à nouveau, un nouvel identifiant du thread sera assigné.

Valeurs de retour

maxdb_thread_id() retourne l'identifiant du thread pour la connexion courante.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Détermine notre identifiant de thread */
$thread_id = $maxdb->thread_id;

/* Tue la connexion */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE mycity LIKE hotel.city")) {
    printf("Erreur : %s\n", $maxdb->error);
    exit;
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

/* Détermine notre identifiant de thread */
$thread_id = maxdb_thread_id($link);

/* Tue la connexion */
maxdb_kill($link, $thread_id);

/* Ceci devrait produire une erreur */
if (!maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city")) {
    printf("Erreur : %s\n", maxdb_error($link));
    exit;
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_query(): -10821 Session not connected <...>
Erreur : Session not connected

Voir aussi

  • maxdb_kill() - Déconnecte un serveur MaxDB

maxdb_store_result
maxdb_thread_safe
Fonctions MaxDB


Indique si le thread safety est donné ou non

maxdb_thread_id
maxdb_use_result
Fonctions MaxDB
PHP Manual

maxdb_thread_safe

(PECL maxdb >= 7.6.06.04)

maxdb_thread_safe — Indique si le thread safety est donné ou non

Description

bool maxdb_thread_safe ( void )

maxdb_thread_safe() indique si la bibliothèque cliente a été compilé en tant que thread safety.

Valeurs de retour

TRUE si la bibliothèque cliente est thread safety, FALSE sinon.

maxdb_thread_id
maxdb_use_result
Fonctions MaxDB


Initialise un jeu de résultats

maxdb_thread_safe
maxdb_warning_count
Fonctions MaxDB
PHP Manual

maxdb_use_result

maxdb::use_result

(PECL maxdb >= 1.0)

maxdb_use_result -- maxdb::use_result — Initialise un jeu de résultats

Description

Style procédural

resource maxdb_use_result ( resource $link )

Style orienté objet

resource maxdb::use_result ( void )

maxdb_use_result() n'a aucun effet.

Valeurs de retour

Retourne le résultat ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query  = "SELECT * FROM DUAL";

/* Exécute une requête multiple */
if ($maxdb->multi_query($query)) {
    do {
        /* Stock le premier jeu de résultat */
        if ($result = $maxdb->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* Affiche un séparateur */
        if ($maxdb->more_results()) {
            printf("-----------------\n");
        }
    } while ($maxdb->next_result());
}

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$query  = "SELECT * FROM DUAL;";

/* Exécute une requête multiple */
if (maxdb_multi_query($link, $query)) {
    do {
        /* Stock le premier jeu de résultat */
        if ($result = maxdb_use_result($link)) {
            while ($row = maxdb_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            maxdb_free_result($result);
        }
        /* Affiche un séparateur */
        if (maxdb_more_results($link)) {
            printf("-----------------\n");
        }
    } while (maxdb_next_result($link));
}

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

a

Voir aussi

  • maxdb_real_query() - Exécute une requête SQL
  • maxdb_store_result() - Transfert un jeu de résultats depuis la dernière requête

maxdb_thread_safe
maxdb_warning_count
Fonctions MaxDB


Retourne le nombre d'avertissements depuis la dernière requête pour un lien donné

maxdb_use_result
Mongo
Fonctions MaxDB
PHP Manual

maxdb_warning_count

maxdb->warning_count

(PECL maxdb >= 1.0)

maxdb_warning_count -- maxdb->warning_count — Retourne le nombre d'avertissements depuis la dernière requête pour un lien donné

Description

Style procédural

int maxdb_warning_count ( resource $link )

Style orienté objet

maxdb
int $warning_count;

maxdb_warning_count() retourne le nombre d'avertissements depuis la dernière requête dans la connexion représentée par le paramètre link.

Valeurs de retour

Nombre d'avertissements ou zéro s'il n'y en a aucun.

Exemples

Exemple #1 Style orienté objet

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* un nom de ville remarquablement long dans Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$maxdb->query($query);

printf ("Nombre d'avertissements : %d\n", $maxdb->warning_count);

/* Fermeture de la connexion */
$maxdb->close();
?>

Exemple #2 Style procédural

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* Vérification de la connexion */
if (maxdb_connect_errno()) {
    printf("Echec de la connexion : %s\n", maxdb_connect_error());
    exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* un nom de ville remarquablement long dans Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

maxdb_query($link, $query);

printf ("Nombre d'avertissements : %d\n", maxdb_warning_count($link));

/* Fermeture de la connexion */
maxdb_close($link);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Warning: maxdb_query(): -8004 POS(62) Constant must be compatible with column type and length <...>
 Nombre d'avertissements : 0

Voir aussi

  • maxdb_errno() - Retourne le code erreur pour le dernier appel à une fonction
  • maxdb_error() - Retourne une chaîne représentant la dernière erreur
  • maxdb_sqlstate() - Retourne l'erreur SQLSTATE depuis la dernière opération MaxDB

maxdb_use_result
Mongo
Fonctions MaxDB


Base de données Mongo

  • Introduction
  • Manuel
    • Installation
    • Options du php.ini
    • Tutorial
    • Connection
    • Interrogation
    • Mises à jour
    • Lancer les tests du pilote
    • Dépannage
  • Classes internes
    • Mongo — La classe Mongo
    • MongoDB — La classe MongoDB
    • MongoCollection — La classe MongoCollection
    • MongoCursor — La classe MongoCursor
  • Les types
    • MongoId — La classe MongoId
    • MongoCode — La classe MongoCode
    • MongoDate — La classe MongoDate
    • MongoRegex — La classe MongoRegex
    • MongoBinData — La classe MongoBinData
    • MongoDBRef — La classe MongoDBRef
    • MongoMinKey — La classe MongoMinKey
    • MongoMaxKey — La classe MongoMaxKey
    • MongoTimestamp — La classe MongoTimestamp
  • Classes GridFS
    • MongoGridFS — La classe MongoGridFS
    • MongoGridFSFile — La classe MongoGridFSFile
    • MongoGridFSCursor — La classe MongoGridFSCursor
  • Fonctions
    • Fonctions Mongo
  • Exceptions
    • MongoException — La classe MongoException
    • MongoCursorException — La classe MongoCursorException
    • MongoCursorTimeoutException — La classe MongoCursorTimeoutException
    • MongoConnectionException — La classe MongoConnectionException
    • MongoGridFSException — La classe MongoGridFSException
maxdb_warning_count
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Cette extension vous permet de vous connecter à MongoDB en utilisant PHP.

Mongo
Manuel
Mongo


Manuel

Sommaire

  • Installation
  • Options du php.ini
  • Tutorial
  • Connection
  • Interrogation
  • Mises à jour
  • Lancer les tests du pilote
  • Dépannage

Voir aussi

L'article » Développer des applications PHP en utilisant MongoDB est excellent pour commencer avec MongoDB. Pour les francophones, l'article » NoSQL - MongoDB et PHP: Première Approche donne un bon aperçu.

Introduction
Installation
Mongo


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/mongo.

  • » Installation sous *NIX

  • » Installation manuelle

  • » OS X

  • » Gentoo

  • » Fedora

  • » Installation sous Windows

  • » Instructions d'installation tierces

Installation sur les systèmes *NIX

Lancez:

$ sudo pecl install mongo

Ajoutez les lignes suivantes à votre fichier php.ini:

extension=mongo.so

Si pecl échoue en raison d'un manque de mémoire vive, assurez-vous que l'option memory_limit de votre php.ini est définie à au moins 32M.

Installation manuelle

Pour les développeurs des pilotes ou les personnes intéréssées par les derniers correctifs de bugs, vous pouvez compiler le pilote depuis » Github. Allez sur Github et cliquez sur "download". Lancez ensuite:

$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ sudo make install

Effectuez ces changements à votre fichier php.ini:

  • 1. La construction vous précisera où est installée l'extension grâce à un affichage ressemblant à ceci:

      Installing '/usr/lib/php/extensions/no-debug-zts-20060613/mongo.so'
    Vérifiez bien qu'il s'agisse du même dossier d'extensions que celui de votre PHP en lançant:

      $ php -i | grep extension_dir
        extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 =>
      /usr/lib/php/extensions/no-debug-zts-20060613
    Si ce n'est pas le cas, changez extension_dir de php.ini ou placez manuellement mongo.so.

  • 2. Pour chargez l'extension au démarrage de PHP, ajoutez cette ligne:

      extension=mongo.so

Systèmes OS X

Si votre système ne peut trouver autoconf, vous devrez installer Xcode (disponible sur le DVD d'installation de votre OS).

Si vous utilisez XAMPP, vous devriez pouvoir compiler le driver avec la commande suivante :

sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

Si vous utilisez MAMP (ou XAMPP et que la commande ci-dessus ne fonctionne pas), des binaires précompilés sont disponibles sur » Github (téléchargez le dernier qui a pour nom "osx" et la version de PHP que vous utilisez). Extraire mongo.so depuis l'archive et ajoutez-le dans le dossier de l'extension MAMP ou XAMPP. Ajoutez

      extension=mongo.so
au fichier php.ini utilisé puis redémarrez le serveur web.

Gentoo

Gentoo a un paquet pour le driver PHP nommé dev-php5/mongo, qui peut installer via la commande suivante :

$ sudo emerge -va dev-php5/mongo

Si vous utilisez PECL, vous recevrez une erreur signalant que libtool n'est pas à la bonne version. Lors de la compilation depuis les sources, vous devriez avoir besoin d'exécuter aclocal et autoconf.

$ phpize && aclocal && autoconf && ./configure && make && make install

Fedora

Si vous ne voulez pas modifier directement votre php.ini, vous pouvez créer un fichier mongo.ini séparé. Dans le dossier /etc/php.d, créez un sous-dossier nommé mongo (ou un autre nom, à votre convenance). Dans ce dossier, créez un fichier mongo.ini file et placez-y ceci :

extension=mongo.so

; n'importe quel option Mongo que vous souhaitez utiliser (voir la section sur la configuration à l'exécution)

Installation sous Windows

Les binaires précompilés pour chaque version sont disponibles sur » Github pour une grande variété de combinaison de versions, de sécurité de threads, et de bibliothèques VC. Décompressez l'archive et placez php_mongo.dll dans votre dossier d'extension PHP ("ext" par défaut).

Le code le plus récent (non publié) est compilé avec les binaires Windows à chaque modification. L'archive Zip contient les fichiers php_mongo.dll et version.txt. Conservez le fichier version.txt ; ainsi, si vous avez une question ou un problème, vous pourrez indiquer aux développeurs l'exacte version que vous utilisez. (Le nombre est assez long et absurde, mais il a du sens pour les développeurs ;) )

Pour récupérer les dernière corrections de bogues, téléchargez le binaire correspondant à la version de PHP que vous avez d'installée :

  • » PHP 5.2 VC6 Non-Thread-Safe Mongo extension

  • » PHP 5.2 VC6 Thread-Safe Mongo extension

  • » PHP 5.3 VC6 Non-Thread-Safe Mongo extension

  • » PHP 5.3 VC6 Thread-Safe Mongo extension

  • » PHP 5.3 VC8 Non-Thread-Safe Mongo extension

  • » PHP 5.3 VC8 Thread-Safe Mongo extension

  • » PHP 5.3 VC9 Non-Thread-Safe Mongo extension

  • » PHP 5.3 VC9 Thread-Safe Mongo extension

Ajoutez la ligne suivante à votre fichier php.ini :

extension=php_mongo.dll

Instructions d'installation tierces

Beaucoup de personnes ont créés d'excellents tutoriels sur l'installation du driver PHP.

  • » PHP 5.3.1 avec Xdebug, MongoDB et Lithium sous Ubuntu 9.10 / Apache 2.2

    Une excellent vidéo qui vous explique l'installation étape par étape d'Apache, PHP, Xdebug, MongoDB, et Lithium par Jon Adams.

  • » Installation de MongoDB et du driver PHP sous Ubuntu 9.04

    Article espagnol par Javier Aranda (» traduction anglaise).

  • » OS X: Installation de MongoDB et du driver PHP Mongo

    Par Matt Butcher.

Manuel
Options du php.ini
Manuel


Options du php.ini

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Mongo
Nom | Défaut | Modifiable
mongo.default_host | "localhost" | PHP_INI_ALL
mongo.default_port | 27017 | PHP_INI_ALL
mongo.auto_reconnect | true | PHP_INI_SYSTEM
mongo.allow_persistent | true | PHP_INI_SYSTEM
mongo.chunk_size | 262144 | PHP_INI_SYSTEM
mongo.cmd | "$" | PHP_INI_ALL
mongo.utf8 | "1" | PHP_INI_ALL
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mongo.default_host string

Nom d'hôte par défaut lorsqu'aucun nom d'hôte n'est fourni au constructeur.

mongo.default_port string

Le numéro de port par défaut, à utiliser lors de la connexion à la base de données, si aucun port n'est spécifié. La valeur par défaut est 27017.

mongo.auto_reconnect bool

S'il faut se reconnecter automatiquement, lorsque la connexion à la base est perdue.

mongo.allow_persistent bool

Indique si les connexions persistantes sont autorisées.

mongo.chunk_size int

Le nombre d'octets par bloc. Utilisé lors avec les fichiers GridFS. Ce nombre doit être supérieur 4 Mo moins 100 octets (max : 4194204) et il est recommandé qu'il soit plus petit.

mongo.cmd string

Un caractère à utiliser à la place du caractère $ dans les modificateurs et les comparaisons.

mongo.utf8 int

Si une exception doit être émise lors de l'utilisation de chaînes non encodées UTF-8. Jusqu'à la version 1.0.4, le driver PHP ignorez les chaînes non encodées UTF-8, même si vous n'étiez pas supposés en utiliser. Depuis la version 1.0.4, le driver lance une exception MongoException. Pour faciliter la transition de vos application qui pouvaient insérer des chaînes non encodées UTF-8, vous pouvez désactiver cette option pour émuler l'ancien comportement. Cette option sera supprimée et l'exception toujours lancée pour les chaînes non encodées UTF-8 à partir de la version 1.1.0.

Installation
Tutorial
Manuel


Tutorial

Création d'une connexion

Pour se connecter à un serveur de base de données, utilisez une des façons suivantes :

<?php

$connection = new Mongo(); // Connexion à localhost:27017
$connection = new Mongo( "example.com" ); // Connexion à un hôte distant (en utilisant le port par défaut)
$connection = new Mongo( "example.com:65432" ); // connect to a remote host at a given port

?>
Maintenant, la variable $connexion peut être utilisée pour atteindre la base de données.

Sélection d'une base de données

Pour sélectionner une base de données, utilisez :

<?php

$db = $connection->dbname;

?>
La base de données n'a pas besoin d'avoir été créée auparavant ; vous pouvez simplement créer une nouvelle base de données en tentant de la sélectionner. Attention aux fautes de frappe ! Vous pouvez par inadvertance créer une nouvelle base de données, ce qui peut rendre plus compliqué de trouver la cause d'une erreur :
<?php

$db = $connection->mybiglongdbname;
// Plus de codes ici...
$db = $connection->mybiglongdbnme;
// Maintenant, vous êtes connecté à une base de données différente !

Sélection d'une collection

Récupérer une connexion utilise la même syntaxe que de récupérer une base de données :

<?php

$db = $connection->baz
$collection = $db->foobar;

// ou, plus succinctement
$collection = $connection->baz->foobar;

?>

Insertion d'un document

Les tableaux associatifs sont les objets basiques qui peuvent être insérés dans une collection d'une base de données. Un document "document" peut être :

<?php

$doc = array( "name" => "MongoDB",
   "type" => "database",
   "count" => 1,
   "info" => (object)array( "x" => 203,
       "y" => 102),
   "versions" => array("0.9.7", "0.9.8", "0.9.9")
);

?>
Notez que vous pouvez avoir des tableaux et des objets imbriqués. Les objets et les documents sont des synonymes en MongoDB : vous pouvez appeler $doc un document ou un objet, mais le champ "info" sera toujours un objet, jamais un document. Cette convention est utilisée pour toute la documentation.

Pour insérer ce document, utilisez la méthode MongoCollection::insert():

<?php

$m = new Mongo();
$collection = $m->foo->bar;
$collection->insert( $doc );

?>

Trouver un document en utilisant la méthode MongoCollection::findOne()

Pour montrer que le document inséré dans l'étape précédante est bien présent, nous pouvons simplement utiliser findOne() pour récupérer le premier document de la collection. Cette méthode retourne un seul document (à contrario de MongoCursor qui retourne un MongoCollection::find()), et elle est utile dans les cas où il n'y a qu'un seul document correspondant aux critères ou bien si vous ne souhaitez qu'un seul résultat.

<?php

$obj = $collection->findOne();
var_dump( $obj );

?>
et vous devriez voir :
array(5) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["name"]
  string(7) "MongoDB"
  ["type"]=>
  string(8) "database"
  ["count"]=>
  int(1)
  ["info"]=>
  array (2) {
    ["x"]=>
    int(203)
    ["y"]=>
    int(102)
  }
  ["versions"]
  array(3) {
    [0]=>
    string(5) "0.9.7"
    [1]=>
    string(5) "0.9.8"
    [2]=>
    string(5) "0.9.9"
  }
}

Notez que le champ _id a été ajouté automatiquement à votre document. MongoDB réserve les noms d'éléments qui commencent par _ et $ pour une utilisation interne.

Ajout de plusieurs documents

Afin de faire des requêtes plus intéressantes, commençons par ajouter plusieurs documents simples dans notre collection. Ces documents seront de la forme :

<?php

array( "i" => value );

?>
et nous pouvez le faire avec une simple boucle :
<?php

for($i=0; $i<100; $i++) {
    $collection->insert( array( "i" => $i ) );
}

?>

Notez que vous pouvez insérer des tableaux avec des clés différentes dans la même collection. Cet aspect correspond à ce que nous avançons lorsque nous disons que MongoDB a "un schéma libre".

Comptage des documents dans une collection

Maintenant que nous avons inséré 101 documents (le 100 noté dans la boucle, +1), nous pouvons vérifier le nombre de documents dans la collection en utilisant la méthode count().

<?php

echo $collection->count();

?>
et vous devriez voir afficher : 101.

MongoCollection::count() peut également prendre comme arguments une requête ou un champ. Vous pouvez également faire un comptage sur un curseur MongoCursor (voir ci-dessous), qui prendra en compte tous les filtres que vous avez placé dans votre requête.

Utilisation d'un curseur pour récupérer tous les documents

Afin de récupérer tous les documents d'une collection, vous devez utiliser la méthode MongoCollection::find(). Cette méthode retourne un objet MongoCursor qui vous permet de parcourir tous les documents correspondant à votre requête. Aussi, pour récupérer tous les documents et les afficher, vous pouvez faire ceci :

<?php

$cursor = $collection->find();
foreach ($cursor as $id => $value) {
    echo "$id: ";
    var_dump( $value );
}

?>
ceci affichera les 101 documents de la collection. $id est le champ _id du document, et $value est le document lui-même.

Ajout d'un critère à une requête

Nous pouvons créer une requête à passer à la méthode find() pour récupérer un sous-jeu de documents de notre collection. Par exemple, si vous voulez trouver les documents dont le champ "i" vaut "71", vous pouvez le faire comme ceci :

<?php

$query = array( "i" => 71 );
$cursor = $collection->find( $query );

while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

?>
un seul document s'affichera :
array(2) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["i"]=>
  int(71)
  ["_ns"]=>
  "testCollection"
}

Récupération de plusieurs documents avec une requête

Vous pouvez utiliser une requête pour récupérer plusieurs documents depuis la collection. Par exemple, si vous voulez récupérer tous les documents dont le champ "i" est plus grand que 50, vous pouvez le faire comme ceci :

<?php

$query = array( "i" => array( '$gt' => 50 ) ); //notez les simples guillemets autour de '$gt'
$cursor = $coll->find( $query );

while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

?>
Ceci devrait afficher les documents dont le champ "i" est supérieur à 50. Nous pouvons également spécifier un intervalle comme 20 < i <= 30 :
<?php

$query = array( "i" => array( "\$gt" => 20, "\$lte" => 30 ) );
$cursor = $coll->find( $query );

while( $cursor->hasNext() ) {
    var_dump( $cursor->getNext() );
}

?>
Vu qu'il est facile d'oublier d'échapper le "$", vous pouvez aussi choisir votre propre caractère spécial à utiliser à la place de '$'. Choisissez un caractère qui n'apparait pas dans les noms des clés, i.e. ":" et ajoutez la ligne suivante à votre fichier php.ini :
mongo.cmd = ":"
Ainsi, l'exemple ci-dessus deviendra :
<?php

$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );

?>
Vous pouvez également le changer dans votre code en utilisant la commande ini_set("mongo.cmd", ":"). Bien sûr, vous pouvez également utiliser des simples guillements autour de $.

Création d'un index

MongoDB supporte les indexes, et il est très simple de les ajouter à une collection. Pour créer un index, vous devez spécifier le champ qui doit être indexé, et spécifier si l'index doit être ascendant (1) ou descendant (-1). L'exemple suivant va créer un index ascendant sur le champ "i" :

<?php

$coll->ensureIndex( array( "i" => 1 ) );  // Création d'un index sur le champ "i"
$coll->ensureIndex( array( "i" => -1, "j" => 1 ) );  // Index descendant sur le champ "i", et ascendant sur le champ "j"

?>

Rapide exemple

Cet exemple établit une connexion, insère des objets, interroge des objets, parcours des résultats et se déconnecte de MongoDB.

<?php

// Connexion
$m = new Mongo();

// Sélectionne une base de données
$db = $m->comedy;
$collection = $db->cartoons;

// Ajoute un élément
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);

// Ajout un nouvel élément, avec un "shape" différent
$obj = array( "title" => "XKCD", "online" => true );
$collection->insert($obj);

// Trouve n'importe quoi dans la collection
$cursor = $collection->find();

// Parcours les résultats
foreach ($cursor as $obj) {
    echo $obj["title"] . "\n";
}

// Déconnexion
$m->close();

?>

Ceci affichera :

Calvin and Hobbes
XKCD
Options du php.ini
Connection
Manuel


Connection

La connexion à MongoDB est aussi simple que cela : new Mongo, mais il existe aussi plusieurs options et plusieurs configurations. La page sur la méthode Mongo::__construct() couvre toutes les options offertes par l'API, mais aussi, propose plusieurs cas pratiques.

Identification sur une connexion

Si MongoDB est en fonctionnement avec l'option --auth, les connexions doivent être authentifiées avant d'être utilisées. Vous pouvez le faire grâce à la méthode MongoDB::authenticate() :

<?php

$m = new Mongo();
$db = $m->admin;

$db->authenticate($username, $password);

?>

Mais cela implique un inconvénient majeur : si la connexion à la base de données est interrompue et puis, recréée, la connexion ne sera plus authentifiée.

Si vous utilisez le format de connexion décrit dans la méthode Mongo::__construct(), la base de données authentifiera la connexion aussitôt la connexion établit, et une ré-authentification sera effectuée si la connexion est ré-établit.

Ceci est équivalent au code ci-dessous, mise à part que les reconnexions à la base de données seront automatiquement authentifiées :

<?php

$m = new Mongo("mongodb://${username}:${password}@localhost");

?>

Par défaut, le driver authentifiera l'utilisateur suivant la base de données d'administration. Pour effectuer une identification via une base de données différente, vous devez spécifier le nom de la base de données après avoir spécifié l'hôte. Cet exemple identifiera un utilisateur via la base de données "blog" :

<?php

$m = new Mongo("mongodb://${username}:${password}@localhost/blog");

?>

Paire de réplication

Pour se connecter à une paire de réplication, vous devez spécifier les deux côtés de la paire.

<?php

$m = new Mongo("mongodb://localhost:27017,localhost:27018");

?>

L'ordre est significatif sachant que le driver PHP interrogera les serveurs de base de données pour trouver quel est le maître. A partir du moment où au moins un serveur est en fonctionnement et qu'il est le maître, la connexion réussira. Si aucun n'est pas en fonctionnement, ou bien qu'il n'y a pas de maître, une exception MongoConnectionException sera émise.

Si le maître devient indisponible, l'esclave ne deviendra pas maître pendant ces quelques secondes. Pendant ce temps là, le driver ne sera pas capable d'effactuer les opérations sur la base de données tout simplement parce que le maître n'est plus disponible et que seul l'esclave fonctionne. Aussi, si vous tentez d'exécuter n'importe quelle requête (y compris les opérations de type "sûres"), une exception sera émise.

L'esclave pourra éventuellement réalisé que le maître n'est plus disponible et devenir maître à son tour. A ce moment là, le driver en fera sa base de données de référence sur la connexion courante et continuera les opérations normalement.

Pour plus d'informations sur les paires de réplication, reportez-vous à la » documentation interne.

Les connexions persistantes

La création de nouvelles connexions à la base de données est une opération lente. Pour minimiser le nombre de connexions que vous devez effectuer, vous pouvez utiliser les connexions dites "persistantes". Une connexion persistante est sauvegardée par PHP, et ainsi, vous pourrez utiliser la même connexion pour toutes vos requêtes.

Par exemple, ce programme simple se connecte à la base de données 1000 fois :

<?php

for ($i=0; $i<1000; $i++) {
  $m = new Mongo();
}

?>

Son exécution prend approximativement 18 secondes. Si vous changez ce code pour utiliser les connexions persistantes :

<?php

for ($i=0; $i<1000; $i++) {
  $m = new Mongo("localhost:27017", array("persist" => "x"));
}

?>

... il ne prend plus que .02 secondes, vu qu'il ne réalise réellement qu'une seule connexion à la base de données.

Les connexions persistantes ont besoin d'une chaîne d'identification (qui est "x" dans notre précédent exemple) afin de les identifier de façon unique. Afin d'utiliser une connexion persistante, le nom de l'hôte, le port, la chaîne d'identification, le nom d'utilisateur ainsi que le mot de passe (si fourni) doivent correspondre avec une connexion persistante existante. Sinon, une nouvelle connexion sera créée avec ces informations d'identification.

Tutorial
Interrogation
Manuel


Interrogation

Interrogation sur un _id

Chaque objet inséré se voit assigné automatiquement un champ unique _id, qui est bien utile pour être utilisé dans les requêtes..

Supposez que vous voulez trouver un document que vous venez tout juste d'insérer. L'insertion ajoute un champ _id au document, aussi, vous pouvez effectuer votre requête de la sorte :

<?php

$person = array("name" => "joe");

$people->insert($person);

// Maintenant, $joe a un champ _id
$joe = $people->findOne(array("_id" => $person['_id']));

?>

Tant que l'utilisateur ne l'a pas spécifié autrement, le champ _id est un MongoId. L'erreur la plus courante est d'essayer d'utiliser une chaîne qui correspond à un MongoId. Gardez à l'esprit que cet identifiant a 2 types de données différents, et ne correspond pas l'un l'autre, de la même façon que la chaîne "array()" n'est pas la même chose qu'un tableau vide. Par exemple :

<?php

$person = array("name" => "joe");

$people->insert($person);

// Convertion de l'_id en une chaîne
$pid = $person['_id'] . "";

// ECHEC - $pid est une chaîne, et non un MongoId
$joe = $people->findOne(array("_id" => $pid));

?>

Les tableaux

Les tableaux sont spéciaux à plus d'un titre. Tout d'abord, il y a 2 types utilisés par MongoDB : des tableaux "normaux" et des tableaux associatifs. Les tableaux associatifs peuvent avoir plusieurs types de clés et de valeurs. Les tableaux "normaux" sont définis comme tableaux dans ces indices numériques ascendants, en commençant par 0 et s'incrémentant de 1 pour chaque élément. Ces 2 types correspondent à ce que vous connaissez déjà comme type en PHP.

Actuellement, si vous voulez sauvegarder la liste des récompenses dans un document, vous pouvez :

<?php

$collection->save(array("awards" => array("gold", "silver", "bronze")));

?>

Les requêtes peuvent effectuer des recherches directement dans les éléments. Supposez que nous souhaitons trouver tous les documents dont l'élément du tableau est à une valeur fournie. Par exemple, les documents sont la récompense est l'or, comme ceci :

{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "awards" : ["gold", "silver", "bronze"]}

Ceci peut être effectué avec une requête simple, en ignorant le fait que "awards" est un tableau :

<?php

$cursor = $collection->find(array("awards" => "gold"));

?>

Supposez que vous interrogez la base de données avec un objet plus complexe, dont chaque élément du tableau sont eux-mêmes des objets, comme ceci :

{
     "_id" : ObjectId("4b06c282edb87a281e09dad9"),
     "awards" :
     [
        {
            "first place" : "gold"
        },
        {
            "second place" : "silver"
        },
        {
            "third place" :  "bronze"
        }
     ]
}

Continuons d'ignorer que c'est un tableau. Nous pouvons utiliser la notation basée sur les points pour interroger le sous-objet :

<?php

$cursor = $collection->find(array("awards.first place" => "gold"));

?>

Notez qu'il importe peu qu'il y ait un espace dans le nom du champ (bien qu'il convient de ne pas en mettre, juste pour rendre le code plus lisible).

Vous pouvez également utiliser un tableau contenant plusieurs valeurs à chercher. Actuellement, si nous cherchons les documents "gold" et "copper", nous pouvons le faire comme ceci :

<?php

$cursor = $collection->find(array("awards" => array('$in' => array("gold", "copper"))));

?>
Connection
Mises à jour
Manuel


Mises à jour

Les mises à jour sont les opérations les plus compliquées disponibles avec MongoDB. Elles combinent une requête avec une action, modifiant les documents qui correspondent aux critères. Elles sont également extrèmement puissantes, vous permettant de changer les documents rapidement mais aussi de les remplacer tous ensemble. Elles se font sur place (quand c'est possible), entrainant une légère surcharge.

Mises à jour des objets imbriqués

Supposez que vous voulez modifier le nom de l'auteur d'un commentaire dans un document :

{
    "_id" : ObjectId("4b06c282edb87a281e09dad9"),
    "content" : "ceci est un post d'un blog.",
    "comments" :
    [
        {
            "author" : "Mike",
            "comment" : "Je pense que blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "Je ne suis pas d'accord."
        }
    ]
}
Afin de modifie un champ interne, nous utilisez $set (ainsi, les autres champs ne sont pas supprimés) avec l'index du commentaire à changer :
<?php

$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

L'opérateur de position

L'opérateur de position $ est utile pour la mise à jour d'objets qui se trouvent dans des tableaux. Dans l'exemple suivant, nous supposons que nous ne connaissons pas l'index du commentaire que nous souhaitons modifier, alors que vous voulons changer "John" en "Jim". Nous pouvons dans ce cas utiliser l'opérateur de position $.

<?php

$blog->update(
    array("comments.author" => "John"),
    array('$set' => array('comments.$.author' => "Jim")));

?>
Interrogation
Lancer les tests du pilote
Manuel


Lancer les tests du pilote

Le paquet PECL n'est pas inclus dans les tests de PHP, mais sont disponibles sur » Github. Téléchargez les sources du pilote et les tests sont dans le dossier tests/. Le pilote utilise » PHPUnit pour ses tests, celui-ci peut être installé via PEAR.

Vous devez passererror_reporting dans php.ini à E_STRICT | E_ALL pour que tous les tests passent. Dans le cas contraire, vous récupererez des echecs indiquant qu'un warning ou une erreur était attendu pour le test.

Pour lancer les tests, vérifiez qu'un serveur MongoDB tourne en local sur le port 27017. Vérifiez que vous soyez dans le dossier principal des sources du pilote que vous avez téléchargées depuis Github, puis lancez:

$ phpunit tests/MongoSuite.php

Merci de rapporter tout échec ou erreur dans le » bugtracker. Il se peut que des tests soient évités (skipped) , ceci est normal et peut être ignoré.

De nouveaux tests sont toujours bienvenus! N'hésitez pas à contribuer au niveau des tests pour n'importe quelle fonctionnalité.

Mises à jour
Dépannage
Manuel


Dépannage

Si vous rencontrez des problèmes, il existe un grand nombre de ressources vous permettant d'y faire face.

  • IRC

    Le salon IRC officiel de MongoDB se trouve sur irc.freenode.net/#mongodb. C'est le moyen le plus rapide d'obtenir de l'aide... si, bien sûr, des personnes y sont présentes.

  • Liste de diffusion

    La » liste de diffusion MongoDB est un bon moyen (et souvent, un moyen rapide) d'obtenir des réponses à vos questions.

  • Le gestionnaire de bogues

    Vous avez trouvé un bogue ? Vous désirez une nouvelle fonctionnalité ? Vous avez une question ? Rapportez un bogue sur notre » gestionnaire de bogue relatif au driver PHP.

Lancer les tests du pilote
Classes internes
Manuel


Classes internes

Sommaire

  • Mongo
  • MongoDB
  • MongoCollection
  • MongoCursor

Les classes internes représentent la partie la plus importante du driver.

Dépannage
Mongo
Mongo


La classe Mongo

Introduction

La connexion entre MongoDB et PHP.

Cette classe initie la connexion entre PHP et le serveur MongoDB. Un exemple classique est :

<?php

$m = new Mongo(); // connexion
$db = $m->foo; // lecture de l'objet de base de données "foo"

?>

Voir Mongo::__construct() pour plus d'informations sur la création de connexions.

Synopsis de la classe

Mongo
Mongo {
/* Constantes */
const string Mongo::VERSION ;
const string Mongo::DEFAULT_HOST = "localhost" ;
const int Mongo::DEFAULT_PORT = 27017 ;
/* Champs */
public boolean $connected = FALSE ;
protected string $server = localhost:27017 ;
protected boolean $persistent = FALSE ;
/* Méthodes */
public boolean close ( void )
public boolean connect ( void )
protected boolean connectUtil ( void )
__construct ([ string $server = "mongodb://localhost:27017" [, array $options = array("connect" => TRUE) ]] )
public array dropDB ( mixed $db )
public bool forceError ( void )
public MongoDB __get ( string $dbname )
public array lastError ( void )
public array listDBs ( void )
public boolean pairConnect ( void )
public boolean pairPersistConnect ([ string $username = "" [, string $password = "" ]] )
public boolean persistConnect ([ string $username = "" [, string $password = "" ]] )
public array prevError ( void )
public array resetError ( void )
public MongoCollection selectCollection ( string $db , string $collection )
public MongoDB selectDB ( string $name )
public string __toString ( void )
}

Constantes pré-définies

Constantes Mongo

Mongo::VERSION
Version du drvier PHP. Peut être préfixé avec un "+" ou un "-" si la version se trouve entre 2 versions.
Mongo::DEFAULT_HOST
"localhost"
Hôte sur lequel on doit se connecter si aucun n'est fourni.
Mongo::DEFAULT_PORT
27017
Port sur lequel on doit se connecter si aucun n'est fourni.

Voir aussi

Documentation de MongoDB » concernant les connections.

Sommaire

  • Mongo::close — Ferme la connexion à la base de données Mongo
  • Mongo::connect — Ouvre la connexion à la base Mongo
  • Mongo::connectUtil — Se connecte à un serveur Mongo
  • Mongo::__construct — Crée un nouvel objet de connexion à une base de données Mongo
  • Mongo::dropDB — Supprime une base de données [déprécié]
  • Mongo::forceError — Crée une erreur de base de données Mongo (Obsolète)
  • Mongo::__get — Récupère une base de données
  • Mongo::lastError — Vérifie s'il y a une erreur après la dernière opération Mongo (Obsolète)
  • Mongo::listDBs — Liste toutes les bases de données disponibles
  • Mongo::pairConnect — Ouvre une connexion à une paire de serveurs Mongo [déprécié]
  • Mongo::pairPersistConnect — Crée une connexion persistante avec une paire de serveurs [déprécié]
  • Mongo::persistConnect — Crée une connexion persistante avec la base de données Mongo [déprécié]
  • Mongo::prevError — Lit la dernière erreur émise par la base de données Mongo [Obsolète]
  • Mongo::resetError — Efface tous les messages d'erreurs de la connexion (Obsolète)
  • Mongo::selectCollection — Lit une collection de base de données
  • Mongo::selectDB — Sélectionne le nom de la base de données
  • Mongo::__toString — Produit une représentation de chaîne d'une connexion Mongo
Classes internes
Mongo::close
Classes internes


Ferme la connexion à la base de données Mongo

Mongo
Mongo::connect
Mongo
PHP Manual

Mongo::close

(PECL mongo >=0.9.0)

Mongo::close — Ferme la connexion à la base de données Mongo

Description

public boolean Mongo::close ( void )

Cette méthode n'a pas besoin d'être appelée, sauf dans des cas exceptionnels. Le driver fermera proprement la connexion à la base de données lorsque l'objet Mongo sortira du scope.

Si vous utilisez un service où les objets ne sortent pas du scope entre les requêtes, vous devriez appeler la fonction close() à la fin de votre programme pour maintenir les anciennes connexions autre que celle-ci. Cependant, il est probablement moins efficace de tirer avantage de ce principe et simplement utiliser une connexion persistante, qui créera automatiquement une connexion si nécessaire et l'utiliser pour toutes les requêtes que le serveur applicatif permet.

Vous pourriez également vouloir appeler la fonction close() si vous n'êtes pas certain du statut de la connexion et que vous voulez vous assurer qu'une nouvelle connexion soit ouverte. Par exemple :

<?php

$mongo = new Mongo();

/* Du code parmis lequel la connexion à la base de données peut être fermée */

/* Si $mongo est toujours connecté, rien ne sera fait */
$mongo->connect();

?>

versus.

<?php

$mongo = new Mongo();

/* Du code parmis lequel la connexion à la base de données peut être fermée */

/* Garantie une nouvelle connexion au serveur de base de données */
$mongo->close()
$mongo->connect();

?>

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la connexion a pu être fermée.

Mongo
Mongo::connect
Mongo


Ouvre la connexion à la base Mongo

Mongo::close
Mongo::connectUtil
Mongo
PHP Manual

Mongo::connect

(PECL mongo >=0.9.0)

Mongo::connect — Ouvre la connexion à la base Mongo

Description

public boolean Mongo::connect ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

If the connection was successful.

Erreurs / Exceptions

Émet une exception MongoConnectionException si la connexion à la base de données échoue.

Mongo::close
Mongo::connectUtil
Mongo


Se connecte à un serveur Mongo

Mongo::connect
Mongo::__construct
Mongo
PHP Manual

Mongo::connectUtil

(PECL mongo >=0.9.0)

Mongo::connectUtil — Se connecte à un serveur Mongo

Description

protected boolean Mongo::connectUtil ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la connexion a réussi.

Erreurs / Exceptions

Emet une exception MongoConnectionException si la connexion à la base de données échoue.

Mongo::connect
Mongo::__construct
Mongo


Crée un nouvel objet de connexion à une base de données Mongo

Mongo::connectUtil
Mongo::dropDB
Mongo
PHP Manual

Mongo::__construct

(PECL mongo >=0.9.0)

Mongo::__construct — Crée un nouvel objet de connexion à une base de données Mongo

Description

  Mongo::__construct
  ([  string  $server = "mongodb://localhost:27017"
 [,  array  $options = array("connect" => TRUE)
]] )

Si aucun paramètre n'est passé, la connexion se fera sur "localhost:27017" (ou ce qui a été spécifié dans php.ini pour mongo.default_host et mongo.default_port).

Depuis la version 1.0.2, server peut avoir une forme spéciale:

mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db

Il débute par mongodb://, pour indiquer qu'il s'agit d'une chaine de connexion.

Si username et password sont précisés, le constructeur tentera d'authentifier la connexion à la base. Username et password sont optionnels et doivent être suivis d'une @, si renseignés.

Au moins un hôte doit être précisé (port optionnel, par défaut 27017) et plusieurs hôtes vers lesquels se connecter peuvent être passés. Les noms d'hôtes sont séparés par des virgules et le constructeur exécutera sans erreur si au moins un des hôtes peut être connecté. Si il ne peut se connecter à aucun hôte, il enverra une MongoConnectionException.

Enfin, si vous avez précisé un username et un password, vous devez préciser une base de données envers laquelle s'authentifier. Si db n'est pas renseigné, "admin" sera utilisé.

Avertissement

Format pour server

Avant la version 1.0.2, server ne pouvait être préfixé par mongodb://, il ne pouvait contenir de username et password, ou encore contenir plus de deux noms d'hôtes. Voyez le changelog pour les détails.

Si vous ne voulez pas vous connecter immédiatement (vous passez l'option array("connect" => false)), vous devrez appeler Mongo::connect() avant toute opération vers la base.

<?php

$mongo = new Mongo("mongodb://localhost", array("connect" => false);

// Émet une exception MongoException, vu que $mongo n'a pas été totalement initialisé
$mongo->selectDB("foo")->command(array("distinct" => "bar", "key" => "age"));

// ok
$mongo->connect();
$mongo->selectDB("foo")->command(array("distinct" => "bar", "key" => "age"));

?>

Liste de paramètres

server

Le nom du serveur.

options

Un tableau d'options pour la connexion. Les options disponibles sont:

  • "connect"

    Si le constructeur doit se connecter avant de retourner l'objet. Par défaut TRUE.

  • "persist"

    Si la connexion doit être persistante. La chaine représentant la valeur est utilisée comme identifiant de connexion, ainsi deux instances de Mongo qui sont initialisées avec array("persist" => "foobar") vont partager la même connexion à la base, alors que une instance initialisée avec array("persist" => "barbaz") utilisera une connexion différente.

  • "timeout"

    Période avant timeout (tentative de connexion à la base). En millisecondes.

Valeurs de retour

Retourne un nouvel objet de connexion à la base de données Mongo.

Erreurs / Exceptions

Emet une exception MongoConnectionException si la connexion échoue avec les identifiants pour la base de données considérée ou si les identifiants sont invalides.

Historique

Version Description
1.0.2 Le constructeur a changé pour accepter une tableau. Avant 1.0.2, le constructeur acceptait les paramètres suivants:
server

Nom du serveur

connect

Paramètre optionnel indiquant si le constructeur doit se connecter à la base avant de retourner l'objet. Par défaut TRUE.

persistent

Si la connexion doit être persistante.

paired

Si la connexion doit être pairée.

Exemples

Exemple #1 Exemple avec Mongo::__construct() et une connexion pairée

Cet exemple montre comment se connecter avec le driver à une paire de serveurs répliqués Mongo.

<?php

// Passer une liste séparée par une virgule de noms de serveurs au constructeur
$m1 = new Mongo("mongodb://www.example1.com,www.example2.com");

// Si les serveurs de base de données ne sont pas en fonctionnement sur le port
// par défaut (27017), vous devez spécifier le port
$m2 = new Mongo("mongodb://www.example1.com:12345,www.example.com:54321");

// Vous pouvez vous connecter à plus d'un serveur aussi
$m3 = new Mongo("mongodb://localhost:27017,localhost:27018,localhost:27019");

?>

Exemple #2 Exemple avec Mongo::__construct() et une connexion persistante

Une connexion persistante est utilisée lorsque vous devez faire plus d'une requête. Elle permet de réduire significativement le temps dû aux reconnexions.

Une connexion persistante est identifiée par la chaîne du serveur et une chaine représentant un identifiant.

<?php

// Crée une connexion persistante
$m1 = new Mongo("mongodb://localhost", array("persist" => ""));

// Utilise la même connexion que $m1
$m2 = new Mongo("mongodb://localhost", array("persist" => ""));

// Crée une nouvelle connexion
$m3 = new Mongo("mongodb://127.0.0.1", array("persist" => ""));

// Crée une nouvelle connexion
$m4 = new Mongo("mongodb://127.0.0.1:27017", array("persist" => ""));

// Crée une nouvelle connexion
$m5 = new Mongo("mongodb://localhost", array("persist" => "foo"));

// Utilise la connexion $m5
$m6 = new Mongo("mongodb://localhost", array("persist" => "foo"));

?>

Exemple #3 Exemple d'authentification Mongo::__construct()

Un utilisateur doit exister dans la base de données admin avant de lancer l'authentification. Vous pouvez créer un utilisateur avec la commande shell Mongo suivante:

> use admin
switched to db admin
> db.addUser("testUser", "testPass");
{
        "_id" : ObjectId("4b21272fd9ab21611d19095c"),
        "user" : "testUser",
        "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59"
}
>

Après avoir crée un utilisateur, dans notre cas de nom "testUser" et password "testPass", vous pouvez créer une connexion authentifiée:

<?php

$m = new Mongo("mongodb://testUser:testPass@localhost");

?>
Mongo::connectUtil
Mongo::dropDB
Mongo


Supprime une base de données [déprécié]

Mongo::__construct
Mongo::forceError
Mongo
PHP Manual

Mongo::dropDB

(PECL mongo >=0.9.0)

Mongo::dropDB — Supprime une base de données [déprécié]

Description

public array Mongo::dropDB ( mixed $db )
Avertissement

Déprécié

Utilisez MongoDB::drop() à la place.

Liste de paramètres

db

Le nom de la base de données à supprimer. Ce paramètre peut être un objet MongoDB ou le nom de la base de données.

Valeurs de retour

Retourne la réponse de la base de données.

Mongo::__construct
Mongo::forceError
Mongo


Crée une erreur de base de données Mongo (Obsolète)

Mongo::dropDB
Mongo::__get
Mongo
PHP Manual

Mongo::forceError()

(No version information available, might only be in SVN)

— Crée une erreur de base de données Mongo (Obsolète)

Description

public bool Mongo::forceError ( void )

Utilisez la méthode MongoDB::forceError() à la place.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse de la base de données.

Mongo::dropDB
Mongo::__get
Mongo


Récupère une base de données

Mongo::forceError
Mongo::lastError
Mongo
PHP Manual

Mongo::__get

(PECL mongo >=1.0.2)

Mongo::__get — Récupère une base de données

Description

public MongoDB Mongo::__get ( string $dbname )

Cette méthode est la méthode la plus simple pour récupérer une base de données. Si le nom de la base de données contient des caractères exotiques, vous devriez plutôt utiliser la méthode Mongo::selectDB(). Cependant, dans la plupart des cas, cette méthode suffit.

<?php

$mongo = new Mongo();

// les 2 lignes suivants sont identiques
$db = $mongo->selectDB("foo");
$db = $mongo->foo;

?>

Liste de paramètres

dbname

Le nom de la base de données.

Valeurs de retour

Retourne un nouvel objet de base de données.

Erreurs / Exceptions

Lance une exception générique si le nom de la base de données est invalide.

Mongo::forceError
Mongo::lastError
Mongo


Vérifie s'il y a une erreur après la dernière opération Mongo (Obsolète)

Mongo::__get
Mongo::listDBs
Mongo
PHP Manual

Mongo::lastError

(No version information available, might only be in SVN)

Mongo::lastError — Vérifie s'il y a une erreur après la dernière opération Mongo (Obsolète)

Description

public array Mongo::lastError ( void )

Utilisez la méthode MongoDB::lastError() à la place.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'erreur, s'il y en a une, ou bien NULL.

Mongo::__get
Mongo::listDBs
Mongo


Liste toutes les bases de données disponibles

Mongo::lastError
Mongo::pairConnect
Mongo
PHP Manual

Mongo::listDBs

(No version information available, might only be in SVN)

— Liste toutes les bases de données disponibles

Description

public array Mongo::listDBs ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau associatif contenant 3 champs. Le premier vaut databases, et contient lui-même un tableau dont chaque élément est un tableau associatif correspondant à une base de données, fournissant des informations comme le nom, la taille, et le fait qu'elle soit vide ou non. Les 2 autres champs sont totalSize (en octets) et ok, qui vaut 1 si la méthode est exécutée avec succès.

Exemples

Exemple #1 Exemple avec Mongo::listDBs

Cet exemple montre comment utiliser listDBs ainsi que la structure de données retournées.

<?php

$mongo = new Mongo();
$dbs = $mongo->listDBs();
print_r($dbs);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [databases] => Array
        (
            [0] => Array
                (
                    [name] => doctrine
                    [sizeOnDisk] => 218103808
                    [empty] =>
                )
        )

    [totalSize] => 218103808
    [ok] => 1
)
Mongo::lastError
Mongo::pairConnect
Mongo


Ouvre une connexion à une paire de serveurs Mongo [déprécié]

Mongo::listDBs
Mongo::pairPersistConnect
Mongo
PHP Manual

Mongo::pairConnect

(PECL mongo >=0.9.0)

Mongo::pairConnect — Ouvre une connexion à une paire de serveurs Mongo [déprécié]

Description

public boolean Mongo::pairConnect ( void )

Passez une chaine de la forme "mongodb://server1,server2" au constructeur plutôt que d'utiliser cette méthode.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la connexion a réussi.

Erreurs / Exceptions

Emet une exception MongoConnectionException si la connexion échoue.

Mongo::listDBs
Mongo::pairPersistConnect
Mongo


Crée une connexion persistante avec une paire de serveurs [déprécié]

Mongo::pairConnect
Mongo::persistConnect
Mongo
PHP Manual

Mongo::pairPersistConnect

(PECL mongo >=0.9.0)

Mongo::pairPersistConnect — Crée une connexion persistante avec une paire de serveurs [déprécié]

Description

 public  boolean  Mongo::pairPersistConnect
  ([  string  $username = ""
 [,  string  $password = ""
]] )

Passez "mongodb://server1,server2" et array("persist" => $id) au constructeur plutôt que d'utiliser cette méthode.

Liste de paramètres

username

Le nom d'utilisateur.

password

Le mot de passe.

Valeurs de retour

TRUE si la connexion a réussi.

Erreurs / Exceptions

Emet une exception MongoConnectionException si la connexion échoue à la base de données.

Mongo::pairConnect
Mongo::persistConnect
Mongo


Crée une connexion persistante avec la base de données Mongo [déprécié]

Mongo::pairPersistConnect
Mongo::prevError
Mongo
PHP Manual

Mongo::persistConnect

(PECL mongo >=0.9.0)

Mongo::persistConnect — Crée une connexion persistante avec la base de données Mongo [déprécié]

Description

 public  boolean  Mongo::persistConnect
  ([  string  $username = ""
 [,  string  $password = ""
]] )

Passez array("persist" => $id) au constructeur plutôt que d'utiliser cette méthode.

Liste de paramètres

username

Le nom d'utilisateur pour s'identifier sur la connexion.

password

Le mot de passe associé.

Valeurs de retour

If the connection was successful.

Erreurs / Exceptions

Emet une exception MongoConnectionException si la connexion échoue.

Mongo::pairPersistConnect
Mongo::prevError
Mongo


Lit la dernière erreur émise par la base de données Mongo [Obsolète]

Mongo::persistConnect
Mongo::resetError
Mongo
PHP Manual

Mongo::prevError

(No version information available, might only be in SVN)

Mongo::prevError — Lit la dernière erreur émise par la base de données Mongo [Obsolète]

Description

public array Mongo::prevError ( void )

Utilisez la fonction MongoDB::prevError() à la place.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'erreur et le numéro d'opération où l'erreur est survenue.

Mongo::persistConnect
Mongo::resetError
Mongo


Efface tous les messages d'erreurs de la connexion (Obsolète)

Mongo::prevError
Mongo::selectCollection
Mongo
PHP Manual

Mongo::resetError

(No version information available, might only be in SVN)

Mongo::resetError — Efface tous les messages d'erreurs de la connexion (Obsolète)

Description

public array Mongo::resetError ( void )

Utilisez la méthode MongoDB::resetError() à la place.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse de la base de données.

Mongo::prevError
Mongo::selectCollection
Mongo


Lit une collection de base de données

Mongo::resetError
Mongo::selectDB
Mongo
PHP Manual

Mongo::selectCollection()

(No version information available, might only be in SVN)

— Lit une collection de base de données

Description

public MongoCollection Mongo::selectCollection ( string $db , string $collection )

Liste de paramètres

db

Le nom de la base de données.

collection

Le nom de la collection.

Valeurs de retour

Retourne un nouvel objet de collection collection.

Erreurs / Exceptions

Emet une exception InvalidArgumentException si la base de données ou la collection est invalide.

Exemples

Exemple #1 Exemple avec Mongo::selectCollection()

<?php
$m = new Mongo();

$c1 = $m->selectCollection("foo", "bar.baz");
// which is equivalent to
$c2 = $m->selectDB("foo")->selectCollection("bar.baz");

// $c1 and $c2 now represent the same collection
?>
Mongo::resetError
Mongo::selectDB
Mongo


Sélectionne le nom de la base de données

Mongo::selectCollection
Mongo::__toString
Mongo
PHP Manual

Mongo::selectDB

(PECL mongo >=0.9.0)

Mongo::selectDB — Sélectionne le nom de la base de données

Description

public MongoDB Mongo::selectDB ( string $name )

Liste de paramètres

name

Le nom de la base de données.

Valeurs de retour

Retourne un nouvel objet mongo.

Erreurs / Exceptions

Emet une exception InvalidArgumentException si la base de données est invalide.

Mongo::selectCollection
Mongo::__toString
Mongo


Produit une représentation de chaîne d'une connexion Mongo

Mongo::selectDB
MongoDB
Mongo
PHP Manual

Mongo::__toString

(PECL mongo >=0.9.0)

Mongo::__toString — Produit une représentation de chaîne d'une connexion Mongo

Description

public string Mongo::__toString ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom d'hôte et le port de cette connexion.

Mongo::selectDB
MongoDB
Mongo


La classe MongoDB

Introduction

Les objets de cette classe servent à interagir avec la base de données. Pour obtenir une base de données :

<?php

$m = new Mongo(); // connexion
$db = $m->selectDB("exemple");

?>
Les noms de base de données peuvent contenir n'importe quel caractère ASCII. Mais ils ne peuvent pas contenir les caractères " ", "." ou être la chaîne vide.

Quelques noms de base de données valides mais inattendus : "null", "[x,y]", "3", à"\"", "/".

Contrairement aux noms de collection, les noms de bases de données peuvent contenir "$".

Synopsis de la classe

MongoDB
MongoDB {
/* Constantes */
const int MongoDB::PROFILING_OFF = 0 ;
const int MongoDB::PROFILING_SLOW = 1 ;
const int MongoDB::PROFILING_ON = 2 ;
/* Champs */
public integer $w = 1 ;
public integer $wtimeout = 10000 ;
/* Méthodes */
public array authenticate ( string $username , string $password )
public array command ( array $data )
__construct ( Mongo $conn , string $name )
public MongoCollection createCollection ( string $name [, bool $capped = FALSE [, int $size = 0 [, int $max = 0 ]]] )
public array createDBRef ( string $collection , mixed $a )
public array drop ( void )
public array dropCollection ( mixed $coll )
public array execute ( mixed $code [, array $args = array() ] )
public bool forceError ( void )
public MongoCollection __get ( string $name )
public array getDBRef ( array $ref )
public MongoGridFS getGridFS ([ string $prefix = "fs" ] )
public int getProfilingLevel ( void )
public array lastError ( void )
public array listCollections ( void )
public array prevError ( void )
public array repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )
public array resetError ( void )
public MongoCollection selectCollection ( string $name )
public int setProfilingLevel ( int $level )
public string __toString ( void )
}

Constantes pré-définies

Niveaux d'historisation de MongoDB

MongoDB::PROFILING_OFF
0
Le profilage est inactif.
MongoDB::PROFILING_SLOW
1
Le profilage est actif pour les opérations lentes (>100 ms).
MongoDB::PROFILING_ON
2
Le profilage est actif sur toutes les opérations.

Champs

w
1

Le nombre de serveurs vers lesquels répliquer avant de retourner avec succès. Hérité par les instances dérivées de la MongoCollection La fonctionnalité w n'est disponible que pour les versions 1.5.1+ du serveur MongoDB et 1.0.8+ du pilote.

w est utilisé chaque fois que vous éxecutez une opération "sécurisée" (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), et MongoCollection::ensureIndex() supportent tous les options sécurisées). Avec la valeur par défaut (1), une opération sécurisée retournera une fois que le serveur a effectué l'opération. Si le serveur tombe avant que l'opération ne soit répliquée vers un esclave, il est possible de perdre l'opération. Ainsi vous pouvez préciser une valeur supérieure à 1 pour le paramètre w et garantir qu'au moins un esclave recoive l'opération avant qu'elle ne soit considérée comme étant réalisée avec succès.

Par exemple si w vaut 2, le serveur principal et un des esclaves doivent avoir enregistré l'opération ou le pilote enverra une MongoCursorException. Il est tentant de mettre le nombre total d'escalves + le maitre comme numéro pour w, mais alors si un des esclaves tombe l'opération échouera et une exception sera levée, ainsi w=2 est le cas le plus sécurisant (maitre +1esclave).

wtimeout
10000

Le nombre de millisecondes à attendre pour que les réplications de MongoDB::$w démarrent. Hérité par les instances dérivées dans la MongoCollection en cours. La fonctionnalité w n'est disponible que depuis la version 1.5.1+ du serveur MongoDB et 1.0.8+ du pilote.

Sauf si wtimeout est précisé, le serveur attendra indéfiniment que la réplication vers les serveurs w se termine. Le pilote attendra par défaut 10 secondes, vous pouvez changer cette valeur.

Voir aussi

Documentation de MongoDB » concernant les bases de données.

Sommaire

  • MongoDB::authenticate — Identification à une base de données
  • MongoDB::command — Exécute une commande de base de données
  • MongoDB::__construct — Crée une nouvelle base de données Mongo
  • MongoDB::createCollection — Crée une collection
  • MongoDB::createDBRef — Crée une référence de base de données
  • MongoDB::drop — Supprime cette base de données
  • MongoDB::dropCollection — Supprime une collection [déprécié]
  • MongoDB::execute — Exécute le code JavaScript sur la base de données
  • MongoDB::forceError — Crée une erreur de base de données
  • MongoDB::__get — Récupère une collection
  • MongoDB::getDBRef — Lit le contenu d'une référence de base de données
  • MongoDB::getGridFS — Manipulations des fichiers dans la base
  • MongoDB::getProfilingLevel — Lit le niveau de profilage de la base de données
  • MongoDB::lastError — Vérifie s'il y a une erreur sur la dernière opération relative à la base de données
  • MongoDB::listCollections — Liste les collections de la base de données
  • MongoDB::prevError — Vérifie la dernière erreur émise lors d'une opération relative à la base de données
  • MongoDB::repair — Répare et compacte une base de données
  • MongoDB::resetError — Efface toutes les erreurs d'une base de données
  • MongoDB::selectCollection — Lit une collection
  • MongoDB::setProfilingLevel — Configure le niveau de profilage de la base de données
  • MongoDB::__toString — Le nom de cette base de données Mongo
Mongo::__toString
MongoDB::authenticate
Classes internes


Identification à une base de données

MongoDB
MongoDB::command
MongoDB
PHP Manual

MongoDB::authenticate

(PECL mongo >=1.0.1)

MongoDB::authenticate — Identification à une base de données

Description

public array MongoDB::authenticate ( string $username , string $password )

Cette méthode permet de s'identifier sur une connexion. Si l'identification est activée sur le serveur de base de données (ce n'est pas le cas par défaut), vous devez vous y identifier avant de faire une quelconque opération.

Cette méthode revient à exécuter :

<?php

$salted = "${username}:mongo:${password}";
$hash = md5($salted);

$nonce = $db->command(array("getnonce" => 1));

$saltedHash = md5($nonce["nonce"]."${username}${hash}");

$result = $db->command(array("authenticate" => 1,
    "user" => $username,
    "nonce" => $nonce["nonce"],
    "key" => $saltedHash);

?>

Une fois la connexion authentifiée, elle ne peut être non-authentifiée qu'en utilisant la commande de la base de données "logout" :

<?php

$db->command(array("logout" => 1));

?>

Liste de paramètres

username

Le nom d'utilisateur.

password

Le mot de passe (en texte plein).

Valeurs de retour

Retourne la réponse de la base de données. Si l'identification a réussi, la méthode retournera

array("ok" => 1)
Si une erreur survient, elle retournera
array("ok" => 0, "errmsg" => "auth fails")
("auth fails" peut être un message différent, suivant la version de la base de données et le type d'erreur rencontré).

Voir aussi

Documentation principale MongoDB sur l' » authentification.

MongoDB
MongoDB::command
MongoDB


Exécute une commande de base de données

MongoDB::authenticate
MongoDB::__construct
MongoDB
PHP Manual

MongoDB::command

(PECL mongo >=0.9.2)

MongoDB::command — Exécute une commande de base de données

Description

public array MongoDB::command ( array $data )

Tout ce qui n'est pas une opération CRUD peut être effectué avec une commande de base de données. Besoin de connaitre la version de la base de données ? Il y a une commande pour cela. Besoin de faire une agrégation ? Il y a une commande pour cela. Besoin d'activer l'historisation ? Vous voyez l'idée ?

Cette méthode est équivalente à la fonction:

<?php

public function command($data) {
    return $this->selectCollection('$cmd')->findOne($data);
}

?>

Liste de paramètres

data

La requête à envoyer.

Valeurs de retour

Retourne la réponse de la base de données.

Exemples

Exemple #1 Exemple avec MongoDB::command() et "distinct"

Trouver tous les valeurs distinctes pour une clé.

<?php

$people = $db->people;

$people->insert(array("name" => "Joe", "age" => 4));
$people->insert(array("name" => "Sally", "age" => 22));
$people->insert(array("name" => "Dave", "age" => 22));
$people->insert(array("name" => "Molly", "age" => 87));

$ages = $db->command(array("distinct" => "people", "key" => "age"));

foreach ($ages['values'] as $age) {
    echo "$age\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

4
22
87

Exemple #2 Exemple avec MongoDB::command() et MapReduce

Récupérer tous les utilisateurs avec au moins un événement "sale", et savoir le nombre de fois chacun de ces utilisateurs ont eu une vente.

<?php

// Document d'événement simple
$events->insert(array("user_id" => $id,
    "type" => $type,
    "time" => new MongoDate(),
    "desc" => $description));

// Construit les fonctions map et reduce
$map = new MongoCode("function() { emit(this.user_id,1); }");
$reduce = new MongoCode("function(k, vals) { ".
    "var sum = 0;".
    "for (var i in vals) {".
        "sum += vals[i];".
    "}".
    "return sum; }");

$sales = $db->command(array(
    "mapreduce" => "events",
    "map" => $map,
    "reduce" => $reduce,
    "query" => array("type" => "sale")));

$users = $db->selectCollection($sales['result'])->find();

foreach ($users as $user) {
    echo "{$user['_id']} had {$user['value']} sale(s).\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

User 47cc67093475061e3d9536d2 had 3 sale(s).
User 49902cde5162504500b45c2c had 14 sale(s).
User 4af467e4fd543cce7b0ea8e2 had 1 sale(s).

Note: Utilisation de MongoCode
Cet exemple utilise la méthode MongoCode, qui prend également comme argument le scope. Cependant, actuellement, Mongo ne supporte pas l'utilisation d'un scope dans MapReduce. Si vous voulez utiliser des variables définies côté client dans les fonctions MapReduce, vous pouvez les ajouter au scope global en utilisant le champ optionnel scope avec la commande de la base de données. Voir » MapReduce pour plus d'informations.

Si vous souhaitez utiliser MapReduce, Prajwal Tuladhar a créé une API pour les utilisateurs PHP de Mongo qui fournit une interface au lieu d'utiliser les commandes de base. Vous pouvez la télécharger depuis » Github et il y a un » article sur son blog expliquant comment l'utiliser.

Voir aussi

La documentation principale MongoDB sur les » commandes de base de données.

MongoDB::authenticate
MongoDB::__construct
MongoDB


Crée une nouvelle base de données Mongo

MongoDB::command
MongoDB::createCollection
MongoDB
PHP Manual

MongoDB::__construct

(PECL mongo >=0.9.0)

MongoDB::__construct — Crée une nouvelle base de données Mongo

Description

MongoDB::__construct ( Mongo $conn , string $name )

Cette méthode ne devrait pas être appelée directement. Pour créer une instance de MongoDB, utilisez Mongo::__get() ou Mongo::selectDB().

Si vous voulez ignorer cette recommandation, vous pouvez alors utiliser:

<?php

$m = new Mongo();
$db = new MongoDB($m, 'mydbname');

?>

Mais évitez. Ceci est plus logique:

<?php

$m = new Mongo();
$db = $m->mydbname;

// ou, si le nom contient des caractères hasardeux:

$db = $m->selectDB('my,db:name');

?>

Liste de paramètres

Mongo conn

La connexion à la base de données.

name

Le nom de la base de données.

Valeurs de retour

Returns the database.

Erreurs / Exceptions

Emet l'exception par défaut si le nom de la base de données est invalide.

MongoDB::command
MongoDB::createCollection
MongoDB


Crée une collection

MongoDB::__construct
MongoDB::createDBRef
MongoDB
PHP Manual

MongoDB::createCollection

(PECL mongo >=0.9.0)

MongoDB::createCollection — Crée une collection

Description

public MongoCollection MongoDB::createCollection ( string $name [, bool $capped = FALSE [, int $size = 0 [, int $max = 0 ]]] )

Cette méthode est utilisée pour créer des collections limitées ainsi que des collections nécessitant des options spéciales. Cette méthode revient à exécuter :

<?php

$collection = $db->command(array("create" => $name, "size" => $size, "capped" => $capped, "max" => $max));

?>
Voir la méthode MongoDB::command() pour plus d'informations sur les commandes de base de données.

Liste de paramètres

name

Le nom de la collection.

capped

Si la collection est de taille fixe ou pas.

size

Si la collection est de taille fixe, sa taille, en octets.

max

Si la collection est de taille fixe, le nombre maximal d'éléments à stocker dans la collection.

Valeurs de retour

Retourne un objet MongoCollection, qui représente la nouvelle collection.

Exemples

Exemple #1 Exemple avec MongoDB::createCollection()

Une collection plafonnée est un type spécial de collection qui a soit des éléments fixes, soit un nombre d'éléments fixes. Une fois que la collection est pleine, les éléments les plus anciens seront effacés lors de l'ajout de nouveaux éléments. Les collections plafonnées sont vraiment utiles pour les applications qui historisent et que vous souhaitez réserver une certaine quantitié d'espaces à l'historisation sans vous soucier de leurs évolutions.

Cet exemple crée une petite collection qui conserve un maximum de 10 documents.

<?php

$log = $db->createCollection("logger", true, 10*1024, 10);

for ($i = 0; $i < 100; $i++) {
    $log->insert(array("level" => WARN, "msg" => "Message simple #$i", "ts" => new MongoDate()));
}

$msgs = $log->find();

foreach ($msgs as $msg) {
    echo $msg['msg']."\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Message simple #90
Message simple #91
Message simple #92
Message simple #93
Message simple #94
Message simple #95
Message simple #96
Message simple #97
Message simple #98
Message simple #99
MongoDB::__construct
MongoDB::createDBRef
MongoDB


Crée une référence de base de données

MongoDB::createCollection
MongoDB::drop
MongoDB
PHP Manual

MongoDB::createDBRef

(PECL mongo >=0.9.0)

MongoDB::createDBRef — Crée une référence de base de données

Description

public array MongoDB::createDBRef ( string $collection , mixed $a )

Cette méthode est une interface flexible pour créer des références à des bases de données (voir la classe MongoDBRef).

Liste de paramètres

collection

La collection vers laquelle la référence de base de données va pointer.

a

Un objet ou un identifiant vers lequel créer une référence. Si un objet ou un tableau associatif est fourni, ceci va créer une référence en utilisant le champs _id.

Valeurs de retour

Retourne la tableau de référence de la base de données.

Exemples

Exemple #1 Exemple pour MongoDB::createDBRef()

Cet exemple montre comment créer un tableau de référence de base de données à partir d'un document.

<?php

$articles = $db->articles;

$article = array(
 'title' => 'Test article',
 'description' => 'Test article description'
);

$articles->insert($article);
$ref = $db->createDBRef('articles', $article);

print_r($article);
print_r($ref);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

     Array
     (
         [title] => Test article
         [description] => Test article description
         [_id] => MongoId Object
             (
             )

     )
     Array
     (
         [$ref] => articles
         [$id] => MongoId Object
             (
             )

     )

Maintenant $ref peut être stocké sur un autre document et récupéré plus tard avec MongoDB::getDBRef ou MongoCollection::getDBRef.

Exemple #2 Exemple pour MongoDB::createDBRef()

Exemple montrant comment créer une référence de base de données depuis un simple id.

<?php

$id = new MongoId('47cc67093475061e3d9536d2');
$ref = $db->createDBRef('articles', $id);
?>
MongoDB::createCollection
MongoDB::drop
MongoDB


Supprime cette base de données

MongoDB::createDBRef
MongoDB::dropCollection
MongoDB
PHP Manual

MongoDB::drop

(PECL mongo >=0.9.0)

MongoDB::drop — Supprime cette base de données

Description

public array MongoDB::drop ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse de la base de données.

Exemples

Exemple #1 Exemple avec MongoDB::drop()

Cet exemple montre comment supprimer une base de données Mongo et la réponse que nous devons attendre.

<?php

$db = $mongo->foo;
$response = $db->drop();
print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [dropped] => foo.$cmd
    [ok] => 1
)
MongoDB::createDBRef
MongoDB::dropCollection
MongoDB


Supprime une collection [déprécié]

MongoDB::drop
MongoDB::execute
MongoDB
PHP Manual

MongoDB::dropCollection

(PECL mongo >=0.9.0)

MongoDB::dropCollection — Supprime une collection [déprécié]

Description

public array MongoDB::dropCollection ( mixed $coll )
Avertissement

Déprécié

Utilisez MongoCollection::drop() à la place.

Cette fonction provoque des fuites mémoires dans les versions 1.0.7 et inférieures!

Liste de paramètres

coll

un objet MongoCollection ou le nom de la collection à supprimer.

Valeurs de retour

Retourne la réponse de la base de données.

MongoDB::drop
MongoDB::execute
MongoDB


Exécute le code JavaScript sur la base de données

MongoDB::dropCollection
MongoDB::forceError
MongoDB
PHP Manual

MongoDB::execute

(PECL mongo >=0.9.3)

MongoDB::execute — Exécute le code JavaScript sur la base de données

Description

public array MongoDB::execute ( mixed $code [, array $args = array() ] )

Le serveur de base de données Mongo exécute un moteur Javascript. Cette méthode vous permet d'exécuter du Javascript arbitraire sur la base de données. Ceci peut être utile si vous voulez toucher un petit nombre de collections, ou pour traiter quelques résultats issus de la base de données afin de réduire la quantitié de données à envoyer au client.

Liste de paramètres

code

un objet MongoCode ou une chaîne a exécuter.

args

Les arguments à passer à la requête code.

Valeurs de retour

Retourne le résultat de l'évaluation.

Exemples

Exemple #1 Exemple avec MongoDB::execute()

<?php

$response = $db->execute("function() { return 'Bonjour le monde !'; }");
echo $response['retval'];

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Bonjour le monde !

Exemple #2 Exemple avec MongoDB::execute()

Le tableau optionnel de paramètres sera passé à la fonction Javascript.

<?php

$response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Au revoir", "Joe"));
echo $response['retval'];

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Au revoir, Joe!

Exemple #3 Exemple de porté

Si un objet MongoCode est utilisé à la place d'une chaîne comme premier paramètre, un scope peut être passé dans lequel le Javascript sera exécuté.

<?php

$func =
    "function(greeting, name) { ".
        "return greeting+', '+name+', dit '+greeter;".
    "}";
$scope = array("greeter" => "Fred");

$code = new MongoCode($func, $scope);

$response = $db->execute($code, array("Au revoir", "Joe"));
echo $response['retval'];

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Au revoir, Joe, dit Fred
MongoDB::dropCollection
MongoDB::forceError
MongoDB


Crée une erreur de base de données

MongoDB::execute
MongoDB::__get
MongoDB
PHP Manual

MongoDB::forceError()

(No version information available, might only be in SVN)

— Crée une erreur de base de données

Description

public bool MongoDB::forceError ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse de la base de données.

MongoDB::execute
MongoDB::__get
MongoDB


Récupère une collection

MongoDB::forceError
MongoDB::getDBRef
MongoDB
PHP Manual

MongoDB::__get

(PECL mongo >=1.0.2)

MongoDB::__get — Récupère une collection

Description

public MongoCollection MongoDB::__get ( string $name )

C'est la méthode la plus simple de récupérer une collection depuis un objet de base de données. Si un nom de collection contient des caractères étranges, vous devriez utiliser plutôt la méthode MongoDB::selectCollection().

<?php

$mongo = new Mongo();

// les 2 lignes suivants sont équivalentes
$collection = $mongo->selectDB("foo")->selectCollection("bar");
$collection = $mongo->foo->bar;

?>

Liste de paramètres

name

Le nom de la collection.

Valeurs de retour

Retourne la collection.

MongoDB::forceError
MongoDB::getDBRef
MongoDB


Lit le contenu d'une référence de base de données

MongoDB::__get
MongoDB::getGridFS
MongoDB
PHP Manual

MongoDB::getDBRef

(PECL mongo >=0.9.0)

MongoDB::getDBRef — Lit le contenu d'une référence de base de données

Description

public array MongoDB::getDBRef ( array $ref )

Liste de paramètres

ref

Une référence de base de données.

Valeurs de retour

Retourne le document de base de données, référencé par l'identifiant de base.

Exemples

Exemple #1 Exemple pour MongoDB::getDBRef()

Exemple montrant comment récupérer une référence de base de données et la forme de l'entrée.

<?php

 $ref = array(
   '$ref' => 'profiles',
   '$id' => '47cc67093475061e3d9536d2'
 );

 $profile = $db->getDBRef($ref);
 ?>

Voyez MongoDB::createDBRef() pour plus d'informations sur comment créer des références de bases de données.

MongoDB::__get
MongoDB::getGridFS
MongoDB


Manipulations des fichiers dans la base

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB
PHP Manual

MongoDB::getGridFS

(PECL mongo >=0.9.0)

MongoDB::getGridFS — Manipulations des fichiers dans la base

Description

public MongoGridFS MongoDB::getGridFS ([ string $prefix = "fs" ] )

Liste de paramètres

prefix

Le préfixe pour les fichiers et les morceaux de collections.

Valeurs de retour

Retourne un nouvel objet mongogridfs pour cette base de données.

Exemples

Exemple #1 Exemple pour MongoDB::getGridFS()

Cet exemple montre comment récupérer une instance de MongoGridFS.

<?php

$db = $mongo->my_db;

$prefix = 'files';
$collection = $db->getGridFS($prefix);

?>

Lisez la documentation de MongoGridFS pour apprendre comment stocker des fichiers avec MongoDB.

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB


Lit le niveau de profilage de la base de données

MongoDB::getGridFS
MongoDB::lastError
MongoDB
PHP Manual

MongoDB::getProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::getProfilingLevel — Lit le niveau de profilage de la base de données

Description

public int MongoDB::getProfilingLevel ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le niveau de profilage.

Voir aussi

La documentation principale MongoDB sur » le profilage et MongoDB::setProfilingLevel() - Configure le niveau de profilage de la base de données.

MongoDB::getGridFS
MongoDB::lastError
MongoDB


Vérifie s'il y a une erreur sur la dernière opération relative à la base de données

MongoDB::getProfilingLevel
MongoDB::listCollections
MongoDB
PHP Manual

MongoDB::lastError

(PECL mongo >=0.9.5)

MongoDB::lastError — Vérifie s'il y a une erreur sur la dernière opération relative à la base de données

Description

public array MongoDB::lastError ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'erreur, s'il y en a une.

Exemples

Exemple #1 Exemple avec MongoDB::lastError()

<?php
$db->resetError();
var_dump($db->lastError());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["err"]=>
  NULL
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}

Exemple #2 Exemple avec MongoDB::lastError() et une clé dupliquée

<?php
$c = $db->selectCollection("foo");

// insert two documents with the same _id
$c->insert(array("_id" => 1));
$c->insert(array("_id" => 1));

var_dump($db->lastError());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["err"]=>
  string(64) "E11000 duplicate key errorindex: foo.foo.$_id_  dup key: { : 1 }"
  ["n"]=>
  int(0)
  ["ok"]=>
  float(1)
}
MongoDB::getProfilingLevel
MongoDB::listCollections
MongoDB


Liste les collections de la base de données

MongoDB::lastError
MongoDB::prevError
MongoDB
PHP Manual

MongoDB::listCollections

(PECL mongo >=0.9.0)

MongoDB::listCollections — Liste les collections de la base de données

Description

public array MongoDB::listCollections ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une liste de MongoCollections.

Exemples

Exemple #1 Exemple avec MongoDB::listCollections()

L'exemple suivant illustre la suppression de toutes les collections d'une base de données.

<?php

$m = new Mongo();
$db = $m->selectDB("sample");

$list = $db->listCollections();
foreach ($list as $collection) {
    echo "Suppression de $collection... ";
    $collection->drop();
    echo "Fait !\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Suppression de sample.blog.posts... Fait !
Suppression de sample.critical.docs... Fait !
Suppression de sample.taxes... Fait !
...
MongoDB::lastError
MongoDB::prevError
MongoDB


Vérifie la dernière erreur émise lors d'une opération relative à la base de données

MongoDB::listCollections
MongoDB::repair
MongoDB
PHP Manual

MongoDB::prevError

(PECL mongo >=0.9.5)

MongoDB::prevError — Vérifie la dernière erreur émise lors d'une opération relative à la base de données

Description

public array MongoDB::prevError ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'erreur ainsi que le numéro de l'opérations dans laquelle elle est apparue.

MongoDB::listCollections
MongoDB::repair
MongoDB


Répare et compacte une base de données

MongoDB::prevError
MongoDB::resetError
MongoDB
PHP Manual

MongoDB::repair

(PECL mongo >=0.9.0)

MongoDB::repair — Répare et compacte une base de données

Description

public array MongoDB::repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )

Liste de paramètres

preserve_cloned_files

Indique les fichiers clonés doivent être conservé, en cas d'échec de la réparation.

backup_original_files

Indique si les fichiers originaux doivent être sauvegardés.

Valeurs de retour

Retourne la réponse de la base de données.

Voir aussi

La documentation principale MongoDB sur » la réparation.

Exemples

Exemple #1 Exemple pour MongoDB::repair()

Cet exemple montre comment réparer et comprimer une base de données.

<?php

$db = $mongo->foo;

$response = $db->repair();
print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [ok] => 1
)
MongoDB::prevError
MongoDB::resetError
MongoDB


Efface toutes les erreurs d'une base de données

MongoDB::repair
MongoDB::selectCollection
MongoDB
PHP Manual

MongoDB::resetError

(PECL mongo >=0.9.5)

MongoDB::resetError — Efface toutes les erreurs d'une base de données

Description

public array MongoDB::resetError ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse à la base de données.

MongoDB::repair
MongoDB::selectCollection
MongoDB


Lit une collection

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB
PHP Manual

MongoDB::selectCollection

(PECL mongo >=0.9.0)

MongoDB::selectCollection — Lit une collection

Description

public MongoCollection MongoDB::selectCollection ( string $name )

Liste de paramètres

name

Le nom de la collection.

Valeurs de retour

Retourne la collection.

MongoDB::resetError
MongoDB::setProfilingLevel
MongoDB


Configure le niveau de profilage de la base de données

MongoDB::selectCollection
MongoDB::__toString
MongoDB
PHP Manual

MongoDB::setProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::setProfilingLevel — Configure le niveau de profilage de la base de données

Description

public int MongoDB::setProfilingLevel ( int $level )

Liste de paramètres

level

Le niveau de profilage.

Valeurs de retour

Retourne le niveau de profilage précédent.

MongoDB::selectCollection
MongoDB::__toString
MongoDB


Le nom de cette base de données Mongo

MongoDB::setProfilingLevel
MongoCollection
MongoDB
PHP Manual

MongoDB::__toString

(PECL mongo >=0.9.0)

MongoDB::__toString — Le nom de cette base de données Mongo

Description

public string MongoDB::__toString ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de la base de données.

MongoDB::setProfilingLevel
MongoCollection
MongoDB


La classe MongoCollection

Introduction

Représentation d'une collecion de base de données.

Les noms de collections peuvent contenir n'importe quel caractère ASCII. Il est possible d'utiliser les noms de collections suivants : "", "...", "ma collection" et "*&#@".

Les noms de collections définies par l'utilisateur ne peuvent contenir le caractère $. Il y a certaines collections systèmes qui utilisent le caractère $ dans leurs noms (i.e., local.oplog.$main), mais c'est un caractère réservé. Si vous tentez de créer et d'utiliser une collection dont le nom contient un $, MongoDB échouera.

Synopsis de la classe

MongoCollection
MongoCollection {
/* Champs */
public MongoDB $db = NULL ;
public integer $w ;
public integer $wtimeout ;
/* Méthodes */
public mixed batchInsert ( array $a [, array $options = array() ] )
public __construct ( MongoDB $db , string $name )
public int count ([ mixed $query = array() ] )
public array createDBRef ( array $a )
public array deleteIndex ( string|array $keys )
public array deleteIndexes ( void )
public array drop ( void )
public boolean ensureIndex ( array $keys , array $options )
public MongoCursor find ([ array $query = array() [, array $fields = array() ]] )
public array findOne ([ array $query = array() [, array $fields = array() ]] )
public MongoCollection __get ( string $name )
public array getDBRef ( array $ref )
public array getIndexInfo ( void )
public string getName ( void )
public array group ( mixed $keys , array $initial , MongoCode $reduce [, array $condition = array() ] )
public mixed insert ( array $a [, array $options = array() ] )
public mixed remove ( array $criteria [, array $options = array() ] )
public mixed save ( array $a [, array $options = array() ] )
public string __toString ( void )
public boolean update ( array $criteria , array $newobj [, array $options = array() ] )
public array validate ([ bool $scan_data = FALSE ] )
}

Fields

db

La base de données "parente" pour cette collection.

w

Le nombre de serveurs vers lesquels répliquer un changement avant de retourner un succès.La valeur est héritée de la base de données parente. La classe MongoDB possède plus de détails sur le fonctionnement de w.

wtimeout

Le nombre de millisecondes à attendre que les réplications $this->w se fassent. La valeur est héritée de la base de données parente. La classe MongoDB possède plus de détails sur le fonctionnement de wtimeout.

Voir aussi

Documentation de MongoDB » concernant les collections.

Sommaire

  • MongoCollection::batchInsert — Insère plusieurs documents dans la collection
  • MongoCollection::__construct — Crée une nouvelle collection
  • MongoCollection::count — Compte le nombre de documents de cette collection
  • MongoCollection::createDBRef — Crée une référence de base de données
  • MongoCollection::deleteIndex — Supprime un index de la collection
  • MongoCollection::deleteIndexes — Supprime tous les index de cette collection
  • MongoCollection::drop — Supprime cette collection
  • MongoCollection::ensureIndex — Crée un index sur un champ donné
  • MongoCollection::find — Interroge une collection
  • MongoCollection::findOne — Interroge cette collection, retourne un seul élément
  • MongoCollection::__get — Récupère une collection
  • MongoCollection::getDBRef — Lit une référence de base de données
  • MongoCollection::getIndexInfo — Retourne un tableau de noms d'index pour cette collection
  • MongoCollection::getName — Retourne le nom de cette collection
  • MongoCollection::group — Effecture une opération de regroupement
  • MongoCollection::insert — Insère un tableau dans la collection
  • MongoCollection::remove — Supprime un enregistrement d'une collection
  • MongoCollection::save — Sauve un objet dans une collection
  • MongoCollection::__toString — Retourne la répresentation en chaîne de cette collection
  • MongoCollection::update — Modifie les enregistrements
  • MongoCollection::validate — Valide la collection
MongoDB::__toString
MongoCollection::batchInsert
Classes internes


Insère plusieurs documents dans la collection

MongoCollection
MongoCollection::__construct
MongoCollection
PHP Manual

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert — Insère plusieurs documents dans la collection

Description

public mixed MongoCollection::batchInsert ( array $a [, array $options = array() ] )

Liste de paramètres

a

Un tableau de tableaux.

options

Options d'insertion.

  • "safe"

    Vérifie si l'insertion a réussi.

Valeurs de retour

Si l'option "safe" est définie, retourne un tableau associatif contenant le statut de l'insertion ("ok") ainsi que toutes les erreurs survenues ("err"). Sinon, retourne TRUE si l'insertion a été envoyée avec succès, FALSE sinon.

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est définie et que l'insertion échoue.

Historique

Version | Description
1.0.5 | Ajout du paramètre "options".

Exemples

Exemple #1 Exemple avec MongoCollection::batchInsert()

L'insertion en masse est un moyen rapide d'insérer rapidement de nombreux éléments à la fois dans une base

<?php

$users = array();
for ($i = 0; $i<100; $i++) {
  $users[] = array('username' => 'user'.$i, 'i' => $i);
}

$mongo = new Mongo();
$collection = $mongo->my_db->users;
$collection->drop();

$collection->batchInsert($users);

foreach ($users as $user) {
  echo $user['_id']."\n"; // peuplé via l'instance de MongoId
}

$users = $collection->find()->sort(array('i' => 1));
foreach ($users as $user) {
    var_dump($user['username']);
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

4bf43ac68ead0e1971000000
4bf43ac68ead0e1971010000
4bf43ac68ead0e1971020000
...
string(5) "user1"
string(5) "user2"
string(5) "user3"
...
MongoCollection
MongoCollection::__construct
MongoCollection


Crée une nouvelle collection

MongoCollection::batchInsert
MongoCollection::count
MongoCollection
PHP Manual

MongoCollection::__construct

(PECL mongo >=0.9.0)

MongoCollection::__construct — Crée une nouvelle collection

Description

public MongoCollection::__construct ( MongoDB $db , string $name )

Liste de paramètres

MongoDB db

La base de données parente.

name

Le nom de la collection.

Valeurs de retour

Retourne un nouvel objet de connexion MongoCollection.

Erreurs / Exceptions

Emet l'exception par défaut si la connexion est invalide.

MongoCollection::batchInsert
MongoCollection::count
MongoCollection


Compte le nombre de documents de cette collection

MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection
PHP Manual

MongoCollection::count

(PECL mongo >=0.9.0)

MongoCollection::count — Compte le nombre de documents de cette collection

Description

public int MongoCollection::count ([ mixed $query = array() ] )

Liste de paramètres

query

Tableaux ou objets avec les champs à chercher.

Valeurs de retour

Retourne le nombre de documents correspondant à la requête.

Exemples

Exemple #1 Exemple avec MongoCollection::count()

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

var_dump($collection->count());
var_dump($collection->count(array('x'=>1)));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(3)
int(1)
MongoCollection::__construct
MongoCollection::createDBRef
MongoCollection


Crée une référence de base de données

MongoCollection::count
MongoCollection::deleteIndex
MongoCollection
PHP Manual

MongoCollection::createDBRef

(PECL mongo >=0.9.0)

MongoCollection::createDBRef — Crée une référence de base de données

Description

public array MongoCollection::createDBRef ( array $a )

Liste de paramètres

a

L'objet dont il faut créer la référence.

Valeurs de retour

Retourne le tableau de référence de base de données.

Exemples

Exemple #1 Exemple avec MongoCollection::createDBRef

<?php

$songs = $db->songs;
$playlists = $db->playlists;

// crée une référence à une chanson
$manamana = $songs->findOne(array('title' => 'Ma na ma na'));
$refToSong = $songs->createDBRef($manamana);

// ajoute la référence à ma liste de lectures
$playlists->update(array('username' => 'me'), array('$push' => array('songlist' => $refToSong)));

?>

Voir aussi

  • MongoCollection::getDBRef - Lit une référence de base de données

MongoCollection::count
MongoCollection::deleteIndex
MongoCollection


Supprime un index de la collection

MongoCollection::createDBRef
MongoCollection::deleteIndexes
MongoCollection
PHP Manual

MongoCollection::deleteIndex

(PECL mongo >=0.9.0)

MongoCollection::deleteIndex — Supprime un index de la collection

Description

public array MongoCollection::deleteIndex ( string|array $keys )

Cette méthode est identique à:

<?php

public function deleteIndexes($keys) {
  // toIndexString est une méthode protégée qui transforme les chaines, tableaux
  // et objets en noms d'index
  $index = $this->toIndexString($keys);

  return $this->db->command(array("deleteIndexes" => $this->getName(),
    "index" => $index);
}

?>

Chaque index possède un nom unique à sa création. C'est l'utilisateur qui le précise en général (avec l'option "name" de MongoCollection::ensureIndex()) ou alors il est généré par le pilote depuis une combinaisons de clés. Ce nom est alors utilisé par MongoCollection::deleteIndex().

Malheureusement, la méthode MongoCollection::ensureIndex() génère des noms très différents de la commande shell à cause de problèmes de compatibilité ascendante, et MongoCollection::deleteIndex() ne peut supprimer les index dont les noms sont personnalisés. De ce fait, la meilleure manière de supprimer des index créés via le shell ou avec des noms personnalisés est d'appeler directement la commande deleteIndexes de la base de données.

Ainsi, si vous avez appelé un index "superfast query", vous pouvez le supprimer avec:

<?php

$db->command(array("deleteIndexes" => $collection->getName(), "index" => "superfast query");

?>

Pour trouver le nom d'un index, vous pouvez requêter la collection system.indexes d'une base de données et chercher le champ name.

Liste de paramètres

keys

Le ou les champs dont il faut supprimer l'index.

Valeurs de retour

Retourne la réponse de la base de données.

Exemples

Exemple #1 Exemple avec MongoCollection::deleteIndex()

This example passes the function string and array parameters.

<?php
$m = new Mongo();
$c = $m->example->indices;

// crée un index
$c->ensureIndex(array("i"=>1));

// supprime l'index
$c->deleteIndex("i");

// créé un index à colonnes multiples
$c->ensureIndex(array("j" => 1, "k" => 1));

// supprime cet index
$c->deleteIndex(array("j" => 1, "k" => 1));
?>
MongoCollection::createDBRef
MongoCollection::deleteIndexes
MongoCollection


Supprime tous les index de cette collection

MongoCollection::deleteIndex
MongoCollection::drop
MongoCollection
PHP Manual

MongoCollection::deleteIndexes

(PECL mongo >=0.9.0)

MongoCollection::deleteIndexes — Supprime tous les index de cette collection

Description

public array MongoCollection::deleteIndexes ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse de la base de données.

Exemples

Exemple #1 Exemple avec MongoCollection::deleteIndexes()

Cet exemple montre comme effacer tous les indexes depuis une collection et la réponse que nous devons attendre.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->deleteIndexes();
print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ok] => 1
)
MongoCollection::deleteIndex
MongoCollection::drop
MongoCollection


Supprime cette collection

MongoCollection::deleteIndexes
MongoCollection::ensureIndex
MongoCollection
PHP Manual

MongoCollection::drop

(PECL mongo >=0.9.0)

MongoCollection::drop — Supprime cette collection

Description

public array MongoCollection::drop ( void )

Supprime cette collection et ses index.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse de la base de données.

Exemples

Exemple #1 Exemple avec MongoCollection::drop()

Cet exemple montre comment supprimer une collection et la réponse que nous devons attendre.

<?php

$collection = $mongo->my_db->articles;
$response = $collection->drop();
print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [nIndexesWas] => 1
    [msg] => all indexes deleted for collection
    [ns] => my_db.articles
    [ok] => 1
)
MongoCollection::deleteIndexes
MongoCollection::ensureIndex
MongoCollection


Crée un index sur un champ donné

MongoCollection::drop
MongoCollection::find
MongoCollection
PHP Manual

MongoCollection::ensureIndex

(PECL mongo >=0.9.0)

MongoCollection::ensureIndex — Crée un index sur un champ donné

Description

public boolean MongoCollection::ensureIndex ( array $keys , array $options )

Un index unique ne peut être créé dans un champ si plusieurs documents existants ne contiennent pas ce champ. Le champ vaut effectivement NULL pour ces documents et ces derniers ne sont déjà pas uniques.

Liste de paramètres

keys

Le ou les champs à indexer.

options

Ce paramètre est un tableau associatif sous la forme array("optionname" => <boolean>, ...). Actuellement, les options supportées sont :

  • "unique"

    Crée un index unique.

  • "dropDups"

    Si un index unique est sur le point d'être créé et que les valeurs dupliquées existent, les valeurs existantes seront supprimées.

  • "background"

    Si vous utilisez la version 1.3.2+ de MongoDB, vous pouvez créer des index en arrière plan pendant que d'autres opérations se déroulent. Par défaut, la création des index est synchrone. Si vous précisez TRUE à cette option, la création d'index sera asynchrone.

  • "safe"

    Depuis la version 1.0.4 du driver, vous pouvez spécifier une valeur booléenne pour vérifier si la création de l'index a réussi. Le driver lancera une exception MongoCursorException si la création de l'index échoue.

  • "name"

    Après la version 1.0.4 du driver (la version 1.0.4 n'est pas concernée), vous pouvez spécifier le nom de l'index. Ceci peut être utile si vous indexez plusieurs clés et que Mongo vous indique que les noms des index sont trop longs.

Valeurs de retour

Returns TRUE.

Historique

Version | Description
1.0.2 | Le paramètre "options" passe de booléen à un tableau. En version Pre-1.0.2, le second paramètre était une valeur booléenne optionnelle spécifiant un index unique.

Exemples

Exemple #1 Exemple avec MongoCollection::ensureIndex()

<?php

$c = new MongoCollection($db, 'foo');

// Crée un index montant sur 'x'
$c->ensureIndex(array('x' => 1));

// Crée un index montant sur 'z' et descendant sur 'zz'
$c->ensureIndex(array('z' => 1, 'zz' => -1));

// Crée un index unique sur 'x'
$c->ensureIndex(array('x' => 1), array("unique" => true));
?>

Exemple #2 Exemple de suppression de données dupliquées

<?php

$collection->insert(array("username" => "joeschmoe"));
$collection->insert(array("username" => "joeschmoe"));

/*
 * La création d'index a échoué, vous ne pouvez pas créer d'index unique
 * sur une clé ne possédant pas de valeurs non-uniques
 */
$collection->ensureIndex(array("username" => 1), array("unique" => 1));

/*
 * La création d'index a réussi : un des documents est supprimé de la collection
 */
$collection->ensureIndex(array("username" => 1), array("unique" => 1, "dropDups" => 1));

/*
 * Maintenant que nous avons un index unique, les prochaines insertions
 * avec le même nom d'utilisateur (comme ci-dessous) échoueront
 */
$collection->insert(array("username" => "joeschmoe"));

?>

Exemple #3 Indexation géospatiales

Mongo supporte l'indexation géospatiales, vous permettant de chercher des documents se trouvant près d'un endroit donné, ou dans une forme. Par exemple, pour créer un index géospatial sur le champ "loc" :

<?php

$collection->ensureIndex(array("loc" => "2d"));

?>

Voir aussi

Documentation de MongoDB concernant les» index et les » indexes géospatiales.

MongoCollection::drop
MongoCollection::find
MongoCollection


Interroge une collection

MongoCollection::ensureIndex
MongoCollection::findOne
MongoCollection
PHP Manual

MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::find — Interroge une collection

Description

 public  MongoCursor  MongoCollection::find
  ([  array  $query = array()
 [,  array  $fields = array()
]] )

Liste de paramètres

query

Les champs à chercher.

fields

Les champs du résultat à retourner.

Valeurs de retour

Retourne un curseur pour les résultats de recherche.

Exemples

Exemple #1 Exemple avec MongoCollection::find()

Cet exemple montre comment rechercher un intervalle.

<?php

// recherche les documents dont l'identifiant est entre 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

$cursor = $collection->find($rangeQuery);

?>

Voyez MongoCursor pour plus d'informations sur le fonctionnement des curseurs.

Exemple #2 Exemple pour MongoCollection::find() en utilisant $where

Cet exemple montre comment chercher dans une collection en utilisant du code javascript pour réduire les résultats retournés.

<?php

$collection = $db->my_db->articles;

$js = "function() {
  return this.type == 'homepage' || this.featured == true;
}";
$articles = $collection->find(array('$where' => $js));

?>

Exemple #3 Exemple pour MongoCollection::find() utilisant $in

Cet exemple montre comment chercher dans une collection en utilisant l'opérateur $in.

<?php

$collection = $db->my_db->articles;
$articles = $collection->find(array(
  'type' => array('$in' => array('homepage', 'editorial'))
));

?>

Voir aussi

Documentation de MongoDB » concernant find.

MongoCollection::ensureIndex
MongoCollection::findOne
MongoCollection


Interroge cette collection, retourne un seul élément

MongoCollection::find
MongoCollection::__get
MongoCollection
PHP Manual

MongoCollection::findOne

(PECL mongo >=0.9.0)

MongoCollection::findOne — Interroge cette collection, retourne un seul élément

Description

 public  array  MongoCollection::findOne
  ([  array  $query = array()
 [,  array  $fields = array()
]] )

Liste de paramètres

query

Les champs à chercher.

fields

Les champs de résultat à retourner.

Valeurs de retour

Retourne les enregistrements qui correspondent aux critères, ou bien NULL.

Erreurs / Exceptions

Lance une exception MongoConnectionException si l'on ne peut joindre la base de données.

Exemples

Exemple #1 MongoCollection::findOne Cherche un document par son id.

Cet exemple montre comment récupérer un document dans une collection par son id.

<?php

$articles = $mongo->my_db->articles;

$article = $articles->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));

?>

Exemple #2 MongoCollection::findOne Cherche un document par condition.

Cet exemple montre comment récupérer un document dans une collection au moyen d'un condition en limitant les champs retournés.

<?php

$users = $mongo->my_db->users;
$user = $users->findOne(array('username' => 'jwage'), array('password'));
print_r($user);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [_id] => MongoId Object
        (
        )

    [password] => test
)

Remarquez que même si le document possède un champ username, nous limitons les résultats au seul champ password.

MongoCollection::find
MongoCollection::__get
MongoCollection


Récupère une collection

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection
PHP Manual

MongoCollection::__get

(PECL mongo >=1.0.2)

MongoCollection::__get — Récupère une collection

Description

public MongoCollection MongoCollection::__get ( string $name )

Une syntaxe simple pour récupérer une collection avec des noms séparés par des points (.). Si le nom d'une collection contient des caractères exotiques, vous devriez plutôt utiliser la méthode MongoDB::selectCollection().

<?php

$mongo = new Mongo();

// les 2 lignes suivants sont identiques
$collection = $mongo->selectDB("foo")->selectCollection("bar.baz");
$collection = $mongo->foo->bar->baz;

?>

Liste de paramètres

name

La prochaine chaîne de caractères dans le nom de la collection.

Valeurs de retour

Retourne la collection.

MongoCollection::findOne
MongoCollection::getDBRef
MongoCollection


Lit une référence de base de données

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection
PHP Manual

MongoCollection::getDBRef

(PECL mongo >=0.9.0)

MongoCollection::getDBRef — Lit une référence de base de données

Description

public array MongoCollection::getDBRef ( array $ref )

Liste de paramètres

ref

Une référence de base de données.

Valeurs de retour

Retourne le document de base de données désigné par la référence.

Exemples

Exemple #1 Exemple avec MongoCollection::getDBRef

<?php

$playlists = $db->playlists;

$myList = $playlists->findOne(array('username' => 'me'));

// lit chaque chanson dans la liste
foreach ($myList['songlist'] as $songRef) {
    $song = $playlists->getDBRef($songRef);
    echo $song['title'] . "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Dazed and Confused
Ma na ma na
Bohemian Rhapsody

Dans l'exemple ci-dessus, chaque $songRef ressemble à quelque chose
comme :
    Array
    (
        [$ref] => songs
        [$id] => 49902cde5162504500b45c2c
    )

Voir aussi

  • MongoCollection::createDBRef - Crée une référence de base de données

MongoCollection::__get
MongoCollection::getIndexInfo
MongoCollection


Retourne un tableau de noms d'index pour cette collection

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection
PHP Manual

MongoCollection::getIndexInfo

(PECL mongo >=0.9.0)

MongoCollection::getIndexInfo — Retourne un tableau de noms d'index pour cette collection

Description

public array MongoCollection::getIndexInfo ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la liste des noms d'index.

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection


Retourne le nom de cette collection

MongoCollection::getIndexInfo
MongoCollection::group
MongoCollection
PHP Manual

MongoCollection::getName

(PECL mongo >=0.9.0)

MongoCollection::getName — Retourne le nom de cette collection

Description

public string MongoCollection::getName ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de cette collection.

Exemples

Exemple #1 Exemple avec MongoCollection::getName()

<?php

$m = new Mongo();
$c = $m->foo->bar->baz;

echo "Collection de travail " . $c->getName() . ".\n";

// Le nom complet de l'espace de noms est donné par la méthode
// MongoCollection::__toString()
echo "Espace de noms de travail $c.\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Collection de travail bar.baz.
Espace de noms de travail foo.bar.baz.

MongoCollection::getIndexInfo
MongoCollection::group
MongoCollection


Effecture une opération de regroupement

MongoCollection::getName
MongoCollection::insert
MongoCollection
PHP Manual

MongoCollection::group

(PECL mongo >=0.9.2)

MongoCollection::group — Effecture une opération de regroupement

Description

public array MongoCollection::group ( mixed $keys , array $initial , MongoCode $reduce [, array $condition = array() ] )

Liste de paramètres

keys

Les champs avec lesquels faire le regroupement. Si un tableau ou un objet non-code est passé, ce sera la clé utilisée pour grouper les résultats.

1.0.4+: Si keys est une instance de MongoCode, keys sera considéré comme une fonction qui retourne la clé pour effectuer le regroupement (voir l'exemple ci-dessous sur le passage d'une fonction keys).

initial

Valeur initiales des compteurs d'agrégation.

reduce

Fonction acceptant deux arguments (le document courant et l'agrégation à ce point) et effectue l'agrégation.

options

Paramètres optionnels pour la commande de groupe. Les options accéptées sont:

  • "condition"

    Critère pour inclure un document dans l'agrégation.

  • "finalize"

    Fonction appelée une fois par clé unique qui prend le rendu final de la fonction de réduction.

Valeurs de retour

Retourne un tableau contenant les résultats.

Exemples

Exemple #1 Exemple avec MongoCollection::group()

<?php

$collection->save(array("a" => 2));
$collection->save(array("b" => 5));
$collection->save(array("a" => 1));

// use all fields
$keys = array();

// set intial values
$initial = array("count" => 0);

// JavaScript function to perform
$reduce = "function (obj, prev) { prev.count++; }";

// only use documents where the "a" field is greater than 1
$condition = array("a" => array( '$gt' => 1));

$g = $collection->group($keys, $initial, $reduce, $condition);

var_dump($g);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  ["retval"]=>
  array(1) {
    [0]=>
    array(1) {
      ["count"]=>
      float(1)
    }
  }
  ["count"]=>
  float(1)
  ["keys"]=>
  int(1)
  ["ok"]=>
  float(1)
}

Exemple #2 Passer une fonction keys

Si vous voulez grouper par quelque chose d'autre qu'un nom de champ, vous pouvez passer une fonction comme premier paramètre à la méthode MongoCollection::group() et elle sera exécutée sur chacun des documents. La valeur retournée de cette fonction sera utilisée comme valeur de regroupement.

Cet exemple montre comment regrouper par le numéro du champ, modulo 4.

<?php

$c->group(new MongoCode('function(doc) { return {mod : doc.num % 4}; }'),
     array("count" => 0),
     new MongoCode('function(current, total) { total.count++; }'));

?>
MongoCollection::getName
MongoCollection::insert
MongoCollection


Insère un tableau dans la collection

MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — Insère un tableau dans la collection

Description

public mixed MongoCollection::insert ( array $a [, array $options = array() ] )

Liste de paramètres

a

Un tableau.

options

Options d'insertion.

  • "safe"

    Vérifie si l'insertion a réussi.

Valeurs de retour

Si le paramètre safe a été défini, retourne un tableau contenant le statut de l'insertion. Sinon, retourne un booléen indiquant si le tableau est non vide (un tableau vide ne peut être inséré).

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est défini et que l'insertion échoue. (Version 1.0.1+)

Historique

Version | Description
1.0.5 | Modification du second paramètre en un tableau d'options. Avant la version 1.0.5, le second paramètre était un booléen indiquant l'option "safe".

Exemples

Exemple #1 Exemple avec MongoCollection::insert()

L'insertion d'un objet ajoutera un champ _id sauf s'il est passé par référence.

<?php

$a = array('x' => 1);
$collection->insert($a);
var_dump($a)

$b = array('x' => 1);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["x"]=>
  int(1)
  ["_id"]=>
  object(MongoId)#4 (0) {
  }
}
array(1) {
  ["x"]=>
  int(1)
}

Exemple #2 Exemple avec MongoCollection::insert() en mode sécurisé

Cet exemple montre l'insertion de 2 éléments avec le même _id, ce qui entraine l'émission d'une exception MongoCursorException vu que le paramètre safe a été défini.

<?php

$person = array("name" => "Joe", "age" => 20);
$collection->insert($person, true);

// Maintenant, $person a un champ _id, aussi, si vous le sauvegardez à nouveau,
// une exception sera émise
try {
    $collection->insert($person, true);
}
catch(MongoCursorException $e) {
    echo "Vous ne pouvez pas sauvegarder la même personne 2 fois !\n";
}

?>

Voir aussi

Documentation de MongoDB » concernant insert.

MongoCollection::group
MongoCollection::remove
MongoCollection


Supprime un enregistrement d'une collection

MongoCollection::insert
MongoCollection::save
MongoCollection
PHP Manual

MongoCollection::remove

(PECL mongo >=0.9.0)

MongoCollection::remove — Supprime un enregistrement d'une collection

Description

public mixed MongoCollection::remove ( array $criteria [, array $options = array() ] )

Liste de paramètres

criteria

La description des enregistrements à supprimer.

options

Options pour l'effacement.

  • "justOne"

    Efface un seul enregistrement correspondant aux critères.

  • "safe"

    Vérifie si l'effacement a réussi et le nombre d'éléments effacés.

Valeurs de retour

Si l'option "safe" est définie, retourne un tableau associatif contenant le statut de l'effacement ("ok"), le nombre d'éléments effacés ("n"), mais aussi toutes les erreurs rencontrées ("err"). Sinon, retourne TRUE si l'effacement a été correctement émise, FALSE sinon.

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est définie et que l'effacement échoue.

Historique

Version | Description
1.0.5 | Modification du second paramètre en un tableau d'options. Avant la version 1.0.5, le second paramètre était un booléen indiquant l'option "justOne" et il n'y avait pas d'option "safe".

Exemples

Exemple #1 Exemple avec MongoCollection::remove() et justOne

<?php

$radioactive = $db->radioactive;

// compte la quantité de plutonium
$remaining = $radioactive->count(array('type' => 94));

$halflife = $remaining/2;

// Suppression de la moitié
while ($halflife > 0) {
    $uranium->remove(array('type' => 94), array("justOne" => true));
    $halflife--;
}

?>

Voir aussi

Documentation de MongoDB » concernant remove.

MongoCollection::insert
MongoCollection::save
MongoCollection


Sauve un objet dans une collection

MongoCollection::remove
MongoCollection::__toString
MongoCollection
PHP Manual

MongoCollection::save

(PECL mongo >=0.9.0)

MongoCollection::save — Sauve un objet dans une collection

Description

public mixed MongoCollection::save ( array $a [, array $options = array() ] )

Si l'objet est déjà dans la base, modifie la base et sinon, insère l'objet.

Liste de paramètres

a

Le tableau à sauver.

options

Options pour la sauvegarde.

  • "safe"

    Vértifie si la sauvegarde a réussi.

Valeurs de retour

Retourne si l'objet a été sauvé.

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est définie et que la sauvegarde échoue.

Historique

Version | Description
1.0.5 | Ajout du paramètre "options".

Exemples

Exemple #1 Exemple avec MongoCollection::save()

<?php

$obj = array('x' => 1);

// insertion de $obj dans la base
$collection->save($obj);

// ajout d'un nouveau champ
$obj['foo'] = 'bar';

// $obj ne peut pas être inséré, car il causerait une duplication
$collection->insert($obj);

// sauvegarde de la modification de $obj
$collection->save($obj);

?>
MongoCollection::remove
MongoCollection::__toString
MongoCollection


Retourne la répresentation en chaîne de cette collection

MongoCollection::save
MongoCollection::update
MongoCollection
PHP Manual

MongoCollection::__toString

(PECL mongo >=0.9.0)

MongoCollection::__toString — Retourne la répresentation en chaîne de cette collection

Description

public string MongoCollection::__toString ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom complet de cette collection.

Exemples

Exemple #1 Exemple avec MongoCollection::__toString()

<?php

$m = new Mongo();

$c1 = $m->foo->bar->baz;
echo "Utilisation de la collection $c1.";

$c2 = $m->selectCollection('[]', '&');
echo "Utilisation de la collection $c2.";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Utilisation de la collection foo.bar.baz.
Utilisation de la collection [].&.

MongoCollection::save
MongoCollection::update
MongoCollection


Modifie les enregistrements

MongoCollection::__toString
MongoCollection::validate
MongoCollection
PHP Manual

MongoCollection::update

(PECL mongo >=0.9.0)

MongoCollection::update — Modifie les enregistrements

Description

public boolean MongoCollection::update ( array $criteria , array $newobj [, array $options = array() ] )

Liste de paramètres

criteria

La description des objets à modifier.

newobj

L'objet avec lequel modifier les objets trouvés.

options

Ce paramètre est un tableau associatif sous la forme array("optionname" => <boolean>, ...). Les options actuellement supportées sont :

  • "upsert"

    Si aucun document ne correspond au critère $criteria, un nouveau document sera créé depuis les variables $criteria et $newobj (voir l'exemple avec upsert ci-dessous).

  • "multiple"

    Tous les documents correspondants au $criteria seront mis à jour. MongoCollection::update() a le comportement opposé de MongoCollection::remove(): elle met à jour un document par défaut, pas tous les documents correspondants. Il est recommandé de toujours précisez si vous voulez mettre à jour un document ou plusieurs, la base de données pouvant changer son comportement par défaut dans le futur.

  • "safe"

    Vérifie si la mise à jour a réussi.

Valeurs de retour

Retourne si la mise à jour a été envoyée avec succès à la base de données.

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est définie et que la mise à jour échoue.

Historique

Version | Description
1.0.1 | Le paramètre "options" passe de booléen à un tableau. En version Pre-1.0.1, le second paramètre était une valeur booléenne optionnelle, spécifiant un upsert.
1.0.5 | Ajout de l'option "safe".

Exemples

Exemple #1 Exemple avec MongoCollection::update()

Ajout d'un champ adresse à un document.

<?php

$c->insert(array("firstname" => "Bob", "lastname" => "Jones" ));
$newdata = array('$set' => array("address" => "1 Smith Lane"));
$c->update(array("firstname" => "Bob"), $newdata);

var_dump($c->findOne(array("firstname" => "Bob")));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  ["_id"]=>
  object(MongoId)#6 (0) {
  }
  ["firstname"]=>
  string(3) "Bob"
  ["lastname"]=>
  string(5) "Jones"
  ["address"]=>
  string(12) "1 Smith Lane"
}

Exemple #2 Exemple avec MongoCollection::update() et upsert

Les Upserts permettent de simplifier le code, vu qu'une simple ligne permet de créer l'objet s'il n'existe pas encore, et de le mettre à jour s'il existe.

<?php

$c->drop();
$c->update(array("uri" => "/summer_pics"), array('$inc' => array("page hits" => 1)), array("upsert" => true));
var_dump($c->findOne());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["_id"]=>
  object(MongoId)#9 (0) {
  }
  ["uri"]=>
  string(12) "/summer_pics"
  ["page hits"]=>
  int(1)
}

Exemple #3 Exemple avec plusieurs MongoCollection::update()

Par défaut, MongoCollection::update() met uniquement à jour le premier document correspondant aux critères $criteria qu'il trouve. En utilisant l'option "multiple", ce comportement est redéfini.

Cet exemple ajoute un champ "gift" à chaque personne possédant un anniversaire dans le prochain jour.

<?php

$today = array('$gt' => new MongoDate(), '$lt' => new MongoDate(strtotime("+1 day")));
$people->update("birthday" => $today), array('$set' => array('gift' => $surprise), array("multiple" => true));

?>

Voir aussi

Documentation de MongoDB » concernant update.

MongoCollection::__toString
MongoCollection::validate
MongoCollection


Valide la collection

MongoCollection::update
MongoCursor
MongoCollection
PHP Manual

MongoCollection::validate

(PECL mongo >=0.9.0)

MongoCollection::validate — Valide la collection

Description

public array MongoCollection::validate ([ bool $scan_data = FALSE ] )

Liste de paramètres

scan_data

Valide uniquement les index, et non pas la base de collection.

Valeurs de retour

Retourne l'évaluation de cet objet par la base de données.

MongoCollection::update
MongoCursor
MongoCollection


La classe MongoCursor

Introduction

L'objet de résultat d'une requête de base de données.

Un MongoCursor a 2 états différents : Avant et après la requête. Un curseur peut être créé manuellement en appelant le constructeur, mais il est générallement créé en appelant la fonction MongoCollection::find(). Lorsqu'un curseur est créé, il n'a pas encore contacté la base de données, il est dans l'état "avant requête". Dans cet état, le client peut spécifier les paramètres de sa requête, comme les limitations, les exceptions, l'ordre de tri ainsi que d'autres options avancées.

Lorsque le client tente de récupérer un résultat (en appelant la fonction MongoCursor::next(), directement ou indirectement), le curseur passe à l'état "après requête". À ce moment là, les seules fonctions disponibles sont les fonctions Iterator, MongoCursor::hasNext(), et MongoCursor::getNext().

<?php

$cursor = $collection->find()->limit(10);

// la base n'a pas encore été interrogée,
// il est donc encore temps d'ajouter des options
$cursor = $cursor->sort(array("a" => 1));

var_dump($cursor->getNext());
// maintenant, la base a été interrogée, et les options ne sont plus prises en compte

// Cet commnande va produire une exception :
$cursor->skip(4);
?>

Synopsis de la classe

MongoCursor
implements Iterator {
/* Champs statiques */
static boolean $slaveOkay = FALSE ;
static integer $timeout = 20000 ;
/* Méthodes */
public MongoCursor addOption ( string $key , mixed $value )
__construct ( resource $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
public int count ([ boolean $all = FALSE ] )
public array current ( void )
public boolean dead ( void )
protected void doQuery ( void )
public array explain ( void )
public MongoCursor fields ( array $f )
public array getNext ( void )
public array info ( void )
public boolean hasNext ( void )
public MongoCursor hint ( array $key_pattern )
public MongoCursor immortal ([ boolean $liveForever = true ] )
public string key ( void )
public MongoCursor limit ( int $num )
public void next ( void )
public void reset ( void )
public void rewind ( void )
public MongoCursor skip ( int $num )
public MongoCursor slaveOkay ([ boolean $okay = true ] )
public MongoCursor snapshot ( void )
public MongoCursor sort ( array $fields )
public MongoCursor tailable ([ boolean $tail = true ] )
public MongoCursor timeout ( int $ms )
public boolean valid ( void )
}

Variables statiques

MongoCursor::slaveOkay

Est ce que la requête doit avoir le drapeau "slaveOkay" activé, ce qui permet des lectures sur l'esclave (les esclaves sont par défaut déstinés à des sauvegardes et donc inaccessibles en lectures). Peut être surchargé avec MongoCursor::slaveOkay().

MongoCursor::timeout

Affecte le timeout en millisecondes pour les réponses des bases de données. Pour un timeout infini, utilisez -1. Peut être surchargé avec MongoCursor::timeout(). Ceci ne provoque pas une annulation de l'opération par le serveur MongoDB mais fait en sorte que le pilote s'arrête d'attendre une réponse et envoie une MongoCursorTimeoutException.

Voir aussi

Documentation de MongoDB » concernant les curseurs.

Sommaire

  • MongoCursor::addOption — Ajoute une paire clé/valeur de haut niveau à la requête
  • MongoCursor::__construct — Crée un nouveau curseur
  • MongoCursor::count — Compte le nombre de résultats pour cette requête
  • MongoCursor::current — Retourne l'élément courant
  • MongoCursor::dead — Vérifie s'il reste des documents non envoyés à la base de données pour ce curseur
  • MongoCursor::doQuery — Exécute la requête Mongo
  • MongoCursor::explain — Retourne une explication de la requête, souvent utile pour le déboguage et l'optimisation
  • MongoCursor::fields — Définit les champs d'une requête
  • MongoCursor::getNext — Retourne le prochain objet et avance le curseur
  • MongoCursor::info — Récupère la requête, les champs, les limitations et les évitements pour ce curseur
  • MongoCursor::hasNext — Vérifie s'il y a encore des éléments pour ce curseur
  • MongoCursor::hint — Donne des indications à la base de données pour la requête
  • MongoCursor::immortal — Définit si le curseur doit s'interrompre après un certain délai
  • MongoCursor::key — Retourne l'identifiant du résultat courant
  • MongoCursor::limit — Limite le nombre de résultats retournés
  • MongoCursor::next — Avance le curseur au prochain résultat
  • MongoCursor::reset — Efface le curseur
  • MongoCursor::rewind — Retourne le curseur au début du jeu de résultats
  • MongoCursor::skip — Omet les premiers résultats
  • MongoCursor::slaveOkay — Définit si la requête peut être effectuée sur un serveur esclave
  • MongoCursor::snapshot — Utilise le mode de capture pour la requête
  • MongoCursor::sort — Trie les résultats par ordre de champs
  • MongoCursor::tailable — Définit si le curseur doit être conservé ouvert après la récupération du dernier résultat
  • MongoCursor::timeout — Définit un délai maximum d'attente côté client pour cette requête
  • MongoCursor::valid — Vérifie si le curseur lit un résultat valide
MongoCollection::validate
MongoCursor::addOption
Classes internes


Ajoute une paire clé/valeur de haut niveau à la requête

MongoCursor
MongoCursor::__construct
MongoCursor
PHP Manual

MongoCursor::addOption

(PECL mongo >=1.0.4)

MongoCursor::addOption — Ajoute une paire clé/valeur de haut niveau à la requête

Description

public MongoCursor MongoCursor::addOption ( string $key , mixed $value )

Cette méthode est une méthode avancée et ne devrait pas être utiliser sans vraiment savoir ce que vous en faîtes.

Une requête peut optionnellement être imbriquée dans un champ "query" si les autres options, comme un tri ou un indice sont fournies. Actuellement, l'ajout d'un tri fait que la requête devient un sous-champ d'un objet requête plus gros, comme ceci :

<?php

$query = array("query" => $query, "orderby" => $sort);

?>

Cette méthode permet d'ajouter un champ de haut niveau à une requête. Elle rend une requête un sous-objet (si elle ne l'est pas déjà) et ajoute une paire clé/valeur de votre choix en haut niveau.

Avertissement

Elle ne peut être utilisée pour ajouter d'autres critères pour une requête à la volée. Actuellement, ceci ne fonctionne pas :

<?php

// INCORRECT !
$cursor = $users->find()->addOption("name", "joe")->addOption("age", 20);

?>
Ceci ne permet pas de chercher un utilisateur nommé "joe" et dont l'âge vaut 20.

Liste de paramètres

key

Le nom du champ à ajouter.

value

La valeur à ajouter.

Valeurs de retour

Retourne ce curseur.

Erreurs / Exceptions

Lance une exception MongoCursorException si ce curseur a commencé à être parcouru.

Exemples

Exemple #1 Exemple avec MongoCursor::addOption()

L'utilisation de la méthode MongoCursor::skip() pour éviter plusieurs millions de résultats peut être lent. Pour éviter de rencontrer ce problème, vous pouvez utiliser les options $min ou $max de votre requête. Ceci peut paraître simple mais encore faut-il un index sur le champ exact sur lequel on effectue la recherche. Voici un exemple d'utilisation de l'option $min comme alternative à la méthode MongoCursor::skip().

<?php

// Assurons-nous que l'index est présent
$c->ensureIndex(array("ts" => 1));

// vous devriez modifier ceci afin que l'exécution s'effectue en un
// temps raisonnable sur des machines lentes (prend environ 30 secondes
// sur une bonne machine)
for ($i = 0; $i < 30000000; $i++) {
    $c->insert(array("ts" => new MongoDate(), "i" => $i));
}

$now = strtotime("now");

// Trouve les documents insérés dans les 2 dernières secondes
$cursor = $c->find()->addOption('$min', array("ts" => $now-2));

?>
MongoCursor
MongoCursor::__construct
MongoCursor


Crée un nouveau curseur

MongoCursor::addOption
MongoCursor::count
MongoCursor
PHP Manual

MongoCursor::__construct

(PECL mongo >=0.9.0)

MongoCursor::__construct — Crée un nouveau curseur

Description

MongoCursor::__construct ( resource $connection , string $ns [, array $query = array() [, array $fields = array() ]] )

Liste de paramètres

connection

La connexion à la base de données Mongo.

ns

Le nom complet de la base et de la collection.

query

La requête de base de données.

fields

Les champs à retourner.

Valeurs de retour

Retourne le nouveau curseur.

MongoCursor::addOption
MongoCursor::count
MongoCursor


Compte le nombre de résultats pour cette requête

MongoCursor::__construct
MongoCursor::current
MongoCursor
PHP Manual

MongoCursor::count

(PECL mongo >=0.9.2)

MongoCursor::count — Compte le nombre de résultats pour cette requête

Description

public int MongoCursor::count ([ boolean $all = FALSE ] )

Liste de paramètres

all

Envoi la limite du curseur et supprime l'information de la fonction count, si applicable.

Valeurs de retour

Le nombre de documents retournés par la requête du curseur.

Exemples

Exemple #1 Exemple avec MongoCursor::count()

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

$cursor = $collection->find();

var_dump($cursor->count());
var_dump($cursor->count(true));

$cursor->limit(2);

var_dump($cursor->count());
var_dump($cursor->count(true));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(3)
int(3)
int(3)
int(2)

Erreurs / Exceptions

Lance une exception MongoConnectionException si la base de données ne peut être atteinte.

MongoCursor::__construct
MongoCursor::current
MongoCursor


Retourne l'élément courant

MongoCursor::count
MongoCursor::dead
MongoCursor
PHP Manual

MongoCursor::current

(PECL mongo >=0.9.0)

MongoCursor::current — Retourne l'élément courant

Description

public array MongoCursor::current ( void )

Retourne NULL tant que la méthode MongoCursor::next() est appelé.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le résultat courant, sous la forme d'un tableau associatif.

MongoCursor::count
MongoCursor::dead
MongoCursor


Vérifie s'il reste des documents non envoyés à la base de données pour ce curseur

MongoCursor::current
MongoCursor::doQuery
MongoCursor
PHP Manual

MongoCursor::dead

(PECL mongo >=0.9.6)

MongoCursor::dead — Vérifie s'il reste des documents non envoyés à la base de données pour ce curseur

Description

public boolean MongoCursor::dead ( void )

La base de données retourne les réponses dans une série de documents, supérieures à 4 Mo par documents, par réponse. Cette méthode vérifie si la base de données a encore des séries ou si le jeu de résultats est terminé.

Un curseur devenu "dead" ne signifie pas que MongoCursor::hasNext() retournera FALSE, cela signifie uniquement que la base de données a terminé d'envoyer les résultats au client. Le client doit continuer d'itérer les résultats tant que la méthode MongoCursor::hasNext() ne retourne pas FALSE.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE s'il reste des résultats à envoyer au client.

MongoCursor::current
MongoCursor::doQuery
MongoCursor


Exécute la requête Mongo

MongoCursor::dead
MongoCursor::explain
MongoCursor
PHP Manual

MongoCursor::doQuery

(No version information available, might only be in SVN)

MongoCursor::doQuery — Exécute la requête Mongo

Description

protected void MongoCursor::doQuery ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

NULL.

Erreurs / Exceptions

Lance une exception MongoConnectionException si la base de données n'a pu être atteinte.

MongoCursor::dead
MongoCursor::explain
MongoCursor


Retourne une explication de la requête, souvent utile pour le déboguage et l'optimisation

MongoCursor::doQuery
MongoCursor::fields
MongoCursor
PHP Manual

MongoCursor::explain

(PECL mongo >=0.9.2)

MongoCursor::explain — Retourne une explication de la requête, souvent utile pour le déboguage et l'optimisation

Description

public array MongoCursor::explain ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une explication de la requête

Exemples

Exemple #1 Exemple avec MongoCursor::explain()

<?php

$cursor = $collection->find(array("x"=>1), array("y"))
$cursor->sort(array("z" => 1))->limit(4)->skip(5);

var_dump($cursor->explain());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(8) {
  ["cursor"]=>
  string(15) "BtreeCursor x_1"
  ["startKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["endKey"]=>
  array(1) {
    ["x"]=>
    int(1)
  }
  ["nscanned"]=>
  float(4)
  ["n"]=>
  int(4)
  ["scanAndOrder"]=>
  int(1)
  ["millis"]=>
  int(3)
  ["allPlans"]=>
  array(2) {
    [0]=>
    array(3) {
      ["cursor"]=>
      string(15) "BtreeCursor x_1"
      ["startKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
      ["endKey"]=>
      array(1) {
        ["x"]=>
        int(1)
      }
    }
    [1]=>
    array(3) {
      ["cursor"]=>
      string(11) "BasicCursor"
      ["startKey"]=>
      array(0) {
      }
      ["endKey"]=>
      array(0) {
      }
    }
  }
}

Erreurs / Exceptions

Lance une exception MongoConnectionException si la base de données ne peut être atteinte.

Voir aussi

Documentation de MongoDB » concernant explain.

MongoCursor::doQuery
MongoCursor::fields
MongoCursor


Définit les champs d'une requête

MongoCursor::explain
MongoCursor::getNext
MongoCursor
PHP Manual

MongoCursor::fields

(PECL mongo >=1.0.6)

MongoCursor::fields — Définit les champs d'une requête

Description

public MongoCursor MongoCursor::fields ( array $f )

Les champs sont spécifiés via la syntaxe "fieldname" : bool. TRUE indique qu'un champ doit être retourné, FALSE qu'il ne doit pas l'être. Vous pouvez également utiliser 1 ou 0 à la place de TRUE et FALSE.

Ainsi, pour retourner uniquement le champ "summary" :

<?php

$cursor->fields(array("summary" => true));

?>

Pour retourner tous les champs sauf le champ "hidden" :

<?php

$cursor->fields(array("hidden" => false));

?>

Liste de paramètres

f

Champs à retourner (ou à ne pas retourner).

Valeurs de retour

Retourne ce curseur.

Erreurs / Exceptions

Lance une exception MongoCursorException si le curseur a commencé à être parcouru, ou qu'un argument scalaire a été fourni.

MongoCursor::explain
MongoCursor::getNext
MongoCursor


Retourne le prochain objet et avance le curseur

MongoCursor::fields
MongoCursor::info
MongoCursor
PHP Manual

MongoCursor::getNext

(PECL mongo >=0.9.0)

MongoCursor::getNext — Retourne le prochain objet et avance le curseur

Description

public array MongoCursor::getNext ( void )

Identique à la fonction :

<?php

public function getNext() {
    $this->next();
    return $this->current();
}

?>

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le prochain objet.

Erreurs / Exceptions

Lance une exception MongoConnectionException si la base de données n'a pu être atteinte et une exception MongoCursorTimeoutException si le délai d'attente maximum a été atteint.

MongoCursor::fields
MongoCursor::info
MongoCursor


Récupère la requête, les champs, les limitations et les évitements pour ce curseur

MongoCursor::getNext
MongoCursor::hasNext
MongoCursor
PHP Manual

MongoCursor::info

(PECL mongo >=1.0.5)

MongoCursor::info — Récupère la requête, les champs, les limitations et les évitements pour ce curseur

Description

public array MongoCursor::info ( void )

Cette méthode peut être appelée avant ou après la requête.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La requête, les champs, les limitations ainsi que les évitements pour ce curseur, sous la forme d'un tableau associatif.

Exemples

Exemple #1 Exemple avec MongoCursor::info()

<?php

$m = new Mongo();
$cursor = $m->foo->bar->find(array("x" => 4), array("y" => false));
var_dump($cursor->info());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(5) {
  ["ns"]=>
  string(7) "foo.bar"
  ["limit"]=>
  int(0)
  ["skip"]=>
  int(0)
  ["query"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["fields"]=>
  array(1) {
    ["y"]=>
    int(0)
  }
}
MongoCursor::getNext
MongoCursor::hasNext
MongoCursor


Vérifie s'il y a encore des éléments pour ce curseur

MongoCursor::info
MongoCursor::hint
MongoCursor
PHP Manual

MongoCursor::hasNext

(PECL mongo >=0.9.0)

MongoCursor::hasNext — Vérifie s'il y a encore des éléments pour ce curseur

Description

public boolean MongoCursor::hasNext ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE s'il reste encore des éléments.

Erreurs / Exceptions

Lance une exception MongoConnectionException si la base de données ne peut être atteinte et une exception MongoCursorTimeoutException si le délai d'attente maximum a été atteint.

MongoCursor::info
MongoCursor::hint
MongoCursor


Donne des indications à la base de données pour la requête

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor
PHP Manual

MongoCursor::hint

(PECL mongo >=0.9.0)

MongoCursor::hint — Donne des indications à la base de données pour la requête

Description

public MongoCursor MongoCursor::hint ( array $key_pattern )

Liste de paramètres

key_pattern

Les index à utiliser avec cette requête.

Valeurs de retour

Returns this cursor.

Erreurs / Exceptions

Emet une exception MongoCursorException si le curseur a commencé ses itérations.

MongoCursor::hasNext
MongoCursor::immortal
MongoCursor


Définit si le curseur doit s'interrompre après un certain délai

MongoCursor::hint
MongoCursor::key
MongoCursor
PHP Manual

MongoCursor::immortal

(PECL mongo >=1.0.1)

MongoCursor::immortal — Définit si le curseur doit s'interrompre après un certain délai

Description

public MongoCursor MongoCursor::immortal ([ boolean $liveForever = true ] )

Après un certain délai, le curseur, par défaut, "meurt". C'est en général le comportement que nous souhaitons. La base de données nettoie le curseur une fois que ses résultats ont été envoyés au client, mais si le client ne demande pas tous les résultats, le curseur sera toujours "vivant", prenant ainsi des ressources. Aussi, après quelques minutes, le curseur atteint son délai d'expiration et la base de données considère que le client a récupéré tout ce dont il avait besoin et supprime les ressources allouées à ce curseur.

Si, pour une raison particulière, vous avez besoin d'un délai plus important avant que le curseur ne meurt, vous pouvez empécher la base de données de le supprimer en utilisant cette méthode. Cependant, si vous rendez un curseur "immortel", vous devez parcourir tous ses résultats (ou, tout du moins, jusqu'à ce que la méthode Cursor::dead() retourne FALSE) ou bien le curseur sera pour toujours actif, prenant ainsi des ressources par toujours nécessaire.

Liste de paramètres

liveForever

Si le curseur doit être immortel, ou non.

Valeurs de retour

Returns this cursor.

Erreurs / Exceptions

Lance une exception MongoCursorException si le curseur a commencé à être parcouru.

MongoCursor::hint
MongoCursor::key
MongoCursor


Retourne l'identifiant du résultat courant

MongoCursor::immortal
MongoCursor::limit
MongoCursor
PHP Manual

MongoCursor::key

(PECL mongo >=0.9.0)

MongoCursor::key — Retourne l'identifiant du résultat courant

Description

public string MongoCursor::key ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'_id du résultat courant, sous la forme d'une chaîne de caractères.

MongoCursor::immortal
MongoCursor::limit
MongoCursor


Limite le nombre de résultats retournés

MongoCursor::key
MongoCursor::next
MongoCursor
PHP Manual

MongoCursor::limit

(PECL mongo >=0.9.0)

MongoCursor::limit — Limite le nombre de résultats retournés

Description

public MongoCursor MongoCursor::limit ( int $num )

Liste de paramètres

num

Le nombre de résultats à retourner.

Valeurs de retour

Retourne ce curseur.

Erreurs / Exceptions

Émet une exception MongoCursorException si le curseur a commencé ses itérations.

Voir aussi

Documentation de MongoDB » concernant limit.

MongoCursor::key
MongoCursor::next
MongoCursor


Avance le curseur au prochain résultat

MongoCursor::limit
MongoCursor::reset
MongoCursor
PHP Manual

MongoCursor::next

(PECL mongo >=0.9.0)

MongoCursor::next — Avance le curseur au prochain résultat

Description

public void MongoCursor::next ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

NULL.

Erreurs / Exceptions

Lance une exception MongoConnectionException si la base de données ne peut être atteinte et une exception MongoCursorTimeoutException si le délai d'attente maximum a été atteint.

MongoCursor::limit
MongoCursor::reset
MongoCursor


Efface le curseur

MongoCursor::next
MongoCursor::rewind
MongoCursor
PHP Manual

MongoCursor::reset

(PECL mongo >=0.9.0)

MongoCursor::reset — Efface le curseur

Description

public void MongoCursor::reset ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

NULL.

MongoCursor::next
MongoCursor::rewind
MongoCursor


Retourne le curseur au début du jeu de résultats

MongoCursor::reset
MongoCursor::skip
MongoCursor
PHP Manual

MongoCursor::rewind

(PECL mongo >=0.9.0)

MongoCursor::rewind — Retourne le curseur au début du jeu de résultats

Description

public void MongoCursor::rewind ( void )

Identique à la fonction :

<?php

public function rewind() {
    $this->reset();
    $this->next();
}

?>

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

NULL.

Erreurs / Exceptions

Lance une exception MongoConnectionException si une erreur survient lors de la connexion à la base de données, et une exception MongoCursorTimeoutException si le délai d'attente maximum a été atteint.

MongoCursor::reset
MongoCursor::skip
MongoCursor


Omet les premiers résultats

MongoCursor::rewind
MongoCursor::slaveOkay
MongoCursor
PHP Manual

MongoCursor::skip

(PECL mongo >=0.9.0)

MongoCursor::skip — Omet les premiers résultats

Description

public MongoCursor MongoCursor::skip ( int $num )

Liste de paramètres

num

Le nombre de résultats à omettre.

Valeurs de retour

Returns this cursor.

Erreurs / Exceptions

Emet une exception MongoCursorException si le curseur a commencer ses itérations.

MongoCursor::rewind
MongoCursor::slaveOkay
MongoCursor


Définit si la requête peut être effectuée sur un serveur esclave

MongoCursor::skip
MongoCursor::snapshot
MongoCursor
PHP Manual

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkay — Définit si la requête peut être effectuée sur un serveur esclave

Description

public MongoCursor MongoCursor::slaveOkay ([ boolean $okay = true ] )

Cette méthode écrasera la variable statique slaveOkay de la classe.

Liste de paramètres

okay

Si l'on peut effectuer la requête sur un serveur esclave.

Valeurs de retour

Returns this cursor.

Erreurs / Exceptions

Lance une exception MongoCursorException si le curseur a commencé à être parcouru.

Exemples

Exemple #1 Exemple avec MongoCursor::slaveOkay()

<?php

MongoCursor::$slaveOkay = false;

// On ne peut pas faire la requête sur un serveur escalve
$cursor = $collection->find();

// On peut faire la requête sur un serveur esclave
$cursor = $collection->find()->slaveOkay();

MongoCursor::$slaveOkay = true;

// On peut faire la requête sur un serveur esclave
$cursor = $collection->find();

// On ne peut pas faire la requête sur un serveur escalve
$cursor = $collection->find()->slaveOkay(false);

?>
MongoCursor::skip
MongoCursor::snapshot
MongoCursor


Utilise le mode de capture pour la requête

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor
PHP Manual

MongoCursor::snapshot

(PECL mongo >=0.9.4)

MongoCursor::snapshot — Utilise le mode de capture pour la requête

Description

public MongoCursor MongoCursor::snapshot ( void )

Utilise le mode de capture pour la requête. Le mode de capture assure qu'aucune donnée dupliquée ne sera retournée, ou qu'aucun objet ne sera oublié, qui seront présents au début et à la fin de l'exécution de la requête (si un objet est nouveau ou bien supprimé durant l'exécution de la requête, il peut être retourné ou non, y compris en utilisant le mode de capture).

Notez que les réponses à de courte requête (inférieure à 1 Mo) sont toujours retournées en utilisant le mode de capture.

Actuellement, le mode de capture ne peut pas être utilisé avec des trus, ou des astuces explicites.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le curseur.

Erreurs / Exceptions

Lance une exception MongoCursorException si le curseur a commencé à être parcouru.

MongoCursor::slaveOkay
MongoCursor::sort
MongoCursor


Trie les résultats par ordre de champs

MongoCursor::snapshot
MongoCursor::tailable
MongoCursor
PHP Manual

MongoCursor::sort

(PECL mongo >=0.9.0)

MongoCursor::sort — Trie les résultats par ordre de champs

Description

public MongoCursor MongoCursor::sort ( array $fields )

Liste de paramètres

fields

Les champs avec lesquels effectuer le tri.

Valeurs de retour

Returns this cursor.

Erreurs / Exceptions

Emet une exception MongoCursorException si le curseur a commencé à itérer.

Exemples

Exemple #1 Exemple avec MongoCursor::sort()

<?php
// tri en x ascendant
$cursor->sort(array('x' => 1));

// le tableau associatif est ordonné, par exemple :
// ces deux exemples produisent le même résultat

// tri par date ascendante et age descendant
$cursor->sort(array('date' => 1, 'age' => -1));

// tri par date descendante et age ascendante
$cursor->sort(array('age' => -1, 'date' => 1));
?>
MongoCursor::snapshot
MongoCursor::tailable
MongoCursor


Définit si le curseur doit être conservé ouvert après la récupération du dernier résultat

MongoCursor::sort
MongoCursor::timeout
MongoCursor
PHP Manual

MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailable — Définit si le curseur doit être conservé ouvert après la récupération du dernier résultat

Description

public MongoCursor MongoCursor::tailable ([ boolean $tail = true ] )

Mongo a une fonction permettant de voir le contenu du curseur en temps réel, similaire à la commande Unix "tail -f".

En utilisant cette fonctionnalité, le curseur n'est pas fermé lorsque le dernier résultat est récupéré. Au lieu de cela, le curseur marque la position du dernier objet. Vous pouvez ainsi utiliser plus tard ce curseur, depuis sa position courante, si d'autres données sont reçues.

Comme tous les curseurs latents, le curseur devient non valide à certain point, par exemple, lorsque la référence de l'objet final est effacée. Ainsi, vous devez être prêt à effectuer une nouvelle requête si le curseur est mort.

Liste de paramètres

tail

Si le curseur doit être consulté en temps réel.

Valeurs de retour

Returns this cursor.

Erreurs / Exceptions

Lance une exception MongoCursorException si le curseur a commencé à être parcouru.

Exemples

Exemple #1 Exemple avec MongoCursor::tailable()

<?php

$cursor = $collection->find()->tailable();

$results = array();

while (1) {
    if (!$cursor->hasNext()) {
        // Nous avons lu tous les résultats, on peut sortir
        if ($cursor->dead()) {
            break;
        }
        // On lit tous les résultats, et on attend les suivants
        sleep(10);
    }
    else {
        $results[] = $cursor->getNext();
    }
}

?>
MongoCursor::sort
MongoCursor::timeout
MongoCursor


Définit un délai maximum d'attente côté client pour cette requête

MongoCursor::tailable
MongoCursor::valid
MongoCursor
PHP Manual

MongoCursor::timeout

(PECL mongo >=1.0.3)

MongoCursor::timeout — Définit un délai maximum d'attente côté client pour cette requête

Description

public MongoCursor MongoCursor::timeout ( int $ms )

Un délai maximum d'attente peut être défini a n'importe quel moment, et affectera les requêtes suivantes du curseur, incluant la récupération de plus de résultats depuis la base de données. Par exemple, pour attendre sans limite de temps pour une réponse initiale mais placer un délai maximum d'attente de 100 ms pour un autre résultat, vous pouvez faire ceci :

<?php

$cursor = $collection->find();

// $cursor->hasNext() exécute la requête. Aucun délai d'attente n'a été défini, aussi
// le programme attendra la réponse aussi longtemps que nécessaire.

while ($cursor->hasNext()) {
    $cursor->timeout(100);

    // maintenant qu'un délai a été défini, et si le curseur doit récupérer d'autres résultats
    // depuis la base de données, le programme attendra seulement 100 ms la réponse de la base de données

    try {
        print_r($cursor->getNext());
    }
    catch(MongoCursorTimeoutException $e) {
        echo "La requête a pris trop de temps !";
    }
}

?>

Un délai de 0 (ou un nombre négatif) permet d'annuler tout délai précédemment défini.

Liste de paramètres

ms

Le nombre de millisecondes que le curseur doit attente une réponse. Par défaut, le curseur attendra indéfiniment.

Valeurs de retour

Ce curseur.

Exemples

Exemple #1 Exemple avec MongoCursor::timeout()

Une requête dont le curseur attente une seconde la réponse.

<?php

$cursor = $collection->find()->timeout(1000);

try {
  foreach ($cursor as $value) {
    print_r($value);
  }
}
catch(MongoCursorTimeoutException $e) {
  echo "La requête a pris trop de temps !";
}

?>

Erreurs / Exceptions

Cette méthode fait que les méthodes récupérant des résultats émettent une exception MongoCursorTimeoutException si leurs requêtes dépassent le délai défini lors de leurs exécutions.

MongoCursor::tailable
MongoCursor::valid
MongoCursor


Vérifie si le curseur lit un résultat valide

MongoCursor::timeout
Les types
MongoCursor
PHP Manual

MongoCursor::valid

(PECL mongo >=0.9.0)

MongoCursor::valid — Vérifie si le curseur lit un résultat valide

Description

public boolean MongoCursor::valid ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le résultat courant n'est pas NULL.

MongoCursor::timeout
Les types
MongoCursor


Les types

Sommaire

  • MongoId
  • MongoCode
  • MongoDate
  • MongoRegex
  • MongoBinData
  • MongoDBRef
  • MongoMinKey
  • MongoMaxKey
  • MongoTimestamp

MongoDB permet aux développeurs de sauvegarder et de requérir des données en utilisant tous les types basiques de PHP, comme les tableaux, les tableaux associatifs, les objets mais aussi en utilisant toutes les classes fournies par le driver PHP MongoDB (pour les expressions rationnelles, les dates et les autres applications spécialisées).

Types simples

Les types internes sont :

Type | Description | Taille dans MongoDB (en octets)
NULL | La classique valeur NULL | 0
boolean | TRUE et FALSE | 1
int | Valeurs entières | 4
float | Valeurs doubles | 8
string | chaîne de caractères en UTF-8 | longueur de la chaîne + 1

Les tableaux et les objets

Les tableaux et les objets peuvent également être sauvegardés dans la base de données. Un tableau possédant des clés numériques sera sauvegardé sous la forme d'un tableau, tous les autres seront sauvegardés sous la forme d'objets.

<?php

// $scores sera sauvegardé sous la forme d'un tableau
$scores = array(98, 100, 73, 85);
$collection->insert(array("scores" => $scores);

// $scores sera sauvegardé sous la forme d'un objet
$scores = array("quiz1" => 98, "midterm" => 100, "quiz2" => 73, "final" => 85);
$collection->insert(array("scores" => $scores);

?>

Si vous interrogeais ces objets en utilisant la console de base de données, elles ressembleront à ceci :

> db.students.find()
{ "_id" : ObjectId("4b06beada9ad6390dab17c43"), "scores" : [ 98, 100, 73, 85 ] }
{ "_id" : ObjectId("4b06bebea9ad6390dab17c44"), "scores" : { "quiz1" : 98, "midterm" : 100, "quiz2" : 73, "final" : 85 } }

La base de données peut également être sauvegardé sous forme d'objets PHP (malgré le fait qu'elle soit en réalité retourné sous la forme d'un tableau associatif). Ces champs sont utilisés pour les paires clé/valeurs. Par exemple, un billet de blog peut ressembler à ceci :

<?php

  // La classe permettant de gérer le billet d'un blog
  class Post {

  var $author;
  var $content;
  var $comments = array();
  var $date;

  public function __construct($author, $content) {
  $this->author = $author;
$this->content = $content;
    $this->date = new MongoDate();
  }

  public function setTitle($title) {
    $this->title = $title;
  }
}

// Crée un billet simple et l'insère dans la base de données
$post1 = new Post("Adam", "This is a blog post");

$blog->insert($post1);

// Rien ne restreint le type du champ "author", nous pouvons donc en faire
// un objet imbriqué
$author = array("name" => "Fred", "karma" => 42);
$post2 = new Post($author, "This is another blog post.");

// Nous créons un champ supplémentaire pour y définir le titre
$post2->setTitle("Second Post");

$blog->insert($post2);

?>

Depuis la console de la base de données, les données ressembleront à ceci :

> db.blog.find()
{ "_id" : ObjectId("4b06c263edb87a281e09dad8"), "author" : "Adam", "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:22:59 GMT-0500 (EST)" }
{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "author" : { "name" : "Fred", "karma" : 42 }, "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:23:30 GMT-0500 (EST)", "title" : "Second Post" }

Le driver ne détectera pas les boucles de référence dans les tableaux et les objets. Par exemple, ceci produira une erreur fatale :

<?php

$collection->insert($GLOBALS);

?>

Fatal error: Nesting level too deep - recursive dependency?
Si vous devez insérer des documents qui possèdent des dépendances récursives, vous devez les vérifier vous même avant de les passer aux drivers.

Les types MongoDB

Le driver MongoDB définit également quelques nouveaux types à utiliser avec la base de données. Reportez-vous à la documentation de la classe correspondante pour plus de détails ainsi que des exemples.

Type | Description | Taille dans MongoDB (en octets)
MongoBinData | Donnée binaire | Nombre d'octets des données binaires + 5
MongoCode | Code Javascript | Longueur du code Javascript + taille de l'objet de contexte
MongoDate | Dates et heures. Stocké sous forme de timestamp | 8
MongoId Identifiant unique du document :

  • 4 octets du timestamp

    2 documents ne peuvent pas avoir le même identifiant s'ils ont été insérés à des moments différents.

  • 3 octets de l'identifiant de la machine

    2 documents ne peuvent pas avoir le même identifiant s'ils ont été insérés sur des machines différentes.

  • 2 octets de l'identifiant du processus

    2 documents ne peuvent pas avoir le même identifiant s'ils ont été insérés par des processus différents tournant sur la même machine.

  • 3 octets d'incrément

    Chaque fois qu'un identifiant est créé, un compteur global est incrémenté et utilisé comme valeur d'incrémentation pour le prochaine identifiant.

Ainsi, 2 enregistrements peuvent avoir le même identifiant si un processus unique, sur une seule machine, utilisée pour insérer 256^3 (plus de 16 millions) documents en une seconde, débordant ainsi la valeur d'incrémentation. 		12
MongoMinKey | Toujours plus petite que n'importe quelle autre valeur | Longueur du code + taille de l'objet de contexte
MongoMaxKey | Code JavaScript | Toujours plus grande que n'importe quelle autre valeur
MongoRegex | Expressions rationnelles | Nombre de caractères de l'expression rationnelle + nombre de drapeaux utilisés
MongoTimestamp | Timestamp partagé | 8

Les types non supportés

Voici la liste des types supportés par Mongo, mais pas par le driver PHP :

Type | Description | Taille dans MongoDB (en octets)
long | Vu que PHP ne supporte pas les entiers sur 8 octets, ces valeurs récupérées depuis la base de données sont automatiquement converties en valeur double. Les entiers seront toujours sauvegardés dans la base de données sur 4 octets (y compris sur les machines supportant le stockage sur 8 octets) et les valeurs doubles seront sauvegardées sur 8 octets, ainsi, il n'y a aucun moyen de sauvegarder une valeur de type longue dans la base de données en utilisant le driver PHP. | 8

BSON

MongoDB utilise un format de stoquage appelé "BSON" (Binary Serializable Object Notation) qui est similaire à JSON mais en plus compact et est plus riche en types. Ci-dessous, nous avons listés la taille exacte en octets de chaque type (ou les informations nécessaires pour calculer leurs tailles, dans le cas de types variables en longueur). Gardez à l'esprit que ces tailles n'incluent pas les noms des champs. La taille d'un objet peut être calculée manuellement, mais c'est plus facile pour un développeur d'appeler la fonction bson_encode() et de prendre la longueur de la chaîne résultante.

Exemple de calcul manuel d'un taille BSON pour sauvegarder l'objet array("x" => null, "y" => 40) :

4 bytes (object size)

1 byte  (type of "x" field)
2 bytes ("x" and "\0")
0 bytes (for null)

1 byte  (type of "y" field)
2 bytes ("y" and "\0")
4 bytes (for an integer)

1 byte  (end-of-object byte)
-----------------------
15 bytes

MongoCursor::valid
MongoId
Mongo


La classe MongoId

Introduction

Un identifiant unique créé par les objets de la base. Si un objet est inséré dans la base de données sans le champ _id, ce champ y sera ajouté en utilisant la valeur de l'instance MongoId. Si les données ont un champ unique naturel (comme un nom d'utilisateur ou un timestamp), il conviendra de l'utiliser, mais sa valeur ne sera pas remplacée par la valeur de l'instance MongoId.

Les intances de la classe MongoId remplit le rôle d'un champ auto-incrémenté d'un base de données relationnelle : fournir une clé unique si la base de données n'en possède pas. L'auto-incrémentation ne fonctionne pas correctement lors de bases de données partagées, vu qu'il est impossible de trouver rapidement la valeur suivante. Cette classe permet de trouver rapidement une valeur unique, y compris lors de l'utilisation de bases de données partagées.

Chaque MongoId est sur 12 octets (ces chaînes seront sur 24 caractères héxadécimals). Les premiers 4 octets sont un timestamp, les 3 suivants, un hash du nom de la machine cliente, les 2 suivants, les 2 derniers octets significatifs de l'identifiant du processus exécutant le script, et les 3 derniers, une valeur incrémentée.

Un MongoId est linéarisable/délinéarisable. Leur forme linéarisé est similaire à la forme d'une chaîne de caractères :

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

Synopsis de la classe

MongoId
MongoId {
/* Méthodes */
__construct ([ string $id = NULL ] )
publicstatic string getHostname ( void )
public int getTimestamp ( void )
publicstatic MongoId __set_state ( array $props )
public string __toString ( void )
}

Voir aussi

Documentation de MongoDB » concernant les ids.

Sommaire

  • MongoId::__construct — Crée un nouvel identifiant
  • MongoId::getHostname — Gets the hostname being used for this machine's ids
  • MongoId::getTimestamp — Retourne le timestamp depuis la création de l'id
  • MongoId::__set_state — Crée un MongoId
  • MongoId::__toString — Retourne une représentation hexadécimale de cet identifiant
Les types
MongoId::__construct
Les types


Crée un nouvel identifiant

MongoId
MongoId::getHostname
MongoId
PHP Manual

MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__construct — Crée un nouvel identifiant

Description

MongoId::__construct ([ string $id = NULL ] )

Liste de paramètres

id

Une chaîne à utiliser comme identifiant. Doit être une chaîne de 24 caractères héxadécimals. Si une chaîne invalide est passée au constructeur, le constructeur l'ignorera et créera un nouvel identifiant.

Valeurs de retour

Retourne un nouvel identifiant.

Exemples

Exemple #1 Exemple avec MongoId::__construct()

Cet exemple montre comment crée un nouvel identifiant. C'est rarement nécessaire, car le pilote ajoute automatiquement les identifiants avant de les stocker en base.

<?php

$id1 = new MongoId();
echo "$id1\n";

$id2 = new MongoId();
echo "$id2\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Exemple #2 Exemple avec MongoId::__construct() et des paramètres

Cet exemple montre comment utiliser une chaîne de paramètres pour initialiser un objet MongoId avec une valeur donnée.

<?php
  $id1 = new MongoId();

  // Crée un nouvel identifiant pour $id1
  $id2 = new MongoId("$id1");

  // montre que $id1 et $id2 ont la même valeur hexadécimal
  var_dump($id1 == $id2);
  ?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)

Voir aussi

  • MongoId::__toString - Retourne une représentation hexadécimale de cet identifiant

MongoId
MongoId::getHostname
MongoId


Gets the hostname being used for this machine's ids

MongoId::__construct
MongoId::getTimestamp
MongoId
PHP Manual

MongoId::getHostname

(PECL mongo >= 1.0.8)

MongoId::getHostname — Gets the hostname being used for this machine's ids

Description

publicstatic string MongoId::getHostname ( void )

This returns the hostname MongoId is using to generate unique ids. This should be the same value gethostname() returns.

It is identical to the function:

<?php

public static function getHostname() {
    return gethostname();
}

?>

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the hostname.

MongoId::__construct
MongoId::getTimestamp
MongoId


Retourne le timestamp depuis la création de l'id

MongoId::getHostname
MongoId::__set_state
MongoId
PHP Manual

MongoId::getTimestamp

(PECL mongo >= 1.0.1)

MongoId::getTimestamp — Retourne le timestamp depuis la création de l'id

Description

public int MongoId::getTimestamp ( void )

Équivaut à exécuter la fonction time() depuis la création de l'id.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre de secondes depuis l'époque Unix et la création de l'id. Seulement les 4 premiers octets du timestamp sont stockés, aussi la méthode MongoDate est un meilleur choix pour stocker la valeur exacte.

MongoId::getHostname
MongoId::__set_state
MongoId


Crée un MongoId

MongoId::getTimestamp
MongoId::__toString
MongoId
PHP Manual

MongoId::__set_state

(PECL mongo >= 1.0.8)

MongoId::__set_state — Crée un MongoId

Description

publicstatic MongoId MongoId::__set_state ( array $props )

Cette fonction n'est à utiliser qu'en interne, par PHP ; elle ne devrait jamais être appelé directement par l'utilisateur.

Identique à la fonction :

<?php

public static function __set_state($props) {
    return new MongoId("000000000000000000000000");
}

?>

Liste de paramètres

props

Théoriquement, un tableau de propriétés utilisé pour créer un nouvel identifiant. Cependant, vu que les instances mongoId n'ont pas de propriétés, ce paramètre n'est pas utilisé.

Valeurs de retour

Un nouvel identifiant avec la valeur "000000000000000000000000".

MongoId::getTimestamp
MongoId::__toString
MongoId


Retourne une représentation hexadécimale de cet identifiant

MongoId::__set_state
MongoCode
MongoId
PHP Manual

MongoId::__toString

(PECL mongo >= 0.8.0)

MongoId::__toString — Retourne une représentation hexadécimale de cet identifiant

Description

public string MongoId::__toString ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cet identifiant.

Exemples

Exemple #1 Exemple avec MongoId::__toString()

<?php

$m = new Mongo();
$collection = $m->selectDB("foo")->selectCollection("bar");

$collection->insert(array( "x" => "y" ));
$collection->insert(array( "x" => "y" ));

$cursor = $collection->find();
$r1 = cursor->next();
$r2 = cursor->next();

echo $r1["_id"] . "\n";
echo $r2["_id"] . "\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d
MongoId::__set_state
MongoCode
MongoId


La classe MongoCode

Introduction

Cette classe représente du code JavaScript pour la base de données.

Les objets MongoCode sont composés de deux parties : une chaîne de code, et un contexte optionnel. La chaîne de code doit être du code JavaScript valide. Le contexte est un tableau associatif avec un nombre variable de paires clé/valeur.

Synopsis de la classe

MongoCode
MongoCode {
/* Méthodes */
__construct ( string $code [, array $scope = array() ] )
public string __toString ( void )
}

Sommaire

  • MongoCode::__construct — Crée un nouvel objet de code
  • MongoCode::__toString — Retourne le code sous forme de chaîne
MongoId::__toString
MongoCode::__construct
Les types


Crée un nouvel objet de code

MongoCode
MongoCode::__toString
MongoCode
PHP Manual

MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct — Crée un nouvel objet de code

Description

MongoCode::__construct ( string $code [, array $scope = array() ] )

Liste de paramètres

code

Une chaîne de code.

scope

Un contexte d'exécution du code.

Valeurs de retour

Retourne un nouvel objet de code.

Exemples

Exemple #1 Exemple avec MongoCode::__construct()

<?php

$code = new MongoCode('function() { '.
    'for(i=0;i<10;i++) {'.
        'db.foo.update({z : i}, {z : x});'.
    '}'.
    'return x-1;'.
 '}', array("x" => 4));
var_dump($code);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(MongoCode)#1 (2) {
  ["scope"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["code"]=>
  string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }"
}

Exemple #2 Utilisation de MongoCode() et $where

Cette requête interroge une collection pour récupérer les éléments où le champ 'x' est inférieur à la valeur $y. Notez que les objets PHP peuvent être passé dans le contexte JavaScript, et que la fonction JavaScript retourne un booléen.

<?php

$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));

?>
MongoCode
MongoCode::__toString
MongoCode


Retourne le code sous forme de chaîne

MongoCode::__construct
MongoDate
MongoCode
PHP Manual

MongoCode::__toString

(PECL mongo >= 0.8.3)

MongoCode::__toString — Retourne le code sous forme de chaîne

Description

public string MongoCode::__toString ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Ce code, le contexte n'et pas retourné.

Exemples

Exemple #1 Exemple avec MongoCode::__toString()

<?php

$code = new MongoCode('return x;', array("x"=>"hi"));
echo "$code\n";

$code = new MongoCode('function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }');
echo "$code\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

return x;
function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }
MongoCode::__construct
MongoDate
MongoCode


La classe MongoDate

Introduction

Représente un objet date pour la base. Cette classe peut être utilisée pour sauvegarder des dates dans la base de données mais aussi pour faire des requêtes à base de dates. Par exemple :

<?php

// Sauvegarde une date dans la base de données
$collection->save(array("ts" => new MongoDate());

$start = new MongoDate(strtotime("2010-01-15 00:00:00"));
$end = new MongoDate(strtotime("2010-01-30 00:00:00"));

// Trouve les dates entre 1/15/2010 et 1/30/2010
$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end)));

?>

Synopsis de la classe

MongoDate
MongoDate {
/* Champs */
public int $sec ;
public int $usec ;
/* Méthodes */
__construct ([ long $sec [, long $usec ]] )
public string __toString ( void )
}

Sommaire

  • MongoDate::__construct — Crée une nouvelle date
  • MongoDate::__toString — Retourne la date sous forme de chaîne
MongoCode::__toString
MongoDate::__construct
Les types


Crée une nouvelle date

MongoDate
MongoDate::__toString
MongoDate
PHP Manual

MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__construct — Crée une nouvelle date

Description

MongoDate::__construct ([ long $sec [, long $usec ]] )

Créée une nouvelle date. Si aucun paramètre n'est donné, la date courante est utilisée.

Liste de paramètres

sec

Le nombre de secondes depuis le 1er janvier 1970.

usec

Le nombre de microsecondes.

Valeurs de retour

Retourne la nouvelle date.

Exemples

Exemple #1 Exemple avec MongoDate::__construct()

Cet exemple montre comment créer une date à partir de la date et l'heure courante, et une date à partir d'un timestamp.

<?php

$d = new MongoDate();
echo "$d\n";
$d = new MongoDate(1234567890);
echo "$d\n";
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$d\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Voir aussi

  • MongoDate::__toString - Retourne la date sous forme de chaîne

MongoDate
MongoDate::__toString
MongoDate


Retourne la date sous forme de chaîne

MongoDate::__construct
MongoRegex
MongoDate
PHP Manual

MongoDate::__toString

(PECL mongo >= 0.8.1)

MongoDate::__toString — Retourne la date sous forme de chaîne

Description

public string MongoDate::__toString ( void )

Retourne l'objet de date sous forme de chaîne de caractères, similairement au résultat de la fonction microtime().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette date.

MongoDate::__construct
MongoRegex
MongoDate


La classe MongoRegex

Introduction

Cette classe peut être utilisée pour créer des expressions rationnelles. Ces expressions pourront être ensuite utilisées pour interroger la base de doonées et trouver les chaînes correspondantes. Vous pouvez également les sauvegarder en base de données et les récupérer par la suite.

Mongo reconnait 6 options d'expressions rationnelles :

  • i

    Insensible à la casse

  • m

    Multi-lignes

  • x

    Peut contenir des commentaires

  • l

    Locale

  • s

    Le caractère "." correspond à n'importe quel caractère, y compris les nouvelles lignes

  • u

    Unicode possible

Synopsis de la classe

MongoRegex
MongoRegex {
/* Champs */
public string $regex ;
public string $flags ;
/* Méthodes */
__construct ( string $regex )
public string __toString ( void )
}

Sommaire

  • MongoRegex::__construct — Crée une nouvelle expression rationnelle
  • MongoRegex::__toString — Retourne une expression rationnelle sous forme de chaîne
MongoDate::__toString
MongoRegex::__construct
Les types


Crée une nouvelle expression rationnelle

MongoRegex
MongoRegex::__toString
MongoRegex
PHP Manual

MongoRegex::__construct

(PECL mongo >= 0.8.1)

MongoRegex::__construct — Crée une nouvelle expression rationnelle

Description

MongoRegex::__construct ( string $regex )

Crée une nouvelle expression rationnelle.

Liste de paramètres

regex

Expression rationnelle, sous la forme /expression/options.

Valeurs de retour

Retourne une expression rationnelle.

Exemples

Exemple #1 Exemple avec MongoRegex::__construct()

Cet exemple montre comment utiliser une expression rationnelle pour rechercher les documents ayant un nom d'utilisateur qui correspond à une expression rationnelle.

<?php

$joe_search = new MongoRegex("/j[o0]e/i");
$cursor = $collection->find(array("username" => $joe_search));

?>

Voir aussi

  • MongoRegex::__toString - Retourne une expression rationnelle sous forme de chaîne

MongoRegex
MongoRegex::__toString
MongoRegex


Retourne une expression rationnelle sous forme de chaîne

MongoRegex::__construct
MongoBinData
MongoRegex
PHP Manual

MongoRegex::__toString

(PECL mongo >= 0.8.1)

MongoRegex::__toString — Retourne une expression rationnelle sous forme de chaîne

Description

public string MongoRegex::__toString ( void )

Retourne une chaîne représentant l'expression rationnelle.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'expression rationnelle, sous la forme "/expr/flags".

Exemples

Exemple #1 Exemple avec MongoRegex::__toString()

<?php

$r = new MongoRegex( "/[a-fA-F0-9]{16}/g" );
echo $r->regex . "\n";
echo $r->flags . "\n";
echo "$r\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

[a-fA-F0-9]{16}
g
/[a-fA-F0-9]{16}/g

MongoRegex::__construct
MongoBinData
MongoRegex


La classe MongoBinData

Introduction

MongoBinData est une classe pour stocker ou lire des données binaires issues de la base.

La taille maximale d'un objet pouvant être inséré dans la base de données est de 4Mo. Pour les données supérieures à cette taille (films, musiques ou biographie de Guillaume Plessis), utilisez la classe MongoGridFS. Pour les données de taille inférieure à 4Mo, il est probablement plus simple de les inclure directement dans le document en utilisant la classe MongoBinData.

Par exemple, pour insérer une image dans un document :

<?php

$profile = array("username" => "foobity",
    "pic" => new MongoBinData(get_file_contents("gravatar.jpg"));

$users->save($profile);

?>

Cette classe contient un champ type, qui ne donne actuellement aucune information supplémentaires au driver, ni à la base de données. Il existe 5 types prédéfinis (qui correspondent aux constantes de classe listés ci-dessous), et l'utilisateur peut créer les siens (attention à ne pas rentrer en contradiction avec la spécification BSON). Par défaut, le driver PHP utilise toujours le type 2 : un tableau d'octets.

Synopsis de la classe

MongoBinData
MongoBinData {
/* Constantes */
const int MongoBinData::FUNC = 1 ;
const int MongoBinData::BYTE_ARRAY = 2 ;
const int MongoBinData::UUID = 3 ;
const int MongoBinData::MD5 = 5 ;
const int MongoBinData::CUSTOM = 128 ;
/* Champs */
public string $bin ;
public int $type = 2 ;
/* Méthodes */
public __construct ( string $data [, int $type ] )
public string __toString ( void )
}

Constantes pré-définies

Types de données binaires

MongoBinData::FUNC
0x01
Fonction.
MongoBinData::BYTE_ARRAY
0x02
Tableau d'octets.
MongoBinData::UUID
0x03
Identifiant unique universel.
MongoBinData::MD5
0x05
MD5.
MongoBinData::CUSTOM
0xf0
Type défini par l'utilisateur.

Sommaire

  • MongoBinData::__construct — Crée un nouvel objet de données binaires
  • MongoBinData::__toString — La représentation en chaîne de l'objet binaire
MongoRegex::__toString
MongoBinData::__construct
Les types


Crée un nouvel objet de données binaires

MongoBinData
MongoBinData::__toString
MongoBinData
PHP Manual

MongoBinData::__construct

(PECL mongo >= 0.8.1)

MongoBinData::__construct — Crée un nouvel objet de données binaires

Description

public MongoBinData::__construct ( string $data [, int $type ] )

Crée un nouvel objet de données binaires.

Il existe 5 types de données binaires acutellement reconnus par la spécification BSON : fonction (0x01), tableau d'octets (0x02), UUID (0x03), MD5 (0x05), et un type défini par l'utilisateur (0x80). Le type par défaut est un tableau d'octets (0x02). Il n'y a pas de différence particulière dans la façon dont le driver ou le serveur interprète ces différents types, aussi, ils ne sont pas significatifs pour le moment. N'importe quel nombre (entre 0 et 255) peut être utilisé pour les types, si l'utilisateur accepte le risque que la base de données fasse éventuellement quelque chose avec des données binaires basées sur un type.

Liste de paramètres

data

Données binaires.

type

Le type de données.

Valeurs de retour

Retourne un nouvel objet de données binaires.

MongoBinData
MongoBinData::__toString
MongoBinData


La représentation en chaîne de l'objet binaire

MongoBinData::__construct
MongoDBRef
MongoBinData
PHP Manual

MongoBinData::__toString

(PECL mongo >= 0.8.1)

MongoBinData::__toString — La représentation en chaîne de l'objet binaire

Description

public string MongoBinData::__toString ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la chaîne "<Mongo Binary Data>". Pour accéder au contenu d'un MongoBinData, utilisez le champ bin.

MongoBinData::__construct
MongoDBRef
MongoBinData


La classe MongoDBRef

Introduction

Cette classe sert à créer des liens légers entre des objets de différentes colllections.

Motivation : Supposez que vous voulez lier un document dans une autre collection. La façon la plus facile est de créer un champ dans le document courant. Par exemple, si vous avez une collection "people" et une collection "addresses", vous devriez vouloir créer un lien entre chaque document d'une personne et chaque document d'adresses :

<?php

$people = $db->people;
$addresses = $db->addresses;

$myAddress = array("line 1" => "123 Main Street",
    "line 2" => null,
    "city" => "Springfield",
    "state" => "Vermont",
    "country" => "USA");

// Sauvegarde de l'adresse
$addresses->insert($myAddress);

// Sauvegarde une personne avec une référence vers l'adresse
$me = array("name" => "Fred", "address" => $myAddress['_id']);
$people->insert($me);

?>

Par la suite, vous pouver retrouver l'adresse d'une personne en interrogeant la collection "addresses" avec un MongoId sauvegardé dans la collection "people".

Supposez maintenant que vous avez un cas plus général, où vous ne savez pas quelle collection (ou bien quelle base de données) contient le document référencé. La classe MongoDBRef est un bon choix dans ce cas, vu qu'elle a un format commun que tous les drivers et bases de données comprennent.

Si chaque personne a une liste de choses qu'elles aiment, pouvant venir de plusieurs collections, comme des "hobbies", "sports", "books", etc., vous pouvez utiliser la classe MongoDBRef pour garder une trace des collections fournissant ces choses :

<?php

$people = $db->selectCollection("people");

// Les modèles de tain sont dans la collection "hobbies"
$trainRef = MongoDBRef::create("hobbies", $modelTrains['_id']);
// Le foot dans la collection "sports"
$soccerRef = MongoDBRef::create("sports", $soccer['_id']);

// Maintenant, vous connaissez la collection dont les éléments du tableau "likes"
// proviennent, au moment où vous souhaitez récupérer les documents associés
$people->insert(array("name" => "Fred", "likes" => array($trainRef, $soccerRef)));

?>

On peut représenter les références des bases de données comme des liens: elles donnent l'adresse unique d'un document, mais elles ne le chargent pas et ne suivent pas les lien/référence automatiquement.

Une référence de base de données est juste un tableau associatif, pas une instance de MongoDBRef, cette classe est donc un peu différente des autres classes de tyes de données, elle ne contient que des méthodes statiques pour manipuler les références de bases de données.

Synopsis de la classe

MongoDBRef
MongoDBRef {
/* Méthodes */
public static array create ( string $collection , mixed $id [, string $database ] )
public static array get ( MongoDB $db , array $ref )
public static boolean isRef ( mixed $ref )
}

Voir aussi

Documentation de MongoDB » concernant les références de bases de données.

Sommaire

  • MongoDBRef::create — Crée un nouvelle référence de base de données
  • MongoDBRef::get — Lit l'objet identifié par la référence
  • MongoDBRef::isRef — Vérifie si un tableau est une référence de base de données
MongoBinData::__toString
MongoDBRef::create
Les types


Crée un nouvelle référence de base de données

MongoDBRef
MongoDBRef::get
MongoDBRef
PHP Manual

MongoDBRef::create

(PECL mongo >= 0.9.0)

MongoDBRef::create — Crée un nouvelle référence de base de données

Description

public static array MongoDBRef::create ( string $collection , mixed $id [, string $database ] )

Si aucune base de données n'est fournie, la base de données courante sera utilisée.

Liste de paramètres

collection

Nom de la collection.

id

Le champ _id de l'objet à lier.

database

Nom de la base de données.

Valeurs de retour

Retourne la référence.

Exemples

Exemple #1 Exemple avec MongoDBRef::create()

<?php
$addresses = $db->addresses;
$people = $db->people;

// Sauvegarde $address. Cette variable a maintenant un identifiant
$addresses->insert($address);

// Crée une référence
$ref = MongoDBRef::create($addresses->name, $address['_id']);

// Définitle champ dans la variable $person
$person['address'] = $ref;
$people->save($person);
?>

Voir aussi

  • MongoDB::createDBRef - Crée une référence de base de données
  • MongoCollection::createDBRef - Crée une référence de base de données

MongoDBRef
MongoDBRef::get
MongoDBRef


Lit l'objet identifié par la référence

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef
PHP Manual

MongoDBRef::get

(PECL mongo >= 0.9.0)

MongoDBRef::get — Lit l'objet identifié par la référence

Description

public static array MongoDBRef::get ( MongoDB $db , array $ref )

Liste de paramètres

db

La base de données à utiliser.

ref

La référence à lire.

Valeurs de retour

Retourne le document pointé par la référence, ou NULL si le document n'existe pas (la référence a été rompue).

Exemples

Exemple #1 Exemple avec MongoCollection::createDBRef()

<?php

// Récupère $person depuis la base de données
$person = $people->findOne();

// Récupère la référence de l'adresse
$address = MongoDBRef::get($people->db, $person['address']);

?>

Voir aussi

  • MongoDB::getDBRef - Lit le contenu d'une référence de base de données
  • MongoCollection::getDBRef - Lit une référence de base de données

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef


Vérifie si un tableau est une référence de base de données

MongoDBRef::get
MongoMinKey
MongoDBRef
PHP Manual

MongoDBRef::isRef

(PECL mongo >= 0.9.0)

MongoDBRef::isRef — Vérifie si un tableau est une référence de base de données

Description

public static boolean MongoDBRef::isRef ( mixed $ref )

Cette méthode ne suit actuellement pas les références, aussi, elle ne peut déterminer si les références sont cassées ou non. Elle vérifie si le paramètre ref est bien au format valide de base de données (vérifie seulement si c'est un objet ou un tableau contenant les champs $ref et $id).

Liste de paramètres

ref

Le tableau ou l'objet à vérifier.

Valeurs de retour

Retourne TRUE si ref est une référence.

MongoDBRef::get
MongoMinKey
MongoDBRef


La classe MongoMinKey

Introduction

MongoMinKey est un type spécial utilisé par la base de données qui est évalué comme étant le plus petit des autres types. Aussi, si une requête est triée par ce genre de champs dans un ordre ascendant, n'importe quel document possédant le type MongoMinKey sera retourné en premier.

MongoMinKey n'a pas de champ associé, de méthode ou de constante. C'est ce que vous pouvez insérer de plus petit dans la base de données.

Synopsis de la classe

MongoMinKey
MongoMinKey {
}

Exemple avec MongoMinKey comme valeur

<?php

$collection->insert(array("task" => "lunch", "do by" => new MongoMinKey));
$collection->insert(array("task" => "staff meeting", "do by" => new MongoDate(strtotime("+4 days")));

$cursor = $collection->find()->sort(array("do by" => 1));

?>

Le curseur contiendra le document "lunch", puis, le document "staff meeting". Le document "lunch" sera toujours retourné en premier, quelque soit les autres documents de la collection (tant qu'un autre document n'aura pas été ajouté avec un MongoMinKey dans le champ "do by").

MongoDBRef::isRef
MongoMaxKey
Les types


La classe MongoMaxKey

Introduction

MongoMaxKey est un type spécial utilisé par la base de données qui sera évalué comme le plus grand parmis les autres champs. Aussi, si une requête est triée par ce genre de champ de façon ascendante, n'importe quel document avec un MongoMaxKey comme valeur sera retourné en dernier.

MongoMaxKey n'a pas de champ associé, de méthode ou de constante. C'est la chose la plus grande que vous pouvez insérer dans la base de données.

Synopsis de la classe

MongoMaxKey
MongoMaxKey {
}

Utilisation de MongoMaxKey comme valeur

<?php

$collection->insert(array("task" => "dishes", "do by" => new MongoMaxKey));
$collection->insert(array("task" => "staff meeting", "do by" => new MongoDate(strtotime("+4 days")));

$cursor = $collection->find()->sort(array("do by" => 1));

?>

Le curseur contiendra le document "staff meeting", puis, le document "dishes". Le document "dishes" sera toujours retourné en dernier, quelque soit les autres documents de la collection (tant qu'un autre document n'aura pas été ajouté avec un MongoMaxKey dans le champ "do by").

MongoMinKey
MongoTimestamp
Les types


La classe MongoTimestamp

Introduction

MongoTimestamp est utilisé pour la fragmentation. Si vous ne cherchez pas à écrire un outil de fragmentation, vous devriez plutôt utiliser la classe MongoDate.

MongoTimestamp est composé de 4 octets d'un timestamp (nombre de secondes depuis l'époque Unix) et 4 octets d'incréments.

Cette classe n'est pas faite pour mesurer le temps, pour créer un timestamp sur un document ou automatiquement ajouter ou mettre à jour le timestamp d'un document. Tant que vous n'écrivez pas quelque chose qui interagit avec la fragmentation interne, STOP ! Allez directement à la classe MongoDate, ne passez pas par la case départ, ne touchez pas 20 euros ! Ce n'est pas la classe faite pour ça.

Si vous écrivez un utilitaire de fragmentation, vous pouvez continuer de lire ce document.

Synopsis de la classe

MongoTimestamp
MongoTimestamp {
/* Champs */
public int $sec = 0 ;
public int $inc = 0 ;
/* Méthodes */
__construct ([ long $sec [, long $inc ]] )
public string __toString ( void )
}

Sommaire

  • MongoTimestamp::__construct — Crée un nouveau timestamp
  • MongoTimestamp::__toString — Retourne une représentation sous la forme d'une chaîne de caractères d'un timestamp
MongoMaxKey
MongoTimestamp::__construct
Les types


Crée un nouveau timestamp

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp
PHP Manual

MongoTimestamp::__construct

(PECL mongo >= 1.0.1)

MongoTimestamp::__construct — Crée un nouveau timestamp

Description

MongoTimestamp::__construct ([ long $sec [, long $inc ]] )

Crée un nouveau timestamp. Si aucun paramètre n'est fourni, les date et heure courantes seront utilisés et l'incrément sera automatiquement fourni. L'incrément est défini à 0 lorsque le module est chargé et est incrémenté à chaque fois que ce constructeur sera appelé (sans paramètre $inc).

Liste de paramètres

sec

Nombre de secondes depuis le 1er Janvier 1970.

inc

L'incrément.

Valeurs de retour

Retourne le nouveau timestamp.

Voir aussi

  • MongoTimestamp::__toString - Retourne une représentation sous la forme d'une chaîne de caractères d'un timestamp

MongoTimestamp
MongoTimestamp::__toString
MongoTimestamp


Retourne une représentation sous la forme d'une chaîne de caractères d'un timestamp

MongoTimestamp::__construct
Classes GridFS
MongoTimestamp
PHP Manual

MongoTimestamp::__toString

(PECL mongo >= 1.0.1)

MongoTimestamp::__toString — Retourne une représentation sous la forme d'une chaîne de caractères d'un timestamp

Description

public string MongoTimestamp::__toString ( void )

Retourne le champ "sec" d'un timestamp.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre de seconde depuis l'époque Unix représenté par le timestamp.

MongoTimestamp::__construct
Classes GridFS
MongoTimestamp


Classes GridFS

Sommaire

  • MongoGridFS
  • MongoGridFSFile
  • MongoGridFSCursor
MongoTimestamp::__toString
MongoGridFS
Mongo


La classe MongoGridFS

Introduction

Utilitaires de stockage et lecture de fichiers dans la base de données

GridFS est une spécification de stockage que tous les pilotes implémentent. Simplement, il définit deux collections: files, pour les métadonnées du fichier, et chunks pour le contenu du fichier. Si le fichier est volumineux, il sera automatiquement scindé en sous-parties et chacune sera sauvée comme document dans la collection 'chunks' représentant le contenu du fichier.

Chaque document dans la collection 'files' est caractérisé par un nom, une date d'envoi et un hash md5. Il contient aussi un champ unique _id, qui peut être utilisé pour requêter la collection 'chunks' et obtenir le contenu du fichier. Chaque document dans la collection 'chunks' contient des données inaires, un champ files_id qui correspond au _id du fichier, et la position de ce document dans le fichier.

Par exemple, la collection 'files' ressemble à:

array("_id" => 123456789, "filename" => "foo.txt", "chunkSize" => 3, "length" => 12)
et la collection 'chunks' à:
array("files_id" => 123456789, "n" => 0, "data" => new MongoBinData("abc"));
array("files_id" => 123456789, "n" => 1, "data" => new MongoBinData("def"));
array("files_id" => 123456789, "n" => 2, "data" => new MongoBinData("ghi"));
array("files_id" => 123456789, "n" => 3, "data" => new MongoBinData("jkl"));
Bien sur la taille par défaut des segments est de plusieurs milliers d'octets, non représentatif pour notre exemple.

Compatibilité entre les différentes langages

Vous devriez être capable d'utiliser n'importe quel fichier créé par MongoGridFS avec n'importe quel driver et vis versa. Cependant, quelques drivers s'attendent à ce que toutes les méta-données associées avec un fichier soivent dans un champ "metadata". Si vous souhaitez utiliser un autre langage, ce peut être une bonne idée de placer les informations souhaitées dans un champ "metadata". Par exemple, au lieu de :

<?php

$grid->storeFile("somefile.txt", array("date" => new MongoDate()));

?>

utilisez quelque chose comme :

<?php

$grid->storeFile("somefile.txt", array("metadata" => array("date" => new MongoDate())));

?>

La famille MongoGridFS

MongoGridFS représente les collections 'files' et 'chunks'. MongoGridFS étend MongoCollection, et une instance de MongoGridFS a accès à toutes les méthodes de MongoCollection, qui agissent sur la collection 'files':

<?php

$grid = $db->getGridFS();
$grid->update(array("filename" => "foo"), $newObj)); // met à jour la collection

?>

Un autre exemple de manipulation des méta-données:

<?php

// Sauvegarde un fichier
$id = $grid->storeFile("game.tgz");
$game = $grid->findOne();

// Ajoute un compteur de téléchargement
$game->file['downloads'] = 0;
$grid->save($game->file);

// Incrémente le compteur
$grid->update(array("_id" => $id), array('$inc' => array("downloads" => 1)));

?>

Vous pouvez aussi accéder aux objets dans la collection 'chunks' depuis une instance de MongoGridFS:

<?php

  $chunks = $grid->chunks; // $chunks est une MongoCollection
$chunks->insert(array("x" => 4));

?>

Il existe des méthodes dans MongoGridFS qui ont le même no que dans MongoCollection mais elles se comportent différement. Par exemple, MongoGridFS::remove() suppriment les objets qui correspondent au critère depuis la collection des fichiers ('files'), ainsi que leur contenu depuis la collection des données ('chunks').

Pour stocker un nouvel enregistrement dans GridFS, il y a plusieurs options. Si vous possédez un nom de fichier, agissez comme cela:

<?php

$grid->storeFile($filename, array("whatever" => "metadata", "you" => "want"));

?>

Si vous avez une chaine d'octets qui n'est pas un fichier, vous pouvez la stocker grâce à MongoGridFS::storeBytes():

<?php

$grid->storeBytes($bytes, array("whatever" => "metadata", "you" => "want");

?>

Requêter une collection MongoGridFS retourne un MongoGridFSCursor, qui se comporte comme un MongoCursor normal sauf qu'il retourne des MongoGridFSFiles plutôt que des tableaux associatifs.

MongoGridFSFiles peut être écrit sur le disque en utilisant MongoGridFSFile::write() ou récupéré de la mémoire avec MongoGridFSFile::getBytes(). Il n'y a pas de méthode actuellement qui guide les données d'un à l'autre, mais ce n'est pas très difficile à écrire en utilisant $grid->chunks de la collection.

Les objets MongoGridFSFile contiennent un champ file qui contient les méta-données du fichier.

Synopsis de la classe

MongoGridFS
étend MongoCollection {
/* Fields */
public MongoCollection $chunks = NULL ;
protected string $filesName = NULL ;
protected string $chunksName = NULL ;
/* Méthodes */
__construct ( MongoDB $db [, string $prefix = "fs"NULL ] )
public boolean delete ( mixed $id )
public array drop ( void )
public MongoGridFSCursor find ([ array $query = array() [, array $fields = array() ]] )
public MongoGridFSFile findOne ([ mixed $query = array() ] )
public MongoGridFSFile get ( mixed $id )
public mixed put ( string $filename [, array $extra = array() ] )
public boolean remove ([ array $criteria = array() ] )
public mixed storeBytes ( string $bytes [, array $extra = array() [, array $options = array() ]] )
public mixed storeFile ( string $filename [, array $extra = array() [, array $options = array() ]] )
public mixed storeUpload ( string $name [, string $filename ] )
}

Voir aussi

Documentation de MongoDB » GridFS. Il existe également une bonne introduction sur la » sauvegarde des uploads des utilisateurs et l'» ajout de méta-données sur LightCubeSolutions.com.

Sommaire

  • MongoGridFS::__construct — Crée une nouvelle collection de fichiers
  • MongoGridFS::delete — Efface un fichier depuis la base de données
  • MongoGridFS::drop — Efface les collections de fichiers
  • MongoGridFS::find — Interroge un fichier
  • MongoGridFS::findOne — Lit un fichier unique satisfaisant les critères
  • MongoGridFS::get — Récupère un fichier depuis la base de données
  • MongoGridFS::put — Stoque un fichier dans la base de données
  • MongoGridFS::remove — Efface un fichier dans une collection
  • MongoGridFS::storeBytes — Morcelle et stocke des octets dans une base
  • MongoGridFS::storeFile — Stocke un fichier dans la base de données
  • MongoGridFS::storeUpload — Sauve un fichier téléchargé dans la base
Classes GridFS
MongoGridFS::__construct
Classes GridFS


Crée une nouvelle collection de fichiers

MongoGridFS
MongoGridFS::delete
MongoGridFS
PHP Manual

MongoGridFS::__construct

(PECL mongo >=0.9.0)

MongoGridFS::__construct — Crée une nouvelle collection de fichiers

Description

MongoGridFS::__construct ( MongoDB $db [, string $prefix = "fs"NULL ] )

Les fichiers sont stockés à l'aide de deux collections : la première contient les métadonnées, et la seconde contient le contenu des fichiers. Par défaut, fs.files et fs.chunks sont les noms des collections utilisés.

Utilisez un argument pour spécifier un préfixe, autre que "fs" :

$fs = new MongoGridFS($db, "myfiles");
cet exemple utilise les collections myfiles.files et myfiles.chunks.

Liste de paramètres

db

La base de données.

files

Le nom de fichier de collection pour les fichiers, optionnel.

MongoGridFS
MongoGridFS::delete
MongoGridFS


Efface un fichier depuis la base de données

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS
PHP Manual

MongoGridFS::delete

(PECL mongo >=1.0.8)

MongoGridFS::delete — Efface un fichier depuis la base de données

Description

public boolean MongoGridFS::delete ( mixed $id )

Liste de paramètres

id

Champ _id du fichier à effacer.

Valeurs de retour

Retourne si l'effacement a été correctement envoyé à la base de données.

MongoGridFS::__construct
MongoGridFS::drop
MongoGridFS


Efface les collections de fichiers

MongoGridFS::delete
MongoGridFS::find
MongoGridFS
PHP Manual

MongoGridFS::drop

(PECL mongo >=0.9.0)

MongoGridFS::drop — Efface les collections de fichiers

Description

public array MongoGridFS::drop ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La réponse de la base de données.

MongoGridFS::delete
MongoGridFS::find
MongoGridFS


Interroge un fichier

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS
PHP Manual

MongoGridFS::find

(PECL mongo >=0.9.0)

MongoGridFS::find — Interroge un fichier

Description

 public  MongoGridFSCursor  MongoGridFS::find
  ([  array  $query = array()
 [,  array  $fields = array()
]] )

Liste de paramètres

query

La requête.

fields

Les fichiers à retourner.

Valeurs de retour

Un objet MongoGridFSCursor.

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS


Lit un fichier unique satisfaisant les critères

MongoGridFS::find
MongoGridFS::get
MongoGridFS
PHP Manual

MongoGridFS::findOne

(PECL mongo >=0.9.0)

MongoGridFS::findOne — Lit un fichier unique satisfaisant les critères

Description

public MongoGridFSFile MongoGridFS::findOne ([ mixed $query = array() ] )

Liste de paramètres

query

Le nom du fichier ou les critères à rechercher.

Valeurs de retour

Retourne un objet MongoGridFSFile, ou bien NULL.

Exemples

Exemple #1 Exemple pour MongoGridFS::findOne

Exemple montrant comment récupérer un fichier depuis la MongoGridFS.

<?php

$downloads = $mongo->my_db->getGridFS('downloads');

$downloads->storeFile('filename.tgz');

$download = $downloads->findOne('filename.tgz'); // instance de MongoGridFSFile

print_r($download);
?>

Voyez MongoGridFSFile pour plus d'informations sur la manière de gèrer les fichiers.

L'exemple ci-dessus va afficher quelque chose de similaire à :

MongoGridFSFile Object
(
    [file] => Array
        (
            [_id] => MongoId Object
                (
                )

            [filename] => filename.tgz
            [uploadDate] => MongoDate Object
                (
                    [sec] => 1274288014
                    [usec] => 467000
                )

            [chunkSize] => 262144
            [md5] => d41d8cd98f00b204e9800998ecf8427e
        )

    [gridfs:protected] => MongoGridFS Object
        (
            [chunks] => MongoCollection Object
                (
                )

            [filesName:protected] => downloads.files
            [chunksName:protected] => downloads.chunks
        )

)
MongoGridFS::find
MongoGridFS::get
MongoGridFS


Récupère un fichier depuis la base de données

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS
PHP Manual

MongoGridFS::get

(PECL mongo >=1.0.8)

MongoGridFS::get — Récupère un fichier depuis la base de données

Description

public MongoGridFSFile MongoGridFS::get ( mixed $id )

Liste de paramètres

id

L'identifiant _id du fichier à trouver.

Valeurs de retour

Retourne le fichier, s'il a été trouvé, ou NULL.

MongoGridFS::findOne
MongoGridFS::put
MongoGridFS


Stoque un fichier dans la base de données

MongoGridFS::get
MongoGridFS::remove
MongoGridFS
PHP Manual

MongoGridFS::put

(PECL mongo >=1.0.8)

MongoGridFS::put — Stoque un fichier dans la base de données

Description

public mixed MongoGridFS::put ( string $filename [, array $extra = array() ] )

Liste de paramètres

filename

Le nom du fichier.

extra

Autres métadonnées à ajouter au fichier.

Valeurs de retour

Retourne l'identifiant de l'objet suavegardé.

MongoGridFS::get
MongoGridFS::remove
MongoGridFS


Efface un fichier dans une collection

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS
PHP Manual

MongoGridFS::remove

(PECL mongo >=0.9.0)

MongoGridFS::remove — Efface un fichier dans une collection

Description

public boolean MongoGridFS::remove ([ array $criteria = array() ] )

Liste de paramètres

query

Le nom du fichier ou le critère de recherche.

Valeurs de retour

Retourne TRUE si l'effacement a été correctement envoyé à la base de données.

MongoGridFS::put
MongoGridFS::storeBytes
MongoGridFS


Morcelle et stocke des octets dans une base

MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS
PHP Manual

MongoGridFS::storeBytes

(PECL mongo >=0.9.2)

MongoGridFS::storeBytes — Morcelle et stocke des octets dans une base

Description

public mixed MongoGridFS::storeBytes ( string $bytes [, array $extra = array() [, array $options = array() ]] )

Liste de paramètres

bytes

Une chaîne d'octets à stocker.

extra

Autres méta-données à ajouter au fichier à sauver.

options

Options pour le stockage.

  • "safe"

    Vérifie si le stockage a réussi.

Valeurs de retour

Retourne l'identifiant de l'objet sauvegardé.

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est définie et que l'insertion échoue.

MongoGridFS::remove
MongoGridFS::storeFile
MongoGridFS


Stocke un fichier dans la base de données

MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS
PHP Manual

MongoGridFS::storeFile

(PECL mongo >=0.9.0)

MongoGridFS::storeFile — Stocke un fichier dans la base de données

Description

public mixed MongoGridFS::storeFile ( string $filename [, array $extra = array() [, array $options = array() ]] )

Liste de paramètres

filename

Le nom du fichier.

extra

Les autres métadonnées du fichier.

options

Options pour le stockage.

  • "safe"

    Vérifie si le stockage a réussi.

Valeurs de retour

Retourne l'identifiant de l'objet sauvegardé.

Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est définie et que l'insertion échoue.

MongoGridFS::storeBytes
MongoGridFS::storeUpload
MongoGridFS


Sauve un fichier téléchargé dans la base

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS
PHP Manual

MongoGridFS::storeUpload

(PECL mongo >=0.9.0)

MongoGridFS::storeUpload — Sauve un fichier téléchargé dans la base

Description

public mixed MongoGridFS::storeUpload ( string $name [, string $filename ] )

Liste de paramètres

name

Le champ de nom du fichier téléchargé.

filename

La chaîne à utiliser pour le champ de nom de fichier dans la base de données filename.

Valeurs de retour

Retourne l'identifiant _id du fichier téléchargé.

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS


La classe MongoGridFSFile

Introduction

Un objet de fichier de base de données.

Synopsis de la classe

MongoGridFSFile
MongoGridFSFile {
/* Champs */
public array $file = NULL ;
protected MongoGridFS $gridfs = NULL ;
/* Méthodes */
MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )
public string getBytes ( void )
public string getFilename ( void )
public int getSize ( void )
public int write ([ string $filename = NULL ] )
}

Sommaire

  • MongoGridfsFile::__construct — Crée un nouveau fichier GridFS
  • MongoGridFSFile::getBytes — Retourne le contenu du fichier
  • MongoGridFSFile::getFilename — Retourne le nom du fichier
  • MongoGridFSFile::getSize — Retourne la taille du fichier
  • MongoGridFSFile::write — Ecrit un fichier dans le système de fichiers
MongoGridFS::storeUpload
MongoGridfsFile::__construct
Classes GridFS


Crée un nouveau fichier GridFS

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile
PHP Manual

MongoGridfsFile::__construct

(PECL mongo >=0.9.0)

MongoGridfsFile::__construct — Crée un nouveau fichier GridFS

Description

MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )

Liste de paramètres

gridfs

L'objet parent MongoGridFS.

file

Un fichier de la base de données.

Valeurs de retour

Retourne un nouvel objet MongoGridFSFile.

MongoGridFSFile
MongoGridFSFile::getBytes
MongoGridFSFile


Retourne le contenu du fichier

MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile
PHP Manual

MongoGridFSFile::getBytes

(PECL mongo >=0.9.0)

MongoGridFSFile::getBytes — Retourne le contenu du fichier

Description

public string MongoGridFSFile::getBytes ( void )

Attention : cette fonction va charger tout le fichier en mémoire. Si le fichier est plus grand que votre capacité mémoire, cela va causer des problèmes!

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le contenu du fichier sous forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemples pour MongoGridFSFile::getBytes

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');

header('Content-type: image/png;');
echo $image->getBytes();
?>
MongoGridfsFile::__construct
MongoGridFSFile::getFilename
MongoGridFSFile


Retourne le nom du fichier

MongoGridFSFile::getBytes
MongoGridFSFile::getSize
MongoGridFSFile
PHP Manual

MongoGridFSFile::getFilename

(PECL mongo >=0.9.0)

MongoGridFSFile::getFilename — Retourne le nom du fichier

Description

public string MongoGridFSFile::getFilename ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom du fichier.

MongoGridFSFile::getBytes
MongoGridFSFile::getSize
MongoGridFSFile


Retourne la taille du fichier

MongoGridFSFile::getFilename
MongoGridFSFile::write
MongoGridFSFile
PHP Manual

MongoGridFSFile::getSize

(PECL mongo >=0.9.0)

MongoGridFSFile::getSize — Retourne la taille du fichier

Description

public int MongoGridFSFile::getSize ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille du fichier.

MongoGridFSFile::getFilename
MongoGridFSFile::write
MongoGridFSFile


Ecrit un fichier dans le système de fichiers

MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile
PHP Manual

MongoGridFSFile::write

(PECL mongo >=0.9.0)

MongoGridFSFile::write — Ecrit un fichier dans le système de fichiers

Description

public int MongoGridFSFile::write ([ string $filename = NULL ] )

Liste de paramètres

filename

Le chemin où écrire le fichier. Si aucun n'est fourni, le nom du fichier stocké en base sera utilisé.

Valeurs de retour

Retourne le nombre d'octets écrits.

Exemples

Exemple #1 Exemples pour MongoGridFSFile::write

<?php

$images = $db->my_db->getGridFS('images');

$image = $images->findOne('jwage.png');
$image->write('/path/to/write/jwage.png');
?>
MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile


La classe MongoGridFSCursor

Introduction

Curseur de résultats de fichiers de base de données.

Synopsis de la classe

MongoGridFSCursor
extends MongoCursor {
/* Champs */
protected MongoGridFS $gridfs = NULL ;
/* Méthodes */
__construct ( MongoGridFS $gridfs , resource $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
public MongoGridFSFile current ( void )
public MongoGridFSFile getNext ( void )
public string key ( void )
}

Sommaire

  • MongoGridFSCursor::__construct — Crée un nouveau curseur
  • MongoGridFSCursor::current — Retourne le fichier courant
  • MongoGridFSCursor::getNext — Retourne le prochain fichier vers lequel pointe le curseur, puis avance le curseur
  • MongoGridFSCursor::key — Retourne le nom de fichier courant
MongoGridFSFile::write
MongoGridFSCursor::__construct
Classes GridFS


Crée un nouveau curseur

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::__construct

(PECL mongo >=0.9.0)

MongoGridFSCursor::__construct — Crée un nouveau curseur

Description

MongoGridFSCursor::__construct ( MongoGridFS $gridfs , resource $connection , string $ns [, array $query = array() [, array $fields = array() ]] )

Liste de paramètres

gridfs

La collection GridFS associée.

connection

La connexion à la base de données.

ns

Full name of database and collection.

query

La requête de base de données.

fields

Les champs à retourner.

Valeurs de retour

Retourne le nouveau curseur.

MongoGridFSCursor
MongoGridFSCursor::current
MongoGridFSCursor


Retourne le fichier courant

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::current

(PECL mongo >=0.9.0)

MongoGridFSCursor::current — Retourne le fichier courant

Description

public MongoGridFSFile MongoGridFSCursor::current ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le fichier courant.

MongoGridFSCursor::__construct
MongoGridFSCursor::getNext
MongoGridFSCursor


Retourne le prochain fichier vers lequel pointe le curseur, puis avance le curseur

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::getNext

(PECL mongo >=0.9.0)

MongoGridFSCursor::getNext — Retourne le prochain fichier vers lequel pointe le curseur, puis avance le curseur

Description

public MongoGridFSFile MongoGridFSCursor::getNext ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le fichier suivant.

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor


Retourne le nom de fichier courant

MongoGridFSCursor::getNext
Fonctions
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::key

(PECL mongo >=0.9.0)

MongoGridFSCursor::key — Retourne le nom de fichier courant

Description

public string MongoGridFSCursor::key ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de fichier courant.

MongoGridFSCursor::getNext
Fonctions
MongoGridFSCursor


Fonctions

Sommaire

  • Fonctions Mongo
MongoGridFSCursor::key
Fonctions Mongo
Mongo


Fonctions Mongo

Sommaire

  • bson_decode — Délinéarise un objet BSON en un tableau PHP
  • bson_encode — Linéarise une variable PHP en une chaîne BSON
Fonctions
bson_decode
Fonctions


Délinéarise un objet BSON en un tableau PHP

Fonctions Mongo
bson_encode
Fonctions Mongo
PHP Manual

bson_decode

(PECL mongo >=1.0.1)

bson_decode — Délinéarise un objet BSON en un tableau PHP

Description

array bson_decode ( string $bson )

Cette fonction est en phase béta et très peu utile pour 99% des utilisateurs. Elle ne sert que si vous faites une mauvaise manipulation comme écrire votre propre pilote par dessus le pilote PHP.

Liste de paramètres

bson

L'objet BSON à délinéariser.

Valeurs de retour

Retourne l'objet BSON délinéarisé.

Fonctions Mongo
bson_encode
Fonctions Mongo


Linéarise une variable PHP en une chaîne BSON

bson_decode
Exceptions
Fonctions Mongo
PHP Manual

bson_encode

(PECL mongo >=1.0.1)

bson_encode — Linéarise une variable PHP en une chaîne BSON

Description

string bson_encode ( mixed $anything )

Cette fonction est en phase béta et très peu utile pour 99% des utilisateurs. Elle ne sert que si vous faites une mauvaise manipulation comme écrire votre propre pilote par dessus le pilote PHP.

Liste de paramètres

anything

La variable à linéariser.

Valeurs de retour

Retourne la chaîne linéarisée.

bson_decode
Exceptions
Fonctions Mongo


Exceptions

Sommaire

  • MongoException
  • MongoCursorException
  • MongoCursorTimeoutException
  • MongoConnectionException
  • MongoGridFSException
bson_encode
MongoException
Mongo


La classe MongoException

Introduction

Exception Mongo par défaut.

Cette exception couvre un grand nombre de conditions d'erreurs pouvant être déplacées vers une exception plus spécifique, mais étendant toujours la classe MongoException.

  • non-utf8 string

    Cette erreur survient si vous tentez d'envoyer une chaîne de caractères non UTF-8 dans la base de données. Toutes les chaînes envoyées à la base de données doivent être encodées UTF-8. Reportez-vous aux options de votre php.ini pour l'option de transition permettant de rendre silencieuse cette exception.

  • invalid regex

    L'expression rationnelle passée n'est pas valide.

  • The MongoSomething object has not been correctly initialized by its constructor

    Votre objet Mongo n'est probablement pas connecté au serveur de base de données.

Synopsis de la classe

MongoException
extends Exception {
}
Exceptions
MongoCursorException
Exceptions


La classe MongoCursorException

Introduction

Émise lors d'un accès incorrect à un curseur ou lors de la réception d'une erreur au moment de la réponse.

Si une erreur est reçue au moment de la réponse, il y aura également un message d'erreur spécifique pour aider à analyser le problème :

  • could not establish db connection

    La réponsr issue de la base de données n'a pu être reçue car une connexion avec la base de données n'a pu être établie.

  • no db response

    Ceci n'est pas toujours une erreur, par exemple, la commande "shutdown" émise à la base de données ne retourne aucune réponse. Cependant, si vous attendez une réponse, cela signifie que la base de données n'a pas réussi à la fournir.

  • bad response length: %d, max: %d, did the db assert?

    Ceci signifie que la base de données dit que sa réponse est plus grande que 4Mo ou bien, inférieure à 0. Générallement, un nombre plus grand que 5Mo doit être rapporté aux développeurs comme un bogue potentiel (la taille maximale de la réponse est 4Mo). Une réponse inférieure à 0 signifie générallement qu'une assertion est survenue sur la base de données.

  • incomplete response

    Survient si la réponse de la base de données a commencé avec succès, mais s'est interrompue avant la fin.

  • error getting database response: errstr

    WSA error getting database response: errstr

    "errstr" est une erreur IO, repporté directement depuis le socket C du sous-système. Sous Windows, le message d'erreur est préfixé par "WSA".

Synopsis de la classe

MongoCursorException
extends MongoException {
}
MongoException
MongoCursorTimeoutException
Exceptions


La classe MongoCursorTimeoutException

Introduction

Lancée lorsqu'une requête atteint de délai maximal d'exécution. Actuellement, la seule façon de ne pas permettre à une requête d'attendre indéfiniment une réponse de la base de données est d'appeler la méthode MongoCursor::timeout()sur le curseur.

Synopsis de la classe

MongoCursorTimeoutException
extends MongoCursorException {
}
MongoCursorException
MongoConnectionException
Exceptions


La classe MongoConnectionException

Introduction

Émise lorsque le pilote échoue à se connecter à la base de données.

Il y a plusieurs messages d'erreur possibles afin de vous aider à analyser un problème de connexion. Les voici :

  • No server name given.

    Cette erreur survient si vous passez une chaine vide comme nom de serveur, peut à cause d'une faute dans la variable de connexion, i.e. "$servr" au lieu de "$server".

  • failed to get left host [hostname] or port [portnum] from [server].

    Ceci indique que le premier ou le second serveur, respectivement "server1,server2" dans la chaîne de connexion, est mal formé. "[hostname]" et "[portnum]" doivent correspondre aux éxigences du driver.

  • Operation in progress

    Délai d'attente expiré lors de la connexion à la base de données.

  • couldn't determine master

    Impossible de déterminer le serveur maître dans une connexion pairée.

  • couldn't get host info for [server]

    Ceci indique que les DNS n'ont pas réussis à résoudre l'adresse du serveur que vous avez fourni. Vérifier la chaîne fournie.

  • Invalid Argument

    Ceci peut être dû lorsque vous tentez d'accéder à une machine qui fonctionne mais dont la base de données n'est pas en marche. Assurez-vous que la base de données est en fonctionnement avant de tenter de vous y connecter.

  • Permission denied

    Ceci signifie que le socket ne peut être ouvert en raison d'un problème sur les permissions. Sur les systèmes à base de Red Hat, ceci peut être dû à une configuration par défaut qui n'autorise pas Apache à créer des connexions réseaux. Vous pouvez résoudre ce problème en exécutant la commande suivante :

    $ /usr/sbin/setsebool -P httpd_can_network_connect 1
    puis, relancez Apache.

Si le message d'erreur que vous recevez n'est pas listé ci-dessus, c'est probablement une erreur qui provient du socket C, et vous pouvez chercher sur le web pour trouver les causes du problème.

Synopsis de la classe

MongoConnectionException
extends MongoException {
}
MongoCursorTimeoutException
MongoGridFSException
Exceptions


La classe MongoGridFSException

Introduction

Émise lors d'erreur de lecture ou d'écriture de fichiers dans la base.

Synopsis de la classe

MongoGridFSException
extends MongoException {
}
MongoConnectionException
mSQL
Exceptions


mSQL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple d'utilisation avec mSQL
  • Fonctions mSQL
    • msql_affected_rows — Retourne le nombre de lignes affectées
    • msql_close — Ferme une connexion mSQL
    • msql_connect — Ouvre une connexion mSQL
    • msql_create_db — Crée une base de données mSQL
    • msql_createdb — Alias de msql_create_db
    • msql_data_seek — Déplace le pointeur interne mSQL
    • msql_db_query — Soumet une requête mSQL
    • msql_dbname — Alias de msql_result
    • msql_drop_db — Efface une base de données mSQL
    • msql_error — Retourne le message d'erreur mSQL
    • msql_fetch_array — Lit une ligne sous la forme d'un tableau
    • msql_fetch_field — Lit la valeur d'un champ mSQL
    • msql_fetch_object — Lit une ligne sous la forme d'un objet
    • msql_fetch_row — Retourne une ligne sous la forme d'un tableau
    • msql_field_flags — Lit les options de champ msql
    • msql_field_len — Lit la taille du champ mSQL
    • msql_field_name — Lit le nom du champ msql
    • msql_field_seek — Fixe l'offset d'un champ mSQL
    • msql_field_table — Lit le nom de la table du champ msql
    • msql_field_type — Lit le type de champ mSQL
    • msql_fieldflags — Alias de msql_field_flags
    • msql_fieldlen — Alias de msql_field_len
    • msql_fieldname — Alias de msql_field_name
    • msql_fieldtable — Alias de msql_field_table
    • msql_fieldtype — Alias de msql_field_type
    • msql_free_result — Libère le résultat de la mémoire
    • msql_list_dbs — Liste les bases de données mSQL sur un serveur
    • msql_list_fields — Liste les champs d'une table
    • msql_list_tables — Liste les tables mSQL sur une base de données
    • msql_num_fields — Retourne le nombre de champs dans un résultat
    • msql_num_rows — Retourne le nombre de lignes dans un résultat
    • msql_numfields — Alias de msql_num_fields
    • msql_numrows — Alias de msql_num_rows
    • msql_pconnect — Ouvre une connexion persistante à un serveur mSQL
    • msql_query — Envoie une requête mSQL
    • msql_regcase — Alias de sql_regcase
    • msql_result — Retourne les données de résultat
    • msql_select_db — Sélectionne une base de données mSQL
    • msql_tablename — Alias de msql_result
    • msql — Alias de msql_db_query
MongoGridFSException
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions vous permettent d'accéder aux bases de données mSQL. Plus d'informations sur mSQL à » http://www.hughes.com.au/.

mSQL
Installation/Configuration
mSQL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
mSQL


Installation

Façon de pouvoir utiliser ces fonctions, vous devez compiler PHP avec le support msql, en utilisant l'option --with-msql[=DIR]. DIR est le dossier d'installation de mSQL, et vaut par défaut /usr/local/msql3.

Note: Note aux utilisateurs Win32
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : msql.dll

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration MSQL
Nom | Défaut | Modifiable | Historique
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

msql.allow_persistent bool

Activation ou non des connexions mSQL persistantes.

msql.max_persistent entier

Le nombre maximum de connexions mSQL persistantes par processus.

msql.max_links entier

Le nombre maximum de connexions mSQL par processus, y compris les connexions persistantes.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il y a deux types de ressources utilisées dans le module mSQL. Le premier est le lien identifiant la connexion de la base de données, le second, représente le résultat d'une requête.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MSQL_ASSOC (entier)
MSQL_NUM (entier)
MSQL_BOTH (entier)
Types de ressources
Exemples
mSQL


Exemples

Sommaire

  • Exemple d'utilisation avec mSQL
Constantes pré-définies
Exemple d'utilisation avec mSQL
mSQL


Exemple d'utilisation avec mSQL

Exemples
Fonctions mSQL
Exemples
PHP Manual

Cet exemple simple vous présente comment vous connecter à une base mSQL pour y lire quelques lignes.

Exemple #1 Exemple d'utilisation avec mSQL

<?php
/* Connexion et sélection de la base de données */
$link = msql_connect('localhost', 'username', 'password')
    or die('Could not connect : ' . msql_error($link));

msql_select_db('database', $link)
    or die('Could not select database');

/* Soumission de la requête */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Échec de la requête : ' . msql_error());

/* Affichage des résultats en HTML*/
echo "<table>\n";
while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($row as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* Libération des résultats */
msql_free_result($result);

/* Déconnexion */
msql_close($link);
?>

Exemples
Fonctions mSQL
Exemples


Fonctions mSQL

Sommaire

  • msql_affected_rows — Retourne le nombre de lignes affectées
  • msql_close — Ferme une connexion mSQL
  • msql_connect — Ouvre une connexion mSQL
  • msql_create_db — Crée une base de données mSQL
  • msql_createdb — Alias de msql_create_db
  • msql_data_seek — Déplace le pointeur interne mSQL
  • msql_db_query — Soumet une requête mSQL
  • msql_dbname — Alias de msql_result
  • msql_drop_db — Efface une base de données mSQL
  • msql_error — Retourne le message d'erreur mSQL
  • msql_fetch_array — Lit une ligne sous la forme d'un tableau
  • msql_fetch_field — Lit la valeur d'un champ mSQL
  • msql_fetch_object — Lit une ligne sous la forme d'un objet
  • msql_fetch_row — Retourne une ligne sous la forme d'un tableau
  • msql_field_flags — Lit les options de champ msql
  • msql_field_len — Lit la taille du champ mSQL
  • msql_field_name — Lit le nom du champ msql
  • msql_field_seek — Fixe l'offset d'un champ mSQL
  • msql_field_table — Lit le nom de la table du champ msql
  • msql_field_type — Lit le type de champ mSQL
  • msql_fieldflags — Alias de msql_field_flags
  • msql_fieldlen — Alias de msql_field_len
  • msql_fieldname — Alias de msql_field_name
  • msql_fieldtable — Alias de msql_field_table
  • msql_fieldtype — Alias de msql_field_type
  • msql_free_result — Libère le résultat de la mémoire
  • msql_list_dbs — Liste les bases de données mSQL sur un serveur
  • msql_list_fields — Liste les champs d'une table
  • msql_list_tables — Liste les tables mSQL sur une base de données
  • msql_num_fields — Retourne le nombre de champs dans un résultat
  • msql_num_rows — Retourne le nombre de lignes dans un résultat
  • msql_numfields — Alias de msql_num_fields
  • msql_numrows — Alias de msql_num_rows
  • msql_pconnect — Ouvre une connexion persistante à un serveur mSQL
  • msql_query — Envoie une requête mSQL
  • msql_regcase — Alias de sql_regcase
  • msql_result — Retourne les données de résultat
  • msql_select_db — Sélectionne une base de données mSQL
  • msql_tablename — Alias de msql_result
  • msql — Alias de msql_db_query
Exemple d'utilisation avec mSQL
msql_affected_rows
mSQL


Retourne le nombre de lignes affectées

Fonctions mSQL
msql_close
Fonctions mSQL
PHP Manual

msql_affected_rows

(PHP 4, PHP 5)

msql_affected_rows — Retourne le nombre de lignes affectées

Description

int msql_affected_rows ( resource $result )

msql_affected_rows() retourne le nombre de lignes affectées par la dernière commande INSERT, UPDATE ou DELETE associé au paramètre result.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

Valeurs de retour

Retourne le nombre de lignes affectées ou FALSE si une erreur survient.

Voir aussi

  • msql_query() - Envoie une requête mSQL

Fonctions mSQL
msql_close
Fonctions mSQL


Ferme une connexion mSQL

msql_affected_rows
msql_connect
Fonctions mSQL
PHP Manual

msql_close

(PHP 4, PHP 5)

msql_close — Ferme une connexion mSQL

Description

bool msql_close ([ resource $link_identifier ] )

msql_close() ferme la connexion non persistante au serveur de base de données mSQL associée au paramètre link_identifier.

Notez bien qu'il n'est pas toujours nécessaire d'appeler cette fonction, car les connexions non persistantes seront automatiquement fermées à la fin du script. Voir aussi la libération des ressources.

Liste de paramètres

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msql_connect() - Ouvre une connexion mSQL
  • msql_pconnect() - Ouvre une connexion persistante à un serveur mSQL

msql_affected_rows
msql_connect
Fonctions mSQL


Ouvre une connexion mSQL

msql_close
msql_create_db
Fonctions mSQL
PHP Manual

msql_connect

(PHP 4, PHP 5)

msql_connect — Ouvre une connexion mSQL

Description

resource msql_connect ([ string $hostname ] )

msql_connect() établit une connexion à un serveur mSQL.

Si un deuxième appel est fait à msql_connect(), avec les mêmes arguments, ce ne sera pas une nouvelle connexion qui va être ouverte, mais l'ancienne connexion qui sera utilisée, et son identifiant sera retourné.

Le lien au serveur sera fermé dès la fin du script, ou bien, manuellement, lors de l'appel de msql_close().

Liste de paramètres

hostname

Le nom d'hôte peut aussi inclure un numéro de port, e.g. hostname,port.

Si ce paramètre n'est pas spécifié, la connexion est établie sous la forme d'un socket de domaine Unix, qui est bien plus efficace qu'une socket TCP vers localhost.

Note: Bien que cette fonction accepte un deux-points (:) en tant que séparateur hôte/port, l'utilisation d'une virgule (,) est préférée.

Valeurs de retour

Retourne un identifiant de connexion positif mSQL en cas de succès, FALSE sinon.

Voir aussi

  • msql_pconnect() - Ouvre une connexion persistante à un serveur mSQL
  • msql_close() - Ferme une connexion mSQL

msql_close
msql_create_db
Fonctions mSQL


Crée une base de données mSQL

msql_connect
msql_createdb
Fonctions mSQL
PHP Manual

msql_create_db

(PHP 4, PHP 5)

msql_create_db — Crée une base de données mSQL

Description

bool msql_create_db ( string $database_name [, resource $link_identifier ] )

msql_create_db() essaie de créer une nouvelle base de données nommée database_name sur le serveur référencé par l'identifiant link_identifier.

Liste de paramètres

database_name

Le nom de la base de données mSQL.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msql_drop_db() - Efface une base de données mSQL

msql_connect
msql_createdb
Fonctions mSQL


Alias de msql_create_db

msql_create_db
msql_data_seek
Fonctions mSQL
PHP Manual

msql_createdb

(PHP 4, PHP 5)

msql_createdb — Alias de msql_create_db()

Description

Cette fonction est un alias de : msql_create_db().

msql_create_db
msql_data_seek
Fonctions mSQL


Déplace le pointeur interne mSQL

msql_createdb
msql_db_query
Fonctions mSQL
PHP Manual

msql_data_seek

(PHP 4, PHP 5)

msql_data_seek — Déplace le pointeur interne mSQL

Description

bool msql_data_seek ( resource $result , int $row_number )

msql_data_seek() déplace le pointeur interne de résultat mSQL, et le place à l'offset donné. Le prochain appel à la fonction msql_fetch_row() retournera cette ligne.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

row_number

Le numéro de ligne désiré.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msql_fetch_array() - Lit une ligne sous la forme d'un tableau
  • msql_fetch_object() - Lit une ligne sous la forme d'un objet
  • msql_fetch_row() - Retourne une ligne sous la forme d'un tableau
  • msql_result() - Retourne les données de résultat

msql_createdb
msql_db_query
Fonctions mSQL


Soumet une requête mSQL

msql_data_seek
msql_dbname
Fonctions mSQL
PHP Manual

msql_db_query

(PHP 4, PHP 5)

msql_db_query — Soumet une requête mSQL

Description

resource msql_db_query ( string $database , string $query [, resource $link_identifier ] )

msql_db_query() sélectionne une base de données, et exécute une requête.

Liste de paramètres

database

Le nom de la base de données mSQL.

query

La requête SQL.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Retourne un identifiant de requête mSQL positif au résultat de la requête ou FALSE si une erreur survient.

Voir aussi

  • msql_query() - Envoie une requête mSQL

msql_data_seek
msql_dbname
Fonctions mSQL


Alias de msql_result

msql_db_query
msql_drop_db
Fonctions mSQL
PHP Manual

msql_dbname

(PHP 4, PHP 5)

msql_dbname — Alias de msql_result()

Description

Cette fonction est un alias de : msql_result().

msql_db_query
msql_drop_db
Fonctions mSQL


Efface une base de données mSQL

msql_dbname
msql_error
Fonctions mSQL
PHP Manual

msql_drop_db

(PHP 4, PHP 5)

msql_drop_db — Efface une base de données mSQL

Description

bool msql_drop_db ( string $database_name [, resource $link_identifier ] )

msql_drop_db() essaie d'effacer une base de données entière sur le serveur référencé par l'identifiant link_identifier.

Liste de paramètres

database_name

Le nom de la base de données.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msql_create_db() - Crée une base de données mSQL

msql_dbname
msql_error
Fonctions mSQL


Retourne le message d'erreur mSQL

msql_drop_db
msql_fetch_array
Fonctions mSQL
PHP Manual

msql_error

(PHP 4, PHP 5)

msql_error — Retourne le message d'erreur mSQL

Description

string msql_error ( void )

msql_error() retourne la dernière erreur retournée par le serveur mSQL. Notez que seul le dernier message est retourné par la fonction msql_error().

Valeurs de retour

Le dernier message d'erreur ou une chaîne vide s'il n'y en a aucune.

msql_drop_db
msql_fetch_array
Fonctions mSQL


Lit une ligne sous la forme d'un tableau

msql_error
msql_fetch_field
Fonctions mSQL
PHP Manual

msql_fetch_array

(PHP 4, PHP 5)

msql_fetch_array — Lit une ligne sous la forme d'un tableau

Description

array msql_fetch_array ( resource $result [, int $result_type ] )

msql_fetch_array() est une version évoluée de msql_fetch_row(). En plus d'enregistrer les données dans un tableau à indice numérique, il enregistre aussi les données dans un tableau associatif, en utilisant les noms des champs comme clés.

Il est important de noter que msql_fetch_array() n'est PAS significativement plus lent que msql_fetch_row(), alors qu'elle apporte un confort d'utilisation appréciable.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

result_type

Une constante qui peut prendre les valeurs suivantes : MSQL_ASSOC, MSQL_NUM, et MSQL_BOTH où MSQL_BOTH est la valeur par défaut.

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

Exemples

Exemple #1 Exemple avec msql_fetch_array()

<?php
$con = msql_connect();
if (!$con) {
  die('Problème de connexion avec le serveur : ' . msql_error());
}

if (!msql_select_db('test', $con)) {
  die('Problème de connexion avec la base de données : ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
  die('Problème d\'exécution de la requête : ' . msql_error());
}

while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
  echo $row['id'] . ': ' . $row['name'] . "\n";
}

msql_free_result($result);
?>

Historique

Version | Description
4.3.11 et 5.0.4 | Un bogue a été résolu lors de la récupération des données depuis des colonnes contenant les valeurs NULL. De telles colonnes n'étaient pas placées dans le tableau résultant.

Voir aussi

  • msql_fetch_row() - Retourne une ligne sous la forme d'un tableau
  • msql_fetch_object() - Lit une ligne sous la forme d'un objet
  • msql_data_seek() - Déplace le pointeur interne mSQL
  • msql_result() - Retourne les données de résultat

msql_error
msql_fetch_field
Fonctions mSQL


Lit la valeur d'un champ mSQL

msql_fetch_array
msql_fetch_object
Fonctions mSQL
PHP Manual

msql_fetch_field

(PHP 4, PHP 5)

msql_fetch_field — Lit la valeur d'un champ mSQL

Description

object msql_fetch_field ( resource $result [, int $field_offset ] )

msql_fetch_field() sert à lire les informations sur les champs dans certaines requêtes.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position du champs. Si non spécifié, le prochain champs qui n'a pas encore été récupéré par la fonction msql_fetch_field() sera récupéré.

Valeurs de retour

Retourne un objet contenant les informations du champs. Les propriétés de l'objet sont :

  • name : le nom de la colonne

  • table : le nom de la table à laquelle les colonnes appartiennent

  • not_null : 1 si la colonne ne peut valoir NULL

  • unique : 1 si la colonne est une clé unique

  • type : Le type de la colonne

Voir aussi

  • msql_field_seek() - Fixe l'offset d'un champ mSQL

msql_fetch_array
msql_fetch_object
Fonctions mSQL


Lit une ligne sous la forme d'un objet

msql_fetch_field
msql_fetch_row
Fonctions mSQL
PHP Manual

msql_fetch_object

(PHP 4, PHP 5)

msql_fetch_object — Lit une ligne sous la forme d'un objet

Description

object msql_fetch_object ( resource $result )

msql_fetch_object() est identique à msql_fetch_array(), avec une différence : c'est un objet qui est retourné, à la place d'un tableau. Par conséquent, cela signifie que vous ne pouvez accéder aux valeurs que par les noms des champs, et non plus avec leur offset. (Les nombres sont interdits dans les noms de propriétés).

msql_fetch_object() est aussi rapide que
msql_fetch_array(), et marginalement plus
lente que msql_fetch_row()
(la différence n'est pas significative).

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

Valeurs de retour

Retourne un objet dont les propriétés correspondent à la ligne récupérée, ou FALSE si'il n'y a plus de lignes.

Exemples

Exemple #1 Exemple avec msql_fetch_object()

<?php
$con = msql_connect();
if (!$con) {
die('Problème de connexion au serveur : ' . msql_error());
}

if (!msql_select_db('test', $con)) {
die('Problème de connexion à la base de données : ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
die('Problème lors de l\'exécution de la requête : ' . msql_error());
}

while ($row = msql_fetch_object($result, MSQL_ASSOC)) {
echo $row->id . ': ' . $row->name . "\n";
}

msql_free_result($result);
?>

Historique

Version | Description
4.3.11 et 5.0.4 | Un bogue a été résolu lors de la récupération des données depuis des colonnes contenant les valeurs NULL. De telles colonnes n'étaient pas placées dans le tableau résultant.

Voir aussi

  • msql_fetch_array() - Lit une ligne sous la forme d'un tableau
  • msql_fetch_row() - Retourne une ligne sous la forme d'un tableau
  • msql_data_seek() - Déplace le pointeur interne mSQL
  • msql_result() - Retourne les données de résultat

msql_fetch_field
msql_fetch_row
Fonctions mSQL


Retourne une ligne sous la forme d'un tableau

msql_fetch_object
msql_field_flags
Fonctions mSQL
PHP Manual

msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_row — Retourne une ligne sous la forme d'un tableau

Description

array msql_fetch_row ( resource $result )

msql_fetch_row() récupère une ligne de données depuis le résultat associé avec l'identifiant de requête spécifié. La ligne est retourné sous la forme d'un tableau. Chaque colonne du résultat est stockée dans une ligne du tableau, en commençant à la position 0.

Les appels suivants à la fonction msql_fetch_row() retourneront les prochaines lignes du jeu de résultat, ou FALSE s'il n'y a plus de lignes de disponible.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

Valeurs de retour

Retourne un tableau qui correspond à la ligne lue, ou FALSE s'il n'y a plus de lignes de disponible.

Exemples

Exemple #1 Exemple avec msql_fetch_row()

<?php
$con = msql_connect();
if (!$con) {
  die('Problème de connexion au serveur : ' . msql_error());
}

if (!msql_select_db('test', $con)) {
  die('Problème de connexion à la base de données : ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
  die('Problème lors de l\'exécution de la requête : ' . msql_error());
}

while ($row = msql_fetch_row($result)) {
  echo $row[0] . ': ' . $row[1] . "\n";
}

msql_free_result($result);
?>

Historique

Version | Description
4.3.11 et 5.0.4 | Un bogue a été résolu lors de la récupération des données depuis des colonnes contenant les valeurs NULL. De telles colonnes n'étaient pas placées dans le tableau résultant.

Voir aussi

  • msql_fetch_array() - Lit une ligne sous la forme d'un tableau
  • msql_fetch_object() - Lit une ligne sous la forme d'un objet
  • msql_data_seek() - Déplace le pointeur interne mSQL
  • msql_result() - Retourne les données de résultat

msql_fetch_object
msql_field_flags
Fonctions mSQL


Lit les options de champ msql

msql_fetch_row
msql_field_len
Fonctions mSQL
PHP Manual

msql_field_flags

(PHP 4, PHP 5)

msql_field_flags — Lit les options de champ msql

Description

string msql_field_flags ( resource $result , int $field_offset )

msql_field_flags() retourne les options du champ field_offset.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position numérique du champ. La position field_offset commence à 1.

Valeurs de retour

Retourne une chaîne contenant les options du champ correspondant à la clé spécifiée. Cela peut être : primary key not null, not null, primary key, unique not null ou unique.

msql_fetch_row
msql_field_len
Fonctions mSQL


Lit la taille du champ mSQL

msql_field_flags
msql_field_name
Fonctions mSQL
PHP Manual

msql_field_len

(PHP 4, PHP 5)

msql_field_len — Lit la taille du champ mSQL

Description

int msql_field_len ( resource $result , int $field_offset )

msql_field_len() retourne la taille du champ spécifié.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position numérique du champ. La position field_offset commence à 1.

Valeurs de retour

Retourne la taille du champ spécifié ou FALSE en cas d'erreur.

msql_field_flags
msql_field_name
Fonctions mSQL


Lit le nom du champ msql

msql_field_len
msql_field_seek
Fonctions mSQL
PHP Manual

msql_field_name

(PHP 4, PHP 5)

msql_field_name — Lit le nom du champ msql

Description

string msql_field_name ( resource $result , int $field_offset )

msql_field_name() retourne le nom du champ de l'index spécifié.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position numérique du champ. La position field_offset commence à 1.

Valeurs de retour

Le nom du champ ou FALSE si une erreur survient.

Voir aussi

  • msql_field_len() - Lit la taille du champ mSQL

msql_field_len
msql_field_seek
Fonctions mSQL


Fixe l'offset d'un champ mSQL

msql_field_name
msql_field_table
Fonctions mSQL
PHP Manual

msql_field_seek

(PHP 4, PHP 5)

msql_field_seek — Fixe l'offset d'un champ mSQL

Description

bool msql_field_seek ( resource $result , int $field_offset )

msql_field_seek() recherche l'offset du champ field_offset. Le prochain appel à msql_fetch_field() sans l'argument field_offset, retournera ce champ.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position numérique du champ. La position field_offset commence à 1.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msql_fetch_field() - Lit la valeur d'un champ mSQL

msql_field_name
msql_field_table
Fonctions mSQL


Lit le nom de la table du champ msql

msql_field_seek
msql_field_type
Fonctions mSQL
PHP Manual

msql_field_table

(PHP 4, PHP 5)

msql_field_table — Lit le nom de la table du champ msql

Description

int msql_field_table ( resource $result , int $field_offset )

msql_field_table() retourne le nom de la table dans laquelle le champ field a été lu.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position numérique du champ. La position field_offset commence à 1.

Valeurs de retour

Le nom de la table en cas de succès ou FALSE si une erreur survient.

msql_field_seek
msql_field_type
Fonctions mSQL


Lit le type de champ mSQL

msql_field_table
msql_fieldflags
Fonctions mSQL
PHP Manual

msql_field_type

(PHP 4, PHP 5)

msql_field_type — Lit le type de champ mSQL

Description

string msql_field_type ( resource $result , int $field_offset )

msql_field_type() récupère le type du champ spécifié par son index.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

field_offset

La position numérique du champ. La position field_offset commence à 1.

Valeurs de retour

Le type du champ. Une valeur parmi int, char, real, ident, null ou unknown. Cette fonction retourne FALSE si une erreur survient.

msql_field_table
msql_fieldflags
Fonctions mSQL


Alias de msql_field_flags

msql_field_type
msql_fieldlen
Fonctions mSQL
PHP Manual

msql_fieldflags

(PHP 4, PHP 5)

msql_fieldflags — Alias de msql_field_flags()

Description

msql_fieldflags() est un alias de la fonction msql_field_flags().

msql_field_type
msql_fieldlen
Fonctions mSQL


Alias de msql_field_len

msql_fieldflags
msql_fieldname
Fonctions mSQL
PHP Manual

msql_fieldlen

(PHP 4, PHP 5)

msql_fieldlen — Alias de msql_field_len()

Description

Cette fonction est un alias de la fonction msql_field_len().

msql_fieldflags
msql_fieldname
Fonctions mSQL


Alias de msql_field_name

msql_fieldlen
msql_fieldtable
Fonctions mSQL
PHP Manual

msql_fieldname

(PHP 4, PHP 5)

msql_fieldname — Alias de msql_field_name()

Description

msql_fieldname() est un alias de la fonction msql_field_name().

msql_fieldlen
msql_fieldtable
Fonctions mSQL


Alias de msql_field_table

msql_fieldname
msql_fieldtype
Fonctions mSQL
PHP Manual

msql_fieldtable

(PHP 4, PHP 5)

msql_fieldtable — Alias de msql_field_table()

Description

msql_fieldtable() est un alias de la fonction msql_field_table().

msql_fieldname
msql_fieldtype
Fonctions mSQL


Alias de msql_field_type

msql_fieldtable
msql_free_result
Fonctions mSQL
PHP Manual

msql_fieldtype

(PHP 4, PHP 5)

msql_fieldtype — Alias de msql_field_type()

Description

msql_fieldtype() est un alias de la fonction msql_field_type().

msql_fieldtable
msql_free_result
Fonctions mSQL


Libère le résultat de la mémoire

msql_fieldtype
msql_list_dbs
Fonctions mSQL
PHP Manual

msql_free_result

(PHP 4, PHP 5)

msql_free_result — Libère le résultat de la mémoire

Description

bool msql_free_result ( resource $result )

msql_free_result() libère de la mémoire le résultat associé à l'identifiant de résultat query_identifier. Lorsque PHP a terminé une requête, cette mémoire est libérée, ce qui fait que vous n'aurez pas besoin de cette fonction. Vous pouvez toujours l'utiliser pour vous assurer que vous n'utilisez pas trop de mémoire durant un script.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

msql_fieldtype
msql_list_dbs
Fonctions mSQL


Liste les bases de données mSQL sur un serveur

msql_free_result
msql_list_fields
Fonctions mSQL
PHP Manual

msql_list_dbs

(PHP 4, PHP 5)

msql_list_dbs — Liste les bases de données mSQL sur un serveur

Description

resource msql_list_dbs ([ resource $link_identifier ] )

msql_list_tables() liste tous les bases de données disponibles sur la base spécifiée par link_identifier.

Liste de paramètres

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Retourne un jeu de résultats qui peut être lu par n'importe quelle fonction capable de parcourir un tel résultat, comme msql_fetch_array(). Si une erreur survient, cette fonction retournera FALSE.

Voir aussi

  • msql_list_tables() - Liste les tables mSQL sur une base de données
  • msql_list_fields() - Liste les champs d'une table

msql_free_result
msql_list_fields
Fonctions mSQL


Liste les champs d'une table

msql_list_dbs
msql_list_tables
Fonctions mSQL
PHP Manual

msql_list_fields

(PHP 4, PHP 5)

msql_list_fields — Liste les champs d'une table

Description

resource msql_list_fields ( string $database , string $tablename [, resource $link_identifier ] )

msql_list_fields() lit les informations de la table tablename.

Liste de paramètres

database

Le nom de la base de données.

tablename

Le nom de la table.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Retourne un jeu de résultats pouvant être parcouru par n'importe quelle fonction capable, comme msql_fetch_array(). Si une erreur survient, cette fonction retournera FALSE.

Voir aussi

  • msql_list_tables() - Liste les tables mSQL sur une base de données
  • msql_list_dbs() - Liste les bases de données mSQL sur un serveur

msql_list_dbs
msql_list_tables
Fonctions mSQL


Liste les tables mSQL sur une base de données

msql_list_fields
msql_num_fields
Fonctions mSQL
PHP Manual

msql_list_tables

(PHP 4, PHP 5)

msql_list_tables — Liste les tables mSQL sur une base de données

Description

resource msql_list_tables ( string $database [, resource $link_identifier ] )

msql_list_tables() liste les tables de la base de données spécifiée par database.

Liste de paramètres

database

Le nom de la base de données.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Retourne un jeu de résultats pouvant être parcouru par n'importe quelle fonction capable, comme msql_fetch_array(). Si une erreur survient, cette fonction retournera FALSE.

Voir aussi

  • msql_list_fields() - Liste les champs d'une table
  • msql_list_dbs() - Liste les bases de données mSQL sur un serveur

msql_list_fields
msql_num_fields
Fonctions mSQL


Retourne le nombre de champs dans un résultat

msql_list_tables
msql_num_rows
Fonctions mSQL
PHP Manual

msql_num_fields

(PHP 4, PHP 5)

msql_num_fields — Retourne le nombre de champs dans un résultat

Description

int msql_num_fields ( resource $result )

msql_num_fields() retourne le nombre de champs du résultat associé à l'identifiant query_identifier.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

Valeurs de retour

Retourne le nombre de champs dans le jeu de résultats.

Voir aussi

  • msql_query() - Envoie une requête mSQL
  • msql_fetch_field() - Lit la valeur d'un champ mSQL
  • msql_num_rows() - Retourne le nombre de lignes dans un résultat

msql_list_tables
msql_num_rows
Fonctions mSQL


Retourne le nombre de lignes dans un résultat

msql_num_fields
msql_numfields
Fonctions mSQL
PHP Manual

msql_num_rows

(PHP 4, PHP 5)

msql_num_rows — Retourne le nombre de lignes dans un résultat

Description

int msql_num_rows ( resource $query_identifier )

msql_num_rows() retourne le nombre de lignes dans d'un jeu de résultat.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

Valeurs de retour

Retourne le nombre de lignes dans le jeu de résultats.

Voir aussi

  • msql_num_fields() - Retourne le nombre de champs dans un résultat

msql_num_fields
msql_numfields
Fonctions mSQL


Alias de msql_num_fields

msql_num_rows
msql_numrows
Fonctions mSQL
PHP Manual

msql_numfields

(PHP 4, PHP 5)

msql_numfields — Alias de msql_num_fields()

Description

msql_numfields() est un alias de la fonction msql_num_fields().

msql_num_rows
msql_numrows
Fonctions mSQL


Alias de msql_num_rows

msql_numfields
msql_pconnect
Fonctions mSQL
PHP Manual

msql_numrows

(PHP 4, PHP 5)

msql_numrows — Alias de msql_num_rows()

Description

msql_numrows() est un alias de la fonction msql_num_rows().

msql_numfields
msql_pconnect
Fonctions mSQL


Ouvre une connexion persistante à un serveur mSQL

msql_numrows
msql_query
Fonctions mSQL
PHP Manual

msql_pconnect

(PHP 4, PHP 5)

msql_pconnect — Ouvre une connexion persistante à un serveur mSQL

Description

resource msql_pconnect ([ string $hostname ] )

msql_pconnect() se comporte presque comme msql_connect(), mais à deux différences majeures près.

D'abord, lors de la connexion, msql_pconnect() cherche si une connexion persistante a déjà été ouverte sur le même hôte. Si une telle connexion est trouvée, elle sera utilisée.

Deuxièmement, la connexion au serveur SQL ne sera pas terminée lors de la fin de l'exécution du script. À la place, le lien restera ouvert pour d'autres connexions futures. (msql_close() ne fermera pas un lien ouvert par msql_pconnect()).

Liste de paramètres

hostname

Le nom de l'hôte peut également inclure un numéro de port. e.g. hostname,port.

Si non spécifié, la connexion est établie sous la forme d'un socket Unix, ce qui est plus efficace d'une connexion via un socket TCP.

Note: Bien que cette fonction accepte un deux-points (:) pour séparer l'hôte du port, une virgule (,) est la méthode conseillée.

Valeurs de retour

Retourne un identifiant de connexion mSQL en cas de succès, ou FALSE si une erreur survient.

Voir aussi

  • msql_connect() - Ouvre une connexion mSQL
  • msql_close() - Ferme une connexion mSQL

msql_numrows
msql_query
Fonctions mSQL


Envoie une requête mSQL

msql_pconnect
msql_regcase
Fonctions mSQL
PHP Manual

msql_query

(PHP 4, PHP 5)

msql_query — Envoie une requête mSQL

Description

resource msql_query ( string $query [, resource $link_identifier ] )

msql_query() envoie une requête à la base de données active, sur le serveur associé à l'identifiant de connexion link_identifier.

Liste de paramètres

query

La requête SQL.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Retourne un identifiant positif de connexion mSQL en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec msql_query()

<?php
$link = msql_connect("dbserver")
or die("Impossible de se connecter au serveur msql : " . msql_error());
msql_select_db("db", $link)
or die("Impossible de sélectionner la base de données 'db': " . msql_error());

$result = msql_query("SELECT * FROM table WHERE id=1", $link);
if (!$result) {
   die("Échec de la requête : " . msql_error());
}

while ($row = msql_fetch_array($result)) {
   echo $row["id"];
}
?>

Voir aussi

  • msql_db_query() - Soumet une requête mSQL
  • msql_select_db() - Sélectionne une base de données mSQL
  • msql_connect() - Ouvre une connexion mSQL

msql_pconnect
msql_regcase
Fonctions mSQL


Alias de sql_regcase

msql_query
msql_result
Fonctions mSQL
PHP Manual

msql_regcase

(PHP 4, PHP 5)

msql_regcase — Alias de sql_regcase()

Description

msql_regcase() est un alias de la fonction sql_regcase().

msql_query
msql_result
Fonctions mSQL


Retourne les données de résultat

msql_regcase
msql_select_db
Fonctions mSQL
PHP Manual

msql_result

(PHP 4, PHP 5)

msql_result — Retourne les données de résultat

Description

string msql_result ( resource $result , int $row [, mixed $field ] )

msql_result() retourne la valeur de la cellule, à la ligne row et l'offset spécifié, field dans le résultat mSQL query_identifier.

Lorsque vous travaillez sur des résultats de grande taille, il est préférable d'utiliser les fonctions qui récupèrent toute la ligne (voir ci-dessous). Comme ces fonctions retournent plusieurs cellules en même temps, elles sont beaucoup plus rapide que msql_result().

Alternatives recommandées :
msql_fetch_row(),
msql_fetch_array() et
msql_fetch_object().

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction msql_query().

row

L'offset de la ligne.

field

Peut être l'offset du champ, ou le nom du champ, le nom de la table, suivi du nom du champ (tablename.fieldname.). Si le nom de la colonne est un alias ("select foo as bar from ..."), utilisez cet alias au lieu du nom de la colonne.

Note: Le fait de spécifier l'offset numérique d'un champ est plus rapide que de spécifier le nom du champ ou bien la forme tablename.fieldname.

Valeurs de retour

Retourne le contenu de la cellule se trouvant à la ligne et à la position spécifiées dans le jeu de résultats mSQL.

msql_regcase
msql_select_db
Fonctions mSQL


Sélectionne une base de données mSQL

msql_result
msql_tablename
Fonctions mSQL
PHP Manual

msql_select_db

(PHP 4, PHP 5)

msql_select_db — Sélectionne une base de données mSQL

Description

bool msql_select_db ( string $database_name [, resource $link_identifier ] )

msql_select_db() sélectionne la base de données active sur le serveur associé à link_identifier.

Les appels suivant à msql_query() seront effectués sur la base de données active.

Liste de paramètres

database_name

Le nom de la base de données.

link_identifier

La connexion mSQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction msql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction msql_connect() avait été appelée, et l'utilise.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msql_connect() - Ouvre une connexion mSQL
  • msql_pconnect() - Ouvre une connexion persistante à un serveur mSQL
  • msql_query() - Envoie une requête mSQL

msql_result
msql_tablename
Fonctions mSQL


Alias de msql_result

msql_select_db
msql
Fonctions mSQL
PHP Manual

msql_tablename

(PHP 4, PHP 5)

msql_tablename — Alias de msql_result()

Description

msql_tablename() est un alias de la fonction msql_result().

msql_select_db
msql
Fonctions mSQL


Alias de msql_db_query

msql_tablename
Mssql
Fonctions mSQL
PHP Manual

msql

(PHP 4, PHP 5)

msql — Alias de msql_db_query()

Description

msql() est un alias de la fonction msql_db_query().

msql_tablename
Mssql
Fonctions mSQL


Serveur MS SQL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Mssql
    • mssql_bind — Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
    • mssql_close — Ferme une connexion MS SQL Server
    • mssql_connect — Ouvre une connexion à un serveur MS SQL server
    • mssql_data_seek — Déplace le pointeur interne de ligne
    • mssql_execute — Exécute une procédure stockée sur un serveur MS SQL
    • mssql_fetch_array — Lit une ligne de résultat MS SQL dans un tableau
    • mssql_fetch_assoc — Retourne un tableau associatif pour la ligne courant de résultat MS SQL Server
    • mssql_fetch_batch — Retourne le prochain lot de lignes MS SQL Server
    • mssql_fetch_field — Lit les informations sur le champ
    • mssql_fetch_object — Retourne une ligne de résultat MS SQL Server sous la forme d'un objet
    • mssql_fetch_row — Lit une ligne de résultat MS SQL dans un tableau numérique
    • mssql_field_length — Lit la longueur d'un champ MS SQL Server
    • mssql_field_name — Lit le nom d'un champ MS SQL Server
    • mssql_field_seek — Fixe la position du pointeur de champ MS SQL Server
    • mssql_field_type — Lit le nom d'un champ MS SQL Server
    • mssql_free_result — Libère la mémoire des ressources MS SQL Server
    • mssql_free_statement — Libère une commande MS SQL Server de la mémoire
    • mssql_get_last_message — Retourne le dernier message d'erreur du serveur
    • mssql_guid_string — Convertit le GUID binaire de 16 octets en une chaîne de caractères
    • mssql_init — Initialise une procédure stockée MS SQL Server locale ou distante
    • mssql_min_error_severity — Fixe le niveau de sévérité des erreurs MS SQL Server
    • mssql_min_message_severity — Fixe le niveau de sévérité des messages d'erreur MS SQL Server
    • mssql_next_result — Déplace le pointeur interne MS SQL Server au résultat suivant
    • mssql_num_fields — Retourne le nombre de champs dans un résultat MS SQL Server
    • mssql_num_rows — Retourne le nombre de lignes dans un résultat MS SQL
    • mssql_pconnect — Ouvre une connexion persistante à un serveur MS SQL
    • mssql_query — Envoie une requête SQL au serveur MS SQL
    • mssql_result — Lit les données d'un résultat
    • mssql_rows_affected — Retourne le nombre de lignes affectées par une requête MS SQL Server
    • mssql_select_db — Sélectionne la base de données MS SQL
msql
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions vous permettent d'accéder aux serveurs de données MS SQL.

Cette extension n'est plus disponible sous Windows avec PHP 5.3 et suivant.

SQLSRV, un pilote de remplacement pour MS SQL est disponible chez Microsoft : » http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx. La documentation est disponible sur » http://msdn.microsoft.com/en-us/library/cc296221.aspx

Mssql
Installation/Configuration
Mssql


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mssql


Pré-requis

Requis pour les plates-formes Windows

Vous avez besoin d'un client MS SQL Client Tools sur votre système, accessible à PHP. Les Client Tools peuvent être installés depuis le CD MS SQL Server CD ou en copiant ntwdblib.dll depuis le dossier \winnt\system32 du serveur MS SQL vers \winnt\system32 sur le serveur PHP. Copier ntwdblib.dll ne fera que fournir le moyen d'accès. La configuration du client requiert l'installation des autres outils.

Cette extension n'est plus disponible sous Windows avec PHP 5.3 et suivant.

SQLSRV, un pilote de remplacement pour MS SQL est disponible chez Microsoft : » http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx. La documentation est disponible sur » http://msdn.microsoft.com/en-us/library/cc296221.aspx

Prérequis pour les plates-formes Unix/Linux.

Pour utiliser l'extension MS SQL sur Unix/Linux, vous devez commencer par compiler et installer la bibliothèque FreeTDS. Le code source et les instructions d'installation sont disponibles sur le site de FreeTDS : » http://www.freetds.org/

Note: Sur Windows, la bibliothèque DBLIB de Microsoft est utilisée. Les fonctions qui retournent les noms de colonnes sont basées sur la fonction dbcolname() de DBLIB. DBLIB a été développée pour MS SQL Server 6.x où la longueur maximale de l'identifiant est 30. Pour cette raison, la longueur maximale des colonnes est 30. Sur les plates-formes où FreeTDS est utilisé (Linux), il n'y pas ce problème.

Note: Sur Windows, si vous utilisez MSSQL 2005 ou plus récent, vous devez copier la bibliothèque ntwdblib.dll dans le dossier où vous avez installé PHP, et écraser celle qui s'y trouve. Ceci est dû à la version qui est distribuée avec PHP : elle est ancienne et obsolète. Autrement, vous pouvez utiliser » http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx, ODBC, PDO_DBLIB or PDO_ODBC pour communiquer avec MSSQL.

Installation/Configuration
Installation
Installation/Configuration


Installation

L'extension MSSQL est activée par la ligne extension=php_mssql.dll dans le fichier php.ini.

Pour que ces fonctions fonctionnent, vous devez compiler PHP avec --with-mssql[=DIR], où DIR est le préfixe d'installation FreeTDS. Et le FreeTDS doit être compilé en utilisant --enable-msdblib.

Avertissement

Les fonctions MS SQL sont liées aux fonctions Sybase si PHP est compilé avec l'extension Sybase et sans l'extension MS SQL.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Microsoft SQL Server
Nom | Défaut | Modifiable | Historique
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Disponible depuis PHP 4.1.0.
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.4.
mssql.datetimeconvert | "1" | PHP_INI_ALL | Disponible depuis PHP 4.2.0.
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0.
mssql.max_procs | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
mssql.charset | "" | PHP_INI_ALL | Disponible depuis PHP 5.1.2 si compilé avec FreeTDS 7.0 ou plus récent.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Types de ressources

mssql link

Un lien de connexion, retourné par les fonctions mssql_connect() et mssql_pconnect().

mssql result

Une ressource de résultat, retourné par mssql_query() avec une requête SELECT.

mssql statement

Une commande préparée, retournée par mssql_init().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MSSQL_ASSOC (entier)
Retourne un tableau associatif. Utilisé comme paramètre de result_type, avec la fonction mssql_fetch_array().
MSSQL_NUM (entier)
Retourne un tableau numérique. Utilisé comme paramètre de result_type, avec la fonction mssql_fetch_array().
MSSQL_BOTH (entier)
Retourne un tableau numérique et associatif. Utilisé comme paramètre de result_type, avec la fonction mssql_fetch_array(). C'est la valeur par défaut.
SQLTEXT (entier)
Représente le type 'TEXT' en MSSQL, utilisé par le paramètre de type dans la fonction mssql_bind().
SQLVARCHAR (entier)
Représente le type 'VARCHAR' en MSSQL, utilisé par le paramètre de type dans la fonction mssql_bind().
SQLCHAR (entier)
Représente le type 'CHAR' en MSSQL, utilisé par le paramètre de type dans la fonction mssql_bind().
SQLINT1 (entier)
Représente un entier d'un octet, de -128 à 127.
SQLINT2 (entier)
Représente un entier de deux octets, de -32768 à 32767.
SQLINT4 (entier)
Représente un entier de quatre octets, de -2147483648 à 2147483647.
SQLBIT (entier)
Représente le type 'BIT' en MSSQL, utilisé par le paramètre de type dans la fonction mssql_bind().
SQLFLT4 (entier)
Représente un nombre décimal de quatre octets.
SQLFLT8 (entier)
Représente un nombre décimal de huit octets.
Types de ressources
Fonctions Mssql
Mssql


Fonctions Mssql

Sommaire

  • mssql_bind — Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
  • mssql_close — Ferme une connexion MS SQL Server
  • mssql_connect — Ouvre une connexion à un serveur MS SQL server
  • mssql_data_seek — Déplace le pointeur interne de ligne
  • mssql_execute — Exécute une procédure stockée sur un serveur MS SQL
  • mssql_fetch_array — Lit une ligne de résultat MS SQL dans un tableau
  • mssql_fetch_assoc — Retourne un tableau associatif pour la ligne courant de résultat MS SQL Server
  • mssql_fetch_batch — Retourne le prochain lot de lignes MS SQL Server
  • mssql_fetch_field — Lit les informations sur le champ
  • mssql_fetch_object — Retourne une ligne de résultat MS SQL Server sous la forme d'un objet
  • mssql_fetch_row — Lit une ligne de résultat MS SQL dans un tableau numérique
  • mssql_field_length — Lit la longueur d'un champ MS SQL Server
  • mssql_field_name — Lit le nom d'un champ MS SQL Server
  • mssql_field_seek — Fixe la position du pointeur de champ MS SQL Server
  • mssql_field_type — Lit le nom d'un champ MS SQL Server
  • mssql_free_result — Libère la mémoire des ressources MS SQL Server
  • mssql_free_statement — Libère une commande MS SQL Server de la mémoire
  • mssql_get_last_message — Retourne le dernier message d'erreur du serveur
  • mssql_guid_string — Convertit le GUID binaire de 16 octets en une chaîne de caractères
  • mssql_init — Initialise une procédure stockée MS SQL Server locale ou distante
  • mssql_min_error_severity — Fixe le niveau de sévérité des erreurs MS SQL Server
  • mssql_min_message_severity — Fixe le niveau de sévérité des messages d'erreur MS SQL Server
  • mssql_next_result — Déplace le pointeur interne MS SQL Server au résultat suivant
  • mssql_num_fields — Retourne le nombre de champs dans un résultat MS SQL Server
  • mssql_num_rows — Retourne le nombre de lignes dans un résultat MS SQL
  • mssql_pconnect — Ouvre une connexion persistante à un serveur MS SQL
  • mssql_query — Envoie une requête SQL au serveur MS SQL
  • mssql_result — Lit les données d'un résultat
  • mssql_rows_affected — Retourne le nombre de lignes affectées par une requête MS SQL Server
  • mssql_select_db — Sélectionne la base de données MS SQL
Constantes pré-définies
mssql_bind
Mssql


Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)

Fonctions Mssql
mssql_close
Fonctions Mssql
PHP Manual

mssql_bind

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_bind — Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)

Description

bool mssql_bind ( resource $stmt , string $param_name , mixed &$var , int $type [, bool $is_output = false [, bool $is_null = false [, int $maxlen = -1 ]]] )

Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante).

Liste de paramètres

stmt

Une ressource de requête, obtenue avec la fonction mssql_init().

param_name

Le nom du paramètre, sous la forme d'une chaîne de caractères.

Note: Vous devez ajouter un caractère @, comme dans la syntaxe T-SQL. Voir l'explication dans la documentation de la fonction mssql_execute().

var

La variable PHP que vous voulez lier au paramètre MSSQL. Il faut la passer par référence pour récupérer les valeurs OUTPUT et RETVAL après l'exécution de la procédure.

type

Une constante parmi : SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1, SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.

is_output

Si la valeur est un paramètre OUTPUT ou non. Si c'est un paramètre OUTPUT et que vous ne mentionnez pas, il sera traité comme un paramètre d'entrée normal et aucune erreur ne sera émise.

is_null

Si le paramètre vaut NULL ou non. Le fait de passer NULL comme valeur au paramètre var n'y fera rien.

maxlen

Utilisé avec les valeurs de type CHAR et VARCHAR. Vous devez indiquer la longueur des données, donc, si ce paramètre vaut VARCHAR(50), le type doit être SQLVARCHAR et sa valeur, 50.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_bind()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Crée une nouvelle procédure stockée
$stmt = mssql_init('NewUserRecord');

// Lie les noms de champs
mssql_bind($stmt, '@username',  'Kalle',        SQLVARCHAR,     false,  false,  60);
mssql_bind($stmt, '@name',      'Kalle',        SQLVARCHAR,     false,  false,  60);
mssql_bind($stmt, '@age',       19,             SQLINT1,        false,  false,   3);

// Exécute
mssql_execute($stmt);

// Libère les ressources
mssql_free_statement($stmt);
?>

Voir aussi

  • mssql_execute() - Exécute une procédure stockée sur un serveur MS SQL
  • mssql_free_statement() - Libère une commande MS SQL Server de la mémoire
  • mssql_init() - Initialise une procédure stockée MS SQL Server locale ou distante

Fonctions Mssql
mssql_close
Fonctions Mssql


Ferme une connexion MS SQL Server

mssql_bind
mssql_connect
Fonctions Mssql
PHP Manual

mssql_close

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_close — Ferme une connexion MS SQL Server

Description

bool mssql_close ([ resource $link_identifier ] )

Ferme la connexion à la base MS SQL Server, qui était associée à l'identifiant link_identifier. Si ce dernier n'est pas précisé, la dernière connexion ouverte sera fermée.

Notez qu'il n'est pas nécessaire de fermer les connexions non persistantes aux bases de données, car elles seront fermées automatiquement à la fin du script.

Liste de paramètres

link_identifier

Un identifiant de lien MS SQL, retourné par la fonction mssql_connect().

Cette fonction ne ferme pas les liens persistants générés par la fonction mssql_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_close()

<?php
// Connexion à MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Quelques requêtes SQL sur le serveur ici...

// Fermeture de la connexion à MSSQL
mssql_close($link);
?>

Voir aussi

  • mssql_connect() - Ouvre une connexion à un serveur MS SQL server
  • mssql_pconnect() - Ouvre une connexion persistante à un serveur MS SQL

mssql_bind
mssql_connect
Fonctions Mssql


Ouvre une connexion à un serveur MS SQL server

mssql_close
mssql_data_seek
Fonctions Mssql
PHP Manual

mssql_connect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_connect — Ouvre une connexion à un serveur MS SQL server

Description

resource mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link ]]]] )

mssql_connect() établit une connexion à un serveur MS SQL.

Le lien avec le serveur sera fermé dès la fin du script, ce qui fait qu'on n'est pas obligé de fermer explicitement la connexion à la fin du script avec mssql_close().

Liste de paramètres

servername

Le serveur MS SQL. Il peut également contenir le numéro du port, . e.g. hostname,port.

username

Le nom d'utilisateur.

password

Le mot de passe.

new_link

Si un deuxième appel est fait à mssql_connect() avec les mêmes arguments, un nouveau lien ne sera pas retourné, mais le lien déjà ouvert sera utilisé. Ce paramètre modifie ce comportement et fait que la fonction mssql_connect() ouvre toujours un nouveau lien, même si la fonction mssql_connect() a été appelée avant, avec les mêmes paramètres.

Valeurs de retour

Retourne un identifiant de lien MS SQL en cas de succès, ou FALSE si une erreur survient.

Historique

Version | Description
4.4.1 and 5.1.0 | Le paramètre new_link a été ajouté

Exemples

Exemple #1 Exemple avec mssql_connect()

<?php
// Le serveur est au format : <hôte>\<nom d'instance> ou
// <serveur>,<port> quand on utilise un port différent de celui par défaut
$server = 'KALLESPC\SQLEXPRESS';

// Connexion à MSSQL
$link = mssql_connect($server, 'sa', 'phpfi');

if(!$link) {
    die('Erreur de connexion à MSSQL');
}
?>

Voir aussi

  • mssql_close() - Ferme une connexion MS SQL Server
  • mssql_pconnect() - Ouvre une connexion persistante à un serveur MS SQL

mssql_close
mssql_data_seek
Fonctions Mssql


Déplace le pointeur interne de ligne

mssql_connect
mssql_execute
Fonctions Mssql
PHP Manual

mssql_data_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_data_seek — Déplace le pointeur interne de ligne

Description

bool mssql_data_seek ( resource $result_identifier , int $row_number )

mssql_data_seek() déplace le pointeur interne de ligne, dans le résultat result_identifier, jusqu'à la ligne row_number, la première étant numérotée 0. Le prochain appel à mssql_fetch_row() retournera cette ligne.

Liste de paramètres

result_identifier

La ressource de résultat à évaluer.

row_number

Le numéro de la ligne désiré pour le nouveau pointeur de résultat.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_data_seek()

<?php
// Connexion à MSSQL et sélection de la base de données
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Sélection de tout le monde
$result = mssql_query('SELECT [name], [age] FROM [persons] WHERE [age] >= 13');

if (!$result) {
    die('La requête a échoué.');
}

// Sélection d'un étudiant sur quatre, dans les résultats
for ($i = mssql_num_rows($result) - 1; $i % 4; $i++) {
    if (!mssql_data_seek($result, $i)) {
        continue;
    }

    // Lecture d'une ligne...
}

// Libération du résultat
mssql_free_result($result);
?>

mssql_connect
mssql_execute
Fonctions Mssql


Exécute une procédure stockée sur un serveur MS SQL

mssql_data_seek
mssql_fetch_array
Fonctions Mssql
PHP Manual

mssql_execute

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_execute — Exécute une procédure stockée sur un serveur MS SQL

Description

mixed mssql_execute ( resource $stmt [, bool $skip_results = false ] )

Exécute une procédure stockée sur un serveur MS SQL.

Liste de paramètres

stmt

Le gestionnaire de requête, obtenu avec la fonction mssql_init().

skip_results

Omettre les résultats ou non.

Exemples

Exemple #1 Exemple avec mssql_execute()

<?php
// Création d'une nouvelle commande
$stmt = mssql_init('NewBlogEntry');

// Quelques données
$title = 'Test of blogging system';
$content = 'If you can read this, then the new system is compatible with MSSQL';

// Liaison des variables
mssql_bind($stmt, '@author',    'Felipe Pena',  SQLVARCHAR,     false,  false,  60);
mssql_bind($stmt, '@date',      '08/10/2008',   SQLVARCHAR,     false,  false,  20);
mssql_bind($stmt, '@title',     $title,         SQLVARCHAR,     false,  false,  60);
mssql_bind($stmt, '@content',   $content,       SQLTEXT);

// Exécution de la commande
mssql_execute($stmt);

// Et libération des ressources :
mssql_free_statement($stmt);
?>

Notes

Note: Si la procédure stockée retourne un paramètre ou une valeur, ils seront disponibles après l'appel à la fonction mssql_execute(), à moins que la procédure stockée ne retourne plusieurs résultats. Dans ce cas, utilisez la fonction mssql_next_result() pour passer en revue tous les résultats. Lorsque le dernier résultat aura été traité, les valeurs des paramètres de sortie et les valeurs retournées seront disponibles.

Voir aussi

  • mssql_bind() - Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
  • mssql_free_statement() - Libère une commande MS SQL Server de la mémoire
  • mssql_init() - Initialise une procédure stockée MS SQL Server locale ou distante

mssql_data_seek
mssql_fetch_array
Fonctions Mssql


Lit une ligne de résultat MS SQL dans un tableau

mssql_execute
mssql_fetch_assoc
Fonctions Mssql
PHP Manual

mssql_fetch_array

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_array — Lit une ligne de résultat MS SQL dans un tableau

Description

array mssql_fetch_array ( resource $result [, int $result_type = MSSQL_BOTH ] )

mssql_fetch_array() est une version améliorée de mssql_fetch_row(). En plus de stocker les données dans un tableau à index numérique, elle les stocke aussi dans un tableau associatif, en utilisant les noms de colonnes comme clés.

Une chose importante à noter est que mssql_fetch_array() n'est PAS significativement plus lente que mssql_fetch_row(), tandis qu'elle apporte un confort appréciable.

Liste de paramètres

result

La ressource de résultat à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

result_type

Un tableau de types qui doivent être récupérés. C'est une constante et peut prendre les valeurs suivantes : MSSQL_ASSOC, MSSQL_NUM, et MSSQL_BOTH.

Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de ligne.

Exemples

Exemple #1 Exemple avec mssql_fetch_array()

<?php
// Requête de sélection à MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Vérifie s'il y a des lignes
if (!mssql_num_rows($query)) {
    echo 'Pas de ligne trouvée';
} else {
    // Ceci est équivalent au code ci-dessous :
    //
    // while($row = mssql_fetch_row($query))

    while ($row = mssql_fetch_array($query, MSSQL_NUM)) {
        // ...
    }
}

// Libération des ressources
mssql_free_result($query);
?>

Notes

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mssql_fetch_row() - Lit une ligne de résultat MS SQL dans un tableau numérique

mssql_execute
mssql_fetch_assoc
Fonctions Mssql


Retourne un tableau associatif pour la ligne courant de résultat MS SQL Server

mssql_fetch_array
mssql_fetch_batch
Fonctions Mssql
PHP Manual

mssql_fetch_assoc

(PHP 4 >= 4.2.0, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_assoc — Retourne un tableau associatif pour la ligne courant de résultat MS SQL Server

Description

array mssql_fetch_assoc ( resource $result_id )

Retourne un tableau associatif pour la ligne courante de résultat MS SQL Server et déplace le pointeur de données interne au début. mssql_fetch_assoc() est équivalent à mssql_fetch_array() avec le paramètre MSSQL_ASSOC.

Liste de paramètres

result_id

La ressource de résultat à lire. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne un tableau associatif qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de ligne.

Exemples

Exemple #1 Exemple avec mssql_fetch_assoc()

<?php
// Effectue une sélection sur MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Vérifie s'il y a des résultats
if (!mssql_num_rows($query)) {
    echo 'Pas de résultats trouvés';
} else {
    // Affiche une liste d'utilisateurs au format
    // nom (login)

    echo '<ul>';

    while ($row = mssql_fetch_assoc($query)) {
        echo '<li>' . $row['name'] . ' (' . $row['username'] . ')</li>';
    }

    echo '</ul>';
}

// Libère les résultats
mssql_free_result($query);
?>

mssql_fetch_array
mssql_fetch_batch
Fonctions Mssql


Retourne le prochain lot de lignes MS SQL Server

mssql_fetch_assoc
mssql_fetch_field
Fonctions Mssql
PHP Manual

mssql_fetch_batch

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_batch — Retourne le prochain lot de lignes MS SQL Server

Description

int mssql_fetch_batch ( resource $result )

Retourne le prochain lot de lignes MS SQL Server.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne le numéro de lot, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec mssql_fetch_batch()

<?php
// Connexion à MSSQL et sélection de la base de données
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Envoi d'une requête
$result = mssql_query('SELECT * FROM [php].[dbo].[people]', $link, 100);
$records = 10;

while ($records >= 0) {
    while ($row = mssql_fetch_assoc($result))
    {
        // Traitement
    }

    --$records;
}

if ($batchsize = mssql_fetch_batch($result)) {
    // $batchsize est le nombre de ligne à lire
    // dans le résultat, mais enocre à afficher
}
?>

mssql_fetch_assoc
mssql_fetch_field
Fonctions Mssql


Lit les informations sur le champ

mssql_fetch_batch
mssql_fetch_object
Fonctions Mssql
PHP Manual

mssql_fetch_field

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_field — Lit les informations sur le champ

Description

object mssql_fetch_field ( resource $result [, int $field_offset = -1 ] )

mssql_fetch_field() sert à lire des informations spécifiques à un champ, dans un résultat de requête.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

field_offset

La position numérique du champ. Si l'offset du champ field_offset n'est pas précisé, le prochain champ sera analysé. field_offset commence à 0.

Valeurs de retour

Retourne un objet contenant les informations du champ.

Les propriétés de l'objet sont :

  • "name" : nom de la colonne. Si la colonne est le résultat d'une fonction, le nom de la colonne sera computed#N, où #N est un numéro de série.
  • "column_source" : le nom de la table d'où la colonne est originaire.
  • "max_length" : taille maximale de la colonne.
  • "numeric" : 1 si la colonne est numérique.
  • "type" : le type de la colonne.

Exemples

Exemple #1 Exemple avec mssql_fetch_field()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Envoie une requête Select à MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Construit la table
echo '<h3>Table structure for \'persons\'</h3>';
echo '<table border="1">';

// Entête de table
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';

// Champs
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    // Lecture des informations des champs
    $field = mssql_fetch_field($query, $i);

    // Affichage de la ligne
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';
}

echo '</tbody>';
echo '</table>';

// Libération des ressources
mssql_free_result($query);
?>

Voir aussi

  • mssql_field_seek() - Fixe la position du pointeur de champ MS SQL Server

mssql_fetch_batch
mssql_fetch_object
Fonctions Mssql


Retourne une ligne de résultat MS SQL Server sous la forme d'un objet

mssql_fetch_field
mssql_fetch_row
Fonctions Mssql
PHP Manual

mssql_fetch_object

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_object — Retourne une ligne de résultat MS SQL Server sous la forme d'un objet

Description

object mssql_fetch_object ( resource $result )

mssql_fetch_object() est similaire à mssql_fetch_array(), avec une différence : un objet est retourné, au lieu d'un tableau. Indirectement, cela signifie que vous ne pouvez accéder aux données que par leur nom de champ, et pas par leur offset (les nombres sont illégaux comme nom de propriété).

En terme de vitesse, cette fonction est identique à mssql_fetch_array(), quasiment aussi rapide que mssql_fetch_row() (la différence est non significative).

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne un objet dont les propriétés contiennent les valeurs de la ligne courante dans le résultat result, ou FALSE s'il n'y a plus de ligne.

Exemples

Exemple #1 Exemple avec mssql_fetch_object()

<?php
// Envoie une requête de sélection à MSSQL
$query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');

// Check if there were any records
if(!mssql_num_rows($query)) {
    echo 'Aucune ligne trouvée';
} else {
    // Affiche une liste d'utilisateur au format :
    // * nom (login)

    echo '<ul>';

    while ($row = mssql_fetch_object($query)) {
        echo '<li>' . $row->name . ' (' . $row->username . ')</li>';
    }

    echo '</ul>';
}

// Libère le résultat
mssql_free_result($query);
?>

Notes

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mssql_fetch_array() - Lit une ligne de résultat MS SQL dans un tableau
  • mssql_fetch_row() - Lit une ligne de résultat MS SQL dans un tableau numérique

mssql_fetch_field
mssql_fetch_row
Fonctions Mssql


Lit une ligne de résultat MS SQL dans un tableau numérique

mssql_fetch_object
mssql_field_length
Fonctions Mssql
PHP Manual

mssql_fetch_row

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_row — Lit une ligne de résultat MS SQL dans un tableau numérique

Description

array mssql_fetch_row ( resource $result )

mssql_fetch_row() lit une ligne dans le résultat result et place les valeurs dans un tableau. Chaque valeur est enregistrée dans un élément du tableau, et les indices commencent à 0.

Les appels suivants à mssql_fetch_row() retourneront la ligne suivante, ou bien FALSE s'il ne reste plus de ligne.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne un tableau qui contient les valeurs de la ligne courante du résultat result ou bien FALSE s'il n'y a plus de ligne à lire.

Exemples

Exemple #1 Exemple avec mssql_fetch_row()

<?php
// Connexion à MSSQL et sélection de la base de données
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Exécution d'une requête
$query = mssql_query('SELECT [id], [quote] FROM [quotes] WHERE [id] = \'42\'', $link);

// Est-ce que la requête a échoué?
if (!$query) {
    die('MSSQL error: ' . mssql_get_last_message());
}

// Lit la ligne
$row = mssql_fetch_row($query);

// Affiche la ligne
echo 'Quote #' . $row[0] . ': "' . $row[1] . '"';
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Quote #42: "La réponse est ..."

Notes

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mssql_fetch_array() - Lit une ligne de résultat MS SQL dans un tableau
  • mssql_fetch_object() - Retourne une ligne de résultat MS SQL Server sous la forme d'un objet
  • mssql_data_seek() - Déplace le pointeur interne de ligne
  • mssql_result() - Lit les données d'un résultat

mssql_fetch_object
mssql_field_length
Fonctions Mssql


Lit la longueur d'un champ MS SQL Server

mssql_fetch_row
mssql_field_name
Fonctions Mssql
PHP Manual

mssql_field_length

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_length — Lit la longueur d'un champ MS SQL Server

Description

int mssql_field_length ( resource $result [, int $offset = -1 ] )

Retourne la longueur d'un champ numéro offset dans le résultat result.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient de l'appel à la fonction mssql_query().

offset

La position du champ, en commençant à 0. Si ce paramètre est omis, le champ courant sera utilisé.

Valeurs de retour

La longueur du champ spécifié en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_field_length()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Envoi d'une requête Select
$query = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Affichage de la taille du champ et sa taille
echo 'Le champ \'age\' a la taille de ' . mssql_field_length($query, 1);

// Free the query result
mssql_free_result($query);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le champ 'age' a la taille de 4

Notes

Note: Note pour les utilisateurs Windows
À cause d'une limitation dans l'API utilisé par PHP (MS DbLib C API), la longueur des champs VARCHAR est limitée à 255. Si vous avez besoin d'enregistrer plus de données, utilisez un champ TEXT à la place.

Voir aussi

  • mssql_field_name() - Lit le nom d'un champ MS SQL Server
  • mssql_field_type() - Lit le nom d'un champ MS SQL Server

mssql_fetch_row
mssql_field_name
Fonctions Mssql


Lit le nom d'un champ MS SQL Server

mssql_field_length
mssql_field_seek
Fonctions Mssql
PHP Manual

mssql_field_name

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_name — Lit le nom d'un champ MS SQL Server

Description

string mssql_field_name ( resource $result [, int $offset = -1 ] )

Retourne le nom du champ numéro offset du résultat result.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

offset

La position du champ, en commençant à 0. Si ce paramètre est omis, le champ courant sera utilisé.

Valeurs de retour

Le nom du champ spécifié en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_field_name()

<?php
// Envoi une requête de type SELECT à MSSQL
$query = mssql_query('SELECT [username], [name], [email] FROM [php].[dbo].[userlist]');

echo 'Le jeu de résultat contient le(s) champ(s) suivant(s) :', PHP_EOL;

// Affiche le nom de tous les champs du jeu de résultats
for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    echo ' - ' . mssql_field_name($query, $i), PHP_EOL;
}

// Libère le jeu de résultats
mssql_free_result($query);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le jeu de résultat contient le(s) champ(s) suivant(s) :
 - username
 - name
 - email

Voir aussi

  • mssql_field_length() - Lit la longueur d'un champ MS SQL Server
  • mssql_field_type() - Lit le nom d'un champ MS SQL Server

mssql_field_length
mssql_field_seek
Fonctions Mssql


Fixe la position du pointeur de champ MS SQL Server

mssql_field_name
mssql_field_type
Fonctions Mssql
PHP Manual

mssql_field_seek

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_seek — Fixe la position du pointeur de champ MS SQL Server

Description

bool mssql_field_seek ( resource $result , int $field_offset )

Modifie la valeur du pointeur de champ. Lors du prochain appel à mssql_fetch_field() qui ne précisera pas de numéro de champ, le champ fixé par mssql_field_seek() sera retourné.

Liste de paramètres

result

La ressource du résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

field_offset

La position du champ, en commençant à 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_field_seek()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Requête de sélection sur MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

// Construction d'une table HTML
echo '<h3>Table structure for \'persons\'</h3>';
echo '<table border="1">';

// Entête
echo '<thead>';
echo '<tr>';
echo '<td>Nom du champ</td>';
echo '<td>Type de données</td>';
echo '<td>Taille maximale</td>';
echo '</tr>';
echo '</thead>';

// Affichage de toutes les données
echo '<tbody>';

for ($i = 0; $i < mssql_num_fields($query); ++$i) {
    // Lecture du champ : notez le paramètre
    // field_offset qui n'est pas configuré. Voyez l'appel
    // à mssql_field_seek ci-dessous
    $field = mssql_fetch_field($query);

    // Affichage de la ligne
    echo '<tr>';
    echo '<td>' . $field->name . '</td>';
    echo '<td>' . strtoupper($field->type) . '</td>';
    echo '<td>' . $field->max_length . '</td>';
    echo '</tr>';

    // Déplacement du pointeur interne, jusqu'à la prochaine ligne
    // dans le résultat
    mssql_field_seek($query, $i + 1);
}

echo '</tbody>';
echo '</table>';

// Libération du résultat
mssql_free_result($query);
?>

Voir aussi

  • mssql_fetch_field() - Lit les informations sur le champ

mssql_field_name
mssql_field_type
Fonctions Mssql


Lit le nom d'un champ MS SQL Server

mssql_field_seek
mssql_free_result
Fonctions Mssql
PHP Manual

mssql_field_type

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_type — Lit le nom d'un champ MS SQL Server

Description

string mssql_field_type ( resource $result [, int $offset = -1 ] )

Retourne le type du champ numéro offset dans le résultat result.

Liste de paramètres

result

La ressource du résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

offset

La position du champ, en commençant à 0. Si ce paramètre est omis, le champ courant sera utilisé.

Valeurs de retour

Le type du champ spécifié en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_field_type()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Envoi d'une requête MSSQL
$query = mssql_query('SELECT [name] FROM [php].[dbo].[persons]');

// Affiche le type de champ et sa taille
echo '\'' . mssql_field_name($query, 0) . '\' est de type ' .
     strtoupper(mssql_field_type($query, 0)) .
     '(' . mssql_field_length($query, 0) . ')';

// Libère le résultat
mssql_free_result($query);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

'name' est de type CHAR(50)

Voir aussi

  • mssql_field_length() - Lit la longueur d'un champ MS SQL Server
  • mssql_field_name() - Lit le nom d'un champ MS SQL Server

mssql_field_seek
mssql_free_result
Fonctions Mssql


Libère la mémoire des ressources MS SQL Server

mssql_field_type
mssql_free_statement
Fonctions Mssql
PHP Manual

mssql_free_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_result — Libère la mémoire des ressources MS SQL Server

Description

bool mssql_free_result ( resource $result )

mssql_free_result() n'a besoin d'être appelée que si vous vous inquiétez de l'utilisation excessive de la mémoire durant l'exécution de votre script. La mémoire sera automatiquement libérée à la fin de votre script. Vous devriez appeler mssql_free_result() avec l'identifiant de résultat en tant que paramètre et la mémoire associée sera libérée.

Liste de paramètres

result

La ressource de résultats à libérer. Ce résultat provient de l'appel à la fonction mssql_query().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_free_result()

<?php
// Lit des données depuis une table
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]', $link);

// Traite le résultat ici

// Quand on a fini, on libère les ressources occupées
// avec la fonction mssql_free_result
mssql_free_result($query);
?>

Voir aussi

  • mssql_free_statement() - Libère une commande MS SQL Server de la mémoire

mssql_field_type
mssql_free_statement
Fonctions Mssql


Libère une commande MS SQL Server de la mémoire

mssql_free_result
mssql_get_last_message
Fonctions Mssql
PHP Manual

mssql_free_statement

(PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1)

mssql_free_statement — Libère une commande MS SQL Server de la mémoire

Description

bool mssql_free_statement ( resource $stmt )

mssql_free_statement() n'est utile que si vous craignez de consommer trop de mémoire durant l'exécution de votre script. Toute la mémoire consommée par une commande sera libérée lorsque le script se termine. Avec la fonction mssql_free_statement(), la mémoire associée au résultat statement sera libérée.

Liste de paramètres

stmt

La ressource de la requête, obtenue avec la fonction mssql_init().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_free_statement()

<?php
// Crée une nouvelle commande
$stmt = mssql_init('test');

// Exécute la commande ici

// Une fois terminé, nous pouvons libérer les ressources
// avec mssql_free_statement, comme ceci :
mssql_free_statement($stmt);
?>

Voir aussi

  • mssql_bind() - Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
  • mssql_execute() - Exécute une procédure stockée sur un serveur MS SQL
  • mssql_init() - Initialise une procédure stockée MS SQL Server locale ou distante
  • mssql_free_result() - Libère la mémoire des ressources MS SQL Server

mssql_free_result
mssql_get_last_message
Fonctions Mssql


Retourne le dernier message d'erreur du serveur

mssql_free_statement
mssql_guid_string
Fonctions Mssql
PHP Manual

mssql_get_last_message

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_get_last_message — Retourne le dernier message d'erreur du serveur

Description

string mssql_get_last_message ( void )

Lit le dernier message d'erreur du serveur MS-SQL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le dernier message d'erreur du serveur, ou une chaîne vide, si aucune message d'erreur n'a été retourné par MSSQL.

Exemples

Exemple #1 Exemple avec mssql_get_last_message()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Une requête qui échoue
$query = @mssql_query('SELECT * FROM [php].[dbo].[not-found]');

if (!$query) {
    // La requête a échoué, retourné un message d'erreur et nous
    // pouvons l'obtenir avec mssql_get_last_message()
    die('Erreur MSSQL : ' . mssql_get_last_message());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Erreur MSSQL : Invalid object name 'php.dbo.not-found'.

Voir aussi

  • mssql_min_error_severity() - Fixe le niveau de sévérité des erreurs MS SQL Server
  • mssql_min_message_severity() - Fixe le niveau de sévérité des messages d'erreur MS SQL Server

mssql_free_statement
mssql_guid_string
Fonctions Mssql


Convertit le GUID binaire de 16 octets en une chaîne de caractères

mssql_get_last_message
mssql_init
Fonctions Mssql
PHP Manual

mssql_guid_string

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_guid_string — Convertit le GUID binaire de 16 octets en une chaîne de caractères

Description

string mssql_guid_string ( string $binary [, bool $short_format = false ] )

Convertit un GUID binaire de 16 octets en une chaîne de caractères.

Liste de paramètres

binary

Un GUID binaire, de 16 octets.

short_format

TRUE s'il faut utiliser le format court.

Valeurs de retour

Retourne la chaîne convertie en cas de succès.

Exemples

Exemple #1 Exemple avec mssql_guid_string()

<?php
$binary = '19555081977808608437941339997619274330352755554827939936';

var_dump(mssql_guid_string($binary));
var_dump(mssql_guid_string($binary, true));
?>

L'exemple ci-dessus va afficher :

string(36) "35353931-3035-3138-3937-373830383630"
string(32) "31393535353038313937373830383630"

mssql_get_last_message
mssql_init
Fonctions Mssql


Initialise une procédure stockée MS SQL Server locale ou distante

mssql_guid_string
mssql_min_error_severity
Fonctions Mssql
PHP Manual

mssql_init

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)

mssql_init — Initialise une procédure stockée MS SQL Server locale ou distante

Description

resource mssql_init ( string $sp_name [, resource $link_identifier ] )

Initialise une procédure stockée MS SQL Server locale ou distante.

Liste de paramètres

sp_name

Le nom d'une procédure stocké, comme ownew.sp_name ou otherdb.owner.sp_name.

link_identifier

Un identifiant de lien MS SQL, retourné par la fonction mssql_connect().

Valeurs de retour

Retourne un identifiant de ressource de requête, à utiliser lors des appels aux fonctions mssql_bind() et mssql_execute(), ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_init()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Création d'une nouvelle commande
$stmt = mssql_init('StatementTest', $link);

// Liaisons des valeurs ici

// Une fois que les valerus sont liées, nous pouvons exécuter
// notre commande avec mssql_execute:
mssql_execute($stmt);

// Et nous pouvons tout libérer ainsi :
mssql_free_statement($stmt);
?>

Voir aussi

  • mssql_bind() - Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
  • mssql_execute() - Exécute une procédure stockée sur un serveur MS SQL
  • mssql_free_statement() - Libère une commande MS SQL Server de la mémoire

mssql_guid_string
mssql_min_error_severity
Fonctions Mssql


Fixe le niveau de sévérité des erreurs MS SQL Server

mssql_init
mssql_min_message_severity
Fonctions Mssql
PHP Manual

mssql_min_error_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_error_severity — Fixe le niveau de sévérité des erreurs MS SQL Server

Description

void mssql_min_error_severity ( int $severity )

Configure le minimum de sévérité.

Liste de paramètres

severity

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mssql_min_error_severity()

<?php
// Connexion à MSSQL et sélection de la base de données
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Configure le minimum de sévérité pour ne pas inclure les
// erreurs de syntaxe en utilisant une valeur supérieure à 1
mssql_min_error_severity(1);

// Envoi d'une requête qui cause des erreurs SQL
$query = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');

if(!$query) {
    // Gestionnaire personnalisé d'erreurs...
}
?>

mssql_init
mssql_min_message_severity
Fonctions Mssql


Fixe le niveau de sévérité des messages d'erreur MS SQL Server

mssql_min_error_severity
mssql_next_result
Fonctions Mssql
PHP Manual

mssql_min_message_severity

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_min_message_severity — Fixe le niveau de sévérité des messages d'erreur MS SQL Server

Description

void mssql_min_message_severity ( int $severity )

Fixe le niveau de sévérité des messages d'erreurs MS SQL Server.

Liste de paramètres

severity

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mssql_min_message_severity()

<?php
// Connexion à MSSQL
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Configure la sévérité minimum des messages à 17,
// ce qui masque les messages produits par l'API sous-jacente
// API lorsqu'on sélectionne une base inexistante
mssql_min_message_severity(17);

// Sélectionne une base inexistante
mssql_select_db('THIS_DATABASE_DOES_NOT_EXISTS');
?>

L'exemple ci-dessus va afficher :

mssql_select_db(): Unable to select database:  THIS_DATABASE_DOES_NOT_EXISTS

mssql_min_error_severity
mssql_next_result
Fonctions Mssql


Déplace le pointeur interne MS SQL Server au résultat suivant

mssql_min_message_severity
mssql_num_fields
Fonctions Mssql
PHP Manual

mssql_next_result

(PHP 4 >= 4.0.5, PHP 5, PECL odbtp >= 1.1.1)

mssql_next_result — Déplace le pointeur interne MS SQL Server au résultat suivant

Description

bool mssql_next_result ( resource $result_id )

Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous exécutez une procédure stockée avec de multiples résultats, cela va conduire le serveur à retourner plusieurs jeux de lignes. mssql_next_result() va vérifier l'existence de plusieurs résultats disponibles sur le serveur. Si un autre jeu de résultat existe, mssql_next_result() va détruire de résultat précédent et préparer la lecture dans les nouvelles lignes.

Liste de paramètres

result_id

Une ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne TRUE si un jeu de résultats additionnel est disponible, ou FALSE sinon.

Exemples

Exemple #1 Exemple avec mssql_next_result()

<?php
// Connexion à MSSQL et sélection de la base de données
$link = mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Envoie d'une requête à MSSQL
$sql = 'SELECT [name], [age] FROM [php].[dbo].[persons]';
$query = mssql_query($sql, $link);

// Itération dans les lignes lues
do {
    while ($row = mssql_fetch_row($query))
    {
        // Gestion des lignes
    }
} while (mssql_next_result($query));

// Nettoyage
mssql_free_result($query);
mssql_close($link);
?>

mssql_min_message_severity
mssql_num_fields
Fonctions Mssql


Retourne le nombre de champs dans un résultat MS SQL Server

mssql_next_result
mssql_num_rows
Fonctions Mssql
PHP Manual

mssql_num_fields

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_fields — Retourne le nombre de champs dans un résultat MS SQL Server

Description

int mssql_num_fields ( resource $result )

mssql_num_fields() retourne le nombre de champs dans un résultat.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne le nombre de champs, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec mssql_num_fields()

<?php
// Connexion à MSSQL et sélection de la base de données
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link);

// Sélection de données dans une table
$data = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Construction d'une table HTML
echo '<table border="1">';

$header = false;

// Itération dans les résultats
while ($row = mssql_fetch_array($data)) {
    // Construction de l'entête
    if (!$header) {
        echo '<thead>';
        echo '<tr>';

        for ($i = 1; ($i + 1) <= mssql_num_fields($data); ++$i) {
            echo '<td>' . ucfirst($row[$i]) . '</td>';
        }

        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';

        $header = true;
    }

    // Construction de la ligne
    echo '<tr>';

    foreach ($row as $value) {
        echo '<td>' . $value . '</td>';
    }

    echo '</tr>';
}

// Fermeture de la table
echo '</tbody>';
echo '</table>';

// Nettoyage
mssql_free_result($data);
mssql_close($link);
?>

Voir aussi

  • mssql_query() - Envoie une requête SQL au serveur MS SQL
  • mssql_fetch_field() - Lit les informations sur le champ
  • mssql_num_rows() - Retourne le nombre de lignes dans un résultat MS SQL

mssql_next_result
mssql_num_rows
Fonctions Mssql


Retourne le nombre de lignes dans un résultat MS SQL

mssql_num_fields
mssql_pconnect
Fonctions Mssql
PHP Manual

mssql_num_rows

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_num_rows — Retourne le nombre de lignes dans un résultat MS SQL

Description

int mssql_num_rows ( resource $result )

mssql_num_rows() retourne le nombre de lignes dans le résultat result.

Liste de paramètres

result

La ressource de résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec mssql_num_rows()

<?php
// Connexion à MSSQL et sélection de la base de données
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// Sélections de toutes les lignes d'une table
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');

echo 'Nombre de lignes dans la table : ' . mssql_num_rows($query);

// Nettoyage
mssql_free_result($query);
?>

Voir aussi

  • mssql_query() - Envoie une requête SQL au serveur MS SQL
  • mssql_fetch_row() - Lit une ligne de résultat MS SQL dans un tableau numérique

mssql_num_fields
mssql_pconnect
Fonctions Mssql


Ouvre une connexion persistante à un serveur MS SQL

mssql_num_rows
mssql_query
Fonctions Mssql
PHP Manual

mssql_pconnect

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_pconnect — Ouvre une connexion persistante à un serveur MS SQL

Description

resource mssql_pconnect ([ string $servername [, string $username [, string $password [, bool $new_link ]]]] )

mssql_pconnect() se comporte comme mssql_connect() mais avec deux différences :

Premièrement, lors de la connexion, la fonction va commencer par rechercher un lien persistant déjà ouvert avec le même hôte, le même nom d'utilisateur, username et le même mot de passe password. Si un tel lien est trouvé, cet identifiant sera retourné, au lieu d'ouvrir une autre connexion.

Deuxièmement, la connexion au serveur SQL ne sera pas fermée à la fin du script, mais restera ouverte, pour d'autres utilisations ultérieures (mssql_close() ne fermera pas un lien établi avec mssql_pconnect()).

C'est pourquoi ce type de lien est dit 'persistant'.

Liste de paramètres

servername

Le serveur MS SQL. Il peut également contenir un numéro de port, e.g. hostname:port.

username

Le nom d'utilisateur

password

Le mot de passe

new_link

Si un deuxième appel est fait à mssql_pconnect() avec les mêmes arguments, un nouveau lien ne sera pas retourné, mais le lien déjà ouvert sera utilisé. Ce paramètre modifie ce comportement et fait que la fonction mssql_pconnect() ouvre toujours un nouveau lien, même si la fonction mssql_pconnect() a été appelée avant, avec les mêmes paramètres.

Valeurs de retour

Retourne un identifiant de lien positif MS SQL en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 mssql_pconnect() et le paramètre new_link

<?php
// Connexion à MSSQL et sélection de la base de données
$link1 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php', $link1);

// Création d'une nouvelle connexion
$link2 = mssql_pconnect('MANGO\SQLEXPRESS', 'sa', 'phpfi', true);
mssql_select_db('random', $link2);
?>

mssql_num_rows
mssql_query
Fonctions Mssql


Envoie une requête SQL au serveur MS SQL

mssql_pconnect
mssql_result
Fonctions Mssql
PHP Manual

mssql_query

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_query — Envoie une requête SQL au serveur MS SQL

Description

mixed mssql_query ( string $query [, resource $link_identifier [, int $batch_size = 0 ]] )

mssql_query() envoie la requête au serveur courant, associé à l'identifiant link_identifier (ou la base par défaut, s'il est omis).

Liste de paramètres

query

Une requête SQL.

link_identifier

Un identifiant de lien MS SQL, retourné par la fonction mssql_connect() ou mssql_pconnect().

Si l'identifiant du lien n'est pas spécifié, le dernier lien ouvert est utilisé. Si aucun lien n'est ouvert, la fonction tente d'établir un lien grâce à la fonction mssql_connect() et l'utilise.

batch_size

Le nombre d'enregistrements dans le buffer.

Valeurs de retour

Retourne une ressource de résultats MS SQL en cas de succès, TRUE si aucun ligne n'est retournée, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_query()

<?php
// Connexion à MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

if (!$link || !mssql_select_db('php', $link)) {
    die('Impossible de se connecter à la base!');
}

// Exécution d'une requête simple, pour obtenir la
// version de MSSQL et l'afficher.
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);

echo $row[0];

// Netoyage
mssql_free_result($version);
?>

Notes

Note: Si la requête retourne plusieurs résultats, alors, il est nécessaire de tous les récupérer via la fonction mssql_next_result(), de libérer les résultats via la fonction mssql_free_result() avant d'exécuter la prochaine requête.

Voir aussi

  • mssql_select_db() - Sélectionne la base de données MS SQL
  • mssql_connect() - Ouvre une connexion à un serveur MS SQL server

mssql_pconnect
mssql_result
Fonctions Mssql


Lit les données d'un résultat

mssql_query
mssql_rows_affected
Fonctions Mssql
PHP Manual

mssql_result

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_result — Lit les données d'un résultat

Description

string mssql_result ( resource $result , int $row , mixed $field )

mssql_result() retourne la valeur de la colonne, à la ligne donnée, dans le résultat MS SQL.

Liste de paramètres

result

La ressource du résultats à évaluer. Ce résultat provient d'un appel à la fonction mssql_query().

row

Le numéro de la ligne.

field

Peut être la position du champ, le nom du champ ou le nom de la table, suivi d'un point, suivi du nom du champ ("tablename.fieldname"). Si l'on a fourni un alias au nom de la colonne ("select foo as bar from..."), cet alias sera utilisé à la place du nom de la colonne.

Note: Le fait de spécifier la position numérique pour l'argument field est plus rapide que de spécifier un nom de champ ou la forme tablename.fieldname.

Valeurs de retour

Retourne le contenu de la cellule spécifié.

Exemples

Exemple #1 Exemple avec mssql_result()

<?php
// Envoie une requête SELECT à MSSQL
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Vérifie s'il y a des résultats
if (!mssql_num_rows($query)) {
    echo 'Pas de lignes trouvées';
} else {
    for ($i = 0; $i < mssql_num_rows($query); ++$i) {
        echo mssql_result($query, $i, 'username'), PHP_EOL;
    }
}

// Libération du résultat
mssql_free_result($query);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Kalle
Felipe
Emil
Ross

Exemple #2 Autre approche, plus rapide

<?php
// Envoie une requête SELECT à MSSQL
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');

// Vérifie s'il y a des résultats
if (!mssql_num_rows($query)) {
    echo 'Pas de lignes trouvées';
} else {
    while ($row = mssql_fetch_array($query)) {
        echo $row['username'], PHP_EOL;
    }
}

// Libération du résultat
mssql_free_result($query);
?>

Notes

Note: Lorsque vous travaillez sur des résultats de grande taille, il vaut mieux utiliser les fonctions qui récupèrent toute une ligne (voir ci-après). Comme ces fonctions lisent toutes les valeurs en une passe, elles sont extrêmement plus rapide que mssql_result().

Voir aussi

Alternatives recommandées :

  • mssql_fetch_row() - Lit une ligne de résultat MS SQL dans un tableau numérique
  • mssql_fetch_array() - Lit une ligne de résultat MS SQL dans un tableau
  • mssql_fetch_assoc() - Retourne un tableau associatif pour la ligne courant de résultat MS SQL Server
  • mssql_fetch_object() - Retourne une ligne de résultat MS SQL Server sous la forme d'un objet

mssql_query
mssql_rows_affected
Fonctions Mssql


Retourne le nombre de lignes affectées par une requête MS SQL Server

mssql_result
mssql_select_db
Fonctions Mssql
PHP Manual

mssql_rows_affected

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1)

mssql_rows_affected — Retourne le nombre de lignes affectées par une requête MS SQL Server

Description

int mssql_rows_affected ( resource $link_identifier )

Retourne le nombre de lignes affectées par la dernière requête en écriture.

Liste de paramètres

link_identifier

Un identifiant de lien MS SQL, retourné par la fonction mssql_connect() ou mssql_pconnect().

Valeurs de retour

Retourne le nombre de lignes affectées par la dernière requête en écriture.

Exemples

Exemple #1 Exemle avec mssql_rows_affected()

<?php
// Efface toutes les lignes de la table
mssql_query('TRUNCATE TABLE [php].[dbo].[persons]');

echo 'Effacement de ' . mssql_rows_affected($link) . ' row(s)';
?>

mssql_result
mssql_select_db
Fonctions Mssql


Sélectionne la base de données MS SQL

mssql_rows_affected
MySQL
Fonctions Mssql
PHP Manual

mssql_select_db

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_select_db — Sélectionne la base de données MS SQL

Description

bool mssql_select_db ( string $database_name [, resource $link_identifier ] )

mssql_select_db() sélectionne la base de données active.

Tous les appels à mssql_query() seront faits dans cette base.

Liste de paramètres

database_name

Le nom de la base de données.

Pour protéger le nom de la base de données qui contient des espaces, des tirets ("-") ou tous autres caractères spéciaux, le nom de la base de données doit être entouré de crochets ([]), comme montré dans l'exemple ci-dessous. Cette technique peut également être appliquée lors de la sélection d'un nom de base de données qui est aussi un mot réservé (comme primary).

link_identifier

Un identifiant de lien MS SQL, retourné par la fonction mssql_connect() ou mssql_pconnect().

Si aucun identifiant de lien n'est spécifié, le dernier lien ouvert sera utilisé. Si aucun lien n'est ouvert, la fonction tentera d'établir un lien en utilisant la fonction mssql_connect() et l'utilisera.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_select_db()

<?php
// Crée une connexion à MSSQL
$link = mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');

// Selectionne la base 'php'
mssql_select_db('php', $link)
?>

Voir aussi

  • mssql_connect() - Ouvre une connexion à un serveur MS SQL server
  • mssql_pconnect() - Ouvre une connexion persistante à un serveur MS SQL
  • mssql_query() - Envoie une requête SQL au serveur MS SQL

mssql_rows_affected
MySQL
Fonctions Mssql


MySQL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple de présentation de l'extension MySQL
  • Fonctions MySQL
    • mysql_affected_rows — Retourne le nombre de lignes affectées lors de la dernière opération MySQL
    • mysql_client_encoding — Retourne le nom du jeu de caractères utilisé par le client MySQL
    • mysql_close — Ferme la connexion MySQL
    • mysql_connect — Ouvre une connexion à un serveur MySQL
    • mysql_create_db — Crée une base de données MySQL
    • mysql_data_seek — Déplace le pointeur interne de résultat MySQL
    • mysql_db_name — Lit les noms des bases de données
    • mysql_db_query — Envoie une requête MySQL à un serveur MySQL
    • mysql_drop_db — Efface une base de données MySQL
    • mysql_errno — Retourne le numéro d'erreur de la dernière commande MySQL
    • mysql_error — Retourne le texte associé avec l'erreur générée lors de la dernière requête
    • mysql_escape_string — Protège les caractères spéciaux SQL
    • mysql_fetch_array — Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    • mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif
    • mysql_fetch_field — Retourne les données enregistrées dans une colonne MySQL sous forme d'objet
    • mysql_fetch_lengths — Retourne la taille de chaque colonne d'une ligne de résultat MySQL
    • mysql_fetch_object — Retourne une ligne de résultat MySQL sous la forme d'un objet
    • mysql_fetch_row — Retourne une ligne de résultat MySQL sous la forme d'un tableau
    • mysql_field_flags — Retourne des détails sur une colonne MySQL
    • mysql_field_len — Retourne la taille d'un champ de résultat MySQL
    • mysql_field_name — Retourne le nom d'une colonne dans un résultat MySQL
    • mysql_field_seek — Déplace le pointeur de résultat vers une position donnée
    • mysql_field_table — Retourne le nom de la table MySQL où se trouve une colonne
    • mysql_field_type — Retourne le type d'une colonne MySQL spécifique
    • mysql_free_result — Libère le résultat de la mémoire
    • mysql_get_client_info — Lit les informations sur le client MySQL
    • mysql_get_host_info — Lit les informations sur l'hôte MySQL
    • mysql_get_proto_info — Lit les informations sur le protocole MySQL
    • mysql_get_server_info — Lit les informations sur le serveur MySQL
    • mysql_info — Lit des informations à propos de la dernière requête MySQL
    • mysql_insert_id — Retourne l'identifiant généré par la dernière requête
    • mysql_list_dbs — Liste les bases de données disponibles sur le serveur MySQL
    • mysql_list_fields — Liste les champs d'une table MySQL
    • mysql_list_processes — Liste les processus MySQL
    • mysql_list_tables — Liste les tables d'une base de données MySQL
    • mysql_num_fields — Retourne le nombre de champs d'un résultat MySQL
    • mysql_num_rows — Retourne le nombre de lignes d'un résultat MySQL
    • mysql_pconnect — Ouvre une connexion persistante à un serveur MySQL
    • mysql_ping — Vérifie la connexion au serveur MySQL, et s'y reconnecte au besoin
    • mysql_query — Envoie une requête à un serveur MySQL
    • mysql_real_escape_string — Protège les caractères spéciaux d'une commande SQL
    • mysql_result — Retourne un champ d'un résultat MySQL
    • mysql_select_db — Sélectionne une base de données MySQL
    • mysql_set_charset — Définit le jeu de caractères du client MySQL
    • mysql_stat — Retourne le statut courant du serveur MySQL
    • mysql_tablename — Lit le nom de la table qui contient un champ
    • mysql_thread_id — Retourne l'identifiant du thread MySQL courant
    • mysql_unbuffered_query — Exécute une requête SQL sans mobiliser les résultats MySQL
mssql_select_db
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions vous permettent d'accéder aux bases de données MySQL. Le site officiel de cette base est » http://www.mysql.com/.

La documentation de MySQL est disponible à » http://dev.mysql.com/doc/.

Pour une présentation générale de la base de données MySQL, voyez Introduction.

MySQL
Installation/Configuration
MySQL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
MySQL


Pré-requis

Afin de pouvoir les utiliser, vous devez compiler PHP avec le support MySQL.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour compiler, utilisez tout simplement l'option de configuration --with-mysql[=DIR] où le paramètre optionnel [DIR] pointe vers le dossier d'installation de MySQL.

Bien que cette extension MySQL soit compatible avec MySQL 4.1.0 et supérieur, elle ne supporte pas les fonctionnalités supplémentaires que cette version fournit. Pour cela, utilisez plutôt l'extension MySQLi.

Si vous voulez installer l'extension mysqli en même temps que l'extension mysql, vous devez utiliser la même bibliothèque client afin d'éviter les conflits.

Installation sur les systèmes Linux

PHP 4

L'option --with-mysql est activée par défaut. Ce comportement par défaut peut être désactivé avec l'option de configuration --without-mysql. Si MySQL est activé sans spécifier le chemin vers le dossier d'installation de MySQL, PHP utilisera la bibliothèque cliente MySQL fournie dans la distribution PHP.

Les utilisateurs qui se servent d'autres applications qui utilisent MySQL (par exemple, auth-mysql) ne doivent pas utiliser la bibliothèque intégrée, mais plutôt spécifier --with-mysql=/path/to/mysql. Cela va forcer PHP à utiliser les bibliothèques clientes installées par MySQL, et évitera les conflits.

PHP 5+

MySQL n'est plus activé par défaut, et la bibliothèque MySQL n'est plus fournie avec PHP. Lisez la FAQ pour savoir pourquoi. Utilisez l'option de configuration --with-mysql[=DIR] pour inclure le support MySQL. Vous pouvez télécharger les en-têtes et les bibliothèques depuis le site officiel de » MySQL.

Installation sur les systèmes Windows

PHP 4

L'extension MySQL est directement fournie dans la distribution PHP.

PHP 5+

MySQL n'est plus activé par défaut, ainsi, la bibliothèque php_mysql.dll doit être activée dans le php.ini. De plus, PHP doit avoir accès à la bibliothèque cliente MySQL. Un fichier nommé libmysql.dll est inclus dans la distribution de PHP pour Windows et pour que PHP puisse discuter avec MySQL, ce fichier doit être disponible dans le PATH du système Windows. Lisez la FAQ intitulée "Où dois-je ajouter mon répertoire PHP à la variable PATH sous Windows ?" pour plus d'informations sur la réalisation de cela. Néanmoins, le fait de copier le fichier libmysql.dll dans le répertoire système de Windows fonctionne (car le dossier système est par défaut dans le PATH système), mais cela n'est pas du tout recommandé.

Pour activer n'importe quelle extension PHP (comme php_mysql.dll), la directive PHP extension_dir doit être définie et doit pointer vers le dossier où sont stockées les extensions PHP. Lisez également le manuel d'installation sous Windows. Par exemple, voici une valeur possible pour la directive extension_dir en PHP 5 : c:\php\ext

Note: Si lorsque vous démarrez le serveur web une erreur similaire à ceci apparaît : "Unable to load dynamic library './php_mysql.dll'", c'est parce que php_mysql.dll et/ou libmysql.dll n'ont pû être trouvés par le système.

Notes sur l'installation de MySQL

Avertissement

Des crashes et des problèmes de démarrage de PHP peuvent être rencontrés lorsque vous chargez cette fonction en même temps que l'extension recode. Voyez l'extension recode pour plus de détails.

Note: Si vous avez besoin d'autres jeux de caractères que celui par défaut (latin), vous devez installer la bibliothèque externe libmysql (non fournie), compilée avec ce jeu de caractères.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration MySQL
Nom | Défaut | Modifiable | Historique
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "Off" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.1.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible depuis PHP 4.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mysql.allow_persistent bool

Active ou désactive les connexions persistantes à la base de données MySQL.

mysql.max_persistent entier

Le nombre maximum de connexions persistantes aux bases de données MySQL, par processus.

mysql.max_links entier

Le nombre maximum de connexions aux bases de données MySQL, y compris les connexions persistantes, par processus.

mysql.trace_mode boolean

Mode trace. Lorsque mysql.trace_mode est activée, des alertes pour scans de table ou d'index, pour oubli de libération des ressources ou erreurs SQL seront affichées. Cette option a été introduite en PHP 4.3.0)

mysql.default_port string

Le numéro de port TCP par défaut, utilisé pour se connecter à la base de données, lorsque aucun port n'est spécifié. Si aucun port par défaut n'est spécifié, le port sera alors obtenu en lisant la variable d'environnement MYSQL_TCP_PORT, l'entrée mysql-tcp dans le fichier /etc/services ou encore la constante de compilation MYSQL_PORT, dans cet ordre. Windows n'utilisera aussi que la constante MYSQL_PORT.

mysql.default_socket string

Le nom par défaut de la socket lorsque l'on se connecte au serveur local, si aucune autre socket n'est spécifiée.

mysql.default_host string

Adresse par défaut du serveur, à utiliser lors de la connexion à un serveur MySQL, si aucun hôte n'est spécifié. Ne s'applique pas lorsque le safe mode SQL est activé.

mysql.default_user string

Utilisateur par défaut, à utiliser lors de la connexion à un serveur MySQL, si aucun utilisateur n'est spécifié. Ne s'applique pas lorsque le safe mode SQL est activé.

mysql.default_password string

Mot de passe par défaut, à utiliser lors de la connexion à un serveur MySQL, si aucun mot de passe n'est spécifié. Ne s'applique pas lorsque le safe mode SQL est activé.

mysql.connect_timeout entier

Durée maximale d'attente de la réponse d'un serveur, en secondes. Sous Linux, cette durée sert aussi lors de l'échange du premier avec le serveur.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il y a deux types de ressources utilisées par le module MySQL. Le premier est un identifiant de connexion au serveur, appelé mysql link, et le second est un identifiant de résultat de requête, appelé mysql result.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Depuis PHP 4.3.0, il est possible de spécifier des options de client supplémentaires pour les fonctions mysql_connect() et mysql_pconnect(). Ces constantes sont les suivantes :

Constantes client MySQL
Constante | Description
MYSQL_CLIENT_COMPRESS | Utilise le protocole avec compression
MYSQL_CLIENT_IGNORE_SPACE | Autorise les espaces après les noms de fonction
MYSQL_CLIENT_INTERACTIVE | Autorise interactive_timeout secondes d'inactivité sur la connexion (au lieu de wait_timeout).
MYSQL_CLIENT_SSL | Utilisation du chiffrement SSL. Cette constante n'est disponible qu'à partir de la version 4.x et plus récente de la bibliothèque cliente MySQL. La version 3.23.x est fournis avec PHP 4 ainsi qu'avec les binaires pour windows de PHP 5.

La fonction mysql_fetch_array() utilise une constante pour spécifier les différents types de formats de réponse. Les constantes suivantes sont utilisées :

Constantes de mysql_fetch_array()
Constante | Description
MYSQL_ASSOC | Les colonnes sont retournées dans un tableau, dont les index sont les noms de colonnes.
MYSQL_BOTH | Les colonnes sont retournées dans un tableau ayant une indexation numérique et un système d'index correspondant au nom des colonnes.
MYSQL_NUM | Les colonnes sont retournées dans un tableau avec un index numérique. Les colonnes sont numérotées dans leur ordre d'apparition. L'index commence à zéro.

Types de ressources
Exemples
MySQL


Exemples

Sommaire

  • Exemple de présentation de l'extension MySQL
Constantes pré-définies
Exemple de présentation de l'extension MySQL
MySQL


Exemple de présentation de l'extension MySQL

Exemples
Fonctions MySQL
Exemples
PHP Manual

Cet exemple simple montre comment se connecter, exécuter une requête, lire les informations obtenues et se déconnecter d'une base de données MySQL.

Exemple #1 Exemple de présentation de l'extension MySQL

<?php
// Connexion et sélection de la base
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    or die('Impossible de se connecter : ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('Impossible de sélectionner la base de données');

// Exécution des requêtes SQL
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Échec de la requête : ' . mysql_error());

// Affichage des résultats en HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Libération des résultats
mysql_free_result($result);

// Fermeture de la connexion
mysql_close($link);
?>

Exemples
Fonctions MySQL
Exemples


Fonctions MySQL

Notes

Note: La plupart des fonctions MySQL acceptent link_identifier comme le dernier paramètre optionnel. S'il n'est pas fourni, la dernière connexion ouverte est utilisée. Si elle n'existe pas, une connexion est essayée d'être établie avec les paramètres par défaut définis dans php.ini. Si les fonctions ne réussissent pas, elles retournent FALSE.

Sommaire

  • mysql_affected_rows — Retourne le nombre de lignes affectées lors de la dernière opération MySQL
  • mysql_client_encoding — Retourne le nom du jeu de caractères utilisé par le client MySQL
  • mysql_close — Ferme la connexion MySQL
  • mysql_connect — Ouvre une connexion à un serveur MySQL
  • mysql_create_db — Crée une base de données MySQL
  • mysql_data_seek — Déplace le pointeur interne de résultat MySQL
  • mysql_db_name — Lit les noms des bases de données
  • mysql_db_query — Envoie une requête MySQL à un serveur MySQL
  • mysql_drop_db — Efface une base de données MySQL
  • mysql_errno — Retourne le numéro d'erreur de la dernière commande MySQL
  • mysql_error — Retourne le texte associé avec l'erreur générée lors de la dernière requête
  • mysql_escape_string — Protège les caractères spéciaux SQL
  • mysql_fetch_array — Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_fetch_field — Retourne les données enregistrées dans une colonne MySQL sous forme d'objet
  • mysql_fetch_lengths — Retourne la taille de chaque colonne d'une ligne de résultat MySQL
  • mysql_fetch_object — Retourne une ligne de résultat MySQL sous la forme d'un objet
  • mysql_fetch_row — Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • mysql_field_flags — Retourne des détails sur une colonne MySQL
  • mysql_field_len — Retourne la taille d'un champ de résultat MySQL
  • mysql_field_name — Retourne le nom d'une colonne dans un résultat MySQL
  • mysql_field_seek — Déplace le pointeur de résultat vers une position donnée
  • mysql_field_table — Retourne le nom de la table MySQL où se trouve une colonne
  • mysql_field_type — Retourne le type d'une colonne MySQL spécifique
  • mysql_free_result — Libère le résultat de la mémoire
  • mysql_get_client_info — Lit les informations sur le client MySQL
  • mysql_get_host_info — Lit les informations sur l'hôte MySQL
  • mysql_get_proto_info — Lit les informations sur le protocole MySQL
  • mysql_get_server_info — Lit les informations sur le serveur MySQL
  • mysql_info — Lit des informations à propos de la dernière requête MySQL
  • mysql_insert_id — Retourne l'identifiant généré par la dernière requête
  • mysql_list_dbs — Liste les bases de données disponibles sur le serveur MySQL
  • mysql_list_fields — Liste les champs d'une table MySQL
  • mysql_list_processes — Liste les processus MySQL
  • mysql_list_tables — Liste les tables d'une base de données MySQL
  • mysql_num_fields — Retourne le nombre de champs d'un résultat MySQL
  • mysql_num_rows — Retourne le nombre de lignes d'un résultat MySQL
  • mysql_pconnect — Ouvre une connexion persistante à un serveur MySQL
  • mysql_ping — Vérifie la connexion au serveur MySQL, et s'y reconnecte au besoin
  • mysql_query — Envoie une requête à un serveur MySQL
  • mysql_real_escape_string — Protège les caractères spéciaux d'une commande SQL
  • mysql_result — Retourne un champ d'un résultat MySQL
  • mysql_select_db — Sélectionne une base de données MySQL
  • mysql_set_charset — Définit le jeu de caractères du client MySQL
  • mysql_stat — Retourne le statut courant du serveur MySQL
  • mysql_tablename — Lit le nom de la table qui contient un champ
  • mysql_thread_id — Retourne l'identifiant du thread MySQL courant
  • mysql_unbuffered_query — Exécute une requête SQL sans mobiliser les résultats MySQL
Exemple de présentation de l'extension MySQL
mysql_affected_rows
MySQL


Retourne le nombre de lignes affectées lors de la dernière opération MySQL

Fonctions MySQL
mysql_client_encoding
Fonctions MySQL
PHP Manual

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Retourne le nombre de lignes affectées lors de la dernière opération MySQL

Description

int mysql_affected_rows ([ resource $link_identifier ] )

Retourne le nombre de lignes affectées lors de la dernière requête INSERT, UPDATE, REPLACE ou DELETE avec link_identifier.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne le nombre de lignes affectées en cas de succès et -1 si la dernière requête a échoué.

Si la dernière requête était un DELETE sans clause WHERE, tous les enregistrements ont été effacés, mais cette fonction va retourner 0 avec les versions de MySQL antérieures à 4.1.2.

Lorsque vous utilisez UPDATE, MySQL ne mettra pas à jour les colonnes si la nouvelle valeur est identique à l'ancienne. Il est donc possible que mysql_affected_rows() ne représente pas forcément le nombre de lignes correspondantes mais plutôt le nombre de lignes qui ont été réellement affectées par la requête.

La requête REPLACE commence par effacer les enregistrements possédant la même clé primaire et ensuite, insert les nouveaux enregistrements. Cette fonction retourne le nombre d'enregistrements effacés ainsi que le nombre d'enregistrements insérés.

Exemples

Exemple #1 Exemple avec mysql_affected_rows()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
     die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('mydb');

/* Ceci devrait retourner le nombre correct de lignes effacées */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Lignes effacées : %d\n", mysql_affected_rows());

/* avec la clause where qui n'est jamais vraie, on devrait obtenir 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Lignes effacées : %d\n", mysql_affected_rows());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Lignes effacées : 10
Lignes effacées : 0

Exemple #2 Exemple avec mysql_affected_rows() en utilisant les transactions

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
     die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('mydb');

/* Mise à jour des lignes */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Lignes modifiées : %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Lignes modifiées : 10

Notes

Note: Transactions
Si vous utilisez des transactions, vous devez appeler mysql_affected_rows() après votre requête INSERT, UPDATE ou DELETE et non après le COMMIT.

Note: Requêtes SELECT
Pour obtenir le nombre de lignes retournées par un SELECT, il est possible d'utiliser mysql_num_rows().

Note: Clés étrangères en cascade
mysql_affected_rows() ne compte pas les enregistrement affectés implicitement par un ON DELETE CASCADE et/ou un ON UPDATE CASCADE, concernant les clés étrangères.

Voir aussi

  • mysql_num_rows() - Retourne le nombre de lignes d'un résultat MySQL
  • mysql_info() - Lit des informations à propos de la dernière requête MySQL

Fonctions MySQL
mysql_client_encoding
Fonctions MySQL


Retourne le nom du jeu de caractères utilisé par le client MySQL

mysql_affected_rows
mysql_close
Fonctions MySQL
PHP Manual

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding — Retourne le nom du jeu de caractères utilisé par le client MySQL

Description

string mysql_client_encoding ([ resource $link_identifier ] )

Retourne la variable character_set de MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne le nom du jeu de caractères par défaut pour la connexion courante.

Exemples

Exemple #1 Exemple avec mysql_client_encoding()

<?php
$link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "Le jeu de caractères actuel est : $charset\n";
?>

L'exemple ci-dessus va afficher :

Le jeu de caractères actuel est : latin1.

Voir aussi

  • mysql_set_charset() - Définit le jeu de caractères du client MySQL
  • mysql_real_escape_string() - Protège les caractères spéciaux d'une commande SQL

mysql_affected_rows
mysql_close
Fonctions MySQL


Ferme la connexion MySQL

mysql_client_encoding
mysql_connect
Fonctions MySQL
PHP Manual

mysql_close

(PHP 4, PHP 5)

mysql_close — Ferme la connexion MySQL

Description

bool mysql_close ([ resource $link_identifier ] )

mysql_close() ferme la connexion non persistante au serveur MySQL associée à l'identifiant spécifié. Si link_identifier n'est pas spécifié, cette commande s'applique à la dernière connexion ouverte.

L'utilisation de mysql_close() n'est pas habituellement nécessaire, puisque les connexions non persistantes ouverts sont automatiquement fermées à la fin l'exécution du script. Voyez aussi libérer des ressources.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_close()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connexion réussie';
mysql_close($link);
?>

L'exemple ci-dessus va afficher :

Connexion réussie

Notes

Note: mysql_close() ne fermera pas les connexions persistantes créées par mysql_pconnect().

Voir aussi

  • mysql_connect() - Ouvre une connexion à un serveur MySQL
  • mysql_free_result() - Libère le résultat de la mémoire

mysql_client_encoding
mysql_connect
Fonctions MySQL


Ouvre une connexion à un serveur MySQL

mysql_close
mysql_create_db
Fonctions MySQL
PHP Manual

mysql_connect

(PHP 4, PHP 5)

mysql_connect — Ouvre une connexion à un serveur MySQL

Description

resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = 0 ]]]]] )

Ouvre ou réutilise une connexion à un serveur MySQL.

Liste de paramètres

server

Le serveur MySQL. Il peut aussi inclure le numéro de port. C'est-à-dire "hostname:port" ou le chemin vers le socket local, c'est-à-dire ":/path/to/socket" pour localhost.

Si la directive PHP mysql.default_host n'est pas définie (défaut), alors la valeur par défaut est "localhost:3306". En safe mode SQL, ce paramètre est ignoré et la valeur "localhost:3306" est toujours utilisée.

username

Le nom d'utilisateur. La valeur par défaut est définie par l'option mysql.default_user. En safe mode SQL, ce paramètre est ignoré et le nom de l'utilisateur propriétaire du processus serveur est utilisé.

password

Le mot de passe. La valeur par défaut est définie par l'option mysql.default_password. En safe mode SQL, ce paramètre est ignoré et un mot de passe vide est utilisé.

new_link

Si un deuxième appel est fait à mysql_connect() avec les mêmes arguments, aucune nouvelle connexion ne sera établie, mais plutôt, l'identifiant de la connexion de la connexion déjà ouverte sera retourné. Le paramètre new_link modifie ce comportement et permet à mysql_connect() de toujours ouvrir une nouvelle connexion, même si mysql_connect() a été appelée avant avec les mêmes paramètres. En safe mode SQL, ce paramètre est ignoré.

client_flags

Le paramètre client_flags peut être une combinaison des constantes suivantes : 128 (active le gestionnaire LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE. Lisez la section à propos de Constantes client MySQL pour plus d'informations. En safe mode SQL, ce paramètre est ignoré.

Valeurs de retour

Retourne l'identifiant de connexion MySQL en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Ajout du paramètre client_flags.
4.2.0 | Ajout du paramètre new_link.

Exemples

Exemple #1 Exemple avec mysql_connect()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password")
    or die("Impossible de se connecter : " . mysql_error());
echo 'Connexion réussie';
mysql_close($link);
?>

Exemple #2 Exemple avec mysql_connect() en utilisant la syntaxe hostname:port

<?php
// on se connecte à example.com et au port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);

// on se connect à localhost au port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
?>

Exemple #3 Exemple avec mysql_connect() en utilisant la syntaxe ":/path/to/socket"

<?php
// on se connect à localhost et à l'interface de connexion, par exemple /tmp/mysql.sock

//variante 1 : oublie de localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);

// variante 2 : avec localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
?>

Notes

Note: Toutes les fois que vous spécifiez "localhost" ou "localhost:port" en tant que serveur, le bibliothèque client MySQL surchargera cela et essaiera de se connecter à un socket local (nommé pipe sous Windows). Si vous souhaitez utiliser TCP/IP, utilisez "127.0.0.1" au lieu de "localhost". Si la bibliothèque client MySQL essaie de se connecter au mauvais socket local, vous devriez spécifier le chemin d'accès correct à dans votre configurations PHP et laisser le champ du serveur vide.

Note: La connexion au serveur sera fermée aussitôt que l'exécution du script se termine, à moins qu'elle soit fermée avant en appelant explicitement mysql_close().

Note: Vous pouvez supprimer les messages d'erreur en cas d'échec en faisant précéder le nom de la fonction par @.

Note: L'erreur "Can't create TCP/IP socket (10106)" signifie habituellement que la directive de configuration variables_order ne contient pas le caractère E. Sous Windows, si la variable d'environnement n'est pas copiée, la variable d'environnement SYSTEMROOT ne sera pas disponible et PHP aura des problèmes pour charger Winsock.

Voir aussi

  • mysql_pconnect() - Ouvre une connexion persistante à un serveur MySQL
  • mysql_close() - Ferme la connexion MySQL

mysql_close
mysql_create_db
Fonctions MySQL


Crée une base de données MySQL

mysql_connect
mysql_data_seek
Fonctions MySQL
PHP Manual

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db — Crée une base de données MySQL

Description

bool mysql_create_db ( string $database_name [, resource $link_identifier ] )

mysql_create_db() tente de créer une nouvelle base de données sur le serveur associé avec l'identifiant de connexion spécifié.

Liste de paramètres

database_name

Le nom de la base de données à être créée.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple alternative avec mysql_create_db()

La fonction mysql_create_db() est obsolète. Il est préférable d'utiliser la fonction mysql_query(), avec une commande SQL "CREATE DATABASE".

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}

$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Base de données créée correctement\n";
} else {
    echo 'Erreur lors de la création de la base de données : ' . mysql_error() . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Base de données créée correctement

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_createdb()

Note: Cette fonction n'est pas disponible si l'extension MySQL a été compilée avec une bibliothèque client MySQL 4.x.

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL
  • mysql_select_db() - Sélectionne une base de données MySQL

mysql_connect
mysql_data_seek
Fonctions MySQL


Déplace le pointeur interne de résultat MySQL

mysql_create_db
mysql_db_name
Fonctions MySQL
PHP Manual

mysql_data_seek

(PHP 4, PHP 5)

mysql_data_seek — Déplace le pointeur interne de résultat MySQL

Description

bool mysql_data_seek ( resource $result , int $row_number )

mysql_data_seek() déplace le pointeur interne de résultat, dans le résultat associé à l'identifiant de résultat result_identifier. Il le fait pointer à la ligne row_number. Le prochain appel à une fonction MySQL de récupération de données, comme la fonction mysql_fetch_assoc() retournera cette ligne.

row_number commence à 0. row_number doit être une valeur qui va de 0 à mysql_num_rows() - 1. Cependant, si le résultat est vide, un row_number de 0 échouera avec une erreur E_WARNING et mysql_data_seek() retournera FALSE.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

row_number

La position de la ligne désirée pour le nouveau pointeur de résultats.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_data_seek()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
    die('Sélection de base de données impossible : ' . mysql_error());
}
$query = 'SELECT nom_famille, prenom FROM amis';
$result = mysql_query($query);
if (!$result) {
    die('Requête échec : ' . mysql_error());
}
/* Récupération des lignes en ordre inverse */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n";
        continue;
    }

    if (!($row = mysql_fetch_assoc($result))) {
        continue;
    }

    echo $row['nom_famille'] . ' ' . $row['prenom'] . "<br />\n";
}

mysql_free_result($result);
?>

Notes

Note:

    La fonction mysql_data_seek() peut être utilisée
    en conjonction avec mysql_query(), mais pas
    avec la fonction mysql_unbuffered_query().

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL
  • mysql_num_rows() - Retourne le nombre de lignes d'un résultat MySQL
  • mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_fetch_object() - Retourne une ligne de résultat MySQL sous la forme d'un objet

mysql_create_db
mysql_db_name
Fonctions MySQL


Lit les noms des bases de données

mysql_data_seek
mysql_db_query
Fonctions MySQL
PHP Manual

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — Lit les noms des bases de données

Description

string mysql_db_name ( resource $result , int $row [, mixed $field ] )

Récupère le nom de base de données à l'appel de mysql_list_dbs().

Liste de paramètres

result

Le pointeur de résultat d'un appel de mysql_list_dbs().

row

L'index à l'intérieur du jeu de résultats.

field

Le nom du champ.

Valeurs de retour

Retourne le nom de base de données en cas de succès et FALSE en cas d'échec. Si FALSE est retourné, utilisez mysql_error() pour déterminer la nature de l'erreur.

Exemples

Exemple #1 Exemple mysql_db_name()

<?php
error_reporting(E_ALL);

$link = mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs($link);

$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
    echo mysql_db_name($db_list, $i) . "\n";
    $i++;
}
?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_dbname()

Voir aussi

  • mysql_list_dbs() - Liste les bases de données disponibles sur le serveur MySQL
  • mysql_tablename() - Lit le nom de la table qui contient un champ

mysql_data_seek
mysql_db_query
Fonctions MySQL


Envoie une requête MySQL à un serveur MySQL

mysql_db_name
mysql_drop_db
Fonctions MySQL
PHP Manual

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — Envoie une requête MySQL à un serveur MySQL

Description

resource mysql_db_query ( string $database , string $query [, resource $link_identifier ] )

mysql_db_query() sélectionne une base de données et exécute une requête sur celle-ci.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

database

Le nom de la base de données qui sera sélectionnée.

query

La requête MySQL.

Les données contenues dans la requête doivent être proprement échappées.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne une ressource de résultat positive MySQL à partir de la requête ou FALSE en cas d'erreur. Cette fonction retourne aussi TRUE/FALSE pour les requêtes INSERT/UPDATE/DELETE pour indiquer une réussite ou un échec.

Historique

Version | Description
5.3.0 | Cette fonction lance maintenant une alerte de type E_DEPRECATED.
4.0.6 | Cette fonction est obsolète depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place.

Exemples

Exemple #1 Exemple alternatif avec mysql_db_query()

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Connexion impossible à mysql';
    exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Sélection de base de données impossible';
    exit;
}

$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "Erreur DB, impossible d'effectuer une requête\n";
    echo 'Erreur MySQL : ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

Notes

Note: Soyez avertis que cette fonction ne restaure pas la base de données qui était utilisée initialement. En d'autres termes, vous ne pouvez utiliser cette fonction pour exécuter temporairement une requête SQL dans une autre base de données, il vous faudra sélectionner manuellement la bonne base à nouveau. Il est fortement recommandé d'utiliser la syntaxe SQL database.table ou mysql_select_db() au lieu de cette fonction.

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL
  • mysql_select_db() - Sélectionne une base de données MySQL

mysql_db_name
mysql_drop_db
Fonctions MySQL


Efface une base de données MySQL

mysql_db_query
mysql_errno
Fonctions MySQL
PHP Manual

mysql_drop_db

(PHP 4, PHP 5)

mysql_drop_db — Efface une base de données MySQL

Description

bool mysql_drop_db ( string $database_name [, resource $link_identifier ] )

mysql_drop_db() essaie d'effacer la base de données database_name complète sur le serveur associé à la ressource de connexion link_identifier. La fonction mysql_drop_db() est obsolète. Il est préférable d'utiliser mysql_query() avec la requête DROP DATABASE à la place.

Liste de paramètres

database_name

Le nom de la base de données à effacer.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_drop_db()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}

$sql = 'DROP DATABASE my_db';
if (mysql_query($sql, $link)) {
echo "La base de données my_db a été effacée avec succès.\n";
} else {
echo 'Erreur lors de l\'effacement de la base : ' . mysql_error() . "\n";
}
?>

Notes

Avertissement

Cette fonction ne sera pas disponible si vous avez compilé MySQL avec la bibliothèque cliente MySQL 4.x.

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_dropdb()

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL

mysql_db_query
mysql_errno
Fonctions MySQL


Retourne le numéro d'erreur de la dernière commande MySQL

mysql_drop_db
mysql_error
Fonctions MySQL
PHP Manual

mysql_errno

(PHP 4, PHP 5)

mysql_errno — Retourne le numéro d'erreur de la dernière commande MySQL

Description

int mysql_errno ([ resource $link_identifier ] )

Retourne le numéro d'erreur de la dernière commande MySQL.

Les erreurs qui sont remontées depuis le serveur MySQL ne sont plus des alertes. À la place, il faut utiliser mysql_errno() pour obtenir le numéro d'erreur. Notez que cette fonction retourne uniquement le code erreur depuis la dernière fonction MySQL exécutée (n'incluant pas les fonctions mysql_error() et mysql_errno()), donc, si vous voulez l'utiliser, assurez-vous de récupérer la valeur avant d'appeler une autre fonction MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne le numéro de l'erreur depuis la dernière fonction MySQL, ou 0 (zéro) si aucune erreur ne survient.

Exemples

Exemple #1 Exemple avec mysql_errno()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) {
   echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
   echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Voir aussi

  • mysql_error() - Retourne le texte associé avec l'erreur générée lors de la dernière requête
  • » les codes erreurs MySQL

mysql_drop_db
mysql_error
Fonctions MySQL


Retourne le texte associé avec l'erreur générée lors de la dernière requête

mysql_errno
mysql_escape_string
Fonctions MySQL
PHP Manual

mysql_error

(PHP 4, PHP 5)

mysql_error — Retourne le texte associé avec l'erreur générée lors de la dernière requête

Description

string mysql_error ([ resource $link_identifier ] )

mysql_error() retourne le message d'erreur généré par la dernière commande MySQL. Les erreurs retournées par le serveur MySQL ne génèrent plus de message d'alerte. À la place, vous devez utiliser la fonction mysql_error() pour lire le contenu du message. Notez que cette fonction ne retourne que le texte de l'erreur la plus récente(n'incluant pas mysql_error() et mysql_errno()), ce qui fait que si vous souhaitez l'utiliser, vous devez vous assurer de sa valeur avant de lancer une autre requête.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne le texte de l'erreur de la dernière fonction MySQL, ou '' (chaîne vide) si aucune erreur survient.

Exemples

Exemple #1 Exemple avec mysql_error()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Voir aussi

  • mysql_errno() - Retourne le numéro d'erreur de la dernière commande MySQL
  • » les codes erreurs MySQL

mysql_errno
mysql_escape_string
Fonctions MySQL


Protège les caractères spéciaux SQL

mysql_error
mysql_fetch_array
Fonctions MySQL
PHP Manual

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Protège les caractères spéciaux SQL

Description

string mysql_escape_string ( string $unescaped_string )

mysql_escape_string() va protéger tous les caractères de la chaîne unescaped_string, pour pouvoir l'utiliser directement dans une requête mysql_query(). Cette fonction est obsolète.

mysql_escape_string() est identique à la fonction mysql_real_escape_string() hormis le fait que mysql_real_escape_string() requiert une ressource de connexion et protège la chaîne en fonction du jeu de caractères courant. mysql_escape_string() ne demande pas de connexion comme argument, et ne respecte pas le jeu de caractères courant.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

unescaped_string

La chaîne qui doit être protégée.

Valeurs de retour

Retourne la chaîne protégée.

Historique

Version | Description
5.3.0 | Cette fonction lance maintenant une alerte de type E_DEPRECATED.
4.3.0 | Cette fonction devient dépréciée, ne l'utilisez pas. À la place, utilisez la fonction mysql_real_escape_string().

Exemples

Exemple #1 Exemple avec mysql_escape_string()

<?php
$item = "C'est un exemple de Zak";
$escaped_item = mysql_escape_string($item);
printf("Chaîne protégée : %s\n", $escaped_item);
?>

L'exemple ci-dessus va afficher :

Chaîne protégée : C\'est un exemple de Zak

Notes

Note: mysql_escape_string() ne protège pas les caractères % et _.

Voir aussi

  • mysql_real_escape_string() - Protège les caractères spéciaux d'une commande SQL
  • addslashes() - Ajoute des antislashs dans une chaîne
  • La directive magic_quotes_gpc.

mysql_error
mysql_fetch_array
Fonctions MySQL


Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux

mysql_escape_string
mysql_fetch_assoc
Fonctions MySQL
PHP Manual

mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array — Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux

Description

array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

mysql_fetch_array() retourne un tableau qui contient la ligne demandée dans le résultat result et déplace le pointeur de données interne d'un cran.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

result_type

Le type de tableau à récupérer. C'est une constante qui peut prendre les valeurs suivantes : MYSQL_ASSOC, MYSQL_NUM, et MYSQL_BOTH.

Valeurs de retour

Retourne un tableau de chaînes qui correspond à la ligne récupérée ou FALSE s'il n'y a plus de lignes. Le type de tableau retourné dépend de la définition du paramètre result_type. En utilisant MYSQL_BOTH (défaut), vous récupérerez un tableau contenant des indices associatifs et numériques. En utilisant MYSQL_ASSOC, vous ne récupérerez que les indices associatifs (comme le fonctionnement de la fonction mysql_fetch_assoc()), en utilisant MYSQL_NUM, vous ne récupérerez que les indices numériques (comme le fonctionnement de la fonctionmysql_fetch_row()).

Si plusieurs colonnes portent le même nom, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser l'index numérique, ou faire un alias pour chaque colonne. Pour les alias de colonnes, vous ne pourrez pas accéder aux contenus avec les noms originaux des colonnes.

Exemples

Exemple #1 Requête avec duplication de nom de colonnes

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Exemple #2 mysql_fetch_array() avec MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Impossible de se connecter : " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
   printf("ID : %s  Nom : %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Exemple #3 mysql_fetch_array() avec MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Impossible de se connecter : " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
   printf("ID : %s  Nom : %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Exemple #4 mysql_fetch_array() avec MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Impossible de se connecter : " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
   printf ("ID : %s  Nom : %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Notes

Note: Performance
Une chose importante à noter est que l'utilisation de mysql_fetch_array() n'est pas significativement plus lent que l'utilisation de mysql_fetch_row(), alors qu'il fournit des valeurs significatives ajoutées.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_data_seek() - Déplace le pointeur interne de résultat MySQL
  • mysql_query() - Envoie une requête à un serveur MySQL

mysql_escape_string
mysql_fetch_assoc
Fonctions MySQL


Lit une ligne de résultat MySQL dans un tableau associatif

mysql_fetch_array
mysql_fetch_field
Fonctions MySQL
PHP Manual

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif

Description

array mysql_fetch_assoc ( resource $result )

mysql_fetch_assoc() retourne un tableau associatif qui contient la ligne lue dans le résultat result et déplace le pointeur interne de données. mysql_fetch_assoc() revient à appeler la fonction mysql_fetch_array() avec MYSQL_ASSOC en tant que second paramètre. Cette fonction retourne uniquement un tableau associatif.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

Valeurs de retour

Retourne un tableau associatif de chaînes qui contient la ligne lue dans le résultat result, ou bien FALSE s'il ne reste plus de lignes à lire.

Si plusieurs colonnes portent le même nom, la dernière aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser la fonction mysql_fetch_row() avec les indices numériques ou utiliser les alias sur les noms. Regardez la documentation sur la fonction mysql_fetch_array() pour plus d'informations sur les alias.

Exemples

Exemple #1 Exemple avec mysql_fetch_assoc()

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
   exit;
}

if (!mysql_select_db("mydbname")) {
   echo "Impossible de sélectionner la base mydbname : " . mysql_error();
   exit;
}

$sql = "SELECT id as userid, fullname, userstatus
FROM   sometable
WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
   echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
   exit;
}

if (mysql_num_rows($result) == 0) {
   echo "Aucune ligne trouvée, rien à afficher.";
   exit;
}

// Tant qu'une ligne existe, place cette ligne dans la variable $row
// sous la forme d'un tableau associatif.
// Note : Si vous n'attendez qu'une seule ligne, oubliez la boucle
// Note : Si vous utilisez extract($row); dans la boucle suivante
//       vous créerez $userid, $fullname et $userstatus
while ($row = mysql_fetch_assoc($result)) {
   echo $row["userid"];
   echo $row["fullname"];
   echo $row["userstatus"];
}

mysql_free_result($result);

?>

Notes

Note: Performance
Une chose importante à noter est que l'utilisation de mysql_fetch_assoc() n'est pas significativement plus lent que l'utilisation de mysql_fetch_row(), alors qu'il fournit des valeurs significatives ajoutées.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_data_seek() - Déplace le pointeur interne de résultat MySQL
  • mysql_query() - Envoie une requête à un serveur MySQL
  • mysql_error() - Retourne le texte associé avec l'erreur générée lors de la dernière requête

mysql_fetch_array
mysql_fetch_field
Fonctions MySQL


Retourne les données enregistrées dans une colonne MySQL sous forme d'objet

mysql_fetch_assoc
mysql_fetch_lengths
Fonctions MySQL
PHP Manual

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Retourne les données enregistrées dans une colonne MySQL sous forme d'objet

Description

object mysql_fetch_field ( resource $result [, int $field_offset = 0 ] )

Retourne un objet contenant les informations sur les champs. Cette fonction peut être utilisée pour obtenir des informations sur les champs de la requête fournie result.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. Si la position du champ n'est pas spécifiée, le champ suivant qui n'a pas encore été récupéré par cette fonction est alors récupéré. field_offset commence à 0.

Valeurs de retour

Retourne un objet contenant les informations sur les champs. Les propriétés de l'objet sont les suivantes :

  • "name" : nom de la colonne
  • "table" : nom de la table de la colonne
  • "def" : valeur par défaut de la colonne
  • "max_length" : taille maximale de la colonne
  • "not_null" : 1 si la colonne ne peut pas être NULL
  • "primary_key" : 1 si la colonne est une clé primaire
  • "unique_key" : 1 si la colonne est une clé unique
  • "multiple_key" : 1 si la colonne est une clé non unique
  • "numeric" : 1 si la colonne est numérique
  • "blob" : 1 si la colonne est BLOB
  • "type" : le type de la colonne
  • "unsigned" : 1 si la colonne est non signée
  • "zerofill" : 1 si la colonne est complétée par des zéro

Exemples

Exemple #1 Exemple avec mysql_fetch_field()

<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
   die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
   die('Échec de la requête : ' . mysql_error());
}
/* Lecture des méta données de la colonne */
$i = 0;
while ($i < mysql_num_fields($result)) {
   echo "Détails sur la colonne $i:<br />\n";
   $meta = mysql_fetch_field($result, $i);
   if (!$meta) {
      echo "Aucun détail disponible<br />\n";
   }
   echo "<pre>
    blob:         $meta->blob
    max_length:   $meta->max_length
    multiple_key: $meta->multiple_key
    name:         $meta->name
    not_null:     $meta->not_null
    numeric:      $meta->numeric
    primary_key:  $meta->primary_key
    table:        $meta->table
    type:         $meta->type
    default:      $meta->def
    unique_key:   $meta->unique_key
    unsigned:     $meta->unsigned
    zerofill:     $meta->zerofill
   </pre>";
   $i++;
}
mysql_free_result($result);
?>

Notes

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Voir aussi

  • mysql_field_seek() - Déplace le pointeur de résultat vers une position donnée

mysql_fetch_assoc
mysql_fetch_lengths
Fonctions MySQL


Retourne la taille de chaque colonne d'une ligne de résultat MySQL

mysql_fetch_field
mysql_fetch_object
Fonctions MySQL
PHP Manual

mysql_fetch_lengths

(PHP 4, PHP 5)

mysql_fetch_lengths — Retourne la taille de chaque colonne d'une ligne de résultat MySQL

Description

array mysql_fetch_lengths ( resource $result )

mysql_fetch_lengths() retourne un tableau avec la taille de chaque colonne de la dernière ligne retournée par mysql_fetch_row().

mysql_fetch_lengths() stocke les tailles de chaque colonne de la dernière ligne retournée par mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() et mysql_fetch_object() dans un tableau, en commençant à la position 0.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

Valeurs de retour

Un array de taille, en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_fetch_lengths()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
$row     = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
   [id] => 42
   [email] => user@example.com
)
Array
(
   [0] => 2
   [1] => 16
)

Voir aussi

  • mysql_field_len() - Retourne la taille d'un champ de résultat MySQL
  • mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • strlen() - Calcule la taille d'une chaîne

mysql_fetch_field
mysql_fetch_object
Fonctions MySQL


Retourne une ligne de résultat MySQL sous la forme d'un objet

mysql_fetch_lengths
mysql_fetch_row
Fonctions MySQL
PHP Manual

mysql_fetch_object

(PHP 4, PHP 5)

mysql_fetch_object — Retourne une ligne de résultat MySQL sous la forme d'un objet

Description

object mysql_fetch_object ( resource $result [, string $class_name [, array $params ]] )

mysql_fetch_object() retourne un tableau qui contient la ligne demandée dans le résultat result et déplace le pointeur de données interne d'un cran.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

class_name

Le nom de la classe à instancier, définit les propriétés et retourne. SI ce paramètre n'est pas spécifié, un objet stdClass sera retourné.

params

Un tableau de paramètres à passer au constructeur pour les objets class_name.

Valeurs de retour

Retourne un objet avec les propriétés qui correspondent à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

Historique

Version | Description
5.0.0 | Ajout de la possibilité de retourner un objet différent.

Exemples

Exemple #1 Exemple avec mysql_fetch_object()

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
   echo $row->user_id;
   echo $row->fullname;
}
mysql_free_result($result);
?>

Exemple #2 Exemple avec mysql_fetch_object()

<?php
class foo {
    public $name;
}

mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");

$result = mysql_query("select name from mytable limit 1");
$obj = mysql_fetch_object($result, 'foo');
var_dump($obj);
?>

Notes

Note: Performance
Concernant la vitesse, mysql_fetch_object() est aussi rapide que mysql_fetch_array() et presque aussi rapide que mysql_fetch_row() (la différence est insignifiante).

Note: mysql_fetch_object() est identique à mysql_fetch_array(), à la différence qu'elle retourne un objet à la place d'un tableau. Vous pourrez ainsi accéder aux valeurs des champs par leur nom, mais plus par leur offset (les nombres ne sont pas des noms MySQL).

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • mysql_data_seek() - Déplace le pointeur interne de résultat MySQL
  • mysql_query() - Envoie une requête à un serveur MySQL

mysql_fetch_lengths
mysql_fetch_row
Fonctions MySQL


Retourne une ligne de résultat MySQL sous la forme d'un tableau

mysql_fetch_object
mysql_field_flags
Fonctions MySQL
PHP Manual

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row — Retourne une ligne de résultat MySQL sous la forme d'un tableau

Description

array mysql_fetch_row ( resource $result )

mysql_fetch_row() retourne un tableau indexé numériquement, qui correspond à la prochaine ligne du résultat MySQL result et déplace le pointeur interne de données d'un cran.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

Valeurs de retour

Retourne un tableau numérique de chaînes qui correspond à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

mysql_fetch_row() va rechercher une ligne dans le résultat associé à l'identifiant de résultat spécifié. La ligne est retournée sous la forme d'un tableau. Chaque colonne est enregistrée sous la forme d'un tableau commençant à la position 0.

Exemples

Exemple #1 Exemple avec mysql_fetch_row()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // la valeur du champ email
?>

Notes

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Voir aussi

  • mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_fetch_object() - Retourne une ligne de résultat MySQL sous la forme d'un objet
  • mysql_data_seek() - Déplace le pointeur interne de résultat MySQL
  • mysql_fetch_lengths() - Retourne la taille de chaque colonne d'une ligne de résultat MySQL
  • mysql_result() - Retourne un champ d'un résultat MySQL

mysql_fetch_object
mysql_field_flags
Fonctions MySQL


Retourne des détails sur une colonne MySQL

mysql_fetch_row
mysql_field_len
Fonctions MySQL
PHP Manual

mysql_field_flags

(PHP 4, PHP 5)

mysql_field_flags — Retourne des détails sur une colonne MySQL

Description

string mysql_field_flags ( resource $result , int $field_offset )

mysql_field_flags() retourne le sémaphore associé au champ spécifié par field_offset, dans le résultat result. Les sémaphores sont retournés comme des mots, séparés par des espaces, ce qui les rend faciles à séparer, avec la commande explode().

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. field_offset commence à 0. Si field_offset n'existe pas, une alerte E_WARNING sera également générée.

Valeurs de retour

Retourne les sémaphores sous la forme d'une chaîne associés avec le résultat ou FALSE si une erreur survient.

Les valeurs suivantes (pour une version suffisamment récente de MySQL) sont disponibles : "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" et "timestamp".

Exemples

Exemple #1 Exemple avec mysql_field_flags()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

not_null primary_key auto_increment
Array
(
   [0] => not_null
   [1] => primary_key
   [2] => auto_increment
)

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_fieldflags()

Voir aussi

  • mysql_field_type() - Retourne le type d'une colonne MySQL spécifique
  • mysql_field_len() - Retourne la taille d'un champ de résultat MySQL

mysql_fetch_row
mysql_field_len
Fonctions MySQL


Retourne la taille d'un champ de résultat MySQL

mysql_field_flags
mysql_field_name
Fonctions MySQL
PHP Manual

mysql_field_len

(PHP 4, PHP 5)

mysql_field_len — Retourne la taille d'un champ de résultat MySQL

Description

int mysql_field_len ( resource $result , int $field_offset )

mysql_field_len() retourne la taille du champ spécifié.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. field_offset commence à 0. Si field_offset n'existe pas, une alerte E_WARNING sera également générée.

Valeurs de retour

Le taille de l'index du champs spécifié en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_field_len()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}

// Récupère la longueur du champ id dans la base de données.
$length = mysql_field_len($result, 0);
echo $length;
?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_fieldlen()

Voir aussi

  • mysql_fetch_lengths() - Retourne la taille de chaque colonne d'une ligne de résultat MySQL
  • strlen() - Calcule la taille d'une chaîne

mysql_field_flags
mysql_field_name
Fonctions MySQL


Retourne le nom d'une colonne dans un résultat MySQL

mysql_field_len
mysql_field_seek
Fonctions MySQL
PHP Manual

mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Retourne le nom d'une colonne dans un résultat MySQL

Description

string mysql_field_name ( resource $result , int $field_offset )

mysql_field_name() retourne le nom du champ de l'index spécifié.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. field_offset commence à 0. Si field_offset n'existe pas, une alerte E_WARNING sera également générée.

Valeurs de retour

Le nom du champ de l'index spécifié en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_field_name()

<?php
/* Supposons que la table utilisée contienne trois champs :
*   user_id
*   username
*   password.
 */
$link = @mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
   die('Impossible de se connecter au serveur MySQL : ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
   die("Impossible de se connecter à la base $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

L'exemple ci-dessus va afficher :

user_id
password

Notes

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_fieldname()

Voir aussi

  • mysql_field_type() - Retourne le type d'une colonne MySQL spécifique
  • mysql_field_len() - Retourne la taille d'un champ de résultat MySQL

mysql_field_len
mysql_field_seek
Fonctions MySQL


Déplace le pointeur de résultat vers une position donnée

mysql_field_name
mysql_field_table
Fonctions MySQL
PHP Manual

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Déplace le pointeur de résultat vers une position donnée

Description

bool mysql_field_seek ( resource $result , int $field_offset )

mysql_field_seek() place le pointeur de résultat result sur le champ spécifié par sa position field_offset. Lors du prochain appel à mysql_fetch_field() qui n'aura pas d'argument d'index de champ, le champ désormais pointé sera retourné.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. field_offset commence à 0. Si field_offset n'existe pas, une alerte E_WARNING sera également générée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mysql_fetch_field() - Retourne les données enregistrées dans une colonne MySQL sous forme d'objet

mysql_field_name
mysql_field_table
Fonctions MySQL


Retourne le nom de la table MySQL où se trouve une colonne

mysql_field_seek
mysql_field_type
Fonctions MySQL
PHP Manual

mysql_field_table

(PHP 4, PHP 5)

mysql_field_table — Retourne le nom de la table MySQL où se trouve une colonne

Description

string mysql_field_table ( resource $result , int $field_offset )

mysql_field_table() retourne le nom de la table où se trouve la colonne d'offset field_offset, dans le résultat MySQL result.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. field_offset commence à 0. Si field_offset n'existe pas, une alerte E_WARNING sera également générée.

Valeurs de retour

Le nom de la table en cas de succès.

Exemples

Exemple #1 Exemple avec mysql_field_table()

<?php

$query = "SELECT account.*, country.* FROM account, country WHERE country.name = 'Portugal' AND account.country_id = country.id";

// Récupère le résultat depuis la base de données
$result = mysql_query($query);

// Liste le nom de la table et ensuite, le nom du champ
for ($i = 0; $i < mysql_num_fields($result); ++$i) {
    $table = mysql_field_table($result, $i);
    $field = mysql_field_name($result, $i);

    echo  "$table: $field\n";
}

?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_fieldtable()

Voir aussi

  • mysql_list_tables() - Liste les tables d'une base de données MySQL

mysql_field_seek
mysql_field_type
Fonctions MySQL


Retourne le type d'une colonne MySQL spécifique

mysql_field_table
mysql_free_result
Fonctions MySQL
PHP Manual

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — Retourne le type d'une colonne MySQL spécifique

Description

string mysql_field_type ( resource $result , int $field_offset )

mysql_field_type() est similaire à la fonction mysql_field_name(). Les arguments sont identiques mais c'est le type de la colonne qui est retourné.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

field_offset

La position numérique du champ. field_offset commence à 0. Si field_offset n'existe pas, une alerte E_WARNING sera également générée.

Valeurs de retour

Le type du champ retourné peut être : "int", "real", "string", "blob" ou d'autres, comme détaillé » dans la documentation MySQL.

Exemples

Exemple #1 Exemple avec mysql_field_type()

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo "Votre table '" . $table . "' dispose de " . $fields . " colonnes et " . $rows . " ligne(s)\n";
echo "Les colonnes sont les suivantes :\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Votre table 'func' dispose de 4 colonnes et 1 ligne(s)
Les colonnes sont les suivantes :
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_fieldtype()

Voir aussi

  • mysql_field_name() - Retourne le nom d'une colonne dans un résultat MySQL
  • mysql_field_len() - Retourne la taille d'un champ de résultat MySQL

mysql_field_table
mysql_free_result
Fonctions MySQL


Libère le résultat de la mémoire

mysql_field_type
mysql_get_client_info
Fonctions MySQL
PHP Manual

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result — Libère le résultat de la mémoire

Description

bool mysql_free_result ( resource $result )

mysql_free_result() libère toute la mémoire et les ressources utilisées par la ressource de résultat result.

mysql_free_result() n'est à appeler que si vous avez peur d'utiliser trop de mémoire durant l'exécution de votre script. Toute la mémoire associée à l'identifiant de résultat sera automatiquement libérée.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Si la valeur passée à l'argument result n'est pas une ressource, une erreur de niveau E_WARNING sera émise. Il est important de noter que la fonction mysql_query() retourne uniquement une ressource pour les requêtes SELECT, SHOW, EXPLAIN et DESCRIBE.

Exemples

Exemple #1 Exemple avec mysql_free_result()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
/* Utilisation du résultat */
$row = mysql_fetch_assoc($result);

/* Maintenant, nous libérons le résultat et continuons notre script */
mysql_free_result($result);

echo $row['id'];
echo $row['email'];
?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_freeresult()

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL
  • is_resource() - Détermine si une variable est une ressource

mysql_field_type
mysql_get_client_info
Fonctions MySQL


Lit les informations sur le client MySQL

mysql_free_result
mysql_get_host_info
Fonctions MySQL
PHP Manual

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info — Lit les informations sur le client MySQL

Description

string mysql_get_client_info ( void )

mysql_get_client_info() retourne une chaîne qui représente le numéro de version du client utilisé par PHP.

Valeurs de retour

La version du client MySQL.

Exemples

Exemple #1 Exemple avec mysql_get_client_info()

<?php
printf("Détails sur le client MySQL : %s\n", mysql_get_client_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Détails sur le client MySQL : 3.23.39

Voir aussi

  • mysql_get_host_info() - Lit les informations sur l'hôte MySQL
  • mysql_get_proto_info() - Lit les informations sur le protocole MySQL
  • mysql_get_server_info() - Lit les informations sur le serveur MySQL

mysql_free_result
mysql_get_host_info
Fonctions MySQL


Lit les informations sur l'hôte MySQL

mysql_get_client_info
mysql_get_proto_info
Fonctions MySQL
PHP Manual

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info — Lit les informations sur l'hôte MySQL

Description

string mysql_get_host_info ([ resource $link_identifier ] )

mysql_get_host_info() retourne une chaîne qui représente le type de connexion utilisé avec la connexion link_identifier, y compris le nom du serveur hôte.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne une chaîne décrivant le type de connexion MySQL utilisé pour la connexion ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_get_host_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
   die('Impossible de se connecter : ' . mysql_error());
}
printf("Informations sur l'hôte MySQL : %s\n", mysql_get_host_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Informations sur l'hôte MySQL : Localhost via UNIX socket

Voir aussi

  • mysql_get_client_info() - Lit les informations sur le client MySQL
  • mysql_get_proto_info() - Lit les informations sur le protocole MySQL
  • mysql_get_server_info() - Lit les informations sur le serveur MySQL

mysql_get_client_info
mysql_get_proto_info
Fonctions MySQL


Lit les informations sur le protocole MySQL

mysql_get_host_info
mysql_get_server_info
Fonctions MySQL
PHP Manual

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info — Lit les informations sur le protocole MySQL

Description

int mysql_get_proto_info ([ resource $link_identifier ] )

Lit les informations sur le protocole MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne le protocole MySQL en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_get_proto_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
   die('Impossible de se connecter : ' . mysql_error());
}
printf("Version du protocole MySQL : %s\n", mysql_get_proto_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version du protocole MySQL : 10

Voir aussi

  • mysql_get_client_info() - Lit les informations sur le client MySQL
  • mysql_get_host_info() - Lit les informations sur l'hôte MySQL
  • mysql_get_server_info() - Lit les informations sur le serveur MySQL

mysql_get_host_info
mysql_get_server_info
Fonctions MySQL


Lit les informations sur le serveur MySQL

mysql_get_proto_info
mysql_info
Fonctions MySQL
PHP Manual

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info — Lit les informations sur le serveur MySQL

Description

string mysql_get_server_info ([ resource $link_identifier ] )

Lit les informations sur le serveur MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne la version du serveur MySQL en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_get_server_info()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Impossible de se connecter à la base : ' . mysql_error());
}
printf("Version du serveur MySQL : %s\n", mysql_get_server_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Version du serveur MySQL : 4.0.1-alpha

Voir aussi

  • mysql_get_client_info() - Lit les informations sur le client MySQL
  • mysql_get_host_info() - Lit les informations sur l'hôte MySQL
  • mysql_get_proto_info() - Lit les informations sur le protocole MySQL
  • phpversion() - Retourne le numéro de la version courante de PHP

mysql_get_proto_info
mysql_info
Fonctions MySQL


Lit des informations à propos de la dernière requête MySQL

mysql_get_server_info
mysql_insert_id
Fonctions MySQL
PHP Manual

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info — Lit des informations à propos de la dernière requête MySQL

Description

string mysql_info ([ resource $link_identifier ] )

Lit des informations à propos de la dernière requête MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne des informations sur une requête en cas de succès, ou FALSE si une erreur survient. Regardez l'exemple ci-dessous pour savoir quelles sortes de requêtes fournissent des informations et avoir un aperçu des informations retournées. Les sortes de requêtes qui ne sont pas listées retournent FALSE.

Exemples

Exemple #1 Requêtes MySQL

Requêtes qui retournent des valeurs. Les nombres ne sont là que pour illustrer l'exemple ; ces valeurs correspondent à la requête.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Notes

Note: mysql_info() retourne une valeur différente de FALSE pour les commandes INSERT ... VALUES uniquement si plusieurs jeux de valeurs à insérer ont été spécifiés dans la commande.

Voir aussi

  • mysql_affected_rows() - Retourne le nombre de lignes affectées lors de la dernière opération MySQL
  • mysql_insert_id() - Retourne l'identifiant généré par la dernière requête
  • mysql_stat() - Retourne le statut courant du serveur MySQL

mysql_get_server_info
mysql_insert_id
Fonctions MySQL


Retourne l'identifiant généré par la dernière requête

mysql_info
mysql_list_dbs
Fonctions MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Retourne l'identifiant généré par la dernière requête

Description

int mysql_insert_id ([ resource $link_identifier ] )

Retourne le dernier identifiant généré par un champ de type AUTO_INCREMENT, sur la connexion MySQL courante ou sûr la connexion spécifiée par link_identifier (habituellement, une requête de type INSERT).

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

L'ID généré pour une colonne AUTO_INCREMENT par la dernière requête en cas de succès, 0 si la dernière requête n'a pas généré de valeur AUTO_INCREMENT, ou FALSE si aucune connexion MySQL n'a été établie.

Exemples

Exemple #1 Exemple avec mysql_insert_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Le dernier ID inséré dans est le id %d\n", mysql_insert_id());
?>

Notes

Attention

mysql_insert_id() convertira le type retourné de la fonction native MySQL C API mysql_insert_id() en un type long (nommé int en PHP). Si votre colonne AUTO_INCREMENT a une colonne de type BIGINT (64 bits), la convertion peut résulter en une valeur incorrecte. À la place, utilisez la fonction SQL interne à MySQL LAST_INSERT_ID() dans une requête SQL. Pour plus d'informations sur les valeurs entières maximales en PHP, repportez-vous à la documentation sur les entiers.

Note: Parce que mysql_insert_id() agit sur la dernière requête exécutée, assurez-vous d'appeler la fonction mysql_insert_id() immédiatement après l'exécution de la requête qui a générée la valeur.

Note: La fonction MySQL LAST_INSERT_ID() contient toujours la valeur AUTO_INCREMENT la plus récente, et n'est pas remise à zéro entre deux requêtes.

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL
  • mysql_info() - Lit des informations à propos de la dernière requête MySQL

mysql_info
mysql_list_dbs
Fonctions MySQL


Liste les bases de données disponibles sur le serveur MySQL

mysql_insert_id
mysql_list_fields
Fonctions MySQL
PHP Manual

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs — Liste les bases de données disponibles sur le serveur MySQL

Description

resource mysql_list_dbs ([ resource $link_identifier ] )

mysql_list_dbs() retournera un identifiant de résultat, qui contiendra les noms des bases de données disponibles sur la connexion MySQL courante ou sur la connexion spécifiée par link_identifier.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne une ressource de pointeurs de résultats en cas de succès, ou FALSE si une erreur survient. Utilisez la fonction mysql_tablename() pour parcourir ce résultat ou tout autre fonction pour les résultats de table, comme la fonction mysql_fetch_array().

Exemples

Exemple #1 Exemple avec mysql_list_dbs()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
   echo $row->Database . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

database1
database2
database3

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_listdbs()

Voir aussi

  • mysql_db_name() - Lit les noms des bases de données
  • mysql_select_db() - Sélectionne une base de données MySQL

mysql_insert_id
mysql_list_fields
Fonctions MySQL


Liste les champs d'une table MySQL

mysql_list_dbs
mysql_list_processes
Fonctions MySQL
PHP Manual

mysql_list_fields

(PHP 4, PHP 5)

mysql_list_fields — Liste les champs d'une table MySQL

Description

resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )

Liste les champs de la table MySQL spécifiée.

La fonction mysql_list_fields() est obsolète. Il est préférable d'utiliser la fonction mysql_query() avec comme requête SHOW COLUMNS FROM table [LIKE 'name'] à la place.

Liste de paramètres

database_name

Le nom de la base de données qui va être interrogée.

table_name

Le nom de la table qui va être interrogée.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Une ressource de pointeurs de résultats en cas de succès, ou FALSE si une erreur survint.

Le résultat retourné peut être utilisé avec les fonction
mysql_field_flags(),
mysql_field_len(),
mysql_field_name() et
mysql_field_type().

Exemples

Exemple #1 Exemple d'alternative à mysql_list_fields()

<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
if (mysql_num_rows($result) > 0) {
   while ($row = mysql_fetch_assoc($result)) {
      print_r($row);
   }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
   [Field] => id
   [Type] => int(7)
   [Null] =>
   [Key] => PRI
   [Default] =>
   [Extra] => auto_increment
)
Array
(
   [Field] => email
   [Type] => varchar(100)
   [Null] =>
   [Key] =>
   [Default] =>
   [Extra] =>
)

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_listfields()

Voir aussi

  • mysql_field_flags() - Retourne des détails sur une colonne MySQL
  • mysql_info() - Lit des informations à propos de la dernière requête MySQL

mysql_list_dbs
mysql_list_processes
Fonctions MySQL


Liste les processus MySQL

mysql_list_fields
mysql_list_tables
Fonctions MySQL
PHP Manual

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes — Liste les processus MySQL

Description

resource mysql_list_processes ([ resource $link_identifier ] )

Liste les processus MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Une ressource de pointeurs de résultats en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_list_processes()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
   printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
   $row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1 localhost test Processlist 0
4 localhost mysql sleep 5

Voir aussi

  • mysql_thread_id() - Retourne l'identifiant du thread MySQL courant
  • mysql_stat() - Retourne le statut courant du serveur MySQL

mysql_list_fields
mysql_list_tables
Fonctions MySQL


Liste les tables d'une base de données MySQL

mysql_list_processes
mysql_num_fields
Fonctions MySQL
PHP Manual

mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — Liste les tables d'une base de données MySQL

Description

resource mysql_list_tables ( string $database [, resource $link_identifier ] )

Liste les tables d'une base de données MySQL spécifiée.

Cette fonction est dépréciée. Il est préférable d'utiliser la fonction mysql_query() pour effectuer la requête SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'] à la place.

Liste de paramètres

database

Le nom de la base de données

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Une ressource de pointeurs de résultats en cas de succès ou FALSE si une erreur survient.

Utilisez la fonction mysql_tablename() pour parcourir ce pointeur de résultats ou tout autre fonction pour les résultats de tables, comme la fonction mysql_fetch_array().

Historique

Version | Description
4.3.7 | Cette fonction est devenue obsolète.

Exemples

Exemple #1 Exemple d'alternative à mysql_list_tables()

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
   echo 'Impossible de se connecter à MySQL';
   exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
   echo "Erreur DB, impossible de lister les tables\n";
   echo 'Erreur MySQL : ' . mysql_error();
   exit;
}

while ($row = mysql_fetch_row($result)) {
   echo "Table : {$row[0]}\n";
}

mysql_free_result($result);
?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_listtables()

Voir aussi

  • mysql_list_dbs() - Liste les bases de données disponibles sur le serveur MySQL
  • mysql_tablename() - Lit le nom de la table qui contient un champ

mysql_list_processes
mysql_num_fields
Fonctions MySQL


Retourne le nombre de champs d'un résultat MySQL

mysql_list_tables
mysql_num_rows
Fonctions MySQL
PHP Manual

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields — Retourne le nombre de champs d'un résultat MySQL

Description

int mysql_num_fields ( resource $result )

Retourne le nombre de champs d'une requête.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

Valeurs de retour

Retourne le nombre de champs d'un jeu de résultat en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_num_fields()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}

/* Retourne 2 car id,email === 2 champs */
echo mysql_num_fields($result);
?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_numfields()

Voir aussi

  • mysql_select_db() - Sélectionne une base de données MySQL
  • mysql_query() - Envoie une requête à un serveur MySQL
  • mysql_fetch_field() - Retourne les données enregistrées dans une colonne MySQL sous forme d'objet
  • mysql_num_rows() - Retourne le nombre de lignes d'un résultat MySQL

mysql_list_tables
mysql_num_rows
Fonctions MySQL


Retourne le nombre de lignes d'un résultat MySQL

mysql_num_fields
mysql_pconnect
Fonctions MySQL
PHP Manual

mysql_num_rows

(PHP 4, PHP 5)

mysql_num_rows — Retourne le nombre de lignes d'un résultat MySQL

Description

int mysql_num_rows ( resource $result )

Récupère le nombre de lignes d'un jeu de résultat. Cette commande n'est disponible que pour les requêtes comme SELECT ou SHOW qui retournent un jeu de résultats. Pour récupérer le nombre de lignes affectées par une requête INSERT, UPDATE, REPLACE ou DELETE, utilisez la fonction mysql_affected_rows().

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

Valeurs de retour

Le nombre de lignes dans un jeu de résultats en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_num_rows()

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Notes

Note: Si vous utilisez mysql_unbuffered_query(), mysql_num_rows() ne retournera pas une valeur correcte tant que toutes les lignes du jeu de résultats n'auront pas été récupérées.

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_numrows()

Voir aussi

  • mysql_affected_rows() - Retourne le nombre de lignes affectées lors de la dernière opération MySQL
  • mysql_connect() - Ouvre une connexion à un serveur MySQL
  • mysql_data_seek() - Déplace le pointeur interne de résultat MySQL
  • mysql_select_db() - Sélectionne une base de données MySQL
  • mysql_query() - Envoie une requête à un serveur MySQL

mysql_num_fields
mysql_pconnect
Fonctions MySQL


Ouvre une connexion persistante à un serveur MySQL

mysql_num_rows
mysql_ping
Fonctions MySQL
PHP Manual

mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — Ouvre une connexion persistante à un serveur MySQL

Description

resource mysql_pconnect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags ]]]] )

Ouvre une connexion persistante à un serveur MySQL.

mysql_pconnect() se comporte exactement comme mysql_connect(), mais avec deux différences majeures :

Premièrement, lors de la connexion, la fonction essaie de trouver une connexion permanente déjà ouverte sur cet hôte, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion.

Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès (mysql_close() ne terminera pas une connexion persistante établie par mysql_pconnect()).

C'est pourquoi ce type de connexion est dite persistante.

Liste de paramètres

server

Le serveur MySQL. Il peut également comprendre un numéro de port, e.g. "hostname:port" ou un chemin vers un socket local e.g. ":/path/to/socket".

Si la directive PHP mysql.default_host n'est pas définie (défaut), alors, la valeur par défaut est "localhost:3306".

username

Le nom de l'utilisateur. La valeur par défaut est l'utilisateur faisant fonctionner le processus serveur courant.

password

Le mot de passe. La valeur par défaut est un mot de passe vide.

client_flags

Le paramètre client_flags peut être une compilation des constantes suivantes : 128 (active le gestionnaire LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE.

Valeurs de retour

Retourne un identifiant de lien persistant MySQL en cas de succès, ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Ajout du paramètre client_flags.

Notes

Note: Notez que les connexions persistantes ne fonctionnent que si vous utilisez PHP en version module. Lisez la section sur les connexions persistantes aux bases de données pour plus d'informations.

Avertissement

L'utilisation des connexions persistantes requiert des paramétrages d'Apache et de MySQL pour vous assurer que vous n'atteindrez pas la limite maximale de nombre de connexions simultanées autorisée par MySQL.

Note: Vous pouvez supprimer les messages d'erreur en ajoutant un @ au nom de la fonction.

Voir aussi

  • mysql_connect() - Ouvre une connexion à un serveur MySQL
  • Les connexions persistantes aux bases de données

mysql_num_rows
mysql_ping
Fonctions MySQL


Vérifie la connexion au serveur MySQL, et s'y reconnecte au besoin

mysql_pconnect
mysql_query
Fonctions MySQL
PHP Manual

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Vérifie la connexion au serveur MySQL, et s'y reconnecte au besoin

Description

bool mysql_ping ([ resource $link_identifier ] )

mysql_ping() vérifie si la connexion au serveur link_identifier fonctionne. Si elle est tombée, une reconnexion automatique est effectuée. Cette fonction est utile pour les scripts qui restent inactifs durant un long moment. Ils peuvent ainsi vérifier si le serveur a fermé la connexion, pour cause d'inactivité.

Note: Depuis MySQL 5.0.13, la fonctionnalité de reconnexion automatique est désactivée.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne TRUE si la connexion au serveur MySQL fonctionne, FALSE sinon.

Exemples

Exemple #1 Exemple avec mysql_ping()

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db   = mysql_select_db('mydb');

/* En supposant que l'exécution de la requête prend beaucoup de temps */
$result = mysql_query($sql);
if (!$result) {
   echo 'Requête #1 a échoué, sortie.';
   exit;
}

/* S'assure que la connexion est toujours active, sinon, tentative de reconnexion */
if (!mysql_ping($conn)) {
   echo 'Perte de la connexion, sortie après la requête #1';
   exit;
}
mysql_free_result($result);

/* Donc, la connexion est toujours active, exécutons une autre requête */
$result2 = mysql_query($sql2);
?>

Voir aussi

  • mysql_thread_id() - Retourne l'identifiant du thread MySQL courant
  • mysql_list_processes() - Liste les processus MySQL

mysql_pconnect
mysql_query
Fonctions MySQL


Envoie une requête à un serveur MySQL

mysql_ping
mysql_real_escape_string
Fonctions MySQL
PHP Manual

mysql_query

(PHP 4, PHP 5)

mysql_query — Envoie une requête à un serveur MySQL

Description

resource mysql_query ( string $query [, resource $link_identifier ] )

mysql_query() envoie une seule requête (les requêtes multiples ne sont pas supportées) à la base de données courante sur le serveur associé avec le link_identifier spécifié.

Liste de paramètres

query

Une requête SQL

La chaîne de requête ne doit pas se terminer par un point-virgule. Les données contenues dans la requête doivent être échappées proprement.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Pour les requêtes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requêtes retournant un jeu de résultats, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.

Pour les autres types de requêtes, INSERT, UPDATE, DELETE, DROP, etc., mysql_query() retourne TRUE en cas de succès ou FALSE en cas d'erreur.

La ressource de résultat retournée doit être passée à la fonction mysql_fetch_array(), et les autres fonctions permettant d'explorer le résultat des tables, pour accéder aux données retournées.

Utilisez mysql_num_rows() pour trouver le nombre de lignes retournées pour une requête du type SELECT ou mysql_affected_rows() pour trouver le nombre de lignes affectées par les requêtes du type DELETE, INSERT, REPLACE, ou UPDATE.

mysql_query() échouera et retournera FALSE si l'utilisateur n'a pas les autorisations nécessaire pour accéder à la (aux) table(s) référencée(s) par la requête.

Exemples

Exemple #1 Requête invalide

La requête suivante est syntaxiquement invalide, donc mysql_query() va échouer et retourner FALSE.

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Requête invalide : ' . mysql_error());
}

?>

Exemple #2 Requête valide

La requête suivante est valide, donc mysql_query() va retourner une ressource.

<?php
// Ceci peut être demandé par un utilisateur, par exemple :
$firstname = 'fred';
$lastname  = 'fox';

// Formulation de la requête
// C'est la meilleur façon d'exécuter une requête SQL
// Pour plus d'exemples, voir mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Exécution de la requête
$result = mysql_query($query);

// Vérification du résultat
// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
if (!$result) {
    $message  = 'Requête invalide : ' . mysql_error() . "\n";
    $message .= 'Requête complète : ' . $query;
    die($message);
}

// Utilisation du résultat
// Tenter d'affichager $result ne vous donnera pas d'informations contenues dans la ressource
// Une des fonctions MySQL de résultat doit être utilisée
// Voir aussi mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Libération des ressources associées au jeu de résultats
// Ceci est effectué automatiquement à la fin du script
mysql_free_result($result);
?>

Voir aussi

  • mysql_connect() - Ouvre une connexion à un serveur MySQL
  • mysql_error() - Retourne le texte associé avec l'erreur générée lors de la dernière requête
  • mysql_real_escape_string() - Protège les caractères spéciaux d'une commande SQL
  • mysql_result() - Retourne un champ d'un résultat MySQL
  • mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_unbuffered_query() - Exécute une requête SQL sans mobiliser les résultats MySQL

mysql_ping
mysql_real_escape_string
Fonctions MySQL


Protège les caractères spéciaux d'une commande SQL

mysql_query
mysql_result
Fonctions MySQL
PHP Manual

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string — Protège les caractères spéciaux d'une commande SQL

Description

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

mysql_real_escape_string() protège les caractères spéciaux de la chaîne unescaped_string, en prenant en compte le jeu de caractères courant de la connexion link_identifier. Le résultat peut être utilisé sans problème avec la fonction mysql_query(). Si des données binaires doivent être insérées, cette fonction doit être utilisée.

mysql_real_escape_string() appelle la fonction mysql_escape_string() de la bibliothèque MySQL qui ajoute un slash aux caractères suivants : NULL, \x00, \n, \r, \, ', " et \x1a.

Cette fonction doit toujours (avec quelques exceptions) être utilisée pour protéger vos données avant d'envoyer la requête à MySQL.

Liste de paramètres

unescaped_string

La chaîne à échapper.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne la chaîne échappée, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple simple avec mysql_real_escape_string()

<?php
// Connexion
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());

// Requête
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>

Exemple #2 Un exemple d'attaque par injection SQL

<?php
// Demande à la base de vérifier si un utilisateur correspond
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// Nous ne vérifions pas $_POST['password'], il peut contenir ce que l'utilisateur veut ! Par exemple :
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// Cela signifie que la requête envoyée à MySQL sera :
echo $query;
?>

La requête envoyée à MySQL :

SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''

Cela permet à n'importe qui de s'identifier sans mot de passe valide.

Notes

Note: Une connexion MySQL est nécessaire avant d'utiliser la fonction mysql_real_escape_string(), sinon, une erreur de niveau E_WARNING sera générée, et FALSE sera retourné. Si link_identifier n'est pas défini, la dernière connexion MySQL est utilisée.

Note: Si magic_quotes_gpc est activée, appliquez d'abord la fonction stripslashes() à vos données. Utiliser cette fonction sur des données qui ont déjà été protégées, les protégera une deuxième fois.

Note: Si cette fonction n'est pas utilisée pour protéger vos données, la requête sera vulnérable aux attaques par injection SQL.

Note: mysql_real_escape_string() n'échappe ni %, ni _. Ce sont des jokers en MySQL si combinés avec LIKE, GRANT, ou REVOKE.

Voir aussi

  • mysql_client_encoding() - Retourne le nom du jeu de caractères utilisé par le client MySQL
  • addslashes() - Ajoute des antislashs dans une chaîne
  • stripslashes() - Supprime les antislashs d'une chaîne
  • La directive magic_quotes_gpc
  • La directive magic_quotes_runtime

mysql_query
mysql_result
Fonctions MySQL


Retourne un champ d'un résultat MySQL

mysql_real_escape_string
mysql_select_db
Fonctions MySQL
PHP Manual

mysql_result

(PHP 4, PHP 5)

mysql_result — Retourne un champ d'un résultat MySQL

Description

string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )

Retourne le contenu d'un champ d'un jeu de résultats MySQL.

Lorsque vous travaillez sur des résultats de grande taille, il est conseillé d'utiliser une des fonctions qui vont rechercher une ligne entière dans un tableau. Ces fonctions sont NETTEMENT plus rapides. De plus, utiliser un offset numérique est aussi beaucoup plus rapide que spécifier un nom littéral.

Liste de paramètres

result

La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

row

Le numéro de la ligne à récupérer. Les numéros de lignes commencent à 0.

field

Le nom ou la position du champ à récupérer.

Il peut être la position du champ, le nom du champ ou le nom de la table suivi d'un point, suivi du nom du champ (tablename.fieldname). Si un alias a été utilisé pour le nom de la colonne ("selected foo as bar from..."), utilisez plutôt l'alias. Si ce paramètre n'est pas défini, le premier champ sera récupéré.

Valeurs de retour

Le contenu d'un champ depuis un jeu de résultats MySQL en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_result()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
   die('Impossible de se connecter : ' . mysql_error());
}
if (!mysql_select_db('database_name')) {
    die('Impossible de sélectionner la table : ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
   die('Impossible d\'exécuter la requête :' . mysql_error());
}
echo mysql_result($result, 2); // Affiche le nom du troisième employé

mysql_close($link);
?>

Notes

Note: Les appels mysql_result() ne devraient pas être mélangés avec d'autres fonctions qui travaillent aussi sur le résultat.

Voir aussi

  • mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
  • mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
  • mysql_fetch_object() - Retourne une ligne de résultat MySQL sous la forme d'un objet

mysql_real_escape_string
mysql_select_db
Fonctions MySQL


Sélectionne une base de données MySQL

mysql_result
mysql_set_charset
Fonctions MySQL
PHP Manual

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db — Sélectionne une base de données MySQL

Description

bool mysql_select_db ( string $database_name [, resource $link_identifier ] )

Sélectionne une base de données MySQL sur le serveur associé avec le paramètre link_identifier. Chaque appel à la fonction mysql_query() sera exécutée sur la base de données active.

Liste de paramètres

database_name

Le nom de la base de données à sélectionner.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_select_db()

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
   die('Impossible de se connecter : ' . mysql_error());
}

// Rendre la base de données foo, la base courante
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
   die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
?>

Notes

Note: Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_selectdb()

Voir aussi

  • mysql_connect() - Ouvre une connexion à un serveur MySQL
  • mysql_pconnect() - Ouvre une connexion persistante à un serveur MySQL
  • mysql_query() - Envoie une requête à un serveur MySQL

mysql_result
mysql_set_charset
Fonctions MySQL


Définit le jeu de caractères du client MySQL

mysql_select_db
mysql_stat
Fonctions MySQL
PHP Manual

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Définit le jeu de caractères du client MySQL

Description

bool mysql_set_charset ( string $charset [, resource $link_identifier ] )

Définit le jeu de caractères par défaut pour la connexion courante.

Liste de paramètres

charset

Un nom de jeu de caractères valide.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction requiert MySQL version 5.0.7 ou supérieure.

Note: Cette fonction est la meilleure façon de modifier le jeu de caractères. Il n'est pas recommandé d'utiliser la fonction mysql_query() avec une requête du type SET NAMES .. pour cela.

Voir aussi

  • mysql_client_encoding() - Retourne le nom du jeu de caractères utilisé par le client MySQL
  • La liste des » jeux de caractères supportés par MySQL

mysql_select_db
mysql_stat
Fonctions MySQL


Retourne le statut courant du serveur MySQL

mysql_set_charset
mysql_tablename
Fonctions MySQL
PHP Manual

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat — Retourne le statut courant du serveur MySQL

Description

string mysql_stat ([ resource $link_identifier ] )

mysql_stat() retourne le statut courant du serveur MySQL.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Retourne une chaîne contenant le statut de durée de fonctionnement, les threads, les requêtes, les tables ouvertes et sur disque, et le nombre de requêtes par seconde. Pour une liste complète des autres variables de statuts, vous devez utiliser la commande SQL SHOW STATUS. Si link_identifier est invalide, NULL est retourné.

Exemples

Exemple #1 Exemple avec mysql_stat()

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$status = explode('  ', mysql_stat($link));
print_r($status);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
[0] => Uptime: 5380
[1] => Threads: 2
[2] => Questions: 1321299
[3] => Slow queries: 0
[4] => Opens: 26
[5] => Flush tables: 1
[6] => Open tables: 17
[7] => Queries per second avg: 245.595
)

Exemple #2 Exemple alternatif pour mysql_stat()

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$result = mysql_query('SHOW STATUS', $link);
while ($row = mysql_fetch_assoc($result)) {
  echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Voir aussi

  • mysql_get_server_info() - Lit les informations sur le serveur MySQL
  • mysql_list_processes() - Liste les processus MySQL

mysql_set_charset
mysql_tablename
Fonctions MySQL


Lit le nom de la table qui contient un champ

mysql_stat
mysql_thread_id
Fonctions MySQL
PHP Manual

mysql_tablename

(PHP 4, PHP 5)

mysql_tablename — Lit le nom de la table qui contient un champ

Description

string mysql_tablename ( resource $result , int $i )

Lit le nom de la table depuis le jeu de résultats result.

Cette fonction est dépréciée. Il est préférable d'utiliser la fonction mysql_query() avec une requête SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'] à la place.

Liste de paramètres

result

Un pointeur de résultats retourné par la fonction mysql_list_tables().

i

L'index (numéro ligne/table)

Valeurs de retour

Le nom de la table en cas de succès ou FALSE si une erreur survient.

Utilisez la fonction mysql_tablename() pour parcourir ce pointeur de résultats, ou n'importe quelle fonction pour les résultats de tables comme la fonction mysql_fetch_array().

Exemples

Exemple #1 Exemple avec mysql_tablename()

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
   echo "Table : ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

Notes

Note: La fonction mysql_num_rows() peut être utilisée pour déterminer le nombre de tables dans le pointeur de résultats.

Voir aussi

  • mysql_list_tables() - Liste les tables d'une base de données MySQL
  • mysql_field_table() - Retourne le nom de la table MySQL où se trouve une colonne
  • mysql_db_name() - Lit les noms des bases de données

mysql_stat
mysql_thread_id
Fonctions MySQL


Retourne l'identifiant du thread MySQL courant

mysql_tablename
mysql_unbuffered_query
Fonctions MySQL
PHP Manual

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Retourne l'identifiant du thread MySQL courant

Description

int mysql_thread_id ([ resource $link_identifier ] )

mysql_thread_id() retourne l'identifiant du thread courant. Si la connexion link_identifier est perdue et que vous vous reconnectez (avec mysql_ping(), par exemple), alors l'identifiant de thread va changer. Cela signifie que vous devez le récupérer lorsque vous en avez besoin.

Liste de paramètres

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

L'identifiant du thread en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysql_thread_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
   printf("L'identifiant du thread courant est : %d\n", $thread_id);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

L'identifiant du thread courant est : 73

Voir aussi

  • mysql_ping() - Vérifie la connexion au serveur MySQL, et s'y reconnecte au besoin
  • mysql_list_processes() - Liste les processus MySQL

mysql_tablename
mysql_unbuffered_query
Fonctions MySQL


Exécute une requête SQL sans mobiliser les résultats MySQL

mysql_thread_id
mysqli
Fonctions MySQL
PHP Manual

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Exécute une requête SQL sans mobiliser les résultats MySQL

Description

resource mysql_unbuffered_query ( string $query [, resource $link_identifier ] )

mysql_unbuffered_query() envoie la requête SQL query à MySQL sans automatiquement récupérer et mettre en mémoire les lignes du résultat, comme pourrait le faire la fonction mysql_query(). Ce comportement permet d'épargner une grande quantité de mémoire lorsque les requêtes SQL produisent un gros jeu de résultats, et vous pouvez commencer à travailler sur le jeu de résultats immédiatement après que la première ligne ait été récupérée que vous n'avez pas à attendre la fin du traitement de la requête SQL. Pour utiliser la fonction mysql_unbuffered_query() lorsque plusieurs connexions à des bases de données sont ouvertes, vous devez spécifier le paramètre optionnel link_identifier pour identifier la connexion à utiliser.

Liste de paramètres

query

La requête SQL à exécuter

Les données de la requête doivent être proprement échappées.

link_identifier

La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

Valeurs de retour

Pour les requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_unbuffered_query() retourne une ressource en cas de succès, ou FALSE si une erreur survient.

Pour les autres types de requêtes, UPDATE, DELETE, DROP, etc, mysql_unbuffered_query() retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: L'intérêt de mysql_unbuffered_query() est tempéré par une limitation : mysql_num_rows() et mysql_data_seek() ne fonctionne pas sur une ressource retournée par mysql_unbuffered_query(). Vous devez aussi lire tous les résultats d'une première requête exécutée avec mysql_unbuffered_query(), avant de pouvoir en exécuter une autre.

Voir aussi

  • mysql_query() - Envoie une requête à un serveur MySQL

mysql_thread_id
mysqli
Fonctions MySQL


Extension mysqli

  • Introduction
  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • L'extension mysqli et les connexions persistantes
  • Constantes pré-définies
  • Sommaire des fonctions de l'extension MySQLi
  • MySQLi — La classe MySQLi
    • mysqli->affected_rows — Retourne le nombre de lignes affectées par la dernière opération MySQL
    • mysqli::autocommit — Active ou désactive le mode auto-commit
    • mysqli::change_user — Change l'utilisateur de la connexion spécifiée
    • mysqli::character_set_name — Retourne le jeu de caractères courant pour la connexion
    • mysqli->client_info — Retourne la version du client MySQL, sous la forme d'une chaîne de caractères
    • mysqli->client_version — Récupère les informations du client MySQL
    • mysqli::close — Ferme une connexion
    • mysqli::commit — Valide la transaction courante
    • mysqli->connect_errno — Retourne le code d'erreur de la connexion MySQL
    • mysqli->connect_error — Retourne le message d'erreur de connexion MySQL
    • mysqli::__construct — Ouvre une connexion à un serveur MySQL
    • mysqli::debug — Effectue des actions de déboguage
    • mysqli::dump_debug_info — Écrit les informations de déboguage dans les logs
    • mysqli->errno — Retourne le dernier code d'erreur produit
    • mysqli->error — Retourne une chaîne décrivant la dernière erreur
    • mysqli->field_count — Retourne le nombre de colonnes pour la dernière requête
    • mysqli::get_charset — Retourne un objet représentant le jeu de caractères
    • mysqli->get_client_info — Retourne une chaîne contenant la version du client MySQL
    • mysqli->client_version — Lit les informations du client MySQL
    • mysqli::get_connection_stats — Retourne des statistiques sur la connexion
    • mysqli->host_info — Retourne une chaîne contenant le type de connexion utilisée
    • mysqli->protocol_version — Retourne la version du protocole MySQL utilisé
    • mysqli->server_info — Retourne la version du serveur MySQL
    • mysqli->server_version — Retourne un entier représentant la version du serveur MySQL
    • mysqli::get_warnings — Lit le résultat de SHOW WARNINGS
    • mysqli->info — Retourne des informations à propos de la dernière requête exécutée
    • mysqli::init — Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
    • mysqli->insert_id — Retourne l'identifiant automatiquement généré par la dernière requête
    • mysqli::kill — Demande au serveur de terminer un thread MySQL
    • mysqli::more_results — Vérifie s'il y a d'autres jeux de résultats MySQL disponibles
    • mysqli::multi_query — Exécute une requête MySQL multiple
    • mysqli::next_result — Prépare le prochain résultat d'une requête multiple
    • mysqli::options — Définit les options
    • mysqli::ping — Ping la connexion au serveur et reconnecte si elle n'existe plus
    • mysqli::poll — Vérifie l'état de la connexion
    • mysqli::prepare — Prépare une requête SQL pour l'exécution
    • mysqli::query — Exécute une requête sur la base de données
    • mysqli::real_connect — Ouvre une connexion à un serveur MySQL
    • mysqli::real_escape_string — Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion
    • mysqli::real_query — Exécute une requête SQL
    • mysqli::reap_async_query — Lit un résultat pour une requête asynchrone
    • mysqli::rollback — Annule la transaction courante
    • mysqli::select_db — Sélectionne une base de données par défaut pour les requêtes
    • mysqli::set_charset — Définit le jeu de caractères par défaut du client
    • mysqli::set_local_infile_default — Rétablit le gestionnaire par défaut pour la commande LOAD LOCAL INFILE
    • mysqli::set_local_infile_handler — Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE
    • mysqli->sqlstate — Retourne l'erreur SQLSTATE de la dernière opération MySQL
    • mysqli::ssl_set — Utilisée pour établir une connexion sécurisée avec SSL
    • mysqli::stat — Obtient le statut courant du système
    • mysqli::stmt_init — Initialise une commande MySQL
    • mysqli::store_result — Transfère un jeu de résultats à partir de la dernière requête
    • mysqli->thread_id — Retourne l'identifiant du thread pour la connexion courante
    • mysqli::thread_safe — Indique si le support des threads est activé ou pas
    • mysqli::use_result — Initialise la récupération d'un jeu de résultats
    • mysqli->warning_count — Retourne le nombre d'avertissements générés par la dernière requête
  • MySQLi_STMT — La classe MySQLi_STMT
    • mysqli_stmt->affected_rows — Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête
    • mysqli_stmt::attr_get — Récupère la valeur courante d'un attribut de requête
    • mysqli_stmt::attr_set — Modifie le comportement d'une requête préparée
    • mysqli_stmt::bind_param — Lie des variables à une requête MySQL
    • mysqli_stmt::bind_result — Lie des variables à un jeu de résultats
    • mysqli_stmt::close — Termine une requête préparée
    • mysqli_stmt::data_seek — Déplace le pointeur de résultat
    • mysqli_stmt->errno — Retourne un code erreur pour la dernière requête
    • mysqli_stmt->error — Retourne une description de la dernière erreur de traitement
    • mysqli_stmt::execute — Exécute une requête préparée
    • mysqli_stmt::fetch — Lit des résultats depuis une requête MySQL préparée dans des variables liées
    • mysqli_stmt->field_count — Retourne le nombre de champs présent dans la requête donnée
    • mysqli_stmt::free_result — Libère le résultat MySQL de la mémoire
    • mysqli_stmt::get_warnings — Description
    • mysqli_stmt->insert_id — Récupère l'ID généré par la dernière requête INSERT
    • mysqli_stmt::num_rows — Retourne le nombre de lignes d'un résultat MySQL
    • mysqli_stmt->param_count — Retourne le nombre de paramètre d'une commande SQL
    • mysqli_stmt::prepare — Prépare une requête SQL pour l'exécution
    • mysqli_stmt::reset — Annule une requête préparée
    • mysqli_stmt::result_metadata — Retourne les métadonnées de préparation de requête MySQL
    • mysqli_stmt::send_long_data — Envoie des données MySQL par paquets
    • mysqli_stmt::sqlstate — Retourne le code SQLSTATE de la dernière opération MySQL
    • mysqli_stmt::store_result — Stock un jeu de résultats depuis une requête préparée
  • MySQLi_Result — La classe MySQLi_Result
    • mysqli_result->current_field — Récupère la position courante d'un champ dans un pointeur de résultat
    • mysqli_result::data_seek — Déplace le pointeur interne de résultat
    • mysqli_result::fetch_all — Lit toutes les lignes de résultats dans un tableau
    • mysqli_result::fetch_array — Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
    • mysqli_result::fetch_assoc — Récupère une ligne de résultat sous forme de tableau associatif
    • mysqli_result::fetch_field_direct — Récupère les métadonnées d'un champ unique
    • mysqli_result::fetch_field — Retourne le prochain champs dans le jeu de résultats
    • mysqli_result::fetch_fields — Retourne un tableau d'objets représentant les champs dans le résultat
    • mysqli_result::fetch_object — Retourne la ligne courante d'un jeu de résultat sous forme d'objet
    • mysqli_result::fetch_row — Récupère une ligne de résultat sous forme de tableau indexé
    • mysqli_result->field_count — Récupère le nombre de champs dans un résultat
    • mysqli_result::field_seek — Déplace le pointeur de résultat sur le champs spécifié
    • mysqli_result::free — Libère la mémoire associée à un résultat
    • mysqli_result->lengths — Retourne la longueur des colonnes de la ligne courante du jeu de résultats
    • mysqli_result->num_rows — Retourne le nombre de lignes dans un résultat
  • MySQLi_Driver — La classe MySQLi_Driver
    • mysqli_driver::embedded_server_end — Arrête le serveur embarqué
    • mysqli_driver::embedded_server_start — Initialise et démarre le serveur embarqué
  • MySQLi_Warning — La classe MySQLi_Warning
    • mysqli_warning::__construct — Le constructeur __construct
    • mysqli_warning::next — Le but de next
  • Fonctions mysqli obsolètes et alias
    • mysqli_bind_param — Alias de mysqli_stmt_bind_param
    • mysqli_bind_result — Alias de mysqli_stmt_bind_result
    • mysqli_client_encoding — Alias de mysqli_character_set_name
    • mysqli_connect — Alias de mysqli::__construct
    • mysqli_disable_reads_from_master — Désactive la lecture depuis le maître
    • mysqli_disable_rpl_parse — Désactive l'analyseur RPL
    • mysqli_enable_reads_from_master — Active la lecture depuis le maître
    • mysqli_enable_rpl_parse — Active l'analyseur RPL
    • mysqli_escape_string — Alias de mysqli_real_escape_string
    • mysqli_execute — Alias de mysqli_stmt_execute
    • mysqli_fetch — Alias de mysqli_stmt_fetch
    • mysqli_get_cache_stats — Retourne les statistiques sur le cache du client Zval
    • mysqli_get_client_stats — Retournes des statistiques sur le client, par processus
    • mysqli_get_metadata — Alias de mysqli_stmt_result_metadata
    • mysqli_master_query — Force l'exécution d'une requête sur le maître dans une configuration maître/esclave
    • mysqli_param_count — Alias de mysqli_stmt_param_count
    • mysqli_report — Active ou désactive les fonctions de rapport interne
    • mysqli_rpl_parse_enabled — Vérifie si l'analyseur RPL est activé
    • mysqli_rpl_probe — Sonde le RPL
    • mysqli_rpl_query_type — Retourne le type de requête RPL
    • mysqli_send_long_data — Alias de mysqli_stmt_send_long_data
    • mysqli_send_query — Envoie la requête et retourne
    • mysqli_set_opt — Alias de mysqli_options
    • mysqli_slave_query — Force l'exécution de la requête sur un serveur esclave pour une configuration maître/esclave
mysql_unbuffered_query
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction
mysqli
PHP Manual

Introduction

L'extension mysqli vous permet d'accéder aux fonctionnalités fournies par MySQL 4.1 et supérieur. Pour plus d'informations sur le serveur de base de données MySQL, veuillez-vous rendre sur » http://www.mysql.com/

Une liste des logiciels disponibles permettant d'utiliser MySQL depuis PHP peut être trouvée sur Introduction

La documentation MySQL est disponible sur » http://dev.mysql.com/doc/.

Des morceaux du manuel MySQL ont été inclues dans la documentation PHP avec la permission de MySQL AB.

Exemples

Tous les exemples de la documentation mysqli utilisent la base de données world de Sun Microsystems, Inc. Elle est disponible à l'adresse » http://downloads.mysql.com/docs/world.sql.gz

mysqli
Introduction
mysqli


Introduction
Installation/Configuration
mysqli
PHP Manual

Introduction

Cette section fournit des informations sur les solutions qui s'offrent à vous quand vous développez une application PHP qui a besoin de s'interfacer avec une base de données MySQL.

Qu'est-ce qu'une API?

Une Interface de programmation d'application, une Application Programming Interface, ou encore API, définit les classes, méthodes, fonctions et variables dont votre application va faire usage pour exécuter différentes tâches. Dans le cas des applications PHP, les communications avec une base de données par généralement par une API qui est exposée dans une extension PHP.

Les API peuvent être procédurale ou orientée objet. Avec une API procédurale, vous pouvez appeler les fonctions pour exécuter des commandes; avec une API orientée objet, vous devez créer des objets et appeler les méthodes de ces objets. Des deux, c'est la dernière qui est généralement préférée, car elle est plus moderne, et conduit à du code plus organisé.

Lors de l'écriture d'applications PHP qui doivent se connecter à MySQL, il y a plusieurs API disponibles. Ce document présente ces API, et vous donne les informations pour choisir la meilleure solution pour votre application.

Qu'est-ce qu'un connecteur?

Dans la documentation MySQL, le terme connector fait référence à un logiciel qui permet à une application de se connecter à une base de données MySQL. MySQL fournit des connecteur pour toute une collection de langages, y compris PHP.

Si votre application PHP a besoin de communiquer avec un serveur de base de données, vous devez écrire du code pour pouvoir vous connecter, envoyer des requêtes au serveur, etc. Un logiciel est nécessaire pour assurer l'interface que PHP va utiliser et gèrer les communications entre votre application et le serveur de base de données : éventuellement, des bibliothèques intermédiaires sont nécessires. Ces logiciels sont appelés de manière générique des connecteurs, car ils permettent de se connecter à un serveur de base de données.

Qu'est-ce qu'un pilote ?

Un pilote est un logiciel qui est conçu pour communiquer avec un type particulier de base de données. Un pilote peut aussi être appelé une bibliothèque, telle que la MySQL Client Library ou le MySQL Native Driver. Ces bibliothèques implémentent le protocole de bas niveau pour communiquer avec un serveur MySQL.

Par exemple, la couche d'abstraction de base de données PHP Data Objects (PDO) utilise un ou plusieurs pilotes de base de données. Un de ces pilote est le pilote PDO MYSQL, qui permet de faire l'interface avec MySQL.

Parfois, les développeurs utilisent les termes de connecteur et de pilote de manière interchangeable, et cela peut être confus. Dans les documentations MySQL, le terme de "pilote" est réservé aux logiciels qui sont la face spécifique avec la base de données du paquet.

Qu'est-ce qu'une extension?

Dans la documentation PHP, vous rencontrerez un autre terme : extension. Le code PHP est constitué d'un coeur, avec des extensions optionnelles. Les extensions MySQL de PHP, telles que mysqli et mysql, sont implémentées avec le framework PHP.

Une extension expose typiquement une API à un programmeur PHP, pour lui permettre de faciliter sa programmation. Cependant, certaines extensions qui utilisent le framework PHP n'exposent pas d'API au développeur PHP.

L'extension de pilote PDO MySQL, par exemple, n'expose pas d'API au pgrammeur PHP, mais fournit une interface à la couche PDO.

Les termes API et extension ne devraient pas signifier la même chose, car une extension PHP ne fournit pas d'API particulière au pgorammeur PHP.

Quelles sont les API PHP pour MySQL?

Il y a trois API principales pour se connecter à MySQL :

  • L'extension mysql

  • L'extension mysqli

  • PHP Data Objects (PDO)

Chacune a ses avantages et ses inconvénients. Les sections suivantes tendent à vous donner une présentation rapide de chaque API.

Qu'est-ce que l'extension mysql de PHP?

C'est l'extension originelle, conçue pour réaliser des applications PHP qui sont en interaction avec une base MySQL. L'extension mysql fournit une interfac procédurale, et est destinée à une utilisation avec les serveurs MySQL versions 4.1.3 et plus anciennes. Cette extension peut être utilisée avec les versions de MySQL 4.1.3 et plus récente, mais elle ne pourra pas tirer parter des nouvelles fonctionnalités.

Note: Si vous utilisez MySQL versions 4.1.3 ou plus récent, il est fortement recommandé d'utiliser l'extension mysqli.

Le code source de l'extension mysql est située dans le dossier d'extension PHP ext/mysql.

Pour plus d'informations sur l'extension mysql, voyez MySQL.

Qu'est-ce que l'extension mysqli de PHP?

L'extension mysqli, ou, comme elle est parfois appelée, l'extension MySQL améliorée (i pour improved en anglais), a été développée pour tirer partir des nouvelles fonctionnalités des systèmes MySQL version 4.1.3 et plus récent. L'extension mysqli est inclue dans PHP depuis les versions 5.

L'extension mysqli a un grand nombre d'avantages et d'améliorations par rapport à l'extension mysql :

  • Interface orientée objet

  • Support des commandes préparées

  • Support des commandes multiples

  • Support des Transactions

  • Capacités de déboguage avancées

  • Support du serveur embarqué

Note: Si vous utilisez MySQL versions 4.1.3 ou plus récent, il est fortement recommandé d'utiliser cette extension.

En plus d'une interface orientée objet, l'extension propose aussi une interface procédurale.

L'extension mysqli est compilée avec le framework PHP, et son code source est rangé dans le dossier ext/mysqli.

Pour plus d'informations sur l'extension mysqli, voyez mysqli.

Qu'est-ce que l'extension PDO de PHP?

PHP Data Objects, ou PDO, est une couche d'abstraction de base de données, spécifique à PHP. PDO propose une API cohérente pour vos applications PHP, indépendamment du type de base de données avec laquelle vous travaillez. En théorie, si vous utilisez PDO, vous pouvez changer de base de données, disons de Firebird à MySQL, et ne faire que des changements mineurs à votre code PHP.

D'autres exemples de couches d'abstraction de base de données incluent JDBC pour Java et DBI pour Perl.

Si PDO has ses avantages, comme une API propre, simple et portable, ses inconvénients principaux sont qu'elle ne vous permet pas d'utiliser toutes les fonctionnalités avancées des dernières versions de MySQL. Par exemple, PDO ne vous permet pas de faire des requêtes multiples.

PDO est implémenté en utilisant le framework PHP, et son code source est rangé dans le dossier ext/pdo.

Pour plus d'informations sur PDO, voyez PDO.

Qu'est-ce que le pilote MySQL pour PDO ?

Le pilote PDO MYSQL n'est pas une API en temps que tel, au moins du point de vue du développeur PHP. En fait, le pilote PDO MYSQL fait partie de PDO, et fournit les fonctionnalités particulières à MySQL. Le programmeur appelle l'API PDO, mais PDO utilise le pilote PDO MYSQL pour assurer les communications avec MySQL.

Le pilote PDO MYSQL fait partie de la grande famille des pilotes PDO. Les auters pilotes disponibles assurent les communications avec Firebird et PostgreSQL, entre autres.

Le pilote PDO MYSQL est implémenté avec le framework d'extension de PHP. Son code source est situé dans le dossier ext/pdo_mysql. Il n'exposet aucune API au programmeur PHP.

Pour plus de détails sur le pilote PDO de MySQL, voyez MySQL (PDO).

What is PHP's MySQL Native Driver?

Pour communiquer avec le serveur MySQL, les extensions mysql , mysqli et le pilote PDO MYSQL utilisent tous une bibliothèque bas niveau qui implémente le protocole MySQL. Par lepassé, la seule bibliothèque disponible était la MySQL Client Library, aussi appelée libmysql.

Cependant, l'interface présentée par libmysql n'était pas optimisée pour les communications avec PHP, et libmysql était conçue à l'origine en C, pour des applications de même type. Pour cette raison, le pilote MySQL natif mysqlnd a été développé comme une alternative à libmysql pour les applications PHP.

Les extensions mysql, mysqli et le pilote MySQL natif peuvent chacun utiliser libmysql ou mysqlnd. Comme mysqlnd a été conçu spécifique pour utiliser le système PHP, il propose de nombreux avantages et améliorations par rapport à libmysql. Vous êtes vivement encouragés à en profiter.

Note: Le MySQL Native Driver ne peut être utilisé qu'avec le serveur MySQL versions 4.1.3 et plus récent.

Le MySQL Native Driver est implémenté sur la base du framework d'extension PHP. Le code source est dans ext/mysqlnd. Il n'expose aucune nouvelle API au programmeur PHP.

Comparaison des fonctionnalités

La table suivante compare les fonctionnalités des trois méthodes principales pour se connecter à MySQL depuis PHP :

 | Extension mysqli | PDO (avec le pilote PDO MySQL Driver et MySQL Native Driver) | Extension MySQL
Version d'introduction en PHP | 5.0 | 5.0 | Avant 3.0
Inclus en PHP 5.x | yes | yes | Oui
Statut de développement MySQL | Développement actif | Développement actif depuis PHP 5.3 | Maintenance uniquement
Recommandée pour les nouveaux projets MySQL | Oui, et recommandée | Oui | Non
L'API supporte les jeux de caractères | Oui | Oui | Non
L'API supporte les commandes préparées | Oui | Oui | Non
L'API supporte les commandes préparées coté client | Non | Oui | Non
L'API supporte les procédures stockées | Oui | Oui | Non
L'API supporte les commandes multiples | Oui | La plupart | Non
Toutes toutes les fonctionnalités MySQL 4.1 et plus récent | Oui | La plupart | Non
Introduction
Installation/Configuration
mysqli


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
mysqli


Pré-requis

Pour faire fonctionner ces fonctions, vous devez compiler PHP avec le support de l'extension MySQLi.

Note: L'extension MySQLi est conçue pour fonctionner avec la version 4.1.13 ou plus récent, et 5.0.7 et plus récent, de MySQL. Pour les versions plus anciennes, voyez la documentation de l'extension MySQL.

Installation/Configuration
Installation
Installation/Configuration


Installation

Depuis PHP 5.0, le support de MySQL n'est plus activé par défaut dans la distribution standard. Cela signifie que PHP doit être explicitement configuré pour pouvoir profiter des extensions MysQL.

Les distributions Unix courantes incluent une version binaire de PHP qui peut être installée. Même si ces fonctions binaires sont typiquement compilées avec le support MysQL, les bibliothèques de l'extension ont parfois besoin d'être installée en utilisant un paquet supplémentaire. Vérifiez du coté du gestionnaire de paquet qui vient avec votre distribution pour pouvoir l'installer facilement.

A moins que votre distribution Unix ne soit livrée avec un paquet binaire de PHP et l'extension mysqli, vous aurez besoin de compiler PHP depuis le code source. Compiler PHP depuis les sources vous permet de spécifier les extensions MySQL dont vous avez besoin, ainsi que toute les autres bibliothèques.

Pour vous assurer que l'extension mysqli est active, vous devez configurer le code source avec mysqli. Cela se fait avec la commande configure et l'option --with-mysqli=mysql_config_path/mysql_config, avant la compilation proprement dite. Cela va activer mysqli et et utiliser la bibliothèque MySQL Client Library (libmysql) pour communiquer avec le serveur MySQL.

Note: mysql_config_path représente la localisation du programme mysql_config qui est livré avec MySQL Server.

Avec les versions PHP 5.3 et plus récentes, vous pouvez utiliser aussi le MySQL Native Driver avec mysqli. Vous aurez accès à de nombreux avantages par rapport à libmysql.

Pour utiliser le MySQL Native Driver avec mysqli vous devez configurer le code source PHP avec l'option --with-mysqli=mysqlnd, avant la compilation.

C'est l'option recommandée, car en utilisant le pilote MySQL natif, vous aurez de meilleures performances et accès à des fonctionnalités qui ne sont pas disponibles avec la bibliothèque MySQL Client Library. Reportez-vous à la page Qu'est-ce que le pilote MySQL natif de MySQL? pour une description de ses avantages.

Notez qu'il est possible de mélanger librement les extensions MySQL et les bibliothèques cliente. Par exemple, il est possible d'activer l'extension mysql avec MySQL Client Library (libmysql), tout en configurant l'extension mysqli avec le MySQL Native Driver. Toutes les combinaisons de client et bibliothèques ne sont pas possibles.

L'exemple suivant compile l'extension PHP avec la bibliothèque MySQL Client Library, et mysqli et PDO MYSQL avec le MySQL Native Driver :

./configure --with-mysql=/usr/bin/mysql_config  \
  --with-mysqli=mysqlnd \
  --with-pdo-mysql=mysqlnd
  [other options]

Installation sur les systèmes Windows

Sur Windows, PHP est généralement installé avec un installeur binaire. Une fois PHP installé, un peu de configuration est nécessaire pour activer mysqli et spécifier la bibliothèque client que vous voulez utiliser.

Comme mentionné auparavant, l'extension mysqli n'est pas activée par défaut, ce qui fait que la bibliothèque DLL php_mysqli.dll doit être activée dans le php.ini. Afin de faire cela, vous devez localiser le fichier php.ini (généralement, dans le dossier c:\php), et vous assurer de bien retirer la marque de commentaire (un point-virgule), qui est au début de la ligne extension=php_mysqli.dll, dans la section [PHP_MYSQLI].

Enfin, si vous voulez utiliser la bibliothèque MySQL Client Library avec mysqli, vous devez vous assurer que PHP peut y accéder. La MySQL Client Library est incluse sous le nom libmysql.dll dans la distribution PHP pour Windows. Ce fichier doit être disponible dans la variable système PATH de Windows, pour qu'elle puisse être identifiée. Voyez la FAQ intitulée Comment ajouter mon dossier PHP dans le PATH de Windows" pour des détails sur cette opération. Copier le fichier libmysql.dll dans le dossier système Windows (généralement c:\Windows\system) est aussi possible, car c'est le dossier système par défaut dans PATH. Cependant, cette pratique est fortement découragée.

Sous Windows, pour les versions 5.3 et suivantes de PHP, l'extension mysqli utilise le driver natif MySQL par défaut. Cela signifie que vous n'avez pas à vous préoccuper de l'accès au fichier libmysql.dll, mais vous devez simplement vous assurer que l'extension est active dans le fichier php.ini.

Comme pour l'activation de n'importe quelle extension PHP (comme php_mysqli.dll), la directive PHP extension_dir doit représenter le dossier où sont stockées les extensions PHP. Reportez-vous à la page Instructions manuelles d'installation sous Windows. Un exemple de valeur pour la directive extension_dir en PHP 5 est c:\php\ext

Note: Lors du démarrage de votre serveur web, si une erreur du type "Unable to load dynamic library './php_mysqli.dll'" survient, cela indique que le fichier php_mysqli.dll et/ou libmysql.dll n'a pu être trouvé par le système.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration MySQLi
Nom | Défaut | Modifiable | Historique
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.5.
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.2.4.
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Pour plus de détails et de définitions concernant les constantes PHP_INI_* ci-dessus, reportez-vous au chapitre sur les modifications de configuration.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mysqli.allow_persistent integer

Active la possibilité de créer des connexions persistantes en utilisant la fonction mysqli_connect().

mysqli.persistent integer

Nombre maximal de connexions persistantes pouvant être réalisé. Par défaut, vaut 0, ce qui signifie "illimité".

mysqli.max_links entier

Le nombre maximal de connexions MySQL par processus, incluant les connexions persistantes.

mysqli.default_port integer

Le numéro par défaut de port TCP à utiliser lors de la connexion au serveur si aucun autre port n'est fourni. S'il n'est pas défini, le port sera obtenu à partir de la variable d'environnement MYSQL_TCP_PORT, l'entrée mysql-tcp dans /etc/services ou la constante de compilation MYSQL_PORT, dans cet ordre. Win32 n'utilisera que la constante MYSQL_PORT.

mysqli.default_socket string

Le nom par défaut de la socket à utiliser lors des connexions locales au serveur si aucun autre nom n'est fourni.

mysqli.default_host string

Le serveur par défaut à utiliser lors de la connexion à un serveur si aucun autre hôte n'est fourni. Ne s'applique pas avec le safe mode.

mysqli.default_user string

Le nom d'utilisateur par défaut à utiliser lors de la connexion à un serveur si aucun autre nom n'est fourni. Ne s'applique pas avec le safe mode.

mysqli.default_pw string

Le mot de passe par défaut à utiliser lors de la connexion à un serveur si aucun autre mot de passe n'est fourni. Ne s'applique pas avec le safe mode.

mysqli.reconnect integer

Reconnexion automatique si la connexion est interrompue.

mysqli.allow_local_infile integer

mysqli.cache_size integer

Disponible uniquement avec mysqlnd.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
L'extension mysqli et les connexions persistantes
Installation/Configuration


L'extension mysqli et les connexions persistantes

Les connexions persistantes ont été ajoutés en PHP 5.3 pour l'extension mysqli. Le support est déjà présent dans PDO_MYSQL et ext/mysql. L'idée derrière les connexions persistantes est que les connexions entre les clients et la base peuvent être réutilisés par un autre processus client, au lieu d'être détruits et recréés de nombreuses fois. Cela réduit le coût de création des connexions à chaque fois que l'une d'entre elle est requise, car les connexions sont mises en cache pour être recyclées.

Contrairement à l'extension MySQL, MySQLi ne fournit pas de fonction séparée pour ouvrir des connexions persistantes. Pour ouvrir une connexion persistante, vous devez ajouter p: au nom de l'hôte lors de la connexion.

Le problème des connexions persistantes est qu'elles peuvent être laissées dans un état imprévisible, par les clients. Par exemple, un verrou de table peut avoir été posé avant que le client ne se déconnecte inopinément. Un nouveau client va alors prendre la connexion, mais "tel quel". Il faudrait alors que le nouveau venu effectue un nettoyage en profondeur de la connexion avant de pouvoir la réutiliser sans parasitage, ce qui est un inconvénient pour le programmeur.

La connexion persistante de l'extension mysqli fournit une méthode de nettoyage automatique. Le nettoyage est effectué par mysqli et inclut :

  • L'annulation des transactions actives.

  • La fermeture et destruction des tables temporaires.

  • Le déverrouillage des tables

  • La remise à la valeur par défaut les variables de sessions

  • La libération des commandes préparées (cela arrive toujours avec PHP)

  • La fermeture du gestionnaire

  • La libération des verrous posés par GET_LOCK()

Cela assure que la connexion persistante est dans une condition correcte avant d'être remise dans le groupe de connexion, et qu'un client différent la reprenne.

L'extension mysqli effectue ce nettoyage e appelant automatiquement la fonction C mysql_change_user().

Le nettoyage automatique a ses avantages et ses inconvénients. L'avantage est que le programmeurs n'a pas besoin de s'en inquiéter, car il est appelé automatiquement. Cependant, l'inconvénient est que ce code peut éventuellement être un peu plus lent, car il doit être appelé à chaque fois que la connexion est retournée dans le groupe d'attente.

Il est possible de désactiver le nettoyage du code, en compilant PHP avec l'option MYSQLI_NO_CHANGE_USER_ON_PCONNECT.

Note: L'extension mysqli supporte les connexions persistantes avec le MySQL Native Driver et avec la bibliothèque MySQL.

Types de ressources
Constantes pré-définies
mysqli


Constantes pré-définies

MYSQLI_READ_DEFAULT_GROUP

Lit les options dans le groupe my.cnf ou dans le fichier spécifié par MYSQLI_READ_DEFAULT_FILE

MYSQLI_READ_DEFAULT_FILE

Lit les options dans le fichier spécifié, plutôt que dans my.cnf

MYSQLI_OPT_CONNECT_TIMEOUT

Durée d'expiration de la connexion, en secondes

MYSQLI_OPT_LOCAL_INFILE

Active la commande LOAD LOCAL INFILE

MYSQLI_INIT_COMMAND

Commande à exécuter lors de la connexion au serveur MySQL. Cette commande sera exécutée automatiquement lors de la reconnexion au serveur.

MYSQLI_CLIENT_SSL

Utilise le protocole SSL (chiffrement). Cette option ne doit pas être activée par un programme : elle doit être activée en interne, par la bibliothèque MySQL.

MYSQLI_CLIENT_COMPRESS

Utilise le protocole compressé

MYSQLI_CLIENT_INTERACTIVE

Permet interactive_timeout secondes (au lieu de wait_timeout secondes) d'inactivité avant de fermer la connexion. La valeur de la variable wait_timeout du client prendra la valeur de interactive_timeout.

MYSQLI_CLIENT_IGNORE_SPACE

Permet les espaces après un nom de fonction. Cela fait de tous les noms de fonctions, des mots réservés.

MYSQLI_CLIENT_NO_SCHEMA

Interdit la syntaxe db_name.tbl_name.col_name.

MYSQLI_CLIENT_MULTI_QUERIES

Permet plusieurs requêtes séparées par un point-virgule dans un seul appel à la fonction mysqli_query().

MYSQLI_STORE_RESULT

Pour les résultats mis en tampon

MYSQLI_USE_RESULT

Pour les résultats non-mis en tampon

MYSQLI_ASSOC

Les colonnes sont retournées dans le tableau, avec leurs noms comme index.

MYSQLI_NUM

Les colonnes sont retournées dans le tableau, avec leurs numéros comme index.

MYSQLI_BOTH

Les colonnes sont retournées dans le tableau, avec leurs noms et leurs numéros comme index.

MYSQLI_NOT_NULL_FLAG

Indique qu'un champ est défini comme NOT NULL

MYSQLI_PRI_KEY_FLAG

Le champ est une clé primaire

MYSQLI_UNIQUE_KEY_FLAG

Le champ est un index unique

MYSQLI_MULTIPLE_KEY_FLAG

Le champ fait partie d'un index

MYSQLI_BLOB_FLAG

Le champ est de type BLOB

MYSQLI_UNSIGNED_FLAG

Le champ est de type UNSIGNED

MYSQLI_ZEROFILL_FLAG

Le champ est de type ZEROFILL

MYSQLI_AUTO_INCREMENT_FLAG

Le champ est de type AUTO_INCREMENT

MYSQLI_TIMESTAMP_FLAG

Le champ est de type TIMESTAMP

MYSQLI_SET_FLAG

Le champ est de type SET

MYSQLI_NUM_FLAG

Le champ est de type NUMERIC

MYSQLI_PART_KEY_FLAG

Le champ fait partie d'un index multiple

MYSQLI_GROUP_FLAG

Le champ fait partie de la clause GROUP BY

MYSQLI_TYPE_DECIMAL

Le champ est de type DECIMAL

MYSQLI_TYPE_NEWDECIMAL

Le champ est de type DECIMAL ou NUMERIC (MySQL 5.0.3 et supérieur)

MYSQLI_TYPE_BIT

Le champ est de type BIT (MySQL 5.0.3 et supérieur)

MYSQLI_TYPE_TINY

Le champ est de type TINYINT

MYSQLI_TYPE_SHORT

Le champ est de type SMALLINT

MYSQLI_TYPE_LONG

Le champ est de type INT

MYSQLI_TYPE_FLOAT

Le champ est de type FLOAT

MYSQLI_TYPE_DOUBLE

Le champ est de type DOUBLE

MYSQLI_TYPE_NULL

Le champ est de type DEFAULT NULL

MYSQLI_TYPE_TIMESTAMP

Le champ est de type TIMESTAMP

MYSQLI_TYPE_LONGLONG

Le champ est de type BIGINT

MYSQLI_TYPE_INT24

Le champ est de type MEDIUMINT

MYSQLI_TYPE_DATE

Le champ est de type DATE

MYSQLI_TYPE_TIME

Le champ est de type TIME

MYSQLI_TYPE_DATETIME

Le champ est de type DATETIME

MYSQLI_TYPE_YEAR

Le champ est de type YEAR

MYSQLI_TYPE_NEWDATE

Le champ est de type DATE

MYSQLI_TYPE_INTERVAL

Le champ est de type INTERVAL

MYSQLI_TYPE_ENUM

Le champ est de type ENUM

MYSQLI_TYPE_SET

Le champ est de type SET

MYSQLI_TYPE_TINY_BLOB

Le champ est de type TINYBLOB

MYSQLI_TYPE_MEDIUM_BLOB

Le champ est de type MEDIUMBLOB

MYSQLI_TYPE_LONG_BLOB

Le champ est de type LONGBLOB

MYSQLI_TYPE_BLOB

Le champ est de type BLOB

MYSQLI_TYPE_VAR_STRING

Le champ est de type VARCHAR

MYSQLI_TYPE_STRING

Le champ est de type STRING

MYSQLI_TYPE_CHAR

Le champ est de type CHAR

MYSQLI_TYPE_GEOMETRY

Le champ est de type GEOMETRY

MYSQLI_NEED_DATA

Il reste des variables à relier

MYSQLI_NO_DATA

Il n'y a plus de variables à relier

MYSQLI_DATA_TRUNCATED

Les données ont été tronquées. Disponible depuis PHP 5.1.0 et MySQL 5.0.5.

MYSQLI_ENUM_FLAG

Le champ est défini comme ENUM. Disponible depuis PHP 5.3.0.

MYSQLI_CURSOR_TYPE_FOR_UPDATE

MYSQLI_CURSOR_TYPE_NO_CURSOR

MYSQLI_CURSOR_TYPE_READ_ONLY

MYSQLI_CURSOR_TYPE_SCROLLABLE

MYSQLI_STMT_ATTR_CURSOR_TYPE

MYSQLI_STMT_ATTR_PREFETCH_ROWS

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH

MYSQLI_SET_CHARSET_NAME

L'extension mysqli et les connexions persistantes
Sommaire des fonctions de l'extension MySQLi
mysqli


Sommaire des fonctions de l'extension MySQLi

Classe MySQLi
Interface POO | Interface procédural | Alias (Ne plus utiliser) | Description
Propriétés
$mysqli->affected_rows | mysqli_affected_rows() | N/A | Retourne le nombre de lignes affectées par la dernière opération MySQL
$mysqli->client_info | mysqli_get_client_info() | N/A | Retourne la version du client MySQL sous la forme d'une chaîne de caractères
$mysqli->client_version | mysqli_get_client_version() | N/A | Retourne l'information sur la version du client MySQL sous la forme d'un entier
$mysqli->connect_errno | mysqli_connect_errno() | N/A | Retourne le code d'erreur de la connexion MySQL
$mysqli->connect_error | mysqli_connect_error() | N/A | Retourne le message d'erreur de la connexion MySQL
$mysqli->errno | mysqli_errno() | N/A | Retourne le code d'erreur de connexion MySQL
$mysqli->error | mysqli_error() | N/A | Retourne le message d'erreur de connexion MySQL
$mysqli->field_count | mysqli_field_count() | N/A | Retourne le nombre de colonnes pour la dernière requête
$mysqli->host_info | mysqli_get_host_info() | N/A | Retourne une chaîne contenant le type de connexion utilisée
$mysqli->protocol_version | mysqli_get_proto_info() | N/A | Retourne la version du protocole MySQL utilisé
$mysqli->server_info | mysqli_get_server_info() | N/A | Retourne un entier représentant la version du serveur MySQL
$mysqli->server_version | mysqli_get_server_version() | N/A | Retourne la version du serveur MySQL
$mysqli->info | mysqli_info() | N/A | Retourne des informations à propos de la dernière requête exécutée
$mysqli->insert_id | mysqli_insert_id() | N/A | Retourne l'identifiant automatiquement généré par la dernière requête
$mysqli->sqlstate | mysqli_sqlstate() | N/A | Retourne l'erreur SQLSTATE de la dernière opération MySQL
$mysqli->warning_count | mysqli_warning_count() | N/A | Retourne le nombre d'avertissements générés par la dernière requête
Méthodes
mysqli->autocommit | mysqli_autocommit() | N/A | Active ou désactive le mode auto-commit
mysqli->change_user | mysqli_change_user() | N/A | Change l'utilisateur de la connexion spécifiée
mysqli->character_set_name, mysqli->client_encoding | mysqli_character_set_name() | mysqli_client_encoding() | Retourne le jeu de caractères courant pour la connexion
mysqli->close | mysqli_close() | N/A | Ferme une connexion
mysqli->commit | mysqli_commit() | N/A | Valide la transaction courante
mysqli::__construct | mysqli_connect() | N/A | Ouvre une connexion à un serveur MySQL
mysqli->debug | mysqli_debug() | N/A | Effectue des actions de déboguage
mysqli->dump_debug_info | mysqli_dump_debug_info() | N/A | Écrit les informations de déboguage dans les logs
mysqli->get_charset | mysqli_get_charset() | N/A | Retourne un objet représentant le jeu de caractères
mysqli->get_connection_stats | mysqli_get_connection_stats() | N/A | Retourne des statistiques sur la connexion du client. Disponible uniquement avec mysqlnd.
mysqli->get_client_info | mysqli_get_client_info() | N/A | Retourne une chaîne contenant la version du client MySQL
mysqli->get_client_stats | mysqli_get_client_stats() | N/A | Retourne les statistiques du client MySQL. Disponible uniquement avec mysqlnd.
mysqli->get_cache_stats | mysqli_get_cache_stats() | N/A | Retourne les statistiques de cache Zval. Disponible uniquement avec mysqlnd.
mysqli->get_server_info | mysqli_get_server_info() | N/A | Non documenté
mysqli->get_warnings | mysqli_get_warnings() | N/A | Non documenté
mysqli::init | mysqli_init() | N/A | Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
mysqli->kill | mysqli_kill() | N/A | Demande au serveur de terminer un thread MySQL
mysqli->more_results | mysqli_more_results() | N/A | Vérifie s'il y a d'autres jeux de résultats MySQL disponibles
mysqli->multi_query | mysqli_multi_query() | N/A | Exécute une requête MySQL multiple
mysqli->next_result | mysqli_next_result() | N/A | Prépare le prochain résultat d'une requête multiple
mysqli->options | mysqli_options() | mysqli_set_opt() | Définit les options
mysqli->ping | mysqli_ping() | N/A | Ping la connexion au serveur et reconnecte si elle n'existe plus
mysqli->prepare | mysqli_prepare() | N/A | Prépare une requête SQL pour l'exécution
mysqli->query | mysqli_query() | N/A | Exécute une requête sur la base de données
mysqli->real_connect | mysqli_real_connect() | N/A | Ouvre une connexion à un serveur MySQL
mysqli->real_escape_string, mysqli->escape_string | mysqli_real_escape_string() | mysqli_escape_string() | Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête
mysqli->real_query | mysqli_real_query() | N/A | Exécute une requête SQL
mysqli->rollback | mysqli_rollback() | N/A | Annule la transaction courante
mysqli->select_db | mysqli_select_db() | N/A | Sélectionne une base de données par défaut pour les requêtes
mysqli->set_charset | mysqli_set_charset() | N/A | Définit le jeu de caractères par défaut du client
mysqli->set_local_infile_default | mysqli_set_local_infile_default() | N/A | Rétablit le gestionnaire par défaut pour la commande LOAD LOCAL INFILE
mysqli->set_local_infile_handler | mysqli_set_local_infile_handler() | N/A | Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE
mysqli->ssl_set | mysqli_ssl_set() | N/A | Utilisée pour établir une connexion sécurisée avec SSL
mysqli->stat | mysqli_stat() | N/A | Obtient le statut courant du système
mysqli->stmt_init | mysqli_stmt_init() | N/A | Initialise une commande MySQL
mysqli->store_result | mysqli_store_result() | N/A | Transfère un jeu de résultats à partir de la dernière requête
mysqli->thread_id | mysqli_thread_id() | N/A | Retourne l'identifiant du thread pour la connexion courante
mysqli->thread_safe | mysqli_thread_safe() | N/A | Indique si le support des threads est activé ou pas
mysqli->use_result | mysqli_use_result() | N/A | Initialise la récupération d'un jeu de résultats
MySQL_STMT
Interface POO | Interface procédural | Alias (Ne plus utiliser) | Description
Propriétés
$mysqli_stmt->affected_rows | mysqli_stmt_affected_rows() | N/A | Le nombre total de lignes modifiées, effacées ou insérées par la dernière
$mysqli_stmt->errno | mysqli_stmt_errno() | N/A | Le code erreur de la dernière requête
$mysqli_stmt->error | mysqli_stmt_error() | N/A | Le message d'erreur de la dernière requête
$mysqli_stmt->field_count | mysqli_stmt_field_count() | N/A | Le nombre de champs présent dans la requête donnée
$mysqli_stmt->insert_id | mysqli_stmt_insert_id() | N/A | L'ID généré par la dernière requête INSERT
$mysqli_stmt->num_rows | mysqli_stmt_num_rows() | N/A | Le nombre de lignes d'un résultat MySQL
$mysqli_stmt->param_count | mysqli_stmt_param_count() | mysqli_param_count() | Le nombre de paramètre d'une commande SQL
$mysqli_stmt->sqlstate | mysqli_stmt_sqlstate() | N/A | Le code SQLSTATE de la dernière opération MySQL
Méthodes
mysqli_stmt->attr_get | mysqli_stmt_attr_get() | N/A | Récupère la valeur courante d'un attribut de requête
mysqli_stmt->attr_set | mysqli_stmt_attr_set() | N/A | Modifie le comportement d'une requête préparée
mysqli_stmt->bind_param | mysqli_stmt_bind_param() | mysqli_bind_param() | Lie des variables à une requête MySQL
mysqli_stmt->bind_result | mysqli_stmt_bind_result() | mysqli_bind_result() | Lie des variables à un jeu de résultats
mysqli_stmt->close | mysqli_stmt_close() | N/A | Termine une requête préparée
mysqli_stmt->data_seek | mysqli_stmt_data_seek() | N/A | Déplace le pointeur de résultat
mysqli_stmt->execute | mysqli_stmt_execute() | mysqli_execute() | Exécute une requête préparée
mysqli_stmt->fetch | mysqli_stmt_fetch() | mysqli_fetch() | Lit des résultats depuis une requête MySQL préparée dans des variables liées
mysqli_stmt->free_result | mysqli_stmt_free_result() | N/A | Libère le résultat MySQL de la mémoire
$mysqli_stmt->get_result() | mysqli_stmt_get_result | N/A | Non documenté. Disponible uniquement avec mysqlnd.
mysqli_stmt->get_warnings | mysqli_stmt_get_warnings() | N/A | Non documenté
$mysqli_stmt->more_results() | mysqli_stmt_more_results() | N/A | Non documenté. Disponible uniquement avec mysqlnd.
$mysqli_stmt->next_result() | mysqli_stmt_next_result() | N/A | Non documenté. Disponible uniquement avec mysqlnd.
mysqli_stmt->num_rows | mysqli_stmt_num_rows() | N/A | Voir aussi la propriété $mysqli_stmt->num_rows
mysqli_stmt->prepare | mysqli_stmt_prepare() | N/A | Prépare une requête SQL pour l'exécution
mysqli_stmt->reset | mysqli_stmt_reset() | N/A | Annule une requête préparée
mysqli_stmt->result_metadata | mysqli_stmt_result_metadata() | mysqli_get_metadata() | Retourne les métadonnées de préparation de requête MySQL
mysqli_stmt->send_long_data | mysqli_stmt_send_long_data() | mysqli_send_long_data() | Envoie des données MySQL par paquets
mysqli_stmt->store_result | mysqli_stmt_store_result() | N/A | Stocke un jeu de résultats depuis une requête préparée
MySQLi_RESULT
Interface POO | Interface procédural | Alias (Ne plus utiliser) | Description
Propriétés
$mysqli_result->current_field | mysqli_field_tell() | N/A | La position courante d'un champ dans un pointeur de résultat
$mysqli_result->field_count | mysqli_num_fields() | N/A | Le nombre de champs dans un résultat
$mysqli_result->lengths | mysqli_fetch_lengths() | N/A | Les tailles des champs dans un résultat
$mysqli_result->num_rows | mysqli_num_rows() | N/A | Le nombre de lignes dans un résultat
Méthodes
mysqli_result->data_seek | mysqli_data_seek() | N/A | Déplace le pointeur interne de résultat
mysqli_result->fetch_all | mysqli_fetch_all() | N/A | Lit toutes les lignes de résultats dans un tableau associatif, numérique, ou les deux. Disponible uniquement avec mysqlnd.
mysqli_result->fetch_array | mysqli_fetch_array() | N/A | Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
mysqli_result->fetch_assoc | mysqli_fetch_assoc() | N/A | Récupère une ligne de résultat sous forme de tableau associatif
mysqli_result->fetch_field_direct | mysqli_fetch_field_direct() | N/A | Récupère les métadonnées d'un champ unique
mysqli_result->fetch_field | mysqli_fetch_field() | N/A | Retourne le prochain champs dans le jeu de résultats
mysqli_result->fetch_fields | mysqli_fetch_fields() | N/A | Retourne un tableau d'objets représentant les champs dans le résultat
mysqli_result->fetch_object | mysqli_fetch_object() | N/A | Retourne la ligne courante d'un jeu de résultat sous forme d'objet
mysqli_result->fetch_row | mysqli_fetch_row() | N/A | Récupère une ligne de résultat sous forme de tableau indexé
mysqli_result->field_seek | mysqli_field_seek() | N/A | Déplace le pointeur de résultat sur le champs spécifié
mysqli_result->free, mysqli_result->close, mysqli_result->free_result | mysqli_free_result() | N/A | Libère la mémoire associée à un résultat
MySQL_Driver
Interface POO | Interface procédural | Alias (Ne plus utiliser) | Description
Propriétés
N/A
Méthodes
mysqli_driver->embedded_server_end | mysqli_embedded_server_end() | N/A | Non documenté
mysqli_driver->embedded_server_start | mysqli_embedded_server_start() | N/A | Non documenté

Note: Les alias sont fournies pour assurer la compatibilité ascendante. Ne les utilisez pas dans de nouveaux projets.

Constantes pré-définies
MySQLi
mysqli


La classe MySQLi

Introduction

Représente une connexion entre PHP et une base de données MySQL.

Synopsis de la classe

MySQLi
MySQLi {
/* Propriétés */
int $affected_rows;
string $client_info;
int $client_version;
string $connect_errno;
string $connect_error;
int $errno;
string $error;
int $field_count;
int $client_version;
string $host_info;
string $protocol_version;
string $server_info;
int $server_version;
string $info;
mixed $insert_id;
string $sqlstate;
int $thread_id;
int $warning_count;
/* Méthodes */
int mysqli_affected_rows ( mysqli $link )
bool mysqli::autocommit ( bool $mode )
bool mysqli::change_user ( string $user , string $password , string $database )
string mysqli::character_set_name ( void )
string mysqli_get_client_info ( mysqli $link )
int mysqli_get_client_version ( mysqli $link )
bool mysqli::close ( void )
bool mysqli::commit ( void )
int mysqli_connect_errno ( void )
string mysqli_connect_error ( void )
  mysqli  mysqli_connect
  ([  string  $host = ini_get("mysqli.default_host")
 [,  string  $username = ini_get("mysqli.default_user")
 [,  string  $passwd = ini_get("mysqli.default_pw")
 [,  string  $dbname = ""
 [,  int  $port = ini_get("mysqli.default_port")
 [,  string  $socket = ini_get("mysqli.default_socket")
]]]]]] )
bool mysqli::debug ( string $message )
bool mysqli::dump_debug_info ( void )
int mysqli_errno ( mysqli $link )
string mysqli_error ( mysqli $link )
int mysqli_field_count ( mysqli $link )
object mysqli::get_charset ( void )
string mysqli::get_client_info ( void )
int mysqli_get_client_version ( mysqli $link )
bool mysqli::get_connection_stats ( void )
string mysqli_get_host_info ( mysqli $link )
int mysqli_get_proto_info ( mysqli $link )
string mysqli_get_server_info ( mysqli $link )
int mysqli_get_server_version ( mysqli $link )
mysqli_warning mysqli::get_warnings ( void )
string mysqli_info ( mysqli $link )
mysqli mysqli::init ( void )
mixed mysqli_insert_id ( mysqli $link )
bool mysqli::kill ( int $processid )
bool mysqli::more_results ( void )
bool mysqli::multi_query ( string $query )
bool mysqli::next_result ( void )
bool mysqli::options ( int $option , mixed $value )
bool mysqli::ping ( void )
public int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
mysqli_stmt mysqli::prepare ( string $query )
mixed mysqli::query ( string $query [, int $resultmode ] )
bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
string mysqli::escape_string ( string $escapestr )
bool mysqli::real_query ( string $query )
public mysqli_result mysqli::reap_async_query ( void )
bool mysqli::rollback ( void )
bool mysqli::select_db ( string $dbname )
bool mysqli::set_charset ( string $charset )
void mysqli_set_local_infile_default ( mysqli $link )
bool mysqli::set_local_infile_handler ( mysqli $link , callback $read_func )
string mysqli_sqlstate ( mysqli $link )
bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
string mysqli::stat ( void )
mysqli_stmt mysqli::stmt_init ( void )
mysqli_result mysqli::store_result ( void )
int mysqli_thread_id ( mysqli $link )
bool mysqli_thread_safe ( void )
mysqli_result mysqli::use_result ( void )
int mysqli_warning_count ( mysqli $link )
}

Sommaire

  • mysqli->affected_rows — Retourne le nombre de lignes affectées par la dernière opération MySQL
  • mysqli::autocommit — Active ou désactive le mode auto-commit
  • mysqli::change_user — Change l'utilisateur de la connexion spécifiée
  • mysqli::character_set_name — Retourne le jeu de caractères courant pour la connexion
  • mysqli->client_info — Retourne la version du client MySQL, sous la forme d'une chaîne de caractères
  • mysqli->client_version — Récupère les informations du client MySQL
  • mysqli::close — Ferme une connexion
  • mysqli::commit — Valide la transaction courante
  • mysqli->connect_errno — Retourne le code d'erreur de la connexion MySQL
  • mysqli->connect_error — Retourne le message d'erreur de connexion MySQL
  • mysqli::__construct — Ouvre une connexion à un serveur MySQL
  • mysqli::debug — Effectue des actions de déboguage
  • mysqli::dump_debug_info — Écrit les informations de déboguage dans les logs
  • mysqli->errno — Retourne le dernier code d'erreur produit
  • mysqli->error — Retourne une chaîne décrivant la dernière erreur
  • mysqli->field_count — Retourne le nombre de colonnes pour la dernière requête
  • mysqli::get_charset — Retourne un objet représentant le jeu de caractères
  • mysqli->get_client_info — Retourne une chaîne contenant la version du client MySQL
  • mysqli->client_version — Lit les informations du client MySQL
  • mysqli::get_connection_stats — Retourne des statistiques sur la connexion
  • mysqli->host_info — Retourne une chaîne contenant le type de connexion utilisée
  • mysqli->protocol_version — Retourne la version du protocole MySQL utilisé
  • mysqli->server_info — Retourne la version du serveur MySQL
  • mysqli->server_version — Retourne un entier représentant la version du serveur MySQL
  • mysqli::get_warnings — Lit le résultat de SHOW WARNINGS
  • mysqli->info — Retourne des informations à propos de la dernière requête exécutée
  • mysqli::init — Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
  • mysqli->insert_id — Retourne l'identifiant automatiquement généré par la dernière requête
  • mysqli::kill — Demande au serveur de terminer un thread MySQL
  • mysqli::more_results — Vérifie s'il y a d'autres jeux de résultats MySQL disponibles
  • mysqli::multi_query — Exécute une requête MySQL multiple
  • mysqli::next_result — Prépare le prochain résultat d'une requête multiple
  • mysqli::options — Définit les options
  • mysqli::ping — Ping la connexion au serveur et reconnecte si elle n'existe plus
  • mysqli::poll — Vérifie l'état de la connexion
  • mysqli::prepare — Prépare une requête SQL pour l'exécution
  • mysqli::query — Exécute une requête sur la base de données
  • mysqli::real_connect — Ouvre une connexion à un serveur MySQL
  • mysqli::real_escape_string — Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion
  • mysqli::real_query — Exécute une requête SQL
  • mysqli::reap_async_query — Lit un résultat pour une requête asynchrone
  • mysqli::rollback — Annule la transaction courante
  • mysqli::select_db — Sélectionne une base de données par défaut pour les requêtes
  • mysqli::set_charset — Définit le jeu de caractères par défaut du client
  • mysqli::set_local_infile_default — Rétablit le gestionnaire par défaut pour la commande LOAD LOCAL INFILE
  • mysqli::set_local_infile_handler — Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE
  • mysqli->sqlstate — Retourne l'erreur SQLSTATE de la dernière opération MySQL
  • mysqli::ssl_set — Utilisée pour établir une connexion sécurisée avec SSL
  • mysqli::stat — Obtient le statut courant du système
  • mysqli::stmt_init — Initialise une commande MySQL
  • mysqli::store_result — Transfère un jeu de résultats à partir de la dernière requête
  • mysqli->thread_id — Retourne l'identifiant du thread pour la connexion courante
  • mysqli::thread_safe — Indique si le support des threads est activé ou pas
  • mysqli::use_result — Initialise la récupération d'un jeu de résultats
  • mysqli->warning_count — Retourne le nombre d'avertissements générés par la dernière requête
Sommaire des fonctions de l'extension MySQLi
mysqli->affected_rows
mysqli


Retourne le nombre de lignes affectées par la dernière opération MySQL

MySQLi
mysqli::autocommit
MySQLi
PHP Manual

mysqli->affected_rows

mysqli_affected_rows

(PHP 5)

mysqli->affected_rows -- mysqli_affected_rows — Retourne le nombre de lignes affectées par la dernière opération MySQL

Description

Style orienté objet

mysqli
int $affected_rows;

Style procédural

int mysqli_affected_rows ( mysqli $link )

Retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE, REPLACE ou DELETE associée au paramètre link.

Pour les requêtes de sélection, la fonction mysqli_affected_rows() fonctionne de la même façon que la fonction mysqli_num_rows().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Un entier plus grand que zéro indique le nombre de lignes affectées ou recherchées. Zéro indique qu'aucun enregistrement n'a été modifié par une requête du type UPDATE, aucune ligne ne correspond à la clause WHERE dans la requête ou bien qu'aucune requête n'a été exécutée. -1 indique que la requête a retourné une erreur.

Note: Si le nombre de lignes affectées est plus grand que la valeur maximale que peut prendre un entier, le nombre de lignes affectées sera retourné en tant que chaîne de caractères.

Exemples

Exemple #1 Exemple avec mysqli->affected_rows

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Erreur de connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Insertion d'une ligne */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Nombre de lignes affectées (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* Modification d'une ligne */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Nombre de lignes affectées (UPDATE): %d\n", $mysqli->affected_rows);

/* Effacement d'une ligne */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Nombre de lignes affectées (DELETE): %d\n", $mysqli->affected_rows);

/* Sélection de toutes les lignes */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Nombre de lignes affectées (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Connexion impossible à localhost. Erreur : %s\n", mysqli_connect_error());
    exit();
}

/* Insertion d'une ligne */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Nombre de lignes affectées (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* Modification d'une ligne */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Nombre de lignes affectées (UPDATE): %d\n", mysqli_affected_rows($link));

/* Effacement d'une ligne */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Nombre de lignes affectées (DELETE): %d\n", mysqli_affected_rows($link));

/* Selection de toutes les lignes */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Nombre de lignes affectées (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Effacement de la table "language" */
mysqli_query($link, "DROP TABLE Language");

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Nombre de lignes affectées (INSERT): 984
Nombre de lignes affectées (UPDATE): 168
Nombre de lignes affectées (DELETE): 815
Nombre de lignes affectées (SELECT): 169

Voir aussi

  • mysqli_num_rows() - Retourne le nombre de lignes dans un résultat
  • mysqli_info() - Retourne des informations à propos de la dernière requête exécutée

MySQLi
mysqli::autocommit
MySQLi


Active ou désactive le mode auto-commit

mysqli->affected_rows
mysqli::change_user
MySQLi
PHP Manual

mysqli::autocommit

mysqli_autocommit

(PHP 5)

mysqli::autocommit -- mysqli_autocommit — Active ou désactive le mode auto-commit

Description

Style orienté objet

bool mysqli::autocommit ( bool $mode )

Style procédural

bool mysqli_autocommit ( mysqli $link , bool $mode )

Active ou désactive le mode auto-commit pour les requêtes sur la connexion.

Pour vérifier l'état de l'auto-commit, utilisez la commande SQL SELECT @@autocommit.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

mode

Si l'on doit activer ou non l'auto-commit.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction ne fonctionne pas avec les types de tables non transactionnelles, comme MyISAM ou ISAM.

Exemples

Exemple #1 Exemple avec mysqli::autocommit

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Échec de la connexion. Erreur : %s\n", mysqli_connect_error());
    exit();
}

/* Activation de l'autocommit */
$mysqli->autocommit(TRUE);

if ($result = $mysqli->query("SELECT @@autocommit")) {
    $row = $result->fetch_row();
    printf("L'autocommit vaut %s\n", $row[0]);
    $result->free();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Échec de la connexion. Erreur : %s\n", mysqli_connect_error());
    exit();
}

/* Activation de l'autocommit */
mysqli_autocommit($link, TRUE);

if ($result = mysqli_query($link, "SELECT @@autocommit")) {
    $row = mysqli_fetch_row($result);
    printf("L'autocommit vaut %s\n", $row[0]);
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

L'autocommit vaut 1

Voir aussi

  • mysqli_commit() - Valide la transaction courante
  • mysqli_rollback() - Annule la transaction courante

mysqli->affected_rows
mysqli::change_user
MySQLi


Change l'utilisateur de la connexion spécifiée

mysqli::autocommit
mysqli::character_set_name
MySQLi
PHP Manual

mysqli::change_user

mysqli_change_user

(PHP 5)

mysqli::change_user -- mysqli_change_user — Change l'utilisateur de la connexion spécifiée

Description

Style orienté objet

bool mysqli::change_user ( string $user , string $password , string $database )

Style procédural

bool mysqli_change_user ( mysqli $link , string $user , string $password , string $database )

Change l'utilisateur de la connexion spécifiée par le paramètre link et change la base de données courante pour celle spécifiée par le paramètre database.

Pour que cette fonction réussisse, les paramètres username et password doivent être valides et l'utilisateur en question doit avoir les permissions d'accès à la base de données désirée. Si pour une raison ou une autre, l'autorisation échoue, l'utilisateur courant sera conservé.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

user

Le nom d'utilisateur MySQL.

password

Le mot de passe MySQL.

database

La base de données à utiliser.

Vous pouvez passer la valeur NULL à ce paramètre pour ne changer que l'utilisateur. Dans ce cas, vous pouvez utiliser la fonction mysqli_select_db() pour changer de base de données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: L'utilisation de cette commande implique toujours que la connexion soit considérée comme neuve, que la fonction réussisse ou non. Un appel à cette fonction annulera donc toutes les transactions actives, fermera les tables temporaires et déverrouillera les tables verrouillées.

Exemples

Exemple #1 Exemple avec mysqli::change_user

Style orienté objet

<?php

/* Connexion à la base de données test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Définition de la variable "a" */
$mysqli->query("SET @a:=1");

/* réinitialise tout et sélectionne une nouvelle base de données */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Base de données par défaut : %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("La valeur de la variable a est NULL\n");
    }
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Connexion à la base de données test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* Vérification de la connexion */
if (!$link) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Définition de la variable "a" */
mysqli_query($link, "SET @a:=1");

/* réinitialise tout et sélectionne une nouvelle base de données */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Base de données par défaut : %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("La valeur de la variable a est NULL\n");
    }
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Base de données par défaut : world
La valeur de la variable a est NULL

Voir aussi

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_select_db() - Sélectionne une base de données par défaut pour les requêtes

mysqli::autocommit
mysqli::character_set_name
MySQLi


Retourne le jeu de caractères courant pour la connexion

mysqli::change_user
mysqli->client_info
MySQLi
PHP Manual

mysqli::character_set_name

mysqli_character_set_name

(PHP 5)

mysqli::character_set_name -- mysqli_character_set_name — Retourne le jeu de caractères courant pour la connexion

Description

Style orienté objet

string mysqli::character_set_name ( void )

Style procédural

string mysqli_character_set_name ( mysqli $link )

Retourne le jeu de caractères courant pour la connexion spécifiée par le paramètre link.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Le jeu de caractères par défaut pour la connexion courante.

Exemples

Exemple #1 Exemple avec mysqli::character_set_name

Style orienté objet

<?php
/* Ouvre une connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = $mysqli->character_set_name();
printf ("Jeu de caractères courant : %s\n", $charset);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre une connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (!$link) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affiche le jeu de caractères courant */
$charset = mysqli_character_set_name($link);
printf ("Jeu de caractères courant : %s\n",$charset);

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Jeu de caractères courant : latin1_swedish_ci

Voir aussi

  • mysqli_client_encoding() - Alias de mysqli_character_set_name
  • mysqli_real_escape_string() - Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion

mysqli::change_user
mysqli->client_info
MySQLi


Retourne la version du client MySQL, sous la forme d'une chaîne de caractères

mysqli::character_set_name
mysqli->client_version
MySQLi
PHP Manual

mysqli->client_info

mysqli_get_client_info

(PHP 5)

mysqli->client_info -- mysqli_get_client_info — Retourne la version du client MySQL, sous la forme d'une chaîne de caractères

Description

Style orienté objet

mysqli
string $client_info;

Style procédural

string mysqli_get_client_info ( mysqli $link )

Retourne une chaîne de caractères représentant la version de la bibliothèque du client MySQL.

Valeurs de retour

Une chaîne de caractères représentant la version de la bibliothèque du client MySQL.

Exemples

Exemple #1 mysqli_get_client_info

<?php

/* Nous n'avons pas besoin d'une connexion pour déterminer
   la version de la bibliothèque du client MySQL */

printf("Version de la bibliothèque du client : %s\n", mysqli_get_client_info());
?>

Voir aussi

  • mysqli_get_client_version() - Lit les informations du client MySQL
  • mysqli_get_server_info() - Retourne la version du serveur MySQL
  • mysqli_get_server_version() - Retourne un entier représentant la version du serveur MySQL

mysqli::character_set_name
mysqli->client_version
MySQLi


Récupère les informations du client MySQL

mysqli->client_info
mysqli::close
MySQLi
PHP Manual

mysqli->client_version

mysqli_get_client_version

(PHP 5)

mysqli->client_version -- mysqli_get_client_version — Récupère les informations du client MySQL

Description

Style orienté objet

mysqli
int $client_version;

Style procédural

int mysqli_get_client_version ( mysqli $link )

Retourne le numéro de version du client, sous la forme d'un entier.

Valeurs de retour

Un nombre qui représente la version du client MySQL, au format : main_version*10000 + minor_version *100 + sub_version. Par exemple, 4.1.0 est retourné sous la forme 40100.

Ceci est utile pour déterminer rapidement la version de la bibliothèque cliente, afin d'en connaître les capacités.

Exemples

Exemple #1 mysqli_get_client_version

<?php

/* Nous n'avons pas besoin d'une connexion pour déterminer
   la version de la bibliothèque du client MySQL */

printf("Version de la bibliothèque du client : %d\n", mysqli_get_client_version());
?>

Voir aussi

  • mysqli_get_client_info() - Retourne une chaîne contenant la version du client MySQL
  • mysqli_get_server_info() - Retourne la version du serveur MySQL
  • mysqli_get_server_version() - Retourne un entier représentant la version du serveur MySQL

mysqli->client_info
mysqli::close
MySQLi


Ferme une connexion

mysqli->client_version
mysqli::commit
MySQLi
PHP Manual

mysqli::close

mysqli_close

(PHP 5)

mysqli::close -- mysqli_close — Ferme une connexion

Description

Style orienté objet

bool mysqli::close ( void )

Style procédural

bool mysqli_close ( mysqli $link )

Ferme la connexion spécifiée par le paramètre link.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Voir mysqli_connect().

Voir aussi

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_init() - Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
  • mysqli_real_connect() - Ouvre une connexion à un serveur MySQL

mysqli->client_version
mysqli::commit
MySQLi


Valide la transaction courante

mysqli::close
mysqli->connect_errno
MySQLi
PHP Manual

mysqli::commit

mysqli_commit

(PHP 5)

mysqli::commit -- mysqli_commit — Valide la transaction courante

Description

Style orienté objet

bool mysqli::commit ( void )

Style procédural

bool mysqli_commit ( mysqli $link )

Valide la transaction courante pour la base de données spécifiée par le paramètre link.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::commit

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");

/* Désactivation de l'autocommit */
$mysqli->autocommit(FALSE);

/* Insertion de quelques valeurs */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* Validation de la transaction */
$mysqli->commit();

/* Effacement de la table */
$mysqli->query("DROP TABLE Language");

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* Vérification de la connexion */
if (!$link) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Désactivation de l'autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage");

/* Insertion de quelques valeurs */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* Validation de la transaction */
mysqli_commit($link);

/* Fermeture de la connexion */
mysqli_close($link);
?>

Voir aussi

  • mysqli_autocommit() - Active ou désactive le mode auto-commit
  • mysqli_rollback() - Annule la transaction courante

mysqli::close
mysqli->connect_errno
MySQLi


Retourne le code d'erreur de la connexion MySQL

mysqli::commit
mysqli->connect_error
MySQLi
PHP Manual

mysqli->connect_errno

mysqli_connect_errno

(PHP 5)

mysqli->connect_errno -- mysqli_connect_errno — Retourne le code d'erreur de la connexion MySQL

Description

Style orienté objet

mysqli
string $connect_errno;

Style procédural

int mysqli_connect_errno ( void )

Retourne le code d'erreur de la dernière tentative de connexion avec mysqli_connect().

Note: Les messages d'erreur du client MySQL sont disponibles dans errmsg.h. Les messages d'erreur du serveur MySQL sont disponibles dans mysqld_error.h. Dans la distribution source de MySQL, vous pouvez trouver la liste complète des messages d'erreurs et des codes d'erreurs dans le fichier Docs/mysqld_error.txt.

Valeurs de retour

Un code d'erreur généré par le dernier appel à mysqli_connect(), si ce dernier a échoué. Zéro signifie qu'aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec mysqli->connect_errno

Style orienté objet

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Erreur de connexion : ' . $mysqli->connect_errno);
}
?>

Style procédural

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Erreur de connexion : ' . mysqli_connect_errno());
}
?>

Les exemples ci-dessus vont afficher :

Erreur de connexion : 1045

Voir aussi

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_connect_error() - Retourne le message d'erreur de connexion MySQL
  • mysqli_errno() - Retourne le dernier code d'erreur produit
  • mysqli_error() - Retourne une chaîne décrivant la dernière erreur
  • mysqli_sqlstate() - Retourne l'erreur SQLSTATE de la dernière opération MySQL

mysqli::commit
mysqli->connect_error
MySQLi


Retourne le message d'erreur de connexion MySQL

mysqli->connect_errno
mysqli::__construct
MySQLi
PHP Manual

mysqli->connect_error

mysqli_connect_error

(PHP 5)

mysqli->connect_error -- mysqli_connect_error — Retourne le message d'erreur de connexion MySQL

Description

Style orienté objet

mysqli
string $connect_error;

Style procédural

string mysqli_connect_error ( void )

Retourne un message d'erreur, lié au dernier appel à mysqli_connect().

Valeurs de retour

Une chaîne qui décrit l'erreur ou NULL si aucune erreur ne survient.

Exemples

Exemple #1 Exemple avec mysqli->connect_error

Style orienté objet

<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

// Fonctionne depuis PHP 5.2.9 et 5.3.0.
if ($mysqli->connect_error) {
    die('Erreur de connexion : ' . $mysqli->connect_error);
}
?>

Style procédural

<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Erreur de connexion : ' . mysqli_connect_error());
}
?>

Les exemples ci-dessus vont afficher :

Erreur de connexion : Access denied for user 'fake_user'@'localhost' (using password: YES)

Notes

Avertissement

La propriété mysqli->connect_error ne fonctionne correctement que depuis PHP versions 5.2.9 et 5.3.0. Utilisez la fonction mysqli_connect_error() pour les versions antérieures.

Voir aussi

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_connect_errno() - Retourne le code d'erreur de la connexion MySQL
  • mysqli_errno() - Retourne le dernier code d'erreur produit
  • mysqli_error() - Retourne une chaîne décrivant la dernière erreur
  • mysqli_sqlstate() - Retourne l'erreur SQLSTATE de la dernière opération MySQL

mysqli->connect_errno
mysqli::__construct
MySQLi


Ouvre une connexion à un serveur MySQL

mysqli->connect_error
mysqli::debug
MySQLi
PHP Manual

mysqli::__construct

mysqli_connect

(PHP 5)

mysqli::__construct -- mysqli_connect — Ouvre une connexion à un serveur MySQL

Description

Style orienté objet

  mysqli::__construct
  ([  string  $host = ini_get("mysqli.default_host")
 [,  string  $username = ini_get("mysqli.default_user")
 [,  string  $passwd = ini_get("mysqli.default_pw")
 [,  string  $dbname = ""
 [,  int  $port = ini_get("mysqli.default_port")
 [,  string  $socket = ini_get("mysqli.default_socket")
]]]]]] )

Style procédural

  mysqli  mysqli_connect
  ([  string  $host = ini_get("mysqli.default_host")
 [,  string  $username = ini_get("mysqli.default_user")
 [,  string  $passwd = ini_get("mysqli.default_pw")
 [,  string  $dbname = ""
 [,  int  $port = ini_get("mysqli.default_port")
 [,  string  $socket = ini_get("mysqli.default_socket")
]]]]]] )

Ouvre une connexion au serveur MySQL de l'hôte host qui peut être un nom d'hôte ou une adresse IP.

Liste de paramètres

host

Peut être un nom d'hôte ou une adresse IP. Si vous passez la valeur NULL ou la chaîne "localhost" à ce paramètre, l'hôte local est sous-entendu. Lorsque c'est possible, les sockets seront utilisées au lieu du protocole TCP/IP.

Préfixer l'hôte par p: ouvre une connexion persistante mysqli_change_user() est automatiquement appelé sur les connexions qui sont utilisées dans le pool de connexions.

username

Le nom d'utilisateur MySQL.

passwd

Si le mot de passe n'est pas indiqué (la valeur NULL est passée), le serveur MySQL essaiera d'identifier l'utilisateur en étudiant que les enregistrements où les utilisateurs n'ont pas de mot de passe. Cela permet à un utilisateur de jouir de plusieurs permissions (selon que l'on fournit le mot de passe ou non).

dbname

Si fourni, spécifiera la base de données par défaut à utiliser lors de l'exécution de requêtes.

port

Spécifie le numéro du port pour la connexion au serveur MySQL.

socket

Spécifie le socket ou le nom du tunnel à utiliser.

Note: Spécifier le paramètre socket ne déterminera pas explicitement le type de connexion qui sera utilisé lors de la connexion au serveur MySQL. Cela est déterminé par le paramètre host.

Valeurs de retour

Retourne un objet qui représente la connexion au serveur MySQL.

Historique

Version | Description
5.3.0 | Ajout des connexions persistantes.

Exemples

Exemple #1 Exemple avec mysqli::__construct

Style orienté objet

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * Ceci est le style POO "officiel"
 * MAIS $connect_error était erroné jusqu'en PHP 5.2.9 et 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Erreur de connexion (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}

/*
 * Utilisez cette syntaxe de $connect_error si vous devez assurer
 * la compatibilité avec les versions de PHP avant 5.2.9 et 5.3.0.
 */
if (mysqli_connect_error()) {
    die('Erreur de connexion (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Succès... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Style orienté objet lors d'une extension de la classe mysqli

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::__construct($host, $user, $pass, $db);

        if (mysqli_connect_error()) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Succès... ' . $db->host_info . "\n";

$db->close();
?>

Style procédural

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$link) {
    die('Erreur de connexion (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Succès... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Succès... Localhost via UNIX socket

Notes

Note: Uniquement pour la syntaxe orientée objet : pour vérifier si la connexion a échoué, utilisez la fonction mysqli_connect_error() ou la propriété mysqli->connect_error comme dans l'exemple ci-dessus.

Note: S'il est nécessaire de configurer des options, telles que le délai de connexion, mysqli_real_connect() doit être utilisé.

Note: Appeler le constructeur sans paramètre a le même effet qu'appeler mysqli_init().

Note: L'erreur "Can't create TCP/IP socket (10106)" signifie à généralement que la directive de configuration variables_order ne contient pas le caractère E. Sous Windows, si l'environnement n'est pas copié, la variable d'environnement SYSTEMROOT ne sera pas disponible et PHP aura des soucis pour charger Winsock.

Voir aussi

  • mysqli_real_connect() - Ouvre une connexion à un serveur MySQL
  • mysqli_options() - Définit les options
  • mysqli_connect_errno() - Retourne le code d'erreur de la connexion MySQL
  • mysqli_connect_error() - Retourne le message d'erreur de connexion MySQL
  • mysqli_close() - Ferme une connexion

mysqli->connect_error
mysqli::debug
MySQLi


Effectue des actions de déboguage

mysqli::__construct
mysqli::dump_debug_info
MySQLi
PHP Manual

mysqli::debug

mysqli_debug

(PHP 5)

mysqli::debug -- mysqli_debug — Effectue des actions de déboguage

Description

Style orienté objet

bool mysqli::debug ( string $message )

Style procédural

bool mysqli_debug ( string $message )

Effectue des actions de déboguage en utilisant la bibliothèque de déboguage Fred Fish.

Liste de paramètres

message

Une chaîne de caractères représentant l'opération de déboguage à effectuer.

Valeurs de retour

Retourne TRUE.

Notes

Note: Pour utiliser la fonction mysqli_debug(), vous devez compiler la bibliothèque cliente MySQL avec le support du déboguage.

Exemples

Exemple #1 Génération d'un fichier de "traces"

<?php

/* Génère un fichier de "trace" dans '/tmp/client.trace' sur la machine (cliente) locale : */
mysqli_debug("d:t:o,/tmp/client.trace");

?>

Voir aussi

  • mysqli_dump_debug_info() - Écrit les informations de déboguage dans les logs
  • mysqli_report() - Active ou désactive les fonctions de rapport interne

mysqli::__construct
mysqli::dump_debug_info
MySQLi


Écrit les informations de déboguage dans les logs

mysqli::debug
mysqli->errno
MySQLi
PHP Manual

mysqli::dump_debug_info

mysqli_dump_debug_info

(PHP 5)

mysqli::dump_debug_info -- mysqli_dump_debug_info — Écrit les informations de déboguage dans les logs

Description

Style orienté objet

bool mysqli::dump_debug_info ( void )

Style procédural

bool mysqli_dump_debug_info ( mysqli $link )

Cette fonction est à utiliser par un utilisateur possédant le privilège SUPER et est utilisée pour écrire quelques informations de déboguage dans le journal pour le serveur MySQL relatif à la connexion spécifiée par le paramètre link.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mysqli_debug() - Effectue des actions de déboguage

mysqli::debug
mysqli->errno
MySQLi


Retourne le dernier code d'erreur produit

mysqli::dump_debug_info
mysqli->error
MySQLi
PHP Manual

mysqli->errno

mysqli_errno

(PHP 5)

mysqli->errno -- mysqli_errno — Retourne le dernier code d'erreur produit

Description

Style orienté objet

mysqli
int $errno;

Style procédural

int mysqli_errno ( mysqli $link )

Retourne le code erreur pour le dernier appel à une fonction MySQLi qui peut échouer ou réussir en respectant la connexion définie par la paramètre link.

Les numéros d'erreur client sont listés dans les en-têtes du fichier MySQL errmsg.h, les messages d'erreur du serveur sont listés dans le fichier mysqld_error.h. Dans les sources de MySQL, vous pouvez trouver une liste complète des messages d'erreur et des numéros d'erreur dans le fichier Docs/mysqld_error.txt.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

La valeur du code erreur pour le dernier appel, s'il échoue. 0 signifie qu'aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec mysqli->errno

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Code Erreur : %d\n", $mysqli->errno);
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Code Erreur : %d\n", mysqli_errno($link));
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Code Erreur : 1193

Voir aussi

  • mysqli_connect_errno() - Retourne le code d'erreur de la connexion MySQL
  • mysqli_connect_error() - Retourne le message d'erreur de connexion MySQL
  • mysqli_error() - Retourne une chaîne décrivant la dernière erreur
  • mysqli_sqlstate() - Retourne l'erreur SQLSTATE de la dernière opération MySQL

mysqli::dump_debug_info
mysqli->error
MySQLi


Retourne une chaîne décrivant la dernière erreur

mysqli->errno
mysqli->field_count
MySQLi
PHP Manual

mysqli->error

mysqli_error

(PHP 5)

mysqli->error -- mysqli_error — Retourne une chaîne décrivant la dernière erreur

Description

Style orienté objet

mysqli
string $error;

Style procédural

string mysqli_error ( mysqli $link )

Retourne la chaîne de caractères décrivant l'erreur survenue lors du dernier appel à une fonction MySQLi, que cet appel est réussi ou échoué.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Une chaîne de caractères qui décrit l'erreur. Une chaîne de caractères vide si aucun erreur n'est survenue.

Exemples

Exemple #1 Exemple avec mysqli->error

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Message d'erreur : %s\n", $mysqli->error);
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Message d'erreur : %s\n", mysqli_error($link));
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Message d'erreur : Unknown system variable 'a'

Voir aussi

  • mysqli_connect_errno() - Retourne le code d'erreur de la connexion MySQL
  • mysqli_connect_error() - Retourne le message d'erreur de connexion MySQL
  • mysqli_errno() - Retourne le dernier code d'erreur produit
  • mysqli_sqlstate() - Retourne l'erreur SQLSTATE de la dernière opération MySQL

mysqli->errno
mysqli->field_count
MySQLi


Retourne le nombre de colonnes pour la dernière requête

mysqli->error
mysqli::get_charset
MySQLi
PHP Manual

mysqli->field_count

mysqli_field_count

(PHP 5)

mysqli->field_count -- mysqli_field_count — Retourne le nombre de colonnes pour la dernière requête

Description

Style orienté objet

mysqli_result
int $field_count;

Style procédural

int mysqli_field_count ( mysqli $link )

Retourne le nombre de colonnes pour la dernière requête sur la connexion spécifiée par le paramètre link. Cette fonction peut être utile lors de l'utilisation de mysqli_store_result() pour déterminer si la requête aurait du retourner un résultat vide ou non, sans en connaître la nature.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Un entier représentant le nombre de champs dans un jeu de résultats.

Exemples

Exemple #1 Exemple avec mysqli->field_count

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query("SELECT * FROM friends");

if ($mysqli->field_count) {
    /* Une requête SELECT, SHOW ou DESCRIBE */
    $result = $mysqli->store_result();

    /* Récupération du jeu de résultats */
    $row = $result->fetch_row();

    /* Libération du jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, "SELECT * FROM friends");

if (mysqli_field_count($link)) {
    /* Une requête SELECT, SHOW ou DESCRIBE */
    $result = mysqli_store_result($link);

    /* Récupération du jeu de résultats */
    $row = mysqli_fetch_row($result);

    /* Libération du jeu de résultats */
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>
mysqli->error
mysqli::get_charset
MySQLi


Retourne un objet représentant le jeu de caractères

mysqli->field_count
mysqli->get_client_info
MySQLi
PHP Manual

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0)

mysqli::get_charset -- mysqli_get_charset — Retourne un objet représentant le jeu de caractères

Description

Style orienté objet

object mysqli::get_charset ( void )

Style procédural

object mysqli_get_charset ( mysqli $link )

Retourne un objet représentant le jeu de caractères, fournissant différentes propriétés du jeu de caractères courant.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

La fonction retourne un jeu de caractères avec les propriétés suivantes :

charset

Nom du jeu de caractères

collation

Nom de la collation

dir

Le dossier dans lequel la description du jeu de caractères est cherchée (?) ou "" pour les jeux de caractères internes

min_length

Longueur minimum de caractères, en octets

max_length

Longueur maximal de caractères, en octets

number

Numéro du jeu de caractères interne

state

Statut du jeu de caractères (?)

Exemples

Exemple #1 Exemple avec mysqli::get_charset

Style orienté objet

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");
  var_dump($db->get_charset());
?>

Style procédural

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");
  var_dump($db->get_charset());
?>

Les exemples ci-dessus vont afficher :

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Voir aussi

  • mysqli_character_set_name() - Retourne le jeu de caractères courant pour la connexion
  • mysqli_set_charset() - Définit le jeu de caractères par défaut du client

mysqli->field_count
mysqli->get_client_info
MySQLi


Retourne une chaîne contenant la version du client MySQL

mysqli::get_charset
mysqli->client_version
MySQLi
PHP Manual

mysqli->get_client_info

mysqli_get_client_info

(PHP 5)

mysqli->get_client_info -- mysqli_get_client_info — Retourne une chaîne contenant la version du client MySQL

Description

Style orienté objet

string mysqli::get_client_info ( void )

Style procédural

string mysqli_get_client_info ( mysqli $link )

Retourne une chaîne de caractères qui représente la version de la librairie cliente MySQL.

Valeurs de retour

Une chaîne de caractères représentant la version du client utilisé par l'extension MySQL.

Exemples

Exemple #1 Exemple avec mysqli_get_client_info()

<?php

/* Vous n'avez pas besoin d'une connexion pour déterminer
    la version du client utilisé par l'extension MySQL */

printf("Version de la bibliothèque cliente : %s\n", mysqli_get_client_info());
?>

Voir aussi

  • mysqli_get_client_version() - Lit les informations du client MySQL
  • mysqli_get_server_info() - Retourne la version du serveur MySQL
  • mysqli_get_server_version() - Retourne un entier représentant la version du serveur MySQL

mysqli::get_charset
mysqli->client_version
MySQLi


Lit les informations du client MySQL

mysqli->get_client_info
mysqli::get_connection_stats
MySQLi
PHP Manual

mysqli->client_version

mysqli_get_client_version

(PHP 5)

mysqli->client_version -- mysqli_get_client_version — Lit les informations du client MySQL

Description

Style orienté objet

mysqli
int $client_version;

Style procédural

int mysqli_get_client_version ( mysqli $link )

Retourne la version du client MySQL sous la forme d'un entier.

Valeurs de retour

Un nombre qui représente la version de la bibliothèque cliente MySQL dans ce format : version_principale*10000 + version_mineure *100 + sous_version. Par exemple, la version 4.1.0 est retournée sous la forme 40100.

Cette fonction est pratique pour déterminer la version de la bibliothèque cliente, si vous recherchez des fonctionnalités spécifiques.

Exemples

Exemple #1 Exemple avec mysqli_get_client_version()

<?php

/* Nous n'avons pas besoin d'une connexion pour
   déterminer la version de la bibliothèque cliente mysql */

printf("Version de la bibliothèque cliente : %d\n", mysqli_get_client_version());
?>

Voir aussi

  • mysqli_get_client_info() - Retourne une chaîne contenant la version du client MySQL
  • mysqli_get_server_info() - Retourne la version du serveur MySQL
  • mysqli_get_server_version() - Retourne un entier représentant la version du serveur MySQL

mysqli->get_client_info
mysqli::get_connection_stats
MySQLi


Retourne des statistiques sur la connexion

mysqli->client_version
mysqli->host_info
MySQLi
PHP Manual

mysqli::get_connection_stats

mysqli_get_connection_stats

(PHP 5 >= 5.3.0)

mysqli::get_connection_stats -- mysqli_get_connection_stats — Retourne des statistiques sur la connexion

Description

Style orienté objet

bool mysqli::get_connection_stats ( void )

Style procédural

array mysqli_get_connection_stats ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne des statistiques sur la connexion du client. Disponible uniquement avec mysqlnd.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne un tableau avec les statistiques de connexion, en cas de succès, et FALSE sinon.

Exemples

Exemple #1 Exemple avec mysqli_get_connection_stats()

<?php
$link = mysqli_connect();
print_r(mysqli_get_connection_stats($link));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Voir aussi

  • Description des statistiques

mysqli->client_version
mysqli->host_info
MySQLi


Retourne une chaîne contenant le type de connexion utilisée

mysqli::get_connection_stats
mysqli->protocol_version
MySQLi
PHP Manual

mysqli->host_info

mysqli_get_host_info

(PHP 5)

mysqli->host_info -- mysqli_get_host_info — Retourne une chaîne contenant le type de connexion utilisée

Description

Style orienté objet

mysqli
string $host_info;

Style procédural

string mysqli_get_host_info ( mysqli $link )

mysqli_get_host_info() retourne une chaîne de caractères décrivant la connexion représentée par le paramètre link (incluant le nom d'hôte du serveur).

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Une chaîne de caractères représentant le nom d'hôte du serveur et le type de connexion.

Exemples

Exemple #1 Exemple avec mysqli->host_info

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage des informations sur l'hôte */
printf("Informations sur l'hôte : %s\n", $mysqli->host_info);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage des informations sur l'hôte */
printf("Informations sur l'hôte : %s\n", mysqli_get_host_info($link));

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Informations sur l'hôte : Localhost via UNIX socket

Voir aussi

  • mysqli_get_proto_info() - Retourne la version du protocole MySQL utilisé

mysqli::get_connection_stats
mysqli->protocol_version
MySQLi


Retourne la version du protocole MySQL utilisé

mysqli->host_info
mysqli->server_info
MySQLi
PHP Manual

mysqli->protocol_version

mysqli_get_proto_info

(PHP 5)

mysqli->protocol_version -- mysqli_get_proto_info — Retourne la version du protocole MySQL utilisé

Description

Style orienté objet

mysqli
string $protocol_version;

Style procédural

int mysqli_get_proto_info ( mysqli $link )

Retourne un entier représentant la version du protocole MySQL utilisé par la connexion représentée par le paramètre link.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne un entier représentant la version du protocole.

Exemples

Exemple #1 Exemple avec mysqli->protocol_version

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage de la version du protocole */
printf("Version du protocole : %d\n", $mysqli->protocol_version);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage de la version du protocole */
printf("Version du protocole : %d\n", mysqli_get_proto_info($link));

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Version du protocole: 10

Voir aussi

  • mysqli_get_host_info() - Retourne une chaîne contenant le type de connexion utilisée

mysqli->host_info
mysqli->server_info
MySQLi


Retourne la version du serveur MySQL

mysqli->protocol_version
mysqli->server_version
MySQLi
PHP Manual

mysqli->server_info

mysqli_get_server_info

(PHP 5)

mysqli->server_info -- mysqli_get_server_info — Retourne la version du serveur MySQL

Description

Style orienté objet

mysqli
string $server_info;

Style procédural

string mysqli_get_server_info ( mysqli $link )

Retourne une chaîne de caractères représentant la version du serveur MySQL auquel l'extension MySQLi est connectée (représenté par le paramètre link).

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Une chaîne de caractères représentant la version du serveur.

Exemples

Exemple #1 Exemple avec mysqli->server_info

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage de la version du serveur */
printf("Version du serveur : %s\n", $mysqli->server_info);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage de la version du serveur */
printf("Version du serveur : %s\n", mysqli_get_server_info($link));

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Version du serveur : 4.1.2-alpha-debug

Voir aussi

  • mysqli_get_client_info() - Retourne une chaîne contenant la version du client MySQL
  • mysqli_get_client_version() - Lit les informations du client MySQL
  • mysqli_get_server_version() - Retourne un entier représentant la version du serveur MySQL

mysqli->protocol_version
mysqli->server_version
MySQLi


Retourne un entier représentant la version du serveur MySQL

mysqli->server_info
mysqli::get_warnings
MySQLi
PHP Manual

mysqli->server_version

mysqli_get_server_version

(PHP 5)

mysqli->server_version -- mysqli_get_server_version — Retourne un entier représentant la version du serveur MySQL

Description

Style orienté objet

mysqli
int $server_version;

Style procédural

int mysqli_get_server_version ( mysqli $link )

La fonction mysqli_get_server_version() retourne un entier représentant la version du serveur sur lequel on est connecté (représenté par le paramètre link).

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Un entier représentant la version du serveur.

Le format de ce nombre est main_version * 10000 + minor_version * 100 + sub_version (i.e. la version 4.1.0 retournera 40100).

Exemples

Exemple #1 Exemple avec mysqli->server_version

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage de la version du serveur */
printf("Version du serveur : %d\n", $mysqli->server_version);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Affichage de la version du serveur */
printf("Version du serveur : %d\n", mysqli_get_server_version($link));

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Version du serveur : 40102

Voir aussi

  • mysqli_get_client_info() - Retourne une chaîne contenant la version du client MySQL
  • mysqli_get_client_version() - Lit les informations du client MySQL
  • mysqli_get_server_info() - Retourne la version du serveur MySQL

mysqli->server_info
mysqli::get_warnings
MySQLi


Lit le résultat de SHOW WARNINGS

mysqli->server_version
mysqli->info
MySQLi
PHP Manual

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0)

mysqli::get_warnings -- mysqli_get_warnings — Lit le résultat de SHOW WARNINGS

Description

Style orienté objet

mysqli_warning mysqli::get_warnings ( void )

Style procédural

mysqli_warning mysqli_get_warnings ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

mysqli->server_version
mysqli->info
MySQLi


Retourne des informations à propos de la dernière requête exécutée

mysqli::get_warnings
mysqli::init
MySQLi
PHP Manual

mysqli->info

mysqli_info

(PHP 5)

mysqli->info -- mysqli_info — Retourne des informations à propos de la dernière requête exécutée

Description

Style orienté objet

mysqli
string $info;

Style procédural

string mysqli_info ( mysqli $link )

La fonction mysqli_info() retourne une chaîne fournissant des informations à propos de la dernière requête exécutée. La nature de cette chaîne est fournie ci-dessous :

Valeurs de retour possibles pour mysqli_info()
Type de requête | Exemple de retour
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Note: Les requêtes qui ne font pas partie de la liste précédente ne sont pas supportées. Dans cette situation, mysqli_info() retournera une chaîne de caractères vide.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Une chaîne de caractères donnant des informations supplémentaires à propos de la dernière requête exécutée.

Exemples

Exemple #1 Exemple avec mysqli->info

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Records: 150  Duplicates: 0  Warnings: 0

Voir aussi

  • mysqli_affected_rows() - Retourne le nombre de lignes affectées par la dernière opération MySQL
  • mysqli_warning_count() - Retourne le nombre d'avertissements générés par la dernière requête
  • mysqli_num_rows() - Retourne le nombre de lignes dans un résultat

mysqli::get_warnings
mysqli::init
MySQLi


Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()

mysqli->info
mysqli->insert_id
MySQLi
PHP Manual

mysqli::init

mysqli_init

(PHP 5)

mysqli::init -- mysqli_init — Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()

Description

Style orienté objet

mysqli mysqli::init ( void )

Style procédural

mysqli mysqli_init ( void )

Alloue ou initialise un objet MySQL utilisable pour les fonctions mysqli_options() et mysqli_real_connect().

Note: Tous les appels suivants à n'importe quelle fonction MySQLi (exceptée mysqli_options()) échoueront en attendant que la fonction mysqli_real_connect() soit appelée.

Valeurs de retour

Retourne un objet.

Exemples

Voir mysqli_real_connect().

Voir aussi

  • mysqli_options() - Définit les options
  • mysqli_close() - Ferme une connexion
  • mysqli_real_connect() - Ouvre une connexion à un serveur MySQL
  • mysqli_connect() - Alias de mysqli::__construct

mysqli->info
mysqli->insert_id
MySQLi


Retourne l'identifiant automatiquement généré par la dernière requête

mysqli::init
mysqli::kill
MySQLi
PHP Manual

mysqli->insert_id

mysqli_insert_id

(PHP 5)

mysqli->insert_id -- mysqli_insert_id — Retourne l'identifiant automatiquement généré par la dernière requête

Description

Style orienté objet

mysqli
mixed $insert_id;

Style procédural

mixed mysqli_insert_id ( mysqli $link )

La fonction mysqli_insert_id() retourne l'identifiant généré par une requête sur une table avec une colonne possédant l'attribut AUTO_INCREMENT. Si la dernière requête n'était ni un INSERT, ni un UPDATE ou que la table modifiée ne possède pas de colonne avec l'attribut AUTO_INCREMENT, cette fonction retournera zéro.

Note: Exécuter une commande INSERT ou UPDATE utilisant la fonction LAST_INSERT_ID() modifiera aussi la valeur retournée par la fonction mysqli_insert_id().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

La valeur du champ AUTO_INCREMENT modifiée par la dernière requête. Retourne zéro s'il n'y a pas eu de requête sur la connexion ou si la dernière requête n'a pas modifié la valeur de l'AUTO_INCREMENT.

Note: Si le nombre est plus grand que la valeur maximale d'un entier, mysqli_insert_id() retournera une chaîne le représentant.

Exemples

Exemple #1 Exemple avec mysqli->insert_id

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("Le nouvel enregistrement a l'id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("Le nouvel enregistrement a l'id %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Le nouvel enregistrement a l'id 1.
mysqli::init
mysqli::kill
MySQLi


Demande au serveur de terminer un thread MySQL

mysqli->insert_id
mysqli::more_results
MySQLi
PHP Manual

mysqli::kill

mysqli_kill

(PHP 5)

mysqli::kill -- mysqli_kill — Demande au serveur de terminer un thread MySQL

Description

Style orienté objet

bool mysqli::kill ( int $processid )

Style procédural

bool mysqli_kill ( mysqli $link , int $processid )

mysqli_kill() est utilisée pour demander au serveur de terminer un thread MySQL spécifié par le paramètre processid. Cette valeur doit être obtenue en appelant la fonction mysqli_thread_id().

Pour arrêter une requête en cours d'exécution, utilisez la commande SQL KILL QUERY processid.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::kill

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Détermine l'id du thread */
$thread_id = $mysqli->thread_id;

/* Termine le thread */
$mysqli->kill($thread_id);

/* Ceci devrait produire une erreur */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Erreur : %s\n", $mysqli->error);
    exit;
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Détermine l'id du thread */
$thread_id = mysqli_thread_id($link);

/* Termine le thread */
mysqli_kill($link, $thread_id);

/* Ceci devrait produire une erreur */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Erreur : %s\n", mysqli_error($link));
    exit;
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur : MySQL server has gone away

Voir aussi

  • mysqli_thread_id() - Retourne l'identifiant du thread pour la connexion courante

mysqli->insert_id
mysqli::more_results
MySQLi


Vérifie s'il y a d'autres jeux de résultats MySQL disponibles

mysqli::kill
mysqli::multi_query
MySQLi
PHP Manual

mysqli::more_results

mysqli_more_results

(PHP 5)

mysqli::more_results -- mysqli_more_results — Vérifie s'il y a d'autres jeux de résultats MySQL disponibles

Description

Style orienté objet

bool mysqli::more_results ( void )

Style procédural

bool mysqli_more_results ( mysqli $link )

Indique si un ou plusieurs jeux de résultats sont disponibles, générés par un appel antérieur à mysqli_multi_query().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Voir mysqli_multi_query().

Voir aussi

  • mysqli_multi_query() - Exécute une requête MySQL multiple
  • mysqli_next_result() - Prépare le prochain résultat d'une requête multiple
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats

mysqli::kill
mysqli::multi_query
MySQLi


Exécute une requête MySQL multiple

mysqli::more_results
mysqli::next_result
MySQLi
PHP Manual

mysqli::multi_query

mysqli_multi_query

(PHP 5)

mysqli::multi_query -- mysqli_multi_query — Exécute une requête MySQL multiple

Description

Style orienté objet

bool mysqli::multi_query ( string $query )

Style procédural

bool mysqli_multi_query ( mysqli $link , string $query )

Exécute une ou plusieurs requêtes, rassemblées dans le paramètre query par des points-virgules.

Pour lire les résultats de la première requête, vous pouvez utiliser les fonctions mysqli_use_result() et mysqli_store_result(). Tous les autres résultats de requêtes peuvent être atteints avec mysqli_more_results() et mysqli_next_result().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

query

La requête, sous la forme d'une chaîne de caractères.

Les données contenues dans la requête doivent être échappées.

Valeurs de retour

Retourne FALSE uniquement si la première requête échoue. Pour récupérer les sous-séquences d'erreurs issues des autres requêtes, vous devez appeler d'abord la fonction mysqli_next_result().

Exemples

Exemple #1 Exemple avec mysqli::multi_query

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* Exécution d'une requête multiple */
if ($mysqli->multi_query($query)) {
    do {
        /* Stockage du premier résultat */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* Affichage d'une séparation */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* Exécution d'une requête multiple */
if (mysqli_multi_query($link, $query)) {
    do {
        /* sStockage du premier résultat */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* Affichage d'une séparation */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher quelque chose de similaire à :

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Voir aussi

  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_next_result() - Prépare le prochain résultat d'une requête multiple
  • mysqli_more_results() - Vérifie s'il y a d'autres jeux de résultats MySQL disponibles

mysqli::more_results
mysqli::next_result
MySQLi


Prépare le prochain résultat d'une requête multiple

mysqli::multi_query
mysqli::options
MySQLi
PHP Manual

mysqli::next_result

mysqli_next_result

(PHP 5)

mysqli::next_result -- mysqli_next_result — Prépare le prochain résultat d'une requête multiple

Description

Style orienté objet

bool mysqli::next_result ( void )

Style procédural

bool mysqli_next_result ( mysqli $link )

Prépare le prochain jeu de résultat, initialisé par un appel antérieur à mysqli_multi_query(), et qui peut être lu par mysqli_store_result() ou mysqli_use_result().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Voir mysqli_multi_query().

Voir aussi

  • mysqli_multi_query() - Exécute une requête MySQL multiple
  • mysqli_more_results() - Vérifie s'il y a d'autres jeux de résultats MySQL disponibles
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats

mysqli::multi_query
mysqli::options
MySQLi


Définit les options

mysqli::next_result
mysqli::ping
MySQLi
PHP Manual

mysqli::options

mysqli_options

(PHP 5)

mysqli::options -- mysqli_options — Définit les options

Description

Style orienté objet

bool mysqli::options ( int $option , mixed $value )

Style procédural

bool mysqli_options ( mysqli $link , int $option , mixed $value )

Utile pour définir des options de connexion et ainsi affecter le comportement de la connexion courante.

Cette fonction peut être appelée plusieurs fois pour définir plusieurs options.

mysqli_options() doit être appelée après
mysqli_init() et avant
mysqli_real_connect().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

option

L'option que vous voulez définir. Il peut prendre une des valeurs suivantes :

Options valides
Nom | Description
MYSQLI_OPT_CONNECT_TIMEOUT | délai maximal de la connexion en secondes (supporté sous Windows avec TCP/IP depuis PHP 5.3.1)
MYSQLI_OPT_LOCAL_INFILE | active/désactive l'utilisation de LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | commande à exécuter après la connexion au serveur MySQL
MYSQLI_READ_DEFAULT_FILE | Lit les options depuis le nom de l'option plutôt que du fichier my.cnf
MYSQLI_READ_DEFAULT_GROUP | Lit les options du groupe depuis my.cnf ou depuis le fichier spécifié avec MYSQL_READ_DEFAULT_FILE.

value

La valeur pour l'option.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Voir mysqli_real_connect().

Voir aussi

  • mysqli_init() - Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
  • mysqli_real_connect() - Ouvre une connexion à un serveur MySQL

mysqli::next_result
mysqli::ping
MySQLi


Ping la connexion au serveur et reconnecte si elle n'existe plus

mysqli::options
mysqli::poll
MySQLi
PHP Manual

mysqli::ping

mysqli_ping

(PHP 5)

mysqli::ping -- mysqli_ping — Ping la connexion au serveur et reconnecte si elle n'existe plus

Description

Style orienté objet

bool mysqli::ping ( void )

Style procédural

bool mysqli_ping ( mysqli $link )

Vérifie si la connexion au serveur fonctionne correctement. Si elle a été refermée, et que la directive mysqli.reconnect est activée, une reconnexion automatique est tentée.

Cette fonction peut être utilisée pour que les clients qui restent longtemps ouverts sans action puissent vérifier que la connexion n'a pas été refermée par le serveur, et, le cas échéant, faire une reconnexion automatique.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::ping

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Vérification si la connexion est toujours active */
if ($mysqli->ping()) {
    printf ("La connexion est Ok !\n");
} else {
    printf ("Erreur : %s\n", $mysqli->error);
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Vérification si la connexion est toujours active */
if (mysqli_ping($link)) {
    printf ("La connexion est Ok !\n");
} else {
    printf ("Erreur : %s\n", mysqli_error($link));
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

La connexion est valide !
mysqli::options
mysqli::poll
MySQLi


Vérifie l'état de la connexion

mysqli::ping
mysqli::prepare
MySQLi
PHP Manual

mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0)

mysqli::poll -- mysqli_poll — Vérifie l'état de la connexion

Description

Style orienté objet

public int mysqli::poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )

Style procédural

int mysqli_poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie l'état de la connexion. Disponible uniquement avec mysqlnd.

Liste de paramètres

read

error

reject

sec

Nombre de secondes d'attente, doit être positif ou nul.

usec

Nombre de secondes d'attente, doit être positif ou nul.

Valeurs de retour

Retourne le nombre de connexions disponibles, en cas de succès, ou FALSE sinon.

Exemples

Exemple #1 Exemple avec mysqli_poll()

<?php
$link1 = mysqli_connect();
$link1->query("SELECT 'test'", MYSQLI_ASYNC);
$all_links = array($link1);
$processed = 0;
do {
    $links = $errors = $reject = array();
    foreach ($all_links as $link) {
        $links[] = $errors[] = $reject[] = $link;
    }
    if (!mysqli_poll($links, $errors, $reject, 1)) {
        continue;
    }
    foreach ($links as $link) {
        if ($result = $link->reap_async_query()) {
            print_r($result->fetch_row());
            mysqli_free_result($result);
            $processed++;
        }
    }
} while ($processed < count($all_links));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => test
)

Voir aussi

mysqli::ping
mysqli::prepare
MySQLi


Prépare une requête SQL pour l'exécution

mysqli::poll
mysqli::query
MySQLi
PHP Manual

mysqli::prepare

mysqli_prepare

(PHP 5)

mysqli::prepare -- mysqli_prepare — Prépare une requête SQL pour l'exécution

Description

Style orienté objet

mysqli_stmt mysqli::prepare ( string $query )

Style procédural

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

Prépare la requête SQL et retourne un gestionnaire de requête à utiliser pour les futures opérations sur la requête. La requête doit être composée d'une seule requête SQL.

Les paramètres de marques doivent être liés à des variables utilisées dans les fonctions mysqli_stmt_bind_param() et/ou mysqli_stmt_bind_result() avant d'exécuter la requête ou de récupérer les lignes.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

query

La requête, sous la forme d'une chaîne de caractères.

Note: Vous ne devez pas ajouter de point virgule ou de \g dans la requête.

Ce paramètre peut inclure un ou plusieurs paramètres de marques dans la requête SQL avec le caractère "point d'interrogation" (?) à la position appropriée.

Note: Les marques sont autorisées uniquement dans certaines endroits des requêtes SQL. Par exemple, elles le sont dans la liste VALUES() d'une requête INSERT (pour spécifier les valeurs des colonnes pour une ligne), ou dans une comparaison d'une clause WHERE pour spécifier une valeur de comparaison.
Cependant, elles ne sont pas autorisées pour les identifiants (comme les noms de tables ou de colonnes), dans une liste de sélection où les noms des colonnes doivent être retournés par une requête SELECT, ou pour spécifier un opérateur tel que le signe égal (=). La dernière restriction est nécessaire, car il est impossible de déterminer le type de paramètre. Il n'est pas non plus autorisé de comparer les marqueurs avec NULL par ? IS NULL. En général, les paramètres ne sont autorisés que dans les requêtes DML ("Data Manipulation Language") et non dans les requêtes DDL ("Data Definition Language").

Valeurs de retour

mysqli_prepare() retourne un objet de traitement ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::prepare

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* Crée une requête préparée */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* Lecture des marqueurs */
    $stmt->bind_param("s", $city);

    /* Exécution de la requête */
    $stmt->execute();

    /* Lecture des variables résultantes */
    $stmt->bind_result($district);

    /* Récupération des valeurs */
    $stmt->fetch();

    printf("%s est dans le district de %s\n", $city, $district);

    /* Fermeture du traitement */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* Crée une requête préparée */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* Lecture des marqueurs */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    /* Lecture des variables résultantes */
    mysqli_stmt_bind_result($stmt, $district);

    /* Récupération des valeurs */
    mysqli_stmt_fetch($stmt);

    printf("%s est dans le district de %s\n", $city, $district);

    /* Fermeture du traitement */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Amersfoort est dans le district de Utrecht

Voir aussi

  • mysqli_stmt_execute() - Exécute une requête préparée
  • mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées
  • mysqli_stmt_bind_param() - Lie des variables à une requête MySQL
  • mysqli_stmt_bind_result() - Lie des variables à un jeu de résultats
  • mysqli_stmt_close() - Termine une requête préparée

mysqli::poll
mysqli::query
MySQLi


Exécute une requête sur la base de données

mysqli::prepare
mysqli::real_connect
MySQLi
PHP Manual

mysqli::query

mysqli_query

(PHP 5)

mysqli::query -- mysqli_query — Exécute une requête sur la base de données

Description

Style orienté objet

mixed mysqli::query ( string $query [, int $resultmode ] )

Style procédural

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode ] )

Exécute une requête sur la base de données.

En termes de fonctionnalités, utiliser cette fonction revient à appeler
mysqli_real_query() suivie de
mysqli_use_result() ou
mysqli_store_result().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

query

La requête, sous la forme d'une chaîne de caractères.

Les données contenues dans la requête doivent être échappées.

resultmode

Soit la constante MYSQLI_USE_RESULT, soit la constante MYSQLI_STORE_RESULT, suivant le comportement désiré. Par défaut, la constante MYSQLI_STORE_RESULT est utilisé.

Si vous utilisez la constante MYSQLI_USE_RESULT, tous les appels suivants retourneront une erreur Commands out of sync tant que vous n'aurez pas appelé la fonction mysqli_free_result().

Avec la constante MYSQLI_ASYNC (disponible avec mysqlnd), il est possible de faire des requêtes asynchrone. mysqli_poll() est alors utilisé pour lire les résultats de ce type de requêtes.

Valeurs de retour

Retourne FALSE en cas d'échec. Pour des requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN réussies, mysqli_query()retournera un objet de résultats. Pour les autres types de requêtes ayant réussies, mysqli_query() retournera TRUE.

Historique

Version | Description
5.3.0 | Ajout des requêtes asynchrones.

Exemples

Exemple #1 Exemple avec mysqli::query

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* "Create table" ne retournera aucun jeu de résultats */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity créée avec succès.\n");
}

/* Requête "Select" retourne un jeu de résultats */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select a retourné %d lignes.\n", $result->num_rows);

    /* Libération du jeu de résultats */
    $result->close();
}

/* Si nous avons à récupérer beaucoup de données, nous utilisons MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Notez que nous ne pouvons exécuter aucune fonction qui agit sur le serveur tant que
        le jeu de résultats est clos. Tous les appels retourneront un 'out of sync'
    */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Erreur : %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* "Create table" ne retournera aucun jeu de résultats */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity créée avec succès.\n");
}

/* Requête "Select" retourne un jeu de résultats */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select a retourné %d lignes.\n", mysqli_num_rows($result));

    /* Libération du jeu de résultats */
    mysqli_free_result($result);
}

/* Si nous avons à récupérer beaucoup de données, nous utilisons MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Notez que nous ne pouvons exécuter aucune fonction qui agit sur le serveur tant que
        le jeu de résultats est clos. Tous les appels retourneront un 'out of sync'
    */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Erreur : %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Table myCity créée avec succès.
Select a retourné 10 lignes.
Erreur : Commands out of sync;  You can't run this command now

Voir aussi

  • mysqli_real_query() - Exécute une requête SQL
  • mysqli_multi_query() - Exécute une requête MySQL multiple
  • mysqli_free_result() - Libère la mémoire associée à un résultat

mysqli::prepare
mysqli::real_connect
MySQLi


Ouvre une connexion à un serveur MySQL

mysqli::query
mysqli::real_escape_string
MySQLi
PHP Manual

mysqli::real_connect

mysqli_real_connect

(PHP 5)

mysqli::real_connect -- mysqli_real_connect — Ouvre une connexion à un serveur MySQL

Description

Style orienté objet

bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

Style procédural

bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

mysqli_real_connect() établit une connexion avec un serveur MySQL.

Cette fonction diffère de mysqli_connect() :

  • mysqli_real_connect() a besoin d'un objet créé avec mysqli_init().

  • Avec la fonction mysqli_options(), vous pouvez configurer différentes options de connexion.

  • Il y a un paramètre supplémentaire flags.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

host

Peut-être un nom d'hôte ou une adresse IP. En utilisant la valeur NULL ou la chaîne "localhost", l'hôte local est utilisé. Lorsque c'est possible, les pipes seront utilisés à la place de la pile TCP/IP.

username

Le nom d'utilisateur MySQL.

passwd

Si non fourni ou NULL, le serveur MySQL tentera de réaliser l'identification avec les utilisateurs sans mot de passe. Cela permet à un nom d'utilisateur d'être utilisé avec différentes droits, suivant que le mot de passe est fourni ou pas.

dbname

Si fourni, ce paramètre indique le nom de la base de données de travail par défaut.

port

Spécifie le numéro de port à utiliser pour se connecter au serveur MySQL.

socket

Spécifie la socket ou le pipe nommé qui doit être utilisé pour établir la connexion.

Note: Spécifier explicitement le paramètre socket ne détermine pas le type de méthode utilisée lors de la connexion à MySQL. La méthode est déterminée par le paramètre host.

flags

Avec le paramètre flags, vous pouvez configurer différentes directives de connexion :

Options supportées
Nom | Description
MYSQLI_CLIENT_COMPRESS | Utilise le protocole compressé
MYSQLI_CLIENT_FOUND_ROWS | Retourne le nombre de ligne trouvées, pas le nombre de lignes affectées.
MYSQLI_CLIENT_IGNORE_SPACE | Autorise les espaces entre les noms de fonctions et les arguments. Cela force les noms de fonctions à être des mots réservés.
MYSQLI_CLIENT_INTERACTIVE | Autorise interactive_timeout secondes (au lieu de wait_timeout secondes) d'inactivité avant de fermer la connexion.
MYSQLI_CLIENT_SSL | Utilise le chiffrement SSL

Note: Pour des raisons de sécurité, l'option MULTI_STATEMENT n'est pas supportée en PHP. Si vous voulez exécuter plusieurs commandes, utilisez la fonction mysqli_multi_query().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::real_connect

Style orienté objet

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Succès... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Style orienté objet, avec extension de la classe mysqli

<?php

class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::init();

        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
            die('Setting MYSQLI_INIT_COMMAND failed');
        }

        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
            die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
        }

        if (!parent::real_connect($host, $user, $pass, $db)) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Succès... ' . $db->host_info . "\n";

$db->close();
?>

Style procédural

<?php

$link = mysqli_init();
if (!$link) {
    die('mysqli_init failed');
}

if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Succès... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Succès... MySQL host info: localhost via TCP/IP

Voir aussi

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_init() - Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
  • mysqli_options() - Définit les options
  • mysqli_ssl_set() - Utilisée pour établir une connexion sécurisée avec SSL
  • mysqli_close() - Ferme une connexion

mysqli::query
mysqli::real_escape_string
MySQLi


Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion

mysqli::real_connect
mysqli::real_query
MySQLi
PHP Manual

mysqli::real_escape_string

mysqli_real_escape_string

(PHP 5)

mysqli::real_escape_string -- mysqli_real_escape_string — Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion

Description

Style orienté objet

string mysqli::escape_string ( string $escapestr )
string mysqli::real_escape_string ( string $escapestr )

Style procédural

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

Cette fonction est utilisée pour créer une chaîne SQL valide qui pourra être utilisée dans une requête SQL. La chaîne de caractères escapestr est encodée en une chaîne SQL échappée, en tenant compte du jeu de caractères courant de la connexion.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

escapestr

La chaîne de caractères à échapper.

Les caractères encodés sont NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

Valeurs de retour

Retourne une chaîne de caractères échappée.

Exemples

Exemple #1 Exemple avec mysqli::real_escape_string

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* Cette requête échoue car nous n'avons pas échappé $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Erreur : %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* Cette requête, par contre, réussira car nous avons échappé $city */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d ligne insérée.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* Cette requête échoue car nous n'avons pas échappé $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Erreur : %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* Cette requête, par contre, réussira car nous avons échappé $city */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d ligne insérée.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur : 42000
1 ligne insérée.

Voir aussi

  • mysqli_character_set_name() - Retourne le jeu de caractères courant pour la connexion

mysqli::real_connect
mysqli::real_query
MySQLi


Exécute une requête SQL

mysqli::real_escape_string
mysqli::reap_async_query
MySQLi
PHP Manual

mysqli::real_query

mysqli_real_query

(PHP 5)

mysqli::real_query -- mysqli_real_query — Exécute une requête SQL

Description

Style orienté objet

bool mysqli::real_query ( string $query )

Style procédural

bool mysqli_real_query ( mysqli $link , string $query )

Exécute une seule requête sur la connexion à la base de données représentée par le paramètre link dont le résultat peut être récupéré ou stocké en utilisant les fonctions mysqli_store_result() ou mysqli_use_result().

Pour déterminer si une requête donnée aurait du retourner un jeu de résultats ou non, voyez la fonction mysqli_field_count().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

query

La requête, sous la forme d'une chaîne de caractères.

Les données contenues dans la requête doivent être échappées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats

mysqli::real_escape_string
mysqli::reap_async_query
MySQLi


Lit un résultat pour une requête asynchrone

mysqli::real_query
mysqli::rollback
MySQLi
PHP Manual

mysqli::reap_async_query

mysqli_reap_async_query

(PHP 5 >= 5.3.0)

mysqli::reap_async_query -- mysqli_reap_async_query — Lit un résultat pour une requête asynchrone

Description

Style orienté objet

public mysqli_result mysqli::reap_async_query ( void )

Style procédural

mysqli_result mysqli_reap_async_query ( mysql $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le résultat pour une requête asynchrone. Disponible uniquement avec mysqlnd.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne un objet mysqli_result en cas de succès, et FALSE sinon.

Voir aussi

  • mysqli_poll() - Vérifie l'état de la connexion

mysqli::real_query
mysqli::rollback
MySQLi


Annule la transaction courante

mysqli::reap_async_query
mysqli::select_db
MySQLi
PHP Manual

mysqli::rollback

mysqli_rollback

(PHP 5)

mysqli::rollback -- mysqli_rollback — Annule la transaction courante

Description

Style orienté objet

bool mysqli::rollback ( void )

Style procédural

bool mysqli_rollback ( mysqli $link )

Annule la transaction courante pour la base de données.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::rollback

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Désactive l'auto-commit */
$mysqli->autocommit(FALSE);

$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* Validation */
$mysqli->commit();

/* Effacement de toutes les lignes */
$mysqli->query("DELETE FROM myCity");

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d ligne dans la table myCity.\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Rollback */
$mysqli->rollback();

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d lignes dans la table myCity (après annulation).\n", $row[0]);
    /* Libère le résultat */
    $result->close();
}

/* Effacement de la table myCity */
$mysqli->query("DROP TABLE myCity");

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Désactive l'auto-commit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* Validation */
mysqli_commit($link);

/* Effacement de toutes les lignes */
mysqli_query($link, "DELETE FROM myCity");

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d ligne dans la table myCity.\n", $row[0]);
    /* Libère le résultat */
    mysqli_free_result($result);
}

/* Rollback */
mysqli_rollback($link);

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d lignes dans la table myCity (après annulation).\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Effacement de la table myCity */
mysqli_query($link, "DROP TABLE myCity");

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

0 ligne dans la table myCity.
50 lignes dans la table myCity (après annulation).

Voir aussi

  • mysqli_commit() - Valide la transaction courante
  • mysqli_autocommit() - Active ou désactive le mode auto-commit

mysqli::reap_async_query
mysqli::select_db
MySQLi


Sélectionne une base de données par défaut pour les requêtes

mysqli::rollback
mysqli::set_charset
MySQLi
PHP Manual

mysqli::select_db

mysqli_select_db

(PHP 5)

mysqli::select_db -- mysqli_select_db — Sélectionne une base de données par défaut pour les requêtes

Description

Style orienté objet

bool mysqli::select_db ( string $dbname )

Style procédural

bool mysqli_select_db ( mysqli $link , string $dbname )

Sélectionne la base de données par défaut (spécifiée par le paramètre dbname) pour être utilisée lors de l'exécution de requêtes sur la connexion représentée par le paramètre link.

Note: Cette fonction ne doit être utilisée que pour changer la base de données par défaut pour la connexion courante. Vous pouvez sélectionner la base de données par défaut avec le 4ème paramètre de la fonction mysqli_connect().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

dbname

Le nom de la base de données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::select_db

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Retourne le nom de la base de données courante */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("La base de données courante est %s.\n", $row[0]);
    $result->close();
}

/* Change la base de données en "world" */
$mysqli->select_db("world");

/* Retourne le nom de la base de données courante */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("La base de données courante est %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Retourne le nom de la base de données courante */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("La base de données courante est %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* Change la base de données en "world" */
mysqli_select_db($link, "world");

/* Retourne le nom de la base de données courante */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("La base de données courante est %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

La base de données courante est test.
La base de données courante est world.

Voir aussi

  • mysqli_connect() - Alias de mysqli::__construct
  • mysqli_real_connect() - Ouvre une connexion à un serveur MySQL

mysqli::rollback
mysqli::set_charset
MySQLi


Définit le jeu de caractères par défaut du client

mysqli::select_db
mysqli::set_local_infile_default
MySQLi
PHP Manual

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5)

mysqli::set_charset -- mysqli_set_charset — Définit le jeu de caractères par défaut du client

Description

Style orienté objet

bool mysqli::set_charset ( string $charset )

Style procédural

bool mysqli_set_charset ( mysqli $link , string $charset )

Définit le jeu de caractères par défaut à utiliser lors de l'envoi de données depuis et vers le serveur de base de données.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

charset

Le jeu de caractères à définir.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Pour utiliser cette fonction sur les systèmes Windows, vous devez utiliser la bibliothèque client MySQL version 4.1.11 ou suivante (pour MySQL 5.0, vous avez besoin de la version 5.0.6 ou suivante).

Note: C'est la meilleure façon de modifier le jeu de caractères. Il n'est pas recommandé d'utiliser la fonction mysqli::query() avec une requête du type SET NAMES .. pour cela.

Exemples

Exemple #1 Exemple avec mysqli::set_charset

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Modification du jeu de résultats en utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Erreur lors du chargement du jeu de caractères utf8 : %s\n", $mysqli->error);
} else {
    printf("Jeu de caractères courant : %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Modification du jeu de résultats en utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Erreur lors du chargement du jeu de caractères utf8 : %s\n", mysqli_error($link));
} else {
    printf("Jeu de caractères courant : %s\n", mysqli_character_set_name($link));
}

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Jeu de caractères courant : utf8

Voir aussi

  • mysqli_character_set_name() - Retourne le jeu de caractères courant pour la connexion
  • mysqli_real_escape_string() - Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion
  • » Liste des jeux de caractères supportés par MySQL

mysqli::select_db
mysqli::set_local_infile_default
MySQLi


Rétablit le gestionnaire par défaut pour la commande LOAD LOCAL INFILE

mysqli::set_charset
mysqli::set_local_infile_handler
MySQLi
PHP Manual

mysqli::set_local_infile_default

mysqli_set_local_infile_default

(PHP 5)

mysqli::set_local_infile_default -- mysqli_set_local_infile_default — Rétablit le gestionnaire par défaut pour la commande LOAD LOCAL INFILE

Description

void mysqli_set_local_infile_default ( mysqli $link )

Désactive un gestionnaire LOAD DATA INFILE LOCAL précédemment définit avec la fonction mysqli_set_local_infile_handler().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Voir l'exemple de la fonction mysqli_set_local_infile_handler()

Voir aussi

  • mysqli_set_local_infile_handler() - Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE

mysqli::set_charset
mysqli::set_local_infile_handler
MySQLi


Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE

mysqli::set_local_infile_default
mysqli->sqlstate
MySQLi
PHP Manual

mysqli::set_local_infile_handler

mysqli_set_local_infile_handler

(PHP 5)

mysqli::set_local_infile_handler -- mysqli_set_local_infile_handler — Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE

Description

Style orienté objet

bool mysqli::set_local_infile_handler ( mysqli $link , callback $read_func )

Style procédural

bool mysqli_set_local_infile_handler ( mysqli $link , callback $read_func )

Définit une fonction de rappel pour la commande LOAD DATA LOCAL INFILE.

Le but de la fonction de rappel est de lire le fichier spécifié par LOAD DATA LOCAL INFILE et de le reformater dans un format compris par LOAD DATA INFILE.

Les données retournées doivent correspondre au format spécifié par LOAD DATA

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

read_func

Une fonction ou une méthode d'objet de rappel prend les paramètres suivants :

stream

un flux PHP associé avec les commandes SQL INFILE

&buffer

Une chaîne pour y stocker les données réécrites

buflen

Le nombre maximal de caractères à stocker dans le buffer

&errormsg

Si une erreur survient, vous pourrez stocker le message d'erreur ici

La fonction de rappel doit retourner le nombre de caractères stockés dans le buffer ou une valeur négative si une erreur survient.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::set_local_infile_handler

Style orienté objet

<?php
  $db = mysqli_init();
  $db->real_connect("localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convertit en majuscule et remplace le délimiteur "," par [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Entrée :\n";

  $db->set_local_infile_handler("callme");
  $db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  $db->set_local_infile_default();

  $res = $db->query("SELECT * FROM t1");

  echo "\nSortie :\n";
  while ($row = $res->fetch_assoc()) {
    echo join(",", $row)."\n";
  }
?>

Style procédural

<?php
  $db = mysqli_init();
  mysqli_real_connect($db, "localhost","root","","test");

  function callme($stream, &$buffer, $buflen, &$errmsg)
  {
    $buffer = fgets($stream);

    echo $buffer;

    // convertit en majuscule et remplace le délimiteur "," par [TAB]
    $buffer = strtoupper(str_replace(",", "\t", $buffer));

    return strlen($buffer);
  }

  echo "Entrée :\n";

  mysqli_set_local_infile_handler($db, "callme");
  mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
  mysqli_set_local_infile_default($db);

  $res = mysqli_query($db, "SELECT * FROM t1");

  echo "\nSortie :\n";
  while ($row = mysqli_fetch_assoc($res)) {
    echo join(",", $row)."\n";
  }
?>

Les exemples ci-dessus vont afficher :

Entrée :
23,foo
42,bar

Sortie :
23,FOO
42,BAR

Voir aussi

  • mysqli_set_local_infile_default() - Rétablit le gestionnaire par défaut pour la commande LOAD LOCAL INFILE

mysqli::set_local_infile_default
mysqli->sqlstate
MySQLi


Retourne l'erreur SQLSTATE de la dernière opération MySQL

mysqli::set_local_infile_handler
mysqli::ssl_set
MySQLi
PHP Manual

mysqli->sqlstate

mysqli_sqlstate

(PHP 5)

mysqli->sqlstate -- mysqli_sqlstate — Retourne l'erreur SQLSTATE de la dernière opération MySQL

Description

Style orienté objet

mysqli
string $sqlstate;

Style procédural

string mysqli_sqlstate ( mysqli $link )

Retourne une chaîne contenant le code d'erreur SQLSTATE de la dernière erreur. Le code d'erreur '00000' signifie : "pas d'erreur". Les valeurs sont spécifiées par les normes ANSI SQL et ODBC. Pour une liste des valeurs possibles, voyez : » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Note: Notez que toutes les erreurs de MySQL n'ont pas encore de correspondance avec les erreurs SQLSTATE. La valeur HY000 (erreur générale) est utilisée pour les erreurs sans correspondance.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne une chaîne contenant le code d'erreur SQLSTATE de la dernière erreur. Le code est constitué de 5 caractères : '00000' représente l'absence d'erreurs.

Exemples

Exemple #1 Exemple avec mysqli->sqlstate

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* La table Ville existe déjà, nous devrions avoir une erreur */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Erreur - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* La table Ville existe déjà, nous devrions avoir une erreur */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Erreur - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur - SQLSTATE 42S01.

Voir aussi

  • mysqli_errno() - Retourne le dernier code d'erreur produit
  • mysqli_error() - Retourne une chaîne décrivant la dernière erreur

mysqli::set_local_infile_handler
mysqli::ssl_set
MySQLi


Utilisée pour établir une connexion sécurisée avec SSL

mysqli->sqlstate
mysqli::stat
MySQLi
PHP Manual

mysqli::ssl_set

mysqli_ssl_set

(PHP 5)

mysqli::ssl_set -- mysqli_ssl_set — Utilisée pour établir une connexion sécurisée avec SSL

Description

Style orienté objet

bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )

Style procédural

bool mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Utilisée pour établir une connexion sécurisée avec SSL. Elle doit être appelée avant mysqli_real_connect(). Cette fonction ne fait rien du tout si le support OpenSSL n'est pas activé.

Noter que le driver natif MySQL ne supporte pas SSL, aussi, l'appel à cette fonction lors de l'utilisation du driver natif MySQL retournera une erreur. Le driver natif MySQL est activé par défaut sous Microsoft Windows depuis PHP version 5.3 et suivants.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

key

Le chemin vers le fichier contenant la clé.

cert

Le chemin vers le fichier contenant le certificat.

ca

Le chemin vers le fichier contenant l'autorité du certificat.

capath

Le chemin vers le dossier contenant les certificats SSL CA au format PEM.

cipher

La liste des chiffres autorisés à être utilisés pour le chiffrage SSL.

Tous les paramètres SSL non utilisés peuvent avoir comme valeur NULL.

Valeurs de retour

Cette fonction retourne toujours TRUE. Si SSL n'est pas correctement installé, mysqli_real_connect() retournera une erreur lorsque vous tenterez une connexion.

Voir aussi

  • mysqli_options() - Définit les options
  • mysqli_real_connect() - Ouvre une connexion à un serveur MySQL

mysqli->sqlstate
mysqli::stat
MySQLi


Obtient le statut courant du système

mysqli::ssl_set
mysqli::stmt_init
MySQLi
PHP Manual

mysqli::stat

mysqli_stat

(PHP 5)

mysqli::stat -- mysqli_stat — Obtient le statut courant du système

Description

Style orienté objet

string mysqli::stat ( void )

Style procédural

string mysqli_stat ( mysqli $link )

mysqli_stat() retourne une chaîne de caractères contenant des informations similaires à la commande 'mysqladmin status'. Cela inclut le temps de fonctionnement, exprimé en secondes et le nombre de threads courant, le nombre de commandes, les tables rechargées et ouvertes.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Une chaîne de caractères décrivant le statut du serveur. FALSE est retourné si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::stat

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

printf ("Statut du système : %s\n", $mysqli->stat());

$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

printf("Statut du système : %s\n", mysqli_stat($link));

mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Statut du système : Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Voir aussi

  • mysqli_get_server_info() - Retourne la version du serveur MySQL

mysqli::ssl_set
mysqli::stmt_init
MySQLi


Initialise une commande MySQL

mysqli::stat
mysqli::store_result
MySQLi
PHP Manual

mysqli::stmt_init

mysqli_stmt_init

(PHP 5)

mysqli::stmt_init -- mysqli_stmt_init — Initialise une commande MySQL

Description

Style orienté objet

mysqli_stmt mysqli::stmt_init ( void )

Style procédural

mysqli_stmt mysqli_stmt_init ( mysqli $link )

Alloue et initialise un objet de commande, à utiliser avec mysqli_stmt_prepare().

Note: Tous les appels ultérieurs aux fonctions mysqli_stmt_* échoueront, si mysqli_stmt_prepare() est appelée.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne un objet.

Voir aussi

  • mysqli_stmt_prepare() - Prépare une requête SQL pour l'exécution

mysqli::stat
mysqli::store_result
MySQLi


Transfère un jeu de résultats à partir de la dernière requête

mysqli::stmt_init
mysqli->thread_id
MySQLi
PHP Manual

mysqli::store_result

mysqli_store_result

(PHP 5)

mysqli::store_result -- mysqli_store_result — Transfère un jeu de résultats à partir de la dernière requête

Description

Style orienté objet

mysqli_result mysqli::store_result ( void )

Style procédural

mysqli_result mysqli_store_result ( mysqli $link )

Transfère le jeu de résultats à partir de la dernière requête sur la connexion à la base de données spécifiée par le paramètre link pour une utilisation avec mysqli_data_seek().

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne un résultat stocké sous la forme d'un objet ou FALSE si une erreur survient.

Note: mysqli_store_result() retourne FALSE dans le cas où la requête ne retourne pas de jeu de résultat (si la requête est de type INSERT par exemple). Cette fonction retournera toujours FALSE si le jeu de résultats ne peut être lu. Vous pouvez savoir s'il y a une erreur en utilisant la fonction mysqli_error() et en regardant si elle renvoie une chaîne vide, ou si mysqli_errno() retourne zéro, ou bien si mysqli_field_count() retourne une valeur différente de zéro. Une autre raison pour que cette fonction retourne FALSE est que le jeu de résultats retourné après une requête réussie appelée par mysqli_query() est trop long (la mémoire pour celui-ci ne peut être allouée). Si mysqli_field_count() retourne une valeur différente de zéro, le traitement devrait produire un jeu de résultats non vide.

Notes

Note: Il est toujours conseillé de libérer la mémoire allouée pour le résultat en utilisant la fonction mysqli_free_result(), lors du transfert de grands résultats en utilisant la fonction mysqli_store_result() cela devient particulièrement important.

Exemples

Voir la fonction mysqli_multi_query().

Voir aussi

  • mysqli_real_query() - Exécute une requête SQL
  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats

mysqli::stmt_init
mysqli->thread_id
MySQLi


Retourne l'identifiant du thread pour la connexion courante

mysqli::store_result
mysqli::thread_safe
MySQLi
PHP Manual

mysqli->thread_id

mysqli_thread_id

(PHP 5)

mysqli->thread_id -- mysqli_thread_id — Retourne l'identifiant du thread pour la connexion courante

Description

Style orienté objet

mysqli
int $thread_id;

Style procédural

int mysqli_thread_id ( mysqli $link )

La fonction mysqli_thread_id() retourne l'identifiant du thread de la connexion courante qui peut être terminé par la suite en utilisant la fonction mysqli_kill(). Si la connexion est perdue et que vous vous reconnectez avec la fonction mysqli_ping(), l'identifiant du thread sera différent. Ainsi, vous devez récupérer l'identifiant du thread uniquement lorsque vous en avez besoin.

Note: L'identifiant du thread est assigné sur une base de connexion par connexion. Ce qui fait que si la connexion est coupée, puis relancée, un nouvel identifiant de thread lui sera assigné.
Pour terminer une requête en cours d'exécution, vous pouvez utiliser la commande SQL KILL QUERY processid.

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Retourne l'identifiant du thread pour la connexion courante.

Exemples

Exemple #1 Exemple avec mysqli->thread_id

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Détermine l'identifiant du thread */
$thread_id = $mysqli->thread_id;

/* Termine la connexion */
$mysqli->kill($thread_id);

/* Ceci doit produire une erreur */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Erreur : %s\n", $mysqli->error);
    exit;
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Détermine l'identifiant du thread */
$thread_id = mysqli_thread_id($link);

/* Termine la connexion */
mysqli_kill($link, $thread_id);

/* Ceci doit produire une erreur */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Erreur : %s\n", mysqli_error($link));
    exit;
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur : MySQL server has gone away

Voir aussi

  • mysqli_kill() - Demande au serveur de terminer un thread MySQL

mysqli::store_result
mysqli::thread_safe
MySQLi


Indique si le support des threads est activé ou pas

mysqli->thread_id
mysqli::use_result
MySQLi
PHP Manual

mysqli::thread_safe

mysqli_thread_safe

(PHP 5)

mysqli::thread_safe -- mysqli_thread_safe — Indique si le support des threads est activé ou pas

Description

Style procédural

bool mysqli_thread_safe ( void )

Indique si la bibliothèque cliente est compilée avec la sécurité thread.

Valeurs de retour

TRUE si la bibliothèque cliente est thread-safe, FALSE sinon.

mysqli->thread_id
mysqli::use_result
MySQLi


Initialise la récupération d'un jeu de résultats

mysqli::thread_safe
mysqli->warning_count
MySQLi
PHP Manual

mysqli::use_result

mysqli_use_result

(PHP 5)

mysqli::use_result -- mysqli_use_result — Initialise la récupération d'un jeu de résultats

Description

Style orienté objet

mysqli_result mysqli::use_result ( void )

Style procédural

mysqli_result mysqli_use_result ( mysqli $link )

Utilisé pour initialiser la récupération d'un jeu de résultats à partir de la dernière requête exécutée en utilisant la fonction mysqli_real_query() sur la connexion spécifiée par le paramètre link.

Cette fonction ou la fonction mysqli_store_result() doivent être appelées avant que le résultat d'une requête ne puisse être récupéré, et pour éviter l'échec de la prochaine requête sur la connexion à la base de données.

Note: La fonction mysqli_use_result() ne transfère pas le jeu de résultats en entier à partir de la base de données et on ne peut donc pas utiliser des fonctions telle mysqli_data_seek() pour se déplacer entre les enregistrements. Pour utiliser cette fonctionnalité, vous devez récupérer le jeu de résultats en utilisant mysqli_store_result().

Valeurs de retour

Retourne un objet de résultats non stockés ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mysqli::use_result

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* Exécution de plusieurs requêtes */
if ($mysqli->multi_query($query)) {
    do {
        /* Stockage du premier jeu de résultats */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* Affichage d'une démarquation */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* Exécution de plusieurs requêtes */
if (mysqli_multi_query($link, $query)) {
    do {
        /* Stockage du premier jeu de résultats */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* Affichage d'une démarquation */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Voir aussi

  • mysqli_real_query() - Exécute une requête SQL
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête

mysqli::thread_safe
mysqli->warning_count
MySQLi


Retourne le nombre d'avertissements générés par la dernière requête

mysqli::use_result
MySQLi_STMT
MySQLi
PHP Manual

mysqli->warning_count

mysqli_warning_count

(PHP 5)

mysqli->warning_count -- mysqli_warning_count — Retourne le nombre d'avertissements générés par la dernière requête

Description

Style orienté objet

mysqli
int $warning_count;

Style procédural

int mysqli_warning_count ( mysqli $link )

Retourne le nombre d'avertissements générés par la dernière requête de la connexion représentée par le paramètre link.

Note: Pour récupérer les messages d'avertissements, vous pouvez utiliser la commande SQL SHOW WARNINGS [limit row_count].

Liste de paramètres

link

Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Le nombre d'avertissements ou 0 s'il n'y en a pas.

Exemples

Exemple #1 Exemple avec mysqli->warning_count

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* une ville remarquable en Grande-Bretagne :-) */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* une ville remarquable en Grande-Bretagne :-) */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Warning (1264): Data truncated for column 'Name' at row 1

Voir aussi

  • mysqli_errno() - Retourne le dernier code d'erreur produit
  • mysqli_error() - Retourne une chaîne décrivant la dernière erreur
  • mysqli_sqlstate() - Retourne l'erreur SQLSTATE de la dernière opération MySQL

mysqli::use_result
MySQLi_STMT
MySQLi


La classe MySQLi_STMT

Introduction

Représente une requête préparée.

Synopsis de la classe

MySQLi_STMT
MySQLi_STMT {
/* Propriétés */
int $affected_rows;
int $errno;
string $error;
int $field_count;
int $insert_id;
int $num_rows;
int $param_count;
string $sqlstate;
/* Méthodes */
int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )
int mysqli_stmt::attr_get ( int $attr )
bool mysqli_stmt::attr_set ( int $attr , int $mode )
bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )
bool mysqli_stmt::close ( void )
void mysqli_stmt::data_seek ( int $offset )
int mysqli_stmt_errno ( mysqli_stmt $stmt )
string mysqli_stmt_error ( mysqli_stmt $stmt )
bool mysqli_stmt::execute ( void )
bool mysqli_stmt::fetch ( void )
int mysqli_stmt_field_count ( mysqli_stmt $stmt )
void mysqli_stmt::free_result ( void )
object mysqli_stmt::get_warnings ( mysqli_stmt $stmt )
mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
int mysqli_stmt_num_rows ( mysqli_stmt $stmt )
int mysqli_stmt_param_count ( mysqli_stmt $stmt )
mixed mysqli_stmt::prepare ( string $query )
bool mysqli_stmt::reset ( void )
mysqli_result mysqli_stmt::result_metadata ( void )
bool mysqli_stmt::send_long_data ( int $param_nr , string $data )
string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )
bool mysqli_stmt::store_result ( void )
}

Sommaire

  • mysqli_stmt->affected_rows — Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête
  • mysqli_stmt::attr_get — Récupère la valeur courante d'un attribut de requête
  • mysqli_stmt::attr_set — Modifie le comportement d'une requête préparée
  • mysqli_stmt::bind_param — Lie des variables à une requête MySQL
  • mysqli_stmt::bind_result — Lie des variables à un jeu de résultats
  • mysqli_stmt::close — Termine une requête préparée
  • mysqli_stmt::data_seek — Déplace le pointeur de résultat
  • mysqli_stmt->errno — Retourne un code erreur pour la dernière requête
  • mysqli_stmt->error — Retourne une description de la dernière erreur de traitement
  • mysqli_stmt::execute — Exécute une requête préparée
  • mysqli_stmt::fetch — Lit des résultats depuis une requête MySQL préparée dans des variables liées
  • mysqli_stmt->field_count — Retourne le nombre de champs présent dans la requête donnée
  • mysqli_stmt::free_result — Libère le résultat MySQL de la mémoire
  • mysqli_stmt::get_warnings — Description
  • mysqli_stmt->insert_id — Récupère l'ID généré par la dernière requête INSERT
  • mysqli_stmt::num_rows — Retourne le nombre de lignes d'un résultat MySQL
  • mysqli_stmt->param_count — Retourne le nombre de paramètre d'une commande SQL
  • mysqli_stmt::prepare — Prépare une requête SQL pour l'exécution
  • mysqli_stmt::reset — Annule une requête préparée
  • mysqli_stmt::result_metadata — Retourne les métadonnées de préparation de requête MySQL
  • mysqli_stmt::send_long_data — Envoie des données MySQL par paquets
  • mysqli_stmt::sqlstate — Retourne le code SQLSTATE de la dernière opération MySQL
  • mysqli_stmt::store_result — Stock un jeu de résultats depuis une requête préparée
mysqli->warning_count
mysqli_stmt->affected_rows
mysqli


Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête

MySQLi_STMT
mysqli_stmt::attr_get
MySQLi_STMT
PHP Manual

mysqli_stmt->affected_rows

mysqli_stmt_affected_rows

(PHP 5)

mysqli_stmt->affected_rows -- mysqli_stmt_affected_rows — Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête

Description

Style orienté objet

mysqli_stmt
int $affected_rows;

Style procédural

int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )

Retourne le nombre de lignes affectées par une requête INSERT, UPDATE ou DELETE.

La fonction mysqli_stmt_affected_rows() ne fonctionne que sur les requêtes qui modifient la table. Si vous désirez récupérer le nombre de lignes retournées par une requête SELECT, utilisez plutôt la requête mysqli_stmt_num_rows().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Un entier supérieur à zéro indique le nombre de lignes affectées ou retrouvées. Zéro indique qu'aucun enregistrement n'a été modifié par une requête UPDATE/DELETE, aucune ligne ne correspond à la clause WHERE dans la requête ou bien qu'aucune requête n'a été encore exécutée. -1 indique que la dernière requête a retourné une erreur. NULL indique qu'un argument invalide a été fourni à la fonction.

Note: Si le nombre de lignes affectées est plus grand que la valeur entière maximale de PHP, le nombre de lignes affectées sera retourné comme une chaîne de caractères.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Création d'une table temporaire */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* Préparation de la requête */
if ($stmt = $mysqli->prepare($query)) {

    /* Insertion de la variable */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* Exécution de la requête */
    $stmt->execute();

    printf("Lignes insérées : %d\n", $stmt->affected_rows);

    /* Fermeture du traitement */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Création d'une table temporaire */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* Préparation de la requête */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Insertion de la variable */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    printf("Lignes insérées : %d\n", mysqli_stmt_affected_rows($stmt));

    /* Fermeture du traitement */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

Lignes insérées : 17

Voir aussi

  • mysqli_stmt_num_rows() - Retourne le nombre de lignes d'un résultat MySQL
  • mysqli_prepare() - Prépare une requête SQL pour l'exécution

MySQLi_STMT
mysqli_stmt::attr_get
MySQLi_STMT


Récupère la valeur courante d'un attribut de requête

mysqli_stmt->affected_rows
mysqli_stmt::attr_set
MySQLi_STMT
PHP Manual

mysqli_stmt::attr_get

mysqli_stmt_attr_get

(PHP 5)

mysqli_stmt::attr_get -- mysqli_stmt_attr_get — Récupère la valeur courante d'un attribut de requête

Description

Style orienté objet

int mysqli_stmt::attr_get ( int $attr )

Style procédural

int mysqli_stmt_attr_get ( mysqli_stmt $stmt , int $attr )

Récupère la valeur courante d'un attribut de requête.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

attr

L'attribut que vous voulez récupérer.

Valeurs de retour

Retourne FALSE si l'attribut n'a pas été trouvé ou la valeur de l'attribut en cas de succès.

mysqli_stmt->affected_rows
mysqli_stmt::attr_set
MySQLi_STMT


Modifie le comportement d'une requête préparée

mysqli_stmt::attr_get
mysqli_stmt::bind_param
MySQLi_STMT
PHP Manual

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5)

mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Modifie le comportement d'une requête préparée

Description

Style orienté objet

bool mysqli_stmt::attr_set ( int $attr , int $mode )

Style procédural

bool mysqli_stmt_attr_set ( mysqli_stmt $stmt , int $attr , int $mode )

Modifie le comportement d'une requête préparée. Cette fonction peut être appelée plusieurs fois pour définir plusieurs attributs.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

attr

L'attribut que vous voulez définir. Il peut avoir une des valeurs suivantes :

Valeurs des attributs
Caractère | Description
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Si défini à 1, la fonction mysqli_stmt_store_result() mettra à jour la valeur de la méta-donnée MYSQL_FIELD->max_length.
MYSQLI_STMT_ATTR_CURSOR_TYPE | Type du curseur permettant l'ouverture de la requête lorsque la fonction mysqli_stmt_execute() est appelée. mode peut valoir MYSQLI_CURSOR_TYPE_NO_CURSOR (par défaut) ou MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS | Nombre de lignes à récupérer depuis le serveur en une fois lors de l'utilisation d'un curseur. mode peut être compris entre 1 et la valeur maximale d'un type long non-signé. Par défaut, vaut 1.

Si vous utilisez l'option MYSQLI_STMT_ATTR_CURSOR_TYPE avec MYSQLI_CURSOR_TYPE_READ_ONLY, un curseur sera ouvert pour la requête lors de l'appel à la fonction mysqli_stmt_execute(). S'il y a déjà un curseur d'ouvert depuis un précédent appel à la fonction mysqli_stmt_execute(), il sera fermé avant d'en ouvrir un nouveau. La fonction mysqli_stmt_reset() ferme également tous les curseurs avant de préparer la requête pour une ré-exécution. La fonction mysqli_stmt_free_result() ferme tout curseur ouvert.

Si vous ouvrez un curseur pour une requête préparée, la fonction mysqli_stmt_store_result() n'est pas nécessaire.

mode

La valeur à assigner à l'attribut.

mysqli_stmt::attr_get
mysqli_stmt::bind_param
MySQLi_STMT


Lie des variables à une requête MySQL

mysqli_stmt::attr_set
mysqli_stmt::bind_result
MySQLi_STMT
PHP Manual

mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Lie des variables à une requête MySQL

Description

Style orienté objet

bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Style procédural

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Sert à lier des variables à une requête MySQL préparée par mysqli_prepare().

Note: Si la taille des données dépasse la taille maximal d'un paquet, (max_allowed_packet), vous devez spécifier le caractère b dans le paramètre types et utiliser la fonction mysqli_stmt_send_long_data() pour envoyer le message par paquets.

Note: Vous devez être prudent lors de l'utilisation de mysqli_stmt_bind_param() avec la fonction call_user_func_array(). Notez que mysqli_stmt_bind_param() nécessite que ses paramètres soient passés par référence, alors que la fonction call_user_func_array() peut accepter comme paramètre une liste de variables qui peuvent représenter des références ou des valeurs.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

types

Une chaîne de caractères qui contient un ou plusieurs caractères qui spécifient le type de la variable à lier :

Caractère de spécification des types
Caractère | Description
i | correspond à une variable de type entier
d | correspond à une variable de type nombre décimal
s | correspond à une variable de type chaîne de caractères
b | correspond à une variable de type BLOB, qui sera envoyé par paquets

var1

Le nombre de variables et la longueur de la chaîne de caractères types doivent correspondre aux paramètres de la requête.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* Exécution de la requête */
$stmt->execute();

printf("%d ligne insérée.\n", $stmt->affected_rows);

/* Fermeture du traitement */
$stmt->close();

/* Nettoyage de la table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d ligne effacée.\n", $mysqli->affected_rows);

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* Vérification de la connexion */
if (!$link) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* Exécution de la requête */
mysqli_stmt_execute($stmt);

printf("%d ligne insérée.\n", mysqli_stmt_affected_rows($stmt));

/* Fermeture du traitement */
mysqli_stmt_close($stmt);

/* Nettoyage de la table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d ligne effacée.\n", mysqli_affected_rows($link));

/* Fermeture de la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

1 ligne insérée.
1 ligne effacée.

Voir aussi

  • mysqli_stmt_bind_result() - Lie des variables à un jeu de résultats
  • mysqli_stmt_execute() - Exécute une requête préparée
  • mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées
  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_send_long_data() - Envoie des données MySQL par paquets
  • mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
  • mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement

mysqli_stmt::attr_set
mysqli_stmt::bind_result
MySQLi_STMT


Lie des variables à un jeu de résultats

mysqli_stmt::bind_param
mysqli_stmt::close
MySQLi_STMT
PHP Manual

mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Lie des variables à un jeu de résultats

Description

Style orienté objet

bool mysqli_stmt::bind_result ( mixed &$var1 [, mixed &$... ] )

Style procédural

bool mysqli_stmt_bind_result ( mysqli_stmt $stmt , mixed &$var1 [, mixed &$... ] )

Associe des colonnes d'un résultat à des variables.

Lorsque mysqli_stmt_fetch() est appelée pour lire des valeurs, le protocole MySQL place les données dans les variables spécifiées dans le paramètre var1, ....

Note: Notez que toutes les colonnes doivent être liées après l'exécution de la fonction mysqli_stmt_execute() et avant l'appel à la fonction mysqli_stmt_fetch(). En fonction du type de valeur de la colonne, le type de variable PHP peut être automatiquement modifié.
Une colonne peut être associée ou réassociée à tout moment, même après une lecture partielle du résultat. La nouvelle association prend effet au prochain appel de mysqli_stmt_fetch().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

var1

La variable à lier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Préparation de la requête */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $stmt->execute();

    /* Insertion de la variable */
    $stmt->bind_result($col1, $col2);

    /* Récupération des valeurs */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* Fermeture du traitement */
    $stmt->close();
}
/* Fermeture de la connexion */
$mysqli->close();

?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (!$link) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Préparation de la requête */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);

    /* Insertion de la variable */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* Récupération des valeurs */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* Fermeture du traitement */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Voir aussi

  • mysqli_stmt_bind_param() - Lie des variables à une requête MySQL
  • mysqli_stmt_execute() - Exécute une requête préparée
  • mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées
  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_init() - Initialise une commande MySQL
  • mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
  • mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement

mysqli_stmt::bind_param
mysqli_stmt::close
MySQLi_STMT


Termine une requête préparée

mysqli_stmt::bind_result
mysqli_stmt::data_seek
MySQLi_STMT
PHP Manual

mysqli_stmt::close

mysqli_stmt_close

(PHP 5)

mysqli_stmt::close -- mysqli_stmt_close — Termine une requête préparée

Description

Style orienté objet

bool mysqli_stmt::close ( void )

Style procédural

bool mysqli_stmt_close ( mysqli_stmt $stmt )

Ferme une requête préparée. mysqli_stmt_close() libère le pointeur utilisé par stmt. Si la requête est en attente ou bien que les résultats ne sont pas encore lus, cette fonction les annulera et, donc, la prochaine requête pourra être exécutée.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution

mysqli_stmt::bind_result
mysqli_stmt::data_seek
MySQLi_STMT


Déplace le pointeur de résultat

mysqli_stmt::close
mysqli_stmt->errno
MySQLi_STMT
PHP Manual

mysqli_stmt::data_seek

mysqli_stmt_data_seek

(PHP 5)

mysqli_stmt::data_seek -- mysqli_stmt_data_seek — Déplace le pointeur de résultat

Description

Style orienté objet

void mysqli_stmt::data_seek ( int $offset )

Style procédural

void mysqli_stmt_data_seek ( mysqli_stmt $stmt , int $offset )

Déplace le pointeur du résultat statement de offset lignes.

mysqli_stmt_store_result() doit être appelée avant la fonction mysqli_stmt_data_seek().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

offset

Doit prendre une valeur entre zéro et le nombre total de ligne moins 1 (0..mysqli_stmt_num_rows() - 1).

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* Exécute la requête */
    $stmt->execute();

    /* Lie les variables de résultat */
    $stmt->bind_result($name, $code);

    /* Stock le résultat */
    $stmt->store_result();

    /* Va à la ligne 400 */
    $stmt->data_seek(399);

    /* Lit une valeur */
    $stmt->fetch();

    printf ("Villle : %s Code Pays : %s\n", $name, $code);

    /* Ferme la commande */
    $stmt->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Exécute la requête */
    mysqli_stmt_execute($stmt);

    /* Lie les variables de résultat */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* Stock le résultat */
    mysqli_stmt_store_result($stmt);

    /* Va à la ligne 400 */
    mysqli_stmt_data_seek($stmt, 399);

    /* Lit une valeur */
    mysqli_stmt_fetch($stmt);

    printf ("Ville : %s Code Pays : %s\n", $name, $code);

    /* Ferme la commande */
    mysqli_stmt_close($stmt);
}

/* Ferme la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

Ville : Benin City Code Pays : NGA

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution

mysqli_stmt::close
mysqli_stmt->errno
MySQLi_STMT


Retourne un code erreur pour la dernière requête

mysqli_stmt::data_seek
mysqli_stmt->error
MySQLi_STMT
PHP Manual

mysqli_stmt->errno

mysqli_stmt_errno

(PHP 5)

mysqli_stmt->errno -- mysqli_stmt_errno — Retourne un code erreur pour la dernière requête

Description

Style orienté objet

mysqli_stmt
int $errno;

Style procédural

int mysqli_stmt_errno ( mysqli_stmt $stmt )

Retourne le code erreur pour la dernière requête appelée dans le traitement qui a réussi ou échoué.

La liste des codes erreur client est disponible dans l'en-tête du fichier MySQL errmsg.h ; la liste des codes erreur serveur est disponible dans le fichier MySQL mysqld_error.h. Dans les sources de MySQL, vous pouvez trouver une liste complète des messages d'erreur ainsi que des codes erreur dans le fichier Docs/mysqld_error.txt.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Une valeur représentant un code erreur. 0 signifie qu'aucune erreur n'est survenue.

Exemples

Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* Effacement de la table */
    $mysqli->query("DROP TABLE myCountry");

    /* Exécute la requête */
    $stmt->execute();

    printf("Erreur : %d.\n", $stmt->errno);

    /* Ferme la commande */
    $stmt->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Effacement de la table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* Exécute la requête */
    mysqli_stmt_execute($stmt);

    printf("Erreur : %d.\n", mysqli_stmt_errno($stmt));

    /* Ferme la commande */
    mysqli_stmt_close($stmt);
}

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur : 1146.

Voir aussi

  • mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement
  • mysqli_stmt_sqlstate() - Retourne le code SQLSTATE de la dernière opération MySQL

mysqli_stmt::data_seek
mysqli_stmt->error
MySQLi_STMT


Retourne une description de la dernière erreur de traitement

mysqli_stmt->errno
mysqli_stmt::execute
MySQLi_STMT
PHP Manual

mysqli_stmt->error

mysqli_stmt_error

(PHP 5)

mysqli_stmt->error -- mysqli_stmt_error — Retourne une description de la dernière erreur de traitement

Description

Style orienté objet

mysqli_stmt
string $error;

Style procédural

string mysqli_stmt_error ( mysqli_stmt $stmt )

Retourne une chaîne de caractères représentant le message d'erreur le plus récent appelé par une fonction de traitement, qu'elle ait réussi ou échoué.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Une chaîne de caractères décrivant l'erreur. Une chaîne vide si aucune erreur n'est survenue.

Exemples

Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* Effacement de la table */
    $mysqli->query("DROP TABLE myCountry");

    /* Exécute la requête */
    $stmt->execute();

    printf("Erreur : %s.\n", $stmt->error);

    /* Ferme la commande */
    $stmt->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Effacement de la table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* Exécute la requête */
    mysqli_stmt_execute($stmt);

    printf("Erreur : %s.\n", mysqli_stmt_error($stmt));

    /* Ferme la commande */
    mysqli_stmt_close($stmt);
}

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur : Table 'world.myCountry' doesn't exist.

Voir aussi

  • mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
  • mysqli_stmt_sqlstate() - Retourne le code SQLSTATE de la dernière opération MySQL

mysqli_stmt->errno
mysqli_stmt::execute
MySQLi_STMT


Exécute une requête préparée

mysqli_stmt->error
mysqli_stmt::fetch
MySQLi_STMT
PHP Manual

mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5)

mysqli_stmt::execute -- mysqli_stmt_execute — Exécute une requête préparée

Description

Style orienté objet

bool mysqli_stmt::execute ( void )

Style procédural

bool mysqli_stmt_execute ( mysqli_stmt $stmt )

Exécute une requête qui a été préalablement préparée en utilisant la fonction mysqli_prepare(), grâce à la ressource stmt. Lors de l'exécution, toutes les variables de la requête seront remplacées par les données appropriées.

Si la requête est UPDATE, DELETE ou INSERT, le nombre total de lignes affectées est disponible via la fonction mysqli_stmt_affected_rows(). De la même façon, si la fonction génère un résultat, il sera disponible via la fonction mysqli_stmt_fetch().

Note: Lors de l'utilisation de mysqli_stmt_execute(), mysqli_stmt_fetch() doit être utilisée pour lire les données avant de lancer une autre requête.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Préparation de la commande d'insertion */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Exécute la requête */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Exécute la requête */
$stmt->execute();

/* Ferme la requête */
$stmt->close();

/* Récupère toutes les lignes de la table myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* Libère le résultat */
    $result->close();
}

/* Efface la table */
$mysqli->query("DROP TABLE myCity");

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* Préparation de la commande d'insertion */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Exécute la requête */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Exécute la requête */
mysqli_stmt_execute($stmt);

/* Ferme la requête */
mysqli_stmt_close($stmt);

/* Récupère toutes les lignes de la table myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* Libère le résultat */
    mysqli_free_result($result);
}

/* Efface la table */
mysqli_query($link, "DROP TABLE myCity");

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_bind_param() - Lie des variables à une requête MySQL

mysqli_stmt->error
mysqli_stmt::fetch
MySQLi_STMT


Lit des résultats depuis une requête MySQL préparée dans des variables liées

mysqli_stmt::execute
mysqli_stmt->field_count
MySQLi_STMT
PHP Manual

mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Lit des résultats depuis une requête MySQL préparée dans des variables liées

Description

Style orienté objet

bool mysqli_stmt::fetch ( void )

Style procédural

bool mysqli_stmt_fetch ( mysqli_stmt $stmt )

Retourne le résultat d'une requête préparée dans une variable, liée par mysqli_stmt_bind_result().

Note: Notez que toutes les colonnes doivent être liées par l'application avant d'appeler mysqli_stmt_fetch().

Note: Les données sont transférées sans être bufferisées, sans appeler la fonction mysqli_stmt_store_result(), ce qui peut avoir un impact sur les performances (mais aussi, réduire l'utilisation mémoire).

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Valeurs de retour
Value | Description
TRUE | Réussite. Les données ont été lues.
FALSE | Une erreur est survenue.
NULL | Il n'y a plus de ligne à lire ou les données ont été tronquées.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

    /* Exécution de la requête */
    $stmt->execute();

    /* Association des variables de résultat */
    $stmt->bind_result($name, $code);

    /* Lecture des valeurs */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* Fermeture de la commande */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    /* Association des variables de résultat */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* Lecture des valeurs */
    while (mysqli_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* Fermeture de la commande */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
  • mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement
  • mysqli_stmt_bind_result() - Lie des variables à un jeu de résultats

mysqli_stmt::execute
mysqli_stmt->field_count
MySQLi_STMT


Retourne le nombre de champs présent dans la requête donnée

mysqli_stmt::fetch
mysqli_stmt::free_result
MySQLi_STMT
PHP Manual

mysqli_stmt->field_count

mysqli_stmt_field_count

(PHP 5)

mysqli_stmt->field_count -- mysqli_stmt_field_count — Retourne le nombre de champs présent dans la requête donnée

Description

Style orienté objet

mysqli_stmt
int $field_count;

Style procédural

int mysqli_stmt_field_count ( mysqli_stmt $stmt )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

mysqli_stmt::fetch
mysqli_stmt::free_result
MySQLi_STMT


Libère le résultat MySQL de la mémoire

mysqli_stmt->field_count
mysqli_stmt::get_warnings
MySQLi_STMT
PHP Manual

mysqli_stmt::free_result

mysqli_stmt_free_result

(PHP 5)

mysqli_stmt::free_result -- mysqli_stmt_free_result — Libère le résultat MySQL de la mémoire

Description

Style orienté objet

void mysqli_stmt::free_result ( void )

Style procédural

void mysqli_stmt_free_result ( mysqli_stmt $stmt )

Libère le résultat stmt de la mémoire. stmt a été obtenu de la fonction mysqli_stmt_store_result().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • mysqli_stmt_store_result() - Stock un jeu de résultats depuis une requête préparée

mysqli_stmt->field_count
mysqli_stmt::get_warnings
MySQLi_STMT


Description

mysqli_stmt::free_result
mysqli_stmt->insert_id
MySQLi_STMT
PHP Manual

mysqli_stmt::get_warnings

mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0)

mysqli_stmt::get_warnings -- mysqli_stmt_get_warnings —

Description

Style orienté objet

object mysqli_stmt::get_warnings ( mysqli_stmt $stmt )

Style procédural

object mysqli_stmt_get_warnings ( mysqli_stmt $stmt )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

mysqli_stmt::free_result
mysqli_stmt->insert_id
MySQLi_STMT


Récupère l'ID généré par la dernière requête INSERT

mysqli_stmt::get_warnings
mysqli_stmt::num_rows
MySQLi_STMT
PHP Manual

mysqli_stmt->insert_id

mysqli_stmt_insert_id

(PHP 5)

mysqli_stmt->insert_id -- mysqli_stmt_insert_id — Récupère l'ID généré par la dernière requête INSERT

Description

Style orienté objet

mysqli_stmt
int $insert_id;

Style procédural

mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

mysqli_stmt::get_warnings
mysqli_stmt::num_rows
MySQLi_STMT


Retourne le nombre de lignes d'un résultat MySQL

mysqli_stmt->insert_id
mysqli_stmt->param_count
MySQLi_STMT
PHP Manual

mysqli_stmt::num_rows

mysqli_stmt_num_rows

(PHP 5)

mysqli_stmt::num_rows -- mysqli_stmt_num_rows — Retourne le nombre de lignes d'un résultat MySQL

Description

Style orienté objet

mysqli_stmt
int $num_rows;

Style procédural

int mysqli_stmt_num_rows ( mysqli_stmt $stmt )

Retourne le nombre de lignes dans le résultat stmt. L'utilisation de la fonction mysqli_stmt_num_rows() dépend de l'utilisation ou non de la fonction mysqli_stmt_store_result() pour stocker le résultat dans la ressource de commande.

Si vous utilisez mysqli_stmt_store_result(), mysqli_stmt_num_rows() peut être appelée immédiatement.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Un entier représentant le nombre de lignes dans le résultat.

Exemples

Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* Exécution de la requête */
    $stmt->execute();

    /* Stockage du résultat */
    $stmt->store_result();

    printf("Nombre de lignes : %d.\n", $stmt->num_rows);

    /* Fermeture de la commande */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    /* Stockage du résultat */
    mysqli_stmt_store_result($stmt);

    printf("Nombre de lignes : %d.\n", mysqli_stmt_num_rows($stmt));

    /* Fermeture de la commande */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Nombre de lignes : 20.

Voir aussi

  • mysqli_stmt_affected_rows() - Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête
  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_store_result() - Stock un jeu de résultats depuis une requête préparée

mysqli_stmt->insert_id
mysqli_stmt->param_count
MySQLi_STMT


Retourne le nombre de paramètre d'une commande SQL

mysqli_stmt::num_rows
mysqli_stmt::prepare
MySQLi_STMT
PHP Manual

mysqli_stmt->param_count

mysqli_stmt_param_count

(PHP 5)

mysqli_stmt->param_count -- mysqli_stmt_param_count — Retourne le nombre de paramètre d'une commande SQL

Description

Style orienté objet

mysqli_stmt
int $param_count;

Style procédural

int mysqli_stmt_param_count ( mysqli_stmt $stmt )

Retourne le nombre de variables attendues par la commande préparée stmt.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Retourne un entier représentant le nombre de paramètres.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = $stmt->param_count;
    printf("La requête a %d variables.\n", $marker);

    /* Fermeture de la commande */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = mysqli_stmt_param_count($stmt);
    printf("La requête a %d variables.\n", $marker);

    /* Fermeture de la commande */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

La requête a 2 variables.

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution

mysqli_stmt::num_rows
mysqli_stmt::prepare
MySQLi_STMT


Prépare une requête SQL pour l'exécution

mysqli_stmt->param_count
mysqli_stmt::reset
MySQLi_STMT
PHP Manual

mysqli_stmt::prepare

mysqli_stmt_prepare

(PHP 5)

mysqli_stmt::prepare -- mysqli_stmt_prepare — Prépare une requête SQL pour l'exécution

Description

Style orienté objet

mixed mysqli_stmt::prepare ( string $query )

Style procédural

bool mysqli_stmt_prepare ( mysqli_stmt $stmt , string $query )

Prépare la requête SQL query, pour la session de travail stmt.

Les variables SQL doivent être associées à une variable PHP à l'aide de la fonction mysqli_stmt_bind_param() et/ou mysqli_stmt_bind_result(), avant d'exécuter la requête.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

query

La requête, sous forme de chaîne. Elle doit être constituée d'une commande SQL valide et unique.

Ce paramètre peut inclure une ou plusieurs variables SQL, en utilisant des points d'interrogation (?) aux bons endroits.

Note: Il ne faut pas ajouter de point-virgule ou de \g à la fin de la requête.

Note: Les variables SQL ne sont possibles que dans certaines clauses de la requête SQL. Par exemple, elles peuvent être placées dans des clause VALUES() d'une requête INSERT (pour spécifier une valeur à insérer), ou dans une clause de condition WHERE.
Cependant, elles ne sont pas autorisées pour les identifiants (de tables ou de colonnes), dans les listes de colonnes d'un SELECT, ou pour spécifier des opérateurs comme =. Cette dernière restriction est liée au fait qu'il est impossible de déterminer le type. En général, les variables SQL ne sont valides que dans les commandes de manipulation de données ("Data Manipulation Language" (DML)), et non dans les structures du langages SQL ("Data Definition Language" (DDL)).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* Création d'une requête préparée */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT District FROM City WHERE Name=?")) {

    /* Association des variables SQL */
    $stmt->bind_param("s", $city);

    /* Exécution de la requête */
    $stmt->execute();

    /* Association des variables de résultats */
    $stmt->bind_result($district);

    /* Lecture des valeurs */
    $stmt->fetch();

    printf("%s est dans la région de %s\n", $city, $district);

    /* Fermeture de la commande */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* Création d'une requête préparée */
$stmt = mysqli_stmt_init($link);
if (mysqli_stmt_prepare($stmt, 'SELECT District FROM City WHERE Name=?')) {

    /* Association des variables SQL */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    /* Association des variables de résultats */
    mysqli_stmt_bind_result($stmt, $district);

    /* Lecture des valeurs */
    mysqli_stmt_fetch($stmt);

    printf("%s est dans la région de %s\n", $city, $district);

    /* Fermeture de la commande */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Amersfoort est dans la région de Utrecht

Voir aussi

mysqli_stmt_init() - Initialise une commande MySQL, mysqli_stmt_execute() - Exécute une requête préparée, mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées, mysqli_stmt_bind_param() - Lie des variables à une requête MySQL, mysqli_stmt_bind_result() - Lie des variables à un jeu de résultats mysqli_stmt_close() - Termine une requête préparée.

mysqli_stmt->param_count
mysqli_stmt::reset
MySQLi_STMT


Annule une requête préparée

mysqli_stmt::prepare
mysqli_stmt::result_metadata
MySQLi_STMT
PHP Manual

mysqli_stmt::reset

mysqli_stmt_reset

(PHP 5)

mysqli_stmt::reset -- mysqli_stmt_reset — Annule une requête préparée

Description

Style orienté objet

bool mysqli_stmt::reset ( void )

Style procédural

bool mysqli_stmt_reset ( mysqli_stmt $stmt )

Annule une requête préparée sur le client et sur le serveur après avoir été préparée.

Cette fonction annule la requête sur le serveur, annule les données envoyées en utilisant la fonction mysqli_stmt_send_long_data(), annule les jeux de résultats non mis en buffer mais aussi les erreurs courantes. Par contre, les jeux de résultats stoqués ou liés ne sont pas annulés. Les jeux de résultats stoqués sont effacés lors de l'exécution de la requête préparée (ou lorsuq'on les ferme).

Pour préparer de nouveau une requête, utilisez la fonction mysqli_stmt_prepare().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution

mysqli_stmt::prepare
mysqli_stmt::result_metadata
MySQLi_STMT


Retourne les métadonnées de préparation de requête MySQL

mysqli_stmt::reset
mysqli_stmt::send_long_data
MySQLi_STMT
PHP Manual

mysqli_stmt::result_metadata

mysqli_stmt_result_metadata

(PHP 5)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Retourne les métadonnées de préparation de requête MySQL

Description

Style orienté objet

mysqli_result mysqli_stmt::result_metadata ( void )

Style procédural

mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt )

Si une commande a été préparée par mysqli_prepare(), et qu'elle produira un résultat, mysqli_stmt_result_metadata() retourne l'objet de résultat qui sera utilisée pour lire les métadonnées, comme le nombre de champs et les informations de colonnes.

Note: Ce résultat peut être passé comme argument à toutes les fonctions qui demandent un champ, pour y lire les métadonnées :

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

Il est recommandé de libérer la ressource de résultat lorsque vous avez terminé de l'utiliser, en la passant  la fonction mysqli_free_result().

Note: Le jeu de résultat retourné par mysqli_stmt_result_metadata() ne contient que des métadonnées. Il ne contient aucune ligne de résultat. Ces lignes sont obtenues en utilisant la fonction mysqli_stmt_fetch().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Retourne un objet de résultats, ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* Lit les méta-données de résultat */
$result = $stmt->result_metadata();

/* Lit les informations d'un champ, depuis les méta-données */
$field = $result->fetch_field();

printf("Nom du champ : %s\n", $field->name);

/* Libération du résultat */
$result->close();

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* Lit les méta-données de résultat */
$result = mysqli_stmt_result_metadata($stmt);

/* Lit les informations d'un champ, depuis les méta-données */
$field = mysqli_fetch_field($result);

printf("Nom du champ : %s\n", $field->name);

/* Libération du résultat */
mysqli_free_result($result);

/* Fermeture de la connexion */
mysqli_close($link);
?>

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_free_result() - Libère la mémoire associée à un résultat

mysqli_stmt::reset
mysqli_stmt::send_long_data
MySQLi_STMT


Envoie des données MySQL par paquets

mysqli_stmt::result_metadata
mysqli_stmt::sqlstate
MySQLi_STMT
PHP Manual

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Envoie des données MySQL par paquets

Description

Style orienté objet

bool mysqli_stmt::send_long_data ( int $param_nr , string $data )

Style procédural

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )

Envoie les données au serveur par paquets, si la taille des données excède la limite de max_allowed_packet. Cette fonction peut être appelée plusieurs fois pour envoyer les données textes ou binaires de champs comme les BLOB ou TEXT.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

param_nr

Indique quel paramètre doit être associé avec quelles données. Les paramètres sont numérotés à partir de 0.

data

Une chaîne de caractères contenant les données à envoyer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$stmt = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
    $stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_bind_param() - Lie des variables à une requête MySQL

mysqli_stmt::result_metadata
mysqli_stmt::sqlstate
MySQLi_STMT


Retourne le code SQLSTATE de la dernière opération MySQL

mysqli_stmt::send_long_data
mysqli_stmt::store_result
MySQLi_STMT
PHP Manual

mysqli_stmt::sqlstate

mysqli_stmt_sqlstate

(PHP 5)

mysqli_stmt::sqlstate -- mysqli_stmt_sqlstate — Retourne le code SQLSTATE de la dernière opération MySQL

Description

Style orienté objet

mysqli_stmt
string $sqlstate;

Style procédural

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

Retourne une chaîne contenant le code d'erreur SQLSTATE de la commande la plus récente qui a été préparée. Le code d'erreur est constitué de 5 caractères '00000'. Les valeurs des codes d'erreurs sont spécifiées par les normes ANSI SQL et ODBC. Pour la liste complète des valeurs, voyez le fichier » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Retourne la chaîne contenant le code d'erreur SQLSTATE. Le code d'erreur est constitué de 5 caractères. '00000' représente l'absence d'erreur.

Notes

Note: Notez que toutes les erreurs MySQL n'ont pas encore de correspondance en SQLSTATE. La valeur HY000 (erreur générale) est utilisée pour les erreurs sans correspondance.

Exemples

Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* Effacement de la table */
    $mysqli->query("DROP TABLE myCountry");

    /* Exécution de la requête */
    $stmt->execute();

    printf("Erreur : %s.\n", $stmt->sqlstate);

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Effacement de la table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    printf("Erreur : %s.\n", mysqli_stmt_sqlstate($stmt));

    /* Fermeture de la requête */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Erreur : 42S02.

Voir aussi

  • mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
  • mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement

mysqli_stmt::send_long_data
mysqli_stmt::store_result
MySQLi_STMT


Stock un jeu de résultats depuis une requête préparée

mysqli_stmt::sqlstate
MySQLi_Result
MySQLi_STMT
PHP Manual

mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5)

mysqli_stmt::store_result -- mysqli_stmt_store_result — Stock un jeu de résultats depuis une requête préparée

Description

Style orienté objet

bool mysqli_stmt::store_result ( void )

Style procédural

bool mysqli_stmt_store_result ( mysqli_stmt $stmt )

Vous devez appeler mysqli_stmt_store_result() pour toutes les requêtes qui produisent un jeu de résultats (SELECT, SHOW, DESCRIBE, EXPLAIN), et uniquement si vous voulez stocker le jeu de résultats complet par le client, et donc, les séquences mysqli_stmt_fetch() pourront retourner ces données stockées.

Note: Il n'est pas nécessaire d'appeler mysqli_stmt_store_result() pour d'autres types de requête, mais si vous le faites, ce n'est pas grave et ne causera aucune perte notable de performance dans tous les cas. Vous pouvez détecter dans tous les cas si votre requête va produire un jeu de résultats en regardant si la fonction mysqli_stmt_result_metadata() retourne NULL.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* Exécution de la requête */
    $stmt->execute();

    /* Stock le résultat */
    $stmt->store_result();

    printf("Nombre de lignes: %d.\n", $stmt->num_rows);

    /* Libère le résultat */
    $stmt->free_result();

    /* Fermeture de la requête */
    $stmt->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* Exécution de la requête */
    mysqli_stmt_execute($stmt);

    /* Stock le résultat */
    mysqli_stmt_store_result($stmt);

    printf("Nombre de lignes : %d.\n", mysqli_stmt_num_rows($stmt));

    /* Libère le résultat */
    mysqli_stmt_free_result($stmt);

    /* Fermeture de la requête */
    mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Nombre de lignes : 20.

Voir aussi

  • mysqli_prepare() - Prépare une requête SQL pour l'exécution
  • mysqli_stmt_result_metadata() - Retourne les métadonnées de préparation de requête MySQL
  • mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées

mysqli_stmt::sqlstate
MySQLi_Result
MySQLi_STMT


La classe MySQLi_Result

Introduction

Représente le jeu de résultats obtenu depuis une requête.

Synopsis de la classe

MySQLi_Result
MySQLi_Result {
/* Propriétés */
int $current_field ;
int $field_count;
array $lengths;
int $num_rows;
/* Méthodes */
int mysqli_field_tell ( mysqli_result $result )
bool mysqli_result::data_seek ( int $offset )
mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )
mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
array mysqli_result::fetch_assoc ( void )
object mysqli_result::fetch_field_direct ( int $fieldnr )
object mysqli_result::fetch_field ( void )
array mysqli_result::fetch_fields ( void )
object mysqli_result::fetch_object ([ string $class_name [, array $params ]] )
mixed mysqli_result::fetch_row ( void )
int mysqli_num_fields ( mysqli_result $result )
bool mysqli_result::field_seek ( int $fieldnr )
void mysqli_result::free ( void )
array mysqli_fetch_lengths ( mysqli_result $result )
int mysqli_num_rows ( mysqli_result $result )
}

Sommaire

  • mysqli_result->current_field — Récupère la position courante d'un champ dans un pointeur de résultat
  • mysqli_result::data_seek — Déplace le pointeur interne de résultat
  • mysqli_result::fetch_all — Lit toutes les lignes de résultats dans un tableau
  • mysqli_result::fetch_array — Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysqli_result::fetch_assoc — Récupère une ligne de résultat sous forme de tableau associatif
  • mysqli_result::fetch_field_direct — Récupère les métadonnées d'un champ unique
  • mysqli_result::fetch_field — Retourne le prochain champs dans le jeu de résultats
  • mysqli_result::fetch_fields — Retourne un tableau d'objets représentant les champs dans le résultat
  • mysqli_result::fetch_object — Retourne la ligne courante d'un jeu de résultat sous forme d'objet
  • mysqli_result::fetch_row — Récupère une ligne de résultat sous forme de tableau indexé
  • mysqli_result->field_count — Récupère le nombre de champs dans un résultat
  • mysqli_result::field_seek — Déplace le pointeur de résultat sur le champs spécifié
  • mysqli_result::free — Libère la mémoire associée à un résultat
  • mysqli_result->lengths — Retourne la longueur des colonnes de la ligne courante du jeu de résultats
  • mysqli_result->num_rows — Retourne le nombre de lignes dans un résultat
mysqli_stmt::store_result
mysqli_result->current_field
mysqli


Récupère la position courante d'un champ dans un pointeur de résultat

MySQLi_Result
mysqli_result::data_seek
MySQLi_Result
PHP Manual

mysqli_result->current_field

mysqli_field_tell

(PHP 5)

mysqli_result->current_field -- mysqli_field_tell — Récupère la position courante d'un champ dans un pointeur de résultat

Description

Style orienté objet

mysqli_result
int $current_field ;

Style procédural

int mysqli_field_tell ( mysqli_result $result )

Retourne la position du curseur de champ utilisé par le dernier appel à la fonction mysqli_fetch_field(). Cette valeur peut être utilisée comme argument de la fonction mysqli_field_seek().

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Retourne la position courante du curseur de champ.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Récupération des informations sur le champ pour toutes les colonnes */
    while ($finfo = $result->fetch_field()) {

        /* Récupération de la position du pointeur de champ */
        $currentfield = $result->current_field;

        printf("Colonne %d :\n", $currentfield);
        printf("Nom :     %s\n", $finfo->name);
        printf("Table :    %s\n", $finfo->table);
        printf("Longueur max. : %d\n", $finfo->max_length);
        printf("Drapeaux :    %d\n", $finfo->flags);
        printf("Type :     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Récupération des informations sur le champ pour toutes les colonnes */
    while ($finfo = mysqli_fetch_field($result)) {

        /* Récupération de la position du pointeur de champ */
        $currentfield = mysqli_field_tell($result);

        printf("Colonne %d :\n", $currentfield);
        printf("Nom :     %s\n", $finfo->name);
        printf("Table :    %s\n", $finfo->table);
        printf("Longueur max. : %d\n", $finfo->max_length);
        printf("Drapeaux :    %d\n", $finfo->flags);
        printf("Type :     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Colonne 1:
Nom :           Name
Table :         Country
Longueur max. : 11
Drapeaux :      1
Type :          254

Colonne 2:
Nom :           SurfaceArea
Table      :    Country
Longueur max. : 10
Drapeaux :      32769
Type :          4

Voir aussi

  • mysqli_fetch_field() - Retourne le prochain champs dans le jeu de résultats
  • mysqli_field_seek() - Déplace le pointeur de résultat sur le champs spécifié

MySQLi_Result
mysqli_result::data_seek
MySQLi_Result


Déplace le pointeur interne de résultat

mysqli_result->current_field
mysqli_result::fetch_all
MySQLi_Result
PHP Manual

mysqli_result::data_seek

mysqli_data_seek

(PHP 5)

mysqli_result::data_seek -- mysqli_data_seek — Déplace le pointeur interne de résultat

Description

Style orienté objet

bool mysqli_result::data_seek ( int $offset )

Style procédural

bool mysqli_data_seek ( mysqli_result $result , int $offset )

La fonction mysqli_data_seek() déplace le pointeur interne de résultat associé au jeu de résultat représenté par result, en le faisant pointer sur la ligne spécifiée par offset.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

offset

Le paramètre offset doit être compris entre zéro et mysqli_num_rows() - 1 (0..mysqli_num_rows() - 1).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction ne peut être utilisée qu'avec des résultats obtenus avec la fonction mysqli_store_result() ou mysqli_query().

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query( $query)) {

    /* Déplacement du pointeur sur la ligne numéro 400 */
    $result->data_seek(399);

    /* Récupération de cette ligne */
    $row = $result->fetch_row();

    printf ("Ville : %s Code Pays : %s\n", $row[0], $row[1]);

    /* Libération des résultats */
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (!$link) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* Déplacement du pointeur sur la ligne numéro 400 */
    mysqli_data_seek($result, 399);

    /* Récupération de cette ligne */
    $row = mysqli_fetch_row($result);

    printf ("Ville : %s Code Pays : %s\n", $row[0], $row[1]);

    /* Libération des résultats */
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Ville : Benin City Code Pays : NGA

Voir aussi

  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
  • mysqli_fetch_array() - Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysqli_fetch_assoc() - Récupère une ligne de résultat sous forme de tableau associatif
  • mysqli_fetch_object() - Retourne la ligne courante d'un jeu de résultat sous forme d'objet
  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_num_rows() - Retourne le nombre de lignes dans un résultat

mysqli_result->current_field
mysqli_result::fetch_all
MySQLi_Result


Lit toutes les lignes de résultats dans un tableau

mysqli_result::data_seek
mysqli_result::fetch_array
MySQLi_Result
PHP Manual

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0)

mysqli_result::fetch_all -- mysqli_fetch_all — Lit toutes les lignes de résultats dans un tableau

Description

Style orienté objet

mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] )

Style procédural

mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] )

mysqli_fetch_all() lit tous les résultats et retourne le résultat sous forme d'un tableau associatif, numérique, ou les deux.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

resulttype

Ce paramètre optionnel est une constante, qui indique le type de tableau qui doit être produit à partir du résultat. Les valeurs possibles sont les constantes MYSQLI_ASSOC, MYSQLI_NUM, ou MYSQLI_BOTH.

Valeurs de retour

Retourne un tableau associatif ou numérique contenant les lignes de résultat.

Driver MySQL Natif uniquement

Disponible uniquement avec mysqlnd.

Vu que la fonction mysqli_fetch_all() retourne toutes les lignes dans un tableau en une seule fois, elle peut consommer plus de mémoire que des fonctions comme mysqli_fetch_array(), qui ne font que récupérer une ligne à la fois depuis le jeu de résultats. Par la suite, si vous devez parcourir le jeu de résultats, vous devez construire une boucle qui aura un impact sur les performances. C'est pour cette raison que la fonction mysqli_fetch_all() ne doit être utilisée que dans ce genre de situation où le résultat récupéré doit être envoyé vers une autre interface pour être analysé.

Voir aussi

  • mysqli_fetch_array() - Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysqli_query() - Exécute une requête sur la base de données

mysqli_result::data_seek
mysqli_result::fetch_array
MySQLi_Result


Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux

mysqli_result::fetch_all
mysqli_result::fetch_assoc
MySQLi_Result
PHP Manual

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5)

mysqli_result::fetch_array -- mysqli_fetch_array — Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux

Description

Style orienté objet

mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )

Style procédural

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )

Retourne un tableau qui correspond à la ligne récupérée ou NULL s'il n'y a plus de ligne dans le jeu de résultats result.

mysqli_fetch_array() est une version étendue de la fonction mysqli_fetch_row(). En plus d'enregistrer les données sous forme d'un tableau à indices numériques, elle peut aussi les enregistrer dans un tableau associatif, en utilisant les noms des champs comme clés.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Si plusieurs colonnes portent le même nom, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser l'index numérique, ou faire un alias pour chaque colonne.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

resulttype

Le second argument optionnel est une constante indiquant quel type de tableau doit être renvoyé à partir de la ligne de données courante. Les valeurs possibles pour ce paramètre sont les constantes MYSQLI_ASSOC, MYSQLI_NUM, et MYSQLI_BOTH.

En utilisant la constante MYSQLI_ASSOC, cette fonction se comportera comme la fonction mysqli_fetch_assoc(), tandis que MYSQLI_NUM la fera agir comme la fonction mysqli_fetch_row(). La constante MYSQLI_BOTH, créera elle un tableau qui sera à la fois associatif et indexé numériquement.

Valeurs de retour

Retourne un tableau de chaînes qui correspond à la ligne récupérée ou NULL s'il n'y a plus de ligne disponible dans le jeu de résultats.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* Tableau numérique */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* Tableau associatif */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* Tableau associatif et numérique */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* Libération des résultats */
$result->close();

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* Tableau numérique */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* Tableau associatif */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* Tableau associatif et numérique */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* Libération des résultats */
mysqli_free_result($result);

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Voir aussi

  • mysqli_fetch_assoc() - Récupère une ligne de résultat sous forme de tableau associatif
  • mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
  • mysqli_fetch_object() - Retourne la ligne courante d'un jeu de résultat sous forme d'objet
  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_data_seek() - Déplace le pointeur interne de résultat

mysqli_result::fetch_all
mysqli_result::fetch_assoc
MySQLi_Result


Récupère une ligne de résultat sous forme de tableau associatif

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
MySQLi_Result
PHP Manual

mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Récupère une ligne de résultat sous forme de tableau associatif

Description

Style orienté objet

array mysqli_result::fetch_assoc ( void )

Style procédural

array mysqli_fetch_assoc ( mysqli_result $result )

Retourne un tableau associatif qui correspond à la ligne récupérée ou NULL s'il n'y a plus de ligne.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Retourne un tableau associatif de chaînes représentant la prochaine ligne dans le jeu de résultats représenté par le paramètre result, où chaque clé du tableau représente le nom d'une colonne du résultat ou NULL s'il n'y a plus de ligne dans le jeu de résultats.

Si deux ou plus colonnes dans le jeu de résultat ont le même nom, le tableau associatif retourné par la fonction mysqli_fetch_assoc() ne contiendra que la valeur de la dernière colonne de ce nom. Si vous devez travailler avec des jeux de résultats ayant cette particularité, la fonction mysqli_fetch_row() qui retourne un tableau indexé doit être utilisée à la place.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* Récupère un tableau associatif */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* Libération des résultats */
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* Récupère un tableau associatif */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* Libération des résultats */
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Voir aussi

  • mysqli_fetch_array() - Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
  • mysqli_fetch_object() - Retourne la ligne courante d'un jeu de résultat sous forme d'objet
  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_data_seek() - Déplace le pointeur interne de résultat

mysqli_result::fetch_array
mysqli_result::fetch_field_direct
MySQLi_Result


Récupère les métadonnées d'un champ unique

mysqli_result::fetch_assoc
mysqli_result::fetch_field
MySQLi_Result
PHP Manual

mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Récupère les métadonnées d'un champ unique

Description

Style orienté objet

object mysqli_result::fetch_field_direct ( int $fieldnr )

Style procédural

object mysqli_fetch_field_direct ( mysqli_result $result , int $fieldnr )

Retourne un objet qui contient les métadonnées d'un champ dans le jeu de résultats spécifié.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

fieldnr

Le numéro du champ. Cette valeur doit être dans l'intervalle 0 à nombre de champs - 1.

Valeurs de retour

Retourne un objet qui contient les métadonnées d'un champ ou FALSE si aucune métadonnée n'est spécifiée pour le champ fieldnr.

Attributs de l'objet
Attribut | Description
name | Le nom de la colonne
orgname | Le nom original de la colonne si un alias a été spécifié
table | Le nom de la table à laquelle ce champs appartient (s'il n'a pas été calculé)
orgtable | Le nom original de la table si un alias a été spécifié
def | La valeur par défaut du champs, représentée par une chaîne de caractères
max_length | La longueur maximale du champs pour le jeu de résultats
length | La largeur du champs, comme spécifiée dans la définition de table
charsetnr | Le numéro du jeu de caractères pour ce champs
flags | Un entier représentant le bit-flags pour ce champs
type | Le type de données utilisées pour ce champs
decimals | Le nombre de décimales utilisées (pour les champs de type entier)

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Nom        : %s\n", $finfo->name);
    printf("Table      : %s\n", $finfo->table);
    printf("Taille max : %d\n", $finfo->max_length);
    printf("Flags      : %d\n", $finfo->flags);
    printf("Type       : %d\n", $finfo->type);

    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = mysqli_fetch_field_direct($result, 1);

    printf("Nom        : %s\n", $finfo->name);
    printf("Table      : %s\n", $finfo->table);
    printf("Taille max : %d\n", $finfo->max_length);
    printf("Flags      : %d\n", $finfo->flags);
    printf("Type       : %d\n", $finfo->type);

    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Nom        : SurfaceArea
Table      : Country
Taille max : 10
Flags      : 32769
Type       : 4

Voir aussi

  • mysqli_num_fields() - Récupère le nombre de champs dans un résultat
  • mysqli_fetch_field() - Retourne le prochain champs dans le jeu de résultats
  • mysqli_fetch_fields() - Retourne un tableau d'objets représentant les champs dans le résultat

mysqli_result::fetch_assoc
mysqli_result::fetch_field
MySQLi_Result


Retourne le prochain champs dans le jeu de résultats

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
MySQLi_Result
PHP Manual

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5)

mysqli_result::fetch_field -- mysqli_fetch_field — Retourne le prochain champs dans le jeu de résultats

Description

Style orienté objet

object mysqli_result::fetch_field ( void )

Style procédural

object mysqli_fetch_field ( mysqli_result $result )

Retourne les attributs de la prochaine colonne dans le jeu de résultats représenté par le paramètre result en tant qu'objet. Appelez cette fonction de façon répétitive pour récupérer les informations de toutes les colonnes.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Retourne un objet qui contient les informations d'un champ ou FALSE si aucune information n'est disponible pour ce champs.

Propriétés de l'objet
Propriété | Description
name | Le nom de la colonne
orgname | Le nom original de la colonne si un alias a été spécifié
table | Le nom de la table à laquelle ce champs appartient (s'il n'a pas été calculé)
orgtable | Le nom original de la table si un alias a été spécifié
def | La valeur par défaut du champs, représentée par une chaîne de caractères
max_length | La longueur maximale du champs pour le jeu de résultats
length | La largeur du champs, comme spécifiée dans la définition de table
charsetnr | Le numéro du jeu de caractères pour ce champs
flags | Un entier représentant le bit-flags pour ce champs
type | Le type de données utilisées pour ce champs
decimals | Le nombre de décimales utilisées (pour les champs de type entier)

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Récupère les informations d'un champ pour toutes les colonnes */
    while ($finfo = $result->fetch_field()) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Récupère les informations d'un champ pour toutes les colonnes */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Voir aussi

  • mysqli_num_fields() - Récupère le nombre de champs dans un résultat
  • mysqli_fetch_field_direct() - Récupère les métadonnées d'un champ unique
  • mysqli_fetch_fields() - Retourne un tableau d'objets représentant les champs dans le résultat
  • mysqli_field_seek() - Déplace le pointeur de résultat sur le champs spécifié

mysqli_result::fetch_field_direct
mysqli_result::fetch_fields
MySQLi_Result


Retourne un tableau d'objets représentant les champs dans le résultat

mysqli_result::fetch_field
mysqli_result::fetch_object
MySQLi_Result
PHP Manual

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5)

mysqli_result::fetch_fields -- mysqli_fetch_fields — Retourne un tableau d'objets représentant les champs dans le résultat

Description

Style orienté objet

array mysqli_result::fetch_fields ( void )

Style procédural

array mysqli_fetch_fields ( mysqli_result $result )

Cette fonction fonctionne comme mysqli_fetch_field() à la différence que, au lieu de retourner un objet à la fois pour chaque champ, les colonnes sont retournées en tant que tableau d'objets.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Retourne un tableau d'objets qui contient les métadonnées d'un champ ou FALSE si aucune métadonnée n'est disponible pour ce champ.

Propriétés de l'objet
Propriété | Description
name | Le nom de la colonne
orgname | Le nom original de la colonne si un alias a été spécifié
table | Le nom de la table à laquelle ce champ appartient (s'il n'a pas été calculé)
orgtable | Le nom original de la table si un alias a été spécifié
def | La valeur par défaut du champs, représentée par une chaîne de caractères
max_length | La longueur maximale du champs pour le jeu de résultats
length | La largeur du champs, comme spécifiée dans la définition de table
charsetnr | Le numéro du jeu de caractères pour ce champs
flags | Un entier représentant le bit-flags pour ce champs
type | Le type de données utilisées pour ce champs
decimals | Le nombre de décimales utilisées (pour les champs de type entier)

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Récupère les informations d'un champ pour toutes les colonnes */
    $finfo = $result->fetch_fields();

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Récupère les informations d'un champ pour toutes les colonnes */
    $finfo = mysqli_fetch_fields($result);

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Voir aussi

  • mysqli_num_fields() - Récupère le nombre de champs dans un résultat
  • mysqli_fetch_field_direct() - Récupère les métadonnées d'un champ unique
  • mysqli_fetch_field() - Retourne le prochain champs dans le jeu de résultats

mysqli_result::fetch_field
mysqli_result::fetch_object
MySQLi_Result


Retourne la ligne courante d'un jeu de résultat sous forme d'objet

mysqli_result::fetch_fields
mysqli_result::fetch_row
MySQLi_Result
PHP Manual

mysqli_result::fetch_object

mysqli_fetch_object

(PHP 5)

mysqli_result::fetch_object -- mysqli_fetch_object — Retourne la ligne courante d'un jeu de résultat sous forme d'objet

Description

Style orienté objet

object mysqli_result::fetch_object ([ string $class_name [, array $params ]] )

Style procédural

object mysqli_fetch_object ( mysqli_result $result [, string $class_name [, array $params ]] )

La fonction mysqli_fetch_object() retourne la ligne courante du jeu de résultat sous forme d'objet dont les attributs représentent les noms des champs trouvés dans le jeu de résultats.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

class_name

Le nom de la classe à instancier. Si non fourni, un objet stdClass sera retourné.

params

Un tableau de paramètres (optionnel) à passer au constructeur de l'objet class_name.

Valeurs de retour

Retourne un objet avec les propriétés qui correspondent à la ligne récupérée ou NULL s'il n'y a plus de ligne dans le jeu de résultat.

Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Historique

Version | Description
5.0.0 | Ajoute la possibilité de retourner le résultat dans un objet différent.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* Récupère un tableau d'objets */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* Récupère un tableau d'objets */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Voir aussi

  • mysqli_fetch_array() - Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysqli_fetch_assoc() - Récupère une ligne de résultat sous forme de tableau associatif
  • mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_data_seek() - Déplace le pointeur interne de résultat

mysqli_result::fetch_fields
mysqli_result::fetch_row
MySQLi_Result


Récupère une ligne de résultat sous forme de tableau indexé

mysqli_result::fetch_object
mysqli_result->field_count
MySQLi_Result
PHP Manual

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5)

mysqli_result::fetch_row -- mysqli_fetch_row — Récupère une ligne de résultat sous forme de tableau indexé

Description

Style orienté objet

mixed mysqli_result::fetch_row ( void )

Style procédural

mixed mysqli_fetch_row ( mysqli_result $result )

Récupère une ligne de données à partir du jeu de résultats représenté par result et le retourne en tant que tableau indexé, où chaque colonne est une case du tableau, celui-ci commençant à 0 (zéro). Chaque nouvel appel à mysqli_fetch_row() retournera la prochaine ligne dans le jeu de résultats, ou NULL s'il n'y a plus de lignes.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

mysqli_fetch_row() retourne un tableau de chaînes correspondant à la ligne récupérée ou NULL s'il n'y a plus de ligne dans le jeu de résultats.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* Récupère un tableau associatif */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* Libère le jeu de résultats */
    $result->close();
}

/* Fermeture de la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* Récupère un tableau associatif */
    while ($row = mysqli_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* Libère le jeu de résultats */
    mysqli_free_result($result);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Voir aussi

  • mysqli_fetch_array() - Retourne une ligne de résultat sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
  • mysqli_fetch_assoc() - Récupère une ligne de résultat sous forme de tableau associatif
  • mysqli_fetch_object() - Retourne la ligne courante d'un jeu de résultat sous forme d'objet
  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_data_seek() - Déplace le pointeur interne de résultat

mysqli_result::fetch_object
mysqli_result->field_count
MySQLi_Result


Récupère le nombre de champs dans un résultat

mysqli_result::fetch_row
mysqli_result::field_seek
MySQLi_Result
PHP Manual

mysqli_result->field_count

mysqli_num_fields

(PHP 5)

mysqli_result->field_count -- mysqli_num_fields — Récupère le nombre de champs dans un résultat

Description

Style orienté objet

mysqli_result
int $field_count;

Style procédural

int mysqli_num_fields ( mysqli_result $result )

Retourne le nombre de champs dans le jeu de résultats spécifié.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Le nombre de champs depuis le jeu de résultats.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* Détermine le nombre de champs dans le jeu de résultats */
    $field_cnt = $result->field_count;

    printf("Le résultat a %d champs.\n", $field_cnt);

    /* Ferme le jeu de résultats */
    $result->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* Détermine le nombre de champs dans le jeu de résultats */
    $field_cnt = mysqli_num_fields($result);

    printf("Le résultat a %d champs.\n", $field_cnt);

    /* Ferme le jeu de résultats */
    mysqli_free_result($result);
}

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Le résultat a 5 champs.

Voir aussi

  • mysqli_fetch_field() - Retourne le prochain champs dans le jeu de résultats

mysqli_result::fetch_row
mysqli_result::field_seek
MySQLi_Result


Déplace le pointeur de résultat sur le champs spécifié

mysqli_result->field_count
mysqli_result::free
MySQLi_Result
PHP Manual

mysqli_result::field_seek

mysqli_field_seek

(PHP 5)

mysqli_result::field_seek -- mysqli_field_seek — Déplace le pointeur de résultat sur le champs spécifié

Description

Style orienté objet

bool mysqli_result::field_seek ( int $fieldnr )

Style procédural

bool mysqli_field_seek ( mysqli_result $result , int $fieldnr )

Place le curseur sur le champs spécifié par le numéro fieldnr. Le prochain appel à la fonction mysqli_fetch_field() retournera la définition du champ de la colonne associée à cette position.

Note: Pour se déplacer au début d'une ligne, passez une position ayant pour valeur zéro.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

fieldnr

Le numéro du champs. Cette valeur doit être dans l'intervalle 0 à nombre de champs - 1.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Récupération des informations du champ pour la 2ème colonne */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    $result->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Récupération des informations du champ pour la 2ème colonne */
    mysqli_field_seek($result, 1);
    $finfo = mysqli_fetch_field($result);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    mysqli_free_result($result);
}

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Voir aussi

  • mysqli_fetch_field() - Retourne le prochain champs dans le jeu de résultats

mysqli_result->field_count
mysqli_result::free
MySQLi_Result


Libère la mémoire associée à un résultat

mysqli_result::field_seek
mysqli_result->lengths
MySQLi_Result
PHP Manual

mysqli_result::free

mysqli_free_result

(PHP 5)

mysqli_result::free -- mysqli_free_result — Libère la mémoire associée à un résultat

Description

Style orienté objet

void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )

Style procédural

void mysqli_free_result ( mysqli_result $result )

Libère la mémoire associée à un résultat.

Note: Vous devriez toujours libérer les résultats avec mysqli_free_result(), lorsque votre objet de résultat ne vous est plus utile.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • mysqli_query() - Exécute une requête sur la base de données
  • mysqli_stmt_store_result() - Stock un jeu de résultats depuis une requête préparée
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats

mysqli_result::field_seek
mysqli_result->lengths
MySQLi_Result


Retourne la longueur des colonnes de la ligne courante du jeu de résultats

mysqli_result::free
mysqli_result->num_rows
MySQLi_Result
PHP Manual

mysqli_result->lengths

mysqli_fetch_lengths

(PHP 5)

mysqli_result->lengths -- mysqli_fetch_lengths — Retourne la longueur des colonnes de la ligne courante du jeu de résultats

Description

Style orienté objet

mysqli_result
array $lengths;

Style procédural

array mysqli_fetch_lengths ( mysqli_result $result )

La fonction mysqli_fetch_lengths() retourne un tableau contenant la longueur de chaque colonne de la ligne courante du jeu de résultats représenté par le paramètre result.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Un tableau d'entiers représentant la taille de chaque colonne (n'incluant aucun caractère null de fin). Retourne FALSE si une erreur survient.

mysqli_fetch_lengths() n'est valide que pour la ligne courant du jeu de résultats. Elle retourne FALSE si vous l'appelez avant les fonctions mysqli_fetch_row(), mysqli_fetch_array(), mysqli_fetch_object() ou après avoir récupéré toutes les lignes du résultat.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "mon_user", "mon_mot_de_passe", "la_base");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* Affichage de la longueur des colonnes */
    foreach ($result->lengths as $i => $val) {
        printf("Le champ n°%2d a une longueur de %2d\n", $i+1, $val);
    }
    $result->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

    $row = mysqli_fetch_row($result);

    /* Affichage de la longueur des colonnes */
    foreach (mysqli_fetch_lengths($result) as $i => $val) {
        printf("Le champ n°%2d a une longueur de %2d\n", $i+1, $val);
    }
    mysqli_free_result($result);
}

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Le champ n° 1 a une longueur de  3
Le champ n° 2 a une longueur de  5
Le champ n° 3 a une longueur de 13
Le champ n° 4 a une longueur de  9
Le champ n° 5 a une longueur de  6
Le champ n° 6 a une longueur de  1
Le champ n° 7 a une longueur de  6
Le champ n° 8 a une longueur de  4
Le champ n° 9 a une longueur de  6
Le champ n°10 a une longueur de  6
Le champ n°11 a une longueur de  5
Le champ n°12 a une longueur de 44
Le champ n°13 a une longueur de  7
Le champ n°14 a une longueur de  3
Le champ n°15 a une longueur de  2
mysqli_result::free
mysqli_result->num_rows
MySQLi_Result


Retourne le nombre de lignes dans un résultat

mysqli_result->lengths
MySQLi_Driver
MySQLi_Result
PHP Manual

mysqli_result->num_rows

mysqli_num_rows

(PHP 5)

mysqli_result->num_rows -- mysqli_num_rows — Retourne le nombre de lignes dans un résultat

Description

Style orienté objet

mysqli_result
int $num_rows;

Style procédural

int mysqli_num_rows ( mysqli_result $result )

Retourne le nombre de lignes dans un jeu de résultats.

L'utilisation de mysqli_num_rows() dépend de l'utilisation de jeux de résultats bufferisés ou non. Dans le cas où vous utilisez des jeux de résultats non bufferisés, mysqli_num_rows() ne retournera pas le nombre correct de lignes tant que toutes les lignes du jeu de résultats ne sont pas retournées.

Liste de paramètres

result

Style procédural uniquement : Un identifiant de jeu de résultats retourné par la fonction mysqli_query(), mysqli_store_result() ou mysqli_use_result().

Valeurs de retour

Retourne le nombre de lignes dans le jeu de résultats.

Note: Si le nombre de résultats est plus grand que la valeur maximale d'un entier, le nombre sera retourné sous la forme d'une chaîne de caractères.

Exemples

Style orienté objet

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* Détermine le nombre de lignes du jeu de résultats */
    $row_cnt = $result->num_rows;

    printf("Le jeu de résultats a %d lignes.\n", $row_cnt);

    /* Ferme le jeu de résultats */
    $result->close();
}

/* Ferme la connexion */
$mysqli->close();
?>

Style procédural

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* Détermine le nombre de lignes du jeu de résultats */
    $row_cnt = mysqli_num_rows($result);

    printf("Le jeu de résultats a %d lignes.\n", $row_cnt);

    /* Ferme le jeu de résultats */
    mysqli_free_result($result);
}

/* Ferme la connexion */
mysqli_close($link);
?>

Les exemples ci-dessus vont afficher :

Le jeu de résultats a 239 lignes.

Voir aussi

  • mysqli_affected_rows() - Retourne le nombre de lignes affectées par la dernière opération MySQL
  • mysqli_store_result() - Transfère un jeu de résultats à partir de la dernière requête
  • mysqli_use_result() - Initialise la récupération d'un jeu de résultats
  • mysqli_query() - Exécute une requête sur la base de données

mysqli_result->lengths
MySQLi_Driver
MySQLi_Result


La classe MySQLi_Driver

Introduction

Driver MySQLi.

Synopsis de la classe

MySQLi_Driver
MySQLi_Driver {
/* Propriétés */
public readonly string $client_info ;
public readonly string $client_version ;
public readonly string $driver_version ;
public readonly string $embedded ;
public boolean $reconnect ;
public int $report-mode ;
/* Méthodes */
void mysqli_driver::embedded_server_end ( void )
bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )
}

Propriétés

client_info

La version de l'en-tête du client API

client_version

La version du client

driver_version

La version du driver MySQLi

embedded

Si le support "MySQLi Embedded" est activé

reconnect

Permet ou non la reconnexion (voir la directive INI mysqli.reconnect)

report_mode

Définit à MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL ou n'importe quelle combinaison de MYSQLI_REPORT_STRICT (lane des exceptions lors d'erreurs), MYSQLI_REPORT_ERROR (rapporte les erreurs) et MYSQLI_REPORT_INDEX (erreurs sur les indexes).

Sommaire

  • mysqli_driver::embedded_server_end — Arrête le serveur embarqué
  • mysqli_driver::embedded_server_start — Initialise et démarre le serveur embarqué
mysqli_result->num_rows
mysqli_driver::embedded_server_end
mysqli


Arrête le serveur embarqué

MySQLi_Driver
mysqli_driver::embedded_server_start
MySQLi_Driver
PHP Manual

mysqli_driver::embedded_server_end

mysqli_embedded_server_end

(PHP 5)

mysqli_driver::embedded_server_end -- mysqli_embedded_server_end — Arrête le serveur embarqué

Description

Style orienté objet

void mysqli_driver::embedded_server_end ( void )

Style procédural

void mysqli_embedded_server_end ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

MySQLi_Driver
mysqli_driver::embedded_server_start
MySQLi_Driver


Initialise et démarre le serveur embarqué

mysqli_driver::embedded_server_end
MySQLi_Warning
MySQLi_Driver
PHP Manual

mysqli_driver::embedded_server_start

mysqli_embedded_server_start

(PHP 5)

mysqli_driver::embedded_server_start -- mysqli_embedded_server_start — Initialise et démarre le serveur embarqué

Description

Style orienté objet

bool mysqli_driver::embedded_server_start ( bool $start , array $arguments , array $groups )

Style procédural

bool mysqli_embedded_server_start ( bool $start , array $arguments , array $groups )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

mysqli_driver::embedded_server_end
MySQLi_Warning
MySQLi_Driver


La classe MySQLi_Warning

Introduction

Représente une alerte MySQL.

Synopsis de la classe

mysqli_warning
mysqli_warning {
/* Propriétés */
public $message ;
public $sqlstate ;
public $errno ;
/* Méthodes */
__construct ( void )
public void next ( void )
}

Propriétés

message

Le message

sqlstate

Le statut SQL

errno

Le numéro de l'erreur

Sommaire

  • mysqli_warning::__construct — Le constructeur __construct
  • mysqli_warning::next — Le but de next
mysqli_driver::embedded_server_start
mysqli_warning::__construct
mysqli


Le constructeur __construct

MySQLi_Warning
mysqli_warning::next
MySQLi_Warning
PHP Manual

mysqli_warning::__construct

(No version information available, might only be in SVN)

mysqli_warning::__construct — Le constructeur __construct

Description

mysqli_warning::__construct ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

MySQLi_Warning
mysqli_warning::next
MySQLi_Warning


Le but de next

mysqli_warning::__construct
Fonctions mysqli obsolètes et alias
MySQLi_Warning
PHP Manual

mysqli_warning::next

(No version information available, might only be in SVN)

mysqli_warning::next — Le but de next

Description

public void mysqli_warning::next ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

mysqli_warning::__construct
Fonctions mysqli obsolètes et alias
MySQLi_Warning


Fonctions mysqli obsolètes et alias

Sommaire

  • mysqli_bind_param — Alias de mysqli_stmt_bind_param
  • mysqli_bind_result — Alias de mysqli_stmt_bind_result
  • mysqli_client_encoding — Alias de mysqli_character_set_name
  • mysqli_connect — Alias de mysqli::__construct
  • mysqli_disable_reads_from_master — Désactive la lecture depuis le maître
  • mysqli_disable_rpl_parse — Désactive l'analyseur RPL
  • mysqli_enable_reads_from_master — Active la lecture depuis le maître
  • mysqli_enable_rpl_parse — Active l'analyseur RPL
  • mysqli_escape_string — Alias de mysqli_real_escape_string
  • mysqli_execute — Alias de mysqli_stmt_execute
  • mysqli_fetch — Alias de mysqli_stmt_fetch
  • mysqli_get_cache_stats — Retourne les statistiques sur le cache du client Zval
  • mysqli_get_client_stats — Retournes des statistiques sur le client, par processus
  • mysqli_get_metadata — Alias de mysqli_stmt_result_metadata
  • mysqli_master_query — Force l'exécution d'une requête sur le maître dans une configuration maître/esclave
  • mysqli_param_count — Alias de mysqli_stmt_param_count
  • mysqli_report — Active ou désactive les fonctions de rapport interne
  • mysqli_rpl_parse_enabled — Vérifie si l'analyseur RPL est activé
  • mysqli_rpl_probe — Sonde le RPL
  • mysqli_rpl_query_type — Retourne le type de requête RPL
  • mysqli_send_long_data — Alias de mysqli_stmt_send_long_data
  • mysqli_send_query — Envoie la requête et retourne
  • mysqli_set_opt — Alias de mysqli_options
  • mysqli_slave_query — Force l'exécution de la requête sur un serveur esclave pour une configuration maître/esclave
mysqli_warning::next
mysqli_bind_param
mysqli


Alias de mysqli_stmt_bind_param

Fonctions mysqli obsolètes et alias
mysqli_bind_result
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_bind_param

(PHP 5)

mysqli_bind_param — Alias de mysqli_stmt_bind_param()

Description

Cette fonction est un alias de la fonction mysqli_stmt_bind_param().

Notes

Note: La fonction mysqli_bind_param() est obsolète et devrait être supprimée.

Voir aussi

  • mysqli_stmt_bind_param() - Lie des variables à une requête MySQL

Fonctions mysqli obsolètes et alias
mysqli_bind_result
Fonctions mysqli obsolètes et alias


Alias de mysqli_stmt_bind_result

mysqli_bind_param
mysqli_client_encoding
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_bind_result

(PHP 5)

mysqli_bind_result — Alias de mysqli_stmt_bind_result()

Description

Cette fonction est un alias de la fonction mysqli_stmt_bind_result().

Notes

Note: La fonction mysqli_bind_result() est obsolète et devrait être supprimée.

Voir aussi

  • mysqli_stmt_bind_result() - Lie des variables à un jeu de résultats

mysqli_bind_param
mysqli_client_encoding
Fonctions mysqli obsolètes et alias


Alias de mysqli_character_set_name

mysqli_bind_result
mysqli_connect
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_client_encoding

(PHP 5)

mysqli_client_encoding — Alias de mysqli_character_set_name()

Description

Cette fonction est un alias de la fonction mysqli_character_set_name().

Voir aussi

  • mysqli_real_escape_string() - Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion

mysqli_bind_result
mysqli_connect
Fonctions mysqli obsolètes et alias


Alias de mysqli::__construct

mysqli_client_encoding
mysqli_disable_reads_from_master
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_connect

(PHP 5)

mysqli_connect — Alias de mysqli::__construct

Description

Cette fonction est un alias de : mysqli::__construct

mysqli_client_encoding
mysqli_disable_reads_from_master
Fonctions mysqli obsolètes et alias


Désactive la lecture depuis le maître

mysqli_connect
mysqli_disable_rpl_parse
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_disable_reads_from_master

mysqli->disable_reads_from_master

(PHP 5)

mysqli_disable_reads_from_master -- mysqli->disable_reads_from_master — Désactive la lecture depuis le maître

Description

Style orienté objet

void mysqli::disable_reads_from_master ( void )

Style procédural

bool mysqli_disable_reads_from_master ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_connect
mysqli_disable_rpl_parse
Fonctions mysqli obsolètes et alias


Désactive l'analyseur RPL

mysqli_disable_reads_from_master
mysqli_enable_reads_from_master
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_disable_rpl_parse

(PHP 5)

mysqli_disable_rpl_parse — Désactive l'analyseur RPL

Description

bool mysqli_disable_rpl_parse ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_disable_reads_from_master
mysqli_enable_reads_from_master
Fonctions mysqli obsolètes et alias


Active la lecture depuis le maître

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_enable_reads_from_master

(PHP 5)

mysqli_enable_reads_from_master — Active la lecture depuis le maître

Description

bool mysqli_enable_reads_from_master ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_disable_rpl_parse
mysqli_enable_rpl_parse
Fonctions mysqli obsolètes et alias


Active l'analyseur RPL

mysqli_enable_reads_from_master
mysqli_escape_string
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_enable_rpl_parse

(PHP 5)

mysqli_enable_rpl_parse — Active l'analyseur RPL

Description

bool mysqli_enable_rpl_parse ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_enable_reads_from_master
mysqli_escape_string
Fonctions mysqli obsolètes et alias


Alias de mysqli_real_escape_string

mysqli_enable_rpl_parse
mysqli_execute
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_escape_string

(PHP 5)

mysqli_escape_string — Alias de mysqli_real_escape_string()

Description

Cette fonction est un alias de : mysqli_real_escape_string().

mysqli_enable_rpl_parse
mysqli_execute
Fonctions mysqli obsolètes et alias


Alias de mysqli_stmt_execute

mysqli_escape_string
mysqli_fetch
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_execute

(PHP 5)

mysqli_execute — Alias de mysqli_stmt_execute()

Description

mysqli_execute() est un alias de la fonction mysqli_stmt_execute().

Notes

Note: mysqli_execute() est fortement déconseillée et devrait être supprimée prochainement.

Voir aussi

  • mysqli_stmt_execute() - Exécute une requête préparée

mysqli_escape_string
mysqli_fetch
Fonctions mysqli obsolètes et alias


Alias de mysqli_stmt_fetch

mysqli_execute
mysqli_get_cache_stats
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_fetch

(PHP 5)

mysqli_fetch — Alias de mysqli_stmt_fetch()

Description

mysqli_fetch() est un alias de la fonction mysqli_stmt_fetch().

Notes

Note: mysqli_fetch() est fortement déconseillée et devrait être supprimée prochainement.

Voir aussi

  • mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées

mysqli_execute
mysqli_get_cache_stats
Fonctions mysqli obsolètes et alias


Retourne les statistiques sur le cache du client Zval

mysqli_fetch
mysqli_get_client_stats
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_get_cache_stats

(PHP 5 >= 5.3.0)

mysqli_get_cache_stats — Retourne les statistiques sur le cache du client Zval

Description

array mysqli_get_cache_stats ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne les statistiques sur le cache du client Zval. Disponible uniquement avec mysqlnd.

Liste de paramètres

Valeurs de retour

Retourne un tableau avec les statistiques sur le cache du client Zval en cas de succès, FALSE sinon.

Exemples

Exemple #1 Exemple avec mysqli_get_cache_stats()

<?php
$link = mysqli_connect();
print_r(mysqli_get_cache_stats());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Voir aussi

  • Description des statistiques

mysqli_fetch
mysqli_get_client_stats
Fonctions mysqli obsolètes et alias


Retournes des statistiques sur le client, par processus

mysqli_get_cache_stats
mysqli_get_metadata
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_get_client_stats

(PHP 5 >= 5.3.0)

mysqli_get_client_stats — Retournes des statistiques sur le client, par processus

Description

array mysqli_get_client_stats ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retournes des statistiques sur le client, par processus. Disponible uniquement avec mysqlnd.

Liste de paramètres

Valeurs de retour

Retourne un tableau avec les statistiques sur le client en cas de succès, FALSE sinon.

Exemples

Exemple #1 A mysqli_get_client_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_client_stats());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Voir aussi

  • Description des statistiques

mysqli_get_cache_stats
mysqli_get_metadata
Fonctions mysqli obsolètes et alias


Alias de mysqli_stmt_result_metadata

mysqli_get_client_stats
mysqli_master_query
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_get_metadata

(PHP 5)

mysqli_get_metadata — Alias de mysqli_stmt_result_metadata()

Description

mysqli_get_metadata() est un alias de la fonction mysqli_stmt_result_metadata().

Notes

Note: mysqli_get_metadata() est obsolète, et sera bientôt supprimée.

Voir aussi

  • mysqli_stmt_result_metadata() - Retourne les métadonnées de préparation de requête MySQL

mysqli_get_client_stats
mysqli_master_query
Fonctions mysqli obsolètes et alias


Force l'exécution d'une requête sur le maître dans une configuration maître/esclave

mysqli_get_metadata
mysqli_param_count
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_master_query

(PHP 5)

mysqli_master_query — Force l'exécution d'une requête sur le maître dans une configuration maître/esclave

Description

bool mysqli_master_query ( mysqli $link , string $query )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_get_metadata
mysqli_param_count
Fonctions mysqli obsolètes et alias


Alias de mysqli_stmt_param_count

mysqli_master_query
mysqli_report
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_param_count

(PHP 5)

mysqli_param_count — Alias de mysqli_stmt_param_count()

Description

mysqli_param_count() est un alias de la fonction mysqli_stmt_param_count().

Notes

Note: mysqli_param_count() est fortement déconseillée et devrait être supprimée prochainement.

Voir aussi

  • mysqli_stmt_param_count() - Retourne le nombre de paramètre d'une commande SQL

mysqli_master_query
mysqli_report
Fonctions mysqli obsolètes et alias


Active ou désactive les fonctions de rapport interne

mysqli_param_count
mysqli_rpl_parse_enabled
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_report

(PHP 5)

mysqli_report — Active ou désactive les fonctions de rapport interne

Description

bool mysqli_report ( int $flags )

mysqli_report() est une fonction puissante, pour améliorer vos requêtes et votre code durant les phases de développement et de tests. En fonction de l'argument flags, il rapporte des erreurs liées aux appels de fonctions mysqli ou aux requêtes qui n'utilisent pas d'index (ou n'utilisent pas de bon index).

Liste de paramètres

flags

Options supportées
Nom | Description
MYSQLI_REPORT_OFF | Désactive le rapport
MYSQLI_REPORT_ERROR | Rapporte les erreurs des fonctions mysqli
MYSQLI_REPORT_STRICT | Rapporte les alertes des appels aux fonctions mysqli
MYSQLI_REPORT_INDEX | Rapporte si un mauvais index ou pas d'index a été utilisé
MYSQLI_REPORT_ALL | Active toutes les options

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Style orienté objet

<?php
/* Active le rapport d'erreur mysqli */
mysqli_report(MYSQLI_REPORT_ALL);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}

/* Cette requête doit générer une erreur */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* Cette requête doit générer une alerte */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();

$mysqli->close();
?>

Voir aussi

  • mysqli_debug() - Effectue des actions de déboguage
  • mysqli_dump_debug_info() - Écrit les informations de déboguage dans les logs

mysqli_param_count
mysqli_rpl_parse_enabled
Fonctions mysqli obsolètes et alias


Vérifie si l'analyseur RPL est activé

mysqli_report
mysqli_rpl_probe
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_rpl_parse_enabled

(PHP 5)

mysqli_rpl_parse_enabled — Vérifie si l'analyseur RPL est activé

Description

int mysqli_rpl_parse_enabled ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_report
mysqli_rpl_probe
Fonctions mysqli obsolètes et alias


Sonde le RPL

mysqli_rpl_parse_enabled
mysqli_rpl_query_type
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_rpl_probe

(PHP 5)

mysqli_rpl_probe — Sonde le RPL

Description

bool mysqli_rpl_probe ( mysqli $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_rpl_parse_enabled
mysqli_rpl_query_type
Fonctions mysqli obsolètes et alias


Retourne le type de requête RPL

mysqli_rpl_probe
mysqli_send_long_data
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_rpl_query_type

mysqli->rpl_query_type

(PHP 5)

mysqli_rpl_query_type -- mysqli->rpl_query_type — Retourne le type de requête RPL

Description

Style orienté objet

mysqli
int rpl_query_type ( string $query )

Style procédural

int mysqli_rpl_query_type ( mysqli $link , string $query )

Retourne MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE ou MYSQLI_RPL_ADMIN, en fonction du type de requête. INSERT, UPDATE et similaire sont des requêtes maîtres, SELECT est esclave, et FLUSH, REPAIR et similaire sont des requêtes d'administration.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_rpl_probe
mysqli_send_long_data
Fonctions mysqli obsolètes et alias


Alias de mysqli_stmt_send_long_data

mysqli_rpl_query_type
mysqli_send_query
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_send_long_data

(PHP 5)

mysqli_send_long_data — Alias de mysqli_stmt_send_long_data()

Description

mysqli_send_long_data() est un alias de la fonction mysqli_stmt_send_long_data().

Notes

Note: mysqli_send_long_data() est fortement déconseillée et devrait être supprimée prochainement.

Voir aussi

  • mysqli_stmt_send_long_data() - Envoie des données MySQL par paquets

mysqli_rpl_query_type
mysqli_send_query
Fonctions mysqli obsolètes et alias


Envoie la requête et retourne

mysqli_send_long_data
mysqli_set_opt
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_send_query

mysqli->send_query

(PHP 5)

mysqli_send_query -- mysqli->send_query — Envoie la requête et retourne

Description

Style orienté objet

mysqli
bool send_query ( string $query )

Style procédural

bool mysqli_send_query ( mysqli $link , string $query )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_send_long_data
mysqli_set_opt
Fonctions mysqli obsolètes et alias


Alias de mysqli_options

mysqli_send_query
mysqli_slave_query
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_set_opt

(PHP 5)

mysqli_set_opt — Alias de mysqli_options()

Description

mysqli_set_opt() est un alias de la fonction mysqli_options().

mysqli_send_query
mysqli_slave_query
Fonctions mysqli obsolètes et alias


Force l'exécution de la requête sur un serveur esclave pour une configuration maître/esclave

mysqli_set_opt
Mysqlnd
Fonctions mysqli obsolètes et alias
PHP Manual

mysqli_slave_query

(PHP 5)

mysqli_slave_query — Force l'exécution de la requête sur un serveur esclave pour une configuration maître/esclave

Description

bool mysqli_slave_query ( mysqli $link , string $query )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Avertissement

Cette fonction estobsolète et a été supprimée depuis PHP 5.3.0.

mysqli_set_opt
Mysqlnd
Fonctions mysqli obsolètes et alias


Le pilote natif MySQL

  • Introduction
  • Introduction
  • Installation
  • Configuration à l'exécution
  • Les connexions persistantes
  • Statistiques
  • Notes
mysqli_slave_query
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction
Mysqlnd
PHP Manual

Introduction

Cette partie du manuel fournit un aperçu du pilote natif MySQL.

Mysqlnd
Introduction
Mysqlnd


Introduction
Installation
Mysqlnd
PHP Manual

Introduction

Le pilote natif MySQL est un substitut à la bibliothèque cliente MySQL (libmysql). Le pilote natif MySQL fait partie des branches officielles depuis PHP 5.3.

Les extensions de base de données MySQL mysqli et PDO MYSQL communiquent toutes avec le serveur MySQL. Auparavant, les extensions utilisaient les services de la bibliothèque cliente MySQL et étaient compilées par rapport à elle pour utiliser son protocole client-serveur.

Avec le pilote natif MySQL, il y a maintenant une alternative car les extensions de base de données MySQL peuvent être compilées pour utiliser le pilote natif MySQL plutôt que la bibliothèque cliente MySQL.

Le pilote natif MySQL est écrit en C comme une extensions PHP.

Ce que ce n'est pas

Bien que le pilote natif MySQL soit écrit comme une extension PHP, il est important de noter qu'il ne fournit pas une nouvelle API au programmeur PHP. Les API programmeur sont fournies par l'extension MySQL, mysqli et PDO MySQL. Ces extensions peuvent maintenant utiliser les services du pilote natif MySQL pour communiquer avec le serveur MySQL. Ainsi, vous ne devez pas considérer le pilote natif MySQL comme une API.

Pourquoi l'utiliser?

Utiliser le pilote natif MySQL offre bon nombre d'avantages par rapport à la bibliothèque MySQL cliente.

L'ancienne bibliothèque MySQL cliente a été écrite par MySQL AB (maintenant partie de Sun Microsystems, Inc.) et a donc été publiée sous licence MySQL, ce qui a eu pour conséquence de désactiver le support de MySQL par défaut dans PHP? Vu que le pilote natif MySQL a été développé comme partie intégrante du projet PHP, il est publié sous licence PHP, ce qui résout les soucis de licence problématique dans le passé.

De plus, auparavant, vous deviez compiler les extensions de base de données MySQL par rapport à une copie de la bibliothèque MySQL cliente, ce qui signifie que vous deviez avoir MySQL d'installé sur la machine sur laquelle vous compiliez PHP à partir des sources. Ainsi, quand votre application PHP était exécutée, les extensions MySQL appelaient les fichier de la bibliothèque MySQL cliente au démarrage, ceux-ci devant être obligatoirement installés sur le système. Avec le pilote natif MySQL, ce n'est plus le cas car il est inclus dans la distribution standard. Ainsi, vous n'aurez plus besoin d'avoir MySQL installé pour compiler PHP ou exécuter des applications PHP faisant appel à une base de données.

Du fait que le pilote natif MySQL soit écrit comme une extension PHP, il est intimement lié au coeur de PHP. Ceci implique une meilleure efficacité, notamment en ce qui concerne l'utilisation de la mémoire, car le pilote utilise l'allocation mémoire de PHP et par conséquent supporte les limites de mémoire. Utiliser le pilote natif MySQL aboutit à des performances égales sinon meilleurs qu'avec la bibliothèque cliente MySQL, car l'utilisation de la mémoire est beaucoup plus efficace. Le fait que lors de l'utilisation de la bibliothèque cliente MySQL, chaque enregistrement est stockée deux fois en mémoire alors que le client natif MySQL ne les stocké qu'une fois constitue un bon exemple de bonne gestion de la mémoire.

Fonctionnalités spéciales

Le pilote natif MySQL fournit aussi quelques fonctionnalités spéciales non disponibles avec la bibliothèque cliente MySQL, listées ci-dessous :

  • Des connexions persistantes améliorées

  • La fonction spéciale mysqli_fetch_all()

  • Des appels aux statistiques de performance :
mysqli_get_cache_stats(),
mysqli_get_client_stats(),
mysqli_get_connection_stats()

Les statistiques de performances peuvent s'avérer très utiles pour identifier des goulets d'étranglement de performances.

Le pilote natif MySQL fournit aussi des connexions persistantes lors de son utilisation avec l'extension mysqli.

Le support de SSL

A ce jour, le pilote natif MySQL ne supporte pas SSL. Ainsi, la fonction mysqli_ssl_set() générera une erreur si elle est appelée avec le pilote natif MySQL.

Le support du protocole compressé

Depuis PHP 5.3.2, le pilote natif MySQL supporte le protocole client/serveur MySQL compressé. Il ne le supportait pas en PHP 5.3.0 ou 5.3.1. Les extensions telles que ext/mysql, ext/mysqli, PDO_MYSQL, configurées pour utiliser le pilote natif MySQL peuvent ainsi tirer parti de ce protocole.

Introduction
Installation
Mysqlnd


Installation

Installation sous Unix

Par défaut, les extensions de base de données MySQL sont configurées pour utiliser la bibliothèque cliente MySQL. Pour utiliser le pilote natif MySQL, PHP doit être compilé en spécifiant explicitement que les extensions de base de données MySQL doivent être compilées par rapport à lui. C'est fait grâce aux options de configuration précédant la compilation de PHP en elle-même.

Par exemple, pour compiler l'extension MySQL, mysqli et PDO MySQL en utilisant le pilote natif MYSQL, la commande suivante doit être passée :

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[autres options]

Installation sous Windows

Dans les distributions officielle de PHP à partir de la version 5.3, le pilote natif MySQL est activé par défaut et aucune configuration supplémentaire n'est nécessaire pour l'utiliser. Toutes les extensions de base de données MySQL l'utiliseront alors.

Introduction
Configuration à l'exécution
Mysqlnd


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration du pilote natif MySQL
Nom | Valeur par défaut | Modifiable | Changelog
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mysqlnd.collect_statistics boolean

Active la collecte de nombreuses statistiques clients qui peuvent être consultées grâce à mysqli_get_client_stats(), mysqli_get_connection_stats() ou mysqli_get_cache_stats() et qui sont aussi disponibles dans la section mysqlnd de l'affichage de la fonction phpinfo().

Ce paramètre de configuration active toutes les statistiques du pilote natif MySQL sauf celles relatives à la gestion de la mémoire.

mysqlnd.collect_memory_statistics boolean

Active la collecte de nombreuses statistiques de mémoire qui peuvent être consultées grâce à mysqli_get_client_stats(), mysqli_get_connection_stats() ou mysqli_get_cache_stats() et qui sont aussi disponibles dans la section mysqlnd de l'affichage de la fonction phpinfo().

Ce paramètre de configuration active les statistiques de gestion de la mémoire au sein du jeu de statistiques du pilote natif MySQL.

Installation
Les connexions persistantes
Mysqlnd


Les connexions persistantes

Utilisation des connexions persistantes

Les extensions de base de données MySQL ne supportent pas les connexions persistantes quand elles sont utilisées avec la bibliothèque cliente MySQL. Par contre, elle les supportent lorsqu'elles utilisent le pilote natif MySQL. Quand une connexion est initiée, le nom d'hôte est préfixé avec "p:". Le code suivant en montre l'exemple, en créant une connexion avec mysqli :

$host="p:localhost";
$port=3306;
$socket="/tmp/mysql.sock";
$user="root";
$password="password";
$dbname="test";

$conn = new mysqli($host, $user, $password, $dbname, $port, $socket)
  or die ('On ne peut pas se connecter au serveur de base de données' . mysqli_connect_error());
Configuration à l'exécution
Statistiques
Mysqlnd


Statistiques

Utilisation des donnés statistiques

Le pilote natif MySQL peut collecter des statistiques sur la communication entre le client et le serveur. Ces statistiques sont de trois sortes :

  • Les statistiques client

  • Les statistiques de connexion

  • Les statistiques de cache Zval

Si vous utilisez l'extension mysqli, ces statistiques sont disponibles via trois appels d'API :

  • mysqli_get_client_stats()

  • mysqli_get_connection_stats()

  • mysqli_get_cache_stats()

Note: Les statistiques sont agrégées entre toutes les extensions qui utilisent le pilote natif MySQL. Par exemple, quand les extensions ext/mysql et ext/mysqli sont toutes deux compilées par rapport au pilote natif MySQL, les appels de fonctions de ext/mysql et ext/mysqli changeront tous les deux les statistiques. Il n'y a aucun moyen de savoir comment des appels à une certaine API compilée par rapport au pilote natif MySQL ont modifié une statistique donnée. Vous pouvez configurer le pilote PDO MySQL, ext/mysql et ext/mysqli pour éventuellement utiliser le pilote natif MySQL. Dans ce cas, les trois extensions modifieront les statistiques.

Accéder aux statistiques client

Pour accéder aux statistiques client, vous devez appeler mysqli_get_client_stats(). L'appel à la fonction ne requiert aucun paramètre.

Cette fonction retourne un tableau associatif contenant le nom de la statistique comme clé et la donnée statistiques comme valeur.

Les statistiques client peuvent aussi être accédées via la fonction phpinfo().

Accéder aux statistiques de connexion

Pour accéder aux statistiques client, vous devez appeler mysqli_get_connection_stats(). Cette fonction prend en paramètre la ressource de connexion à la base de données.

Cette fonction retourne un tableau associatif contenant le nom de la statistique comme clé et la donnée statistique comme valeur.

Accéder aux statistiques de cache Zval

Le pilote natif MySQL collecte aussi des statistiques sur son cache interne de Zval. Ces statistiques peuvent être accédées en utilisant mysqli_get_cache_stats().

Les statistiques de cache Zval obtenues peuvent permettre de régler avec précision un paramètre du php.ini relatif au cache Zval, aboutissant à de meilleures performances.

Buffered and Unbuffered Result Sets

Les jeux de résultats peuvent être mis ou non en tampon. Le paramétrage par défaut fait fonctionner ext/mysql and ext/mysqli avec des jeux de résultats en tampon pour des requêtes normales (non préparées). Les jeux de résultats sont stockés côté client. Après l'exécution de la requête, tous les résultats sont récupérés du serveur MySQL et mis en cache côté client. Le grand avantage de jeux de résultat mis en tampon est qu'ils autorisent le serveur à libérer les ressources allouées à un jeu de résultat, dès que ceux-ci ont été récupérés par le client.

D'autre part, des jeux de résultats non mis en tampon sont gardés plus longtemps sur le serveur. Si vous voulez réduire la consommation de mémoire côté client, mais en contre-partie augmenter la charge sur le serveur, ne mettez pas les résultats en tampon. Si vous avez par contre une charge serveur importante et que vos soupçons se portent sur les résultats non mis en tampon, vous devriez considérer de déplacer la charge côté client. Les clients s'adaptent généralement plus facilement que les serveurs. La charge ("Load") ne concerne pas seulement les tampons mémoire. En effet, le serveur a aussi besoin de garder d'autres ressources ouvertes, par exemple des threads ou des descripteurs de fichier, avant qu'un jeu de résultat ne soit libéré.

Les requêtes préparées ne mettent pas par défaut les résultats en tampon. Vous pouvez toujours utiliser mysqli_stmt_store_result() pour activer la mise en tampon des résultats.

Statistiques retournées par le pilote natif MySQL

Le tableau suivant présente une liste des statistiques retournées par les fonctions
mysqli_get_client_stats(),
mysqli_get_connection_stats() et
mysqli_get_cache_stats().

Réseau

Statistique | Contexte | Description | Notes
bytes_sent | Connexion | Nombre d'octets envoyés de PHP vers le serveur MySQL | Peut être utilisé pour vérifier l'efficacité du protocole compressé
bytes_received | Connexion | Nombres d'octets reçus du serveur MySQL | Peut être utilisé pour vérifier l'efficacité du protocole compressé
packets_sent | Connexion | Nombre de paquets envoyés de type client-serveur MySQL | Utilisé pour déboguer l'implémentation du protocole client-serveur
packets_received | Connexion | Nombre de paquets reçus de type client-serveur MySQL | Utilisé pour déboguer l'implémentation du protocole client-serveur
protocol_overhead_in | Connexion | Le surcoût en octets du protocole client-serveur MySQL pour le trafic entrant. Actuellement, seul l'en-tête de paquet (4 octets) est considéré comme du surcoût. protocol_overhead_in = packets_received * 4 | Utilisé pour déboguer l'implémentation du protocole client-serveur
protocol_overhead_out | Connexion | Le surcoût en octets du protocole client-serveur MySQL pour le trafic sortant. Actuellement, seul l'en-tête de paquet (4 octets) est considéré comme du surcoût. protocol_overhead_in = packets_received * 4 | Utilisé pour déboguer l'implémentation du protocole client-serveur
bytes_received_ok_packet | Connexion | Nombre total d'octets des paquets du protocole client-serveur MySQL reçus avec un statut OK. Les paquets reçus avec un statut OK peuvent contenir un message de statut. La longueur de ce message de statut peut varier, entrainant de ce fait une taille non-fixe de paquet OK. | Utilisé pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_ok | Connexion | Nombre total de paquets du protocole client-serveur MySQL reçus avec un statut OK. | Utilisé pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
bytes_received_eof_packet | Connexion | Taille totale en octets des paquets EOF reçus avec le protocole client-serveur MySQL. La taille de EOF peut varier selon la version du serveur. De plus, EOF peut contenir un message d'erreur. | Utilisé pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_eof | Connexion | Nombre total de paquets EOF reçus avec le protocole client-serveur MySQL. Comme avec d'autres statistiques sur les paquets, le nombre de paquets augmentera même si PHP ne reçoit pas le paquet attendu, mais par exemple un message d'erreur. | Utilisé pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
bytes_received_rset_header_packet | Connexion | Taille totale en octets des paquets d'en-tête de jeux de résultats reçus avec le protocole client-serveur MySQL. La taille des paquets varie selon le type de données transportées (LOAD LOCAL INFILE, INSERT, UPDATE, SELECT, messages d'erreur). | Utilisé pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_rset_header | Connexion | Nombre de paquets d'en-tête de jeux de résultats reçus avec le protocole client-serveur MySQL. | Utilisé pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
bytes_received_rset_field_meta_packet | Connexion | Taille totale en octets des paquets de méta-données (informations sur les champs) de jeux de résultats reçus avec le protocole client-serveur MySQL. Bien entendu, la taille varie selon les champs contenus dans le jeu de résultats. Le paquet peut aussi transporter une erreur ou un EOF dans le cas de COM_LIST_FIELDS. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_rset_field_meta | Connexion | Nombre de paquets de méta-données (informations sur les champs) de jeux de résultats reçus avec le protocole client-serveur MySQL. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
bytes_received_rset_row_packet | Connexion | Taille totale en octets des paquets de données pures de jeux de résultats reçus avec le protocole client-serveur MySQL. Le paquet peut aussi transporter une erreur ou un paquet EOF. Vous pouvez faire du rétro-engeneering sur le nombre de paquets d'erreurs ou de paquets EOF en soustrayant rows_fetched_from_server_normal et rows_fetched_from_server_ps de bytes_received_rset_row_packet. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_rset_row | Connexion | Nombre de paquets de données pures de jeux de résultats reçus avec le protocole client-serveur MySQL et leur taille totale en octets. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
bytes_received_prepare_response_packet | Connexion | Taille totale en octets des paquets "OK for Prepared Statement Initialization packets (paquets d'initialisation des commandes préparées). Le paquet peut aussi traporter une erreur. La taille du paquet dépend de la version de MySQL : 9 octets avec MySQL 4.1 et 12 octets à partir de MySQL 5.0. Il n'y a aucun moyen sûr de savoir combien d'erreurs sont survenues. Vous pouvez éventuellement deviner qu'une erreur est survenue si, par exemple, vous vous connectez toujours à MySQL 5.0 ou supérieur et que bytes_received_prepare_response_packet != packets_received_prepare_response * 12. Regardez aussi ps_prepared_never_executed et ps_prepared_once_executed. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_prepare_response | Connexion | Nombre de paquets "OK for Prepared Statement Initialization packets (paquets d'initialisation des commandes préparées). | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
bytes_received_change_user_packet | Connexion | Taille totale en octets des paquets COM_CHANGE_USER reçus avec le protocole client-serveur MySQL. Le paquet peut aussi transporter une erreur ou un EOF. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_received_change_user | Connexion | Nombre de paquets COM_CHANGE_USER reçus avec le protocole client-serveur MySQL. | Utile seulement pour déboguer l'implémentation du protocole client-serveur. Notez bien que la taille totale en octets inclut la taille du paquet d'en-tête (4 octets, comme indiqué dans le surcoût du protocole).
packets_sent_command | Connexion | Nombre de paquets envoyés de PHP vers MySQL avec le protocole client-serveur MySQL. Il n'y a aucun moyen de savoir quelle commande spécifique a été envoyée et en quel quantité. Au mieux, vous pouvez vous en servir pour savoir si PHP a envoyé des commandes à MySQL et ainsi savoir si vous pouvez supprimer le support de MySQL dans votre binaire PHP. Il n'y a de même aucun moyen de faire du rétro-engeneering sur le nombre d'erreurs qui ont pu survenir lors de l'envoi de données à MySQL. La seule erreur recodées est command_buffer_too_small (voir ci-après). | Utile seulement pour déboguer l'implémentation du protocole client-serveur.

Jeu de résultats

Statistique | Contexte | Description | Notes
result_set_queries | Connexion | Nombre de requêtes qui ont généré un jeu de résultats. Des exemples de requêtes qui génèrent un jeu de résultats : SELECT et SHOW. Cette statistique ne sera pas incrémentée si une erreur survient lors de la lecture du paquet d'en-tête du jeu de résultats. | Vous pouvez l'utiliser comme mesure indirecte du nombre de requêtes que PHP a envoyées à MySQL pour identifier, par exemple, un client qui provoque beaucoup de charge sur la base de données.
non_result_set_queries | Connexion | Nombre de requêtes qui n'ont pas généré de jeu de résultats. Des exemples de requêtes qui ne génèrent pas de jeu de résultats : INSERT, UPDATE, LOAD DATA et SHOW. Cette statistique ne sera pas incrémentée si une erreur survient lors de la lecture du paquet d'en-tête du jeu de résultats. | Vous pouvez l'utiliser comme mesure indirecte du nombre de requêtes que PHP a envoyées à MySQL pour identifier, par exemple, un client qui provoque beaucoup de charge sur la base de données.
no_index_used | Connexion | Nombre de requêtes qui ont généré un jeu de résultats mais qui n'ont pas utilisé d'index (voir aussi l'option de démarrage de mysqld : –log-queries-not-using-indexes). Si vous voulez que ces requêtes soient rapportées, vous pouvez utiliser mysqli_report(MYSQLI_REPORT_INDEX) pour que ext/mysqli jette une exception. Si vous préférez un avertissement plutôt qu'une exception, utilisez mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
bad_index_used | Connexion | Nombre de requêtes qui ont généré un jeu de résultats mais qui n'ont pas utilisé un bon index (voir aussi l'option de démarrage de mysqld : –log-slow-queries). | Si vous voulez que ces requêtes soient rapportées, vous pouvez utiliser mysqli_report(MYSQLI_REPORT_INDEX) pour que ext/mysqli jette une exception. Si vous préférez un avertissement plutôt qu'une exception, utilisez mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
slow_queries | Connexion | Les commandes SQL qui ont pris plus de long_query_time secondes à être exécutées et qui ont nécessité qu'au moins min_examined_row_limit enregistrements soient examinés. | Non reporté par mysqli_report()
buffered_sets | Connexion | Nombre de jeux de résultats retournés par des requêtes "normales" et qui ont été mis en tampon. "normale" signifie "commande non préparée" dans les notes qui suivent. | Des exemples d'appel à l'API, qui ne mettront pas les jeux de résultats en tampon côté client : mysql_query(), mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result(). Mettre les jeux de résultat en tampon côté client assure que les ressources allouées côté serveur sont libérées dès que possible et rend la navigation dans le jeu de résultat plus aisée. L'inconvénient, c'est une consommation mémoire plus importante côté client pour mettre les jeux de résultats en tampon. Notez que mysqlnd (contrairement à la bibliothèque cliente MySQL) respecte la limite de mémoire de PHP pour l'allocation, car mysqlnd utilise les fonctions de gestion de mémoire internes de PHP. C'est aussi pourquoi memory_get_usage() rapporte une consommation mémoire plus importante quand on utilise mysqlnd plutôt que la bibliothèque cliente MySQL. memory_get_usage() ne mesure pas la consommation mémoire de la bibliothèque cliente MySQL car celle-ci n'utilise pas les fonctions de gestion de mémoire internes de PHP, mésurées par cette fonction!
unbuffered_sets | Connexion | Nombre de jeux de résultats non mis en tampon retournés par des requêtes normales (pas de commande préparée). | Des exemples d'appels à l'API qui ne mettent pas les jeux de résultats en tampon côté client : mysqli_use_result()
ps_buffered_sets | Connexion | Nombre de jeux de résultats mis en tampon retournés par des commandes préparées. Par défaut, les commandes préparées ne sont pas mises en tampon. | Des exemples d'appels à l'API qui ne mettent pas les jeux de résultats en tampon côté client : mysqli_stmt_store_result
ps_unbuffered_sets | Connexion | Number of unbuffered result sets returned by prepared statements. | Par défaut, les commandes préparées ne sont pas mises en tampon.
flushed_normal_sets Connexion Nombre de jeux de résultats issus de requêtes normales (pas de commande préparée) avec des données non lues qui ont été évacuées implicitement. L'évacuation n'a lieu qu'avec les jeux de résultats non mis en tampon. Les jeux de résultats non mis en tampon doivent être récupérés en totalité avant qu'une nouvelle requête puisse être passée sur la connexion, sans quoi MySQL renverra une erreur. Si l'application ne récupère pas tous les enregistrements d'un jeu de résultats non mis en tampon, mysqlnd récupère implicitement tout le jeu afin de laisser place nette. Voir aussi rows_skipped_normal et rows_skipped_ps. Quelques causes possibles d'une évacuation implicite :

  • Une application cliente défectueuse

  • Le client a arrêté de lire après qu'il a trouvé ce qu'il cherchait met a fait considérer à MySQL davantage d'enregistrements que nécessaire

  • L'application cliente s'est arrêtée de façon inattendue

flushed_ps_sets Connexion Nombre de jeux de résultats issus de commandes préparées avec des données non lues qui ont été évacuées implicitement. L'évacuation n'a lieu qu'avec les jeux de résultats non mis en tampon. Les jeux de résultats non mis en tampon doivent être récupérés en totalité avant qu'une nouvelle requête puisse être passée sur la connexion, sans quoi MySQL renverra une erreur. Si l'application ne récupère pas tous les enregistrements d'un jeu de résultats non mis en tampon, mysqlnd récupère implicitement tout le jeu afin de laisser place nette. Voir aussi rows_skipped_normal et rows_skipped_ps. Quelques causes possibles d'une évacuation implicite :

  • Une application cliente défectueuse

  • Le client a arrêté de lire après qu'il a trouvé ce qu'il cherchait met a fait considérer à MySQL davantage d'enregistrements que nécessaire

  • L'application cliente s'est arrêtée de façon inattendue

ps_prepared_never_executed | Connexion | Nombre de commandes préparées mais jamais exécutées. | Les commandes préparées monopolisent des ressources serveur. Vous ne devriez pas préparer une commande si vous n'envisagez pas de l'exécuter.
ps_prepared_once_executed | Connexion | Nombre de commandes préparées exécutées une seule fois. | Un des principes des commandes préparées est que la même requête est exécutée encore et encore (avec des paramètres différents) de telle façon que des opérations d'analyse syntaxique et de préparation puissent être économisées si l'exécution de la commande est séparée en deux phases distinctes de préparation et d'exécution. L'idée est de préparer une fois et de mettre en "cache" les résultats pour que, par exemple, l'arbre d'analyse syntaxique puisse être réutilisé pour l'exécution de plusieurs commandes. Si vous exécutez une commande préparée uen seule fois, vous perdez tous le bénéfice des deux phases distinctes par rapport à des requêtes "normales" parce que la mise en cache représente du travail supplémentaire et monopolise des ressources (limitées) côté serveur. Par conséquent, les commandes préparées exécutées une seule fois peuvent provoquer des baisses de performance.
rows_fetched_from_server_normal, rows_fetched_from_server_ps | Connexion | Nombre total de jeux de résultats récupérés avec succès du serveur MySQL sans se soucier si l'application cliente les a utilisés ou pas. Certains des enregistrements peuvent ne pas avoir été récupérés par l'application cliente mais avoir été évacués de façon implicite. | Voir aussi packets_received_rset_row
rows_buffered_from_client_normal, rows_buffered_from_client_ps | Connexion | Nombre total d'enregistrements mis en tampon avec succès suite à une requête "normale" ou une commande préparée. C'est le nombre d'enregistrements qui ont été récupérés du serveur MySQL et mis en tampon par le client. Notez qu'il y a deux statistiques différentes : une sur les enregistrements ont été mis en tampon (de MySQL au tampon interne de mysqlnd) et l'autre sur les enregistrements mis en tampon qui ont été récupérés par l'application cliente (du tampon interne de mysqlnd vers l'application cliente). Si le nombre d'enregistrements mis en tampon est supérieur au nombre d'enregistrements récupérés, cela peut signifier que l'application cliente exécute des requêtes dont les enregistrements résultants sont plus grands que nécessaire, menant à des enregistrements non lus par le client. | Des exemples de requêtes qui mettent les résultats en tampon : mysqli_query(), mysqli_store_result()
rows_fetched_from_client_normal_buffered, rows_fetched_from_client_ps_buffered | Connexion | Nombre total d'enregistrements récupérés par le client à partir d'un jeu de résultat mis en tampon et créé à partir d'une requête "normale" ou d'une commande préparée.
rows_fetched_from_client_normal_unbuffered, rows_fetched_from_client_ps_unbuffered | Connexion | Nombre total d'enregistrements récupérés par le client à partir d'un jeu de résultat non mis en tampon et créé à partir d'une requête "normale" ou d'une commande préparée.
rows_fetched_from_client_ps_cursor | Connexion | Nombre total d'enregistrements récupérés par le client à partir d'un curseur créé par une commande préparée.
rows_skipped_normal, rows_skipped_ps | Connexion | Reservé pour une utilisation future (actuellement non supporté)
copy_on_write_saved, copy_on_write_performed | Processus | Avec mysqlnd, les variables retournées par l'extension pointent vers les tampons de résultats réseau internes à mysqlnd. Si vous en changez pas ces variables, les données récupérées seront gardées une seule fois en mémoire. Si vous changez les variables, mysqlnd doit faire une copie-avant-écriture (copy-on-write) pour protéger ces tampons de résultats réseau internes. Avec la bibliothèque cliente MySQL, vous gardez toujours les données récupérées en mémoire en deux exemplaires : un pour les tampons internes à la bibliothèque cliente MySQL et un pour les extensions. En théorie, mysqlnd peut vous faire économiser jusqu'à 40% de mémoire. Notez cependant que l'économie de mémoire ne peut pas être mésurée par memory_get_usage().
explicit_free_result, implicit_free_result | Connexion, Process (seulement pendant le ménage des commandes préparées) | Nombre total de jeux de résultats libérés. | La libération est toujours considérée comme explicite, sauf pour les jeux de résultats créés par des commandes d'initialisation, par exemple mysqli_options(MYSQLI_INIT_COMMAND , ...)
proto_text_fetched_null, proto_text_fetched_bit, proto_text_fetched_tinyint proto_text_fetched_short, proto_text_fetched_int24, proto_text_fetched_int proto_text_fetched_bigint, proto_text_fetched_decimal, proto_text_fetched_float proto_text_fetched_double, proto_text_fetched_date, proto_text_fetched_year proto_text_fetched_time, proto_text_fetched_datetime, proto_text_fetched_timestamp proto_text_fetched_string, proto_text_fetched_blob, proto_text_fetched_enum proto_text_fetched_set, proto_text_fetched_geometry, proto_text_fetched_other Connexion Nombre total de colonnes d'un certain type retournées à partir d'une requête normale (protocole texte MySQL). Correspondance entre l'API C / les types de méta-données MySQL et le nom des statistiques :

  • MYSQL_TYPE_NULL - proto_text_fetched_null

  • MYSQL_TYPE_BIT - proto_text_fetched_bit

  • MYSQL_TYPE_TINY - proto_text_fetched_tinyint

  • MYSQL_TYPE_SHORT - proto_text_fetched_short

  • MYSQL_TYPE_INT24 - proto_text_fetched_int24

  • MYSQL_TYPE_LONG - proto_text_fetched_int

  • MYSQL_TYPE_LONGLONG - proto_text_fetched_bigint

  • MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NEWDECIMAL - proto_text_fetched_decimal

  • MYSQL_TYPE_FLOAT - proto_text_fetched_float

  • MYSQL_TYPE_DOUBLE - proto_text_fetched_double

  • MYSQL_TYPE_DATE, MYSQL_TYPE_NEWDATE - proto_text_fetched_date

  • MYSQL_TYPE_YEAR - proto_text_fetched_year

  • MYSQL_TYPE_TIME - proto_text_fetched_time

  • MYSQL_TYPE_DATETIME - proto_text_fetched_datetime

  • MYSQL_TYPE_TIMESTAMP - proto_text_fetched_timestamp

  • MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, MYSQL_TYPE_VARCHAR - proto_text_fetched_string

  • MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB - proto_text_fetched_blob

  • MYSQL_TYPE_ENUM - proto_text_fetched_enum

  • MYSQL_TYPE_SET - proto_text_fetched_set

  • MYSQL_TYPE_GEOMETRY - proto_text_fetched_geometry

  • N'importe quel MYSQL_TYPE_* non encore listé (il ne doit y en avoir aucun) - proto_text_fetched_other

A noter que les constantes de type MYSQL_* peuvent ne pas être associées avec le même type de colonne SQL dans toutes les versions de MySQL.

proto_binary_fetched_null, proto_binary_fetched_bit, proto_binary_fetched_tinyint proto_binary_fetched_short, proto_binary_fetched_int24, proto_binary_fetched_int, proto_binary_fetched_bigint, proto_binary_fetched_decimal, proto_binary_fetched_float, proto_binary_fetched_double, proto_binary_fetched_date, proto_binary_fetched_year, proto_binary_fetched_time, proto_binary_fetched_datetime, proto_binary_fetched_timestamp, proto_binary_fetched_string, proto_binary_fetched_blob, proto_binary_fetched_enum, proto_binary_fetched_set, proto_binary_fetched_geometry, proto_binary_fetched_other | Connexion | Nombre total de colonnes d'un certain type retournées à partir d'une commande préparée (protocole binaire MySQL). | Pour la correspondance des types, regardez proto_text_* décrit ci-dessus.

Connexion

Statistique | Contexte | Description | Notes
connect_success, connect_failure | Connexion | Nombre total de tentatives de connexions réussies / échouées. | Les connexions réutilisées et tous les autres types de connexions sont incluses.
reconnect | Processus | Nombre total de tentatives de (real_)connect faites sur un descripteur de connexion déjà ouvert. | Le code $link = new mysqli(...); $link->real_connect(...) provoquera une reconnexion. Ce qui n'est pas le cas de $link = new mysqli(...); $link->connect(...) car $link->connect(...) fermera explicitement la connexion existante avant qu'une nouvelle connexion soit établie.
pconnect_success | Connexion | Nombre total de tentatives de connexions persistantes réussies. | Notez que connect_success contient la somme des tentatives de connexions persistantes et non-persistantes réussies. Ainsi, le nombre de tentatives de connexions non-persistantes réussies est connect_success - pconnect_success.
active_connections | Connexion | Nombre total de connexions persistantes et non-persistantes actives.
active_persistent_connections | Connexion | Nombre total de connexions persistantes actives. | Le nombre total de connexions non-persistantes actives est active_connections - active_persistent_connections.
explicit_close Connexion Nombre total de connexions fermées explicitement (seulement valable avec ext/mysqli). Des exemples de code qui ferment explicitement une connexion :
$link = new mysqli(...); $link->close(...)
$link = new mysqli(...); $link->connect(...)
implicit_close Connexion Nombre total de connexions fermées implicitement (seulement valable avec ext/mysqli). Des exemples de code qui ferment implicitement une connexion :

  • $link = new mysqli(...); $link->real_connect(...)

  • unset($link)

  • Connexions persistantes : le groupe de connexions qui ont été créées avec real_connect et où il peut y avoir des jeu d'options inconnues - ferme implicitement la connexion pour éviter de retourner une connexion avec des options inconnues

  • Connexions persistantes : ping/change_user échoue et ext/mysqli ferme la connexion

  • Fin de l'exécution d'un script : ferme la connexion qui ne l'a pas été par l'utilisateur

disconnect_close | Connexion | Echecs de connexions indiqués par l'appel à l'API C mysql_real_connect() pendant la tentative de connexion. | Elle est appelée disconnect_close parce que le descripteur de connexion passé lors de l'appel à l'API C sera fermé.
in_middle_of_command_close | Processus | Une connexion a été fermée en plein milieu de l'exécution d'une commande (excluant les jeux de résultats non récupérés, après avoir envoyé une requête et avant d'avoir la réponse, en envoyant des données, en transférant des données avec LOAD DATA). | A moins que vous n'utilisiez les requêtes asynchrones, ceci ne devrait arriver que si votre script s'arrête de façon inopinée et que PHP ferme la connexion pour vous.
init_command_executed_count | Connexion | Nombre total d'exécution de commandes d'initialisation, par exemple, mysqli_options(MYSQLI_INIT_COMMAND , ...). | Le nombre de connexions avec succès est init_command_executed_count - init_command_failed_count.
init_command_failed_count | Connexion | Nombre total d'exécution échouées de commandes d'initialisation.

Commandes COM_*

Statistique Contexte Description Notes
com_quit, com_init_db, com_query, com_field_list, com_create_db, com_drop_db, com_refresh, com_shutdown, com_statistics, com_process_info, com_connect, com_process_kill, com_debug, com_ping, com_time, com_delayed_insert, com_change_user, com_binlog_dump, com_table_dump, com_connect_out, com_register_slave, com_stmt_prepare, com_stmt_execute, com_stmt_send_long_data, com_stmt_close, com_stmt_reset, com_stmt_set_option, com_stmt_fetch, com_daemon Connexion Nombre total de tentatives d'envoi d'une certaine commande COM_* command de PHP vers MySQL.

Les statistiques sont incrémentées après avoir vérifié la connexion et immédiatement avant d'envoyer le paquet correspondant du protocole client-serveur MySQL. Si mysqlnd échoue lors de l'envoi du paquet via la connexion, la statistique ne sera pas décrémentée. En cas d'échec, mysqlnd émet un avertissement PHP "Error while sending %s packet. PID=%d."

Exemples d'utilisation :

  • Vérifie si PHP envoie certaines commandes à MySQL, vérifie par exemple si un client envoie COM_PROCESS_KILL

  • Calcule le nombre moyen d'exécution de commandes préparées en comparant COM_EXECUTE et COM_PREPARE

  • Vérifie si PHP a envoyé des commandes SQL non préparées en vérifiant si COM_QUERY vaut zéro

  • Identifie si des scripts PHP utilisent un nombre excessif de requêtes SQL en vérifiant COM_QUERY et COM_EXECUTE

Divers

Statistique | Contexte | Description | Notes
explicit_stmt_close, implicit_stmt_close | Processus | Nombre total de fermetures de commandes préparées. | Une fermeture est toujours considérée comme explicite sauf dans le cas d'une préparation échouée.
mem_emalloc_count, mem_emalloc_ammount, mem_ecalloc_count, mem_ecalloc_ammount, mem_erealloc_count, mem_erealloc_ammount, mem_efree_count, mem_malloc_count, mem_malloc_ammount, mem_calloc_count, mem_calloc_ammount, mem_realloc_count, mem_realloc_ammount, mem_free_count | Processus | Appels à la gestion de la mémoire. | Seulement pour du développement.
command_buffer_too_small Connexion Nombre d'extension de tampon de commandes réseau lors de l'envoi des commandes de PHP vers MySQL.

mysqlnd alloue un tampon interne de commande/réseau de mysqlnd.net_cmd_buffer_size (php.ini) octets pour chaque connexion. Si une commande du protocole client-serveur MySQL, para exemple, COM_QUERY (requête normales), ne rentre pas dans le tampon, mysqlnd étendra le tampon de jusqu'à ce qui est nécessaire pour envoyer la commande. Quand le tampon est étendu pour une connexion, command_buffer_too_small sera incrémenté d'une unité.

Si mysqlnd doit étendre le tampon au délà de sa taille initiale de mysqlnd.net_cmd_buffer_size (php.ini) octets pour la plupart des connexions, vous devriez considérer l'augmentation de la taille par défaut pour éviter les you should consider to increase the default size to avoid re-allocations.

La taille par défaut du tampon est de 2048 octets en PHP 5.3.0. Dans les versions futures, ce sera 4ko ou plus par défaut. Cette valeur peut être changée soit via php.ini en ajustant le paramètre mysqlnd.net_cmd_buffer_size ou en utilisant mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int size).

Il est recommandé de ne pas ajuster la taille du tampon en dessous de 4096 octets car mysqlnd l'utilise aussi pour lire certains paquets de communication de MySQL. En PHP 5.3.0, mysqlnd n'étendra pas le tampon si MySQL envoie un paquet plus grand que la taille courante du tampon. Par conséquent, mysqlnd n'est pas capable de décoder le paquet et l'application cliente recevra une erreur. Il y a seulement deux situations où le paquet peut être plus grand que la valeur par défaut de 2048 octets de mysqlnd.net_cmd_buffer_size en PHP 5.3.0 : le paquet transporte un message d'erreur très long ou le paquet gère des méta-données de colonne de COM_LIST_FIELD (mysql_list_fields()) et les méta-données viennent d'une chaine de caractères avec une valeur par défaut importante (plus de 1900 octets). Aucun rapport de bogue n'existe sur le sujet - ça doit arriver très rarement.

Depuis PHP 5.3.2, mysqlnd n'autorise pas les tampons de moins de 4096 octets.

connection_reused
Les connexions persistantes
Notes
Mysqlnd


Notes

Cette section fournit une compilation de notes diverses sur l'utilisation du pilote natif MySQL.

  • Dans le cas où vous passez une requête à mysqli_query() qui est plus longue que la valeur de max_allowed_packet sur le serveur, les codes d'erreur de retour sont différents selon que vous utilisez le pilote natif MySQL (mysqlnd) ou la librairie cliente MySQL (libmysql). Le comportement est le suivant :

    • mysqlnd sous Linux retourne un code d'erreur 1153. Le message d'erreur indique "got a packet bigger than max_allowed_packet bytes" ("a reçu un paquet plus gros que max_allowed_packet octets").

    • mysqlnd sous Windows retourne un code d'erreur 2006. Le message d'erreur indique "server has gone away" ("la connexion au serveur a été interrompue").

    • libmysql retourne sur toutes les plate-formes un code d'erreur 2006. Le message d'erreur indique "server has gone away" ("la connexion au serveur a été interrompue").

    Ceci se produit aussi avec mysqli_stmt_prepare().

Statistiques
OCI8
Mysqlnd


Oracle OCI8

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Test
    • Configuration à l'exécution
  • Constantes pré-définies
  • Exemples
  • Gestion de la connexion
  • Types de données supportées par le driver
  • Fonctions OCI8
    • oci_bind_array_by_name — Lie un tableau PHP à un tableau Oracle PL/SQL par son nom
    • oci_bind_by_name — Associe une variable PHP à un marqueur Oracle
    • oci_cancel — Termine la lecture de curseurs Oracle
    • oci_close — Ferme une connexion Oracle
    • OCI-Collection->append — Ajoute un élément à une collection Oracle
    • OCI-Collection->assign — Assigne une valeur à une collection depuis une autre collection Oracle
    • OCI-Collection->assignElem — Assigne une valeur à un élément d'une collection Oracle
    • OCI-Collection->free — Libère les ressources associées avec un objet de collection
    • OCI-Collection->getElem — Retourne la valeur d'un élément d'une collection Oracle
    • OCI-Collection->max — Retourne le nombre maximal de valeurs d'une collection Oracle
    • OCI-Collection->size — Retourne la taille d'une collection Oracle
    • OCI-Collection->trim — Supprime les derniers éléments d'une collection Oracle
    • oci_commit — Valide les transactions Oracle en cours
    • oci_connect — Établit une connexion avec un serveur Oracle
    • oci_define_by_name — Associe une variable PHP avec une colonne pour une requête de récupération de données
    • oci_error — Retourne la dernière erreur Oracle
    • oci_execute — Exécute une commande SQL Oracle
    • oci_fetch_all — Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
    • oci_fetch_array — Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
    • oci_fetch_assoc — Lit une ligne d'un résultat sous forme de tableau associatif
    • oci_fetch_object — Lit une ligne d'un résultat sous forme d'objet
    • oci_fetch_row — Lit la prochaine ligne d'une requête sous forme de tableau numérique
    • oci_fetch — Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
    • oci_field_is_null — Test si la valeur d'une colonne Oracle est NULL
    • oci_field_name — Retourne le nom d'un champ Oracle
    • oci_field_precision — Lit la précision d'un champ Oracle
    • oci_field_scale — Lit l'échelle d'une colonne Oracle
    • oci_field_size — Retourne la taille d'un champ Oracle
    • oci_field_type_raw — Lit directement le type de colonne Oracle
    • oci_field_type — Retourne le type de données d'un champ Oracle
    • oci_free_statement — Libère toutes les ressources réservées par un résultat Oracle
    • oci_internal_debug — Active ou désactive l'affichage des données de déboguage Oracle
    • OCI-Lob->append — Ajoute des données à un LOB Oracle
    • OCI-Lob->close — Ferme un LOB Oracle
    • oci_lob_copy — Copie un LOB Oracle
    • OCI-Lob->eof — Test la fin du LOB Oracle
    • OCI-Lob->erase — Écrase une partie d'un LOB Oracle
    • OCI-Lob->export — Exporte un LOB Oracle dans un fichier
    • OCI-Lob->flush — Écrit les LOB Oracle sur le disque
    • OCI-Lob->free — Détruit un pointeur de LOB Oracle
    • OCI-Lob->getBuffering — Retourne l'état de bufferisation LOB d'Oracle
    • OCI-Lob->import — Importe un fichier dans LOB Oracle
    • oci_lob_is_equal — Compare deux LOB/FILE Oracle
    • OCI-Lob->load — Retourne le contenu d'un LOB
    • OCI-Lob->read — Lit une partie d'un LOB Oracle
    • OCI-Lob->rewind — Ramène le pointeur interne d'un LOB Oracle au début
    • OCI-Lob->save — Sauvegarde des données dans un LOB Oracle
    • OCI-Lob->saveFile — Alias de oci_lob_import
    • OCI-Lob->seek — Déplace le pointeur interne d'un LOB Oracle
    • OCI-Lob->setBuffering — Active/désactive la bufferisation des LOB Oracle
    • OCI-Lob->size — Retourne la taille d'un LOB Oracle
    • OCI-Lob->tell — Retourne la position courante du pointeur de LOB
    • OCI-Lob->truncate — Tronque un LOB Oracle
    • OCI-Lob->write — Écrit des données dans un LOB Oracle
    • OCI-Lob->writeTemporary — Écrit un LOB Oracle temporaire
    • OCI-Lob->writeToFile — Alias de oci_lob_export
    • oci_new_collection — Initialise une nouvelle collection Oracle
    • oci_new_connect — Connexion au serveur Oracle en utilisant une seule connexion
    • oci_new_cursor — Alloue un nouveau curseur Oracle
    • oci_new_descriptor — Initialise un nouveau pointeur vide de LOB/FILE Oracle
    • oci_num_fields — Retourne le nombre de colonnes dans un résultat Oracle
    • oci_num_rows — Retourne le nombre de lignes affectées durant la dernière commande Oracle
    • oci_parse — Prépare une requête SQL avec Oracle
    • oci_password_change — Modifie le mot de passe d'un utilisateur Oracle
    • oci_pconnect — Ouvre une connexion persistante à un serveur Oracle
    • oci_result — Retourne la valeur d'une colonne dans un résultat Oracle
    • oci_rollback — Annule les transactions Oracle en cours
    • oci_server_version — Retourne une chaîne contenant les informations de version du serveur Oracle
    • oci_set_action — Définit le nom de l'action
    • oci_set_client_identifier — Définit l'identifiant du client
    • oci_set_client_info — Définit l'information concernant le client
    • oci_set_edition — Définit l'édition de la base de données
    • oci_set_module_name — Définit le nom du module
    • oci_set_prefetch — Indique le nombre de lignes qui doivent être lues à l'avance par Oracle
    • oci_statement_type — Retourne le type de la requête Oracle
  • Fonctions et alias OCI8 obsolètes
    • ocibindbyname — Alias de oci_bind_by_name
    • ocicancel — Alias de oci_cancel
    • ocicloselob — Alias de
    • ocicollappend — Alias de
    • ocicollassign — Alias de
    • ocicollassignelem — Alias de
    • ocicollgetelem — Alias de
    • ocicollmax — Alias de
    • ocicollsize — Alias de
    • ocicolltrim — Alias de
    • ocicolumnisnull — Alias de oci_field_is_null
    • ocicolumnname — Alias de oci_field_name
    • ocicolumnprecision — Alias de oci_field_precision
    • ocicolumnscale — Alias de oci_field_scale
    • ocicolumnsize — Alias de oci_field_size
    • ocicolumntype — Alias de oci_field_type
    • ocicolumntyperaw — Alias de oci_field_type_raw
    • ocicommit — Alias de oci_commit
    • ocidefinebyname — Alias de oci_define_by_name
    • ocierror — Alias de oci_error
    • ociexecute — Alias de oci_execute
    • ocifetch — Alias de oci_fetch
    • ocifetchinto — Fetches the next row into an array (deprecated)
    • ocifetchstatement — Alias de oci_fetch_all
    • ocifreecollection — Alias de
    • ocifreecursor — Alias de oci_free_statement
    • ocifreedesc — Alias de
    • ocifreestatement — Alias de oci_free_statement
    • ociinternaldebug — Alias de oci_internal_debug
    • ociloadlob — Alias de
    • ocilogoff — Alias de oci_close
    • ocilogon — Alias de oci_connect
    • ocinewcollection — Alias de oci_new_collection
    • ocinewcursor — Alias de oci_new_cursor
    • ocinewdescriptor — Alias de oci_new_descriptor
    • ocinlogon — Alias de oci_new_connect
    • ocinumcols — Alias de oci_num_fields
    • ociparse — Alias de oci_parse
    • ociplogon — Alias de oci_pconnect
    • ociresult — Alias de oci_result
    • ocirollback — Alias de oci_rollback
    • ocirowcount — Alias de oci_num_rows
    • ocisavelob — Alias de
    • ocisavelobfile — Alias de
    • ociserverversion — Alias de oci_server_version
    • ocisetprefetch — Alias de oci_set_prefetch
    • ocistatementtype — Alias de oci_statement_type
    • ociwritelobtofile — Alias de
    • ociwritetemporarylob — Alias de
Notes
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ces fonctions vous permettent d'accéder aux serveurs Oracle 11g, 10g, 9i et 8i. Elles supportent les commandes SQL et PL/SQL. Les fonctions de base incluent le contrôle de transaction, la liaison de variables PHP avec des conteneurs Oracle, le support des types de grands objets (LOB) et des collections. Les fonctions d'extensibilité de Oracle, telles que de Database Resident Connection Pooling (DRCP) et le cache de résultats sont aussi supportés.

OCI8
Installation/Configuration
OCI8


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Test
  • Configuration à l'exécution
Introduction
Pré-requis
OCI8


Pré-requis

L'extension OCI8 nécessite les bibliothèques clientes 9iR2, 10g ou 11g. Si la base de données Oracle est sur la même machine que PHP, le logiciel de la base de données contient déjà toutes les bibliothèques nécessaires. Lorsque PHP est sur une machine différente, vous devez utilisez les bibliothèques libres » Oracle Instant Client.

Pour utiliser Oracle Instant Client, installez le fichier compressé basic ou basiclite de Oracle Instant Client ou le paquet RPM. Lorsque vous compilez PHP depuis ces sources, installez également le fichier compressé sdk ou le paquet RPM devel.

Sous Windows, OCI8 a besoin des bibliothèques clientes versions 10gR2 ou supérieur. Suivant la version du client Instant, vous pourriez également avoir besoin des bibliothèques mfc71.dll et msvcr71.dll.

Vous devriez exécuter PHP avec la même version (ou plus récente) des bibliothèques Oracle utilisées pour compiler OCI8.

Note: Si OCI8 utilise les bibliothèques clientes 9iR2 ou 10g, alors PHP peut se connecter aux bases de données Oracle 8i, 9iR2, 10g ou 11g. Si OCI8 utilise les bibliothèques clientes 11g, la base de données peut être 9iR2, 10g ou 11g.

Note: Le support de toutes les fonctionnalités OCI8 n'est disponible que lors de l'utilisation des versions les plus récentes des bibliothèques clientes mais aussi de la base de données la plus récente.

Installation/Configuration
Installation
Installation/Configuration


Installation

Configuration de PHP avec OCI8

Relisez la section précédente sur les Pré-requis avant de configurer OCI8.

Pour activer l'extension OCI8, configurez PHP avec l'option --with-oci8.

Avant de démarrer le serveur web, OCI8, typiquement, nécessite plusieurs variables d'environnement (voir ci-dessous) pour localiser les bibliothèques, pour pointer vers des fichiers de configuration, et pour définir quelques propriétés basiques comme le jeu de caractères utilisé par les bibliothèques OCI8. Les variables doivent être définies avant le démarrage d'un quelconque processus PHP.

PHP doit être exécuté avec les mêmes (ou plus récentes) versions des bibliothèques Oracle pour lesquelles il a été compilé. Par exemple, si vous compilez OCI8 avec les bibliothèques Oracle 11.2, alors PHP doit aussi être déployé et exécuté avec les bibliothèques Oracle 11.2.

Installation OCI8 comme extension partagée

L'option de configuration shared permet de construire OCI8 comme bibliothèque partagée qui pourra être chargée dynamiquement dans PHP. Le fait de construire une extension partagée permet à OCI8 d'être mis à jour plus facilement sans pour autant impacté le reste de PHP.

Configure OCI8 en utilisant une des options de configuration suivantes :

  • Si vous utilisez le client Oracle Instant, alors faîtes :

    ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib

    Si le client Oracle Instant est installé depuis des fichiers compressées, assurez-vous de créer le lien symbolique vers la bibliothèque, par exemple, ln -s libclntsh.so.11.1 libclntsh.so.

    Si vous utilisez une installation du client Oracle Instant à base de paquets RPM, la ligne de configuration ressemblera à ceci :

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<version>/client/lib

    Par exemple, --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib.

    Notez que le support du client Oracle Instant est apparu pour la première fois en PHP 4.3.11 et 5.0.4, et utilisé à l'époque l'option de configuration PHP --with-oci8-instant-client.

  • Si vous utilisez une base de données oracle ou une installation Oracle client complète, alors faîtes :

    ./configure --with-oci8=shared,$ORACLE_HOME

    Assurez-vous que l'utilisateur du serveur web (nobody, www) a accès aux bibliothèques, aux fichiers d'initialisation, et au fichier tnsnames.ora (si utilisé) dans le dossier $ORACLE_HOME. Avec Oracle 10gR2, vous devez avoir besoin d'exécuter l'utilitaire $ORACLE_HOME/install/changePerm.sh pour donner accès à ce dossier.

Après la configuration, suivez la procédure de compilation habituelle pour PHP, i.e. make install. L'extension partagé OCI8 oci8.sosera ainsi créée. Il se peut que vous ayez besoin de la déplacer manuellement dans le dossier d'extensions PHP, spécifié par l'option extension_dir de votre fichier php.ini.

Pour compléter l'installation d'OCI8, éditez votre fichier php.ini et ajoutez-y cette ligne :

extension=oci8.so

Installation d'OCI8 comme extension compilée statiquement

Configurez OCI8 en utilisant une des options de configuration suivante :

  • Si vous utilisez le client Oracle Instant, faîtes ceci :

    ./configure --with-oci8=instantclient,/path/to/instant/client/lib

  • Si vous utilisez une base de données Oracle ou une installation client complète d'Oracle, alors faîtes ceci :

    ./configure --with-oci8=$ORACLE_HOME

Après configuration, suivez la procédure de compilation habituelle de PHP, i.e. make install. Après une compilation réussiée, vous n'avez pas besoin d'ajouter le fichier oci8.so à votre fichier php.ini. Aucune autre étape de compilation n'est nécessaire.

Installation d'OCI8 depuis PECL

L'extension OCI8 peut être ajoutée à une installation PHP existante soit automatiquement, soit manuellement depuis » http://pecl.php.net/.

Pour une installation automatique, suivez les étapes suivantes :

  • Si vous être derrière un part-feu, définissez le proxy PEAR, par exemple :

    pear config-set http_proxy http://my-proxy.example.com:80/

  • Exécutez :

    pecl install oci8

    Lorsque vous avez de nouveau la main, entrez soit la valeur de la variable $ORACLE_HOME, soit instantclient,/path/to/instant/client/lib.

    Note : N'entrez pas la variable $ORACLE_HOME car elle ne sera pas analysé. A la place, entrez le chemin actuel du dossier principal d'Oracle.

Pour une installation manuelle, téléchargez le paquet PECL OCI8, i.e. oci8-1.3.5.tgz.

  • Extraire le paquet :

    tar -zxf oci8-1.3.5.tgz
cd oci8-1.3.5

  • Préparez le paquet :

    phpize

  • Configurez le paquet, soit en utilisant $ORACLE_HOME, soit en utilisant le client Oracle Instant

    ./configure -with-oci8=shared,$ORACLE_HOME

    or

    ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib

  • Installez le paquet :

    make install

Après une installation automatique ou manuelle, éditez votre fichier php.ini et ajoutez la ligne :

extension=oci8.so

Assurez-vous que la directive extension_dir de votre php.ini est définie au dossier dans lequel oci8.so a été installé.

Installation d'OCI8 sous Windows

Sous Windows, dé-commentez le ligne extension=php_oci8.dll de votre fichier php.ini lorsque vous utilisez les bibliothèques clientes Oracle 10gR2. Dé-commentez la ligne extension=php_oci8_11g.dll lorsque vous utilisez les bibliothèques clientes Oracle 11g. Ces 2 bibliothèques DLL contiennent des fonctionnalités équivalentes, et une seule peut être activée en même temps. Assurez-vous que la directive extension_dir est définie au dossier contenant les extensions DLL de PHP.

Si vous utilisez le client Oracle Instant, définissez la variable d'environnement PATH du système au dossier contenant les bibliothèques Oracle.

Définition de l'environnement Oracle

Avant d'utiliser cette extension, assurez-vous que les variables d'environnement Oracle sont correctement définies pour l'utilisateur exécutant le serveur Web. Si votre serveur Web est automatiquement démarré au démarrage de votre serveur, alors assurez-vous également de la bonne configuration de la variable d'environnement utilisé à ce moment ci.

Note: Ne définissez pas les variables d'environnement Oracle en utilisant la fonction putenv() dans vos scripts PHP, car les bibliothèques Oracle sont chargées et initialisées avant l'exécution de votre script. Les variables définies avec putenv() pourraient ainsi entrer en conflit et provoquer aussi bien des crashs que des comportements totalement inattendu. Des fonctions peuvent réagir normalement, d'autres peuvent provoquer des erreurs. Les variables doivent être définies avant le démarrage du serveur.

Sous les systèmes Red Hat Linux et ces variantes, vous devez exporter les variables à la fin du fichier /etc/sysconfig/httpd. Sous les autres systèmes utilisant Apache 2, vous devez utiliser le script envvars que vous trouverez dans le dossier bin d'Apache. Une autre option consiste à utiliser la directive SetEnv du fichier httpd.conf, mais ceci peut ne pas être suffisant sur quelques systèmes.

Pour vérifier si les variables d'environnement ont été définies correctement, utilisez la fonction phpinfo() et attardez-vous sur la section Environment (et non la section Apache Environment) ; elle doit contenir toutes les variables définies.

Les variables qui doivent vous êtes nécessaires sont inclues dans la table suivante. Reportez-vous à la documentation Oracle pour plus d'informations sur toutes les variables.

Variables d'environnement Oracle communes
Nom | But
ORACLE_HOME | Chemin vers le dossier contenant le logiciel de base de données Oracle. Ne définissez pas cette variable si vous utilisez le client Oracle Instant. En effet, elle n'est pas nécessaire mais peu causer des problèmes lors de l'installation.
ORACLE_SID | Le nom de la base de données sur la machine locale. Il n'est pas nécessaire de la définir si vous utilisez le client Oracle Instant, ou alors, passez la toujours comme paramètre de connexion à la fonction oci_connect().
LD_LIBRARY_PATH | Définissez cette variable (ou son équivalent sur la plateforme courante, comme DYLD_LIBRARY_PATH, LIBPATH, ou SHLIB_PATH) comme le chemin vers les bibliothèques Oracle, par exemple $ORACLE_HOME/lib ou /usr/lib/oracle/11.1/client/lib. Cette variable n'est pas nécessaire si les bibliothèques sont localisées par un mécanisme de recherche différent, comme avec ldconfig ou avec LD_PRELOAD.
NLS_LANG | C'est la variable principale pour définir le jeu de caractères et les informations de globalisation utilisés par les bibliothèques Oracle.
ORA_SDTZ | Définit le décalage horaire à utiliser par les sessions Oracle.
TNS_ADMIN | Chemin vers le dossier contenant les fichiers de configuration Oracle Net Services (tnsnames.ora et sqlnet.ora). Inutile si la chaîne de connexion utilisée par la fonction oci_connect() est au format de connexion facile comme localhost/XE. Inutile également si les fichiers de configuration du réseau sont à des endroits par défaut comme $ORACLE_HOME/network/admin ou /etc.
Il existe d'autres variables d'environnement Oracle moins souvent utilisées, comme TWO_TASK, ORA_TZFILE, ainsi que les diverses variables de globalisation comme NLS* et ORA_NLS_*.

En cas de problème

Le problème le plus courant lors de l'installation d'OCI8 est d'avoir mal configuré le jeu de variables d'environnement correctement. C'est un problème typique lorsque vous recevez un message d'erreur lors de l'utilisation des fonctions oci_connect() ou oci_pconnect(). L'erreur peut être une erreur purement PHP comme Call to undefined function oci_connect(), une erreur Oracle comme ORA-12705 ou encore un arrêt brutal d'Apache. Vérifiez le contenu des fichiers de log d'Apache lors de son démarrage et reportez-vous aux sections ci-dessus pour résoudre le problème.

Alors que les erreurs réseaux comme ORA-12154 ou ORA-12514 indiquent un problème quant au nommage du réseau ou un problème de configuration, bien souvent, la cause première est que l'environnement PHP n'est pas correctement défini et que les bibliothèques Oracle sont incapables de trouver le fichier de configuration tnsnames.ora.

Sous Windows, le fait d'avoir plusieurs versions d'Oracle sur la même machine peut facilement faire crasher l'installation tant que vous ne vous êtes pas assuré que PHP n'utilise pas uniquement la bonne version d'Oracle.

Un utilitaire permettent d'examiner les bibliothèques recherchées et chargées peut vous aider quant à la résolution de ce genre de problème, tout particulièrement sous Windows.

Note: Si le serveur Web ne démarre pas ou échoue au démarrage
Vérifiez qu'Apache est lié avec la bibliothèque pthread :

# ldd /www/apache/bin/httpd
  libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
  libm.so.6 => /lib/libm.so.6 (0x4002f000)
  libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
  libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
  libc.so.6 => /lib/libc.so.6 (0x4007e000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Si la bibliothèque libpthread n'est pas listé, réinstallez Apache :
# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install

Notez que sous des systèmes comme UnixWare, la bibliothèque s'appelle libthread au lieu de libpthread. PHP et Apache doivent être configurés avec EXTRA_LIBS=-lthread.

Pré-requis
Test
Installation/Configuration


Test

La suite permettant de tester OCI8 se trouve dans le dossier ext/oci8/tests. Après avoir effectués les tests OCI8, ce dossier contiendra, en plus, les fichiers d'historiques permettant de tracer l'ensemble des erreurs produites.

Avant d'effectuer les tests PHP, éditez le fichier details.inc et définissez les variables de connexion $user, $password et $dbase. Le test OCI8 a été developpé en utilisant le compte SYSTEM. Quelques tests échoueront si l'utilisateur choisi pour effectuer le test n'a pas des permissions équivalentes à ce compte.

Si la base de données est sur la même machine que PHP, définissez la variable $oracle_on_localhost à TRUE.

Si la file d'attente de connexion de la base de données Oracle 11g est testée, définissez la variable $test_drcp à TRUE et assurez-vous que la chaîne de connexion utilise un serveur de file d'attente DRCP approprié.

Une alternative à l'édition du fichier details.inc est de définir les variables d'environnement, par exemple :

    $ export PHP_OCI8_TEST_USER=system
    $ export PHP_OCI8_TEST_PASS=oracle
    $ export PHP_OCI8_TEST_DB=localhost/XE
    $ export PHP_OCI8_TEST_DB_ON_LOCALHOST=TRUE
    $ export PHP_OCI8_TEST_DRCP=FALSE
Notez que suivant les shells utilisés, ces variables ne seront pas forcément propagées jusqu'au processus PHP et le test échouera au niveau de la connexion si cette méthode est utilisée.

Puis, définissez tous les environnements nécessaires à la base de données Oracle. Avec Oracle 10g XE, faîtes :

    $ . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

Pour les autres versions de la base de données Oracle, faîtes :

    $ . /usr/local/bin/oraenv

Quelques shells nécessitent que le fichier php.ini ait un E dans le paramètre variables_order, par exemple :

    variables_order = "EGPCS"

Exécutez tous les tests PHP avec la commande :

    $ cd your_php_src_directory
    $ make test
ou exécutez uniquement les tests OCI8 avec la commande :
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

Lorsque les tests sont terminés, vous pouvez alors investiguer sur les erreurs rencontrées. Sur les systèmes lents, quelques tests peuvent prendre plus de temps que le délai maximal d'exécution défini dans le fichier run-tests.php. Pour corriger ceci, définissez la variable d'environnement TEST_TIMEOUT à une valeur plus grande.

Sur les machines rapides dont la base de données locale est configurée pour une charge minimale (i.e. Oracle 10g XE), quelques tests peuvent échouer avec des erreurs ORA-12516 ou ORA-12520. Pour prévenir ce comportement, augmentez le paramètre PROCESSES de la base de données en utilisant les étapes suivantes :

Connexion avec l'utilisateur oracle :

    $ su - oracle

Définissez l'environnement nécessaire à Oracle grâce au fichier oracle_env.sh ou oraenv, tel que définit ci-dessus.

Exécutez la ligne de commande de l'utilitaire SQL*Plus et augmentez la valeur du paramètre PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Redémarrez la base de données :

    SQL> startup force

Installation
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Oracle
Nom | Défaut | Modifiable | Historique
oci8.connection_class | "" | PHP_INI_ALL | Disponible depuis PHP 5.3 (PECL OCI8 1.3).
oci8.default_prefetch | "100" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).
oci8.events | Off | PHP_INI_SYSTEM | Disponible depuis PHP 5.3 (PECL OCI8 1.3).
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).
oci8.privileged_connect | Off | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2 (PECL OCI8 1.1).

Voici un éclaircissement sur l'utilisation des directives de configuration.

oci8.connection_class string

Le texte défini par l'utilisateur est utilisé par les connexions du pool de connexions résidantes de la base de données Oracle 11g pour partitionner le pool. Cela permet aux connexions persistantes OCI8 d'une application de réutiliser les sessions à la base de données depuis un script précédent, permettant ainsi une meilleure efficacité. Lorsqu'une application utilise un processus de base de données précédemment utilisé avec une classe de connexion différente, les configurations de la session, comme le format de la date par défaut d'Oracle, seront réinitialisées. Ce comportement permet d'éviter de partager accidentellement des informations entre les différentes applications.

La valeur peut être définie au moment de l'exécution grâce à la fonction ini_set(), appelée avant la connexion.

Pour utiliser DRCP, OCI8 doit être lié avec les bibliothèques Oracle 11g et la base de données doit être Oracle 11g. Le pool de connexion doit être activé dans la base de données, l'option de configuration oci8.connection_class doit valoir la même chaîne pour tous les serveurs web utilisant la même application, et la chaîne de connexion OCI8 doit spécifier d'utiliser un serveur utilisant un pool.

oci8.default_prefetch int

Cette option définit le numbre par défaut de lignes supplémentaires qui seront récupérées et mises en cache automatiquement chaque fois qu'une requête de bas niveau récupérant des données depuis la base de données sera effectuée. Le fait de définir une valeur de 0 permet de désactiver cette fonctionnalité.

La valeur de pré-chargement n'altère pas le nombre de lignes que des fonctions comme oci_fetch_array() retourneront à l'utilisateur ; le pré-chargement et la mise en cache de lignes est géré en interne par OCI8.

La valeur peut être définie pour chaque requête, en exécutant la fonction oci_set_prefetch() avant l'exécution de la requête.

En PHP 5.3 (PECL OCI8 1.3.4), la valeur par défaut est passée de 10 à 100.

En PHP 5.3.2 (PECL OCI8 1.4), la valeur minimale autorisée a été réduite de 1 à 0, permettant ainsi la désactivation du pré-chargement.

Note: Si vous entrez une valeur trop important, cela peut conduire à une amélioration des performances, au détriment de l'utilisation mémoire. Pour des requêtes qui retournent un grand nombre de données, le gain de performance peut être vraiment significatif.

oci8.events boolean

Définir à On cette option permet à PHP d'être notifié des événements de base de données FAN (Fast Application Notification).

Sans FAN, lorsqu'une instance de la base de données ou bien un noeud de machines échoue brutalement, les applications PHP peuvent se bloquer en attendant une réponse de la base de données, jusqu'au bout du délai d'expiration TCP. Avec les événements FAN, les applications PHP sont notifiées rapidement des erreurs qui affectent les connexions à la base de données. L'extension OCI8 nettoiera les connexions inutilisables dans le cache des connexions persistantes.

Lorsque vous utilisez On comme valeur, la base de données doit également être configurée pour émettre les événements FAN.

Le support de FAN est disponible lorsque OCI8 est lié à des bibliothèques Oracle 10gR2 (et suivants) et connecté à une base de données Oracle 10gR2 (et suivants).

oci8.max_persistent int

Le nombre maximal de connexions persistantes OCI8 par processus PHP. Le fait de définir cette option à -1 signifie qu'il n'y a aucune limite.

oci8.old_oci_close_semantics boolean

Cette option contrôle le comportement de la fonction oci_close(). Activer cette option signifie que oci_close() ne fera rien du tout ; la connexion ne sera pas fermée tant que la fin du script ne sera pas atteinte. Ceci est uniquement pour assurer une compatibilité ascendante. Si vous pensez que vous devez activer cette option, vous êtes vivement encouragé à effacer les appels à la fonction oci_close() de votre application au lieu d'activer cette option.

oci8.persistent_timeout int

Le délai maximal (en secondes) q'un processus PHP donné est autorisé à maintenir une connexion persistante. Le fait de définir cette option à -1 signifie que les connexions persistantes seront toujours maintenues tant que le processus PHP ne se termine ou bien que la connexion est explicitement fermée à l'aide de la fonction oci_close().

Note: En PHP, l'expiration des ressources persistantes ne produit aucune alerte. Elle survient lorsque PHP termine un script et vérifie le timestamp de la dernière utilisation de la ressource. Aussi, le paradoxe veut que les connexions persistantes ne peuvent être closes que lors d'une quelconque activité (non nécessaire en OCI8) dans le processus PHP. L'introduction du pool de connexions persistantes (DRCP) en Oracle 11g résolve les problèmes de mémoire et de ressources, que les options oci8.max_persistent et oci8.persistent_timeout ont tenté précédemment de résoudre.

Note: En PHP 5.3 (PECL OCI8 1.3), les connexions persistantes peuvent être fermées avec la fonction oci_close().

oci8.ping_interval int

Le délai maximal (en secondes) à attendre avant d'envoyer un ping durant oci_pconnect(). Lorsque définie à 0, les connexions persistantes seront vérifiées à chaque réutilisation. Pour désactiver complètement les ping, définissez cette option à -1.

Note: Le fait de désactiver les pings rend les appels à oci_pconnect() hautement rentables, mais cela empêche PHP de détecter les problèmes de connexion, comme les problèmes de réseau, ou si le serveur Oracle a été éteint depuis la connexion de PHP, tant que la connexion n'est pas utilisée plus tard dans le script. Consultez la documentation de la fonction oci_pconnect() pour plus d'informations.

oci8.privileged_connect boolean

Cette option active les connexions privilégiées en utilisant les droits externes (OCI_SYSOPER, OCI_SYSDBA).

Note: Le fait de définir cette valeur à On permet aux scripts du serveur web exécutant les privilèges utilisateurs systèmes appropriés de se connecter à la base de données en utilisant ces privilèges, sans avoir besoin de fournir un mot de passe à la base de données. Ceci peut avoir des conséquences au niveau de la sécurité.

oci8.statement_cache_size int

Cette option active la mise en cache des requêtes, et spécifie le nombre de requêtes à mettre en cache. Pour désactiver la mise en cache des requêtes, définissez cette option à 0.

La mise en cache des requêtes permet de ne plus avoir besoin de transmettre le texte de la requête à la base de données, mais aussi, de ne plus avoir besoin de transmettre de méta-données sur la requête à PHP. Ceci permet d'accroître significativement les performances systèmes dans les applications, en ré-utilisant les requêtes durant toute la vie de la connexion. Des "curseurs" de base de données peuvent également aider si l'on part du principe que des requêtes seront ré-utilisées.

Définissez cette valeur à la taille de votre jeux de requêtes courantes utilisées par votre application. Le fait de définir une valeur trop petite peut faire que vos requêtes seront supprimées du cache avant qu'elles ne soient utilisées.

Cette option est la plus utilisée avec les connexions persistantes.

Test
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Méthodes et fonctions OCI8
Constante | Description
OCI_ASSOC | Utilisé avec oci_fetch_all() et oci_fetch_array() pour récupérer les résultats dans un tableau associatif.
OCI_BOTH | Utilisé avec oci_fetch_all() et oci_fetch_array() pour récupérer les résultats dans un tableau associatif et indexé numériquement.
OCI_COMMIT_ON_SUCCESS | Mode d'exécution des commandes pour oci_execute(). La commande est automatiquement validée après réussite de la requête.
OCI_CRED_EXT | Utilisé avec oci_connect() pour identification sur un serveur Oracle externe ou sur le système d'exploitation. Introduit en PHP 5.3 et PECL OCI8 1.3.4.
OCI_DEFAULT | Mode d'exécution des commandes pour oci_execute(). La transaction n'est pas automatiquement validée lors de l'utilisation de ce mode. Depuis PHP 5.3 (PECL OCI8 1.4), OCI_NO_AUTO_COMMIT est préféré à la place de OCI_DEFAULT.
OCI_DESCRIBE_ONLY | Mode d'exécution des commandes pour oci_execute(). Utilisez ce mode si vous ne souhaitez pas exécuter la commande, mais obtenir des descriptions.
OCI_EXACT_FETCH | Obsolète. Mode de lecture de résultats. Utilisé lorsque les applications savent à l'avance le nombre de ligne qu'il faudra lire. Ce mode désactive la lecture anticipée d'Oracle version 8 et plus récente. Le curseur est annulé une fois que le nombre de lignes à lire a été atteint, et cela réduit les ressources consommées côté serveur.
OCI_FETCHSTATEMENT_BY_COLUMN | Mode par défaut de oci_fetch_all().
OCI_FETCHSTATEMENT_BY_ROW | Mode alternatif pour oci_fetch_all().
OCI_LOB_BUFFER_FREE | Utilisé avec OCI-Lob->flush pour libérer les buffers utilisés.
OCI_NO_AUTO_COMMIT | Mode d'exécution de la requête pour oci_execute(). La requête n'est pas automatiquement validée lors de l'utilisation de ce mode. Pour plus de lisibilité dans votre code, utilisez cette valeur plutôt que l'ancienne valeur OCI_DEFAULT, devenue obsolète. Introduit en PHP 5.3.2 (PECL OCI8 1.4).
OCI_NUM | Utilisé avec oci_fetch_all() et oci_fetch_array() pour lire un tableau énuméré.
OCI_RETURN_LOBS | Utilisé avec oci_fetch_array() pour obtenir la valeur du LOB au lieu du pointeur.
OCI_RETURN_NULLS | Utilisé avec oci_fetch_array() pour obtenir des éléments vides, si la valeur du champ est NULL.
OCI_SEEK_CUR | Utilisé avec OCI-Lob->seek pour définir la position.
OCI_SEEK_END | Utilisé avec OCI-Lob->seek pour définir la position.
OCI_SEEK_SET | Utilisé avec OCI-Lob->seek pour définir la position.
OCI_SYSDATE | Obsolète.
OCI_SYSDBA | Utilisé avec oci_connect() pour se connecter comme SYSDBA utilisant des créances externes (oci8.privileged_connect doit être activé pour utiliser cette constante).
OCI_SYSOPER | Utilisé avec oci_connect() pour se connecter comme SYSOPER utilisant des créances externes (oci8.privileged_connect doit être activé pour utiliser cette constante).
OCI_TEMP_BLOB | Utilisé avec OCI-Lob->writeTemporary pour indiquer explicitement qu'un BLOB temporaire doit être créé.
OCI_TEMP_CLOB | Utilisé avec OCI-Lob->writeTemporary pour indiquer explicitement qu'un CLOB temporaire doit être créé.
Types définis et liés OCI8
Constante | Description
OCI_B_BFILE | Utilisé avec oci_bind_by_name() pour relier des BFILEs.
OCI_B_BIN |
OCI_B_BLOB | Utilisé avec oci_bind_by_name() pour relier des BLOB.
OCI_B_CFILEE | Utilisé avec oci_bind_by_name() pour relier des CFILEs.
OCI_B_CLOB | Utilisé avec oci_bind_by_name() pour relier des CLOB.
OCI_B_CURSOR | Utilisé avec oci_bind_by_name() pour relier des curseurs, précédemment alloués avec oci_new_descriptor().
OCI_B_INT | Utilisé avec oci_bind_array_by_name() pour relier des tableaux d'entiers.
OCI_B_NTY | Utilisé avec oci_bind_by_name() pour relier des noms de types de données. Note : En PHP < 5.0, il était nommé OCI_B_SQLT_NTY.
OCI_B_NUM | Utilisé avec oci_bind_array_by_name() pour relier des tableaux de nombres.
OCI_B_ROWID | Utilisé avec oci_bind_by_name() pour relier des ROWID.
SQLT_AFC | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de CHAR.
SQLT_AVC | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de VARCHAR2.
SQLT_BDOUBLE |
SQLT_BFILEE | Identique à OCI_B_BFILE.
SQLT_BFLOAT |
SQLT_BIN | Utilisé avec oci_bind_by_name() pour lier les valeurs RAW.
SQLT_BLOB | Identique à OCI_B_BLOB.
SQLT_CFILEE | Identique à OCI_B_CFILEE.
SQLT_CHR | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de VARCHAR2. Utilisé également avec oci_bind_by_name().
SQLT_CLOB | Identique à OCI_B_CLOB.
SQLT_FLT | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de FLOAT.
SQLT_INT | Identique à OCI_B_INT.
SQLT_LBI | Utilisé avec oci_bind_by_name() pour lier les valeurs LONG RAW.
SQLT_LNG | Utilisé avec oci_bind_by_name() pour lier les valeurs LONG.
SQLT_LVC | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de LONG VARCHAR.
SQLT_NTY | Identique à OCI_B_NTY.
SQLT_NUM | Identique à OCI_B_NUM.
SQLT_ODT | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de LONG.
SQLT_RDD | Identique à OCI_B_ROWID.
SQLT_RSET | Identique à OCI_B_CURSOR.
SQLT_STR | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de STRING.
SQLT_UIN |
SQLT_VCS | Utilisé avec oci_bind_array_by_name() pour lier les tableaux de VARCHAR.
Types des descripteurs OCI8
Constante | Description
OCI_DTYPE_FILE | Cette option indique à oci_new_descriptor() d'initialiser un nouveau pointeur FILE.
OCI_DTYPE_LOB | This flag tells oci_new_descriptor() to initialize a new LOB descriptor.
OCI_DTYPE_ROWID | Cette option indique à oci_new_descriptor() d'initialiser un nouveau pointeur LOB.
OCI_D_FILE | Identique à OCI_DTYPE_FILE.
OCI_D_LOB | Identique à OCI_DTYPE_LOB.
OCI_D_ROWID | Identique à OCI_DTYPE_ROWID.
Configuration à l'exécution
Exemples
OCI8


Exemples

Ces exemples utilisent, pour se connecter à la base de données, l'utilisateur HR qui est le schéma "Human Resources" fourni par la base de données Oracle. Ce compte doit avoir été déverrouillé et le mot de passe réinitialisé avant de pouvoir l'utiliser.

Ces exemples se connectent à la base de données XE de votre machine. Modifiez la chaîne de connection afin de correspondre à votre base de données avant d'exécuter les exemples de cette documentation.

Exemple #1 Requête simple

Cet exemple montre l'exécution d'une requête et l'affiche des résultats. Les requêtes OCI8 utilisent les étapes préparation/exécution/récupération des données.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Préparation de la requête
$stid = oci_parse($conn, 'SELECT * FROM departments');
if (!$stid) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Exécution de la logique de la requête
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Récupération des résultats de la requête
print "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    print "<tr>\n";
    foreach ($row as $item) {
        print "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    print "</tr>\n";
}
print "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Insertion de données en utilisant des variables liées

Les variables liées augmentent les performances en permettant la réutilisation du cache et du contexte d'exécution. Les variables liées augmentent également la sécurité en prévenant bons nombres d'injection SQL.

<?php

// Avant l'exécution, créez la table suivante :
//   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO MYTABLE (mid, myd) VALUES(:myid, :mydata)');

$id = 60;
$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);
oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid);  // exécution et validation

if ($r) {
    print "Une ligne insérée";
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #3 Insertion de données dans une colonne CLOB

Pour de lourdes données, utilisez un objet binaire long (BLOB) ou un objet de caractères long (CLOB). Cet exemple utilise les CLOB.

<?php

// Avant l'exécution, créez la table suivante :
//     CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$mykey = 12343;  // clé arbitraire pour l'exemple

$sql = "INSERT INTO mytable (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_NO_AUTO_COMMIT); // use OCI_DEFAULT for PHP <= 5.3.1
$clob->save("Une chaîne vraiment très longue");

oci_commit($conn);

// Récupération de données CLOB

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
    $result = $row['MYCLOB']->load();
    print '<tr><td>'.$result.'</td></tr>';
}
print '</table>';

?>

Exemple #4 Utilisation d'une procédure stockée PL/SQL

Vous devez lier une variable pour la valeur retournée et, optionnellement, pour tous les arguments de la fonction PL/SQL.

<?php

/*
  Avant d'exécuter le programme PHP, créez une fonction stockée
  en langage SQL*Plus ou SQL Developer :

  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
  BEGIN
      RETURN p * 3;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // Affiche 24

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #5 Utilisation d'une procédure stockée PL/SQL

Avec les procédures stockées, vous devez lier les variables pour tous les arguments.

<?php

/*
  Avant d'exécuter le programme PHP, créez une procédure stockée en
  langage SQL*Plus ou SQL Developer :

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // affiche 16

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #6 Appel d'une fonction PL/SQL qui retourne un REF CURSOR

Chaque valeur retournée par la requête est un REF CURSOR à utiliser pour récupérer les données.

<?php
/*
  Créez une fonction stockée PL/SQL comme ceci :

  CREATE OR REPLACE FUNCTION myfunc(p1 IN NUMBER) RETURN SYS_REFCURSOR AS
      rc SYS_REFCURSOR;
  BEGIN
      OPEN rc FOR SELECT city FROM locations WHERE ROWNUM < p1;
      RETURN rc;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT myfunc(5) AS mfrc FROM dual');
oci_execute($stid);

echo "<table border='1'>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo "<tr>\n";
    $rc = $row['MFRC'];
    oci_execute($rc);  // La valeur de la colonne retournée depuis la requête est une référence de curseur
    while (($rc_row = oci_fetch_array($rc, OCI_ASSOC))) {
        echo "    <td>" . $rc_row['CITY'] . "</td>\n";
    }
    oci_free_statement($rc);
    echo "</tr>\n";
}
echo "</table>\n";

// Affiche :
//   Beijing
//   Bern
//   Bombay
//   Geneva

oci_free_statement($stid);
oci_close($conn);

?>
Constantes pré-définies
Gestion de la connexion
OCI8


Gestion de la connexion

Fonctions de connexion

L'extension oci8 fournit trois fonctions différentes pour se connecter à Oracle. La fonction de connexion standard est la fonction oci_connect(). Cette fonction crée une connexion à la base de données Oracle et retourne une ressource utilisée par les futurs appels à la base de données.

La connexion à un serveur Oracle est une opération raisonnablement coûteuse en terme de temps que cela nécessite. La fonction oci_pconnect() utilise un cache persistant de connexions qui peut être réutilisé à travers différents scripts. Cela signifie qu'une seule connexion sera utilisée par processus PHP (ou un fils Apache).

Si votre application se connecte à Oracle en utilisant un jeu différent de droits pour chaque utilisateur web, le cache persistant utilisé par la fonction oci_pconnect() devient moins approprié car l'augmentation du nombre d'utilisateurs concurrents va affecter les performances de votre serveur Oracle, car il devra maintenir trop de connexions en cache. Si votre application est de ce type, il est recommandé d'optimiser votre application en utilisant les options de configuration oci8.max_persistent et oci8.persistent_timeout (elles vous donnent le contrôle sur la taille et la durée de vie du cache de connexions persistantes) ou utilisez le pool de connexions résidentes d'Oracle 11g, ou encore, utilisez plutôt la fonctionoci_connect().

Les fonctions oci_connect() et oci_pconnect() emploient un cache de connexions ; si vous faites des appels multiples à oci_connect(), en utilisant les mêmes paramètres dans un script donné, le second appel ainsi que les suivants retourneront le gestionnaire de connexion existant. Le cache utilisé par la fonction oci_connect() est nettoyé à la fin de l'exécution du script ou lorsque vous fermez explicitement le gestionnaire de connexion. oci_pconnect() a un comportement sensiblement identique, à la différence que le cache est maintenu séparément et est conservé entre les requêtes HTTP.

Il est important de se souvenir de cette fonctionnalité de cache, car il donne l'apparence que les deux gestionnaires ne sont pas isolés au niveau des transactions, (ils représentent en fait le même gestionnaire de connexion, ils ne sont donc absolument pas isolés). Si votre connexion a besoin de deux connexions séparées, isolées au niveau des transactions, vous devez utiliser la fonction oci_new_connect().

Le cache de la fonction oci_pconnect() est effacé et toutes les connexions à la base de données sont closes lorsque le processus PHP se termine, aussi, les connexions persistantes n'ont d'intérêts que lors de l'utilisation de PHP comme module Apache ou utilisé avec FGCI ou similaire. Les connexions persistantes n'ont aucun intérêts via oci_connect() lorsque PHP est utilisé comme CGI ou en ligne de commande.

oci_new_connect() crée toujours une nouvelle connexion au serveur Oracle, indépendamment de l'existence d'autres connexions. Les applications web à fort trafic doivent éviter d'utiliser oci_new_connect(), particulièrement dans les sections les plus chargées de l'application.

Pool de connexion DRCP

PHP 5.3 (PECL OCI8 1.3) supporte le pool de connexion résidentes Oracle 11g (DRCP). DRCP permet d'utiliser plus efficacement la mémoire de la base de données et permet une meilleure évolution. Peu ou pas de modifications sont nécessaires afin de profiter de DRCP.

DRCP est prévu pour les applications qui se connecte en utilisant peu de schéma de base de données, et qui conserve les connexions ouvertes sur une courte période de temps. Les autres applications doivent utiliser le processus dédié à la base de données Oracle, ou utiliser les serveurs partagés.

DRCP bénéfice des 3 fonctions de connexion, mais seule la fonction oci_pconnect() offre le plus de performance.

Pour rendre DRCP disponible avec OCI8, la version des bibliothèques clientes Oracle utilisées par PHP ainsi que la version de la base de données Oracle doivent être 11g.

La documentation sur DRCP peut être trouvé dans les différents manuels Oracle. Par exemple, reportez-vous à la » configuration du pool de connexions résidentes à la base de données de la documentation Oracle pour un exemple d'utilisation. Un » livre blanc sur DRCP contient plusieurs informations internes sur DRCP.

Pour utiliser DRCP, vous devez construire PHP avec l'extension OCI8 1.3 et les bibliothèques Oracle 11g, puis, suivre ces étapes :

  • En utilisant les privilèges d'administrateur de la base de données, utilisez un programme comme SQL*Plus pour commencer un pool de connexion à la base de données :

        SQL> execute dbms_connection_pool.start_pool;

  • Optionnellement, utilisez dbms_connection_pool.alter_param() pour configurer les options DRCP. Les options courantes du pool peuvent être trouvées en utilisant la vue DBA_CPOOL_INFO.

  • Mettre à jour les chaînes de connexion utilisées. Pour les applications PHP qui se connecte actuellement via un nom de connexion réseau comme MYDB:

        $c = oci_pconnect("myuser", "mypassword", "MYDB");

    modifiez le fichier tnsnames.ora file et ajoutez une clause (SERVER=POOLED), par exemple :

        MYDB = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myhost.dom.com)
           (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales)
           (SERVER=POOLED)))

    Sinon, vous pouvez modifier la syntaxe de connexion facile en PHP et ajouter :POOLED après le nom du service :

        $c = oci_pconnect("myuser", "mypassword", "myhost.dom.com:1521/sales:POOLED");

  • Éditez php.ini et choisissez le nom de la classe de connexion. Ce nom indique une division logique du pool de connexion et peut être utilisé pour isoler le pool des différentes applications. Toutes applications PHP utilisant le même utilisateur ainsi que la même valeur de classe de connexion pourront se partager le pool de connexions, permettant ainsi d'obtenir une plus grande disponibilité.

        oci8.connection_class = "MY_APPLICATION_NAME"

  • Exécutez votre application, connectez-vous à la base de données 11g.

Note: Les applications utilisant Oracle 10g qui ont besoin de la performance des connexions persistantes, peuvent réduire la quantité de mémoire allouée au serveur de la base de données en utilisant les serveurs partagés Oracle (connu auparavant comme serveurs multi-threadés). Reportez-vous à la documentation Oracle pour plus d'informations.

Recommandatation DRCP et limites connues

La modification d'un mot de passe lors de connexions DRCP échouera avec l'erreur "ORA-56609: Usage not supported with DRCP". Ceci est une restriction documentée de la base de données Oracle 11g.

Avec l'extension OCI8 1.3, les connexions persistantes peuvent désormais être fermées par l'utilisateur, permettant ainsi un meilleur contrôle des ressources de connexion. Les connexions persistantes peuvent maintenant être fermées automatiquement lorsqu'aucune variable PHP ne les références, comme ce pourrait être le cas à la fin d'un contexte d'une fonction utilisateur PHP. Ceci annulera toutes les transactions non validées. Ces changements dans les connexions persistantes font qu'elles fonctionnent comme les fonctions non-persistantes, simplifiant l'interface, permettant une plus grande cohérence de l'application et de prévisibilité. Définissez la directive oci8.old_oci_close_semantics à On pour retrouver l'ancien comportement.

Si la base de données Oracle est à la version 11.1.0.6, le patch 6474441 doit être appliqué à la base de données afin de pouvoir utiliser DRCP. Sans ce patch, les erreurs comme ORA-01000: maximum open cursors exceeded, ORA-01001 invalid cursor ou ORA-01002 fetch out of sequence peuvent survenir. Ce bogue a été corrigé à partir des versions 11.1.0.7.

Si ce patch ne peut être appliqué à votre base de données Oracle version 11.1.0.6, voici 3 façons de contourner ces problèmes :

  • Connexion en utilisant des serveurs dédiés ou partagés au lieu d'utiliser DRCP.
  • Définir la directive PHP oci8.statement_cache_size à 0.
  • Définir un événement dans le fichier des paramètres d'initialisation à la base de données : event="56699 trace name context forever, level 128".

Les bases de données Oracle 11.1.0.7 et 11.1.0.6 patché pour le bogue 6474441 permettent aux applications PHP utilisant les connexions DRCP d'utiliser un trigger LOGON pour définir les propriétés de session au moment de la création de la session, comme définir la langue ou le format de la date.

Si le patch à la base de données 11.1.0.6 n'a pu être appliqué, un des contournements suivants peut être utilisé à la place des triggers LOGON :

  • Après l'authentification, définissez explicitement les propriétés de session en utilisant du code PHP dans votre application.
  • Connexion en utilisant des serveurs dédiés ou partagés à la place de DRCP.

Le ré-établissement automatique des connexions persistantes PHP après une rupture des processus Apache ou FGCI fait que les triggers LOGON en PHP ne sont recommandés que pour définir les attributs de session et non les requêtes de connexions utilisateurs par applications. Ceci est d'autant plus vrai avec DRCP vu la taille automatique du pool ainsi que la façon dont les triggers LOGON sont émis avec l'authentification DRCP.

Support "Fast Application Notification" (FAN)

Le support de FAN permet un basculement rapide de connexions, permettant ainsi une grande disponibilité pour votre application. Ceci permet aux scripts PHP OCI8 d'être notifiés lorsqu'une base de données ou une instance de la base de données devient innaccessible. Sans FAN, OCI8 attendra jusqu'au dépassement du délai d'attente TCP et une erreur serait émise, ce qui peut prendre plusieurs minutes. Le fait d'activer FAN permet aux applications de détecter les erreurs et de se reconnecter à une instance de base de données disponible sans prendre en otage l'utilisateur web.

Le support de FAN est disponible lorsque la version des bibliothèques clientes d'Oracle utilisées par PHP ainsi que la version de la base de données Oracle sont 10gR2 ou 11g.

FAN bénéficie aux utilisateurs de la technologie Oracle pour les clusters (RAC) car les connexions à une instance de base de données disponibles peuvent être faites immédiatement. Les utilisateurs de l'application de surveillance de données Oracle verront l'événement FAN généré lorsque la base de données en attendre devient disponible. Les bases de données indépendantes émettront un événement FAN lorsque la base de données redémarrera.

Pour les connexions actives, lorsqu'une machine ou une instance de base de données devient indisponible, une erreur de connexion sera retourné par les fonctions de l'extension OCI8 en cours d'utilisation. Lors d'une re-connexion via le script PHP, une connexion à une base de données disponible sera établie. L'extension OCI8 permet également de nettoyer toutes les connexions perdues affectées par une erreur de l'instance ou de la machine de la base de données ; ainsi, la connexion PHP établira une nouvelle connexion sans que le script ne soit impacté par une quelconque rupture de service.

Lorsque la directive oci8.events vaut On, il est suggéré de définir la directive oci8.ping_interval à -1 pour désactiver le ping, sachant que le fait d'activer les événements FAN fournit une gestion active des connexions perdues lors d'une rupture de service.

Pour activer le support FAN en PHP, vous devez construire PHP avec les bibliothèques Oracle 10gR2 ou 11g et ensuite, suivre les étapes suivantes :

  • En utilisant les privilèges d'administrateur de la base de données, utilisez une programme comme SQL*Plus pour permettre au service de base de données d'émettre des événements FAN ; par exemple :

        SQL> execute dbms_service.modify_service(
                   SERVICE_NAME        => 'sales',
                   AQ_HA_NOTIFICATIONS => TRUE);

  • Éditez php.ini et ajoutez :

        oci8.events = On

  • Si l'application ne gère pas déjà les conditions d'erreurs OCI8, modifiez la pour détecter ces échecs et prendre les décisions appropriées. Ceci peut inclure des re-connexions et la ré-exécution de requêtes.
  • Lancez votre application, connectez-vous à votre base de données 10gR2 ou 11g.

Exemples
Types de données supportées par le driver
OCI8


Types de données supportées par le driver

Le driver supporte les types suivants lors du liage de paramètres en utilisant la fonction oci_bind_by_name() :
Type | Liage
SQLT_NTY | Lie une collection de types natifs depuis un objet de collection PHP comme ceux créés par oci_new_collection().
SQLT_BFILEE | Lie une ressource native, telle que celles créées par la fonction oci_new_descriptor().
SQLT_CFILEE | Lie une ressource native, telle que celles créées par la fonction oci_new_descriptor().
SQLT_CLOB | Lie une ressource native, telle que celles créées par la fonction oci_new_descriptor().
SQLT_BLOB | Lie une ressource native, comme celles créées par la fonction oci_new_descriptor().
SQLT_RDD | Lie une ressource native, comme celles créées par la fonction oci_new_descriptor().
SQLT_NUM | Convertit un paramètre PHP en un type long 'C', et le lie à cette valeur.
SQLT_RSET | Lie un gestionnaire de requête natif, comme ceux créés par la fonction oci_parse() ou ceux récupérés depuis d'autres requêtes OCI.
SQLT_CHR et les autres types | Convertit le paramètre PHP en un type chaîne de caractères et le lie en tant que chaîne de caractères.
Les types suivants sont supportés lors de la récupération de colonnes depuis un jeu de résultats :
Type | Liage
SQLT_RSET | Crée une ressource de requêtes OCI pour représenter le curseur.
SQLT_RDD | Crée un objet ROWID.
SQLT_BLOB | Crée un objet LOB.
SQLT_CLOB | Crée un objet LOB.
SQLT_BFILE | Crée un objet LOB.
SQLT_LNG | Limite à SQLT_CHR, retourné sous la forme d'une chaîne de caractères
SQLT_LBI | Limite à SQLT_BIN, retourné sous la forme d'une chaîne de caractères
Tous les autres types | Limite à SQLT_CHR, retourné sous la forme d'une chaîne de caractères
Gestion de la connexion
Fonctions OCI8
OCI8


Fonctions OCI8

Sommaire

  • oci_bind_array_by_name — Lie un tableau PHP à un tableau Oracle PL/SQL par son nom
  • oci_bind_by_name — Associe une variable PHP à un marqueur Oracle
  • oci_cancel — Termine la lecture de curseurs Oracle
  • oci_close — Ferme une connexion Oracle
  • OCI-Collection->append — Ajoute un élément à une collection Oracle
  • OCI-Collection->assign — Assigne une valeur à une collection depuis une autre collection Oracle
  • OCI-Collection->assignElem — Assigne une valeur à un élément d'une collection Oracle
  • OCI-Collection->free — Libère les ressources associées avec un objet de collection
  • OCI-Collection->getElem — Retourne la valeur d'un élément d'une collection Oracle
  • OCI-Collection->max — Retourne le nombre maximal de valeurs d'une collection Oracle
  • OCI-Collection->size — Retourne la taille d'une collection Oracle
  • OCI-Collection->trim — Supprime les derniers éléments d'une collection Oracle
  • oci_commit — Valide les transactions Oracle en cours
  • oci_connect — Établit une connexion avec un serveur Oracle
  • oci_define_by_name — Associe une variable PHP avec une colonne pour une requête de récupération de données
  • oci_error — Retourne la dernière erreur Oracle
  • oci_execute — Exécute une commande SQL Oracle
  • oci_fetch_all — Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
  • oci_fetch_array — Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_assoc — Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_object — Lit une ligne d'un résultat sous forme d'objet
  • oci_fetch_row — Lit la prochaine ligne d'une requête sous forme de tableau numérique
  • oci_fetch — Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_field_is_null — Test si la valeur d'une colonne Oracle est NULL
  • oci_field_name — Retourne le nom d'un champ Oracle
  • oci_field_precision — Lit la précision d'un champ Oracle
  • oci_field_scale — Lit l'échelle d'une colonne Oracle
  • oci_field_size — Retourne la taille d'un champ Oracle
  • oci_field_type_raw — Lit directement le type de colonne Oracle
  • oci_field_type — Retourne le type de données d'un champ Oracle
  • oci_free_statement — Libère toutes les ressources réservées par un résultat Oracle
  • oci_internal_debug — Active ou désactive l'affichage des données de déboguage Oracle
  • OCI-Lob->append — Ajoute des données à un LOB Oracle
  • OCI-Lob->close — Ferme un LOB Oracle
  • oci_lob_copy — Copie un LOB Oracle
  • OCI-Lob->eof — Test la fin du LOB Oracle
  • OCI-Lob->erase — Écrase une partie d'un LOB Oracle
  • OCI-Lob->export — Exporte un LOB Oracle dans un fichier
  • OCI-Lob->flush — Écrit les LOB Oracle sur le disque
  • OCI-Lob->free — Détruit un pointeur de LOB Oracle
  • OCI-Lob->getBuffering — Retourne l'état de bufferisation LOB d'Oracle
  • OCI-Lob->import — Importe un fichier dans LOB Oracle
  • oci_lob_is_equal — Compare deux LOB/FILE Oracle
  • OCI-Lob->load — Retourne le contenu d'un LOB
  • OCI-Lob->read — Lit une partie d'un LOB Oracle
  • OCI-Lob->rewind — Ramène le pointeur interne d'un LOB Oracle au début
  • OCI-Lob->save — Sauvegarde des données dans un LOB Oracle
  • OCI-Lob->saveFile — Alias de oci_lob_import
  • OCI-Lob->seek — Déplace le pointeur interne d'un LOB Oracle
  • OCI-Lob->setBuffering — Active/désactive la bufferisation des LOB Oracle
  • OCI-Lob->size — Retourne la taille d'un LOB Oracle
  • OCI-Lob->tell — Retourne la position courante du pointeur de LOB
  • OCI-Lob->truncate — Tronque un LOB Oracle
  • OCI-Lob->write — Écrit des données dans un LOB Oracle
  • OCI-Lob->writeTemporary — Écrit un LOB Oracle temporaire
  • OCI-Lob->writeToFile — Alias de oci_lob_export
  • oci_new_collection — Initialise une nouvelle collection Oracle
  • oci_new_connect — Connexion au serveur Oracle en utilisant une seule connexion
  • oci_new_cursor — Alloue un nouveau curseur Oracle
  • oci_new_descriptor — Initialise un nouveau pointeur vide de LOB/FILE Oracle
  • oci_num_fields — Retourne le nombre de colonnes dans un résultat Oracle
  • oci_num_rows — Retourne le nombre de lignes affectées durant la dernière commande Oracle
  • oci_parse — Prépare une requête SQL avec Oracle
  • oci_password_change — Modifie le mot de passe d'un utilisateur Oracle
  • oci_pconnect — Ouvre une connexion persistante à un serveur Oracle
  • oci_result — Retourne la valeur d'une colonne dans un résultat Oracle
  • oci_rollback — Annule les transactions Oracle en cours
  • oci_server_version — Retourne une chaîne contenant les informations de version du serveur Oracle
  • oci_set_action — Définit le nom de l'action
  • oci_set_client_identifier — Définit l'identifiant du client
  • oci_set_client_info — Définit l'information concernant le client
  • oci_set_edition — Définit l'édition de la base de données
  • oci_set_module_name — Définit le nom du module
  • oci_set_prefetch — Indique le nombre de lignes qui doivent être lues à l'avance par Oracle
  • oci_statement_type — Retourne le type de la requête Oracle
Types de données supportées par le driver
oci_bind_array_by_name
OCI8


Lie un tableau PHP à un tableau Oracle PL/SQL par son nom

Fonctions OCI8
oci_bind_by_name
Fonctions OCI8
PHP Manual

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PECL OCI8 >= 1.2.0)

oci_bind_array_by_name — Lie un tableau PHP à un tableau Oracle PL/SQL par son nom

Description

bool oci_bind_array_by_name ( resource $statement , string $name , array &$var_array , int $max_table_length [, int $max_item_length = -1 [, int $type = SQLT_AFC ]] )

Lie un tableau PHP var_array à un marqueur Oracle name, qui pointe vers un tableau PL/SQL. Il peut être utilisé pour l'entrée ou la sortie, suivant la configuration à l'exécution.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

name

Le marqueur Oracle.

var_array

Un tableau.

max_table_length

Spécifie la longueur maximale des tableaux d'entrées et de résultats.

max_item_length

Définit la longueur maximale pour les éléments du tableau. Si max_item_length n'est pas fourni ou s'il vaut -1, oci_bind_array_by_name() cherchera l'élément le plus long dans le tableau d'entrée et l'utilisera en tant que longueur maximale.

type

Devrait être utilisé pour définir le type des éléments PL/SQL. Voir la liste des types disponibles ci-dessous :

  • SQLT_NUM - pour les tableaux de NUMBER.

  • SQLT_INT - pour les tableaux INTEGER (Note : INTEGER c'est actuellement un synonyme pour NUMBER(38), mais le type SQLT_NUM ne fonctionnera pas dans ce cas même s'ils sont synonymes).

  • SQLT_FLT - pour les tableaux de FLOAT.

  • SQLT_AFC - pour les tableaux de CHAR.

  • SQLT_CHR - pour les tableaux de VARCHAR2.

  • SQLT_VCS - pour les tableaux de VARCHAR.

  • SQLT_AVC - pour les tableaux de CHARZ.

  • SQLT_STR - pour les tableaux de STRING.

  • SQLT_LVC - pour les tableaux de LONG VARCHAR.

  • SQLT_ODT - pour les tableaux de DATE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_bind_array_by_name()

<?php

$c = oci_connect("scott", "tiger");

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$statement = oci_parse($c, $create);
oci_execute($statement);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg);
oci_execute($statement);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_example;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    FOR i IN 1..5 LOOP
      INSERT INTO bind_example VALUES (c1(i));
    END LOOP;
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg_body);
oci_execute($statement);

$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");

$array = array("one", "two", "three", "four", "five");

oci_bind_array_by_name($statement, ":c1", $array, 5, -1, SQLT_CHR);

oci_execute($statement);

var_dump($array);

?>

Notes

Note: Cette fonction est disponible depuis OCI8 version 1.2.

Fonctions OCI8
oci_bind_by_name
Fonctions OCI8


Associe une variable PHP à un marqueur Oracle

oci_bind_array_by_name
oci_cancel
Fonctions OCI8
PHP Manual

oci_bind_by_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_bind_by_name — Associe une variable PHP à un marqueur Oracle

Description

bool oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )

Lie une variable PHP variable au marqueur Oracle bv_name. Le fait de lier une variable est important en terme de performance de la base de données Oracle, mais aussi en terme de sécurité relative aux injections SQL.

Le liage permet aux bases de données de réutiliser le contexte d'exécution de la requête ainsi que le cache associé, y compris lorsqu'un autre utilisateur ou processus l'exécute. Le liage réduit le risque d'injection SQL car les données associées à une variable liée ne sont jamais traitées comme faisant partie de la requête SQL. Inutile donc d'ajouter des quotes ou d'échapper ces données.

Les variables PHP liées peuvent changées et la requête ré-exécutée sans avoir besoin d'analyser de nouveau la requête ou de lier de nouveau les variables.

Avec Oracle, les variables liées sont habituellement divisées en lien IN pour les valeurs passées à la base de données, et en lien OUT pour les valeurs à retourner à PHP. Une variable liée peut être à la fois en lien IN et OUT. Dans ce cas, le fait de savoir si la variable liée doit être utilisée pour l'entrée ou la sortie sera déterminé au moment de l'exécution.

Vous devez spécifier le paramètre maxlength lors de l'utilisation du lien OUT afin que PHP alloue assez de mémoire pour contenir la valeur de retour.

Pour les liens IN, il est recommandé de définir le paramètre maxlength si la requête est exécutée plusieurs fois avec des valeurs différentes pour les variables PHP. Sinon, Oracle peut tronquer les données à la longueur de la valeur initiale de la variable PHP. Si vous ne connaissez pas la valeur maximale dont vous avez besoin, alors appelez de nouveau la fonction oci_bind_by_name() avec les données courantes, avant chaque appel à la fonction oci_execute(). Le fait de l'associer une taille supérieure à ce dont vous avez besoin a un impact sur la mémoire associée au processus pour la base de données.

Un appel à la fonctionnalité d'association de variables donne à Oracle l'adresse mémoire à utiliser pour lire les données. Pour les liens IN, cette adresse doit contenir des données valides lors de l'appel à la fonction oci_execute(). Ceci signifie que la variable liée doit rester dans le contexte jusqu'à l'exécution. Si ce n'est pas le cas, des résultats non attendus peuvent survenir, ainsi que des erreurs de type "ORA-01460: unimplemented or unreasonable conversion requested". Pour les liens OUT, un symptôme peut être qu'aucune valeur n'a été définie dans la variable PHP.

Pour une requête qui est exécutée à plusieurs reprises, les valeurs liées qui ne changent jamais peuvent réduire la capacité de l'optimisateur d'Oracle à choisir le meilleur plan d'exécution. Pour les requêtes prenant du temps, qui sont rarement appelées plusieurs fois, l'association de variables n'apporte aucun bénéfice. Cependant, dans les 2 cas, l'association est plus sécurisée que de placer directement les chaînes de caractères dans la requête SQL, sachant qu'il y a un risque de mauvais filtrage de l'entrée utilisateur.

Liste de paramètres

statement

Un identifiant de requête OCI8 valide.

bv_name

Le marqueur, préfixé par une virgule, utilisé dans la requête. La virgule est optionnelle dans le paramètre bv_name.

variable

La variable PHP à associer avec le marqueur du paramètre bv_name.

maxlength

Spécifie la taille maximale pour les données. Si la valeur est -1, la fonction utilisera la longueur courante des données du paramètre variable pour définir la longueur maximale. Dans ce cas, le paramètre variable doit exister et contenir des données lors de l'appel à la fonction oci_bind_by_name().

type

Le type de données à utiliser par Oracle pour traiter les données. Par défaut, vaut SQLT_CHR. Oracle convertira les données entre ce type et la colonne de la base de données (ou des variables de type PL/SQL), lorsque c'est possible.

Si vous devez lier des types abstraits de données (LOB/ROWID/BFILE), vous devrez l'allouer dans un premier temps, avec oci_new_descriptor(). La longueur length ne sert pas pour ces types et devrait être fixée à -1.

Les valeurs possibles pour le paramètre type sont :

  • SQLT_FILE ou OCI_B_BFILE - pour les BFILEs ;

  • SQLT_CFILE ou OCI_B_CFILEE - pour les CFILEs ;

  • SQLT_CLOB ou OCI_B_CLOB - pour les CLOBs ;

  • SQLT_BLOB ou OCI_B_BLOB - pour les BLOBs ;

  • SQLT_RDD ou OCI_B_ROWID - pour les ROWIDs ;

  • SQLT_NTY ou OCI_B_NTY - pour les types de données nommés ;

  • SQLT_INT ou OCI_B_INT - pour les entiers ;

  • SQLT_CHR - pour les VARCHAR ;

  • SQLT_BIN ou OCI_B_BIN - pour les colonnes RAW ;

  • SQLT_LNG - pour les colonnes LONG ;

  • SQLT_LBI - pour les colonnes LONG RAW ;

  • SQLT_RSET - pour les curseurs créés avec la fonction oci_new_cursor().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Insertion de données avec la fonction oci_bind_by_name()

<?php

// Création de la table avec :
//   CREATE TABLE mytab (id NUMBER, text VARCHAR2(40));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn,"INSERT INTO mytab (id, text) VALUES(:id_bv, :text_bv)");

$id = 1;
$text = "Données à insérer     ";
oci_bind_by_name($stid, ":id_bv", $id);
oci_bind_by_name($stid, ":text_bv", $text);
oci_execute($stid);

// La table contient maintenant : 1, 'Données à insérer

?>

Exemple #2 Une association avec de multiples appels

<?php

// Création de la table avec :
//   CREATE TABLE mytab (id NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$a = array(1,3,5,7,11);  // Données à insérer

$stid = oci_parse($conn, 'INSERT INTO mytab (id) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $v, 20);
foreach ($a as $v) {
    $r = oci_execute($stid, OCI_DEFAULT);  // Ne pas valider automatiquement
}
oci_commit($conn); // Une seule validation

// La table contient maintenant 5 lignes : 1, 3, 5, 7, 11

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #3 Association avec une boucle foreach()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT * FROM departments WHERE department_name = :dname AND location_id = :loc';
$stid = oci_parse($conn, $sql);

$ba = array(':dname' => 'IT Support', ':loc' => 1700);

foreach ($ba as $key => $val) {

    // oci_bind_by_name($stid, $key, $val) ne fonctionne pas car
    // elle associe chaque marqueur au même endroit : $val
    // au lieu d'utiliser l'endroit actuel de la donnée $ba[$key]
    oci_bind_by_name($stid, $key, $ba[$key]);
}

oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
foreach ($row as $item) {
    print $item."<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #4 Association dans une clause WHERE

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id = :eidbv';
$stid = oci_parse($conn, $sql);
$myeid = 101;
oci_bind_by_name($stid, ':eidbv', $myeid);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['LAST_NAME'] ."<br>\n";

// Affiche : Kochhar

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #5 Association avec une clause LIKE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Trouve tous les critères qui commencent par 'South'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE city LIKE :bv");
$city = 'South%';  // '%' is a wildcard in SQL
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// Affiche :
//   South Brunswick
//   South San Francisco
//   Southlake

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #6 Association avec REGEXP_LIKE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Trouve tous les critères qui contiennent 'ing'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE REGEXP_LIKE(city, :bv)");
$city = '.*ing.*';
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
    print $c . "<br>\n";
}
// Affiche :
//   Beijing
//   Singapore

oci_free_statement($stid);
oci_close($conn);

?>

Pour quelques conditions utilisées dans les clauses IN, utilisez des variables liées individuelles. Les valeurs inconnues au moment de l'exécution pourront être définies à NULL. Ceci permet d'utiliser une seule requête pour l'ensemble des utilisateurs de l'application, maximisant ainsi l'efficacité du cache Oracle DB.

Exemple #7 Association de plusieurs valeurs dans une clause IN

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id in (:e1, :e2, :e3)';
$stid = oci_parse($conn, $sql);
$mye1 = 103;
$mye2 = 104;
$mye3 = NULL; // pretend we were not given this value
oci_bind_by_name($stid, ':e1', $mye1);
oci_bind_by_name($stid, ':e2', $mye2);
oci_bind_by_name($stid, ':e3', $mye3);
oci_execute($stid);
oci_fetch_all($stid, $res);
foreach ($res['LAST_NAME'] as $name) {
    print $name ."<br>\n";
}

// Affiche :
//   Ernst
//   Hunold

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #8 Association d'un ROWID retourné par une requête

<?php

// Création de la table avec :
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//   INSERT INTO mytab (id, salary, name) VALUES (1, 100, 'Chris');
//   COMMIT;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT ROWID, name FROM mytab WHERE id = :id_bv FOR UPDATE');
$id = 1;
oci_bind_by_name($stid, ':id_bv', $id);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
$rid = $row['ROWID'];
$name = $row['NAME'];

// Modification du nom en lettre majuscule & sauvegarde de cette modification
$name = strtoupper($name);
$stid = oci_parse($conn, 'UPDATE mytab SET name = :n_bv WHERE ROWID = :r_bv');
oci_bind_by_name($stid, ':n_bv', $name);
oci_bind_by_name($stid, ':r_bv', $rid, -1, OCI_B_ROWID);
oci_execute($stid);

// La table contient maintenant 1, 100, CHRIS

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #9 Association d'un ROWID dans un INSERT

<?php

// Cet exemple insère un id & un nom, puis, met à jour le salaire
// Création de la table avec :
//   CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//
// Basé sur l'exemple original de ROWID, fourni par thies at thieso dot net (980221)

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $m = oci_error();
    trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = "INSERT INTO mytab (id, name) VALUES(:id_bv, :name_bv)
        RETURNING ROWID INTO :rid";

$ins_stid = oci_parse($conn, $sql);

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_bind_by_name($ins_stid, ":id_bv",   $id,    10);
oci_bind_by_name($ins_stid, ":name_bv", $name,  32);
oci_bind_by_name($ins_stid, ":rid",     $rowid, -1, OCI_B_ROWID);

$sql = "UPDATE mytab SET salary = :salary WHERE ROWID = :rid";
$upd_stid = oci_parse($conn, $sql);
oci_bind_by_name($upd_stid, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($upd_stid, ":salary", $salary,   32);

// ids et noms à insérer
$data = array(1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim");

// Salaire de chaque personne
$salary = 10000;

// Insertion et mise à jour immédiate de chaque ligne
foreach ($data as $id => $name) {
    oci_execute($ins_stid);
    oci_execute($upd_stid);
}

$rowid->free();
oci_free_statement($upd_stid);
oci_free_statement($ins_stid);

// Affichage des nouvelles lignes
$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    var_dump($row);
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #10 Association pour une fonction stockée PL/SQL

<?php

// Avant d'exécuter le programme PHP, une fonction stockée doit être créée
// au format SQL*Plus ou SQL Developer :
//
//  CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
//  BEGIN
//      RETURN p * 3;
//  END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);

// La valeur retournée est un lien OUT. Le type par défaut devra être
// de type string, aussi, l'association sur une longueur de 40 signifie
// que la chaîne retournée fera au maximum 40 caractères.
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n";   // Affiche 24

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #11 Association de paramètres à une procédure stockée PL/SQL

<?php

// Avant d'exécuter le programme PHP, une procédure stockée doit être créée
// au format SQL*Plus ou SQL Developer :
//
//  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
//  BEGIN
//      p2 := p1 * 2;
//  END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);

// Le second paramètre de la procédure stockée est un lien OUT.
// Le type par défaut devra être de type string, aussi,
// l'association sur une longueur de 40 signifie
// que la chaîne retournée fera au maximum 40 caractères.

oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // Affiche 16

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #12 Association sur une colonne CLOB

<?php

// Avant l'exécution, il est nécessaire de créer la table :
//     CREATE TABLE mytab (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$mykey = 12343;  // Clé arbitraire pour l'exemple ;

$sql = "INSERT INTO mytab (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conn);

// Récupération des données CLOB

$query = 'SELECT myclob FROM mytab WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
  $result = $row['MYCLOB']->load();
  print '<tr><td>'.$result.'</td></tr>';
}
print '</table>';

?>

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

N'utilisez pas la directive magic_quotes_gpc ou la fonction addslashes() associé à la fonction oci_bind_by_name() simultanément, car aucun ajout de guillemets n'est nécessaire. Si c'est le cas, alors les guillemets ajoutés seront écrits dans la base de données ; en effet, la fonction oci_bind_by_name() insère les données brutes et ne supprime ni les guillemets ajoutés, ni les caractères d'échappement.

Note: Si vous associez une chaîne de caractères à une colonne de type CHAR dans une clause WHERE, souvenez-vous qu'Oracle utilise une comparaison en ajoutant des caractères vides pour les colonnes de type CHAR. Aussi, votre variable PHP doit être compléter par des caractères vides afin d'atteindre la même taille que la colonne pour que la clause WHERE fonctionne.

Note: L'argument PHP variable est une référence. Aussi, quelques formats de boucle peuvent ne pas fonctionner comme prévu :

foreach ($myarray as $key => $value)  {
    oci_bind_by_name($stid, $key, $value);
}
Ceci associe chaque clé à la valeur pointée par $value, aussi, toutes les variables associées pointent vers la valeur de la dernière itération de la boucle. A la place, utilisez ceci :
foreach ($myarray as $key => $value) {
    oci_bind_by_name($stid, $key, $myarray[$key]);
}

Note: Avant la version 5.0.0 de PHP, vous devez utiliser à la place la fonction ocibindbyname(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_bind_array_by_name() - Lie un tableau PHP à un tableau Oracle PL/SQL par son nom
  • oci_parse() - Prépare une requête SQL avec Oracle

oci_bind_array_by_name
oci_cancel
Fonctions OCI8


Termine la lecture de curseurs Oracle

oci_bind_by_name
oci_close
Fonctions OCI8
PHP Manual

oci_cancel

(PHP 5, PECL OCI8 >= 1.1.0)

oci_cancel — Termine la lecture de curseurs Oracle

Description

bool oci_cancel ( resource $statement )

Invalide un curseur, libère toutes les ressources associées et annule la possibilité de lecture depuis la ressource.

Liste de paramètres

statement

Une requête OCI.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

oci_bind_by_name
oci_close
Fonctions OCI8


Ferme une connexion Oracle

oci_cancel
OCI-Collection->append
Fonctions OCI8
PHP Manual

oci_close

(PHP 5, PECL OCI8 >= 1.1.0)

oci_close — Ferme une connexion Oracle

Description

bool oci_close ( resource $connection )

Ferme une connexion connection Oracle. La connexion sera fermée si aucune ressource ne l'utilise et si elle a été créée avec la fonction oci_connect() ou la fonction oci_new_connect().

Il est recommandé de fermer les connexions qui ne vous sont plus nécessaires, rendant ainsi plus de ressources de disponible pour les autres utilisateurs.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect(), ou oci_new_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fermeture d'une connexion

Les ressources associées avec une connexion doivent être fermée afin d'assurer à la base de données sous sous-jacente la fin des opération et ainsi, y libérer les ressources.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');
$r = oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

// Libération de l'identifiant de requête lors de la fermeture de la connexion
oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Les connexions à la base de données sont fermées à partir du moment où les références le sont

L'identifiant interne comptant les connexions doit valoir zéro pour pouvoir fermer la connexion.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');  // ceci incrémente le compteur interne $conn
oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

oci_close($conn);

// $conn n'est plus utilisable dans le script mais la connexion sous-jacente à
// la base de données est toujours ouverte tant que $stid n'est pas libéré.
var_dump($conn);  // affiche NULL

// Pendant que PHP attend, le fait d'interroger la vue V$SESSION d'Oracle
// dans un terminal montrera qu'un utilisateur est toujours connecté.
sleep(10);

// Lorsque $stid est libéré, la connexion à la base de données sera physiquement fermée
oci_free_statement($stid);

// Pendant que PHP attend, le fait d'interroger la vue V$SESSION d'Oracle
// dans un terminal montrera que l'utilisateur s'est déconnecté.
sleep(10);

?>

Exemple #3 Fermeture d'un connexion ouverte plus d'une fois

Lorsque des identifiants de base de données sont réutilisés, toutes les connexions doivent être fermées avant que la connexion à la base de données sous-jacente le soit réellement.

<?php

$conn1 = oci_connect('hr', 'welcome', 'localhost/XE');

// L'utilisation des mêmes identifiants réutilise la même connexion à la base de données sous-jacente.
// Toutes les modifications non validées effectuées sur $conn1 seront visibles sur $conn2.
$conn2 = oci_connect('hr', 'welcome', 'localhost/XE');

// Pendant que PHP attend, le fait d'interroger la vue V$SESSION d'Oracle
// dans un terminal montrera qu'un seul utilisateur est connecté.
sleep(10);

oci_close($conn1); // ne ferme pas la connexion à la base de données sous-jacente
var_dump($conn1);  // affiche NULL car la variable $conn1 n'est plus utilisable
var_dump($conn2);  // affiche que $conn2 est toujours une ressource de connexion valide

?>

Exemple #4 Les connexions sont fermées lorsque les variables sortent du contexte

Lorsque toutes les variables référençant une connexion sortent du contexte et sont libérées par PHP, une annulation survient (si nécessaire) et la connexion sous-jacente à la base de données est fermée.

<?php

function myfunc() {
    $conn = oci_connect('hr', 'hrpwd', 'localhost/XE');
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid = oci_parse($conn, 'UPDATE mytab SET id = 100');
    oci_execute($stid, OCI_NO_AUTO_COMMIT);
    return "Finished";
}

$r = myfunc();
// À ce moment, une annulation survient et la connexion sous-jacente à la base de données est fermée.

print $r;  // affiche la valeur de retour de la fonction "Finished"

?>

Notes

Note: Les variables ayant une dépendance à l'identifiant de connexion, comme les identifiants de requêtes retournés par la fonction oci_parse(), doivent être libérées avant de tenter de fermer la connexion sous-jacente à la base de données.

Note: Avant la version PHP 5.1.2 (PECL OCI8 1.1) oci_close() ne fermait pas réellement la connexion Oracle. Dans les versions plus récentes, cette fonction ferme correctement la connexion Oracle. Utilisez l'option oci8.old_oci_close_semantics pour revenir à l'ancien comportement de cette fonction.

Note: La fonction oci_close() ne ferme pas les connexions sous-jacentes à la base de données créées par la fonction oci_pconnect().

Note: Dans les version de PHP avant 5.0.0, vous devez utiliser la fonction ocilogoff() à la place. Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_connect() - Établit une connexion avec un serveur Oracle
  • oci_free_statement() - Libère toutes les ressources réservées par un résultat Oracle

oci_cancel
OCI-Collection->append
Fonctions OCI8


Ajoute un élément à une collection Oracle

oci_close
OCI-Collection->assign
Fonctions OCI8
PHP Manual

OCI-Collection->append

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->append — Ajoute un élément à une collection Oracle

Description

OCI-Collection
bool append ( mixed $value )

Ajoute un élément à la fin d'une collection Oracle.

Liste de paramètres

value

La valeur à ajouter à la collection. Peut être une chaîne de caractères ou un nombre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Collection->assign

oci_close
OCI-Collection->assign
Fonctions OCI8


Assigne une valeur à une collection depuis une autre collection Oracle

OCI-Collection->append
OCI-Collection->assignElem
Fonctions OCI8
PHP Manual

OCI-Collection->assign

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->assign — Assigne une valeur à une collection depuis une autre collection Oracle

Description

OCI-Collection
bool assign ( OCI-Collection $from )

Assigne une valeur à une collection, à partir de la collection from. Les deux collections doivent avoir été créées avec oci_new_collection() avant d'utiliser cette fonction.

Liste de paramètres

from

Une instance OCI-Collection.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Collection->append

OCI-Collection->append
OCI-Collection->assignElem
Fonctions OCI8


Assigne une valeur à un élément d'une collection Oracle

OCI-Collection->assign
OCI-Collection->free
Fonctions OCI8
PHP Manual

OCI-Collection->assignElem

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->assignElem — Assigne une valeur à un élément d'une collection Oracle

Description

OCI-Collection
bool assignElem ( int $index , mixed $value )

Assigne une valeur à l'élément dont l'index est index.

Liste de paramètres

index

L'index de l'élément. Le premier vaut 1.

value

Peut être soit une chaîne de caractères, soit un nombre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Collection->getElem

OCI-Collection->assign
OCI-Collection->free
Fonctions OCI8


Libère les ressources associées avec un objet de collection

OCI-Collection->assignElem
OCI-Collection->getElem
Fonctions OCI8
PHP Manual

OCI-Collection->free

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->free — Libère les ressources associées avec un objet de collection

Description

OCI-Collection
bool free ( void )

Libère les ressources associées avec un objet de collection.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • oci_new_collection

OCI-Collection->assignElem
OCI-Collection->getElem
Fonctions OCI8


Retourne la valeur d'un élément d'une collection Oracle

OCI-Collection->free
OCI-Collection->max
Fonctions OCI8
PHP Manual

OCI-Collection->getElem

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->getElem — Retourne la valeur d'un élément d'une collection Oracle

Description

OCI-Collection
mixed getElem ( int $index )

Retourne la valeur de l'élément à l'index index (en commençant à 1).

Liste de paramètres

index

L'index de l'élément. Le premier vaut 1.

Valeurs de retour

Retournera FALSE si cet élément n'existe pas; NULL, si l'élément est NULL chaîne si la colonne est de type chaîne, et nombre si c'est un champs numérique.

Voir aussi

  • OCI-Collection->assignElem

OCI-Collection->free
OCI-Collection->max
Fonctions OCI8


Retourne le nombre maximal de valeurs d'une collection Oracle

OCI-Collection->getElem
OCI-Collection->size
Fonctions OCI8
PHP Manual

OCI-Collection->max

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->max — Retourne le nombre maximal de valeurs d'une collection Oracle

Description

OCI-Collection
int max ( void )

Retourne le nombre maximal de valeurs d'une collection Oracle.

Valeurs de retour

Retourne le nombre maximal, sous la forme d'un entier, ou FALSE si une erreur survient.

Si la valeur retournée vaut 0, alors le nombre d'éléments n'est pas limité.

Voir aussi

  • OCI-Collection->size

OCI-Collection->getElem
OCI-Collection->size
Fonctions OCI8


Retourne la taille d'une collection Oracle

OCI-Collection->max
OCI-Collection->trim
Fonctions OCI8
PHP Manual

OCI-Collection->size

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->size — Retourne la taille d'une collection Oracle

Description

OCI-Collection
int size ( void )

Retourne la taille d'une collection Oracle.

Valeurs de retour

Retourne le nombre d'éléments de la collection, ou FALSE si une erreur survient.

Voir aussi

  • OCI-Collection->max

OCI-Collection->max
OCI-Collection->trim
Fonctions OCI8


Supprime les derniers éléments d'une collection Oracle

OCI-Collection->size
oci_commit
Fonctions OCI8
PHP Manual

OCI-Collection->trim

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Collection->trim — Supprime les derniers éléments d'une collection Oracle

Description

OCI-Collection
bool trim ( int $num )

Supprime les num derniers éléments d'une collection.

Liste de paramètres

num

Le nombre d'éléments à supprimer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Collection->size

OCI-Collection->size
oci_commit
Fonctions OCI8


Valide les transactions Oracle en cours

OCI-Collection->trim
oci_connect
Fonctions OCI8
PHP Manual

oci_commit

(PHP 5, PECL OCI8 >= 1.1.0)

oci_commit — Valide les transactions Oracle en cours

Description

bool oci_commit ( resource $connection )

Valide toutes les transactions en cours sur la connexion Oracle connection. Une validation rend permanentes toutes les modifications, en libérant tous les verrous.

Une transaction commence lorsque la première requête SQL qui modifie des données est exécutée avec la fonction oci_execute() en utilisant le drapeau OCI_NO_AUTO_COMMIT. Les prochaines modifications faîtes par d'autres requêtes deviennent parties intégrantes de la même transaction. Les données modifiées par une transaction sont temporaires tant que la transaction n'est pas validée ou annulée. Les autres utilisateurs de la base de données ne verront ces modifications qu'une fois la transaction validée.

Lors de l'insertion ou de la mise à jour de données, l'utilisation des transactions est recommandé afin de garantir la consistence relationnelle des données, mais aussi afin d'augmenter les performances.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect(), ou oci_new_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_commit()

<?php

// Insertion dans plusieurs tables, avec une annulation des modifications si des erreurs surviennent

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// Le drapeau OCI_NO_AUTO_COMMIT indique à Oracle de ne pas valider les insertions automatiquement.
/// Utilisez le drapeau OCI_DEFAULT pour PHP <= 5.3.1. Les 2 sont équivalents
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // Annulation des modifications sur les 2 tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Valide les modifications sur les 2 tables
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Notes

Note: Les transactions sont automatiquement annulées lorsque vous fermez la connexion, ou lorsque le script se termine, un des deux arrivant le premier. Vous devez explicitement appeler la fonction oci_commit() pour valider la transaction.
Chaque appel à la fonction oci_execute() qui utilise le mode OCI_COMMIT_ON_SUCCESS explicitement ou par défaut, validera toutes les transactions précédentes non validées à ce stade.
Toutes les requêtes Oracle comme CREATE ou DROP validera également toutes les transactions non validées.

Note: Dans les version PHP avant 5.0.0, vous devez utiliser la fonction ocicommit() à la place. Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_execute() - Exécute une commande SQL Oracle
  • oci_rollback() - Annule les transactions Oracle en cours

OCI-Collection->trim
oci_connect
Fonctions OCI8


Établit une connexion avec un serveur Oracle

oci_commit
oci_define_by_name
Fonctions OCI8
PHP Manual

oci_connect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_connect — Établit une connexion avec un serveur Oracle

Description

resource oci_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Retourne un identifiant de connexion, nécessaire à la plupart des appels OCI8.

Voir la section sur la gestion des connexions pour des informations générales sur la façon dont sont gérées les connexions avec un serveur Oracle.

Depuis PHP 5.1.2 (PECL OCI8 1.1), la fonction oci_close() peut être utilisée pour fermer une connexion.

Les appels suivants (suivant un premier) à la fonction oci_connect() avec les mêmes paramètres retourneront le gestionnaire de connexion retourné lors du premier appel. Cela signifie que les transactions effectuées sur un gestionnaire seront actives sur les autres, sachant qu'elles utilisent la même connexion sous-jacente. Si 2 gestionnaires doivent avoir des transactions isolées, utilisez à la place la fonction oci_new_connect().

Liste de paramètres

username

Le nom d'utilisateur Oracle.

password

Le mot de passe de l'utilisateur.

connection_string

Contient l'instance Oracle sur laquelle nous devons nous connecter. Ce peut être une » chaîne de connexion rapide, un nom de connexion issue du fichier tnsnames.ora, ou le nom d'une instance locale Oracle.

Si non spécifié, PHP utilise des variables d'environnement comme TWO_TASK (sous Linux) ou LOCAL (sous Windows) et ORACLE_SID pour déterminer l'instance Oracle sur laquelle nous devons nous connecter.

Pour utiliser la méthode de connexion rapide, PHP doit être lié avec la bibliothèque cliente Oracle 10g ou supérieur. La chaîne de connexion rapide pour Oracle 10g ou supérieur est de la forme : [//]host_name[:port][/service_name]. Avec Oracle 11g, la syntaxe est : [//]host_name[:port][/service_name][:server_type][/instance_name]. Les noms des services peuvent être trouvés en exécutant l'utilitaire Oracle lsnrctl status sur la machine exécutant la base de données.

Le fichier tnsnames.ora peut être dans le chemin de recherche d'Oracle Net, qui inclut $ORACLE_HOME/network/admin et /etc. Une solution alternative serait de définit TNS_ADMIN afin que le fichier $TNS_ADMIN/tnsnames.ora soit lu. Assurez-vous que le daemon exécutant le serveur web a accès en lecture à ce fichier.

charset

Détermine le jeu de caractères utilisé par la bibliothèque cliente Oracle. Le jeu de caractères n'a pas besoin d'être identique à celui utilisé par la base de données. S'il ne correspond pas, Oracle ferait de son mieux pour convertir les données depuis le jeu de caractères de la base de données. Suivant les jeux de caractères, il se peut que le résultat ne soit pas parfait. De plus, cette convertion nécessite un peu de temps système.

Si non spécifié, la bibliothèque cliente Oracle déterminera un jeu de caractères depuis la variable d'environnement NLS_LANG.

Le fait de passer ce paramètre peut réduire la durée de connexion.

session_mode

Ce paramètre est disponible depuis PHP 5 (PECL OCI8 1.1) et accepte les valeurs suivantes : OCI_DEFAULT, OCI_SYSOPER et OCI_SYSDBA. Si soit la constante OCI_SYSOPER, soit la constante OCI_SYSDBA est spécifiée, cette fonction tentera d'établir une connexion privilégiée en utilisant des identifiants externes. Les connexions privilégiées sont désactivées par défault. Pour les activer, vous devez définir l'option oci8.privileged_connect à On.

PHP 5.3 (PECL OCI8 1.3.4) introduisent la valeur de mode OCI_CRED_EXT. Ce mode demande à Oracle d'utiliser une identification externe ou bien issue du système d'exploitation, qui doit être configurée dans la base de données. Le drapeau OCI_CRED_EXT ne peut être utilisé qu'avec le nom d'utilisateur "/" associé à un mot de passe vide. L'option oci8.privileged_connect peut être définie à On ou Off.

OCI_CRED_EXT peut être combiné avec le mode OCI_SYSOPER ou le mode OCI_SYSDBA.

OCI_CRED_EXT n'est pas supporté sous Windows pour des raisons de sécurité.

Valeurs de retour

Retourne un identifiant de connexion ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_connect() en utilisant la syntaxe simplifiée

<?php

// Connexion au service XE (i.e. la base de données) sur la machine "localhost"
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemple #2 Exemple avec oci_connect() en utilisant un nom de connexion réseau

<?php

// Connexion à la base de données MYDB décrite dans le fichier tnsnames.ora,
// Un exemple d'entrée tnsnames.ora pour MYDB pourraît être :
//   MYDB =
//     (DESCRIPTION =
//       (ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.oracle.com)(PORT = 1521))
//       (CONNECT_DATA =
//         (SERVER = DEDICATED)
//         (SERVICE_NAME = XE)
//       )
//     )

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemple #3 Exemple avec oci_connect() en utilisant un jeu de caractère spécifique

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE', 'AL32UTF8');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemple #4 Exemple avec plusieurs appels à la fonction oci_connect()

<?php

$c1 = oci_connect("hr", "welcome", 'localhost/XE');
$c2 = oci_connect("hr", "welcome", 'localhost/XE');

// À la fois $c1 et $c2 affichent le même identifiant de ressources PHP, ce qui signifie
// qu'il s'agit de la même connexion à la base de données
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

function create_table($conn)
{
    $stmt = oci_parse($conn, "create table hallo (test varchar2(64))");
    oci_execute($stmt);
    echo "Created table<br>\n";
}

function drop_table($conn)
{
    $stmt = oci_parse($conn, "drop table hallo");
    oci_execute($stmt);
    echo "Dropped table<br>\n";
}

function insert_data($connname, $conn)
{
    $stmt = oci_parse($conn, "insert into hallo
              values(to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname inserted row without committing<br>\n";
}

function rollback($connname, $conn)
{
    oci_rollback($conn);
    echo "$connname rollback<br>\n";
}

function select_data($connname, $conn)
{
    $stmt = oci_parse($conn, "select * from hallo");
    oci_execute($stmt, OCI_DEFAULT);
    echo "$connname ----selecting<br>\n";
    while (oci_fetch($stmt)) {
        echo "    " . oci_result($stmt, "TEST") . "<br>\n";
    }
    echo "$connname ----done<br>\n";
}

create_table($c1);

insert_data('c1', $c1);   // Insère une ligne en utilisant c1
sleep(2);                 // On attend afin de voir un timestamp différent pour la seconde ligne
insert_data('c2', $c2);   // Insère une ligne en utilisant c2

select_data('c1', $c1);   // Les résultats des 2 insertions sont retournés
select_data('c2', $c2);   // Les résultats des 2 insertions sont retournés

rollback('c1', $c1);      // Annulation de la transaction en utilisant c1

select_data('c1', $c1);   // Les 2 insertions ont été annulées
select_data('c2', $c2);

drop_table($c1);

// La fermeture d'une connexion rend les variables PHP indisponibles, mais les autres
// peuvent être toujours utilisées
oci_close($c1);
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

// Affichage :
//    c1 is Resource id #5
//    c2 is Resource id #5
//    Created table
//    c1 inserted row without committing
//    c2 inserted row without committing
//    c1 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c1 ----done
//    c2 ----selecting
//        09-DEC-09 12:14:43
//        09-DEC-09 12:14:45
//    c2 ----done
//    c1 rollback
//    c1 ----selecting
//    c1 ----done
//    c2 ----selecting
//    c2 ----done
//    Dropped table
//    c1 is
//    c2 is Resource id #5

?>

Notes

Note: Si un problème est survenu lors de l'installation de l'extension OCI8, une des manifestations sera un problème lors de la connexion. Reportez-vous à la section Installation/Configuration pour plus d'informations en cas d'erreurs.

Note: Dans les versions de PHP avant 5.0.0, utilisez la fonction ocilogon() à la place. Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_pconnect() - Ouvre une connexion persistante à un serveur Oracle
  • oci_new_connect() - Connexion au serveur Oracle en utilisant une seule connexion
  • oci_close() - Ferme une connexion Oracle

oci_commit
oci_define_by_name
Fonctions OCI8


Associe une variable PHP avec une colonne pour une requête de récupération de données

oci_connect
oci_error
Fonctions OCI8
PHP Manual

oci_define_by_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_define_by_name — Associe une variable PHP avec une colonne pour une requête de récupération de données

Description

bool oci_define_by_name ( resource $statement , string $column_name , mixed &$variable [, int $type = SQLT_CHR ] )

Associe une variable PHP avec une colonne pour une requête de récupération de données utilisant la fonction oci_fetch().

L'appel à la fonction oci_define_by_name() doit s'effectuer avant l'exécution de la fonction oci_execute().

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

column_name

Le nom de la colonne utilisé dans la requête.

Utilisez un nom en majuscule, pour les noms de colonne non sensibles à la casse (par défaut sous Oracle). Utilisez la casse exacte du nom de la colonne pour les noms de colonne sensibles à la casse.

variable

La variable PHP qui contiendra la valeur retournée par la colonne.

type

Le type de données à retourner. En général, ce paramètre n'est pas nécessaire. Notez que le style Oracle de conversion de données n'est pas appliqué ici. Par exemple, SQLT_INT sera ignoré et le type de données retourné sera SQLT_CHR.

Vous pouvez utiliser, optionnellement, la fonction oci_new_descriptor() pour allouer des descripteurs LOB/ROWID/BFILE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_define_by_name()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// Les définitions DOIVENT être faîtes avant l'exécution de la requête
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Chaque récupération peuple les variables précédemment définies avec les données de la prochaine ligne
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Affiche :
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Exemple avec oci_define_by_name() et des noms de colonne sensibles à la casse

<?php

/*
  Avant exécution, créez la table suivant avec un nom de colonne sensible à la casse :
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Utilisez des majuscules pour les noms de colonne insensibles à la casse
oci_define_by_name($stid, 'ID', $id);

// Utilisez la casse exacte pour les noms de colonnes sensibles à la casse
oci_define_by_name($stid, 'MyDescription', $mydesc);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo "id $id is $mydesc<br>\n";
}

// Affiche :
//   id 1 is Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #3 Exemple avec oci_define_by_name() et des colonnes de type LOB

<?php

/*
  Avant exécution, créez la table suivante :
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Les définitions DOIVENT être effectuées avant l'exécution
oci_define_by_name($stid, 'ID', $id);
oci_define_by_name($stid, 'FRUIT', $fruit);  // $fruit will become a LOB descriptor

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Affiche :
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Exemple #4 Exemple avec oci_define_by_name() et un type explicite

<?php

/*
  Avant exécution, créez la table suivante :
    CREATE TABLE mytab (id NUMBER, fruit CLOB);
    INSERT INTO mytab (id, fruit) values (1, 'apple');
    INSERT INTO mytab (id, fruit) values (2, 'orange');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Les définitions DOIVENT être faîtes avant exécution
oci_define_by_name($stid, 'ID', $id);

$fruit = oci_new_descriptor($conn, OCI_D_LOB);
oci_define_by_name($stid, 'FRUIT', $fruit, OCI_D_CLOB);

oci_execute($stid);

while (oci_fetch($stid)) {
    echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Affiche :
//   1 is apple
//   2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocidefinebyname(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_fetch() - Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_new_descriptor() - Initialise un nouveau pointeur vide de LOB/FILE Oracle

oci_connect
oci_error
Fonctions OCI8


Retourne la dernière erreur Oracle

oci_define_by_name
oci_execute
Fonctions OCI8
PHP Manual

oci_error

(PHP 5, PECL OCI8 >= 1.1.0)

oci_error — Retourne la dernière erreur Oracle

Description

array oci_error ([ resource $resource ] )

Retourne la dernière erreur Oracle.

La fonction doit être appelée immédiatement après qu'une erreur survient. Les erreurs sont réinitialisées après une requête réussie.

Liste de paramètres

resource

Pour la plupart des erreurs, le paramètre resource représente une ressource de connexion. Pour les erreurs de connexion avec les fonctions oci_connect(), oci_new_connect() ou oci_pconnect(), ne passez aucun paramètre.

Valeurs de retour

Si aucune erreur n'est trouvée, oci_error() retourne FALSE. Sinon, oci_error() retourne l'information concernant l'erreur sous la forme d'un tableau associatif.

Description du tableau retourné par oci_error()
Clé du tableau | Type | Description
code | integer | Le numéro d'erreur Oracle.
message | string | Le texte de l'erreur Oracle.
offset | integer | L'octet de position de l'erreur dans la requête SQL. S'il n'y a pas de requête, 0 sera placé comme valeur.
sqltext | string | Le texte de la requête SQL. S'il n'y a pas de requête, ce sera une chaîne vide.

Historique

Version | Description
PHP 4.3 | Les entrées offset et sqltext ont été ajoutées.

Exemples

Exemple #1 Exemple d'affichage d'un message d'erreur Oracle après une erreur de connexion

$conn = oci_connect("hr", "welcome", "localhost/XE");
if (!$conn) {
    $e = oci_error();   // Pour les erreurs oci_connect, ne passez pas de gestionnaire de connexion
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

Exemple #2 Exemple d'affichage d'un message d'erreur Oracle après une erreur d'analyse

$stid = oci_parse($conn, "select ' from dual");  // Notez l'erreur avec les guillemets
if (!$stid) {
    $e = oci_error($conn);  // Pour les erreurs oci_parse, passez le gestionnaire de connexion
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

Exemple #3 Exemple d'affichage d'un message d'erreur Oracle après une erreur d'exécution rencontré dans une requête SQL

$stid = oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);  // Pour les erreurs oci_execute, passez le gestionnaire de connexion
    print htmlentities($e['message']);
    print "\n<pre>\n";
    print htmlentities($e['sqltext']);
    printf("\n%".($e['offset']+1)."s", "^");
    print  "\n</pre>\n";
}

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocierror(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

oci_define_by_name
oci_execute
Fonctions OCI8


Exécute une commande SQL Oracle

oci_error
oci_fetch_all
Fonctions OCI8
PHP Manual

oci_execute

(PHP 5, PECL OCI8 >= 1.1.0)

oci_execute — Exécute une commande SQL Oracle

Description

bool oci_execute ( resource $statement [, int $mode = OCI_COMMIT_ON_SUCCESS ] )

Exécute une requête statement précédemment retournée par la fonction oci_parse().

Après exécution, les requêtes comme INSERT auront des données à valider sur la base de données par défaut. Pour les requêtes comme SELECT, l'exécution effectue la logique de la requête. Les résultats de la requête peuvent être récupérés par PHP avec des fonctions comme oci_fetch_array().

Chaque requête analysé peut être exécutée plusieurs fois, inutile donc de les analyser de nouveau. Ceci est pratique pour des requêtes de type INSERT lorsque des données y sont liées grâce à la fonction oci_bind_by_name().

Liste de paramètres

statement

Un identifiant de requête OCI valide.

mode

Un second paramètre optionnel peut prendre une des constantes suivantes :

Modes d'exécution
Constante | Description
OCI_COMMIT_ON_SUCCESS | Validation automatique sur la connexion lorsque la requête a été exécutée avec succès. C'est le comportement par défaut.
OCI_DEFAULT | Obsolète depuis PHP 5.3.2 (PECL OCI8 1.4) mais toujours disponible pour des raisons de compatibilité. Utilisez la constante équivalent OCI_NO_AUTO_COMMIT dans votre nouveau code.
OCI_DESCRIBE_ONLY | Rend les méta-donnes de la requête disponible aux fonctions comme oci_field_name() mais ne crée pas de jeu de résultats. Tout appel à des fonctions de récupérer comme oci_fetch_array() échouera.
OCI_NO_AUTO_COMMIT | Ne valide pas automatiquement les modifications. Avant PHP 5.3.2 (PECL OCI8 1.4), utilisez la constante OCI_DEFAULT qui est un alias de la constante OCI_NO_AUTO_COMMIT.

L'utilisation du mode OCI_NO_AUTO_COMMIT commence une nouvelle transaction. Les transactions sont automatiquement annulées lorsque la connexion est fermée ou lorsque le script se termine. Appelez explicitement la fonction oci_commit() pour valider la transaction ou la fonction oci_rollback() pour l'annuler.

Lors de l'insertion ou de la mise à jour de données, l'utilisation de transactions est fortement recommandée pour garantir la consistence relationnelle des données, mais aussi en raison d'un gain non négligeable de performance.

Si le mode OCI_NO_AUTO_COMMIT est utilisé pour toutes opérations y compris les requêtes, et que les fonctions oci_commit() et oci_rollback() ne sont jamais appelées, OCI8 effectuera une annulation à la fin du script même si les données ont changées. Pour éviter ce comportement, la plupart des scripts n'utilise pas le mode OCI_NO_AUTO_COMMIT pour les requêtes ou les procédures stockées PL/SQL. Assurez-vous de la consistance transactionnelle appropriée de vos applications lors de l'utilisation de la fonction oci_execute() avec différents modes dans le même script.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_execute() pour des requêtes

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemple #2 Exemple avec oci_execute() sans spécifier de mode

<?php

// Avant exécution, créez la table :
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');

oci_execute($stid); // La ligne est validée et est immédiatement visible par les autres utilisateurs

?>

Exemple #3 Exemple avec oci_execute() et OCI_NO_AUTO_COMMIT

<?php

// Avant exécution, créez la table :
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $i, 10);
for ($i = 1; $i <= 5; ++$i) {
    oci_execute($stid, OCI_NO_AUTO_COMMIT);  // utilisez OCI_DEFAULT pour PHP <= 5.3.1
}
oci_commit($conn);  // valide toutes les nouvelles valeurs : 1, 2, 3, 4, 5

?>

Exemple #4 Exemple avec oci_execute() et différents modes dans le même script

<?php

// Avant exécution, créez la table :
//   CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');
oci_execute($stid, OCI_NO_AUTO_COMMIT);  // data not committed

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (456)');
oci_execute($stid);  // valide à la fois les valeurs 123 et 456

?>

Exemple #5 Exemple avec oci_execute() et OCI_DESCRIBE_ONLY

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM locations');
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = 1; $i <= oci_num_fields($stid); ++$i) {
    echo oci_field_name($stid, $i) . "<br>\n";
}

?>

Notes

Note: Les transactions sont automatiquement annulées lorsque les connexions sont fermées, ou lorsque le script se termine, le premier arrivant en premier. Appelez explicitement la fonction oci_commit() pour valider une transaction.
Tout appel à la fonction oci_execute() qui utilise le mode OCI_COMMIT_ON_SUCCESS explicitement ou par défaut validera toutes les transactions en cours.
Toutes les requêtes Oracle DDL comme CREATE ou DROP valideront toutes les transactions en cours.

Note: À cause du fait que la fonction oci_execute() envoie généralement la requête à la base de données, la fonction oci_execute() peut identifier les erreurs de syntaxe de la requête que la fonction oci_parse() aurait pû ne pas détecter.

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociexecute(). oci.name.compat.note;

Voir aussi

  • oci_parse() - Prépare une requête SQL avec Oracle

oci_error
oci_fetch_all
Fonctions OCI8


Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel

oci_execute
oci_fetch_array
Fonctions OCI8
PHP Manual

oci_fetch_all

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_all — Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel

Description

int oci_fetch_all ( resource $statement , array &$output [, int $skip = 0 [, int $maxrows = -1 [, int $flags = OCI_FETCHSTATEMENT_BY_COLUMN + OCI_ASSOC ]]] )

Lit toutes les lignes d'un résultat Oracle dans un tableau à 2 dimensions. Par défaut, toutes les lignes sont retournées.

Cette fonction peut être appelée une seule fois pour chaque requête exécutée via la fonction oci_execute().

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

output

La variable qui va contenir les lignes retournées.

Les colonnes LOB sont retournées sous la forme d'une chaîne lorsqu'Oracle supporte la conversion.

Voir la fonction oci_fetch_array() pour plus d'informations sur la façon dont les données et leurs types sont récupérés.

skip

Nombre de lignes initiales à ignorer lors de la lecture du résultat. Par défaut, ce paramètre vaut 0, pour commencer la lecture à la première ligne.

maxrows

Nombre de lignes maximal à retourner. Par défaut, vaut -1, ce qui signifie que toutes les lignes disponibles seront retournées depuis le paramètre skip + 1.

flags

Le paramètre flags indique la structure du tableau mais aussi si des tableaux associatifs doivent être utilisés.

Modes de structure des tableaux pour la fonction oci_fetch_all()
Constante | Description
OCI_FETCHSTATEMENT_BY_ROW | Le tableau retourné contiendra un seul sous tableau par lignes.
OCI_FETCHSTATEMENT_BY_COLUMN | Le tableau retourné contiendra un seul sous tableau par colonnes. C'est le comportement par défaut.

Les tableaux peuvent être indexés par l'en-tête de colonne ou numériquement.

Modes d'index des tableaux pour la fonction oci_fetch_all()
Constante | Description
OCI_NUM | Des indexes numériques sont utilisés pour chaque tableau de colonnes.
OCI_ASSOC | Des indexes associatifs sont utilisés pour chaque tableau de colonnes. C'est le comportement par défaut.

Utilisez l'opérateur d'addition "+" pour choisir une combinaison de structures de tableaux et de modes d'index.

Les noms de colonnes qui ne sont pas sensibles à la casse (par défaut sous Oracle), auront des noms d'attributs en majuscule. Les noms de colonnes qui sont sensibles à la casse, auront des noms d'attributs utilisant exactement la même casse de la colonne. Utilisez la fonction var_dump() sur l'objet de résultat pour vérifier la casse appropriée à utiliser pour chaque requête.

Les requêtes qui possèdent plus d'une colonne dont le nom est identique doivent utiliser des alias. Sinon, seulement une des colonnes apparaîtra dans le tableau associatif.

Valeurs de retour

Retourne le nombre de lignes récupérées dans le paramètre output qui peut être de 0 ou plus, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_fetch_all()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// var_dump affichera :
//    2 rows fetched
//    array(2) {
//      ["POSTAL_CODE"]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(6) "10934x"
//      }
//      ["CITY"]=>
//      array(2) {
//        [0]=>
//        string(4) "Roma"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

// Affichage des résultats
echo "<table border='1'>\n";
foreach ($res as $col) {
    echo "<tr>\n";
    foreach ($col as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Exemple avec oci_fetch_all() et OCI_FETCHSTATEMENT_BY_ROW

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);

echo "$nrows lignes récupérées<br>\n";
var_dump($res);

// Affiche :
//    2 lignes récupérées
//    array(2) {
//      [0]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "00989x"
//        ["CITY"]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        ["POSTAL_CODE"]=>
//        string(6) "10934x"
//        ["CITY"]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #3 Exemple avec oci_fetch_all() et OCI_NUM

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW + OCI_NUM);

echo "$nrows lignes récupérées<br>\n";
var_dump($res);

// Affiche :
//    2 lignes récupérées
//    array(2) {
//      [0]=>
//      array(2) {
//        [0]=>
//        string(6) "00989x"
//        [1]=>
//        string(4) "Roma"
//      }
//      [1]=>
//      array(2) {
//        [0]=>
//        string(6) "10934x"
//        [1]=>
//        string(6) "Venice"
//      }
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Notes

Note: L'utilisation du paramètre skip est vraiment inefficace. Toutes les lignes à éviter sont comprises dans le jeu de résultats retourné par la base de données à PHP. Puis, elles sont écartées. Il est plus efficace d'utiliser une requête SQL pour restreindre le champ des lignes désirées. Voir la fonction oci_fetch_array() pour un exemple concrêt.

Note: Les requêtes qui retournent un très grand nombre de lignes peuvent gagner en économie de mémoire lors de l'utilisation de fonctions récupérant une seule ligne, comme le fait la fonction oci_fetch_array().

Note: Pour les requêtes retournant un très grand nombre de lignes, les performances peuvent être très grandement accrues en augmentant la valeur de l'option oci8.default_prefetch ou en utilisant la fonction oci_set_prefetch().

Note: En PHP 5.0.0 et antérieure, vous devez utiliser la fonction ocifetchstatement() à la place. Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_fetch() - Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_fetch_array() - Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_assoc() - Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_object() - Lit une ligne d'un résultat sous forme d'objet
  • oci_fetch_row() - Lit la prochaine ligne d'une requête sous forme de tableau numérique
  • oci_set_prefetch() - Indique le nombre de lignes qui doivent être lues à l'avance par Oracle

oci_execute
oci_fetch_array
Fonctions OCI8


Lit une ligne d'un résultat sous forme de tableau associatif ou numérique

oci_fetch_all
oci_fetch_assoc
Fonctions OCI8
PHP Manual

oci_fetch_array

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_array — Lit une ligne d'un résultat sous forme de tableau associatif ou numérique

Description

array oci_fetch_array ( resource $statement [, int $mode ] )

Retourne un tableau contenant la prochaine ligne d'une requête. Chaque entrée de ce tableau correspond à une colonne de la ligne. Cette fonction est appelée typiquement dans une boucle qui retourne FALSE lorsqu'il n'y a plus de ligne de disponible.

Pour plus de détails sur le mapping des types de données effectué par l'extension OCI8, lisez les types de données supportés par le driver.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

mode

Le paramètre optionnel mode peut être la combinaison des constantes suivantes :

Modes pour oci_fetch_array()
Constante | Description
OCI_BOTH | Retourne une tableau, indexé numériquement et avec les noms de colonnes. Identique à OCI_ASSOC + OCI_NUM). C'est le comportement par défaut.
OCI_ASSOC | Retourne un tableau associatif.
OCI_NUM | Retourne un tableau indexé numériquement.
OCI_RETURN_NULLS | Crée des éléments vides pour les valeurs NULL. La valeur des éléments sera la valeur NULL PHP.
OCI_RETURN_LOBS | Retourne le contenu du LOB au lieu de leur descripteur.

Le mode par défaut est OCI_BOTH.

Utilisez l'opérateur d'addition "+" pour spécifier plus d'un mode à la fois.

Valeurs de retour

Retourne un tableau avec des indices numériques ou associatifs. S'il n'y a plus de ligne de disponible pour la requête statement alors FALSE sera retourné.

Par défaut, les colonnes LOB sont retournées sous la forme de descripteurs LOB.

Les colonnes DATE sont retournées sous la forme d'une chaîne formattée avec le format de date courante. Le format par défaut peut être modifié grâce aux variables d'environnement Oracle, comme NLS_LANG ou par l'exécution de la commande ALTER SESSION SET NLS_DATE_FORMAT.

Les noms de colonnes qui ne sont pas sensibles à la casse (par défaut sous Oracle), auront des noms d'attributs en majuscule. Les noms de colonnes qui sont sensibles à la casse, auront des noms d'attributs utilisant exactement la même casse de la colonne. Utilisez la fonction var_dump() sur l'objet de résultat pour vérifier la casse appropriée à utiliser pour chaque requête.

Exemples

Exemple #1 Exemple avec oci_fetch_array() avec OCI_BOTH

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_BOTH))) {
    // Utilisez des noms de colonne en majuscule pour les indices des tableau associatif
    echo $row[0] . " and " . $row['DEPARTMENT_ID']   . " are the same<br>\n";
    echo $row[1] . " and " . $row['DEPARTMENT_NAME'] . " are the same<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Exemple avec oci_fetch_array() avec OCI_NUM

<?php

/*
  Avant l'exécution, créez la table :
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_NUM))) {
    echo $row[0] . "<br>\n";
    echo $row[1]->read(11) . "<br>\n"; // ceci affichera les 11 premiers octets depuis DESCRIPTION
}

// Affiche :
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #3 Exemple avec oci_fetch_array() avec OCI_ASSOC

<?php

/*
  Avant l'exécution, créez la table :
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION']->read(11) . "<br>\n"; // ceci affichera les 11 premiers octets depuis DESCRIPTION
}

// Affiche :
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #4 Exemple avec oci_fetch_array() avec OCI_RETURN_NULLS

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC))) { // Ignore NULLs
    var_dump($row);
}

/*
Le code ci-dessus affiche :
  array(1) {
    [1]=>
    string(1) "1"
  }
*/

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC+OCI_RETURN_NULLS))) { // Récupère NULLs
    var_dump($row);
}

/*
Le code ci-dessus affiche :
  array(2) {
    [1]=>
    string(1) "1"
    ["NULL"]=>
    NULL
  }
*/

?>

Exemple #5 oci_fetch_array() with OCI_RETURN_LOBS

<?php

/*
  Avant l'exécution, créez la table :
      CREATE TABLE mytab (id NUMBER, description CLOB);
      INSERT INTO mytab (id, description) values (1, 'A very long string');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS))) {
    echo $row['ID'] . "<br>\n";
    echo $row['DESCRIPTION'] . "<br>\n"; // contient la totalité de DESCRIPTION
}

// Affiche :
//    1
//    A very long string

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #6 Exemple avec oci_fetch_array() avec des noms de colonnes sensibles à la casse

<?php

/*
   Avant l'exécution, créez la table :
      CREATE TABLE mytab ("Name" VARCHAR2(20), city VARCHAR2(20));
      INSERT INTO mytab ("Name", city) values ('Chris', 'Melbourne');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);

// Vu que 'Name' a été créé comme une colonne sensible à la casse, la même casse
// est utilisé pour les index du tableau. Cependant, 'CITY' doit être utilisé
// pour les index de colonne non sensible à la casse
print $row['Name'] . "<br>\n";   //  affiche Chris
print $row['CITY'] . "<br>\n";   //  affiche Melbourne

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #7 Exemple avec oci_fetch_array() avec des colonnes possédant des noms dupliqués

<?php

/*
  Avant l'exécution, créez la table :
      CREATE TABLE mycity (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycity (id, name) values (1, 'Melbourne');
      CREATE TABLE mycountry (id NUMBER, name VARCHAR2(20));
      INSERT INTO mycountry (id, name) values (1, 'Australia');
      COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT mycity.name, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// L'affiche ne contient que UNE entrée "NAME" :
//    array(1) {
//      ["NAME"]=>
//      string(9) "Australia"
//    }

// Pour interroger un nom de colonne dupliqué, utilisez un alias de colonne SQL
// comme "AS ctnm":
$sql = 'SELECT mycity.name AS ctnm, mycountry.name
        FROM mycity, mycountry
        WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// L'affichage contient maintenant 2 colonnes :
//    array(2) {
//      ["CTNM"]=>
//      string(9) "Melbourne"
//      ["NAME"]=>
//      string(9) "Australia"
//    }

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #8 Exemple avec oci_fetch_array() et des colonnes DATE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Définit le format utilisé pour les dates sur cette connexion.
// Pour des raisons de performance, vous devriez modifier le format via un trigger ou
// en utilisant les variables d'environnement
$stid = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'");
oci_execute($stid);

$stid = oci_parse($conn, 'SELECT hire_date FROM employees WHERE employee_id = 188');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['HIRE_DATE'] . "<br>\n";  // Affiche 1997-06-14

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #9 Exemple avec oci_fetch_array() et REF CURSOR

<?php
/*
  Créez la procédure stockée PL/SQL suivante avant l'exécution :

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Exécute le REF CURSOR retourné et y récupère un identifiant de requête
oci_execute($refcur);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Exemple #10 Exemple avec oci_fetch_array() et un paramètre LIMIT

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// This is the query you want to execute
$sql = 'SELECT city, postal_code FROM locations ORDER BY city';

// Cette requête imbriquée sélectionne une sous partie du jeu de lignes depuis $sql.
// En environnement de production, assurez-vous de vous protéger des injections SQL
// en concaténant les requêtes SQL
$limit_sql =
   'select *
    from ( select a.*, rownum as rnum
        from (' . $sql . ') a
        where rownum < :FIRST_ROW + :NUM_ROWS )
    where rnum >= :FIRST_ROW';

$first = 1;  //commence à la première ligne
$num   = 5;  // retourne 5 lignes
$stid = oci_parse($conn, $limit_sql);
oci_bind_by_name($stid, ':FIRST_ROW', $first);
oci_bind_by_name($stid, ':NUM_ROWS', $num);
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
    echo $row['CITY'] . " " . $row['POSTAL_CODE'] . "<br>\n";
}

// Affiche :
//    Beijing 190518x
//    Bern 3095x
//    Bombay 490231x
//    Geneva 1730x
//    Hiroshima 6823x

oci_free_statement($stid);
oci_close($conn);

?>

Notes

Note: Les indices des tableaux associatifs doivent être en majuscule pour les colonnes standards Oracle qui ont été créée avec des noms sensibles à la casse.

Note: Pour les requêtes retournant un très grand nombre de lignes, les performances peuvent être très grandement accrues en augmentant la valeur de l'option oci8.default_prefetch ou en utilisant la fonction oci_set_prefetch().

Note: La fonction oci_fetch_array() est significativement plus lente que la fonction oci_fetch_assoc() ou oci_fetch_row(), mais est plus flexible.

Voir aussi

  • oci_fetch() - Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_fetch_all() - Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
  • oci_fetch_assoc() - Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_object() - Lit une ligne d'un résultat sous forme d'objet
  • oci_fetch_row() - Lit la prochaine ligne d'une requête sous forme de tableau numérique
  • oci_set_prefetch() - Indique le nombre de lignes qui doivent être lues à l'avance par Oracle

oci_fetch_all
oci_fetch_assoc
Fonctions OCI8


Lit une ligne d'un résultat sous forme de tableau associatif

oci_fetch_array
oci_fetch_object
Fonctions OCI8
PHP Manual

oci_fetch_assoc

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_assoc — Lit une ligne d'un résultat sous forme de tableau associatif

Description

array oci_fetch_assoc ( resource $statement )

Retourne un tableau associatif contenant la prochaine ligne de résultat d'une requête. Chaque élément du tableau correspond à une colonne de la ligne. Cette fonction est appelé typiquement dans une boucle tant qu'elle ne retourne pas FALSE, indiquant qu'il n'y a plus de ligne de disponible.

oci_fetch_assoc() est identique à la fonction oci_fetch_array() et le mode OCI_ASSOC + OCI_RETURN_NULLS.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

Valeurs de retour

Retourne un tableau associatif ou FALSE s'il n'y a plus de ligne de diponible pour la requête statement.

Notes

Note: Voir oci_fetch_array() pour des exemples sur la récupération de lignes.

Voir aussi

  • oci_fetch() - Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_fetch_all() - Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
  • oci_fetch_array() - Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_object() - Lit une ligne d'un résultat sous forme d'objet
  • oci_fetch_row() - Lit la prochaine ligne d'une requête sous forme de tableau numérique

oci_fetch_array
oci_fetch_object
Fonctions OCI8


Lit une ligne d'un résultat sous forme d'objet

oci_fetch_assoc
oci_fetch_row
Fonctions OCI8
PHP Manual

oci_fetch_object

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_object — Lit une ligne d'un résultat sous forme d'objet

Description

object oci_fetch_object ( resource $statement )

Retourne un objet contenant la prochaine ligne de résultat d'une requête. Chaque attribut de cet objet correspond à une colonne de la ligne. Cette fonction est appelé typiquement dans une boucle tant qu'elle ne retourne pas FALSE, indiquant qu'il n'y a plus de lignes de disponible.

Pour plus de détails sur le mapping des types de données effectué par l'extension OCI8, lisez les types de données supportés par le driver.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

Valeurs de retour

Retourne un objet. Chaque attribut de cet objet correspond à une colonne de la ligne. Si'il n'y a plus de lignes de disponible dans la requête statement alors FALSE est retourné.

Toutes les colonnes LOB sont retournées sous la forme de descripteurs LOB.

Les colonnes DATE sont retournées sous forme de chaînes formattées avec le format de date courante. Le format par défaut peut être changé à l'aide des variables d'environnement Oracle, comme NLS_LANG ou en exécutant la commande ALTER SESSION SET NLS_DATE_FORMAT.

Les noms de colonnes qui ne sont pas sensibles à la casse (par défaut sous Oracle), auront des noms d'attributs en majuscule. Les noms de colonnes qui sont sensibles à la casse, auront des noms d'attributs utilisant exactement la même casse de la colonne. Utilisez la fonction var_dump() sur l'objet de résultat pour vérifier la casse appropriée à utiliser pour chaque requête.

Les valeurs d'attribut seront NULL pour chaque champ de données NULL.

Exemples

Exemple #1 Exemple avec oci_fetch_object()

<?php

/*
  Avant l'exécution, créez la table :
    CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
    INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid))) {
    // Utilisez des noms d'attributs sensibles à la casse pour chaque colonne standart Oracle
    echo $row->ID . "<br>\n";
    echo $row->DESCRIPTION . "<br>\n";
}

// Affiche :
//    1
//    Fish and Chips

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Exemple avec oci_fetch_object() avec des noms de colonne sensibles à la casse

<?php

/*
  Avant l'exécution, créez la tableau avec une colonne dont le nom est sensible à la casse :
    CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
    INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid))) {
    // Utilisez des noms d'attributs en majuscule pour chaque colonne Oracle standart
    echo $row->ID . "<br>\n";
    // Utilisez la casse exacte pour les noms de colonnes sensibles à la casse
    echo $row->MyDescription . "<br>\n";
}

// Affiche :
//    1
//    Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #3 Exemple avec oci_fetch_object() avec des LOBs

<?php

/*
  Avant l'exécution, créez la table :
    CREATE TABLE mytab (id NUMBER, description CLOB);
    INSERT INTO mytab (id, description) values (1, 'A very long string');
    COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid))) {
    echo $row->ID . "<br>\n";
    // Ce qui suit affichera les 11 premiers octets depuis DESCRIPTION
    echo $row->DESCRIPTION->read(11) . "<br>\n";
}

// Affiche :
//    1
//    A very long

oci_free_statement($stid);
oci_close($conn);

?>

Voir aussi

  • oci_fetch() - Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_fetch_all() - Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
  • oci_fetch_assoc() - Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_array() - Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_row() - Lit la prochaine ligne d'une requête sous forme de tableau numérique

oci_fetch_assoc
oci_fetch_row
Fonctions OCI8


Lit la prochaine ligne d'une requête sous forme de tableau numérique

oci_fetch_object
oci_fetch
Fonctions OCI8
PHP Manual

oci_fetch_row

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_row — Lit la prochaine ligne d'une requête sous forme de tableau numérique

Description

array oci_fetch_row ( resource $statement )

Retourne un tableau indexé numériquement contenant la prochaine ligne d'une requête. Chaque élément de ce tableau correspond à une colonne de la ligne. Cette fonction est appelé typiquement dans une boucle tant qu'elle ne retourne pas FALSE, indiquant qu'il n'y a plus de lignes de disponible.

oci_fetch_row() est identique à la fonction oci_fetch_array() et le mode OCI_NUM + OCI_RETURN_NULLS.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

Valeurs de retour

Retourne un tableau indexé numériquement. S'il n'y a plus de lignes de disponible pour la requête statement alors FALSE sera retourné.

Notes

Note: Voir oci_fetch_array() pour des exemples sur la récupération de lignes.

Voir aussi

  • oci_fetch() - Lit la prochaine ligne d'un résultat Oracle dans un buffer interne
  • oci_fetch_all() - Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
  • oci_fetch_array() - Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_assoc() - Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_object() - Lit une ligne d'un résultat sous forme d'objet

oci_fetch_object
oci_fetch
Fonctions OCI8


Lit la prochaine ligne d'un résultat Oracle dans un buffer interne

oci_fetch_row
oci_field_is_null
Fonctions OCI8
PHP Manual

oci_fetch

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch — Lit la prochaine ligne d'un résultat Oracle dans un buffer interne

Description

bool oci_fetch ( resource $statement )

Lit la prochaine ligne d'une requête dans un buffer interne accessible soit via la fonction oci_result(), soit en utilisant les variables précédemment définies avec la fonction oci_define_by_name().

Voir la fonction oci_fetch_array() pour des informations génériques sur la récupération de données.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE s'il n'y a plus de lignes de disponible pour la requête statement.

Exemples

Exemple #1 Exemple avec oci_fetch() avec des variables définies

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// La définition doit s'effectuer AVANT l'exécution
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Chaque récupération utilise les variables précédemment définies avec les données de la prochaine ligne
while (oci_fetch($stid)) {
    echo "Location id $locid is $city<br>\n";
}

// Affiche :
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Exemple avec oci_fetch() et oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
    echo oci_result($stid, 'LOCATION_ID') . " is ";
    echo oci_result($stid, 'CITY') . "<br>\n";
}

// Affiche :
//   1000 is Roma
//   1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocifetch(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_define_by_name() - Associe une variable PHP avec une colonne pour une requête de récupération de données
  • oci_fetch_all() - Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel
  • oci_fetch_array() - Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_assoc() - Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_object() - Lit une ligne d'un résultat sous forme d'objet
  • oci_fetch_row() - Lit la prochaine ligne d'une requête sous forme de tableau numérique
  • oci_result() - Retourne la valeur d'une colonne dans un résultat Oracle

oci_fetch_row
oci_field_is_null
Fonctions OCI8


Test si la valeur d'une colonne Oracle est NULL

oci_fetch
oci_field_name
Fonctions OCI8
PHP Manual

oci_field_is_null

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_is_null — Test si la valeur d'une colonne Oracle est NULL

Description

bool oci_field_is_null ( resource $statement , mixed $field )

Vérifie si le champ field donné, depuis la requête statement est NULL.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être un index de champ ou le nom d'un champ (en majuscule).

Valeurs de retour

Retourne TRUE si field vaut NULL, FALSE sinon.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnisnull(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_is_null(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_fetch
oci_field_name
Fonctions OCI8


Retourne le nom d'un champ Oracle

oci_field_is_null
oci_field_precision
Fonctions OCI8
PHP Manual

oci_field_name

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_name — Retourne le nom d'un champ Oracle

Description

string oci_field_name ( resource $statement , int $field )

Retourne le nom du champ field.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être un index de champ (en commençant à 1) ou un nom de champ.

Valeurs de retour

Retourne le nom, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_field_name()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Nom</th>";
echo "<th>Type</th>";
echo "<th>Taille</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";
oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnname(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_name(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_num_fields() - Retourne le nombre de colonnes dans un résultat Oracle
  • oci_field_type() - Retourne le type de données d'un champ Oracle
  • oci_field_size() - Retourne la taille d'un champ Oracle

oci_field_is_null
oci_field_precision
Fonctions OCI8


Lit la précision d'un champ Oracle

oci_field_name
oci_field_scale
Fonctions OCI8
PHP Manual

oci_field_precision

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_precision — Lit la précision d'un champ Oracle

Description

int oci_field_precision ( resource $statement , int $field )

Retourne la précision du champ field.

Pour les colonnes de type FLOAT, la précision et non nulle, et l'échelle est de -127. Si la précision est 0, alors la colonne est de type NUMBER. Sinon, elle est de type NUMBER(precision, scale).

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être un index de champ (en commençant à 1) ou un nom de champ.

Valeurs de retour

Retourne la précision, sous la forme d'un entier, ou FALSE si une erreur survient.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnprecision(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_precision(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_field_scale() - Lit l'échelle d'une colonne Oracle
  • oci_field_type() - Retourne le type de données d'un champ Oracle

oci_field_name
oci_field_scale
Fonctions OCI8


Lit l'échelle d'une colonne Oracle

oci_field_precision
oci_field_size
Fonctions OCI8
PHP Manual

oci_field_scale

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_scale — Lit l'échelle d'une colonne Oracle

Description

int oci_field_scale ( resource $statement , int $field )

Lit l'échelle d'une colonne Oracle.

Pour les colonnes de type FLOAT, la précision et non nulle, et l'échelle est de -127. Si la précision est 0, alors la colonne est de type NUMBER. Sinon, elle est de type NUMBER(precision, scale).

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être un index de champ (en commençant à 1) ou le nom d'un champ.

Valeurs de retour

Retourne l'échelle, sous la forme d'un entier, ou FALSE si une erreur survient.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnscale(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_scale(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_field_precision() - Lit la précision d'un champ Oracle
  • oci_field_type() - Retourne le type de données d'un champ Oracle

oci_field_precision
oci_field_size
Fonctions OCI8


Retourne la taille d'un champ Oracle

oci_field_scale
oci_field_type_raw
Fonctions OCI8
PHP Manual

oci_field_size

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_size — Retourne la taille d'un champ Oracle

Description

int oci_field_size ( resource $statement , mixed $field )

Retourne la taille du champ field Oracle .

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être l'index du champ (l'indexation commence à 1) ou le nom du champ.

Valeurs de retour

Retourne la taille du champ field en octets, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_field_size()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);
    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>";

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnprecision(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_precision(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_num_fields() - Retourne le nombre de colonnes dans un résultat Oracle
  • oci_field_name() - Retourne le nom d'un champ Oracle

oci_field_scale
oci_field_type_raw
Fonctions OCI8


Lit directement le type de colonne Oracle

oci_field_size
oci_field_type
Fonctions OCI8
PHP Manual

oci_field_type_raw

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_type_raw — Lit directement le type de colonne Oracle

Description

int oci_field_type_raw ( resource $statement , int $field )

Lit directement le type de colonne Oracle.

Cependant, si vous souhaitez avoir le type de colonne, oci_field_type() sera plus adapté.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être l'index d'un champ (en commençant à 1) ou le nom d'un champ.

Valeurs de retour

Retourne le type brut de données Oracle, pour le champ, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumntyperaw(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_type_raw(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_field_size
oci_field_type
Fonctions OCI8


Retourne le type de données d'un champ Oracle

oci_field_type_raw
oci_free_statement
Fonctions OCI8
PHP Manual

oci_field_type

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_type — Retourne le type de données d'un champ Oracle

Description

mixed oci_field_type ( resource $statement , int $field )

Retourne le type de données d'un champ.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être l'index du champ (l'indexation commence à 1) ou le nom.

Valeurs de retour

Retourne le type de données d'un champ, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Valeurs de retour

Exemple #1 Exemple avec oci_field_type()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumntype(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_type(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_num_fields() - Retourne le nombre de colonnes dans un résultat Oracle
  • oci_field_name() - Retourne le nom d'un champ Oracle
  • oci_field_size() - Retourne la taille d'un champ Oracle

oci_field_type_raw
oci_free_statement
Fonctions OCI8


Libère toutes les ressources réservées par un résultat Oracle

oci_field_type
oci_internal_debug
Fonctions OCI8
PHP Manual

oci_free_statement

(PHP 5, PECL OCI8 >= 1.1.0)

oci_free_statement — Libère toutes les ressources réservées par un résultat Oracle

Description

bool oci_free_statement ( resource $statement )

Libère toutes les ressources réservées par le résultat ou curseur Oracle statement. Ce dernier a été obtenu de la fonction oci_parse(), ou directement de Oracle.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

oci_field_type
oci_internal_debug
Fonctions OCI8


Active ou désactive l'affichage des données de déboguage Oracle

oci_free_statement
OCI-Lob->append
Fonctions OCI8
PHP Manual

oci_internal_debug

(PHP 5, PECL OCI8 >= 1.1.0)

oci_internal_debug — Active ou désactive l'affichage des données de déboguage Oracle

Description

void oci_internal_debug ( bool $onoff )

Active ou désactive l'affichage des données de déboguage Oracle.

Liste de paramètres

onoff

Définissez ce paramètre à 0 pour désactiver l'affichage, ou à 1 pour l'activer.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociinternaldebug(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_internal_debug(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_free_statement
OCI-Lob->append
Fonctions OCI8


Ajoute des données à un LOB Oracle

oci_internal_debug
OCI-Lob->close
Fonctions OCI8
PHP Manual

OCI-Lob->append

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->append — Ajoute des données à un LOB Oracle

Description

OCI-Lob
bool append ( OCI-Lob $lob_from )

Ajoute des données à un LOB Oracle.

L'écriture dans un LOB avec OCI-Lob->append() échouera si la bufferisation a été préalablement activée. Vous devez désactiver la bufferisation avant d'ajouter des données. Vous aurez peut être à vider les buffers avec la fonction OCI-Lob->flush avant de la désactiver.

Liste de paramètres

lob_from

Le LOB copié.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->flush
  • OCI-Lob->setBuffering
  • OCI-Lob->getBuffering

oci_internal_debug
OCI-Lob->close
Fonctions OCI8


Ferme un LOB Oracle

OCI-Lob->append
oci_lob_copy
Fonctions OCI8
PHP Manual

OCI-Lob->close

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->close — Ferme un LOB Oracle

Description

OCI-Lob
bool close ( void )

Ferme un LOB Oracle. Cette fonction doit être utilisée uniquement avec OCI-Lob->writeTemporary.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->writeTemporary

OCI-Lob->append
oci_lob_copy
Fonctions OCI8


Copie un LOB Oracle

OCI-Lob->close
OCI-Lob->eof
Fonctions OCI8
PHP Manual

oci_lob_copy

(PHP 5, PECL OCI8 >= 1.1.0)

oci_lob_copy — Copie un LOB Oracle

Description

bool oci_lob_copy ( OCI-Lob $lob_to , OCI-Lob $lob_from [, int $length = 0 ] )

Copie un LOB ou une partie d'un LOB vers un autre LOB.Les anciennes données du LOB de destination seront écrasées par les nouvelles.

Si vous devez copier une partie spécifique d'un LOB vers une position particulière d'un LOB, utilisez la fonction oci_lob_seek() pour déplacer le pointeur interne de LOB.

Liste de paramètres

lob_to

Le LOB de destination.

lob_from

Le LOB copié.

length

Indique la taille des données à copier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

OCI-Lob->close
OCI-Lob->eof
Fonctions OCI8


Test la fin du LOB Oracle

oci_lob_copy
OCI-Lob->erase
Fonctions OCI8
PHP Manual

OCI-Lob->eof

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->eof — Test la fin du LOB Oracle

Description

OCI-Lob
bool eof ( void )

Vérifie si le pointeur interne d'un LOB est à la fin.

Valeurs de retour

Retourne TRUE si le pointeur interne de LOB a atteint la fin du LOB, et FALSE sinon.

Voir aussi

  • OCI-Lob->size

oci_lob_copy
OCI-Lob->erase
Fonctions OCI8


Écrase une partie d'un LOB Oracle

OCI-Lob->eof
OCI-Lob->export
Fonctions OCI8
PHP Manual

OCI-Lob->erase

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->erase — Écrase une partie d'un LOB Oracle

Description

OCI-Lob
int erase ([ int $offset [, int $length ]] )

Écrase la partie du LOB Oracle commençant à l'offset offset, sur la longueur de length octets.

Pour les BLOB, l'effacement signifie que la valeur existante du LOB est remplacée par le caractère 0. Pour les CLOB, ce sont des espaces.

Liste de paramètres

offset

length

Valeurs de retour

Retourne le nombre de caractères/octets effacés ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->truncate

OCI-Lob->eof
OCI-Lob->export
Fonctions OCI8


Exporte un LOB Oracle dans un fichier

OCI-Lob->erase
OCI-Lob->flush
Fonctions OCI8
PHP Manual

OCI-Lob->export

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->export — Exporte un LOB Oracle dans un fichier

Description

OCI-Lob
bool export ( string $filename [, int $start [, int $length ]] )

Exporte un LOB Oracle dans un fichier.

Liste de paramètres

filename

Le chemin vers le fichier.

start

Indique la position à partir de laquelle l'on doit commencer à exporter.

length

Indique la taille des données à exporter.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->import

OCI-Lob->erase
OCI-Lob->flush
Fonctions OCI8


Écrit les LOB Oracle sur le disque

OCI-Lob->export
OCI-Lob->free
Fonctions OCI8
PHP Manual

OCI-Lob->flush

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->flush — Écrit les LOB Oracle sur le disque

Description

OCI-Lob
bool flush ([ int $flag ] )

Écrit les LOB Oracle sur le disque.

Liste de paramètres

flag

Par défaut, les ressources ne sont pas libérées, mais en utilisant l'option flag avec la valeur OCI_LOB_BUFFER_FREE, vous pouvez le faire explicitement. Assurez-vous de bien savoir ce que vous faites : la prochaine lecture ou écriture dans le même LOB demandera alors une requête au serveur, et la réinitialisation des ressources. Il est recommandé d'utiliser l'option OCI_LOB_BUFFER_FREE uniquement si vous n'avez plus besoin du LOB.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Retourne FALSE si la bufferisation n'a pas été activée, ou si une erreur est survenue.

Voir aussi

  • OCI-Lob->getBuffering
  • OCI-Lob->setBuffering

OCI-Lob->export
OCI-Lob->free
Fonctions OCI8


Détruit un pointeur de LOB Oracle

OCI-Lob->flush
OCI-Lob->getBuffering
Fonctions OCI8
PHP Manual

OCI-Lob->free

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->free — Détruit un pointeur de LOB Oracle

Description

OCI-Lob
bool free ( void )

Libère les ressources associées avec la ressource, précédemment alloué avec oci_new_descriptor().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

OCI-Lob->flush
OCI-Lob->getBuffering
Fonctions OCI8


Retourne l'état de bufferisation LOB d'Oracle

OCI-Lob->free
OCI-Lob->import
Fonctions OCI8
PHP Manual

OCI-Lob->getBuffering

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->getBuffering — Retourne l'état de bufferisation LOB d'Oracle

Description

OCI-Lob
bool getBuffering ( void )

Retourne l'état de bufferisation LOB d'Oracle.

Valeurs de retour

Retourne FALSE si la bufferisation des LOB est désactivée, et TRUE si elle l'est.

Voir aussi

  • OCI-Lob->setBuffering

OCI-Lob->free
OCI-Lob->import
Fonctions OCI8


Importe un fichier dans LOB Oracle

OCI-Lob->getBuffering
oci_lob_is_equal
Fonctions OCI8
PHP Manual

OCI-Lob->import

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->import — Importe un fichier dans LOB Oracle

Description

OCI-Lob
bool import ( string $filename )

Écrit les données du fichier filename dans le LOB, à partir de la position courante.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->export
  • OCI-Lob->write

OCI-Lob->getBuffering
oci_lob_is_equal
Fonctions OCI8


Compare deux LOB/FILE Oracle

OCI-Lob->import
OCI-Lob->load
Fonctions OCI8
PHP Manual

oci_lob_is_equal

(PHP 5, PECL OCI8 >= 1.1.0)

oci_lob_is_equal — Compare deux LOB/FILE Oracle

Description

bool oci_lob_is_equal ( OCI-Lob $lob1 , OCI-Lob $lob2 )

Compare deux LOB/FILE Oracle.

Liste de paramètres

lob1

Un identifiant LOB.

lob2

Un identifiant LOB.

Valeurs de retour

Retourne TRUE si ces objets sont égaux, FALSE sinon.

OCI-Lob->import
OCI-Lob->load
Fonctions OCI8


Retourne le contenu d'un LOB

oci_lob_is_equal
OCI-Lob->read
Fonctions OCI8
PHP Manual

OCI-Lob->load

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->load — Retourne le contenu d'un LOB

Description

OCI-Lob
string load ( void )

Lit le contenu d'un LOB Oracle. Le script peut être interrompu à cause de memory_limit, si ce dernier dépasse la limite. Dans la plupart des cas, il est recommandé d'utiliser la fonction OCI-Lob->read à la place. En cas d'erreur, OCI-Lob->load() retourne FALSE.

Valeurs de retour

Retourne le contenu de l'objet, ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->read

oci_lob_is_equal
OCI-Lob->read
Fonctions OCI8


Lit une partie d'un LOB Oracle

OCI-Lob->load
OCI-Lob->rewind
Fonctions OCI8
PHP Manual

OCI-Lob->read

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->read — Lit une partie d'un LOB Oracle

Description

OCI-Lob
string read ( int $length )

Lit length octets à partir de la position courante du LOB.

La lecture stoppe lorsque length ont été lus, ou que la fin du LOB a été atteinte. Le pointeur de LOB sera déplacé par cette lecture.

Liste de paramètres

length

La taille des données à lire, en octets.

Valeurs de retour

Retourne le contenu, sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->load
  • OCI-Lob->write

OCI-Lob->load
OCI-Lob->rewind
Fonctions OCI8


Ramène le pointeur interne d'un LOB Oracle au début

OCI-Lob->read
OCI-Lob->save
Fonctions OCI8
PHP Manual

OCI-Lob->rewind

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->rewind — Ramène le pointeur interne d'un LOB Oracle au début

Description

OCI-Lob
bool rewind ( void )

Ramène le pointeur interne d'un LOB Oracle au début.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->seek
  • OCI-Lob->tell

OCI-Lob->read
OCI-Lob->save
Fonctions OCI8


Sauvegarde des données dans un LOB Oracle

OCI-Lob->rewind
OCI-Lob->saveFile
Fonctions OCI8
PHP Manual

OCI-Lob->save

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->save — Sauvegarde des données dans un LOB Oracle

Description

OCI-Lob
bool save ( string $data [, int $offset ] )

Sauvegarde des données dans un LOB Oracle.

Liste de paramètres

data

Les données à sauvegarder.

offset

Peut être utilisé pour indiquer la position depuis le début du LOB.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->write
  • OCI-Lob->import

OCI-Lob->rewind
OCI-Lob->saveFile
Fonctions OCI8


Alias de oci_lob_import

OCI-Lob->save
OCI-Lob->seek
Fonctions OCI8
PHP Manual

OCI-Lob->saveFile

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->saveFile — Alias de oci_lob_import()

Description

Cette fonction est un alias de : oci_lob_import().

OCI-Lob->save
OCI-Lob->seek
Fonctions OCI8


Déplace le pointeur interne d'un LOB Oracle

OCI-Lob->saveFile
OCI-Lob->setBuffering
Fonctions OCI8
PHP Manual

OCI-Lob->seek

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->seek — Déplace le pointeur interne d'un LOB Oracle

Description

OCI-Lob
bool seek ( int $offset [, int $whence = OCI_SEEK_SET ] )

Déplace le pointeur interne d'un LOB Oracle.

Liste de paramètres

offset

Indique la distance de déplacement. Le type de déplacement est spécifié avec whence.

whence

Peut être une constante parmi :

  • OCI_SEEK_SET - déplace le pointeur à la position offset.
  • OCI_SEEK_CUR - ajoute offset octets à la position courante.
  • OCI_SEEK_END - ajoute offset octets à la fin du LOB (utilisez une valeur négative pour obtenir une position avant la fin du LOB).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->rewind
  • OCI-Lob->tell
  • OCI-Lob->eof

OCI-Lob->saveFile
OCI-Lob->setBuffering
Fonctions OCI8


Active/désactive la bufferisation des LOB Oracle

OCI-Lob->seek
OCI-Lob->size
Fonctions OCI8
PHP Manual

OCI-Lob->setBuffering

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->setBuffering — Active/désactive la bufferisation des LOB Oracle

Description

OCI-Lob
bool setBuffering ( bool $on_off )

Active ou désactive la bufferisation des LOB Oracle, en fonction du paramètre on_off.

Utiliser cette fonction apporte des améliorations de performances par bufferisation des petites lectures et écritures de LOB : le buffer limite les allers/retours avec le serveur. oci_lob_flush() doit être utilisé pour vider les buffers une fois que vous avez fini de travailler avec le LOB.

Liste de paramètres

on_off

TRUE pour l'activer, et FALSE pour le désactiver.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Des appels répétés à lob->setbuffering() avec la même valeur de paramètre renverra toujours TRUE.

Voir aussi

  • OCI-Lob->getBuffering

OCI-Lob->seek
OCI-Lob->size
Fonctions OCI8


Retourne la taille d'un LOB Oracle

OCI-Lob->setBuffering
OCI-Lob->tell
Fonctions OCI8
PHP Manual

OCI-Lob->size

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->size — Retourne la taille d'un LOB Oracle

Description

OCI-Lob
int size ( void )

Retourne la taille d'un LOB Oracle.

Valeurs de retour

Retourne la taille du LOB ou FALSE si une erreur survient. Les objets vides ont une taille de 0.

OCI-Lob->setBuffering
OCI-Lob->tell
Fonctions OCI8


Retourne la position courante du pointeur de LOB

OCI-Lob->size
OCI-Lob->truncate
Fonctions OCI8
PHP Manual

OCI-Lob->tell

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->tell — Retourne la position courante du pointeur de LOB

Description

OCI-Lob
int tell ( void )

Retourne la position courante du pointeur de LOB.

Valeurs de retour

Retourne la position courante du pointeur interne du LOB, ou bien FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->rewind
  • OCI-Lob->size
  • OCI-Lob->eof

OCI-Lob->size
OCI-Lob->truncate
Fonctions OCI8


Tronque un LOB Oracle

OCI-Lob->tell
OCI-Lob->write
Fonctions OCI8
PHP Manual

OCI-Lob->truncate

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->truncate — Tronque un LOB Oracle

Description

OCI-Lob
bool truncate ([ int $length = 0 ] )

Tronque un LOB Oracle.

Liste de paramètres

length

Si length est fourni, OCI-Lob->truncate() tronque le LOB à length octets. Sinon, OCI-Lob->truncate() va purger complètement le LOB.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->erase

OCI-Lob->tell
OCI-Lob->write
Fonctions OCI8


Écrit des données dans un LOB Oracle

OCI-Lob->truncate
OCI-Lob->writeTemporary
Fonctions OCI8
PHP Manual

OCI-Lob->write

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->write — Écrit des données dans un LOB Oracle

Description

OCI-Lob
int write ( string $data [, int $length ] )

Écrit les données de la variable data à la position courante du LOB.

Liste de paramètres

data

Les données à écrire dans le LOB.

length

Si ce paramètre est fourni, l'écriture s'arrêtera après length octets, ou à la fin de la variable data.

Valeurs de retour

Retourne le nombre d'octets écrits ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->read

OCI-Lob->truncate
OCI-Lob->writeTemporary
Fonctions OCI8


Écrit un LOB Oracle temporaire

OCI-Lob->write
OCI-Lob->writeToFile
Fonctions OCI8
PHP Manual

OCI-Lob->writeTemporary

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->writeTemporary — Écrit un LOB Oracle temporaire

Description

OCI-Lob
bool writeTemporary ( string $data [, int $lob_type = OCI_TEMP_CLOB ] )

Crée un LOB temporaire et y écrit les données data.

Il faut utiliser la fonction OCI-Lob->close lorsque vous avez fini de travailler avec le LOB.

Liste de paramètres

data

Les données à écrire.

lob_type

Peut prendre l'une des valeurs suivantes :

  • OCI_TEMP_BLOB sert à créer un BLOB temporaire.
  • OCI_TEMP_CLOB sert à créer un CLOB temporaire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OCI-Lob->close

OCI-Lob->write
OCI-Lob->writeToFile
Fonctions OCI8


Alias de oci_lob_export

OCI-Lob->writeTemporary
oci_new_collection
Fonctions OCI8
PHP Manual

OCI-Lob->writeToFile

(PHP 5, PECL OCI8 >= 1.1.0)

OCI-Lob->writeToFile — Alias de oci_lob_export()

Description

Cette fonction est un alias de : oci_lob_export().

OCI-Lob->writeTemporary
oci_new_collection
Fonctions OCI8


Initialise une nouvelle collection Oracle

OCI-Lob->writeToFile
oci_new_connect
Fonctions OCI8
PHP Manual

oci_new_collection

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_collection — Initialise une nouvelle collection Oracle

Description

OCI-Collection oci_new_collection ( resource $connection , string $tdo [, string $schema = NULL ] )

Initialise une nouvelle collection Oracle.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect() ou la fonction oci_pconnect().

tdo

Doit être un type nommé valide (en majuscule).

schema

Doit pointer sur le schéma de base de données, où le type a été créé. Le nom de l'utilisateur courant est la valeur par défaut.

Valeurs de retour

Retourne un nouvel objet OCICollection, ou FALSE si une erreur survient. error.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinewcollection(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_collection(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

OCI-Lob->writeToFile
oci_new_connect
Fonctions OCI8


Connexion au serveur Oracle en utilisant une seule connexion

oci_new_collection
oci_new_cursor
Fonctions OCI8
PHP Manual

oci_new_connect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_connect — Connexion au serveur Oracle en utilisant une seule connexion

Description

resource oci_new_connect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Établit une nouvelle connexion au serveur Oracle et s'identifie.

Contrairement aux fonctions oci_connect() et oci_pconnect(), oci_new_connect() ne met pas en cache les connexions et retourne toujours un gestionnaire de connexion nouvellement ouvert. Ceci est très utile si votre application a besoin d'une isolation transactionnelle entre deux jeux de requêtes.

Liste de paramètres

username

Le nom d'utilisateur Oracle.

password

Le mot de passe pour l'utilisateur.

connection_string

Contient l'instance Oracle sur laquelle nous devons nous connecter. Ce peut être une » chaîne de connexion rapide, un nom de connexion issue du fichier tnsnames.ora, ou le nom d'une instance locale Oracle.

Si non spécifié, PHP utilise des variables d'environnement comme TWO_TASK (sous Linux) ou LOCAL (sous Windows) et ORACLE_SID pour déterminer l'instance Oracle sur laquelle nous devons nous connecter.

Pour utiliser la méthode de connexion rapide, PHP doit être lié avec la bibliothèque cliente Oracle 10g ou supérieur. La chaîne de connexion rapide pour Oracle 10g ou supérieur est de la forme : [//]host_name[:port][/service_name]. Avec Oracle 11g, la syntaxe est : [//]host_name[:port][/service_name][:server_type][/instance_name]. Les noms des services peuvent être trouvés en exécutant l'utilitaire Oracle lsnrctl status sur la machine exécutant la base de données.

Le fichier tnsnames.ora peut être dans le chemin de recherche d'Oracle Net, qui inclut $ORACLE_HOME/network/admin et /etc. Une solution alternative serait de définit TNS_ADMIN afin que le fichier $TNS_ADMIN/tnsnames.ora soit lu. Assurez-vous que le daemon exécutant le serveur web a accès en lecture à ce fichier.

character_set

Détermine le jeu de caractères utilisé par la bibliothèque cliente Oracle. Le jeu de caractères n'a pas besoin d'être identique à celui utilisé par la base de données. S'il ne correspond pas, Oracle ferait de son mieux pour convertir les données depuis le jeu de caractères de la base de données. Suivant les jeux de caractères, il se peut que le résultat ne soit pas parfait. De plus, cette convertion nécessite un peu de temps système.

Si non spécifié, la bibliothèque cliente Oracle déterminera un jeu de caractères depuis la variable d'environnement NLS_LANG.

Le fait de passer ce paramètre peut réduire la durée de connexion.

session_mode

Ce paramètre est disponible depuis PHP 5 (PECL OCI8 1.1) et accepte les valeurs suivantes : OCI_DEFAULT, OCI_SYSOPER et OCI_SYSDBA. Si soit la constante OCI_SYSOPER, soit la constante OCI_SYSDBA est spécifiée, cette fonction tentera d'établir une connexion privilégiée en utilisant des identifiants externes. Les connexions privilégiées sont désactivées par défault. Pour les activer, vous devez définir l'option oci8.privileged_connect à On.

PHP 5.3 (PECL OCI8 1.3.4) introduisent la valeur de mode OCI_CRED_EXT. Ce mode demande à Oracle d'utiliser une identification externe ou bien issue du système d'exploitation, qui doit être configurée dans la base de données. Le drapeau OCI_CRED_EXT ne peut être utilisé qu'avec le nom d'utilisateur "/" associé à un mot de passe vide. L'option oci8.privileged_connect peut être définie à On ou Off.

OCI_CRED_EXT peut être combiné avec le mode OCI_SYSOPER ou le mode OCI_SYSDBA.

OCI_CRED_EXT n'est pas supporté sous Windows pour des raisons de sécurité.

Valeurs de retour

Retourne un identifiant de connexion, ou FALSE si une erreur survient.

Exemples

Voici comment séparer des transactions.

Exemple #1 Exemple avec oci_new_connect()

<?php
echo "<html><pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_new_connect("scott", "tiger", $db);

function create_table($conn)
{
  $stmt = oci_parse($conn, "create table scott.hallo (test
varchar2(64))");
  oci_execute($stmt);
  echo $conn . " created table\n\n";
}

function drop_table($conn)
{
  $stmt = oci_parse($conn, "drop table scott.hallo");
  oci_execute($stmt);
  echo $conn . " dropped table\n\n";
}

function insert_data($conn)
{
  $stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " inserted hallo\n\n";
}

function delete_data($conn)
{
  $stmt = oci_parse($conn, "delete from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " deleted hallo\n\n";
}

function commit($conn)
{
  oci_commit($conn);
  echo $conn . " committed\n\n";
}

function rollback($conn)
{
  oci_rollback($conn);
  echo $conn . " rollback\n\n";
}

function select_data($conn)
{
  $stmt = oci_parse($conn, "select * from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . "----selecting\n\n";
  while (oci_fetch($stmt)) {
    echo $conn . " <" . oci_result($stmt, "TEST") . ">\n\n";
  }
  echo $conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);

select_data($c1);
select_data($c2);

rollback($c1);

select_data($c1);
select_data($c2);

insert_data($c2);
commit($c2);

select_data($c1);

delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);

select_data($c1);
select_data($c2);

drop_table($c1);
echo "</pre></html>";
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinlogon(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_connect() - Établit une connexion avec un serveur Oracle
  • oci_pconnect() - Ouvre une connexion persistante à un serveur Oracle

oci_new_collection
oci_new_cursor
Fonctions OCI8


Alloue un nouveau curseur Oracle

oci_new_connect
oci_new_descriptor
Fonctions OCI8
PHP Manual

oci_new_cursor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_cursor — Alloue un nouveau curseur Oracle

Description

resource oci_new_cursor ( resource $connection )

Alloue un nouveau curseur Oracle sur la connexion spécifiée.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect() ou la fonction oci_pconnect().

Valeurs de retour

Retourne un nouveau gestionnaire de connexion, ou FALSE si une erreur survient.

Exemples

Exemple #1 Utiliser un REF CURSOR issu d'une procédure enregistrée

<?php
// supposons que votre procédure stockée info.output retourne un curseur de référence dans :data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while ($data = oci_fetch_row($curs)) {
    var_dump($data);
}

oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

Exemple #2 Utiliser un REF CURSOR issu d'une commande SELECT

<?php
echo "<html><body>";
$conn = oci_connect("scott", "tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = oci_parse($conn, "select deptno,dname,$count_cursor");

oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>DEPT NAME</th>";
echo "<th>DEPT #</th>";
echo "<th># EMPLOYEES</th>";
echo "</tr>";

while ($data = oci_fetch_assoc($stmt)) {
    echo "<tr>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    echo "<td>$dname</td>";
    echo "<td>$deptno</td>";
    oci_execute($data["EMPCNT"]);
    while ($subdata = oci_fetch_assoc($data["EMPCNT"])) {
        $num_emps = $subdata["NUM_EMPS"];
        echo  "<td>$num_emps</td>";
    }
    echo "</tr>";
}
echo "</table>";
echo "</body></html>";
oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinewcursor(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_collection(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_new_connect
oci_new_descriptor
Fonctions OCI8


Initialise un nouveau pointeur vide de LOB/FILE Oracle

oci_new_cursor
oci_num_fields
Fonctions OCI8
PHP Manual

oci_new_descriptor

(PHP 5, PECL OCI8 >= 1.1.0)

oci_new_descriptor — Initialise un nouveau pointeur vide de LOB/FILE Oracle

Description

OCI-Lob oci_new_descriptor ( resource $connection [, int $type = OCI_DTYPE_LOB ] )

Initialise un nouveau pointeur vide de LOB/FILE Oracle.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect() ou la fonction oci_pconnect().

type

Les valeurs acceptées pour type sont : OCI_D_FILE, OCI_D_LOB et OCI_D_ROWID.

Valeurs de retour

Retourne une nouvelle ressource LOB ou FILE en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_new_descriptor()

<?php
/* Ce script est fait pour être appelé dans un formulaire HTML
 * Il attends les variables $user, $password, $table, $where, et $commitsize
 * Le script efface alors les lignes sélectionnées avec ROWID et valide
 * l'effacement après chaque groupe de $commitsize lignes.
 * (Utilisez avec prudence, car il n'y a pas d'annulation possible).
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
    $nrows = oci_num_rows($stmt);
    $delete = oci_parse($conn, "delete from $table where ROWID = :rid");
    oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
    oci_execute($delete);
    echo "$nrows\n";
    if (($nrows % $commitsize) == 0) {
        oci_commit($conn);
    }
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
/* Ce script illustre le chargement de LOB
 * Le formulaire utilisé dans cet exemple ressemble à ceci :
 * <form action="upload.php" method="post" enctype="multipart/form-data">
 * <input type="file" name="lob_upload" />
 * ...
 */
  if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
  } else {

     // $lob_upload contient le fichier temporaire

     // Reportez-vous à la section sur le téléchargement de fichiers
     // pour sécuriser vos téléchargements

     $conn = oci_connect($user, $password);
     $lob = oci_new_descriptor($conn, OCI_D_LOB);
     $stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
     oci_execute($stmt, OCI_DEFAULT);
     if ($lob->savefile($lob_upload)){
        oci_commit($conn);
        echo "BLOB chargé !\n";
     }else{
        echo "Impossible de charger le BLOB\n";
     }
     oci_free_descriptor($lob);
     oci_free_statement($stmt);
     oci_close($conn);
  }
?>

Exemple #2 Exemple avec oci_new_descriptor()

<?php
/* Appel d'une procédure PL/SQL stockée qui prend un clobs
 * en entrée (PHP 4 >= 4.0.6).
 * Exemple de signateure de procédure stockée PL/SQL :
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinewdescriptor(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_descriptor(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_bind_by_name() - Associe une variable PHP à un marqueur Oracle

oci_new_cursor
oci_num_fields
Fonctions OCI8


Retourne le nombre de colonnes dans un résultat Oracle

oci_new_descriptor
oci_num_rows
Fonctions OCI8
PHP Manual

oci_num_fields

(PHP 5, PECL OCI8 >= 1.1.0)

oci_num_fields — Retourne le nombre de colonnes dans un résultat Oracle

Description

int oci_num_fields ( resource $statement )

Retourne le nombre de colonnes dans le résultat Oracle statement.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

Valeurs de retour

Retourne le nombre de colonnes, sous la forme d'un entier, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_num_fields()

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "\n";
    $ncols = oci_num_fields($stmt);
    for ($i = 1; $i <= $ncols; $i++) {
        $column_name  = oci_field_name($stmt, $i);
        $column_value = oci_result($stmt, $i);
        echo $column_name . ': ' . $column_value . "\n";
    }
    echo "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinumcols(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_num_fields(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_new_descriptor
oci_num_rows
Fonctions OCI8


Retourne le nombre de lignes affectées durant la dernière commande Oracle

oci_num_fields
oci_parse
Fonctions OCI8
PHP Manual

oci_num_rows

(PHP 5, PECL OCI8 >= 1.1.0)

oci_num_rows — Retourne le nombre de lignes affectées durant la dernière commande Oracle

Description

int oci_num_rows ( resource $statement )

Retourne le nombre de lignes affectées durant la dernière commande Oracle.

Liste de paramètres

statement

Un identifiant de requête OCI valide.

Valeurs de retour

Retourne le nombre de lignes affectées, sous la forme d'un entier, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_num_rows()

<?php
$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "create table emp2 as select * from emp");
oci_execute($stmt);
echo oci_num_rows($stmt) . " lignes insérées.<br />";
oci_free_statement($stmt);

$stmt = oci_parse($conn, "delete from emp2");
oci_execute($stmt, OCI_DEFAULT);
echo oci_num_rows($stmt) . " lignes effacées.<br />";
oci_commit($conn);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "drop table emp2");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Notes

Note: Cette fonction ne retourne pas le nombre de lignes sélectionnées. Pour les commandes de type SELECT, cette fonction va retourner le nombre de ligne qui ont été lues dans le buffer avec oci_fetch*().

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocirowcount(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_num_rows(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_num_fields
oci_parse
Fonctions OCI8


Prépare une requête SQL avec Oracle

oci_num_rows
oci_password_change
Fonctions OCI8
PHP Manual

oci_parse

(PHP 5, PECL OCI8 >= 1.1.0)

oci_parse — Prépare une requête SQL avec Oracle

Description

resource oci_parse ( resource $connection , string $sql_text )

Prépare la requête sql_text en utilisant la connexion connection et retourne l'identifiant de requête qui pourra être utilisé avec les fonctions oci_bind_by_name(), oci_execute(), etc..

Les identifiants de requête peuvent être libérés en utilisant la fonction oci_free_statement() ou en définissant la variable correspondante à la valeur null.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction
oci_connect(),
oci_pconnect() ou
oci_new_connect().

sql_text

La requête SQL ou PL/SQL.

Les requêtes SQL ne doivent pas se terminer par un point-virgule (";"). Les requêtes PL/SQL doivent se terminer par un point-virgule (";").

Valeurs de retour

Retourne un gestionnaire de requête en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_parse()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

// Analyse de la requête. Notez qu'il n'y a pas de point-virgule à la fin de la requête SQL
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

Exemple #2 Exemple avec oci_parse() et une requête PL/SQL

<?php

/*
  Avant d'exécuter ce code PHP, vous devez créer une procédure stockée en
  SQL*Plus ou SQL Developer:

  CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
  BEGIN
      p2 := p1 * 2;
  END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

// Lors de l'analyse PL/SQL, il doit y avoir un point-virgule à la fin de la chaîne
$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n";   // affiche 16

oci_free_statement($stid);
oci_close($conn);

?>

Notes

Note: Cette fonction ne valide pas la requête sql_text. La seule façon de savoir si la requête sql_text est valide est de l'exécuter.

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociparse(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_execute() - Exécute une commande SQL Oracle
  • oci_free_statement() - Libère toutes les ressources réservées par un résultat Oracle

oci_num_rows
oci_password_change
Fonctions OCI8


Modifie le mot de passe d'un utilisateur Oracle

oci_parse
oci_pconnect
Fonctions OCI8
PHP Manual

oci_password_change

(PHP 5, PECL OCI8 >= 1.1.0)

oci_password_change — Modifie le mot de passe d'un utilisateur Oracle

Description

bool oci_password_change ( resource $connection , string $username , string $old_password , string $new_password )
resource oci_password_change ( string $dbname , string $username , string $old_password , string $new_password )

Modifie le mot de passe de l'utilisateur username.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect() ou la fonction oci_pconnect().

username

Le nom d'utilisateur Oracle.

old_password

L'ancien mot de passe.

new_password

Le nouveau mot de passe à définir.

dbname

Le nom de la base de données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: La seconde syntaxe de oci_password_change() est disponible depuis la version 1.1.

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocipasswordchange(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_password_change(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_parse
oci_pconnect
Fonctions OCI8


Ouvre une connexion persistante à un serveur Oracle

oci_password_change
oci_result
Fonctions OCI8
PHP Manual

oci_pconnect

(PHP 5, PECL OCI8 >= 1.1.0)

oci_pconnect — Ouvre une connexion persistante à un serveur Oracle

Description

resource oci_pconnect ( string $username , string $password [, string $connection_string [, string $character_set [, int $session_mode ]]] )

Ouvre une connexion persistante à un serveur Oracle et s'identifie.

Les connexions persistantes sont mises en cache et sont réutilisées entre les requêtes, réduisant ainsi la charge à chaque chargement de la page ; une application PHP typique a une seule connexion persistante à un serveur Oracle par processus enfant Apache (ou processus PHP FastCGI/CGI). Voir la section sur les connexions persistantes aux bases de données pour plus d'informations.

Liste de paramètres

username

Le nom d'utilisateur Oracle.

password

Le mot de passe de l'utilisateur.

connection_string

Contient l'instance Oracle sur laquelle nous devons nous connecter. Ce peut être une » chaîne de connexion rapide, un nom de connexion issue du fichier tnsnames.ora, ou le nom d'une instance locale Oracle.

Si non spécifié, PHP utilise des variables d'environnement comme TWO_TASK (sous Linux) ou LOCAL (sous Windows) et ORACLE_SID pour déterminer l'instance Oracle sur laquelle nous devons nous connecter.

Pour utiliser la méthode de connexion rapide, PHP doit être lié avec la bibliothèque cliente Oracle 10g ou supérieur. La chaîne de connexion rapide pour Oracle 10g ou supérieur est de la forme : [//]host_name[:port][/service_name]. Avec Oracle 11g, la syntaxe est : [//]host_name[:port][/service_name][:server_type][/instance_name]. Les noms des services peuvent être trouvés en exécutant l'utilitaire Oracle lsnrctl status sur la machine exécutant la base de données.

Le fichier tnsnames.ora peut être dans le chemin de recherche d'Oracle Net, qui inclut $ORACLE_HOME/network/admin et /etc. Une solution alternative serait de définit TNS_ADMIN afin que le fichier $TNS_ADMIN/tnsnames.ora soit lu. Assurez-vous que le daemon exécutant le serveur web a accès en lecture à ce fichier.

character_set

Détermine le jeu de caractères utilisé par la bibliothèque cliente Oracle. Le jeu de caractères n'a pas besoin d'être identique à celui utilisé par la base de données. S'il ne correspond pas, Oracle ferait de son mieux pour convertir les données depuis le jeu de caractères de la base de données. Suivant les jeux de caractères, il se peut que le résultat ne soit pas parfait. De plus, cette convertion nécessite un peu de temps système.

Si non spécifié, la bibliothèque cliente Oracle déterminera un jeu de caractères depuis la variable d'environnement NLS_LANG.

Le fait de passer ce paramètre peut réduire la durée de connexion.

session_mode

Ce paramètre est disponible depuis PHP 5 (PECL OCI8 1.1) et accepte les valeurs suivantes : OCI_DEFAULT, OCI_SYSOPER et OCI_SYSDBA. Si soit la constante OCI_SYSOPER, soit la constante OCI_SYSDBA est spécifiée, cette fonction tentera d'établir une connexion privilégiée en utilisant des identifiants externes. Les connexions privilégiées sont désactivées par défault. Pour les activer, vous devez définir l'option oci8.privileged_connect à On.

PHP 5.3 (PECL OCI8 1.3.4) introduisent la valeur de mode OCI_CRED_EXT. Ce mode demande à Oracle d'utiliser une identification externe ou bien issue du système d'exploitation, qui doit être configurée dans la base de données. Le drapeau OCI_CRED_EXT ne peut être utilisé qu'avec le nom d'utilisateur "/" associé à un mot de passe vide. L'option oci8.privileged_connect peut être définie à On ou Off.

OCI_CRED_EXT peut être combiné avec le mode OCI_SYSOPER ou le mode OCI_SYSDBA.

OCI_CRED_EXT n'est pas supporté sous Windows pour des raisons de sécurité.

Valeurs de retour

Retourne un identifiant de connexion, ou FALSE si une erreur survient.

Notes

Note: Depuis PHP 5.1.2 et PECL oci8 1.1, la durée de vie ainsi que le nombre maximal de connexions persistantes Oracle peuvent être affinés en définissant les valeurs de configuration suivantes : oci8.persistent_timeout, oci8.ping_interval et oci8.max_persistent.

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociplogon(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_connect() - Établit une connexion avec un serveur Oracle
  • oci_new_connect() - Connexion au serveur Oracle en utilisant une seule connexion

oci_password_change
oci_result
Fonctions OCI8


Retourne la valeur d'une colonne dans un résultat Oracle

oci_pconnect
oci_rollback
Fonctions OCI8
PHP Manual

oci_result

(PHP 5, PECL OCI8 >= 1.1.0)

oci_result — Retourne la valeur d'une colonne dans un résultat Oracle

Description

mixed oci_result ( resource $statement , mixed $field )

Retourne les données de la colonne field dans la ligne courante du résultat statement.

Pour plus de détails sur le mapping des types de données effectué par l'extension OCI8, lisez les types de données supportés par le driver.

Liste de paramètres

statement

field

Peut être soit le numéro de la colonne (en commençant à 1), soit le nom de la colonne (en majuscule).

Valeurs de retour

Retourne tout les types, sauf les types abstraits (ROWIDs, LOBs et FILEs). Retourne FALSE en cas d'erreur.

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociresult(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_result(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

  • oci_fetch_array() - Lit une ligne d'un résultat sous forme de tableau associatif ou numérique
  • oci_fetch_assoc() - Lit une ligne d'un résultat sous forme de tableau associatif
  • oci_fetch_object() - Lit une ligne d'un résultat sous forme d'objet
  • oci_fetch_row() - Lit la prochaine ligne d'une requête sous forme de tableau numérique
  • oci_fetch_all() - Lit plusieurs lignes d'un résultat dans un tableau multi-dimensionnel

oci_pconnect
oci_rollback
Fonctions OCI8


Annule les transactions Oracle en cours

oci_result
oci_server_version
Fonctions OCI8
PHP Manual

oci_rollback

(PHP 5, PECL OCI8 >= 1.1.0)

oci_rollback — Annule les transactions Oracle en cours

Description

bool oci_rollback ( resource $connection )

Annule toutes les modifications non validées pour une connexion connection Oracle et met fin à la transaction courante. Tous les verrous seront également libérés. Tous les points de sauvegarde Oracle (SAVEPOINTS) seront supprimés.

Une transaction commence lorsque la première requête SQL qui modifie des données est exécuté avec la fonction oci_execute() en utilisant le drapeau OCI_NO_AUTO_COMMIT. Les modifications suivantes effectuées par d'autres requêtes deviennent partie intégrante de la même transaction. Les modifications effectuées lors d'une transaction sont temporaires tant que la transaction n'a pas été validée ou annulée. Les autres utilisateurs de la base de données ne verront ces modifications que lors de la validation de la transaction.

Lors de l'insertion ou de la mise à jour de données, l'utilisation des transactions est fortement recommandée afin de garantir la consistence relationnelle des données, mais aussi pour des raisons de performance.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou oci_new_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_rollback()

<?php

// Insertion dans plusieurs tables, puis, annulation des modifications si des erreurs surviennent

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// Le drapeau OCI_NO_AUTO_COMMIT indique à Oracle de ne pas valider l'insertion immédiatement.
// Utilisez le drapeau OCI_DEFAULT en PHP <= 5.3.1. Les 2 sont identiques.
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
    $e = oci_error($stid);
    oci_rollback($conn);  // Annulation des modifications sur les 2 tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Validation des modifications sur les 2 tables
$r = oci_commit($conn);
if (!r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Exemple #2 Exemple de retour à un point de sauvegarde (SAVEPOINT)

$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// création du point de sauvegarde
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// utilise une requête SQL explicite pour effectuer le retour au point de sauvegarde
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

oci_commit($conn);  // mytab a maintenant un id de 1111

Notes

Note: Les transactions sont automatiquement annulées lorsque vous fermez la connexion, ou lorsque le script se termine, un des deux arrivant le premier. Vous devez explicitement appeler la fonction oci_commit() pour valider la connexion.
Tous les appels à la fonction oci_execute() qui utilisent le mode OCI_COMMIT_ON_SUCCESS, qui se soit par défaut ou de façon explicite, valideront toutes les transactions en attente.
Toutes les requêtes Oracle comme CREATE ou DROP valideront également, automatiquement, toutes les transactions en attente.

Note: Avant la version 5.0.0 de PHP, vous devez utiliser la fonction ocirollback() à la place. Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • oci_commit() - Valide les transactions Oracle en cours
  • oci_execute() - Exécute une commande SQL Oracle

oci_result
oci_server_version
Fonctions OCI8


Retourne une chaîne contenant les informations de version du serveur Oracle

oci_rollback
oci_set_action
Fonctions OCI8
PHP Manual

oci_server_version

(PHP 5, PECL OCI8 >= 1.1.0)

oci_server_version — Retourne une chaîne contenant les informations de version du serveur Oracle

Description

string oci_server_version ( resource $connection )

Retourne une chaîne contenant les informations de version du serveur Oracle, identifié par la connexion connection.

Liste de paramètres

connection

Valeurs de retour

Retourne les informations sur la version, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_server_version()

<?php
$conn = oci_connect("scott", "tiger");
echo "Version du serveur : " . oci_server_version($conn);
oci_close($conn);
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociserverversion(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_server_version(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

oci_rollback
oci_set_action
Fonctions OCI8


Définit le nom de l'action

oci_server_version
oci_set_client_identifier
Fonctions OCI8
PHP Manual

oci_set_action

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_action — Définit le nom de l'action

Description

bool oci_set_action ( resource $connection , string $action_name )

Définit le nom de l'action pour une traçage Oracle.

Le nom de l'action est enregistré avec la base de données lors du prochain 'roundtrip' depuis PHP vers la base de données ; typiquement, lorsqu'une requête SQL est exécutée.

Le nom de l'action peut être interrogé par la suite depuis la vue d'administration de la base de données V$SESSION. Il peut être utilisé pour tracer et surveiller d'autres vues comme V$SQLAREA et DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

La valeur peut être conservée aux travers des connexions persistantes.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().

action_name

Chaîne choisie par l'utilisateur, supérieur à 32 octets de long.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Définition d'une action

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Enregistre l'action
oci_set_action($c, 'Friend Lookup');

// Code générant un roundtrip, par exemple, une requête :
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// Pendant l'exécution du script, l'administrateur peut voir les actions
// en cours d'exécution :

sqlplus system/welcome
SQL> select action from v$session;

Notes

Note: Requis par la version Oracle
Cette fonction est disponible si PHP est lié à partir de la version de la bibliothèque de la base de données Oracle .

Astuce

Performance

Avec les anciennes version OCI8 ou les anciennes bases de données Oracle, l'information quant au client peut être défini en utilisant le paquet Oracle DBMS_APPLICATION_INFO. Ceci est moins efficace que d'utiliser la fonction oci_set_client_info().

Attention

Allé-Retour

Quelques fonctions OCI8 nécessitent des allé-retours avec la base de données. Ces allé-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.

Voir aussi

  • oci_set_module_name() - Définit le nom du module
  • oci_set_client_info() - Définit l'information concernant le client
  • oci_set_client_identifier() - Définit l'identifiant du client

oci_server_version
oci_set_client_identifier
Fonctions OCI8


Définit l'identifiant du client

oci_set_action
oci_set_client_info
Fonctions OCI8
PHP Manual

oci_set_client_identifier

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Définit l'identifiant du client

Description

bool oci_set_client_identifier ( resource $connection , string $client_identifier )

Définit l'identifiant du client, utilisé par de nombreux composants de la base de données pour identifier les utilisateurs de l'application qui s'authentifie avec le même nom d'utilisateur de base de données.

L'identifiant du client est enregistrée avec la base de données lorsque le prochain 'roundtrip' depuis PHP vers la base de données est effectué ; typiquement, l'exécution d'une requête SQL.

L'identifiant peut par la suite être interrogé depuis une vue de l'administration de la base de données, comme la vue V$SESSION. Il peut être utilisé avec DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE dans le cadrage d'un tracage. Il peut également être utilisé dans le cadre d'un audit.

La valeur peut être conservée via le mécanisme des connexions persistantes.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().

client_identifier

Chaîne choisie par l'utilisateur, supérieur à 64 octets de long.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Définit l'identifiant du client à l'utilisateur de l'application

<?php

// Retrouve le nom utilisé pour l'identification de l'utilisateur de l'application
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Demande à Oracle qui est cet utilisateur
oci_set_client_identifier($c, $un);

// Le prochain roundtrip vers la base de données validera cet identifiant
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

...

?>

Notes

Attention

Allé-Retour

Quelques fonctions OCI8 nécessitent des allé-retours avec la base de données. Ces allé-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.

Voir aussi

  • oci_set_module_name() - Définit le nom du module
  • oci_set_action() - Définit le nom de l'action
  • oci_set_client_info() - Définit l'information concernant le client

oci_set_action
oci_set_client_info
Fonctions OCI8


Définit l'information concernant le client

oci_set_client_identifier
oci_set_edition
Fonctions OCI8
PHP Manual

oci_set_client_info

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_info — Définit l'information concernant le client

Description

bool oci_set_client_info ( resource $connection , string $client_info )

Définit l'information concernant le client pour un traçage Oracle.

L'information du client est enregistré avec la base de données lorsque le prochain 'roundtrip' depuis PHP vers la base de données survient ; typiquement, lorsqu'une requête SQL est exécutée.

L'information du client peut par la suite être interrogée depuis la vue d'administration de la base de données V$SESSION.

La valeur sera conservée via le mécanisme des connexions persistantes.

Liste de paramètres

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().

Chaîne utilisateur supérieure à 64 octets de long.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Définit l'information sur le client

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Enregistre l'information sur le client
oci_set_client_info($c, 'My Application Version 2');

// On exécute un code permettant un aller-retour vers la base de données,
// par exemple, une requête :
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// Pendant l'exécution de ce script, l'administrateur peut voir les informations
// du client :

sqlplus system/welcome
SQL> select client_info from v$session;

Notes

Note: Requis par la version Oracle
Cette fonction est disponible si PHP est lié à partir de la version de la bibliothèque de la base de données Oracle .

Astuce

Performance

Avec les anciennes version OCI8 ou les anciennes bases de données Oracle, l'information quant au client peut être défini en utilisant le paquet Oracle DBMS_APPLICATION_INFO. Ceci est moins efficace que d'utiliser la fonction oci_set_client_info().

Attention

Allé-Retour

Quelques fonctions OCI8 nécessitent des allé-retours avec la base de données. Ces allé-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.

Voir aussi

  • oci_set_module_name() - Définit le nom du module
  • oci_set_action() - Définit le nom de l'action
  • oci_set_client_identifier() - Définit l'identifiant du client

oci_set_client_identifier
oci_set_edition
Fonctions OCI8


Définit l'édition de la base de données

oci_set_client_info
oci_set_module_name
Fonctions OCI8
PHP Manual

oci_set_edition

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_edition — Définit l'édition de la base de données

Description

bool oci_set_edition ( string $edition )

Définit l'édition des objets de la base de données à utiliser par les connexions.

L'édition Oracle permet à des versions concurrentes des applications d'être exécutées en utilisant le même nom de schéma et d'objets. Ceci est pratique pour mettre à jour en direct les systèmes.

Appelez la fonction oci_set_edition() avant d'appeler
une fonction comme oci_connect(), oci_pconnect()
ou oci_new_connect().

Si une édition est définie mais n'est pas valide sur la base de données, toute tentative de connexion échouera même si la fonction oci_set_edition() retourne un statut de réussite.

Lors de l'utilisation des connexions persistantes, si une connexion avec l'édition demandée existe déjà, elle sera ré-utilisée. Sinon, une connexion persistante différente sera créée.

Liste de paramètres

edition

Nom de l'édition Oracle, précédemment créé avec la commande SQL "CREATE EDITION".

Notes

Note: Exigence de la version Oracle
Cette fonction est disponible pour Oracle 11gR2 et suivants.

Attention

Connexions persistantes

Pour éviter les inconsistances de données ou des erreurs inattendues, n'utilisez pas la requête ALTER SESSION SET EDITION pour changer une édition sur les connexions persistantes.

Attention

File d'attente de connexions DRCP

Pour éviter les inconsistances de données ou des erreurs inattendues lors de l'utilisation des éditions et de DRCP avec Oracle 11.2.0.1, conservez une correspondance un-à-un entre oci8.connection_class et le nom de l'édition utilisé par vos applications. Chaque serveur pour une classe de connexion donnée doit être utilisé avec une seule édition.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 2 scripts peuvent utiliser différentes versions de myfunc() au même moment

<?php

// Fichier 1

echo "Version 1 de l'application\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "Le résultat est $r\n";

?>
<?php

// Fichier 2

echo "Version 2 de l'application\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "Le résultat est $r\n";

?>

oci_set_client_info
oci_set_module_name
Fonctions OCI8


Définit le nom du module

oci_set_edition
oci_set_prefetch
Fonctions OCI8
PHP Manual

oci_set_module_name

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_module_name — Définit le nom du module

Description

bool oci_set_module_name ( resource $connection , string $module_name )

Définit le nom du module pour le tracage Oracle.

Le nom du module est enregistré avec la base de données lorsque le prochain 'roundtrip' depuis PHP vers la base de données survient ; typiquement, lorsqu'une requête SQL est exécutée.

Le nom pourra être ensuite interrogé depuis la vue d'administration de la base de données comme V$SESSION. Il pourra être également utilisé pour du traçage et de la surveillance, comme avec V$SQLAREA et DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

La valeur sera retenue via le mécanisme des connexions persistantes.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().

module_name

Chaîne choisie par l'utilisateur, supérieure à 48 octets de long.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Requis par la version Oracle
Cette fonction est disponible si PHP est lié à partir de la version de la bibliothèque de la base de données Oracle .

Astuce

Performance

Avec les anciennes version OCI8 ou les anciennes bases de données Oracle, l'information quant au client peut être défini en utilisant le paquet Oracle DBMS_APPLICATION_INFO. Ceci est moins efficace que d'utiliser la fonction oci_set_client_info().

Attention

Allé-Retour

Quelques fonctions OCI8 nécessitent des allé-retours avec la base de données. Ces allé-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.

Exemples

Exemple #1 Définition du nom du module

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Enregistrement du module
oci_set_module_name($c, 'Home Page');

// Code générant un roundtrip, par exemple, une requête :
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);
?>
// Pendant l'exécution du script, l'administrateur peut voir les
// modules enn utilisation :

sqlplus system/welcome
SQL> select module from v$session;

Voir aussi

  • oci_set_action() - Définit le nom de l'action
  • oci_set_client_info() - Définit l'information concernant le client
  • oci_set_client_identifier() - Définit l'identifiant du client

oci_set_edition
oci_set_prefetch
Fonctions OCI8


Indique le nombre de lignes qui doivent être lues à l'avance par Oracle

oci_set_module_name
oci_statement_type
Fonctions OCI8
PHP Manual

oci_set_prefetch

(PHP 5, PECL OCI8 >= 1.1.0)

oci_set_prefetch — Indique le nombre de lignes qui doivent être lues à l'avance par Oracle

Description

bool oci_set_prefetch ( resource $statement , int $rows )

Définit le nombre de lignes à précharger par les bibliothèques clientes Oracle après un appel réussi à la fonction oci_execute() mais aussi pour chaque appel aux fonctions internes de récupération de lignes à la base de données. Pour les requêtes retournant un grand nombre de lignes, les performances peuvent être significativement améliorées en augmentant le nombre de lignes à précharger par rapport à la valeur par défaut définie par l'option de configuration oci8.default_prefetch.

Le préchargement est une façon efficace de retourner plus d'une ligne de données depuis la base de données pour chaque envoi réseau. Il en retourne une meilleure utilisation du réseau mais aussi une meilleure utilisation du CPU. Le préchargement de lignes est interne à OCI8 et le comportement des fonctions de récupération de données reste inchangé suivant la valeur du compteur de préchargement. Par exemple, la fonction oci_fetch_row() retournera toujours une ligne. Le buffer de préchargement est propre à chaque requête et ne sera pas utilisé pour ré-exécuter des requêtes ou par les autres connexions.

Il convient d'appeler la fonction oci_set_prefetch() avant la fonction oci_execute().

Un des moyens de gagner en efficacité est de définir la valeur de préchargement à une valeur raisonnable en fonction du réseau et de la base de données à gérer. Pour les requêtes retournant un très grand nombre de lignes, il convient de récupérer l'ensemble des lignes par morceaux (i.e. définit la valeur de préchargement à une valeur en dessous du nombre total de lignes). Ceci permet à la base de données de gérer les requêtes des autres utilisateurs pendant que le script PHP gère le jeu de lignes courant.

Le préchargement a été introduit en Oracle 8i. Le préchargement REF CURSOR a été introduit en Oracle 11gR2 et est disponible lorsque PHP est lié avec les bibliothèques clientes Oracle 11gR2 et est connecté à une base de données version 11gR2 ou inférieure. Les curseurs imbriqués de préchargement ont été introduits en Oracle 11gR2 et nécessitent à la fois les bibliothèques clientes Oracle, et une base de données en version 11gR2.

Le préchargement n'est pas supporté lorsque les requêtes contiennent des colonnes de type LONG ou LOB. La valeur de préchargement sera utilisé dans toutes les situations où le préchargement est supporté.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

rows

Le nombre de lignes à précharger, >=0

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
PHP 5.3.2 (PECL OCI8 1.4) | Avant cette version, rows doit être >= 1.
PHP 5.3 (PECL OCI8 1.3.4) | Avant cette version, le préchargement était limité et devait être inférieur aux nombres de lignes définies par le paramètre rows ainsi qu'à 1024 * rows octets. La restriction sur la taille en octets a maintenant disparu.

Exemples

Exemple #1 Modification de la valeur de préchargement pour une requête

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM myverybigtable');
oci_set_prefetch($stid, 300);  // A définir avant l'appel à la fonction oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Exemple #2 Modification de la valeur de préchargement pour une récupération REF CURSOR

<?php
/*
  Création de la procédure stockée PL/SQL suivante :

  CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
  BEGIN
    OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
  END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Modification de la valeur de préchargement avant l'exécution du curseur.
// Le préchargement REF CURSOR fonctionne lorsque PHP est lié avec les bibliothèques clientes
// Oracle 11gR2
oci_set_prefetch($refcur, 200);
oci_execute($refcur);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Si PHP OCI8 récupère des données depuis un curseur REF CURSOR puis, retourne le curseur REF CURSOR à une seconde procédure stockée pour traitement, alors il convient de définir le préchargement de REF CURSOR à 0 afin d'éviter de perdre des lignes du jeu de résultats. La valeur de préchargement est le nombre de lignes supplémentaire à récupérer pour chaque requête interne OCI8 à la base de données, aussi, le fait de la définir à 0 signifie uniquement que nous souhaitons récupérer une seule ligne à la fois.

Exemple #3 Définition de la valeur de préchargement lorsque l'on retourne un curseur REF CURSOR à Oracle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/orcl');

// Récupération du curseur REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Affiche 2 lignes, mais ne précharge pas de lignes supplémentaires
// sinon, ces lignes supplémentaires ne seront pas passées à myproc_use_rc().
// La valeur de préchargement à 0 est autorisée en PHP 5.3.2 et PECL OCI8 1.4
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);

// passe le curseur REF CURSOR à myproc_use_rc() afin d'effectuer d'autres
// traitement sur le jeu de résultats
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocisetprefetch(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

Voir aussi

  • l'option de configuration oci8.default_prefetch

oci_set_module_name
oci_statement_type
Fonctions OCI8


Retourne le type de la requête Oracle

oci_set_prefetch
Fonctions et alias OCI8 obsolètes
Fonctions OCI8
PHP Manual

oci_statement_type

(PHP 5, PECL OCI8 >= 1.1.0)

oci_statement_type — Retourne le type de la requête Oracle

Description

string oci_statement_type ( resource $statement )

Retourne un mot clé identifiant le type de la requête statement OCI8.

Liste de paramètres

statement

Un identifiant de requête OCI valide, retourné par la fonction oci_parse().

Valeurs de retour

Retourne le type de requête statement sous la forme d'une des chaînes suivantes.

Type de requête
Chaîne retournée | Notes
ALTER |
BEGIN |
CALL | Introduit en PHP 5.2.1 (PECL OCI8 1.2.3)
CREATE |
DECLARE |
DELETE |
DROP |
INSERT |
SELECT |
UPDATE |
UNKNOWN |

Retourne FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_statement_type()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'DELETE FROM departments WHERE department_id = 130;');
if (oci_statement_type($stid) == "DELETE") {
    trigger_error('Vous n\'êtes pas autorisé à effacer des lignes dans cette table', E_USER_ERROR);
}
else {
    oci_execute($stid);  // efface la ligne
}

oci_free_statement($stid);
oci_close($conn);

?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocistatementtype(). Le nom de l'ancienne fonction peut toujours être utilisé dans les versions courantes, malgré le fait qu'il est maintenant obsolète et que nous ne vous le recommandons pas.

oci_set_prefetch
Fonctions et alias OCI8 obsolètes
Fonctions OCI8


Fonctions et alias OCI8 obsolètes

Sommaire

  • ocibindbyname — Alias de oci_bind_by_name
  • ocicancel — Alias de oci_cancel
  • ocicloselob — Alias de
  • ocicollappend — Alias de
  • ocicollassign — Alias de
  • ocicollassignelem — Alias de
  • ocicollgetelem — Alias de
  • ocicollmax — Alias de
  • ocicollsize — Alias de
  • ocicolltrim — Alias de
  • ocicolumnisnull — Alias de oci_field_is_null
  • ocicolumnname — Alias de oci_field_name
  • ocicolumnprecision — Alias de oci_field_precision
  • ocicolumnscale — Alias de oci_field_scale
  • ocicolumnsize — Alias de oci_field_size
  • ocicolumntype — Alias de oci_field_type
  • ocicolumntyperaw — Alias de oci_field_type_raw
  • ocicommit — Alias de oci_commit
  • ocidefinebyname — Alias de oci_define_by_name
  • ocierror — Alias de oci_error
  • ociexecute — Alias de oci_execute
  • ocifetch — Alias de oci_fetch
  • ocifetchinto — Fetches the next row into an array (deprecated)
  • ocifetchstatement — Alias de oci_fetch_all
  • ocifreecollection — Alias de
  • ocifreecursor — Alias de oci_free_statement
  • ocifreedesc — Alias de
  • ocifreestatement — Alias de oci_free_statement
  • ociinternaldebug — Alias de oci_internal_debug
  • ociloadlob — Alias de
  • ocilogoff — Alias de oci_close
  • ocilogon — Alias de oci_connect
  • ocinewcollection — Alias de oci_new_collection
  • ocinewcursor — Alias de oci_new_cursor
  • ocinewdescriptor — Alias de oci_new_descriptor
  • ocinlogon — Alias de oci_new_connect
  • ocinumcols — Alias de oci_num_fields
  • ociparse — Alias de oci_parse
  • ociplogon — Alias de oci_pconnect
  • ociresult — Alias de oci_result
  • ocirollback — Alias de oci_rollback
  • ocirowcount — Alias de oci_num_rows
  • ocisavelob — Alias de
  • ocisavelobfile — Alias de
  • ociserverversion — Alias de oci_server_version
  • ocisetprefetch — Alias de oci_set_prefetch
  • ocistatementtype — Alias de oci_statement_type
  • ociwritelobtofile — Alias de
  • ociwritetemporarylob — Alias de
oci_statement_type
ocibindbyname
OCI8


Alias de oci_bind_by_name

Fonctions et alias OCI8 obsolètes
ocicancel
Fonctions et alias OCI8 obsolètes
PHP Manual

ocibindbyname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocibindbyname — Alias de oci_bind_by_name()

Description

Cette fonction est un alias de : oci_bind_by_name().

Fonctions et alias OCI8 obsolètes
ocicancel
Fonctions et alias OCI8 obsolètes


Alias de oci_cancel

ocibindbyname
ocicloselob
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicancel

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicancel — Alias de oci_cancel()

Description

Cette fonction est un alias de : oci_cancel().

ocibindbyname
ocicloselob
Fonctions et alias OCI8 obsolètes


Alias de

ocicancel
ocicollappend
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicloselob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicloselob — Alias de OCI-Lob->close

Description

Cette fonction est un alias de : OCI-Lob->close.

ocicancel
ocicollappend
Fonctions et alias OCI8 obsolètes


Alias de

ocicloselob
ocicollassign
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollappend — Alias de OCI-Collection->append

Description

Cette fonction est un alias de : OCI-Collection->append.

ocicloselob
ocicollassign
Fonctions et alias OCI8 obsolètes


Alias de

ocicollappend
ocicollassignelem
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicollassign

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ocicollassign — Alias de OCI-Collection->assign

Description

Cette fonction est un alias de : OCI-Collection->assign.

ocicollappend
ocicollassignelem
Fonctions et alias OCI8 obsolètes


Alias de

ocicollassign
ocicollgetelem
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollassignelem — Alias de OCI-Collection->assignElem

Description

Cette fonction est un alias de : OCI-Collection->assignElem.

ocicollassign
ocicollgetelem
Fonctions et alias OCI8 obsolètes


Alias de

ocicollassignelem
ocicollmax
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollgetelem — Alias de OCI-Collection->getElem

Description

Cette fonction est un alias de : OCI-Collection->getElem.

ocicollassignelem
ocicollmax
Fonctions et alias OCI8 obsolètes


Alias de

ocicollgetelem
ocicollsize
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollmax — Alias de OCI-Collection->max

Description

Cette fonction est un alias de : OCI-Collection->max.

ocicollgetelem
ocicollsize
Fonctions et alias OCI8 obsolètes


Alias de

ocicollmax
ocicolltrim
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicollsize — Alias de OCI-Collection->size

Description

Cette fonction est un alias de : OCI-Collection->size.

ocicollmax
ocicolltrim
Fonctions et alias OCI8 obsolètes


Alias de

ocicollsize
ocicolumnisnull
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocicolltrim — Alias de OCI-Collection->trim

Description

Cette fonction est un alias de : OCI-Collection->trim.

ocicollsize
ocicolumnisnull
Fonctions et alias OCI8 obsolètes


Alias de oci_field_is_null

ocicolltrim
ocicolumnname
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumnisnull

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnisnull — Alias de oci_field_is_null()

Description

Cette fonction est un alias de : oci_field_is_null().

ocicolltrim
ocicolumnname
Fonctions et alias OCI8 obsolètes


Alias de oci_field_name

ocicolumnisnull
ocicolumnprecision
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumnname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnname — Alias de oci_field_name()

Description

Cette fonction est un alias de : oci_field_name().

ocicolumnisnull
ocicolumnprecision
Fonctions et alias OCI8 obsolètes


Alias de oci_field_precision

ocicolumnname
ocicolumnscale
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumnprecision

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnprecision — Alias de oci_field_precision()

Description

Cette fonction est un alias de : oci_field_precision().

ocicolumnname
ocicolumnscale
Fonctions et alias OCI8 obsolètes


Alias de oci_field_scale

ocicolumnprecision
ocicolumnsize
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumnscale

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnscale — Alias de oci_field_scale()

Description

Cette fonction est un alias de : oci_field_scale().

ocicolumnprecision
ocicolumnsize
Fonctions et alias OCI8 obsolètes


Alias de oci_field_size

ocicolumnscale
ocicolumntype
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumnsize

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumnsize — Alias de oci_field_size()

Description

Cette fonction est un alias de : oci_field_size().

ocicolumnscale
ocicolumntype
Fonctions et alias OCI8 obsolètes


Alias de oci_field_type

ocicolumnsize
ocicolumntyperaw
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumntype

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumntype — Alias de oci_field_type()

Description

Cette fonction est un alias de : oci_field_type().

ocicolumnsize
ocicolumntyperaw
Fonctions et alias OCI8 obsolètes


Alias de oci_field_type_raw

ocicolumntype
ocicommit
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicolumntyperaw

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicolumntyperaw — Alias de oci_field_type_raw()

Description

Cette fonction est un alias de : oci_field_type_raw().

ocicolumntype
ocicommit
Fonctions et alias OCI8 obsolètes


Alias de oci_commit

ocicolumntyperaw
ocidefinebyname
Fonctions et alias OCI8 obsolètes
PHP Manual

ocicommit

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocicommit — Alias de oci_commit()

Description

Cette fonction est un alias de : oci_commit().

ocicolumntyperaw
ocidefinebyname
Fonctions et alias OCI8 obsolètes


Alias de oci_define_by_name

ocicommit
ocierror
Fonctions et alias OCI8 obsolètes
PHP Manual

ocidefinebyname

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocidefinebyname — Alias de oci_define_by_name()

Description

Cette fonction est un alias de : oci_define_by_name().

ocicommit
ocierror
Fonctions et alias OCI8 obsolètes


Alias de oci_error

ocidefinebyname
ociexecute
Fonctions et alias OCI8 obsolètes
PHP Manual

ocierror

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocierror — Alias de oci_error()

Description

Cette fonction est un alias de : oci_error().

ocidefinebyname
ociexecute
Fonctions et alias OCI8 obsolètes


Alias de oci_execute

ocierror
ocifetch
Fonctions et alias OCI8 obsolètes
PHP Manual

ociexecute

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociexecute — Alias de oci_execute()

Description

Cette fonction est un alias de : oci_execute().

ocierror
ocifetch
Fonctions et alias OCI8 obsolètes


Alias de oci_fetch

ociexecute
ocifetchinto
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifetch

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetch — Alias de oci_fetch()

Description

Cette fonction est un alias de : oci_fetch().

ociexecute
ocifetchinto
Fonctions et alias OCI8 obsolètes


Fetches the next row into an array (deprecated)

ocifetch
ocifetchstatement
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifetchinto

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchinto — Fetches the next row into an array (deprecated)

Description

int ocifetchinto ( resource $statement , array &$result [, int $mode = OCI_ASSOC + OCI_NUM ] )

This function is deprecated. Recommended alternatives:
oci_fetch_array(), oci_fetch_object(),
oci_fetch_assoc() and
oci_fetch_row().

ocifetch
ocifetchstatement
Fonctions et alias OCI8 obsolètes


Alias de oci_fetch_all

ocifetchinto
ocifreecollection
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifetchstatement

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchstatement — Alias de oci_fetch_all()

Description

Cette fonction est un alias de : oci_fetch_all().

ocifetchinto
ocifreecollection
Fonctions et alias OCI8 obsolètes


Alias de

ocifetchstatement
ocifreecursor
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PECL OCI8 >= 1.0.0)

ocifreecollection — Alias de OCI-Collection->free

Description

Cette fonction est un alias de : OCI-Collection->free.

ocifetchstatement
ocifreecursor
Fonctions et alias OCI8 obsolètes


Alias de oci_free_statement

ocifreecollection
ocifreedesc
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifreecursor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreecursor — Alias de oci_free_statement()

Description

Cette fonction est un alias de : oci_free_statement().

ocifreecollection
ocifreedesc
Fonctions et alias OCI8 obsolètes


Alias de

ocifreecursor
ocifreestatement
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifreedesc

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreedesc — Alias de OCI-Lob->free

Description

Cette fonction est un alias de : OCI-Lob->free.

ocifreecursor
ocifreestatement
Fonctions et alias OCI8 obsolètes


Alias de oci_free_statement

ocifreedesc
ociinternaldebug
Fonctions et alias OCI8 obsolètes
PHP Manual

ocifreestatement

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifreestatement — Alias de oci_free_statement()

Description

Cette fonction est un alias de : oci_free_statement().

ocifreedesc
ociinternaldebug
Fonctions et alias OCI8 obsolètes


Alias de oci_internal_debug

ocifreestatement
ociloadlob
Fonctions et alias OCI8 obsolètes
PHP Manual

ociinternaldebug

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociinternaldebug — Alias de oci_internal_debug()

Description

Cette fonction est un alias de : oci_internal_debug().

ocifreestatement
ociloadlob
Fonctions et alias OCI8 obsolètes


Alias de

ociinternaldebug
ocilogoff
Fonctions et alias OCI8 obsolètes
PHP Manual

ociloadlob

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociloadlob — Alias de OCI-Lob->load

Description

Cette fonction est un alias de : OCI-Lob->load.

ociinternaldebug
ocilogoff
Fonctions et alias OCI8 obsolètes


Alias de oci_close

ociloadlob
ocilogon
Fonctions et alias OCI8 obsolètes
PHP Manual

ocilogoff

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocilogoff — Alias de oci_close()

Description

Cette fonction est un alias de : oci_close().

ociloadlob
ocilogon
Fonctions et alias OCI8 obsolètes


Alias de oci_connect

ocilogoff
ocinewcollection
Fonctions et alias OCI8 obsolètes
PHP Manual

ocilogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocilogon — Alias de oci_connect()

Description

Cette fonction est un alias de : oci_connect().

ocilogoff
ocinewcollection
Fonctions et alias OCI8 obsolètes


Alias de oci_new_collection

ocilogon
ocinewcursor
Fonctions et alias OCI8 obsolètes
PHP Manual

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PECL OCI8 >= 1.0.0)

ocinewcollection — Alias de oci_new_collection()

Description

Cette fonction est un alias de : oci_new_collection().

ocilogon
ocinewcursor
Fonctions et alias OCI8 obsolètes


Alias de oci_new_cursor

ocinewcollection
ocinewdescriptor
Fonctions et alias OCI8 obsolètes
PHP Manual

ocinewcursor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinewcursor — Alias de oci_new_cursor()

Description

Cette fonction est un alias de : oci_new_cursor().

ocinewcollection
ocinewdescriptor
Fonctions et alias OCI8 obsolètes


Alias de oci_new_descriptor

ocinewcursor
ocinlogon
Fonctions et alias OCI8 obsolètes
PHP Manual

ocinewdescriptor

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinewdescriptor — Alias de oci_new_descriptor()

Description

Cette fonction est un alias de : oci_new_descriptor().

ocinewcursor
ocinlogon
Fonctions et alias OCI8 obsolètes


Alias de oci_new_connect

ocinewdescriptor
ocinumcols
Fonctions et alias OCI8 obsolètes
PHP Manual

ocinlogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinlogon — Alias de oci_new_connect()

Description

Cette fonction est un alias de : oci_new_connect().

ocinewdescriptor
ocinumcols
Fonctions et alias OCI8 obsolètes


Alias de oci_num_fields

ocinlogon
ociparse
Fonctions et alias OCI8 obsolètes
PHP Manual

ocinumcols

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocinumcols — Alias de oci_num_fields()

Description

Cette fonction est un alias de : oci_num_fields().

ocinlogon
ociparse
Fonctions et alias OCI8 obsolètes


Alias de oci_parse

ocinumcols
ociplogon
Fonctions et alias OCI8 obsolètes
PHP Manual

ociparse

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociparse — Alias de oci_parse()

Description

Cette fonction est un alias de : oci_parse().

ocinumcols
ociplogon
Fonctions et alias OCI8 obsolètes


Alias de oci_pconnect

ociparse
ociresult
Fonctions et alias OCI8 obsolètes
PHP Manual

ociplogon

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociplogon — Alias de oci_pconnect()

Description

Cette fonction est un alias de : oci_pconnect().

ociparse
ociresult
Fonctions et alias OCI8 obsolètes


Alias de oci_result

ociplogon
ocirollback
Fonctions et alias OCI8 obsolètes
PHP Manual

ociresult

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociresult — Alias de oci_result()

Description

Cette fonction est un alias de : oci_result().

ociplogon
ocirollback
Fonctions et alias OCI8 obsolètes


Alias de oci_rollback

ociresult
ocirowcount
Fonctions et alias OCI8 obsolètes
PHP Manual

ocirollback

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocirollback — Alias de oci_rollback()

Description

Cette fonction est un alias de : oci_rollback().

ociresult
ocirowcount
Fonctions et alias OCI8 obsolètes


Alias de oci_num_rows

ocirollback
ocisavelob
Fonctions et alias OCI8 obsolètes
PHP Manual

ocirowcount

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocirowcount — Alias de oci_num_rows()

Description

Cette fonction est un alias de : oci_num_rows().

ocirollback
ocisavelob
Fonctions et alias OCI8 obsolètes


Alias de

ocirowcount
ocisavelobfile
Fonctions et alias OCI8 obsolètes
PHP Manual

ocisavelob

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisavelob — Alias de OCI-Lob->save

Description

Cette fonction est un alias de : OCI-Lob->save.

ocirowcount
ocisavelobfile
Fonctions et alias OCI8 obsolètes


Alias de

ocisavelob
ociserverversion
Fonctions et alias OCI8 obsolètes
PHP Manual

ocisavelobfile

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisavelobfile — Alias de OCI-Lob->import

Description

Cette fonction est un alias de : OCI-Lob->import.

ocisavelob
ociserverversion
Fonctions et alias OCI8 obsolètes


Alias de oci_server_version

ocisavelobfile
ocisetprefetch
Fonctions et alias OCI8 obsolètes
PHP Manual

ociserverversion

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociserverversion — Alias de oci_server_version()

Description

Cette fonction est un alias de : oci_server_version().

ocisavelobfile
ocisetprefetch
Fonctions et alias OCI8 obsolètes


Alias de oci_set_prefetch

ociserverversion
ocistatementtype
Fonctions et alias OCI8 obsolètes
PHP Manual

ocisetprefetch

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocisetprefetch — Alias de oci_set_prefetch()

Description

Cette fonction est un alias de : oci_set_prefetch().

ociserverversion
ocistatementtype
Fonctions et alias OCI8 obsolètes


Alias de oci_statement_type

ocisetprefetch
ociwritelobtofile
Fonctions et alias OCI8 obsolètes
PHP Manual

ocistatementtype

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocistatementtype — Alias de oci_statement_type()

Description

Cette fonction est un alias de : oci_statement_type().

ocisetprefetch
ociwritelobtofile
Fonctions et alias OCI8 obsolètes


Alias de

ocistatementtype
ociwritetemporarylob
Fonctions et alias OCI8 obsolètes
PHP Manual

ociwritelobtofile

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ociwritelobtofile — Alias de OCI-Lob->export

Description

Cette fonction est un alias de : OCI-Lob->export.

ocistatementtype
ociwritetemporarylob
Fonctions et alias OCI8 obsolètes


Alias de

ociwritelobtofile
SQL Ovrimos
Fonctions et alias OCI8 obsolètes
PHP Manual

ociwritetemporarylob

(PHP 4 >= 4.0.6, PECL OCI8 1.0)

ociwritetemporarylob — Alias de OCI-Lob->writeTemporary

Description

Cette fonction est un alias de : OCI-Lob->writeTemporary.

ociwritelobtofile
SQL Ovrimos
Fonctions et alias OCI8 obsolètes


SQL Ovrimos

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Connexion au serveur Ovrimos SQL Server et sélection d'une table système
  • Fonctions Ovrimos SQL
    • ovrimos_close — Ferme une connexion Ovrimos
    • ovrimos_commit — Valide une transaction Ovrimos
    • ovrimos_connect — Connexion à un serveur
    • ovrimos_cursor — Retourne le nom du curseur Ovrimos
    • ovrimos_exec — Exécute une requête SQL
    • ovrimos_execute — Exécute une requête Ovrimos préparée
    • ovrimos_fetch_into — Lit une ligne dans un résultat Ovrimos
    • ovrimos_fetch_row — Lit une ligne dans un résultat Ovrimos
    • ovrimos_field_len — Retourne la taille d'une colonne Ovrimos
    • ovrimos_field_name — Retourne le nom d'une colonne Ovrimos
    • ovrimos_field_num — Retourne le numéro de colonne Ovrimos
    • ovrimos_field_type — Retourne le type numérique d'une colonne Ovrimos
    • ovrimos_free_result — Libère les ressources utilisées par un résultat Ovrimos
    • ovrimos_longreadlen — Indique la taille des données à lire dans une colonne de grande taille
    • ovrimos_num_fields — Retourne le nombre de colonnes Ovrimos
    • ovrimos_num_rows — Retourne le nombre de lignes affectées par une modification Ovrimos
    • ovrimos_prepare — Prépare une requête SQL Ovrimos
    • ovrimos_result_all — Affiche un résultat Ovrimos sous forme de tableau HTML
    • ovrimos_result — Lit le contenu d'une colonne Ovrimos
    • ovrimos_rollback — Annule une transaction
ociwritetemporarylob
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ovrimos SQL Server est une base de données relationnelle client/serveur et transactionnelle, combinée avec des fonctionnalités web, et des transactions rapides.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 4.4.5 et PHP 5.1.0.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

SQL Ovrimos
Installation/Configuration
SQL Ovrimos


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SQL Ovrimos


Pré-requis

Vous devez installer la bibliothèque sqlcli, qui est disponible dans la distribution de Ovrimos SQL Server.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour activer le support d'Ovrimos en PHP, vous devez compiler PHP avec l'option --with-ovrimos[=DIR]. DIR est le chemin jusqu'au dossier d'Ovrimos qui contient la bibliothèque libsqlcli.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
SQL Ovrimos


Exemples

Sommaire

  • Connexion au serveur Ovrimos SQL Server et sélection d'une table système
Constantes pré-définies
Connexion au serveur Ovrimos SQL Server et sélection d'une table système
SQL Ovrimos


Connexion au serveur Ovrimos SQL Server et sélection d'une table système

Exemples
Fonctions Ovrimos SQL
Exemples
PHP Manual

Exemple #1 Connexion au serveur Ovrimos SQL Server et sélection d'une table système

<?php
$conn = ovrimos_connect("server.domain.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connexion établie !";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Requête effectuée !";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Exemples
Fonctions Ovrimos SQL
Exemples


Fonctions Ovrimos SQL

Sommaire

  • ovrimos_close — Ferme une connexion Ovrimos
  • ovrimos_commit — Valide une transaction Ovrimos
  • ovrimos_connect — Connexion à un serveur
  • ovrimos_cursor — Retourne le nom du curseur Ovrimos
  • ovrimos_exec — Exécute une requête SQL
  • ovrimos_execute — Exécute une requête Ovrimos préparée
  • ovrimos_fetch_into — Lit une ligne dans un résultat Ovrimos
  • ovrimos_fetch_row — Lit une ligne dans un résultat Ovrimos
  • ovrimos_field_len — Retourne la taille d'une colonne Ovrimos
  • ovrimos_field_name — Retourne le nom d'une colonne Ovrimos
  • ovrimos_field_num — Retourne le numéro de colonne Ovrimos
  • ovrimos_field_type — Retourne le type numérique d'une colonne Ovrimos
  • ovrimos_free_result — Libère les ressources utilisées par un résultat Ovrimos
  • ovrimos_longreadlen — Indique la taille des données à lire dans une colonne de grande taille
  • ovrimos_num_fields — Retourne le nombre de colonnes Ovrimos
  • ovrimos_num_rows — Retourne le nombre de lignes affectées par une modification Ovrimos
  • ovrimos_prepare — Prépare une requête SQL Ovrimos
  • ovrimos_result_all — Affiche un résultat Ovrimos sous forme de tableau HTML
  • ovrimos_result — Lit le contenu d'une colonne Ovrimos
  • ovrimos_rollback — Annule une transaction
Connexion au serveur Ovrimos SQL Server et sélection d'une table système
ovrimos_close
SQL Ovrimos


Ferme une connexion Ovrimos

Fonctions Ovrimos SQL
ovrimos_commit
Fonctions Ovrimos SQL
PHP Manual

ovrimos_close

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_close — Ferme une connexion Ovrimos

Description

void ovrimos_close ( int $connection )

Ferme la connexion Ovrimos spécifiée. Toutes les transactions non validées sont annulées.

Liste de paramètres

connection

L'identifiant de connexion Ovrimos, retourné par la fonction ovrimos_connect().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ovrimos_connect() - Connexion à un serveur

Fonctions Ovrimos SQL
ovrimos_commit
Fonctions Ovrimos SQL


Valide une transaction Ovrimos

ovrimos_close
ovrimos_connect
Fonctions Ovrimos SQL
PHP Manual

ovrimos_commit

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_commit — Valide une transaction Ovrimos

Description

bool ovrimos_commit ( int $connection_id )

Valide une transaction Ovrimos.

Liste de paramètres

connection_id

L'identifiant de connexion Ovrimos, retourné par la fonction ovrimos_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_rollback() - Annule une transaction

ovrimos_close
ovrimos_connect
Fonctions Ovrimos SQL


Connexion à un serveur

ovrimos_commit
ovrimos_cursor
Fonctions Ovrimos SQL
PHP Manual

ovrimos_connect

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_connect — Connexion à un serveur

Description

int ovrimos_connect ( string $host , string $dborport , string $user , string $password )

Connexion à un serveur spécifié.

Liste de paramètres

host

Le nom de l'hôte ou l'adresse IP.

dborport

Soit le nom de la base de données, soit le numéro du port de connexion.

user

Le nom d'utilisateur.

password

Le mot de passe associé à l'utilisateur user.

Valeurs de retour

Retourne un identifiant de connexion (supérieur à 0) en cas de succès, ou 0 si une erreur survient.

Exemples

Exemple #1 Exemple avec ovrimos_connect()

<?php
$conn = ovrimos_connect("server.example.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connexion ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Requête ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Voir aussi

  • ovrimos_close() - Ferme une connexion Ovrimos

ovrimos_commit
ovrimos_cursor
Fonctions Ovrimos SQL


Retourne le nom du curseur Ovrimos

ovrimos_connect
ovrimos_exec
Fonctions Ovrimos SQL
PHP Manual

ovrimos_cursor

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_cursor — Retourne le nom du curseur Ovrimos

Description

string ovrimos_cursor ( int $result_id )

Retourne le nom du curseur Ovrimos. Pratique, lorsqu'on veut faire des modifications ou des effacements avec des curseurs déjà positionnés.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

Valeurs de retour

Retourne le nom, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

ovrimos_connect
ovrimos_exec
Fonctions Ovrimos SQL


Exécute une requête SQL

ovrimos_cursor
ovrimos_execute
Fonctions Ovrimos SQL
PHP Manual

ovrimos_exec

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_exec — Exécute une requête SQL

Description

int ovrimos_exec ( int $connection_id , string $query )

Exécute une requête SQL (sélection ou modification), et retourne un identifiant de résultat.

Liste de paramètres

connection_id

Un identifiant de connexion Ovrimos, retourné par la fonction ovrimos_connect().

query

La requête SQL. Évidemment, la requête SQL ne doit pas contenir de paramètres. Utilisez la fonction ovrimos_prepare() pour les requêtes préparées.

Valeurs de retour

Retourne l'identifiant de résultat, sous la forme d'un entier, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_execute() - Exécute une requête Ovrimos préparée
  • ovrimos_prepare() - Prépare une requête SQL Ovrimos

ovrimos_cursor
ovrimos_execute
Fonctions Ovrimos SQL


Exécute une requête Ovrimos préparée

ovrimos_exec
ovrimos_fetch_into
Fonctions Ovrimos SQL
PHP Manual

ovrimos_execute

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_execute — Exécute une requête Ovrimos préparée

Description

bool ovrimos_execute ( int $result_id [, array $parameters_array ] )

Exécute une requête Ovrimos préparée.

Liste de paramètres

result_id

Un identifiant de résultat Ovrimos, préparé par la fonction ovrimos_prepare().

parameters_array

Si la requête préparée contient des paramètres (des points d'interrogation dans la requête), un nombre correct de paramètres doit être passé dans le tableau.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_prepare() - Prépare une requête SQL Ovrimos

ovrimos_exec
ovrimos_fetch_into
Fonctions Ovrimos SQL


Lit une ligne dans un résultat Ovrimos

ovrimos_execute
ovrimos_fetch_row
Fonctions Ovrimos SQL
PHP Manual

ovrimos_fetch_into

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_into — Lit une ligne dans un résultat Ovrimos

Description

bool ovrimos_fetch_into ( int $result_id , array &$result_array [, string $how [, int $rownumber ]] )

Lit une ligne depuis le jeu de résultats fourni, dans le tableau result_array.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

result_array

Vous devez passer un tableau par référence. Il sera complété par les valeurs récupérées.

how

Détermine la façon dont les lignes sont récupérées. Peut être une des chaînes suivantes (la casse n'est pas significatif) :

Option | Notes
Next | Suivant par rapport à la position courante. C'est la valeur par défaut.
Prev | Précédent par rapport à la position courante.
First | Premier.
Last | Dernier.
Absolute | Position absolue, par rapport au premier. Nécessite le paramètre rownumber.

rownumber

Le numéro de la ligne, en commençant à 0. Seulement nécessaire lorsque how est défini à Absolute.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de récupération

<?php
$conn=ovrimos_connect("neptune", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connexion ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Requête ok!";
        if (ovrimos_fetch_into($res, $row)) {
            list($table_id, $table_name) = $row;
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_into($res, &$row)) {
                list($table_id, $table_name) = $row;
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Suivant : erreur\n";
            }
        } else {
            echo "Premier : erreur\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

Voir aussi

  • ovrimos_fetch_row() - Lit une ligne dans un résultat Ovrimos

ovrimos_execute
ovrimos_fetch_row
Fonctions Ovrimos SQL


Lit une ligne dans un résultat Ovrimos

ovrimos_fetch_into
ovrimos_field_len
Fonctions Ovrimos SQL
PHP Manual

ovrimos_fetch_row

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_row — Lit une ligne dans un résultat Ovrimos

Description

bool ovrimos_fetch_row ( int $result_id [, int $how [, int $row_number ]] )

Lit une ligne depuis un jeu de résultat. Les valeurs des colonnes peuvent récupérées avec d'autres appels.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

how

Détermine la façon dont les lignes sont récupérées. Peut être une des chaînes suivantes (la casse n'est pas significative) :

Option | Notes
Next | Suivant, par rapport à la position courante. C'est la valeur par défaut.
Prev | Précédent, par rapport à la position courante.
First | Premier.
Last | Dernier.
Absolute | Position absolue, par rapport au premier. Nécessite le paramètre rownumber.

rownumber

Le numéro de la ligne, en commençant à 0. Seulement nécessaire lorsque how est défini à Absolute.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de récupération d'une ligne

<?php
$conn = ovrimos_connect("remote.host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connexion ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Requête ok!";
        if (ovrimos_fetch_row($res, "First")) {
            $table_id = ovrimos_result($res, 1);
            $table_name = ovrimos_result($res, 2);
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_row($res, "Next")) {
                $table_id = ovrimos_result($res, "table_id");
                $table_name = ovrimos_result($res, "table_name");
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Suivant : erreur\n";
            }
        } else {
            echo "Premier : erreur\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>
Récupérera une ligne et affichera le résultat.

Voir aussi

  • ovrimos_fetch_into() - Lit une ligne dans un résultat Ovrimos

ovrimos_fetch_into
ovrimos_field_len
Fonctions Ovrimos SQL


Retourne la taille d'une colonne Ovrimos

ovrimos_fetch_row
ovrimos_field_name
Fonctions Ovrimos SQL
PHP Manual

ovrimos_field_len

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_len — Retourne la taille d'une colonne Ovrimos

Description

int ovrimos_field_len ( int $result_id , int $field_number )

Retourne la taille d'une colonne Ovrimos spécifiée.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

field_number

Le numéro du champ. La numérotation commence à 1.

Valeurs de retour

Retourne la taille, sous la forme d'un entier, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_field_name() - Retourne le nom d'une colonne Ovrimos
  • ovrimos_field_num() - Retourne le numéro de colonne Ovrimos
  • ovrimos_field_type() - Retourne le type numérique d'une colonne Ovrimos

ovrimos_fetch_row
ovrimos_field_name
Fonctions Ovrimos SQL


Retourne le nom d'une colonne Ovrimos

ovrimos_field_len
ovrimos_field_num
Fonctions Ovrimos SQL
PHP Manual

ovrimos_field_name

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_name — Retourne le nom d'une colonne Ovrimos

Description

string ovrimos_field_name ( int $result_id , int $field_number )

Retourne le nom d'une colonne Ovrimos à un index spécifié.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

field_number

Le numéro du champ. La numérotation commence à 1.

Valeurs de retour

Retourne le nom du champ, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_field_len() - Retourne la taille d'une colonne Ovrimos
  • ovrimos_field_num() - Retourne le numéro de colonne Ovrimos
  • ovrimos_field_type() - Retourne le type numérique d'une colonne Ovrimos

ovrimos_field_len
ovrimos_field_num
Fonctions Ovrimos SQL


Retourne le numéro de colonne Ovrimos

ovrimos_field_name
ovrimos_field_type
Fonctions Ovrimos SQL
PHP Manual

ovrimos_field_num

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_num — Retourne le numéro de colonne Ovrimos

Description

int ovrimos_field_num ( int $result_id , string $field_name )

Retourne le numéro de colonne Ovrimos spécifiée.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

field_name

Le nom du champ.

Valeurs de retour

Retourne l'index, en commençant à 1, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_field_len() - Retourne la taille d'une colonne Ovrimos
  • ovrimos_field_name() - Retourne le nom d'une colonne Ovrimos
  • ovrimos_field_type() - Retourne le type numérique d'une colonne Ovrimos

ovrimos_field_name
ovrimos_field_type
Fonctions Ovrimos SQL


Retourne le type numérique d'une colonne Ovrimos

ovrimos_field_num
ovrimos_free_result
Fonctions Ovrimos SQL
PHP Manual

ovrimos_field_type

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_type — Retourne le type numérique d'une colonne Ovrimos

Description

int ovrimos_field_type ( int $result_id , int $field_number )

Retourne le type numérique d'une colonne Ovrimos.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

field_number

Un index, en commençant à 0.

Valeurs de retour

Retourne le type du champ, sous la forme d'un entier, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_field_len() - Retourne la taille d'une colonne Ovrimos
  • ovrimos_field_name() - Retourne le nom d'une colonne Ovrimos
  • ovrimos_field_num() - Retourne le numéro de colonne Ovrimos

ovrimos_field_num
ovrimos_free_result
Fonctions Ovrimos SQL


Libère les ressources utilisées par un résultat Ovrimos

ovrimos_field_type
ovrimos_longreadlen
Fonctions Ovrimos SQL
PHP Manual

ovrimos_free_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_free_result — Libère les ressources utilisées par un résultat Ovrimos

Description

bool ovrimos_free_result ( int $result_id )

Libère les ressources utilisées par un résultat Ovrimos.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

Valeurs de retour

Retourne TRUE.

ovrimos_field_type
ovrimos_longreadlen
Fonctions Ovrimos SQL


Indique la taille des données à lire dans une colonne de grande taille

ovrimos_free_result
ovrimos_num_fields
Fonctions Ovrimos SQL
PHP Manual

ovrimos_longreadlen

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_longreadlen — Indique la taille des données à lire dans une colonne de grande taille

Description

bool ovrimos_longreadlen ( int $result_id , int $length )

Indique le nombre d'octets qui seront lus dans une colonne de grande taille (long varchar et long varbinary).

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

length

Le nombre d'octets à récupérer. Par défaut, 0.

Valeurs de retour

Retourne TRUE.

ovrimos_free_result
ovrimos_num_fields
Fonctions Ovrimos SQL


Retourne le nombre de colonnes Ovrimos

ovrimos_longreadlen
ovrimos_num_rows
Fonctions Ovrimos SQL
PHP Manual

ovrimos_num_fields

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_fields — Retourne le nombre de colonnes Ovrimos

Description

int ovrimos_num_fields ( int $result_id )

Retourne le nombre de colonnes dans l'identifiant de résultat spécifié.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

Valeurs de retour

Retourne le nombre de colonnes, sous la forme d'un entier, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_num_rows() - Retourne le nombre de lignes affectées par une modification Ovrimos

ovrimos_longreadlen
ovrimos_num_rows
Fonctions Ovrimos SQL


Retourne le nombre de lignes affectées par une modification Ovrimos

ovrimos_num_fields
ovrimos_prepare
Fonctions Ovrimos SQL
PHP Manual

ovrimos_num_rows

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_rows — Retourne le nombre de lignes affectées par une modification Ovrimos

Description

int ovrimos_num_rows ( int $result_id )

Retourne le nombre de lignes affectées par une modification Ovrimos.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier, ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_num_fields() - Retourne le nombre de colonnes Ovrimos

ovrimos_num_fields
ovrimos_prepare
Fonctions Ovrimos SQL


Prépare une requête SQL Ovrimos

ovrimos_num_rows
ovrimos_result_all
Fonctions Ovrimos SQL
PHP Manual

ovrimos_prepare

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_prepare — Prépare une requête SQL Ovrimos

Description

int ovrimos_prepare ( int $connection_id , string $query )

Prépare une requête SQL Ovrimos.

Liste de paramètres

connection_id

Un identifiant de connexion Ovrimos, retourné par la fonction ovrimos_connect().

query

La requête SQL.

Valeurs de retour

Retourne un identifiant de résultat en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ovrimos_prepare()

<?php
$conn=ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connexion ok!";

    // Prepare the statement
    $res=ovrimos_prepare($conn, "select table_id, table_name
                                  from sys.tables where table_id=1");
    if ($res != 0) {
        echo "Préparation ok!";
        // Execute the prepared statement
        if (ovrimos_execute($res)) {
            echo "Exécution ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Erreur lors de l'exécution !";
        }
        ovrimos_free_result($res);
    } else {
        echo "Erreur lors de la préparation !\n";
    }
    ovrimos_close($conn);
}
?>

ovrimos_num_rows
ovrimos_result_all
Fonctions Ovrimos SQL


Affiche un résultat Ovrimos sous forme de tableau HTML

ovrimos_prepare
ovrimos_result
Fonctions Ovrimos SQL
PHP Manual

ovrimos_result_all

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result_all — Affiche un résultat Ovrimos sous forme de tableau HTML

Description

int ovrimos_result_all ( int $result_id [, string $format ] )

Affiche un résultat Ovrimos sous forme de tableau HTML.

Liste de paramètres

result_id

Une ressource de résultats, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

format

Attributs HTML optionnels pour les éléments du tableau généré.

Valeurs de retour

Retourne le nombre de lignes générées dans le tableau.

Exemples

Exemple #1 Prépare une requête, l'exécute sur Ovrimos et affiche le résultat

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connexion ok!";
    $res = ovrimos_prepare($conn, "select table_id, table_name
                                    from sys.tables where table_id = 7");
    if ($res != 0) {
        echo "Préparation ok!";
        if (ovrimos_execute($res, array(3))) {
            echo "Exécution ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Erreur lors de l'exécution !";
        }
        ovrimos_free_result($res);
    } else {
        echo "Erreur lors de la préparation !\n";
    }
    ovrimos_close($conn);
}
?>

Exemple #2 ovrimos_result_all() avec meta-information

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connexion ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name
                                 from sys.tables where table_id = 1");
    if ($res != 0) {
        echo "Requête ok! curseur=" . ovrimos_cursor($res) . "\n";
        $colnb = ovrimos_num_fields($res);
        echo "Colonnes affichées=" . $colnb . "\n";
        for ($i=1; $i <= $colnb; $i++) {
            $name = ovrimos_field_name($res, $i);
            $type = ovrimos_field_type($res, $i);
            $len = ovrimos_field_len($res, $i);
            echo "Colonne " . $i . " nom=" . $name . " type=" . $type . " taille=" . $len . "\n";
        }
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

ovrimos_prepare
ovrimos_result
Fonctions Ovrimos SQL


Lit le contenu d'une colonne Ovrimos

ovrimos_result_all
ovrimos_rollback
Fonctions Ovrimos SQL
PHP Manual

ovrimos_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result — Lit le contenu d'une colonne Ovrimos

Description

string ovrimos_result ( int $result_id , mixed $field )

Lit le contenu de la colonne field.

Liste de paramètres

result_id

Un identifiant de résultat, retourné par la fonction ovrimos_execute() ou la fonction ovrimos_exec().

field

Soit une chaîne de caractères représentant le nom du champ, soit son index (en commençant à 1).

Valeurs de retour

Retourne le nom de la colonne, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

ovrimos_result_all
ovrimos_rollback
Fonctions Ovrimos SQL


Annule une transaction

ovrimos_result
Paradox
Fonctions Ovrimos SQL
PHP Manual

ovrimos_rollback

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_rollback — Annule une transaction

Description

bool ovrimos_rollback ( int $connection_id )

Annule la transaction courante.

Liste de paramètres

connection_id

Un identifiant de connexion Ovrimos, retourné par la fonction ovrimos_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ovrimos_commit() - Valide une transaction Ovrimos

ovrimos_result
Paradox
Fonctions Ovrimos SQL


Paradox

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Paradox
    • px_close — Ferme une base de données Paradox
    • px_create_fp — Crée une nouvelle base de données Paradox
    • px_date2string — Convertit une date en une chaîne de caractères
    • px_delete_record — Efface une enregistrement depuis une base de données Paradox
    • px_delete — Efface la ressource d'une base de données Paradox
    • px_get_field — Retourne les spécifications d'un champ
    • px_get_info — Retourne des informations sur un fichier Paradox
    • px_get_parameter — Récupère un paramètre
    • px_get_record — Retourne un enregistrement d'une base de données Paradox
    • px_get_schema — Retourne le schéma de la base de données
    • px_get_value — Récupère une valeur
    • px_insert_record — Insère un enregistrement dans une base de données Paradox
    • px_new — Crée un nouvel objet Paradox
    • px_numfields — Retourne le nombre de champs d'une base de données Paradox
    • px_numrecords — Retourne le nombre d'enregistrements d'une base de données Paradox
    • px_open_fp — Ouvre une base de données Paradox
    • px_put_record — Stock un enregistrement dans une base de données Paradox
    • px_retrieve_record — Retourne un enregistrement depuis une base de données Paradox
    • px_set_blob_file — Définit le fichier depuis lequel les blobs seront lus
    • px_set_parameter — Définit un paramètre
    • px_set_tablename — Définit le nom de la table (déprécié)
    • px_set_targetencoding — Définit l'encodage pour les caractères des champs (déprécié)
    • px_set_value — Définit une valeur
    • px_timestamp2string — Convertit un timestamp en une chaîne de caractères
    • px_update_record — Met à jour les enregistrements dans une base de données Paradox
ovrimos_rollback
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Ce module vous permet de lire des bases de données Paradox ainsi que des fichiers d'index primaires et des fichiers Blob. Il peut également créer des bases de données Paradox mais dû au manque de documentation sur le format des fichiers Paradox, il se peut que les bases créées ne soient pas lisibles avec toutes les autres applications. Les bases de données cryptées peuvent être lues sans pour autant spécifier de mot de passe si pxlib >= 0.5.0 est utilisé.

Note: Ce module est toujours en cours de développement et peut changer, même si l'API ne sera sûrement pas modifié en profondeur.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Paradox
Installation/Configuration
Paradox


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Paradox


Pré-requis

Vous devez avoir au minimum PHP 5.0.0 et libpx >= 0.4.4 pour la plupart des fonctions. Quelques nouvelles fonctions ne sont disponibles que si pxlib >= 0.6.0 est utilisé. L'écriture et la lecture des bases de données cryptées nécessitent pxlib >= 0.5.0. La bibliothèque Paradox (libpx) est disponible sur » http://pxlib.sourceforge.net.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/paradox

Assurez-vous d'avoir installé pxlib avant. Si vous avez installé pxlib via rpm ou via un paquet Debian, n'oubliez pas d'installer également le paquet de développement.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

px_new() crée un nouvel objet Paradox, nécessaire à toutes les fonctions Paradox.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les deux tables suivantes listent toutes les constantes définies par l'extension Paradox.

Constantes pour les types de champs
Nom | Signification
PX_FIELD_ALPHA | Données sous forme de caractères avec une longueur fixe
PX_FIELD_DATE | Date, nombre de jours depuis le 1.1.0000
PX_FIELD_SHORT | Entier court (2 octets)
PX_FIELD_LONG | Entier long (4 octets)
PX_FIELD_CURRENCY | Identique à PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Booléen
PX_FIELD_MEMOBLOB | Objet binaire large
PX_FIELD_BLOB | Objet binaire large (non supporté)
PX_FIELD_FMTMEMOBLOB | Objet binaire large
PX_FIELD_OLE | Objet OLE (en fait un blob, non supporté)
PX_FIELD_GRAPHIC | Graphique (en fait, un BLOB, non supporté)
PX_FIELD_TIME | heure, nombre de millisecondes depuis le 1.1.0000
PX_FIELD_TIMESTAMP | timestamp, nombre de millisecondes depuis le 1.1.0000
PX_FIELD_AUTOINC | Entier auto-incrémenté (comme PX_FIELD_LONG)
PX_FIELD_BCD | Nombre décimal stocké en format bcd (non supporté)
PX_FIELD_BYTES | Tableau d'octets d'une longueur maximale de 255 octets (non supporté)
PX_KEYTOLOWER | Convertit tous les noms de champs en minuscule
PX_KEYTOUPPER | Convertit tous les noms de champs en majuscule
Constantes pour les types de fichiers
Nom | Signification
PX_FILE_INDEX_DB | Base de données indexée
PX_FILE_PRIM_INDEX | Index primaire
PX_FILE_NON_INDEX_DB | Base de données non indexée
PX_FILE_NON_INC_SEC_INDEX | Non-indexé incrémentalement secondaire
PX_FILE_SEC_INDEX | Index secondaire
PX_FILE_INC_SEC_INDEX | Index secondaire incrémental
PX_FILE_NON_INC_SEC_INDEX_G | Index secondaire non-incrémental
PX_FILE_SEC_INDEX_G | Index secondaire
PX_FILE_INC_SEC_INDEX_G | Index secondaire non-incrémental

Types de ressources
Fonctions Paradox
Paradox


Fonctions Paradox

API orientée objet

L'extension Paradox fournit également une API orientée objet. Elle consiste en une seule classe nommée paradox_db. Ses méthodes diffèrent uniquement des fonctions par leurs noms et, bien sûr, le premier paramètre. La table suivante liste toutes les méthodes avec les fonctions équivalentes.

Méthodes pour class paradox_db
Nom de la méthode | Fonction équivalente
Constructeur | px_new()
Destructeur | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

Sommaire

  • px_close — Ferme une base de données Paradox
  • px_create_fp — Crée une nouvelle base de données Paradox
  • px_date2string — Convertit une date en une chaîne de caractères
  • px_delete_record — Efface une enregistrement depuis une base de données Paradox
  • px_delete — Efface la ressource d'une base de données Paradox
  • px_get_field — Retourne les spécifications d'un champ
  • px_get_info — Retourne des informations sur un fichier Paradox
  • px_get_parameter — Récupère un paramètre
  • px_get_record — Retourne un enregistrement d'une base de données Paradox
  • px_get_schema — Retourne le schéma de la base de données
  • px_get_value — Récupère une valeur
  • px_insert_record — Insère un enregistrement dans une base de données Paradox
  • px_new — Crée un nouvel objet Paradox
  • px_numfields — Retourne le nombre de champs d'une base de données Paradox
  • px_numrecords — Retourne le nombre d'enregistrements d'une base de données Paradox
  • px_open_fp — Ouvre une base de données Paradox
  • px_put_record — Stock un enregistrement dans une base de données Paradox
  • px_retrieve_record — Retourne un enregistrement depuis une base de données Paradox
  • px_set_blob_file — Définit le fichier depuis lequel les blobs seront lus
  • px_set_parameter — Définit un paramètre
  • px_set_tablename — Définit le nom de la table (déprécié)
  • px_set_targetencoding — Définit l'encodage pour les caractères des champs (déprécié)
  • px_set_value — Définit une valeur
  • px_timestamp2string — Convertit un timestamp en une chaîne de caractères
  • px_update_record — Met à jour les enregistrements dans une base de données Paradox
Constantes pré-définies
px_close
Paradox


Ferme une base de données Paradox

Fonctions Paradox
px_create_fp
Fonctions Paradox
PHP Manual

px_close

(PECL paradox >= 1.0.0)

px_close — Ferme une base de données Paradox

Description

bool px_close ( resource $pxdoc )

Ferme une base de données Paradox. Cette fonction ne ferme pas le fichier. Vous devez ensuite appeler la fonction fclose().

Liste de paramètres

pxdoc

Ressource identifiant la base de données Paradox telle que retournée par la fonction px_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • px_open_fp() - Ouvre une base de données Paradox
  • L'exemple de la fonction px_new() - Crée un nouvel objet Paradox

Fonctions Paradox
px_create_fp
Fonctions Paradox


Crée une nouvelle base de données Paradox

px_close
px_date2string
Fonctions Paradox
PHP Manual

px_create_fp

(PECL paradox >= 1.0.0)

px_create_fp — Crée une nouvelle base de données Paradox

Description

bool px_create_fp ( resource $pxdoc , resource $file , array $fielddesc )

Crée un nouveau fichier de base de données Paradox. Le fichier actuel doit avoir été ouvert avec la fonction fopen(). Assurez-vous que ce fichier est accessible en écriture.

Note: L'appel à cette fonction émet une alerte à propos d'un nom de table vide qui peut être ignorée en toute sécurité. Définissez juste le nom de la table en suivant avec la fonction px_set_parameter().

Note: Cette fonction est hautement expérimentale, à cause du manque de documentation du format de fichier Paradox. Les fichiers de base de données créés avec cette fonction peuvent être ouvert avec la fonction px_open_fp() et devraient s'ouvrir sans problème avec les logiciels Paradox.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

file

Ressource de fichier telle que retournée par la fonction fopen().

fielddesc

fielddesc est un tableau comprenant un élément pour chaque champ contenant ses spécifications. Une spécification de champ est un tableau avec deux ou trois éléments. Le premier élément est toujours une chaîne de caractères représentant le nom du champ. Il ne peut être plus grand que dix caractères. Le deuxième élément contient le type du champ qui peut être une des constantes listées dans la table "Constantes pour les types de champ". Dans le cas d'un champ sous la forme de caractères ou de bcd, vous devez fournir un troisième élément spécifiant la longueur du champ. Si votre spécification de champ contient des champs Blob, vous devez vous assurer de rendre le champ assez grand pour toutes les valeurs des champs ou bien spécifier un fichier Blob avec la fonction px_blob_file() pour y stocker les Blobs. Si vous ne faîtes pas cela, les données du champ seront tronquées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une base de données Paradox avec deux champs

<?php
if(!$pxdoc = px_new()) {
  /* Gestion d'erreurs */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Gestion d'erreurs */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Voir aussi

  • px_new() - Crée un nouvel objet Paradox
  • px_put_record() - Stock un enregistrement dans une base de données Paradox
  • fopen() - Ouvre un fichier ou une URL

px_close
px_date2string
Fonctions Paradox


Convertit une date en une chaîne de caractères

px_create_fp
px_delete_record
Fonctions Paradox
PHP Manual

px_date2string

(PECL paradox >= 1.4.0)

px_date2string — Convertit une date en une chaîne de caractères

Description

string px_date2string ( resource $pxdoc , int $value , string $format )

Convertit une date stockée dans un fichier Paradox en un format humainement lisible. Les dates Paradox représentent le nombre de jours depuis le 1.1.0000. Cette fonction existe que pour une convenance technique. Elle peut être facilement remplacée par des fonctions mathématiques et relatives aux calendriers tel que montré dans l'exemple ci-dessous.

Liste de paramètres

pxdoc

Identifiant de ressource de la base de données Paradox tel que retourné par la fonction px_new().

value

Valeur comme stockée dans le champ de la base de données Paradox d'un type PX_FIELD_DATE.

format

Format similaire au format utilisé par la fonction date(). Les caractères spéciaux supportés par cette fonction est une partie de ceux utilisés par la fonction date() (Y, y, m, n, d, j, L).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Convertit une date Paradox en un format humainement lisible

<?php
$px = px_new();

/* définition d'une date telle qu'elle peut être stockée dans */
/* un champ date dans une base de données Paradox. */
/* 700000 jours depuis le 1.1.0000. */
$days = 700000;

/* Utilisation des fonctions de calendriers pour afficher */
/* la date en un format humainement lisible */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() affiche la même chose */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

L'exemple ci-dessus va afficher :

7/15/1917
7/15/1917

Voir aussi

  • px_timestamp2string() - Convertit un timestamp en une chaîne de caractères
  • jdtogregorian() - Convertit le nombre de jours du calendrier Julien en date grégorienne

px_create_fp
px_delete_record
Fonctions Paradox


Efface une enregistrement depuis une base de données Paradox

px_date2string
px_delete
Fonctions Paradox
PHP Manual

px_delete_record

(PECL paradox >= 1.4.0)

px_delete_record — Efface une enregistrement depuis une base de données Paradox

Description

bool px_delete_record ( resource $pxdoc , int $num )

px_delete_record() efface un enregistrement dans une base de données Paradox. Elle ne libère pas l'espace dans la base de données, mais le marque comme effacé. L'insertion d'un nouvel enregistrement écrasera cet espace.

Note: Cette fonction est uniquement disponible si pxlib >= 0.6.0 est utilisé.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

num

Le numéro de l'enregistrement est un numéro artificiel comptant les enregistrements dans l'ordre dans les lesquels ils sont stockés en base de données. Le premier enregistrement a le numéro 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

px_date2string
px_delete
Fonctions Paradox


Efface la ressource d'une base de données Paradox

px_delete_record
px_get_field
Fonctions Paradox
PHP Manual

px_delete

(PECL paradox >= 1.0.0)

px_delete — Efface la ressource d'une base de données Paradox

Description

bool px_delete ( resource $pxdoc )

Efface la ressource d'une base de données Paradox et libère toute la mémoire.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

px_delete_record
px_get_field
Fonctions Paradox


Retourne les spécifications d'un champ

px_delete
px_get_info
Fonctions Paradox
PHP Manual

px_get_field

(PECL paradox >= 1.0.0)

px_get_field — Retourne les spécifications d'un champ

Description

array px_get_field ( resource $pxdoc , int $fieldno )

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

fieldno

Numéro du champ. Le premier champ a le numéro 0. Spécifier un numéro de champ inférieur à 0 ou plus grand ou égal au nombre de champs lancera une erreur.

Valeurs de retour

Retourne les spécifications du champ numéro fieldno de la base de données en tant que tableau associatif. Le tableau contient trois éléments nommés name, type et size.

px_delete
px_get_info
Fonctions Paradox


Retourne des informations sur un fichier Paradox

px_get_field
px_get_parameter
Fonctions Paradox
PHP Manual

px_get_info

(PECL paradox >= 1.0.0)

px_get_info — Retourne des informations sur un fichier Paradox

Description

array px_get_info ( resource $pxdoc )

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

Valeurs de retour

Retourne un tableau associatif contenant des informations sur un fichier Paradox. Ce tableau est appelé à évoluer dans le futur.

fileversion

Version du fichier, multiplié par 10, e.g. 70.

tablename

Nom de la table stocké dans le fichier. Si la base de données a été créée par pxlib, alors ce sera la même chose que le nom du fichier sans l'extension.

numrecords

Nombre d'enregistrements dans cette table.

numfields

Nombre de champs dans cette table.

headersize

Nombre d'octets utilisés pour l'en-tête. Vaut habituellement 0x800.

recordsize

Nombre d'octets utilisé par chaque enregistrement. C'est la somme de la taille de tous les champs (disponible depuis la version 1.4.2).

maxtablesize

Cette valeur, multipliée par 0x400, est la taille du bloc de données en octets. Le nombre maximal d'enregistrements dans un bloc de données est un entier de l'intervalle (maxtablesize * 0x400 - 8) / taille de l'enregistrements.

numdatablocks

Le nombre de blocs de données dans le fichier. Chaque bloc de données contient un certain nombre d'enregistrements qui dépend de la taille de l'enregistrement et de la taille du bloc de données (maxtablesize). Les blocs de données ne doivent pas nécessairement être complètement remplis.

numindexfields

Nombre de champs utilisés pour l'index primaire. Le champ commence toujours au numéro 1.

codepage

La page de code DOS qui sera utilisé pour encoder les champs contenant des données sous forme de caractères. Si la cible d'encodage n'est pas définie avec la fonction px_set_targetencoding(), ceci sera l'encodage pour les champs sous forme de caractères lorsque les enregistrements seront récupérés avec la fonction px_get_record() ou px_retrieve_record().

Voir aussi

  • px_numfields() - Retourne le nombre de champs d'une base de données Paradox
  • px_numrecords() - Retourne le nombre d'enregistrements d'une base de données Paradox

px_get_field
px_get_parameter
Fonctions Paradox


Récupère un paramètre

px_get_info
px_get_record
Fonctions Paradox
PHP Manual

px_get_parameter

(PECL paradox >= 1.1.0)

px_get_parameter — Récupère un paramètre

Description

string px_get_parameter ( resource $pxdoc , string $name )

Récupère divers paramètres.

Liste de paramètres

pxdoc

Identifiant de ressource de la base de données Paradox tel que retourné par la fonction px_new().

name

Le nom name peut être un parmi la liste suivante :

tablename

Le nom de la table comme stocké dans l'en-tête de la base de données.

targetencoding

L'encodage pour la sortie. Les données qui seront lues depuis le champs de caractères avec la fonction px_get_record() ou la fonction px_retrieve_record() seront réencodées en utilisant l'encodage de sortie. S'il n'est pas défini, alors les données seront transmises tel que stockées dans la base de données.

inputencoding

L'encodage pour les données d'entrées qui seront stockées dans la base de données. Lors du stockage de données dans un champ de type chaîne de caractères, les données sont attendues dans cette encodage.

Valeurs de retour

Retourne la valeur du paramètre ou FALSE si une erreur survient.

px_get_info
px_get_record
Fonctions Paradox


Retourne un enregistrement d'une base de données Paradox

px_get_parameter
px_get_schema
Fonctions Paradox
PHP Manual

px_get_record

(PECL paradox >= 1.0.0)

px_get_record — Retourne un enregistrement d'une base de données Paradox

Description

array px_get_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données Paradox comme retourné par la fonction px_new().

num

Le numéro de l'enregistrement est un numéro artificiel comptant les enregistrements dans le même ordre que celui de la base de données. Le premier enregistrement a le numéro 0.

mode

Le paramètre optionnel mode peut être PX_KEYTOLOWER ou PX_KEYTOUPPER pour convertir les clés du tableau retourné, en minuscule ou majuscule. Si mode n'est pas spécifié ou vaut 0, alors les clés seront exactement pareil que les noms des champs. Les valeurs des éléments seront les valeurs des champs. Les valeurs NULL seront maintenues et seront différentes de 0.0, 0 ou chaîne vide. Le type de champ PX_FIELD_TIME sera retourné en tant qu'entier contenant le nombre de millisecondes depuis minuit. Les timestamp (PX_FIELD_TIMESTAMP) et les dates (PX_FIELD_DATE) sont des entiers représentants respectivement les millisecondes et les jours depuis le début du calendrier Julien. Utilisez les fonctions px-timestamp2string() et px-date2string() pour les convertir en un format lisible.

Valeurs de retour

Retourne le numéro de l'enregistrement num depuis la base de données Paradox. L'enregistrement est retourné sous la forme d'un tableau associatif dont les clés représentent les noms de champs.

Voir aussi

  • px_retrieve_record() - Retourne un enregistrement depuis une base de données Paradox

px_get_parameter
px_get_schema
Fonctions Paradox


Retourne le schéma de la base de données

px_get_record
px_get_value
Fonctions Paradox
PHP Manual

px_get_schema

(PECL paradox >= 1.0.0)

px_get_schema — Retourne le schéma de la base de données

Description

array px_get_schema ( resource $pxdoc [, int $mode = 0 ] )

px_get_schema() retourne le schéma de la base de données.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données Paradox comme retourné par la fonction px_new().

mode

Si le paramètre optionnel mode vaut PX_KEYTOLOWER ou PX_KEYTOUPPER, les clés du tableau retourné seront converties en minuscule ou en majuscule. Si mode n'est pas fourni ou s'il vaut 0, alors le nom de la clé sera identique au nom du champ.

Valeurs de retour

Retourne le schéma du fichier de base de données en tant que tableau associatif. Le nom de la clé sera le nom du champ. Chaque élément du tableau est lui-même un tableau associatif contenant deux champs : type et size. type est une des constantes listées dans la table "Les constants pour les types de champs". size est le nombre d'octets que ce champ représente dans l'enregistrement. Le total de toutes les tailles des champs est égal à la taille de l'enregistrement tel qu'elle peut être récupérée avec la fonction px-get-info().

px_get_record
px_get_value
Fonctions Paradox


Récupère une valeur

px_get_schema
px_insert_record
Fonctions Paradox
PHP Manual

px_get_value

(PECL paradox >= 1.1.0)

px_get_value — Récupère une valeur

Description

float px_get_value ( resource $pxdoc , string $name )

Récupère diverses valeurs.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données Paradox comme retourné par la fonction px_new().

name

name peut être un parmi les suivants :

numprimkeys

Le nombre de clés primaires. Les base de données Paradox utilisent toujours les champs numprimkeys pour les index primaires.

Valeurs de retour

Retourne la valeur du paramètre ou FALSE si une erreur survient.

px_get_schema
px_insert_record
Fonctions Paradox


Insère un enregistrement dans une base de données Paradox

px_get_value
px_new
Fonctions Paradox
PHP Manual

px_insert_record

(PECL paradox >= 1.4.0)

px_insert_record — Insère un enregistrement dans une base de données Paradox

Description

int px_insert_record ( resource $pxdoc , array $data )

Insert un nouvel enregistrement dans une base de données. L'enregistrement n'est pas nécessairement inséré à la fin de la base de données mais peut être inséré à n'importe quelle position libre trouvée.

Les données à enregistrer sont passées via un tableau de valeurs. Les éléments du tableau doivent correspondre aux champs de la base de données. Si le tableau a moins d'éléments que de champs dans la base de données, les champs restants seront définis à NULL.

La plupart des valeurs des champs peut être passée en tant que leurs équivalents PHP, e.g. une valeur longue est utilisée pour les champs de type PX_FIELD_LONG, PX_FIELD_SHORT et PX_FIELD_AUTOINC, une valeur double est utilisée pour les champs de type PX_FIELD_CURRENCY et PX_FIELD_NUMBER. Les valeurs de champs Blob et alpha sont passées en tant que chaînes de caractères.

Les champs de type PX_FIELD_TIME et PX_FIELD_DATE nécessitent une valeur longue. Dans le premier cas, ce sera le nombre de millisecondes depuis minuit. Dans le second cas, ce sera le nombre de jours depuis le 1.1.0000. Ci-dessous, deux exemples pour convertir la date courante ou le timestamp en une valeur compréhensible par les champs Paradox date/heure.

Note: Cette fonction est uniquement disponible si pxlib >= 0.6.0 est utilisé..

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

data

Un tableau associatif ou indexé contenant les valeurs des champs comme retournées par la fonction px_retrieve_record().

Valeurs de retour

Retourne le numéro de l'enregistrement inséré ou FALSE en cas d'erreur.

Exemples

Exemple #1 Définit les champs date/heure dans une base de données Paradox à la date/heure courant

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
   $rec = px_retrieve_record($px, $i);
   echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
   echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

L'exemple ci-dessus va afficher :

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

Le nombre de jours Julien tel que passé à la fonction jdtogregorian() a une base différente de 1.1.4714 b.c. et doit être calculé en ajoutant 1721425 au nombre de jours utilisé dans le fichier Paradox. Le fait de convertir le nombre de jours en timestamp est facile ; il suffit de multiplier ce nombre par 86400000.0 pour obtenir des millisecondes.

Voir aussi

px_update_record() - Met à jour les enregistrements dans une base de données Paradox

px_get_value
px_new
Fonctions Paradox


Crée un nouvel objet Paradox

px_insert_record
px_numfields
Fonctions Paradox
PHP Manual

px_new

(PECL paradox >= 1.0.0)

px_new — Crée un nouvel objet Paradox

Description

resource px_new ( void )

Crée un nouvel objet Paradox. Vous devez appeler cette fonction avant toute autre fonction. px_new() ne crée aucun fichier sur le disque, il crée juste une instance d'un objet Paradox. Cette fonction doit être appelée si l'interface orientée objet est utilisée. Utilisez new paradox_db() à la place.

Valeurs de retour

Retourne FALSE si une erreur survient.

Exemples

Exemple #1 Ouverture d'une base de données Paradox

<?php
if(!$pxdoc = px_new()) {
  /* Gestionnaire d'erreurs */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Gestionnaire d'erreurs */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

Si vous préférez l'API orientée objet, alors, l'exemple précédent ressemblera à ceci :

Exemple #2 Ouverture d'une base de données Paradox

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /*  Gestionnaire d'erreurs */
}
// ...
$pxdoc->close();
fclose($fp);
?>

Voir aussi

  • px_delete() - Efface la ressource d'une base de données Paradox
  • px_open_fp() - Ouvre une base de données Paradox

px_insert_record
px_numfields
Fonctions Paradox


Retourne le nombre de champs d'une base de données Paradox

px_new
px_numrecords
Fonctions Paradox
PHP Manual

px_numfields

(PECL paradox >= 1.0.0)

px_numfields — Retourne le nombre de champs d'une base de données Paradox

Description

int px_numfields ( resource $pxdoc )

Récupère le nombre de champs dans un fichier de base de données Paradox.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

Valeurs de retour

Retourne le nombre de champs d'un fichier de base de données Paradox. La valeur retournée par cette fonction est identique à la valeur de l'élément numfields du tableau associatif retourné par la fonction px_get_info().

px_new
px_numrecords
Fonctions Paradox


Retourne le nombre d'enregistrements d'une base de données Paradox

px_numfields
px_open_fp
Fonctions Paradox
PHP Manual

px_numrecords

(PECL paradox >= 1.0.0)

px_numrecords — Retourne le nombre d'enregistrements d'une base de données Paradox

Description

int px_numrecords ( resource $pxdoc )

Retourne le nombre d'enregistrements d'un fichier de base de données Paradox.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

Valeurs de retour

Retourne le nombre d'enregistrements d'un fichier de base de données Paradox. La valeur retournée par cette fonction est identique à la valeur de l'élément numrecords du tableau retourné par la fonction px_get_info().

px_numfields
px_open_fp
Fonctions Paradox


Ouvre une base de données Paradox

px_numrecords
px_put_record
Fonctions Paradox
PHP Manual

px_open_fp

(PECL paradox >= 1.0.0)

px_open_fp — Ouvre une base de données Paradox

Description

bool px_open_fp ( resource $pxdoc , resource $file )

Ouvre un fichier de base de données Paradox existant. Le fichier actuel doit avoir été ouvert avant par la fonction fopen(). Cette fonction peut également être utilisée pour ouvrir les fichiers d'index primaires et les traiter comme des bases de données Paradox. Ceci est supporté pour ceux qui veulent investisseur un index primaire. Il ne peut être utilisé pour accélérer l'accès à un fichier de base de données.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données Paradox comme retourné par la fonction px_new().

file

file est la valeur retournée par la fonction fopen() avec le fichier de base de données actuelle en tant que paramètre. Assurez-vous que la base de données est accessible en écriture si vous devez mettre à jour des enregistrements ou en insérer de nouveaux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • L'exemple de la fonction px_new() - Crée un nouvel objet Paradox

px_numrecords
px_put_record
Fonctions Paradox


Stock un enregistrement dans une base de données Paradox

px_open_fp
px_retrieve_record
Fonctions Paradox
PHP Manual

px_put_record

(PECL paradox >= 1.0.0)

px_put_record — Stock un enregistrement dans une base de données Paradox

Description

bool px_put_record ( resource $pxdoc , array $record [, int $recpos = -1 ] )

Stock un enregistrement dans une base de données Paradox. L'enregistrement sera toujours ajouté à la fin de la base de données, indépendamment des slots libres. Utilisez la fonction px_insert_record() pour ajouter un nouvel enregistrement dans le premier slot libre trouvé dans la base de données.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

record

Tableau associatif ou indexé contenant les valeurs des champs tel que retourné par la fonction px_retrieve_record().

recpos

Ce paramètre optionnel peut être utilisé pour spécifier un nombre d'enregistrements supérieurs au nombre d'enregistrements actuellement en base de données. La fonction ajoutera autant d'enregistrements vides que nécessaires. Ce paramètre est inutile dans la plupart des cas.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

px_open_fp
px_retrieve_record
Fonctions Paradox


Retourne un enregistrement depuis une base de données Paradox

px_put_record
px_set_blob_file
Fonctions Paradox
PHP Manual

px_retrieve_record

(PECL paradox >= 1.4.0)

px_retrieve_record — Retourne un enregistrement depuis une base de données Paradox

Description

array px_retrieve_record ( resource $pxdoc , int $num [, int $mode = 0 ] )

Cette fonction est très similaire à la fonction px_get_record() mais utilise en interne une approche différente pour récupérer les données. Elle utilise pxlib pour lire la valeur de chaque champ, permettant ainsi le support de plus de types de champs.

Note: Cette fonction est uniquement disponible si pxlib >= 0.6.0 est utilisé.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox comme retourné par la fonction px_new().

num

Le numéro de l'enregistrement est un numéro artificiel comptant les enregistrements dans l'ordre dans les lesquels ils sont stockés en base de données. Le premier enregistrement a le numéro 0.

mode

Le paramètre optionnel mode peut être PX_KEYTOLOWER ou PX_KEYTOUPPER afin de convertir les clés en majuscule ou en minuscule. Si mode n'est pas fournie ou vaut 0, alors la clé sera exactement le nom du champ. Les valeurs des éléments contiendront les valeurs des champs. les valeurs NULL seront retenues et sont différentes de 0.0, 0 ou une chaîne vide. Les champs de type PX_FIELD_TIME seront retournés en tant qu'entiers représentant le nombre de secondes depuis minuit. Un timestamp est une valeur flottante comptant également les millisecondes depuis le début du calendrier julien.

Valeurs de retour

Retourne l'enregistrement numéro num depuis une base de données Paradox. L'enregistrement est retourné en tant que tableau associatif dont les clés sont les noms des champs.

Voir aussi

  • px_get_record() - Retourne un enregistrement d'une base de données Paradox

px_put_record
px_set_blob_file
Fonctions Paradox


Définit le fichier depuis lequel les blobs seront lus

px_retrieve_record
px_set_parameter
Fonctions Paradox
PHP Manual

px_set_blob_file

(PECL paradox >= 1.3.0)

px_set_blob_file — Définit le fichier depuis lequel les blobs seront lus

Description

bool px_set_blob_file ( resource $pxdoc , string $filename )

Définit le nom du fichier depuis lequel les blobs seront lus. Sans l'appel à cette fonction, px_get_record() ou px_retrieve_record() retournera uniquement les données des champs blob si les données sont des parties des enregistrements et ne sont pas stockées dans un fichier blob. Les données blob sont stockées dans un enregistrement si elles sont suffisamment petites pour correspondre à la taille du champ blob.

L'appel aux fonctions px_put_record(),
px_insert_record() ou
px_update_record() sans appeler la fonction
px_set_blob_file() fera que les champs Blobs seront
tronqués à moins que les données rentrent juste dans le fichier de base de données.

Deux appels à cette fonction fermera le premier fichier blob et ouvrira le nouveau.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

filename

Le nom du fichier. Son extension doit être .MB.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

px_retrieve_record
px_set_parameter
Fonctions Paradox


Définit un paramètre

px_set_blob_file
px_set_tablename
Fonctions Paradox
PHP Manual

px_set_parameter

(PECL paradox >= 1.1.0)

px_set_parameter — Définit un paramètre

Description

bool px_set_parameter ( resource $pxdoc , string $name , string $value )

Définit divers paramètres.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données Paradox comme retourné par la fonction px_new().

name

Suivant le paramètre que vous voulez définir, name peut prendre une des valeurs suivantes :

tablename

Le nom de la table comme il est stocké dans l'en-tête de la base de données.

targetencoding

L'encodage pour la sortie. Les données lues depuis les champs seront encodées avec ce paramètre.

inputencoding

L'encodage des données d'entrées qui seront stockées dans la base de données.

value

La valeur du paramètre à définir. Pour l'encodage de l'entrée et l'encodage de la sortie, cette valeur doit être le nom de l'encodage tel que reconnu par iconv ou recode, e.g. iso-8859-1, utf-8, cp850.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • px_get_info() - Retourne des informations sur un fichier Paradox pour déterminer le code de page DOS.

px_set_blob_file
px_set_tablename
Fonctions Paradox


Définit le nom de la table (déprécié)

px_set_parameter
px_set_targetencoding
Fonctions Paradox
PHP Manual

px_set_tablename

(PECL paradox >= 1.0.0)

px_set_tablename — Définit le nom de la table (déprécié)

Description

void px_set_tablename ( resource $pxdoc , string $name )

Définit le nom de la table d'une base de données Paradox, qui a été créé avec la fonction px_create_fp(). Cette fonction est obsolète, utilisez la fonction px_set_parameter() à la place.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

tablename

Le nom de la table. Si elle n'est pas nommée explicitement, le nom de la table correspondra au nom du fichier de base de données.

Valeurs de retour

Retourne NULL en cas de succès ou FALSE si une erreur survient.

Voir aussi

px_set_parameter() - Définit un paramètre

px_set_parameter
px_set_targetencoding
Fonctions Paradox


Définit l'encodage pour les caractères des champs (déprécié)

px_set_tablename
px_set_value
Fonctions Paradox
PHP Manual

px_set_targetencoding

(PECL paradox >= 1.0.0)

px_set_targetencoding — Définit l'encodage pour les caractères des champs (déprécié)

Description

bool px_set_targetencoding ( resource $pxdoc , string $encoding )

Définit l'encodage pour les données récupérées depuis les champs. Tous les caractères des champs seront réencodés par cette fonction. Si l'encodage n'est pas défini, les caractères des données seront retournés en utilisant l'encodage de page DOS comme spécifié dans la base de données. Le paramètre encoding peut être n'importe quel identifiant connu par iconv ou recode. Sous les systèmes Unix, exécutez la commande iconv -l pour obtenir une liste des encodages disponibles.

Cette fonction est obsolète et devrait être remplacée par la fonction px_set_parameter().

Voir aussi la fonction px_get_info() pour déterminer le code page DOS tel que stocké dans le fichier de base de données.

Liste de paramètres

pxdoc

Identifiant de ressource de base de données Paradox tel que retourné par la fonction px_new().

encoding

L'encodage pour la sortie. Les données lues depuis des champs caractères seront encodées avec cet encodage.

Valeurs de retour

Retourne FALSE si l'encodage n'a pû être définie, e.g. l'encodage est inconnu ou pxlib ne supporte pas du tout le réencodage. Dans le deuxième cas, une alerte sera émise.

Voir aussi

px_set_parameter() - Définit un paramètre

px_set_tablename
px_set_value
Fonctions Paradox


Définit une valeur

px_set_targetencoding
px_timestamp2string
Fonctions Paradox
PHP Manual

px_set_value

(PECL paradox >= 1.1.0)

px_set_value — Définit une valeur

Description

bool px_set_value ( resource $pxdoc , string $name , float $value )

Définit diverses valeurs.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données comme retourné par la fonction px_new().

name

name peut être un des suivants :

numprimkeys

Le nombre de clés primaires. Les bases de données Paradox utilisent toujours le premier champ numprimkeys pour l'index primaire.

value

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

px_set_parameter() - Définit un paramètre

px_set_targetencoding
px_timestamp2string
Fonctions Paradox


Convertit un timestamp en une chaîne de caractères

px_set_value
px_update_record
Fonctions Paradox
PHP Manual

px_timestamp2string

(PECL paradox >= 1.4.0)

px_timestamp2string — Convertit un timestamp en une chaîne de caractères

Description

string px_timestamp2string ( resource $pxdoc , float $value , string $format )

Convertit un timestamp tel que stocké dans un fichier Paradox en un format humainement lisible. Les timestamps Paradox sont le nombre de millisecondes depuis le 0001-01-02. Cette fonction peut facilement être remplacée par des fonctions mathématiques et de calendriers tel qu'utilisées dans l'exemple ci-dessous.

Liste de paramètres

pxdoc

Identifiant de la ressource de la base de données.

value

Valeur comme stockée dans un champ de base de données Paradox de type PX_FIELD_TIME ou PX_FIELD_TIMESTAMP.

format

Format similaire au format utilisé par la fonction date(). Les caractères spéciaux supportés par cette fonction sont une partie de ceux supportés par la fonction date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Convertit un timestamp Paradox en un format humainement lisible

<?php
$px = px_new();

/* assignement d'une date telle qu'elle peut être stockée dans */
/* un champ date d'une base de données Paradox. */
/* 700000 jours depuis le 1.1.0000. */
$days = 700000;

/* Utilisation des fonctions de calendriers pour afficher */
/* un format humainement lisible de la date */
echo jdtogregorian($days+1721425)."\n";

/* Convertit en un timestamp tel que stocké dans une base de données Paradox */
/* Timestamps sont stockés en millisecondes depuis le 0001-01-02 */
$stamp = $days * 86400.0 * 1000.0;
/* Ajout d'une heure */
$stamp += 3600000.0;
/* Affichera : '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

L'exemple ci-dessus va afficher :

7/15/1917
7/15/1917 01:00:00

Le nombre de jours Julien tel que passé à la fonction jdtogregorian() a une base différente de 1.1.4714 b.c. et doit être calculé en ajoutant 1721425 au nombre de jours utilisé dans le fichier Paradox. Le fait de convertir un nombre de jours en un timestamp est facile ; il suffit de le multiplier par 86400000.0 pour obtenir des millisecondes.

Voir aussi

  • px_date2string() - Convertit une date en une chaîne de caractères
  • jdtogregorian() - Convertit le nombre de jours du calendrier Julien en date grégorienne

px_set_value
px_update_record
Fonctions Paradox


Met à jour les enregistrements dans une base de données Paradox

px_timestamp2string
PostgreSQL
Fonctions Paradox
PHP Manual

px_update_record

(PECL paradox >= 1.4.0)

px_update_record — Met à jour les enregistrements dans une base de données Paradox

Description

bool px_update_record ( resource $pxdoc , array $data , int $num )

Cette fonction met à jour un enregistrement dans la base de données. L'enregistrement commence à 0.

Les données de l'enregistrement sont passées en tant que tableau de valeurs. Les éléments du tableau doivent correspondre aux champs de la base de données. Si le tableau a moins d'éléments que la base de données n'a de champs, les champs restants seront définis à NULL.

Note: Cette fonction est uniquement disponible si pxlib >= 0.6.0 est utilisé.

Liste de paramètres

pxdoc

Identifiant de ressource de la base de données Paradox comme retourné par la fonction px_new().

data

Tableau associatif contenant les valeurs des champs comme retournées par la fonction px_retrieve_record().

num

Le numéro de l'enregistrement est un numéro artificiel comptant les enregistrements dans l'ordre dans les lesquels ils sont stockés en base de données. Le premier enregistrement a le numéro 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

px_insert_record() - Insère un enregistrement dans une base de données Paradox

px_timestamp2string
PostgreSQL
Fonctions Paradox


PostgreSQL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple général de l'extension PostgreSQL
  • Fonctions PostgreSQL
    • pg_affected_rows — Retourne le nombre de lignes affectées
    • pg_cancel_query — Annule une requête asynchrone
    • pg_client_encoding — Lit l'encodage du client
    • pg_close — Termine une connexion PostgreSQL
    • pg_connect — Établit une connexion PostgreSQL
    • pg_connection_busy — Vérifie si la connexion PostgreSQL est occupée
    • pg_connection_reset — Relance la connexion au serveur PostgreSQL
    • pg_connection_status — Lit le statut de la connexion PostgreSQL
    • pg_convert — Convertit des tableaux associatifs en une commande PostgreSQL
    • pg_copy_from — Insère des lignes dans une table à partir d'un tableau
    • pg_copy_to — Copie une table dans un tableau
    • pg_dbname — Retourne le nom de la base de données PostgreSQL
    • pg_delete — Efface des lignes PostgreSQL
    • pg_end_copy — Synchronise avec le serveur PostgreSQL
    • pg_escape_bytea — Protège une chaîne pour insertion dans un champ bytea
    • pg_escape_string — Protège une chaîne de caractères pour l'insérer dans un champ texte
    • pg_execute — Exécute une requête préparée PostGreSQL
    • pg_fetch_all_columns — Récupère toutes les lignes d'une colonne de résultats particulière en tant que tableau
    • pg_fetch_all — Lit toutes les lignes d'un résultat
    • pg_fetch_array — Lit une ligne de résultat PostgreSQL dans un tableau
    • pg_fetch_assoc — Lit une ligne de résultat PostgreSQL sous forme de tableau associatif
    • pg_fetch_object — Lit une ligne de résultat PostgreSQL dans un objet
    • pg_fetch_result — Retourne les valeurs d'un résultat
    • pg_fetch_row — Lit une ligne dans un tableau
    • pg_field_is_null — Teste si un champ PostgreSQL est à NULL
    • pg_field_name — Retourne le nom d'un champ PostgreSQL
    • pg_field_num — Retourne le numéro d'une colonne
    • pg_field_prtlen — Retourne la taille imprimée
    • pg_field_size — Retourne la taille interne de stockage d'un champ donné
    • pg_field_table — Retourne le nom ou l'oid d'une table
    • pg_field_type_oid — Retourne le type ID (OID) pour le numéro du champ correspondant
    • pg_field_type — Retourne le type d'un champ PostgreSQL donné par index
    • pg_free_result — Libère la mémoire
    • pg_get_notify — Lit le message SQL NOTIFY
    • pg_get_pid — Lit l'identifiant de processus du serveur PostgreSQL
    • pg_get_result — Lit un résultat PostgreSQL asynchrone
    • pg_host — Retourne le nom d'hôte
    • pg_insert — Insère un tableau dans une table
    • pg_last_error — Lit le dernier message d'erreur sur la connexion
    • pg_last_notice — Retourne la dernière note du serveur PostgreSQL
    • pg_last_oid — Retourne l'identifiant de la dernière ligne
    • pg_lo_close — Ferme un objet de grande taille PostgreSQL
    • pg_lo_create — Crée un objet de grande taille PostgreSQL
    • pg_lo_export — Exporte un objet de grande taille vers un fichier
    • pg_lo_import — Importe un objet de grande taille depuis un fichier
    • pg_lo_open — Ouvre un objet de grande taille PostgreSQL
    • pg_lo_read_all — Lit un objet de grande taille en totalité
    • pg_lo_read — Lit un objet de grande taille
    • pg_lo_seek — Modifie la position dans un objet de grande taille
    • pg_lo_tell — Retourne la position courante dans un objet de grande taille PostgreSQL
    • pg_lo_unlink — Efface un objet de grande taille PostgreSQL
    • pg_lo_write — Écrit un objet de grande taille PostgreSQL
    • pg_meta_data — Lit les métadonnées de la table PostgreSQL
    • pg_num_fields — Retourne le nombre de champ
    • pg_num_rows — Retourne le nombre de lignes PostgreSQL
    • pg_options — Retourne les options PostgreSQL
    • pg_parameter_status — Consulte un paramètre de configuration courant du serveur
    • pg_pconnect — Établit une connexion PostgreSQL persistante
    • pg_ping — Ping la connexion à la base
    • pg_port — Retourne le numéro de port
    • pg_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution
    • pg_put_line — Envoie une chaîne au serveur PostgreSQL
    • pg_query_params — Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL
    • pg_query — Exécute une requête PostgreSQL
    • pg_result_error_field — Retourne un champ individuel d'un rapport d'erreur
    • pg_result_error — Lit le message d'erreur associé à un résultat
    • pg_result_seek — Modifie la ligne courant dans un résultat
    • pg_result_status — Lit le statut du résultat
    • pg_select — Effectue une sélection PostgreSQL
    • pg_send_execute — Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)
    • pg_send_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution
    • pg_send_query_params — Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s)
    • pg_send_query — Exécute une requête PostgreSQL asynchrone
    • pg_set_client_encoding — Choisit l'encodage du client PostgreSQL
    • pg_set_error_verbosity — Détermine la le degré des messages retournés par pg_last_error et pg_result_error
    • pg_trace — Active le suivi d'une connexion PostgreSQL
    • pg_transaction_status — Retourne le statut de la transaction en cours du serveur
    • pg_tty — Retourne le nom de TTY associé à la connexion
    • pg_unescape_bytea — Supprime la protection d'une chaîne de type bytea
    • pg_untrace — Termine le suivi d'une connexion PostgreSQL
    • pg_update — Modifie les lignes d'une table
    • pg_version — Retourne un tableau avec les versions du client, du protocole et du serveur (si disponible)
px_update_record
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

La base de données PostgreSQL est un produit Open Source, disponible sans frais. PostgreSQL, développé au département de Science informatique, à UC Berkeley, met en place la majorité des concepts des bases relationnelles actuellement disponibles sur le marché. PostgreSQL accepte le langage SQL92/SQL3, assure l'intégrité transactionnelle et l'extension de type. PostgreSQL est une évolution du code original de Berkeley.

PostgreSQL
Installation/Configuration
PostgreSQL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
PostgreSQL


Pré-requis

Pour accéder au support PostgreSQL, vous avez besoin de PostgreSQL 6.5 ou plus récent ; PostgreSQL 7.0 ou plus récent pour activer toutes les fonctionnalités du module PostgreSQL. PostgreSQL supporte de nombreux jeux de caractères, y compris les jeux multioctets asiatiques. La version courante et plus de détails sur PostgreSQL sont accessibles sur le site » http://www.postgresql.org/ et la » Documentation PostgreSQL.

Installation/Configuration
Installation
Installation/Configuration


Installation

Afin d'activer le support PostgreSQL, l'option --with-pgsql[=DIR] est nécessaire lors de la compilation de PHP. DIR est le chemin du dossier d'installation de PostgreSQL, et par défaut il vaut /usr/local/pgsql. Si le module de chargement dynamique est disponible, le module PostgreSQL peut être chargé avec la directive extension du fichier php.ini ou via la fonction dl().

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration PostGreSQL
Nom | Défaut | Modifiable | Historique
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

pgsql.allow_persistent booléen

Autorise ou non les connexions persistantes Postgre.

pgsql.max_persistent entier

Le nombre maximum de connexions persistantes Postgre par processus.

pgsql.max_links entier

Le nombre maximum de connexions Postgre par processus, y compris les connexions persistantes.

pgsql.auto_reset_persistent entier

Détecte les connexions persistantes (ouvertes avec pg_pconnect()) rompues.

pgsql.ignore_notice entier

Active ou non l'affichage des notices PostgreSQL.

pgsql.log_notice entier

Active ou non l'enregistrement en fichier log des messages notices PostgreSQL. La directive PHP pgsql.ignore_notice doit être désactivée pour pouvoir enregistrer les messages de notices en fichier log.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il y a deux types de ressource utilisé dans le module PostgreSQL. La première est l'identifiant pour la connexion à la base de données et le second est une ressource qui contient le résultat d'une requête.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

PGSQL_ASSOC (entier)
Passée à pg_fetch_array(). Retourne un tableau associatif des noms et valeurs des champs.
PGSQL_NUM (entier)
Passée à pg_fetch_array(). Retourne un tableau à index numérique des numéros et valeurs des champs.
PGSQL_BOTH (entier)
Passée à pg_fetch_array(). Retourne un tableau des valeurs des champs qui est indexés numériquement (par le numéro des champs) et indexés littéralement (par le nom des champs).
PGSQL_CONNECT_FORCE_NEW (entier)
Passée à pg_connect() pour forcer la création d'une nouvelle connexion, plutôt que de réutiliser une connexion identique existante.
PGSQL_CONNECTION_BAD (entier)
Retournée par pg_connection_status() indiquant que la connexion à la base de données est invalide.
PGSQL_CONNECTION_OK (entier)
Retournée par pg_connection_status() indiquant que la connexion à la base de données est valide.
PGSQL_SEEK_SET (entier)
Passée à pg_lo_seek(). Le positionnement commencera au début de l'objet.
PGSQL_SEEK_CUR (entier)
Passée à pg_lo_seek(). Le positionnement commencera à la position courante.
PGSQL_SEEK_END (entier)
Passée à pg_lo_seek(). Le positionnement commencera à la fin de l'objet.
PGSQL_EMPTY_QUERY (entier)
Retournée par pg_result_status(). La chaîne de caractères envoyée au serveur était vide.
PGSQL_COMMAND_OK (entier)
Retournée par pg_result_status(). Commande correctement complétée ne retournant aucune donnée.
PGSQL_TUPLES_OK (entier)
Retournée par pg_result_status(). Commande correctement complétée retournant des données (comme SELECT ou SHOW).
PGSQL_COPY_OUT (entier)
Retournée par pg_result_status(). Copie (à partir du serveur) de transfert de données commencée.
PGSQL_COPY_IN (entier)
Retournée par pg_result_status(). Copie (vers le serveur) de transfert de données commencée.
PGSQL_BAD_RESPONSE (entier)
Retournée par pg_result_status(). La réponse du serveur n'a pas été comprise.
PGSQL_NONFATAL_ERROR (entier)
Retournée par pg_result_status(). Une erreur non fatale (de niveau notice ou warning) s'est produite.
PGSQL_FATAL_ERROR (entier)
Retournée par pg_result_status(). Une erreur fatale s'est produite.
PGSQL_TRANSACTION_IDLE (entier)
Retournée par pg_transaction_Status(). La connexion est actuellement libre, aucune transaction en cours.
PGSQL_TRANSACTION_ACTIVE (entier)
Retournée par pg_transaction_status(). Une commande est en cours sur la connexion. Une requête a été envoyée sur la connexion et n'a toujours pas été complétée.
PGSQL_TRANSACTION_INTRANS (entier)
Retournée par pg_transaction_status(). La connexion est libre, dans un bloc de transaction.
PGSQL_TRANSACTION_INERROR (entier)
Retournée par pg_transaction_status(). La connexion est libre, dans un bloc de transaction échoué.
PGSQL_TRANSACTION_UNKNOWN (entier)
Retournée par pg_transaction_status(). La connexion est mauvaise.
PGSQL_DIAG_SEVERITY (entier)
Passée à pg_result_error_field(). La sévérité; le contenu du champ est ERROR, FATAL ou PANIC (dans un message d'erreur) ou WARNING, NOTICE, DEBUG, INFO ou LOG (dans un message d'avertissement) ou une traduction localisée parmi celles-ci. Toujours présent.
PGSQL_DIAG_SQLSTATE (entier)
Passée à pg_result_error_field(). Le code SQLSTATE pour cette erreur. Le code SQLSTATE identifie le type d'erreur qui s'est produite; cela peut être utilisé par des applications d'entrée pour effectuer des opérations spécifiques (comme la gestion d'erreur) en réponse à une erreur de base de données particulière. Ce champ ne peut être localisé et est toujours présent.
PGSQL_DIAG_MESSAGE_PRIMARY (entier)
Passée à pg_result_error_field(). Le champ d'erreur primaire interprétable pour l'utilisateur (normalement une ligne). Toujours présent.
PGSQL_DIAG_MESSAGE_DETAIL (entier)
Passée à pg_result_error_field(). Détail : un second optionnel message d'erreur apportant plus de détails à propos du problème. Peut être sur plusieurs lignes.
PGSQL_DIAG_MESSAGE_HINT (entier)
Passée à pg_result_error_field(). Conseil : une suggestion optionnelle qui indique que faire à propos du problème. Ceci est prévu d'être différent de l'erreur puisqu'elle offre un conseil (potentiellement inadéquat) plutôt que les faits véridiques. Peut être sur plusieurs lignes.
PGSQL_DIAG_STATEMENT_POSITION (entier)
Passée à pg_result_error_field(). Une chaîne de caractères contenant une valeur entière décimale indiquant une erreur de position du curseur en tant qu'index dans la requête originale. Le premier caractère a l'index 1 et les positions sont mesurées en caractères, non en octets.
PGSQL_DIAG_INTERNAL_POSITION (entier)
Passée à pg_result_error_field(). Ceci est défini étant la même chose que le champ PG_DIAG_STATEMENT_POSITION, mais cela est utilisé lorsque la position du curseur réfère à une commande générée internement plutôt que d'une envoyée par le client. Le champ PG_DIAG_INTERNAL_QUERY apparaîtra toujours lorsque ce champ apparaît.
PGSQL_DIAG_INTERNAL_QUERY (entier)
Passée à pg_result_error_field(). Le texte d'une commande générée internement échouée. Cela peut être, par exemple, une requête SQL envoyée par une fonction PL/pgSQL.
PGSQL_DIAG_CONTEXT (entier)
Passée à pg_result_error_field(). Une indication du contexte dans lequel l'erreur s'est produit. Présentement, ceci inclut une pile d'appel des traceback des fonctions procédurales actives ainsi que des requête générées à l'interne. Le traçage est une entrée par ligne, les plus récentes en premier.
PGSQL_DIAG_SOURCE_FILE (entier)
Passée à pg_result_error_field(). Le nom du fichier de l'emplacement du code source PostgreSQL où l'erreur a été reportée.
PGSQL_DIAG_SOURCE_LINE (entier)
Passée à pg_result_error_field(). Le nombre de ligne de l'emplacement du code source PostgreSQL où l'erreur a été reportée.
PGSQL_DIAG_SOURCE_FUNCTION (entier)
Passée à pg_result_error_field(). Le nom de la fonction de source code PostgreSQL reportant l'erreur.
PGSQL_ERRORS_TERSE (entier)
Passée à pg_set_error_verbosity(). Spécifie que les messages retournés incluent la sévérité, le texte primaire ainsi que la position seulement; ceci devrait entrer sur une seule ligne.
PGSQL_ERRORS_DEFAULT (entier)
Passée à pg_set_error_verbosity(). Le mode par défaut produit des messages qui incluent ce qui est plus haut et des détails en plus, conseil ou des champs contextes (ceci peut être sur plusieurs lignes).
PGSQL_ERRORS_VERBOSE (entier)
Passée à pg_set_error_verbosity(). Le mode verbeux inclut tous les champs disponibles.
PGSQL_STATUS_LONG (entier)
Passée à pg_result_status(). Indique que le code résultat est désiré numérique.
PGSQL_STATUS_STRING (entier)
Passée à pg_result_status(). Indique que le tag de résultat de commande est désiré textuel.
PGSQL_CONV_IGNORE_DEFAULT (entier)
Passée à pg_convert(). Ignore les valeurs par défaut dans la table pendant la conversion.
PGSQL_CONV_FORCE_NULL (entier)
Passée à pg_convert(). Utilise NULL à la place d'une chaîne de caractères vide.
PGSQL_CONV_IGNORE_DEFAULT (entier)
Passée à pg_convert(). Ignore la conversion de NULL à l'intérieur des colonnes NOT NULL.
Types de ressources
Exemples
PostgreSQL


Exemples

Sommaire

  • Exemple général de l'extension PostgreSQL
Constantes pré-définies
Exemple général de l'extension PostgreSQL
PostgreSQL


Exemple général de l'extension PostgreSQL

Exemples
Fonctions PostgreSQL
Exemples
PHP Manual

Ce simple exemple montre comment se connecter, exécuter une requête et afficher les lignes résultantes et se déconnecter d'une base de données PostgreSQL.

Exemple #1 Exemple général de l'extension PostgreSQL

<?php
// Connexion, sélection de la base de données
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
    or die('Connexion impossible : ' . pg_last_error());

// Exécution de la requête SQL
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Échec de la requête : ' . pg_last_error());

// Affichage des résultats en HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Libère le résultat
pg_free_result($result);

// Ferme la connexion
pg_close($dbconn);
?>

Exemples
Fonctions PostgreSQL
Exemples


Fonctions PostgreSQL

Notes

Note: Les fonctions ne sont pas toutes supportées par toutes les versions. Cela dépend de votre version de libpq (la bibliothèque cliente de PostgreSQL C) et comment libpq est compilée. Si les extensions PHP PostGreSQL sont manquantes, alors c'est parce que votre version de libpq ne les supporte pas.

Note: La plupart des fonctions PostgreSQL acceptent le paramètre connection comme premier paramètre optionnel. S'il n'est pas fourni, la dernière connexion ouverte est utilisée. Si elle n'existe pas, les fonctions retournent FALSE.

Note: PostgreSQL transforme automatiquement tous les identifiants (par exemple, les noms de tables/colonnes) en minuscule à la création d'objet et lors de la requête. Pour forcer l'utilisation des caractères majuscules ou minuscules et majuscules des identifiants, vous devez échapper l'identifiant en utilisant des guillemets ("").

Note: PostgreSQL n'a pas de commande spéciale pour récupérer les schémas des bases de données (par exemple, toutes les tables dans la base de données). À la place, il y a un schéma standard nommé information_schema dans PostgreSQL 7.4 et supérieure contenant les vues du système avec toutes les informations nécessaires, dans un format de requête facile. Voyez la » Documentation PostgreSQL pour tous les détails.

Sommaire

  • pg_affected_rows — Retourne le nombre de lignes affectées
  • pg_cancel_query — Annule une requête asynchrone
  • pg_client_encoding — Lit l'encodage du client
  • pg_close — Termine une connexion PostgreSQL
  • pg_connect — Établit une connexion PostgreSQL
  • pg_connection_busy — Vérifie si la connexion PostgreSQL est occupée
  • pg_connection_reset — Relance la connexion au serveur PostgreSQL
  • pg_connection_status — Lit le statut de la connexion PostgreSQL
  • pg_convert — Convertit des tableaux associatifs en une commande PostgreSQL
  • pg_copy_from — Insère des lignes dans une table à partir d'un tableau
  • pg_copy_to — Copie une table dans un tableau
  • pg_dbname — Retourne le nom de la base de données PostgreSQL
  • pg_delete — Efface des lignes PostgreSQL
  • pg_end_copy — Synchronise avec le serveur PostgreSQL
  • pg_escape_bytea — Protège une chaîne pour insertion dans un champ bytea
  • pg_escape_string — Protège une chaîne de caractères pour l'insérer dans un champ texte
  • pg_execute — Exécute une requête préparée PostGreSQL
  • pg_fetch_all_columns — Récupère toutes les lignes d'une colonne de résultats particulière en tant que tableau
  • pg_fetch_all — Lit toutes les lignes d'un résultat
  • pg_fetch_array — Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_assoc — Lit une ligne de résultat PostgreSQL sous forme de tableau associatif
  • pg_fetch_object — Lit une ligne de résultat PostgreSQL dans un objet
  • pg_fetch_result — Retourne les valeurs d'un résultat
  • pg_fetch_row — Lit une ligne dans un tableau
  • pg_field_is_null — Teste si un champ PostgreSQL est à NULL
  • pg_field_name — Retourne le nom d'un champ PostgreSQL
  • pg_field_num — Retourne le numéro d'une colonne
  • pg_field_prtlen — Retourne la taille imprimée
  • pg_field_size — Retourne la taille interne de stockage d'un champ donné
  • pg_field_table — Retourne le nom ou l'oid d'une table
  • pg_field_type_oid — Retourne le type ID (OID) pour le numéro du champ correspondant
  • pg_field_type — Retourne le type d'un champ PostgreSQL donné par index
  • pg_free_result — Libère la mémoire
  • pg_get_notify — Lit le message SQL NOTIFY
  • pg_get_pid — Lit l'identifiant de processus du serveur PostgreSQL
  • pg_get_result — Lit un résultat PostgreSQL asynchrone
  • pg_host — Retourne le nom d'hôte
  • pg_insert — Insère un tableau dans une table
  • pg_last_error — Lit le dernier message d'erreur sur la connexion
  • pg_last_notice — Retourne la dernière note du serveur PostgreSQL
  • pg_last_oid — Retourne l'identifiant de la dernière ligne
  • pg_lo_close — Ferme un objet de grande taille PostgreSQL
  • pg_lo_create — Crée un objet de grande taille PostgreSQL
  • pg_lo_export — Exporte un objet de grande taille vers un fichier
  • pg_lo_import — Importe un objet de grande taille depuis un fichier
  • pg_lo_open — Ouvre un objet de grande taille PostgreSQL
  • pg_lo_read_all — Lit un objet de grande taille en totalité
  • pg_lo_read — Lit un objet de grande taille
  • pg_lo_seek — Modifie la position dans un objet de grande taille
  • pg_lo_tell — Retourne la position courante dans un objet de grande taille PostgreSQL
  • pg_lo_unlink — Efface un objet de grande taille PostgreSQL
  • pg_lo_write — Écrit un objet de grande taille PostgreSQL
  • pg_meta_data — Lit les métadonnées de la table PostgreSQL
  • pg_num_fields — Retourne le nombre de champ
  • pg_num_rows — Retourne le nombre de lignes PostgreSQL
  • pg_options — Retourne les options PostgreSQL
  • pg_parameter_status — Consulte un paramètre de configuration courant du serveur
  • pg_pconnect — Établit une connexion PostgreSQL persistante
  • pg_ping — Ping la connexion à la base
  • pg_port — Retourne le numéro de port
  • pg_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution
  • pg_put_line — Envoie une chaîne au serveur PostgreSQL
  • pg_query_params — Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL
  • pg_query — Exécute une requête PostgreSQL
  • pg_result_error_field — Retourne un champ individuel d'un rapport d'erreur
  • pg_result_error — Lit le message d'erreur associé à un résultat
  • pg_result_seek — Modifie la ligne courant dans un résultat
  • pg_result_status — Lit le statut du résultat
  • pg_select — Effectue une sélection PostgreSQL
  • pg_send_execute — Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)
  • pg_send_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution
  • pg_send_query_params — Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s)
  • pg_send_query — Exécute une requête PostgreSQL asynchrone
  • pg_set_client_encoding — Choisit l'encodage du client PostgreSQL
  • pg_set_error_verbosity — Détermine la le degré des messages retournés par pg_last_error et pg_result_error
  • pg_trace — Active le suivi d'une connexion PostgreSQL
  • pg_transaction_status — Retourne le statut de la transaction en cours du serveur
  • pg_tty — Retourne le nom de TTY associé à la connexion
  • pg_unescape_bytea — Supprime la protection d'une chaîne de type bytea
  • pg_untrace — Termine le suivi d'une connexion PostgreSQL
  • pg_update — Modifie les lignes d'une table
  • pg_version — Retourne un tableau avec les versions du client, du protocole et du serveur (si disponible)
Exemple général de l'extension PostgreSQL
pg_affected_rows
PostgreSQL


Retourne le nombre de lignes affectées

Fonctions PostgreSQL
pg_cancel_query
Fonctions PostgreSQL
PHP Manual

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_affected_rows — Retourne le nombre de lignes affectées

Description

int pg_affected_rows ( resource $result )

pg_affected_rows() retourne le nombre de lignes affectées par les requêtes de type INSERT, UPDATE et DELETE.

Note: Auparavant, cette fonction s'appelait pg_cmdtuples().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

Valeurs de retour

Le nombre de lignes affectées par la requête. S'il n'y a pas de ligne affecté, la fonction retournera 0.

Exemples

Exemple #1 Exemple avec pg_affected_rows()

<?php
$result = pg_query($conn, "INSERT INTO editeur VALUES ('Auteur')");

$cmdtuples = pg_affected_rows($result);

echo $cmdtuples . " lignes ont été affectées.\n";
?>

L'exemple ci-dessus va afficher :

1 lignes ont été affectées.

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_query_params() - Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL
  • pg_execute() - Exécute une requête préparée PostGreSQL
  • pg_num_rows() - Retourne le nombre de lignes PostgreSQL

Fonctions PostgreSQL
pg_cancel_query
Fonctions PostgreSQL


Annule une requête asynchrone

pg_affected_rows
pg_client_encoding
Fonctions PostgreSQL
PHP Manual

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query — Annule une requête asynchrone

Description

bool pg_cancel_query ( resource $connection )

pg_cancel_query() annule la requête asynchrone, démarrée avec
pg_send_query(),
pg_send_query_params() ou
pg_send_execute().
Vous ne pouvez pas annuler une requête démarrée avec pg_query().

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_cancel_query()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from auteurs; select count(*) from auteurs;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Premier appel de pg_get_result() : $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 a $rows1 enregistrements\n\n";

  // Annule la requête en cours de fonctionnement. Ce sera la deuxième requête
  // elle fonctionne encore.
  pg_cancel_query($dbconn);
?>

L'exemple ci-dessus va afficher :

Premier appel de pg_get_result() : Resource id #3
Resource id #3 a 3 enregistrements

Voir aussi

  • pg_send_query() - Exécute une requête PostgreSQL asynchrone
  • pg_connection_busy() - Vérifie si la connexion PostgreSQL est occupée

pg_affected_rows
pg_client_encoding
Fonctions PostgreSQL


Lit l'encodage du client

pg_cancel_query
pg_close
Fonctions PostgreSQL
PHP Manual

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_client_encoding — Lit l'encodage du client

Description

string pg_client_encoding ([ resource $connection ] )

PostgreSQL supporte la conversion automatique entre le serveur et le client pour certains jeux de caractères. pg_client_encoding() retourne l'encodage du client. La chaîne de retour sera un des encodages standards de PostgreSQL.

Note: Cette fonction requiert PHP 4.0.3 ou plus récent et PostgreSQL version 7.0 ou plus récent. Si la bibliothèque libpq est compilée sans le support de l'encodage multioctets, pg_client_encoding() retournera toujours SQL_ASCII. Le support de l'encodage dépend de la version de PostgreSQL. Référez-vous à la documentation de PostgreSQL sur les encodages supportés.
Auparavant, cette fonction s'appelait pg_clientencoding().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

L'encodage du client ou FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec pg_client_encoding()

<?php
// Assume $conn étant une connexion à une base de données ISO-8859-1
$encoding = pg_client_encoding($conn);

echo "L'encodage du client est : ", $encoding, "\n";
?>

L'exemple ci-dessus va afficher :

L'encodage du client est : ISO-8859-1

Voir aussi

  • pg_set_client_encoding() - Choisit l'encodage du client PostgreSQL

pg_cancel_query
pg_close
Fonctions PostgreSQL


Termine une connexion PostgreSQL

pg_client_encoding
pg_connect
Fonctions PostgreSQL
PHP Manual

pg_close

(PHP 4, PHP 5)

pg_close — Termine une connexion PostgreSQL

Description

bool pg_close ([ resource $connection ] )

pg_close() ferme la connexion au serveur PostgreSQL associé à connection.

Note: Il n'est généralement pas nécessaire de fermer une connexion non persistante, car elles sont automatiquement fermées à la fin d'un script.

Si des objets de grande taille ont été ouverts avec cette connexion, ne fermez pas la connexion avant d'avoir refermé les objets.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_close()

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=marie")
      or die("Connexion impossible");
echo 'Connexion réussie';
pg_close($dbconn);
?>

L'exemple ci-dessus va afficher :

Connexion réussie

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL

pg_client_encoding
pg_connect
Fonctions PostgreSQL


Établit une connexion PostgreSQL

pg_close
pg_connection_busy
Fonctions PostgreSQL
PHP Manual

pg_connect

(PHP 4, PHP 5)

pg_connect — Établit une connexion PostgreSQL

Description

resource pg_connect ( string $connection_string [, int $connect_type ] )

pg_connect() ouvre une connexion à une base de données PostgreSQL grâce à la chaîne de connexion connection_string.

Si un deuxième appel à pg_connect() est fait avec les mêmes arguments, aucune nouvelle connexion ne sera établie tant que vous passerez PGSQL_CONNECT_FORCE_NEW à connect_type, mais la connexion précédente sera retournée.

L'ancienne syntaxe $conn = pg_connect("host", "port", "options", "tty", "dbname") est obsolète.

Liste de paramètres

connection_string

La chaîne connection_string peut être vide pour utiliser tous les paramètres par défaut ou elle peut contenir un ou plusieurs paramètres de configuration séparés par des espaces. Chaque paramètre de configuration est sous la forme code = valeur. Les espaces autour du signe égal sont optionnels. Pour écrire une valeur vide ou une valeur contenant des espaces, entourez cette valeur avec des apostrophes, par exemple : code = 'une valeur'. Les apostrophes et les antislashs à l'intérieur de la valeur doivent être échappés par un antislash, c'est-à-dire \' et \\.

Les mots-clé actuellement reconnus sont : host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (ignoré), sslmode, requiressl (obsolète, utilisez sslmode) et service. La liste de ces arguments dépend de la version de votre serveur PostgreSQL.

connect_type

Si PGSQL_CONNECT_FORCE_NEW est passé en argument, alors une nouvelle connexion sera créée, même si la chaîne connection_string est identique à celle de la connexion existante.

Valeurs de retour

Ressource de connexion PostgreSQL en cas de succès, FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec pg_connect()

<?php
$dbconn = pg_connect("dbname=marie");
// connexion à une base de données nommée "marie"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=marie");
// connexion à une base de données nommée "marie" sur l'hôte "localhost" sur le port "5432"

$dbconn3 = pg_connect("host=mouton port=5432 dbname=marie user=agneau password=foo");
// connexion à une base de données nommée "marie" sur l'hôte "mouton" avec un
// nom d'utilisateur et un mot de passe

$conn_string = "host=mouton port=5432 dbname=test user=agneau password=bar";
$dbconn4 = pg_connect($conn_string);
// connexion à une base de données nommée "test" sur l'hôte "mouton" avec un
// nom d'utilisateur et un mot de passe
?>

Voir aussi

  • pg_pconnect() - Établit une connexion PostgreSQL persistante
  • pg_close() - Termine une connexion PostgreSQL
  • pg_host() - Retourne le nom d'hôte
  • pg_port() - Retourne le numéro de port
  • pg_tty() - Retourne le nom de TTY associé à la connexion
  • pg_options() - Retourne les options PostgreSQL
  • pg_dbname() - Retourne le nom de la base de données PostgreSQL

pg_close
pg_connection_busy
Fonctions PostgreSQL


Vérifie si la connexion PostgreSQL est occupée

pg_connect
pg_connection_reset
Fonctions PostgreSQL
PHP Manual

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_busy — Vérifie si la connexion PostgreSQL est occupée

Description

bool pg_connection_busy ( resource $connection )

pg_connection_busy() détermine si la connexion est occupée. Si elle est occupée, une requête a déjà été lancée, et est en cours. Si pg_get_result() est utilisée, elle sera alors bloquée.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

Retourne TRUE si la connexion est occupée, sinon FALSE.

Exemples

Exemple #1 Exemple avec pg_connection_busy()

<?php
 $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");
 $bs = pg_connection_busy($dbconn);
 if ($bs) {
     echo 'La connexion est occupée';
 } else {
     echo 'La connexion est libre';
 }
?>

Voir aussi

  • pg_connection_status() - Lit le statut de la connexion PostgreSQL
  • pg_get_result() - Lit un résultat PostgreSQL asynchrone

pg_connect
pg_connection_reset
Fonctions PostgreSQL


Relance la connexion au serveur PostgreSQL

pg_connection_busy
pg_connection_status
Fonctions PostgreSQL
PHP Manual

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_reset — Relance la connexion au serveur PostgreSQL

Description

bool pg_connection_reset ( resource $connection )

pg_connection_reset() effectue une reconnexion au serveur, avec les mêmes paramètres que lors de la connexion précédente avec connection. Cette fonction est pratique pour le traitement des erreurs.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_connection_reset()

<?php
 $dbconn = pg_connect("dbname=publisher") or die ("Connexion impossible");
 $dbconn2 = pg_connection_reset($dbconn);
 if ($dbconn2) {
     echo 'Redémarrage réussi';
 } else {
     echo 'Redémarrage échoué';
 }
?>

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL
  • pg_pconnect() - Établit une connexion PostgreSQL persistante
  • pg_connection_status() - Lit le statut de la connexion PostgreSQL

pg_connection_busy
pg_connection_status
Fonctions PostgreSQL


Lit le statut de la connexion PostgreSQL

pg_connection_reset
pg_convert
Fonctions PostgreSQL
PHP Manual

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_status — Lit le statut de la connexion PostgreSQL

Description

int pg_connection_status ( resource $connection )

pg_connection_status() retourne le statut de la connexion connection.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

PGSQL_CONNECTION_OK ou PGSQL_CONNECTION_BAD.

Exemples

Exemple #1 Exemple avec pg_connection_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Connexion ok';
  } else {
      echo 'Connexion erronée';
  }
?>

Voir aussi

  • pg_connection_busy() - Vérifie si la connexion PostgreSQL est occupée

pg_connection_reset
pg_convert
Fonctions PostgreSQL


Convertit des tableaux associatifs en une commande PostgreSQL

pg_connection_status
pg_copy_from
Fonctions PostgreSQL
PHP Manual

pg_convert

(PHP 4 >= 4.3.0, PHP 5)

pg_convert — Convertit des tableaux associatifs en une commande PostgreSQL

Description

array pg_convert ( resource $connection , string $table_name , array $assoc_array [, int $options = 0 ] )

pg_convert() vérifie et convertit le tableau associatif assoc_array en une requête SQL valide. Pour que pg_convert() fonctionne, il faut que la table table_name existe, et contienne au moins autant de colonnes que le tableau assoc_array a d'éléments. Les noms des champs de table_name doivent correspondre aux index du tableau dans assoc_array. Retourne un tableau avec les valeurs converties en cas de succès, et sinon, FALSE.

Note: S'il y a des champs booléens dans table_name, n'utilisez pas la constante TRUE dans assoc_array. Elle sera convertie en chaîne de caractères "TRUE" qui ne sera pas une entrée valide pour un champ booléen en PostgreSQL. Utilisez une de ces valeurs à la place : "t", "true", "1", "y", "yes".

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

table_name

Nom de la table sur pour laquelle les types seront convertis.

assoc_array

Données à être converties.

options

Un nombre de PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL ou PGSQL_CONV_IGNORE_NOT_NULL, combiné.

Valeurs de retour

Un tableau des valeurs converties ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_convert()

<?php
  $dbconn = pg_connect('dbname=foo');

  $tmp = array(
      'auteur' => 'Joe Thackery',
      'annee' => 2005,
      'titre' => 'Ma Vie, par Joe Thackery'
  );

  $vals = pg_convert($dbconn, 'auteurs', $tmp);
?>

Voir aussi

  • pg_meta_data() - Lit les métadonnées de la table PostgreSQL

pg_connection_status
pg_copy_from
Fonctions PostgreSQL


Insère des lignes dans une table à partir d'un tableau

pg_convert
pg_copy_to
Fonctions PostgreSQL
PHP Manual

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_from — Insère des lignes dans une table à partir d'un tableau

Description

bool pg_copy_from ( resource $connection , string $table_name , array $rows [, string $delimiter [, string $null_as ]] )

pg_copy_from() insère les éléments du tableau rows dans une table. Cette fonction utilise la commande SQL interne COPY FROM.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

table_name

Nom de la table dans laquelle rows sera copié.

rows

Un tableau de données à être copié à l'intérieur de table_name. Chaque valeur dans rows devient une ligne dans table_name. Chaque valeur dans rows devrait être une chaîne délimitée par des valeurs à insérer à l'intérieur de chaque champ. Les valeurs doivent être terminées par un saut à la ligne.

delimiter

Le marqueur qui sépare les valeurs pour chaque champ dans chaque élément de rows. La valeur par défaut est TAB.

null_as

Comment les valeurs NULL de SQL sont représentées dans rows. La valeur par défaut est \N ("\\N").

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_copy_from()

<?php
   $db = pg_connect("dbname=publisher") or die("Connexion impossible");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Voir aussi

  • pg_copy_to() - Copie une table dans un tableau

pg_convert
pg_copy_to
Fonctions PostgreSQL


Copie une table dans un tableau

pg_copy_from
pg_dbname
Fonctions PostgreSQL
PHP Manual

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_to — Copie une table dans un tableau

Description

array pg_copy_to ( resource $connection , string $table_name [, string $delimiter [, string $null_as ]] )

pg_copy_to() copie la table table_name dans un tableau. Cette fonction utilise la commande interne SQL COPY TO pour insérer les tableaux.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

table_name

Nom de la table à partir de laquelle les données dans rows seront copiées.

delimiter

Le marqueur qui sépare les valeurs pour chaque champ dans chaque élément de rows. La valeur par défaut est TAB.

null_as

Comment les valeurs NULL de SQL sont représentées dans rows. La valeur par défaut est \N ("\\N").

Valeurs de retour

Un tableau avec un élément pour chaque ligne de données COPY. La fonction retourne FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec pg_copy_to()

<?php
   $db = pg_connect("dbname=publisher") or die("Connexion impossible");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Voir aussi

  • pg_copy_from() - Insère des lignes dans une table à partir d'un tableau

pg_copy_from
pg_dbname
Fonctions PostgreSQL


Retourne le nom de la base de données PostgreSQL

pg_copy_to
pg_delete
Fonctions PostgreSQL
PHP Manual

pg_dbname

(PHP 4, PHP 5)

pg_dbname — Retourne le nom de la base de données PostgreSQL

Description

string pg_dbname ([ resource $connection ] )

pg_dbname() retourne le nom de la base de données PostgreSQL associée à l'index de connexion connection.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Une chaîne de type string contenant le nom de la base de données associée à la connexion connection ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_dbname()

<?php
 error_reporting(E_ALL);

 pg_connect ("host=localhost port=5432 dbname=marie");
 echo pg_dbname(); // affiche marie
?>

pg_copy_to
pg_delete
Fonctions PostgreSQL


Efface des lignes PostgreSQL

pg_dbname
pg_end_copy
Fonctions PostgreSQL
PHP Manual

pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete — Efface des lignes PostgreSQL

Description

mixed pg_delete ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_delete() efface les lignes de la table table_name, spécifiées par le tableau associatif assoc_array. Si option est spécifié, pg_convert() est appliqué à assoc_array avec cette option.

Liste de paramètres

connection

Ressource de connexion PostgreSQL.

table_name

Nom de la table depuis laquelle les lignes seront effacées.

assoc_array

Un tableau où les clés sont les noms des champs de la table table_name et où les valeurs sont les valeurs de ces champs qui sont à effacés.

options

Toute combinaison des valeurs suivantes : PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC ou PGSQL_DML_STRING. Si PGSQL_DML_STRING fait partie du paramètre options alors, la requête sera retournée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Retourne une chaîne de caractères si PGSQL_DML_STRING est passé dans le paramètre options.

Exemples

Exemple #1 Exemple avec pg_delete()

<?php
 $db = pg_connect ('dbname=foo');
 // C'est sans problème, car $_POST est convertit automatiquement
 $res = pg_delete($db, 'post_log', $_POST);
 if ($res) {
     echo "Les données POSTées ont été effacées : $res\n";
 } else {
     echo "Les données d'entrées sont erronées.\n";
 }
?>

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

pg_dbname
pg_end_copy
Fonctions PostgreSQL


Synchronise avec le serveur PostgreSQL

pg_delete
pg_escape_bytea
Fonctions PostgreSQL
PHP Manual

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5)

pg_end_copy — Synchronise avec le serveur PostgreSQL

Description

bool pg_end_copy ([ resource $connection ] )

pg_end_copy() synchronise le client PostgreSQL (normalement un processus serveur web) avec le serveur PostgreSQL, après une opération de copie faite par pg_put_line(). pg_end_copy() doit être utilisé, autrement le serveur PostgreSQL ne sera plus synchronisé avec le client et émettra une erreur.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_end_copy()

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\tBonjour le monde\t4.5\n");
  pg_put_line($conn, "4\tAurevoir le monde\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Voir aussi

  • pg_put_line() - Envoie une chaîne au serveur PostgreSQL

pg_delete
pg_escape_bytea
Fonctions PostgreSQL


Protège une chaîne pour insertion dans un champ bytea

pg_end_copy
pg_escape_string
Fonctions PostgreSQL
PHP Manual

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea — Protège une chaîne pour insertion dans un champ bytea

Description

string pg_escape_bytea ([ resource $connection ], string $data )

pg_escape_bytea() protège les caractères de la chaîne data avec le mode bytea. La chaîne protégée est retournée.

Note: Lorsque vous utilisez une commande SELECT avec des données de type bytea, PostgreSQL retourne des valeurs octales, préfixées avec des antislashs '\' (par exemple \032). Les utilisateurs doivent effectuer la conversion en format binaire manuellement.
pg_escape_bytea() requiert PostgreSQL 7.2 ou plus récent. Avec PostgreSQL 7.2.0 et 7.2.1, les données bytea doivent être transtypée lorsque vous activez le support des chaînes de caractères multioctets. C'est-à-dire INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);. PostgreSQL 7.2.2 ou plus récent ne requiert pas cette manipulation. Toutefois, si le client et le serveur n'utilisent pas le même jeu de caractères, il peut arriver des erreurs. Il faut alors forcer le transtypage manuellement.

Liste de paramètres

connection

Ressource de connexion à une base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion créée par la fonction pg_connect() ou la fonction pg_pconnect().

data

Une chaîne de caractères contenant du texte ou des données binaires qui seront insérées dans la colonne bytea.

Valeurs de retour

Une chaîne de caractères contenant les données échappées.

Historique

Version | Description
5.2.0 | Le paramètre connection a été ajouté.

Exemples

Exemple #1 Exemple avec pg_escape_bytea()

<?php
// Connexion à la base de données
$dbconn = pg_connect('dbname=foo');

// Lecture d'un fichier binaire
$data = file_get_contents('image1.jpg');

// Échappement des données binaires
$escaped = pg_escape_bytea($data);

// Insertion dans la base de données
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Voir aussi

  • pg_unescape_bytea() - Supprime la protection d'une chaîne de type bytea
  • pg_escape_string() - Protège une chaîne de caractères pour l'insérer dans un champ texte

pg_end_copy
pg_escape_string
Fonctions PostgreSQL


Protège une chaîne de caractères pour l'insérer dans un champ texte

pg_escape_bytea
pg_execute
Fonctions PostgreSQL
PHP Manual

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_string — Protège une chaîne de caractères pour l'insérer dans un champ texte

Description

string pg_escape_string ([ resource $connection ], string $data )

pg_escape_string() protège une chaîne de caractères pour l'insérer dans la base de données. Elle retourne la chaîne ainsi protégée au format PostgreSQL. L'utilisation de cette fonction est recommandée, à la place de addslashes(). Si le type de la colonne est bytea, pg_escape_bytea() doit plutôt être utilisée.

Note: Cette fonction requiert PostgreSQL 7.2 ou plus récent.

Liste de paramètres

connection

Ressource de connexion à une base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion créée par la fonction pg_connect() ou la fonction pg_pconnect().

data

Une chaîne de caractères contenant le texte à échapper.

Valeurs de retour

Une chaîne de caractères contenant les données échappées.

Historique

Version | Description
5.2.0 | Le paramètre connection a été ajouté.

Exemples

Exemple #1 Exemple avec pg_escape_string()

<?php
// Connexion à la base de données
$dbconn = pg_connect('dbname=foo');

// Lecture d'un fichier texte (contenant des apostrophes et des antislashs)
$data = file_get_contents('letter.txt');

// Protection des données
$escaped = pg_escape_string($data);

// Insertion dans la base de données
pg_query("INSERT INTO correspondence (name, data) VALUES ('Ma lettre', '{$escaped}')");
?>

Voir aussi

  • pg_escape_bytea() - Protège une chaîne pour insertion dans un champ bytea

pg_escape_bytea
pg_execute
Fonctions PostgreSQL


Exécute une requête préparée PostGreSQL

pg_escape_string
pg_fetch_all_columns
Fonctions PostgreSQL
PHP Manual

pg_execute

(PHP 5 >= 5.1.0)

pg_execute — Exécute une requête préparée PostGreSQL

Description

resource pg_execute ([ resource $connection ], string $stmtname , array $params )

Envoie une requête pour exécuter une requête préparée avec les paramètres donnés et attend le résultat.

pg_execute() est comme pg_query_params(), mais la commande qui sera exécutée est spécifiée en nommant une requête préalablement préparée, au lieu de donner une chaîne en tant que requête. Cette caractéristique permet aux commandes qui seront utilisées à plusieurs reprises d'être analysées et planifiées qu'une seule fois, plutôt que d'être exécutées chaque fois. La requête doit avoir été préalablement préparée dans la session courante. pg_execute() est supportée seulement avec les versions PostgreSQL 7.4 ou plus récentes; la commande échouera si vous l'utilisez avec des versions antérieures.

Les paramètres sont identiques à la fonction pg_query_params() à l'exception du nom de la requête préparée qui est donnée à la place de la requête sous forme de chaîne.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

stmtname

Le nom de la requête préparée à exécuter. Si une chaîne vide est spécifiée (""), alors la requête qui n'est pas nommée est exécutée. Le nom doit avoir été précédemment préparé en utilisant pg_prepare(), pg_send_prepare() ou une commande SQL PREPARE.

params

Un tableau de valeurs de paramètres pour substituer les variables $1, $2, etc. dans la requête préparée originale. Le nombre d'éléments présents dans le tableau doit concorder avec le nombre de variables à remplacer.

Avertissement

Les éléments sont convertis en chaînes de caractères en appelant cette fonction.

Valeurs de retour

Une ressource de résultats en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_execute()

<?php
// Connexion à une base de données nommée "marie"
$dbconn = pg_connect("dbname=marie");

// Prépare une requête pour l'exécution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');

// Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
// la chaîne "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Exécute la même requête préparée, cette fois avec un paramètre différent
$result = pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));

?>

Voir aussi

  • pg_prepare() - Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution
  • pg_send_prepare() - Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution
  • pg_query_params() - Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL

pg_escape_string
pg_fetch_all_columns
Fonctions PostgreSQL


Récupère toutes les lignes d'une colonne de résultats particulière en tant que tableau

pg_execute
pg_fetch_all
Fonctions PostgreSQL
PHP Manual

pg_fetch_all_columns

(PHP 5 >= 5.1.0)

pg_fetch_all_columns — Récupère toutes les lignes d'une colonne de résultats particulière en tant que tableau

Description

array pg_fetch_all_columns ( resource $result [, int $column = 0 ] )

pg_fetch_all_columns() retourne un tableau qui contient toutes les lignes (enregistrements) d'une colonne particulière d'une ressource de résultats.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Liste de paramètres

result

Ressource de résultats d'une requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

column

Numéro de la colonne, commençant à 0, à récupérer depuis la ressource de résultats. Par défaut, la première colonne si ce paramètre n'est pas spécifié.

Valeurs de retour

Un tableau contenant toutes les valeurs d'une colonne du résultat.

FALSE est retourné si column est plus grand que le nombre de colonnes du résultat ou si toutes autres erreurs surviennent.

Exemples

Exemple #1 Exemple avec pg_fetch_all_columns()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "Une erreur est survenue.\n";
  exit;
}

// Récupère un tableau contenant tous les noms d'auteurs
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Voir aussi

  • pg_fetch_all() - Lit toutes les lignes d'un résultat

pg_execute
pg_fetch_all
Fonctions PostgreSQL


Lit toutes les lignes d'un résultat

pg_fetch_all_columns
pg_fetch_array
Fonctions PostgreSQL
PHP Manual

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_all — Lit toutes les lignes d'un résultat

Description

array pg_fetch_all ( resource $result )

pg_fetch_all() retourne un tableau qui contient toutes les lignes du résultat result.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Liste de paramètres

result

Ressource résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

Valeurs de retour

Un tableau array de toutes les lignes dans le jeu de résultats. Chaque ligne est un tableau de valeurs des champs indexée par le nom des champs.

FALSE est retournée s'il n'y a pas de lignes dans le jeu de résultats ou si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_fetch_all()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

$result = pg_query($conn, "SELECT * FROM auteurs");
if (!$result) {
  echo "Une erreur est survenue.\n";
  exit;
}

$arr = pg_fetch_all($result);

print_r($arr);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Fred
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
        )

)

Voir aussi

  • pg_fetch_row() - Lit une ligne dans un tableau
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
  • pg_fetch_result() - Retourne les valeurs d'un résultat

pg_fetch_all_columns
pg_fetch_array
Fonctions PostgreSQL


Lit une ligne de résultat PostgreSQL dans un tableau

pg_fetch_all
pg_fetch_assoc
Fonctions PostgreSQL
PHP Manual

pg_fetch_array

(PHP 4, PHP 5)

pg_fetch_array — Lit une ligne de résultat PostgreSQL dans un tableau

Description

array pg_fetch_array ( resource $result [, int $row [, int $result_type ]] )

pg_fetch_array() retourne un tableau qui contient la ligne demandée.

pg_fetch_array() est une version évoluée de pg_fetch_row(). En plus de proposer un tableau à indice numérique, elle peut aussi enregistrer les données dans un tableau associatif, en utilisant les noms des champs comme clés. Ces deux fonctions utilisent le tableau associatif par défaut.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

pg_fetch_array() n'est pas significativement plus lente que pg_fetch_row() et elle apporte un confort d'utilisation appréciable.

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre d'autres).

row

Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

result_type

Paramètre optionnel qui contrôle comment sera indexé le array retourné. pg_fetch_array() est une constante, qui peut prendre les valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM et PGSQL_BOTH. En utilisant PGSQL_NUM, pg_fetch_array() retourne un tableau avec des indices numériques, en utilisant PGSQL_ASSOC retourne uniquement des indices associatifs alors que, PGSQL_BOTH, la valeur par défaut, retourne à la fois des indices numériques et associatifs.

Valeurs de retour

Un tableau à indice numérique (commençant à 0), associatif (indexé avec le nom des champs) ou les deux. Chaque valeur dans le tableau est représentée comme une chaîne ( string ). Les valeurs NULL de la base de données sont retournées NULL.

FALSE est retournée si row excède le nombre de lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout autre erreur.

Historique

Version | Description
4.1.0 | Le paramètre row devient optionnel.

Exemples

Exemple #1 Exemple avec pg_fetch_array()

<?php

$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
  echo "Erreur de connexion.\n";
  exit;
}

$result = pg_query ($conn, "SELECT auteur, email FROM auteurs");
if (!$result) {
  echo "Erreur durant la requête.\n";
  exit;
}

$arr = pg_fetch_array ($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Ligne 1 Auteurs\n";
echo $arr[1] . " <- Ligne 1 E-mail\n";

// Depuis PHP 4.1.0, le paramètre row est optionnel ; NULL peut être passé à la place,
// pour passer un result_type. Les appels successifs à pg_fetch_array
// retournera la ligne suivante.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["auteur"] . " <- Ligne 2 Auteur\n";
echo $arr["email"] . " <- Ligne 2 E-mail\n";

$arr = pg_fetch_array($result);
echo $arr["auteur"] . " <- Ligne 3 Auteur\n";
echo $arr[1] . " <- Ligne 3 E-mail\n";

?>

Voir aussi

  • pg_fetch_row() - Lit une ligne dans un tableau
  • pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
  • pg_fetch_result() - Retourne les valeurs d'un résultat

pg_fetch_all
pg_fetch_assoc
Fonctions PostgreSQL


Lit une ligne de résultat PostgreSQL sous forme de tableau associatif

pg_fetch_array
pg_fetch_object
Fonctions PostgreSQL
PHP Manual

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc — Lit une ligne de résultat PostgreSQL sous forme de tableau associatif

Description

array pg_fetch_assoc ( resource $result [, int $row ] )

pg_fetch_assoc() retourne un tableau associatif qui contient la ligne en cours dans le résultat result.

pg_fetch_assoc() est équivalent d'appeler pg_fetch_row() avec PGSQL_ASSOC comme troisième paramètre (qui est optionnel). Cela retournera seulement un tableau associatif. Si vous avez besoin d'indices numériques, utilisez pg_fetch_row().

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

pg_fetch_assoc() n'est pas significativement plus lente que pg_fetch_row() et elle apporte un confort d'utilisation appréciable.

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

row

Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

Valeurs de retour

Un tableau à indice associatif (par nom de champ). Chaque valeur dans le tableau est représentée comme une chaîne ( string ). Les valeurs NULL de la base de données sont retournées NULL.

FALSE est retournée si row excède le nombre de lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout autre erreur.

Historique

Version | Description
4.1.0 | Le paramètre row devient optionnel.

Exemples

Exemple #1 Exemple avec pg_fetch_assoc()

<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

$result = pg_query ($conn, "SELECT id, auteur, email FROM auteurs");
if (!$result) {
  echo "Une erreur est survenue.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['auteur'];
  echo $row['email'];
}
?>

Voir aussi

  • pg_fetch_row() - Lit une ligne dans un tableau
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
  • pg_fetch_result() - Retourne les valeurs d'un résultat

pg_fetch_array
pg_fetch_object
Fonctions PostgreSQL


Lit une ligne de résultat PostgreSQL dans un objet

pg_fetch_assoc
pg_fetch_result
Fonctions PostgreSQL
PHP Manual

pg_fetch_object

(PHP 4, PHP 5)

pg_fetch_object — Lit une ligne de résultat PostgreSQL dans un objet

Description

object pg_fetch_object ( resource $result [, int $row [, int $result_type = PGSQL_ASSOC ]] )
object pg_fetch_object ( resource $result [, int $row [, string $class_name [, array $params ]]] )

pg_fetch_object() retourne un objet ainsi que ses propriétés qui correspond aux noms des champs de la ligne. La fonction peut optionnellement instancier un objet d'une classe spécifique et passer les paramètres au constructeur de cette classe.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Du point de vue vitesse, la fonction est identique à pg_fetch_array() et est presque aussi rapide que pg_fetch_row() (la différence est insignifiante).

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

row

Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

result_type

Ignoré et obsolète.

class_name

Le nom de la classe à instancier, fixe les propriétés de celles-ci et ses valeurs de retour. Si rien n'est spécifié, un objet de style stdClass est retourné.

params

Paramètre optionnel de type array pour passer des arguments au constructeur de la classe class_name.

Valeurs de retour

Un objet de type object avec les attributs pour chaque champ dans le jeu de résultats. Les valeurs NULL de la base de données sont retournées NULL.

FALSE est retournée si row excède le nombre de lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout autre erreur.

Historique

Version | Description
5.0.0 | class_name et params ont été ajoutés. L'ancien format du paramètre result_type existe toujours pour des raisons de compatibilité avec les versions antérieures.
4.3.0 | result_type ne vaut plus PGSQL_BOTH par défaut, mais PGSQL_ASSOC, depuis que l'index numérique est devenu illégal.
4.1.0 | Le paramètre row devient optionnel.

Exemples

Exemple #1 Exemple avec pg_fetch_object()

<?php

$database = 'store';

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
  echo "La connexion a la base $database a échouée\n";
  exit;
}

$qu = pg_query($db_conn, "SELECT * FROM livres ORDER BY auteur");

while ($data = pg_fetch_object($qu)) {
  echo $data->auteur . " (";
  echo $data->annee . "): ";
  echo $data->titre . "<br />";
}

pg_free_result($qu);
pg_close($db_conn);

?>

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_assoc() - Lit une ligne de résultat PostgreSQL sous forme de tableau associatif
  • pg_fetch_row() - Lit une ligne dans un tableau
  • pg_fetch_result() - Retourne les valeurs d'un résultat

pg_fetch_assoc
pg_fetch_result
Fonctions PostgreSQL


Retourne les valeurs d'un résultat

pg_fetch_object
pg_fetch_row
Fonctions PostgreSQL
PHP Manual

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5)

pg_fetch_result — Retourne les valeurs d'un résultat

Description

string pg_fetch_result ( resource $result , int $row , mixed $field )
string pg_fetch_result ( resource $result , mixed $field )

pg_fetch_result() retourne la valeur d'une ligne et d'un champ (colonne) en particulier à partir d'un ressource de résultat PostgreSQL.

Note: Cette fonction peut s'appeler pg_result().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

row

Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

field

Une chaîne de type string représentant le nom du champ (colonne) à récupérer, sinon un entier de type int représentant le numéro du champ à récupérer. Les champs sont numérotés de 0 en montant.

Valeurs de retour

Les booléens sont retournés comme des "t" ou "f". Tous les autres types, y compris les tableaux, sont retournés sous forme de chaînes formatées, de la même manière que PostgreSQL vous les afficherait dans le client psql. Les valeurs NULL de la base de données sont retournées NULL.

FALSE est retournée si row excède le nombre de lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout autre erreur.

Exemples

Exemple #1 Exemple avec pg_fetch_result()

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "Premier champ dans la deuxième ligne est : ", $val, "\n";
?>

L'exemple ci-dessus va afficher :

Premier champ dans la deuxième ligne est : 2

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau

pg_fetch_object
pg_fetch_row
Fonctions PostgreSQL


Lit une ligne dans un tableau

pg_fetch_result
pg_field_is_null
Fonctions PostgreSQL
PHP Manual

pg_fetch_row

(PHP 4, PHP 5)

pg_fetch_row — Lit une ligne dans un tableau

Description

array pg_fetch_row ( resource $result [, int $row ] )

pg_fetch_row() lit une ligne dans le résultat associé à l'index result.

Note: Cette fonction définit les champs NULL à la valeur PHP NULL.

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

row

Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

Valeurs de retour

Un tableau de type array , indexé de 0 en montant, avec chaque valeur représentée comme une chaîne ( string ). Les valeurs NULL de la base de données sont retournées NULL.

FALSE est retournée si row excède le nombre de lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout autre erreur.

Historique

Version | Description
4.1.0 | Le paramètre row devient optionnel.

Exemples

Exemple #1 Exemple avec pg_fetch_row()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

$result = pg_query($conn, "SELECT auteur, email FROM auteurs");
if (!$result) {
  echo "Une erreur est survenue.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Auteur : $row[0]  E-mail : $row[1]";
  echo "<br />\n";
}

?>

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
  • pg_fetch_result() - Retourne les valeurs d'un résultat

pg_fetch_result
pg_field_is_null
Fonctions PostgreSQL


Teste si un champ PostgreSQL est à NULL

pg_fetch_row
pg_field_name
Fonctions PostgreSQL
PHP Manual

pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5)

pg_field_is_null — Teste si un champ PostgreSQL est à NULL

Description

int pg_field_is_null ( resource $result , int $row , mixed $field )
int pg_field_is_null ( resource $result , mixed $field )

pg_field_is_null() teste si un champ dans une ressource de résultat est NULL.

Note: Auparavant, cette fonction s'appelait pg_fieldisnull().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

row

Numéro de la ligne à récupérer. Les lignes sont numérotées de 0 en montant. Si l'argument est omis, la ligne suivante est récupérée.

field

Numéro du champ (commençant à 0) de type int ou le nom du champ de type string .

Valeurs de retour

Retourne 1 si le champ de la ligne donnée est NULL, 0 s'il n'est pas NULL. FALSE est retournée si la ligne n'est pas dans le tableau ou tout autre erreur.

Exemples

Exemple #1 Exemple avec pg_field_is_null()

<?php
    $dbconn = pg_connect("dbname=publisher") or die ("Connexion impossible");
    $res = pg_query($dbconn, "select * from auteurs where auteur = 'Orwell'");
    if ($res) {
        if (pg_field_is_null($res, 0, "annee") == 1) {
            echo "La valeur du champ \"annee\" est null.\n";
        }
        if (pg_field_is_null($res, 0, "annee") == 0) {
            echo "La valeur du champ \"annee\" n'est pas null.\n";
        }
    }
?>

pg_fetch_row
pg_field_name
Fonctions PostgreSQL


Retourne le nom d'un champ PostgreSQL

pg_field_is_null
pg_field_num
Fonctions PostgreSQL
PHP Manual

pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name — Retourne le nom d'un champ PostgreSQL

Description

string pg_field_name ( resource $result , int $field_number )

pg_field_name() retourne le nom du champ qui occupe la colonne numéro field_number dans le résultat result. La numérotation des champs commence à 0.

Note: Auparavant, cette fonction s'appelait pg_fieldname().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

field_number

Numéro du champ, commençant à 0.

Valeurs de retour

Le nom du champ ou FALSE en cas d'erreur.

Exemples

Exemple #1 Récupération d'informations des champs

<?php
 $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

 $res = pg_query($dbconn, "select * from auteurs where auteur = 'Orwell'");
 $i = pg_num_fields($res);
 for ($j = 0; $j < $i; $j++) {
     echo "colonne $j\n";
     $fieldname = pg_field_name($res, $j);
     echo "Champ : $fieldname\n";
     echo "Taille affichée : ".pg_field_prtlen($res, $fieldname)." caractères\n";
     echo "Taille de stockage : ".pg_field_size($res, $j)." octets\n";
     echo "Type de champ : ".pg_field_type($res, $j)." \n\n";
 }
?>

L'exemple ci-dessus va afficher :

colonne 0
Champ : auteur
Taille affichée : 6 caractères
Taille de stockage : -1 octets
Type de champ : varchar

colonne 1
Champ : annee
Taille affichée : 4 caractère
Taille de stockage : 2 octets
Type de champ : int2

colonne 2
Champ : titre
Taille affichée : 24 caractères
Taille de stockage : -1 octets
Type de champ : varchar

Voir aussi

  • pg_field_num() - Retourne le numéro d'une colonne

pg_field_is_null
pg_field_num
Fonctions PostgreSQL


Retourne le numéro d'une colonne

pg_field_name
pg_field_prtlen
Fonctions PostgreSQL
PHP Manual

pg_field_num

(PHP 4 >= 4.2.0, PHP 5)

pg_field_num — Retourne le numéro d'une colonne

Description

int pg_field_num ( resource $result , string $field_name )

pg_field_num() retourne le numéro de la colonne, dont le nom est field_name, dans le résultat result.

Note: Auparavant, cette fonction s'appelait pg_fieldnum().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

field_name

Le nom du champ.

Valeurs de retour

Le numéro du champ (commençant à 0) ou -1 en cas d'erreur.

Exemples

Exemple #1 Récupération d'informations des champs

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  $res = pg_query($dbconn, "select auteur, annee, titre from auteurs where auteur = 'Orwell'");

  echo "Le numéro de la colonne 'titre' est : ", pg_field_num($res, 'titre');
?>

L'exemple ci-dessus va afficher :

Le numéro de la colonne 'titre' est : 2

Voir aussi

  • pg_field_name() - Retourne le nom d'un champ PostgreSQL

pg_field_name
pg_field_prtlen
Fonctions PostgreSQL


Retourne la taille imprimée

pg_field_num
pg_field_size
Fonctions PostgreSQL
PHP Manual

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5)

pg_field_prtlen — Retourne la taille imprimée

Description

int pg_field_prtlen ( resource $result , int $row_number , mixed $field_name_or_number )
int pg_field_prtlen ( resource $result , mixed $field_name_or_number )

pg_field_prtlen() retourne la taille imprimée (nombre de caractères) d'une valeur donnée dans un résultat PostgreSQL. La numérotation des lignes commence à 0. pg_field_prtlen() retourne -1 en cas d'erreur.

Le paramètre field_name_or_number peut être passé soit en tant qu'entier, soit en tant que chaîne de caractères. S'il est passé en tant qu'entier, PHP l'identifie comme le numéro d'un champ, sinon, comme le nom d'un champ.

Voir l'exemple donné à la page de la documentation de la fonction pg_field_name().

Note: Auparavant, cette fonction s'appelait pg_fieldprtlen().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

row

Numéro de la ligne dans le résultat. Les lignes sont numérotées à partir de 0 en montant. Si ce paramètre n'est pas fourni, la ligne en cours est récupérée.

Valeurs de retour

Le nombre de caractères imprimés ou FALSE en cas d'erreur.

Exemples

Exemple #1 Récupération d'informations à propos des champs

<?php
  $dbconn = pg_connect("dbname=editeur") or die("Connexion impossible");

  $res = pg_query($dbconn, "select * from auteurs where auteur = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "colonne $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "nom champ : $fieldname\n";
      echo "taille affichage : " . pg_field_prtlen($res, $fieldname) . " caractères\n";
      echo "taille enregistrement : " . pg_field_size($res, $j) . " octets\n";
      echo "type champ : " . pg_field_type($res, $j) . " \n\n";
  }
?>

L'exemple ci-dessus va afficher :

colonne 0
nom champ : auteur
taille affichage : 6 caractères
taille enregistrement : -1 octets
type champ : varchar

colonne 1
nom champ : annee
taille affichage : 4 caractères
taille enregistrement : 2 octets
type champ : int2

colonne 2
nom champ : titre
taille affichage : 24 caractères
taille enregistrement : -1 octets
type champ : varchar

Voir aussi

  • pg_field_size() - Retourne la taille interne de stockage d'un champ donné

pg_field_num
pg_field_size
Fonctions PostgreSQL


Retourne la taille interne de stockage d'un champ donné

pg_field_prtlen
pg_field_table
Fonctions PostgreSQL
PHP Manual

pg_field_size

(PHP 4 >= 4.2.0, PHP 5)

pg_field_size — Retourne la taille interne de stockage d'un champ donné

Description

int pg_field_size ( resource $result , int $field_number )

pg_field_size() retourne la taille interne de stockage d'un champ donné, en octets.

Note: Auparavant, cette fonction s'appelait pg_fieldsize().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

field_number

Numéro du champ, commençant à 0.

Valeurs de retour

La taille du stockage interne d'un champ (en octets). -1 signifie un champ à grandeur variable. FALSE est retourné en cas d'erreur.

Exemples

Exemple #1 Récupération d'informations des champs

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  $res = pg_query($dbconn, "select * from auteurs where auteur = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "colonne $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "Nom du champ : $fieldname\n";
      echo "Taille pour l'affichage : " . pg_field_prtlen($res, $fieldname) . " caractères\n";
      echo "Taille pour le stockage : " . pg_field_size($res, $j) . " octets\n";
      echo "Type du champ : " . pg_field_type($res, $j) . " \n\n";
  }
?>

L'exemple ci-dessus va afficher :

colonne 0
Nom du champ : auteur
Taille pour l'affichage : 6 caractères
Taille pour le stockage : -1 octets
Type du champ : varchar

colonne 1
Nom du champ : annee
Taille pour l'affichage : 4 caractères
Taille pour le stockage : 2 octets
Type du champ : int2

colonne 2
Nom du champ : titre
Taille pour l'affichage : 24 caractères
Taille pour le stockage : -1 octets
Type du champ : varchar

Voir aussi

  • pg_field_prtlen() - Retourne la taille imprimée
  • pg_field_type() - Retourne le type d'un champ PostgreSQL donné par index

pg_field_prtlen
pg_field_table
Fonctions PostgreSQL


Retourne le nom ou l'oid d'une table

pg_field_size
pg_field_type_oid
Fonctions PostgreSQL
PHP Manual

pg_field_table

(PHP 5 >= 5.2.0)

pg_field_table — Retourne le nom ou l'oid d'une table

Description

mixed pg_field_table ( resource $result , int $field_number [, bool $oid_only = false ] )

pg_field_table() retourne le nom de la table à laquelle le champ appartient ou l'oid de la table si le paramètre oid_only vaut TRUE.

Liste de paramètres

result

Ressource du résultat d'une requête PostgreSQL, retournée par la fonction pg_query(), pg_query_params() ou pg_execute() (et d'autres).

field_number

Numéro du champ, commençant à 0.

oid_only

Par défaut, le nom de la table à laquelle le champ appartient est retourné mais si le paramètre oid_only est défini à TRUE, alors, ce sera l'oid qui sera retourné.

Valeurs de retour

En cas de succès, le nom de la table ou l'oid, FALSE en cas d'échec.

Exemples

Exemple #1 Récupération des informations d'une table à partir d'un champ

<?php
$dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

foo
14379580

bool(false)

Notes

Note: Retourner l'oid est plus rapide que de retourner le nom de la table, car la récupération du nom de la table nécessite une requête sur la table système de la base de données.

Voir aussi

  • pg_field_name() - Retourne le nom d'un champ PostgreSQL
  • pg_field_type() - Retourne le type d'un champ PostgreSQL donné par index

pg_field_size
pg_field_type_oid
Fonctions PostgreSQL


Retourne le type ID (OID) pour le numéro du champ correspondant

pg_field_table
pg_field_type
Fonctions PostgreSQL
PHP Manual

pg_field_type_oid

(PHP 5 >= 5.1.0)

pg_field_type_oid — Retourne le type ID (OID) pour le numéro du champ correspondant

Description

int pg_field_type_oid ( resource $result , int $field_number )

pg_field_type_oid() retourne un entier contenant le OID du type de base du champ field_number donné dans la ressource PostgreSQL result.

Vous pouvez obtenir plus d'informations à propos du type de champ en interrogeant la table système de PostgreSQL pg_type() avec le OID obtenu par cette fonction.

Note: Si le champ utilise un domaine PostgreSQL (plutôt que d'un type basic), c'est le OID du domaine sous-jacent qui est retourné, plutôt que le OID du domaine en tant que tel.

Liste de paramètres

result

Ressource de résultats de PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

field_number

Numéro du champ, commençant à 0.

Valeurs de retour

Le OID du type de base du champ ou FALSE est retourné en cas d'erreur.

Exemples

Exemple #1 Récupération d'informations des champs

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  // On assume que 'titre' est un type varchar
  $res = pg_query($dbconn, "select titre from auteurs where auteur = 'Orwell'");

  echo "Type du champ titre OID : ", pg_field_type_oid($res, 0);
?>

L'exemple ci-dessus va afficher :

Type du champ titre OID : 1043

Voir aussi

  • pg_field_type() - Retourne le type d'un champ PostgreSQL donné par index
  • pg_field_prtlen() - Retourne la taille imprimée
  • pg_field_name() - Retourne le nom d'un champ PostgreSQL

pg_field_table
pg_field_type
Fonctions PostgreSQL


Retourne le type d'un champ PostgreSQL donné par index

pg_field_type_oid
pg_free_result
Fonctions PostgreSQL
PHP Manual

pg_field_type

(PHP 4 >= 4.2.0, PHP 5)

pg_field_type — Retourne le type d'un champ PostgreSQL donné par index

Description

string pg_field_type ( resource $result , int $field_number )

pg_field_type() retourne une chaîne contenant le type de base du champ donné par son index field_number.

Note: Si le champ utilise un domaine PostgreSQL (plutôt que d'un type basic), c'est le nom du domaine sous-jacent qui est retourné, plutôt que le nom du domaine en tant que tel.

Note: Auparavant, cette fonction s'appelait pg_fieldtype().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

field_number

Numéro du champ, commençant à 0.

Valeurs de retour

Une chaîne de type string contenant le nom de base du type de champ ou FALSE en cas d'erreur.

Exemples

Exemple #1 Récupération d'informations des champs

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  // On assume que 'titre' est un type varchar
  $res = pg_query($dbconn, "select titre from auteurs where auteur = 'Orwell'");

  echo "Type du champ titre : ", pg_field_type($res, 0);
?>

L'exemple ci-dessus va afficher :

Type du champ titre : varchar

Voir aussi

  • pg_field_prtlen() - Retourne la taille imprimée
  • pg_field_name() - Retourne le nom d'un champ PostgreSQL
  • pg_field_type_oid() - Retourne le type ID (OID) pour le numéro du champ correspondant

pg_field_type_oid
pg_free_result
Fonctions PostgreSQL


Libère la mémoire

pg_field_type
pg_get_notify
Fonctions PostgreSQL
PHP Manual

pg_free_result

(PHP 4 >= 4.2.0, PHP 5)

pg_free_result — Libère la mémoire

Description

bool pg_free_result ( resource $result )

pg_free_result() libère la mémoire et les données associées avec le jeu de résultats PostgreSQL associé.

pg_free_result() n'est vraiment utile que si vous risquez d'utiliser trop de mémoire durant votre script. La mémoire occupée par les résultats est automatiquement libérée à la fin du script.

Note: Auparavant, cette fonction s'appelait pg_freeresult().

Liste de paramètres

result

Ressource de résultats PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (et quelques autres).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_free_result()

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "Le premier champ de la seconde ligne est : ", $val, "\n";

pg_free_result($res);
?>

L'exemple ci-dessus va afficher :

Le premier champ de la seconde ligne est : 2

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_query_params() - Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL
  • pg_execute() - Exécute une requête préparée PostGreSQL

pg_field_type
pg_get_notify
Fonctions PostgreSQL


Lit le message SQL NOTIFY

pg_free_result
pg_get_pid
Fonctions PostgreSQL
PHP Manual

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5)

pg_get_notify — Lit le message SQL NOTIFY

Description

array pg_get_notify ( resource $connection [, int $result_type ] )

pg_get_notify() reçoit le message de NOTIFY envoyé par une commande SQL NOTIFY. Pour lire le message associé, utilisez la commande LISTEN.

Liste de paramètres

connection

Ressource de connexion PostgreSQL.

result_type

Un paramètre optionnel qui contrôle la façon dont le tableau sera indexé. result_type est une constante et peut prendre les valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM et PGSQL_BOTH. L'utilisation de PGSQL_NUM, pg_get_notify() retournera un tableau avec des indices numériques, l'utilisation de PGSQL_ASSOC retournera un tableau associatif tandis que PGSQL_BOTH, la valeur par défaut, retournera des indices numériques et associatifs.

Valeurs de retour

Un tableau contenant le nom du message NOTIFY. Sinon, si aucun NOTIFY n'est en attente, alors FALSE sera retourné.

Exemples

Exemple #1 Exemple avec pg_get_notify()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

// ecoute le message 'author_updated' des autres processus
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "Aucun message\n";
} else {
  print_r($notify);
}
?>

Voir aussi

  • pg_get_pid() - Lit l'identifiant de processus du serveur PostgreSQL

pg_free_result
pg_get_pid
Fonctions PostgreSQL


Lit l'identifiant de processus du serveur PostgreSQL

pg_get_notify
pg_get_result
Fonctions PostgreSQL
PHP Manual

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5)

pg_get_pid — Lit l'identifiant de processus du serveur PostgreSQL

Description

int pg_get_pid ( resource $connection )

pg_get_pid() lit l'identifiant de processus du serveur PostgreSQL. L'identifiant de processus est pratique pour vérifier si un message de NOTIFY a été envoyé via pg_get_notify() par un autre processus ou pas.

Liste de paramètres

connection

Une ressource de connexion PostgreSQL

Valeurs de retour

L'identifiant du processus du serveur.

Exemples

Exemple #1 Exemple avec pg_get_pid()

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

// PID du serveur. Utilisez alors le PID avec pg_get_notify()
$pid = pg_get_pid($conn);
?>

Voir aussi

  • pg_get_notify() - Lit le message SQL NOTIFY

pg_get_notify
pg_get_result
Fonctions PostgreSQL


Lit un résultat PostgreSQL asynchrone

pg_get_pid
pg_host
Fonctions PostgreSQL
PHP Manual

pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result — Lit un résultat PostgreSQL asynchrone

Description

resource pg_get_result ([ resource $connection ] )

pg_get_result() lit la ressource de résultat d'une
requête asynchrone exécutée par pg_send_query(),
pg_send_query_params() ou
pg_send_execute().

pg_send_query() et les autres fonctions de requête asynchrone peuvent envoyer plusieurs requêtes à un serveur PostgreSQL et pg_get_result() est utilisé pour obtenir chaque résultat de requête, un par un.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

La resource de résultat ou FALSE s'il n'y a plus de résultat disponible.

Exemples

Exemple #1 Exemple avec pg_get_result()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from auteurs; select count(*) from auteurs;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Premier appel à pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 a $rows1 enregistrements\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second appel à pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 a $rows2 enregistrements\n";
?>

L'exemple ci-dessus va afficher :

Premier appel à pg_get_result(): Resource id #3
Resource id #3 a 3 enregistrements

Second appel à pg_get_result(): Resource id #4
Resource id #4 a 1 enregistrements

Voir aussi

  • pg_send_query() - Exécute une requête PostgreSQL asynchrone

pg_get_pid
pg_host
Fonctions PostgreSQL


Retourne le nom d'hôte

pg_get_result
pg_insert
Fonctions PostgreSQL
PHP Manual

pg_host

(PHP 4, PHP 5)

pg_host — Retourne le nom d'hôte

Description

string pg_host ([ resource $connection ] )

pg_host() retourne le nom d'hôte associé à l'index de connexion PostgreSQL.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Une chaîne contenant le nom de l'ordinateur hôte de connection ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_host()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Correctement connecté à : " . pg_host($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL
  • pg_pconnect() - Établit une connexion PostgreSQL persistante

pg_get_result
pg_insert
Fonctions PostgreSQL


Insère un tableau dans une table

pg_host
pg_last_error
Fonctions PostgreSQL
PHP Manual

pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert — Insère un tableau dans une table

Description

mixed pg_insert ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_insert() insère le tableau assoc_array dans la table table_name. Si options est spécifiée, pg_convert() s'applique à assoc_array avec l'option spécifiée.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

connection

Une ressource de connexion PostgreSQL.

table_name

Nom de la table dans laquelle les lignes seront insérées. La table table_name doit avoir au moins autant de colonnes que assoc_array a d'éléments.

assoc_array

Un tableau dont les clés sont les noms des champs dans la table table_name, et où les valeurs sont les valeurs de ces champs qui seront insérés.

options

Toutes combinaisons de constantes parmi PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC ou PGSQL_DML_STRING. Si PGSQL_DML_STRING fait partie du paramètre options, alors la requête sera retournée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Retourne une chaîne de caractères si PGSQL_DML_STRING est passé via le paramètre options.

Exemples

Exemple #1 Exemple avec pg_insert()

<?php
  $db = pg_connect ('dbname=foo');
  // C'est sécuritaire, car $_POST est convertit automatiquement
  $res = pg_insert($db, 'post_log', $_POST);
  if ($res) {
      echo "Les données POSTées ont pu être enregistrées avec succès.\n";
  } else {
      echo "Il y a un problème avec les données.\n";
  }
?>

Voir aussi

  • pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

pg_host
pg_last_error
Fonctions PostgreSQL


Lit le dernier message d'erreur sur la connexion

pg_insert
pg_last_notice
Fonctions PostgreSQL
PHP Manual

pg_last_error

(PHP 4 >= 4.2.0, PHP 5)

pg_last_error — Lit le dernier message d'erreur sur la connexion

Description

string pg_last_error ([ resource $connection ] )

pg_last_error() retourne le dernier message d'erreur pour une connexion connection.

Les messages d'erreur peuvent être écrasés par des appels internes à l'extension PostgreSQL (libpq) : il se peut que le message retourné ne soit pas approprié, notamment si plusieurs erreurs ont eu lieu dans le module.

Utilisez pg_result_error(),
pg_result_error_field(),
pg_result_status() et
pg_connection_status() pour améliorer la gestion
des erreurs.

Note: Auparavant, cette fonction s'appelait pg_errormessage().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Une chaîne de caractères contenant le dernier message d'erreur sur la connexion connection ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_last_error()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  // Requête qui échoue
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

Voir aussi

  • pg_result_error() - Lit le message d'erreur associé à un résultat
  • pg_result_error_field() - Retourne un champ individuel d'un rapport d'erreur

pg_insert
pg_last_notice
Fonctions PostgreSQL


Retourne la dernière note du serveur PostgreSQL

pg_last_error
pg_last_oid
Fonctions PostgreSQL
PHP Manual

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice — Retourne la dernière note du serveur PostgreSQL

Description

string pg_last_notice ( resource $connection )

pg_last_notice() retourne la dernière note du serveur PostgreSQL sur la connexion connection spécifiée. Le serveur PostgreSQL envoie des notes dans plusieurs cas, par exemple lors de création d'une colonne SERIAL dans une table.

Avec pg_last_notice(), vous pouvez éviter des requêtes inutiles en vérifiant si des notes sont liées ou pas à votre transaction.

Le suivi des notes peut être rendu optionnel en mettant à 1 la directive de configuration pgsql.ignore_notice du fichier php.ini.

L'enregistrement des notes peut être rendu optionnel en mettant la directive de configuration pgsql.log_notice du php.ini à 0. À moins que pgsql.ignore_notice ne soit à 0, les notes ne seront pas enregistrées.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

Une chaîne de caractères contenant la dernière note sur la connexion connection ou FALSE en cas d'erreur.

Historique

Version | Description
4.3.0 | Cette fonction est maintenant pleinement implémentée. Les anciennes versions ignoraient les paramètres de connexion à la base de données.
4.3.0 | Les directives pgsql.ignore_notice et pgsql.log_notice du php.ini ont été ajoutées.
4.0.6 | PHP 4.0.6 a un problème avec la gestion des messages d'avertissement. Utiliser le module PostgreSQL avec PHP 4.0.6 n'est pas recommandé, même si vous n'utilisez pas la fonction pg_last_notice().

Exemples

Exemple #1 Exemple avec pg_last_notice()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

$res = pg_query("CREATE TABLE test (id SERIAL)");

$notice = pg_last_notice($pgsql_conn);

echo $notice;
?>

L'exemple ci-dessus va afficher :

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_last_error() - Lit le dernier message d'erreur sur la connexion

pg_last_error
pg_last_oid
Fonctions PostgreSQL


Retourne l'identifiant de la dernière ligne

pg_last_notice
pg_lo_close
Fonctions PostgreSQL
PHP Manual

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid — Retourne l'identifiant de la dernière ligne

Description

string pg_last_oid ( resource $result )

pg_last_oid() sert à récupérer le OID assigné à une ligne insérée.

Le champ OID est devenu optionnel depuis PostgreSQL 7.2 et ne sera plus présent par défaut dans PostgreSQL 8.1. Lorsque le champ OID n'est pas présent dans la table, le programmeur doit utiliser pg_result_status() pour vérifier si la ligne a été correctement insérée.

Pour obtenir la valeur d'un champ SERIAL dans une ligne insérée, il est nécessaire d'utiliser la fonction CURRVAL de PostgreSQL en nommant la séquence à qui la dernière valeur est requise. Si le nom de la séquence est inconnu, la fonction PostgreSQL 8.0 pg_get_serial_sequence est nécessaire.

PostgreSQL 8.1 a une fonction LASTVAL qui retourne la valeur de la séquence la plus récemment utilisée de la session. Ceci permet d'éviter de nommer la séquence, la table ou la colonne.

Note: Auparavant, cette fonction s'appelait pg_getlastoid().

Liste de paramètres

result

Ressource de résultat de requête PostgreSQL, retournée par pg_query(), pg_query_params() ou pg_execute() (entre autres).

Valeurs de retour

Une chaîne de caractères contenant le OID assigné à la plus récente ligne insérée dans la connexion connection spécifiée ou FALSE en cas d'erreur ou de OID indisponible.

Exemples

Exemple #1 Exemple avec pg_last_oid()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

$res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

$res2 = pg_query("INSERT INTO test VALUES (1)");

$oid = pg_last_oid($res2);
?>

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_result_status() - Lit le statut du résultat

pg_last_notice
pg_lo_close
Fonctions PostgreSQL


Ferme un objet de grande taille PostgreSQL

pg_last_oid
pg_lo_create
Fonctions PostgreSQL
PHP Manual

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_close — Ferme un objet de grande taille PostgreSQL

Description

bool pg_lo_close ( resource $large_object )

pg_lo_close() ferme un objet de type Inversion Large Object. large_object est un pointeur de fichier, obtenu avec pg_lo_open().

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Auparavant, cette fonction s'appelait pg_loclose().

Liste de paramètres

result

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_lo_close()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "données objet de grande taille");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_open() - Ouvre un objet de grande taille PostgreSQL
  • pg_lo_create() - Crée un objet de grande taille PostgreSQL
  • pg_lo_import() - Importe un objet de grande taille depuis un fichier

pg_last_oid
pg_lo_create
Fonctions PostgreSQL


Crée un objet de grande taille PostgreSQL

pg_lo_close
pg_lo_export
Fonctions PostgreSQL
PHP Manual

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_create — Crée un objet de grande taille PostgreSQL

Description

int pg_lo_create ([ resource $connection [, mixed $object_id ]] )
int pg_lo_create ( mixed $object_id )

pg_lo_create() crée un objet de grande taille et retourne son OID. Les modes d'accès PostgreSQL INV_READ, INV_WRITE et INV_ARCHIVE ne sont pas supportés : l'objet peut toujours être créé avec des droits d'accès en lecture et écriture. Le mode INV_ARCHIVE a été supprimé des bases PostgreSQL (version 6.3 et ultérieur).

Pour utiliser un objet de grande taille, il est nécessaire de le faire dans une transaction.

Au lieu d'utiliser l'interface d'objet de grande taille ((qui n'a aucun contrôle d'accès et qui est encombrant à utiliser), essayez la colonne de type bytea de PostgreSQL et pg_escape_bytea().

Note: Auparavant, cette fonction s'appelait pg_locreate().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

object_id

Si le paramètre object_id est fourni, la fonction essayera de créer un objet large avec cet identifiant, sinon, un identifiant d'objet disponible sera assigné par le serveur. Ce paramètre a été ajouté en PHP 5.3 et cette fonctionnalité est apparue avec PostgreSQL 8.1.

Valeurs de retour

Un objet large OID ou FALSE en cas d'erreur.

Historique

Version | Description
5.3.0 | Le paramètre optionnel object_id a été ajouté.

Exemples

Exemple #1 Exemple avec pg_lo_create()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "données objet de grande taille");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

pg_lo_close
pg_lo_export
Fonctions PostgreSQL


Exporte un objet de grande taille vers un fichier

pg_lo_create
pg_lo_import
Fonctions PostgreSQL
PHP Manual

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_export — Exporte un objet de grande taille vers un fichier

Description

bool pg_lo_export ([ resource $connection ], int $oid , string $pathname )

pg_lo_export() prend un objet de grande taille de la base de données PostgreSQL et sauvegarde son contenu dans un fichier local au système.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Auparavant, cette fonction s'appelait pg_loexport().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

oid

Le OID de l'objet de grande taille dans la base de données.

pathname

Le chemin d'accès complet ainsi que le fichier dans lequel il sera écrit l'objet de grande taille sur le système du client.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_lo_export()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   $handle = pg_lo_open($database, $oid, "w");
   pg_lo_write($handle, "données objet de grande taille");
   pg_lo_close($handle);
   pg_lo_export($database, $oid, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_import() - Importe un objet de grande taille depuis un fichier

pg_lo_create
pg_lo_import
Fonctions PostgreSQL


Importe un objet de grande taille depuis un fichier

pg_lo_export
pg_lo_open
Fonctions PostgreSQL
PHP Manual

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import — Importe un objet de grande taille depuis un fichier

Description

int pg_lo_import ([ resource $connection ], string $pathname [, mixed $object_id ] )

pg_lo_import() crée un nouvel objet de grande taille dans la base de données en utilisant un fichier dans le système de fichier en tant que données sources.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Note: Auparavant, cette fonction s'appelait pg_loimport().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

pathname

Le chemin d'accès complet ainsi que le fichier dans lequel il sera lu l'objet de grande taille sur le système du client.

object_id

Si le paramètre object_id est fourni, la fonction essayera de créer un objet large avec cette identifiant, sinon, un identifiant d'objet disponible sera assigné par le serveur. Ce paramètre a été ajouté en PHP 5.3 et cette fonctionnalité est apparue avec PostgreSQL 8.1.

Valeurs de retour

Le OID du nouvel objet de grande taille créé ou FALSE en cas d'échec.

Historique

Version | Description
5.3.0 | Le paramètre optionnel object_id a été ajouté.
4.2.0 | La syntaxe de cette fonction a changé. Avant PHP 4.2.0, la syntaxe était : int pg_lo_import ( string $pathname [, resource $connection ] )

Exemples

Exemple #1 Exemple avec pg_lo_import()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_import($database, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_export() - Exporte un objet de grande taille vers un fichier
  • pg_lo_open() - Ouvre un objet de grande taille PostgreSQL

pg_lo_export
pg_lo_open
Fonctions PostgreSQL


Ouvre un objet de grande taille PostgreSQL

pg_lo_import
pg_lo_read_all
Fonctions PostgreSQL
PHP Manual

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open — Ouvre un objet de grande taille PostgreSQL

Description

resource pg_lo_open ( resource $connection , int $oid , string $mode )

pg_lo_open() ouvre un objet de type Inversion Large Object et retourne un pointeur de fichier pour cet objet permettant ainsi d'être manipulé.

Avertissement

Ne fermer pas la connexion à la base de données avant de fermer la ressource de l'objet de grande taille.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Auparavant, cette fonction s'appelait pg_loopen().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

oid

Le OID de l'objet de grande taille dans la base de données.

mode

Peut être "r" pour lecture seule, "w" pour écriture seule ou "rw" pour lecture et écriture.

Valeurs de retour

Une ressource d'objet de grande taille ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_lo_open()

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "données objet de grande taille");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_close() - Ferme un objet de grande taille PostgreSQL
  • pg_lo_create() - Crée un objet de grande taille PostgreSQL

pg_lo_import
pg_lo_read_all
Fonctions PostgreSQL


Lit un objet de grande taille en totalité

pg_lo_open
pg_lo_read
Fonctions PostgreSQL
PHP Manual

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all — Lit un objet de grande taille en totalité

Description

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() lit un objet de grande taille en totalité et le passe directement au client, après les en-têtes adéquates. Cette fonction est prévue pour transmettre des sons ou des images.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Auparavant, cette fonction s'appelait pg_loreadall().

Liste de paramètres

large_object

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

Valeurs de retour

Nombre d'octets lu ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_lo_read_all()

<?php
   header('Content-type: image/jpeg');
   $image_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $image_oid, "r");
   pg_lo_read_all($handle);
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_read() - Lit un objet de grande taille

pg_lo_open
pg_lo_read
Fonctions PostgreSQL


Lit un objet de grande taille

pg_lo_read_all
pg_lo_seek
Fonctions PostgreSQL
PHP Manual

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read — Lit un objet de grande taille

Description

string pg_lo_read ( resource $large_object [, int $len = 8192 ] )

pg_lo_read() lit au plus len octets d'un objet de grande taille, et retourne les données sous la forme d'une chaîne.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Auparavant, cette fonction s'appelait pg_loread().

Liste de paramètres

large_object

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

len

Un nombre maximal d'octets à retourner. Cet argument est optionnel.

Valeurs de retour

Une chaîne contenant len octets de l'objet de grande taille ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_lo_read()

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   $data = pg_lo_read($handle, 50000);
   pg_query($database, "commit");
   echo $data;
?>

Voir aussi

  • pg_lo_read_all() - Lit un objet de grande taille en totalité

pg_lo_read_all
pg_lo_seek
Fonctions PostgreSQL


Modifie la position dans un objet de grande taille

pg_lo_read
pg_lo_tell
Fonctions PostgreSQL
PHP Manual

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_seek — Modifie la position dans un objet de grande taille

Description

bool pg_lo_seek ( resource $large_object , int $offset [, int $whence = PGSQL_SEEK_CUR ] )

pg_lo_seek() modifie la position du pointeur dans l'objet de grande taille large_object.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Liste de paramètres

large_object

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

offset

Le nombre d'octets de déplacement.

whence

Une de ces constantes PGSQL_SEEK_SET (positionne à partir du début de l'objet), PGSQL_SEEK_CUR (positionne à partir de la position courante) ou PGSQL_SEEK_END (positionne à partir de la fin de l'objet).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_lo_seek()

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Saute les 50000 premiers octets
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Lit les prochains 10000 octetss
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

Voir aussi

  • pg_lo_tell() - Retourne la position courante dans un objet de grande taille PostgreSQL

pg_lo_read
pg_lo_tell
Fonctions PostgreSQL


Retourne la position courante dans un objet de grande taille PostgreSQL

pg_lo_seek
pg_lo_unlink
Fonctions PostgreSQL
PHP Manual

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell — Retourne la position courante dans un objet de grande taille PostgreSQL

Description

int pg_lo_tell ( resource $large_object )

pg_lo_tell() retourne la position courante (à partir du début) du pointeur de lecture sur l'objet de grande taille large_object.

Pour utiliser une interface avec un objet de grande taille, il est nécessaire de l'inclure dans un bloc de transaction.

Liste de paramètres

large_object

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

Valeurs de retour

La position courante du pointeur (en nombre d'octets) à partir du début de l'objet de grande taille. S'il y a une erreur, la valeur retournée sera négative.

Exemples

Exemple #1 Exemple avec pg_lo_tell()

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Saute les 50000 premiers octets
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // On vérifie combien d'octets nous avons sauté
   $offset = pg_lo_tell($handle);
   echo "Position du pointeur est : $offset";
   pg_query($database, "commit");
?>

L'exemple ci-dessus va afficher :

Position du pointeur est : 50000

Voir aussi

  • pg_lo_seek() - Modifie la position dans un objet de grande taille

pg_lo_seek
pg_lo_unlink
Fonctions PostgreSQL


Efface un objet de grande taille PostgreSQL

pg_lo_tell
pg_lo_write
Fonctions PostgreSQL
PHP Manual

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_unlink — Efface un objet de grande taille PostgreSQL

Description

bool pg_lo_unlink ( resource $connection , int $oid )

pg_lo_unlink() efface l'objet de grande taille dont l'identifiant est oid, pour la connexion connection. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Auparavant, cette fonction s'appelait pg_lounlink().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

oid

Le OID de l'objet de grande taille dans la base de données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_lo_unlink()

<?php
   // OID de l'objet de grande taille à supprimer
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   pg_lo_unlink($database, $doc_oid);
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_create() - Crée un objet de grande taille PostgreSQL
  • pg_lo_import() - Importe un objet de grande taille depuis un fichier

pg_lo_tell
pg_lo_write
Fonctions PostgreSQL


Écrit un objet de grande taille PostgreSQL

pg_lo_unlink
pg_meta_data
Fonctions PostgreSQL
PHP Manual

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_write — Écrit un objet de grande taille PostgreSQL

Description

int pg_lo_write ( resource $large_object , string $data [, int $len ] )

pg_lo_write() écrit des données à l'intérieur d'un objet de grande taille à la position courante.

Pour manipuler un objet de grande taille (lo), il est nécessaire de placer les opérations dans un bloc de transaction.

Note: Auparavant, cette fonction s'appelait pg_lowrite().

Liste de paramètres

large_object

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

data

Les données à être écrites dans l'objet de grande taille. Si len est spécifié et est inférieur à la grandeur de data, seul les len octets y seront écrits.

len

Un nombre maximal d'octets à écrire. Il doit être supérieur à zéro et inférieur à la grandeur de data. Cet argument est optionnel, s'il est omis, il prendra par défaut la grandeur de data.

Valeurs de retour

Le nombre d'octets écrit dans l'objet de grande taille ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_lo_write()

<?php
   $doc_oid = 189762345;
   $data = "Ceci écrasera le début de l'objet de grande taille.";
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "w");
   $data = pg_lo_write($handle, $data);
   pg_query($database, "commit");
?>

Voir aussi

  • pg_lo_create() - Crée un objet de grande taille PostgreSQL
  • pg_lo_open() - Ouvre un objet de grande taille PostgreSQL

pg_lo_unlink
pg_meta_data
Fonctions PostgreSQL


Lit les métadonnées de la table PostgreSQL

pg_lo_write
pg_num_fields
Fonctions PostgreSQL
PHP Manual

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5)

pg_meta_data — Lit les métadonnées de la table PostgreSQL

Description

array pg_meta_data ( resource $connection , string $table_name )

pg_meta_data() retourne la définition de la table table_name sous forme de tableau.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

table_name

Le nom de la table.

Valeurs de retour

Un tableau de la table de définition ou FALSE en cas d'erreur.

Exemples

Exemple #1 Récupération des métadonnées d'une table

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  $meta = pg_meta_data($dbconn,'auteurs');
  if (is_array ($meta)) {
       echo '<pre>';
       var_dump ($meta);
       echo '</pre>';
  }
?>

L'exemple ci-dessus va afficher :

array(3) {
["auteur"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["annee"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["titre"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

Voir aussi

  • pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

pg_lo_write
pg_num_fields
Fonctions PostgreSQL


Retourne le nombre de champ

pg_meta_data
pg_num_rows
Fonctions PostgreSQL
PHP Manual

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5)

pg_num_fields — Retourne le nombre de champ

Description

int pg_num_fields ( resource $result )

pg_num_fields() retourne le nombre de champs (ou colonnes) d'un résultat PostgreSQL.

Note: Auparavant, cette fonction s'appelait pg_numfields().

Liste de paramètres

result

Ressource résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

Valeurs de retour

Le nombre de champs (ou colonne) dans le jeu de résultats. En cas d'erreur, -1 est retourné.

Exemples

Exemple #1 Exemple avec pg_num_fields()

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " champ(s) retourné(s).\n";
?>

L'exemple ci-dessus va afficher :

2 champ(s) retourné(s).

Voir aussi

  • pg_num_rows() - Retourne le nombre de lignes PostgreSQL
  • pg_affected_rows() - Retourne le nombre de lignes affectées

pg_meta_data
pg_num_rows
Fonctions PostgreSQL


Retourne le nombre de lignes PostgreSQL

pg_num_fields
pg_options
Fonctions PostgreSQL
PHP Manual

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_num_rows — Retourne le nombre de lignes PostgreSQL

Description

int pg_num_rows ( resource $result )

pg_num_rows() retourne le nombre de lignes d'un résultat PostgreSQL.

Note: Auparavant, cette fonction s'appelait pg_numrows().

Liste de paramètres

result

Ressource résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

Valeurs de retour

Le nombre de lignes dans le jeu de résultats. En cas d'erreur, -1 est retourné.

Exemples

Exemple #1 Exemple avec pg_num_rows()

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " ligne(s) retournée(s).\n";
?>

L'exemple ci-dessus va afficher :

1 ligne(s) retournée(s).

Voir aussi

  • pg_num_fields() - Retourne le nombre de champ
  • pg_affected_rows() - Retourne le nombre de lignes affectées

pg_num_fields
pg_options
Fonctions PostgreSQL


Retourne les options PostgreSQL

pg_num_rows
pg_parameter_status
Fonctions PostgreSQL
PHP Manual

pg_options

(PHP 4, PHP 5)

pg_options — Retourne les options PostgreSQL

Description

string pg_options ([ resource $connection ] )

pg_options() retourne une chaîne contenant les options de la connexion PostgreSQL connection.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Une chaîne contenant les options de connection ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_options()

<?php
   $pgsql_conn = pg_connect("dbname=mark host=localhost");
   echo pg_options($pgsql_conn);
?>

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL

pg_num_rows
pg_parameter_status
Fonctions PostgreSQL


Consulte un paramètre de configuration courant du serveur

pg_options
pg_pconnect
Fonctions PostgreSQL
PHP Manual

pg_parameter_status

(PHP 5)

pg_parameter_status — Consulte un paramètre de configuration courant du serveur

Description

string pg_parameter_status ([ resource $connection ], string $param_name )

Consulte un paramètre de configuration courant du serveur.

Certaines valeurs de paramètres sont retournées par le serveur automatiquement lors du démarrage de la connexion ou lorsqu'une valeur change. pg_parameter_status() peut être utilisée pour interroger ces configurations. La fonction retourne la valeur courante du paramètre s'il et connu ou FALSE si le paramètre est inconnu.

Les paramètres retournés par PostgreSQL 8.0 sont server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone et integer_datetimes. (server_encoding, TimeZone et integer_datetimes n'étaient pas retournés dans les versions antérieures à 8.0.) Notez que server_version, server_encoding et integer_datetimes ne peuvent changer après le démarrage de PostgreSQL.

Les serveurs PostgreSQL 7.3 ou de versions inférieures ne retournent pas de paramètres de configurations, pg_parameter_status() inclut une logique pour obtenir des valeurs pour server_version et client_encoding quand même. Les applications devraient utiliser pg_parameter_status() au lieu du code ad hoc pour déterminer ces valeurs.

Attention

Sur les versions des serveurs PostgreSQL 7.4 et antérieures, le changement de client_encoding avec SET après le démarrage de la connexion ne sera pas réfléchie par pg_parameter_status().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

param_name

Les valeurs possibles de param_name sont server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone et integer_datetimes.

Valeurs de retour

Une chaîne contenant la valeur du paramètre, FALSE en cas d'échec ou du paramètre param_name invalide.

Exemples

Exemple #1 Exemple avec pg_parameter_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  echo "Encodage du serveur : ", pg_parameter_status($dbconn, "server_encoding");
?>

L'exemple ci-dessus va afficher :

Encodage du serveur : SQL_ASCII

pg_options
pg_pconnect
Fonctions PostgreSQL


Établit une connexion PostgreSQL persistante

pg_parameter_status
pg_ping
Fonctions PostgreSQL
PHP Manual

pg_pconnect

(PHP 4, PHP 5)

pg_pconnect — Établit une connexion PostgreSQL persistante

Description

resource pg_pconnect ( string $connection_string [, int $connect_type ] )

pg_pconnect() retourne une ressource de connexion persistante en cas de succès, ou FALSE en cas d'erreur.

Si un second appel est fait à pg_pconenct() avec le même connection_string comme étant une connexion existante, la connexion existante sera retournée à moins que vous ne passez PGSQL_CONNECT_FORCE_NEW à connect_type.

Pour activer les connexions persistantes, la directive de configuration pgsql.allow_persistent du php.ini doit être mise à "On" (ce qui est sa valeur par défaut). Le nombre maximal de connexions peut être limité grâce à la directive de configuration pgsql.max_persistent dans le fichier php.ini (par défaut, elle vaut -1, c'est à dire pas de limite). Le nombre total de connexions peut être configuré avec la directive pgsql.max_links du fichier php.ini.

pg_close() ne refermera pas les connexions persistantes générées par pg_pconnect().

Liste de paramètres

connection_string

La chaîne connection_string peut être vide pour utiliser tous les paramètres par défaut ou elle peut contenir un ou plusieurs paramètres de configuration séparés par des espaces. Chaque paramètre de configuration est sous la forme code = valeur. Les espaces autour du signe égal sont optionnels. Pour écrire une valeur vide ou une valeur contenant des espaces, entourez cette valeur avec des apostrophes, par exemple : code = 'une valeur'. Les apostrophes et les antislashs à l'intérieur de la valeur doivent être échappés par un antislash, c'est-à-dire \' et \\.

Les mots-clé actuellement reconnus sont : host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (ignoré), sslmode, requiressl (obsolète, utilisez sslmode) et service. La liste de ces arguments dépend de la version de votre serveur PostgreSQL.

connect_type

Si PGSQL_CONNECT_FORCE_NEW est passé en argument, alors une nouvelle connexion sera créée, même si la chaîne connection_string est identique à celle de la connexion existante.

Valeurs de retour

Ressource de connexion PostgreSQL en cas de succès, FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec pg_pconnect()

<?php
$dbconn = pg_pconnect("dbname=marie");
// connexion à une base de données nommée "marie"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=marie");
// connexion à une base de données nommée "marie" sur l'hôte "localhost" sur le port "5432"

$dbconn3 = pg_pconnect("host=mouton port=5432 dbname=marie user=agneau password=foo");
// connexion à une base de données nommée "marie" sur l'hôte "mouton" avec un
// nom d'utilisateur et un mot de passe

$conn_string = "host=mouton port=5432 dbname=test user=agneau password=bar";
$dbconn4 = pg_pconnect($conn_string);
// connexion à une base de données nommée "test" sur l'hôte "mouton" avec un
// nom d'utilisateur et un mot de passe
?>

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL
  • Connexions Persistantes

pg_parameter_status
pg_ping
Fonctions PostgreSQL


Ping la connexion à la base

pg_pconnect
pg_port
Fonctions PostgreSQL
PHP Manual

pg_ping

(PHP 4 >= 4.3.0, PHP 5)

pg_ping — Ping la connexion à la base

Description

bool pg_ping ([ resource $connection ] )

pg_ping() ping la connexion à la base de données et essaie de se reconnecter si la connexion est perdue.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_ping()

<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
  echo "Une erreur est survenue.\n";
  exit;
}

if (!pg_ping($conn))
  die("La connexion est perdue\n");
?>

Voir aussi

  • pg_connection_status() - Lit le statut de la connexion PostgreSQL
  • pg_connection_reset() - Relance la connexion au serveur PostgreSQL

pg_pconnect
pg_port
Fonctions PostgreSQL


Retourne le numéro de port

pg_ping
pg_prepare
Fonctions PostgreSQL
PHP Manual

pg_port

(PHP 4, PHP 5)

pg_port — Retourne le numéro de port

Description

int pg_port ([ resource $connection ] )

pg_port() retourne le numéro de port de la connexion identifiée connection.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Un entier contenant le numéro du port du serveur de base de données identifié par connection ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_port()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Connecté correctement au port : " . pg_port($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_ping
pg_prepare
Fonctions PostgreSQL


Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution

pg_port
pg_put_line
Fonctions PostgreSQL
PHP Manual

pg_prepare

(PHP 5 >= 5.1.0)

pg_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution

Description

resource pg_prepare ([ resource $connection ], string $stmtname , string $query )

pg_prepare() crée une requête préparée pour une exécution ultérieure avec pg_execute() ou pg_send_execute(). Cette caractéristique permet aux commandes qui seront utilisées à plusieurs reprises d'être analysées et planifiées qu'une seule fois, plutôt que d'être exécutées chaque fois. pg_prepare() est supportée seulement avec les versions PostgreSQL 7.4 ou plus récentes; la commande échouera si vous l'utilisez avec des versions antérieures.

La fonction crée une requête préparée nommée stmtname à partir de la chaîne query, celle-ci doit contenir qu'une seule commande SQL. stmtname peut être vide ("") pour créer une requête qui n'est pas nommée. Dans ce cas, les requêtes qui existaient et qui se trouvaient sans noms sont automatiquement remplacées; autrement, il y aura une erreur si le nom de la requête est déjà défini dans la session courante. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc. dans query.

Des requêtes préparées à utiliser avec pg_prepare() peuvent être aussi créées en exécutant la requête SQL PREPARE. (Par contre, pg_prepare() est plus flexible puisqu'elle ne nécessite pas que les types des paramètres soit préspécifiés.) De plus, bien qu'il n'y a pas de fonction PHP pour supprimer une requête préparée, la requête SQL DEALLOCATE peut être utilisé pour ce motif.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

stmtname

Le nom à donner à la requête préparée. Il doit être unique à chaque session. Si une chaîne vide est spécifiée ("") alors une requête sans nom est créée, écrasant les requêtes sans noms précédemment définies.

query

La requête SQL avec ses paramètres. Elle doit contenir seulement une seule requête. Plusieurs requêtes séparées par des points-virgules ne sont pas autorisées. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.

Valeurs de retour

Une ressource de résultats en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_prepare()

<?php
// Connexion à une base de données nommée "marie"
$dbconn = pg_connect("dbname=marie");

// Prépare une requête pour l'exécution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');

// Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
// la chaîne "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Exécute la même requête préparée, cette fois avec un paramètre différent
$result = pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));

?>

Voir aussi

  • pg_execute() - Exécute une requête préparée PostGreSQL
  • pg_send_execute() - Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)

pg_port
pg_put_line
Fonctions PostgreSQL


Envoie une chaîne au serveur PostgreSQL

pg_prepare
pg_query_params
Fonctions PostgreSQL
PHP Manual

pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line — Envoie une chaîne au serveur PostgreSQL

Description

bool pg_put_line ([ resource $connection ], string $data )

pg_put_line() envoie une chaîne (terminée par NULL) au serveur PostgreSQL. Ceci est nécessaire en conjonction avec une commande COPY FROM PostgreSQL.

COPY est un chargement très rapide des données supporté par PostgreSQL. Les données sont passées sans être analysées et dans une simple transaction.

Une alternative plutôt que d'utiliser la commande brute pg_put_line() est d'utiliser pg_copy_from(). C'est une interface bien plus simple.

Note: Notez que l'application doit explicitement ajouter les deux caractères "\." à la fin de la chaîne pour indiquer au serveur qu'elle a finit d'envoyer des données, avant d'appeler pg_end_copy().

Avertissement

L'utilisation de pg_put_line() cause sur la plupart des objets de grande taille à échouer, incluant pg_lo_read() et pg_lo_tell(). Vous pouvez utiliser pg_copy_from() et pg_copy_to() à la place.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

data

Une ligne de texte à envoyer directement au serveur PostgreSQL. Un caractère d'arrêt NULL est automatiquement ajouté.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_put_line()

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\tBonjour le monde\t4.5\n");
  pg_put_line($conn, "4\tAurevoir le monde\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

Voir aussi

  • pg_end_copy() - Synchronise avec le serveur PostgreSQL

pg_prepare
pg_query_params
Fonctions PostgreSQL


Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL

pg_put_line
pg_query
Fonctions PostgreSQL
PHP Manual

pg_query_params

(PHP 5 >= 5.1.0)

pg_query_params — Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL

Description

resource pg_query_params ([ resource $connection ], string $query , array $params )

Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL.

pg_query_params() est comme pg_query(), mais offre des fonctionnalités additionnelles : les valeurs des paramètres peuvent être spécifiées séparément de la ligne de commande propre. pg_query_params() est supportée seulement avec les versions PostgreSQL 7.4 ou plus récentes; la commande échouera si vous l'utilisez avec des versions antérieures.

Si des paramètres sont utilisés, ils sont référés à $1, $2, etc. dans query. params spécifie les valeurs actuelles des paramètres. Une valeur NULL dans ce tableau signifie que le paramètre correspondant est SQL NULL.

Le principal avantage de pg_query_params() sur pg_query() est que les valeurs des paramètres peuvent être séparées de la requête query, par conséquent, on invite les échappements de caractères ennuyeux et source d'erreurs. Contrairement à pg_query(), pg_query_params() permet seulement une seule commande SQL dans la chaîne donnée. (Il peut y avoir des points-virgules à l'intérieur mais pas plus d'une seule commande.)

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

query

La requête SQL avec ses paramètres. Elle doit contenir seulement une seule requête. Plusieurs requêtes séparées par des points-virgules ne sont pas autorisées. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.

params

Un tableau de valeurs de paramètres pour substituer les variables $1, $2, etc. dans la requête préparée originale. Le nombre d'éléments présents dans le tableau doit concorder avec le nombre de variables à remplacer.

Valeurs de retour

Une ressource de résultats en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_query_params()

<?php
// Connexion à une base de données nommée "marie"
$dbconn = pg_connect("dbname=marie");

// Cherche tous les magasins nommés Joe's Widgets. Notez qu'il n'est pas
// nécessaire d'échapper la chaîne "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM magasins WHERE nom = $1', array("Joe's Widgets"));

// Compare en utilisant pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM magasins WHERE nom = '{$str}'");

?>

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL

pg_put_line
pg_query
Fonctions PostgreSQL


Exécute une requête PostgreSQL

pg_query_params
pg_result_error_field
Fonctions PostgreSQL
PHP Manual

pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query — Exécute une requête PostgreSQL

Description

resource pg_query ([ resource $connection ], string $query )

pg_query() exécute la requête query sur la base de données spécifiée connection.

Si une erreur se produit et FALSE est retourné, les détails de l'erreur peuvent être récupérés en utilisant la fonction pg_last_error() si la connexion est valide.

Note: Bien que connection puisse être omis, il n'est pas recommandé de le faire, car il peut se révéler difficile de retrouver les bogues dans les scripts.

Note: Auparavant, cette fonction s'appelait pg_exec(). pg_exec() est toujours disponible pour des raisons de compatibilité, mais les utilisateurs sont encouragés à utiliser le nouveau nom.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

query

La requête ou les requêtes SQL à être exécutées. Lorsque plusieurs requêtes sont passées à la fonction, elles sont automatiquement exécutées comme étant une transaction, à moins qu'il y aille les commandes BEGIN/COMMIT incluses dans la requête. Cependant, l'utilisation de transactions multiples dans un seul appel de fonction n'est pas recommandée.

Les données contenues dans la requête doivent être échappées proprement.

Valeurs de retour

Une ressource de résultats en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_query()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Une erreur s'est produite.\n";
  exit;
}

$result = pg_query($conn, "SELECT auteur, email FROM auteurs");
if (!$result) {
  echo "Une erreur s'est produite.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Auteur: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Exemple #2 Utilisation de pg_query() avec plusieurs requêtes

<?php

$conn = pg_pconnect("dbname=publisher");

// ces requêtes seront exécutées en tant qu'une seule transaction

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL
  • pg_pconnect() - Établit une connexion PostgreSQL persistante
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
  • pg_num_rows() - Retourne le nombre de lignes PostgreSQL
  • pg_affected_rows() - Retourne le nombre de lignes affectées

pg_query_params
pg_result_error_field
Fonctions PostgreSQL


Retourne un champ individuel d'un rapport d'erreur

pg_query
pg_result_error
Fonctions PostgreSQL
PHP Manual

pg_result_error_field

(PHP 5 >= 5.1.0)

pg_result_error_field — Retourne un champ individuel d'un rapport d'erreur

Description

string pg_result_error_field ( resource $result , int $fieldcode )

pg_result_error_field() retourne un des champs détaillés de message d'erreur qui sont associés à la ressource result. Cette fonction est disponible seulement sur les serveurs PostgreSQL 7.4 ou supérieurs. Le champ d'erreur est spécifié par fieldcode.

Puisque pg_query() et pg_query_params() retourne FALSE si la requête échoue, vous devez utiliser pg_send_query() et pg_get_result() pour obtenir le jeu de résultats.

Si vous avez besoin d'obtenir plus d'informations sur l'erreur lors de
l'échec des requêtes avec pg_query(), utilisez
pg_set_error_verbosity() et
pg_last_error() et analyser ensuite le résultat.

Liste de paramètres

result

Une ressource requête PostgreSQL provenant d'une requête précédemment exécutée.

fieldcode

Les valeurs possibles de fieldcode sont : PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ seulement), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ seulement), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE ou PGSQL_DIAG_SOURCE_FUNCTION.

Valeurs de retour

Retourne une chaîne contenant le contenu du champ d'erreur, NULL si le champ n'existe pas ou FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec pg_result_error_field()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from nexistepas;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Voir aussi

  • pg_result_error() - Lit le message d'erreur associé à un résultat

pg_query
pg_result_error
Fonctions PostgreSQL


Lit le message d'erreur associé à un résultat

pg_result_error_field
pg_result_seek
Fonctions PostgreSQL
PHP Manual

pg_result_error

(PHP 4 >= 4.2.0, PHP 5)

pg_result_error — Lit le message d'erreur associé à un résultat

Description

string pg_result_error ( resource $result )

pg_result_error() retourne le message d'erreur associé au résultat result. Par conséquent, l'utilisateur a des chances d'obtenir un message d'erreur plus approprié que via pg_last_error().

La fonction pg_result_error_field() peut donner bien plus de détails sur les erreurs que pg_result_error().

Comme pg_query() retourne FALSE si la requête échoue, vous devez utiliser pg_send_query() et pg_get_result() pour récupérer la ressource de résultat.

Liste de paramètres

result

Ressource résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

Valeurs de retour

Retourne une chaîne de caractères s'il y a une erreur associée avec le paramètre result, FALSE autrement.

Exemples

Exemple #1 Exemple avec pg_result_error()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from nexistepas;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Voir aussi

  • pg_result_error_field() - Retourne un champ individuel d'un rapport d'erreur
  • pg_query() - Exécute une requête PostgreSQL
  • pg_send_query() - Exécute une requête PostgreSQL asynchrone
  • pg_get_result() - Lit un résultat PostgreSQL asynchrone
  • pg_last_error() - Lit le dernier message d'erreur sur la connexion
  • pg_last_notice() - Retourne la dernière note du serveur PostgreSQL

pg_result_error_field
pg_result_seek
Fonctions PostgreSQL


Modifie la ligne courant dans un résultat

pg_result_error
pg_result_status
Fonctions PostgreSQL
PHP Manual

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5)

pg_result_seek — Modifie la ligne courant dans un résultat

Description

bool pg_result_seek ( resource $result , int $offset )

pg_result_seek() choisit la ligne offset comme ligne courante dans le résultat result.

Liste de paramètres

result

Ressource résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

offset

Ligne à déplacer la position interne dans le jeu de résultats result. Les lignes sont numérotées à partir de zéro.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_result_seek()

<?php

// Connexion à la base de données
$conn = pg_pconnect("dbname=publisher");

// Exécution de la requête
$result = pg_query($conn, "SELECT auteur, email FROM auteurs");

// Déplacement à la troisième ligne (on assume qu'il y a 3 lignes)
pg_result_seek($result, 2);

// Récupération de la troisième ligne
$row = pg_fetch_row($result);

?>

Voir aussi

  • pg_fetch_row() - Lit une ligne dans un tableau
  • pg_fetch_assoc() - Lit une ligne de résultat PostgreSQL sous forme de tableau associatif
  • pg_fetch_array() - Lit une ligne de résultat PostgreSQL dans un tableau
  • pg_fetch_object() - Lit une ligne de résultat PostgreSQL dans un objet
  • pg_fetch_result() - Retourne les valeurs d'un résultat

pg_result_error
pg_result_status
Fonctions PostgreSQL


Lit le statut du résultat

pg_result_seek
pg_select
Fonctions PostgreSQL
PHP Manual

pg_result_status

(PHP 4 >= 4.2.0, PHP 5)

pg_result_status — Lit le statut du résultat

Description

mixed pg_result_status ( resource $result [, int $type ] )

pg_result_status() retourne le statut du résultat result ou la commande d'exécution de PostgreSQL associée au résultat.

Liste de paramètres

result

Ressource résultat de requête PostgreSQL, retourné par pg_query(), pg_query_params() ou pg_execute() (entre autres).

type

Soit PGSQL_STATUS_LONG pour retourner un statut numérique de result ou PGSQL_STATUS_STRING pour retourner le tag de la commande de result. Si l'argument n'est pas spécifié, PGSQL_STATUS_LONG est la valeur par défaut.

Valeurs de retour

Les valeurs de retour possibles sont PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR et PGSQL_FATAL_ERROR si PGSQL_STATUS_LONG est spécifié. Autrement, une chaîne contenant le tag de la commande PostgreSQL est retourné.

Historique

Version | Description
4.3.0 | Le paramètre type a été ajouté.

Exemples

Exemple #1 Exemple avec pg_result_status()

<?php

// Connexion à la base de données
$conn = pg_pconnect("dbname=publisher");

// Exécution de COPY
$result = pg_query($conn, "COPY auteurs FROM STDIN;");

// Récupération du statut
$status = pg_result_status($result);

// Détermination du statut
if ($status == PGSQL_COPY_IN)
   echo "Le copiage a eu lieu.";
else
   echo "Le copiage a échoué.";

?>

L'exemple ci-dessus va afficher :

Le copiage a eu lieu.

Voir aussi

  • pg_connection_status() - Lit le statut de la connexion PostgreSQL

pg_result_seek
pg_select
Fonctions PostgreSQL


Effectue une sélection PostgreSQL

pg_result_status
pg_send_execute
Fonctions PostgreSQL
PHP Manual

pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select — Effectue une sélection PostgreSQL

Description

mixed pg_select ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_select() sélectionne les enregistrements par assoc_array qui est au format champ=>valeur. Lorsque la requête réussit, elle retourne un tableau contenant tous les enregistrements et champs qui vérifient la condition spécifiée par assoc_array.

Si options est spécifiée, pg_convert() est appliquée à assoc_array avec les drapeaux spécifiés.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

table_name

Nom de la table dans laquelle on sélectionne les lignes.

assoc_array

Un tableau à qui les clés sont les noms des champs dans la table table_name et à qui les valeurs sont les conditions que la ligne doit vérifier pour être récupérée.

options

N'importe quelle de PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC ou PGSQL_DML_STRING combinée. Si PGSQL_DML_STRING fait partie de options alors la requête est retournée sous forme de chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Retourne une chaîne de caractères si PGSQL_DML_STRING est passé via options.

Exemples

Exemple #1 Exemple avec pg_select()

<?php
  $db = pg_connect ('dbname=foo');
  // C'est sécuritaire, car $_POST est convertit automatiquement
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
    echo "Lignes lues\n";
    var_dump($rec);
  } else {
    echo "Problème dans les données utilisateur\n";
  }
?>

Voir aussi

  • pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

pg_result_status
pg_send_execute
Fonctions PostgreSQL


Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)

pg_select
pg_send_prepare
Fonctions PostgreSQL
PHP Manual

pg_send_execute

(PHP 5 >= 5.1.0)

pg_send_execute — Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)

Description

bool pg_send_execute ( resource $connection , string $stmtname , array $params )

Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s).

Cette fonction est similaire à pg_send_query_params(), mais la commande qui sera exécutée est spécifiée en nommant une requête préalablement préparée, au lieu de donner une chaîne en tant que requête. Les paramètres de la fonctions sont gérés de la même manière que pg_execute(). Comme pg_execute(), la fonction ne fonctionnera pas sur les versions antérieures à PostgreSQL 7.4.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

stmtname

Le nom de la requête préparée à exécuter. Si une chaîne vide est spécifiée (""), alors la requête qui n'est pas nommée est exécutée. Le nom doit avoir été précédemment préparé en utilisant pg_prepare(), pg_send_prepare() ou une commande SQL PREPARE.

params

Un tableau de valeurs de paramètres pour substituer les variables $1, $2, etc. dans la requête préparée originale. Le nombre d'éléments présents dans le tableau doit concorder avec le nombre de variables à remplacer.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE en cas d'échec. Utilisez pg_get_result() pour déterminer le résultat de la requête.

Exemples

Exemple #1 Exemple avec pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  // Prépare une requête pour l'exécution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
  // la chaîne "Joe's Widgets"
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Exécute la même requête préparée, cette fois avec un paramètre différent
  if (!pg_connection_busy($dbconn)) {
    pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
    $res3 = pg_get_result($dbconn);
  }

?>

Voir aussi

  • pg_prepare() - Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution
  • pg_send_prepare() - Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution
  • pg_execute() - Exécute une requête préparée PostGreSQL

pg_select
pg_send_prepare
Fonctions PostgreSQL


Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution

pg_send_execute
pg_send_query_params
Fonctions PostgreSQL
PHP Manual

pg_send_prepare

(PHP 5 >= 5.1.0)

pg_send_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution

Description

bool pg_send_prepare ( resource $connection , string $stmtname , string $query )

Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution.

Cette fonction est la version asynchrone de pg_prepare() : elle retourne TRUE si elle a été capable de répartir la requête et FALSE si elle n'a pas été capable. Après un appel réussi, appelez pg_get_result() pour déterminer si le serveur a créé correctement la requête préparée. Les paramètres de la fonctions sont gérés de la même manière que pg_execute(). Comme pg_execute(), la fonction ne fonctionnera pas sur les versions antérieures à PostgreSQL 7.4.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

stmtname

Le nom à donner à la requête préparée. Il doit être unique à chaque session. Si une chaîne vide est spécifiée ("") alors une requête sans nom est créée, écrasant les requêtes sans nom précédemment définies.

query

La requête SQL avec ses paramètres. Elle doit contenir seulement une seule requête. Plusieurs requêtes séparées par des points-virgules ne sont pas autorisées. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE en cas d'échec. Utilisez pg_get_result() pour déterminer le résultat de la requête.

Exemples

Exemple #1 Exemple pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  // Prépare une requête pour l'exécution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
  // la chaîne "Joe's Widgets"
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Exécute la même requête préparée, cette fois avec un paramètre différent
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
    $res3 = pg_get_result($dbconn);
  }

?>

Voir aussi

  • pg_connect() - Établit une connexion PostgreSQL
  • pg_pconnect() - Établit une connexion PostgreSQL persistante
  • pg_execute() - Exécute une requête préparée PostGreSQL
  • pg_send_execute() - Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)
  • pg_send_query_params() - Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s)

pg_send_execute
pg_send_query_params
Fonctions PostgreSQL


Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s)

pg_send_prepare
pg_send_query
Fonctions PostgreSQL
PHP Manual

pg_send_query_params

(PHP 5 >= 5.1.0)

pg_send_query_params — Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s)

Description

bool pg_send_query_params ( resource $connection , string $query , array $params )

Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s).

Cette fonction est équivalente à pg_send_query() à l'exception que les paramètres de la requête peuvent être spécifiés séparément de la chaîne de requête query. Les paramètres de la fonctions sont gérés de la même manière que pg_execute(). Comme pg_execute(), la fonction ne fonctionnera pas sur les versions antérieures à PostgreSQL 7.4 et elle n'autorise qu'une seule commande par requête.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

query

La requête SQL avec ses paramètres. Elle doit contenir seulement une seule requête. Plusieurs requêtes séparées par des points-virgules ne sont pas autorisées. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.

params

Un tableau de valeurs de paramètres pour substituer les variables $1, $2, etc. dans la requête préparée originale. Le nombre d'éléments présents dans le tableau doit concorder avec le nombre de variables à remplacer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Utilisez pg_get_result() pour déterminer le résultat de la requête.

Exemples

Exemple #1 Exemple avec pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  // Avec les paramètres. Notez qu'il n'est pas nécessaire d'échapper la
  // chaîne du paramètre.
  pg_send_query_params($dbconn, 'select count(*) from auteurs where ville = $1', array('Perth'));

  // Compare avec l'utilisation basique de pg_send_query
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from auteurs where ville = '${str}'");
?>

Voir aussi

  • pg_send_query() - Exécute une requête PostgreSQL asynchrone

pg_send_prepare
pg_send_query
Fonctions PostgreSQL


Exécute une requête PostgreSQL asynchrone

pg_send_query_params
pg_set_client_encoding
Fonctions PostgreSQL
PHP Manual

pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query — Exécute une requête PostgreSQL asynchrone

Description

bool pg_send_query ( resource $connection , string $query )

pg_send_query() envoie une requête ou des requêtes de manière asynchrone à la connexion connection. Contrairement à pg_query(), elle peut envoyer plusieurs requêtes à la fois au serveur PostgreSQL et obtenir les résultats un par un en utilisant pg_get_result().

L'exécution du script n'est pas bloquée durant l'exécution des requêtes. Utilisez pg_connection_busy() pour vérifier si la connexion est occupée (c'est-à-dire la requête est en train d'être exécutée). Les requêtes peuvent être annulées avec pg_cancel_query().

Bien que l'on puisse envoyer plusieurs requêtes en même temps, il n'est pas possible d'envoyer plusieurs requêtes sur une connexion occupée. Si une requête est envoyée alors que la connexion est occupée, elle attendra que la requête précédente soit terminée et perdra tous ses résultats.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL.

query

La requête ou les requêtes SQL à être exécutées.

Les données contenues dans la requête doivent être échappées proprement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Utilisez pg_get_result() pour déterminer les résultats de requête.

Exemples

Exemple #1 Exemple avec pg_send_query()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn,"select * from auteurs; select count(*) from auteurs;");
  }

  $res1 = pg_get_result($dbconn);
  echo "Premier appel de pg_get_result() : $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 a $rows1 enregistrements\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second appel de pg_get_result() : $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 a $rows2 enregistrements\n";
?>

L'exemple ci-dessus va afficher :

Premier appel de pg_get_result() : Resource id #3
Resource id #3 a 3 enregistrements

Second appel de pg_get_result() : Resource id #4
Resource id #4 a 1 enregistrements

Voir aussi

  • pg_query() - Exécute une requête PostgreSQL
  • pg_cancel_query() - Annule une requête asynchrone
  • pg_get_result() - Lit un résultat PostgreSQL asynchrone
  • pg_connection_busy() - Vérifie si la connexion PostgreSQL est occupée

pg_send_query_params
pg_set_client_encoding
Fonctions PostgreSQL


Choisit l'encodage du client PostgreSQL

pg_send_query
pg_set_error_verbosity
Fonctions PostgreSQL
PHP Manual

pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_set_client_encoding — Choisit l'encodage du client PostgreSQL

Description

int pg_set_client_encoding ([ resource $connection ], string $encoding )

pg_set_client_encoding() fixe l'encodage du client. Elle retourne 0 en cas de succès et -1 en cas d'erreur.

PostgreSQL convertira automatiquement les données dans l'encodage de la base de données vers l'encodage du client.

Note: Auparavant, cette fonction s'appelait pg_setclientencoding().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

encoding

L'encodage client demandé. Un de ces constantes : SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 ou WIN1250.

La liste exacte des encodages disponibles dépend de votre version PostgreSQL, alors vérifiez votre manuel PostgreSQL pour une liste plus spécifique.

Valeurs de retour

Retourne 0 en cas de succès ou -1 en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_set_client_encoding()

<?php

$conn = pg_pconnect("dbname=editeur");
if (!$conn) {
  echo "Une erreur s'est produite.\n";
  exit;
}

// Fixe l'encodage du client à UNICODE. Les données seront automatiquement
// converties de l'encodage serveur à l'encodage client.
pg_set_client_encoding($conn, "UNICODE");

$result = pg_query($conn, "SELECT auteur, email FROM auteurs");
if (!$result) {
  echo "Une erreur s'est produite.\n";
  exit;
}

// Écriture de données UTF-8
while ($row = pg_fetch_row($result)) {
  echo "Auteur: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Voir aussi

  • pg_client_encoding() - Lit l'encodage du client

pg_send_query
pg_set_error_verbosity
Fonctions PostgreSQL


Détermine la le degré des messages retournés par pg_last_error et pg_result_error

pg_set_client_encoding
pg_trace
Fonctions PostgreSQL
PHP Manual

pg_set_error_verbosity

(PHP 5 >= 5.1.0)

pg_set_error_verbosity — Détermine la le degré des messages retournés par pg_last_error() et pg_result_error()

Description

int pg_set_error_verbosity ([ resource $connection ], int $verbosity )

Détermine la le degré des messages retournés par pg_last_error() et pg_result_error().

pg_set_error_verbosity() fixe le degré d'erreur et retourne le paramètre précédant de la connexion. Avec le mode PGSQL_ERRORS_TERSE, les messages retournés inclus la sévérité, le texte primaire et la position seulement; normalement, cela va entrer sur une seule ligne. Le mode par défaut (PGSQL_ERRORS_DEFAULT) produit des messages qui incluent les messages ci-dessus et des détails, des astuces ou les champs en contexte (ces messages peuvent être étendus sur plusieurs lignes). Le mode PGSQL_ERRORS_VERBOSE tous les champs disponibles. Le changement du degré des messages n'affecte pas les messages disponibles qui proviennent des résultats déjà existants, mais seulement les messages des résultats créés par la suite.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

verbosity

Le degré de message d'erreur : PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT ou PGSQL_ERRORS_VERBOSE.

Valeurs de retour

Le degré de message d'erreur précédant : PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT ou PGSQL_ERRORS_VERBOSE.

Exemples

Exemple #1 Exemple avec pg_set_error_verbosity()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from nexistepas;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

Voir aussi

  • pg_last_error() - Lit le dernier message d'erreur sur la connexion
  • pg_result_error() - Lit le message d'erreur associé à un résultat

pg_set_client_encoding
pg_trace
Fonctions PostgreSQL


Active le suivi d'une connexion PostgreSQL

pg_set_error_verbosity
pg_transaction_status
Fonctions PostgreSQL
PHP Manual

pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace — Active le suivi d'une connexion PostgreSQL

Description

bool pg_trace ( string $pathname [, string $mode = "w" [, resource $connection ]] )

pg_trace() active le suivi des communications entre PHP et le serveur PostgreSQL. Cet historique sera enregistré dans un fichier. Pour comprendre ces lignes, il faut être familier avec le protocole de communication interne à PostgreSQL.

Pour ceux qui le ne sont pas, elles peuvent être utiles pour suivre les requêtes et les erreurs : avec la commande grep '^To backend' trace.log, vous pourrez voir les requêtes réellement envoyées au serveur PostgreSQL. Pour plus d'informations, référez-vous à la » Documentation PostgreSQL.

Liste de paramètres

pathname

Le chemin complet et le nom du fichier dans lequel le suivi sera enregistré. Comme fopen().

pathname

Le mode d'accès optionnel, comme fopen().

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pg_trace()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Maintenant /tmp/trace.log contiendra le suivi des communications
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • pg_untrace() - Termine le suivi d'une connexion PostgreSQL

pg_set_error_verbosity
pg_transaction_status
Fonctions PostgreSQL


Retourne le statut de la transaction en cours du serveur

pg_trace
pg_tty
Fonctions PostgreSQL
PHP Manual

pg_transaction_status

(PHP 5 >= 5.1.0)

pg_transaction_status — Retourne le statut de la transaction en cours du serveur

Description

int pg_transaction_status ( resource $connection )

Retourne le statut de la transaction en cours du serveur.

Attention

pg_transaction_status() donnera de mauvais résultats lorsque vous l'utiliserez avec un serveur PostgreSQL 7.3 qui a le paramètre autocommit désactivé. La fonctionnalité de autocommit est dépréciée et n'existe plus dans les versions de serveur plus récentes.

Liste de paramètres

connection

Ressource de connexion de base de données PostgreSQL.

Valeurs de retour

Le statut peut être PGSQL_TRANSACTION_IDLE (actuellement inactif), PGSQL_TRANSACTION_ACTIVE (une commande est en cours), PGSQL_TRANSACTION_INTRANS (inactif, dans un bloc de transaction valide), ou PGSQL_TRANSACTION_INERROR (inactif, dans un bloc de transaction en échec). PGSQL_TRANSACTION_UNKNOWN est retourné si la connexion est mauvaise. PGSQL_TRANSACTION_ACTIVE est retourné seulement si la requête a été envoyée au serveur et que celle-ci n'a pas été encore complétée.

Exemples

Exemple #1 Exemple avec pg_transaction_status()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Connexion mauvaise';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Connexion actuellement inactive';
  } else {
      echo 'Connexion est en cours de transaction';
  }
?>

pg_trace
pg_tty
Fonctions PostgreSQL


Retourne le nom de TTY associé à la connexion

pg_transaction_status
pg_unescape_bytea
Fonctions PostgreSQL
PHP Manual

pg_tty

(PHP 4, PHP 5)

pg_tty — Retourne le nom de TTY associé à la connexion

Description

string pg_tty ([ resource $connection ] )

pg_tty() retourne le nom de TTY de la connexion associée à connection.

Note: pg_tty() est obsolète, depuis le serveur ne fait plus attention à la configuration TTY, mais demeure pour des raisons de compatibilités.

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Une chaîne contenant le débogue TTY de la connexion connection ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec pg_tty()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Débogue TTY serveur est : " . pg_tty($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_transaction_status
pg_unescape_bytea
Fonctions PostgreSQL


Supprime la protection d'une chaîne de type bytea

pg_tty
pg_untrace
Fonctions PostgreSQL
PHP Manual

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5)

pg_unescape_bytea — Supprime la protection d'une chaîne de type bytea

Description

string pg_unescape_bytea ( string $data )

pg_unescape_bytea() supprime la protection des caractères de type bytea. Elle retourne la chaîne de caractères protégée, pouvant contenir des données binaires.

Note: Lorsque vous utilisez une commande SELECT avec des données de type bytea, PostgreSQL retourne des valeurs octales, préfixées avec des antislashs \ (e.g. \032). Les utilisateurs doivent effectuer la conversion en format binaire eux-mêmes.
pg_escape_bytea() requiert PostgreSQL 7.2 ou plus récent. Avec PostgreSQL 7.2.0 et 7.2.1, les données de type bytea doivent être transtypée lorsque vous activez le support des chaînes de caractères multioctets. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);. PostgreSQL 7.2.2 ou plus récent ne requiert pas cette manipulation. Toutefois, si le client et le serveur n'utilisent pas le même jeu de caractères, il peut arriver des erreurs. Il faut alors forcer le transtypage manuellement pour éviter cette erreur.

Liste de paramètres

data

Une chaîne de caractères contenant les données bytea PostgreSQL à être converties en chaîne de caractères binaire PHP.

Valeurs de retour

Une chaîne de caractères contenant les données protégées.

Exemples

Exemple #1 Exemple avec pg_unescape_bytea()

<?php
  // Connexion à la base de données
  $dbconn = pg_connect('dbname=foo');

  // Récupération des données bytea
  $res = pg_query("SELECT data FROM galerie WHERE nom='Arbres Pin'");
  $raw = pg_fetch_result($res, 'data');

  // Convertit en binaire et envoie au navigateur
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

Voir aussi

  • pg_escape_bytea() - Protège une chaîne pour insertion dans un champ bytea
  • pg_escape_string() - Protège une chaîne de caractères pour l'insérer dans un champ texte

pg_tty
pg_untrace
Fonctions PostgreSQL


Termine le suivi d'une connexion PostgreSQL

pg_unescape_bytea
pg_update
Fonctions PostgreSQL
PHP Manual

pg_untrace

(PHP 4 >= 4.0.1, PHP 5)

pg_untrace — Termine le suivi d'une connexion PostgreSQL

Description

bool pg_untrace ([ resource $connection ] )

pg_untrace() termine le suivi d'une connexion PostgreSQL, initiée avec pg_trace().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Retourne toujours TRUE.

Exemples

Exemple #1 Exemple avec pg_untrace()

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Maintenant le suivi des communications est désactivé
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Voir aussi

  • pg_trace() - Active le suivi d'une connexion PostgreSQL

pg_unescape_bytea
pg_update
Fonctions PostgreSQL


Modifie les lignes d'une table

pg_untrace
pg_version
Fonctions PostgreSQL
PHP Manual

pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update — Modifie les lignes d'une table

Description

mixed pg_update ( resource $connection , string $table_name , array $data , array $condition [, int $options = PGSQL_DML_EXEC ] )

pg_update() modifie les lignes de la table table_name, qui vérifient la condition condition, et leur donne la valeur de data. Si options est spécifié, pg_convert() est appliqué à data avec les options spécifiées.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

connection

Une ressource de connexion PostgreSQL.

table_name

Le nom de la table dans laquelle les lignes seront mises à jour.

data

Un tableau dont les clés sont les noms des champs dans la table table_name, et où les valeurs sont les lignes correspondantes qui seront mises à jour.

condition

Un tableau dont les clés sont les noms des champs dans la table table_name, et où les valeurs sont les conditions à remplir par les lignes pour être mises à jour.

options

Toutes combinaisons de constantes parmi PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC ou PGSQL_DML_STRING. Si PGSQL_DML_STRING fait partie du paramètre options, alors la requête sera retournée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Retourne une chaîne de caractères si PGSQL_DML_STRING est passé via le paramètre options.

Exemples

Exemple #1 Exemple avec pg_update()

<?php
  $db = pg_connect ('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // C'est sécuritaire, car $_POST est convertit automatiquement
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Les données ont été modifiées : $res\n";
  } else {
      echo "Problème dans les données utilisateur\n";
  }
?>

Voir aussi

  • pg_convert() - Convertit des tableaux associatifs en une commande PostgreSQL

pg_untrace
pg_version
Fonctions PostgreSQL


Retourne un tableau avec les versions du client, du protocole et du serveur (si disponible)

pg_update
SQLite
Fonctions PostgreSQL
PHP Manual

pg_version

(PHP 5)

pg_version — Retourne un tableau avec les versions du client, du protocole et du serveur (si disponible)

Description

array pg_version ([ resource $connection ] )

pg_version() retourne un tableau avec les versions du client, du protocole et du serveur. Les versions du protocole et du serveur ne sont disponibles que si PHP a été compilé avec PostgreSQL 7.4 ou supérieur.

Pour plus d'informations sur le serveur, utilisez pg_parameter_status().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

Valeurs de retour

Retourne un tableau avec les clés client, protocol et server et valeurs (si disponibles). Retourne FALSE en cas d'erreur ou de connexion invalide.

Exemples

Exemple #1 Exemple avec pg_version()

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=marie")
   or die("Connexion impossible");

$v = pg_version($dbconn);

echo $v['client'];
?>

L'exemple ci-dessus va afficher :

7.4

Voir aussi

  • pg_parameter_status() - Consulte un paramètre de configuration courant du serveur

pg_update
SQLite
Fonctions PostgreSQL


SQLite

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions SQLite
    • sqlite_array_query — Exécute une requête SQL avec SQLite et retourne un tableau
    • sqlite_busy_timeout — Configure le délai d'attente d'une base SQLite occupée
    • sqlite_changes — Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite
    • sqlite_close — Ferme la connexion à SQLite
    • sqlite_column — Lit la valeur d'une colonne dans un résultat SQLite
    • sqlite_create_aggregate — Enregistre une UDF agrégeante pour les requêtes SQLite
    • sqlite_create_function — Enregistre une fonction utilisateur "classique" UDF pour SQLite
    • sqlite_current — Lit une ligne de résultat SQLite dans un tableau
    • sqlite_error_string — Retourne le message d'erreur SQLite
    • sqlite_escape_string — Protège une chaîne de caractères pour utilisation avec SQLite
    • sqlite_exec — Exécute une requête sans résultats sur une base de données
    • sqlite_factory — Ouvre une base SQLite et crée un objet pour elle
    • sqlite_fetch_all — Retourne toutes les lignes d'un jeu de résultats en tant que tableau de tableaux
    • sqlite_fetch_array — Lit la prochaine ligne de résultat SQLite dans un tableau
    • sqlite_fetch_column_types — Retourne un tableau des types de colonnes d'une certaine table
    • sqlite_fetch_object — Retourne la ligne suivante du jeu de résultats en tant qu'objet
    • sqlite_fetch_single — Lit la première ligne d'un résultat SQLite sous forme de chaîne
    • sqlite_fetch_string — Alias de sqlite_fetch_single
    • sqlite_field_name — Retourne le nom du champ SQLite
    • sqlite_has_more — Indique s'il reste des lignes SQLite à lire
    • sqlite_has_prev — Retourne si oui ou non une ligne précédente est disponible
    • sqlite_key — Retourne l'index de la ligne courante
    • sqlite_last_error — Retourne le dernier code d'erreur SQLite
    • sqlite_last_insert_rowid — Retourne le numéro de ligne de la dernière ligne insérée
    • sqlite_libencoding — Retourne l'encodage utilisé par la bibliothèque SQLite
    • sqlite_libversion — Retourne la version de la bibliothèque SQLite
    • sqlite_next — Déplace le pointeur SQLite vers la prochaine ligne
    • sqlite_num_fields — Retourne le nombre de champs dans un résultat SQLite
    • sqlite_num_rows — Retourne le nombre de lignes d'un résultat SQLite
    • sqlite_open — Ouvre une base SQLite et la crée si elle n'existe pas
    • sqlite_popen — Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas
    • sqlite_prev — Se positionne sur le numéro de ligne précédent du jeu de résultats
    • sqlite_query — Exécute une requête SQLite et lit le résultat
    • sqlite_rewind — Place le pointeur de résultat SQLite au début
    • sqlite_seek — Déplace le pointeur de résultat SQLite vers une ligne
    • sqlite_single_query — Exécute une requête et retourne soit un tableau pour une colonne unique, soit la valeur de la première ligne
    • sqlite_udf_decode_binary — Décode des données binaires, passées à une UDF SQLite
    • sqlite_udf_encode_binary — Encode les données binaires d'une UDF SQLite avant de les retourner
    • sqlite_unbuffered_query — Exécute une requête SQLite non bufferisée
    • sqlite_valid — Retourne si oui ou non il reste des lignes disponibles
pg_version
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

SQLite est une bibliothèque C qui implémente un moteur de base de données embarqué. Les programmes qui utilisent la bibliothèque SQLite peuvent avoir accès à une base de données SQL sans avoir de processus RDBMS séparé.

SQLite n'est pas une bibliothèque cliente permettant de se connexion à un gros serveur de base de données. La bibliothèque SQLite lit et écrit directement dans des fichiers de base de données sur le disque.

Note: Pour plus d'informations, voir le site web de SQLite sur : (» http://sqlite.org/).

SQLite
Installation/Configuration
SQLite


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SQLite


Pré-requis

L'extension SQLite est activée par défaut depuis PHP 5. Avant cela, il fallait installer la bibliothèque SQLite.

Installation/Configuration
Installation
Installation/Configuration


Installation

Depuis PHP 5, cette extension est activée par défaut, alors ne la désactivez pas, et elle sera disponible.

Attention

N'utilisez pas la version PECL de cette extension, car elle n'est plus entretenue. Utilisez toujours la version SQLite qui est livrée avec les source PHP, même si vous la compilez comme ressource partagée. Dans ce cas, les sources sont dans php-src-dir/ext/sqlite et phpize est la méthode pour la compiler.

Les utilisateurs de Windows doivent activer la bibliothèque php_sqlite.dll dans le fichier php.ini afin d'utiliser ces fonctions. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Les versions Windows doivent aussi activer PDO car depuis PHP 5.1.0, il en dépend. Ainsi, le php.ini doit ressembler à ceci :

extension=php_pdo.dll
extension=php_sqlite.dll
Sur les systèmes Unix ou Linux, si vous compilez PDO en tant qu'extension partagée, vous devez compilez également SQLite comme extension partagée, en utilisant l'option de configuration --with-sqlite=shared.

La série PHP 5.0.x pour Windows activait cette extension par défaut, et il n'y avait pas de DLL nécessaire.

SQLite 3 est supporté via PDO SQLite.

Note: Installation sous Windows pour les comptes sans privilèges
Sur les systèmes Windows, les comptes sans privilèges n'ont pas de variable d'environnement TMP de définie par défaut. Ceci aura pour effet que sqlite créera des fichiers temporaires dans le dossier Windows, ce qui n'est pas un bon comportement. Donc, vous devriez définir la variable d'environnement TMP pour le serveur Web ou le compte utilisateur, utilisé par le serveur Web. Si Apache est votre serveur Web, vous pouvez réaliser cela via la directive SetEnv de votre fichier httpd.conf. Par exemple :

SetEnv TMP c:/temp
Si vous n'arrivez pas à établir cette configuration au niveau de votre serveur, vous pouvez l'implémenter directement dans votre script, comme ceci :
putenv('TMP=C:/temp');
Cette configuration doit pointer vers un dossier dont le serveur Web a les permissions nécessaire à la création de fichiers, mais aussi à l'écriture et à l'effacement. Sinon, vous recevrez le message suivant : malformed database schema - unable to open a temporary database file for storing temporary tables

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Sqlite
Nom | Défaut | Modifiable | Historique
sqlite.assoc_case | "0" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

sqlite.assoc_case int

Utilise des index à casse libre (0), majuscule (1) ou minuscule (2).

Cette option sert principalement lorsque vous avez besoin de la compatibilité avec d'autres systèmes de bases de données, où les noms des colonnes sont toujours retournés en majuscule ou en minuscule, indépendamment de la casse réelle de la colonne dans la base.

La bibliothèque SQLite retourne le nom de la colonne sans y toucher (c'est la casse qui sera utilisée dans votre base). Lorsque sqlite.assoc_case vaut 0 cette casse sera conservée. Lorsque cette option vaut 1 ou 2, PHP va modifier la casse des noms, et mettre le nom de la colonne respectivement en majuscules ou minuscules.

Utiliser cette option implique une légère perte de performances, mais c'est BEAUCOUP plus rapide que de faire la gestion des caractères vous-même.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il y a deux ressources utilisées par l'interface SQLite. La première est la connexion à la base de données, et la seconde, le jeu de résultats.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les fonctions sqlite_fetch_array() et sqlite_current() utilisent des constantes pour spécifier les différents types de résultats. Les constantes sont les suivantes :

Constantes de résultats SQLite
SQLITE_ASSOC (entier)
Les colonnes sont retournées dans le tableau, en utilisant le nom de la colonne comme nom d'index.
SQLITE_BOTH (entier)
Les colonnes sont retournées dans le tableau, en utilisant simultanément le nom de la colonne comme nom d'index et un index numérique.
SQLITE_NUM (entier)
Les colonnes sont retournées dans le tableau, en utilisant une indexation numérique. L'index commence à 0, pour identifier le premier champ.

Un certain nombre de fonctions peuvent retourner des codes d'état. Les constantes suivantes sont définies :

Constantes codes d'état SQLite
SQLITE_OK (entier)
Résultat réussi.
SQLITE_ERROR (entier)
Erreur SQL ou base de données manquante.
SQLITE_INTERNAL (entier)
Une erreur interne de logique dans SQLite.
SQLITE_PERM (entier)
Permission d'accès refusée.
SQLITE_ABORT (entier)
Routine de procédure de rappel a demandé un abandon.
SQLITE_BUSY (entier)
Le fichier de base de données est verrouillé.
SQLITE_LOCKED (entier)
Une table dans la base de données est verrouillée.
SQLITE_NOMEM (entier)
Allocation de mémoire échouée.
SQLITE_READONLY (entier)
Essai d'écrire dans une base de données en lecture seule.
SQLITE_INTERRUPT (entier)
Opération terminée de manière interne.
SQLITE_IOERR (entier)
Erreur disque I/O s'est produite.
SQLITE_NOTADB ( int )
Le fichier ouvert n'est pas une base de données.
SQLITE_CORRUPT (entier)
L'image disque de la base de données est malformée.
SQLITE_FORMAT ( int )
Erreur auxiliaire de format de base de données.
SQLITE_NOTFOUND (entier)
(Interne) Table ou enregistrement non trouvé.
SQLITE_FULL (entier)
Insertion échouée car la base de données est pleine.
SQLITE_CANTOPEN (entier)
Impossible d'ouvrir le fichier de base de données.
SQLITE_PROTOCOL (entier)
Erreur du protocole de verrou de base de données.
SQLITE_EMPTY (entier)
(Interne) Une table de la base de données est vide.
SQLITE_SCHEMA (entier)
Le schéma de base de données a changé.
SQLITE_TOOBIG (entier)
Trop de données pour une ligne de la table.
SQLITE_CONSTRAINT (entier)
Arrêt dû à une violation de contrainte.
SQLITE_MISMATCH (entier)
Type de données incorrect.
SQLITE_MISUSE (entier)
Bibliothèque utilisée incorrectement.
SQLITE_NOLFS (entier)
Utilisation de fonctionnalités de l'OS non supportées sur l'hôte.
SQLITE_AUTH (entier)
Autorisation échouée.
SQLITE_ROW (entier)
Processus interne a une autre ligne prête.
SQLITE_DONE (entier)
Processus interne a terminé l'exécution.
Types de ressources
Fonctions SQLite
SQLite


Fonctions SQLite

Classes pré-définies

SQLiteDatabase

Représente une base de données SQLite ouverte.

Constructeur

  • __construct : construit un nouvel objet SQLiteDatabase

Méthodes

  • query : exécute une requête
  • queryExec : exécute une requête de résultat
  • arrayQuery : exécute une requête et retourne les résultats dans un tableau
  • singleQuery : exécute une requête et retourne soit un tableau pour une seule colonne, soit la valeur de la première ligne
  • unbufferedQuery : exécute une requête non bufferisée
  • lastInsertRowid : retourne l'identifiant de la dernière ligne insérée
  • changes : retourne le nombre de lignes modifiées par la dernière requête
  • createAggregate : enregistre une UDF de groupement pour les requêtes SQLite
  • createFunction : enregistre une fonction utilisateur "classique" UDF pour SQLite
  • busyTimeout : configure ou désactive le délai d'attente d'une base SQLite occupée
  • lastErorr : retourne le dernier code erreur de la dernière erreur rencontrée
  • fetchColumnTypes : retourne un tableau de types de colonnes depuis une table particulière

SQLiteResult

Représente un jeu de résultats SQLite bufferisé.

Méthodes

  • fetch : récupère la ligne suivante depuis un jeu de résultats en tant que tableau
  • fetchObject : récupère la ligne suivante depuis un jeu de résultats en tant qu'objet
  • fetchSingle : récupère la première ligne depuis le jeu de résultats en tant que chaîne de caractères
  • fetchAll : récupère toutes les lignes depuis le jeu de résultats en tant que tableau de tableaux
  • column : récupère une colonne depuis la ligne courante du jeu de résultats
  • numFields : retourne le numéro du champ depuis un jeu de résultats
  • fieldName : retourne le nom d'un champ particulier depuis le jeu de résultats
  • current : récupère la ligne courante depuis le jeu de résultat en tant que tableau
  • key : retourne l'index de la ligne courante
  • next : déplace le pointeur sur le numéro de ligne suivante
  • valid : retourne si oui ou non il reste des lignes de disponibles
  • rewind : déplace le pointeur sur le numéro de la première ligne d'un jeu de résultats
  • prev : déplace le pointeur sur le numéro de ligne précédent du jeu de résultats
  • hasPrev : retourne si oui ou non une ligne précédente est disponible
  • numRows : retourne le nombre de lignes dans le jeu de résultats
  • seek : déplace le pointeur vers un numéro de ligne précis

SQLiteUnbuffered

Représente un jeu de résultats SQLite non-bufferisé. Les jeux de résultats non-bufferisés sont séquentiels, déplacement du pointeur uniquement vers le numéro suivant.

Méthodes

  • fetch : récupère la ligne suivante depuis un jeu de résultats en tant que tableau
  • fetchObject : récupère la ligne suivante depuis un jeu de résultats en tant qu'objet
  • fetchSingle : récupère la première colonne depuis un jeu de résultats en tant que chaîne de caractères
  • fetchAll : récupère toutes les lignes depuis le jeu de résultats en tant que tableau de tableaux
  • column : récupère une colonne depuis la ligne courante d'un jeu de résultats
  • numFields : retourne le nombre de champs dans le jeu de résultats
  • fieldName : retourne le nom d'un champ en particulier depuis le jeu de résultats
  • current : récupère la ligne courante depuis le jeu de résultats en tant que tableau
  • next: déplace le pointeur vers un numéro de ligne suivant
  • valid : retourne si oui ou non il reste des lignes de disponibles

Sommaire

  • sqlite_array_query — Exécute une requête SQL avec SQLite et retourne un tableau
  • sqlite_busy_timeout — Configure le délai d'attente d'une base SQLite occupée
  • sqlite_changes — Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite
  • sqlite_close — Ferme la connexion à SQLite
  • sqlite_column — Lit la valeur d'une colonne dans un résultat SQLite
  • sqlite_create_aggregate — Enregistre une UDF agrégeante pour les requêtes SQLite
  • sqlite_create_function — Enregistre une fonction utilisateur "classique" UDF pour SQLite
  • sqlite_current — Lit une ligne de résultat SQLite dans un tableau
  • sqlite_error_string — Retourne le message d'erreur SQLite
  • sqlite_escape_string — Protège une chaîne de caractères pour utilisation avec SQLite
  • sqlite_exec — Exécute une requête sans résultats sur une base de données
  • sqlite_factory — Ouvre une base SQLite et crée un objet pour elle
  • sqlite_fetch_all — Retourne toutes les lignes d'un jeu de résultats en tant que tableau de tableaux
  • sqlite_fetch_array — Lit la prochaine ligne de résultat SQLite dans un tableau
  • sqlite_fetch_column_types — Retourne un tableau des types de colonnes d'une certaine table
  • sqlite_fetch_object — Retourne la ligne suivante du jeu de résultats en tant qu'objet
  • sqlite_fetch_single — Lit la première ligne d'un résultat SQLite sous forme de chaîne
  • sqlite_fetch_string — Alias de sqlite_fetch_single
  • sqlite_field_name — Retourne le nom du champ SQLite
  • sqlite_has_more — Indique s'il reste des lignes SQLite à lire
  • sqlite_has_prev — Retourne si oui ou non une ligne précédente est disponible
  • sqlite_key — Retourne l'index de la ligne courante
  • sqlite_last_error — Retourne le dernier code d'erreur SQLite
  • sqlite_last_insert_rowid — Retourne le numéro de ligne de la dernière ligne insérée
  • sqlite_libencoding — Retourne l'encodage utilisé par la bibliothèque SQLite
  • sqlite_libversion — Retourne la version de la bibliothèque SQLite
  • sqlite_next — Déplace le pointeur SQLite vers la prochaine ligne
  • sqlite_num_fields — Retourne le nombre de champs dans un résultat SQLite
  • sqlite_num_rows — Retourne le nombre de lignes d'un résultat SQLite
  • sqlite_open — Ouvre une base SQLite et la crée si elle n'existe pas
  • sqlite_popen — Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas
  • sqlite_prev — Se positionne sur le numéro de ligne précédent du jeu de résultats
  • sqlite_query — Exécute une requête SQLite et lit le résultat
  • sqlite_rewind — Place le pointeur de résultat SQLite au début
  • sqlite_seek — Déplace le pointeur de résultat SQLite vers une ligne
  • sqlite_single_query — Exécute une requête et retourne soit un tableau pour une colonne unique, soit la valeur de la première ligne
  • sqlite_udf_decode_binary — Décode des données binaires, passées à une UDF SQLite
  • sqlite_udf_encode_binary — Encode les données binaires d'une UDF SQLite avant de les retourner
  • sqlite_unbuffered_query — Exécute une requête SQLite non bufferisée
  • sqlite_valid — Retourne si oui ou non il reste des lignes disponibles
Constantes pré-définies
sqlite_array_query
SQLite


Exécute une requête SQL avec SQLite et retourne un tableau

Fonctions SQLite
sqlite_busy_timeout
Fonctions SQLite
PHP Manual

sqlite_array_query

SQLiteDatabase->arrayQuery

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_array_query -- SQLiteDatabase->arrayQuery — Exécute une requête SQL avec SQLite et retourne un tableau

Description

array sqlite_array_query ( resource $dbhandle , string $query [, int $result_type [, bool $decode_binary ]] )
array sqlite_array_query ( string $query , resource $dbhandle [, int $result_type [, bool $decode_binary ]] )

Style orienté objet

SQLiteDatabase
array arrayQuery ( string $query [, int $result_type [, bool $decode_binary ]] )

sqlite_array_query() exécute la requête donnée et retourne un tableau du jeu de résultats entier. Il est équivalent d'appeler sqlite_query() et ensuite sqlite_fetch_array() pour chaque ligne dans le jeu de résultats. sqlite_array_query() est de manière significative plus rapide que les fonctions mentionnées ci-dessus.

Astuce

sqlite_array_query() est plus convenable pour les requêtes retournant 45 lignes ou moins. Si vous attendez plus de données que cela, il est recommandé d'écrire les scripts avec la fonction sqlite_unbuffered_query() pour des performances optimales.

Liste de paramètres

query

La requête qui sera exécutée.

Les données contenues dans la requête doivent être échappées.

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Note: Deux syntaxes alternatives sont supportées pour assurer la compatibilité avec les autres bases de données (telles que MySQL) : la forme recommandée est la première, où le paramètre dbhandle est le premier dans la fonction.

Valeurs de retour

Retourne un tableau du jeu de résultats entier; sinon FALSE

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

Exemples

Exemple #1 Style procédural

<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Exemple #2 Style orienté objet

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Nom : ' . $entry['name'] . '  E-mail : ' . $entry['email'];
}
?>

Voir aussi

  • sqlite_query() - Exécute une requête SQLite et lit le résultat
  • sqlite_fetch_array() - Lit la prochaine ligne de résultat SQLite dans un tableau
  • sqlite_fetch_string() - Alias de sqlite_fetch_single

Fonctions SQLite
sqlite_busy_timeout
Fonctions SQLite


Configure le délai d'attente d'une base SQLite occupée

sqlite_array_query
sqlite_changes
Fonctions SQLite
PHP Manual

sqlite_busy_timeout

SQLiteDatabase->busyTimeout

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_busy_timeout -- SQLiteDatabase->busyTimeout — Configure le délai d'attente d'une base SQLite occupée

Description

void sqlite_busy_timeout ( resource $dbhandle , int $milliseconds )

Style orienté objet

SQLiteDatabase
void busyTimeout ( int $milliseconds )

Spécifie la durée maximale, en millisecondes, que SQLite attendra pour qu'une base de données dbhandle soit utilisable.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

milliseconds

Le nombre de millisecondes. Lorsque mis à 0, les gestionnaires d'occupation seront désactivés et SQLite retournera immédiatement un code d'état SQLITE_BUSY si un autre processus/thread a verrouillé la base de données pour une mise à jour.

PHP initialise la durée maximale d'utilisation à 60 secondes lorsque la base de données est ouverte.

Note: Il y a mille (1000) millisecondes dans une seconde.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Style procédural

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_busy_timeout($dbhandle, 10000); // fixe le timeout à 10 secondes
sqlite_busy_timeout($dbhandle, 0); // désactive le gestionnaire
?>

Exemple #2 Style orienté objet

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->busyTimeout(10000); // 10 secondes
$dbhandle->busyTimeout(0); // désactive
?>

Voir aussi

  • sqlite_open() - Ouvre une base SQLite et la crée si elle n'existe pas

sqlite_array_query
sqlite_changes
Fonctions SQLite


Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite

sqlite_busy_timeout
sqlite_close
Fonctions SQLite
PHP Manual

sqlite_changes

SQLiteDatabase->changes

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_changes -- SQLiteDatabase->changes — Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite

Description

int sqlite_changes ( resource $dbhandle )

Style orienté objet

SQLiteDatabase
int changes ( void )

sqlite_changes() retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite, exécutée dans la base db.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

Valeurs de retour

Retourne le nombre de lignes modifiées.

Exemples

Exemple #1 Style procédural

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_query($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Erreur dans la requête.');
} else {
    echo 'Nombre de lignes modifiées : ', sqlite_changes($dbhandle);
}
?>

Exemple #2 Style orienté objet

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Erreur dans la requête.');
} else {
    echo 'Nombre de lignes modifiées : ', $dbhandle->changes();
}
?>

Voir aussi

  • sqlite_open() - Ouvre une base SQLite et la crée si elle n'existe pas

sqlite_busy_timeout
sqlite_close
Fonctions SQLite


Ferme la connexion à SQLite

sqlite_changes
sqlite_column
Fonctions SQLite
PHP Manual

sqlite_close

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_close — Ferme la connexion à SQLite

Description

void sqlite_close ( resource $dbhandle )

sqlite_close() referme la connexion à la base SQLite, identifiée par la ressource dbhandle. Si la connexion à la base était persistante, elle sera fermée et supprimée de la liste des connexions persistantes.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec sqlite_close()

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_close($dbhandle);
?>

Voir aussi

  • sqlite_open() - Ouvre une base SQLite et la crée si elle n'existe pas
  • sqlite_popen() - Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas

sqlite_changes
sqlite_column
Fonctions SQLite


Lit la valeur d'une colonne dans un résultat SQLite

sqlite_close
sqlite_create_aggregate
Fonctions SQLite
PHP Manual

sqlite_column

SQLiteResult->column

SQLiteUnbuffered->column

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_column -- SQLiteResult->column -- SQLiteUnbuffered->column — Lit la valeur d'une colonne dans un résultat SQLite

Description

mixed sqlite_column ( resource $result , mixed $index_or_name [, bool $decode_binary = true ] )
SQLiteResult
mixed column ( mixed $index_or_name [, bool $decode_binary = true ] )
SQLiteUnbuffered
mixed column ( mixed $index_or_name [, bool $decode_binary = true ] )

sqlite_column() lit la valeur de la colonne nommée index_or_name (si c'est une chaîne), ou d'index index_or_name (si c'est un entier), dans le résultat SQLite result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

index_or_name

L'index de la colonne ou le nom à récupérer.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Valeurs de retour

Retourne la valeur de la colonne.

Notes

Note: Utilisez cette fonction lorsque vous manipulez un grand résultat avec de nombreuses colonnes, ou des colonnes qui contiennent de grandes quantités de données.

Voir aussi

  • sqlite_fetch_string() - Alias de sqlite_fetch_single

sqlite_close
sqlite_create_aggregate
Fonctions SQLite


Enregistre une UDF agrégeante pour les requêtes SQLite

sqlite_column
sqlite_create_function
Fonctions SQLite
PHP Manual

sqlite_create_aggregate

SQLiteDatabase->createAggregate

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_create_aggregate -- SQLiteDatabase->createAggregate — Enregistre une UDF agrégeante pour les requêtes SQLite

Description

void sqlite_create_aggregate ( resource $dbhandle , string $function_name , callback $step_func , callback $finalize_func [, int $num_args = -1 ] )

Style orienté objet

SQLiteDatabase
void createAggregate ( string $function_name , callback $step_func , callback $finalize_func [, int $num_args = -1 ] )

sqlite_create_aggregate() est similaire à sqlite_create_function(), car elle enregistre une fonction qui sera utilisée pour calculer un résultat agrégé sur plusieurs lignes d'une requête.

La différence principale entre cette fonction et sqlite_create_function() est que deux fonctions sont nécessaires pour gérer les agrégations : step_func est appelée pour chaque ligne du résultat. Votre fonction PHP doit accumuler le résultat, et le stocker dans le contexte d'agrégation. Une fois que toutes les lignes ont été appelées, finalize_func sera appelée, et elle doit alors lire les données dans ce contexte d'agrégation, et en retourner le résultat. Les fonctions de rappel doivent retourner un type compréhensible par SQLite (i.e. type scalaire).

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

function_name

Le nom de la fonction utilisée dans les requêtes SQL.

step_func

Fonction de procédure de rappel appelée pour chaque ligne du jeu de résultats.

finalize_func

Fonction de procédure de rappel pour le contexte d'agrégation des données de chaque ligne.

num_args

Conseil à l'analyseur SQLite si la fonction de procédure de rappel accepte un nombre prédéterminé d'arguments.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple d'UDF SQLite : taille maximale de chaîne

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten'
   );
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES('$str')");
}

function max_len_step(&$context, $string)
{
  if (strlen($string) > $context) {
    $context = strlen($string);
  }
}

function max_len_finalize(&$context)
{
  return $context;
}

sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));

?>

Dans cet exemple, nous créons une fonction d'agrégation qui va calculer la taille de la plus longue chaîne dans l'une des colonnes de la table. Pour chaque ligne, la fonction max_len_step est appelée, et reçoit le paramètre context. Le contexte est une autre variable PHP, et il peut contenir un tableau ou même un objet. Dans notre exemple, nous l'utilisons pour stocker la taille maximale de la colonne courante. Si string est plus grand que la valeur maximale que nous avons enregistrée, nous modifions notre contexte en conséquence.

Une fois que toutes les lignes ont été traitées, SQLite appelle la fonction max_len_finalize pour déterminer le résultat de l'agrégation. Nous pourrions alors effectuer plusieurs calculs en fonction des données que nous avons récoltées dans context. Dans notre exemple simple, nous avons calculé le résultat au fur et à mesure de la progression de la requête, ce qui nous permet de n'avoir qu'à retourner la valeur de notre contexte.

Note: L'exemple ci-dessus ne fonctionnera pas correctement si une colonne contient une donnée binaire. Reportez-vous à la fonction sqlite_udf_decode_binary() pour plus de détails, et d'un exemple pour travailler avec des chaînes binaires.

Astuce

Il n'est pas recommandé de stocker une copie des valeurs dans le contexte, puis de les traiter à la fin, car cela conduirait SQLite à consommer beaucoup de mémoire : imaginez simplement la quantité de mémoire que prendrons vos millions de lignes de 32 caractères en fin de requête.

Astuce

Vous pouvez utiliser sqlite_create_function() et sqlite_create_aggregate() pour remplacer des fonctions natives SQLite.

Voir aussi

  • sqlite_create_function() - Enregistre une fonction utilisateur "classique" UDF pour SQLite
  • sqlite_udf_encode_binary() - Encode les données binaires d'une UDF SQLite avant de les retourner
  • sqlite_udf_decode_binary() - Décode des données binaires, passées à une UDF SQLite

sqlite_column
sqlite_create_function
Fonctions SQLite


Enregistre une fonction utilisateur "classique" UDF pour SQLite

sqlite_create_aggregate
sqlite_current
Fonctions SQLite
PHP Manual

sqlite_create_function

SQLiteDatabase->createFunction

(PHP 5, sqlite >= 1.0.0)

sqlite_create_function -- SQLiteDatabase->createFunction — Enregistre une fonction utilisateur "classique" UDF pour SQLite

Description

void sqlite_create_function ( resource $dbhandle , string $function_name , callback $callback [, int $num_args = -1 ] )

Style orienté objet

SQLiteDatabase
void createFunction ( string $function_name , callback $callback [, int $num_args = -1 ] )

sqlite_create_function() vous permet d'enregistrer une fonction PHP dans SQLite comme UDF (Fonction Définie par l'Utilisateur, User Defined Function), pour qu'elle soit accessible depuis les requêtes SQL.

Les UDF peuvent être utilisées dans n'importe quelle requête SQL qui peut appeler des fonctions, telles que SELECT et UPDATE, ou même des déclencheurs.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

function_name

Le nom de la fonction utilisée dans les requêtes SQL.

callback

Fonction de procédure de rappel pour gérer les fonctions SQL définies.

Note: Les fonctions de procédure de rappel devraient retourner un type compris par SQLite (c'est-à-dire, voir type scalaire).

num_args

Conseil à l'analyseur SQLite si la fonction de procédure de rappel accepte un nombre prédéterminé d'arguments.

Note: Deux syntaxes alternatives sont supportées pour assurer la compatibilité avec les autres bases de données (telles que MySQL) : la forme recommandée est la première, où le paramètre dbhandle est le premier dans la fonction.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec sqlite_create_function()

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    sqlite_create_function($dbhandle, 'md5rev', 'md5_and_reverse', 1);

    $sql  = 'SELECT md5rev(filename) FROM files';
    $rows = sqlite_array_query($dbhandle, $sql);
} else {
    echo 'Erreur pendant l\'ouverture de la base db : ' . $sqliteerror;
    exit;
}
?>

Dans cet exemple, nous avons une fonction qui calcule la somme de contrôle MD5 d'une chaîne, et l'inverse. Lorsque la requête SQL s'exécute, elle retourne le nom du fichier, transformé par cette opération. Les données retournées dans $rows contiennent le résultat.

La beauté de cette technique est que vous n'avez pas à traiter vous-même les données avec une boucle, une fois que vous avez lu les données.

PHP enregistre une fonction spéciale appelée PHP lorsque la base est ouverte. Cette fonction est utilisée pour appeler toute fonction PHP sans avoir à l'enregistrer au préalable.

Exemple #2 Exemple d'utilisation d'une fonction PHP dans SQLite

<?php
$rows = sqlite_array_query($db, "SELECT php('md5', filename) from files");
?>

Cet exemple va appeler la fonction md5() sur chaque colonne filename dans la base, et retourner le contenu dans le tableau $rows.

Note: Pour des raisons de performances, PHP ne va pas automatiquement coder ou décoder les données binaires passées à votre UDF. Vous devez le faire manuellement. Voyez les fonctions sqlite_udf_encode_binary() et sqlite_udf_decode_binary() pour plus de détails.

Astuce

Il n'est pas recommandé d'utiliser des UDF pour traiter des données binaires, à moins que les performances ne soient pas un problème pour votre application.

Astuce

Vous pouvez utiliser sqlite_create_function() et sqlite_create_aggregate() pour remplacer des fonctions natives SQLite.

Voir aussi

  • sqlite_create_aggregate() - Enregistre une UDF agrégeante pour les requêtes SQLite

sqlite_create_aggregate
sqlite_current
Fonctions SQLite


Lit une ligne de résultat SQLite dans un tableau

sqlite_create_function
sqlite_error_string
Fonctions SQLite
PHP Manual

sqlite_current

SQLiteResult->current

SQLiteUnbuffered->current

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_current -- SQLiteResult->current -- SQLiteUnbuffered->current — Lit une ligne de résultat SQLite dans un tableau

Description

array sqlite_current ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Style orienté objet

SQLiteResult
array current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
SQLiteUnbuffered
array current ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_current() est identique à sqlite_fetch_array() hormis le fait qu'elle ne fait pas progresser le pointeur de résultat avant de lire des données. Elle ne fait que retourner les données qui sont disponibles à la position courante.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Valeurs de retour

Retourne un tableau de la ligne courante du jeu de résultats: FALSE si la position courante est au-delà de la dernière ligne.

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

Voir aussi

  • sqlite_seek() - Déplace le pointeur de résultat SQLite vers une ligne
  • sqlite_next() - Déplace le pointeur SQLite vers la prochaine ligne
  • sqlite_fetch_array() - Lit la prochaine ligne de résultat SQLite dans un tableau

sqlite_create_function
sqlite_error_string
Fonctions SQLite


Retourne le message d'erreur SQLite

sqlite_current
sqlite_escape_string
Fonctions SQLite
PHP Manual

sqlite_error_string

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_error_string — Retourne le message d'erreur SQLite

Description

string sqlite_error_string ( int $error_code )

sqlite_error_string() retourne un message d'erreur lisible, pour le numéro d'erreur error_code, retourné par sqlite_last_error().

Liste de paramètres

error_code

Le code erreur à utiliser, qui peut être passé depuis la fonction sqlite_last_error().

Valeurs de retour

Retourne une description du code erreur error_code, sous la forme d'une chaîne de caractères.

Voir aussi

  • sqlite_last_error() - Retourne le dernier code d'erreur SQLite

sqlite_current
sqlite_escape_string
Fonctions SQLite


Protège une chaîne de caractères pour utilisation avec SQLite

sqlite_error_string
sqlite_exec
Fonctions SQLite
PHP Manual

sqlite_escape_string

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_escape_string — Protège une chaîne de caractères pour utilisation avec SQLite

Description

string sqlite_escape_string ( string $item )

sqlite_escape_string() va ajouter des guillemets dans la chaîne item, pour qu'elle puisse être utilisée correctement dans une requête SQL. Cela inclut notamment le doublement des guillemets simples ('), et la vérification des caractères binaires non sécuritaires, de la chaîne de requête.

Bien que ce codage sécurise l'insertion des données, il va rendre la recherche de texte par simple comparaison, ou en utilisant la clause LIKE, inutilisable dans vos requêtes pour les colonnes qui contiennent ces données binaires. En pratique, cela ne devrait pas être un problème, car votre utilisation de la base devrait faire que vous n'utiliserez pas ces colonnes (en fait, il est mieux de stocker des données binaires dans d'autres systèmes, comme des fichiers).

Liste de paramètres

item

La chaîne de caractères à échapper.

Si item contient le caractère NUL et qu'il commence avec un caractère dont la valeur ordinale est 0x01, PHP va appliquer un schéma de codage, pour que vous puissiez stocker puis relire correctement ces données.

Valeurs de retour

Retourne une chaîne de caractères échappée afin de l'utiliser dans des requêtes SQLite SQL.

Notes

Note: N'utilisez pas cette fonction pour coder les valeurs retournées par des fonctions utilisateurs, créées avec les fonctions sqlite_create_function() ou sqlite_create_aggregate() : utilisez plutôt sqlite_udf_encode_binary().

Avertissement

addslashes() NE doit PAS être utilisée pour protéger vos requêtes dans SQLite. Cela va conduire à d'étranges résultats lors de la lecture de vos données.

Voir aussi

  • sqlite_udf_encode_binary() - Encode les données binaires d'une UDF SQLite avant de les retourner

sqlite_error_string
sqlite_exec
Fonctions SQLite


Exécute une requête sans résultats sur une base de données

sqlite_escape_string
sqlite_factory
Fonctions SQLite
PHP Manual

sqlite_exec

SQLiteDatabase->exec

(PHP 5, PECL sqlite >= 1.0.3)

sqlite_exec -- SQLiteDatabase->exec — Exécute une requête sans résultats sur une base de données

Description

bool sqlite_exec ( resource $dbhandle , string $query [, string &$error_msg ] )
bool sqlite_exec ( string $query , resource $dbhandle )

Style orienté objet

SQLiteDatabase
bool queryExec ( string $query [, string &$error_msg ] )

sqlite_exec() exécute une requête SQL query sur une base de données spécifiée par la ressource dbhandle.

Avertissement

SQLite doit exécuter de multiples requêtes séparées par des points-virgules ; vous pouvez donc l'utiliser pour exécuter un script SQL que vous avez chargé depuis un fichier ou que vous avez intégré dans un script.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsque utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

query

La requête à être exécutée.

Les données contenues dans la requête doivent être échappées.

error_msg

La variable spécifiée sera remplie si une erreur se produit. Ceci est important car les erreurs de syntaxes SQL ne peuvent être récupérées en utilisant la fonction sqlite_last_error().

Note: Deux syntaxes alternatives sont supportées pour assurer la compatibilité avec les autres bases de données (telles que MySQL) : la forme recommandée est la première, où le paramètre dbhandle est le premier dans la fonction.

Valeurs de retour

Cette fonction retourne un résultat booléen; TRUE en cas de succès, FALSE en cas d'erreur. Si vous avez besoin d'exécuter une requête qui doit retourner des lignes, reportez-vous à la fonction sqlite_query().

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

Historique

Version | Description
5.1.0 | Ajout du paramètre error_msg

Exemples

Exemple #1 Style procédural

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Erreur dans la requête : '$error'");
} else {
    echo 'Nombre de lignes modifiées : ', sqlite_changes($dbhandle);
}
?>

Exemple #2 Style orienté objet

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->exec("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Erreur dans la requête : '$error'");
} else {
    echo 'Nombre de lignes modifiées : ', $dbhandle->changes();
}
?>

Voir aussi

  • sqlite_query() - Exécute une requête SQLite et lit le résultat
  • sqlite_unbuffered_query() - Exécute une requête SQLite non bufferisée
  • sqlite_array_query() - Exécute une requête SQL avec SQLite et retourne un tableau

sqlite_escape_string
sqlite_factory
Fonctions SQLite


Ouvre une base SQLite et crée un objet pour elle

sqlite_exec
sqlite_fetch_all
Fonctions SQLite
PHP Manual

sqlite_factory

(PHP 5)

sqlite_factory — Ouvre une base SQLite et crée un objet pour elle

Description

SQLiteDatabase sqlite_factory ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

sqlite_factory() fonctionne de la même façon que sqlite_open() dans le fait qu'il ouvre une base de données SQLite ou tente de la créer si elle n'existe pas. Cependant, un objet SQLiteDatabase est retourné plutôt qu'une ressource. Lisez la page de référence sur sqlite_open() pour son utilisation.

Liste de paramètres

filename

Le nom du fichier de la base de données SQLite.

mode

Le mode du fichier. Devrait être utilisé pour ouvrir une base de données en mode lecture seule. Actuellement, ce paramètre est ignoré par la bibliothèque sqlite. La valeur par défaut pour le mode est 0666 en octal et cela est la valeur recommandée.

error_message

Passée par référence et est affectée afin de contenir la description du message d'erreur qui explique pourquoi la base de données ne pouvait pas être ouverte s'il y avait une erreur.

Valeurs de retour

Retourne un objet SQLiteDatabase en cas de succès, NULL en cas d'erreur.

Exemples

Exemple #1 Exemple avec sqlite_factory()

<?php
$dbhandle = sqlite_factory('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

/* équivalent dans les fonctionnalités à : */

$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

?>

Voir aussi

  • sqlite_open() - Ouvre une base SQLite et la crée si elle n'existe pas
  • sqlite_popen() - Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas

sqlite_exec
sqlite_fetch_all
Fonctions SQLite


Retourne toutes les lignes d'un jeu de résultats en tant que tableau de tableaux

sqlite_factory
sqlite_fetch_array
Fonctions SQLite
PHP Manual

sqlite_fetch_all

SQLiteResult->fetchAll

SQLiteUnbuffered->fetchAll

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_all -- SQLiteResult->fetchAll -- SQLiteUnbuffered->fetchAll — Retourne toutes les lignes d'un jeu de résultats en tant que tableau de tableaux

Description

array sqlite_fetch_all ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Style orienté objet

SQLiteResult
array fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
SQLiteUnbuffered
array fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Retourne un tableau des lignes restantes dans le jeu de résultats. Si appelée juste après sqlite_query(), elle retourne toutes les lignes. Si appelée après sqlite_fetch_array(), elle retourne le reste. S'il n'y a plus de lignes disponibles dans le jeu de résultats, elle retourne un tableau vide.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Valeurs de retour

Retourne un tableau de la ligne courante du jeu de résultats : FALSE si la position courante est au-delà de la dernière ligne.

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

Exemples

Exemple #1 Style procédural

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
$result = sqlite_fetch_all($query, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Nom : ' . $entry['name'] . '  E-mail : ' . $entry['email'];
}
?>

Exemple #2 Style orienté objet

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // jeu de résultats bufférisé
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // jeu de résultats non bufférisé

$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Nom : ' . $entry['name'] . '  E-mail : ' . $entry['email'];
}
?>

Voir aussi

  • sqlite_fetch_array() - Lit la prochaine ligne de résultat SQLite dans un tableau

sqlite_factory
sqlite_fetch_array
Fonctions SQLite


Lit la prochaine ligne de résultat SQLite dans un tableau

sqlite_fetch_all
sqlite_fetch_column_types
Fonctions SQLite
PHP Manual

sqlite_fetch_array

SQLiteResult->fetch

SQLiteUnbuffered->fetch

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_array -- SQLiteResult->fetch -- SQLiteUnbuffered->fetch — Lit la prochaine ligne de résultat SQLite dans un tableau

Description

array sqlite_fetch_array ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Style orienté objet

SQLiteResult
array fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
SQLiteUnbuffered
array fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_fetch_array() lit la prochaine ligne dans le résultat result. S'il n'y a pas d'autres lignes, sqlite_fetch_array() retourne FALSE et, sinon, elle retourne un tableau représentant les données lues.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Valeurs de retour

Retourne un tableau de la ligne suivante du jeu de résultats: FALSE si la position suivante est au-delà de la dernière ligne.

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

Exemples

Exemple #1 Style procédural

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
while ($entry = sqlite_fetch_array($query, SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Exemple #2 Style orienté objet

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // jeu de résultat bufférisé
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // jeu de résultat non bufférisé

while ($entry = $query->fetch(SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

Voir aussi

  • sqlite_array_query() - Exécute une requête SQL avec SQLite et retourne un tableau
  • sqlite_fetch_string() - Alias de sqlite_fetch_single

sqlite_fetch_all
sqlite_fetch_column_types
Fonctions SQLite


Retourne un tableau des types de colonnes d'une certaine table

sqlite_fetch_array
sqlite_fetch_object
Fonctions SQLite
PHP Manual

sqlite_fetch_column_types

SQLiteDatabase->fetchColumnTypes

(PHP 5)

sqlite_fetch_column_types -- SQLiteDatabase->fetchColumnTypes — Retourne un tableau des types de colonnes d'une certaine table

Description

array sqlite_fetch_column_types ( string $table_name , resource $dbhandle [, int $result_type ] )

Style orienté objet

SQLiteDatabase
array fetchColumnTypes ( string $table_name [, int $result_type ] )

sqlite_fetch_column_types() retourne un tableau de types de colonnes depuis la table table_name spécifiée.

Liste de paramètres

table_name

Le nom de la table à interroger.

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_ASSOC est la valeur par défaut pour cette fonction.

Valeurs de retour

Retourne un tableau des types de données des colonnes; FALSE en cas d'erreur.

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

Historique

Version | Description
5.1.0 | Ajout de result_type

Exemples

Exemple #1 Style procédural

<?php
$db = sqlite_open('mysqlitedb');
sqlite_query($db, 'CREATE TABLE foo (bar varchar(10), arf text)');
$cols = sqlite_fetch_column_types('foo', $db, SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Colonne : $column  Type : $type";
}
?>

Exemple #2 Style orienté objet

<?php
$db = new SQLiteDatabase('mysqlitedb');
$db->query('CREATE TABLE foo (bar varchar(10), arf text)');
$cols = $db->fetchColumnTypes('foo', SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Colonne : $column  Type : $type";
}
?>

L'exemple ci-dessus va afficher :

Colonne : bar  Type : VARCHAR
Colonne : arf  Type : TEXT

sqlite_fetch_array
sqlite_fetch_object
Fonctions SQLite


Retourne la ligne suivante du jeu de résultats en tant qu'objet

sqlite_fetch_column_types
sqlite_fetch_single
Fonctions SQLite
PHP Manual

sqlite_fetch_object

SQLiteResult->fetchObject

SQLiteUnbuffered->fetchObject

(PHP 5)

sqlite_fetch_object -- SQLiteResult->fetchObject -- SQLiteUnbuffered->fetchObject — Retourne la ligne suivante du jeu de résultats en tant qu'objet

Description

object sqlite_fetch_object ( resource $result [, string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )

Style orienté objet

SQLiteResult
object fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
SQLiteUnbuffered
object fetchObject ([ string $class_name [, array $ctor_params [, bool $decode_binary = true ]]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

sqlite_fetch_column_types
sqlite_fetch_single
Fonctions SQLite


Lit la première ligne d'un résultat SQLite sous forme de chaîne

sqlite_fetch_object
sqlite_fetch_string
Fonctions SQLite
PHP Manual

sqlite_fetch_single

SQLiteResult->fetchSingle

SQLiteUnbuffered->fetchSingle

(PHP 5, PECL sqlite >= 1.0.1)

sqlite_fetch_single -- SQLiteResult->fetchSingle -- SQLiteUnbuffered->fetchSingle — Lit la première ligne d'un résultat SQLite sous forme de chaîne

Description

string sqlite_fetch_single ( resource $result [, bool $decode_binary = true ] )

Style orienté objet

SQLiteResult
string fetchSingle ([ bool $decode_binary = true ] )
SQLiteUnbuffered
string fetchSingle ([ bool $decode_binary = true ] )

sqlite_fetch_single() est identique à sqlite_fetch_array() hormis le fait qu'elle retourne uniquement la valeur de la première colonne du résultat.

C'est la méthode optimale pour lire des données, si vous n'êtes intéressé que par les valeurs de la première colonne.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Valeurs de retour

Retourne la valeur de la première colonne, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec sqlite_fetch_single()

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    $sql = 'SELECT id FROM sometable WHERE id = 42';
    $res = sqlite_query($db, $sql);

    if (sqlite_num_rows($res) > 0) {
        echo sqlite_fetch_single($res); // 42
    }

    sqlite_close($db);
}
?>

Voir aussi

  • sqlite_fetch_array() - Lit la prochaine ligne de résultat SQLite dans un tableau

sqlite_fetch_object
sqlite_fetch_string
Fonctions SQLite


Alias de sqlite_fetch_single

sqlite_fetch_single
sqlite_field_name
Fonctions SQLite
PHP Manual

sqlite_fetch_string

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_string — Alias de sqlite_fetch_single()

Description

Cette fonction est un alias de : sqlite_fetch_single().

sqlite_fetch_single
sqlite_field_name
Fonctions SQLite


Retourne le nom du champ SQLite

sqlite_fetch_string
sqlite_has_more
Fonctions SQLite
PHP Manual

sqlite_field_name

SQLiteResult->fieldName

SQLiteUnbuffered->fieldName

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_field_name -- SQLiteResult->fieldName -- SQLiteUnbuffered->fieldName — Retourne le nom du champ SQLite

Description

string sqlite_field_name ( resource $result , int $field_index )

Style orienté objet

SQLiteResult
string fieldName ( int $field_index )
SQLiteUnbuffered
string fieldName ( int $field_index )

sqlite_field_name() retourne le nom du champ identifié par son index numérique field_index, dans le résultat result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

field_index

Nombre ordinal de la colonne dans le jeu de résultats.

Valeurs de retour

Retourne le nom du champ dans un jeu de résultats SQLite, donné par le nombre ordinal de la colonne; FALSE en cas d'erreur.

Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.

sqlite_fetch_string
sqlite_has_more
Fonctions SQLite


Indique s'il reste des lignes SQLite à lire

sqlite_field_name
sqlite_has_prev
Fonctions SQLite
PHP Manual

sqlite_has_more

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_has_more — Indique s'il reste des lignes SQLite à lire

Description

bool sqlite_has_more ( resource $result )

Recherche si d'autres lignes sont disponibles dans le jeu de résultats donné.

Liste de paramètres

result

La ressource de résultat SQLite.

Valeurs de retour

Retourne TRUE s'il y a d'autres lignes de résultat à lire dans la ressource result ou FALSE sinon.

Voir aussi

  • sqlite_num_rows() - Retourne le nombre de lignes d'un résultat SQLite
  • sqlite_changes() - Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite

sqlite_field_name
sqlite_has_prev
Fonctions SQLite


Retourne si oui ou non une ligne précédente est disponible

sqlite_has_more
sqlite_key
Fonctions SQLite
PHP Manual

sqlite_has_prev

SQLiteResult->hasPrev

(PHP 5)

sqlite_has_prev -- SQLiteResult->hasPrev — Retourne si oui ou non une ligne précédente est disponible

Description

bool sqlite_has_prev ( resource $result )

Style orienté objet

SQLiteResult
bool hasPrev ( void )

Recherche si d'autres lignes précédentes sont disponibles dans le jeu de résultats donné.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne TRUE s'il y a d'autres lignes précédentes de résultat à lire dans la ressource result ou FALSE sinon.

Voir aussi

  • sqlite_prev() - Se positionne sur le numéro de ligne précédent du jeu de résultats
  • sqlite_has_more() - Indique s'il reste des lignes SQLite à lire
  • sqlite_num_rows() - Retourne le nombre de lignes d'un résultat SQLite

sqlite_has_more
sqlite_key
Fonctions SQLite


Retourne l'index de la ligne courante

sqlite_has_prev
sqlite_last_error
Fonctions SQLite
PHP Manual

sqlite_key

SQLiteResult->key

(PHP 5 >= 5.1.0)

sqlite_key -- SQLiteResult->key — Retourne l'index de la ligne courante

Description

int sqlite_key ( resource $result )

Style orienté objet

SQLiteResult
int key ( void )

sqlite_key() retourne l'index de la ligne courante d'un jeu de résultats bufferisé result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne l'index de la ligne courante du jeu de résultats bufferisé result.

Historique

Version | Description
5.0.4 | Dans les versions antérieures à PHP 5.0.4, sqlite_key() était uniquement capable d'être appelé en tant que méthode de l'objet SQLiteResult et non de façon procédurale.

Voir aussi

  • sqlite_next() - Déplace le pointeur SQLite vers la prochaine ligne
  • sqlite_current() - Lit une ligne de résultat SQLite dans un tableau
  • sqlite_rewind() - Place le pointeur de résultat SQLite au début

sqlite_has_prev
sqlite_last_error
Fonctions SQLite


Retourne le dernier code d'erreur SQLite

sqlite_key
sqlite_last_insert_rowid
Fonctions SQLite
PHP Manual

sqlite_last_error

SQLiteDatabase->lastError

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_last_error -- SQLiteDatabase->lastError — Retourne le dernier code d'erreur SQLite

Description

int sqlite_last_error ( resource $dbhandle )

Style orienté objet

SQLiteDatabase
int lastError ( void )

Retourne le code d'erreur de la dernière opération SQL effectuée sur la base dbhandle (l'identifiant de base de données) ou 0 lorsque aucune erreur n'est survenue. Une description lisible de cette erreur peut être obtenue avec la fonction sqlite_error_string().

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

Valeurs de retour

Retourne le code erreur, ou 0 si une erreur survient.

Voir aussi

  • sqlite_error_string() - Retourne le message d'erreur SQLite

sqlite_key
sqlite_last_insert_rowid
Fonctions SQLite


Retourne le numéro de ligne de la dernière ligne insérée

sqlite_last_error
sqlite_libencoding
Fonctions SQLite
PHP Manual

sqlite_last_insert_rowid

SQLiteDatabase->lastInsertRowid

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_last_insert_rowid -- SQLiteDatabase->lastInsertRowid — Retourne le numéro de ligne de la dernière ligne insérée

Description

int sqlite_last_insert_rowid ( resource $dbhandle )

Style orienté objet

SQLiteDatabase
int lastInsertRowid ( void )

sqlite_last_insert_rowid() retourne le numéro de ligne inséré dans la base dbhandle, si elle a été créée avec un champ auto-incrémenté.

Astuce

Vous pouvez créer des champs auto-incrémentés en SQLite, en utilisant l'attribut INTEGER PRIMARY KEY dans vos tables.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

Valeurs de retour

Retourne l'identifiant de la ligne, sous la forme d'un entier.

sqlite_last_error
sqlite_libencoding
Fonctions SQLite


Retourne l'encodage utilisé par la bibliothèque SQLite

sqlite_last_insert_rowid
sqlite_libversion
Fonctions SQLite
PHP Manual

sqlite_libencoding

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_libencoding — Retourne l'encodage utilisé par la bibliothèque SQLite

Description

string sqlite_libencoding ( void )

La libraire SQLite peut être compilée avec le support de ISO-8859-1 ou UTF-8. sqlite_libencoding() vous permet de savoir quel encodage est utilisé.

Avertissement

La distribution par défaut de PHP compile libsqlite avec l'encodage ISO-8859-1. Cependant, c'est un leurre. Au lieu d'utiliser ISO-8859-1, elle va utiliser votre configuration locale pour les comparaisons et les tris. Il vaut donc mieux penser que ce n'est pas ISO-8859-1, mais plutôt '8-bit'.

Lorsqu'elle est compilée avec le support UTF-8, SQLite gère le codage et l'encodage des séquences multioctets UTF-8, mais ne fait pas totalement le travail lorsqu'elle opère avec les données (aucune normalisation n'est faite, par exemple), et certaines comparaisons peuvent être erronées.

Avertissement

Il n'est pas recommandé d'utiliser PHP en configuration de serveur web avec une version de SQLite qui utilise l'encodage UTF-8, car libsqlite va interrompre le processus si elle détecte un problème avec l'encodage UTF-8.

Valeurs de retour

Retourne l'encodage de la bibliothèque.

Voir aussi

  • sqlite_lib_version()

sqlite_last_insert_rowid
sqlite_libversion
Fonctions SQLite


Retourne la version de la bibliothèque SQLite

sqlite_libencoding
sqlite_next
Fonctions SQLite
PHP Manual

sqlite_libversion

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_libversion — Retourne la version de la bibliothèque SQLite

Description

string sqlite_libversion ( void )

sqlite_libversion() retourne la version de la bibliothèque SQLite.

Valeurs de retour

Retourne la version librart, sous la forme d'une chaîne de caractères.

Voir aussi

  • sqlite_libencoding() - Retourne l'encodage utilisé par la bibliothèque SQLite

sqlite_libencoding
sqlite_next
Fonctions SQLite


Déplace le pointeur SQLite vers la prochaine ligne

sqlite_libversion
sqlite_num_fields
Fonctions SQLite
PHP Manual

sqlite_next

SQLiteResult->next

SQLiteUnbuffered->next

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_next -- SQLiteResult->next -- SQLiteUnbuffered->next — Déplace le pointeur SQLite vers la prochaine ligne

Description

bool sqlite_next ( resource $result )

Style orienté objet

SQLiteResult
bool next ( void )
SQLiteUnbuffered
bool next ( void )

sqlite_next() avance le pointeur de résultat à la prochaine ligne du résultat result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Valeurs de retour

Retourne TRUE en cas de succès ou FALSE s'il n'y a plus de lignes.

Voir aussi

  • sqlite_seek() - Déplace le pointeur de résultat SQLite vers une ligne
  • sqlite_current() - Lit une ligne de résultat SQLite dans un tableau
  • sqlite_rewind() - Place le pointeur de résultat SQLite au début

sqlite_libversion
sqlite_num_fields
Fonctions SQLite


Retourne le nombre de champs dans un résultat SQLite

sqlite_next
sqlite_num_rows
Fonctions SQLite
PHP Manual

sqlite_num_fields

SQLiteResult->numFields

SQLiteUnbuffered->numFields

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_num_fields -- SQLiteResult->numFields -- SQLiteUnbuffered->numFields — Retourne le nombre de champs dans un résultat SQLite

Description

int sqlite_num_fields ( resource $result )

Style orienté objet

SQLiteResult
int numFields ( void )
SQLiteUnbuffered
int numFields ( void )

Retourne le nombre de champs dans le résultat SQLite result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Valeurs de retour

Retourne le nombre de champs, sous la forme d'un entier.

Voir aussi

  • sqlite_changes() - Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite
  • sqlite_num_rows() - Retourne le nombre de lignes d'un résultat SQLite

sqlite_next
sqlite_num_rows
Fonctions SQLite


Retourne le nombre de lignes d'un résultat SQLite

sqlite_num_fields
sqlite_open
Fonctions SQLite
PHP Manual

sqlite_num_rows

SQLiteResult->numRows

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_num_rows -- SQLiteResult->numRows — Retourne le nombre de lignes d'un résultat SQLite

Description

int sqlite_num_rows ( resource $result )

Style orienté objet

SQLiteResult
int numRows ( void )

sqlite_num_rows() retourne le nombre de lignes dans le résultat SQLite result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier.

Exemples

Exemple #1 Style procédural

<?php
$db = sqlite_open('mysqlitedb');
$result = sqlite_query($db, "SELECT * FROM mytable WHERE name='John Doe'");
$rows = sqlite_num_rows($result);

echo "Nombre de lignes : $rows";
?>

Exemple #2 Style orienté objet

<?php
$db = new SQLiteDatabase('mysqlitedb');
$result = $db->query("SELECT * FROM mytable WHERE name='John Doe'");
$rows = $result->numRows();

echo "Nombre de lignes : $rows";
?>

Voir aussi

  • sqlite_changes() - Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite
  • sqlite_query() - Exécute une requête SQLite et lit le résultat
  • sqlite_num_fields() - Retourne le nombre de champs dans un résultat SQLite

sqlite_num_fields
sqlite_open
Fonctions SQLite


Ouvre une base SQLite et la crée si elle n'existe pas

sqlite_num_rows
sqlite_popen
Fonctions SQLite
PHP Manual

sqlite_open

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_open — Ouvre une base SQLite et la crée si elle n'existe pas

Description

resource sqlite_open ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Style orienté objet (constructeur)

SQLiteDatabase
__construct ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Ouvre une base de données SQLite ou crée la base de données si elle n'existe pas.

Liste de paramètres

filename

Le nom du fichier de la base de données SQLite. Si le fichier n'existe pas, SQLite tentera de le créer. PHP doit avoir les permissions d'écriture du fichier si des données y sont insérées, le schéma de la base de données est modifié ou pour créer une base de données si elle n'existe pas.

mode

Le mode du fichier. Devrait être utilisé pour ouvrir une base de données en mode lecture seule. Actuellement, ce paramètre est ignoré par la bibliothèque sqlite. La valeur par défaut pour le mode est 0666 en octal et cela est la valeur recommandée.

error_message

Passée par référence et est affectée afin de contenir la description du message d'erreur qui explique pourquoi la base de données ne pouvait pas être ouverte s'il y avait une erreur.

Valeurs de retour

Retourne une ressource (de base de données) en cas de succès, FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec sqlite_open()

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
  sqlite_query($db,'CREATE TABLE foo (bar varchar(10))');
  sqlite_query($db,"INSERT INTO foo VALUES ('fnord')");
  $result = sqlite_query($db,'select bar from foo');
  var_dump(sqlite_fetch_array($result));
} else {
  die ($sqliteerror);
}
?>

Notes

Astuce

Sur les plates-formes Unix, SQLite est sensible aux scripts qui utilisent la fonction système fork(). Si vous avez un tel script, il est recommandé que vous refermiez la ressource avant de faire le fork, et de l'ouvrir à nouveau dans le processus fils. Pour plus d'informations sur ce problème, voyez » The C language interface to the SQLite library dans la section intitulée Multi-Threading And SQLite (en anglais).

Astuce

Il n'est pas recommandé d'utiliser des bases de données SQLite montées sur des partitions NFS. Comme NFS est très mauvais pour assurer le verrouillage des fichiers, vous pourriez ne pas ouvrir les bases, et, si vous réussissez, le verrouillage de la base sera indéfini.

Note: Depuis SQLite version 2.8.2, vous pouvez spécifier :memory: comme valeur de filename pour créer une base qui sera installée en mémoire vive, sur le serveur. C'est très pratique pour des traitements temporaires, car la base en mémoire sera détruire dès que le script sera terminé. Cela peut aussi être utile, lorsqu'utilisé conjointement avec la commande SQL ATTACH DATABASE, pour charger d'autres bases, et faire des requêtes liées.

Note: SQLite prend en compte le safe mode et l'option open_basedir.

Voir aussi

  • sqlite_popen() - Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas
  • sqlite_close() - Ferme la connexion à SQLite
  • sqlite_factory() - Ouvre une base SQLite et crée un objet pour elle

sqlite_num_rows
sqlite_popen
Fonctions SQLite


Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas

sqlite_open
sqlite_prev
Fonctions SQLite
PHP Manual

sqlite_popen

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_popen — Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas

Description

resource sqlite_popen ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

sqlite_popen() fonctionne exactement comme sqlite_open(), hormis le fait qu'elle utilise le mécanisme de ressources persistantes de PHP. Pour des détails sur la signification des paramètres, voyez la fonction sqlite_open().

sqlite_popen() va d'abord vérifier qu'il reste une connexion persistante déjà ouverte pour le fichier filename. Si elle peut en trouver une, elle l'utilisera et, sinon, elle ouvrira une nouvelle connexion.

L'intérêt de cette méthode est que vous évitez de relire la base, les schémas de tables et d'index, pour chaque page exécutée par un serveur web SAPI persistant (tous les SAPI, sauf les CGI et CLI).

Note: Si vous utilisez une connexion persistante et que la base de données est modifiée par un autre processus (via une table de cron, par exemple), et que le processus recrée la base en l'écrasant, soit par effacement et reconstruction, ou par déplacement d'une nouvelle version à la place de l'ancienne, vous pourriez obtenir des comportements inattendus lorsque vous utiliserez une vielle connexion persistante sur une nouvelle base. Pour éviter cette situation, faites en sorte que vos processus parallèles ouvrent les bases et fassent leurs modifications dans une transaction.

Liste de paramètres

filename

Le nom du fichier de la base de données SQLite. Si le fichier n'existe pas, SQLite tentera de le créer. PHP doit avoir les permissions d'écriture du fichier si des données y sont insérées, le schéma de la base de données est modifié, ou pour créer une base de données si elle n'existe pas.

mode

Le mode du fichier. Devrait être utilisé pour ouvrir une base de données en mode lecture seule. Actuellement, ce paramètre est ignoré par la bibliothèque sqlite. La valeur par défaut pour le mode est 0666 en octal : c'est la valeur recommandée.

error_message

Passée par référence et est affectée afin de contenir la description du message d'erreur qui explique pourquoi la base de données ne pouvait pas être ouverte s'il y avait une erreur.

Valeurs de retour

Retourne une ressource (de base de données) en cas de succès, FALSE en cas d'erreur.

Voir aussi

  • sqlite_open() - Ouvre une base SQLite et la crée si elle n'existe pas
  • sqlite_close() - Ferme la connexion à SQLite
  • sqlite_factory() - Ouvre une base SQLite et crée un objet pour elle

sqlite_open
sqlite_prev
Fonctions SQLite


Se positionne sur le numéro de ligne précédent du jeu de résultats

sqlite_popen
sqlite_query
Fonctions SQLite
PHP Manual

sqlite_prev

SQLiteResult->prev

(PHP 5)

sqlite_prev -- SQLiteResult->prev — Se positionne sur le numéro de ligne précédent du jeu de résultats

Description

bool sqlite_prev ( resource $result )

Style orienté objet

SQLiteResult
bool prev ( void )

sqlite_prev() se positionne sur la ligne précédente du jeu de résultats result.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne TRUE en cas de succès ou FALSE s'il n'y a plus de ligne précédente.

Voir aussi

  • sqlite_has_prev() - Retourne si oui ou non une ligne précédente est disponible
  • sqlite_rewind() - Place le pointeur de résultat SQLite au début
  • sqlite_next() - Déplace le pointeur SQLite vers la prochaine ligne

sqlite_popen
sqlite_query
Fonctions SQLite


Exécute une requête SQLite et lit le résultat

sqlite_prev
sqlite_rewind
Fonctions SQLite
PHP Manual

sqlite_query

SQLiteDatabase->query

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_query -- SQLiteDatabase->query — Exécute une requête SQLite et lit le résultat

Description

resource sqlite_query ( resource $dbhandle , string $query [, int $result_type [, string &$error_msg ]] )
resource sqlite_query ( string $query , resource $dbhandle [, int $result_type [, string &$error_msg ]] )

Style orienté objet

SQLiteDatabase
SQLiteResult query ( string $query [, int $result_type [, string &$error_msg ]] )

Exécute la requête SQL query dans une base SQLite.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

query

La requête à être exécutée.

Les données contenues dans la requête doivent être échappées.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.

error_msg

La variable spécifiée sera remplie si une erreur se produit. Ceci est important car les erreurs de syntaxes SQL ne peuvent être récupérées en utilisant la fonction sqlite_last_error().

Note: Deux syntaxes alternatives sont supportées pour assurer la compatibilité avec les autres bases de données (telles que MySQL) : la forme recommandée est la première, où le paramètre dbhandle est le premier dans la fonction.

Valeurs de retour

Retourne une ressource de résultat ou FALSE si une erreur survient. Pour les requêtes qui retournent des lignes, la ressource de résultat peut être utilisée avec les fonctions comme sqlite_fetch_array() et sqlite_seek().

Indépendamment du type, cette fonction retournera FALSE si la requête échoue.

sqlite_query() retourne un résultat bufferisé. C'est très pratique pour des résultats de petite taille, où vous aurez besoin d'accéder aléatoirement aux lignes. Les résultats bufferisés allouent la mémoire nécessaire pour stocker tout le résultat, et ne se termineront qu'une fois toutes ces données lues. Si vous n'avez besoin que d'un accès séquentiel aux données, il est recommandé d'utiliser sqlite_unbuffered_query().

Historique

Version | Description
5.1.0 | Ajout du paramètre error_msg

Notes

Avertissement

SQLite va exécute les requêtes multiples, séparées par des points-virgules, ce qui vous permet d'exécuter plusieurs requêtes SQL en une seule fois.

Lorsque vous exécutez des requêtes multiples, la valeur retournée par cette fonction sera FALSE si une erreur s'est produite, mais indéfini dans les autres cas (cela peut être TRUE en cas de succès, ou bien elle peut retourner un résultat).

Voir aussi

  • sqlite_unbuffered_query() - Exécute une requête SQLite non bufferisée
  • sqlite_array_query() - Exécute une requête SQL avec SQLite et retourne un tableau

sqlite_prev
sqlite_rewind
Fonctions SQLite


Place le pointeur de résultat SQLite au début

sqlite_query
sqlite_seek
Fonctions SQLite
PHP Manual

sqlite_rewind

SQLiteResult->rewind

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_rewind -- SQLiteResult->rewind — Place le pointeur de résultat SQLite au début

Description

bool sqlite_rewind ( resource $result )

Style orienté objet

SQLiteResult
bool rewind ( void )

sqlite_rewind() replace le pointeur à la première ligne du jeu de résultats donné.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne FALSE s'il n'y a plus de ligne dans le jeu de résultats, TRUE sinon.

Voir aussi

  • sqlite_next() - Déplace le pointeur SQLite vers la prochaine ligne
  • sqlite_current() - Lit une ligne de résultat SQLite dans un tableau
  • sqlite_seek() - Déplace le pointeur de résultat SQLite vers une ligne

sqlite_query
sqlite_seek
Fonctions SQLite


Déplace le pointeur de résultat SQLite vers une ligne

sqlite_rewind
sqlite_single_query
Fonctions SQLite
PHP Manual

sqlite_seek

SQLiteResult->seek

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_seek -- SQLiteResult->seek — Déplace le pointeur de résultat SQLite vers une ligne

Description

bool sqlite_seek ( resource $result , int $rownum )

Style orienté objet

SQLiteResult
bool seek ( int $rownum )

sqlite_seek() déplace le pointeur de résultat à la ligne rownum.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

rownum

Nombre ordinal de la ligne où se déplacer. Le numéro de la première ligne est 0

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne FALSE si la ligne n'existe pas, TRUE sinon.

Voir aussi

  • sqlite_next() - Déplace le pointeur SQLite vers la prochaine ligne
  • sqlite_current() - Lit une ligne de résultat SQLite dans un tableau
  • sqlite_rewind() - Place le pointeur de résultat SQLite au début

sqlite_rewind
sqlite_single_query
Fonctions SQLite


Exécute une requête et retourne soit un tableau pour une colonne unique, soit la valeur de la première ligne

sqlite_seek
sqlite_udf_decode_binary
Fonctions SQLite
PHP Manual

sqlite_single_query

SQLiteDatabase->singleQuery

(PHP 5, PECL sqlite >= 1.0.1)

sqlite_single_query -- SQLiteDatabase->singleQuery — Exécute une requête et retourne soit un tableau pour une colonne unique, soit la valeur de la première ligne

Description

array sqlite_single_query ( resource $db , string $query [, bool $first_row_only [, bool $decode_binary ]] )

Style orienté objet

SQLiteDatabase
array singleQuery ( string $query [, bool $first_row_only [, bool $decode_binary ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

sqlite_seek
sqlite_udf_decode_binary
Fonctions SQLite


Décode des données binaires, passées à une UDF SQLite

sqlite_single_query
sqlite_udf_encode_binary
Fonctions SQLite
PHP Manual

sqlite_udf_decode_binary

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_udf_decode_binary — Décode des données binaires, passées à une UDF SQLite

Description

string sqlite_udf_decode_binary ( string $data )

Décode des données binaires.

Vous devez appeler cette fonction sur les paramètres passés à votre UDF, si vous devez manipuler des données binaires, car le codage binaire de PHP va masquer le contenu original de la donnée.

PHP ne fait pas cette opération de codage/décodage automatiquement, car cela réduirait considérablement les performances.

Liste de paramètres

data

Les données encodées avec les fonctions sqlite_udf_encode_binary() ou sqlite_escape_string() et qui doivent être décodées

Valeurs de retour

La chaîne de caractères décodée.

Exemples

Exemple #1 Exemple de fonction d'agrégation SQLite, compatible avec les données binaires

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten'
   );
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
  $string = sqlite_udf_decode_binary($string);
  if (strlen($string) > $context) {
    $context = strlen($string);
  }
}

function max_len_finalize(&$context)
{
  return $context;
}

sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));

?>

Voir aussi

  • sqlite_udf_encode_binary() - Encode les données binaires d'une UDF SQLite avant de les retourner
  • sqlite_create_function() - Enregistre une fonction utilisateur "classique" UDF pour SQLite
  • sqlite_create_aggregate() - Enregistre une UDF agrégeante pour les requêtes SQLite

sqlite_single_query
sqlite_udf_encode_binary
Fonctions SQLite


Encode les données binaires d'une UDF SQLite avant de les retourner

sqlite_udf_decode_binary
sqlite_unbuffered_query
Fonctions SQLite
PHP Manual

sqlite_udf_encode_binary

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_udf_encode_binary — Encode les données binaires d'une UDF SQLite avant de les retourner

Description

string sqlite_udf_encode_binary ( string $data )

sqlite_udf_encode_binary() applique le codage aux données binaires data pour qu'elles puissent être correctement retournées depuis la requête (car la bibliothèque libsqlite n'est pas compatible avec les données binaires).

S'il y a des chances que vos données ne soient pas compatibles, (par exemple, si elles contiennent le caractère NUL au milieu de la chaîne, et non pas seulement à la fin, ou si le premier caractère est un caractère 0x01) alors vous devrez appeler cette fonction pour protéger vos données.

PHP ne fait pas cette opération de codage/décodage automatiquement, pour des raisons de performances.

Note: N'utilisez pas la fonction sqlite_escape_string() pour protéger les données dans vos UDF, car cela conduira à doubler la protection. Utilisez plutôt cette fonction à la place.

Liste de paramètres

data

La chaîne de caractères à encoder.

Valeurs de retour

La chaîne de caractères encodée.

Voir aussi

  • sqlite_udf_decode_binary() - Décode des données binaires, passées à une UDF SQLite
  • sqlite_escape_string() - Protège une chaîne de caractères pour utilisation avec SQLite
  • sqlite_create_function() - Enregistre une fonction utilisateur "classique" UDF pour SQLite
  • sqlite_create_aggregate() - Enregistre une UDF agrégeante pour les requêtes SQLite

sqlite_udf_decode_binary
sqlite_unbuffered_query
Fonctions SQLite


Exécute une requête SQLite non bufferisée

sqlite_udf_encode_binary
sqlite_valid
Fonctions SQLite
PHP Manual

sqlite_unbuffered_query

SQLiteDatabase->unbufferedQuery

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query -- SQLiteDatabase->unbufferedQuery — Exécute une requête SQLite non bufferisée

Description

resource sqlite_unbuffered_query ( resource $dbhandle , string $query [, int $result_type [, string &$error_msg ]] )
resource sqlite_unbuffered_query ( string $query , resource $dbhandle [, int $result_type [, string &$error_msg ]] )

Style orienté objet

SQLiteDatabase
SQLiteUnbuffered unbufferedQuery ( string $query [, int $result_type [, string &$error_msg ]] )

sqlite_unbuffered_query() est identique à sqlite_query() hormis le fait que le résultat retourné est une séquence croissante, qui ne peut être lue que dans un seul sens.

Cette fonction est idéale pour générer des tables HTML, où vous n'avez besoin que d'une ligne en même temps, et que vous n'avez pas à faire d'accès aléatoire aux lignes.

Note: Les fonctions telles que sqlite_seek() et sqlite_rewind() ne fonctionnent pas avec les résultats non bufferisés de cette fonction.

Liste de paramètres

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si vous utilisez la méthode orientée objet.

query

La requête à être exécutée.

Les données contenues dans la requête doivent être échappées.

result_type

Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.

error_msg

La variable spécifiée sera remplie si une erreur se produit. Ceci est important car les erreurs de syntaxes SQL ne peuvent être récupérées en utilisant la fonction sqlite_last_error().

Note: Deux syntaxes alternatives sont supportées pour assurer la compatibilité avec les autres bases de données (telles que MySQL) : la forme recommandée est la première, où le paramètre dbhandle est le premier dans la fonction.

Valeurs de retour

Retourne une ressource de résultat ou FALSE si une erreur survient.

sqlite_unbuffered_query() retourne un jeu de résultats séquentiel d'avancement seul qui ne peut être utilisé que pour lire chaque ligne, l'une après l'autre.

Historique

Version | Description
5.1.0 | Ajout du paramètre error_msg

Voir aussi

  • sqlite_query() - Exécute une requête SQLite et lit le résultat

sqlite_udf_encode_binary
sqlite_valid
Fonctions SQLite


Retourne si oui ou non il reste des lignes disponibles

sqlite_unbuffered_query
SQLite3
Fonctions SQLite
PHP Manual

sqlite_valid

SQLiteResult->valid

SQLiteUnbuffered->valid

(PHP 5)

sqlite_valid -- SQLiteResult->valid -- SQLiteUnbuffered->valid — Retourne si oui ou non il reste des lignes disponibles

Description

bool sqlite_valid ( resource $result )

Style orienté objet

SQLiteResult
bool valid ( void )
SQLiteUnbuffered
bool valid ( void )

Recherche si d'autres lignes sont disponibles à partir de la ressource de résultat donnée.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

Note: Cette fonction ne fonctionnera pas sur des résultats non bufférisés.

Valeurs de retour

Retourne TRUE s'il y a encore des lignes disponibles de la ressource result ou FALSE autrement.

Voir aussi

  • sqlite_num_rows() - Retourne le nombre de lignes d'un résultat SQLite
  • sqlite_changes() - Retourne le nombre de lignes qui ont été modifiées par la dernière requête SQLite

sqlite_unbuffered_query
SQLite3
Fonctions SQLite


SQLite3

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • SQLite3 — La classe SQLite3
    • SQLite3::changes — Retourne le nombre de lignes modifiées (ou insérées, effacées) par la dernière requête SQL
    • SQLite3::close — Ferme la connexion avec la base de données
    • SQLite3::__construct — Instantie un objet SQLite3 et ouvre la base de données SQLite 3
    • SQLite3::createAggregate — Enregistre une fonction PHP à utiliser comme fonction d'aggrégation SQLite
    • SQLite3::createFunction — Enregistre une fonction PHP à utiliser comme function scalaire SQL
    • SQLite3::escapeString — Retourne une chaîne nettoyée
    • SQLite3::exec — Exécute une requête sur une base de données
    • SQLite3::lastErrorCode — Retourne le code erreur de la dernière requête SQL ayant échouée
    • SQLite3::lastErrorMsg — Retourne le message d'erreur, en anglais, de la dernière requête ayant échouée
    • SQLite3::lastInsertRowID — Retourne l'identifiant de la ligne corrspondant à la dernière requête de type INSERT
    • SQLite3::loadExtension — Tente de charger une extension de la bibliothèque SQLite
    • SQLite3::open — Ouvre une base de données SQLite
    • SQLite3::prepare — Prépare une requête SQL pour exécution
    • SQLite3::query — Exécute une requête SQL
    • SQLite3::querySingle — Exécute une requête et retourne un seul résultat
    • SQLite3::version — Retourne la version de la bibliothèque SQLite3
  • SQLite3Stmt — La classe SQLite3Stmt
    • SQLite3Stmt::bindParam — Lie un paramètre à une variable de requête
    • SQLite3Stmt::bindValue — Lie la valeur d'un paramètre à une variable de requête
    • SQLite3Stmt::clear — Supprime tous les paramètres actuellement liés
    • SQLite3Stmt::close — Ferme une requête préparée
    • SQLite3Stmt::execute — Exécute une requête préparée
    • SQLite3Stmt::paramCount — Retourne le nombre de paramètres d'une requête préparée
    • SQLite3Stmt::reset — Réinitialise une requête préparée
  • SQLite3Result — La classe SQLite3Result
    • SQLite3Result::columnName — Retourne le nom d'une colonne
    • SQLite3Result::columnType — Retourne le type d'une colonne
    • SQLite3Result::fetchArray — Récupère un jeu de résultats sous la forme d'un tableau associatif
    • SQLite3Result::finalize — Ferme un jeu de résultats
    • SQLite3Result::numColumns — Retourne le nombre de colonnes du jeu de résultats
    • SQLite3Result::reset — Repositionne le pointeur sur la première ligne du jeu de résultats
sqlite_valid
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Support des bases de données SQLite version 3.

SQLite3
Installation/Configuration
SQLite3


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SQLite3


Installation

Le support de SQLite3 est activé par défaut depuisPHP 5.3.0. Il est possible de la désactiver en utilisant l'option --without-sqlite3 au moment de la compilation.

Les utilisateurs Windows doivent activer la bibliothèque php_sqlite3.dll pour utiliser cette extension. Cette DLL est inclue avec les distributions de PHP pour Windows à partir de la version 5.3.0.

Note: Cette extension a été brièvement une extension PECL, mais cette version n'est recommandée que pour des expérimentations.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Sqlite3
Nom | Défaut | Modifiable | Changelog
sqlite3.extension_dir | NULL | PHP_INI_SYSTEM |

Voici un éclaircissement sur l'utilisation des directives de configuration.

sqlite3.extension_dir string

Chemin vers le dossier où se trouve les extensions chargeables pour SQLite.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SQLITE3_ASSOC ( integer )
Spécifie que la méthode Sqlite3Result::fetchArray doit retourner un tableau indexé par le nom de la colonne dans le jeu de résultats correspondant.
SQLITE3_NUM ( integer )
Spécifie que la méthode Sqlite3Result::fetchArray doit retourner un tableau indexé par le numéro de la colonne dans le jeu de résultats correspondant, en commençant à la colonne 0.
SQLITE3_BOTH ( integer )
Spécifie que la méthode Sqlite3Result::fetchArray doit retourner un tableau indexé par le nom et le numéro de la colonne dans le jeu de résultats correspondant, en commençant à la colonne 0.
SQLITE3_INTEGER ( integer )
Représente la classe de stockage INTEGER de SQLite3.
SQLITE3_FLOAT ( integer )
Représente la classe de stockage REAL (FLOAT) de SQLite3.
SQLITE3_TEXT ( integer )
Représente la classe de stockage TEXT de SQLite3.
SQLITE3_BLOB ( integer )
Représente la classe de stockage BLOB de SQLite3.
SQLITE3_NULL ( integer )
Représente la classe de stockage NULL de SQLite3.
SQLITE3_OPEN_READONLY ( integer )
Spécifie que la base de données SQLite3 doit être ouverte en lecture seule.
SQLITE3_OPEN_READWRITE ( integer )
Spécifie que la base de données SQLite3 doit être ouverte en lecture et en écriture.
SQLITE3_OPEN_CREATE ( integer )
Spécifie que la base de données SQLite3 doit être créée si elle n'existe pas déjà.

Types de ressources
SQLite3
SQLite3


La classe SQLite3

Introduction

Une classe d'interface avec les bases de données SQLite3.

Synopsis de la classe

SQLite3
SQLite3 {
/* Méthodes */
public int changes ( void )
public bool close ( void )
__construct ( string $filename [, int $flags [, string $encryption_key ]] )
public bool createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )
public bool createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )
public string escapeString ( string $value )
public bool exec ( string $query )
public int lastErrorCode ( void )
public string lastErrorMsg ( void )
public int lastInsertRowID ( void )
public bool loadExtension ( string $shared_library )
public bool open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
public SQLite3Stmt prepare ( string $query )
public SQLite3Result query ( string $query )
public mixed querySingle ( string $query [, bool $entire_row = false ] )
public array version ( void )
}

Sommaire

  • SQLite3::changes — Retourne le nombre de lignes modifiées (ou insérées, effacées) par la dernière requête SQL
  • SQLite3::close — Ferme la connexion avec la base de données
  • SQLite3::__construct — Instantie un objet SQLite3 et ouvre la base de données SQLite 3
  • SQLite3::createAggregate — Enregistre une fonction PHP à utiliser comme fonction d'aggrégation SQLite
  • SQLite3::createFunction — Enregistre une fonction PHP à utiliser comme function scalaire SQL
  • SQLite3::escapeString — Retourne une chaîne nettoyée
  • SQLite3::exec — Exécute une requête sur une base de données
  • SQLite3::lastErrorCode — Retourne le code erreur de la dernière requête SQL ayant échouée
  • SQLite3::lastErrorMsg — Retourne le message d'erreur, en anglais, de la dernière requête ayant échouée
  • SQLite3::lastInsertRowID — Retourne l'identifiant de la ligne corrspondant à la dernière requête de type INSERT
  • SQLite3::loadExtension — Tente de charger une extension de la bibliothèque SQLite
  • SQLite3::open — Ouvre une base de données SQLite
  • SQLite3::prepare — Prépare une requête SQL pour exécution
  • SQLite3::query — Exécute une requête SQL
  • SQLite3::querySingle — Exécute une requête et retourne un seul résultat
  • SQLite3::version — Retourne la version de la bibliothèque SQLite3
Constantes pré-définies
SQLite3::changes
SQLite3


Retourne le nombre de lignes modifiées (ou insérées, effacées) par la dernière requête SQL

SQLite3
SQLite3::close
SQLite3
PHP Manual

SQLite3::changes

(PHP 5 >= 5.3.0)

SQLite3::changes — Retourne le nombre de lignes modifiées (ou insérées, effacées) par la dernière requête SQL

Description

public int SQLite3::changes ( void )

Retourne le nombre de lignes modifiées (ou insérées, effacées) par la dernière requête SQL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier correspondant au nombre de lignes modifiées (ou insérées, effacées) par la dernière requête SQL.

Exemples

Exemple #1 Exemple avec SQLite3::changes()

<?php
$db = new SQLite3('mysqlitedb.db');

$query = $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($query) {
    echo 'Nombre de lignes modifiées : ', $db->changes();
}
?>

SQLite3
SQLite3::close
SQLite3


Ferme la connexion avec la base de données

SQLite3::changes
SQLite3::__construct
SQLite3
PHP Manual

SQLite3::close

(PHP 5 >= 5.3.0)

SQLite3::close — Ferme la connexion avec la base de données

Description

public bool SQLite3::close ( void )

Ferme la connexion avec la base de données.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::close()

<?php
$db = new SQLite3('mysqlitedb.db');
$db->close();
?>

SQLite3::changes
SQLite3::__construct
SQLite3


Instantie un objet SQLite3 et ouvre la base de données SQLite 3

SQLite3::close
SQLite3::createAggregate
SQLite3
PHP Manual

SQLite3::__construct

(PHP 5 >= 5.3.0)

SQLite3::__construct — Instantie un objet SQLite3 et ouvre la base de données SQLite 3

Description

SQLite3::__construct ( string $filename [, int $flags [, string $encryption_key ]] )

Instantie un objet SQLite3 et ouvre une connexion à la base de données SQLite 3. Si le crytage a été inclu durant la compilation, alors cette fonction tentera d'utiliser la clé correspondante.

Liste de paramètres

filename

Chemin vers la base de données SQLite.

flags

Drapeaux optionnels utilisés pour déterminir la manière d'ouverture de la base de données SQLite. Par défaut, l'ouverture s'effectue en utilisant SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY : Ouvre la base de données en lecture seule.

  • SQLITE3_OPEN_READWRITE : Ouvre la base de données en lecture et en écriture.

  • SQLITE3_OPEN_CREATE : Crée la base de données si elle n'existe pas.

encryption_key

Un clé de cryptage optionnel, à utiliser lors du cryptage/décryptage de la base de données SQLite.

Valeurs de retour

Retourne un objet SQLite3 en cas de succès.

Exemples

Exemple #1 Exemple avec SQLite3::__construct()

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

SQLite3::close
SQLite3::createAggregate
SQLite3


Enregistre une fonction PHP à utiliser comme fonction d'aggrégation SQLite

SQLite3::__construct
SQLite3::createFunction
SQLite3
PHP Manual

SQLite3::createAggregate

(PHP 5 >= 5.3.0)

SQLite3::createAggregate — Enregistre une fonction PHP à utiliser comme fonction d'aggrégation SQLite

Description

public bool SQLite3::createAggregate ( string $name , mixed $step_callback , mixed $final_callback [, int $argument_count = -1 ] )

Enregistre une fonction PHP ou une fonction définie par l'utilisateur à utiliser comme fonction d'aggrégation SQL, qui sera utilisée dans les requêtes SQL.

Liste de paramètres

name

Nom de la fonction d'aggrégation SQL à créer ou à redéfinir.

step_callback

Le nom de la fonction PHP ou de la fonction utilisateur à appliquer comme callback sur tous les éléments de l'aggrégation.

final_callback

Le nom de la fonction PHP ou de la fonction utilisateur à appliquer comme callback à la fin des données de l'aggrégation.

argument_count

Le nombre d'arguments pris par la fonction d'aggrégation SQL. Si ce nombre est négatif, alors la fonction d'aggrégation SQL pourra prendre un nombre non défini d'arguments.

Valeurs de retour

Retourne TRUE si la création réussie, FALSE si une erreur survient.

SQLite3::__construct
SQLite3::createFunction
SQLite3


Enregistre une fonction PHP à utiliser comme function scalaire SQL

SQLite3::createAggregate
SQLite3::escapeString
SQLite3
PHP Manual

SQLite3::createFunction

(PHP 5 >= 5.3.0)

SQLite3::createFunction — Enregistre une fonction PHP à utiliser comme function scalaire SQL

Description

public bool SQLite3::createFunction ( string $name , mixed $callback [, int $argument_count = -1 ] )

Enregistre une fonction PHP ou une fonction utilisateur à utiliser comme fonction scalaire SQL, pour utilisation dans les requête SQL.

Liste de paramètres

name

Nom de la fonction SQL à créer ou à redéfinir.

callback

Le nom de la fonction PHP ou la fonction utilisateur à appliquer comme callback, définissant le comportement de la fonction SQL.

argument_count

Le nombre d'arguments que la fonction SQL prend. Si ce paramètre est négatif, la fonction SQL pourra prendre un nombre non défini d'arguments.

Valeurs de retour

Retourne TRUE si la fonction a été créée avec succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::createFunction()

<?php
function my_udf_md5($string) {
    return md5($string);
}

$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5', 'my_udf_md5');

var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(32) "098f6bcd4621d373cade4e832627b4f6"

SQLite3::createAggregate
SQLite3::escapeString
SQLite3


Retourne une chaîne nettoyée

SQLite3::createFunction
SQLite3::exec
SQLite3
PHP Manual

SQLite3::escapeString

(PHP 5 >= 5.3.0)

SQLite3::escapeString — Retourne une chaîne nettoyée

Description

public string SQLite3::escapeString ( string $value )

Retourne une chaîne qui a été nettoyée afin de l'inclure sans risque dans les requêtes SQL.

Liste de paramètres

value

La chaîne à nettoyer.

Valeurs de retour

Retourne une chaîne nettoyée, qui pourra être utilisée sans risque dans une requête SQL.

Notes

Avertissement

La fonction addslashes() ne doit PAS être utilisée pour protéger votre chaîne dans vos requêtes SQL ; vous pourriez observer d'étranges résultats lorsque vous récupérerez vos données.

SQLite3::createFunction
SQLite3::exec
SQLite3


Exécute une requête sur une base de données

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3
PHP Manual

SQLite3::exec

(PHP 5 >= 5.3.0)

SQLite3::exec — Exécute une requête sur une base de données

Description

public bool SQLite3::exec ( string $query )

Exécute une requête sur une base de données.

Liste de paramètres

query

La requête SQL à exécuter (typiquement, une requête de type INSERT, UPDATE ou DELETE).

Valeurs de retour

Retourne TRUE si la requête a été exécutée avec succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::exec()

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar STRING)');
?>

SQLite3::escapeString
SQLite3::lastErrorCode
SQLite3


Retourne le code erreur de la dernière requête SQL ayant échouée

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3
PHP Manual

SQLite3::lastErrorCode

(PHP 5 >= 5.3.0)

SQLite3::lastErrorCode — Retourne le code erreur de la dernière requête SQL ayant échouée

Description

public int SQLite3::lastErrorCode ( void )

Retourne le code erreur de la dernière requête SQL ayant échouée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier représentant le code erreur de la dernière requête ayant échouée.

SQLite3::exec
SQLite3::lastErrorMsg
SQLite3


Retourne le message d'erreur, en anglais, de la dernière requête ayant échouée

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3
PHP Manual

SQLite3::lastErrorMsg

(PHP 5 >= 5.3.0)

SQLite3::lastErrorMsg — Retourne le message d'erreur, en anglais, de la dernière requête ayant échouée

Description

public string SQLite3::lastErrorMsg ( void )

Retourne le message d'erreur, en anglais, de la dernière requête ayant échouée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le message d'erreur, en anglais, de la dernière requête ayant échouée.

SQLite3::lastErrorCode
SQLite3::lastInsertRowID
SQLite3


Retourne l'identifiant de la ligne corrspondant à la dernière requête de type INSERT

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3
PHP Manual

SQLite3::lastInsertRowID

(PHP 5 >= 5.3.0)

SQLite3::lastInsertRowID — Retourne l'identifiant de la ligne corrspondant à la dernière requête de type INSERT

Description

public int SQLite3::lastInsertRowID ( void )

Retourne l'identifiant de la ligne corrspondant à la dernière requête de type INSERT effectuée sur la base de données.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'identifiant de la ligne corrspondant à la dernière requête de type INSERT effectuée sur la base de données.

SQLite3::lastErrorMsg
SQLite3::loadExtension
SQLite3


Tente de charger une extension de la bibliothèque SQLite

SQLite3::lastInsertRowID
SQLite3::open
SQLite3
PHP Manual

SQLite3::loadExtension

(PHP 5 >= 5.3.0)

SQLite3::loadExtension — Tente de charger une extension de la bibliothèque SQLite

Description

public bool SQLite3::loadExtension ( string $shared_library )

Tente de charger une extension de la bibliothèque SQLite.

Liste de paramètres

shared_library

Le nom de l'extension à charger. L'extension doit se trouver dans le dossier spécifié par l'option de configuration sqlite3.extension_dir.

Valeurs de retour

Retourne TRUE si l'extension a été chargée avec succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::loadExtension()

<?php
$db = new SQLite3('mysqlitedb.db');
$db->loadExtension('libagg.so');
?>

SQLite3::lastInsertRowID
SQLite3::open
SQLite3


Ouvre une base de données SQLite

SQLite3::loadExtension
SQLite3::prepare
SQLite3
PHP Manual

SQLite3::open

(PHP 5 >= 5.3.0)

SQLite3::open — Ouvre une base de données SQLite

Description

public bool SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )

Ouvre une base de données SQLite 3. Si le cryptage a été inclu lors de la construction de la base de données, la clé correspondante sera utilisée.

Liste de paramètres

filename

Chemin vers la base de données SQLite.

flags

Drapeaux optionnels à utiliser pour déterminer la manière d'ouverture de la base de données SQLite. Par défaut, ce sera SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

  • SQLITE3_OPEN_READONLY : Ouvre la base de données en lecture seule.

  • SQLITE3_OPEN_READWRITE : Ouvre la base de données en lecture et écriture.

  • SQLITE3_OPEN_CREATE : Crée la base de données si elle n'existe pas.

encryption_key

La clé optionnelle de cryptage utilisée lors du cryptage/décryptage de la base de données SQLite.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::open()

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('Ceci est un test')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

SQLite3::loadExtension
SQLite3::prepare
SQLite3


Prépare une requête SQL pour exécution

SQLite3::open
SQLite3::query
SQLite3
PHP Manual

SQLite3::prepare

(PHP 5 >= 5.3.0)

SQLite3::prepare — Prépare une requête SQL pour exécution

Description

public SQLite3Stmt SQLite3::prepare ( string $query )

Prépare une requête SQL pour exécution et retourne un objet SQLite3Stmt.

Liste de paramètres

query

La requête SQL à préparer.

Valeurs de retour

Retourne un objet SQLite3Stmt en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::prepare()

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'Ceci est un test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

SQLite3::open
SQLite3::query
SQLite3


Exécute une requête SQL

SQLite3::prepare
SQLite3::querySingle
SQLite3
PHP Manual

SQLite3::query

(PHP 5 >= 5.3.0)

SQLite3::query — Exécute une requête SQL

Description

public SQLite3Result SQLite3::query ( string $query )

Exécute une requête SQL, et retourne un objet SQLite3Result si la requête retourne des résultats.

Liste de paramètres

query

La requête SQL à exécuter.

Valeurs de retour

Retourne un objet SQLite3Result si la requête retourne des résultats. Sinon, la fonction retourne TRUE si la requête est exécutée avec succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::query()

<?php
$db = new SQLite3('mysqlitedb.db');

$results = $db->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
    var_dump($row);
}
?>

SQLite3::prepare
SQLite3::querySingle
SQLite3


Exécute une requête et retourne un seul résultat

SQLite3::query
SQLite3::version
SQLite3
PHP Manual

SQLite3::querySingle

(PHP 5 >= 5.3.0)

SQLite3::querySingle — Exécute une requête et retourne un seul résultat

Description

public mixed SQLite3::querySingle ( string $query [, bool $entire_row = false ] )

Exécute une requête et retourne un seul résultat.

Liste de paramètres

query

La requête SQL à exécuter.

entire_row

Par défaut, cette fonction retourne la valeur de la première colonne retournée par la requête. Si ce paramètre vaut TRUE, alors la fonction retournera un tableau contenant toute la première ligne.

Valeurs de retour

Retourne la valeur de la première colonne du résultats, ou une tableau contenant toute la première ligne (si le paramètre entire_row vaut TRUE), ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::querySingle()

<?php
$db = new SQLite3('mysqlitedb.db');

var_dump($db->querySingle('SELECT username FROM user WHERE userid=1'));
print_r($db->querySingle('SELECT username, email FROM user WHERE userid=1', true));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "Scott"
Array
(
    [username] => Scott
    [email] => scott@example.com
)

SQLite3::query
SQLite3::version
SQLite3


Retourne la version de la bibliothèque SQLite3

SQLite3::querySingle
SQLite3Stmt
SQLite3
PHP Manual

SQLite3::version

(PHP 5 >= 5.3.0)

SQLite3::version — Retourne la version de la bibliothèque SQLite3

Description

public array SQLite3::version ( void )

Retourne la version de la bibliothèque SQLite3.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau associatif contenant les clés "versionString" et "versionNumber".

Exemples

Exemple #1 Exemple avec SQLite3::version()

<?php
print_r(SQLite3::version());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [versionString] => 3.5.9
    [versionNumber] => 3005009
)

SQLite3::querySingle
SQLite3Stmt
SQLite3


La classe SQLite3Stmt

Introduction

La classe qui représnte les commandes préparées pour une base de données SQLite3.

Synopsis de la classe

SQLite3Stmt
SQLite3Stmt {
/* Méthodes */
public bool bindParam ( string $sql_param , mixed &$param [, int $type ] )
public bool bindValue ( string $sql_param , mixed $value [, int $type ] )
public bool clear ( void )
public bool close ( void )
public SQLite3Result execute ( void )
public int paramCount ( void )
public bool reset ( void )
}

Sommaire

  • SQLite3Stmt::bindParam — Lie un paramètre à une variable de requête
  • SQLite3Stmt::bindValue — Lie la valeur d'un paramètre à une variable de requête
  • SQLite3Stmt::clear — Supprime tous les paramètres actuellement liés
  • SQLite3Stmt::close — Ferme une requête préparée
  • SQLite3Stmt::execute — Exécute une requête préparée
  • SQLite3Stmt::paramCount — Retourne le nombre de paramètres d'une requête préparée
  • SQLite3Stmt::reset — Réinitialise une requête préparée
SQLite3::version
SQLite3Stmt::bindParam
SQLite3


Lie un paramètre à une variable de requête

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindParam — Lie un paramètre à une variable de requête

Description

public bool SQLite3Stmt::bindParam ( string $sql_param , mixed &$param [, int $type ] )

Lie un paramètre à une variable de requête.

Liste de paramètres

sql_param

Une chaîne de caractères identifiant la variable de requête sur laquelle le paramètre doit être lié.

param

Le paramètre à lier à la variable de requête.

type

Le type de données du paramètre à lier.

  • SQLITE3_INTEGER : La valeur est un entier signé, stocké sur 1, 2, 3, 4, 6, ou 8 octets, suivant la grandeur de la valeur.

  • SQLITE3_FLOAT : La valeur est un nombre à virgule flottante, stocké sur 8 octets.

  • SQLITE3_TEXT : La valeur est un texte, stocké en utilisant l'encodage de la base de données (UTF-8, UTF-16BE ou UTF-16-LE).

  • SQLITE3_BLOB : La valeur est un BLOB, stocké exactement de la façon dont il a été fourni.

  • SQLITE3_NULL : La valeur est la valeur NULL.

Valeurs de retour

Retourne TRUE si le paramètre est lié à la variable de requête, FALSE si une erreur survient.

SQLite3Stmt
SQLite3Stmt::bindValue
SQLite3Stmt


Lie la valeur d'un paramètre à une variable de requête

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt
PHP Manual

SQLite3Stmt::bindValue

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindValue — Lie la valeur d'un paramètre à une variable de requête

Description

public bool SQLite3Stmt::bindValue ( string $sql_param , mixed $value [, int $type ] )

Lie la valeur d'un paramètre à une variable de requête.

Liste de paramètres

sql_param

Un chaîne de caractères identifiant la variable de requête sur laquelle la valeur doit être liée.

value

La valeur à lier à la variable de requête.

type

Le type de données de la valeur à lier.

  • SQLITE3_INTEGER : La valeur est un entier signé, stocké sur 1, 2, 3, 4, 6, ou 8 octets, suivant la grandeur de la valeur.

  • SQLITE3_FLOAT : La valeur est un nombre à virgule flottante, stocké sur 8 octets.

  • SQLITE3_TEXT : La valeur est un texte, stocké en utilisant l'encodage de la base de données (UTF-8, UTF-16BE ou UTF-16-LE).

  • SQLITE3_BLOB : La valeur est un BLOB, stocké exactement de la façon dont il a été fourni.

  • SQLITE3_NULL : La valeur est la valeur NULL.

Valeurs de retour

Retourne TRUE si la valeur a été liée à la variable de requête, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3Stmt::bindValue()

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

SQLite3Stmt::bindParam
SQLite3Stmt::clear
SQLite3Stmt


Supprime tous les paramètres actuellement liés

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt
PHP Manual

SQLite3Stmt::clear

(PHP 5 >= 5.3.0)

SQLite3Stmt::clear — Supprime tous les paramètres actuellement liés

Description

public bool SQLite3Stmt::clear ( void )

Supprime tous les paramètres actuellement liés.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si tous les paramètres actuellement liés ont été supprimés, FALSE si une erreur survient.

SQLite3Stmt::bindValue
SQLite3Stmt::close
SQLite3Stmt


Ferme une requête préparée

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt
PHP Manual

SQLite3Stmt::close

(PHP 5 >= 5.3.0)

SQLite3Stmt::close — Ferme une requête préparée

Description

public bool SQLite3Stmt::close ( void )

Ferme une requête préparée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE

SQLite3Stmt::clear
SQLite3Stmt::execute
SQLite3Stmt


Exécute une requête préparée

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt
PHP Manual

SQLite3Stmt::execute

(PHP 5 >= 5.3.0)

SQLite3Stmt::execute — Exécute une requête préparée

Description

public SQLite3Result SQLite3Stmt::execute ( void )

Exécute une requête préparée et retourne un objet représentant le jeu de résultats.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet SQLite3Result si la requête préparée a été exécutée avec succès, ou FALSE si une erreur survient.

SQLite3Stmt::close
SQLite3Stmt::paramCount
SQLite3Stmt


Retourne le nombre de paramètres d'une requête préparée

SQLite3Stmt::execute
SQLite3Stmt::reset
SQLite3Stmt
PHP Manual

SQLite3Stmt::paramCount

(PHP 5 >= 5.3.0)

SQLite3Stmt::paramCount — Retourne le nombre de paramètres d'une requête préparée

Description

public int SQLite3Stmt::paramCount ( void )

Retourne le nombre de paramètres d'une requête préparée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre de paramètres d'une requête préparée.

SQLite3Stmt::execute
SQLite3Stmt::reset
SQLite3Stmt


Réinitialise une requête préparée

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt
PHP Manual

SQLite3Stmt::reset

(PHP 5 >= 5.3.0)

SQLite3Stmt::reset — Réinitialise une requête préparée

Description

public bool SQLite3Stmt::reset ( void )

Réinitialise une requête préparée, de tel sorte à retrouver son état initial, avant exécution. Tous les marqueurs resteront intacts après cette opération.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la requête préaprée a été correctement réinitialisée, ou FALSE on si une erreur survient.

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt


La classe SQLite3Result

Introduction

Une classe qui représente les résultats d'une base de données SQLite 3.

Synopsis de la classe

SQLite3Result
SQLite3Result {
/* Méthodes */
public string columnName ( int $column_number )
public int columnType ( int $column_number )
public array fetchArray ([ int $mode = SQLITE3_BOTH ] )
public bool finalize ( void )
public int numColumns ( void )
public bool reset ( void )
}

Sommaire

  • SQLite3Result::columnName — Retourne le nom d'une colonne
  • SQLite3Result::columnType — Retourne le type d'une colonne
  • SQLite3Result::fetchArray — Récupère un jeu de résultats sous la forme d'un tableau associatif
  • SQLite3Result::finalize — Ferme un jeu de résultats
  • SQLite3Result::numColumns — Retourne le nombre de colonnes du jeu de résultats
  • SQLite3Result::reset — Repositionne le pointeur sur la première ligne du jeu de résultats
SQLite3Stmt::reset
SQLite3Result::columnName
SQLite3


Retourne le nom d'une colonne

SQLite3Result
SQLite3Result::columnType
SQLite3Result
PHP Manual

SQLite3Result::columnName

(PHP 5 >= 5.3.0)

SQLite3Result::columnName — Retourne le nom d'une colonne

Description

public string SQLite3Result::columnName ( int $column_number )

Retourne le nom de la colonne identifiée par le paramètre column_number.

Liste de paramètres

column_number

Le numéro de la colonne, en commençant par 0.

Valeurs de retour

Retourne le nom de la colonne identifiée par le paramètre column_number.

SQLite3Result
SQLite3Result::columnType
SQLite3Result


Retourne le type d'une colonne

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result
PHP Manual

SQLite3Result::columnType

(PHP 5 >= 5.3.0)

SQLite3Result::columnType — Retourne le type d'une colonne

Description

public int SQLite3Result::columnType ( int $column_number )

Retourne le type de la colonne identifiée par le paramètre column_number.

Liste de paramètres

column_number

Le numéro de la colonne, en commançant par 0.

Valeurs de retour

Retourne le type de données de la colonne identifiée par column_number (cela peut être une des constantes suivantes : SQLITE3_INTEGER, SQLITE3_FLOAT, SQLITE3_TEXT, SQLITE3_BLOB, ou SQLITE3_NULL).

SQLite3Result::columnName
SQLite3Result::fetchArray
SQLite3Result


Récupère un jeu de résultats sous la forme d'un tableau associatif

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result
PHP Manual

SQLite3Result::fetchArray

(PHP 5 >= 5.3.0)

SQLite3Result::fetchArray — Récupère un jeu de résultats sous la forme d'un tableau associatif

Description

public array SQLite3Result::fetchArray ([ int $mode = SQLITE3_BOTH ] )

Récupère un jeu de résultats sous la forme d'un tableau associatif ou indexé numériquement, ou les deux. Par défaut, ce sera les deux.

Liste de paramètres

mode

Contrôle la façon dont la prochaine ligne doit être retournée à la fonction appelante. Cette valeur peut être SQLITE3_ASSOC, SQLITE3_NUM, ou SQLITE3_BOTH.

  • SQLITE3_ASSOC : Retourne un tableau indexé par le nom de la colonne, tel que retourné dans le jeu de résultats correspondant.

  • SQLITE3_NUM : Retourne un tableau indexé par le numéro de la colonne, tel que retourné dans le jeu de résultats, en commençant par la colonne 0.

  • SQLITE3_BOTH : Retourne un tableau indexé par le nom et le numéro de la colonne, tel que retourné par le jeu de résultats, en commençant par la colonne 0.

Valeurs de retour

Retourne une ligne du jeu de résultats, sous la forme d'un tableau associatif, ou sous la forme d'un tableau indexé, ou les deux.

SQLite3Result::columnType
SQLite3Result::finalize
SQLite3Result


Ferme un jeu de résultats

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result
PHP Manual

SQLite3Result::finalize

(PHP 5 >= 5.3.0)

SQLite3Result::finalize — Ferme un jeu de résultats

Description

public bool SQLite3Result::finalize ( void )

Ferme un jeu de résultats.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE.

SQLite3Result::fetchArray
SQLite3Result::numColumns
SQLite3Result


Retourne le nombre de colonnes du jeu de résultats

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result
PHP Manual

SQLite3Result::numColumns

(PHP 5 >= 5.3.0)

SQLite3Result::numColumns — Retourne le nombre de colonnes du jeu de résultats

Description

public int SQLite3Result::numColumns ( void )

Retourne le nombre de colonnes du jeu de résultats.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre de colonnes du jeu de résultats.

SQLite3Result::finalize
SQLite3Result::reset
SQLite3Result


Repositionne le pointeur sur la première ligne du jeu de résultats

SQLite3Result::numColumns
Sybase
SQLite3Result
PHP Manual

SQLite3Result::reset

(PHP 5 >= 5.3.0)

SQLite3Result::reset — Repositionne le pointeur sur la première ligne du jeu de résultats

Description

public bool SQLite3Result::reset ( void )

Repositionne le pointeur sur la première ligne du jeu de résultats.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le jeu de résultats a été réinitialisé avec succès, FALSE si une erreur survient.

SQLite3Result::numColumns
Sybase
SQLite3Result


Sybase

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Sybase
    • sybase_affected_rows — Retourne le nombre de lignes affectées par la dernière requête Sybase
    • sybase_close — Ferme une connexion Sybase
    • sybase_connect — Ouvre une connexion à un serveur Sybase
    • sybase_data_seek — Déplace le pointeur interne de lignes Sybase
    • sybase_deadlock_retry_count — Configure le nombre de tentatives lors de blocages
    • sybase_fetch_array — Retourne une ligne Sybase sous la forme d'un tableau
    • sybase_fetch_assoc — Lit une ligne de résultat Sybase sous forme de tableau associatif
    • sybase_fetch_field — Lit les informations d'un champ Sybase
    • sybase_fetch_object — Retourne une ligne Sybase sous la forme d'un objet
    • sybase_fetch_row — Retourne une ligne Sybase sous la forme d'un tableau numérique
    • sybase_field_seek — Modifie l'index d'un champ Sybase
    • sybase_free_result — Libère un résultat Sybase de la mémoire
    • sybase_get_last_message — Retourne le dernier message du serveur
    • sybase_min_client_severity — Fixe la sévérité minimale du client Sybase
    • sybase_min_error_severity — Fixe la sévérité minimale du client pour les erreurs
    • sybase_min_message_severity — Fixe la sévérité minimale du client pour les messages
    • sybase_min_server_severity — Fixe la sévérité minimale du client pour le serveur Sybase
    • sybase_num_fields — Retourne le nombre de champs dans un résultat Sybase
    • sybase_num_rows — Retourne le nombre de lignes dans un résultat Sybase
    • sybase_pconnect — Ouvre une connexion persistante à un serveur Sybase
    • sybase_query — Envoie une requête à une base Sybase
    • sybase_result — Lit une valeur dans un résultat
    • sybase_select_db — Sélectionne une base de données Sybase
    • sybase_set_message_handler — Configure le gestionnaire de messages Sybase
    • sybase_unbuffered_query — Envoie une requête à Sybase et ne bloque pas
SQLite3Result::reset
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

Sybase
Installation/Configuration
Sybase


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Sybase


Installation

Pour activer le support des bases de données Sybase-DB, vous devez compiler PHP avec l'option --with-sybase[=DIR]. DIR est le dossier d'installation de Sybase et, par défaut, il vaut /home/sybase. Pour activer le support de Sybase-CT, vous devez compiler PHP avec l'option --with-sybase-ct[=DIR]. DIR est le dossier d'installation de Sybase et, par défaut, il vaut /home/sybase.

Note: Depuis PHP 5.3.0, l'extension Sybase a été remplacé par l'extension sybase_ct et n'est plus maintenue. Pour continuer à utiliser sybase vous devez utiliser l'extension sybase_ct.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Sybase

Options de configuration Sybase
Nom | Défaut | Modifiable | Historique
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.interface_file | "/usr/sybase/interfaces" | PHP_INI_SYSTEM |
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.compatability_mode | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL | Obsolète en PHP 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.

Voici un éclaircissement sur l'utilisation des directives de configuration.

sybase.allow_persistent booléen

Activation ou non des connexions persistantes.

sybase.max_persistent entier

Le nombre maximum de connexions Sybase persistantes par processus. -1 signifie illimité.

sybase.max_links entier

Le nombre maximum de connexions Sybase par processus. -1 signifie illimité.

sybase.min_error_severity entier

Le niveau minimal d'erreur à afficher.

sybase.min_message_severity entier

Le niveau minimal de message d'erreur à afficher.

magic_quotes_sybase booléen

Si magic_quotes_sybase est aussi activé, un guillemets simple est échappé avec un guillemet simple au lieu d'un antislash, si magic_quotes_gpc ou magic_quotes_runtime est activé. Cette directive est aussi respectée par les fonctions addslashes() et stripslashes().

Note: Si la directive magic_quotes_sybase est activée, elle remplacera complètement magic_quotes_gpc. Ce qui fait que même si magic_quotes_gpc retourne TRUE, les guillemets doubles, les antislashs ou les caractères NULL ne seront pas protégés.

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Sybase-CT

Options de configuration
Nom | Par défaut | Modifiable | Historique
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible depuis PHP 4.0.2. Supprimé depuis PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible depuis PHP 4.0.2. Supprimé depuis PHP 4.0.3.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible depuis PHP 4.0.2. Supprimé depuis PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Supprimé depuis PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Supprimé depuis PHP 4.0.3.
sybct.hostname | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Supprimé depuis PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.

Voici un éclaircissement sur l'utilisation des directives de configuration.

sybct.allow_persistent booléen

Autorise ou pas les connexions persistantes Sybase-CT. Par défaut vaut On.

sybct.max_persistent entier

Le nombre maximum de connexions Sybase-CT persistantes par processus. -1 signifie illimité. C'est aussi la valeur par défaut.

sybct.max_links entier

Le nombre maximum de connexions Sybase-CT par processus, y compris les connexions persistantes. -1 signifie illimité.

sybct.min_server_severity entier

Les messages du serveur ayant une criticité supérieure ou égale à la valeur de cette option seront rapportés comme alertes. Cette valeur peut aussi être modifiée depuis les scripts en appelant la fonction sybase_min_server_severity(). Par défaut, cette option vaut 10.

sybct.min_client_severity entier

Les messages de la bibliothèque cliente ayant une criticité supérieure ou égale à la valeur de cette option seront rapportés comme alertes. Cette valeur peut aussi être modifiée depuis les scripts en appelant la fonction sybase_min_client_severity(). Par défaut, cette option vaut 10.

sybct.login_timeout entier

Le nombre maximal de secondes à attendre pour effectuer avec succès une connexion avant d'échouer. Notez que si max_execution_time est dépassé avant que ce nombre de secondes, votre script se terminera avant de pouvoir exécuter une action sur l'échec de connexion. Par défaut, ce nombre vaut une minute.

sybct.timeout entier

Le nombre maximal de secondes à attendre pour effectuer avec succès une requête avant d'échouer. Notez que si max_execution_time est dépassé avant que ce nombre de secondes, votre script se terminera avant de pouvoir exécuter une action sur l'échec de connexion. Par défaut, aucune limite n'est fixé.

sybct.hostname chaîne de caractères

Le nom de l'hôte à partir duquel vous prétendez être connecté, afin qu'il soit affiché par sp_who. Par défaut, il n'y a pas de valeur.

sybct.deadlock_retry_count int

Permet de définir le nombre de tentatives de résolution des blocages. La valeur par défaut est 0, et la valeur -1 signifie forever, c'est à dire indéfiniment.

Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Sybase
Sybase


Fonctions Sybase

Sommaire

  • sybase_affected_rows — Retourne le nombre de lignes affectées par la dernière requête Sybase
  • sybase_close — Ferme une connexion Sybase
  • sybase_connect — Ouvre une connexion à un serveur Sybase
  • sybase_data_seek — Déplace le pointeur interne de lignes Sybase
  • sybase_deadlock_retry_count — Configure le nombre de tentatives lors de blocages
  • sybase_fetch_array — Retourne une ligne Sybase sous la forme d'un tableau
  • sybase_fetch_assoc — Lit une ligne de résultat Sybase sous forme de tableau associatif
  • sybase_fetch_field — Lit les informations d'un champ Sybase
  • sybase_fetch_object — Retourne une ligne Sybase sous la forme d'un objet
  • sybase_fetch_row — Retourne une ligne Sybase sous la forme d'un tableau numérique
  • sybase_field_seek — Modifie l'index d'un champ Sybase
  • sybase_free_result — Libère un résultat Sybase de la mémoire
  • sybase_get_last_message — Retourne le dernier message du serveur
  • sybase_min_client_severity — Fixe la sévérité minimale du client Sybase
  • sybase_min_error_severity — Fixe la sévérité minimale du client pour les erreurs
  • sybase_min_message_severity — Fixe la sévérité minimale du client pour les messages
  • sybase_min_server_severity — Fixe la sévérité minimale du client pour le serveur Sybase
  • sybase_num_fields — Retourne le nombre de champs dans un résultat Sybase
  • sybase_num_rows — Retourne le nombre de lignes dans un résultat Sybase
  • sybase_pconnect — Ouvre une connexion persistante à un serveur Sybase
  • sybase_query — Envoie une requête à une base Sybase
  • sybase_result — Lit une valeur dans un résultat
  • sybase_select_db — Sélectionne une base de données Sybase
  • sybase_set_message_handler — Configure le gestionnaire de messages Sybase
  • sybase_unbuffered_query — Envoie une requête à Sybase et ne bloque pas
Constantes pré-définies
sybase_affected_rows
Sybase


Retourne le nombre de lignes affectées par la dernière requête Sybase

Fonctions Sybase
sybase_close
Fonctions Sybase
PHP Manual

sybase_affected_rows

(PHP 4, PHP 5)

sybase_affected_rows — Retourne le nombre de lignes affectées par la dernière requête Sybase

Description

int sybase_affected_rows ([ resource $link_identifier ] )

sybase_affected_rows() retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE sur le serveur associé à l'identifiant de connexion link_identifier.

Cette commande ne sert à rien sur les requêtes SELECT : uniquement sur des requêtes qui modifient les lignes. Pour connaître le nombre de lignes retournées par un SELECT, utilisez sybase_num_rows().

Liste de paramètres

link_identifier

Si l'identifiant de connexion n'est pas spécifié, la dernière connexion ouverte sera utilisée.

Valeurs de retour

Retourne le nombre de lignes affectées, sous la forme d'un entier.

Exemples

Exemple #1 Requête d'effacement

<?php
/* connexion à la base */
sybase_connect('SYBASE', '', '') or
die("Impossible de se connecter");
sybase_select_db("db");

sybase_query("DELETE FROM sometable WHERE id < 10");
printf("Nombre de lignes effacées : %d\n", sybase_affected_rows());
?>

L'exemple ci-dessus va afficher :

Nombre de lignes effacées : 10

Voir aussi

  • sybase_num_rows() - Retourne le nombre de lignes dans un résultat Sybase

Fonctions Sybase
sybase_close
Fonctions Sybase


Ferme une connexion Sybase

sybase_affected_rows
sybase_connect
Fonctions Sybase
PHP Manual

sybase_close

(PHP 4, PHP 5)

sybase_close — Ferme une connexion Sybase

Description

bool sybase_close ([ resource $link_identifier ] )

sybase_close() termine la connexion avec le serveur Sybase associé à l'identifiant de connexion link_identifier.

Notez qu'il n'est pas utile de fermer les connexions non persistantes, car elles seront terminées à la fin du script.

sybase_close() ne ferme pas les connexions persistantes générées par sybase_pconnect().

Liste de paramètres

link_identifier

Si l'identifiant de connexion n'est pas spécifié, la dernière connexion sera utilisée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sybase_connect() - Ouvre une connexion à un serveur Sybase
  • sybase_pconnect() - Ouvre une connexion persistante à un serveur Sybase

sybase_affected_rows
sybase_connect
Fonctions Sybase


Ouvre une connexion à un serveur Sybase

sybase_close
sybase_data_seek
Fonctions Sybase
PHP Manual

sybase_connect

(PHP 4, PHP 5)

sybase_connect — Ouvre une connexion à un serveur Sybase

Description

resource sybase_connect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname [, bool $new = false ]]]]]] )

sybase_connect() établit une connexion à un serveur Sybase.

Si un deuxième appel à sybase_connect() est fait avec les mêmes arguments, une nouvelle connexion ne sera pas établie, mais ce sera l'identifiant de la connexion déjà ouverte qui sera retourné.

La connexion sera fermée dès la fin du script, à moins qu'elle ne soit pas explicitement fermée avec sybase_close().

Liste de paramètres

servername

Le nom de serveur servername doit être valide, défini dans le fichier d'interface.

username

Nom d'utilisateur Sybase

password

Mot de passe associé à l'utilisateur username.

charset

Spécifie le charset pour la connexion

appname

Spécifie un appname pour la connexion Sybase. Cela permet d'établir des connexions distinctes dans le même script, avec la même base de données. Cela peut être pratique quand vous avez démarré une connexion et que vous devez lancer une requête séparée, qui ne peut pas être exécutée dans la transaction courante.

new

Si l'on doit ouvrir une nouvelle connexion ou utiliser l'existante.

Valeurs de retour

Retourne un identifiant de connexion Sybase positif en cas de succès, ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Le paramètre new a été ajouté.
4.2.0 | Le paramètre appname a été ajouté.
4.0.2 | Le paramètre charset a été ajouté.

Exemples

Exemple #1 Exemple avec sybase_connect()

<?php
$link = sybase_connect('SYBASE', '', '')
        or die("Impossible de se connecter !");
echo "Connexion établie";
sybase_close($link);
?>

Voir aussi

  • sybase_pconnect() - Ouvre une connexion persistante à un serveur Sybase
  • sybase_close() - Ferme une connexion Sybase

sybase_close
sybase_data_seek
Fonctions Sybase


Déplace le pointeur interne de lignes Sybase

sybase_connect
sybase_deadlock_retry_count
Fonctions Sybase
PHP Manual

sybase_data_seek

(PHP 4, PHP 5)

sybase_data_seek — Déplace le pointeur interne de lignes Sybase

Description

bool sybase_data_seek ( resource $result_identifier , int $row_number )

sybase_data_seek() déplace le pointeur interne de lignes du résultat Sybase associé à result_identifier jusqu'à la ligne row_number. Le prochain appel à sybase_fetch_row() sans préciser la ligne, retournera la ligne row_number.

Liste de paramètres

result_identifier

row_number

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sybase_fetch_row() - Retourne une ligne Sybase sous la forme d'un tableau numérique

sybase_connect
sybase_deadlock_retry_count
Fonctions Sybase


Configure le nombre de tentatives lors de blocages

sybase_data_seek
sybase_fetch_array
Fonctions Sybase
PHP Manual

sybase_deadlock_retry_count

(PHP 4 >= 4.3.0, PHP 5)

sybase_deadlock_retry_count — Configure le nombre de tentatives lors de blocages

Description

void sybase_deadlock_retry_count ( int $retry_count )

Permet de configurer à retry_count le nombre d'essais que Sybase va tenter lorsqu'il rencontre un blocage de verrou (deadlocks). Par défaut, tous les blocages sont testés un nombre infini de fois, ou bien jusqu'à ce que le script soit interrompu (par exemple, par la fonction set_time_limit()) ou que la requête réussisse.

Liste de paramètres

retry_count

Valeurs pour le paramètre retry_count
-1 | Essai jusqu'à réussir (par défaut)
0 | Ne pas réessayer
n | Réessaye n fois

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

sybase_data_seek
sybase_fetch_array
Fonctions Sybase


Retourne une ligne Sybase sous la forme d'un tableau

sybase_deadlock_retry_count
sybase_fetch_assoc
Fonctions Sybase
PHP Manual

sybase_fetch_array

(PHP 4, PHP 5)

sybase_fetch_array — Retourne une ligne Sybase sous la forme d'un tableau

Description

array sybase_fetch_array ( resource $result )

sybase_fetch_array() est une version évoluée de sybase_fetch_row(). En plus d'enregistrer les données dans un tableau à index numérique, cette fonction peut aussi les enregistrer dans un tableau associatif, en utilisant les noms des champs comme clés.

Il est très important de noter que sybase_fetch_array() N'est PAS nettement plus lente que sybase_fetch_row(), tandis qu'elle fournit un confort d'utilisation notable.

Liste de paramètres

result

Valeurs de retour

Retourne un tableau qui contient la ligne demandée, ou FALSE s'il ne reste plus de ligne.

Note: Lors de sélection de champs avec des noms identiques (par exemple, dans un join), les index associatifs auront un nombre séquentiel ajouté au début. Voir l'exemple pour plus de détails.

Exemples

Exemple #1 Cas des colonnes de noms identiques avec Sybase

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_query('SELECT * FROM p, a WHERE p.person_id= a.person_id');
var_dump(sybase_fetch_array($q));
sybase_close($dbh);
?>

L'exemple ci-dessus va produire l'affichage suivant (en supposant que les tables ont toutes les deux des colonnes appelées person_id) :

array(4) {
  [0]=>
  int(1)
  ["person_id"]=>
  int(1)
  [1]=>
  int(1)
  ["person_id1"]=>
  int(1)
}

Voir aussi

  • sybase_fetch_row() - Retourne une ligne Sybase sous la forme d'un tableau numérique
  • sybase_fetch_assoc() - Lit une ligne de résultat Sybase sous forme de tableau associatif
  • sybase_fetch_object() - Retourne une ligne Sybase sous la forme d'un objet

sybase_deadlock_retry_count
sybase_fetch_assoc
Fonctions Sybase


Lit une ligne de résultat Sybase sous forme de tableau associatif

sybase_fetch_array
sybase_fetch_field
Fonctions Sybase
PHP Manual

sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assoc — Lit une ligne de résultat Sybase sous forme de tableau associatif

Description

array sybase_fetch_assoc ( resource $result )

sybase_fetch_assoc() est une alternative de sybase_fetch_row() qui utilise les noms de colonnes plutôt que des entiers comme index dans le tableau de résultats. Les colonnes de différentes tables ayant le même nom sont retournées sous la forme name, name1, name2, ..., nameN.

Il est important de noter qu'utiliser sybase_fetch_assoc() n'est pas significativement plus lent que sybase_fetch_row(), tout en procurant un niveau de confort accru.

Liste de paramètres

result

Valeurs de retour

Retourne un tableau contenant la ligne lue, ou bien FALSE s'il n'y a plus de lignes.

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

Voir aussi

  • sybase_fetch_row() - Retourne une ligne Sybase sous la forme d'un tableau numérique
  • sybase_fetch_array() - Retourne une ligne Sybase sous la forme d'un tableau
  • sybase_fetch_object() - Retourne une ligne Sybase sous la forme d'un objet

sybase_fetch_array
sybase_fetch_field
Fonctions Sybase


Lit les informations d'un champ Sybase

sybase_fetch_assoc
sybase_fetch_object
Fonctions Sybase
PHP Manual

sybase_fetch_field

(PHP 4, PHP 5)

sybase_fetch_field — Lit les informations d'un champ Sybase

Description

object sybase_fetch_field ( resource $result [, int $field_offset = -1 ] )

Obtient des informations à propos des champs dans le résultat result.

Liste de paramètres

result

field_offset

Si l'offset du champ n'est pas précisé, le champ suivant est traité.

Valeurs de retour

Retourne un objet contenant les informations du champ.

Les propriétés des objets sont :

  • "name" : nom de la colonne. Si la colonne est un résultat de fonction, le nom de cette fonction devient computed#N, où #N est un numéro de série.
  • "column_source" : la table d'origine de la colonne
  • "max_length" : taille maximale de la colonne
  • "numeric" : 1 si la colonne est de type numérique
  • "type" : type de données de la colonne

Voir aussi

  • sybase_field_seek() - Modifie l'index d'un champ Sybase

sybase_fetch_assoc
sybase_fetch_object
Fonctions Sybase


Retourne une ligne Sybase sous la forme d'un objet

sybase_fetch_field
sybase_fetch_row
Fonctions Sybase
PHP Manual

sybase_fetch_object

(PHP 4, PHP 5)

sybase_fetch_object — Retourne une ligne Sybase sous la forme d'un objet

Description

object sybase_fetch_object ( resource $result [, mixed $object ] )

sybase_fetch_object() est similaire à sybase_fetch_array(), avec une différence : c'est un objet qui est retourné à la place d'un tableau.

Au niveau de la vitesse, cette fonction est identique à sybase_fetch_array(), et presque aussi rapide que sybase_fetch_row() (la différence est insignifiante).

Liste de paramètres

result

object

Utilisez le second paramètre object pour spécifier le type d'objet que vous voulez retourner. Si ce paramètre est omis, l'objet résultant sera de classe stdClass.

Valeurs de retour

retourne un objet qui contient la ligne demandée, en cas de succès, et FALSE s'il n'y a plus de ligne.

Historique

Version Description
4.3.0

cette fonction ne retourne plus les membres numériques. Ancien comportement :

object(stdclass)(3) {
  [0]=>
  string(3) "foo"
  ["foo"]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
}
Nouveau comportement :
object(stdclass)(3) {
  ["foo"]=>
  string(3) "foo"
  ["bar"]=>
  string(3) "bar"
}

Exemples

Exemple #1 Exemple avec sybase_fetch_object()

<?php
    class Foo {
        var $foo, $bar, $baz;
    }

    // {...]
    $qrh= sybase_query('SELECT foo, bar, baz FROM example');
    $foo= sybase_fetch_object($qrh, 'Foo');
    $bar= sybase_fetch_object($qrh, new Foo());
    // {...]
?>

Voir aussi

  • sybase_fetch_array() - Retourne une ligne Sybase sous la forme d'un tableau
  • sybase_fetch_row() - Retourne une ligne Sybase sous la forme d'un tableau numérique

sybase_fetch_field
sybase_fetch_row
Fonctions Sybase


Retourne une ligne Sybase sous la forme d'un tableau numérique

sybase_fetch_object
sybase_field_seek
Fonctions Sybase
PHP Manual

sybase_fetch_row

(PHP 4, PHP 5)

sybase_fetch_row — Retourne une ligne Sybase sous la forme d'un tableau numérique

Description

array sybase_fetch_row ( resource $result )

sybase_fetch_row() lit une ligne dans le résultat associé à l'identifiant de résultat result.

Les prochains appels à sybase_fetch_row() retourneront la ligne suivante du résultat, ou FALSE, s'il ne reste plus de ligne.

Liste de paramètres

result

Valeurs de retour

Retourne un tableau qui contient la ligne demandée, en cas de succès, et FALSE s'il n'y a plus de ligne. Chaque colonne du résultat est stocké dans un élément du tableau, en commençant à la position 0.

Types de données
PHP | Sybase
string | VARCHAR, TEXT, CHAR, IMAGE, BINARY, VARBINARY, DATETIME
int | NUMERIC (sans précision), DECIMAL (sans précision), INT, BIT, TINYINT, SMALLINT
float | NUMERIC (avec précision), DECIMAL (avec précision), REAL, FLOAT, MONEY
NULL | NULL

Voir aussi

  • sybase_fetch_array() - Retourne une ligne Sybase sous la forme d'un tableau
  • sybase_fetch_assoc() - Lit une ligne de résultat Sybase sous forme de tableau associatif
  • sybase_fetch_object() - Retourne une ligne Sybase sous la forme d'un objet
  • sybase_data_seek() - Déplace le pointeur interne de lignes Sybase
  • sybase_result() - Lit une valeur dans un résultat

sybase_fetch_object
sybase_field_seek
Fonctions Sybase


Modifie l'index d'un champ Sybase

sybase_fetch_row
sybase_free_result
Fonctions Sybase
PHP Manual

sybase_field_seek

(PHP 4, PHP 5)

sybase_field_seek — Modifie l'index d'un champ Sybase

Description

bool sybase_field_seek ( resource $result , int $field_offset )

sybase_field_seek() modifie l'index d'un champ. Le prochain appel à la fonction sybase_fetch_field() sans préciser l'index du champ retournera ce champ.

Liste de paramètres

result

field_offset

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sybase_fetch_field() - Lit les informations d'un champ Sybase

sybase_fetch_row
sybase_free_result
Fonctions Sybase


Libère un résultat Sybase de la mémoire

sybase_field_seek
sybase_get_last_message
Fonctions Sybase
PHP Manual

sybase_free_result

(PHP 4, PHP 5)

sybase_free_result — Libère un résultat Sybase de la mémoire

Description

bool sybase_free_result ( resource $result )

sybase_free_result() n'est vraiment utile que si vous risquez d'utiliser trop de mémoire durant votre script. La mémoire occupée par les résultats est automatiquement libérée à la fin du script. Vous devez utiliser sybase_free_result() avec un identifiant de résultat et la mémoire utilisée par celui-ci sera libérée.

Liste de paramètres

result

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

sybase_field_seek
sybase_get_last_message
Fonctions Sybase


Retourne le dernier message du serveur

sybase_free_result
sybase_min_client_severity
Fonctions Sybase
PHP Manual

sybase_get_last_message

(PHP 4, PHP 5)

sybase_get_last_message — Retourne le dernier message du serveur

Description

string sybase_get_last_message ( void )

sybase_get_last_message() retourne le dernier message rapporté par le serveur.

Valeurs de retour

Retourne le message, sous la forme d'une chaîne de caractères.

Voir aussi

  • sybase_min_message_severity() - Fixe la sévérité minimale du client pour les messages

sybase_free_result
sybase_min_client_severity
Fonctions Sybase


Fixe la sévérité minimale du client Sybase

sybase_get_last_message
sybase_min_error_severity
Fonctions Sybase
PHP Manual

sybase_min_client_severity

(PHP 4, PHP 5)

sybase_min_client_severity — Fixe la sévérité minimale du client Sybase

Description

void sybase_min_client_severity ( int $severity )

sybase_min_client_severity() fixe la sévérité minimale du client.

Liste de paramètres

severity

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

Voir aussi

  • sybase_min_server_severity() - Fixe la sévérité minimale du client pour le serveur Sybase

sybase_get_last_message
sybase_min_error_severity
Fonctions Sybase


Fixe la sévérité minimale du client pour les erreurs

sybase_min_client_severity
sybase_min_message_severity
Fonctions Sybase
PHP Manual

sybase_min_error_severity

(PHP 4, PHP 5)

sybase_min_error_severity — Fixe la sévérité minimale du client pour les erreurs

Description

void sybase_min_error_severity ( int $severity )

sybase_min_error_severity() fixe la sévérité minimale du client pour les erreurs.

Liste de paramètres

severity

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

Voir aussi

  • sybase_min_message_severity() - Fixe la sévérité minimale du client pour les messages

sybase_min_client_severity
sybase_min_message_severity
Fonctions Sybase


Fixe la sévérité minimale du client pour les messages

sybase_min_error_severity
sybase_min_server_severity
Fonctions Sybase
PHP Manual

sybase_min_message_severity

(PHP 4, PHP 5)

sybase_min_message_severity — Fixe la sévérité minimale du client pour les messages

Description

void sybase_min_message_severity ( int $severity )

sybase_min_message_severity() fixe la sévérité minimale du client pour les messages.

Liste de paramètres

severity

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque DB Sybase, et non pas avec la bibliothèque CT.

Voir aussi

  • sybase_min_error_severity() - Fixe la sévérité minimale du client pour les erreurs

sybase_min_error_severity
sybase_min_server_severity
Fonctions Sybase


Fixe la sévérité minimale du client pour le serveur Sybase

sybase_min_message_severity
sybase_num_fields
Fonctions Sybase
PHP Manual

sybase_min_server_severity

(PHP 4, PHP 5)

sybase_min_server_severity — Fixe la sévérité minimale du client pour le serveur Sybase

Description

void sybase_min_server_severity ( int $severity )

sybase_min_server_severity() fixe la sévérité minimale du client pour le serveur.

Liste de paramètres

severity

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

Voir aussi

  • sybase_min_client_severity() - Fixe la sévérité minimale du client Sybase

sybase_min_message_severity
sybase_num_fields
Fonctions Sybase


Retourne le nombre de champs dans un résultat Sybase

sybase_min_server_severity
sybase_num_rows
Fonctions Sybase
PHP Manual

sybase_num_fields

(PHP 4, PHP 5)

sybase_num_fields — Retourne le nombre de champs dans un résultat Sybase

Description

int sybase_num_fields ( resource $result )

sybase_num_fields() retourne le nombre de champs du résultat result.

Liste de paramètres

result

Valeurs de retour

Retourne le nombre de champs, sous la forme d'un entier.

Voir aussi

  • sybase_query() - Envoie une requête à une base Sybase
  • sybase_fetch_field() - Lit les informations d'un champ Sybase
  • sybase_num_rows() - Retourne le nombre de lignes dans un résultat Sybase

sybase_min_server_severity
sybase_num_rows
Fonctions Sybase


Retourne le nombre de lignes dans un résultat Sybase

sybase_num_fields
sybase_pconnect
Fonctions Sybase
PHP Manual

sybase_num_rows

(PHP 4, PHP 5)

sybase_num_rows — Retourne le nombre de lignes dans un résultat Sybase

Description

int sybase_num_rows ( resource $result )

sybase_num_rows() retourne le nombre de lignes du résultat result.

Liste de paramètres

result

Valeurs de retour

Retourne le nombre de lignes, sous la forme d'un entier.

Voir aussi

  • sybase_num_fields() - Retourne le nombre de champs dans un résultat Sybase
  • sybase_query() - Envoie une requête à une base Sybase
  • sybase_fetch_row() - Retourne une ligne Sybase sous la forme d'un tableau numérique

sybase_num_fields
sybase_pconnect
Fonctions Sybase


Ouvre une connexion persistante à un serveur Sybase

sybase_num_rows
sybase_query
Fonctions Sybase
PHP Manual

sybase_pconnect

(PHP 4, PHP 5)

sybase_pconnect — Ouvre une connexion persistante à un serveur Sybase

Description

resource sybase_pconnect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname ]]]]] )

sybase_connect() se comporte comme sybase_connect() avec deux différences majeures.

Premièrement, lors de la connexion, la fonction va chercher une connexion, persistante, déjà ouverte, avec le même hôte, nom de compte et mot de passe. Si une telle connexion est trouvée, un identifiant de cette connexion est retourné, plutôt que d'en ouvrir une nouvelle.

Deuxièmement, la connexion au serveur Sybase ne sera pas terminée lors de la fin du script. Au contraire, le lien sera maintenu pour des connexions ultérieures. sybase_close() ne fermera pas un lien créé par sybase_pconnect().

Ce type de lien est dit 'persistant'.

Liste de paramètres

servername

Doit être un nom de serveur valide, défini dans le fichier 'interfaces'.

username

Le nom d'utilisateur Sybase

password

Le mot de passe, associé avec l'utilisateur username.

charset

Spécifie le jeu de caractères pour la connexion

appname

Spécifie un appname pour la connexion Sybase. Cela permet d'établir des connexions distinctes dans le même script, avec la même base de données. Cela peut être pratique quand vous avez démarré une connexion et que vous devez lancer une requête séparée, qui ne peut pas être exécutée dans la transaction courante.

Valeurs de retour

Retourne un identifiant de connexion persistant Sybase en cas de succès, ou FALSE si une erreur survient.

Historique

Version | Description
4.2.0 | Le paramètre appname a été ajouté.
4.0.2 | Le paramètre charset a été ajouté.

Voir aussi

  • sybase_connect() - Ouvre une connexion à un serveur Sybase

sybase_num_rows
sybase_query
Fonctions Sybase


Envoie une requête à une base Sybase

sybase_pconnect
sybase_result
Fonctions Sybase
PHP Manual

sybase_query

(PHP 4, PHP 5)

sybase_query — Envoie une requête à une base Sybase

Description

mixed sybase_query ( string $query [, resource $link_identifier ] )

sybase_query() envoie une requête à la base de données courante, sur le serveur associé à l'identifiant de connexion.

Liste de paramètres

query

link_identifier

Si l'identifiant de connexion n'est pas précisé, la fonction essaiera d'utiliser la dernière connexion ouverte. Si aucune connexion n'a été ouverte, la fonction va tenter d'ouvrir une connexion avec la fonction sybase_connect().

Valeurs de retour

Retourne un identifiant de résultat positif en cas de succès, FALSE si une erreur survient, ou TRUE si la requête a été effectuée avec succès, mais n'a retourné aucune colonne.

Voir aussi

  • sybase_select_db() - Sélectionne une base de données Sybase
  • sybase_connect() - Ouvre une connexion à un serveur Sybase

sybase_pconnect
sybase_result
Fonctions Sybase


Lit une valeur dans un résultat

sybase_query
sybase_select_db
Fonctions Sybase
PHP Manual

sybase_result

(PHP 4, PHP 5)

sybase_result — Lit une valeur dans un résultat

Description

string sybase_result ( resource $result , int $row , mixed $field )

Retourne le contenu d'une cellule de la ligne et à la position spécifiées depuis le jeu de résultat Sybase.

Lorsque vous travaillez sur des résultats de grande taille, vous devriez utiliser les autres fonctions qui lisent une ligne entière (voir plus loin). Étant donné que ces fonctions lisent une ligne entière, elles sont BEAUCOUP plus rapide que sybase_result(). De plus, l'utilisation d'index numérique est beaucoup plus rapide que les noms des champs, ou les noms des tables et des champs.

Fonctions de substitution, à haute efficacité :
sybase_fetch_row(),
sybase_fetch_array() et
sybase_fetch_object().

Liste de paramètres

result

row

field

Peut être la position du champ, le nom du champ ou la table suivie d'un point, puis du nom du champ (nom_table.nom_champ). Si le nom de la colonne est un alias ('select foo as bar from...'), utilisez l'alias au lieu du nom de la colonne.

Valeurs de retour

sybase_result() retourne le contenu d'une cellule, depuis le jeu de résultat Sybase.

sybase_query
sybase_select_db
Fonctions Sybase


Sélectionne une base de données Sybase

sybase_result
sybase_set_message_handler
Fonctions Sybase
PHP Manual

sybase_select_db

(PHP 4, PHP 5)

sybase_select_db — Sélectionne une base de données Sybase

Description

bool sybase_select_db ( string $database_name [, resource $link_identifier ] )

sybase_select_db() change la base de données courante et active sur le serveur associé avec l'identifiant de connexion link_identifier.

Tous les prochains appels à sybase_query() seront faits dans la base de données courante et active.

Liste de paramètres

database_name

link_identifier

Si link_identifier n'est pas précisé, le dernier lien ouvert est utilisé. Si aucun lien n'a été ouvert, la fonction va tenter d'en établir un en appelant sybase_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sybase_connect() - Ouvre une connexion à un serveur Sybase
  • sybase_pconnect() - Ouvre une connexion persistante à un serveur Sybase
  • sybase_query() - Envoie une requête à une base Sybase

sybase_result
sybase_set_message_handler
Fonctions Sybase


Configure le gestionnaire de messages Sybase

sybase_select_db
sybase_unbuffered_query
Fonctions Sybase
PHP Manual

sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler — Configure le gestionnaire de messages Sybase

Description

bool sybase_set_message_handler ( callback $handler [, resource $connection ] )

sybase_set_message_handler() configure la fonction handler pour qu'il soit le gestionnaire des messages générés par le serveur Sybase. Vous pouvez spécifier le nom d'une fonction globale, ou bien utiliser un tableau pour spécifier un objet et un nom de méthode.

Liste de paramètres

handler

Le gestionnaire attend 5 arguments, dans l'ordre suivant : numéro de message, sévérité, état, numéro de ligne et description. Les 4 premiers paramètres sont des entiers et le dernier est une chaîne de caractères. Si ce gestionnaire retourne la valeur FALSE, PHP retournera un message d'erreur classique.

connection

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.5 | Le paramètre connection a été ajouté.

Exemples

Exemple #1 Exemple avec sybase_set_message_handler()

<?php
function msg_handler($msgnumber, $severity, $state, $line, $text) {
  var_dump($msgnumber, $severity, $state, $line, $text);
}

sybase_set_message_handler('msg_handler');
?>

Exemple #2 Exemple avec sybase_set_message_handler()

<?php
class Sybase {
  function handler($msgnumber, $severity, $state, $line, $text) {
    var_dump($msgnumber, $severity, $state, $line, $text);
  }
}

$sybase= new Sybase();
sybase_set_message_handler(array($sybase, 'handler'));
?>

Exemple #3 Exemple avec sybase_set_message_handler()

<?php
// Retournez FALSE si vous voulez indiquer que vous ne savez pas
// traiter ce message. Cette erreur est alors affichée sous la forme
// d'une alerte, comme s'il n'y avait pas de gestionnaire installé.
function msg_handler($msgnumber, $severity, $state, $line, $text) {
  if (257 == $msgnumber) {
    return false;
  }
  var_dump($msgnumber, $severity, $state, $line, $text);
}

sybase_set_message_handler('msg_handler');
?>

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

sybase_select_db
sybase_unbuffered_query
Fonctions Sybase


Envoie une requête à Sybase et ne bloque pas

sybase_set_message_handler
tokyo_tyrant
Fonctions Sybase
PHP Manual

sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_query — Envoie une requête à Sybase et ne bloque pas

Description

resource sybase_unbuffered_query ( string $query , resource $link_identifier [, bool $store_result ] )

sybase_unbuffered_query() envoie la requête query au serveur Sybase actif, représenté par link_identifier. Si link_identifier n'est pas spécifié, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, la fonction essaiera d'établir un lien avec sybase_connect(), et de l'utiliser.

Contrairement à sybase_query(),
sybase_unbuffered_query() lit uniquement la première
ligne lue. sybase_fetch_array() et les fonctions
similaires lisent les lignes nécessaires. sybase_data_seek()
lit jusqu'à la prochaine ligne. Ce comportement fournit des performances
accrues pour les résultats de grande taille.

sybase_num_rows() ne retournera le nombre de lignes correct que si toutes les lignes du résultat ont été lues. Pour Sybase, le nombre de ligne n'est pas connu, et doit être calculé par le programme client.

Note: Si vous ne lisez pas toutes les lignes du résultat avant d'exécuter une nouvelle requête, PHP va générer une alerte, et annuler toutes les lignes qui restent à lire. Pour éviter cela, utilise la fonction sybase_free_result() qui va annuler les lignes restantes.

Liste de paramètres

query

link_identifier

store_result

Le paramètre optionnel store_result peut valoir FALSE pour indiquer que les lignes ne doivent pas être ramenées en mémoire, afin de réduire la consommation, surtout dans le cas de très grands résultats.

Valeurs de retour

Retourne un identifiant de résultat Sybase en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec sybase_unbuffered_query()

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false);
sybase_data_seek($q, 10000);
$i = 0;

while ($row = sybase_fetch_row($q)) {
    echo $row[0], ' ', $row[1], '<br />';
    if ($i++ > 40000) {
        break;
    }
}

sybase_free_result($q);
sybase_close($dbh);

?>

Notes

Note: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

Voir aussi

  • sybase_query() - Envoie une requête à une base Sybase

sybase_set_message_handler
tokyo_tyrant
Fonctions Sybase


tokyo_tyrant

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • TokyoTyrant — The TokyoTyrant class
    • TokyoTyrant::add — Adds to a numeric key
    • TokyoTyrant::connect — Connect to a database
    • TokyoTyrant::connectUri — Connects to a database
    • TokyoTyrant::__construct — Construct a new TokyoTyrant object
    • TokyoTyrant::copy — Copies the database
    • TokyoTyrant::ext — Execute a remote script
    • TokyoTyrant::fwmKeys — Returns the forward matching keys
    • TokyoTyrant::get — The get purpose
    • TokyoTyrant::getIterator — Get an iterator
    • TokyoTyrant::num — Number of records in the database
    • TokyoTyrant::out — Removes records
    • TokyoTyrant::put — Puts values
    • TokyoTyrant::putCat — Concatenates to a record
    • TokyoTyrant::putKeep — Puts a record
    • TokyoTyrant::putNr — Puts value
    • TokyoTyrant::putShl — Concatenates to a record
    • TokyoTyrant::restore — Restore the database
    • TokyoTyrant::setMaster — Set the replication master
    • TokyoTyrant::size — Returns the size of the value
    • TokyoTyrant::stat — Get statistics
    • TokyoTyrant::sync — Synchronize the database
    • TokyoTyrant::tune — Tunes connection values
    • TokyoTyrant::vanish — Empties the database
  • TokyoTyrantTable — The TokyoTyrantTable class
    • TokyoTyrantTable::add — Adds a record
    • TokyoTyrantTable::genUid — Generate unique id
    • TokyoTyrantTable::get — Get a row
    • TokyoTyrantTable::getIterator — Get an iterator
    • TokyoTyrantTable::getQuery — Get a query object
    • TokyoTyrantTable::out — Remove records
    • TokyoTyrantTable::put — Store a row
    • TokyoTyrantTable::putCat — Concatenates to a row
    • TokyoTyrantTable::putKeep — Put a new record
    • TokyoTyrantTable::putNr — Puts value
    • TokyoTyrantTable::putShl — Concatenates to a record
    • TokyoTyrantTable::setIndex — Sets index
  • TokyoTyrantQuery — The TokyoTyrantQuery class
    • TokyoTyrantQuery::addCond — Adds a condition to the query
    • TokyoTyrantQuery::__construct — Construct a new query
    • TokyoTyrantQuery::count — Counts records
    • TokyoTyrantQuery::current — Returns the current element
    • TokyoTyrantQuery::hint — Get the hint string of the query
    • TokyoTyrantQuery::key — Returns the current key
    • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
    • TokyoTyrantQuery::next — Moves the iterator to next entry
    • TokyoTyrantQuery::out — Removes records based on query
    • TokyoTyrantQuery::rewind — Rewinds the iterator
    • TokyoTyrantQuery::search — Searches records
    • TokyoTyrantQuery::setLimit — Limit results
    • TokyoTyrantQuery::valid — Checks the validity of current item
sybase_unbuffered_query
Introduction
Extensions spécifiques des fabricants de bases de données


Introduction

tokyo_tyrant extension provides a wrapper for Tokyo Tyrant client libraries. The extension contains the normal key-value API and the table API.

"Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications." --Tokyo Tyrant documentation

Tokyo Tyrant is written by Mikio Hirabayashi and is licensed under GNU Lesser General Public License.

tokyo_tyrant
Installation/Configuration
tokyo_tyrant


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
tokyo_tyrant


Pré-requis

Before using this extension Tokyo Cabinet and Tokyo Tyrant must be installed.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/tokyo_tyrant

Configure options

  • --with-tokyo-tyrant[=DIR] DIR is the prefix to the Tokyo Tyrant installation
  • --with-tokyo-cabinet-dir[=DIR] DIR is the prefix to the Tokyo Cabinet installation
  • --disable-tokyo-tyrant-session Disable Tokyo Tyrant session handler support

Enabling the extension

The extension can be enabled by adding extension=tokyo_tyrant.so to the INI-configuration

Running Tokyo Tyrant for the session handler

ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec'

Note: expire.lua is included in the tokyo_tyrant extension source distribution

Configuring session handler

  • tokyo_tyrant.session_salt="randomlongstring"
  • session.save_handler=tokyo_tyrant
  • session.save_path="tcp://hostname1:2000,tcp://hostname2:2000"

Note: It is important to make sure that tokyo_tyrant.session_salt matches on all servers.

How it works?

The session handler creates a session id like the following: 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460

The parts from left to right:

  • Session id - Generated session id
  • Checksum - Checksum of session salt, session id, node id and primary key
  • Node id - The id of the node where the session maps to
  • Primary key - The primary key of the row where the session is stored

The checksum contains SHA1 sum of the node id, primary key, session id and the salt which is known only on the server side. This allows quick mapping of session id to node and primary key since there is no need to do an additional search. During session id regeneration only the parts 1 and 2 change but the mapping to the node and primary key stays constant.

In case some of the nodes fail tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold and tokyo_tyrant.health_check_divisor INI-settings control the behavior during failover. If failover is allowed the session handler will map the session to a healthy node and creates a new empty session.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

tokyo_tyrant Options de configuration
Nom | Défaut | Modifiable | Historique
tokyo_tyrant.default_timeout | 2.0 | PHP_INI_ALL |
tokyo_tyrant.session_salt | NULL | PHP_INI_ALL |
tokyo_tyrant.key_prefix | NULL | PHP_INI_ALL |
tokyo_tyrant.allow_failover | 1 | PHP_INI_ALL |
tokyo_tyrant.fail_threshold | 5 | PHP_INI_ALL |
tokyo_tyrant.health_check_divisor | 1000 | PHP_INI_ALL |
tokyo_tyrant.php_expiration | 0 | PHP_INI_ALL |

Voici un éclaircissement sur l'utilisation des directives de configuration.

tokyo_tyrant.default_timeout integer

Default timeout when connecting to databases

tokyo_tyrant.session_salt string

The secret that is used to salt session id

tokyo_tyrant.key_prefix string

Prefix all keys with this string. The prefix is transparent to the developer but helps making sure that keys won't collide if multiple applications are using the same database.

tokyo_tyrant.allow_failover integer

Whether to allow session failover in case a server dies.

tokyo_tyrant.fail_threshold integer

How many read/write or connection failures is allowed before server is marked as failed.

tokyo_tyrant.health_check_divisor integer

Defines the divisor for the health check probability. If there are failed servers and the probability matches, the servers are health checked and in case the server seems healthy, it will be added back to the pool.

tokyo_tyrant.php_expiration integer

Whether to use built in session expiration mechanism or delegate the expiration to a lua-script on the server-side.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

TokyoTyrant constants

Types de ressources
Exemples
tokyo_tyrant


Exemples

Basic usage

Exemple #1 Putting and getting a key-value pair

<?php
$tt = new TokyoTyrant("localhost");
$tt->put("key", "value");
echo $tt->get("key");
?>

L'exemple ci-dessus va afficher :

value
Constantes pré-définies
TokyoTyrant
tokyo_tyrant


The TokyoTyrant class

Introduction

The main Tokyo Tyrant class

Synopsis de la classe

TokyoTyrant
TokyoTyrant {
/* Constantes */
const integer TokyoTyrant::RDBDEF_PORT = 1978 ;
const integer TokyoTyrant::RDBQC_STREQ = 0 ;
const integer TokyoTyrant::RDBQC_STRINC = 1 ;
const integer TokyoTyrant::RDBQC_STRBW = 2 ;
const integer TokyoTyrant::RDBQC_STREW = 3 ;
const integer TokyoTyrant::RDBQC_STRAND = 4 ;
const integer TokyoTyrant::RDBQC_STROR = 5 ;
const integer TokyoTyrant::RDBQC_STROREQ = 6 ;
const integer TokyoTyrant::RDBQC_STRRX = 7 ;
const integer TokyoTyrant::RDBQC_NUMEQ = 8 ;
const integer TokyoTyrant::RDBQC_NUMGT = 9 ;
const integer TokyoTyrant::RDBQC_NUMGE = 10 ;
const integer TokyoTyrant::RDBQC_NUMLT = 11 ;
const integer TokyoTyrant::RDBQC_NUMLE = 12 ;
const integer TokyoTyrant::RDBQC_NUMBT = 13 ;
const integer TokyoTyrant::RDBQC_NUMOREQ = 14 ;
const integer TokyoTyrant::RDBQC_NEGATE = 16777216 ;
const integer TokyoTyrant::RDBQC_NOIDX = 33554432 ;
const integer TokyoTyrant::RDBQO_STRASC = 0 ;
const integer TokyoTyrant::RDBQO_STRDESC = 1 ;
const integer TokyoTyrant::RDBQO_NUMASC = 2 ;
const integer TokyoTyrant::RDBQO_NUMDESC = 3 ;
const integer TokyoTyrant::RDBIT_LEXICAL = 0 ;
const integer TokyoTyrant::RDBIT_DECIMAL = 1 ;
const integer TokyoTyrant::RDBIT_TOKEN = 2 ;
const integer TokyoTyrant::RDBIT_QGRAM = 3 ;
const integer TokyoTyrant::RDBIT_OPT = 9998 ;
const integer TokyoTyrant::RDBIT_VOID = 9999 ;
const integer TokyoTyrant::RDBIT_KEEP = 16777216 ;
const integer TokyoTyrant::RDBQCFTS_PH = 15 ;
const integer TokyoTyrant::RDBQCFTS_AND = 16 ;
const integer TokyoTyrant::RDBQCFTS_OR = 17 ;
const integer TokyoTyrant::RDBQCFTS_EX = 18 ;
const integer TokyoTyrant::RDBXO_LCKREC = 1 ;
const integer TokyoTyrant::RDBXOLCK_GLB = 2 ;
const integer TokyoTyrant::RDBREC_INT = 1 ;
const integer TokyoTyrant::RDBREC_DBL = 2 ;
const integer TokyoTyrant::RDBMS_UNION = 0 ;
const integer TokyoTyrant::RDBMS_ISECT = 1 ;
const integer TokyoTyrant::RDBMS_DIFF = 2 ;
const integer TokyoTyrant::RDBT_RECON = 1 ;
/* Méthodes */
public number add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant connectUri ( string $uri )
__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant copy ( string $path )
public string ext ( string $name , int $options , string $key , string $value )
public array fwmKeys ( string $prefix , int $max_recs )
public mixed get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public int num ( void )
public TokyoTyrant out ( mixed $keys )
public TokyoTyrant put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant putCat ( mixed $keys [, string $value ] )
public TokyoTyrant putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant putNr ( mixed $keys [, string $value = NULL ] )
public mixed putShl ( string $key , string $value , int $width )
public mixed restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int size ( string $key )
public array stat ( void )
public mixed sync ( void )
public TokyoTyrant tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed vanish ( void )
}

Constantes pré-définies

TokyoTyrant Constants

TokyoTyrant::RDBDEF_PORT

The default port of the Tokyo Tyrant database

TokyoTyrant::RDBQC_STREQ

string is equal to

TokyoTyrant::RDBQC_STRINC

string is included in

TokyoTyrant::RDBQC_STRBW

string begins with

TokyoTyrant::RDBQC_STREW

string ends with

TokyoTyrant::RDBQC_STRAND

string includes all tokens in

TokyoTyrant::RDBQC_STROR

string includes at least one token in

TokyoTyrant::RDBQC_STROREQ

string is equal to at least one token in

TokyoTyrant::RDBQC_STRRX

string matches regular expressions of

TokyoTyrant::RDBQC_NUMEQ

number is equal to

TokyoTyrant::RDBQC_NUMGT

number is greater than

TokyoTyrant::RDBQC_NUMGE

number is greater than or equal to

TokyoTyrant::RDBQC_NUMLT

number is less than

TokyoTyrant::RDBQC_NUMLE

number is less than or equal to

TokyoTyrant::RDBQC_NUMBT

number is between two tokens of

TokyoTyrant::RDBQC_NUMOREQ

number is equal to at least one token in

TokyoTyrant::RDBQC_NEGATE

negation flag

TokyoTyrant::RDBQC_NOIDX

no index flag

TokyoTyrant::RDBQO_STRASC

string ascending

TokyoTyrant::RDBQO_STRDESC

string descending

TokyoTyrant::RDBQO_NUMASC

number ascending

TokyoTyrant::RDBQO_NUMDESC

number descending

TokyoTyrant::RDBIT_LEXICAL

lexical string

TokyoTyrant::RDBIT_DECIMAL

decimal string

TokyoTyrant::RDBIT_TOKEN

token inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_QGRAM

QGRAM inverted index (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBIT_OPT

optimize

TokyoTyrant::RDBIT_VOID

void

TokyoTyrant::RDBIT_KEEP

keep existing index

TokyoTyrant::RDBQCFTS_PH

full-text search with the phrase of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

full-text search with all tokens in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_OR

full-text search with at least one token in (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_EX

full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29)

TokyoTyrant::RDBQCFTS_AND

Metasearch union between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_OR

Metasearch intersection between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBQCFTS_EX

Metasearch difference between records (Tokyo Tyrant >= 1.1.33)

TokyoTyrant::RDBT_RECON

Whether to reconnect on connection failure. It is recommended to have this parameter on for persistent connections

TokyoTyrant::RDBXOLCK_REC

record locking

TokyoTyrant::RDBXOLCK_GLB

global locking

TokyoTyrant::RDBREC_INT

record type int

TokyoTyrant::RDBREC_DBL

record type float (double)

TokyoTyrant::TTE_SUCCESS

success

TokyoTyrant::TTE_INVALID

invalid operation

TokyoTyrant::TTE_NOHOST

host not found

TokyoTyrant::TTE_REFUSED

connection refused

TokyoTyrant::TTE_SEND

send error

TokyoTyrant::TTE_RECV

recv error

TokyoTyrant::TTE_KEEP

record exist

TokyoTyrant::TTE_NOREC

no record found

TokyoTyrant::TTE_MISC

miscellaneous error

Sommaire

  • TokyoTyrant::add — Adds to a numeric key
  • TokyoTyrant::connect — Connect to a database
  • TokyoTyrant::connectUri — Connects to a database
  • TokyoTyrant::__construct — Construct a new TokyoTyrant object
  • TokyoTyrant::copy — Copies the database
  • TokyoTyrant::ext — Execute a remote script
  • TokyoTyrant::fwmKeys — Returns the forward matching keys
  • TokyoTyrant::get — The get purpose
  • TokyoTyrant::getIterator — Get an iterator
  • TokyoTyrant::num — Number of records in the database
  • TokyoTyrant::out — Removes records
  • TokyoTyrant::put — Puts values
  • TokyoTyrant::putCat — Concatenates to a record
  • TokyoTyrant::putKeep — Puts a record
  • TokyoTyrant::putNr — Puts value
  • TokyoTyrant::putShl — Concatenates to a record
  • TokyoTyrant::restore — Restore the database
  • TokyoTyrant::setMaster — Set the replication master
  • TokyoTyrant::size — Returns the size of the value
  • TokyoTyrant::stat — Get statistics
  • TokyoTyrant::sync — Synchronize the database
  • TokyoTyrant::tune — Tunes connection values
  • TokyoTyrant::vanish — Empties the database
Exemples
TokyoTyrant::add
tokyo_tyrant


Adds to a numeric key

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant
PHP Manual

TokyoTyrant::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::add — Adds to a numeric key

Description

public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )

Adds to an int or double value. This increments the value by the given amount and returns the new value. If the key does not exist a new key is created with initial value of the increment parameter.

Liste de paramètres

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Valeurs de retour

Returns the new value on success

Exemples

Exemple #1 TokyoTyrant::add example

<?php
$tt = new TokyoTyrant("localhost", TokyoTyrant::RDBDEF_PORT);
/* Adds integer 3 to key and creates a new key */
$tt->add("test", 3);

/* String value is converted to double */
echo $tt->add("test", "3.5", TokyoTyrant::RDB_RECDBL);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

6.5

Voir aussi

  • TokyoTyrant::put - Puts values
  • TokyoTyrant::putcat - Concatenates to a record
  • TokyoTyrant::putkeep - Puts a record

TokyoTyrant
TokyoTyrant::connect
TokyoTyrant


Connect to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant
PHP Manual

TokyoTyrant::connect

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connect — Connect to a database

Description

public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )

Connects to a remote database

Liste de paramètres

host

The hostname

port

The port. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::connect example

<?php
$tt = new TokyoTyrant();
$tt->connect("localhost", TokyoTyrant::RDBDEF_PORT)->put("test", "value");
?>

Voir aussi

  • TokyoTyrant::connectUri - Connects to a database

TokyoTyrant::add
TokyoTyrant::connectUri
TokyoTyrant


Connects to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant
PHP Manual

TokyoTyrant::connectUri

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::connectUri — Connects to a database

Description

public TokyoTyrant TokyoTyrant::connectUri ( string $uri )

Connects to a database using an uri

Liste de paramètres

uri

An URI to the database. For example tcp://localhost:1979/

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::connectUri example

<?php
$tt = new TokyoTyrant();
$tt->connectUri("tcp://localhost:1978/")->put("test", "hi");
?>

Voir aussi

  • TokyoTyrant::connect - Connect to a database

TokyoTyrant::connect
TokyoTyrant::__construct
TokyoTyrant


Construct a new TokyoTyrant object

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant
PHP Manual

TokyoTyrant::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::__construct — Construct a new TokyoTyrant object

Description

TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )

Constructs a new TokyoTyrant object and optionally connects to the database

Liste de paramètres

host

The hostname. Default: NULL

port

port number. Default: 1978

options

Connection options: timeout (default: 5.0), reconnect (default: TRUE) and persistent (default: TRUE)

Valeurs de retour

Throws TokyoTyrantException if connection to database fails

Voir aussi

  • TokyoTyrant::connect - Connect to a database
  • TokyoTyrant::connectUri - Connects to a database

TokyoTyrant::connectUri
TokyoTyrant::copy
TokyoTyrant


Copies the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant
PHP Manual

TokyoTyrant::copy

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::copy — Copies the database

Description

public TokyoTyrant TokyoTyrant::copy ( string $path )

Makes a copy of the current database

Liste de paramètres

path

Path to where to copy the database. The user running the remote database must have a write access to the directory.

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::copy example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->copy("/tmp/foobar.tct");
?>

Voir aussi

  • TokyoTyrant::restore - Restore the database

TokyoTyrant::__construct
TokyoTyrant::ext
TokyoTyrant


Execute a remote script

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant
PHP Manual

TokyoTyrant::ext

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::ext — Execute a remote script

Description

public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )

Executes a remote script extension.

Liste de paramètres

name

Name of the function to execute

options

Either TokyoTyrant::RDBXO_LCKREC for record locking and TokyoTyrant::RDBXO_LCKGLB for global locking.

key

The key to pass to the function

value

The value to pass to the function

Valeurs de retour

Returns the result of the script function

Exemples

Exemple #1 TokyoTyrant::ext example

<?php
$tt = new TokyoTyrant("localhost", 1978);
echo $tt->ext("somefunc", TokyoTyrant::RDBXO_LCKREC, "some_key", "some_value");
?>

TokyoTyrant::copy
TokyoTyrant::fwmKeys
TokyoTyrant


Returns the forward matching keys

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant
PHP Manual

TokyoTyrant::fwmKeys

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::fwmKeys — Returns the forward matching keys

Description

public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )

Returns the forward matching keys from the database

Liste de paramètres

prefix

Prefix of the keys

max_recs

Maximum records to return

Valeurs de retour

Returns an array of matching keys. The values are not returned

Exemples

Exemple #1 TokyoTyrant::fwmKeys example

<?php

$tt = new TokyoTyrant("localhost");

/* Create 20 macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("key_" . $i, "value_" . $i);
}

/* Create 20 non-macthing keys */
for ($i = 0; $i < 20; $i++) {
    $tt->put("something_" . $i, "data_" . $i);
}

/* Get five matching keys */
var_dump($tt->fwmKeys("key_", 5));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(5) {
  [0]=>
  string(5) "key_5"
  [1]=>
  string(6) "key_14"
  [2]=>
  string(5) "key_6"
  [3]=>
  string(6) "key_15"
  [4]=>
  string(5) "key_7"
}

TokyoTyrant::ext
TokyoTyrant::get
TokyoTyrant


The get purpose

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant
PHP Manual

TokyoTyrant::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::get — The get purpose

Description

public mixed TokyoTyrant::get ( mixed $keys )

This method is used to return a value or multiple values. This method accepts a string or an array as a value.

Liste de paramètres

keys

A string key or an array of string keys

Valeurs de retour

Returns a string or an array based on the given parameters. Throws a TokyoTyrantException on error. If string is passed null is returned if the key is not found. In case an array is given as an parameter only existing keys will be returned. It is not an error to pass a key that does not exist.

Exemples

Exemple #1 TokyoTyrant::get example

<?php
$tt = new TokyoTyrant("localhost", 1978);
$tt->put("key1", "value1");
$tt->put("key2", "value2");
var_dump($tt->get(array("key1", "key2")));
var_dump($tt->get("key1"));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}
string(6) "value1"

Voir aussi

  • TokyoTyrant::put - Puts values

TokyoTyrant::fwmKeys
TokyoTyrant::getIterator
TokyoTyrant


Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant
PHP Manual

TokyoTyrant::getIterator

(No version information available, might only be in SVN)

TokyoTyrant::getIterator — Get an iterator

Description

public TokyoTyrantIterator TokyoTyrant::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::getIterator example

<?php
$tt = new TokyoTyrant("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {

}
?>

Voir aussi

  • TokyoTyrantTable::getQuery - Get a query object
  • TokyoTyrantTable::getIterator - Get an iterator

TokyoTyrant::get
TokyoTyrant::num
TokyoTyrant


Number of records in the database

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant
PHP Manual

TokyoTyrant::num

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::num — Number of records in the database

Description

public int TokyoTyrant::num ( void )

Returns the number of records in the database

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns number of records in the database

Exemples

Exemple #1 TokyoTyrant::num example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Echo the number of records */
echo $tt->num();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1234

Voir aussi

  • TokyoTyrant::stat - Get statistics

TokyoTyrant::getIterator
TokyoTyrant::out
TokyoTyrant


Removes records

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant
PHP Manual

TokyoTyrant::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::out — Removes records

Description

public TokyoTyrant TokyoTyrant::out ( mixed $keys )

Removes a record or multiple records. This method accepts a string for a single key or an array of keys for multiple records.

Liste de paramètres

keys

A string key or an array of string keys

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::out example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

$tt->put("test1", "value1");
$tt->put("test2", "value2");

$tt->out(array("test1", "test2"));
?>

Voir aussi

  • TokyoTyrant::put - Puts values

TokyoTyrant::num
TokyoTyrant::put
TokyoTyrant


Puts values

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant
PHP Manual

TokyoTyrant::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::put — Puts values

Description

public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key exists the value will be replaced with new value.

Liste de paramètres

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valeurs de retour

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::put example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->put("key", "value");

/* Put key-value pairs, new value overwrites the old */
$tt->put(array("key1" => "value1", "key" => "value2"));

/* Get back one key */
echo $tt->get("key");
?>

L'exemple ci-dessus va afficher :

value2

Voir aussi

  • TokyoTyrant::putKeep - Puts a record
  • TokyoTyrant::putCat - Concatenates to a record

TokyoTyrant::out
TokyoTyrant::putCat
TokyoTyrant


Concatenates to a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant
PHP Manual

TokyoTyrant::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putCat — Concatenates to a record

Description

public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )

Appends a value into existing key or multiple values if keys is an array. The second parameter is mandatory if keys is a string. If the record does not exist a new record is created.

Liste de paramètres

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valeurs de retour

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::putCat example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

/* Concatenate single key-value pair */
$tt->putCat("key", " has more data");

/* Echo the key */
echo $tt->get("key");
?>

L'exemple ci-dessus va afficher :

value has more data

Voir aussi

  • TokyoTyrant::put - Puts values
  • TokyoTyrant::putKeep - Puts a record

TokyoTyrant::put
TokyoTyrant::putKeep
TokyoTyrant


Puts a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant
PHP Manual

TokyoTyrant::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putKeep — Puts a record

Description

public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. If the key already exists this method throws an exception indicating that the records exists.

Liste de paramètres

keys

A string key or an array of key-value pairs

value

The string value

Valeurs de retour

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 tokyotyrant::putKeep example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "value");

try {
    $tt->putKeep("key", "new value");
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}
echo $tt->get("key");
?>

L'exemple ci-dessus va afficher :

Existing record! Not modified
value

Voir aussi

  • TokyoTyrant::put - Puts values
  • TokyoTyrant::putCat - Concatenates to a record

TokyoTyrant::putCat
TokyoTyrant::putNr
TokyoTyrant


Puts value

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant
PHP Manual

TokyoTyrant::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putNr — Puts value

Description

public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )

Puts a key-value pair into the database or multiple key-value pairs. If keys is string then the second parameter value defines the value. The second parameter is mandatory if keys is a string. This method does not wait for the response from the server.

Liste de paramètres

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valeurs de retour

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::putNr example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Put single key-value pair */
$tt->putNr("key", "value");

/* Put key-value pairs */
$tt->putNr(array("key1" => "value1", "key2" => "value2"));

/* Get back one key */
echo $tt->get("key1");
?>

L'exemple ci-dessus va afficher :

value1

Voir aussi

  • TokyoTyrant::putNr
  • TokyoTyrant::putKeep - Puts a record
  • TokyoTyrant::putCat - Concatenates to a record

TokyoTyrant::putKeep
TokyoTyrant::putShl
TokyoTyrant


Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant
PHP Manual

TokyoTyrant::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putShl — Concatenates to a record

Description

public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )

Concatenate to a record and shift to left.

Liste de paramètres

key

A string key

value

The value to concatenate

width

The width of the record

Valeurs de retour

This method returns a reference to the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::putShl example

<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");

/* Create a new key */
$tt->put("key", "just a long piece of data");

/* Concatenate and shift to left */
$tt->putShl("key", " and string", 15);

/* Echo the key */
echo $tt->get("key");
?>

L'exemple ci-dessus va afficher :

data and string

Voir aussi

  • TokyoTyrant::put - Puts values
  • TokyoTyrant::putKeep - Puts a record
  • TokyoTyrant::putCat - Concatenates to a record

TokyoTyrant::putNr
TokyoTyrant::restore
TokyoTyrant


Restore the database

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant
PHP Manual

TokyoTyrant::restore

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::restore — Restore the database

Description

public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )

Restore the database from the update log.

Avertissement

This method is not supported on 32bit platforms.

Liste de paramètres

log_dir

Directory where the log is

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency: Default: TRUE

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::putShl
TokyoTyrant::setMaster
TokyoTyrant


Set the replication master

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant
PHP Manual

TokyoTyrant::setMaster

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::setMaster — Set the replication master

Description

public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )

Sets the replication master of the database

Avertissement

This method is not supported on 32bit platforms.

Liste de paramètres

host

Hostname of the replication master. If NULL the replication is disabled.

port

Port of the replication master

timestamp

Beginning timestamp with microseconds

check_consistency

Whether to check consistency.

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::setMaster example

<?php
/* Connect to a database */
$tt = new TokyoTyrant("tokyotyrant.example.com");

/* Disable the replication */
$tt->setMaster(NULL, 0, 0);
?>

Voir aussi

  • Classname::Method

TokyoTyrant::restore
TokyoTyrant::size
TokyoTyrant


Returns the size of the value

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant
PHP Manual

TokyoTyrant::size

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::size — Returns the size of the value

Description

public int TokyoTyrant::size ( string $key )

Returns the size of a value by key

Liste de paramètres

key

The key of which size to fetch

Valeurs de retour

Returns the size of the key or throw TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrant::size example

<?php
$tt = new TokyoTyrant("localhost");

$tt->put("test_key", "12345");

echo $tt->size("test_key");
?>

L'exemple ci-dessus va afficher :

5

TokyoTyrant::setMaster
TokyoTyrant::stat
TokyoTyrant


Get statistics

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant
PHP Manual

TokyoTyrant::stat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::stat — Get statistics

Description

public array TokyoTyrant::stat ( void )

Returns statistics of the remote database

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array of key value pairs describing the statistics

Exemples

Exemple #1 TokyoTyrant::stat example

<?php
$tt = new TokyoTyrant("localhost");

var_dump($tt->stat());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(19) {
  ["version"]=>
  string(6) "1.1.28"
  ["libver"]=>
  string(3) "311"
  ["protver"]=>
  string(4) "0.91"
  ["os"]=>
  string(5) "Linux"
  ["time"]=>
  string(17) "1247358357.665630"
  ["pid"]=>
  string(5) "14348"
  ["sid"]=>
  string(8) "59025947"
  ["type"]=>
  string(9) "on-memory"
  ["path"]=>
  string(1) "*"
  ["rnum"]=>
  string(1) "4"
  ["size"]=>
  string(6) "262856"
  ["bigend"]=>
  string(1) "0"
  ["fd"]=>
  string(1) "5"
  ["loadavg"]=>
  string(8) "0.000000"
  ["memsize"]=>
  string(8) "77328384"
  ["memrss"]=>
  string(7) "1183744"
  ["ru_real"]=>
  string(13) "162776.042152"
  ["ru_user"]=>
  string(8) "0.476029"
  ["ru_sys"]=>
  string(8) "8.652540"
}

Voir aussi

  • Classname::Method

TokyoTyrant::size
TokyoTyrant::sync
TokyoTyrant


Synchronize the database

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant
PHP Manual

TokyoTyrant::sync

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::sync — Synchronize the database

Description

public mixed TokyoTyrant::sync ( void )

Synchronizes the database on to the physical device

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrant::stat
TokyoTyrant::tune
TokyoTyrant


Tunes connection values

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant
PHP Manual

TokyoTyrant::tune

(PECL tokyo_tyrant >= 0.2.0)

TokyoTyrant::tune — Tunes connection values

Description

public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )

Tunes database connection options.

Liste de paramètres

timeout

The objects timeout value (default: 5.0)

options

Bitmask of options to tune. This can be either 0 or TokyoTyrant::RDBT_RECON. It is recommended not to change the second parameter.

Valeurs de retour

This method returns a reference to the current object and throws TokyoTyrantException on failure.

TokyoTyrant::sync
TokyoTyrant::vanish
TokyoTyrant


Empties the database

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant
PHP Manual

TokyoTyrant::vanish

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::vanish — Empties the database

Description

public mixed TokyoTyrant::vanish ( void )

Empties a remote database

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrant::vanish example

<?php
$tt = new TokyoTyrant("localhost");
$tt->vanish();
?>

Voir aussi

  • TokyoTyrant::out - Removes records

TokyoTyrant::tune
TokyoTyrantTable
TokyoTyrant


The TokyoTyrantTable class

Introduction

Provides an API to the table databases. A table database can be create using the following command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table API is a schemaless database which can store arbitrary amount of key-value pairs under a single primary key.

Synopsis de la classe

TokyoTyrantTable
TokyoTyrantTable extends TokyoTyrant {
/* Méthodes */
public void add ( string $key , mixed $increment [, string $type ] )
public int genUid ( void )
public void get ( mixed $keys )
public TokyoTyrantIterator getIterator ( void )
public TokyoTyrantQuery getQuery ( void )
public void out ( mixed $keys )
public int put ( string $key , array $columns )
public void putCat ( string $key , array $columns )
public void putKeep ( string $key , array $columns )
public void putNr ( mixed $keys [, string $value ] )
public void putShl ( string $key , string $value , int $width )
public mixed setIndex ( string $column , int $type )
/* Méthodes héritées */
public number TokyoTyrant::add ( string $key , number $increment [, int $type = 0 ] )
public TokyoTyrant TokyoTyrant::connect ( string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]] )
public TokyoTyrant TokyoTyrant::connectUri ( string $uri )
TokyoTyrant::__construct ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
public TokyoTyrant TokyoTyrant::copy ( string $path )
public string TokyoTyrant::ext ( string $name , int $options , string $key , string $value )
public array TokyoTyrant::fwmKeys ( string $prefix , int $max_recs )
public mixed TokyoTyrant::get ( mixed $keys )
public TokyoTyrantIterator TokyoTyrant::getIterator ( void )
public int TokyoTyrant::num ( void )
public TokyoTyrant TokyoTyrant::out ( mixed $keys )
public TokyoTyrant TokyoTyrant::put ( mixed $keys [, string $value = NULL ] )
public TokyoTyrant TokyoTyrant::putCat ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putKeep ( mixed $keys [, string $value ] )
public TokyoTyrant TokyoTyrant::putNr ( mixed $keys [, string $value = NULL ] )
public mixed TokyoTyrant::putShl ( string $key , string $value , int $width )
public mixed TokyoTyrant::restore ( string $log_dir , int $timestamp [, bool $check_consistency = true ] )
public mixed TokyoTyrant::setMaster ( string $host , int $port , int $timestamp [, bool $check_consistency = true ] )
public int TokyoTyrant::size ( string $key )
public array TokyoTyrant::stat ( void )
public mixed TokyoTyrant::sync ( void )
public TokyoTyrant TokyoTyrant::tune ( float $timeout [, int $options = TokyoTyrant::RDBT_RECON ] )
public mixed TokyoTyrant::vanish ( void )
}

Sommaire

  • TokyoTyrantTable::add — Adds a record
  • TokyoTyrantTable::genUid — Generate unique id
  • TokyoTyrantTable::get — Get a row
  • TokyoTyrantTable::getIterator — Get an iterator
  • TokyoTyrantTable::getQuery — Get a query object
  • TokyoTyrantTable::out — Remove records
  • TokyoTyrantTable::put — Store a row
  • TokyoTyrantTable::putCat — Concatenates to a row
  • TokyoTyrantTable::putKeep — Put a new record
  • TokyoTyrantTable::putNr — Puts value
  • TokyoTyrantTable::putShl — Concatenates to a record
  • TokyoTyrantTable::setIndex — Sets index
TokyoTyrant::vanish
TokyoTyrantTable::add
tokyo_tyrant


Adds a record

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::add

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::add — Adds a record

Description

public void TokyoTyrantTable::add ( string $key , mixed $increment [, string $type ] )

This method is not supported with table databases.

Liste de paramètres

key

The string key

increment

The amount to increment

type

TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the type is guessed from the increment parameters type.

Valeurs de retour

This method throws an TokyoTyrantException if used through this class.

Voir aussi

  • TokyoTyrant::add - Adds to a numeric key

TokyoTyrantTable
TokyoTyrantTable::genUid
TokyoTyrantTable


Generate unique id

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::genUid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::genUid — Generate unique id

Description

public int TokyoTyrantTable::genUid ( void )

Generates an unique id inside the table database. In table databases rows are referenced using a numeric primary key.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an unique id or throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantTable::genUid example

<?php
$tt = new TokyoTyrantTable("localhost", 1122);

echo $tt->genUid();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

4

Voir aussi

  • TokyoTyrantTable::put - Store a row

TokyoTyrantTable::add
TokyoTyrantTable::get
TokyoTyrantTable


Get a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::get

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::get — Get a row

Description

public void TokyoTyrantTable::get ( mixed $keys )

Gets a row from table database. keys is a single integer for the primary key of the row or an array of integers for multiple rows.

Liste de paramètres

keys

The primary key, can be a string or an integer

Valeurs de retour

Returns the row as an array

Exemples

Exemple #1 TokyoTyrantTable::get example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Notes

Note: Starting from version 0.3.0 this method accepts array as parameter. Please note that multi-get on tables is not binary-safe.

Voir aussi

  • TokyoTyrantTable::put - Store a row

TokyoTyrantTable::genUid
TokyoTyrantTable::getIterator
TokyoTyrantTable


Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getIterator

(No version information available, might only be in SVN)

TokyoTyrantTable::getIterator — Get an iterator

Description

public TokyoTyrantIterator TokyoTyrantTable::getIterator ( void )

Gets an iterator for iterating all keys / values in the database.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrantTable::getIterator example

<?php
$tt = new TokyoTyrantTable("localhost");
$it = $tt->getIterator();

foreach ($it as $k => $v) {
  var_dump($k, $v);
}
?>

Voir aussi

  • TokyoTyrantTable::getQuery - Get a query object
  • TokyoTyrant::getIterator - Get an iterator

TokyoTyrantTable::get
TokyoTyrantTable::getQuery
TokyoTyrantTable


Get a query object

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::getQuery

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::getQuery — Get a query object

Description

public TokyoTyrantQuery TokyoTyrantTable::getQuery ( void )

Get a query object to execute searches on the database

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns TokyoTyrantQuery on success and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantTable::getQuery example

<?php
/* Connect to a table database */
$table = new TokyoTyrantTable("localhost", 1979);

/* Put a few rows */
$table->put(null, array("column1" => "some data", "column2" => "more data"));
$table->put(null, array("something" => "value", "data" => "good data"));

/* Get query object */
$query = $table->getQuery();

/* Add condition to query */
$query->addCond('data', TokyoTyrant::RDBQC_STREQ, 'good data');

/* Get matching rows */
var_dump($query->search());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [11]=>
  array(2) {
    ["something"]=>
    string(5) "value"
    ["data"]=>
    string(9) "good data"
  }
}

Voir aussi

  • TokyoTyrantQuery::search - Searches records
  • TokyoTyrantQuery::out - Removes records based on query

TokyoTyrantTable::getIterator
TokyoTyrantTable::out
TokyoTyrantTable


Remove records

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::out — Remove records

Description

public void TokyoTyrantTable::out ( mixed $keys )

Removes records from a table database.

Liste de paramètres

keys

A single integer key or an array of integers

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrantTable::out example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Delete the row */
$tt->out($index);
?>

Voir aussi

  • TokyoTyrantTable::put - Store a row

TokyoTyrantTable::getQuery
TokyoTyrantTable::put
TokyoTyrantTable


Store a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::put

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::put — Store a row

Description

public int TokyoTyrantTable::put ( string $key , array $columns )

Puts a new row into the database. This method parameters are key which is the primary key of the row, passing NULL will generate a new unique id. value is an array containing the row contents which is usually key value pairs.

Liste de paramètres

key

The primary key of the row

columns

The row contents

Valeurs de retour

Returns the primary key on success and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantTable::put example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->put($index, array("column1" => "other data", "column2" => "better data"));

/* Get the row back */
var_dump($tt->get($index));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(2) {
  ["column1"]=>
  string(10) "other data"
  ["column2"]=>
  string(11) "better data"
}

Voir aussi

  • TokyoTyrantTable::get - Get a row

TokyoTyrantTable::out
TokyoTyrantTable::putCat
TokyoTyrantTable


Concatenates to a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putCat

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putCat — Concatenates to a row

Description

public void TokyoTyrantTable::putCat ( string $key , array $columns )

This method can be used to add new columns to existing records. Existing keys will be left unmodified but any new columns will be appended to the row. Passing null as key will generate a new row.

Liste de paramètres

key

The primary key of the row or NULL

columns

Array of row contents

Valeurs de retour

Returns the primary key and throws TokyoTyrantException on error.

Exemples

Exemple #1 TokyoTyrantTable::putCat example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

/* Modify an existing row */
$tt->putcat($index, array("column1" => "something new", "new_column" => "other data"));

/* Get the row back */
var_dump($tt->get($index));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
array(3) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
  ["new_column"]=>
  string(10) "other data"
}

Voir aussi

  • TokyoTyrantTable::put - Store a row

TokyoTyrantTable::put
TokyoTyrantTable::putKeep
TokyoTyrantTable


Put a new record

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putKeep — Put a new record

Description

public void TokyoTyrantTable::putKeep ( string $key , array $columns )

Puts a new record into the database. If the key already exists this method throws an exception indicating that the records exists.

Liste de paramètres

key

The primary key of the row or NULL

columns

Array of the row contents

Valeurs de retour

Returns the primary key and throws TokyoTyrantException on error.

Exemples

Exemple #1 TokyoTyrantTable::putKeep example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));

/* Get the row back */
var_dump($tt->get($index));

try {
    $tt->putKeep($index, array("column1" => "something new", "new_column" => "other data"));
} catch (TokyoTyrantException $e) {
    if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
        echo "Existing record! Not modified\n";
    } else {
        echo "Error: " , $e->getMessage() , "\n";
    }
}

/* Get the row back */
var_dump($tt->get($index));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}
Existing record! Not modified
array(2) {
  ["column1"]=>
  string(9) "some data"
  ["column2"]=>
  string(9) "more data"
}

Voir aussi

  • TokyoTyrantTable::put - Store a row

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable


Puts value

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putNr

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putNr — Puts value

Description

public void TokyoTyrantTable::putNr ( mixed $keys [, string $value ] )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Liste de paramètres

keys

A string key or an array of key-value pairs

value

The value in case a string key is used

Valeurs de retour

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Voir aussi

  • TokyoTyrant::putNr - Puts value
  • TokyoTyrant::putKeep - Puts a record
  • TokyoTyrant::putCat - Concatenates to a record

TokyoTyrantTable::putKeep
TokyoTyrantTable::putShl
TokyoTyrantTable


Concatenates to a record

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::putShl

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putShl — Concatenates to a record

Description

public void TokyoTyrantTable::putShl ( string $key , string $value , int $width )

This method is not supported on table databases. Calling this method through TokyoTyrantTable is considered an error and an TokyoTyrantException will be thrown.

Liste de paramètres

key

A string key

value

The value to concatenate

width

The width of the record

Valeurs de retour

This method is not supported on table databases.

Voir aussi

  • TokyoTyrant::put - Puts values
  • TokyoTyrant::putKeep - Puts a record
  • TokyoTyrant::putCat - Concatenates to a record
  • TokyoTyrantTable::put - Store a row
  • TokyoTyrantTable::putKeep - Put a new record
  • TokyoTyrantTable::putCat - Concatenates to a row

TokyoTyrantTable::putNr
TokyoTyrantTable::setIndex
TokyoTyrantTable


Sets index

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable
PHP Manual

TokyoTyrantTable::setIndex

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::setIndex — Sets index

Description

public mixed TokyoTyrantTable::setIndex ( string $column , int $type )

Sets an index on a specified column. The index type is one of the TokyoTyrant::RDBIT_* constants. Passing TokyoTyrant::RDBIT_VOID removes the index.

Liste de paramètres

column

The name of the column

type

The index type

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantTable::putShl
TokyoTyrantQuery
TokyoTyrantTable


The TokyoTyrantQuery class

Introduction

This class is used to query the table databases

Synopsis de la classe

TokyoTyrantQuery
TokyoTyrantQuery implements Iterator , Traversable {
/* Méthodes */
public mixed addCond ( string $name , int $op , string $expr )
__construct ( TokyoTyrantTable $table )
public int count ( void )
public array current ( void )
public string hint ( void )
public string key ( void )
public array metaSearch ( array $queries , int $type )
public array next ( void )
public TokyoTyrantQuery out ( void )
public bool rewind ( void )
public array search ( void )
public mixed setLimit ([ int $max [, int $skip ]] )
public bool valid ( void )
}

Sommaire

  • TokyoTyrantQuery::addCond — Adds a condition to the query
  • TokyoTyrantQuery::__construct — Construct a new query
  • TokyoTyrantQuery::count — Counts records
  • TokyoTyrantQuery::current — Returns the current element
  • TokyoTyrantQuery::hint — Get the hint string of the query
  • TokyoTyrantQuery::key — Returns the current key
  • TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries
  • TokyoTyrantQuery::next — Moves the iterator to next entry
  • TokyoTyrantQuery::out — Removes records based on query
  • TokyoTyrantQuery::rewind — Rewinds the iterator
  • TokyoTyrantQuery::search — Searches records
  • TokyoTyrantQuery::setLimit — Limit results
  • TokyoTyrantQuery::valid — Checks the validity of current item
TokyoTyrantTable::setIndex
TokyoTyrantQuery::addCond
tokyo_tyrant


Adds a condition to the query

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::addCond

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::addCond — Adds a condition to the query

Description

public mixed TokyoTyrantQuery::addCond ( string $name , int $op , string $expr )

Adds a condition to the query. Condition can be something like: get all keys which value matches expr.

Liste de paramètres

name

Name of the column in the condition

op

The operator. One of the TokyoTyrant::RDBQC_* constants

expr

The expression

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrantQuery::addCond example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

L'exemple ci-dessus va afficher :

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Voir aussi

  • Classname::Method

TokyoTyrantQuery
TokyoTyrantQuery::__construct
TokyoTyrantQuery


Construct a new query

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::__construct

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::__construct — Construct a new query

Description

TokyoTyrantQuery::__construct ( TokyoTyrantTable $table )

Construct a new query object

Liste de paramètres

table

TokyoTyrantTable object with active database connection

Valeurs de retour

Returns a new TokyoTyrantQuery object and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantQuery::__construct example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);

$query = new TokyoTyrantQuery($tt);

/* Work with $query */
?>

Voir aussi

  • TokyoTyrantTable::getQuery - Get a query object

TokyoTyrantQuery::addCond
TokyoTyrantQuery::count
TokyoTyrantQuery


Counts records

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::count

(No version information available, might only be in SVN)

TokyoTyrantQuery::count — Counts records

Description

public int TokyoTyrantQuery::count ( void )

Returns a count of how many records a query returns.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a count of matching rows and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantQuery::count example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Count the results */
var_dump($query->count());
?>

L'exemple ci-dessus va afficher :

int(2)

Voir aussi

  • TokyoTyrantQuery::out - Removes records based on query
  • TokyoTyrantQuery::search - Searches records
  • TokyoTyrantQuery::metaSearch - Retrieve records with multiple queries

TokyoTyrantQuery::__construct
TokyoTyrantQuery::current
TokyoTyrantQuery


Returns the current element

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::current

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::current — Returns the current element

Description

public array TokyoTyrantQuery::current ( void )

Returns the current element. Part of Iterator interface

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the current row

Exemples

Exemple #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

pk: 1, columns: 2
pk: 4, columns: 2

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::count
TokyoTyrantQuery::hint
TokyoTyrantQuery


Get the hint string of the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::hint

(No version information available, might only be in SVN)

TokyoTyrantQuery::hint — Get the hint string of the query

Description

public string TokyoTyrantQuery::hint ( void )

Get the hint string of the query. The hint string contains information about an executed query and it could be compared to for example MySQL EXPLAIN statement.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

This method always returns a string

Exemples

Exemple #1 TokyoTyrantQuery::hint example

<?php
$tt = new TokyoTyrantTable("localhost", 1979);
$tt->vanish();

for ($i = 0; $i < 11; $i++) {
     $tt->put(null, array('a_col' => 'a' . $i, 'b_col' => 'b' . $i));
}

$query = $tt->getQuery();
$query->addCond('a_col', TokyoTyrant::RDBQC_STRBW, 'a');

$query->search();
var_dump($query->hint());

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(72) "
scanning the whole table
result set size: 11
leaving the natural order
"

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::current
TokyoTyrantQuery::key
TokyoTyrantQuery


Returns the current key

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::key

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::key — Returns the current key

Description

public string TokyoTyrantQuery::key ( void )

Returns the current key. Part of the Iterator interface

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the current key and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

pk: 1, columns: 2
pk: 4, columns: 2

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::hint
TokyoTyrantQuery::metaSearch
TokyoTyrantQuery


Retrieve records with multiple queries

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::metaSearch

(No version information available, might only be in SVN)

TokyoTyrantQuery::metaSearch — Retrieve records with multiple queries

Description

public array TokyoTyrantQuery::metaSearch ( array $queries , int $type )

Executes multiple queries on a database and returns matching records. The current object is always the left most object in the search.

Liste de paramètres

queries

Array of TokyoTyrantQuery objects

type

One of the TokyoTyrant::RDBMS_* constants

Valeurs de retour

Returns the matching rows and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantQuery::metaSearch example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add test data */
$tt->put('cherry',     array('color' => 'red'));
$tt->put('strawberry', array('color' => 'red'));
$tt->put('apple',      array('color' => 'green'));
$tt->put('lemon',      array('color' => 'yellow'));

/* First query */
$query = $tt->getQuery();
$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC);

/* Second query */
$query1 = $tt->getQuery();
$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow');

/* Get union between the queries */
var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION));
?>

L'exemple ci-dessus va afficher :

array(3) {
  ["cherry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["strawberry"]=>
  array(1) {
    ["color"]=>
    string(3) "red"
  }
  ["lemon"]=>
  array(1) {
    ["color"]=>
    string(6) "yellow"
  }
}

Voir aussi

  • TokyoTyrantQuery::search - Searches records

TokyoTyrantQuery::key
TokyoTyrantQuery::next
TokyoTyrantQuery


Moves the iterator to next entry

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::next

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::next — Moves the iterator to next entry

Description

public array TokyoTyrantQuery::next ( void )

Returns the next result in the resultset. Part of the Iterator interface.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the next row and throws TokyoTyrantException on error.

Exemples

Exemple #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

pk: 1, columns: 2
pk: 4, columns: 2

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::metaSearch
TokyoTyrantQuery::out
TokyoTyrantQuery


Removes records based on query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::out

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::out — Removes records based on query

Description

public TokyoTyrantQuery TokyoTyrantQuery::out ( void )

Removes all records that match the query. Works exactly like search but removes the records instead of returning them.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

Exemples

Exemple #1 TokyoTyrantQuery::out example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Remove matching records */
$query->out();
?>

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::next
TokyoTyrantQuery::rewind
TokyoTyrantQuery


Rewinds the iterator

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::rewind

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::rewind — Rewinds the iterator

Description

public bool TokyoTyrantQuery::rewind ( void )

Rewind the resultset and executes the query if it has not been executed. Part of the Iterator interface.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns TRUE

Exemples

Exemple #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

pk: 1, columns: 2
pk: 4, columns: 2

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::out
TokyoTyrantQuery::search
TokyoTyrantQuery


Searches records

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::search

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::search — Searches records

Description

public array TokyoTyrantQuery::search ( void )

Executes a search on the table database. Returns an array of arrays containing the matching records. In the returned array the first level is the primary key of the data and the second level is the row data.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the matching rows and throws TokyoTyrantException on error

Exemples

Exemple #1 TokyoTyrantQuery::search example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "not here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Dump the search results */
var_dump($query->search());
?>

L'exemple ci-dessus va afficher :

array(2) {
  [1]=>
  array(2) {
    ["column1"]=>
    string(9) "some data"
    ["column2"]=>
    string(14) "something here"
  }
  [4]=>
  array(2) {
    ["column45"]=>
    string(11) "random data"
    ["column2"]=>
    string(25) "something along the lines"
  }
}

Voir aussi

  • TokyoTyrantQuery::out - Removes records based on query
  • TokyoTyrantQuery::metaSearch - Retrieve records with multiple queries

TokyoTyrantQuery::rewind
TokyoTyrantQuery::setLimit
TokyoTyrantQuery


Limit results

TokyoTyrantQuery::search
TokyoTyrantQuery::valid
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::setLimit

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::setLimit — Limit results

Description

public mixed TokyoTyrantQuery::setLimit ([ int $max [, int $skip ]] )

Set the maximum amount of records to return on a query.

Liste de paramètres

max

Maximum amount of records. Default: -1

skip

How many records to skip from the start. Default: -1

Valeurs de retour

This method returns the current object and throws TokyoTyrantException on failure.

TokyoTyrantQuery::search
TokyoTyrantQuery::valid
TokyoTyrantQuery


Checks the validity of current item

TokyoTyrantQuery::setLimit
Extensions relatives aux systèmes de fichiers
TokyoTyrantQuery
PHP Manual

TokyoTyrantQuery::valid

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantQuery::valid — Checks the validity of current item

Description

public bool TokyoTyrantQuery::valid ( void )

Checks if the current item is valid. Part of the Iterator interface

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns TRUE if the current item is valid and FALSE if not.

Exemples

Exemple #1 TokyoTyrantQuery iterator example

<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);

/* Add rows */
$tt->put(null, array("column1" => "some data", "column2" => "something here"));
$tt->put(null, array("column1" => "more data", "column2" => "best data this far"));
$tt->put(null, array("column1" => "again data", "column3" => "foobar here"));
$tt->put(null, array("column45" => "random data", "column2" => "something along the lines"));
$tt->put(null, array("column21" => "test data", "column2" => "generating.."));
$tt->put(null, array("column1" => "foobar data", "column2" => "value here"));

/* Get a new query object */
$query = $tt->getQuery();

/* Add a search condition */
$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something");

/* Iterate the results */
foreach ($query as $key => $value) {
    echo "pk: $key, columns: ", count($value) ,"\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

pk: 1, columns: 2
pk: 4, columns: 2

Voir aussi

  • TokyoTyrantQuery::addCond - Adds a condition to the query

TokyoTyrantQuery::setLimit
Extensions relatives aux systèmes de fichiers
TokyoTyrantQuery


Extensions relatives aux systèmes de fichiers

  • Direct IO
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Direct IO
  • Les dossiers
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur les dossiers
  • Fileinfo — Informations sur les fichiers
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Fileinfo
  • Système de fichiers
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur les systèmes de fichiers
  • Inotify
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Inotify
  • Mimetype
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
  • xattr
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions xattr
  • xdiff
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions xdiff
TokyoTyrantQuery::valid
Direct IO
Référence des fonctions


Direct IO

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Direct IO
    • dio_close — Ferme l'accès au fichier
    • dio_fcntl — Exécute une fonction fichier de langage C
    • dio_open — Ouvre un nouveau fichier avec les permissions spécifiés
    • dio_read — Lit les octets dans un fichier
    • dio_seek — Déplace le pointeur interne de fichier
    • dio_stat — Lit des informations sur le fichier
    • dio_tcsetattr — Modifie les attributs du terminal et le taux de baud du port série
    • dio_truncate — Tronque un fichier
    • dio_write — Écrit des données dans le fichier avec la possibilité de tronquer sa longueur
Extensions relatives aux systèmes de fichiers
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

PHP support les fonctions Direct IO, telle que décrit dans le standard Posix (Section 6) pour effectuer des fonctions I/O de bas niveau par rapport aux fonctions C-Language stream I/O (fopen(), fread(),..). L'utilisation des fonctions DIO doit être considérée uniquement lorsqu'un contrôle direct d'un périphérique est nécessaire. Dans tous les autres cas, les fonctions standards de système de fichiers sont plus adéquates.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Cette extension n'est disponible que sous les systèmes Windows depuis PHP 5.0.0.

Direct IO
Installation/Configuration
Direct IO


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Direct IO


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/dio.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Un type de ressource est définit par cette extension : un pointeur de fichier, retourné par la fonction dio_open().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

F_DUPFD (entier)

F_GETFD (entier)

F_GETFL (entier)

F_GETLK (entier)

F_GETOWN (entier)

F_RDLCK (entier)

F_SETFL (entier)

F_SETLK (entier)

F_SETLKW (entier)

F_SETOWN (entier)

F_UNLCK (entier)

F_WRLCK (entier)

O_APPEND (entier)

O_ASYNC (entier)

O_CREAT (entier)

O_EXCL (entier)

O_NDELAY (entier)

O_NOCTTY (entier)

O_NONBLOCK (entier)

O_RDONLY (entier)

O_RDWR (entier)

O_SYNC (entier)

O_TRUNC (entier)

O_WRONLY (entier)

S_IRGRP (entier)

S_IROTH (entier)

S_IRUSR (entier)

S_IRWXG (entier)

S_IRWXO (entier)

S_IRWXU (entier)

S_IWGRP (entier)

S_IWOTH (entier)

S_IWUSR (entier)

S_IXGRP (entier)

S_IXOTH (entier)

S_IXUSR (entier)

Types de ressources
Fonctions Direct IO
Direct IO


Fonctions Direct IO

Sommaire

  • dio_close — Ferme l'accès au fichier
  • dio_fcntl — Exécute une fonction fichier de langage C
  • dio_open — Ouvre un nouveau fichier avec les permissions spécifiés
  • dio_read — Lit les octets dans un fichier
  • dio_seek — Déplace le pointeur interne de fichier
  • dio_stat — Lit des informations sur le fichier
  • dio_tcsetattr — Modifie les attributs du terminal et le taux de baud du port série
  • dio_truncate — Tronque un fichier
  • dio_write — Écrit des données dans le fichier avec la possibilité de tronquer sa longueur
Constantes pré-définies
dio_close
Direct IO


Ferme l'accès au fichier

Fonctions Direct IO
dio_fcntl
Fonctions Direct IO
PHP Manual

dio_close

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_close — Ferme l'accès au fichier

Description

void dio_close ( resource $fd )

dio_close() ferme l'accès au fichier représenté par la ressource fd.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Fermeture d'une ressource de fichier

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Voir aussi

  • dio_open() - Ouvre un nouveau fichier avec les permissions spécifiés

Fonctions Direct IO
dio_fcntl
Fonctions Direct IO


Exécute une fonction fichier de langage C

dio_close
dio_open
Fonctions Direct IO
PHP Manual

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_fcntl — Exécute une fonction fichier de langage C

Description

mixed dio_fcntl ( resource $fd , int $cmd [, mixed $args ] )

dio_fcntl() exécute l'opération cmd sur le fichier représenté par la ressource fd. Certaines commandes demandent des arguments supplémentaires qui sont fournis dans l'argument args.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

cmd

Peut être une de ces opérations suivantes :

  • F_SETLK : le verrou est posé ou levé. Si le verrou appartient à un autre utilisateur, dio_fcntl() retourne -1.

  • F_SETLKW : identique à F_SETLK, mais si le verrou appartient à quelqu'un d'autre, dio_fcntl() attend la levée du verrou.

  • F_GETLK : dio_fcntl() retourne un tableau associatif (comme décrit ci-dessus) si un autre utilisateur empêche la poste d'un verrou. S'il n'y a aucun empêchement, l'entrée "type" prendra la valeur F_UNLCK.

  • F_DUPFD : trouve les numéros de ressource de fichier les plus petits, disponibles, inférieurs ou égales à args et les retourne.

  • F_SETFL : configure les descripteurs de fichier à la valeur spécifiée par args, qui peut être O_APPEND, O_NONBLOCK ou O_ASYNC. Pour utiliser O_ASYNC vous aurez besoin de l'extension PCNTL.

args

args est un tableau associatif lorsque cmd vaut F_SETLK ou F_SETLLW, avec les entrées suivantes :

  • "start" : offset de début de verrou

  • "length" : taille de la surface verrouillée. Zéro indique la fin du fichier

  • "wenth" : l_start est relatif à : peut être SEEK_SET, SEEK_END et SEEK_CUR

  • "type" : type de verrou. peut être F_RDLCK (verrou en lecture), F_WRLCK (verrou en écriture) ou F_UNLCK (déverrouillage)

Valeurs de retour

Retourne le résultat d'un appel en C.

Exemples

Exemple #1 Positionnement et suppression d'un verrou

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // le descripteur de fichier semble verrouillé
   echo "Le verrou n'a pu être effacé. Il a été posé par quelqu'un d'autre.";
} else {
   echo "Le verrou a été défini/verrouillé avec succès";
}

dio_close($fd);
?>

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

dio_close
dio_open
Fonctions Direct IO


Ouvre un nouveau fichier avec les permissions spécifiés

dio_fcntl
dio_read
Fonctions Direct IO
PHP Manual

dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open — Ouvre un nouveau fichier avec les permissions spécifiés

Description

resource dio_open ( string $filename , int $flags [, int $mode = 0 ] )

Ouvre un accès à un fichier et retourne une ressource de fichier.

Liste de paramètres

filename

Le chemin vers le fichier à ouvrir.

flags

Le paramètre flags est une valeur comprenant des drapeaux depuis la liste suivante. Cette valeur doit inclure une constante parmi O_RDONLY, O_WRONLY, ou O_RDWR. À cette constante, vous pouvez y ajouter n'importe quel drapeaux depuis cette liste.

  • O_RDONLY : ouvre le fichier en lecture seule.

  • O_WRONLY : ouvre le fichier en écriture.

  • O_RDWR : ouvre le fichier en lecture et écriture.

  • O_CREAT : crée le fichier, s'il n'existe pas.

  • O_EXCL : si O_CREAT et O_EXCL sont utilisés et que le fichier existe, dio_open() échouera.

  • O_TRUNC : si le fichier existe et qu'il est ouvert en écriture, le fichier sera réduit à la taille nulle.

  • O_APPEND : les écritures se font à partir de la fin du fichier.

  • O_NONBLOCK : active le mode non-bloquant.

  • O_NOCTTY : évite que le système d'exploitation n'assigne au fichier ouvert un processus contrôlant le terminal lorsque ce fichier est un fichier TTY.

mode

Si flags contient O_CREAT, mode définira les permissions du fichier (permissions de création). Mode est requis pour une opération correcte lorsque O_CREAT est spécifié dans le mode et est ignoré sinon.

Les permissions assignées au fichier créé seront affectées par la configuration du processus umask.

Valeurs de retour

Une ressource de fichier ou FALSE en cas d'erreur.

Exemples

Exemple #1 Ouverture d'un fichier

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Voir aussi

  • dio_close() - Ferme l'accès au fichier

dio_fcntl
dio_read
Fonctions Direct IO


Lit les octets dans un fichier

dio_open
dio_seek
Fonctions Direct IO
PHP Manual

dio_read

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_read — Lit les octets dans un fichier

Description

string dio_read ( resource $fd [, int $len = 1024 ] )

dio_read() lit et retourne len octets dans le fichier représenté par la ressource fd.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

len

Le nombre d'octets à lire. Si le paramètre n'est pas spécifié, dio_read() lit un bloc de 1 ko.

Valeurs de retour

Les octets lus de fd.

Voir aussi

  • dio_write() - Écrit des données dans le fichier avec la possibilité de tronquer sa longueur

dio_open
dio_seek
Fonctions Direct IO


Déplace le pointeur interne de fichier

dio_read
dio_stat
Fonctions Direct IO
PHP Manual

dio_seek

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_seek — Déplace le pointeur interne de fichier

Description

int dio_seek ( resource $fd , int $pos [, int $whence = SEEK_SET ] )

dio_seek() sert à modifier la position du pointeur de fichier dans le fichier.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

pos

La nouvelle position.

whence

Spécifie comment la position pos devrait être interprétée :

  • SEEK_SET (défaut) : spécifie que pos est spécifié à partir du début du fichier.

  • SEEK_CUR : spécifie que pos est un nombre de caractères à partir de la position courante dans le fichier. Ce nombre peut être positif ou négatif.

  • SEEK_END : spécifie que pos est un nombre de caractères à partir de la fin du fichier. Une valeur négative spécifie une position à l'intérieur du domaine courant du fichier; une valeur positive spécifie une position passée de la fin courante. Si vous spécifiez une position après la fin et que vous y écriviez des données, vous allez agrandir le fichier avec des zéros jusqu'à cette position.

Valeurs de retour

Exemples

Exemple #1 Positionnement dans un fichier

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// la position est maintenant à 10 caractères depuis le début du fichier

dio_seek($fd, -2, SEEK_CUR);
// la position est maintenant à 8 caractères depuis le début du fichier

dio_seek($fd, -5, SEEK_END);
// la position est maintenant à 5 caractères depuis la fin du fichier

dio_seek($fd, 10, SEEK_END);
// la position est maintenant à 10 caractères après la fin du fichier.
// Les 10 caractères entre la fin du fichier et la position courante sont
// complétés par des zéros.

dio_close($fd);
?>

dio_read
dio_stat
Fonctions Direct IO


Lit des informations sur le fichier

dio_seek
dio_tcsetattr
Fonctions Direct IO
PHP Manual

dio_stat

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_stat — Lit des informations sur le fichier

Description

array dio_stat ( resource $fd )

dio_stat() retourne les informations sur le fichier.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

Valeurs de retour

Retourne un tableau associatif avec les clés suivantes :

  • "device" : device

  • "inode" : inode

  • "mode" : mode

  • "nlink" : nombre de liens

  • "uid" : user id

  • "gid" : group id

  • "device_type" : type de device (si inode device)

  • "size" : taille totale en octets

  • "blocksize" : taille du bloc

  • "blocks" : nombre de blocs alloués

  • "atime" : date du dernier accès

  • "mtime" : date de dernière modification

  • "ctime" : date de dernier changement

En cas d'erreur, dio_stat() retourne NULL.

dio_seek
dio_tcsetattr
Fonctions Direct IO


Modifie les attributs du terminal et le taux de baud du port série

dio_stat
dio_truncate
Fonctions Direct IO
PHP Manual

dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)

dio_tcsetattr — Modifie les attributs du terminal et le taux de baud du port série

Description

bool dio_tcsetattr ( resource $fd , array $options )

dio_tcsetattr() modifie les attributs du terminal et le taux de baud du port série de ressource.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

options

Les options actuellement disponibles sont :

  • 'baud' : taux de baud du port : peut être 38400,19200,9600,4800, 2400,1800,1200,600,300,200,150,134,110,75 ou 50. Par défaut, c'est 9600.

  • 'bits' : bits de données : peut être 8,7,6 ou 5. Par défaut, c'est 8.

  • 'stop' : bits de stop : peut être 1 ou 2. Par défaut, c'est 1.

  • 'parity' : peut être 0, 1 ou 2. Par défaut, c'est 0.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Définition du débit des bauds sur un port série

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd,F_SETFL, O_SYNC );

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  =>1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd,256);

  if ($data) {
      echo $data;
  }
}

?>

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

dio_stat
dio_truncate
Fonctions Direct IO


Tronque un fichier

dio_tcsetattr
dio_write
Fonctions Direct IO
PHP Manual

dio_truncate

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_truncate — Tronque un fichier

Description

bool dio_truncate ( resource $fd , int $offset )

dio_truncate() tronque un fichier d'au moins offset octets, en taille.

Si auparavant le fichier était plus grand que cette taille, les données en plus seront perdues. Si par contre le fichier était plus petit, il n'est pas spécifié si le fichier est gardé intact ou agrandi. Dans le dernier cas, la partie étendue devient des octets zéros.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

offset

La position en octets.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

dio_tcsetattr
dio_write
Fonctions Direct IO


Écrit des données dans le fichier avec la possibilité de tronquer sa longueur

dio_truncate
Les dossiers
Fonctions Direct IO
PHP Manual

dio_write

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_write — Écrit des données dans le fichier avec la possibilité de tronquer sa longueur

Description

int dio_write ( resource $fd , string $data [, int $len = 0 ] )

dio_write() écrit jusqu'à len octets issus de la variable data, dans le fichier représenté par la ressource fd.

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

data

Les données à écrire.

len

La grandeur des données à écrire en octets. S'il n'est pas spécifié, la fonction écrit toutes les données au fichier spécifié.

Valeurs de retour

Retourne le nombre d'octets écrits dans fd.

Voir aussi

  • dio_read() - Lit les octets dans un fichier

dio_truncate
Les dossiers
Fonctions Direct IO


Les dossiers

  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur les dossiers
    • chdir — Change de dossier
    • chroot — Change le dossier racine
    • dir — Retourne une instance de la classe Directory
    • closedir — Ferme le pointeur sur le dossier
    • getcwd — Retourne le dossier de travail courant
    • opendir — Ouvre un dossier, et récupère un pointeur dessus
    • readdir — Lit une entrée du dossier
    • rewinddir — Retourne à la première entrée du dossier
    • scandir — Liste les fichiers et dossiers dans un dossier
dio_write
Installation/Configuration
Extensions relatives aux systèmes de fichiers


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Les dossiers
Pré-requis
Les dossiers


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

DIRECTORY_SEPARATOR ( string )
PATH_SEPARATOR ( string )

Note: La constante PATH_SEPARATOR a été introduite en PHP 4.3.0-RC2.

Types de ressources
Fonctions sur les dossiers
Les dossiers


Fonctions sur les dossiers

Voir aussi

Pour des fonctions connexes telles que dirname(), is_dir(), mkdir() et rmdir(), voyez donc la section système de fichiers.

Sommaire

  • chdir — Change de dossier
  • chroot — Change le dossier racine
  • dir — Retourne une instance de la classe Directory
  • closedir — Ferme le pointeur sur le dossier
  • getcwd — Retourne le dossier de travail courant
  • opendir — Ouvre un dossier, et récupère un pointeur dessus
  • readdir — Lit une entrée du dossier
  • rewinddir — Retourne à la première entrée du dossier
  • scandir — Liste les fichiers et dossiers dans un dossier
Constantes pré-définies
chdir
Les dossiers


Change de dossier

Fonctions sur les dossiers
chroot
Fonctions sur les dossiers
PHP Manual

chdir

(PHP 4, PHP 5)

chdir — Change de dossier

Description

bool chdir ( string $directory )

chdir() change le dossier courant de PHP en directory.

Liste de paramètres

directory

Le nouveau répertoire courant

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec chdir()

<?php

// dossier courant
echo getcwd() . "\n";

chdir('public_html');

// dossier courant
echo getcwd() . "\n";

?>

L'exemple ci-dessus va afficher :

/home/vincent
/home/vincent/public_html

Notes

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Voir aussi

  • getcwd() - Retourne le dossier de travail courant

Fonctions sur les dossiers
chroot
Fonctions sur les dossiers


Change le dossier racine

chdir
dir
Fonctions sur les dossiers
PHP Manual

chroot

(PHP 4 >= 4.0.5, PHP 5)

chroot — Change le dossier racine

Description

bool chroot ( string $directory )

chroot() change la racine du script en cours, et la remplace par directory.

Cette fonction n'est disponible que si votre système la supporte et que vous utilisez le SAPI CLI, CGI ou Embed SAPI. De plus, cette fonction nécessite les privilèges d'administrateur.

Liste de paramètres

directory

Le nouveau répertoire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

chdir
dir
Fonctions sur les dossiers


Retourne une instance de la classe Directory

chroot
closedir
Fonctions sur les dossiers
PHP Manual

dir

(PHP 4, PHP 5)

dir — Retourne une instance de la classe Directory

Description

Directory
Directory {
string $path ;
resource $handle ;
string read ( void )
void rewind ( void )
void close ( void )
}

Un mécanisme pseudo-objet permet la lecture d'un dossier. L'argument directory est 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 sont disponibles : la lecture, la remise à zéro et la fermeture de dossier.

Exemples

Exemple #1 Exemple avec dir()

Notez la façon dont la valeur de retour de dir::read() est vérifiée dans l'exemple suivant. Nous testons si la valeur est identique (égale et de même type que -- voyez opérateurs de comparaison pour plus de détails) FALSE sinon, toute entrée dans le nom serait évalué à FALSE causera l'arrêt de la boucle (exemple, un répertoire nommé 0).

<?php
$d = dir("/etc/php5");
echo "Pointeur : " . $d->handle . "\n";
echo "Chemin : " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry . "\n";
}
$d->close();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Pointeur : Resource id #2
Chemin : /etc/php5
.
..
apache
cgi
cli

Notes

Note: L'ordre dans lequel les entrées du dossier sont retournées avec la méthode read dépend de votre système.

chroot
closedir
Fonctions sur les dossiers


Ferme le pointeur sur le dossier

dir
getcwd
Fonctions sur les dossiers
PHP Manual

closedir

(PHP 4, PHP 5)

closedir — Ferme le pointeur sur le dossier

Description

void closedir ([ resource $dir_handle ] )

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

Liste de paramètres

dir_handle

La ressource de dossier ouverte précédemment avec opendir().

Exemples

Exemple #1 Exemple avec closedir()

<?php
$dir = "/etc/php5/";

// Ouverture d'un dossier connu, lecture du dossier et assignation à
// une variable, ensuite fermeture du dossier
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $directory = readdir($dh);
        closedir($dh);
    }
}
?>

dir
getcwd
Fonctions sur les dossiers


Retourne le dossier de travail courant

closedir
opendir
Fonctions sur les dossiers
PHP Manual

getcwd

(PHP 4, PHP 5)

getcwd — Retourne le dossier de travail courant

Description

string getcwd ( void )

Retourne le dossier de travail courant.

Valeurs de retour

Retourne le dossier de travail courant en cas de réussite ou FALSE en cas d'échec.

Sur quelques versions d'Unix, getcwd() peut retourner FALSE si tous les dossiers parents n'ont pas le mode écriture ou le mode recherche de défini, même si le dossier courant les a. Voir la fonction chmod() pour plus d'informations sur les modes de permissions.

Exemples

Exemple #1 Exemple avec getcwd()

<?php

// dossier courant
echo getcwd() . "\n";

chdir('cvs');

// dossier courant
echo getcwd() . "\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/home/didou
/home/didou/cvs

Voir aussi

  • chdir() - Change de dossier
  • chmod() - Change le mode du fichier

closedir
opendir
Fonctions sur les dossiers


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

getcwd
readdir
Fonctions sur les dossiers
PHP Manual

opendir

(PHP 4, PHP 5)

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

Description

resource opendir ( string $path [, resource $context ] )

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

Liste de paramètres

path

Le chemin du répertoire à ouvrir

context

Pour la description du paramètre context, référez-vous à la section des flux du manuel.

Valeurs de retour

Retourne la ressource de dossier en cas de succès ou FALSE en cas d'échec.

Si le paramètre path n'est pas un dossier valide, ou si le dossier ne peut être accédé pour des raisons de permissions ou des erreurs liées au système de fichiers, opendir() retourne FALSE et génère une erreur PHP de niveau E_WARNING. Vous pouvez supprimer cette erreur en ajoutant '@' avant le nom de la fonction.

Historique

Version | Description
5.0.0 | path supporte l'enveloppe URL ftp://
4.3.0 | path peut aussi être n'importe quel URL qui supporte le listage de dossiers, par contre, seul l'enveloppe URL file:// supporte ceci en PHP 4.

Exemples

Exemple #1 Exemple avec opendir()

<?php
$dir = "/tmp/php5";

// Ouvre un dossier bien connu, et liste tous les fichiers
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "fichier : $file : type : " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

fichier : . : type : dir
fichier : .. : type : dir
fichier : apache : type : dir
fichier : cgi : type : dir
fichier : cli : type : dir

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • readdir() - Lit une entrée du dossier
  • Dir

getcwd
readdir
Fonctions sur les dossiers


Lit une entrée du dossier

opendir
rewinddir
Fonctions sur les dossiers
PHP Manual

readdir

(PHP 4, PHP 5)

readdir — Lit une entrée du dossier

Description

string readdir ([ resource $dir_handle ] )

readdir() retourne le nom du fichier suivant dans le dossier identifié par dir_handle. Les noms sont retournés dans l'ordre dans lequel ils sont enregistrés dans le système de fichiers.

Liste de paramètres

dir_handle

La ressource de dossier ouverte précédemment avec opendir(). Si la ressource de dossier n'est pas spécifiée, la dernière ressource ouverte avec la fonction opendir() sera utilisée.

Valeurs de retour

Retourne le nom du fichier en cas de réussite ou FALSE si une erreur survient.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Liste de tous les fichiers dans le répertoire

Notez la façon dont la valeur de retour de dir() est vérifiée dans l'exemple suivant. Nous testons si la valeur est identique (égale et de même type que -- voyez opérateurs de comparaison pour plus de détails) FALSE sinon, toute entrée dans le nom serait évalué à FALSE causera l'arrêt de la boucle (exemple, un répertoire nommé 0).

<?php

if ($handle = opendir('/chemin/vers/fichiers')) {
    echo "Directory handle: $handle\n";
    echo "Files:\n";

    /* Ceci est la façon correcte de traverser un dossier. */
    while (false !== ($file = readdir($handle))) {
        echo "$file\n";
    }

    /* Ceci est la MAUVAISE façon de traverser un dossier. */
    while ($file = readdir($handle)) {
        echo "$file\n";
    }

    closedir($handle);
}
?>

Exemple #2 Liste de tous les fichiers dans le répertoire courant et enlève les . et ..

<?php
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • glob() - Recherche des chemins qui vérifient un masque
  • opendir() - Ouvre un dossier, et récupère un pointeur dessus
  • scandir() - Liste les fichiers et dossiers dans un dossier

opendir
rewinddir
Fonctions sur les dossiers


Retourne à la première entrée du dossier

readdir
scandir
Fonctions sur les dossiers
PHP Manual

rewinddir

(PHP 4, PHP 5)

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

Description

void rewinddir ([ resource $dir_handle ] )

rewinddir() retourne à la première entrée du dossier identifiée par dir_handle.

Liste de paramètres

dir_handle

La ressource de dossier ouverte précédemment avec opendir(). Si la ressource de dossier n'est pas fournie, la dernière ressource ouverte avec la fonction opendir() sera utilisée.

readdir
scandir
Fonctions sur les dossiers


Liste les fichiers et dossiers dans un dossier

rewinddir
Fileinfo
Fonctions sur les dossiers
PHP Manual

scandir

(PHP 5)

scandir — Liste les fichiers et dossiers dans un dossier

Description

array scandir ( string $directory [, int $sorting_order = 0 [, resource $context ]] )

Retourne un tableau de fichier et dossier, issus de directory.

Liste de paramètres

directory

Le dossier qui sera analysé.

sorting_order

Par défaut, le tri est en ordre alphabétique. Si le paramètre optionnel sorting_order est utilisé (mis à 1), alors le tri sera en ordre alphabétique inverse.

context

Pour une description du paramètre context, référez-vous à la section flux de données du manuel.

Valeurs de retour

Retourne un tableau des fichiers en cas de succès ou FALSE en cas d'échec. Si directory n'est pas un dossier, alors une valeur booléenne FALSE est retournée et une erreur de niveau E_WARNING est générée.

Exemples

Exemple #1 Un simple exemple avec scandir()

<?php
$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Exemple #2 Remplacement à scandir() pour PHP 4

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Notes

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Voir aussi

  • opendir() - Ouvre un dossier, et récupère un pointeur dessus
  • readdir() - Lit une entrée du dossier
  • glob() - Recherche des chemins qui vérifient un masque
  • is_dir() - Indique si le fichier est un dossier
  • sort() - Trie un tableau

rewinddir
Fileinfo
Fonctions sur les dossiers


Informations sur les fichiers

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Fileinfo
    • finfo_buffer — Retourne des informations à propos une chaîne de caractères tampon
    • finfo_close — Ferme une ressource fileinfo
    • finfo_file — Retourne des informations à propos d'un fichier
    • finfo_open — Crée une nouvelle ressource fileinfo
    • finfo_set_flags — Fixe des options de configuration libmagic
    • mime_content_type — Détecte le type de contenu d'un fichier (obsolète)
scandir
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

Les fonctions dans ce module essaient de savoir le type de contenu et l'encodage d'un fichier en regardant certaines séquences d'octet magique à des positions spécifiques à l'intérieur du fichier. Bien qu'il ne s'agit pas d'une approche infaillible, la méthode heuristique effectue un très bon travail.

Fileinfo
Installation/Configuration
Fileinfo


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Fileinfo


Pré-requis

Avant PHP 5.3.0, la bibliothèque magic_open est requise pour bâtir cette extension.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est activée par défaut depuis PHP 5.3.0. Avant cette version, fileinfo était une extension PECL mais n'est plus maintenu en tant que tel.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Il y a une ressource utilisée avec l'extension Fileinfo : un descripteur magique de base de données retourné par finfo_open().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FILEINFO_NONE (entier)
Aucun traitement spécial.
FILEINFO_SYMLINK (entier)
Suit les symlinks.
FILEINFO_MIME_TYPE (entier)
Retourne le type mime. Disponible depuis PHP 5.3.0.
FILEINFO_MIME_ENCODING (entier)
Retourne l'encodage mime du fichier. Disponible depuis PHP 5.3.0.
FILEINFO_MIME (entier)
Retourne le type mime et l'encodage mime, tel que décrit par la RFC 2045.
FILEINFO_COMPRESS (entier)
Décompresse les fichiers compressés. Désactivé depuis PHP 5.3.0 en raison des conséquences sur la sécurité des threads.
FILEINFO_DEVICES (entier)
Regarde les contenus des blocs ou les dispositifs spéciaux de caractères.
FILEINFO_CONTINUE (entier)
Retourne toutes les données trouvées, pas seulement la première.
FILEINFO_PRESERVE_ATIME (entier)
Si possible, conserve le temps d'accès au fichier original.
FILEINFO_RAW (entier)
Ne traduit pas les caractères non imprimables en représentation octale \ooo.
Types de ressources
Fonctions Fileinfo
Fileinfo


Fonctions Fileinfo

Sommaire

  • finfo_buffer — Retourne des informations à propos une chaîne de caractères tampon
  • finfo_close — Ferme une ressource fileinfo
  • finfo_file — Retourne des informations à propos d'un fichier
  • finfo_open — Crée une nouvelle ressource fileinfo
  • finfo_set_flags — Fixe des options de configuration libmagic
  • mime_content_type — Détecte le type de contenu d'un fichier (obsolète)
Constantes pré-définies
finfo_buffer
Fileinfo


Retourne des informations à propos une chaîne de caractères tampon

Fonctions Fileinfo
finfo_close
Fonctions Fileinfo
PHP Manual

finfo_buffer

(PHP 5 >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_buffer — Retourne des informations à propos une chaîne de caractères tampon

Description

string finfo_buffer ( resource $finfo , string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )
finfo
string buffer ( string $string = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Cette fonction est utilisée pour récupérer des informations à propos de données binaires dans une chaîne de caractères.

Liste de paramètres

finfo

Ressource Fileinfo retournée par finfo_open().

string

Contenu d'un fichier à être vérifié.

options

Une ou une union de plusieurs constantes Fileinfo.

context

Valeurs de retour

Retourne une description textuelle de l'argument string ou FALSE si une erreur s'est produite.

Exemples

Exemple #1 Exemple avec finfo_buffer()

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

application/x-sh; charset=us-ascii

Voir aussi

  • finfo_file() - Retourne des informations à propos d'un fichier

Fonctions Fileinfo
finfo_close
Fonctions Fileinfo


Ferme une ressource fileinfo

finfo_buffer
finfo_file
Fonctions Fileinfo
PHP Manual

finfo_close

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_close — Ferme une ressource fileinfo

Description

bool finfo_close ( resource $finfo )
finfo
__destruct ( void )

Cette fonction ferme la ressource ouverte par finfo_open().

Liste de paramètres

finfo

Ressource Fileinfo retournée par finfo_open().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

finfo_buffer
finfo_file
Fonctions Fileinfo


Retourne des informations à propos d'un fichier

finfo_close
finfo_open
Fonctions Fileinfo
PHP Manual

finfo_file

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file — Retourne des informations à propos d'un fichier

Description

string finfo_file ( resource $finfo , string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )
finfo
string file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

Cette fonction est utilisée pour récupérer des informations à propos d'un fichier.

Liste de paramètres

finfo

Ressource Fileinfo retournée par finfo_open().

file_name

Nom d'un fichier à être vérifié.

options

Une ou une union de plusieurs constantes Fileinfo.

context

Pour une description de contexts, référez-vous à Fonctions sur les flux.

Valeurs de retour

Retourne une description textuelle du contenu de l'argument filename ou FALSE si une erreur s'est produite.

Exemples

Exemple #1 Exemple avec finfo_file()

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // Retourne le type mime à la extension mimetype
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

text/html
image/gif
application/vnd.ms-excel

Voir aussi

  • finfo_buffer() - Retourne des informations à propos une chaîne de caractères tampon

finfo_close
finfo_open
Fonctions Fileinfo


Crée une nouvelle ressource fileinfo

finfo_file
finfo_set_flags
Fonctions Fileinfo
PHP Manual

finfo_open

finfo->__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo->__construct — Crée une nouvelle ressource fileinfo

Description

Style procédural :

resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Style orienté objet (constructeur) :

finfo
__construct ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

Cette fonction ouvre une base de données magique et retourne sa ressource.

Liste de paramètres

options

Une ou une union de plusieurs constantes Fileinfo.

magic_file

Nom de fichier d'une base de données magique, normalement quelque chose comme /path/to/magic.mime. Si non spécifié, la variable d'environnement MAGIC est utilisée. Si cette variable n'est pas fixée non plus, /usr/share/misc/magic est utilisé. L'extension .mime et/ou .mgc est ajoutée si approprié.

Le fait de passer NULL ou une chaîne de caractères vide équivaut à utiliser la valeur par défaut.

Valeurs de retour

Retourne une ressource de base de données magique en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // Retourne le type mime

if (!$finfo) {
    echo "Échec de l'ouverture de la base de données fileinfo";
    exit();
}

/* Récupère le mime-type d'un fichier spécifique */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);

?>

Exemple #2 Style procédural

<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // Retourne le type mime

if (!$finfo) {
    echo "Échec de l'ouverture de la base de données fileinfo";
    exit();
}

/* Récupère le mime-type d'un fichier spécifique */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* Fermeture de la connexion */
finfo_close($finfo);
?>

L'exemple ci-dessus va afficher :

text/plain; charset=us-ascii

Voir aussi

  • finfo_close() - Ferme une ressource fileinfo

finfo_file
finfo_set_flags
Fonctions Fileinfo


Fixe des options de configuration libmagic

finfo_open
mime_content_type
Fonctions Fileinfo
PHP Manual

finfo_set_flags

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_set_flags — Fixe des options de configuration libmagic

Description

bool finfo_set_flags ( resource $finfo , int $options )
finfo
bool set_flags ( int $options )

Cette fonction fixe diverses options de Fileinfo. Les options peuvent être aussi fixées directement dans finfo_open() ou par d'autres fonctions Fileinfo.

Liste de paramètres

finfo

Ressource Fileinfo retournée par finfo_open().

options

Une ou une union de plusieurs constantes Fileinfo.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

finfo_open
mime_content_type
Fonctions Fileinfo


Détecte le type de contenu d'un fichier (obsolète)

finfo_set_flags
Système de fichiers
Fonctions Fileinfo
PHP Manual

mime_content_type

(PHP 4 >= 4.3.0, PHP 5)

mime_content_type — Détecte le type de contenu d'un fichier (obsolète)

Description

string mime_content_type ( string $filename )

Retourne le content MIME d'un fichier en utilisant les informations depuis le fichier magic.mime.

Liste de paramètres

filename

Chemin vers le fichier à tester.

Valeurs de retour

Retourne le type de contenu au format MIME, comme text/plain ou application/octet-stream.

Notes

Avertissement

Cette fonction est obsolète, vu que l'extension PECL Fileinfo fournit la même fonctionnalité (et bien plus) de façon plus claire.

Exemples

Exemple #1 Exemple avec mime_content_type()

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

L'exemple ci-dessus va afficher :

image/gif
text/plain

Voir aussi

  • Fileinfo en guise de remplacement

finfo_set_flags
Système de fichiers
Fonctions Fileinfo


Système de fichiers

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur les systèmes de fichiers
    • basename — Sépare le nom du fichier et le nom du dossier
    • chgrp — Change le groupe d'un fichier
    • chmod — Change le mode du fichier
    • chown — Change le propriétaire du fichier
    • clearstatcache — Efface le cache de stat
    • copy — Copie un fichier
    • delete — Voir unlink ou unset
    • dirname — Renvoie le nom du dossier
    • disk_free_space — Renvoie l'espace disque disponible sur le système de fichiers ou la partition
    • disk_total_space — Retourne la taille d'un dossier ou d'une partition
    • diskfreespace — Alias de disk_free_space
    • fclose — Ferme un fichier
    • feof — Teste la fin du fichier
    • fflush — Envoie tout le contenu généré dans un fichier
    • fgetc — Lit un caractère dans un fichier
    • fgetcsv — Renvoie la ligne courante et cherche les champs CSV
    • fgets — Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
    • fgetss — Renvoie la ligne courante du fichier et élimine les balises HTML
    • file_exists — Vérifie si un fichier ou un dossier existe
    • file_get_contents — Lit tout un fichier dans une chaîne
    • file_put_contents — Écrit un contenu dans un fichier
    • file — Lit le fichier et renvoie le résultat dans un tableau
    • fileatime — Renvoie la date à laquelle le fichier a été accédé pour la dernière fois
    • filectime — Renvoie la date de dernier accès à un inode
    • filegroup — Lire le nom du groupe
    • fileinode — Lit le numéro d'inode du fichier
    • filemtime — Lit la date de dernière modification du fichier
    • fileowner — Lit l'identifiant du propriétaire d'un fichier
    • fileperms — Lit les droits d'un fichier
    • filesize — Lit la taille d'un fichier
    • filetype — Retourne le type de fichier
    • flock — Verrouille le fichier
    • fnmatch — Repère un fichier à partir d'un masque de recherche
    • fopen — Ouvre un fichier ou une URL
    • fpassthru — Affiche le reste du fichier
    • fputcsv — Formate une ligne en CSV et l'écrit dans un fichier
    • fputs — Alias de fwrite
    • fread — Lecture du fichier en mode binaire
    • fscanf — Analyse un fichier en fonction d'un format
    • fseek — Modifie la position du pointeur de fichier
    • fstat — Lit les informations sur un fichier à partir d'un pointeur de fichier
    • ftell — Renvoie la position courant du pointeur de fichier
    • ftruncate — Tronque un fichier
    • fwrite — Écrit un fichier en mode binaire
    • glob — Recherche des chemins qui vérifient un masque
    • is_dir — Indique si le fichier est un dossier
    • is_executable — Indique si le fichier est exécutable
    • is_file — Indique si le fichier est un véritable fichier
    • is_link — Indique si le fichier est un lien symbolique
    • is_readable — Indique si un fichier existe et est accessible en lecture
    • is_uploaded_file — Indique si le fichier a été téléchargé par HTTP POST
    • is_writable — Indique si un fichier est accessible en écriture
    • is_writeable — Alias de is_writable
    • lchgrp — Change l'appartenance du groupe d'un lien symbolique
    • lchown — Change le propriétaire d'un lien symbolique
    • link — Crée un lien
    • linkinfo — Renvoie les informations d'un lien
    • lstat — Retourne les informations sur un fichier ou un lien symbolique
    • mkdir — Crée un dossier
    • move_uploaded_file — Déplace un fichier téléchargé
    • parse_ini_file — Analyse un fichier de configuration
    • parse_ini_string — Analyse une chaîne de configuration
    • pathinfo — Retourne des informations sur un chemin système
    • pclose — Ferme un processus de pointeur de fichier
    • popen — Crée un processus de pointeur de fichier
    • readfile — Affiche un fichier
    • readlink — Renvoie le contenu d'un lien symbolique
    • realpath_cache_get — Récupère le chemin complet de toutes les entrées du cache
    • realpath_cache_size — Récupère la taille du cache
    • realpath — Retourne le chemin canonique absolu
    • rename — Renomme un fichier ou un dossier
    • rewind — Replace le pointeur de fichier au début
    • rmdir — Efface un dossier
    • set_file_buffer — Alias de stream_set_write_buffer
    • stat — Renvoie les informations à propos d'un fichier
    • symlink — Crée un lien symbolique
    • tempnam — Crée un fichier avec un nom unique
    • tmpfile — Crée un fichier temporaire
    • touch — Modifie la date de modification et de dernier accès d'un fichier
    • umask — Change le "umask" courant
    • unlink — Efface un fichier
mime_content_type
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

Aucune bibliothèque externe n'est requise pour avoir cette extension, mais si vous voulez le support des grands fichiers LFS sur Linux, vous devez avoir une version récente de gclib et vous devrez compiler PHP avec les options suivantes : -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Système de fichiers
Installation/Configuration
Système de fichiers


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Système de fichiers


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration le système de fichiers
Nom | Défaut | Modifiable | Historique
allow_url_fopen | "1" | PHP_INI_ALL | PHP_INI_ALL dans PHP <= 4.3.4. PHP_INI_SYSTEM en PHP < 6. Disponible depuis PHP 4.0.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 5. Disponible depuis PHP 5.2.0.
user_agent | NULL | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
default_socket_timeout | "60" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

allow_url_fopen booléen

Cette option active les versions étendues des fonctions d'accès aux fichiers, qui savent exploiter les URL. Les extensions par défaut permettent d'accéder aux fichiers distants avec les protocoles FTP ou HTTP. Certaines extensions comme zlib, peuvent ajouter d'autres fonctionnalités.

Note: Cette option peut seulement être définie dans le php.ini pour des raisons de sécurité.

Note: Cette option a été introduite immédiatement après la publication de la version 4.0.3. Pour les versions jusqu'à la, vous ne pouvez désactiver cette fonctionnalité qu'au moment de la compilation, avec l'option --disable-url-fopen-wrapper.

Avertissement

Sous Windows, dans les versions antérieures à la version 4.3, les fonctions suivantes ne supportent pas l'accès aux fichiers distants : include(), include_once(), require(), require_once() et les fonctions imagecreate() de l'extension Fonctions GD et images.

allow_url_include booléen

Cette option permet l'utilisation des gestionnaires d'URL avec les fonctions suivantes : include(), include_once(), require(), require_once().

Note: Ce paramètre nécessite que le paramètre allow_url_fopen soit activé avec "on".

user_agent string

Définit le type d'"user agent" (Définition du navigateur web) utilisé par PHP.

default_socket_timeout entier

Durée d'expiration (en secondes) pour les flots basés sur les sockets.

Note: Cette option de configuration a été introduite en PHP 4.3.

from string

Définit le mot de passe FTP en mode anonyme (en général, votre adresse email).

auto_detect_line_endings booléen

Lorsque cette option est activée, PHP va examiner les données lues par fgets() et file() pour voir si le fichier utilise les conventions de ligne de Unix, MS-Dos ou Macintosh.

Cela permet à PHP de fonctionner avec des systèmes Macintosh, mais par défaut, cette option est désactivée, car cette détection impose un légère pénalité en temps de traitement, mais aussi parce que ceux qui utilisent les retours chariots comme séparateurs auront des soucis de compatibilité.

Note: Cette option de configuration a été introduite en PHP 4.3.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

GLOB_BRACE (entier)
GLOB_ONLYDIR (entier)
GLOB_MARK (entier)
GLOB_NOSORT (entier)
GLOB_NOCHECK (entier)
GLOB_NOESCAPE (entier)
GLOB_AVAILABLE_FLAGS (entier)
PATHINFO_DIRNAME (entier)
PATHINFO_BASENAME (entier)
PATHINFO_EXTENSION (entier)
PATHINFO_FILENAME (entier)
Depuis PHP 5.2.0.
FILE_USE_INCLUDE_PATH (entier)
Cherche filename dans include_path (depuis PHP 5).
FILE_NO_DEFAULT_CONTEXT (entier)
FILE_APPEND (entier)
FILE_IGNORE_NEW_LINES (entier)
Enlève les caractères EOL. Depuis PHP 5.0.0.
FILE_SKIP_EMPTY_LINES (entier)
Enlève les lignes vides. Depuis PHP 5.0.0.
FILE_BINARY (entier)

Mode binaire (depuis PHP 5.2.7).

Note: Cette constante n'a aucun effet et n'est présente que pour assurer une compatibilité ascendante.

FILE_TEXT (entier)

Mode texte (depuis PHP 5.2.7).

Note: Cette constante n'a aucun effet et n'est présente que pour assurer une compatibilité ascendante.

INI_SCANNER_NORMAL (entier)
Mode d'analyse normale des directives INI (depuis PHP 5.3).
INI_SCANNER_RAW (entier)
Mode d'analyse brut des directives INI (depuis PHP 5.3).
FNM_NOESCAPE (entier)
Désactive la protection des antislash.
FNM_PATHNAME (entier)
Un slash dans la chaîne ne correspond qu'au slash final du motif.
FNM_PERIOD (entier)
Le point initial dans la chaîne doit correspondre exactement au point dans le motif.
FNM_CASEFOLD (entier)
Recherche sans casse. Une partie de l'extension GNU.
Types de ressources
Fonctions sur les systèmes de fichiers
Système de fichiers


Fonctions sur les systèmes de fichiers

Voir aussi

Pour les fonctions connexes, voyez aussi la section sur les accès aux Dossiers et sur les exécutions de programme.

Pour une liste et une explication sur les différents outils d'accès aux fichiers distants, voyez aussi Liste des protocoles supportés.

Sommaire

  • basename — Sépare le nom du fichier et le nom du dossier
  • chgrp — Change le groupe d'un fichier
  • chmod — Change le mode du fichier
  • chown — Change le propriétaire du fichier
  • clearstatcache — Efface le cache de stat
  • copy — Copie un fichier
  • delete — Voir unlink ou unset
  • dirname — Renvoie le nom du dossier
  • disk_free_space — Renvoie l'espace disque disponible sur le système de fichiers ou la partition
  • disk_total_space — Retourne la taille d'un dossier ou d'une partition
  • diskfreespace — Alias de disk_free_space
  • fclose — Ferme un fichier
  • feof — Teste la fin du fichier
  • fflush — Envoie tout le contenu généré dans un fichier
  • fgetc — Lit un caractère dans un fichier
  • fgetcsv — Renvoie la ligne courante et cherche les champs CSV
  • fgets — Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss — Renvoie la ligne courante du fichier et élimine les balises HTML
  • file_exists — Vérifie si un fichier ou un dossier existe
  • file_get_contents — Lit tout un fichier dans une chaîne
  • file_put_contents — Écrit un contenu dans un fichier
  • file — Lit le fichier et renvoie le résultat dans un tableau
  • fileatime — Renvoie la date à laquelle le fichier a été accédé pour la dernière fois
  • filectime — Renvoie la date de dernier accès à un inode
  • filegroup — Lire le nom du groupe
  • fileinode — Lit le numéro d'inode du fichier
  • filemtime — Lit la date de dernière modification du fichier
  • fileowner — Lit l'identifiant du propriétaire d'un fichier
  • fileperms — Lit les droits d'un fichier
  • filesize — Lit la taille d'un fichier
  • filetype — Retourne le type de fichier
  • flock — Verrouille le fichier
  • fnmatch — Repère un fichier à partir d'un masque de recherche
  • fopen — Ouvre un fichier ou une URL
  • fpassthru — Affiche le reste du fichier
  • fputcsv — Formate une ligne en CSV et l'écrit dans un fichier
  • fputs — Alias de fwrite
  • fread — Lecture du fichier en mode binaire
  • fscanf — Analyse un fichier en fonction d'un format
  • fseek — Modifie la position du pointeur de fichier
  • fstat — Lit les informations sur un fichier à partir d'un pointeur de fichier
  • ftell — Renvoie la position courant du pointeur de fichier
  • ftruncate — Tronque un fichier
  • fwrite — Écrit un fichier en mode binaire
  • glob — Recherche des chemins qui vérifient un masque
  • is_dir — Indique si le fichier est un dossier
  • is_executable — Indique si le fichier est exécutable
  • is_file — Indique si le fichier est un véritable fichier
  • is_link — Indique si le fichier est un lien symbolique
  • is_readable — Indique si un fichier existe et est accessible en lecture
  • is_uploaded_file — Indique si le fichier a été téléchargé par HTTP POST
  • is_writable — Indique si un fichier est accessible en écriture
  • is_writeable — Alias de is_writable
  • lchgrp — Change l'appartenance du groupe d'un lien symbolique
  • lchown — Change le propriétaire d'un lien symbolique
  • link — Crée un lien
  • linkinfo — Renvoie les informations d'un lien
  • lstat — Retourne les informations sur un fichier ou un lien symbolique
  • mkdir — Crée un dossier
  • move_uploaded_file — Déplace un fichier téléchargé
  • parse_ini_file — Analyse un fichier de configuration
  • parse_ini_string — Analyse une chaîne de configuration
  • pathinfo — Retourne des informations sur un chemin système
  • pclose — Ferme un processus de pointeur de fichier
  • popen — Crée un processus de pointeur de fichier
  • readfile — Affiche un fichier
  • readlink — Renvoie le contenu d'un lien symbolique
  • realpath_cache_get — Récupère le chemin complet de toutes les entrées du cache
  • realpath_cache_size — Récupère la taille du cache
  • realpath — Retourne le chemin canonique absolu
  • rename — Renomme un fichier ou un dossier
  • rewind — Replace le pointeur de fichier au début
  • rmdir — Efface un dossier
  • set_file_buffer — Alias de stream_set_write_buffer
  • stat — Renvoie les informations à propos d'un fichier
  • symlink — Crée un lien symbolique
  • tempnam — Crée un fichier avec un nom unique
  • tmpfile — Crée un fichier temporaire
  • touch — Modifie la date de modification et de dernier accès d'un fichier
  • umask — Change le "umask" courant
  • unlink — Efface un fichier
Constantes pré-définies
basename
Système de fichiers


Sépare le nom du fichier et le nom du dossier

Fonctions sur les systèmes de fichiers
chgrp
Fonctions sur les systèmes de fichiers
PHP Manual

basename

(PHP 4, PHP 5)

basename — Sépare le nom du fichier et le nom du dossier

Description

string basename ( string $path [, string $suffix ] )

Prend en paramètre path, le chemin complet d'un fichier et en extrait le nom du fichier.

Liste de paramètres

path

Un chemin.

Sous Windows, les caractères (/) et antislash (\) sont utilisés comme séparateurs de dossier. Sous les autres OS, seul le caractère slash (/) est utilisé.

suffix

Si suffix est fourni, le suffixe sera aussi supprimé.

Valeurs de retour

Retourne le nom de base du chemin path.

Historique

Version | Description
4.1.0 | Le paramètre suffix a été ajouté.

Exemples

Exemple #1 Exemple avec basename()

<?php
$path = "/home/httpd/html/index.php";
$file = basename($path);         // $file est défini à "index.php"
$file = basename($path, ".php"); // $file est défini à "index"
?>

Voir aussi

  • dirname() - Renvoie le nom du dossier
  • pathinfo() - Retourne des informations sur un chemin système

Fonctions sur les systèmes de fichiers
chgrp
Fonctions sur les systèmes de fichiers


Change le groupe d'un fichier

basename
chmod
Fonctions sur les systèmes de fichiers
PHP Manual

chgrp

(PHP 4, PHP 5)

chgrp — Change le groupe d'un fichier

Description

bool chgrp ( string $filename , mixed $group )

Essaie de remplacer le groupe propriétaire courant du fichier filename par group.

Seul le super-utilisateur (root) peut changer le groupe propriétaire d'un fichier arbitrairement; les utilisateurs classiques ne peuvent changer le groupe propriétaire d'un fichier que si l'utilisateur propriétaire du fichier est membre du groupe.

Liste de paramètres

filename

Chemin vers le fichier.

group

Un nom ou un numéro de groupe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Modification de groupe d'un fichier

<?php
$filename = 'shared_file.txt';
$format = "%s's Group ID @ %s: %d\n";
printf($format, $filename, date('r'), filegroup($filename));
chgrp($filename, 8);
printf($format, $filename, date('r'), filegroup($filename));
?>

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Voir aussi

  • chown() - Change le propriétaire du fichier
  • chmod() - Change le mode du fichier

basename
chmod
Fonctions sur les systèmes de fichiers


Change le mode du fichier

chgrp
chown
Fonctions sur les systèmes de fichiers
PHP Manual

chmod

(PHP 4, PHP 5)

chmod — Change le mode du fichier

Description

bool chmod ( string $filename , int $mode )

Remplace le mode du fichier filename par le mode mode.

Liste de paramètres

filename

Chemin vers le fichier.

mode

Il est à noter que le mode mode est considéré comme un nombre en notation octale. Afin de vous en assurer, vous pouvez préfixer cette valeur par un zéro (mode) :

<?php
chmod("/somedir/somefile", 755);   // notation décimale : probablement faux
chmod("/somedir/somefile", "u+rwx,go+rx"); // chaîne : incorrect
chmod("/somedir/somefile", 0755);  // notation octale : valeur du mode correcte
?>

Le paramètre mode est constitué de trois valeurs octales qui spécifient les droits pour le propriétaire, le groupe du propriétaire et les autres, respectivement. Chaque composant peut être calculé en ajoutant les droits désirés. Le chiffre 1 donne les droits d'exécution, le chiffre 2 les droits d'écriture et le chiffre 4 les droits de lecture. Ajoutez simplement ces nombres pour spécifier les droits voulus. Vous pouvez aussi lire le manuel des systèmes Unix avec man 1 chmod et man 2 chmod.

<?php
// Lecture et écriture pour le propriétaire, rien pour les autres
chmod("/somedir/somefile", 0600);

// Lecture et écriture pour le propriétaire, lecture pour les autres
chmod("/somedir/somefile", 0644);

// Tout pour le propriétaire, lecture et exécution pour les autres
chmod("/somedir/somefile", 0755);

// Tout pour le propriétaire, lecture exécution pour le groupe, rien pour les autres
chmod("/somedir/somefile", 0750);
?>

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: L'utilisateur courant est l'utilisateur avec lequel PHP fonctionne. Il est probablement différent de l'utilisateur que vous utilisez en mode Shell ou FTP. Le mode ne peut être modifié que par l'utilisateur à qui appartient le fichier sur la plupart des systèmes.

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Note: Lorsque le safe mode est activé, PHP vérifie si les fichiers et dossiers que vous allez utiliser ont le même UID (propriétaire) que le script qui est en cours d'exécution. De plus, vous ne pouvez pas modifier les SUID, SGID et sticky bits.

Voir aussi

  • chown() - Change le propriétaire du fichier
  • chgrp() - Change le groupe d'un fichier
  • fileperms() - Lit les droits d'un fichier
  • stat() - Renvoie les informations à propos d'un fichier

chgrp
chown
Fonctions sur les systèmes de fichiers


Change le propriétaire du fichier

chmod
clearstatcache
Fonctions sur les systèmes de fichiers
PHP Manual

chown

(PHP 4, PHP 5)

chown — Change le propriétaire du fichier

Description

bool chown ( string $filename , mixed $user )

Change le propriétaire du fichier filename en user. Seul le super-utilisateur (root) peut changer arbitrairement le propriétaire d'un fichier.

Liste de paramètres

filename

Chemin vers le fichier.

user

Un nom ou un numéro d'utilisateur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec chown()

<?php

// Nom du fichier et nom d'utilisateur à utiliser
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
$user_name = "root";

// Définit l'utilisateur
chown($path, $user_name);

// Vérification du résultat
$stat = stat($path);
print_r(posix_getpwuid($stat['uid']));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(7) {
  ["name"]=>
  string(13) "php.net"
  ["passwd"]=>
  string(1) "x"
  ["uid"]=>
  int(148864)
  ["gid"]=>
  int(148910)
  ["gecos"]=>
  string(13) "php.net"
  ["dir"]=>
  string(25) "/home/sites/php.net"
  ["shell"]=>
  string(13) "/sbin/nologin"
}

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Voir aussi

  • chmod() - Change le mode du fichier

chmod
clearstatcache
Fonctions sur les systèmes de fichiers


Efface le cache de stat

chown
copy
Fonctions sur les systèmes de fichiers
PHP Manual

clearstatcache

(PHP 4, PHP 5)

clearstatcache — Efface le cache de stat()

Description

void clearstatcache ([ bool $clear_realpath_cache = false [, string $filename ]] )

L'appel à la fonction stat() ou lstat() est relativement coûteux en termes de temps d'exécution. Pour cela, le résultat du dernier appel à l'une des fonctions de statut, (voir la liste ci-dessous), est sauvegardé pour réutilisation ultérieure. Si vous voulez forcer la vérification du statut d'un fichier, dans le cas où le fichier aurait pu être modifié ou aurait disparu, vous devez utiliser la fonction clearstatcache() afin d'effacer de la mémoire les résultats du dernier appel à la fonction.

Sachez que PHP ne met pas en cache les informations concernant un fichier inexistant. Si vous appelez file_exists() sur un fichier qui n'existe pas, la fonction retournera FALSE jusqu'à ce que vous créiez le fichier. Si vous créez le fichier, la fonction retournera TRUE même si vous effacez le fichier.

Note: Cette fonction met en cache des informations sur les fichiers. Vous n'avez donc besoin d'appeler clearstatcache() que si vous faites des opérations multiples sur le dossier, et que vous voulez avoir une version récente des informations.

Les fonctions affectées sont :
stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype(), et
fileperms().

Liste de paramètres

clear_realpath_cache

Si l'on doit ou non vider le cache réel.

filename

Nettoie le cache réel d'un fichier spécifique. Ne peut être utilisé que si le paramètre clear_realpath_cache vaut TRUE.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
5.3.0 | Ajout des paramètres optionnels clear_realpath_cache et filename.

Exemples

Exemple #1 Exemple avec clearstatcache()

<?php
$file = 'output_log.txt';

function get_owner($file)
{
    $stat = stat($file);
    $user = posix_getpwuid($stat['uid']);
    return $user['name'];
}

$format = "UID @ %s: %s\n";

printf($format, date('r'), get_owner($file));

chown($file, 'ross');
printf($format, date('r'), get_owner($file));

clearstatcache();
printf($format, date('r'), get_owner($file));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross

chown
copy
Fonctions sur les systèmes de fichiers


Copie un fichier

clearstatcache
delete
Fonctions sur les systèmes de fichiers
PHP Manual

copy

(PHP 4, PHP 5)

copy — Copie un fichier

Description

bool copy ( string $source , string $dest [, resource $context ] )

Fait une copie du fichier source vers le fichier dest.

Si vous souhaitez déplacer un fichier, utilisez la fonction rename().

Liste de paramètres

source

Chemin vers le fichier source.

dest

Le chemin de destination. Si dest est une URL, la copie peut échouer si ce protocole ne supporte pas l'écrasement de fichiers existants.

Avertissement

Si le fichier de destination dest existe déjà, il sera écrasé.

context

Une ressource de contexte valide, créée par la fonction stream_context_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Ajout du support du contexte.
4.3.0 | Les paramètres source et dest peuvent désormais être des URL si le gestionnaire de fichiers distants a été activé. Voir la fonction fopen() pour plus de détails.

Exemples

Exemple #1 Exemple avec copy()

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "La copie $file du fichier a échoué...\n";
}
?>

Voir aussi

  • move_uploaded_file() - Déplace un fichier téléchargé
  • rename() - Renomme un fichier ou un dossier
  • La section du manuel concernant la gestion des téléchargements de fichiers

clearstatcache
delete
Fonctions sur les systèmes de fichiers


Voir unlink ou unset

copy
dirname
Fonctions sur les systèmes de fichiers
PHP Manual

delete

delete — Voir unlink() ou unset()

Description

void delete ( void )

Ceci est une page d'entrée du manuel pour ceux qui recherchent la fonction unlink() ou unset().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • unlink() - Efface un fichier
  • unset() - Détruit une variable

copy
dirname
Fonctions sur les systèmes de fichiers


Renvoie le nom du dossier

delete
disk_free_space
Fonctions sur les systèmes de fichiers
PHP Manual

dirname

(PHP 4, PHP 5)

dirname — Renvoie le nom du dossier

Description

string dirname ( string $path )

Renvoie le nom du dossier d'un chemin.

Liste de paramètres

path

Un chemin.

Sous Windows, les slash (/) et antislash (\) sont utilisés comme séparateurs de dossier. Dans les autres environnements, seul le slash (/) est utilisé.

Valeurs de retour

Retourne le nom du dossier. S'il n'y a pas de slash dans le chemin path, un point ('.') sera retourné, indiquant le dossier courant. Sinon, la chaîne retournée sera le chemin path dont on aura supprimé tous les /component.

Historique

Version | Description
5.0.0 | dirname() gère maintenant les données binaires.
4.0.3 | dirname() respecte désormais la norme POSIX.

Exemples

Exemple #1 Exemple avec dirname()

<?php
$path = "/etc/passwd";
$file = dirname($path); // $file vaut "/etc"
?>

Notes

Note: Depuis PHP 4.3.0, cette fonction retournera toujours un slash ou un point dans les cas où l'ancienne version retournait une chaîne vide.

Voici des exemples exposant ce comportement :

<?php

//Avant PHP 4.3.0
dirname('c:/'); // Retourné : '.'

//Après PHP 4.3.0
dirname('c:/x'); // Retourné : 'c:\'
dirname('c:/Temp/x'); // Retourné : 'c:/Temp'
dirname('/x'); // Retourné : '\'

?>

Voir aussi

  • basename() - Sépare le nom du fichier et le nom du dossier
  • pathinfo() - Retourne des informations sur un chemin système
  • realpath() - Retourne le chemin canonique absolu

delete
disk_free_space
Fonctions sur les systèmes de fichiers


Renvoie l'espace disque disponible sur le système de fichiers ou la partition

dirname
disk_total_space
Fonctions sur les systèmes de fichiers
PHP Manual

disk_free_space

(PHP 4 >= 4.1.0, PHP 5)

disk_free_space — Renvoie l'espace disque disponible sur le système de fichiers ou la partition

Description

float disk_free_space ( string $directory )

Renvoie l'espace disque disponible dans le répertoire ou la partition.

Liste de paramètres

directory

Un dossier du système de fichier ou une partition d'un disque.

Note: Si vous fournissez un fichier au lieu d'un dossier, le comportement de cette fonction peut être aléatoire, suivant le système d'exploitation et les versions de PHP.

Valeurs de retour

Retourne le nombre d'octets disponible, sous la forme d'un nombre décimal ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec disk_free_space()

<?php
// $df contient le nombre d'octets libres sur "/"
$df = disk_free_space("/");

// Sous Windows:
disk_free_space("C:");
disk_free_space("D:");
?>

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Voir aussi

  • disk_total_space() - Retourne la taille d'un dossier ou d'une partition

dirname
disk_total_space
Fonctions sur les systèmes de fichiers


Retourne la taille d'un dossier ou d'une partition

disk_free_space
diskfreespace
Fonctions sur les systèmes de fichiers
PHP Manual

disk_total_space

(PHP 4 >= 4.1.0, PHP 5)

disk_total_space — Retourne la taille d'un dossier ou d'une partition

Description

float disk_total_space ( string $directory )

Lit récursivement toutes les tailles du dossier directory et retourne la somme en octets.

Liste de paramètres

directory

Un dossier du système de fichier ou la partition d'un disque.

Valeurs de retour

Retourne la taille en octets, sous la forme d'un nombre décimal ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec disk_total_space()

<?php
// $df contient le nombre d'octets du dossier "/"
$df = disk_total_space("/");

// Sous Windows :
disk_total_space("C:");
disk_total_space("D:");
?>

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Voir aussi

  • disk_free_space() - Renvoie l'espace disque disponible sur le système de fichiers ou la partition

disk_free_space
diskfreespace
Fonctions sur les systèmes de fichiers


Alias de disk_free_space

disk_total_space
fclose
Fonctions sur les systèmes de fichiers
PHP Manual

diskfreespace

(PHP 4, PHP 5)

diskfreespace — Alias de disk_free_space()

Description

Cette fonction est un alias de : disk_free_space().

disk_total_space
fclose
Fonctions sur les systèmes de fichiers


Ferme un fichier

diskfreespace
feof
Fonctions sur les systèmes de fichiers
PHP Manual

fclose

(PHP 4, PHP 5)

fclose — Ferme un fichier

Description

bool fclose ( resource $handle )

Ferme le fichier représenté par le pointeur handle.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et doit avoir été correctement ouvert par la fonction fopen() ou la fonction fsockopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fclose()

<?php

$handle = fopen('somefile.txt', 'r');

fclose($handle);

?>

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix

diskfreespace
feof
Fonctions sur les systèmes de fichiers


Teste la fin du fichier

fclose
fflush
Fonctions sur les systèmes de fichiers
PHP Manual

feof

(PHP 4, PHP 5)

feof — Teste la fin du fichier

Description

bool feof ( resource $handle )

Teste la fin du fichier.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

Valeurs de retour

Retourne TRUE si le pointeur handle est à la fin du fichier ou si une erreur survient, sinon, retourne FALSE.

Notes

Avertissement

Si une connexion ouverte avec fsockopen() n'est pas fermée par le serveur, feof() se bloquera. Pour contourner ce comportement, reportez-vous à l'exemple ci-dessous :

Exemple #1 Gestion des délais d'attente dépassés feof()

<?php
function safe_feof($fp, &start = NULL) {
 $start = microtime(true);

 return feof($fp);
}

/* Assumons que $fp a été précédemment ouvert par fsockopen() */

$start = NULL;
$timeout = ini_get('default_socket_timeout');

while(!safe_feof($fp, $start) && (microtime(true) - $start) < $timeout)
{
 /* Gestion */
}
?>

Avertissement

Si le pointeur de fichier passé n'est pas valide, vous obtiendrez une boucle infinie car feof() échouera à retourner TRUE.

Exemple #2 Exemple avec feof() et un pointeur de fichier invalide

<?php
// Si le fichier ne peut être lu ou n'existe pas, la fonction fopen retourne FALSE
$file = @fopen("no_such_file", "r");

// FALSE issu de fopen emmetra une alerte et fera quel'on aura une boucle infinie ici
while (!feof($file)) {
}

fclose($file);
?>

fclose
fflush
Fonctions sur les systèmes de fichiers


Envoie tout le contenu généré dans un fichier

feof
fgetc
Fonctions sur les systèmes de fichiers
PHP Manual

fflush

(PHP 4 >= 4.0.1, PHP 5)

fflush — Envoie tout le contenu généré dans un fichier

Description

bool fflush ( resource $handle )

Force l'écriture de toutes les données bufferisées dans le fichier désigné par handle.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Écriture d'un fichier en utilisant fflush()

<?php
$filename = 'bar.txt';

$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
?>

Voir aussi

  • clearstatcache() - Efface le cache de stat
  • fwrite() - Écrit un fichier en mode binaire

feof
fgetc
Fonctions sur les systèmes de fichiers


Lit un caractère dans un fichier

fflush
fgetcsv
Fonctions sur les systèmes de fichiers
PHP Manual

fgetc

(PHP 4, PHP 5)

fgetc — Lit un caractère dans un fichier

Description

string fgetc ( resource $handle )

Lit un caractère dans un fichier.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

Valeurs de retour

Retourne une chaîne contenant un seul caractère, lu depuis le fichier pointé par handle. Retourne FALSE à la fin du fichier.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec fgetc()

<?php
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
    echo 'Impossible d'ouvrir le fichier somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • fread() - Lecture du fichier en mode binaire
  • fopen() - Ouvre un fichier ou une URL
  • popen() - Crée un processus de pointeur de fichier
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier

fflush
fgetcsv
Fonctions sur les systèmes de fichiers


Renvoie la ligne courante et cherche les champs CSV

fgetc
fgets
Fonctions sur les systèmes de fichiers
PHP Manual

fgetcsv

(PHP 4, PHP 5)

fgetcsv — Renvoie la ligne courante et cherche les champs CSV

Description

array fgetcsv ( resource $handle [, int $length [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )

Similaire à fgets() mais fgetcsv() analyse la ligne qu'il lit et recherche les champs CSV, qu'il va retourner dans un tableau les contenant.

Liste de paramètres

handle

Un pointeur valide sur un fichier ouvert avec fopen(), popen() ou fsockopen().

length

Doit être plus grand que la plus grande ligne (en terme de caractères) à lire dans le fichier (y compris le caractère de fin de ligne). Ce paramètre est optionnel depuis PHP 5. Omettre ce paramètre (ou le définir à 0 en PHP 5.0.4 et suivant) fait que la longueur maximale de la ligne n'est pas limitée, ce qui est légèrement plus lent.

delimiter

Spécifie le séparateur (un seul caractère).

enclosure

Spécifie le caractère de délimitation (un seul caractère).

escape

Définit le caractère d'échappement (un seul caractère). Par défaut, c'est un antislash.

Valeurs de retour

Retourne un tableau indexé contenant les champs lus.

Note: Une ligne vide dans un fichier CSV sera retournée sous la forme d'un tableau contenant la valeur NULL et ne sera pas traitée comme une erreur.

Note: Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

fgetcsv() retourne NULL si un paramètre handle invalide est fourni ou FALSE en cas d'autres erreurs, y compris la fin du fichier.

Historique

Version | Description
5.3.0 | Le paramètre escape a été ajouté.
4.3.5 | fgetcsv() gère désormais les données binaires.
4.3.0 | Le paramètre enclosure a été ajouté.

Exemples

Exemple #1 Lit et affiche le contenu d'un fichier CSV

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num champs à la ligne $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

Notes

Note: La définition des locales entre en jeux avec cette fonction. Si LANG vaut, e.g. en_US.UTF-8, les fichiers encodés sur un octet sont mal lus par cette fonction.

Voir aussi

  • str_getcsv() - Analyse une chaîne de caractères CSV dans un tableau
  • explode() - Coupe une chaîne en segments
  • file() - Lit le fichier et renvoie le résultat dans un tableau
  • pack() - Compacte des données dans une chaîne binaire
  • fputcsv() - Formate une ligne en CSV et l'écrit dans un fichier

fgetc
fgets
Fonctions sur les systèmes de fichiers


Récupère la ligne courante sur laquelle se trouve le pointeur du fichier

fgetcsv
fgetss
Fonctions sur les systèmes de fichiers
PHP Manual

fgets

(PHP 4, PHP 5)

fgets — Récupère la ligne courante sur laquelle se trouve le pointeur du fichier

Description

string fgets ( resource $handle [, int $length ] )

Récupère la ligne courante sur laquelle se trouve le pointeur du fichier.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

length

Lit jusqu'à la taille length - 1 octet depuis le pointeur de fichier handle, ou bien la fin du fichier, ou une nouvelle ligne (qui est inclue dans la valeur retournée), ou encore un EOF (celui qui arrive en premier). Si aucune longueur n'est fournie, la fonction lira le flux jusqu'à la fin de la ligne.

Note: Jusqu'en PHP 4.3.0, le fait d'omettre ce paramètre fait que la fonction lira 1024 octets de la ligne. Si la majorité des lignes du fichier dépassent les 8 ko, il est plus efficace pour votre script de spécifier ce paramètre.

Valeurs de retour

Retourne une chaîne de caractères contenant les length premiers caractères, moins 1 octet depuis le pointeur de fichier handle.

Si une erreur survient, la fonction retourne FALSE.

Historique

Version | Description
4.3.0 | fgets() est compatible avec les données binaires.
4.2.0 | Le paramètre length devient optionnel.

Exemples

Exemple #1 Lecture d'un fichier ligne par ligne

<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgets($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}
?>

Notes

Note: Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

Note: Les programmeurs habitués à la programmation 'C' noteront que fgets() ne se comporte pas comme son équivalent C lors de la rencontre de la fin du fichier.

Voir aussi

  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • fread() - Lecture du fichier en mode binaire
  • fgetc() - Lit un caractère dans un fichier
  • stream_get_line() - Lit une ligne dans un flux
  • fopen() - Ouvre un fichier ou une URL
  • popen() - Crée un processus de pointeur de fichier
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • stream_set_timeout() - Configure la durée d'expiration d'un flux

fgetcsv
fgetss
Fonctions sur les systèmes de fichiers


Renvoie la ligne courante du fichier et élimine les balises HTML

fgets
file_exists
Fonctions sur les systèmes de fichiers
PHP Manual

fgetss

(PHP 4, PHP 5)

fgetss — Renvoie la ligne courante du fichier et élimine les balises HTML

Description

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

Identique à fgets(), sauf que la fonction fgetss() supprime tous les octets nuls, toutes les balises HTML et PHP qu'il trouve dans le texte lu.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

length

Taille des données à récupérer.

allowable_tags

Vous pouvez utiliser ce paramètre optionnel pour spécifier les balises qui ne doivent pas être supprimées.

Valeurs de retour

Retourne une chaîne de taille length - 1 octet lu depuis le fichier pointé par handle, dont les balises HTML et PHP ont été échappées.

Si une erreur survient, la fonction retourne FALSE.

Historique

Version | Description
5.0.0 | Le paramètre length devient optionnel.

Exemple #1 Lecture d'un fichier PHP ligne par ligne

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents('sample.php', $str);

$handle = @fopen("sample.php", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgetss($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

 Welcome! Today is the  of .

Text outside of the HTML block.

Notes

Note: Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

Voir aussi

  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fopen() - Ouvre un fichier ou une URL
  • popen() - Crée un processus de pointeur de fichier
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • strip_tags() - Supprime les balises HTML et PHP d'une chaîne

fgets
file_exists
Fonctions sur les systèmes de fichiers


Vérifie si un fichier ou un dossier existe

fgetss
file_get_contents
Fonctions sur les systèmes de fichiers
PHP Manual

file_exists

(PHP 4, PHP 5)

file_exists — Vérifie si un fichier ou un dossier existe

Description

bool file_exists ( string $filename )

Vérifie si un fichier ou un dossier existe.

Liste de paramètres

filename

Chemin vers le fichier ou le dossier.

Sous Windows, utilisez le format de chemin //computername/share/filename ou \\\\computername\share\filename pour vérifier qu'un fichier est disponible sur le partage réseau.

Valeurs de retour

Retourne TRUE si le fichier ou le dossier spécifié par le paramètre filename existe ; FALSE sinon.

Note: Retourne FALSE pour les liens symboliques pointant vers un fichier qui n'existe pas.

Avertissement

Cette fonction retourne FALSE pour les fichiers non accessibles en raison des restrictions du safe mode. Cependant, ces fichiers peuvent toujours être inclus s'ils sont dans le dossier safe_mode_include_dir.

Note: La vérification est effectuée en utilisant l'UID/GID réel au lieu de l'effectif.

Exemples

Exemple #1 Teste l'existence d'un fichier

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "Le fichier $filename existe.";
} else {
    echo "Le fichier $filename n'existe pas.";
}
?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • is_readable() - Indique si un fichier existe et est accessible en lecture
  • is_writable() - Indique si un fichier est accessible en écriture
  • is_file() - Indique si le fichier est un véritable fichier
  • file() - Lit le fichier et renvoie le résultat dans un tableau

fgetss
file_get_contents
Fonctions sur les systèmes de fichiers


Lit tout un fichier dans une chaîne

file_exists
file_put_contents
Fonctions sur les systèmes de fichiers
PHP Manual

file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents — Lit tout un fichier dans une chaîne

Description

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen = -1 ]]]] )

Identique à la fonction file(), hormis le fait que file_get_contents() retourne le fichier filename dans une chaîne, à partir de la position offset, et jusqu'à maxlen octets. En cas d'erreur, file_get_contents() retourne FALSE.

file_get_contents() est la façon recommandée pour lire le contenu d'un fichier dans une chaîne de caractères. Elle utilisera un buffer en mémoire si ce mécanisme est supporté par votre système, afin d'améliorer les performances.

Note: Si vous ouvrez une URI avec des caractères spéciaux, comme des espaces, vous devez encoder cette URI avec la fonction urlencode().

Note: La valeur par défaut du paramètre maxlen n'est actuellement pas la valeur -1 ; à la place, c'est une valeur interne de PHP qui signifie que le flux entier est copié jusqu'à la fin du fichier. La seule solution pour spécifier cette valeur par défaut est de ne pas spécifier ce paramètre dans la liste des paramètres.

Liste de paramètres

filename

Nom du fichier à lire.

use_include_path

Note: Depuis PHP 5, la constante FILE_USE_INCLUDE_PATH peut être utilisée pour déclencher la recherche dans le chemin d'inclusion.

context

Une ressource de contexte valide, créée avec la fonction stream_context_create(). Si vous n'avez pas besoin d'utiliser un contexte particulier, vous pouvez ignorer ce paramètre en affectant la valeur NULL.

offset

La position à partir de laquelle on commence à lire dans le flux original.

maxlen

La taille maximale des données à lire. Le comportement par défaut est de lire jusqu'à la fin du fichier. Ce paramètre s'applique sur le flux traité par les filtres.

Valeurs de retour

Retourne les données lues ou FALSE si une erreur survient.

Exemples

Exemple #1 Lit et affiche le code HTML d'un site Web

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

Exemple #2 Recherche un fichier dans le include_path

<?php
// avant PHP 5
$file = file_get_contents('./people.txt', true);
// depuis PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>

Exemple #3 Lit une section d'un fichier

<?php
// Lit 14 caractères à partir du 20ème
$section = file_get_contents('./people.txt', NULL, NULL, 20, 14);
var_dump($section);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(14) "lle Bjori Ro"

Exemple #4 Utilisation des contextes de flux

<?php
// Création d'un flux
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

// Accès à un fichier HTTP avec les entêtes HTTP indiqués ci-dessus
$file = file_get_contents('http://www.example.com/', false, $context);
?>

Historique

Version | Description
5.1.0 | Ajout des paramètres offset et maxlen.
5.0.0 | Ajout du support du contexte.

Notes

Note: Cette fonction gère les chaînes binaires.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Avertissement

Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les alertes. À partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur.

Voir aussi

  • file() - Lit le fichier et renvoie le résultat dans un tableau
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fread() - Lecture du fichier en mode binaire
  • readfile() - Affiche un fichier
  • file_put_contents() - Écrit un contenu dans un fichier
  • stream_get_contents() - Lit tout un flux dans une chaîne
  • stream_context_create() - Crée un contexte de flux

file_exists
file_put_contents
Fonctions sur les systèmes de fichiers


Écrit un contenu dans un fichier

file_get_contents
file
Fonctions sur les systèmes de fichiers
PHP Manual

file_put_contents

(PHP 5)

file_put_contents — Écrit un contenu dans un fichier

Description

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

Revient à appeler les fonctions fopen(), fwrite() et fclose() successivement.

Si le fichier filename n'existe pas, il sera créé. Sinon, le fichier existant sera écrasé, si l'option FILE_APPEND n'est pas défini.

Liste de paramètres

filename

Chemin vers le fichier dans lequel on doit écrire les données.

data

Les données à écrire. Peut être soit une chaîne de caractères, un tableau ou une ressource de flux (explication plus bas).

Si data est une ressource de type stream , le buffer restant de ce flux sera copié dans le fichier spécifié. Cela revient à utiliser la fonction stream_copy_to_stream().

Vous pouvez également spécifier le paramètre data en tant qu'un tableau à une seule dimension. C'est l'équivalent à file_put_contents($filename, implode('', $array)).

flags

La valeur du paramètre flags peut être n'importe quelle combinaison des drapeaux suivant (avec quelques restrictions), liés par l'opérateur binaire OU (|).

Drapeaux disponibles
Drapeau | Description
FILE_USE_INCLUDE_PATH | Recherche le fichier filename dans le dossier d'inclusion. Voir include_path pour plus d'informations.
FILE_APPEND | Si le fichier filename existe déjà, cette option permet d'ajouter les données au fichier au lieu de l'écraser. Cette option est mutuellement exclusive avec LOCK_EX car les ajouts sont atomiques, et qu'il n'y a pas de raison de poser de verrou.
LOCK_EX | Acquiert un verrou exclusif sur le fichier lors de l'opération d'écriture. Mutuellement exclusif avec FILE_APPEND.

context

Une ressource de contexte valide créée avec la fonction stream_context_create().

Valeurs de retour

Retourne le nombre d'octets qui ont été écrits au fichier, ou FALSE si une erreur survient.

Exemples

Exemple #1 Utilisation simple de file_put_contents

<?php
$file = 'people.txt';
// Ouvre un fichier pour lire un contenu existant
$current = file_get_contents($file);
// Ajoute une personne
$current .= "Jean Dupond\n";
// Écrit le résultat dans le fichier
file_put_contents($file, $current);
?>

Exemple #2 Utilisation d'options pour file_put_contents

<?php
$file = 'people.txt';
// Une nouvelle personne à ajouter
$person = "Jean Dupoond\n";
// Ajoute le contenu de la variable $person au fichier designé par la variable $file.
file_put_contents($file, $person, FILE_APPEND);
?>

Historique

Version | Description
5.0.0 | Ajout du support du contexte.
5.1.0 | Ajout du support de LOCK_EX et la possibilité de passer une ressource de flux dans le paramètre data.

Notes

Note: Cette fonction gère les chaînes binaires.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • fwrite() - Écrit un fichier en mode binaire
  • file_get_contents() - Lit tout un fichier dans une chaîne
  • stream_context_create() - Crée un contexte de flux

file_get_contents
file
Fonctions sur les systèmes de fichiers


Lit le fichier et renvoie le résultat dans un tableau

file_put_contents
fileatime
Fonctions sur les systèmes de fichiers
PHP Manual

file

(PHP 4, PHP 5)

file — Lit le fichier et renvoie le résultat dans un tableau

Description

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

Lit le fichier et renvoie le résultat dans un tableau.

Note: Vous pouvez utiliser la fonction file_get_contents() pour retourner le contenu d'un fichier dans une chaîne de caractères.

Liste de paramètres

filename

Chemin vers le fichier.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

flags

Le paramètre optionnel flags peut être une ou plusieurs des constantes suivantes :

FILE_USE_INCLUDE_PATH
Recherche le fichier dans l'include_path.
FILE_IGNORE_NEW_LINES
N'ajoute pas de nouvelle ligne à la fin de chaque élément du tableau.
FILE_SKIP_EMPTY_LINES
Ignore les lignes vides.

context

Une ressource de contexte valide, créée avec la fonction stream_context_create().

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Valeurs de retour

Retourne le fichier dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retours-chariot sont placés en fin de ligne. Si une erreur survient, file() retournera FALSE.

Note: Chaque ligne du tableau résultant inclura la fin de ligne, à moins que FILE_IGNORE_NEW_LINES ne soit utilisé, donc, vous avez toujours besoin d'utiliser la fonction rtrim() si vous ne voulez pas de fin de lignes.

Note: Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

Historique

Version | Description
5.0.0 | Le paramètre context a été ajouté.
5.0.0 | Avant PHP 5.0.0, le paramètreflags ne couvre que l'include_path et est activé s'il vaut 1.
4.3.0 | file() devient compatible avec les données binaires.

Exemples

Exemple #1 Exemple avec file()

<?php
// Lit une page web dans un tableau.
$lines = file('http://www.example.com/');

// Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

// Un autre exemple, pour obtenir une page web dans une chaîne. Voir aussi la fonction file_get_contents().
$html = implode('', file('http://www.example.com/'));

// Utilisation de drapeau, depuis PHP 5
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Notes

Avertissement

Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les alertes. À partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur.

Voir aussi

  • readfile() - Affiche un fichier
  • fopen() - Ouvre un fichier ou une URL
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • popen() - Crée un processus de pointeur de fichier
  • file_get_contents() - Lit tout un fichier dans une chaîne
  • include() - include
  • stream_context_create() - Crée un contexte de flux

file_put_contents
fileatime
Fonctions sur les systèmes de fichiers


Renvoie la date à laquelle le fichier a été accédé pour la dernière fois

file
filectime
Fonctions sur les systèmes de fichiers
PHP Manual

fileatime

(PHP 4, PHP 5)

fileatime — Renvoie la date à laquelle le fichier a été accédé pour la dernière fois

Description

int fileatime ( string $filename )

Renvoie la date à laquelle le fichier a été accédé pour la dernière fois.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Renvoie la date à laquelle le fichier a été accédé pour la dernière fois ou FALSE si une erreur survient. La date est retournée sous la forme d'un timestamp Unix.

Exemples

Exemple #1 Exemple avec fileatime()

<?php

// Affiche : somefile.txt a été accédé le : December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename a été accédé le : " . date("F d Y H:i:s.", fileatime($filename));
}

?>

Notes

Note: La date de dernière modification d'un fichier est supposé changer à chaque fois que les blocs de données du fichier ont commencés à être lus. Cela peut être très coûteux en terme de performance lorsqu'une application accède régulièrement à beaucoup de fichiers ou de répertoires.
La plupart des systèmes de fichiers Unix peuvent être montés en ayant désactivés cette information pour accroître les performances d'une telle application ; les nouvelles USENET sont un bon exemple. Sur de telles systèmes de fichiers, cette fonction devient totalement inutile.

Note: Notez que la précision temporelle peut varier selon le système de fichiers utilisé.

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • filemtime() - Lit la date de dernière modification du fichier
  • fileinode() - Lit le numéro d'inode du fichier
  • date() - Formate une date/heure locale

file
filectime
Fonctions sur les systèmes de fichiers


Renvoie la date de dernier accès à un inode

fileatime
filegroup
Fonctions sur les systèmes de fichiers
PHP Manual

filectime

(PHP 4, PHP 5)

filectime — Renvoie la date de dernier accès à un inode

Description

int filectime ( string $filename )

Renvoie la date de dernier accès à un inode d'un fichier.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Renvoie la date à laquelle l'inode a été accédé pour la dernière fois ou FALSE si une erreur survient. L'heure est retournée sous la forme d'un timestamp Unix.

Exemples

Exemple #1 Exemple avec filectime()

<?php

// Affiche : somefile.txt a été modifié le : December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename a été modifié le : " . date("F d Y H:i:s.", filectime($filename));
}

?>

Notes

Note: Sur la plupart des serveurs UNIX, un fichier est considéré comme modifié si les données de son inode sont modifiées. C'est-à-dire lorsque les permissions (utilisateur, groupe ou autre) ont été modifiées. Voyez aussi filemtime() (que vous pourrez utiliser lorsque vous créerez des indications telles que "Dernière modification : " sur les pages web) et fileatime().

Note: Notez aussi que sur certains systèmes UNIX, le ctime d'un fichier texte est considéré comme sa date de création. Cela est faux ! Il n'y a pas de date de création de fichier sous la plupart des systèmes UNIX.

Note: Notez que la précision temporelle peut varier selon le système de fichiers utilisé.

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • filemtime() - Lit la date de dernière modification du fichier

fileatime
filegroup
Fonctions sur les systèmes de fichiers


Lire le nom du groupe

filectime
fileinode
Fonctions sur les systèmes de fichiers
PHP Manual

filegroup

(PHP 4, PHP 5)

filegroup — Lire le nom du groupe

Description

int filegroup ( string $filename )

Lit le nom du groupe. L'identifiant de groupe est retourné au format numérique, utilisez posix_getgrgid() pour retrouver le nom du groupe.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne le groupe qui possède le fichier filename, ou FALSE en cas d'erreur. L'identifiant de groupe est retourné au format numérique, utilisez posix_getgrgid() pour retrouver le nom du groupe. En cas d'erreur, FALSE est retourné.

Exemples

Exemple #1 Recherche le groupe d'un fichier

<?php
$filename = 'index.php';
print_r(posix_getgrgid(filegroup($filename)));
?>

Erreurs / Exceptions

Si une erreur survient, une alerte de type E_WARNING sera émise.

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • fileowner() - Lit l'identifiant du propriétaire d'un fichier
  • posix_getgrgid() - Retourne des informations sur un groupe
  • safe_mode_gid

filectime
fileinode
Fonctions sur les systèmes de fichiers


Lit le numéro d'inode du fichier

filegroup
filemtime
Fonctions sur les systèmes de fichiers
PHP Manual

fileinode

(PHP 4, PHP 5)

fileinode — Lit le numéro d'inode du fichier

Description

int fileinode ( string $filename )

Lit le numéro d'inode du fichier.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne le numéro d'inode du fichier, ou FALSE si une erreur survient.

Exemples

Exemple #1 Comparaison de l'inode d'un fichier avec le fichier courant

<?php
$filename = 'index.php';
if (getmyinode() == fileinode($filename)) {
    echo 'Vous vérifiez le fichier courant.';
}
?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • getmyinode() - Retourne l'inode du script
  • stat() - Renvoie les informations à propos d'un fichier

filegroup
filemtime
Fonctions sur les systèmes de fichiers


Lit la date de dernière modification du fichier

fileinode
fileowner
Fonctions sur les systèmes de fichiers
PHP Manual

filemtime

(PHP 4, PHP 5)

filemtime — Lit la date de dernière modification du fichier

Description

int filemtime ( string $filename )

Lit la date à laquelle le fichier a été modifié pour la dernière fois.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Renvoie la date de dernière modification du fichier filename ou FALSE si une erreur survient. Utilisez date() sur ce résultat pour obtenir une date de modification humainement lisible.

Exemples

Exemple #1 Exemple avec filemtime()

<?php
// Affichera : somefile.txt a été modifié le : December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename a été modifié le : " . date ("F d Y H:i:s.", filemtime($filename));
}
?>

Notes

Note: Notez que la précision temporelle peut varier selon le système de fichiers utilisé.

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • filectime() - Renvoie la date de dernier accès à un inode
  • stat() - Renvoie les informations à propos d'un fichier
  • touch() - Modifie la date de modification et de dernier accès d'un fichier
  • getlastmod() - Retourne la date de dernière modification de la page

fileinode
fileowner
Fonctions sur les systèmes de fichiers


Lit l'identifiant du propriétaire d'un fichier

filemtime
fileperms
Fonctions sur les systèmes de fichiers
PHP Manual

fileowner

(PHP 4, PHP 5)

fileowner — Lit l'identifiant du propriétaire d'un fichier

Description

int fileowner ( string $filename )

Lit l'identifiant du propriétaire d'un fichier.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Renvoie l'identifiant du propriétaire du fichier filename, ou FALSE si une erreur survient. L'identifiant du propriétaire est numérique : il faut utiliser posix_getpwuid() pour retrouver le nom d'utilisateur.

Exemples

Exemple #1 Recherche du propriétaire d'un fichier

<?php
$filename = 'index.php';
print_r(posix_getpwuid(fileowner($filename)));
?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • filegroup() - Lire le nom du groupe
  • stat() - Renvoie les informations à propos d'un fichier
  • posix_getpwuid() - Retourne des informations sur un utilisateur

filemtime
fileperms
Fonctions sur les systèmes de fichiers


Lit les droits d'un fichier

fileowner
filesize
Fonctions sur les systèmes de fichiers
PHP Manual

fileperms

(PHP 4, PHP 5)

fileperms — Lit les droits d'un fichier

Description

int fileperms ( string $filename )

Lit les droits du fichier donné.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne les droits du fichier ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage des droits en valeur octale

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

L'exemple ci-dessus va afficher :

1777
0644

Exemple #2 Affichage de tous les droits

<?php
$perms = fileperms('/etc/passwd');

if (($perms & 0xC000) == 0xC000) {
    // Socket
    $info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
    // Lien symbolique
    $info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
    // Régulier
    $info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
    // Block special
    $info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
    // Dossier
    $info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
    // Caractère spécial
    $info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
    // pipe FIFO
    $info = 'p';
} else {
    // Inconnu
    $info = 'u';
}

// Autres
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : '-'));

// Groupe
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : '-'));

// Tout le monde
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>

L'exemple ci-dessus va afficher :

-rw-r--r--

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • chmod() - Change le mode du fichier
  • is_readable() - Indique si un fichier existe et est accessible en lecture
  • stat() - Renvoie les informations à propos d'un fichier

fileowner
filesize
Fonctions sur les systèmes de fichiers


Lit la taille d'un fichier

fileperms
filetype
Fonctions sur les systèmes de fichiers
PHP Manual

filesize

(PHP 4, PHP 5)

filesize — Lit la taille d'un fichier

Description

int filesize ( string $filename )

Lit la taille du fichier donné.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Renvoie la taille du fichier filename, ou FALSE (et génère une erreur de niveau E_WARNING) en cas d'erreur.

Note: Comme le type entier de PHP est signé et que de nombreuses plates-formes utilisent des entiers de 32 bits, filesize() peut retourner des résultats étranges pour les fichiers de taille supérieure à 2 Go. Pour les fichiers entre 2 et 4 Go, cela peut être contourné avec sprintf("%u", filesize($file)).

Exemples

Exemple #1 Exemple avec filesize()

<?php

// Affiche e.g.  somefile.txt: 1024 bytes

$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';

?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • file_exists() - Vérifie si un fichier ou un dossier existe

fileperms
filetype
Fonctions sur les systèmes de fichiers


Retourne le type de fichier

filesize
flock
Fonctions sur les systèmes de fichiers
PHP Manual

filetype

(PHP 4, PHP 5)

filetype — Retourne le type de fichier

Description

string filetype ( string $filename )

Retourne le type d'un fichier donné.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne le type du fichier. Les réponses possibles sont : fifo, char, dir, block, link, file socket et unknown.

Retourne FALSE en cas d'erreur. filetype() va aussi émettre une erreur E_NOTICE si l'appel stat échoue, ou si le type de fichier est inconnu.

Exemples

Exemple #1 Exemple avec filetype()

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • is_file() - Indique si le fichier est un véritable fichier
  • is_link() - Indique si le fichier est un lien symbolique
  • file_exists() - Vérifie si un fichier ou un dossier existe
  • stat() - Renvoie les informations à propos d'un fichier
  • mime_content_type() - Détecte le type de contenu d'un fichier (obsolète)

filesize
flock
Fonctions sur les systèmes de fichiers


Verrouille le fichier

filetype
fnmatch
Fonctions sur les systèmes de fichiers
PHP Manual

flock

(PHP 4, PHP 5)

flock — Verrouille le fichier

Description

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock() permet de réaliser un système simple de verrous écriture/lecture, qui peut être utilisé sur n'importe quelle plate-forme (Unix et Windows compris).

Le verrou est également levé avec la fonction fclose() (qui est également automatiquement appelée lors de la fin du script).

PHP dispose d'un système complet de verrouillage de fichiers. Tous les programmes qui accèdent au fichier doivent utiliser la même méthode de verrouillage pour qu'il soit efficace. Par défaut, cette fonction se bloquera tant que le verrou demandé ne sera pas acquis ; ce comportement peut être contrôlé (sur les systèmes différents de Windows) avec l'option LOCK_NB dont vous trouverez la documentation ci-dessous.

Liste de paramètres

handle

Un pointeur de fichier ouvert.

operation

operation peut prendre une des valeurs suivantes :

  • LOCK_SH pour acquérir un verrou partagé (lecture).
  • LOCK_EX pour acquérir un verrou exclusif (écriture).
  • LOCK_UN pour libérer un verrou (partagé ou exclusif).

Il est également possible d'ajouter LOCK_NB comme masque d'une des opérations précédentes si vous ne voulez pas que la fonction flock() bloque durant le verrouillage. (non supporté sous Windows)

wouldblock

Ce troisième argument optionnel est défini à TRUE si le verrou doit bloquer le script (condition d'erreur EWOULDBLOCK) (non supporté sous Windows).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.2 | Le déverrouillage automatique lorsque la ressource de fichiers est fermée a été supprimée. Le déverrouillage doit maintenant être effectuée manuellement.
4.0.1 | Les constantes LOCK_XXX ont été ajoutées. Avant, vous deviez utiliser 1 pour LOCK_SH, 2 pour LOCK_EX, 3 pour LOCK_UN et 4 pour LOCK_NB

Exemples

Exemple #1 Exemple avec flock()

<?php

$fp = fopen("/tmp/lock.txt", "r+");

if (flock($fp, LOCK_EX)) { // pose un verrou exclusif
    ftruncate($fp, 0);     // effacement du contenu
    fwrite($fp, "Écrire dans un fichier\n");
    flock($fp, LOCK_UN);   // libère le verrou
} else {
    echo "Impossible de verrouiller le fichier !";
}

fclose($fp);

?>

Exemple #2 Exemple avec flock() en utilisant l'option LOCK_NB

<?php
$fp = fopen('/tmp/lock.txt', 'r+');

/* Activation de l'option LOCK_NB lors d'une opération LOCK_EX */
if(!flock($fp, LOCK_EX | LOCK_NB)) {
    echo 'Impossible d\'obtenir le verrou';
    exit(-1);
}

/* ... */

fclose($fp);
?>

Notes

Note: flock() est obligatoire sous Windows ainsi que sous quelques systèmes basés sur POSIX.

Note: Comme flock() requiert un pointeur de fichier, vous aurez peut être à utiliser un verrou spécial pour protéger l'accès au fichier que vous voulez tronquer en l'ouvrant en mode d'écriture (avec "w" ou "w+" comme argument de fopen()).

Avertissement

Assigner une autre valeur à l'argument handle dans ce code libèrera le verrou.

Avertissement

Sur certains systèmes d'exploitation, flock() est implémenté au niveau processus. Lorsque vous utilisez une API multithread comme ISAPI, vous risquez de ne pas pouvoir avoir confiance en flock() pour protéger vos fichiers contre d'autres scripts PHP qui fonctionnent en parallèle sur d'autres threads du même serveur.

flock() n'est pas supporté sur les vieux systèmes de fichiers comme FAT et ses dérivés, et elle retournera forcément FALSE sous ces environnements (ceci est particulièrement vrai pour les utilisateurs de Windows 98).

filetype
fnmatch
Fonctions sur les systèmes de fichiers


Repère un fichier à partir d'un masque de recherche

flock
fopen
Fonctions sur les systèmes de fichiers
PHP Manual

fnmatch

(PHP 4 >= 4.3.0, PHP 5)

fnmatch — Repère un fichier à partir d'un masque de recherche

Description

bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )

fnmatch() vérifie si la chaîne string va passer le masque Shell pattern.

Liste de paramètres

pattern

Le masque Shell.

string

La chaîne testée. Cette fonction est particulièrement utile pour les noms de fichier, mais peut également être utilisée sur des chaînes régulières.

L'utilisateur moyen de Shell peut être familier avec les masques Shell, ou tout au moins, leurs expressions les plus simples, comme '?' et '*'. De cette façon, utiliser fnmatch() au lieu de preg_match() pour des recherches peut être plus pratique pour les non-initiés.

flags

La valeur de flags peut être une combinaison des drapeaux suivants, joins avec l' opérateur binaire OR (|).

Liste des drapeaux possibles pour fnmatch()
Flag | Description
FNM_NOESCAPE | Désactive l'échappement des anti-slashes.
FNM_PATHNAME | Un slash dans une chaîne correspond uniquement à un slash dans le masque fourni.
FNM_PERIOD | Un point à la fin d'une chaîne doit correspondre exactement à un point dans le masque fourni.
FNM_CASEFOLD | Les correspondances tiennent compte de la casse. Fait parti de l'extension GNU.

Valeurs de retour

Retourne TRUE s'il y a des résultats, FALSE sinon.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.

Exemples

Exemple #1 Vérifier le nom d'une couleur avec un masque Shell

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "des formes de gris ...";
}
?>

Notes

Avertissement

Actuellement, cette fonction n'est pas disponible pour les systèmes non-POSIX.

Voir aussi

  • glob() - Recherche des chemins qui vérifient un masque
  • preg_match() - Expression rationnelle standard
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée

flock
fopen
Fonctions sur les systèmes de fichiers


Ouvre un fichier ou une URL

fnmatch
fpassthru
Fonctions sur les systèmes de fichiers
PHP Manual

fopen

(PHP 4, PHP 5)

fopen — Ouvre un fichier ou une URL

Description

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

fopen() crée une ressource nommée, spécifiée par le paramètre filename, sous la forme d'un flux.

Liste de paramètres

filename

Si filename est de la forme "protocole://", filename est supposé être une URL, et PHP va rechercher un gestionnaire de protocole adapté pour lire ce fichier. Si aucun gestionnaire pour ce protocole n'est disponible, PHP va émettre une alerte qui vous permettra de savoir que vous avez des problèmes dans votre script, et il tentera d'exploiter filename comme un fichier classique.

Si PHP décide que le fichier filename est un fichier local, il va essayer d'ouvrir un flux avec ce fichier. Le fichier doit être accessible à PHP. Il vous faut donc vous assurer que vous avez les droits d'accès à ce fichier. Si vous activez le safe mode, ou la directive open_basedir, d'autres conditions peuvent aussi s'appliquer.

Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.

Note: La liste des protocoles supportés est disponible sur Liste des protocoles supportés. Certains protocoles (appelés aussi wrappers ou gestionnaires) supportent des context et/ou des options dans le fichier php.ini. Référez-vous aux pages du manuel traitant le protocole, pour connaître la liste des options qui sont disponibles. ( e.g. l'option de php.ini user_agent est utilisée par le gestionnaire http).

Sous Windows, assurez-vous de bien protéger les antislash utilisés dans le chemin du fichier, ou bien utilisez des slashs.

<?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>

mode

Le paramètre mode spécifie le type d'accès désiré au flux. Il peut prendre les valeurs suivantes :

Liste des modes possibles pour la fonction fopen() en utilisant le paramètre mode
mode | Description
'r' | Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.
'r+' | Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.
'w' | Ouvre en écriture seule ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'w+' | Ouvre en lecture et écriture ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
'a' | Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
'a+' | Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
'x' | Crée et ouvre le fichier en lecture seule ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2 et fonctionne uniquement avec des fichiers locaux.
'x+' | Crée et ouvre le fichier en lecture et écriture ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2, et fonctionne uniquement avec des fichiers locaux.

Note: Les systèmes d'exploitation utilisent différents caractères pour les nouvelles lignes. Lorsque vous écrivez un fichier texte, et insérez une nouvelle ligne, vous devez utiliser le bon caractère pour votre système d'exploitation. Les systèmes Unix utilisent \n comme nouvelle ligne, les systèmes Windows utilisent \r\n, et les systèmes Macintosh utilisent \r.
Si vous n'utilisez pas le bon caractère de nouvelle ligne lors de l'écriture de vos fichiers, vous risquez d'ouvrir vos fichiers avec des applications qui donneront un aspect 'bizarre' au texte.
Windows propose un mode de traduction ('t'), qui va traduire automatiquement les caractères \n en \r\n lorsque vous travaillez sur le fichier. À l'inverse, vous pouvez utiliser l'option 'b' pour forcer le fichier a être écrit en mode binaire, sans traduction des données. Pour utiliser ces options, ajoutez 'b' ou 't' comme dernier caractère du paramètre mode.
Le mode de traduction par défaut dépend de l'interface SAPI et de la version de PHP que vous utilisez. Nous vous recommandons de toujours spécifier les options de traductions pour des raisons de portabilité. Vous devriez utiliser 't' lorsque vous écrivez des fichiers de texte, et le caractère \n pour définir vos fin de ligne, dans les scripts, mais que vous vous attendez à ce que le fichier soit relu par une application comme Notepad. Vous devriez toujours utiliser l'option 'b' dans les autres cas.
Si vous ne précisez pas 'b' lorsque vous travaillez avec des fichiers binaires, vous pourriez rencontrer des problèmes avec vos données, comme des images corrompues ou des caractères \r\n inopinés.

Note: Pour des raisons de portabilité, il est recommandé de toujours utiliser l'option 'b' lorsque vous ouvrez des fichiers avec fopen().

Note: À nouveau, pour des raisons de portabilité, il est fortement recommandé de réécrire les scripts qui utilisent l'option 't', pour qu'ils utilisent le bon caractère de nouvelle ligne, et le mode 'b'.

use_include_path

Le troisième paramètre optionnel use_include_path peut être défini à 1 ou à TRUE pour chercher le fichier dans l'include_path.

context

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Valeurs de retour

Retourne une ressource représentant le pointeur de fichier, ou FALSE si une erreur survient.

Erreurs / Exceptions

Si l'ouverture échoue, une alerte E_WARNING sera générée. Vous pouvez utiliser le caractère @ pour supprimer cette alerte.

Historique

Version | Description
4.3.2 | Depuis PHP 4.3.2, le mode par défaut est le mode binaire pour toutes les plates-formes qui font la distinction entre les modes binaire et texte. Si vous rencontrez des problèmes dans vos scripts après une mise à jour, essayez d'utiliser le flag 't' en attendant que vous rendiez votre script plus portable comme mentionné ci-dessus.
4.3.2 | Les options 'x' et 'x+'ont été ajoutés.

Exemples

Exemple #1 Exemple avec fopen()

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

Notes

Avertissement

Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les alertes. À partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Si vous rencontrez des problèmes en lecture ou écriture de fichier et que vous utilisez PHP en version module de serveur, n'oubliez pas que les fichiers auxquels vous accédez ne sont pas nécessairement accessibles au processus serveur.

Voir aussi

  • Liste des protocoles supportés
  • fclose() - Ferme un fichier
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fread() - Lecture du fichier en mode binaire
  • fwrite() - Écrit un fichier en mode binaire
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • file() - Lit le fichier et renvoie le résultat dans un tableau
  • file_exists() - Vérifie si un fichier ou un dossier existe
  • is_readable() - Indique si un fichier existe et est accessible en lecture
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • popen() - Crée un processus de pointeur de fichier
  • stream_context_create() - Crée un contexte de flux

fnmatch
fpassthru
Fonctions sur les systèmes de fichiers


Affiche le reste du fichier

fopen
fputcsv
Fonctions sur les systèmes de fichiers
PHP Manual

fpassthru

(PHP 4, PHP 5)

fpassthru — Affiche le reste du fichier

Description

int fpassthru ( resource $handle )

Lit tout le reste d'un fichier jusqu'à la fin et dirige le résultat vers la sortie standard.

Vous devez appeler la fonction rewind() pour réinitialiser le pointeur de fichier au début si vous avez déjà écrit des données dans le fichier.

Si vous voulez uniquement copier le contenu d'un fichier dans le buffer de sortie, sans le modifier auparavant ou placer le pointeur à un endroit particulier, vous devriez utiliser la fonction readfile(), ce qui vous évite d'appeler la fonction fopen() call.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

Valeurs de retour

Si une erreur survient, fpassthru() retourne FALSE. Sinon, fpassthru() retourne le nombre de caractères lus dans handle et passés à la sortie standard.

Exemples

Exemple #1 Utilisation de fpassthru() avec un fichier binaire

<?php

// ouvre un fichier en mode binaire
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// envoie les bons en-têtes
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// envoie le contenu du fichier, puis stoppe le script
fpassthru($fp);
exit;

?>

Notes

Note: Lorsque vous utilisez la fonction fpassthru() sur un fichier binaire sous Windows, assurez-vous d'avoir ouvert le fichier en mode binaire en ajoutant la lettre b au mode d'accès utilisé dans fopen().
Vous êtes encouragé à utiliser l'option b lorsque vous traitez des fichiers binaires, même si votre système ne le requiert pas, de façon à rendre vos scripts portables.

Voir aussi

  • readfile() - Affiche un fichier
  • fopen() - Ouvre un fichier ou une URL
  • popen() - Crée un processus de pointeur de fichier
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix

fopen
fputcsv
Fonctions sur les systèmes de fichiers


Formate une ligne en CSV et l'écrit dans un fichier

fpassthru
fputs
Fonctions sur les systèmes de fichiers
PHP Manual

fputcsv

(PHP 5 >= 5.1.0)

fputcsv — Formate une ligne en CSV et l'écrit dans un fichier

Description

int fputcsv ( resource $handle , array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )

fputcsv() formate la ligne passée sous forme de tableau fields, puis écrit le résultat dans le fichier handle.

Liste de paramètres

handle

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

fields

Un tableau de valeurs.

delimiter

Le paramètre optionnel delimiter spécifie le délimiteur (un seul caractère).

enclosure

Le paramètre enclosure spécifie le caractère d'encadrement (un seul caractère).

Valeurs de retour

Retourne la taille de la chaîne écrite ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fputcsv()

<?php

$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
}

fclose($fp);
?>

Notes

Note: Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

Voir aussi

  • fgetcsv() - Renvoie la ligne courante et cherche les champs CSV

fpassthru
fputs
Fonctions sur les systèmes de fichiers


Alias de fwrite

fputcsv
fread
Fonctions sur les systèmes de fichiers
PHP Manual

fputs

(PHP 4, PHP 5)

fputs — Alias de fwrite()

Description

Cette fonction est un alias de : fwrite().

fputcsv
fread
Fonctions sur les systèmes de fichiers


Lecture du fichier en mode binaire

fputs
fscanf
Fonctions sur les systèmes de fichiers
PHP Manual

fread

(PHP 4, PHP 5)

fread — Lecture du fichier en mode binaire

Description

string fread ( resource $handle , int $length )

fread() lit jusqu'à length octets dans le fichier référencé par handle. La lecture s'arrête lorsqu'une des conditions suivantes apparaît :

  • length octets ont été lus
  • la fin du fichier est atteinte
  • un paquet devient disponible (pour les flux réseaux)
  • 8192 octets ont été lus (après avoir ouvert un flux utilisateurs)

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

length

Taille length d'octets à lire.

Valeurs de retour

Retourne la chaîne lue, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec fread()

<?php
// Lit un fichier, et le place dans une chaîne
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Exemple #2 Exemple avec fread() et un fichier binaire

Avertissement

Sur les systèmes qui différencient les fichiers textes et binaires (i.e. Windows) le fichier doit être ouvert avec la lettre 'b' ajoutée au paramètre de mode de la fonction fopen().

<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Exemple #3 Exemple avec fread() et un fichier distant

Avertissement

Lorsque vous lisez depuis n'importe quelle source qui n'est pas un fichier local, comme des flux retournés lors de la lecture de fichiers distants ou depuis popen() et fsockopen(), la lecture s'arrête après la réception d'un paquet. Il faut donc faire des boucles pour collecter les données par paquet, comme présenté ci-dessous.

<?php
// Pour PHP 5 et suivant
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);
?>

Notes

Note: Si vous voulez lire le contenu d'un fichier dans une chaîne de caractères, utilisez plutôt file_get_contents() qui est bien plus rapide que le code ci-dessus.

Note: Noter que la fonction fread() lit la position courante du pointeur de fichier. Utilisez la fonction ftell() pour trouver la position courante du pointeur et la fonction rewind() pour réinitiliaser la position du pointeur.

Voir aussi

  • fwrite() - Écrit un fichier en mode binaire
  • fopen() - Ouvre un fichier ou une URL
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • popen() - Crée un processus de pointeur de fichier
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • fscanf() - Analyse un fichier en fonction d'un format
  • file() - Lit le fichier et renvoie le résultat dans un tableau
  • fpassthru() - Affiche le reste du fichier
  • ftell() - Renvoie la position courant du pointeur de fichier
  • rewind() - Replace le pointeur de fichier au début

fputs
fscanf
Fonctions sur les systèmes de fichiers


Analyse un fichier en fonction d'un format

fread
fseek
Fonctions sur les systèmes de fichiers
PHP Manual

fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf — Analyse un fichier en fonction d'un format

Description

mixed fscanf ( resource $handle , string $format [, mixed &$... ] )

La fonction fscanf() est similaire à la fonction sscanf(), sauf qu'elle prend un fichier en entrée, représentée par la ressource handle et interprète l'entrée en fonction du format format spécifié, qui est décrit dans la documentation de la fonction sprintf().

Tous les caractères blancs de la chaîne de formatage correspondent à autant d'espaces dans le flux d'entrée. Cela signifie qu'une tabulation \t dans la chaîne de format peut remplacer un espace simple dans le flux d'entrée.

Chaque appel à la fonction fscanf() lit une ligne du fichier.

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

format

Le format spécifié, tel que décrit dans la documentation de la fonction sprintf().

...

Les valeurs optionnelles à assigner.

Valeurs de retour

Si seulement 2 paramètres sont passés à la fonction, la valeur analysée sera retourné sous la forme d'un tableau. Si des paramètres optionnels sont passés, la fonction retournera le nombre de valeurs assignées. Les paramètres optionnels doivent être passés par référence.

Historique

Version | Description
4.3.0 | Avant PHP 4.3.0, le nombre maximum de caractères lus dans le fichier était de 512, ou bien jusqu'à la première nouvelle ligne "\n" : en fait, le premier des deux. Depuis PHP 4.3.0, des lignes de n'importe quelle taille peuvent être lues.

Exemples

Exemple #1 Exemple avec fscanf()

<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
    list ($name, $profession, $countrycode) = $userinfo;
    //... traitement des données
}
fclose($handle);
?>

Exemple #2 Contenu du fichier users.txt

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

Voir aussi

  • fread() - Lecture du fichier en mode binaire
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée

fread
fseek
Fonctions sur les systèmes de fichiers


Modifie la position du pointeur de fichier

fscanf
fstat
Fonctions sur les systèmes de fichiers
PHP Manual

fseek

(PHP 4, PHP 5)

fseek — Modifie la position du pointeur de fichier

Description

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

Modifie le curseur de position dans le fichier handle. La nouvelle position, mesurée en octets, à partir du début du fichier, est obtenue en additionnant la distance offset à la position whence.

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

offset

La position.

Pour se déplacer à une position avant la fin du fichier, vous devez passer une valeur négative à offset et définir le paramètre whence à la valeur SEEK_END.

whence

Les valeurs possibles pour whence sont :

  • SEEK_SET : la position finale vaut offset octets.
  • SEEK_CUR : la position finale sera la position courante, ajoutée à offset octets.
  • SEEK_END : la position finale vaut la position courante par rapport à la fin du fichier, ajoutée de offset octets.

Valeurs de retour

Retourne 0 en cas de succès, et sinon -1. Notez que positionner le pointeur au-delà de la fin du fichier n'est pas une erreur.

Exemples

Exemple #1 Exemple avec fseek()

<?php

$fp = fopen('somefile.txt', 'r');

// lit quelques données
$data = fgets($fp, 4096);

// retourne au début du fichier
// identique à rewind($fp);
fseek($fp, 0);

?>

Notes

Note: Si vous ouvrez le fichier avec le mode "a" ou "a+", toutes les données que vous écrirez dans le fichier seront toujours ajoutées, sans se soucier de la position dans le fichier.

Note: fseek() ne peut pas être utilisé sur les pointeurs retournés par fopen() s'ils sont au format HTTP ou FTP. fseek() donne également des résultats indéfinis pour les flux "append-only" (ouvert avec l'option "a").

Voir aussi

  • ftell() - Renvoie la position courant du pointeur de fichier
  • rewind() - Replace le pointeur de fichier au début

fscanf
fstat
Fonctions sur les systèmes de fichiers


Lit les informations sur un fichier à partir d'un pointeur de fichier

fseek
ftell
Fonctions sur les systèmes de fichiers
PHP Manual

fstat

(PHP 4, PHP 5)

fstat — Lit les informations sur un fichier à partir d'un pointeur de fichier

Description

array fstat ( resource $handle )

Rassemble les informations sur le fichier dont on connaît le pointeur handle. fstat() est similaire à la fonction stat(), hormis le fait qu'elle utilise un pointeur de fichier, au lieu d'un nom de fichier.

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

Valeurs de retour

Retourne un tableau contenant les statistiques pour le fichier ; le format de ce tableau est décrit en détail sur la page de documentation de la fonction stat().

Exemples

Exemple #1 Exemple avec fstat()

<?php

// ouvre un fichier
$fp = fopen("/etc/passwd", "r");

// lit des informations
$fstat = fstat($fp);

// ferme le fichier
fclose($fp);

// affiche le résultat
print_r(array_slice($fstat, 13));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

fseek
ftell
Fonctions sur les systèmes de fichiers


Renvoie la position courant du pointeur de fichier

fstat
ftruncate
Fonctions sur les systèmes de fichiers
PHP Manual

ftell

(PHP 4, PHP 5)

ftell — Renvoie la position courant du pointeur de fichier

Description

int ftell ( resource $handle )

Renvoie la position du pointeur courante du pointeur de fichier.

Liste de paramètres

handle

Le pointeur de fichier doit être valide, et avoir été correctement ouvert par fopen() ou popen(). ftell() donne des résultats non définis pour les flux "append-only" (ouvert avec le flag "a").

Valeurs de retour

Retourne la position courante du pointeur dans le fichier repéré par le pointeur handle sous la forme d'un entier, i.e., sa position dans le flux du fichier.

Si une erreur survient, la fonction retournera FALSE.

Exemples

Exemple #1 Exemple avec ftell()

<?php

// Ouvre un fichier et y lit quelques données
$fp = fopen("/etc/passwd", "r");
$data = fgets($fp, 12);

// Où en sommes-nous ?
echo ftell($fp); // 11

fclose($fp);

?>

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • popen() - Crée un processus de pointeur de fichier
  • fseek() - Modifie la position du pointeur de fichier
  • rewind() - Replace le pointeur de fichier au début

fstat
ftruncate
Fonctions sur les systèmes de fichiers


Tronque un fichier

ftell
fwrite
Fonctions sur les systèmes de fichiers
PHP Manual

ftruncate

(PHP 4, PHP 5)

ftruncate — Tronque un fichier

Description

bool ftruncate ( resource $handle , int $size )

Prend le pointeur de fichier handle et le tronque à la taille de size.

Liste de paramètres

handle

Le pointeur de fichier.

Note: Le pointeur handle doit avoir été ouvert en écriture.

size

La taille que l'on doit enlever.

Note: Si size est plus grand que la taille du fichier, ce dernier sera étendu par des octets nuls.
Si size est plus petit que la taille du fichier, le reste des données sera perdu.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
PHP 4.3.3 | Avant PHP 4.3.3, ftruncate() retournait un entier de valeur 1, en cas de succès, au lieu de la valeur boolean TRUE.

Exemples

Exemple #1 Exemple avec ftruncate()

<?php
$filename = 'lorem_ipsum.txt';

$handle = fopen($filename, 'r+');
ftruncate($handle, rand(1, filesize($filename)));
rewind($handle);
echo fread($handle, filesize($filename));
fclose($handle);
?>

Notes

Note: Le pointeur de fichier n'est pas modifié.

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • fseek() - Modifie la position du pointeur de fichier

ftell
fwrite
Fonctions sur les systèmes de fichiers


Écrit un fichier en mode binaire

ftruncate
glob
Fonctions sur les systèmes de fichiers
PHP Manual

fwrite

(PHP 4, PHP 5)

fwrite — Écrit un fichier en mode binaire

Description

int fwrite ( resource $handle , string $string [, int $length ] )

fwrite() écrit le contenu de la chaîne string dans le fichier pointé par handle.

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

string

La chaîne à écrire.

length

Si la longueur length est fournie, l'écriture s'arrêtera après length octets, ou à la fin de la chaîne (le premier des deux).

Notez que si length est fourni, alors l'option de configuration magic_quotes_runtime sera ignorée, et les slash seront conservés.

Valeurs de retour

fwrite() retourne le nombre d'octets écrits, ou FALSE si une erreur survient.

Notes

Note: Le fait d'écrire dans un flux peut se termine avant que la chaîne complète ne soit écrite. La valeur retournée par la fonction fwrite() peut être vérifiée comme ceci :

<?php
function fwrite_stream($fp, $string) {
    for ($written = 0; $written < strlen($string); $written += $fwrite) {
        $fwrite = fwrite($fp, substr($string, $written));
        if ($fwrite === false) {
            return $fwrite;
        }
    }
    return $written;
}
?>

Note: Sur les systèmes qui font la différence entre les fichiers binaires et les fichiers textes (par exemple, Windows), le fichier doit être ouvert avec l'option 'b' inclus dans le paramètre de mode de fopen().

Note: Si handle est ouvert en mode ajout (append), fwrite() sera atomique (sauf si la taille de string excède la taille du bloc du système de fichiers, sur quelques plates-formes, et tant que le fichier se trouve sur le système de fichiers local). Ainsi, il n'est pas nécessaire d'utiliser la fonction flock() sur une ressource avant d'appeler la fonction fwrite() ; toutes les données seront écrites sans interruption.

Note: Si l'on écrit 2 fois dans le fichier, les données seront ajoutées à la fin du fichier ; cela signifie que l'exemple suivant ne donnera pas le résultat attendu :

<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

// le contenu de 'data.txt' est maintenant 123 et non 23 !
?>

Exemples

Exemple #1 Exemple avec fwrite()

<?php
$filename = 'test.txt';
$somecontent = "Ajout de chaîne dans le fichier\n";

// Assurons nous que le fichier est accessible en écriture
if (is_writable($filename)) {

    // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
    // Le pointeur de fichier est placé à la fin du fichier
    // c'est là que $somecontent sera placé
    if (!$handle = fopen($filename, 'a')) {
         echo "Impossible d'ouvrir le fichier ($filename)";
         exit;
    }

    // Ecrivons quelque chose dans notre fichier.
    if (fwrite($handle, $somecontent) === FALSE) {
        echo "Impossible d'écrire dans le fichier ($filename)";
        exit;
    }

    echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi";

    fclose($handle);

} else {
    echo "Le fichier $filename n'est pas accessible en écriture.";
}
?>

Voir aussi

  • fread() - Lecture du fichier en mode binaire
  • fopen() - Ouvre un fichier ou une URL
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • popen() - Crée un processus de pointeur de fichier
  • file_get_contents() - Lit tout un fichier dans une chaîne

ftruncate
glob
Fonctions sur les systèmes de fichiers


Recherche des chemins qui vérifient un masque

fwrite
is_dir
Fonctions sur les systèmes de fichiers
PHP Manual

glob

(PHP 4 >= 4.3.0, PHP 5)

glob — Recherche des chemins qui vérifient un masque

Description

array glob ( string $pattern [, int $flags = 0 ] )

glob() recherche tous les chemins qui vérifient le masque pattern, en suivant les règles utilisées par la fonction glob() de la libc, qui sont les mêmes que celles utilisées par le Shell en général.

Liste de paramètres

pattern

Le masque. Aucun remplacement de tilde (~) ou de paramètre n'est fait.

flags

Les drapeaux valides sont :

  • GLOB_MARK : Ajoute un slash final à chaque dossier retourné
  • GLOB_NOSORT : Retourne les fichiers tant l'ordre d'apparence (pas de tri)
  • GLOB_NOCHECK : Retourne le masque de recherche si aucun fichier n'a été trouvé
  • GLOB_NOESCAPE : Ne protège aucun métacaractère d'un antislash
  • GLOB_BRACE : Remplace {a,b,c} par 'a', 'b' ou 'c'
  • GLOB_ONLYDIR : Ne retourne que les dossiers qui vérifient le masque
  • GLOB_ERR : Stop lors d'une erreur (comme des dossiers non lisibles), par défaut, les erreurs sont ignorées.

Valeurs de retour

Retourne un tableau contenant les fichiers et dossiers correspondant au masque, un tableau vide s'il n'y a aucune correspondance, ou FALSE si une erreur survient.

Note: Sous certains systèmes, il est impossible de distinguer un masque vide d'une erreur.

Historique

Version | Description
5.1.0 | GLOB_ERR a été ajouté
4.3.3 | GLOB_ONLYDIR devient disponible sous Windows ainsi que sur les autres systèmes n'utilisant pas la bibliothèque GNU C.

Exemples

Exemple #1 Un moyen pratique pour remplacer opendir() par glob()

<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename occupe " . filesize($filename) . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

funclist.txt occupe 44686
funcsummary.txt occupe 267625
quickref.txt occupe 137820

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Note: Cette fonction n'est pas disponible sur quelques systèmes (e.g. vieux Sun OS).

Note: Le drapeau GLOB_BRACE n'est pas disponible sur quelques systèmes non GNU, comme Solaris.

Voir aussi

  • opendir() - Ouvre un dossier, et récupère un pointeur dessus
  • readdir() - Lit une entrée du dossier
  • closedir() - Ferme le pointeur sur le dossier
  • fnmatch() - Repère un fichier à partir d'un masque de recherche

fwrite
is_dir
Fonctions sur les systèmes de fichiers


Indique si le fichier est un dossier

glob
is_executable
Fonctions sur les systèmes de fichiers
PHP Manual

is_dir

(PHP 4, PHP 5)

is_dir — Indique si le fichier est un dossier

Description

bool is_dir ( string $filename )

Indique si le fichier est un dossier.

Liste de paramètres

filename

Chemin vers le fichier. Si filename est un fichier relatif, il sera vérifié relativement au dossier de travail courant. Si filename est un lien symbolique ou un lien conventionnel, le lien sera résolu et vérifié. Si vous avez activé le safe mode, ou open_basedir, plus de restrictions peuvent être appliquées.

Valeurs de retour

Retourne TRUE si le nom de fichier existe et que c'est un dossier, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_dir()

<?php
var_dump(is_dir('a_file.txt'));
var_dump(is_dir('bogus_dir/abc'));

var_dump(is_dir('..')); // un dossier au dessus
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(false)
bool(true)

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • chdir() - Change de dossier
  • dir
  • opendir() - Ouvre un dossier, et récupère un pointeur dessus
  • is_file() - Indique si le fichier est un véritable fichier
  • is_link() - Indique si le fichier est un lien symbolique

glob
is_executable
Fonctions sur les systèmes de fichiers


Indique si le fichier est exécutable

is_dir
is_file
Fonctions sur les systèmes de fichiers
PHP Manual

is_executable

(PHP 4, PHP 5)

is_executable — Indique si le fichier est exécutable

Description

bool is_executable ( string $filename )

Indique si le fichier est exécutable.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne TRUE si le fichier existe et qu'il est exécutable, FALSE sinon.

Historique

Version | Description
5.0.0 | is_executable() devient disponible sous Windows

Exemples

Exemple #1 Exemple avec is_executable()

<?php

$file = '/home/vincent/somefile.sh';

if (is_executable($file)) {
    echo $file.' est exécutable';
} else {
    echo $file.' n\'est pas exécutable';
}

?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • is_file() - Indique si le fichier est un véritable fichier
  • is_link() - Indique si le fichier est un lien symbolique

is_dir
is_file
Fonctions sur les systèmes de fichiers


Indique si le fichier est un véritable fichier

is_executable
is_link
Fonctions sur les systèmes de fichiers
PHP Manual

is_file

(PHP 4, PHP 5)

is_file — Indique si le fichier est un véritable fichier

Description

bool is_file ( string $filename )

Indique si le fichier est un véritable fichier.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne TRUE si le nom de fichier existe et que c'est un fichier régulier, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_file()

<?php
var_dump(is_file('a_file.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • is_link() - Indique si le fichier est un lien symbolique

is_executable
is_link
Fonctions sur les systèmes de fichiers


Indique si le fichier est un lien symbolique

is_file
is_readable
Fonctions sur les systèmes de fichiers
PHP Manual

is_link

(PHP 4, PHP 5)

is_link — Indique si le fichier est un lien symbolique

Description

bool is_link ( string $filename )

Indique si le fichier est un lien symbolique.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne TRUE si le nom de fichier existe et que c'est un lien symbolique, FALSE sinon.

Exemples

Exemple #1 Création et vérification d'un lien symbolique

<?php
$link = 'uploads';

if (is_link($link)) {
    echo(readlink($link));
} else {
    symlink('uploads.php', $link);
}
?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • is_file() - Indique si le fichier est un véritable fichier
  • readlink() - Renvoie le contenu d'un lien symbolique

is_file
is_readable
Fonctions sur les systèmes de fichiers


Indique si un fichier existe et est accessible en lecture

is_link
is_uploaded_file
Fonctions sur les systèmes de fichiers
PHP Manual

is_readable

(PHP 4, PHP 5)

is_readable — Indique si un fichier existe et est accessible en lecture

Description

bool is_readable ( string $filename )

Indique si un fichier existe et est accessible en lecture.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne TRUE si le fichier ou le dossier spécifié par filename existe et est accessible en lecture, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_readable()

<?php
$filename = 'test.txt';
if (is_readable($filename)) {
    echo 'Le fichier est accessible en lecture';
} else {
    echo 'Le fichier n\'est pas accessible en lecture !';
}
?>

Notes

N'oubliez pas que PHP accède aux fichiers avec les mêmes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). Les limitations du safe mode ne sont prises en compte qu'à partir de PHP 5.1.5.

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Note: La vérification est effectuée en utilisant l'UID/GID réel au lieu de l'effectif.

Voir aussi

  • is_writable() - Indique si un fichier est accessible en écriture
  • file_exists() - Vérifie si un fichier ou un dossier existe
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier

is_link
is_uploaded_file
Fonctions sur les systèmes de fichiers


Indique si le fichier a été téléchargé par HTTP POST

is_readable
is_writable
Fonctions sur les systèmes de fichiers
PHP Manual

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

is_uploaded_file — Indique si le fichier a été téléchargé par HTTP POST

Description

bool is_uploaded_file ( string $filename )

Retourne TRUE si le fichier filename a été téléchargé par HTTP POST. Cela est très utile pour vous assurer qu'un utilisateur n'essaie pas d'accéder intentionnellement à un fichier auquel il n'a pas droit (comme /etc/passwd).

Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révèlent leur contenu à l'utilisateur, ou même aux utilisateurs du même système.

Pour un fonctionnement correct, la fonction is_uploaded_file() nécessite un argument comme $_FILES['userfile']['tmp_name'], - le nom du fichier téléchargé sur la machine cliente $_FILES['userfile']['name'] ne fonctionne pas.

Liste de paramètres

filename

Le nom de fichier à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo "File ". $_FILES['userfile']['name'] ." téléchargé avec succès.\n";
   echo "Affichage du contenu\n";
   readfile($_FILES['userfile']['tmp_name']);
} else {
   echo "Attaque possible par téléchargement de fichier : ";
   echo "Nom du fichier : '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>

Voir aussi

  • move_uploaded_file() - Déplace un fichier téléchargé
  • $_FILES
  • Voir la section sur la gestion des téléchargements pour un exemple d'utilisation simple.

is_readable
is_writable
Fonctions sur les systèmes de fichiers


Indique si un fichier est accessible en écriture

is_uploaded_file
is_writeable
Fonctions sur les systèmes de fichiers
PHP Manual

is_writable

(PHP 4, PHP 5)

is_writable — Indique si un fichier est accessible en écriture

Description

bool is_writable ( string $filename )

retourne TRUE si filename existe et est accessible en écriture. L'argument peut être le nom d'un dossier, vous permettant ainsi de vérifier si le dossier est accessible en écriture.

N'oubliez pas que PHP accède aux fichiers avec les mêmes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). Les limitations du safe mode ne sont pas prises en compte.

Liste de paramètres

filename

Le nom du fichier à vérifier.

Valeurs de retour

Retourne TRUE si le fichier filename existe et est accessible en écriture.

Exemples

Exemple #1 Exemple avec is_writable()

<?php
$filename = 'test.txt';
if (is_writable($filename)) {
    echo 'Le fichier est accessible en écriture.';
} else {
    echo 'Le fichier n\'est pas accessible en écriture !';
}
?>

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • is_readable() - Indique si un fichier existe et est accessible en lecture
  • file_exists() - Vérifie si un fichier ou un dossier existe
  • fwrite() - Écrit un fichier en mode binaire

is_uploaded_file
is_writeable
Fonctions sur les systèmes de fichiers


Alias de is_writable

is_writable
lchgrp
Fonctions sur les systèmes de fichiers
PHP Manual

is_writeable

(PHP 4, PHP 5)

is_writeable — Alias de is_writable()

Description

Cette fonction est un alias de : is_writable().

is_writable
lchgrp
Fonctions sur les systèmes de fichiers


Change l'appartenance du groupe d'un lien symbolique

is_writeable
lchown
Fonctions sur les systèmes de fichiers
PHP Manual

lchgrp

(PHP 5 >= 5.1.2)

lchgrp — Change l'appartenance du groupe d'un lien symbolique

Description

bool lchgrp ( string $filename , mixed $group )

Essaie de remplacer le groupe du lien symbolique filename par le groupe group.

Seul le super-utilisateur peut changer le groupe d'un lien symbolique arbitrairement; les autres utilisateurs peuvent changer le groupe d'un lien symbolique vers un groupe auquel cet utilisateur est membre.

Liste de paramètres

filename

chemin vers le lien symbolique.

group

Le groupe, spécifié par son nom ou son numéro.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Modification du groupe d'un lien symbolique

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchgrp($link, 8);
?>

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Note: Cette fonction n'est pas implémentée sous Windows.

Voir aussi

  • chgrp() - Change le groupe d'un fichier
  • lchown() - Change le propriétaire d'un lien symbolique
  • chown() - Change le propriétaire du fichier
  • chmod() - Change le mode du fichier

is_writeable
lchown
Fonctions sur les systèmes de fichiers


Change le propriétaire d'un lien symbolique

lchgrp
link
Fonctions sur les systèmes de fichiers
PHP Manual

lchown

(PHP 5 >= 5.1.2)

lchown — Change le propriétaire d'un lien symbolique

Description

bool lchown ( string $filename , mixed $user )

Essaie de remplacer le propriétaire du lien symbolique filename par l'utilisateur user

Seul le super-utilisateur peut changer le propriétaire d'un lien symbolique.

Liste de paramètres

filename

Chemin vers le fichier.

user

L'utilisateur, par son nom ou son numéro.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Modification du propriétaire d'un lien symbolique

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchown($link, 8);
?>

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Note: Cette fonction n'est pas implémentée sous Windows.

Voir aussi

  • chown() - Change le propriétaire du fichier
  • lchgrp() - Change l'appartenance du groupe d'un lien symbolique
  • chgrp() - Change le groupe d'un fichier
  • chmod() - Change le mode du fichier

lchgrp
link
Fonctions sur les systèmes de fichiers


Crée un lien

lchown
linkinfo
Fonctions sur les systèmes de fichiers
PHP Manual

link

(PHP 4, PHP 5)

link — Crée un lien

Description

bool link ( string $from_path , string $to_path )

link() crée un lien.

Liste de paramètres

from_path

Le nom du lien.

to_path

La cible du lien.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Windows uniquement : cette fonction requiert un niveau de fonctionnement avec des droits élevés, ou bien la désactivation de UAC.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).

Exemples

Exemple #1 Création d'un lien

<?php

$from_path = 'source.ext'; // Ceci est le fichier qui existe actuellement
$to_path = 'newfile.ext';  // Ceci sera le nom du fichier que vous voulez lier

link($from_path, $to_path);
?>

Notes

Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Voir aussi

  • symlink() - Crée un lien symbolique
  • readlink() - Renvoie le contenu d'un lien symbolique
  • linkinfo() - Renvoie les informations d'un lien

lchown
linkinfo
Fonctions sur les systèmes de fichiers


Renvoie les informations d'un lien

link
lstat
Fonctions sur les systèmes de fichiers
PHP Manual

linkinfo

(PHP 4, PHP 5)

linkinfo — Renvoie les informations d'un lien

Description

int linkinfo ( string $path )

Renvoie les informations d'un lien.

Cette fonction est utilisée pour vérifier si un lien (pointé par le chemin path) existe réellement (en utilisant la même méthode que la macro S_ISLNK, définie dans stat.h).

Liste de paramètres

path

Chemin vers le lien.

Valeurs de retour

linkinfo() retourne le champ st_dev de la structure stat Unix C, retourné par l'appel système lstat. Si une erreur survient, la fonction retournera 0 ou FALSE.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).

Exemples

Exemple #1 Exemple avec linkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Voir aussi

  • symlink() - Crée un lien symbolique
  • link() - Crée un lien
  • readlink() - Renvoie le contenu d'un lien symbolique

link
lstat
Fonctions sur les systèmes de fichiers


Retourne les informations sur un fichier ou un lien symbolique

linkinfo
mkdir
Fonctions sur les systèmes de fichiers
PHP Manual

lstat

(PHP 4, PHP 5)

lstat — Retourne les informations sur un fichier ou un lien symbolique

Description

array lstat ( string $filename )

Retourne les informations sur un fichier ou un lien symbolique.

Liste de paramètres

filename

Chemin vers un fichier ou un lien symbolique.

Valeurs de retour

Voyez la page de manuel de stat() pour plus d'informations sur la structure du tableau retourné par lstat(). Cette fonction est identique à la fonction stat() hormis le fait que si filename est un lien symbolique, les informations seront alors basées sur le lien symbolique.

Exemples

Exemple #1 Comparaison entre stat() et lstat()

<?php
symlink('uploads.php', 'uploads');

// On met en évidence la différence d'informations
array_diff(stat('uploads'), lstat('uploads'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Informations qui diffèrent entre les 2 fichiers.

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • stat() - Renvoie les informations à propos d'un fichier

linkinfo
mkdir
Fonctions sur les systèmes de fichiers


Crée un dossier

lstat
move_uploaded_file
Fonctions sur les systèmes de fichiers
PHP Manual

mkdir

(PHP 4, PHP 5)

mkdir — Crée un dossier

Description

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

Tente de créer un dossier.

Liste de paramètres

pathname

Le chemin du dossier.

mode

Le mode par défaut est le mode 0777, ce qui correspond au maximum de droits possible. Pour plus d'informations sur les modes, lisez en détail la documentation de la fonction chmod().

Note: mode est ignoré sous Windows.

Notez que vous aurez à préciser le mode en base octale, ce qui signifie que vous aurez probablement un 0 comme premier chiffre. Le mode sera aussi modifié par le umask courant, que vous pouvez modifier avec la fonction umask().

recursive

Permet la création de répertoires imbriqués spécifiés dans le pathname. Par défaut, vaut FALSE.

context

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | Le paramètre recursive a été ajouté
5.0.0 | Depuis PHP 5.0.0, la fonction mkdir() peut aussi être utilisée avec certains gestionnaires d'URL. Reportez-vous à Liste des protocoles supportés, pour une liste des gestionnaires qui supportent mkdir().
4.2.0 | Le paramètre mode est devenu.

Exemples

Exemple #1 Exemple avec mkdir()

<?php
mkdir("/path/to/my/dir", 0700);
?>

Exemple #2 mkdir() utilisant le paramètre recursive

<?php
// Structure de répertoire désirée
$structure = './depth1/depth2/depth3/';

// Pour créer une stucture imbriquée, le paramètre $recursive
// doit être spécifié.

if (!mkdir($structure, 0, true)) {
    die('Echec lors de la création des répertoires...');
}

// ...
?>

Notes

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • rmdir() - Efface un dossier

lstat
move_uploaded_file
Fonctions sur les systèmes de fichiers


Déplace un fichier téléchargé

mkdir
parse_ini_file
Fonctions sur les systèmes de fichiers
PHP Manual

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file — Déplace un fichier téléchargé

Description

bool move_uploaded_file ( string $filename , string $destination )

S'assure que le fichier filename est un fichier téléchargé par HTTP POST. Si le fichier est valide, il est déplacé jusqu'à destination.

Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révèlent leur contenu à l'utilisateur, ou même aux utilisateurs du même système.

Liste de paramètres

filename

Le nom du fichier téléchargé.

destination

La destination du fichier déplacé.

Valeurs de retour

Si filename n'est pas valide, rien ne se passe, et move_uploaded_file() retournera FALSE.

Si filename est un fichier téléchargé, mais que pour une raison quelconque, il ne peut être déplacé, rien ne se passe, et move_uploaded_file() retourne FALSE. De plus, une alerte sera affichée.

Exemples

Exemple #1 Téléchargement de plusieurs fichiers

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

Notes

Note: move_uploaded_file() n'est pas affectée par les restrictions liées au safe mode et à l'open_basedir. Cependant, les restrictions sont placées uniquement sur le paramètre destination qui permet le déplacement des fichiers chargés dans lesquels filename peut entrer en conflit avec ces restrictions. move_uploaded_file() permet de s'assurer de la sécurité de cette opération en autorisant le déplacement des seuls fichiers chargés via PHP.

Avertissement

Si le fichier de destination existe déjà, il sera écrasé.

Voir aussi

  • is_uploaded_file() - Indique si le fichier a été téléchargé par HTTP POST
  • Voir la section sur les téléchargements de fichiers pour un exemple d'utilisation

mkdir
parse_ini_file
Fonctions sur les systèmes de fichiers


Analyse un fichier de configuration

move_uploaded_file
parse_ini_string
Fonctions sur les systèmes de fichiers
PHP Manual

parse_ini_file

(PHP 4, PHP 5)

parse_ini_file — Analyse un fichier de configuration

Description

array parse_ini_file ( string $filename [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_file() charge le fichier filename et retourne les configurations qui s'y trouvent sous forme d'un tableau associatif.

La structure des fichiers de configuration lus est similaire à celle de php.ini.

Liste de paramètres

filename

Le nom du fichier de configuration à analyser.

process_sections

En passant le deuxième paramètre optionnel à process_sections, vous obtiendrez un tableau multidimensionnel avec les noms des sections. La valeur par défaut de ce paramètre est FALSE

scanner_mode

Peut être INI_SCANNER_NORMAL (défaut) ou INI_SCANNER_RAW. Si INI_SCANNER_RAW est fourni, alors les valeurs en option ne seront pas analysées.

Valeurs de retour

La configuration est retournée sous la forme d'un tableau associatif en cas de succès, et FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Ajout du paramètre optionnel scanner_mode. Les guillemets simples doivent maintenant être utilisés autour des assignements de variables. Le caractère dièse (#) ne peut plus être utilisé comme commentaire, et émettra une alerte si vous l'utilisez.
5.2.7 | En cas d'erreur de syntaxe, la fonction retourne maintenant FALSE au lieu d'un tableau vide.
5.2.4 | Les noms de section et les clés, composés de numéros, sont maintenant évalués comme des entiers, ceux commençant par un 0 seront évalués comme des octales, et ceux commençant par 0x, comme des hexadécimaux.
5.0.0 | Les valeurs entourées par des guillemets, peuvent contenir des nouvelles lignes.
4.2.1 | Cette fonction est maintenant affectée par le safe mode et l'open_basedir.

Exemples

Exemple #1 Contenu du fichier sample.ini

; Ceci est un fichier de configuration
; Les commentaires commencent par ';', comme dans php.ini

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

Exemple #2 Exemple avec parse_ini_file()

Les constantes peuvent aussi être utilisées dans le fichier .ini, ce qui fait que si vous définissez une constante avant d'exécuter parse_ini_file(), elle sera intégrée dans les résultats. Seules les valeurs de configuration sont remplacées par leur équivalent en constantes. Par exemple :

<?php

define('BIRD', 'Dodo bird');

// Analyse sans sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Analyse avec sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [one] => 1
    [five] => 5
    [animal] => Dodo bird
    [path] => /usr/local/bin
    [URL] => http://www.example.com/~username
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] => Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [third_section] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

)

Exemple #3 parse_ini_file() pour analyser un fichier php.ini

<?php
// Une fonction simple pour comparer les résultats ci-dessous
function yesno($expression)
{
    return($expression ? 'Yes' : 'No');
}

// Lit le chemin du php.ini en utilisant php_ini_loaded_file()
// cette fonction est disponible depuis PHP 5.2.4
$ini_path = php_ini_loaded_file();

// Analyse de php.ini
$ini = parse_ini_file($ini_path);

// Affichage et comparatif des valeurs. Notez que get_cfg_var()
// va donner les mêmes résultats entre les résultats analysés et chargés
echo '(analysé) magic_quotes_gpc = ' . yesno($ini['magic_quotes_gpc']) . PHP_EOL;
echo '(chargé ) magic_quotes_gpc = ' . yesno(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

(analysé) magic_quotes_gpc = Yes
(chargé ) magic_quotes_gpc = Yes

Notes

Note: Cette fonction n'a rien a voir avec le fichier php.ini. Ce dernier a déjà était traité lorsque vous commencez à exécuter votre script. Cette fonction peut vous permettre de lire vos propres fichiers de configuration.

Note: Si une valeur du fichier ini contient des données non-alphanumériques, il faut la protéger en la plaçant entre guillemets doubles (").

Note: Il existe des mots réservés qui ne doivent pas être utilisés en tant que clés dans les fichiers ini. Cela inclut : null, yes, no, true, false, on et off. Les valeurs null, no et false donnent "", yes et true donnent "1". Les caractères ?{}|&~![()^" ne doivent pas être utilisés n'importe où dans la clé et ont une signification spéciale dans la valeur.

Voir aussi

  • parse_ini_string() - Analyse une chaîne de configuration

move_uploaded_file
parse_ini_string
Fonctions sur les systèmes de fichiers


Analyse une chaîne de configuration

parse_ini_file
pathinfo
Fonctions sur les systèmes de fichiers
PHP Manual

parse_ini_string

(PHP 5 >= 5.3.0)

parse_ini_string — Analyse une chaîne de configuration

Description

array parse_ini_string ( string $ini [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )

parse_ini_string() retourne la configuration dans une chaîne de type ini dans un tableau associatif.

La structure de la chaîne doit être la même que celle du fichier php.ini.

Liste de paramètres

ini

Le contenu de type ini à analyser.

process_sections

En activant le paramètre process_sections avec TRUE, vous obtiendrez un tableau multidimensionnel, avec les noms de sections et de directives. La valeur par défaut du paramètre process_sections est FALSE

scanner_mode

Peut prendre les valeurs des constantes INI_SCANNER_NORMAL (par défaut) ou INI_SCANNER_RAW. Si INI_SCANNER_RAW est utilisé, les valeurs des options ne seront pas analysées.

Valeurs de retour

Les directives sont retournées sous forme de tableau array en cas de succès, et FALSE en cas d'erreur.

Notes

Note: Il y a plusieurs mots réservés que ne doivent pas être utilisés comme clé dans les fichiers .ini. Cela inclut : null, yes, no, true, false, on, off, none. Les valeurs null, no et false sont retournées comme "" (chaîne vide); les valeurs yes, true, on sont retournées comme "1". Les caractères {}|&~![()^" ne doivent être utilisés nulle part dans les clés, et ont une signification spéciale dans les valeurs.

Voir aussi

  • parse_ini_file() - Analyse un fichier de configuration

parse_ini_file
pathinfo
Fonctions sur les systèmes de fichiers


Retourne des informations sur un chemin système

parse_ini_string
pclose
Fonctions sur les systèmes de fichiers
PHP Manual

pathinfo

(PHP 4 >= 4.0.3, PHP 5)

pathinfo — Retourne des informations sur un chemin système

Description

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

pathinfo() retourne un tableau associatif, contenant les informations sur le chemin path.

Liste de paramètres

path

Le chemin à vérifier.

options

Vous pouvez spécifier quels seront les éléments retournés avec le paramètre optionnel options. Il est composé des constantes PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION et PATHINFO_FILENAME. Par défaut, tous les éléments sont retournés.

Valeurs de retour

Le tableau associatif contenant les éléments suivants est retourné : dirname, basename, extension (s'il y en a), et filename.

Si options est utilisé, cette fonction retournera une chaîne de caractères si tous les éléments ne sont pas demandés.

Historique

Version | Description
5.2.0 | La constante PATHINFO_FILENAME a été ajoutée.

Exemples

Exemple #1 Exemple avec pathinfo()

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // depuis PHP 5.2.0
?>

L'exemple ci-dessus va afficher :

/www/htdocs/inc
lib.inc.php
php
lib.inc

Notes

Note: Pour plus d'informations sur la lecture du chemin courant, lisez la section sur les variables prédéfinies.

Voir aussi

  • dirname() - Renvoie le nom du dossier
  • basename() - Sépare le nom du fichier et le nom du dossier
  • parse_url() - Analyse une URL et retourne ses composants
  • realpath() - Retourne le chemin canonique absolu

parse_ini_string
pclose
Fonctions sur les systèmes de fichiers


Ferme un processus de pointeur de fichier

pathinfo
popen
Fonctions sur les systèmes de fichiers
PHP Manual

pclose

(PHP 4, PHP 5)

pclose — Ferme un processus de pointeur de fichier

Description

int pclose ( resource $handle )

Ferme un processus de pointeur de fichier ouvert avec la fonction popen().

Liste de paramètres

handle

Le pointeur de fichier doit être valide, et avoir été ouvert correctement par popen().

Valeurs de retour

Retourne le statut final du processus exécuté.

Exemples

Exemple #1 Exemple avec pclose()

<?php
$handle = popen('/bin/ls', 'r');
pclose($handle);
?>

Voir aussi

  • popen() - Crée un processus de pointeur de fichier

pathinfo
popen
Fonctions sur les systèmes de fichiers


Crée un processus de pointeur de fichier

pclose
readfile
Fonctions sur les systèmes de fichiers
PHP Manual

popen

(PHP 4, PHP 5)

popen — Crée un processus de pointeur de fichier

Description

resource popen ( string $command , string $mode )

Crée un processus de pointeur de fichier, exécuté en effectuant un fork de la commande fournie par le paramètre command.

Liste de paramètres

command

La commande

mode

Le mode

Valeurs de retour

Retourne un pointeur de fichier identique à celui retourné par fopen(), hormis le fait qu'il sera unidirectionnel (lecture seule, ou écriture seule), et doit être terminé par pclose(). Ce pointeur peut être utilisé avec fgets(), fgetss() et fwrite().

Si une erreur survient, la fonction retournera FALSE.

Exemples

Exemple #1 Exemple avec popen()

<?php
$handle = popen("/bin/ls", "r");
?>

Si la commande à exécuter n'a pu être trouvée, une ressource valide sera retournée. Cela semble étrange, mais c'est pratique. cela vous permet d'accéder aux messages d'erreur qui ont été retournés par le Shell :

Exemple #2 Exemple avec popen()

<?php
error_reporting(E_ALL);

/* Ajoute une redirection pour que vous puissiez lire stderr. */
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>

Notes

Note: Si vous souhaitez un support bidirectionnel (two-way), utilisez la fonction proc_open().

Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.

Avertissement

Lorsque le safe mode est activé, la chaîne de commande est échappée avec la fonction escapeshellcmd(). Par exemple, echo y | echo x devient echo y \| echo x.

Voir aussi

  • pclose() - Ferme un processus de pointeur de fichier
  • fopen() - Ouvre un fichier ou une URL
  • proc_open() - Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties

pclose
readfile
Fonctions sur les systèmes de fichiers


Affiche un fichier

popen
readlink
Fonctions sur les systèmes de fichiers
PHP Manual

readfile

(PHP 4, PHP 5)

readfile — Affiche un fichier

Description

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Lit un fichier et l'envoie dans le buffer de sortie.

Liste de paramètres

filename

Le fichier à lire.

use_include_path

Vous pouvez utiliser le deuxième paramètre optionnel pour explorer le dossier include_path, en passant la valeur de TRUE.

context

Une ressource de contexte.

Valeurs de retour

Retourne le nombre d'octets lus depuis le fichier. Si une erreur survient, retourne FALSE, et à moins que la fonction n'ait été appelée avec @readfile(), un message d'erreur est affiché.

Exemples

Exemple #1 Forcer le téléchargement en utilisant readfile()

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Fenêtre d'ouverture / de sauvegarde

Notes

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Voir aussi

  • fpassthru() - Affiche le reste du fichier
  • file() - Lit le fichier et renvoie le résultat dans un tableau
  • fopen() - Ouvre un fichier ou une URL
  • include() - include
  • require() - require
  • virtual() - Effectue une sous-requête Apache
  • file_get_contents() - Lit tout un fichier dans une chaîne
  • Liste des protocoles supportés

popen
readlink
Fonctions sur les systèmes de fichiers


Renvoie le contenu d'un lien symbolique

readfile
realpath_cache_get
Fonctions sur les systèmes de fichiers
PHP Manual

readlink

(PHP 4, PHP 5)

readlink — Renvoie le contenu d'un lien symbolique

Description

string readlink ( string $path )

readlink() effectue la même chose que la fonction C readlink.

Liste de paramètres

path

Le chemin vers le lien symbolique.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).

Valeurs de retour

Retourne le contenu du lien symbolique ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec readlink()

<?php

// Affiche e.g. /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');

?>

Voir aussi

  • is_link() - Indique si le fichier est un lien symbolique
  • symlink() - Crée un lien symbolique
  • linkinfo() - Renvoie les informations d'un lien

readfile
realpath_cache_get
Fonctions sur les systèmes de fichiers


Récupère le chemin complet de toutes les entrées du cache

readlink
realpath_cache_size
Fonctions sur les systèmes de fichiers
PHP Manual

realpath_cache_get

(PHP 5 >= 5.3.2)

realpath_cache_get — Récupère le chemin complet de toutes les entrées du cache

Description

array realpath_cache_get ( void )

Récupère le chemin complet de toutes les entrées du cache.

Valeurs de retour

Retourne un tableau des chemins complets de toutes les entrées du cache. Les clés sont les chemins originaux des entrées, et les valeurs, des tableaux d'éléments, contenant le chemin résolu, la date d'expiration et d'autres options du cache.

Exemples

Exemple #1 Exemple avec realpath_cache_get()

<?php
var_dump(realpath_cache_get());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["/test"]=>
  array(4) {
    ["key"]=>
    int(123456789)
    ["is_dir"]=>
    bool(true)
    ["realpath"]=>
    string(5) "/test"
    ["expires"]=>
    int(1260318939)
  }
  ["/test/test.php"]=>
  array(4) {
    ["key"]=>
    int(987654321)
    ["is_dir"]=>
    bool(false)
    ["realpath"]=>
    string(12) "/root/test.php"
    ["expires"]=>
    int(1260318939)
  }
}

Voir aussi

  • realpath_cache_size() - Récupère la taille du cache

readlink
realpath_cache_size
Fonctions sur les systèmes de fichiers


Récupère la taille du cache

realpath_cache_get
realpath
Fonctions sur les systèmes de fichiers
PHP Manual

realpath_cache_size

(PHP 5 >= 5.3.2)

realpath_cache_size — Récupère la taille du cache

Description

int realpath_cache_size ( void )

Récupère la quantité de mémoire utilisée par le cache.

Valeurs de retour

Retourne la quantité de mémoire utilisée par le cache.

Exemples

Exemple #1 Exemple avec realpath_cache_size()

<?php
var_dump(realpath_cache_size());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(412)

Voir aussi

  • realpath_cache_get() - Récupère le chemin complet de toutes les entrées du cache

realpath_cache_get
realpath
Fonctions sur les systèmes de fichiers


Retourne le chemin canonique absolu

realpath_cache_size
rename
Fonctions sur les systèmes de fichiers
PHP Manual

realpath

(PHP 4, PHP 5)

realpath — Retourne le chemin canonique absolu

Description

string realpath ( string $path )

realpath() résout tous les liens symboliques, et remplace toutes les références /./, /../ et / de path puis retourne le chemin canonique absolu ainsi trouvé.

Liste de paramètres

path

Le chemin à vérifier.

Valeurs de retour

Retourne le chemin canonique absolu ainsi trouvé. Le résultat ne contient aucun lien symbolique, /./ ou /../.

realpath() retourne FALSE si une erreur survient, e.g. si le fichier n'existe pas.

Note: Le script qui s'exécute doit avoir les permissions en exécution sur tous les dossiers de la structure, sinon, la fonction realpath() retournera FALSE.

Historique

Version | Description
5.3.0 | Avant cette version, realpath() n'échouera pas sous les systèmes *BSD que si le dernier path n'existe pas.

Exemples

Exemple #1 Exemple avec realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>

L'exemple ci-dessus va afficher :

/etc/passwd

Exemple #2 Exemple avec realpath() sous Windows

Sous Windows, realpath() changera les chemins de style Unix e, chemins de style Windows.

<?php
echo realpath('/windows/system32');
?>

L'exemple ci-dessus va afficher :

C:\WINDOWS\System32

Voir aussi

  • basename() - Sépare le nom du fichier et le nom du dossier
  • dirname() - Renvoie le nom du dossier
  • pathinfo() - Retourne des informations sur un chemin système

realpath_cache_size
rename
Fonctions sur les systèmes de fichiers


Renomme un fichier ou un dossier

realpath
rewind
Fonctions sur les systèmes de fichiers
PHP Manual

rename

(PHP 4, PHP 5)

rename — Renomme un fichier ou un dossier

Description

bool rename ( string $oldname , string $newname [, resource $context ] )

Tente de renommer oldname en newname.

Liste de paramètres

oldname

Note: L'ancien nom. Le gestionnaire utilisé dans le paramètre oldname DOIT être le même que celui utilisé dans newname.

newname

Le nouveau nom.

context

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | rename() peut aussi être utilisée avec certains gestionnaires d'URL. Reportez vous à Liste des protocoles supportés pour une liste des gestionnaires qui supportent rename().
4.3.3 | rename() ne pouvait pas renommer des fichiers entre différentes partitions Unix.

Exemples

Exemple #1 Exemple avec rename()

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Voir aussi

  • copy() - Copie un fichier
  • unlink() - Efface un fichier
  • move_uploaded_file() - Déplace un fichier téléchargé

realpath
rewind
Fonctions sur les systèmes de fichiers


Replace le pointeur de fichier au début

rename
rmdir
Fonctions sur les systèmes de fichiers
PHP Manual

rewind

(PHP 4, PHP 5)

rewind — Replace le pointeur de fichier au début

Description

bool rewind ( resource $handle )

Replace le pointeur de fichier handle au début du flux.

Note: Si vous avez ouvert le fichier en mode d'ajout ("a" ou "a+"), toutes les données que vous écrirez dans ce fichier seront toujours ajoutées, sans se soucier de la position du pointeur de fichier.

Liste de paramètres

handle

Le pointeur de fichier doit être valide, et avoir été correctement ouvert par fopen().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec rewind()

<?php
$handle = fopen('output.txt', 'r+');

fwrite($handle, 'Really long sentence.');
rewind($handle);
fwrite($handle, 'Foo');
rewind($handle);

echo fread($handle, filesize('output.txt'));

fclose($handle);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Foolly long sentence.

Voir aussi

  • fread() - Lecture du fichier en mode binaire
  • fseek() - Modifie la position du pointeur de fichier
  • ftell() - Renvoie la position courant du pointeur de fichier
  • fwrite() - Écrit un fichier en mode binaire

rename
rmdir
Fonctions sur les systèmes de fichiers


Efface un dossier

rewind
set_file_buffer
Fonctions sur les systèmes de fichiers
PHP Manual

rmdir

(PHP 4, PHP 5)

rmdir — Efface un dossier

Description

bool rmdir ( string $dirname [, resource $context ] )

Tente d'effacer le dossier dont le chemin est dirname. Le dossier doit être vide, et le script doit avoir les autorisations adéquates. Une alerte de niveau E_WARNING sera générée en cas d'échec.

Liste de paramètres

dirname

Le chemin vers le dossier.

context

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | Depuis PHP 5.0.0, rmdir() peut aussi être utilisée avec certains gestionnaires d'URL. Reportez vous à Liste des protocoles supportés pour une liste des gestionnaires qui supportent rmdir().

Exemples

Exemple #1 Exemple avec rmdir()

<?php
if (!is_dir('examples')) {
    mkdir('examples');
}

rmdir('examples');
?>

Notes

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Voir aussi

  • is_dir() - Indique si le fichier est un dossier
  • mkdir() - Crée un dossier
  • unlink() - Efface un fichier

rewind
set_file_buffer
Fonctions sur les systèmes de fichiers


Alias de stream_set_write_buffer

rmdir
stat
Fonctions sur les systèmes de fichiers
PHP Manual

set_file_buffer

(PHP 4, PHP 5)

set_file_buffer — Alias de stream_set_write_buffer()

Description

Cette fonction est un alias de : stream_set_write_buffer().

rmdir
stat
Fonctions sur les systèmes de fichiers


Renvoie les informations à propos d'un fichier

set_file_buffer
symlink
Fonctions sur les systèmes de fichiers
PHP Manual

stat

(PHP 4, PHP 5)

stat — Renvoie les informations à propos d'un fichier

Description

array stat ( string $filename )

Renvoie les informations à propos du fichier filename. Si filename est un lien symbolique, les informations proviennent du fichier lui-même, et non du lien symbolique.

lstat() est identique à stat() sauf que les informations seront alors basées sur le lien symbolique.

Liste de paramètres

filename

Le chemin vers le fichier.

Valeurs de retour

Format du résultat de stat() et fstat()
Numéro | Nom (depuis PHP 4.0.6) | Description
0 | dev | volume
1 | ino | Numéro d'inode (*)
2 | mode | droit d'accès à l'inode
3 | nlink | nombre de liens
4 | uid | userid du propriétaire (*)
5 | gid | groupid du propriétaire (*)
6 | rdev | type du volume, si le volume est une inode
7 | size | taille en octets
8 | atime | date de dernier accès (Unix timestamp)
9 | mtime | date de dernière modification (Unix timestamp)
10 | ctime | date de dernier changement d'inode (Unix timestamp)
11 | blksize | taille de bloc (**)
12 | blocks | nombre de blocs de 512 octets alloués (**)
* - Sous Windows, vaut toujours 0.

* - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (e.g. Windows) retournent -1.

En cas d'erreur, stat() retourne FALSE.

Erreurs / Exceptions

Si une erreur survient, une alerte de type E_WARNING est émise.

Historique

Version | Description
4.0.6 | En plus de retourner ces attributs dans un tableau numérique, ils peuvent être lus à l'aide de leurs indices, tels que notés près de chacun des paramètres

Exemples

Exemple #1 Exemple avec stat()

<?php
/* Récupération des informations */
$stat = stat('C:\php\php.exe');

/*
 * Affichage de la date et heure de l'accès à ce fichier,
 * identique à l'appel à la fonction fileatime()
 */
echo 'Date et heure d\'accès : ' . $stat['atime'];

/*
 * Affiche de la date et heure de modification du fichier,
 * identique à l'appel à la fonction filemtime()
 */
echo 'Date et heure de modification : ' . $stat['mtime'];

/* Affichage du numéro du device */
echo 'Numéro du Device : ' . $stat['dev'];
?>

Exemple #2 Utilisation des informations issues de stat() conjointement avec la fonction touch()

<?php
/* Récupération des informations issues de la fonction stat */
$stat = stat('C:\php\php.exe');

/* L'accès aux informations a-t-il échoué ? */
if (!$stat) {
    echo 'L\'appel à stat() a échoué...';
} else {
    /*
     * Nous voulons que la date et heure d'accès soit d'une
     * semaine avant la date courante.
     */
    $atime = $stat['atime'] + 604800;

    /* Touchons le fichier ! */
    if(!touch('some_file.txt', time(), $atime)) {
        echo 'Échec lors de l\'appel à la fonction touch()...';
    } else {
        echo 'L\'appel à touch() a réussi...';
    }
}
?>

Notes

Note: Notez que la précision temporelle peut varier selon le système de fichiers utilisé.

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().

Voir aussi

  • lstat() - Retourne les informations sur un fichier ou un lien symbolique
  • fstat() - Lit les informations sur un fichier à partir d'un pointeur de fichier
  • filemtime() - Lit la date de dernière modification du fichier
  • filegroup() - Lire le nom du groupe

set_file_buffer
symlink
Fonctions sur les systèmes de fichiers


Crée un lien symbolique

stat
tempnam
Fonctions sur les systèmes de fichiers
PHP Manual

symlink

(PHP 4, PHP 5)

symlink — Crée un lien symbolique

Description

bool symlink ( string $target , string $link )

symlink() crée un lien symbolique pour l'objet target avec le nom de link.

Liste de paramètres

target

La cible du lien.

link

Le nom du lien.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).

Exemples

Exemple #1 Création d'un lien symbolique

<?php
$target = 'uploads.php';
$link = 'uploads';
symlink($target, $link);

echo readlink($link);
?>

Notes

Note: Pour Windows uniquement : cette fonction n'est disponible que pour Windows Vista/Windows Server 2008 ou supérieur. Pour les versions antérieures, cette fonction ne supporte pas les liens symboliques.

Voir aussi

  • link() - Crée un lien
  • readlink() - Renvoie le contenu d'un lien symbolique
  • linkinfo() - Renvoie les informations d'un lien

stat
tempnam
Fonctions sur les systèmes de fichiers


Crée un fichier avec un nom unique

symlink
tmpfile
Fonctions sur les systèmes de fichiers
PHP Manual

tempnam

(PHP 4, PHP 5)

tempnam — Crée un fichier avec un nom unique

Description

string tempnam ( string $dir , string $prefix )

Crée un fichier dont le nom est unique, ayant comme permissions d'accès 0600, dans le dossier spécifié. Si le dossier n'existe pas, tempnam() tentera de créer un fichier dans le dossier temporaire système, et retournera son nom.

Liste de paramètres

dir

Le dossier dans lequel le fichier temporaire sera créé.

prefix

Le préfixe du fichier temporaire généré.

Note: Windows utilise seulement les 3 premiers caractères du préfixe.

Valeurs de retour

Retourne un nouveau fichier temporaire, ou FALSE si une erreur survient.

Historique

Version | Description
4.0.6 | Avant PHP 4.0.6, le comportement de tempnam() dépendait du système sous-jacent. Sous Windows, la variable d'environnement TMP remplace le paramètre dir ; sous Linux, la variable d'environnement TMPDIR a la priorité, tandis que pour les OS en système SVR4, le paramètre dir sera toujours utilisé, si le dossier qu'il représente existe. Consultez votre documentation sur tempnam(3) pour plus de détails.
4.0.3 | Le comportement de cette fonction a été modifié en PHP 4.0.3. Le fichier temporaire est aussi créé pour éviter des conflits si le fichier apparaît dans le système de fichiers entre le moment où la chaîne est générée et avant que le script n'ait terminé la création du fichier. Notez que vous devez effacer le fichier si vous n'en avez plus besoin, car cela n'est pas fait automatiquement.

Exemples

Exemple #1 Exemple avec tempnam()

<?php
$tmpfname = tempnam("/tmp", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, "Écriture dans le fichier temporaire");
fclose($handle);

// traitement

unlink($tmpfname);
?>

Notes

Note: Si PHP ne peut pas créer un fichier dans le dossier spécifié par le paramètre dir, il tentera dans le dossier par défaut du système. Sous les systèmes de fichiers NTFS, ceci arrive également si le dossier dir contient plus de 65534 fichiers.

Voir aussi

  • tmpfile() - Crée un fichier temporaire
  • sys_get_temp_dir() - Retourne le chemin du répertoire utilisé pour les fichiers temporaires
  • unlink() - Efface un fichier

symlink
tmpfile
Fonctions sur les systèmes de fichiers


Crée un fichier temporaire

tempnam
touch
Fonctions sur les systèmes de fichiers
PHP Manual

tmpfile

(PHP 4, PHP 5)

tmpfile — Crée un fichier temporaire

Description

resource tmpfile ( void )

Crée un fichier temporaire avec un nom unique, ouvert en écriture et lecture (w+), et retourne un pointeur de fichier.

Ce fichier sera automatiquement effacé lorsqu'il sera fermé (avec fclose()), ou lorsque le script sera terminé.

Pour plus de détails, consultez votre documentation système sur la fonction tmpfile(3), et sur stdio.h.

Valeurs de retour

Retourne un pointeur de fichier, identique à celui retourné par la fonction fopen(), pour le nouveau fichier ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec tmpfile()

<?php
$temp = tmpfile();
fwrite($temp, "Écriture dans le fichier temporaire");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // ceci va effacer le fichier
?>

L'exemple ci-dessus va afficher :

writing to tempfile

Voir aussi

  • tempnam() - Crée un fichier avec un nom unique
  • sys_get_temp_dir() - Retourne le chemin du répertoire utilisé pour les fichiers temporaires

tempnam
touch
Fonctions sur les systèmes de fichiers


Modifie la date de modification et de dernier accès d'un fichier

tmpfile
umask
Fonctions sur les systèmes de fichiers
PHP Manual

touch

(PHP 4, PHP 5)

touch — Modifie la date de modification et de dernier accès d'un fichier

Description

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

Tente de forcer la date de modification du fichier désigné par le paramètre filename à la date de spécifiée par le paramètre time. Notez bien que la date de dernier accès est modifiée, quelque soit le nombre de paramètres.

Si le fichier n'existe pas, PHP tentera de le créer.

Liste de paramètres

filename

Le nom du fichier à créer.

time

La date de création. Si time est omis, c'est l'heure courante qui est utilisée.

atime

Si le troisième paramètre atime est fourni, il est utilisé comme date de dernier accès.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Il devient possible de changer la date et heure de modification d'un dossier sous Windows.

Exemples

Exemple #1 Exemple avec touch()

<?php
if (touch($FileName)) {
    echo "La date de modification de $FileName a été modifié à la date courante";
} else {
    echo "Désolé, il est impossible de changer la date de modification de $FileName";
}
?>

Exemple #2 Exemple avec touch() en utilisant le paramètre time

<?php
/*
 * Ceci est la date et heure du dernier accès, nous y ajoutons 1 heure
 * dans le passé.
 */
$time = time() - 3600;

/* Touchons le fichier ! */
if (!touch('some_file.txt', $time)) {
    echo 'Whoops, une erreur est survenue...';
} else {
    echo 'L\'appel à la fonction touch() a réussi';
}
?>

Notes

Note: Notez que la précision temporelle peut varier selon le système de fichiers utilisé.

Avertissement

Avant la version 5.3.0 de PHP, il n'était pas possible de changer la date et heure de modification d'un dossier avec cette fonction sous Windows.

tmpfile
umask
Fonctions sur les systèmes de fichiers


Change le "umask" courant

touch
unlink
Fonctions sur les systèmes de fichiers
PHP Manual

umask

(PHP 4, PHP 5)

umask — Change le "umask" courant

Description

int umask ([ int $mask ] )

umask() change le umask de PHP et le remplace par mask : mask & 0777 puis, retourne le vieux umask. Lorsque PHP est utilisé comme module de serveur, le umask reprend sa valeur à la fin de chaque script.

Liste de paramètres

mask

Le nouvel umask.

Valeurs de retour

umask(), appelée sans arguments, retourne simplement le umask courant, sinon, ce sera l'ancien umask qui sera retourné.

Exemples

Exemple #1 Exemple avec umask()

<?php
$old = umask(0);
chmod("/path/some_dir/some_file.txt", 0755);
umask($old);

// Vérification
if ($old != umask()) {
    die('Une erreur est survenue lors de la modification des droits');
}
?>

Notes

Note: Évitez d'utiliser cette fonction sur un serveur Web multithreadé. Il vaut mieux changer les droits d'un dossier avec la fonction chmod(), après la création du dossier. En utilisant umask(), vous risquez de rencontrer des comportements indéfinis au niveau des autres scripts et du serveur, car ils utilisent tous le même umask.

touch
unlink
Fonctions sur les systèmes de fichiers


Efface un fichier

umask
Inotify
Fonctions sur les systèmes de fichiers
PHP Manual

unlink

(PHP 4, PHP 5)

unlink — Efface un fichier

Description

bool unlink ( string $filename [, resource $context ] )

Efface filename. Identique à la fonction Unix C unlink(). Une alerte de niveau E_WARNING sera générée en cas d'échec.

Liste de paramètres

filename

Chemin vers le fichier.

context

Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à Fonctions sur les flux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | Depuis PHP 5.0.0, unlink() peut aussi être utilisée avec quelques protocoles d'URL. Voyez Liste des protocoles supportés pour une liste des protocoles supportant unlink().

Exemples

Exemple #1 Exemple avec unlink()

<?php
$fh = fopen('test.html', 'a');
fwrite($fh, '<h1>Hello world!</h1>');
fclose($fh);

unlink('test.html');
?>

Voir aussi

  • rmdir() - Efface un dossier

umask
Inotify
Fonctions sur les systèmes de fichiers


Inotify

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation/Configuration
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Inotify
    • inotify_add_watch — Ajoute un point de surveillance à une instance inotify
    • inotify_init — Initialise une instance inotify
    • inotify_queue_len — Retourne le nombre d'événements qui sont survenus
    • inotify_read — Lit les événements dans une instance inotify
    • inotify_rm_watch — Supprime un point de surveillance d'une instance inotify
unlink
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

L'extension inotify fait l'interface avec les fonctions inotify_init(), inotify_add_watch() et inotify_rm_watch().

Comme la fonction C inotify_init() retourne un pointeur de fichier, la fonction PHP inotify_init() retourne un flux, à utiliser avec les fonctions standard de flux, telle que stream_select(), stream_set_blocking() et fclose(). inotify_read() remplace l'approche en langage C de lecture des événements.

Inotify
Installation/Configuration
Inotify


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation/Configuration
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Inotify


Pré-requis

Cette extension requiert Linux 2.6.13 ou plus récent, et une version récente de libC.

Installation/Configuration
Installation/Configuration
Installation/Configuration


Installation/Configuration
PHP Manual

Installation/Configuration

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/inotify.

Pré-requis
Configuration à l'exécution
Installation/Configuration
PHP Manual


Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Installation/Configuration
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit un flux de données, retourné par inotify_init().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes Inotify sont utilisables avec les fonctions inotify_add_watch() et/ou retournées par la fonction inotify_read()
IN_ACCESS ( integer )
Le fichier a été accédé (lu) (*)
IN_MODIFY ( integer )
Le fichier a été modifié (*)
IN_ATTRIB ( integer )
Les métadonnées ont changé (e.g. les permissions, la date de modification, etc.) (*)
IN_CLOSE_WRITE ( integer )
Le fichier ouvert en écriture a été refermé (*)
IN_CLOSE_NOWRITE ( integer )
Le fichier non-ouvert en écriture a été refermé (*)
IN_OPEN ( integer )
Le fichier a été ouvert (*)
IN_MOVED_TO ( integer )
Fichier déplacé dans un dossier surveillé (*)
IN_MOVED_FROM ( integer )
Fichier déplacé dans d'un dossier surveillé (*)
IN_CREATE ( integer )
Fichier ou dossier créé dans un dossier surveillé (*)
IN_DELETE ( integer )
Fichier ou dossier supprimé dans un dossier surveillé (*)
IN_DELETE_SELF ( integer )
Les fichiers ou dossiers surveillés ont été supprimés
IN_MOVE_SELF ( integer )
Les fichiers ou dossiers surveillés ont été déplacés
IN_CLOSE ( integer )
Égal à IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE ( integer )
Égal à IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS ( integer )
Composition de toutes les constantes précédentes
IN_UNMOUNT ( integer )
Le système de fichiers contenant les objets surveillés a été démonté
IN_Q_OVERFLOW ( integer )
Queue d'événements en dépassement de capacité (wd vaut -1 pour cet événement)
IN_IGNORED ( integer )
La surveillance a été retirée (explicitement par inotify_rm_watch() ou par ce que le fichier a été supprimé, ou que le système de fichiers a été démonté)
IN_ISDIR ( integer )
Le sujet de cet événement est un dossier
IN_ONLYDIR ( integer )
Ne surveille que le chemin, si c'est un dossier (Depuis Linux 2.6.15)
IN_DONT_FOLLOW ( integer )
Ne déréférence pas le chemin si c'est un lien symbolique (Depuis Linux 2.6.15)
IN_MASK_ADD ( integer )
Ajoute les événements au masque de surveillance pour ce chemin, s'il existe déjà (au lieu de remplacer).
IN_ONESHOT ( integer )
Surveille le chemin de cet événement, puis le supprime de la liste de surveillance.

Note: Les événements marqués par un astérisque (*) ci-dessus peuvent survenir pour des fichiers dans des dossiers sous surveillance.

Types de ressources
Fonctions Inotify
Inotify


Fonctions Inotify

Sommaire

  • inotify_add_watch — Ajoute un point de surveillance à une instance inotify
  • inotify_init — Initialise une instance inotify
  • inotify_queue_len — Retourne le nombre d'événements qui sont survenus
  • inotify_read — Lit les événements dans une instance inotify
  • inotify_rm_watch — Supprime un point de surveillance d'une instance inotify
Constantes pré-définies
inotify_add_watch
Inotify


Ajoute un point de surveillance à une instance inotify

Fonctions Inotify
inotify_init
Fonctions Inotify
PHP Manual

inotify_add_watch

(PECL inotify >= 0.1.2)

inotify_add_watch — Ajoute un point de surveillance à une instance inotify

Description

int inotify_add_watch ( resource $inotify_instance , string $pathname , int $mask )

inotify_add_watch() ajoute un point de surveillance à une instance inotify ou modifie un point de surveillnace en cours vers un nouveau fichier ou dossier spécifié par le chemin pathname.

Utiliser inotify_add_watch() sur un objet déjà en surveillance modifie la configuration. Utiliser la constante IN_MASK_ADD ajoute les événements (OR logique).

Liste de paramètres

inotify_instance

Ressource returnée par inotify_init()

pathname

Fichier ou dossier à surveiller.

mask

Événements à surveiller. Voyez Constantes pré-définies.

Valeurs de retour

La valeur retournée est un pointeur inotify unique (inotify instance wide).

Voir aussi

  • inotify_init() - Initialise une instance inotify

Fonctions Inotify
inotify_init
Fonctions Inotify


Initialise une instance inotify

inotify_add_watch
inotify_queue_len
Fonctions Inotify
PHP Manual

inotify_init

(PECL inotify >= 0.1.2)

inotify_init — Initialise une instance inotify

Description

resource inotify_init ( void )

Initialise une instance inotify pour utiliser avec la fonction inotify_add_watch()

Valeurs de retour

Un flux ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple d'utilisatio d'inotify

<?php
// Crée une instance inotify
$fd = inotify_init();

// Surveille les modifications des métadonées du fichier __FILE__ (e.g. mtime)
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);

// Génère un événement
touch(__FILE__);

// Lit les événements
$events = inotify_read($fd);
print_r($events);

// Les méthodes suivantes permettent d'utiliser les fonctions inotify sans bloquer sur inotify_read():

// - Utiliser stream_select() sur $fd:
$read = array($fd);
$write = null;
$except = null;
stream_select($read,$write,$except,0);

// - Utiliser stream_set_blocking() sur $fd
stream_set_blocking($fd, 0);
inotify_read($fd); // Does no block, and return false if no events are pending

// - Utiliser inotify_queue_len() pour vérifier la taille de la file d'attente
$queue_len = inotify_queue_len($fd); // If > 0, inotify_read() will not block

// Arrêt de la surveillance de __FILE__
inotify_rm_watch($fd, $watch_descriptor);

// Destruction de l'instance inotify
// Cela aurait arrêté toutes les surveillance si ce n'était pas déjà fait
fclose($fd);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(
  array(
    'wd' => 1,     // Egale le $watch_descriptor
    'mask' => 4,   // Le bit IN_ATTRIB est activé
    'cookie' => 0, // identifiant uique pour relier des événements (e.g.
                   // IN_MOVE_FROM et IN_MOVE_TO)
    'name' => '',  // Le nom du fichier (e.g. si un dossier était sous surveillance)
  ),
);

Voir aussi

  • inotify_add_watch() - Ajoute un point de surveillance à une instance inotify
  • inotify_rm_watch() - Supprime un point de surveillance d'une instance inotify
  • inotify_queue_len() - Retourne le nombre d'événements qui sont survenus
  • inotify_read() - Lit les événements dans une instance inotify
  • fclose() - Ferme un fichier

inotify_add_watch
inotify_queue_len
Fonctions Inotify


Retourne le nombre d'événements qui sont survenus

inotify_init
inotify_read
Fonctions Inotify
PHP Manual

inotify_queue_len

(PECL inotify >= 0.1.2)

inotify_queue_len — Retourne le nombre d'événements qui sont survenus

Description

int inotify_queue_len ( resource $inotify_instance )

Cette fonction permet de savoir si inotify_read() va bloquer ou non. Si un nombre supérieur à 0 est retourné, il y a des événements en attente, et inotify_read() ne va pas bloquer.

Liste de paramètres

inotify_instance

Ressource returnée par inotify_init()

Valeurs de retour

Retourne le nombre d'événements qui sont survenus.

Voir aussi

  • inotify_init() - Initialise une instance inotify
  • stream_select() - Surveille la modification d'un ou plusieurs flux
  • stream_set_blocking() - Configure le mode bloquant d'un flux

inotify_init
inotify_read
Fonctions Inotify


Lit les événements dans une instance inotify

inotify_queue_len
inotify_rm_watch
Fonctions Inotify
PHP Manual

inotify_read

(PECL inotify >= 0.1.2)

inotify_read — Lit les événements dans une instance inotify

Description

array inotify_read ( resource $inotify_instance )

Lit les événements dans une instance inotify.

Liste de paramètres

inotify_instance

Ressource returnée par inotify_init()

Valeurs de retour

Un tableau d'événements inotify ou FALSE si aucun événement n'était dans la liste, et que inotify_instance était non-bloquant. Chaque événement dans le tableau dispose des index suivants :

  • wd, le pointeur retourné par la fonction inotify_add_watch()
  • mask est un champ de bits de constantes inotify
  • cookie iest un identifiant unique pour relier des événements communs (e.g. IN_MOVE_FROM and IN_MOVE_TO)
  • name est le nom du fichier (e.g. si un fichier a été modifié dans le dossier de surveillance)

Voir aussi

  • inotify_init() - Initialise une instance inotify
  • stream_select() - Surveille la modification d'un ou plusieurs flux
  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • inotify_queue_len() - Retourne le nombre d'événements qui sont survenus

inotify_queue_len
inotify_rm_watch
Fonctions Inotify


Supprime un point de surveillance d'une instance inotify

inotify_read
Mimetype
Fonctions Inotify
PHP Manual

inotify_rm_watch

(PECL inotify >= 0.1.2)

inotify_rm_watch — Supprime un point de surveillance d'une instance inotify

Description

bool inotify_rm_watch ( resource $inotify_instance , int $watch_descriptor )

inotify_rm_watch() retire le point de surveillance watch_descriptor de l'instance inotify inotify_instance.

Liste de paramètres

inotify_instance

Ressource returnée par inotify_init()

watch_descriptor

Point de surveillance à retirer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • inotify_init() - Initialise une instance inotify

inotify_read
Mimetype
Fonctions Inotify


Mimetype

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
inotify_rm_watch
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

Avertissement

Cette extension est à présent déconseillée étant donné que l'extension PECL Fileinfo fournit les mêmes fonctionnalités (et même plus) de façon plus propre.

Ces fonctions essaient de définir le type de contenu et l'encodage d'un fichier en recherchant certaines séquences magiques, à certaines positions dans le fichier. Même si ce n'est pas une approche imparable, les heuristiques réalisent un bon travail.

Cette extension est dérivée du module Apache mod_mime_magic, qui est lui-même basé sur la commande file, entretenue par Ian F. Darwin. Voyez le code source pour plus de détails sur les heuristiques et les informations de copyright.

Mimetype
Installation/Configuration
Mimetype


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mimetype


Installation

Avertissement

L'extension Mimetype a été supprimée en PHP 5.3.0 en faveur de l'extension Fileinfo.

Vous devez compiler PHP avec l'option --enable-mime-magic pour obtenir le support des fonctions mime-type. L'extension nécessite une copie simplifiée de magic qui est distribuée avec le serveur httpd Apache.

Note: L'option de configuration a été changée de --enable-mime-magic en --with-mime-magic depuis PHP 4.3.2

Note: Cette extension n'est pas capable d'utiliser le fichier magic complet, qui est généralement livré avec les distributions Linux, et il est supposé fonctionner avec les plus récentes versions de la commande file.

Note: Note aux utilisateurs Windows
Afin de pouvoir utiliser ce module en environnement Windows, vous devez activer le chemin jusqu'au fichier magic.mime de votre php.ini.

Exemple #1 Configuration Windows de magic.mime

mime_magic.magicfile ="$PHP_INSTALL_DIR\magic.mime"

N'oubliez pas de remplacer la valeur de $PHP_INSTALL_DIR par votre chemin jusqu'à l'exécutable PHP, dans l'exemple ci-dessus. Par exemple, c:\php.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration MIME
Nom | Défaut | Modifiable | Historique
mime_magic.debug | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mime_magic.debug booléen

Active ou désactive le déboguage.

mime_magic.magicfile chaîne de caractères

Le chemin vers le fichier magic.mime.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
xattr
Mimetype


xattr

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions xattr
    • xattr_get — Récupère un attribut étendu
    • xattr_list — Récupère une liste d'attributs étendus
    • xattr_remove — Efface un attribut étendu
    • xattr_set — Définit un attribut étendu
    • xattr_supported — Vérifie si un système de fichier supporte les attributs étendus
Constantes pré-définies
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

L'extension xattr permet la manipulation des attributs étendus d'un système de fichiers.

xattr
Installation/Configuration
xattr


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
xattr


Pré-requis

Pour utiliser xattr, vous devez installer la bibliothèque libattr. Elle est disponible sur » http://oss.sgi.com/projects/xfs/.

Note: Ces fonctions ne fonctionnent que sur les systèmes de fichiers qui supportent les attributs étendus, et qu'ils les ont activés lors du montage du périphérique. Parmi les exemples de systèmes de fichiers qui supportent les attributs étendus, on peut noter ext2, ext3, reiserfs, jfs, et xfs.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/xattr.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XATTR_ROOT (entier)
Définit un attribut dans l'espace de noms racine. Nécessite les privilèges d'administrateur.
XATTR_DONTFOLLOW (entier)
Ne pas suivre un lien symbolique mais opérer directement sur le lien symbolique.
XATTR_CREATE (entier)
La fonction échouera si l'attribut étendu existe déjà.
XATTR_REPLACE (entier)
La fonction échouera si l'attribut étendu n'existe pas.
Types de ressources
Fonctions xattr
xattr


Fonctions xattr

Sommaire

  • xattr_get — Récupère un attribut étendu
  • xattr_list — Récupère une liste d'attributs étendus
  • xattr_remove — Efface un attribut étendu
  • xattr_set — Définit un attribut étendu
  • xattr_supported — Vérifie si un système de fichier supporte les attributs étendus
Constantes pré-définies
xattr_get
xattr


Récupère un attribut étendu

Fonctions xattr
xattr_list
Fonctions xattr
PHP Manual

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Récupère un attribut étendu

Description

string xattr_get ( string $filename , string $name [, int $flags = 0 ] )

xattr_get() récupère la valeur de l'attribut étendu nommé name du fichier path.

Les attributs étendus ont deux espaces de noms différents : user et root. L'espace de noms user est disponible pour tous les utilisateurs tandis que l'espace de noms root n'est disponible que pour les utilisateurs ayant les privilèges root. xattr opère sur l'espace de noms user par défaut, mais vous pouvez changer cela en utilisant l'argument flags.

Liste de paramètres

filename

Le fichier depuis lequel on récupère l'attribut.

name

Le nom de l'attribut.

flags

FLags xattr supportés
XATTR_DONTFOLLOW | Ne pas suivre les liens symboliques mais opère directement sur le lien lui-même.
XATTR_ROOT | Définie l'attribut dans l'espace de noms racine. Nécessaire les privilèges d'administrateur.

Valeurs de retour

Retourne une chaîne contenant la valeur ou FALSE si l'attribut n'existe pas.

Exemples

Exemple #1 Vérifie si l'administrateur système a signé le fichier

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... vérifie si $signature est valide ... */

?>

Voir aussi

  • xattr_list() - Récupère une liste d'attributs étendus
  • xattr_set() - Définit un attribut étendu
  • xattr_remove() - Efface un attribut étendu

Fonctions xattr
xattr_list
Fonctions xattr


Récupère une liste d'attributs étendus

xattr_get
xattr_remove
Fonctions xattr
PHP Manual

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Récupère une liste d'attributs étendus

Description

array xattr_list ( string $filename [, int $flags = 0 ] )

xattr_list() récupère une liste de noms d'attributs étendus d'un fichier désigné par le paramètre path.

Les attributs étendus ont deux espaces de noms différents : user et root. L'espace de noms user est disponible pour tous les utilisateurs tandis que l'espace de noms root n'est disponible que pour les utilisateurs ayant les privilèges root. xattr opère sur l'espace de noms user par défaut, mais vous pouvez changer cela en utilisant l'argument flags.

Liste de paramètres

filename

Le chemin vers le fichier.

flags

FLags xattr supportés
XATTR_DONTFOLLOW | Ne pas suivre les liens symboliques mais opère directement sur le lien lui-même.
XATTR_ROOT | Définie l'attribut dans l'espace de noms racine. Nécessaire les privilèges d'administrateur.

Valeurs de retour

Cette fonction retourne un tableau contenant les noms des attributs étendus.

Exemples

Exemple #1 Affiche les noms de tous les attributs étendus d'un fichier

<?php
$file = 'un_fichier';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "Root attributes: \n";
foreach ($root_attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

echo "\n Attributs utilisateur : \n";
foreach ($attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

?>

Voir aussi

  • xattr_get() - Récupère un attribut étendu

xattr_get
xattr_remove
Fonctions xattr


Efface un attribut étendu

xattr_list
xattr_set
Fonctions xattr
PHP Manual

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Efface un attribut étendu

Description

bool xattr_remove ( string $filename , string $name [, int $flags = 0 ] )

xattr_remove() efface un attribut étendu nommé name d'un fichier désigné par le paramètre path.

Les attributs étendus ont deux espaces de noms différents : user et root. L'espace de noms user est disponible pour tous les utilisateurs tandis que l'espace de noms root n'est disponible que pour les utilisateurs ayant les privilèges root. xattr opère sur l'espace de noms user par défaut, mais vous pouvez changer cela en utilisant l'argument flags.

Liste de paramètres

filename

Le fichier depuis lequel nous effaçons l'attribut.

name

Le nom de l'attribut à effacer.

flags

Options xattr disponibles
XATTR_DONTFOLLOW | Ne pas suivre les liens symboliques mais opère directement sur le lien lui-même.
XATTR_ROOT | Définie l'attribut dans l'espace de noms racine. Nécessaire les privilèges d'administrateur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Efface tous les attributs étendus d'un fichier

<?php
$file = 'un_fichier';
$attributes = xattr_list($file);

foreach ($attributes as $attr_name) {
    xattr_remove($file, $attr_name);
}
?>

Voir aussi

  • xattr_list() - Récupère une liste d'attributs étendus
  • xattr_set() - Définit un attribut étendu
  • xattr_get() - Récupère un attribut étendu

xattr_list
xattr_set
Fonctions xattr


Définit un attribut étendu

xattr_remove
xattr_supported
Fonctions xattr
PHP Manual

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Définit un attribut étendu

Description

bool xattr_set ( string $filename , string $name , string $value [, int $flags = 0 ] )

xattr_set() définie la valeur d'un attribut étendu nommé name à la valeur value d'un fichier désigné par le paramètre path.

Les attributs étendus ont deux espaces de noms différents : user et root. L'espace de noms user est disponible pour tous les utilisateurs tandis que l'espace de noms root n'est disponible que pour les utilisateurs ayant les privilèges root. xattr opère sur l'espace de noms user par défaut, mais vous pouvez changer cela en utilisant l'argument flags.

Liste de paramètres

filename

Le fichier dans lequel nous devons définir l'attribut.

name

Le nom de l'attribut étendu. Cet attribut sera créé s'il n'existe pas encore ou remplacé sinon. Vous pouvez modifier ce comportement en utilisant le paramètre flags.

value

La valeur de l'attribut.

flags

Flags xattr supportés
XATTR_CREATE | La fonction échouera si l'attribut étendu existe déjà.
XATTR_REPLACE | La fonction échouera si l'attribut étendu n'existe pas.
XATTR_DONTFOLLOW | Ne pas suivre les liens symboliques mais opère directement sur le lien lui-même.
XATTR_ROOT | Définie l'attribut dans l'espace de noms racine. Nécessaire les privilèges d'administrateur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Définition des attributs étendus dans un fichier .wav

<?php
$file = 'ma_chanson_favorite.wav';
xattr_set($file, 'Artist', 'Someone');
xattr_set($file, 'My ranking', 'Good');
xattr_set($file, 'Listen count', '34');

/* ... autres codes ... */

printf("Vous avez écouté cette chanson %d fois", xattr_get($file, 'Listen count'));
?>

Voir aussi

  • xattr_get() - Récupère un attribut étendu
  • xattr_remove() - Efface un attribut étendu

xattr_remove
xattr_supported
Fonctions xattr


Vérifie si un système de fichier supporte les attributs étendus

xattr_set
xdiff
Fonctions xattr
PHP Manual

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Vérifie si un système de fichier supporte les attributs étendus

Description

bool xattr_supported ( string $filename [, int $flags = 0 ] )

xattr_supported() vérifie si le système de fichier contenant le fichier path supporte les attributs étendus. Un accès en lecture au fichier path est nécessaire.

Liste de paramètres

filename

Le chemin du fichier à tester.

flags

Flags xattr supportés
XATTR_DONTFOLLOW Ne pas suivre les liens symboliques mais opère directement sur le lien lui-même.

Valeurs de retour

Cette fonction retourne TRUE si le système de fichiers supporte les attributs étendus, FALSE sinon et NULL si l'on ne peut pas le déterminer (par exemple, mauvais chemin vers le fichier ou lorsqu'il manque des permissions sur le fichier).

Exemples

Exemple #1 Exemple avec xattr_supported()

Le code suivant vérifie si nous pouvons utiliser les attributs étendus.

<?php
$file = 'un_fichier';

if (xattr_supported($file)) {
    /* ... utilisez les fonctions xattr_* ... */
}

?>

Voir aussi

  • xattr_get() - Récupère un attribut étendu
  • xattr_list() - Récupère une liste d'attributs étendus

xattr_set
xdiff
Fonctions xattr


xdiff

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions xdiff
    • xdiff_file_bdiff_size — Lit la taille d'un fichier créé lors de l'application d'un diff binaire
    • xdiff_file_bdiff — Crée un diff binaire de 2 fichiers
    • xdiff_file_bpatch — Patche un fichier avec un diff binaire
    • xdiff_file_diff_binary — Créé un diff binaire de deux fichier
    • xdiff_file_diff — Créé un diff unifié entre deux fichiers
    • xdiff_file_merge3 — Fusionne trois fichiers en un seul
    • xdiff_file_patch_binary — Alias de xdiff_file_bpatch
    • xdiff_file_patch — Patche un fichier avec un diff unifié
    • xdiff_file_rabdiff — Crée un diff binaire de 2 fichiers en utilisant l'algorithme polynomial de Rabin des empreintes digitales
    • xdiff_string_bdiff_size — Lit la taille d'un fichier créé en appliquant un diff binaire
    • xdiff_string_bdiff — Crée un diff binaire de 2 chaînes
    • xdiff_string_bpatch — Patche une chaîne avec un diff binaire
    • xdiff_string_diff_binary — Alias de xdiff_string_bdiff
    • xdiff_string_diff — Créé un diff unifié entre deux chaînes
    • xdiff_string_merge3 — Fusionne trois chaînes en une seule
    • xdiff_string_patch_binary — Alias de xdiff_string_bpatch
    • xdiff_string_patch — Patche une chaîne avec un diff unifié
    • xdiff_string_rabdiff — Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales
xattr_supported
Introduction
Extensions relatives aux systèmes de fichiers


Introduction

L'extension xdiff permet la création et l'application de patchs, contenant les différences entre différentes versions d'un même fichier.

Cette extension supporte deux modes d'opération : sur les chaînes et sur les fichiers, ainsi que deux formats de patch : unifié et binaire. Les patches unifiés sont parfaits pour les fichiers textes, car ils sont lisibles et faciles à passer en revue. Les fichiers binaires comme les archives compressées ou les images sont plus adaptés aux patches binaires, car ils sont compatibles avec les données binaires, et gère les caractères qui ne s'impriment pas.

Depuis la version 1.5.0, il y a deux jeux de fonctions pour générer les fichiers binaires. Les nouvelles fonctions, xdiff_string_rabdiff() et xdiff_file_rabdiff() génère un résultat compatible avec les anciennes fonctions, mais généralement plus rapidement, et avec des résultats plus compacts. Pour plus de détails sur la génération de patchs binaires, et leur différence, voyez le site Web de » libxdiff.

Cette extension utilise la bibliothèque libxdiff pour implémenter ces fonctions. Reportez-vous à » http://www.xmailserver.org/xdiff-lib.html pour plus d'informations.

xdiff
Installation/Configuration
xdiff


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
xdiff


Pré-requis

Pour utiliser xdiff, vous devez avoir installé libxdiff, disponible sur la page d'accueil de » http://www.xmailserver.org/xdiff-lib.html.

Note: Vous avez besoin au minimum de la version libxdiff 0.7 pour ces fonctions.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/xdiff.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XDIFF_PATCH_NORMAL (entier)
Cette option indique que les fonctions xdiff_string_patch() et xdiff_file_patch() doivent créer un résultat en appliquant le patch au contenu original, et créer ainsi une nouvelle version du fichier. C'est le mode d'opération par défaut.
XDIFF_PATCH_REVERSE (entier)
Cette option indique que les fonctions xdiff_string_patch() et xdiff_file_patch() doivent créer un résultat en annulant un patch depuis une version de fichier pour retrouver la version originale.
Types de ressources
Fonctions xdiff
xdiff


Fonctions xdiff

Sommaire

  • xdiff_file_bdiff_size — Lit la taille d'un fichier créé lors de l'application d'un diff binaire
  • xdiff_file_bdiff — Crée un diff binaire de 2 fichiers
  • xdiff_file_bpatch — Patche un fichier avec un diff binaire
  • xdiff_file_diff_binary — Créé un diff binaire de deux fichier
  • xdiff_file_diff — Créé un diff unifié entre deux fichiers
  • xdiff_file_merge3 — Fusionne trois fichiers en un seul
  • xdiff_file_patch_binary — Alias de xdiff_file_bpatch
  • xdiff_file_patch — Patche un fichier avec un diff unifié
  • xdiff_file_rabdiff — Crée un diff binaire de 2 fichiers en utilisant l'algorithme polynomial de Rabin des empreintes digitales
  • xdiff_string_bdiff_size — Lit la taille d'un fichier créé en appliquant un diff binaire
  • xdiff_string_bdiff — Crée un diff binaire de 2 chaînes
  • xdiff_string_bpatch — Patche une chaîne avec un diff binaire
  • xdiff_string_diff_binary — Alias de xdiff_string_bdiff
  • xdiff_string_diff — Créé un diff unifié entre deux chaînes
  • xdiff_string_merge3 — Fusionne trois chaînes en une seule
  • xdiff_string_patch_binary — Alias de xdiff_string_bpatch
  • xdiff_string_patch — Patche une chaîne avec un diff unifié
  • xdiff_string_rabdiff — Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales
Constantes pré-définies
xdiff_file_bdiff_size
xdiff


Lit la taille d'un fichier créé lors de l'application d'un diff binaire

Fonctions xdiff
xdiff_file_bdiff
Fonctions xdiff
PHP Manual

xdiff_file_bdiff_size

(PECL xdiff >= 0.2.0)

xdiff_file_bdiff_size — Lit la taille d'un fichier créé lors de l'application d'un diff binaire

Description

int xdiff_file_bdiff_size ( string $file )

Retourne la taille d'un fichier résultat créé après l'application d'un patch binaire depuis le fichier file sur le fichier original.

Liste de paramètres

file

Le patch du patch binaire créé par la fonction xdiff_string_bdiff() ou la fonction xdiff_string_rabdiff().

Valeurs de retour

Retourne la taille du fichier créé.

Exemples

Exemple #1 Exemple avec xdiff_file_bdiff_size()

Le code suivant lit la taille d'un fichier créé après l'application d'un diff binaire.

<?php
$length = xdiff_string_bdiff_size('file.bdiff');
echo "Le fichier résultat a une taille de $length octets";
?>

Voir aussi

  • xdiff_file_bdiff() - Crée un diff binaire de 2 fichiers
  • xdiff_file_rabdiff() - Crée un diff binaire de 2 fichiers en utilisant l'algorithme polynomial de Rabin des empreintes digitales
  • xdiff_file_bpatch() - Patche un fichier avec un diff binaire

Fonctions xdiff
xdiff_file_bdiff
Fonctions xdiff


Crée un diff binaire de 2 fichiers

xdiff_file_bdiff_size
xdiff_file_bpatch
Fonctions xdiff
PHP Manual

xdiff_file_bdiff

(PECL xdiff >= 0.2.0)

xdiff_file_bdiff — Crée un diff binaire de 2 fichiers

Description

bool xdiff_file_bdiff ( string $old_file , string $new_file , string $dest )

Crée un diff binaire de 2 fichiers et enregistre le résultat dans un fichier patch. Cette fonction fonctionne avec des fichiers textes mais aussi des fichiers binaires. Le fichier patch résultant peut être ensuite appliqué en utilisant les fonctions xdiff_file_bpatch() et xdiff_string_bpatch().

Liste de paramètres

old_file

Chemin vers le premier fichier. C'est l'ancien fichier.

new_file

Chemin vers le second fichier. C'est le nouveau fichier.

dest

Chemin vers le fichier patch résultant. Ce patch contient les différences entre l'ancien et le nouveau fichier.Il est au format binaire et est humainement illisible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_file_bdiff()

Le code suivant crée un diff binaire de 2 archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notes

Note: Les 2 fichiers seront chargés en mémoire ; aussi, assurez-vous que votre paramètre memory_limit est défini à valeur assez élevée.

Voir aussi

  • xdiff_file_bpatch() - Patche un fichier avec un diff binaire

xdiff_file_bdiff_size
xdiff_file_bpatch
Fonctions xdiff


Patche un fichier avec un diff binaire

xdiff_file_bdiff
xdiff_file_diff_binary
Fonctions xdiff
PHP Manual

xdiff_file_bpatch

(PECL xdiff >= 0.2.0)

xdiff_file_bpatch — Patche un fichier avec un diff binaire

Description

bool xdiff_file_bpatch ( string $file , string $patch , string $dest )

Patche le fichier file avec le patch binaire et enregistre le résultat dans le fichier dest. Cette fonction accepte les patchs créés via les fonction xdiff_file_bdiff() et xdiff_file_rabdiff() ou leur équivalent sous forme de chaînes.

Liste de paramètres

file

Le fichier original.

patch

Le fichier patch binaire.

dest

Chemin vers le fichier résultat.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_file_bpatch()

Le code suivant applique un diff binaire à un fichier.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "Fichier patché";
} else {
   echo "Le fichier ne peut être patché";
}

?>

Notes

Note: Les 2 fichiers (file et patch) seront chargés en mémoire ; aussi, assurez-vous que votre paramétrage de memory_limit est suffisamment élevé.

Voir aussi

  • xdiff_file_bdiff() - Crée un diff binaire de 2 fichiers
  • xdiff_file_rabdiff() - Crée un diff binaire de 2 fichiers en utilisant l'algorithme polynomial de Rabin des empreintes digitales

xdiff_file_bdiff
xdiff_file_diff_binary
Fonctions xdiff


Créé un diff binaire de deux fichier

xdiff_file_bpatch
xdiff_file_diff
Fonctions xdiff
PHP Manual

xdiff_file_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_file_diff_binary — Créé un diff binaire de deux fichier

Description

bool xdiff_file_diff_binary ( string $old_file , string $new_file , string $dest )

Créé un diff binaire entre les deux fichiers et stocke le résultat dans dest. Cette fonction fonctionne avec les fichiers texte, mais aussi avec les fichiers binaires. Le patch résultant peut être appliqué à l'aide de la fonction xdiff_file_bpatch().

Depuis la version 1.5.0, cette fonction est un alias de xdiff_file_bdiff().

Liste de paramètres

old_file

Chemin jusqu'au premier fichier. Ce fichier est le "vieux" fichier.

new_file

Chemin jusqu'au deuxième fichier. Ce fichier est le "nouveau" fichier.

dest

Chemin vers le fichier résultat. Ce fichier contient les différences entre l'ancien et le nouveau fichier. C'est un format binaire, et il est lisible par un humain.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_file_diff_binary()

Le code suivant crée une différence binaire de deux archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Notes

Note: Les deux fichiers seront chargés en mémoire ; assurez-vous d'avoir défini memory_limit à une valeur assez grande.

Voir aussi

  • xdiff_file_bdiff() - Crée un diff binaire de 2 fichiers
  • xdiff_file_bpatch() - Patche un fichier avec un diff binaire

xdiff_file_bpatch
xdiff_file_diff
Fonctions xdiff


Créé un diff unifié entre deux fichiers

xdiff_file_diff_binary
xdiff_file_merge3
Fonctions xdiff
PHP Manual

xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — Créé un diff unifié entre deux fichiers

Description

bool xdiff_file_diff ( string $old_file , string $new_file , string $dest [, int $context = 3 [, bool $minimal = false ]] )

Crée un diff unifié contenant les différences entre le fichier old_file et new_file et les enregistre dans le fichier dest. Le fichier résultant est humainement lisible. Le paramètre optionnel context spécifie le nombre de lignes du contexte qui doit être ajouté autour de chaque modification. Si le paramètre minimal vaut TRUE, alors le fichier de sortie sera le plus patit possible (peut prendre beaucoup de temps).

Liste de paramètres

old_file

Chemin vers le premier fichier. Ce fichier représente l'ancien fichier.

new_file

Chemin vers le second fichier. Ce fichier représente le nouveau fichier.

dest

Chemin vers le fichier contenant la différence.

context

Indique le nombre de lignes de contexte que vous voulez inclure dans le résultat de diff.

minimal

Configurez minimal à TRUE si vous voulez minimaliser la taille du fichier des différences (peut prendre beaucoup de temps).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_file_diff()

Le code suivant crée un diff de deux fichiers php avec une longueur de contexte de 2.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Notes

Note: Cette fonction ne fonctionne pas correctement avec les fichiers binaires. Pour effectuer un diff sur des fichiers binaires, utilisez la fonction xdiff_file_bdiff()/xdiff_file_rabdiff().

Voir aussi

  • xdiff_file_patch() - Patche un fichier avec un diff unifié

xdiff_file_diff_binary
xdiff_file_merge3
Fonctions xdiff


Fusionne trois fichiers en un seul

xdiff_file_diff
xdiff_file_patch_binary
Fonctions xdiff
PHP Manual

xdiff_file_merge3

(PECL xdiff >= 0.2.0)

xdiff_file_merge3 — Fusionne trois fichiers en un seul

Description

mixed xdiff_file_merge3 ( string $old_file , string $new_file1 , string $new_file2 , string $dest )

Fusionne les fichiers file1, file2 et file3 en un seul et le stocke dans dest. Le fichier old_file est la version originale, tandis que les fichiers new_file1 et new_file2 sont les versions modifiées de l'original.

Liste de paramètres

old_file

Chemin vers le premier fichier. C'est l'ancien fichier.

new_file1

Chemin vers le second fichier. C'est la verion modifiée de old_file.

new_file2

Chemin vers le troisième fichier. C'est la version modifiée de old_file.

dest

Chemin vers le fichier résultant, contenant la fusion des modifications des fichiers new_file1 et new_file2.

Valeurs de retour

Retourne TRUE si la fusion a réussi, une chaîne avec les parties rejetées s'il y en a, ou FALSE si une erreur interne s'est produite.

Exemples

Exemple #1 Exemple avec xdiff_file_merge3()

Le code suivant fusionne trois fichiers en un.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejets :\n";
    echo $errors;
}
?>

Voir aussi

  • xdiff_string_merge3() - Fusionne trois chaînes en une seule

xdiff_file_diff
xdiff_file_patch_binary
Fonctions xdiff


Alias de xdiff_file_bpatch

xdiff_file_merge3
xdiff_file_patch
Fonctions xdiff
PHP Manual

xdiff_file_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_file_patch_binary — Alias de xdiff_file_bpatch

Description

bool xdiff_file_patch_binary ( string $file , string $patch , string $dest )

Patche le fichier file avec un patch binaire et enregistre le résultat dans le fichier dest. Cette fonction accepte les patchs créés avec la fonction xdiff_file_bdiff() ou la fonction xdiff_file_rabdiff() ou leur équivalent sous forme de chaînes.

Depuis la version 1.5.0, cette fonction est un alias de la fonction xdiff_file_bpatch().

Liste de paramètres

file

Le fichier original.

patch

Le Patch binaire.

dest

Le chemin vers le fichier résultat.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_file_patch_binary()

Le code suivant applique un diff binaire à un fichier.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

Notes

Note: Les deux fichiers (le fichier et le patch) seront chargés en mémoire ; assurez-vous d'avoir défini memory_limit à une valeur assez élevée.

Voir aussi

  • xdiff_string_patch_binary() - Alias de xdiff_string_bpatch

xdiff_file_merge3
xdiff_file_patch
Fonctions xdiff


Patche un fichier avec un diff unifié

xdiff_file_patch_binary
xdiff_file_rabdiff
Fonctions xdiff
PHP Manual

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Patche un fichier avec un diff unifié

Description

mixed xdiff_file_patch ( string $file , string $patch , string $dest [, int $flags = DIFF_PATCH_NORMAL ] )

Patche le fichier file avec le patch fourni par le paramètre patch et enregistre le résultat dans un fichier. patch doit être un diff unifié créé par la fonction xdiff_file_diff()/xdiff_string_diff(). Un paramètre optionnel flags spécifie le mode de l'opération.

Liste de paramètres

file

Le fichier original.

patch

Le fichier contenant le patch unifié. Il doit avoir été créé en utilisant les fonctions xdiff_string_diff(), xdiff_file_diff() ou par des outils compatibles.

dest

Le chemin vers le fichier résultat.

flags

Peut être soit XDIFF_PATCH_NORMAL (mode par défaut, patch normal) ou XDIFF_PATCH_REVERSE (patch inversé).

Depuis la version 1.5.0, vous pouvez également utiliser l'opérateur binaire OR pour activer le drapeau XDIFF_PATCH_IGNORESPACE.

Valeurs de retour

Retourne FALSE si une erreur interne s'est produite, une chaîne avec les parties rejetées du patch si c'est le cas ou TRUE si le patch a été appliqué avec succès.

Exemples

Exemple #1 Exemple avec xdiff_file_patch()

Le code suivant applique un diff à un fichier.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejets :\n";
   echo $errors;
}

?>

Exemple #2 Exemple de retour à l'état initial après l'application d'un patch

Le code suivant annule un patch.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Rejets :\n";
   echo $errors;
}

?>

Voir aussi

  • xdiff_file_diff() - Créé un diff unifié entre deux fichiers

xdiff_file_patch_binary
xdiff_file_rabdiff
Fonctions xdiff


Crée un diff binaire de 2 fichiers en utilisant l'algorithme polynomial de Rabin des empreintes digitales

xdiff_file_patch
xdiff_string_bdiff_size
Fonctions xdiff
PHP Manual

xdiff_file_rabdiff

(PECL xdiff >= 0.2.0)

xdiff_file_rabdiff — Crée un diff binaire de 2 fichiers en utilisant l'algorithme polynomial de Rabin des empreintes digitales

Description

bool xdiff_file_rabdiff ( string $old_file , string $new_file , string $dest )

Crée un diff binaire de 2 fichiers et enregistre le résultat dans un fichier patch. La différence entre cette fonction et la fonction xdiff_file_bdiff() se situe au niveau de l'algorithme utilisé. Aussi, cette fonction devrait être plus rapide et devrait produire un diff plus petit. Cette fonction fonctionne avec des fichiers textes, comme avec des fichiers binaires. Le fichier patch résultant pourra ensuite être appliqué avec les fonctions xdiff_file_bpatch() et xdiff_string_bpatch().

Pour plus de détails concernant les différences d'algorithme, reportez-vous au site web de la bibliothèque » libxdiff.

Liste de paramètres

old_file

Chemin vers le premier fichier. C'est l'ancien fichier.

new_file

Chemin vers le second fichier. C'est le nouveau fichier.

dest

Chemin vers le fichier résultant. Le fichier résultant contient les différences entre l'ancien et le nouveau fichier. Il est au format binaire, aussi, il ne sera pas humainement lisible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_file_rabdiff()

Le code suivant crée un diff binaire de 2 archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notes

Note: Les 2 fichiers seront chargés en mémoire ; aussi, assurez-vous que votre paramétrage de memory_limit est suffisamment élevé.

Voir aussi

  • xdiff_file_bpatch() - Patche un fichier avec un diff binaire

xdiff_file_patch
xdiff_string_bdiff_size
Fonctions xdiff


Lit la taille d'un fichier créé en appliquant un diff binaire

xdiff_file_rabdiff
xdiff_string_bdiff
Fonctions xdiff
PHP Manual

xdiff_string_bdiff_size

(PECL xdiff >= 0.2.0)

xdiff_string_bdiff_size — Lit la taille d'un fichier créé en appliquant un diff binaire

Description

int xdiff_string_bdiff_size ( string $patch )

Retourne la taille d'un fichie résultat créé après l'application d'un patch binaure sur un fichier original.

Liste de paramètres

patch

Le patch binaire créé par la fonction xdiff_string_bdiff() ou la fonction xdiff_string_rabdiff().

Valeurs de retour

Retourne la taille du fichier créé.

Exemples

Exemple #1 Exemple avec xdiff_string_bdiff_size()

Le code suivant lit la taille d'un fichier créé après l'application d'un diff binaire.

<?php
$binary_patch = file_get_contents('file.bdiff');
$length = xdiff_string_bdiff_size($binary_patch);
echo "La taille du fichier résultant est de $length octets.";
?>

Voir aussi

  • xdiff_string_bdiff() - Crée un diff binaire de 2 chaînes
  • xdiff_string_rabdiff() - Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales
  • xdiff_string_bpatch() - Patche une chaîne avec un diff binaire

xdiff_file_rabdiff
xdiff_string_bdiff
Fonctions xdiff


Crée un diff binaire de 2 chaînes

xdiff_string_bdiff_size
xdiff_string_bpatch
Fonctions xdiff
PHP Manual

xdiff_string_bdiff

(PECL xdiff >= 0.2.0)

xdiff_string_bdiff — Crée un diff binaire de 2 chaînes

Description

string xdiff_string_bdiff ( string $old_data , string $new_data )

Crée un diff binaire de 2 chaînes et retourne le résultat. Cette fonction fonctionne aussi bien avec des données textes qu'avec des données binaires. Le patch résultant pourra ensuite être appliqué en utilisant les fonctions xdiff_string_bpatch() et xdiff_file_bpatch().

Liste de paramètres

old_data

Première chaîne contenant des données binaires. Ce sont les anciennes données.

new_data

Seconde chaîne contenant des données binaires. Ce sont les nouvelles données.

Valeurs de retour

Retourne un diff binaire contenant les différences entre les anciennes et les nouvelles données, ou FALSE si une erreur interne survient.

Voir aussi

  • xdiff_string_bpatch() - Patche une chaîne avec un diff binaire

xdiff_string_bdiff_size
xdiff_string_bpatch
Fonctions xdiff


Patche une chaîne avec un diff binaire

xdiff_string_bdiff
xdiff_string_diff_binary
Fonctions xdiff
PHP Manual

xdiff_string_bpatch

(PECL xdiff >= 0.2.0)

xdiff_string_bpatch — Patche une chaîne avec un diff binaire

Description

string xdiff_string_bpatch ( string $str , string $patch )

Patche une chaîne str avec un patch binaire. Cette fonction accepte les patchs créés via les fonctions xdiff_string_bdiff() et xdiff_string_rabdiff(), ou leur équivalent sous forme de fichier.

Liste de paramètres

str

La chaîne binaire originale.

patch

Le patch binaire sous forme d'une chaîne de caractères.

Valeurs de retour

Retourne la chaîne patchée, ou FALSE si une erreur survient.

Voir aussi

  • xdiff_string_bdiff() - Crée un diff binaire de 2 chaînes
  • xdiff_string_rabdiff() - Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales

xdiff_string_bdiff
xdiff_string_diff_binary
Fonctions xdiff


Alias de xdiff_string_bdiff

xdiff_string_bpatch
xdiff_string_diff
Fonctions xdiff
PHP Manual

xdiff_string_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_string_diff_binary — Alias de xdiff_string_bdiff

Description

string xdiff_string_bdiff ( string $old_data , string $new_data )

Crée un diff binaire de 2 chaînes et retourne le résultat. Cette fonction fonctionne avec du texte mais aussi avec des données binaires. Le patch résultant peut être appliqué ultérieurement en utilisant la fonction xdiff_string_bpatch()/xdiff_file_bpatch().

Depuis la version 1.5.0, cette fonction est un alias de la fonction xdiff_string_bdiff().

Liste de paramètres

old_data

Première chaîne avec des données binaires. Ce sont les anciennes données.

new_data

Seconde chaîne avec des données binaires. Ce sont les nouvelles données.

Valeurs de retour

Retourne une chaîne avec le résultat ou FALSE si une erreur interne est survenue.

Voir aussi

  • xdiff_string_bdiff() - Crée un diff binaire de 2 chaînes
  • xdiff_string_bpatch() - Patche une chaîne avec un diff binaire

xdiff_string_bpatch
xdiff_string_diff
Fonctions xdiff


Créé un diff unifié entre deux chaînes

xdiff_string_diff_binary
xdiff_string_merge3
Fonctions xdiff
PHP Manual

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff — Créé un diff unifié entre deux chaînes

Description

string xdiff_string_diff ( string $old_data , string $new_data [, int $context = 3 [, bool $minimal = false ]] )

Crée un diff unifié contenant les différences entre la chaîne old_data et la chaîne new_data et retourne le diff ainsi créé. Le diff résultant est humainement lisible. Le paramètre optionnel context spécifie le nombre de lignes de contexte à ajouter autour de chaque modification. Le fait de définir le paramètre minimal à TRUE fera que le diff sera le plus petit possible (peut prendre du temps).

Liste de paramètres

old_data

Première chaîne de données. Ce sont les anciennes données.

new_data

Seconde chaîne de données. Ce sont les nouvelles données.

context

Indique le nombre de lignes de contexte que vous voulez inclure dans le diff résultant.

minimal

Configurez minimal à TRUE si vous voulez minimaliser la taille du diff (peut prendre beaucoup de temps).

Valeurs de retour

Retourne une chaîne représentant le diff résultant, ou FALSE si une erreur interne survient.

Exemples

Exemple #1 Exemple avec xdiff_string_diff()

Le code suivant effectue un diff de deux articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* disons que quelqu'un a posté un nouvel article via un formulaire html */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Différences entre les deux articles :\n";
    echo $diff;
}

?>

Notes

Note: Cette fonction ne fonctionne pas correctement avec des chaînes binaires. Pour effectuer un diff de chaînes binaires, utilisez la fonction xdiff_string_bdiff()/xdiff_string_rabdiff().

Voir aussi

  • xdiff_string_patch() - Patche une chaîne avec un diff unifié

xdiff_string_diff_binary
xdiff_string_merge3
Fonctions xdiff


Fusionne trois chaînes en une seule

xdiff_string_diff
xdiff_string_patch_binary
Fonctions xdiff
PHP Manual

xdiff_string_merge3

(PECL xdiff >= 0.2.0)

xdiff_string_merge3 — Fusionne trois chaînes en une seule

Description

mixed xdiff_string_merge3 ( string $old_data , string $new_data1 , string $new_data2 [, string &$error ] )

Fusionne 3 chaînes en une et retourne le résultat. Le paramètre old_data est la version originale des données tandis que new_file1 et new_file2 sont les versions modifiées de l'original. Le paramètre optionnel error est utilisé pour stocker toutes les parties rejetées lors de la fusion.

Liste de paramètres

old_data

Première chaîne de données. Ce sont les anciennes données.

new_data1

Seconde chaîne de données. Ce sont les versions modifiées de old_data.

new_data2

Troisième chaîne de données. Ce sont les versions modifiées de old_data.

error

Si error est fourni, alors les parties rejetées y seront stockées.

Valeurs de retour

Retourne la chaîne fusionnée, FALSE si une erreur interne survient ou TRUE si la chaîne fusionnée est vide.

Voir aussi

  • xdiff_file_merge3() - Fusionne trois fichiers en un seul

xdiff_string_diff
xdiff_string_patch_binary
Fonctions xdiff


Alias de xdiff_string_bpatch

xdiff_string_merge3
xdiff_string_patch
Fonctions xdiff
PHP Manual

xdiff_string_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_string_patch_binary — Alias de xdiff_string_bpatch

Description

string xdiff_string_patch_binary ( string $str , string $patch )

Patche une chaîne str avec un patch binaire. Cette fonction accepte les patchs créés avec les fonctions xdiff_string_bdiff() et xdiff_string_rabdiff() ou leur équivalent en fichiers.

Depuis la version 1.5.0, cette fonction est un alias de la fonction xdiff_string_bpatch().

Liste de paramètres

str

La chaîne binaire originale.

patch

Le patch binaire.

Valeurs de retour

Retourne la chaîne patchée, ou FALSE si une erreur survient.

Voir aussi

  • xdiff_string_bpatch() - Patche une chaîne avec un diff binaire
  • xdiff_string_bdiff() - Crée un diff binaire de 2 chaînes
  • xdiff_string_rabdiff() - Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales

xdiff_string_merge3
xdiff_string_patch
Fonctions xdiff


Patche une chaîne avec un diff unifié

xdiff_string_patch_binary
xdiff_string_rabdiff
Fonctions xdiff
PHP Manual

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch — Patche une chaîne avec un diff unifié

Description

string xdiff_string_patch ( string $str , string $patch [, int $flags [, string &$error ]] )

Patche la chaîne str avec un patch unifié et retourne le résultat. patch doit être un patch unifié créé par les fonctions xdiff_file_diff() et xdiff_string_diff(). Un paramètre optionnel flags spécifie le mode de l'opération. Toutes les parties rejetées seront stockées dans la variable error si elle est fournie.

Liste de paramètres

str

La chaîne originale.

patch

Le patch unifié. Il doit avoir été créé en utilisant les fonctions xdiff_string_diff(), xdiff_file_diff() ou tout autre outil compatible.

flags

flags peut être soit XDIFF_PATCH_NORMAL (mode par défaut, patch normal), soit XDIFF_PATCH_REVERSE (patch inversé).

Depuis la version 1.5.0, vous pouvez également utiliser l'opérateur binaire OR pour activer le drapeau XDIFF_PATCH_IGNORESPACE.

error

Si error est fourni, les parties rejetées y seront stockées.

Valeurs de retour

Retourne la chaîne patchée, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xdiff_string_patch()

Le code suivant applique les changements à des articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* disons que quelqu'un a passé un patch via un formulaire html */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "Nouvel article :\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Rejets : \n";
    echo $errors;
}

?>

Voir aussi

  • xdiff_string_diff() - Créé un diff unifié entre deux chaînes

xdiff_string_patch_binary
xdiff_string_rabdiff
Fonctions xdiff


Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales

xdiff_string_patch
Support du langage humain et de l'encodage de caractères
Fonctions xdiff
PHP Manual

xdiff_string_rabdiff

(PECL xdiff >= 0.2.0)

xdiff_string_rabdiff — Crée un diff binaire de 2 chaînes en utilisant l'algorithme polynomial de Rabin des empreintes digitales

Description

string xdiff_string_bdiff ( string $old_data , string $new_data )

Crée un diff binaire de 2 chaînes et retourne le résultat. La différence entre cette fonction et la fonction xdiff_string_bdiff() se situe au niveau de l'algorithme utilisé ; cette fonction devrait être plus rapide et produire un diff plus petit. Cette fonction est utilisable aussi bien sur des données textes que binaires. Le patch résultant pourra être appliqué par la suite grâce aux fonctions xdiff_string_bpatch() et xdiff_file_bpatch().

Pour plus de détails concernant la différence d'algorithme, reportez-vous au site web de la bibliothèque » libxdiff.

Liste de paramètres

old_data

Première chaîne de données binaires. Ce sont les anciennes données.

new_data

Seconde chaîne de données binaires. Ce sont les nouvelles données.

Valeurs de retour

Retourne un diff binaire contenant les différences entre les anciennes et les nouvelles données, ou FALSE si une erreur interne survient.

Voir aussi

  • xdiff_string_bpatch() - Patche une chaîne avec un diff binaire

xdiff_string_patch
Support du langage humain et de l'encodage de caractères
Fonctions xdiff


Support du langage humain et de l'encodage de caractères

  • Enchant — Bibliothèque d'orthographe Enchant
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Enchant
  • FriBiDi
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions FriBiDi
  • Gettext
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Gettext
  • iconv
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions iconv
  • intl — Fonctions d'internationalisation
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Collator — La classe Collator
    • NumberFormatter — La classe NumberFormatter
    • Locale — La classe Locale
    • Normalizer — La classe Normalizer
    • MessageFormatter — La classe MessageFormatter
    • IntlDateFormatter — La classe IntlDateFormatter
    • ResourceBundle — La classe ResourceBundle
    • Fonctions Grapheme
    • Fonctions IDN
    • Fonctions intl
  • Chaînes de caractères multi-octets
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Jeux de caractères supportés
    • Cas des caractères japonais
    • Entrées/Sorties HTTP
    • Jeux de caractères supportés
    • Exploitation des chaînes multi-octets en PHP
    • Prérequis de l'encodage en PHP
    • Fonctions sur les chaînes de caractères multi-octets
  • Pspell
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Pspell
  • Recode — GNU Recode
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Recode Fonctions
xdiff_string_rabdiff
Enchant
Référence des fonctions


Bibliothèque d'orthographe Enchant

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Enchant
    • enchant_broker_describe — Énumère les fournisseurs Enchant
    • enchant_broker_dict_exists — Vérifie si un dictionnaire existe
    • enchant_broker_free_dict — Libère une ressource de dictionnaire
    • enchant_broker_free — Libère la ressource de sponsor ainsi que ses dictionnaires
    • enchant_broker_get_error — Retourne la dernière erreur d'un sponsor
    • enchant_broker_init — Crée un nouvel objet sponsor
    • enchant_broker_list_dicts — Retourne une liste de tous les dictionnaires disponibles
    • enchant_broker_request_dict — Crée un nouveau dictionnaire
    • enchant_broker_request_pwl_dict — Crée un dictionnaire en utilisant un fichier PWL
    • enchant_broker_set_ordering — Déclare une préférence pour un dictionnaire d'une langue
    • enchant_dict_add_to_personal — Ajoute un mot à la liste des mots personnelle
    • enchant_dict_add_to_session — Ajoute un mot à la session courante
    • enchant_dict_check — Vérifie si un mot est correctement orthographié
    • enchant_dict_describe — Décrit un dictionnaire
    • enchant_dict_get_error — Retourne la dernière erreur de la session courante
    • enchant_dict_is_in_session — Vérifie si un mot existe dans une session de vérification
    • enchant_dict_quick_check — Vérifie si le mot est correctement orthographié et fournit des suggestions
    • enchant_dict_store_replacement — Ajoute une orthographe pour un mot
    • enchant_dict_suggest — Retourne une liste de valeurs si aucunes des conditions ne sont réunies
Support du langage humain et de l'encodage de caractères
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

Enchant est une utilisation PHP de la » bibliothèque Enchant. Enchant fournit une uniformité et une conformité pour toutes les bibliothèques d'orthographe, et implémente certaines fonctionnalités qui peuvent faire défaut dans une bibliothèque. Tout doit "juste fonctionner".

Enchant supporte les bibliothèques suivantes :

  • Aspell/Pspell (prévu pour remplacer Ispell)

  • Ispell (très ancien, peut être considéré comme un standard)

  • MySpell/Hunspell (un projet orienté objet, également utilisé par Mozilla)

  • Uspell (originellement prévu pour les langages Yiddish, hébreu et les langages de l'Europe de l'Est - hébergé dans le CVS d'AbiWord sous la module "uspell")

  • Hspell (Hébreu)

  • AppleSpell (Mac OSX)

Enchant
Installation/Configuration
Enchant


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Enchant


Pré-requis

Cette version utilise les fonctions de la » bibliothèque Enchant par Dom Lachowicz. Vous devez utiliser Enchant 1.2.4 ou supérieur.

Enchant requiert également » Glib 2.6 ou supérieur. Les bibliothèques Windows pré-compilées sont disponibles depuis » http://ftp.gnome.org/pub/gnome/binaries/win32/glib/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/enchant.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Il y a deux types de ressources dans cette extension. La première est le broker (gestionnaire de backends) et la seconde est pour le dictionnaire.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Enchant


Exemples

Exemple #1 Exemple d'utilisation d'Enchant

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    $dprovides = enchant_dict_describe($d);
    echo "dictionary $tag provides:\n";
    $wordcorrect = enchant_dict_check($d, "soong");
    print_r($dprovides);
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
Constantes pré-définies
Fonctions Enchant
Enchant


Fonctions Enchant

Sommaire

  • enchant_broker_describe — Énumère les fournisseurs Enchant
  • enchant_broker_dict_exists — Vérifie si un dictionnaire existe
  • enchant_broker_free_dict — Libère une ressource de dictionnaire
  • enchant_broker_free — Libère la ressource de sponsor ainsi que ses dictionnaires
  • enchant_broker_get_error — Retourne la dernière erreur d'un sponsor
  • enchant_broker_init — Crée un nouvel objet sponsor
  • enchant_broker_list_dicts — Retourne une liste de tous les dictionnaires disponibles
  • enchant_broker_request_dict — Crée un nouveau dictionnaire
  • enchant_broker_request_pwl_dict — Crée un dictionnaire en utilisant un fichier PWL
  • enchant_broker_set_ordering — Déclare une préférence pour un dictionnaire d'une langue
  • enchant_dict_add_to_personal — Ajoute un mot à la liste des mots personnelle
  • enchant_dict_add_to_session — Ajoute un mot à la session courante
  • enchant_dict_check — Vérifie si un mot est correctement orthographié
  • enchant_dict_describe — Décrit un dictionnaire
  • enchant_dict_get_error — Retourne la dernière erreur de la session courante
  • enchant_dict_is_in_session — Vérifie si un mot existe dans une session de vérification
  • enchant_dict_quick_check — Vérifie si le mot est correctement orthographié et fournit des suggestions
  • enchant_dict_store_replacement — Ajoute une orthographe pour un mot
  • enchant_dict_suggest — Retourne une liste de valeurs si aucunes des conditions ne sont réunies
Exemples
enchant_broker_describe
Enchant


Énumère les fournisseurs Enchant

Fonctions Enchant
enchant_broker_dict_exists
Fonctions Enchant
PHP Manual

enchant_broker_describe

(PECL enchant >= 0.1.0)

enchant_broker_describe — Énumère les fournisseurs Enchant

Description

array enchant_broker_describe ( resource $broker )

Énumère les fournisseurs Enchant et affiche quelques informations sur eux. Les mêmes informations sont fournis via la fonction phpinfo().

Liste de paramètres

broker

Ressource d'un sponsor

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Liste les interfaces fournies par un sponsor donné

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Le sponsor courant fournit les interfaces suivantes :\n";
print_r($bprovides);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le sponsor courant fournit les interfaces suivantes :
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Fonctions Enchant
enchant_broker_dict_exists
Fonctions Enchant


Vérifie si un dictionnaire existe

enchant_broker_describe
enchant_broker_free_dict
Fonctions Enchant
PHP Manual

enchant_broker_dict_exists

(PECL enchant >= 0.1.0 )

enchant_broker_dict_exists — Vérifie si un dictionnaire existe

Description

bool enchant_broker_dict_exists ( resource $broker , string $tag )

Vérifie si un dictionnaire existe.

Liste de paramètres

broker

Ressource de sponsor

tag

langage, dans un format comme us_US, ch_DE, etc.

Valeurs de retour

Retourne TRUE si le langage existe, FALSE sinon.

Exemples

Exemple #1 Exemple avec enchant_broker_dict_exists()

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    echo $tag . " dictionary found.\n";
}
?>

Voir aussi

  • enchant_broker_describe() - Énumère les fournisseurs Enchant

enchant_broker_describe
enchant_broker_free_dict
Fonctions Enchant


Libère une ressource de dictionnaire

enchant_broker_dict_exists
enchant_broker_free
Fonctions Enchant
PHP Manual

enchant_broker_free_dict

(PECL enchant >= 0.1.0 )

enchant_broker_free_dict — Libère une ressource de dictionnaire

Description

bool enchant_broker_free_dict ( resource $dict )

Libère une ressource de dictionnaire.

Liste de paramètres

dict

Ressource de dictionnaire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • enchant_broker_request_dict() - Crée un nouveau dictionnaire
  • enchant_broker_request_pwl_dict() - Crée un dictionnaire en utilisant un fichier PWL

enchant_broker_dict_exists
enchant_broker_free
Fonctions Enchant


Libère la ressource de sponsor ainsi que ses dictionnaires

enchant_broker_free_dict
enchant_broker_get_error
Fonctions Enchant
PHP Manual

enchant_broker_free

(PECL enchant >= 0.1.0 )

enchant_broker_free — Libère la ressource de sponsor ainsi que ses dictionnaires

Description

bool enchant_broker_free ( resource $broker )

Libère une ressource de sponsor ainsi que tous ses dictionnaires.

Liste de paramètres

broker

Ressource de sponsor

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • enchant_broker_init() - Crée un nouvel objet sponsor

enchant_broker_free_dict
enchant_broker_get_error
Fonctions Enchant


Retourne la dernière erreur d'un sponsor

enchant_broker_free
enchant_broker_init
Fonctions Enchant
PHP Manual

enchant_broker_get_error

(PECL enchant >= 0.1.0 )

enchant_broker_get_error — Retourne la dernière erreur d'un sponsor

Description

string enchant_broker_get_error ( resource $broker )

Retourne la dernière erreur survenue pour ce sponsor.

Liste de paramètres

broker

Ressource de sponsor

Valeurs de retour

Retourne le message si une erreur a été trouvée, ou FALSE sinon.

enchant_broker_free
enchant_broker_init
Fonctions Enchant


Crée un nouvel objet sponsor

enchant_broker_get_error
enchant_broker_list_dicts
Fonctions Enchant
PHP Manual

enchant_broker_init

(PECL enchant >= 0.1.0 )

enchant_broker_init — Crée un nouvel objet sponsor

Description

resource enchant_broker_init ( void )

Liste de paramètres

Valeurs de retour

Retourne une ressource de sponsor en cas de succès, FALSE sinon.

Voir aussi

  • enchant_broker_free() - Libère la ressource de sponsor ainsi que ses dictionnaires

enchant_broker_get_error
enchant_broker_list_dicts
Fonctions Enchant


Retourne une liste de tous les dictionnaires disponibles

enchant_broker_init
enchant_broker_request_dict
Fonctions Enchant
PHP Manual

enchant_broker_list_dicts

(PECL enchant >= 1.0.1)

enchant_broker_list_dicts — Retourne une liste de tous les dictionnaires disponibles

Description

mixed enchant_broker_list_dicts ( resource $broker )

Retourne une liste de tous les dictionnaires disponibles ainsi que leurs détails.

Liste de paramètres

broker

Ressource de sponsor

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Liste tous les dictionnaires disponibles pour un sponsor

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Voir aussi

  • enchant_broker_describe() - Énumère les fournisseurs Enchant

enchant_broker_init
enchant_broker_request_dict
Fonctions Enchant


Crée un nouveau dictionnaire

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Fonctions Enchant
PHP Manual

enchant_broker_request_dict

(PECL enchant >= 0.1.0 )

enchant_broker_request_dict — Crée un nouveau dictionnaire

Description

resource enchant_broker_request_dict ( resource $broker , string $tag )

Crée un nouveau dictionnaire en utilisant le paramètre tag, représentant le langage dont vous voulez associer le dictionnaire ("en_US", "de_DE", ...).

Liste de paramètres

broker

Ressource de sponsor

tag

Une balise décrivant le langage, par exemple, en_US, de_DE

Valeurs de retour

Retourne une ressource de dictionnaire en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec enchant_broker_request_dict()

Vérifie si un dictionnaire existe en utilisant la fonction enchant_broker_dict_exists() et le demande.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
}
?>

Voir aussi

  • enchant_dict_describe() - Décrit un dictionnaire
  • enchant_broker_dict_exists() - Vérifie si un dictionnaire existe
  • enchant_broker_free_dict() - Libère une ressource de dictionnaire

enchant_broker_list_dicts
enchant_broker_request_pwl_dict
Fonctions Enchant


Crée un dictionnaire en utilisant un fichier PWL

enchant_broker_request_dict
enchant_broker_set_ordering
Fonctions Enchant
PHP Manual

enchant_broker_request_pwl_dict

(PECL enchant >= 0.1.0 )

enchant_broker_request_pwl_dict — Crée un dictionnaire en utilisant un fichier PWL

Description

resource enchant_broker_request_pwl_dict ( resource $broker , string $filename )

Crée un dictionnaire en utilisant un fichier PWL. Un fichier PWL est un fichier de mots personnels contenant un mot par ligne.

Liste de paramètres

broker

Ressource de sponsor

filename

Chemin vers le fichier PWL

Valeurs de retour

Retourne une ressource de dictionnaire en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • enchant_dict_describe() - Décrit un dictionnaire
  • enchant_broker_dict_exists() - Vérifie si un dictionnaire existe
  • enchant_broker_free_dict() - Libère une ressource de dictionnaire

enchant_broker_request_dict
enchant_broker_set_ordering
Fonctions Enchant


Déclare une préférence pour un dictionnaire d'une langue

enchant_broker_request_pwl_dict
enchant_dict_add_to_personal
Fonctions Enchant
PHP Manual

enchant_broker_set_ordering

(PECL enchant >= 0.1.0 )

enchant_broker_set_ordering — Déclare une préférence pour un dictionnaire d'une langue

Description

bool enchant_broker_set_ordering ( resource $broker , string $tag , string $ordering )

Déclare une préférence pour un dictionnaire à utiliser pour la langue spécifiée par le paramètre tag. L'ordre des langues est une liste séparée par une virgule. Le caractère spécial "*" peut être utilisé comme langue pour déclarer un ordre par défaut pour tous les langages qui ne déclarent pas explicitement un ordre.

Liste de paramètres

broker

Ressource de sponsor

tag

La langue. Le caractère "*" peut être utilisé en tant que langage pour déclarer un ordre par défaut pour tous les langages qui ne déclarent pas explicitement un ordre.

ordering

Liste de noms de fournisseurs séparée par une virgule

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

enchant_broker_request_pwl_dict
enchant_dict_add_to_personal
Fonctions Enchant


Ajoute un mot à la liste des mots personnelle

enchant_broker_set_ordering
enchant_dict_add_to_session
Fonctions Enchant
PHP Manual

enchant_dict_add_to_personal

(PECL enchant >= 0.1.0 )

enchant_dict_add_to_personal — Ajoute un mot à la liste des mots personnelle

Description

void enchant_dict_add_to_personal ( resource $dict , string $word )

Ajoute le mot word à la liste des mots personnelle du dictionnaire dict.

Liste de paramètres

dict

Ressource de dictionnaire

word

Le mot à ajouter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • enchant_broker_request_pwl_dict() - Crée un dictionnaire en utilisant un fichier PWL
  • enchant_broker_request_dict() - Crée un nouveau dictionnaire

enchant_broker_set_ordering
enchant_dict_add_to_session
Fonctions Enchant


Ajoute un mot à la session courante

enchant_dict_add_to_personal
enchant_dict_check
Fonctions Enchant
PHP Manual

enchant_dict_add_to_session

(PECL enchant >= 0.1.0 )

enchant_dict_add_to_session — Ajoute un mot à la session courante

Description

void enchant_dict_add_to_session ( resource $dict , string $word )

Ajoute le mot word au dictionnaire fourni. Il ne sera ajouté que pour la session courante.

Liste de paramètres

dict

Ressource de dictionnaire

word

Le mot à ajouter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • enchant_broker_request_dict() - Crée un nouveau dictionnaire

enchant_dict_add_to_personal
enchant_dict_check
Fonctions Enchant


Vérifie si un mot est correctement orthographié

enchant_dict_add_to_session
enchant_dict_describe
Fonctions Enchant
PHP Manual

enchant_dict_check

(PECL enchant >= 0.1.0 )

enchant_dict_check — Vérifie si un mot est correctement orthographié

Description

bool enchant_dict_check ( resource $dict , string $word )

Retourne TRUE si le mot word est correctement orthographié, FALSE sinon.

Liste de paramètres

dict

Ressource de dictionnaire

word

Le mot à vérifier

Valeurs de retour

Retourne TRUE si le mot est correctement orthographié, FALSE sinon.

enchant_dict_add_to_session
enchant_dict_describe
Fonctions Enchant


Décrit un dictionnaire

enchant_dict_check
enchant_dict_get_error
Fonctions Enchant
PHP Manual

enchant_dict_describe

(PECL enchant >= 0.1.0 )

enchant_dict_describe — Décrit un dictionnaire

Description

mixed enchant_dict_describe ( resource $dict )

Retourne les détails d'un dictionnaire.

Liste de paramètres

dict

Ressource de dictionnaire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec enchant_dict_describe()

Vérifie si un dictionnaire existe en utilisant la fonction enchant_broker_dict_exists() et affiche tous les détails concernant ce dictionnaire.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
    $dict_details = enchant_dict_describe($dict);
    print_r($dict_details);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)

enchant_dict_check
enchant_dict_get_error
Fonctions Enchant


Retourne la dernière erreur de la session courante

enchant_dict_describe
enchant_dict_is_in_session
Fonctions Enchant
PHP Manual

enchant_dict_get_error

(PECL enchant >= 0.1.0 )

enchant_dict_get_error — Retourne la dernière erreur de la session courante

Description

string enchant_dict_get_error ( resource $dict )

Retourne la dernière erreur de la session courante.

Liste de paramètres

dict

Ressource de dictionnaire

Valeurs de retour

Retourne le message d'erreur sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

enchant_dict_describe
enchant_dict_is_in_session
Fonctions Enchant


Vérifie si un mot existe dans une session de vérification

enchant_dict_get_error
enchant_dict_quick_check
Fonctions Enchant
PHP Manual

enchant_dict_is_in_session

(PECL enchant >= 0.1.0 )

enchant_dict_is_in_session — Vérifie si un mot existe dans une session de vérification

Description

bool enchant_dict_is_in_session ( resource $dict , string $word )

Vérifie si un mot existe ou non dans la session courante.

Liste de paramètres

dict

Ressource de dictionnaire

word

Le mot à vérifier

Valeurs de retour

Retourne TRUE si le mot existe, FALSE sinon.

Voir aussi

  • enchant_dict_add_to_session() - Ajoute un mot à la session courante

enchant_dict_get_error
enchant_dict_quick_check
Fonctions Enchant


Vérifie si le mot est correctement orthographié et fournit des suggestions

enchant_dict_is_in_session
enchant_dict_store_replacement
Fonctions Enchant
PHP Manual

enchant_dict_quick_check

(PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check — Vérifie si le mot est correctement orthographié et fournit des suggestions

Description

bool enchant_dict_quick_check ( resource $dict , string $word [, array &$suggestions ] )

Retourne TRUE si le mot est correctement orthographié, FALSE si la variable des suggestions est fournie, et la remplit des suggestions possibles.

Liste de paramètres

dict

Ressource de dictionnaire

word

Le mot à vérifier

suggestions

Si le mot n'est pas correctement orthographié, cette variable contiendra un tableau de suggestions.

Valeurs de retour

Retourne TRUE si le mot est correctement orthographié, FALSE sinon.

Exemples

Exemple #1 Exemple avec enchant_dict_quick_check()

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    enchant_dict_quick_check($d, 'soong', $suggs);
    print_r($suggs);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Voir aussi

  • enchant_dict_check() - Vérifie si un mot est correctement orthographié
  • enchant_dict_suggest() - Retourne une liste de valeurs si aucunes des conditions ne sont réunies

enchant_dict_is_in_session
enchant_dict_store_replacement
Fonctions Enchant


Ajoute une orthographe pour un mot

enchant_dict_quick_check
enchant_dict_suggest
Fonctions Enchant
PHP Manual

enchant_dict_store_replacement

(PECL enchant >= 0.1.0 )

enchant_dict_store_replacement — Ajoute une orthographe pour un mot

Description

void enchant_dict_store_replacement ( resource $dict , string $mis , string $cor )

Ajoute une orthographe pour mis en utilisant cor. Notez que si vous remplacez @mis par @cor, alors il est probable que les futures occurrences den@mis seront remplacées par @cor. Ainsi, @cor sera ajouté à la liste des suggestions.

Liste de paramètres

dict

Ressource de dictionnaire

mis

Le mot à traiter

cor

Le mot correct

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

enchant_dict_quick_check
enchant_dict_suggest
Fonctions Enchant


Retourne une liste de valeurs si aucunes des conditions ne sont réunies

enchant_dict_store_replacement
FriBiDi
Fonctions Enchant
PHP Manual

enchant_dict_suggest

(PECL enchant >= 0.1.0 )

enchant_dict_suggest — Retourne une liste de valeurs si aucunes des conditions ne sont réunies

Description

array enchant_dict_suggest ( resource $dict , string $word )

Liste de paramètres

dict

Ressource de dictionnaire

word

Mot à utiliser pour les suggestions

Valeurs de retour

Retourne un tableau de suggestions si le mot est mal orthographié.

Exemples

Exemple #1 Exemple avec enchant_dict_suggest()

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);

    $wordcorrect = enchant_dict_check($d, "soong");
    if (!$wordcorrect) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions pour 'soong' : ";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Voir aussi

  • enchant_dict_check() - Vérifie si un mot est correctement orthographié
  • enchant_dict_quick_check() - Vérifie si le mot est correctement orthographié et fournit des suggestions

enchant_dict_store_replacement
FriBiDi
Fonctions Enchant


FriBiDi

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions FriBiDi
    • fribidi_log2vis — Convertit une chaîne logique en chaîne visuelle
enchant_dict_suggest
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

FriBiDi est une implémentation libre de l'» Algorithme Unicode Bidirectionnel.

FriBiDi
Installation/Configuration
FriBiDi


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
FriBiDi


Pré-requis

Vous devez télécharger et installer le paquet » FriBiDi.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/fribidi.

Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support Fribidi en utilisant l'option de configuration --with-fribidi[=DIR].

Les utilisateurs de Windows doivent activer la bibliothèque php_fribidi.dll dans le php.ini pour pouvoir utiliser ces fonctions. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FRIBIDI_CHARSET_UTF8 (entier)
Unicode
FRIBIDI_CHARSET_8859_6 (entier)
Arabe
FRIBIDI_CHARSET_8859_8 (entier)
Hébreu
FRIBIDI_CHARSET_CP1255 (entier)
Hébreu / Yiddish
FRIBIDI_CHARSET_CP1256 (entier)
Arabe
FRIBIDI_CHARSET_ISIRI_3342 (entier)
Persan
FRIBIDI_CHARSET_CAP_RTL (entier)
Utilisé à des fins de tests ; traite les CAPS comme des lettres non anglaises
FRIBIDI_RTL (entier)
De droite à gauche
FRIBIDI_LTR (entier)
De gauche à droite
FRIBIDI_AUTO (entier)
Autodétection de la direction
Types de ressources
Fonctions FriBiDi
FriBiDi


Fonctions FriBiDi

Sommaire

  • fribidi_log2vis — Convertit une chaîne logique en chaîne visuelle
Constantes pré-définies
fribidi_log2vis
FriBiDi


Convertit une chaîne logique en chaîne visuelle

Fonctions FriBiDi
Gettext
Fonctions FriBiDi
PHP Manual

fribidi_log2vis

(PHP 4 >= 4.0.4 and PHP 4 <= 4.1.0, PECL fribidi >= 1.0)

fribidi_log2vis — Convertit une chaîne logique en chaîne visuelle

Description

string fribidi_log2vis ( string $str , string $direction , int $charset )

Convertit une chaîne logique en chaîne visuelle.

Liste de paramètres

str

La chaîne logique.

direction

Une constante parmi FRIBIDI_RTL, FRIBIDI_LTR ou FRIBIDI_AUTO.

charset

Une constante parmi les constantes FRIBIDI_CHARSET_XXX.

Valeurs de retour

Retourne la chaîne visuelle en cas de succès ou FALSE si une erreur survient.

Fonctions FriBiDi
Gettext
Fonctions FriBiDi


Gettext

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Gettext
    • bind_textdomain_codeset — Spécifie le jeu de caractères utilisé pour les messages du domaine DOMAIN
    • bindtextdomain — Fixe le chemin d'un domaine
    • dcgettext — Remplace le domaine lors d'une recherche
    • dcngettext — Version plurielle de dcgettext
    • dgettext — Remplace le domaine courant
    • dngettext — Version plurielle de dgettext
    • gettext — Recherche un message dans le domaine courant
    • ngettext — Version plurielle de gettext
    • textdomain — Fixe le domaine par défaut
fribidi_log2vis
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

Les fonctions gettext implémentent l'API NLS (Native Language Support) qui peut servir à internationaliser vos scripts PHP. Lisez la documentation GNU sur le site » http://www.gnu.org/software/gettext/manual/gettext.html, ou bien sur votre système pour plus d'explications sur ces fonctions.

Gettext
Installation/Configuration
Gettext


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gettext


Pré-requis

Pour utiliser ces fonctions, vous devez télécharger et installer les bibliothèques GNU gettext depuis » http://www.gnu.org/software/gettext/gettext.html.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour inclure le module GNU gettext dans PHP, vous le compilez avec l'option --with-gettext[=DIR], où DIR est le dossier d'installation de gettext. Par défaut, c'est /usr/local.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Gettext
Gettext


Fonctions Gettext

Sommaire

  • bind_textdomain_codeset — Spécifie le jeu de caractères utilisé pour les messages du domaine DOMAIN
  • bindtextdomain — Fixe le chemin d'un domaine
  • dcgettext — Remplace le domaine lors d'une recherche
  • dcngettext — Version plurielle de dcgettext
  • dgettext — Remplace le domaine courant
  • dngettext — Version plurielle de dgettext
  • gettext — Recherche un message dans le domaine courant
  • ngettext — Version plurielle de gettext
  • textdomain — Fixe le domaine par défaut
Constantes pré-définies
bind_textdomain_codeset
Gettext


Spécifie le jeu de caractères utilisé pour les messages du domaine DOMAIN

Fonctions Gettext
bindtextdomain
Fonctions Gettext
PHP Manual

bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5)

bind_textdomain_codeset — Spécifie le jeu de caractères utilisé pour les messages du domaine DOMAIN

Description

string bind_textdomain_codeset ( string $domain , string $codeset )

Spécifie l'encodage à utiliser pour les messages du domaine domain retourné par l'ensemble des fonctions gettext().

Liste de paramètres

domain

Le domaine

codeset

Le jeu de caractères

Valeurs de retour

Une chaîne de caractères en cas de succès.

Fonctions Gettext
bindtextdomain
Fonctions Gettext


Fixe le chemin d'un domaine

bind_textdomain_codeset
dcgettext
Fonctions Gettext
PHP Manual

bindtextdomain

(PHP 4, PHP 5)

bindtextdomain — Fixe le chemin d'un domaine

Description

string bindtextdomain ( string $domain , string $directory )

Fixe le chemin du domaine.

Liste de paramètres

domain

Le domaine

directory

Le chemin vers le dossier

Valeurs de retour

Le chemin complet vers le domaine.

Exemples

Exemple #1 Exemple avec bindtextdomain()

<?php

$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');

?>

L'exemple ci-dessus va afficher :

/usr/share/myapp/locale

bind_textdomain_codeset
dcgettext
Fonctions Gettext


Remplace le domaine lors d'une recherche

bindtextdomain
dcngettext
Fonctions Gettext
PHP Manual

dcgettext

(PHP 4, PHP 5)

dcgettext — Remplace le domaine lors d'une recherche

Description

string dcgettext ( string $domain , string $message , int $category )

Permet de remplacer le domaine courant lors de la recherche d'un message.

Liste de paramètres

domain

Le domaine

message

Le message

category

La catégorie

Valeurs de retour

Une chaîne de caractères en cas de succès.

Voir aussi

  • gettext() - Recherche un message dans le domaine courant

bindtextdomain
dcngettext
Fonctions Gettext


Version plurielle de dcgettext

dcgettext
dgettext
Fonctions Gettext
PHP Manual

dcngettext

(PHP 4 >= 4.2.0, PHP 5)

dcngettext — Version plurielle de dcgettext

Description

string dcngettext ( string $domain , string $msgid1 , string $msgid2 , int $n , int $category )

Vous permet de remplacer le domaine courant pour une recherche simple au pluriel d'un message.

Liste de paramètres

domain

Le domaine

msgid1

msgid2

n

category

Valeurs de retour

Une chaîne de caractères en cas de succès.

Voir aussi

  • ngettext() - Version plurielle de gettext

dcgettext
dgettext
Fonctions Gettext


Remplace le domaine courant

dcngettext
dngettext
Fonctions Gettext
PHP Manual

dgettext

(PHP 4, PHP 5)

dgettext — Remplace le domaine courant

Description

string dgettext ( string $domain , string $message )

dgettext() remplace le domaine courant domain pour une recherche simple dans message.

Liste de paramètres

domain

Le domaine

message

Le message

Valeurs de retour

Une chaîne de caractères en cas de succès.

Voir aussi

  • gettext() - Recherche un message dans le domaine courant

dcngettext
dngettext
Fonctions Gettext


Version plurielle de dgettext

dgettext
gettext
Fonctions Gettext
PHP Manual

dngettext

(PHP 4 >= 4.2.0, PHP 5)

dngettext — Version plurielle de dgettext

Description

string dngettext ( string $domain , string $msgid1 , string $msgid2 , int $n )

dngettext() vous permet de remplacer le domaine courant domain pour une recherche simple au pluriel d'un message.

Liste de paramètres

domain

Le domaine

msgid1

msgid2

n

Valeurs de retour

Une chaîne de caractères en cas de succès.

Voir aussi

  • ngettext() - Version plurielle de gettext

dgettext
gettext
Fonctions Gettext


Recherche un message dans le domaine courant

dngettext
ngettext
Fonctions Gettext
PHP Manual

gettext

(PHP 4, PHP 5)

gettext — Recherche un message dans le domaine courant

Description

string gettext ( string $message )

Recherche un message dans le domaine courant.

Liste de paramètres

message

Le message à traduire.

Valeurs de retour

Retourne une chaîne traduite, si elle en a trouvé une dans la table de traduction, ou bien le message message, s'il n'a pas été trouvé.

Exemples

Exemple #1 Exemple avec gettext()

<?php
// Choix de l'allemand
putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');

// Spécifie la localisation des tables de traduction
bindtextdomain("myPHPApp", "./locale");

// Choisit le domaine
textdomain("myPHPApp");

// La traduction est cherché dans ./locale/de_DE/LC_MESSAGES/myPHPApp.mo

// Affichage d'un message de test
echo gettext("Bienvenue dans mon application PHP");

// Or use the alias _() for gettext()
echo _("Passer une bonne journée");
?>

Notes

Note: Vous pouvez utiliser le caractère souligné (_) comme alias de cette fonction.

Note: Le fait de définir une langue n'est pas suffisant pour certains systèmes d'exploitation et l'utilisation de la fonction putenv() est nécessaire afin de définir la locale courante.

Voir aussi

  • setlocale() - Modifie les informations de localisation

dngettext
ngettext
Fonctions Gettext


Version plurielle de gettext

gettext
textdomain
Fonctions Gettext
PHP Manual

ngettext

(PHP 4 >= 4.2.0, PHP 5)

ngettext — Version plurielle de gettext

Description

string ngettext ( string $msgid1 , string $msgid2 , int $n )

Version plurielle de gettext(). Quelques langues ont plus d'une forme de messages pluriels dépendant du compteur.

Liste de paramètres

msgid1

msgid2

n

Valeurs de retour

Retourne un message au pluriel identifié par msgid1 et msgid2 pour le compteur n.

Exemples

Exemple #1 Exemple avec ngettext()

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken

?>

gettext
textdomain
Fonctions Gettext


Fixe le domaine par défaut

ngettext
iconv
Fonctions Gettext
PHP Manual

textdomain

(PHP 4, PHP 5)

textdomain — Fixe le domaine par défaut

Description

string textdomain ( string $text_domain )

textdomain() fixe le domaine text_domain à utiliser lors des recherches avec gettext(). Ce domaine dépend généralement de l'application.

Liste de paramètres

text_domain

Le nouveau domaine des messages, ou NULL pour récupérer la configuration courante sans la modifier.

Valeurs de retour

Cette fonction retourne le message courant du domaine en cas de succès, après une possible modification.

ngettext
iconv
Fonctions Gettext


iconv

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions iconv
    • iconv_get_encoding — Lit le jeu de caractères courant
    • iconv_mime_decode_headers — Décode des entêtes MIME multiples
    • iconv_mime_decode — Décode un champ d'en-tête MIME
    • iconv_mime_encode — Construit un en-tête MIME avec les champs field_name et field_value
    • iconv_set_encoding — Modifie le jeu courant de caractères d'encodage
    • iconv_strlen — Retourne le nombre de caractères d'une chaîne
    • iconv_strpos — Trouve la position de la première occurrence d'une chaîne dans une autre
    • iconv_strrpos — Trouve la position de la dernière occurrence d'un élément dans une chaîne
    • iconv_substr — Coupe une partie de chaîne
    • iconv — Convertit une chaîne dans un jeu de caractères
    • ob_iconv_handler — Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie
textdomain
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

Ce module est une interface vers la bibliothèque iconv. L'extension iconv convertit des fichiers entre divers jeux de caractères. Les jeux supportés dépendent de l'implémentation de la fonction iconv() sur votre système. Notez que cette fonction ne fonctionne pas toujours bien sur tous les systèmes. Dans ce cas, ce serait une bonne idée d'installer la bibliothèque » GNU libiconv.

Depuis PHP 5.0.0, cette extension dispose de beaucoup de fonctions utiles pour vous aider à écrire des scripts multilingues. Regardez les sections suivantes pour découvrir les nouvelles fonctionnalités.

iconv
Installation/Configuration
iconv


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
iconv


Pré-requis

Vous n'avez besoin de rien de spécial si votre système est conforme au standard POSIX, car la bibliothèque standard C fournie iconv. Dans le cas contraire, vous devez installer la bibliothèque » libiconv sur votre système.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est activée par défaut, cependant, elle peut être désactivée en compilant PHP avec l'option --without-iconv.

La directive optionnelle --with-iconv-dir est utilisée pour spécifier l'emplacement de iconv sur le système sur lequel PHP est compilé. Si cette directive n'est pas spécifiée, seuls les emplacements par défaut seront scannés.

Note: Note aux utilisateurs de PHP4
L'activation de cette extension nécessite la compilation de PHP avec --with-iconv=[DIR], ou les utilisateurs de Windows peuvent l'activer en ayant le fichier iconv.dll disponible dans le PATH système ainsi que php_iconv.dll activé dans php.ini.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration iconv
Nom | Défaut | Modifiable | Historique
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Avertissement

Quelques systèmes (comme IBM AIX) utilisent "ISO8859-1" au lieu de "ISO-8859-1", cette valeur doit donc être utilisée dans les options de configuration ainsi que dans les paramètres des fonctions.

Note: L'option de configuration iconv.input_encoding n'est actuellement pas utilisée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Depuis PHP 4.3.0, il est possible d'identifier durant l'exécution, la version de la bibliothèque iconv que vous utilisez.

Constantes iconv
Constante | Type | Description
ICONV_IMPL | string | Le nom de la bibliothèque
ICONV_VERSION | string | La version de la bibliothèque

Note: La programmation de scripts dépendant de versions spécifiques, avec ces constantes, est fortement déconseillée.

Depuis PHP 5.0.0, les constantes suivantes sont également disponibles :

Constantes iconv disponibles depuis PHP 5.0.0
Constante | Type | Description
ICONV_MIME_DECODE_STRICT | entier | Un masque utilisé par iconv_mime_decode()
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | entier | Un masque utilisé pour iconv_mime_decode()

Types de ressources
Fonctions iconv
iconv


Fonctions iconv

Voir aussi

Voir aussi les GNU Recode.

Sommaire

  • iconv_get_encoding — Lit le jeu de caractères courant
  • iconv_mime_decode_headers — Décode des entêtes MIME multiples
  • iconv_mime_decode — Décode un champ d'en-tête MIME
  • iconv_mime_encode — Construit un en-tête MIME avec les champs field_name et field_value
  • iconv_set_encoding — Modifie le jeu courant de caractères d'encodage
  • iconv_strlen — Retourne le nombre de caractères d'une chaîne
  • iconv_strpos — Trouve la position de la première occurrence d'une chaîne dans une autre
  • iconv_strrpos — Trouve la position de la dernière occurrence d'un élément dans une chaîne
  • iconv_substr — Coupe une partie de chaîne
  • iconv — Convertit une chaîne dans un jeu de caractères
  • ob_iconv_handler — Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie
Constantes pré-définies
iconv_get_encoding
iconv


Lit le jeu de caractères courant

Fonctions iconv
iconv_mime_decode_headers
Fonctions iconv
PHP Manual

iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_get_encoding — Lit le jeu de caractères courant

Description

mixed iconv_get_encoding ([ string $type = "all" ] )

Retourne le paramétrage courant du gestionnaire ob_iconv_handler().

Liste de paramètres

type

Les valeurs possibles pour le paramètre optionnel type sont :

  • all
  • input_encoding
  • output_encoding
  • internal_encoding

Valeurs de retour

Retourne la valeur courante de la variable de configuration en cas de succès ou FALSE si une erreur survient.

Si type est omis ou différent de all (c'est-à-dire "tous"), iconv_get_encoding() retourne un tableau contenant toutes les valeurs de ces constantes.

Exemples

Exemple #1 Exemple avec iconv_get_encoding()

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

L'exemple ci-dessus va afficher :

Array
(
    [input_encoding] => ISO-8859-1
    [output_encoding] => ISO-8859-1
    [internal_encoding] => UTF-8
)

Voir aussi

  • iconv_set_encoding() - Modifie le jeu courant de caractères d'encodage
  • ob_iconv_handler() - Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie

Fonctions iconv
iconv_mime_decode_headers
Fonctions iconv


Décode des entêtes MIME multiples

iconv_get_encoding
iconv_mime_decode
Fonctions iconv
PHP Manual

iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers — Décode des entêtes MIME multiples

Description

array iconv_mime_decode_headers ( string $encoded_headers [, int $mode = 0 [, string $charset = ini_set("iconv.internal_encoding") ]] )

iconv_mime_decode_headers() décode les entêtes MIME multiples.

Liste de paramètres

encoded_headers

Les entêtes encodés, sous la forme d'une chaîne de caractères.

mode

mode détermine le comportement de la fonction, si iconv_mime_decode_headers() rencontre un entête MIME malformé.

Masques acceptés par la fonction iconv_mime_decode_headers()
Valeur | Constante | Description
1 | ICONV_MIME_DECODE_STRICT | Si utilisés, les entêtes sont décodés en respectant scrupuleusement le standard de la » RFC2047. Cette option est désactivée par défaut, car il y a de nombreux clients mails qui ne suivent pas ces spécifications et qui ne produisent pas d'entêtes MIME corrects.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Si cette option est activée, iconv_mime_decode_headers() tente d'ignorer les erreurs de syntaxe et continue de traiter l'entête donné.

charset

Le paramètre optionnel charset spécifie le jeu de caractères utilisé pour représenter le résultat. S'il est omis, le jeu définit dans le fichier php.ini iconv.internal_encoding est utilisé.

Valeurs de retour

Retourne un tableau associatif qui contient les entêtes MIME spécifiés par le paramètre encoded_headers, ou bien FALSE si une erreur survient durant le décodage.

Chaque clé du tableau retourné contient un nom d'entête distinct, et sa valeur correspondante. Si plusieurs champs ont le même nom, iconv_mime_decode_headers() fera de ce champ un tableau indexé, avec les valeurs dans leur ordre d'apparence.

Exemples

Exemple #1 Exemple avec iconv_mime_decode_headers()

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

L'exemple ci-dessus va afficher :

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Voir aussi

  • iconv_mime_decode() - Décode un champ d'en-tête MIME
  • mb_decode_mimeheader() - Décode un en-tête MIME
  • imap_mime_header_decode() - Décode les éléments MIME d'un en-tête
  • imap_base64() - Décode un texte encodé en BASE64
  • imap_qprint() - Convertit une chaîne à guillemets en une chaîne à 8 bits

iconv_get_encoding
iconv_mime_decode
Fonctions iconv


Décode un champ d'en-tête MIME

iconv_mime_decode_headers
iconv_mime_encode
Fonctions iconv
PHP Manual

iconv_mime_decode

(PHP 5)

iconv_mime_decode — Décode un champ d'en-tête MIME

Description

string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = ini_set("iconv.internal_encoding") ]] )

iconv_mime_decode() décode un champ d'en-tête MIME.

Liste de paramètres

encoded_header

L'en-tête encodé, sous la forme d'une chaîne de caractères.

mode

mode détermine une alternative dans le cas où iconv_mime_decode() rencontre un champ d'en-tête MIME mal formé.

Masques acceptables pour la fonction iconv_mime_decode()
Valeur | Constante | Description
1 | ICONV_MIME_DECODE_STRICT | Si défini, l'en-tête correspondant sera décodé en suivant strictement le standard » RFC2047. Cette option est désactivée par défaut, car il existe beaucoup de mauvais clients mails qui ne suivent pas ce standard et donc, produisent de mauvaises en-têtes MIME.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Si défini, iconv_mime_decode() essaie de continuer à décoder l'en-tête passée, même si des erreurs apparaissent.

charset

Le paramètre par défaut charset spécifie le jeu de caractères à utiliser pour représenter le résultat. S'il est omis, iconv.internal_encoding sera utilisé.

Valeurs de retour

Retourne un champs MIME en cas de succès, ou FALSE si une erreur survient durant le décodage.

Exemples

Exemple #1 Exemple avec iconv_mime_decode()

<?php
// Ceci affichera : "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

Voir aussi

  • iconv_mime_decode_headers() - Décode des entêtes MIME multiples
  • mb_decode_mimeheader() - Décode un en-tête MIME
  • imap_mime_header_decode() - Décode les éléments MIME d'un en-tête
  • imap_base64() - Décode un texte encodé en BASE64
  • imap_qprint() - Convertit une chaîne à guillemets en une chaîne à 8 bits

iconv_mime_decode_headers
iconv_mime_encode
Fonctions iconv


Construit un en-tête MIME avec les champs field_name et field_value

iconv_mime_decode
iconv_set_encoding
Fonctions iconv
PHP Manual

iconv_mime_encode

(PHP 5)

iconv_mime_encode — Construit un en-tête MIME avec les champs field_name et field_value

Description

string iconv_mime_encode ( string $field_name , string $field_value [, array $preferences = NULL ] )

iconv_mime_encode() compose et retourne une chaîne de caractères qui représente un champ en-tête MIME qui ressemble à :

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
Dans l'exemple ci-dessus, "Subject" est le nom du champ et la portion qui commence par "=?ISO-8859-1?..." est la valeur du champ.

Liste de paramètres

field_name

Le nom du champs.

field_value

La valeur du champs.

preferences

Vous pouvez contrôler le comportement de la fonction iconv_mime_encode() en spécifiant un tableau associatif contenant la configuration des éléments dans le paramètre preferences. La liste des éléments supportés par iconv_mime_encode() figure ci-dessous. Notez que les noms des éléments sont sensibles à la casse.

Liste des éléments supportés par iconv_mime_encode()
Élément | Type | Description | Valeur par défaut | Exemple
scheme | string | Spécifie la méthode d'encodage d'un champ. Les valeurs possibles sont "B" ou "Q", où "B" signifie que le schéma d'encodage sera base64 et "Q", quoted-printable. | B | B
input-charset | string | Spécifie le jeux de caractères pour représenter le premier paramètre field_name et le second paramètre field_value. S'il est omis, iconv_mime_encode() utilisera la directive de configuration iconv.internal_encoding de votre php.ini pour les représenter. | iconv.internal_encoding | ISO-8859-1
output-charset | string | Spécifie le jeux de caractères à utiliser pour composer l'en-tête MIME. S'il est omis, la même valeur que input-charset sera utilisée. | iconv.internal_encoding | UTF-8
line-length | integer | Spécifie la longueur maximale de chaque en-tête. Si l'en-tête est plus grande que la longueur défini par ce paramètre, l'en-tête résultant sera un en-tête composée de plusieurs lignes conformément au standard » RFC2822 - Internet Message Format. S'il est omis, la longueur maximale sera fixée à 76 caractères. | 76 | 996
line-break-chars | string | Spécifie les caractères de fin de ligne. S'il est omis, la valeur par défaut sera "\r\n" (CR LF). Notez que ce paramètre est toujours représenté comme une chaîne ASCII au regard de la valeur du paramètre input-charset. | \r\n | \n

Valeurs de retour

Retourne un champs MIME en cas de succès, ou FALSE si une erreur survient durant l'encodage.

Exemples

Exemple #1 Exemple avec iconv_mime_encode()

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// This yields "Subject: =?UTF-8?Q?Pr=C3=BCfung_Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Voir aussi

  • imap_binary() - Convertit une chaîne à 8 bits en une chaîne à base64
  • mb_encode_mimeheader() - Encode une chaîne pour un en-tête MIM
  • imap_8bit() - Convertit une chaîne à 8 bits en une chaîne encodée en Quoted-Printable
  • quoted_printable_encode() - Convertit une chaîne 8 bits en une chaîne quoted-printable

iconv_mime_decode
iconv_set_encoding
Fonctions iconv


Modifie le jeu courant de caractères d'encodage

iconv_mime_encode
iconv_strlen
Fonctions iconv
PHP Manual

iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_set_encoding — Modifie le jeu courant de caractères d'encodage

Description

bool iconv_set_encoding ( string $type , string $charset )

Modifie le jeu de caractères courant, et remplace la valeur courante du paramètre type par charset.

Liste de paramètres

type

Les valeurs possibles de type sont :

  • input_encoding
  • output_encoding
  • internal_encoding

charset

Le jeu de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec iconv_set_encoding()

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>

Voir aussi

  • iconv_get_encoding() - Lit le jeu de caractères courant
  • ob_iconv_handler() - Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie

iconv_mime_encode
iconv_strlen
Fonctions iconv


Retourne le nombre de caractères d'une chaîne

iconv_set_encoding
iconv_strpos
Fonctions iconv
PHP Manual

iconv_strlen

(PHP 5)

iconv_strlen — Retourne le nombre de caractères d'une chaîne

Description

int iconv_strlen ( string $str [, string $charset = ini_set("iconv.internal_encoding") ] )

À l'opposée de strlen(), la valeur de retour de iconv_strlen() est le nombre de caractères faisant partie de la séquence d'octets str, ce qui n'est pas toujours la même chose que la taille en octets de la chaîne de caractères.

Liste de paramètres

str

La chaîne de caractères.

charset

Si charset n'est pas passé en paramètre, str est supposée être encodée en iconv.internal_encoding.

Valeurs de retour

Retourne le nombre de caractères de la chaîne str, sous la forme d'un entier.

Voir aussi

  • strlen() - Calcule la taille d'une chaîne
  • mb_strlen() - Retourne la taille d'une chaîne

iconv_set_encoding
iconv_strpos
Fonctions iconv


Trouve la position de la première occurrence d'une chaîne dans une autre

iconv_strlen
iconv_strrpos
Fonctions iconv
PHP Manual

iconv_strpos

(PHP 5)

iconv_strpos — Trouve la position de la première occurrence d'une chaîne dans une autre

Description

int iconv_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $charset = ini_set("iconv.internal_encoding") ]] )

Trouve la position de la première occurrence de needle dans haystack.

À l'opposé de strpos(), la valeur retournée par iconv_strpos() est le nombre de caractères se trouvant avant needle, plutôt que la position en octets où needle a été trouvé. Les caractères sont comptés en se basant sur le jeux de caractères spécifié par charset.

Liste de paramètres

haystack

La chaîne de caractères entière.

needle

La chaîne de caractères à chercher.

offset

Le paramètre optionnel offset spécifie la position à partir de laquelle la recherche doit commencer.

charset

Si le paramètre charset est omis, string sera encodé en accord avec iconv.internal_encoding.

Si haystack ou needle ne sont pas des chaînes de caractères, ils sont convertis en entiers et appliqués en tant que valeur ordinale d'un caractère.

Valeurs de retour

Retourne la position numérique de la première occurrence de needle dans haystack.

Si needle n'est pas trouvé, iconv_strpos() retournera FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Voir aussi

  • strpos() - Trouve la position d'un caractère dans une chaîne
  • iconv_strrpos() - Trouve la position de la dernière occurrence d'un élément dans une chaîne
  • mb_strpos() - Repère la première occurrence d'un caractère dans une chaîne

iconv_strlen
iconv_strrpos
Fonctions iconv


Trouve la position de la dernière occurrence d'un élément dans une chaîne

iconv_strpos
iconv_substr
Fonctions iconv
PHP Manual

iconv_strrpos

(PHP 5)

iconv_strrpos — Trouve la position de la dernière occurrence d'un élément dans une chaîne

Description

int iconv_strrpos ( string $haystack , string $needle [, string $charset = ini_set("iconv.internal_encoding") ] )

À l'opposé de la fonction strpos(), la valeur retournée par iconv_strrpos() est le nombre de caractères avant needle, plutôt que la position en octets de needle. Les caractères sont comptés en se basant sur le jeux de caractères charset.

Liste de paramètres

haystack

La chaîne de caractères entière.

needle

La chaîne de caractères cherchée.

charset

Si le paramètre optionnel charset est omis, string est supposé être encodé en iconv.internal_encoding.

Si haystack ou needle ne sont pas des chaînes de caractères, ils seront convertis en chaîne de caractères et reconnus comme code ASCII de chaque caractères.

Valeurs de retour

Retourne la position numérique de la dernière occurrence de needle dans haystack. Les caractères sont comptés en tenant compte du jeu de caractères spécifié charset.

Si needle n'est pas trouvé, iconv_strrpos() retournera FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Voir aussi

  • strrpos() - Trouve la position de la dernière occurrence d'un caractère dans une chaîne
  • iconv_strpos() - Trouve la position de la première occurrence d'une chaîne dans une autre
  • mb_strrpos() - Repère la dernière occurrence d'un caractère dans une chaîne

iconv_strpos
iconv_substr
Fonctions iconv


Coupe une partie de chaîne

iconv_strrpos
iconv
Fonctions iconv
PHP Manual

iconv_substr

(PHP 5)

iconv_substr — Coupe une partie de chaîne

Description

string iconv_substr ( string $str , int $offset [, int $length = strlen($str) [, string $charset = ini_set("iconv.internal_encoding") ]] )

Coupe une partie de la chaîne str à partir de la position offset et d'une longueur de length.

Liste de paramètres

str

La chaîne de caractères originale.

offset

Si offset n'est pas négatif, iconv_substr() retourne le segment de str en commençant au caractère numéro offset, en comptant à partir de zéro.

Si offset est négatif, iconv_substr() retourne le segment en commençant à la position offset caractères et en allant vers la fin de la chaîne de caractères str.

length

Si le paramètre length est donné et positif, la valeur retournée contiendra au plus length caractères de la portion de chaîne qui commence à offset (en fonction de la taille de la chaîne string).

Si length est passé et négatif, iconv_substr() coupe la portion externe de str depuis le caractère numéro offset jusqu'au caractère numéro length, compté depuis la fin de la chaîne de caractères. Dans le cas où offset est également négatif, la position de départ est calculée en amont, suivant la règle expliquée plus haut.

charset

Si charset est omis, string est supposé avoir été encodée en iconv.internal_encoding.

Notez que offset et length sont toujours considérés comme représentant une position calculée sur la représentation ASCII des caractères déterminés par charset, contrairement à substr() qui se base toujours sur la position par octet.

Valeurs de retour

Retourne la portion de str spécifié par les paramètres offset et length.

Si str est plus petit que offset, FALSE sera retourné.

Voir aussi

  • substr() - Retourne un segment de chaîne
  • mb_substr() - Lit une sous-chaîne
  • mb_strcut() - Coupe une partie de chaîne

iconv_strrpos
iconv
Fonctions iconv


Convertit une chaîne dans un jeu de caractères

iconv_substr
ob_iconv_handler
Fonctions iconv
PHP Manual

iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv — Convertit une chaîne dans un jeu de caractères

Description

string iconv ( string $in_charset , string $out_charset , string $str )

Convertit la chaîne str depuis le jeu de caractères in_charset vers le jeu de caractères out_charset.

Liste de paramètres

in_charset

Le jeu de caractères d'entrée.

out_charset

Le jeu de caractères de sortie.

Si vous ajoutez la chaîne //TRANSLIT au paramètre out_charset, la translittération est activée. Cela signifie que lorsqu'un caractère ne peut être représenté dans le jeu de caractères cible, il peut être représenté approximativement à partir d'un ou plusieurs caractères représentant le même caractère. Si vous ajoutez la chaîne //IGNORE, les caractères qui ne peuvent être représentés dans le jeu de caractères cible sont tout simplement ignorés. Sinon, str sera coupé à partir du premier caractère illégal rencontré et une erreur E_NOTICE sera générée.

str

La chaîne de caractères à convertir.

Valeurs de retour

Retourne la chaîne de caractères convertie ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec iconv()

<?php
$text = "Ceci est le symbole de l'Euro '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Brut     : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Original : Ceci est le symbole de l'Euro '€'.
TRANSLIT : Ceci est le symbole de l'Euro 'EUR'.
IGNORE   : Ceci est le symbole de l'Euro ''.
Brut     : Ceci est le symbole de l'Euro '
Notice: iconv(): Detected an illegal character in input string in /Users/macbook/Desktop/- on line 8
Ceci est le symbole de l'Euro '

iconv_substr
ob_iconv_handler
Fonctions iconv


Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie

iconv
intl
Fonctions iconv
PHP Manual

ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5)

ob_iconv_handler — Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie

Description

string ob_iconv_handler ( string $contents , int $status )

Convertit la chaîne utilisant le jeu de caractères internal_encoding en une chaîne utilisant celui de output_encoding.

internal_encoding et output_encoding doivent être définis par iconv_set_encoding() ou dans le fichier de configuration php.ini.

Liste de paramètres

Voir la documentation sur la fonction ob_start() pour plus d'informations sur les paramètres de cette fonction.

Valeurs de retour

Voir la documentation sur la fonction ob_start() pour plus d'informations sur les valeurs retournées par cette fonction.

Exemples

Exemple #1 Exemple avec ob_iconv_handler()

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler"); // Commence la mise en buffer de l'affichage
?>

Voir aussi

  • iconv_get_encoding() - Lit le jeu de caractères courant
  • iconv_set_encoding() - Modifie le jeu courant de caractères d'encodage
  • fonctions de buffers de sortie

iconv
intl
Fonctions iconv


Fonctions d'internationalisation

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation simple de l'extension
  • Collator — La classe Collator
    • Collator::asort — Tri un tableau en conservant les clés, avec une collation
    • Collator::compare — Compare deux chaînes Unicode
    • Collator::__construct — Créatin d'un collator
    • Collator::create — Création d'un collator
    • Collator::getAttribute — Lit un attribut de collation
    • Collator::getErrorCode — Lit la dernière erreur du collator
    • Collator::getErrorMessage — Lit le dernier message d'erreur du collator
    • Collator::getLocale — Lit le nom de la locale d'un collator
    • Collator::getSortKey — Recupère la clé de tri pour une chaine
    • Collator::getStrength — Get current collation strength
    • Collator::setAttribute — Configure l'attribut de collation
    • Collator::setStrength — Set collation strength
    • Collator::sortWithSortKeys — Tri un tableau et ses clés avec une collation
    • Collator::sort — Tri un tableau avec une collation
  • NumberFormatter — La classe NumberFormatter
    • NumberFormatter::create — Crée un formateur de nombre
    • NumberFormatter::formatCurrency — Formate une valeur monétaire
    • NumberFormatter::format — Formate un nombre
    • NumberFormatter::getAttribute — Lit un attribut
    • NumberFormatter::getErrorCode — Lit le dernier code d'erreur du formateur
    • NumberFormatter::getErrorMessage — Lit le dernier message d'erreur du formateur
    • NumberFormatter::getLocale — Lit la locale du formateur
    • NumberFormatter::getPattern — Lit le modèle du formateur
    • NumberFormatter::getSymbol — Lit la valeur du symbole
    • NumberFormatter::getTextAttribute — Lit un attribut textuel
    • NumberFormatter::parseCurrency — Analyse un nombre monétaire
    • NumberFormatter::parse — Analyse un nombre
    • NumberFormatter::setAttribute — Affecte un attribut du formateur
    • NumberFormatter::setPattern — Configure le modèle du formateur
    • NumberFormatter::setSymbol — Configure le symbole du formateur
    • NumberFormatter::setTextAttribute — Modifie un attribut texte
  • Locale — La classe Locale
    • Locale::acceptFromHttp — Devine la meilleure locale à partir de l'entête HTTP "Accept-Language"
    • Locale::composeLocale — Retourne un identifiant de locale correct
    • Locale::filterMatches — Vérifie si le tag de langue correspond à une locale
    • Locale::getAllVariants — Liste toutes les variantes d'une locale
    • Locale::getDefault — Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'
    • Locale::getDisplayLanguage — Retourne un nom approprié pour l'affichage d'un nom de langue
    • Locale::getDisplayName — Retourne un nom d'affichage correct pour une locale
    • Locale::getDisplayRegion — Retourne un nom pour la région de la locale
    • Locale::getDisplayScript — Retourne le nom du script de la locale
    • Locale::getDisplayVariant — Retourne un nom pour la variante de la locale
    • Locale::getKeywords — Lit les mots-clé de la locale
    • Locale::getPrimaryLanguage — Lit la langue principale de la locale
    • Locale::getRegion — Retourne un code pour la région de la locale
    • Locale::getScript — Retourne un code pour le script de la locale
    • Locale::lookup — Recherche dans la liste la meilleure langue
    • Locale::parseLocale — Retourne les sous-éléments de la locale
    • Locale::setDefault — Configure la locale par défaut
  • Normalizer — La classe Normalizer
    • Normalizer::isNormalized — Vérifie si une chaîne est normalisée
    • Normalizer::normalize — Normalise une chaîne en entrée
  • MessageFormatter — La classe MessageFormatter
    • MessageFormatter::create — Construit un nouveau formateur de messages
    • MessageFormatter::formatMessage — Formate rapidement un message
    • MessageFormatter::format — Formate un message
    • MessageFormatter::getErrorCode — Lit le dernier code d'erreur de la dernière opération
    • MessageFormatter::getErrorMessage — Lit le message d'erreur de la dernière opération
    • MessageFormatter::getLocale — Lit la locale avec la quelle le formateur a été créé
    • MessageFormatter::getPattern — Lit le modèle utilisé par le formateur de messages
    • MessageFormatter::parseMessage — Analyse rapidement une chaîne
    • MessageFormatter::parse — Analyse une chaîne en fonction du modèle
    • MessageFormatter::setPattern — Configure le modèle utilisé par le formateur
  • IntlDateFormatter — La classe IntlDateFormatter
    • IntlDateFormatter::create — Crée un formateur de date
    • IntlDateFormatter::format — Formate la date et l'heure sous forme de chaîne
    • IntlDateFormatter::getCalendar — Lit le calendrier utilisé par l'objet IntlDateFormatter
    • IntlDateFormatter::getDateType — Lit le type de date utilisé par IntlDateFormatter
    • IntlDateFormatter::getErrorCode — Lit le code d'erreur de la dernière opération
    • IntlDateFormatter::getErrorMessage — Lit le dernier message d'erreur
    • IntlDateFormatter::getLocale — Lit la locale utilisée par le formateur
    • IntlDateFormatter::getPattern — Lit le modèle utilisé par IntlDateFormatter
    • IntlDateFormatter::getTimeType — Lit le type de temps pour IntlDateFormatter
    • IntlDateFormatter::getTimeZoneId — Lit le fuseau horaire de IntlDateFormatter
    • IntlDateFormatter::isLenient — Retourne la sévérité utilisée pour IntlDateFormatter
    • IntlDateFormatter::localtime — Analyse une chaîne et la converti en temps
    • IntlDateFormatter::parse — Analyse une chaîne vers un timestamp
    • IntlDateFormatter::setCalendar — sets the calendar used to the appropriate calendar, which must be
    • IntlDateFormatter::setLenient — Configure la souplesse de l'analyseur
    • IntlDateFormatter::setPattern — Configure le modèle utilisé par le IntlDateFormatter
    • IntlDateFormatter::setTimeZoneId — Configure le fuseau horaire à utiliser
  • ResourceBundle — La classe ResourceBundle
    • ResourceBundle::count — Get number of elements in the bundle
    • ResourceBundle::create — Create a resource bundle
    • ResourceBundle::getErrorCode — Get bundle's last error code.
    • ResourceBundle::getErrorMessage — Get bundle's last error message.
    • ResourceBundle::get — Get data from the bundle
    • ResourceBundle::getLocales — Get supported locales
  • Fonctions Grapheme
    • grapheme_extract — Extrait un groupe de graphème d'une chaîne UTF-8
    • grapheme_stripos — Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
    • grapheme_stristr — Retourne la partie d'une chaîne à partir d'une occurrence
    • grapheme_strlen — Lit la taille d'une chaîne en nombre de graphème
    • grapheme_strpos — Trouve la position du premier graphème
    • grapheme_strripos — Trouve la position du dernier graphème, insensible à la casse
    • grapheme_strrpos — Trouve la position du dernier graphème
    • grapheme_strstr — Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
    • grapheme_substr — Retourne une partie d'une chaîne
  • Fonctions IDN
    • idn_to_ascii — Convertie un nom de domaine au format IDNA ASCII
    • idn_to_unicode — Alias de idn_to_utf8
    • idn_to_utf8 — Convertit le nom de domaine IDNA ASCII en Unicode
  • Fonctions intl
    • intl_error_name — Lit le nom symbolique d'un code d'erreur donné
    • intl_get_error_code — Lit le dernier code d'erreur
    • intl_get_error_message — Lit la description de la dernière erreur
    • intl_is_failure — Vérifie si un code d'erreur indique un échec
ob_iconv_handler
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

L'extension d'Internationalization (qui est aussi appelée Intl) est une interface pour la bibliothèque » ICU, qui permet aux développeurs PHP d'effectuer des manipulations de nombres dates et heures avec des conventions locales, dans leurs scripts.

Cette extension tend à suivre de près l'API ICU, ce qui fait que ceux qui ont l'expérience de cette bibliothèque en C, C++ ou Java pourront facilement s'y retrouver dans l'API PHP. De plus, la documentation ICU peut être très utile pour comprendre les fonctions ICU.

Intl est constitué de plusieurs modules, chacun exposant des API d'ICU :

  • Collator : fournit des outils de comparaison de chaînes, qui supporte les tris en fonction des conventions locales.
  • Number Formatter : permet d'afficher des nombres en fonction des conventions locales, ou de modèles particuliers, ou encore de règles d'affichages.
  • Message Formatter : permet de créer des message en incorporant des données (comme des dates ou des nombres) formattés en fonction des conventions locale ou particulières; permet aussi d'analyser des textes pour extraire ces informations.
  • Normalizer : fournit une fonction pour normaliser un texte dans l'une des normalisation Unicode, et des méthodes pour tester si une chaîne est déjà normalisée.
  • Locale : fournit des outils d'interaction avec les identifiants locaux : analyse, compose, recherche et filtre des identifiants locaux.

Links

  • » Diverses docs ICU

  • » Guide utilisateur ICU

  • » Algorithme de collation Unicode

intl
Installation/Configuration
intl


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
intl


Pré-requis

Pour compiler cette extension, vous devez installer la bibliothèque » ICU version 3.6 ou plus récent.

Cette extension peut être compilée avec PHP 5.2 : PHP 5.2.4 ou plus récent est recommandé. Elle fait partie du code source de PHP 5.3.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/intl.

Si votre bibliothèque ICU est installée dans un dossier non-standard, vous aurez peut-être à spécifier sa localisation via la variable d'environnement LD_LIBRARY_PATH, afin que le compilateur dynamique puisse la trouver :

$ export LD_LIBRARY_PATH=/opt/icu/lib

Autrement, si PHP et ICU sont installés dans leurs dossiers par défaut, alors aucune option particulière ne sont nécessaire pour `configure'.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration d'internationalisation
Nom | Défaut | Modifiable | Historique
intl.default_locale |  | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

intl.default_locale string

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

INTL_MAX_LOCALE_LEN ( integer )
Limite la taille locale, par défaut à 80 en PHP. Les noms de locales plus grand que cette taille seront interdits.
IDNA_DEFAULT ( integer )
Interdire le traitement des codepoints non affectés dans l'entrée pour les fonctions IDN et ne vérifient pas si l'entrée est conforme aux règles de noms de domaine ASCII.
IDNA_ALLOW_UNASSIGNED ( integer )
Autoriser le traitement des codepoints non affectés dans l'entrée pour les fonctions IDN.
IDNA_USE_STD3_RULES ( integer )
Vérifiez si l'entrée pour les fonctions IDN est conforme aux règles de noms de domaine ASCII.

Types de ressources
Exemples
intl


Exemples

Sommaire

  • Utilisation simple de l'extension
Constantes pré-définies
Utilisation simple de l'extension
intl


Utilisation simple de l'extension

Chaque module dispose de deux type d'API : une version procédurale, et une version objet. Les deux sont en fait identiques, et décrites dans le document correspondant.

Note: Toutes les chaînes doivent être en UTF-8. Tous les résultats sont aussi en UTF-8.

Exemple #1 Exemple d'API procédurale pour intl

<?php
$coll  = collator_create('en_US');
$result = collator_compare($coll, "string#1", "string#2");
?>

Exemple #2 Exemple d'API orientée objet pour intl

<?php
$coll = new Collator('en_US');
$al   = $coll->getLocale(Locale::ACTUAL_LOCALE);
echo "Actual locale: $al\n";

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formatter->format(1234567);
?>
Exemples
Collator
Exemples


La classe Collator

Introduction

Fournit des outils de comparaisons de chaînes, avec le support des conventions locales pour les tris.

Synopsis de la classe

Collator
Collator {
/* Méthodes */
__construct ( string $locale )
bool asort ( array &$arr [, int $sort_flag ] )
int compare ( string $str1 , string $str2 )
static Collator create ( string $locale )
int getAttribute ( int $attr )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ int $type ] )
string getSortKey ( string $str )
int getStrength ( void )
bool setAttribute ( int $attr , int $val )
bool setStrength ( int $strength )
bool sortWithSortKeys ( array &$arr )
bool sort ( array &$arr [, int $sort_flag ] )
}

Constantes pré-définies

Collator::FRENCH_COLLATION (entier)

Trie les chaînes avec différents accents, sur la fin de la chaîne. Cet attribut est automatiquement configuré à On pour les locales françaises, et quelques autres. Les utilisateurs n'ont pas besoin de configurer explicitement cet attribut. Il y a un coût de performances lors de la comparaison des chaînes quand cet attribut est à On, mais la taille des clés de tris est inchangée. Les valeurs possibles sont :

  • Collator::ON
  • Collator::OFF(par défaut)
  • Collator::DEFAULT_VALUE

Exemple #3 Règles de FRENCH_COLLATION

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING (entier)

L'attribut alterné est utilisé pour contrôler la gestion des caractères variables de UCA : les espaces blancs, la ponctuation et les symboles. Si Alternate est configuré à NonIgnorable (N), alors les différences entre ces caractères sont de la même importance que les différences entre les lettres. Si Alternate est configuré à Shifted (S), alors ces caractères seront d'importance mineur. La valeur Shifted est souvent utilisée conjointement avec Quaternary qui vaut Strength. Dans ce cas, les espaces blancs, la ponctuation et les symboles sont considérés lors de la comparaison, mais uniquement si les autres aspects de la chaînes (lettres de base, accents et casse) sont tous identiques. Si Alternate n'est pas configuré à Shifted, il n'y a alors pas de différence entre une Strength de 3 et une Strength de 4. Pour plus d'information et d'exemples, voyez Variable_Weighting dans » UCA. La raison qui fait que les valeurs de Alternate ne sont pas seulement On et Off est que des valeurs supplémentaires pour Alternate pourraient être ajoutées à l'avenir. L'option UCA Blanked est exprimée avec une valeur de Strength à 3, et Alternate configuré à Shifted. La valeur par défaut pour la majorité des locales est NonIgnorable. Si Shifted est sélectionné, il peut être plus lent s'il y a de nombreuses chaînes qui sont identiques, sauf pour la ponctuation : la taille de la clé de tri sera inchangée, à mois que le niveau de Strength ne soit élevé.

Les valeurs possibles sont :

  • Collator::NON_IGNORABLE(par défaut)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

Exemple #4 Règles ALTERNATE_HANDLING

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (entier)

L'attribut Case_First est utilisé pour contrôler le fait que les majuscules doivent être considérées comme avant les minuscules, et vice-versa, en l'absence d'autres discriminant. Les valeurs possibles sont Uppercase_First (U) et Lowercase_First (L), plus les valeurs standards Default et Off. Il n'y a presque pas de différence entre Off et Lowercase_First en termes de résultats, ce qui fait que les utilisateurs typiques n'utiliseront pas Lowercase_First : uniquement Off ou Uppercase_First. (ceux qui sont intéressés par les différences entre X et L devront consulter la section Collation Customization). Spécifier L ou U ne va pas changer les performances de comparaison, mais va affecter la taille de la clé de tri.

Les valeurs possibles sont :

  • Collator::OFF(par défaut)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

Exemple #5 Règles CASE_FIRST

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL (entier)

L'attribut Case_Level est utilisé pour ignorer les accents, mais pas la casse. Dans ces situations, mettez l'attribut Strength à Primary, et Case_Level à On. Dans la plupart des locales, cet attribut est à Off par défaut. Il y a un petit coût de performances pour la comparaison des chaînes, un un impact sur la taille des index de tri si cet attribut est à On.

Les valeurs possibles sont :

  • Collator::OFF(par défaut)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Exemple #6 Règles CASE_LEVEL

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE (entier)

L'attribut Normalization détermine s'il faut normaliser totalement le texte ou non, pour la comparaison. Même si cet attribut à Off (ce qui set le cas par défaut pour de nombreuses locales), les textes comparés pour un usage ordinaire seront corrects (pour des détails, voyez UTN #5). Il n'y aura un problème que si les marques d'accent ne sont pas canoniques. Si cet attribut est à On, alors les meilleurs résultats sont garantis pour tous les textes. Il y a un coût de comparaison moyen si cet attribut vaut On, en fonction de la fréquence des séquences qui requièrent de la normalisation. Il n'y a pas d'effet significatif sur la taille des index de tri. Si le texte est réputé dans les formes de normalisation NFD ou NFKD, il n'y a pas besoin d'activer l'option de Normalization.

Les valeurs possibles sont :

  • Collator::OFF(par défaut)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH (entier)

Le service de collation ICU supporte de nombreux niveaux de comparaison (appelés "Levels", mais aussi connus sous le nom de "Strengths"). Avec ces catégories, ICU peut trier les chaînes avec précision, en fonction des conventions locales. Cependant, en permettant l'utilisation sélective des niveaux, la recherche d'une chaîne dans un texte peut être réalisées, à partir de différentes conditions. Pour plus d'informations, voyez le chapitre collator_set_strength().

Les valeurs possibles sont :

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY(par défaut)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE (entier)

La compatibilité avec JIS x 4061 requiert l'introduction d'un niveau supplémentaire pour distinguer les caractères Hiragana et Katakana. Si la compatibilité avec le standard est nécessaire, alors cet attribut doit être utilisé à On, et la Strength doit prendre la valeur de Quaternary. Cela va affecter la taille des index de tri, et les performances de comparaisons des chaînes.

Les valeurs possibles sont :

  • Collator::OFF(par défaut)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION (entier)

Lorsqu'activé, cet attribut génère une clé de collation pour les valeurs numériques de sous-chaînes. C'est une méthode pour que '100' soit trié après '2'.

Les valeurs possibles sont :

  • Collator::OFF(par défaut)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE (entier)
Collator::PRIMARY (entier)
Collator::SECONDARY (entier)
Collator::TERTIARY (entier)
Collator::DEFAULT_STRENGTH (entier)
Collator::QUATERNARY (entier)
Collator::IDENTICAL (entier)
Collator::OFF (entier)
Collator::ON (entier)
Collator::SHIFTED (entier)
Collator::NON_IGNORABLE (entier)
Collator::LOWER_FIRST (entier)
Collator::UPPER_FIRST (entier)

Sommaire

  • Collator::asort — Tri un tableau en conservant les clés, avec une collation
  • Collator::compare — Compare deux chaînes Unicode
  • Collator::__construct — Créatin d'un collator
  • Collator::create — Création d'un collator
  • Collator::getAttribute — Lit un attribut de collation
  • Collator::getErrorCode — Lit la dernière erreur du collator
  • Collator::getErrorMessage — Lit le dernier message d'erreur du collator
  • Collator::getLocale — Lit le nom de la locale d'un collator
  • Collator::getSortKey — Recupère la clé de tri pour une chaine
  • Collator::getStrength — Get current collation strength
  • Collator::setAttribute — Configure l'attribut de collation
  • Collator::setStrength — Set collation strength
  • Collator::sortWithSortKeys — Tri un tableau et ses clés avec une collation
  • Collator::sort — Tri un tableau avec une collation
Utilisation simple de l'extension
Collator::asort
intl


Tri un tableau en conservant les clés, avec une collation

Collator
Collator::compare
Collator
PHP Manual

Collator::asort

collator_asort

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::asort -- collator_asort — Tri un tableau en conservant les clés, avec une collation

Description

Style orienté objet

bool Collator::asort ( array &$arr [, int $sort_flag ] )

Style procédural

bool collator_asort ( Collator $coll , array &$arr [, int $sort_flag ] )

Cette fonction trie un tableau en maintenant l'association entre les clés et les valeurs. Elle sert surtout à trier des tableaux associatifs, où l'ordre des éléments est important. Les éléments seront triés en fonction des conventions locales.

Équivalent de la fonction PHP standard asort().

Liste de paramètres

coll

Objet Collator.

arr

tableau de chaînes à trier.

sort_flag

Type de tri, optionnel, choisi parmi les constantes suivantes :

  • Collator::SORT_REGULAR : compare les éléments normalement (pas de changement de type).

  • Collator::SORT_NUMERIC : compare les éléments numériquement.

  • Collator::SORT_STRING : compare les éléments littéralement.

Le type de tri par défaut est Collator::SORT_REGULAR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec collator_asort()

<?php
$coll = collator_create( 'en_US' );
$arr = array(
     'a' => '100',
     'b' => '50',
     'c' => '7'
);
collator_asort( $coll, $arr, Collator::SORT_NUMERIC );
var_export( $arr );

collator_asort( $coll, $arr, Collator::SORT_STRING );
var_export( $arr );
?>

L'exemple ci-dessus va afficher :

array (
  'c' => '7',
  'b' => '50',
  'a' => '100',
)array (
  'a' => '100',
  'b' => '50',
  'c' => '7',
)

Voir aussi

  • Constantes Collator
  • collator_sort() - Tri un tableau avec une collation
  • collator_sort_with_sort_keys() - Tri un tableau et ses clés avec une collation

Collator
Collator::compare
Collator


Compare deux chaînes Unicode

Collator::asort
Collator::__construct
Collator
PHP Manual

Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::compare -- collator_compare — Compare deux chaînes Unicode

Description

Style orienté objet

int Collator::compare ( string $str1 , string $str2 )

Style procédural

int collator_compare ( Collator $coll , string $str1 , string $str2 )

Compare deux chaînes Unicode en fonction des règles de collation.

Liste de paramètres

coll

Objet Collator.

str1

La première chaîne à comparer.

str2

La deuxième chaîne à comparer.

Valeurs de retour

Résultats de comparaison

  • 1 si str1 est plus grand que str2 ;

  • 0 si str1 est égal à str2;

  • -1 si str1 est plus petit que str2 .

En cas d'erreur, un booléen FALSE est retourné.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec collator_compare()

<?php
$s1 = 'Hello';
$s2 = 'hello';

$coll = collator_create( 'en_US' );
$res  = collator_compare( $coll, $s1, $s2 );

if ($res === false) {
    echo collator_get_error_message( $coll );
} else if( $res > 0 ) {
    echo "s1 est plus grand que s2\n";
} else if( $res < 0 ) {
    echo "s1 est plus petit que s2\n";
} else {
    echo "s1 est égal à s2\n";
}
?>

L'exemple ci-dessus va afficher :

s1 est plus grand que s2

Voir aussi

  • collator_sort() - Tri un tableau avec une collation

Collator::asort
Collator::__construct
Collator


Créatin d'un collator

Collator::compare
Collator::create
Collator
PHP Manual

Collator::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::__construct — Créatin d'un collator

Description

Collator::__construct ( string $locale )

Création d'une nouvelle instance d'un objet Collator.

Liste de paramètres

locale

La locale dont les règles de collation doivent être respectés. Des valeurs spéciales peuvent être passées dans cet argument : si NULL est passé, la locale par défaut sera utilisée. Si une chaîne vide ou le mot clé "root", les règles UCA seront utilisées.

L'attribut Locale est généralement l'attribut le plus important pour assurer des tris et comparaisons valides, en fonction des attentes des utilisateurs. L'ordre par défaut » UCA va trier uniquement quelques langues, telles que hollandais ou portugais (correctement signifie que le résultat sera conforme aux attentes des utilisateurs de ces langues). Autrement, vous devez fournir une locale adaptée à vos utilisateurs. Par conséquent, une valeur spécifique de locale doit être fournie pour assurer un service correct. Le choix de la locale va configurer les valeurs de tous ses attributs qui sont les plus pertinentes pour une locale. Par conséquent, la plupart du temps, les attributs n'ont pas besoin d'être d'être explicitement attribués. Dans le même temps, le choix de la locale aura un impact sur les performances de comparaison et de tris.

Valeurs de retour

Retourne un objet Collator.

Erreurs / Exceptions

Retourne un objet vide en cas d'erreur. Vous pouvez alors utiliser la méthode intl_get_error_code() et / ou intl_get_error_message() pour en savoir faire.

Exemples

Exemple #1 Exemple avec Collator::__construct()

<?php
$coll = new Collator( 'en_CA' );
?>

Voir aussi

  • Collator::create() - Création d'un collator
  • collator_create() - Création d'un collator

Collator::compare
Collator::create
Collator


Création d'un collator

Collator::__construct
Collator::getAttribute
Collator
PHP Manual

Collator::create

collator_create

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::create -- collator_create — Création d'un collator

Description

Style orienté objet

static Collator Collator::create ( string $locale )

Style procédural

Collator collator_create ( string $locale )

Les chaînes seront comparées et triées avec des conventions locales.

Liste de paramètres

locale

La locale dont les règles de collation doivent être respectés. Des valeurs spéciales peuvent être passées dans cet argument : si NULL est passé, la locale par défaut sera utilisée. Si une chaîne vide ou le mot clé "root", les règles UCA seront utilisées.

Valeurs de retour

Retourne une nouvelle instance de la classe Collator, ou NULL en cas d'erreur.

Exemples

Exemple #1 Exmple avec collator_create()

<?php
$coll = collator_create( 'en_US' );

if( !isset( $coll ) ) {
    printf( "Echec de création de collator : %s\n", intl_get_error_message() );
    exit( 1 );
}
?>

Voir aussi

  • Collator::__construct() - Créatin d'un collator

Collator::__construct
Collator::getAttribute
Collator


Lit un attribut de collation

Collator::create
Collator::getErrorCode
Collator
PHP Manual

Collator::getAttribute

collator_get_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getAttribute -- collator_get_attribute — Lit un attribut de collation

Description

Style orienté objet

int Collator::getAttribute ( int $attr )

Style procédural

int collator_get_attribute ( Collator $coll , int $attr )

Lit un attribut de collation.

Liste de paramètres

coll

Objet Collator.

attr

L'attribut à lire.

Valeurs de retour

La valeur de l'attribut, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec collator_get_attribute()

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if( $val === false )
{
    // Gestion d'erreur
}
?>

Voir aussi

  • Collator constants
  • collator_set_attribute() - Configure l'attribut de collation
  • collator_get_strength() - Get current collation strength

Collator::create
Collator::getErrorCode
Collator


Lit la dernière erreur du collator

Collator::getAttribute
Collator::getErrorMessage
Collator
PHP Manual

Collator::getErrorCode

collator_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getErrorCode -- collator_get_error_code — Lit la dernière erreur du collator

Description

Style orienté objet

int Collator::getErrorCode ( void )

Style procédural

int collator_get_error_code ( Collator $coll )

Liste de paramètres

coll

Objet Collator.

Valeurs de retour

Le code d'erreur retourné par le dernier appel à un objet de l'API Collator.

Exemples

Exemple #1 Exemple avec collator_get_error_code()

<?php
$coll = collator_create( 'en_US' );
if( collator_get_attribute( $coll, Collator::FRENCH_COLLATION ) === false )
        handle_error( collator_get_error_code() );
?>

Voir aussi

  • collator_get_error_message() - Lit le dernier message d'erreur du collator

Collator::getAttribute
Collator::getErrorMessage
Collator


Lit le dernier message d'erreur du collator

Collator::getErrorCode
Collator::getLocale
Collator
PHP Manual

Collator::getErrorMessage

collator_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getErrorMessage -- collator_get_error_message — Lit le dernier message d'erreur du collator

Description

Style orienté objet

string Collator::getErrorMessage ( void )

Style procédural

string collator_get_error_message ( Collator $coll )

Lit le dernier message d'erreur.

Liste de paramètres

coll

Object Collator.

Valeurs de retour

La description d'une erreur survenue lors du dernier appel à une méthode de l'API Collator.

Exemples

Exemple #1 Exemple avec collator_get_error_message()

<?php
$coll = collator_create( 'lt' );
if( collator_compare( $coll, 'y', 'k' ) === false ) {
    echo collator_get_error_message( $coll );
}
?>

Voir aussi

  • collator_get_error_code() - Lit la dernière erreur du collator

Collator::getErrorCode
Collator::getLocale
Collator


Lit le nom de la locale d'un collator

Collator::getErrorMessage
Collator::getSortKey
Collator
PHP Manual

Collator::getLocale

collator_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getLocale -- collator_get_locale — Lit le nom de la locale d'un collator

Description

Style orienté objet

string Collator::getLocale ([ int $type ] )

Style procédural

string collator_get_locale ( Collator $coll , int $type )

Lit le nom de la locale d'un collator

Liste de paramètres

coll

Objet Collator.

type

Vous pouvez choisir entre une valeur valide ou une valeur littérale de la locale (à l'aide des constantes Locale::VALID_LOCALE et Locale::ACTUAL_LOCALE, respectivement). La valeur par défaut est la valeur littérale.

Valeurs de retour

Le nom de la locale pour laquelle le collator est configuré. Si le collator a été configuré à partir de règles, ou qu'une erreur est survenue, la méthode retourne FALSE.

Exemples

Exemple #1 Exemple avec collator_get_locale()

<?php
$coll    = collator_create( 'en_US_California' );
$res_val = collator_get_locale( $coll, Locale::VALID_LOCALE );
$res_act = collator_get_locale( $coll, Locale::ACTUAL_LOCALE );
printf( "Valid locale name: %s\nActual locale name: %s\n",
         $res_req, $res_val, $res_act );
?>

L'exemple ci-dessus va afficher :

Requested locale name: en_US_California
Valid locale name: en_US
Actual locale name: en

Voir aussi

  • collator_create() - Création d'un collator

Collator::getErrorMessage
Collator::getSortKey
Collator


Recupère la clé de tri pour une chaine

Collator::getLocale
Collator::getStrength
Collator
PHP Manual

Collator::getSortKey

collator_get_sort_key

(No version information available, might only be in SVN)

Collator::getSortKey -- collator_get_sort_key — Recupère la clé de tri pour une chaine

Description

Style orienté objet

string Collator::getSortKey ( string $str )

Style procédural

string collator_get_sort_key ( Collator $coll , string $str )

Retourne la clé de la collation pour une chaine.

Liste de paramètres

coll

Objet Collator.

str

La chaine depuis laquelle produire la clé.

Valeurs de retour

Retourne la clé de collation pour la chaine. Les clés de collation peuvent être comparées directement contrairement aux chaines.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple collator_get_sort_key()

<?php
$s1 = 'Hello';

$coll = collator_create( 'en_US' );
$res  = collator_get_sort_key( $coll, $s1);

echo urlencode($res);
?>

L'exemple ci-dessus va afficher :

71%3F%3FE%01%09%01%8F%08%00

Voir aussi

  • collator_sort() - Tri un tableau avec une collation
  • collator_sort_with_sort_keys() - Tri un tableau et ses clés avec une collation

Collator::getLocale
Collator::getStrength
Collator


Get current collation strength

Collator::getSortKey
Collator::setAttribute
Collator
PHP Manual

Collator::getStrength

collator_get_strength

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::getStrength -- collator_get_strength — Get current collation strength

Description

Style orienté objet

int Collator::getStrength ( void )

Style procédural

int collator_get_strength ( Collator $coll )

Liste de paramètres

coll

Objet Collator.

Valeurs de retour

Retourne la Strength de la collation, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec collator_get_strength()

<?php
$coll     = collator_create( 'en_US' );
$strength = collator_get_strength( $coll );
?>

Voir aussi

  • Collator constants
  • collator_set_strength() - Set collation strength
  • collator_get_attribute() - Lit un attribut de collation

Collator::getSortKey
Collator::setAttribute
Collator


Configure l'attribut de collation

Collator::getStrength
Collator::setStrength
Collator
PHP Manual

Collator::setAttribute

collator_set_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::setAttribute -- collator_set_attribute — Configure l'attribut de collation

Description

Style orienté objet

bool Collator::setAttribute ( int $attr , int $val )

Style procédural

bool collator_set_attribute ( Collator $coll , int $attr , int $val )

Liste de paramètres

coll

Objet Collator.

attr

L'attribut.

val

La valeur de l'attribute.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec collator_set_attribute()

<?php
$coll = collator_create( 'en_CA' );
$val  = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if ($val === false) {
    // Gestion d'erreur.
} elseif ($val === Collator::ON) {
    // Quelque chose d'utile
}
?>

Voir aussi

  • Collator constants
  • collator_get_attribute() - Lit un attribut de collation
  • collator_set_strength() - Set collation strength

Collator::getStrength
Collator::setStrength
Collator


Set collation strength

Collator::setAttribute
Collator::sortWithSortKeys
Collator
PHP Manual

Collator::setStrength

collator_set_strength

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::setStrength -- collator_set_strength — Set collation strength

Description

Style orienté objet

bool Collator::setStrength ( int $strength )

Style procédural

bool collator_set_strength ( Collator $coll , int $strength )

Le service de collation » ICU suporte de nombreux niveaux de comparaison (appelés "Levels", mais aussi connus sous le nom de "Strengths"). Avec ces categories, ICU peut trier les chaînes avec précision, en fonction des conventions locales. Cependant, en permettant l'utilisation selective des niveaux, la recherche d'une chaîne dans un texte peut être réalisées, à partir de différentes conditions. Pour plus d'informations, voyez le chapitre collator_set_strength().

  1. Niveau primaire : Typiquement, ceci est utilisé pour faire la différence entre des caractères de bases, comme "a" < "b"). C'est la différence la plus importante. Par exemple, les dictionnaires sont divisées en sections avec les caractères de base. C'est le niveau 1.

  2. Niveau secondaire : Les accents sur les caractères sont considérés comme des différences secondaires. Par exemple, "as" < "às" < "at". D'autres différences entre les caractères peuvent être considérées comme secondaires, en fonction des langues. Une différence secondaire sont toujours ignorées quand une différence primaire est présente. C'est le niveau 2.

    Note: Note : dans certaines langues, comme le danois, certains caractères accentués sont considérés comme des caractères de bases. Dans la plupart des langues, un caractère accentué est simplement une différence secondaire avec les versions simple de la lettre.

  3. Niveau tertiaire : les majuscules et les minuscules sont distinguées au niveau tertiaire. par exemple, "ao" < "Ao" < "aò". De plus, une variante d'une lettre est différente de la forme de base, au niveau ternaire. Par exemple, "A" et " ". Un autre exemple de différente tertiaire est le grand et le petit Kana. Une différence tertiaire est ignorée quand une différence primaire ou secondaire est présente. C'est le niveau 3.

  4. Niveau quaternaire : Lorsque le ponctuation est ignorée, au niveau 13, un niveau supplémentaire peut être utilisé pour distinguer des mots avec ou sans ponctuation. Par exemple, "ab" < "a-b" < "aB". Cette différence est ignorée lorsqu'il y a une différence de niveau primaire, secondaire ou tertiaire. Le niveau quaternaire ne doit être utilisé que lorsqu'il faut ignorer la ponctuation ou traiter des mots japonais (traitement Hiragana).

  5. Niveau identique : Lorsque tous les autres niveaux sont égaux, le niveau identique est utilisé pour départager les caractères. Le code Unicode point sur une forme NFD de chaque caractère, et sont comparés à ce niveau, au cas où il n'y aurait pas de différence au niveau 14. Par exemple, les cantilliation de l'hébreux ne sont distingués qu'à ce niveau. Ce niveau ne doit être utilisé qu'avec beaucoup de parcimonie, car il fait substantiellement décroitre les performances. Il est connu sous le nom de niveau 5.

Par exemple, on peut choisir d'ignorer les accents, les accents et les majuscules dans un texte. Presque tous les caractères sont distingués par les trois premiers niveaux, et la plupart des locales s'arrêtent au niveau trois. Cependant, si l'attribut Alternate prend la valeur de Shifted, alors le quatrième niveau sert à départager les égalités entre les espaces, la ponctuation et les symboles, qui seraient ignorés autrement. Si des différentes très subtiles sont nécessaires entre les caractères, le niveau identique peut être utilisée (par exemple, le niveau identique fait la différence entre un A mathématique petit et gras avec un A mathématique italique et petit. Cependant, utiliser ces niveaux implique une dégradation significative des performances lors de la comparaison et le tri des chaînes proches ou égales.

Liste de paramètres

coll

Objet Collator.

strength

Le niveau à choisir.

Les valeurs possibles sont :

  • Collator::PRIMARY

  • Collator::SECONDARY

  • Collator::TERTIARY

  • Collator::QUATERNARY

  • Collator::IDENTICAL

  • Collator::DEFAULT

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec collator_set_strength()

<?php
$arr  = array( 'aò', 'Ao', 'ao' );
$coll = collator_create( 'en_US' );

// Trie un tableau avec le niveau par défaut
collator_sort( $coll, $arr );
var_export( $arr );

// Tri un tableau avec le niveau primaire
collator_set_strength( $coll, Collator::PRIMARY );
collator_sort( $coll, $arr );
var_export( $arr );
?>

L'exemple ci-dessus va afficher :

array (
  0 => 'ao',
  1 => 'Ao',
  2 => 'aò',
)
array (
  0 => 'aò',
  1 => 'Ao',
  2 => 'ao',
)

Voir aussi

  • Constantes Collator
  • collator_get_strength() - Get current collation strength

Collator::setAttribute
Collator::sortWithSortKeys
Collator


Tri un tableau et ses clés avec une collation

Collator::setStrength
Collator::sort
Collator
PHP Manual

Collator::sortWithSortKeys

collator_sort_with_sort_keys

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::sortWithSortKeys -- collator_sort_with_sort_keys — Tri un tableau et ses clés avec une collation

Description

Style orienté objet

bool Collator::sortWithSortKeys ( array &$arr )

Style procédural

bool collator_sort_with_sort_keys ( Collator $coll , array &$arr )

Similaire à collator_sort(), mais utilise le tri de clé ICU de ucol_getSortKey() pour obtenir plus de vitesse sur les grands tableaux.

Liste de paramètres

coll

Objet Collator.

arr

tableau de chaîne à trier

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec collator_sort_with_sort_keys()

<?php
$arr  = array( 'Köpfe', 'Kypper', 'Kopfe' );
$coll = collator_create( 'sv' );

collator_sort_with_sort_keys( $coll, $arr );
var_export( $arr );
?>

L'exemple ci-dessus va afficher :

array (
  0 => 'Kopfe',
  1 => 'Kypper',
  2 => 'Köpfe',
)

Voir aussi

  • Constantes Collator
  • collator_sort() - Tri un tableau avec une collation
  • collator_asort() - Tri un tableau en conservant les clés, avec une collation

Collator::setStrength
Collator::sort
Collator


Tri un tableau avec une collation

Collator::sortWithSortKeys
NumberFormatter
Collator
PHP Manual

Collator::sort

collator_sort

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::sort -- collator_sort — Tri un tableau avec une collation

Description

Style orienté objet

bool Collator::sort ( array &$arr [, int $sort_flag ] )

Style procédural

bool collator_sort ( Collator $coll , array &$arr [, int $sort_flag ] )

Cette fonction trie un tableau en fonction des conventions locales.

Équivalent à la fonction standard PHP sort().

Liste de paramètres

coll

Objet Collator.

arr

tableau de chaînes à trier.

sort_flag

Type de tri, optionnel, choisi parmi les constantes suivantes :

  • Collator::SORT_REGULAR : compare les éléments normalement (pas de changement de type).

  • Collator::SORT_NUMERIC : compare les éléments numériquement.

  • Collator::SORT_STRING : compare les éléments littéralement.

Le type de tri par défaut est Collator::SORT_REGULAR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec collator_sort()

<?php
$coll = collator_create( 'en_US' );
$arr  = array( 'at', 'às', 'as' );

var_export( $arr );
collator_sort( $coll, $arr );
var_export( $arr );
?>

L'exemple ci-dessus va afficher :

array (
  0 => 'at',
  1 => 'às',
  2 => 'as',
)array (
  0 => 'as',
  1 => 'às',
  2 => 'at',
)

Voir aussi

  • Constantes Collator
  • collator_asort() - Tri un tableau en conservant les clés, avec une collation
  • collator_sort_with_sort_keys() - Tri un tableau et ses clés avec une collation

Collator::sortWithSortKeys
NumberFormatter
Collator


La classe NumberFormatter

Introduction

Les programmes stockent et manipulent des nombres en utilisant une représentation locale, binaire et indépendante. Lors de l'affichage d'un nombre, il est converti en une version particulière. Par exemple, un nombre tel que 12345.67 s'écrit "12,345.67" aux USA, "12 345,67" en France et "12.345,67" en Allemagne.

En appelant les méthodes fournies par NumberFormatter, vous pouvez formatter les nombres, les montants de devises et les pourcentages, en fonctions des conventions locales. NumberFormatter prend en compte les conventions, ce qui fait que vous devez créer un nouvel objet NumberFormatter, pour chaque convention. Les méthodes de NumberFormatter, formattent des types primitifs comme des nombres décimaux, et produit une chaîne de caractères.

Pour les monnaies, vous pouvez utiliser le format monétaire pour créer un formatteur qui retourne une chaîne, avec le symbole de devise approprié. Bien entendu, NumberFormatter ne connait pas les taux de changes, ce qui fait que l'affichage sera fait, qulelque soit la devise demandée. Cela signifie que le même nombre aura différente valeur monétaires en fonction de la configuration locale. Par exemple, le nombre 9988776.65 s'affichera :

  • 9 988 776,65 € en France
  • 9.988.776,65 € en Allemagne
  • $9,988,776.65 aux USA

Pour formatter des pourcentages, vous devez créer un formatteur locale, avec un type de format pourcentage. Avec ce formatteur, une fraction décimal telle que 0.75 sera affichée 75%.

Pour des formattages plus complexes, comme des nombres écrits litéralement, des formatteurs à règles sont utilisés.

Synopsis de la classe

NumberFormatter
NumberFormatter {
/* Méthodes */
__construct ( string $locale , int $style [, string $pattern ] )
static NumberFormatter create ( string $locale , int $style [, string $pattern ] )
string formatCurrency ( float $value , string $currency )
string format ( number $value [, int $type ] )
int getAttribute ( int $attr )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ int $type ] )
string getPattern ( void )
string getSymbol ( int $attr )
string getTextAttribute ( int $attr )
float parseCurrency ( string $value , string &$currency [, int &$position ] )
mixed parse ( string $value [, int $type [, int &$position ]] )
bool setAttribute ( int $attr , int $value )
bool setPattern ( string $pattern )
bool setSymbol ( int $attr , string $value )
bool setTextAttribute ( int $attr , string $value )
}

Constantes pré-définies

Ces styles sont utilisés par numfmt_create() pour définir le type de formatteur.

NumberFormatter::PATTERN_DECIMAL (entier)
Format décimal défini par un modèle
NumberFormatter::DECIMAL (entier)
Format décimal
NumberFormatter::CURRENCY (entier)
Format monétaire
NumberFormatter::PERCENT (entier)
Format pourcentage
NumberFormatter::SCIENTIFIC (entier)
Format scientifique
NumberFormatter::SPELLOUT (entier)
Format littéral, basé sur des règles
NumberFormatter::ORDINAL (entier)
Format ordinal, basé sur des règles
NumberFormatter::DURATION (entier)
Format de durée, , basé sur des règles
NumberFormatter::PATTERN_RULEBASED (entier)
Format de modèle, , basé sur des règles
NumberFormatter::DEFAULT_STYLE (entier)
Format par défaut pour les conventions locales
NumberFormatter::IGNORE (entier)
Alias de PATTERN_DECIMAL

Ces constantes définissent la méthode d'analyse et de formattage des nombres. Ils doivent être utilisés comme arguments des fonctions numfmt_format() et numfmt_parse().

NumberFormatter::TYPE_DEFAULT (entier)
Dérive le type depuis le type de variable
NumberFormatter::TYPE_INT32 (entier)
Formate / analyse un entier 32 bits
NumberFormatter::TYPE_INT64 (entier)
Formate / analyse un entier 64 bits
NumberFormatter::TYPE_DOUBLE (entier)
Formate / analyse un nombre décimal
NumberFormatter::TYPE_CURRENCY (entier)
Formate / analyse une valeur monétaire

Attributs de formats de nombre utilisés par numfmt_get_attribute() et numfmt_set_attribute().

NumberFormatter::PARSE_INT_ONLY (entier)
Analyse uniquement les entiers.
NumberFormatter::GROUPING_USED (entier)
Séparateur de groupes.
NumberFormatter::DECIMAL_ALWAYS_SHOWN (entier)
Affiche toujours une virgule décimale.
NumberFormatter::MAX_INTEGER_DIGITS (entier)
Nombre maximal de chiffres.
NumberFormatter::MIN_INTEGER_DIGITS (entier)
Nombre minimale de chiffres.
NumberFormatter::INTEGER_DIGITS (entier)
Nombre de chiffres.
NumberFormatter::MAX_FRACTION_DIGITS (entier)
Nombre maximal de décimales.
NumberFormatter::MIN_FRACTION_DIGITS (entier)
Nombre minimal de décimales.
NumberFormatter::FRACTION_DIGITS (entier)
Nombre de décimales.
NumberFormatter::MULTIPLIER (entier)
Multiplicateur.
NumberFormatter::GROUPING_SIZE (entier)
Taille de regroupement.
NumberFormatter::ROUNDING_MODE (entier)
Mode d'arrondi.
NumberFormatter::ROUNDING_INCREMENT (entier)
Incrément d'arrondi.
NumberFormatter::FORMAT_WIDTH (entier)
La largeur de complément pour le formattage d'un nombre.
NumberFormatter::PADDING_POSITION (entier)
La position à laquelle le complément se fait. Voyez les constantes de complément pour avoir les différentes valeurs possibles.
NumberFormatter::SECONDARY_GROUPING_SIZE (entier)
Taille secondaire de groupement.
NumberFormatter::SIGNIFICANT_DIGITS_USED (entier)
Utilise les chiffres significatifs.
NumberFormatter::MIN_SIGNIFICANT_DIGITS (entier)
Nombre minimum de chiffres significatifs.
NumberFormatter::MAX_SIGNIFICANT_DIGITS (entier)
Nombre maximum de chiffres significatifs.
NumberFormatter::LENIENT_PARSE (entier)
Mode d'analyse utilisé par les formats à règles.

Attributs de texte pour les formats de nombres, utilisés par numfmt_get_text_attribute() et numfmt_set_text_attribute().

NumberFormatter::POSITIVE_PREFIX (entier)
Préfixe positif.
NumberFormatter::POSITIVE_SUFFIX (entier)
Suffise positif.
NumberFormatter::NEGATIVE_PREFIX (entier)
Préfixe négatif.
NumberFormatter::NEGATIVE_SUFFIX (entier)
Suffixe négatif.
NumberFormatter::PADDING_CHARACTER (entier)
Le caractère à utiliser pour compléter les formats jusqu'à la taille.
NumberFormatter::CURRENCY_CODE (entier)
Le code de devise ISO.
NumberFormatter::DEFAULT_RULESET (entier)
Le jeu de règles par défaut. Il est uniquement utilisable avec les formatteurs à règles.
NumberFormatter::PUBLIC_RULESETS (entier)
Le jeu de règles publiques. Ceci est uniquement disponible avec les formatteurs à règles. C'est un attribut en lecture seule. Les règles publiques sont retournées sous forme d'une seule chaîne, et chaque règle est délimitée par un point-virgule ';'.

Les symboles de format utilisés par numfmt_get_symbol() et numfmt_set_symbol().

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (entier)
Le séparateur décimal.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (entier)
Le séparateur de groupes.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (entier)
Le modèle de séparateur.
NumberFormatter::PERCENT_SYMBOL (entier)
Le signe de pourcentage.
NumberFormatter::ZERO_DIGIT_SYMBOL (entier)
Zéro.
NumberFormatter::DIGIT_SYMBOL (entier)
Un caractère représentant un chiffre dans un modèle.
NumberFormatter::MINUS_SIGN_SYMBOL (entier)
Le signe moins.
NumberFormatter::PLUS_SIGN_SYMBOL (entier)
Le signe plus.
NumberFormatter::CURRENCY_SYMBOL (entier)
Le symbole de devise.
NumberFormatter::INTL_CURRENCY_SYMBOL (entier)
Le symbole international de devise.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (entier)
Le séparateur monétaire.
NumberFormatter::EXPONENTIAL_SYMBOL (entier)
Le symbole d'exponentiel.
NumberFormatter::PERMILL_SYMBOL (entier)
Le symbol par mille.
NumberFormatter::PAD_ESCAPE_SYMBOL (entier)
Le caractère de protection des symboles.
NumberFormatter::INFINITY_SYMBOL (entier)
Le symbole de l'infini.
NumberFormatter::NAN_SYMBOL (entier)
Le symbole "n'est pas un nombre".
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (entier)
Le symbole des chiffres significatifs.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (entier)
Le séparateur de groupes monétaires.

Les modes d'arrondi utilisés par les fonctions numfmt_get_attribute() et numfmt_set_attribute() avec l'attribut NumberFormatter::ROUNDING_MODE.

NumberFormatter::ROUND_CEILING (entier)
Mode d'arrondi vers l'infini positif.
NumberFormatter::ROUND_DOWN (entier)
Mode d'arrondi vers zéro.
NumberFormatter::ROUND_FLOOR (entier)
Mode d'arrondi vers l'infini négatif.
NumberFormatter::ROUND_HALFDOWN (entier)
Mode d'arrondi vers le plus proche entier, a moins qu'ils soient équidistants : arrondi inférieur dans ce cas.
NumberFormatter::ROUND_HALFEVEN (entier)
Mode d'arrondi vers le plus proche entier, a moins qu'ils soient équidistants : arrondi vers le nombre pair dans ce cas.
NumberFormatter::ROUND_HALFUP (entier)
Mode d'arrondi vers le plus proche entier, a moins qu'ils soient équidistants : arrondi supérieur dans ce cas.
NumberFormatter::ROUND_UP (entier)
Mode d'arrondi qui éloigne de zéro.

Valeurs de compléments utilisés par numfmt_get_attribute()
et numfmt_set_attribute() avec l'attribut
NumberFormatter::PADDING_POSITION.

NumberFormatter::PAD_AFTER_PREFIX (entier)
Caractères de compléments ajoutés après le préfixe.
NumberFormatter::PAD_AFTER_SUFFIX (entier)
Caractères de compléments ajoutés après le suffixe.
NumberFormatter::PAD_BEFORE_PREFIX (entier)
Caractères de compléments ajoutés avant le préfixe.
NumberFormatter::PAD_BEFORE_SUFFIX (entier)
Caractères de compléments ajoutés avant le suffixe.

Voir aussi

  • » Documentattion de formattage ICU
  • » Formatteurs de nombres ICU
  • » Formatteur de nombres décimaux ICU
  • » Formatteurs à règles de ICU

Sommaire

  • NumberFormatter::create — Crée un formateur de nombre
  • NumberFormatter::formatCurrency — Formate une valeur monétaire
  • NumberFormatter::format — Formate un nombre
  • NumberFormatter::getAttribute — Lit un attribut
  • NumberFormatter::getErrorCode — Lit le dernier code d'erreur du formateur
  • NumberFormatter::getErrorMessage — Lit le dernier message d'erreur du formateur
  • NumberFormatter::getLocale — Lit la locale du formateur
  • NumberFormatter::getPattern — Lit le modèle du formateur
  • NumberFormatter::getSymbol — Lit la valeur du symbole
  • NumberFormatter::getTextAttribute — Lit un attribut textuel
  • NumberFormatter::parseCurrency — Analyse un nombre monétaire
  • NumberFormatter::parse — Analyse un nombre
  • NumberFormatter::setAttribute — Affecte un attribut du formateur
  • NumberFormatter::setPattern — Configure le modèle du formateur
  • NumberFormatter::setSymbol — Configure le symbole du formateur
  • NumberFormatter::setTextAttribute — Modifie un attribut texte
Collator::sort
NumberFormatter::create
intl


Crée un formateur de nombre

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter
PHP Manual

NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Crée un formateur de nombre

Description

Style orienté objet (méthode)

static NumberFormatter NumberFormatter::create ( string $locale , int $style [, string $pattern ] )

Style procédural

NumberFormatter numfmt_create ( string $locale , int $style [, string $pattern ] )

Style orienté objet (constructeur)

NumberFormatter::__construct ( string $locale , int $style [, string $pattern ] )

Crée un formateur de nombre

Liste de paramètres

locale

La locale avec laquelle les nombres seront formatés. e.g. en_CA.

style

Le style de format, une des constantes de style de format. Si NumberFormatter::PATTERN_DECIMAL ou NumberFormatter::PATTERN_RULEBASED est utilisé alors le format de nombre est ouvert avec le modèle fourni, qui doit être compatible avec la syntaxe décrite par la » documentation ICU DecimalFormat ou » documentation ICU RuleBasedNumberFormat, respectivement.

pattern

La chaîne de modèle, en fonction du style de format choisi.

Valeurs de retour

Retourne un objet NumberFormatter ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_create::create(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

Exemple #2 Exemple avec numfmt_create::create(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo $fmt->format(1142)."\n";
?>

L'exemple ci-dessus va afficher :

1.234.567,891
millicentoquarantadue

Voir aussi

  • numfmt_format() - Formate un nombre
  • numfmt_parse() - Analyse un nombre

NumberFormatter
NumberFormatter::formatCurrency
NumberFormatter


Formate une valeur monétaire

NumberFormatter::create
NumberFormatter::format
NumberFormatter
PHP Manual

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — Formate une valeur monétaire

Description

Style orienté objet

string NumberFormatter::formatCurrency ( float $value , string $currency )

Style procédural

string numfmt_format_currency ( NumberFormatter $fmt , float $value , string $currency )

Formate une valeur monétaire, en fonction des règles du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

value

La valeur numérique.

currency

Le code à trois lettres ISO 4217 de la devise à utiliser.

Valeurs de retour

La chaîne représentant la valeur formatée.

Exemples

Exemple #1 Exemple avec numfmt_format_currency(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
$fmt = numfmt_create( 'ru_RU', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "RUR")."\n";
?>

Exemple #2 Exemple avec numfmt_format_currency(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
?>

L'exemple ci-dessus va afficher :

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89р.

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_format() - Formate un nombre
  • numfmt_parse_currency() - Analyse un nombre monétaire

NumberFormatter::create
NumberFormatter::format
NumberFormatter


Formate un nombre

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter
PHP Manual

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — Formate un nombre

Description

Style orienté objet

string NumberFormatter::format ( number $value [, int $type ] )

Style procédural

string numfmt_format ( NumberFormatter $fmt , number $value [, int $type ] )

Formate une valeur numérique, selon les règles du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

value

La valeur à formater. cela peut être un integer ou double . Les autres valeurs seront converties en valeur numérique avant le formatage.

type

Le type de format.

Valeurs de retour

Retourne la chaîne contenant la valeur formatée, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_format(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
    report_error("Erreur de formateur");
}
?>

Exemple #2 Exemple avec numfmt_format(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Erreur de formateur");
}
?>

L'exemple ci-dessus va afficher :

1.234.567,891

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_format_currency() - Formate une valeur monétaire
  • numfmt_parse() - Analyse un nombre

NumberFormatter::formatCurrency
NumberFormatter::getAttribute
NumberFormatter


Lit un attribut

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter
PHP Manual

NumberFormatter::getAttribute

numfmt_get_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getAttribute -- numfmt_get_attribute — Lit un attribut

Description

Style orienté objet

int NumberFormatter::getAttribute ( int $attr )

Style procédural

int numfmt_get_attribute ( NumberFormatter $fmt , int $attr )

Lit un attribut numérique du formateur. Un exemple d'attribut numérique est le nombre de décimal que le formateur va utiliser.

Liste de paramètres

fmt

L'objet NumberFormatter.

attr

La constante d'attribut, l'une de la liste des attributs numériques.

Valeurs de retour

Retourne la valeur de l'attribut, en cas de succès, et FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_get_attribute(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Décimales :  ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Décimales :  ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_get_attribute(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Décimales :  ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Décimales :  ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Décimales :  3
1.234.567,891
Décimales :  2
1.234.567,89

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_get_text_attribute() - Lit un attribut textuel
  • numfmt_set_attribute() - Affecte un attribut du formateur

NumberFormatter::format
NumberFormatter::getErrorCode
NumberFormatter


Lit le dernier code d'erreur du formateur

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter
PHP Manual

NumberFormatter::getErrorCode

numfmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getErrorCode -- numfmt_get_error_code — Lit le dernier code d'erreur du formateur

Description

Style orienté objet

int NumberFormatter::getErrorCode ( void )

Style procédural

int numfmt_get_error_code ( NumberFormatter $fmt )

Lit le code d'erreur généré par la dernière fonction du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

Valeurs de retour

Retourne le code d'erreur du dernier appel au formateur.

Exemples

Exemple #1 Exemple avec numfmt_get_error_code(), Style procédural

<?php
$fmt  = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Erreur de formateur");
}
?>

Exemple #2 Exemple avec numfmt_get_error_code(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Erreur de formateur");
}
?>

Voir aussi

  • numfmt_get_error_message() - Lit le dernier message d'erreur du formateur
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

NumberFormatter::getAttribute
NumberFormatter::getErrorMessage
NumberFormatter


Lit le dernier message d'erreur du formateur

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter
PHP Manual

NumberFormatter::getErrorMessage

numfmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getErrorMessage -- numfmt_get_error_message — Lit le dernier message d'erreur du formateur

Description

Style orienté objet

string NumberFormatter::getErrorMessage ( void )

Style procédural

string numfmt_get_error_message ( NumberFormatter $fmt )

Lit le message d'erreur généré par la dernière fonction du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

Valeurs de retour

Retourne le message d'erreur du dernier appel au formateur.

Exemples

Exemple #1 Exemple avec numfmt_get_error_message(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
    report_error("Erreur de formateur");
}
?>

Exemple #2 Exemple avec numfmt_get_error_code(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Erreur de formateur");
}
?>

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

NumberFormatter::getErrorCode
NumberFormatter::getLocale
NumberFormatter


Lit la locale du formateur

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter
PHP Manual

NumberFormatter::getLocale

numfmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getLocale -- numfmt_get_locale — Lit la locale du formateur

Description

Style orienté objet

string NumberFormatter::getLocale ([ int $type ] )

Style procédural

string numfmt_get_locale ( NumberFormatter $fmt [, int $type ] )

Lit le nom de la locale du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

type

Vous pouvez choisir entre une valeur valide ou un valeur littérale Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectivement). La valeur par défaut est la valeur littérale.

Valeurs de retour

Le nom de la locale utilisée pour créer le formateur.

Exemples

Exemple #1 Exemple avec numfmt_get_error_code(), Style procédural

<?php
$req     = 'fr_FR_PARIS';
$fmt     = numfmt_create( $req,  NumberFormatter::DECIMAL);
$res_val = numfmt_get_locale( $fmt, Locale::VALID_LOCALE );
$res_act = numfmt_get_locale( $fmt, Locale::ACTUAL_LOCALE );
printf( "Nom de la locale demandée : %s\nNom valide de la locale : %s\nValeur littérale de la locale : %s\n",
         $req, $res_val, $res_act );
?>

L'exemple ci-dessus va afficher :

Nom de la locale demandée : fr_FR_PARIS
Nom valide de la locale: fr_FR
Valeur littérale de la locale : fr

Voir aussi

  • numfmt_create() - Crée un formateur de nombre
  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur

NumberFormatter::getErrorMessage
NumberFormatter::getPattern
NumberFormatter


Lit le modèle du formateur

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter
PHP Manual

NumberFormatter::getPattern

numfmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getPattern -- numfmt_get_pattern — Lit le modèle du formateur

Description

Style orienté objet

string NumberFormatter::getPattern ( void )

Style procédural

string numfmt_get_pattern ( NumberFormatter $fmt )

Extrait le modèle utilisé par le formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

Valeurs de retour

La chaîne de caractères de modèle, qui est utilisé par le formateur, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_get_pattern(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Modèle : ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Modèle : ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_get_pattern(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Modèle : ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Modèle : ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Modèle : #,##0.###
1.234.567,891
Modèle : #0.# kg
1234567,9 kg

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_set_pattern() - Configure le modèle du formateur
  • numfmt_create() - Crée un formateur de nombre

NumberFormatter::getLocale
NumberFormatter::getSymbol
NumberFormatter


Lit la valeur du symbole

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::getSymbol

numfmt_get_symbol

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getSymbol -- numfmt_get_symbol — Lit la valeur du symbole

Description

Style orienté objet

string NumberFormatter::getSymbol ( int $attr )

Style procédural

string numfmt_get_symbol ( NumberFormatter $fmt , int $attr )

Lit le symbole associé au formateur. Le formateur utilise des symboles pour représenter des caractères dépendant des conventions locales, comme le signe de pourcentage. Cette API n'est pas supportée par les formateurs à base de règles.

Liste de paramètres

fmt

L'objet NumberFormatter.

attr

La constante de symbole, une dans la liste des constantes de symboles de formats.

Valeurs de retour

La chaîne de symbole ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_get_symbol(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Séparateur : ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Séparateur : ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_get_symbol(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Séparateur : ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Séparateur : ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Séparateur : .
1.234.567,891
Séparateur : *
1*234*567,891

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_set_symbol() - Configure le symbole du formateur

NumberFormatter::getPattern
NumberFormatter::getTextAttribute
NumberFormatter


Lit un attribut textuel

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter
PHP Manual

NumberFormatter::getTextAttribute

numfmt_get_text_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::getTextAttribute -- numfmt_get_text_attribute — Lit un attribut textuel

Description

Style orienté objet

string NumberFormatter::getTextAttribute ( int $attr )

Style procédural

string numfmt_get_text_attribute ( NumberFormatter $fmt , int $attr )

Lit un attribut textuel associé à un formateur. Un exemple d'attribut textuel est le suffixe pour les nombres positifs. Si le formateur ne comprend pas cet attribut, une erreur U_UNSUPPORTED_ERROR est produite. Les formateurs à règles ne comprennent que NumberFormatter::DEFAULT_RULESET et NumberFormatter::PUBLIC_RULESETS.

Liste de paramètres

fmt

L'objet NumberFormatter.

attr

L'identifiant de l'attribut : une des constantes d'attribut textuel.

Valeurs de retour

Retourne la valeur de l'attribut en cas de succès, et FALSE sinon.

Exemples

Exemple #1 Exemple avec numfmt_get_text_attribute(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Préfixe : ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Préfixe : ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_get_text_attribute(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Préfixe : ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Préfixe : ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Préfixe : -
-1.234.567,891
Préfixe : MINUS
MINUS1.234.567,891

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_get_attribute() - Lit un attribut
  • numfmt_set_text_attribute() - Modifie un attribut texte

NumberFormatter::getSymbol
NumberFormatter::parseCurrency
NumberFormatter


Analyse un nombre monétaire

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter
PHP Manual

NumberFormatter::parseCurrency

numfmt_parse_currency

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::parseCurrency -- numfmt_parse_currency — Analyse un nombre monétaire

Description

Style orienté objet

float NumberFormatter::parseCurrency ( string $value , string &$currency [, int &$position ] )

Style procédural

float numfmt_parse_currency ( NumberFormatter $fmt , string $value , string &$currency [, int &$position ] )

Analyse une chaîne dans un nombre décimal, et une devise, à l'aide du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

currency

Le nom de la devise (le code 3 lettres ISO 4217).

position

La position de début d'analyse dans la chaîne. En retour, cette valeur contiendra la position de fin d'analyse.

Valeurs de retour

Le nombre décimal ainsi lu, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_parse_currency(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89 $";
echo "We have ".numfmt_parse_currency($fmt, $num, $curr)." in $curr\n";
?>

Exemple #2 Exemple avec numfmt_parse_currency(), Style procédural

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89 $";
echo "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n";
?>

L'exemple ci-dessus va afficher :

We have 1234567.89 in USD

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_parse() - Analyse un nombre
  • numfmt_format_currency() - Formate une valeur monétaire

NumberFormatter::getTextAttribute
NumberFormatter::parse
NumberFormatter


Analyse un nombre

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter
PHP Manual

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parse — Analyse un nombre

Description

Style orienté objet

mixed NumberFormatter::parse ( string $value [, int $type [, int &$position ]] )

Style procédural

mixed numfmt_parse ( NumberFormatter $fmt , string $value [, int $type [, int &$position ]] )

Analyse une chaîne et extrait un nombre, à l'aide des régles du formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

type

Le type de format à utiliser. Par défaut, NumberFormatter::TYPE_DOUBLE est utilisée.

position

La position de début d'analyse dans la chaîne. En retour, cette valeur contiendra la position de fin d'analyse.

Valeurs de retour

La valeur de nombre analysé, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec numfmt_parse(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Exemple #2 Exemple avec numfmt_parse(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

L'exemple ci-dessus va afficher :

1234567.891
1234567

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_format() - Formate un nombre
  • numfmt_parse_currency() - Analyse un nombre monétaire

NumberFormatter::parseCurrency
NumberFormatter::setAttribute
NumberFormatter


Affecte un attribut du formateur

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter
PHP Manual

NumberFormatter::setAttribute

numfmt_set_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setAttribute -- numfmt_set_attribute — Affecte un attribut du formateur

Description

Style orienté objet

bool NumberFormatter::setAttribute ( int $attr , int $value )

Style procédural

bool numfmt_set_attribute ( NumberFormatter $fmt , int $attr , int $value )

Affecte un attribut numérique du formateur. Un exemple d'attribut numérique est le nombre de décimal à afficher par le formateur.

Liste de paramètres

fmt

L'objet NumberFormatter.

attr

L'identifiant d'attribut : une des constantes attributs numériques.

value

La valeur de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec numfmt_set_attribute(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_set_attribute(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_get_attribute() - Lit un attribut
  • numfmt_set_text_attribute() - Modifie un attribut texte

NumberFormatter::parse
NumberFormatter::setPattern
NumberFormatter


Configure le modèle du formateur

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter
PHP Manual

NumberFormatter::setPattern

numfmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setPattern -- numfmt_set_pattern — Configure le modèle du formateur

Description

Style orienté objet

bool NumberFormatter::setPattern ( string $pattern )

Style procédural

bool numfmt_set_pattern ( NumberFormatter $fmt , string $pattern )

Configure le modèle utilisé par le formateur. Ne peut pas être utilisé avec un formateur basé sur les règles.

Liste de paramètres

fmt

L'objet NumberFormatter.

pattern

Le modèle, dans la syntaxe décrite dans la » documentation ICU DecimalFormat.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec numfmt_set_pattern(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Modèle : ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Modèle : ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_set_pattern(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Modèle : ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Modèle : ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Modèle : #,##0.###
1.234.567,891
Modèle : #0.# kg
1234567,9 kg

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_create() - Crée un formateur de nombre
  • numfmt_get_pattern() - Lit le modèle du formateur

NumberFormatter::setAttribute
NumberFormatter::setSymbol
NumberFormatter


Configure le symbole du formateur

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter
PHP Manual

NumberFormatter::setSymbol

numfmt_set_symbol

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setSymbol -- numfmt_set_symbol — Configure le symbole du formateur

Description

Style orienté objet

bool NumberFormatter::setSymbol ( int $attr , string $value )

Style procédural

bool numfmt_set_symbol ( NumberFormatter $fmt , int $attr , string $value )

Configure le symbole du formateur. Le formateur utilise le symbole pour caractériser des nombres, comme le pourcentage. Cette API n'est pas supportée pour les formateurs à base de règles.

Liste de paramètres

fmt

L'objet NumberFormatter.

attr

L'identifiant de symbole, parmi les constantes de symboles.

value

Le texte du symbole.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec numfmt_set_symbol(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Séparateur décimal : ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Séparateur décimal : ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_set_symbol(), style POO

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Séparateur décimal : ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Séparateur décimal : ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Séparateur décimal : .
1.234.567,891
Séparateur décimal : *
1*234*567,891

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_get_symbol() - Lit la valeur du symbole

NumberFormatter::setPattern
NumberFormatter::setTextAttribute
NumberFormatter


Modifie un attribut texte

NumberFormatter::setSymbol
Locale
NumberFormatter
PHP Manual

NumberFormatter::setTextAttribute

numfmt_set_text_attribute

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

NumberFormatter::setTextAttribute -- numfmt_set_text_attribute — Modifie un attribut texte

Description

Style orienté objet

bool NumberFormatter::setTextAttribute ( int $attr , string $value )

Style procédural

bool numfmt_set_text_attribute ( NumberFormatter $fmt , int $attr , string $value )

Modifie l'attribut du texte associé au formateur. Un exemple d'attribut de texte est le suffixe des nombres positifs. Si le formateur ne comprend pas l'attribut, une erreur U_UNSUPPORTED_ERROR est produite. Les formateurs à base de règles ne comprennent que NumberFormatter::DEFAULT_RULESET et NumberFormatter::PUBLIC_RULESETS.

Liste de paramètres

fmt

Un objet NumberFormatter.

attr

Un spécificateur d'attribut : une dex constantes d' attribut de texte.

value

La valeur de l'attribut du texte.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec numfmt_set_text_attribute(), Style procédural

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_set_text_attribute(), Style procédural

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "MINUS");
echo "Prefix: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Prefix: -
-1.234.567,891
Prefix: MINUS
MINUS1.234.567,891

Voir aussi

  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
  • numfmt_get_text_attribute() - Lit un attribut textuel
  • numfmt_set_attribute() - Affecte un attribut du formateur

NumberFormatter::setSymbol
Locale
NumberFormatter


La classe Locale

Introduction

Une "Locale" est un identifiant utilisé pour représenter les comportements régionaux d'uneAPI. Les locales PHP sont organisées et identifiées de la même manière que les CLDR de ICU (et que de nombreux autres éditeurs de système Unix, tels que Mac, Java, etc.). Les locales sont identifiées par les libellés de langage de la RFC 4646 (qui utilise des tirets et pas des soulignés) en plus de la notation traditionnelle avec des soulignés. Suf contre-indication, les fonctions de cette classe sont capables d'utiliser les deux notations.

Exemple d'identifiants :

  • en-US (Anglais, USA)
  • zh-Hant-TW (Chinois, traditionnel, Taiwan)
  • fr-CA, fr-FR (French pour le Canada et la France, respectivement)

La classe Locale et les méthodes associées, sont utilisées pour interagir avec les identifiants locaux : pour vérifier qu'un identifiant est bien formé, valide, etc. Les extensions utilisées par CDR dans UAX #35 et hérité par ICU sont valides, et utilisés à chaque fois qu'elles peuvent l'être dans ICU.

Les locales ne peuvent pas être instanciées. Ce sont toutes des fonctions statiques.

La chaîne NULL ou vide permet d'obtenir la locale racine. La racine est l'équivalent de "en_US_POSIX" en CLDR. Les libellé de langage (et donc, les identifiants) sont insensibles à la casse. Il existe une fonction de canonalisation qui permet d'obtenir la spécification exacte.

Synopsis de la classe

Locale
Locale {
/* Méthodes */
static string acceptFromHttp ( string $header )
static string composeLocale ( array $subtags )
static bool filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )
static array getAllVariants ( string $locale )
static string getDefault ( void )
static string getDisplayLanguage ( string $locale [, string $in_locale ] )
static string getDisplayName ( string $locale [, string $in_locale ] )
static string getDisplayRegion ( string $locale [, string $in_locale ] )
static string getDisplayScript ( string $locale [, string $in_locale ] )
static string getDisplayVariant ( string $locale [, string $in_locale ] )
static array getKeywords ( string $locale )
static string getPrimaryLanguage ( string $locale )
static string getRegion ( string $locale )
static string getScript ( string $locale )
static string lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )
static array parseLocale ( string $locale )
static bool setDefault ( string $locale )
}

Constantes pré-définies

Ces constantes définissent le comportement de Locale

Locale::DEFAULT_LOCALE (NULL)
Utilisée comme paramètre de locale avec les méthodes des différences classes affectées, telles que NumberFormatter. Cette constante fait qu'on utilise les valeurs par défaut.

Ces constantes décrivent le choix de la locale pour la méthode getLocale de différentes classes.

Locale::ACTUAL_LOCALE (chaîne de caractères)
La locale utilisée par les données entrante.
Locale::VALID_LOCALE (chaîne de caractères)
C'est la locale la plus spécifique supportée par ICU.

Ces constantes définissent comment les Locales sont analysées ou composées. Elles doivent être utilisées comme clés dans un tableau d'arguments passé à locale_compose() et sont retournées par locale_parse() comme clés d'un array associatif.

Locale::LANG_TAG (chaîne de caractères)
Sous-libellé de langue
Locale::EXTLANG_TAG (chaîne de caractères)
Sous-libellé de langue étendu
Locale::SCRIPT_TAG (chaîne de caractères)
Sous-libellé de script
Locale::REGION_TAG (chaîne de caractères)
Sous-libelleé de région
Locale::VARIANT_TAG (chaîne de caractères)
Sous-libellé de variante
Locale::GRANDFATHERED_LANG_TAG (chaîne de caractères)
Sous-libellé d'ascendant de lanagage
Locale::PRIVATE_TAG (chaîne de caractères)
Sous-libellé privé

Voir aussi

  • » RFC 4646 : libellés pour identifier les langues
  • » RFC 4647 : Matching of Language Tags
  • » Unicode CLDR Project:Common Locale Data Repository
  • » IANA Language Subtags Registry
  • » ICU User Guide : Locale
  • » ICU Locale api

Sommaire

  • Locale::acceptFromHttp — Devine la meilleure locale à partir de l'entête HTTP "Accept-Language"
  • Locale::composeLocale — Retourne un identifiant de locale correct
  • Locale::filterMatches — Vérifie si le tag de langue correspond à une locale
  • Locale::getAllVariants — Liste toutes les variantes d'une locale
  • Locale::getDefault — Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'
  • Locale::getDisplayLanguage — Retourne un nom approprié pour l'affichage d'un nom de langue
  • Locale::getDisplayName — Retourne un nom d'affichage correct pour une locale
  • Locale::getDisplayRegion — Retourne un nom pour la région de la locale
  • Locale::getDisplayScript — Retourne le nom du script de la locale
  • Locale::getDisplayVariant — Retourne un nom pour la variante de la locale
  • Locale::getKeywords — Lit les mots-clé de la locale
  • Locale::getPrimaryLanguage — Lit la langue principale de la locale
  • Locale::getRegion — Retourne un code pour la région de la locale
  • Locale::getScript — Retourne un code pour le script de la locale
  • Locale::lookup — Recherche dans la liste la meilleure langue
  • Locale::parseLocale — Retourne les sous-éléments de la locale
  • Locale::setDefault — Configure la locale par défaut
NumberFormatter::setTextAttribute
Locale::acceptFromHttp
intl


Devine la meilleure locale à partir de l'entête HTTP "Accept-Language"

Locale
Locale::composeLocale
Locale
PHP Manual

Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_http — Devine la meilleure locale à partir de l'entête HTTP "Accept-Language"

Description

Style orienté objet

static string Locale::acceptFromHttp ( string $header )

Style procédural

string locale_accept_from_http ( string $header )

Essaie de trouver une locale qui peut satisfaire la liste de langue qui est demandée par l'entête HTTP "Accept-Language".

Liste de paramètres

header

La chaîne contenant l'entête "Accept-Language", au format de la RFC 2616.

Valeurs de retour

L'identifiant de locale correspondant.

Exemples

Exemple #1 Exemple avec locale_accept_from_http(), procédural

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Exemple #2 Exemple avec locale_accept_from_http(), POO

<?php
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

L'exemple ci-dessus va afficher :

en_US

Voir aussi

  • locale_lookup() - Recherche dans la liste la meilleure langue

Locale
Locale::composeLocale
Locale


Retourne un identifiant de locale correct

Locale::acceptFromHttp
Locale::filterMatches
Locale
PHP Manual

Locale::composeLocale

locale_compose

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::composeLocale -- locale_compose — Retourne un identifiant de locale correct

Description

Style orienté objet

static string Locale::composeLocale ( array $subtags )

Style procédural

string locale_compose ( array $subtags )

Retourne un identifiant de locale correct, ordonné et délimité, avec les clés pour identifier les particularités régionales, et les valeurs associées à ces sous-locales.

Liste de paramètres

subtags

Un tableau contenant la liste des paires clé-valeurs, où les clés représentent les identifiants de sous-locales, et leur valeur associées.

Note: Les sous-tags 'variant' et 'private' peuvent prendre jusqu'à 15 valeurs alors que 'extlang' ne peut prendre qu'un maximum de 3 valeurs. Les variantes sont autorisées avec un suffixe allant de 0 à 14. Par conséquent, les clés du tableau sont variant0, variant1, ...,variant14. Dans l'identifiant de locale retourné, les sous-tags sont ordonnés par suffixe, avec variant0 suivi de variant1 suivi de variant2, etc.
Les valeurs multiples de 'variant', 'private' et 'extlang' peuvent être spécifiées sous forme de tableau avec leur clé spécifique (e.g. 'variant') ou bien sous forme de clé multiples (e.g. 'variant0', 'variant1', etc.).

Valeurs de retour

The corresponding locale identifier.

Exemples

Exemple #1 Exemple avec locale_compose(), procédural

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo locale_compose( $arr );
?>

Exemple #2 Exemple avec locale_compose(), POO

<?php
$arr = array(
    'language'=>'en' ,
    'script'  =>'Hans' ,
    'region'  =>'CN',
    'variant2'=>'rozaj' ,
    'variant1'=>'nedis' ,
    'private1'=>'prv1' ,
    'private2'=>'prv2'
);
echo Locale::composeLocale( $arr );
?>

L'exemple ci-dessus va afficher :

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Voir aussi

  • locale_parse() - Retourne les sous-éléments de la locale

Locale::acceptFromHttp
Locale::filterMatches
Locale


Vérifie si le tag de langue correspond à une locale

Locale::composeLocale
Locale::getAllVariants
Locale
PHP Manual

Locale::filterMatches

locale_filter_matches

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::filterMatches -- locale_filter_matches — Vérifie si le tag de langue correspond à une locale

Description

Style orienté objet

static bool Locale::filterMatches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Style procédural

bool locale_filter_matches ( string $langtag , string $locale [, bool $canonicalize = false ] )

Vérifie si le filtre $langtag correspond à la locale $locale selon la RFC 4647, et son algorithme de filtrage simple.

Liste de paramètres

langtag

Le tag de langue à vérifier

locale

L'intervalle de langue cible

canonicalize

Si TRUE, les arguments seront convertis dans leur forme canonique avant la recherche.

Valeurs de retour

TRUE si $locale accepte $langtag, et FALSE otherwise.

Exemples

Exemple #1 Exemple avec locale_filter_Correspond(), procédural

<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ? "Correspond" : "Ne correspond pas";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ? "Correspond" : "Ne correspond pas";
?>

Exemple #2 Exemple avec locale_filter_Correspond(), POO

<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ? "Correspond" : "Ne correspond pas";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ? "Correspond" : "Ne correspond pas";
?>

L'exemple ci-dessus va afficher :

Ne correspond pas; Correspond

Voir aussi

  • locale_lookup() - Recherche dans la liste la meilleure langue

Locale::composeLocale
Locale::getAllVariants
Locale


Liste toutes les variantes d'une locale

Locale::filterMatches
Locale::getDefault
Locale
PHP Manual

Locale::getAllVariants

locale_get_all_variants

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getAllVariants -- locale_get_all_variants — Liste toutes les variantes d'une locale

Description

Style orienté objet

static array Locale::getAllVariants ( string $locale )

Style procédural

array locale_get_all_variants ( string $locale )

Liste toutes les variantes d'une locale

Liste de paramètres

locale

La locale dont il faut extraire les variantes

Valeurs de retour

Un tableau contenant la liste de toutes les variantes d'une locale, ou bien NULL si inexistant.

Exemples

Exemple #1 Exemple avec locale_get_all_variants(), procédural

<?php
$arr = locale_get_all_variants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Exemple #2 Exemple avec locale_get_all_variants(), POO

<?php
$arr = Locale::getAllVariants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

L'exemple ci-dessus va afficher :

array (
    0 => 'NEDIS',
    1 => 'ROJAZ',
    2 => '1901',
)

Voir aussi

  • locale_get_primary_language() - Lit la langue principale de la locale
  • locale_get_script() - Retourne un code pour le script de la locale
  • locale_get_region() - Retourne un code pour la région de la locale

Locale::filterMatches
Locale::getDefault
Locale


Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'

Locale::getAllVariants
Locale::getDisplayLanguage
Locale
PHP Manual

Locale::getDefault

locale_get_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDefault -- locale_get_default — Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'

Description

Style orienté objet

static string Locale::getDefault ( void )

Style procédural

string locale_get_default ( void )

Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'. Au moment de l'initialisation de PHP, cette valeur est extraite de la directive 'intl.default_locale' dans php.ini, si cette valeur existe, et de la fonction ICU uloc_getDefault() autrement.

Liste de paramètres

Valeurs de retour

La locale par défaut pour l'exécution.

Exemples

Exemple #1 Exemple avec locale_get_default(), procédural

<?php
ini_set('intl.default_locale', 'de-DE');
echo locale_get_default();
echo '; ';
locale_set_default('fr');
echo locale_get_default();
?>

Exemple #2 Exemple avec locale_get_default(), POO

<?php
ini_set('intl.default_locale', 'de-DE');
echo Locale::getDefault();
echo '; ';
Locale::setDefault('fr');
echo Locale::getDefault();
?>

L'exemple ci-dessus va afficher :

de-DE; fr

Voir aussi

  • locale_set_default() - Configure la locale par défaut

Locale::getAllVariants
Locale::getDisplayLanguage
Locale


Retourne un nom approprié pour l'affichage d'un nom de langue

Locale::getDefault
Locale::getDisplayName
Locale
PHP Manual

Locale::getDisplayLanguage

locale_get_display_language

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayLanguage -- locale_get_display_language — Retourne un nom approprié pour l'affichage d'un nom de langue

Description

Style orienté objet

static string Locale::getDisplayLanguage ( string $locale [, string $in_locale ] )

Style procédural

string locale_get_display_language ( string $locale [, string $in_locale ] )

Retourne un nom approprié pour l'affichage d'un nom de langue. Si la valeur NULL est passée en argument, la locale par défaut est utilisée.

Liste de paramètres

locale

La locale dont il faut retourner le nom de langue

in_locale

Un format optionnel pour l'affichage du nom de langue.

Valeurs de retour

Le nom de la langue à afficher pour la locale $locale, dans le format défini par $in_locale.

Exemples

Exemple #1 Exemple avec locale_get_display_language(), procédural

<?php
echo locale_get_display_language('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'de');
?>

Exemple #2 Exemple avec locale_get_display_language(), POO

<?php
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'de');
?>

L'exemple ci-dessus va afficher :

Slovenian;
slov\xc3\xa8ne;
Slowenisch

Voir aussi

  • locale_get_display_name() - Retourne un nom d'affichage correct pour une locale
  • locale_get_display_script() - Retourne le nom du script de la locale
  • locale_get_display_region() - Retourne un nom pour la région de la locale
  • locale_get_display_variant() - Retourne un nom pour la variante de la locale

Locale::getDefault
Locale::getDisplayName
Locale


Retourne un nom d'affichage correct pour une locale

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale
PHP Manual

Locale::getDisplayName

locale_get_display_name

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayName -- locale_get_display_name — Retourne un nom d'affichage correct pour une locale

Description

Style orienté objet

static string Locale::getDisplayName ( string $locale [, string $in_locale ] )

Style procédural

string locale_get_display_name ( string $locale [, string $in_locale ] )

Retourne un nom d'affichage correct pour une locale. Si NULL est passé, c'est la locale par défaut qui est utilisée.

Liste de paramètres

locale

La locale dont if faut retourner un nom d'affichage.

in_locale

Un format d'affichage optionnel

Valeurs de retour

Le nom d'affichage de la locale, au format donné par $in_locale.

Exemples

Exemple #1 Exemple avec locale_get_display_name(), procédural

<?php
echo locale_get_display_name('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'de');
?>

Exemple #2 Exemple avec locale_get_display_name(), POO

<?php
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'de');
?>

L'exemple ci-dessus va afficher :

Slovenian (Latin, Italy, Natisone dialect);
slov\xc3\xa8ne (latin, Italie, dialecte de Natisone);
Slowenisch (Lateinisch, Italien, NEDIS)

Voir aussi

  • locale_get_display_language() - Retourne un nom approprié pour l'affichage d'un nom de langue
  • locale_get_display_script() - Retourne le nom du script de la locale
  • locale_get_display_region() - Retourne un nom pour la région de la locale
  • locale_get_display_variant() - Retourne un nom pour la variante de la locale

Locale::getDisplayLanguage
Locale::getDisplayRegion
Locale


Retourne un nom pour la région de la locale

Locale::getDisplayName
Locale::getDisplayScript
Locale
PHP Manual

Locale::getDisplayRegion

locale_get_display_region

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayRegion -- locale_get_display_region — Retourne un nom pour la région de la locale

Description

Style orienté objet

static string Locale::getDisplayRegion ( string $locale [, string $in_locale ] )

Style procédural

string locale_get_display_region ( string $locale [, string $in_locale ] )

Retourne un nom pour la région de la locale. Si NULL est passé, la locale par défaut est utilisée.

Liste de paramètres

locale

La locale dont il faut extraire le nom de la région.

in_locale

Un formation optionnel pour afficher le nom de la région.

Valeurs de retour

Le nom de la région de la locale $locale, au format $in_locale.

Exemples

Exemple #1 Exemple avec locale_get_display_region(), procédural

<?php
echo locale_get_display_region('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'de');
?>

Exemple #2 Exemple avec locale_get_display_region(), POO

<?php
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'de');
?>

L'exemple ci-dessus va afficher :

Italy;
Italie;
Italien

Voir aussi

  • locale_get_display_name() - Retourne un nom d'affichage correct pour une locale
  • locale_get_display_language() - Retourne un nom approprié pour l'affichage d'un nom de langue
  • locale_get_display_script() - Retourne le nom du script de la locale
  • locale_get_display_variant() - Retourne un nom pour la variante de la locale

Locale::getDisplayName
Locale::getDisplayScript
Locale


Retourne le nom du script de la locale

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale
PHP Manual

Locale::getDisplayScript

locale_get_display_script

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayScript -- locale_get_display_script — Retourne le nom du script de la locale

Description

Style orienté objet

static string Locale::getDisplayScript ( string $locale [, string $in_locale ] )

Style procédural

string locale_get_display_script ( string $locale [, string $in_locale ] )

Retourne le nom du script de la locale. Si NULL est passé, la locale par défaut est utilisée.

Liste de paramètres

locale

La locale dont il faut retourner le script.

in_locale

Un format optionnel pour afficher le nom du script.

Valeurs de retour

Affiche le nom du script de la locale $locale au format indiqué par $in_locale.

Exemples

Exemple #1 Exemple avec locale_get_display_script(), procédural

<?php
echo locale_get_display_script('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'de');
?>

Exemple #2 Exemple avec locale_get_display_script(), POO

<?php
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'de');
?>

L'exemple ci-dessus va afficher :

Latin;
latin;
Lateinisch

Voir aussi

  • locale_get_display_name() - Retourne un nom d'affichage correct pour une locale
  • locale_get_display_language() - Retourne un nom approprié pour l'affichage d'un nom de langue
  • locale_get_display_region() - Retourne un nom pour la région de la locale
  • locale_get_display_variant() - Retourne un nom pour la variante de la locale

Locale::getDisplayRegion
Locale::getDisplayVariant
Locale


Retourne un nom pour la variante de la locale

Locale::getDisplayScript
Locale::getKeywords
Locale
PHP Manual

Locale::getDisplayVariant

locale_get_display_variant

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getDisplayVariant -- locale_get_display_variant — Retourne un nom pour la variante de la locale

Description

Style orienté objet

static string Locale::getDisplayVariant ( string $locale [, string $in_locale ] )

Style procédural

string locale_get_display_variant ( string $locale [, string $in_locale ] )

Retourne un nom pour la variante de la locale. Si NULL est passé, la locale par défaut est utilisée.

Liste de paramètres

locale

La locale dont il faut extraire le nom de la région.

in_locale

Un formation optionnel pour afficher le nom de la région.

Valeurs de retour

Le nom de la variante de la locale $locale, au format $in_locale.

Exemples

Exemple #1 Exemple avec locale_get_display_variant(), procédural

<?php
echo locale_get_display_variant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'de');
?>

Exemple #2 Exemple avec locale_get_display_variant(), POO

<?php
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'de');
?>

L'exemple ci-dessus va afficher :

Natisone dialect;
dialecte de Natisone;
NEDIS

Voir aussi

  • locale_get_display_name() - Retourne un nom d'affichage correct pour une locale
  • locale_get_display_language() - Retourne un nom approprié pour l'affichage d'un nom de langue
  • locale_get_display_script() - Retourne le nom du script de la locale
  • locale_get_display_region() - Retourne un nom pour la région de la locale

Locale::getDisplayScript
Locale::getKeywords
Locale


Lit les mots-clé de la locale

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale
PHP Manual

Locale::getKeywords

locale_get_keywords

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getKeywords -- locale_get_keywords — Lit les mots-clé de la locale

Description

Style orienté objet

static array Locale::getKeywords ( string $locale )

Style procédural

array locale_get_keywords ( string $locale )

Lit les mots-clé de la locale.

Liste de paramètres

locale

La locale dont il faut extraire les mots-clé.

Valeurs de retour

Un tableau associatif contenant les paires clé-valeur pour cette locale.

Exemples

Exemple #1 Exemple avec locale_get_keywords(), procédural

<?php
$keywords_arr = locale_get_keywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($keywords_arr) {
    foreach ($keywords_arr as $key => $value) {
        echo "$key = $value\n";
    }
}
?>

Exemple #2 Exemple avec locale_get_keywords(), POO

<?php
$keywords_arr = Locale::getKeywords( 'de_DE@currency=EUR;collation=PHONEBOOK' );
if ($keywords_arr) {
    foreach( $keywords_arr as $key => $value){
        echo "$key = $value\n";
    }
}
?>

L'exemple ci-dessus va afficher :

collation = PHONEBOOK
currency = EUR

Voir aussi

  • locale_get_all_variants() - Liste toutes les variantes d'une locale

Locale::getDisplayVariant
Locale::getPrimaryLanguage
Locale


Lit la langue principale de la locale

Locale::getKeywords
Locale::getRegion
Locale
PHP Manual

Locale::getPrimaryLanguage

locale_get_primary_language

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getPrimaryLanguage -- locale_get_primary_language — Lit la langue principale de la locale

Description

Style orienté objet

static string Locale::getPrimaryLanguage ( string $locale )

Style procédural

string locale_get_primary_language ( string $locale )

Lit la langue principale de la locale.

Liste de paramètres

locale

La locale dont il faut extraire la langue principale.

Valeurs de retour

Le code de langue, associé à la langue, ou bien NULL en cas d'erreur.

Exemples

Exemple #1 Exemple avec locale_get_primary_language(), procédural

<?php
echo locale_get_primary_language('zh-Hant');
?>

Exemple #2 Exemple avec locale_get_primary_language(), POO

<?php
echo Locale::getPrimaryLanguage('zh-Hant');
?>

L'exemple ci-dessus va afficher :

zh

Voir aussi

  • locale_get_script() - Retourne un code pour le script de la locale
  • locale_get_region() - Retourne un code pour la région de la locale
  • locale_get_all_variants() - Liste toutes les variantes d'une locale

Locale::getKeywords
Locale::getRegion
Locale


Retourne un code pour la région de la locale

Locale::getPrimaryLanguage
Locale::getScript
Locale
PHP Manual

Locale::getRegion

locale_get_region

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getRegion -- locale_get_region — Retourne un code pour la région de la locale

Description

Style orienté objet

static string Locale::getRegion ( string $locale )

Style procédural

string locale_get_region ( string $locale )

Retourne un code pour la région de la locale.

Liste de paramètres

locale

La locale dont il faut extraire le code de région.

Valeurs de retour

Le code de région pour la locale, ou bien NULL en cas d'erreur.

Exemples

Exemple #1 Exemple avec locale_get_region(), procédural

<?php
echo locale_get_region('de-CH-1901');
?>

Exemple #2 Exemple avec locale_get_region(), POO

<?php
echo Locale::getRegion('de-CH-1901');
?>

L'exemple ci-dessus va afficher :

CH

Voir aussi

  • locale_get_primary_language() - Lit la langue principale de la locale
  • locale_get_script() - Retourne un code pour le script de la locale
  • locale_get_all_variants() - Liste toutes les variantes d'une locale

Locale::getPrimaryLanguage
Locale::getScript
Locale


Retourne un code pour le script de la locale

Locale::getRegion
Locale::lookup
Locale
PHP Manual

Locale::getScript

locale_get_script

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::getScript -- locale_get_script — Retourne un code pour le script de la locale

Description

Style orienté objet

static string Locale::getScript ( string $locale )

Style procédural

string locale_get_script ( string $locale )

Retourne un code pour le script de la locale

Liste de paramètres

locale

La locale dont il faut extraire le code du script.

Valeurs de retour

Le code de script pour la locale ou NULL si absent.

Exemples

Exemple #1 Exemple avec locale_get_script(), procédural

<?php
echo locale_get_script('sr-Cyrl');
?>

Exemple #2 Exemple avec locale_get_script(), POO

<?php
echo Locale::getScript('sr-Cyrl');
?>

L'exemple ci-dessus va afficher :

Cyrl

Voir aussi

  • locale_get_primary_language() - Lit la langue principale de la locale
  • locale_get_region() - Retourne un code pour la région de la locale
  • locale_get_all_variants() - Liste toutes les variantes d'une locale

Locale::getRegion
Locale::lookup
Locale


Recherche dans la liste la meilleure langue

Locale::getScript
Locale::parseLocale
Locale
PHP Manual

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — Recherche dans la liste la meilleure langue

Description

Style orienté objet

static string Locale::lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Style procédural

string locale_lookup ( array $langtag , string $locale [, bool $canonicalize = false [, string $default ]] )

Recherche dans la liste langtag la mailleure langue, pour la locale spécifiée par locale, en fonction de l'algorithme de la RFC 4647.

Liste de paramètres

langtag

Un tableau contenant une liste de langues à comparer à la locale locale. Un maximum de 100 éléments est autorisé.

locale

La locale à utiliser pour effectuer la recherche.

canonicalize

Si TRUE les arguments seront convertis en leur forme canonique avant leur recherche.

default

La locale à utiliser si aucune solution n'est trouvée.

Valeurs de retour

La langue la plus proche qui ait été trouvée dans la liste, ou bien la valeur par défaut.

Exemples

Exemple #1 Exemple avec locale_get_primary_language(), procédural

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', 'en_US');
?>

Exemple #2 Exemple avec locale_get_primary_language(), POO

<?php
$arr = array(
    'de-DEVA',
    'de-DE-1996',
    'de',
    'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', 'en_US');
?>

L'exemple ci-dessus va afficher :

de_de_1996

Voir aussi

  • locale_filter_matches() - Vérifie si le tag de langue correspond à une locale

Locale::getScript
Locale::parseLocale
Locale


Retourne les sous-éléments de la locale

Locale::lookup
Locale::setDefault
Locale
PHP Manual

Locale::parseLocale

locale_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::parseLocale -- locale_parse — Retourne les sous-éléments de la locale

Description

Style orienté objet

static array Locale::parseLocale ( string $locale )

Style procédural

array locale_parse ( string $locale )

Retourne un tableau de paires clé-valeur pour les éléments du sous-tag de la locale.

Liste de paramètres

locale

La locale dont il faut extraire le tableau. Notez que 'variant' et 'private' peuvent prendre jusqu'à 15 valeurs au maximum, alors que 'extlang' peut prendre jusqu'à 3 valeurs.

Valeurs de retour

Retourne un tableau contenant la liste des paires clé-valeur, où les clés sont les noms des éléments, et les valeurs sont leur valeur associée. Le tableau est ordonné de la même manière que les éléments dans la locale, e.g. si les variantes sont '-varX-varY-varZ' alors le tableau retournée contiendra variant0=>varX , variant1=>varY , variant2=>varZ, etc.

Exemples

Exemple #1 Exemple avec locale_parse(), procédural

<?php
$arr = locale_parse('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

Exemple #2 Exemple avec locale_parse(), POO

<?php
$arr = Locale::parseLocale('sl-Latn-IT-nedis');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value , ";
    }
}
?>

L'exemple ci-dessus va afficher :

language : sl , script : Latn , region : IT , variant0 : NEDIS ,

Voir aussi

  • locale_compose() - Retourne un identifiant de locale correct

Locale::lookup
Locale::setDefault
Locale


Configure la locale par défaut

Locale::parseLocale
Normalizer
Locale
PHP Manual

Locale::setDefault

locale_set_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Locale::setDefault -- locale_set_default — Configure la locale par défaut

Description

Style orienté objet

static bool Locale::setDefault ( string $locale )

Style procédural

bool locale_set_default ( string $locale )

Configure la locale par défaut à $locale. Cela change la valeur de la globale INTL 'default_locale'. Les extensions UAX #35 sont aussi acceptées.

Liste de paramètres

locale

Une langue au format BCP 47.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec locale_set_default(), procédural

<?php
locale_set_default('de-DE');
echo locale_get_default();
?>

Exemple #2 Exemple avec locale_set_default(), POO

<?php
Locale::setDefault('de-DE');
echo Locale::getDefault();
?>

L'exemple ci-dessus va afficher :

de-DE

Voir aussi

  • locale_get_default() - Lit la valeur par défaut d'une locale pour la variable globale 'default_locale'

Locale::parseLocale
Normalizer
Locale


La classe Normalizer

Introduction

La normalisation est un processus qui implique la transformation de caractères et de séquences de caractères dans une représentation formelle. Ce processus est important quand des textes doivent être comparés à des fins de tri et de recherche, mais il est aussi important pour le stockage des données, afin que les documents soient cohérents.

Le consortium Unicode Consortium a défini un nombre de formes de normalisations pour refléter les différents besoins des applications :

  • Normalization Form D (NFD) : décomposition canonique
  • Normalization Form C (NFC) : décomposition canonique, suivie d'une composition canonique
  • Normalization Form KD (NFKD) : décomposition compatible
  • Normalization Form KC (NFKC) : décomposition compatible suivi d'une composition canonique
Les différentes formes sont définies en terme de transformations de texte, transformations qui sont exprimées avec des algorithmes et des fichiers de données.

Synopsis de la classe

Normalizer
Normalizer {
/* Méthodes */
static bool isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )
static string normalize ( string $input [, string $form = Normalizer::FORM_C ] )
}

Constantes pré-définies

Les constantes suivantes définissent les formes de normalisation à appliquer par le normalizer :

Normalizer::FORM_C ( string )
Normalization Form C (NFC) : décomposition canonique suivie d'une composition canonique
Normalizer::FORM_D ( string )
Normalization Form D (NFD) : décomposition canonique
Normalizer::FORM_KC ( string )
Normalization Form KC (NFKC) : décomposition compatible, suivie d'une composition canonique
Normalizer::FORM_KD ( string )
Normalization Form KD (NFKD) : décomposition compatible
Normalizer::NONE ( string )
Pas de décomposition/composition
Normalizer::OPTION_DEFAULT ( string )
Options par défaut de normalisation

Voir aussi

  • » Unicode Normalization
  • » Unicode Normalization FAQ
  • » ICU User Guide : Normalization
  • » ICU API Reference : Normalization

Sommaire

  • Normalizer::isNormalized — Vérifie si une chaîne est normalisée
  • Normalizer::normalize — Normalise une chaîne en entrée
Locale::setDefault
Normalizer::isNormalized
intl


Vérifie si une chaîne est normalisée

Normalizer
Normalizer::normalize
Normalizer
PHP Manual

Normalizer::isNormalized

normalizer_is_normalized

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Normalizer::isNormalized -- normalizer_is_normalized — Vérifie si une chaîne est normalisée

Description

Object oriented style

static bool Normalizer::isNormalized ( string $input [, string $form = Normalizer::FORM_C ] )

Procedural style

bool normalizer_is_normalized ( string $input [, string $form = Normalizer::FORM_C ] )

Vérifie si une chaîne est normalisée.

Liste de paramètres

input

La chaîne à normaliser.

form

Une des formes de normalisation.

Valeurs de retour

TRUE si la chaîne est normalisée, et FALSE sinon ou s'il y a une erreur.

Exemples

Exemple #1 Exemple avec normalizer_is_normalized(), en style procédural

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( normalizer_is_normalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( normalizer_is_normalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

Exemple #2 Exemple avec normalizer_is_normalized(), en style orienté objet

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo ( Normalizer::isNormalized($char_orig, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
echo '; ';
echo ( Normalizer::isNormalized($char_norm, Normalizer::FORM_C) ) ? "normalized" : "not normalized";
?>

L'exemple ci-dessus va afficher :

not normalized; normalized

Voir aussi

  • normalizer_normalize() - Normalise une chaîne en entrée

Normalizer
Normalizer::normalize
Normalizer


Normalise une chaîne en entrée

Normalizer::isNormalized
MessageFormatter
Normalizer
PHP Manual

Normalizer::normalize

normalizer_normalize

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Normalizer::normalize -- normalizer_normalize — Normalise une chaîne en entrée

Description

Style orienté objet

static string Normalizer::normalize ( string $input [, string $form = Normalizer::FORM_C ] )

Style procédural

string normalizer_normalize ( string $input [, string $form = Normalizer::FORM_C ] )

Normalise la chaîne en entrée et retourne une chaîne normalisée.

Liste de paramètres

input

La chaîne à normaliser

form

Une des formes de normalisation.

Valeurs de retour

La chaîne normalisée, ou NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec normalizer_normalize(), procédural

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = normalizer_normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = normalizer_normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Exemple #2 Exemple avec normalizer_normalize(), POO

<?php
$char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
$char_combining_ring_above = "\xCC\x8A";  // 'COMBINING RING ABOVE' (U+030A)

$char_1 = Normalizer::normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = Normalizer::normalize( 'A' . $char_combining_ring_above, Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

L'exemple ci-dessus va afficher :

%C3%85 %C3%85

Voir aussi

  • normalizer_is_normalized() - Vérifie si une chaîne est normalisée

Normalizer::isNormalized
MessageFormatter
Normalizer


La classe MessageFormatter

Introduction

MessageFormatter est une classe concrète qui permet de produire des messages concaténés, et indépendants de la langue. La méthode fournit dans cette classe sont utilisées pour construire des messages qui sont destinés aux utilisateurs finaux.

La classe MessageFormatter assemble les messages à partir de différents fragments (textes, nombres et dates), fournis par le programme. Grace à la classe MessageFormatter, le programme n'a pas besoin de connaître l'ordre des fragments. La classe utilise des spécifications de formatage pour assembler les fragments en un seul message. Par exemple, MessageFormatter vous permet d'afficher la phrase "Fini d'imprimer x fichier sur y..." d'une manière qui reste souple pour la traduction.

Avant, un message était créé sous forme de phrase, et géré comme une chaîne. Cette procédure créait des problèmes pour les traductions, car la structure de la phrase, l'ordre des mots, le format des nombres, etc. était très différents d'une langue à l'autre. L'approche de création des messages, indépendante de la langue, permet de séparer le message et les variables. Avec ces variables, MessageFormatter peut concaténer les différentes parties du message, les formater aux conventions correctes, et fournir un message bien formé.

MessageFormatter prend une série d'objet, formate les textes, et les insert dans les chaînes formatées dans les emplacements corrects. Un grand choix de formats peut être utilisé en conjonction avec MessageFormatter pour gérer le pluriel, les nombres, etc. Typiquement, le message est fourni par une ressource, et les arguments sont préparés dynamiquement.

Synopsis de la classe

MessageFormatter
MessageFormatter {
/* Méthodes */
__construct ( string $locale , string $pattern )
MessageFormatter create ( string $locale , string $pattern )
static string formatMessage ( string $locale , string $pattern , array $args )
string format ( array $args )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ( void )
string getPattern ( void )
static array parseMessage ( string $locale , string $value )
array parse ( string $value )
bool setPattern ( string $pattern )
}

Voir aussi

  • » ICU formatting documentation
  • » ICU message formatting description
  • » ICU message formatters
  • » ICU choice formatters

Sommaire

  • MessageFormatter::create — Construit un nouveau formateur de messages
  • MessageFormatter::formatMessage — Formate rapidement un message
  • MessageFormatter::format — Formate un message
  • MessageFormatter::getErrorCode — Lit le dernier code d'erreur de la dernière opération
  • MessageFormatter::getErrorMessage — Lit le message d'erreur de la dernière opération
  • MessageFormatter::getLocale — Lit la locale avec la quelle le formateur a été créé
  • MessageFormatter::getPattern — Lit le modèle utilisé par le formateur de messages
  • MessageFormatter::parseMessage — Analyse rapidement une chaîne
  • MessageFormatter::parse — Analyse une chaîne en fonction du modèle
  • MessageFormatter::setPattern — Configure le modèle utilisé par le formateur
Normalizer::normalize
MessageFormatter::create
intl


Construit un nouveau formateur de messages

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter
PHP Manual

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Construit un nouveau formateur de messages

Description

Style orienté objet (méthode)

MessageFormatter MessageFormatter::create ( string $locale , string $pattern )

Style orienté objet (constructeur)

MessageFormatter::__construct ( string $locale , string $pattern )

Style procédural

MessageFormatter msgfmt_create ( string $locale , string $pattern )

Construit un nouveau formateur de messages.

Liste de paramètres

locale

La locale à utiliser pour le formatage des arguments

pattern

La chaîne dans laquelle il faut insérer les données. Le modèle utilise une syntaxe qui accepte les apostrophes. Elle est passée à » umsg_autoQuoteApostrophe avant d'être interprétée.

Valeurs de retour

Un objet de formateur de message MessageFormatter

Exemples

Exemple #1 Exemple avec msgfmt_create(), style procédural

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} singes par arbre");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Exemple #2 Exemple avec msgfmt_create(), style procédural

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} singes par arbre");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

L'exemple ci-dessus va afficher :

4,560 singes sur 123 arbres font 37.073 singes par arbre
4.560 Affen über 123 Bäume um 37,073 Affen pro Baum

Voir aussi

  • msgfmt_format() - Formate un message
  • msgfmt_parse() - Analyse une chaîne en fonction du modèle
  • msgfmt_get_error_code() - Lit le dernier code d'erreur de la dernière opération
  • msgfmt_get_error_message() - Lit le message d'erreur de la dernière opération

MessageFormatter
MessageFormatter::formatMessage
MessageFormatter


Formate rapidement un message

MessageFormatter::create
MessageFormatter::format
MessageFormatter
PHP Manual

MessageFormatter::formatMessage

msgfmt_format_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::formatMessage -- msgfmt_format_message — Formate rapidement un message

Description

Style orienté objet

static string MessageFormatter::formatMessage ( string $locale , string $pattern , array $args )

Style procédural

string msgfmt_format_message ( string $locale , string $pattern , array $args )

Fonction de formatage rapide, qui formate une chaîne sans avoir à créer explicitement un objet de formatage. Utilisez cette fonction lorsque l'opération est faite une seule fois et n'a pas besoin de paramètre particuliers ou d'états internes.

Liste de paramètres

locale

La locale à utiliser pour le formatage

pattern

La chaîne de caractères dans laquelle il faut insérer les données. Le modèle utilise une syntaxe qui accepte les apostrophes; Elle est passée à » umsg_autoQuoteApostrophe avant d'être interprétée.

args

Le tableau de valeurs à insérer dans la chaîne de format.

Valeurs de retour

La chaîne formatée, ou bien FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec msgfmt_format_message(), style procédural

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} singes par arbre", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum", array(4560, 123, 4560/123));

Exemple #2 Exemple avec msgfmt_format_message(), style procédural

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} singes par arbre", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum", array(4560, 123, 4560/123));
?>

L'exemple ci-dessus va afficher :

4,560 singes sur 123 arbres font 37.073 singes par arbre
4.560 Affen über 123 Bäume um 37,073 Affen pro Baum

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages
  • msgfmt_parse() - Analyse une chaîne en fonction du modèle
  • msgfmt_get_error_code() - Lit le dernier code d'erreur de la dernière opération
  • msgfmt_get_error_message() - Lit le message d'erreur de la dernière opération

MessageFormatter::create
MessageFormatter::format
MessageFormatter


Formate un message

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter
PHP Manual

MessageFormatter::format

msgfmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::format -- msgfmt_format — Formate un message

Description

Style orienté objet

string MessageFormatter::format ( array $args )

Style procédural

string msgfmt_format ( MessageFormatter $fmt , array $args )

Formate un message en substituant les données dans la chaînes de modèle, en fonction des conventions locales.

Liste de paramètres

fmt

Un objet de formateur de messages MessageFormatter

args

Les arguments à insérer dans les chaînes

Valeurs de retour

La chaîne formatée, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec msgfmt_format(), style procédural

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} singes par arbre");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Exemple #2 Exemple avec msgfmt_format(), style POO

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} singes par arbre");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
echo $fmt->format(array(4560, 123, 4560/123));
?>

L'exemple ci-dessus va afficher :

4,560 singes sur 123 arbres font 37.073 singes par arbre
4.560 Affen über 123 Bäume um 37,073 Affen pro Baum

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages
  • msgfmt_parse() - Analyse une chaîne en fonction du modèle
  • msgfmt_format_message() - Formate rapidement un message
  • msgfmt_get_error_code() - Lit le dernier code d'erreur de la dernière opération
  • msgfmt_get_error_message() - Lit le message d'erreur de la dernière opération

MessageFormatter::formatMessage
MessageFormatter::getErrorCode
MessageFormatter


Lit le dernier code d'erreur de la dernière opération

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter
PHP Manual

MessageFormatter::getErrorCode

msgfmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getErrorCode -- msgfmt_get_error_code — Lit le dernier code d'erreur de la dernière opération

Description

Style orienté objet

int MessageFormatter::getErrorCode ( void )

Style procédural

int msgfmt_get_error_code ( MessageFormatter $fmt )

Lit le dernier code d'erreur de la dernière opération.

Liste de paramètres

fmt

Un objet de formateur de messages MessageFormatter

Valeurs de retour

Le code d'erreur, une des valeurs UErrorCode. La valeur initiale est U_ZERO_ERROR.

Exemples

Exemple #1 Exemple avec msgfmt_get_error_code(), style procédural

<?php
$fmt = msgfmt_create("en_US", "{0, number} singes sur {1, number} arbres");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "Erreur : ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Exemple #2 Exemple avec msgfmt_get_error_code(), style POO

<?php
$fmt = new MessageFormatter("en_US", "{0, number} singes sur {1, number} arbres");
$str = $fmt->format(array());
if(!$str) {
    echo "Erreur : ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

L'exemple ci-dessus va afficher :

Erreur : msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Voir aussi

  • msgfmt_get_error_message() - Lit le message d'erreur de la dernière opération
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

MessageFormatter::format
MessageFormatter::getErrorMessage
MessageFormatter


Lit le message d'erreur de la dernière opération

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter
PHP Manual

MessageFormatter::getErrorMessage

msgfmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getErrorMessage -- msgfmt_get_error_message — Lit le message d'erreur de la dernière opération

Description

Style orienté objet

string MessageFormatter::getErrorMessage ( void )

Style procédural

string msgfmt_get_error_message ( MessageFormatter $fmt )

Lit le message d'erreur de la dernière opération du formateur de messages.

Liste de paramètres

fmt

Un objet de formateur de messages MessageFormatter

Valeurs de retour

La descrpitiond e la dernière erreur.

Exemples

Exemple #1 Exemple avec msgfmt_get_error_message(), style procédural

<?php
$fmt = msgfmt_create("en_US", "{0, number} singes sur {1, number} arbres");
$str = msgfmt_format($fmt, array());
if(!$str) {
    echo "Erreur : ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Exemple #2 Exemple avec msgfmt_get_error_message(), style POO

<?php
$fmt = new MessageFormatter("en_US", "{0, number} singes sur {1, number} arbres");
$str = $fmt->format(array());
if(!$str) {
    echo "Erreur : ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

L'exemple ci-dessus va afficher :

Erreur : msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Voir aussi

  • msgfmt_get_error_code() - Lit le dernier code d'erreur de la dernière opération
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

MessageFormatter::getErrorCode
MessageFormatter::getLocale
MessageFormatter


Lit la locale avec la quelle le formateur a été créé

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter
PHP Manual

MessageFormatter::getLocale

msgfmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getLocale -- msgfmt_get_locale — Lit la locale avec la quelle le formateur a été créé

Description

Style orienté objet

string MessageFormatter::getLocale ( void )

Style procédural

string msgfmt_get_locale ( NumberFormatter $formatter )

Lit la locale avec la quelle le formateur a été créé.

Liste de paramètres

formatter

Un objet de formateur de messages MessageFormatter

Valeurs de retour

Le nom de la locale

Exemples

Exemple #1 Exemple avec msgfmt_get_locale(), style procédural

<?php
$fmt = msgfmt_create('en_US', "Nombre {0,number}");
echo msgfmt_get_locale($fmt);
?>

Exemple #2 Exemple avec msgfmt_get_locale(), style POO

<?php
$fmt = new MessageFormatter('en_US', "Nombre {0,number}");
echo $fmt->getLocale();
?>

L'exemple ci-dessus va afficher :

en_US

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages

MessageFormatter::getErrorMessage
MessageFormatter::getPattern
MessageFormatter


Lit le modèle utilisé par le formateur de messages

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter
PHP Manual

MessageFormatter::getPattern

msgfmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::getPattern -- msgfmt_get_pattern — Lit le modèle utilisé par le formateur de messages

Description

Style orienté objet

string MessageFormatter::getPattern ( void )

Style procédural

string msgfmt_get_pattern ( MessageFormatter $fmt )

Lit le modèle utilisé par le formateur de messages.

Liste de paramètres

fmt

Un objet de formateur de messages MessageFormatter

Valeurs de retour

La chaîne de caractères de modèle du formateur de messages

Exemples

Exemple #1 Exemple avec msgfmt_get_pattern(), style procédural

<?php
$fmt = msgfmt_create( "en_US", "{0, number} singes sur {1, number} arbres" );
echo "Modèle par défaut : '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Résultat de formatage :  " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} arbres hosting {1, number} singes" );
echo "Nouveau modèle :  '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Résultat de formatage : " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Exemple #2 Exemple avec msgfmt_get_pattern(), style POO

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} singes sur {1, number} arbres" );
echo "Modèle par défaut : '" . $fmt->getPattern() . "'\n";
echo "Résultat de formatage :  " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} arbres hosting {1, number} singes" );
echo "Nouveau modèle :  '" . $fmt->getPattern() . "'\n";
echo "Résultat de formatage : " . $fmt->format(array(123, 456)) . "\n";
?>

L'exemple ci-dessus va afficher :

Modèle par défaut : '{0,number} singes sur {1,number} arbres'
Résultat de formatage :  123 singes sur 456 arbres
Nouveau modèle :  '{0,number} arbres hosting {1,number} singes'
Résultat de formatage : 123 arbres hosting 456 singes

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages
  • msgfmt_set_pattern() - Configure le modèle utilisé par le formateur

MessageFormatter::getLocale
MessageFormatter::parseMessage
MessageFormatter


Analyse rapidement une chaîne

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter
PHP Manual

MessageFormatter::parseMessage

msgfmt_parse_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::parseMessage -- msgfmt_parse_message — Analyse rapidement une chaîne

Description

Style orienté objet

static array MessageFormatter::parseMessage ( string $locale , string $value )

Style procédural

array msgfmt_parse_message ( string $locale , string $value )

Analyse la chaîne d'entrée sans créer explicitement d'objet formateur. Utilisez cette fonction lorsque l'opération de formatage est fait une seule fois, et n'a pas besoin de paramètres ou d'état.

Liste de paramètres

locale

La locale à utiliser pour analyser les parties de la chaîne

value

La chaîne de caractères à analyser

Valeurs de retour

Un tableau contenant les éléments extraits, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec msgfmt_parse_message(), style procédural

<?php
$fmt = msgfmt_parse_message('en_US', "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} signes par arbre",
                            "4,560 singes sur 123 arbres font 37.073 signes par arbre");
var_export($fmt);

$fmt = msgfmt_parse_message('de', "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum",
                            "4.560 Affen über 123 Bäume um 37,073 Affen pro Baum");
var_export($fmt);
?>

Exemple #2 Exemple avec msgfmt_parse_message(), style POO

<?php
$fmt = MessageFormatter::parseMessage('en_US', "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} signes par arbre",
                            "4,560 singes sur 123 arbres font 37.073 signes par arbre");
var_export($fmt);

$fmt = MessageFormatter::parseMessage('de', "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum",
                            "4.560 Affen über 123 Bäume um 37,073 Affen pro Baum");
var_export($fmt);
?>

L'exemple ci-dessus va afficher :

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages
  • msgfmt_format_message() - Formate rapidement un message
  • msgfmt_parse() - Analyse une chaîne en fonction du modèle

MessageFormatter::getPattern
MessageFormatter::parse
MessageFormatter


Analyse une chaîne en fonction du modèle

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter
PHP Manual

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::parse -- msgfmt_parse — Analyse une chaîne en fonction du modèle

Description

Style orienté objet

array MessageFormatter::parse ( string $value )

Style procédural

array msgfmt_parse ( MessageFormatter $fmt , string $value )

Analyse la chaîne value et retourne les éléments extraits sous forme de tableau.

Liste de paramètres

fmt

Un objet de formateur de messages MessageFormatter

value

La chaîne de caractères à analyser.

Valeurs de retour

Un tableau contenant les éléments extraits, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec msgfmt_parse(), style procédural

<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} signes par arbre");
$res = msgfmt_parse($fmt, "4,560 singes sur 123 arbres font 37.073 singes par arbre");
var_export($res);

$fmt = msgfmt_create('de', "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
$res = msgfmt_parse($fmt, "4.560 Affen über 123 Bäume um 37,073 Affen pro Baum");
var_export($res);
?>

Exemple #2 Exemple avec msgfmt_parse(), style POO

<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} singes sur {1,number,integer} arbres font {2,number} signes par arbre");
$res = $fmt->parse("4,560 singes sur 123 arbres font 37.073 singes par arbre");
var_export($res);

$fmt = new MessageFormatter('de', "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum");
$res = $fmt->parse("4.560 Affen über 123 Bäume um 37,073 Affen pro Baum");
var_export($res);
?>

L'exemple ci-dessus va afficher :

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)
array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages
  • msgfmt_format() - Formate un message
  • msgfmt_parse_message() - Analyse rapidement une chaîne

MessageFormatter::parseMessage
MessageFormatter::setPattern
MessageFormatter


Configure le modèle utilisé par le formateur

MessageFormatter::parse
IntlDateFormatter
MessageFormatter
PHP Manual

MessageFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

MessageFormatter::setPattern -- msgfmt_set_pattern — Configure le modèle utilisé par le formateur

Description

Style orienté objet

bool MessageFormatter::setPattern ( string $pattern )

Style procédural

bool msgfmt_set_pattern ( MessageFormatter $fmt , string $pattern )

Configure le modèle utilisé par le formateur.

Liste de paramètres

fmt

Un objet de formateur de messages MessageFormatter

pattern

La chaîne de modèle utilisé par le formateur de messages. Le modèle utilise la syntaxe qui gère correctement les apostrophes : il est passé à » umsg_autoQuoteApostrophe avant d'être interprété.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec msgfmt_set_pattern(), style procédural

<?php
$fmt = msgfmt_create( "en_US", "{0, number} singes sur {1, number} arbres" );
echo "Modèle par défaut : '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Résultat formaté : " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} arbres accueillant {1, number} singes" );
echo "Nouveau modèle :'" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Nombre formaté : " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>

Exemple #2 Exemple avec msgfmt_set_pattern(), style POO

<?php
$fmt = new MessageFormatter( "en_US", "{0, number} singes sur {1, number} arbres" );
echo "Modèle par défaut : '" . $fmt->getPattern() . "'\n";
echo "Résultat formaté : " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} arbres accueillant {1, number} singes" );
echo "Nouveau modèle :'" . $fmt->getPattern() . "'\n";
echo "Nombre formaté : " . $fmt->format(array(123, 456)) . "\n";
?>

L'exemple ci-dessus va afficher :

Modèle par défaut : '{0,number} singes sur {1,number} arbres'
Résultat formaté : 123 singes sur 456 arbres
Nouveau modèle :'{0,number} arbres accueillant {1,number} singes'
Nombre formaté : 123 arbres accueillant 456 singes

Voir aussi

  • msgfmt_create() - Construit un nouveau formateur de messages
  • msgfmt_get_pattern() - Lit le modèle utilisé par le formateur de messages

MessageFormatter::parse
IntlDateFormatter
MessageFormatter


La classe IntlDateFormatter

Introduction

La classe DateFormatter est une classe concrète, qui active l'analyse et le formatage de dates, basé sur des chaînes modèles, ou des règles.

Cette classe représente les fonctionnalités de formatage des dates ICU. Elle permet aux utilisateurs d'afficher des dates dans un format localisé, ou d'analyser des chaînes PHP pour extraire des dates.

Class synopsis

IntlDateFormatter
IntlDateFormatter {
/* Méthodes */
__construct ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )
static IntlDateFormatter create ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )
string format ( mixed $value )
int getCalendar ( void )
int getDateType ( void )
int getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ int $which ] )
string getPattern ( void )
int getTimeType ( void )
string getTimeZoneId ( void )
bool isLenient ( void )
array localtime ( string $value [, int &$position ] )
int parse ( string $value [, int &$position ] )
bool setCalendar ( int $which )
bool setLenient ( bool $lenient )
bool setPattern ( string $pattern )
bool setTimeZoneId ( string $zone )
}

Voir aussi

  • » ICU Date formatter
  • » ICU Date formats

Constantes pré-définies

Ces constantes sont utilisées pour spécifier différents formats dans le constructeur des classes DateType et TimeType.

IntlDateFormatter::NONE (chaîne de caractères)
N'inclut pas cet élément
IntlDateFormatter::FULL (chaîne de caractères)
Style complètement spécifié (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG (chaîne de caractères)
Style long(January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM (chaîne de caractères)
Style intermédiaire (Jan 12, 1952)
IntlDateFormatter::SHORT (chaîne de caractères)
Style abrégé, uniquement les informations essentielles (12/13/52 ou 3:30pm)

Les constantes entières suivantes sont utilisées pour spécifier des calendriers. Ces calendriers sont basés directement sur le calendrier grégorien. Les calendriers non-grégoriens doivent être spécifiés dans une locale. Les exemples peuvent inclure locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL (chaîne de caractères)
Calendrier non-grégorien
IntlDateFormatter::GREGORIAN (chaîne de caractères)
Calendrier grégorien

Sommaire

  • IntlDateFormatter::create — Crée un formateur de date
  • IntlDateFormatter::format — Formate la date et l'heure sous forme de chaîne
  • IntlDateFormatter::getCalendar — Lit le calendrier utilisé par l'objet IntlDateFormatter
  • IntlDateFormatter::getDateType — Lit le type de date utilisé par IntlDateFormatter
  • IntlDateFormatter::getErrorCode — Lit le code d'erreur de la dernière opération
  • IntlDateFormatter::getErrorMessage — Lit le dernier message d'erreur
  • IntlDateFormatter::getLocale — Lit la locale utilisée par le formateur
  • IntlDateFormatter::getPattern — Lit le modèle utilisé par IntlDateFormatter
  • IntlDateFormatter::getTimeType — Lit le type de temps pour IntlDateFormatter
  • IntlDateFormatter::getTimeZoneId — Lit le fuseau horaire de IntlDateFormatter
  • IntlDateFormatter::isLenient — Retourne la sévérité utilisée pour IntlDateFormatter
  • IntlDateFormatter::localtime — Analyse une chaîne et la converti en temps
  • IntlDateFormatter::parse — Analyse une chaîne vers un timestamp
  • IntlDateFormatter::setCalendar — sets the calendar used to the appropriate calendar, which must be
  • IntlDateFormatter::setLenient — Configure la souplesse de l'analyseur
  • IntlDateFormatter::setPattern — Configure le modèle utilisé par le IntlDateFormatter
  • IntlDateFormatter::setTimeZoneId — Configure le fuseau horaire à utiliser
MessageFormatter::setPattern
IntlDateFormatter::create
intl


Crée un formateur de date

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter
PHP Manual

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crée un formateur de date

Description

Style orienté objet

static IntlDateFormatter IntlDateFormatter::create ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )

Style orienté objet (constructeur)

IntlDateFormatter::__construct ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )

Style procédural

IntlDateFormatter datefmt_create ( string $locale , int $datetype , int $timetype [, string $timezone [, int $calendar [, string $pattern ]]] )

Crée un formateur de date

Liste de paramètres

locale

La locale à utiliser pour formater et analyser.

datetype

Le type de date à utiliser (none, short, medium, long, full). C'est l'une des constantes IntlDateFormatter.

timetype

Le type d'heure à utiliser (none, short, medium, long, full). C'est l'une des IntlDateFormatter constants.

timezone

L'identifiant du fuseau horaire, et celui du système par défaut.

calendar

Le calendrier à utiliser pour formater ou analyser. Par défaut, c'est l'une des constantes IntlDateFormatter.

pattern

Le modèle à utiliser pour le formatage ou l'analyse. Les modèles disponibles sont documentés sur » http://userguide.icu-project.org/formatparse/datetime.

Valeurs de retour

Exemples

Exemple #1 Exemple avec datefmt_create(), procédural

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles', IntlDateFormatter::GREGORIAN  );
echo "Le premier format affiché est ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le deuxième format affiché est  ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le premier format est affiché avec le modèle : ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le deuxième format est affiché avec le modèle : ".datefmt_format( $fmt , 0);
?>

Exemple #2 Exemple avec datefmt_create(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le premier format affiché est ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le deuxième format affiché est ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le premier format est affiché avec le modèle : ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
      'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Le deuxième format est affiché avec le modèle : ".$fmt->format(0);
?>

L'exemple ci-dessus va afficher :

Le premier format affiché est Wednesday, December 31, 1969 4:00:00 PM PT
Le deuxième format affiché est Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
Le premier format est affiché avec le modèle : 12/31/1969
Le deuxième format est affiché avec le modèle : 12/31/1969

Voir aussi

  • datefmt_format() - Formate la date et l'heure sous forme de chaîne
  • datefmt_parse() - Analyse une chaîne vers un timestamp
  • datefmt_get_error_code() - Lit le code d'erreur de la dernière opération
  • datefmt_get_error_message() - Lit le dernier message d'erreur

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter


Formate la date et l'heure sous forme de chaîne

IntlDateFormatter::create
IntlDateFormatter::getCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::format

datefmt_format

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::format -- datefmt_format — Formate la date et l'heure sous forme de chaîne

Description

Style orienté objet

string IntlDateFormatter::format ( mixed $value )

Style procédural

string datefmt_format ( IntlDateFormatter $fmt , mixed $value )

Formate l'heure sous forme de chaîne.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

value

La valeur à formater. Cela peut être un entier pour un timestamp Unix (exprimés en secondes depuis l'époque Unix, UTC), ou un tableau pour représenter un tableau localtime().

Valeurs de retour

La chaîne formatée, ou, si une erreur survient, FALSE.

Exemples

Exemple #1 Exemple avec datefmt_format(), procédural

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le premier format affiché est ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le deuxième format affiché est  ".datefmt_format( $fmt , 0);

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le premier format est affiché avec le modèle : ".datefmt_format( $fmt , 0);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le deuxième format est affiché avec le modèle : ".datefmt_format( $fmt , 0);
?>

Exemple #2 Exemple avec datefmt_format(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le premier format affiché est ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le deuxième format affiché est ".$fmt->format(0);

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le premier format est affiché avec le modèle : ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Le deuxième format est affiché avec le modèle : ".$fmt->format(0);
?>

L'exemple ci-dessus va afficher :

Le premier format affiché est Wednesday, December 31, 1969 4:00:00 PM PT
Le deuxième format affiché est Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00
Le premier format est affiché avec le modèle : 12/31/1969
Le deuxième format est affiché avec le modèle : 12/31/1969

Voir aussi

  • datefmt_create() - Crée un formateur de date
  • datefmt_parse() - Analyse une chaîne vers un timestamp
  • datefmt_get_error_code() - Lit le code d'erreur de la dernière opération
  • datefmt_get_error_message() - Lit le dernier message d'erreur

IntlDateFormatter::create
IntlDateFormatter::getCalendar
IntlDateFormatter


Lit le calendrier utilisé par l'objet IntlDateFormatter

IntlDateFormatter::format
IntlDateFormatter::getDateType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getCalendar

datefmt_get_calendar

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getCalendar -- datefmt_get_calendar — Lit le calendrier utilisé par l'objet IntlDateFormatter

Description

Style orienté objet

int IntlDateFormatter::getCalendar ( void )

Style procédural

int datefmt_get_calendar ( IntlDateFormatter $fmt )

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

Le calendrier utilisé par le formateur.

Exemples

Exemple #1 Exemple avec datefmt_get_calendar(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le calendrier du formateur est : ".datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo "Le calendrier est maintenant : ".datefmt_get_calendar($fmt);
?>

Exemple #2 Exemple avec datefmt_get_calendar(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "calendar of the formatter is : ".$fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo "Le calendrier est maintenant : ".$fmt->getCalendar();

?>

L'exemple ci-dessus va afficher :

Le calendrier du formateur est : 1
Le calendrier est maintenant : 0

Voir aussi

  • datefmt_set_calendar() - sets the calendar used to the appropriate calendar, which must be
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::format
IntlDateFormatter::getDateType
IntlDateFormatter


Lit le type de date utilisé par IntlDateFormatter

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter
PHP Manual

IntlDateFormatter::getDateType

datefmt_get_datetype

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getDateType -- datefmt_get_datetype — Lit le type de date utilisé par IntlDateFormatter

Description

Style orienté objet

int IntlDateFormatter::getDateType ( void )

Style procédural

int datefmt_get_datetype ( IntlDateFormatter $fmt )

Retourne le type de date utilisé par le formateur IntlDateFormatter.

Liste de paramètres

fmt

La ressource de formatteur IntlDateFormatter.

Valeurs de retour

Le type de date courant du formateur.

Exemples

Exemple #1 Exemple avec datefmt_get_datetype()

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le type de date du formateur est  : ".datefmt_get_datetype($fmt);
echo "L'affichage avec le premier type de date est  ".datefmt_format( $fmt , 0);
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::SHORT,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Maintenant, le type de date du formateur est  : ".datefmt_get_datetype($fmt);
echo "L'affichage avec le second type de date est ".datefmt_format( $fmt , 0);

?>

Exemple #2 Exemple orienté objet

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "Le type de date du formateur est  : ".$fmt->getDateType();
echo "L'affichage avec le premier type de date est ".datefmt_format( $fmt , 0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::SHORT,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "Maintenant, le type de date du formateur est  : ".$fmt->getDateType();
echo "L'affichage avec le second type de date est ".datefmt_format( $fmt , 0);

?>

L'exemple ci-dessus va afficher :

Le type de date du formateur est  : 0
L'affichage avec le premier type de date est Wednesday, December 31, 1969 4:00:00 PM PT
Maintenant, le type de date du formateur est : 2
L'affichage avec le premier type de date est 12/31/69 4:00:00 PM PT

Voir aussi

  • datefmt_get_timetype() - Lit le type de temps pour IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::getCalendar
IntlDateFormatter::getErrorCode
IntlDateFormatter


Lit le code d'erreur de la dernière opération

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorCode

datefmt_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorCode -- datefmt_get_error_code — Lit le code d'erreur de la dernière opération

Description

Style orienté objet

int IntlDateFormatter::getErrorCode ( void )

Style procédural

int datefmt_get_error_code ( IntlDateFormatter $fmt )

Lit le code d'erreur de la dernière opération.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

Le code d'erreur, une des valeurs UErrorCode. La valeur initiale est U_ZERO_ERROR.

Exemples

Exemple #1 Exemple avec datefmt_get_error_code(), procédural

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = datefmt_format($fmt);
if(!$str) {
    echo "Erreur : ".datefmt_get_error_message($fmt) . " (" . datefmt_get_error_code($fmt) . ")\n";
}
?>

Exemple #2 Exemple avec datefmt_get_error_code(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = $fmt->format();
if(!$str) {
    echo "Erreur : ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}
?>

L'exemple ci-dessus va afficher :

Erreur : U_ZERO_ERROR (0)

Voir aussi

  • datefmt_get_error_message() - Lit le dernier message d'erreur
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

IntlDateFormatter::getDateType
IntlDateFormatter::getErrorMessage
IntlDateFormatter


Lit le dernier message d'erreur

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter
PHP Manual

IntlDateFormatter::getErrorMessage

datefmt_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorMessage -- datefmt_get_error_message — Lit le dernier message d'erreur

Description

Style orienté objet

string IntlDateFormatter::getErrorMessage ( void )

Style procédural

string datefmt_get_error_message ( IntlDateFormatter $fmt )

Lit le message d'erreur de la dernière opération.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

La description de la dernière erreur.

Exemples

Exemple #1 Exemple avec datefmt_get_error_message()

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = datefmt_format($fmt);
if(!$str) {
    echo "Erreur : ".datefmt_get_error_message($fmt) . " (" . datefmt_get_error_code($fmt) . ")\n";
}
?>

Exemple #2 Exemple orienté objet

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$str = $fmt->format();
if(!$str) {
    echo "Erreur : ".$fmt->getErrorMessage() . " (" . $fmt->getErrorCode() . ")\n";
}

?>

L'exemple ci-dessus va afficher :

Erreur : U_ZERO_ERROR (0)

Voir aussi

  • datefmt_get_error_code() - Lit le code d'erreur de la dernière opération
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

IntlDateFormatter::getErrorCode
IntlDateFormatter::getLocale
IntlDateFormatter


Lit la locale utilisée par le formateur

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::getLocale

datefmt_get_locale

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getLocale -- datefmt_get_locale — Lit la locale utilisée par le formateur

Description

Style orienté objet

string IntlDateFormatter::getLocale ([ int $which ] )

Style procédural

string datefmt_get_locale ( IntlDateFormatter $fmt [, int $which ] )

Lit la locale utilisée par le formateur.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

hich

Vous pouvez choisir entre une valeur valide ou une valeur littérale de la locale (à l'aide des constantes Locale::VALID_LOCALE et Locale::ACTUAL_LOCALE, respectivement). La valeur par défaut est la valeur littérale.

Valeurs de retour

La locale de ce formateur, ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec datefmt_get_locale(), procédural

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "La locale du formateur est : ".datefmt_get_locale($fmt);
echo "Le premier format utilisé est ".datefmt_format( $fmt , 0);
echo "La locale du formateur est : ".datefmt_get_locale($fmt);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le second format utilisé est  ".datefmt_format( $fmt , 0);

?>

Exemple #2 Exemple avec datefmt_get_locale(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "La locale du formateur est : ".$fmt->getLocale();
echo "Le premier format utilisé est  ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "La locale du formateur est : ".$fmt->getLocale();
echo "Le second format utilisé est  ".$fmt->format(0);

?>

L'exemple ci-dessus va afficher :

La locale du formateur est : en
Le premier format utilisé est Wednesday, December 31, 1969 4:00:00 PM PT
La locale du formateur est : de
Le deuxième format utilisé est Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00

Voir aussi

  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::getErrorMessage
IntlDateFormatter::getPattern
IntlDateFormatter


Lit le modèle utilisé par IntlDateFormatter

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter
PHP Manual

IntlDateFormatter::getPattern

datefmt_get_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getPattern -- datefmt_get_pattern — Lit le modèle utilisé par IntlDateFormatter

Description

Style orienté objet

string IntlDateFormatter::getPattern ( void )

Style procédural

string datefmt_get_pattern ( IntlDateFormatter $fmt )

Lit le modèle utilisé par le formateur.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

Le modèle utilisé pour analyser et former.

Exemples

Exemple #1 Exemple avec datefmt_get_pattern(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le modèle du formateur est : ".datefmt_get_pattern($fmt);
echo "Le premier résultat avec le modèle est ".datefmt_format( $fmt , 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo "Maintenant le modèle du formateur est : ".datefmt_get_pattern($fmt);
echo "Le deuxième résultat avec le modèle est ".datefmt_format( $fmt , 0);

?>

Exemple #2 Exemple avec datefmt_get_pattern(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN,"MM/dd/yyyy"  );
echo "Le modèle du formateur est : ".$fmt->getPattern();
echo "Le premier résultat avec le modèle est ".datefmt_format( $fmt , 0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo "Maintenant le modèle du formateur est : ".$fmt->getPattern();
echo "Le deuxième résultat avec le modèle est ".datefmt_format( $fmt , 0);
?>

L'exemple ci-dessus va afficher :

Le modèle du formateur est : MM/dd/yyyy
Le premier résultat avec le modèle est 12/31/1969
Maintenant le modèle du formateur est : yyyymmdd hh:mm:ss z
Le deuxième résultat avec le modèle est 19690031 04:00:00 PST

Voir aussi

  • datefmt_set_pattern() - Configure le modèle utilisé par le IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::getLocale
IntlDateFormatter::getTimeType
IntlDateFormatter


Lit le type de temps pour IntlDateFormatter

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeType

datefmt_get_timetype

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeType -- datefmt_get_timetype — Lit le type de temps pour IntlDateFormatter

Description

Style orienté objet

int IntlDateFormatter::getTimeType ( void )

Style procédural

int datefmt_get_timetype ( IntlDateFormatter $fmt )

Retourne le type de temps utilisé par le formateur.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

La valeur courante de type de date utilisé par le formateur.

Exemples

Exemple #1 Exemple avec datefmt_get_timetype(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le type de temps du formateur est : ".datefmt_get_timetype($fmt);
echo "Le premier résultat avec timetype est ".datefmt_format( $fmt , 0);
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::SHORT,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Maintenant, le timetype du formateur est : ".datefmt_get_timetype($fmt);
echo "Le second résultat avec timetype est ".datefmt_format( $fmt , 0);

?>

Exemple #2 Exemple avec datefmt_get_timetype(), procédural

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "Le type de temps du formateur est : ".$fmt->getTimeType();
echo "Le premier résultat avec timetype est ".datefmt_format( $fmt , 0);
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::SHORT,'America/Los_Angeles',IntlDateFormatter::GREGORIAN);
echo "Maintenant, le timetype du formateur est : ".$fmt->getTimeType();
echo "Le second résultat avec timetype est ".datefmt_format( $fmt , 0);

?>

L'exemple ci-dessus va afficher :

Le type de temps du formateur est : 0
Le premier résultat avec timetype est Wednesday, December 31, 1969 4:00:00 PM PT
Maintenant, le timetype du formateur est : 3
Le second résultat avec timetype est Wednesday, December 31, 1969 4:00 PM

Voir aussi

  • datefmt_get_datetype() - Lit le type de date utilisé par IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::getPattern
IntlDateFormatter::getTimeZoneId
IntlDateFormatter


Lit le fuseau horaire de IntlDateFormatter

IntlDateFormatter::getTimeType
IntlDateFormatter::isLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::getTimeZoneId

datefmt_get_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeZoneId -- datefmt_get_timezone_id — Lit le fuseau horaire de IntlDateFormatter

Description

Style orienté objet

string IntlDateFormatter::getTimeZoneId ( void )

Style procédural

string datefmt_get_timezone_id ( IntlDateFormatter $fmt )

Lit le fuseau horaire utilisé par IntlDateFormatter.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

L'identifiant du fuseau horaire utilisé par ce formateur.

Exemples

Exemple #1 Exemple avec datefmt_set_timezone_id(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le timezone_id du formateur est  : ".datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt,'CN');
echo "Maintenant, le timezone_id du formateur est : ".datefmt_get_timezone_id($fmt);
?>

Exemple #2 Exemple avec datefmt_set_timezone_id(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le timezone_id du formateur est : ".$fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo "Maintenant, le timezone_id du formateur est : ".$fmt->getTimezoneId();

?>

L'exemple ci-dessus va afficher :

Le timezone_id du formateur est : America/Los_Angeles
Maintenant, le timezone_id du formateur est : CN

Voir aussi

  • datefmt_set_timezone_id() - Configure le fuseau horaire à utiliser
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::getTimeType
IntlDateFormatter::isLenient
IntlDateFormatter


Retourne la sévérité utilisée pour IntlDateFormatter

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::localtime
IntlDateFormatter
PHP Manual

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenient — Retourne la sévérité utilisée pour IntlDateFormatter

Description

Style orienté objet

bool IntlDateFormatter::isLenient ( void )

Style procédural

bool datefmt_is_lenient ( IntlDateFormatter $fmt )

Vérifie si l'analyseur est strict ou souple lors de l'interprétation des chaînes qui ne correspondent pas exactement au modèle recherché.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

Valeurs de retour

TRUE si l'analyseur est souple, FALSE si l'analyseur est strict. Par défaut, l'analyseur est strict.

Exemples

Exemple #1 Exemple avec datefmt_is_lenient(), procédural

<?php
$fmt = datefmt_create( "en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy");
echo "Le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
}else{
        echo('Non');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo "Maintenant, le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
}else{
        echo('Non');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}

?>

Exemple #2 Exemple avec datefmt_is_lenient(), POO

<?php
$fmt = new IntlDateFormatter("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy" );
echo "Le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
}else{
        echo('Nom');
}
$fmt->parse("35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "Maintenant, la sévérité du formateur est : ";
if( $fmt->isLenient() ){
        echo('Oui');
}else{
        echo('Non');
}
$fmt->parse("35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}

?>

L'exemple ci-dessus va afficher :

Le formateur est strict : Oui
Tentative d'analyse de la date '35/13/1971'.
Le résultat est : 34503180
Maintenant, le formateur est strict : Non
Tentative d'analyse de la date '35/13/1971'.
Le résultat est :
Error_msg est : Date parsing failed: U_PARSE_ERROR
Error_code est : 9

Voir aussi

  • datefmt_set_lenient() - Configure la souplesse de l'analyseur
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::getTimeZoneId
IntlDateFormatter::localtime
IntlDateFormatter


Analyse une chaîne et la converti en temps

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter
PHP Manual

IntlDateFormatter::localtime

datefmt_localtime

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::localtime -- datefmt_localtime — Analyse une chaîne et la converti en temps

Description

Style orienté objet

array IntlDateFormatter::localtime ( string $value [, int &$position ] )

Style procédural

array datefmt_localtime ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Convertit la chaîne $value en une date décomposée (un tableau de champs), en commençant à la position $parse_pos et en consommant autant de caractères que possible.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

value

La chaîne à convertir.

position

La position à partir de laquelle commencer l'analyse dans la valeur $value. Les positions commencent à 0. Si aucune erreur ne survient durant l'analyse de $value, $parse_pos contiendra -1, et sinon, il va contenir la position à laquelle l'analyse s'est terminée (et l'erreur est survenue). Cette variable va contenir la position de fin si l'analyse échoue. Si $parse_pos est supérieur à la taille de la chaîne, l'analyse échoue immédiatement.

Valeurs de retour

Un tableau d'entier compatible avec localtime : il contient l'heure sur 24 heures dans le champ tm_hour.

Exemples

Exemple #1 Exemple avec datefmt_localtime(), procédural

<?php

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$date = "Wednesday, December 31, 1969 4:00:00 PM PT";
$position = 0;
$arr = datefmt_localtime( $fmt, $date ,$position);
echo "Résultat de l'analyse : \n";
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value \n";
    }
}

?>

Exemple #2 Exemple avec datefmt_localtime(), POO

<?php

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
$date = "Wednesday, December 31, 1969 4:00:00 PM PT";
$position = 0;
$arr = $fmt->localtime( $fmt, $date ,$position);
echo "Résultat de l'analyse : \n";
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value \n";
    }
}

?>

L'exemple ci-dessus va afficher :

tm_sec : 0
tm_min : 0
tm_hour : 16
tm_year : 69
tm_mday : 31
tm_wday : 3
tm_yday : 365
tm_mon : 11
tm_isdst : 0

Voir aussi

  • datefmt_create() - Crée un formateur de date
  • datefmt_format() - Formate la date et l'heure sous forme de chaîne
  • datefmt_parse() - Analyse une chaîne vers un timestamp
  • datefmt_get_error_code() - Lit le code d'erreur de la dernière opération
  • datefmt_get_error_message() - Lit le dernier message d'erreur

IntlDateFormatter::isLenient
IntlDateFormatter::parse
IntlDateFormatter


Analyse une chaîne vers un timestamp

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter
PHP Manual

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parse — Analyse une chaîne vers un timestamp

Description

Style orienté objet

int IntlDateFormatter::parse ( string $value [, int &$position ] )

Style procédural

int datefmt_parse ( IntlDateFormatter $fmt , string $value [, int &$position ] )

Converti la chaîne $value en une valeur de temps, en commençant à $parse_pos et en lisant autant de caractères que possible.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

value

La chaîne à convertir en temps.

position

La position à partir de laquelle commencer l'analyse dans la valeur $value. Les positions commencent à 0. Si aucune erreur ne survient durant l'analyse de $value, $parse_pos contiendra -1, et sinon, il va contenir la position à laquelle l'analyse s'est terminée (et l'errur est survenue). Cette variable va contenir la position de fin si l'analyse échoue. Si $parse_pos est supérieur à la taille de la chaîne, l'analyse échoue immédiatement.

Valeurs de retour

La valeur du timestamp analysé.

Exemples

Exemple #1 Exemple avec datefmt_parse()

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Premier format analysé est ".$fmt->parse("Wednesday, December 31, 1969 4:00:00 PM PT");
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Deuxième format analysé est ".$fmt->parse("Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00");
?>

Exemple #2 Exemple orienté objet

<?php
$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Premier format analysé est ".datefmt_parse( $fmt ,  "Wednesday, December 20, 1989 4:00:00 PM PT");
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Deuxième format analysé est ".datefmt_parse( $fmt , "Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00");
?>

L'exemple ci-dessus va afficher :

Premier format analysé est 630201600
Deuxième format analysé est 630201600

Voir aussi

  • datefmt_create() - Crée un formateur de date
  • datefmt_format() - Formate la date et l'heure sous forme de chaîne
  • datefmt_localtime() - Analyse une chaîne et la converti en temps
  • datefmt_get_error_code() - Lit le code d'erreur de la dernière opération
  • datefmt_get_error_message() - Lit le dernier message d'erreur

IntlDateFormatter::localtime
IntlDateFormatter::setCalendar
IntlDateFormatter


sets the calendar used to the appropriate calendar, which must be

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter
PHP Manual

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendar — sets the calendar used to the appropriate calendar, which must be

Description

Style orienté objet

bool IntlDateFormatter::setCalendar ( int $which )

Style procédural

bool datefmt_set_calendar ( IntlDateFormatter $fmt , int $which )

Configure le calendrier à utiliser.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

which

Le calendrier à utiliser. Par défaut, c'est IntlDateFormatter::GREGORIAN.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec datefmt_set_calendar(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le calendrier du formateur est : ".datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo "Le calendrier est maintenant : ".datefmt_get_calendar($fmt);
?>

Exemple #2 Exemple avec datefmt_set_calendar(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "calendar of the formatter is : ".$fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo "Le calendrier est maintenant : ".$fmt->getCalendar();

?>

L'exemple ci-dessus va afficher :

Le calendrier du formateur est : 1
Le calendrier est maintenant : 0

Voir aussi

  • datefmt_get_calendar() - Lit le calendrier utilisé par l'objet IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::parse
IntlDateFormatter::setLenient
IntlDateFormatter


Configure la souplesse de l'analyseur

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter
PHP Manual

IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient — Configure la souplesse de l'analyseur

Description

Style orienté objet

bool IntlDateFormatter::setLenient ( bool $lenient )

Style procédural

bool datefmt_set_lenient ( IntlDateFormatter $fmt , bool $lenient )

Définit si l'analyseur est strict ou souple lors de l'interprétation des chaînes qui ne correspondent pas exactement au modèle recherché. Activer la souplesse da l'analyseur permet d'accepter des valeurs qui pourraient être considérées comme erronées par l'analyseur strict. Les espaces, les caractères inconnus ou les dates invalides ne sont pas acceptées.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

lenient

TRUE si l'analyseur est souple, FALSE si l'analyseur est strict. Par défaut, l'analyseur est strict.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec datefmt_set_lenient(), procédural

<?php
$fmt = datefmt_create("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy");
echo "Le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
} else {
        echo('Non');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo "Maintenant, le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
}else{
        echo('Non');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}

?>

Exemple #2 Exemple avec datefmt_set_lenient(), procédural

<?php
$fmt = new IntlDateFormatter("en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, "dd/mm/yyyy");
echo "Le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
} else {
        echo('Nom');
}
$fmt->parse("35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "Maintenant, le formateur est strict : ";
if( $fmt->isLenient() ){
        echo('Oui');
} else {
        echo('Non');
}
$fmt->parse("35/13/1971");
echo "\n Tentative d'analyse de la date '35/13/1971'. Le résultat est : " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
        echo "Error_msg est : ".intl_get_error_message();
        echo "Error_code est : ".intl_get_error_code();
}

?>

L'exemple ci-dessus va afficher :

Le formateur est strict : Non
Tentative d'analyse de la date '35/13/1971'.
Le résultat est : -2147483
Maintenant, le formateur est strict : Oui
Tentative d'analyse de la date '35/13/1971'.
Le résultat est : Error_msg est : Date parsing failed: U_PARSE_ERROR Error_code est : 9

Voir aussi

  • datefmt_is_lenient() - Retourne la sévérité utilisée pour IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::setCalendar
IntlDateFormatter::setPattern
IntlDateFormatter


Configure le modèle utilisé par le IntlDateFormatter

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter
PHP Manual

IntlDateFormatter::setPattern

datefmt_set_pattern

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setPattern -- datefmt_set_pattern — Configure le modèle utilisé par le IntlDateFormatter

Description

Style orienté objet

bool IntlDateFormatter::setPattern ( string $pattern )

Style procédural

bool datefmt_set_pattern ( IntlDateFormatter $fmt , string $pattern )

Configure le modèle utilisé par le IntlDateFormatter.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

pattern

Le nouveau masque à utiliser. Les masques possibles sont documentés sur » http://userguide.icu-project.org/formatparse/datetime.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Un mauvaise formattage de la chaîne est généralement la cause de l'échec de cette fonction.

Exemples

Exemple #1 Exemple avec datefmt_get_pattern(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Le modèle du formateur est : ".datefmt_get_pattern($fmt);
echo "Le premier résultat avec le modèle est ".datefmt_format( $fmt , 0);
datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z');
echo "Maintenant le modèle du formateur est : ".datefmt_get_pattern($fmt);
echo "Le deuxième résultat avec le modèle est ".datefmt_format( $fmt , 0);

?>

Exemple #2 Exemple avec datefmt_get_pattern(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN,"MM/dd/yyyy"  );
echo "Le modèle du formateur est : ".$fmt->getPattern();
echo "Le premier résultat avec le modèle est ".datefmt_format( $fmt , 0);
$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo "Maintenant le modèle du formateur est : ".$fmt->getPattern();
echo "Le deuxième résultat avec le modèle est ".datefmt_format( $fmt , 0);
?>

L'exemple ci-dessus va afficher :

Le modèle du formateur est : MM/dd/yyyy
Le premier résultat avec le modèle est 12/31/1969
Maintenant le modèle du formateur est : yyyymmdd hh:mm:ss z
Le deuxième résultat avec le modèle est 19690031 04:00:00 PST

Voir aussi

  • datefmt_get_pattern() - Lit le modèle utilisé par IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::setLenient
IntlDateFormatter::setTimeZoneId
IntlDateFormatter


Configure le fuseau horaire à utiliser

IntlDateFormatter::setPattern
ResourceBundle
IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZoneId

datefmt_set_timezone_id

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::setTimeZoneId -- datefmt_set_timezone_id — Configure le fuseau horaire à utiliser

Description

Style orienté objet

bool IntlDateFormatter::setTimeZoneId ( string $zone )

Style procédural

bool datefmt_set_timezone_id ( IntlDateFormatter $fmt , string $zone )

Configure le fuseau horaire à utiliser.

Liste de paramètres

fmt

La ressource de formateur IntlDateFormatter.

zone

La chaîne d'identifiant du fuseau horaire à utiliser. Si NULL vide, le fuseau horaire par défaut sera utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec datefmt_set_timezone_id(), procédural

<?php
$fmt = datefmt_create(  "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le timezone_id du formateur est  : ".datefmt_get_timezone_id($fmt);
datefmt_set_timezone_id($fmt,'CN');
echo "Maintenant, le timezone_id du formateur est : ".datefmt_get_timezone_id($fmt);
?>

Exemple #2 Exemple avec datefmt_set_timezone_id(), POO

<?php
$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Le timezone_id du formateur est : ".$fmt->getTimezoneId();
$fmt->setTimezoneId('CN');
echo "Maintenant, le timezone_id du formateur est : ".$fmt->getTimezoneId();

?>

L'exemple ci-dessus va afficher :

Le timezone_id du formateur est : America/Los_Angeles
Maintenant, le timezone_id du formateur est : CN

Voir aussi

  • datefmt_get_timezone_id() - Lit le fuseau horaire de IntlDateFormatter
  • datefmt_create() - Crée un formateur de date

IntlDateFormatter::setPattern
ResourceBundle
IntlDateFormatter


La classe ResourceBundle

Introduction

Les application localisées ont souvent besoin de manipuler des données devant être personnalisées en fonction d'une locale considérée, e.g.: messages, libélés, chaines de formatage. ICU permet de définir des ressources que l'application pourra charger avec une locale une fois pour toutes : tous les accès ultérieurs se feront au moyen d'une interface unique non dépendante de la locale considérée.

Cette classe permet l'accès aux fichiers de données de ICU. Ces fichiers représentent des tableaux binaires que ICU utilise pour stocker les données localisées.

Les bundle de ressource ICU supportent les ressources simples et complexes. Les ressources complexes sont des conteneurs aui peuvent être indéxés numériquement ou litéralement (comme les tableaux PHP). Les ressources simples, elles, peuvent être de type chaine, entier, binaire ou tableau numérique.

ResourceBundle supporte l'accès direct aux données via la syntaxe des tableaux ainsi que l'itération grâce à foreach. Ces possibilités existent aussi via les méthodes. Le résultat sera une valeur PHP pour les ressources simples, ou un objet ResourceBundle pour les ressources complexes. Les ressources sont en lecture seule.

Synopsis de la classe

ResourceBundle
ResourceBundle {
/* Methods */
__construct ( string $locale , string $bundlename [, bool $fallback ] )
int count ( void )
static ResourceBundle create ( string $locale , string $bundlename [, bool $fallback ] )
int getErrorCode ( void )
string getErrorMessage ( void )
mixed get ( string|int $index )
array getLocales ( void )
}

Voir aussi

  • » Configuration des ressources ICU
  • » ICU Data

Sommaire

  • ResourceBundle::count — Get number of elements in the bundle
  • ResourceBundle::create — Create a resource bundle
  • ResourceBundle::getErrorCode — Get bundle's last error code.
  • ResourceBundle::getErrorMessage — Get bundle's last error message.
  • ResourceBundle::get — Get data from the bundle
  • ResourceBundle::getLocales — Get supported locales
IntlDateFormatter::setTimeZoneId
ResourceBundle::count
intl


Get number of elements in the bundle

ResourceBundle
ResourceBundle::create
ResourceBundle
PHP Manual

ResourceBundle::count

resourcebundle_count

(No version information available, might only be in SVN)

ResourceBundle::count -- resourcebundle_count — Get number of elements in the bundle

Description

Object oriented style

int ResourceBundle::count ( void )

Procedural style

int resourcebundle_count ( ResourceBundle $r )

Get the number of elements in the bundle.

Liste de paramètres

r

ResourceBundle object.

Valeurs de retour

Returns number of elements in the bundle.

Exemples

Exemple #1 resourcebundle_count() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_count($r);
?>

Exemple #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->count();
?>

L'exemple ci-dessus va afficher :

42

Voir aussi

  • resourcebundle_get() - Get data from the bundle

ResourceBundle
ResourceBundle::create
ResourceBundle


Create a resource bundle

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle
PHP Manual

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

(No version information available, might only be in SVN)

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__construct — Create a resource bundle

Description

Object oriented style (method)

static ResourceBundle ResourceBundle::create ( string $locale , string $bundlename [, bool $fallback ] )

Procedural style

ResourceBundle resourcebundle_create ( string $locale , string $bundlename [, bool $fallback ] )

Object oriented style (constructor):

ResourceBundle::__construct ( string $locale , string $bundlename [, bool $fallback ] )

Creates a resource bundle.

Liste de paramètres

locale

Locale for which the resources should be loaded (locale name, e.g. en_CA).

bundlename

The directory where the data is stored or the name of the .dat file.

fallback

Whether locale should match exactly or fallback to parent locale is allowed.

Valeurs de retour

Returns ResourceBundle object or FALSE on error.

Exemples

Exemple #1 resourcebundle_create() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Exemple #2 ResourceBundle::create() example

<?php
$r = ResourceBundle::create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

L'exemple ci-dessus va afficher :

¡Hola, mundo!

Voir aussi

  • resourcebundle_get() - Get data from the bundle

ResourceBundle::count
ResourceBundle::getErrorCode
ResourceBundle


Get bundle's last error code.

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle
PHP Manual

ResourceBundle::getErrorCode

resourcebundle_get_error_code

(No version information available, might only be in SVN)

ResourceBundle::getErrorCode -- resourcebundle_get_error_code — Get bundle's last error code.

Description

Object oriented style

int ResourceBundle::getErrorCode ( void )

Procedural style

int resourcebundle_get_error_code ( ResourceBundle $r )

Get error code from the last function performed by the bundle object.

Liste de paramètres

r

ResourceBundle object.

Valeurs de retour

Returns error code from last bundle object call.

Exemples

Exemple #1 resourcebundle_get_error_code() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Bundle error");
}
?>

Exemple #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error");
}
?>

Voir aussi

  • resourcebundle_get_error_message() - Get bundle's last error message.
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

ResourceBundle::create
ResourceBundle::getErrorMessage
ResourceBundle


Get bundle's last error message.

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle
PHP Manual

ResourceBundle::getErrorMessage

resourcebundle_get_error_message

(No version information available, might only be in SVN)

ResourceBundle::getErrorMessage -- resourcebundle_get_error_message — Get bundle's last error message.

Description

Object oriented style

string ResourceBundle::getErrorMessage ( void )

Procedural style

string resourcebundle_get_error_message ( ResourceBundle $r )

Get error message from the last function performed by the bundle object.

Liste de paramètres

r

ResourceBundle object.

Valeurs de retour

Returns error message from last bundle object's call.

Exemples

Exemple #1 resourcebundle_get_error_message() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
    report_error("Bundle error: ".resourcebundle_get_error_message($r));
}
?>

Exemple #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
    report_error("Bundle error: ".ResourceBundle::getErrorMessage($r));
}
?>

Voir aussi

  • resourcebundle_get_error_code() - Get bundle's last error code.
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec

ResourceBundle::getErrorCode
ResourceBundle::get
ResourceBundle


Get data from the bundle

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle
PHP Manual

ResourceBundle::get

resourcebundle_get

(No version information available, might only be in SVN)

ResourceBundle::get -- resourcebundle_get — Get data from the bundle

Description

Object oriented style

mixed ResourceBundle::get ( string|int $index )

Procedural style

mixed resourcebundle_get ( ResourceBundle $r , string|int $index )

Get the data from the bundle by index or string key.

Liste de paramètres

r

ResourceBundle object.

index

Data index, must be string or integer.

Valeurs de retour

Returns the data located at the index or NULL on error. Strings, integers and binary data strings are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are returned as ResourceBundle object.

Exemples

Exemple #1 resourcebundle_get() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_get($r, 'somestring');
?>

Exemple #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->get('somestring');
?>

L'exemple ci-dessus va afficher :

?Hola, mundo!

Voir aussi

  • resourcebundle_count() - Get number of elements in the bundle

ResourceBundle::getErrorMessage
ResourceBundle::getLocales
ResourceBundle


Get supported locales

ResourceBundle::get
Fonctions Grapheme
ResourceBundle
PHP Manual

ResourceBundle::getLocales

resourcebundle_locales

(No version information available, might only be in SVN)

ResourceBundle::getLocales -- resourcebundle_locales — Get supported locales

Description

Object oriented style

array ResourceBundle::getLocales ( void )

Procedural style

array resourcebundle_locales ( ResourceBundle $r )

Get the list of locales supported by the bundle. The list is taken from the bundle table named res_index which should contain a table named InstalledLocales, which contains locales as keys. This bundle should be either in data directory as .res file or part of the .dat file for this function to work.

Liste de paramètres

r

ResourceBundle object.

Valeurs de retour

Returns the list of locales supported by the bundle.

Exemples

Exemple #1 resourcebundle_locales() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo join("\n", resourcebundle_locales($r));
?>

Exemple #2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo join("\n", $r->getLocales());
?>

L'exemple ci-dessus va afficher :

es
root

Voir aussi

  • resourcebundle_get() - Get data from the bundle

ResourceBundle::get
Fonctions Grapheme
ResourceBundle


Fonctions Grapheme

Sommaire

  • grapheme_extract — Extrait un groupe de graphème d'une chaîne UTF-8
  • grapheme_stripos — Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
  • grapheme_stristr — Retourne la partie d'une chaîne à partir d'une occurrence
  • grapheme_strlen — Lit la taille d'une chaîne en nombre de graphème
  • grapheme_strpos — Trouve la position du premier graphème
  • grapheme_strripos — Trouve la position du dernier graphème, insensible à la casse
  • grapheme_strrpos — Trouve la position du dernier graphème
  • grapheme_strstr — Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
  • grapheme_substr — Retourne une partie d'une chaîne
ResourceBundle::getLocales
grapheme_extract
intl


Extrait un groupe de graphème d'une chaîne UTF-8

Fonctions Grapheme
grapheme_stripos
Fonctions Grapheme
PHP Manual

grapheme_extract

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_extract — Extrait un groupe de graphème d'une chaîne UTF-8

Description

Procedural style

string grapheme_extract ( string $haystack , int $size [, int $extract_type [, int $start = 0 [, int &$next ]]] )

Cette fonction extrait une séquence de groupes de graphèmes par défaut d'un texte en UTF-8.

Liste de paramètres

haystack

La chaîne à étudier.

size

Le nombre maximal d'élément, en fonction de $extract_type, à retourner.

extract_type

Défini le type d'unités indiquées par le paramètre $size :

  • GRAPHEME_EXTR_COUNT (par défaut) : $size est le nombre de groupe de graphèmes à extraire.
  • GRAPHEME_EXTR_MAXBYTES : $size est le nombre d'octets à retourner.
  • GRAPHEME_EXTR_MAXCHARS : $size est le nombre de caractères UTF-8 à retourner.

start

La position de début dans $haystack, exprimée en octets. Elle doit être positive, nulle ou inférieure à la taille de $haystack en octets. Si $start ne correspond pas au premier octets d'un caractère UTF-8 valide, la position de démarrage sera déplacée au prochain octet valide.

next

Référence à une variable qui recevra la prochaine position de début valide. Lorsque la fonction se termine, cela peut être une position qui est au dela de la taille de la chaîne.

Valeurs de retour

Une chaîne qui débute à la position $start et se termine à la limite valide d'un graphème, et qui se conformen aux conditions $size et $extract_type.

Exemples

Exemple #1 Exemple avec grapheme_extract()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

?>

L'exemple ci-dessus va afficher :

o%CC%88

Voir aussi

  • grapheme_substr() - Retourne une partie d'une chaîne
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

Fonctions Grapheme
grapheme_stripos
Fonctions Grapheme


Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse

grapheme_extract
grapheme_stristr
Fonctions Grapheme
PHP Manual

grapheme_stripos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_stripos — Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse

Description

Procedural style

int grapheme_stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Trouve la position en graphème de la première occurrence dans une chaîne, en effectuant une recherche insensible à la casse.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être au format UTF-8 valide.

needle

La chaîne à rechercher. Elle doit être au format UTF-8 valide.

offset

Le paramètre $offset permet de spécifier la position dans la $haystack de début de recherche, exprimée en graphème (et non pas en octets ou caractères). La position retournée est toujours donnée par rapport au début de $haystack, quelque soit la valeur de $offset.

Valeurs de retour

Retourne la position, sous forme d'un entier. Si $needle n'est pas trouvé, grapheme_stripos() retourne FALSE.

Exemples

Exemple #1 Exemple avec grapheme_stripos()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) forme normalisée "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme normalisée "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) forme normalisée "D"

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

L'exemple ci-dessus va afficher :

2

Voir aussi

  • grapheme_stristr() - Retourne la partie d'une chaîne à partir d'une occurrence
  • grapheme_strpos() - Trouve la position du premier graphème
  • grapheme_strripos() - Trouve la position du dernier graphème, insensible à la casse
  • grapheme_strrpos() - Trouve la position du dernier graphème
  • grapheme_strstr() - Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_extract
grapheme_stristr
Fonctions Grapheme


Retourne la partie d'une chaîne à partir d'une occurrence

grapheme_stripos
grapheme_strlen
Fonctions Grapheme
PHP Manual

grapheme_stristr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_stristr — Retourne la partie d'une chaîne à partir d'une occurrence

Description

Procedural style

string grapheme_stristr ( string $haystack , string $needle [, bool $before_needle = false ] )

Retourne la partie d'une chaîne à partir de la première occurrence de needle (insensible à la casse), et jusqu'à la fin de la chaîne.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être valide UTF-8.

needle

La chaîne à rechercher. Elle doit être valide UTF-8.

before_needle

Si TRUE, grapheme_stristr() retourne la partie de $haystack avant la première occurrence.

Valeurs de retour

Retourne une portion de $haystack, ou FALSE si $needle n'est pas trouvé.

Exemples

Exemple #1 Exemple avec grapheme_stristr()

<?php

$char_a_ring_nfd  = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5)  forme normalisée "D"
$char_o_diaeresis_nfd  = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme  normalisée "D"
$char_O_diaeresis_nfd =  "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) forme  normalisée "D"

print  urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd .  $char_a_ring_nfd, $char_O_diaeresis_nfd));

?>

L'exemple ci-dessus va afficher :

o%CC%88a%CC%8A

Voir aussi

  • grapheme_stripos() - Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
  • grapheme_strpos() - Trouve la position du premier graphème
  • grapheme_strripos() - Trouve la position du dernier graphème, insensible à la casse
  • grapheme_strrpos() - Trouve la position du dernier graphème
  • grapheme_strstr() - Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_stripos
grapheme_strlen
Fonctions Grapheme


Lit la taille d'une chaîne en nombre de graphème

grapheme_stristr
grapheme_strpos
Fonctions Grapheme
PHP Manual

grapheme_strlen

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strlen — Lit la taille d'une chaîne en nombre de graphème

Description

Procedural style

int grapheme_strlen ( string $input )

Lit la taille d'une chaîne en nombre de graphème (et non pas en octets ou caractères).

Liste de paramètres

input

La chaîne à mesurer. Elle doit être une chaîne UTF-8 valide.

Valeurs de retour

La taille de la chaîne, et 0 si la chaîne est vide.

Exemples

Exemple #1 Exemple avec grapheme_strlen()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) forme normalisée "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme normalisée "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);

?>

L'exemple ci-dessus va afficher :

6

Voir aussi

  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_stristr
grapheme_strpos
Fonctions Grapheme


Trouve la position du premier graphème

grapheme_strlen
grapheme_strripos
Fonctions Grapheme
PHP Manual

grapheme_strpos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strpos — Trouve la position du premier graphème

Description

Procedural style

int grapheme_strpos ( string $haystack , string $needle [, int $offset = 0 ] )

Trouve la position du permier graphème dans une chaîne.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être au format UTF-8 valide.

needle

La chaîne à étudier. Elle doit être au format UTF-8 valide.

offset

Le paramètre $offset permet de spécifier la position dans la $haystack de début de recherche, exprimée en graphème (et non pas en octets ou caractères). La position retournée est toujours donnée par rapport au début de $haystack, quelque soit la valeur de $offset.

Valeurs de retour

Retourne l position sous forme d'entier. Si $needle n'est pas trouvé, grapheme_strripos() retourne FALSE.

Exemples

Exemple #1 Exemple avec grapheme_strpos()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) forme normalisée "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme normalisée "D"

print grapheme_strpos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);

?>

L'exemple ci-dessus va afficher :

2

Voir aussi

  • grapheme_stripos() - Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
  • grapheme_stristr() - Retourne la partie d'une chaîne à partir d'une occurrence
  • grapheme_strripos() - Trouve la position du dernier graphème, insensible à la casse
  • grapheme_strrpos() - Trouve la position du dernier graphème
  • grapheme_strstr() - Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strlen
grapheme_strripos
Fonctions Grapheme


Trouve la position du dernier graphème, insensible à la casse

grapheme_strpos
grapheme_strrpos
Fonctions Grapheme
PHP Manual

grapheme_strripos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strripos — Trouve la position du dernier graphème, insensible à la casse

Description

Procedural style

int grapheme_strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Trouve la position du dernier graphème, en effectuant une recherche insensible à la casse.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être au format UTF-8 valide.

needle

La chaîne à rechercher. Elle doit être au format UTF-8 valide.

offset

Le paramètre $offset permet de spécifier la position dans la $haystack de début de recherche, exprimée en graphème (et non pas en octets ou caractères). La position retournée est toujours donnée par rapport au début de $haystack, quelque soit la valeur de $offset.

Valeurs de retour

Retourne l position sous forme d'entier. Si $needle n'est pas trouvé, grapheme_strripos() retourne FALSE.

Exemples

Exemple #1 Exemple avec grapheme_strripos()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) forme normalisée form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme normalisée "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) forme normalisée "D"

print grapheme_strripos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

L'exemple ci-dessus va afficher :

2

Voir aussi

  • grapheme_stripos() - Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
  • grapheme_stristr() - Retourne la partie d'une chaîne à partir d'une occurrence
  • grapheme_strpos() - Trouve la position du premier graphème
  • grapheme_strrpos() - Trouve la position du dernier graphème
  • grapheme_strstr() - Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strpos
grapheme_strrpos
Fonctions Grapheme


Trouve la position du dernier graphème

grapheme_strripos
grapheme_strstr
Fonctions Grapheme
PHP Manual

grapheme_strrpos

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strrpos — Trouve la position du dernier graphème

Description

Procedural style

int grapheme_strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Trouve la position du dernier graphème, en effectuant une recherche sensible à la casse.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être au format UTF-8 valide.

needle

La chaîne à rechercher. Elle doit être au format UTF-8 valide.

offset

Le paramètre $offset permet de spécifier la position dans la $haystack de début de recherche, exprimée en graphème (et non pas en octets ou caractères). La position retournée est toujours donnée par rapport au début de $haystack, quelque soit la valeur de $offset.

Valeurs de retour

Retourne la position sous forme d'un entier. Si $needle n'est pas trouvé, grapheme_strrpos() retourne FALSE.

Exemples

Exemple #1 Exemple avec grapheme_strrpos()

< ?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) forme normalisée "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme normalisée "D"

print grapheme_strrpos( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);

?>

L'exemple ci-dessus va afficher :

2

Voir aussi

  • grapheme_stripos() - Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
  • grapheme_stristr() - Retourne la partie d'une chaîne à partir d'une occurrence
  • grapheme_strpos() - Trouve la position du premier graphème
  • grapheme_strripos() - Trouve la position du dernier graphème, insensible à la casse
  • grapheme_strstr() - Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strripos
grapheme_strstr
Fonctions Grapheme


Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse

grapheme_strrpos
grapheme_substr
Fonctions Grapheme
PHP Manual

grapheme_strstr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_strstr — Retourne la partie d'une chaîne à partir d'une occurrence, insensible à la casse

Description

Procedural style

string grapheme_strstr ( string $haystack , string $needle [, bool $before_needle = false ] )

Retourne la partie d'une chaîne à partir de la première occurrence de needle (sensible à la casse), et jusqu'à la fin de la chaîne.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être valide UTF-8.

needle

La chaîne à rechercher. Elle doit être valide UTF-8.

before_needle

Si TRUE, grapheme_strstr() retourne la partie de $haystack avant la première occurrence.

Valeurs de retour

Retourne la portion de la chaîne de caractères ou FALSE si $needle n'est pas trouvé.

Exemples

Exemple #1 Exemple avec grapheme_strstr()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_o_diaeresis_nfd));

?>

L'exemple ci-dessus va afficher :

o%CC%88a%CC%8A

Voir aussi

  • grapheme_stristr() - Retourne la partie d'une chaîne à partir d'une occurrence
  • grapheme_stripos() - Trouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse
  • grapheme_strpos() - Trouve la position du premier graphème
  • grapheme_strripos() - Trouve la position du dernier graphème, insensible à la casse
  • grapheme_strrpos() - Trouve la position du dernier graphème
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strrpos
grapheme_substr
Fonctions Grapheme


Retourne une partie d'une chaîne

grapheme_strstr
Fonctions IDN
Fonctions Grapheme
PHP Manual

grapheme_substr

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

grapheme_substr — Retourne une partie d'une chaîne

Description

Procedural style

int grapheme_substr ( string $string , int $start [, int $length ] )

Retourne une partie d'une chaîne.

Liste de paramètres

string

La chaîne à couper. Doit être UTF-8 et valide.

start

La position de début, en unité par de graphèmes. Si $start est non-négatif, la chaîne retournée va commencer à la position $start dans la chaîne, en comptant à partir de 0. Si $start est négatif, la chaîne retournée va commencer à la position $start en comptant depuis la fin de la chaîne.

length

La taille de la sous-chaîne à extraire, en unités de graphème. Si $length est donné et positif, la chaîne retournée va contenir au plus $length graphèmes, commençant à $start (en fonction de la taille de la chaîne). Si $string est inférieur ou égal à $start graphèmes de long, FALSE sera retourné. Si $length a une valeur négative, alors autant de graphème seront omis à partir de la fin de la chaîne (après que la position de début ait été calculé, lorsque $start est aussi négatif). Si $start dénote une position au-delà de la fin de la chaîne, une chaîne vide sera retournée.

Valeurs de retour

Retourne la partie de chaîne extraite de $string.

Exemples

Exemple #1 Exemple avec grapheme_substr()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

L'exemple ci-dessus va afficher :

a%CC%8Abco%CC%88

Voir aussi

  • grapheme_extract() - Extrait un groupe de graphème d'une chaîne UTF-8
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries

grapheme_strstr
Fonctions IDN
Fonctions Grapheme


Fonctions IDN

Sommaire

  • idn_to_ascii — Convertie un nom de domaine au format IDNA ASCII
  • idn_to_unicode — Alias de idn_to_utf8
  • idn_to_utf8 — Convertit le nom de domaine IDNA ASCII en Unicode
grapheme_substr
idn_to_ascii
intl


Convertie un nom de domaine au format IDNA ASCII

Fonctions IDN
idn_to_unicode
Fonctions IDN
PHP Manual

idn_to_ascii

(PHP 5 >= 5.3.0, PECL intl >= 1.0.2)

idn_to_ascii — Convertie un nom de domaine au format IDNA ASCII

Description

Style procédural

string idn_to_ascii ( string $domain [, int $options ] )

Cette fonction convertit un nom de domaine Unicode au format IDNA ASCII-compatible.

Liste de paramètres

domain

Domaine à convertir. En PHP 5, il doit être encodé UTF-8.

options

Options de conversion - combinaison de constantes IDNA_*.

Valeurs de retour

Le nom de domaine encodé au format ASCII-compatible.

Exemples

Exemple #1 Exemple avec idn_to_ascii()

<?php

echo idn_to_ascii('täst.de');

?>

L'exemple ci-dessus va afficher :

xn--tst-qla.de

Voir aussi

  • idn_to_unicode() - Alias de idn_to_utf8

Fonctions IDN
idn_to_unicode
Fonctions IDN


Alias de idn_to_utf8

idn_to_ascii
idn_to_utf8
Fonctions IDN
PHP Manual

idn_to_unicode

(No version information available, might only be in SVN)

idn_to_unicode — Alias de idn_to_utf8()

Description

Cette fonction est un alias de : idn_to_utf8().

idn_to_ascii
idn_to_utf8
Fonctions IDN


Convertit le nom de domaine IDNA ASCII en Unicode

idn_to_unicode
Fonctions intl
Fonctions IDN
PHP Manual

idn_to_utf8

(PHP 5 >= 5.3.0, PECL intl >= 1.0.2)

idn_to_utf8 — Convertit le nom de domaine IDNA ASCII en Unicode

Description

Style procédural

string idn_to_utf8 ( string $domain [, int $options ] )

Convertit le nom de domaine au format IDNA ASCII-compatible en Unicode.

Liste de paramètres

domain

Domaine à convertir depuis le format IDNA ASCII-compatible.

options

Options de conversion - une combinaison des constantes IDNA_*.

Valeurs de retour

Nom de domaine en Unicode. En PHP5, le nom de domaine sera en UTF-8.

Exemples

Exemple #1 Exemple avec idn_to_utf8()

<?php

echo idn_to_utf8('xn--tst-qla.de');

?>

L'exemple ci-dessus va afficher :

täst.de

Voir aussi

  • idn_to_unicode() - Alias de idn_to_utf8

idn_to_unicode
Fonctions intl
Fonctions IDN


Fonctions intl

Sommaire

  • intl_error_name — Lit le nom symbolique d'un code d'erreur donné
  • intl_get_error_code — Lit le dernier code d'erreur
  • intl_get_error_message — Lit la description de la dernière erreur
  • intl_is_failure — Vérifie si un code d'erreur indique un échec
idn_to_utf8
intl_error_name
intl


Lit le nom symbolique d'un code d'erreur donné

Fonctions intl
intl_get_error_code
Fonctions intl
PHP Manual

intl_error_name

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_error_name — Lit le nom symbolique d'un code d'erreur donné

Description

string intl_error_name ( int $error_code )

Retourne le nom du code d'erreur ICU.

Liste de paramètres

error_code

Le code d'erreur ICU.

Valeurs de retour

La chaîne retournée sera celui du nom de la constante équivalente.

Exemples

Exemple #1 Exemple avec intl_error_name()

<?php
$coll     = collator_create( 'en_RU' );
$err_code = collator_get_error_code( $coll );

printf( "Le nom symbolique de  %d est %s\n.", $err_code, intl_error_name( $err_code ) );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Symbolic name for -128 is U_USING_FALLBACK_WARNING.

Voir aussi

  • intl_is_failure() - Vérifie si un code d'erreur indique un échec
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_get_error_message() - Lit la description de la dernière erreur

Fonctions intl
intl_get_error_code
Fonctions intl


Lit le dernier code d'erreur

intl_error_name
intl_get_error_message
Fonctions intl
PHP Manual

intl_get_error_code

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_get_error_code — Lit le dernier code d'erreur

Description

int intl_get_error_code ( void )

Pratique pour gérer les erreurs qui surviennent dans les méthodes statiques quand il n'y a pas d'objet dont on peut obtenir le message d'erreur.

Valeurs de retour

Le code d'erreur retourné par le dernier appel à l'API.

Exemples

Exemple #1 Exemple avec intl_get_error_code()

<?php
$coll = collator_create( '<bad_param>' );
if( !$coll ) {
    handle_error( intl_get_error_code() );
}
?>

Voir aussi

  • intl_is_failure() - Vérifie si un code d'erreur indique un échec
  • intl_error_name() - Lit le nom symbolique d'un code d'erreur donné
  • intl_get_error_message() - Lit la description de la dernière erreur
  • collator_get_error_code() - Lit la dernière erreur du collator
  • numfmt_get_error_code() - Lit le dernier code d'erreur du formateur

intl_error_name
intl_get_error_message
Fonctions intl


Lit la description de la dernière erreur

intl_get_error_code
intl_is_failure
Fonctions intl
PHP Manual

intl_get_error_message

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_get_error_message — Lit la description de la dernière erreur

Description

string intl_get_error_message ( void )

Lit le message d'erreur de la dernière fonction d'internationalisation appelée.

Valeurs de retour

La description de l'erreur qui est survenue durant le dernier appel de l'API.

Exemples

Exemple #1 Exemple avec intl_get_error_message()

<?php
if( Collator::getAvailableLocales() === false ) {
    show_error( intl_get_error_message() );
}
?>

Voir aussi

  • intl_error_name() - Lit le nom symbolique d'un code d'erreur donné
  • intl_get_error_code() - Lit le dernier code d'erreur
  • intl_is_failure() - Vérifie si un code d'erreur indique un échec
  • collator_get_error_message() - Lit le dernier message d'erreur du collator
  • numfmt_get_error_message() - Lit le dernier message d'erreur du formateur

intl_get_error_code
intl_is_failure
Fonctions intl


Vérifie si un code d'erreur indique un échec

intl_get_error_message
Chaînes de caractères multi-octets
Fonctions intl
PHP Manual

intl_is_failure

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

intl_is_failure — Vérifie si un code d'erreur indique un échec

Description

bool intl_is_failure ( int $error_code )

Liste de paramètres

error_code

une valeur retournée par une des fonctions intl_get_error_code(), collator_get_error_code() .

Valeurs de retour

TRUE si le code indique un échec, et FALSE dans le cas d'une réussite ou d'une alerte.

Exemples

Exemple #1 Exemple avec intl_is_failure()

<?php
function check( $err_code )
{
    var_export( intl_is_failure( $err_code ) );
    echo "\n";
}

check( U_ZERO_ERROR );
check( U_USING_FALLBACK_WARNING );
check( U_ILLEGAL_ARGUMENT_ERROR );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

false
false
true

Voir aussi

  • intl_get_error_code() - Lit le dernier code d'erreur
  • collator_get_error_code() - Lit la dernière erreur du collator
  • Collator-getErrorCode() - Lit la dernière erreur du collator

intl_get_error_message
Chaînes de caractères multi-octets
Fonctions intl


Chaînes de caractères multi-octets

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Jeux de caractères supportés
  • Cas des caractères japonais
  • Entrées/Sorties HTTP
  • Jeux de caractères supportés
  • Exploitation des chaînes multi-octets en PHP
  • Prérequis de l'encodage en PHP
  • Fonctions sur les chaînes de caractères multi-octets
    • mb_check_encoding — Vérifie si une chaîne est valide pour un encodage spécifique
    • mb_convert_case — Modifie la casse d'une chaîne
    • mb_convert_encoding — Conversion d'encodage
    • mb_convert_kana — Convertit un "kana" en un autre ("zen-kaku", "han-kaku" et plus)
    • mb_convert_variables — Convertit l'encodage de variables
    • mb_decode_mimeheader — Décode un en-tête MIME
    • mb_decode_numericentity — Décode les entités HTML en caractères
    • mb_detect_encoding — Détecte un encodage
    • mb_detect_order — Lit/modifie l'ordre de détection des encodages
    • mb_encode_mimeheader — Encode une chaîne pour un en-tête MIM
    • mb_encode_numericentity — Encode des entités HTML
    • mb_encoding_aliases — Récupère les aliases d'un type d'encodage connu
    • mb_ereg_match — Expression rationnelle POSIX pour les chaînes multi-octets
    • mb_ereg_replace — Remplace des segments de chaîne à l'aide des expressions rationnelles
    • mb_ereg_search_getpos — Retourne la position du début du prochain segment repéré par une expression rationnelle
    • mb_ereg_search_getregs — Lit le dernier segment de chaîne multi-octets qui correspond au masque
    • mb_ereg_search_init — Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets
    • mb_ereg_search_pos — Retourne la position et la longueur du segment de chaîne qui vérifie le masque de l'expression rationnelle
    • mb_ereg_search_regs — Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets
    • mb_ereg_search_setpos — Choisit le point de départ de la recherche par expression rationnelle
    • mb_ereg_search — Recherche par expression rationnelle multi-octets
    • mb_ereg — Recherche par expression rationnelle avec support des caractères multi-octets
    • mb_eregi_replace — Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse
    • mb_eregi — Expression rationnelle insensible à la casse avec le support des caractères multi-octets
    • mb_get_info — Lit la configuration interne de l'extension mbstring
    • mb_http_input — Détecte le type d'encodage d'un caractère HTTP
    • mb_http_output — Lit/modifie l'encodage d'affichage
    • mb_internal_encoding — Lit/modifie l'encodage interne
    • mb_language — Lit/modifie le langage courant
    • mb_list_encodings — Retourne un tableau contenant tous les encodages supportés
    • mb_output_handler — Fonction de traitement des affichages
    • mb_parse_str — Analyse les données HTTP GET/POST/COOKIE et assigne les variables globales
    • mb_preferred_mime_name — Détecte l'encodage MIME
    • mb_regex_encoding — Retourne le jeu de caractères courant pour les expressions rationnelles
    • mb_regex_set_options — Lit et modifie les options des fonctions d'expression rationnelle à support de caractères multi-octets
    • mb_send_mail — Envoie un mail encodé
    • mb_split — Scinde une chaîne en tableau avec une expression rationnelle multi-octets
    • mb_strcut — Coupe une partie de chaîne
    • mb_strimwidth — Tronque une chaîne
    • mb_stripos — Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse
    • mb_stristr — Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse
    • mb_strlen — Retourne la taille d'une chaîne
    • mb_strpos — Repère la première occurrence d'un caractère dans une chaîne
    • mb_strrchr — Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre
    • mb_strrichr — Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre, insensible à la casse
    • mb_strripos — Trouve la position de la dernière occurrence d'une chaîne dans une autre, en tenant compte de la casse
    • mb_strrpos — Repère la dernière occurrence d'un caractère dans une chaîne
    • mb_strstr — Trouve la première occurrence d'une chaîne dans une autre
    • mb_strtolower — Met tous les caractères en minuscules
    • mb_strtoupper — Met tous les caractères en majuscules
    • mb_strwidth — Retourne la taille d'une chaîne
    • mb_substitute_character — Lit/modifie les caractères de substitution
    • mb_substr_count — Compte le nombre d'occurrences d'une sous-chaîne
    • mb_substr — Lit une sous-chaîne
intl_is_failure
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

Même si la plupart des langues peuvent être représentées grâce à un jeu de 128 caractères, il y a d'autres langues qui requièrent des jeux de caractères bien plus grands. Des méthodes de caractères multi-octets ont été développées pour résoudre ce type de problème.

Lorsque vous manipulez des chaînes de caractères multi-octets, pour couper, rechercher ou nettoyer une chaîne, vous devez utiliser deux octets consécutifs, qui représentent un seul caractère. Si vous n'y prenez pas garde, vous allez obtenir une chaîne corrompue et invalide, avec une représentation totalement incompréhensible.

mbstring fournit les fonctions spécifiques de manipulations de chaînes qui vous permet de travailler avec les encodages multi-octets en PHP. En plus de cela, mbstring gère la traduction entre les jeux de caractères disponibles. mbstring est également connu pour gérer l'Unicode, comme UTF-8 et UCS-2 ainsi que de nombreux autres jeux mono-octets.

Chaînes de caractères multi-octets
Installation/Configuration
Chaînes de caractères multi-octets


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Chaînes de caractères multi-octets


Installation

mbstring est un module PHP. Vous devez activer le module avec le script de configuration configure. Reportez-vous à la section installation pour plus de détails.

Les options de configurations suivantes sont liées au module mbstring.

  • --enable-mbstring : Active les fonctions mbstring. Cette option est nécessaire pour utiliser les fonctions mbstring.

    libmbfl est nécessaire pour mbstring. libmbfl est inclus avec mbstring. Si libmbfl est déjà installé sur le système, --with-libmbfl[=DIR] peut être spécifié pour utiliser la bibliothèque installée.

    À partir de PHP 4.3.0, l'extension mbstring fournit le support pour le chinois simplifié, le chinois traditionnel, le coréen et le russe en plus du japonais.

    Pour PHP 4.3.3 ou inférieur, pour activer cette fonctionnalité, vous devez fournir une des options
suivantes dans le paramètres LANG de
--with-mbstring=LANG :
--with-mbstring=cn pour le support du chinois simplifié,
--with-mbstring=tw pour le support du chinois traditionnel,
--with-mbstring=kr pour le support du coréen,
--with-mbstring=ru pour le support du russe et
--enable-mbstring=ja pour le support du japonais (par défaut).
Pour activer le support de tous ces encodages, utilisez --enable-mbstring=all.

    Note: Depuis PHP 4.3.4, tous les encodages supportés par libmbfl sont activables avec l'option --enable-mbstring.

  • --enable-mbstr-enc-trans : Active la conversion automatique des données par HTTP, avec le moteur de conversion de mbstring. Si cette option est activée, les données venant du web via HTTP seront converties dans le jeu de caractères mbstring.internal_encoding, automatiquement.

    Note: Depuis PHP 4.3.0, l'option --enable-mbstr-enc-trans sera éliminée, et remplacée par mbstring.encoding_translation. La conversion de jeu de caractères d'entrée HTTP sera activée lorsque cette option sera à On (par défaut, cette option vautOff).

  • --disable-mbregex : Désactive les fonctions d'expressions rationnelles, compatibles avec les caractères multi-octets.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration mbstring
Nom | Défaut | Modifiable | Historique
mbstring.language | "neutral" | PHP_INI_ALL | Disponible depuis PHP 4.3.0; PHP_INI_PERDIR en PHP <= 5.2.6
mbstring.detect_order | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.http_input | "pass" | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
mbstring.substitute_character | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_SYSTEM en PHP <= 4.2.3; PHP_INI_SYSTEM | PHP_INI_PERDIR depuis PHP 4.3 jusqu'à 5.2.6. Disponible depuis PHP 4.2.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Disponible depuis PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Disponible depuis PHP 5.1.2.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mbstring.language chaîne de caractères

Définit le langage utilisé par mbstring. Notez que cette option définit mbstring.internal_encoding mbstring.internal_encoding doit être placé après mbstring.language dans le fichier php.ini

mbstring.encoding_translation booléen

Active la détection et la traduction des données d'entrées HTTP vers le codage interne mbstring.

mbstring.internal_encoding chaîne de caractères

Définit l'encodage interne par défaut.

mbstring.http_input chaîne de caractères

Définit l'encodage de réception HTTP par défaut.

mbstring.http_output chaîne de caractères

Définit l'encodage d'affichage HTTP par défaut.

mbstring.detect_order chaîne de caractères

Définit l'ordre de détection des encodages par défaut. Voir aussi mb_detect_order().

mbstring.substitute_character chaîne de caractères

Définit l'encodage de substitution par défaut : il est utilisé pour les caractères invalides.

mbstring.func_overload chaîne de caractères

Remplace les fonctions de traitement des chaînes par les fonctions mbstring. Voir les fonctions de remplacement pour plus d'informations.

mbstring.strict_detection booléen

Active la détection stricte de l'encodage.

En accord avec » HTML 4.01 specification, les navigateurs sont supposés utiliser le même jeu de caractères lorsqu'ils soumettent un formulaire. Mais, tous les navigateurs ne le font pas. Reportez-vous à la fonction mb_http_input() pour détecter les jeux de caractères utilisés par les navigateurs.

En général, les navigateurs sont suffisamment intelligents pour détecter les jeux de caractères dans le HTML. Néanmoins, il convient de définir le paramètre charset de l'en-tête HTTP Content-Type à la valeur fournie par la fonction header() ou par l'option de configuration default_charset.

Exemple #1 Configuration de php.ini pour mbstring

; Langage par défaut
mbstring.language        = Neutral; (UTF-8) (par défaut)
mbstring.language        = English; Anglais
mbstring.language        = Japanese; Japonais

;; Jeu de caractère interne
;; Note : assurez-vous que ce jeu fonctionne avec PHP
mbstring.internal_encoding    = UTF-8

;; Activation de la conversion automatique des entrées HTTP
mbstring.encoding_translation = On

;; Jeu de caractères par défaut pour les données d'entrée HTTP
;; Note : le script ne peux pas changer cette configuration
mbstring.http_input           = pass    ; Aucune conversion.
mbstring.http_input           = auto    ; Utilise auto
                                ; "auto" est remplacé par "ASCII,JIS,UTF-8,EUC-JP,SJIS"
mbstring.http_input           = SJIS    ; Utilise SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Spécifie l'ordre

;;Jeu de caractères par défaut pour les données de sortie HTTP
mbstring.http_output          = pass    ; Aucune conversion
mbstring.http_output          = UTF-8   ; Utilise UTF-8

;; Ordre de détection des jeux de caractères
mbstring.detect_order         = auto    ; Utilise la détection automatique
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Spécifie l'ordre

;; Déterminer le jeu de caractères de substitution par défaut
mbstring.substitute_character = 12307   ; Spécifie une valeur Unicode
mbstring.substitute_character = none    ; Ne pas afficher de caractères
mbstring.substitute_character = long    ; Exemple complet : U+3000,JIS+7E7E

Exemple #2 Configuration de php.ini pour les utilisateurs de EUC-JP

;; Désactive la bufferisation de sortie
output_buffering      = Off

;; Choisit le jeu de caractères
default_charset       = EUC-JP

;; Le langage par défaut est le japonais
mbstring.language = Japanese

;; Activation de la traduction automatique des données d'entrée HTTP
mbstring.encoding_translation = On

;; Activation de la conversion automatique
mbstring.http_input   = auto

;; Convertit les sorties en EUC-JP
mbstring.http_output  = EUC-JP

;; Utilise le jeu de caractères interne EUC-JP
mbstring.internal_encoding = EUC-JP

;; Ne pas afficher les caractères invalides
mbstring.substitute_character = none

Exemple #3 Configuration de php.ini pour les utilisateurs de SJIS

;; Active la bufferisation de sortie
output_buffering     = On

;; Utilise le gestionnaire mb_output_handler pour la conversion de sortie
output_handler       = mb_output_handler

;; Choisit le jeu de caractères
default_charset      = Shift_JIS

;; Le langage par défaut est le japonais
mbstring.language = Japanese

;; Activation de la traduction automatique des données d'entrée HTTP
mbstring.http_input  = auto

;; Convertit en SJIS
mbstring.http_output = SJIS

;;Utilise le jeu de caractères interne EUC-JP
mbstring.internal_encoding = EUC-JP

;; Ne pas afficher les caractères invalides
mbstring.substitute_character = none

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MB_OVERLOAD_MAIL (entier)
MB_OVERLOAD_STRING (entier)
MB_OVERLOAD_REGEX (entier)
MB_CASE_UPPER (entier)
MB_CASE_LOWER (entier)
MB_CASE_TITLE (entier)
Types de ressources
Jeux de caractères supportés
Chaînes de caractères multi-octets


Jeux de caractères supportés

Jeux de caractères supportés
Nom dans le registre IANA:ISO-10646-UCS-4
Jeux de caractères:ISO 10646
Description: Le jeu de caractères universel (Universal Character Set), avec 31 bits par caractère, au standard UCS-4 par ISO/IEC 10646. Il est synchronisé avec la dernière version d'Unicode.
Notes: Si ce nom est utilisé dans l'outil de conversion, le convertisseur essaie de reconnaître le texte à partir du dernier BOM (byte order mark), pour connaître l'ordre des bits.
Nom dans le registre IANA:ISO-10646-UCS-4
Jeux de caractères:UCS-4
Description: Voir ci-dessus.
Notes: Contrairement à UCS-4, les chaînes sont supposées être au format big endian.
Nom dans le registre IANA:ISO-10646-UCS-4
Jeux de caractères:UCS-4
Description: Voir ci-dessus.
Notes: Contrairement à UCS-2, les chaînes sont supposées être au format little endian.
Nom dans le registre IANA:ISO-10646-UCS-2
Jeux de caractères:UCS-2
Description: Le jeu de caractères universel (Universal Character Set), avec 16 bits par caractère, au standard UCS-2 par ISO/IEC 10646. Il est synchronisé avec la dernière version d'Unicode.
Notes: Si ce nom est utilisé dans l'outil de conversion, le convertisseur essaie de reconnaître le texte à partir du dernier BOM (byte order mark), pour connaître l'ordre des bits.
Nom dans le registre IANA:ISO-10646-UCS-2
Jeux de caractères:UCS-2
Description: Voir ci-dessus.
Notes: Contrairement à UCS-4, les chaînes sont supposées être au format big endian.
Nom dans le registre IANA:UTF-32
Jeux de caractères:Unicode
Description: Format de transformation d'Unicode, de 32 bits, dont les cartes correspondent au jeu stantder Unicode. Ce jeu n'est pas identique à UCS-4 car les caractères Unicode étaient limités à des valeurs de 21 bits.
Notes: Si ce nom est utilisé dans l'outil de conversion, le convertisseur essaie de reconnaître le texte à partir du dernier BOM (byte order mark), pour connaître l'ordre des bits.
Nom dans le registre IANA:UTF-32BE
Jeux de caractères:Unicode
Description: Voir ci-dessus.
Notes: Contrairement à UTF-32, les chaînes sont supposées être au format big endian.
Nom dans le registre IANA:UTF-32LE
Jeux de caractères:Unicode
Description: Voir ci-dessus.
Notes: Contrairement à UTF-32, les chaînes sont supposées être au format little endian.
Nom dans le registre IANA:UTF-16
Jeux de caractères:Unicode
Description: Format de transformation d'Unicode sur 16 bits. Il faut noter que UTF-16 n'est plus identique à UCS-2 car un mécanisme a été introduit en Unicode 2.0 et UTF-16 fait maintenant référence à un codage de 21 bits.
Notes: Si ce nom est utilisé dans l'outil de conversion, le convertisseur essaie de reconnaître le texte à partir du dernier BOM (byte order mark), pour connaître l'ordre des bits.
Nom dans le registre IANA:UTF-16BE
Jeux de caractères:Unicode
Description: Voir ci-dessus.
Notes: Contrairement à UTF-16, les chaînes sont supposées être au format little endian.
Nom dans le registre IANA:UTF-16LE
Jeux de caractères:Unicode
Description: Voir ci-dessus.
Notes: Contrairement à UTF-16, les chaînes sont supposées être au format big endian.
Nom dans le registre IANA:UTF-8
Jeux de caractères:Unicode / UCS
Description: Format de transformation Unicode de 8 bits.
Notes:none
Nom dans le registre IANA:UTF-7
Jeux de caractères:Unicode
Description: Un format compatible avec le courrier électronique d'Unicode, spécifié dans » RFC2152.
Notes:none
Nom dans le registre IANA:aucun
Jeux de caractères:Unicode
Description: Une variante d'UTF-7 qui est spécialement utilisée dans le » protocole IMAP.
Notes:none
Nom dans le registre IANA: US-ASCII (recommandé) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII
Jeux de caractères:ASCII / ISO 646
Description: ASCII, American Standard Code for Information Interchange est un format classique de 7 bits. Il est aussi normalisé internationalement, sous le nom ISO 646.
Notes:(none)
Nom dans le registre IANA: EUC-JP (recommandé) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese
Jeux de caractères: Composé de US-ASCII / JIS X0201:1997 (hankaku kana) / JIS X0208:1990 / JIS X0212:1990
Description: Comme vous le voyez, le nom est dérivé de l'abréviation de Extended UNIX Code Packed Format for Japanese, ce jeu est essentiellement utilisé sur les plates-formes Unix. Le jeu original, Extended UNIX Code, est conçu sur la base de ISO 2022.
Notes: Le jeu identifié par EUC-JP est différent de IBM932 / CP932, qui est utilisé par OS/2® et Microsoft® Windows®. Pour échanger des informations avec ces plates-formes, utilisez EUCJP-WIN.
Nom dans le registre IANA:Shift_JIS (recommandé) / MS_Kanji / csShift_JIS
Jeux de caractères:Composé de JIS X0201:1997 / JIS X0208:1997
Description: Shift_JIS a été développé au début des années 80, et, au même moment, les premiers traitements de textes étaient mis sur le marché. Il a été fait pour conserver la compatibilité avec le jeu JIS X 0201:1976. Selon la définition de l'IANA, le jeu de caractères Shift_JIS est légèrement différent de IBM932 / CP932. Cependant, les noms "SJIS" et "Shift_JIS" sont souvent utilisés à tort, pour ces jeux.
Notes:Pour CP932, utilisez SJIS-WIN.
Nom dans le registre IANA:(none)
Jeux de caractères: Composé de JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Description: Même si ce "jeu de caractères" utilise le même jeu que EUC-JP, il est en fait différent. Il a juste quelques caractères de différence.
Notes:none
Nom dans le registre IANA:Windows-31J / csWindows31J
Jeux de caractères: Composé de JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Description: Même si ce "jeu de caractères" utilise le même jeu que Shift_JIS, il est en fait différent. Il a juste quelques caractères de différence.
Notes:(none)
Nom dans le registre IANA:ISO-2022-JP (recommandé) / csISO2022JP
Jeux de caractères: US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983
Description: » RFC1468
Notes:aucun
Nom dans le registre IANA:JIS
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-1
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-2
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-3
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-4
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-5
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-6
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-7
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-8
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-9
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-10
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-13
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-14
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-8859-15
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:byte2be
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:byte2le
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:byte4be
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:byte4le
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:BASE64
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:HTML-ENTITIES
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:7bit
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:8bit
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:EUC-CN
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:CP936
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:HZ
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:EUC-TW
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:CP950
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:BIG-5
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:EUC-KR
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:UHC (CP949)
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:ISO-2022-KR
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:Windows-1251 (CP1251)
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:Windows-1252 (CP1252)
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:CP866 (IBM866)
Jeux de caractères:
Description:
Notes:
Nom dans le registre IANA:KOI8-R
Jeux de caractères:
Description:
Notes:
Constantes pré-définies
Cas des caractères japonais
Chaînes de caractères multi-octets


Cas des caractères japonais

Les caractères japonais ne peuvent être représentés qu'avec des encodages multi-octets et les standards d'encodage multiple sont utilisés suivant la plate-forme et le texte de référence. Pour facilité les choses, ces standards d'encodages diffèrent légèrement les uns des autres. Pour développer des applications Web en environnement japonais, le développeur devra garder à l'esprit ces complexités afin de s'assurer que l'encodage de caractères correct est utilisé.

  • La taille nécessaire à un caractère peut aller jusqu'à 4 octets.
  • Un caractère japonais multi-octets occupe généralement deux octets, à comparer avec les caractères mono-octet traditionnellement utilisés. Ces caractères sont appelés "zen-kaku", ce qui signifie "grande largeur". Les plus petits sont appelés "han-kaku", ce qui signifie "demi-largeur".
  • Certains encodages de caractères utilisent des séquences "shift" (escape) définies dans la référence ISO-2022 pour basculer vers la carte d'encodage du code spécifique (00h à 7fh).
  • ISO-2022-JP doit être utilisé pour les protocoles SMTP/NNTP, et les en-têtes ainsi que les entités devraient être réencodés en accord avec la RFC correspondante. Bien que cela ne soit pas requis, ça reste une bonne idée car beaucoup de user-agent (agents utilisateurs) populaires ne peuvent pas reconnaître d'autre méthode d'encodage.
  • Les pages Web créées pour les téléphones portables comme » i-mode, » Vodafone live!, ou » EZweb sont supposées utiliser l'encodage Shift_JIS.

Jeux de caractères supportés
Entrées/Sorties HTTP
Chaînes de caractères multi-octets


Entrées/Sorties HTTP

La conversion automatique des entrées/sorties HTTP peut aussi convertir des données binaires. Les utilisateurs doivent contrôler les conversions, si des données binaires doivent être utilisées via HTTP.

Note: Depuis la version 4.3.2 de PHP, il y a une limitation dans l'utilisation des fonctionnalités mbstring : l'encodage ne sera pas effectué dans les données transmises en méthode POST si l'attribut enctype de la balise form vaut multipart/form-data. Donc, vous devrez convertir les données entrantes vous-même dans ce cas, si nécessaire.
Depuis la version 4.3.3 de PHP, si l'attribut enctype de la balise form vaut multipart/form-data et que la directive du php.ini est positionnée à On, les variables et les noms de fichiers téléchargés en méthode POST seront convertis avec l'encodage interne. Sinon, la conversion ne sera pas faite.

  • Entrée HTTP

    Il n'y a pas de moyens de contrôler la conversion des caractères HTTP en entrée, depuis un script PHP. Pour désactiver cette conversion, il faut le faire dès le fichier php.ini.

    Exemple #1 Désactive la conversion HTTP dans le php.ini

    ;; Disable HTTP Input conversion
    mbstring.http_input = pass
    ;; Disable HTTP Input conversion (PHP 4.3.0 or higher)
    mbstring.encoding_translation = Off

    Lorsque vous utilisez PHP comme module Apache, il est possible d'annuler la configuration du php.ini pour chaque Virtual Host dans le fichier httpd.conf ou par dossier avec le fichier .htaccess. Reportez-vous à la section de configuration ainsi qu'au manuel Apache.

  • Sorties HTTP

    Il y a plusieurs moyens d'activer la conversion en sortie de script PHP. L'un d'entre eux utilise php.ini, un autre utilise ob_start() avec la fonction mb_output_handler() comme fonction de rappel.

Exemple #2 Exemple de configuration de mbstring dans php.ini

;; Enable output character encoding conversion for all PHP pages

;; Enable Output Buffering
output_buffering    = On

;; Set mb_output_handler to enable output conversion
output_handler      = mb_output_handler

Exemple #3 Exemple de script avec mbstring

<?php

// Enable output character encoding conversion only for this page

// Set HTTP output character encoding to SJIS
mb_http_output('SJIS');

// Start buffering and specify "mb_output_handler" as
// callback function
ob_start('mb_output_handler');

?>

Cas des caractères japonais
Jeux de caractères supportés
Chaînes de caractères multi-octets


Jeux de caractères supportés

Actuellement, les jeux de caractères suivants sont supportés par mbstring. L'encodage de caractère peut être spécifié par les paramètres encoding dans les fonctions mbstring.

Les jeux de caractères suivants sont supportés par mbstring :

  • UCS-4*
  • UCS-4BE
  • UCS-4LE*
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32*
  • UTF-32BE*
  • UTF-32LE*
  • UTF-16*
  • UTF-16BE*
  • UTF-16LE*
  • UTF-7
  • UTF7-IMAP
  • UTF-8*
  • ASCII*
  • EUC-JP*
  • SJIS*
  • eucJP-win*
  • SJIS-win*
  • ISO-2022-JP
  • JIS
  • ISO-8859-1*
  • ISO-8859-2*
  • ISO-8859-3*
  • ISO-8859-4*
  • ISO-8859-5*
  • ISO-8859-6*
  • ISO-8859-7*
  • ISO-8859-8*
  • ISO-8859-9*
  • ISO-8859-10*
  • ISO-8859-13*
  • ISO-8859-14*
  • ISO-8859-15*
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES
  • 7bit
  • 8bit
  • EUC-CN*
  • CP936
  • HZ
  • EUC-TW*
  • CP950
  • BIG-5*
  • EUC-KR*
  • UHC (CP949)
  • ISO-2022-KR
  • Windows-1251 (CP1251)
  • Windows-1252 (CP1252)
  • CP866 (IBM866)
  • KOI8-R*

* : encodages également utilisables dans les expressions rationnelles.

Toutes les entrées du php.ini qui acceptent un nom d'encodage peuvent également utiliser les valeurs "auto" et "pass". Les fonctions mbstring, qui acceptent des noms de jeux de caractères, peuvent également utiliser la valeur "auto".

Si "pass" est utilisée, aucune conversion n'est effectuée.

Si "auto" est défini, la liste sera étendue à la liste des encodages définis par NLS. Par exemple, si NLS vaut Japanese, les valeurs seront "ASCII,JIS,UTF-8,EUC-JP,SJIS".

Voir aussi mb_detect_order().

Entrées/Sorties HTTP
Exploitation des chaînes multi-octets en PHP
Chaînes de caractères multi-octets


Exploitation des chaînes multi-octets en PHP

Vous pourriez trouver difficile de faire fonctionner une application PHP existante dans un environnement multi-octets. Ceci est dû au fait que la plupart des applications PHP sont écrites avec des fonctions de chaînes de caractères standards comme la fonction substr(), qui est connue pour ne pas gérer proprement les chaînes multi-octets.

Mbstring supporte aussi la surcharge de fonctions, pour permettre le support des chaînes multi-octets sans modifier les scripts PHP. En utilisant ce système de surcharge de fonctions, certaines fonctions PHP seront remplacées par leur équivalent de mbstring. Par exemple mb_substr() remplacera substr(). Ce système de remplacement transparent, permet un portage simple et efficace des applications.

Pour utiliser la surcharge de fonctions, définissez mbstring.func_overload, dans le php.ini, à une valeur positive qui représente une combinaison de masques d'octets spécifiant les catégories de fonctions à surcharger. Il doit être définit à 1 pour surcharger la fonction mail(), 2 pour les fonction de chaînes, 4 pour les fonctions d'expression rationnelles. Par exemple, avec la valeur 7, toutes les fonctions précédentes seront surchargées. Voici la liste complète des fonctions surchargées, avec leur fonction de remplacement.

Fonctions de remplacement
Valeur de mbstring.func_overload | Fonction originale | Fonction de remplacement
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | stripos() | mb_stripos()
2 | strripos() | mb_strripos()
2 | strstr() | mb_strstr()
2 | stristr() | mb_stristr()
2 | strrchr() | mb_strrchr()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

Note: Il n'est pas recommandé d'utiliser le remplacement des fonctions mbstring dans un contexte de per-directory, car il n'est pas confirmé encore qu'elles sont suffisamment stables dans un environnement de production et peuvent conduire à des résultats incohérents.

Jeux de caractères supportés
Prérequis de l'encodage en PHP
Chaînes de caractères multi-octets


Prérequis de l'encodage en PHP

Les jeux de caractères suivants sont bien supportés par PHP.

  • Jeux de caractères mono-octets :

    • qui sont compatibles avec la norme ASCII (compatible ISO646) pour les caractères de l'intervalle 00h à 7fh.

  • Jeux de caractères multi-octets :

    • qui sont compatibles avec la norme ASCII (compatible ISO646) pour les caractères de l'intervalle 00h à 7fh.
    • qui n'utilisent pas les séquences de type ISO2022.
    • qui n'utilisent pas de valeur dans l'intervalle 00h à 7fh dans les séquences composées, qui représentent un caractère unique.

Les jeux de caractères suivants risquent de ne pas fonctionner en PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Même si aucun script PHP écrit avec ces jeux de caractères ne fonctionne, notamment si des chaînes encodées sont utilisées comme identifiants, ou valeurs littérales dans le script, vous pouvez éviter d'utiliser ces jeux en activant le filtre transparent mbstring pour les données d'entrées HTTP.

Note: Il est déconseillé d'utiliser les jeux SJIS, BIG5, CP936, CP949 et GB18030 pour l'encodage interne, à moins que vous ne soyez très familiers avec l'analyseur, l'exécuteur et le jeu de caractère lui-même.

Note: Si vous vous connectez à une base de données avec PHP, il est recommandé d'utiliser le même jeu de caractères pour la base de données et pour le jeu interne pour améliorer le confort d'utilisation mais aussi les performances.
Si vous utilisez PostGreSQL, le jeu de caractères utilisé dans la base de données et celui de PHP peuvent différer car cette base supporte la traduction automatique de jeu de caractères.

Exploitation des chaînes multi-octets en PHP
Fonctions sur les chaînes de caractères multi-octets
Chaînes de caractères multi-octets


Fonctions sur les chaînes de caractères multi-octets

Références

Les jeux de caractères multi-octets et leurs techniques sont très complexes et ne peuvent être traités totalement dans cette documentation. Reportez-vous aux URL suivantes pour d'autres ressources complémentaires :

  • Unicode/UTF/UCS/etc

    » http://www.unicode.org/

  • Japonais/coréen/Chinois

    » http://examples.oreilly.com/cjkvinfo/doc/cjk.inf

Sommaire

  • mb_check_encoding — Vérifie si une chaîne est valide pour un encodage spécifique
  • mb_convert_case — Modifie la casse d'une chaîne
  • mb_convert_encoding — Conversion d'encodage
  • mb_convert_kana — Convertit un "kana" en un autre ("zen-kaku", "han-kaku" et plus)
  • mb_convert_variables — Convertit l'encodage de variables
  • mb_decode_mimeheader — Décode un en-tête MIME
  • mb_decode_numericentity — Décode les entités HTML en caractères
  • mb_detect_encoding — Détecte un encodage
  • mb_detect_order — Lit/modifie l'ordre de détection des encodages
  • mb_encode_mimeheader — Encode une chaîne pour un en-tête MIM
  • mb_encode_numericentity — Encode des entités HTML
  • mb_encoding_aliases — Récupère les aliases d'un type d'encodage connu
  • mb_ereg_match — Expression rationnelle POSIX pour les chaînes multi-octets
  • mb_ereg_replace — Remplace des segments de chaîne à l'aide des expressions rationnelles
  • mb_ereg_search_getpos — Retourne la position du début du prochain segment repéré par une expression rationnelle
  • mb_ereg_search_getregs — Lit le dernier segment de chaîne multi-octets qui correspond au masque
  • mb_ereg_search_init — Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets
  • mb_ereg_search_pos — Retourne la position et la longueur du segment de chaîne qui vérifie le masque de l'expression rationnelle
  • mb_ereg_search_regs — Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets
  • mb_ereg_search_setpos — Choisit le point de départ de la recherche par expression rationnelle
  • mb_ereg_search — Recherche par expression rationnelle multi-octets
  • mb_ereg — Recherche par expression rationnelle avec support des caractères multi-octets
  • mb_eregi_replace — Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse
  • mb_eregi — Expression rationnelle insensible à la casse avec le support des caractères multi-octets
  • mb_get_info — Lit la configuration interne de l'extension mbstring
  • mb_http_input — Détecte le type d'encodage d'un caractère HTTP
  • mb_http_output — Lit/modifie l'encodage d'affichage
  • mb_internal_encoding — Lit/modifie l'encodage interne
  • mb_language — Lit/modifie le langage courant
  • mb_list_encodings — Retourne un tableau contenant tous les encodages supportés
  • mb_output_handler — Fonction de traitement des affichages
  • mb_parse_str — Analyse les données HTTP GET/POST/COOKIE et assigne les variables globales
  • mb_preferred_mime_name — Détecte l'encodage MIME
  • mb_regex_encoding — Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_regex_set_options — Lit et modifie les options des fonctions d'expression rationnelle à support de caractères multi-octets
  • mb_send_mail — Envoie un mail encodé
  • mb_split — Scinde une chaîne en tableau avec une expression rationnelle multi-octets
  • mb_strcut — Coupe une partie de chaîne
  • mb_strimwidth — Tronque une chaîne
  • mb_stripos — Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse
  • mb_stristr — Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse
  • mb_strlen — Retourne la taille d'une chaîne
  • mb_strpos — Repère la première occurrence d'un caractère dans une chaîne
  • mb_strrchr — Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre
  • mb_strrichr — Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre, insensible à la casse
  • mb_strripos — Trouve la position de la dernière occurrence d'une chaîne dans une autre, en tenant compte de la casse
  • mb_strrpos — Repère la dernière occurrence d'un caractère dans une chaîne
  • mb_strstr — Trouve la première occurrence d'une chaîne dans une autre
  • mb_strtolower — Met tous les caractères en minuscules
  • mb_strtoupper — Met tous les caractères en majuscules
  • mb_strwidth — Retourne la taille d'une chaîne
  • mb_substitute_character — Lit/modifie les caractères de substitution
  • mb_substr_count — Compte le nombre d'occurrences d'une sous-chaîne
  • mb_substr — Lit une sous-chaîne
Prérequis de l'encodage en PHP
mb_check_encoding
Chaînes de caractères multi-octets


Vérifie si une chaîne est valide pour un encodage spécifique

Fonctions sur les chaînes de caractères multi-octets
mb_convert_case
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3)

mb_check_encoding — Vérifie si une chaîne est valide pour un encodage spécifique

Description

bool mb_check_encoding ([ string $var = NULL [, string $encoding = mb_internal_encoding() ]] )

Vérifie si le flux d'octets est valide pour l'encodage spécifique.

Liste de paramètres

var

Le flux d'octets à vérifier. Si elle est omise, cette fonction vérifie toutes les entrées depuis le début de la requête.

encoding

Encodage attendu.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Fonctions sur les chaînes de caractères multi-octets
mb_convert_case
Fonctions sur les chaînes de caractères multi-octets


Modifie la casse d'une chaîne

mb_check_encoding
mb_convert_encoding
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5)

mb_convert_case — Modifie la casse d'une chaîne

Description

string mb_convert_case ( string $str , int $mode = MB_CASE_UPPER [, string $encoding = mb_internal_encoding() ] )

Effectue la modification de la casse de la chaîne spécifiée, suivant le mode spécifié.

Liste de paramètres

str

La chaîne à convertir.

mode

Le mode de conversion. Peut être un parmi : MB_CASE_UPPER, MB_CASE_LOWER, ou MB_CASE_TITLE.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

La chaîne dont la casse a été changée, suivant le mode fourni.

Unicode

Contrairement aux fonctions standards comme strtolower() et strtoupper(), la modification est réalisée en se basant sur le dictionnaire Unicode. Par conséquent, le comportement de cette fonction n'est pas modifié par des configurations locales, et il peut convertir n'importe quelle caractère qui a des propriétés alphabétiques, comme le a majuscule tréma (A-umlaut, Ä).

Pour plus d'informations sur les propriétés de l'Unicode, visitez le site de » http://www.unicode.org/unicode/reports/tr21/.

Exemples

Exemple #1 Exemple avec mb_convert_case()

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Affiche : MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Affiche : Mary Had A Little Lamb And She Loved It So
?>

Exemple #2 Exemple avec mb_convert_case() avec du texte UTF-8 non latin

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Affiche ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Affiche Τάχιστη Αλώπηξ Βαφήσ Ψημένη Γη, Δρασκελίζει Υπέρ Νωθρού Κυνόσ
?>

Voir aussi

  • mb_strtolower() - Met tous les caractères en minuscules
  • mb_strtoupper() - Met tous les caractères en majuscules
  • strtolower() - Renvoie une chaîne en minuscules
  • strtoupper() - Renvoie une chaîne en majuscules
  • ucfirst() - Met le premier caractère en majuscule
  • ucwords() - Met en majuscule la première lettre de tous les mots

mb_check_encoding
mb_convert_encoding
Fonctions sur les chaînes de caractères multi-octets


Conversion d'encodage

mb_convert_case
mb_convert_kana
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_encoding — Conversion d'encodage

Description

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

Convertit la chaîne str depuis l'encodage from_encoding vers l'encodage to_encoding.

Liste de paramètres

str

La chaîne à encoder.

to_encoding

Le type d'encodage utilisé pour la conversion de la chaîne str.

from_encoding

Spécifié par le nom de code des caractères, avant la conversion. Il est soit un tableau, ou une liste séparée par une virgule. Si from_encoding n'est pas spécifié, l'encodage interne sera utilisé.

"auto" peut être utilisé, qui étend les possibilités à "ASCII,JIS,UTF-8,EUC-JP,SJIS".

Valeurs de retour

La chaîne encodée.

Exemples

Exemple #1 Exemple avec mb_convert_encoding()

<?php
/* Convertit l'encodage interne vers SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convertit EUC-JP en UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Détecte automatiquement un encodage entre JIS, eucjp-win ou sjis-win,
   Puis convertit en UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" signifie "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

Voir aussi

  • mb_detect_order() - Lit/modifie l'ordre de détection des encodages

mb_convert_case
mb_convert_kana
Fonctions sur les chaînes de caractères multi-octets


Convertit un "kana" en un autre ("zen-kaku", "han-kaku" et plus)

mb_convert_encoding
mb_convert_variables
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_kana — Convertit un "kana" en un autre ("zen-kaku", "han-kaku" et plus)

Description

string mb_convert_kana ( string $str [, string $option = "KV" [, string $encoding ]] )

Effectue une conversion "han-kaku" - "zen-kaku" sur la chaîne str. Cette fonction est uniquement utile pour les japonais.

Liste de paramètres

str

La chaîne à convertir.

option

L'option de conversion.

Spécifiez les conversions en combinant les valeurs suivantes.

Options de conversions disponibles
Option | Signification
r | Convertit l'alphabet "zen-kaku" en "han-kaku"
R | Convertit l'alphabet "han-kaku" en "zen-kaku"
n | Convertit les nombres "zen-kaku" en "han-kaku"
N | Convertit les nombres "han-kaku" en "zen-kaku"
a | Convertit les nombres et alphabet "zen-kaku" en "han-kaku"
A | Convertit les nombres et alphabet "zen-kaku" en "han-kaku". (Les caractères inclus dans les options "a", "A" sont U+0021 - U+007E en excluant U+0022, U+0027, U+005C, U+007E)
s | Convertit "zen-kaku" en "han-kaku" (U+3000 -> U+0020)
S | Convertit "han-kaku" en "zen-kaku" (U+0020 -> U+3000)
k | Convertit "zen-kaku kata-kana" en "han-kaku kata-kana"
K | Convertit "han-kaku kata-kana" en "zen-kaku kata-kana"
h | Convertit "zen-kaku hira-gana" en "han-kaku kata-kana"
H | Convertit "han-kaku kata-kana" en "zen-kaku hira-gana"
c | Convertit "zen-kaku kata-kana" en "zen-kaku hira-gana"
C | Convertit "zen-kaku hira-gana" en "zen-kaku kata-kana"
V | Supprime les notations vocales, et les convertit en caractères. À utiliser avec "K","H"

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

La chaîne convertie.

Exemples

Exemple #1 Exemple avec mb_convert_kana()

<?php
/* Convertit tous les "kana" en "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convertit "han-kaku" "kata-kana" en "zen-kaku" "kata-kana"
   et "zen-kaku" alpha-numeric en "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>

mb_convert_encoding
mb_convert_variables
Fonctions sur les chaînes de caractères multi-octets


Convertit l'encodage de variables

mb_convert_kana
mb_decode_mimeheader
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_variables — Convertit l'encodage de variables

Description

string mb_convert_variables ( string $to_encoding , mixed $from_encoding , mixed &$vars [, mixed &$... ] )

Convertit l'encodage des variables vars depuis l'encodage from_encoding vers l'encodage to_encoding

mb_convert_variables() place les chaînes dans un tableau ou un objet pour détecter l'encodage, mais la détection a tendance à échouer pour les chaînes de caractères de petites tailles. De ce fait, il est impossible de mixer les encodages dans un tableau ou un objet "simple".

Liste de paramètres

to_encoding

L'encodage dans lequel la chaîne doit être convertie.

from_encoding

from-encoding est une liste d'encodages possibles pour les variables vars, fourni sous forme d'un tableau ou d'une liste d'encodages, séparés par des virgules. Si from_encoding est omis, les encodages fournis dans mb_detect_order() sont utilisés.

vars

vars est une référence sur une variable à convertir. Les chaînes, tableaux et objets sont aussi supportés. mb_convert_variables() prend tous ces paramètres avec le même encodage.

...

Variables additionnelles.

Valeurs de retour

L'encodage avant conversion en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mb_convert_variables()

<?php
/* Convertit les variables $post1, $post2 en encodage interne */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

mb_convert_kana
mb_decode_mimeheader
Fonctions sur les chaînes de caractères multi-octets


Décode un en-tête MIME

mb_convert_variables
mb_decode_numericentity
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_mimeheader — Décode un en-tête MIME

Description

string mb_decode_mimeheader ( string $str )

Décode la chaîne encodée str dans l'en-tête MIME.

Liste de paramètres

str

La chaîne à décoder.

Valeurs de retour

La chaîne décodée, avec un encodage interne.

Voir aussi

  • mb_encode_mimeheader() - Encode une chaîne pour un en-tête MIM

mb_convert_variables
mb_decode_numericentity
Fonctions sur les chaînes de caractères multi-octets


Décode les entités HTML en caractères

mb_decode_mimeheader
mb_detect_encoding
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_numericentity — Décode les entités HTML en caractères

Description

string mb_decode_numericentity ( string $str , array $convmap , string $encoding )

Convertit la chaîne d'entités HTML str en chaîne.

Liste de paramètres

str

La chaîne à décoder.

convmap

convmapest un tableau qui spécifie les codes à convertir.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

La chaîne convertie.

Exemples

Exemple #1 Exemple avec convmap

$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN)
// Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis
// il convertit la valeur obtenue en entité numérique

Voir aussi

  • mb_encode_numericentity() - Encode des entités HTML

mb_decode_mimeheader
mb_detect_encoding
Fonctions sur les chaînes de caractères multi-octets


Détecte un encodage

mb_decode_numericentity
mb_detect_order
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_encoding — Détecte un encodage

Description

string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )

Détecte l'encodage utilisé par la chaîne str.

Liste de paramètres

str

La chaîne à analyser.

encoding_list

encoding_list est une liste d'encodages, sous forme de tableau, ou bien de chaîne, les valeurs étant séparées par des virgules.

Si encoding_list est omis, l'ordre spécifié par mb_detect_order() est utilisé.

strict

strict spécifie si l'on doit utiliser une détection de l'encodage strict ou non. Par défaut, vaut FALSE.

Valeurs de retour

L'encodage détecté ou FALSE si l'encodage ne peut être détecté pour la chaîne de caractères donnée.

Exemples

Exemple #1 Exemple avec mb_detect_encoding()

<?php
/* Détecte l'encodage avec les valeurs par défaut */
echo mb_detect_encoding($str);

/* "auto" signifie "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
echo mb_detect_encoding($str, "auto");

/* Spécifie une liste d'encodages possibles avec une liste à virgules */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Spécifie une liste d'encodages possibles avec un tableau  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

Voir aussi

  • mb_detect_order() - Lit/modifie l'ordre de détection des encodages

mb_decode_numericentity
mb_detect_order
Fonctions sur les chaînes de caractères multi-octets


Lit/modifie l'ordre de détection des encodages

mb_detect_encoding
mb_encode_mimeheader
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_order — Lit/modifie l'ordre de détection des encodages

Description

mixed mb_detect_order ([ mixed $encoding_list ] )

Remplace l'ordre de détection des encodages courant par encoding_list.

Liste de paramètres

encoding_list

encoding_list est un tableau, ou une liste d'encodages séparés par une virgule. La valeur "auto" est automatiquement remplacée par "ASCII, JIS, UTF-8, EUC-JP, SJIS".

Si encoding_list est omis, mb_detect_order() retourne l'ordre de détection courant des encodages dans un tableau.

Ce paramétrage affecte les fonctions mb_detect_encoding() et mb_send_mail().

Actuellement, mbstring supporte les filtres de détections ci-dessous. Si une séquence d'octets est invalide pour l'un des filtres suivants, la détection échouera.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

Pour ISO-8859-*, mbstring détecte toujours ISO-8859-*.

Pour UTF-16, UTF-32, UCS2 et UCS4 la détection échouera toujours.

Exemple #1 Exemple d'ordre de détection inutile

; Toujours détecté comme ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Toujours détecté comme UTF-8, depuis que les valeurs ASCII/UTF-7
; sont valides pour UTF-8
detect_order = UTF-8, ASCII, UTF-7

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #2 Exemple avec mb_detect_order()

<?php
/* Remplace l'ordre de détection par une liste énumérée */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Remplace l'ordre de détection par un tableau */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Affiche l'ordre de détection courant */
echo implode(", ", mb_detect_order());
?>

Voir aussi

  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • mb_http_input() - Détecte le type d'encodage d'un caractère HTTP
  • mb_http_output() - Lit/modifie l'encodage d'affichage
  • mb_send_mail() - Envoie un mail encodé

mb_detect_encoding
mb_encode_mimeheader
Fonctions sur les chaînes de caractères multi-octets


Encode une chaîne pour un en-tête MIM

mb_detect_order
mb_encode_numericentity
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader — Encode une chaîne pour un en-tête MIM

Description

string mb_encode_mimeheader ( string $str [, string $charset [, string $transfer_encoding [, string $linefeed [, int $indent ]]]] )

Encode la chaîne str en un en-tête MIME.

Liste de paramètres

str

La chaîne à encoder.

charset

charset est le nom de l'encodage utilisé par la chaîne str. La valeur par défaut est déterminée par les paramètres courants du NLS (mbstring.language). mb_internal_encoding() doit être le même encodage.

transfer_encoding

transfer_encoding est l'encodage de transfert. Il peut être "B" (Base64) ou "Q" (Quoted-Printable). Par défaut, c'est "B".

linefeed

linefeed spécifie les fins de lignes (EOF : end-of-line) utilisées par mb_encode_mimeheader() pour formater la chaîne (une » RFC définie la longueur d'une chaîne à partir de laquelle on doit ajouter une fin de ligne. La longueur courante est 74 caractères). La valeur par défaut est "\r\n" (CRLF).

indent

Indentation de la première ligne (nombre de caractères dans l'en-tête avant la chaîne str).

Valeurs de retour

Une version convertie de la chaîne en ASCII.

Historique

Version | Description
5.0.0 | Le paramètre indent a été ajouté.

Exemples

Exemple #1 Exemple avec mb_encode_mimeheader()

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

Notes

Note: Cette fonction n'est pas faite pour couper les lignes en milieu de mots. Ce comportement peut ajouter des espaces non désirées dans un mot de la chaîne originale.

Voir aussi

  • mb_decode_mimeheader() - Décode un en-tête MIME

mb_detect_order
mb_encode_numericentity
Fonctions sur les chaînes de caractères multi-octets


Encode des entités HTML

mb_encode_mimeheader
mb_encoding_aliases
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_numericentity — Encode des entités HTML

Description

string mb_encode_numericentity ( string $str , array $convmap , string $encoding )

Convertit la chaîne str depuis l'encodage interne en codes numériques HTML

Liste de paramètres

str

La chaîne à encoder.

convmap

convmap est un tableau qui spécifie les codes à convertir.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

La chaîne convertie.

Exemples

Exemple #1 Exemple avec convmap

$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN)
// Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis
// il convertit la valeur obtenue en entité numérique

Exemples

Exemple #2 Exemple avec mb_encode_numericentity()

<?php
/* Convertit du ISO-8859-1 en entités HTML */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convertit du code SJIS-win (uniquement le bloc 95-104) en entités numériques */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

Voir aussi

  • mb_decode_numericentity() - Décode les entités HTML en caractères

mb_encode_mimeheader
mb_encoding_aliases
Fonctions sur les chaînes de caractères multi-octets


Récupère les aliases d'un type d'encodage connu

mb_encode_numericentity
mb_ereg_match
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_encoding_aliases

(PHP 5 >= 5.3.0)

mb_encoding_aliases — Récupère les aliases d'un type d'encodage connu

Description

array mb_encoding_aliases ( string $encoding )

Retourne un tableau d'aliases pour un type connu d'encodage.

Liste de paramètres

encoding

Le type d'encodage à vérifier, pour les aliases.

Valeurs de retour

Retourne un tableau indexé numériquement contenant les aliases de l'encodage en cas de succès, ou FALSE si une erreur survient

Erreurs / Exceptions

Emits an E_WARNING level error if encoding is unknown.

Exemples

Exemple #1 Exemple avec mb_encoding_aliases()

<?php
$encoding        = 'ASCII';
$known_encodings = mb_list_encodings();

if (in_array($encoding, $known_encodings)) {

    $aliases = mb_encoding_aliases($encoding);
    print_r($aliases);

} else {

    echo "Encodage ($encoding) inconnu.\n";

}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => ANSI_X3.4-1968
    [1] => iso-ir-6
    [2] => ANSI_X3.4-1986
    [3] => ISO_646.irv:1991
    [4] => US-ASCII
    [5] => ISO646-US
    [6] => us
    [7] => IBM367
    [8] => cp367
    [9] => csASCII
)

Voir aussi

  • mb_list_encodings() - Retourne un tableau contenant tous les encodages supportés

mb_encode_numericentity
mb_ereg_match
Fonctions sur les chaînes de caractères multi-octets


Expression rationnelle POSIX pour les chaînes multi-octets

mb_encoding_aliases
mb_ereg_replace
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_match — Expression rationnelle POSIX pour les chaînes multi-octets

Description

bool mb_ereg_match ( string $pattern , string $string [, string $option = "msr" ] )

Exécute l'expression rationnelle POSIX pour les chaînes multi-octets.

Liste de paramètres

pattern

L'expression rationnelle.

string

La chaîne à évaluer.

option

Valeurs de retour

string retourne TRUE si string vérifie l'expression rationnelle pattern, FALSE sinon.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets

mb_encoding_aliases
mb_ereg_replace
Fonctions sur les chaînes de caractères multi-octets


Remplace des segments de chaîne à l'aide des expressions rationnelles

mb_ereg_match
mb_ereg_search_getpos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_replace — Remplace des segments de chaîne à l'aide des expressions rationnelles

Description

string mb_ereg_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )

Recherche dans la chaîne string des occurrences correspondant au motif pattern, puis, les remplace avec le texte de remplacement replacement.

Liste de paramètres

pattern

L'expression rationnelle.

Les caractères multioctets peuvent être utilisés dans pattern.

replacement

Le texte de remplacement.

string

La chaîne à analyser.

option
Des options de recherches peuvent être configurées avec le paramètre option. Si i est spécifié, la casse sera ignorée. Si x est spécifié, les espaces blancs seront ignorés. Si m est spécifié, la recherche se fera en mode multiligne, et les nouvelles lignes seront incluses dans le joker .. Si p est spécifié, la recherche se fera en mode POSIX, les nouvelles lignes seront considérées comme des caractères normaux. Si e est spécifiée, replacement sera évaluée comme une expression PHP.

Valeurs de retour

La chaîne résultante en cas de succès, ou FALSE si une erreur survient.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Avertissement

N'utilisez jamais l'option e lorsque vous travaillez avec des données entrantes. Aucune protection automatique n'est appliquée (sous la forme de la fonction preg_replace()). Si vous omettez cette étape, vous allez certainement crée des failles dans voter application.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_eregi_replace() - Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse

mb_ereg_match
mb_ereg_search_getpos
Fonctions sur les chaînes de caractères multi-octets


Retourne la position du début du prochain segment repéré par une expression rationnelle

mb_ereg_replace
mb_ereg_search_getregs
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getpos — Retourne la position du début du prochain segment repéré par une expression rationnelle

Description

int mb_ereg_search_getpos ( void )

Retourne la position du début du prochain segment repéré par une expression rationnelle.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

mb_ereg_search_getpos() retourne la position du
prochain segment de code qui correspond au masque utilisé dans
mb_ereg_search(),
mb_ereg_search_pos() et
mb_ereg_search_regs(). La position est le nombre
de caractères depuis le début de la chaîne.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_setpos() - Choisit le point de départ de la recherche par expression rationnelle

mb_ereg_replace
mb_ereg_search_getregs
Fonctions sur les chaînes de caractères multi-octets


Lit le dernier segment de chaîne multi-octets qui correspond au masque

mb_ereg_search_getpos
mb_ereg_search_init
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getregs — Lit le dernier segment de chaîne multi-octets qui correspond au masque

Description

array mb_ereg_search_getregs ( void )

Lit le dernier segment de chaîne multi-octets qui correspond au masque.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

un tableau incluant toutes les sous-chaînes qui ont été trouvées par mb_ereg_search(), mb_ereg_search_pos() et mb_ereg_search_regs(). S'il y a une solution qui a été trouvée, le premier élément sera la sous-chaîne trouvée, le second représentera la première parenthèse capturante, le troisième représentera la deuxième parenthèse capturante, etc. Cette fonction retourne FALSE en cas d'erreur.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_init() - Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

mb_ereg_search_getpos
mb_ereg_search_init
Fonctions sur les chaînes de caractères multi-octets


Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

mb_ereg_search_getregs
mb_ereg_search_pos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_init — Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

Description

bool mb_ereg_search_init ( string $string [, string $pattern [, string $option = "msr" ]] )

mb_ereg_search_init() configure
string et pattern
pour supporter les expressions rationnelles multi-octets. Ces valeurs sont
utilisées par mb_ereg_search(),
mb_ereg_search_pos() et
mb_ereg_search_regs().

Liste de paramètres

string

La chaîne à chercher.

pattern

Le masque de recherche.

option

L'option de recherche.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_regs() - Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets

mb_ereg_search_getregs
mb_ereg_search_pos
Fonctions sur les chaînes de caractères multi-octets


Retourne la position et la longueur du segment de chaîne qui vérifie le masque de l'expression rationnelle

mb_ereg_search_init
mb_ereg_search_regs
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_pos — Retourne la position et la longueur du segment de chaîne qui vérifie le masque de l'expression rationnelle

Description

array mb_ereg_search_pos ([ string $pattern [, string $option = "ms" ]] )

Retourne la position et la longueur du segment de chaîne qui vérifie le masque de l'expression rationnelle.

La chaîne à utiliser est spécifiée par mb_ereg_search_init(). Si elle n'est pas spécifiée, la précédente sera utilisée.

Liste de paramètres

pattern

Le masque de recherche.

option

Les options de recherche.

Valeurs de retour

Un tableau contenant la position et la taille du segment repéré grâce à l'expression rationnelle. Le premier élément du tableau retourné doit être le début du segment, et le second est la taille du segment, exprimée en octets. Cette fonction retourne FALSE en cas d'erreur.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_init() - Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

mb_ereg_search_init
mb_ereg_search_regs
Fonctions sur les chaînes de caractères multi-octets


Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets

mb_ereg_search_pos
mb_ereg_search_setpos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_regs — Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets

Description

array mb_ereg_search_regs ([ string $pattern [, string $option = "ms" ]] )

Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets.

Liste de paramètres

pattern

Le masque de recherche.

option

Les options de recherche.

Valeurs de retour

mb_ereg_search_regs() exécute l'expression rationnelle pattern, et, si un segment de chaîne correspond, elle le retourne dans un tableau, dont le premier élément est le segment de chaîne trouvé, le deuxième le contenu de la première parenthèse capturante, le troisième le contenu de la seconde parenthèse capturante, etc. La fonction retourne FALSE en cas d'erreur.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_init() - Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

mb_ereg_search_pos
mb_ereg_search_setpos
Fonctions sur les chaînes de caractères multi-octets


Choisit le point de départ de la recherche par expression rationnelle

mb_ereg_search_regs
mb_ereg_search
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_setpos — Choisit le point de départ de la recherche par expression rationnelle

Description

bool mb_ereg_search_setpos ( int $position )

mb_ereg_search_setpos() choisit le point de départ de la recherche que va effectuer la fonction mb_ereg_search().

Liste de paramètres

position

La position à définir.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_init() - Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

mb_ereg_search_regs
mb_ereg_search
Fonctions sur les chaînes de caractères multi-octets


Recherche par expression rationnelle multi-octets

mb_ereg_search_setpos
mb_ereg
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search — Recherche par expression rationnelle multi-octets

Description

bool mb_ereg_search ([ string $pattern [, string $option = "ms" ]] )

Recherche par expression rationnelle multi-octets.

Liste de paramètres

pattern

Le masque de recherche.

option

L'option de recherche.

Valeurs de retour

mb_ereg_search() retourne TRUE si la chaîne multi-octets correspond au masque d'expression rationnelle, ou bien FALSE sinon. La chaîne à étudier a été configurée avec la fonction mb_ereg_search_init(). Si le masque pattern n'est pas spécifié, le précédent sera utilisé.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_search_init() - Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets

mb_ereg_search_setpos
mb_ereg
Fonctions sur les chaînes de caractères multi-octets


Recherche par expression rationnelle avec support des caractères multi-octets

mb_ereg_search
mb_eregi_replace
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg — Recherche par expression rationnelle avec support des caractères multi-octets

Description

int mb_ereg ( string $pattern , string $string [, array $regs ] )

Recherche par expression rationnelle avec support des caractères multi-octets.

Liste de paramètres

pattern

Le masque de recherche.

string

La chaîne sur laquelle porte la recherche.

regs

Contient une sous-chaîne de la chaîne string .

Valeurs de retour

Exécute l'expression rationnelle pattern avec le support des caractères multi-octets sur la chaîne string. mb_ereg() retourne 1 si des segments de chaîne qui vérifient le masque ont été trouvés. Le troisième paramètre est optionnel. S'il est fourni, mb_ereg() retournera la taille du segment de chaîne identifié, regs contient les sous-chaînes. Si rien n'est trouvé, la fonction retourne FALSE.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_eregi() - Expression rationnelle insensible à la casse avec le support des caractères multi-octets

mb_ereg_search
mb_eregi_replace
Fonctions sur les chaînes de caractères multi-octets


Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse

mb_ereg
mb_eregi
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi_replace — Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse

Description

string mb_eregi_replace ( string $pattern , string $replace , string $string [, string $option = "msri" ] )

Analyse la chaîne string avec le masque d'expression rationnelle pattern, puis remplace le texte trouvé par replacement.

Liste de paramètres

pattern

L'expression rationnelle. Les caractères multioctets peuvent être utilisés. La casse sera ignorée.

replace

Le texte de substitution.

string

La chaîne recherchée.

option
option a la même signification que pour la fonction mb_ereg_replace().

Valeurs de retour

La chaîne résultante, ou FALSE si une erreur survient.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Avertissement

N'utilisez jamais l'option e lorsque vous travaillez avec des données entrantes. Aucune protection automatique n'est appliquée (sous la forme de la fonction preg_replace()). Si vous omettez cette étape, vous allez certainement crée des failles dans voter application.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg_replace() - Remplace des segments de chaîne à l'aide des expressions rationnelles

mb_ereg
mb_eregi
Fonctions sur les chaînes de caractères multi-octets


Expression rationnelle insensible à la casse avec le support des caractères multi-octets

mb_eregi_replace
mb_get_info
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_eregi

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi — Expression rationnelle insensible à la casse avec le support des caractères multi-octets

Description

int mb_eregi ( string $pattern , string $string [, array $regs ] )

Exécute l'expression rationnelle insensible à la casse avec le support des caractères multi-octets.

Liste de paramètres

pattern

L'expression rationnelle.

string

La chaîne à chercher.

regs

Contient une sous-chaîne à chercher.

Valeurs de retour

Exécute l'expression rationnelle pattern avec le support des caractères multi-octets sur la chaîne string. mb_eregi() ignore la casse dans ses recherches. mb_ereg() retourne 1 si des segments de chaîne qui vérifient le masque ont été trouvé. Le troisième paramètre est optionnel. S'il est fournit, mb_ereg() retournera la taille du segment de chaîne identifié, regs contient les sous-chaînes. Si rien n'est trouvé, la fonction retourne FALSE.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets

mb_eregi_replace
mb_get_info
Fonctions sur les chaînes de caractères multi-octets


Lit la configuration interne de l'extension mbstring

mb_eregi
mb_http_input
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_get_info

(PHP 4 >= 4.2.0, PHP 5)

mb_get_info — Lit la configuration interne de l'extension mbstring

Description

mixed mb_get_info ([ string $type = "all" ] )

mb_get_info() lit la configuration interne de l'extension mbstring.

Liste de paramètres

type

Si type n'est pas demandé explicitement, ou s'il vaut "all", un tableau contenant les éléments "internal_encoding", "http_output", "http_input" et "func_overload", "mail_charset", "mail_header_encoding", "mail_body_encoding" sera retourné.

Si type est spécifié, et s'il vaut "http_output", "http_input", "internal_encoding" ou "func_overload", la paramètre demandé sera retourné.

Valeurs de retour

Un tableau d'informations si type n'est pas spécifié, sinon, un type spécifique.

Historique

Version | Description
5.1.3 | Les types d'élément "mail_charset", "mail_header_encoding", et "mail_body_encoding" sont maintenant disponibles.
5.3.0 | L'élément "http_output_conv_mimetypes" a été ajouté.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_http_output() - Lit/modifie l'encodage d'affichage

mb_eregi
mb_http_input
Fonctions sur les chaînes de caractères multi-octets


Détecte le type d'encodage d'un caractère HTTP

mb_get_info
mb_http_output
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_input — Détecte le type d'encodage d'un caractère HTTP

Description

mixed mb_http_input ([ string $type = "" ] )

Détecte le type d'encodage d'un caractère HTTP.

Liste de paramètres

type

Le paramètre type spécifie le type d'entrée HTTP. Il peut prendre l'une des valeurs suivantes : "G" pour GET, "P" pour POST, "C" pour COOKIE, "S" pour chaîne de caractères, "L" pour la liste, "l" pour la liste complète (retournera un tableau). Si type est omis, il prend la valeur du dernier type utilisé.

Valeurs de retour

Le nom de l'encodage des caractères. Si mb_http_input() ne traite pas l'entrée HTTP spécifiée, elle retournera FALSE.

Voir aussi

  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • mb_http_output() - Lit/modifie l'encodage d'affichage
  • mb_detect_order() - Lit/modifie l'ordre de détection des encodages

mb_get_info
mb_http_output
Fonctions sur les chaînes de caractères multi-octets


Lit/modifie l'encodage d'affichage

mb_http_input
mb_internal_encoding
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_http_output

(PHP 4 >= 4.0.6, PHP 5)

mb_http_output — Lit/modifie l'encodage d'affichage

Description

mixed mb_http_output ([ string $encoding ] )

Lit/modifie l'encodage d'affichage. La sortie de cette fonction sera convertie dans l'encodage spécifié par le paramètre encoding.

Liste de paramètres

encoding

Si encoding est fourni, mb_http_output() utilisera dorénavant l'encodage encoding pour les affichages HTTP : les caractères qui seront envoyés aux clients web seront convertis dans le jeu de caractères encoding.

Si encoding est omis, mb_http_output() retourne l'encodage d'affichage courant.

Valeurs de retour

Si le paramètre encoding est omis, mb_http_output() retourne l'encodage courant HTTP. Sinon, Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • mb_http_input() - Détecte le type d'encodage d'un caractère HTTP
  • mb_detect_order() - Lit/modifie l'ordre de détection des encodages

mb_http_input
mb_internal_encoding
Fonctions sur les chaînes de caractères multi-octets


Lit/modifie l'encodage interne

mb_http_output
mb_language
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_internal_encoding — Lit/modifie l'encodage interne

Description

mixed mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] )

Lit/modifie l'encodage interne.

Liste de paramètres

encoding

encoding sert lors des conversions des chaînes en provenance et en direction du web, ainsi que lors de la création de chaînes avec le module mbstring.

Valeurs de retour

Si encoding est fourni, Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si encoding est omis, mb_internal_encoding() retourne le nom de l'encodage courant.

Exemples

Exemple #1 Exemple avec mb_internal_encoding()

<?php
/* Utilise l'encodage interne UTF-8 */
mb_internal_encoding("UTF-8");

/* Affiche l'encodage interne courant */
echo mb_internal_encoding();
?>

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_http_input() - Détecte le type d'encodage d'un caractère HTTP
  • mb_http_output() - Lit/modifie l'encodage d'affichage
  • mb_detect_order() - Lit/modifie l'ordre de détection des encodages

mb_http_output
mb_language
Fonctions sur les chaînes de caractères multi-octets


Lit/modifie le langage courant

mb_internal_encoding
mb_list_encodings
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_language

(PHP 4 >= 4.0.6, PHP 5)

mb_language — Lit/modifie le langage courant

Description

mixed mb_language ([ string $language ] )

Lit/modifie le langage courant.

Liste de paramètres

language

Sert à encoder les messages électroniques. Les langages valides sont : "Japanese" (japonais), "ja" (japonais), "English" (anglais), "en" (anglais) et "uni" (UTF-8). mb_send_mail() utilise cette option pour encoder les emails.

Le langage et sa configuration valent ISO-2022-JP/Base64 pour le japonais, UTF-8/Base64 pour l'UTF-8 et ISO-8859-1/quoted printable pour l'anglais.

Valeurs de retour

Si language est fourni et est valide, mb_language() retourne TRUE. Sinon, elle retourne FALSE. Lorsque le paramètre language est omis, mb_language() retourne le nom du langage courant, sous forme de chaîne. Si aucun langage n'a été configuré, mb_language() retourne FALSE.

Voir aussi

  • mb_send_mail() - Envoie un mail encodé

mb_internal_encoding
mb_list_encodings
Fonctions sur les chaînes de caractères multi-octets


Retourne un tableau contenant tous les encodages supportés

mb_language
mb_output_handler
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_list_encodings

(PHP 5)

mb_list_encodings — Retourne un tableau contenant tous les encodages supportés

Description

array mb_list_encodings ( void )

Retourne un tableau contenant tous les encodages supportés.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau indexé numériquement.

Erreurs / Exceptions

Cette fonction n'émet aucune erreur.

Exemples

Exemple #1 Exemple avec mb_list_encodings()

<?php

print_r(mb_list_encodings());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)

mb_language
mb_output_handler
Fonctions sur les chaînes de caractères multi-octets


Fonction de traitement des affichages

mb_list_encodings
mb_parse_str
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_output_handler

(PHP 4 >= 4.0.6, PHP 5)

mb_output_handler — Fonction de traitement des affichages

Description

string mb_output_handler ( string $contents , int $status )

mb_output_handler() est la fonction à fournir à ob_start(). mb_output_handler() convertit les caractères envoyés au client dans l'encodage paramétré avec mb_http_output().

Liste de paramètres

contents

Le contenu du buffer de sortie.

status

Le statut du buffer de sortie.

Valeurs de retour

La chaîne convertie.

Historique

Version Description
4.1.0

Ajoute un en-tête HTTP de jeu de caractères, en suivant ces conditions :

  • Content-Type n'a pas été défini par la fonction header().
  • Le type MIME par défaut commence alors par text/.
  • La configuration mbstring.http_input est différente de pass.

Exemples

Exemple #1 Exemple avec mb_output_handler()

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Notes

Note: Si vous souhaitez envoyer des données binaires telles des images issues d'un script PHP 4.3.0 ou suivante, Content-Type: header doit être envoyé en utilisant la fonction header() avant d'envoyer les données binaires au client (e.g. header("Content-Type: image/png")). Si Content-Type: header est envoyé, la conversion de l'encodage de sortie ne sera pas effectuée.
Notez que si Content-Type: text/* est envoyé en utilisant la fonction header(), les données envoyées seront considérées comme du texte, et la conversion sera effectuée en utilisant le jeu de caractères associé.
Si vous souhaitez envoyer des données binaires telles des images issues d'un script PHP, vous devez spécifier l'encodage spécial "pass", avec la fonction mb_http_output().

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie

mb_list_encodings
mb_parse_str
Fonctions sur les chaînes de caractères multi-octets


Analyse les données HTTP GET/POST/COOKIE et assigne les variables globales

mb_output_handler
mb_preferred_mime_name
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_parse_str

(PHP 4 >= 4.0.6, PHP 5)

mb_parse_str — Analyse les données HTTP GET/POST/COOKIE et assigne les variables globales

Description

bool mb_parse_str ( string $encoded_string [, array &$result ] )

Analyse les données d'entrées HTTP GET/POST/COOKIE et assigne les variables globales. Étant donné que PHP ne fournit pas de valeurs brutes de POST/COOKIE, cette fonction n'est utilisable que sur les données en méthode GET. mb_parse_str() prend les données de l'URL appelante, détecte le jeu de caractères, convertit les données en jeu de caractères interne, et affecte les valeurs au tableau de variables globales.

Liste de paramètres

encoded_string

Les données encodées URL.

result

Un tableau contenant les valeurs décodées, et les noms des jeux de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mb_detect_order() - Lit/modifie l'ordre de détection des encodages
  • mb_internal_encoding() - Lit/modifie l'encodage interne

mb_output_handler
mb_preferred_mime_name
Fonctions sur les chaînes de caractères multi-octets


Détecte l'encodage MIME

mb_parse_str
mb_regex_encoding
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5)

mb_preferred_mime_name — Détecte l'encodage MIME

Description

string mb_preferred_mime_name ( string $encoding )

Récupère le nom de l'encodage MIME d'une chaîne.

Liste de paramètres

encoding

L'encodage à vérifier.

Valeurs de retour

Le nom de l'encodage MIME pour l'encodage encoding.

Exemples

Exemple #1 Exemple avec mb_preferred_mime_name()

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>

mb_parse_str
mb_regex_encoding
Fonctions sur les chaînes de caractères multi-octets


Retourne le jeu de caractères courant pour les expressions rationnelles

mb_preferred_mime_name
mb_regex_set_options
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5)

mb_regex_encoding — Retourne le jeu de caractères courant pour les expressions rationnelles

Description

mixed mb_regex_encoding ([ string $encoding ] )

Retourne le jeu de caractères courant pour les expressions rationnelles.

Liste de paramètres

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne le jeu de caractères courant pour les expressions rationnelles.

Voir aussi

  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets

mb_preferred_mime_name
mb_regex_set_options
Fonctions sur les chaînes de caractères multi-octets


Lit et modifie les options des fonctions d'expression rationnelle à support de caractères multi-octets

mb_regex_encoding
mb_send_mail
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5)

mb_regex_set_options — Lit et modifie les options des fonctions d'expression rationnelle à support de caractères multi-octets

Description

string mb_regex_set_options ([ string $options = "msr" ] )

Configure les options par défaut avec les nouvelles valeurs contenues dans options, pour les fonctions d'expression rationnelle à support de caractères multi-octets.

Liste de paramètres

options

Les options à définir, sous la forme d'une chaîne dont chaque caractère est une option. Pour définir un mode, vous devez placer le caractère représentant ce mode en dernier, le reste des caractères sera les options. Vous ne pouvez définir qu'un seul mode, alors que vous pouvez définir plusieurs options.

Options pour l'expression
Option | Signification
i | Active l'ambiguïté
x | Active les masques étendus
m | Le caractère '.' correspond également à de nouvelles lignes
s | '^' -> '\A', '$' -> '\Z'
p | Identique aux options m et s
l | Trouve la plus longue correspondance
n | Ignore les correspondances vides
e | Utilise la fonction eval() sur le résultat
Modes de syntaxe de l'expression rationnelle
Mode | Signification
j | Java (Sun java.util.regex)
u | GNU regex
g | grep
c | Emacs
r | Ruby
z | Perl
b | POSIX Basic regex
d | POSIX Extended regex

Valeurs de retour

Retourne la configuration précédente. Si options est omise, la fonction retourne la chaîne qui décrit les options courantes.

Voir aussi

  • mb_split() - Scinde une chaîne en tableau avec une expression rationnelle multi-octets
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets
  • mb_eregi() - Expression rationnelle insensible à la casse avec le support des caractères multi-octets

mb_regex_encoding
mb_send_mail
Fonctions sur les chaînes de caractères multi-octets


Envoie un mail encodé

mb_regex_set_options
mb_split
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_send_mail

(PHP 4 >= 4.0.6, PHP 5)

mb_send_mail — Envoie un mail encodé

Description

bool mb_send_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $additional_parameter = NULL ]] )

Envoie un courrier électronique. Les en-têtes et le corps du message sont convertis et encodés en accord avec mb_language(). mb_send_mail() est une version adaptée de mail(). Voir la fonction mail() pour plus de détails.

Liste de paramètres

to

to est l'adresse de destination du mail. Les adresses multiples peuvent être spécifiées en les séparant par des virgules. Ce paramètre n'est pas encodé automatiquement.

subject

Le sujet du mail.

message

Le message du mail.

additional_headers

La chaîne additional_headers est insérée à la fin de l'en-tête mail. Elle sert à ajouter d'autres en-têtes email. N'oubliez pas de les séparer par des nouvelles lignes ("\n").

additional_parameter

additional_parameter est une ligne de paramètres MTA. Il est pratique lorsque vous voulez définir un Return-Path correct lorsque vous utilisez sendmail.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.0.0 | Les en-têtes Content-Type et Content-Transfer-Encoding peuvent être redéfinis depuis PHP 5.0.0. Avant, les valeurs définies par la fonction mb_language() sont toujours utilisées.

Voir aussi

  • mail() - Envoi de mail
  • mb_encode_mimeheader() - Encode une chaîne pour un en-tête MIM
  • mb_language() - Lit/modifie le langage courant

mb_regex_set_options
mb_split
Fonctions sur les chaînes de caractères multi-octets


Scinde une chaîne en tableau avec une expression rationnelle multi-octets

mb_send_mail
mb_strcut
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_split

(PHP 4 >= 4.2.0, PHP 5)

mb_split — Scinde une chaîne en tableau avec une expression rationnelle multi-octets

Description

array mb_split ( string $pattern , string $string [, int $limit = -1 ] )

Scinde la chaîne multi-octets string en utilisant l'expression rationnelle pattern puis en retournant le résultat sous forme de tableau.

Liste de paramètres

pattern

Le masque de l'expression rationnelle.

string

La chaîne à scinder.

limit
Si le paramètre optionnel limit est spécifié, la chaîne sera scindée en limit éléments au plus.

Valeurs de retour

Le résultat, sous la forme d'un tableau.

Notes

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets

mb_send_mail
mb_strcut
Fonctions sur les chaînes de caractères multi-octets


Coupe une partie de chaîne

mb_split
mb_strimwidth
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strcut

(PHP 4 >= 4.0.6, PHP 5)

mb_strcut — Coupe une partie de chaîne

Description

string mb_strcut ( string $str , int $start [, int $length [, string $encoding ]] )

mb_strcut() effectue une opération équivalente à mb_substr() avec des méthodes différentes. Si la position start est un caractère multi-octets ou plus, il débutera à partir du premier octet ou du premier caractère multi-octets.

Il soustrait la chaîne str qui est plus courte que length ET caractères qui ne font pas partis d'une chaîne multi-octets et qui ne commence pas au milieu de la séquence.

Liste de paramètres

str

La chaîne à couper.

start

La position à partir de laquelle on commence à couper.

length

Le nombre d'octets à couper.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

mb_strcut() retourne la portion de la chaîne str qui commence au caractère start et a la longueur de length caractères.

Voir aussi

  • mb_substr() - Lit une sous-chaîne
  • mb_internal_encoding() - Lit/modifie l'encodage interne

mb_split
mb_strimwidth
Fonctions sur les chaînes de caractères multi-octets


Tronque une chaîne

mb_strcut
mb_stripos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidth — Tronque une chaîne

Description

string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )

Tronque la chaîne str à la longueur width.

Liste de paramètres

str

La chaîne à tronquer.

start

start est l'offset de départ, en nombre de caractères depuis le début de la chaîne (cela commence à 0).

width

La taille à tronquer.

trimmarker

trimmarker est la chaîne ajoutée à la fin de la chaîne tronquée.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

La chaîne tronquée. Si trimmarker est défini, trimmarker sera ajouté à la valeur retournée.

Exemples

Exemple #1 Exemple avec mb_strimwidth()

<?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// Affiche : Hello W...
?>

Voir aussi

  • mb_strwidth() - Retourne la taille d'une chaîne
  • mb_internal_encoding() - Lit/modifie l'encodage interne

mb_strcut
mb_stripos
Fonctions sur les chaînes de caractères multi-octets


Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse

mb_strimwidth
mb_stristr
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_stripos

(PHP 5 >= 5.2.0)

mb_stripos — Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse

Description

int mb_stripos ( string $haystack , string $needle [, int $offset [, string $encoding ]] )

mb_stripos() retourne la position numérique de la première occurrence de needle dans la chaîne haystack. Contrairement à mb_strpos(), mb_stripos() est insensible à la casse. Si needle n'est pas trouvé, la fonction retournera FALSE.

Liste de paramètres

haystack

La chaîne depuis laquelle on récupère la position de la première occurrence de needle

needle

La chaîne à chercher dans haystack

offset

La position dans haystack où l'on doit commencer à chercher

encoding

Nom de l'encodage à utiliser. Si ce paramètre est omis, l'encodage interne est utilisé.

Valeurs de retour

Retourne la position numérique de la première occurrence de needle dans la chaîne haystack ou FALSE si needle n'est pas trouvé.

Voir aussi

  • stripos() - Recherche la première occurrence dans une chaîne, sans tenir compte de la casse
  • strpos() - Trouve la position d'un caractère dans une chaîne
  • mb_strpos() - Repère la première occurrence d'un caractère dans une chaîne

mb_strimwidth
mb_stristr
Fonctions sur les chaînes de caractères multi-octets


Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse

mb_stripos
mb_strlen
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_stristr

(PHP 5 >= 5.2.0)

mb_stristr — Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse

Description

string mb_stristr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_stristr() trouve la première occurrence de needle dans haystack et retourne la portion de haystack. Contrairement à mb_strstr(), mb_stristr() est insensible à la casse. Si needle n'est pas trouvé, la fonction retournera FALSE.

Liste de paramètres

haystack

La chaîne depuis laquelle on récupère la première occurrence de needle

needle

La chaîne à chercher dans haystack

part

Détermine quelle portion de haystack cette fonction retourne. Si défini à TRUE, la fonction retournera toute la chaîne haystack depuis le début jusqu'à la première occurrence de needle. Si défini à FALSE, la fonction retournera toute la chaîne haystack depuis la première occurrence de needle jusqu'à la fin.

encoding

Nom de l'encodage à utiliser. Si ce paramètre est omis, l'encodage interne est utilisé.

Valeurs de retour

Retourne la portion de haystack, ou FALSE si needle n'est pas trouvé.

Voir aussi

  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne
  • mb_strstr() - Trouve la première occurrence d'une chaîne dans une autre

mb_stripos
mb_strlen
Fonctions sur les chaînes de caractères multi-octets


Retourne la taille d'une chaîne

mb_stristr
mb_strpos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strlen

(PHP 4 >= 4.0.6, PHP 5)

mb_strlen — Retourne la taille d'une chaîne

Description

int mb_strlen ( string $str [, string $encoding ] )

Récupère la taille de la chaîne fournie.

Liste de paramètres

str

La chaîne à analyser.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne le nombre de caractères dans la chaîne str, avec l'encodage encoding. Un caractère multi-octets est alors compté pour 1.

Voir aussi

  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • strlen() - Calcule la taille d'une chaîne

mb_stristr
mb_strpos
Fonctions sur les chaînes de caractères multi-octets


Repère la première occurrence d'un caractère dans une chaîne

mb_strlen
mb_strrchr
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strpos — Repère la première occurrence d'un caractère dans une chaîne

Description

int mb_strpos ( string $haystack , string $needle [, int $offset [, string $encoding ]] )

Repère la position de la première occurrence d'un caractère dans la chaîne fournie.

Effectue une recherche de type strpos(), en tenant compte des caractères multi-octets. La position de needle est comptée à partir du début de la chaîne haystack : les positions commencent à 0.

Liste de paramètres

haystack

La chaîne à analyser.

needle

La position, depuis le début de haystack.

offset

La position de début de recherche. S'il est omis, zéro sera utilisé (début de la chaîne).

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne la position numérique de la première occurrence du caractère needle dans la chaîne haystack. Si needle est introuvable, mb_strpos() retourne FALSE.

Voir aussi

  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • strpos() - Trouve la position d'un caractère dans une chaîne

mb_strlen
mb_strrchr
Fonctions sur les chaînes de caractères multi-octets


Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre

mb_strpos
mb_strrichr
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strrchr

(PHP 5 >= 5.2.0)

mb_strrchr — Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre

Description

string mb_strrchr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_strrchr() trouve la dernière occurrence de needle dans haystack et retourne la portion de haystack. Si needle n'est pas trouvé, la fonction retournera FALSE.

Liste de paramètres

haystack

La chaîne depuis laquelle on doit récupérer la dernière occurrence de needle

needle

La chaîne à trouver dans haystack

part

Détermine quelle portion de haystack cette fonction retourne. Si défini à TRUE, la fonction retourne toute la chaîne haystack depuis le début jusqu'à la dernière occurrence de needle. Si défini à FALSE, la fonction retourne toute la chaîne haystack depuis la dernière occurrence de needle jusqu'à la fin.

encoding

Nom de l'encodage à utiliser.Si ce paramètre est omis, l'encodage interne sera utilisé.

Valeurs de retour

Retourne la portion de haystack. ou FALSE si needle n'est pas trouvé.

Voir aussi

  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • mb_strstr() - Trouve la première occurrence d'une chaîne dans une autre
  • mb_strrichr() - Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre, insensible à la casse

mb_strpos
mb_strrichr
Fonctions sur les chaînes de caractères multi-octets


Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre, insensible à la casse

mb_strrchr
mb_strripos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strrichr

(PHP 5 >= 5.2.0)

mb_strrichr — Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre, insensible à la casse

Description

string mb_strrichr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_strrichr() trouve la dernière occurrence de needle dans haystack et retourne la portion de haystack. Contrairement à mb_strrchr(), mb_strrichr() n'est pas sensible à la casse. Si needle n'est pas trouvé, la fonction retournera FALSE.

Liste de paramètres

haystack

La chaîne depuis laquelle on doit chercher la dernière occurrence de needle

needle

La chaîne à chercher dans haystack

part

Détermine quelle portion de haystack cette fonction retourne. Si défini à TRUE, la fonction retourne toute la chaîne haystack depuis le début jusqu'à la dernière occurrence de needle. Si défini à FALSE, la fonction retourne toute la chaîne haystack depuis la dernière occurrence de needle jusqu'à la fin.

encoding

Nom de l'encodage à utiliser. Si ce paramètre est omis, l'encodage interne sera utilisé.

Valeurs de retour

Retourne la portion de haystack. ou FALSE si needle n'est pas trouvé.

Voir aussi

  • mb_stristr() - Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse
  • mb_strrchr() - Trouve la dernière occurrence d'un caractère d'une chaîne dans une autre

mb_strrchr
mb_strripos
Fonctions sur les chaînes de caractères multi-octets


Trouve la position de la dernière occurrence d'une chaîne dans une autre, en tenant compte de la casse

mb_strrichr
mb_strrpos
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strripos

(PHP 5 >= 5.2.0)

mb_strripos — Trouve la position de la dernière occurrence d'une chaîne dans une autre, en tenant compte de la casse

Description

int mb_strripos ( string $haystack , string $needle [, int $offset [, string $encoding ]] )

mb_strripos() effectue une opération strripos() basée sur le nombre de caractères. La position needle est comptée depuis le début de haystack. La position du premier caractère est 0. Le second a comme position 1, etc.. Contrairement à mb_strrpos(), mb_strripos() est sensible à la casse.

Liste de paramètres

haystack

La chaîne depuis laquelle on récupère la position de la dernière occurrence de needle

needle

La chaîne à chercher dans haystack

offset

La position dans haystack à partir de laquelle on doit commencer à chercher

encoding

Nom de l'encodage à utiliser. Si ce paramètre est omis, l'encodage interne est utilisé.

Valeurs de retour

Retourne la position numérique de la dernière occurrence de needle dans la chaîne haystack, ou FALSE si needle n'est pas trouvé.

Voir aussi

  • strripos() - Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse
  • strrpos() - Trouve la position de la dernière occurrence d'un caractère dans une chaîne
  • mb_strrpos() - Repère la dernière occurrence d'un caractère dans une chaîne

mb_strrichr
mb_strrpos
Fonctions sur les chaînes de caractères multi-octets


Repère la dernière occurrence d'un caractère dans une chaîne

mb_strripos
mb_strstr
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strrpos — Repère la dernière occurrence d'un caractère dans une chaîne

Description

int mb_strrpos ( string $haystack , string $needle [, int $offset [, string $encoding ]] )

mb_strrpos() effectue une recherche de type strpos(), en tenant compte des caractères multi-octets. La position de needle est comptée à partir du début de la chaîne haystack : les positions commencent à 0.

Liste de paramètres

haystack

La chaîne à analyser.

needle

La chaîne à chercher dans la chaîne haystack.

offset
Doit être spécifié pour commencer à recherche un nombre arbitraire de nombre de caractères dans une chaîne. Les valeurs négatives stoppent la recherche à un point arbitraire avant la fin de la chaîne.
encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne la position numérique de la dernière occurrence du caractère needle dans la chaîne haystack. Si needle est introuvable, mb_strrpos() retourne FALSE.

Historique

Version | Description
5.2.0 | Ajout du paramètre optionnel offset.

Notes

Note: Le paramètre encoding a été déplacé de la troisième position à la quatrième position depuis PHP 5.2.0. Pour des raisons de compatibilité ascendante, encoding peut être spécifié en tant que troisième paramètre, mais ce comportement est obsolète et peut être supprimé prochainement.

Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

  • mb_strpos() - Repère la première occurrence d'un caractère dans une chaîne
  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • strrpos() - Trouve la position de la dernière occurrence d'un caractère dans une chaîne

mb_strripos
mb_strstr
Fonctions sur les chaînes de caractères multi-octets


Trouve la première occurrence d'une chaîne dans une autre

mb_strrpos
mb_strtolower
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strstr

(PHP 5 >= 5.2.0)

mb_strstr — Trouve la première occurrence d'une chaîne dans une autre

Description

string mb_strstr ( string $haystack , string $needle [, bool $part = false [, string $encoding ]] )

mb_strstr() trouve la première occurrence de needle dans haystack et retourne la portion de haystack. Si needle n'est pas trouvé, la fonction retournera FALSE.

Liste de paramètres

haystack

La chaîne dans laquelle on doit chercher la première occurrence de needle

needle

La chaîne à chercher dans haystack

part

Détermine quelle portion de haystack cette fonction retourne. Si défini à TRUE, la fonction retournera toute la chaîne haystack depuis le début jusqu'à la première occurrence de needle. Si défini à FALSE, la fonction retournera toute la chaîne haystack depuis la première occurrence de needle jusqu'à la fin.

encoding

Nom de l'encodage à utiliser. Si ce paramètre est omis, l'encodage interne est utilisé.

Valeurs de retour

Retourne la portion de haystack, ou FALSE si needle n'est pas trouvé.

Voir aussi

  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne
  • mb_stristr() - Trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse

mb_strrpos
mb_strtolower
Fonctions sur les chaînes de caractères multi-octets


Met tous les caractères en minuscules

mb_strstr
mb_strtoupper
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strtolower

(PHP 4 >= 4.3.0, PHP 5)

mb_strtolower — Met tous les caractères en minuscules

Description

string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] )

Retourne la chaîne str après avoir converti tous les caractères alphabétiques en minuscules.

Liste de paramètres

str

La chaîne à mettre en minuscule.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne la chaîne str dont tous les caractères alphabétiques ont été mis en minuscule.

Unicode

Pour plus d'informations sur les propriétés de l'Unicode, voyez » http://www.unicode.org/unicode/reports/tr21/.

Contrairement à strtolower(), le concept de caractère 'alphabétique' est déterminé par les propriétés Unicode. De ce fait, le comportement de cette fonction n'est pas modifié par les configurations locales, et elle peut convertir tout les caractères qui sont considérés comme alphabétiques comme le c cédille (Ç).

Exemples

Exemple #1 Exemple avec mb_strtolower()

<?php
$str = "Marie A Un Petit Agneau Et Elle L'Aime BEAUCOUP.";
$str = mb_strtolower($str);
echo $str; // marie a un petit agneau et elle l'aime beaucoup
?>

Exemple #2 Exemple avec mb_strtolower() avec du texte UTF-8 non latin

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtolower($str, 'UTF-8');
echo $str; // Affiche τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός
?>

Voir aussi

  • mb_strtoupper() - Met tous les caractères en majuscules
  • mb_convert_case() - Modifie la casse d'une chaîne
  • strtolower() - Renvoie une chaîne en minuscules

mb_strstr
mb_strtoupper
Fonctions sur les chaînes de caractères multi-octets


Met tous les caractères en majuscules

mb_strtolower
mb_strwidth
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5)

mb_strtoupper — Met tous les caractères en majuscules

Description

string mb_strtoupper ( string $str [, string $encoding = mb_internal_encoding() ] )

Retourne la chaîne str après avoir converti tous les caractères alphabétiques en majuscules.

Liste de paramètres

str

La chaîne à mettre en majuscule.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne la chaîne str dont tous les caractères ont été mis en majuscule.

Unicode

Pour plus d'informations sur les propriétés de l'Unicode, voyez » http://www.unicode.org/unicode/reports/tr21/.

Contrairement à strtoupper(), le concept de caractère 'alphabétique' est déterminé par les propriétés Unicode. De ce fait, le comportement de cette fonction n'est pas modifié par les configurations locales, et elle peut convertir tout les caractères qui sont considérés comme alphabétiques comme le c cédille (ç).

Exemples

Exemple #1 Exemple avec mb_strtoupper()

<?php
$str = "Marie A Un Petit Agneau Et Elle L'Aime BEAUCOUP.";
$str = mb_strtoupper($str);
echo $str; // MARIE A UN PETIT AGNEAU ET ELLE L'AIME BEAUCOUP.
?>

Exemple #2 Exemple avec mb_strtoupper() et du texte UTF-8 non latin

<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Affiche ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>

Voir aussi

  • mb_strtolower() - Met tous les caractères en minuscules
  • mb_convert_case() - Modifie la casse d'une chaîne
  • strtoupper() - Renvoie une chaîne en majuscules

mb_strtolower
mb_strwidth
Fonctions sur les chaînes de caractères multi-octets


Retourne la taille d'une chaîne

mb_strtoupper
mb_substitute_character
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strwidth — Retourne la taille d'une chaîne

Description

int mb_strwidth ( string $str [, string $encoding ] )

Retourne la taille de la chaîne str.

Les chaînes à encodage multi-octets sont généralement deux fois plus grandes que les chaînes mono-octet.

Largeur des caractères
Caractères | Taille
U+0000 - U+0019 | 0
U+0020 - U+1FFF | 1
U+2000 - U+FF60 | 2
U+FF61 - U+FF9F | 1
U+FFA0 - | 2

Liste de paramètres

str

La chaîne à analyser.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

La taille de la chaîne.

Voir aussi

  • mb_strimwidth() - Tronque une chaîne
  • mb_internal_encoding() - Lit/modifie l'encodage interne

mb_strtoupper
mb_substitute_character
Fonctions sur les chaînes de caractères multi-octets


Lit/modifie les caractères de substitution

mb_strwidth
mb_substr_count
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5)

mb_substitute_character — Lit/modifie les caractères de substitution

Description

mixed mb_substitute_character ([ mixed $substrchar ] )

Spécifie le caractère de substitution des caractères invalides, ou des encodages invalides. Les caractères invalides peuvent être remplacés par NULL (pas d'affichage, ils sont supprimés), une chaîne ou un code hexadécimal.

Ce paramétrage affecte mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler(),
et mb_send_mail().

Liste de paramètres

substrchar

Spécifie une valeur Unicode sous la forme d'un entier, ou bien une chaîne sous ces formes :

  • "none" : pas d'affichage
  • "long" : affiche la valeur hexadécimale (par exemple : U+3000, JIS+7E7E)
  • "entity" : affiche l'entité du caractère (Example: Ȁ)

Valeurs de retour

Si substchar est fourni, mb_substitute_character() retourne TRUE en cas de succès, et FALSE en cas d'erreur. Si substchar est omis, mb_substitute_character() retourne une valeur Unicode, ou bien "none"/"long".

Exemples

Exemple #1 Exemple avec mb_substitute_character()

<?php
/* Configure le caractère de substitution avec U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Configure le caractère de substitution avec un format hexadécimal */
mb_substitute_character("long");

/* Affiche la configuration courante */
echo mb_substitute_character();
?>

mb_strwidth
mb_substr_count
Fonctions sur les chaînes de caractères multi-octets


Compte le nombre d'occurrences d'une sous-chaîne

mb_substitute_character
mb_substr
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5)

mb_substr_count — Compte le nombre d'occurrences d'une sous-chaîne

Description

int mb_substr_count ( string $haystack , string $needle [, string $encoding ] )

Compte le nombre d'occurrences de la chaîne needle dans la chaîne haystack.

Liste de paramètres

haystack

La chaîne à analyser.

needle

La chaîne à chercher.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

Retourne le nombre de fois où la chaîne needle apparaît dans la chaîne haystack.

Exemples

Exemple #1 Exemple avec mb_substr_count()

<?php
echo mb_substr_count("Ceci est un test", "es"); // affiche 2
?>

Voir aussi

  • mb_strpos() - Repère la première occurrence d'un caractère dans une chaîne
  • mb_substr() - Lit une sous-chaîne
  • substr_count() - Compte le nombre d'occurrences de segments dans une chaîne

mb_substitute_character
mb_substr
Fonctions sur les chaînes de caractères multi-octets


Lit une sous-chaîne

mb_substr_count
Pspell
Fonctions sur les chaînes de caractères multi-octets
PHP Manual

mb_substr

(PHP 4 >= 4.0.6, PHP 5)

mb_substr — Lit une sous-chaîne

Description

string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )

Effectue une opération de type substr() basée sur le nombre de caractères. La position est celle depuis le début de la chaîne de caractères str. La position du premier caractère est 0, le second, un, etc...

Liste de paramètres

str

La chaîne à analyser.

start

La première position utilisée dans str.

length

La taille maximale de la chaîne retournée.

encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.

Valeurs de retour

mb_substr() retourne la portion de la chaîne str qui commence au caractère start et a la longueur de length caractères.

Voir aussi

  • mb_strcut() - Coupe une partie de chaîne
  • mb_internal_encoding() - Lit/modifie l'encodage interne

mb_substr_count
Pspell
Fonctions sur les chaînes de caractères multi-octets


Pspell

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Pspell
    • pspell_add_to_personal — Ajoute le mot au dictionnaire personnel
    • pspell_add_to_session — Ajoute le mot au dictionnaire personnel de la session courante
    • pspell_check — Vérifie un mot
    • pspell_clear_session — Remet à zéro la session courante
    • pspell_config_create — Crée une configuration utilisée pour ouvrir un dictionnaire
    • pspell_config_data_dir — Dossier qui contient les fichiers de données linguistiques
    • pspell_config_dict_dir — Endroit où se trouve le fichier global des mots
    • pspell_config_ignore — Ignore les mots de moins de N caractères
    • pspell_config_mode — Change le mode de suggestion
    • pspell_config_personal — Choisit le fichier qui contient le dictionnaire personnel
    • pspell_config_repl — Choisit le fichier qui contient les paires de remplacement
    • pspell_config_runtogether — Considère deux mots accolés comme un composé
    • pspell_config_save_repl — Détermine s'il faut sauver les paires de remplacement avec le dictionnaire
    • pspell_new_config — Charge un nouveau dictionnaire avec les paramètres spécifiés dans une configuration
    • pspell_new_personal — Charge un nouveau dictionnaire avec un dictionnaire personnel
    • pspell_new — Charge un nouveau dictionnaire
    • pspell_save_wordlist — Sauve le dictionnaire personnel dans un fichier
    • pspell_store_replacement — Enregistre une paire de remplacement pour un mot
    • pspell_suggest — Suggère l'orthographe d'un mot
mb_substr
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

La bibliothèque pspell vous permet de vérifier l'orthographe d'un mot, et suggérer des corrections.

Pspell
Installation/Configuration
Pspell


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Pspell


Pré-requis

Pour compiler PHP avec le support pspell, vous aurez besoin de la bibliothèque aspell, disponible à » http://aspell.sourceforge.net/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Si vous avez installé les bibliothèques PSPELL, vous devez simplement ajouter l'option --with-pspell[=dir], lors de la compilation de PHP.

Note: Note pour les utilisateurs de Microsoft Windows
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : aspell-15.dll depuis le dossier bin de l'installation aspell.
Le support Win32 est disponible uniquement dans les versions 4.3.3 et supérieures de PHP. De plus, la version 0.50, au minimum, est nécessaire.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

PSPELL_FAST (entier)
PSPELL_NORMAL (entier)
PSPELL_BAD_SPELLERS (entier)
PSPELL_RUN_TOGETHER (entier)
Types de ressources
Fonctions Pspell
Pspell


Fonctions Pspell

Sommaire

  • pspell_add_to_personal — Ajoute le mot au dictionnaire personnel
  • pspell_add_to_session — Ajoute le mot au dictionnaire personnel de la session courante
  • pspell_check — Vérifie un mot
  • pspell_clear_session — Remet à zéro la session courante
  • pspell_config_create — Crée une configuration utilisée pour ouvrir un dictionnaire
  • pspell_config_data_dir — Dossier qui contient les fichiers de données linguistiques
  • pspell_config_dict_dir — Endroit où se trouve le fichier global des mots
  • pspell_config_ignore — Ignore les mots de moins de N caractères
  • pspell_config_mode — Change le mode de suggestion
  • pspell_config_personal — Choisit le fichier qui contient le dictionnaire personnel
  • pspell_config_repl — Choisit le fichier qui contient les paires de remplacement
  • pspell_config_runtogether — Considère deux mots accolés comme un composé
  • pspell_config_save_repl — Détermine s'il faut sauver les paires de remplacement avec le dictionnaire
  • pspell_new_config — Charge un nouveau dictionnaire avec les paramètres spécifiés dans une configuration
  • pspell_new_personal — Charge un nouveau dictionnaire avec un dictionnaire personnel
  • pspell_new — Charge un nouveau dictionnaire
  • pspell_save_wordlist — Sauve le dictionnaire personnel dans un fichier
  • pspell_store_replacement — Enregistre une paire de remplacement pour un mot
  • pspell_suggest — Suggère l'orthographe d'un mot
Constantes pré-définies
pspell_add_to_personal
Pspell


Ajoute le mot au dictionnaire personnel

Fonctions Pspell
pspell_add_to_session
Fonctions Pspell
PHP Manual

pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_personal — Ajoute le mot au dictionnaire personnel

Description

bool pspell_add_to_personal ( int $dictionary_link , string $word )

pspell_add_to_personal() ajoute un mot au dictionnaire
personnel. Si vous utilisez pspell_new_config() avec
pspell_config_personal() pour ouvrir le dictionnaire,
vous pourrez sauver le dictionnaire personnel ultérieurement avec
pspell_save_wordlist().

Liste de paramètres

dictionary_link

word

Le Mot ajouté.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Notes

Note: Cette fonction ne marchera que si vous avez pspell .11.2 et aspell .32.5 ou ultérieurs.

Fonctions Pspell
pspell_add_to_session
Fonctions Pspell


Ajoute le mot au dictionnaire personnel de la session courante

pspell_add_to_personal
pspell_check
Fonctions Pspell
PHP Manual

pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_session — Ajoute le mot au dictionnaire personnel de la session courante

Description

bool pspell_add_to_session ( int $dictionary_link , string $word )

pspell_add_to_session() ajoute un mot au dictionnaire personnel associé à la version courante. C'est une fonction similaire à pspell_add_to_personal().

Liste de paramètres

dictionary_link

word

Le mot ajouté.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

pspell_add_to_personal
pspell_check
Fonctions Pspell


Vérifie un mot

pspell_add_to_session
pspell_clear_session
Fonctions Pspell
PHP Manual

pspell_check

(PHP 4 >= 4.0.2, PHP 5)

pspell_check — Vérifie un mot

Description

bool pspell_check ( int $dictionary_link , string $word )

pspell_check() vérifie l'orthographe d'un mot.

Liste de paramètres

dictionary_link

word

Le mot testé.

Valeurs de retour

Retourne TRUE si l'orthographe est correcte, FALSE sinon.

Exemples

Exemple #1 Exemple avec pspell_check()

<?php
$pspell_link = pspell_new ("fr");

if (pspell_check($pspell_link, "testt")) {
    echo 'L\'orthographe est exacte';
} else {
    echo 'Désolé, mauvaise orthographe';
}
?>

pspell_add_to_session
pspell_clear_session
Fonctions Pspell


Remet à zéro la session courante

pspell_check
pspell_config_create
Fonctions Pspell
PHP Manual

pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_clear_session — Remet à zéro la session courante

Description

bool pspell_clear_session ( int $dictionary_link )

pspell_clear_session() remet à zéro la session courante. Le dictionnaire personnel est vidé et, par exemple, si vous tentez de l'enregistrer avec pspell_save_wordlist(), rien ne se passera.

Liste de paramètres

dictionary_link

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_clear_session($pspell_link);
pspell_save_wordlist($pspell_link);  //"Vlad" ne sera pas sauvé
?>

pspell_check
pspell_config_create
Fonctions Pspell


Crée une configuration utilisée pour ouvrir un dictionnaire

pspell_clear_session
pspell_config_data_dir
Fonctions Pspell
PHP Manual

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_create — Crée une configuration utilisée pour ouvrir un dictionnaire

Description

int pspell_config_create ( string $language [, string $spelling [, string $jargon [, string $encoding ]]] )

Crée une configuration utilisée pour ouvrir un dictionnaire.

pspell_config_create() a une syntaxe similaire à celle de pspell_new(). En fait, utiliser pspell_config_create() suivi immédiatement par pspell_new_config() produira exactement le même résultat. Cependant, après avoir créé une nouvelle configuration, vous pouvez aussi utiliser les fonctions pspell_config_*() avant d'appeler pspell_new_config() pour tirer profit des fonctionnalités avancées.

Pour davantage d'information et d'exemples, jetez un oeil au manuel en ligne sur le site de pspell : » http://aspell.net/.

Liste de paramètres

language

Le paramètre de langage language est le code de langue en deux lettres, défini dans la norme ISO 639, et deux lettres optionnelles ISO 3166, après un tiret ou un souligné (_).

spelling

Le paramètre d'orthographe spelling est nécessaire pour les langues qui ont plus d'une orthographe, comme l'anglais. Les valeurs reconnues sont alors 'american' (américain) , 'british' (anglais), et 'canadian' (canadien).

jargon

Le paramètre de jargon jargon contient des informations supplémentaires pour distinguer deux dictionnaires distincts pour la même langue et le même paramètre d'orthographe spelling.

encoding

Le paramètre d'encodage encoding indique l'encodage attendu pour la réponse. Les valeurs valides sont : 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Ce paramètre n'a pas été testé de manière exhaustive, alors soyez prudent.

Valeurs de retour

Retourne une ressource pspell config, ou FALSE en cas d'erreur.

Exemples

Exemple #1 pspell_config_create()

<?php
$pspell_config = pspell_config_create("fr");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal($pspell_config, "fr");
?>

pspell_clear_session
pspell_config_data_dir
Fonctions Pspell


Dossier qui contient les fichiers de données linguistiques

pspell_config_create
pspell_config_dict_dir
Fonctions Pspell
PHP Manual

pspell_config_data_dir

(PHP 5)

pspell_config_data_dir — Dossier qui contient les fichiers de données linguistiques

Description

bool pspell_config_data_dir ( int $conf , string $directory )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

pspell_config_create
pspell_config_dict_dir
Fonctions Pspell


Endroit où se trouve le fichier global des mots

pspell_config_data_dir
pspell_config_ignore
Fonctions Pspell
PHP Manual

pspell_config_dict_dir

(PHP 5)

pspell_config_dict_dir — Endroit où se trouve le fichier global des mots

Description

bool pspell_config_dict_dir ( int $conf , string $directory )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

pspell_config_data_dir
pspell_config_ignore
Fonctions Pspell


Ignore les mots de moins de N caractères

pspell_config_dict_dir
pspell_config_mode
Fonctions Pspell
PHP Manual

pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_ignore — Ignore les mots de moins de N caractères

Description

bool pspell_config_ignore ( int $dictionary_link , int $n )

pspell_config_ignore() doit être utilisée avec une configuration avant d'appeler pspell_new_config(). Cette fonction permet au vérificateur d'ignorer les mots courts.

Liste de paramètres

dictionary_link

n

Les mots de moins de n caractères seront ignorés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_config_ignore()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");  // Ce mot ne provoquera pas d'erreur
?>

pspell_config_dict_dir
pspell_config_mode
Fonctions Pspell


Change le mode de suggestion

pspell_config_ignore
pspell_config_personal
Fonctions Pspell
PHP Manual

pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_mode — Change le mode de suggestion

Description

bool pspell_config_mode ( int $dictionary_link , int $mode )

pspell_config_mode() doit être appelée dans une configuration avant pspell_new_config(). Cette fonction détermine le nombre de suggestions qui seront retournées par pspell_suggest().

Liste de paramètres

dictionary_link

mode

Le paramètre de mode est le mode de travail du vérificateur d'orthographe. Plusieurs modes sont disponibles :

  • PSPELL_FAST - Mode rapide (moins de suggestions)
  • PSPELL_NORMAL - Mode normal (plus de suggestions)
  • PSPELL_BAD_SPELLERS - Mode lent (beaucoup plus de suggestions)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pspell_config_mode()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

pspell_config_ignore
pspell_config_personal
Fonctions Pspell


Choisit le fichier qui contient le dictionnaire personnel

pspell_config_mode
pspell_config_repl
Fonctions Pspell
PHP Manual

pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_personal — Choisit le fichier qui contient le dictionnaire personnel

Description

bool pspell_config_personal ( int $dictionary_link , string $file )

Choisit le fichier qui contient le dictionnaire personnel. Le dictionnaire personnel sera chargé et utilisé en plus du dictionnaire standard, une fois que vous aurez appelé pspell_new_config(). Le fichier est aussi là où pspell_save_wordlist() sauvegardera le dictionnaire personnel.

pspell_config_personal() doit être appelée dans une configuration avant d'appeler pspell_new_config().

Liste de paramètres

dictionary_link

file

Le dictionnaire personnel. Si le fichier n'existe pas, il sera créé. Le fichier doit être accessible en écriture pour l'utilisateur invoquant PHP (ex. nobody).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_config_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Notes

Note: Cette fonction ne marchera qu'avec pspell .11.2 et aspell .32.5 ou ultérieurs.

pspell_config_mode
pspell_config_repl
Fonctions Pspell


Choisit le fichier qui contient les paires de remplacement

pspell_config_personal
pspell_config_runtogether
Fonctions Pspell
PHP Manual

pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_repl — Choisit le fichier qui contient les paires de remplacement

Description

bool pspell_config_repl ( int $dictionary_link , string $file )

Choisit le fichier qui contient les paires de remplacement.

Les paires de remplacement améliorent la qualité du vérificateur. Lorsqu'un mot est mal orthographié et qu'aucune suggestion valable n'est trouvée dans le dictionnaire, pspell_store_replacement() sera utilisée pour enregistrer une paire de remplacement et pspell_save_wordlist() pour sauver le dictionnaire avec les paires de remplacement.

pspell_config_repl() doit être utilisé avec une configuration avant d'appeler pspell_new_config().

Liste de paramètres

dictionary_link

file

Le fichier doit être accessible en écriture pour l'utilisateur invoquant PHP (ex. nobody).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_config_repl()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

Notes

Note: Cette fonction ne marchera qu'avec pspell .11.2 et aspell .32.5 ou ultérieurs.

pspell_config_personal
pspell_config_runtogether
Fonctions Pspell


Considère deux mots accolés comme un composé

pspell_config_repl
pspell_config_save_repl
Fonctions Pspell
PHP Manual

pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_runtogether — Considère deux mots accolés comme un composé

Description

bool pspell_config_runtogether ( int $dictionary_link , bool $flag )

Cette fonction indique si deux mots accolés doivent être traités comme un composé valide. Ainsi "lechat" sera traité comme un composé valide bien qu'il devrait y avoir un espace entre ces deux mots. Modifier cette configuration n'affecte que les résultats retournés par pspell_check(); pspell_suggest() retournera toujours des suggestions.

pspell_config_runtogether() doit être appelée dans une configuration avant pspell_new_config().

Liste de paramètres

dictionary_link

flag

TRUE si deux mots accolés doivent être traités comme un composé valide, FALSE sinon.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_config_runtogether()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_runtogether($pspell_config, true);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");
?>

pspell_config_repl
pspell_config_save_repl
Fonctions Pspell


Détermine s'il faut sauver les paires de remplacement avec le dictionnaire

pspell_config_runtogether
pspell_new_config
Fonctions Pspell
PHP Manual

pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_save_repl — Détermine s'il faut sauver les paires de remplacement avec le dictionnaire

Description

bool pspell_config_save_repl ( int $dictionary_link , bool $flag )

pspell_config_save_repl() détermine si pspell_save_wordlist() doit sauver les paires de remplacement avec le dictionnaire. Généralement, il n'y a pas besoin d'utiliser cette fonction car, si pspell_config_repl() est utilisée, les paires de remplacement seront sauvées de toute façon par pspell_save_wordlist(), et, si ce n'est pas le cas, elles ne le seront pas.

pspell_config_save_repl() doit être appelée dans une configuration avant d'appeler pspell_new_config().

Liste de paramètres

dictionary_link

flag

TRUE si les paires de remplacement doivent être sauvées, FALSE sinon.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction ne marchera qu'avec pspell .11.2 et aspell .32.5 ou ultérieurs.

pspell_config_runtogether
pspell_new_config
Fonctions Pspell


Charge un nouveau dictionnaire avec les paramètres spécifiés dans une configuration

pspell_config_save_repl
pspell_new_personal
Fonctions Pspell
PHP Manual

pspell_new_config

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_config — Charge un nouveau dictionnaire avec les paramètres spécifiés dans une configuration

Description

int pspell_new_config ( int $config )

pspell_new_config() ouvre un nouveau dictionnaire avec les paramétrages de la configuration config, créée avec pspell_config_create() et modifiée avec les fonctions pspell_config_*(). Cette méthode vous donne le maximum de flexibilité, et dispose de toutes les fonctionnalités fournies par pspell_new() et pspell_new_personal().

Liste de paramètres

config

Le config est celui qui est retourné par pspell_config_create() lorsque la configuration est créée.

Valeurs de retour

Retourne un identifiant de dictionnaire en cas de succès.

Exemples

Exemple #1 pspell_new_config()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);
?>

pspell_config_save_repl
pspell_new_personal
Fonctions Pspell


Charge un nouveau dictionnaire avec un dictionnaire personnel

pspell_new_config
pspell_new
Fonctions Pspell
PHP Manual

pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_personal — Charge un nouveau dictionnaire avec un dictionnaire personnel

Description

int pspell_new_personal ( string $personal , string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new_personal() charge un nouveau dictionnaire avec un dictionnaire personnel. Ce dernier peut être modifié et sauvé avec pspell_save_wordlist(). Cependant, les paires de remplacement ne seront pas sauvées. Pour ce faire, vous devez créer une configuration qui utilise pspell_config_create(), choisir le fichier de destination du dictionnaire personnel avec pspell_config_personal(), choisir le fichier de paires de remplacement avec pspell_config_repl() et ouvrir un nouveau dictionnaire avec pspell_new_config().

Pour davantage d'information et d'exemples, jetez un oeil sur le manuel en ligne sur le site web de pspell : » http://aspell.net/.

Liste de paramètres

personal

Le fichier où seront ajoutés les mots du dictionnaire personnel. Ce doit être un chemin absolu, qui commence par '/' car, sinon, il sera relatif à $HOME, qui est "/root" sur la plupart des systèmes, et probablement pas ce que vous souhaitez.

language

Le paramètre de langage language est le code de langue ISO 639 en deux lettres, suivi de deux lettres optionnelles ISO 3166, après un tiret ou un souligné (_).

spelling

Le paramètre d'orthographe spelling est nécessaire pour les langues qui ont plus d'une orthographe, comme l'anglais. Les valeurs reconnues sont alors 'american' (américain) , 'british' (anglais), et 'canadian' (canadien).

jargon

Informations supplémentaires pour distinguer deux dictionnaires distincts pour la même langue et le même paramètre d'orthographe spelling.

encoding

L'encodage attendu pour la réponse. Les valeurs valides sont : utf-8, iso8859-*, koi8-r, viscii, cp1252, machine unsigned 16, machine unsigned 32.

mode

Le mode de travail du vérificateur d'orthographe. Plusieurs modes sont disponibles :

  • PSPELL_FAST - Mode rapide (moins de suggestions)
  • PSPELL_NORMAL - Mode normal (plus de suggestions)
  • PSPELL_BAD_SPELLERS - Mode lent (beaucoup plus de suggestions)
  • PSPELL_RUN_TOGETHER - Considère les mots attachés comme légaux. De ce fait, "lechat" sera un mot composé légal, bien qu'il devrait y avoir un espace entre les deux mots. Changer cette configuration n'affecte que le résultat retourné par pspell_check(); pspell_suggest() continuera de retourner les suggestions.
Le mode est un masque construit depuis les différentes constantes listées ci-dessous. Cependant, les constantes PSPELL_FAST, PSPELL_NORMAL et PSPELL_BAD_SPELLERS sont mutuellement exclusives, donc vous ne devez sélectionner qu'une seule d'entre elles.

Valeurs de retour

Retourne l'identifiant de dictionnaire à utiliser avec les autres fonctions pspell.

Exemples

Exemple #1 pspell_new_personal()

<?php
$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>

pspell_new_config
pspell_new
Fonctions Pspell


Charge un nouveau dictionnaire

pspell_new_personal
pspell_save_wordlist
Fonctions Pspell
PHP Manual

pspell_new

(PHP 4 >= 4.0.2, PHP 5)

pspell_new — Charge un nouveau dictionnaire

Description

int pspell_new ( string $language [, string $spelling [, string $jargon [, string $encoding [, int $mode = 0 ]]]] )

pspell_new() ouvre un nouveau dictionnaire et retourne un identifiant de dictionnaire, pour être utilisé avec d'autres fonctions pspell.

Pour plus d'informations et d'exemples, reportez-vous au site » http://aspell.net/.

Liste de paramètres

language

Le paramètre de langue spelling est constitué des deux lettres du codage de langue ISO 639, et du codage optionnel de pays ISO 3166, séparés par un '_'.

spelling

Ce paramètre est nécessaire pour les langues qui ont plus d'une orthographe, comme l'anglais ou le français. Les valeurs reconnues sont 'american', 'british', et 'canadian'.

jargon

Le paramètre jargon contient des informations supplémentaires pour distinguer deux listes de mots qui ont le même marquage de langue et d'orthographe.

encoding

Le paramètre encoding est le type d'encodage des mots. Les valeurs valides sont 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Ce paramètre n'ayant pas été testé de façon exhaustive, il convient d'être prudent lors de son utilisation.

mode

Le paramètre mode est le mode de travail du vérificateur d'orthographe. Plusieurs modes sont disponibles :

  • PSPELL_FAST - Mode rapide (moins de suggestions)
  • PSPELL_NORMAL - Mode normal (plus de suggestions)
  • PSPELL_BAD_SPELLERS - Mode lent (beaucoup plus de suggestions)
  • PSPELL_RUN_TOGETHER - Considère que des mots accolés forment un composé autorisé. Ainsi, "lechat" sera un composé valide. Cette option ne modifie que les résultats retournés par pspell_check(); pspell_suggest() retournera toujours des suggestions.
mode est un masque construit à partir des constantes listées ci-dessus. Cependant, PSPELL_FAST, PSPELL_NORMAL et PSPELL_BAD_SPELLERS sont mutuellement exclusives : vous ne devez en utiliser à la fois.

Valeurs de retour

Retourne l'identifiant de dictionnaire en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_new()

<?php
$pspell_link = pspell_new("en", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

pspell_new_personal
pspell_save_wordlist
Fonctions Pspell


Sauve le dictionnaire personnel dans un fichier

pspell_new
pspell_store_replacement
Fonctions Pspell
PHP Manual

pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5)

pspell_save_wordlist — Sauve le dictionnaire personnel dans un fichier

Description

bool pspell_save_wordlist ( int $dictionary_link )

pspell_save_wordlist() sauve le dictionnaire personnel de la session courante. La localisation des fichiers doit avoir été spécifiée avec pspell_config_personal() et (éventuellement) pspell_config_repl().

Liste de paramètres

dictionary_link

Un identifiant de dictionnaire ouvert avec pspell_new_personal().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell_link, "Vlad");
pspell_save_wordlist($pspell_link);
?>

Notes

Note: Cette fonction ne marchera qu'avec pspell .11.2 et aspell .32.5 ou ultérieurs.

pspell_new
pspell_store_replacement
Fonctions Pspell


Enregistre une paire de remplacement pour un mot

pspell_save_wordlist
pspell_suggest
Fonctions Pspell
PHP Manual

pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5)

pspell_store_replacement — Enregistre une paire de remplacement pour un mot

Description

bool pspell_store_replacement ( int $dictionary_link , string $misspelled , string $correct )

pspell_store_replacement() enregistre une paire de remplacement pour un mot de façon à ce que cette suggestion soit retournée par pspell_suggest() plus tard. Pour pouvoir utiliser cette fonction, vous devez utiliser pspell_new_personal() pour ouvrir le dictionnaire. Pour pouvoir sauver tout le temps les paires de remplacement, vous devez utiliser pspell_config_personal() et pspell_config_repl() pour indiquer le lieu de sauvegarde des dictionnaires personnels, et pspell_save_wordlist() pour enregistrer les modifications sur le disque.

Liste de paramètres

dictionary_link

Un identifiant de dictionnaire, ouvert avec pspell_new_personal()

misspelled

Le mot mal orthographié.

correct

La bonne orthographe du mot misspelled.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 pspell_store_replacement()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config($pspell_config);

pspell_store_replacement($pspell_link, $misspelled, $correct);
pspell_save_wordlist($pspell_link);
?>

Notes

Note: Cette fonction ne marchera qu'avec pspell .11.2 et aspell .32.5 ou ultérieurs.

pspell_save_wordlist
pspell_suggest
Fonctions Pspell


Suggère l'orthographe d'un mot

pspell_store_replacement
Recode
Fonctions Pspell
PHP Manual

pspell_suggest

(PHP 4 >= 4.0.2, PHP 5)

pspell_suggest — Suggère l'orthographe d'un mot

Description

array pspell_suggest ( int $dictionary_link , string $word )

pspell_suggest() retourne un tableau de suggestions pour le mot word.

Liste de paramètres

dictionary_link

word

Le mot testé.

Valeurs de retour

Retourne un tableau de suggestions pour le mot word.

Exemples

Exemple #1 Exemple avec pspell_suggest()

<?php
$pspell_link = pspell_new("en");

if (!pspell_check($pspell_link, "testt")) {
    $suggestions = pspell_suggest($pspell_link, "testt");

    foreach ($suggestions as $suggestion) {
        echo "Orthographes suggérées : $suggestion<br />";
    }
}
?>

pspell_store_replacement
Recode
Fonctions Pspell


GNU Recode

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Recode Fonctions
    • recode_file — Recodage de fichier à fichier, en fonction de la demande
    • recode_string — Recode une chaîne en fonction de la requête
    • recode — Alias de recode_string
pspell_suggest
Introduction
Support du langage humain et de l'encodage de caractères


Introduction

Ce module contient une interface à la bibliothèque GNU Recode. La bibliothèque GNU Recode convertit les fichiers entre divers codages. Lorsque cette conversion n'a pu être effectuée de manière précise, des approximations sont effectuées. La bibliothèque reconnait environs 150 jeux de caractères différents et est capable de convertir des fichiers en les utilisant. La plupart des jeux de caractères » RFC 1345 sont supportés.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Recode
Installation/Configuration
Recode


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Recode


Pré-requis

Vous devez avoir GNU Recode 3.5 ou supérieur installé sur votre système. Vous pouvez télécharger le paquet depuis » http://directory.fsf.org/All_GNU_Packages/recode.html.

Avertissement

La version 3.6 de la bibliothèque Recode ajoute des caractères étranges à la suite des chaînes converties sous certaines circonstances. Aussi, il est préférable d'utiliser Recode v3.5 ou une bibliothèque alternative disponible, comme l'extension iconv ou l'extension mbstring.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour utiliser ces fonctions, vous devez compiler PHP avec l'option--with-recode[=DIR].

Avertissement

Des crashs et des problèmes de démarrage de PHP peuvent être rencontrés lorsque l'extension recode est chargée APRES les extensions MySQL ou imap. Charger l'extension recode avant ces deux extensions corrige le problème. Ceci est dû à un problème technique car la bibliothèque c-client de IMAP et recode ont toutes les deux leur propre fonction hash_lookup() et les extensions mysql et recode ont toutes les deux leur fonction hash_insert.

Avertissement

Les extensions IMAP, recode, YAZ et Cyrus ne peuvent être utilisées simultanément puisqu'elles utilisent un symbole interne commun. Note: Yaz 2.0 et supérieur ne sont pas affectés par ce problème.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Recode Fonctions
Recode


Recode Fonctions

Sommaire

  • recode_file — Recodage de fichier à fichier, en fonction de la demande
  • recode_string — Recode une chaîne en fonction de la requête
  • recode — Alias de recode_string
Constantes pré-définies
recode_file
Recode


Recodage de fichier à fichier, en fonction de la demande

Recode Fonctions
recode_string
Recode Fonctions
PHP Manual

recode_file

(PHP 4, PHP 5)

recode_file — Recodage de fichier à fichier, en fonction de la demande

Description

bool recode_file ( string $request , resource $input , resource $output )

Recode le fichier identifié par input dans le fichier identifié par output en fonction de la requête de recodage request.

Liste de paramètres

request

Le type de requête recode désiré

input

Un gestionnaire de fichier local pour le paramètre input

output

Un gestionnaire de fichier local pour le paramètre output

Valeurs de retour

Retourne FALSE, en cas d'échec, et TRUE sinon.

Exemples

Exemple #1 Exemple avec recode_file()

<?php
$input = fopen('input.txt', 'r');
$output = fopen('output.txt', 'w');
recode_file("us..flat", $input, $output);
?>

Notes

Cette fonction ne gère pas encore les fichiers distants (URL). Les deux fichiers doivent faire référence à des fichiers locaux.

Voir aussi

  • fopen() - Ouvre un fichier ou une URL

Recode Fonctions
recode_string
Recode Fonctions


Recode une chaîne en fonction de la requête

recode_file
recode
Recode Fonctions
PHP Manual

recode_string

(PHP 4, PHP 5)

recode_string — Recode une chaîne en fonction de la requête

Description

string recode_string ( string $request , string $string )

Recode la chaîne string en fonction de la requête request.

Liste de paramètres

request

Le type de requête recode désiré

string

La chaîne de caractères à recoder

Valeurs de retour

Retourne la chaîne recodée en cas de succès et FALSE sinon.

Exemples

Exemple #1 Exemple avec recode_string()

<?php
echo recode_string("us..flat", "Le caractère suivant est diacritique : &aacute;");
?>

Notes

Une requête simple de recodage peut être "lat1..iso646-de".

Voir aussi

  • Reportez-vous à la documentation GNU Recode de votre installation pour plus de détails sur les requêtes.

recode_file
recode
Recode Fonctions


Alias de recode_string

recode_string
Génération et traitement des images
Recode Fonctions
PHP Manual

recode

(PHP 4, PHP 5)

recode — Alias de recode_string()

Description

Cette fonction est un alias de : recode_string().

recode_string
Génération et traitement des images
Recode Fonctions


Génération et traitement des images

  • Exif — Informations Exif
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Exif
  • GD — Traitement des images et GD
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions GD et images
  • ImageMagick — Traitement des images (ImageMagick)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • La classe Imagick
    • La classe ImagickDraw
    • La classe ImagickPixel
    • La classe ImagickPixelIterator
  • Gmagick
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Gmagick — La classe Gmagick
    • GmagickDraw — La classe GmagickDraw
    • GmagickPixel — La classe GmagickPixel
  • Cairo
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Cairo
    • Cairo — The Cairo class
    • CairoContext — The CairoContext class
    • CairoException — The CairoException class
    • CairoStatus — The CairoStatus class
    • CairoSurface — La classe CairoSurface
    • CairoSvgSurface — La classe CairoSvgSurface
    • CairoImageSurface — The CairoImageSurface class
    • CairoPdfSurface — La classe CairoPdfSurface
    • CairoPsSurface — La classe CairoPsSurface
    • CairoSurfaceType — La classe CairoSurfaceType
    • CairoFontFace — The CairoFontFace class
    • CairoFontOptions — The CairoFontOptions class
    • CairoFontSlant — The CairoFontSlant class
    • CairoFontType — The CairoFontType class
    • CairoFontWeight — The CairoFontWeight class
    • CairoScaledFont — La classe CairoScaledFont
    • CairoToyFontFace — La classe CairoToyFontFace
    • CairoPatternType — The CairoPatternType class
    • CairoPattern — The CairoPattern class
    • CairoGradientPattern — The CairoGradientPattern class
    • CairoSolidPattern — La classe CairoSolidPattern
    • CairoSurfacePattern — La classe CairoSurfacePattern
    • CairoLinearGradient — The CairoLinearGradient class
    • CairoRadialGradient — La classe CairoRadialGradient
    • CairoAntialias — The CairoAntialias class
    • CairoContent — The CairoContent class
    • CairoExtend — The CairoExtend class
    • CairoFormat — The CairoFormat class
    • CairoFillRule — The CairoFillRule class
    • CairoFilter — The CairoFilter class
    • CairoHintMetrics — The CairoHintMetrics class
    • CairoHintStyle — The CairoHintStyle class
    • CairoLineCap — The CairoLineCap class
    • CairoLineJoin — La classe CairoLineJoin
    • CairoMatrix — The CairoMatrix class
    • CairoOperator — The CairoOperator class
    • CairoPath — La classe CairoPath
    • CairoPsLevel — La classe CairoPsLevel
    • CairoSubpixelOrder — La classe CairoSubpixelOrder
    • CairoSvgVersion — La classe CairoSvgVersion
recode
Exif
Référence des fonctions


Informations Exif

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Exif
    • exif_imagetype — Détermine le type d'une image
    • exif_read_data — Lit les en-têtes EXIF dans les images JPEG ou TIFF
    • exif_tagname — Lit le nom d'en-tête EXIF d'un index
    • exif_thumbnail — Récupère la miniature d'une image TIFF ou JPEG
    • read_exif_data — Alias de exif_read_data
Génération et traitement des images
Introduction
Génération et traitement des images


Introduction

Avec l'extension exif, vous pouvez travailler sur les données méta des images. Par exemple, vous devez utiliser les fonctions exif pour lire les données méta des images prises par des appareils numériques, stockées dans l'en-tête des images JPEG et TIFF.

Exif
Installation/Configuration
Exif


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Exif


Pré-requis

Votre PHP doit être compilé avec l'option --enable-exif. PHP n'a besoin d'aucune bibliothèque additionnelle pour faire fonctionner le module exif. Les utilisateurs de Windows doivent également activer l'extension mbstring.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour activer le support EXIF en PHP, il suffit d'ajouter l'option de compilation --enable-exif.

Les utilisateurs Windows doivent s'assurer que les bibliothèques DLL php_mbstring.dll et php_exif.dll sont spécifiées dans le fichier php.ini. La bibliothèque php_mbstring.dll doit être chargée avant la bibliothèque php_exif.dll : pensez à ajuster votre php.ini.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

EXIF supporte automatiquement la conversion depuis Unicode et JIS, lorsque le module mbstring est compilé avec PHP. Cela se fait en décodant le commentaire avec le jeu de caractères spécifié. Le résultat est ensuite codé avec un autre jeu de caractères, compatible avec la sortie HTTP.

Options de configuration Exif
Nom | Défaut | Modifiable | Historique
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

exif.encode_unicode string

exif.encode_unicode définit la méthode de gestion des commentaires écrits en Unicode. La valeur par défaut est ISO-8859-15, qui devrait fonctionner dans tous les pays non-asiatiques. Cette directive peut être laissée vide, ou prendre un des jeux de caractères supporté par mbstring. Si elle est vide, le jeu de caractères interne de mbstring sera utilisé.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola définit le jeu de caractères de remplacement pour les commentaires utilisateurs écrits en Unicode, si l'ordre des bits est celui de Motorola (big-endian). Cette directive ne peut être laissée vide, et doit être un des jeux de caractères supportés par l'extension mbstring. La valeur par défaut est UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel définit le jeu de caractères de remplacement pour les commentaires utilisateurs écrits en Unicode, si l'ordre des bits est celui de Intel (little-endian). Cette directive ne peut être laissée vide, et doit être un des jeux de caractères supportés par l'extension mbstring. La valeur par défaut est UCS-2LE.

exif.encode_jis string

exif.encode_jis définit la méthode de gestion des commentaires écrits en caractères JIS. La valeur par défaut est une chaîne vide, qui fait que le jeu de caractères interne de mbstring est utilisé.

exif.decode_jis_motorola string

exif.decode_jis_motorola définit le jeu de caractères de remplacement pour les commentaires utilisateurs écrits en JIS, si l'ordre des bits est celui de Motorola (big-endian). Cette directive ne peut être laissée vide, et doit être un des jeux de caractères supportés par l'extension mbstring. La valeur par défaut est JIS.

exif.decode_jis_intel string

exif.decode_jis_intel définit le jeu de caractères de remplacement pour les commentaires utilisateurs écrits en JIS, si l'ordre des bits est celui de Intel (little-endian). Cette directive ne peut être laissée vide, et doit être un des jeux de caractères supportés par l'extension mbstring. La valeur par défaut est JIS.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

EXIF_USE_MBSTRING (entier)

La fonction exif_imagetype() liste plusieurs constantes connexes.

Types de ressources
Fonctions Exif
Exif


Fonctions Exif

Sommaire

  • exif_imagetype — Détermine le type d'une image
  • exif_read_data — Lit les en-têtes EXIF dans les images JPEG ou TIFF
  • exif_tagname — Lit le nom d'en-tête EXIF d'un index
  • exif_thumbnail — Récupère la miniature d'une image TIFF ou JPEG
  • read_exif_data — Alias de exif_read_data
Constantes pré-définies
exif_imagetype
Exif


Détermine le type d'une image

Fonctions Exif
exif_read_data
Fonctions Exif
PHP Manual

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetype — Détermine le type d'une image

Description

int exif_imagetype ( string $filename )

exif_imagetype() lit les premiers octets du fichier d'image filename, et vérifie sa signature.

exif_imagetype() peut être utilisée pour éviter les appels aux autres fonctions exif pour les formats de fichiers qui ne sont pas supportés, ou en conjonction avec $_SERVER['HTTP_ACCEPT'] pour vérifier si l'utilisateur pourra voir cette image dans son navigateur.

Liste de paramètres

filename
L'image à vérifier.

Valeurs de retour

Lorsqu'une valeur valide est trouvée, la constante appropriée est retournée, et sinon, FALSE. La valeur retournée est la même que la fonction getimagesize() à l'index 2, mais cette fonction est bien plus rapide.

Historique

Version | Description
4.3.2 | Support pour JPC, JP2, JPX, JB2, XBM et WBMP
4.3.0 | Support pour SWC

Constantes pré-définies

Les constantes suivantes sont définies et représentent les valeurs possibles de retour de la fonction exif_imagetype() :

Constantes de type d'images
Valeur | Constante
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (ordre d'octets d'Intel)
8 | IMAGETYPE_TIFF_MM (ordre d'octets Motorola)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM

Exemples

Exemple #1 Exemple avec exif_imagetype()

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'Cette image n\'est pas un gif';
}
?>

Voir aussi

  • getimagesize() - Retourne la taille d'une image

Fonctions Exif
exif_read_data
Fonctions Exif


Lit les en-têtes EXIF dans les images JPEG ou TIFF

exif_imagetype
exif_tagname
Fonctions Exif
PHP Manual

exif_read_data

(PHP 4 >= 4.2.0, PHP 5)

exif_read_data — Lit les en-têtes EXIF dans les images JPEG ou TIFF

Description

array exif_read_data ( string $filename [, string $sections = NULL [, bool $arrays = false [, bool $thumbnail = false ]]] )

exif_read_data() lit les en-têtes EXIF des images JPEG et TIFF. Avec cette fonction, vous pouvez lire les données méta générées par les appareils photos numériques.

Les en-têtes EXIF tendent à être présents dans les images JPEG/TIFF générées par les appareils photos numériques, mais malheureusement, chaque appareil photo numérique a une idée différente de la façon dont leurs images doivent être marquées, donc, vous ne pouvez pas toujours compter sur un en-tête EXIF spécifique, bien que présent.

Les paramètres Height et Width sont calculés de la même façon que pour la fonction getimagesize(), donc leurs valeurs ne feront parties d'aucun en-tête retourné. De même, l'index html est la représentation textuelle de la hauteur/largeur utilisée dans une balise image HTML classique.

Lorsqu'un en-tête EXIF contient une note de Copyright, cet en-tête peut alors contenir lui-même deux valeurs. Comme cette solution est incohérente avec les standards EXIF 2.10, la section COMPUTED retournera les deux en-têtes, Copyright.Photographer et Copyright.Editor, tandis que les sections IFD0 contiennent le tableau d'octets avec des caractères NULL pour séparer les deux entrées ; ou bien, juste la première entrée si le type de données était erroné (comportement par défaut de EXIF). La section COMPUTED va aussi contenir une entrée Copyright, qui sera soit la chaîne originale de copyright, soit une liste de valeurs séparées par des virgules de photos et de copyright de l'auteur.

La balise UserComment présente le même problème que la balise Copyright. Elle peut stocker deux valeurs : en premier, le jeu de caractères utilisé, puis la valeur elle-même. Si c'est le cas, la section IFD contiendra uniquement le jeu de caractères, ou bien un tableau d'octets. La section COMPUTED va stocker les deux entrées UserCommentEncoding et UserComment. L'index UserComment est disponible dans les deux cas, et il est préférable de l'utiliser, plutôt que la valeur de la section IFD0.

exif_read_data() valide les données des balises EXIF en accord avec la spécification EXIF (» http://exif.org/Exif2-2.PDF, page 20).

Note: Windows ME/XP peuvent endommager les en-têtes EXIF lors de la connexion à la caméra. Plus d'informations disponibles sur » http://www.canon.co.jp/Imaging/NOTICE/011214-e.html.

Liste de paramètres

filename

Le nom du fichier image à lire. Il ne peut pas être une URL.

sections

Liste de valeur séparées par des virgules des sections qui devront être présentées dans le tableau de résultat. Si aucune des sections demandées n'est trouvée, la valeur retournée est FALSE.

FILE | FileName (nom du ficher), FileSize (taille du fichier), FileDateTime (date de modification du fichier), SectionsFound (sections trouvées)
COMPUTED | Attribut Html, largeur, hauteur, couleur ou noir et blanc et plus si disponible. La largeur et la hauteur sont calculées de la même façon que la fonction getimagesize(), donc, leurs valeurs ne devraient jamais différer. De même, l'index html est la représentation textuelle de la hauteur/largeur utilisée dans une balise image HTML classique.
ANY_TAG | Toutes les informations concernant cette balise, comme IFD0, EXIF, ...
IFD0 | Toutes les balises IFD0. Dans les images normales, ils contiennent les dimensions de l'image, etc.
THUMBNAIL | Un fichier qui contient une miniature, s'il y a un second IFD. Toutes les informations mises en balises à propos de cette miniature seront stockées dans cette section.
COMMENT | En-tête de commentaire des images JPEG.
EXIF | La section EXIF est une sous section de la section IFD0. Elle contient des informations plus détaillées sur les images. La plupart de ces index sont reliés aux appareils numériques.

arrays

Spécifie si chaque section doit être un tableau ou non. Les sections COMPUTED, THUMBNAIL et COMMENT seront toujours transformées en tableau, car elle contiennent des noms qui risquent d'être en conflit.

thumbnail

Lorsque défini à TRUE, la miniature elle-même est lue. Sinon, seules les données contenues dans le taf seront lues.

Valeurs de retour

Retourne un tableau associatif où les indexes sont les noms des en-têtes et les valeurs sont les valeurs associées à ces en-têtes. Si aucune donnée ne peut être retournée, exif_read_data() retournera FALSE.

Historique

Version | Description
4.3.0 | Peut aussi lire les sections IFD incluses dans les tableaux, et retournées sous cette forme. De plus, la taille d'une miniature intégrée est retournée dans le sous tableau THUMBNAIL et la fonction exif_read_data() peut retourner les miniatures au format TIFF. Enfin, il n'y a plus de longueur maximale pour les valeurs renvoyées (hormis la place en mémoire).
4.3.0 | Si PHP a été compilé avec le support mbstring, les commentaires utilisateurs peuvent changés automatiquement de jeu de caractères. De plus, si les commentaires utilisateurs utilisent l'encodage Unicode ou JIS, cet encodage sera automatiquement modifié en accord avec le paramètre de configuration exif du php.ini.
4.3.0 | Si l'image contient des données IFD0, alors la section COMPUTED contient l'entrée ByteOrderMotorola qui vaut 0 pour little-endian (Intel) et 1 pour big-endian (Motorola). En outre, les sections COMPUTED et UserComment ne contiennent as seulement la première entrée de l'index copyright si les données sont fausses.

Exemples

Exemple #1 Exemple avec exif_read_data()

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "Aucun en-tête de donnés n'a été trouvé.<br />\n" : "L'image contient des en-têtes<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

Le premier appel échoue car l'image n'a pas d'en-tête d'information.

L'exemple ci-dessus va afficher quelque chose de similaire à :

test1.jpg:
Aucun en-tête de donnés n'a été trouvé.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Voir aussi

  • exif_thumbnail() - Récupère la miniature d'une image TIFF ou JPEG
  • getimagesize() - Retourne la taille d'une image

exif_imagetype
exif_tagname
Fonctions Exif


Lit le nom d'en-tête EXIF d'un index

exif_read_data
exif_thumbnail
Fonctions Exif
PHP Manual

exif_tagname

(PHP 4 >= 4.2.0, PHP 5)

exif_tagname — Lit le nom d'en-tête EXIF d'un index

Description

string exif_tagname ( int $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index de l'image

Valeurs de retour

exif_tagname() retourne FALSE si index est indéfini, sinon, elle retourne le nom de l'en-tête.

Voir aussi

  • exif_imagetype() - Détermine le type d'une image

exif_read_data
exif_thumbnail
Fonctions Exif


Récupère la miniature d'une image TIFF ou JPEG

exif_tagname
read_exif_data
Fonctions Exif
PHP Manual

exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5)

exif_thumbnail — Récupère la miniature d'une image TIFF ou JPEG

Description

string exif_thumbnail ( string $filename [, int &$width [, int &$height [, int &$imagetype ]]] )

exif_thumbnail() lit la miniature de l'image TIFF ou JPEG dans le fichier filename.

Si vous voulez afficher des miniatures avec cette fonction, vous devez envoyer le bon type MIME avec la fonction header().

Il est possible que la fonction exif_thumbnail() n'arrive pas à créer l'image mais peut déterminer sa taille. Dans ce cas, la fonction retourne FALSE mais les paramètres width et height sont définis.

Liste de paramètres

filename

Le nom du fichier image à lire. Cette image contient une miniature.

width

La largeur retournée de la miniature retournée.

height

La hauteur retournée de la miniature retournée.

imagetype

Le type de l'image retourné de la miniature retournée. Peut être soit TIFF, soit JPEG.

Valeurs de retour

Retourne la miniature embarquée ou FALSE si l'image ne contient pas de miniature.

Historique

Version | Description
4.3.0 | Les paramètres optionnels width, height et imagetype deviennent disponibles.
4.3.0 | Les miniatures peuvent être retournées dans le format TIFF.

Exemples

Exemple #1 Exemple avec exif_thumbnail()

<?php
if (array_key_exists('file', $_REQUEST)) {
    $image = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $image = false;
}
if ($image!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $image;
    exit;
} else {
    // aucune miniature de disponible, traitement de l'erreur ici
    echo 'No thumbnail available';
}
?>

Voir aussi

  • exif_read_data() - Lit les en-têtes EXIF dans les images JPEG ou TIFF
  • image_type_to_mime_type() - Lit le Mime-Type d'un type d'image

exif_tagname
read_exif_data
Fonctions Exif


Alias de exif_read_data

exif_thumbnail
GD
Fonctions Exif
PHP Manual

read_exif_data

(PHP 4 >= 4.0.1, PHP 5)

read_exif_data — Alias de exif_read_data()

Description

Cette fonction est un alias de : exif_read_data().

exif_thumbnail
GD
Fonctions Exif


Traitement des images et GD

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Création d'une image PNG avec PHP
    • Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha
    • Exemple avec imagecopymerge pour créer un tatouage numérique translucide
  • Fonctions GD et images
    • gd_info — Retourne des informations à propos de la bibliothèque GD installée
    • getimagesize — Retourne la taille d'une image
    • image_type_to_extension — Retourne l'extension du fichier pour le type d'image
    • image_type_to_mime_type — Lit le Mime-Type d'un type d'image
    • image2wbmp — Crée une image WBMP
    • imagealphablending — Modifie le mode de blending d'une image
    • imageantialias — Utiliser ou non les fonctions d'antialias
    • imagearc — Dessine une ellipse partielle
    • imagechar — Dessine un caractère horizontalement
    • imagecharup — Dessine un caractère verticalement
    • imagecolorallocate — Alloue une couleur pour une image
    • imagecolorallocatealpha — Alloue une couleur à une image
    • imagecolorat — Retourne l'index de la couleur d'un pixel donné
    • imagecolorclosest — Retourne l'index de la couleur la plus proche d'une couleur donnée
    • imagecolorclosestalpha — Retourne la couleur la plus proche, en tenant compte du canal alpha
    • imagecolorclosesthwb — Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir
    • imagecolordeallocate — Supprime une couleur d'une image
    • imagecolorexact — Retourne l'index de la couleur donnée
    • imagecolorexactalpha — Retourne l'index d'une couleur avec son canal alpha
    • imagecolormatch — Fait correspondre un peu plus les couleurs de la version palette d'une image aux couleurs de sa version truecolor
    • imagecolorresolve — Retourne l'index de la couleur donnée, ou la plus proche possible
    • imagecolorresolvealpha — Retourne un index de couleur ou son alternative la plus proche, y compris le canal alpha
    • imagecolorset — Change la couleur dans une palette à l'index donné
    • imagecolorsforindex — Retourne la couleur associée à un index
    • imagecolorstotal — Calcule le nombre de couleurs d'une palette
    • imagecolortransparent — Définit la couleur transparente
    • imageconvolution — Applique une matrice de la convolution 3x3, en utilisant le coefficient et l'excentrage
    • imagecopy — Copie une partie d'une image
    • imagecopymerge — Copie et fusionne une partie d'une image
    • imagecopymergegray — Copie et fusionne une partie d'une image en niveaux de gris
    • imagecopyresampled — Copie, redimensionne, rééchantillonne une image
    • imagecopyresized — Copie et redimensionne une partie d'une image
    • imagecreate — Crée une nouvelle image à palette
    • imagecreatefromgd2 — Crée une nouvelle image à partir d'un fichier GD2 ou d'une URL
    • imagecreatefromgd2part — Crée une nouvelle image à partir d'une partie de fichier GD2 ou d'une URL
    • imagecreatefromgd — Crée une nouvelle image à partir d'un fichier GD ou d'une URL
    • imagecreatefromgif — Crée une nouvelle image à partir d'un fichier ou d'une URL
    • imagecreatefromjpeg — Crée une nouvelle image à partir d'un fichier ou d'une URL
    • imagecreatefrompng — Crée une nouvelle image à partir d'un fichier ou d'une URL
    • imagecreatefromstring — Crée une image à partir d'une chaîne
    • imagecreatefromwbmp — Crée une nouvelle image à partir d'un fichier ou d'une URL
    • imagecreatefromxbm — Crée une nouvelle image à partir d'un fichier ou d'une URL
    • imagecreatefromxpm — Crée une nouvelle image à partir d'un fichier ou d'une URL
    • imagecreatetruecolor — Crée une nouvelle image en couleurs vraies
    • imagedashedline — Dessine une ligne pointillée
    • imagedestroy — Détruit une image
    • imageellipse — Dessine une ellipse
    • imagefill — Remplissage
    • imagefilledarc — Dessine un arc partiel et le remplit
    • imagefilledellipse — Dessine une ellipse pleine
    • imagefilledpolygon — Dessine un polygone rempli
    • imagefilledrectangle — Dessine un rectangle rempli
    • imagefilltoborder — Remplit une région avec une couleur spécifique
    • imagefilter — Applique un filtre à une image
    • imagefontheight — Retourne la hauteur de la police
    • imagefontwidth — Retourne la largeur de la police
    • imageftbbox — Calcule le rectangle d'encadrement pour un texte, en utilisant la police courante et freetype2
    • imagefttext — Écrit du texte dans une image avec la police courante FreeType 2
    • imagegammacorrect — Applique une correction gamma à l'image GD
    • imagegd2 — Génère une image au format GD2, vers le navigateur ou un fichier
    • imagegd — Génère une image au format GD, vers le navigateur ou un fichier
    • imagegif — Envoie une image GIF vers un navigateur ou un fichier
    • imagegrabscreen — Capture l'écran complet
    • imagegrabwindow — Capture une fenêtre
    • imageinterlace — Active ou désactive l'entrelacement
    • imageistruecolor — Détermine si une image est une image truecolor
    • imagejpeg — Envoie une image JPEG vers un navigateur ou un fichier
    • imagelayereffect — Active l'option d'alpha blending, pour utiliser les effets de libgd
    • imageline — Dessine une ligne
    • imageloadfont — Charge une nouvelle police
    • imagepalettecopy — Copie la palette d'une image à l'autre
    • imagepng — Envoie une image PNG vers un navigateur ou un fichier
    • imagepolygon — Dessine un polygone
    • imagepsbbox — Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1
    • imagepsencodefont — Change le codage vectoriel d'un caractère dans une police
    • imagepsextendfont — Étend ou condense une police de caractères
    • imagepsfreefont — Libère la mémoire occupée par une police PostScript Type 1
    • imagepsloadfont — Charge une police PostScript Type 1 depuis un fichier
    • imagepsslantfont — Incline une police de caractères PostScript
    • imagepstext — Dessine un texte sur une image avec une police PostScript Type1
    • imagerectangle — Dessine un rectangle
    • imagerotate — Fait tourner une image d'un angle
    • imagesavealpha — Configure l'enregistrement des informations complètes du canal alpha lors de sauvegardes d'images PNG
    • imagesetbrush — Modifie la brosse pour le dessin des lignes
    • imagesetpixel — Dessine un pixel
    • imagesetstyle — Configure le style pour le dessin des lignes
    • imagesetthickness — Modifie l'épaisseur d'un trait
    • imagesettile — Modifie l'image utilisée pour le carrelage
    • imagestring — Dessine une chaîne horizontale
    • imagestringup — Dessine une chaîne verticale
    • imagesx — Retourne la largeur d'une image
    • imagesy — Retourne la hauteur de l'image
    • imagetruecolortopalette — Convertit une image en couleurs vraies en image à palette
    • imagettfbbox — Retourne le rectangle entourant un texte et dessiné avec une police TrueType
    • imagettftext — Dessine un texte avec une police TrueType
    • imagetypes — Retourne les types d'images supportés par la version courante de PHP
    • imagewbmp — Affiche une image WBMP
    • imagexbm — Génère une image au format XBM
    • iptcembed — Intègre des données binaires IPTC dans une image JPEG
    • iptcparse — Analyse un bloc binaire IPTC et recherche les balises simples
    • jpeg2wbmp — Convertit une image JPEG en image WBMP
    • png2wbmp — Convertit une image PNG en image WBMP
read_exif_data
Introduction
Génération et traitement des images


Introduction

PHP ne se limite pas à la génération de pages HTML. Il peut aussi servir à créer et manipuler des images, dans un grand choix de formats, comme GIF, PNG, JPEG, WBMP et XPM. Et PHP peut même générer directement des images pour le navigateur, avec la bibliothèque GD. GD et PHP auront aussi besoin d'autres bibliothèques, en fonction des formats que vous souhaitez utiliser.

Vous pouvez utiliser les fonctions PHP pour obtenir les tailles des images aux formats JPEG, GIF, PNG, SWF, TIFF et JPEG2000.

Avec l'extension exif, vous pourrez travailler avec les informations stockées dans les en-têtes des images JPEG et TIFF. De cette façon, vous pourrez lire les métadonnées générées par les appareils numériques. Les fonctions exif ne nécessitent pas la bibliothèque GD.

Note: Lisez la section sur les besoins pour savoir comment étendre les capacités des fonctions sur les images pour lire, écrire et modifier les images. Pour lire les métadonnées des photos prises avec des appareils numériques, vous devez utiliser l'extension exif mentionnée ci-dessus.

Note: La fonction getimagesize() ne nécessite pas l'extension GD.

GD
Installation/Configuration
GD


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
GD


Pré-requis

Si vous disposez de la bibliothèque GD (disponible à » http://www.libgd.org/) vous pourrez aussi créer et manipuler des images.

Les formats des images que vous pourrez manipuler dépendent de la version de GD que vous installerez, et de toutes autres bibliothèques dont GD a besoin pour traiter ces images. Les versions antérieures à la version 1.6 supportent le GIF, mais pas le PNG. À partir des version de GD supérieures à 1.6 et inférieures à 2.0.28, c'est le contraire. Le support du GIF a été rajouté à partir de la version 2.0.28.

Note: Depuis PHP 4.3, il existe une version de GD qui est distribuée avec PHP. Cette version contient des fonctionnalités supplémentaires, comme les canaux alpha, et il est recommandé de l'utiliser de préférence à la bibliothèque externe, car elle est mieux supportée, et bien plus stable.

Vous pouvez aussi améliorer GD en lui ajoutant des formats d'images supplémentaires.

Formats d'images supportés
Format d'image | Bibliothèque à télécharger | Notes
gif |  | Uniquement supporté en versions de GD antérieures à la version 1.6 et supérieures ou égales à la version 2.0.28. Le support des images GIF est disponible en lecture seule depuis PHP 4.3.0, et dans la version de la bibliothèque qui est fournie avec la distribution de PHP. L'écriture est supportée depuis PHP 4.3.9 et PHP 5.0.1.
jpeg | » http://pecl2.php.net/downloads/php-windows-builds/source/ | Lors de la compilation de la bibliothèque jpeg (avant celle de PHP), vous devez utiliser l'option de configuration --enable-shared. Dans le cas contraire, vous recevrez une erreur disant que libjpeg.(a|so) not found lorsque vous tenterez de configurer PHP avant de le compiler.
png | » http://www.libpng.org/pub/png/libpng.html | Uniquement supporté avec GD plus récente que la version 1.6.
xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | Il est probable que vous ayez déjà cette bibliothèque disponible si votre système dispose d'un environnement X.

Vous pouvez aussi améliorer GD en lui ajoutant des fonctionnalités de manipulation de polices. Les bibliothèques suivantes sont supportées :

Bibliothèques de polices supportées
Bibliothèque de police | Téléchargement | Notes
FreeType 1.x | » http://www.freetype.org/ | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Support pour les police Postscript Type 1.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour activer le support de GD, vous devez compiler PHP avec l'option --with-gd[=DIR], où DIR est le dossier d'installation de GD. Il est recommandé d'utiliser la version de GD qui est distribuée avec PHP, en utilisant simplement l'option --with-gd. La bibliothèque GD requiert libpng et libjpeg pour compiler.

Sous Windows, vous devez inclure la bibliothèque php_gd2.dll comme extension dans le fichier php.ini. La bibliothèque php_gd.dll a été supprimée de PHP 4.3.2. Notez aussi que les fonctions conseillées truecolor, comme imagecreatetruecolor(), requièrent GD2.

Augmentez les possibilités des GD de gérer d'autres formats d'images en spécifiant les options --with-XXXX de compilation suivantes :

Formats d'image supportés
Format d'image | Option de compilation
jpeg | Pour activer le support de la bibliothèque JPEG, ajouter l'option --with-jpeg-dir=DIR. Jpeg 6b, 7 ou 8 est supporté.
png | Pour activer le support de la bibliothèque PNG, ajouter l'option --with-png-dir=DIR. Notez que libpng requiert la bibliothèque zlib et, donc, il vous faudra ajouter aussi --with-zlib-dir[=DIR] dans votre ligne de compilation.
xpm | Pour activer le support de la bibliothèque XPM, ajoutez l'option --with-xpm-dir=DIR. Si le script de compilation n'est pas capable de trouver les bibliothèques nécessaires, il vous faudra ajouter le chemin vers les bibliothèques X11.

Note: Lorsque vous compilez PHP avec libpng, vous devez utiliser la même version que celle liée à la bibliothèque GD.

Augmentez les possibilités de GD pour qu'elle manipule différents types de polices de caractères en ajoutant les options --with-XXXX de compilation suivantes :

Bibliothèques des polices de caractères supportées
Bibliothèque | Option de configuration
FreeType 1.x | Pour activer le support de FreeType 1.x, ajoutez l'option --with-ttf[=DIR].
FreeType 2 | Pour activer le support de FreeType 2, ajoutez l'option --with-freetype-dir=DIR.
T1lib | Pour activer le support de T1lib (Postscript Type 1 fonts), ajoutez l'option --with-t1lib[=DIR].
Chaînes TrueType | Pour activer le support des chaînes de caractères TrueType, ajoutez l'option --enable-gd-native-ttf.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration image
Nom | Défaut | Modifiable | Historique
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Disponible depuis PHP 5.1.3.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

gd.jpeg_ignore_warning bool

Ignore les alertes créées par la fonction jpeg2wbmp() et la fonction imagecreatefromjpeg()

Voir aussi les directives de configuration exif.

Avertissement

Les fonctions sur les images sont très gourmandes en terme de mémoire. Assurez-vous de définir une valeur assez importante pour memory_limit.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit deux types de ressources : un identifiant d'image et un identifiant de police.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

GD_VERSION (chaîne de caractères)
La version GD de PHP. (Disponible depuis PHP 5.2.4)
GD_MAJOR_VERSION (entier)
La version majeur GD de PHP. (Disponible depuis PHP 5.2.4)
GD_MINOR_VERSION (entier)
La version mineure GD de PHP. (Disponible depuis PHP 5.2.4)
GD_RELEASE_VERSION (entier)
La version GD fourni avec PHP. (Disponible depuis PHP 5.2.4)
GD_EXTRA_VERSION (chaîne de caractères)
La version "extra" GD (beta/rc..) de PHP. (Disponible depuis PHP 5.2.4)
GD_BUNDLED (entier)
Lorsque la version interne de GD est utilisée, cette constante vaut 1, sinon, elle vaut 0.
IMG_GIF (entier)
Utilisé en tant que valeur retournée par la fonction imagetypes()
IMG_JPG (entier)
Utilisé en tant que valeur retournée par la fonction imagetypes()
IMG_JPEG (entier)
Utilisé en tant que valeur retournée par la fonction imagetypes()

Note: Cette constante à la même valeur que IMG_JPG

IMG_PNG (entier)
Utilisé en tant que valeur retournée par la fonction imagetypes()
IMG_WBMP (entier)
Utilisé en tant que valeur retournée par la fonction imagetypes()
IMG_XPM (entier)
Utilisé en tant que valeur retournée par la fonction imagetypes()
IMG_COLOR_TILED (entier)
Option spéciale de couleur qui pourra être utilisée au lieu de la couleur allouée par imagecolorallocate() ou imagecolorallocatealpha()
IMG_COLOR_STYLED (entier)
Option spéciale de couleur qui pourra être utilisée au lieu de la couleur allouée par imagecolorallocate() ou imagecolorallocatealpha()
IMG_COLOR_BRUSHED (entier)
Option spéciale de couleur qui pourra être utilisée au lieu de la couleur allouée par imagecolorallocate() ou imagecolorallocatealpha()
IMG_COLOR_STYLEDBRUSHED (entier)
Option spéciale de couleur qui pourra être utilisée au lieu de la couleur allouée par imagecolorallocate() ou imagecolorallocatealpha()
IMG_COLOR_TRANSPARENT (entier)
Option spéciale de couleur qui pourra être utilisée au lieu de la couleur allouée par imagecolorallocate() ou imagecolorallocatealpha()
IMG_ARC_ROUNDED (entier)
Une constante de style utilisée par la fonction imagefilledarc().

Note: Cette constante à la même valeur que IMG_ARC_PIE

IMG_ARC_PIE (entier)
Une constante de style utilisée par la fonction imagefilledarc().
IMG_ARC_CHORD (entier)
Une constante de style utilisée par la fonction imagefilledarc().
IMG_ARC_NOFILL (entier)
Une constante de style utilisée par la fonction imagefilledarc().
IMG_ARC_EDGED (entier)
Une constante de style utilisée par la fonction imagefilledarc().
IMG_GD2_RAW (entier)
Une constante de type utilisée par la fonction imagegd2().
IMG_GD2_COMPRESSED (entier)
Une constante de type utilisée par la fonction imagegd2().
IMG_EFFECT_REPLACE (entier)
Effet "Alpha blending" utilisé par la fonction imagelayereffect().
IMG_EFFECT_ALPHABLEND (entier)
Effet "Alpha blending" utilisé par la fonction imagelayereffect().
IMG_EFFECT_NORMAL (entier)
Effet "Alpha blending" utilisé par la fonction imagelayereffect().
IMG_EFFECT_OVERLAY (entier)
Effet "Alpha blending" utilisé par la fonction imagelayereffect().
IMG_FILTER_NEGATE (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_GRAYSCALE (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_BRIGHTNESS (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_CONTRAST (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_COLORIZE (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_EDGEDETECT (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_GAUSSIAN_BLUR (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_SELECTIVE_BLUR (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_EMBOSS (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_MEAN_REMOVAL (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMG_FILTER_SMOOTH (entier)
Filtre GD spécial, utilisé par la fonction imagefilter().
IMAGETYPE_GIF (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_JPEG (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_JPEG2000 (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_PNG (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_SWF (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_PSD (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_BMP (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_WBMP (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_XBM (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_TIFF_II (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_TIFF_MM (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_IFF (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_JB2 (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_JPC (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_JP2 (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_JPX (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_SWC (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension().
IMAGETYPE_ICO (entier)
Constante de type d'image à utiliser avec les fonctions image_type_to_mime_type() et image_type_to_extension(). (Disponible depuis PHP 5.3.0)
PNG_NO_FILTER (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
PNG_FILTER_NONE (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
PNG_FILTER_SUB (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
PNG_FILTER_UP (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
PNG_FILTER_AVG (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
PNG_FILTER_PAETH (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
PNG_ALL_FILTERS (entier)
Un filtre spécial PNG, utilisé par la fonction imagepng().
IMG_FILTER_PIXELATE (entier)
Filtre GD spécial, utilisé par la fonction imagefilter(). Disponible depuis PHP 5.3.0
Types de ressources
Exemples
GD


Exemples

Sommaire

  • Création d'une image PNG avec PHP
  • Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha
  • Exemple avec imagecopymerge pour créer un tatouage numérique translucide
Constantes pré-définies
Création d'une image PNG avec PHP
GD


Création d'une image PNG avec PHP

Exemples
Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha
Exemples
PHP Manual

Exemple #1 Création d'une image PNG avec PHP

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>
Cet exemple doit être appelé depuis une page HTML avec une balise image telle que : <img src="button.php?text">. Le script ci-dessus, button.php, prend la chaîne "texte" et l'inscrit sur le fond d'image appelé "images/button1.png", puis l'affiche. C'est une méthode très pratique pour éviter de redessiner un nouveau bouton, dès que vous changez son texte. De cette façon, ils sont générés dynamiquement.

Exemples
Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha
Exemples


Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha

Création d'une image PNG avec PHP
Exemple avec imagecopymerge pour créer un tatouage numérique translucide
Exemples
PHP Manual

Exemple #1 Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha

<?php
// Charge le cachet et la photo afin d'y appliquer le tatouage numérique
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Définit les marges pour le cachet et récupère la hauteur et la largeur de celui-ci
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copie le cachet sur la photo en utilisant les marges et la largeur de la
// photo originale  afin de calculer la position du cachet
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Affichage et libération de la mémoire
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Ajout d'un tatouage numérique à l'image en utilisant un canal alpha
Cet exemple montre un moyen simple d'appliquer un tatouage numérique et un cachet à vos photos et vos images sous licence. Notez la présence d'un canal Alpha dans le cachet ainsi que du texte anti-aliasé. Ces 2 éléments seront préservés lors de la copie.

Création d'une image PNG avec PHP
Exemple avec imagecopymerge pour créer un tatouage numérique translucide
Exemples


Exemple avec imagecopymerge pour créer un tatouage numérique translucide

Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha
Fonctions GD et images
Exemples
PHP Manual

Exemple #1 Exemple avec imagecopymerge() pour créer un tatouage numérique translucide

<?php
// Charge le cachet et la photo afin d'y appliquer le tatouage numérique
$im = imagecreatefromjpeg('photo.jpeg');

// Tout d'abord, nous créons un cachet manuellement grâce à GD
$stamp = imagecreatetruecolor(100, 70);
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
$im = imagecreatefromjpeg('photo.jpeg');
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// Définit les marges du cachet et récupère la largeur et la hauteur du cachet
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Fusionne le cachet dans notre photo avec une opacité (transparence) de 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// Sauvegarde l'image dans un fichier et libère la mémoire
imagepng($im, 'photo_stamp.png');
imagedestroy($im);

?>
Utilisation d'imagecopymerge() pour créer un tatouage translucide
Cet exemple utilise la fonction imagecopymerge() pour fusionner le cachet avec notre image original. En utilisant cette fonction, nous pouvons définir l'opacité de notre cachet - dans notre exemple, nous l'avons défini à 50%. En pratique, il est plus judicieux de rendre notre protection semi-transparente, la rendant plus difficile à enlever mais permettant également aux visionneuses d'images de la lire sans problème.

Ajout d'un tatouage numérique sur des images en utilisant un canal Alpha
Fonctions GD et images
Exemples


Fonctions GD et images

Sommaire

  • gd_info — Retourne des informations à propos de la bibliothèque GD installée
  • getimagesize — Retourne la taille d'une image
  • image_type_to_extension — Retourne l'extension du fichier pour le type d'image
  • image_type_to_mime_type — Lit le Mime-Type d'un type d'image
  • image2wbmp — Crée une image WBMP
  • imagealphablending — Modifie le mode de blending d'une image
  • imageantialias — Utiliser ou non les fonctions d'antialias
  • imagearc — Dessine une ellipse partielle
  • imagechar — Dessine un caractère horizontalement
  • imagecharup — Dessine un caractère verticalement
  • imagecolorallocate — Alloue une couleur pour une image
  • imagecolorallocatealpha — Alloue une couleur à une image
  • imagecolorat — Retourne l'index de la couleur d'un pixel donné
  • imagecolorclosest — Retourne l'index de la couleur la plus proche d'une couleur donnée
  • imagecolorclosestalpha — Retourne la couleur la plus proche, en tenant compte du canal alpha
  • imagecolorclosesthwb — Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir
  • imagecolordeallocate — Supprime une couleur d'une image
  • imagecolorexact — Retourne l'index de la couleur donnée
  • imagecolorexactalpha — Retourne l'index d'une couleur avec son canal alpha
  • imagecolormatch — Fait correspondre un peu plus les couleurs de la version palette d'une image aux couleurs de sa version truecolor
  • imagecolorresolve — Retourne l'index de la couleur donnée, ou la plus proche possible
  • imagecolorresolvealpha — Retourne un index de couleur ou son alternative la plus proche, y compris le canal alpha
  • imagecolorset — Change la couleur dans une palette à l'index donné
  • imagecolorsforindex — Retourne la couleur associée à un index
  • imagecolorstotal — Calcule le nombre de couleurs d'une palette
  • imagecolortransparent — Définit la couleur transparente
  • imageconvolution — Applique une matrice de la convolution 3x3, en utilisant le coefficient et l'excentrage
  • imagecopy — Copie une partie d'une image
  • imagecopymerge — Copie et fusionne une partie d'une image
  • imagecopymergegray — Copie et fusionne une partie d'une image en niveaux de gris
  • imagecopyresampled — Copie, redimensionne, rééchantillonne une image
  • imagecopyresized — Copie et redimensionne une partie d'une image
  • imagecreate — Crée une nouvelle image à palette
  • imagecreatefromgd2 — Crée une nouvelle image à partir d'un fichier GD2 ou d'une URL
  • imagecreatefromgd2part — Crée une nouvelle image à partir d'une partie de fichier GD2 ou d'une URL
  • imagecreatefromgd — Crée une nouvelle image à partir d'un fichier GD ou d'une URL
  • imagecreatefromgif — Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefromjpeg — Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefrompng — Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefromstring — Crée une image à partir d'une chaîne
  • imagecreatefromwbmp — Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefromxbm — Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefromxpm — Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatetruecolor — Crée une nouvelle image en couleurs vraies
  • imagedashedline — Dessine une ligne pointillée
  • imagedestroy — Détruit une image
  • imageellipse — Dessine une ellipse
  • imagefill — Remplissage
  • imagefilledarc — Dessine un arc partiel et le remplit
  • imagefilledellipse — Dessine une ellipse pleine
  • imagefilledpolygon — Dessine un polygone rempli
  • imagefilledrectangle — Dessine un rectangle rempli
  • imagefilltoborder — Remplit une région avec une couleur spécifique
  • imagefilter — Applique un filtre à une image
  • imagefontheight — Retourne la hauteur de la police
  • imagefontwidth — Retourne la largeur de la police
  • imageftbbox — Calcule le rectangle d'encadrement pour un texte, en utilisant la police courante et freetype2
  • imagefttext — Écrit du texte dans une image avec la police courante FreeType 2
  • imagegammacorrect — Applique une correction gamma à l'image GD
  • imagegd2 — Génère une image au format GD2, vers le navigateur ou un fichier
  • imagegd — Génère une image au format GD, vers le navigateur ou un fichier
  • imagegif — Envoie une image GIF vers un navigateur ou un fichier
  • imagegrabscreen — Capture l'écran complet
  • imagegrabwindow — Capture une fenêtre
  • imageinterlace — Active ou désactive l'entrelacement
  • imageistruecolor — Détermine si une image est une image truecolor
  • imagejpeg — Envoie une image JPEG vers un navigateur ou un fichier
  • imagelayereffect — Active l'option d'alpha blending, pour utiliser les effets de libgd
  • imageline — Dessine une ligne
  • imageloadfont — Charge une nouvelle police
  • imagepalettecopy — Copie la palette d'une image à l'autre
  • imagepng — Envoie une image PNG vers un navigateur ou un fichier
  • imagepolygon — Dessine un polygone
  • imagepsbbox — Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1
  • imagepsencodefont — Change le codage vectoriel d'un caractère dans une police
  • imagepsextendfont — Étend ou condense une police de caractères
  • imagepsfreefont — Libère la mémoire occupée par une police PostScript Type 1
  • imagepsloadfont — Charge une police PostScript Type 1 depuis un fichier
  • imagepsslantfont — Incline une police de caractères PostScript
  • imagepstext — Dessine un texte sur une image avec une police PostScript Type1
  • imagerectangle — Dessine un rectangle
  • imagerotate — Fait tourner une image d'un angle
  • imagesavealpha — Configure l'enregistrement des informations complètes du canal alpha lors de sauvegardes d'images PNG
  • imagesetbrush — Modifie la brosse pour le dessin des lignes
  • imagesetpixel — Dessine un pixel
  • imagesetstyle — Configure le style pour le dessin des lignes
  • imagesetthickness — Modifie l'épaisseur d'un trait
  • imagesettile — Modifie l'image utilisée pour le carrelage
  • imagestring — Dessine une chaîne horizontale
  • imagestringup — Dessine une chaîne verticale
  • imagesx — Retourne la largeur d'une image
  • imagesy — Retourne la hauteur de l'image
  • imagetruecolortopalette — Convertit une image en couleurs vraies en image à palette
  • imagettfbbox — Retourne le rectangle entourant un texte et dessiné avec une police TrueType
  • imagettftext — Dessine un texte avec une police TrueType
  • imagetypes — Retourne les types d'images supportés par la version courante de PHP
  • imagewbmp — Affiche une image WBMP
  • imagexbm — Génère une image au format XBM
  • iptcembed — Intègre des données binaires IPTC dans une image JPEG
  • iptcparse — Analyse un bloc binaire IPTC et recherche les balises simples
  • jpeg2wbmp — Convertit une image JPEG en image WBMP
  • png2wbmp — Convertit une image PNG en image WBMP
Exemple avec imagecopymerge pour créer un tatouage numérique translucide
gd_info
GD


Retourne des informations à propos de la bibliothèque GD installée

Fonctions GD et images
getimagesize
Fonctions GD et images
PHP Manual

gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_info — Retourne des informations à propos de la bibliothèque GD installée

Description

array gd_info ( void )

Retourne des informations à propos de la bibliothèque GD installée.

Valeurs de retour

Retourne un tableau associatif.

Éléments du tableau retournés par gd_info()
Attribut | Signification
GD Version | chaîne de caractères décrivant la version de libgd qui est installée.
Freetype Support | booléen. TRUE si le support Freetype est installé.
Freetype Linkage | chaîne de caractères décrivant la façon avec laquelle Freetype a été lié. Les valeurs attendues sont : 'with freetype', 'with TTF library' et 'with unknown library'. Cet élément ne sera défini que si Freetype Support est évalué TRUE.
T1Lib Support | booléen. TRUE si le support T1Lib est inclus.
GIF Read Support | booléen. TRUE si le support pour la lecture des images GIF est inclus.
GIF Create Support | booléen. TRUE si le support pour la création des images GIF est inclus.
JPEG Support | booléen. TRUE si le support de JPEG est inclus.
PNG Support | booléen. TRUE si le support de PNG est inclus.
WBMP Support | booléen. TRUE si le support de WBMP est inclus.
XBM Support | booléen. TRUE si le support de XBM est inclus.

Note: Avant PHP 5.3.0, l'attribut JPEG Support était nommé JPG Support.

Exemples

Exemple #1 Exemple avec gd_info()

<?php
var_dump(gd_info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(9) {
  ["GD Version"]=>
  string(24) "bundled (2.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPEG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

Historique

Version | Description
5.3.0 | L'attribut JPG Support est renommé en JPEG Support.

Voir aussi

  • imagepng() - Envoie une image PNG vers un navigateur ou un fichier
  • imagejpeg() - Envoie une image JPEG vers un navigateur ou un fichier
  • imagegif() - Envoie une image GIF vers un navigateur ou un fichier
  • imagewbmp() - Affiche une image WBMP
  • imagetypes() - Retourne les types d'images supportés par la version courante de PHP

Fonctions GD et images
getimagesize
Fonctions GD et images


Retourne la taille d'une image

gd_info
image_type_to_extension
Fonctions GD et images
PHP Manual

getimagesize

(PHP 4, PHP 5)

getimagesize — Retourne la taille d'une image

Description

array getimagesize ( string $filename [, array &$imageinfo ] )

getimagesize() détermine la taille de l'image fournie et en retourner les dimensions, le type d'image et une chaîne type height/width à placer dans une balise HTML IMG normale et le type de contenu HTTP correspondant.

getimagesize() peut également retourner plus d'informations dans la paramètre imageinfo.

Note: Notez que JPC et JP2 sont capables d'avoir des composants avec une profondeur de bit différente. Dans ce cas, la valeur de "bits" est la plus grande profondeur de bit rencontrée. De même, les fichiers JP2 disposent du support de multiple JPEG 2000 codestreams. Dans ce cas, getimagesize() retourne les valeurs pour le premier codestream rencontré à la racine du fichier.

Note: Les informations sur les icônes sont récupérées depuis l'icône possédant le plus haut débit.

Liste de paramètres

filename

Ce paramètre spécifie le fichier dont vous voulez récupérer les informations. Il peut être un fichier local ou (suivant la configuration), un fichier distant en utilisant un des flux supportés.

imageinfo

Ce paramètre optionnel permet d'extraire des informations supplémentaires du fichier image. Actuellement, cette option va retourner différents marqueurs JPG APP dans un tableau associatif. Certains programmes utilisent ces marqueur APP pour préciser les informations dans les balises HTML. Un marqueur commun est le marqueur APP13, décrit à » IPTC. Vous pouvez utiliser la fonction iptcparse() pour analyser ce marqueur, et obtenir des informations intelligibles.

Valeurs de retour

Retourne un tableau contenant 7 éléments.

L'index 0 contient la largeur. L'index 1 contient la hauteur.

Note: Certains formats peuvent ne contenir aucune image, ou bien plusieurs. Dans ces cas-là, getimagesize() peut ne pas être capable de déterminer correctement la taille de l'image. getimagesize() retourne alors zéro comme taille de hauteur et largeur.

L'index 2 est une constante parmi IMAGETYPE_XXX, indiquant le type de l'image.

L'index 3 contient la chaîne à placer dans les balises IMG : height="xxx" width="yyy".

mime correspond au type MIME d'une image. Cette information peut être utilisée pour envoyer l'en-tête HTTP Content-type correct :

Exemple #1 getimagesize() et types MIME

<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
    header("Content-type: {$size['mime']}");
    fpassthru($fp);
    exit;
} else {
    // error
}
?>

channels sera 3 pour des images RGB et 4 pour des images CMYK.

bits est le nombre d'octets pour chaque couleur.

Cependant, la présence des valeurs de channels et de bits peut mener à la confusion. Par exemple, une image GIF utilise toujours trois canaux par pixel, mais le nombre de bits par pixel ne peut être calculé dans le cas d'une image animée GIF ayant une table de couleur globale.

Si une erreur survient, FALSE est retourné.

Erreurs / Exceptions

Si l'accès à filename est impossible ou bien si filename n'est pas une image valide, getimagesize() générera une erreur de niveau E_WARNING. Si une erreur survient lors de la lecture, getimagesize() générera une erreur de niveau E_NOTICE.

Historique

Version | Description
5.3.0 | Ajout du support des icônes.
5.2.3 | Les erreurs de lecture générées par cette fonction passe de niveau E_WARNING à E_NOTICE.
4.3.2 | Le support de JPC, JP2, JPX, JB2, XBM, et WBMP devient disponible.
4.3.2 | Le support JPEG 2000 a été ajouté pour le paramètre imageinfo.
4.3.0 | bits et channels sont présents pour les autres types d'images.
4.3.0 | mime a été ajouté.
4.3.0 | Le support de SWC et IFF a été ajouté.
4.2.0 | Le support de TIFF a été ajouté.
4.0.6 | Le support des BMP et PSD a été ajouté.
4.0.5 | Le support d'URL a été ajouté.

Exemples

Exemple #2 Exemple avec getimagesize()

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"Exemple avec getimagesize()\" />";
?>

Exemple #3 getimagesize() avec une URL

<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// Si le nom du fichier comporte des espaces, encodez-le !
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Exemple #4 getimagesize() qui retourne IPTC

<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

Notes

Note: Cette fonction ne nécessite pas la bibliothèque GD.

Voir aussi

  • image_type_to_mime_type() - Lit le Mime-Type d'un type d'image
  • exif_imagetype() - Détermine le type d'une image
  • exif_read_data() - Lit les en-têtes EXIF dans les images JPEG ou TIFF
  • exif_thumbnail() - Récupère la miniature d'une image TIFF ou JPEG

gd_info
image_type_to_extension
Fonctions GD et images


Retourne l'extension du fichier pour le type d'image

getimagesize
image_type_to_mime_type
Fonctions GD et images
PHP Manual

image_type_to_extension

(PHP 5)

image_type_to_extension — Retourne l'extension du fichier pour le type d'image

Description

string image_type_to_extension ( int $imagetype [, bool $include_dot ] )

image_type_to_extension() retourne l'extension pour la constante IMAGETYPE_XXX fournie.

Liste de paramètres

imagetype

Une des constantes IMAGETYPE_XXX.

include_dot

Si l'on doit ajouter un point à l'extension ou non. Par défaut, vaut TRUE.

Valeurs de retour

Une chaîne de caractères avec l'extension, correspondant au type de l'image fournie.

Exemples

Exemple #1 Exemple avec image_type_to_extension()

<?php
// Création d'une instance d'image
$im = imagecreatetruecolor(100, 100);

// Sauvegarde de l'image
imagepng($im, './test' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);
?>

Notes

Note: Cette fonction ne nécessite pas la bibliothèque GD.

getimagesize
image_type_to_mime_type
Fonctions GD et images


Lit le Mime-Type d'un type d'image

image_type_to_extension
image2wbmp
Fonctions GD et images
PHP Manual

image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5)

image_type_to_mime_type — Lit le Mime-Type d'un type d'image

Description

string image_type_to_mime_type ( int $imagetype )

Détermine le type MIME (Mime-Type), à utiliser dans l'en-tête HTTP Content-type.

Liste de paramètres

imagetype

Une des constantes IMAGETYPE_XXX.

Valeurs de retour

Les valeurs retournées sont les suivantes

Valeurs des constantes retournées
imagetype | Valeur retournée
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (ordre intel) | image/tiff
IMAGETYPE_TIFF_MM (ordre motorola) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon

Exemples

Exemple #1 Exemple avec image_type_to_mime_type()

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Notes

Note: Cette fonction ne nécessite pas la bibliothèque GD.

Voir aussi

  • getimagesize() - Retourne la taille d'une image
  • exif_imagetype() - Détermine le type d'une image
  • exif_read_data() - Lit les en-têtes EXIF dans les images JPEG ou TIFF
  • exif_thumbnail() - Récupère la miniature d'une image TIFF ou JPEG

image_type_to_extension
image2wbmp
Fonctions GD et images


Crée une image WBMP

image_type_to_mime_type
imagealphablending
Fonctions GD et images
PHP Manual

image2wbmp

(PHP 4 >= 4.0.5, PHP 5)

image2wbmp — Crée une image WBMP

Description

bool image2wbmp ( resource $image [, string $filename [, int $threshold ]] )

image2wbmp() affiche ou enregistre une version WBMP de l'image image fournie.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Chemin vers le fichier de sauvegarde. S'il n'est pas fourni, le flux de l'image sera directement affiché.

threshold

Valeur du seuil, entre 0 et 255 inclus.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec image2wbmp()

<?php

$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // Affichage direct
imagedestroy($image);

?>

Notes

Note: Le support WBMP n'est disponible qu'avec GD-1.8 ou plus récent.

Voir aussi

  • imagewbmp() - Affiche une image WBMP

image_type_to_mime_type
imagealphablending
Fonctions GD et images


Modifie le mode de blending d'une image

image2wbmp
imageantialias
Fonctions GD et images
PHP Manual

imagealphablending

(PHP 4 >= 4.0.6, PHP 5)

imagealphablending — Modifie le mode de blending d'une image

Description

bool imagealphablending ( resource $image , bool $blendmode )

imagealphablending() fournit deux modes de dessin des images en vraies couleurs (truecolors). En mode "blending", le canal alpha de chaque couleur est fournie à chaque fonction de dessin, tel que imagesetpixel() peut déterminer sa transparence. GD va alors automatiquement mixer la couleur à ce point, et stocker le résultat dans l'image. Le pixel résultant est alors opaque. En mode non-mixant, la couleur est copiée littéralement avec ses informations de canal alpha, et remplace le pixel de destination. Le mixage n'est pas disponible avec les images à palette.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

blendmode

Si l'on doit activer le mode blending ou non. Sur les images à couleurs vraies, la valeur par défaut est TRUE, sinon, la valeur par défaut est FALSE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagealphablending()

<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);

// Définit l'alphablending à on
imagealphablending($im, true);

// Dessine un carré
imagefilledrectangle($im, 30, 30, 70, 70, imagecolorallocate($im, 255, 0, 0));

// Affichage
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

image2wbmp
imageantialias
Fonctions GD et images


Utiliser ou non les fonctions d'antialias

imagealphablending
imagearc
Fonctions GD et images
PHP Manual

imageantialias

(PHP 4 >= 4.3.2, PHP 5)

imageantialias — Utiliser ou non les fonctions d'antialias

Description

bool imageantialias ( resource $image , bool $enabled )

Active les méthodes de schéma rapide d'antialias et de polygones câblés. Il ne supporte pas les composants alpha. Il fonctionne en utilisant une opération directe de mélange. Il ne fonctionne qu'avec les images truecolor.

L'épaisseur et le style ne sont pas supporté.

L'utilisation des primitives antialias avec des arrière-plans transparents peut se terminer avec des résultats imprévus. La méthode de mélange utilise la couleur d'arrière-plan comme tout autre couleur. Les faiblesses du support du composant alpha font qu'il n'est pas autorisé de méthode d'antialias basée sur l'alpha.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

enabled

Si l'on doit activer l'antialias ou non.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Comparaison de 2 lignes, dont l'une est anti-aliasé

<?php
// Définit une image anti-aliasé et une normale
$aa = imagecreatetruecolor(400, 100);
$normal = imagecreatetruecolor(200, 100);

// Active l'antialiasing pour une image
imageantialias($aa, true);

// Alloue les couleurs
$red = imagecolorallocate($normal, 255, 0, 0);
$red_aa = imagecolorallocate($aa, 255, 0, 0);

// Dessine 2 lignes, dont l'une avec l'antialiasing
imageline($normal, 0, 0, 200, 100, $red);
imageline($aa, 0, 0, 200, 100, $red_aa);

// Fusionne les 2 images, côté par côté pour l'affichage
// (AA: gauche, Normal: Droit)
imagecopymerge($aa, $normal, 200, 0, 0, 0, 200, 100, 100);

// Affichage de l'image
header('Content-type: image/png');

imagepng($aa);
imagedestroy($aa);
imagedestroy($normal);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Une comparaison de 2 lignes, dont une avec un anti-aliasing

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies

imagealphablending
imagearc
Fonctions GD et images


Dessine une ellipse partielle

imageantialias
imagechar
Fonctions GD et images
PHP Manual

imagearc

(PHP 4, PHP 5)

imagearc — Dessine une ellipse partielle

Description

bool imagearc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color )

imagearc() dessine une ellipse partielle, centrée sur les coordonnées fournies.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

cx

X : coordonnée du centre.

cy

Y : coordonnée du centre.

width

La largeur de l'ellipse.

height

La hauteur de l'ellipse.

start

L'angle de début de l'ellipse, en degrés.

end

L'angle de fin de l'ellipse, en degrés. 0° correspond à la position "trois heures" et l'ellipse est dessiné dans le sens des aiguilles d'une montre.

color

Un identifiant de couleur, créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Dessine d'un cercle avec imagearc()

<?php

// Création d'une image 200*200
$img = imagecreatetruecolor(200, 200);

// Allocation de couleurs
$white = imagecolorallocate($img, 255, 255, 255);
$red   = imagecolorallocate($img, 255,   0,   0);
$green = imagecolorallocate($img,   0, 255,   0);
$blue  = imagecolorallocate($img,   0,   0, 255);

// Dessine la tête
imagearc($img, 100, 100, 200, 200,  0, 360, $white);
// La bouche
imagearc($img, 100, 100, 150, 150, 25, 155, $red);
// les yeux gauche et droit
imagearc($img,  60,  75,  50,  50,  0, 360, $green);
imagearc($img, 140,  75,  50,  50,  0, 360, $blue);

// Affichage au navigateur
header("Content-type: image/png");
imagepng($img);

// Libération de la mémoire
imagedestroy($img);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Desinne un cercle avec imagearc()

Voir aussi

  • imagefilledarc() - Dessine un arc partiel et le remplit
  • imageellipse() - Dessine une ellipse
  • imagefilledellipse() - Dessine une ellipse pleine

imageantialias
imagechar
Fonctions GD et images


Dessine un caractère horizontalement

imagearc
imagecharup
Fonctions GD et images
PHP Manual

imagechar

(PHP 4, PHP 5)

imagechar — Dessine un caractère horizontalement

Description

bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )

imagechar() dessine le premier caractère de la chaîne c dans l'image image avec le coin supérieur gauche placé à la position x,y (le coin en haut à gauche est l'origine (0,0)) avec la couleur color.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

font

Peut être 1, 2, 3, 4, 5 pour les polices internes d'encodage Latin2 (où les plus grands nombres correspondent aux polices larges) ou n'importe quels identifiants de police de votre choix, enregistrées avec la fonction imageloadfont().

x

X : coordonnée de départ.

y

Y : coordonnée de départ.

c

Le caractère à dessiner.

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagechar()

<?php

$im = imagecreate(100, 100);

$string = 'PHP';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// affiche un "P" noir dans le coin gauche en haut
imagechar($im, 1, 0, 0, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagechar()

Voir aussi

  • imagecharup() - Dessine un caractère verticalement
  • imageloadfont() - Charge une nouvelle police

imagearc
imagecharup
Fonctions GD et images


Dessine un caractère verticalement

imagechar
imagecolorallocate
Fonctions GD et images
PHP Manual

imagecharup

(PHP 4, PHP 5)

imagecharup — Dessine un caractère verticalement

Description

bool imagecharup ( resource $image , int $font , int $x , int $y , string $c , int $color )

Dessine le premier caractère de la chaîne c verticalement dans l'image image fournie.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

font

Peut être 1, 2, 3, 4, 5 pour les polices internes d'encodage Latin2 (où les plus grands nombres correspondent aux polices larges) ou n'importe quels identifiants de police de votre choix, enregistrées avec la fonction imageloadfont().

x

X : coordonnée de départ.

y

Y : coordonnée de départ.

c

Le caractère à dessiner.

color

Un identifiant de couleur, créé avec la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecharup()

<?php

$im = imagecreate(100, 100);

$string = 'Notez que la première lettre est un N';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// affiche un "Z" noir sur un fond blanc
imagecharup($im, 3, 10, 10, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecharup()

Voir aussi

  • imagechar() - Dessine un caractère horizontalement
  • imageloadfont() - Charge une nouvelle police

imagechar
imagecolorallocate
Fonctions GD et images


Alloue une couleur pour une image

imagecharup
imagecolorallocatealpha
Fonctions GD et images
PHP Manual

imagecolorallocate

(PHP 4, PHP 5)

imagecolorallocate — Alloue une couleur pour une image

Description

int imagecolorallocate ( resource $image , int $red , int $green , int $blue )

Retourne un identifiant de couleur, représentant la couleur composée avec les couleurs RGB.

imagecolorallocate() doit être appelée pour créer chaque couleur qui sera représentée par image.

Note: Le premier appel à imagecolorallocate() remplit la couleur de fond avec la palette des images - images créées en utilisant imagecreate().

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur pour le composant rouge.

green

Valeur pour le composant vert.

blue

Valeur pour le composant bleu.

Ces paramètres sont des entiers compris entre 0 et 255 ou des hexadécimaux compris entre 0x00 and 0xFF.

Valeurs de retour

Un identifiant de couleur ou FALSE si l'allocation échoue.

Historique

Version | Description
Avant la version 5.1.3 | Retourne -1 si l'allocation échoue.

Exemples

Exemple #1 Exemple avec imagecolorallocate()

<?php

$im = imagecreate(100, 100);

// Le fond de l'image est en rouge
$background = imagecolorallocate($im, 255, 0, 0);

// On définit des couleurs avec des entiers ..
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// .. ou des hexadécimaux
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

Voir aussi

  • imagecolorallocatealpha() - Alloue une couleur à une image
  • imagecolordeallocate() - Supprime une couleur d'une image

imagecharup
imagecolorallocatealpha
Fonctions GD et images


Alloue une couleur à une image

imagecolorallocate
imagecolorat
Fonctions GD et images
PHP Manual

imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5)

imagecolorallocatealpha — Alloue une couleur à une image

Description

int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

imagecolorallocatealpha() se comporte comme imagecolorallocate() avec en plus le paramètre de transparence alpha.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur pour le composant rouge.

green

Valeur pour le composant vert.

blue

Valeur pour le composant bleu.

alpha

Une valeur entre 0 et 127. 0 indique une opacité complète tandis que 127 indique une transparence complète.

Les paramètres de couleurs sont des entiers compris entre 0 et 255, ou des hexadécimaux compris entre 0x00 et 0xFF.

Valeurs de retour

Un identifiant de couleur ou FALSE si l'allocation échoue.

Historique

Version | Description
Avant la version 5.1.3 | Retourne -1 si l'allocation échoue.

Exemples

Exemple #1 Exemple avec imagecolorallocatealpha()

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// quelque chose pour obtenir un fond blanc avec une bordure noire
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x    = 120;
$red_y    = 165;
$blue_x   = 187;
$blue_y   = 125;
$radius   = 150;

// alloue des couleurs avec des valeurs alpha
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red    = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue   = imagecolorallocatealpha($image, 0, 0, 255, 75);

// Dessine 3 ellipses
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// Ne pas oublier d'envoyer un header correct
header('Content-type: image/png');

// et finallement, afficher le résultat
imagepng($image);
imagedestroy($image);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecolorallocatealpha()

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagecolorallocate() - Alloue une couleur pour une image
  • imagecolordeallocate() - Supprime une couleur d'une image

imagecolorallocate
imagecolorat
Fonctions GD et images


Retourne l'index de la couleur d'un pixel donné

imagecolorallocatealpha
imagecolorclosest
Fonctions GD et images
PHP Manual

imagecolorat

(PHP 4, PHP 5)

imagecolorat — Retourne l'index de la couleur d'un pixel donné

Description

int imagecolorat ( resource $image , int $x , int $y )

Retourne l'index de la couleur du pixel situé aux coordonnées spécifiées, dans l'image image.

Si PHP supporte la bibliothèque GD version 2.0 ou plus récent, et que l'image est une image en TrueColor, cette fonction retourne la valeur RGB du pixel, sous forme d'un entier. Utiliser les opérateurs de bits et les masques pour distinguer le rouge, du vert et du bleu :

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x

X : coordonnée du point.

y

Y : coordonnée du point.

Valeurs de retour

Retourne l'index de la couleur.

Exemples

Exemple #1 Accès aux valeurs RGB

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
var_dump($r, $g, $b);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(119)
int(123)
int(180)

Exemple #2 Valeurs RVB lisibles en utilisant la fonction imagecolorsforindex()

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);

$colors = imagecolorsforindex($im, $rgb);

var_dump($colors);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  ["red"]=>
  int(119)
  ["green"]=>
  int(123)
  ["blue"]=>
  int(180)
  ["alpha"]=>
  int(127)
}

Voir aussi

  • imagecolorset() - Change la couleur dans une palette à l'index donné
  • imagecolorsforindex() - Retourne la couleur associée à un index

imagecolorallocatealpha
imagecolorclosest
Fonctions GD et images


Retourne l'index de la couleur la plus proche d'une couleur donnée

imagecolorat
imagecolorclosestalpha
Fonctions GD et images
PHP Manual

imagecolorclosest

(PHP 4, PHP 5)

imagecolorclosest — Retourne l'index de la couleur la plus proche d'une couleur donnée

Description

int imagecolorclosest ( resource $image , int $red , int $green , int $blue )

Retourne l'index de la couleur de la palette qui est la plus proche de la valeur RGB passée.

La "distance" entre la couleur souhaitée et les couleurs de la palette est calculée en considérant l'espace RGB comme un espace à 3 dimensions.

Si vous créez l'image depuis un fichier, seules les couleurs utilisées dans l'image seront résolues. Les couleurs uniquement présentes dans la palette ne seront pas résolues.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

Les paramètres sur les couleurs sont des entiers compris entre 0 et 255 ou des hexadécimaux compris entre 0x00 et 0xFF.

Valeurs de retour

Retourne l'index de la couleur la plus proche, dans la palette de l'image, de celle donnée.

Exemples

Exemple #1 Recherche d'un jeu de couleur dans une image

<?php
// On commence avec une image et on la convertie en une palette de couleurs
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Couleurs recherchées (RVB)
$colors = array(
    array(254, 145, 154),
    array(153, 145, 188),
    array(153, 90, 145),
    array(255, 137, 92)
);

// On boucle sur chaque recherche et on trouve la couleur de la palette la plus proche.
// Retourne le numéro de la recherche, le RVB cherché et la correspondance en RVB
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']})";

    echo "#$id: Recherche ($rgb[0], $rgb[1], $rgb[2]); Correspondance : $result.\n";
}

imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

#0: Recherche (254, 145, 154); Correspondance : (252, 150, 148).
#1: Recherche (153, 145, 188); Correspondance : (148, 150, 196).
#2: Recherche (153, 90, 145); Correspondance : (148, 90, 156).
#3: Recherche (255, 137, 92); Correspondance : (252, 150, 92).

Voir aussi

  • imagecolorexact() - Retourne l'index de la couleur donnée
  • imagecolorclosestalpha() - Retourne la couleur la plus proche, en tenant compte du canal alpha
  • imagecolorclosesthwb() - Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir

imagecolorat
imagecolorclosestalpha
Fonctions GD et images


Retourne la couleur la plus proche, en tenant compte du canal alpha

imagecolorclosest
imagecolorclosesthwb
Fonctions GD et images
PHP Manual

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorclosestalpha — Retourne la couleur la plus proche, en tenant compte du canal alpha

Description

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Retourne l'index de la couleur, dans la palette de l'image image, la plus proche de la couleur spécifiée par les autres paramètres, au format RGB et de canal alpha alpha.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

alpha

Une valeur comprise entre 0 et 127. 0 indique une opacité complète tandis que 127 indique une transparence complète.

Les paramètres sur les couleurs sont des entiers compris entre 0 et 255 ou des hexadécimaux compris entre 0x00 et 0xFF.

Valeurs de retour

Retourne l'index de la couleur la plus proche dans la palette.

Exemples

Exemple #1 Cherche un jeu de couleurs dans une image

<?php
// On commence avec une image et on la convertie en palette
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Recherche des couleurs (RVB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);

// On boucle sur chaque recherche et on trouve la couleur la plus proche de la palette.
// Retourne le numéro de la recherche, la recherche RVB et le résultat converti en RVB
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";

    echo "#$id: Recherche ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Résultat le plus proche : $result.\n";
}

imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

#0: Recherche (254, 145, 154, 50); Résultat le plus proche : (252, 150, 148, 0).
#1: Recherche (153, 145, 188, 127); Résultat le plus proche : (148, 150, 196, 0).
#2: Recherche (153, 90, 145, 0); Résultat le plus proche : (148, 90, 156, 0).
#3: Recherche (255, 137, 92, 84); Résultat le plus proche : (252, 150, 92, 0).

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagecolorexactalpha() - Retourne l'index d'une couleur avec son canal alpha
  • imagecolorclosest() - Retourne l'index de la couleur la plus proche d'une couleur donnée
  • imagecolorclosesthwb() - Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir

imagecolorclosest
imagecolorclosesthwb
Fonctions GD et images


Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir

imagecolorclosestalpha
imagecolordeallocate
Fonctions GD et images
PHP Manual

imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5)

imagecolorclosesthwb — Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir

Description

int imagecolorclosesthwb ( resource $image , int $red , int $green , int $blue )

Lit l'index de la couleur spécifiée avec sa teinte, blanc et noir.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

Valeurs de retour

Retourne un entier représentant d'index de la couleur.

Exemples

Exemple #1 Exemple avec imagecolorclosesthwb()

<?php
$im = imagecreatefromgif('php.gif');

echo 'HWB : ' . imagecolorclosesthwb($im, 116, 115, 152);

imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

HWB: 33

Historique

Version | Description
5.3.0 | Cette fonction est désormais disponible sous Windows

Voir aussi

  • imagecolorclosest() - Retourne l'index de la couleur la plus proche d'une couleur donnée

imagecolorclosestalpha
imagecolordeallocate
Fonctions GD et images


Supprime une couleur d'une image

imagecolorclosesthwb
imagecolorexact
Fonctions GD et images
PHP Manual

imagecolordeallocate

(PHP 4, PHP 5)

imagecolordeallocate — Supprime une couleur d'une image

Description

bool imagecolordeallocate ( resource $image , int $color )

Supprime la couleur color précédemment allouée avec la fonction imagecolorallocate(), pour l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

color

L'identifiant de la couleur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecolordeallocate()

<?php
$white = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $white);
?>

Voir aussi

  • imagecolorallocate() - Alloue une couleur pour une image
  • imagecolorallocatealpha() - Alloue une couleur à une image

imagecolorclosesthwb
imagecolorexact
Fonctions GD et images


Retourne l'index de la couleur donnée

imagecolordeallocate
imagecolorexactalpha
Fonctions GD et images
PHP Manual

imagecolorexact

(PHP 4, PHP 5)

imagecolorexact — Retourne l'index de la couleur donnée

Description

int imagecolorexact ( resource $image , int $red , int $green , int $blue )

Retourne l'index de la couleur spécifiée dans la palette de l'image image.

Si vous créez l'image depuis un fichier, seules les couleurs utilisées dans l'image seront résolues. Les couleurs uniquement présentes dans la palette ne seront pas résolues.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

Valeurs de retour

Retourne l'index de la couleur spécifié dans la palette, ou -1 si la couleur n'existe pas.

Exemples

Exemple #1 Récupération des couleurs composant le logo GD

<?php
// Définit l'image
$im = imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexact($im, 255, 0, 0);
$colors[] = imagecolorexact($im, 0, 0, 0);
$colors[] = imagecolorexact($im, 255, 255, 255);
$colors[] = imagecolorexact($im, 100, 255, 52);

print_r($colors);

// Libération de la mémoire
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => 16711680
    [1] => 0
    [2] => 16777215
    [3] => 6618932
)

Voir aussi

  • imagecolorclosest() - Retourne l'index de la couleur la plus proche d'une couleur donnée

imagecolordeallocate
imagecolorexactalpha
Fonctions GD et images


Retourne l'index d'une couleur avec son canal alpha

imagecolorexact
imagecolormatch
Fonctions GD et images
PHP Manual

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorexactalpha — Retourne l'index d'une couleur avec son canal alpha

Description

int imagecolorexactalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Retourne l'index d'une couleur avec son canal alpha.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

alpha

Une valeur comprise entre 0 et 127. 0 indique une opacité complète tandis que 127 indique une transparence complète.

Les paramètres sur les couleurs sont des entiers compris entre 0 et 255 ou des hexadécimaux compris entre 0x00 and 0xFF.

Valeurs de retour

Retourne l'index de la couleur fournie et son canal alpha dans la palette de l'image, ou -1 si la couleur n'existe pas dans la palette de l'image.

Exemples

Exemple #1 Récupération des couleurs composant le logo GD

<?php

// Définit l'image
$im = imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colors[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colors[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colors[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colors);

// Libération de la mémoire
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagecolorclosestalpha() - Retourne la couleur la plus proche, en tenant compte du canal alpha

imagecolorexact
imagecolormatch
Fonctions GD et images


Fait correspondre un peu plus les couleurs de la version palette d'une image aux couleurs de sa version truecolor

imagecolorexactalpha
imagecolorresolve
Fonctions GD et images
PHP Manual

imagecolormatch

(PHP 4 >= 4.3.0, PHP 5)

imagecolormatch — Fait correspondre un peu plus les couleurs de la version palette d'une image aux couleurs de sa version truecolor

Description

bool imagecolormatch ( resource $image1 , resource $image2 )

Fait correspondre un peu plus les couleurs de la version palette d'une image aux couleurs de sa version truecolor.

Liste de paramètres

image1

Une ressource d'image truecolor.

image2

Une ressource de palette d'image pointant sur une image qui a la même taille que image1.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecolormatch()

<?php
// Définit l'images true color et la palette
$im1 = imagecreatefrompng('./gdlogo.png');
$im2 = imagecreate(imagesx($im1), imagesy($im1));

// Ajout de quelques couleurs à $im2
$colors   = Array();
$colors[] = imagecolorallocate($im2, 255, 36, 74);
$colors[] = imagecolorallocate($im2, 40, 0, 240);
$colors[] = imagecolorallocate($im2, 82, 100, 255);
$colors[] = imagecolorallocate($im2, 84, 63, 44);

// Fait correspondre ces couleurs avec l'image true color
imagecolormatch($im1, $im2);

// Libération de la mémoire
imagedestroy($im1);
imagedestroy($im2);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies

imagecolorexactalpha
imagecolorresolve
Fonctions GD et images


Retourne l'index de la couleur donnée, ou la plus proche possible

imagecolormatch
imagecolorresolvealpha
Fonctions GD et images
PHP Manual

imagecolorresolve

(PHP 4, PHP 5)

imagecolorresolve — Retourne l'index de la couleur donnée, ou la plus proche possible

Description

int imagecolorresolve ( resource $image , int $red , int $green , int $blue )

imagecolorresolve() retourne un index de couleur à tous les coups. Soit il arrive à trouver la couleur demandée dans la palette, soit il trouve la couleur la plus proche.

Si vous créez l'image depuis un fichier, seules les couleurs utilisées dans l'image seront résolues. Les couleurs uniquement présentes dans la palette ne seront pas résolues.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

Valeurs de retour

Retourne un index de couleur.

Exemples

Exemple #1 Exemple avec imagecoloresolve() pour récupérer les couleurs d'une image

<?php
// Chargement d'une image
$im = imagecreatefromgif('phplogo.gif');

// Récupération des couleurs les plus proches de l'image
$colors = array();
$colors[] = imagecolorresolve($im, 255, 255, 255);
$colors[] = imagecolorresolve($im, 0, 0, 200)

// Affichage
print_r($colors);

imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => 89
    [1] => 85
)

Voir aussi

  • imagecolorclosest() - Retourne l'index de la couleur la plus proche d'une couleur donnée

imagecolormatch
imagecolorresolvealpha
Fonctions GD et images


Retourne un index de couleur ou son alternative la plus proche, y compris le canal alpha

imagecolorresolve
imagecolorset
Fonctions GD et images
PHP Manual

imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorresolvealpha — Retourne un index de couleur ou son alternative la plus proche, y compris le canal alpha

Description

int imagecolorresolvealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

imagecolorresolvealpha() retourne toujours un index de couleur, disponible dans la palette de l'image image : soit c'est la couleur exacte, soit c'est la meilleure approximation.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

alpha

Une valeur comprise entre 0 et 127. 0 indique une opacité complète tandis que 127 indique une transparence complète.

Les paramètres sur les couleurs sont des entiers entre 0 et 255 ou des hexadécimaux compris entre 0x00 et 0xFF.

Valeurs de retour

Retourne un index de couleur.

Exemples

Exemple #1 Exemple avec imagecoloresolve() pour récupérer les couleurs d'une image

<?php
// Chargement de l'image
$im = imagecreatefromgif('phplogo.gif');

// Récupération des couleurs les plus proches de l'image
$colors = array();
$colors[] = imagecolorresolvealpha($im, 255, 255, 255, 0);
$colors[] = imagecolorresolvealpha($im, 0, 0, 200, 127);

// Affichage
print_r($colors);

imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => 89
    [1] => 85
)

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagecolorclosestalpha() - Retourne la couleur la plus proche, en tenant compte du canal alpha

imagecolorresolve
imagecolorset
Fonctions GD et images


Change la couleur dans une palette à l'index donné

imagecolorresolvealpha
imagecolorsforindex
Fonctions GD et images
PHP Manual

imagecolorset

(PHP 4, PHP 5)

imagecolorset — Change la couleur dans une palette à l'index donné

Description

void imagecolorset ( resource $image , int $index , int $red , int $green , int $blue [, int $alpha = 0 ] )

Permet d'attribuer à un index d'une palette une couleur spécifique. C'est une fonction très pratique pour effectuer du remplissage de couleur sans le faire réellement.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

index

Un index de la palette.

red

Valeur du composant rouge.

green

Valeur du composant vert.

blue

Valeur du composant bleu.

alpha

Valeur du composant alpha.

Cette modification existe dans la version de développement de PHP, et existera probablement après la version 5.3.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
Futur | Le paramètre alpha a été ajouté.

Exemples

Exemple #1 Exemple avec imagecolorset()

<?php
// Création d'une image de 300x100 pixels
$im = imagecreate(300, 100);

// Définit la couleur d'arrière-plan à rouge
imagecolorallocate($im, 255, 0, 0);

// Récupération de l'index de la couleur d'arrière-plan
$bg = imagecolorat($im, 0, 0);

// Définit la couleur d'arrière-plan à bleu
imagecolorset($im, $bg, 0, 0, 255);

// Affiche l'image dans le navigateur
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Voir aussi

  • imagecolorat() - Retourne l'index de la couleur d'un pixel donné

imagecolorresolvealpha
imagecolorsforindex
Fonctions GD et images


Retourne la couleur associée à un index

imagecolorset
imagecolorstotal
Fonctions GD et images
PHP Manual

imagecolorsforindex

(PHP 4, PHP 5)

imagecolorsforindex — Retourne la couleur associée à un index

Description

array imagecolorsforindex ( resource $image , int $index )

Retourne la couleur associée à un index spécifié.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

index

L'index de la couleur.

Valeurs de retour

Retourne un tableau associatif avec les clés "red", "green", "blue" et "alpha" qui contiennent les valeurs pour l'index de la couleur spécifiée.

Exemples

Exemple #1 Exemple avec imagecolorsforindex()

<?php

// on ouvre une image
$im = imagecreatefrompng('nexen.png');

// on obtient une couleur
$start_x = 40;
$start_y = 50;
$color_index = imagecolorat($im, $start_x, $start_y);

// on la rend lisible
$color_tran = imagecolorsforindex($im, $color_index);

// quelle est-elle ?
print_r($color_tran);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
   [red] => 226
   [green] => 222
   [blue] => 252
   [alpha] => 0
)

Voir aussi

  • imagecolorat() - Retourne l'index de la couleur d'un pixel donné
  • imagecolorexact() - Retourne l'index de la couleur donnée

imagecolorset
imagecolorstotal
Fonctions GD et images


Calcule le nombre de couleurs d'une palette

imagecolorsforindex
imagecolortransparent
Fonctions GD et images
PHP Manual

imagecolorstotal

(PHP 4, PHP 5)

imagecolorstotal — Calcule le nombre de couleurs d'une palette

Description

int imagecolorstotal ( resource $image )

Retourne le nombre de couleurs de la palette de l'image.

Liste de paramètres

image

Une ressource représentant une image, retournée par une des fonctions de création d'images, comme la fonction imagecreatefromgif().

Valeurs de retour

Retourne le nombre de couleurs de la palette pour l'image image ou 0 pour les images truecolor.

Exemples

Exemple #1 Récupération du nombre total de couleurs dans une image en utilisant la fonction imagecolorstotal()

<?php
// Création d'une instance d'image
$im = imagecreatefromgif('php.gif');

echo 'Nombre total de couleurs dans l\'image : ' . imagecolorstotal($im);

// Libération de la mémoire
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Nombre total de couleurs dans l'image : 128

Voir aussi

  • imagecolorat() - Retourne l'index de la couleur d'un pixel donné
  • imagecolorsforindex() - Retourne la couleur associée à un index
  • imageistruecolor() - Détermine si une image est une image truecolor

imagecolorsforindex
imagecolortransparent
Fonctions GD et images


Définit la couleur transparente

imagecolorstotal
imageconvolution
Fonctions GD et images
PHP Manual

imagecolortransparent

(PHP 4, PHP 5)

imagecolortransparent — Définit la couleur transparente

Description

int imagecolortransparent ( resource $image [, int $color ] )

imagecolortransparent() définit la couleur transparente pour l'image image fournie.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

L'identifiant de la nouvelle couleur transparente (ou l'actuelle, si aucune n'est spécifiée) est retourné.

Exemples

Exemple #1 Exemple avec imagecolortransparent()

<?php
// Création d'une image de 55x30
$im = imagecreatetruecolor(55, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);

// On rend l'arrière-plan transparent
imagecolortransparent($im, $black);

// On dessine un rectangle rouge
imagefilledrectangle($im, 4, 4, 50, 25, $red);

// On sauvegarde l'image
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecolortransparent()

Notes

Note: La transparence est copiée uniquement avec la fonction imagecopymerge() et les images en couleur vraies, non pas avec la fonction imagecopy() ou les images de palette.

Note: La couleur de transparence est une propriété de l'image, elle n'est pas une propriété de la couleur. Une fois que vous avez défini la couleur de transparence, chaque région de l'image de cette couleur que vous avez dessiné précédemment sera transparente.

imagecolorstotal
imageconvolution
Fonctions GD et images


Applique une matrice de la convolution 3x3, en utilisant le coefficient et l'excentrage

imagecolortransparent
imagecopy
Fonctions GD et images
PHP Manual

imageconvolution

(PHP 5 >= 5.1.0)

imageconvolution — Applique une matrice de la convolution 3x3, en utilisant le coefficient et l'excentrage

Description

bool imageconvolution ( resource $image , array $matrix , float $div , float $offset )

imageconvolution() applique une matrice de la convolution 3x3, en utilisant le coefficient div et l'excentrage offset.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

matrix

Une matrice 3x3 : un tableau contenant trois tableaux de trois nombres à virgules flottantes.

div

Le diviseur du résultat de la convolution, utilisé pour la normalisation.

offset

La position de la couleur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Impression du logo PHP.net avec imageconvolution()

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

L'exemple ci-dessus va afficher :

Exemple #2 Flou gaussien avec imageconvolution()

<?php
$image = imagecreatetruecolor(180,40);

// Écrit le texte et applique un floue gaussien sur l'image
imagestring($image, 5, 10, 8, 'Texte floue goussien', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Récrit le texte pour la comparaison
imagestring($image, 5, 10, 18, 'Texte floue goussien', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

L'exemple ci-dessus va afficher :

Affichage de l'exemple : Floue gaussien

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Voir aussi

  • imagefilter() - Applique un filtre à une image

imagecolortransparent
imagecopy
Fonctions GD et images


Copie une partie d'une image

imageconvolution
imagecopymerge
Fonctions GD et images
PHP Manual

imagecopy

(PHP 4, PHP 5)

imagecopy — Copie une partie d'une image

Description

bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

Copie une partie de l'image src_im sur l'image de destination dst_im, en commençant aux coordonnées src_x, src_y et sur la largeur de src_w et la hauteur de src_h. La portion ainsi définie sera copiée et placée aux coordonnées dst_x et dst_y.

Liste de paramètres

dst_im

Lien vers la ressource de l'image de destination.

src_im

Lien vers la ressource de l'image source.

dst_x

X : coordonnées du point de destination.

dst_y

Y : coordonnées du point de destination.

src_x

X : coordonnées du point source.

src_y

Y : coordonnées du point source.

src_w

Largeur de la source.

src_h

Hauteur de la source.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 On coupe le logo PHP.net

<?php
// Création des instances d'image
$src = imagecreatefromgif('php.gif');
$dest = imagecreatetruecolor(80, 40);

// Copie
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);

// Affichage et libération de la mémoire
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Copie une partie du logo PHP.net

imageconvolution
imagecopymerge
Fonctions GD et images


Copie et fusionne une partie d'une image

imagecopy
imagecopymergegray
Fonctions GD et images
PHP Manual

imagecopymerge

(PHP 4 >= 4.0.1, PHP 5)

imagecopymerge — Copie et fusionne une partie d'une image

Description

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

Copie une partie de l'image src_im dans l'image de destination dst_im en commençant aux coordonnées (src_x, src_y), avec la largeur src_w et la hauteur src_h. La zone de l'image ainsi définie sera copiée aux coordonnées (dst_x, dst_y), dans l'image de destination.

Liste de paramètres

dst_im

Ressource de l'image de destination.

src_im

Ressource de l'image source.

dst_x

X : coordonnée du point de destination.

dst_y

Y : coordonnée du point de destination.

src_x

X : coordonnée du point source.

src_y

Y : coordonnée du point source.

src_w

Largeur de la source.

src_h

Hauteur de la source.

pct

Les deux images seront fusionnées suivant le paramètre pct, qui peut valoir de 0 à 100. Si pct = 0, aucune action n'est faite, alors que si pct = 100, imagecopymerge() se comporte exactement comme imagecopy() pour les images de palette, tandis qu'il implémente la transparence alpha pour les images en couleur vraies.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fusionne 2 copies du logo PHP.net avec 75% de transparence

<?php
// Création des instances d'image
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copie et fusionne
imagecopymerge($dest, $src, 10, 10, 0, 0, 100, 47, 75);

// Affichage et libération de la mémoire
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

imagecopy
imagecopymergegray
Fonctions GD et images


Copie et fusionne une partie d'une image en niveaux de gris

imagecopymerge
imagecopyresampled
Fonctions GD et images
PHP Manual

imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5)

imagecopymergegray — Copie et fusionne une partie d'une image en niveaux de gris

Description

bool imagecopymergegray ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

imagecopymergegray() copie une partie de l'image src_im dans l'image de destination dst_im commençant aux coordonnées (src_x, src_y), avec la largeur src_w et la hauteur src_h. La zone de l'image ainsi définie sera copiée aux coordonnées (dst_x, dst_y), dans l'image de destination.

imagecopymergegray() est identique à la fonction imagecopymerge(), hormis le fait que lors de la fusion, le "hue" de l'image sera conservé grâce à la conversion de la zone dans l'image de destination en gris, avant l'opération de copie.

Liste de paramètres

dst_im

Ressource de l'image de destination.

src_im

Ressource de l'image source.

dst_x

X : coordonnée du point de destination.

dst_y

Y : coordonnée du point de destination.

src_x

X : coordonnée du point source.

src_y

Y : coordonnée du point source.

src_w

Largeur de la source.

src_h

Hauteur de la source.

pct

Le paramètre src_im sera changé en niveaux de gris en accord avec le paramètre pct où 0 correspond à une convertion totale en niveaux de gris et 100 ne modifie rien. Lorsque pct = 100, cette fonction se comporte de la même façon que la fonction imagecopy() pour les palettes, alors qu'elle implémente la transparene alpha pour les images true colour.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecopymergegray()

<?php
// Création des instances d'image
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copie et fusionne - Gris = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// Affichage et libère la mémoire
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>

imagecopymerge
imagecopyresampled
Fonctions GD et images


Copie, redimensionne, rééchantillonne une image

imagecopymergegray
imagecopyresized
Fonctions GD et images
PHP Manual

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5)

imagecopyresampled — Copie, redimensionne, rééchantillonne une image

Description

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresampled() copie une zone rectangulaire de l'image src_im vers l'image dst_im. Durant la copie, la zone est rééchantillonnée de manière à conserver la clarté de l'image durant une réduction.

En d'autres termes, imagecopyresampled() prendra une forme rectangulaire src_image d'une largeur de src_w et d'une hauteur src_h à la position (src_x,src_y) et le placera dans une zone rectangulaire dst_image d'une largeur de dst_w et d'une hauteur de dst_h à la position (dst_x,dst_y).

Si les hauteurs et largeurs des source et destination diffèrent, l'image copiée sera étirée de manière appropriée. Les coordonnées sont celles du coin supérieur gauche. imagecopyresampled() peut servir à copier des zones d'une image vers elle-même, (si dst_image est la même que src_image) mais si les régions se chevauchent, les résultats sont imprévisibles.

Liste de paramètres

dst_image

Lien vers la ressource de l'image de destination.

src_image

Lien vers la ressource de l'image source.

dst_x

X : coordonnées du point de destination.

dst_y

Y : coordonnées du point de destination.

src_x

X : coordonnées du point source.

src_y

Y : coordonnées du point source.

dst_w

Largeur de la destination.

dst_h

Hauteur de la destination.

src_w

Largeur de la source.

src_h

Hauteur de la source.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple simple

Cet exemple redimensionne une image à la moitié de sa taille originale.

<?php
// Le fichier
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Calcul des nouvelles dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Redimensionnement
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Affichage
imagejpeg($image_p, null, 100);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Exemple #2 Redimensionnement proportionnel d'une image

Cet exemple affichera une image avec une largeur ou une hauteur maximale de 200 pixels.

<?php
// Le fichier
$filename = 'test.jpg';

// Définition de la largeur et de la hauteur maximale
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Cacul des nouvelles dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Redimensionnement
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Affichage
imagejpeg($image_p, null, 100);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Réchantillone une image proportionnellement

Notes

Note: Il y a un problème dû aux limitations de la taille de la palette (255 + 1 couleurs différentes). Filtrer ou rééchantillonner une image demande plus de 255 couleurs, une approximation est alors utilisée pour calculer le nouveau nombre de couleurs. Avec une palette, si une nouvelle couleur ne peut être allouée, la couleur la plus proche (en théorie) est utilisée. Ce n'est pas toujours la couleur la plus proche visuellement. Cela peut générer des problèmes étranges, comme des images blanches. Pour éviter ce problème, passez en image TrueColor, comme celles générée par la fonction imagecreatetruecolor().

Voir aussi

imagecopyresized() - Copie et redimensionne une partie d'une image

imagecopymergegray
imagecopyresized
Fonctions GD et images


Copie et redimensionne une partie d'une image

imagecopyresampled
imagecreate
Fonctions GD et images
PHP Manual

imagecopyresized

(PHP 4, PHP 5)

imagecopyresized — Copie et redimensionne une partie d'une image

Description

bool imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresized() copie une partie rectangulaire d'une image dans une autre image de destination. dst_image est l'image de destination, src_image est l'image source.

En d'autres termes, imagecopyresized() prendra une forme rectangulaire src_image d'une largeur de src_w et d'une hauteur src_h à la position (src_x,src_y) et le placera dans une zone rectangulaire dst_image d'une largeur de dst_w et d'une hauteur de dst_h à la position (dst_x,dst_y).

Si les dimensions de la source et de la destination ne sont pas égales, un étirement adéquat est effectué pour faire correspondre les deux. Les coordonnées fournies sont définies par rapport au coin supérieur gauche. Cette fonction peut être utilisée pour recopier des régions à l'intérieur d'une même image (si dst_image et src_image sont identiques), mais si les régions se chevauchent, le résultat risque d'être incohérent.

Liste de paramètres

dst_image

Lien vers la ressource de l'image de destination.

src_image

Lien vers la ressource de l'image source.

dst_x

X : coordonnée du point de destination.

dst_y

Y : coordonnée du point de destination.

src_x

X : coordonnée du point source.

src_y

Y : coordonnée du point source.

dst_w

Largeur de la destination.

dst_h

Hauteur de la destination.

src_w

Largeur de la source.

src_h

Hauteur de la source.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Redimensionnement d'une image

Cet exemple affichera l'image redimensionné à la moitié de sa taille d'origine.

<?php
// Fichier et nouvelle taille
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Calcul des nouvelles dimensions
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Chargement
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Redimensionnement
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Affichage
imagejpeg($thumb);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecopyresized()

L'image affiché aura une taille de moitié moins que l'image d'origine, mais une meilleur qualité peut être obtenue en utilisant la fonction imagecopyresampled().

Notes

Note: Il y a un problème dû aux limitations de la taille de la palette (255 + 1 couleurs différentes). Filtrer ou rééchantillonner une image demande plus de 255 couleurs, une approximation est alors utilisée pour calculer le nouveau nombre de couleurs. Avec une palette, si une nouvelle couleur ne peut être allouée, la couleur la plus proche (en théorie) est utilisée ; ce n'est pas toujours celle qui est la plus proche visuellement. Cela peut générer des problèmes étranges, comme des images blanches. Pour éviter ce problème, passez en image TrueColor, comme celles générée par la fonction imagecreatetruecolor().

Voir aussi

imagecopyresampled() - Copie, redimensionne, rééchantillonne une image

imagecopyresampled
imagecreate
Fonctions GD et images


Crée une nouvelle image à palette

imagecopyresized
imagecreatefromgd2
Fonctions GD et images
PHP Manual

imagecreate

(PHP 4, PHP 5)

imagecreate — Crée une nouvelle image à palette

Description

resource imagecreate ( int $width , int $height )

imagecreate() retourne un identifiant d'image représentant une image vide.

Nous recommandons l'utilisation de imagecreatetruecolor() à la place de imagecreate().

Liste de paramètres

width

La largeur de l'image.

height

La hauteur de l'image.

Valeurs de retour

Retourne un identifiant de ressource d'image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une image GD et affichage de cette image

<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
    or die("Impossible d'initialiser la bibliothèque GD");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecreate()

Voir aussi

  • imagedestroy() - Détruit une image
  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies

imagecopyresized
imagecreatefromgd2
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier GD2 ou d'une URL

imagecreate
imagecreatefromgd2part
Fonctions GD et images
PHP Manual

imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2 — Crée une nouvelle image à partir d'un fichier GD2 ou d'une URL

Description

resource imagecreatefromgd2 ( string $filename )

Crée une nouvelle image depuis un fichier GD2 ou une URL.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image GD2.

Valeurs de retour

Retourne un identifiant de ressource d'image en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecreatefromgd2()

<?php
// Charge l'image gd2
$im = imagecreatefromgd2('./test.gd2');

// Applique un effet sur l'image : on applique ici un filtre négatif si nous
// utilisons PHP5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_NEGATE);
}

// Sauvegarde de l'image
imagegd2($im, './test_updated.gd2');
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreate
imagecreatefromgd2part
Fonctions GD et images


Crée une nouvelle image à partir d'une partie de fichier GD2 ou d'une URL

imagecreatefromgd2
imagecreatefromgd
Fonctions GD et images
PHP Manual

imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2part — Crée une nouvelle image à partir d'une partie de fichier GD2 ou d'une URL

Description

resource imagecreatefromgd2part ( string $filename , int $srcX , int $srcY , int $width , int $height )

Crée une nouvelle image depuis une partie d'un fichier GD2 ou d'une URL.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image GD2.

srcX

Coordonnée en X du point source.

srcY

Coordonnée en Y du point source.

width

Largeur de la source.

height

Hauteur de la source.

Valeurs de retour

Retourne un identifiant de ressource d'image en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecreatefromgd2part()

<?php
// Pour cet exemple, nous avons tout d'abord besoin des dimensions de l'image
$image = getimagesize('./test.gd2');

// Création de l'instance d'image maintenant que nous avons les dimensions
$im = imagecreatefromgd2part('./test.gd2', 4, 4, ($image[0] / 2) - 6, ($image[1] / 2) - 6);

// Opération sur l'image : ici, nous imprimons l'image si nous utilisons PHP5+
if(function_exists('imagefilter'))
{
    imagefilter($im, IMG_FILTER_EMBOSS);
}

// Sauvegarde de l'image optimisée
imagegd2($im, './test_emboss.gd2');
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromgd2
imagecreatefromgd
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier GD ou d'une URL

imagecreatefromgd2part
imagecreatefromgif
Fonctions GD et images
PHP Manual

imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd — Crée une nouvelle image à partir d'un fichier GD ou d'une URL

Description

resource imagecreatefromgd ( string $filename )

Crée une nouvelle image depuis un fichier GD ou une URL.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers un fichier GD.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagecreatefromgd()

<?php
// Charge une image GD
$im = @imagecreatefromgd('./test.gd');

// Vérifie si l'image est bien chargée
if(!is_resource($im))
{
     die('Impossible de charger l\'image GD');
}

// Des opérations sur l'image ici

// Sauvegarde de l'image
imagegd($im, './test_updated.gd');
imagedestroy($im);
?>

Notes

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromgd2part
imagecreatefromgif
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier ou d'une URL

imagecreatefromgd
imagecreatefromjpeg
Fonctions GD et images
PHP Manual

imagecreatefromgif

(PHP 4, PHP 5)

imagecreatefromgif — Crée une nouvelle image à partir d'un fichier ou d'une URL

Description

resource imagecreatefromgif ( string $filename )

imagecreatefromgif() retourne un identifiant d'image qui représente l'image obtenue à partir du fichier dont le nom est donné par filename.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image GIF.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de prise en charge d'une erreur lors du chargement d'une image GIF

<?php
function LoadGif($imgname)
{
    /* Tente d'ouvrir l'image */
    $im = @imagecreatefromgif($imgname);

    /* Traitement si l'ouverture à échouer */
    if(!$im)
    {
        /* Création d'une image vide */
        $im = imagecreatetruecolor (150, 30);
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc = imagecolorallocate ($im, 0, 0, 0);

        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);

        /* Affiche un message d'erreur dans l'image */
        imagestring ($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/gif');

$img = LoadGif('bogus.image');

imagegif($img);
imagedestroy($img);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecreatefromgif()

Notes

Note: Le support du GIF a été supprimé de la bibliothèque GD dans sa version 1.6 et a été rajouté depuis la version 2.0.28. Cette fonction n'est donc pas disponible entre ces deux versions.

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromgd
imagecreatefromjpeg
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier ou d'une URL

imagecreatefromgif
imagecreatefrompng
Fonctions GD et images
PHP Manual

imagecreatefromjpeg

(PHP 4, PHP 5)

imagecreatefromjpeg — Crée une nouvelle image à partir d'un fichier ou d'une URL

Description

resource imagecreatefromjpeg ( string $filename )

imagecreatefromjpeg() retourne un identifiant d'image représentant une image obtenue à partir du fichier filename.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image JPEG.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de gestion d'une erreur lors du chargement d'une image JPEG

<?php
function LoadJpeg($imgname)
{
    /* Tente d'ouvrir l'image */
    $im = @imagecreatefromjpeg($imgname);

    /* Traitement en cas d'échec */
    if(!$im)
    {
        /* Création d'une image vide */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* On y affiche un message d'erreur */
        imagestring($im, 1, 5, 5, 'Erreur de chargement ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/jpeg');

$img = LoadJpeg('bogus.image');

imagejpeg($img);
imagedestroy($img);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Exemple de gestion d'une erreur durant le chargement d'un JPEG

Notes

Note: Le support JPEG n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur.

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromgif
imagecreatefrompng
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier ou d'une URL

imagecreatefromjpeg
imagecreatefromstring
Fonctions GD et images
PHP Manual

imagecreatefrompng

(PHP 4, PHP 5)

imagecreatefrompng — Crée une nouvelle image à partir d'un fichier ou d'une URL

Description

resource imagecreatefrompng ( string $filename )

imagecreatefrompng() retourne un identifiant d'image représentant une image obtenue à partir du fichier filename.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image PNG.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de gestion d'une erreur lors du chargement d'une image PNG

<?php
function LoadPNG($imgname)
{
    /* Tente d'ouvrir l'image */
    $im = @imagecreatefrompng($imgname);

    /* Traitement en cas d'échec */
    if(!$im)
    {
        /* Création d'une image vide */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* On y affiche un message d'erreur */
        imagestring($im, 1, 5, 5, 'Erreur de chargement ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/png');

$img = LoadPNG('bogus.image');

imagepng($img);
imagedestroy($img);
?>

Notes

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromjpeg
imagecreatefromstring
Fonctions GD et images


Crée une image à partir d'une chaîne

imagecreatefrompng
imagecreatefromwbmp
Fonctions GD et images
PHP Manual

imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5)

imagecreatefromstring — Crée une image à partir d'une chaîne

Description

resource imagecreatefromstring ( string $data )

imagecreatefromstring() retourne un identifiant d'image représentant l'image obtenu depuis la chaîne image. Le type de l'image sera automatiquement détecté si vous avez compilé PHP avec les supports : JPEG, PNG, GIF, WBMP et GD2.

Liste de paramètres

image

Une chaîne contenant les données de l'image.

Valeurs de retour

Une ressource d'image sera retourné en cas de succès. FALSE est retourné si le type de l'image n'est pas supporté, si les données ne sont pas dans un format reconnu ou si l'image est corrompue et donc ne peut être chargée.

Exemples

Exemple #1 Exemple avec imagecreatefromstring()

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'An error occurred.';
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagecreatefromstring()

Voir aussi

  • imagecreatefromjpeg() - Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefrompng() - Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatefromgif() - Crée une nouvelle image à partir d'un fichier ou d'une URL
  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies

imagecreatefrompng
imagecreatefromwbmp
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier ou d'une URL

imagecreatefromstring
imagecreatefromxbm
Fonctions GD et images
PHP Manual

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromwbmp — Crée une nouvelle image à partir d'un fichier ou d'une URL

Description

resource imagecreatefromwbmp ( string $filename )

imagecreatefromwbmp() retourne une ressource d'image PHP, représentant l'image filename.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image WBMP.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de gestion d'une erreur lors du chargement d'une image WBMP

<?php
function LoadWBMP($imgname)
{
    /* Tente d'ouvrir l'image */
    $im = @imagecreatefromwbmp($imgname);

    /* Traitement en cas d'échec */
    if(!$im)
    {
        /* Création d'une image vide */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* On y affiche un message d'erreur */
        imagestring($im, 1, 5, 5, 'Erreur de chargement ' . $imgname, $tc);
    }

    return $im;
}

header('Content-type: image/vnd.wap.wbmp');

$img = LoadWBMP('bogus.image');

imagewbmp($img);
imagedestroy($img);
?>

Notes

Note: Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur.

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromstring
imagecreatefromxbm
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier ou d'une URL

imagecreatefromwbmp
imagecreatefromxpm
Fonctions GD et images
PHP Manual

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxbm — Crée une nouvelle image à partir d'un fichier ou d'une URL

Description

resource imagecreatefromxbm ( string $filename )

imagecreatefromxbm() retourne un identifiant d'image représentant l'image obtenue à partir du fichier filename.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image XBM.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Convertie une image XBM en une image PNG en utilisant la fonction imagecreatefromxbm()

<?php
// Chargement du fichier XBM
$xbm = imagecreatefromxbm('./example.xbm');

// On la convertie en fichier PNG
imagepng($xbm, './example.png');
imagedestroy($xbm);
?>

Notes

Avertissement

Les versions Windows de PHP antérieures à la version 4.3.0 ne supportent pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.

imagecreatefromwbmp
imagecreatefromxpm
Fonctions GD et images


Crée une nouvelle image à partir d'un fichier ou d'une URL

imagecreatefromxbm
imagecreatetruecolor
Fonctions GD et images
PHP Manual

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxpm — Crée une nouvelle image à partir d'un fichier ou d'une URL

Description

resource imagecreatefromxpm ( string $filename )

imagecreatefromxpm() retourne un identifiant d'image représentant l'image obtenue à partir du fichier filename.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Liste de paramètres

filename

Chemin vers l'image XPM.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une instance d'image en utilisant la fonction imagecreatefromxpm()

<?php
// Vérifie le support XPM
if(!(imagetypes() & IMG_XPM))
{
    die('Le support XPM n\'a pu être vérifié !');
}

// Création de l'instance d'une image
$xpm = imagecreatefromxpm('./example.xpm');

// Quelques opérations sur l'image ici

// PHP n'a pas le support pour l'écriture des images XPM
// aussi, dans ce cas, nous sauvegardons l'image dans un fichier JPEG
// avec une qualité de 100%
imagejpeg($xpm, './example.jpg', 100);
imagedestroy($xpm);
?>

Valeurs de retour

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Note: Cette fonction n'est pas implémentée sous Windows.

imagecreatefromxbm
imagecreatetruecolor
Fonctions GD et images


Crée une nouvelle image en couleurs vraies

imagecreatefromxpm
imagedashedline
Fonctions GD et images
PHP Manual

imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5)

imagecreatetruecolor — Crée une nouvelle image en couleurs vraies

Description

resource imagecreatetruecolor ( int $width , int $height )

imagecreatetruecolor() retourne une ressource représentant une image noire.

Suivant votre version de PHP et de GD, cette fonction est définie ou non. De PHP version 4.0.6 à la version 4.1.x, cette fonction existe toujours si le module GD est chargé, mais l'appeler sans avoir GD2 d'installé fera que PHP lancera une erreur fatale et sortira. Avec PHP 4.2.x, ce comportement est différent et PHP lancera une alerte au lieu d'une erreur. Pour les autres versions de PHP, cette fonction n'est définie que si une version correcte de GD est installée.

Liste de paramètres

width

Largeur de l'image.

height

Hauteur de l'image.

Valeurs de retour

Retourne un identifiant de ressource image en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Création d'un flux d'image GD, et affichage

<?php
header ('Content-type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('Impossible de crée un flux d\'image GD');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Une simple chaîne de texte', $text_color);
imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Creating a new GD image stream and outputting an image.

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagedestroy() - Détruit une image
  • imagecreate() - Crée une nouvelle image à palette

imagecreatefromxpm
imagedashedline
Fonctions GD et images


Dessine une ligne pointillée

imagecreatetruecolor
imagedestroy
Fonctions GD et images
PHP Manual

imagedashedline

(PHP 4, PHP 5)

imagedashedline — Dessine une ligne pointillée

Description

bool imagedashedline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

imagedashedline() est obsolète. Utilisez plutôt
une combinaison des fonctions imagesetstyle() et
imageline().

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x1

Coordonnée en X : En haut, à gauche.

y1

Coordonnée en Y : En haut, à gauche. 0 est le coin en haut à gauche de l'image.

x2

Coordonnée en X : En bas, à droite.

y2

Coordonnée en Y : En bas, à droite.

color

La couleur de remplissage. Un identifiant de couleur retourné par la fonction imagecolorallocate().

Valeurs de retour

Retourne toujours TRUE.

Exemples

Exemple #1 Exemple avec imagedashedline()

<?php
// Crée une image de 100x100 pixels
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Dessine une ligne verticale en pointillé
imagedashedline($im, 50, 25, 50, 75, $white);

// Sauvegarde l'image
imagepng($im, './dashedline.png');
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagedashedline()

Exemple #2 Alternative à la fonction imagedashedline()

<?php
// Crée une image de 100x100 pixels
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Définit le style : Les 4 premiers pixels sont blancs et les 4 suivants
// sont transparents. Ceci va créer l'effet de pointillé
$style = Array(
                $white,
                $white,
                $white,
                $white,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT,
                IMG_COLOR_TRANSPARENT
                );

imagesetstyle($im, $style);

// Dessine la ligne pointillée
imageline($im, 50, 25, 50, 75, IMG_COLOR_STYLED);

// Sauvegarde de l'image
imagepng($im, './imageline.png');
imagedestroy($im);
?>

Voir aussi

  • imagesetstyle() - Configure le style pour le dessin des lignes
  • imageline() - Dessine une ligne

imagecreatetruecolor
imagedestroy
Fonctions GD et images


Détruit une image

imagedashedline
imageellipse
Fonctions GD et images
PHP Manual

imagedestroy

(PHP 4, PHP 5)

imagedestroy — Détruit une image

Description

bool imagedestroy ( resource $image )

imagedestroy() libère toute la mémoire associée à l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagedestroy()

<?php
// Crée une image de 100 x 100 pixels
$im = imagecreatetruecolor(100, 100);

// Modification et/ou sauvegarde de l'image

// Libération de la mémoire associée
imagedestroy($im);
?>

imagedashedline
imageellipse
Fonctions GD et images


Dessine une ellipse

imagedestroy
imagefill
Fonctions GD et images
PHP Manual

imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipse — Dessine une ellipse

Description

bool imageellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Dessine une ellipse centrée sur le point spécifié.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

cx

X : coordonnée du centre.

cy

Y : coordonnée du centre.

width

La largeur de l'ellipse.

height

La hauteur de l'ellipse.

color

La couleur de l'ellipse. Un identifiant de couleur créé avec la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imageellipse()

<?php
// Création d'une image vide
$image = imagecreatetruecolor(400, 300);

// Choix de la couleur d'arrière-plan
$bg = imagecolorallocate($image, 0, 0, 0);

// Remplit l'arrière-plan avec la couleur sélectionnée
imagefill($image, 0, 0, $bg);

// Choix de la couleur de l'ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// On dessine l'ellipse
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// On affiche l'image
header("Content-type: image/png");
imagepng($image);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imageellipse()

Notes

Note: Cette fonction nécessite GD 2.0.2 ou une version supérieure.

Voir aussi

  • imagefilledellipse() - Dessine une ellipse pleine
  • imagearc() - Dessine une ellipse partielle

imagedestroy
imagefill
Fonctions GD et images


Remplissage

imageellipse
imagefilledarc
Fonctions GD et images
PHP Manual

imagefill

(PHP 4, PHP 5)

imagefill — Remplissage

Description

bool imagefill ( resource $image , int $x , int $y , int $color )

Effectue un remplissage avec la couleur color, dans l'image image, à partir du point de coordonnées (x, y) (le coin supérieur gauche est l'origine (0,0)).

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x

X : coordonnée du point de départ.

y

Y : coordonnée du point de départ.

color

La couleur de remplissage. Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagefill()

<?php

$im = imagecreatetruecolor(100, 100);

// Fixe le fond rouge
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagefill()

Voir aussi

  • imagecolorallocate() - Alloue une couleur pour une image

imageellipse
imagefilledarc
Fonctions GD et images


Dessine un arc partiel et le remplit

imagefill
imagefilledellipse
Fonctions GD et images
PHP Manual

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc — Dessine un arc partiel et le remplit

Description

bool imagefilledarc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color , int $style )

Dessine un arc partiel, centré aux coordonnées spécifiées dans l'image fournie.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

cx

X : coordonnée du centre.

cy

Y : coordonnée du centre.

width

La largeur de l'arc.

height

La hauteur de l'arc.

start

L'angle de début de l'arc, en degrés.

end

L'angle de fin de l'arc, en degrés. 0° est situé à une position de 3 heures sur un cadran horaire, et l'arc est dessiné dans le sens des aiguilles d'une montre.

color

Un identifiant de couleur, créé par la fonction imagecolorallocate().

style

Un champ d'octets, combiné avec l'opérateur OR :

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE et IMG_ARC_CHORD sont mutuellement exclusives; IMG_ARC_CHORD ne fait que connecter les angles de début et de fin avec une ligne droite, tandis que IMG_ARC_PIE produit une ligne courbe. IMG_ARC_NOFILL indique que l'arc (ou corde) doit être dessiné mais pas rempli. IMG_ARC_EDGED, utilisé conjointement avec IMG_ARC_NOFILL, indique que les angles de début et de fin doivent être connectés au centre. Cette fonction est recommandée pour faire les graphiques de type camembert.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'un camembert en 3D

<?php

// Création de l'image
$image = imagecreatetruecolor(100, 100);

// Allocation de quelques couleurs
$white    = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray     = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red      = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred  = imagecolorallocate($image, 0x90, 0x00, 0x00);

// Création de l'effet 3D
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

// Affichage de l'image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Création d'un graphique 3D

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

imagefill
imagefilledellipse
Fonctions GD et images


Dessine une ellipse pleine

imagefilledarc
imagefilledpolygon
Fonctions GD et images
PHP Manual

imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5)

imagefilledellipse — Dessine une ellipse pleine

Description

bool imagefilledellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Dessine une ellipse centrée sur les coordonnées spécifiées sur l'image fournie.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

cx

X : coordonnée du centre.

cy

Y : coordonnée du centre.

width

La largeur de l'ellipse.

height

La hauteur de l'ellipse.

color

La couleur de remplissage. Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagefilledellipse()

<?php

// Nouvelle image
$image = imagecreatetruecolor(400, 300);

// Couleur de fond
$bg = imagecolorallocate($image, 0, 0, 0);

// Couleur de remplissage de l'ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// On dessine l'ellipse blanche
imagefilledellipse($image, 200, 150, 300, 200, $col_ellipse);

// On affiche l'image
header("Content-type: image/png");
imagepng($image);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagefilledellipse()

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imageellipse() - Dessine une ellipse
  • imagefilledarc() - Dessine un arc partiel et le remplit

imagefilledarc
imagefilledpolygon
Fonctions GD et images


Dessine un polygone rempli

imagefilledellipse
imagefilledrectangle
Fonctions GD et images
PHP Manual

imagefilledpolygon

(PHP 4, PHP 5)

imagefilledpolygon — Dessine un polygone rempli

Description

bool imagefilledpolygon ( resource $image , array $points , int $num_points , int $color )

imagefilledpolygon() dessine un polygone rempli dans l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

points

Un tableau qui contient les coordonnées x et y du sommet des polygones.

num_points

Le nombre total de sommets, et doit être d'au moins 3.

color

Un identifiant de couleur, créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagefilledpolygon()

<?php
// Définition du tablau de points pour le polygone
$values = array(
            40,  50,  // Point 1 (x, y)
            20,  240, // Point 2 (x, y)
            60,  60,  // Point 3 (x, y)
            240, 20,  // Point 4 (x, y)
            50,  40,  // Point 5 (x, y)
            10,  10   // Point 6 (x, y)
            );

// Création d'une image
$image = imagecreatetruecolor(250, 250);

// Alloue quelques couleurs
$bg   = imagecolorallocate($image, 0, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);

// Remplit l'arrière-plan
imagefilledrectangle($image, 0, 0, 249, 249, $bg);

// Dessine le polygone
imagefilledpolygon($image, $values, 6, $blue);

// Affichage de l'image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagefilledpolygon()

imagefilledellipse
imagefilledrectangle
Fonctions GD et images


Dessine un rectangle rempli

imagefilledpolygon
imagefilltoborder
Fonctions GD et images
PHP Manual

imagefilledrectangle

(PHP 4, PHP 5)

imagefilledrectangle — Dessine un rectangle rempli

Description

bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Dessine un rectangle de couleur color dans l'image image, en commençant par le sommet supérieur gauche (1) et finissant au sommet inférieur droit (2). Le coin supérieur gauche est l'origine (0, 0).

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x1

X : coordonné du point 1.

y1

Y : coordonné du point 1.

x2

X : coordonné du point 2.

y2

Y : coordonné du point 2.

color

La couleur de remplissage. Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagefilledrectangle()

<?php
// Création d'une image de 55x30 pixels
$im = imagecreatetruecolor(55, 30);
$white = imagecolorallocate($im, 255, 255, 255);

// Dessine un rectangle blanc
imagefilledrectangle($im, 4, 4, 50, 25, $white);

// Sauvegarde l'image
imagepng($im, './imagefilledrectangle.png');
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagefilledrectangle()

imagefilledpolygon
imagefilltoborder
Fonctions GD et images


Remplit une région avec une couleur spécifique

imagefilledrectangle
imagefilter
Fonctions GD et images
PHP Manual

imagefilltoborder

(PHP 4, PHP 5)

imagefilltoborder — Remplit une région avec une couleur spécifique

Description

bool imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color )

imagefilltoborder() remplit avec la couleur color toute la région à l'intérieur de la région limitée par la couleur border. Le point de départ est (x, y) (le coin supérieur gauche est l'origine (0,0)) et la couleur de la région est color.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x

X : coordonné de départ.

y

Y : coordonné de départ.

border

La couleur de la bordure. Un identifiant de couleur créé par la fonction imagecolorallocate().

color

La couleur de remplissage. Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Remplissage d'un ellipse avec une couleur

<?php
// Création d'un gestionnaire d'image, puis définit la couleur d'arrière-plan
// à blanc
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));

// Dessine une ellipse dont les bordures seront noires
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));

// Définit la bordure et remplit l'ellipse de la couleur choisie
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);

// Remplit la sélection
imagefilltoborder($im, 50, 50, $border, $fill);

// Affichage et libération de la mémoire
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagefilltoborder()

imagefilledrectangle
imagefilter
Fonctions GD et images


Applique un filtre à une image

imagefilltoborder
imagefontheight
Fonctions GD et images
PHP Manual

imagefilter

(PHP 5)

imagefilter — Applique un filtre à une image

Description

bool imagefilter ( resource $image , int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 [, int $arg4 ]]]] )

imagefilter() applique le filtre filtertype à l'image en utilisant les paramètres args1, args2 et args3 lorsque cela est nécessaire.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filtertype

Le paramètre filtertype peut prendre l'une des valeurs suivantes :

  • IMG_FILTER_NEGATE : renverse toutes les couleurs de l'image.
  • IMG_FILTER_GRAYSCALE : convertit l'image en grayscale.
  • IMG_FILTER_BRIGHTNESS : modifie la luminosité de l'image. Utilisez le paramètre args1 pour définir la luminosité.
  • IMG_FILTER_CONTRAST : modifie le contraste de l'image. Utilisez le paramètre args1 pour définir le contraste.
  • IMG_FILTER_COLORIZE : identique au paramètre IMG_FILTER_GRAYSCALE excepté que vous pouvez spécifier une couleur. Utilisez trois arguments séparés dans les paramètres args1, args2 et args3 sous la forme red, blue, green et arg4 pour le canal alpha. L'intervalle pour chaque couleur est 0 - 255.
  • IMG_FILTER_EDGEDETECT : utilise la détection des bords pour les mettre en évidence dans l'image.
  • IMG_FILTER_EMBOSS : grave l'image en relief.
  • IMG_FILTER_GAUSSIAN_BLUR : brouille l'image en utilisant la méthode gaussienne.
  • IMG_FILTER_SELECTIVE_BLUR : brouille l'image.
  • IMG_FILTER_MEAN_REMOVAL : son utilisation signifie le déplacement pour réaliser un effet "peu précis".
  • IMG_FILTER_SMOOTH : rend l'image lissée (smooth). Utilisez le paramètre args1 pour définir le degré de lissoir.
  • IMG_FILTER_PIXELATE : applique un effet de pixelisation à l'image; utilise arg1 pour indiquer la taille de bloc, et arg2 pour indiquer le mode de pixelisation.

arg1

  • IMG_FILTER_BRIGHTNESS : degré de luminosité.
  • IMG_FILTER_CONTRAST : degré du contraste.
  • IMG_FILTER_COLORIZE : valeur du composant rouge.
  • IMG_FILTER_SMOOTH : degré du lissé.
  • IMG_FILTER_PIXELATE: taille de bloc en pixels.

arg2

  • IMG_FILTER_COLORIZE : valeur du composant vert.

arg3

  • IMG_FILTER_COLORIZE : valeur du composant bleu.

arg4

  • IMG_FILTER_COLORIZE : canal Alpha. Une valeur entre 0 et 127. 0 signifie totalement opaque, tandis que 127 signifie totalement transparent.
  • IMG_FILTER_PIXELATE: s'il faut utiliser un effet de pixelisation avancé ou non (par défaut, FALSE).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Support de la pixelisation (IMG_FILTER_PIXELATE) ajouté.
5.2.5 | Le support du canal Alpha pour la constante IMG_FILTER_COLORIZE a été ajouté.

Exemples

Exemple #1 Exemple avec imagefilter()

<?php
$im = imagecreatefrompng('dave.png');

if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
    echo 'Image convertie en grayscale.';

    imagepng($im, 'dave.png');
}
else
{
    echo 'La convertion en grayscale a échoué.';
}

imagedestroy($im);
?>

Exemple #2 Exemple avec imagefilter()

<?php
$im = imagecreatefrompng('sean.png');

if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
    echo 'La luminosité de l\'image a été modifiée.';
    imagepng($im, 'sean.png');
    imagedestroy($im);
}
else
{
    echo 'Echec lors de la modification de la luminosité.';
}
?>

Exemple #3 Exemple avec imagefilter()

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, donc 0, 255, 0 correspond au vert */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
    echo 'L\'image a été ombragée en vert avec succès.';
    imagepng($im, 'philip.png');
    imagedestroy($im);
}
else
{
    echo 'Echec lors de la modification de l\'ombrage.';
}
?>

Exemple #4 Exemple d'image en négatif avec imagefilter()

<?php
// Définission de notre fonction "négatif" afin qu'elle soit portable
// également sur les versions de PHP qui n'ont pas la fonction imagefilter()
function negate($im)
{
    if(function_exists('imagefilter'))
    {
        return imagefilter($im, IMG_FILTER_NEGATE);
    }

    for($x = 0; $x < imagesx($im); ++$x)
    {
        for($y = 0; $y < imagesy($im); ++$y)
        {
            $index = imagecolorat($im, $x, $y);
            $rgb = imagecolorsforindex($index);
            $color = imagecolorallocate($im, 255 - $rgb['red'], 255 - $rgb['green'], 255 - $rgb['blue']);

            imagesetpixel($im, $x, $y, $color);
        }
    }

    return(true);
}

$im = imagecreatefromjpeg('kalle.jpg');

if($im && negate($im))
{
    echo 'Image convertie avec succès en couleur négative.';

    imagejpeg($im, 'kalle.jpg', 100);
    imagedestroy($im);
}
else
{
    echo 'Echec lors de la conversion en couleur négative.';
}
?>

Exemple #5 Exemple de pixelisation avec imagefilter()

<?php
// Chargement du logo PH, nous avons besoin de deux instances.
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');

// Crée une image sur laquelle nous voulons montrer les différences
$output = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));

// Applique la pixelation à chaque instances, avec un bloc de 3
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);

// Fusion des différences dans l'image finale
imagecopy($output, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1, imagesy($logo1) - 1);
imagecopy($output, $logo2, imagesx($logo2), 0, 0, 0, imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);

// Affichage des différences
header('Content-Type: image/png');
imagepng($output);
imagedestroy($output);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagefilter()

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Voir aussi

  • imageconvolution() - Applique une matrice de la convolution 3x3, en utilisant le coefficient et l'excentrage

imagefilltoborder
imagefontheight
Fonctions GD et images


Retourne la hauteur de la police

imagefilter
imagefontwidth
Fonctions GD et images
PHP Manual

imagefontheight

(PHP 4, PHP 5)

imagefontheight — Retourne la hauteur de la police

Description

int imagefontheight ( int $font )

Retourne la hauteur de la police font en pixels.

Liste de paramètres

font

Peut être 1, 2, 3, 4, 5 pour les polices internes d'encodage Latin2 (où les plus grands nombres correspondent aux polices larges) ou n'importe quels identifiants de police de votre choix, enregistrées avec la fonction imageloadfont().

Valeurs de retour

Retourne la hauteur de la police, en pixels.

Exemples

Exemple #1 Exemple avec imagefontheight() et des polices internes

<?php
echo 'Hauteur de la police : ' . imagefontheight(4);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Hauteur de la police : 16

Exemple #2 Exemple avec imagefontheight() et imageloadfont()

<?php
// Chargement d'une police .gdf
$font = imageloadfont('anonymous.gdf');

echo 'Hauteur de la police : ' . imagefontheight($font);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Hauteur de la police : 43

Voir aussi

  • imagefontwidth() - Retourne la largeur de la police
  • imageloadfont() - Charge une nouvelle police

imagefilter
imagefontwidth
Fonctions GD et images


Retourne la largeur de la police

imagefontheight
imageftbbox
Fonctions GD et images
PHP Manual

imagefontwidth

(PHP 4, PHP 5)

imagefontwidth — Retourne la largeur de la police

Description

int imagefontwidth ( int $font )

Retourne la largeur de la police font en pixels.

Liste de paramètres

font

Peut être 1, 2, 3, 4, 5 pour les polices internes d'encodage Latin2 (où les plus grands nombres correspondent aux polices larges) ou n'importe quels identifiants de police de votre choix, enregistrées avec la fonction imageloadfont().

Valeurs de retour

Retourne la largeur de la police.

Exemples

Exemple #1 Exemple avec imagefontwidth() et les polices internes

<?php
echo 'Largeur de la police : ' . imagefontwidth(4);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Largeur de la police : 8

Exemple #2 Exemple avec imagefontwidth() et imageloadfont()

<?php
// Chargement d'une police .gdf
$font = imageloadfont('anonymous.gdf');

echo 'Largeur de la police : ' . imagefontwidth($font);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Largeur de la police : 23

Voir aussi

  • imagefontheight() - Retourne la hauteur de la police
  • imageloadfont() - Charge une nouvelle police

imagefontheight
imageftbbox
Fonctions GD et images


Calcule le rectangle d'encadrement pour un texte, en utilisant la police courante et freetype2

imagefontwidth
imagefttext
Fonctions GD et images
PHP Manual

imageftbbox

(PHP 4 >= 4.0.7, PHP 5)

imageftbbox — Calcule le rectangle d'encadrement pour un texte, en utilisant la police courante et freetype2

Description

array imageftbbox ( float $size , float $angle , string $fontfile , string $text [, array $extrainfo ] )

imageftbbox() calcule le rectangle d'encadrement pour le texte text, en utilisant la police courante et freetype2.

Liste de paramètres

size

La taille de la police. Suivant votre version de GD, elle devra être spécifié en pixel (GD1) ou en point (GD2).

angle

Angle, en degrés, dans lequel le paramètre text sera mesuré.

fontfile

Le nom du fichier de la police TrueType (peut être une URL). Suivant la version de GD utilisée par PHP, il sera recherché les fichiers qui ne commencent pas par un '/', en y ajoutant l'extension '.ttf', et suivant le chemin des polices défini par la bibliothèque.

text

La chaîne à mesurer.

extrainfo

Index possibles pour le tableau extrainfo
Clé | Type | Signification
linespacing | float | Représente l'espacement entre les lignes lors du dessin

Valeurs de retour

imageftbbox() retourne un tableau contenant 8 éléments représentant les 4 points du rectangle entourant le texte :

0 | Coin en bas, à gauche, position en X
1 | Coin en bas, à gauche, position en Y
2 | Coin en bas, à droite, position en X
3 | Coin en bas, à droite, position en Y
4 | Coin en haut, à droite, position en X
5 | Coin en haut, à droite, position en Y
6 | Coin en haut, à gauche, position en X
7 | Coin en haut, à gauche, position en Y

Les points sont relatifs au texte suivant le paramètre angle, aussi, "en haut à gauche" signifie le coin en haut à gauche lorsque l'on regarde le texte horizontalement.

Exemples

Exemple #1 Exemple avec imageftbbox()

<?php
// Création d'une image de 300x150 pixels
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Chemin vers notre fichier de police
$font = './arial.ttf';

// D'abord, nous créons un rectangle contenant notre texte
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');

// Nos coordonnées en X et en Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');

// Affichage vers le navigateur
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Note: Cette fonction n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR)

Historique

Version | Description
4.3.5 | Le paramètre extrainfo est maintenant optionnel.

imagefontwidth
imagefttext
Fonctions GD et images


Écrit du texte dans une image avec la police courante FreeType 2

imageftbbox
imagegammacorrect
Fonctions GD et images
PHP Manual

imagefttext

(PHP 4 >= 4.0.7, PHP 5)

imagefttext — Écrit du texte dans une image avec la police courante FreeType 2

Description

array imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text [, array $extrainfo ] )

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

size

La taille de la police à utiliser, en nombre de points.

angle

L'angle, en degrés ; 0 degré pour une lecture du texte de gauche à droite. Les grandes valeurs représentent une rotation dans le sens des aiguilles d'une montre. Par exemple, une valeur de 90 aura pour effet de lire le texte du bas vers le haut.

x

Les coordonnées, fournies par x et y définissent le point de départ du premier caractère (et plus précisément, le coin en bas à gauche du caractère). C'est un comportement différent de la fonction imagestring(), où x et y définissent le coin en haut, à gauche du premier caractère. Par exemple, en haut à gauche vaut 0, 0.

y

L'ordonnée y-ordinate. Ce paramètre configure la position de base de la police, et non pas le bas de cette dernière.

color

L'index de la couleur désirée pour le texte, voir la fonction imagecolorexact().

fontfile

Le chemin vers la police TrueType à utiliser.

Suivant la version de GD utilisée par PHP, il sera recherché les fichiers qui ne commencent pas par un '/', en y ajoutant l'extension '.ttf', et suivant le chemin des polices défini par la bibliothèque.

Lors de l'utilisation d'une version de GD inférieure à 2.0.18, un caractère d'espacement (plutôt qu'un point-virgule) était utilisé comment séparateur dans le chemin pour les différents fichiers de police. Si vous utilisez toujours cette notation, vous obtiendrez le message d'erreur suivant : Warning: Could not find/open font. Pour ces anciennes versions, la seule solution est de déplacer la police dans un dossier qui ne contient pas d'espace.

Dans la plupart des cas, lorsque la police se trouve dans le même dossier que le script qui cherche à l'utiliser, la solution suivante permet de s'affranchir de tous les problèmes relatifs à l'inclusion.

<?php
// Définit la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));

// Nom de la police à utiliser (note qu'il n'y a pas d'extension .ttf)
$font = 'SomeFont';
?>

text

Le texte à insérer dans l'image.

extrainfo

Indexes possibles pour le tableau extrainfo
Clé | Type | Signification
linespacing | float | Définit l'espacement entre les lignes lors du dessin

Valeurs de retour

Cette fonction retourne un tableau définissant les 4 points d'une boîte, en commençant par le coin en bas, à gauche, puis, les suivants, dans le sens des aiguilles d'une montre :

0 | x : coordonnée en bas, à gauche
1 | y : coordonnée en bas, à gauche
2 | x : coordonnée en haut, à droite
3 | y : coordonnée en bas, à droite
4 | x : coordonnée en haut, à droite
5 | y : coordonnée en haut, à droite
6 | x : coordonnée en haut, à gauche
7 | y : coordonnée en haut, à gauche

Exemples

Exemple #1 Exemple avec imagefttext()

<?php
// Création d'une image de 300x100 pixels
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Définit l'arrière-plan en rouge
imagefilledrectangle($im, 0, 0, 299, 99, $red);

// Chemin vers notre fichier de police ttf
$font_file = './arial.ttf';

// Dessine le texte 'PHP Manual' en utilisant une police de taille 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');

// Affichage de l'image sur le navigateur
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Note: Cette fonction n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR)

Historique

Version | Description
4.3.5 | Le paramètre extrainfo est devenu optionnel.

imageftbbox
imagegammacorrect
Fonctions GD et images


Applique une correction gamma à l'image GD

imagefttext
imagegd2
Fonctions GD et images
PHP Manual

imagegammacorrect

(PHP 4, PHP 5)

imagegammacorrect — Applique une correction gamma à l'image GD

Description

bool imagegammacorrect ( resource $image , float $inputgamma , float $outputgamma )

Applique une correction gamma à l'image GD image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

inputgamma

Le facteur gamma d'entrée.

outputgamma

Le facteur gamma de sortie.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagegammacorrect()

<?php
// Création d'une image
$im = imagecreatefromgif('php.gif');

// Correction gamma, sortie à 1.537
imagegammacorrect($im, 1.0, 1.537);

// Sauvegarde et libération de la mémoire
imagegif($im, './php_gamma_corrected.gif');
imagedestroy($im);
?>

imagefttext
imagegd2
Fonctions GD et images


Génère une image au format GD2, vers le navigateur ou un fichier

imagegammacorrect
imagegd
Fonctions GD et images
PHP Manual

imagegd2

(PHP 4 >= 4.0.7, PHP 5)

imagegd2 — Génère une image au format GD2, vers le navigateur ou un fichier

Description

bool imagegd2 ( resource $image [, string $filename [, int $chunk_size [, int $type ]]] )

Génère une image au format GD2, vers le fichier filename.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini ou s'il vaut NULL, le flux brut de l'image sera affiché directement.

chunk_size

Taille de la pièce.

type

Soit IMG_GD2_RAW, soit IMG_GD2_COMPRESSED. Par défaut, vaut IMG_GD2_RAW.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage d'une image GD2

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Un texte simple", $text_color);

// Affichage de l'image
imagegd2($im);

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #2 Sauvegarde d'une image GD2

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Un texte simple", $text_color);

// Sauvegarde de l'image GD2
// Le format de fichier pour les images GD2 est .gd2, voir http://www.libgd.org/GdFileFormats
imagegd2($im, 'simple.gd2');

// Libération de la mémoire
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Note: Le format GD2 est communément utilisé pour charger rapidement les parties d'une image. Notez que le format GD2 est uniquement utilisable dans les applications compatibles GD2.

Historique

Version | Description
4.3.2 | Les paramètres chunk_size et type ont été ajoutés.

Voir aussi

  • imagegd() - Génère une image au format GD, vers le navigateur ou un fichier

imagegammacorrect
imagegd
Fonctions GD et images


Génère une image au format GD, vers le navigateur ou un fichier

imagegd2
imagegif
Fonctions GD et images
PHP Manual

imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd — Génère une image au format GD, vers le navigateur ou un fichier

Description

bool imagegd ( resource $image [, string $filename ] )

Génère une image GD vers le fichier filename.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini ou s'il vaut NULL, le flux brut de l'image sera affiché directement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage d'une image GD

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Un texte simple", $text_color);

// Affichage de l'image
imagegd($im);

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #2 Sauvegarde d'une image GD

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "Un texte simple", $text_color);

// Sauvegarde de l'image GD
// Le format de fichier pour les images GD est .gd, voir http://www.libgd.org/GdFileFormats
imagegd($im, 'simple.gd');

// Libération de la mémoire
imagedestroy($im);
?>

Notes

Note: Le format GD est communément utilisé pour autoriser le chargement rapide des parties d'un image. Notez que le format GD est uniquement utilisable dans les applications compatibles GD.

Voir aussi

  • imagegd2() - Génère une image au format GD2, vers le navigateur ou un fichier

imagegd2
imagegif
Fonctions GD et images


Envoie une image GIF vers un navigateur ou un fichier

imagegd
imagegrabscreen
Fonctions GD et images
PHP Manual

imagegif

(PHP 4, PHP 5)

imagegif — Envoie une image GIF vers un navigateur ou un fichier

Description

bool imagegif ( resource $image [, string $filename ] )

imagegif() crée un fichier image GIF avec le nom filename d'après l'image image. L'argument image est un identifiant valide retourné par la fonction imagecreate() ou les fonctions imagecreatefrom*.

Le format de l'image sera GIF87a, à moins que l'image n'ait une couleur transparente (mise en place grâce à la fonction imagecolortransparent())), ce qui fera qu'elle sera au format GIF89a.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. Si le flux de l'image brute n'est pas fourni, il sera affiché directement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage d'une image en utilisant imagegif()

<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);

// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);

// Dessine un texte dans l'image
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

// Affiche l'image sur le navigateur
header('Content-type: image/gif');

imagegif($im);
imagedestroy($im);
?>

Exemple #2 Conversion d'une image PNG en GIF, en utilisant imagegif()

<?php
// Chargement de l'image PNG
$png = imagecreatefrompng('./php.png');

// Sauvegarde de l'image en GIF
imagegif($png, './php.gif');

// Libération de la mémoire
imagedestroy($png);

// C'est fait !
echo 'Convertion avec succès de l'image PNG en GIF !';
?>

Notes

Note: Le support GIF a été supprimé de la bibliothèque GD en version 1.6 et rajouté en version 2.0.28. Cette fonction n'est donc pas disponible entre des 2 versions. Pour plus d'informations, reportez-vous au site web du » projet GD.
Le code suivant vous permet d'écrire des scripts PHP plus portables : le type de GD est automatiquement détecté. Il remplace la séquence Header("Content-type: image/gif"); ImageGif($im); par un code plus souple :

<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);

// On fait quelques opérations sur l'image ici...

// Gestion de l'affichage
if(function_exists('imagegif'))
{
    // Pour GIF
    header('Content-type: image/gif');

    imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
    // Pour JPEG
    header('Content-type: image/jpeg');

    imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
    // Pour PNG
    header('Content-type: image/png');

    imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
    // Pour WBMP
    header('Content-type: image/vnd.wap.wbmp');

    imagewbmp($im);
}
else
{
    imagedestroy($im);

    die('Aucun support sur ce serveur PHP n\'a été trouvé');
}

// Si un support a été trouvé pour un de ces formats,
// nous libérons la mémoire
if($im)
{
    imagedestroy($im);
}
?>

Note: Depuis les versions 4.0.2 de PHP, vous pouvez utiliser la fonction imagetypes() au lieu de function_exists() pour vérifier la présence des différents formats d'images supportés.:

<?php
if(imagetypes() & IMG_GIF)
{
    header('Content-type: image/gif');
    imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
    /* ... etc. */
}
?>

Voir aussi

  • imagepng() - Envoie une image PNG vers un navigateur ou un fichier
  • imagewbmp() - Affiche une image WBMP
  • imagejpeg() - Envoie une image JPEG vers un navigateur ou un fichier
  • imagetypes() - Retourne les types d'images supportés par la version courante de PHP

imagegd
imagegrabscreen
Fonctions GD et images


Capture l'écran complet

imagegif
imagegrabwindow
Fonctions GD et images
PHP Manual

imagegrabscreen

(PHP 5 >= 5.2.2)

imagegrabscreen — Capture l'écran complet

Description

resource imagegrabscreen ( void )

imagegrabscreen() effectue une capture de la totalité de l'écran.

Valeurs de retour

Retourne une ressource image en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagegrabscreen()

Cet exemple montre comment effectuer une capture d'écran et la sauvegarder dans une image png.

<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que sous Windows.

Voir aussi

  • imagegrabwindow() - Capture une fenêtre

imagegif
imagegrabwindow
Fonctions GD et images


Capture une fenêtre

imagegrabscreen
imageinterlace
Fonctions GD et images
PHP Manual

imagegrabwindow

(PHP 5 >= 5.2.2)

imagegrabwindow — Capture une fenêtre

Description

resource imagegrabwindow ( int $window_handle [, int $client_area = 0 ] )

Capture une fenêtre ou l'espace de son client, en utilisant un gestionnaire de fenêtre (propriété HWND de l'instance COM).

Liste de paramètres

window_handle

L'identifiant HWND de la fenêtre.

client_area

Inclure ou non l'espace du client de la fenêtre de l'application.

Valeurs de retour

Retourne une ressource image en cas de succès, ou FALSE si une erreur survient.

Erreurs / Exceptions

Une alerte de type E_NOTICE est émise si window_handle est un gestionnaire de fenêtre invalide. Une alerte de type E_WARNING est émise si l'API Windows est trop ancienne.

Exemples

Exemple #1 Exemple avec imagegrabwindow()

Capture une fenêtre (IE par exemple).

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Capture une fenêtre (IE par exemple) mais avec son contenu.

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Fonctionne toujours ? */
while ($browser->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que sous Windows.

Voir aussi

  • imagegrabscreen() - Capture l'écran complet

imagegrabscreen
imageinterlace
Fonctions GD et images


Active ou désactive l'entrelacement

imagegrabwindow
imageistruecolor
Fonctions GD et images
PHP Manual

imageinterlace

(PHP 4, PHP 5)

imageinterlace — Active ou désactive l'entrelacement

Description

int imageinterlace ( resource $image [, int $interlace = 0 ] )

imageinterlace() active ou désactive le bit d'entrelacement.

Si l'entrelacement est à 1 et l'image est JPEG, l'image créée sera un JPEG progressif.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

interlace

Si différent de zéro, l'image sera entrelacée, sinon, l'entrelacement sera désactivé.

Valeurs de retour

Retourne 1 si l'entrelacement est activé pour l'image, 0 sinon.

Exemples

Exemple #1 Activation de l'entrelacement en utilisant la fonction imageinterlace()

<?php
// Création d'une image
$im = imagecreatefromgif('php.gif');

// Activation de l'entrelacement
imageinterlace($im, true);

// Sauvegarde de l'image
imagegif($im, './php_interlaced.gif');
imagedestroy($im);
?>

imagegrabwindow
imageistruecolor
Fonctions GD et images


Détermine si une image est une image truecolor

imageinterlace
imagejpeg
Fonctions GD et images
PHP Manual

imageistruecolor

(PHP 4 >= 4.3.2, PHP 5)

imageistruecolor — Détermine si une image est une image truecolor

Description

bool imageistruecolor ( resource $image )

imageistruecolor()détermine si l'image image est une image truecolor.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

Valeurs de retour

Retourne TRUE si l'image est truecolor, FALSE sinon.

Exemples

Exemple #1 Détection simple d'une image en truecolor avec imageistruecolor()

<?php
// $im est une instance d'image

// Vérife sir l'image est en truecolor ou non
if(!imageistruecolor($im))
{
    // Création d'une nouvelle image en truecolor
    $tc = imagecreatetruecolor(imagesx($im), imagesy($im));

    imagecopy($tc, $im, 0, 0, 0, 0, imagesx($im), imagesy($im));
    imagedestroy($im);

    $im = $tc;
    $tc = NULL;
}

// On continue de travailler avec l'instance de l'image
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies

imageinterlace
imagejpeg
Fonctions GD et images


Envoie une image JPEG vers un navigateur ou un fichier

imageistruecolor
imagelayereffect
Fonctions GD et images
PHP Manual

imagejpeg

(PHP 4, PHP 5)

imagejpeg — Envoie une image JPEG vers un navigateur ou un fichier

Description

bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

imagejpeg() crée un fichier JPEG depuis l'image fournie.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini ou s'il vaut NULL, le flux brut de l'image sera affiché directement.

Pour éviter de fournir cet argument afin de fournir l'argument quality, utilisez une valeur NULL.

quality

quality est optionnel, et prend des valeurs entières de 0 (pire qualité, petit fichier) et 100 (meilleure qualité, gros fichier). Par défaut, la valeur est celle de la qualité IJG (75).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage d'une image JPEG

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Définit le contenu de l'en-tête - dans ce cas, image/jpeg
header('Content-type: image/jpeg');

// Affichage de l'image
imagejpeg($im);

// Libération de la mémoire
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagejpeg()

Exemple #2 Sauvegarde d'une image JPEG

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Sauvegarde de l'image sous le nom 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #3 Affichage de l'image avec une qualité de 75%

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Définit le contenu de l'en-tête - dans ce cas,  image/jpeg
header('Content-type: image/jpeg');

// On ne fournit pas le nom du fichier (utilisation de la valeur NULL),
// puis, on définit la qualité à 75%
imagejpeg($im, NULL, 75);

// Libération de la mémoire
imagedestroy($im);
?>

Notes

Note: Le support JPEG n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur.

Note: Si vous voulez générer des images JPEG progressives, vous devez activer l'entrelacement à l'aide de la fonction imageinterlace().

Voir aussi

  • imagepng() - Envoie une image PNG vers un navigateur ou un fichier
  • imagegif() - Envoie une image GIF vers un navigateur ou un fichier
  • imagewbmp() - Affiche une image WBMP
  • imageinterlace() - Active ou désactive l'entrelacement
  • imagetypes() - Retourne les types d'images supportés par la version courante de PHP

imageistruecolor
imagelayereffect
Fonctions GD et images


Active l'option d'alpha blending, pour utiliser les effets de libgd

imagejpeg
imageline
Fonctions GD et images
PHP Manual

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5)

imagelayereffect — Active l'option d'alpha blending, pour utiliser les effets de libgd

Description

bool imagelayereffect ( resource $image , int $effect )

Active l'option d'alpha blending, pour utiliser les effets libgd.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

effect

Une des constantes suivantes :

IMG_EFFECT_REPLACE
Utilise le remplacement de pixels (équivalent à passer TRUE à la fonction imagealphablending())
IMG_EFFECT_ALPHABLEND
Utilise le blending normal de pixels (équivalent à passer FALSE à la fonction imagealphablending())
IMG_EFFECT_NORMAL
Identique à la constante IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
L'overlay a pour effet que les pixels noirs du fond resteront noirs, les blancs du fond resteront blancs, mais les gris du fond prendront la couleur du pixel de premier plan.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagelayereffect()

<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);

// Définit l'arrière-plan
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Applique l'overlay
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Dessine 2 élipses grises
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Affichage
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagelayereffect()

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

imagejpeg
imageline
Fonctions GD et images


Dessine une ligne

imagelayereffect
imageloadfont
Fonctions GD et images
PHP Manual

imageline

(PHP 4, PHP 5)

imageline — Dessine une ligne

Description

bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Dessine une ligne entre deux points fournis.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x1

X : coordonnée du premier point.

y1

Y : coordonnée du premier point.

x2

X : coordonnée du second point.

y2

Y : coordonnée du second point.

color

La couleur de remplissage. Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Trace une ligne fine

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
    /* de cette manière, ca ne marche bien que pour les lignes orthogonales
    imagesetthickness($image, $thick);
    return imageline($image, $x1, $y1, $x2, $y2, $color);
    */
    if ($thick == 1) {
        return imageline($image, $x1, $y1, $x2, $y2, $color);
    }
    $t = $thick / 2 - 0.5;
    if ($x1 == $x2 || $y1 == $y2) {
        return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    $a = $t / sqrt(1 + pow($k, 2));
    $points = array(
        round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );
    imagefilledpolygon($image, $points, 4, $color);
    return imagepolygon($image, $points, 4, $color);
}

?>

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies
  • imagecolorallocate() - Alloue une couleur pour une image

imagelayereffect
imageloadfont
Fonctions GD et images


Charge une nouvelle police

imageline
imagepalettecopy
Fonctions GD et images
PHP Manual

imageloadfont

(PHP 4, PHP 5)

imageloadfont — Charge une nouvelle police

Description

int imageloadfont ( string $file )

imageloadfont() charge une nouvelle police utilisateur et retourne son identifiant.

Liste de paramètres

file

Le format des polices dépend actuellement du système d'exploitation. Ce qui signifie qu'il vous faut générer des fichiers de polices pour la machine qui fait tourner PHP.

Format de fichier de police
Position | Type de données C | Description
Octets 0-3 | int | Nombre de caractères de la police
Octets 4-7 | int | Valeur du premier caractère de la police (souvent 32 pour espace)
Octets 8-11 | int | Largeur en pixels des caractères
Octets 12-15 | int | Hauteur en pixels des caractères
Octets 16- | char | Tableau avec les données des caractères, un octet par pixel pour chaque caractère, avec un total de (nombre de caractères * largeur * hauteur) octets.

Valeurs de retour

L'identifiant de la police qui sera toujours supérieur à 5 afin d'éviter les conflits avec les polices internes ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imageloadfont()

<?php
// Création d'une nouvelle image
$im = imagecreatetruecolor(50, 20);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 49, 19, $white);

// Charge la police GD et écrit 'Bonjour !'
$font = imageloadfont('./04b.gdf');
imagestring($im, $font, 0, 0, 'Bonjour !', $black);

// Affichage sur le navigateur
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Voir aussi

  • imagefontwidth() - Retourne la largeur de la police
  • imagefontheight() - Retourne la hauteur de la police

imageline
imagepalettecopy
Fonctions GD et images


Copie la palette d'une image à l'autre

imageloadfont
imagepng
Fonctions GD et images
PHP Manual

imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5)

imagepalettecopy — Copie la palette d'une image à l'autre

Description

void imagepalettecopy ( resource $destination , resource $source )

imagepalettecopy() copie la palette de l'image source dans l'image destination.

Liste de paramètres

destination

La ressource de l'image de destination.

source

La ressource de l'image source.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec imagepalettecopy()

<?php
// Création de 2 palettes
$palette1 = imagecreate(100, 100);
$palette2 = imagecreate(100, 100);

// Définit l'arrière-plan en vert
// pour la première
$green = imagecolorallocate($palette1, 0, 255, 0);

// Copie la première palette dans la deuxième
imagepalettecopy($palette2, $palette1);

// Sachant que la palette est maintenant copiée, nous pouvons
// utiliser la couleur verte allouée à la première palette
// sans pour autant utiliser de nouveau la fonction imagecolorallocate()
imagefilledrectangle($palette2, 0, 0, 99, 99, $green);

// Affichage de l'image sur le navigateur
header('Content-type: image/png');

imagepng($palette2);
imagedestroy($palette1);
imagedestroy($palette2);
?>

imageloadfont
imagepng
Fonctions GD et images


Envoie une image PNG vers un navigateur ou un fichier

imagepalettecopy
imagepolygon
Fonctions GD et images
PHP Manual

imagepng

(PHP 4, PHP 5)

imagepng — Envoie une image PNG vers un navigateur ou un fichier

Description

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )

imagepng() affiche ou sauvegarde une image au format PNG en utilisant l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini ou s'il vaut NULL, le flux brut de l'image sera affiché directement.

Note: La valeur NULL est invalide si le paramètre quality et le paramètre filters ne sont pas utilisés.

quality

Degré de compression : depuis 0 (aucune compression) à 9.

filters

Permet la réduction de la taille du fichier PNG. C'est un masque qui peut être défini par une combinaison des constantes PNG_FILTER_XXX. PNG_NO_FILTER ou PNG_ALL_FILTERS peuvent également être utilisé pour, respectivement, désactiver ou activer tous les filtres.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.1.3 | Ajout du paramètre filters.
5.1.2 | Ajout du paramètre quality.

Exemples

<?php
$im = imagecreatefrompng("test.png");

header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Voir aussi

  • imagegif() - Envoie une image GIF vers un navigateur ou un fichier
  • imagewbmp() - Affiche une image WBMP
  • imagejpeg() - Envoie une image JPEG vers un navigateur ou un fichier
  • imagetypes() - Retourne les types d'images supportés par la version courante de PHP
  • imagesavealpha() - Configure l'enregistrement des informations complètes du canal alpha lors de sauvegardes d'images PNG

imagepalettecopy
imagepolygon
Fonctions GD et images


Dessine un polygone

imagepng
imagepsbbox
Fonctions GD et images
PHP Manual

imagepolygon

(PHP 4, PHP 5)

imagepolygon — Dessine un polygone

Description

bool imagepolygon ( resource $image , array $points , int $num_points , int $color )

imagepolygon() dessine un polygone dans l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

points

Un tableau contenant les sommets du polygone, e.g. :

points[0] | = x0
points[1] | = y0
points[2] | = x1
points[3] | = y1

num_points

Le nombre de points (sommets).

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagepolygon()

<?php
// Création d'une image vide
$image = imagecreatetruecolor(400, 300);

// Alloue une couleur pour le polygone
$col_poly = imagecolorallocate($image, 255, 255, 255);

// Dessine le polygone
imagepolygon($image, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);

// Affichage de l'image sur le navigateur
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagepolygon()

Voir aussi

  • imagecreate() - Crée une nouvelle image à palette
  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies

imagepng
imagepsbbox
Fonctions GD et images


Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1

imagepolygon
imagepsencodefont
Fonctions GD et images
PHP Manual

imagepsbbox

(PHP 4, PHP 5)

imagepsbbox — Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1

Description

array imagepsbbox ( string $text , resource $font , int $size )
array imagepsbbox ( string $text , resource $font , int $size , int $space , int $tightness , float $angle )

Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1.

Le rectangle entourant est calculé en utilisant les informations disponibles sur les tailles de caractères, et, malheureusement, il a tendance à être légèrement différent du résultat réel final. Si l'angle est de 0 degré, vous pouvez-vous attendre à avoir besoin d'un rectangle d'au moins un pixel plus grand dans toutes les directions.

Liste de paramètres

text

Le texte à écrire.

font_index

Une ressource de police, retournée par la fonction imagepsloadfont().

size

size est exprimé en pixels.

space

permet de changer la valeur par défaut du caractère espace. Cette valeur est ajoutée lors des dessins et, donc, peut être négative. Exprimé en unité d'espacement de caractères, avec 1 unité vaut 1/1000 d'un em carré (un em : unité de mesure représentée par un carré dont la dimension horizontale est la même que le corps du caractère).

tightness

tightness permet de contrôler la quantité d'espace entre les caractères. Cette quantité est ajoutée lors des dessins, et peut donc être négative. Exprimé en unité d'espacement de caractères, avec 1 unité vaut 1/1000 d'un em carré.

angle

angle est exprimé en pixels.

Valeurs de retour

Retourne un tableau contenant les éléments suivants :

0 | Abscisse gauche
1 | Ordonnée supérieure
2 | Abscisse droite
3 | Ordonnée inférieure

Exemples

Exemple #1 Exemple avec imagepsbbox()

<?php
// Création d'une image
$im = imagecreatetruecolor(200, 200);

// Alloue les couleurs
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Charge une police PostScript
$font = imagepsloadfont('font.pfm');

// Crée un rectangle autour de la police
$bbox = imagepsbbox('Un texte simple', $font, 12);

// Définit les coordonnées en X et en Y
$x = ($bbox[2] / 2) - 10;
$y = ($bbox[3] / 2) - 10;

// Dessine un texte sur l'image
imagepstext($im, 'Un texte simple', $font, 12, $black, $white, $x, $y);

// Affichage et libération de la mémoire
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

Voir aussi

  • imagepstext() - Dessine un texte sur une image avec une police PostScript Type1

imagepolygon
imagepsencodefont
Fonctions GD et images


Change le codage vectoriel d'un caractère dans une police

imagepsbbox
imagepsextendfont
Fonctions GD et images
PHP Manual

imagepsencodefont

(PHP 4, PHP 5)

imagepsencodefont — Change le codage vectoriel d'un caractère dans une police

Description

bool imagepsencodefont ( resource $font_index , string $encodingfile )

Charge le codage vectoriel d'un caractère depuis un fichier et change le codage vectoriel de la police correspondante. Étant donné que les polices PostScript ne disposent pas des caractères au-delà de 127, vous aurez sûrement besoin de les changer si vous utilisez une autre langue que l'anglais.

Si vous commencez à utiliser cette fonction régulièrement, une meilleure solution est de définir un encodage, et de l'utiliser avec ps.default_encoding dans le fichier de configuration pour utiliser par défaut l'encodage correct.

Liste de paramètres

font_index

Une ressource de police, retournée par la fonction imagepsloadfont().

encodingfile

Le format exact de ce fichier est décrit dans la documentation T1libs. T1lib est fourni avec deux fichiers prêt à l'emploi : IsoLatin1.enc et IsoLatin2.enc.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagepsencodefont()

<?php
// Charge un fichier de police .pfb
$font = imagepsloadfont('./px3l.pfb');

// Demande à la bibliothèque T1lib d'utiliser l'encodage ISO Latin 1
imagepsencode($font, './IsoLatin1.enc');

// On fait ici les opérations que l'on souhaite...

// Libération de la mémoire
imagepsfreefont($font);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

imagepsbbox
imagepsextendfont
Fonctions GD et images


Étend ou condense une police de caractères

imagepsencodefont
imagepsfreefont
Fonctions GD et images
PHP Manual

imagepsextendfont

(PHP 4, PHP 5)

imagepsextendfont — Étend ou condense une police de caractères

Description

bool imagepsextendfont ( resource $font_index , float $extend )

imagepsextendfont() étend ou condense la police de caractères font. Si la valeur de extend est inférieure à 1, ce sera une condensation.

Liste de paramètres

font_index

Une ressource de police, retournée par la fonction imagepsloadfont().

extend

Extension de la valeur ; doit être supérieure à 0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagepsextendfont()

<?php
// Charge un fichier de police .pfb
$font = imagepsloadfont('./px3l.pfb');

// Etend la police par 2.5
imagepsextendfont($font, 2.5);

// On fait ici toutes les opérations que l'on souhaite...

// Libération de la mémoire
imagepsfreefont($font);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

imagepsencodefont
imagepsfreefont
Fonctions GD et images


Libère la mémoire occupée par une police PostScript Type 1

imagepsextendfont
imagepsloadfont
Fonctions GD et images
PHP Manual

imagepsfreefont

(PHP 4, PHP 5)

imagepsfreefont — Libère la mémoire occupée par une police PostScript Type 1

Description

bool imagepsfreefont ( resource $font_index )

imagepsfreefont() libère la mémoire occupée par une police PostScript Type 1.

Liste de paramètres

font_index

Une ressource de police, retournée par la fonction imagepsloadfont().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagepsfreefont()

<?php
// Charge un fichier de police .pfb
$font = imagepsloadfont('./bchbi.pfb');

// On fait ici toutes les opérations que l'on souhaite...

// Libération de la mémoire
imagepsfreefont($font);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

Voir aussi

  • imagepsloadfont() - Charge une police PostScript Type 1 depuis un fichier

imagepsextendfont
imagepsloadfont
Fonctions GD et images


Charge une police PostScript Type 1 depuis un fichier

imagepsfreefont
imagepsslantfont
Fonctions GD et images
PHP Manual

imagepsloadfont

(PHP 4, PHP 5)

imagepsloadfont — Charge une police PostScript Type 1 depuis un fichier

Description

resource imagepsloadfont ( string $filename )

Charge une police PostScript Type 1 depuis le fichier filename.

Liste de paramètres

filename

Chemin vers le fichier de police Postscript.

Valeurs de retour

En cas de succès, imagepsloadfont() retourne un index de police, qui pourra être utilisé pour des opérations ultérieures. Sinon, imagepsloadfont() retournera FALSE.

Exemples

Exemple #1 Exemple avec imagepsloadfont()

<?php
// Création d'une nouvelle image
$im = imagecreatetruecolor(350, 45);

// Alloue les couleurs et remplit l'arrière-plan
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 349, 44, $white);

// Charge une police, écrite dans l'image et libère la mémoire
$font = imagepsloadfont("bchbi.pfb");
imagepstext($im, "Test... Ca marche !", $font, 32, $white, $black, 32, 32);
imagepsfreefont($font);

// Affichage de l'image
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

Voir aussi

  • imagepsfreefont() - Libère la mémoire occupée par une police PostScript Type 1

imagepsfreefont
imagepsslantfont
Fonctions GD et images


Incline une police de caractères PostScript

imagepsloadfont
imagepstext
Fonctions GD et images
PHP Manual

imagepsslantfont

(PHP 4, PHP 5)

imagepsslantfont — Incline une police de caractères PostScript

Description

bool imagepsslantfont ( resource $font_index , float $slant )

Met en italique la police de caractères font avec le coefficient slant.

Liste de paramètres

font_index

Une ressource de police, retournée par la fonction imagepsloadfont().

slant

Niveau de l'italique.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagepsslantfont()

<?php
// Chargement d'un fichier de police .pfb
$font = imagepsloadfont('./px3l.pfb');

// On met la police en italique par 22.5
imagepsslantfont($font, 22.5);

// On fait ici toutes les opérations que l'on souhaite...

// Libération de la mémoire
imagepsfreefont($font);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

imagepsloadfont
imagepstext
Fonctions GD et images


Dessine un texte sur une image avec une police PostScript Type1

imagepsslantfont
imagerectangle
Fonctions GD et images
PHP Manual

imagepstext

(PHP 4, PHP 5)

imagepstext — Dessine un texte sur une image avec une police PostScript Type1

Description

array imagepstext ( resource $image , string $text , resource $font_index , int $size , int $foreground , int $background , int $x , int $y [, int $space = 0 [, int $tightness = 0 [, float $angle = 0.0 [, int $antialias_steps = 4 ]]]] )

Dessine un texte sur une image avec une police PostScript Type1.

Reportez-vous à la documentation PostScript pour avoir des détails à propos des polices et de leurs tailles.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

text

Le texte à écrire.

font_index

Une ressource de police, retournée par la fonction imagepsloadfont().

size

size est exprimé en pixels.

foreground

La couleur avec laquelle le texte va être dessiné.

background

La couleur d'antialiasing. Aucun pixel avec la couleur background n'est dessiné, ce qui fait que l'arrière-plan n'a pas besoin d'être dans une couleur fixe.

x

X : coordonnée du coin en bas, à gauche du premier caractère.

y

Y : coordonnée du coin en bas, à gauche du premier caractère.

space

Permet de changer la taille par défaut du caractère d'espacement. Cette valeur peut être négative. Exprimé en unité d'espaces caractère, ce qui vaut 1/1000ème d'un em-carré (un em : unité de mesure représentée par un carré dont la dimension horizontale est la même que le corps du caractère).

tightness

Permet de contrôler la quantité d'espace entre deux caractères. Cette valeur peut être négative. Exprimé en unité d'espaces caractère, ce qui vaut 1/1000ème d'un em-carré.

angle

angle est en degrés.

antialias_steps

Permet de contrôler le nombre de couleurs du texte antialiasé. Les valeurs autorisées sont 4 et 16. 16 est recommandée pour les polices de moins de 20 pixels, car l'effet est alors visible. Avec les tailles plus grandes, utilisez de préférence 4, qui est moins gourmande en ressources.

Valeurs de retour

Cette fonction retourne un tableau contenant les éléments suivants :

0 | Abscisse inférieure gauche
1 | Ordonnée inférieure gauche
2 | Abscisse supérieure droite
3 | Ordonnée supérieure droite

Exemples

Exemple #1 Exemple avec imagepstext()

<?php
// Création d'une nouvelle image
$im = imagecreatetruecolor(200, 200);

// Alloue les couleurs
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Charge la police PostScript
$font = imagepsloadfont('font.pfm');

// Dessine un texte dans l'image
imagepstext($im, 'Un texte simple', $font, 12, $black, $white, 50, 50);

// Affichage et libération de la mémoire
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé en utilisant --enable-t1lib[=DIR].

Voir aussi

  • imagepsbbox() - Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1

imagepsslantfont
imagerectangle
Fonctions GD et images


Dessine un rectangle

imagepstext
imagerotate
Fonctions GD et images
PHP Manual

imagerectangle

(PHP 4, PHP 5)

imagerectangle — Dessine un rectangle

Description

bool imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

imagerectangle() dessine un rectangle aux coordonnées spécifiées.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x1

X : coordonnée du coin en haut, à gauche.

y1

Y : coordonnée du coin en haut, à gauche. 0, 0 est le coin en haut à gauche de l'image.

x2

X : coordonnée du point en bas, à droite.

y2

Y : coordonnée du point en bas, à droite.

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagerectangle()

<?php
// Création d'une image de 200 x 200 pixels
$canvas = imagecreatetruecolor(200, 200);

// Alloue les couleurs
$pink = imagecolorallocate($canvas, 255, 105, 180);
$white = imagecolorallocate($canvas, 255, 255, 255);
$green = imagecolorallocate($canvas, 132, 135, 28);

// Dessine 3 rectangles, chacun avec sa couleur
imagerectangle($canvas, 50, 50, 150, 150, $pink);
imagerectangle($canvas, 45, 60, 120, 100, $white);
imagerectangle($canvas, 100, 120, 75, 160, $green);

// Affichage et libération de la mémoire
header('Content-Type: image/jpeg');

imagejpeg($canvas);
imagedestroy($canvas);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagerectangle()

imagepstext
imagerotate
Fonctions GD et images


Fait tourner une image d'un angle

imagerectangle
imagesavealpha
Fonctions GD et images
PHP Manual

imagerotate

(PHP 4 >= 4.3.0, PHP 5)

imagerotate — Fait tourner une image d'un angle

Description

resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] )

imagerotate() fait tourner l'image image d'un angle de angle, en degrés.

Le centre de rotation est le centre de l'image, et l'image tournée peut avoir des dimensions différentes de l'image originale.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

angle

L'angle de rotation, en degrés.

bgd_color

Spécifie la couleur des zones qui seront découvertes après la rotation.

ignore_transparent

Si ce paramètre est défini et ne vaut pas zéro, les couleurs transparentes seront ignorées.

Valeurs de retour

Retourne une ressource d'image correspondant à l'image après rotation, ou FALSE si une erreur survient.

Historique

Version | Description
5.1.0 | Le paramètre ignore_transparent a été ajouté.

Exemples

Exemple #1 Rotation d'une image de 180 degrés

Cet exemple tourne une image de 180 degrés - à l'envers.

<?php
// Fichier et degrés de rotation
$filename = 'test.jpg';
$degrees = 180;

// Content type
header('Content-type: image/jpeg');

// Chargement
$source = imagecreatefromjpeg($filename);

// Rotation
$rotate = imagerotate($source, $degrees, 0);

// Affichage
imagejpeg($rotate);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Rotation d'une image de 180 degrés

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

imagerectangle
imagesavealpha
Fonctions GD et images


Configure l'enregistrement des informations complètes du canal alpha lors de sauvegardes d'images PNG

imagerotate
imagesetbrush
Fonctions GD et images
PHP Manual

imagesavealpha

(PHP 4 >= 4.3.2, PHP 5)

imagesavealpha — Configure l'enregistrement des informations complètes du canal alpha lors de sauvegardes d'images PNG

Description

bool imagesavealpha ( resource $image , bool $saveflag )

imagesavealpha() définit l'option pour essayer de sauvegarder toutes les informations du canal alpha (en opposition à la transparence à couleur unique) lors de la sauvegarde d'images PNG.

Vous devez désactiver le alphablending (imagealphablending($im, false)) pour l'utiliser.

Le canal alpha n'est pas supporté par tous les navigateurs ; si vous avez des problèmes avec le vôtre, essayez de charger le script avec un navigateur compatible avec les canaux alpha, c'est à dire le dernier Mozilla.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

saveflag

Si l'on doit ou non sauvegarder le canal Alpha. Par défaut, FALSE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesavealpha()

<?php
// Charge une image PNG avec un canal Alpha
$png = imagecreatefrompng('./alphachannel_example.png');

// On fait ici les opérations que l'on souhaite...

// Désactive l'Alpha blending et définit le drapeau Alpha
imagealphablending($png, false);
imagesavealpha($png, true);

// Affiche l'image au navigateur
header('Content-Type: image/png');

imagepng($png);
imagedestroy($png);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

Voir aussi

  • imagealphablending() - Modifie le mode de blending d'une image

imagerotate
imagesetbrush
Fonctions GD et images


Modifie la brosse pour le dessin des lignes

imagesavealpha
imagesetpixel
Fonctions GD et images
PHP Manual

imagesetbrush

(PHP 4 >= 4.0.6, PHP 5)

imagesetbrush — Modifie la brosse pour le dessin des lignes

Description

bool imagesetbrush ( resource $image , resource $brush )

imagesetbrush() remplace la brosse courante pour le dessin des lignes par brush. Cette brosse sera alors utilisée avec des fonctions comme imageline() ou imagepolygon() et avec les couleurs spéciales IMG_COLOR_BRUSHED ou IMG_COLOR_STYLEDBRUSHED.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

brush

Une ressource d'image.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesetbrush()

<?php
// Charge un mini-logo PHP
$php = imagecreatefrompng('./php.png');

// Création de l'image principale, 100x100
$im = imagecreatetruecolor(100, 100);

// Définit l'arrière-plan en blanc
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Définit la brosse
imagesetbrush($im, $php);

// Dessine quelques brosses
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Affichage de l'image au navigateur
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagesetbrush()

Notes

Note: Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser les options IMG_COLOR_BRUSHED et IMG_COLOR_STYLEDBRUSHED avant d'avoir créé une nouvelle brosse.

imagesavealpha
imagesetpixel
Fonctions GD et images


Dessine un pixel

imagesetbrush
imagesetstyle
Fonctions GD et images
PHP Manual

imagesetpixel

(PHP 4, PHP 5)

imagesetpixel — Dessine un pixel

Description

bool imagesetpixel ( resource $image , int $x , int $y , int $color )

imagesetpixel() dessine un pixel aux coordonnées spécifiées.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

x

X : coordonnée.

y

Y : coordonnée.

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesetpixel()

Un dessin aléatoire qui se termine par une image régulière.

<?php

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$corners[0] = array('x' => 100, 'y' =>  10);
$corners[1] = array('x' =>   0, 'y' => 190);
$corners[2] = array('x' => 200, 'y' => 190);

$red = imagecolorallocate($gd, 255, 0, 0);

for ($i = 0; $i < 100000; $i++) {
  imagesetpixel($gd, round($x),round($y), $red);
  $a = rand(0, 2);
  $x = ($x + $corners[$a]['x']) / 2;
  $y = ($y + $corners[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagesetpixel()

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies
  • imagecolorallocate() - Alloue une couleur pour une image

imagesetbrush
imagesetstyle
Fonctions GD et images


Configure le style pour le dessin des lignes

imagesetpixel
imagesetthickness
Fonctions GD et images
PHP Manual

imagesetstyle

(PHP 4 >= 4.0.6, PHP 5)

imagesetstyle — Configure le style pour le dessin des lignes

Description

bool imagesetstyle ( resource $image , array $style )

imagesetstyle() permet de choisir le style à utiliser lors du dessin des lignes (comme avec les fonctions imageline() et imagepolygon()) lors de l'utilisation de la couleur spéciale IMG_COLOR_STYLED ou bien lors du dessin de lignes avec la couleur IMG_COLOR_STYLEDBRUSHED.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

style

Un tableau de couleurs de pixels. Vous pouvez utiliser la constante IMG_COLOR_TRANSPARENT pour ajouter un pixel transparent.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

L'exemple suivant dessine une ligne pointillée depuis le coin supérieur gauche vers le coin inférieur droit de l'image :

Exemple #1 Exemple pour imagesetstyle()

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$w   = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);

/* Dessine une ligne pointillée de 5 pixels rouges, 5 pixels blancs */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Dessine une ligne avec des smileys, en utilisant imagesetbrush() et imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagesetstyle()

Voir aussi

  • imagesetbrush() - Modifie la brosse pour le dessin des lignes
  • imageline() - Dessine une ligne

imagesetpixel
imagesetthickness
Fonctions GD et images


Modifie l'épaisseur d'un trait

imagesetstyle
imagesettile
Fonctions GD et images
PHP Manual

imagesetthickness

(PHP 4 >= 4.0.6, PHP 5)

imagesetthickness — Modifie l'épaisseur d'un trait

Description

bool imagesetthickness ( resource $image , int $thickness )

imagesetthickness() modifie l'épaisseur du trait des lignes de l'image image. Cette épaisseur intervient dans les dessins de polygones, ellipses, cercles, rectangles, etc. thickness est en pixels.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

thickness

L'épaisseur, en pixels.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesetthickness()

<?php
// Création d'une image en 200x100
$im = imagecreatetruecolor(200, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Définit l'épaisseur de la ligne à 5
imagesetthickness($im, 5);

// Dessine le rectangle
imagerectangle($im, 14, 14, 185, 85, $black);

// Affichage de l'image sur le navigateur
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagesetthickness()

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

imagesetstyle
imagesettile
Fonctions GD et images


Modifie l'image utilisée pour le carrelage

imagesetthickness
imagestring
Fonctions GD et images
PHP Manual

imagesettile

(PHP 4 >= 4.0.6, PHP 5)

imagesettile — Modifie l'image utilisée pour le carrelage

Description

bool imagesettile ( resource $image , resource $tile )

imagesettile() remplace l'image de pavement courante par l'image tile, à utiliser dans tous les remplissages (comme avec les fonctions imagefill() et imagefilledpolygon()) lors des remplissages avec l'option IMG_COLOR_TILED.

Une image de carrelage est une image utilisée pour remplir une zone, de manière répétitive. N'importe quelle image GD peut servir d'image de remplissage. L'utilisation de la couleur transparente (gérée avec la fonction imagecolortransparent()) permet à certaines zones d'apparaître à travers le carrelage.

Note: Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser l'option IMG_COLOR_TILED des fonctions imagefill() et imagefilledpolygon(), avant d'avoir créé une nouvelle brosse.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

tile

La ressource de l'image à utiliser en tant que carrelage.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesettile()

<?php
// Chargement d'une image externe
$zend = imagecreatefromgif('./zend.gif');

// Création d'une image de 200x200 pixels
$im = imagecreatetruecolor(200, 200);

// Définition du carrelage
imagesettile($im, $zend);

// Répétition de l'image
imagefilledrectangle($im, 0, 0, 199, 199, IMG_COLOR_TILED);

// Affichage vers le navigateur
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($zend);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagesettile()

imagesetthickness
imagestring
Fonctions GD et images


Dessine une chaîne horizontale

imagesettile
imagestringup
Fonctions GD et images
PHP Manual

imagestring

(PHP 4, PHP 5)

imagestring — Dessine une chaîne horizontale

Description

bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )

Dessine une chaîne aux coordonnées spécifiées.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

font

Peut être 1, 2, 3, 4, 5 pour les polices internes d'encodage Latin2 (où les plus grands nombres correspondent aux polices larges) ou n'importe quels identifiants de police de votre choix, enregistrées avec la fonction imageloadfont().

x

X : coordonnée du coin en haut, à gauche.

y

Y : coordonnée du coin en haut, à gauche.

string

La chaîne de caractères à écrire.

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagestring()

<?php
// Nouvelle image 100*30
$im = imagecreate(100, 30);

// Fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Ajout de la phrase en haut à gauche
imagestring($im, 5, 0, 0, 'Hello world!', $textcolor);

// Affichage de l'image
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagestring()

Voir aussi

  • imageloadfont() - Charge une nouvelle police
  • imagettftext() - Dessine un texte avec une police TrueType

imagesettile
imagestringup
Fonctions GD et images


Dessine une chaîne verticale

imagestring
imagesx
Fonctions GD et images
PHP Manual

imagestringup

(PHP 4, PHP 5)

imagestringup — Dessine une chaîne verticale

Description

bool imagestringup ( resource $image , int $font , int $x , int $y , string $string , int $color )

Dessine une chaîne sur une ligne verticale dans l'image image aux coordonnées spécifiées.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

font

Peut être 1, 2, 3, 4, 5 pour les polices internes d'encodage Latin2 (où les plus grands nombres correspondent aux polices larges) ou n'importe quels identifiants de police de votre choix, enregistrées avec la fonction imageloadfont().

x

Coordonnée X du coin en haut, à gauche.

y

Coordonnée Y du coin en haut, à gauche.

string

La chaîne de caractères à écrire.

color

Un identifiant de couleur créé par la fonction imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagestringup()

<?php
// Création d'une image de 100*100 pixels
$im = imagecreatetruecolor(100, 100);

// Dessine un texte
$textcolor = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
imagestringup($im, 3, 40, 80, 'gd library', $textcolor);

// Sauvegarde l'image
imagepng($im, './stringup.png');
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagestringup()

Voir aussi

  • imageloadfont() - Charge une nouvelle police

imagestring
imagesx
Fonctions GD et images


Retourne la largeur d'une image

imagestringup
imagesy
Fonctions GD et images
PHP Manual

imagesx

(PHP 4, PHP 5)

imagesx — Retourne la largeur d'une image

Description

int imagesx ( resource $image )

Retourne la largeur de l'image référencée par image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

Valeurs de retour

Retourne la largeur de l'image image ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesx()

<?php

// Création d'une image 300*200 image
$img = imagecreatetruecolor(300, 200);

echo imagesx($img); // 300

?>

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies
  • getimagesize() - Retourne la taille d'une image
  • imagesy() - Retourne la hauteur de l'image

imagestringup
imagesy
Fonctions GD et images


Retourne la hauteur de l'image

imagesx
imagetruecolortopalette
Fonctions GD et images
PHP Manual

imagesy

(PHP 4, PHP 5)

imagesy — Retourne la hauteur de l'image

Description

int imagesy ( resource $image )

Retourne la hauteur de l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

Valeurs de retour

Retourne la hauteur de l'image image ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imagesy()

<?php

// Création d'une image 300*200
$img = imagecreatetruecolor(300, 200);

echo imagesy($img); // 200

?>

Voir aussi

  • imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies
  • getimagesize() - Retourne la taille d'une image
  • imagesx() - Retourne la largeur d'une image

imagesx
imagetruecolortopalette
Fonctions GD et images


Convertit une image en couleurs vraies en image à palette

imagesy
imagettfbbox
Fonctions GD et images
PHP Manual

imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5)

imagetruecolortopalette — Convertit une image en couleurs vraies en image à palette

Description

bool imagetruecolortopalette ( resource $image , bool $dither , int $ncolors )

imagetruecolortopalette() convertit l'image en vraies couleurs image en image à palette. Le code de cette fonction est directement tiré de la bibliothèque du Independent JPEG Group, qui est tout simplement génial. Le code a été modifié pour préserver l'essentiel du canal alpha dans la nouvelle palette, en plus de conserver les couleurs du mieux possible. Mais cela ne fonctionne pas toujours comme voulu. Il est alors préférable de générer un résultat en vraies couleurs, ce qui donne toujours le meilleur rendu.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

dither

Indique si l'image doit être granuleuse - si défini à TRUE, alors l'image sera un peu plus granuleuse mais l'approximation des couleurs sera meilleure.

ncolors

Le nombre maximal de couleurs dans la palette finale.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Convertion d'une image truecolor en une palette

<?php
// Création d'une image truecolor
$im = imagecreatetruecolor(100, 100);

// Convertion en palette de 255 couleurs
imagetruecolortopalette($im, false, 255);

// Sauvegarde de l'image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>

Notes

Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).

imagesy
imagettfbbox
Fonctions GD et images


Retourne le rectangle entourant un texte et dessiné avec une police TrueType

imagetruecolortopalette
imagettftext
Fonctions GD et images
PHP Manual

imagettfbbox

(PHP 4, PHP 5)

imagettfbbox — Retourne le rectangle entourant un texte et dessiné avec une police TrueType

Description

array imagettfbbox ( float $size , float $angle , string $fontfile , string $text )

Calcule et retourne le rectangle entourant le texte text, écrit avec une police truetype.

Liste de paramètres

size

La taille de la police. Suivant votre version de GD, ce paramètre devra être spécifié en pixels (GD1) ou en point (GD2).

angle

L'angle, en degrés, dans lequel le paramètre text sera mesuré.

fontfile

Le nom de la police TrueType (peut être une URL). Suivant la version de la bibliothèque GD utilisée par PHP, ce paramètre peut chercher des fichiers qui ne commence pas par un slash ("/") de fin mais plutôt .ttf et cherchera tout le long des chemins de fonts définis.

text

La chaîne à mesurer.

Valeurs de retour

imagettfbbox() retourne un tableau avec 8 éléments représentant les 4 sommets du rectangle en cas de succès, FALSE si une erreur survient.

Clé | Signification
0 | Coin inférieur gauche, abscisse
1 | Coin inférieur gauche, ordonnée
2 | Coin inférieur droit, abscisse
3 | Coin inférieur droit, ordonnée
4 | Coin supérieur droit, abscisse
5 | Coin supérieur droit, ordonnée
6 | Coin supérieur gauche, abscisse
7 | Coin supérieur gauche, ordonnée

Les positions des points sont relatives au texte text, indépendamment de l'angle : coin supérieur gauche faire référence au coin supérieur gauche du texte écrit horizontalement.

Exemples

Exemple #1 Exemple avec imagettfbbox()

<?php
// Création d'une image de 300x150 pixels
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Chemin vers le fichier de police
$font = './arial.ttf';

// Tout d'abord, nous créons notre rectangle entourant notre premier texte
$bbox = imagettfbbox(10, 45, $font, 'Powered by PHP ' . phpversion());

// Nos coordonnées en X et en Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Dessin du texte
imagettftext($im, 10, 45, $x, $y, $black, $font, 'Powered by PHP ' . phpversion());

// Nous créons notre rectangle entourant notre second texte
$bbox = imagettfbbox(10, 45, $font, 'and Zend Engine ' . zend_version());

// Définit les coordonnées afin que le second text suive le premier
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Dessin du texte
imagettftext($im, 10, 45, $x, $y, $black, $font, 'and Zend Engine ' . zend_version());

// Affichage vers le navigateur
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction nécessite la bibliothèque GD et la bibliothèque » FreeType.

Voir aussi

  • imagettftext() - Dessine un texte avec une police TrueType

imagetruecolortopalette
imagettftext
Fonctions GD et images


Dessine un texte avec une police TrueType

imagettfbbox
imagetypes
Fonctions GD et images
PHP Manual

imagettftext

(PHP 4, PHP 5)

imagettftext — Dessine un texte avec une police TrueType

Description

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

imagettftext() dessine le texte text avec la police TrueType fontfile.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

size

La taille de la police. En fonction de la version de votre bibliothèque GD, elle doit être spécifiée en pixels (GD1) ou en points (GD2).

angle

L'angle, en degrés ; 0 degré correspond à la lecture du texte de gauche à droite. Les valeurs positives représentent une rotation dans le sens contraire des aiguilles d'une montre. Par exemple, une valeur de 90 correspondra à une lecture du texte de bas en haut.

x

Les coordonnées données par x et y définiront la position du premier caractère (le coin bas-gauche du caractère). Cela est différent de la fonction imagestring(), où x et y définissent le coin haut-gauche du premier caractère. Par exemple, "haut gauche" correspond à 0, 0.

y

L'ordonnée Y. Cela définit la position de la ligne de base de la police, et non pas le bas des caractères.

color

L'index de la couleur. Utiliser un index de couleur négatif désactivera l'antialiasing. Voir la fonction imagecolorallocate().

fontfile

Le chemin vers la police TrueType que vous souhaitez utiliser.

Dépendant de la version de la bibliothèque GD utilisée par PHP, lorsque fontfile ne commence pas par un caractère / alors .ttf sera ajouté au nom du fichier et la bibliothèque recherchera ce nom de fichier dans les dossiers de police, définis par la bibliothèque.

Lorsque vous utilisez une version de la bibliothèque GD inférieure à 2.0.18, un caractère espace, plutôt qu'un point-virgule, est utilisé pour définir des chemins alternatifs pour les fichiers de police. Si vous utilisez involontairement cette fonctionnalité, vous aurez ce message d'erreur : Warning: Could not find/open font. Pour ces versions affectées, la seule solution est de déplacée la police à un endroit qui ne contient pas d'espaces dans les noms de dossier.

Dans le cas fréquent où une police réside dans le même dossier que le script l'utilisant, l'astuce suivante vous épargnera tous les problèmes.

<?php
// Définition de la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));

// Nom de la police à utiliser (notez l'absence de l'extension .ttf)
$font = 'SomeFont';
?>

text

La chaîne de texte, en UTF-8.

Peut inclure des références à des caractères numériques, décimales (sous la forme : &#8364; ) pour accéder aux caractères d'une police au delà du premier 127. Les chaînes de caractères encodées en UTF-8 peuvent être passées directement.

Les entités nommées, comme &copy;, ne sont pas supportées. Utilisez la fonction html_entity_decode() pour encoder ces entités nommées en chaîne UTF-8 (la fonction html_entity_decode() supporte ceci depuis PHP 5.0.0.).

Si un caractère est utilisé dans une chaîne qui n'est pas supportée par la police, un rectangle creux remplacera le caractère.

Valeurs de retour

Retourne un tableau de 8 éléments représentant quatre points marquants les limites du texte. L'ordre des points est : inférieur gauche, inférieur droit, supérieur droit, supérieur gauche. Les points sont relatifs au texte par rapport à l'angle, donc, "supérieur gauche" signifie dans le coin en haut à gauche lorsque vous regardez le texte horizontalement. Retourne FALSE si une erreur survient.

Historique

Version | Description
5.2.0 | Il est maintenant possible de spécifier une entitée hexadécimal dans text.

Exemples

Exemple #1 Exemple avec imagettftext()

Cet exemple produira une image PNG blanche de 400x30 pixels, avec le texte "Test..." en noir, avec une ombre grise, utilisant la police Arial.

<?php
// Définition du content-type
header('Content-type: image/png');

// Création de l'image
$im = imagecreatetruecolor(400, 30);

// Création de quelques couleurs
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// Le texte à dessiner
$text = 'Test...';
// Remplacez le chemin par votre propre chemin de police
$font = 'arial.ttf';

// Ajout d'ombres au texte
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Ajout du texte
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Utiliser imagepng() donnera un texte plus claire,
// comparé à l'utilisation de la fonction imagejpeg()
imagepng($im);
imagedestroy($im);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagettftext()

Notes

Note: Cette fonction requiert la bibliothèque GD ainsi que la bibliothèque » FreeType.

Voir aussi

  • imagettfbbox() - Retourne le rectangle entourant un texte et dessiné avec une police TrueType

imagettfbbox
imagetypes
Fonctions GD et images


Retourne les types d'images supportés par la version courante de PHP

imagettftext
imagewbmp
Fonctions GD et images
PHP Manual

imagetypes

(PHP 4 >= 4.0.2, PHP 5)

imagetypes — Retourne les types d'images supportés par la version courante de PHP

Description

int imagetypes ( void )

Retourne un champ d'octets correspondant aux formats d'images supportés par la version PHP utilisée.

Valeurs de retour

Retourne un champ d'octets correspondant aux formats d'images supportés par la version de GD utilisée. Les valeurs suivantes sont possibles : IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.

Exemples

Exemple #1 Exemple avec imagetypes()

<?php
if (imagetypes() & IMG_PNG) {
    echo "Le type PNG est supporté";
}
?>

imagettftext
imagewbmp
Fonctions GD et images


Affiche une image WBMP

imagetypes
imagexbm
Fonctions GD et images
PHP Manual

imagewbmp

(PHP 4 >= 4.0.1, PHP 5)

imagewbmp — Affiche une image WBMP

Description

bool imagewbmp ( resource $image [, string $filename [, int $foreground ]] )

imagewbmp() affiche ou sauvegarde une version WBMP de l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini, ou s'il vaut NULL, le flux brut de l'image sera affiché directement.

foreground

Vous pouvez choisir la couleur de fond avec ce paramètre. Utilisez l'identifiant retourné par imagecolorallocate() comme valeur de ce paramètre. La couleur de fond par défaut est noire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage d'une image WBMP

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Définit le contenu de l'en-tête - dans ce cas, image/vnd.wap.wbmp
// Hint: see image_type_to_mime_type() for content-types
header('Content-type: image/vnd.wap.wbmp');

// Affichage de l'image
imagewbmp($im);

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #2 Sauvegarde de l'image WBMP

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Sauvegarde de l'image
imagewbmp($im, 'simpletext.wbmp');

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #3 Affichage de l'image avec un premier-plan différent

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Définit le contenu de l'en-tête - dans ce cas, image/vnd.wap.wbmp
// Astuce : voir la fonction image_type_to_mime_type() pour les types de contenu
header('Content-type: image/vnd.wap.wbmp');

// Définit un premier-plan
$foreground_color = imagecolorallocate($im, 255, 0, 0);

imagewbmp($im, NULL, $foreground_color);

// Libération de la mémoire
imagedestroy($im);
?>

Notes

Note: Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent.

Voir aussi

  • image2wbmp() - Crée une image WBMP
  • imagepng() - Envoie une image PNG vers un navigateur ou un fichier
  • imagegif() - Envoie une image GIF vers un navigateur ou un fichier
  • imagejpeg() - Envoie une image JPEG vers un navigateur ou un fichier
  • imagetypes() - Retourne les types d'images supportés par la version courante de PHP

imagetypes
imagexbm
Fonctions GD et images


Génère une image au format XBM

imagewbmp
iptcembed
Fonctions GD et images
PHP Manual

imagexbm

(PHP 5)

imagexbm — Génère une image au format XBM

Description

bool imagexbm ( resource $image , string $filename [, int $foreground ] )

Affiche ou sauvegarde une version XBM de l'image image.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini ou s'il vaut NULL, le flux brut de l'image sera directement affiché.

foreground

Vous pouvez définir le premier plan avec ce paramètre en définissant un identifiant obtenu depuis la fonction imagecolorallocate(). Par défaut, la couleur du premier plan est noir.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Sauvegarde d'un fichier XBM

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Sauvegarde de l'image
imagexbm($im, 'simpletext.xbm');

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #2 Sauvegarde d'un fichier XBM avec une couleur de premier-plan différente

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'Un texte simple', $text_color);

// Définit la couleur de premier-plan
$foreground_color = imagecolorallocate($im, 255, 0, 0);

// Sauvegarde de l'image
imagexbm($im, NULL, $foreground_color);

// Libération de la mémoire
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

imagewbmp
iptcembed
Fonctions GD et images


Intègre des données binaires IPTC dans une image JPEG

imagexbm
iptcparse
Fonctions GD et images
PHP Manual

iptcembed

(PHP 4, PHP 5)

iptcembed — Intègre des données binaires IPTC dans une image JPEG

Description

mixed iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool ] )

iptcembed() intègre des données binaires IPTC dans une image JPEG.

Liste de paramètres

iptcdata

Les données à écrire.

jpeg_file_name

Chemin vers le fichier JPEG.

spool

La bobine. Si la bobine est supérieure à 2, alors le fichier JPEG sera retourné sous la forme d'une chaîne de caractères.

Valeurs de retour

En cas de succès et si la bobine est supérieure à 2, alors le fichier JPEG sera retourné sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec iptcembed()

<?php

// Fonction iptc_make_tag() par Thies C. Arntzen
function iptc_make_tag($rec, $data, $value)
{
    $length = strlen($value);
    $retval = chr(0x1C) . chr($rec) . chr($data);

    if($length < 0x8000)
    {
        $retval .= chr($length >> 8) .  chr($length & 0xFF);
    }
    else
    {
        $retval .= chr(0x80) .
                   chr(0x04) .
                   chr(($length >> 24) & 0xFF) .
                   chr(($length >> 16) & 0xFF) .
                   chr(($length >> 8) & 0xFF) .
                   chr($length & 0xFF);
    }

    return $retval . $value;
}

// Chemin vers le fichier JPEG
$path = './phplogo.jpg';

// Nous devons vérifier s'il y a des données IPTC dans l'image JPEG. S'il y en
// a, alors nous stoppons le script car nous ne pouvons intégrer une image
// contenant déjà des données IPTC !
$image = getimagesize($path, $info);

if(isset($info['APP13']))
{
    die('Erreur : Données IPTC trouvées dans l\'image, nous ne pouvons continuer');
}

// Définit le drapeau IPTC
$iptc = array(
    '2#120' => 'Test image',
    '2#116' => 'Copyright 2008-2009, The PHP Group'
);

// Convertion du drapeau IPTC en code binaire
$data = '';

foreach($iptc as $tag => $string)
{
    $tag = substr($tag, 2);
    $data .= iptc_make_tag(2, $tag, $string);
}

// Intégration des données IPTC
$content = iptcembed($data, $path);

// Écrit les données de la nouvelle image dans un fichier.
$fp = fopen($path, "wb");
fwrite($fp, $content);
fclose($fp);
?>

Notes

Note: Cette fonction ne nécessite pas la bibliothèque GD.

imagexbm
iptcparse
Fonctions GD et images


Analyse un bloc binaire IPTC et recherche les balises simples

iptcembed
jpeg2wbmp
Fonctions GD et images
PHP Manual

iptcparse

(PHP 4, PHP 5)

iptcparse — Analyse un bloc binaire IPTC et recherche les balises simples

Description

array iptcparse ( string $iptcblock )

Analyse un bloc binaire » IPTC et recherche les balises simples.

Liste de paramètres

iptcblock

Un bloc binaire IPTC.

Valeurs de retour

Retourne un tableau avec les balises comme index et les valeurs de ces balises IPTC dans les valeurs de tableau correspondantes. En cas d'erreur, ou si aucune balise IPTC n'a été trouvée, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec iptcparse() et getimagesize()

<?php
$size = getimagesize('./test.jpg', $info);
if(isset($info['APP13']))
{
    $iptc = iptcparse($info['APP13']);
    var_dump($iptc);
}
?>

Notes

Note: Cette fonction ne nécessite pas la bibliothèque GD.

iptcembed
jpeg2wbmp
Fonctions GD et images


Convertit une image JPEG en image WBMP

iptcparse
png2wbmp
Fonctions GD et images
PHP Manual

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5)

jpeg2wbmp — Convertit une image JPEG en image WBMP

Description

bool jpeg2wbmp ( string $jpegname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Convertit une image JPEG en image WBMP.

Liste de paramètres

jpegname

Le chemin vers le fichier JPEG.

wbmpname

Chemin vers le fichier final WBMP.

dest_height

Hauteur de l'image de destination.

dest_width

Largeur de l'image de destination.

threshold

Valeur du seuil, entre 0 et 8 inclus.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec jpeg2wbmp()

<?php
// Chemin vers la cible jpeg
$path = './test.jpg';

// Récupération de la taille de l'image
$image = getimagesize($path);

// Convertion de l'image
jpeg2wbmp($path, './test.wbmp', $image[1], $image[0], 5);
?>

Notes

Note: Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur.

Note: Le support JPEG n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur.

Voir aussi

  • png2wbmp() - Convertit une image PNG en image WBMP

iptcparse
png2wbmp
Fonctions GD et images


Convertit une image PNG en image WBMP

jpeg2wbmp
ImageMagick
Fonctions GD et images
PHP Manual

png2wbmp

(PHP 4 >= 4.0.5, PHP 5)

png2wbmp — Convertit une image PNG en image WBMP

Description

bool png2wbmp ( string $pngname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Convertit une image PNG en image WBMP.

Liste de paramètres

pngname

Chemin vers le fichier PNG.

wbmpname

Chemin vers le fichier final WBMP.

dest_height

Hauteur de l'image de destination.

dest_width

Largeur de l'image de destination.

threshold

Valeur du seuil, entre 0 et 8 inclus.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec png2wbmp()

<?php
// Chemin vers la cible png
$path = './test.png';

// Récupération de la taille de l'image
$image = getimagesize($path);

// Convertion de l'image
png2wbmp($path, './test.wbmp', $image[1], $image[0], 7);
?>

Notes

Note: Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur.

Voir aussi

  • jpeg2wbmp() - Convertit une image JPEG en image WBMP

jpeg2wbmp
ImageMagick
Fonctions GD et images


Traitement des images (ImageMagick)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemples
  • La classe Imagick
    • Imagick::adaptiveBlurImage — Ajout un flou adaptatif à l'image
    • Imagick::adaptiveResizeImage — Redimensionne adaptativement une image par triangulation
    • Imagick::adaptiveSharpenImage — Augmente le contraste de l'image
    • Imagick::adaptiveThresholdImage — Sélectionne le niveau de chaque pixel, à partir d'un intervalle d'intensité
    • Imagick::addImage — Ajoute une nouvelle image à la liste d'image Imagick
    • Imagick::addNoiseImage — Ajoute un bruit blanc à une image
    • Imagick::affineTransformImage — Transforme une image
    • Imagick::animateImages — Animates an image or images
    • Imagick::annotateImage — Annote une image avec un texte
    • Imagick::appendImages — Ajoute un jeu d'images
    • Imagick::averageImages — Moyenne d'un jeu d'images
    • Imagick::blackThresholdImage — Force tous les pixels au-delà d'un seuil à noir
    • Imagick::blurImage — Ajoute un filtre de flou à une image
    • Imagick::borderImage — Encadre une image avec un bord
    • Imagick::charcoalImage — Simule un dessin au fusain
    • Imagick::chopImage — Supprime une région d'une image et retaille
    • Imagick::clear — Libère toutes les ressources associées à un objet Imagick
    • Imagick::clipImage — S'aligne sur le premier chemin d'un profil 8BIM
    • Imagick::clipPathImage — Suit le chemin d'un profil 8BIM
    • Imagick::clone — Fait une copie exacte d'un objet Imagick
    • Imagick::clutImage — Remplace les couleurs d'une image
    • Imagick::coalesceImages — Compose un jeu d'images
    • Imagick::colorFloodfillImage — Change la couleur d'un pixel
    • Imagick::colorizeImage — Mélange la couleur de remplissage avec l'image
    • Imagick::combineImages — Combine plusieurs images en une seule
    • Imagick::commentImage — Ajoute un commentaire à une image
    • Imagick::compareImageChannels — Retourne la différence entre plusieurs images
    • Imagick::compareImageLayers — Retourne la région d'encadrement maximale entre deux images
    • Imagick::compareImages — Compare une image avec une image reconstituée
    • Imagick::compositeImage — Compose une image avec une autre
    • Imagick::__construct — Le constructeur Imagick
    • Imagick::contrastImage — Change le contraste de l'image
    • Imagick::contrastStretchImage — Améliore le contraste d'une image
    • Imagick::convolveImage — Applique un noyau de convolution à une image
    • Imagick::cropImage — Extrait une région d'une image
    • Imagick::cropThumbnailImage — Crée une miniature par retaillage
    • Imagick::current — Retourne une référence sur l'objet imagick courant
    • Imagick::cycleColormapImage — Déplace la carte des couleurs d'une image
    • Imagick::decipherImage — Deciphers an image
    • Imagick::deconstructImages — Retourne les différences de certains pixels entre deux images
    • Imagick::deskewImage — Removes skew from the image
    • Imagick::despeckleImage — Réduit le bruit speckle d'une image
    • Imagick::destroy — Détruit un objet Imagick
    • Imagick::displayImage — Affiche une image
    • Imagick::displayImages — Affiche une image ou une séquence
    • Imagick::distortImage — Déforme une image avec différentes méthodes
    • Imagick::drawImage — Affiche un objet ImagickDraw dans l'image courante
    • Imagick::edgeImage — Renforce les bords dans l'image
    • Imagick::embossImage — Retourne une image en niveau de gris, avec un effet 3D
    • Imagick::encipherImage — Enciphers an image
    • Imagick::enhanceImage — Améliore la qualité d'une image bruitée
    • Imagick::equalizeImage — Égalise l'histogramme d'une image
    • Imagick::evaluateImage — Applique une expression à une image
    • Imagick::exportImagePixels — Exports raw image pixels
    • Imagick::extentImage — Set image size
    • Imagick::flattenImages — Fusionne une séquence d'images
    • Imagick::flipImage — Crée une image par miroir vertical
    • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
    • Imagick::flopImage — Crée une image par miroir horizontal
    • Imagick::frameImage — Ajoute un bord 3D
    • Imagick::functionImage — Applies a function on the image
    • Imagick::fxImage — Évalue une expression pour chaque pixel d'une image
    • Imagick::gammaImage — Applique une correction gamma à l'image
    • Imagick::gaussianBlurImage — Ajoute du flou à image
    • Imagick::getCompression — Lit le type de compression
    • Imagick::getCompressionQuality — Lit la qualité de la compression
    • Imagick::getCopyright — Retourne le copyright de l'API ImageMagick API
    • Imagick::getFilename — Lit le nom du fichier associé à une séquence
    • Imagick::getFont — Gets font
    • Imagick::getFormat — Retourne le format de l'image Imagick
    • Imagick::getGravity — Gets the gravity
    • Imagick::getHomeURL — Retourne l'URL de ImageMagick
    • Imagick::getImage — Retourne un nouvel objet Imagick
    • Imagick::getImageAlphaChannel — Gets the image alpha channel
    • Imagick::getImageBackgroundColor — Retourne la couleur de fond
    • Imagick::getImageBlob — Retourne la séquence d'images comme un blob
    • Imagick::getImageBluePrimary — Retourne la chromacité de la couleur bleue
    • Imagick::getImageBorderColor — Retourne la couleur de bordure de l'image
    • Imagick::getImageChannelDepth — Lit la profondeur d'un des canaux de l'image
    • Imagick::getImageChannelDistortion — Compare les canaux d'une image reconstituée
    • Imagick::getImageChannelDistortions — Gets channel distortions
    • Imagick::getImageChannelExtrema — Lit les extrêmes pour les canaux de l'image
    • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean — Lit la moyenne et la déviation standard
    • Imagick::getImageChannelRange — Gets channel range
    • Imagick::getImageChannelStatistics — Retourne des statistiques sur chaque canal de l'image
    • Imagick::getImageClipMask — Gets image clip mask
    • Imagick::getImageColormapColor — Retourne la couleur à l'index de la carte de couleurs
    • Imagick::getImageColors — Lit le nombre de couleurs uniques de l'image
    • Imagick::getImageColorspace — Lit l'espace de couleurs de l'image
    • Imagick::getImageCompose — Retourne l'opérateur de composition associé à une image
    • Imagick::getImageCompression — Lit le type de compression de l'image
    • Imagick::getImageCompressionQuality — Lit la qualité de compression de l'image
    • Imagick::getImageDelay — Lit le délai de l'image
    • Imagick::getImageDepth — Lit la profondeur de l'image
    • Imagick::getImageDispose — Lit la méthode de récupération
    • Imagick::getImageDistortion — Compare une image à une image reconstituée
    • Imagick::getImageExtrema — Lit les extrêmes d'une image
    • Imagick::getImageFilename — Retourne le nom d'un fichier pour une image dans une séquence
    • Imagick::getImageFormat — Retourne le format d'une image dans une séquence
    • Imagick::getImageGamma — Lit le gamma de l'image
    • Imagick::getImageGeometry — Lit les dimensions de l'image dans un tableau
    • Imagick::getImageGravity — Gets the image gravity
    • Imagick::getImageGreenPrimary — Retourne la chromacité de la couleur verte
    • Imagick::getImageHeight — Retourne la hauteur de l'image
    • Imagick::getImageHistogram — Retourne l'histogramme de l'image
    • Imagick::getImageIndex — Lit l'index de l'image courante
    • Imagick::getImageInterlaceScheme — Lit le schéma d'entrelacement de l'image
    • Imagick::getImageInterpolateMethod — Retourne la méthode d'interpolation
    • Imagick::getImageIterations — Lit les itérations de l'image
    • Imagick::getImageLength — Retourne la taille de l'image en octets
    • Imagick::getImageMagickLicense — Retourne une chaîne avec la licence ImageMagick
    • Imagick::getImageMatte — Indique si l'image a un canal mat
    • Imagick::getImageMatteColor — Retourne la couleur mate de l'image
    • Imagick::getImageOrientation — Lit l'orientation de l'image
    • Imagick::getImagePage — Retourne la géométrie de la page
    • Imagick::getImagePixelColor — Retourne la couleur d'un pixel
    • Imagick::getImageProfile — Retourne un profil d'une image
    • Imagick::getImageProfiles — Retourne les profils de l'image
    • Imagick::getImageProperties — Retourne les propriétés EXIF de l'image
    • Imagick::getImageProperty — Retourne une propriété d'une image
    • Imagick::getImageRedPrimary — Retourne la chromacité du point rouge
    • Imagick::getImageRegion — Extrait une région d'une image
    • Imagick::getImageRenderingIntent — Lit la méthode de rendu de l'image
    • Imagick::getImageResolution — Lit les résolutions en X et Y d'une image
    • Imagick::getImagesBlob — Retourne toutes les images de la séquence en un BLOB
    • Imagick::getImageScene — Retourne la scène de l'image
    • Imagick::getImageSignature — Génère une signature SHA-256
    • Imagick::getImageSize — Retourne la taille de l'image en octets
    • Imagick::getImageTicksPerSecond — Lit les ticks-par-seconde de l'image
    • Imagick::getImageTotalInkDensity — Lit la densité totale d'encre de l'image
    • Imagick::getImageType — Lit le type possible d'image
    • Imagick::getImageUnits — Retourne les unités de résolution de l'image
    • Imagick::getImageVirtualPixelMethod — Retourne la méthode du pixel virtuel
    • Imagick::getImageWhitePoint — Retourne la chromacité du point blanc
    • Imagick::getImageWidth — Retourne la largeur de l'image
    • Imagick::getInterlaceScheme — Lit le schéma d'entrelacement de l'objet
    • Imagick::getIteratorIndex — Lit l'index de l'image active courante
    • Imagick::getNumberImages — Retourne le nombre d'images d'un objet
    • Imagick::getOption — Retourne la valeur d'une option
    • Imagick::getPackageName — Retourne le nom du paquet ImageMagick
    • Imagick::getPage — Retourne la géométrie de la page
    • Imagick::getPixelIterator — Retourne un MagickPixelIterator
    • Imagick::getPixelRegionIterator — Lit un objet ImagickPixelIterator pour une section d'image
    • Imagick::getPointSize — Gets point size
    • Imagick::getQuantumDepth — Lit la profondeur quantique
    • Imagick::getQuantumRange — Retourne l'intervalle quantique de Imagick
    • Imagick::getReleaseDate — Retourne la date de publication de ImageMagick
    • Imagick::getResource — Retourne la consommation de mémoire de la ressource
    • Imagick::getResourceLimit — Retourne la limite de la ressource
    • Imagick::getSamplingFactors — Lit le facteur d'échantillonnage horizontal et vertical
    • Imagick::getSize — Retourne la taille associée avec un objet Imagick
    • Imagick::getSizeOffset — Retourne la taille de la position
    • Imagick::getVersion — Retourne l'API de ImageMagick API
    • Imagick::haldClutImage — Replaces colors in the image
    • Imagick::hasNextImage — Vérifie si un objet a une image suivante
    • Imagick::hasPreviousImage — Vérifie si un objet a une image précédente
    • Imagick::identifyImage — Identifie une image et lit ses attributs
    • Imagick::implodeImage — Crée une nouvelle copie d'image
    • Imagick::importImagePixels — Imports image pixels
    • Imagick::labelImage — Ajoute un libelle à une image
    • Imagick::levelImage — Ajuste les niveaux de l'image
    • Imagick::linearStretchImage — Étire la saturation de l'intensité de l'image
    • Imagick::liquidRescaleImage — Animates an image or images
    • Imagick::magnifyImage — Double la taille d'une image, proportionnellement
    • Imagick::mapImage — Remplace la couleur d'une image par celle d'une image de référence
    • Imagick::matteFloodfillImage — Change la transparence d'une couleur
    • Imagick::medianFilterImage — Applique un filtre numérique
    • Imagick::mergeImageLayers — Merges image layers
    • Imagick::minifyImage — Met à l'échelle une image proportionnellement pour la réduire de moitié de taille
    • Imagick::modulateImage — Contrôle la saturation, l'intensité et la teinte
    • Imagick::montageImage — Crée une image composite
    • Imagick::morphImages — Réalise un morphing entre deux images
    • Imagick::mosaicImages — Forme une mosaïque d'images
    • Imagick::motionBlurImage — Ajout un flou de déplacement
    • Imagick::negateImage — Effectue la négation des couleurs d'une image de référence
    • Imagick::newImage — Crée une nouvelle image
    • Imagick::newPseudoImage — Crée une nouvelle image
    • Imagick::nextImage — Passe à la prochaine image
    • Imagick::normalizeImage — Améliore le contraste de l'image
    • Imagick::oilPaintImage — Simule une peinture à l'huile
    • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
    • Imagick::optimizeImageLayers — Supprime les portions récurrents d'images à optimiser
    • Imagick::orderedPosterizeImage — Effectue un dither ordonné
    • Imagick::colorFloodfillImage — Change les pixels qui sont d'une couleur
    • Imagick::paintOpaqueImage — Change les pixels qui sont d'une couleur
    • Imagick::paintTransparentImage — Remplit les pixels avec une couleur
    • Imagick::pingImage — Lit des attributs simples sans ouvrir une image
    • Imagick::pingImageBlob — Lit rapidement les attributs
    • Imagick::pingImageFile — Lit les attributs simples d'une image
    • Imagick::polaroidImage — Simule une photo Polaroid
    • Imagick::posterizeImage — Réduit une image à un nombre limité de couleurs
    • Imagick::previewImages — Teste rapidement différents paramètres pour un traitement d'images
    • Imagick::previousImage — Passe à l'image précédente dans une séquence d'images
    • Imagick::profileImage — Ajoute ou retire un profil d'une image
    • Imagick::quantizeImage — Analyse les couleurs dans une référence d'image
    • Imagick::quantizeImages — Analyse les couleurs d'une séquence d'images
    • Imagick::queryFontMetrics — Retourne un tableau représentant les dimensions de la police
    • Imagick::queryFonts — Retourne la liste de polices configurés
    • Imagick::queryFormats — Retourne les formats supportés par Imagick
    • Imagick::radialBlurImage — Flou radial d'une image
    • Imagick::raiseImage — Crée un effet 3D de bouton
    • Imagick::randomThresholdImage — Crée une image en deux couleurs, à haut contraste
    • Imagick::readImage — Lit une image depuis un fichier
    • Imagick::readImageBlob — Lit une image depuis une chaîne binaire
    • Imagick::readImageFile — Lit une image à partir d'une ressource fichier
    • Imagick::recolorImage — Recolors image
    • Imagick::reduceNoiseImage — Adoucit les contours d'une image
    • Imagick::remapImage — Remaps image colors
    • Imagick::removeImage — Retire une image de la liste
    • Imagick::removeImageProfile — Supprime le profil de l'image et le retourne
    • Imagick::render — Affiche toute les commandes de dessins précédentes
    • Imagick::resampleImage — Rééchantillonne l'image
    • Imagick::resetImagePage — Reset image page
    • Imagick::resizeImage — Redimensionne une image
    • Imagick::rollImage — Décale une image
    • Imagick::rotateImage — Tourne une image
    • Imagick::roundCorners — Arrondit les coins d'un image
    • Imagick::sampleImage — Met à l'échelle une image avec échantillonnage de pixels
    • Imagick::scaleImage — Met à l'échelle la taille de l'image
    • Imagick::segmentImage — Segments an image
    • Imagick::separateImageChannel — Sépare un canal d'une image
    • Imagick::sepiaToneImage — Passe une image en tons sépia
    • Imagick::setBackgroundColor — Configure la couleur de fond par défaut
    • Imagick::setCompression — Configure le type de compression de l'objet
    • Imagick::setCompressionQuality — Configure la compression par défaut de l'objet
    • Imagick::setFilename — Configure le nom du fichier d'image avant d'y accéder
    • Imagick::setFirstIterator — Place l'itérateur de Imagick sur la première image
    • Imagick::setFont — Configure la police
    • Imagick::setFormat — Configure le format de l'objet Imagick
    • Imagick::setGravity — Sets the gravity
    • Imagick::setImage — Remplace l'image dans l'objet
    • Imagick::setImageAlphaChannel — Sets image alpha channel
    • Imagick::setImageBackgroundColor — Configure la couleur de fond d'image
    • Imagick::setImageBias — Configure le biais pour les convolutions
    • Imagick::setImageBluePrimary — Configure la chromacité du point bleu
    • Imagick::setImageBorderColor — Configure la couleur de bordure
    • Imagick::setImageChannelDepth — Configure la profondeur d'un canal
    • Imagick::setImageClipMask — Sets image clip mask
    • Imagick::setImageColormapColor — Configure une couleur de la carte
    • Imagick::setImageColorspace — Configure l'espace de couleurs de l'image
    • Imagick::setImageCompose — Configure l'opérateur de composition de l'image
    • Imagick::setImageCompression — Configure la compression de l'image
    • Imagick::setImageCompressionQuality — Spécifie la qualité de compression de l'image
    • Imagick::setImageDelay — Configure le délai de l'image
    • Imagick::setImageDepth — Configure la profondeur de l'image
    • Imagick::setImageDispose — Configure la méthode de récupération
    • Imagick::setImageExtent — Configure la taille d'une image
    • Imagick::setImageFilename — Configure le nom de fichier d'une image dans une séquence
    • Imagick::setImageFormat — Configure le format d'une image dans une séquence
    • Imagick::setImageGamma — Configure la correction gamma
    • Imagick::setImageGravity — Sets the image gravity
    • Imagick::setImageGreenPrimary — Configure la chromacité du point vert
    • Imagick::setImageIndex — Modifie la position de l'itérateur
    • Imagick::setImageInterlaceScheme — Configure la méthode d'entrelacement de l'image
    • Imagick::setImageInterpolateMethod — Configure la méthode d'interpolation de l'image
    • Imagick::setImageIterations — Configure les itérations de l'image
    • Imagick::setImageMatte — Configure le canal mate de l'image
    • Imagick::setImageMatteColor — Configure la couleur mate
    • Imagick::setImageOpacity — Configure le niveau d'opacité de l'image
    • Imagick::setImageOrientation — Configure l'orientation de l'image
    • Imagick::setImagePage — Configure la géométrie de la page de l'image
    • Imagick::setImageProfile — Ajoute un profil à un objet Imagick
    • Imagick::setImageProperty — Configure une propriété d'image
    • Imagick::setImageRedPrimary — Configure la chromacité du point rouge
    • Imagick::setImageRenderingIntent — Configure le type de rendu de l'image
    • Imagick::setImageResolution — Configure la résolution de l'image
    • Imagick::setImageScene — Configure la scène de l'image
    • Imagick::setImageTicksPerSecond — Configure le nombre e tick par seconde de l'image
    • Imagick::setImageType — Configure le type d'image
    • Imagick::setImageUnits — Configure les unités de résolutions de l'image
    • Imagick::setImageVirtualPixelMethod — Configure la méthode du point virtuel de l'image
    • Imagick::setImageWhitePoint — Configure la chromacité du point blanc
    • Imagick::setInterlaceScheme — Configure la compression de l'image
    • Imagick::setIteratorIndex — Déplace l'itérateur
    • Imagick::setLastIterator — Positionne l'itérateur Imagick à la dernière image
    • Imagick::setOption — Configure une option d'un objet Imagick
    • Imagick::setPage — Configure la géométrie de la page de l'objet Imagick
    • Imagick::setPointSize — Sets point size
    • Imagick::setResolution — Configure la résolution de l'image
    • Imagick::setResourceLimit — Configure la taille limite d'une ressource
    • Imagick::setSamplingFactors — Configure les facteurs d'échantillonnage de l'image
    • Imagick::setSize — Configure la taille de l'objet Imagick
    • Imagick::setSizeOffset — Configure la taille et la position de l'objet Imagick
    • Imagick::setType — Configure l'attribut de l'image
    • Imagick::shadeImage — Crée un effet 3D
    • Imagick::shadowImage — Simule une ombre sur l'image
    • Imagick::sharpenImage — Aiguise une image
    • Imagick::shaveImage — Supprime les pixels du bord de l'image
    • Imagick::shearImage — Crée un parallélogramme
    • Imagick::sigmoidalContrastImage — Ajuste le contraste de l'image
    • Imagick::sketchImage — Simule un crayon à main levée
    • Imagick::solarizeImage — Applique un effet de solarisation à l'image
    • Imagick::sparseColorImage — Interpolates colors
    • Imagick::spliceImage — Joint une couleur solide dans l'image
    • Imagick::spreadImage — Bouge aléatoirement chaque pixel d'un bloc
    • Imagick::steganoImage — Cache un filigrane digital dans l'image
    • Imagick::stereoImage — Fusionne 2 images
    • Imagick::stripImage — Supprime d'une image tous les profiles et les commentaires
    • Imagick::swirlImage — Tourbillonne les pixels du centre de l'image
    • Imagick::textureImage — Répète les carreaux de la texture d'une image
    • Imagick::thresholdImage — Modifie la valeur des pixels individuels, basée sur un seuil
    • Imagick::thumbnailImage — Modifie la taille d'une image
    • Imagick::tintImage — Applique un vecteur de couleur à chaque pixel de l'image
    • Imagick::transformImage — Méthode de convenance pour définir la taille de rognage et la géométrie de l'image
    • Imagick::transparentPaintImage — Paints pixels transparent
    • Imagick::transposeImage — Applique une symétrie verticale
    • Imagick::transverseImage — Crée un miroir horizontal de l'image
    • Imagick::trimImage — Supprime les bords de l'image
    • Imagick::uniqueImageColors — Ne conserve qu'une couleur de pixel
    • Imagick::unsharpMaskImage — Rend une image plus nette
    • Imagick::valid — Vérifie si l'élément courant est valide
    • Imagick::vignetteImage — Ajout un filtre vignette à l'image
    • Imagick::waveImage — Ajoute un filtre de vagues à l'image
    • Imagick::whiteThresholdImage — Force tous les pixels en dessous du seuil en blanc
    • Imagick::writeImage — Écrit une image dans le fichier spécifié
    • Imagick::writeImageFile — Writes an image to a filehandle
    • Imagick::writeImages — Écrit une image ou une séquence d'images
    • Imagick::writeImagesFile — Writes frames to a filehandle
  • La classe ImagickDraw
    • ImagickDraw::affine — Ajuste la matrice de transformation affine courante
    • ImagickDraw::annotation — Dessine un texte sur une image
    • ImagickDraw::arc — Dessine un arc
    • ImagickDraw::bezier — Dessine une courbe de Bézier
    • ImagickDraw::circle — Dessine un cercle
    • ImagickDraw::clear — Efface tout l'objet ImagickDraw
    • ImagickDraw::clone — Fait une copie exacte de l'objet ImagickDraw
    • ImagickDraw::color — Dessine une couleur sur une image
    • ImagickDraw::comment — Ajoute un commentaire
    • ImagickDraw::composite — Compose une image avec une autre
    • ImagickDraw::__construct — Le constructeur ImagickDraw
    • ImagickDraw::destroy — Libère toutes les ressources associées à un objet ImageDraw
    • ImagickDraw::ellipse — Dessine une ellipse sur une image
    • ImagickDraw::getClipPath — Retourne l'identifiant du chemin courant
    • ImagickDraw::getClipRule — Retourne la règle de remplissage courante pour les polygones
    • ImagickDraw::getClipUnits — Retourne l'unité d'interprétation des chemins
    • ImagickDraw::getFillColor — Retourne la couleur de remplissage
    • ImagickDraw::getFillOpacity — Retourne l'opacité de dessin
    • ImagickDraw::getFillRule — Retourne la règle de remplissage
    • ImagickDraw::getFont — Retourne la police
    • ImagickDraw::getFontFamily — Retourne la famille de police
    • ImagickDraw::getFontSize — Retourne la taille de la police
    • ImagickDraw::getFontStyle — Retourne le style de la police
    • ImagickDraw::getFontWeight — Retourne le poids de la police
    • ImagickDraw::getGravity — Retourne la gravité de placement de texte
    • ImagickDraw::getStrokeAntialias — Retourne la configuration d'anti-aliasing de trait
    • ImagickDraw::getStrokeColor — Retourne la couleur des contours d'objets
    • ImagickDraw::getStrokeDashArray — Retourne un tableau représentant le motif de pointillés
    • ImagickDraw::getStrokeDashOffset — Retourne l'offset du pointillé dans le motif
    • ImagickDraw::getStrokeLineCap — Retourne la forme à utiliser pour dessiner les bouts de sous-chemins
    • ImagickDraw::getStrokeLineJoin — Retourne la forme à utiliser pour dessiner les coins d'un chemin
    • ImagickDraw::getStrokeMiterLimit — Retourne la 'miterLimit'
    • ImagickDraw::getStrokeOpacity — Retourne l'opacité des contours d'un objet
    • ImagickDraw::getStrokeWidth — Retourne la largeur du trait utilisé
    • ImagickDraw::getTextAlignment — Retourne l'alignement du texte
    • ImagickDraw::getTextAntialias — Retourne la configuration de l'anti-aliasing de texte
    • ImagickDraw::getTextDecoration — Retourne la décoration du texte
    • ImagickDraw::getTextEncoding — Retourne le jeu de caractères utilisé pour les annotations de texte
    • ImagickDraw::getTextUnderColor — Retourne la couleur sous le texte
    • ImagickDraw::getVectorGraphics — Retourne une chaîne contenant le vecteur graphique
    • ImagickDraw::line — Dessine une ligne
    • ImagickDraw::matte — Dessine sur le canal d'opacité de l'image
    • ImagickDraw::pathClose — Ajoute un élément de chemin au chemin courant
    • ImagickDraw::pathCurveToAbsolute — Dessine une courbe de Bézier cubique, en coordonnées absolues
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Dessine une courbe de Bézier quadratique, en coordonnées absolues
    • ImagickDraw::pathCurveToQuadraticBezierRelative — Dessine une courbe de Bézier quadratique, en coordonnées relatives
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Dessine une courbe de Bézier de puissance 4, en coordonnées absolues
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Dessine une courbe de Bézier de puissance 4, en coordonnées relatives
    • ImagickDraw::pathCurveToRelative — Dessine une courbe de Bézier cubique, en coordonnées relatives
    • ImagickDraw::pathCurveToSmoothAbsolute — Dessine une courbe de Bézier, en coordonnées absolues
    • ImagickDraw::pathCurveToSmoothRelative — Dessine une courbe de Bézier, en coordonnées relatives
    • ImagickDraw::pathEllipticArcAbsolute — Dessine un arc d'ellipse, en coordonnées absolues
    • ImagickDraw::pathEllipticArcRelative — Dessine un arc d'ellipse, en coordonnées relatives
    • ImagickDraw::pathFinish — Termine le chemin courant
    • ImagickDraw::pathLineToAbsolute — Dessine une ligne de chemin, en coordonnées absolues
    • ImagickDraw::pathLineToHorizontalAbsolute — Dessine une ligne de chemin horizontale, en coordonnées absolues
    • ImagickDraw::pathLineToHorizontalRelative — Dessine une ligne de chemin horizontale, en coordonnées relatives
    • ImagickDraw::pathLineToRelative — Dessine une ligne de chemin, en coordonnées relatives
    • ImagickDraw::pathLineToVerticalAbsolute — Dessine une ligne de chemin verticale, en coordonnées absolues
    • ImagickDraw::pathLineToVerticalRelative — Dessine une ligne de chemin verticale, en coordonnées relatives
    • ImagickDraw::pathMoveToAbsolute — Commence un nouveau sous-chemin, en coordonnées absolues
    • ImagickDraw::pathMoveToRelative — Commence un nouveau sous-chemin, en coordonnées relatives
    • ImagickDraw::pathStart — Déclare le début d'une chemin de dessin
    • ImagickDraw::point — Dessine un point
    • ImagickDraw::polygon — Dessine un polygone
    • ImagickDraw::polyline — Dessine une ligne brisée
    • ImagickDraw::pop — Détruit l'objet ImagickDraw courant dans la pile, et retourne son précédent
    • ImagickDraw::popClipPath — Termine la définition d'un chemin
    • ImagickDraw::popDefs — Termine une définition de liste
    • ImagickDraw::popPattern — Termine une définition de motif
    • ImagickDraw::push — Clone l'objet ImagickDraw courant et le pousse dans la pile
    • ImagickDraw::pushClipPath — Commence la définition d'un chemin
    • ImagickDraw::pushDefs — Indique que la commande suivante créée des éléments nommés pour pré-traitement
    • ImagickDraw::pushPattern — Configure un espace de dessin
    • ImagickDraw::rectangle — Dessine un rectangle
    • ImagickDraw::render — Effectue le rendu de tous les dessins à l'image
    • ImagickDraw::rotate — Applique une rotation
    • ImagickDraw::roundRectangle — Dessine un rectangle aux coins arrondis
    • ImagickDraw::scale — Ajuste le facteur de mise à l'échelle
    • ImagickDraw::setClipPath — Associe un chemin avec une image
    • ImagickDraw::setClipRule — Configure la règle de remplissage du polygone à utiliser avec les chemins
    • ImagickDraw::setClipUnits — Configure le mode d'interprétation des unités de chemin
    • ImagickDraw::setFillAlpha — Configure l'opacité de la couleur de remplissage
    • ImagickDraw::setFillColor — Configure la couleur de dessin des objets remplis
    • ImagickDraw::setFillOpacity — Configure l'opacité à utiliser pour le remplissage
    • ImagickDraw::setFillPatternURL — Configure l'URL du motif de remplissage des surfaces
    • ImagickDraw::setFillRule — Configure la règle de remplissage des polygones
    • ImagickDraw::setFont — Configure la police complète pour les textes
    • ImagickDraw::setFontFamily — Configure la famille de police pour les textes
    • ImagickDraw::setFontSize — Configure la taille de point pour les textes
    • ImagickDraw::setFontStretch — Configure l'étirement du texte
    • ImagickDraw::setFontStyle — Configure le style de police
    • ImagickDraw::setFontWeight — Configure le poids de la police
    • ImagickDraw::setGravity — Configure la gravité de placement de texte
    • ImagickDraw::setStrokeAlpha — Spécifie l'opacité des contours d'objets
    • ImagickDraw::setStrokeAntialias — Contrôle l'anti-aliasing des pointillés
    • ImagickDraw::setStrokeColor — Configure la couleur utilisée pour dessiner les objets
    • ImagickDraw::setStrokeDashArray — Spécifie le motif de pointillé
    • ImagickDraw::setStrokeDashOffset — Spécifie la position dans le motif pour commencer le pointillé
    • ImagickDraw::setStrokeLineCap — Spécifie la forme à utiliser à la fin des sous-chemins
    • ImagickDraw::setStrokeLineJoin — Spécifie la forme à utiliser pour dessiner les fins de lignes
    • ImagickDraw::setStrokeMiterLimit — Spécifie la limiter miter
    • ImagickDraw::setStrokeOpacity — Spécifie l'opacité pour dessiner les contours
    • ImagickDraw::setStrokePatternURL — Configure le motif utilisé pour dessiner les contours
    • ImagickDraw::setStrokeWidth — Configure la largeur du trait pour dessiner les contours
    • ImagickDraw::setTextAlignment — Spécifie l'alignement du texte
    • ImagickDraw::setTextAntialias — Contrôle l'anti-alisasing du texte
    • ImagickDraw::setTextDecoration — Spécifie les ornements de texte
    • ImagickDraw::setTextEncoding — Spécifie le jeu de caractères
    • ImagickDraw::setTextUnderColor — Spécifie la couleur de fond d'une rectangle
    • ImagickDraw::setVectorGraphics — Configure le vecteur graphique
    • ImagickDraw::setViewbox — Configure la taille du canevas
    • ImagickDraw::skewX — Biaise les coordonnées dans la direction horizontale
    • ImagickDraw::skewY — Incline les coordonnées dans la direction verticale
    • ImagickDraw::translate — Applique une translation
  • La classe ImagickPixel
    • ImagickPixel::clear — Supprime toutes les ressources associées avec l'objet
    • ImagickPixel::__construct — Le constructeur ImagickPixel
    • ImagickPixel::destroy — Libère les ressources associées avec l'objet
    • ImagickPixel::getColor — Retourne la couleur
    • ImagickPixel::getColorAsString — Retourne une couleur
    • ImagickPixel::getColorCount — Retourne le nombre de couleurs associé avec une couleur
    • ImagickPixel::getColorValue — Récupère la valeur normalisée du canal de la couleur fournie
    • ImagickPixel::getHSL — Retourne la couleur HSL normalisée de l'objet ImagickPixel
    • ImagickPixel::isSimilar — Vérifie la distance entre 2 couleurs
    • ImagickPixel::setColor — Définit la couleur
    • ImagickPixel::setColorValue — Définit la valeur normalisée d'un des canaux
    • ImagickPixel::setHSL — Définit la couleur HSL normalisée
  • La classe ImagickPixelIterator
    • ImagickPixelIterator::clear — Efface toutes les ressources associées à PixelIterator
    • ImagickPixelIterator::__construct — Le constructeur ImagickPixelIterator
    • ImagickPixelIterator::destroy — Libère les ressources associées à PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow — Retourne la ligne courante des objets ImagickPixel
    • ImagickPixelIterator::getIteratorRow — Retourne la ligne courante de l'itérateur de pixel
    • ImagickPixelIterator::getNextIteratorRow — Retourne la prochaine ligne de l'itérateur de pixel
    • ImagickPixelIterator::getPreviousIteratorRow — Retourne la ligne précédente
    • ImagickPixelIterator::newPixelIterator — Retourne un nouveau pixel de l'itérateur
    • ImagickPixelIterator::newPixelRegionIterator — Retourne un nouveau pixel de l'itérateur
    • ImagickPixelIterator::resetIterator — Réinitialise l'itérateur de pixel
    • ImagickPixelIterator::setIteratorFirstRow — Définit l'itérateur de pixel sur la première ligne de pixels
    • ImagickPixelIterator::setIteratorLastRow — Définit l'itérateur de pixel sur la dernière ligne de pixels
    • ImagickPixelIterator::setIteratorRow — Définit la ligne de l'itérateur de pixel
    • ImagickPixelIterator::syncIterator — Synchronise l'itérateur de pixel
png2wbmp
Introduction
Génération et traitement des images


Introduction

Imagick est une extension PHP native pour créer et modifier les images, en utilisant l'API ImageMagick.

ImageMagick (marque déposée) est une suite de logiciels permettant la création, l'édition et la composition d'images bitmap. Elle peut lire, convertir et écrire les images dans divers formats (une centaine) dont DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG et TIFF.

Copyright 1999-2007 ImageMagick Studio LLC, une organisation à but non-lucratif dont le but est de rendre la création de logiciel relatif à la manipulation d'images librement disponible.

ImageMagick
Installation/Configuration
ImageMagick


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
ImageMagick


Pré-requis

Configuration nécessaire pour l'installation sous Windows

Les binaires sont disponibles depuis http://www.imagemagick.org/ ; vous pouvez ainsi charger cette extension sous Windows sans devoir compiler quoi que ce soit.

Configuration nécessaire pour l'installation sous les autres plates-formes

PHP >= 5.1.3 et ImageMagick >= 6.2.4 sont nécessaires. Le nombre de formats supportés par Imagick est totalement dépendant de ceux supportés par votre installation ImageMagick. Par exemple, Imagemagick a besoin de ghostscript pour effectuer les opérations relatives aux PDF.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/imagick.

Note: Le nom officiel de cette extension est imagick.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes COLOR_*

Constantes sur les type de couleur. Ces constantes sont surtout utilisées avec la classe ImagickPixel.

imagick::COLOR_BLACK (entier)
Couleur noire
imagick::COLOR_BLUE (entier)
Couleur bleue
imagick::COLOR_CYAN (entier)
Couleur cyan
imagick::COLOR_GREEN (entier)
Couleur verte
imagick::COLOR_RED (entier)
Couleur rouge
imagick::COLOR_YELLOW (entier)
Couleur jaune
imagick::COLOR_MAGENTA (entier)
Couleur magenta
imagick::COLOR_OPACITY (entier)
Couleur de l'opacité
imagick::COLOR_ALPHA (entier)
Couleur de l'alpha
imagick::COLOR_FUZZ (entier)
Couleur du fuzz
Constantes de disposition

Constantes relatvies aux type de disposition

imagick::DISPOSE_UNRECOGNIZED (entier)
Type de disposition non reconnu
imagick::DISPOSE_UNDEFINED (entier)
Type de disposition non défini
imagick::DISPOSE_NONE (entier)
Aucun type de disposition
imagick::DISPOSE_BACKGROUND (entier)
Disposition du fond
imagick::DISPOSE_PREVIOUS (entier)
Disposition précédente
Constantes d'opérateur de composition
imagick::COMPOSITE_DEFAULT (entier)
L'opérateur de composition par défaut.
imagick::COMPOSITE_UNDEFINED (entier)
Opérateur de composition indéfini
imagick::COMPOSITE_NO (entier)
Pas d'opérateur de composition défini
imagick::COMPOSITE_ADD (entier)
Le résultat de image + image
imagick::COMPOSITE_ATOP (entier)
Le résultat a la même forme que l'image, avec l'image composée qui remplit l'image là où la forme d'image chevauche l'image
imagick::COMPOSITE_BLEND (entier)
Combine les images image (blending)
imagick::COMPOSITE_BUMPMAP (entier)
La même chose que COMPOSITE_MULTIPLY, hormis le fait que la source est d'abord convertie en niveaux de gris
imagick::COMPOSITE_CLEAR (entier)
Rend l'image cible transparent
imagick::COMPOSITE_COLORBURN (entier)
Assombrit l'image de destination pour refléter l'image source
imagick::COMPOSITE_COLORDODGE (entier)
Éclaire l'image de destination pour refléter l'image source
imagick::COMPOSITE_COLORIZE (entier)
Colorie l'image cible avec l'image composée
imagick::COMPOSITE_COPYBLACK (entier)
Copie le noir de la source vers la cible
imagick::COMPOSITE_COPYBLUE (entier)
Copie le bleu de la source vers la cible
imagick::COMPOSITE_COPY (entier)
Copie la source vers la cible
imagick::COMPOSITE_COPYCYAN (entier)
Copie le Cyan de la source vers la cible
imagick::COMPOSITE_COPYGREEN (entier)
Copie le vert de la source vers la cible
imagick::COMPOSITE_COPYMAGENTA (entier)
Copie le magenta de la source vers la cible
imagick::COMPOSITE_COPYOPACITY (entier)
Copie l'opacité de la source vers la cible
imagick::COMPOSITE_COPYRED (entier)
Copie le rouge de la source vers la cible
imagick::COMPOSITE_COPYYELLOW (entier)
Copie le jaune de la source vers la cible
imagick::COMPOSITE_DARKEN (entier)
Assombrit l'image cible
imagick::COMPOSITE_DSTATOP (entier)
La partie de l'image de destination qui est a l'intérieur de la source est composée avec la source, et placée dans la destination.
imagick::COMPOSITE_DST (entier)
La cible est laissée intacte
imagick::COMPOSITE_DSTIN (entier)
La partie à l'intérieur de la source remplace la cible
imagick::COMPOSITE_DSTOUT (entier)
La partie à l'extérieur de la source remplace la cible
imagick::COMPOSITE_DSTOVER (entier)
La cible remplace la source
imagick::COMPOSITE_DIFFERENCE (entier)
Soustrait la couleur sombre de la couleur claire
imagick::COMPOSITE_DISPLACE (entier)
Décale les pixels de la cible tel que défini par la source
imagick::COMPOSITE_DISSOLVE (entier)
Dissous la source dans la cible
imagick::COMPOSITE_EXCLUSION (entier)
Produit un effet similaire à imagick::COMPOSITE_DIFFERENCE, mais avec un contraste plus faible
imagick::COMPOSITE_HARDLIGHT (entier)
Multiplie ou screene les couleurs, dépendemment de la valeur de la couleur source
imagick::COMPOSITE_HUE (entier)
Modifie la hue de la cible, tel que défini par la source
imagick::COMPOSITE_IN (entier)
Compose la source dans la cible
imagick::COMPOSITE_LIGHTEN (entier)
Éclaircit la cible, tel que défini par la source
imagick::COMPOSITE_LUMINIZE (entier)
Illumine la cible tel que défini par la source
imagick::COMPOSITE_MINUS (entier)
Soustrait la source de la cible
imagick::COMPOSITE_MODULATE (entier)
Module la clarté de la cible, sa saturation et sa hue tel que défini par la cible
imagick::COMPOSITE_MULTIPLY (entier)
Multiplie la cible avec la source
imagick::COMPOSITE_OUT (entier)
Compose l'extérieur de la source dans la cible
imagick::COMPOSITE_OVER (entier)
Compose la source sur la cible
imagick::COMPOSITE_OVERLAY (entier)
Surimprime la source sur la cible
imagick::COMPOSITE_PLUS (entier)
Ajoute la source sur la cible
imagick::COMPOSITE_REPLACE (entier)
Remplace la cible avec la source
imagick::COMPOSITE_SATURATE (entier)
Sature la cible tel que défini par la source
imagick::COMPOSITE_SCREEN (entier)
La source et cible sont complétées puis multipliées et finalement elles remplacent la cible
imagick::COMPOSITE_SOFTLIGHT (entier)
Assombrit ou éclaire les couleurs, en fonction de la source
imagick::COMPOSITE_SRCATOP (entier)
La partie de la source qui est dans la cible et composée sur la cible
imagick::COMPOSITE_SRC (entier)
La source est copiée sur la destination
imagick::COMPOSITE_SRCIN (entier)
La partie de la source qui est dans la destination, remplace la destination.
imagick::COMPOSITE_SRCOUT (entier)
La partie de la source qui est hors de la destination remplace la destination
imagick::COMPOSITE_SRCOVER (entier)
La source remplaces la cible
imagick::COMPOSITE_SUBTRACT (entier)
Soustrait les couleurs dans la source dans la cible
imagick::COMPOSITE_THRESHOLD (entier)
La source est composée sur la cible, tel que défini par les seuils de la source
imagick::COMPOSITE_XOR (entier)
La partie de la source qui est hors de la destination et combinée avec la partie de la destination qui est hors de la source
Constantes de mode de montage Mode

imagick::MONTAGEMODE_FRAME (entier)
imagick::MONTAGEMODE_UNFRAME (entier)
imagick::MONTAGEMODE_CONCATENATE (entier)
Constantes de style

imagick::STYLE_NORMAL (entier)
imagick::STYLE_ITALIC (entier)
imagick::STYLE_OBLIQUE (entier)
imagick::STYLE_ANY (entier)
Constantes de filtres

imagick::FILTER_UNDEFINED (entier)
imagick::FILTER_POINT (entier)
imagick::FILTER_BOX (entier)
imagick::FILTER_TRIANGLE (entier)
imagick::FILTER_HERMITE (entier)
imagick::FILTER_HANNING (entier)
imagick::FILTER_HAMMING (entier)
imagick::FILTER_BLACKMAN (entier)
imagick::FILTER_GAUSSIAN (entier)
imagick::FILTER_QUADRATIC (entier)
imagick::FILTER_CUBIC (entier)
imagick::FILTER_CATROM (entier)
imagick::FILTER_MITCHELL (entier)
imagick::FILTER_LANCZOS (entier)
imagick::FILTER_BESSEL (entier)
imagick::FILTER_SINC (entier)
Constantes de type d'images

imagick::IMGTYPE_UNDEFINED (entier)
imagick::IMGTYPE_BILEVEL (entier)
imagick::IMGTYPE_GRAYSCALE (entier)
imagick::IMGTYPE_GRAYSCALEMATTE (entier)
imagick::IMGTYPE_PALETTE (entier)
imagick::IMGTYPE_PALETTEMATTE (entier)
imagick::IMGTYPE_TRUECOLOR (entier)
imagick::IMGTYPE_TRUECOLORMATTE (entier)
imagick::IMGTYPE_COLORSEPARATION (entier)
imagick::IMGTYPE_COLORSEPARATIONMATTE (entier)
imagick::IMGTYPE_OPTIMIZE (entier)
Constantes de résolution

imagick::RESOLUTION_UNDEFINED (entier)
imagick::RESOLUTION_PIXELSPERINCH (entier)
imagick::RESOLUTION_PIXELSPERCENTIMETER (entier)
Constantes de compression

imagick::COMPRESSION_UNDEFINED (entier)
imagick::COMPRESSION_NO (entier)
imagick::COMPRESSION_BZIP (entier)
imagick::COMPRESSION_FAX (entier)
imagick::COMPRESSION_GROUP4 (entier)
imagick::COMPRESSION_JPEG (entier)
imagick::COMPRESSION_JPEG2000 (entier)
imagick::COMPRESSION_LOSSLESSJPEG (entier)
imagick::COMPRESSION_LZW (entier)
imagick::COMPRESSION_RLE (entier)
imagick::COMPRESSION_ZIP (entier)
imagick::COMPRESSION_DXT1 (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.
imagick::COMPRESSION_DXT3 (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.
imagick::COMPRESSION_DXT5 (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.
Constantes de colorisation

imagick::PAINT_POINT (entier)
imagick::PAINT_REPLACE (entier)
imagick::PAINT_FLOODFILL (entier)
imagick::PAINT_FILLTOBORDER (entier)
imagick::PAINT_RESET (entier)
Constantes de gravité

imagick::GRAVITY_NORTHWEST (entier)
imagick::GRAVITY_NORTH (entier)
imagick::GRAVITY_NORTHEAST (entier)
imagick::GRAVITY_WEST (entier)
imagick::GRAVITY_CENTER (entier)
imagick::GRAVITY_EAST (entier)
imagick::GRAVITY_SOUTHWEST (entier)
imagick::GRAVITY_SOUTH (entier)
imagick::GRAVITY_SOUTHEAST (entier)
Constantes d'étirement

imagick::STRETCH_NORMAL (entier)
imagick::STRETCH_ULTRACONDENSED (entier)
imagick::STRETCH_CONDENSED (entier)
imagick::STRETCH_SEMICONDENSED (entier)
imagick::STRETCH_SEMIEXPANDED (entier)
imagick::STRETCH_EXPANDED (entier)
imagick::STRETCH_EXTRAEXPANDED (entier)
imagick::STRETCH_ULTRAEXPANDED (entier)
imagick::STRETCH_ANY (entier)
Constantes d'alignement

imagick::ALIGN_UNDEFINED (entier)
imagick::ALIGN_LEFT (entier)
imagick::ALIGN_CENTER (entier)
imagick::ALIGN_RIGHT (entier)
Constantes de décoration

imagick::DECORATION_NO (entier)
imagick::DECORATION_UNDERLINE (entier)
imagick::DECORATION_OVERLINE (entier)
imagick::DECORATION_LINETROUGH (entier)
Constantes de bruit

imagick::NOISE_UNIFORM (entier)
imagick::NOISE_GAUSSIAN (entier)
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (entier)
imagick::NOISE_IMPULSE (entier)
imagick::NOISE_LAPLACIAN (entier)
imagick::NOISE_POISSON (entier)
imagick::NOISE_RANDOM (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
Constantes de canal

imagick::CHANNEL_UNDEFINED (entier)
imagick::CHANNEL_RED (entier)
imagick::CHANNEL_GRAY (entier)
imagick::CHANNEL_CYAN (entier)
imagick::CHANNEL_GREEN (entier)
imagick::CHANNEL_MAGENTA (entier)
imagick::CHANNEL_BLUE (entier)
imagick::CHANNEL_YELLOW (entier)
imagick::CHANNEL_ALPHA (entier)
imagick::CHANNEL_OPACITY (entier)
imagick::CHANNEL_MATTE (entier)
imagick::CHANNEL_BLACK (entier)
imagick::CHANNEL_INDEX (entier)
imagick::CHANNEL_ALL (entier)
imagick::CHANNEL_DEFAULT (entier)
Constantes de métriques

imagick::METRIC_UNDEFINED (entier)
imagick::METRIC_MEANABSOLUTEERROR (entier)
imagick::METRIC_MEANSQUAREERROR (entier)
imagick::METRIC_PEAKABSOLUTEERROR (entier)
imagick::METRIC_PEAKSIGNALTONOISERATIO (entier)
imagick::METRIC_ROOTMEANSQUAREDERROR (entier)
Constantes de pixels

imagick::PIXEL_CHAR (entier)
imagick::PIXEL_DOUBLE (entier)
imagick::PIXEL_FLOAT (entier)
imagick::PIXEL_INTEGER (entier)
imagick::PIXEL_LONG (entier)
imagick::PIXEL_QUANTUM (entier)
imagick::PIXEL_SHORT (entier)
Constantes d'opérateurs d'évaluation

imagick::EVALUATE_UNDEFINED (entier)
imagick::EVALUATE_ADD (entier)
imagick::EVALUATE_AND (entier)
imagick::EVALUATE_DIVIDE (entier)
imagick::EVALUATE_LEFTSHIFT (entier)
imagick::EVALUATE_MAX (entier)
imagick::EVALUATE_MIN (entier)
imagick::EVALUATE_MULTIPLY (entier)
imagick::EVALUATE_OR (entier)
imagick::EVALUATE_RIGHTSHIFT (entier)
imagick::EVALUATE_SET (entier)
imagick::EVALUATE_SUBTRACT (entier)
imagick::EVALUATE_XOR (entier)
imagick::EVALUATE_POW ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_LOG ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_THRESHOLD ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_THRESHOLDBLACK ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_THRESHOLDWHITE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_GAUSSIANNOISE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_IMPULSENOISE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_LAPLACIANNOISE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_MULTIPLICATIVENOISE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_POISSONNOISE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_UNIFORMNOISE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_COSINE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_SINE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
imagick::EVALUATE_ADDMODULUS ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.
Constantes d'espaces de couleurs

imagick::COLORSPACE_UNDEFINED (entier)
imagick::COLORSPACE_RGB (entier)
imagick::COLORSPACE_GRAY (entier)
imagick::COLORSPACE_TRANSPARENT (entier)
imagick::COLORSPACE_OHTA (entier)
imagick::COLORSPACE_LAB (entier)
imagick::COLORSPACE_XYZ (entier)
imagick::COLORSPACE_YCBCR (entier)
imagick::COLORSPACE_YCC (entier)
imagick::COLORSPACE_YIQ (entier)
imagick::COLORSPACE_YPBPR (entier)
imagick::COLORSPACE_YUV (entier)
imagick::COLORSPACE_CMYK (entier)
imagick::COLORSPACE_SRGB (entier)
imagick::COLORSPACE_HSB (entier)
imagick::COLORSPACE_HSL (entier)
imagick::COLORSPACE_HWB (entier)
imagick::COLORSPACE_REC601LUMA (entier)
imagick::COLORSPACE_REC709LUMA (entier)
imagick::COLORSPACE_LOG (entier)
imagick::COLORSPACE_CMY ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.2 ou supérieur.
Constantes de méthode de pixel virtuel

imagick::VIRTUALPIXELMETHOD_UNDEFINED (entier)
imagick::VIRTUALPIXELMETHOD_BACKGROUND (entier)
imagick::VIRTUALPIXELMETHOD_CONSTANT (entier)
imagick::VIRTUALPIXELMETHOD_EDGE (entier)
imagick::VIRTUALPIXELMETHOD_MIRROR (entier)
imagick::VIRTUALPIXELMETHOD_TILE (entier)
imagick::VIRTUALPIXELMETHOD_TRANSPARENT (entier)
imagick::VIRTUALPIXELMETHOD_MASK ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.2 ou supérieur.
imagick::VIRTUALPIXELMETHOD_BLACK ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.2 ou supérieur.
imagick::VIRTUALPIXELMETHOD_GRAY ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.2 ou supérieur.
imagick::VIRTUALPIXELMETHOD_WHITE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.2 ou supérieur.
imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.3 ou supérieur.
imagick::VIRTUALPIXELMETHOD_VERTICALTILE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.3 ou supérieur.
Constantes de prévisualisation

imagick::PREVIEW_UNDEFINED (entier)
imagick::PREVIEW_ROTATE (entier)
imagick::PREVIEW_SHEAR (entier)
imagick::PREVIEW_ROLL (entier)
imagick::PREVIEW_HUE (entier)
imagick::PREVIEW_SATURATION (entier)
imagick::PREVIEW_BRIGHTNESS (entier)
imagick::PREVIEW_GAMMA (entier)
imagick::PREVIEW_SPIFF (entier)
imagick::PREVIEW_DULL (entier)
imagick::PREVIEW_GRAYSCALE (entier)
imagick::PREVIEW_QUANTIZE (entier)
imagick::PREVIEW_DESPECKLE (entier)
imagick::PREVIEW_REDUCENOISE (entier)
imagick::PREVIEW_ADDNOISE (entier)
imagick::PREVIEW_SHARPEN (entier)
imagick::PREVIEW_BLUR (entier)
imagick::PREVIEW_THRESHOLD (entier)
imagick::PREVIEW_EDGEDETECT (entier)
imagick::PREVIEW_SPREAD (entier)
imagick::PREVIEW_SOLARIZE (entier)
imagick::PREVIEW_SHADE (entier)
imagick::PREVIEW_RAISE (entier)
imagick::PREVIEW_SEGMENT (entier)
imagick::PREVIEW_SWIRL (entier)
imagick::PREVIEW_IMPLODE (entier)
imagick::PREVIEW_WAVE (entier)
imagick::PREVIEW_OILPAINT (entier)
imagick::PREVIEW_CHARCOALDRAWING (entier)
imagick::PREVIEW_JPEG (entier)
Constantes de rendu

imagick::RENDERINGINTENT_UNDEFINED (entier)
imagick::RENDERINGINTENT_SATURATION (entier)
imagick::RENDERINGINTENT_PERCEPTUAL (entier)
imagick::RENDERINGINTENT_ABSOLUTE (entier)
imagick::RENDERINGINTENT_RELATIVE (entier)
Constantes d'entrelacement

imagick::INTERLACE_UNDEFINED (entier)
imagick::INTERLACE_NO (entier)
imagick::INTERLACE_LINE (entier)
imagick::INTERLACE_PLANE (entier)
imagick::INTERLACE_PARTITION (entier)
imagick::INTERLACE_GIF ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.4 ou supérieur.
imagick::INTERLACE_JPEG (entier)
imagick::INTERLACE_PNG (entier)
Constantes de remplissage

imagick::FILLRULE_UNDEFINED (entier)
imagick::FILLRULE_EVENODD (entier)
imagick::FILLRULE_NONZERO (entier)
Constantes de chemin de dessin

imagick::PATHUNITS_UNDEFINED (entier)
imagick::PATHUNITS_USERSPACE (entier)
imagick::PATHUNITS_USERSPACEONUSE (entier)
imagick::PATHUNITS_OBJECTBOUNDINGBOX (entier)
Constantes de bout de lignes

imagick::LINECAP_UNDEFINED (entier)
imagick::LINECAP_BUTT (entier)
imagick::LINECAP_ROUND (entier)
imagick::LINECAP_SQUARE (entier)
Constantes de jointures de lignes

imagick::LINEJOIN_UNDEFINED (entier)
imagick::LINEJOIN_MITER (entier)
imagick::LINEJOIN_ROUND (entier)
imagick::LINEJOIN_BEVEL (entier)
Constantes de type de ressource

imagick::RESOURCETYPE_UNDEFINED (entier)
imagick::RESOURCETYPE_AREA (entier)
imagick::RESOURCETYPE_DISK (entier)
imagick::RESOURCETYPE_FILE (entier)
imagick::RESOURCETYPE_MAP (entier)
imagick::RESOURCETYPE_MEMORY (entier)
Constantes de méthode de calque

imagick::LAYERMETHOD_UNDEFINED (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_COALESCE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_COMPAREANY (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_COMPARECLEAR (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_COMPAREOVERLAY (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_DISPOSE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_OPTIMIZE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_OPTIMIZEPLUS ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
imagick::LAYERMETHOD_OPTIMIZEIMAGE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::LAYERMETHOD_OPTIMIZETRANS (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::LAYERMETHOD_REMOVEDUPS (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::LAYERMETHOD_REMOVEZERO (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::LAYERMETHOD_COMPOSITE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::LAYERMETHOD_MERGE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.
imagick::LAYERMETHOD_FLATTEN ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.
imagick::LAYERMETHOD_MOSAIC ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.
Constantes d'orientation

imagick::ORIENTATION_UNDEFINED (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_TOPLEFT (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_TOPRIGHT (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_BOTTOMRIGHT (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_BOTTOMLEFT (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_LEFTTOP (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_RIGHTTOP (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_RIGHTBOTTOM (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
imagick::ORIENTATION_LEFTBOTTOM (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.0 ou supérieur.
Constantes de distorsion

imagick::DISTORTION_UNDEFINED (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_AFFINE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_AFFINEPROJECTION (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_ARC (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_BILINEAR (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_PERSPECTIVE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_PERSPECTIVEPROJECTION (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_SCALEROTATETRANSLATE (entier)
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
imagick::DISTORTION_POLYNOMIAL ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DISTORTION_POLAR ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DISTORTION_DEPOLAR ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DISTORTION_BARREL ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DISTORTION_BARRELINVERSE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DISTORTION_SHEPARDS ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DISTORTION_SENTINEL ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
Constantes ALPHACHANNEL

imagick::ALPHACHANNEL_ACTIVATE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.
imagick::ALPHACHANNEL_DEACTIVATE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.
imagick::ALPHACHANNEL_RESET ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.
imagick::ALPHACHANNEL_SET ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.
imagick::ALPHACHANNEL_UNDEFINED ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::ALPHACHANNEL_COPY ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::ALPHACHANNEL_EXTRACT ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::ALPHACHANNEL_OPAQUE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::ALPHACHANNEL_SHAPE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::ALPHACHANNEL_TRANSPARENT ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
Constantes SPARSECOLORMETHOD

imagick::SPARSECOLORMETHOD_UNDEFINED ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::SPARSECOLORMETHOD_BARYCENTRIC ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::SPARSECOLORMETHOD_BILINEAR ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::SPARSECOLORMETHOD_POLYNOMIAL ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::SPARSECOLORMETHOD_SPEPARDS ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::SPARSECOLORMETHOD_VORONOI ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
Constantes FUNCTION

imagick::FUNCTION_UNDEFINED ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.9 ou supérieur.
imagick::FUNCTION_POLYNOMIAL ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.9 ou supérieur.
imagick::FUNCTION_SINUSOID ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.9 ou supérieur.
Constantes INTERPOLATE

imagick::INTERPOLATE_UNDEFINED ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_AVERAGE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_BICUBIC ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_BILINEAR ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_FILTER ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_INTEGER ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_MESH ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_NEARESTNEIGHBOR ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.
imagick::INTERPOLATE_SPLINE ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.4 ou supérieur.
Constantes DITHERMETHOD

imagick::DITHERMETHOD_UNDEFINED ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DITHERMETHOD_NO ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DITHERMETHOD_RIEMERSMA ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
imagick::DITHERMETHOD_FLOYDSTEINBERG ( integer )
Cette constante n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.6 ou supérieur.
Types de ressources
Exemples
ImageMagick


Exemples
ImageMagick
PHP Manual

Exemples

Sommaire

  • Exemples
Constantes pré-définies
Exemples
ImageMagick


Exemples
La classe Imagick
Exemples
PHP Manual

Exemples

Imagick rend la manipulation des images via PHP extrêmement facile grâce à une interface orientée objet. Voici un exemple rapide illustrant la création d'une miniature :

Exemple #1 Création d'une miniature avec Imagick

<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// Si 0 est fourni comme paramètre de hauteur ou de largeur,
// les proportions seront conservées
$image->thumbnailImage(100, 0);

echo $image;

?>

En utilisant SPL ou tout autre fonctionnalité orientée objet supportée par Imagick, il devient simple de redimensionner tous les fichiers d'un dossier (utile pour des scripts batch redimensionnant des images issues d'un appareil photo numérique afin de les rendre lisibles sur le web). Voici un exemple de redimensionnement de toutes les images JPG d'un dossier, tout en conservant les métadonnées :

Exemple #2 Création de miniature de toutes les images JPG d'un dossier

<?php

$images = new Imagick(glob('images/*.JPG'));

foreach($images as $image) {

    // On fournit 0 en guise de paramètre afin de conserver les proportions
    $image->thumbnailImage(1024,0);

}

$images->writeImages();

?>

Voici un exemple permettant de créer le reflet d'une image. Ce reflet est créé en retournant l'image et en y ajoutant un dégradé. Ensuite, l'image original et son reflet sont ajoutés dans une nouvelle image.

Exemple #3 Création d'un reflet sur une image

<?php
/* Lecture de l'image */
$im = new Imagick("test.png");

/* Création d'une miniature de l'image */
$im->thumbnailImage(200, null);

/* Création d'une bordure */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Clône l'image et on la retourne */
$reflection = $im->clone();
$reflection->flipImage();

/* Création du dégradé. Il sera ajouté à l'image retournée */
$gradient = new Imagick();

/* Le dégradé doit être assez large pour l'image et ses bordures */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");

/* Ajout du dégradé sur l'image retournée */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);

/* Ajout d'un peu d'opacité. Nécessite ImageMagick 6.2.9 ou supérieur */
$reflection->setImageOpacity( 0.3 );

/* Création d'une image vide */
$canvas = new Imagick();

/* L'image vide doit être assez large pour contenir les 2 images */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");

/* Ajout de l'image originale et de l'image retournée dans notre nouvelle image */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);

/* Affichage de l'image */
header("Content-Type: image/png");
echo $canvas;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Création d'un reflet sur une image

Voici un exemple montrant comment remplir un masque lors du dessin de l'image.

Exemple #4 Remplissage d'un texte avec un dégradé

<?php

/* Création d'un nouvel objet imagick */
$im = new Imagick();

/* Création d'une nouvelle image. Elle sera utilisée comme masque de remplissage */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Création d'un nouvel objet imagickdraw */
$draw = new ImagickDraw();

/* On commence un nouveau masque nommé "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Ajout du dégradé sur le masque */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Fermeture du masque */
$draw->popPattern();

/* Utilisation du masque nommé "gradient" comme remplissage */
$draw->setFillPatternURL('#gradient');

/* Définition de la taille du texte à 52 */
$draw->setFontSize(52);

/* Ajout d'un texte */
$draw->annotation(20, 50, "Bonjour le monde !");

/* Création d'un nouvel objet et d'une image blanche */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Dessine le ImagickDraw sur la nouvelle image */
$canvas->drawImage($draw);

/* Une bordure noire d'un pixel autour de l'image */
$canvas->borderImage('black', 1, 1);

/* Définition du format à PNG */
$canvas->setImageFormat('png');

/* Affiche l'image */
header("Content-Type: image/png");
echo $canvas;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Remplissage d'un texte avec un dégradé

Exemple avec des images GIF animées

Exemple #5 Lit une image GIF et redimensionne toutes les frames

<?php

/* Crée un nouvel objet imagick et lit une image GIF */
$im = new Imagick("example.gif");

/* Redimensionne toutes les frames */
foreach ($im as $frame) {
    /* 50x50 frames */
    $frame->thumbnailImage(50, 50);

    /* Définit le canevas virtuel à la bonne taille */
    $frame->setImagePage(50, 50, 0, 0);
}

/* Notez l'utilisation de writeImages au lieu de writeImage */
$im->writeImages("example_small.gif", true);
?>

Exemples
La classe Imagick
Exemples
PHP Manual


La classe Imagick

Synopsis de la classe

Imagick
Imagick implements Iterator , Traversable {
bool adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )
bool adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool adaptiveThresholdImage ( int $width , int $height , int $offset )
bool addImage ( Imagick $source )
bool addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool affineTransformImage ( ImagickDraw $matrix )
bool animateImages ( string $x_server )
bool annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )
Imagick appendImages ( bool $stack )
Imagick averageImages ( void )
bool blackThresholdImage ( mixed $threshold )
bool blurImage ( float $radius , float $sigma [, int $channel ] )
bool borderImage ( mixed $bordercolor , int $width , int $height )
bool charcoalImage ( float $radius , float $sigma )
bool chopImage ( int $width , int $height , int $x , int $y )
bool clear ( void )
bool clipImage ( void )
bool clipPathImage ( string $pathname , bool $inside )
Imagick clone ( void )
bool clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )
Imagick coalesceImages ( void )
bool colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )
bool colorizeImage ( mixed $colorize , mixed $opacity )
Imagick combineImages ( int $channelType )
bool commentImage ( string $comment )
array compareImageChannels ( Imagick $image , int $channelType , int $metricType )
Imagick compareImageLayers ( int $method )
array compareImages ( Imagick $compare , int $metric )
bool compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
Imagick __construct ([ mixed $files ] )
bool contrastImage ( bool $sharpen )
bool contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )
bool convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )
bool cropImage ( int $width , int $height , int $x , int $y )
bool cropThumbnailImage ( int $width , int $height )
Imagick current ( void )
bool cycleColormapImage ( int $displace )
bool decipherImage ( string $passphrase )
Imagick deconstructImages ( void )
public void deskewImage ( float $threshold )
bool despeckleImage ( void )
bool destroy ( void )
bool displayImage ( string $servername )
bool displayImages ( string $servername )
bool distortImage ( int $method , array $arguments , bool $bestfit )
bool drawImage ( ImagickDraw $draw )
bool edgeImage ( float $radius )
bool embossImage ( float $radius , float $sigma )
bool encipherImage ( string $passphrase )
bool enhanceImage ( void )
bool equalizeImage ( void )
bool evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )
public array exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )
bool extentImage ( int $width , int $height , int $x , int $y )
Imagick flattenImages ( void )
bool flipImage ( void )
bool floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool flopImage ( void )
bool frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public boolean functionImage ( integer $function , array $arguments )
Imagick fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )
bool gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )
bool gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
int getCompression ( void )
int getCompressionQuality ( void )
string getCopyright ( void )
string getFilename ( void )
string getFont ( void )
string getFormat ( void )
bool getGravity ( void )
string getHomeURL ( void )
Imagick getImage ( void )
int getImageAlphaChannel ( void )
ImagickPixel getImageBackgroundColor ( void )
string getImageBlob ( void )
array getImageBluePrimary ( float $x , float $y )
ImagickPixel getImageBorderColor ( void )
int getImageChannelDepth ( int $channel )
float getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
double getImageChannelDistortions ( Imagick $reference , int $metric , int $channel )
array getImageChannelExtrema ( int $channel )
public array getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )
array getImageChannelMean ( int $channel )
bool getImageChannelRange ( int $channel )
array getImageChannelStatistics ( void )
Imagick getImageClipMask ( void )
ImagickPixel getImageColormapColor ( int $index )
int getImageColors ( void )
int getImageColorspace ( void )
int getImageCompose ( void )
int getImageCompression ( void )
int getCompressionQuality ( void )
int getImageDelay ( void )
int getImageDepth ( void )
int getImageDispose ( void )
float getImageDistortion ( MagickWand $reference , int $metric )
array getImageExtrema ( void )
string getImageFilename ( void )
string getImageFormat ( void )
float getImageGamma ( void )
array getImageGeometry ( void )
bool getImageGravity ( void )
array getImageGreenPrimary ( void )
int getImageHeight ( void )
array getImageHistogram ( void )
int getImageIndex ( void )
int getImageInterlaceScheme ( void )
int getImageInterpolateMethod ( void )
int getImageIterations ( void )
int getImageLength ( void )
string getImageMagickLicense ( void )
int getImageMatte ( void )
ImagickPixel getImageMatteColor ( void )
int getImageOrientation ( void )
array getImagePage ( void )
ImagickPixel getImagePixelColor ( int $x , int $y )
string getImageProfile ( string $name )
array getImageProfiles ([ string $pattern = "*" [, bool $only_names = true ]] )
array getImageProperties ([ string $pattern = "*" [, bool $only_names = true ]] )
string getImageProperty ( string $name )
array getImageRedPrimary ( void )
Imagick getImageRegion ( int $width , int $height , int $x , int $y )
int getImageRenderingIntent ( void )
array getImageResolution ( void )
string getImagesBlob ( void )
int getImageScene ( void )
string getImageSignature ( void )
int getImageSize ( void )
int getImageTicksPerSecond ( void )
float getImageTotalInkDensity ( void )
int getImageType ( void )
int getImageUnits ( void )
int getImageVirtualPixelMethod ( void )
array getImageWhitePoint ( void )
int getImageWidth ( void )
int getInterlaceScheme ( void )
int getIteratorIndex ( void )
int getNumberImages ( void )
string getOption ( string $key )
string getPackageName ( void )
array getPage ( void )
ImagickPixelIterator getPixelIterator ( void )
ImagickPixelIterator getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )
string getPointSize ( void )
array getQuantumDepth ( void )
array getQuantumRange ( void )
string getReleaseDate ( void )
int getResource ( int $type )
int getResourceLimit ( int $type )
array getSamplingFactors ( void )
array getSize ( void )
int getSizeOffset ( void )
array getVersion ( void )
public boolean haldClutImage ( Imagick $clut [, int $channel ] )
bool hasNextImage ( void )
bool hasPreviousImage ( void )
array identifyImage ([ bool $appendRawOutput = false ] )
bool implodeImage ( float $radius )
public bool importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )
bool labelImage ( string $label )
bool levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )
bool linearStretchImage ( float $blackPoint , float $whitePoint )
bool liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )
bool magnifyImage ( void )
bool mapImage ( Imagick $map , bool $dither )
bool matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )
bool medianFilterImage ( float $radius )
bool mergeImageLayers ( int $layer_method )
bool minifyImage ( void )
bool modulateImage ( float $brightness , float $saturation , float $hue )
Imagick montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )
Imagick morphImages ( int $number_frames )
Imagick mosaicImages ( void )
bool motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )
bool newImage ( int $cols , int $rows , mixed $background [, string $format ] )
bool newPseudoImage ( int $columns , int $rows , string $pseudoString )
bool nextImage ( void )
bool normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )
bool oilPaintImage ( float $radius )
bool opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool optimizeImageLayers ( void )
bool orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )
bool paintTransparentImage ( mixed $target , float $alpha , float $fuzz )
bool pingImage ( string $filename )
bool pingImageBlob ( string $image )
bool pingImageFile ( resource $filehandle [, string $fileName ] )
bool polaroidImage ( ImagickDraw $properties , float $angle )
bool posterizeImage ( int $levels , bool $dither )
bool previewImages ( int $preview )
bool previousImage ( void )
bool profileImage ( string $name , string $profile )
bool quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
bool quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
array queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )
array queryFonts ([ string $pattern = "*" ] )
array queryFormats ([ string $pattern = "*" ] )
bool radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )
bool raiseImage ( int $width , int $height , int $x , int $y , bool $raise )
bool randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )
bool readImage ( string $filename )
bool readImageBlob ( string $image [, string $filename ] )
bool readImageFile ( resource $filehandle [, string $fileName = null ] )
bool recolorImage ( array $matrix )
bool reduceNoiseImage ( float $radius )
public void remapImage ( Imagick $replacement , int $DITHER )
bool removeImage ( void )
string removeImageProfile ( string $name )
bool render ( void )
bool resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
bool resetImagePage ( string $page )
bool resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
bool rollImage ( int $x , int $y )
bool rotateImage ( mixed $background , float $degrees )
bool roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )
bool sampleImage ( int $columns , int $rows )
bool scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )
public void segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, boolean $verbose ] )
bool separateImageChannel ( int $channel )
bool sepiaToneImage ( float $threshold )
bool setBackgroundColor ( mixed $background )
bool setCompression ( int $compression )
bool setCompressionQuality ( int $quality )
bool setFilename ( string $filename )
bool setFirstIterator ( void )
bool setFont ( string $font )
bool setFormat ( string $format )
bool setGravity ( int $gravity )
bool setImage ( Imagick $replace )
bool setImageAlphaChannel ( int $mode )
bool setImageBackgroundColor ( mixed $background )
bool setImageBias ( float $bias )
bool setImageBluePrimary ( float $x , float $y )
bool setImageBorderColor ( mixed $border )
bool setImageChannelDepth ( int $channel , int $depth )
bool setImageClipMask ( Imagick $clip_mask )
bool setImageColormapColor ( int $index , ImagickPixel $color )
bool setImageColorspace ( int $colorspace )
bool setImageCompose ( int $compose )
bool setImageCompression ( int $compression )
bool setImageCompressionQuality ( int $quality )
bool setImageDelay ( int $delay )
bool setImageDepth ( int $depth )
bool setImageDispose ( int $dispose )
bool setImageExtent ( int $columns , int $rows )
bool setImageFilename ( string $filename )
bool setImageFormat ( string $format )
bool setImageGamma ( float $gamma )
bool setImageGravity ( int $gravity )
bool setImageGreenPrimary ( float $x , float $y )
bool setImageIndex ( int $index )
bool setImageInterlaceScheme ( int $interlace_scheme )
bool setImageInterpolateMethod ( int $method )
bool setImageIterations ( int $iterations )
bool setImageMatte ( bool $matte )
bool setImageMatteColor ( mixed $matte )
bool setImageOpacity ( float $opacity )
bool setImageOrientation ( int $orientation )
bool setImagePage ( int $width , int $height , int $x , int $y )
bool setImageProfile ( string $name , string $profile )
bool setImageProperty ( string $name , string $value )
bool setImageRedPrimary ( float $x , float $y )
bool setImageRenderingIntent ( int $rendering_intent )
bool setImageResolution ( float $x_resolution , float $y_resolution )
bool setImageScene ( int $scene )
bool setImageTicksPerSecond ( int $ticks_per-second )
bool setImageType ( int $image_type )
bool setImageUnits ( int $units )
bool setImageVirtualPixelMethod ( int $method )
bool setImageWhitePoint ( float $x , float $y )
bool setInterlaceScheme ( int $interlace_scheme )
bool setIteratorIndex ( int $index )
bool setLastIterator ( void )
bool setOption ( string $key , string $value )
bool setPage ( int $width , int $height , int $x , int $y )
bool setPointSize ( float $point_size )
bool setResolution ( float $x_resolution , float $y_resolution )
bool setResourceLimit ( int $type , int $limit )
bool setSamplingFactors ( array $factors )
bool setSize ( int $columns , int $rows )
bool setSizeOffset ( int $columns , int $rows , int $offset )
bool setType ( int $image_type )
bool shadeImage ( bool $gray , float $azimuth , float $elevation )
bool shadowImage ( float $opacity , float $sigma , int $x , int $y )
bool sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
bool shaveImage ( int $columns , int $rows )
bool shearImage ( mixed $background , float $x_shear , float $y_shear )
bool sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )
bool sketchImage ( float $radius , float $sigma , float $angle )
bool solarizeImage ( int $threshold )
public boolean sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )
bool spliceImage ( int $width , int $height , int $x , int $y )
bool spreadImage ( float $radius )
Imagick steganoImage ( Imagick $watermark_wand , int $offset )
bool stereoImage ( Imagick $offset_wand )
bool stripImage ( void )
bool swirlImage ( float $degrees )
bool textureImage ( Imagick $texture_wand )
bool thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool thumbnailImage ( int $columns , int $rows [, bool $bestfit = false ] )
bool tintImage ( mixed $tint , mixed $opacity )
Imagick transformImage ( string $crop , string $geometry )
bool transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )
bool transposeImage ( void )
bool transverseImage ( void )
bool trimImage ( float $fuzz )
bool uniqueImageColors ( void )
bool unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
bool valid ( void )
bool vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )
bool waveImage ( float $amplitude , float $length )
bool whiteThresholdImage ( mixed $threshold )
bool writeImage ([ string $filename ] )
bool writeImageFile ( resource $filehandle )
bool writeImages ( string $filename , bool $adjoin )
bool writeImagesFile ( resource $filehandle )
}

Méthodes Image et méthodes globales

La classe Imagick permet d'agir sur plusieurs images simultanément et ce, grâce à une pile interne. Il y a toujours un pointeur interne, pointant sur l'image courante. Quelques fonctions agissent sur toutes les images d'une classe Imagick, mais la plupart uniquement sur l'image courante au regard de cette pile. Tout comme les conversions, les noms des méthodes peuvent contenir le nom de l'image, relatant uniquement l'effet sur l'image de la pile.

Méthodes de la classe

Vu le nombre de méthodes, voici une liste les présentant de façon générale :

Méthodes de la classe
Effets sur l'image | Méthodes de récupération | Méthodes de définition | Lecture/écriture de l'image | Autres
Imagick::adaptiveBlurImage | Imagick::getCompression | Imagick::setBackgroundColor | Imagick::__construct | Imagick::clear
Imagick::adaptiveResizeImage | Imagick::getFilename | Imagick::setCompressionQuality | Imagick::addImage | Imagick::clone
Imagick::adaptiveSharpenImage | Imagick::getFormat | Imagick::setCompression | Imagick::appendImages | Imagick::current
Imagick::adaptiveTresholdImage | Imagick::getImageBackgroundColor | Imagick::setFilename | Imagick::getFilename | Imagick::destroy
Imagick::addNoiseImage | Imagick::getImageBlob | Imagick::getImagesBlob | Imagick::setFormat | Imagick::getFormat | Imagick::getCopyright
Imagick::affinetransformimage | Imagick::getImageBluePrimary | Imagick::setImageBackgroundColor | Imagick::getImageFilename | Imagick::getHomeURL
Imagick::annotateImage | Imagick::getImageBorderColor | Imagick::setFirstIterator | Imagick::getImageFormat | Imagick::commentImage
Imagick::averageImages | Imagick::getImageChannelDepth | Imagick::setImageBias | Imagick::getImage | Imagick::getNumberImages
Imagick::blackThresholdImage | Imagick::getImageChannelDistortion | Imagick::setImageBluePrimary | Imagick::setImageFilename | Imagick::getReleaseDate
Imagick::blurImage | Imagick::getImageChannelExtrema | Imagick::setImageBorderColor | Imagick::setImageFormat | Imagick::getVersion
Imagick::borderImage | Imagick::getImageChannelMean | Imagick::setImageChannelDepth | Imagick::readImageFile | Imagick::hasNextImage
Imagick::charcoalImage | Imagick::getImageChannelStatistics | Imagick::setImageColormapColor | Imagick::readImage | Imagick::hasPreviousImage
Imagick::chopImage | Imagick::getImageColormapColor | Imagick::setImageColorSpace | Imagick::writeImages | Imagick::labelImage
Imagick::clipImage | Imagick::getImageColorspace | Imagick::setImageCompose | Imagick::writeImage | Imagick::newImage
Imagick::clipPathImage | Imagick::getImageColors | Imagick::setImageCompression |  | Imagick::newPseudoImage
Imagick::coalesceImages | Imagick::getImageCompose | Imagick::setImageDelay |  | Imagick::nextImage
Imagick::colorFloodFillImage | Imagick::getImageDelay | Imagick::setImageDepth |  | Imagick::pingImageBlob
Imagick::colorizeImage | Imagick::getImageDepth | Imagick::setImageDispose |  | Imagick::pingImageFile
Imagick::combineImages | Imagick::getImageDispose | Imagick::setImageDispose |  | Imagick::pingImage
Imagick::compareImageChannels | Imagick::getImageDistortion | Imagick::setImageExtent |  | Imagick::previousImage
Imagick::compareImageLayers | Imagick::getImageExtrema | Imagick::setImageFilename |  | Imagick::profileImage
Imagick::compositeImage | Imagick::getImageFilename | Imagick::setImageFormat |  | Imagick::queryFormats
Imagick::contrastImage | Imagick::getImageFormat | Imagick::setImageGamma |  | Imagick::removeImageProfile
Imagick::constrastStretchImage | Imagick::getImageGamma | Imagick::setImageGreenPrimary |  | Imagick::removeImage
Imagick::convolveImage | Imagick::getImageGeometry | Imagick::setImageIndex |  | Imagick::setFirstIterator
Imagick::cropImage | Imagick::getImageGreenPrimary | Imagick::setImageInterpolateMethod |  | Imagick::setImageIndex
Imagick::cycleColormapImage | Imagick::getImageHeight | Imagick::setImageIterations |  | Imagick::valid
Imagick::deconstructImages | Imagick::getImageHistogram | Imagick::setImageMatteColor |  |
Imagick::drawImage | Imagick::getImageIndex | Imagick::setImageMatte |  |
Imagick::edgeImage | Imagick::getImageInterlaceScheme | Imagick::setImagePage |  |
Imagick::embossImage | Imagick::getImageInterpolateMethod | Imagick::setImageProfile |  |
Imagick::enhanceImage | Imagick::getImageIterations | Imagick::setImageProperty |  |
Imagick::equalizeImage | Imagick::getImageMatteColor | Imagick::setImageRedPrimary |  |
Imagick::evaluateImage | Imagick::getImageMatte | Imagick::setImageRenderingIntent |  |
Imagick::flattenImages | Imagick::getImagePage | Imagick::setImageResolution |  |
Imagick::flipImage | Imagick::getImagePixelColor | Imagick::setImageScene |  |
Imagick::flopImage | Imagick::getImageProfile | Imagick::setImageTicksPerSecond |  |
Imagick::imageImage | Imagick::getImageProperty | Imagick::setImageType |  |
Imagick::fxImage | Imagick::getImageRedPrimary | Imagick::setImageUnits |  |
Imagick::gammaImage | Imagick::getImageRegion | Imagick::setImageVirtualPixelMethod |  |
Imagick::gaussianBlurImage | Imagick::getImageRenderingIntent | Imagick::setImageWhitepoint |  |
Imagick::implodeImage | Imagick::getImageResolution | Imagick::setInterlaceScheme |  |
Imagick::levelImage | Imagick::getImageScene | Imagick::setOption |  |
Imagick::linearStretchImage | Imagick::getImageSignature | Imagick::setPage |  |
Imagick::magnifyImage | Imagick::getImageTicksPerSecond | Imagick::setResolution |  |
Imagick::matteFloodFilleImage | Imagick::getImageTotalInkDensity | Imagick::setResourceLimit |  |
Imagick::medianFilterImage | Imagick::getImageType | Imagick::setSamplingFactors |  |
Imagick::minifyImage | Imagick::getImageUnits | Imagick::setSizeOffset |  |
Imagick::modulateImage | Imagick::getImageVirtualPixelMethod | Imagick::setSize |  |
Imagick::montageImage | Imagick::getImageWhitepoint | Imagick::setType |  |
Imagick::morphImages | Imagick::getImageWidth |  |  |
Imagick::mosaicImages | Imagick::getImage |  |  |
Imagick::motionBlurImage | Imagick::getInterlaceScheme |  |  |
Imagick::negateImage | Imagick::getNumberImages |  |  |
Imagick::normalizeImage | Imagick::getOption |  |  |
Imagick::oilPaintImage | Imagick::getPackageName |  |  |
Imagick::optimizeImageLayers | Imagick::getPage |  |  |
Imagick::paintOpaqueImage | Imagick::getPixelIterator |  |  |
Imagick::paintTransparentImage | Imagick::getPixelRegionIterator |  |  |
Imagick::posterizeImage | Imagick::getQuantumDepth |  |  |
Imagick::radialBlurImage | Imagick::getQuantumRange |  |  |
Imagick::raiseImage | Imagick::getResourceLimit |  |  |
Imagick::randomThresholdImage | Imagick::getResource |  |  |
Imagick::reduceNoiseImage | Imagick::getSamplingFactors |  |  |
Imagick::render | Imagick::getSizeOffset |  |  |
Imagick::resampleImage | Imagick::getSize |  |  |
Imagick::resizeImage | Imagick::identifyImage |  |  |
Imagick::rollImage | Imagick::getImageSize |  |  |
Imagick::rotateImage |  |  |  |
Imagick::sampleImage |  |  |  |
Imagick::scaleImage |  |  |  |
Imagick::separateImageChannel |  |  |  |
Imagick::sepiaToneImage |  |  |  |
Imagick::shadeImage |  |  |  |
Imagick::shadowImage |  |  |  |
Imagick::sharpenImage |  |  |  |
Imagick::shaveImage |  |  |  |
Imagick::shearImage |  |  |  |
Imagick::sigmoidalContrastImage |  |  |  |
Imagick::sketchImage |  |  |  |
Imagick::solarizeImage |  |  |  |
Imagick::spliceImage |  |  |  |
Imagick::spreadImage |  |  |  |
Imagick::steganoImage |  |  |  |
Imagick::stereoImage |  |  |  |
Imagick::stripImage |  |  |  |
Imagick::swirlImage |  |  |  |
Imagick::textureImage |  |  |  |
Imagick::thresholdImage |  |  |  |
Imagick::thumbnailImage |  |  |  |
Imagick::tintImage |  |  |  |
Imagick::transverseImage |  |  |  |
Imagick::trimImage |  |  |  |
Imagick::uniqueImageColors |  |  |  |
Imagick::unsharpMaskImage |  |  |  |
Imagick::vignetteImage |  |  |  |
Imagick::waveImage |  |  |  |
Imagick::whiteThresholdImage |  |  |  |

Sommaire

  • Imagick::adaptiveBlurImage — Ajout un flou adaptatif à l'image
  • Imagick::adaptiveResizeImage — Redimensionne adaptativement une image par triangulation
  • Imagick::adaptiveSharpenImage — Augmente le contraste de l'image
  • Imagick::adaptiveThresholdImage — Sélectionne le niveau de chaque pixel, à partir d'un intervalle d'intensité
  • Imagick::addImage — Ajoute une nouvelle image à la liste d'image Imagick
  • Imagick::addNoiseImage — Ajoute un bruit blanc à une image
  • Imagick::affineTransformImage — Transforme une image
  • Imagick::animateImages — Animates an image or images
  • Imagick::annotateImage — Annote une image avec un texte
  • Imagick::appendImages — Ajoute un jeu d'images
  • Imagick::averageImages — Moyenne d'un jeu d'images
  • Imagick::blackThresholdImage — Force tous les pixels au-delà d'un seuil à noir
  • Imagick::blurImage — Ajoute un filtre de flou à une image
  • Imagick::borderImage — Encadre une image avec un bord
  • Imagick::charcoalImage — Simule un dessin au fusain
  • Imagick::chopImage — Supprime une région d'une image et retaille
  • Imagick::clear — Libère toutes les ressources associées à un objet Imagick
  • Imagick::clipImage — S'aligne sur le premier chemin d'un profil 8BIM
  • Imagick::clipPathImage — Suit le chemin d'un profil 8BIM
  • Imagick::clone — Fait une copie exacte d'un objet Imagick
  • Imagick::clutImage — Remplace les couleurs d'une image
  • Imagick::coalesceImages — Compose un jeu d'images
  • Imagick::colorFloodfillImage — Change la couleur d'un pixel
  • Imagick::colorizeImage — Mélange la couleur de remplissage avec l'image
  • Imagick::combineImages — Combine plusieurs images en une seule
  • Imagick::commentImage — Ajoute un commentaire à une image
  • Imagick::compareImageChannels — Retourne la différence entre plusieurs images
  • Imagick::compareImageLayers — Retourne la région d'encadrement maximale entre deux images
  • Imagick::compareImages — Compare une image avec une image reconstituée
  • Imagick::compositeImage — Compose une image avec une autre
  • Imagick::__construct — Le constructeur Imagick
  • Imagick::contrastImage — Change le contraste de l'image
  • Imagick::contrastStretchImage — Améliore le contraste d'une image
  • Imagick::convolveImage — Applique un noyau de convolution à une image
  • Imagick::cropImage — Extrait une région d'une image
  • Imagick::cropThumbnailImage — Crée une miniature par retaillage
  • Imagick::current — Retourne une référence sur l'objet imagick courant
  • Imagick::cycleColormapImage — Déplace la carte des couleurs d'une image
  • Imagick::decipherImage — Deciphers an image
  • Imagick::deconstructImages — Retourne les différences de certains pixels entre deux images
  • Imagick::deskewImage — Removes skew from the image
  • Imagick::despeckleImage — Réduit le bruit speckle d'une image
  • Imagick::destroy — Détruit un objet Imagick
  • Imagick::displayImage — Affiche une image
  • Imagick::displayImages — Affiche une image ou une séquence
  • Imagick::distortImage — Déforme une image avec différentes méthodes
  • Imagick::drawImage — Affiche un objet ImagickDraw dans l'image courante
  • Imagick::edgeImage — Renforce les bords dans l'image
  • Imagick::embossImage — Retourne une image en niveau de gris, avec un effet 3D
  • Imagick::encipherImage — Enciphers an image
  • Imagick::enhanceImage — Améliore la qualité d'une image bruitée
  • Imagick::equalizeImage — Égalise l'histogramme d'une image
  • Imagick::evaluateImage — Applique une expression à une image
  • Imagick::exportImagePixels — Exports raw image pixels
  • Imagick::extentImage — Set image size
  • Imagick::flattenImages — Fusionne une séquence d'images
  • Imagick::flipImage — Crée une image par miroir vertical
  • Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
  • Imagick::flopImage — Crée une image par miroir horizontal
  • Imagick::frameImage — Ajoute un bord 3D
  • Imagick::functionImage — Applies a function on the image
  • Imagick::fxImage — Évalue une expression pour chaque pixel d'une image
  • Imagick::gammaImage — Applique une correction gamma à l'image
  • Imagick::gaussianBlurImage — Ajoute du flou à image
  • Imagick::getCompression — Lit le type de compression
  • Imagick::getCompressionQuality — Lit la qualité de la compression
  • Imagick::getCopyright — Retourne le copyright de l'API ImageMagick API
  • Imagick::getFilename — Lit le nom du fichier associé à une séquence
  • Imagick::getFont — Gets font
  • Imagick::getFormat — Retourne le format de l'image Imagick
  • Imagick::getGravity — Gets the gravity
  • Imagick::getHomeURL — Retourne l'URL de ImageMagick
  • Imagick::getImage — Retourne un nouvel objet Imagick
  • Imagick::getImageAlphaChannel — Gets the image alpha channel
  • Imagick::getImageBackgroundColor — Retourne la couleur de fond
  • Imagick::getImageBlob — Retourne la séquence d'images comme un blob
  • Imagick::getImageBluePrimary — Retourne la chromacité de la couleur bleue
  • Imagick::getImageBorderColor — Retourne la couleur de bordure de l'image
  • Imagick::getImageChannelDepth — Lit la profondeur d'un des canaux de l'image
  • Imagick::getImageChannelDistortion — Compare les canaux d'une image reconstituée
  • Imagick::getImageChannelDistortions — Gets channel distortions
  • Imagick::getImageChannelExtrema — Lit les extrêmes pour les canaux de l'image
  • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
  • Imagick::getImageChannelMean — Lit la moyenne et la déviation standard
  • Imagick::getImageChannelRange — Gets channel range
  • Imagick::getImageChannelStatistics — Retourne des statistiques sur chaque canal de l'image
  • Imagick::getImageClipMask — Gets image clip mask
  • Imagick::getImageColormapColor — Retourne la couleur à l'index de la carte de couleurs
  • Imagick::getImageColors — Lit le nombre de couleurs uniques de l'image
  • Imagick::getImageColorspace — Lit l'espace de couleurs de l'image
  • Imagick::getImageCompose — Retourne l'opérateur de composition associé à une image
  • Imagick::getImageCompression — Lit le type de compression de l'image
  • Imagick::getImageCompressionQuality — Lit la qualité de compression de l'image
  • Imagick::getImageDelay — Lit le délai de l'image
  • Imagick::getImageDepth — Lit la profondeur de l'image
  • Imagick::getImageDispose — Lit la méthode de récupération
  • Imagick::getImageDistortion — Compare une image à une image reconstituée
  • Imagick::getImageExtrema — Lit les extrêmes d'une image
  • Imagick::getImageFilename — Retourne le nom d'un fichier pour une image dans une séquence
  • Imagick::getImageFormat — Retourne le format d'une image dans une séquence
  • Imagick::getImageGamma — Lit le gamma de l'image
  • Imagick::getImageGeometry — Lit les dimensions de l'image dans un tableau
  • Imagick::getImageGravity — Gets the image gravity
  • Imagick::getImageGreenPrimary — Retourne la chromacité de la couleur verte
  • Imagick::getImageHeight — Retourne la hauteur de l'image
  • Imagick::getImageHistogram — Retourne l'histogramme de l'image
  • Imagick::getImageIndex — Lit l'index de l'image courante
  • Imagick::getImageInterlaceScheme — Lit le schéma d'entrelacement de l'image
  • Imagick::getImageInterpolateMethod — Retourne la méthode d'interpolation
  • Imagick::getImageIterations — Lit les itérations de l'image
  • Imagick::getImageLength — Retourne la taille de l'image en octets
  • Imagick::getImageMagickLicense — Retourne une chaîne avec la licence ImageMagick
  • Imagick::getImageMatte — Indique si l'image a un canal mat
  • Imagick::getImageMatteColor — Retourne la couleur mate de l'image
  • Imagick::getImageOrientation — Lit l'orientation de l'image
  • Imagick::getImagePage — Retourne la géométrie de la page
  • Imagick::getImagePixelColor — Retourne la couleur d'un pixel
  • Imagick::getImageProfile — Retourne un profil d'une image
  • Imagick::getImageProfiles — Retourne les profils de l'image
  • Imagick::getImageProperties — Retourne les propriétés EXIF de l'image
  • Imagick::getImageProperty — Retourne une propriété d'une image
  • Imagick::getImageRedPrimary — Retourne la chromacité du point rouge
  • Imagick::getImageRegion — Extrait une région d'une image
  • Imagick::getImageRenderingIntent — Lit la méthode de rendu de l'image
  • Imagick::getImageResolution — Lit les résolutions en X et Y d'une image
  • Imagick::getImagesBlob — Retourne toutes les images de la séquence en un BLOB
  • Imagick::getImageScene — Retourne la scène de l'image
  • Imagick::getImageSignature — Génère une signature SHA-256
  • Imagick::getImageSize — Retourne la taille de l'image en octets
  • Imagick::getImageTicksPerSecond — Lit les ticks-par-seconde de l'image
  • Imagick::getImageTotalInkDensity — Lit la densité totale d'encre de l'image
  • Imagick::getImageType — Lit le type possible d'image
  • Imagick::getImageUnits — Retourne les unités de résolution de l'image
  • Imagick::getImageVirtualPixelMethod — Retourne la méthode du pixel virtuel
  • Imagick::getImageWhitePoint — Retourne la chromacité du point blanc
  • Imagick::getImageWidth — Retourne la largeur de l'image
  • Imagick::getInterlaceScheme — Lit le schéma d'entrelacement de l'objet
  • Imagick::getIteratorIndex — Lit l'index de l'image active courante
  • Imagick::getNumberImages — Retourne le nombre d'images d'un objet
  • Imagick::getOption — Retourne la valeur d'une option
  • Imagick::getPackageName — Retourne le nom du paquet ImageMagick
  • Imagick::getPage — Retourne la géométrie de la page
  • Imagick::getPixelIterator — Retourne un MagickPixelIterator
  • Imagick::getPixelRegionIterator — Lit un objet ImagickPixelIterator pour une section d'image
  • Imagick::getPointSize — Gets point size
  • Imagick::getQuantumDepth — Lit la profondeur quantique
  • Imagick::getQuantumRange — Retourne l'intervalle quantique de Imagick
  • Imagick::getReleaseDate — Retourne la date de publication de ImageMagick
  • Imagick::getResource — Retourne la consommation de mémoire de la ressource
  • Imagick::getResourceLimit — Retourne la limite de la ressource
  • Imagick::getSamplingFactors — Lit le facteur d'échantillonnage horizontal et vertical
  • Imagick::getSize — Retourne la taille associée avec un objet Imagick
  • Imagick::getSizeOffset — Retourne la taille de la position
  • Imagick::getVersion — Retourne l'API de ImageMagick API
  • Imagick::haldClutImage — Replaces colors in the image
  • Imagick::hasNextImage — Vérifie si un objet a une image suivante
  • Imagick::hasPreviousImage — Vérifie si un objet a une image précédente
  • Imagick::identifyImage — Identifie une image et lit ses attributs
  • Imagick::implodeImage — Crée une nouvelle copie d'image
  • Imagick::importImagePixels — Imports image pixels
  • Imagick::labelImage — Ajoute un libelle à une image
  • Imagick::levelImage — Ajuste les niveaux de l'image
  • Imagick::linearStretchImage — Étire la saturation de l'intensité de l'image
  • Imagick::liquidRescaleImage — Animates an image or images
  • Imagick::magnifyImage — Double la taille d'une image, proportionnellement
  • Imagick::mapImage — Remplace la couleur d'une image par celle d'une image de référence
  • Imagick::matteFloodfillImage — Change la transparence d'une couleur
  • Imagick::medianFilterImage — Applique un filtre numérique
  • Imagick::mergeImageLayers — Merges image layers
  • Imagick::minifyImage — Met à l'échelle une image proportionnellement pour la réduire de moitié de taille
  • Imagick::modulateImage — Contrôle la saturation, l'intensité et la teinte
  • Imagick::montageImage — Crée une image composite
  • Imagick::morphImages — Réalise un morphing entre deux images
  • Imagick::mosaicImages — Forme une mosaïque d'images
  • Imagick::motionBlurImage — Ajout un flou de déplacement
  • Imagick::negateImage — Effectue la négation des couleurs d'une image de référence
  • Imagick::newImage — Crée une nouvelle image
  • Imagick::newPseudoImage — Crée une nouvelle image
  • Imagick::nextImage — Passe à la prochaine image
  • Imagick::normalizeImage — Améliore le contraste de l'image
  • Imagick::oilPaintImage — Simule une peinture à l'huile
  • Imagick::opaquePaintImage — Changes the color value of any pixel that matches target
  • Imagick::optimizeImageLayers — Supprime les portions récurrents d'images à optimiser
  • Imagick::orderedPosterizeImage — Effectue un dither ordonné
  • Imagick::colorFloodfillImage — Change les pixels qui sont d'une couleur
  • Imagick::paintOpaqueImage — Change les pixels qui sont d'une couleur
  • Imagick::paintTransparentImage — Remplit les pixels avec une couleur
  • Imagick::pingImage — Lit des attributs simples sans ouvrir une image
  • Imagick::pingImageBlob — Lit rapidement les attributs
  • Imagick::pingImageFile — Lit les attributs simples d'une image
  • Imagick::polaroidImage — Simule une photo Polaroid
  • Imagick::posterizeImage — Réduit une image à un nombre limité de couleurs
  • Imagick::previewImages — Teste rapidement différents paramètres pour un traitement d'images
  • Imagick::previousImage — Passe à l'image précédente dans une séquence d'images
  • Imagick::profileImage — Ajoute ou retire un profil d'une image
  • Imagick::quantizeImage — Analyse les couleurs dans une référence d'image
  • Imagick::quantizeImages — Analyse les couleurs d'une séquence d'images
  • Imagick::queryFontMetrics — Retourne un tableau représentant les dimensions de la police
  • Imagick::queryFonts — Retourne la liste de polices configurés
  • Imagick::queryFormats — Retourne les formats supportés par Imagick
  • Imagick::radialBlurImage — Flou radial d'une image
  • Imagick::raiseImage — Crée un effet 3D de bouton
  • Imagick::randomThresholdImage — Crée une image en deux couleurs, à haut contraste
  • Imagick::readImage — Lit une image depuis un fichier
  • Imagick::readImageBlob — Lit une image depuis une chaîne binaire
  • Imagick::readImageFile — Lit une image à partir d'une ressource fichier
  • Imagick::recolorImage — Recolors image
  • Imagick::reduceNoiseImage — Adoucit les contours d'une image
  • Imagick::remapImage — Remaps image colors
  • Imagick::removeImage — Retire une image de la liste
  • Imagick::removeImageProfile — Supprime le profil de l'image et le retourne
  • Imagick::render — Affiche toute les commandes de dessins précédentes
  • Imagick::resampleImage — Rééchantillonne l'image
  • Imagick::resetImagePage — Reset image page
  • Imagick::resizeImage — Redimensionne une image
  • Imagick::rollImage — Décale une image
  • Imagick::rotateImage — Tourne une image
  • Imagick::roundCorners — Arrondit les coins d'un image
  • Imagick::sampleImage — Met à l'échelle une image avec échantillonnage de pixels
  • Imagick::scaleImage — Met à l'échelle la taille de l'image
  • Imagick::segmentImage — Segments an image
  • Imagick::separateImageChannel — Sépare un canal d'une image
  • Imagick::sepiaToneImage — Passe une image en tons sépia
  • Imagick::setBackgroundColor — Configure la couleur de fond par défaut
  • Imagick::setCompression — Configure le type de compression de l'objet
  • Imagick::setCompressionQuality — Configure la compression par défaut de l'objet
  • Imagick::setFilename — Configure le nom du fichier d'image avant d'y accéder
  • Imagick::setFirstIterator — Place l'itérateur de Imagick sur la première image
  • Imagick::setFont — Configure la police
  • Imagick::setFormat — Configure le format de l'objet Imagick
  • Imagick::setGravity — Sets the gravity
  • Imagick::setImage — Remplace l'image dans l'objet
  • Imagick::setImageAlphaChannel — Sets image alpha channel
  • Imagick::setImageBackgroundColor — Configure la couleur de fond d'image
  • Imagick::setImageBias — Configure le biais pour les convolutions
  • Imagick::setImageBluePrimary — Configure la chromacité du point bleu
  • Imagick::setImageBorderColor — Configure la couleur de bordure
  • Imagick::setImageChannelDepth — Configure la profondeur d'un canal
  • Imagick::setImageClipMask — Sets image clip mask
  • Imagick::setImageColormapColor — Configure une couleur de la carte
  • Imagick::setImageColorspace — Configure l'espace de couleurs de l'image
  • Imagick::setImageCompose — Configure l'opérateur de composition de l'image
  • Imagick::setImageCompression — Configure la compression de l'image
  • Imagick::setImageCompressionQuality — Spécifie la qualité de compression de l'image
  • Imagick::setImageDelay — Configure le délai de l'image
  • Imagick::setImageDepth — Configure la profondeur de l'image
  • Imagick::setImageDispose — Configure la méthode de récupération
  • Imagick::setImageExtent — Configure la taille d'une image
  • Imagick::setImageFilename — Configure le nom de fichier d'une image dans une séquence
  • Imagick::setImageFormat — Configure le format d'une image dans une séquence
  • Imagick::setImageGamma — Configure la correction gamma
  • Imagick::setImageGravity — Sets the image gravity
  • Imagick::setImageGreenPrimary — Configure la chromacité du point vert
  • Imagick::setImageIndex — Modifie la position de l'itérateur
  • Imagick::setImageInterlaceScheme — Configure la méthode d'entrelacement de l'image
  • Imagick::setImageInterpolateMethod — Configure la méthode d'interpolation de l'image
  • Imagick::setImageIterations — Configure les itérations de l'image
  • Imagick::setImageMatte — Configure le canal mate de l'image
  • Imagick::setImageMatteColor — Configure la couleur mate
  • Imagick::setImageOpacity — Configure le niveau d'opacité de l'image
  • Imagick::setImageOrientation — Configure l'orientation de l'image
  • Imagick::setImagePage — Configure la géométrie de la page de l'image
  • Imagick::setImageProfile — Ajoute un profil à un objet Imagick
  • Imagick::setImageProperty — Configure une propriété d'image
  • Imagick::setImageRedPrimary — Configure la chromacité du point rouge
  • Imagick::setImageRenderingIntent — Configure le type de rendu de l'image
  • Imagick::setImageResolution — Configure la résolution de l'image
  • Imagick::setImageScene — Configure la scène de l'image
  • Imagick::setImageTicksPerSecond — Configure le nombre e tick par seconde de l'image
  • Imagick::setImageType — Configure le type d'image
  • Imagick::setImageUnits — Configure les unités de résolutions de l'image
  • Imagick::setImageVirtualPixelMethod — Configure la méthode du point virtuel de l'image
  • Imagick::setImageWhitePoint — Configure la chromacité du point blanc
  • Imagick::setInterlaceScheme — Configure la compression de l'image
  • Imagick::setIteratorIndex — Déplace l'itérateur
  • Imagick::setLastIterator — Positionne l'itérateur Imagick à la dernière image
  • Imagick::setOption — Configure une option d'un objet Imagick
  • Imagick::setPage — Configure la géométrie de la page de l'objet Imagick
  • Imagick::setPointSize — Sets point size
  • Imagick::setResolution — Configure la résolution de l'image
  • Imagick::setResourceLimit — Configure la taille limite d'une ressource
  • Imagick::setSamplingFactors — Configure les facteurs d'échantillonnage de l'image
  • Imagick::setSize — Configure la taille de l'objet Imagick
  • Imagick::setSizeOffset — Configure la taille et la position de l'objet Imagick
  • Imagick::setType — Configure l'attribut de l'image
  • Imagick::shadeImage — Crée un effet 3D
  • Imagick::shadowImage — Simule une ombre sur l'image
  • Imagick::sharpenImage — Aiguise une image
  • Imagick::shaveImage — Supprime les pixels du bord de l'image
  • Imagick::shearImage — Crée un parallélogramme
  • Imagick::sigmoidalContrastImage — Ajuste le contraste de l'image
  • Imagick::sketchImage — Simule un crayon à main levée
  • Imagick::solarizeImage — Applique un effet de solarisation à l'image
  • Imagick::sparseColorImage — Interpolates colors
  • Imagick::spliceImage — Joint une couleur solide dans l'image
  • Imagick::spreadImage — Bouge aléatoirement chaque pixel d'un bloc
  • Imagick::steganoImage — Cache un filigrane digital dans l'image
  • Imagick::stereoImage — Fusionne 2 images
  • Imagick::stripImage — Supprime d'une image tous les profiles et les commentaires
  • Imagick::swirlImage — Tourbillonne les pixels du centre de l'image
  • Imagick::textureImage — Répète les carreaux de la texture d'une image
  • Imagick::thresholdImage — Modifie la valeur des pixels individuels, basée sur un seuil
  • Imagick::thumbnailImage — Modifie la taille d'une image
  • Imagick::tintImage — Applique un vecteur de couleur à chaque pixel de l'image
  • Imagick::transformImage — Méthode de convenance pour définir la taille de rognage et la géométrie de l'image
  • Imagick::transparentPaintImage — Paints pixels transparent
  • Imagick::transposeImage — Applique une symétrie verticale
  • Imagick::transverseImage — Crée un miroir horizontal de l'image
  • Imagick::trimImage — Supprime les bords de l'image
  • Imagick::uniqueImageColors — Ne conserve qu'une couleur de pixel
  • Imagick::unsharpMaskImage — Rend une image plus nette
  • Imagick::valid — Vérifie si l'élément courant est valide
  • Imagick::vignetteImage — Ajout un filtre vignette à l'image
  • Imagick::waveImage — Ajoute un filtre de vagues à l'image
  • Imagick::whiteThresholdImage — Force tous les pixels en dessous du seuil en blanc
  • Imagick::writeImage — Écrit une image dans le fichier spécifié
  • Imagick::writeImageFile — Writes an image to a filehandle
  • Imagick::writeImages — Écrit une image ou une séquence d'images
  • Imagick::writeImagesFile — Writes frames to a filehandle
Exemples
Imagick::adaptiveBlurImage
ImageMagick


Ajout un flou adaptatif à l'image

La classe Imagick
Imagick::adaptiveResizeImage
La classe Imagick
PHP Manual

Imagick::adaptiveBlurImage

(PECL imagick 2.0.0)

Imagick::adaptiveBlurImage — Ajout un flou adaptatif à l'image

Description

bool Imagick::adaptiveBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Ajout un flou adaptatif à l'image. L'intensité du flou est diminué aux bords de l'image, mais uniforme au centre. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

radius

Le rayon de la gaussienne, en pixel, sans compter le centre. Avec une valeur de 0 et le rayon sera choisi automatiquement.

sigma

La déviation standard de la gaussienne, en pixel.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::adaptiveBlurImage()

Flou adaptative d'une image, puis affichage au navigateur.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Utilisation de Imagick::adaptiveBlurImage()

Voir aussi

  • Imagick::blurImage() - Ajoute un filtre de flou à une image
  • Imagick::motionBlurImage() - Ajout un flou de déplacement
  • Imagick::radialBlurImage() - Flou radial d'une image

La classe Imagick
Imagick::adaptiveResizeImage
La classe Imagick


Redimensionne adaptativement une image par triangulation

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
La classe Imagick
PHP Manual

Imagick::adaptiveResizeImage

(PECL imagick 2.0.0)

Imagick::adaptiveResizeImage — Redimensionne adaptativement une image par triangulation

Description

bool Imagick::adaptiveResizeImage ( int $columns , int $rows [, bool $bestfit = false ] )

Redimensionne une image adaptativement par triangulation. Cette fonction évite les effets de flou dans les images à contraste fort. Elle fonctionne au mieux avec des images qu'il faut réduire légèrement à une taille Web standard; ne fonctionne pas toujours quand il faut réduire une grosse image à une miniature. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Note: Le comportement du paramètre bestfit a changé avec Imagick 3.0.0. Avant cette version, fournir les dimensions 400x400 à une image de dimensions 200x150 faisait que la partie gauche était inchangée. Avec Imagick 3.0.0 et suivants, l'image est réduite à la taille 400x300, sachant que c'est le meilleur résultat pour ces dimensions. Si le paramètre bestfit est utilisé, la largeur et la hauteur doivent être fournies.

Liste de paramètres

columns

Le nombre de colonnes dans l'image cible.

rows

Le nombre de lignes dans l'image cible.

bestfit

Indique s'il faut conserver l'image dans le rectangle de délimitation.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Ajout d'un paramètre optionnel de fit.
2.1.0 | Cette méthode supporte maintenant la mise à l'échelle proportionnelle. Utilisez la valeur zéro comme paramètre pour une mise à l'échelle proportionnelle.

Exemples

Exemple #1 Exemple avec Imagick::adaptiveResizeImage()

Redimensionne un image à une taille standard pour le Web. Cette méthode fonctionne au mieux lorsqu'il faut redimensionner à une taille légèrement inférieur à l'image précédente.

<?php
header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

Voir aussi

  • Imagick::chopImage() - Supprime une région d'une image et retaille
  • Imagick::cropImage() - Extrait une région d'une image
  • Imagick::magnifyImage() - Double la taille d'une image, proportionnellement
  • Imagick::minifyImage() - Met à l'échelle une image proportionnellement pour la réduire de moitié de taille
  • Imagick::resizeImage() - Redimensionne une image
  • Imagick::scaleImage() - Met à l'échelle la taille de l'image
  • Imagick::shaveImage() - Supprime les pixels du bord de l'image
  • Imagick::thumbnailImage() - Modifie la taille d'une image
  • Imagick::trimImage() - Supprime les bords de l'image

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
La classe Imagick


Augmente le contraste de l'image

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
La classe Imagick
PHP Manual

Imagick::adaptiveSharpenImage

(PECL imagick 2.0.0)

Imagick::adaptiveSharpenImage — Augmente le contraste de l'image

Description

bool Imagick::adaptiveSharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Augment le contraste adaptativement, en l'augmentant au niveau des bords, et en le diminuant dans le coeur. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

radius

Le rayon de la gaussienne, en pixel, sans compter le pixel du centre. Utilisez 0 pour l'auto-sélection.

sigma

La déviation standard de la gaussienne, en pixel.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::adaptiveSharpenImage()

Augmente le contraste de l'image d'un rayon de 2 et un sigma de 1

<?php
try {
    $image = new Imagick('image.png');
    $image->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
    echo 'Erreur : ' , $e->getMessage();
    die();
}
header('Content-type: image/png');
echo $image;
?>

Voir aussi

  • Imagick::sharpenImage() - Aiguise une image

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
La classe Imagick


Sélectionne le niveau de chaque pixel, à partir d'un intervalle d'intensité

Imagick::adaptiveSharpenImage
Imagick::addImage
La classe Imagick
PHP Manual

Imagick::adaptiveThresholdImage

(PECL imagick 2.0.0)

Imagick::adaptiveThresholdImage — Sélectionne le niveau de chaque pixel, à partir d'un intervalle d'intensité

Description

bool Imagick::adaptiveThresholdImage ( int $width , int $height , int $offset )

Sélectionne le niveau individuel de chaque pixel, en se basant sur un intervalle d'intensité, dans le voisinage. Cela permet d'applique une fonction de seuil à une image dont l'histogramme ne contient pas de pic distinct.

Liste de paramètres

width

La largeur du voisinage.

height

La hauteur du voisinage.

offset

La moyenne de la position.

Valeurs de retour

Returns TRUE on success.

Imagick::adaptiveSharpenImage
Imagick::addImage
La classe Imagick


Ajoute une nouvelle image à la liste d'image Imagick

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
La classe Imagick
PHP Manual

Imagick::addImage

(PECL imagick 2.0.0)

Imagick::addImage — Ajoute une nouvelle image à la liste d'image Imagick

Description

bool Imagick::addImage ( Imagick $source )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute une nouvelle image à la liste d'image Imagick, à partir de la position courante de l'objet source. Après cette opération, l'itérateur est placé à la fin de la liste.

Liste de paramètres

source

L'objet source Imagick.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
La classe Imagick


Ajoute un bruit blanc à une image

Imagick::addImage
Imagick::affineTransformImage
La classe Imagick
PHP Manual

Imagick::addNoiseImage

(PECL imagick 2.0.0)

Imagick::addNoiseImage — Ajoute un bruit blanc à une image

Description

bool Imagick::addNoiseImage ( int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un bruit blanc à une image.

Liste de paramètres

noise_type

Le type de bruit, dans la liste des constantes de bruit.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Imagick::addImage
Imagick::affineTransformImage
La classe Imagick


Transforme une image

Imagick::addNoiseImage
Imagick::animateImages
La classe Imagick
PHP Manual

Imagick::affineTransformImage

(PECL imagick 2.0.0)

Imagick::affineTransformImage — Transforme une image

Description

bool Imagick::affineTransformImage ( ImagickDraw $matrix )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Transforme une image, à l'aide d'une matrice affine.

Liste de paramètres

matrix

La matrice affine.

Valeurs de retour

Returns TRUE on success.

Imagick::addNoiseImage
Imagick::animateImages
La classe Imagick


Animates an image or images

Imagick::affineTransformImage
Imagick::annotateImage
La classe Imagick
PHP Manual

Imagick::animateImages

(No version information available, might only be in SVN)

Imagick::animateImages — Animates an image or images

Description

bool Imagick::animateImages ( string $x_server )

This method animates the image onto a local or remote X server. This method is not available on Windows. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

x_server

X server address

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::displayImage() - Affiche une image

Imagick::affineTransformImage
Imagick::annotateImage
La classe Imagick


Annote une image avec un texte

Imagick::animateImages
Imagick::appendImages
La classe Imagick
PHP Manual

Imagick::annotateImage

(PECL imagick 2.0.0)

Imagick::annotateImage — Annote une image avec un texte

Description

bool Imagick::annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )

Annote une image avec un texte.

Liste de paramètres

draw_settings

L'objet ImagickDraw qui contient les directives pour dessiner le texte

x

La position horizontale du texte, en pixel depuis la gauche du texte

y

La position verticale du texte, en pixel depuis la ligne de base du texte

angle

L'angle auquel écrire le texte

text

La chaîne à dessiner

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::annotateImage()

Annote un texte dans une image vide

<?php
/* Création de quelques objets */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* Nouvelle image */
$image->newImage(800, 75, $pixel);

/* Texte noir */
$pixel->setFillColor('black');

/* Propriétées du texte */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Création du texte */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Format de l'image */
$image->setImageFormat('png');

/* Affichage de l'image avec les entêtes */
header('Content-type: image/png');
echo $image;

?>

Voir aussi

  • ImagickDraw::annotation() - Dessine un texte sur une image
  • ImagickDraw::setFont() - Configure la police complète pour les textes

Imagick::animateImages
Imagick::appendImages
La classe Imagick


Ajoute un jeu d'images

Imagick::annotateImage
Imagick::averageImages
La classe Imagick
PHP Manual

Imagick::appendImages

(PECL imagick 2.0.0)

Imagick::appendImages — Ajoute un jeu d'images

Description

Imagick Imagick::appendImages ( bool $stack )

Ajoute un jeu d'images dans une image plus large.

Liste de paramètres

stack

La direction de la pile (du haut vers le bas, ou bien le bas vers le haut).

Valeurs de retour

Retourne un nouvel objet Imagick en cas de succès. Émet une exception ImagickException en cas d'échec.

Exemples

Exemple #1 Exemple avec Imagick::appendImages

<?php

/* Crée un nouvel objet imagick */
$im = new Imagick();

/* Crée des images rouges, vertes et bleues */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Ajoute les images dans une autre */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Affiche l'image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Imagick::appendImages()

Imagick::annotateImage
Imagick::averageImages
La classe Imagick


Moyenne d'un jeu d'images

Imagick::appendImages
Imagick::blackThresholdImage
La classe Imagick
PHP Manual

Imagick::averageImages

(PECL imagick 2.0.0)

Imagick::averageImages — Moyenne d'un jeu d'images

Description

Imagick Imagick::averageImages ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fait la moyenne d'un jeu d'images.

Valeurs de retour

Retourne un nouvel objet Imagick en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::appendImages
Imagick::blackThresholdImage
La classe Imagick


Force tous les pixels au-delà d'un seuil à noir

Imagick::averageImages
Imagick::blurImage
La classe Imagick
PHP Manual

Imagick::blackThresholdImage

(PECL imagick 2.0.0)

Imagick::blackThresholdImage — Force tous les pixels au-delà d'un seuil à noir

Description

bool Imagick::blackThresholdImage ( mixed $threshold )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Équivalent de la fonction Imagick::thresholdImage(), mais force tous les pixels au-delà du seuil threshold en noir, et laisse les autres pixels inchangés.

Liste de paramètres

threshold

Le seuil en dessous duquel tout doit devenir noir

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::averageImages
Imagick::blurImage
La classe Imagick


Ajoute un filtre de flou à une image

Imagick::blackThresholdImage
Imagick::borderImage
La classe Imagick
PHP Manual

Imagick::blurImage

(PECL imagick 2.0.0)

Imagick::blurImage — Ajoute un filtre de flou à une image

Description

bool Imagick::blurImage ( float $radius , float $sigma [, int $channel ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un filtre de flou à une image. Le troisième paramètre channel, optionnel, ajoute le flou à un canal particulier.

Liste de paramètres

radius

Le rayon du flou

sigma

La déviation standard

channel

La constante de type de canal. Si elle n'est pas fournie, tous les canaux sont utilisés.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::blurImage()

Ajoute du flou à une image, puis affiche dans le navigateur.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

Voir aussi

  • Imagick::adaptiveBlurImage() - Ajout un flou adaptatif à l'image
  • Imagick::motionBlurImage() - Ajout un flou de déplacement
  • Imagick::radialBlurImage() - Flou radial d'une image

Imagick::blackThresholdImage
Imagick::borderImage
La classe Imagick


Encadre une image avec un bord

Imagick::blurImage
Imagick::charcoalImage
La classe Imagick
PHP Manual

Imagick::borderImage

(PECL imagick 2.0.0)

Imagick::borderImage — Encadre une image avec un bord

Description

bool Imagick::borderImage ( mixed $bordercolor , int $width , int $height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Encadre une image avec un bord de couleur, défini par l'attribut bordercolor d'un objet ImagickPixel.

Liste de paramètres

bordercolor

Objet ImagickPixel ou une chaîne contenant la couleur du bord

width

La largeur du bord

height

La hauteur du bord

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::blurImage
Imagick::charcoalImage
La classe Imagick


Simule un dessin au fusain

Imagick::borderImage
Imagick::chopImage
La classe Imagick
PHP Manual

Imagick::charcoalImage

(PECL imagick 2.0.0)

Imagick::charcoalImage — Simule un dessin au fusain

Description

bool Imagick::charcoalImage ( float $radius , float $sigma )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Simule un dessin au fusain

Liste de paramètres

radius

Le rayon de la gaussienne, en pixel, sans compter le pixel du centre

sigma

La déviation standard de la gaussienne, en pixel

Valeurs de retour

Returns TRUE on success.

Imagick::borderImage
Imagick::chopImage
La classe Imagick


Supprime une région d'une image et retaille

Imagick::charcoalImage
Imagick::clear
La classe Imagick
PHP Manual

Imagick::chopImage

(PECL imagick 2.0.0)

Imagick::chopImage — Supprime une région d'une image et retaille

Description

bool Imagick::chopImage ( int $width , int $height , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Supprime une région d'une image et retaille et déplace le reste de l'image pour occuper la portion coupée.

Liste de paramètres

width

La largeur de la région à retirer

height

La hauteur de la région à retirer

x

L'abscisse de la région retirée

y

L'ordonnée de la région retirée

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::chopImage()

Exemple avec Imagick::chopImage

<?php
/* Crée un objet */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* Nouvelle image */
$image->newImage(400, 200, $pixel);

/* Découpe l'image */
$image->chopImage(200, 200, 0, 0);

/* Donne un format à l'image */
$image->setImageFormat('png');

/* Envoie l'image */
header('Content-type: image/png');
echo $image;

?>

Voir aussi

  • Imagick::cropImage() - Extrait une région d'une image

Imagick::charcoalImage
Imagick::clear
La classe Imagick


Libère toutes les ressources associées à un objet Imagick

Imagick::chopImage
Imagick::clipImage
La classe Imagick
PHP Manual

Imagick::clear

(PECL imagick 2.0.0)

Imagick::clear — Libère toutes les ressources associées à un objet Imagick

Description

bool Imagick::clear ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Libère toutes les ressources associées à un objet Imagick.

Valeurs de retour

Returns TRUE on success.

Imagick::chopImage
Imagick::clipImage
La classe Imagick


S'aligne sur le premier chemin d'un profil 8BIM

Imagick::clear
Imagick::clipPathImage
La classe Imagick
PHP Manual

Imagick::clipImage

(PECL imagick 2.0.0)

Imagick::clipImage — S'aligne sur le premier chemin d'un profil 8BIM

Description

bool Imagick::clipImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

S'aligne sur le premier chemin d'un profil 8BIM, si présent.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::clear
Imagick::clipPathImage
La classe Imagick


Suit le chemin d'un profil 8BIM

Imagick::clipImage
Imagick::clone
La classe Imagick
PHP Manual

Imagick::clipPathImage

(PECL imagick 2.0.0)

Imagick::clipPathImage — Suit le chemin d'un profil 8BIM

Description

bool Imagick::clipPathImage ( string $pathname , bool $inside )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Suit le chemin d'un profil 8BIM, s'il est présent. Les opérations suivantes auront lieux dans ce chemin. Cela peut être un nombre, s'il est précédé par #, pour utiliser un chemin numéroté, e.g., "#1" pour utiliser le premier chemin.

Liste de paramètres

pathname

Le nom du chemin

inside

Si TRUE les prochaines opérations auront lieu dans le chemin. Sinon, les prochaines opérations auront lieux hors du chemin.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::clipImage
Imagick::clone
La classe Imagick


Fait une copie exacte d'un objet Imagick

Imagick::clipPathImage
Imagick::clutImage
La classe Imagick
PHP Manual

Imagick::clone

(PECL imagick 2.0.0)

Imagick::clone — Fait une copie exacte d'un objet Imagick

Description

Imagick Imagick::clone ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fait une copie exacte d'un objet Imagick.

Valeurs de retour

Aucune valeur n'est retournée.

Imagick::clipPathImage
Imagick::clutImage
La classe Imagick


Remplace les couleurs d'une image

Imagick::clone
Imagick::coalesceImages
La classe Imagick
PHP Manual

Imagick::clutImage

(PECL imagick 2.0.0)

Imagick::clutImage — Remplace les couleurs d'une image

Description

bool Imagick::clutImage ( Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT ] )

Remplace les couleurs dans l'image à l'aide d'une table de correspondance. Un second paramètre optionnel remplace les couleurs dans un canal particulier. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

lookup_table

Un objet Imagick contenant la table de correspondance

channel

La constante de type de canal. S'il n'est pas fourni, les canaux par défaut sont utilisés.

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::clutImage()

Remplace les couleurs dans une image à partir d'une table de correspondance

<?php
$image = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$image->clutImage($clut);
$image->writeImage('test_out.jpg');
?>

Voir aussi

  • Imagick::adaptiveBlurImage() - Ajout un flou adaptatif à l'image
  • Imagick::motionBlurImage() - Ajout un flou de déplacement
  • Imagick::radialBlurImage() - Flou radial d'une image

Imagick::clone
Imagick::coalesceImages
La classe Imagick


Compose un jeu d'images

Imagick::clutImage
Imagick::colorFloodfillImage
La classe Imagick
PHP Manual

Imagick::coalesceImages

(PECL imagick 2.0.0)

Imagick::coalesceImages — Compose un jeu d'images

Description

Imagick Imagick::coalesceImages ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compose un jeu d'image en respectant toutes les positions et les méthodes de dispositions. Les séquences d'animations GIF, MIFF, et MNG, commencent typiquement par une image une fond, puis toutes les images suivantes varient en taille et position. Retourne un nouvel objet Imagick où chaque image de la séquence est de la même taille que la première, et composée avec la suivante dans la séquence.

Valeurs de retour

Retourne un nouvel objet Imagick en cas de succès. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::clutImage
Imagick::colorFloodfillImage
La classe Imagick


Change la couleur d'un pixel

Imagick::coalesceImages
Imagick::colorizeImage
La classe Imagick
PHP Manual

Imagick::colorFloodfillImage

(PECL imagick 2.0.0)

Imagick::colorFloodfillImage — Change la couleur d'un pixel

Description

bool Imagick::colorFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Change la couleur d'un pixel qui correspond à une cible, et ses voisins immédiats.

Liste de paramètres

fill

L'objet ImagickPixel contenant la couleur de remplissage

fuzz

La quantité de bruit. Par exemple, un bruit de 10 et la couleur rouge à l'intensité de 100 et 102, respectivement, sont maintenant interprété comme la même couleur, dans le cadre de ce remplissage.

bordercolor

L'objet ImagickPixel contenant la couleur de frontière

x

L'abscisse de début de remplissage

y

L'ordonnée de début de remplissage

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet maintenant à une chaîne représentant la couleur comme premier argument et troisième paramètre. Les versions précédentes n'autorisaient que les objets ImagickPixel.

Imagick::coalesceImages
Imagick::colorizeImage
La classe Imagick


Mélange la couleur de remplissage avec l'image

Imagick::colorFloodfillImage
Imagick::combineImages
La classe Imagick
PHP Manual

Imagick::colorizeImage

(PECL imagick 2.0.0)

Imagick::colorizeImage — Mélange la couleur de remplissage avec l'image

Description

bool Imagick::colorizeImage ( mixed $colorize , mixed $opacity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Mélange la couleur de remplissage avec l'image.

Liste de paramètres

colorize

L'objet ImagickPixel ou une chaîne contenant la couleur de colorisation

opacity

L'objet ImagickPixel ou un nombre décimal contenant la valeur de l'opacité. 1.0 est totalement opaque, et 0.0 est totalement transparent.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Maintenant, permet à une chaîne représentant la couleur comme premier argument et un décimal représentant l'opacité comme second paramètre. Les version précédentes ne permettait que l'utilisation d'objet ImagickPixel.

Imagick::colorFloodfillImage
Imagick::combineImages
La classe Imagick


Combine plusieurs images en une seule

Imagick::colorizeImage
Imagick::commentImage
La classe Imagick
PHP Manual

Imagick::combineImages

(PECL imagick 2.0.0)

Imagick::combineImages — Combine plusieurs images en une seule

Description

Imagick Imagick::combineImages ( int $channelType )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Combine une ou plusieurs images en une seule. Les niveaux de gris des pixels de chaque images en séquence sont assignés en ordre à des canaux spécifiés de l'image combiné. L'ordre typique serait image 1 => Rouge, 2 => Vert, 3 => Bleu, etc.

Liste de paramètres

channelType

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::colorizeImage
Imagick::commentImage
La classe Imagick


Ajoute un commentaire à une image

Imagick::combineImages
Imagick::compareImageChannels
La classe Imagick
PHP Manual

Imagick::commentImage

(PECL imagick 2.0.0)

Imagick::commentImage — Ajoute un commentaire à une image

Description

bool Imagick::commentImage ( string $comment )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un commentaire à une image.

Liste de paramètres

comment

Le commentaire à ajouter.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::commentImage()

Ajout d'un commentaire d'image et lecture du commentaire

<?php

/* Crée un nouvel objet Imagick */
$im = new imagick();

/* Création d'une image vide */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Ajoute un commentaire à une image */
$im->commentImage("Bonjour le monde!");

/* Affichage du commentaire */
echo $im->getImageProperty("commentaire");

?>

Imagick::combineImages
Imagick::compareImageChannels
La classe Imagick


Retourne la différence entre plusieurs images

Imagick::commentImage
Imagick::compareImageLayers
La classe Imagick
PHP Manual

Imagick::compareImageChannels

(PECL imagick 2.0.0)

Imagick::compareImageChannels — Retourne la différence entre plusieurs images

Description

array Imagick::compareImageChannels ( Imagick $image , int $channelType , int $metricType )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compare une ou plusieurs images et retourne la différence.

Liste de paramètres

image

un objet Imagick contenant l'image à comparer

channelType

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

metricType

Une des constantes de type de métrique.

Valeurs de retour

Un tableau contenant new_wand et distortion.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::commentImage
Imagick::compareImageLayers
La classe Imagick


Retourne la région d'encadrement maximale entre deux images

Imagick::compareImageChannels
Imagick::compareImages
La classe Imagick
PHP Manual

Imagick::compareImageLayers

(PECL imagick 2.0.0)

Imagick::compareImageLayers — Retourne la région d'encadrement maximale entre deux images

Description

Imagick Imagick::compareImageLayers ( int $method )

Compare chaque image avec la suivante, dans la séquence, et retourne la région d'encadrement maximale de chaque pixel différent entre les images. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

method

Une des constantes de méthode de couche.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::compareImageLayers()

Comparaison de deux calques d'image

<?php
/* création d'un nouvel objet imagick */
$im = new Imagick("test.gif");

/* optimisation des calques */
$result = $im->compareImageLayers(imagick::LAYERMETHOD_COALESCE);

/* Travail sur le résultat */
?>

Voir aussi

  • Imagick::optimizeImageLayers() - Supprime les portions récurrents d'images à optimiser
  • Imagick::writeImages() - Écrit une image ou une séquence d'images
  • Imagick::writeImage() - Écrit une image dans le fichier spécifié

Imagick::compareImageChannels
Imagick::compareImages
La classe Imagick


Compare une image avec une image reconstituée

Imagick::compareImageLayers
Imagick::compositeImage
La classe Imagick
PHP Manual

Imagick::compareImages

(PECL imagick 2.0.0)

Imagick::compareImages — Compare une image avec une image reconstituée

Description

array Imagick::compareImages ( Imagick $compare , int $metric )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un tableau contenant l'image reconstituée et les différences entre les images.

Liste de paramètres

compare

Une image à comparer.

metric

Une constante de type de métrique. Voyez la liste des constantes de métriques.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::compareImages()

Compare des images et affiche l'image reconstituée

<?php

$image1 = new imagick("image1.png");
$image2 = new imagick("image2.png");

$result = $image1->compareImages($image2, Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $result[0];

?>

Imagick::compareImageLayers
Imagick::compositeImage
La classe Imagick


Compose une image avec une autre

Imagick::compareImages
Imagick::__construct
La classe Imagick
PHP Manual

Imagick::compositeImage

(PECL imagick 2.0.0)

Imagick::compositeImage — Compose une image avec une autre

Description

bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compose une image dans une autre, à la position donné.

Liste de paramètres

composite_object

Objet Imagick qui contient l'image composite

compose

L'opérateur de composition. Voyez la liste des constantes d'opérateurs de composition

x

La colonne de position dans l'image composée

y

La ligne de position dans l'image composée

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Imagick::compareImages
Imagick::__construct
La classe Imagick


Le constructeur Imagick

Imagick::compositeImage
Imagick::contrastImage
La classe Imagick
PHP Manual

Imagick::__construct

(PECL imagick 2.0.0)

Imagick::__construct — Le constructeur Imagick

Description

Imagick Imagick::__construct ([ mixed $files ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Le constructeur Imagick

Liste de paramètres

files

Le chemin jusqu'à l'image à charger, ou un tableau de chemins.

Valeurs de retour

Retourne un nouvel objet Imagick, en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::compositeImage
Imagick::contrastImage
La classe Imagick


Change le contraste de l'image

Imagick::__construct
Imagick::contrastStretchImage
La classe Imagick
PHP Manual

Imagick::contrastImage

(PECL imagick 2.0.0)

Imagick::contrastImage — Change le contraste de l'image

Description

bool Imagick::contrastImage ( bool $sharpen )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Améliore l'intensité des différences entre les éléments clairs et sombres de l'image. Donnez une valeur différente de zéro si vous voulez améliorer le contraste, et sinon, il sera réduit.

Liste de paramètres

sharpen

La valeur de contraste.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::__construct
Imagick::contrastStretchImage
La classe Imagick


Améliore le contraste d'une image

Imagick::contrastImage
Imagick::convolveImage
La classe Imagick
PHP Manual

Imagick::contrastStretchImage

(PECL imagick 2.0.0)

Imagick::contrastStretchImage — Améliore le contraste d'une image

Description

bool Imagick::contrastStretchImage ( float $black_point , float $white_point [, int $channel = Imagick::CHANNEL_ALL ] )

Améliore le contraste d'une image en ajustant les couleurs des des pixels sur l'ensemble de la gamme des couleurs. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

black_point

Le point noir.

white_point

Le point blanc.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Par défaut, c'est Imagick::CHANNEL_ALL. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Imagick::contrastImage
Imagick::convolveImage
La classe Imagick


Applique un noyau de convolution à une image

Imagick::contrastStretchImage
Imagick::cropImage
La classe Imagick
PHP Manual

Imagick::convolveImage

(PECL imagick 2.0.0)

Imagick::convolveImage — Applique un noyau de convolution à une image

Description

bool Imagick::convolveImage ( array $kernel [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique un noyau de convolution à une image.

Liste de paramètres

kernel

Le noyau de convolution

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::contrastStretchImage
Imagick::cropImage
La classe Imagick


Extrait une région d'une image

Imagick::convolveImage
Imagick::cropThumbnailImage
La classe Imagick
PHP Manual

Imagick::cropImage

(PECL imagick 2.0.0)

Imagick::cropImage — Extrait une région d'une image

Description

bool Imagick::cropImage ( int $width , int $height , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Extrait une région d'une image.

Liste de paramètres

width

La largeur du retaillage

height

La hauteur du retaillage

x

L'abscisse, coordonnée X, de la région retaillée, coin haut gauche

y

L'ordonnée, coordonnée Y, de la région retaillée, coin haut gauche

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::convolveImage
Imagick::cropThumbnailImage
La classe Imagick


Crée une miniature par retaillage

Imagick::cropImage
Imagick::current
La classe Imagick
PHP Manual

Imagick::cropThumbnailImage

(PECL imagick 2.0.0)

Imagick::cropThumbnailImage — Crée une miniature par retaillage

Description

bool Imagick::cropThumbnailImage ( int $width , int $height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une miniature de taille fixe, en réduisant sa taille de haut en bas, en recadrant l'image autour du centre.

Liste de paramètres

width

La largeur de la miniature

height

La hauteur de la miniature

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::cropImage
Imagick::current
La classe Imagick


Retourne une référence sur l'objet imagick courant

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
La classe Imagick
PHP Manual

Imagick::current

(PECL imagick 2.0.0)

Imagick::current — Retourne une référence sur l'objet imagick courant

Description

Imagick Imagick::current ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne une référence sur l'objet courant, à partir d'une référence de séquence.

Valeurs de retour

Retourne self en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
La classe Imagick


Déplace la carte des couleurs d'une image

Imagick::current
Imagick::decipherImage
La classe Imagick
PHP Manual

Imagick::cycleColormapImage

(PECL imagick 2.0.0)

Imagick::cycleColormapImage — Déplace la carte des couleurs d'une image

Description

bool Imagick::cycleColormapImage ( int $displace )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Déplace la carte de couleurs, d'un nombre donné de positions. Si vous faites tourner la cartes des couleurs plusieurs fois, vous pouvez produire des effets psychédéliques.

Liste de paramètres

displace

Le déplacement de la carte des couleurs.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::current
Imagick::decipherImage
La classe Imagick


Deciphers an image

Imagick::cycleColormapImage
Imagick::deconstructImages
La classe Imagick
PHP Manual

Imagick::decipherImage

(No version information available, might only be in SVN)

Imagick::decipherImage — Deciphers an image

Description

bool Imagick::decipherImage ( string $passphrase )

Deciphers image that has been enciphered before. The image must be enciphered using Imagick::encipherImage(). Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.9 ou supérieur.

Liste de paramètres

passphrase

The passphrase

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::encipherImage() - Enciphers an image

Imagick::cycleColormapImage
Imagick::deconstructImages
La classe Imagick


Retourne les différences de certains pixels entre deux images

Imagick::decipherImage
Imagick::deskewImage
La classe Imagick
PHP Manual

Imagick::deconstructImages

(PECL imagick 2.0.0)

Imagick::deconstructImages — Retourne les différences de certains pixels entre deux images

Description

Imagick Imagick::deconstructImages ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compare chaque image avec la suivante dans la séquence, et retourne la région maximale d'encadrement des pixels différents qu'il découvre.

Valeurs de retour

Retourne un nouvel objet Imagick en cas de succès.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::decipherImage
Imagick::deskewImage
La classe Imagick


Removes skew from the image

Imagick::deconstructImages
Imagick::despeckleImage
La classe Imagick
PHP Manual

Imagick::deskewImage

(No version information available, might only be in SVN)

Imagick::deskewImage — Removes skew from the image

Description

public void Imagick::deskewImage ( float $threshold )

This method can be used to remove skew from for example scanned images where the paper was not properly placed on the scanning surface. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.

Liste de paramètres

threshold

Deskew threshold

Valeurs de retour

Imagick::deconstructImages
Imagick::despeckleImage
La classe Imagick


Réduit le bruit speckle d'une image

Imagick::deskewImage
Imagick::destroy
La classe Imagick
PHP Manual

Imagick::despeckleImage

(PECL imagick 2.0.0)

Imagick::despeckleImage — Réduit le bruit speckle d'une image

Description

bool Imagick::despeckleImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Réduit le bruit speckle d'une image, en préservant les bords de l'image original.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::deskewImage
Imagick::destroy
La classe Imagick


Détruit un objet Imagick

Imagick::despeckleImage
Imagick::displayImage
La classe Imagick
PHP Manual

Imagick::destroy

(PECL imagick 2.0.0)

Imagick::destroy — Détruit un objet Imagick

Description

bool Imagick::destroy ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Détruit l'objet Imagick et libère toutes les ressources associées.

Valeurs de retour

Returns TRUE on success.

Imagick::despeckleImage
Imagick::displayImage
La classe Imagick


Affiche une image

Imagick::destroy
Imagick::displayImages
La classe Imagick
PHP Manual

Imagick::displayImage

(PECL imagick 2.0.0)

Imagick::displayImage — Affiche une image

Description

bool Imagick::displayImage ( string $servername )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Cette méthode affiche une image sur un serveur X.

Liste de paramètres

servername

Le nom du serveur X

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::destroy
Imagick::displayImages
La classe Imagick


Affiche une image ou une séquence

Imagick::displayImage
Imagick::distortImage
La classe Imagick
PHP Manual

Imagick::displayImages

(PECL imagick 2.0.0)

Imagick::displayImages — Affiche une image ou une séquence

Description

bool Imagick::displayImages ( string $servername )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Affiche une image ou une séquence sur un serveur X.

Liste de paramètres

servername

Le nom du serveur X

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::displayImage
Imagick::distortImage
La classe Imagick


Déforme une image avec différentes méthodes

Imagick::displayImages
Imagick::drawImage
La classe Imagick
PHP Manual

Imagick::distortImage

(PECL imagick 2.0.1)

Imagick::distortImage — Déforme une image avec différentes méthodes

Description

bool Imagick::distortImage ( int $method , array $arguments , bool $bestfit )

Déforme une image en utilisant différentes méthodes, en associant des couleurs de l'image source à celle d'une image de destination, généralement de la même taille, à moins que l'argument bestfit soit configuré à TRUE.

Si bestfit est activé, et que la déformation le permet, l'image de destination est ajusté pour s'assurer que toute l'image source va tenir dans l'image de destination, qui sera redimensionnée et repositionnée en fonction. De plus, dans de nombreux cas, la position virtuelle de l'image sera prise en compte dans l'association.

Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

method

La méthode de déformation de l'image. Voyez les constantes de déformation

arguments

Les arguments de cette méthode de déformation

bestfit

Tentative de redimensionnement de l'image de destination pour s'assurer de la taille

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::distortImage()

Déformation d'une image, et affichage sur le navigateur.

<?php
/* Crée un nouvel objet */
$im = new Imagick();

/* Crée un nouveau motif d'échiquier */
$im->newPseudoImage(100, 100, "pattern:checkerboard");

/* Configure l'image en PNG */
$im->setImageFormat('png');

/* Remplit la nouvelle zone visible à transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Active le mate */
$im->setImageMatte(true);

/* Contrôle les points de déformation */
$controlPoints = array( 10, 10,
                        10, 5,

                        10, $im->getImageHeight() - 20,
                        10, $im->getImageHeight() - 5,

                        $im->getImageWidth() - 10, 10,
                        $im->getImageWidth() - 10, 20,

                        $im->getImageWidth() - 10, $im->getImageHeight() - 10,
                        $im->getImageWidth() - 10, $im->getImageHeight() - 30);

/* Effectue la déformation */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);

/* Envoie l'image */
header("Content-Type: image/png");
echo $im;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Utilisation de Imagick::distortImage()

Voir aussi

  • Imagick::blurImage() - Ajoute un filtre de flou à une image
  • Imagick::motionBlurImage() - Ajout un flou de déplacement
  • Imagick::radialBlurImage() - Flou radial d'une image

Imagick::displayImages
Imagick::drawImage
La classe Imagick


Affiche un objet ImagickDraw dans l'image courante

Imagick::distortImage
Imagick::edgeImage
La classe Imagick
PHP Manual

Imagick::drawImage

(PECL imagick 2.0.0)

Imagick::drawImage — Affiche un objet ImagickDraw dans l'image courante

Description

bool Imagick::drawImage ( ImagickDraw $draw )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Affiche un objet ImagickDraw dans l'image courante.

Liste de paramètres

draw

Les opérations de dessins pour dessiner l'image.

Valeurs de retour

Returns TRUE on success.

Imagick::distortImage
Imagick::edgeImage
La classe Imagick


Renforce les bords dans l'image

Imagick::drawImage
Imagick::embossImage
La classe Imagick
PHP Manual

Imagick::edgeImage

(PECL imagick 2.0.0)

Imagick::edgeImage — Renforce les bords dans l'image

Description

bool Imagick::edgeImage ( float $radius )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Renforce les bords dans l'image, avec un filtre de convolution, pour un rayon donné. Avec un rayon de zéro, Imagick va choisir lui-même la valeur du rayon.

Liste de paramètres

radius

Le rayon de l'opération.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::drawImage
Imagick::embossImage
La classe Imagick


Retourne une image en niveau de gris, avec un effet 3D

Imagick::edgeImage
Imagick::encipherImage
La classe Imagick
PHP Manual

Imagick::embossImage

(PECL imagick 2.0.0)

Imagick::embossImage — Retourne une image en niveau de gris, avec un effet 3D

Description

bool Imagick::embossImage ( float $radius , float $sigma )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne une image en niveau de gris, avec un effet 3D. Une convolution d'image avec opérateur gaussien est appliqué, avec un rayon et une déviation standard donnée. Pour des résultats raisonnables, le rayon doit être plus grand que sigma (la déviation standard). Un rayon de zéro conduit à laisser Imagick choisir sa valeur.

Liste de paramètres

radius

Le rayon de l'effet

sigma

Le sigma de l'effet

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::edgeImage
Imagick::encipherImage
La classe Imagick


Enciphers an image

Imagick::embossImage
Imagick::enhanceImage
La classe Imagick
PHP Manual

Imagick::encipherImage

(No version information available, might only be in SVN)

Imagick::encipherImage — Enciphers an image

Description

bool Imagick::encipherImage ( string $passphrase )

Converts plain pixels to enciphered pixels. The image is not readable until it has been deciphered using Imagick::decipherImage() Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.9 ou supérieur.

Liste de paramètres

passphrase

The passphrase

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::decipherImage() - Deciphers an image

Imagick::embossImage
Imagick::enhanceImage
La classe Imagick


Améliore la qualité d'une image bruitée

Imagick::encipherImage
Imagick::equalizeImage
La classe Imagick
PHP Manual

Imagick::enhanceImage

(PECL imagick 2.0.0)

Imagick::enhanceImage — Améliore la qualité d'une image bruitée

Description

bool Imagick::enhanceImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Améliore la qualité d'une image bruitée avec un filtre numérique.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::encipherImage
Imagick::equalizeImage
La classe Imagick


Égalise l'histogramme d'une image

Imagick::enhanceImage
Imagick::evaluateImage
La classe Imagick
PHP Manual

Imagick::equalizeImage

(PECL imagick 2.0.0)

Imagick::equalizeImage — Égalise l'histogramme d'une image

Description

bool Imagick::equalizeImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Égalise l'histogramme d'une image.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::enhanceImage
Imagick::evaluateImage
La classe Imagick


Applique une expression à une image

Imagick::equalizeImage
Imagick::exportImagePixels
La classe Imagick
PHP Manual

Imagick::evaluateImage

(PECL imagick 2.0.0)

Imagick::evaluateImage — Applique une expression à une image

Description

bool Imagick::evaluateImage ( int $op , float $constant [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique une expression arithmétique, relationnelle ou logique à une image. Utilisez ces opérateurs pour éclaircir ou assombrir une image, pour augmenter ou réduire le contraste, ou encore, produire une image inversée.

Liste de paramètres

op

L'opérateur

constant

La valeur de l'opérateur

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::equalizeImage
Imagick::exportImagePixels
La classe Imagick


Exports raw image pixels

Imagick::evaluateImage
Imagick::extentImage
La classe Imagick
PHP Manual

Imagick::exportImagePixels

(No version information available, might only be in SVN)

Imagick::exportImagePixels — Exports raw image pixels

Description

public array Imagick::exportImagePixels ( int $x , int $y , int $width , int $height , string $map , int $STORAGE )

Exports image pixels into an array. The map defines the ordering of the exported pixels. The size of the returned array is width * height * strlen(map). Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.7 ou supérieur.

Liste de paramètres

x

X-coordinate of the exported area

y

Y-coordinate of the exported area

width

Width of the exported aread

height

Height of the exported area

map

Ordering of the exported pixels. For example "RGB". Valid characters for the map are R, G, B, A, O, C, Y, M, K, I and P.

STORAGE

Refer to this list of pixel type constants

Exemples

Exemple #1 Using Imagick::exportImagePixels()

Export image pixels into an array

<?php

/* Create new object */
$im = new Imagick();

/* Create new image */
$im->newPseudoImage(0, 0, "magick:rose");

/* Export the image pixels */
$pixels = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* Output */
var_dump($pixels);
?>

L'exemple ci-dessus va afficher :

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}

Valeurs de retour

Returns an array containing the pixels values.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::evaluateImage
Imagick::extentImage
La classe Imagick


Set image size

Imagick::exportImagePixels
Imagick::flattenImages
La classe Imagick
PHP Manual

Imagick::extentImage

(No version information available, might only be in SVN)

Imagick::extentImage — Set image size

Description

bool Imagick::extentImage ( int $width , int $height , int $x , int $y )

Comfortability method for setting image size. The method sets the image size and allows setting x,y coordinates where the new area begins. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.1 ou supérieur.

Liste de paramètres

width

The new width

height

The new height

x

X position for the new size

y

Y position for the new size

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::resizeImage() - Redimensionne une image
  • Imagick::thumbnailImage() - Modifie la taille d'une image
  • Imagick::cropImage() - Extrait une région d'une image

Imagick::exportImagePixels
Imagick::flattenImages
La classe Imagick


Fusionne une séquence d'images

Imagick::extentImage
Imagick::flipImage
La classe Imagick
PHP Manual

Imagick::flattenImages

(PECL imagick 2.0.0)

Imagick::flattenImages — Fusionne une séquence d'images

Description

Imagick Imagick::flattenImages ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fusionne une séquence d'images. Ceci est pratique pour combiner une série de couches Photoshop en une seule image.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::extentImage
Imagick::flipImage
La classe Imagick


Crée une image par miroir vertical

Imagick::flattenImages
Imagick::floodFillPaintImage
La classe Imagick
PHP Manual

Imagick::flipImage

(PECL imagick 2.0.0)

Imagick::flipImage — Crée une image par miroir vertical

Description

bool Imagick::flipImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une image par miroir vertical, à l'aide d'une symétrie autour de l'axe des abscisses.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::flattenImages
Imagick::floodFillPaintImage
La classe Imagick


Changes the color value of any pixel that matches target

Imagick::flipImage
Imagick::flopImage
La classe Imagick
PHP Manual

Imagick::floodFillPaintImage

(No version information available, might only be in SVN)

Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target

Description

bool Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Changes the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.

Liste de paramètres

fill

ImagickPixel object or a string containing the fill color

fuzz

La quantité de poussière de papier. Par exemple, le fait de définir la poussière de papier à 10 et la couleur rouge à une intensité de 100 et de 102 ne sera pas interprété comme la même couleur.

target

ImagickPixel object or a string containing the target color to paint

x

X start position of the floodfill

y

Y start position of the floodfill

invert

If TRUE paints any pixel that does not match the target color.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Imagick::floodfillPaintImage example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Save the intermediate image for comparison */
$combined->writeImage("floodfillpaint_intermediate.png");

/* The target pixel to paint */
$x = 1;
$y = 1;

/* Get the color we are painting */
$target = $combined->getImagePixelColor($x, $y);

/* Paints pixel in position 1,1 black and all neighboring
   pixels that match the target color */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);

/* Save the result */
$combined->writeImage("floodfillpaint_result.png");
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Output of example : Imagick::floodfillPaintImage()
Output of example : Imagick::floodfillPaintImage()

Imagick::flipImage
Imagick::flopImage
La classe Imagick


Crée une image par miroir horizontal

Imagick::floodFillPaintImage
Imagick::frameImage
La classe Imagick
PHP Manual

Imagick::flopImage

(PECL imagick 2.0.0)

Imagick::flopImage — Crée une image par miroir horizontal

Description

bool Imagick::flopImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une image par miroir horizontal, à l'aide d'une symétrie autour de l'axe des ordonnées.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::floodFillPaintImage
Imagick::frameImage
La classe Imagick


Ajoute un bord 3D

Imagick::flopImage
Imagick::functionImage
La classe Imagick
PHP Manual

Imagick::frameImage

(PECL imagick 2.0.0)

Imagick::frameImage — Ajoute un bord 3D

Description

bool Imagick::frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un bord 3D. La largeur et la hauteur configurent la largeur et la hauteur de la bordure du cadre. Le chanfrein intérieur et extérieur indique la largeur de l'ombre interne et externe.

Liste de paramètres

matte_color

Un objet ImagickPixel ou une chaîne représentant la couleur

width

La largeur de la bordure

height

La hauteur de la bordure

inner_bevel

La largeur du chanfrein intérieur

outer_bevel

La largeur du chanfrein extérieur

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::flopImage
Imagick::functionImage
La classe Imagick


Applies a function on the image

Imagick::frameImage
Imagick::fxImage
La classe Imagick
PHP Manual

Imagick::functionImage

(No version information available, might only be in SVN)

Imagick::functionImage — Applies a function on the image

Description

public boolean Imagick::functionImage ( integer $function , array $arguments )

Applies an arithmetic, relational, or logical expression to an image. Use these operators to create lighter or darker versions of an image, to increase or decrease contrast in an image, or to negate the image colors. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.9 ou supérieur.

Liste de paramètres

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::frameImage
Imagick::fxImage
La classe Imagick


Évalue une expression pour chaque pixel d'une image

Imagick::functionImage
Imagick::gammaImage
La classe Imagick
PHP Manual

Imagick::fxImage

(PECL imagick 2.0.0)

Imagick::fxImage — Évalue une expression pour chaque pixel d'une image

Description

Imagick Imagick::fxImage ( string $expression [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Évalue une expression pour chaque pixel d'une image. Consultez » The Fx Special Effects Image Operator pour plus de détails (en anglais).

Liste de paramètres

expression

L'expression.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::functionImage
Imagick::gammaImage
La classe Imagick


Applique une correction gamma à l'image

Imagick::fxImage
Imagick::gaussianBlurImage
La classe Imagick
PHP Manual

Imagick::gammaImage

(PECL imagick 2.0.0)

Imagick::gammaImage — Applique une correction gamma à l'image

Description

bool Imagick::gammaImage ( float $gamma [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique une correction gamma à l'image. La même image est vue sur différents écran vont avoir des différences de perceptions dans la représentation des intensités. Spécifiez des corrections gamma individuelles pour les différentes couleurs, ou bien ajustez les trois corrections gamma d'un seul coup. Les valeurs typiques vont de 0.8 à 2.3.

Liste de paramètres

gamma

La correction gamma.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::fxImage
Imagick::gaussianBlurImage
La classe Imagick


Ajoute du flou à image

Imagick::gammaImage
Imagick::getCompression
La classe Imagick
PHP Manual

Imagick::gaussianBlurImage

(PECL imagick 2.0.0)

Imagick::gaussianBlurImage — Ajoute du flou à image

Description

bool Imagick::gaussianBlurImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute du flou à une image. Une convolution est appliquée avec un rayon et une déviation standard données. Pour des résultats raisonnables, il est recommandé d'utiliser une taille de rayon supérieure à sigma. Un rayon de zéro force la fonction à choisir les valeurs.

Liste de paramètres

radius

Le rayon de la gaussienne, en pixel, sans compter le pixel du centre.

sigma

La déviation standard de la gaussienne, en pixel.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::gammaImage
Imagick::getCompression
La classe Imagick


Lit le type de compression

Imagick::gaussianBlurImage
Imagick::getCompressionQuality
La classe Imagick
PHP Manual

Imagick::getCompression

(PECL imagick 2.0.0)

Imagick::getCompression — Lit le type de compression

Description

int Imagick::getCompression ( void )

Lit le type de compression.

Valeurs de retour

Retourne la constante de compression.

Imagick::gaussianBlurImage
Imagick::getCompressionQuality
La classe Imagick


Lit la qualité de la compression

Imagick::getCompression
Imagick::getCopyright
La classe Imagick
PHP Manual

Imagick::getCompressionQuality

(PECL imagick 2.0.0)

Imagick::getCompressionQuality — Lit la qualité de la compression

Description

int Imagick::getCompressionQuality ( void )

Lit la qualité de la compression.

Valeurs de retour

Retourne un entier décrivant la qualité de la compression.

Imagick::getCompression
Imagick::getCopyright
La classe Imagick


Retourne le copyright de l'API ImageMagick API

Imagick::getCompressionQuality
Imagick::getFilename
La classe Imagick
PHP Manual

Imagick::getCopyright

(PECL imagick 2.0.0)

Imagick::getCopyright — Retourne le copyright de l'API ImageMagick API

Description

string Imagick::getCopyright ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le copyright de l'API ImageMagick API.

Valeurs de retour

Retourne une chaîne, en cas de succès.

Imagick::getCompressionQuality
Imagick::getFilename
La classe Imagick


Lit le nom du fichier associé à une séquence

Imagick::getCopyright
Imagick::getFont
La classe Imagick
PHP Manual

Imagick::getFilename

(PECL imagick 2.0.0)

Imagick::getFilename — Lit le nom du fichier associé à une séquence

Description

string Imagick::getFilename ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le nom du fichier associé à une séquence.

Valeurs de retour

Retourne une chaîne en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getCopyright
Imagick::getFont
La classe Imagick


Gets font

Imagick::getFilename
Imagick::getFormat
La classe Imagick
PHP Manual

Imagick::getFont

(PECL imagick 2.1.0)

Imagick::getFont — Gets font

Description

string Imagick::getFont ( void )

Returns the objects font property. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.

Valeurs de retour

Returns the string containing the font name or FALSE if not font is set.

Voir aussi

  • Imagick::setFont() - Configure la police
  • ImagickDraw::setFont() - Configure la police complète pour les textes
  • ImagickDraw::getFont() - Retourne la police

Imagick::getFilename
Imagick::getFormat
La classe Imagick


Retourne le format de l'image Imagick

Imagick::getFont
Imagick::getGravity
La classe Imagick
PHP Manual

Imagick::getFormat

(PECL imagick 2.0.0)

Imagick::getFormat — Retourne le format de l'image Imagick

Description

string Imagick::getFormat ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le format de l'image Imagick.

Valeurs de retour

Retourne le format de l'image Imagick. Émet une exception ImagickException en cas d'échec.

Imagick::getFont
Imagick::getGravity
La classe Imagick


Gets the gravity

Imagick::getFormat
Imagick::getHomeURL
La classe Imagick
PHP Manual

Imagick::getGravity

(No version information available, might only be in SVN)

Imagick::getGravity — Gets the gravity

Description

bool Imagick::getGravity ( void )

Gets the global gravity property for the Imagick object. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.

Valeurs de retour

Returns the gravity property. Refer to the list of gravity constants.

Imagick::getFormat
Imagick::getHomeURL
La classe Imagick


Retourne l'URL de ImageMagick

Imagick::getGravity
Imagick::getImage
La classe Imagick
PHP Manual

Imagick::getHomeURL

(PECL imagick 2.0.0)

Imagick::getHomeURL — Retourne l'URL de ImageMagick

Description

string Imagick::getHomeURL ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'URL de ImageMagick.

Valeurs de retour

Retourne l'URL de ImageMagick.

Imagick::getGravity
Imagick::getImage
La classe Imagick


Retourne un nouvel objet Imagick

Imagick::getHomeURL
Imagick::getImageAlphaChannel
La classe Imagick
PHP Manual

Imagick::getImage

(PECL imagick 2.0.0)

Imagick::getImage — Retourne un nouvel objet Imagick

Description

Imagick Imagick::getImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un nouvel objet Imagick.

Valeurs de retour

Retourne un nouvel objet Imagick. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getHomeURL
Imagick::getImageAlphaChannel
La classe Imagick


Gets the image alpha channel

Imagick::getImage
Imagick::getImageBackgroundColor
La classe Imagick
PHP Manual

Imagick::getImageAlphaChannel

(No version information available, might only be in SVN)

Imagick::getImageAlphaChannel — Gets the image alpha channel

Description

int Imagick::getImageAlphaChannel ( void )

Gets the image alpha channel value. The returned value is one of the alpha channel constants. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.

Valeurs de retour

Returns a constant defining the current alpha channel value. Refer to this list of alpha channel constants.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImage
Imagick::getImageBackgroundColor
La classe Imagick


Retourne la couleur de fond

Imagick::getImageAlphaChannel
Imagick::getImageBlob
La classe Imagick
PHP Manual

Imagick::getImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::getImageBackgroundColor — Retourne la couleur de fond

Description

ImagickPixel Imagick::getImageBackgroundColor ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur de fond.

Valeurs de retour

Retourne la couleur de fond sous forme d'objet ImagickPixel. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageAlphaChannel
Imagick::getImageBlob
La classe Imagick


Retourne la séquence d'images comme un blob

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
La classe Imagick
PHP Manual

Imagick::getImageBlob

(PECL imagick 2.0.0)

Imagick::getImageBlob — Retourne la séquence d'images comme un blob

Description

string Imagick::getImageBlob ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Implémente un formatage directe en mémoire. Il retourne la séquence d'images sous forme de chaîne. Le format de l'image détermine le format du BLOB retourné (GIF, JPEG, PNG, etc.). Pour retourner un format différent, utilisez la fonction Imagick::setImageFormat().

Valeurs de retour

Retourne une chaîne contenant les images. Émet une exception ImagickException en cas d'échec.

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
La classe Imagick


Retourne la chromacité de la couleur bleue

Imagick::getImageBlob
Imagick::getImageBorderColor
La classe Imagick
PHP Manual

Imagick::getImageBluePrimary

(PECL imagick 2.0.0)

Imagick::getImageBluePrimary — Retourne la chromacité de la couleur bleue

Description

array Imagick::getImageBluePrimary ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la chromacité de la couleur bleue. Retourne un tableau avec les clés "x" et "y".

Liste de paramètres

x

L'abscisse du point.

y

L'ordonnée du point.

Valeurs de retour

Retourne un tableau avec les clés "x" et "y", en cas de succès.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageBlob
Imagick::getImageBorderColor
La classe Imagick


Retourne la couleur de bordure de l'image

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
La classe Imagick
PHP Manual

Imagick::getImageBorderColor

(PECL imagick 2.0.0)

Imagick::getImageBorderColor — Retourne la couleur de bordure de l'image

Description

ImagickPixel Imagick::getImageBorderColor ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur de bordure de l'image.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
La classe Imagick


Lit la profondeur d'un des canaux de l'image

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
La classe Imagick
PHP Manual

Imagick::getImageChannelDepth

(PECL imagick 2.0.0)

Imagick::getImageChannelDepth — Lit la profondeur d'un des canaux de l'image

Description

int Imagick::getImageChannelDepth ( int $channel )

Lit la profondeur d'un des canaux de l'image.

Liste de paramètres

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
La classe Imagick


Compare les canaux d'une image reconstituée

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
La classe Imagick
PHP Manual

Imagick::getImageChannelDistortion

(PECL imagick 2.0.0)

Imagick::getImageChannelDistortion — Compare les canaux d'une image reconstituée

Description

float Imagick::getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compare un ou plusieurs canaux d'une image reconstituée et retourne la métrique de déformation demandée.

Liste de paramètres

reference

L'objet Imagick avec lequel se comparer.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

metric

Une des constantes de type de métrique.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelDepth
Imagick::getImageChannelDistortions
La classe Imagick


Gets channel distortions

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
La classe Imagick
PHP Manual

Imagick::getImageChannelDistortions

(No version information available, might only be in SVN)

Imagick::getImageChannelDistortions — Gets channel distortions

Description

double Imagick::getImageChannelDistortions ( Imagick $reference , int $metric , int $channel )

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metrics Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.

Liste de paramètres

reference

Imagick object containing the reference image

metric

Refer to this list of metric type constants.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns a double describing the channel distortion.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelDistortion
Imagick::getImageChannelExtrema
La classe Imagick


Lit les extrêmes pour les canaux de l'image

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
La classe Imagick
PHP Manual

Imagick::getImageChannelExtrema

(PECL imagick 2.0.0)

Imagick::getImageChannelExtrema — Lit les extrêmes pour les canaux de l'image

Description

array Imagick::getImageChannelExtrema ( int $channel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit les extrêmes pour l'un ou plusieurs canaux de l'image. La valeur retournée est un tableau associatif avec les clés "minima" et "maxima".

Liste de paramètres

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelDistortions
Imagick::getImageChannelKurtosis
La classe Imagick


The getImageChannelKurtosis purpose

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
La classe Imagick
PHP Manual

Imagick::getImageChannelKurtosis

(No version information available, might only be in SVN)

Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose

Description

public array Imagick::getImageChannelKurtosis ([ int $channel = Imagick::CHANNEL_DEFAULT ] )

Get the kurtosis and skewness of a specific channel. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.9 ou supérieur.

Liste de paramètres

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns an array with kurtosis and skewness members.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelExtrema
Imagick::getImageChannelMean
La classe Imagick


Lit la moyenne et la déviation standard

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
La classe Imagick
PHP Manual

Imagick::getImageChannelMean

(PECL imagick 2.0.0)

Imagick::getImageChannelMean — Lit la moyenne et la déviation standard

Description

array Imagick::getImageChannelMean ( int $channel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit la moyenne et la déviation standard d'un ou plusieurs des canaux de l'image. La valeur retournée est un tableau associatif avec les clés "mean" et "standardDeviation".

Liste de paramètres

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelKurtosis
Imagick::getImageChannelRange
La classe Imagick


Gets channel range

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
La classe Imagick
PHP Manual

Imagick::getImageChannelRange

(PECL imagick 2.2.1)

Imagick::getImageChannelRange — Gets channel range

Description

bool Imagick::getImageChannelRange ( int $channel )

Gets the range for one or more image channels. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.

Liste de paramètres

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns an array containing minima and maxima values of the channel(s).

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelMean
Imagick::getImageChannelStatistics
La classe Imagick


Retourne des statistiques sur chaque canal de l'image

Imagick::getImageChannelRange
Imagick::getImageClipMask
La classe Imagick
PHP Manual

Imagick::getImageChannelStatistics

(PECL imagick 2.0.0)

Imagick::getImageChannelStatistics — Retourne des statistiques sur chaque canal de l'image

Description

array Imagick::getImageChannelStatistics ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne des statistiques sur chaque canal de l'image. Les statistiques incluent la profondeur du canal, ses minima et maxima, la moyenne, et la déviation standard.

Valeurs de retour

Returns TRUE on success.

Imagick::getImageChannelRange
Imagick::getImageClipMask
La classe Imagick


Gets image clip mask

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
La classe Imagick
PHP Manual

Imagick::getImageClipMask

(No version information available, might only be in SVN)

Imagick::getImageClipMask — Gets image clip mask

Description

Imagick Imagick::getImageClipMask ( void )

Returns the image clip mask. The clip mask is an Imagick object containing the clip mask. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Valeurs de retour

Returns an Imagick object containing the clip mask. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageChannelStatistics
Imagick::getImageColormapColor
La classe Imagick


Retourne la couleur à l'index de la carte de couleurs

Imagick::getImageClipMask
Imagick::getImageColors
La classe Imagick
PHP Manual

Imagick::getImageColormapColor

(PECL imagick 2.0.0)

Imagick::getImageColormapColor — Retourne la couleur à l'index de la carte de couleurs

Description

ImagickPixel Imagick::getImageColormapColor ( int $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur à l'index de la carte de couleurs.

Liste de paramètres

index

La position dans la carte des couleurs.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageClipMask
Imagick::getImageColors
La classe Imagick


Lit le nombre de couleurs uniques de l'image

Imagick::getImageColormapColor
Imagick::getImageColorspace
La classe Imagick
PHP Manual

Imagick::getImageColors

(PECL imagick 2.0.0)

Imagick::getImageColors — Lit le nombre de couleurs uniques de l'image

Description

int Imagick::getImageColors ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le nombre de couleurs uniques de l'image.

Valeurs de retour

Returns TRUE on success.

Imagick::getImageColormapColor
Imagick::getImageColorspace
La classe Imagick


Lit l'espace de couleurs de l'image

Imagick::getImageColors
Imagick::getImageCompose
La classe Imagick
PHP Manual

Imagick::getImageColorspace

(PECL imagick 2.0.0)

Imagick::getImageColorspace — Lit l'espace de couleurs de l'image

Description

int Imagick::getImageColorspace ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit l'espace de couleurs de l'image.

Valeurs de retour

Returns TRUE on success.

Imagick::getImageColors
Imagick::getImageCompose
La classe Imagick


Retourne l'opérateur de composition associé à une image

Imagick::getImageColorspace
Imagick::getImageCompression
La classe Imagick
PHP Manual

Imagick::getImageCompose

(PECL imagick 2.0.0)

Imagick::getImageCompose — Retourne l'opérateur de composition associé à une image

Description

int Imagick::getImageCompose ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'opérateur de composition associé à une image.

Valeurs de retour

Returns TRUE on success.

Imagick::getImageColorspace
Imagick::getImageCompression
La classe Imagick


Lit le type de compression de l'image

Imagick::getImageCompose
Imagick::getImageCompressionQuality
La classe Imagick
PHP Manual

Imagick::getImageCompression

(PECL imagick 2.2.2)

Imagick::getImageCompression — Lit le type de compression de l'image

Description

int Imagick::getImageCompression ( void )

Lit le type de compression de l'image.

Valeurs de retour

Retourne une constante de compression.

Imagick::getImageCompose
Imagick::getImageCompressionQuality
La classe Imagick


Lit la qualité de compression de l'image

Imagick::getImageCompression
Imagick::getImageDelay
La classe Imagick
PHP Manual

Imagick::getImageCompressionQuality

(PECL imagick 2.2.2)

Imagick::getImageCompressionQuality — Lit la qualité de compression de l'image

Description

int Imagick::getCompressionQuality ( void )

Lit la qualité de compression de l'image.

Valeurs de retour

Retourne un entier qui décrit la qualité de la compression de l'image.

Imagick::getImageCompression
Imagick::getImageDelay
La classe Imagick


Lit le délai de l'image

Imagick::getImageCompressionQuality
Imagick::getImageDepth
La classe Imagick
PHP Manual

Imagick::getImageDelay

(PECL imagick 2.0.0)

Imagick::getImageDelay — Lit le délai de l'image

Description

int Imagick::getImageDelay ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le délai de l'image.

Valeurs de retour

Retourne le délai de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageCompressionQuality
Imagick::getImageDepth
La classe Imagick


Lit la profondeur de l'image

Imagick::getImageDelay
Imagick::getImageDispose
La classe Imagick
PHP Manual

Imagick::getImageDepth

(PECL imagick 0.9.1-0.9.9)

Imagick::getImageDepth — Lit la profondeur de l'image

Description

int Imagick::getImageDepth ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit la profondeur de l'image.

Valeurs de retour

La profondeur de l'image.

Imagick::getImageDelay
Imagick::getImageDispose
La classe Imagick


Lit la méthode de récupération

Imagick::getImageDepth
Imagick::getImageDistortion
La classe Imagick
PHP Manual

Imagick::getImageDispose

(PECL imagick 2.0.0)

Imagick::getImageDispose — Lit la méthode de récupération

Description

int Imagick::getImageDispose ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit la méthode de récupération.

Valeurs de retour

Retourne la méthode de récupération en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getImageDepth
Imagick::getImageDistortion
La classe Imagick


Compare une image à une image reconstituée

Imagick::getImageDispose
Imagick::getImageExtrema
La classe Imagick
PHP Manual

Imagick::getImageDistortion

(PECL imagick 2.0.0)

Imagick::getImageDistortion — Compare une image à une image reconstituée

Description

float Imagick::getImageDistortion ( MagickWand $reference , int $metric )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compare une image à une image reconstituée et retourne une métrique.

Liste de paramètres

reference

L'objet Imagick avec lequel se comparer.

metric

Une des constantes de type de métrique.

Valeurs de retour

Retourne la métrique de déformation (ou la meilleure évaluation possible). Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageDispose
Imagick::getImageExtrema
La classe Imagick


Lit les extrêmes d'une image

Imagick::getImageDistortion
Imagick::getImageFilename
La classe Imagick
PHP Manual

Imagick::getImageExtrema

(PECL imagick 2.0.0)

Imagick::getImageExtrema — Lit les extrêmes d'une image

Description

array Imagick::getImageExtrema ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit les extrêmes d'une image. Retourne un tableau associatif, avec les clés "min" et "max".

Valeurs de retour

Retourne un tableau associatif, avec les clés "min" et "max". Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageDistortion
Imagick::getImageFilename
La classe Imagick


Retourne le nom d'un fichier pour une image dans une séquence

Imagick::getImageExtrema
Imagick::getImageFormat
La classe Imagick
PHP Manual

Imagick::getImageFilename

(PECL imagick 2.0.0)

Imagick::getImageFilename — Retourne le nom d'un fichier pour une image dans une séquence

Description

string Imagick::getImageFilename ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le nom d'un fichier pour une image dans une séquence.

Valeurs de retour

Retourne une chaîne avec le nom du fichier de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageExtrema
Imagick::getImageFormat
La classe Imagick


Retourne le format d'une image dans une séquence

Imagick::getImageFilename
Imagick::getImageGamma
La classe Imagick
PHP Manual

Imagick::getImageFormat

(PECL imagick 2.0.0)

Imagick::getImageFormat — Retourne le format d'une image dans une séquence

Description

string Imagick::getImageFormat ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le format d'une image dans une séquence.

Valeurs de retour

Retourne le format d'une image dans une séquence. Émet une exception ImagickException en cas d'échec.

Imagick::getImageFilename
Imagick::getImageGamma
La classe Imagick


Lit le gamma de l'image

Imagick::getImageFormat
Imagick::getImageGeometry
La classe Imagick
PHP Manual

Imagick::getImageGamma

(PECL imagick 2.0.0)

Imagick::getImageGamma — Lit le gamma de l'image

Description

float Imagick::getImageGamma ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le gamma de l'image.

Valeurs de retour

Retourne le gamma de l'image en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getImageFormat
Imagick::getImageGeometry
La classe Imagick


Lit les dimensions de l'image dans un tableau

Imagick::getImageGamma
Imagick::getImageGravity
La classe Imagick
PHP Manual

Imagick::getImageGeometry

(PECL imagick 2.0.0)

Imagick::getImageGeometry — Lit les dimensions de l'image dans un tableau

Description

array Imagick::getImageGeometry ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la largeur et la hauteur de l'image sous forme de tableau associatif.

Valeurs de retour

Retourne un tableau avec les dimensions de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageGamma
Imagick::getImageGravity
La classe Imagick


Gets the image gravity

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
La classe Imagick
PHP Manual

Imagick::getImageGravity

(No version information available, might only be in SVN)

Imagick::getImageGravity — Gets the image gravity

Description

bool Imagick::getImageGravity ( void )

Gets the current gravity value of the image. Unlike Imagick::getGravity(), this method returns the gravity defined for the current image sequence. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.

Valeurs de retour

Returns the images gravity property. Refer to the list of gravity constants.

Imagick::getImageGeometry
Imagick::getImageGreenPrimary
La classe Imagick


Retourne la chromacité de la couleur verte

Imagick::getImageGravity
Imagick::getImageHeight
La classe Imagick
PHP Manual

Imagick::getImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::getImageGreenPrimary — Retourne la chromacité de la couleur verte

Description

array Imagick::getImageGreenPrimary ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la chromacité de la couleur verte. Retourne un tableau avec les clés "x" et "y".

Valeurs de retour

Retourne un tableau avec les clés "x" et "y", en cas de succès.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageGravity
Imagick::getImageHeight
La classe Imagick


Retourne la hauteur de l'image

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
La classe Imagick
PHP Manual

Imagick::getImageHeight

(PECL imagick 2.0.0)

Imagick::getImageHeight — Retourne la hauteur de l'image

Description

int Imagick::getImageHeight ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la hauteur de l'image.

Valeurs de retour

Retourne la hauteur de l'image en pixels. Émet une exception ImagickException en cas d'échec.

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
La classe Imagick


Retourne l'histogramme de l'image

Imagick::getImageHeight
Imagick::getImageIndex
La classe Imagick
PHP Manual

Imagick::getImageHistogram

(PECL imagick 2.0.0)

Imagick::getImageHistogram — Retourne l'histogramme de l'image

Description

array Imagick::getImageHistogram ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'histogramme de l'image, sous forme d'un tableau d'objets ImagickPixel.

Valeurs de retour

Retourne un tableau d'objets ImagickPixel. Émet une exception ImagickException en cas d'échec.

Imagick::getImageHeight
Imagick::getImageIndex
La classe Imagick


Lit l'index de l'image courante

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
La classe Imagick
PHP Manual

Imagick::getImageIndex

(PECL imagick 2.0.0)

Imagick::getImageIndex — Lit l'index de l'image courante

Description

int Imagick::getImageIndex ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'index de l'image courante dans la séquence Imagick. Cette méthode est obsolète. Voyez Imagick::getIteratorIndex

Valeurs de retour

Retourne un entier en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
La classe Imagick


Lit le schéma d'entrelacement de l'image

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
La classe Imagick
PHP Manual

Imagick::getImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getImageInterlaceScheme — Lit le schéma d'entrelacement de l'image

Description

int Imagick::getImageInterlaceScheme ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le schéma d'entrelacement de l'image.

Valeurs de retour

Retourne le schéma d'entrelacement de l'image en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
La classe Imagick


Retourne la méthode d'interpolation

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
La classe Imagick
PHP Manual

Imagick::getImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::getImageInterpolateMethod — Retourne la méthode d'interpolation

Description

int Imagick::getImageInterpolateMethod ( void )

Retourne la méthode d'interpolation de l'image spécifiée. La méthode est une des constantes Imagick::INTERPOLATE_*.

Valeurs de retour

Retourne la méthode d'interpolation en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
La classe Imagick


Lit les itérations de l'image

Imagick::getImageInterpolateMethod
Imagick::getImageLength
La classe Imagick
PHP Manual

Imagick::getImageIterations

(PECL imagick 2.0.0)

Imagick::getImageIterations — Lit les itérations de l'image

Description

int Imagick::getImageIterations ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit les itérations de l'image.

Valeurs de retour

Retourne les itérations de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageInterpolateMethod
Imagick::getImageLength
La classe Imagick


Retourne la taille de l'image en octets

Imagick::getImageIterations
Imagick::getImageMagickLicense
La classe Imagick
PHP Manual

Imagick::getImageLength

(PECL imagick 2.0.0)

Imagick::getImageLength — Retourne la taille de l'image en octets

Description

int Imagick::getImageLength ( void )

Retourne la taille de l'image en octets.

Valeurs de retour

Retourne un entier.

Exemples

Exemple #1 Exemple avec Imagick::getImageLength():

Récupère la taille de l'image, en octets

<?php
$image = new Imagick('test.jpg');
echo $image->getImageLength() . ' octets';
?>

Imagick::getImageIterations
Imagick::getImageMagickLicense
La classe Imagick


Retourne une chaîne avec la licence ImageMagick

Imagick::getImageLength
Imagick::getImageMatte
La classe Imagick
PHP Manual

Imagick::getImageMagickLicense

(PECL imagick 2.0.0)

Imagick::getImageMagickLicense — Retourne une chaîne avec la licence ImageMagick

Description

string Imagick::getImageMagickLicense ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne une chaîne avec la licence ImageMagick.

Valeurs de retour

Retourne une chaîne.

Imagick::getImageLength
Imagick::getImageMatte
La classe Imagick


Indique si l'image a un canal mat

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
La classe Imagick
PHP Manual

Imagick::getImageMatte

(PECL imagick 2.0.0)

Imagick::getImageMatte — Indique si l'image a un canal mat

Description

int Imagick::getImageMatte ( void )

Retourne TRUE si l'image a un canal mat, et sinon, FALSE Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
La classe Imagick


Retourne la couleur mate de l'image

Imagick::getImageMatte
Imagick::getImageOrientation
La classe Imagick
PHP Manual

Imagick::getImageMatteColor

(PECL imagick 2.0.0)

Imagick::getImageMatteColor — Retourne la couleur mate de l'image

Description

ImagickPixel Imagick::getImageMatteColor ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur mate de l'image.

Valeurs de retour

Retourne un objet ImagickPixel en cas de succès. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageMatte
Imagick::getImageOrientation
La classe Imagick


Lit l'orientation de l'image

Imagick::getImageMatteColor
Imagick::getImagePage
La classe Imagick
PHP Manual

Imagick::getImageOrientation

(PECL imagick 2.0.0)

Imagick::getImageOrientation — Lit l'orientation de l'image

Description

int Imagick::getImageOrientation ( void )

Lit l'orientation de l'image. La valeur retournée est une des constantes d'orientation.

Valeurs de retour

Retourne un entier en cas de succès. Émet une exception ImagickException en cas d'échec.

Imagick::getImageMatteColor
Imagick::getImagePage
La classe Imagick


Retourne la géométrie de la page

Imagick::getImageOrientation
Imagick::getImagePixelColor
La classe Imagick
PHP Manual

Imagick::getImagePage

(PECL imagick 2.0.0)

Imagick::getImagePage — Retourne la géométrie de la page

Description

array Imagick::getImagePage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la géométrie de la page d'une image, sous la forme d'un tableau avec les clés "width", "height", "x" et "y".

Valeurs de retour

Retourne la géométrie de la page d'une image, sous la forme d'un tableau avec les clés "width", "height", "x" et "y".

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageOrientation
Imagick::getImagePixelColor
La classe Imagick


Retourne la couleur d'un pixel

Imagick::getImagePage
Imagick::getImageProfile
La classe Imagick
PHP Manual

Imagick::getImagePixelColor

(PECL imagick 2.0.0)

Imagick::getImagePixelColor — Retourne la couleur d'un pixel

Description

ImagickPixel Imagick::getImagePixelColor ( int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur d'un pixel.

Liste de paramètres

x

L'abscisse du pixel

y

L'ordonnée du pixel

Valeurs de retour

Retourne un objet ImagickPixel qui représente la couleur, pour ces coordonnées. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImagePage
Imagick::getImageProfile
La classe Imagick


Retourne un profil d'une image

Imagick::getImagePixelColor
Imagick::getImageProfiles
La classe Imagick
PHP Manual

Imagick::getImageProfile

(PECL imagick 2.0.0)

Imagick::getImageProfile — Retourne un profil d'une image

Description

string Imagick::getImageProfile ( string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un profil d'une image, à partir de son nom.

Liste de paramètres

name

Le nom du profil à lire.

Valeurs de retour

Retourne une chaîne contenant le profile de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImagePixelColor
Imagick::getImageProfiles
La classe Imagick


Retourne les profils de l'image

Imagick::getImageProfile
Imagick::getImageProperties
La classe Imagick
PHP Manual

Imagick::getImageProfiles

(PECL imagick 2.0.0)

Imagick::getImageProfiles — Retourne les profils de l'image

Description

array Imagick::getImageProfiles ([ string $pattern = "*" [, bool $only_names = true ]] )

Retourne les profils de l'image qui correspondent à un modèle. Si TRUE est passé comme second paramètre, seul les noms des profils sont retournés. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

pattern

Le modèle de profile à lire.

only_names

S'il faut retourner seulement les noms des profils. Si FALSE est fourni, les valeurs seront également retournées.

Valeurs de retour

Retourne un tableau avec les profils de l'image, ou bien seulement les noms des profils.

Imagick::getImageProfile
Imagick::getImageProperties
La classe Imagick


Retourne les propriétés EXIF de l'image

Imagick::getImageProfiles
Imagick::getImageProperty
La classe Imagick
PHP Manual

Imagick::getImageProperties

(PECL imagick 2.0.0)

Imagick::getImageProperties — Retourne les propriétés EXIF de l'image

Description

array Imagick::getImageProperties ([ string $pattern = "*" [, bool $only_names = true ]] )

Retourne toutes les propriétés de l'image, qui satisfont un modèle. Si TRUE est passé comme second paramètre, seul les noms des propriétés sont retournés. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

pattern

Le modèle pour les noms de propriétés.

only_names

S'il faut retourner uniquement les noms des propriétés. Si FALSE est fourni, alors les valeurs seront aussi retournées.

Valeurs de retour

Retourne un tableau contenant les propriétés de l'image, ou leurs noms.

Exemples

Exemple #1 Exemple avec Imagick::getImageProperties()

Exemple d'extraction d'informations EXIF.

<?php

/* Crée un objet */
$im = new imagick("/path/to/example.jpg");

/* Lit les informations EXIF */
$exifArray = $im->getImageProperties("exif:*");

/* Passe en revue les propriétés EXIF */
foreach ($exifArray as $name => $property)
{
    echo "{$name} => {$property}<br />\n";
}

?>

Imagick::getImageProfiles
Imagick::getImageProperty
La classe Imagick


Retourne une propriété d'une image

Imagick::getImageProperties
Imagick::getImageRedPrimary
La classe Imagick
PHP Manual

Imagick::getImageProperty

(PECL imagick 2.0.0)

Imagick::getImageProperty — Retourne une propriété d'une image

Description

string Imagick::getImageProperty ( string $name )

Retourne une propriété d'une image. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.

Liste de paramètres

name

Le nom de la propriété (par exemple, Exif:DateTime)

Exemples

Exemple #1 Exemple avec Imagick::getImageProperty()

Définition et récupération des propriétés de l'image.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Voir aussi

  • Imagick::setImageProperty() - Configure une propriété d'image

Valeurs de retour

Retourne une propriété d'une image, ou FALSE si le nom demandé n'existe pas.

Imagick::getImageProperties
Imagick::getImageRedPrimary
La classe Imagick


Retourne la chromacité du point rouge

Imagick::getImageProperty
Imagick::getImageRegion
La classe Imagick
PHP Manual

Imagick::getImageRedPrimary

(PECL imagick 2.0.0)

Imagick::getImageRedPrimary — Retourne la chromacité du point rouge

Description

array Imagick::getImageRedPrimary ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la chromacité du point rouge sous la forme d'un tableau avec les clés "x" et "y".

Valeurs de retour

Retourne la chromacité du point rouge sous la forme d'un tableau avec les clés "x" et "y". Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageProperty
Imagick::getImageRegion
La classe Imagick


Extrait une région d'une image

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
La classe Imagick
PHP Manual

Imagick::getImageRegion

(PECL imagick 2.0.0)

Imagick::getImageRegion — Extrait une région d'une image

Description

Imagick Imagick::getImageRegion ( int $width , int $height , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Extrait une région d'une image et la retourne sous la forme d'un nouvel objet Imagick.

Liste de paramètres

width

La largeur de la région extraite.

height

La hauteur de la région extraite.

x

L'abscisse du coin supérieur gauche de la région extraite.

y

L'ordonnée du coin supérieur gauche de la région extraite.

Valeurs de retour

Extrait une région d'une image et la retourne sous la forme d'un nouvel objet Imagick. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
La classe Imagick


Lit la méthode de rendu de l'image

Imagick::getImageRegion
Imagick::getImageResolution
La classe Imagick
PHP Manual

Imagick::getImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::getImageRenderingIntent — Lit la méthode de rendu de l'image

Description

int Imagick::getImageRenderingIntent ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit la méthode de rendu de l'image.

Valeurs de retour

Retourne la constante de rendu. Émet une exception ImagickException en cas d'échec.

Imagick::getImageRegion
Imagick::getImageResolution
La classe Imagick


Lit les résolutions en X et Y d'une image

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
La classe Imagick
PHP Manual

Imagick::getImageResolution

(PECL imagick 2.0.0)

Imagick::getImageResolution — Lit les résolutions en X et Y d'une image

Description

array Imagick::getImageResolution ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit les résolutions en X et Y d'une image.

Valeurs de retour

Lit les résolutions en X et Y d'une image. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
La classe Imagick


Retourne toutes les images de la séquence en un BLOB

Imagick::getImageResolution
Imagick::getImageScene
La classe Imagick
PHP Manual

Imagick::getImagesBlob

(PECL imagick 2.0.0)

Imagick::getImagesBlob — Retourne toutes les images de la séquence en un BLOB

Description

string Imagick::getImagesBlob ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Implémente le formatage direct en mémoire. Il retourne toutes les images de la séquence sous forme de chaîne. Le format de l'image détermine le format du BLOB retourné (GIF, JPEG, PNG, etc.). Pour retourner un format d'image différent, utilisez Imagick::setImageFormat().

Valeurs de retour

Retourne une chaîne contenant toutes les images. Émet une exception ImagickException en cas d'échec.

Imagick::getImageResolution
Imagick::getImageScene
La classe Imagick


Retourne la scène de l'image

Imagick::getImagesBlob
Imagick::getImageSignature
La classe Imagick
PHP Manual

Imagick::getImageScene

(PECL imagick 2.0.0)

Imagick::getImageScene — Retourne la scène de l'image

Description

int Imagick::getImageScene ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la scène de l'image.

Valeurs de retour

Retourne la scène de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImagesBlob
Imagick::getImageSignature
La classe Imagick


Génère une signature SHA-256

Imagick::getImageScene
Imagick::getImageSize
La classe Imagick
PHP Manual

Imagick::getImageSignature

(PECL imagick 2.0.0)

Imagick::getImageSignature — Génère une signature SHA-256

Description

string Imagick::getImageSignature ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Génère une signature SHA-256 de l'image.

Valeurs de retour

Retourne une chaîne contenant la signature SHA-256 de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageScene
Imagick::getImageSize
La classe Imagick


Retourne la taille de l'image en octets

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
La classe Imagick
PHP Manual

Imagick::getImageSize

(PECL imagick 2.0.0)

Imagick::getImageSize — Retourne la taille de l'image en octets

Description

int Imagick::getImageSize ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la taille de l'image en octets.

Valeurs de retour

Retourne un entier représentant la taille de l'image en octets.

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
La classe Imagick


Lit les ticks-par-seconde de l'image

Imagick::getImageSize
Imagick::getImageTotalInkDensity
La classe Imagick
PHP Manual

Imagick::getImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::getImageTicksPerSecond — Lit les ticks-par-seconde de l'image

Description

int Imagick::getImageTicksPerSecond ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit les ticks-par-seconde de l'image.

Valeurs de retour

Lit les ticks-par-seconde de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageSize
Imagick::getImageTotalInkDensity
La classe Imagick


Lit la densité totale d'encre de l'image

Imagick::getImageTicksPerSecond
Imagick::getImageType
La classe Imagick
PHP Manual

Imagick::getImageTotalInkDensity

(PECL imagick 2.0.0)

Imagick::getImageTotalInkDensity — Lit la densité totale d'encre de l'image

Description

float Imagick::getImageTotalInkDensity ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit la densité totale d'encre de l'image.

Valeurs de retour

Lit la densité totale d'encre de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageTicksPerSecond
Imagick::getImageType
La classe Imagick


Lit le type possible d'image

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
La classe Imagick
PHP Manual

Imagick::getImageType

(PECL imagick 0.9.10-0.9.9)

Imagick::getImageType — Lit le type possible d'image

Description

int Imagick::getImageType ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le type possible d'image.

Valeurs de retour

Lit le type possible d'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
La classe Imagick


Retourne les unités de résolution de l'image

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
La classe Imagick
PHP Manual

Imagick::getImageUnits

(PECL imagick 2.0.0)

Imagick::getImageUnits — Retourne les unités de résolution de l'image

Description

int Imagick::getImageUnits ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne les unités de résolution de l'image.

Valeurs de retour

Retourne les unités de résolution de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
La classe Imagick


Retourne la méthode du pixel virtuel

Imagick::getImageUnits
Imagick::getImageWhitePoint
La classe Imagick
PHP Manual

Imagick::getImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::getImageVirtualPixelMethod — Retourne la méthode du pixel virtuel

Description

int Imagick::getImageVirtualPixelMethod ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la méthode du pixel virtuel pour l'image spécifiée.

Valeurs de retour

Retourne la méthode du pixel virtuel pour l'image spécifiée. Émet une exception ImagickException en cas d'échec.

Imagick::getImageUnits
Imagick::getImageWhitePoint
La classe Imagick


Retourne la chromacité du point blanc

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
La classe Imagick
PHP Manual

Imagick::getImageWhitePoint

(PECL imagick 2.0.0)

Imagick::getImageWhitePoint — Retourne la chromacité du point blanc

Description

array Imagick::getImageWhitePoint ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la chromacité du point blanc, sous la forme d'un tableau associatif avec les clés "x" et "y".

Valeurs de retour

Retourne la chromacité du point blanc, sous la forme d'un tableau associatif avec les clés "x" et "y". Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
La classe Imagick


Retourne la largeur de l'image

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
La classe Imagick
PHP Manual

Imagick::getImageWidth

(PECL imagick 2.0.0)

Imagick::getImageWidth — Retourne la largeur de l'image

Description

int Imagick::getImageWidth ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la largeur de l'image.

Valeurs de retour

Retourne la largeur de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
La classe Imagick


Lit le schéma d'entrelacement de l'objet

Imagick::getImageWidth
Imagick::getIteratorIndex
La classe Imagick
PHP Manual

Imagick::getInterlaceScheme

(PECL imagick 2.0.0)

Imagick::getInterlaceScheme — Lit le schéma d'entrelacement de l'objet

Description

int Imagick::getInterlaceScheme ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le schéma d'entrelacement de l'objet.

Valeurs de retour

Lit la constante d'entrelacement. Émet une exception ImagickException en cas d'échec.

Imagick::getImageWidth
Imagick::getIteratorIndex
La classe Imagick


Lit l'index de l'image active courante

Imagick::getInterlaceScheme
Imagick::getNumberImages
La classe Imagick
PHP Manual

Imagick::getIteratorIndex

(PECL imagick 2.0.0)

Imagick::getIteratorIndex — Lit l'index de l'image active courante

Description

int Imagick::getIteratorIndex ( void )

Lit l'index de l'image active courante dans l'objet Imagick. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Retourne un entier représentant l'index de l'image dans la file d'attente. Émet une exception ImagickException en cas d'échec.

Exemples

Exemple #1 Exemple avec Imagick::getIteratorIndex()

Crée des images, définit et récupère l'index de l'itérateur.

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Voir aussi

  • Imagick::setIteratorIndex() - Déplace l'itérateur
  • Imagick::getImageIndex() - Lit l'index de l'image courante
  • Imagick::setImageIndex() - Modifie la position de l'itérateur

Imagick::getInterlaceScheme
Imagick::getNumberImages
La classe Imagick


Retourne le nombre d'images d'un objet

Imagick::getIteratorIndex
Imagick::getOption
La classe Imagick
PHP Manual

Imagick::getNumberImages

(PECL imagick 2.0.0)

Imagick::getNumberImages — Retourne le nombre d'images d'un objet

Description

int Imagick::getNumberImages ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le nombre d'image d'un objet Imagick.

Valeurs de retour

Retourne le nombre d'image d'un objet Imagick. Émet une exception ImagickException en cas d'échec.

Imagick::getIteratorIndex
Imagick::getOption
La classe Imagick


Retourne la valeur d'une option

Imagick::getNumberImages
Imagick::getPackageName
La classe Imagick
PHP Manual

Imagick::getOption

(PECL imagick 2.0.0)

Imagick::getOption — Retourne la valeur d'une option

Description

string Imagick::getOption ( string $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la valeur d'une option pour l'objet Imagick.

Liste de paramètres

key

Le nom de l'option

Valeurs de retour

Retourne la valeur associée à l'option. Émet une exception ImagickException en cas d'échec.

Imagick::getNumberImages
Imagick::getPackageName
La classe Imagick


Retourne le nom du paquet ImageMagick

Imagick::getOption
Imagick::getPage
La classe Imagick
PHP Manual

Imagick::getPackageName

(PECL imagick 2.0.0)

Imagick::getPackageName — Retourne le nom du paquet ImageMagick

Description

string Imagick::getPackageName ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le nom du paquet ImageMagick.

Valeurs de retour

Retourne le nom du paquet ImageMagick. Émet une exception ImagickException en cas d'échec.

Imagick::getOption
Imagick::getPage
La classe Imagick


Retourne la géométrie de la page

Imagick::getPackageName
Imagick::getPixelIterator
La classe Imagick
PHP Manual

Imagick::getPage

(PECL imagick 2.0.0)

Imagick::getPage — Retourne la géométrie de la page

Description

array Imagick::getPage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la géométrie de l'objet Imagick, sous forme d'un tableau associatif, avec les clés "width", "height", "x" et "y".

Valeurs de retour

Retourne la géométrie de l'objet Imagick, sous forme d'un tableau associatif, avec les clés "width", "height", "x" et "y". Émet une exception ImagickException en cas d'échec.

Imagick::getPackageName
Imagick::getPixelIterator
La classe Imagick


Retourne un MagickPixelIterator

Imagick::getPage
Imagick::getPixelRegionIterator
La classe Imagick
PHP Manual

Imagick::getPixelIterator

(PECL imagick 2.0.0)

Imagick::getPixelIterator — Retourne un MagickPixelIterator

Description

ImagickPixelIterator Imagick::getPixelIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un MagickPixelIterator.

Valeurs de retour

Retourne un objet MagickPixelIterator. Émet une exception ImagickException en cas d'échec.

Imagick::getPage
Imagick::getPixelRegionIterator
La classe Imagick


Lit un objet ImagickPixelIterator pour une section d'image

Imagick::getPixelIterator
Imagick::getPointSize
La classe Imagick
PHP Manual

Imagick::getPixelRegionIterator

(PECL imagick 2.0.0)

Imagick::getPixelRegionIterator — Lit un objet ImagickPixelIterator pour une section d'image

Description

ImagickPixelIterator Imagick::getPixelRegionIterator ( int $x , int $y , int $columns , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit un objet ImagickPixelIterator pour une section d'image.

Liste de paramètres

x

L'abscisse de la région.

y

L'ordonnée de la région.

columns

La largeur de la région.

rows

La hauteur de la région.

Valeurs de retour

Retourne un objet ImagickPixelIterator pour une section d'image. Émet une exception ImagickException en cas d'échec.

Imagick::getPixelIterator
Imagick::getPointSize
La classe Imagick


Gets point size

Imagick::getPixelRegionIterator
Imagick::getQuantumDepth
La classe Imagick
PHP Manual

Imagick::getPointSize

(No version information available, might only be in SVN)

Imagick::getPointSize — Gets point size

Description

string Imagick::getPointSize ( void )

Returns the objects point size property. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.

Valeurs de retour

Returns a nombre décimal containing the point size.

Voir aussi

  • Imagick::setPointSize() - Sets point size

Imagick::getPixelRegionIterator
Imagick::getQuantumDepth
La classe Imagick


Lit la profondeur quantique

Imagick::getPointSize
Imagick::getQuantumRange
La classe Imagick
PHP Manual

Imagick::getQuantumDepth

(PECL imagick 2.0.0)

Imagick::getQuantumDepth — Lit la profondeur quantique

Description

array Imagick::getQuantumDepth ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la profondeur quantique, sous forme de chaîne.

Valeurs de retour

Retourne la profondeur quantique, sous forme de chaîne. Émet une exception ImagickException en cas d'échec.

Imagick::getPointSize
Imagick::getQuantumRange
La classe Imagick


Retourne l'intervalle quantique de Imagick

Imagick::getQuantumDepth
Imagick::getReleaseDate
La classe Imagick
PHP Manual

Imagick::getQuantumRange

(PECL imagick 2.0.0)

Imagick::getQuantumRange — Retourne l'intervalle quantique de Imagick

Description

array Imagick::getQuantumRange ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'intervalle quantique de Imagick, sous forme de chaîne.

Valeurs de retour

Retourne l'intervalle quantique de Imagick, sous forme de chaîne. Émet une exception ImagickException en cas d'échec.

Imagick::getQuantumDepth
Imagick::getReleaseDate
La classe Imagick


Retourne la date de publication de ImageMagick

Imagick::getQuantumRange
Imagick::getResource
La classe Imagick
PHP Manual

Imagick::getReleaseDate

(PECL imagick 2.0.0)

Imagick::getReleaseDate — Retourne la date de publication de ImageMagick

Description

string Imagick::getReleaseDate ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la date de publication de ImageMagick, sous forme de chaîne.

Valeurs de retour

Retourne la date de publication de ImageMagick, sous forme de chaîne. Émet une exception ImagickException en cas d'échec.

Imagick::getQuantumRange
Imagick::getResource
La classe Imagick


Retourne la consommation de mémoire de la ressource

Imagick::getReleaseDate
Imagick::getResourceLimit
La classe Imagick
PHP Manual

Imagick::getResource

(PECL imagick 2.0.0)

Imagick::getResource — Retourne la consommation de mémoire de la ressource

Description

int Imagick::getResource ( int $type )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la consommation de mémoire de la ressource, en megaoctets.

Liste de paramètres

type

Voyez la liste des constantes de type de ressources.

Valeurs de retour

Retourne la consommation de mémoire de la ressource, en megaoctets. Émet une exception ImagickException en cas d'échec.

Imagick::getReleaseDate
Imagick::getResourceLimit
La classe Imagick


Retourne la limite de la ressource

Imagick::getResource
Imagick::getSamplingFactors
La classe Imagick
PHP Manual

Imagick::getResourceLimit

(PECL imagick 2.0.0)

Imagick::getResourceLimit — Retourne la limite de la ressource

Description

int Imagick::getResourceLimit ( int $type )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la limite de la ressource, en megaoctets.

Liste de paramètres

type

Voyez la liste des constantes de type de ressources.

Valeurs de retour

Retourne la limite de la ressource spécifiée, en megaoctets. Émet une exception ImagickException en cas d'échec.

Imagick::getResource
Imagick::getSamplingFactors
La classe Imagick


Lit le facteur d'échantillonnage horizontal et vertical

Imagick::getResourceLimit
Imagick::getSize
La classe Imagick
PHP Manual

Imagick::getSamplingFactors

(PECL imagick 2.0.0)

Imagick::getSamplingFactors — Lit le facteur d'échantillonnage horizontal et vertical

Description

array Imagick::getSamplingFactors ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le facteur d'échantillonnage horizontal et vertical.

Valeurs de retour

Retourne un tableau associatif avec les facteurs d'échantillonnage horizontal et vertical de limage. Émet une exception ImagickException en cas d'échec.

Imagick::getResourceLimit
Imagick::getSize
La classe Imagick


Retourne la taille associée avec un objet Imagick

Imagick::getSamplingFactors
Imagick::getSizeOffset
La classe Imagick
PHP Manual

Imagick::getSize

(PECL imagick 2.0.0)

Imagick::getSize — Retourne la taille associée avec un objet Imagick

Description

array Imagick::getSize ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la taille associée avec un objet Imagick, sous forme de tableau, avec les clés "columns" (colonnes) et "rows" (lignes).

Valeurs de retour

Retourne la taille associée avec un objet Imagick, sous forme de tableau, avec les clés "columns" (colonnes) et "rows" (lignes).

Imagick::getSamplingFactors
Imagick::getSizeOffset
La classe Imagick


Retourne la taille de la position

Imagick::getSize
Imagick::getVersion
La classe Imagick
PHP Manual

Imagick::getSizeOffset

(PECL imagick 2.0.0)

Imagick::getSizeOffset — Retourne la taille de la position

Description

int Imagick::getSizeOffset ( void )

Retourne la taille de la position associée avec l'objet Imagick. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Retourne la taille de la position associée avec l'objet Imagick. Émet une exception ImagickException en cas d'échec.

Imagick::getSize
Imagick::getVersion
La classe Imagick


Retourne l'API de ImageMagick API

Imagick::getSizeOffset
Imagick::haldClutImage
La classe Imagick
PHP Manual

Imagick::getVersion

(PECL imagick 2.0.0)

Imagick::getVersion — Retourne l'API de ImageMagick API

Description

array Imagick::getVersion ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la version de l'APIImageMagick API, sous forme de chaîne et de nombre.

Valeurs de retour

Retourne la version de l'APIImageMagick API, sous forme de chaîne et de nombre. Émet une exception ImagickException en cas d'échec.

Imagick::getSizeOffset
Imagick::haldClutImage
La classe Imagick


Replaces colors in the image

Imagick::getVersion
Imagick::hasNextImage
La classe Imagick
PHP Manual

Imagick::haldClutImage

(No version information available, might only be in SVN)

Imagick::haldClutImage — Replaces colors in the image

Description

public boolean Imagick::haldClutImage ( Imagick $clut [, int $channel ] )

Replaces colors in the image using a Hald lookup table. Hald images can be created using HALD color coder.

Liste de paramètres

clut

Imagick object containing the Hald lookup image.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::getVersion
Imagick::hasNextImage
La classe Imagick


Vérifie si un objet a une image suivante

Imagick::haldClutImage
Imagick::hasPreviousImage
La classe Imagick
PHP Manual

Imagick::hasNextImage

(PECL imagick 2.0.0)

Imagick::hasNextImage — Vérifie si un objet a une image suivante

Description

bool Imagick::hasNextImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si l'objet a encore des images, pour passer en revue la liste.

Valeurs de retour

Retourne TRUE si l'objet a une image suivante, et FALSE sinon.

Imagick::haldClutImage
Imagick::hasPreviousImage
La classe Imagick


Vérifie si un objet a une image précédente

Imagick::hasNextImage
Imagick::identifyImage
La classe Imagick
PHP Manual

Imagick::hasPreviousImage

(PECL imagick 2.0.0)

Imagick::hasPreviousImage — Vérifie si un objet a une image précédente

Description

bool Imagick::hasPreviousImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si l'objet a une image précédente, pour pouvoir passer en revue la liste en ordre inverse.

Valeurs de retour

Retourne TRUE si l'objet a une image précédente, et FALSE sinon.

Imagick::hasNextImage
Imagick::identifyImage
La classe Imagick


Identifie une image et lit ses attributs

Imagick::hasPreviousImage
Imagick::implodeImage
La classe Imagick
PHP Manual

Imagick::identifyImage

(PECL imagick 2.0.0)

Imagick::identifyImage — Identifie une image et lit ses attributs

Description

array Imagick::identifyImage ([ bool $appendRawOutput = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Identifie une image et retourne ses attributs. Les attributs sont sa largeur, hauteur, taille et d'autres.

Liste de paramètres

appendRawOutput

Valeurs de retour

Identifie une image et retourne ses attributs. Les attributs sont sa largeur, hauteur, taille et d'autres. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::hasPreviousImage
Imagick::implodeImage
La classe Imagick


Crée une nouvelle copie d'image

Imagick::identifyImage
Imagick::importImagePixels
La classe Imagick
PHP Manual

Imagick::implodeImage

(PECL imagick 2.0.0)

Imagick::implodeImage — Crée une nouvelle copie d'image

Description

bool Imagick::implodeImage ( float $radius )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une nouvelle copie d'image, avec chaque pixels "implosé" par un pourcentage spécifique.

Liste de paramètres

radius

Le rayon de l'implosion

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::identifyImage
Imagick::importImagePixels
La classe Imagick


Imports image pixels

Imagick::implodeImage
Imagick::labelImage
La classe Imagick
PHP Manual

Imagick::importImagePixels

(No version information available, might only be in SVN)

Imagick::importImagePixels — Imports image pixels

Description

public bool Imagick::importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels )

Imports pixels from an array into an image. The map is usually 'RGB'. This method imposes the following constraints for the parameters: amount of pixels in the array must match width x height x length of the map. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.

Liste de paramètres

x

The image x position

y

The image y position

width

The image width

height

The image height

map

Map of pixel ordering as a string. This can be for example RGB. The value can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.

storage

The pixel storage method. Refer to this list of pixel constants.

pixels

The array of pixels

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Imagick::importImagePixels example

<?php

/* Generate array of pixels. 2000 pixels per color stripe */
$count = 2000 * 3;

$pixels =
   array_merge(array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0));

/* Width and height. The area is amount of pixels divided
   by three. Three comes from 'RGB', three values per pixel */
$width = $height = pow((count($pixels) / 3), 0.5);

/* Create empty image */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Import the pixels into image.
   width * height * strlen("RGB") must match count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

/* output as jpeg image */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Output of example : Imagick::importImagePixels()

Imagick::implodeImage
Imagick::labelImage
La classe Imagick


Ajoute un libelle à une image

Imagick::importImagePixels
Imagick::levelImage
La classe Imagick
PHP Manual

Imagick::labelImage

(PECL imagick 2.0.0)

Imagick::labelImage — Ajoute un libelle à une image

Description

bool Imagick::labelImage ( string $label )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un libelle à une image.

Liste de paramètres

label

Le libellé à ajouter

Valeurs de retour

Returns TRUE on success.

Imagick::importImagePixels
Imagick::levelImage
La classe Imagick


Ajuste les niveaux de l'image

Imagick::labelImage
Imagick::linearStretchImage
La classe Imagick
PHP Manual

Imagick::levelImage

(PECL imagick 2.0.0)

Imagick::levelImage — Ajuste les niveaux de l'image

Description

bool Imagick::levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajuste les niveaux d'une image en modifiant les couleurs qui sont entre deux couleurs données. Les paramètres représentent le noir, le gris et le blanc. Le noir est la couleur la plus sombre dans l'image. Les couleurs qui sont plus sombres que la couleur noire sont alors mises à zéro. La couleur grise spécifie une correction gamma à appliquer à l'image. La couleur blanche spécifie la couleur la plus claire. Les couleurs plus claires sont alors mises à l'intensité maximale.

Liste de paramètres

blackPoint

Le point noir de l'image

gamma

La correction gamma

whitePoint

Le point blanc de l'image

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::labelImage
Imagick::linearStretchImage
La classe Imagick


Étire la saturation de l'intensité de l'image

Imagick::levelImage
Imagick::liquidRescaleImage
La classe Imagick
PHP Manual

Imagick::linearStretchImage

(PECL imagick 2.0.0)

Imagick::linearStretchImage — Étire la saturation de l'intensité de l'image

Description

bool Imagick::linearStretchImage ( float $blackPoint , float $whitePoint )

Étire la saturation de l'intensité de l'image.

Liste de paramètres

blackPoint

Le point noir de l'image.

whitePoint

Le point blanc de l'image.

Valeurs de retour

Returns TRUE on success.

Imagick::levelImage
Imagick::liquidRescaleImage
La classe Imagick


Animates an image or images

Imagick::linearStretchImage
Imagick::magnifyImage
La classe Imagick
PHP Manual

Imagick::liquidRescaleImage

(No version information available, might only be in SVN)

Imagick::liquidRescaleImage — Animates an image or images

Description

bool Imagick::liquidRescaleImage ( int $width , int $height , float $delta_x , float $rigidity )

This method scales the images using liquid rescaling method. This method is an implementation of a technique called seam carving. In order for this method to work as expected ImageMagick must be compiled with liblqr support. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.9 ou supérieur.

Liste de paramètres

width

The width of the target size

height

The height of the target size

delta_x

How much the seam can traverse on x-axis. Passing 0 causes the seams to be straight.

rigidity

Introduces a bias for non-straight seams. This parameter is typically 0.

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::resizeImage() - Redimensionne une image

Imagick::linearStretchImage
Imagick::magnifyImage
La classe Imagick


Double la taille d'une image, proportionnellement

Imagick::liquidRescaleImage
Imagick::mapImage
La classe Imagick
PHP Manual

Imagick::magnifyImage

(PECL imagick 2.0.0)

Imagick::magnifyImage — Double la taille d'une image, proportionnellement

Description

bool Imagick::magnifyImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Cette méthode est un raccourci pour doubler la taille d'une image.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::liquidRescaleImage
Imagick::mapImage
La classe Imagick


Remplace la couleur d'une image par celle d'une image de référence

Imagick::magnifyImage
Imagick::matteFloodfillImage
La classe Imagick
PHP Manual

Imagick::mapImage

(PECL imagick 2.0.0)

Imagick::mapImage — Remplace la couleur d'une image par celle d'une image de référence

Description

bool Imagick::mapImage ( Imagick $map , bool $dither )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

map

dither

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::magnifyImage
Imagick::matteFloodfillImage
La classe Imagick


Change la transparence d'une couleur

Imagick::mapImage
Imagick::medianFilterImage
La classe Imagick
PHP Manual

Imagick::matteFloodfillImage

(PECL imagick 2.0.0)

Imagick::matteFloodfillImage — Change la transparence d'une couleur

Description

bool Imagick::matteFloodfillImage ( float $alpha , float $fuzz , mixed $bordercolor , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Change la transparence d'un pixel cible, et ses voisins immédiats. Si la méthode FillToBorderMethod est spécifiée, la valeur de la transparence est modifiée pour tous les pixels voisins qui ne correspondent pas à une couleur de bordercolor.

Liste de paramètres

alpha

Le niveau de transparence : 1.0 représente une couleur opaque, alors que 0.0 est totalement transparent.

fuzz

Cet argument représente la tolérance acceptable pour que deux couleurs soient considérées comme identiques.

bordercolor

Un objet ImagickPixel ou une chaîne représentant la couleur de bordure.

x

L'abscisse d'origine de l'opération.

y

L'ordonnée d'origine de l'opération.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::mapImage
Imagick::medianFilterImage
La classe Imagick


Applique un filtre numérique

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
La classe Imagick
PHP Manual

Imagick::medianFilterImage

(PECL imagick 2.0.0)

Imagick::medianFilterImage — Applique un filtre numérique

Description

bool Imagick::medianFilterImage ( float $radius )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique un filtre numérique qui améliore la qualité d'une image avec du bruit. Chaque pixel est remplacé par la médian de son voisinage. Le voisinage est définit par un rayon.

Liste de paramètres

radius

Le rayon du voisinage.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::matteFloodfillImage
Imagick::mergeImageLayers
La classe Imagick


Merges image layers

Imagick::medianFilterImage
Imagick::minifyImage
La classe Imagick
PHP Manual

Imagick::mergeImageLayers

(PECL imagick 2.1.0)

Imagick::mergeImageLayers — Merges image layers

Description

bool Imagick::mergeImageLayers ( int $layer_method )

Merges image layers into one. This method is useful when working with image formats that use multiple layers such as PSD. The merging is controlled using the layer_method which defines how the layers are merged. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.

Liste de paramètres

layer_method

One of the Imagick::LAYERMETHOD_* constants

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Voir aussi

  • Imagick::flattenImages() - Fusionne une séquence d'images

Imagick::medianFilterImage
Imagick::minifyImage
La classe Imagick


Met à l'échelle une image proportionnellement pour la réduire de moitié de taille

Imagick::mergeImageLayers
Imagick::modulateImage
La classe Imagick
PHP Manual

Imagick::minifyImage

(PECL imagick 2.0.0)

Imagick::minifyImage — Met à l'échelle une image proportionnellement pour la réduire de moitié de taille

Description

bool Imagick::minifyImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Cette fonction est un raccourci pratique pour mettre à l'échelle une image proportionnellement pour la réduire de moitié de taille.

Valeurs de retour

Returns TRUE on success.

Imagick::mergeImageLayers
Imagick::modulateImage
La classe Imagick


Contrôle la saturation, l'intensité et la teinte

Imagick::minifyImage
Imagick::montageImage
La classe Imagick
PHP Manual

Imagick::modulateImage

(PECL imagick 2.0.0)

Imagick::modulateImage — Contrôle la saturation, l'intensité et la teinte

Description

bool Imagick::modulateImage ( float $brightness , float $saturation , float $hue )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Contrôle l'intensité, la saturation et la teinte d'une image. La couleur est le pourcentage de rotation absolue depuis la position courante. Par exemple, la valeur 50 engendre une rotation anti-horaire de 90 degrés, 150 produit une rotation horaire de 90 degrés, tandis que 0 et 200 produisent des rotations de 180 degrés.

Liste de paramètres

brightness

saturation

hue

Valeurs de retour

Returns TRUE on success.

Imagick::minifyImage
Imagick::montageImage
La classe Imagick


Crée une image composite

Imagick::modulateImage
Imagick::morphImages
La classe Imagick
PHP Manual

Imagick::montageImage

(PECL imagick 2.0.0)

Imagick::montageImage — Crée une image composite

Description

Imagick Imagick::montageImage ( ImagickDraw $draw , string $tile_geometry , string $thumbnail_geometry , int $mode , string $frame )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une image composite en combinant plusieurs images. Les images sont utilisés comme carreaux dans l'image composite, avec leur nom optionnellement en dessous.

Liste de paramètres

draw

Le nom de la police, la taille et la couleur sont demandés à cet objet.

tile_geometry

Le nombre de carreaux par lignes et par page (e.g. 6x4+0+0).

thumbnail_geometry

La taille demandée pour l'image et sa bordure pour chaque miniature (e.g. 120x120+4+3).

mode

Le mode de cadrage des miniatures. Voyez la liste des constantes de mode de montage.

frame

Encadre l'image avec un bord d'ornement (e.g. 15x15+3+3). La couleur du bord est la couleur mate de la miniature.

Valeurs de retour

Returns TRUE on success.

Imagick::modulateImage
Imagick::morphImages
La classe Imagick


Réalise un morphing entre deux images

Imagick::montageImage
Imagick::mosaicImages
La classe Imagick
PHP Manual

Imagick::morphImages

(PECL imagick 2.0.0)

Imagick::morphImages — Réalise un morphing entre deux images

Description

Imagick Imagick::morphImages ( int $number_frames )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Réalise un morphing d'images. La taille et la couleur des pixels sont linéairement interpolés pour donner l'apparence d'une métamorphose d'une image à l'autre.

Liste de paramètres

number_frames

Le nombre d'images à générer entre les deux images.

Valeurs de retour

Cette méthode retourne un nouvel objet Imagick. Émet une exception ImagickException en cas d'échec.

Imagick::montageImage
Imagick::mosaicImages
La classe Imagick


Forme une mosaïque d'images

Imagick::morphImages
Imagick::motionBlurImage
La classe Imagick
PHP Manual

Imagick::mosaicImages

(PECL imagick 2.0.0)

Imagick::mosaicImages — Forme une mosaïque d'images

Description

Imagick Imagick::mosaicImages ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Aligne les images d'une séquence pour former une seule image cohérente. La fonction retourne une baguette avec chaque image de la séquence, à l'endroit du décalage de l'image.

Valeurs de retour

Returns TRUE on success.

Imagick::morphImages
Imagick::motionBlurImage
La classe Imagick


Ajout un flou de déplacement

Imagick::mosaicImages
Imagick::negateImage
La classe Imagick
PHP Manual

Imagick::motionBlurImage

(PECL imagick 2.0.0)

Imagick::motionBlurImage — Ajout un flou de déplacement

Description

bool Imagick::motionBlurImage ( float $radius , float $sigma , float $angle [, int $channel = Imagick::CHANNEL_DEFAULT ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un flou de déplacement. Une convolution de l'image avec un opérateur gaussien, pour un rayon et une déviation donnée est utilisé. Pour des résultats raisonnables, le rayon doit être plus grand que la déviation. Utilisez un rayon de zéro, et Imagick va choisir sa valeur pour vous. L'angle donne la direction du flou de déplacement.

Liste de paramètres

radius

Le rayon de la gaussienne, en pixel, sans compter le pixel du centre.

sigma

La déviation standard de la gaussienne, en pixels.

angle

L'angle du flou.

channel

Une constante de canal, valide pour votre mode de canal. Pour spécifier un ou plusieurs canaux, combinez les constantes de canaux avec les opérateurs logiques. Voyez la liste de constantes de canaux. L'argument de canal est disponible uniquement si Imagick est compilé avec ImageMagick, version 6.4.4 ou plus récent.

Valeurs de retour

Returns TRUE on success.

Imagick::mosaicImages
Imagick::negateImage
La classe Imagick


Effectue la négation des couleurs d'une image de référence

Imagick::motionBlurImage
Imagick::newImage
La classe Imagick
PHP Manual

Imagick::negateImage

(PECL imagick 2.0.0)

Imagick::negateImage — Effectue la négation des couleurs d'une image de référence

Description

bool Imagick::negateImage ( bool $gray [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Effectue la négation des couleurs d'une image de référence. L'option de niveau de gris signifie que seul les valeurs en niveau de gris de l'image sont soumises à la transformation.

Liste de paramètres

gray

S'il faut effectuer la négation sur les niveaux de gris.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::motionBlurImage
Imagick::newImage
La classe Imagick


Crée une nouvelle image

Imagick::negateImage
Imagick::newPseudoImage
La classe Imagick
PHP Manual

Imagick::newImage

(PECL imagick 2.0.0)

Imagick::newImage — Crée une nouvelle image

Description

bool Imagick::newImage ( int $cols , int $rows , mixed $background [, string $format ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une nouvelle image et lui associe un objet ImagickPixel pour la couleur de fond

Liste de paramètres

cols

Le nombre de colonnes de la nouvelle image

rows

Le nombre de lignes de la nouvelle image

background

La couleur de fond utilisée pour cette image

format

Le format de l'image. Ce paramètre a été ajouté en Imagick version 2.0.1.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Exemples

Exemple #1 Exemple avec Imagick::newImage()

Crée une nouvelle image et l'affiche.

<?php

$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

?>

Imagick::negateImage
Imagick::newPseudoImage
La classe Imagick


Crée une nouvelle image

Imagick::newImage
Imagick::nextImage
La classe Imagick
PHP Manual

Imagick::newPseudoImage

(PECL imagick 2.0.0)

Imagick::newPseudoImage — Crée une nouvelle image

Description

bool Imagick::newPseudoImage ( int $columns , int $rows , string $pseudoString )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une nouvelle image en utilisant les pseudoformats ImageMagick.

Liste de paramètres

columns

Le nombre de colonnes dans la nouvelle image

rows

Le nombre de lignes dans la nouvelle image

pseudoString

Une chaîne contenant une pseudodéfinition d'image.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::newImage
Imagick::nextImage
La classe Imagick


Passe à la prochaine image

Imagick::newPseudoImage
Imagick::normalizeImage
La classe Imagick
PHP Manual

Imagick::nextImage

(PECL imagick 2.0.0)

Imagick::nextImage — Passe à la prochaine image

Description

bool Imagick::nextImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Passe à la prochaine image dans la liste de l'objet Imagick.

Valeurs de retour

Returns TRUE on success.

Imagick::newPseudoImage
Imagick::normalizeImage
La classe Imagick


Améliore le contraste de l'image

Imagick::nextImage
Imagick::oilPaintImage
La classe Imagick
PHP Manual

Imagick::normalizeImage

(PECL imagick 2.0.0)

Imagick::normalizeImage — Améliore le contraste de l'image

Description

bool Imagick::normalizeImage ([ int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Améliore le contraste de l'image en ajustant la couleur des pixels à travers toute la gamme des couleurs de l'image.

Liste de paramètres

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Imagick::nextImage
Imagick::oilPaintImage
La classe Imagick


Simule une peinture à l'huile

Imagick::normalizeImage
Imagick::opaquePaintImage
La classe Imagick
PHP Manual

Imagick::oilPaintImage

(PECL imagick 2.0.0)

Imagick::oilPaintImage — Simule une peinture à l'huile

Description

bool Imagick::oilPaintImage ( float $radius )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique un filtre spéciale qui simule une peinture à l'huile. Chaque pixel est remplacé par la couleur la plus fréquente dans son voisinage.

Liste de paramètres

radius

Le rayon du voisinage circulaire.

Valeurs de retour

Returns TRUE on success.

Imagick::normalizeImage
Imagick::opaquePaintImage
La classe Imagick


Changes the color value of any pixel that matches target

Imagick::oilPaintImage
Imagick::optimizeImageLayers
La classe Imagick
PHP Manual

Imagick::opaquePaintImage

(No version information available, might only be in SVN)

Imagick::opaquePaintImage — Changes the color value of any pixel that matches target

Description

bool Imagick::opaquePaintImage ( mixed $target , mixed $fill , float $fuzz , bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Changes any pixel that matches color with the color defined by fill. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.

Liste de paramètres

target

ImagickPixel object or a string containing the color to change

fill

The replacement color

fuzz

La quantité de poussière de papier. Par exemple, le fait de définir la poussière de papier à 10 et la couleur rouge à une intensité de 100 et de 102 ne sera pas interprété comme la même couleur.

invert

If TRUE paints any pixel that does not match the target color.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Imagick::oilPaintImage
Imagick::optimizeImageLayers
La classe Imagick


Supprime les portions récurrents d'images à optimiser

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
La classe Imagick
PHP Manual

Imagick::optimizeImageLayers

(PECL imagick 2.0.0)

Imagick::optimizeImageLayers — Supprime les portions récurrents d'images à optimiser

Description

bool Imagick::optimizeImageLayers ( void )

Compare chaque image GIF à la précédente dans la séquence. A partir de là, la méthode tente de sélectionner la plus petite partie d'image à remplacer à chaque image, tout en préservant les résultats de l'animation. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::optimizeImageLayers()

Lecture, optimisation et écriture d'une image GIF

<?php
/* création d'un nouvel objet imagick */
$im = new Imagick("test.gif");

/* optimisation des calques */
$im->optimizeImageLayers();

/* écriture de l'image */
$im->writeImages("test_optimized.gif", true);
?>

Voir aussi

  • Imagick::compareImageLayers() - Retourne la région d'encadrement maximale entre deux images
  • Imagick::writeImages() - Écrit une image ou une séquence d'images
  • Imagick::writeImage() - Écrit une image dans le fichier spécifié

Imagick::opaquePaintImage
Imagick::orderedPosterizeImage
La classe Imagick


Effectue un dither ordonné

Imagick::optimizeImageLayers
Imagick::colorFloodfillImage
La classe Imagick
PHP Manual

Imagick::orderedPosterizeImage

(PECL imagick 2.2.2)

Imagick::orderedPosterizeImage — Effectue un dither ordonné

Description

bool Imagick::orderedPosterizeImage ( string $threshold_map [, int $channel = Imagick::CHANNEL_ALL ] )

Effectue un dither ordonné, basé sur un nombre prédéfini de cartes de seuil de dither, mais avec plusieurs niveaux d'intensité, qui peuvent être différents sur différents canaux, suivant les arguments. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.1 ou supérieur.

Liste de paramètres

threshold_map

Une chaîne contenant le nom de la carte de seuils de dither

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::optimizeImageLayers
Imagick::colorFloodfillImage
La classe Imagick


Change les pixels qui sont d'une couleur

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
La classe Imagick
PHP Manual

Imagick::colorFloodfillImage

(PECL imagick 2.0.0)

Imagick::colorFloodfillImage — Change les pixels qui sont d'une couleur

Description

bool Imagick::paintFloodfillImage ( mixed $fill , float $fuzz , mixed $bordercolor , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

Change les pixels qui correspondent à une couleur en une couleur de remplissage, et qui sont un voisin immédiat. Depuis ImageMagick 6.3.8, cette méthode est obsolète et la méthode Imagick::floodfillPaintImage() dot être utilisée à la place.

Liste de paramètres

fill

L'objet ImagickPixel ou une chaîne de caractères contenant la couleur de remplissage.

fuzz

La quantité de bruit. Par exemple, un bruit de 10 et la couleur rouge à l'intensité de 100 et 102, respectivement, sont maintenant interprété comme la même couleur, dans le cadre de ce remplissage.

bordercolor

Un objet ImagickPixel ou une chaîne de caractères contenant la couleur de la bordure

x

L'abscisse position d'origine du remplissage

y

L'ordonnée position d'origine du remplissage

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
La classe Imagick


Change les pixels qui sont d'une couleur

Imagick::colorFloodfillImage
Imagick::paintTransparentImage
La classe Imagick
PHP Manual

Imagick::paintOpaqueImage

(PECL imagick 2.0.0)

Imagick::paintOpaqueImage — Change les pixels qui sont d'une couleur

Description

bool Imagick::paintOpaqueImage ( mixed $target , mixed $fill , float $fuzz [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Change les pixels qui correspondent à une couleur en une couleur de remplissage.

Liste de paramètres

target

La couleur cible, avec son opacité. Un objet ImagickPixel ou bien une chaîne représentant la couleur cible.

fill

Un objet ImagickPixel ou une chaîne représentant une couleur de remplissage.

fuzz

Ce paramètre indique la tolérance qui permet de considérer que deux couleurs sont identiques.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::colorFloodfillImage
Imagick::paintTransparentImage
La classe Imagick


Remplit les pixels avec une couleur

Imagick::paintOpaqueImage
Imagick::pingImage
La classe Imagick
PHP Manual

Imagick::paintTransparentImage

(PECL imagick 2.0.0)

Imagick::paintTransparentImage — Remplit les pixels avec une couleur

Description

bool Imagick::paintTransparentImage ( mixed $target , float $alpha , float $fuzz )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Change les pixels qui correspondent à une couleur en une couleur de remplissage.

Liste de paramètres

target

La couleur cible, avec son opacité.

alpha

Le niveau de transparence : 1.0 est totalement opaque, et 0 est totalement transparent.

fuzz

Ce paramètre indique la tolérance qui permet de considérer que deux couleurs sont identiques.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::paintOpaqueImage
Imagick::pingImage
La classe Imagick


Lit des attributs simples sans ouvrir une image

Imagick::paintTransparentImage
Imagick::pingImageBlob
La classe Imagick
PHP Manual

Imagick::pingImage

(PECL imagick 2.0.0)

Imagick::pingImage — Lit des attributs simples sans ouvrir une image

Description

bool Imagick::pingImage ( string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Cette méthode peut être utilisée pour obtenir les dimensions de l'image sans lire toute l'image en mémoire.

Liste de paramètres

filename

Le nom du fichier qui contient l'image.

Valeurs de retour

Returns TRUE on success.

Imagick::paintTransparentImage
Imagick::pingImageBlob
La classe Imagick


Lit rapidement les attributs

Imagick::pingImage
Imagick::pingImageFile
La classe Imagick
PHP Manual

Imagick::pingImageBlob

(PECL imagick 2.0.0)

Imagick::pingImageBlob — Lit rapidement les attributs

Description

bool Imagick::pingImageBlob ( string $image )

Cette méthode peut être utilisée pour obtenir les dimensions de l'image sans lire toute l'image en mémoire. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

image

Une chaîne contenant l'image.

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::pingImageBlob()

Récupère une image depuis une chaîne

<?php
/* Lit le contenu de l'image */
$image = file_get_contents("test.jpg");

/* Crée un nouvel objet imagick */
$im = new Imagick();

/* Passe la chaîne à l'objet imagick */
$im->pingImageBlob($image);

/* Affiche les dimensions de l'image */
echo $im->getImageWidth() . 'x' . $im->getImageHeight();
?>

Voir aussi

  • Imagick::pingImage() - Lit des attributs simples sans ouvrir une image
  • Imagick::pingImageFile() - Lit les attributs simples d'une image
  • Imagick::readImage() - Lit une image depuis un fichier
  • Imagick::readImageBlob() - Lit une image depuis une chaîne binaire
  • Imagick::readImageFile() - Lit une image à partir d'une ressource fichier

Imagick::pingImage
Imagick::pingImageFile
La classe Imagick


Lit les attributs simples d'une image

Imagick::pingImageBlob
Imagick::polaroidImage
La classe Imagick
PHP Manual

Imagick::pingImageFile

(PECL imagick 2.0.0)

Imagick::pingImageFile — Lit les attributs simples d'une image

Description

bool Imagick::pingImageFile ( resource $filehandle [, string $fileName ] )

Cette méthode peut être utilisée pour connaître les dimensions d'une image, sans lire toute l'image. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

filehandle

Un flux ouvert sur une image.

fileName

Le nom du fichier d'image, optionnellement.

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::pingImageFile()

Ouverture d'une image distante.

<?php
/* Ouverture d'une image distante */
$fp = fopen("http://example.com/test.jpg");

/* Création d'un nouvel objet imagick */
$im = new Imagick();

/* Passe le gestionnaire à imagick */
$im->pingImageFile($fp);
?>

Voir aussi

  • Imagick::pingImage() - Lit des attributs simples sans ouvrir une image
  • Imagick::pingImageBlob() - Lit rapidement les attributs
  • Imagick::readImage() - Lit une image depuis un fichier
  • Imagick::readImageBlob() - Lit une image depuis une chaîne binaire
  • Imagick::readImageFile() - Lit une image à partir d'une ressource fichier

Imagick::pingImageBlob
Imagick::polaroidImage
La classe Imagick


Simule une photo Polaroid

Imagick::pingImageFile
Imagick::posterizeImage
La classe Imagick
PHP Manual

Imagick::polaroidImage

(PECL imagick 2.0.0)

Imagick::polaroidImage — Simule une photo Polaroid

Description

bool Imagick::polaroidImage ( ImagickDraw $properties , float $angle )

Simule une photo Polaroid. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.

Liste de paramètres

properties

Les propriétés Polaroid

angle

L'angle Polaroid

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::polaroidImage()

Un exemple d'utilisation de Imagick::polaroidImage()

<?php
/* Création de l'objet */
$image = new Imagick('source.png');

/* Définit l'opacité */
$image->polaroidImage(new ImagickDraw(), 25);

/* Affiche l'image */
header('Content-type: image/png');
echo $image;

?>

Imagick::pingImageFile
Imagick::posterizeImage
La classe Imagick


Réduit une image à un nombre limité de couleurs

Imagick::polaroidImage
Imagick::previewImages
La classe Imagick
PHP Manual

Imagick::posterizeImage

(PECL imagick 2.0.0)

Imagick::posterizeImage — Réduit une image à un nombre limité de couleurs

Description

bool Imagick::posterizeImage ( int $levels , bool $dither )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Réduit une image à un nombre limité de couleurs.

Liste de paramètres

levels

dither

Valeurs de retour

Returns TRUE on success.

Imagick::polaroidImage
Imagick::previewImages
La classe Imagick


Teste rapidement différents paramètres pour un traitement d'images

Imagick::posterizeImage
Imagick::previousImage
La classe Imagick
PHP Manual

Imagick::previewImages

(PECL imagick 2.0.0)

Imagick::previewImages — Teste rapidement différents paramètres pour un traitement d'images

Description

bool Imagick::previewImages ( int $preview )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée un panorama de 9 miniatures de l'image spécifiée avec un traitement appliqué à différents niveaux. Cela est pratique pour tester rapidement différents paramètres d'un filtre.

Liste de paramètres

preview

Type de prévisualisation. Voyez la liste des constantes de prévisualisation

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::posterizeImage
Imagick::previousImage
La classe Imagick


Passe à l'image précédente dans une séquence d'images

Imagick::previewImages
Imagick::profileImage
La classe Imagick
PHP Manual

Imagick::previousImage

(PECL imagick 2.0.0)

Imagick::previousImage — Passe à l'image précédente dans une séquence d'images

Description

bool Imagick::previousImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Passe à l'image précédente dans une séquence d'images Imagick.

Valeurs de retour

Returns TRUE on success.

Imagick::previewImages
Imagick::profileImage
La classe Imagick


Ajoute ou retire un profil d'une image

Imagick::previousImage
Imagick::quantizeImage
La classe Imagick
PHP Manual

Imagick::profileImage

(PECL imagick 2.0.0)

Imagick::profileImage — Ajoute ou retire un profil d'une image

Description

bool Imagick::profileImage ( string $name , string $profile )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute ou retire un profil ICC, IPTC ou générique d'une image. Si le profil est NULL il est retiré de l'image, et sinon, ajouté. Utilisez le nom de '*' et un profil NULL pour retirer tous les profils d'une image.

Liste de paramètres

name

profile

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::previousImage
Imagick::quantizeImage
La classe Imagick


Analyse les couleurs dans une référence d'image

Imagick::profileImage
Imagick::quantizeImages
La classe Imagick
PHP Manual

Imagick::quantizeImage

(PECL imagick 2.0.0)

Imagick::quantizeImage — Analyse les couleurs dans une référence d'image

Description

bool Imagick::quantizeImage ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

numberColors

colorspace

treedepth

dither

measureError

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::profileImage
Imagick::quantizeImages
La classe Imagick


Analyse les couleurs d'une séquence d'images

Imagick::quantizeImage
Imagick::queryFontMetrics
La classe Imagick
PHP Manual

Imagick::quantizeImages

(PECL imagick 2.0.0)

Imagick::quantizeImages — Analyse les couleurs d'une séquence d'images

Description

bool Imagick::quantizeImages ( int $numberColors , int $colorspace , int $treedepth , bool $dither , bool $measureError )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

numberColors

colorspace

treedepth

dither

measureError

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::quantizeImage
Imagick::queryFontMetrics
La classe Imagick


Retourne un tableau représentant les dimensions de la police

Imagick::quantizeImages
Imagick::queryFonts
La classe Imagick
PHP Manual

Imagick::queryFontMetrics

(PECL imagick 2.0.0)

Imagick::queryFontMetrics — Retourne un tableau représentant les dimensions de la police

Description

array Imagick::queryFontMetrics ( ImagickDraw $properties , string $text [, bool $multiline ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un tableau multi-dimensionnel représentant les dimensions de la police.

Liste de paramètres

properties

Un objet ImagickDraw contenant des attributs de police

text

Le texte

multiline

Un paramètre multiligne. S'il est laissé vide, il est auto-détecté.

Valeurs de retour

Retourne un tableau de plusieurs dimensions contenant les dimensions de la police. Émet une exception ImagickException en cas d'échec.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::queryFontMetrics()

Demande les dimensions du texte, et affiche les valeurs à l'écran

<?php
/* Crée un nouvel objet Imagick */
$im = new Imagick();

/* Crée un objet ImagickDraw */
$draw = new ImagickDraw();

/* Configure la police */
$draw->setFont('/path/to/font.ttf');

/* Affiche les dimensions de la police, auto-détecte le multiligne */
var_dump($im->queryFontMetrics($draw, "Hello World!"));
?>

Imagick::quantizeImages
Imagick::queryFonts
La classe Imagick


Retourne la liste de polices configurés

Imagick::queryFontMetrics
Imagick::queryFormats
La classe Imagick
PHP Manual

Imagick::queryFonts

(PECL imagick 2.0.0)

Imagick::queryFonts — Retourne la liste de polices configurés

Description

array Imagick::queryFonts ([ string $pattern = "*" ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la liste de polices configurés pour Imagick.

Liste de paramètres

pattern

Le modèle de recherche

Valeurs de retour

Retourne un tableau contenant les polices configurées. Émet une exception ImagickException en cas d'échec.

Imagick::queryFontMetrics
Imagick::queryFormats
La classe Imagick


Retourne les formats supportés par Imagick

Imagick::queryFonts
Imagick::radialBlurImage
La classe Imagick
PHP Manual

Imagick::queryFormats

(PECL imagick 2.0.0)

Imagick::queryFormats — Retourne les formats supportés par Imagick

Description

array Imagick::queryFormats ([ string $pattern = "*" ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne les formats supportés par Imagick.

Liste de paramètres

pattern

Valeurs de retour

Retourne un tableau contenant les formats supportés par Imagick. Émet une exception ImagickException en cas d'échec.

Imagick::queryFonts
Imagick::radialBlurImage
La classe Imagick


Flou radial d'une image

Imagick::queryFormats
Imagick::raiseImage
La classe Imagick
PHP Manual

Imagick::radialBlurImage

(PECL imagick 2.0.0)

Imagick::radialBlurImage — Flou radial d'une image

Description

bool Imagick::radialBlurImage ( float $angle [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Flou radial d'une image.

Liste de paramètres

angle

channel

Valeurs de retour

Returns TRUE on success.

Imagick::queryFormats
Imagick::raiseImage
La classe Imagick


Crée un effet 3D de bouton

Imagick::radialBlurImage
Imagick::randomThresholdImage
La classe Imagick
PHP Manual

Imagick::raiseImage

(PECL imagick 2.0.0)

Imagick::raiseImage — Crée un effet 3D de bouton

Description

bool Imagick::raiseImage ( int $width , int $height , int $x , int $y , bool $raise )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée un effet 3D de bouton, en éclairant et assombrissant les bords de l'image. Les membres width et height de raise_info définissent la largeur et la hauteur de l'effet vertical.

Liste de paramètres

width

height

x

y

raise

Valeurs de retour

Returns TRUE on success.

Imagick::radialBlurImage
Imagick::randomThresholdImage
La classe Imagick


Crée une image en deux couleurs, à haut contraste

Imagick::raiseImage
Imagick::readImage
La classe Imagick
PHP Manual

Imagick::randomThresholdImage

(PECL imagick 2.0.0)

Imagick::randomThresholdImage — Crée une image en deux couleurs, à haut contraste

Description

bool Imagick::randomThresholdImage ( float $low , float $high [, int $channel = Imagick::CHANNEL_ALL ] )

Change la valeur de chaque pixel en fonction de l'intensité de la couleur, et la compare à un seuil. Le résultat est une image en deux couleurs, à haut contraste. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

low

Le point inférieur.

high

Le point supérieur.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.

Valeurs de retour

Returns TRUE on success.

Imagick::raiseImage
Imagick::readImage
La classe Imagick


Lit une image depuis un fichier

Imagick::randomThresholdImage
Imagick::readImageBlob
La classe Imagick
PHP Manual

Imagick::readImage

(PECL imagick 0.9.0-0.9.9)

Imagick::readImage — Lit une image depuis un fichier

Description

bool Imagick::readImage ( string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit une image depuis un fichier.

Liste de paramètres

filename

Valeurs de retour

Returns TRUE on success.

Imagick::randomThresholdImage
Imagick::readImageBlob
La classe Imagick


Lit une image depuis une chaîne binaire

Imagick::readImage
Imagick::readImageFile
La classe Imagick
PHP Manual

Imagick::readImageBlob

(PECL imagick 2.0.0)

Imagick::readImageBlob — Lit une image depuis une chaîne binaire

Description

bool Imagick::readImageBlob ( string $image [, string $filename ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit une image depuis une chaîne binaire.

Liste de paramètres

image

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::readImage
Imagick::readImageFile
La classe Imagick


Lit une image à partir d'une ressource fichier

Imagick::readImageBlob
Imagick::recolorImage
La classe Imagick
PHP Manual

Imagick::readImageFile

(PECL imagick 2.0.0)

Imagick::readImageFile — Lit une image à partir d'une ressource fichier

Description

bool Imagick::readImageFile ( resource $filehandle [, string $fileName = null ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit une image à partir d'une ressource fichier.

Liste de paramètres

filehandle

fileName

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::readImageBlob
Imagick::recolorImage
La classe Imagick


Recolors image

Imagick::readImageFile
Imagick::reduceNoiseImage
La classe Imagick
PHP Manual

Imagick::recolorImage

(No version information available, might only be in SVN)

Imagick::recolorImage — Recolors image

Description

bool Imagick::recolorImage ( array $matrix )

Translate, scale, shear, or rotate image colors. This method supports variable sized matrices but normally 5x5 matrix is used for RGBA and 6x6 is used for CMYK. The last row should contain the normalized values. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

matrix

The matrix containing the color values

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::displayImage() - Affiche une image

Imagick::readImageFile
Imagick::reduceNoiseImage
La classe Imagick


Adoucit les contours d'une image

Imagick::recolorImage
Imagick::remapImage
La classe Imagick
PHP Manual

Imagick::reduceNoiseImage

(PECL imagick 2.0.0)

Imagick::reduceNoiseImage — Adoucit les contours d'une image

Description

bool Imagick::reduceNoiseImage ( float $radius )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Adoucit les contours d'une image, tout en préservant les informations de bords. L'algorithme fonctionne en remplaçant chaque pixel avec la valeur la plus proche de ses voisins. Un voisin est défini par un rayon. En utilisant un rayon de 0, Imagick::reduceNoiseImage() sélectionne un rayon automatiquement.

Liste de paramètres

radius

Le rayon de définition d'un voisin.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::recolorImage
Imagick::remapImage
La classe Imagick


Remaps image colors

Imagick::reduceNoiseImage
Imagick::removeImage
La classe Imagick
PHP Manual

Imagick::remapImage

(No version information available, might only be in SVN)

Imagick::remapImage — Remaps image colors

Description

public void Imagick::remapImage ( Imagick $replacement , int $DITHER )

Replaces colors an image with those defined by replacement. The colors are replaced with the closest possible color. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.

Liste de paramètres

replacement

An Imagick object containing the replacement colors

DITHER

Refer to this list of dither method constants

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::reduceNoiseImage
Imagick::removeImage
La classe Imagick


Retire une image de la liste

Imagick::remapImage
Imagick::removeImageProfile
La classe Imagick
PHP Manual

Imagick::removeImage

(PECL imagick 2.0.0)

Imagick::removeImage — Retire une image de la liste

Description

bool Imagick::removeImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retire une image de la liste.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::remapImage
Imagick::removeImageProfile
La classe Imagick


Supprime le profil de l'image et le retourne

Imagick::removeImage
Imagick::render
La classe Imagick
PHP Manual

Imagick::removeImageProfile

(PECL imagick 2.0.0)

Imagick::removeImageProfile — Supprime le profil de l'image et le retourne

Description

string Imagick::removeImageProfile ( string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Supprime le profil de l'image et le retourne.

Liste de paramètres

name

Valeurs de retour

Retourne une chaîne contenant le profil de l'image. Émet une exception ImagickException en cas d'échec.

Imagick::removeImage
Imagick::render
La classe Imagick


Affiche toute les commandes de dessins précédentes

Imagick::removeImageProfile
Imagick::resampleImage
La classe Imagick
PHP Manual

Imagick::render

(PECL imagick 2.0.0)

Imagick::render — Affiche toute les commandes de dessins précédentes

Description

bool Imagick::render ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Affiche toute les commandes de dessins précédentes.

Valeurs de retour

Returns TRUE on success.

Imagick::removeImageProfile
Imagick::resampleImage
La classe Imagick


Rééchantillonne l'image

Imagick::render
Imagick::resetImagePage
La classe Imagick
PHP Manual

Imagick::resampleImage

(PECL imagick 2.0.0)

Imagick::resampleImage — Rééchantillonne l'image

Description

bool Imagick::resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Rééchantillonne l'image à la résolution désirée.

Liste de paramètres

x_resolution

y_resolution

filter

blur

Valeurs de retour

Returns TRUE on success.

Imagick::render
Imagick::resetImagePage
La classe Imagick


Reset image page

Imagick::resampleImage
Imagick::resizeImage
La classe Imagick
PHP Manual

Imagick::resetImagePage

(No version information available, might only be in SVN)

Imagick::resetImagePage — Reset image page

Description

bool Imagick::resetImagePage ( string $page )

The page definition as a string. The string is in format WxH+x+y. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

page

The page definition. For example 7168x5147+0+0

Valeurs de retour

Returns TRUE on success.

Imagick::resampleImage
Imagick::resizeImage
La classe Imagick


Redimensionne une image

Imagick::resetImagePage
Imagick::rollImage
La classe Imagick
PHP Manual

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImage — Redimensionne une image

Description

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Redimensionne une image aux dimensions désirées, avec un filtre.

Note: Le comportement du paramètre bestfit a changé avec Imagick 3.0.0. Avant cette version, fournir les dimensions 400x400 à une image de dimensions 200x150 faisait que la partie gauche était inchangée. Avec Imagick 3.0.0 et suivants, l'image est réduite à la taille 400x300, sachant que c'est le meilleur résultat pour ces dimensions. Si le paramètre bestfit est utilisé, la largeur et la hauteur doivent être fournies.

Liste de paramètres

columns

La largeur de l'image cible.

rows

La hauteur de l'image cible.

filter

Une constante de filtre.

blur

Le facteur de flou, où > 1 est flou, et < 1 est net.

bestfit

Paramètre optionnel de fit.

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Ajout d'un paramètre optionnel de fit. Cette méthode supporte maintenant la mise à l'échelle proportionnelle. Passez zéro comme valeur de paramètre pour une mise à l'échelle proportionnelle.

Imagick::resetImagePage
Imagick::rollImage
La classe Imagick


Décale une image

Imagick::resizeImage
Imagick::rotateImage
La classe Imagick
PHP Manual

Imagick::rollImage

(PECL imagick 2.0.0)

Imagick::rollImage — Décale une image

Description

bool Imagick::rollImage ( int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Décale une image, d'un vecteur x, y.

Liste de paramètres

x

Le décalage en abscisse.

y

Le décalage en ordonnée.

Valeurs de retour

Returns TRUE on success.

Imagick::resizeImage
Imagick::rotateImage
La classe Imagick


Tourne une image

Imagick::rollImage
Imagick::roundCorners
La classe Imagick
PHP Manual

Imagick::rotateImage

(PECL imagick 2.0.0)

Imagick::rotateImage — Tourne une image

Description

bool Imagick::rotateImage ( mixed $background , float $degrees )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Tourne une image d'un nombre de degrés spécifié par degrees. Les triangles vides ainsi créés sont remplis avec la couleur de fond.

Liste de paramètres

background

La couleur de fond

degrees

Les degrés de rotation

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::rollImage
Imagick::roundCorners
La classe Imagick


Arrondit les coins d'un image

Imagick::rotateImage
Imagick::sampleImage
La classe Imagick
PHP Manual

Imagick::roundCorners

(PECL imagick 2.0.0)

Imagick::roundCorners — Arrondit les coins d'un image

Description

bool Imagick::roundCorners ( float $x_rounding , float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6 ]]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Arrondit les coins d'une image. Les deux premiers paramètres contrôlent le niveau d'arrondi, et le troisième peut être utilisé pour affiner ce processus. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

x_rounding

Arrondi en x

y_rounding

Arrondi en y

stroke_width

Largeur du trait

displace

Déplacement de l'image

size_correction

Correction de taille

Exemples

Exemple #1 Exemple avec Imagick::roundCorners():

Arrondit les coins d'une image.

<?php

$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");

$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>

Valeurs de retour

Returns TRUE on success.

Imagick::rotateImage
Imagick::sampleImage
La classe Imagick


Met à l'échelle une image avec échantillonnage de pixels

Imagick::roundCorners
Imagick::scaleImage
La classe Imagick
PHP Manual

Imagick::sampleImage

(PECL imagick 2.0.0)

Imagick::sampleImage — Met à l'échelle une image avec échantillonnage de pixels

Description

bool Imagick::sampleImage ( int $columns , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Met à l'échelle une image aux dimensions désirée, à l'aide de la méthode d'échantillonnage de pixels. Contrairement aux autres méthodes, cette méthode n'introduit pas de nouvelle couleur dans l'image.

Liste de paramètres

columns

rows

Valeurs de retour

Returns TRUE on success.

Imagick::roundCorners
Imagick::scaleImage
La classe Imagick


Met à l'échelle la taille de l'image

Imagick::sampleImage
Imagick::segmentImage
La classe Imagick
PHP Manual

Imagick::scaleImage

(PECL imagick 2.0.0)

Imagick::scaleImage — Met à l'échelle la taille de l'image

Description

bool Imagick::scaleImage ( int $cols , int $rows [, bool $bestfit = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Met à l'échelle la taille de l'image, aux dimensions voulues. Les autres paramètres seront calculés si 0 est pas dans l'un d'entre eux.

Note: Le comportement du paramètre bestfit a changé avec Imagick 3.0.0. Avant cette version, fournir les dimensions 400x400 à une image de dimensions 200x150 faisait que la partie gauche était inchangée. Avec Imagick 3.0.0 et suivants, l'image est réduite à la taille 400x300, sachant que c'est le meilleur résultat pour ces dimensions. Si le paramètre bestfit est utilisé, la largeur et la hauteur doivent être fournies.

Liste de paramètres

cols

rows

bestfit

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Ajout d'un paramètre optionnel de fit. Cette méthode supporte désormais la mise à l'échelle proportionnelle. Passez zéro dans l'un des paramètres pour activer cette option.

Imagick::sampleImage
Imagick::segmentImage
La classe Imagick


Segments an image

Imagick::scaleImage
Imagick::separateImageChannel
La classe Imagick
PHP Manual

Imagick::segmentImage

(No version information available, might only be in SVN)

Imagick::segmentImage — Segments an image

Description

public void Imagick::segmentImage ( int $COLORSPACE , float $cluster_threshold , float $smooth_threshold [, boolean $verbose ] )

Analyses the image and identifies units that are similar. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.

Liste de paramètres

COLORSPACE

One of the COLORSPACE constants.

cluster_threshold

A percentage describing minimum number of pixels contained in hexedra before it is considered valid.

smooth_threshold

Eliminates noise from the histogram.

verbose

Whether to output detailed information about recognised classes.

Valeurs de retour

Imagick::scaleImage
Imagick::separateImageChannel
La classe Imagick


Sépare un canal d'une image

Imagick::segmentImage
Imagick::sepiaToneImage
La classe Imagick
PHP Manual

Imagick::separateImageChannel

(PECL imagick 2.0.0)

Imagick::separateImageChannel — Sépare un canal d'une image

Description

bool Imagick::separateImageChannel ( int $channel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Sépare un canal d'une image, et retourne une image en niveaux de gris. Un canal est un composant de couleur particulier, de chaque pixel de l'image.

Liste de paramètres

channel

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::segmentImage
Imagick::sepiaToneImage
La classe Imagick


Passe une image en tons sépia

Imagick::separateImageChannel
Imagick::setBackgroundColor
La classe Imagick
PHP Manual

Imagick::sepiaToneImage

(PECL imagick 2.0.0)

Imagick::sepiaToneImage — Passe une image en tons sépia

Description

bool Imagick::sepiaToneImage ( float $threshold )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique un effet spécial à une image, similaire à l'effet de tons sépia, obtenus dans les chambres noires de photographie. Le seuil va de 0 jusqu'à QuantumRange et est une mesure de l'intervalle de tons sépia. Une valeur raisonnable est 80.

Liste de paramètres

threshold

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::separateImageChannel
Imagick::setBackgroundColor
La classe Imagick


Configure la couleur de fond par défaut

Imagick::sepiaToneImage
Imagick::setCompression
La classe Imagick
PHP Manual

Imagick::setBackgroundColor

(PECL imagick 2.0.0)

Imagick::setBackgroundColor — Configure la couleur de fond par défaut

Description

bool Imagick::setBackgroundColor ( mixed $background )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la couleur de fond par défaut.

Liste de paramètres

background

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::sepiaToneImage
Imagick::setCompression
La classe Imagick


Configure le type de compression de l'objet

Imagick::setBackgroundColor
Imagick::setCompressionQuality
La classe Imagick
PHP Manual

Imagick::setCompression

(PECL imagick 2.0.0)

Imagick::setCompression — Configure le type de compression de l'objet

Description

bool Imagick::setCompression ( int $compression )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le type de compression de l'objet.

Liste de paramètres

compression

Valeurs de retour

Returns TRUE on success.

Imagick::setBackgroundColor
Imagick::setCompressionQuality
La classe Imagick


Configure la compression par défaut de l'objet

Imagick::setCompression
Imagick::setFilename
La classe Imagick
PHP Manual

Imagick::setCompressionQuality

(PECL imagick 0.9.10-0.9.9)

Imagick::setCompressionQuality — Configure la compression par défaut de l'objet

Description

bool Imagick::setCompressionQuality ( int $quality )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la compression par défaut de l'objet.

Liste de paramètres

quality

Valeurs de retour

Returns TRUE on success.

Imagick::setCompression
Imagick::setFilename
La classe Imagick


Configure le nom du fichier d'image avant d'y accéder

Imagick::setCompressionQuality
Imagick::setFirstIterator
La classe Imagick
PHP Manual

Imagick::setFilename

(PECL imagick 2.0.0)

Imagick::setFilename — Configure le nom du fichier d'image avant d'y accéder

Description

bool Imagick::setFilename ( string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le nom du fichier d'image avant d'y accéder.

Liste de paramètres

filename

Valeurs de retour

Returns TRUE on success.

Imagick::setCompressionQuality
Imagick::setFirstIterator
La classe Imagick


Place l'itérateur de Imagick sur la première image

Imagick::setFilename
Imagick::setFont
La classe Imagick
PHP Manual

Imagick::setFirstIterator

(PECL imagick 2.0.0)

Imagick::setFirstIterator — Place l'itérateur de Imagick sur la première image

Description

bool Imagick::setFirstIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Place l'itérateur de Imagick sur la première image.

Valeurs de retour

Returns TRUE on success.

Imagick::setFilename
Imagick::setFont
La classe Imagick


Configure la police

Imagick::setFirstIterator
Imagick::setFormat
La classe Imagick
PHP Manual

Imagick::setFont

(PECL imagick 2.1.0)

Imagick::setFont — Configure la police

Description

bool Imagick::setFont ( string $font )

Configure la police de l'image. Cette méthode est utilisée pour configurer la police utilisée par le pseudoformat : caption. La police doit être configurée dans la configuration d'ImageMagick ou bien, un fichier portant le nom de la police font doit exister. Cette méthode ne doit pas être confondue avec la méthode ImagickDraw::setFont() qui définit la police pour une objet ImagickDraw spécifique. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.

Liste de paramètres

font

Le nom de la police ou le nom du fichier

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::getFont() - Gets font
  • ImagickDraw::setFont() - Configure la police complète pour les textes
  • ImagickDraw::getFont() - Retourne la police

Exemples

Exemple #1 Exemple avec Imagick::setFont()

Exemple d'utilisation de Imagick::setFont().

<?php
/* Crée un nouvel objet Imagick */
$im = new Imagick();

/* Configure la police de l'objet */
$im->setFont("example.ttf");

/* Crée un nouveau message */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Suite du traitement de l'image */
?>

Imagick::setFirstIterator
Imagick::setFormat
La classe Imagick


Configure le format de l'objet Imagick

Imagick::setFont
Imagick::setGravity
La classe Imagick
PHP Manual

Imagick::setFormat

(PECL imagick 2.0.0)

Imagick::setFormat — Configure le format de l'objet Imagick

Description

bool Imagick::setFormat ( string $format )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le format de l'objet Imagick.

Liste de paramètres

format

Valeurs de retour

Returns TRUE on success.

Imagick::setFont
Imagick::setGravity
La classe Imagick


Sets the gravity

Imagick::setFormat
Imagick::setImage
La classe Imagick
PHP Manual

Imagick::setGravity

(No version information available, might only be in SVN)

Imagick::setGravity — Sets the gravity

Description

bool Imagick::setGravity ( int $gravity )

Sets the global gravity property for the Imagick object. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.0 ou supérieur.

Liste de paramètres

gravity

The gravity property. Refer to the list of gravity constants.

Valeurs de retour

Aucune valeur n'est retournée.

Imagick::setFormat
Imagick::setImage
La classe Imagick


Remplace l'image dans l'objet

Imagick::setGravity
Imagick::setImageAlphaChannel
La classe Imagick
PHP Manual

Imagick::setImage

(PECL imagick 2.0.0)

Imagick::setImage — Remplace l'image dans l'objet

Description

bool Imagick::setImage ( Imagick $replace )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Remplace l'image dans la séquence d'images de l'objet.

Liste de paramètres

replace

L'objet Imagick de remplacement

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::setImage()

Un exemple avec Imagick::setImage()

<?php
/* Crée les objets */
$image = new Imagick('source.jpg');
$replace = new Imagick('replace.jpg');

/* source.jpg est remplacé par replace.jpg */
$image->setImage($replace);

/* Affichage de l'image */
header('Content-type: image/jpeg');
echo $image;

?>

Imagick::setGravity
Imagick::setImageAlphaChannel
La classe Imagick


Sets image alpha channel

Imagick::setImage
Imagick::setImageBackgroundColor
La classe Imagick
PHP Manual

Imagick::setImageAlphaChannel

(No version information available, might only be in SVN)

Imagick::setImageAlphaChannel — Sets image alpha channel

Description

bool Imagick::setImageAlphaChannel ( int $mode )

Activate or deactivate image alpha channel. The mode is one of the Imagick::ALPHACHANNEL_* constants. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.

Liste de paramètres

mode

One of the Imagick::ALPHACHANNEL_* constants

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Voir aussi

  • Imagick::setImageMatte() - Configure le canal mate de l'image

Imagick::setImage
Imagick::setImageBackgroundColor
La classe Imagick


Configure la couleur de fond d'image

Imagick::setImageAlphaChannel
Imagick::setImageBias
La classe Imagick
PHP Manual

Imagick::setImageBackgroundColor

(PECL imagick 2.0.0)

Imagick::setImageBackgroundColor — Configure la couleur de fond d'image

Description

bool Imagick::setImageBackgroundColor ( mixed $background )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la couleur de fond d'image.

Liste de paramètres

background

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::setImageAlphaChannel
Imagick::setImageBias
La classe Imagick


Configure le biais pour les convolutions

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
La classe Imagick
PHP Manual

Imagick::setImageBias

(PECL imagick 2.0.0)

Imagick::setImageBias — Configure le biais pour les convolutions

Description

bool Imagick::setImageBias ( float $bias )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le biais pour les convolutions, utilisées avec la fonction Imagick::ConvolveImage().

Liste de paramètres

bias

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
La classe Imagick


Configure la chromacité du point bleu

Imagick::setImageBias
Imagick::setImageBorderColor
La classe Imagick
PHP Manual

Imagick::setImageBluePrimary

(PECL imagick 2.0.0)

Imagick::setImageBluePrimary — Configure la chromacité du point bleu

Description

bool Imagick::setImageBluePrimary ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la chromacité du point bleu.

Liste de paramètres

x

y

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageBias
Imagick::setImageBorderColor
La classe Imagick


Configure la couleur de bordure

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
La classe Imagick
PHP Manual

Imagick::setImageBorderColor

(PECL imagick 2.0.0)

Imagick::setImageBorderColor — Configure la couleur de bordure

Description

bool Imagick::setImageBorderColor ( mixed $border )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la couleur de bordure.

Liste de paramètres

border

La couleur de bordure

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
La classe Imagick


Configure la profondeur d'un canal

Imagick::setImageBorderColor
Imagick::setImageClipMask
La classe Imagick
PHP Manual

Imagick::setImageChannelDepth

(PECL imagick 2.0.0)

Imagick::setImageChannelDepth — Configure la profondeur d'un canal

Description

bool Imagick::setImageChannelDepth ( int $channel , int $depth )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la profondeur d'un canal.

Liste de paramètres

channel

depth

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageBorderColor
Imagick::setImageClipMask
La classe Imagick


Sets image clip mask

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
La classe Imagick
PHP Manual

Imagick::setImageClipMask

(No version information available, might only be in SVN)

Imagick::setImageClipMask — Sets image clip mask

Description

bool Imagick::setImageClipMask ( Imagick $clip_mask )

Sets image clip mask from another Imagick object. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

clip_mask

The Imagick object containing the clip mask

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageChannelDepth
Imagick::setImageColormapColor
La classe Imagick


Configure une couleur de la carte

Imagick::setImageClipMask
Imagick::setImageColorspace
La classe Imagick
PHP Manual

Imagick::setImageColormapColor

(PECL imagick 2.0.0)

Imagick::setImageColormapColor — Configure une couleur de la carte

Description

bool Imagick::setImageColormapColor ( int $index , ImagickPixel $color )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure une couleur de la carte de couleurs de l'image.

Liste de paramètres

index

color

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageClipMask
Imagick::setImageColorspace
La classe Imagick


Configure l'espace de couleurs de l'image

Imagick::setImageColormapColor
Imagick::setImageCompose
La classe Imagick
PHP Manual

Imagick::setImageColorspace

(PECL imagick 2.0.0)

Imagick::setImageColorspace — Configure l'espace de couleurs de l'image

Description

bool Imagick::setImageColorspace ( int $colorspace )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'espace de couleurs de l'image.

Liste de paramètres

colorspace

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageColormapColor
Imagick::setImageCompose
La classe Imagick


Configure l'opérateur de composition de l'image

Imagick::setImageColorspace
Imagick::setImageCompression
La classe Imagick
PHP Manual

Imagick::setImageCompose

(PECL imagick 2.0.0)

Imagick::setImageCompose — Configure l'opérateur de composition de l'image

Description

bool Imagick::setImageCompose ( int $compose )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'opérateur de composition de l'image. Cette fonction est pratique pour spécifier la méthode de composition des miniatures, lors de l'utilisation de la méthode Imagick::montageImage().

Liste de paramètres

compose

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageColorspace
Imagick::setImageCompression
La classe Imagick


Configure la compression de l'image

Imagick::setImageCompose
Imagick::setImageCompressionQuality
La classe Imagick
PHP Manual

Imagick::setImageCompression

(PECL imagick 2.0.0)

Imagick::setImageCompression — Configure la compression de l'image

Description

bool Imagick::setImageCompression ( int $compression )

Configure la compression de l'image.

Liste de paramètres

compression

Une des constantes COMPRESSION.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageCompose
Imagick::setImageCompressionQuality
La classe Imagick


Spécifie la qualité de compression de l'image

Imagick::setImageCompression
Imagick::setImageDelay
La classe Imagick
PHP Manual

Imagick::setImageCompressionQuality

(No version information available, might only be in SVN)

Imagick::setImageCompressionQuality — Spécifie la qualité de compression de l'image

Description

bool Imagick::setImageCompressionQuality ( int $quality )

Spécifie la qualité de compression de l'image.

Liste de paramètres

quality

La qualité de compression de l'image sous forme d'entier.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageCompression
Imagick::setImageDelay
La classe Imagick


Configure le délai de l'image

Imagick::setImageCompressionQuality
Imagick::setImageDepth
La classe Imagick
PHP Manual

Imagick::setImageDelay

(PECL imagick 2.0.0)

Imagick::setImageDelay — Configure le délai de l'image

Description

bool Imagick::setImageDelay ( int $delay )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le délai de l'image.

Liste de paramètres

delay

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageCompressionQuality
Imagick::setImageDepth
La classe Imagick


Configure la profondeur de l'image

Imagick::setImageDelay
Imagick::setImageDispose
La classe Imagick
PHP Manual

Imagick::setImageDepth

(PECL imagick 2.0.0)

Imagick::setImageDepth — Configure la profondeur de l'image

Description

bool Imagick::setImageDepth ( int $depth )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la profondeur de l'image.

Liste de paramètres

depth

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageDelay
Imagick::setImageDispose
La classe Imagick


Configure la méthode de récupération

Imagick::setImageDepth
Imagick::setImageExtent
La classe Imagick
PHP Manual

Imagick::setImageDispose

(PECL imagick 2.0.0)

Imagick::setImageDispose — Configure la méthode de récupération

Description

bool Imagick::setImageDispose ( int $dispose )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la méthode de récupération.

Liste de paramètres

dispose

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageDepth
Imagick::setImageExtent
La classe Imagick


Configure la taille d'une image

Imagick::setImageDispose
Imagick::setImageFilename
La classe Imagick
PHP Manual

Imagick::setImageExtent

(PECL imagick 2.0.0)

Imagick::setImageExtent — Configure la taille d'une image

Description

bool Imagick::setImageExtent ( int $columns , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la taille d'une image (le nombre de colonnes et de lignes).

Liste de paramètres

columns

rows

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageDispose
Imagick::setImageFilename
La classe Imagick


Configure le nom de fichier d'une image dans une séquence

Imagick::setImageExtent
Imagick::setImageFormat
La classe Imagick
PHP Manual

Imagick::setImageFilename

(PECL imagick 2.0.0)

Imagick::setImageFilename — Configure le nom de fichier d'une image dans une séquence

Description

bool Imagick::setImageFilename ( string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le nom de fichier d'une image dans une séquence.

Liste de paramètres

filename

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageExtent
Imagick::setImageFormat
La classe Imagick


Configure le format d'une image dans une séquence

Imagick::setImageFilename
Imagick::setImageGamma
La classe Imagick
PHP Manual

Imagick::setImageFormat

(PECL imagick 2.0.0)

Imagick::setImageFormat — Configure le format d'une image dans une séquence

Description

bool Imagick::setImageFormat ( string $format )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le format d'une image dans une séquence.

Liste de paramètres

format

La représentation en chaîne du format d'image. Les formats supportés dépendent de l'installation ImageMagick.

Valeurs de retour

Returns TRUE on success.

Imagick::setImageFilename
Imagick::setImageGamma
La classe Imagick


Configure la correction gamma

Imagick::setImageFormat
Imagick::setImageGravity
La classe Imagick
PHP Manual

Imagick::setImageGamma

(PECL imagick 2.0.0)

Imagick::setImageGamma — Configure la correction gamma

Description

bool Imagick::setImageGamma ( float $gamma )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la correction gamma.

Liste de paramètres

gamma

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageFormat
Imagick::setImageGravity
La classe Imagick


Sets the image gravity

Imagick::setImageGamma
Imagick::setImageGreenPrimary
La classe Imagick
PHP Manual

Imagick::setImageGravity

(No version information available, might only be in SVN)

Imagick::setImageGravity — Sets the image gravity

Description

bool Imagick::setImageGravity ( int $gravity )

Sets the gravity property for the current image. This method can be used to set the gravity property for a single image sequence. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.4 ou supérieur.

Liste de paramètres

gravity

The gravity property. Refer to the list of gravity constants.

Valeurs de retour

Aucune valeur n'est retournée.

Imagick::setImageGamma
Imagick::setImageGreenPrimary
La classe Imagick


Configure la chromacité du point vert

Imagick::setImageGravity
Imagick::setImageIndex
La classe Imagick
PHP Manual

Imagick::setImageGreenPrimary

(PECL imagick 2.0.0)

Imagick::setImageGreenPrimary — Configure la chromacité du point vert

Description

bool Imagick::setImageGreenPrimary ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la chromacité du point vert.

Liste de paramètres

x

y

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageGravity
Imagick::setImageIndex
La classe Imagick


Modifie la position de l'itérateur

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
La classe Imagick
PHP Manual

Imagick::setImageIndex

(PECL imagick 2.0.0)

Imagick::setImageIndex — Modifie la position de l'itérateur

Description

bool Imagick::setImageIndex ( int $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Modifie la position de l'itérateur à l'index index.

Cette méthode est obsolète. Voyez Imagick::setIteratorIndex

Liste de paramètres

index

La position à laquelle mettre l'itérateur

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
La classe Imagick


Configure la méthode d'entrelacement de l'image

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
La classe Imagick
PHP Manual

Imagick::setImageInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setImageInterlaceScheme — Configure la méthode d'entrelacement de l'image

Description

bool Imagick::setImageInterlaceScheme ( int $interlace_scheme )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la méthode d'entrelacement de l'image.

Liste de paramètres

interlace_scheme

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
La classe Imagick


Configure la méthode d'interpolation de l'image

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
La classe Imagick
PHP Manual

Imagick::setImageInterpolateMethod

(PECL imagick 2.0.0)

Imagick::setImageInterpolateMethod — Configure la méthode d'interpolation de l'image

Description

bool Imagick::setImageInterpolateMethod ( int $method )

Configure la méthode d'interpolation de l'image.

Liste de paramètres

method

Une constante Imagick::INTERPOLATE_*.

Valeurs de retour

Returns TRUE on success.

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
La classe Imagick


Configure les itérations de l'image

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
La classe Imagick
PHP Manual

Imagick::setImageIterations

(PECL imagick 2.0.0)

Imagick::setImageIterations — Configure les itérations de l'image

Description

bool Imagick::setImageIterations ( int $iterations )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure les itérations de l'image.

Liste de paramètres

iterations

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
La classe Imagick


Configure le canal mate de l'image

Imagick::setImageIterations
Imagick::setImageMatteColor
La classe Imagick
PHP Manual

Imagick::setImageMatte

(PECL imagick 2.0.0)

Imagick::setImageMatte — Configure le canal mate de l'image

Description

bool Imagick::setImageMatte ( bool $matte )

Configure le canal mate de l'image. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

matte

TRUE active le canal mate, et FALSE le désactive.

Valeurs de retour

Returns TRUE on success.

Imagick::setImageIterations
Imagick::setImageMatteColor
La classe Imagick


Configure la couleur mate

Imagick::setImageMatte
Imagick::setImageOpacity
La classe Imagick
PHP Manual

Imagick::setImageMatteColor

(PECL imagick 2.0.0)

Imagick::setImageMatteColor — Configure la couleur mate

Description

bool Imagick::setImageMatteColor ( mixed $matte )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la couleur mate.

Liste de paramètres

matte

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Permet désormais l'utilisation d'une chaîne pour représenter la couleur. Les versions précédentes ne permettaient que les objets ImagickPixel.

Imagick::setImageMatte
Imagick::setImageOpacity
La classe Imagick


Configure le niveau d'opacité de l'image

Imagick::setImageMatteColor
Imagick::setImageOrientation
La classe Imagick
PHP Manual

Imagick::setImageOpacity

(PECL imagick 2.0.0)

Imagick::setImageOpacity — Configure le niveau d'opacité de l'image

Description

bool Imagick::setImageOpacity ( float $opacity )

Configure le niveau d'opacité de l'image. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.1 ou supérieur.

Liste de paramètres

opacity

Le niveau de transparence : 1.0 est totalement opaque, et 0.0 est totalement transparent.

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::setImageOpacity()

Un exemple avec Imagick::setImageOpacity()

<?php
/* Crée un objet  */
$image = new Imagick('source.png');

/* Configure l'opacité */
$image->setImageOpacity(0.7);

/* Affiche l'image */
header('Content-type: image/png');
echo $image;

?>

Imagick::setImageMatteColor
Imagick::setImageOrientation
La classe Imagick


Configure l'orientation de l'image

Imagick::setImageOpacity
Imagick::setImagePage
La classe Imagick
PHP Manual

Imagick::setImageOrientation

(PECL imagick 2.0.0)

Imagick::setImageOrientation — Configure l'orientation de l'image

Description

bool Imagick::setImageOrientation ( int $orientation )

Configure l'orientation de l'image.

Liste de paramètres

orientation

Une des constantes d'orientation

Valeurs de retour

Returns TRUE on success.

Imagick::setImageOpacity
Imagick::setImagePage
La classe Imagick


Configure la géométrie de la page de l'image

Imagick::setImageOrientation
Imagick::setImageProfile
La classe Imagick
PHP Manual

Imagick::setImagePage

(PECL imagick 2.0.0)

Imagick::setImagePage — Configure la géométrie de la page de l'image

Description

bool Imagick::setImagePage ( int $width , int $height , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la géométrie de la page de l'image.

Liste de paramètres

width

height

x

y

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageOrientation
Imagick::setImageProfile
La classe Imagick


Ajoute un profil à un objet Imagick

Imagick::setImagePage
Imagick::setImageProperty
La classe Imagick
PHP Manual

Imagick::setImageProfile

(PECL imagick 2.0.0)

Imagick::setImageProfile — Ajoute un profil à un objet Imagick

Description

bool Imagick::setImageProfile ( string $name , string $profile )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un nouveau profile à un objet Imagick. Si un profil ajouté a le même nom qu'un profil déjà ajouté, il sera remplacé. Cette méthode diffère de Imagick::ProfileImage(), car elle n'applique aucun profil CMS.

Liste de paramètres

name

profile

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImagePage
Imagick::setImageProperty
La classe Imagick


Configure une propriété d'image

Imagick::setImageProfile
Imagick::setImageRedPrimary
La classe Imagick
PHP Manual

Imagick::setImageProperty

(PECL imagick 2.0.0)

Imagick::setImageProperty — Configure une propriété d'image

Description

bool Imagick::setImageProperty ( string $name , string $value )

Configure la propriété d'image name à la valeur value. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.2 ou supérieur.

Liste de paramètres

name

value

Exemples

Exemple #1 Exemple avec Imagick::setImageProperty()

Définit et récupère les propriétés d'une image.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Voir aussi

  • Imagick::getImageProperty() - Retourne une propriété d'une image

Valeurs de retour

Returns TRUE on success.

Imagick::setImageProfile
Imagick::setImageRedPrimary
La classe Imagick


Configure la chromacité du point rouge

Imagick::setImageProperty
Imagick::setImageRenderingIntent
La classe Imagick
PHP Manual

Imagick::setImageRedPrimary

(PECL imagick 2.0.0)

Imagick::setImageRedPrimary — Configure la chromacité du point rouge

Description

bool Imagick::setImageRedPrimary ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la chromacité du point rouge.

Liste de paramètres

x

y

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageProperty
Imagick::setImageRenderingIntent
La classe Imagick


Configure le type de rendu de l'image

Imagick::setImageRedPrimary
Imagick::setImageResolution
La classe Imagick
PHP Manual

Imagick::setImageRenderingIntent

(PECL imagick 2.0.0)

Imagick::setImageRenderingIntent — Configure le type de rendu de l'image

Description

bool Imagick::setImageRenderingIntent ( int $rendering_intent )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le type de rendu de l'image.

Liste de paramètres

rendering_intent

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageRedPrimary
Imagick::setImageResolution
La classe Imagick


Configure la résolution de l'image

Imagick::setImageRenderingIntent
Imagick::setImageScene
La classe Imagick
PHP Manual

Imagick::setImageResolution

(PECL imagick 2.0.0)

Imagick::setImageResolution — Configure la résolution de l'image

Description

bool Imagick::setImageResolution ( float $x_resolution , float $y_resolution )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la résolution de l'image.

Liste de paramètres

x_resolution

y_resolution

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageRenderingIntent
Imagick::setImageScene
La classe Imagick


Configure la scène de l'image

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
La classe Imagick
PHP Manual

Imagick::setImageScene

(PECL imagick 2.0.0)

Imagick::setImageScene — Configure la scène de l'image

Description

bool Imagick::setImageScene ( int $scene )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la scène de l'image.

Liste de paramètres

scene

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
La classe Imagick


Configure le nombre e tick par seconde de l'image

Imagick::setImageScene
Imagick::setImageType
La classe Imagick
PHP Manual

Imagick::setImageTicksPerSecond

(PECL imagick 2.0.0)

Imagick::setImageTicksPerSecond — Configure le nombre e tick par seconde de l'image

Description

bool Imagick::setImageTicksPerSecond ( int $ticks_per-second )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le nombre e tick par seconde de l'image.

Liste de paramètres

ticks_per-second

Valeurs de retour

Returns TRUE on success.

Imagick::setImageScene
Imagick::setImageType
La classe Imagick


Configure le type d'image

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
La classe Imagick
PHP Manual

Imagick::setImageType

(PECL imagick 2.0.0)

Imagick::setImageType — Configure le type d'image

Description

bool Imagick::setImageType ( int $image_type )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le type d'image.

Liste de paramètres

image_type

Valeurs de retour

Returns TRUE on success.

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
La classe Imagick


Configure les unités de résolutions de l'image

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
La classe Imagick
PHP Manual

Imagick::setImageUnits

(PECL imagick 2.0.0)

Imagick::setImageUnits — Configure les unités de résolutions de l'image

Description

bool Imagick::setImageUnits ( int $units )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure les unités de résolutions de l'image.

Liste de paramètres

units

Valeurs de retour

Returns TRUE on success.

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
La classe Imagick


Configure la méthode du point virtuel de l'image

Imagick::setImageUnits
Imagick::setImageWhitePoint
La classe Imagick
PHP Manual

Imagick::setImageVirtualPixelMethod

(PECL imagick 2.0.0)

Imagick::setImageVirtualPixelMethod — Configure la méthode du point virtuel de l'image

Description

bool Imagick::setImageVirtualPixelMethod ( int $method )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la méthode du point virtuel de l'image.

Liste de paramètres

method

Valeurs de retour

Returns TRUE on success.

Imagick::setImageUnits
Imagick::setImageWhitePoint
La classe Imagick


Configure la chromacité du point blanc

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
La classe Imagick
PHP Manual

Imagick::setImageWhitePoint

(PECL imagick 2.0.0)

Imagick::setImageWhitePoint — Configure la chromacité du point blanc

Description

bool Imagick::setImageWhitePoint ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la chromacité du point blanc.

Liste de paramètres

x

y

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
La classe Imagick


Configure la compression de l'image

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
La classe Imagick
PHP Manual

Imagick::setInterlaceScheme

(PECL imagick 2.0.0)

Imagick::setInterlaceScheme — Configure la compression de l'image

Description

bool Imagick::setInterlaceScheme ( int $interlace_scheme )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la compression de l'image.

Liste de paramètres

interlace_scheme

Valeurs de retour

Returns TRUE on success.

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
La classe Imagick


Déplace l'itérateur

Imagick::setInterlaceScheme
Imagick::setLastIterator
La classe Imagick
PHP Manual

Imagick::setIteratorIndex

(PECL imagick 2.0.0)

Imagick::setIteratorIndex — Déplace l'itérateur

Description

bool Imagick::setIteratorIndex ( int $index )

Déplace l'itérateur à la position index dans la séquence d'images. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

index

La position finale de l'itérateur

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::setIteratorIndex()

Crée des images, définit et récupère l'index de l'itérateur.

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Voir aussi

  • Imagick::getIteratorIndex() - Lit l'index de l'image active courante
  • Imagick::getImageIndex() - Lit l'index de l'image courante
  • Imagick::setImageIndex() - Modifie la position de l'itérateur

Imagick::setInterlaceScheme
Imagick::setLastIterator
La classe Imagick


Positionne l'itérateur Imagick à la dernière image

Imagick::setIteratorIndex
Imagick::setOption
La classe Imagick
PHP Manual

Imagick::setLastIterator

(PECL imagick 2.0.1)

Imagick::setLastIterator — Positionne l'itérateur Imagick à la dernière image

Description

bool Imagick::setLastIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Positionne l'itérateur Imagick à la dernière image.

Valeurs de retour

Returns TRUE on success.

Imagick::setIteratorIndex
Imagick::setOption
La classe Imagick


Configure une option d'un objet Imagick

Imagick::setLastIterator
Imagick::setPage
La classe Imagick
PHP Manual

Imagick::setOption

(PECL imagick 2.0.0)

Imagick::setOption — Configure une option d'un objet Imagick

Description

bool Imagick::setOption ( string $key , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure une ou plusieurs options de l'objet Imagick.

Liste de paramètres

key

value

Valeurs de retour

Returns TRUE on success.

Imagick::setLastIterator
Imagick::setPage
La classe Imagick


Configure la géométrie de la page de l'objet Imagick

Imagick::setOption
Imagick::setPointSize
La classe Imagick
PHP Manual

Imagick::setPage

(PECL imagick 2.0.0)

Imagick::setPage — Configure la géométrie de la page de l'objet Imagick

Description

bool Imagick::setPage ( int $width , int $height , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la géométrie de la page de l'objet Imagick.

Liste de paramètres

width

height

x

y

Valeurs de retour

Returns TRUE on success.

Imagick::setOption
Imagick::setPointSize
La classe Imagick


Sets point size

Imagick::setPage
Imagick::setResolution
La classe Imagick
PHP Manual

Imagick::setPointSize

(PECL imagick 2.1.0)

Imagick::setPointSize — Sets point size

Description

bool Imagick::setPointSize ( float $point_size )

Sets object's point size property. This method can be used for example to set font size for caption: pseudo-format. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.7 ou supérieur.

Liste de paramètres

point_size

Point size

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::getPointSize() - Gets point size

Exemples

Exemple #1 A Imagick::setPointSize() example

Example of using Imagick::setPointSize

<?php
/* Create new imagick object */
$im = new Imagick();

/* Set the font for the object */
$im->setFont("example.ttf");

/* Set the point size */
$im->setPointSize(12);

/* Create new caption */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Do something with the image */
?>

Imagick::setPage
Imagick::setResolution
La classe Imagick


Configure la résolution de l'image

Imagick::setPointSize
Imagick::setResourceLimit
La classe Imagick
PHP Manual

Imagick::setResolution

(PECL imagick 2.0.0)

Imagick::setResolution — Configure la résolution de l'image

Description

bool Imagick::setResolution ( float $x_resolution , float $y_resolution )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la résolution de l'image.

Liste de paramètres

x_resolution

y_resolution

Valeurs de retour

Returns TRUE on success.

Imagick::setPointSize
Imagick::setResourceLimit
La classe Imagick


Configure la taille limite d'une ressource

Imagick::setResolution
Imagick::setSamplingFactors
La classe Imagick
PHP Manual

Imagick::setResourceLimit

(PECL imagick 2.0.0)

Imagick::setResourceLimit — Configure la taille limite d'une ressource

Description

bool Imagick::setResourceLimit ( int $type , int $limit )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la taille limite d'une ressource, en megaoctets.

Liste de paramètres

type

limit

Valeurs de retour

Returns TRUE on success.

Imagick::setResolution
Imagick::setSamplingFactors
La classe Imagick


Configure les facteurs d'échantillonnage de l'image

Imagick::setResourceLimit
Imagick::setSize
La classe Imagick
PHP Manual

Imagick::setSamplingFactors

(PECL imagick 2.0.0)

Imagick::setSamplingFactors — Configure les facteurs d'échantillonnage de l'image

Description

bool Imagick::setSamplingFactors ( array $factors )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure les facteurs d'échantillonnage de l'image.

Liste de paramètres

factors

Valeurs de retour

Returns TRUE on success.

Imagick::setResourceLimit
Imagick::setSize
La classe Imagick


Configure la taille de l'objet Imagick

Imagick::setSamplingFactors
Imagick::setSizeOffset
La classe Imagick
PHP Manual

Imagick::setSize

(PECL imagick 2.0.0)

Imagick::setSize — Configure la taille de l'objet Imagick

Description

bool Imagick::setSize ( int $columns , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la taille de l'objet Imagick. Configurez cet attribut avant d'ouvrir une image brute, aux formats RGB, GRAY ou CMYK.

Liste de paramètres

columns

rows

Valeurs de retour

Returns TRUE on success.

Imagick::setSamplingFactors
Imagick::setSizeOffset
La classe Imagick


Configure la taille et la position de l'objet Imagick

Imagick::setSize
Imagick::setType
La classe Imagick
PHP Manual

Imagick::setSizeOffset

(PECL imagick 2.0.0)

Imagick::setSizeOffset — Configure la taille et la position de l'objet Imagick

Description

bool Imagick::setSizeOffset ( int $columns , int $rows , int $offset )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la taille et la position de l'objet Imagick. Configurez ces attributs avant de lire une image brute, aux formats RGB, GRAY ou CMYK. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

columns

rows

offset

Valeurs de retour

Returns TRUE on success.

Imagick::setSize
Imagick::setType
La classe Imagick


Configure l'attribut de l'image

Imagick::setSizeOffset
Imagick::shadeImage
La classe Imagick
PHP Manual

Imagick::setType

(PECL imagick 2.0.0)

Imagick::setType — Configure l'attribut de l'image

Description

bool Imagick::setType ( int $image_type )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'attribut de l'image.

Liste de paramètres

image_type

Valeurs de retour

Returns TRUE on success.

Imagick::setSizeOffset
Imagick::shadeImage
La classe Imagick


Crée un effet 3D

Imagick::setType
Imagick::shadowImage
La classe Imagick
PHP Manual

Imagick::shadeImage

(PECL imagick 2.0.0)

Imagick::shadeImage — Crée un effet 3D

Description

bool Imagick::shadeImage ( bool $gray , float $azimuth , float $elevation )

Récupère une lumière distante de l'image pour créer un effet 3D. Vous pouvez contrôler le positionnement de la lumière avec l'azimut et l'élévation ; l'azimut est mesuré en degré de l'axe X et l'élévation est mesuré sur l'axe Z. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

gray

azimuth

elevation

Valeurs de retour

Returns TRUE on success.

Imagick::setType
Imagick::shadowImage
La classe Imagick


Simule une ombre sur l'image

Imagick::shadeImage
Imagick::sharpenImage
La classe Imagick
PHP Manual

Imagick::shadowImage

(PECL imagick 2.0.0)

Imagick::shadowImage — Simule une ombre sur l'image

Description

bool Imagick::shadowImage ( float $opacity , float $sigma , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Simule une ombre sur l'image.

Liste de paramètres

opacity

sigma

x

y

Valeurs de retour

Returns TRUE on success.

Imagick::shadeImage
Imagick::sharpenImage
La classe Imagick


Aiguise une image

Imagick::shadowImage
Imagick::shaveImage
La classe Imagick
PHP Manual

Imagick::sharpenImage

(PECL imagick 2.0.0)

Imagick::sharpenImage — Aiguise une image

Description

bool Imagick::sharpenImage ( float $radius , float $sigma [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Aiguise une image. Nous modifions l'image avec un opérateur Gaussien utilisant le paramètre radius et la déviation standard sigma. Pour de bons résultats, le paramètre radius doit être plus élevé que le paramètre sigma. Utilisez un radius de 0 et la méthode choisira un bon radius à votre place.

Liste de paramètres

radius

sigma

channel

Valeurs de retour

Returns TRUE on success.

Imagick::shadowImage
Imagick::shaveImage
La classe Imagick


Supprime les pixels du bord de l'image

Imagick::sharpenImage
Imagick::shearImage
La classe Imagick
PHP Manual

Imagick::shaveImage

(PECL imagick 2.0.0)

Imagick::shaveImage — Supprime les pixels du bord de l'image

Description

bool Imagick::shaveImage ( int $columns , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Supprime les pixels du bord de l'image. Alloue la mémoire nécessaire pour la structure de la nouvelle image et retourne un pointeur vers la nouvelle image.

Liste de paramètres

columns

rows

Valeurs de retour

Returns TRUE on success.

Imagick::sharpenImage
Imagick::shearImage
La classe Imagick


Crée un parallélogramme

Imagick::shaveImage
Imagick::sigmoidalContrastImage
La classe Imagick
PHP Manual

Imagick::shearImage

(PECL imagick 2.0.0)

Imagick::shearImage — Crée un parallélogramme

Description

bool Imagick::shearImage ( mixed $background , float $x_shear , float $y_shear )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Bouge le côté d'une image le long des axes X ou Y, créant un parallélogramme. Une direction X coupe le côté le long de l'axe X, tandis qu'une direction Y coupe le côté le long de l'axe Y. La coupe est contrôlée par l'angle de coupe. Pour une coupe de direction X, x_shear sera mesuré relativement à l'axe Y, et similiairement, pour une coupe de direction Y, y_shear est mesuré relativement à l'axe X. Les triangles vides laissés après la coupe seront remplis avec la couleur d'arrière plan.

Liste de paramètres

background

La couleur d'arrière plan

x_shear

Le nombre de degrés à couper suivant l'axe X

y_shear

Le nombre de degrés à couper suivant l'axe Y

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Autorise maintenant une chaîne représentant la couleur comme troisième paramètre. Les anciennes versions n'autorisent que des objets ImagickPixel.

Imagick::shaveImage
Imagick::sigmoidalContrastImage
La classe Imagick


Ajuste le contraste de l'image

Imagick::shearImage
Imagick::sketchImage
La classe Imagick
PHP Manual

Imagick::sigmoidalContrastImage

(PECL imagick 2.0.0)

Imagick::sigmoidalContrastImage — Ajuste le contraste de l'image

Description

bool Imagick::sigmoidalContrastImage ( bool $sharpen , float $alpha , float $beta [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajuste le contraste de l'image avec un algorithme de contraste sigmoïde non linéaire. Augmenter le contraste de l'image en utilisant une fonction de transfert sigmoïde sans saturer les lumières hautes et les ombres. Le contraste indique de combien il faut augmenter le contraste (0 pour ne rien faire, 3 est une valeur typique, 20 est une valeur élevée) ; le point du milieu indique où les tons moyens seront dans l'image résultante (0 correspond à blanc, 50 correspond à gris, 100 correspond à noir). Définissez le paramètre sharpen à TRUE pour augmenter le contraste de l'image, sinon, le contraste sera réduit.

Liste de paramètres

sharpen

alpha

beta

channel

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::shearImage
Imagick::sketchImage
La classe Imagick


Simule un crayon à main levée

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
La classe Imagick
PHP Manual

Imagick::sketchImage

(PECL imagick 2.0.0)

Imagick::sketchImage — Simule un crayon à main levée

Description

bool Imagick::sketchImage ( float $radius , float $sigma , float $angle )

Simule un crayon à main levée. Nous modifions l'image en utilisant un opérateur Gaussien avec le paramètre radius et la déviation standard sigma. Pour de bons résultats, le paramètre radius doit être plus élevé que le paramètre sigma. Utilisez un sigma de 0 et Imagick::sketchImage() sélectionnera automatiquement un bon radius à votre place. Le paramètre angle fournit l'angle du flou du mouvement. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

radius

sigma

angle

Valeurs de retour

Returns TRUE on success.

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
La classe Imagick


Applique un effet de solarisation à l'image

Imagick::sketchImage
Imagick::sparseColorImage
La classe Imagick
PHP Manual

Imagick::solarizeImage

(PECL imagick 2.0.0)

Imagick::solarizeImage — Applique un effet de solarisation à l'image

Description

bool Imagick::solarizeImage ( int $threshold )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique un effet de solarisation à l'image, similaire à l'effet effectué dans une chambre noire en exposant des zones du papier photo sensitive à la lumière. Le seuil threshold peut aller de 0 à QuantumRange et mesure la densité de la solarisation.

Liste de paramètres

threshold

Valeurs de retour

Returns TRUE on success.

Imagick::sketchImage
Imagick::sparseColorImage
La classe Imagick


Interpolates colors

Imagick::solarizeImage
Imagick::spliceImage
La classe Imagick
PHP Manual

Imagick::sparseColorImage

(No version information available, might only be in SVN)

Imagick::sparseColorImage — Interpolates colors

Description

public boolean Imagick::sparseColorImage ( int $SPARSE_METHOD , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Given the arguments array containing numeric values this method interpolates the colors found at those coordinates across the whole image using sparse_method. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.

Liste de paramètres

SPARSE_METHOD

Refer to this list of sparse method constants

arguments

An array containing the coordinates. The array is in format array(1,1, 2,45)

CHANNEL

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Repportez-vous à la liste des constantes de canaux

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::solarizeImage
Imagick::spliceImage
La classe Imagick


Joint une couleur solide dans l'image

Imagick::sparseColorImage
Imagick::spreadImage
La classe Imagick
PHP Manual

Imagick::spliceImage

(PECL imagick 2.0.0)

Imagick::spliceImage — Joint une couleur solide dans l'image

Description

bool Imagick::spliceImage ( int $width , int $height , int $x , int $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Joint une couleur solide dans l'image.

Liste de paramètres

width

height

x

y

Valeurs de retour

Returns TRUE on success.

Imagick::sparseColorImage
Imagick::spreadImage
La classe Imagick


Bouge aléatoirement chaque pixel d'un bloc

Imagick::spliceImage
Imagick::steganoImage
La classe Imagick
PHP Manual

Imagick::spreadImage

(PECL imagick 2.0.0)

Imagick::spreadImage — Bouge aléatoirement chaque pixel d'un bloc

Description

bool Imagick::spreadImage ( float $radius )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Effet spécial qui bouge aléatoirement chaque pixel d'un bloc, défini par le paramètre radius.

Liste de paramètres

radius

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::spliceImage
Imagick::steganoImage
La classe Imagick


Cache un filigrane digital dans l'image

Imagick::spreadImage
Imagick::stereoImage
La classe Imagick
PHP Manual

Imagick::steganoImage

(PECL imagick 2.0.0)

Imagick::steganoImage — Cache un filigrane digital dans l'image

Description

Imagick Imagick::steganoImage ( Imagick $watermark_wand , int $offset )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Cache un filigrane digital dans l'image. Récupérez le filigrane plus tard pour prouver l'authenticité de l'image. Le paramètre offset définit la position de départ à partir de laquelle on cache le filigrane.

Liste de paramètres

watermark_wand

offset

Valeurs de retour

Returns TRUE on success.

Imagick::spreadImage
Imagick::stereoImage
La classe Imagick


Fusionne 2 images

Imagick::steganoImage
Imagick::stripImage
La classe Imagick
PHP Manual

Imagick::stereoImage

(PECL imagick 2.0.0)

Imagick::stereoImage — Fusionne 2 images

Description

bool Imagick::stereoImage ( Imagick $offset_wand )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fusionne 2 images et produit une seule image représentant la fusion de l'image de gauche et de droite d'une paire stéréo.

Liste de paramètres

offset_wand

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::steganoImage
Imagick::stripImage
La classe Imagick


Supprime d'une image tous les profiles et les commentaires

Imagick::stereoImage
Imagick::swirlImage
La classe Imagick
PHP Manual

Imagick::stripImage

(PECL imagick 2.0.0)

Imagick::stripImage — Supprime d'une image tous les profiles et les commentaires

Description

bool Imagick::stripImage ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Supprime d'une image tous les profiles et les commentaires.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::stereoImage
Imagick::swirlImage
La classe Imagick


Tourbillonne les pixels du centre de l'image

Imagick::stripImage
Imagick::textureImage
La classe Imagick
PHP Manual

Imagick::swirlImage

(PECL imagick 2.0.0)

Imagick::swirlImage — Tourbillonne les pixels du centre de l'image

Description

bool Imagick::swirlImage ( float $degrees )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Tourbillonne les pixels du centre de l'image, où le paramètre degrees indique le degré du tourbillon de l'arc autour duquel les pixels sont bougés. Vous obtiendrez des effets différents suivant le degré choisi, entre 1 et 360.

Liste de paramètres

degrees

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::stripImage
Imagick::textureImage
La classe Imagick


Répète les carreaux de la texture d'une image

Imagick::swirlImage
Imagick::thresholdImage
La classe Imagick
PHP Manual

Imagick::textureImage

(PECL imagick 2.0.0)

Imagick::textureImage — Répète les carreaux de la texture d'une image

Description

bool Imagick::textureImage ( Imagick $texture_wand )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Répète les carreaux de la texture d'une image via le canevas de l'image.

Liste de paramètres

texture_wand

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::swirlImage
Imagick::thresholdImage
La classe Imagick


Modifie la valeur des pixels individuels, basée sur un seuil

Imagick::textureImage
Imagick::thumbnailImage
La classe Imagick
PHP Manual

Imagick::thresholdImage

(PECL imagick 2.0.0)

Imagick::thresholdImage — Modifie la valeur des pixels individuels, basée sur un seuil

Description

bool Imagick::thresholdImage ( float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Modifie la valeur des pixels individuels, basée sur l'intensité de chaque pixel, comparée au seuil. Le résultat sera une image d'un contraste élevé comprenant 2 couleurs.

Liste de paramètres

threshold

channel

Valeurs de retour

Returns TRUE on success.

Imagick::textureImage
Imagick::thumbnailImage
La classe Imagick


Modifie la taille d'une image

Imagick::thresholdImage
Imagick::tintImage
La classe Imagick
PHP Manual

Imagick::thumbnailImage

(PECL imagick 2.0.0)

Imagick::thumbnailImage — Modifie la taille d'une image

Description

bool Imagick::thumbnailImage ( int $columns , int $rows [, bool $bestfit = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Modifie la taille d'une image dans les dimensions données et supprime tous les profiles associés. Le but est de produire une miniature à faible coût pour l'afficher sur le web. Si TRUE est fourni comme troisième paramètre, alors les paramètres columns et rows seront utilisés comme maximum de chacun des côtés. Chaque côté sera abaissé tant que la taille désirée ne sera pas atteinte.

Note: Le comportement du paramètre bestfit a changé avec Imagick 3.0.0. Avant cette version, fournir les dimensions 400x400 à une image de dimensions 200x150 faisait que la partie gauche était inchangée. Avec Imagick 3.0.0 et suivants, l'image est réduite à la taille 400x300, sachant que c'est le meilleur résultat pour ces dimensions. Si le paramètre bestfit est utilisé, la largeur et la hauteur doivent être fournies.

Liste de paramètres

columns

Largeur de l'image

rows

Hauteur de l'image

bestfit

Si l'on doit forcer les valeurs maximales

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::thresholdImage
Imagick::tintImage
La classe Imagick


Applique un vecteur de couleur à chaque pixel de l'image

Imagick::thumbnailImage
Imagick::transformImage
La classe Imagick
PHP Manual

Imagick::tintImage

(PECL imagick 2.0.0)

Imagick::tintImage — Applique un vecteur de couleur à chaque pixel de l'image

Description

bool Imagick::tintImage ( mixed $tint , mixed $opacity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique un vecteur de couleur à chaque pixel de l'image. La longueur du vecteur est 0 pour noir et blanc et à son maximum pour des tons moyens. La fonction de vecteur est f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

Liste de paramètres

tint

opacity

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Historique

Version | Description
2.1.0 | Autorise maintenant une chaîne représentant la couleur en tant que premier paramètre et un nombre décimal représentant la valeur d'opacité comme deuxième paramètre. Les anciennes versions autorisent uniquement des objets ImagickPixel.

Imagick::thumbnailImage
Imagick::transformImage
La classe Imagick


Méthode de convenance pour définir la taille de rognage et la géométrie de l'image

Imagick::tintImage
Imagick::transparentPaintImage
La classe Imagick
PHP Manual

Imagick::transformImage

(PECL imagick 2.0.0)

Imagick::transformImage — Méthode de convenance pour définir la taille de rognage et la géométrie de l'image

Description

Imagick Imagick::transformImage ( string $crop , string $geometry )

Méthode de convenance pour définir la taille de rognage et la géométrie de l'image depuis des chaînes de caractères. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

crop

Une géométrie de rognage. Cette géométrie définit une sous-région de l'image à rogner.

geometry

Une géométrie. Cette géométrie définit la taille finale de l'image.

Valeurs de retour

Returns TRUE on success.

Exemples

Exemple #1 Exemple avec Imagick::transformImage():

L'exemple crée une image noire 100x100.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");
$new_image = $image->transformImage("100x100", "100x100");
$new_image->writeImage('test_out.jpg');
?>

Voir aussi

  • Imagick::cropImage() - Extrait une région d'une image
  • Imagick::resizeImage() - Redimensionne une image
  • Imagick::thumbnailImage() - Modifie la taille d'une image

Imagick::tintImage
Imagick::transparentPaintImage
La classe Imagick


Paints pixels transparent

Imagick::transformImage
Imagick::transposeImage
La classe Imagick
PHP Manual

Imagick::transparentPaintImage

(No version information available, might only be in SVN)

Imagick::transparentPaintImage — Paints pixels transparent

Description

bool Imagick::transparentPaintImage ( mixed $target , float $alpha , float $fuzz , bool $invert )

Paints pixels matching the target color transparent. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.

Liste de paramètres

target

The target color to paint

alpha

Le degré de transparence : 1.0 correspond à totalement opaque et 0.0 à totalement transparent.

fuzz

La quantité de poussière de papier. Par exemple, le fait de définir la poussière de papier à 10 et la couleur rouge à une intensité de 100 et de 102 ne sera pas interprété comme la même couleur.

invert

If TRUE paints any pixel that does not match the target color.

Valeurs de retour

Returns TRUE on success.

Imagick::transformImage
Imagick::transposeImage
La classe Imagick


Applique une symétrie verticale

Imagick::transparentPaintImage
Imagick::transverseImage
La classe Imagick
PHP Manual

Imagick::transposeImage

(PECL imagick 2.0.0)

Imagick::transposeImage — Applique une symétrie verticale

Description

bool Imagick::transposeImage ( void )

Applique une symétrie verticale, en créant la réflexion de chaque pixel autour d'un axe horizontal, avec une rotation de 90 degrés. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::transverseImage() - Crée un miroir horizontal de l'image

Imagick::transparentPaintImage
Imagick::transverseImage
La classe Imagick


Crée un miroir horizontal de l'image

Imagick::transposeImage
Imagick::trimImage
La classe Imagick
PHP Manual

Imagick::transverseImage

(PECL imagick 2.0.0)

Imagick::transverseImage — Crée un miroir horizontal de l'image

Description

bool Imagick::transverseImage ( void )

Crée un miroir horizontal de l'image en reflétant les pixels autour d'un axe Y central, et en effectuant une rotation de 270 degrés. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::transposeImage() - Applique une symétrie verticale

Imagick::transposeImage
Imagick::trimImage
La classe Imagick


Supprime les bords de l'image

Imagick::transverseImage
Imagick::uniqueImageColors
La classe Imagick
PHP Manual

Imagick::trimImage

(PECL imagick 2.0.0)

Imagick::trimImage — Supprime les bords de l'image

Description

bool Imagick::trimImage ( float $fuzz )

Supprime les bords qui correspondent à la couleur d'arrière-plan de l'image. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

fuzz

Par défaut, la cible doit correspondre à une couleur particulière de pixel. Cependant, dans la plupart des cas, 2 couleurs peuvent différer légèrement. Le paramètre fuzz de l'image définit la tolérance acceptée afin de considérer deux couleurs comme couleurs identiques. Ce paramètre représente les variations d'intervalle quantique.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Exemples

Exemple #1 Exemple avec Imagick::trimImage():

Tronque l'image, puis l'affiche au navigateur.

<?php
/* Crée l'objet et lit l'image */
$im = new Imagick("image.jpg");

/* Tronque l'image. */
$im->trimImage(0);

/* Affiche l'image */
header("Content-Type: image/" . $im->getImageFormat());
echo $im;
?>

Voir aussi

  • Imagick::getQuantumDepth() - Lit la profondeur quantique
  • Imagick::getQuantumRange() - Retourne l'intervalle quantique de Imagick

Imagick::transverseImage
Imagick::uniqueImageColors
La classe Imagick


Ne conserve qu'une couleur de pixel

Imagick::trimImage
Imagick::unsharpMaskImage
La classe Imagick
PHP Manual

Imagick::uniqueImageColors

(PECL imagick 2.0.0)

Imagick::uniqueImageColors — Ne conserve qu'une couleur de pixel

Description

bool Imagick::uniqueImageColors ( void )

Ne conserve qu'une couleur de pixel et supprime les autres. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Valeurs de retour

Returns TRUE on success.

Imagick::trimImage
Imagick::unsharpMaskImage
La classe Imagick


Rend une image plus nette

Imagick::uniqueImageColors
Imagick::valid
La classe Imagick
PHP Manual

Imagick::unsharpMaskImage

(PECL imagick 2.0.0)

Imagick::unsharpMaskImage — Rend une image plus nette

Description

bool Imagick::unsharpMaskImage ( float $radius , float $sigma , float $amount , float $threshold [, int $channel = Imagick::CHANNEL_ALL ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Rend une image plus nette. Nous traitons l'image avec un opérateur Gaussien d'un radius donné et d'une déviation standard (sigma). Pour de bons résultats, le radius doit être supérieur au sigma. L'utilisation d'un radius de 0 et Imagick::UnsharpMaskImage() sélectionne un bon radius pour vous.

Liste de paramètres

radius

sigma

amount

threshold

channel

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Imagick::uniqueImageColors
Imagick::valid
La classe Imagick


Vérifie si l'élément courant est valide

Imagick::unsharpMaskImage
Imagick::vignetteImage
La classe Imagick
PHP Manual

Imagick::valid

(PECL imagick 2.0.0)

Imagick::valid — Vérifie si l'élément courant est valide

Description

bool Imagick::valid ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie si l'élément courant est valide.

Valeurs de retour

Returns TRUE on success.

Imagick::unsharpMaskImage
Imagick::vignetteImage
La classe Imagick


Ajout un filtre vignette à l'image

Imagick::valid
Imagick::waveImage
La classe Imagick
PHP Manual

Imagick::vignetteImage

(PECL imagick 2.0.0)

Imagick::vignetteImage — Ajout un filtre vignette à l'image

Description

bool Imagick::vignetteImage ( float $blackPoint , float $whitePoint , int $x , int $y )

Adoucit les contours de l'image, à la mode des vignettes. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

blackPoint

Le point noir.

whitePoint

Le point blanc.

x

L'abscisse de l'ellipse.

y

L'ordonnée de l'ellipse.

Valeurs de retour

Returns TRUE on success.

Voir aussi

  • Imagick::waveImage() - Ajoute un filtre de vagues à l'image
  • Imagick::swirlImage() - Tourbillonne les pixels du centre de l'image

Imagick::valid
Imagick::waveImage
La classe Imagick


Ajoute un filtre de vagues à l'image

Imagick::vignetteImage
Imagick::whiteThresholdImage
La classe Imagick
PHP Manual

Imagick::waveImage

(PECL imagick 2.0.0)

Imagick::waveImage — Ajoute un filtre de vagues à l'image

Description

bool Imagick::waveImage ( float $amplitude , float $length )

Ajoute un filtre de vagues à l'image. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.

Liste de paramètres

amplitude

Amplitude de la vague.

length

Longueur de la vague.

Valeurs de retour

Returns TRUE on success.

Erreurs / Exceptions

Lance une exception ImagickException si une erreur survient.

Voir aussi

  • Imagick::solarizeImage() - Applique un effet de solarisation à l'image
  • Imagick::oilpaintImage() - Simule une peinture à l'huile
  • Imagick::embossImage() - Retourne une image en niveau de gris, avec un effet 3D
  • Imagick::addNoiseImage() - Ajoute un bruit blanc à une image
  • Imagick::swirlImage() - Tourbillonne les pixels du centre de l'image

Imagick::vignetteImage
Imagick::whiteThresholdImage
La classe Imagick


Force tous les pixels en dessous du seuil en blanc

Imagick::waveImage
Imagick::writeImage
La classe Imagick
PHP Manual

Imagick::whiteThresholdImage

(PECL imagick 2.0.0)

Imagick::whiteThresholdImage — Force tous les pixels en dessous du seuil en blanc

Description

bool Imagick::whiteThresholdImage ( mixed $threshold )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Identique à Imagick::ThresholdImage() mais force tous les pixels en dessous du seuil en blanc, laissant tous les autres pixels inchangés.

Liste de paramètres

threshold

Valeurs de retour

Returns TRUE on success.

Historique

Version | Description
2.1.0 | Autorise désormais une chaîne représentant la couleur comme paramètre. Les anciennes versions ne permettaient qu'un objet ImagickPixel.

Imagick::waveImage
Imagick::writeImage
La classe Imagick


Écrit une image dans le fichier spécifié

Imagick::whiteThresholdImage
Imagick::writeImageFile
La classe Imagick
PHP Manual

Imagick::writeImage

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImage — Écrit une image dans le fichier spécifié

Description

bool Imagick::writeImage ([ string $filename ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Écrit une image dans un fichier spécifié. Si le paramètre filename vaut NULL, l'image sera écrite dans le fichier défini par Imagick::ReadImage() ou Imagick::SetImageFilename().

Liste de paramètres

filename

Valeurs de retour

Returns TRUE on success.

Imagick::whiteThresholdImage
Imagick::writeImageFile
La classe Imagick


Writes an image to a filehandle

Imagick::writeImage
Imagick::writeImages
La classe Imagick
PHP Manual

Imagick::writeImageFile

(No version information available, might only be in SVN)

Imagick::writeImageFile — Writes an image to a filehandle

Description

bool Imagick::writeImageFile ( resource $filehandle )

Writes the image sequence to an open filehandle. The handle must be opened with for example fopen. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

filehandle

Filehandle where to write the image

Valeurs de retour

Returns TRUE on success.

Imagick::writeImage
Imagick::writeImages
La classe Imagick


Écrit une image ou une séquence d'images

Imagick::writeImageFile
Imagick::writeImagesFile
La classe Imagick
PHP Manual

Imagick::writeImages

(PECL imagick 0.9.0-0.9.9)

Imagick::writeImages — Écrit une image ou une séquence d'images

Description

bool Imagick::writeImages ( string $filename , bool $adjoin )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Écrit une image ou une séquence d'images.

Liste de paramètres

filename

adjoin

Valeurs de retour

Returns TRUE on success.

Imagick::writeImageFile
Imagick::writeImagesFile
La classe Imagick


Writes frames to a filehandle

Imagick::writeImages
La classe ImagickDraw
La classe Imagick
PHP Manual

Imagick::writeImagesFile

(No version information available, might only be in SVN)

Imagick::writeImagesFile — Writes frames to a filehandle

Description

bool Imagick::writeImagesFile ( resource $filehandle )

Writes all image frames into an open filehandle. This method can be used to write animated gifs or other multiframe images into open filehandle. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres

filehandle

Filehandle where to write the images

Valeurs de retour

Returns TRUE on success.

Imagick::writeImages
La classe ImagickDraw
La classe Imagick


La classe ImagickDraw

Synopsis de la classe

ImagickDraw
ImagickDraw {
bool affine ( array $affine )
bool annotation ( float $x , float $y , string $text )
bool arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
bool bezier ( array $coordinates )
bool circle ( float $ox , float $oy , float $px , float $py )
bool clear ( void )
ImagickDraw clone ( void )
bool color ( float $x , float $y , int $paintMethod )
bool comment ( string $comment )
bool composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
ImagickDraw __construct ( void )
bool destroy ( void )
bool ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
string getClipPath ( void )
int getClipRule ( void )
int getClipUnits ( void )
ImagickPixel getFillColor ( void )
float getFillOpacity ( void )
int getFillRule ( void )
string getFont ( void )
string getFontFamily ( void )
float getFontSize ( void )
int getFontStyle ( void )
int getFontWeight ( void )
int getGravity ( void )
bool getStrokeAntialias ( void )
ImagickPixel getStrokeColor ( ImagickPixel $stroke_color )
array getStrokeDashArray ( void )
float getStrokeDashOffset ( void )
int getStrokeLineCap ( void )
int getStrokeLineJoin ( void )
int getStrokeMiterLimit ( void )
float getStrokeOpacity ( void )
float getStrokeWidth ( void )
int getTextAlignment ( void )
bool getTextAntialias ( void )
int getTextDecoration ( void )
string getTextEncoding ( void )
ImagickPixel getTextUnderColor ( void )
string getVectorGraphics ( void )
bool line ( float $sx , float $sy , float $ex , float $ey )
bool matte ( float $x , float $y , int $paintMethod )
bool pathClose ( void )
bool pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
bool pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
bool pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
bool pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
bool pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
bool pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
bool pathFinish ( void )
bool pathLineToAbsolute ( float $x , float $y )
bool pathLineToHorizontalAbsolute ( float $x )
bool pathLineToHorizontalRelative ( float $x )
bool pathLineToRelative ( float $x , float $y )
bool pathLineToVerticalAbsolute ( float $y )
bool pathLineToVerticalRelative ( float $y )
bool pathMoveToAbsolute ( float $x , float $y )
bool pathMoveToRelative ( float $x , float $y )
bool pathStart ( void )
bool point ( float $x , float $y )
bool polygon ( array $coordinates )
bool polyline ( array $coordinates )
bool pop ( void )
bool popClipPath ( void )
bool popDefs ( void )
bool popPattern ( void )
bool push ( void )
bool pushClipPath ( string $clip_mask_id )
bool pushDefs ( void )
bool pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
bool rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
bool render ( void )
bool rotate ( float $degrees )
bool roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
bool scale ( float $x , float $y )
bool setClipPath ( string $clip_mask )
bool setClipRule ( int $fill_rule )
bool setClipUnits ( int $clip_units )
bool setFillAlpha ( float $opacity )
bool setFillColor ( ImagickPixel $fill_pixel )
bool setFillOpacity ( float $fillOpacity )
bool setFillPatternURL ( string $fill_url )
bool setFillRule ( int $fill_rule )
bool setFont ( string $font_name )
bool setFontFamily ( string $font_family )
bool setFontSize ( float $pointsize )
bool setFontStretch ( int $fontStretch )
bool setFontStyle ( int $style )
bool setFontWeight ( int $font_weight )
bool setGravity ( int $gravity )
bool setStrokeAlpha ( float $opacity )
bool setStrokeAntialias ( bool $stroke_antialias )
bool setStrokeColor ( ImagickPixel $stroke_pixel )
bool setStrokeDashArray ( array $dashArray )
bool setStrokeDashOffset ( float $dash_offset )
bool setStrokeLineCap ( int $linecap )
bool setStrokeLineJoin ( int $linejoin )
bool setStrokeMiterLimit ( int $miterlimit )
bool setStrokeOpacity ( float $stroke_opacity )
bool setStrokePatternURL ( string $stroke_url )
bool setStrokeWidth ( float $stroke_width )
bool setTextAlignment ( int $alignment )
bool setTextAntialias ( bool $antiAlias )
bool setTextDecoration ( int $decoration )
bool setTextEncoding ( string $encoding )
bool setTextUnderColor ( ImagickPixel $under_color )
bool setVectorGraphics ( string $xml )
bool setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
bool skewX ( float $degrees )
bool skewY ( float $degrees )
bool translate ( float $x , float $y )
}

Sommaire

  • ImagickDraw::affine — Ajuste la matrice de transformation affine courante
  • ImagickDraw::annotation — Dessine un texte sur une image
  • ImagickDraw::arc — Dessine un arc
  • ImagickDraw::bezier — Dessine une courbe de Bézier
  • ImagickDraw::circle — Dessine un cercle
  • ImagickDraw::clear — Efface tout l'objet ImagickDraw
  • ImagickDraw::clone — Fait une copie exacte de l'objet ImagickDraw
  • ImagickDraw::color — Dessine une couleur sur une image
  • ImagickDraw::comment — Ajoute un commentaire
  • ImagickDraw::composite — Compose une image avec une autre
  • ImagickDraw::__construct — Le constructeur ImagickDraw
  • ImagickDraw::destroy — Libère toutes les ressources associées à un objet ImageDraw
  • ImagickDraw::ellipse — Dessine une ellipse sur une image
  • ImagickDraw::getClipPath — Retourne l'identifiant du chemin courant
  • ImagickDraw::getClipRule — Retourne la règle de remplissage courante pour les polygones
  • ImagickDraw::getClipUnits — Retourne l'unité d'interprétation des chemins
  • ImagickDraw::getFillColor — Retourne la couleur de remplissage
  • ImagickDraw::getFillOpacity — Retourne l'opacité de dessin
  • ImagickDraw::getFillRule — Retourne la règle de remplissage
  • ImagickDraw::getFont — Retourne la police
  • ImagickDraw::getFontFamily — Retourne la famille de police
  • ImagickDraw::getFontSize — Retourne la taille de la police
  • ImagickDraw::getFontStyle — Retourne le style de la police
  • ImagickDraw::getFontWeight — Retourne le poids de la police
  • ImagickDraw::getGravity — Retourne la gravité de placement de texte
  • ImagickDraw::getStrokeAntialias — Retourne la configuration d'anti-aliasing de trait
  • ImagickDraw::getStrokeColor — Retourne la couleur des contours d'objets
  • ImagickDraw::getStrokeDashArray — Retourne un tableau représentant le motif de pointillés
  • ImagickDraw::getStrokeDashOffset — Retourne l'offset du pointillé dans le motif
  • ImagickDraw::getStrokeLineCap — Retourne la forme à utiliser pour dessiner les bouts de sous-chemins
  • ImagickDraw::getStrokeLineJoin — Retourne la forme à utiliser pour dessiner les coins d'un chemin
  • ImagickDraw::getStrokeMiterLimit — Retourne la 'miterLimit'
  • ImagickDraw::getStrokeOpacity — Retourne l'opacité des contours d'un objet
  • ImagickDraw::getStrokeWidth — Retourne la largeur du trait utilisé
  • ImagickDraw::getTextAlignment — Retourne l'alignement du texte
  • ImagickDraw::getTextAntialias — Retourne la configuration de l'anti-aliasing de texte
  • ImagickDraw::getTextDecoration — Retourne la décoration du texte
  • ImagickDraw::getTextEncoding — Retourne le jeu de caractères utilisé pour les annotations de texte
  • ImagickDraw::getTextUnderColor — Retourne la couleur sous le texte
  • ImagickDraw::getVectorGraphics — Retourne une chaîne contenant le vecteur graphique
  • ImagickDraw::line — Dessine une ligne
  • ImagickDraw::matte — Dessine sur le canal d'opacité de l'image
  • ImagickDraw::pathClose — Ajoute un élément de chemin au chemin courant
  • ImagickDraw::pathCurveToAbsolute — Dessine une courbe de Bézier cubique, en coordonnées absolues
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute — Dessine une courbe de Bézier quadratique, en coordonnées absolues
  • ImagickDraw::pathCurveToQuadraticBezierRelative — Dessine une courbe de Bézier quadratique, en coordonnées relatives
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Dessine une courbe de Bézier de puissance 4, en coordonnées absolues
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Dessine une courbe de Bézier de puissance 4, en coordonnées relatives
  • ImagickDraw::pathCurveToRelative — Dessine une courbe de Bézier cubique, en coordonnées relatives
  • ImagickDraw::pathCurveToSmoothAbsolute — Dessine une courbe de Bézier, en coordonnées absolues
  • ImagickDraw::pathCurveToSmoothRelative — Dessine une courbe de Bézier, en coordonnées relatives
  • ImagickDraw::pathEllipticArcAbsolute — Dessine un arc d'ellipse, en coordonnées absolues
  • ImagickDraw::pathEllipticArcRelative — Dessine un arc d'ellipse, en coordonnées relatives
  • ImagickDraw::pathFinish — Termine le chemin courant
  • ImagickDraw::pathLineToAbsolute — Dessine une ligne de chemin, en coordonnées absolues
  • ImagickDraw::pathLineToHorizontalAbsolute — Dessine une ligne de chemin horizontale, en coordonnées absolues
  • ImagickDraw::pathLineToHorizontalRelative — Dessine une ligne de chemin horizontale, en coordonnées relatives
  • ImagickDraw::pathLineToRelative — Dessine une ligne de chemin, en coordonnées relatives
  • ImagickDraw::pathLineToVerticalAbsolute — Dessine une ligne de chemin verticale, en coordonnées absolues
  • ImagickDraw::pathLineToVerticalRelative — Dessine une ligne de chemin verticale, en coordonnées relatives
  • ImagickDraw::pathMoveToAbsolute — Commence un nouveau sous-chemin, en coordonnées absolues
  • ImagickDraw::pathMoveToRelative — Commence un nouveau sous-chemin, en coordonnées relatives
  • ImagickDraw::pathStart — Déclare le début d'une chemin de dessin
  • ImagickDraw::point — Dessine un point
  • ImagickDraw::polygon — Dessine un polygone
  • ImagickDraw::polyline — Dessine une ligne brisée
  • ImagickDraw::pop — Détruit l'objet ImagickDraw courant dans la pile, et retourne son précédent
  • ImagickDraw::popClipPath — Termine la définition d'un chemin
  • ImagickDraw::popDefs — Termine une définition de liste
  • ImagickDraw::popPattern — Termine une définition de motif
  • ImagickDraw::push — Clone l'objet ImagickDraw courant et le pousse dans la pile
  • ImagickDraw::pushClipPath — Commence la définition d'un chemin
  • ImagickDraw::pushDefs — Indique que la commande suivante créée des éléments nommés pour pré-traitement
  • ImagickDraw::pushPattern — Configure un espace de dessin
  • ImagickDraw::rectangle — Dessine un rectangle
  • ImagickDraw::render — Effectue le rendu de tous les dessins à l'image
  • ImagickDraw::rotate — Applique une rotation
  • ImagickDraw::roundRectangle — Dessine un rectangle aux coins arrondis
  • ImagickDraw::scale — Ajuste le facteur de mise à l'échelle
  • ImagickDraw::setClipPath — Associe un chemin avec une image
  • ImagickDraw::setClipRule — Configure la règle de remplissage du polygone à utiliser avec les chemins
  • ImagickDraw::setClipUnits — Configure le mode d'interprétation des unités de chemin
  • ImagickDraw::setFillAlpha — Configure l'opacité de la couleur de remplissage
  • ImagickDraw::setFillColor — Configure la couleur de dessin des objets remplis
  • ImagickDraw::setFillOpacity — Configure l'opacité à utiliser pour le remplissage
  • ImagickDraw::setFillPatternURL — Configure l'URL du motif de remplissage des surfaces
  • ImagickDraw::setFillRule — Configure la règle de remplissage des polygones
  • ImagickDraw::setFont — Configure la police complète pour les textes
  • ImagickDraw::setFontFamily — Configure la famille de police pour les textes
  • ImagickDraw::setFontSize — Configure la taille de point pour les textes
  • ImagickDraw::setFontStretch — Configure l'étirement du texte
  • ImagickDraw::setFontStyle — Configure le style de police
  • ImagickDraw::setFontWeight — Configure le poids de la police
  • ImagickDraw::setGravity — Configure la gravité de placement de texte
  • ImagickDraw::setStrokeAlpha — Spécifie l'opacité des contours d'objets
  • ImagickDraw::setStrokeAntialias — Contrôle l'anti-aliasing des pointillés
  • ImagickDraw::setStrokeColor — Configure la couleur utilisée pour dessiner les objets
  • ImagickDraw::setStrokeDashArray — Spécifie le motif de pointillé
  • ImagickDraw::setStrokeDashOffset — Spécifie la position dans le motif pour commencer le pointillé
  • ImagickDraw::setStrokeLineCap — Spécifie la forme à utiliser à la fin des sous-chemins
  • ImagickDraw::setStrokeLineJoin — Spécifie la forme à utiliser pour dessiner les fins de lignes
  • ImagickDraw::setStrokeMiterLimit — Spécifie la limiter miter
  • ImagickDraw::setStrokeOpacity — Spécifie l'opacité pour dessiner les contours
  • ImagickDraw::setStrokePatternURL — Configure le motif utilisé pour dessiner les contours
  • ImagickDraw::setStrokeWidth — Configure la largeur du trait pour dessiner les contours
  • ImagickDraw::setTextAlignment — Spécifie l'alignement du texte
  • ImagickDraw::setTextAntialias — Contrôle l'anti-alisasing du texte
  • ImagickDraw::setTextDecoration — Spécifie les ornements de texte
  • ImagickDraw::setTextEncoding — Spécifie le jeu de caractères
  • ImagickDraw::setTextUnderColor — Spécifie la couleur de fond d'une rectangle
  • ImagickDraw::setVectorGraphics — Configure le vecteur graphique
  • ImagickDraw::setViewbox — Configure la taille du canevas
  • ImagickDraw::skewX — Biaise les coordonnées dans la direction horizontale
  • ImagickDraw::skewY — Incline les coordonnées dans la direction verticale
  • ImagickDraw::translate — Applique une translation
Imagick::writeImagesFile
ImagickDraw::affine
ImageMagick


Ajuste la matrice de transformation affine courante

La classe ImagickDraw
ImagickDraw::annotation
La classe ImagickDraw
PHP Manual

ImagickDraw::affine

(PECL imagick 2.0.0)

ImagickDraw::affine — Ajuste la matrice de transformation affine courante

Description

bool ImagickDraw::affine ( array $affine )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajuste la matrice de transformation affine courante, avec la nouvelle matrice de transformation.

Liste de paramètres

affine

Paramètres de matrice de transformation affine.

Valeurs de retour

Aucune valeur n'est retournée.

La classe ImagickDraw
ImagickDraw::annotation
La classe ImagickDraw


Dessine un texte sur une image

ImagickDraw::affine
ImagickDraw::arc
La classe ImagickDraw
PHP Manual

ImagickDraw::annotation

(PECL imagick 2.0.0)

ImagickDraw::annotation — Dessine un texte sur une image

Description

bool ImagickDraw::annotation ( float $x , float $y , string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un texte sur une image.

Liste de paramètres

x

L'abscisse du texte à dessiner.

y

L'ordonnée du texte à dessiner.

text

Le texte à dessiner.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::affine
ImagickDraw::arc
La classe ImagickDraw


Dessine un arc

ImagickDraw::annotation
ImagickDraw::bezier
La classe ImagickDraw
PHP Manual

ImagickDraw::arc

(PECL imagick 2.0.0)

ImagickDraw::arc — Dessine un arc

Description

bool ImagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un arc, placé à l'intérieur d'un rectangle.

Liste de paramètres

sx

Abscisse du point de début d'arc dans le rectangle d'encadrement

sy

Ordonnée du point de début d'arc dans le rectangle d'encadrement

ex

Abscisse du point de fin d'arc dans le rectangle d'encadrement

ey

Ordonnée du point de fin d'arc dans le rectangle d'encadrement

sd

Degré de rotation initial

ed

Degré de rotation final

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::annotation
ImagickDraw::bezier
La classe ImagickDraw


Dessine une courbe de Bézier

ImagickDraw::arc
ImagickDraw::circle
La classe ImagickDraw
PHP Manual

ImagickDraw::bezier

(PECL imagick 2.0.0)

ImagickDraw::bezier — Dessine une courbe de Bézier

Description

bool ImagickDraw::bezier ( array $coordinates )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier, à l'ait d'une série de point de contrôle.

Liste de paramètres

coordinates

Tableau multidimensionnel tel que array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::arc
ImagickDraw::circle
La classe ImagickDraw


Dessine un cercle

ImagickDraw::bezier
ImagickDraw::clear
La classe ImagickDraw
PHP Manual

ImagickDraw::circle

(PECL imagick 2.0.0)

ImagickDraw::circle — Dessine un cercle

Description

bool ImagickDraw::circle ( float $ox , float $oy , float $px , float $py )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un cercle.

Liste de paramètres

ox

abscisse de l'origine

oy

ordonnée de l'origine

px

abscisse du périmètre

py

ordonnée du périmètre

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::bezier
ImagickDraw::clear
La classe ImagickDraw


Efface tout l'objet ImagickDraw

ImagickDraw::circle
ImagickDraw::clone
La classe ImagickDraw
PHP Manual

ImagickDraw::clear

(PECL imagick 2.0.0)

ImagickDraw::clear — Efface tout l'objet ImagickDraw

Description

bool ImagickDraw::clear ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Efface tout l'objet ImagickDraw et toutes les commandes accumulées, puis remet les directives à leur valeur par défaut.

Valeurs de retour

Retourne un objet ImagickDraw.

ImagickDraw::circle
ImagickDraw::clone
La classe ImagickDraw


Fait une copie exacte de l'objet ImagickDraw

ImagickDraw::clear
ImagickDraw::color
La classe ImagickDraw
PHP Manual

ImagickDraw::clone

(PECL imagick 2.0.0)

ImagickDraw::clone — Fait une copie exacte de l'objet ImagickDraw

Description

ImagickDraw ImagickDraw::clone ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fait une copie exacte de l'objet ImagickDraw.

Valeurs de retour

ImagickDraw::clear
ImagickDraw::color
La classe ImagickDraw


Dessine une couleur sur une image

ImagickDraw::clone
ImagickDraw::comment
La classe ImagickDraw
PHP Manual

ImagickDraw::color

(PECL imagick 2.0.0)

ImagickDraw::color — Dessine une couleur sur une image

Description

bool ImagickDraw::color ( float $x , float $y , int $paintMethod )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une couleur sur une image, avec la couleur de remplissage courante, en commençant à une position donnée, et en utilisant la méthode de coloration indiquée.

Liste de paramètres

x

abscisse du point de peinture

y

ordonnée du point de peinture

paintMethod

une des constantes de PAINT_

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::clone
ImagickDraw::comment
La classe ImagickDraw


Ajoute un commentaire

ImagickDraw::color
ImagickDraw::composite
La classe ImagickDraw
PHP Manual

ImagickDraw::comment

(PECL imagick 2.0.0)

ImagickDraw::comment — Ajoute un commentaire

Description

bool ImagickDraw::comment ( string $comment )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un commentaire au flux de sortie.

Liste de paramètres

comment

La chaîne de commentaire

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::color
ImagickDraw::composite
La classe ImagickDraw


Compose une image avec une autre

ImagickDraw::comment
ImagickDraw::__construct
La classe ImagickDraw
PHP Manual

ImagickDraw::composite

(PECL imagick 2.0.0)

ImagickDraw::composite — Compose une image avec une autre

Description

bool ImagickDraw::composite ( int $compose , float $x , float $y , float $width , float $height , Imagick $compositeWand )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compose une image avec une autre an image, en utilisant l'opérateur de composition, à la position et à la taille indiquées.

Liste de paramètres

compose

l'opérateur de composition. Une des constantes COMPOSITE_

x

abscisse du coin supérieur gauche

y

ordonnée du coin supérieur gauche

width

largeur de l'image de composition

height

hauteur de l'image de composition

compositeWand

L'objet Imagick où la composition est prise

Valeurs de retour

Returns TRUE on success.

ImagickDraw::comment
ImagickDraw::__construct
La classe ImagickDraw


Le constructeur ImagickDraw

ImagickDraw::composite
ImagickDraw::destroy
La classe ImagickDraw
PHP Manual

ImagickDraw::__construct

(PECL imagick 2.0.0)

ImagickDraw::__construct — Le constructeur ImagickDraw

Description

ImagickDraw ImagickDraw::__construct ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Le constructeur ImagickDraw

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::composite
ImagickDraw::destroy
La classe ImagickDraw


Libère toutes les ressources associées à un objet ImageDraw

ImagickDraw::__construct
ImagickDraw::ellipse
La classe ImagickDraw
PHP Manual

ImagickDraw::destroy

(PECL imagick 2.0.0)

ImagickDraw::destroy — Libère toutes les ressources associées à un objet ImageDraw

Description

bool ImagickDraw::destroy ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Libère toutes les ressources associées à un objet ImageDraw.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::__construct
ImagickDraw::ellipse
La classe ImagickDraw


Dessine une ellipse sur une image

ImagickDraw::destroy
ImagickDraw::getClipPath
La classe ImagickDraw
PHP Manual

ImagickDraw::ellipse

(PECL imagick 2.0.0)

ImagickDraw::ellipse — Dessine une ellipse sur une image

Description

bool ImagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ellipse sur une image.

Liste de paramètres

ox

oy

rx

ry

start

end

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::destroy
ImagickDraw::getClipPath
La classe ImagickDraw


Retourne l'identifiant du chemin courant

ImagickDraw::ellipse
ImagickDraw::getClipRule
La classe ImagickDraw
PHP Manual

ImagickDraw::getClipPath

(PECL imagick 2.0.0)

ImagickDraw::getClipPath — Retourne l'identifiant du chemin courant

Description

string ImagickDraw::getClipPath ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'identifiant du chemin courant.

Valeurs de retour

Retourne une chaîne, ou FALSE si aucun chemin n'existe.

ImagickDraw::ellipse
ImagickDraw::getClipRule
La classe ImagickDraw


Retourne la règle de remplissage courante pour les polygones

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
La classe ImagickDraw
PHP Manual

ImagickDraw::getClipRule

(PECL imagick 2.0.0)

ImagickDraw::getClipRule — Retourne la règle de remplissage courante pour les polygones

Description

int ImagickDraw::getClipRule ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la règle de remplissage courante pour les polygones.

Valeurs de retour

Retourne une des constantes FILLRULE_.

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
La classe ImagickDraw


Retourne l'unité d'interprétation des chemins

ImagickDraw::getClipRule
ImagickDraw::getFillColor
La classe ImagickDraw
PHP Manual

ImagickDraw::getClipUnits

(PECL imagick 2.0.0)

ImagickDraw::getClipUnits — Retourne l'unité d'interprétation des chemins

Description

int ImagickDraw::getClipUnits ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'unité d'interprétation des chemins.

Valeurs de retour

Retourne un entier en cas de succès.

ImagickDraw::getClipRule
ImagickDraw::getFillColor
La classe ImagickDraw


Retourne la couleur de remplissage

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
La classe ImagickDraw
PHP Manual

ImagickDraw::getFillColor

(PECL imagick 2.0.0)

ImagickDraw::getFillColor — Retourne la couleur de remplissage

Description

ImagickPixel ImagickDraw::getFillColor ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur de remplissage utilisé pour les objets pleins.

Valeurs de retour

Retourne un objet ImagickPixel.

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
La classe ImagickDraw


Retourne l'opacité de dessin

ImagickDraw::getFillColor
ImagickDraw::getFillRule
La classe ImagickDraw
PHP Manual

ImagickDraw::getFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::getFillOpacity — Retourne l'opacité de dessin

Description

float ImagickDraw::getFillOpacity ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'opacité de dessin. 1.0 représente l'opacité totale.

Valeurs de retour

L'opacité.

ImagickDraw::getFillColor
ImagickDraw::getFillRule
La classe ImagickDraw


Retourne la règle de remplissage

ImagickDraw::getFillOpacity
ImagickDraw::getFont
La classe ImagickDraw
PHP Manual

ImagickDraw::getFillRule

(PECL imagick 2.0.0)

ImagickDraw::getFillRule — Retourne la règle de remplissage

Description

int ImagickDraw::getFillRule ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la règle de remplissage utilisée lors du dessin des polygones.

Valeurs de retour

Retourne une constante FILLRULE_

ImagickDraw::getFillOpacity
ImagickDraw::getFont
La classe ImagickDraw


Retourne la police

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
La classe ImagickDraw
PHP Manual

ImagickDraw::getFont

(PECL imagick 2.0.0)

ImagickDraw::getFont — Retourne la police

Description

string ImagickDraw::getFont ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne une chaîne spécifiant la police utilisée pour les annotations.

Valeurs de retour

Retourne une chaîne en cas de succès, et FALSE sinon.

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
La classe ImagickDraw


Retourne la famille de police

ImagickDraw::getFont
ImagickDraw::getFontSize
La classe ImagickDraw
PHP Manual

ImagickDraw::getFontFamily

(PECL imagick 2.0.0)

ImagickDraw::getFontFamily — Retourne la famille de police

Description

string ImagickDraw::getFontFamily ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la famille de police des annotations.

Valeurs de retour

Retourne la famille de police des annotations, ou FALSE si la famille de police n'est pas configurée.

ImagickDraw::getFont
ImagickDraw::getFontSize
La classe ImagickDraw


Retourne la taille de la police

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
La classe ImagickDraw
PHP Manual

ImagickDraw::getFontSize

(PECL imagick 2.0.0)

ImagickDraw::getFontSize — Retourne la taille de la police

Description

float ImagickDraw::getFontSize ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la taille de la police.

Valeurs de retour

Retourne la taille de la police utilisée par l'objet ImagickDraw.

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
La classe ImagickDraw


Retourne le style de la police

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
La classe ImagickDraw
PHP Manual

ImagickDraw::getFontStyle

(PECL imagick 2.0.0)

ImagickDraw::getFontStyle — Retourne le style de la police

Description

int ImagickDraw::getFontStyle ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le style de la police.

Valeurs de retour

Retourne la constante de style STYLE_, associée à l'objet ImagickDraw, ou 0 si le style n'est pas fait.

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
La classe ImagickDraw


Retourne le poids de la police

ImagickDraw::getFontStyle
ImagickDraw::getGravity
La classe ImagickDraw
PHP Manual

ImagickDraw::getFontWeight

(PECL imagick 2.0.0)

ImagickDraw::getFontWeight — Retourne le poids de la police

Description

int ImagickDraw::getFontWeight ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le poids de la police.

Valeurs de retour

Retourne un entier en cas de succès, et 0 si le poids n'est pas configuré.

ImagickDraw::getFontStyle
ImagickDraw::getGravity
La classe ImagickDraw


Retourne la gravité de placement de texte

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
La classe ImagickDraw
PHP Manual

ImagickDraw::getGravity

(PECL imagick 2.0.0)

ImagickDraw::getGravity — Retourne la gravité de placement de texte

Description

int ImagickDraw::getGravity ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la gravité de placement de texte, utilisée lors de l'annotation.

Valeurs de retour

Retourne une constante GRAVITY_ en cas de succès, et 0 si la gravité n'est pas configurée.

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
La classe ImagickDraw


Retourne la configuration d'anti-aliasing de trait

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::getStrokeAntialias — Retourne la configuration d'anti-aliasing de trait

Description

bool ImagickDraw::getStrokeAntialias ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la configuration d'anti-aliasing de trait. Les traits de dessins sont anti-aliasés par défaut. Lorsque l'anti-aliasing est désactivé, les pixels sont évalués à partir d'un seuil, pour déterminer si la couleur de trait ou de fond doit être utilisée.

Valeurs de retour

Retourne TRUE si l'anti-aliasing est activé, ou FALSE sinon.

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
La classe ImagickDraw


Retourne la couleur des contours d'objets

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::getStrokeColor — Retourne la couleur des contours d'objets

Description

ImagickPixel ImagickDraw::getStrokeColor ( ImagickPixel $stroke_color )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur des contours d'objets.

Liste de paramètres

stroke_color

Valeurs de retour

Retourne un objet ImagickPixel qui décrit la couleur.

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
La classe ImagickDraw


Retourne un tableau représentant le motif de pointillés

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashArray — Retourne un tableau représentant le motif de pointillés

Description

array ImagickDraw::getStrokeDashArray ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un tableau représentant le motif de pointillés, les vides et les pleins.

Valeurs de retour

Retourne un tableau en cas de succès, et un tableau vide sinon.

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
La classe ImagickDraw


Retourne l'offset du pointillé dans le motif

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::getStrokeDashOffset — Retourne l'offset du pointillé dans le motif

Description

float ImagickDraw::getStrokeDashOffset ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'offset du pointillé dans le motif.

Valeurs de retour

Retourne un nombre décimal représentant, le début du pointillé dans le motif.

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
La classe ImagickDraw


Retourne la forme à utiliser pour dessiner les bouts de sous-chemins

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineCap — Retourne la forme à utiliser pour dessiner les bouts de sous-chemins

Description

int ImagickDraw::getStrokeLineCap ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la forme à utiliser pour dessiner les bouts de sous-chemins.

Valeurs de retour

Retourne une des constantes LINECAP_, ou 0 si les bouts de lignes ne sont pas configurés.

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
La classe ImagickDraw


Retourne la forme à utiliser pour dessiner les coins d'un chemin

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::getStrokeLineJoin — Retourne la forme à utiliser pour dessiner les coins d'un chemin

Description

int ImagickDraw::getStrokeLineJoin ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la forme à utiliser pour dessiner les coins d'un chemin (ou d'autres formes vectorielles), quand ils sont dessinés.

Valeurs de retour

Retourne une constante de jointure de lignes, ou 0 si les coins ne sont pas configurés.

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
La classe ImagickDraw


Retourne la 'miterLimit'

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::getStrokeMiterLimit — Retourne la 'miterLimit'

Description

int ImagickDraw::getStrokeMiterLimit ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la 'miterLimit'. Lorsque deux segments se rencontrent à angle aigu, que les des jointures miter ont été spécifier pour 'lineJoin', il est possible pour le miter de dépasser l'épaisseur du trait du chemin. La 'miterLimit' impose une limite au ratio entre la longueur du miter et 'lineWidth'.

Valeurs de retour

Retourne un entier décrivant la 'miterLimit', et 0 si la 'miterLimit' n'est pas configurée.

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
La classe ImagickDraw


Retourne l'opacité des contours d'un objet

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::getStrokeOpacity — Retourne l'opacité des contours d'un objet

Description

float ImagickDraw::getStrokeOpacity ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'opacité des contours d'un objet.

Valeurs de retour

Retourne un nombre décimal décrivant l'opacité des contours d'un objet.

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
La classe ImagickDraw


Retourne la largeur du trait utilisé

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
La classe ImagickDraw
PHP Manual

ImagickDraw::getStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::getStrokeWidth — Retourne la largeur du trait utilisé

Description

float ImagickDraw::getStrokeWidth ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la largeur du trait utilisé.

Valeurs de retour

Retourne un nombre décimal qui décrit la largeur du trait.

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
La classe ImagickDraw


Retourne l'alignement du texte

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
La classe ImagickDraw
PHP Manual

ImagickDraw::getTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::getTextAlignment — Retourne l'alignement du texte

Description

int ImagickDraw::getTextAlignment ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'alignement du texte.

Valeurs de retour

Retourne une des constantes ALIGN_, et 0 si l'alignement n'est pas configuré.

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
La classe ImagickDraw


Retourne la configuration de l'anti-aliasing de texte

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
La classe ImagickDraw
PHP Manual

ImagickDraw::getTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::getTextAntialias — Retourne la configuration de l'anti-aliasing de texte

Description

bool ImagickDraw::getTextAntialias ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la configuration de l'anti-aliasing de texte, qui détermine si le texte est anti-aliasé ou pas. Les textes sont anti-aliasés par défaut.

Valeurs de retour

Retourne TRUE si le texte est anti-aliasé, et FALSE sinon.

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
La classe ImagickDraw


Retourne la décoration du texte

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
La classe ImagickDraw
PHP Manual

ImagickDraw::getTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::getTextDecoration — Retourne la décoration du texte

Description

int ImagickDraw::getTextDecoration ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la décoration du texte d'annotation.

Valeurs de retour

Retourne une des constantes DECORATION_, ou bien 0 si aucune décoration n'est configurée.

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
La classe ImagickDraw


Retourne le jeu de caractères utilisé pour les annotations de texte

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
La classe ImagickDraw
PHP Manual

ImagickDraw::getTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::getTextEncoding — Retourne le jeu de caractères utilisé pour les annotations de texte

Description

string ImagickDraw::getTextEncoding ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le jeu de caractères utilisé pour les annotations de texte.

Valeurs de retour

Retourne une chaîne spécifiant le jeu de caractères, ou bien FALSE si le jeu de caractères n'est pas configuré.

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
La classe ImagickDraw


Retourne la couleur sous le texte

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
La classe ImagickDraw
PHP Manual

ImagickDraw::getTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::getTextUnderColor — Retourne la couleur sous le texte

Description

ImagickPixel ImagickDraw::getTextUnderColor ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur du rectangle placé sous le texte des annotations.

Valeurs de retour

Retourne un objet ImagickPixel, qui décrit la couleur.

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
La classe ImagickDraw


Retourne une chaîne contenant le vecteur graphique

ImagickDraw::getTextUnderColor
ImagickDraw::line
La classe ImagickDraw
PHP Manual

ImagickDraw::getVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::getVectorGraphics — Retourne une chaîne contenant le vecteur graphique

Description

string ImagickDraw::getVectorGraphics ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne une chaîne contenant le vecteur graphique, généré par les appels graphiques depuis que l'objet ImagickDraw a été créé.

Valeurs de retour

Retourne une chaîne contenant les vecteurs graphiques.

ImagickDraw::getTextUnderColor
ImagickDraw::line
La classe ImagickDraw


Dessine une ligne

ImagickDraw::getVectorGraphics
ImagickDraw::matte
La classe ImagickDraw
PHP Manual

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::line — Dessine une ligne

Description

bool ImagickDraw::line ( float $sx , float $sy , float $ex , float $ey )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne en utilisant la couleur de trait courante, son opacité, et sa largeur.

Liste de paramètres

sx

L'abscisse de début

sy

L'ordonnée de début

ex

L'abscisse de fin

ey

L'ordonnée de fin

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::getVectorGraphics
ImagickDraw::matte
La classe ImagickDraw


Dessine sur le canal d'opacité de l'image

ImagickDraw::line
ImagickDraw::pathClose
La classe ImagickDraw
PHP Manual

ImagickDraw::matte

(PECL imagick 2.0.0)

ImagickDraw::matte — Dessine sur le canal d'opacité de l'image

Description

bool ImagickDraw::matte ( float $x , float $y , int $paintMethod )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine sur le canal d'opacité de l'image, afin de rendre transparent les pixels indiqués.

Liste de paramètres

x

abscisse du mate

y

ordonnée du mate

paintMethod

Constante PAINT

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::line
ImagickDraw::pathClose
La classe ImagickDraw


Ajoute un élément de chemin au chemin courant

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathClose

(PECL imagick 2.0.0)

ImagickDraw::pathClose — Ajoute un élément de chemin au chemin courant

Description

bool ImagickDraw::pathClose ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajoute un élément de chemin au chemin courant, qui va clore le sous-chemin en dessinant une ligne droit depuis le point courant jusqu'au point de démarrage le plus récent (généralement, le dernier point de déplacement).

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
La classe ImagickDraw


Dessine une courbe de Bézier cubique, en coordonnées absolues

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToAbsolute — Dessine une courbe de Bézier cubique, en coordonnées absolues

Description

bool ImagickDraw::pathCurveToAbsolute ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier cubique, à partir du point courant (x,y) en utilisant le point (x1,y1) comme point de contrôle au début de la courbe et (x2,y2) comme point de contrôle à la fin de la courbe, en utilisant des coordonnées absolues. À la fin de la commande, le nouveau point courant est le point final (x,y), utilisé par le polybezier.

Liste de paramètres

x1

abscisse du premier point de contrôle

y1

ordonnée du premier point de contrôle

x2

abscisse du second point de contrôle

y2

ordonnée du second point de contrôle

x

abscisse de la fin de la courbe

y

ordonnée de la fin de la courbe

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
La classe ImagickDraw


Dessine une courbe de Bézier quadratique, en coordonnées absolues

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierAbsolute — Dessine une courbe de Bézier quadratique, en coordonnées absolues

Description

bool ImagickDraw::pathCurveToQuadraticBezierAbsolute ( float $x1 , float $y1 , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier quadratique, en coordonnées relatives, par rapport au point courant (x,y), en utilisant le point (x1,y1) comme point de contrôle. A la fin du dessin, le nouveau point courant devient le point final (x,y) utilisé par le polybezier.

Liste de paramètres

x1

abscisse du point de contrôle

y1

ordonnée du point de contrôle

x

abscisse du point final

y

ordonnée du point final

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
La classe ImagickDraw


Dessine une courbe de Bézier quadratique, en coordonnées relatives

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierRelative — Dessine une courbe de Bézier quadratique, en coordonnées relatives

Description

bool ImagickDraw::pathCurveToQuadraticBezierRelative ( float $x1 , float $y1 , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier quadratique, en coordonnées relatives, par rapport au point courant (x,y), en utilisant le point (x1,y1) comme point de contrôle. A la fin du dessin, le nouveau point courant devient le point final (x,y) utilisé par le polybezier.

Liste de paramètres

x1

abscisse de départ

y1

ordonnée de départ

x

abscisse de fin

y

ordonnée de fin

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
La classe ImagickDraw


Dessine une courbe de Bézier de puissance 4, en coordonnées absolues

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — Dessine une courbe de Bézier de puissance 4, en coordonnées absolues

Description

bool ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier de puissance 4, en coordonnées relatives, à partir du point courant (x, y). Le point de contrôle est la réflexion du point de contrôle sur la commande de dessin en coordonnées absolues. S'il n'y a pas eu de commande précédente ou si la commande précédente n'était pas ImagickDraw::DrawPathCurveToQuadraticBezierAbsolute, ImagickDraw::DrawPathCurveToQuadraticBezierRelative ou ImagickDraw::DrawPathCurveToQuadraticBezierSmoothRelative, on suppose que le point de contrôle coïncide avec le point courant. À la fin de la commande, le nouveau point courant devient le point final (x, y), utilisé par le polybezier.

Liste de paramètres

x

L'abscisse du point de fin

y

L'ordonnée du point de fin

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
La classe ImagickDraw


Dessine une courbe de Bézier de puissance 4, en coordonnées relatives

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — Dessine une courbe de Bézier de puissance 4, en coordonnées relatives

Description

bool ImagickDraw::pathCurveToQuadraticBezierSmoothRelative ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier de puissance 4, en coordonnées relatives, à partir du point courant (x, y). Le point de contrôle est la réflexion du point de contrôle sur la commande de dessin en coordonnées relatives. S'il n'y a pas eu de commande précédente ou si la commande précédente n'était pas ImagickDraw::DrawPathCurveToQuadraticBezierAbsolute, ImagickDraw::DrawPathCurveToQuadraticBezierRelative, ImagickDraw::DrawPathCurveToQuadraticBezierSmoothAbsolut ou ImagickDraw::DrawPathCurveToQuadraticBezierSmoothRelative on suppose que le point de contrôle coïncide avec le point courant. A la fin de la commande, le nouveau point courant devient le point final (x, y), utilisé par le polybezier.

Liste de paramètres

x

L'abscisse du point de fin

y

L'ordonnée du point de fin

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
La classe ImagickDraw


Dessine une courbe de Bézier cubique, en coordonnées relatives

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToRelative — Dessine une courbe de Bézier cubique, en coordonnées relatives

Description

bool ImagickDraw::pathCurveToRelative ( float $x1 , float $y1 , float $x2 , float $y2 , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier cubique, à partir du point courant (x,y) en utilisant le point (x1,y1) comme point de contrôle au début de la courbe et (x2,y2) comme point de contrôle à la fin de la courbe, en utilisant des coordonnées relatives. À la fin de la commande, le nouveau point courant est le point final (x,y), utilisé par le polybezier.

Liste de paramètres

x1

abscisse du point de départ

y1

ordonnée du point de départ

x2

abscisse du point de contrôle final

y2

ordonnée du point de contrôle final

x

abscisse du point final

y

ordonnée du point final

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
La classe ImagickDraw


Dessine une courbe de Bézier, en coordonnées absolues

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothAbsolute — Dessine une courbe de Bézier, en coordonnées absolues

Description

bool ImagickDraw::pathCurveToSmoothAbsolute ( float $x2 , float $y2 , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier, en coordonnées absolues, à partir du point courant (x,y). Le premier point de contrôle est la réflexion du second point de contrôle de la commande précédente, relative au point courant. S'il n'y a pas eu de commande précédente, ou que la commande précédente n'était pas DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute ou DrawPathCurveToSmoothRelative, on suppose alors que le premier point de contrôle coïncide avec le point courant. (x2,y2) est le second point de contrôle (i.e., le point de contrôle à la fin de la ligne. À la fin de la commande, le nouveau point courant est le point final, de coordonnées (x,y), dans le polybezier.

Liste de paramètres

x2

abscisse du deuxième point de contrôle

y2

ordonnée du deuxième point de contrôle

x

abscisse du point de contrôle final

y

ordonnée du point de contrôle final

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
La classe ImagickDraw


Dessine une courbe de Bézier, en coordonnées relatives

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathCurveToSmoothRelative

(PECL imagick 2.0.0)

ImagickDraw::pathCurveToSmoothRelative — Dessine une courbe de Bézier, en coordonnées relatives

Description

bool ImagickDraw::pathCurveToSmoothRelative ( float $x2 , float $y2 , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une courbe de Bézier, en coordonnées relatives, à partir du point courant (x,y). Le premier point de contrôle est la réflexion du second point de contrôle de la commande précédente, relative au point courant. S'il n'y a pas eu de commande précédente, ou que la commande précédente n'était pas DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute ou DrawPathCurveToSmoothRelative, on suppose alors que le premier point de contrôle coïncide avec le point courant. (x2,y2) est le second point de contrôle (i.e., le point de contrôle à la fin de la ligne. A la fin de la commande, le nouveau point courant est le point final, de coordonnées (x,y), dans le polybezier.

Liste de paramètres

x2

abscisse du deuxième point de contrôle

y2

ordonnée du deuxième point de contrôle

x

abscisse du point de contrôle final

y

ordonnée du point de contrôle final

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
La classe ImagickDraw


Dessine un arc d'ellipse, en coordonnées absolues

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcAbsolute — Dessine un arc d'ellipse, en coordonnées absolues

Description

bool ImagickDraw::pathEllipticArcAbsolute ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un arc d'ellipse à partir du point courant (x, y), en utilisant des coordonnées relatives. La taille et l'orientation de l'ellipse sont définies par deux rayons, (rx, ry) et une rotation xAxisRotation, qui indique comment l'ellipse, dans son ensemble, est située dans le système de coordonnées. Le centre (cx, cy) de l'ellipse est calculée automatiquement pour satisfaire aux contraintes des autres paramètres. Si large_arc_flag vaut TRUE, alors c'est l'arc le plus grand qui est dessiné. Si sweep_flag vaut TRUE, alors le dessin de l'arc se fait dans le sens horaire.

Liste de paramètres

rx

Rayon X

ry

Rayon Y

x_axis_rotation

Rotation sur l'axe des X

large_arc_flag

option d'large_arc_flag

sweep_flag

Option sweep_flag

x

L'abscisse

y

L'ordonnée

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
La classe ImagickDraw


Dessine un arc d'ellipse, en coordonnées relatives

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
La classe ImagickDraw
PHP Manual

ImagickDraw::pathEllipticArcRelative

(PECL imagick 2.0.0)

ImagickDraw::pathEllipticArcRelative — Dessine un arc d'ellipse, en coordonnées relatives

Description

bool ImagickDraw::pathEllipticArcRelative ( float $rx , float $ry , float $x_axis_rotation , bool $large_arc_flag , bool $sweep_flag , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un arc d'ellipse à partir du point courant (x, y), en utilisant des coordonnées relatives. La taille et l'orientation de l'ellipse sont définies par deux rayons, (rx, ry) et une rotation xAxisRotation, qui indique comment l'ellipse, dans son ensemble, est située dans le système de coordonnées. Le centre (cx, cy) de l'ellipse est calculée automatiquement pour satisfaire aux contraintes des autres paramètres. Si large_arc_flag vaut TRUE, alors c'est l'arc le plus grand qui est dessiné. Si sweep_flag vaut TRUE, alors le dessin de l'arc se fait dans le sens horaire.

Liste de paramètres

rx

Rayon X

ry

Rayon Y

x_axis_rotation

Rotation sur l'axe des X

large_arc_flag

L'option d'large_arc_flag

sweep_flag

L'option d'sweep_flag

x

L'abscisse

y

L'ordonnée

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
La classe ImagickDraw


Termine le chemin courant

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathFinish

(PECL imagick 2.0.0)

ImagickDraw::pathFinish — Termine le chemin courant

Description

bool ImagickDraw::pathFinish ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Termine le chemin courant.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
La classe ImagickDraw


Dessine une ligne de chemin, en coordonnées absolues

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathLineToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToAbsolute — Dessine une ligne de chemin, en coordonnées absolues

Description

bool ImagickDraw::pathLineToAbsolute ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne à partir du point courant, jusqu'au point cible, en utilisant des coordonnées absolues. Le point cible devient alors le point courant.

Liste de paramètres

x

L'abscisse de départ

y

L'abscisse de fin

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
La classe ImagickDraw


Dessine une ligne de chemin horizontale, en coordonnées absolues

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalAbsolute — Dessine une ligne de chemin horizontale, en coordonnées absolues

Description

bool ImagickDraw::pathLineToHorizontalAbsolute ( float $x )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne verticale à partir du point courant, jusqu'au point cible, en utilisant des coordonnées relatives. Le point cible devient alors le point courant.

Liste de paramètres

x

L'abscisse

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
La classe ImagickDraw


Dessine une ligne de chemin horizontale, en coordonnées relatives

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathLineToHorizontalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToHorizontalRelative — Dessine une ligne de chemin horizontale, en coordonnées relatives

Description

bool ImagickDraw::pathLineToHorizontalRelative ( float $x )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne horizontale à partir du point courant, jusqu'au point cible, en utilisant des coordonnées relatives. Le point cible devient alors le point courant.

Liste de paramètres

x

L'abscisse

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
La classe ImagickDraw


Dessine une ligne de chemin, en coordonnées relatives

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathLineToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToRelative — Dessine une ligne de chemin, en coordonnées relatives

Description

bool ImagickDraw::pathLineToRelative ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne à partir du point courant, jusqu'au point cible, en utilisant des coordonnées relatives. Le point cible devient alors le point courant.

Liste de paramètres

x

abscisse de départ

y

ordonnée de départ

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
La classe ImagickDraw


Dessine une ligne de chemin verticale, en coordonnées absolues

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalAbsolute — Dessine une ligne de chemin verticale, en coordonnées absolues

Description

bool ImagickDraw::pathLineToVerticalAbsolute ( float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne verticale à partir du point courant, jusqu'au point cible, en utilisant des coordonnées absolues. Le point cible devient alors le point courant.

Liste de paramètres

y

Ordonnée

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
La classe ImagickDraw


Dessine une ligne de chemin verticale, en coordonnées relatives

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
La classe ImagickDraw
PHP Manual

ImagickDraw::pathLineToVerticalRelative

(PECL imagick 2.0.0)

ImagickDraw::pathLineToVerticalRelative — Dessine une ligne de chemin verticale, en coordonnées relatives

Description

bool ImagickDraw::pathLineToVerticalRelative ( float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne verticale à partir du point courant, jusqu'au point cible, en utilisant des coordonnées relatives. Le point cible devient alors le point courant.

Liste de paramètres

y

ordonnée cible

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
La classe ImagickDraw


Commence un nouveau sous-chemin, en coordonnées absolues

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
La classe ImagickDraw
PHP Manual

ImagickDraw::pathMoveToAbsolute

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToAbsolute — Commence un nouveau sous-chemin, en coordonnées absolues

Description

bool ImagickDraw::pathMoveToAbsolute ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Commence un nouveau sous-chemin à partir des coordonnées indiquées, en utilisant des coordonnées absolues. Le point courant devient alors les coordonnées spécifiées.

Liste de paramètres

x

L'abscisse cible

y

L'ordonnée cible

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
La classe ImagickDraw


Commence un nouveau sous-chemin, en coordonnées relatives

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
La classe ImagickDraw
PHP Manual

ImagickDraw::pathMoveToRelative

(PECL imagick 2.0.0)

ImagickDraw::pathMoveToRelative — Commence un nouveau sous-chemin, en coordonnées relatives

Description

bool ImagickDraw::pathMoveToRelative ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Commence un nouveau sous-chemin à partir des coordonnées indiquées, en utilisant des coordonnées relatives. Le point courant devient alors les coordonnées spécifiées.

Liste de paramètres

x

L'abscisse cible

y

L'ordonnée cible

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
La classe ImagickDraw


Déclare le début d'une chemin de dessin

ImagickDraw::pathMoveToRelative
ImagickDraw::point
La classe ImagickDraw
PHP Manual

ImagickDraw::pathStart

(PECL imagick 2.0.0)

ImagickDraw::pathStart — Déclare le début d'une chemin de dessin

Description

bool ImagickDraw::pathStart ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Déclare le début d'une chemin de dessin, qui sera terminé par la commande soeur ImagickDraw::DrawPathFinish(). Toutes les commandes autres que ImagickDraw::DrawPath() doivent être encadrée par ImagickDraw::pathStart() et ImagickDraw::DrawPathFinish(). Ceci est lié au fait que les commandes suivantes sont des commandes subordonnées.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathMoveToRelative
ImagickDraw::point
La classe ImagickDraw


Dessine un point

ImagickDraw::pathStart
ImagickDraw::polygon
La classe ImagickDraw
PHP Manual

ImagickDraw::point

(PECL imagick 2.0.0)

ImagickDraw::point — Dessine un point

Description

bool ImagickDraw::point ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un point en utilisant la couleur de trait courante, ainsi que l'épaisseur, dans les coordonnées spécifiées.

Liste de paramètres

x

L'abscisse du point

y

L'ordonnée du point

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pathStart
ImagickDraw::polygon
La classe ImagickDraw


Dessine un polygone

ImagickDraw::point
ImagickDraw::polyline
La classe ImagickDraw
PHP Manual

ImagickDraw::polygon

(PECL imagick 2.0.0)

ImagickDraw::polygon — Dessine un polygone

Description

bool ImagickDraw::polygon ( array $coordinates )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un polygone, en utilisant le trait courant, sa largeur, sa couleur de remplissage, ainsi que le tableau de coordonnées indiqué.

Liste de paramètres

coordinates

Tableau multidimensionnel de coordonnées, tel que array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

Valeurs de retour

Returns TRUE on success.

ImagickDraw::point
ImagickDraw::polyline
La classe ImagickDraw


Dessine une ligne brisée

ImagickDraw::polygon
ImagickDraw::pop
La classe ImagickDraw
PHP Manual

ImagickDraw::polyline

(PECL imagick 2.0.0)

ImagickDraw::polyline — Dessine une ligne brisée

Description

bool ImagickDraw::polyline ( array $coordinates )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ligne brisée, en utilisant le trait courant, sa largeur et son motif, ainsi que sa ligne de remplissage ou sa texture, en utilisant les coordonnés spécifiées.

Liste de paramètres

coordinates

Tableau avec les coordonnées "x" et "y" array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

Valeurs de retour

Returns TRUE on success.

ImagickDraw::polygon
ImagickDraw::pop
La classe ImagickDraw


Détruit l'objet ImagickDraw courant dans la pile, et retourne son précédent

ImagickDraw::polyline
ImagickDraw::popClipPath
La classe ImagickDraw
PHP Manual

ImagickDraw::pop

(PECL imagick 2.0.0)

ImagickDraw::pop — Détruit l'objet ImagickDraw courant dans la pile, et retourne son précédent

Description

bool ImagickDraw::pop ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Détruit l'objet ImagickDraw courant dans la pile, et retourne son précédent. Plusieurs objets ImagickDraw peuvent exister. C'est une erreur que de tenter d'extrait plus d'objets ImagickDraw qu'il n'y en a, et il est recommandé d'en extraire juste le bon nombre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::polyline
ImagickDraw::popClipPath
La classe ImagickDraw


Termine la définition d'un chemin

ImagickDraw::pop
ImagickDraw::popDefs
La classe ImagickDraw
PHP Manual

ImagickDraw::popClipPath

(PECL imagick 2.0.0)

ImagickDraw::popClipPath — Termine la définition d'un chemin

Description

bool ImagickDraw::popClipPath ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Termine la définition d'un chemin.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pop
ImagickDraw::popDefs
La classe ImagickDraw


Termine une définition de liste

ImagickDraw::popClipPath
ImagickDraw::popPattern
La classe ImagickDraw
PHP Manual

ImagickDraw::popDefs

(PECL imagick 2.0.0)

ImagickDraw::popDefs — Termine une définition de liste

Description

bool ImagickDraw::popDefs ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Termine une définition de liste.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::popClipPath
ImagickDraw::popPattern
La classe ImagickDraw


Termine une définition de motif

ImagickDraw::popDefs
ImagickDraw::push
La classe ImagickDraw
PHP Manual

ImagickDraw::popPattern

(PECL imagick 2.0.0)

ImagickDraw::popPattern — Termine une définition de motif

Description

bool ImagickDraw::popPattern ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Termine une définition de motif.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::popDefs
ImagickDraw::push
La classe ImagickDraw


Clone l'objet ImagickDraw courant et le pousse dans la pile

ImagickDraw::popPattern
ImagickDraw::pushClipPath
La classe ImagickDraw
PHP Manual

ImagickDraw::push

(PECL imagick 2.0.0)

ImagickDraw::push — Clone l'objet ImagickDraw courant et le pousse dans la pile

Description

bool ImagickDraw::push ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Clone l'objet ImagickDraw courant et le pousse dans la pile, en l'ajoutant à la fin. L'objet ImagickDraw original peut être retrouvé en appliquant la méthode pop à la pile. Les objets ImagickDraws sont stockés dans une pile ImagickDraw. Pour chaque pop, il qu'il y ait eu un push équivalent.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::popPattern
ImagickDraw::pushClipPath
La classe ImagickDraw


Commence la définition d'un chemin

ImagickDraw::push
ImagickDraw::pushDefs
La classe ImagickDraw
PHP Manual

ImagickDraw::pushClipPath

(PECL imagick 2.0.0)

ImagickDraw::pushClipPath — Commence la définition d'un chemin

Description

bool ImagickDraw::pushClipPath ( string $clip_mask_id )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Commence la définition d'un chemin, qui est constitué de n'importe quel nombre de commandes de dessins, et terminé par une commande ImagickDraw::popClipPath().

Liste de paramètres

clip_mask_id

L'identifiant du masque de clip

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::push
ImagickDraw::pushDefs
La classe ImagickDraw


Indique que la commande suivante créée des éléments nommés pour pré-traitement

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
La classe ImagickDraw
PHP Manual

ImagickDraw::pushDefs

(PECL imagick 2.0.0)

ImagickDraw::pushDefs — Indique que la commande suivante créée des éléments nommés pour pré-traitement

Description

bool ImagickDraw::pushDefs ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Indique que les commandes jusqu'à la commande terminante de ImagickDraw::popDefs() crée des éléments nommés (e.g., des chemins, des textures, etc.), qui peuvent être traités au plus tôt par simple souci d'efficacité.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
La classe ImagickDraw


Configure un espace de dessin

ImagickDraw::pushDefs
ImagickDraw::rectangle
La classe ImagickDraw
PHP Manual

ImagickDraw::pushPattern

(PECL imagick 2.0.0)

ImagickDraw::pushPattern — Configure un espace de dessin

Description

bool ImagickDraw::pushPattern ( string $pattern_id , float $x , float $y , float $width , float $height )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure ImagickDraw pour que les commandes jusqu'à la fonction DrawPopPattern() incluent la définition d'un nom de motif. L'espace de motif reçoit les coordonnées du coin supérieur gauche, de la hauteur et largeur, et devient un espace de dessin en lui-même. Tout ce qui peut être dessiné peut être dessiné dans un motif. Des motifs peuvent aussi définir des traits ou des brosses.

Liste de paramètres

pattern_id

L'identifiant du motif

x

L'abscisse du coin supérieur gauche

y

L'ordonnée du coin supérieur gauche

width

La largeur du motif

height

La hauteur du motif

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::pushDefs
ImagickDraw::rectangle
La classe ImagickDraw


Dessine un rectangle

ImagickDraw::pushPattern
ImagickDraw::render
La classe ImagickDraw
PHP Manual

ImagickDraw::rectangle

(PECL imagick 2.0.0)

ImagickDraw::rectangle — Dessine un rectangle

Description

bool ImagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un rectangle à partir de ses coordonnées et en utilisant le trait courant, sa largeur et son motif.

Liste de paramètres

x1

y1

ordonnée du coin supérieur gauche

x2

abscisse du coin inférieur droit

y2

ordonnée du coin inférieur droit

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::pushPattern
ImagickDraw::render
La classe ImagickDraw


Effectue le rendu de tous les dessins à l'image

ImagickDraw::rectangle
ImagickDraw::rotate
La classe ImagickDraw
PHP Manual

ImagickDraw::render

(PECL imagick 2.0.0)

ImagickDraw::render — Effectue le rendu de tous les dessins à l'image

Description

bool ImagickDraw::render ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Effectue le rendu de tous les dessins à l'image.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::rectangle
ImagickDraw::rotate
La classe ImagickDraw


Applique une rotation

ImagickDraw::render
ImagickDraw::roundRectangle
La classe ImagickDraw
PHP Manual

ImagickDraw::rotate

(PECL imagick 2.0.0)

ImagickDraw::rotate — Applique une rotation

Description

bool ImagickDraw::rotate ( float $degrees )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique une rotation d'un angle donnée aux coordonnées de l'espace courant.

Liste de paramètres

degrees

Angle de rotation, en degrés.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::render
ImagickDraw::roundRectangle
La classe ImagickDraw


Dessine un rectangle aux coins arrondis

ImagickDraw::rotate
ImagickDraw::scale
La classe ImagickDraw
PHP Manual

ImagickDraw::roundRectangle

(PECL imagick 2.0.0)

ImagickDraw::roundRectangle — Dessine un rectangle aux coins arrondis

Description

bool ImagickDraw::roundRectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine un rectangle aux coins arrondis, à partir de deux coordonnées, x & y, du rayon de coin et en utilisant le trait courant, son épaisseur et sa couleur de remplissage.

Liste de paramètres

x1

L'abscisse du coin supérieur gauche

y1

L'ordonnée du coin supérieur gauche

x2

L'abscisse du coin inférieur droit

y2

L'ordonnée du coin inférieur droit

rx

Le rayon en x

ry

Le rayon en y

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::rotate
ImagickDraw::scale
La classe ImagickDraw


Ajuste le facteur de mise à l'échelle

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
La classe ImagickDraw
PHP Manual

ImagickDraw::scale

(PECL imagick 2.0.0)

ImagickDraw::scale — Ajuste le facteur de mise à l'échelle

Description

bool ImagickDraw::scale ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ajuste le facteur de mise à l'échelle à appliquer aux directions verticales et horizontales de l'espace de coordonnées courant.

Liste de paramètres

x

facteur horizontal

y

facteur vertical

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
La classe ImagickDraw


Associe un chemin avec une image

ImagickDraw::scale
ImagickDraw::setClipRule
La classe ImagickDraw
PHP Manual

ImagickDraw::setClipPath

(PECL imagick 2.0.0)

ImagickDraw::setClipPath — Associe un chemin avec une image

Description

bool ImagickDraw::setClipPath ( string $clip_mask )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Associe un chemin avec une image. Seule les surfaces dessinées sur le chemin seront modifiée tant qu'il reste actif.

Liste de paramètres

clip_mask

Le nom du chemin

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::scale
ImagickDraw::setClipRule
La classe ImagickDraw


Configure la règle de remplissage du polygone à utiliser avec les chemins

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
La classe ImagickDraw
PHP Manual

ImagickDraw::setClipRule

(PECL imagick 2.0.0)

ImagickDraw::setClipRule — Configure la règle de remplissage du polygone à utiliser avec les chemins

Description

bool ImagickDraw::setClipRule ( int $fill_rule )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la règle de remplissage du polygone à utiliser avec les chemins.

Liste de paramètres

fill_rule

Une constante FILLRULE

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
La classe ImagickDraw


Configure le mode d'interprétation des unités de chemin

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
La classe ImagickDraw
PHP Manual

ImagickDraw::setClipUnits

(PECL imagick 2.0.0)

ImagickDraw::setClipUnits — Configure le mode d'interprétation des unités de chemin

Description

bool ImagickDraw::setClipUnits ( int $clip_units )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le mode d'interprétation des unités de chemin.

Liste de paramètres

clip_units

Le nombre d'unités de clip

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
La classe ImagickDraw


Configure l'opacité de la couleur de remplissage

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
La classe ImagickDraw
PHP Manual

ImagickDraw::setFillAlpha

(PECL imagick 2.0.0)

ImagickDraw::setFillAlpha — Configure l'opacité de la couleur de remplissage

Description

bool ImagickDraw::setFillAlpha ( float $opacity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'opacité à utiliser quand la couleur de remplissage est utilisée. 1.0 est totalement opaque.

Liste de paramètres

opacity

Canal alpha de la couleur de remplissage

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
La classe ImagickDraw


Configure la couleur de dessin des objets remplis

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
La classe ImagickDraw
PHP Manual

ImagickDraw::setFillColor

(PECL imagick 2.0.0)

ImagickDraw::setFillColor — Configure la couleur de dessin des objets remplis

Description

bool ImagickDraw::setFillColor ( ImagickPixel $fill_pixel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la couleur de dessin des objets remplis.

Liste de paramètres

fill_pixel

L'objet ImagickPixel à utiliser pour la couleur.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
La classe ImagickDraw


Configure l'opacité à utiliser pour le remplissage

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
La classe ImagickDraw
PHP Manual

ImagickDraw::setFillOpacity

(PECL imagick 2.0.0)

ImagickDraw::setFillOpacity — Configure l'opacité à utiliser pour le remplissage

Description

bool ImagickDraw::setFillOpacity ( float $fillOpacity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'opacité à utiliser pour le remplissage. Totalement opaque est 1.0.

Liste de paramètres

fillOpacity

L'opacité de remplissage.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
La classe ImagickDraw


Configure l'URL du motif de remplissage des surfaces

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
La classe ImagickDraw
PHP Manual

ImagickDraw::setFillPatternURL

(PECL imagick 2.0.0)

ImagickDraw::setFillPatternURL — Configure l'URL du motif de remplissage des surfaces

Description

bool ImagickDraw::setFillPatternURL ( string $fill_url )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'URL du motif de remplissage des surfaces. Seules les URL locales ("#identifier") sont supportés actuellement. Ces URL sont normalement créée en définissant un nom de motif de remplissage avec DrawPushPattern/DrawPopPattern.

Liste de paramètres

fill_url

L'URL à utiliser pour accéder au motif.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
La classe ImagickDraw


Configure la règle de remplissage des polygones

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
La classe ImagickDraw
PHP Manual

ImagickDraw::setFillRule

(PECL imagick 2.0.0)

ImagickDraw::setFillRule — Configure la règle de remplissage des polygones

Description

bool ImagickDraw::setFillRule ( int $fill_rule )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la règle de remplissage des polygones.

Liste de paramètres

fill_rule

Une constante FILLRULE

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
La classe ImagickDraw


Configure la police complète pour les textes

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
La classe ImagickDraw
PHP Manual

ImagickDraw::setFont

(PECL imagick 2.0.0)

ImagickDraw::setFont — Configure la police complète pour les textes

Description

bool ImagickDraw::setFont ( string $font_name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la police complète pour les textes.

Liste de paramètres

font_name

Valeurs de retour

Returns TRUE on success.

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
La classe ImagickDraw


Configure la famille de police pour les textes

ImagickDraw::setFont
ImagickDraw::setFontSize
La classe ImagickDraw
PHP Manual

ImagickDraw::setFontFamily

(PECL imagick 2.0.0)

ImagickDraw::setFontFamily — Configure la famille de police pour les textes

Description

bool ImagickDraw::setFontFamily ( string $font_family )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la famille de police pour les textes.

Liste de paramètres

font_family

La famille de police

Valeurs de retour

Returns TRUE on success.

ImagickDraw::setFont
ImagickDraw::setFontSize
La classe ImagickDraw


Configure la taille de point pour les textes

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
La classe ImagickDraw
PHP Manual

ImagickDraw::setFontSize

(PECL imagick 2.0.0)

ImagickDraw::setFontSize — Configure la taille de point pour les textes

Description

bool ImagickDraw::setFontSize ( float $pointsize )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la taille de point pour les textes.

Liste de paramètres

pointsize

La taille de point.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
La classe ImagickDraw


Configure l'étirement du texte

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
La classe ImagickDraw
PHP Manual

ImagickDraw::setFontStretch

(PECL imagick 2.0.0)

ImagickDraw::setFontStretch — Configure l'étirement du texte

Description

bool ImagickDraw::setFontStretch ( int $fontStretch )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure l'étirement du texte pour le dessin des annotations. L'énumération AnyStretch sert de joker et signifie "peu importe".

Liste de paramètres

fontStretch

Une constante STRETCH_

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
La classe ImagickDraw


Configure le style de police

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
La classe ImagickDraw
PHP Manual

ImagickDraw::setFontStyle

(PECL imagick 2.0.0)

ImagickDraw::setFontStyle — Configure le style de police

Description

bool ImagickDraw::setFontStyle ( int $style )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le style de police utilisée pour dessiner les annotations. L'énumération AnyStyle joue le rôle de joker, et signifie "peu importe".

Liste de paramètres

style

Une constante de style.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
La classe ImagickDraw


Configure le poids de la police

ImagickDraw::setFontStyle
ImagickDraw::setGravity
La classe ImagickDraw
PHP Manual

ImagickDraw::setFontWeight

(PECL imagick 2.0.0)

ImagickDraw::setFontWeight — Configure le poids de la police

Description

bool ImagickDraw::setFontWeight ( int $font_weight )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le poids de la police pour dessiner les annotations.

Liste de paramètres

font_weight

Valeurs de retour

ImagickDraw::setFontStyle
ImagickDraw::setGravity
La classe ImagickDraw


Configure la gravité de placement de texte

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
La classe ImagickDraw
PHP Manual

ImagickDraw::setGravity

(PECL imagick 2.0.0)

ImagickDraw::setGravity — Configure la gravité de placement de texte

Description

bool ImagickDraw::setGravity ( int $gravity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la gravité de placement de texte, à utiliser pour dessiner les annotations.

Liste de paramètres

gravity

Une constant GRAVITY_.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
La classe ImagickDraw


Spécifie l'opacité des contours d'objets

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeAlpha

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAlpha — Spécifie l'opacité des contours d'objets

Description

bool ImagickDraw::setStrokeAlpha ( float $opacity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie l'opacité des contours d'objets.

Liste de paramètres

opacity

L'opacité

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
La classe ImagickDraw


Contrôle l'anti-aliasing des pointillés

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeAntialias

(PECL imagick 2.0.0)

ImagickDraw::setStrokeAntialias — Contrôle l'anti-aliasing des pointillés

Description

bool ImagickDraw::setStrokeAntialias ( bool $stroke_antialias )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Contrôle l'anti-aliasing des pointillés. Les contours à traits sont anti-aliasés par défaut. Lorsque l'anti-aliasing est désactivé, les pointillés utilisent une valeur de seuil pour définir si le pixel sous-jacent doit être coloré ou pas.

Liste de paramètres

stroke_antialias

La configuration d'utilisation de l'anti-aliasing

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
La classe ImagickDraw


Configure la couleur utilisée pour dessiner les objets

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::setStrokeColor — Configure la couleur utilisée pour dessiner les objets

Description

bool ImagickDraw::setStrokeColor ( ImagickPixel $stroke_pixel )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la couleur utilisée pour dessiner les objets.

Liste de paramètres

stroke_pixel

La couleur du trait.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
La classe ImagickDraw


Spécifie le motif de pointillé

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashArray — Spécifie le motif de pointillé

Description

bool ImagickDraw::setStrokeDashArray ( array $dashArray )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie le motif de pointillé, les pleins et vides. L'objet strokeDashArray représente un tableau de nombre qui spécifie les longueurs des pleins et vides, en pixels. Si un nombre impair de valeurs est fourni, alors la liste est répétée pour obtenir un nombre pair de valeurs. Pour retirer un tableau de motif existant, passez un nombre d'éléments à zéro, et NULL comme deuxième valeur. Un tableau strokeDashArray typique contient les membres 5 3 2.

Liste de paramètres

dashArray

Un tableau de nombre décimaux

Valeurs de retour

Returns TRUE on success.

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
La classe ImagickDraw


Spécifie la position dans le motif pour commencer le pointillé

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeDashOffset

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashOffset — Spécifie la position dans le motif pour commencer le pointillé

Description

bool ImagickDraw::setStrokeDashOffset ( float $dash_offset )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie la position dans le motif pour commencer le pointillé.

Liste de paramètres

dash_offset

La position de début du pointillé

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
La classe ImagickDraw


Spécifie la forme à utiliser à la fin des sous-chemins

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineCap

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineCap — Spécifie la forme à utiliser à la fin des sous-chemins

Description

bool ImagickDraw::setStrokeLineCap ( int $linecap )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie la forme à utiliser à la fin des sous-chemins.

Liste de paramètres

linecap

Une constante LINECAP_

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
La classe ImagickDraw


Spécifie la forme à utiliser pour dessiner les fins de lignes

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeLineJoin

(PECL imagick 2.0.0)

ImagickDraw::setStrokeLineJoin — Spécifie la forme à utiliser pour dessiner les fins de lignes

Description

bool ImagickDraw::setStrokeLineJoin ( int $linejoin )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie la forme à utiliser pour dessiner les fins de lignes et les autres formes vectorielles, quand elles utilisent un trait.

Liste de paramètres

linejoin

Une constante de jointure de lignes.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
La classe ImagickDraw


Spécifie la limiter miter

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeMiterLimit

(PECL imagick 2.0.0)

ImagickDraw::setStrokeMiterLimit — Spécifie la limiter miter

Description

bool ImagickDraw::setStrokeMiterLimit ( int $miterlimit )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie la limiter miter. Lorsque deux lignes se rejoignent à angle aigu, et que la limite miter a été configuré à "lineJoin", il est possible que le miter dépasse l'épaisseur de la ligne. La limite miter impose un ratio entre la longueur de miter et l'épaisseur de la ligne "lineWidth".

Liste de paramètres

miterlimit

La limiter miter

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
La classe ImagickDraw


Spécifie l'opacité pour dessiner les contours

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeOpacity

(PECL imagick 2.0.0)

ImagickDraw::setStrokeOpacity — Spécifie l'opacité pour dessiner les contours

Description

bool ImagickDraw::setStrokeOpacity ( float $stroke_opacity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie l'opacité pour dessiner les contours.

Liste de paramètres

stroke_opacity

L'opacité du trait. 1.0 est totalement opaque.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
La classe ImagickDraw


Configure le motif utilisé pour dessiner les contours

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokePatternURL

(PECL imagick 2.0.0)

ImagickDraw::setStrokePatternURL — Configure le motif utilisé pour dessiner les contours

Description

bool ImagickDraw::setStrokePatternURL ( string $stroke_url )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le motif utilisé pour dessiner les contours.

Liste de paramètres

stroke_url

L'URL du motif du trait

Valeurs de retour

imagick.imagickdraw.return.success;

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
La classe ImagickDraw


Configure la largeur du trait pour dessiner les contours

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
La classe ImagickDraw
PHP Manual

ImagickDraw::setStrokeWidth

(PECL imagick 2.0.0)

ImagickDraw::setStrokeWidth — Configure la largeur du trait pour dessiner les contours

Description

bool ImagickDraw::setStrokeWidth ( float $stroke_width )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la largeur du trait pour dessiner les contours.

Liste de paramètres

stroke_width

La largeur du trait

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
La classe ImagickDraw


Spécifie l'alignement du texte

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
La classe ImagickDraw
PHP Manual

ImagickDraw::setTextAlignment

(PECL imagick 2.0.0)

ImagickDraw::setTextAlignment — Spécifie l'alignement du texte

Description

bool ImagickDraw::setTextAlignment ( int $alignment )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie l'alignement du texte à appliquer au texte d'une annotation.

Liste de paramètres

alignment

Une constante ALIGN_

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
La classe ImagickDraw


Contrôle l'anti-alisasing du texte

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
La classe ImagickDraw
PHP Manual

ImagickDraw::setTextAntialias

(PECL imagick 2.0.0)

ImagickDraw::setTextAntialias — Contrôle l'anti-alisasing du texte

Description

bool ImagickDraw::setTextAntialias ( bool $antiAlias )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Contrôle l'anti-alisasing du texte. Les textes sont anti-aliasés par défaut.

Liste de paramètres

antiAlias

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
La classe ImagickDraw


Spécifie les ornements de texte

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
La classe ImagickDraw
PHP Manual

ImagickDraw::setTextDecoration

(PECL imagick 2.0.0)

ImagickDraw::setTextDecoration — Spécifie les ornements de texte

Description

bool ImagickDraw::setTextDecoration ( int $decoration )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie les ornements de texte utilisé pour les annotations.

Liste de paramètres

decoration

Une constante de DECORATION_.

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
La classe ImagickDraw


Spécifie le jeu de caractères

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
La classe ImagickDraw
PHP Manual

ImagickDraw::setTextEncoding

(PECL imagick 2.0.0)

ImagickDraw::setTextEncoding — Spécifie le jeu de caractères

Description

bool ImagickDraw::setTextEncoding ( string $encoding )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie le jeu de caractères à utiliser pour les annotations de texte. Le seul jeu de caractères qui peut être spécifié actuellement est "UTF-8", qui représente l'Unicode sous forme d'une séquence d'octets. Spécifiez une chaîne vide pour utiliser le jeu de caractères du système. Le dessin des textes peut avoir besoin d'une police qui supporte Unicode.

Liste de paramètres

encoding

Le jeu de caractères

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
La classe ImagickDraw


Spécifie la couleur de fond d'une rectangle

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
La classe ImagickDraw
PHP Manual

ImagickDraw::setTextUnderColor

(PECL imagick 2.0.0)

ImagickDraw::setTextUnderColor — Spécifie la couleur de fond d'une rectangle

Description

bool ImagickDraw::setTextUnderColor ( ImagickPixel $under_color )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Spécifie la couleur de fond d'une rectangle à placer sous les textes.

Liste de paramètres

under_color

La couleur de fond

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
La classe ImagickDraw


Configure le vecteur graphique

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
La classe ImagickDraw
PHP Manual

ImagickDraw::setVectorGraphics

(PECL imagick 2.0.0)

ImagickDraw::setVectorGraphics — Configure le vecteur graphique

Description

bool ImagickDraw::setVectorGraphics ( string $xml )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure le vecteur graphique associé à l'objet ImagickDraw. Utilisez cette méthode avec ImagickDraw::getVectorGraphics, pour faire persister l'état du vecteur graphique.

Liste de paramètres

xml

Code XML contenant le vecteur graphique

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
La classe ImagickDraw


Configure la taille du canevas

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
La classe ImagickDraw
PHP Manual

ImagickDraw::setViewbox

(PECL imagick 2.0.0)

ImagickDraw::setViewbox — Configure la taille du canevas

Description

bool ImagickDraw::setViewbox ( int $x1 , int $y1 , int $x2 , int $y2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Configure la taille du canevas général, à enregistrer avec les données vectorielles. Généralement, on configure cette valeur avec la même taille que l'image. Lorsque les données vectorielles sont sauvées en SVG ou MVG, la boîte de vue est utilisée pour spécifier la taille de l'image dans laquelle le lecteur vidéo va dessiner les données.

Liste de paramètres

x1

Abscisse gauche

y1

Ordonnée gauche

x2

Abscisse droite

y2

Ordonnée droite

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
La classe ImagickDraw


Biaise les coordonnées dans la direction horizontale

ImagickDraw::setViewbox
ImagickDraw::skewY
La classe ImagickDraw
PHP Manual

ImagickDraw::skewX

(PECL imagick 2.0.0)

ImagickDraw::skewX — Biaise les coordonnées dans la direction horizontale

Description

bool ImagickDraw::skewX ( float $degrees )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Biaise les coordonnées dans la direction horizontale.

Liste de paramètres

degrees

Degré de biaisage

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::setViewbox
ImagickDraw::skewY
La classe ImagickDraw


Incline les coordonnées dans la direction verticale

ImagickDraw::skewX
ImagickDraw::translate
La classe ImagickDraw
PHP Manual

ImagickDraw::skewY

(PECL imagick 2.0.0)

ImagickDraw::skewY — Incline les coordonnées dans la direction verticale

Description

bool ImagickDraw::skewY ( float $degrees )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Incline les coordonnées dans la direction verticale.

Liste de paramètres

degrees

Le nombre de degrés d'inclinaison

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::skewX
ImagickDraw::translate
La classe ImagickDraw


Applique une translation

ImagickDraw::skewY
La classe ImagickPixel
La classe ImagickDraw
PHP Manual

ImagickDraw::translate

(PECL imagick 2.0.0)

ImagickDraw::translate — Applique une translation

Description

bool ImagickDraw::translate ( float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Applique une translation au système de coordonnées actuel, qui déplace l'origine de ce système.

Liste de paramètres

x

Translation horizontale

y

Translation verticale

Valeurs de retour

Aucune valeur n'est retournée.

ImagickDraw::skewY
La classe ImagickPixel
La classe ImagickDraw


La classe ImagickPixel

Synopsis de la classe

ImagickPixel
ImagickPixel {
bool clear ( void )
ImagickPixel __construct ([ string $color ] )
bool destroy ( void )
array getColor ([ bool $normalized = false ] )
string getColorAsString ( void )
int getColorCount ( void )
float getColorValue ( int $color )
array getHSL ( void )
bool isSimilar ( ImagickPixel $color , float $fuzz )
bool setColor ( string $color )
bool setColorValue ( int $color , float $value )
bool setHSL ( float $hue , float $saturation , float $luminosity )
}

Sommaire

  • ImagickPixel::clear — Supprime toutes les ressources associées avec l'objet
  • ImagickPixel::__construct — Le constructeur ImagickPixel
  • ImagickPixel::destroy — Libère les ressources associées avec l'objet
  • ImagickPixel::getColor — Retourne la couleur
  • ImagickPixel::getColorAsString — Retourne une couleur
  • ImagickPixel::getColorCount — Retourne le nombre de couleurs associé avec une couleur
  • ImagickPixel::getColorValue — Récupère la valeur normalisée du canal de la couleur fournie
  • ImagickPixel::getHSL — Retourne la couleur HSL normalisée de l'objet ImagickPixel
  • ImagickPixel::isSimilar — Vérifie la distance entre 2 couleurs
  • ImagickPixel::setColor — Définit la couleur
  • ImagickPixel::setColorValue — Définit la valeur normalisée d'un des canaux
  • ImagickPixel::setHSL — Définit la couleur HSL normalisée
ImagickDraw::translate
ImagickPixel::clear
ImageMagick


Supprime toutes les ressources associées avec l'objet

La classe ImagickPixel
ImagickPixel::__construct
La classe ImagickPixel
PHP Manual

ImagickPixel::clear

(PECL imagick 2.0.0)

ImagickPixel::clear — Supprime toutes les ressources associées avec l'objet

Description

bool ImagickPixel::clear ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Supprime l'objet ImagickPixel, le laissant dans un statut initial. Supprime également toutes les couleurs associées avec l'objet.

Valeurs de retour

Returns TRUE on success.

La classe ImagickPixel
ImagickPixel::__construct
La classe ImagickPixel


Le constructeur ImagickPixel

ImagickPixel::clear
ImagickPixel::destroy
La classe ImagickPixel
PHP Manual

ImagickPixel::__construct

(PECL imagick 2.0.0)

ImagickPixel::__construct — Le constructeur ImagickPixel

Description

ImagickPixel ImagickPixel::__construct ([ string $color ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Construit un objet ImagickPixel. Si une couleur est spécifiée, l'objet est construit, puis initialisé avec cette couleur avant d'être retourné.

Liste de paramètres

color

Une chaîne représentant la couleur optionnelle à utiliser comme valeur initiale de l'objet.

Valeurs de retour

Retourne un objet ImagickPixel en cas de succès ou lance une exception ImagickPixelException si une erreur survient.

ImagickPixel::clear
ImagickPixel::destroy
La classe ImagickPixel


Libère les ressources associées avec l'objet

ImagickPixel::__construct
ImagickPixel::getColor
La classe ImagickPixel
PHP Manual

ImagickPixel::destroy

(PECL imagick 2.0.0)

ImagickPixel::destroy — Libère les ressources associées avec l'objet

Description

bool ImagickPixel::destroy ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Libère toutes les ressources utilisées par l'objet ImagickPixel et supprime toutes les couleurs associées. L'objet ne doit pas être utilisé par l'appel de cette fonction.

Valeurs de retour

Returns TRUE on success.

ImagickPixel::__construct
ImagickPixel::getColor
La classe ImagickPixel


Retourne la couleur

ImagickPixel::destroy
ImagickPixel::getColorAsString
La classe ImagickPixel
PHP Manual

ImagickPixel::getColor

(PECL imagick 2.0.0)

ImagickPixel::getColor — Retourne la couleur

Description

array ImagickPixel::getColor ([ bool $normalized = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur décrite par l'objet ImagickPixel, sous la forme d'un tableau. Si la couleur contient un canal d'opacité, il sera fourni comme quatrième valeur de la liste.

Liste de paramètres

normalized

Valeurs normalisées de la couleur

Valeurs de retour

Un tableau de valeurs de canaux, chacun normalisé si TRUE est fourni comme argument. Lance une exception ImagickPixelException si une erreur survient.

ImagickPixel::destroy
ImagickPixel::getColorAsString
La classe ImagickPixel


Retourne une couleur

ImagickPixel::getColor
ImagickPixel::getColorCount
La classe ImagickPixel
PHP Manual

ImagickPixel::getColorAsString

(PECL imagick 2.1.0)

ImagickPixel::getColorAsString — Retourne une couleur

Description

string ImagickPixel::getColorAsString ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur de l'objet ImagickPixel, sous la forme d'une chaîne de caractères.

Liste de paramètres

Valeurs de retour

Retourne la couleur de l'objet ImagickPixel, sous la forme d'une chaîne de caractères.

ImagickPixel::getColor
ImagickPixel::getColorCount
La classe ImagickPixel


Retourne le nombre de couleurs associé avec une couleur

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
La classe ImagickPixel
PHP Manual

ImagickPixel::getColorCount

(PECL imagick 2.0.0)

ImagickPixel::getColorCount — Retourne le nombre de couleurs associé avec une couleur

Description

int ImagickPixel::getColorCount ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le nombre de couleurs associé avec la couleur.

Valeurs de retour

Retourne le nombre de couleurs, sous la forme d'un entier en cas de succès ou lance une exception ImagickPixelException si une erreur survient.

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
La classe ImagickPixel


Récupère la valeur normalisée du canal de la couleur fournie

ImagickPixel::getColorCount
ImagickPixel::getHSL
La classe ImagickPixel
PHP Manual

ImagickPixel::getColorValue

(PECL imagick 2.0.0)

ImagickPixel::getColorValue — Récupère la valeur normalisée du canal de la couleur fournie

Description

float ImagickPixel::getColorValue ( int $color )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère la valeur du canal de la couleur spécifiée, sous la forme d'un nombre à virgule flottante compris entre 0 et 1.

Liste de paramètres

color

Le canal à vérifier, spécifié sous la forme d'une constante de canal Imagick.

Valeurs de retour

La valeur du canal, sous la forme d'un nombre à virgule flottante normalisé, ou lance une exception ImagickPixelException si une erreur survient.

ImagickPixel::getColorCount
ImagickPixel::getHSL
La classe ImagickPixel


Retourne la couleur HSL normalisée de l'objet ImagickPixel

ImagickPixel::getColorValue
ImagickPixel::isSimilar
La classe ImagickPixel
PHP Manual

ImagickPixel::getHSL

(PECL imagick 2.0.0)

ImagickPixel::getHSL — Retourne la couleur HSL normalisée de l'objet ImagickPixel

Description

array ImagickPixel::getHSL ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la couleur HSL normalisée, décrite par l'objet ImagickPixel, dont chacune des trois valeurs sera un nombre décimal, compris entre 0.0 et 1.0.

Valeurs de retour

Retourne la valeur HSL dans un tableau contenant les clés "hue", "saturation" et "luminosity". Lance une exception ImagickPixelException si une erreur survient.

Notes

Note: Disponible avec la version 6.2.9 et supérieure de la bibliothèque ImageMagick.

ImagickPixel::getColorValue
ImagickPixel::isSimilar
La classe ImagickPixel


Vérifie la distance entre 2 couleurs

ImagickPixel::getHSL
ImagickPixel::setColor
La classe ImagickPixel
PHP Manual

ImagickPixel::isSimilar

(PECL imagick 2.0.0)

ImagickPixel::isSimilar — Vérifie la distance entre 2 couleurs

Description

bool ImagickPixel::isSimilar ( ImagickPixel $color , float $fuzz )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie la distance entre la couleur décrite par l'objet ImagickPixel et celle de l'objet fourni, en plaçant leurs valeurs RGB sur le cube de couleur. Si la distance entre les 2 points est inférieure à la valeur du paramètre fuzz, la couleur est similaire.

Liste de paramètres

color

L'objet ImagickPixel utilisé pour la comparaison.

fuzz

La distance maximale utilisée pour considérer que les couleurs sont similaires. La valeur maximale théorique est la racine carré de 3 (1.732).

Valeurs de retour

Returns TRUE on success.

ImagickPixel::getHSL
ImagickPixel::setColor
La classe ImagickPixel


Définit la couleur

ImagickPixel::isSimilar
ImagickPixel::setColorValue
La classe ImagickPixel
PHP Manual

ImagickPixel::setColor

(PECL imagick 2.0.0)

ImagickPixel::setColor — Définit la couleur

Description

bool ImagickPixel::setColor ( string $color )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Définit la couleur, décrite par l'objet ImagickPixel, avec une chaîne de caractères (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Liste de paramètres

color

La définition de la couleur à utiliser afin d'initialiser l'objet ImagickPixel.

Valeurs de retour

Retourne TRUE si la couleur spécifiée a été définie ou FALSE sinon.

ImagickPixel::isSimilar
ImagickPixel::setColorValue
La classe ImagickPixel


Définit la valeur normalisée d'un des canaux

ImagickPixel::setColor
ImagickPixel::setHSL
La classe ImagickPixel
PHP Manual

ImagickPixel::setColorValue

(PECL imagick 2.0.0)

ImagickPixel::setColorValue — Définit la valeur normalisée d'un des canaux

Description

bool ImagickPixel::setColorValue ( int $color , float $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Définit la valeur du canal spécifié de l'objet à la valeur spécifiée, qui doit être comprise entre 0 et 1. Cette fonction peut être utilisée pour fournir un canal d'opacité à l'objet ImagickPixel.

Liste de paramètres

color

Une constante de couleur de canal Imagick.

value

La valeur à définir pour ce canal, comprise entre 0 et 1.

Valeurs de retour

Returns TRUE on success.

ImagickPixel::setColor
ImagickPixel::setHSL
La classe ImagickPixel


Définit la couleur HSL normalisée

ImagickPixel::setColorValue
La classe ImagickPixelIterator
La classe ImagickPixel
PHP Manual

ImagickPixel::setHSL

(PECL imagick 2.0.0)

ImagickPixel::setHSL — Définit la couleur HSL normalisée

Description

bool ImagickPixel::setHSL ( float $hue , float $saturation , float $luminosity )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Définit la couleur décrite par l'objet ImagickPixel en utilisant les valeurs normalisées pour la densité, la saturation et la luminosité.

Liste de paramètres

hue

La valeur normalisée pour la densité, décrite par un arc fractionnel (entre 0 et 1) du cercle de densité, dont la valeur zéro correspond à rouge.

saturation

La valeur normalisée pour la saturation, dont 1 correspond à une saturation complète.

luminosity

La valeur normalisée pour la luminosité, compris entre 0 (noir) et 1 (blanc), avec la valeur HS complète à 0.5 de luminosité.

Valeurs de retour

Returns TRUE on success.

Notes

Note: Disponible avec la version 6.2.9 et supérieure de la bibliothèque ImageMagick.

ImagickPixel::setColorValue
La classe ImagickPixelIterator
La classe ImagickPixel


La classe ImagickPixelIterator

Synopsis de la classe

ImagickPixelIterator
ImagickPixelIterator {
bool clear ( void )
ImagickPixelIterator __construct ( Imagick $wand )
bool destroy ( void )
array getCurrentIteratorRow ( void )
int getIteratorRow ( void )
array getNextIteratorRow ( void )
array getPreviousIteratorRow ( void )
bool newPixelIterator ( Imagick $wand )
bool newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
bool resetIterator ( void )
bool setIteratorFirstRow ( void )
bool setIteratorLastRow ( void )
bool setIteratorRow ( int $row )
bool syncIterator ( void )
}

Sommaire

  • ImagickPixelIterator::clear — Efface toutes les ressources associées à PixelIterator
  • ImagickPixelIterator::__construct — Le constructeur ImagickPixelIterator
  • ImagickPixelIterator::destroy — Libère les ressources associées à PixelIterator
  • ImagickPixelIterator::getCurrentIteratorRow — Retourne la ligne courante des objets ImagickPixel
  • ImagickPixelIterator::getIteratorRow — Retourne la ligne courante de l'itérateur de pixel
  • ImagickPixelIterator::getNextIteratorRow — Retourne la prochaine ligne de l'itérateur de pixel
  • ImagickPixelIterator::getPreviousIteratorRow — Retourne la ligne précédente
  • ImagickPixelIterator::newPixelIterator — Retourne un nouveau pixel de l'itérateur
  • ImagickPixelIterator::newPixelRegionIterator — Retourne un nouveau pixel de l'itérateur
  • ImagickPixelIterator::resetIterator — Réinitialise l'itérateur de pixel
  • ImagickPixelIterator::setIteratorFirstRow — Définit l'itérateur de pixel sur la première ligne de pixels
  • ImagickPixelIterator::setIteratorLastRow — Définit l'itérateur de pixel sur la dernière ligne de pixels
  • ImagickPixelIterator::setIteratorRow — Définit la ligne de l'itérateur de pixel
  • ImagickPixelIterator::syncIterator — Synchronise l'itérateur de pixel
ImagickPixel::setHSL
ImagickPixelIterator::clear
ImageMagick


Efface toutes les ressources associées à PixelIterator

La classe ImagickPixelIterator
ImagickPixelIterator::__construct
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::clear

(PECL imagick 2.0.0)

ImagickPixelIterator::clear — Efface toutes les ressources associées à PixelIterator

Description

bool ImagickPixelIterator::clear ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Efface toutes les ressources associées à PixelIterator.

Valeurs de retour

Returns TRUE on success.

La classe ImagickPixelIterator
ImagickPixelIterator::__construct
La classe ImagickPixelIterator


Le constructeur ImagickPixelIterator

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::__construct

(PECL imagick 2.0.0)

ImagickPixelIterator::__construct — Le constructeur ImagickPixelIterator

Description

ImagickPixelIterator ImagickPixelIterator::__construct ( Imagick $wand )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Le constructeur ImagickPixelIterator.

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
La classe ImagickPixelIterator


Libère les ressources associées à PixelIterator

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::destroy

(PECL imagick 2.0.0)

ImagickPixelIterator::destroy — Libère les ressources associées à PixelIterator

Description

bool ImagickPixelIterator::destroy ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Libère les ressources associées à PixelIterator.

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
La classe ImagickPixelIterator


Retourne la ligne courante des objets ImagickPixel

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getCurrentIteratorRow — Retourne la ligne courante des objets ImagickPixel

Description

array ImagickPixelIterator::getCurrentIteratorRow ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la ligne courante, en tant que tableau, des objets ImagickPixel depuis l'itérateur de pixel.

Valeurs de retour

Retourne une ligne, en tant que tableau, des objets ImagickPixel, qui peut être elle-même itérée.

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
La classe ImagickPixelIterator


Retourne la ligne courante de l'itérateur de pixel

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getIteratorRow — Retourne la ligne courante de l'itérateur de pixel

Description

int ImagickPixelIterator::getIteratorRow ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la ligne courante de l'itérateur de pixel.

Valeurs de retour

Retourne la position, sous la forme d'un entier de la ligne ou lance une exception ImagickPixelIteratorException si une erreur survient.

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
La classe ImagickPixelIterator


Retourne la prochaine ligne de l'itérateur de pixel

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getNextIteratorRow — Retourne la prochaine ligne de l'itérateur de pixel

Description

array ImagickPixelIterator::getNextIteratorRow ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la prochaine ligne, sous la forme d'un tableau, depuis l'itérateur de pixel.

Valeurs de retour

Retourne la prochaine ligne, sous la forme d'un tableau d'objets ImagickPixel, ou lance une exception ImagickPixelIteratorException si une erreur survient.

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
La classe ImagickPixelIterator


Retourne la ligne précédente

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getPreviousIteratorRow — Retourne la ligne précédente

Description

array ImagickPixelIterator::getPreviousIteratorRow ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la ligne précédente, sous la forme d'un tableau, depuis l'itérateur de pixel.

Valeurs de retour

Retourne la ligne précédente, sous la forme d'un tableau d'objets ImagickPixelWand, ou lance une exception ImagickPixelIteratorException si une erreur survient.

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
La classe ImagickPixelIterator


Retourne un nouveau pixel de l'itérateur

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelIterator — Retourne un nouveau pixel de l'itérateur

Description

bool ImagickPixelIterator::newPixelIterator ( Imagick $wand )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un nouveau pixel de l'itérateur.

Valeurs de retour

Returns TRUE on success.. Lance une exception ImagickPixelIteratorException si une erreur survient.

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
La classe ImagickPixelIterator


Retourne un nouveau pixel de l'itérateur

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelRegionIterator — Retourne un nouveau pixel de l'itérateur

Description

bool ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un nouveau pixel de l'itérateur.

Liste de paramètres

wand

x

y

columns

rows

Valeurs de retour

Retourne un nouveau ImagickPixelIterator en cas de succès ou lance une exception ImagickPixelIteratorException si une erreur survient.

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
La classe ImagickPixelIterator


Réinitialise l'itérateur de pixel

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::resetIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::resetIterator — Réinitialise l'itérateur de pixel

Description

bool ImagickPixelIterator::resetIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Réinitialise l'itérateur de pixel. Utilisez cette méthode avec ImagickPixelIterator::getNextIteratorRow() pour itérer sur tous les pixels d'un conteneur de pixels.

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
La classe ImagickPixelIterator


Définit l'itérateur de pixel sur la première ligne de pixels

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorFirstRow — Définit l'itérateur de pixel sur la première ligne de pixels

Description

bool ImagickPixelIterator::setIteratorFirstRow ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Définit l'itérateur de pixel sur la première ligne de pixels.

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
La classe ImagickPixelIterator


Définit l'itérateur de pixel sur la dernière ligne de pixels

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorLastRow — Définit l'itérateur de pixel sur la dernière ligne de pixels

Description

bool ImagickPixelIterator::setIteratorLastRow ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Définit l'itérateur de pixel sur la dernière ligne de pixels.

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
La classe ImagickPixelIterator


Définit la ligne de l'itérateur de pixel

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::setIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorRow — Définit la ligne de l'itérateur de pixel

Description

bool ImagickPixelIterator::setIteratorRow ( int $row )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Définit la ligne de l'itérateur de pixel.

Liste de paramètres

row

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
La classe ImagickPixelIterator


Synchronise l'itérateur de pixel

ImagickPixelIterator::setIteratorRow
Gmagick
La classe ImagickPixelIterator
PHP Manual

ImagickPixelIterator::syncIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::syncIterator — Synchronise l'itérateur de pixel

Description

bool ImagickPixelIterator::syncIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Synchronise l'itérateur de pixel.

Valeurs de retour

Returns TRUE on success.

ImagickPixelIterator::setIteratorRow
Gmagick
La classe ImagickPixelIterator


Gmagick

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
  • Constantes pré-définies
  • Exemples
  • Gmagick — La classe Gmagick
    • Gmagick::addimage — Ajoute une nouvelle image à la liste des images de l'objet Gmagick
    • Gmagick::addnoiseimage — Ajoute du bruit aléatoirement dans l'image
    • Gmagick::annotateimage — Annote une image avec du texte
    • Gmagick::blurimage — Ajoute un filtre flou à l'image
    • Gmagick::borderimage — Ajoute une bordure à l'image
    • Gmagick::charcoalimage — Simule un dessin au fusain
    • Gmagick::chopimage — Supprime une région de l'image
    • Gmagick::clear — Efface toutes les ressources associées à l'objet Gmagick
    • Gmagick::commentimage — Ajoute un commentaire à l'image
    • Gmagick::compositeimage — Assemble 2 images
    • Gmagick::__construct — Le constructeur Gmagick
    • Gmagick::cropimage — Extrait une portion d'une image
    • Gmagick::cropthumbnailimage — Crée une miniature recadrée
    • Gmagick::current — Le contexte courante
    • Gmagick::cyclecolormapimage — Déplace la carte des couleurs d'une image
    • Gmagick::deconstructimages — Retourne les pixels différents entre des images
    • Gmagick::despeckleimage — Le but de despeckleimage
    • Gmagick::destroy — Le but de la méthode destroy
    • Gmagick::drawimage — Envoi l'objet GmagickDraw dans l'image courante
    • Gmagick::edgeimage — Améliore les bords intérieurs de l'image
    • Gmagick::embossimage — Retourne une image en niveau de gris avec un effet à 3 dimensions
    • Gmagick::enhanceimage — Améliore la qualité d'une image contenant du bruit
    • Gmagick::equalizeimage — Égalise l'histogramme de l'image
    • Gmagick::flipimage — Crée une image miroir verticale
    • Gmagick::flopimage — Le but de la méthode flopimage
    • Gmagick::frameimage — Ajoute une bordure afin de simuler un effet 3D
    • Gmagick::gammaimage — Corrige le gamma d'une image
    • Gmagick::getcopyright — Retourne le copyright de l'API GraphicsMagick
    • Gmagick::getfilename — Retourne le nom du fichier associé avec une séquence d'image
    • Gmagick::getimagebackgroundcolor — Retourne la couleur d'arrière plan de l'image
    • Gmagick::getimageblueprimary — Retourne le point bleu primaire chromatique
    • Gmagick::getimagebordercolor — Retourne la couleur du bord de l'image
    • Gmagick::getimagechanneldepth — Récupère la profondeur d'un canal particulier de l'image
    • Gmagick::getimagecolors — Retourne la couleur de l'indice de la carte des couleurs spécifiée
    • Gmagick::getimagecolorspace — Récupère l'espace colorimétrique de l'image
    • Gmagick::getimagecompose — Retourne l'opérateur de composition associé avec l'image
    • Gmagick::getimagedelay — Récupère le délai de l'image
    • Gmagick::getimagedepth — Récupère la profondeur de l'image
    • Gmagick::getimagedispose — Récupère la méthode de disposition de l'image
    • Gmagick::getimageextrema — Récupère les extrémités de l'image
    • Gmagick::getimagefilename — Récupère le nom du fichier d'une image particulière dans une séquence
    • Gmagick::getimageformat — Récupère le format d'une image particulière dans une séquence
    • Gmagick::getimagegamma — Récupère le gamma de l'image
    • Gmagick::getimagegreenprimary — Récupère le point chromatique primaire vert
    • Gmagick::getimageheight — Récupère la hauteur de l'image
    • Gmagick::getimagehistogram — Récupère l'histogramme de l'image
    • Gmagick::getimageindex — Récupère l'indice de l'image active courante
    • Gmagick::getimageinterlacescheme — Récupère le schéma d'entrelacement de l'image
    • Gmagick::getimageiterations — Récupère les itérations de l'image
    • Gmagick::getimagematte — Vérifie si l'image a un canal mate
    • Gmagick::getimagemattecolor — Récupère la couleur mate de l'image
    • Gmagick::getimageprofile — Récupère le nom du profile de l'image
    • Gmagick::getimageredprimary — Récupère le point chromatique primaire rouge
    • Gmagick::getimagerenderingintent — Récupère l'image de rendu
    • Gmagick::getimageresolution — Récupère la résolution de l'image
    • Gmagick::getimagescene — Récupère la scène de l'image
    • Gmagick::getimagesignature — Génère la signature SHA-256 de l'image
    • Gmagick::getimagetype — Récupère le type potentiel d'une image
    • Gmagick::getimageunits — Récupère les unités utilisées pour la résolution de l'image
    • Gmagick::getimagewhitepoint — Récupère le point chromatique blanc
    • Gmagick::getimagewidth — Récupère la largeur de l'image
    • Gmagick::getpackagename — Récupère le nom du paquet GraphicsMagick
    • Gmagick::getquantumdepth — Récupère la profondeur du quantum Gmagick
    • Gmagick::getreleasedate — Récupère la date de sortie de la version courante de GraphicsMagick
    • Gmagick::getsamplingfactors — Récupère le facteur d'échantillonnage horizontal et vertical
    • Gmagick::getsize — Récupère la taille associée avec l'objet Gmagick
    • Gmagick::getversion — Récupère la version de l'API GraphicsMagick
    • Gmagick::hasnextimage — Vérifie si l'objet contient au moins une autre image
    • Gmagick::haspreviousimage — Vérifie si l'objet contient une image précédente
    • Gmagick::implodeimage — Crée une image à partir d'une copie
    • Gmagick::labelimage — Ajoute un libellé à une image
    • Gmagick::levelimage — Ajuste les niveaux d'une image
    • Gmagick::magnifyimage — Retaille par 2 une image en conservant les proportions
    • Gmagick::mapimage — Remplace les couleurs d'une image avec les couleurs les plus proches d'une image de référence
    • Gmagick::medianfilterimage — Applique un filtre digital
    • Gmagick::minifyimage — Réduit une image de moitié en gardant les proportions
    • Gmagick::modulateimage — Contrôle la luminosité, la saturation et la teinte
    • Gmagick::motionblurimage — Simulates motion blur
    • Gmagick::newimage — Creates a new image
    • Gmagick::nextimage — Moves to the next image
    • Gmagick::normalizeimage — Enhances the contrast of a color image
    • Gmagick::oilpaintimage — Simulates an oil painting
    • Gmagick::previousimage — Move to the previous image in the object
    • Gmagick::profileimage — Adds or removes a profile from an image
    • Gmagick::quantizeimage — Analyzes the colors within a reference image
    • Gmagick::quantizeimages — The quantizeimages purpose
    • Gmagick::queryfontmetrics — Returns an array representing the font metrics
    • Gmagick::queryfonts — Returns the configured fonts
    • Gmagick::queryformats — Returns formats supported by Gmagick.
    • Gmagick::radialblurimage — Radial blurs an image
    • Gmagick::raiseimage — Creates a simulated 3d button-like effect
    • Gmagick::read — Reads image from filename
    • Gmagick::readimage — Reads image from filename
    • Gmagick::readimageblob — Reads image from a binary string
    • Gmagick::readimagefile — The readimagefile purpose
    • Gmagick::reducenoiseimage — Smooths the contours of an image
    • Gmagick::removeimage — Removes an image from the image list
    • Gmagick::removeimageprofile — Removes the named image profile and returns it
    • Gmagick::resampleimage — Resample image to desired resolution
    • Gmagick::resizeimage — Scales an image
    • Gmagick::rollimage — Offsets an image
    • Gmagick::rotateimage — Rotates an image
    • Gmagick::scaleimage — Scales the size of an image
    • Gmagick::separateimagechannel — Separates a channel from the image
    • Gmagick::setfilename — Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor — Sets the image background color.
    • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.
    • Gmagick::setimagebordercolor — Sets the image border color.
    • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace — Sets the image colorspace
    • Gmagick::setimagecompose — Sets the image composite operator
    • Gmagick::setimagedelay — Sets the image delay
    • Gmagick::setimagedepth — Sets the image depth
    • Gmagick::setimagedispose — Sets the image disposal method
    • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat — Sets the format of a particular image
    • Gmagick::setimagegamma — Sets the image gamma
    • Gmagick::setimagegreenprimary — TSets the image chromaticity green primary point.
    • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.
    • Gmagick::setimageiterations — Sets the image iterations.
    • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary — Sets the image chromaticity red primary point.
    • Gmagick::setimagerenderingintent — Sets the image rendering intent
    • Gmagick::setimageresolution — Sets the image resolution
    • Gmagick::setimagescene — Sets the image scene
    • Gmagick::setimagetype — Sets the image type
    • Gmagick::setimageunits — Sets the image units of resolution.
    • Gmagick::setimagewhitepoint — Sets the image chromaticity white point.
    • Gmagick::setsamplingfactors — Sets the image sampling factors.
    • Gmagick::setsize — Sets the size of the Gmagick object
    • Gmagick::shearimage — Creating a parallelogram
    • Gmagick::solarizeimage — Applies a solarizing effect to the image
    • Gmagick::spreadimage — Randomly displaces each pixel in a block
    • Gmagick::stripimage — Strips an image of all profiles and comments
    • Gmagick::swirlimage — Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage — Changes the size of an image
    • Gmagick::trimimage — Remove edges from the image
    • Gmagick::write — Writes an image to the specified filename
    • Gmagick::writeimage — Writes an image to the specified filename
  • GmagickDraw — La classe GmagickDraw
    • GmagickDraw::annotate — Draws text on the image
    • GmagickDraw::arc — Draws an arc
    • GmagickDraw::bezier — Draws a bezier curve
    • GmagickDraw::ellipse — Draws an ellipse on the image
    • GmagickDraw::getfillcolor — Returns the fill color
    • GmagickDraw::getfillopacity — Returns the opacity used when drawing
    • GmagickDraw::getfont — Returns the font
    • GmagickDraw::getfontsize — Returns the font pointsize
    • GmagickDraw::getfontstyle — Returns the font style
    • GmagickDraw::getfontweight — Returns the font weight
    • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration — Returns the text decoration
    • GmagickDraw::gettextencoding — Returns the code set used for text annotations
    • GmagickDraw::line — The line purpose
    • GmagickDraw::point — Draws a point
    • GmagickDraw::polygon — Draws a polygon
    • GmagickDraw::polyline — Draws a polyline
    • GmagickDraw::rectangle — Draws a rectangle
    • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle — Draws a rounded rectangle
    • GmagickDraw::scale — Adjusts the scaling factor
    • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.
    • GmagickDraw::setfillopacity — The setfillopacity purpose
    • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.
    • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.
    • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight — Sets the font weight
    • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.
    • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.
    • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.
    • GmagickDraw::settextdecoration — Specifies a decoration
    • GmagickDraw::settextencoding — Specifies specifies the text code set
  • GmagickPixel — La classe GmagickPixel
    • GmagickPixel::__construct — The GmagickPixel constructor
    • GmagickPixel::getcolor — Returns the color
    • GmagickPixel::getcolorcount — Returns the color count associated with this color
    • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor — Sets the color
    • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels
ImagickPixelIterator::syncIterator
Introduction
Génération et traitement des images


Introduction

Gmagick est une extension PHP pour créer, modifier et obtenir des informations méta sur des images en utilisant l'API GraphicsMagick.

GraphicsMagick s'enorgueillit d'être le couteau suisse du traitement de l'image. Il fonctionne avec quelques 88 formats majeurs, incluant des formats importants comme DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, et TIFF.

Gmagick est composé d'une classe principale Gmagick, d'une classe GmagickDraw qui s'occupe du dessin et une classe GmagickPixel dont les instances représentent un seul pixiel d'une image (couleur, opacité).

Gmagick
Installation/Configuration
Gmagick


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
Introduction
Pré-requis
Gmagick


Pré-requis

Cette extension fonctionne parfaitement avec GraphicsMagick version 1.4+ et PHP 5.1.3+. Gmagick devrait fonctionner avec les anciennes versions et ce, depuis la version 1.2.6 de GraphicsMagick 1.2.6 mais quelques fonctionnalités et formats n'y sont pas supportés. La version Windows de GraphicsMagick est disponible depuis le site web de GraphicsMagick. Pour connaître les différences entre ImageMagick et GraphicsMagick, lisez ceci : » FAQ .

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/gmagick.

Note: Le nom officiel de cette extension est gmagick.

Pour Windows, l'extension Gmagick est disponible depuis » cette page.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Installation
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes relatives aux types de couleur
Gmagick::COLOR_BLACK ( integer )
Noir
Gmagick::COLOR_BLUE ( integer )
Bleu
Gmagick::COLOR_CYAN ( integer )
Cyan
Gmagick::COLOR_GREEN ( integer )
Vert
Gmagick::COLOR_RED ( integer )
Rouge
Gmagick::COLOR_YELLOW ( integer )
Jaune
Gmagick::COLOR_MAGENTA ( integer )
Magenta
Gmagick::COLOR_OPACITY ( integer )
Opacité
Gmagick::COLOR_ALPHA ( integer )
Alpha
Gmagick::COLOR_FUZZ ( integer )
Fuzz
Constantes relatives aux opérateurs composite
Gmagick::COMPOSITE_DEFAULT ( integer )
L'opérateur composite par défaut
Gmagick::COMPOSITE_UNDEFINED ( integer )
Opérateur composite indéfini
Gmagick::COMPOSITE_NO ( integer )
Aucun opérateur composite de défini
Gmagick::COMPOSITE_ADD ( integer )
Le résultat d'une image + une image
Gmagick::COMPOSITE_ATOP ( integer )
Le résultat est la même forme qu'une image ; là où l'image composite obscurcie l'image, l'image de la forme la superpose.
Gmagick::COMPOSITE_BLEND ( integer )
Mélange l'image
Gmagick::COMPOSITE_BUMPMAP ( integer )
Identique à COMPOSITE_MULTIPLY, mise à part que le source est converti d'abord en niveau de gris.
Gmagick::COMPOSITE_CLEAR ( integer )
Rend la cible de l'image transparent
Gmagick::COMPOSITE_COLORBURN ( integer )
Noircit l'image de destination pour refléter l'image source
Gmagick::COMPOSITE_COLORDODGE ( integer )
Éclaircit l'image de destination pour refléter l'image source
Gmagick::COMPOSITE_COLORIZE ( integer )
Colorise l'image cible en utilisant l'image composite
Gmagick::COMPOSITE_COPYBLACK ( integer )
Copie les noirs depuis la source vers la cible
Gmagick::COMPOSITE_COPYBLUE ( integer )
Copie les bleus depuis la source vers la cible
Gmagick::COMPOSITE_COPY ( integer )
Copie l'image source sur l'image cible
Gmagick::COMPOSITE_COPYCYAN ( integer )
Copie le cyan depuis la source vers la cible
Gmagick::COMPOSITE_COPYGREEN ( integer )
Copie le vert depuis la source vers la cible
Gmagick::COMPOSITE_COPYMAGENTA ( integer )
Copies magenta from the source to target
Gmagick::COMPOSITE_COPYOPACITY ( integer )
Copies opacity from the source to target
Gmagick::COMPOSITE_COPYRED ( integer )
Copies red from the source to target
Gmagick::COMPOSITE_COPYYELLOW ( integer )
Copies yellow from the source to target
Gmagick::COMPOSITE_DARKEN ( integer )
Darkens the target image
Gmagick::COMPOSITE_DSTATOP ( integer )
The part of the destination lying inside of the source is composited over the source and replaces the destination
Gmagick::COMPOSITE_DST ( integer )
The target is left untouched
Gmagick::COMPOSITE_DSTIN ( integer )
The parts inside the source replace the target
Gmagick::COMPOSITE_DSTOUT ( integer )
The parts outside the source replace the target
Gmagick::COMPOSITE_DSTOVER ( integer )
Target replaces the source
Gmagick::COMPOSITE_DIFFERENCE ( integer )
Subtracts the darker of the two constituent colors from the lighter
Gmagick::COMPOSITE_DISPLACE ( integer )
Shifts target image pixels as defined by the source
Gmagick::COMPOSITE_DISSOLVE ( integer )
Dissolves the source in to the target
Gmagick::COMPOSITE_EXCLUSION ( integer )
Produces an effect similar to that of Gmagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
Gmagick::COMPOSITE_HARDLIGHT ( integer )
Multiplies or screens the colors, dependent on the source color value
Gmagick::COMPOSITE_HUE ( integer )
Modifies the hue of the target as defined by source
Gmagick::COMPOSITE_IN ( integer )
Composites source into the target
Gmagick::COMPOSITE_LIGHTEN ( integer )
Lightens the target as defined by source
Gmagick::COMPOSITE_LUMINIZE ( integer )
Luminizes the target as defined by source
Gmagick::COMPOSITE_MINUS ( integer )
Substracts the source from the target
Gmagick::COMPOSITE_MODULATE ( integer )
Modulates the target brightness, saturation and hue as defined by source
Gmagick::COMPOSITE_MULTIPLY ( integer )
Multiplies the target to the source
Gmagick::COMPOSITE_OUT ( integer )
Composites outer parts of the source on the target
Gmagick::COMPOSITE_OVER ( integer )
Composites source over the target
Gmagick::COMPOSITE_OVERLAY ( integer )
Overlays the source on the target
Gmagick::COMPOSITE_PLUS ( integer )
Adds the source to the target
Gmagick::COMPOSITE_REPLACE ( integer )
Replaces the target with the source
Gmagick::COMPOSITE_SATURATE ( integer )
Saturates the target as defined by the source
Gmagick::COMPOSITE_SCREEN ( integer )
The source and destination are complemented and then multiplied and then replace the destination
Gmagick::COMPOSITE_SOFTLIGHT ( integer )
Darkens or lightens the colors, dependent on the source
Gmagick::COMPOSITE_SRCATOP ( integer )
The part of the source lying inside of the destination is composited onto the destination
Gmagick::COMPOSITE_SRC ( integer )
The source is copied to the destination
Gmagick::COMPOSITE_SRCIN ( integer )
The part of the source lying inside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOUT ( integer )
The part of the source lying outside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOVER ( integer )
The source replaces the destination
Gmagick::COMPOSITE_SUBTRACT ( integer )
Subtract the colors in the source image from the destination image
Gmagick::COMPOSITE_THRESHOLD ( integer )
The source is composited on the target as defined by source threshold
Gmagick::COMPOSITE_XOR ( integer )
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
Montage Mode constants
Gmagick::MONTAGEMODE_FRAME ( integer )
Gmagick::MONTAGEMODE_UNFRAME ( integer )
Gmagick::MONTAGEMODE_CONCATENATE ( integer )
Style constants
Gmagick::STYLE_NORMAL ( integer )
Gmagick::STYLE_ITALIC ( integer )
Gmagick::STYLE_OBLIQUE ( integer )
Gmagick::STYLE_ANY ( integer )
Filter constants
Gmagick::FILTER_UNDEFINED ( integer )
Gmagick::FILTER_POINT ( integer )
Gmagick::FILTER_BOX ( integer )
Gmagick::FILTER_TRIANGLE ( integer )
Gmagick::FILTER_HERMITE ( integer )
Gmagick::FILTER_HANNING ( integer )
Gmagick::FILTER_HAMMING ( integer )
Gmagick::FILTER_BLACKMAN ( integer )
Gmagick::FILTER_GAUSSIAN ( integer )
Gmagick::FILTER_QUADRATIC ( integer )
Gmagick::FILTER_CUBIC ( integer )
Gmagick::FILTER_CATROM ( integer )
Gmagick::FILTER_MITCHELL ( integer )
Gmagick::FILTER_LANCZOS ( integer )
Gmagick::FILTER_BESSEL ( integer )
Gmagick::FILTER_SINC ( integer )
Image type constants
Gmagick::IMGTYPE_UNDEFINED ( integer )
Gmagick::IMGTYPE_BILEVEL ( integer )
Gmagick::IMGTYPE_GRAYSCALE ( integer )
Gmagick::IMGTYPE_GRAYSCALEMATTE ( integer )
Gmagick::IMGTYPE_PALETTE ( integer )
Gmagick::IMGTYPE_PALETTEMATTE ( integer )
Gmagick::IMGTYPE_TRUECOLOR ( integer )
Gmagick::IMGTYPE_TRUECOLORMATTE ( integer )
Gmagick::IMGTYPE_COLORSEPARATION ( integer )
Gmagick::IMGTYPE_COLORSEPARATIONMATTE ( integer )
Gmagick::IMGTYPE_OPTIMIZE ( integer )
Resolution constants
Gmagick::RESOLUTION_UNDEFINED ( integer )
Gmagick::RESOLUTION_PIXELSPERINCH ( integer )
Gmagick::RESOLUTION_PIXELSPERCENTIMETER ( integer )
Compression constants
Gmagick::COMPRESSION_UNDEFINED ( integer )
Gmagick::COMPRESSION_NO ( integer )
Gmagick::COMPRESSION_BZIP ( integer )
Gmagick::COMPRESSION_FAX ( integer )
Gmagick::COMPRESSION_GROUP4 ( integer )
Gmagick::COMPRESSION_JPEG ( integer )
Gmagick::COMPRESSION_JPEG2000 ( integer )
Gmagick::COMPRESSION_LOSSLESSJPEG ( integer )
Gmagick::COMPRESSION_LZW ( integer )
Gmagick::COMPRESSION_RLE ( integer )
Gmagick::COMPRESSION_ZIP ( integer )
Paint constants
Gmagick::PAINT_POINT ( integer )
Gmagick::PAINT_REPLACE ( integer )
Gmagick::PAINT_FLOODFILL ( integer )
Gmagick::PAINT_FILLTOBORDER ( integer )
Gmagick::PAINT_RESET ( integer )
Gravity constants
Gmagick::GRAVITY_NORTHWEST ( integer )
Gmagick::GRAVITY_NORTH ( integer )
Gmagick::GRAVITY_NORTHEAST ( integer )
Gmagick::GRAVITY_WEST ( integer )
Gmagick::GRAVITY_CENTER ( integer )
Gmagick::GRAVITY_EAST ( integer )
Gmagick::GRAVITY_SOUTHWEST ( integer )
Gmagick::GRAVITY_SOUTH ( integer )
Gmagick::GRAVITY_SOUTHEAST ( integer )
Stretch constants
Gmagick::STRETCH_NORMAL ( integer )
Gmagick::STRETCH_ULTRACONDENSED ( integer )
Gmagick::STRETCH_CONDENSED ( integer )
Gmagick::STRETCH_SEMICONDENSED ( integer )
Gmagick::STRETCH_SEMIEXPANDED ( integer )
Gmagick::STRETCH_EXPANDED ( integer )
Gmagick::STRETCH_EXTRAEXPANDED ( integer )
Gmagick::STRETCH_ULTRAEXPANDED ( integer )
Gmagick::STRETCH_ANY ( integer )
Align constants
Gmagick::ALIGN_UNDEFINED ( integer )
Gmagick::ALIGN_LEFT ( integer )
Gmagick::ALIGN_CENTER ( integer )
Gmagick::ALIGN_RIGHT ( integer )
Decoration constants
Gmagick::DECORATION_NO ( integer )
Gmagick::DECORATION_UNDERLINE ( integer )
Gmagick::DECORATION_OVERLINE ( integer )
Gmagick::DECORATION_LINETROUGH ( integer )
Noise constants
Gmagick::NOISE_UNIFORM ( integer )
Gmagick::NOISE_GAUSSIAN ( integer )
Gmagick::NOISE_MULTIPLICATIVEGAUSSIAN ( integer )
Gmagick::NOISE_IMPULSE ( integer )
Gmagick::NOISE_LAPLACIAN ( integer )
Gmagick::NOISE_POISSON ( integer )
Channel constants
Gmagick::CHANNEL_UNDEFINED ( integer )
Gmagick::CHANNEL_RED ( integer )
Gmagick::CHANNEL_GRAY ( integer )
Gmagick::CHANNEL_CYAN ( integer )
Gmagick::CHANNEL_GREEN ( integer )
Gmagick::CHANNEL_MAGENTA ( integer )
Gmagick::CHANNEL_BLUE ( integer )
Gmagick::CHANNEL_YELLOW ( integer )
Gmagick::CHANNEL_ALPHA ( integer )
Gmagick::CHANNEL_OPACITY ( integer )
Gmagick::CHANNEL_MATTE ( integer )
Gmagick::CHANNEL_BLACK ( integer )
Gmagick::CHANNEL_INDEX ( integer )
Gmagick::CHANNEL_ALL ( integer )
Metric constants
Gmagick::METRIC_UNDEFINED ( integer )
Gmagick::METRIC_MEANABSOLUTEERROR ( integer )
Gmagick::METRIC_MEANSQUAREERROR ( integer )
Gmagick::METRIC_PEAKABSOLUTEERROR ( integer )
Gmagick::METRIC_PEAKSIGNALTONOISERATIO ( integer )
Gmagick::METRIC_ROOTMEANSQUAREDERROR ( integer )
Pixel constants
Gmagick::PIXEL_CHAR ( integer )
Gmagick::PIXEL_DOUBLE ( integer )
Gmagick::PIXEL_FLOAT ( integer )
Gmagick::PIXEL_INTEGER ( integer )
Gmagick::PIXEL_LONG ( integer )
Gmagick::PIXEL_QUANTUM ( integer )
Gmagick::PIXEL_SHORT ( integer )
Colorspace constants
Gmagick::COLORSPACE_UNDEFINED ( integer )
Gmagick::COLORSPACE_RGB ( integer )
Gmagick::COLORSPACE_GRAY ( integer )
Gmagick::COLORSPACE_TRANSPARENT ( integer )
Gmagick::COLORSPACE_OHTA ( integer )
Gmagick::COLORSPACE_LAB ( integer )
Gmagick::COLORSPACE_XYZ ( integer )
Gmagick::COLORSPACE_YCBCR ( integer )
Gmagick::COLORSPACE_YCC ( integer )
Gmagick::COLORSPACE_YIQ ( integer )
Gmagick::COLORSPACE_YPBPR ( integer )
Gmagick::COLORSPACE_YUV ( integer )
Gmagick::COLORSPACE_CMYK ( integer )
Gmagick::COLORSPACE_SRGB ( integer )
Gmagick::COLORSPACE_HSB ( integer )
Gmagick::COLORSPACE_HSL ( integer )
Gmagick::COLORSPACE_HWB ( integer )
Gmagick::COLORSPACE_REC601LUMA ( integer )
Gmagick::COLORSPACE_REC709LUMA ( integer )
Gmagick::COLORSPACE_LOG ( integer )
Virtual Pixel Method constants
Gmagick::VIRTUALPIXELMETHOD_UNDEFINED ( integer )
Gmagick::VIRTUALPIXELMETHOD_BACKGROUND ( integer )
Gmagick::VIRTUALPIXELMETHOD_CONSTANT ( integer )
Gmagick::VIRTUALPIXELMETHOD_EDGE ( integer )
Gmagick::VIRTUALPIXELMETHOD_MIRROR ( integer )
Gmagick::VIRTUALPIXELMETHOD_TILE ( integer )
Gmagick::VIRTUALPIXELMETHOD_TRANSPARENT ( integer )
Constantes de prévisualisation
Gmagick::PREVIEW_UNDEFINED ( integer )
Gmagick::PREVIEW_ROTATE ( integer )
Gmagick::PREVIEW_SHEAR ( integer )
Gmagick::PREVIEW_ROLL ( integer )
Gmagick::PREVIEW_HUE ( integer )
Gmagick::PREVIEW_SATURATION ( integer )
Gmagick::PREVIEW_BRIGHTNESS ( integer )
Gmagick::PREVIEW_GAMMA ( integer )
Gmagick::PREVIEW_SPIFF ( integer )
Gmagick::PREVIEW_DULL ( integer )
Gmagick::PREVIEW_GRAYSCALE ( integer )
Gmagick::PREVIEW_QUANTIZE ( integer )
Gmagick::PREVIEW_DESPECKLE ( integer )
Gmagick::PREVIEW_REDUCENOISE ( integer )
Gmagick::PREVIEW_ADDNOISE ( integer )
Gmagick::PREVIEW_SHARPEN ( integer )
Gmagick::PREVIEW_BLUR ( integer )
Gmagick::PREVIEW_THRESHOLD ( integer )
Gmagick::PREVIEW_EDGEDETECT ( integer )
Gmagick::PREVIEW_SPREAD ( integer )
Gmagick::PREVIEW_SOLARIZE ( integer )
Gmagick::PREVIEW_SHADE ( integer )
Gmagick::PREVIEW_RAISE ( integer )
Gmagick::PREVIEW_SEGMENT ( integer )
Gmagick::PREVIEW_SWIRL ( integer )
Gmagick::PREVIEW_IMPLODE ( integer )
Gmagick::PREVIEW_WAVE ( integer )
Gmagick::PREVIEW_OILPAINT ( integer )
Gmagick::PREVIEW_CHARCOALDRAWING ( integer )
Gmagick::PREVIEW_JPEG ( integer )
Constantes de rendu
Gmagick::RENDERINGINTENT_UNDEFINED ( integer )
Gmagick::RENDERINGINTENT_SATURATION ( integer )
Gmagick::RENDERINGINTENT_PERCEPTUAL ( integer )
Gmagick::RENDERINGINTENT_ABSOLUTE ( integer )
Gmagick::RENDERINGINTENT_RELATIVE ( integer )
Constantes Fillrule
Gmagick::FILLRULE_UNDEFINED ( integer )
Gmagick::FILLRULE_EVENODD ( integer )
Gmagick::FILLRULE_NONZERO ( integer )
Constantes Pathunit
Gmagick::PATHUNITS_UNDEFINED ( integer )
Gmagick::PATHUNITS_USERSPACE ( integer )
Gmagick::PATHUNITS_USERSPACEONUSE ( integer )
Gmagick::PATHUNITS_OBJECTBOUNDINGBOX ( integer )
Constantes Linecap
Gmagick::LINECAP_UNDEFINED ( integer )
Gmagick::LINECAP_BUTT ( integer )
Gmagick::LINECAP_ROUND ( integer )
Gmagick::LINECAP_SQUARE ( integer )
Constantes de jointure de lignes
Gmagick::LINEJOIN_UNDEFINED ( integer )
Gmagick::LINEJOIN_MITER ( integer )
Gmagick::LINEJOIN_ROUND ( integer )
Gmagick::LINEJOIN_BEVEL ( integer )
Constantes de type de ressources
Gmagick::RESOURCETYPE_UNDEFINED ( integer )
Gmagick::RESOURCETYPE_AREA ( integer )
Gmagick::RESOURCETYPE_DISK ( integer )
Gmagick::RESOURCETYPE_FILE ( integer )
Gmagick::RESOURCETYPE_MAP ( integer )
Gmagick::RESOURCETYPE_MEMORY ( integer )
Constantes d'orientation
Gmagick::ORIENTATION_UNDEFINED ( integer )
Gmagick::ORIENTATION_TOPLEFT ( integer )
Gmagick::ORIENTATION_TOPRIGHT ( integer )
Gmagick::ORIENTATION_BOTTOMRIGHT ( integer )
Gmagick::ORIENTATION_BOTTOMLEFT ( integer )
Gmagick::ORIENTATION_LEFTTOP ( integer )
Gmagick::ORIENTATION_RIGHTTOP ( integer )
Gmagick::ORIENTATION_RIGHTBOTTOM ( integer )
Gmagick::ORIENTATION_LEFTBOTTOM ( integer )
Configuration à l'exécution
Exemples
Gmagick


Exemples

Ce qui suit montre quelques opérations communes avec Gmagick.

Exemple #1 Gmagick Example

<?php
//Instantiation d'un nouvel objet Gmagick
$image = new Gmagick('example.jpg');

// Crée une miniature depuis l'image chargée. 0 pour un des axes préservera le ratio
$image->thumbnailImage(100, 0);

// Crée une bordure autour de l'image, puis, simule la façon dont sera rendue l'image
// après un rendu à la peinture à l'huile.
// Notez le chaînage des méthodes supporté par Gmagick
$image->borderImage("yellow", 8, 8)->oilPaintImage(0.3);

// Ecrit l'image courante dans un fichier
$image->write('example_thumbnail.jpg');
?>
Constantes pré-définies
Gmagick
Gmagick


La classe Gmagick

Introduction

Description de la classe.

Synopsis de la classe

Gmagick
Gmagick {
/* Méthodes */
public void addimage ( Gmagick $Gmagick )
public void addnoiseimage ( int $NOISE )
public void annotateimage ( GmagickDraw $GmagickDraw , int $x , int $y , float $angle , string $text )
public void blurimage ( float $radius , float $sigma )
public void borderimage ( GmagickPixel $color , int $width , int $height )
public void charcoalimage ( float $radius , float $sigma )
public void chopimage ( int $width , int $height , int $x , int $y )
public void clear ( void )
public void commentimage ( string $comment )
public void compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )
__construct ([ string $filename ] )
public void cropimage ( int $width , int $height , int $x , int $y )
public void cropthumbnailimage ( int $width , int $height )
public void current ( void )
public void cyclecolormapimage ( float $displace )
public void deconstructimages ( void )
public void despeckleimage ( void )
public void destroy ( void )
public void drawimage ( GmagickDraw $GmagickDraw )
public void edgeimage ( float $radius )
public void embossimage ( float $radius , float $sigma )
public void enhanceimage ( void )
public void equalizeimage ( void )
public void flipimage ( void )
public void flopimage ( void )
public void frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )
public void gammaimage ( float $gamma )
public void getcopyright ( void )
public void getfilename ( void )
public void getimagebackgroundcolor ( void )
public void getimageblueprimary ( void )
public void getimagebordercolor ( void )
public void getimagechanneldepth ( void )
public void getimagecolors ( void )
public void getimagecolorspace ( void )
public void getimagecompose ( void )
public void getimagedelay ( void )
public void getimagedepth ( void )
public void getimagedispose ( void )
public void getimageextrema ( void )
public void getimagefilename ( void )
public void getimageformat ( void )
public void getimagegamma ( void )
public void getimagegreenprimary ( void )
public void getimageheight ( void )
public void getimagehistogram ( void )
public void getimageindex ( void )
public void getimageinterlacescheme ( void )
public void getimageiterations ( void )
public void getimagematte ( void )
public void getimagemattecolor ( void )
public void getimageprofile ( void )
public void getimageredprimary ( void )
public void getimagerenderingintent ( void )
public void getimageresolution ( void )
public void getimagescene ( void )
public void getimagesignature ( void )
public void getimagetype ( void )
public void getimageunits ( void )
public void getimagewhitepoint ( void )
public void getimagewidth ( void )
public void getpackagename ( void )
public void getquantumdepth ( void )
public void getreleasedate ( void )
public void getsamplingfactors ( void )
public void getsize ( void )
public void getversion ( void )
public void hasnextimage ( void )
public void haspreviousimage ( void )
public void implodeimage ( float $radius )
public void labelimage ( string $label )
public void levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel ] )
public void magnifyimage ( void )
public void mapimage ( gmagick $gmagick , int $dither )
public void medianfilterimage ( float $radius )
public void minifyimage ( void )
public void modulateimage ( float $brightness , float $saturation , float $hue )
public void motionblurimage ( float $radius , float $sigma , float $angle )
public void newimage ( int $width , int $height , mixed $background , string $format )
public void nextimage ( void )
public void normalizeimage ([ int $channel ] )
public void oilpaintimage ( float $radius )
public void previousimage ( void )
public void profileimage ( string $name , string $profile )
public void quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public void quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
public void queryfontmetrics ( void )
public void queryfonts ( void )
public void queryformats ( string $pattern )
public void radialblurimage ( float $angle [, int $channel ] )
public void raiseimage ( int $width , int $height , int $x , int $y , bool $raise )
public void read ( string $filename )
public void readimage ( string $filename )
public void readimageblob ( string $imageContents [, string $filename ] )
public void readimagefile ( string $fp )
public void reducenoiseimage ( float $radius )
public void removeimage ( void )
public void removeimageprofile ( string $name )
public void resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )
public void resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit ] )
public void rollimage ( int $x , int $y )
public void rotateimage ( mixed $color , float $degrees )
public void scaleimage ( int $width , int $height )
public void separateimagechannel ( int $channel )
public void setfilename ( string $filename )
public void setimagebackgroundcolor ( GmagickPixel $color )
public void setimageblueprimary ( float $x , float $y )
public void setimagebordercolor ( GmagickPixel $color )
public void setimagechanneldepth ( int $channel , int $depth )
public void setimagecolorspace ( int $colorspace )
public void setimagecompose ( int $composite )
public void setimagedelay ( int $delay )
public void setimagedepth ( float $depth )
public void setimagedispose ( int $disposeType )
public void setimagefilename ( string $filename )
public void setimageformat ( string $imageFormat )
public void setimagegamma ( float $gamma )
public void setimagegreenprimary ( float $x , float $y )
public void setimageindex ( int $index )
public void setimageinterlacescheme ( int $interlace )
public void setimageiterations ( int $iterations )
public void setimageprofile ( string $name , string $profile )
public void setimageredprimary ( float $x , float $y )
public void setimagerenderingintent ( int $rendering_intent )
public void setimageresolution ( float $xResolution , float $yResolution )
public void setimagescene ( string $scene )
public void setimagetype ( string $imgType )
public void setimageunits ( int $resolution )
public void setimagewhitepoint ( float $x , float $y )
public void setsamplingfactors ( array $factors )
public void setsize ( int $columns , int $rows )
public void shearimage ( mixed $color , float $xShear , float $yShear )
public void solarizeimage ( float $threshold )
public void spreadimage ( float $radius )
public void stripimage ( void )
public void swirlimage ( float $degrees )
public void thumbnailimage ( int $width , int $height )
public void trimimage ( float $fuzz )
public void write ( string $filename )
public void writeimage ( string $filename )
}

Sommaire

  • Gmagick::addimage — Ajoute une nouvelle image à la liste des images de l'objet Gmagick
  • Gmagick::addnoiseimage — Ajoute du bruit aléatoirement dans l'image
  • Gmagick::annotateimage — Annote une image avec du texte
  • Gmagick::blurimage — Ajoute un filtre flou à l'image
  • Gmagick::borderimage — Ajoute une bordure à l'image
  • Gmagick::charcoalimage — Simule un dessin au fusain
  • Gmagick::chopimage — Supprime une région de l'image
  • Gmagick::clear — Efface toutes les ressources associées à l'objet Gmagick
  • Gmagick::commentimage — Ajoute un commentaire à l'image
  • Gmagick::compositeimage — Assemble 2 images
  • Gmagick::__construct — Le constructeur Gmagick
  • Gmagick::cropimage — Extrait une portion d'une image
  • Gmagick::cropthumbnailimage — Crée une miniature recadrée
  • Gmagick::current — Le contexte courante
  • Gmagick::cyclecolormapimage — Déplace la carte des couleurs d'une image
  • Gmagick::deconstructimages — Retourne les pixels différents entre des images
  • Gmagick::despeckleimage — Le but de despeckleimage
  • Gmagick::destroy — Le but de la méthode destroy
  • Gmagick::drawimage — Envoi l'objet GmagickDraw dans l'image courante
  • Gmagick::edgeimage — Améliore les bords intérieurs de l'image
  • Gmagick::embossimage — Retourne une image en niveau de gris avec un effet à 3 dimensions
  • Gmagick::enhanceimage — Améliore la qualité d'une image contenant du bruit
  • Gmagick::equalizeimage — Égalise l'histogramme de l'image
  • Gmagick::flipimage — Crée une image miroir verticale
  • Gmagick::flopimage — Le but de la méthode flopimage
  • Gmagick::frameimage — Ajoute une bordure afin de simuler un effet 3D
  • Gmagick::gammaimage — Corrige le gamma d'une image
  • Gmagick::getcopyright — Retourne le copyright de l'API GraphicsMagick
  • Gmagick::getfilename — Retourne le nom du fichier associé avec une séquence d'image
  • Gmagick::getimagebackgroundcolor — Retourne la couleur d'arrière plan de l'image
  • Gmagick::getimageblueprimary — Retourne le point bleu primaire chromatique
  • Gmagick::getimagebordercolor — Retourne la couleur du bord de l'image
  • Gmagick::getimagechanneldepth — Récupère la profondeur d'un canal particulier de l'image
  • Gmagick::getimagecolors — Retourne la couleur de l'indice de la carte des couleurs spécifiée
  • Gmagick::getimagecolorspace — Récupère l'espace colorimétrique de l'image
  • Gmagick::getimagecompose — Retourne l'opérateur de composition associé avec l'image
  • Gmagick::getimagedelay — Récupère le délai de l'image
  • Gmagick::getimagedepth — Récupère la profondeur de l'image
  • Gmagick::getimagedispose — Récupère la méthode de disposition de l'image
  • Gmagick::getimageextrema — Récupère les extrémités de l'image
  • Gmagick::getimagefilename — Récupère le nom du fichier d'une image particulière dans une séquence
  • Gmagick::getimageformat — Récupère le format d'une image particulière dans une séquence
  • Gmagick::getimagegamma — Récupère le gamma de l'image
  • Gmagick::getimagegreenprimary — Récupère le point chromatique primaire vert
  • Gmagick::getimageheight — Récupère la hauteur de l'image
  • Gmagick::getimagehistogram — Récupère l'histogramme de l'image
  • Gmagick::getimageindex — Récupère l'indice de l'image active courante
  • Gmagick::getimageinterlacescheme — Récupère le schéma d'entrelacement de l'image
  • Gmagick::getimageiterations — Récupère les itérations de l'image
  • Gmagick::getimagematte — Vérifie si l'image a un canal mate
  • Gmagick::getimagemattecolor — Récupère la couleur mate de l'image
  • Gmagick::getimageprofile — Récupère le nom du profile de l'image
  • Gmagick::getimageredprimary — Récupère le point chromatique primaire rouge
  • Gmagick::getimagerenderingintent — Récupère l'image de rendu
  • Gmagick::getimageresolution — Récupère la résolution de l'image
  • Gmagick::getimagescene — Récupère la scène de l'image
  • Gmagick::getimagesignature — Génère la signature SHA-256 de l'image
  • Gmagick::getimagetype — Récupère le type potentiel d'une image
  • Gmagick::getimageunits — Récupère les unités utilisées pour la résolution de l'image
  • Gmagick::getimagewhitepoint — Récupère le point chromatique blanc
  • Gmagick::getimagewidth — Récupère la largeur de l'image
  • Gmagick::getpackagename — Récupère le nom du paquet GraphicsMagick
  • Gmagick::getquantumdepth — Récupère la profondeur du quantum Gmagick
  • Gmagick::getreleasedate — Récupère la date de sortie de la version courante de GraphicsMagick
  • Gmagick::getsamplingfactors — Récupère le facteur d'échantillonnage horizontal et vertical
  • Gmagick::getsize — Récupère la taille associée avec l'objet Gmagick
  • Gmagick::getversion — Récupère la version de l'API GraphicsMagick
  • Gmagick::hasnextimage — Vérifie si l'objet contient au moins une autre image
  • Gmagick::haspreviousimage — Vérifie si l'objet contient une image précédente
  • Gmagick::implodeimage — Crée une image à partir d'une copie
  • Gmagick::labelimage — Ajoute un libellé à une image
  • Gmagick::levelimage — Ajuste les niveaux d'une image
  • Gmagick::magnifyimage — Retaille par 2 une image en conservant les proportions
  • Gmagick::mapimage — Remplace les couleurs d'une image avec les couleurs les plus proches d'une image de référence
  • Gmagick::medianfilterimage — Applique un filtre digital
  • Gmagick::minifyimage — Réduit une image de moitié en gardant les proportions
  • Gmagick::modulateimage — Contrôle la luminosité, la saturation et la teinte
  • Gmagick::motionblurimage — Simulates motion blur
  • Gmagick::newimage — Creates a new image
  • Gmagick::nextimage — Moves to the next image
  • Gmagick::normalizeimage — Enhances the contrast of a color image
  • Gmagick::oilpaintimage — Simulates an oil painting
  • Gmagick::previousimage — Move to the previous image in the object
  • Gmagick::profileimage — Adds or removes a profile from an image
  • Gmagick::quantizeimage — Analyzes the colors within a reference image
  • Gmagick::quantizeimages — The quantizeimages purpose
  • Gmagick::queryfontmetrics — Returns an array representing the font metrics
  • Gmagick::queryfonts — Returns the configured fonts
  • Gmagick::queryformats — Returns formats supported by Gmagick.
  • Gmagick::radialblurimage — Radial blurs an image
  • Gmagick::raiseimage — Creates a simulated 3d button-like effect
  • Gmagick::read — Reads image from filename
  • Gmagick::readimage — Reads image from filename
  • Gmagick::readimageblob — Reads image from a binary string
  • Gmagick::readimagefile — The readimagefile purpose
  • Gmagick::reducenoiseimage — Smooths the contours of an image
  • Gmagick::removeimage — Removes an image from the image list
  • Gmagick::removeimageprofile — Removes the named image profile and returns it
  • Gmagick::resampleimage — Resample image to desired resolution
  • Gmagick::resizeimage — Scales an image
  • Gmagick::rollimage — Offsets an image
  • Gmagick::rotateimage — Rotates an image
  • Gmagick::scaleimage — Scales the size of an image
  • Gmagick::separateimagechannel — Separates a channel from the image
  • Gmagick::setfilename — Sets the filename before you read or write the image
  • Gmagick::setimagebackgroundcolor — Sets the image background color.
  • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.
  • Gmagick::setimagebordercolor — Sets the image border color.
  • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
  • Gmagick::setimagecolorspace — Sets the image colorspace
  • Gmagick::setimagecompose — Sets the image composite operator
  • Gmagick::setimagedelay — Sets the image delay
  • Gmagick::setimagedepth — Sets the image depth
  • Gmagick::setimagedispose — Sets the image disposal method
  • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
  • Gmagick::setimageformat — Sets the format of a particular image
  • Gmagick::setimagegamma — Sets the image gamma
  • Gmagick::setimagegreenprimary — TSets the image chromaticity green primary point.
  • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
  • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.
  • Gmagick::setimageiterations — Sets the image iterations.
  • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
  • Gmagick::setimageredprimary — Sets the image chromaticity red primary point.
  • Gmagick::setimagerenderingintent — Sets the image rendering intent
  • Gmagick::setimageresolution — Sets the image resolution
  • Gmagick::setimagescene — Sets the image scene
  • Gmagick::setimagetype — Sets the image type
  • Gmagick::setimageunits — Sets the image units of resolution.
  • Gmagick::setimagewhitepoint — Sets the image chromaticity white point.
  • Gmagick::setsamplingfactors — Sets the image sampling factors.
  • Gmagick::setsize — Sets the size of the Gmagick object
  • Gmagick::shearimage — Creating a parallelogram
  • Gmagick::solarizeimage — Applies a solarizing effect to the image
  • Gmagick::spreadimage — Randomly displaces each pixel in a block
  • Gmagick::stripimage — Strips an image of all profiles and comments
  • Gmagick::swirlimage — Swirls the pixels about the center of the image
  • Gmagick::thumbnailimage — Changes the size of an image
  • Gmagick::trimimage — Remove edges from the image
  • Gmagick::write — Writes an image to the specified filename
  • Gmagick::writeimage — Writes an image to the specified filename
Exemples
Gmagick::addimage
Gmagick


Ajoute une nouvelle image à la liste des images de l'objet Gmagick

Gmagick
Gmagick::addnoiseimage
Gmagick
PHP Manual

Gmagick::addimage

(PECL gmagick >= Unknown)

Gmagick::addimage — Ajoute une nouvelle image à la liste des images de l'objet Gmagick

Description

public void Gmagick::addimage ( Gmagick $Gmagick )

Ajoute une nouvelle image à l'objet Gmagick depuis la position courante de l'objet source. Après l'opération, l'itérateur de position est déplacé à la fin de la liste.

Liste de paramètres

source

L'objet Gmagick source

Valeurs de retour

L'objet Gmagick contenant la nouvelle image chargé.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick
Gmagick::addnoiseimage
Gmagick


Ajoute du bruit aléatoirement dans l'image

Gmagick::addimage
Gmagick::annotateimage
Gmagick
PHP Manual

Gmagick::addnoiseimage

(PECL gmagick >= Unknown)

Gmagick::addnoiseimage — Ajoute du bruit aléatoirement dans l'image

Description

public void Gmagick::addnoiseimage ( int $NOISE )

Ajoute du bruit aléatoirement dans l'image.

Liste de paramètres

noise_type

Le type de bruit. Reportez-vous à la liste des constantes relatives au bruit.

Valeurs de retour

L'objet Gmagick dont le bruit a été ajouté.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::addimage
Gmagick::annotateimage
Gmagick


Annote une image avec du texte

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick
PHP Manual

Gmagick::annotateimage

(PECL gmagick >= Unknown)

Gmagick::annotateimage — Annote une image avec du texte

Description

public void Gmagick::annotateimage ( GmagickDraw $GmagickDraw , int $x , int $y , float $angle , string $text )

Annote une image avec du texte.

Liste de paramètres

GmagickDraw

L'objet GmagickDraw contenant la configuration afin de dessiner le texte

x

Position horizontale, en pixels, du bord gauche du texte

y

Position verticale, en pixels, du bas du texte

angle

L'angle utilisé pour écrire le texte

text

Le texte à dessiner

Valeurs de retour

L'objet Gmagick contenant l'annotation.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::addnoiseimage
Gmagick::blurimage
Gmagick


Ajoute un filtre flou à l'image

Gmagick::annotateimage
Gmagick::borderimage
Gmagick
PHP Manual

Gmagick::blurimage

(PECL gmagick >= Unknown)

Gmagick::blurimage — Ajoute un filtre flou à l'image

Description

public void Gmagick::blurimage ( float $radius , float $sigma )

Ajoute un filtre flou à l'image.

Liste de paramètres

radius

Rayon utilisé pour le flou

sigma

Déviation standard

Valeurs de retour

L'objet Gmagick flouté.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::annotateimage
Gmagick::borderimage
Gmagick


Ajoute une bordure à l'image

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick
PHP Manual

Gmagick::borderimage

(PECL gmagick >= Unknown)

Gmagick::borderimage — Ajoute une bordure à l'image

Description

public void Gmagick::borderimage ( GmagickPixel $color , int $width , int $height )

Ajoute une bordure à l'image dont la couleur sera définie par l'objet GmagickPixel ou une couleur sous forme de chaîne de caractères.

Liste de paramètres

color

Objet GmagickPixel ou une chaîne de caractères contenant la couleur de la bordure.

width

Épaisseur de la bordure

height

Hauteur de la bordure

Valeurs de retour

L'objet Gmagick dont la bordure a été ajoutée

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::blurimage
Gmagick::charcoalimage
Gmagick


Simule un dessin au fusain

Gmagick::borderimage
Gmagick::chopimage
Gmagick
PHP Manual

Gmagick::charcoalimage

(PECL gmagick >= Unknown)

Gmagick::charcoalimage — Simule un dessin au fusain

Description

public void Gmagick::charcoalimage ( float $radius , float $sigma )

Simule un dessin au fusain.

Liste de paramètres

radius

Le rayon du Gaussien, en pixels, sans compter le pixel central

sigma

La déviation standard du Gaussien, en pixels

Valeurs de retour

L'objet Gmagick contenant la simulation du dessin au fusain.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::borderimage
Gmagick::chopimage
Gmagick


Supprime une région de l'image

Gmagick::charcoalimage
Gmagick::clear
Gmagick
PHP Manual

Gmagick::chopimage

(PECL gmagick >= Unknown)

Gmagick::chopimage — Supprime une région de l'image

Description

public void Gmagick::chopimage ( int $width , int $height , int $x , int $y )

Supprime une région de l'image et la repositionne afin d'occuper la portion effacée.

Liste de paramètres

width

Longueur de la région à supprimer

height

Hauteur de la région à supprimer

x

Origine en X de la région à supprimer

y

Origine en Y de la région à supprimer

Valeurs de retour

L'objet Gmagick dont la région a été supprimée.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::charcoalimage
Gmagick::clear
Gmagick


Efface toutes les ressources associées à l'objet Gmagick

Gmagick::chopimage
Gmagick::commentimage
Gmagick
PHP Manual

Gmagick::clear

(PECL gmagick >= Unknown)

Gmagick::clear — Efface toutes les ressources associées à l'objet Gmagick

Description

public void Gmagick::clear ( void )

Efface toutes les ressources associées à l'objet Gmagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'objet Gmagick nettoyé

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::chopimage
Gmagick::commentimage
Gmagick


Ajoute un commentaire à l'image

Gmagick::clear
Gmagick::compositeimage
Gmagick
PHP Manual

Gmagick::commentimage

(PECL gmagick >= Unknown)

Gmagick::commentimage — Ajoute un commentaire à l'image

Description

public void Gmagick::commentimage ( string $comment )

Ajoute un commentaire à l'image.

Liste de paramètres

comment

Le commentaire à ajouter

Valeurs de retour

L'objet Gmagick contenant le commentaire.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::clear
Gmagick::compositeimage
Gmagick


Assemble 2 images

Gmagick::commentimage
Gmagick::__construct
Gmagick
PHP Manual

Gmagick::compositeimage

(PECL gmagick >= Unknown)

Gmagick::compositeimage — Assemble 2 images

Description

public void Gmagick::compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y )

Assemble 2 images à une position spécifique.

Liste de paramètres

source

L'objet Gmagick qui contient l'image à assembler

compose

L'opérateur d'assemblage.

x

La position de la colonne de l'image assemblée

y

La position de la ligne de l'image assemblée

Valeurs de retour

L'objet Gmagick contenant l'assemblage.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::commentimage
Gmagick::__construct
Gmagick


Le constructeur Gmagick

Gmagick::compositeimage
Gmagick::cropimage
Gmagick
PHP Manual

Gmagick::__construct

(PECL gmagick >= Unknown)

Gmagick::__construct — Le constructeur Gmagick

Description

Gmagick::__construct ([ string $filename ] )

Le constructeur Gmagick.

Liste de paramètres

filename

Le chemin vers une image à charger ou un tableau de chemins

Valeurs de retour

Retourne un nouvel objet Gmagick en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::compositeimage
Gmagick::cropimage
Gmagick


Extrait une portion d'une image

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick
PHP Manual

Gmagick::cropimage

(PECL gmagick >= Unknown)

Gmagick::cropimage — Extrait une portion d'une image

Description

public void Gmagick::cropimage ( int $width , int $height , int $x , int $y )

Extrait une portion de l'image.

Liste de paramètres

width

La longueur de la portion

height

La hauteur de la région

x

La coordonnée en X de la portion à extraire, en commençant par le coin en haut, à gauche

y

La coordonnée en Y de la portion à extraire, en commençant par le coin en haut, à gauche

Valeurs de retour

L'objet Gmagick représentant la portion extraite

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::__construct
Gmagick::cropthumbnailimage
Gmagick


Crée une miniature recadrée

Gmagick::cropimage
Gmagick::current
Gmagick
PHP Manual

Gmagick::cropthumbnailimage

(PECL gmagick >= Unknown)

Gmagick::cropthumbnailimage — Crée une miniature recadrée

Description

public void Gmagick::cropthumbnailimage ( int $width , int $height )

Crée une miniature de taille fixe en commençant par une mise à l'échelle de l'image, puis, en recadrant la région spécifique depuis le centre.

Liste de paramètres

width

La longueur de la miniature

height

La hauteur de la miniature

Valeurs de retour

L'objet Gmagick recadré

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::cropimage
Gmagick::current
Gmagick


Le contexte courante

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick
PHP Manual

Gmagick::current

(PECL gmagick >= Unknown)

Gmagick::current — Le contexte courante

Description

public void Gmagick::current ( void )

Retourne une référence vers l'objet Gmagick courant avec le pointeur de l'image à la bonne séquence.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le contexte en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::cropthumbnailimage
Gmagick::cyclecolormapimage
Gmagick


Déplace la carte des couleurs d'une image

Gmagick::current
Gmagick::deconstructimages
Gmagick
PHP Manual

Gmagick::cyclecolormapimage

(PECL gmagick >= Unknown)

Gmagick::cyclecolormapimage — Déplace la carte des couleurs d'une image

Description

public void Gmagick::cyclecolormapimage ( float $displace )

Déplace la carte des couleurs d'une image d'un nombre de positions donné. Si vous déplacez plusieurs fois la carte des couleurs, vous pouvez produire un effet psychédélique.

Liste de paramètres

displace

Le nombre de positions dont on doit déplacer la carte des couleurs.

Valeurs de retour

Retourne le contexte en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::current
Gmagick::deconstructimages
Gmagick


Retourne les pixels différents entre des images

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick
PHP Manual

Gmagick::deconstructimages

(PECL gmagick >= Unknown)

Gmagick::deconstructimages — Retourne les pixels différents entre des images

Description

public void Gmagick::deconstructimages ( void )

Compares chaque image avec la suivante de la séquence et retourne les pixels différents découverts.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'objet en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::cyclecolormapimage
Gmagick::despeckleimage
Gmagick


Le but de despeckleimage

Gmagick::deconstructimages
Gmagick::destroy
Gmagick
PHP Manual

Gmagick::despeckleimage

(PECL gmagick >= Unknown)

Gmagick::despeckleimage — Le but de despeckleimage

Description

public void Gmagick::despeckleimage ( void )

Réduit le bruit speckle d'une image tout en préservant les bords de l'image original.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'objet Gmagick sans bruit en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Exemples

Exemple #1 Exemple avec Gmagick::despeckleimage

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

Gmagick::deconstructimages
Gmagick::destroy
Gmagick


Le but de la méthode destroy

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick
PHP Manual

Gmagick::destroy

(PECL gmagick >= Unknown)

Gmagick::destroy — Le but de la méthode destroy

Description

public void Gmagick::destroy ( void )

Détruit l'objet Gmagick et libère toutes les ressources associées.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::despeckleimage
Gmagick::drawimage
Gmagick


Envoi l'objet GmagickDraw dans l'image courante

Gmagick::destroy
Gmagick::edgeimage
Gmagick
PHP Manual

Gmagick::drawimage

(PECL gmagick >= Unknown)

Gmagick::drawimage — Envoi l'objet GmagickDraw dans l'image courante

Description

public void Gmagick::drawimage ( GmagickDraw $GmagickDraw )

Envoi l'objet GmagickDraw dans l'image courante.

Liste de paramètres

GmagickDraw

L'objet GmagickDraw à envoyer dans l'image courante.

Valeurs de retour

L'objet Gmagick contenant les modifications réalisées dans l'objet GmagickDraw.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::destroy
Gmagick::edgeimage
Gmagick


Améliore les bords intérieurs de l'image

Gmagick::drawimage
Gmagick::embossimage
Gmagick
PHP Manual

Gmagick::edgeimage

(PECL gmagick >= Unknown)

Gmagick::edgeimage — Améliore les bords intérieurs de l'image

Description

public void Gmagick::edgeimage ( float $radius )

Améliore les bords intérieurs de l'image avec un filter de convolution utilisant le rayon fourni. Utilisez un rayon de 0 et la méthode le choisira pour vous.

Liste de paramètres

radius

Le rayon utilisé pour l'opération.

Valeurs de retour

L'objet Gmagick dont les bords intérieurs ont été améliorés.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::drawimage
Gmagick::embossimage
Gmagick


Retourne une image en niveau de gris avec un effet à 3 dimensions

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick
PHP Manual

Gmagick::embossimage

(PECL gmagick >= Unknown)

Gmagick::embossimage — Retourne une image en niveau de gris avec un effet à 3 dimensions

Description

public void Gmagick::embossimage ( float $radius , float $sigma )

Retourne une image en niveau de gris avec un effet à 3 dimensions. L'image est transformée avec un opérateur Gaussien utilisant le rayon donné, et une déviation standard (sigma). Pour obtenir un résultat convenable, le rayon doit être supérieur au sigma. Si vous spécifiez un rayon de 0, la méthode choisira le meilleur rayon à votre place.

Liste de paramètres

radius

Le rayon de l'effect

sigma

Le sigma de l'effet

Valeurs de retour

L'objet Gmagick en relief.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::edgeimage
Gmagick::enhanceimage
Gmagick


Améliore la qualité d'une image contenant du bruit

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick
PHP Manual

Gmagick::enhanceimage

(PECL gmagick >= Unknown)

Gmagick::enhanceimage — Améliore la qualité d'une image contenant du bruit

Description

public void Gmagick::enhanceimage ( void )

Applique un filtre digital qui améliore la qualité d'une image contenant du bruit.

Valeurs de retour

L'objet Gmagick amélioré.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::embossimage
Gmagick::equalizeimage
Gmagick


Égalise l'histogramme de l'image

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick
PHP Manual

Gmagick::equalizeimage

(PECL gmagick >= Unknown)

Gmagick::equalizeimage — Égalise l'histogramme de l'image

Description

public void Gmagick::equalizeimage ( void )

Égalise l'histogramme de l'image.

Valeurs de retour

L'objet Gmagick égalisé.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::enhanceimage
Gmagick::flipimage
Gmagick


Crée une image miroir verticale

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick
PHP Manual

Gmagick::flipimage

(PECL gmagick >= Unknown)

Gmagick::flipimage — Crée une image miroir verticale

Description

public void Gmagick::flipimage ( void )

Crée une image miroir verticale en reflétant les pixels autour du centre de l'axe X.

Valeurs de retour

L'objet Gmagick reflété.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::equalizeimage
Gmagick::flopimage
Gmagick


Le but de la méthode flopimage

Gmagick::flipimage
Gmagick::frameimage
Gmagick
PHP Manual

Gmagick::flopimage

(PECL gmagick >= Unknown)

Gmagick::flopimage — Le but de la méthode flopimage

Description

public void Gmagick::flopimage ( void )

Crée une image miroir horizontale en reflétant les pixels autour du centre de l'axe Y.

Valeurs de retour

L'objet Gmagick reflété.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::flipimage
Gmagick::frameimage
Gmagick


Ajoute une bordure afin de simuler un effet 3D

Gmagick::flopimage
Gmagick::gammaimage
Gmagick
PHP Manual

Gmagick::frameimage

(PECL gmagick >= Unknown)

Gmagick::frameimage — Ajoute une bordure afin de simuler un effet 3D

Description

public void Gmagick::frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel )

Ajoute une bordure simulant un effet 3D à l'image. La largeur et la hauteur spécifiés la largeur de la bordure verticale et horizontale de la frame. Les paramètres inner_bevel et outer_bevel indiquent la largeur interne et externe de l'ombre de la frame.

Liste de paramètres

color

Un objet GmagickPixel ou un nombre à virgule flottante représentant la couleur mate.

width

La largeur de la bordure

height

La hauteur de la bordure

inner_bevel

La largeur du bevel interne

outer_bevel

La largeur du bevel externe

Valeurs de retour

L'objet Gmagick dont la bordure 3D a été ajoutée.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::flopimage
Gmagick::gammaimage
Gmagick


Corrige le gamma d'une image

Gmagick::frameimage
Gmagick::getcopyright
Gmagick
PHP Manual

Gmagick::gammaimage

(PECL gmagick >= Unknown)

Gmagick::gammaimage — Corrige le gamma d'une image

Description

public void Gmagick::gammaimage ( float $gamma )

Corrige le gamma d'une image. La même image vue sur différents médias aura plusieurs différences suivant l'intensité représentée sur l'écran. Vous pouvez ainsi jouer sur le niveau de gamma pour les canaux rouges, verts et bleus, ou ajuster les 3 avec le paramètres gamma. Les valeurs sont typiquement dans l'intervalle 0.8 à 2.3.

Liste de paramètres

gamma

La quantité de correction gamma.

Valeurs de retour

L'objet Gmagick dont le gamma a été corrigé.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::frameimage
Gmagick::getcopyright
Gmagick


Retourne le copyright de l'API GraphicsMagick

Gmagick::gammaimage
Gmagick::getfilename
Gmagick
PHP Manual

Gmagick::getcopyright

(PECL gmagick >= Unknown)

Gmagick::getcopyright — Retourne le copyright de l'API GraphicsMagick

Description

public void Gmagick::getcopyright ( void )

Retourne le copyright de l'API GraphicsMagick.

Valeurs de retour

Retourne une chaîne de caractères contenant le copyright de l'API GraphicsMagick ainsi que celui de l'API Magickwand.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::gammaimage
Gmagick::getfilename
Gmagick


Retourne le nom du fichier associé avec une séquence d'image

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::getfilename

(PECL gmagick >= Unknown)

Gmagick::getfilename — Retourne le nom du fichier associé avec une séquence d'image

Description

public void Gmagick::getfilename ( void )

Retourne le nom du fichier associé avec une séquence d'image.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getcopyright
Gmagick::getimagebackgroundcolor
Gmagick


Retourne la couleur d'arrière plan de l'image

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick
PHP Manual

Gmagick::getimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::getimagebackgroundcolor — Retourne la couleur d'arrière plan de l'image

Description

public void Gmagick::getimagebackgroundcolor ( void )

Retourne la couleur d'arrière plan de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet GmagickPixel défini à la couleur d'arrière plan de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getfilename
Gmagick::getimageblueprimary
Gmagick


Retourne le point bleu primaire chromatique

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick
PHP Manual

Gmagick::getimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::getimageblueprimary — Retourne le point bleu primaire chromatique

Description

public void Gmagick::getimageblueprimary ( void )

Retourne le point bleu primaire chromatique de l'image.

Liste de paramètres

x

Coordonnée en X du point bleu primaire chromatique.

y

Coordonnée en Y du point bleu primaire chromatique.

Valeurs de retour

Un tableau contenant les coordonnées en X et en Y du point.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagebackgroundcolor
Gmagick::getimagebordercolor
Gmagick


Retourne la couleur du bord de l'image

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick
PHP Manual

Gmagick::getimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::getimagebordercolor — Retourne la couleur du bord de l'image

Description

public void Gmagick::getimagebordercolor ( void )

Retourne la couleur du bord de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'objet GmagickPixel représentant la couleur du bord de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageblueprimary
Gmagick::getimagechanneldepth
Gmagick


Récupère la profondeur d'un canal particulier de l'image

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick
PHP Manual

Gmagick::getimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::getimagechanneldepth — Récupère la profondeur d'un canal particulier de l'image

Description

public void Gmagick::getimagechanneldepth ( void )

Récupère la profondeur d'un canal particulier de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La profondeur du canal de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagebordercolor
Gmagick::getimagecolors
Gmagick


Retourne la couleur de l'indice de la carte des couleurs spécifiée

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick
PHP Manual

Gmagick::getimagecolors

(PECL gmagick >= Unknown)

Gmagick::getimagecolors — Retourne la couleur de l'indice de la carte des couleurs spécifiée

Description

public void Gmagick::getimagecolors ( void )

Retourne la couleur de l'indice de la carte des couleurs spécifiée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre de couleurs dans l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagechanneldepth
Gmagick::getimagecolorspace
Gmagick


Récupère l'espace colorimétrique de l'image

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick
PHP Manual

Gmagick::getimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::getimagecolorspace — Récupère l'espace colorimétrique de l'image

Description

public void Gmagick::getimagecolorspace ( void )

Récupère l'espace colorimétrique de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'espace colorimétrique.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagecolors
Gmagick::getimagecompose
Gmagick


Retourne l'opérateur de composition associé avec l'image

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick
PHP Manual

Gmagick::getimagecompose

(PECL gmagick >= Unknown)

Gmagick::getimagecompose — Retourne l'opérateur de composition associé avec l'image

Description

public void Gmagick::getimagecompose ( void )

Retourne l'opérateur de composition associé avec l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'opérateur de composition associé avec l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagecolorspace
Gmagick::getimagedelay
Gmagick


Récupère le délai de l'image

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick
PHP Manual

Gmagick::getimagedelay

(PECL gmagick >= Unknown)

Gmagick::getimagedelay — Récupère le délai de l'image

Description

public void Gmagick::getimagedelay ( void )

Récupère le délai de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'opérateur de composition associé avec l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagecompose
Gmagick::getimagedepth
Gmagick


Récupère la profondeur de l'image

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick
PHP Manual

Gmagick::getimagedepth

(PECL gmagick >= Unknown)

Gmagick::getimagedepth — Récupère la profondeur de l'image

Description

public void Gmagick::getimagedepth ( void )

Récupère la profondeur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La profondeur de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagedelay
Gmagick::getimagedispose
Gmagick


Récupère la méthode de disposition de l'image

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick
PHP Manual

Gmagick::getimagedispose

(PECL gmagick >= Unknown)

Gmagick::getimagedispose — Récupère la méthode de disposition de l'image

Description

public void Gmagick::getimagedispose ( void )

Récupère la méthode de disposition de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la méthode de disposition de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagedepth
Gmagick::getimageextrema
Gmagick


Récupère les extrémités de l'image

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick
PHP Manual

Gmagick::getimageextrema

(PECL gmagick >= Unknown)

Gmagick::getimageextrema — Récupère les extrémités de l'image

Description

public void Gmagick::getimageextrema ( void )

Retourne un tableau associatif contenant les clés "min" et "max". Émet une exception GmagickException en cas d'erreur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau associatif contenant les clés "min" et "max".

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagedispose
Gmagick::getimagefilename
Gmagick


Récupère le nom du fichier d'une image particulière dans une séquence

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick
PHP Manual

Gmagick::getimagefilename

(PECL gmagick >= Unknown)

Gmagick::getimagefilename — Récupère le nom du fichier d'une image particulière dans une séquence

Description

public void Gmagick::getimagefilename ( void )

Récupère le nom du fichier d'une image particulière dans une séquence.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères représentant le nom du fichier image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageextrema
Gmagick::getimageformat
Gmagick


Récupère le format d'une image particulière dans une séquence

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick
PHP Manual

Gmagick::getimageformat

(PECL gmagick >= Unknown)

Gmagick::getimageformat — Récupère le format d'une image particulière dans une séquence

Description

public void Gmagick::getimageformat ( void )

Récupère le format d'une image particulière dans une séquence.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères contenant le format de l'image en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagefilename
Gmagick::getimagegamma
Gmagick


Récupère le gamma de l'image

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick
PHP Manual

Gmagick::getimagegamma

(PECL gmagick >= Unknown)

Gmagick::getimagegamma — Récupère le gamma de l'image

Description

public void Gmagick::getimagegamma ( void )

Récupère le gamma de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le gamma de l'image en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageformat
Gmagick::getimagegreenprimary
Gmagick


Récupère le point chromatique primaire vert

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick
PHP Manual

Gmagick::getimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::getimagegreenprimary — Récupère le point chromatique primaire vert

Description

public void Gmagick::getimagegreenprimary ( void )

Récupère le point chromatique primaire vert.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant les clés "x" and "y" en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagegamma
Gmagick::getimageheight
Gmagick


Récupère la hauteur de l'image

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick
PHP Manual

Gmagick::getimageheight

(PECL gmagick >= Unknown)

Gmagick::getimageheight — Récupère la hauteur de l'image

Description

public void Gmagick::getimageheight ( void )

Récupère la hauteur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la hauteur de l'image, en pixels.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagegreenprimary
Gmagick::getimagehistogram
Gmagick


Récupère l'histogramme de l'image

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick
PHP Manual

Gmagick::getimagehistogram

(PECL gmagick >= Unknown)

Gmagick::getimagehistogram — Récupère l'histogramme de l'image

Description

public void Gmagick::getimagehistogram ( void )

Récupère l'histogramme de l'image. Lance une exception GmagickException en cas d'erreur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'histogramme de l'image sous la forme d'un tableau d'objets GmagickPixel.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageheight
Gmagick::getimageindex
Gmagick


Récupère l'indice de l'image active courante

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick
PHP Manual

Gmagick::getimageindex

(PECL gmagick >= Unknown)

Gmagick::getimageindex — Récupère l'indice de l'image active courante

Description

public void Gmagick::getimageindex ( void )

Récupère l'indice de l'image active courante dans l'objet Gmagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'indice de l'image courante active.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagehistogram
Gmagick::getimageinterlacescheme
Gmagick


Récupère le schéma d'entrelacement de l'image

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick
PHP Manual

Gmagick::getimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::getimageinterlacescheme — Récupère le schéma d'entrelacement de l'image

Description

public void Gmagick::getimageinterlacescheme ( void )

Récupère le schéma d'entrelacement de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le schéma d'entrelacement de l'image, sous la forme d'un entier en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageindex
Gmagick::getimageiterations
Gmagick


Récupère les itérations de l'image

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick
PHP Manual

Gmagick::getimageiterations

(PECL gmagick >= Unknown)

Gmagick::getimageiterations — Récupère les itérations de l'image

Description

public void Gmagick::getimageiterations ( void )

Récupère les itérations de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les itérations de l'image, sous la forme d'un entier.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageinterlacescheme
Gmagick::getimagematte
Gmagick


Vérifie si l'image a un canal mate

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick
PHP Manual

Gmagick::getimagematte

(PECL gmagick >= Unknown)

Gmagick::getimagematte — Vérifie si l'image a un canal mate

Description

public void Gmagick::getimagematte ( void )

Retourne TRUE si l'image a un canal mate, FALSE sinon.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'image a un canal mate, FALSE sinon.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageiterations
Gmagick::getimagemattecolor
Gmagick


Récupère la couleur mate de l'image

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick
PHP Manual

Gmagick::getimagemattecolor

(PECL gmagick >= Unknown)

Gmagick::getimagemattecolor — Récupère la couleur mate de l'image

Description

public void Gmagick::getimagemattecolor ( void )

Retourne un objet GmagickPixel en cas de succès. Lance une exception GmagickException en cas d'erreur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet GmagickPixel.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagematte
Gmagick::getimageprofile
Gmagick


Récupère le nom du profile de l'image

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick
PHP Manual

Gmagick::getimageprofile

(PECL gmagick >= Unknown)

Gmagick::getimageprofile — Récupère le nom du profile de l'image

Description

public void Gmagick::getimageprofile ( void )

Récupère le nom du profile de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères représentant le profile de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagemattecolor
Gmagick::getimageredprimary
Gmagick


Récupère le point chromatique primaire rouge

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick
PHP Manual

Gmagick::getimageredprimary

(PECL gmagick >= Unknown)

Gmagick::getimageredprimary — Récupère le point chromatique primaire rouge

Description

public void Gmagick::getimageredprimary ( void )

Récupère le point chromatique primaire rouge, sous la forme d'un tableau contenant les clés "x" et "y".

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le point chromatique primaire rouge, sous la forme d'un tableau contenant les clés "x" et "y".

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageprofile
Gmagick::getimagerenderingintent
Gmagick


Récupère l'image de rendu

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick
PHP Manual

Gmagick::getimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::getimagerenderingintent — Récupère l'image de rendu

Description

public void Gmagick::getimagerenderingintent ( void )

Récupère l'image de rendu.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Extrait une région de l'image et la retourne en tant que nouvelle.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageredprimary
Gmagick::getimageresolution
Gmagick


Récupère la résolution de l'image

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick
PHP Manual

Gmagick::getimageresolution

(PECL gmagick >= Unknown)

Gmagick::getimageresolution — Récupère la résolution de l'image

Description

public void Gmagick::getimageresolution ( void )

Récupère la résolution de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la résolution sous la forme d'un tableau.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagerenderingintent
Gmagick::getimagescene
Gmagick


Récupère la scène de l'image

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick
PHP Manual

Gmagick::getimagescene

(PECL gmagick >= Unknown)

Gmagick::getimagescene — Récupère la scène de l'image

Description

public void Gmagick::getimagescene ( void )

Récupère la scène de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la scène de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageresolution
Gmagick::getimagesignature
Gmagick


Génère la signature SHA-256 de l'image

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick
PHP Manual

Gmagick::getimagesignature

(PECL gmagick >= Unknown)

Gmagick::getimagesignature — Génère la signature SHA-256 de l'image

Description

public void Gmagick::getimagesignature ( void )

Génère la signature SHA-256 de l'image depuis le flux de pixels.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères contenant la signature SHA-256 hash.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagescene
Gmagick::getimagetype
Gmagick


Récupère le type potentiel d'une image

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick
PHP Manual

Gmagick::getimagetype

(PECL gmagick >= Unknown)

Gmagick::getimagetype — Récupère le type potentiel d'une image

Description

public void Gmagick::getimagetype ( void )

Récupère le type potentiel d'une image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le type potentiel d'une image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagesignature
Gmagick::getimageunits
Gmagick


Récupère les unités utilisées pour la résolution de l'image

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick
PHP Manual

Gmagick::getimageunits

(PECL gmagick >= Unknown)

Gmagick::getimageunits — Récupère les unités utilisées pour la résolution de l'image

Description

public void Gmagick::getimageunits ( void )

Récupère les unités utilisées pour la résolution de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les unités utilisées pour la résolution de l'image.

Gmagick::getimagetype
Gmagick::getimagewhitepoint
Gmagick


Récupère le point chromatique blanc

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick
PHP Manual

Gmagick::getimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::getimagewhitepoint — Récupère le point chromatique blanc

Description

public void Gmagick::getimagewhitepoint ( void )

Récupère le point chromatique blanc.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le point chromatique blanc, sous la forme d'un tableau associatif contenant les clés "x" et "y".

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimageunits
Gmagick::getimagewidth
Gmagick


Récupère la largeur de l'image

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick
PHP Manual

Gmagick::getimagewidth

(PECL gmagick >= Unknown)

Gmagick::getimagewidth — Récupère la largeur de l'image

Description

public void Gmagick::getimagewidth ( void )

Récupère la largeur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la largeur de l'image.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagewhitepoint
Gmagick::getpackagename
Gmagick


Récupère le nom du paquet GraphicsMagick

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick
PHP Manual

Gmagick::getpackagename

(PECL gmagick >= Unknown)

Gmagick::getpackagename — Récupère le nom du paquet GraphicsMagick

Description

public void Gmagick::getpackagename ( void )

Récupère le nom du paquet GraphicsMagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom du paquet GraphicsMagick, sous la forme d'une chaîne de caractères.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getimagewidth
Gmagick::getquantumdepth
Gmagick


Récupère la profondeur du quantum Gmagick

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick
PHP Manual

Gmagick::getquantumdepth

(PECL gmagick >= Unknown)

Gmagick::getquantumdepth — Récupère la profondeur du quantum Gmagick

Description

public void Gmagick::getquantumdepth ( void )

Récupère la profondeur du quantum Gmagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la profondeur du quantum Gmagick, sous la forme d'un chaîne de caractères.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getpackagename
Gmagick::getreleasedate
Gmagick


Récupère la date de sortie de la version courante de GraphicsMagick

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick
PHP Manual

Gmagick::getreleasedate

(PECL gmagick >= Unknown)

Gmagick::getreleasedate — Récupère la date de sortie de la version courante de GraphicsMagick

Description

public void Gmagick::getreleasedate ( void )

Récupère la date de sortie de la version courante de GraphicsMagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la date de sortie de la version courante de GraphicsMagick sous la forme d'une chaîne de caractères.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getquantumdepth
Gmagick::getsamplingfactors
Gmagick


Récupère le facteur d'échantillonnage horizontal et vertical

Gmagick::getreleasedate
Gmagick::getsize
Gmagick
PHP Manual

Gmagick::getsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::getsamplingfactors — Récupère le facteur d'échantillonnage horizontal et vertical

Description

public void Gmagick::getsamplingfactors ( void )

Récupère le facteur d'échantillonnage horizontal et vertical.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau associatif contenant le facteur d'échantillonnage vertical et horizontal.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getreleasedate
Gmagick::getsize
Gmagick


Récupère la taille associée avec l'objet Gmagick

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick
PHP Manual

Gmagick::getsize

(PECL gmagick >= Unknown)

Gmagick::getsize — Récupère la taille associée avec l'objet Gmagick

Description

public void Gmagick::getsize ( void )

Récupère la taille associée avec l'objet Gmagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille associée avec l'objet Gmagick sous la forme d'un tableau contenant les clés "columns" et "rows".

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getsamplingfactors
Gmagick::getversion
Gmagick


Récupère la version de l'API GraphicsMagick

Gmagick::getsize
Gmagick::hasnextimage
Gmagick
PHP Manual

Gmagick::getversion

(PECL gmagick >= Unknown)

Gmagick::getversion — Récupère la version de l'API GraphicsMagick

Description

public void Gmagick::getversion ( void )

Récupère la version de l'API GraphicsMagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la version de l'API GraphicsMagick, sous la forme d'une chaîne de caractères et d'un nombre.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getsize
Gmagick::hasnextimage
Gmagick


Vérifie si l'objet contient au moins une autre image

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick
PHP Manual

Gmagick::hasnextimage

(PECL gmagick >= Unknown)

Gmagick::hasnextimage — Vérifie si l'objet contient au moins une autre image

Description

public void Gmagick::hasnextimage ( void )

Vérifie si l'objet contient au moins une image suivante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'objet a au moins une image suivante, FALSE sinon.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::getversion
Gmagick::haspreviousimage
Gmagick


Vérifie si l'objet contient une image précédente

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick
PHP Manual

Gmagick::haspreviousimage

(PECL gmagick >= Unknown)

Gmagick::haspreviousimage — Vérifie si l'objet contient une image précédente

Description

public void Gmagick::haspreviousimage ( void )

Vérifie si l'objet contient une image précédente.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'objet a au moins une image précédente, FALSE sinon.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::hasnextimage
Gmagick::implodeimage
Gmagick


Crée une image à partir d'une copie

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick
PHP Manual

Gmagick::implodeimage

(PECL gmagick >= Unknown)

Gmagick::implodeimage — Crée une image à partir d'une copie

Description

public void Gmagick::implodeimage ( float $radius )

Crée une nouvelle image à partir d'une copie d'une image existante dont les pixels ont été modifiés suivant le pourcentage fourni.

Liste de paramètres

radius

La rayon d'implosion des pixels

Valeurs de retour

Retourne un objet Gmagick dont les pixels ont été modifiés.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::haspreviousimage
Gmagick::labelimage
Gmagick


Ajoute un libellé à une image

Gmagick::implodeimage
Gmagick::levelimage
Gmagick
PHP Manual

Gmagick::labelimage

(PECL gmagick >= Unknown)

Gmagick::labelimage — Ajoute un libellé à une image

Description

public void Gmagick::labelimage ( string $label )

Ajoute un libellé à une image.

Liste de paramètres

label

Le libellé à ajouter

Valeurs de retour

Gmagick avec un libellé.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::implodeimage
Gmagick::levelimage
Gmagick


Ajuste les niveaux d'une image

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick
PHP Manual

Gmagick::levelimage

(PECL gmagick >= Unknown)

Gmagick::levelimage — Ajuste les niveaux d'une image

Description

public void Gmagick::levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel ] )

Ajuste les niveaux d'une image en balançant les couleurs situées entre les points blancs et noirs spécifiés, vers un intervalle quantum disponible. Les paramètres fournis fournissent les points blancs, milieux et noirs. Le point noir spécifie la couleur la plus sombre de l'image. Les couleurs plus sombres que le point noir seront définies à zéro. Le point milieux spécifie une correction gamma à appliquer à l'image. Le point blanc spécifie la couleur la plus claire de l'image. Les couleurs plus claires que le point blanc seront définies à la valeur maximale du quantum.

Liste de paramètres

blackPoint

Le point noir de l'image

gamma

La valeur gamma

whitePoint

Le point blanc de l'image

channel

Une constante de canaux valide pour le mode de canal utilisé. Pour l'appliquer à plus d'un canal, combinez les constantes de type de canaux en utilisant un opérateur de jonction. Reportez-vous à la liste des constantes de canaux.

Valeurs de retour

L'objet Gmagick dont les niveaux ont été modifiés.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::labelimage
Gmagick::magnifyimage
Gmagick


Retaille par 2 une image en conservant les proportions

Gmagick::levelimage
Gmagick::mapimage
Gmagick
PHP Manual

Gmagick::magnifyimage

(PECL gmagick >= Unknown)

Gmagick::magnifyimage — Retaille par 2 une image en conservant les proportions

Description

public void Gmagick::magnifyimage ( void )

Retaille par 2 une image en conservant les proportions.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'objet Gmagick modifié.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::levelimage
Gmagick::mapimage
Gmagick


Remplace les couleurs d'une image avec les couleurs les plus proches d'une image de référence

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick
PHP Manual

Gmagick::mapimage

(PECL gmagick >= Unknown)

Gmagick::mapimage — Remplace les couleurs d'une image avec les couleurs les plus proches d'une image de référence

Description

public void Gmagick::mapimage ( gmagick $gmagick , int $dither )

Remplace les couleurs d'une image avec les couleurs les plus proches d'une image de référence.

Liste de paramètres

gmagick

L'image de référence

dither

Entier plus grand que 0 pour faire tergiverser l'image mappée

Valeurs de retour

L'objet Gmagick.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::magnifyimage
Gmagick::medianfilterimage
Gmagick


Applique un filtre digital

Gmagick::mapimage
Gmagick::minifyimage
Gmagick
PHP Manual

Gmagick::medianfilterimage

(PECL gmagick >= Unknown)

Gmagick::medianfilterimage — Applique un filtre digital

Description

public void Gmagick::medianfilterimage ( float $radius )

Applique un filtre digital qui améliore la qualité du bruit d'une image. Chaque pixel est remplacé par le médian dans un jeu de pixels voisins tel que défini par le rayon.

Liste de paramètres

radius

Le rayon des pixels voisins.

Valeurs de retour

L'objet Gmagick dont le filtre a été appliqué.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::mapimage
Gmagick::minifyimage
Gmagick


Réduit une image de moitié en gardant les proportions

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick
PHP Manual

Gmagick::minifyimage

(PECL gmagick >= Unknown)

Gmagick::minifyimage — Réduit une image de moitié en gardant les proportions

Description

public void Gmagick::minifyimage ( void )

Réduit une image de moitié en gardant les proportions.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'objet Gmagick en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::medianfilterimage
Gmagick::modulateimage
Gmagick


Contrôle la luminosité, la saturation et la teinte

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick
PHP Manual

Gmagick::modulateimage

(PECL gmagick >= Unknown)

Gmagick::modulateimage — Contrôle la luminosité, la saturation et la teinte

Description

public void Gmagick::modulateimage ( float $brightness , float $saturation , float $hue )

Permet de contrôler la luminosité, la saturation et la teinte d'une image. La teinte est un pourcentage d'une rotation absolue depuis la position courante. Par exemple, 50 correspond à une rotation de 90 degrés dans le sens inverse des aiguilles d'une montre, 150, une rotation de 90 degrés dans le sens des aiguilles d'une montre, ou encore, 0 ou 200 correspond à une rotation de 180 degrés.

Liste de paramètres

brightness

Le nombre de pourcentage à modifier pour la luminosité (-100 à +100).

saturation

Le nombre de pourcentage à modifier pour la saturation (-100 à +100).

hue

Le nombre de pourcentage à modifier pour la teinte (-100 à +100).

Valeurs de retour

L'objet Gmagick en cas de succès.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::minifyimage
Gmagick::motionblurimage
Gmagick


Simulates motion blur

Gmagick::modulateimage
Gmagick::newimage
Gmagick
PHP Manual

Gmagick::motionblurimage

(PECL gmagick >= Unknown)

Gmagick::motionblurimage — Simulates motion blur

Description

public void Gmagick::motionblurimage ( float $radius , float $sigma , float $angle )

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Liste de paramètres

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::modulateimage
Gmagick::newimage
Gmagick


Creates a new image

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick
PHP Manual

Gmagick::newimage

(PECL gmagick >= Unknown)

Gmagick::newimage — Creates a new image

Description

public void Gmagick::newimage ( int $width , int $height , mixed $background , string $format )

Creates a new image with the specified background color

Liste de paramètres

width

Width of the new image

height

Height of the new image

background

The background color used for this image (as float)

format

Image format.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::motionblurimage
Gmagick::nextimage
Gmagick


Moves to the next image

Gmagick::newimage
Gmagick::normalizeimage
Gmagick
PHP Manual

Gmagick::nextimage

(PECL gmagick >= Unknown)

Gmagick::nextimage — Moves to the next image

Description

public void Gmagick::nextimage ( void )

Associates the next image in the image list with an Gmagick object.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::newimage
Gmagick::normalizeimage
Gmagick


Enhances the contrast of a color image

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick
PHP Manual

Gmagick::normalizeimage

(PECL gmagick >= Unknown)

Gmagick::normalizeimage — Enhances the contrast of a color image

Description

public void Gmagick::normalizeimage ([ int $channel ] )

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Liste de paramètres

channel

Identify which channel to normalize

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::nextimage
Gmagick::oilpaintimage
Gmagick


Simulates an oil painting

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick
PHP Manual

Gmagick::oilpaintimage

(PECL gmagick >= Unknown)

Gmagick::oilpaintimage — Simulates an oil painting

Description

public void Gmagick::oilpaintimage ( float $radius )

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Liste de paramètres

radius

The radius of the circular neighborhood.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::normalizeimage
Gmagick::previousimage
Gmagick


Move to the previous image in the object

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick
PHP Manual

Gmagick::previousimage

(PECL gmagick >= Unknown)

Gmagick::previousimage — Move to the previous image in the object

Description

public void Gmagick::previousimage ( void )

Assocates the previous image in an image list with the Gmagick object.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::oilpaintimage
Gmagick::profileimage
Gmagick


Adds or removes a profile from an image

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick
PHP Manual

Gmagick::profileimage

(PECL gmagick >= Unknown)

Gmagick::profileimage — Adds or removes a profile from an image

Description

public void Gmagick::profileimage ( string $name , string $profile )

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

Liste de paramètres

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::previousimage
Gmagick::quantizeimage
Gmagick


Analyzes the colors within a reference image

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick
PHP Manual

Gmagick::quantizeimage

(PECL gmagick >= Unknown)

Gmagick::quantizeimage — Analyzes the colors within a reference image

Description

public void Gmagick::quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analyzes the colors within a reference image and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Liste de paramètres

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::profileimage
Gmagick::quantizeimages
Gmagick


The quantizeimages purpose

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick
PHP Manual

Gmagick::quantizeimages

(PECL gmagick >= Unknown)

Gmagick::quantizeimages — The quantizeimages purpose

Description

public void Gmagick::quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )

Analyzes the colors within a sequence of images and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Liste de paramètres

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::quantizeimage
Gmagick::queryfontmetrics
Gmagick


Returns an array representing the font metrics

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick
PHP Manual

Gmagick::queryfontmetrics

(PECL gmagick >= Unknown)

Gmagick::queryfontmetrics — Returns an array representing the font metrics

Description

public void Gmagick::queryfontmetrics ( void )

MagickQueryFontMetrics() returns an array representing the font metrics.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::quantizeimages
Gmagick::queryfonts
Gmagick


Returns the configured fonts

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick
PHP Manual

Gmagick::queryfonts

(PECL gmagick >= Unknown)

Gmagick::queryfonts — Returns the configured fonts

Description

public void Gmagick::queryfonts ( void )

Returns fonts supported by Gmagick.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::queryfontmetrics
Gmagick::queryformats
Gmagick


Returns formats supported by Gmagick.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick
PHP Manual

Gmagick::queryformats

(PECL gmagick >= Unknown)

Gmagick::queryformats — Returns formats supported by Gmagick.

Description

public void Gmagick::queryformats ( string $pattern )

Returns formats supported by Gmagick.

Liste de paramètres

pattern

Specifies a pointer to a text string containing a pattern.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::queryfonts
Gmagick::radialblurimage
Gmagick


Radial blurs an image

Gmagick::queryformats
Gmagick::raiseimage
Gmagick
PHP Manual

Gmagick::radialblurimage

(PECL gmagick >= Unknown)

Gmagick::radialblurimage — Radial blurs an image

Description

public void Gmagick::radialblurimage ( float $angle [, int $channel ] )

Radial blurs an image.

Liste de paramètres

angle

The angle of the blur in degrees.

channel

Related channel

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::queryformats
Gmagick::raiseimage
Gmagick


Creates a simulated 3d button-like effect

Gmagick::radialblurimage
Gmagick::read
Gmagick
PHP Manual

Gmagick::raiseimage

(PECL gmagick >= Unknown)

Gmagick::raiseimage — Creates a simulated 3d button-like effect

Description

public void Gmagick::raiseimage ( int $width , int $height , int $x , int $y , bool $raise )

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Liste de paramètres

width

Width of the area to raise.

height

Height of the area to raise.

x

X coordinate

y

Y coordinate

raise

A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::radialblurimage
Gmagick::read
Gmagick


Reads image from filename

Gmagick::raiseimage
Gmagick::readimage
Gmagick
PHP Manual

Gmagick::read

(PECL gmagick >= Unknown)

Gmagick::read — Reads image from filename

Description

public void Gmagick::read ( string $filename )

Reads image from filename.

Liste de paramètres

filename

The image filename.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::raiseimage
Gmagick::readimage
Gmagick


Reads image from filename

Gmagick::read
Gmagick::readimageblob
Gmagick
PHP Manual

Gmagick::readimage

(PECL gmagick >= Unknown)

Gmagick::readimage — Reads image from filename

Description

public void Gmagick::readimage ( string $filename )

Reads image from filename.

Liste de paramètres

filename

The image filename.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::read
Gmagick::readimageblob
Gmagick


Reads image from a binary string

Gmagick::readimage
Gmagick::readimagefile
Gmagick
PHP Manual

Gmagick::readimageblob

(PECL gmagick >= Unknown)

Gmagick::readimageblob — Reads image from a binary string

Description

public void Gmagick::readimageblob ( string $imageContents [, string $filename ] )

Reads image from a binary string.

Liste de paramètres

imageContents

Content of image

filename

The image filename.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::readimage
Gmagick::readimagefile
Gmagick


The readimagefile purpose

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick
PHP Manual

Gmagick::readimagefile

(PECL gmagick >= Unknown)

Gmagick::readimagefile — The readimagefile purpose

Description

public void Gmagick::readimagefile ( string $fp )

Reads an image or image sequence from an open file descriptor.

Liste de paramètres

fp

The file descriptor.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::readimageblob
Gmagick::reducenoiseimage
Gmagick


Smooths the contours of an image

Gmagick::readimagefile
Gmagick::removeimage
Gmagick
PHP Manual

Gmagick::reducenoiseimage

(PECL gmagick >= Unknown)

Gmagick::reducenoiseimage — Smooths the contours of an image

Description

public void Gmagick::reducenoiseimage ( float $radius )

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Gmagick::reduceNoiseImage() selects a suitable radius for you.

Liste de paramètres

radius

The radius of the pixel neighborhood.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::readimagefile
Gmagick::removeimage
Gmagick


Removes an image from the image list

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick
PHP Manual

Gmagick::removeimage

(PECL gmagick >= Unknown)

Gmagick::removeimage — Removes an image from the image list

Description

public void Gmagick::removeimage ( void )

Removes an image from the image list.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::reducenoiseimage
Gmagick::removeimageprofile
Gmagick


Removes the named image profile and returns it

Gmagick::removeimage
Gmagick::resampleimage
Gmagick
PHP Manual

Gmagick::removeimageprofile

(PECL gmagick >= Unknown)

Gmagick::removeimageprofile — Removes the named image profile and returns it

Description

public void Gmagick::removeimageprofile ( string $name )

Removes the named image profile and returns it.

Liste de paramètres

name

Name of profile to return: ICC, IPTC, or generic profile.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::removeimage
Gmagick::resampleimage
Gmagick


Resample image to desired resolution

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick
PHP Manual

Gmagick::resampleimage

(PECL gmagick >= Unknown)

Gmagick::resampleimage — Resample image to desired resolution

Description

public void Gmagick::resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur )

Resample image to desired resolution.

Liste de paramètres

xResolution

The new image x resolution.

yResolution

The new image y resolution.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, smaller than 1 is sharp.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::removeimageprofile
Gmagick::resizeimage
Gmagick


Scales an image

Gmagick::resampleimage
Gmagick::rollimage
Gmagick
PHP Manual

Gmagick::resizeimage

(PECL gmagick >= Unknown)

Gmagick::resizeimage — Scales an image

Description

public void Gmagick::resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit ] )

Scales an image to the desired dimensions with a filter.

Liste de paramètres

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, lesser than 1 is sharp.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::resampleimage
Gmagick::rollimage
Gmagick


Offsets an image

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick
PHP Manual

Gmagick::rollimage

(PECL gmagick >= Unknown)

Gmagick::rollimage — Offsets an image

Description

public void Gmagick::rollimage ( int $x , int $y )

Offsets an image as defined by x and y.

Liste de paramètres

x

The x offset.

y

The y offset.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::resizeimage
Gmagick::rotateimage
Gmagick


Rotates an image

Gmagick::rollimage
Gmagick::scaleimage
Gmagick
PHP Manual

Gmagick::rotateimage

(PECL gmagick >= Unknown)

Gmagick::rotateimage — Rotates an image

Description

public void Gmagick::rotateimage ( mixed $color , float $degrees )

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Liste de paramètres

color

The background pixel.

degrees

The number of degrees to rotate the image.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::rollimage
Gmagick::scaleimage
Gmagick


Scales the size of an image

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick
PHP Manual

Gmagick::scaleimage

(PECL gmagick >= Unknown)

Gmagick::scaleimage — Scales the size of an image

Description

public void Gmagick::scaleimage ( int $width , int $height )

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Liste de paramètres

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::rotateimage
Gmagick::separateimagechannel
Gmagick


Separates a channel from the image

Gmagick::scaleimage
Gmagick::setfilename
Gmagick
PHP Manual

Gmagick::separateimagechannel

(PECL gmagick >= Unknown)

Gmagick::separateimagechannel — Separates a channel from the image

Description

public void Gmagick::separateimagechannel ( int $channel )

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Liste de paramètres

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::scaleimage
Gmagick::setfilename
Gmagick


Sets the filename before you read or write the image

Gmagick::separateimagechannel
Gmagick::setimagebackgroundcolor
Gmagick
PHP Manual

Gmagick::setfilename

(PECL gmagick >= Unknown)

Gmagick::setfilename — Sets the filename before you read or write the image

Description

public void Gmagick::setfilename ( string $filename )

Sets the filename before you read or write an image file.

Liste de paramètres

filename

The image filename.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::separateimagechannel
Gmagick::setimagebackgroundcolor
Gmagick


Sets the image background color.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick
PHP Manual

Gmagick::setimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::setimagebackgroundcolor — Sets the image background color.

Description

public void Gmagick::setimagebackgroundcolor ( GmagickPixel $color )

Sets the image background color.

Liste de paramètres

color

The background pixel wand.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setfilename
Gmagick::setimageblueprimary
Gmagick


Sets the image chromaticity blue primary point.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick
PHP Manual

Gmagick::setimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point.

Description

public void Gmagick::setimageblueprimary ( float $x , float $y )

Sets the image chromaticity blue primary point.

Liste de paramètres

x

The blue primary x-point.

y

The blue primary y-point.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagebackgroundcolor
Gmagick::setimagebordercolor
Gmagick


Sets the image border color.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick
PHP Manual

Gmagick::setimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::setimagebordercolor — Sets the image border color.

Description

public void Gmagick::setimagebordercolor ( GmagickPixel $color )

Sets the image border color.

Liste de paramètres

color

The border pixel wand.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageblueprimary
Gmagick::setimagechanneldepth
Gmagick


Sets the depth of a particular image channel

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick
PHP Manual

Gmagick::setimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::setimagechanneldepth — Sets the depth of a particular image channel

Description

public void Gmagick::setimagechanneldepth ( int $channel , int $depth )

Sets the depth of a particular image channel.

Liste de paramètres

channel

Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel.

depth

The image depth in bits.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagebordercolor
Gmagick::setimagecolorspace
Gmagick


Sets the image colorspace

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick
PHP Manual

Gmagick::setimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::setimagecolorspace — Sets the image colorspace

Description

public void Gmagick::setimagecolorspace ( int $colorspace )

Sets the image colorspace.

Liste de paramètres

colorspace

The image colorspace: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagechanneldepth
Gmagick::setimagecompose
Gmagick


Sets the image composite operator

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick
PHP Manual

Gmagick::setimagecompose

(PECL gmagick >= Unknown)

Gmagick::setimagecompose — Sets the image composite operator

Description

public void Gmagick::setimagecompose ( int $composite )

Sets the image composite operator.

Liste de paramètres

composite

The image composite operator.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagecolorspace
Gmagick::setimagedelay
Gmagick


Sets the image delay

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick
PHP Manual

Gmagick::setimagedelay

(PECL gmagick >= Unknown)

Gmagick::setimagedelay — Sets the image delay

Description

public void Gmagick::setimagedelay ( int $delay )

Sets the image delay

Liste de paramètres

delay

The image delay in 1/100th of a second.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagecompose
Gmagick::setimagedepth
Gmagick


Sets the image depth

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick
PHP Manual

Gmagick::setimagedepth

(PECL gmagick >= Unknown)

Gmagick::setimagedepth — Sets the image depth

Description

public void Gmagick::setimagedepth ( float $depth )

Sets the image depth

Liste de paramètres

depth

The image depth in bits: 8, 16, or 32.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagedelay
Gmagick::setimagedispose
Gmagick


Sets the image disposal method

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick
PHP Manual

Gmagick::setimagedispose

(PECL gmagick >= Unknown)

Gmagick::setimagedispose — Sets the image disposal method

Description

public void Gmagick::setimagedispose ( int $disposeType )

Sets the image disposal method.

Liste de paramètres

disposeType

The image disposal type.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagedepth
Gmagick::setimagefilename
Gmagick


Sets the filename of a particular image in a sequence

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick
PHP Manual

Gmagick::setimagefilename

(PECL gmagick >= Unknown)

Gmagick::setimagefilename — Sets the filename of a particular image in a sequence

Description

public void Gmagick::setimagefilename ( string $filename )

Sets the filename of a particular image in a sequence.

Liste de paramètres

filename

The image filename.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagedispose
Gmagick::setimageformat
Gmagick


Sets the format of a particular image

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick
PHP Manual

Gmagick::setimageformat

(PECL gmagick >= Unknown)

Gmagick::setimageformat — Sets the format of a particular image

Description

public void Gmagick::setimageformat ( string $imageFormat )

Sets the format of a particular image in a sequence.

Liste de paramètres

imageFormat

The image format.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagefilename
Gmagick::setimagegamma
Gmagick


Sets the image gamma

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick
PHP Manual

Gmagick::setimagegamma

(PECL gmagick >= Unknown)

Gmagick::setimagegamma — Sets the image gamma

Description

public void Gmagick::setimagegamma ( float $gamma )

Sets the image gamma.

Liste de paramètres

gamma

The image gamma.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageformat
Gmagick::setimagegreenprimary
Gmagick


TSets the image chromaticity green primary point.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick
PHP Manual

Gmagick::setimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::setimagegreenprimary — TSets the image chromaticity green primary point.

Description

public void Gmagick::setimagegreenprimary ( float $x , float $y )

Sets the image chromaticity green primary point.

Liste de paramètres

x

The chromaticity green primary x-point.

y

The chromaticity green primary y-point.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagegamma
Gmagick::setimageindex
Gmagick


Set the iterator to the position in the image list specified with the index parameter

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick
PHP Manual

Gmagick::setimageindex

(PECL gmagick >= Unknown)

Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter

Description

public void Gmagick::setimageindex ( int $index )

Set the iterator to the position in the image list specified with the index parameter.

Liste de paramètres

index

The scene number.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagegreenprimary
Gmagick::setimageinterlacescheme
Gmagick


Sets the interlace scheme of the image.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick
PHP Manual

Gmagick::setimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image.

Description

public void Gmagick::setimageinterlacescheme ( int $interlace )

Sets the interlace scheme of the image.

Liste de paramètres

interlace

The image interlace scheme: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageindex
Gmagick::setimageiterations
Gmagick


Sets the image iterations.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick
PHP Manual

Gmagick::setimageiterations

(PECL gmagick >= Unknown)

Gmagick::setimageiterations — Sets the image iterations.

Description

public void Gmagick::setimageiterations ( int $iterations )

Sets the image iterations.

Liste de paramètres

iterations

The image delay in 1/100th of a second.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageinterlacescheme
Gmagick::setimageprofile
Gmagick


Adds a named profile to the Gmagick object

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick
PHP Manual

Gmagick::setimageprofile

(PECL gmagick >= Unknown)

Gmagick::setimageprofile — Adds a named profile to the Gmagick object

Description

public void Gmagick::setimageprofile ( string $name , string $profile )

Adds a named profile to the Gmagick object. If a profile with the same name already exists, it is replaced. This method differs from the Gmagick::ProfileImage() method in that it does not apply any CMS color profiles.

Liste de paramètres

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageiterations
Gmagick::setimageredprimary
Gmagick


Sets the image chromaticity red primary point.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick
PHP Manual

Gmagick::setimageredprimary

(PECL gmagick >= Unknown)

Gmagick::setimageredprimary — Sets the image chromaticity red primary point.

Description

public void Gmagick::setimageredprimary ( float $x , float $y )

Sets the image chromaticity red primary point.

Liste de paramètres

x

The red primary x-point.

y

The red primary y-point.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageprofile
Gmagick::setimagerenderingintent
Gmagick


Sets the image rendering intent

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick
PHP Manual

Gmagick::setimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::setimagerenderingintent — Sets the image rendering intent

Description

public void Gmagick::setimagerenderingintent ( int $rendering_intent )

Sets the image rendering intent.

Liste de paramètres

rendering_intent

The image rendering intent: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, or RelativeIntent.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageredprimary
Gmagick::setimageresolution
Gmagick


Sets the image resolution

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick
PHP Manual

Gmagick::setimageresolution

(PECL gmagick >= Unknown)

Gmagick::setimageresolution — Sets the image resolution

Description

public void Gmagick::setimageresolution ( float $xResolution , float $yResolution )

Sets the image resolution.

Liste de paramètres

xResolution

The image x resolution.

yResolution

The image y resolution.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagerenderingintent
Gmagick::setimagescene
Gmagick


Sets the image scene

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick
PHP Manual

Gmagick::setimagescene

(PECL gmagick >= Unknown)

Gmagick::setimagescene — Sets the image scene

Description

public void Gmagick::setimagescene ( string $scene )

Sets the image scene.

Liste de paramètres

scene

The image scene number.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageresolution
Gmagick::setimagetype
Gmagick


Sets the image type

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick
PHP Manual

Gmagick::setimagetype

(PECL gmagick >= Unknown)

Gmagick::setimagetype — Sets the image type

Description

public void Gmagick::setimagetype ( string $imgType )

Sets the image type.

Liste de paramètres

imgType

The image type: UndefinedType, BilevelType, GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, or OptimizeType.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagescene
Gmagick::setimageunits
Gmagick


Sets the image units of resolution.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick
PHP Manual

Gmagick::setimageunits

(PECL gmagick >= Unknown)

Gmagick::setimageunits — Sets the image units of resolution.

Description

public void Gmagick::setimageunits ( int $resolution )

Sets the image units of resolution.

Liste de paramètres

resolution

The image units of resolution : Undefinedresolution, PixelsPerInchResolution, or PixelsPerCentimeterResolution.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagetype
Gmagick::setimagewhitepoint
Gmagick


Sets the image chromaticity white point.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick
PHP Manual

Gmagick::setimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::setimagewhitepoint — Sets the image chromaticity white point.

Description

public void Gmagick::setimagewhitepoint ( float $x , float $y )

Sets the image chromaticity white point.

Liste de paramètres

x

The white x-point.

y

The white y-point.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimageunits
Gmagick::setsamplingfactors
Gmagick


Sets the image sampling factors.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick
PHP Manual

Gmagick::setsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::setsamplingfactors — Sets the image sampling factors.

Description

public void Gmagick::setsamplingfactors ( array $factors )

Sets the image sampling factors.

Liste de paramètres

factors

An array of doubles representing the sampling factor for each color component (in RGB order).

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setimagewhitepoint
Gmagick::setsize
Gmagick


Sets the size of the Gmagick object

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick
PHP Manual

Gmagick::setsize

(PECL gmagick >= Unknown)

Gmagick::setsize — Sets the size of the Gmagick object

Description

public void Gmagick::setsize ( int $columns , int $rows )

Sets the size of the Gmagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

Liste de paramètres

columns

The width in pixels.

rows

The height in pixels.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setsamplingfactors
Gmagick::shearimage
Gmagick


Creating a parallelogram

Gmagick::setsize
Gmagick::solarizeimage
Gmagick
PHP Manual

Gmagick::shearimage

(PECL gmagick >= Unknown)

Gmagick::shearimage — Creating a parallelogram

Description

public void Gmagick::shearimage ( mixed $color , float $xShear , float $yShear )

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Liste de paramètres

color

The background pixel wand.

xShear

The number of degrees to shear the image.

yShear

The number of degrees to shear the image.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::setsize
Gmagick::solarizeimage
Gmagick


Applies a solarizing effect to the image

Gmagick::shearimage
Gmagick::spreadimage
Gmagick
PHP Manual

Gmagick::solarizeimage

(PECL gmagick >= Unknown)

Gmagick::solarizeimage — Applies a solarizing effect to the image

Description

public void Gmagick::solarizeimage ( float $threshold )

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Liste de paramètres

threshold

Define the extent of the solarization.

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::shearimage
Gmagick::spreadimage
Gmagick


Randomly displaces each pixel in a block

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick
PHP Manual

Gmagick::spreadimage

(PECL gmagick >= Unknown)

Gmagick::spreadimage — Randomly displaces each pixel in a block

Description

public void Gmagick::spreadimage ( float $radius )

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Liste de paramètres

radius

Choose a random pixel in a neighborhood of this extent.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::solarizeimage
Gmagick::stripimage
Gmagick


Strips an image of all profiles and comments

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick
PHP Manual

Gmagick::stripimage

(PECL gmagick >= Unknown)

Gmagick::stripimage — Strips an image of all profiles and comments

Description

public void Gmagick::stripimage ( void )

Strips an image of all profiles and comments.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::spreadimage
Gmagick::swirlimage
Gmagick


Swirls the pixels about the center of the image

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick
PHP Manual

Gmagick::swirlimage

(PECL gmagick >= Unknown)

Gmagick::swirlimage — Swirls the pixels about the center of the image

Description

public void Gmagick::swirlimage ( float $degrees )

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Liste de paramètres

degrees

Define the tightness of the swirling effect.

Valeurs de retour

The Gmagick object on success

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::stripimage
Gmagick::thumbnailimage
Gmagick


Changes the size of an image

Gmagick::swirlimage
Gmagick::trimimage
Gmagick
PHP Manual

Gmagick::thumbnailimage

(PECL gmagick >= Unknown)

Gmagick::thumbnailimage — Changes the size of an image

Description

public void Gmagick::thumbnailimage ( int $width , int $height )

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If TRUE is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

Liste de paramètres

width

Image width

height

Image height

Valeurs de retour

The Gmagick object on success.

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::swirlimage
Gmagick::trimimage
Gmagick


Remove edges from the image

Gmagick::thumbnailimage
Gmagick::write
Gmagick
PHP Manual

Gmagick::trimimage

(PECL gmagick >= Unknown)

Gmagick::trimimage — Remove edges from the image

Description

public void Gmagick::trimimage ( float $fuzz )

Remove edges that are the background color from the image.

Liste de paramètres

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Valeurs de retour

The Gmagick object

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::thumbnailimage
Gmagick::write
Gmagick


Writes an image to the specified filename

Gmagick::trimimage
Gmagick::writeimage
Gmagick
PHP Manual

Gmagick::write

(PECL gmagick >= Unknown)

Gmagick::write — Writes an image to the specified filename

Description

public void Gmagick::write ( string $filename )

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename().

Liste de paramètres

filename

The image filename.

Valeurs de retour

The Gmagick object

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::trimimage
Gmagick::writeimage
Gmagick


Writes an image to the specified filename

Gmagick::write
GmagickDraw
Gmagick
PHP Manual

Gmagick::writeimage

(PECL gmagick >= Unknown)

Gmagick::writeimage — Writes an image to the specified filename

Description

public void Gmagick::writeimage ( string $filename )

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename().

Liste de paramètres

filename

The image filename.

Valeurs de retour

The Gmagick object

Erreurs / Exceptions

Émet une exception GmagickException en cas d'erreur.

Gmagick::write
GmagickDraw
Gmagick


La classe GmagickDraw

Introduction

Description de la classe.

Synopsis de la classe

GmagickDraw
GmagickDraw {
/* Méthodes */
public void annotate ( float $x , float $y , string $text )
public void arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )
public void bezier ( array $coordinate_array )
public void ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
public void getfillcolor ( void )
public void getfillopacity ( void )
public void getfont ( void )
public void getfontsize ( void )
public void getfontstyle ( void )
public void getfontweight ( void )
public void getstrokecolor ( void )
public void getstrokeopacity ( void )
public void getstrokewidth ( void )
public void gettextdecoration ( void )
public void gettextencoding ( void )
public void line ( float $sx , float $sy , float $ex , float $ey )
public void point ( float $x , float $y )
public void polygon ( array $coordinates )
public void polyline ( array $coordinate_array )
public void rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )
public void rotate ( float $degrees )
public void roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )
public void scale ( float $x , float $y )
public void setfillcolor ( string $color )
public void setfillopacity ( float $fill_opacity )
public void setfont ( string $font )
public void setfontsize ( float $pointsize )
public void setfontstyle ( string $style )
public void setfontweight ( int $weight )
public void setstrokecolor ( GmagickPixel $color )
public void setstrokeopacity ( float $stroke_opacity )
public void setstrokewidth ( float $width )
public void settextdecoration ( int $decoration )
public void settextencoding ( string $encoding )
}

Sommaire

  • GmagickDraw::annotate — Draws text on the image
  • GmagickDraw::arc — Draws an arc
  • GmagickDraw::bezier — Draws a bezier curve
  • GmagickDraw::ellipse — Draws an ellipse on the image
  • GmagickDraw::getfillcolor — Returns the fill color
  • GmagickDraw::getfillopacity — Returns the opacity used when drawing
  • GmagickDraw::getfont — Returns the font
  • GmagickDraw::getfontsize — Returns the font pointsize
  • GmagickDraw::getfontstyle — Returns the font style
  • GmagickDraw::getfontweight — Returns the font weight
  • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
  • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
  • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
  • GmagickDraw::gettextdecoration — Returns the text decoration
  • GmagickDraw::gettextencoding — Returns the code set used for text annotations
  • GmagickDraw::line — The line purpose
  • GmagickDraw::point — Draws a point
  • GmagickDraw::polygon — Draws a polygon
  • GmagickDraw::polyline — Draws a polyline
  • GmagickDraw::rectangle — Draws a rectangle
  • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • GmagickDraw::roundrectangle — Draws a rounded rectangle
  • GmagickDraw::scale — Adjusts the scaling factor
  • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.
  • GmagickDraw::setfillopacity — The setfillopacity purpose
  • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.
  • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.
  • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
  • GmagickDraw::setfontweight — Sets the font weight
  • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.
  • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.
  • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.
  • GmagickDraw::settextdecoration — Specifies a decoration
  • GmagickDraw::settextencoding — Specifies specifies the text code set
Gmagick::writeimage
GmagickDraw::annotate
Gmagick


Draws text on the image

GmagickDraw
GmagickDraw::arc
GmagickDraw
PHP Manual

GmagickDraw::annotate

(PECL gmagick >= Unknown)

GmagickDraw::annotate — Draws text on the image

Description

public void GmagickDraw::annotate ( float $x , float $y , string $text )

Draws text on the image.

Liste de paramètres

x

x ordinate to left of text

y

y ordinate to text baseline

text

text to draw

Valeurs de retour

The GmagickDraw object on success.

GmagickDraw
GmagickDraw::arc
GmagickDraw


Draws an arc

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw
PHP Manual

GmagickDraw::arc

(PECL gmagick >= Unknown)

GmagickDraw::arc — Draws an arc

Description

public void GmagickDraw::arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed )

Draws an arc falling within a specified bounding rectangle on the image.

Liste de paramètres

sx

starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Valeurs de retour

The GmagickDraw object on success.

GmagickDraw::annotate
GmagickDraw::bezier
GmagickDraw


Draws a bezier curve

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw
PHP Manual

GmagickDraw::bezier

(PECL gmagick >= Unknown)

GmagickDraw::bezier — Draws a bezier curve

Description

public void GmagickDraw::bezier ( array $coordinate_array )

Draws a bezier curve through a set of points on the image.

Liste de paramètres

coordinate_array

Coordinates array

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::arc
GmagickDraw::ellipse
GmagickDraw


Draws an ellipse on the image

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw
PHP Manual

GmagickDraw::ellipse

(PECL gmagick >= Unknown)

GmagickDraw::ellipse — Draws an ellipse on the image

Description

public void GmagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )

Draws an ellipse on the image.

Liste de paramètres

ox

origin x ordinate

oy

origin y ordinate

rx

radius in x

ry

radius in y

start

starting rotation in degrees

end

ending rotation in degrees

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::bezier
GmagickDraw::getfillcolor
GmagickDraw


Returns the fill color

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw
PHP Manual

GmagickDraw::getfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::getfillcolor — Returns the fill color

Description

public void GmagickDraw::getfillcolor ( void )

Returns the fill color used for drawing filled objects.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The GmagickPixel fill color used for drawing filled objects.

GmagickDraw::ellipse
GmagickDraw::getfillopacity
GmagickDraw


Returns the opacity used when drawing

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw
PHP Manual

GmagickDraw::getfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::getfillopacity — Returns the opacity used when drawing

Description

public void GmagickDraw::getfillopacity ( void )

Returns the opacity used when drawing

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

GmagickDraw::getfillcolor
GmagickDraw::getfont
GmagickDraw


Returns the font

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw
PHP Manual

GmagickDraw::getfont

(PECL gmagick >= Unknown)

GmagickDraw::getfont — Returns the font

Description

public void GmagickDraw::getfont ( void )

Returns a string specifying the font used when annotating with text.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and false if no font is set.

GmagickDraw::getfillopacity
GmagickDraw::getfontsize
GmagickDraw


Returns the font pointsize

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw
PHP Manual

GmagickDraw::getfontsize

(PECL gmagick >= Unknown)

GmagickDraw::getfontsize — Returns the font pointsize

Description

public void GmagickDraw::getfontsize ( void )

Returns the font pointsize used when annotating with text.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the font size associated with the current GmagickDraw object.

GmagickDraw::getfont
GmagickDraw::getfontstyle
GmagickDraw


Returns the font style

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw
PHP Manual

GmagickDraw::getfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::getfontstyle — Returns the font style

Description

public void GmagickDraw::getfontstyle ( void )

Returns the font style used when annotating with text.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the font style constant (STYLE_) associated with the GmagickDraw object or 0 if no style is set.

GmagickDraw::getfontsize
GmagickDraw::getfontweight
GmagickDraw


Returns the font weight

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::getfontweight

(PECL gmagick >= Unknown)

GmagickDraw::getfontweight — Returns the font weight

Description

public void GmagickDraw::getfontweight ( void )

Returns the font weight used when annotating with text.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an int on success and 0 if no weight is set.

GmagickDraw::getfontstyle
GmagickDraw::getstrokecolor
GmagickDraw


Returns the color used for stroking object outlines

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::getstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines

Description

public void GmagickDraw::getstrokecolor ( void )

Returns the color used for stroking object outlines.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an GmagickPixel object which describes the color

GmagickDraw::getfontweight
GmagickDraw::getstrokeopacity
GmagickDraw


Returns the opacity of stroked object outlines

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::getstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines

Description

public void GmagickDraw::getstrokeopacity ( void )

Returns the opacity of stroked object outlines.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a double describing the opacity.

GmagickDraw::getstrokecolor
GmagickDraw::getstrokewidth
GmagickDraw


Returns the width of the stroke used to draw object outlines

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw
PHP Manual

GmagickDraw::getstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines

Description

public void GmagickDraw::getstrokewidth ( void )

Returns the width of the stroke used to draw object outlines.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a double describing the stroke width.

GmagickDraw::getstrokeopacity
GmagickDraw::gettextdecoration
GmagickDraw


Returns the text decoration

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw
PHP Manual

GmagickDraw::gettextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::gettextdecoration — Returns the text decoration

Description

public void GmagickDraw::gettextdecoration ( void )

Returns the decoration applied when annotating with text.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns one of the DECORATION_ constants and 0 if no decoration is set.

GmagickDraw::getstrokewidth
GmagickDraw::gettextencoding
GmagickDraw


Returns the code set used for text annotations

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw
PHP Manual

GmagickDraw::gettextencoding

(PECL gmagick >= Unknown)

GmagickDraw::gettextencoding — Returns the code set used for text annotations

Description

public void GmagickDraw::gettextencoding ( void )

Returns a string which specifies the code set used for text annotations.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string specifying the code set or false if text encoding is not set.

GmagickDraw::gettextdecoration
GmagickDraw::line
GmagickDraw


The line purpose

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw
PHP Manual

GmagickDraw::line

(PECL gmagick >= Unknown)

GmagickDraw::line — The line purpose

Description

public void GmagickDraw::line ( float $sx , float $sy , float $ex , float $ey )

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Liste de paramètres

sx

starting x ordinate

sy

starting y ordinate

ex

ending x ordinate

ey

ending y ordinate

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::gettextencoding
GmagickDraw::point
GmagickDraw


Draws a point

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw
PHP Manual

GmagickDraw::point

(PECL gmagick >= Unknown)

GmagickDraw::point — Draws a point

Description

public void GmagickDraw::point ( float $x , float $y )

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Liste de paramètres

x

target x coordinate

y

target y coordinate

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::line
GmagickDraw::polygon
GmagickDraw


Draws a polygon

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw
PHP Manual

GmagickDraw::polygon

(PECL gmagick >= Unknown)

GmagickDraw::polygon — Draws a polygon

Description

public void GmagickDraw::polygon ( array $coordinates )

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Liste de paramètres

coordinates

coordinate array

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::point
GmagickDraw::polyline
GmagickDraw


Draws a polyline

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw
PHP Manual

GmagickDraw::polyline

(PECL gmagick >= Unknown)

GmagickDraw::polyline — Draws a polyline

Description

public void GmagickDraw::polyline ( array $coordinate_array )

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Liste de paramètres

coordinate_array

The array of coordinates

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::polygon
GmagickDraw::rectangle
GmagickDraw


Draws a rectangle

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw
PHP Manual

GmagickDraw::rectangle

(PECL gmagick >= Unknown)

GmagickDraw::rectangle — Draws a rectangle

Description

public void GmagickDraw::rectangle ( float $x1 , float $y1 , float $x2 , float $y2 )

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Liste de paramètres

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::polyline
GmagickDraw::rotate
GmagickDraw


Applies the specified rotation to the current coordinate space

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw
PHP Manual

GmagickDraw::rotate

(PECL gmagick >= Unknown)

GmagickDraw::rotate — Applies the specified rotation to the current coordinate space

Description

public void GmagickDraw::rotate ( float $degrees )

Applies the specified rotation to the current coordinate space.

Liste de paramètres

degrees

degrees of rotation

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::rectangle
GmagickDraw::roundrectangle
GmagickDraw


Draws a rounded rectangle

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw
PHP Manual

GmagickDraw::roundrectangle

(PECL gmagick >= Unknown)

GmagickDraw::roundrectangle — Draws a rounded rectangle

Description

public void GmagickDraw::roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry )

Draws a rounded rectangle given two coordinates, x and y corner radiuses and using the current stroke, stroke width, and fill settings.

Liste de paramètres

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

rx

radius of corner in horizontal direction

ry

radius of corner in vertical direction

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::rotate
GmagickDraw::scale
GmagickDraw


Adjusts the scaling factor

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw
PHP Manual

GmagickDraw::scale

(PECL gmagick >= Unknown)

GmagickDraw::scale — Adjusts the scaling factor

Description

public void GmagickDraw::scale ( float $x , float $y )

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Liste de paramètres

x

horizontal scale factor

y

vertical scale factor

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::roundrectangle
GmagickDraw::setfillcolor
GmagickDraw


Sets the fill color to be used for drawing filled objects.

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw
PHP Manual

GmagickDraw::setfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects.

Description

public void GmagickDraw::setfillcolor ( string $color )

Sets the fill color to be used for drawing filled objects.

Liste de paramètres

color

GmagickPixel indicating color to use for filling.

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::scale
GmagickDraw::setfillopacity
GmagickDraw


The setfillopacity purpose

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw
PHP Manual

GmagickDraw::setfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::setfillopacity — The setfillopacity purpose

Description

public void GmagickDraw::setfillopacity ( float $fill_opacity )

Sets the opacity to use when drawing using the fill color or fill texture. Setting it to 1.0 will make fill full opaque.

Liste de paramètres

fill_opacity

Fill opacity

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setfillcolor
GmagickDraw::setfont
GmagickDraw


Sets the fully-specified font to use when annotating with text.

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw
PHP Manual

GmagickDraw::setfont

(PECL gmagick >= Unknown)

GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text.

Description

public void GmagickDraw::setfont ( string $font )

Sets the fully-specified font to use when annotating with text

Liste de paramètres

font

font name

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setfillopacity
GmagickDraw::setfontsize
GmagickDraw


Sets the font pointsize to use when annotating with text.

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw
PHP Manual

GmagickDraw::setfontsize

(PECL gmagick >= Unknown)

GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text.

Description

public void GmagickDraw::setfontsize ( float $pointsize )

Sets the font pointsize to use when annotating with text.

Liste de paramètres

pointsize

Text pointsize

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setfont
GmagickDraw::setfontstyle
GmagickDraw


Sets the font style to use when annotating with text

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw
PHP Manual

GmagickDraw::setfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::setfontstyle — Sets the font style to use when annotating with text

Description

public void GmagickDraw::setfontstyle ( string $style )

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Liste de paramètres

style

Font style (NormalStyle, ItalicStyle, ObliqueStyle, AnyStyle)

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setfontsize
GmagickDraw::setfontweight
GmagickDraw


Sets the font weight

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw
PHP Manual

GmagickDraw::setfontweight

(PECL gmagick >= Unknown)

GmagickDraw::setfontweight — Sets the font weight

Description

public void GmagickDraw::setfontweight ( int $weight )

Sets the font weight to use when annotating with text.

Liste de paramètres

weight

Font weight (valid range 100-900)

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setfontstyle
GmagickDraw::setstrokecolor
GmagickDraw


Sets the color used for stroking object outlines.

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw
PHP Manual

GmagickDraw::setstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines.

Description

public void GmagickDraw::setstrokecolor ( GmagickPixel $color )

Sets the color used for stroking object outlines.

Liste de paramètres

color

GmagickPixel representing the color for the stroke.

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setfontweight
GmagickDraw::setstrokeopacity
GmagickDraw


Specifies the opacity of stroked object outlines.

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw
PHP Manual

GmagickDraw::setstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines.

Description

public void GmagickDraw::setstrokeopacity ( float $stroke_opacity )

Specifies the opacity of stroked object outlines.

Liste de paramètres

stroke_opacity

Stroke opacity. The value 1.0 is opaque.

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setstrokecolor
GmagickDraw::setstrokewidth
GmagickDraw


Sets the width of the stroke used to draw object outlines.

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw
PHP Manual

GmagickDraw::setstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines.

Description

public void GmagickDraw::setstrokewidth ( float $width )

Sets the width of the stroke used to draw object outlines

Liste de paramètres

width

Stroke width

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setstrokeopacity
GmagickDraw::settextdecoration
GmagickDraw


Specifies a decoration

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw
PHP Manual

GmagickDraw::settextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::settextdecoration — Specifies a decoration

Description

public void GmagickDraw::settextdecoration ( int $decoration )

Specifies a decoration to be applied when annotating with text.

Liste de paramètres

int

Text decoration. One of NoDecoration, UnderlineDecoration, OverlineDecoration, or LineThroughDecoration

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::setstrokewidth
GmagickDraw::settextencoding
GmagickDraw


Specifies specifies the text code set

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw
PHP Manual

GmagickDraw::settextencoding

(PECL gmagick >= Unknown)

GmagickDraw::settextencoding — Specifies specifies the text code set

Description

public void GmagickDraw::settextencoding ( string $encoding )

Specifies specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Liste de paramètres

encoding

Character string specifying text encoding

Valeurs de retour

The GmagickDraw object on success

GmagickDraw::settextdecoration
GmagickPixel
GmagickDraw


La classe GmagickPixel

Introduction

Description de la classe.

Synopsis de la classe

GmagickPixel
GmagickPixel {
/* Méthodes */
__construct ([ string $color ] )
public void getcolor ([ bool $as_array [, bool $normalize_array ]] )
public void getcolorcount ([ bool $as_array [, bool $normalize_array ]] )
public void getcolorvalue ( int $color )
public void setcolor ( string $color )
public void setcolorvalue ( int $color , float $value )
}

Sommaire

  • GmagickPixel::__construct — The GmagickPixel constructor
  • GmagickPixel::getcolor — Returns the color
  • GmagickPixel::getcolorcount — Returns the color count associated with this color
  • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
  • GmagickPixel::setcolor — Sets the color
  • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels
GmagickDraw::settextencoding
GmagickPixel::__construct
Gmagick


The GmagickPixel constructor

GmagickPixel
GmagickPixel::getcolor
GmagickPixel
PHP Manual

GmagickPixel::__construct

(PECL gmagick >= Unknown)

GmagickPixel::__construct — The GmagickPixel constructor

Description

GmagickPixel::__construct ([ string $color ] )

Constructs an GmagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

Liste de paramètres

color

The optional color string to use as the initial value of this object.

Valeurs de retour

The GmagickPixel object on success.

GmagickPixel
GmagickPixel::getcolor
GmagickPixel


Returns the color

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel
PHP Manual

GmagickPixel::getcolor

(PECL gmagick >= Unknown)

GmagickPixel::getcolor — Returns the color

Description

public void GmagickPixel::getcolor ([ bool $as_array [, bool $normalize_array ]] )

Returns the color described by the GmagickPixel object, as an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Liste de paramètres

as_array

True to indicate return of array instead of string

normalize_array

Normalize the color values

Valeurs de retour

An array of channel values, each normalized if TRUE is given as param. Throws GmagickPixelException on error.

GmagickPixel::__construct
GmagickPixel::getcolorcount
GmagickPixel


Returns the color count associated with this color

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::getcolorcount

(PECL gmagick >= Unknown)

GmagickPixel::getcolorcount — Returns the color count associated with this color

Description

public void GmagickPixel::getcolorcount ([ bool $as_array [, bool $normalize_array ]] )

Returns the color count associated with this color

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the color count as an integer on success, throws GmagickPixelException on failure.

GmagickPixel::getcolor
GmagickPixel::getcolorvalue
GmagickPixel


Gets the normalized value of the provided color channel

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel
PHP Manual

GmagickPixel::getcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel

Description

public void GmagickPixel::getcolorvalue ( int $color )

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Liste de paramètres

color

The channel to check, specified as one of the Gmagick channel constants.

Valeurs de retour

The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error.

GmagickPixel::getcolorcount
GmagickPixel::setcolor
GmagickPixel


Sets the color

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel
PHP Manual

GmagickPixel::setcolor

(PECL gmagick >= Unknown)

GmagickPixel::setcolor — Sets the color

Description

public void GmagickPixel::setcolor ( string $color )

Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Liste de paramètres

color

The color definition to use in order to initialise the GmagickPixel object.

Valeurs de retour

The GmagickPixel object on success.

GmagickPixel::getcolorvalue
GmagickPixel::setcolorvalue
GmagickPixel


Sets the normalized value of one of the channels

GmagickPixel::setcolor
Cairo
GmagickPixel
PHP Manual

GmagickPixel::setcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels

Description

public void GmagickPixel::setcolorvalue ( int $color , float $value )

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to a GmagickPixel object.

Liste de paramètres

color

One of the Gmagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

Valeurs de retour

The GmagickPixel object on success.

GmagickPixel::setcolor
Cairo
GmagickPixel


Cairo

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Cairo
    • cairo_create — Retourne un nouvel objet CairoContext pour la surface demandée
    • cairo_font_face_get_type — Description
    • cairo_font_face_status — Description
    • cairo_font_options_create — Description
    • cairo_font_options_equal — Description
    • cairo_font_options_get_antialias — Description
    • cairo_font_options_get_hint_metrics — Description
    • cairo_font_options_get_hint_style — Description
    • cairo_font_options_get_subpixel_order — Description
    • cairo_font_options_hash — Description
    • cairo_font_options_merge — Description
    • cairo_font_options_set_antialias — Description
    • cairo_font_options_set_hint_metrics — Description
    • cairo_font_options_set_hint_style — Description
    • cairo_font_options_set_subpixel_order — Description
    • cairo_font_options_status — Description
    • cairo_format_stride_for_width — Description
    • cairo_image_surface_create_for_data — Description
    • cairo_image_surface_create_from_png — Description
    • cairo_image_surface_create — Description
    • cairo_image_surface_get_data — Description
    • cairo_image_surface_get_format — Description
    • cairo_image_surface_get_height — Description
    • cairo_image_surface_get_stride — Description
    • cairo_image_surface_get_width — Description
    • cairo_matrix_create_scale — Alias de CairoMatrix::initScale
    • cairo_matrix_create_translate — Alias de CairoMatrix::initTranslate
    • cairo_matrix_invert — Description
    • cairo_matrix_multiply — Description
    • cairo_matrix_rotate — Description
    • cairo_matrix_transform_distance — Description
    • cairo_matrix_transform_point — Description
    • cairo_matrix_translate — Description
    • cairo_pattern_add_color_stop_rgb — Description
    • cairo_pattern_add_color_stop_rgba — Description
    • cairo_pattern_create_for_surface — Description
    • cairo_pattern_create_linear — Description
    • cairo_pattern_create_radial — Description
    • cairo_pattern_create_rgb — Description
    • cairo_pattern_create_rgba — Description
    • cairo_pattern_get_color_stop_count — Description
    • cairo_pattern_get_color_stop_rgba — Description
    • cairo_pattern_get_extend — Description
    • cairo_pattern_get_filter — Description
    • cairo_pattern_get_linear_points — Description
    • cairo_pattern_get_matrix — Description
    • cairo_pattern_get_radial_circles — Description
    • cairo_pattern_get_rgba — Description
    • cairo_pattern_get_surface — Description
    • cairo_pattern_get_type — Description
    • cairo_pattern_set_extend — Description
    • cairo_pattern_set_filter — Description
    • cairo_pattern_set_matrix — Description
    • cairo_pattern_status — Description
    • cairo_pdf_surface_create — Description
    • cairo_pdf_surface_set_size — Description
    • cairo_ps_get_levels — Description
    • cairo_ps_level_to_string — Description
    • cairo_ps_surface_create — Description
    • cairo_ps_surface_dsc_begin_page_setup — Description
    • cairo_ps_surface_dsc_begin_setup — Description
    • cairo_ps_surface_dsc_comment — Description
    • cairo_ps_surface_get_eps — Description
    • cairo_ps_surface_restrict_to_level — Description
    • cairo_ps_surface_set_eps — Description
    • cairo_ps_surface_set_size — Description
    • cairo_scaled_font_create — Description
    • cairo_scaled_font_extents — Description
    • cairo_scaled_font_get_ctm — Description
    • cairo_scaled_font_get_font_face — Description
    • cairo_scaled_font_get_font_matrix — Description
    • cairo_scaled_font_get_font_options — Description
    • cairo_scaled_font_get_scale_matrix — Description
    • cairo_scaled_font_get_type — Description
    • cairo_scaled_font_glyph_extents — Description
    • cairo_scaled_font_status — Description
    • cairo_scaled_font_text_extents — Description
    • cairo_surface_copy_page — Description
    • cairo_surface_create_similar — Description
    • cairo_surface_finish — Description
    • cairo_surface_flush — Description
    • cairo_surface_get_content — Description
    • cairo_surface_get_device_offset — Description
    • cairo_surface_get_font_options — Description
    • cairo_surface_get_type — Description
    • cairo_surface_mark_dirty_rectangle — Description
    • cairo_surface_mark_dirty — Description
    • cairo_surface_set_device_offset — Description
    • cairo_surface_set_fallback_resolution — Description
    • cairo_surface_show_page — Description
    • cairo_surface_status — Description
    • cairo_surface_write_to_png — Description
    • cairo_svg_surface_create — Description
    • cairo_svg_surface_restrict_to_version — Description
    • cairo_svg_version_to_string — Description
  • Cairo — The Cairo class
    • Cairo::availableFonts — Récupère tous les types de police disponibles
    • Cairo::availableSurfaces — Récupère toutes les surfaces disponibles
    • Cairo::statusToString — Récupère le statut courant, sous la forme d'une chaîne de caractères
    • Cairo::version — Récupère la version de la bibliothèque Cairo
    • Cairo::versionString — Récupère la version Cairo sous la forme d'une chaîne de caractères
  • CairoContext — The CairoContext class
    • CairoContext::appendPath — Appends a path to current path
    • CairoContext::arc — Adds a circular arc
    • CairoContext::arcNegative — Adds a negative arc
    • CairoContext::clip — Establishes a new clip region
    • CairoContext::clipExtents — Computes the area inside the current clip
    • CairoContext::clipPreserve — Establishes a new clip region from the current clip
    • CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
    • CairoContext::closePath — Closes the current path
    • CairoContext::__construct — Creates a new CairoContext
    • CairoContext::copyPage — Emits the current page
    • CairoContext::copyPath — Creates a copy of the current path
    • CairoContext::copyPathFlat — Gets a flattened copy of the current path
    • CairoContext::curveTo — Adds a curve
    • CairoContext::deviceToUser — Transform a coordinate
    • CairoContext::deviceToUserDistance — Transform a distance
    • CairoContext::fill — Fills the current path
    • CairoContext::fillExtents — Computes the filled area
    • CairoContext::fillPreserve — Fills and preserve the current path
    • CairoContext::fontExtents — Get the font extents
    • CairoContext::getAntialias — Retrives the current antialias mode
    • CairoContext::getCurrentPoint — Le but de getCurrentPoint
    • CairoContext::getDash — Le but de getDash
    • CairoContext::getDashCount — Le but de getDashCount
    • CairoContext::getFillRule — Le but de getFillRule
    • CairoContext::getFontFace — Le but de getFontFace
    • CairoContext::getFontMatrix — Le but de getFontMatrix
    • CairoContext::getFontOptions — Le but de getFontOptions
    • CairoContext::getGroupTarget — Le but de getGroupTarget
    • CairoContext::getLineCap — Le but de getLineCap
    • CairoContext::getLineJoin — Le but de getLineJoin
    • CairoContext::getLineWidth — Le but de getLineWidth
    • CairoContext::getMatrix — Le but de getMatrix
    • CairoContext::getMiterLimit — Le but de getMiterLimit
    • CairoContext::getOperator — Le but de getOperator
    • CairoContext::getScaledFont — Le but de getScaledFont
    • CairoContext::getSource — Le but de getSource
    • CairoContext::getTarget — Le but de getTarget
    • CairoContext::getTolerance — Le but de getTolerance
    • CairoContext::glyphPath — Le but de glyphPath
    • CairoContext::hasCurrentPoint — Le but de hasCurrentPoint
    • CairoContext::identityMatrix — Le but de identityMatrix
    • CairoContext::inFill — Le but de inFill
    • CairoContext::inStroke — The inStroke purpose
    • CairoContext::lineTo — The lineTo purpose
    • CairoContext::mask — The mask purpose
    • CairoContext::maskSurface — The maskSurface purpose
    • CairoContext::moveTo — The moveTo purpose
    • CairoContext::newPath — The newPath purpose
    • CairoContext::newSubPath — The newSubPath purpose
    • CairoContext::paint — The paint purpose
    • CairoContext::paintWithAlpha — Le but de paintWithAlpha
    • CairoContext::pathExtents — Le but de pathExtents
    • CairoContext::popGroup — Le but de popGroup purpose
    • CairoContext::popGroupToSource — Le but de popGroupToSource
    • CairoContext::pushGroup — Le but de pushGroup
    • CairoContext::pushGroupWithContent — Le but de pushGroupWithContent
    • CairoContext::rectangle — Le but de rectangle
    • CairoContext::relCurveTo — Le but de relCurveTo
    • CairoContext::relLineTo — Le but de relLineTo
    • CairoContext::relMoveTo — Le but de relMoveTo
    • CairoContext::resetClip — Le but de resetClip
    • CairoContext::restore — Le but de restore
    • CairoContext::rotate — Le but de rotate
    • CairoContext::save — Le but de save
    • CairoContext::scale — Le but de scale
    • CairoContext::selectFontFace — Le but de selectFontFace
    • CairoContext::setAntialias — Le but de setAntialias
    • CairoContext::setDash — Le but de setDash
    • CairoContext::setFillRule — Le but de setFillRule
    • CairoContext::setFontFace — Le but de setFontFace
    • CairoContext::setFontMatrix — Le but de setFontMatrix
    • CairoContext::setFontOptions — Le but de setFontOptions
    • CairoContext::setFontSize — Le but de setFontSize
    • CairoContext::setLineCap — Le but de setLineCap
    • CairoContext::setLineJoin — Le but de setLineJoin
    • CairoContext::setLineWidth — Le but de setLineWidth
    • CairoContext::setMatrix — Le but de setMatrix
    • CairoContext::setMiterLimit — Le but de setMiterLimit
    • CairoContext::setOperator — Le but de setOperator
    • CairoContext::setScaledFont — Le but de setScaledFont
    • CairoContext::setSource — Le but de setSource
    • CairoContext::setSourceRGB — Le but de setSourceRGB
    • CairoContext::setSourceRGBA — Le but de setSourceRGBA
    • CairoContext::setSourceSurface — Le but de setSourceSurface
    • CairoContext::setTolerance — Le but de setTolerance
    • CairoContext::showPage — Le but de showPage
    • CairoContext::showText — Le but de showText
    • CairoContext::status — Le but de status
    • CairoContext::stroke — Le but de stroke
    • CairoContext::strokeExtents — Le but de strokeExtents
    • CairoContext::strokePreserve — Le but de strokePreserve
    • CairoContext::textExtents — Le but de textExtents
    • CairoContext::textPath — Le but de textPath
    • CairoContext::transform — Le but de transform
    • CairoContext::translate — Le but de translate
    • CairoContext::userToDevice — Le but de userToDevice
    • CairoContext::userToDeviceDistance — Le but de userToDeviceDistance
  • CairoException — The CairoException class
  • CairoStatus — The CairoStatus class
  • CairoSurface — La classe CairoSurface
    • CairoSurface::__construct — Le but de __construct
    • CairoSurface::copyPage — Le but de copyPage
    • CairoSurface::createSimilar — Le but de createSimilar
    • CairoSurface::finish — Le but de finish
    • CairoSurface::flush — Le but de flush
    • CairoSurface::getContent — Le but de getContent
    • CairoSurface::getDeviceOffset — Le but de getDeviceOffset
    • CairoSurface::getFontOptions — Le but de getFontOptions
    • CairoSurface::getType — Le but de getType
    • CairoSurface::markDirty — Le but de markDirty
    • CairoSurface::markDirtyRectangle — Le but de markDirtyRectangle
    • CairoSurface::setDeviceOffset — Le but de setDeviceOffset
    • CairoSurface::setFallbackResolution — Le but de setFallbackResolution
    • CairoSurface::showPage — Le but de showPage
    • CairoSurface::status — Le but de status
    • CairoSurface::writeToPng — Le but de writeToPng
  • CairoSvgSurface — La classe CairoSvgSurface
    • CairoSvgSurface::__construct — Le but de __construct
    • CairoSvgSurface::getVersions — Récupère la liste des versions SVG supportées
    • CairoSvgSurface::restrictToVersion — Le but de restrictToVersion
    • CairoSvgSurface::versionToString — Le but de versionToString
  • CairoImageSurface — The CairoImageSurface class
    • CairoImageSurface::__construct — Crée un nouvel objet CairoImageSurface
    • CairoImageSurface::createForData — Le but de createForData
    • CairoImageSurface::createFromPng — Crée un nouvel CairoImageSurface à partir d'une image PNG
    • CairoImageSurface::getData — Récupère les données de l'image, sous la forme d'une chaîne de caractères
    • CairoImageSurface::getFormat — Récupère le format de l'image
    • CairoImageSurface::getHeight — Récupère la hauteur d'un CairoImageSurface
    • CairoImageSurface::getStride — Le but de getStride
    • CairoImageSurface::getWidth — Récupère la largeur d'un CairoImageSurface
  • CairoPdfSurface — La classe CairoPdfSurface
    • CairoPdfSurface::__construct — Le but de __construct
    • CairoPdfSurface::setSize — Le but de setSize
  • CairoPsSurface — La classe CairoPsSurface
    • CairoPsSurface::__construct — Le but de __construct
    • CairoPsSurface::dscBeginPageSetup — Le but de dscBeginPageSetup
    • CairoPsSurface::dscBeginSetup — Le but de dscBeginSetup
    • CairoPsSurface::dscComment — Le but de dscComment
    • CairoPsSurface::getEps — Le but de getEps
    • CairoPsSurface::getLevels — Le but de getLevels
    • CairoPsSurface::levelToString — Le but de levelToString
    • CairoPsSurface::restrictToLevel — Le but de restrictToLevel
    • CairoPsSurface::setEps — Le but de setEps
    • CairoPsSurface::setSize — Le but de setSize
  • CairoSurfaceType — La classe CairoSurfaceType
  • CairoFontFace — The CairoFontFace class
    • CairoFontFace::__construct — Crée un nouvel objet CairoFontFace
    • CairoFontFace::getType — Récupère le type de la police
    • CairoFontFace::status — Vérifie les erreurs CairoFontFace
  • CairoFontOptions — The CairoFontOptions class
    • CairoFontOptions::__construct — Le but de __construct
    • CairoFontOptions::equal — Le but de equal
    • CairoFontOptions::getAntialias — Le but de getAntialias
    • CairoFontOptions::getHintMetrics — Le but de getHintMetrics
    • CairoFontOptions::getHintStyle — Le but de getHintStyle
    • CairoFontOptions::getSubpixelOrder — Le but de getSubpixelOrder
    • CairoFontOptions::hash — Le but de hash
    • CairoFontOptions::merge — Le but de merge
    • CairoFontOptions::setAntialias — Le but de setAntialias
    • CairoFontOptions::setHintMetrics — Le but de setHintMetrics
    • CairoFontOptions::setHintStyle — Le but de setHintStyle
    • CairoFontOptions::setSubpixelOrder — Le but de setSubpixelOrder
    • CairoFontOptions::status — Le but de status
  • CairoFontSlant — The CairoFontSlant class
  • CairoFontType — The CairoFontType class
  • CairoFontWeight — The CairoFontWeight class
  • CairoScaledFont — La classe CairoScaledFont
    • CairoScaledFont::__construct — Le but de __construct
    • CairoScaledFont::extents — Le but de extents
    • CairoScaledFont::getCtm — Le but de getCtm
    • CairoScaledFont::getFontFace — Le but de getFontFace
    • CairoScaledFont::getFontMatrix — Le but de getFontMatrix
    • CairoScaledFont::getFontOptions — Le but de getFontOptions
    • CairoScaledFont::getScaleMatrix — Le but de getScaleMatrix
    • CairoScaledFont::getType — Le but de getType
    • CairoScaledFont::glyphExtents — Le but de glyphExtents
    • CairoScaledFont::status — Le but de status
    • CairoScaledFont::textExtents — Le but de textExtents
  • CairoToyFontFace — La classe CairoToyFontFace
  • CairoPatternType — The CairoPatternType class
  • CairoPattern — The CairoPattern class
    • CairoPattern::__construct — Le but de __construct
    • CairoPattern::getMatrix — Le but de getMatrix
    • CairoPattern::getType — Le but de getType
    • CairoPattern::setMatrix — Le but de setMatrix
    • CairoPattern::status — Le but de status
  • CairoGradientPattern — The CairoGradientPattern class
    • CairoGradientPattern::addColorStopRgb — Le but de addColorStopRgb
    • CairoGradientPattern::addColorStopRgba — Le but de addColorStopRgba
    • CairoGradientPattern::getColorStopCount — Le but de getColorStopCount
    • CairoGradientPattern::getColorStopRgba — Le but de getColorStopRgba
    • CairoGradientPattern::getExtend — Le but de getExtend
    • CairoGradientPattern::setExtend — Le but de setExtend
  • CairoSolidPattern — La classe CairoSolidPattern
    • CairoSolidPattern::__construct — Le but de __construct
    • CairoSolidPattern::getRgba — Le but de getRgba
  • CairoSurfacePattern — La classe CairoSurfacePattern
    • CairoSurfacePattern::__construct — Le but de __construct
    • CairoSurfacePattern::getExtend — Le but de getExtend
    • CairoSurfacePattern::getFilter — Le but de getFilter
    • CairoSurfacePattern::getSurface — Le but de getSurface
    • CairoSurfacePattern::setExtend — Le but de setExtend
    • CairoSurfacePattern::setFilter — Le but de setFilter
  • CairoLinearGradient — The CairoLinearGradient class
    • CairoLinearGradient::__construct — Le but de __construct
    • CairoLinearGradient::getPoints — Le but de getPoints
  • CairoRadialGradient — La classe CairoRadialGradient
    • CairoRadialGradient::__construct — Le but de __construct
    • CairoRadialGradient::getCircles — Le but de getCircles
  • CairoAntialias — The CairoAntialias class
  • CairoContent — The CairoContent class
  • CairoExtend — The CairoExtend class
  • CairoFormat — The CairoFormat class
    • CairoFormat::strideForWidth — Provides an appropiate stride to use
  • CairoFillRule — The CairoFillRule class
  • CairoFilter — The CairoFilter class
  • CairoHintMetrics — The CairoHintMetrics class
  • CairoHintStyle — The CairoHintStyle class
  • CairoLineCap — The CairoLineCap class
  • CairoLineJoin — La classe CairoLineJoin
  • CairoMatrix — The CairoMatrix class
    • CairoMatrix::__construct — Creates a new CairoMatrix object
    • CairoMatrix::initIdentity — Creates a new identity matrix
    • CairoMatrix::initRotate — Creates a new rotated matrix
    • CairoMatrix::initScale — Creates a new scaling matrix
    • CairoMatrix::initTranslate — Creates a new translation matrix
    • CairoMatrix::invert — Le but de invert
    • CairoMatrix::multiply — Le but de multiply
    • CairoMatrix::rotate — Le but de rotate
    • CairoMatrix::scale — Applies scaling to a matrix
    • CairoMatrix::transformDistance — Le but de transformDistance
    • CairoMatrix::transformPoint — Le but de transformPoint
    • CairoMatrix::translate — Le but de translate
  • CairoOperator — The CairoOperator class
  • CairoPath — La classe CairoPath
  • CairoPsLevel — La classe CairoPsLevel
  • CairoSubpixelOrder — La classe CairoSubpixelOrder
  • CairoSvgVersion — La classe CairoSvgVersion
GmagickPixel::setcolorvalue
Introduction
Génération et traitement des images


Introduction

Cairo is a native PHP extension to create and modify graphics using the Cairo Graphics Library.

The Cairo Graphics Library is a 2D library written in C with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB. The library also has support for two types of text manipulation and layout. The "toy" API provides demo quality support, and the glyphs API, although full-featured, works best with a helper library such as pango. Font backend support includes FreeType, Quartz, Win32, and User fonts.

There are two types of computer graphics, vector and raster. Raster graphics are the representation of images as an array of pixels. Vector graphics use geometrical primitives such as points, lines, curves or polygons to represent images. The primitives are created using mathematical equations. The Cairo Graphics Library takes a vector approach to graphics, allowing smaller size, infinite zooming, and moving, scaling and rotating without degrading image quality.

Operations in the cairo graphics library including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, and others) This is very similiar to drawing operations for PostScript and PDF drawing.

The Cairo PHP Extension aims to provide support for all officially supported font backends and surface backends, as well as expose all available functionality in cairo to PHP users.

Cairo
Installation/Configuration
Cairo


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Cairo


Pré-requis

Cairo is only available for PHP 5.2+ and PHP 5.3+ The extension also requires the cairo graphics library version 1.4 or higher. The cairo graphics library uses an even and odd numbering scheme to denote stable and unstable library versions. Both unstable and stable versions can be used with the extension, but conditional support for new features is determined by the stable version below the unstable version in use. The latest cairo release can be found at » http://cairographics.org/.

The binary files used for the windows compiles can be found at » http://perisama.net/cairo/ along with the project files used to create them.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/cairo.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Notes specific to installation on Windows

Binary builds of the extension can be found at » http://perisama.net/cairo/. Download the correct zip file, place php_cairo.dll in the extensions directory, and enable it via the php.ini file in use. Please be sure the PHP minor version (5.2, 5.3) match, the thread safety (Thread Safe TS or Non-Thread Safe NTS), the architecture (x86 or x64), and the compiler version (VC6 or VC9) match or the extension will not load.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CAIRO_STATUS_SUCCESS ( integer )
CAIRO_STATUS_NO_MEMORY ( integer )
CAIRO_STATUS_INVALID_RESTORE ( integer )
CAIRO_STATUS_INVALID_POP_GROUP ( integer )
CAIRO_STATUS_NO_CURRENT_POINT ( integer )
CAIRO_STATUS_INVALID_MATRIX ( integer )
CAIRO_STATUS_INVALID_STATUS ( integer )
CAIRO_STATUS_NULL_POINTER ( integer )
CAIRO_STATUS_INVALID_STRING ( integer )
CAIRO_STATUS_INVALID_PATH_DATA ( integer )
CAIRO_STATUS_READ_ERROR ( integer )
CAIRO_STATUS_WRITE_ERROR ( integer )
CAIRO_STATUS_SURFACE_FINISHED ( integer )
CAIRO_STATUS_SURFACE_TYPE_MISMATCH ( integer )
CAIRO_STATUS_PATTERN_TYPE_MISMATCH ( integer )
CAIRO_STATUS_INVALID_CONTENT ( integer )
CAIRO_STATUS_INVALID_FORMAT ( integer )
CAIRO_STATUS_INVALID_VISUAL ( integer )
CAIRO_STATUS_FILE_NOT_FOUND ( integer )
CAIRO_STATUS_INVALID_DASH ( integer )
CAIRO_STATUS_INVALID_DSC_COMMENT ( integer )
CAIRO_STATUS_INVALID_INDEX ( integer )
CAIRO_STATUS_CLIP_NOT_REPRESENTABLE ( integer )
CAIRO_STATUS_TEMP_FILE_ERROR ( integer )
CAIRO_STATUS_INVALID_STRIDE ( integer )
CAIRO_ANTIALIAS_DEFAULT ( integer )
CAIRO_ANTIALIAS_NONE ( integer )
CAIRO_ANTIALIAS_GRAY ( integer )
CAIRO_ANTIALIAS_SUBPIXEL ( integer )
CAIRO_SUBPIXEL_ORDER_DEFAULT ( integer )
CAIRO_SUBPIXEL_ORDER_RGB ( integer )
CAIRO_SUBPIXEL_ORDER_BGR ( integer )
CAIRO_SUBPIXEL_ORDER_VRGB ( integer )
CAIRO_SUBPIXEL_ORDER_VBGR ( integer )
CAIRO_FILL_RULE_WINDING ( integer )
CAIRO_FILL_RULE_EVEN_ODD ( integer )
CAIRO_LINE_CAP_BUTT ( integer )
CAIRO_LINE_CAP_ROUND ( integer )
CAIRO_LINE_CAP_SQUARE ( integer )
CAIRO_LINE_JOIN_MITER ( integer )
CAIRO_LINE_JOIN_ROUND ( integer )
CAIRO_LINE_JOIN_BEVEL ( integer )
CAIRO_OPERATOR_CLEAR ( integer )
CAIRO_OPERATOR_SOURCE ( integer )
CAIRO_OPERATOR_OVER ( integer )
CAIRO_OPERATOR_IN ( integer )
CAIRO_OPERATOR_OUT ( integer )
CAIRO_OPERATOR_ATOP ( integer )
CAIRO_OPERATOR_DEST ( integer )
CAIRO_OPERATOR_DEST_OVER ( integer )
CAIRO_OPERATOR_DEST_IN ( integer )
CAIRO_OPERATOR_DEST_OUT ( integer )
CAIRO_OPERATOR_DEST_ATOP ( integer )
CAIRO_OPERATOR_XOR ( integer )
CAIRO_OPERATOR_ADD ( integer )
CAIRO_OPERATOR_SATURATE ( integer )
CAIRO_PATTERN_TYPE_SOLID ( integer )
CAIRO_PATTERN_TYPE_SURFACE ( integer )
CAIRO_PATTERN_TYPE_LINEAR ( integer )
CAIRO_PATTERN_TYPE_RADIAL ( integer )
CAIRO_EXTEND_NONE ( integer )
CAIRO_EXTEND_REPEAT ( integer )
CAIRO_EXTEND_REFLECT ( integer )
CAIRO_EXTEND_PAD ( integer )
CAIRO_FILTER_FAST ( integer )
CAIRO_FILTER_GOOD ( integer )
CAIRO_FILTER_BEST ( integer )
CAIRO_FILTER_NEAREST ( integer )
CAIRO_FILTER_BILINEAR ( integer )
CAIRO_FILTER_GAUSSIAN ( integer )
CAIRO_HINT_STYLE_DEFAULT ( integer )
CAIRO_HINT_STYLE_NONE ( integer )
CAIRO_HINT_STYLE_SLIGHT ( integer )
CAIRO_HINT_STYLE_MEDIUM ( integer )
CAIRO_HINT_STYLE_FULL ( integer )
CAIRO_HINT_METRICS_DEFAULT ( integer )
CAIRO_HINT_METRICS_OFF ( integer )
CAIRO_HINT_METRICS_ON ( integer )
CAIRO_FONT_TYPE_TOY ( integer )
CAIRO_FONT_TYPE_FT ( integer )
CAIRO_FONT_TYPE_WIN32 ( integer )
CAIRO_FONT_TYPE_QUARTZ ( integer )
CAIRO_FONT_SLANT_NORMAL ( integer )
CAIRO_FONT_SLANT_ITALIC ( integer )
CAIRO_FONT_SLANT_OBLIQUE ( integer )
CAIRO_FONT_WEIGHT_NORMAL ( integer )
CAIRO_FONT_WEIGHT_BOLD ( integer )
CAIRO_CONTENT_COLOR ( integer )
CAIRO_CONTENT_ALPHA ( integer )
CAIRO_CONTENT_COLOR_ALPHA ( integer )
CAIRO_SURFACE_TYPE_IMAGE ( integer )
CAIRO_SURFACE_TYPE_PDF ( integer )
CAIRO_SURFACE_TYPE_PS ( integer )
CAIRO_SURFACE_TYPE_XLIB ( integer )
CAIRO_SURFACE_TYPE_XCB ( integer )
CAIRO_SURFACE_TYPE_GLITZ ( integer )
CAIRO_SURFACE_TYPE_QUARTZ ( integer )
CAIRO_SURFACE_TYPE_WIN32 ( integer )
CAIRO_SURFACE_TYPE_BEOS ( integer )
CAIRO_SURFACE_TYPE_DIRECTFB ( integer )
CAIRO_SURFACE_TYPE_SVG ( integer )
CAIRO_SURFACE_TYPE_OS2 ( integer )
CAIRO_SURFACE_TYPE_WIN32_PRINTING ( integer )
CAIRO_SURFACE_TYPE_QUARTZ_IMAGE ( integer )
CAIRO_FORMAT_ARGB32 ( integer )
CAIRO_FORMAT_RGB24 ( integer )
CAIRO_FORMAT_A8 ( integer )
CAIRO_FORMAT_A1 ( integer )
CAIRO_PS_LEVEL_2 ( integer )
CAIRO_PS_LEVEL_3 ( integer )
CAIRO_SVG_VERSION_1_1 ( integer )
CAIRO_SVG_VERSION_1_2 ( integer )

Types de ressources
Exemples
Cairo


Exemples

Exemple #1 Exemple Cairo

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...
Constantes pré-définies
Fonctions Cairo
Cairo


Fonctions Cairo

Sommaire

  • cairo_create — Retourne un nouvel objet CairoContext pour la surface demandée
  • cairo_font_face_get_type — Description
  • cairo_font_face_status — Description
  • cairo_font_options_create — Description
  • cairo_font_options_equal — Description
  • cairo_font_options_get_antialias — Description
  • cairo_font_options_get_hint_metrics — Description
  • cairo_font_options_get_hint_style — Description
  • cairo_font_options_get_subpixel_order — Description
  • cairo_font_options_hash — Description
  • cairo_font_options_merge — Description
  • cairo_font_options_set_antialias — Description
  • cairo_font_options_set_hint_metrics — Description
  • cairo_font_options_set_hint_style — Description
  • cairo_font_options_set_subpixel_order — Description
  • cairo_font_options_status — Description
  • cairo_format_stride_for_width — Description
  • cairo_image_surface_create_for_data — Description
  • cairo_image_surface_create_from_png — Description
  • cairo_image_surface_create — Description
  • cairo_image_surface_get_data — Description
  • cairo_image_surface_get_format — Description
  • cairo_image_surface_get_height — Description
  • cairo_image_surface_get_stride — Description
  • cairo_image_surface_get_width — Description
  • cairo_matrix_create_scale — Alias de CairoMatrix::initScale
  • cairo_matrix_create_translate — Alias de CairoMatrix::initTranslate
  • cairo_matrix_invert — Description
  • cairo_matrix_multiply — Description
  • cairo_matrix_rotate — Description
  • cairo_matrix_transform_distance — Description
  • cairo_matrix_transform_point — Description
  • cairo_matrix_translate — Description
  • cairo_pattern_add_color_stop_rgb — Description
  • cairo_pattern_add_color_stop_rgba — Description
  • cairo_pattern_create_for_surface — Description
  • cairo_pattern_create_linear — Description
  • cairo_pattern_create_radial — Description
  • cairo_pattern_create_rgb — Description
  • cairo_pattern_create_rgba — Description
  • cairo_pattern_get_color_stop_count — Description
  • cairo_pattern_get_color_stop_rgba — Description
  • cairo_pattern_get_extend — Description
  • cairo_pattern_get_filter — Description
  • cairo_pattern_get_linear_points — Description
  • cairo_pattern_get_matrix — Description
  • cairo_pattern_get_radial_circles — Description
  • cairo_pattern_get_rgba — Description
  • cairo_pattern_get_surface — Description
  • cairo_pattern_get_type — Description
  • cairo_pattern_set_extend — Description
  • cairo_pattern_set_filter — Description
  • cairo_pattern_set_matrix — Description
  • cairo_pattern_status — Description
  • cairo_pdf_surface_create — Description
  • cairo_pdf_surface_set_size — Description
  • cairo_ps_get_levels — Description
  • cairo_ps_level_to_string — Description
  • cairo_ps_surface_create — Description
  • cairo_ps_surface_dsc_begin_page_setup — Description
  • cairo_ps_surface_dsc_begin_setup — Description
  • cairo_ps_surface_dsc_comment — Description
  • cairo_ps_surface_get_eps — Description
  • cairo_ps_surface_restrict_to_level — Description
  • cairo_ps_surface_set_eps — Description
  • cairo_ps_surface_set_size — Description
  • cairo_scaled_font_create — Description
  • cairo_scaled_font_extents — Description
  • cairo_scaled_font_get_ctm — Description
  • cairo_scaled_font_get_font_face — Description
  • cairo_scaled_font_get_font_matrix — Description
  • cairo_scaled_font_get_font_options — Description
  • cairo_scaled_font_get_scale_matrix — Description
  • cairo_scaled_font_get_type — Description
  • cairo_scaled_font_glyph_extents — Description
  • cairo_scaled_font_status — Description
  • cairo_scaled_font_text_extents — Description
  • cairo_surface_copy_page — Description
  • cairo_surface_create_similar — Description
  • cairo_surface_finish — Description
  • cairo_surface_flush — Description
  • cairo_surface_get_content — Description
  • cairo_surface_get_device_offset — Description
  • cairo_surface_get_font_options — Description
  • cairo_surface_get_type — Description
  • cairo_surface_mark_dirty_rectangle — Description
  • cairo_surface_mark_dirty — Description
  • cairo_surface_set_device_offset — Description
  • cairo_surface_set_fallback_resolution — Description
  • cairo_surface_show_page — Description
  • cairo_surface_status — Description
  • cairo_surface_write_to_png — Description
  • cairo_svg_surface_create — Description
  • cairo_svg_surface_restrict_to_version — Description
  • cairo_svg_version_to_string — Description
Exemples
cairo_create
Cairo


Retourne un nouvel objet CairoContext pour la surface demandée

Fonctions Cairo
cairo_font_face_get_type
Fonctions Cairo
PHP Manual

cairo_create

(PECL cairo >= 0.1.0)

cairo_create — Retourne un nouvel objet CairoContext pour la surface demandée

Description

CairoContext cairo_create ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

Fonctions Cairo
cairo_font_face_get_type
Fonctions Cairo


cairo_create
cairo_font_face_status
Fonctions Cairo
PHP Manual

cairo_font_face_get_type

(PECL cairo >= 0.1.0)

cairo_font_face_get_type —

Description

int cairo_font_face_get_type ( CairoFontFace $fontface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

fontface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_face_get_type()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_create
cairo_font_face_status
Fonctions Cairo


cairo_font_face_get_type
cairo_font_options_create
Fonctions Cairo
PHP Manual

cairo_font_face_status

(PECL cairo >= 0.1.0)

cairo_font_face_status —

Description

int cairo_font_face_status ( CairoFontFace $fontface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

fontface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_face_status()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_face_get_type
cairo_font_options_create
Fonctions Cairo


cairo_font_face_status
cairo_font_options_equal
Fonctions Cairo
PHP Manual

cairo_font_options_create

(PECL cairo >= 0.1.0)

cairo_font_options_create —

Description

CairoFontOptions cairo_font_options_create ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_face_status
cairo_font_options_equal
Fonctions Cairo


cairo_font_options_create
cairo_font_options_get_antialias
Fonctions Cairo
PHP Manual

cairo_font_options_equal

(PECL cairo >= 0.1.0)

cairo_font_options_equal —

Description

bool cairo_font_options_equal ( CairoFontOptions $options , CairoFontOptions $other )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

other

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_equal()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_create
cairo_font_options_get_antialias
Fonctions Cairo


cairo_font_options_equal
cairo_font_options_get_hint_metrics
Fonctions Cairo
PHP Manual

cairo_font_options_get_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_get_antialias —

Description

int cairo_font_options_get_antialias ( CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_get_antialias()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_equal
cairo_font_options_get_hint_metrics
Fonctions Cairo


cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Fonctions Cairo
PHP Manual

cairo_font_options_get_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_metrics —

Description

int cairo_font_options_get_hint_metrics ( CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_get_hint_metrics()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_get_antialias
cairo_font_options_get_hint_style
Fonctions Cairo


cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Fonctions Cairo
PHP Manual

cairo_font_options_get_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_get_hint_style —

Description

int cairo_font_options_get_hint_style ( CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_get_hint_style()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_get_hint_metrics
cairo_font_options_get_subpixel_order
Fonctions Cairo


cairo_font_options_get_hint_style
cairo_font_options_hash
Fonctions Cairo
PHP Manual

cairo_font_options_get_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_get_subpixel_order —

Description

int cairo_font_options_get_subpixel_order ( CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_get_subpixel_order()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_get_hint_style
cairo_font_options_hash
Fonctions Cairo


cairo_font_options_get_subpixel_order
cairo_font_options_merge
Fonctions Cairo
PHP Manual

cairo_font_options_hash

(PECL cairo >= 0.1.0)

cairo_font_options_hash —

Description

int cairo_font_options_hash ( CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_hash()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_get_subpixel_order
cairo_font_options_merge
Fonctions Cairo


cairo_font_options_hash
cairo_font_options_set_antialias
Fonctions Cairo
PHP Manual

cairo_font_options_merge

(PECL cairo >= 0.1.0)

cairo_font_options_merge —

Description

void cairo_font_options_merge ( CairoFontOptions $options , CairoFontOptions $other )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

other

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_merge()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_hash
cairo_font_options_set_antialias
Fonctions Cairo


cairo_font_options_merge
cairo_font_options_set_hint_metrics
Fonctions Cairo
PHP Manual

cairo_font_options_set_antialias

(PECL cairo >= 0.1.0)

cairo_font_options_set_antialias —

Description

void cairo_font_options_set_antialias ( CairoFontOptions $options , string $antialias )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

antialias

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_set_antialias()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_merge
cairo_font_options_set_hint_metrics
Fonctions Cairo


cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Fonctions Cairo
PHP Manual

cairo_font_options_set_hint_metrics

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_metrics —

Description

void cairo_font_options_set_hint_metrics ( CairoFontOptions $options , string $hint_metrics )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

hint_metrics

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_set_hint_metrics()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_set_antialias
cairo_font_options_set_hint_style
Fonctions Cairo


cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Fonctions Cairo
PHP Manual

cairo_font_options_set_hint_style

(PECL cairo >= 0.1.0)

cairo_font_options_set_hint_style —

Description

void cairo_font_options_set_hint_style ( CairoFontOptions $options , string $hint_style )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

hint_style

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_set_hint_style()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_set_hint_metrics
cairo_font_options_set_subpixel_order
Fonctions Cairo


cairo_font_options_set_hint_style
cairo_font_options_status
Fonctions Cairo
PHP Manual

cairo_font_options_set_subpixel_order

(PECL cairo >= 0.1.0)

cairo_font_options_set_subpixel_order —

Description

void cairo_font_options_set_subpixel_order ( CairoFontOptions $options , string $subpixel_order )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

subpixel_order

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_set_subpixel_order()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_set_hint_style
cairo_font_options_status
Fonctions Cairo


cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Fonctions Cairo
PHP Manual

cairo_font_options_status

(PECL cairo >= 0.1.0)

cairo_font_options_status —

Description

int cairo_font_options_status ( CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

options

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_font_options_status()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_set_subpixel_order
cairo_format_stride_for_width
Fonctions Cairo


cairo_font_options_status
cairo_image_surface_create_for_data
Fonctions Cairo
PHP Manual

cairo_format_stride_for_width

(PECL cairo >= 0.1.0)

cairo_format_stride_for_width —

Description

int cairo_format_stride_for_width ( int $format , int $width )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

format

width

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_format_stride_for_width()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_font_options_status
cairo_image_surface_create_for_data
Fonctions Cairo


cairo_format_stride_for_width
cairo_image_surface_create_from_png
Fonctions Cairo
PHP Manual

cairo_image_surface_create_for_data

(PECL cairo >= 0.1.0)

cairo_image_surface_create_for_data —

Description

CairoImageSurface cairo_image_surface_create_for_data ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

data

format

width

height

stride

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_create_for_data()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_format_stride_for_width
cairo_image_surface_create_from_png
Fonctions Cairo


cairo_image_surface_create_for_data
cairo_image_surface_create
Fonctions Cairo
PHP Manual

cairo_image_surface_create_from_png

(PECL cairo >= 0.1.0)

cairo_image_surface_create_from_png —

Description

CairoImageSurface cairo_image_surface_create_from_png ( string $file )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_create_from_png()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_create_for_data
cairo_image_surface_create
Fonctions Cairo


cairo_image_surface_create_from_png
cairo_image_surface_get_data
Fonctions Cairo
PHP Manual

cairo_image_surface_create

(PECL cairo >= 0.1.0)

cairo_image_surface_create —

Description

CairoImageSurface cairo_image_surface_create ( int $format , int $width , int $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

format

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_create_from_png
cairo_image_surface_get_data
Fonctions Cairo


cairo_image_surface_create
cairo_image_surface_get_format
Fonctions Cairo
PHP Manual

cairo_image_surface_get_data

(PECL cairo >= 0.1.0)

cairo_image_surface_get_data —

Description

string cairo_image_surface_get_data ( CairoImageSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_get_data()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_create
cairo_image_surface_get_format
Fonctions Cairo


cairo_image_surface_get_data
cairo_image_surface_get_height
Fonctions Cairo
PHP Manual

cairo_image_surface_get_format

(PECL cairo >= 0.1.0)

cairo_image_surface_get_format —

Description

int cairo_image_surface_get_format ( CairoImageSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_get_format()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_get_data
cairo_image_surface_get_height
Fonctions Cairo


cairo_image_surface_get_format
cairo_image_surface_get_stride
Fonctions Cairo
PHP Manual

cairo_image_surface_get_height

(PECL cairo >= 0.1.0)

cairo_image_surface_get_height —

Description

int cairo_image_surface_get_height ( CairoImageSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_get_height()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_get_format
cairo_image_surface_get_stride
Fonctions Cairo


cairo_image_surface_get_height
cairo_image_surface_get_width
Fonctions Cairo
PHP Manual

cairo_image_surface_get_stride

(PECL cairo >= 0.1.0)

cairo_image_surface_get_stride —

Description

int cairo_image_surface_get_stride ( CairoImageSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_get_stride()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_get_height
cairo_image_surface_get_width
Fonctions Cairo


cairo_image_surface_get_stride
cairo_matrix_create_scale
Fonctions Cairo
PHP Manual

cairo_image_surface_get_width

(PECL cairo >= 0.1.0)

cairo_image_surface_get_width —

Description

int cairo_image_surface_get_width ( CairoImageSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_image_surface_get_width()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_image_surface_get_stride
cairo_matrix_create_scale
Fonctions Cairo


Alias de CairoMatrix::initScale

cairo_image_surface_get_width
cairo_matrix_create_translate
Fonctions Cairo
PHP Manual

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

cairo_matrix_create_scale — Alias de CairoMatrix::initScale

Description

Cette fonction est un alias de : CairoMatrix::initScale.

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

cairo_image_surface_get_width
cairo_matrix_create_translate
Fonctions Cairo


Alias de CairoMatrix::initTranslate

cairo_matrix_create_scale
cairo_matrix_invert
Fonctions Cairo
PHP Manual

cairo_matrix_create_translate

(PECL cairo >= 0.1.0)

cairo_matrix_create_translate — Alias de CairoMatrix::initTranslate

Description

Cette fonction est un alias de : CairoMatrix::initTranslate.

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

cairo_matrix_create_scale
cairo_matrix_invert
Fonctions Cairo


cairo_matrix_create_translate
cairo_matrix_multiply
Fonctions Cairo
PHP Manual

cairo_matrix_invert

(PECL cairo >= 0.1.0)

cairo_matrix_invert —

Description

void cairo_matrix_invert ( CairoMatrix $matrix )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_matrix_invert()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_create_translate
cairo_matrix_multiply
Fonctions Cairo


cairo_matrix_invert
cairo_matrix_rotate
Fonctions Cairo
PHP Manual

cairo_matrix_multiply

(PECL cairo >= 0.1.0)

cairo_matrix_multiply —

Description

CairoMatrix cairo_matrix_multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix1

matrix2

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_matrix_multiply()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_invert
cairo_matrix_rotate
Fonctions Cairo


cairo_matrix_multiply
cairo_matrix_transform_distance
Fonctions Cairo
PHP Manual

cairo_matrix_rotate

(PECL cairo >= 0.1.0)

cairo_matrix_rotate —

Description

void cairo_matrix_rotate ( CairoMatrix $matrix , string $radians )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix

radians

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_matrix_rotate()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_multiply
cairo_matrix_transform_distance
Fonctions Cairo


cairo_matrix_rotate
cairo_matrix_transform_point
Fonctions Cairo
PHP Manual

cairo_matrix_transform_distance

(PECL cairo >= 0.1.0)

cairo_matrix_transform_distance —

Description

array cairo_matrix_transform_distance ( CairoMatrix $matrix , string $dx , string $dy )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix

dx

dy

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_matrix_transform_distance()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_rotate
cairo_matrix_transform_point
Fonctions Cairo


cairo_matrix_transform_distance
cairo_matrix_translate
Fonctions Cairo
PHP Manual

cairo_matrix_transform_point

(PECL cairo >= 0.1.0)

cairo_matrix_transform_point —

Description

array cairo_matrix_transform_point ( CairoMatrix $matrix , string $dx , string $dy )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix

dx

dy

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_matrix_transform_point()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_transform_distance
cairo_matrix_translate
Fonctions Cairo


cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Fonctions Cairo
PHP Manual

cairo_matrix_translate

(PECL cairo >= 0.1.0)

cairo_matrix_translate —

Description

void cairo_matrix_translate ( CairoMatrix $matrix , string $tx , string $ty )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix

tx

ty

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_matrix_translate()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_transform_point
cairo_pattern_add_color_stop_rgb
Fonctions Cairo


cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Fonctions Cairo
PHP Manual

cairo_pattern_add_color_stop_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgb —

Description

void cairo_pattern_add_color_stop_rgb ( CairoGradientPattern $pattern , string $offset , string $red , string $green , string $blue )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

offset

red

green

blue

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_add_color_stop_rgb()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_matrix_translate
cairo_pattern_add_color_stop_rgba
Fonctions Cairo


cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Fonctions Cairo
PHP Manual

cairo_pattern_add_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_add_color_stop_rgba —

Description

void cairo_pattern_add_color_stop_rgba ( CairoGradientPattern $pattern , string $offset , string $red , string $green , string $blue , string $alpha )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

offset

red

green

blue

alpha

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_add_color_stop_rgba()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_add_color_stop_rgb
cairo_pattern_create_for_surface
Fonctions Cairo


cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Fonctions Cairo
PHP Manual

cairo_pattern_create_for_surface

(PECL cairo >= 0.1.0)

cairo_pattern_create_for_surface —

Description

CairoPattern cairo_pattern_create_for_surface ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_create_for_surface()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_add_color_stop_rgba
cairo_pattern_create_linear
Fonctions Cairo


cairo_pattern_create_for_surface
cairo_pattern_create_radial
Fonctions Cairo
PHP Manual

cairo_pattern_create_linear

(PECL cairo >= 0.1.0)

cairo_pattern_create_linear —

Description

CairoPattern cairo_pattern_create_linear ( float $x0 , float $y0 , float $x1 , float $y1 )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x0

y0

x1

y1

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_create_linear()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_create_for_surface
cairo_pattern_create_radial
Fonctions Cairo


cairo_pattern_create_linear
cairo_pattern_create_rgb
Fonctions Cairo
PHP Manual

cairo_pattern_create_radial

(PECL cairo >= 0.1.0)

cairo_pattern_create_radial —

Description

CairoPattern cairo_pattern_create_radial ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x0

y0

r0

x1

y1

r1

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_create_radial()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_create_linear
cairo_pattern_create_rgb
Fonctions Cairo


cairo_pattern_create_radial
cairo_pattern_create_rgba
Fonctions Cairo
PHP Manual

cairo_pattern_create_rgb

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgb —

Description

CairoPattern cairo_pattern_create_rgb ( float $red , float $green , float $blue )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

red

green

blue

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_create_rgb()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_create_radial
cairo_pattern_create_rgba
Fonctions Cairo


cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Fonctions Cairo
PHP Manual

cairo_pattern_create_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_create_rgba —

Description

CairoPattern cairo_pattern_create_rgba ( float $red , float $green , float $blue , float $alpha )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

red

green

blue

alpha

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_create_rgba()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_create_rgb
cairo_pattern_get_color_stop_count
Fonctions Cairo


cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Fonctions Cairo
PHP Manual

cairo_pattern_get_color_stop_count

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_count —

Description

int cairo_pattern_get_color_stop_count ( CairoGradientPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_color_stop_count()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_create_rgba
cairo_pattern_get_color_stop_rgba
Fonctions Cairo


cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Fonctions Cairo
PHP Manual

cairo_pattern_get_color_stop_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_color_stop_rgba —

Description

array cairo_pattern_get_color_stop_rgba ( CairoGradientPattern $pattern , string $index )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

index

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_color_stop_rgba()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_color_stop_count
cairo_pattern_get_extend
Fonctions Cairo


cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Fonctions Cairo
PHP Manual

cairo_pattern_get_extend

(PECL cairo >= 0.1.0)

cairo_pattern_get_extend —

Description

int cairo_pattern_get_extend ( string $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_extend()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_color_stop_rgba
cairo_pattern_get_filter
Fonctions Cairo


cairo_pattern_get_extend
cairo_pattern_get_linear_points
Fonctions Cairo
PHP Manual

cairo_pattern_get_filter

(PECL cairo >= 0.1.0)

cairo_pattern_get_filter —

Description

int cairo_pattern_get_filter ( CairoSurfacePattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_filter()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_extend
cairo_pattern_get_linear_points
Fonctions Cairo


cairo_pattern_get_filter
cairo_pattern_get_matrix
Fonctions Cairo
PHP Manual

cairo_pattern_get_linear_points

(PECL cairo >= 0.1.0)

cairo_pattern_get_linear_points —

Description

array cairo_pattern_get_linear_points ( CairoLinearGradient $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_linear_points()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_filter
cairo_pattern_get_matrix
Fonctions Cairo


cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Fonctions Cairo
PHP Manual

cairo_pattern_get_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_get_matrix —

Description

CairoMatrix cairo_pattern_get_matrix ( CairoPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_matrix()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles
Fonctions Cairo


cairo_pattern_get_matrix
cairo_pattern_get_rgba
Fonctions Cairo
PHP Manual

cairo_pattern_get_radial_circles

(PECL cairo >= 0.1.0)

cairo_pattern_get_radial_circles —

Description

array cairo_pattern_get_radial_circles ( CairoRadialGradient $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_radial_circles()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_matrix
cairo_pattern_get_rgba
Fonctions Cairo


cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Fonctions Cairo
PHP Manual

cairo_pattern_get_rgba

(PECL cairo >= 0.1.0)

cairo_pattern_get_rgba —

Description

array cairo_pattern_get_rgba ( CairoSolidPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_rgba()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_radial_circles
cairo_pattern_get_surface
Fonctions Cairo


cairo_pattern_get_rgba
cairo_pattern_get_type
Fonctions Cairo
PHP Manual

cairo_pattern_get_surface

(PECL cairo >= 0.1.0)

cairo_pattern_get_surface —

Description

CairoSurface cairo_pattern_get_surface ( CairoSurfacePattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_surface()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_get_rgba
cairo_pattern_get_type
Fonctions Cairo


cairo_pattern_get_surface
cairo_pattern_set_extend
Fonctions Cairo
PHP Manual

cairo_pattern_get_type

(PECL cairo >= 0.1.0)

cairo_pattern_get_type —

Description

int cairo_pattern_get_type ( CairoPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_get_type()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • related function name here()

cairo_pattern_get_surface
cairo_pattern_set_extend
Fonctions Cairo


cairo_pattern_get_type
cairo_pattern_set_filter
Fonctions Cairo
PHP Manual

cairo_pattern_set_extend

(PECL cairo >= 0.1.0)

cairo_pattern_set_extend —

Description

void cairo_pattern_set_extend ( string $pattern , string $extend )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

extend

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_set_extend()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • related function name here()

cairo_pattern_get_type
cairo_pattern_set_filter
Fonctions Cairo


cairo_pattern_set_extend
cairo_pattern_set_matrix
Fonctions Cairo
PHP Manual

cairo_pattern_set_filter

(PECL cairo >= 0.1.0)

cairo_pattern_set_filter —

Description

void cairo_pattern_set_filter ( CairoSurfacePattern $pattern [, string $filter ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

filter

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_set_filter()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • related function name here()

cairo_pattern_set_extend
cairo_pattern_set_matrix
Fonctions Cairo


cairo_pattern_set_filter
cairo_pattern_status
Fonctions Cairo
PHP Manual

cairo_pattern_set_matrix

(PECL cairo >= 0.1.0)

cairo_pattern_set_matrix —

Description

void cairo_pattern_set_matrix ( CairoPattern $pattern [, CairoMatrix $matrix ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

matrix

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_set_matrix()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_set_filter
cairo_pattern_status
Fonctions Cairo


cairo_pattern_set_matrix
cairo_pdf_surface_create
Fonctions Cairo
PHP Manual

cairo_pattern_status

(PECL cairo >= 0.1.0)

cairo_pattern_status —

Description

int cairo_pattern_status ( CairoPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

pattern

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pattern_status()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_set_matrix
cairo_pdf_surface_create
Fonctions Cairo


cairo_pattern_status
cairo_pdf_surface_set_size
Fonctions Cairo
PHP Manual

cairo_pdf_surface_create

(PECL cairo >= 0.1.0)

cairo_pdf_surface_create —

Description

CairoPdfSurface cairo_pdf_surface_create ( string $file , float $width , float $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pdf_surface_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pattern_status
cairo_pdf_surface_set_size
Fonctions Cairo


cairo_pdf_surface_create
cairo_ps_get_levels
Fonctions Cairo
PHP Manual

cairo_pdf_surface_set_size

(PECL cairo >= 0.1.0)

cairo_pdf_surface_set_size —

Description

void cairo_pdf_surface_set_size ( CairoPdfSurface $surface , string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_pdf_surface_set_size()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pdf_surface_create
cairo_ps_get_levels
Fonctions Cairo


cairo_pdf_surface_set_size
cairo_ps_level_to_string
Fonctions Cairo
PHP Manual

cairo_ps_get_levels

(PECL cairo >= 0.1.0)

cairo_ps_get_levels —

Description

array cairo_ps_get_levels ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_get_levels()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_pdf_surface_set_size
cairo_ps_level_to_string
Fonctions Cairo


cairo_ps_get_levels
cairo_ps_surface_create
Fonctions Cairo
PHP Manual

cairo_ps_level_to_string

(PECL cairo >= 0.1.0)

cairo_ps_level_to_string —

Description

string cairo_ps_level_to_string ( string $level )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

level

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_level_to_string()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_get_levels
cairo_ps_surface_create
Fonctions Cairo


cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Fonctions Cairo
PHP Manual

cairo_ps_surface_create

(PECL cairo >= 0.1.0)

cairo_ps_surface_create —

Description

CairoPsSurface cairo_ps_surface_create ( string $file , float $width , float $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_level_to_string
cairo_ps_surface_dsc_begin_page_setup
Fonctions Cairo


cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Fonctions Cairo
PHP Manual

cairo_ps_surface_dsc_begin_page_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_page_setup —

Description

void cairo_ps_surface_dsc_begin_page_setup ( CairoPsSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_dsc_begin_page_setup()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_create
cairo_ps_surface_dsc_begin_setup
Fonctions Cairo


cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Fonctions Cairo
PHP Manual

cairo_ps_surface_dsc_begin_setup

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_begin_setup —

Description

void cairo_ps_surface_dsc_begin_setup ( CairoPsSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_dsc_begin_setup()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_dsc_begin_page_setup
cairo_ps_surface_dsc_comment
Fonctions Cairo


cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Fonctions Cairo
PHP Manual

cairo_ps_surface_dsc_comment

(PECL cairo >= 0.1.0)

cairo_ps_surface_dsc_comment —

Description

void cairo_ps_surface_dsc_comment ( CairoPsSurface $surface , string $comment )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

comment

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_dsc_comment()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_dsc_begin_setup
cairo_ps_surface_get_eps
Fonctions Cairo


cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Fonctions Cairo
PHP Manual

cairo_ps_surface_get_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_get_eps —

Description

bool cairo_ps_surface_get_eps ( CairoPsSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_get_eps()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_dsc_comment
cairo_ps_surface_restrict_to_level
Fonctions Cairo


cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Fonctions Cairo
PHP Manual

cairo_ps_surface_restrict_to_level

(PECL cairo >= 0.1.0)

cairo_ps_surface_restrict_to_level —

Description

void cairo_ps_surface_restrict_to_level ( CairoPsSurface $surface , string $level )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

level

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_restrict_to_level()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_get_eps
cairo_ps_surface_set_eps
Fonctions Cairo


cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Fonctions Cairo
PHP Manual

cairo_ps_surface_set_eps

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_eps —

Description

void cairo_ps_surface_set_eps ( CairoPsSurface $surface , string $level )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

level

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_set_eps()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_restrict_to_level
cairo_ps_surface_set_size
Fonctions Cairo


cairo_ps_surface_set_eps
cairo_scaled_font_create
Fonctions Cairo
PHP Manual

cairo_ps_surface_set_size

(PECL cairo >= 0.1.0)

cairo_ps_surface_set_size —

Description

void cairo_ps_surface_set_size ( CairoPsSurface $surface , string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_ps_surface_set_size()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_set_eps
cairo_scaled_font_create
Fonctions Cairo


cairo_ps_surface_set_size
cairo_scaled_font_extents
Fonctions Cairo
PHP Manual

cairo_scaled_font_create

(PECL cairo >= 0.1.0)

cairo_scaled_font_create —

Description

CairoScaledFont cairo_scaled_font_create ( CairoFontFace $fontface , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $fontoptions )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

fontface

matrix

ctm

fontoptions

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_ps_surface_set_size
cairo_scaled_font_extents
Fonctions Cairo


cairo_scaled_font_create
cairo_scaled_font_get_ctm
Fonctions Cairo
PHP Manual

cairo_scaled_font_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_extents —

Description

array cairo_scaled_font_extents ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_extents()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_create
cairo_scaled_font_get_ctm
Fonctions Cairo


cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Fonctions Cairo
PHP Manual

cairo_scaled_font_get_ctm

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_ctm —

Description

CairoMatrix cairo_scaled_font_get_ctm ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_get_ctm()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_extents
cairo_scaled_font_get_font_face
Fonctions Cairo


cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Fonctions Cairo
PHP Manual

cairo_scaled_font_get_font_face

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_face —

Description

CairoFontFace cairo_scaled_font_get_font_face ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_get_font_face()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_get_ctm
cairo_scaled_font_get_font_matrix
Fonctions Cairo


cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Fonctions Cairo
PHP Manual

cairo_scaled_font_get_font_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_matrix —

Description

CairoFontOptions cairo_scaled_font_get_font_matrix ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_get_font_matrix()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_get_font_face
cairo_scaled_font_get_font_options
Fonctions Cairo


cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Fonctions Cairo
PHP Manual

cairo_scaled_font_get_font_options

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_font_options —

Description

CairoFontOptions cairo_scaled_font_get_font_options ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_get_font_options()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_get_font_matrix
cairo_scaled_font_get_scale_matrix
Fonctions Cairo


cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Fonctions Cairo
PHP Manual

cairo_scaled_font_get_scale_matrix

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_scale_matrix —

Description

CairoMatrix cairo_scaled_font_get_scale_matrix ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_get_scale_matrix()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_get_font_options
cairo_scaled_font_get_type
Fonctions Cairo


cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Fonctions Cairo
PHP Manual

cairo_scaled_font_get_type

(PECL cairo >= 0.1.0)

cairo_scaled_font_get_type —

Description

int cairo_scaled_font_get_type ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_get_type()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_get_scale_matrix
cairo_scaled_font_glyph_extents
Fonctions Cairo


cairo_scaled_font_get_type
cairo_scaled_font_status
Fonctions Cairo
PHP Manual

cairo_scaled_font_glyph_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_glyph_extents —

Description

array cairo_scaled_font_glyph_extents ( CairoScaledFont $scaledfont , string $glyphs )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

glyphs

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_glyph_extents()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_get_type
cairo_scaled_font_status
Fonctions Cairo


cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Fonctions Cairo
PHP Manual

cairo_scaled_font_status

(PECL cairo >= 0.1.0)

cairo_scaled_font_status —

Description

int cairo_scaled_font_status ( CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_status()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_glyph_extents
cairo_scaled_font_text_extents
Fonctions Cairo


cairo_scaled_font_status
cairo_surface_copy_page
Fonctions Cairo
PHP Manual

cairo_scaled_font_text_extents

(PECL cairo >= 0.1.0)

cairo_scaled_font_text_extents —

Description

array cairo_scaled_font_text_extents ( CairoScaledFont $scaledfont , string $text )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

scaledfont

text

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_scaled_font_text_extents()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_status
cairo_surface_copy_page
Fonctions Cairo


cairo_scaled_font_text_extents
cairo_surface_create_similar
Fonctions Cairo
PHP Manual

cairo_surface_copy_page

(PECL cairo >= 0.1.0)

cairo_surface_copy_page —

Description

void cairo_surface_copy_page ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_copy_page()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_scaled_font_text_extents
cairo_surface_create_similar
Fonctions Cairo


cairo_surface_copy_page
cairo_surface_finish
Fonctions Cairo
PHP Manual

cairo_surface_create_similar

(PECL cairo >= 0.1.0)

cairo_surface_create_similar —

Description

CairoSurface cairo_surface_create_similar ( CairoSurface $surface , string $content , string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

content

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_create_similar()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_copy_page
cairo_surface_finish
Fonctions Cairo


cairo_surface_create_similar
cairo_surface_flush
Fonctions Cairo
PHP Manual

cairo_surface_finish

(PECL cairo >= 0.1.0)

cairo_surface_finish —

Description

void cairo_surface_finish ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_finish()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_create_similar
cairo_surface_flush
Fonctions Cairo


cairo_surface_finish
cairo_surface_get_content
Fonctions Cairo
PHP Manual

cairo_surface_flush

(PECL cairo >= 0.1.0)

cairo_surface_flush —

Description

void cairo_surface_flush ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_flush()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_finish
cairo_surface_get_content
Fonctions Cairo


cairo_surface_flush
cairo_surface_get_device_offset
Fonctions Cairo
PHP Manual

cairo_surface_get_content

(PECL cairo >= 0.1.0)

cairo_surface_get_content —

Description

int cairo_surface_get_content ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_get_content()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_flush
cairo_surface_get_device_offset
Fonctions Cairo


cairo_surface_get_content
cairo_surface_get_font_options
Fonctions Cairo
PHP Manual

cairo_surface_get_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_get_device_offset —

Description

array cairo_surface_get_device_offset ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_get_device_offset()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_get_content
cairo_surface_get_font_options
Fonctions Cairo


cairo_surface_get_device_offset
cairo_surface_get_type
Fonctions Cairo
PHP Manual

cairo_surface_get_font_options

(PECL cairo >= 0.1.0)

cairo_surface_get_font_options —

Description

CairoFontOptions cairo_surface_get_font_options ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_get_font_options()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_get_device_offset
cairo_surface_get_type
Fonctions Cairo


cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Fonctions Cairo
PHP Manual

cairo_surface_get_type

(PECL cairo >= 0.1.0)

cairo_surface_get_type —

Description

int cairo_surface_get_type ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_get_type()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_get_font_options
cairo_surface_mark_dirty_rectangle
Fonctions Cairo


cairo_surface_get_type
cairo_surface_mark_dirty
Fonctions Cairo
PHP Manual

cairo_surface_mark_dirty_rectangle

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty_rectangle —

Description

void cairo_surface_mark_dirty_rectangle ( CairoSurface $surface , string $x , string $y , string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

x

y

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_mark_dirty_rectangle()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_get_type
cairo_surface_mark_dirty
Fonctions Cairo


cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Fonctions Cairo
PHP Manual

cairo_surface_mark_dirty

(PECL cairo >= 0.1.0)

cairo_surface_mark_dirty —

Description

void cairo_surface_mark_dirty ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_mark_dirty()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_mark_dirty_rectangle
cairo_surface_set_device_offset
Fonctions Cairo


cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Fonctions Cairo
PHP Manual

cairo_surface_set_device_offset

(PECL cairo >= 0.1.0)

cairo_surface_set_device_offset —

Description

void cairo_surface_set_device_offset ( CairoSurface $surface , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

x

y

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_set_device_offset()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_mark_dirty
cairo_surface_set_fallback_resolution
Fonctions Cairo


cairo_surface_set_device_offset
cairo_surface_show_page
Fonctions Cairo
PHP Manual

cairo_surface_set_fallback_resolution

(PECL cairo >= 0.1.0)

cairo_surface_set_fallback_resolution —

Description

void cairo_surface_set_fallback_resolution ( CairoSurface $surface , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

x

y

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_set_fallback_resolution()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_set_device_offset
cairo_surface_show_page
Fonctions Cairo


cairo_surface_set_fallback_resolution
cairo_surface_status
Fonctions Cairo
PHP Manual

cairo_surface_show_page

(PECL cairo >= 0.1.0)

cairo_surface_show_page —

Description

void cairo_surface_show_page ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_show_page()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_set_fallback_resolution
cairo_surface_status
Fonctions Cairo


cairo_surface_show_page
cairo_surface_write_to_png
Fonctions Cairo
PHP Manual

cairo_surface_status

(PECL cairo >= 0.1.0)

cairo_surface_status —

Description

int cairo_surface_status ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_status()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_show_page
cairo_surface_write_to_png
Fonctions Cairo


cairo_surface_status
cairo_svg_surface_create
Fonctions Cairo
PHP Manual

cairo_surface_write_to_png

(PECL cairo >= 0.1.0)

cairo_surface_write_to_png —

Description

void cairo_surface_write_to_png ( CairoSurface $surface , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

x

y

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_surface_write_to_png()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_status
cairo_svg_surface_create
Fonctions Cairo


cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Fonctions Cairo
PHP Manual

cairo_svg_surface_create

(PECL cairo >= 0.1.0)

cairo_svg_surface_create —

Description

CairoSvgSurface cairo_svg_surface_create ( string $file , float $width , float $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

width

height

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_svg_surface_create()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_surface_write_to_png
cairo_svg_surface_restrict_to_version
Fonctions Cairo


cairo_svg_surface_create
cairo_svg_version_to_string
Fonctions Cairo
PHP Manual

cairo_svg_surface_restrict_to_version

(PECL cairo >= 0.1.0)

cairo_svg_surface_restrict_to_version —

Description

void cairo_svg_surface_restrict_to_version ( CairoSvgSurface $surface , string $version )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

version

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_svg_surface_restrict_to_version()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_svg_surface_create
cairo_svg_version_to_string
Fonctions Cairo


cairo_svg_surface_restrict_to_version
Cairo
Fonctions Cairo
PHP Manual

cairo_svg_version_to_string

(PECL cairo >= 0.1.0)

cairo_svg_version_to_string —

Description

string cairo_svg_version_to_string ( int $version )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

version

Valeurs de retour

Erreurs / Exceptions

Exemples

Exemple #1 Exemple avec cairo_svg_version_to_string()

<?php

/* ... */

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

cairo_svg_surface_restrict_to_version
Cairo
Fonctions Cairo


The Cairo class

Introduction

Simple class with some static helper methods.

Synopsis de la classe

Cairo
Cairo {
/* Méthodes */
public static array availableFonts ( void )
public static array availableSurfaces ( void )
public static string statusToString ( int $status )
public static int version ( void )
public static string versionString ( void )
}

Sommaire

  • Cairo::availableFonts — Récupère tous les types de police disponibles
  • Cairo::availableSurfaces — Récupère toutes les surfaces disponibles
  • Cairo::statusToString — Récupère le statut courant, sous la forme d'une chaîne de caractères
  • Cairo::version — Récupère la version de la bibliothèque Cairo
  • Cairo::versionString — Récupère la version Cairo sous la forme d'une chaîne de caractères
cairo_svg_version_to_string
Cairo::availableFonts
Cairo


Récupère tous les types de police disponibles

Cairo
Cairo::availableSurfaces
Cairo
PHP Manual

Cairo::availableFonts

cairo_available_fonts

(PECL cairo >= 0.1.0)

Cairo::availableFonts -- cairo_available_fonts — Récupère tous les types de police disponibles

Description

Style orienté objet :

public static array Cairo::availableFonts ( void )

Style procédural :

array cairo_available_fonts ( void )

Récupère tous les types de police disponibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau contenant tous les types de police disponibles.

Exemples

Exemple #1 Style orienté objet

<?php

var_dump(Cairo::availableFonts());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Exemple #2 Style procédural

<?php

var_dump(cairo_available_fonts());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  string(5) "WIN32"
  [1]=>
  string(4) "USER"
}

Voir aussi

  • Cairo::availableSurfaces - Récupère toutes les surfaces disponibles

Cairo
Cairo::availableSurfaces
Cairo


Récupère toutes les surfaces disponibles

Cairo::availableFonts
Cairo::statusToString
Cairo
PHP Manual

Cairo::availableSurfaces

cairo_available_surfaces

(PECL cairo >= 0.1.0)

Cairo::availableSurfaces -- cairo_available_surfaces — Récupère toutes les surfaces disponibles

Description

Style orienté objet (méthode) :

public static array Cairo::availableSurfaces ( void )

Style procédural :

array cairo_available_surfaces ( void )

Retourne un tableau contenant toutes les surfaces disponibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau contenant la liste de toutes les surfaces disponibles.

Exemples

Exemple #1 Style orienté objet

<?php

var_dump(Cairo::availableSurfaces());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Exemple #2 Style procédural

<?php

var_dump(cairo_available_surfaces());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(6) {
  [0]=>
  string(5) "IMAGE"
  [1]=>
  string(3) "PNG"
  [2]=>
  string(3) "PDF"
  [3]=>
  string(2) "PS"
  [4]=>
  string(3) "SVG"
  [5]=>
  string(5) "WIN32"
}

Voir aussi

  • Cairo::availableFonts - Récupère tous les types de police disponibles

Cairo::availableFonts
Cairo::statusToString
Cairo


Récupère le statut courant, sous la forme d'une chaîne de caractères

Cairo::availableSurfaces
Cairo::version
Cairo
PHP Manual

Cairo::statusToString

cairo_status_to_string

(PECL cairo >= 0.1.0)

Cairo::statusToString -- cairo_status_to_string — Récupère le statut courant, sous la forme d'une chaîne de caractères

Description

Style orienté objet (method):

public static string Cairo::statusToString ( int $status )

Style procédural :

string cairo_status_to_string ( int $status )

Récupère le statut courant, sous la forme d'une chaîne de caractères.

Liste de paramètres

status

Un code statut valide, fourni par la fonction cairo_status() ou la méthode CairoContext::status.

Valeurs de retour

Une chaîne de caractères contenant le statut courant de l'objet CairoContext.

Exemples

Exemple #1 Style orienté objet

<?php
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);

var_dump(Cairo::statusToString($context->status()));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(7) "success"

Exemple #2 Style procédural

<?php
$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$context = cairo_create($surface);

var_dump(cairo_status_to_string(cairo_status($context)));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(7) "success"

Voir aussi

  • CairoContext::status - Le but de status

Cairo::availableSurfaces
Cairo::version
Cairo


Récupère la version de la bibliothèque Cairo

Cairo::statusToString
Cairo::versionString
Cairo
PHP Manual

Cairo::version

cairo_version

(PECL cairo >= 0.1.0)

Cairo::version -- cairo_version — Récupère la version de la bibliothèque Cairo

Description

Style orienté objet (méthode) :

public static int Cairo::version ( void )

Style procédural :

int cairo_version ( void )

Récupère la version courante de la bibliothèque Cairo, sous la forme d'une valeur entière.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une entier décrivant la version de la bibliothèque Cairo courante.

Exemples

Exemple #1 Style orienté objet

<?php
var_dump(Cairo::version());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(10808)

Exemple #2 Style procédural

<?php
var_dump(cairo_version());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(10808)

Voir aussi

  • Cairo::versionString - Récupère la version Cairo sous la forme d'une chaîne de caractères

Cairo::statusToString
Cairo::versionString
Cairo


Récupère la version Cairo sous la forme d'une chaîne de caractères

Cairo::version
CairoContext
Cairo
PHP Manual

Cairo::versionString

cairo_version_string

(PECL cairo >= 0.1.0)

Cairo::versionString -- cairo_version_string — Récupère la version Cairo sous la forme d'une chaîne de caractères

Description

Style orienté objet (méthode) :

public static string Cairo::versionString ( void )

Style procédural :

string cairo_version_string ( void )

Récupère la version de la bibliothèque cairo courant, sous la forme d'une chaîne de caractères.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une chaîne de caractères décrivant la version de la bibliothèque Cairo courante.

Exemples

Exemple #1 Style orienté objet

<?php

var_dump(Cairo::versionString());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "1.8.8"

Exemple #2 Style procédural

<?php

var_dump(cairo_version_string());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "1.8.8"

Voir aussi

  • Cairo::version - Récupère la version de la bibliothèque Cairo

Cairo::version
CairoContext
Cairo


The CairoContext class

Introduction

Context is the main object used when drawing with cairo. To draw with cairo, you create a CairoContext, set the target CairoSurface, and drawing options for the CairoContext, create shapes with functions . like CairoContext::moveTo and CairoContext::lineTo, and then draw shapes with CairoContext::stroke or CairoContext::fill. Contexts can be pushed to a stack via CairoContext::save. They may then safely be changed, without loosing the current state. Use CairoContext::restore to restore to the saved state.

Synopsis de la classe

CairoContext
CairoContext {
/* Méthodes */
public void appendPath ( CairoPath $path )
public void arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )
public void clip ( void )
public array clipExtents ( void )
public void clipPreserve ( void )
public array clipRectangleList ( void )
public void closePath ( void )
__construct ( CairoSurface $surface )
public void copyPage ( void )
public CairoPath copyPath ( void )
public CairoPath copyPathFlat ( void )
public void curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
public array deviceToUser ( float $x , float $y )
public array deviceToUserDistance ( float $x , float $y )
public void fill ( void )
public array fillExtents ( void )
public void fillPreserve ( void )
public array fontExtents ( void )
public int getAntialias ( void )
public array getCurrentPoint ( void )
public array getDash ( void )
public int getDashCount ( void )
public int getFillRule ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getGroupTarget ( void )
public int getLineCap ( void )
public int getLineJoin ( void )
public float getLineWidth ( void )
public void getMatrix ( void )
public float getMiterLimit ( void )
public int getOperator ( void )
public void getScaledFont ( void )
public void getSource ( void )
public void getTarget ( void )
public float getTolerance ( void )
public void glyphPath ( array $glyphs )
public bool hasCurrentPoint ( void )
public void identityMatrix ( void )
public bool inFill ( string $x , string $y )
public bool inStroke ( string $x , string $y )
public void lineTo ( string $x , string $y )
public void mask ( string $pattern )
public void maskSurface ( string $surface [, string $x [, string $y ]] )
public void moveTo ( string $x , string $y )
public void newPath ( void )
public void newSubPath ( void )
public void paint ( void )
public void paintWithAlpha ( string $alpha )
public array pathExtents ( void )
public void popGroup ( void )
public void popGroupToSource ( void )
public void pushGroup ( void )
public void pushGroupWithContent ( string $content )
public void rectangle ( string $x , string $y , string $width , string $height )
public void relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )
public void relLineTo ( string $x , string $y )
public void relMoveTo ( string $x , string $y )
public void resetClip ( void )
public void restore ( void )
public void rotate ( string $angle )
public void save ( void )
public void scale ( string $x , string $y )
public void selectFontFace ( string $family [, string $slant [, string $weight ]] )
public void setAntialias ([ string $antialias ] )
public void setDash ( string $dashes [, string $offset ] )
public void setFillRule ( string $setting )
public void setFontFace ( CairoFontFace $fontface )
public void setFontMatrix ( string $matrix )
public void setFontOptions ( string $fontoptions )
public void setFontSize ( string $size )
public void setLineCap ( string $setting )
public void setLineJoin ( string $setting )
public void setLineWidth ( string $width )
public void setMatrix ( string $matrix )
public void setMiterLimit ( string $limit )
public void setOperator ( string $setting )
public void setScaledFont ( string $scaledfont )
public void setSource ( string $pattern )
public void setSourceRGB ( string $red , string $green , string $blue )
public void setSourceRGBA ( string $red , string $green , string $blue , string $alpha )
public void setSourceSurface ( string $surface [, string $x [, string $y ]] )
public void setTolerance ( string $tolerance )
public void showPage ( void )
public void showText ( string $text )
public int status ( void )
public void stroke ( void )
public array strokeExtents ( void )
public void strokePreserve ( void )
public array textExtents ( string $text )
public void textPath ( string $string )
public void transform ( string $matrix )
public void translate ( string $x , string $y )
public array userToDevice ( string $x , string $y )
public array userToDeviceDistance ( string $x , string $y )
}

Sommaire

  • CairoContext::appendPath — Appends a path to current path
  • CairoContext::arc — Adds a circular arc
  • CairoContext::arcNegative — Adds a negative arc
  • CairoContext::clip — Establishes a new clip region
  • CairoContext::clipExtents — Computes the area inside the current clip
  • CairoContext::clipPreserve — Establishes a new clip region from the current clip
  • CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
  • CairoContext::closePath — Closes the current path
  • CairoContext::__construct — Creates a new CairoContext
  • CairoContext::copyPage — Emits the current page
  • CairoContext::copyPath — Creates a copy of the current path
  • CairoContext::copyPathFlat — Gets a flattened copy of the current path
  • CairoContext::curveTo — Adds a curve
  • CairoContext::deviceToUser — Transform a coordinate
  • CairoContext::deviceToUserDistance — Transform a distance
  • CairoContext::fill — Fills the current path
  • CairoContext::fillExtents — Computes the filled area
  • CairoContext::fillPreserve — Fills and preserve the current path
  • CairoContext::fontExtents — Get the font extents
  • CairoContext::getAntialias — Retrives the current antialias mode
  • CairoContext::getCurrentPoint — Le but de getCurrentPoint
  • CairoContext::getDash — Le but de getDash
  • CairoContext::getDashCount — Le but de getDashCount
  • CairoContext::getFillRule — Le but de getFillRule
  • CairoContext::getFontFace — Le but de getFontFace
  • CairoContext::getFontMatrix — Le but de getFontMatrix
  • CairoContext::getFontOptions — Le but de getFontOptions
  • CairoContext::getGroupTarget — Le but de getGroupTarget
  • CairoContext::getLineCap — Le but de getLineCap
  • CairoContext::getLineJoin — Le but de getLineJoin
  • CairoContext::getLineWidth — Le but de getLineWidth
  • CairoContext::getMatrix — Le but de getMatrix
  • CairoContext::getMiterLimit — Le but de getMiterLimit
  • CairoContext::getOperator — Le but de getOperator
  • CairoContext::getScaledFont — Le but de getScaledFont
  • CairoContext::getSource — Le but de getSource
  • CairoContext::getTarget — Le but de getTarget
  • CairoContext::getTolerance — Le but de getTolerance
  • CairoContext::glyphPath — Le but de glyphPath
  • CairoContext::hasCurrentPoint — Le but de hasCurrentPoint
  • CairoContext::identityMatrix — Le but de identityMatrix
  • CairoContext::inFill — Le but de inFill
  • CairoContext::inStroke — The inStroke purpose
  • CairoContext::lineTo — The lineTo purpose
  • CairoContext::mask — The mask purpose
  • CairoContext::maskSurface — The maskSurface purpose
  • CairoContext::moveTo — The moveTo purpose
  • CairoContext::newPath — The newPath purpose
  • CairoContext::newSubPath — The newSubPath purpose
  • CairoContext::paint — The paint purpose
  • CairoContext::paintWithAlpha — Le but de paintWithAlpha
  • CairoContext::pathExtents — Le but de pathExtents
  • CairoContext::popGroup — Le but de popGroup purpose
  • CairoContext::popGroupToSource — Le but de popGroupToSource
  • CairoContext::pushGroup — Le but de pushGroup
  • CairoContext::pushGroupWithContent — Le but de pushGroupWithContent
  • CairoContext::rectangle — Le but de rectangle
  • CairoContext::relCurveTo — Le but de relCurveTo
  • CairoContext::relLineTo — Le but de relLineTo
  • CairoContext::relMoveTo — Le but de relMoveTo
  • CairoContext::resetClip — Le but de resetClip
  • CairoContext::restore — Le but de restore
  • CairoContext::rotate — Le but de rotate
  • CairoContext::save — Le but de save
  • CairoContext::scale — Le but de scale
  • CairoContext::selectFontFace — Le but de selectFontFace
  • CairoContext::setAntialias — Le but de setAntialias
  • CairoContext::setDash — Le but de setDash
  • CairoContext::setFillRule — Le but de setFillRule
  • CairoContext::setFontFace — Le but de setFontFace
  • CairoContext::setFontMatrix — Le but de setFontMatrix
  • CairoContext::setFontOptions — Le but de setFontOptions
  • CairoContext::setFontSize — Le but de setFontSize
  • CairoContext::setLineCap — Le but de setLineCap
  • CairoContext::setLineJoin — Le but de setLineJoin
  • CairoContext::setLineWidth — Le but de setLineWidth
  • CairoContext::setMatrix — Le but de setMatrix
  • CairoContext::setMiterLimit — Le but de setMiterLimit
  • CairoContext::setOperator — Le but de setOperator
  • CairoContext::setScaledFont — Le but de setScaledFont
  • CairoContext::setSource — Le but de setSource
  • CairoContext::setSourceRGB — Le but de setSourceRGB
  • CairoContext::setSourceRGBA — Le but de setSourceRGBA
  • CairoContext::setSourceSurface — Le but de setSourceSurface
  • CairoContext::setTolerance — Le but de setTolerance
  • CairoContext::showPage — Le but de showPage
  • CairoContext::showText — Le but de showText
  • CairoContext::status — Le but de status
  • CairoContext::stroke — Le but de stroke
  • CairoContext::strokeExtents — Le but de strokeExtents
  • CairoContext::strokePreserve — Le but de strokePreserve
  • CairoContext::textExtents — Le but de textExtents
  • CairoContext::textPath — Le but de textPath
  • CairoContext::transform — Le but de transform
  • CairoContext::translate — Le but de translate
  • CairoContext::userToDevice — Le but de userToDevice
  • CairoContext::userToDeviceDistance — Le but de userToDeviceDistance
Cairo::versionString
CairoContext::appendPath
Cairo


Appends a path to current path

CairoContext
CairoContext::arc
CairoContext
PHP Manual

CairoContext::appendPath

cairo_append_path

(PECL cairo >= 0.1.0)

CairoContext::appendPath -- cairo_append_path — Appends a path to current path

Description

Object oriented style (method):

public void CairoContext::appendPath ( CairoPath $path )

Procedural style:

void cairo_append_path ( CairoContext $context , CairoPath $path )

Appends the path onto the current path. The path may be either the return value from one of CairoContext::copyPath or CairoContext::copyPathFlat;

if path is not a valid CairoPath instance a CairoException will be thrown

Liste de paramètres

context

CairoContext object

path

CairoPath object

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$path = $context->copyPath();

$context->appendPath($path);

?>

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

$path = cairo_copy_path($context);

cairo_append_path($context, $path);

?>

Voir aussi

  • CairoPath
  • CairoContext::copyPath - Creates a copy of the current path
  • CairoContext::copyPathFlat - Gets a flattened copy of the current path

CairoContext
CairoContext::arc
CairoContext


Adds a circular arc

CairoContext::appendPath
CairoContext::arcNegative
CairoContext
PHP Manual

CairoContext::arc

cairo_arc

(PECL cairo >= 0.1.0)

CairoContext::arc -- cairo_arc — Adds a circular arc

Description

Object oriented style (method):

public void CairoContext::arc ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Procedural style:

void cairo_arc ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Adds a circular arc of the given radius to the current path. The arc is centered at (x, y), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1. If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling CairoContext::newSubPath or procedural cairo_new_sub_path() before calling CairoContext::arc or cairo_arc(). Angles are measured in radians. An angle of 0.0 is in the direction of the positive X axis (in user space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction. (To convert from degrees to radians, use degrees * (M_PI / 180.).) This function gives the arc in the direction of increasing angles; see CairoContext::arcNegative or cairo_arc_negative() to get the arc in the direction of decreasing angles.

Liste de paramètres

context

A valid CairoContext object

x

x position

y

y position

radius

Radius of the arc

angle1

start angle

angle2

end angle

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arc(50, 50, $r, 0, 2 * M_PI);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arc.png');
?>

Exemple #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc($c, 50, 50, $r, 0, 2 * M_PI);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc.png');
?>

Voir aussi

  • CairoContext::arcNegative - Adds a negative arc

CairoContext::appendPath
CairoContext::arcNegative
CairoContext


Adds a negative arc

CairoContext::arc
CairoContext::clip
CairoContext
PHP Manual

CairoContext::arcNegative

cairo_arc_negative

(PECL cairo >= 0.1.0)

CairoContext::arcNegative -- cairo_arc_negative — Adds a negative arc

Description

Object oriented style (method):

public void CairoContext::arcNegative ( float $x , float $y , float $radius , float $angle1 , float $angle2 )

Procedural style:

void cairo_arc_negative ( CairoContext $context , float $x , float $y , float $radius , float $angle1 , float $angle2 )

Adds a circular arc of the given radius to the current path. The arc is centered at (x, y), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is less than angle1. See CairoContext::arc or cairo_arc() for more details. This function differs only in the direction of the arc between the two angles.

Liste de paramètres

context

A valid CairoContext object

x

double x position

y

double y position

radius

The radius of the desired negative arc

angle1

Start angle of the arc

angle2

End angle of the arc

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);

for ($r = 50; $r > 0; $r -= 10) {
 $c->arcNegative(50, 50, $r, 2 * M_PI, 0);
 $c->stroke();
 $c->fill();
}

$s->writeToPng(dirname(__FILE__) . '/CairoContext__arcNegative.png');
?>

Exemple #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);

for ($r = 50; $r > 0; $r -= 10) {
 cairo_arc_negative($c, 50, 50, $r, 2 * M_PI, 0);
 cairo_stroke($c);
 cairo_fill($c);
}

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc_negative.png');
?>

Voir aussi

  • CairoContext::arc - Adds a circular arc

CairoContext::arc
CairoContext::clip
CairoContext


Establishes a new clip region

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext
PHP Manual

CairoContext::clip

cairo_clip

(PECL cairo >= 0.1.0)

CairoContext::clip -- cairo_clip — Establishes a new clip region

Description

Object oriented style (method):

public void CairoContext::clip ( void )

Procedural style:

void cairo_clip ( CairoContext $context )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by CairoContext::fill or cairo_fill() and according to the current fill rule (see CairoContext::setFillRule or cairo_set_fill_rule()).

After CairoContext::clip or cairo_clip(), the current path will be cleared from the cairo context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling  CairoContext::clip or cairo_clip()
can only make the clip region smaller, never larger. But the current clip is part of the
graphics state, so a temporary restriction of the clip region can be achieved by calling
 CairoContext::clip or cairo_clip() within a
 CairoContext::save/ CairoContext::restore or
cairo_save()/cairo_restore() pair.
The only other means of increasing the size of the clip region is
 CairoContext::resetClip or procedural cairo_reset_clip().

Liste de paramètres

context

A valid CairoContext object

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->clip();

?>

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_clip($context);

?>

Voir aussi

  • CairoContext::resetClip - Le but de resetClip
  • cairo_reset_clip() - Le but de resetClip

CairoContext::arcNegative
CairoContext::clipExtents
CairoContext


Computes the area inside the current clip

CairoContext::clip
CairoContext::clipPreserve
CairoContext
PHP Manual

CairoContext::clipExtents

cairo_clip_extents

(PECL cairo >= 0.1.0)

CairoContext::clipExtents -- cairo_clip_extents — Computes the area inside the current clip

Description

Object oriented style (method):

public array CairoContext::clipExtents ( void )

Procedural style:

array cairo_clip_extents ( CairoContext $context )

Computes a bounding box in user coordinates covering the area inside the current clip.

Liste de paramètres

context

A valid CairoContext object

Valeurs de retour

An array containing the (float)x1, (float)y1, (float)x2, (float)y2, coordinates covering the area inside the current clip

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->clipExtents());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_clip_extents($context));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  [0]=>
  float(0)
  [1]=>
  float(0)
  [2]=>
  float(50)
  [3]=>
  float(50)
}

Voir aussi

  • CairoContext::clip - Establishes a new clip region

CairoContext::clip
CairoContext::clipPreserve
CairoContext


Establishes a new clip region from the current clip

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext
PHP Manual

CairoContext::clipPreserve

cairo_clip_preserve

(PECL cairo >= 0.1.0)

CairoContext::clipPreserve -- cairo_clip_preserve — Establishes a new clip region from the current clip

Description

Object oriented style (method):

public void CairoContext::clipPreserve ( void )

Procedural style:

void cairo_clip_preserve ( CairoContext $context )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by Context.fill and according to the current FILL RULE (see CairoContext::setFillRule or cairo_set_fill_rule()).

Unlike CairoContext::clip, CairoContext::clipPreserve preserves the path within the Context. The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling CairoContext::clipPreserve can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling CairoContext::clipPreserve within a CairoContext::save/ CairoContext::restore pair. The only other means of increasing the size of the clip region is CairoContext::resetClip.

Liste de paramètres

context

A valid CairoContext object

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->clipPreserve();

?>

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_clip_preserve($context);

?>

Voir aussi

  • CairoContext::save - Le but de save
  • CairoContext::restore - Le but de restore
  • CairoContext::resetClip - Le but de resetClip

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext


Retrieves the current clip as a list of rectangles

CairoContext::clipPreserve
CairoContext::closePath
CairoContext
PHP Manual

CairoContext::clipRectangleList

cairo_clip_rectangle_list

(PECL cairo >= 0.1.0)

CairoContext::clipRectangleList -- cairo_clip_rectangle_list — Retrieves the current clip as a list of rectangles

Description

Object oriented style (method):

public array CairoContext::clipRectangleList ( void )

Procedural style:

array cairo_clip_rectangle_list ( CairoContext $context )

Returns a list-type array with the current clip region as a list of rectangles in user coordinates

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

An array of user-space represented rectangles for the current clip

(The status in the list may be CAIRO_STATUS_CLIP_NOT_REPRESENTABLE to indicate that the clip region cannot be represented as a list of user-space rectangles. The status may have other values to indicate other errors.)

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->clipRectangleList());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_clip_rectangle_list($context));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  array(4) {
    ["x"]=>
    float(0)
    ["y"]=>
    float(0)
    ["width"]=>
    float(50)
    ["height"]=>
    float(50)
  }
}

Voir aussi

  • Classname::Method

CairoContext::clipPreserve
CairoContext::closePath
CairoContext


Closes the current path

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext
PHP Manual

CairoContext::closePath

cairo_close_path

(PECL cairo >= 0.1.0)

CairoContext::closePath -- cairo_close_path — Closes the current path

Description

Object oriented style (method):

public void CairoContext::closePath ( void )

Procedural style:

void cairo_close_path ( CairoContext $context )

Adds a line segment to the path from the current point to the beginning of the current sub-path, (the most recent point passed to CairoContext::moveTo), and closes this sub-path. After this call the current point will be at the joined endpoint of the sub-path.

The behavior of close_path() is distinct from simply calling CairoContext::lineTo with the equivalent coordinate in the case of stroking. When a closed sub-path is stroked, there are no caps on the ends of the sub-path. Instead, there is a line join connecting the final and initial segments of the sub-path.

If there is no current point before the call to CairoContext::closePath, this function will have no effect.

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->closePath();

?>

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_close_path($context);

?>

Voir aussi

  • CairoContext::copyPath - Creates a copy of the current path

CairoContext::clipRectangleList
CairoContext::__construct
CairoContext


Creates a new CairoContext

CairoContext::closePath
CairoContext::copyPage
CairoContext
PHP Manual

CairoContext::__construct

(PECL cairo >= 0.1.0)

CairoContext::__construct — Creates a new CairoContext

Description

CairoContext::__construct ( CairoSurface $surface )

Creates a new CairoContext object to draw

Liste de paramètres

surface

A valid CairoSurface like CairoImageSurface or CairoPdfSurface

Valeurs de retour

A CairoContext

Exemples

Exemple #1 CairoContext::__construct example

<?php
// The surface to work on
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

// Create a new CairoContext for the CairoSurface
$context = new CairoContext($surface);

?>

Voir aussi

  • Cairo::Method

CairoContext::closePath
CairoContext::copyPage
CairoContext


Emits the current page

CairoContext::__construct
CairoContext::copyPath
CairoContext
PHP Manual

CairoContext::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoContext::copyPage -- cairo_copy_page — Emits the current page

Description

Object oriented style (method):

public void CairoContext::copyPage ( void )

Procedural style:

void cairo_copy_page ( CairoContext $context )

Emits the current page for backends that support multiple pages, but doesn’t clear it, so, the contents of the current page will be retained for the next page too. Use CairoContext::showPage if you want to get an empty page after the emission.

This is a convenience function that simply calls CairoSurface::copyPage on CairoContext’s target.

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

$context->copyPage();

?>

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

cairo_copy_page($context);

?>

Voir aussi

  • CairoContext::showPage - Le but de showPage
  • CairoSurface::copyPage - Le but de copyPage

CairoContext::__construct
CairoContext::copyPath
CairoContext


Creates a copy of the current path

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext
PHP Manual

CairoContext::copyPath

cairo_copy_path

(PECL cairo >= 0.1.0)

CairoContext::copyPath -- cairo_copy_path — Creates a copy of the current path

Description

Object oriented style (method):

public CairoPath CairoContext::copyPath ( void )

Procedural style:

CairoPath cairo_copy_path ( CairoContext $context )

Creates a copy of the current path and returns it to the user as a CairoPath. See CairoPath for hints on how to iterate over the returned data structure.

This function will always return a valid CairoPath object, but the result will have no data, if either of the following conditions hold:

  • 1. If there is insufficient memory to copy the path. In this case CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY.
  • 2. If context is already in an error state. In this case CairoPath->status will contain the same status that would be returned by cairo_status().
In either case, CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY (regardless of what the error status in cr might have been).

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

A copy of the current CairoPath in the context

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->copyPath())

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(CairoPath)#3 (0) {
}

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_copy_path($context));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(CairoPath)#3 (0) {
}

Voir aussi

  • CairoContext::closePath - Closes the current path

CairoContext::copyPage
CairoContext::copyPathFlat
CairoContext


Gets a flattened copy of the current path

CairoContext::copyPath
CairoContext::curveTo
CairoContext
PHP Manual

CairoContext::copyPathFlat

cairo_copy_path_flat

(PECL cairo >= 0.1.0)

CairoContext::copyPathFlat -- cairo_copy_path_flat — Gets a flattened copy of the current path

Description

Object oriented style (method):

public CairoPath CairoContext::copyPathFlat ( void )

Procedural style:

CairoPath cairo_copy_path_flat ( CairoContext $context )

A CairoContext object

Liste de paramètres

context

Description...

Valeurs de retour

Gets a flattened copy of the current path and returns it to the user as a CairoPath.

This function is like CairoContext::copyPath except that any curves in the path will be approximated with piecewise-linear approximations, (accurate to within the current tolerance value). That is, the result is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO which will instead be replaced by a series of CAIRO_PATH_LINE_TO elements.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

$context = new CairoContext($surface);

var_dump($context->copyPathFlat());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(CairoPath)#3 (0) {
}

Exemple #2 Procedural style

<?php

$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);

$context = cairo_create($surface);

var_dump(cairo_copy_path_flat($context));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(CairoPath)#3 (0) {
}

Voir aussi

  • CairoContext::copyPath - Creates a copy of the current path
  • CairoContext::closePath - Closes the current path

CairoContext::copyPath
CairoContext::curveTo
CairoContext


Adds a curve

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext
PHP Manual

CairoContext::curveTo

cairo_curve_to

(PECL cairo >= 0.1.0)

CairoContext::curveTo -- cairo_curve_to — Adds a curve

Description

Object oriented style (method):

public void CairoContext::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Procedural style:

void cairo_curve_to ( CairoContext $context , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Adds a cubic Bezier spline to the path from the current point to position x3 ,y3 in user-space coordinates, using x1, y1 and x2, y2 as the control points. After this call the current point will be x3, y3.

If there is no current point before the call to CairoContext::curveTo this function will behave as if preceded by a call to CairoContext::moveTo (x1, y1).

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

x1

First control point in the x axis for the curve

y1

First control point in the y axis for the curve

x2

Second control point in x axis for the curve

y2

Second control point in y axis for the curve

x3

Final point in the x axis for the curve

y3

Final point in the y axis for the curve

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);

$c->paint();

$c->moveTo(10, 50);
$c->setLineWidth(5);
$c->setSourceRgb(.1, 0, 1);
$c->curveTo(20, 80, 80, 20, 90, 50);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/curveTo.png');

Exemple #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);

cairo_paint($c);

cairo_move_to($c, 10, 50);
cairo_set_line_width($c, 5);
cairo_set_source_rgb($c, .1, 0, 1);
cairo_curve_to($c, 20, 80, 80, 20, 90, 50);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/curve_to.png');

Voir aussi

  • CairoContext::moveTo - The moveTo purpose

CairoContext::copyPathFlat
CairoContext::deviceToUser
CairoContext


Transform a coordinate

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext
PHP Manual

CairoContext::deviceToUser

cairo_device_to_user

(PECL cairo >= 0.1.0)

CairoContext::deviceToUser -- cairo_device_to_user — Transform a coordinate

Description

Object oriented style (method):

public array CairoContext::deviceToUser ( float $x , float $y )

Procedural style:

array cairo_device_to_user ( CairoContext $context , float $x , float $y )

Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

x

x value of the coordinate

y

y value of the coordinate

Valeurs de retour

An array containing the x and y coordinates in the user-space

Voir aussi

  • CairoContext::deviceToUserDistance - Transform a distance

CairoContext::curveTo
CairoContext::deviceToUserDistance
CairoContext


Transform a distance

CairoContext::deviceToUser
CairoContext::fill
CairoContext
PHP Manual

CairoContext::deviceToUserDistance

cairo_device_to_user_distance

(PECL cairo >= 0.1.0)

CairoContext::deviceToUserDistance -- cairo_device_to_user_distance — Transform a distance

Description

Object oriented style (method):

public array CairoContext::deviceToUserDistance ( float $x , float $y )

Procedural style:

array cairo_device_to_user_distance ( CairoContext $context , float $x , float $y )

Transform a distance vector from device space to user space. This function is similar to CairoContext::deviceToUser or cairo_device_to_user() except that the translation components of the inverse Cairo Transformation Matrix will be ignored when transforming (x,y).

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

x

X component of a distance vector

y

Y component of a distance vector

Valeurs de retour

Returns an array with the x and y values of a distance vector in the user-space

Voir aussi

  • CairoContext::deviceToUser - Transform a coordinate

CairoContext::deviceToUser
CairoContext::fill
CairoContext


Fills the current path

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext
PHP Manual

CairoContext::fill

cairo_fill

(PECL cairo >= 0.1.0)

CairoContext::fill -- cairo_fill — Fills the current path

Description

Object oriented style (method):

public void CairoContext::fill ( void )

Procedural style:

void cairo_fill ( CairoContext $context )

A drawing operator that fills the current path according to the current CairoFillRule, (each sub-path is implicitly closed before being filled). After CairoContext::fill or cairo_fill(), the current path will be cleared from the CairoContext.

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

$c->setSourceRgb(1, 1, 1);
$c->rectangle(0, 0, 50, 50);
$c->fill();
$c->setSourceRgb(0, 1, 0);
$c->rectangle(50, 50, 50, 50);
$c->fill();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_fill.png');

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

cairo_set_source_rgb($c, 1, 1, 1);
cairo_rectangle($c, 0, 0, 50, 50);
cairo_fill($c);
cairo_set_source_rgb($c, 0, 1, 0);
cairo_rectangle($c, 50, 50, 50, 50);
cairo_fill($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_fill.png');

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • CairoContext::setFillRule - Le but de setFillRule
  • ContextContext::fillPreserve
  • CairoFillRule

CairoContext::deviceToUserDistance
CairoContext::fillExtents
CairoContext


Computes the filled area

CairoContext::fill
CairoContext::fillPreserve
CairoContext
PHP Manual

CairoContext::fillExtents

cairo_fill_extents

(PECL cairo >= 0.1.0)

CairoContext::fillExtents -- cairo_fill_extents — Computes the filled area

Description

Object oriented style (method):

public array CairoContext::fillExtents ( void )

Procedural style:

array cairo_fill_extents ( CairoContext $context )

Computes a bounding box in user coordinates covering the area that would be affected, (the “inked” area), by a CairoContext::fill operation given the current path and fill parameters. If the current path is empty, returns an empty rectangle (0,0,0,0). Surface dimensions and clipping are not taken into account.

Contrast with CairoContext::pathExtents, which is similar, but returns non-zero extents for some paths with no inked area, (such as a simple line segment).

Note that CairoContext::fillExtents must necessarily do more work to compute the precise inked areas in light of the fill rule, so CairoContext::pathExtents may be more desirable for sake of performance if the non-inked path extents are desired.

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

An array with the coordinates of the afected area

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • CairoContext::fill - Fills the current path
  • CairoContext::setFillRule - Le but de setFillRule
  • CairoContext::fillPreserve - Fills and preserve the current path

CairoContext::fill
CairoContext::fillPreserve
CairoContext


Fills and preserve the current path

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext
PHP Manual

CairoContext::fillPreserve

cairo_fill_preserve

(PECL cairo >= 0.1.0)

CairoContext::fillPreserve -- cairo_fill_preserve — Fills and preserve the current path

Description

Object oriented style (method):

public void CairoContext::fillPreserve ( void )

Procedural style:

void cairo_fill_preserve ( CairoContext $context )

A drawing operator that fills the current path according to the current CairoFillRule, (each sub-path is implicitly closed before being filled). Unlike CairoContext::fill, CairoContext::fillPreserve (Procedural cairo_fill(), cairo_fill_preserve(), respectively) preserves the path within the Context.

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • CairoContext::setFillRule - Le but de setFillRule
  • CairoContext::fill - Fills the current path

CairoContext::fillExtents
CairoContext::fontExtents
CairoContext


Get the font extents

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext
PHP Manual

CairoContext::fontExtents

cairo_font_extents

(PECL cairo >= 0.1.0)

CairoContext::fontExtents -- cairo_font_extents — Get the font extents

Description

Object oriented style (method):

public array CairoContext::fontExtents ( void )

Procedural style:

array cairo_font_extents ( CairoContext $context )

Gets the font extents for the currently selected font.

Liste de paramètres

context

Description...

Valeurs de retour

An array containing the font extents for the current font.

Exemples

Exemple #1 Object oriented style

<?php

$sur = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$con = new CairoContext($sur);

var_dump($con->fontExtents());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Exemple #2 Procedural style

<?php

$sur = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sur);

var_dump(cairo_font_extents($con));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(5) {
  ["ascent"]=>
  float(10)
  ["descent"]=>
  float(3)
  ["height"]=>
  float(13.3125)
  ["max_x_advance"]=>
  float(26.65625)
  ["max_y_advance"]=>
  float(0)
}

Voir aussi

  • Classname::Method

CairoContext::fillPreserve
CairoContext::getAntialias
CairoContext


Retrives the current antialias mode

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext
PHP Manual

CairoContext::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoContext::getAntialias -- cairo_get_antialias — Retrives the current antialias mode

Description

Object oriented style (method):

public int CairoContext::getAntialias ( void )

Procedural style:

int cairo_get_antialias ( CairoContext $context )

Returns the current CairoAntialias mode, as set by CairoContext::setAntialias.

Liste de paramètres

context

A valid CairoContext object created with CairoContext::__construct or cairo_create()

Valeurs de retour

The current CairoAntialias mode.

Exemples

Exemple #1 Object oriented style

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);

$context->setAntialias(CairoAntialias::MODE_SUBPIXEL);

var_dump($context->getAntialias());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(3)

Exemple #2 Procedural style

<?php

$sur = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$con = cairo_create($sur);

cairo_set_antialias($con, CAIRO_ANTIALIAS_SUBPIXEL);

var_dump(cairo_get_antialias($con));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(3)

Voir aussi

  • CairoContext::setAntialias - Le but de setAntialias
  • CairoAntialias

CairoContext::fontExtents
CairoContext::getCurrentPoint
CairoContext


Le but de getCurrentPoint

CairoContext::getAntialias
CairoContext::getDash
CairoContext
PHP Manual

CairoContext::getCurrentPoint

cairo_get_current_point

(PECL cairo >= 0.1.0)

CairoContext::getCurrentPoint -- cairo_get_current_point — Le but de getCurrentPoint

Description

Style orienté objet (méthode) :

public array CairoContext::getCurrentPoint ( void )

Style procédural :

array cairo_get_current_point ( CairoContext $context )

Récupère le point courant du chemin courant, représentant le point final atteint par le chemin.

Le point courant est retourné dans un système de coordonnées selon l'espace utilisateur. S'il n'y a pas de point courant de défini, ou si le cr est un statut d'erreur, x et y seront définis à 0.0. Il est possible de vérifier si le point courant existe grâce à la méthode CairoContext::hasCurrentPoint.

La plupart des fonctions de construction de chemin altère le point courant. Reportez-vous aux
fonctions suivantes afin de savoir en quoi il est altéré :  CairoContext::newPath,
 CairoContext::newSubPath,  CairoContext::appendPath,
 CairoContext::closePath,  CairoContext::moveTo,
 CairoContext::lineTo,  CairoContext::curveTo,
 CairoContext::relMoveTo,  CairoContext::relLineTo,
 CairoContext::relCurveTo,  CairoContext::arc,
 CairoContext::arcNegative,  CairoContext::rectangle,
 CairoContext::textPath,  CairoContext::glyphPath.

Quelques fonctions utilisent et altèrent le point courant mais ne modifient pas le chemin courant : CairoContext::showText.

Quelques fonctions effacent le chemin courant et retournent le point courant : CairoContext::fill, CairoContext::stroke.

Liste de paramètres

context

Un objet CairoContext valide.

Valeurs de retour

Un tableau contenant les coordonnées x (index 0) et y (index 1) du point courant.

Exemples

Exemple #1 Style orienté objet

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->moveTo(10, 10);

var_dump($c->getCurrentPoint());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Exemple #2 Style procédural

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_move_to($c, 10, 10);

var_dump(cairo_get_current_point($c));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  float(10)
  [1]=>
  float(10)
}

Voir aussi

  • CairoContext::moveTo - The moveTo purpose
  • CairoContext::hasCurrentPoint - Le but de hasCurrentPoint

CairoContext::getAntialias
CairoContext::getDash
CairoContext


Le but de getDash

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext
PHP Manual

CairoContext::getDash

cairo_get_dash

(PECL cairo >= 0.1.0)

CairoContext::getDash -- cairo_get_dash — Le but de getDash

Description

Style orienté objet (méthode) :

public array CairoContext::getDash ( void )

Style procédural :

array cairo_get_dash ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getCurrentPoint
CairoContext::getDashCount
CairoContext


Le but de getDashCount

CairoContext::getDash
CairoContext::getFillRule
CairoContext
PHP Manual

CairoContext::getDashCount

cairo_get_dash_count

(PECL cairo >= 0.1.0)

CairoContext::getDashCount -- cairo_get_dash_count — Le but de getDashCount

Description

Style orienté objet (méthode) :

public int CairoContext::getDashCount ( void )

Style procédural :

int cairo_get_dash_count ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getDash
CairoContext::getFillRule
CairoContext


Le but de getFillRule

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext
PHP Manual

CairoContext::getFillRule

cairo_get_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::getFillRule -- cairo_get_fill_rule — Le but de getFillRule

Description

Style orienté objet (méthode) :

public int CairoContext::getFillRule ( void )

Style procédural :

int cairo_get_fill_rule ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getDashCount
CairoContext::getFontFace
CairoContext


Le but de getFontFace

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext
PHP Manual

CairoContext::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoContext::getFontFace -- cairo_get_font_face — Le but de getFontFace

Description

Style orienté objet (méthode) :

public void CairoContext::getFontFace ( void )

Style procédural :

void cairo_get_font_face ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getFillRule
CairoContext::getFontMatrix
CairoContext


Le but de getFontMatrix

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext
PHP Manual

CairoContext::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::getFontMatrix -- cairo_get_font_matrix — Le but de getFontMatrix

Description

Style orienté objet (méthode) :

public void CairoContext::getFontMatrix ( void )

Style procédural :

void cairo_get_font_matrix ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getFontFace
CairoContext::getFontOptions
CairoContext


Le but de getFontOptions

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext
PHP Manual

CairoContext::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoContext::getFontOptions -- cairo_get_font_options — Le but de getFontOptions

Description

Style orienté objet (méthode) :

public void CairoContext::getFontOptions ( void )

Style procédural :

void cairo_get_font_options ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getFontMatrix
CairoContext::getGroupTarget
CairoContext


Le but de getGroupTarget

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext
PHP Manual

CairoContext::getGroupTarget

cairo_get_group_target

(PECL cairo >= 0.1.0)

CairoContext::getGroupTarget -- cairo_get_group_target — Le but de getGroupTarget

Description

Style orienté objet (méthode) :

public void CairoContext::getGroupTarget ( void )

Style procédural :

void cairo_get_group_target ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getFontOptions
CairoContext::getLineCap
CairoContext


Le but de getLineCap

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext
PHP Manual

CairoContext::getLineCap

cairo_get_line_cap

(PECL cairo >= 0.1.0)

CairoContext::getLineCap -- cairo_get_line_cap — Le but de getLineCap

Description

Style orienté objet (méthode) :

public int CairoContext::getLineCap ( void )

Style procédural :

int cairo_get_line_cap ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getGroupTarget
CairoContext::getLineJoin
CairoContext


Le but de getLineJoin

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext
PHP Manual

CairoContext::getLineJoin

cairo_get_line_join

(PECL cairo >= 0.1.0)

CairoContext::getLineJoin -- cairo_get_line_join — Le but de getLineJoin

Description

Style orienté objet (méthode) :

public int CairoContext::getLineJoin ( void )

Style procédural :

int cairo_get_line_join ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getLineCap
CairoContext::getLineWidth
CairoContext


Le but de getLineWidth

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext
PHP Manual

CairoContext::getLineWidth

cairo_get_line_width

(PECL cairo >= 0.1.0)

CairoContext::getLineWidth -- cairo_get_line_width — Le but de getLineWidth

Description

Style orienté objet (méthode) :

public float CairoContext::getLineWidth ( void )

Style procédural :

float cairo_get_line_width ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getLineJoin
CairoContext::getMatrix
CairoContext


Le but de getMatrix

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext
PHP Manual

CairoContext::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoContext::getMatrix -- cairo_get_matrix — Le but de getMatrix

Description

Style orienté objet (méthode) :

public void CairoContext::getMatrix ( void )

Style procédural :

void cairo_get_matrix ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getLineWidth
CairoContext::getMiterLimit
CairoContext


Le but de getMiterLimit

CairoContext::getMatrix
CairoContext::getOperator
CairoContext
PHP Manual

CairoContext::getMiterLimit

cairo_get_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::getMiterLimit -- cairo_get_miter_limit — Le but de getMiterLimit

Description

Style orienté objet (méthode) :

public float CairoContext::getMiterLimit ( void )

Style procédural :

float cairo_get_miter_limit ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getMatrix
CairoContext::getOperator
CairoContext


Le but de getOperator

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext
PHP Manual

CairoContext::getOperator

cairo_get_operator

(PECL cairo >= 0.1.0)

CairoContext::getOperator -- cairo_get_operator — Le but de getOperator

Description

Style orienté objet (méthode) :

public int CairoContext::getOperator ( void )

Style procédural :

int cairo_get_operator ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getMiterLimit
CairoContext::getScaledFont
CairoContext


Le but de getScaledFont

CairoContext::getOperator
CairoContext::getSource
CairoContext
PHP Manual

CairoContext::getScaledFont

cairo_get_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::getScaledFont -- cairo_get_scaled_font — Le but de getScaledFont

Description

Style orienté objet (méthode) :

public void CairoContext::getScaledFont ( void )

Style procédural :

void cairo_get_scaled_font ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getOperator
CairoContext::getSource
CairoContext


Le but de getSource

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext
PHP Manual

CairoContext::getSource

cairo_get_source

(PECL cairo >= 0.1.0)

CairoContext::getSource -- cairo_get_source — Le but de getSource

Description

Style orienté objet (méthode) :

public void CairoContext::getSource ( void )

Style procédural :

void cairo_get_source ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getScaledFont
CairoContext::getTarget
CairoContext


Le but de getTarget

CairoContext::getSource
CairoContext::getTolerance
CairoContext
PHP Manual

CairoContext::getTarget

cairo_get_target

(PECL cairo >= 0.1.0)

CairoContext::getTarget -- cairo_get_target — Le but de getTarget

Description

Style orienté objet (méthode) :

public void CairoContext::getTarget ( void )

Style procédural :

void cairo_get_target ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getSource
CairoContext::getTolerance
CairoContext


Le but de getTolerance

CairoContext::getTarget
CairoContext::glyphPath
CairoContext
PHP Manual

CairoContext::getTolerance

cairo_get_tolerance

(PECL cairo >= 0.1.0)

CairoContext::getTolerance -- cairo_get_tolerance — Le but de getTolerance

Description

Style orienté objet (méthode) :

public float CairoContext::getTolerance ( void )

Style procédural :

float cairo_get_tolerance ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getTarget
CairoContext::glyphPath
CairoContext


Le but de glyphPath

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext
PHP Manual

CairoContext::glyphPath

cairo_glyph_path

(PECL cairo >= 0.1.0)

CairoContext::glyphPath -- cairo_glyph_path — Le but de glyphPath

Description

Style orienté objet (méthode) :

public void CairoContext::glyphPath ( array $glyphs )

Style procédural :

void cairo_glyph_path ( CairoContext $context , array $glyphs )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

glyphs

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::getTolerance
CairoContext::hasCurrentPoint
CairoContext


Le but de hasCurrentPoint

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext
PHP Manual

CairoContext::hasCurrentPoint

cairo_has_current_point

(PECL cairo >= 0.1.0)

CairoContext::hasCurrentPoint -- cairo_has_current_point — Le but de hasCurrentPoint

Description

Style orienté objet (méthode) :

public bool CairoContext::hasCurrentPoint ( void )

Style procédural :

bool cairo_has_current_point ( CairoContext $context )

Vérifie si le point courant est défini dans le chemin courant. Voir la méthode CairoContext::getCurrentPoint pour plus de détails sur le point courant.

Liste de paramètres

context

Un objet CairoContext valide.

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

var_dump($c->hasCurrentPoint());

$c->moveTo(10, 10);

var_dump($c->hasCurrentPoint());

?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Exemple #2 Style procédural

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

var_dump(cairo_has_current_point($c));

cairo_move_to($c, 10, 10);

var_dump(cairo_has_current_point($c));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(false)
bool(true)

Voir aussi

  • Classname::Method

CairoContext::glyphPath
CairoContext::identityMatrix
CairoContext


Le but de identityMatrix

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext
PHP Manual

CairoContext::identityMatrix

cairo_identity_matrix

(PECL cairo >= 0.1.0)

CairoContext::identityMatrix -- cairo_identity_matrix — Le but de identityMatrix

Description

Style orienté objet (méthode) :

public void CairoContext::identityMatrix ( void )

Style procédural :

void cairo_identity_matrix ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::hasCurrentPoint
CairoContext::inFill
CairoContext


Le but de inFill

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext
PHP Manual

CairoContext::inFill

cairo_in_fill

(PECL cairo >= 0.1.0)

CairoContext::inFill -- cairo_in_fill — Le but de inFill

Description

Style orienté objet (méthode) :

public bool CairoContext::inFill ( string $x , string $y )

Style procédural :

bool cairo_in_fill ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::identityMatrix
CairoContext::inStroke
CairoContext


The inStroke purpose

CairoContext::inFill
CairoContext::lineTo
CairoContext
PHP Manual

CairoContext::inStroke

cairo_in_stroke

(PECL cairo >= 0.1.0)

CairoContext::inStroke -- cairo_in_stroke — The inStroke purpose

Description

Object oriented style (method):

public bool CairoContext::inStroke ( string $x , string $y )

Procedural style:

bool cairo_in_stroke ( CairoContext $context , string $x , string $y )

Description here.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Description...

x

Description...

y

Description...

Valeurs de retour

Description...

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::inFill
CairoContext::lineTo
CairoContext


The lineTo purpose

CairoContext::inStroke
CairoContext::mask
CairoContext
PHP Manual

CairoContext::lineTo

cairo_line_to

(PECL cairo >= 0.1.0)

CairoContext::lineTo -- cairo_line_to — The lineTo purpose

Description

Object oriented style (method):

public void CairoContext::lineTo ( string $x , string $y )

Procedural style:

void cairo_line_to ( CairoContext $context , string $x , string $y )

Description here.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Description...

x

Description...

y

Description...

Valeurs de retour

Description...

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::inStroke
CairoContext::mask
CairoContext


The mask purpose

CairoContext::lineTo
CairoContext::maskSurface
CairoContext
PHP Manual

CairoContext::mask

cairo_mask

(PECL cairo >= 0.1.0)

CairoContext::mask -- cairo_mask — The mask purpose

Description

Object oriented style (method):

public void CairoContext::mask ( string $pattern )

Procedural style:

void cairo_mask ( CairoContext $context , CairoPattern $pattern )

Description here.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Description...

pattern

Description...

Valeurs de retour

Description...

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::lineTo
CairoContext::maskSurface
CairoContext


The maskSurface purpose

CairoContext::mask
CairoContext::moveTo
CairoContext
PHP Manual

CairoContext::maskSurface

cairo_mask_surface

(PECL cairo >= 0.1.0)

CairoContext::maskSurface -- cairo_mask_surface — The maskSurface purpose

Description

Object oriented style (method):

public void CairoContext::maskSurface ( string $surface [, string $x [, string $y ]] )

Procedural style:

void cairo_mask_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Description here.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Description...

surface

Description...

x

Description...

y

Description...

Valeurs de retour

Description...

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::mask
CairoContext::moveTo
CairoContext


The moveTo purpose

CairoContext::maskSurface
CairoContext::newPath
CairoContext
PHP Manual

CairoContext::moveTo

cairo_move_to

(PECL cairo >= 0.1.0)

CairoContext::moveTo -- cairo_move_to — The moveTo purpose

Description

Object oriented style (method):

public void CairoContext::moveTo ( string $x , string $y )

Procedural style:

void cairo_move_to ( CairoContext $context , string $x , string $y )

Begin a new sub-path. After this call the current point will be (x, y).

Liste de paramètres

context

A valid CairoContext object.

x

The x coordinate of the new position.

y

The y coordinate of the new position

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php

$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);

$c->setSourceRgb(0, 0, 0);
$c->paint();

// Move 10 pixels across, and 10 pixels down
$c->moveTo(10, 10);
$c->lineTo(90, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

// Move 90 pixels across, and 10 pixels down
$c->moveTo(90, 10);
$c->lineTo(10, 90);
$c->setLineWidth(2);
$c->setSourceRgb(1, 1, 1);
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/CairoContext_moveTo.png');

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php

$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);

cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);

// Move 10 pixels across, and 10 pixels down
cairo_move_to($c, 10, 10);
cairo_line_to($c, 90, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

// Move 90 pixels across, and 10 pixels down
cairo_move_to($c, 90, 10);
cairo_line_to($c, 10, 90);
cairo_set_line_width($c, 2);
cairo_set_source_rgb($c, 1, 1, 1);
cairo_stroke($c);

cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_move_to.png');

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::maskSurface
CairoContext::newPath
CairoContext


The newPath purpose

CairoContext::moveTo
CairoContext::newSubPath
CairoContext
PHP Manual

CairoContext::newPath

cairo_new_path

(PECL cairo >= 0.1.0)

CairoContext::newPath -- cairo_new_path — The newPath purpose

Description

Object oriented style (method):

public void CairoContext::newPath ( void )

Procedural style:

void cairo_new_path ( CairoContext $context )

Clears the current path. After this call there will be no path and no current point.

Liste de paramètres

context

A valid CairoContext object.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Object oriented style

<?php
// [...]
CairoContext::newPath();

Exemple #2 Procedural style

<?php
// [...]
cairo_new_path($context);

Voir aussi

  • CairoContext::appendPath - Appends a path to current path
  • CairoContext::closePath - Closes the current path

CairoContext::moveTo
CairoContext::newSubPath
CairoContext


The newSubPath purpose

CairoContext::newPath
CairoContext::paint
CairoContext
PHP Manual

CairoContext::newSubPath

cairo_new_sub_path

(PECL cairo >= 0.1.0)

CairoContext::newSubPath -- cairo_new_sub_path — The newSubPath purpose

Description

Object oriented style (method):

public void CairoContext::newSubPath ( void )

Procedural style:

void cairo_new_sub_path ( CairoContext $context )

Description here.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Description...

Valeurs de retour

Description...

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::newPath
CairoContext::paint
CairoContext


The paint purpose

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext
PHP Manual

CairoContext::paint

cairo_paint

(PECL cairo >= 0.1.0)

CairoContext::paint -- cairo_paint — The paint purpose

Description

Object oriented style (method):

public void CairoContext::paint ( void )

Procedural style:

void cairo_paint ( CairoContext $context )

Description here.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Description...

Valeurs de retour

Description...

Exemples

Exemple #1 Object oriented style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Procedural style

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::newSubPath
CairoContext::paintWithAlpha
CairoContext


Le but de paintWithAlpha

CairoContext::paint
CairoContext::pathExtents
CairoContext
PHP Manual

CairoContext::paintWithAlpha

cairo_paint_with_alpha

(PECL cairo >= 0.1.0)

CairoContext::paintWithAlpha -- cairo_paint_with_alpha — Le but de paintWithAlpha

Description

Style orienté objet (méthode) :

public void CairoContext::paintWithAlpha ( string $alpha )

Style procédural :

void cairo_paint_with_alpha ( CairoContext $context , string $alpha )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

alpha

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::paint
CairoContext::pathExtents
CairoContext


Le but de pathExtents

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext
PHP Manual

CairoContext::pathExtents

cairo_path_extents

(PECL cairo >= 0.1.0)

CairoContext::pathExtents -- cairo_path_extents — Le but de pathExtents

Description

Style orienté objet (méthode) :

public array CairoContext::pathExtents ( void )

Style procédural :

array cairo_path_extents ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::paintWithAlpha
CairoContext::popGroup
CairoContext


Le but de popGroup purpose

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext
PHP Manual

CairoContext::popGroup

cairo_pop_group

(PECL cairo >= 0.1.0)

CairoContext::popGroup -- cairo_pop_group — Le but de popGroup purpose

Description

Style orienté objet (méthode) :

public void CairoContext::popGroup ( void )

Style procédural :

void cairo_pop_group ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::pathExtents
CairoContext::popGroupToSource
CairoContext


Le but de popGroupToSource

CairoContext::popGroup
CairoContext::pushGroup
CairoContext
PHP Manual

CairoContext::popGroupToSource

cairo_pop_group_to_source

(PECL cairo >= 0.1.0)

CairoContext::popGroupToSource -- cairo_pop_group_to_source — Le but de popGroupToSource

Description

Style orienté objet (méthode) :

public void CairoContext::popGroupToSource ( void )

Style procédural :

void cairo_pop_group_to_source ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::popGroup
CairoContext::pushGroup
CairoContext


Le but de pushGroup

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext
PHP Manual

CairoContext::pushGroup

cairo_push_group

(PECL cairo >= 0.1.0)

CairoContext::pushGroup -- cairo_push_group — Le but de pushGroup

Description

Style orienté objet (méthode) :

public void CairoContext::pushGroup ( void )

Style procédural :

void cairo_push_group ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::popGroupToSource
CairoContext::pushGroupWithContent
CairoContext


Le but de pushGroupWithContent

CairoContext::pushGroup
CairoContext::rectangle
CairoContext
PHP Manual

CairoContext::pushGroupWithContent

cairo_push_group_with_content

(PECL cairo >= 0.1.0)

CairoContext::pushGroupWithContent -- cairo_push_group_with_content — Le but de pushGroupWithContent

Description

Style orienté objet (méthode) :

public void CairoContext::pushGroupWithContent ( string $content )

Style procédural :

void cairo_push_group_with_content ( CairoContext $context , string $content )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

content

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::pushGroup
CairoContext::rectangle
CairoContext


Le but de rectangle

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext
PHP Manual

CairoContext::rectangle

cairo_rectangle

(PECL cairo >= 0.1.0)

CairoContext::rectangle -- cairo_rectangle — Le but de rectangle

Description

Style orienté objet (méthode) :

public void CairoContext::rectangle ( string $x , string $y , string $width , string $height )

Style procédural :

void cairo_rectangle ( CairoContext $context , string $x , string $y , string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

width

height

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::pushGroupWithContent
CairoContext::relCurveTo
CairoContext


Le but de relCurveTo

CairoContext::rectangle
CairoContext::relLineTo
CairoContext
PHP Manual

CairoContext::relCurveTo

cairo_rel_curve_to

(PECL cairo >= 0.1.0)

CairoContext::relCurveTo -- cairo_rel_curve_to — Le but de relCurveTo

Description

Style orienté objet (méthode) :

public void CairoContext::relCurveTo ( string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Style procédural :

void cairo_rel_curve_to ( CairoContext $context , string $x1 , string $y1 , string $x2 , string $y2 , string $x3 , string $y3 )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x1

y1

x2

y2

x3

y3

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::rectangle
CairoContext::relLineTo
CairoContext


Le but de relLineTo

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext
PHP Manual

CairoContext::relLineTo

cairo_rel_line_to

(PECL cairo >= 0.1.0)

CairoContext::relLineTo -- cairo_rel_line_to — Le but de relLineTo

Description

Style orienté objet (méthode) :

public void CairoContext::relLineTo ( string $x , string $y )

Style procédural :

void cairo_rel_line_to ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::relCurveTo
CairoContext::relMoveTo
CairoContext


Le but de relMoveTo

CairoContext::relLineTo
CairoContext::resetClip
CairoContext
PHP Manual

CairoContext::relMoveTo

cairo_rel_move_to

(PECL cairo >= 0.1.0)

CairoContext::relMoveTo -- cairo_rel_move_to — Le but de relMoveTo

Description

Style orienté objet (méthode) :

public void CairoContext::relMoveTo ( string $x , string $y )

Style procédural :

void cairo_rel_move_to ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::relLineTo
CairoContext::resetClip
CairoContext


Le but de resetClip

CairoContext::relMoveTo
CairoContext::restore
CairoContext
PHP Manual

CairoContext::resetClip

cairo_reset_clip

(PECL cairo >= 0.1.0)

CairoContext::resetClip -- cairo_reset_clip — Le but de resetClip

Description

Style orienté objet (méthode) :

public void CairoContext::resetClip ( void )

Style procédural :

void cairo_reset_clip ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::relMoveTo
CairoContext::restore
CairoContext


Le but de restore

CairoContext::resetClip
CairoContext::rotate
CairoContext
PHP Manual

CairoContext::restore

cairo_restore

(PECL cairo >= 0.1.0)

CairoContext::restore -- cairo_restore — Le but de restore

Description

Style orienté objet (méthode) :

public void CairoContext::restore ( void )

Style procédrual :

void cairo_restore ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::resetClip
CairoContext::rotate
CairoContext


Le but de rotate

CairoContext::restore
CairoContext::save
CairoContext
PHP Manual

CairoContext::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoContext::rotate -- cairo_rotate — Le but de rotate

Description

Style orienté objet (méthode) :

public void CairoContext::rotate ( string $angle )

Style procédural :

void cairo_rotate ( CairoContext $context , string $angle )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

angle

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::restore
CairoContext::save
CairoContext


Le but de save

CairoContext::rotate
CairoContext::scale
CairoContext
PHP Manual

CairoContext::save

cairo_save

(PECL cairo >= 0.1.0)

CairoContext::save -- cairo_save — Le but de save

Description

Style orienté objet (méthode) :

public void CairoContext::save ( void )

Style procédural :

void cairo_save ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::rotate
CairoContext::scale
CairoContext


Le but de scale

CairoContext::save
CairoContext::selectFontFace
CairoContext
PHP Manual

CairoContext::scale

cairo_scale

(PECL cairo >= 0.1.0)

CairoContext::scale -- cairo_scale — Le but de scale

Description

Style orienté objet (méthode) :

public void CairoContext::scale ( string $x , string $y )

Style procédural :

void cairo_scale ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::save
CairoContext::selectFontFace
CairoContext


Le but de selectFontFace

CairoContext::scale
CairoContext::setAntialias
CairoContext
PHP Manual

CairoContext::selectFontFace

cairo_select_font_face

(PECL cairo >= 0.1.0)

CairoContext::selectFontFace -- cairo_select_font_face — Le but de selectFontFace

Description

Style orienté objet (méthode) :

public void CairoContext::selectFontFace ( string $family [, string $slant [, string $weight ]] )

Style procédural :

void cairo_select_font_face ( CairoContext $context , string $family [, string $slant [, string $weight ]] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

family

slant

weight

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::scale
CairoContext::setAntialias
CairoContext


Le but de setAntialias

CairoContext::selectFontFace
CairoContext::setDash
CairoContext
PHP Manual

CairoContext::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoContext::setAntialias -- cairo_set_antialias — Le but de setAntialias

Description

Style orienté objet (méthode) :

public void CairoContext::setAntialias ([ string $antialias ] )

Style procédural :

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

antialias

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::selectFontFace
CairoContext::setDash
CairoContext


Le but de setDash

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext
PHP Manual

CairoContext::setDash

cairo_set_dash

(PECL cairo >= 0.1.0)

CairoContext::setDash -- cairo_set_dash — Le but de setDash

Description

Style orienté objet (méthode) :

public void CairoContext::setDash ( string $dashes [, string $offset ] )

Style procédural :

void cairo_set_dash ( CairoContext $context , array $dashes [, string $offset ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

dashes

offset

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setAntialias
CairoContext::setFillRule
CairoContext


Le but de setFillRule

CairoContext::setDash
CairoContext::setFontFace
CairoContext
PHP Manual

CairoContext::setFillRule

cairo_set_fill_rule

(PECL cairo >= 0.1.0)

CairoContext::setFillRule -- cairo_set_fill_rule — Le but de setFillRule

Description

Style orienté objet (méthode) :

public void CairoContext::setFillRule ( string $setting )

Style procédural :

void cairo_set_fill_rule ( CairoContext $context , string $setting )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

setting

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setDash
CairoContext::setFontFace
CairoContext


Le but de setFontFace

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext
PHP Manual

CairoContext::setFontFace

cairo_set_font_face

(PECL cairo >= 0.1.0)

CairoContext::setFontFace -- cairo_set_font_face — Le but de setFontFace

Description

Style orienté objet (méthode) :

public void CairoContext::setFontFace ( CairoFontFace $fontface )

Style procédural :

void cairo_set_font_face ( CairoContext $context , CairoFontFace $fontface )

Définit la police de caractères pour un contexte donné.

Liste de paramètres

context

Un objet CairoContext représentant le contexte pour cette nouvelle police de caractères.

fontface

Un objet CairoFontFace.

Valeurs de retour

Aucune valeur retournée.

Exemples

Exemple #1 Style orienté objet

<?php
// Nouvelle surface avec un arrière-plan blanc
$s = new CairoImageSurface(CairoFormat::ARGB32, 300, 100);
$c = new CairoContext($s);
$c->setSourceRgb(1, 1, 1);
$c->paint();

// Dessine du texte
$c->setSourceRgb(0, 0, 0);
$c->moveTo(10, 60);

// Crée une nouvelle police de caratères
$f = new CairoToyFontFace("sans-serif", CairoFontSlant::NORMAL, CairoFontWeight::NORMAL);
$c->setFontFace($f);
$c->setFontSize(30);
$c->showText('Hello, World!');
$s->writeToPng(dirname(__FILE__) . '/setFontFace.png');
?>

Exemple #2 Style procédural

<?php
/* ... */
?>

Voir aussi

  • CairoContext::setFontSize - Le but de setFontSize
  • CairoContext::showText - Le but de showText

CairoContext::setFillRule
CairoContext::setFontMatrix
CairoContext


Le but de setFontMatrix

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext
PHP Manual

CairoContext::setFontMatrix

cairo_set_font_matrix

(PECL cairo >= 0.1.0)

CairoContext::setFontMatrix -- cairo_set_font_matrix — Le but de setFontMatrix

Description

Style orienté objet (méthode) :

public void CairoContext::setFontMatrix ( string $matrix )

Style procédural :

void cairo_set_font_matrix ( CairoContext $context , CairoMatrix $matrix )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

matrix

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setFontFace
CairoContext::setFontOptions
CairoContext


Le but de setFontOptions

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext
PHP Manual

CairoContext::setFontOptions

cairo_set_font_options

(PECL cairo >= 0.1.0)

CairoContext::setFontOptions -- cairo_set_font_options — Le but de setFontOptions

Description

Style orienté objet (méthode) :

public void CairoContext::setFontOptions ( string $fontoptions )

Style procédural :

void cairo_set_font_options ( CairoContext $context , CairoFontOptions $fontoptions )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

fontoptions

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setFontMatrix
CairoContext::setFontSize
CairoContext


Le but de setFontSize

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext
PHP Manual

CairoContext::setFontSize

cairo_set_font_size

(PECL cairo >= 0.1.0)

CairoContext::setFontSize -- cairo_set_font_size — Le but de setFontSize

Description

Style orienté objet (méthode) :

public void CairoContext::setFontSize ( string $size )

Style procédural :

void cairo_set_font_size ( CairoContext $context , string $size )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

size

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setFontOptions
CairoContext::setLineCap
CairoContext


Le but de setLineCap

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext
PHP Manual

CairoContext::setLineCap

cairo_set_line_cap

(PECL cairo >= 0.1.0)

CairoContext::setLineCap -- cairo_set_line_cap — Le but de setLineCap

Description

Style orienté objet (méthode) :

public void CairoContext::setLineCap ( string $setting )

Style procédural :

void cairo_set_line_cap ( CairoContext $context , string $setting )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

setting

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setFontSize
CairoContext::setLineJoin
CairoContext


Le but de setLineJoin

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext
PHP Manual

CairoContext::setLineJoin

cairo_set_line_join

(PECL cairo >= 0.1.0)

CairoContext::setLineJoin -- cairo_set_line_join — Le but de setLineJoin

Description

Style orienté objet (méthode) :

public void CairoContext::setLineJoin ( string $setting )

Style procédural :

void cairo_set_line_join ( CairoContext $context , string $setting )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

setting

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setLineCap
CairoContext::setLineWidth
CairoContext


Le but de setLineWidth

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext
PHP Manual

CairoContext::setLineWidth

cairo_set_line_width

(PECL cairo >= 0.1.0)

CairoContext::setLineWidth -- cairo_set_line_width — Le but de setLineWidth

Description

Style orienté objet (méthode) :

public void CairoContext::setLineWidth ( string $width )

Style procédural :

void cairo_set_line_width ( CairoContext $context , string $width )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

width

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setLineJoin
CairoContext::setMatrix
CairoContext


Le but de setMatrix

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext
PHP Manual

CairoContext::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoContext::setMatrix -- cairo_set_matrix — Le but de setMatrix

Description

Style orienté objet (méthode) :

public void CairoContext::setMatrix ( string $matrix )

Style procédural :

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

matrix

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setLineWidth
CairoContext::setMiterLimit
CairoContext


Le but de setMiterLimit

CairoContext::setMatrix
CairoContext::setOperator
CairoContext
PHP Manual

CairoContext::setMiterLimit

cairo_set_miter_limit

(PECL cairo >= 0.1.0)

CairoContext::setMiterLimit -- cairo_set_miter_limit — Le but de setMiterLimit

Description

Style orienté objet (méthode) :

public void CairoContext::setMiterLimit ( string $limit )

Style procédural :

void cairo_set_miter_limit ( CairoContext $context , string $limit )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

limit

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setMatrix
CairoContext::setOperator
CairoContext


Le but de setOperator

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext
PHP Manual

CairoContext::setOperator

cairo_set_operator

(PECL cairo >= 0.1.0)

CairoContext::setOperator -- cairo_set_operator — Le but de setOperator

Description

Style orienté objet (méthode) :

public void CairoContext::setOperator ( string $setting )

Style procédural :

void cairo_set_operator ( CairoContext $context , string $setting )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

setting

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setMiterLimit
CairoContext::setScaledFont
CairoContext


Le but de setScaledFont

CairoContext::setOperator
CairoContext::setSource
CairoContext
PHP Manual

CairoContext::setScaledFont

cairo_set_scaled_font

(PECL cairo >= 0.1.0)

CairoContext::setScaledFont -- cairo_set_scaled_font — Le but de setScaledFont

Description

Style orienté objet (méthode) :

public void CairoContext::setScaledFont ( string $scaledfont )

Style procédural :

void cairo_set_scaled_font ( CairoContext $context , CairoScaledFont $scaledfont )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

scaledfont

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setOperator
CairoContext::setSource
CairoContext


Le but de setSource

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext
PHP Manual

CairoContext::setSource

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSource -- cairo_set_source — Le but de setSource

Description

Style orienté objet (méthode) :

public void CairoContext::setSource ( string $pattern )

Style procédural :

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

pattern

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setScaledFont
CairoContext::setSourceRGB
CairoContext


Le but de setSourceRGB

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext
PHP Manual

CairoContext::setSourceRGB

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGB -- cairo_set_source — Le but de setSourceRGB

Description

Style orienté objet (méthode) :

public void CairoContext::setSourceRGB ( string $red , string $green , string $blue )

Style procédural :

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

pattern

red

green

blue

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setSource
CairoContext::setSourceRGBA
CairoContext


Le but de setSourceRGBA

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext
PHP Manual

CairoContext::setSourceRGBA

cairo_set_source

(PECL cairo >= 0.1.0)

CairoContext::setSourceRGBA -- cairo_set_source — Le but de setSourceRGBA

Description

Style orienté objet (méthode) :

public void CairoContext::setSourceRGBA ( string $red , string $green , string $blue , string $alpha )

Style procédural :

void cairo_set_source ( CairoContext $context , CairoPattern $pattern )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

pattern

red

green

blue

alpha

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setSourceRGB
CairoContext::setSourceSurface
CairoContext


Le but de setSourceSurface

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext
PHP Manual

CairoContext::setSourceSurface

cairo_set_source_surface

(PECL cairo >= 0.1.0)

CairoContext::setSourceSurface -- cairo_set_source_surface — Le but de setSourceSurface

Description

Style orienté objet (méthode) :

public void CairoContext::setSourceSurface ( string $surface [, string $x [, string $y ]] )

Style procédural :

void cairo_set_source_surface ( CairoContext $context , CairoSurface $surface [, string $x [, string $y ]] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

surface

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setSourceRGBA
CairoContext::setTolerance
CairoContext


Le but de setTolerance

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext
PHP Manual

CairoContext::setTolerance

cairo_set_tolerance

(PECL cairo >= 0.1.0)

CairoContext::setTolerance -- cairo_set_tolerance — Le but de setTolerance

Description

Style orienté objet (méthode) :

public void CairoContext::setTolerance ( string $tolerance )

Style procédural :

void cairo_set_tolerance ( CairoContext $context , string $tolerance )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

tolerance

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setSourceSurface
CairoContext::showPage
CairoContext


Le but de showPage

CairoContext::setTolerance
CairoContext::showText
CairoContext
PHP Manual

CairoContext::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoContext::showPage -- cairo_show_page — Le but de showPage

Description

Style orienté objet (méthode) :

public void CairoContext::showPage ( void )

Style procédural :

void cairo_show_page ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::setTolerance
CairoContext::showText
CairoContext


Le but de showText

CairoContext::showPage
CairoContext::status
CairoContext
PHP Manual

CairoContext::showText

cairo_show_text

(PECL cairo >= 0.1.0)

CairoContext::showText -- cairo_show_text — Le but de showText

Description

Style orienté objet (méthode) :

public void CairoContext::showText ( string $text )

Style procédural :

void cairo_show_text ( CairoContext $context , string $text )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

text

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::showPage
CairoContext::status
CairoContext


Le but de status

CairoContext::showText
CairoContext::stroke
CairoContext
PHP Manual

CairoContext::status

cairo_status

(PECL cairo >= 0.1.0)

CairoContext::status -- cairo_status — Le but de status

Description

Style orienté objet (méthode) :

public int CairoContext::status ( void )

Style procédural :

int cairo_status ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::showText
CairoContext::stroke
CairoContext


Le but de stroke

CairoContext::status
CairoContext::strokeExtents
CairoContext
PHP Manual

CairoContext::stroke

cairo_stroke

(PECL cairo >= 0.1.0)

CairoContext::stroke -- cairo_stroke — Le but de stroke

Description

Style orienté objet (méthode) :

public void CairoContext::stroke ( void )

Style procédural :

void cairo_stroke ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::status
CairoContext::strokeExtents
CairoContext


Le but de strokeExtents

CairoContext::stroke
CairoContext::strokePreserve
CairoContext
PHP Manual

CairoContext::strokeExtents

cairo_stroke_extents

(PECL cairo >= 0.1.0)

CairoContext::strokeExtents -- cairo_stroke_extents — Le but de strokeExtents

Description

Style orienté objet (méthode) :

public array CairoContext::strokeExtents ( void )

Style procédural :

array cairo_stroke_extents ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::stroke
CairoContext::strokePreserve
CairoContext


Le but de strokePreserve

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext
PHP Manual

CairoContext::strokePreserve

cairo_stroke_preserve

(PECL cairo >= 0.1.0)

CairoContext::strokePreserve -- cairo_stroke_preserve — Le but de strokePreserve

Description

Style orienté objet (méthode) :

public void CairoContext::strokePreserve ( void )

Style procédural :

void cairo_stroke_preserve ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::strokeExtents
CairoContext::textExtents
CairoContext


Le but de textExtents

CairoContext::strokePreserve
CairoContext::textPath
CairoContext
PHP Manual

CairoContext::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoContext::textExtents -- cairo_text_extents — Le but de textExtents

Description

Style orienté objet (méthode) :

public array CairoContext::textExtents ( string $text )

Style procédural :

array cairo_text_extents ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

text

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::strokePreserve
CairoContext::textPath
CairoContext


Le but de textPath

CairoContext::textExtents
CairoContext::transform
CairoContext
PHP Manual

CairoContext::textPath

cairo_text_path

(PECL cairo >= 0.1.0)

CairoContext::textPath -- cairo_text_path — Le but de textPath

Description

Style orienté objet (méthode) :

public void CairoContext::textPath ( string $string )

Style procédural :

void cairo_text_path ( CairoContext $context , string $text )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

text

string

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::textExtents
CairoContext::transform
CairoContext


Le but de transform

CairoContext::textPath
CairoContext::translate
CairoContext
PHP Manual

CairoContext::transform

cairo_transform

(PECL cairo >= 0.1.0)

CairoContext::transform -- cairo_transform — Le but de transform

Description

Style orienté objet (méthode) :

public void CairoContext::transform ( string $matrix )

Style procédural :

void cairo_transform ( CairoContext $context , CairoMatrix $matrix )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

matrix

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::textPath
CairoContext::translate
CairoContext


Le but de translate

CairoContext::transform
CairoContext::userToDevice
CairoContext
PHP Manual

CairoContext::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoContext::translate -- cairo_translate — Le but de translate

Description

Style orienté objet (méthode) :

public void CairoContext::translate ( string $x , string $y )

Style procédural :

void cairo_translate ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::transform
CairoContext::userToDevice
CairoContext


Le but de userToDevice

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext
PHP Manual

CairoContext::userToDevice

cairo_user_to_device

(PECL cairo >= 0.1.0)

CairoContext::userToDevice -- cairo_user_to_device — Le but de userToDevice

Description

Style orienté objet (méthode) :

public array CairoContext::userToDevice ( string $x , string $y )

Style procédural :

array cairo_user_to_device ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::translate
CairoContext::userToDeviceDistance
CairoContext


Le but de userToDeviceDistance

CairoContext::userToDevice
CairoException
CairoContext
PHP Manual

CairoContext::userToDeviceDistance

cairo_user_to_device_distance

(PECL cairo >= 0.1.0)

CairoContext::userToDeviceDistance -- cairo_user_to_device_distance — Le but de userToDeviceDistance

Description

Style orienté objet (méthode) :

public array CairoContext::userToDeviceDistance ( string $x , string $y )

Style procédural :

array cairo_user_to_device_distance ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoContext::userToDevice
CairoException
CairoContext


The CairoException class

Introduction

Exception class throwed by Cairo functions and methods

Synopsis de la classe

CairoException
CairoException extends Exception {
/* Propriétés */
/* Méthodes héritées */
}

Propriétés

message

Prop description

code

Prop description

file

Prop description

line

Prop description

CairoContext::userToDeviceDistance
CairoStatus
Cairo


The CairoStatus class

Introduction

CairoStatus is used to indicate errors that can occur when using Cairo. In some cases it is returned directly by functions. but when using CairoContext, the last error, if any, is stored in the object and can be retrieved with CairoContext::status or cairo_status(). New entries may be added in future versions.

Use Cairo::statusToString or cairo_status_to_string() to get a human-readable representation of an error message.

Synopsis de la classe

CairoStatus
CairoStatus {
/* Constantes */
const integer CairoStatus::SUCCESS = 0 ;
const integer CairoStatus::NO_MEMORY = 1 ;
const integer CairoStatus::INVALID_RESTORE = 2 ;
const integer CairoStatus::INVALID_POP_GROUP = 3 ;
const integer CairoStatus::NO_CURRENT_POINT = 4 ;
const integer CairoStatus::INVALID_MATRIX = 5 ;
const integer CairoStatus::INVALID_STATUS = 6 ;
const integer CairoStatus::NULL_POINTER = 7 ;
const integer CairoStatus::INVALID_STRING = 8 ;
const integer CairoStatus::INVALID_PATH_DATA = 9 ;
const integer CairoStatus::READ_ERROR = 10 ;
const integer CairoStatus::WRITE_ERROR = 11 ;
const integer CairoStatus::SURFACE_FINISHED = 12 ;
const integer CairoStatus::SURFACE_TYPE_MISMATCH = 13 ;
const integer CairoStatus::PATTERN_TYPE_MISMATCH = 14 ;
const integer CairoStatus::INVALID_CONTENT = 15 ;
const integer CairoStatus::INVALID_FORMAT = 16 ;
const integer CairoStatus::INVALID_VISUAL = 17 ;
const integer CairoStatus::FILE_NOT_FOUND = 18 ;
const integer CairoStatus::INVALID_DASH = 19 ;
const integer CairoStatus::INVALID_DSC_COMMENT = 20 ;
const integer CairoStatus::INVALID_INDEX = 21 ;
const integer CairoStatus::CLIP_NOT_REPRESENTABLE = 22 ;
const integer CairoStatus::TEMP_FILE_ERROR = 23 ;
const integer CairoStatus::INVALID_STRIDE = 24 ;
}

Constantes pré-définies

CairoStatus Node Types

CairoStatus::SUCCESS

No error has occurred

CairoStatus::NO_MEMORY

Out of memory

CairoStatus::INVALID_RESTORE

cairo_restore() called without matching cairo_save()

CairoStatus::INVALID_POP_GROUP

No saved group to pop

CairoStatus::NO_CURRENT_POINT

No current point defined

CairoStatus::INVALID_MATRIX

Invalid matrix (not invertible)

CairoStatus::INVALID_STATUS

Invalid value for an input CairoStatus>

CairoStatus::NULL_POINTER

Null pointer

CairoStatus::INVALID_STRING

Input string not valid UTF-8 string

CairoStatus::INVALID_PATH_DATA

Input path data not valid

CairoStatus::READ_ERROR

Error while reading from input stream

CairoStatus::WRITE_ERROR

Error while writing to output stream

CairoStatus::SURFACE_FINISHED

Target surface has been finished

CairoStatus::SURFACE_TYPE_MISMATCH

The surface type is not appropriate for the operation

CairoStatus::PATTERN_TYPE_MISMATCH

The pattern type is not appropriate for the operation

CairoStatus::INVALID_CONTENT

Invalid value for an input CairoContent

CairoStatus::INVALID_FORMAT

Invalid value for an input CairoFormat

CairoStatus::INVALID_VISUAL

Invalid value for an input Visual

CairoStatus::FILE_NOT_FOUND

File not found

CairoStatus::INVALID_DASH

Invalid value for a dash setting

CairoStatus::INVALID_DSC_COMMENT

Invalid value for a DSC comment

CairoStatus::INVALID_INDEX

Invalid index passed to getter

CairoStatus::CLIP_NOT_REPRESENTABLE

Clip region not representable in desired format

CairoStatus::TEMP_FILE_ERROR

Error creating or writing to a temporary file

CairoStatus::INVALID_STRIDE

Invalid value for CairoStride

CairoException
CairoSurface
Cairo


La classe CairoSurface

Introduction

C'est la classe de base pour tous les autres types de Surface. CairoSurface est un type abstrait représentant toutes les cibles différentes utilisées par Cairo pour y effectuer un rendu. Le rendu actuel est effectué en utilisant un objet CairoContext.

Synopsis de la classe

CairoSurface
CairoSurface {
/* Méthodes */
__construct ( void )
public void copyPage ( void )
public void createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void finish ( void )
public void flush ( void )
public int getContent ( void )
public array getDeviceOffset ( void )
public void getFontOptions ( void )
public int getType ( void )
public void markDirty ( void )
public void markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void setDeviceOffset ( string $x , string $y )
public void setFallbackResolution ( string $x , string $y )
public void showPage ( void )
public int status ( void )
public void writeToPng ( string $file )
}

Sommaire

  • CairoSurface::__construct — Le but de __construct
  • CairoSurface::copyPage — Le but de copyPage
  • CairoSurface::createSimilar — Le but de createSimilar
  • CairoSurface::finish — Le but de finish
  • CairoSurface::flush — Le but de flush
  • CairoSurface::getContent — Le but de getContent
  • CairoSurface::getDeviceOffset — Le but de getDeviceOffset
  • CairoSurface::getFontOptions — Le but de getFontOptions
  • CairoSurface::getType — Le but de getType
  • CairoSurface::markDirty — Le but de markDirty
  • CairoSurface::markDirtyRectangle — Le but de markDirtyRectangle
  • CairoSurface::setDeviceOffset — Le but de setDeviceOffset
  • CairoSurface::setFallbackResolution — Le but de setFallbackResolution
  • CairoSurface::showPage — Le but de showPage
  • CairoSurface::status — Le but de status
  • CairoSurface::writeToPng — Le but de writeToPng
CairoStatus
CairoSurface::__construct
Cairo


Le but de __construct

CairoSurface
CairoSurface::copyPage
CairoSurface
PHP Manual

CairoSurface::__construct

(PECL cairo >= 0.1.0)

CairoSurface::__construct — Le but de __construct

Description

CairoSurface::__construct ( void )

CairoSurface est un type abstrait, et, en tant que tel, ne doit pas être instancié dans vos scripts PHP.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur de retour.

Notes

Note: Si vous utilisez une version de PHP antérieure à 5.3, vous devez détruire l'objet CairoContext associé avec un objet CairoSurface après avoir détruit l'objet CairoSurface. Sinon, vous aurez une fuite mémoire.

Voir aussi

  • CairoImageSurface::__construct - Crée un nouvel objet CairoImageSurface

CairoSurface
CairoSurface::copyPage
CairoSurface


Le but de copyPage

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface
PHP Manual

CairoSurface::copyPage

cairo_copy_page

(PECL cairo >= 0.1.0)

CairoSurface::copyPage -- cairo_copy_page — Le but de copyPage

Description

Style orienté objet (méthode) :

public void CairoSurface::copyPage ( void )

Style procédural :

void cairo_copy_page ( CairoContext $context )

Émet la page courante pour les moteurs supportant les pages multiples, sans pour autant l'effacer et ainsi, le contenu de la page courante sera conservé pour la page suivante. Utilisez CairoSurface::showPage() si vous voulez récupérer une page vide après son émission.

Liste de paramètres

context

Un objet CairoContext

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::__construct
CairoSurface::createSimilar
CairoSurface


Le but de createSimilar

CairoSurface::copyPage
CairoSurface::finish
CairoSurface
PHP Manual

CairoSurface::createSimilar

(PECL cairo >= 0.1.0)

CairoSurface::createSimilar — Le but de createSimilar

Description

public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )

Crée une nouvelle surface le plus compatible possible avec la surface existante. Par exemple, la nouvelle surface aura la même résolution mais aussi la même police de caractères. Générallement, la nouvelle surface utilisera également le même moteur, sauf si d'autres raisons l'en empêche. Le type de la surface retourné pourra être examiné avec la méthode CairoSurface::getType(). Initialement, le contenu de la surface sera positionné à 0 (transparent si le contenu a de la transparence, noir sinon).

Liste de paramètres

other

Une surface existante utilisée pour sélectionner le moteur de la nouvelle surface

content

Le contenu de la nouvelle surface. Voir la classe CairoContent pour les valeurs possibles.

width

Largeur de la nouvelle surface (en utilisant l'unité d'espacement définie).

height

Hauteur de la nouvelle surface (en utilisant l'unité d'espacement définie).

Valeurs de retour

Un nouvel objet CairoSurface

Exemples

Exemple #1 Exemple avec CairoSurface::createSimilar

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • CairoContent

CairoSurface::copyPage
CairoSurface::finish
CairoSurface


Le but de finish

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface
PHP Manual

CairoSurface::finish

(PECL cairo >= 0.1.0)

CairoSurface::finish — Le but de finish

Description

public void CairoSurface::finish ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::finish

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::createSimilar
CairoSurface::flush
CairoSurface


Le but de flush

CairoSurface::finish
CairoSurface::getContent
CairoSurface
PHP Manual

CairoSurface::flush

(PECL cairo >= 0.1.0)

CairoSurface::flush — Le but de flush

Description

public void CairoSurface::flush ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::flush

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::finish
CairoSurface::getContent
CairoSurface


Le but de getContent

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface
PHP Manual

CairoSurface::getContent

(PECL cairo >= 0.1.0)

CairoSurface::getContent — Le but de getContent

Description

public int CairoSurface::getContent ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::getContent

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::flush
CairoSurface::getDeviceOffset
CairoSurface


Le but de getDeviceOffset

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface
PHP Manual

CairoSurface::getDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::getDeviceOffset — Le but de getDeviceOffset

Description

public array CairoSurface::getDeviceOffset ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::getDeviceOffset

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::getContent
CairoSurface::getFontOptions
CairoSurface


Le but de getFontOptions

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface
PHP Manual

CairoSurface::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoSurface::getFontOptions -- cairo_get_font_options — Le but de getFontOptions

Description

Style orienté objet (méthode) :

public void CairoSurface::getFontOptions ( void )

Style procédural :

void cairo_get_font_options ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::getDeviceOffset
CairoSurface::getType
CairoSurface


Le but de getType

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface
PHP Manual

CairoSurface::getType

(PECL cairo >= 0.1.0)

CairoSurface::getType — Le but de getType

Description

public int CairoSurface::getType ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::getType

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::getFontOptions
CairoSurface::markDirty
CairoSurface


Le but de markDirty

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface
PHP Manual

CairoSurface::markDirty

(PECL cairo >= 0.1.0)

CairoSurface::markDirty — Le but de markDirty

Description

public void CairoSurface::markDirty ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::markDirty

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::getType
CairoSurface::markDirtyRectangle
CairoSurface


Le but de markDirtyRectangle

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface
PHP Manual

CairoSurface::markDirtyRectangle

(PECL cairo >= 0.1.0)

CairoSurface::markDirtyRectangle — Le but de markDirtyRectangle

Description

public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

y

width

height

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoSurface::markDirtyRectangle

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::markDirty
CairoSurface::setDeviceOffset
CairoSurface


Le but de setDeviceOffset

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface
PHP Manual

CairoSurface::setDeviceOffset

(PECL cairo >= 0.1.0)

CairoSurface::setDeviceOffset — Le but de setDeviceOffset

Description

public void CairoSurface::setDeviceOffset ( string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

y

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::setDeviceOffset

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::markDirtyRectangle
CairoSurface::setFallbackResolution
CairoSurface


Le but de setFallbackResolution

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface
PHP Manual

CairoSurface::setFallbackResolution

(PECL cairo >= 0.1.0)

CairoSurface::setFallbackResolution — Le but de setFallbackResolution

Description

public void CairoSurface::setFallbackResolution ( string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

y

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::setFallbackResolution

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::setDeviceOffset
CairoSurface::showPage
CairoSurface


Le but de showPage

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface
PHP Manual

CairoSurface::showPage

cairo_show_page

(PECL cairo >= 0.1.0)

CairoSurface::showPage -- cairo_show_page — Le but de showPage

Description

Object oriented style (méthode) :

public void CairoSurface::showPage ( void )

Procedural style:

void cairo_show_page ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::setFallbackResolution
CairoSurface::status
CairoSurface


Le but de status

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface
PHP Manual

CairoSurface::status

cairo_status

(PECL cairo >= 0.1.0)

CairoSurface::status -- cairo_status — Le but de status

Description

Style orienté objet (méthode) :

public int CairoSurface::status ( void )

Style procédural :

int cairo_status ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::showPage
CairoSurface::writeToPng
CairoSurface


Le but de writeToPng

CairoSurface::status
CairoSvgSurface
CairoSurface
PHP Manual

CairoSurface::writeToPng

(PECL cairo >= 0.1.0)

CairoSurface::writeToPng — Le but de writeToPng

Description

public void CairoSurface::writeToPng ( string $file )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurface::writeToPng

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurface::status
CairoSvgSurface
CairoSurface


La classe CairoSvgSurface

Introduction

Classe spécifique aux surfaces Svg.

Synopsis de la classe

CairoSvgSurface
CairoSvgSurface extends CairoSurface {
/* Méthodes */
__construct ( string $file , float $width , float $height )
public static array getVersions ( void )
public void restrictToVersion ( string $version )
public static string versionToString ( int $version )
/* Méthodes héritées */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Sommaire

  • CairoSvgSurface::__construct — Le but de __construct
  • CairoSvgSurface::getVersions — Récupère la liste des versions SVG supportées
  • CairoSvgSurface::restrictToVersion — Le but de restrictToVersion
  • CairoSvgSurface::versionToString — Le but de versionToString
CairoSurface::writeToPng
CairoSvgSurface::__construct
Cairo


Le but de __construct

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface
PHP Manual

CairoSvgSurface::__construct

(PECL cairo >= 0.1.0)

CairoSvgSurface::__construct — Le but de __construct

Description

CairoSvgSurface::__construct ( string $file , float $width , float $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

width

height

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSvgSurface::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSvgSurface
CairoSvgSurface::getVersions
CairoSvgSurface


Récupère la liste des versions SVG supportées

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface
PHP Manual

CairoSvgSurface::getVersions

cairo_svg_surface_get_versions

(PECL cairo >= 0.1.0)

CairoSvgSurface::getVersions -- cairo_svg_surface_get_versions — Récupère la liste des versions SVG supportées

Description

Style orienté objet (méthode) :

public static array CairoSvgSurface::getVersions ( void )

Style procédural :

array cairo_svg_get_versions ( void )

Retourne un tableau indexé numériquement contenant le contenu de la constante CairoSvgVersion. Afin de récupérer la valeur de chaque élément, utilisez la méthode CairoSvgSurface::versionToString.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau indexé numériquement de valeurs entières.

Exemples

Exemple #1 Exemple avec CairoSvgSurface::getVersions

<?php
/* Récupère la liste des versions */
$versions = CairoSvgSurface::getVersions();
var_dump($versions);

/* Affiche le nom de chaque version */
foreach($versions as $id) {
    echo CairoSvgSurface::versionToString($id), PHP_EOL;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Exemple #2 Procedural style

<?php
/* Récupère la liste des versions */
$versions = cairo_svg_surface_get_versions();
var_dump($versions);

/* Affiche le nom de chaque version */
foreach($versions as $id) {
    echo cairo_svg_surface_version_to_string($id), PHP_EOL;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
SVG 1.1
SVG 1.2

Voir aussi

  • CairoSvgSurface::versionToString - Le but de versionToString

CairoSvgSurface::__construct
CairoSvgSurface::restrictToVersion
CairoSvgSurface


Le but de restrictToVersion

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface
PHP Manual

CairoSvgSurface::restrictToVersion

(PECL cairo >= 0.1.0)

CairoSvgSurface::restrictToVersion — Le but de restrictToVersion

Description

public void CairoSvgSurface::restrictToVersion ( string $version )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

version

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSvgSurface::restrictToVersion

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSvgSurface::getVersions
CairoSvgSurface::versionToString
CairoSvgSurface


Le but de versionToString

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface
PHP Manual

CairoSvgSurface::versionToString

(PECL cairo >= 0.1.0)

CairoSvgSurface::versionToString — Le but de versionToString

Description

public static string CairoSvgSurface::versionToString ( int $version )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

version

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoSvgSurface::versionToString

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSvgSurface::restrictToVersion
CairoImageSurface
CairoSvgSurface


The CairoImageSurface class

Introduction

CairoImageSurface provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in CairoFormat.

Synopsis de la classe

CairoImageSurface
CairoImageSurface extends CairoSurface {
/* Méthodes */
__construct ( int $format , int $width , int $height )
public static void createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )
public static CairoImageSurface createFromPng ( string $file )
public string getData ( void )
public int getFormat ( void )
public int getHeight ( void )
public int getStride ( void )
public int getWidth ( void )
/* Méthodes héritées */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Sommaire

  • CairoImageSurface::__construct — Crée un nouvel objet CairoImageSurface
  • CairoImageSurface::createForData — Le but de createForData
  • CairoImageSurface::createFromPng — Crée un nouvel CairoImageSurface à partir d'une image PNG
  • CairoImageSurface::getData — Récupère les données de l'image, sous la forme d'une chaîne de caractères
  • CairoImageSurface::getFormat — Récupère le format de l'image
  • CairoImageSurface::getHeight — Récupère la hauteur d'un CairoImageSurface
  • CairoImageSurface::getStride — Le but de getStride
  • CairoImageSurface::getWidth — Récupère la largeur d'un CairoImageSurface
CairoSvgSurface::versionToString
CairoImageSurface::__construct
Cairo


Crée un nouvel objet CairoImageSurface

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface
PHP Manual

CairoImageSurface::__construct

(PECL cairo >= 0.1.0)

CairoImageSurface::__construct — Crée un nouvel objet CairoImageSurface

Description

CairoImageSurface::__construct ( int $format , int $width , int $height )

Crée un nouvel objet CairoImageSuface de type format.

Liste de paramètres

format

Peut être un format parmi ceux définis par CairoFormat

width

La largeur de la surface de l'image

height

La hauteur de la surface de l'image

Valeurs de retour

Un nouvel objet CairoImageSurface

Exemples

Exemple #1 Exemple avec CairoImageSurface::__construct

<?php

// Crée une image au format ARGB32 de dimension 50x50
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50,50);

?>

Voir aussi

  • CairoContext::__construct - Creates a new CairoContext

CairoImageSurface
CairoImageSurface::createForData
CairoImageSurface


Le but de createForData

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface
PHP Manual

CairoImageSurface::createForData

(PECL cairo >= 0.1.0)

CairoImageSurface::createForData — Le but de createForData

Description

public static void CairoImageSurface::createForData ( string $data , int $format , int $width , int $height [, int $stride = -1 ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

data

format

width

height

stride

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoImageSurface::createForData

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoImageSurface::__construct
CairoImageSurface::createFromPng
CairoImageSurface


Crée un nouvel CairoImageSurface à partir d'une image PNG

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface
PHP Manual

CairoImageSurface::createFromPng

(PECL cairo >= 0.1.0)

CairoImageSurface::createFromPng — Crée un nouvel CairoImageSurface à partir d'une image PNG

Description

public static CairoImageSurface CairoImageSurface::createFromPng ( string $file )

Crée un nouvel CairoImageSurface à partir d'une image PNG.

Cette méthode doit être appelée de façon statique.

Liste de paramètres

file

Chemin vers le fichier image PNG

Valeurs de retour

Un objet CairoImageSurface.

Exemples

Exemple #1 Exemple avec CairoImageSurface::createFromPng

<?php

$surface = CairoImageSurface::createFromPng('/chemin/vers/fichier/image.png');

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • CairoImageSurface::__construct - Crée un nouvel objet CairoImageSurface

CairoImageSurface::createForData
CairoImageSurface::getData
CairoImageSurface


Récupère les données de l'image, sous la forme d'une chaîne de caractères

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface
PHP Manual

CairoImageSurface::getData

(PECL cairo >= 0.1.0)

CairoImageSurface::getData — Récupère les données de l'image, sous la forme d'une chaîne de caractères

Description

public string CairoImageSurface::getData ( void )

Récupère les données de l'image pour une surface donnée, ou NULL si la surface n'est pas une surface de l'image valide, ou si CairoContext::finish a été appelé.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les données de l'image, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec CairoImageSurface::getData

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • CairoImageSurface::getStride - Le but de getStride

CairoImageSurface::createFromPng
CairoImageSurface::getFormat
CairoImageSurface


Récupère le format de l'image

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface
PHP Manual

CairoImageSurface::getFormat

(PECL cairo >= 0.1.0)

CairoImageSurface::getFormat — Récupère le format de l'image

Description

public int CairoImageSurface::getFormat ( void )

Récupère le format de l'image, suivant les formats définis par CairoFormat.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un format d'image, parmi ceux définis par CairoFormat.

Exemples

Exemple #1 Exemple avec CairoImageSurface::getFormat

<?php

$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);

var_dump($surface->getFormat()); // 0

$surface2 = new CairoImageSurface(CairoFormat::A8, 50, 50);

var_dump($surface2->getFormat()); // 2

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)
int(2)

Voir aussi

  • CairoImageSurface::getHeight - Récupère la hauteur d'un CairoImageSurface
  • CairoImageSurface::getWidth - Récupère la largeur d'un CairoImageSurface

CairoImageSurface::getData
CairoImageSurface::getHeight
CairoImageSurface


Récupère la hauteur d'un CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface
PHP Manual

CairoImageSurface::getHeight

(PECL cairo >= 0.1.0)

CairoImageSurface::getHeight — Récupère la hauteur d'un CairoImageSurface

Description

public int CairoImageSurface::getHeight ( void )

Récupère la hauteur d'un CairoImageSurface.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La hauteur d'un objet CairoImageSurface.

Exemples

Exemple #1 Exemple avec CairoImageSurface::getHeight

<?php
// Création d'une nouvelle surface pour l'image
$surface = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

// Récupère la hauteur
var_dump($surface->getHeight());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(50)

Voir aussi

  • CairoImageSurface::getWidth - Récupère la largeur d'un CairoImageSurface

CairoImageSurface::getFormat
CairoImageSurface::getStride
CairoImageSurface


Le but de getStride

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface
PHP Manual

CairoImageSurface::getStride

(PECL cairo >= 0.1.0)

CairoImageSurface::getStride — Le but de getStride

Description

public int CairoImageSurface::getStride ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoImageSurface::getStride

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoImageSurface::getHeight
CairoImageSurface::getWidth
CairoImageSurface


Récupère la largeur d'un CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface
PHP Manual

CairoImageSurface::getWidth

(PECL cairo >= 0.1.0)

CairoImageSurface::getWidth — Récupère la largeur d'un CairoImageSurface

Description

public int CairoImageSurface::getWidth ( void )

Récupère la largeur d'un CairoImageSurface.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la largeur d'un objet CairoImageSurface.

Exemples

Exemple #1 Exemple avec CairoImageSurface::getWidth

<?php
// Création d'une nouvelle surface pour une image
$surface = new CairoImageSurface(CairoFormat::ARGB32, 80, 50);

// Récupère la largeur
var_dump($surface->getWidth());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(80)

Voir aussi

  • CairoImageSurface::getHeight - Récupère la hauteur d'un CairoImageSurface

CairoImageSurface::getStride
CairoPdfSurface
CairoImageSurface


La classe CairoPdfSurface

Introduction

Synopsis de la classe

CairoPdfSurface
CairoPdfSurface extends CairoSurface {
/* Méthodes */
__construct ( string $file , float $width , float $height )
public void setSize ( string $width , string $height )
/* Méthodes héritées */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Sommaire

  • CairoPdfSurface::__construct — Le but de __construct
  • CairoPdfSurface::setSize — Le but de setSize
CairoImageSurface::getWidth
CairoPdfSurface::__construct
Cairo


Le but de __construct

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface
PHP Manual

CairoPdfSurface::__construct

(PECL cairo >= 0.1.0)

CairoPdfSurface::__construct — Le but de __construct

Description

CairoPdfSurface::__construct ( string $file , float $width , float $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

width

height

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPdfSurface::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPdfSurface
CairoPdfSurface::setSize
CairoPdfSurface


Le but de setSize

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface
PHP Manual

CairoPdfSurface::setSize

(PECL cairo >= 0.1.0)

CairoPdfSurface::setSize — Le but de setSize

Description

public void CairoPdfSurface::setSize ( string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

width

height

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPdfSurface::setSize

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPdfSurface::__construct
CairoPsSurface
CairoPdfSurface


La classe CairoPsSurface

Introduction

Synopsis de la classe

CairoPsSurface
CairoPsSurface extends CairoSurface {
/* Méthodes */
__construct ( string $file , float $width , float $height )
public void dscBeginPageSetup ( void )
public void dscBeginSetup ( void )
public void dscComment ( string $comment )
public bool getEps ( void )
public static array getLevels ( void )
public static string levelToString ( string $level )
public void restrictToLevel ( string $level )
public void setEps ( string $level )
public void setSize ( string $width , string $height )
/* Méthodes héritées */
CairoSurface::__construct ( void )
public void CairoSurface::copyPage ( void )
public void CairoSurface::createSimilar ( CairoSurface $other , int $content , string $width , string $height )
public void CairoSurface::finish ( void )
public void CairoSurface::flush ( void )
public int CairoSurface::getContent ( void )
public array CairoSurface::getDeviceOffset ( void )
public void CairoSurface::getFontOptions ( void )
public int CairoSurface::getType ( void )
public void CairoSurface::markDirty ( void )
public void CairoSurface::markDirtyRectangle ( string $x , string $y , string $width , string $height )
public void CairoSurface::setDeviceOffset ( string $x , string $y )
public void CairoSurface::setFallbackResolution ( string $x , string $y )
public void CairoSurface::showPage ( void )
public int CairoSurface::status ( void )
public void CairoSurface::writeToPng ( string $file )
}

Sommaire

  • CairoPsSurface::__construct — Le but de __construct
  • CairoPsSurface::dscBeginPageSetup — Le but de dscBeginPageSetup
  • CairoPsSurface::dscBeginSetup — Le but de dscBeginSetup
  • CairoPsSurface::dscComment — Le but de dscComment
  • CairoPsSurface::getEps — Le but de getEps
  • CairoPsSurface::getLevels — Le but de getLevels
  • CairoPsSurface::levelToString — Le but de levelToString
  • CairoPsSurface::restrictToLevel — Le but de restrictToLevel
  • CairoPsSurface::setEps — Le but de setEps
  • CairoPsSurface::setSize — Le but de setSize
CairoPdfSurface::setSize
CairoPsSurface::__construct
Cairo


Le but de __construct

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface
PHP Manual

CairoPsSurface::__construct

(PECL cairo >= 0.1.0)

CairoPsSurface::__construct — Le but de __construct

Description

CairoPsSurface::__construct ( string $file , float $width , float $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

file

width

height

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoPsSurface::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface
CairoPsSurface::dscBeginPageSetup
CairoPsSurface


Le but de dscBeginPageSetup

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginPageSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginPageSetup — Le but de dscBeginPageSetup

Description

public void CairoPsSurface::dscBeginPageSetup ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoPsSurface::dscBeginPageSetup

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::__construct
CairoPsSurface::dscBeginSetup
CairoPsSurface


Le but de dscBeginSetup

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface
PHP Manual

CairoPsSurface::dscBeginSetup

(PECL cairo >= 0.1.0)

CairoPsSurface::dscBeginSetup — Le but de dscBeginSetup

Description

public void CairoPsSurface::dscBeginSetup ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPsSurface::dscBeginSetup

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::dscBeginPageSetup
CairoPsSurface::dscComment
CairoPsSurface


Le but de dscComment

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface
PHP Manual

CairoPsSurface::dscComment

(PECL cairo >= 0.1.0)

CairoPsSurface::dscComment — Le but de dscComment

Description

public void CairoPsSurface::dscComment ( string $comment )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

comment

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoPsSurface::dscComment

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::dscBeginSetup
CairoPsSurface::getEps
CairoPsSurface


Le but de getEps

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface
PHP Manual

CairoPsSurface::getEps

(PECL cairo >= 0.1.0)

CairoPsSurface::getEps — Le but de getEps

Description

public bool CairoPsSurface::getEps ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPsSurface::getEps

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::dscComment
CairoPsSurface::getLevels
CairoPsSurface


Le but de getLevels

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface
PHP Manual

CairoPsSurface::getLevels

(PECL cairo >= 0.1.0)

CairoPsSurface::getLevels — Le but de getLevels

Description

public static array CairoPsSurface::getLevels ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPsSurface::getLevels

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::getEps
CairoPsSurface::levelToString
CairoPsSurface


Le but de levelToString

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface
PHP Manual

CairoPsSurface::levelToString

(PECL cairo >= 0.1.0)

CairoPsSurface::levelToString — Le but de levelToString

Description

public static string CairoPsSurface::levelToString ( string $level )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

level

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPsSurface::levelToString

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::getLevels
CairoPsSurface::restrictToLevel
CairoPsSurface


Le but de restrictToLevel

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface
PHP Manual

CairoPsSurface::restrictToLevel

(PECL cairo >= 0.1.0)

CairoPsSurface::restrictToLevel — Le but de restrictToLevel

Description

public void CairoPsSurface::restrictToLevel ( string $level )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

level

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPsSurface::restrictToLevel

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::levelToString
CairoPsSurface::setEps
CairoPsSurface


Le but de setEps

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface
PHP Manual

CairoPsSurface::setEps

(PECL cairo >= 0.1.0)

CairoPsSurface::setEps — Le but de setEps

Description

public void CairoPsSurface::setEps ( string $level )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

level

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoPsSurface::setEps

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::restrictToLevel
CairoPsSurface::setSize
CairoPsSurface


Le but de setSize

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface
PHP Manual

CairoPsSurface::setSize

(PECL cairo >= 0.1.0)

CairoPsSurface::setSize — Le but de setSize

Description

public void CairoPsSurface::setSize ( string $width , string $height )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

width

height

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoPsSurface::setSize

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPsSurface::setEps
CairoSurfaceType
CairoPsSurface


La classe CairoSurfaceType

Introduction

Synopsis de la classe

CairoSurfaceType
CairoSurfaceType {
/* Constantes */
const integer CairoSurfaceType::IMAGE = 0 ;
const integer CairoSurfaceType::PDF = 1 ;
const integer CairoSurfaceType::PS = 2 ;
const integer CairoSurfaceType::XLIB = 3 ;
const integer CairoSurfaceType::XCB = 4 ;
const integer CairoSurfaceType::GLITZ = 5 ;
const integer CairoSurfaceType::QUARTZ = 6 ;
const integer CairoSurfaceType::WIN32 = 7 ;
const integer CairoSurfaceType::BEOS = 8 ;
const integer CairoSurfaceType::DIRECTFB = 9 ;
const integer CairoSurfaceType::SVG = 10 ;
const integer CairoSurfaceType::OS2 = 11 ;
const integer CairoSurfaceType::WIN32_PRINTING = 12 ;
const integer CairoSurfaceType::QUARTZ_IMAGE = 13 ;
}

Constantes pré-définies

Types de nœud CairoSurfaceType

CairoSurfaceType::IMAGE

CairoSurfaceType::PDF

CairoSurfaceType::PS

CairoSurfaceType::XLIB

CairoSurfaceType::XCB

CairoSurfaceType::GLITZ

CairoSurfaceType::QUARTZ

CairoSurfaceType::WIN32

CairoSurfaceType::BEOS

CairoSurfaceType::DIRECTFB

CairoSurfaceType::SVG

CairoSurfaceType::OS2

CairoSurfaceType::WIN32_PRINTING

CairoSurfaceType::QUARTZ_IMAGE

CairoPsSurface::setSize
CairoFontFace
Cairo


The CairoFontFace class

Introduction

CairoFontFace abstract class represents a particular font at a particular weight, slant, and other characteristic but no transformation or size.

Note: This class can not be instantiated directly, it is created by CairoContext::getFontFace or cairo_scaled_font_get_font_face().

Synopsis de la classe

CairoFontFace
CairoFontFace {
/* Méthodes */
__construct ( void )
public int getType ( void )
public int status ( void )
}

Sommaire

  • CairoFontFace::__construct — Crée un nouvel objet CairoFontFace
  • CairoFontFace::getType — Récupère le type de la police
  • CairoFontFace::status — Vérifie les erreurs CairoFontFace
CairoSurfaceType
CairoFontFace::__construct
Cairo


Crée un nouvel objet CairoFontFace

CairoFontFace
CairoFontFace::getType
CairoFontFace
PHP Manual

CairoFontFace::__construct

(PECL cairo >= 0.1.0)

CairoFontFace::__construct — Crée un nouvel objet CairoFontFace

Description

CairoFontFace::__construct ( void )

La classe CairoFontFace représente une police particulière, avec une hauteur, une inclinaison et d'autres caractéristiques particuliers, mais aucune transformation ou taille.

Note : Cette classe ne peut être instanciée directement. Elle sera crée par la méthode CairoContext::getFontFace ou la méthode cairo_scaled_font_get_font_face()

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

CairoFontFace

Exemples

Exemple #1 Exemple avec CairoFontFace::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Class::Method

CairoFontFace
CairoFontFace::getType
CairoFontFace


Récupère le type de la police

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace
PHP Manual

CairoFontFace::getType

(PECL cairo >= 0.1.0)

CairoFontFace::getType — Récupère le type de la police

Description

public int CairoFontFace::getType ( void )

Retourne le type de moteur utilisé pour créer la police. Reportez-vous aux constantes de la classe CairoFontType pour les types disponibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un type de police, qui peut être n'importe quelle constante de la classe CairoFontType.

Exemples

Exemple #1 Exemple avec CairoFontFace::getType

<?php

// Crée la police
$fontface = new CairoToyFontFace('sans-serif');

// Récupère son type
var_dump($fontface->getType());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)

Voir aussi

  • Classname::Method

CairoFontFace::__construct
CairoFontFace::status
CairoFontFace


Vérifie les erreurs CairoFontFace

CairoFontFace::getType
CairoFontOptions
CairoFontFace
PHP Manual

CairoFontFace::status

cairo_font_face_status

(PECL cairo >= 0.1.0)

CairoFontFace::status -- cairo_font_face_status — Vérifie les erreurs CairoFontFace

Description

Style orienté objet (méthode) :

public int CairoFontFace::status ( void )

Style procédural :

int cairo_font_face_status ( CairoFontFace $fontface )

Vérifie si une erreur est survenue sur cette police.

Liste de paramètres

fontface

Un objet CairoFontFace valide

Valeurs de retour

CAIRO_STATUS_SUCCESS ou une autre erreur comme CAIRO_STATUS_NO_MEMORY.

Exemples

Exemple #1 Style orienté objet

<?php

// Crée la police
$fontface = new CairoToyFontFace('sans-serif');

// Récupère son statut
var_dump($fontface->status()); // doit correspondre à la valeur de la constante CAIRO_STATUS_SUCCESS

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)

Exemple #2 Style procédural

<?php

// Crée la police
$fontface = new CairoToyFontFace('sans-serif');

// Récupère son statut
var_dump(cairo_font_face_status($fontface)); // doit correspondre à la valeur de la constante CAIRO_STATUS_SUCCESS

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)

Voir aussi

  • Classname::Method

CairoFontFace::getType
CairoFontOptions
CairoFontFace


The CairoFontOptions class

Introduction

An opaque structure holding all options that are used when rendering fonts.

Individual features of a cairo_font_options_t can be set or accessed using functions named cairo_font_options_set_feature_name and cairo_font_options_get_feature_name, like cairo_font_options_set_antialias() and cairo_font_options_get_antialias().

New features may be added to CairoFontOptions in the future. For this reason CairoFontOptions::copy, CairoFontOptions::equal, CairoFontOptions::merge, CairoFontOptions::hash (cairo_font_options_copy(), cairo_font_options_equal(), cairo_font_options_merge(), and cairo_font_options_hash() in procedural way) should be used to copy, check for equality, merge, or compute a hash value of CairoFontOptions objects.

Synopsis de la classe

CairoFontOptions
CairoFontOptions {
/* Méthodes */
__construct ( void )
public bool equal ( string $other )
public int getAntialias ( void )
public int getHintMetrics ( void )
public int getHintStyle ( void )
public int getSubpixelOrder ( void )
public int hash ( void )
public void merge ( string $other )
public void setAntialias ( string $antialias )
public void setHintMetrics ( string $hint_metrics )
public void setHintStyle ( string $hint_style )
public void setSubpixelOrder ( string $subpixel_order )
public int status ( void )
}

Sommaire

  • CairoFontOptions::__construct — Le but de __construct
  • CairoFontOptions::equal — Le but de equal
  • CairoFontOptions::getAntialias — Le but de getAntialias
  • CairoFontOptions::getHintMetrics — Le but de getHintMetrics
  • CairoFontOptions::getHintStyle — Le but de getHintStyle
  • CairoFontOptions::getSubpixelOrder — Le but de getSubpixelOrder
  • CairoFontOptions::hash — Le but de hash
  • CairoFontOptions::merge — Le but de merge
  • CairoFontOptions::setAntialias — Le but de setAntialias
  • CairoFontOptions::setHintMetrics — Le but de setHintMetrics
  • CairoFontOptions::setHintStyle — Le but de setHintStyle
  • CairoFontOptions::setSubpixelOrder — Le but de setSubpixelOrder
  • CairoFontOptions::status — Le but de status
CairoFontFace::status
CairoFontOptions::__construct
Cairo


Le but de __construct

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions
PHP Manual

CairoFontOptions::__construct

(PECL cairo >= 0.1.0)

CairoFontOptions::__construct — Le but de __construct

Description

CairoFontOptions::__construct ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions
CairoFontOptions::equal
CairoFontOptions


Le but de equal

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::equal

(PECL cairo >= 0.1.0)

CairoFontOptions::equal — Le but de equal

Description

public bool CairoFontOptions::equal ( string $other )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

other

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::equal

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::__construct
CairoFontOptions::getAntialias
CairoFontOptions


Le but de getAntialias

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::getAntialias

cairo_get_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::getAntialias -- cairo_get_antialias — Le but de getAntialias

Description

Style orienté objet (méthode) :

public int CairoFontOptions::getAntialias ( void )

Style procédural :

int cairo_get_antialias ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::equal
CairoFontOptions::getHintMetrics
CairoFontOptions


Le but de getHintMetrics

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::getHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintMetrics — Le but de getHintMetrics

Description

public int CairoFontOptions::getHintMetrics ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::getHintMetrics

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::getAntialias
CairoFontOptions::getHintStyle
CairoFontOptions


Le but de getHintStyle

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::getHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::getHintStyle — Le but de getHintStyle

Description

public int CairoFontOptions::getHintStyle ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::getHintStyle

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::getHintMetrics
CairoFontOptions::getSubpixelOrder
CairoFontOptions


Le but de getSubpixelOrder

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions
PHP Manual

CairoFontOptions::getSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::getSubpixelOrder — Le but de getSubpixelOrder

Description

public int CairoFontOptions::getSubpixelOrder ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::getSubpixelOrder

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::getHintStyle
CairoFontOptions::hash
CairoFontOptions


Le but de hash

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions
PHP Manual

CairoFontOptions::hash

(PECL cairo >= 0.1.0)

CairoFontOptions::hash — Le but de hash

Description

public int CairoFontOptions::hash ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoFontOptions::hash

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::getSubpixelOrder
CairoFontOptions::merge
CairoFontOptions


Le but de merge

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions
PHP Manual

CairoFontOptions::merge

(PECL cairo >= 0.1.0)

CairoFontOptions::merge — Le but de merge

Description

public void CairoFontOptions::merge ( string $other )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

other

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoFontOptions::merge

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::hash
CairoFontOptions::setAntialias
CairoFontOptions


Le but de setAntialias

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions
PHP Manual

CairoFontOptions::setAntialias

cairo_set_antialias

(PECL cairo >= 0.1.0)

CairoFontOptions::setAntialias -- cairo_set_antialias — Le but de setAntialias

Description

Style procédural (méthode) :

public void CairoFontOptions::setAntialias ( string $antialias )

Style procédural :

void cairo_set_antialias ( CairoContext $context [, string $antialias ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

antialias

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::merge
CairoFontOptions::setHintMetrics
CairoFontOptions


Le but de setHintMetrics

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions
PHP Manual

CairoFontOptions::setHintMetrics

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintMetrics — Le but de setHintMetrics

Description

public void CairoFontOptions::setHintMetrics ( string $hint_metrics )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

hint_metrics

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::setHintMetrics

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::setAntialias
CairoFontOptions::setHintStyle
CairoFontOptions


Le but de setHintStyle

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions
PHP Manual

CairoFontOptions::setHintStyle

(PECL cairo >= 0.1.0)

CairoFontOptions::setHintStyle — Le but de setHintStyle

Description

public void CairoFontOptions::setHintStyle ( string $hint_style )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

hint_style

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::setHintStyle

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::setHintMetrics
CairoFontOptions::setSubpixelOrder
CairoFontOptions


Le but de setSubpixelOrder

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions
PHP Manual

CairoFontOptions::setSubpixelOrder

(PECL cairo >= 0.1.0)

CairoFontOptions::setSubpixelOrder — Le but de setSubpixelOrder

Description

public void CairoFontOptions::setSubpixelOrder ( string $subpixel_order )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

subpixel_order

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoFontOptions::setSubpixelOrder

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::setHintStyle
CairoFontOptions::status
CairoFontOptions


Le but de status

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions
PHP Manual

CairoFontOptions::status

cairo_status

(PECL cairo >= 0.1.0)

CairoFontOptions::status -- cairo_status — Le but de status

Description

Style orienté objet (méthode) :

public int CairoFontOptions::status ( void )

Style procédural :

int cairo_status ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoFontOptions::setSubpixelOrder
CairoFontSlant
CairoFontOptions


The CairoFontSlant class

Introduction

Specifies variants of a font face based on their slant.

Synopsis de la classe

CairoFontSlant
CairoFontSlant {
/* Constantes */
const integer CairoFontSlant::NORMAL = 0 ;
const integer CairoFontSlant::ITALIC = 1 ;
const integer CairoFontSlant::OBLIQUE = 2 ;
}

Constantes pré-définies

CairoFontSlant Node Types

CairoFontSlant::NORMAL

Upright font style

CairoFontSlant::ITALIC

Italic font style

CairoFontSlant::OBLIQUE

Oblique font style

CairoFontOptions::status
CairoFontType
Cairo


The CairoFontType class

Introduction

CairoFontType class is an abstract final class that contains constants used to describe the type of a given CairoFontFace or CairoScaledFont. The font types are also known as "font backends" within cairo.

The type of a CairoFontFace is determined by the how it is created, an example would be the CairoToyFontFace::__construct. The CairoFontFace type can be queried with CairoFontFace::getType or cairo_font_face_get_type()

The various CairoFontFace functions can be used with a font face of any type.

The type of a CairoScaledFont is determined by the type of the CairoFontFace passed to CairoScaledFont::__construct or cairo_scaled_font_create(). The scaled font type can be queried with CairoScaledFont::getType or cairo_scaled_font_get_type().

Synopsis de la classe

CairoFontType
CairoFontType {
/* Constantes */
const integer CairoFontType::TOY = 0 ;
const integer CairoFontType::FT = 1 ;
const integer CairoFontType::WIN32 = 2 ;
const integer CairoFontType::QUARTZ = 3 ;
}

Constantes pré-définies

CairoFontType Node Types

CairoFontType::TOY

The font was created using CairoToyFont api

CairoFontType::FT

The font is of type CairoFreeType

CairoFontType::WIN32

The font is of type Win32

CairoFontType::QUARTZ

The font is of type Quartz

CairoFontType::USER

The font was create using cairo's user font api

CairoFontSlant
CairoFontWeight
Cairo


The CairoFontWeight class

Introduction

Specifies variants of a font face based on their weight.

Synopsis de la classe

CairoFontWeight
CairoFontWeight {
/* Constantes */
const integer CairoFontWeight::NORMAL = 0 ;
const integer CairoFontWeight::BOLD = 1 ;
}

Constantes pré-définies

CairoFontWeight Node Types

CairoFontWeight::NORMAL

Normal font weight

CairoFontWeight::BOLD

Bold font weight

CairoFontType
CairoScaledFont
Cairo


La classe CairoScaledFont

Introduction

Synopsis de la classe

CairoScaledFont
CairoScaledFont {
/* Méthodes */
__construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )
public array extents ( void )
public CairoMatrix getCtm ( void )
public void getFontFace ( void )
public void getFontMatrix ( void )
public void getFontOptions ( void )
public void getScaleMatrix ( void )
public int getType ( void )
public array glyphExtents ( string $glyphs )
public int status ( void )
public array textExtents ( string $text )
}

Sommaire

  • CairoScaledFont::__construct — Le but de __construct
  • CairoScaledFont::extents — Le but de extents
  • CairoScaledFont::getCtm — Le but de getCtm
  • CairoScaledFont::getFontFace — Le but de getFontFace
  • CairoScaledFont::getFontMatrix — Le but de getFontMatrix
  • CairoScaledFont::getFontOptions — Le but de getFontOptions
  • CairoScaledFont::getScaleMatrix — Le but de getScaleMatrix
  • CairoScaledFont::getType — Le but de getType
  • CairoScaledFont::glyphExtents — Le but de glyphExtents
  • CairoScaledFont::status — Le but de status
  • CairoScaledFont::textExtents — Le but de textExtents
CairoFontWeight
CairoScaledFont::__construct
Cairo


Le but de __construct

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont
PHP Manual

CairoScaledFont::__construct

(PECL cairo >= 0.1.0)

CairoScaledFont::__construct — Le but de __construct

Description

CairoScaledFont::__construct ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

font_face

matrix

ctm

options

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoScaledFont::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont
CairoScaledFont::extents
CairoScaledFont


Le but de extents

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont
PHP Manual

CairoScaledFont::extents

(PECL cairo >= 0.1.0)

CairoScaledFont::extents — Le but de extents

Description

public array CairoScaledFont::extents ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoScaledFont::extents

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::__construct
CairoScaledFont::getCtm
CairoScaledFont


Le but de getCtm

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::getCtm

(PECL cairo >= 0.1.0)

CairoScaledFont::getCtm — Le but de getCtm

Description

public CairoMatrix CairoScaledFont::getCtm ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoScaledFont::getCtm

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::extents
CairoScaledFont::getFontFace
CairoScaledFont


Le but de getFontFace

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontFace

cairo_get_font_face

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontFace -- cairo_get_font_face — Le but de getFontFace

Description

Style orienté objet (méthode) :

public void CairoScaledFont::getFontFace ( void )

Style procédural :

void cairo_get_font_face ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::getCtm
CairoScaledFont::getFontMatrix
CairoScaledFont


Le but de getFontMatrix

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont
PHP Manual

CairoScaledFont::getFontMatrix

cairo_get_font_matrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontMatrix -- cairo_get_font_matrix — Le but de getFontMatrix

Description

Style orienté objet (méthode) :

public void CairoScaledFont::getFontMatrix ( void )

Style procédural :

void cairo_get_font_matrix ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::getFontFace
CairoScaledFont::getFontOptions
CairoScaledFont


Le but de getFontOptions

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont
PHP Manual

CairoScaledFont::getFontOptions

cairo_get_font_options

(PECL cairo >= 0.1.0)

CairoScaledFont::getFontOptions -- cairo_get_font_options — Le but de getFontOptions

Description

Style orienté objet (méthode) :

public void CairoScaledFont::getFontOptions ( void )

Style procédural :

void cairo_get_font_options ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::getFontMatrix
CairoScaledFont::getScaleMatrix
CairoScaledFont


Le but de getScaleMatrix

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont
PHP Manual

CairoScaledFont::getScaleMatrix

(PECL cairo >= 0.1.0)

CairoScaledFont::getScaleMatrix — Le but de getScaleMatrix

Description

public void CairoScaledFont::getScaleMatrix ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoScaledFont::getScaleMatrix

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::getFontOptions
CairoScaledFont::getType
CairoScaledFont


Le but de getType

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont
PHP Manual

CairoScaledFont::getType

(PECL cairo >= 0.1.0)

CairoScaledFont::getType — Le but de getType

Description

public int CairoScaledFont::getType ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoScaledFont::getType

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::getScaleMatrix
CairoScaledFont::glyphExtents
CairoScaledFont


Le but de glyphExtents

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont
PHP Manual

CairoScaledFont::glyphExtents

(PECL cairo >= 0.1.0)

CairoScaledFont::glyphExtents — Le but de glyphExtents

Description

public array CairoScaledFont::glyphExtents ( string $glyphs )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

glyphs

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoScaledFont::glyphExtents

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::getType
CairoScaledFont::status
CairoScaledFont


Le but de status

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont
PHP Manual

CairoScaledFont::status

cairo_status

(PECL cairo >= 0.1.0)

CairoScaledFont::status -- cairo_status — Le but de status

Description

Style orienté objet (méthode) :

public int CairoScaledFont::status ( void )

Style procédural :

int cairo_status ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::glyphExtents
CairoScaledFont::textExtents
CairoScaledFont


Le but de textExtents

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont
PHP Manual

CairoScaledFont::textExtents

cairo_text_extents

(PECL cairo >= 0.1.0)

CairoScaledFont::textExtents -- cairo_text_extents — Le but de textExtents

Description

Style orienté objet (méthode) :

public array CairoScaledFont::textExtents ( string $text )

Style procédural :

array cairo_text_extents ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

text

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoScaledFont::status
CairoToyFontFace
CairoScaledFont


La classe CairoToyFontFace

Introduction

La classe CairoToyFontFace peut être utilisée à la place de la méthode CairoContext::selectFontFace pour créer des polices indépendamment du contexte.

Synopsis de la classe

CairoToyFontFace
CairoToyFontFace extends CairoFontFace {
/* Méthodes héritées */
}
CairoScaledFont::textExtents
CairoPatternType
Cairo


The CairoPatternType class

Introduction

CairoPatternType is used to describe the type of a given pattern.

The type of a pattern is determined by the function used to create it. The cairo_pattern_create_rgb() and cairo_pattern_create_rgba() functions create CairoPatternType::SOLID patterns. The remaining cairo_pattern_create_* functions map to pattern types in obvious ways.

Synopsis de la classe

CairoPatternType
CairoPatternType {
/* Constantes */
const integer CairoPatternType::SOLID = 0 ;
const integer CairoPatternType::SURFACE = 1 ;
const integer CairoPatternType::LINEAR = 2 ;
const integer CairoPatternType::RADIAL = 3 ;
}

Constantes pré-définies

CairoPatternType Node Types

CairoPatternType::SOLID

The pattern is a solid (uniform) color. It may be opaque or translucent.

CairoPatternType::SURFACE

The pattern is a based on a surface (an image).

CairoPatternType::LINEAR

The pattern is a linear gradient.

CairoPatternType::RADIAL

The pattern is a radial gradient.

CairoToyFontFace
CairoPattern
Cairo


The CairoPattern class

Introduction

CairoPattern is the abstract base class from which all the other pattern classes derive. It cannot be instantiated directly

Synopsis de la classe

CairoPattern
CairoPattern {
/* Méthodes */
__construct ( void )
public void getMatrix ( void )
public int getType ( void )
public void setMatrix ( string $matrix )
public int status ( void )
}

Sommaire

  • CairoPattern::__construct — Le but de __construct
  • CairoPattern::getMatrix — Le but de getMatrix
  • CairoPattern::getType — Le but de getType
  • CairoPattern::setMatrix — Le but de setMatrix
  • CairoPattern::status — Le but de status
CairoPatternType
CairoPattern::__construct
Cairo


Le but de __construct

CairoPattern
CairoPattern::getMatrix
CairoPattern
PHP Manual

CairoPattern::__construct

(PECL cairo >= 0.1.0)

CairoPattern::__construct — Le but de __construct

Description

CairoPattern::__construct ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoPattern::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPattern
CairoPattern::getMatrix
CairoPattern


Le but de getMatrix

CairoPattern::__construct
CairoPattern::getType
CairoPattern
PHP Manual

CairoPattern::getMatrix

cairo_get_matrix

(PECL cairo >= 0.1.0)

CairoPattern::getMatrix -- cairo_get_matrix — Le but de getMatrix

Description

Style orienté objet (méthode) :

public void CairoPattern::getMatrix ( void )

Style procédural :

void cairo_get_matrix ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPattern::__construct
CairoPattern::getType
CairoPattern


Le but de getType

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern
PHP Manual

CairoPattern::getType

(PECL cairo >= 0.1.0)

CairoPattern::getType — Le but de getType

Description

public int CairoPattern::getType ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoPattern::getType

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPattern::getMatrix
CairoPattern::setMatrix
CairoPattern


Le but de setMatrix

CairoPattern::getType
CairoPattern::status
CairoPattern
PHP Manual

CairoPattern::setMatrix

cairo_set_matrix

(PECL cairo >= 0.1.0)

CairoPattern::setMatrix -- cairo_set_matrix — Le but de setMatrix

Description

Style orienté objet (méthode) :

public void CairoPattern::setMatrix ( string $matrix )

Style procédural :

void cairo_set_matrix ( CairoContext $context , CairoMatrix $matrix )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

matrix

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPattern::getType
CairoPattern::status
CairoPattern


Le but de status

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern
PHP Manual

CairoPattern::status

cairo_status

(PECL cairo >= 0.1.0)

CairoPattern::status -- cairo_status — Le but de status

Description

Style orienté objet (méthode) :

public int CairoPattern::status ( void )

Style procédural :

int cairo_status ( CairoContext $context )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoPattern::setMatrix
CairoGradientPattern
CairoPattern


The CairoGradientPattern class

Introduction

CairoGradientPattern is an abstract base class from which other Pattern classes derive. It cannot be instantiated directly.

Synopsis de la classe

CairoGradientPattern
CairoGradientPattern extends CairoPattern {
/* Méthodes */
public void addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int getColorStopCount ( void )
public array getColorStopRgba ( string $index )
public int getExtend ( void )
public void setExtend ( int $extend )
/* Méthodes héritées */
CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Sommaire

  • CairoGradientPattern::addColorStopRgb — Le but de addColorStopRgb
  • CairoGradientPattern::addColorStopRgba — Le but de addColorStopRgba
  • CairoGradientPattern::getColorStopCount — Le but de getColorStopCount
  • CairoGradientPattern::getColorStopRgba — Le but de getColorStopRgba
  • CairoGradientPattern::getExtend — Le but de getExtend
  • CairoGradientPattern::setExtend — Le but de setExtend
CairoPattern::status
CairoGradientPattern::addColorStopRgb
Cairo


Le but de addColorStopRgb

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgb

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgb — Le but de addColorStopRgb

Description

public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

offset

red

green

blue

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoGradientPattern::addColorStopRgb

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoGradientPattern
CairoGradientPattern::addColorStopRgba
CairoGradientPattern


Le but de addColorStopRgba

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern
PHP Manual

CairoGradientPattern::addColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::addColorStopRgba — Le but de addColorStopRgba

Description

public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

offset

red

green

blue

alpha

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoGradientPattern::addColorStopRgba

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoGradientPattern::addColorStopRgb
CairoGradientPattern::getColorStopCount
CairoGradientPattern


Le but de getColorStopCount

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopCount

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopCount — Le but de getColorStopCount

Description

public int CairoGradientPattern::getColorStopCount ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoGradientPattern::getColorStopCount

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoGradientPattern::addColorStopRgba
CairoGradientPattern::getColorStopRgba
CairoGradientPattern


Le but de getColorStopRgba

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getColorStopRgba

(PECL cairo >= 0.1.0)

CairoGradientPattern::getColorStopRgba — Le but de getColorStopRgba

Description

public array CairoGradientPattern::getColorStopRgba ( string $index )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoGradientPattern::getColorStopRgba

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoGradientPattern::getColorStopCount
CairoGradientPattern::getExtend
CairoGradientPattern


Le but de getExtend

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern
PHP Manual

CairoGradientPattern::getExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::getExtend — Le but de getExtend

Description

public int CairoGradientPattern::getExtend ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoGradientPattern::getExtend

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoGradientPattern::getColorStopRgba
CairoGradientPattern::setExtend
CairoGradientPattern


Le but de setExtend

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern
PHP Manual

CairoGradientPattern::setExtend

(PECL cairo >= 0.1.0)

CairoGradientPattern::setExtend — Le but de setExtend

Description

public void CairoGradientPattern::setExtend ( int $extend )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

extend

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoGradientPattern::setExtend

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoGradientPattern::getExtend
CairoSolidPattern
CairoGradientPattern


La classe CairoSolidPattern

Introduction

Synopsis de la classe

CairoSolidPattern
CairoSolidPattern extends CairoPattern {
/* Méthodes */
__construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )
public array getRgba ( void )
/* Méthodes héritées */
CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Sommaire

  • CairoSolidPattern::__construct — Le but de __construct
  • CairoSolidPattern::getRgba — Le but de getRgba
CairoGradientPattern::setExtend
CairoSolidPattern::__construct
Cairo


Le but de __construct

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern
PHP Manual

CairoSolidPattern::__construct

(PECL cairo >= 0.1.0)

CairoSolidPattern::__construct — Le but de __construct

Description

CairoSolidPattern::__construct ( float $red , float $green , float $blue [, float $alpha = 0 ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

red

green

blue

alpha

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSolidPattern::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSolidPattern
CairoSolidPattern::getRgba
CairoSolidPattern


Le but de getRgba

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern
PHP Manual

CairoSolidPattern::getRgba

(PECL cairo >= 0.1.0)

CairoSolidPattern::getRgba — Le but de getRgba

Description

public array CairoSolidPattern::getRgba ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSolidPattern::getRgba

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSolidPattern::__construct
CairoSurfacePattern
CairoSolidPattern


La classe CairoSurfacePattern

Introduction

Synopsis de la classe

CairoSurfacePattern
CairoSurfacePattern extends CairoPattern {
/* Méthodes */
__construct ( CairoSurface $surface )
public int getExtend ( void )
public int getFilter ( void )
public void getSurface ( void )
public void setExtend ( int $extend )
public void setFilter ( string $filter )
/* Méthodes héritées */
CairoPattern::__construct ( void )
public void CairoPattern::getMatrix ( void )
public int CairoPattern::getType ( void )
public void CairoPattern::setMatrix ( string $matrix )
public int CairoPattern::status ( void )
}

Sommaire

  • CairoSurfacePattern::__construct — Le but de __construct
  • CairoSurfacePattern::getExtend — Le but de getExtend
  • CairoSurfacePattern::getFilter — Le but de getFilter
  • CairoSurfacePattern::getSurface — Le but de getSurface
  • CairoSurfacePattern::setExtend — Le but de setExtend
  • CairoSurfacePattern::setFilter — Le but de setFilter
CairoSolidPattern::getRgba
CairoSurfacePattern::__construct
Cairo


Le but de __construct

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::__construct

(PECL cairo >= 0.1.0)

CairoSurfacePattern::__construct — Le but de __construct

Description

CairoSurfacePattern::__construct ( CairoSurface $surface )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

surface

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurfacePattern::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurfacePattern
CairoSurfacePattern::getExtend
CairoSurfacePattern


Le but de getExtend

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getExtend — Le but de getExtend

Description

public int CairoSurfacePattern::getExtend ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurfacePattern::getExtend

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurfacePattern::__construct
CairoSurfacePattern::getFilter
CairoSurfacePattern


Le but de getFilter

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getFilter — Le but de getFilter

Description

public int CairoSurfacePattern::getFilter ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurfacePattern::getFilter

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurfacePattern::getExtend
CairoSurfacePattern::getSurface
CairoSurfacePattern


Le but de getSurface

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::getSurface

(PECL cairo >= 0.1.0)

CairoSurfacePattern::getSurface — Le but de getSurface

Description

public void CairoSurfacePattern::getSurface ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurfacePattern::getSurface

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurfacePattern::getFilter
CairoSurfacePattern::setExtend
CairoSurfacePattern


Le but de setExtend

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setExtend

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setExtend — Le but de setExtend

Description

public void CairoSurfacePattern::setExtend ( int $extend )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

extend

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoSurfacePattern::setExtend

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurfacePattern::getSurface
CairoSurfacePattern::setFilter
CairoSurfacePattern


Le but de setFilter

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern
PHP Manual

CairoSurfacePattern::setFilter

(PECL cairo >= 0.1.0)

CairoSurfacePattern::setFilter — Le but de setFilter

Description

public void CairoSurfacePattern::setFilter ( string $filter )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filter

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoSurfacePattern::setFilter

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoSurfacePattern::setExtend
CairoLinearGradient
CairoSurfacePattern


The CairoLinearGradient class

Introduction

Create a new CairoLinearGradient along the line defined

Synopsis de la classe

CairoLinearGradient
CairoLinearGradient extends CairoGradientPattern {
/* Méthodes */
__construct ( float $x0 , float $y0 , float $x1 , float $y1 )
public array getPoints ( void )
/* Méthodes héritées */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Sommaire

  • CairoLinearGradient::__construct — Le but de __construct
  • CairoLinearGradient::getPoints — Le but de getPoints
CairoSurfacePattern::setFilter
CairoLinearGradient::__construct
Cairo


Le but de __construct

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient
PHP Manual

CairoLinearGradient::__construct

(PECL cairo >= 0.1.0)

CairoLinearGradient::__construct — Le but de __construct

Description

CairoLinearGradient::__construct ( float $x0 , float $y0 , float $x1 , float $y1 )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x0

y0

x1

y1

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoLinearGradient::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoLinearGradient
CairoLinearGradient::getPoints
CairoLinearGradient


Le but de getPoints

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient
PHP Manual

CairoLinearGradient::getPoints

(PECL cairo >= 0.1.0)

CairoLinearGradient::getPoints — Le but de getPoints

Description

public array CairoLinearGradient::getPoints ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoLinearGradient::getPoints

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoLinearGradient::__construct
CairoRadialGradient
CairoLinearGradient


La classe CairoRadialGradient

Introduction

Synopsis de la classe

CairoRadialGradient
CairoRadialGradient extends CairoGradientPattern {
/* Méthodes */
__construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )
public array getCircles ( void )
/* Méthodes héritées */
public void CairoGradientPattern::addColorStopRgb ( string $offset , string $red , string $green , string $blue )
public void CairoGradientPattern::addColorStopRgba ( string $offset , string $red , string $green , string $blue , string $alpha )
public int CairoGradientPattern::getColorStopCount ( void )
public array CairoGradientPattern::getColorStopRgba ( string $index )
public int CairoGradientPattern::getExtend ( void )
public void CairoGradientPattern::setExtend ( int $extend )
}

Sommaire

  • CairoRadialGradient::__construct — Le but de __construct
  • CairoRadialGradient::getCircles — Le but de getCircles
CairoLinearGradient::getPoints
CairoRadialGradient::__construct
Cairo


Le but de __construct

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient
PHP Manual

CairoRadialGradient::__construct

(PECL cairo >= 0.1.0)

CairoRadialGradient::__construct — Le but de __construct

Description

Style orienté objet :

CairoRadialGradient::__construct ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )

Style proécural :

Crée un nouveau dégradé radial CairoPattern entre 2 cercles définis par (x0, y0, r0) et (x1, y1, r1). Avant d'utiliser ce masque de dégradé, un nombre de couleurs maximal doit être défini en utilisant le méthode CairoRadialGradient::addColorStopRgb ou la méthode CairoRadialGradient::addColorStopRgba.

Note : Les coordonnées ici sont dans l'espace du masque. Pour un nouveau masque, l'espace du masque est identique à l'espace utilisateur, mais les relations entre les espaces peuvent être modifiées avec la méthode CairoRadialGradient::setMatrix.

Liste de paramètres

x0

coordonnée en X du centre du premier cercle.

y0

coordonnée en Y du centre du premier cercle.

r0

rayon du premier cercle.

x1

coordonnée en X du centre du dernier cercle.

y1

coordonnée en Y du centre du dernier cercle.

r1

rayon du dernier cercle.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoRadialGradient::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoRadialGradient
CairoRadialGradient::getCircles
CairoRadialGradient


Le but de getCircles

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient
PHP Manual

CairoRadialGradient::getCircles

(PECL cairo >= 0.1.0)

CairoRadialGradient::getCircles — Le but de getCircles

Description

public array CairoRadialGradient::getCircles ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoRadialGradient::getCircles

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoRadialGradient::__construct
CairoAntialias
CairoRadialGradient


The CairoAntialias class

Introduction

Enum class that specifies the type of antialiasing to do when rendering text or shapes.

Synopsis de la classe

CairoAntialias
CairoAntialias {
/* Constantes */
const integer CairoAntialias::MODE_DEFAULT = 0 ;
const integer CairoAntialias::MODE_NONE = 1 ;
const integer CairoAntialias::MODE_GRAY = 2 ;
const integer CairoAntialias::MODE_SUBPIXEL = 3 ;
}

Constantes pré-définies

CairoAntialias Node Types

CairoAntialias::MODE_DEFAULT

Use the default antialiasing for the subsystem and target device

CairoAntialias::MODE_NONE

Use a bilevel alpha mask

CairoAntialias::MODE_GRAY

Perform single-color antialiasing (using shades of gray for black text on a white background, for example).

CairoAntialias::MODE_SUBPIXEL

Perform antialiasing by taking advantage of the order of subpixel elements on devices such as LCD panels.

CairoRadialGradient::getCircles
CairoContent
Cairo


The CairoContent class

Introduction

CairoContent is used to describe the content that a surface will contain, whether color information, alpha information (translucence vs. opacity), or both.

Note: The large values here are designed to keep CairoContent values distinct from CairoContent values so that the implementation can detect the error if users confuse the two types.

Synopsis de la classe

CairoContent
CairoContent {
/* Constantes */
const integer CairoContent::COLOR = 4096 ;
const integer CairoContent::ALPHA = 8192 ;
const integer CairoContent::COLOR_ALPHA = 12288 ;
}

Constantes pré-définies

CairoContent Node Types

CairoContent::COLOR

The surface will hold color content only.

CairoContent::ALPHA

The surface will hold alpha content only.

CairoContent::COLOR_ALPHA

The surface will hold color and alpha content.

CairoAntialias
CairoExtend
Cairo


The CairoExtend class

Introduction

Description of the class.

Synopsis de la classe

CairoExtend
CairoExtend {
/* Constantes */
const integer CairoExtend::NONE = 0 ;
const integer CairoExtend::REPEAT = 1 ;
const integer CairoExtend::REFLECT = 2 ;
const integer CairoExtend::PAD = 3 ;
}

Constantes pré-définies

CairoExtend Node Types

CairoExtend::NONE

Description here...

CairoExtend::REPEAT

Description here...

CairoExtend::REFLECT

Description here...

CairoExtend::PAD

Description here...

CairoContent
CairoFormat
Cairo


The CairoFormat class

Introduction

CairoFormat enums are used to identify the memory format of the image data.

Synopsis de la classe

CairoFormat
CairoFormat {
/* Constantes */
const integer CairoFormat::ARGB32 = 0 ;
const integer CairoFormat::RGB24 = 1 ;
const integer CairoFormat::A8 = 2 ;
const integer CairoFormat::A1 = 3 ;
/* Méthodes */
public static int strideForWidth ( int $format , int $width )
}

Constantes pré-définies

CairoFormat Node Types

CairoFormat::ARGB32

Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then red, then green, then blue. The 32-bit quantities are stored native-endian. Pre-multiplied alpha is used. (That is, 50% transparent red is 0x80800000, not 0x80ff0000.)

CairoFormat::RGB24

Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red, Green, and Blue are stored in the remaining 24 bits in that order.

CairoFormat::A8

Each pixel is a 8-bit quantity holding an alpha value.

CairoFormat::A1

Each pixel is a 1-bit quantity holding an alpha value. Pixels are packed together into 32-bit quantities. The ordering of the bits matches the endianess of the platform. On a big-endian machine, the first pixel is in the uppermost bit, on a little-endian machine the first pixel is in the least-significant bit.

Sommaire

  • CairoFormat::strideForWidth — Provides an appropiate stride to use
CairoExtend
CairoFormat::strideForWidth
Cairo


Provides an appropiate stride to use

CairoFormat
CairoFillRule
CairoFormat
PHP Manual

CairoFormat::strideForWidth

(PECL cairo >= 0.1.0)

CairoFormat::strideForWidth — Provides an appropiate stride to use

Description

public static int CairoFormat::strideForWidth ( int $format , int $width )

This method provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.

Liste de paramètres

format

The desired CairoFormat to use

width

The width of the image

Valeurs de retour

The appropriate stride to use given the desired format and width, or -1 if either the format is invalid or the width too large.

Exemples

Exemple #1 CairoFormat::strideForWidth example

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

CairoFormat
CairoFillRule
CairoFormat


The CairoFillRule class

Introduction

A CairoFillRule is used to select how paths are filled. For both fill rules, whether or not a point is included in the fill is determined by taking a ray from that point to infinity and looking at intersections with the path. The ray can be in any direction, as long as it doesn't pass through the end point of a segment or have a tricky intersection such as intersecting tangent to the path. (Note that filling is not actually implemented in this way. This is just a description of the rule that is applied.)

The default fill rule is CairoFillRule::WINDING.

Synopsis de la classe

CairoFillRule
CairoFillRule {
/* Constantes */
const integer CairoFillRule::WINDING = 0 ;
const integer CairoFillRule::EVEN_ODD = 1 ;
}

Constantes pré-définies

CairoFillRule Node Types

CairoFillRule::WINDING

If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled.

CairoFillRule::EVEN_ODD

Counts the total number of intersections, without regard to the orientation of the contour. If the total number of intersections is odd, the point will be filled.

CairoFormat::strideForWidth
CairoFilter
Cairo


The CairoFilter class

Introduction

A CairoFilter is used to indicate what filtering should be applied when reading pixel values from patterns. See CairoPattern::setSource or cairo_pattern_set_source() for indicating the desired filter to be used with a particular pattern.

Synopsis de la classe

CairoFilter
CairoFilter {
/* Constantes */
const integer CairoFilter::FAST = 0 ;
const integer CairoFilter::GOOD = 1 ;
const integer CairoFilter::BEST = 2 ;
const integer CairoFilter::NEAREST = 3 ;
const integer CairoFilter::BILINEAR = 4 ;
const integer CairoFilter::GAUSSIAN = 5 ;
}

Constantes pré-définies

CairoFilter Node Types

CairoFilter::FAST

A high-performance filter, with quality similar to CairoFilter::NEAREST

CairoFilter::GOOD

A reasonable-performance filter, with quality similar to CairoFilter::BILINEAR

CairoFilter::BEST

The highest-quality available, performance may not be suitable for interactive use.

CairoFilter::NEAREST

Nearest-neighbor filtering

CairoFilter::BILINEAR

Linear interpolation in two dimensions

CairoFilter::GAUSSIAN

This filter value is currently unimplemented, and should not be used in current code.

CairoFillRule
CairoHintMetrics
Cairo


The CairoHintMetrics class

Introduction

Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space. Doing this improves the consistency of letter and line spacing, however it also means that text will be laid out differently at different zoom factors.

Synopsis de la classe

CairoHintMetrics
CairoHintMetrics {
/* Constantes */
const integer CairoHintMetrics::METRICS_DEFAULT = 0 ;
const integer CairoHintMetrics::METRICS_OFF = 1 ;
const integer CairoHintMetrics::METRICS_ON = 2 ;
}

Constantes pré-définies

CairoHintMetrics Node Types

CairoHintMetrics::METRICS_DEFAULT

Hint metrics in the default manner for the font backend and target device

CairoHintMetrics::METRICS_OFF

Do not hint font metrics

CairoHintMetrics::METRICS_ON

Hint font metrics

CairoFilter
CairoHintStyle
Cairo


The CairoHintStyle class

Introduction

Specifies the type of hinting to do on font outlines. Hinting is the process of fitting outlines to the pixel grid in order to improve the appearance of the result. Since hinting outlines involves distorting them, it also reduces the faithfulness to the original outline shapes. Not all of the outline hinting styles are supported by all font backends.

Synopsis de la classe

CairoHintStyle
CairoHintStyle {
/* Constantes */
const integer CairoHintStyle::STYLE_DEFAULT = 0 ;
const integer CairoHintStyle::STYLE_NONE = 1 ;
const integer CairoHintStyle::STYLE_SLIGHT = 2 ;
const integer CairoHintStyle::STYLE_MEDIUM = 3 ;
const integer CairoHintStyle::STYLE_FULL = 4 ;
}

Constantes pré-définies

CairoHintStyle Node Types

CairoHintStyle::STYLE_DEFAULT

Use the default hint style for font backend and target device

CairoHintStyle::STYLE_NONE

Do not hint outlines

CairoHintStyle::STYLE_SLIGHT

Hint outlines slightly to improve contrast while retaining good fidelity to the original shapes.

CairoHintStyle::STYLE_MEDIUM

Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast

CairoHintStyle::STYLE_FULL

Hint outlines to maximize contrast

CairoHintMetrics
CairoLineCap
Cairo


The CairoLineCap class

Introduction

Specifies how to render the endpoints of the path when stroking.

The default line cap style is CairoLineCap::BUTT.

Synopsis de la classe

CairoLineCap
CairoLineCap {
/* Constantes */
const integer CairoLineCap::BUTT = 0 ;
const integer CairoLineCap::ROUND = 1 ;
const integer CairoLineCap::SQUARE = 2 ;
}

Constantes pré-définies

CairoLineCap Node Types

CairoLineCap::BUTT

Start(stop) the line exactly at the start(end) point

CairoLineCap::ROUND

Use a round ending, the center of the circle is the end point

CairoLineCap::SQUARE

Use squared ending, the center of the square is the end point

CairoHintStyle
CairoLineJoin
Cairo


La classe CairoLineJoin

Introduction

Synopsis de la classe

CairoLineJoin
CairoLineJoin {
/* Constantes */
const integer CairoLineJoin::MITER = 0 ;
const integer CairoLineJoin::ROUND = 1 ;
const integer CairoLineJoin::BEVEL = 2 ;
}

Constantes pré-définies

Types de nœud CairoLineJoin

CairoLineJoin::MITER

CairoLineJoin::ROUND

CairoLineJoin::BEVEL

CairoLineCap
CairoMatrix
Cairo


The CairoMatrix class

Introduction

Matrices are used throughout cairo to convert between different coordinate spaces.

Synopsis de la classe

CairoMatrix
CairoMatrix {
/* Méthodes */
__construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )
public static void initIdentity ( void )
public static void initRotate ( float $radians )
public static void initScale ( float $sx , float $sy )
public static void initTranslate ( float $tx , float $ty )
public void invert ( void )
public static CairoMatrix multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )
public void rotate ( string $sx , string $sy )
public void scale ( float $sx , float $sy )
public array transformDistance ( string $dx , string $dy )
public array transformPoint ( string $dx , string $dy )
public void translate ( string $tx , string $ty )
}

Sommaire

  • CairoMatrix::__construct — Creates a new CairoMatrix object
  • CairoMatrix::initIdentity — Creates a new identity matrix
  • CairoMatrix::initRotate — Creates a new rotated matrix
  • CairoMatrix::initScale — Creates a new scaling matrix
  • CairoMatrix::initTranslate — Creates a new translation matrix
  • CairoMatrix::invert — Le but de invert
  • CairoMatrix::multiply — Le but de multiply
  • CairoMatrix::rotate — Le but de rotate
  • CairoMatrix::scale — Applies scaling to a matrix
  • CairoMatrix::transformDistance — Le but de transformDistance
  • CairoMatrix::transformPoint — Le but de transformPoint
  • CairoMatrix::translate — Le but de translate
CairoLineJoin
CairoMatrix::__construct
Cairo


Creates a new CairoMatrix object

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix
PHP Manual

CairoMatrix::__construct

cairo_matrix_init

(PECL cairo >= 0.1.0)

CairoMatrix::__construct -- cairo_matrix_init — Creates a new CairoMatrix object

Description

Object oriented style (method):

CairoMatrix::__construct ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Procedural style:

object cairo_matrix_init ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )

Returns new CairoMatrix object. Matrices are used throughout cairo to convert between different coordinate spaces. Sets matrix to be the affine transformation given by xx, yx, xy, yy, x0, y0. The transformation is given by: x_new = xx * x + xy * y + x0; and y_new = yx * x + yy * y + y0;

Liste de paramètres

xx

xx component of the affine transformation

yx

yx component of the affine transformation

xy

xy component of the affine transformation

yy

yy component of the affine transformation

x0

X translation component of the affine transformation

y0

Y translation component of the affine transformation

Valeurs de retour

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Exemples

Exemple #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Exemple #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
?>

Voir aussi

  • CairoMatrix::initIdentity - Creates a new identity matrix
  • CairoMatrix::initRotate - Creates a new rotated matrix
  • CairoMatrix::initScale - Creates a new scaling matrix
  • CairoMatrix::initTranslate - Creates a new translation matrix

CairoMatrix
CairoMatrix::initIdentity
CairoMatrix


Creates a new identity matrix

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix
PHP Manual

CairoMatrix::initIdentity

cairo_matrix_init_identity

(PECL cairo >= 0.1.0)

CairoMatrix::initIdentity -- cairo_matrix_init_identity — Creates a new identity matrix

Description

Object oriented style (method):

public static void CairoMatrix::initIdentity ( void )

Procedural style:

object cairo_matrix_init_identity ( void )

Creates a new matrix that is an identity transformation. An identity transformation means the source data is copied into the destination data without change

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Exemples

Exemple #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initIdentity();
?>

Exemple #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_identity();
?>

Voir aussi

  • CairoMatrix::__construct - Creates a new CairoMatrix object
  • CairoMatrix::initRotate - Creates a new rotated matrix
  • CairoMatrix::initScale - Creates a new scaling matrix
  • CairoMatrix::initTranslate - Creates a new translation matrix

CairoMatrix::__construct
CairoMatrix::initRotate
CairoMatrix


Creates a new rotated matrix

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix
PHP Manual

CairoMatrix::initRotate

cairo_matrix_init_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::initRotate -- cairo_matrix_init_rotate — Creates a new rotated matrix

Description

Object oriented style (method):

public static void CairoMatrix::initRotate ( float $radians )

Procedural style:

object cairo_matrix_init_rotate ( float $radians )

Creats a new matrix to a transformation that rotates by radians provided

Liste de paramètres

radians

angle of rotation, in radians. The direction of rotation is defined such that positive angles rotate in the direction from the positive X axis toward the positive Y axis. With the default axis orientation of cairo, positive angles rotate in a clockwise direction.

Valeurs de retour

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Exemples

Exemple #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initRotate(0.3);
?>

Exemple #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_rotate(0.3);
?>

Voir aussi

  • CairoMatrix::__construct - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity - Creates a new identity matrix
  • CairoMatrix::initScale - Creates a new scaling matrix
  • CairoMatrix::initTranslate - Creates a new translation matrix

CairoMatrix::initIdentity
CairoMatrix::initScale
CairoMatrix


Creates a new scaling matrix

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix
PHP Manual

CairoMatrix::initScale

cairo_matrix_init_scale

cairo_matrix_create_scale

(PECL cairo >= 0.1.0)

CairoMatrix::initScale -- cairo_matrix_init_scale -- cairo_matrix_create_scale — Creates a new scaling matrix

Description

Object oriented style (method):

public static void CairoMatrix::initScale ( float $sx , float $sy )

Procedural style:

object cairo_matrix_init_scale ( float $sx , float $sy )

Creates a new matrix to a transformation that scales by sx and sy in the X and Y dimensions, respectively.

Liste de paramètres

sx

scale factor in the X direction

sy

scale factor in the Y direction

Valeurs de retour

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Exemples

Exemple #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initScale(1.0, 2.0);
?>

Exemple #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_scale(1.0, 2.0);
?>

Voir aussi

  • CairoMatrix::__construct - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity - Creates a new identity matrix
  • CairoMatrix::initRotate - Creates a new rotated matrix
  • CairoMatrix::initTranslate - Creates a new translation matrix

CairoMatrix::initRotate
CairoMatrix::initTranslate
CairoMatrix


Creates a new translation matrix

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix
PHP Manual

CairoMatrix::initTranslate

cairo_matrix_init_translate

(PECL cairo >= 0.1.0)

CairoMatrix::initTranslate -- cairo_matrix_init_translate — Creates a new translation matrix

Description

Object oriented style (method):

public static void CairoMatrix::initTranslate ( float $tx , float $ty )

Procedural style:

object cairo_matrix_init_translate ( float $tx , float $ty )

Creates a new matrix to a transformation that translates by tx and ty in the X and Y dimensions, respectively.

Liste de paramètres

tx

amount to translate in the X direction

ty

amount to translate in the Y direction

Valeurs de retour

Returns a new CairoMatrix object that can be used with surfaces, contexts, and patterns.

Exemples

Exemple #1 Object oriented style

<?php
/* Create a new Matrix */
$matrix = CairoMatrix::initTranslate(1.0, 2.0);
?>

Exemple #2 Procedural style

<?php
/* Create a new Matrix */
$matrix = cairo_matrix_init_translate(1.0, 2.0);
?>

Voir aussi

  • CairoMatrix::__construct - Creates a new CairoMatrix object
  • CairoMatrix::initIdentity - Creates a new identity matrix
  • CairoMatrix::initRotate - Creates a new rotated matrix
  • CairoMatrix::initScale - Creates a new scaling matrix

CairoMatrix::initScale
CairoMatrix::invert
CairoMatrix


Le but de invert

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix
PHP Manual

CairoMatrix::invert

(PECL cairo >= 0.1.0)

CairoMatrix::invert — Le but de invert

Description

public void CairoMatrix::invert ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoMatrix::invert

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoMatrix::initTranslate
CairoMatrix::multiply
CairoMatrix


Le but de multiply

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix
PHP Manual

CairoMatrix::multiply

(PECL cairo >= 0.1.0)

CairoMatrix::multiply — Le but de multiply

Description

public static CairoMatrix CairoMatrix::multiply ( CairoMatrix $matrix1 , CairoMatrix $matrix2 )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

matrix1

matrix2

Valeurs de retour

Description...

Exemples

Exemple #1 Exemple avec CairoMatrix::multiply

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoMatrix::invert
CairoMatrix::rotate
CairoMatrix


Le but de rotate

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix
PHP Manual

CairoMatrix::rotate

cairo_rotate

(PECL cairo >= 0.1.0)

CairoMatrix::rotate -- cairo_rotate — Le but de rotate

Description

Style orienté objet (méthode) :

public void CairoMatrix::rotate ( string $sx , string $sy )

Style procédural :

void cairo_rotate ( CairoContext $context , string $angle )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

angle

sx

sy

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoMatrix::multiply
CairoMatrix::scale
CairoMatrix


Applies scaling to a matrix

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix
PHP Manual

CairoMatrix::scale

cairo_matrix_scale

(PECL cairo >= 0.1.0)

CairoMatrix::scale -- cairo_matrix_scale — Applies scaling to a matrix

Description

Object oriented style (method):

public void CairoMatrix::scale ( float $sx , float $sy )

Procedural style:

void cairo_matrix_scale ( CairoContext $context , float $sx , float $sy )

Applies scaling by sx, sy to the transformation in the matrix. The effect of the new transformation is to first scale the coordinates by sx and sy, then apply the original transformation to the coordinates.

Liste de paramètres

matrix

Procedural only - CairoMatrix instance

sx

scale factor in the X direction

sy

scale factor in the Y direction

Exemples

Exemple #1 Object oriented style

<?php
/* Apply scaling to a matrix */
$matrix = new CairoMatrix(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
$matrix->scale(0.2, 2.0);
?>

Exemple #2 Procedural style

<?php
/* Apply scaling to a matrix */
$matrix = cairo_matrix_init(1.0, 0.5, 0.0, 1.0, 0.0, 0.0);
cairo_matrix_scale($matrix, 0.2, 2.0);
?>

Voir aussi

  • CairoMatrix::initScale - Creates a new scaling matrix

CairoMatrix::rotate
CairoMatrix::transformDistance
CairoMatrix


Le but de transformDistance

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix
PHP Manual

CairoMatrix::transformDistance

(PECL cairo >= 0.1.0)

CairoMatrix::transformDistance — Le but de transformDistance

Description

public array CairoMatrix::transformDistance ( string $dx , string $dy )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

dx

dy

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoMatrix::transformDistance

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoMatrix::scale
CairoMatrix::transformPoint
CairoMatrix


Le but de transformPoint

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix
PHP Manual

CairoMatrix::transformPoint

(PECL cairo >= 0.1.0)

CairoMatrix::transformPoint — Le but de transformPoint

Description

public array CairoMatrix::transformPoint ( string $dx , string $dy )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

dx

dy

Valeurs de retour

Exemples

Exemple #1 Exemple avec CairoMatrix::transformPoint

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoMatrix::transformDistance
CairoMatrix::translate
CairoMatrix


Le but de translate

CairoMatrix::transformPoint
CairoOperator
CairoMatrix
PHP Manual

CairoMatrix::translate

cairo_translate

(PECL cairo >= 0.1.0)

CairoMatrix::translate -- cairo_translate — Le but de translate

Description

Style orienté objet (méthode) :

public void CairoMatrix::translate ( string $tx , string $ty )

Style procédural :

void cairo_translate ( CairoContext $context , string $x , string $y )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

context

x

y

tx

ty

Valeurs de retour

Exemples

Exemple #1 Style orienté objet

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Exemple #2 Style procédural

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

CairoMatrix::transformPoint
CairoOperator
CairoMatrix


The CairoOperator class

Introduction

This is used to set the compositing operator for all cairo drawing operations.

The default operator is CairoOperator::OVER

The operators marked as unbounded modify their destination even outside of the mask layer (that is, their effect is not bound by the mask layer). However, their effect can still be limited by way of clipping.

To keep things simple, the operator descriptions here document the behavior for when both source and destination are either fully transparent or fully opaque. The actual implementation works for translucent layers too. For a more detailed explanation of the effects of each operator, including the mathematical definitions, see http://cairographics.org/operators/.

Synopsis de la classe

CairoOperator
CairoOperator {
/* Constantes */
const integer CairoOperator::CLEAR = 0 ;
const integer CairoOperator::SOURCE = 1 ;
const integer CairoOperator::OVER = 2 ;
const integer CairoOperator::IN = 3 ;
const integer CairoOperator::OUT = 4 ;
const integer CairoOperator::ATOP = 5 ;
const integer CairoOperator::DEST = 6 ;
const integer CairoOperator::DEST_OVER = 7 ;
const integer CairoOperator::DEST_IN = 8 ;
const integer CairoOperator::DEST_OUT = 9 ;
const integer CairoOperator::DEST_ATOP = 10 ;
const integer CairoOperator::XOR = 11 ;
const integer CairoOperator::ADD = 12 ;
const integer CairoOperator::SATURATE = 13 ;
}

Constantes pré-définies

CairoOperator Node Types

CairoOperator::CLEAR

Clear destination layer (bounded)

CairoOperator::SOURCE

Replace destination layer (bounded)

CairoOperator::OVER

Draw source layer on top of destination layer (bounded)

CairoOperator::IN

Draw source where there was destination content (unbounded)

CairoOperator::OUT

Draw source where there was no destination content (unbounded)

CairoOperator::ATOP

Draw source on top of destination content and only there

CairoOperator::DEST

Ignore the source

CairoOperator::DEST_OVER

Draw destination on top of source

CairoOperator::DEST_IN

Leave destination only where there was source content (unbounded)

CairoOperator::DEST_OUT

Leave destination only where there was no source content

CairoOperator::DEST_ATOP

Leave destination on top of source content and only there (unbounded)

CairoOperator::XOR

Source and destination are shown where there is only one of them

CairoOperator::ADD

Source and destination layers are accumulated

CairoOperator::SATURATE

Like CairoOperator::OVER, but assuming source and dest are disjoint geometries

CairoMatrix::translate
CairoPath
Cairo


La classe CairoPath

Introduction

Note : la classe CairoPath ne peut être instanciée directement. Si vous le faîtes, une erreur fatale sera émise ou passée au gestion d'erreur.

Synopsis de la classe

CairoPath
CairoPath {
}
CairoOperator
CairoPsLevel
Cairo


La classe CairoPsLevel

Introduction

Synopsis de la classe

CairoPsLevel
CairoPsLevel {
/* Constantes */
const integer CairoPsLevel::LEVEL_2 = 0 ;
const integer CairoPsLevel::LEVEL_3 = 1 ;
}

Constantes pré-définies

Types de nœud CairoPsLevel

CairoPsLevel::LEVEL_2

CairoPsLevel::LEVEL_3

CairoPath
CairoSubpixelOrder
Cairo


La classe CairoSubpixelOrder

Introduction

Synopsis de la classe

CairoSubpixelOrder
CairoSubpixelOrder {
/* Constantes */
const integer CairoSubpixelOrder::ORDER_DEFAULT = 0 ;
const integer CairoSubpixelOrder::ORDER_RGB = 1 ;
const integer CairoSubpixelOrder::ORDER_BGR = 2 ;
const integer CairoSubpixelOrder::ORDER_VRGB = 3 ;
const integer CairoSubpixelOrder::ORDER_VBGR = 4 ;
}

Constantes pré-définies

Types de nœud CairoSubpixelOrder

CairoSubpixelOrder::ORDER_DEFAULT

CairoSubpixelOrder::ORDER_RGB

CairoSubpixelOrder::ORDER_BGR

CairoSubpixelOrder::ORDER_VRGB

CairoSubpixelOrder::ORDER_VBGR

CairoPsLevel
CairoSvgVersion
Cairo


La classe CairoSvgVersion

Introduction

Synopsis de la classe

CairoSvgVersion
CairoSvgVersion {
/* Constantes */
const integer CairoSvgVersion::VERSION_1_1 = 0 ;
const integer CairoSvgVersion::VERSION_1_2 = 1 ;
}

Constantes pré-définies

Types de nœud CairoSvgVersion

CairoSvgVersion::VERSION_1_1

CairoSvgVersion::VERSION_1_2

CairoSubpixelOrder
Extensions relatives aux emails
Cairo


Extensions relatives aux emails

  • Cyrus — Administration Cyrus IMAP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Cyrus
  • IMAP — IMAP, POP3 et NNTP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions IMAP
  • Mail
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Mail
  • Mailparse
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Mailparse
  • vpopmail
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • vpopmail Fonctions
CairoSvgVersion
Cyrus
Référence des fonctions


Administration Cyrus IMAP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Cyrus
    • cyrus_authenticate — Identification sur un serveur Cyrus IMAP
    • cyrus_bind — Ajoute une fonction de rappel sur une connexion Cyrus IMAP
    • cyrus_close — Ferme la connexion à un serveur Cyrus IMAP
    • cyrus_connect — Connexion sur un serveur Cyrus IMAP
    • cyrus_query — Envoie une requête à un serveur Cyrus IMAP
    • cyrus_unbind — Supprime ...
Extensions relatives aux emails
Introduction
Extensions relatives aux emails


Introduction

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

Cyrus
Installation/Configuration
Cyrus


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Cyrus


Installation

Pour activer le support Cyrus IMAP et en utiliser les fonctions, vous devez compiler PHP avec l'option --with-cyrus.

Avertissement

Les extensions IMAP, recode, YAZ et Cyrus ne peuvent être utilisées simultanément puisqu'elles utilisent un symbole interne commun. Note: Yaz 2.0 et supérieur ne sont pas affectés par ce problème.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit un identifiant de connexion Cyrus IMAP, retournée avec la fonction cyrus_connect().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CYRUS_CONN_NONSYNCLITERAL (entier)
CYRUS_CONN_INITIALRESPONSE (entier)
CYRUS_CALLBACK_NUMBERED (entier)
CYRUS_CALLBACK_NOLITERAL (entier)
Types de ressources
Fonctions Cyrus
Cyrus


Fonctions Cyrus

Sommaire

  • cyrus_authenticate — Identification sur un serveur Cyrus IMAP
  • cyrus_bind — Ajoute une fonction de rappel sur une connexion Cyrus IMAP
  • cyrus_close — Ferme la connexion à un serveur Cyrus IMAP
  • cyrus_connect — Connexion sur un serveur Cyrus IMAP
  • cyrus_query — Envoie une requête à un serveur Cyrus IMAP
  • cyrus_unbind — Supprime ...
Constantes pré-définies
cyrus_authenticate
Cyrus


Identification sur un serveur Cyrus IMAP

Fonctions Cyrus
cyrus_bind
Fonctions Cyrus
PHP Manual

cyrus_authenticate

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_authenticate — Identification sur un serveur Cyrus IMAP

Description

void cyrus_authenticate ( resource $connection [, string $mechlist [, string $service [, string $user [, int $minssf [, int $maxssf [, string $authname [, string $password ]]]]]]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Fonctions Cyrus
cyrus_bind
Fonctions Cyrus


Ajoute une fonction de rappel sur une connexion Cyrus IMAP

cyrus_authenticate
cyrus_close
Fonctions Cyrus
PHP Manual

cyrus_bind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_bind — Ajoute une fonction de rappel sur une connexion Cyrus IMAP

Description

bool cyrus_bind ( resource $connection , array $callbacks )

Ajoute une fonction de rappel sur une connexion Cyrus IMAP.

Liste de paramètres

connection

Le gestionnaire de connexion.

callbacks

Un tableau de fonctions de rappel.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

cyrus_authenticate
cyrus_close
Fonctions Cyrus


Ferme la connexion à un serveur Cyrus IMAP

cyrus_bind
cyrus_connect
Fonctions Cyrus
PHP Manual

cyrus_close

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_close — Ferme la connexion à un serveur Cyrus IMAP

Description

bool cyrus_close ( resource $connection )

Ferme la connexion au serveur Cyrus IMAP.

Liste de paramètres

connection

Le gestionnaire de connexion.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

cyrus_bind
cyrus_connect
Fonctions Cyrus


Connexion sur un serveur Cyrus IMAP

cyrus_close
cyrus_query
Fonctions Cyrus
PHP Manual

cyrus_connect

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_connect — Connexion sur un serveur Cyrus IMAP

Description

resource cyrus_connect ([ string $host [, string $port [, int $flags ]]] )

Connexion à un serveur Cyrus IMAP.

Liste de paramètres

host

Le nom d'hôte du serveur Cyrus IMAP.

port

Le numéro de port.

flags

Valeurs de retour

Retourne un gestionnaire de connexion en cas de succès ou FALSE si une erreur survient.

cyrus_close
cyrus_query
Fonctions Cyrus


Envoie une requête à un serveur Cyrus IMAP

cyrus_connect
cyrus_unbind
Fonctions Cyrus
PHP Manual

cyrus_query

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_query — Envoie une requête à un serveur Cyrus IMAP

Description

array cyrus_query ( resource $connection , string $query )

Envoie une requête à un serveur Cyrus IMAP.

Liste de paramètres

connection

Le gestionnaire de connexion.

query

La requête.

Valeurs de retour

Retourne un tableau associatif contenant les clés suivantes : text, msgno, et keyword.

cyrus_connect
cyrus_unbind
Fonctions Cyrus


Supprime ...

cyrus_query
IMAP
Fonctions Cyrus
PHP Manual

cyrus_unbind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_unbind — Supprime ...

Description

bool cyrus_unbind ( resource $connection , string $trigger_name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

connection

Le gestionnaire de connexion.

trigger_name

Le nom du trigger.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

cyrus_query
IMAP
Fonctions Cyrus


IMAP, POP3 et NNTP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions IMAP
    • imap_8bit — Convertit une chaîne à 8 bits en une chaîne encodée en Quoted-Printable
    • imap_alerts — Retourne toutes les alertes
    • imap_append — Ajoute une message dans une boîte aux lettres
    • imap_base64 — Décode un texte encodé en BASE64
    • imap_binary — Convertit une chaîne à 8 bits en une chaîne à base64
    • imap_body — Lit le corps d'un message
    • imap_bodystruct — Lit la structure d'une section du corps d'un mail
    • imap_check — Vérifie la boîte aux lettres courante
    • imap_clearflag_full — Supprime un flag (drapeau) sur un message
    • imap_close — Termine un flux IMAP
    • imap_createmailbox — Crée une nouvelle boîte aux lettres
    • imap_delete — Marque le fichier pour l'effacement, dans la boîte aux lettres courante
    • imap_deletemailbox — Efface une boîte aux lettres
    • imap_errors — Retourne toutes les erreurs IMPA survenues
    • imap_expunge — Efface tous les messages marqués pour l'effacement
    • imap_fetch_overview — Lit le sommaire des en-têtes de messages
    • imap_fetchbody — Retourne une section extraite du corps d'un message
    • imap_fetchheader — Retourne l'en-tête d'un message
    • imap_fetchstructure — Lit la structure d'un message
    • imap_gc — Efface le cache IMAP
    • imap_get_quota — Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles
    • imap_get_quotaroot — Lit les quotas de chaque utilisateur
    • imap_getacl — Retourne le ACL pour la boîte aux lettres
    • imap_getmailboxes — Liste les boîtes aux lettres, et retourne les détails de chacune
    • imap_getsubscribed — Liste toutes les boîtes aux lettres souscrites
    • imap_header — Alias de imap_headerinfo
    • imap_headerinfo — Lit l'en-tête du message
    • imap_headers — Retourne les en-têtes de tous les messages d'une boîte aux lettres
    • imap_last_error — Retourne la dernière erreur survenue
    • imap_list — Lit la liste des boîtes aux lettres
    • imap_listmailbox — Alias de imap_list
    • imap_listscan — Lit la liste des boîtes aux lettres, et y recherche une chaîne
    • imap_listsubscribed — Alias de imap_lsub
    • imap_lsub — Liste toutes les boîtes aux lettres enregistrées
    • imap_mail_compose — Crée un message MIME
    • imap_mail_copy — Copie les messages spécifiés dans une boîte aux lettres
    • imap_mail_move — Déplace des messages dans une boîte aux lettres
    • imap_mail — Envoie un message mail
    • imap_mailboxmsginfo — Lit les informations à propos de la boîte aux lettres courante
    • imap_mime_header_decode — Décode les éléments MIME d'un en-tête
    • imap_msgno — Retourne le numéro de séquence du message pour un UID donné
    • imap_num_msg — Retourne le nombre de messages dans la boîte aux lettres courante
    • imap_num_recent — Retourne le nombre de messages récents dans la boîte aux lettres courante
    • imap_open — Ouvre un flux IMAP vers une boîte aux lettres
    • imap_ping — Vérifie que le flux IMAP est toujours actif
    • imap_qprint — Convertit une chaîne à guillemets en une chaîne à 8 bits
    • imap_renamemailbox — Renomme une boîte aux lettres
    • imap_reopen — Réouvre un flux IMAP vers une nouvelle boîte aux lettres
    • imap_rfc822_parse_adrlist — Analyse une adresse email
    • imap_rfc822_parse_headers — Analyse un en-tête mail
    • imap_rfc822_write_address — Retourne une adresse email formatée correctement
    • imap_savebody — Sauvegarde une partie spécifique du corps dans un fichier
    • imap_scanmailbox — Alias de imap_listscan
    • imap_search — Retourne un tableau de messages après recherche
    • imap_set_quota — Modifie le quota d'une boîte aux lettres
    • imap_setacl — Modifie le ACL de la boîte aux lettres
    • imap_setflag_full — Positionne un drapeau sur un message
    • imap_sort — Trie des messages
    • imap_status — Retourne les informations de statut sur une boîte aux lettres
    • imap_subscribe — Souscrit à une boîte aux lettres
    • imap_thread — Retourne l'arbre des messages organisés par thread
    • imap_timeout — Configure ou retourne le timeout
    • imap_uid — Retourne l'UID d'un message
    • imap_undelete — Enlève la marque d'effacement d'un message
    • imap_unsubscribe — Termine la souscription à une boîte aux lettres
    • imap_utf7_decode — Décode une chaîne encodée en UTF-7 modifié
    • imap_utf7_encode — Convertit une chaîne ISO-8859-1 en texte UTF-7 modifié
    • imap_utf8 — Convertit du texte au format MIME en UTF-8
cyrus_unbind
Introduction
Extensions relatives aux emails


Introduction

Ces fonctions vous permettent d'utiliser le protocole IMAP, mais aussi les protocoles NNTP, POP3 et les boîtes aux lettres locales.

Cependant, soyez prudent, car quelques fonctions IMAP ne fonctionnent pas correctement avec le protocole POP.

IMAP
Installation/Configuration
IMAP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
IMAP


Pré-requis

Cette extension requiert la bibliothèque C cliente. Téléchargez cette dernière version à » ftp://ftp.cac.washington.edu/imap/ et compilez-la.

Il est important de ne pas copier les fichiers sources IMAP directement dans le dossier d'inclusion système sous peine de conflits. À la place de cela, créez un nouveau dossier dans le dossier d'inclusion système, comme /usr/local/imap-2000b/ (le chemin et le nom dépendent de votre configuration et de votre version d'IMAP) et dans ce nouveau dossier, créez les dossiers nommés lib/ et include/. Depuis le dossier c-client des sources IMAP, copiez tous les fichiers *.h dans le dossier include/ et tous les fichiers *.c dans le dossier lib/. Additionnellement, lorsque vous compilez IMAP, un fichier nommé c-client.a est crée. Mettez le également dans le dossier lib/ mais renommez le en libc-client.a.

Note: Pour compiler la bibliothèque C cliente avec SSL et/ou avec le support Kerberos, lisez la doc fournie dans la distribution.

Note: Sur Mandrake Linux, la bibliothèque IMAP (libc-client.a) est compilée sans le support Kerberos. Une version séparée avec SSL (client-PHP4.a) est installée. La bibliothèque doit être recompilée pour ajouter le support Kerberos.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour avoir accès à ces fonctions, vous devez compiler PHP avec l'option --with-imap[=DIR], où DIR est le préfixe de l'installation du client C. Dans nos exemples, vous pourriez utiliser --with-imap=/usr/local/imap-2000b. Le nom du dossier d'installation dépend de l'emplacement où vous avez créé le dossier, en fonction de la description ci-dessus. Les utilisateurs Windows peuvent inclure la bibliothèque DLL php_imap.dll dans le php.ini.

IMAP n'est pas supporté sur les systèmes plus anciens que Windows 2000. Cela est dû au fait que IMAP utilise les fonctions de chiffrement pour activer les connexions SSL aux serveurs de mails.

Note: Suivant la configuration de la bibliothèque C cliente, vous pouvez aussi avoir besoin d'ajouter --with-imap-ssl=/path/to/openssl/ et/ou --with-kerberos=/path/to/kerberos dans la ligne de configuration PHP.

Avertissement

Les extensions IMAP, recode, YAZ et Cyrus ne peuvent être utilisées simultanément puisqu'elles utilisent un symbole interne commun. Note: Yaz 2.0 et supérieur ne sont pas affectés par ce problème.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

NIL (entier)
OP_DEBUG (entier)
OP_READONLY (entier)
Ouvre une boîte aux lettres en lecture seule
OP_ANONYMOUS (entier)
Ne pas utiliser, ou modifier le fichier .newsrc pour les news, (NNTP uniquement).
OP_SHORTCACHE (entier)
OP_SILENT (entier)
OP_PROTOTYPE (entier)
OP_HALFOPEN (entier)
Pour les noms IMAP et NNTP, ouvre une connexion mais n'ouvre pas une boîte aux lettres.
OP_EXPUNGE (entier)
OP_SECURE (entier)
CL_EXPUNGE (entier)
purger automatiquement la boîte aux lettres lors de l'appel de imap_close()
FT_UID (entier)
Le paramètre est un UID.
FT_PEEK (entier)
Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas déjà levé.
FT_NOT (entier)
FT_INTERNAL (entier)
La chaîne renvoyée est au format interne, et ne va pas canoniser les CRLF.
FT_PREFETCHTEXT (entier)
ST_UID (entier)
la séquence contient des UID au lieu de numéros de séquence
ST_SILENT (entier)
ST_SET (entier)
CP_UID (entier)
La séquence de nombres contient des UID
CP_MOVE (entier)
Efface les messages après copie avec imap_mail_copy()
SE_UID (entier)
Retourne des UID à la place de numéros
SE_FREE (entier)
SE_NOPREFETCH (entier)
Ne pas prétélécharger les messages trouvés
SO_FREE (entier)
SO_NOSERVER (entier)
SA_MESSAGES (entier)
SA_RECENT (entier)
SA_UNSEEN (entier)
SA_UIDNEXT (entier)
SA_UIDVALIDITY (entier)
SA_ALL (entier)
LATT_NOINFERIORS (entier)
Cette boîte aux lettres n'a pas d'"enfants" (il n'y a plus de boîtes aux lettres en dessous de celle-ci).
LATT_NOSELECT (entier)
Ceci est juste un container, pas une boîte aux lettres (vous ne pouvez pas l'ouvrir).
LATT_MARKED (entier)
Cette boîte aux lettres est marquée. Utilisé uniquement avec UW-IMAPD.
LATT_UNMARKED (entier)
Cette boîte aux lettres n'est pas marquée. Utilisé uniquement avec UW-IMAPD.
SORTDATE (entier)
Critère de tri pour imap_sort() : Date du message
SORTARRIVAL (entier)
Critère de tri pour imap_sort() : Date d'arrivée
SORTFROM (entier)
Critère de tri pour imap_sort() : Nom de la première boîte aux lettres de l'adresse d'origine (From address)
SORTSUBJECT (entier)
Critère de tri pour imap_sort() : Sujet du message
SORTTO (entier)
Critère de tri pour imap_sort() : Nom de la première boîte aux lettres de destination (To address)
SORTCC (entier)
Critère de tri pour imap_sort() : Nom de la boîte aux lettres de copie cachée (cc address)
SORTSIZE (entier)
Critère de tri pour imap_sort() : Taille du message en octets
TYPETEXT (entier)
TYPEMULTIPART (entier)
TYPEMESSAGE (entier)
TYPEAPPLICATION (entier)
TYPEAUDIO (entier)
TYPEIMAGE (entier)
TYPEVIDEO (entier)
TYPEOTHER (entier)
ENC7BIT (entier)
ENC8BIT (entier)
ENCBINARY (entier)
ENCBASE64 (entier)
ENCQUOTEDPRINTABLE (entier)
ENCOTHER (entier)
IMAP_OPENTIMEOUT (entier)
IMAP_READTIMEOUT (entier)
IMAP_WRITETIMEOUT (entier)
IMAP_CLOSETIMEOUT (entier)
LATT_REFERRAL (entier)
LATT_HASCHILDREN (entier)
LATT_HASNOCHILDREN (entier)
TYPEMODEL (entier)
IMAP_GC_ELT (entier)
Collecte de la mémoire, suppression des caches d'éléments de message.
IMAP_GC_ENV (entier)
Collecte de la mémoire, suppression des enveloppes et corps.
IMAP_GC_TEXTS (entier)
Collecte de la mémoire, suppression des textes.
Types de ressources
Fonctions IMAP
IMAP


Fonctions IMAP

Voir aussi

Ce document ne peut entrer dans les détails de tous les sujets abordés. Plus d'informations sont disponibles avec la documentation de la bibliothèque C (docs/internal.txt) ainsi que les RFC suivantes :

  • » RFC2821 : Simple Mail Transfer Protocol (SMTP).
  • » RFC2822 : Standard for ARPA internet text messages.
  • » RFC2060 : Internet Message Access Protocol (IMAP) Version 4rev1.
  • » RFC1939 : Post Office Protocol Version 3 (POP3).
  • » RFC977 : Network News Transfer Protocol (NNTP).
  • » RFC2076 : Common Internet Message Headers.
  • » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 et » RFC2049: Multipurpose Internet Mail Extensions (MIME).
Une étude approfondie est aussi disponible dans les livres suivants (en anglais) : » Programming Internet Email par David Wood et » Managing IMAP par Dianna Mullet & Kevin Mullet.

Sommaire

  • imap_8bit — Convertit une chaîne à 8 bits en une chaîne encodée en Quoted-Printable
  • imap_alerts — Retourne toutes les alertes
  • imap_append — Ajoute une message dans une boîte aux lettres
  • imap_base64 — Décode un texte encodé en BASE64
  • imap_binary — Convertit une chaîne à 8 bits en une chaîne à base64
  • imap_body — Lit le corps d'un message
  • imap_bodystruct — Lit la structure d'une section du corps d'un mail
  • imap_check — Vérifie la boîte aux lettres courante
  • imap_clearflag_full — Supprime un flag (drapeau) sur un message
  • imap_close — Termine un flux IMAP
  • imap_createmailbox — Crée une nouvelle boîte aux lettres
  • imap_delete — Marque le fichier pour l'effacement, dans la boîte aux lettres courante
  • imap_deletemailbox — Efface une boîte aux lettres
  • imap_errors — Retourne toutes les erreurs IMPA survenues
  • imap_expunge — Efface tous les messages marqués pour l'effacement
  • imap_fetch_overview — Lit le sommaire des en-têtes de messages
  • imap_fetchbody — Retourne une section extraite du corps d'un message
  • imap_fetchheader — Retourne l'en-tête d'un message
  • imap_fetchstructure — Lit la structure d'un message
  • imap_gc — Efface le cache IMAP
  • imap_get_quota — Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles
  • imap_get_quotaroot — Lit les quotas de chaque utilisateur
  • imap_getacl — Retourne le ACL pour la boîte aux lettres
  • imap_getmailboxes — Liste les boîtes aux lettres, et retourne les détails de chacune
  • imap_getsubscribed — Liste toutes les boîtes aux lettres souscrites
  • imap_header — Alias de imap_headerinfo
  • imap_headerinfo — Lit l'en-tête du message
  • imap_headers — Retourne les en-têtes de tous les messages d'une boîte aux lettres
  • imap_last_error — Retourne la dernière erreur survenue
  • imap_list — Lit la liste des boîtes aux lettres
  • imap_listmailbox — Alias de imap_list
  • imap_listscan — Lit la liste des boîtes aux lettres, et y recherche une chaîne
  • imap_listsubscribed — Alias de imap_lsub
  • imap_lsub — Liste toutes les boîtes aux lettres enregistrées
  • imap_mail_compose — Crée un message MIME
  • imap_mail_copy — Copie les messages spécifiés dans une boîte aux lettres
  • imap_mail_move — Déplace des messages dans une boîte aux lettres
  • imap_mail — Envoie un message mail
  • imap_mailboxmsginfo — Lit les informations à propos de la boîte aux lettres courante
  • imap_mime_header_decode — Décode les éléments MIME d'un en-tête
  • imap_msgno — Retourne le numéro de séquence du message pour un UID donné
  • imap_num_msg — Retourne le nombre de messages dans la boîte aux lettres courante
  • imap_num_recent — Retourne le nombre de messages récents dans la boîte aux lettres courante
  • imap_open — Ouvre un flux IMAP vers une boîte aux lettres
  • imap_ping — Vérifie que le flux IMAP est toujours actif
  • imap_qprint — Convertit une chaîne à guillemets en une chaîne à 8 bits
  • imap_renamemailbox — Renomme une boîte aux lettres
  • imap_reopen — Réouvre un flux IMAP vers une nouvelle boîte aux lettres
  • imap_rfc822_parse_adrlist — Analyse une adresse email
  • imap_rfc822_parse_headers — Analyse un en-tête mail
  • imap_rfc822_write_address — Retourne une adresse email formatée correctement
  • imap_savebody — Sauvegarde une partie spécifique du corps dans un fichier
  • imap_scanmailbox — Alias de imap_listscan
  • imap_search — Retourne un tableau de messages après recherche
  • imap_set_quota — Modifie le quota d'une boîte aux lettres
  • imap_setacl — Modifie le ACL de la boîte aux lettres
  • imap_setflag_full — Positionne un drapeau sur un message
  • imap_sort — Trie des messages
  • imap_status — Retourne les informations de statut sur une boîte aux lettres
  • imap_subscribe — Souscrit à une boîte aux lettres
  • imap_thread — Retourne l'arbre des messages organisés par thread
  • imap_timeout — Configure ou retourne le timeout
  • imap_uid — Retourne l'UID d'un message
  • imap_undelete — Enlève la marque d'effacement d'un message
  • imap_unsubscribe — Termine la souscription à une boîte aux lettres
  • imap_utf7_decode — Décode une chaîne encodée en UTF-7 modifié
  • imap_utf7_encode — Convertit une chaîne ISO-8859-1 en texte UTF-7 modifié
  • imap_utf8 — Convertit du texte au format MIME en UTF-8
Constantes pré-définies
imap_8bit
IMAP


Convertit une chaîne à 8 bits en une chaîne encodée en Quoted-Printable

Fonctions IMAP
imap_alerts
Fonctions IMAP
PHP Manual

imap_8bit

(PHP 4, PHP 5)

imap_8bit — Convertit une chaîne à 8 bits en une chaîne encodée en Quoted-Printable

Description

string imap_8bit ( string $string )

Convertit la chaîne à 8 bits en une chaîne encodée en Quoted-Printable (selon la » RFC 2045, Section 6.7).

Liste de paramètres

string

La chaîne 8 bits à convertir

Valeurs de retour

Retourne une chaîne encodée en Quoted-Printable.

Voir aussi

  • imap_qprint() - Convertit une chaîne à guillemets en une chaîne à 8 bits

Fonctions IMAP
imap_alerts
Fonctions IMAP


Retourne toutes les alertes

imap_8bit
imap_append
Fonctions IMAP
PHP Manual

imap_alerts

(PHP 4, PHP 5)

imap_alerts — Retourne toutes les alertes

Description

array imap_alerts ( void )

Retourne un tableau de tous les messages d'alerte IMAP générés depuis le dernier appel à imap_alerts() ou depuis le début de la page.

Lorsque imap_alerts() est appelée, la pile d'alertes est vidée. Les spécifications IMAP requièrent que ces messages soient passés à l'utilisateur.

Valeurs de retour

Retourne un tableau contenant tous les messages d'alerte IMAP générés ou FALSE si aucun message d'alerte n'est disponible.

Voir aussi

  • imap_errors() - Retourne toutes les erreurs IMPA survenues

imap_8bit
imap_append
Fonctions IMAP


Ajoute une message dans une boîte aux lettres

imap_alerts
imap_base64
Fonctions IMAP
PHP Manual

imap_append

(PHP 4, PHP 5)

imap_append — Ajoute une message dans une boîte aux lettres

Description

bool imap_append ( resource $imap_stream , string $mailbox , string $message [, string $options = NULL [, string $internal_date = NULL ]] )

Ajoute un message message dans la boîte aux lettres mbox.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation sur la fonction imap_open() pour plus d'informations

message

Le message à ajouter, sous la forme d'une chaîne de caractères

Lors des échanges avec le serveur Cyrus IMAP, vous devrez utiliser "\r\n" comme terminaison de ligne, à la place de "\n" ou l'opération échouera.

options

Si fourni, le paramètre options sera également écrit dans la boîte mailbox

internal_date

Si ce paramètre est défini, il mettra les INTERNALDATE sur le message joint. Le paramètre doit être une chaîne de date qui est conforme aux spécifications du rfc2060 pour une valeur date_time.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.2 | Ajout du support INTERNALDATE à imap_append.

Exemples

Exemple #1 Exemple avec imap_append()

<?php
$stream = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($stream);
echo "Msg Count before append: ". $check->Nmsgs . "\n";

imap_append($stream, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "Ceci est un message de test. Ignorez le.\r\n"
                   );

$check = imap_check($stream);
echo "Nombre de messages après ajout : ". $check->Nmsgs . "\n";

imap_close($stream);
?>

imap_alerts
imap_base64
Fonctions IMAP


Décode un texte encodé en BASE64

imap_append
imap_binary
Fonctions IMAP
PHP Manual

imap_base64

(PHP 4, PHP 5)

imap_base64 — Décode un texte encodé en BASE64

Description

string imap_base64 ( string $text )

Décode le texte text encodé en BASE64.

Liste de paramètres

text

Le texte encodé.

Valeurs de retour

Retourne le texte décodé, sous la forme d'une chaîne de caractères.

Voir aussi

  • imap_binary() - Convertit une chaîne à 8 bits en une chaîne à base64
  • base64_encode() - Encode une chaîne en MIME base64
  • base64_decode() - Décode une chaîne en MIME base64
  • » RFC2045, Section 6.8

imap_append
imap_binary
Fonctions IMAP


Convertit une chaîne à 8 bits en une chaîne à base64

imap_base64
imap_body
Fonctions IMAP
PHP Manual

imap_binary

(PHP 4, PHP 5)

imap_binary — Convertit une chaîne à 8 bits en une chaîne à base64

Description

string imap_binary ( string $string )

Convertit la chaîne à 8 bits string en une chaîne à base64 (selon la » RFC2045, Section 6.8).

Liste de paramètres

string

La chaîne 8 bits

Valeurs de retour

Retourne la chaîne encodée en base64.

Voir aussi

  • imap_base64() - Décode un texte encodé en BASE64

imap_base64
imap_body
Fonctions IMAP


Lit le corps d'un message

imap_binary
imap_bodystruct
Fonctions IMAP
PHP Manual

imap_body

(PHP 4, PHP 5)

imap_body — Lit le corps d'un message

Description

string imap_body ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_body() retourne le corps du message numéro msg_number de la boîte aux lettres courante.

imap_body() va retourner une copie brute du corps du message. Pour extraire les sous-parties MIME du message, utilisez imap_fetchstructure() pour analyser la structure, et imap_fetchbody() pour extraire une copie d'une des sous-partie.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

options

Le paramètre options optionnel est un masque qui peut contenir les valeurs suivantes :

  • FT_UID - msg_number est un UID
  • FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas déjà levé.
  • FT_INTERNAL - La chaîne renvoyée est au format interne, et ne va pas canoniser les CRLF.

Valeurs de retour

Retourne le corps du message spécifié, sous la forme d'une chaîne de caractères.

imap_binary
imap_bodystruct
Fonctions IMAP


Lit la structure d'une section du corps d'un mail

imap_body
imap_check
Fonctions IMAP
PHP Manual

imap_bodystruct

(PHP 4, PHP 5)

imap_bodystruct — Lit la structure d'une section du corps d'un mail

Description

object imap_bodystruct ( resource $imap_stream , int $msg_number , string $section )

Lit la structure d'une section spécifié du corps d'un mail.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

section

La section du corps à lire

Valeurs de retour

Retourne les informations dans un objet ; pour une description détaillée de la structure de l'objet ainsi que de ses propriétés, reportez-vous à la fonction imap_fetchstructure().

Voir aussi

  • imap_fetchstructure() - Lit la structure d'un message

imap_body
imap_check
Fonctions IMAP


Vérifie la boîte aux lettres courante

imap_bodystruct
imap_clearflag_full
Fonctions IMAP
PHP Manual

imap_check

(PHP 4, PHP 5)

imap_check — Vérifie la boîte aux lettres courante

Description

object imap_check ( resource $imap_stream )

Vérifie les informations de la boîte aux lettres courante.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne les informations dans un objet contenant les propriétés suivantes :

  • Date - Date de dernière modification du contenu de la boîte aux lettres en accord avec la » RFC2822
  • Driver - protocole utilisé pour accéder à la boîte aux lettres: POP3, IMAP, NNTP.
  • Mailbox - nom de la boîte aux lettres
  • Nmsgs - nombre de messages de la boîte aux lettres
  • Recent - nombre de messages récents de la boîte aux lettres

Retourne FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imap_check()

<?php

$imap_obj = imap_check($imap_stream);
var_dump($imap_obj);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(stdClass)(5) {
  ["Date"]=>
  string(37) "Wed, 10 Dec 2003 17:56:54 +0100 (CET)"
  ["Driver"]=>
  string(4) "imap"
  ["Mailbox"]=>
  string(54)
  "{www.example.com:143/imap/user="foo@example.com"}INBOX"
  ["Nmsgs"]=>
  int(1)
  ["Recent"]=>
  int(0)
}

imap_bodystruct
imap_clearflag_full
Fonctions IMAP


Supprime un flag (drapeau) sur un message

imap_check
imap_close
Fonctions IMAP
PHP Manual

imap_clearflag_full

(PHP 4, PHP 5)

imap_clearflag_full — Supprime un flag (drapeau) sur un message

Description

bool imap_clearflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = 0 ] )

imap_clearflag_full() efface le flag flag dans les messages de la séquence sequence, du flux imap stream.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

sequence

Une séquence de numéro de messages. Vous pouvez énumérer les messages désirées avec la syntaxe X,Y, ou récupérer tous les messages contenus dans un intervalle, avec la syntaxe X:Y

flag

Les flags flag que vous pouvez effacer sont "\\Seen", "\\Answered", "\\Flagged", "\\Deleted" et "\\Draft" (tels que définis dans la » RFC2060)

options

options est un masque de bit, qui accepte uniquement la valeur suivante :

  • ST_UID - la séquence contient des UID au lieu de numéros de séquence

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_setflag_full() - Positionne un drapeau sur un message

imap_check
imap_close
Fonctions IMAP


Termine un flux IMAP

imap_clearflag_full
imap_createmailbox
Fonctions IMAP
PHP Manual

imap_close

(PHP 4, PHP 5)

imap_close — Termine un flux IMAP

Description

bool imap_close ( resource $imap_stream [, int $flag = 0 ] )

Termine un flux IMAP.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

flag

S'il est défini à CL_EXPUNGE, la fonction effectuera une purge automatique de la boîte aux lettres avant de la fermer, supprimant tous les messages marqués pour l'effacement. Vous pouvez effectuer la même chose avec la fonction imap_expunge()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_open() - Ouvre un flux IMAP vers une boîte aux lettres

imap_clearflag_full
imap_createmailbox
Fonctions IMAP


Crée une nouvelle boîte aux lettres

imap_close
imap_delete
Fonctions IMAP
PHP Manual

imap_createmailbox

(PHP 4, PHP 5)

imap_createmailbox — Crée une nouvelle boîte aux lettres

Description

bool imap_createmailbox ( resource $imap_stream , string $mailbox )

Crée une nouvelle boîte aux lettres nommée mailbox.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation sur la fonction imap_open() pour plus d'informations. Les noms contenant des caractères internationaux doivent être encodés par la fonction imap_utf7_encode()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imap_createmailbox()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
     or die("connexion impossible : " . imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewb&ouml;x");

$newname = $name1;

echo "Le nouveau nom sera '$name1'<br />\n";

// Nous allons créer maintenant une nouvelle boîte aux lettres "phptestbox"
// dans votre dossier inbox, vérifier son état et, finalement, la supprimer
// pour remettre votre inbox dans son état initial.

if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
    $status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
    if ($status) {
        echo "Votre nouvelle boîte '$name1' est dans l'état suivant :<br />\n";
        echo "Messages :   " . $status->messages    . "<br />\n";
        echo "Récent :     " . $status->recent      . "<br />\n";
        echo "Non lus :     " . $status->unseen      . "<br />\n";
        echo "UIDnext :    " . $status->uidnext     . "<br />\n";
        echo "UIDvalidity :" . $status->uidvalidity . "<br />\n";

        if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
            echo "renommage de la boîte aux lettres '$name1' en '$name2'<br />\n";
            $newname = $name2;
        } else {
            echo "imap_renamemailbox sur la nouvelle boîte aux lettres a échoué : " . imap_last_error() . "<br />\n";
        }
    } else {
        echo "imap_status sur la nouvelle boîte aux lettres a échoué : " . imap_last_error() . "<br />\n";
    }

    if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
        echo "nouvelle boite aux lettres supprimée pour remettre tout en état<br />\n";
    } else {
        echo "imap_deletemailbox sur la nouvelle boîte aux lettres a échoué : " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo "Impossible de créer une nouvelle boîte aux lettres : " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Voir aussi

  • imap_renamemailbox() - Renomme une boîte aux lettres
  • imap_deletemailbox() - Efface une boîte aux lettres

imap_close
imap_delete
Fonctions IMAP


Marque le fichier pour l'effacement, dans la boîte aux lettres courante

imap_createmailbox
imap_deletemailbox
Fonctions IMAP
PHP Manual

imap_delete

(PHP 4, PHP 5)

imap_delete — Marque le fichier pour l'effacement, dans la boîte aux lettres courante

Description

bool imap_delete ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

Marque les messages msg_number pour l'effacement. L'effacement réel n'interviendra que lors de l'appel de la fonction imap_expunge() ou de imap_close() avec le paramètre optionnel CL_EXPUNGE.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

options

Vous pouvez le définir à FT_UID qui demande à la fonction de traiter l'argument msg_number comme un UID.

Valeurs de retour

Retourne TRUE.

Exemples

Exemple #1 Exemple avec imap_delete()

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
    or die("Connexion impossible : " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Nombre de messages avant effacement : " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo "Nombre de messages après effacement : " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Nombre de messages après imap_expunge : " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Notes

Note: Les boîtes aux lettres POP3 n'ont pas les flags de leurs messages de sauvegardés entre les connexions, donc, la fonction imap_expunge() doit être appelée pendant la même connexion pour que les messages marquées pour effacement soient réellement purgés.

Voir aussi

  • imap_undelete() - Enlève la marque d'effacement d'un message
  • imap_expunge() - Efface tous les messages marqués pour l'effacement
  • imap_close() - Termine un flux IMAP

imap_createmailbox
imap_deletemailbox
Fonctions IMAP


Efface une boîte aux lettres

imap_delete
imap_errors
Fonctions IMAP
PHP Manual

imap_deletemailbox

(PHP 4, PHP 5)

imap_deletemailbox — Efface une boîte aux lettres

Description

bool imap_deletemailbox ( resource $imap_stream , string $mailbox )

Efface la boîte aux lettres spécifiée.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation sur la fonction imap_open() pour plus de détails

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_createmailbox() - Crée une nouvelle boîte aux lettres
  • imap_renamemailbox() - Renomme une boîte aux lettres
  • imap_open() - Ouvre un flux IMAP vers une boîte aux lettres pour le format mbox

imap_delete
imap_errors
Fonctions IMAP


Retourne toutes les erreurs IMPA survenues

imap_deletemailbox
imap_expunge
Fonctions IMAP
PHP Manual

imap_errors

(PHP 4, PHP 5)

imap_errors — Retourne toutes les erreurs IMPA survenues

Description

array imap_errors ( void )

Cette fonction retourne un tableau de tous les messages d'erreurs IMAP générés depuis le dernier appel à imap_errors() ou depuis le début de la page.

Lorsque imap_errors() est appelée, la pile d'erreurs est vidée.

Valeurs de retour

Cette fonction retourne un tableau contenant tous les messages d'erreur IMAP générés depuis le dernier appel à la fonction imap_errors() ou depuis le début de la page. Retourne FALSE si aucun message d'erreur n'est disponible.

Voir aussi

  • imap_last_error() - Retourne la dernière erreur survenue
  • imap_alerts() - Retourne toutes les alertes

imap_deletemailbox
imap_expunge
Fonctions IMAP


Efface tous les messages marqués pour l'effacement

imap_errors
imap_fetch_overview
Fonctions IMAP
PHP Manual

imap_expunge

(PHP 4, PHP 5)

imap_expunge — Efface tous les messages marqués pour l'effacement

Description

bool imap_expunge ( resource $imap_stream )

Efface tous les messages marqués pour l'effacement par imap_delete(), imap_mail_move(), ou imap_setflag_full().

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne TRUE.

imap_errors
imap_fetch_overview
Fonctions IMAP


Lit le sommaire des en-têtes de messages

imap_expunge
imap_fetchbody
Fonctions IMAP
PHP Manual

imap_fetch_overview

(PHP 4, PHP 5)

imap_fetch_overview — Lit le sommaire des en-têtes de messages

Description

array imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] )

Lit les en-têtes des courriers électroniques de la séquence sequence et retourne un sommaire de leur contenu.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

sequence

Une description de la séquence du message. Vous pouvez énumérer les messages désirés avec la syntaxe X,Y, ou récupérer tous les messages d'un intervalle, avec la syntaxe X:Y

options

sequence va contenir une séquence d'indice de message ou d'UID, si flags contient FT_UID.

Valeurs de retour

Retourne un tableau d'objets décrivant l'en-tête de chaque message. L'objet ne définira une propriété que si elle existe. Les propriétés possibles sont :

  • subject : le sujet du message
  • from : l'expéditeur
  • to : le destinataire
  • date : la date d'expédition
  • message_id : l'identification du message
  • references : la référence sur l'id de ce message
  • in_reply_to : la réponse à cet identifiant de message
  • size : la taille en octets
  • uid : UID du message dans la boîte aux lettres
  • msgno : le numéro de séquence du message dans la boîte
  • recent : ce message est récent
  • flagged : ce message est marqué
  • answered : ce message a donné lieu à une réponse
  • deleted : ce message est marqué pour l'effacement
  • seen : ce message est déjà lu
  • draft : ce message est un brouillon

Exemples

Exemple #1 Exemple avec imap_fetch_overview()

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
     or die("Connexion impossible : " . imap_last_error());

$MC = imap_check($mbox);

// Récupère le sommaire pour tous les messages contenus dans INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

Voir aussi

  • imap_fetchheader() - Retourne l'en-tête d'un message

imap_expunge
imap_fetchbody
Fonctions IMAP


Retourne une section extraite du corps d'un message

imap_fetch_overview
imap_fetchheader
Fonctions IMAP
PHP Manual

imap_fetchbody

(PHP 4, PHP 5)

imap_fetchbody — Retourne une section extraite du corps d'un message

Description

string imap_fetchbody ( resource $imap_stream , int $msg_number , string $section [, int $options = 0 ] )

Récupère une section particulière du corps des messages spécifiés. Les parties du corps ne sont pas décodées par cette fonction.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

section

Le numéro de la section. C'est une chaîne d'entiers, délimités par une virgule qui correspondent aux index dans la liste des sections du message, tel que prévu par la spécification IMPA4.

options

L'option imap_fetchbody() est un masque qui peut contenir les valeurs suivantes :

  • FT_UID - msg_number est un UID
  • FT_PEEK - Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas déjà levé.
  • FT_INTERNAL - La chaîne renvoyée est au format interne, et ne va pas canoniser les CRLF.

Valeurs de retour

Retourne une section particulière du corps des messages spécifiés, sous la forme d'une chaîne de caractères.

Voir aussi

  • imap_savebody() - Sauvegarde une partie spécifique du corps dans un fichier
  • imap_fetchstructure() - Lit la structure d'un message

imap_fetch_overview
imap_fetchheader
Fonctions IMAP


Retourne l'en-tête d'un message

imap_fetchbody
imap_fetchstructure
Fonctions IMAP
PHP Manual

imap_fetchheader

(PHP 4, PHP 5)

imap_fetchheader — Retourne l'en-tête d'un message

Description

string imap_fetchheader ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_fetchheader() retourne l'en-tête brut et complet » RFC2822 du message msgno, sous la forme d'une chaîne.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

options

Les options possibles sont :

  • FT_UID - msgno est un UID
  • FT_INTERNAL - La chaîne renvoyée est au format "internal" , c'est-à-dire sans canonisation des CRLF
  • FT_PREFETCHTEXT - RFC822.TEXT doit être pré téléchargé en même temps que l'en-tête. Cela réduit le RTT sur une connexion IMAP, si le message complet est souhaité. (e.g. dans une opération de sauvegarde dans un fichier).

Valeurs de retour

Retourne l'en-tête du message spécifié, sous la forme d'une chaîne de caractères.

Voir aussi

  • imap_fetch_overview() - Lit le sommaire des en-têtes de messages

imap_fetchbody
imap_fetchstructure
Fonctions IMAP


Lit la structure d'un message

imap_fetchheader
imap_gc
Fonctions IMAP
PHP Manual

imap_fetchstructure

(PHP 4, PHP 5)

imap_fetchstructure — Lit la structure d'un message

Description

object imap_fetchstructure ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_fetchstructure() lit la structure du message msg_number.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

options

Ce paramètre optionnel n'a qu'une seule option, FT_UID, qui demande à la fonction de traiter l'argument msg_number comme un UID.

Valeurs de retour

Retourne un objet avec des propriétés d'enveloppe, de date interne, de taille, de structure de flags et de corps, ainsi qu'un objet pour chaque attachement. La structure est la suivante :

Objets retournés par imap_fetchstructure()
type | Type primaire de corps
encoding | Codage de transfert du corps
ifsubtype | TRUE s'il y a une chaîne de sous type
subtype | sous type MIME
ifdescription | TRUE s'il y a une chaîne de description
description | Chaîne de description du contenu
ifid | TRUE s'il y a une chaîne d'identification
id | Chaîne d'identification
lines | Nombre de lignes
bytes | Nombre d'octets
ifdisposition | TRUE s'il y a une chaîne de disposition
disposition | Chaîne de disposition
ifdparameters | TRUE s'il y a un tableau de paramètres dparameters
dparameters | tableau d'objets où chaque objet a une propriété "attribute" et une propriété "value" correspondant aux paramètres d'en-têtes Content-disposition MIME.
ifparameters | TRUE si le tableau de paramètres existe
parameters | Tableau d'objets où chacun a une propriété "attribute" et une propriété "value".
parts | Tableau d'objets décrivant chaque partie MIME du message

Type primaire de corps (peut varier suivant la bibliothèque utilisée)
0 | text
1 | multipart
2 | message
3 | application
4 | audio
5 | image
6 | video
7 | other

Codage de transfert (peut varier suivant la bibliothèque utilisée)
0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTHER

Voir aussi

  • imap_fetchbody() - Retourne une section extraite du corps d'un message
  • imap_bodystruct() - Lit la structure d'une section du corps d'un mail

imap_fetchheader
imap_gc
Fonctions IMAP


Efface le cache IMAP

imap_fetchstructure
imap_get_quota
Fonctions IMAP
PHP Manual

imap_gc

(PHP 5 >= 5.3.0)

imap_gc — Efface le cache IMAP

Description

string imap_gc ( resource $imap_stream , int $caches )

Supprime toutes les entrées d'un type donné dans le cache IMAP.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

caches

Indique le type de cache à purger. Cela peut être la combinaison des constantes suivantes : IMAP_GC_ELT (cache des éléments de message), IMAP_GC_ENV (enveloppe et corps), IMAP_GC_TEXTS (textes).

Valeurs de retour

Returns TRUE.

Exemples

Exemple #1 Exemple avecimap_gc()

<?php

$mbox = imap_open("{imap.example.org:143}", "username", "password");

imap_gc($mbox, IMAP_GC_ELT);

?>

imap_fetchstructure
imap_get_quota
Fonctions IMAP


Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles

imap_gc
imap_get_quotaroot
Fonctions IMAP
PHP Manual

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_get_quota — Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles

Description

array imap_get_quota ( resource $imap_stream , string $quota_root )

Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles.

Pour une version utilisateur, non administrateur, de cette fonction, reportez-vous à la fonction imap_get_quotaroot().

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

quota_root

quota_root doit être de la forme : "user.nom", où "nom" est le nom de la boîte aux lettres que vous souhaitez analyser.

Valeurs de retour

Retourne un tableau contenant les valeurs de quota et courante de la boîte aux lettres quota_root. Le quota représente la taille maximale de votre boîte aux lettres. La valeur courante est l'espace actuellement utilisé par votre boîte aux lettres. imap_get_quota() retournera FALSE en cas d'échec.

Depuis PHP 4.3, la fonction reflète plus fidèlement les fonctionnalités édictée par la » RFC2087. Le tableau retourné a changé pour supporter un nombre illimité de ressources retournées (i.e. messages ou sous-dossiers) avec chaque ressource nommée qui est identifiée par une clé. Chaque clé contient alors un autre tableau avec l'utilisation et le quota. L'exemple ci-dessous montre comment l'utiliser.

Pour des raisons de compatibilité, la méthode d'accès originale est toujours disponible, mais il est recommandé de l'abandonner.

Exemples

Exemple #1 Exemple avec imap_get_quota()

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("Impossible de se connecter : " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Niveau d'utilisation : " . $quota_value['usage'];
    echo "Quota : " . $quota_value['limit'];
}

imap_close($mbox);
?>

Exemple #2 Exemple avec imap_get_quota() 4.3 ou supérieur

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("Impossible de se connecter : " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "Utilisation actuelle de la capacité de stockage : " .  $storage['usage'];
   echo "Quota actuel de stockage  : " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "Niveau d'utilisation de MESSAGE  : " .  $message['usage'];
   echo "Quota de MESSAGE : " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

Notes

imap_get_quota() ne fonctionne actuellement qu'avec les bibliothèques c-client2000.

imap_stream doit avoir été créé avec la fonction imap_open(). Ce flux est nécessairement ouvert en tant qu'administrateur du serveur, pour que les droits nécessaires lui soient alloués.

Voir aussi

  • imap_open() - Ouvre un flux IMAP vers une boîte aux lettres
  • imap_set_quota() - Modifie le quota d'une boîte aux lettres
  • imap_get_quotaroot() - Lit les quotas de chaque utilisateur

imap_gc
imap_get_quotaroot
Fonctions IMAP


Lit les quotas de chaque utilisateur

imap_get_quota
imap_getacl
Fonctions IMAP
PHP Manual

imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5)

imap_get_quotaroot — Lit les quotas de chaque utilisateur

Description

array imap_get_quotaroot ( resource $imap_stream , string $quota_root )

Récupère les quotas de chaque utilisateur. La valeur limite représente l'espace limite alloué pour cette utilisateur pour l'utilisation de sa boîte aux lettres. La valeur de l'utilisation représente la taille actuelle de la boîte aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

quota_root

quota_root doit être un nom de boîte aux lettres (i.e. INBOX).

Valeurs de retour

Retourne un tableau d'entiers, contenant les quotas de la boîte aux lettres de l'utilisateur. Toutes les valeurs sont représentées par une clé basée sur le nom de la boîte, et par un tableau représentant le niveau d'utilisation et les limites.

Cette fonction retournera FALSE si une erreur est survenue, et un tableau de données si la réponse du serveur n'a pu être comprise.

Exemples

Exemple #1 Exemple avec imap_get_quotaroot()

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("Connexion impossible : " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE niveau d'utilisation : " .  $storage['usage'];
   echo "STORAGE taille limite : " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE niveau d'utilisation : " .  $message['usage'];
   echo "MESSAGE taille limite : " .  $message['limit'];

   /* ...  */

}

imap_close($mbox);
?>

Notes

Cette fonction est uniquement accessible aux utilisateurs de la bibliothèque c-client2000 ou plus récent.

imap_stream est une ressource de connexion, obtenue grâce à imap_open(). Cette connexion doit être ouverte avec l'identité de l'utilisateur que l'on étudie.

Voir aussi

  • imap_open() - Ouvre un flux IMAP vers une boîte aux lettres
  • imap_set_quota() - Modifie le quota d'une boîte aux lettres
  • imap_get_quota() - Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles

imap_get_quota
imap_getacl
Fonctions IMAP


Retourne le ACL pour la boîte aux lettres

imap_get_quotaroot
imap_getmailboxes
Fonctions IMAP
PHP Manual

imap_getacl

(PHP 5)

imap_getacl — Retourne le ACL pour la boîte aux lettres

Description

array imap_getacl ( resource $imap_stream , string $mailbox )

Récupère l'ACL pour la boîte aux lettres donnée.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails.

Valeurs de retour

Retourne un tableau associatif sous la forme "dossier" => "acl".

Exemples

Exemple #1 Exemple avec imap_getacl()

<?php

print_r(imap_getacl($conn_id, 'user.joecool'));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

Notes

Cette fonction n'est actuellement disponible que pour les utilisateurs de la bibliothèque c-client2000 ou supérieur.

Voir aussi

  • imap_setacl() - Modifie le ACL de la boîte aux lettres

imap_get_quotaroot
imap_getmailboxes
Fonctions IMAP


Liste les boîtes aux lettres, et retourne les détails de chacune

imap_getacl
imap_getsubscribed
Fonctions IMAP
PHP Manual

imap_getmailboxes

(PHP 4, PHP 5)

imap_getmailboxes — Liste les boîtes aux lettres, et retourne les détails de chacune

Description

array imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern )

Liste les boîtes aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

ref

ref ne devrait être que le serveur sous la forme décrite dans imap_open()

pattern

Spécifie la position dans la hiérarchie des boîtes aux lettres, où il faut commencer à chercher.

Il y a deux caractères spéciaux que vous pouvez utiliser dans pattern : '*' et '%'. '*' signifie : toutes les boîtes aux lettres. Si vous passez pattern comme '*', vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. '%' signifie qu'on ne s'intéresse qu'au niveau courant. '%' passé à pattern ne retournera que les boîtes aux lettres de niveau supérieur; '~/mail/%' sous UW_IMAPD retournera toutes les boîtes aux lettres du dossier ~/mail directory, mais pas leurs enfants.

Valeurs de retour

Retourne un tableau d'objets contenant les informations sur les boîtes aux lettres. Chaque objet possède un attribut de name, qui contient le nom complet de la boîte aux lettres, delimiter qui est le délimiteur hiérarchique et attributes. attributes est un masque de bits, qui contient :

  • LATT_NOINFERIORS - Cette boîte aux lettres n'a pas d'"enfants" (il n'y a plus de boîtes aux lettres en dessous de celle-ci) et ne peut en contenir aucun. Un appel à la fonction imap_createmailbox() ne fonctionnera pas sur cette boîte.

  • LATT_NOSELECT - Ceci est juste un container, pas une boîte aux lettres (vous ne pouvez pas l'ouvrir).

  • LATT_MARKED - Cette boîte aux lettres est marquée. Ceci signifie qu'elle peut contenir des nouveaux messages depuis la dernière fois qu'elle a été vérifiée. Ce marqueur n'est pas fourni avec tous les serveurs IMPA.

  • LATT_UNMARKED - Cette boîte aux lettres n'est pas marquée et ne contient pas de nouveaux messages. Si MARKED ou UNMARKED est fourni, vous pouvez supposer que le serveur IMAP supporte cette fonctionnalité pour cette boîte aux lettres.

Exemples

Exemple #1 Exemple avec imap_getmailboxes()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("Connexion impossible : " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes a échoué : " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Voir aussi

  • imap_getsubscribed() - Liste toutes les boîtes aux lettres souscrites

imap_getacl
imap_getsubscribed
Fonctions IMAP


Liste toutes les boîtes aux lettres souscrites

imap_getmailboxes
imap_header
Fonctions IMAP
PHP Manual

imap_getsubscribed

(PHP 4, PHP 5)

imap_getsubscribed — Liste toutes les boîtes aux lettres souscrites

Description

array imap_getsubscribed ( resource $imap_stream , string $ref , string $pattern )

Liste toutes les boîtes aux lettres souscrites.

imap_getsubscribed() est identique à imap_getmailboxes(), mais ne retourne que les boîtes aux lettres auxquelles l'utilisateur est inscrit.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

ref

ref ne devrait être que le serveur sous la forme décrite dans imap_open()

pattern

Spécifie la position dans la hiérarchie des boîtes aux lettres, où il faut commencer à chercher.

Il y a deux caractères spéciaux que vous pouvez utiliser dans pattern : '*' et '%'. '*' signifie : toutes les boîtes aux lettres. Si vous passez pattern comme '*', vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. '%' signifie qu'on ne s'intéresse qu'au niveau courant. '%' passé à pattern ne retournera que les boîtes aux lettres de niveau supérieur; '~/mail/%' sous UW_IMAPD retournera toutes les boîtes aux lettres du dossier ~/mail directory, mais pas leurs enfants.

Valeurs de retour

Retourne un tableau d'objets contenant les informations sur les boîtes aux lettres. Chaque objet possède un attribut de name, qui contient le nom complet de la boîte aux lettres, delimiter qui est le délimiteur hiérarchique et attributes. attributes est un masque de bits, qui contient :

  • LATT_NOINFERIORS - Cette boîte aux lettres n'a pas d'"enfants" (il n'y a plus de boîtes aux lettres en dessous de celle-ci).
  • LATT_NOSELECT - Ceci est juste un container, pas une boîte aux lettres (vous ne pouvez pas l'ouvrir).
  • LATT_MARKED - Cette boîte aux lettres est marquée. Utilisé uniquement avec UW-IMAPD.
  • LATT_UNMARKED - Cette boîte aux lettres n'est pas marquée. Utilisé uniquement avec UW-IMAPD.

imap_getmailboxes
imap_header
Fonctions IMAP


Alias de imap_headerinfo

imap_getsubscribed
imap_headerinfo
Fonctions IMAP
PHP Manual

imap_header

(PHP 4, PHP 5)

imap_header — Alias de imap_headerinfo()

Description

Cette fonction est un alias de : imap_headerinfo().

imap_getsubscribed
imap_headerinfo
Fonctions IMAP


Lit l'en-tête du message

imap_header
imap_headers
Fonctions IMAP
PHP Manual

imap_headerinfo

(PHP 4, PHP 5)

imap_headerinfo — Lit l'en-tête du message

Description

object imap_headerinfo ( resource $imap_stream , int $msg_number [, int $fromlength = 0 [, int $subjectlength = 0 [, string $defaulthost = NULL ]]] )

Récupère les informations sur un numéro de message donné en lisant ses en-têtes.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

fromlength

Nombre de caractères pour la propriété fetchfrom. Doit être plus grand ou égal à 0.

subjectlength

Nombre de caractères pour la propriété fetchsubject. Doit être plus grand ou égal à 0.

defaulthost

Valeurs de retour

Retourne les informations dans un objet contenant les propriétés suivantes :

  • "toaddress" : toute la ligne d'en-tête to: jusqu'à 1024 caractères
  • "to" : un tableau d'objets issus de la ligne to: avec les propriétés suivantes : personal, adl, mailbox, et host
  • "fromaddress" : toute la ligne d'en-tête from: jusqu'à 1024 caractères
  • "from" : un tableau d'objets issus de la ligne From: avec les propriétés suivantes : personal, adl, mailbox, et host
  • "ccaddress" : toute la ligne d'en-tête cc: jusqu'à 1024 caractères
  • "cc" : un tableau d'objets issus de la ligne cc: avec les propriétés suivantes : personal, adl, mailbox, et host
  • "bccaddress" : toute la ligne d'en-tête bcc: jusqu'à 1024 caractères
  • "bcc" : un tableau d'objets issus de la ligne Bcc: avec les propriétés suivantes : personal, adl, mailbox, et host
  • "reply_toaddress" : toute la ligne d'en-tête Reply_to: jusqu'à 1024 caractères
  • "reply_to" : un tableau d'objets issus de la ligne Reply_to: avec les propriétés suivantes : personal, adl, mailbox, et host
  • "senderaddress" : toute la ligne d'en-tête Sender: jusqu'à 1024 caractères
  • "sender" : un tableau d'objets issus de la ligne Sender: avec les propriétés suivantes : personal, adl, mailbox, et host
  • "return_pathaddress" : toute la ligne d'en-tête Return-path: jusqu'à 1024 caractères
  • "return_path" : un tableau d'objets issus de la ligne Return-path: avec les propriétés suivantes : personal, adl, mailbox, et host
  • remail -
  • "date" : La date du message, telle que trouvée dans les en-têtes
  • "Date" : Identique à "date"
  • "subject" : Le sujet du message
  • "Subject" : Identique à "subject"
  • "in_reply_to" :
  • "message_id" :
  • "newsgroups" :
  • "followup_to" :
  • "references" :
  • "Recent" : R si le message est récent et lu, N si le message est récent et non lu, " " si le message n'est pas récent.
  • "Unseen" : U si le message est non lu ET non récent, " " si le message est non lu et récent
  • "Flagged" : F si le message contient un drapeau, " " sinon
  • "Answered" : A si une réponse a été faite à ce message, " " sinon
  • "Deleted" : D si le message est effacé, " " sinon
  • "Draft" : X si le message est un brouillon, " " sinon
  • "Msgno" : Le numéro du message
  • "MailDate" :
  • "Size" : La taille du message
  • "udate" : Date de l"envoi du message, sous la forme d"une date Unix
  • "fetchfrom" : Ligne "from" formatée afin de tenir dans fromlength caractères
  • "fetchsubject" : Ligne "subject" formatée afin de tenir dans subjectlength caractères

Voir aussi

  • imap_fetch_overview() - Lit le sommaire des en-têtes de messages

imap_header
imap_headers
Fonctions IMAP


Retourne les en-têtes de tous les messages d'une boîte aux lettres

imap_headerinfo
imap_last_error
Fonctions IMAP
PHP Manual

imap_headers

(PHP 4, PHP 5)

imap_headers — Retourne les en-têtes de tous les messages d'une boîte aux lettres

Description

array imap_headers ( resource $imap_stream )

Retourne les en-têtes de tous les messages d'une boîte aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne un tableau de chaînes contenant les en-têtes des messages : une chaîne par message.

imap_headerinfo
imap_last_error
Fonctions IMAP


Retourne la dernière erreur survenue

imap_headers
imap_list
Fonctions IMAP
PHP Manual

imap_last_error

(PHP 4, PHP 5)

imap_last_error — Retourne la dernière erreur survenue

Description

string imap_last_error ( void )

imap_last_error() retourne le texte complet de la dernière erreur IMAP (si elle existe) qui est survenue lors de la dernière requête. La pile d'erreur n'est pas touchée. Appeler imap_last_error() successivement, sans de nouvelles erreurs, retournera la même erreur.

Valeurs de retour

Retourne le texte complet du dernier message d'erreur IMAP survenu sur la page courante. Retourne FALSE si aucun message n'est disponible.

Voir aussi

  • imap_errors() - Retourne toutes les erreurs IMPA survenues

imap_headers
imap_list
Fonctions IMAP


Lit la liste des boîtes aux lettres

imap_last_error
imap_listmailbox
Fonctions IMAP
PHP Manual

imap_list

(PHP 4, PHP 5)

imap_list — Lit la liste des boîtes aux lettres

Description

array imap_list ( resource $imap_stream , string $ref , string $pattern )

Lit la liste des boîtes aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

ref

ref ne devrait être que le serveur sous la forme décrite dans imap_open()

pattern

Spécifie la position dans la hiérarchie des boîtes aux lettres, où il faut commencer à chercher.

Il y a deux caractères spéciaux que vous pouvez utiliser dans pattern : '*' et '%'. '*' signifie : toutes les boîtes aux lettres. Si vous passez pattern comme '*', vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. '%' signifie qu'on ne s'intéresse qu'au niveau courant. '%' passé à pattern ne retournera que les boîtes aux lettres de niveau supérieur; '~/mail/%' sous UW_IMAPD retournera toutes les boîtes aux lettres du dossier ~/mail directory, mais pas leurs enfants.

Valeurs de retour

Retourne un tableau contenant les noms des boîtes aux lettres.

Exemples

Exemple #1 Exemple avec imap_list()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("Connexion impossible : " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list a échoué : " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Voir aussi

  • imap_getmailboxes() - Liste les boîtes aux lettres, et retourne les détails de chacune
  • imap_lsub() - Liste toutes les boîtes aux lettres enregistrées

imap_last_error
imap_listmailbox
Fonctions IMAP


Alias de imap_list

imap_list
imap_listscan
Fonctions IMAP
PHP Manual

imap_listmailbox

(PHP 4, PHP 5)

imap_listmailbox — Alias de imap_list()

Description

Cette fonction est un alias de : imap_list().

imap_list
imap_listscan
Fonctions IMAP


Lit la liste des boîtes aux lettres, et y recherche une chaîne

imap_listmailbox
imap_listsubscribed
Fonctions IMAP
PHP Manual

imap_listscan

(PHP 4, PHP 5)

imap_listscan — Lit la liste des boîtes aux lettres, et y recherche une chaîne

Description

array imap_listscan ( resource $imap_stream , string $ref , string $pattern , string $content )

Retourne un tableau contenant les noms des boîtes aux lettres qui contiennent la chaîne content dans leur nom.

Cette fonction est similaire à imap_listmailbox(), mais va aussi vérifier la présence de la chaîne content dans les messages de la boîte aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

ref

ref ne devrait être que le serveur sous la forme décrite dans imap_open()

pattern

Spécifie la position dans la hiérarchie des boîtes aux lettres, où il faut commencer à chercher.

Il y a deux caractères spéciaux que vous pouvez utiliser dans pattern : '*' et '%'. '*' signifie : toutes les boîtes aux lettres. Si vous passez pattern comme '*', vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. '%' signifie qu'on ne s'intéresse qu'au niveau courant. '%' passé à pattern ne retournera que les boîtes aux lettres de niveau supérieur; '~/mail/%' sous UW_IMAPD retournera toutes les boîtes aux lettres du dossier ~/mail directory, mais pas leurs enfants.

content

La chaîne cherchée

Valeurs de retour

Retourne un tableau contenant les noms des boîtes aux lettres qui contiennent la chaîne content dans le nom de la boîte aux lettres.

Voir aussi

  • imap_listmailbox() - Alias de imap_list
  • imap_search() - Retourne un tableau de messages après recherche

imap_listmailbox
imap_listsubscribed
Fonctions IMAP


Alias de imap_lsub

imap_listscan
imap_lsub
Fonctions IMAP
PHP Manual

imap_listsubscribed

(PHP 4, PHP 5)

imap_listsubscribed — Alias de imap_lsub()

Description

Cette fonction est un alias de : imap_lsub().

imap_listscan
imap_lsub
Fonctions IMAP


Liste toutes les boîtes aux lettres enregistrées

imap_listsubscribed
imap_mail_compose
Fonctions IMAP
PHP Manual

imap_lsub

(PHP 4, PHP 5)

imap_lsub — Liste toutes les boîtes aux lettres enregistrées

Description

array imap_lsub ( resource $imap_stream , string $ref , string $pattern )

Récupère un tableau contenant toutes les boîtes aux lettres auxquelles vous avez souscrit.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

ref

ref ne devrait être que le serveur sous la forme décrite dans imap_open()

pattern

Spécifie la position dans la hiérarchie des boîtes aux lettres, où il faut commencer à chercher.

Il y a deux caractères spéciaux que vous pouvez utiliser dans pattern : '*' et '%'. '*' signifie : toutes les boîtes aux lettres. Si vous passez pattern comme '*', vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. '%' signifie qu'on ne s'intéresse qu'au niveau courant. '%' passé à pattern ne retournera que les boîtes aux lettres de niveau supérieur; '~/mail/%' sous UW_IMAPD retournera toutes les boîtes aux lettres du dossier ~/mail directory, mais pas leurs enfants.

Valeurs de retour

Retourne un tableau contenant toutes les boîtes aux lettres souscrites.

Voir aussi

  • imap_list() - Lit la liste des boîtes aux lettres
  • imap_getmailboxes() - Liste les boîtes aux lettres, et retourne les détails de chacune

imap_listsubscribed
imap_mail_compose
Fonctions IMAP


Crée un message MIME

imap_lsub
imap_mail_copy
Fonctions IMAP
PHP Manual

imap_mail_compose

(PHP 4, PHP 5)

imap_mail_compose — Crée un message MIME

Description

string imap_mail_compose ( array $envelope , array $body )

Crée un message MIME basé sur l'enveloppe envelope et les sections body.

Liste de paramètres

envelope

Un tableau associatif contenant les champs des en-têtes. Les clés valides sont : "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc", "message_id" et "custom_headers" (qui contient un tableau associatif d'autres en-têtes).

body

Un tableau indexé du corps

Un corps est un tableau associatif qui peut contenir les clés suivantes : "type", "encoding", "charset", "type.parameters", "subtype", "id", "description", "disposition.type", "disposition", "contents.data", "lines", "bytes" et "md5".

Valeurs de retour

Retourne le message MIME.

Exemples

Exemple #1 Exemple avec imap_mail_compose()

<?php

$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo nl2br(imap_mail_compose($envelope, $body));

?>

imap_lsub
imap_mail_copy
Fonctions IMAP


Copie les messages spécifiés dans une boîte aux lettres

imap_mail_compose
imap_mail_move
Fonctions IMAP
PHP Manual

imap_mail_copy

(PHP 4, PHP 5)

imap_mail_copy — Copie les messages spécifiés dans une boîte aux lettres

Description

bool imap_mail_copy ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

Copie les messages email spécifiés par msglist dans la boîte aux lettres nommée mbox.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msglist

msglist est un intervalle, et pas seulement une liste de numéros de message (comme décrit dans la » RFC2060).

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

options

options est un masque, qui peut contenir une ou plusieurs des valeurs suivantes :

  • CP_UID - la séquence de nombre contient des UIDS
  • CP_MOVE - Efface les messages après copie

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_mail_move() - Déplace des messages dans une boîte aux lettres

imap_mail_compose
imap_mail_move
Fonctions IMAP


Déplace des messages dans une boîte aux lettres

imap_mail_copy
imap_mail
Fonctions IMAP
PHP Manual

imap_mail_move

(PHP 4, PHP 5)

imap_mail_move — Déplace des messages dans une boîte aux lettres

Description

bool imap_mail_move ( resource $imap_stream , string $msglist , string $mailbox [, int $options = 0 ] )

imap_mail_move() déplace les messages spécifiés par msglist dans la boîte aux lettres mbox.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msglist

msglist est un intervalle, et pas seulement une liste de messages (comme décrit dans la » RFC2060).

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

options

options est un champ de bit et peut contenir une seule valeur :

  • CP_UID - La séquence de nombres contient des UID

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: imap_mail_move() va marquer l'email original avec un marqueur de suppression, pour effectivement le supprimer, un appel à imap_expunge() est nécessaire.

Voir aussi

  • imap_mail_copy() - Copie les messages spécifiés dans une boîte aux lettres

imap_mail_copy
imap_mail
Fonctions IMAP


Envoie un message mail

imap_mail_move
imap_mailboxmsginfo
Fonctions IMAP
PHP Manual

imap_mail

(PHP 4, PHP 5)

imap_mail — Envoie un message mail

Description

bool imap_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $cc = NULL [, string $bcc = NULL [, string $rpath = NULL ]]]] )

imap_mail() permet d'envoyer des mails avec une gestion correcte des destinataires Cc et Bcc.

Les paramètres to, cc et bcc sont tous des chaînes et sont analysées comme des listes d'adresses » RFC822.

Liste de paramètres

to

Le destinataire

subject

Le sujet du mail

message

Le corps du mail

additional_headers

Une chaîne de caractères contenant les en-têtes additionnels à envoyer avec le mail

cc

bcc

Les destinataires spécifiés dans le bcc recevront le mail mais sont exclus des en-têtes.

rpath

Utiliser ce paramètre pour spécifier le chemin de retour en cas d'échec de délivrance du mail. C'est utile lorsque vous utilisez PHP comme client mail pour plusieurs utilisateurs.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mail() - Envoi de mail

imap_mail_move
imap_mailboxmsginfo
Fonctions IMAP


Lit les informations à propos de la boîte aux lettres courante

imap_mail
imap_mime_header_decode
Fonctions IMAP
PHP Manual

imap_mailboxmsginfo

(PHP 4, PHP 5)

imap_mailboxmsginfo — Lit les informations à propos de la boîte aux lettres courante

Description

object imap_mailboxmsginfo ( resource $imap_stream )

imap_mailboxmsginfo() vérifie le statut courant de la boîte aux lettres sur le serveur. C'est similaire à l'utilisation de la fonction imap_status(), mais fournie également la taille totale des messages de la boîte aux lettres, ce qui demande un peu plus de temps à l'exécution.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne un objet avec les propriétés suivantes :

Propriétés de boîte aux lettres
Date | Date de dernière modification du contenu de la boîte aux lettres (date et heure courantes
Driver | Pilote
Mailbox | Nom de la boîte aux lettres
Nmsgs | Nombre de messages
Recent | Nombre de messages récents
Unread | Nombre de messages non lus
Deleted | Nombre de messages effacés
Size | Taille de la boîte aux lettres

Retourne FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imap_mailboxmsginfo()

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
      or die("Connexion impossible : " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);

if ($check) {
    echo "Date : "     . $check->Date    . "<br />\n" ;
    echo "Pilote : "   . $check->Driver  . "<br />\n" ;
    echo "Boîte aux lettres : "  . $check->Mailbox . "<br />\n" ;
    echo "Messages : " . $check->Nmsgs   . "<br />\n" ;
    echo "Récent : "   . $check->Recent  . "<br />\n" ;
    echo "Non lu : "   . $check->Unread  . "<br />\n" ;
    echo "Effacé : "  . $check->Deleted . "<br />\n" ;
    echo "Taille : "     . $check->Size    . "<br />\n" ;
} else {
    echo "imap_check() a échoué : " . imap_last_error() . "<br />\n";
}

imap_close($mbox);

?>

imap_mail
imap_mime_header_decode
Fonctions IMAP


Décode les éléments MIME d'un en-tête

imap_mailboxmsginfo
imap_msgno
Fonctions IMAP
PHP Manual

imap_mime_header_decode

(PHP 4, PHP 5)

imap_mime_header_decode — Décode les éléments MIME d'un en-tête

Description

array imap_mime_header_decode ( string $text )

Décode un message MIME qui contient des données non ASCII (voir » RFC2047).

Liste de paramètres

text

Le texte MIME

Valeurs de retour

Les éléments décodés sont retournés dans un tableau d'objets. Chacun de ces objets a deux propriétés : charset et text.

Si l'élément n'a pas été encodé, ou, en d'autres termes, s'il est en clair (plain US_ASCII), la propriété charset est mise à default.

Exemples

Exemple #1 Exemple avec imap_mime_header_decode()

<?php
$text = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elements = imap_mime_header_decode($text);
for ($i=0; $i<count($elements); $i++) {
    echo "Charset : {$elements[$i]->charset}\n";
    echo "Texte : {$elements[$i]->text}\n\n";
}
?>

L'exemple ci-dessus va afficher :

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <keld@example.com>

Dans l'exemple ci-dessus, on trouve deux éléments : le premier a été encodé en ISO-8859-1, et le second est en clair.

Voir aussi

  • imap_utf8() - Convertit du texte au format MIME en UTF-8

imap_mailboxmsginfo
imap_msgno
Fonctions IMAP


Retourne le numéro de séquence du message pour un UID donné

imap_mime_header_decode
imap_num_msg
Fonctions IMAP
PHP Manual

imap_msgno

(PHP 4, PHP 5)

imap_msgno — Retourne le numéro de séquence du message pour un UID donné

Description

int imap_msgno ( resource $imap_stream , int $uid )

Retourne le numéro de séquence du message pour l'UID uid.

Cette fonction est l'inverse de la fonction imap_uid().

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

uid

L'UID du message

Valeurs de retour

Retourne le numéro de séquence du message pour l'UID uid.

Voir aussi

  • imap_uid() - Retourne l'UID d'un message

imap_mime_header_decode
imap_num_msg
Fonctions IMAP


Retourne le nombre de messages dans la boîte aux lettres courante

imap_msgno
imap_num_recent
Fonctions IMAP
PHP Manual

imap_num_msg

(PHP 4, PHP 5)

imap_num_msg — Retourne le nombre de messages dans la boîte aux lettres courante

Description

int imap_num_msg ( resource $imap_stream )

Retourne le nombre de messages dans la boîte aux lettres courante.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne le nombre de messages dans la boîte aux lettres courante, sous la forme d'un entier.

Voir aussi

  • imap_num_recent() - Retourne le nombre de messages récents dans la boîte aux lettres courante
  • imap_status() - Retourne les informations de statut sur une boîte aux lettres

imap_msgno
imap_num_recent
Fonctions IMAP


Retourne le nombre de messages récents dans la boîte aux lettres courante

imap_num_msg
imap_open
Fonctions IMAP
PHP Manual

imap_num_recent

(PHP 4, PHP 5)

imap_num_recent — Retourne le nombre de messages récents dans la boîte aux lettres courante

Description

int imap_num_recent ( resource $imap_stream )

Retourne le nombre de messages récents dans la boîte aux lettres courante.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne le nombre de messages récents dans la boîte aux lettres courante, sous la forme d'un entier.

Voir aussi

  • imap_num_msg() - Retourne le nombre de messages dans la boîte aux lettres courante
  • imap_status() - Retourne les informations de statut sur une boîte aux lettres

imap_num_msg
imap_open
Fonctions IMAP


Ouvre un flux IMAP vers une boîte aux lettres

imap_num_recent
imap_ping
Fonctions IMAP
PHP Manual

imap_open

(PHP 4, PHP 5)

imap_open — Ouvre un flux IMAP vers une boîte aux lettres

Description

resource imap_open ( string $mailbox , string $username , string $password [, int $options = NIL [, int $n_retries = 0 [, array $params = NULL ]]] )

Ouvre un flux IMAP vers la boîte aux lettres mailbox.

Cette fonction peut aussi être utilisée pour ouvrir des flots sur des serveurs POP3 et NNTP mais quelques fonctions et fonctionnalités ne sont disponibles qu'avec les serveurs IMAP.

Liste de paramètres

mailbox

Un nom de boîte aux lettres est constitué d'une adresse de serveur, et d'une adresse de boîte sur ce serveur. Le mot réservé INBOX représente la boîte aux lettres de l'utilisateur courant. Les noms de boîtes aux lettres qui contiennent des caractères spéciaux (en dehors de l'espace ASCII) doivent être encodés avec imap_utf7_encode().

L'adresse du serveur, mise entre accolades '{' et '}', est constituée du nom du serveur ou de son adresse IP, d'une spécification de protocole (commençant par '/') et d'un port optionnel (spécifié avec ':').

Cette partie est obligatoire dans les paramètres de la boîte aux lettres.

Tous les noms commençant par { sont des noms distants et sont sous la forme "{" nom_systeme_distant [":" port] [flags] "}" [nom_mailbox] où :

  • remote_system_name : Nom de domaine Internet ou une adresse IP de serveur entouré de guillemets.
  • port : numéro de port TCP (optionnel), la valeur par défaut est la valeur du port pour ce service.
  • flags : options, voir la table suivante.
  • mailbox_name : nom de la mailbox distante, par défaut : INBOX

Flags optionnels pour les noms
Flag | Description
/service=service | service pour l'accès à la mailbox, par défaut : "imap"
/user=user | nom de l'utilisateur distant pour l'identification sur le serveur
/authuser=user | utilisateur distance d'identification ; si spécifié, ce sera le nom de l'utilisateur dont le mot de passe est utilisé (e.g. administrator)
/anonymous | accès distant en anonyme
/debug | la télémétrie d'enregistrement du protocole dans les logs de déboguage de l'application
/secure | ne transmet pas un mot de passe en clair à travers le réseau
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 | équivalent de /service=imap
/pop3 | équivalent de /service=pop3
/nntp | équivalent de /service=nntp
/norsh | ne pas utiliser rsh ou ssh pour établir une session de pré identification IMAP
/ssl | utilise Secure Socket Layer pour crypter la session
/validate-cert | valide les certificats depuis le serveur TLS/SSL (c'est le comportement par défaut)
/novalidate-cert | ne pas valider les certificats depuis le serveur TLS/SSL, nécessaire si le serveur utilise des certificats auto-signés
/tls | force l'utilisation de start-TLS pour chiffrer la session et rejette les connexions aux serveurs qui ne le supporte pas
/notls | n'utilise pas start-TLS pour chiffrer la session, y compris avec les serveurs qui le supporte
/readonly | demande un accès en lecture seule sur mailbox (IMAP uniquement ; ignoré sous NNTP, et une erreur avec SMTP et POP3)

username

Le nom d'utilisateur

password

Le mot de passe associé avec l'utilisateur username

options

options est un masque de bit, qui peut prendre une ou plusieurs des valeurs suivantes :

  • OP_READONLY : Ouvre une boîte aux lettres en lecture seule
  • OP_ANONYMOUS : Ne pas utiliser, ou modifier le fichier .newsrc pour les news (NNTP uniquement)
  • OP_HALFOPEN : Pour les noms IMAP et NNTP, ouvre une connexion mais n'ouvre pas une boîte aux lettres.
  • CL_EXPUNGE : Supprime automatiquement la boîte aux lettres de la liste, lors de la terminaison du flux (voir aussi imap_delete() and imap_expunge())
  • OP_DEBUG : négociations de déboguage du protocole
  • OP_SHORTCACHE : Cache court (elt uniquement)
  • OP_SILENT : Ne pas transmettre les événements (utilisation interne)
  • OP_PROTOTYPE : Retourne le prototype du driver
  • OP_SECURE : Ne pas effectuer des identifications non sécurisées

n_retries

Le nombre maximal de tentatives de connexion.

params

Paramètres de connexion ; les clés peuvent être utilisées pour définir un ou plusieurs paramètres de connexion :

  • DISABLE_AUTHENTICATOR - Désactive les propriétés d'authentification

Valeurs de retour

Retourne un flux IMAP en cas de succès, ou FALSE si une erreur survient.

Historique

Version | Description
5.3.2 | Le paramètre params a été ajouté.
5.2.0 | Le paramètre n_retries a été ajouté.

Exemples

Exemple #1 Différentes utilisations de imap_open()

<?php
// Pour se connecter à un serveur IMAP fonctionnant sur le port 143 de la
// machine locale, faites ceci :
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");

// Pour se connecter à un serveur POP3 fonctionnant sur le port 110 du
// serveur local, faites ceci :
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

// Pour se connecter à un serveur SSL IMAP ou POP3, ajoutez /ssl
// après la spécification du protocole :
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

// Pour se connecter à un serveur SSL IMAP ou POP3 avec un certificat auto-signé
// ajoutez /ssl/novalidate-cert après le protocole :
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

// Pour se connecter à un serveur NNTP qui fonctionne sur
// le port 119 de la machine locale on peut utiliser la commande:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");

// Pour se connecter à un serveur distant, remplacez "localhost" par
// le nom ou l'adresse IP de la machine.
?>

Exemple #2 Exemple avec imap_open()

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");

echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($folders == false) {
    echo "Appel échoué<br />\n";
} else {
    foreach ($folders as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>en-têtes dans INBOX</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
    echo "Appel échoué<br />\n";
} else {
    foreach ($headers as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);
?>

Voir aussi

  • imap_close() - Termine un flux IMAP

imap_num_recent
imap_ping
Fonctions IMAP


Vérifie que le flux IMAP est toujours actif

imap_open
imap_qprint
Fonctions IMAP
PHP Manual

imap_ping

(PHP 4, PHP 5)

imap_ping — Vérifie que le flux IMAP est toujours actif

Description

bool imap_ping ( resource $imap_stream )

Vérifie que le flux est toujours actif, en lui envoyant un ping. Cette fonction permet de se rendre compte qu'un mail est arrivé : c'est même la méthode préconisée pour des tests périodiques de vérification du courrier. Cette fonction peut aussi servir à garder une connexion ouverte, avec les serveurs dotés d'un délai d'expiration.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

Valeurs de retour

Retourne TRUE si le flux est toujours actif, FALSE sinon.

Exemples

Exemple #1 Exemple avec imap_ping()

<?php

$imap = imap_open("{imap.example.org}", "mailadmin", "password");

// après une pause
if (!imap_ping($imap)) {
    // effectuez un traitement pour se reconnecter
}

?>

imap_open
imap_qprint
Fonctions IMAP


Convertit une chaîne à guillemets en une chaîne à 8 bits

imap_ping
imap_renamemailbox
Fonctions IMAP
PHP Manual

imap_qprint

(PHP 4, PHP 5)

imap_qprint — Convertit une chaîne à guillemets en une chaîne à 8 bits

Description

string imap_qprint ( string $string )

Convertit la chaîne à guillemets string en une chaîne à 8 bits (selon la » RFC2045, section 6.7).

Liste de paramètres

string

Une chaîne à guillemets

Valeurs de retour

Retourne une chaîne de caractères à 8 bits.

Voir aussi

  • imap_8bit() - Convertit une chaîne à 8 bits en une chaîne encodée en Quoted-Printable

imap_ping
imap_renamemailbox
Fonctions IMAP


Renomme une boîte aux lettres

imap_qprint
imap_reopen
Fonctions IMAP
PHP Manual

imap_renamemailbox

(PHP 4, PHP 5)

imap_renamemailbox — Renomme une boîte aux lettres

Description

bool imap_renamemailbox ( resource $imap_stream , string $old_mbox , string $new_mbox )

imap_renamemailbox() renomme la boîte aux lettres old_mbox en new_mbox (voir la fonction imap_open() pour le format des noms mbox).

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

old_mbox

L'ancien nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

new_mbox

Le nouveau nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_createmailbox() - Crée une nouvelle boîte aux lettres
  • imap_deletemailbox() - Efface une boîte aux lettres

imap_qprint
imap_reopen
Fonctions IMAP


Réouvre un flux IMAP vers une nouvelle boîte aux lettres

imap_renamemailbox
imap_rfc822_parse_adrlist
Fonctions IMAP
PHP Manual

imap_reopen

(PHP 4, PHP 5)

imap_reopen — Réouvre un flux IMAP vers une nouvelle boîte aux lettres

Description

bool imap_reopen ( resource $imap_stream , string $mailbox [, int $options = 0 [, int $n_retries = 0 ]] )

Réouvre la connexion spécifiée au serveur IMAP ou NNTP, avec une nouvelle boîtes aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

options

options est un masque de bit, qui peut contenir les valeurs suivantes :

  • OP_READONLY - Ouvre une boîte aux lettres en lecture seule
  • OP_ANONYMOUS - Ne pas utiliser, ou modifier le fichier .newsrc pour les news (NNTP uniquement)
  • OP_HALFOPEN - Pour les noms IMAP et NNTP, ouvre une connexion mais n'ouvre pas une boîte aux lettres.
  • OP_EXPUNGE - Supprime silencieusement le flux recyclé
  • CL_EXPUNGE - Supprime automatiquement la boîte aux lettres de la liste, lors de la terminaison du flux. (voir imap_delete() et imap_expunge()).

n_retries

Le nombre maximal de tentatives de connexion

Valeurs de retour

Retourne TRUE si le flux est réouvert, FALSE sinon.

Historique

Version | Description
5.2.0 | Le paramètre n_retries a été ajouté

Exemples

Exemple #1 Exemple avec imap_reopen()

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password") or die(implode(", ", imap_errors()));
// ...
imap_reopen($mbox, "{imap.example.org:143}INBOX.Sent") or die(implode(", ", imap_errors()));
// ..
?>

imap_renamemailbox
imap_rfc822_parse_adrlist
Fonctions IMAP


Analyse une adresse email

imap_reopen
imap_rfc822_parse_headers
Fonctions IMAP
PHP Manual

imap_rfc822_parse_adrlist

(PHP 4, PHP 5)

imap_rfc822_parse_adrlist — Analyse une adresse email

Description

array imap_rfc822_parse_adrlist ( string $address , string $default_host )

Analyse la chaîne address, tel que définie dans la » RFC2822.

Liste de paramètres

address

Une chaîne de caractères contenant les adresses

default_host

Le nom de l'hôte par défaut

Valeurs de retour

Retourne un tableau d'objets. Les propriétés des objets sont :

  • "mailbox" : Le nom de la boîte aux lettres (nom d'utilisateur)
  • "host" : Le nom de l'hôte
  • "personal" : Le nom personnel
  • "adl" : at domain source route (NDT : ???)

Exemples

Exemple #1 Exemple avec imap_rfc822_parse_adrlist()

<?php

$address_string = "Joe Doe <doe@example.com>, postmaster@example.com, root";
$address_array  = imap_rfc822_parse_adrlist($address_string, "example.com");
if (!is_array($address_array) || count($address_array) < 1) {
    die("Erreur !\n");
}

foreach ($address_array as $id => $val) {
    echo "# $id\n";
    echo "  Boîte   : " . $val->mailbox . "\n";
    echo "  Hôte    : " . $val->host . "\n";
    echo "  Nom    : " . $val->personal . "\n";
    echo "  adl      : " . $val->adl . "\n";
}
?>

L'exemple ci-dessus va afficher :

# 0
  Boîte   : doe
  Hôte    : example.com
  Nom    : Joe Doe
  adl      :
# 1
  Boîte   : postmaster
  hôte    : example.com
  Nom    :
  adl      :
# 2
  Boîte   : root
  Hôte    : example.com
  Nom    :
  adl      :

Voir aussi

  • imap_rfc822_parse_headers() - Analyse un en-tête mail

imap_reopen
imap_rfc822_parse_headers
Fonctions IMAP


Analyse un en-tête mail

imap_rfc822_parse_adrlist
imap_rfc822_write_address
Fonctions IMAP
PHP Manual

imap_rfc822_parse_headers

(PHP 4, PHP 5)

imap_rfc822_parse_headers — Analyse un en-tête mail

Description

object imap_rfc822_parse_headers ( string $headers [, string $defaulthost = "UNKNOWN" ] )

Analyse la chaîne headers et retourne un objet contenant différents éléments, similaires à la fonction imap_header().

Liste de paramètres

headers

Les données à analyser

defaulthost

Le nom de l'hôte par défaut

Valeurs de retour

Retourne un objet similaire à celui retourné par la fonction imap_header(), excepté pour les drapeaux et les autres propriétés qui proviennent du serveur IMAP.

Voir aussi

  • imap_rfc822_parse_adrlist() - Analyse une adresse email

imap_rfc822_parse_adrlist
imap_rfc822_write_address
Fonctions IMAP


Retourne une adresse email formatée correctement

imap_rfc822_parse_headers
imap_savebody
Fonctions IMAP
PHP Manual

imap_rfc822_write_address

(PHP 4, PHP 5)

imap_rfc822_write_address — Retourne une adresse email formatée correctement

Description

string imap_rfc822_write_address ( string $mailbox , string $host , string $personal )

Retourne une adresse email formatée correctement selon la » RFC2822.

Liste de paramètres

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

host

La partie hôte de l'email

personal

Le nom du propriétaire du compte

Valeurs de retour

Retourne une adresse email, sous la forme d'une chaîne de caractères, formatée correctement selon la » RFC2822.

Exemples

Exemple #1 Exemple avec imap_rfc822_write_address()

<?php
echo imap_rfc822_write_address("hartmut", "example.com", "Hartmut Holzgraefe");
?>

L'exemple ci-dessus va afficher :

Hartmut Holzgraefe <hartmut@example.com>

imap_rfc822_parse_headers
imap_savebody
Fonctions IMAP


Sauvegarde une partie spécifique du corps dans un fichier

imap_rfc822_write_address
imap_scanmailbox
Fonctions IMAP
PHP Manual

imap_savebody

(PHP 5 >= 5.1.3)

imap_savebody — Sauvegarde une partie spécifique du corps dans un fichier

Description

bool imap_savebody ( resource $imap_stream , mixed $file , int $msg_number [, string $part_number = "" [, int $options = 0 ]] )

Sauvegarde une partie du corps du message spécifié.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

file

Le chemin vers le fichier de sauvegarde, sous la forme d'une chaîne de caractères ou un descripteur de fichier valide retourné par la fonction fopen().

msg_number

Le numéro du message

part_number

Le numéro de la section. C'est une chaîne de caractères d'entiers, délimités par une virgule qui correspondent à l'index dans la liste des sections du corps, tel que prévu par la spécification IMAP4.

options

Un masque qui contient une ou plusieurs des valeurs suivantes :

  • FT_UID - Le numéro msg_number est un UID
  • FT_PEEK - Ne pas définir le drapeau \Seen s'il n'est pas déjà défini
  • FT_INTERNAL - La chaîne de caractères retournée est dans un format interne, qui ne correspondant pas à CRLF.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_fetchbody() - Retourne une section extraite du corps d'un message

imap_rfc822_write_address
imap_scanmailbox
Fonctions IMAP


Alias de imap_listscan

imap_savebody
imap_search
Fonctions IMAP
PHP Manual

imap_scanmailbox

(PHP 4, PHP 5)

imap_scanmailbox — Alias de imap_listscan()

Description

Cette fonction est un alias de : imap_listscan().

imap_savebody
imap_search
Fonctions IMAP


Retourne un tableau de messages après recherche

imap_scanmailbox
imap_set_quota
Fonctions IMAP
PHP Manual

imap_search

(PHP 4, PHP 5)

imap_search — Retourne un tableau de messages après recherche

Description

array imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NIL ]] )

Effectue une recherche dans la boîte aux lettres courante, sur le flux IMAP courant.

Par exemple, pour rechercher les messages non répondus, envoyés par maman, vous pouvez utiliser : "UNANSWERED FROM maman". Les recherches semblent insensibles à la casse. Cette liste de critères est issue du code d'un client C UW et peut être incomplète ou imprécise. (voir aussi » RFC2060, section 6.4.4).

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

criteria

Une chaîne de caractères, délimitée par des espaces, dans laquelle les mots-clés suivants sont acceptés. Tous les arguments à plusieurs mots (e.g. FROM "joey smith") doivent être placés entre guillemets :

  • ALL - retourne tous les messages qui vérifient le reste du critère.
  • ANSWERED - tous les messages avec le flag \\ANSWERED
  • BCC "string" - tous les messages avec la chaîne "string" dans le champ Bcc
  • BEFORE "date" - tous les messages avec Date : avant "date"
  • BODY "string" - tous les messages avec "string" dans le corps
  • CC "string" - tous les messages avec "string" dans le champ Cc
  • DELETED - tous les messages effacés
  • FLAGGED - tous les messages avec le flag \\FLAGGED (parfois interprété comme Important ou Urgent)
  • FROM "string" - tous les messages avec la chaîne "string" dans le champ From
  • KEYWORD "string" - tous les messages avec la chaîne "string" comme mot-clé
  • NEW - tous les nouveaux messages
  • OLD - tous les anciens messages
  • ON "date" - tous les messages avec la date "date" comme champ Date
  • RECENT - tous les messages avec le flag \\RECENT
  • SEEN - tous les messages lus (avec le flag\\SEEN flag)
  • SINCE "date" - tous les messages avec la date Date: après "date"
  • SUBJECT "string" - tous les messages avec la chaîne "string" dans le champ Subject
  • TEXT "string" - tous les messages avec le texte "string"
  • TO "string" - tous les messages avec la chaîne "string" dans le champ To
  • UNANSWERED - tous les messages non répondus
  • UNDELETED - tous les messages non effacés
  • UNFLAGGED - tous les messages non marqués
  • UNKEYWORD "string" - tous les messages ne contenant pas le mot-clé "string"
  • UNSEEN - tous les messages non lus

options

Les valeurs pour les flags sont SE_UID, qui fait que le tableau réponse contient les UID plutôt que les numéros de séquence.

charset

Valeurs de retour

Retourne un tableau de numéro de messages ou d'UID.

Retourne FALSE si la recherche n'est pas comprise, ou bien qu'aucun message n'a été trouvé.

Historique

Version | Description
4.3.3 | Le paramètre charset a été ajouté.

Voir aussi

  • imap_listscan() - Lit la liste des boîtes aux lettres, et y recherche une chaîne

imap_scanmailbox
imap_set_quota
Fonctions IMAP


Modifie le quota d'une boîte aux lettres

imap_search
imap_setacl
Fonctions IMAP
PHP Manual

imap_set_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_set_quota — Modifie le quota d'une boîte aux lettres

Description

bool imap_set_quota ( resource $imap_stream , string $quota_root , int $quota_limit )

Modifie le quota de la boîte aux lettres quota_root.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

quota_root

La boîte aux lettres dont on doit modifier le quota. Elle doit suivre le format standart IMAP pour une boîte aux lettres : user.name.

quota_limit

La taille maximale (en Ko) pour la boîte quota_root

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imap_set_quota()

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Échec lors de la définition du quota\n";
    return;
}

imap_close($mbox);
?>

Notes

imap_get_quota() ne fonctionne actuellement qu'avec les bibliothèques c-client2000.

imap_set_quota() requiert que imap_stream ait été ouvert avec un compte d'administrateur, pour avoir les droits nécessaires : elle ne fonctionnera avec aucun autre utilisateur.

Voir aussi

  • imap_open() - Ouvre un flux IMAP vers une boîte aux lettres
  • imap_get_quota() - Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles

imap_search
imap_setacl
Fonctions IMAP


Modifie le ACL de la boîte aux lettres

imap_set_quota
imap_setflag_full
Fonctions IMAP
PHP Manual

imap_setacl

(PHP 4 >= 4.0.7, PHP 5)

imap_setacl — Modifie le ACL de la boîte aux lettres

Description

bool imap_setacl ( resource $imap_stream , string $mailbox , string $id , string $rights )

Définit l'ACL pour la boîte aux lettres donnée.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

id

L'identifiant de l'utilisateur dont on veut définir les droits.

rights

Les droits à donner à l'utilisateur. Le fait de passer une chaîne vide effacera l'ACL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Cette fonction n'est actuellement disponible que pour les utilisateurs de la bibliothèque c-client2000 ou supérieur.

Voir aussi

  • imap_getacl() - Retourne le ACL pour la boîte aux lettres

imap_set_quota
imap_setflag_full
Fonctions IMAP


Positionne un drapeau sur un message

imap_setacl
imap_sort
Fonctions IMAP
PHP Manual

imap_setflag_full

(PHP 4, PHP 5)

imap_setflag_full — Positionne un drapeau sur un message

Description

bool imap_setflag_full ( resource $imap_stream , string $sequence , string $flag [, int $options = NIL ] )

imap_setflag_full() affecte le flag spécifié aux messages de la sequence donnée.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

sequence

Une séquence de numéro de messages. Vous pouvez énumérer les messages désirés avec la syntaxe X,Y, ou récupérer tous les messages d'un intervalle avec la syntaxe X:Y

flag

Les flags que vous pouvez modifier sont \Seen, \Answered, \Flagged, \Deleted, et \Draft (comme défini dans la » RFC2060).

options

options est un masque de bits, qui accepte uniquement la valeur suivante :

  • ST_UID - la séquence contient des UID au lieu de numéros de séquence.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec imap_setflag_full()

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password")
     or die("Connexion impossible : " . imap_last_error());

$status = imap_setflag_full($mbox, "2,5", "\\Seen \\Flagged");

echo gettype($status) . "\n";
echo $status . "\n";

imap_close($mbox);
?>

Voir aussi

  • imap_clearflag_full() - Supprime un flag (drapeau) sur un message

imap_setacl
imap_sort
Fonctions IMAP


Trie des messages

imap_setflag_full
imap_status
Fonctions IMAP
PHP Manual

imap_sort

(PHP 4, PHP 5)

imap_sort — Trie des messages

Description

array imap_sort ( resource $imap_stream , int $criteria , int $reverse [, int $options = 0 [, string $search_criteria = NULL [, string $charset = NIL ]]] )

Récupère et trie les numéros de messages en fonction des paramètres donnés.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

criteria

Les critères criteria peuvent être un (et un seul) parmi les suivants :

  • SORTDATE : date du message
  • SORTARRIVAL : date d'arrivée
  • SORTFROM : nom de la première boîte aux lettres de l'adresse d'origine (From address)
  • SORTSUBJECT : sujet du message
  • SORTTO : nom de la première boîte aux lettres de destination (To address)
  • SORTCC : nom de la boîte aux lettres de copie cachée (cc address)
  • SORTSIZE : taille du message en octets

reverse

vaut 1 pour signifier : tri inverse

options

Les flags options dont des masques de bits, d'un ou plusieurs des éléments suivants :

  • SE_UID : retourne des UID à la place de numéros
  • SE_NOPREFETCH : ne pas prétélécharger les messages trouvés

search_criteria

charset

Valeurs de retour

Retourne un tableau de numéros de messages triés en fonction des paramètres fournis.

Historique

Version | Description
4.3.3 | Le paramètre charset a été ajouté.

imap_setflag_full
imap_status
Fonctions IMAP


Retourne les informations de statut sur une boîte aux lettres

imap_sort
imap_subscribe
Fonctions IMAP
PHP Manual

imap_status

(PHP 4, PHP 5)

imap_status — Retourne les informations de statut sur une boîte aux lettres

Description

object imap_status ( resource $imap_stream , string $mailbox , int $options )

Retourne les informations de statut sur la boîte aux lettres mailbox.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

options

Les drapeaux valides sont :

  • SA_MESSAGES - met la valeur de $status->messages au nombre de messages dans la boîte aux lettres.
  • SA_RECENT - met la valeur de $status->recent au nombre de messages récents dans la boîte aux lettres.
  • SA_UNSEEN - met la valeur de $status->unseen au nombre de messages non lus dans la boîte aux lettres.
  • SA_UIDNEXT - met la valeur de $status->uidnext à la prochaine valeur d'uid qui sera utilisée.
  • SA_UIDVALIDITY - met la valeur de $status->uidvalidity à une constante, qui change lorsque l'uid de la boîte aux lettres n'est plus valide.
  • SA_ALL - fixe toutes les valeurs précédentes.

Valeurs de retour

Cette fonction retourne un objet contenant les informations sur le statut. L'objet a les propriétés suivantes : messages, recent, unseen, uidnext, et uidvalidity.

flags est également défini, qui contient un masque contenant une des constantes ci-dessus.

Exemples

Exemple #1 Exemple avec imap_status()

<?php
$mbox = imap_open("{imap.example.com}", "username", "password", OP_HALFOPEN)
      or die("Connexion impossible : " . imap_last_error());

$status = imap_status($mbox, "{imap.example.org}INBOX", SA_ALL);
if ($status) {
  echo "Messages :   " . $status->messages    . "<br />\n";
  echo "Récent :     " . $status->recent      . "<br />\n";
  echo "Non lu :     " . $status->unseen      . "<br />\n";
  echo "Prochain UID:    " . $status->uidnext     . "<br />\n";
  echo "Validité de l'UID:" . $status->uidvalidity . "<br />\n";
} else {
  echo "imap_status a échoué : " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

imap_sort
imap_subscribe
Fonctions IMAP


Souscrit à une boîte aux lettres

imap_status
imap_thread
Fonctions IMAP
PHP Manual

imap_subscribe

(PHP 4, PHP 5)

imap_subscribe — Souscrit à une boîte aux lettres

Description

bool imap_subscribe ( resource $imap_stream , string $mailbox )

Souscrit à une boîte aux lettres.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_unsubscribe() - Termine la souscription à une boîte aux lettres

imap_status
imap_thread
Fonctions IMAP


Retourne l'arbre des messages organisés par thread

imap_subscribe
imap_timeout
Fonctions IMAP
PHP Manual

imap_thread

(PHP 4 >= 4.0.7, PHP 5)

imap_thread — Retourne l'arbre des messages organisés par thread

Description

array imap_thread ( resource $imap_stream [, int $options = SE_FREE ] )

Retourne l'arbre des messages organisés par thread.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

options

Valeurs de retour

imap_thread() retourne un tableau associatif contenant un arbre de messages organisés par thread par REFERENCES ou FALSE en cas d'erreur.

Chaque message dans la boîte aux lettres courante sera représenté par des entrées sous forme d'arbre dans le tableau résultant :

  • $thread["XX.num"] - numéro du message courant

  • $thread["XX.next"]

  • $thread["XX.branch"]

Exemples

Exemple #1 Exemple avec imap_thread()

<?php

// Ici, nous affichons les threads d'un newsgroup, en HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>

imap_subscribe
imap_timeout
Fonctions IMAP


Configure ou retourne le timeout

imap_thread
imap_uid
Fonctions IMAP
PHP Manual

imap_timeout

(PHP 4 >= 4.3.3, PHP 5)

imap_timeout — Configure ou retourne le timeout

Description

mixed imap_timeout ( int $timeout_type [, int $timeout = -1 ] )

Définit ou retourne le timeout imap.

Liste de paramètres

timeout_type

Une valeur parmi les suivantes : IMAP_OPENTIMEOUT, IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, ou IMAP_CLOSETIMEOUT.

timeout

Le timeout, en secondes.

Valeurs de retour

Si le paramètre timeout est défini, cette fonction retourne TRUE en cas de succès et FALSE si une erreur survient.

Si timeout n'est pas fourni ou s'il est évalué à -1, le timeout courant sera retourné sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec imap_timeout()

<?php

echo "Le timeout courant est " . imap_timeout(IMAP_READTIMEOUT) . "\n";

?>

imap_thread
imap_uid
Fonctions IMAP


Retourne l'UID d'un message

imap_timeout
imap_undelete
Fonctions IMAP
PHP Manual

imap_uid

(PHP 4, PHP 5)

imap_uid — Retourne l'UID d'un message

Description

int imap_uid ( resource $imap_stream , int $msg_number )

imap_uid() retourne l'UID pour le message msgno. Un UID est un identifiant unique que ne change jamais, alors que le numéro du message dans la liste des messages peut changer à toute modification de la boîte aux lettres.

C'est la fonction inverse de imap_msgno().

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message.

Valeurs de retour

L'UID d'un message donné.

Notes

Note: Cette fonctionnalité n'est pas supportée par les boîtes aux lettres POP3.

Voir aussi

  • imap_msgno() - Retourne le numéro de séquence du message pour un UID donné

imap_timeout
imap_undelete
Fonctions IMAP


Enlève la marque d'effacement d'un message

imap_uid
imap_unsubscribe
Fonctions IMAP
PHP Manual

imap_undelete

(PHP 4, PHP 5)

imap_undelete — Enlève la marque d'effacement d'un message

Description

bool imap_undelete ( resource $imap_stream , int $msg_number [, int $flags = 0 ] )

Enlève la marque d'effacement du message msg_number, placée avec imap_delete() ou imap_mail_move().

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

msg_number

Le numéro du message

flags

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_delete() - Marque le fichier pour l'effacement, dans la boîte aux lettres courante
  • imap_mail_move() - Déplace des messages dans une boîte aux lettres

imap_uid
imap_unsubscribe
Fonctions IMAP


Termine la souscription à une boîte aux lettres

imap_undelete
imap_utf7_decode
Fonctions IMAP
PHP Manual

imap_unsubscribe

(PHP 4, PHP 5)

imap_unsubscribe — Termine la souscription à une boîte aux lettres

Description

bool imap_unsubscribe ( resource $imap_stream , string $mailbox )

Termine la souscription à la boîte aux lettres mailbox.

Liste de paramètres

imap_stream

Un flux IMPA retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • imap_subscribe() - Souscrit à une boîte aux lettres

imap_undelete
imap_utf7_decode
Fonctions IMAP


Décode une chaîne encodée en UTF-7 modifié

imap_unsubscribe
imap_utf7_encode
Fonctions IMAP
PHP Manual

imap_utf7_decode

(PHP 4, PHP 5)

imap_utf7_decode — Décode une chaîne encodée en UTF-7 modifié

Description

string imap_utf7_decode ( string $text )

imap_utf7_decode() décode la chaîne UTF-7 text en ISO-8859-1.

Cette fonction sert à encoder les noms de boîtes aux lettres qui contiennent des caractères internationaux hors de l'espace ASCII.

Liste de paramètres

text

L'encodage UTF-7 modifié est défini dans la » RFC 2060, section 5.1.3 (l'encodage UTF-7 original est lui défini dans » RFC1642).

Valeurs de retour

Retourne une chaîne de caractères encodée ISO-8859-1 et contenant la même séquence de caractères que dans le paramètre text, ou FALSE si text contient une séquence UTF-7 modifiée invalide ou si text contient un caractère qui ne fait pas partie du jeu de caractères ISO-8859-1.

Voir aussi

  • imap_utf7_encode() - Convertit une chaîne ISO-8859-1 en texte UTF-7 modifié

imap_unsubscribe
imap_utf7_encode
Fonctions IMAP


Convertit une chaîne ISO-8859-1 en texte UTF-7 modifié

imap_utf7_decode
imap_utf8
Fonctions IMAP
PHP Manual

imap_utf7_encode

(PHP 4, PHP 5)

imap_utf7_encode — Convertit une chaîne ISO-8859-1 en texte UTF-7 modifié

Description

string imap_utf7_encode ( string $data )

Convertit une chaîne data ISO-8859-1 en texte UTF-7 modifié.

Cette fonction sert à encoder les noms de boîtes aux lettres qui contiennent des caractères internationaux hors de l'espace ASCII.

Liste de paramètres

data

Une chaîne de caractères ISO-8859-1.

Valeurs de retour

Retourne les données data encodées avec l'encodage UTF-7 modifié tel que défini dans la » RFC 2060, section 5.1.3 (l'encodage UTF-7 original est lui défini dans » RFC1642).

Voir aussi

  • imap_utf7_decode() - Décode une chaîne encodée en UTF-7 modifié

imap_utf7_decode
imap_utf8
Fonctions IMAP


Convertit du texte au format MIME en UTF-8

imap_utf7_encode
Mail
Fonctions IMAP
PHP Manual

imap_utf8

(PHP 4, PHP 5)

imap_utf8 — Convertit du texte au format MIME en UTF-8

Description

string imap_utf8 ( string $mime_encoded_text )

Convertit le texte mime_encoded_text en UTF-8.

Liste de paramètres

mime_encoded_text

Une chaîne de caractères encodé MIME. Les spécifications de MIME et UTF8 sont décrites dans les » RFC2047 et » RFC2044.

Valeurs de retour

Retourne une chaîne de caractères encodée UTF-8.

Voir aussi

  • imap_mime_header_decode() - Décode les éléments MIME d'un en-tête

imap_utf7_encode
Mail
Fonctions IMAP


Mail

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Mail
    • ezmlm_hash — Calcule le hachage demandé par EZMLM
    • mail — Envoi de mail
imap_utf8
Introduction
Extensions relatives aux emails


Introduction

La fonction mail() permet d'envoyer un mail.

Mail
Installation/Configuration
Mail


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mail


Pré-requis

Pour que la fonction mail() soit disponible, il faut que PHP ait accès au service sendmail sur le serveur, au moment de la compilation. Si vous utilisez un autre programme de mail, comme qmail ou postfix, assurez-vous d'utiliser les bonnes API. PHP va commencer à chercher sendmail dans votre PATH, puis, dans les dossiers suivants : /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Il est hautement recommandé d'avoir sendmail de disponible dans votre PATH. De plus, l'utilisateur qui compile PHP doit avoir le droit d'accéder à l'exécutable sendmail.

Installation/Configuration
Installation
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour le mail
Nom | Défaut | Modifiable | Historique
mail.add_x_header | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Disponible depuis PHP 5.3.0.
mail.log | NULL | PHP_INI_SYSTEM|PHP_INI_PERDIR | Disponible depuis PHP 5.3.0.
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Available since PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

mail.add_x_header bool

Ajoute un en-tête X-PHP-Originating-Script qui inclue l'UID du script, suivi par le nom du fichier.

mail.log string

Historise tous les appels à la fonction mail() incluant le chemin complet vers le script, le numéro de la ligne, les adresses To ainsi que les en-têtes.

smtp string

Sous Windows seulement : nom de l'hôte ou adresse IP du SMTP que PHP doit utiliser pour envoyer un mail avec la fonction mail().

smtp_port int

Sous Windows seulement : numéro de port à utiliser pour se connecter au serveur SMTP lors de l'envoi de mail avec la fonction mail(); par défaut, c'est 25. Uniquement Disponible depuis PHP 4.3.0.

sendmail_from string

Sous Windows seulement : valeur du champ "From:" qui doit être utilisée lors de l'envoi de mail. Cette directive définira également l'en-tête "Return-Path:".

sendmail_path string

Localisation du programme sendmail : habituellement /usr/sbin/sendmail ou /usr/lib/sendmail. configure essaye de repérer la présence de sendmail par lui-même, et affecte ce résultat par défaut. En cas de problème de localisation, vous pouvez établir une nouvelle valeur par défaut ici.

Tout système n'utilisant pas sendmail doit établir cette directive à la valeur chemin du programme de substitution qui remplace le serveur de mail, si celui-ci existe. Par exemple, les utilisateurs de » Qmail peuvent la définir à /var/qmail/bin/sendmail ou /var/qmail/bin/qmail-inject.

qmail-inject ne requiert aucune option pour traiter correctement le mail.

Cette directive fonctionne également sous Windows. Si elle est définie, smtp, smtp_port et sendmail_from sont ignorés et la commande spécifiée est exécutée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Mail
Mail


Fonctions Mail

Sommaire

  • ezmlm_hash — Calcule le hachage demandé par EZMLM
  • mail — Envoi de mail
Constantes pré-définies
ezmlm_hash
Mail


Calcule le hachage demandé par EZMLM

Fonctions Mail
mail
Fonctions Mail
PHP Manual

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5)

ezmlm_hash — Calcule le hachage demandé par EZMLM

Description

int ezmlm_hash ( string $addr )

ezmlm_hash() calcule le hachage nécessaire lors de la gestion de listes de diffusion EZMLM avec une base de données MySQL.

Liste de paramètres

addr

L'adresse E-Mail qui doit être hachée.

Valeurs de retour

La valeur du hachage de addr.

Exemples

Exemple #1 Calcul du hachage et enregistrement d'un utilisateur de liste de diffusion

<?php

     $user = "joecool@example.com";
     $hash = ezmlm_hash($user);
     $query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
     $db->query($query); // utilisation de l'interface PHPLIB

?>

Fonctions Mail
mail
Fonctions Mail


Envoi de mail

ezmlm_hash
Mailparse
Fonctions Mail
PHP Manual

mail

(PHP 4, PHP 5)

mail — Envoi de mail

Description

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Envoi un mail.

Liste de paramètres

to

Le ou les destinataires du mail.

Le formatage de cette chaîne doit correspondre avec la » RFC 2822. Voici quelques exemples :

  • destinataire@example.com
  • destinataire@example.com, autre_destinataire@example.com
  • Destinataire <destinataire@example.com>
  • Destinataire <destinataire@example.com>, Autre destinataire <autre_destinataire@example.com>

subject

Sujet du mail à envoyer.

Attention

Sujet doit satisfaire à la » RFC 2047.

message

Message à envoyer.

Chaque ligne doit être séparée par un caractère LF (\n). Les lignes ne doivent pas comporter plus de 70 caractères.

Attention

(Windows uniquement) Lorsque PHP discute directement avec un serveur SMTP, si un point est trouvé en début de ligne, il sera supprimé. Pour éviter ce comportement, remplacez ces occurrences par un double point.

<?php
     $text = str_replace("\n.", "\n..", $text);
?>

additional_headers (optionnel)

Chaîne à insérer à la fin des en-têtes du mail.

Ce paramètre est typiquement utilisé pour ajouter des en-têtes supplémentaires (From, Cc et Bcc). Les en-têtes supplémentaires doivent être séparés par un caractère CRLF (\r\n).

Note: Lors de l'envoi d'un mail, le mail doit contenir un en-tête From. Il peut être défini par le paramètre additional_headers, ou un par défaut peut être défini dans le php.ini.
Ne pas faire ceci causera un message d'erreur similaire à Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. L'en-tête From définit également l'en-tête Return-Path sous Windows.

Note: Si le message n'est pas reçu, essayez d'utiliser uniquement un caractère LF (\n). Quelques agents de transfert de mail Unix de mauvaise qualité remplacent le caractère LF par le caractère CRLF automatiquement (ce qui revient à doubler le caractère CR si le caractère CRLF est utilisé). Ceci doit être un dernier recours car cela ne correspond pas à la » RFC 2822.

additional_parameters (optionnel)

Le paramètre additional_parameters peut être utilisé pour passer des drapeaux additionnels comme options à la ligne de commande configurée pour être utilisée pour envoyer les mails en utilisant le paramètre de configuration sendmail_path. Par exemple, ceci peut être utilisé pour définir l'enveloppe de l'adresse de l'expéditeur lors de l'utilisation de sendmail avec l'option -f.

L'utilisateur sous lequel tourne le serveur web doit être ajouté en tant qu'utilisateur de confiance dans la configuration de sendmail afin que l'en-tête X-Warning ne soit pas ajouté au message lorsque l'enveloppe de l'expéditeur (-f) est défini en utilisant cette méthode. Pour les utilisateurs de sendmail, ce fichier est /etc/mail/trusted-users.

Valeurs de retour

Retourne TRUE si le mail a été accepté pour livraison, FALSE sinon.

Il est important de noter que ce n'est pas parce que le mail a été accepté pour livraison qu'il arrivera à destination.

Historique

Version | Description
4.3.0 (Windows uniquement) | Tous les en-têtes personnalisés (comme "From", "Cc", "Bcc" et "Date") sont supportés et ne sont pas sensibles à la casse. (Parce que les en-têtes personnalisés ne sont pas interprétés par le MTA dans un premier temps mais analysés par PHP, PHP 4.3 supporte uniquement l'en-tête Cc et est sensible à la casse).
4.2.3 | Le paramètre additional_parameters est désactivé dans le safe_mode et la fonction mail() affichera un message d'alerte et retournera FALSE lors de son utilisation.
4.0.5 | Le paramètre additional_parameters a été ajouté.

Exemples

Exemple #1 Envoi d'un mail

Utilisation de la fonction mail() pour envoyer un mail simple :

<?php
     // Le message
     $message = "Line 1\nLine 2\nLine 3";

     // Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
     $message = wordwrap($message, 70);

     // Envoi du mail
     mail('caffeinated@example.com', 'Mon Sujet', $message);
?>

Exemple #2 Envoi d'un mail avec des en-têtes supplémentaires

L'ajout d'en-têtes simples, spécifiant au MUA les adresses "From" et "Reply-To" :

<?php
     $to      = 'personne@example.com';
     $subject = 'le sujet';
     $message = 'Bonjour !';
     $headers = 'From: webmaster@example.com' . "\r\n" .
     'Reply-To: webmaster@example.com' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();

     mail($to, $subject, $message, $headers);
 ?>

Exemple #3 Envoi d'un mail avec un paramètre de ligne de commande additionnel

Le paramètre additional_parameters peut être utilisé pour passer un paramètre additionnel au programme configuré à être utilisé pour envoyer les mails en utilisant sendmail_path.

<?php
     mail('personne@example.com', 'le sujet', 'le message', null,
     '-fwebmaster@example.com');
?>

Exemple #4 Envoi de mail HTML

Il est également possible d'envoyer des mails HTML avec la fonction mail().

<?php
     // Plusieurs destinataires
     $to  = 'aidan@example.com' . ', '; // notez la virgule
     $to .= 'wez@example.com';

     // Sujet
     $subject = 'Calendrier des anniversaires pour Août';

     // message
     $message = '
     <html>
      <head>
       <title>Calendrier des anniversaires pour Août</title>
      </head>
      <body>
       <p>Voici les anniversaires à venir au mois d\'Août !</p>
       <table>
        <tr>
         <th>Personne</th><th>Jour</th><th>Mois</th><th>Année</th>
        </tr>
        <tr>
         <td>Josiane</td><td>3</td><td>Août</td><td>1970</td>
        </tr>
        <tr>
         <td>Emma</td><td>26</td><td>Août</td><td>1973</td>
        </tr>
       </table>
      </body>
     </html>
     ';

     // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
     $headers  = 'MIME-Version: 1.0' . "\r\n";
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

     // En-têtes additionnels
     $headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
     $headers .= 'From: Anniversaire <anniversaire@example.com>' . "\r\n";
     $headers .= 'Cc: anniversaire_archive@example.com' . "\r\n";
     $headers .= 'Bcc: anniversaire_verif@example.com' . "\r\n";

     // Envoi
     mail($to, $subject, $message, $headers);
?>

Note: Si vous prévoyez d'envoyer des mails HTML ou autrement plus complexes, il est recommandé d'utiliser le paquet PEAR » PEAR::Mail_Mime.

Notes

Note: L'implémentation de la fonction mail() sous Windows diffère de manière significative avec l'implémentation Unix. Tout d'abord, il n'utilise pas un programme local pour composer les messages, mais opère uniquement et directement sur les sockets, ce qui signifie qu'un MTA est nécessairement à l'écoute sur un socket du réseau (qui peut être soit sur le réseau local ou sur une machine distante).
Deuxièmement, les en-têtes personnalisés comme From:, Cc:, Bcc: et Date: ne sont pas interprétés par le MTA dans un premier temps, mais sont analysés par PHP.
De plus, le paramètre to ne doit pas être une adresse sous la forme "Quelque chose <quelqu_un@example.com>". La commande mail n'analysera pas correctement ceci lors de la discussion avec le MTA.

Note: Il est important de noter que la fonction mail() n'est pas conseillée pour traiter de gros volumes de mails dans une boucle. Cette fonction ouvre et ferme un socket SMTP pour chaque mail, ce qui n'est pas très efficace.
Pour envoyer de gros volumes de mails, reportez-vous aux paquets » PEAR::Mail et » PEAR::Mail_Queue.

Note: Les RFC suivantes peuvent être utiles : » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049 et » RFC 2822.

Voir aussi

  • imap_mail() - Envoie un message mail
  • » PEAR::Mail
  • » PEAR::Mail_Mime

ezmlm_hash
Mailparse
Fonctions Mail


Mailparse

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Mailparse
    • mailparse_determine_best_xfer_encoding — Détermine le meilleur encodage pour un fichier
    • mailparse_msg_create — Crée une ressource email mime
    • mailparse_msg_extract_part_file — Extrait et décode une section de message
    • mailparse_msg_extract_part — Extrait et décode une section de message
    • mailparse_msg_extract_whole_part_file — Extrait une section de message incluant les en-têtes sans décoder l'encodage de transfert
    • mailparse_msg_free — Libère une ressource MIME
    • mailparse_msg_get_part_data — Retourne un tableau associatif avec des informations sur le message
    • mailparse_msg_get_part — Retourne une ressource sur une section d'un message MIME
    • mailparse_msg_get_structure — Retourne un tableau avec les différentes sections MIME du message
    • mailparse_msg_parse_file — Analyse un fichier
    • mailparse_msg_parse — Analyse incrémentalement des données dans un buffer
    • mailparse_rfc822_parse_addresses — Analyse des adresses
    • mailparse_stream_encode — Lit les données dans un fichier, applique l'encodage et envoie le résultat à destfp
    • mailparse_uudecode_all — Scanne les données du fichier et extrait tous les fichiers encodés qui s'y trouvent
mail
Introduction
Extensions relatives aux emails


Introduction

Mailparse est une extension pour analyser et travailler avec les messages électroniques. Il peut gérer les messages répondant aux » RFC 822 et » RFC 2045 (MIME).

Mailparse est basé sur les flux, ce qui signifie qu'il ne conserve pas en mémoire les copies des fichiers dont il s'occupe - ainsi, il est peut couteux en ressource lorsqu'il traite de gros messages.

Note: Mailparse nécessite l'extension mbstring.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 4.2.0.

Mailparse
Installation/Configuration
Mailparse


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mailparse


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/mailparse.

Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support mailparse en utilisant l'option de configuration --enable-mailparse.

Les utilisateurs de Windows doivent activer la bibliothèque php_mailparse.dll dans le php.ini pour pouvoir utiliser ces fonctions. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration mailparse
Nom | Défaut | Modifiable | Historique
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Disponible depuis PHP 4.1.0. Supprimé depuis PHP 4.2.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MAILPARSE_EXTRACT_OUTPUT (entier)
MAILPARSE_EXTRACT_STREAM (entier)
MAILPARSE_EXTRACT_RETURN (entier)
Types de ressources
Fonctions Mailparse
Mailparse


Fonctions Mailparse

Sommaire

  • mailparse_determine_best_xfer_encoding — Détermine le meilleur encodage pour un fichier
  • mailparse_msg_create — Crée une ressource email mime
  • mailparse_msg_extract_part_file — Extrait et décode une section de message
  • mailparse_msg_extract_part — Extrait et décode une section de message
  • mailparse_msg_extract_whole_part_file — Extrait une section de message incluant les en-têtes sans décoder l'encodage de transfert
  • mailparse_msg_free — Libère une ressource MIME
  • mailparse_msg_get_part_data — Retourne un tableau associatif avec des informations sur le message
  • mailparse_msg_get_part — Retourne une ressource sur une section d'un message MIME
  • mailparse_msg_get_structure — Retourne un tableau avec les différentes sections MIME du message
  • mailparse_msg_parse_file — Analyse un fichier
  • mailparse_msg_parse — Analyse incrémentalement des données dans un buffer
  • mailparse_rfc822_parse_addresses — Analyse des adresses
  • mailparse_stream_encode — Lit les données dans un fichier, applique l'encodage et envoie le résultat à destfp
  • mailparse_uudecode_all — Scanne les données du fichier et extrait tous les fichiers encodés qui s'y trouvent
Constantes pré-définies
mailparse_determine_best_xfer_encoding
Mailparse


Détermine le meilleur encodage pour un fichier

Fonctions Mailparse
mailparse_msg_create
Fonctions Mailparse
PHP Manual

mailparse_determine_best_xfer_encoding

(PECL mailparse >= 0.9.0)

mailparse_determine_best_xfer_encoding — Détermine le meilleur encodage pour un fichier

Description

string mailparse_determine_best_xfer_encoding ( resource $fp )

Détermine le meilleur encodage pour le contenu du fichier fourni.

Liste de paramètres

fp

Un pointeur de fichier valide, qui peut être lu.

Valeurs de retour

Retourne un encodage de caractères supporté par le module mbstring.

Exemples

Exemple #1 Exemple avec mailparse_determine_best_xfer_encoding()

<?php

$fp = fopen('somemail.eml', 'r');
echo 'Meilleur encodage : ' . mailparse_determine_best_xfer_encoding($fp);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Meilleur encodage : 7bit

Fonctions Mailparse
mailparse_msg_create
Fonctions Mailparse


Crée une ressource email mime

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Fonctions Mailparse
PHP Manual

mailparse_msg_create

(PECL mailparse >= 0.9.0)

mailparse_msg_create — Crée une ressource email mime

Description

resource mailparse_msg_create ( void )

Crée une ressource email MIME.

Valeurs de retour

Retourne un gestionnaire qui pourra être utilisé pour analyser un message.

Voir aussi

  • mailparse_msg_free() - Libère une ressource MIME
  • mailparse_msg_parse_file() - Analyse un fichier

mailparse_determine_best_xfer_encoding
mailparse_msg_extract_part_file
Fonctions Mailparse


Extrait et décode une section de message

mailparse_msg_create
mailparse_msg_extract_part
Fonctions Mailparse
PHP Manual

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file — Extrait et décode une section de message

Description

string mailparse_msg_extract_part_file ( resource $mimemail , mixed $filename [, callback $callbackfunc ] )

Extrait et décode une section de message depuis le fichier fourni.

Le contenu de la section sera encodé suivant son encodage - base64, quoted-printable et texte uuencoded sont supportés.

Liste de paramètres

mimemail

Une ressource valide MIME, créée avec la fonction mailparse_msg_create().

filename

Peut être un nom de fichier ou un flux valide.

callbackfunc

Si défini, ce peut être soit un callback valide qui sera passé à la section extraire, soit NULL pour faire que cette fonction retourne la section extraite.

Si non fourni, le contenu sera envoyé à "stdout".

Valeurs de retour

Si callbackfunc ne vaut pas NULL retourne TRUE en cas de succès.

Si callbackfunc vaut NULL, retourne la section extraite sous la forme d'une chaîne de caractères.

Retourne FALSE si une erreur survient.

Voir aussi

  • mailparse_msg_extract_part() - Extrait et décode une section de message
  • mailparse_msg_extract_whole_part_file() - Extrait une section de message incluant les en-têtes sans décoder l'encodage de transfert

mailparse_msg_create
mailparse_msg_extract_part
Fonctions Mailparse


Extrait et décode une section de message

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Fonctions Mailparse
PHP Manual

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part — Extrait et décode une section de message

Description

void mailparse_msg_extract_part ( resource $mimemail , string $msgbody [, callback $callbackfunc ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

mimemail

Une ressource MIME valide.

msgbody

callbackfunc

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • mailparse_msg_extract_part_file() - Extrait et décode une section de message
  • mailparse_msg_extract_whole_part_file() - Extrait une section de message incluant les en-têtes sans décoder l'encodage de transfert

mailparse_msg_extract_part_file
mailparse_msg_extract_whole_part_file
Fonctions Mailparse


Extrait une section de message incluant les en-têtes sans décoder l'encodage de transfert

mailparse_msg_extract_part
mailparse_msg_free
Fonctions Mailparse
PHP Manual

mailparse_msg_extract_whole_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_whole_part_file — Extrait une section de message incluant les en-têtes sans décoder l'encodage de transfert

Description

string mailparse_msg_extract_whole_part_file ( resource $mimemail , string $filename [, callback $callbackfunc ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

mimemail

Une ressource MIME valide.

filename

callbackfunc

Valeurs de retour

Voir aussi

  • mailparse_msg_extract_part() - Extrait et décode une section de message
  • mailparse_msg_extract_part_file() - Extrait et décode une section de message

mailparse_msg_extract_part
mailparse_msg_free
Fonctions Mailparse


Libère une ressource MIME

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Fonctions Mailparse
PHP Manual

mailparse_msg_free

(PECL mailparse >= 0.9.0)

mailparse_msg_free — Libère une ressource MIME

Description

bool mailparse_msg_free ( resource $mimemail )

Libère une ressource MIME.

Liste de paramètres

mimemail

Une ressource MIME allouée par la fonction mailparse_msg_create() ou la fonction mailparse_msg_parse_file().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • mailparse_msg_create() - Crée une ressource email mime
  • mailparse_msg_parse_file() - Analyse un fichier

mailparse_msg_extract_whole_part_file
mailparse_msg_get_part_data
Fonctions Mailparse


Retourne un tableau associatif avec des informations sur le message

mailparse_msg_free
mailparse_msg_get_part
Fonctions Mailparse
PHP Manual

mailparse_msg_get_part_data

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part_data — Retourne un tableau associatif avec des informations sur le message

Description

array mailparse_msg_get_part_data ( resource $mimemail )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

mimemail

Une ressource MIME valide.

mailparse_msg_free
mailparse_msg_get_part
Fonctions Mailparse


Retourne une ressource sur une section d'un message MIME

mailparse_msg_get_part_data
mailparse_msg_get_structure
Fonctions Mailparse
PHP Manual

mailparse_msg_get_part

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part — Retourne une ressource sur une section d'un message MIME

Description

resource mailparse_msg_get_part ( resource $mimemail , string $mimesection )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

mimemail

Une ressource MIME valide.

mimesection

mailparse_msg_get_part_data
mailparse_msg_get_structure
Fonctions Mailparse


Retourne un tableau avec les différentes sections MIME du message

mailparse_msg_get_part
mailparse_msg_parse_file
Fonctions Mailparse
PHP Manual

mailparse_msg_get_structure

(PECL mailparse >= 0.9.0)

mailparse_msg_get_structure — Retourne un tableau avec les différentes sections MIME du message

Description

array mailparse_msg_get_structure ( resource $mimemail )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

mimemail

Une ressource MIME valide.

mailparse_msg_get_part
mailparse_msg_parse_file
Fonctions Mailparse


Analyse un fichier

mailparse_msg_get_structure
mailparse_msg_parse
Fonctions Mailparse
PHP Manual

mailparse_msg_parse_file

(PECL mailparse >= 0.9.0)

mailparse_msg_parse_file — Analyse un fichier

Description

resource mailparse_msg_parse_file ( string $filename )

Analyse un fichier. C'est la façon optimale d'analyser un email que vous avez sur votre disque.

Liste de paramètres

filename

Chemin vers le fichier contenant le message. Le fichier sera ouvert et envoyé sous forme de flux à l'analyseur.

Valeurs de retour

Retourne une ressource MIME représentant la structure, ou FALSE si une erreur survient.

Voir aussi

  • mailparse_msg_free() - Libère une ressource MIME
  • mailparse_msg_create() - Crée une ressource email mime

mailparse_msg_get_structure
mailparse_msg_parse
Fonctions Mailparse


Analyse incrémentalement des données dans un buffer

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Fonctions Mailparse
PHP Manual

mailparse_msg_parse

(PECL mailparse >= 0.9.0)

mailparse_msg_parse — Analyse incrémentalement des données dans un buffer

Description

bool mailparse_msg_parse ( resource $mimemail , string $data )

Analyse incrémentalement des données dans une ressource mime fournie.

Cette fonction vous permet d'envoyer sous forme de flux des portions d'un fichier à la fois, plutôt que de tout lire et de tout analyser en une seule fois.

Liste de paramètres

mimemail

Une ressource MIME valide.

data

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

mailparse_msg_parse_file
mailparse_rfc822_parse_addresses
Fonctions Mailparse


Analyse des adresses

mailparse_msg_parse
mailparse_stream_encode
Fonctions Mailparse
PHP Manual

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses — Analyse des adresses

Description

array mailparse_rfc822_parse_addresses ( string $addresses )

Analyse une liste d'adresses valides eu égard à la » RFC 822, comme celles trouvées dans l'en-tête To:.

Liste de paramètres

addresses

Une chaîne de caractères contenant les adresses, comme : Wez Furlong <wez@example.com>, doe@example.com

Note: Cette chaîne de caractères ne doit pas contenir le nom de l'en-tête.

Valeurs de retour

Retourne un tableau de tableaux associatifs contenant les clés suivantes pour chaque adresses :

display | Le nom de l'adresse, aux fins d'affichage. Si cette partie n'est pas définie pour une adresse, il contiendra la même valeur que la clé address.
address | L'adresse email
is_group | TRUE si l'adresse est un newsgroup, FALSE sinon.

Exemples

Exemple #1 Exemple avec mailparse_rfc822_parse_addresses()

<?php

$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

L'exemple ci-dessus va afficher :

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}

mailparse_msg_parse
mailparse_stream_encode
Fonctions Mailparse


Lit les données dans un fichier, applique l'encodage et envoie le résultat à destfp

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Fonctions Mailparse
PHP Manual

mailparse_stream_encode

(PECL mailparse >= 0.9.0)

mailparse_stream_encode — Lit les données dans un fichier, applique l'encodage et envoie le résultat à destfp

Description

bool mailparse_stream_encode ( resource $sourcefp , resource $destfp , string $encoding )

Lit les données dans un fichier, applique l'encodage encoding et envoie le résultat à destfp.

Liste de paramètres

sourcefp

Un gestionnaire de fichier valide. Le fichier sera envoyé à l'analyseur sous forme de flux.

destfp

Le gestionnaire de fichier destinataire, dans lequel les données encodées seront écrites.

encoding

Un des encodages de caractères supportés par le module mbstring.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mailparse_stream_encode()

<?php

// Contenu de email.eml : hello, this is some text=hello.
$fp = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($fp, $dest, "quoted-printable");

rewind($dest);

// Affiche le nouveau contenu du fichier
fpassthru($dest);

?>

L'exemple ci-dessus va afficher :

hello, this is some text=3Dhello.

mailparse_rfc822_parse_addresses
mailparse_uudecode_all
Fonctions Mailparse


Scanne les données du fichier et extrait tous les fichiers encodés qui s'y trouvent

mailparse_stream_encode
vpopmail
Fonctions Mailparse
PHP Manual

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all — Scanne les données du fichier et extrait tous les fichiers encodés qui s'y trouvent

Description

array mailparse_uudecode_all ( resource $fp )

Scanne les données du fichier fourni et extrait, dans un fichier temporaire, tous les fichiers encodés qui s'y trouvent.

Liste de paramètres

fp

Un pointeur de fichier valide.

Valeurs de retour

Retourne un tableau de tableaux associatifs listant les informations sur les noms de fichiers.

filename | Chemin vers le fichier temporaire à créer
origfilename | Le nom de fichier original, pour les sections uuencoded uniquement
La première entrée du fichier est le corps du message. Les entrées suivantes sont les fichiers décodés uuencoded.

Exemples

Exemple #1 Exemple avec mailparse_uudecode_all()

<?php

$text = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo "BODY\n";
readfile($data[0]["filename"]);
echo "UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Nettoyage
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

L'exemple ci-dessus va afficher :

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test

mailparse_stream_encode
vpopmail
Fonctions Mailparse


vpopmail

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • vpopmail Fonctions
    • vpopmail_add_alias_domain_ex — Ajoute un alias à un domaine virtuel
    • vpopmail_add_alias_domain — Ajout un alias pour un domaine virtuel
    • vpopmail_add_domain_ex — Ajoute un nouveau domaine virtuel
    • vpopmail_add_domain — Ajoute un nouveau domaine virtuel
    • vpopmail_add_user — Ajoute un nouvel utilisateur à un domaine virtuel
    • vpopmail_alias_add — Ajoute un alias virtuel
    • vpopmail_alias_del_domain — Efface tous les alias virtuels d'un domaine
    • vpopmail_alias_del — Efface tous les alias d'un utilisateur
    • vpopmail_alias_get_all — Lit toutes les lignes d'un alias d'un domaine
    • vpopmail_alias_get — Lit toutes les lignes d'un alias d'un domaine
    • vpopmail_auth_user — Valide le mot de passe d'un utilisateur pour un domaine
    • vpopmail_del_domain_ex — Efface un domaine virtuel
    • vpopmail_del_domain — Efface un domaine virtuel
    • vpopmail_del_user — Efface un utilisateur d'un domaine virtuel
    • vpopmail_error — Lit le dernier message d'erreur vpopmail
    • vpopmail_passwd — Remplace le mot de passe d'un utilisateur virtuel
    • vpopmail_set_user_quota — Modifie le quota d'un utilisateur virtuel
mailparse_uudecode_all
Introduction
Extensions relatives aux emails


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Cette extension a été retirée de PHP depuis PHP 4.3.0 et maintenant, réside en tant qu'extension » PECL.

vpopmail
Installation/Configuration
vpopmail


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
vpopmail


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/vpopmail.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
vpopmail Fonctions
vpopmail


vpopmail Fonctions

Sommaire

  • vpopmail_add_alias_domain_ex — Ajoute un alias à un domaine virtuel
  • vpopmail_add_alias_domain — Ajout un alias pour un domaine virtuel
  • vpopmail_add_domain_ex — Ajoute un nouveau domaine virtuel
  • vpopmail_add_domain — Ajoute un nouveau domaine virtuel
  • vpopmail_add_user — Ajoute un nouvel utilisateur à un domaine virtuel
  • vpopmail_alias_add — Ajoute un alias virtuel
  • vpopmail_alias_del_domain — Efface tous les alias virtuels d'un domaine
  • vpopmail_alias_del — Efface tous les alias d'un utilisateur
  • vpopmail_alias_get_all — Lit toutes les lignes d'un alias d'un domaine
  • vpopmail_alias_get — Lit toutes les lignes d'un alias d'un domaine
  • vpopmail_auth_user — Valide le mot de passe d'un utilisateur pour un domaine
  • vpopmail_del_domain_ex — Efface un domaine virtuel
  • vpopmail_del_domain — Efface un domaine virtuel
  • vpopmail_del_user — Efface un utilisateur d'un domaine virtuel
  • vpopmail_error — Lit le dernier message d'erreur vpopmail
  • vpopmail_passwd — Remplace le mot de passe d'un utilisateur virtuel
  • vpopmail_set_user_quota — Modifie le quota d'un utilisateur virtuel
Constantes pré-définies
vpopmail_add_alias_domain_ex
vpopmail


Ajoute un alias à un domaine virtuel

vpopmail Fonctions
vpopmail_add_alias_domain
vpopmail Fonctions
PHP Manual

vpopmail_add_alias_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain_ex — Ajoute un alias à un domaine virtuel

Description

bool vpopmail_add_alias_domain_ex ( string $olddomain , string $newdomain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail Fonctions
vpopmail_add_alias_domain
vpopmail Fonctions


Ajout un alias pour un domaine virtuel

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
vpopmail Fonctions
PHP Manual

vpopmail_add_alias_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_alias_domain — Ajout un alias pour un domaine virtuel

Description

bool vpopmail_add_alias_domain ( string $domain , string $aliasdomain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_add_alias_domain_ex
vpopmail_add_domain_ex
vpopmail Fonctions


Ajoute un nouveau domaine virtuel

vpopmail_add_alias_domain
vpopmail_add_domain
vpopmail Fonctions
PHP Manual

vpopmail_add_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain_ex — Ajoute un nouveau domaine virtuel

Description

bool vpopmail_add_domain_ex ( string $domain , string $passwd [, string $quota [, string $bounce [, bool $apop ]]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_add_alias_domain
vpopmail_add_domain
vpopmail Fonctions


Ajoute un nouveau domaine virtuel

vpopmail_add_domain_ex
vpopmail_add_user
vpopmail Fonctions
PHP Manual

vpopmail_add_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_domain — Ajoute un nouveau domaine virtuel

Description

bool vpopmail_add_domain ( string $domain , string $dir , int $uid , int $gid )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_add_domain_ex
vpopmail_add_user
vpopmail Fonctions


Ajoute un nouvel utilisateur à un domaine virtuel

vpopmail_add_domain
vpopmail_alias_add
vpopmail Fonctions
PHP Manual

vpopmail_add_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_add_user — Ajoute un nouvel utilisateur à un domaine virtuel

Description

bool vpopmail_add_user ( string $user , string $domain , string $password [, string $gecos [, bool $apop ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_add_domain
vpopmail_alias_add
vpopmail Fonctions


Ajoute un alias virtuel

vpopmail_add_user
vpopmail_alias_del_domain
vpopmail Fonctions
PHP Manual

vpopmail_alias_add

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_add — Ajoute un alias virtuel

Description

bool vpopmail_alias_add ( string $user , string $domain , string $alias )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_add_user
vpopmail_alias_del_domain
vpopmail Fonctions


Efface tous les alias virtuels d'un domaine

vpopmail_alias_add
vpopmail_alias_del
vpopmail Fonctions
PHP Manual

vpopmail_alias_del_domain

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del_domain — Efface tous les alias virtuels d'un domaine

Description

bool vpopmail_alias_del_domain ( string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_alias_add
vpopmail_alias_del
vpopmail Fonctions


Efface tous les alias d'un utilisateur

vpopmail_alias_del_domain
vpopmail_alias_get_all
vpopmail Fonctions
PHP Manual

vpopmail_alias_del

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_del — Efface tous les alias d'un utilisateur

Description

bool vpopmail_alias_del ( string $user , string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_alias_del_domain
vpopmail_alias_get_all
vpopmail Fonctions


Lit toutes les lignes d'un alias d'un domaine

vpopmail_alias_del
vpopmail_alias_get
vpopmail Fonctions
PHP Manual

vpopmail_alias_get_all

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get_all — Lit toutes les lignes d'un alias d'un domaine

Description

array vpopmail_alias_get_all ( string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_alias_del
vpopmail_alias_get
vpopmail Fonctions


Lit toutes les lignes d'un alias d'un domaine

vpopmail_alias_get_all
vpopmail_auth_user
vpopmail Fonctions
PHP Manual

vpopmail_alias_get

(PHP 4 >= 4.0.7, PECL vpopmail >= 0.2)

vpopmail_alias_get — Lit toutes les lignes d'un alias d'un domaine

Description

array vpopmail_alias_get ( string $alias , string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_alias_get_all
vpopmail_auth_user
vpopmail Fonctions


Valide le mot de passe d'un utilisateur pour un domaine

vpopmail_alias_get
vpopmail_del_domain_ex
vpopmail Fonctions
PHP Manual

vpopmail_auth_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_auth_user — Valide le mot de passe d'un utilisateur pour un domaine

Description

bool vpopmail_auth_user ( string $user , string $domain , string $password [, string $apop ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_alias_get
vpopmail_del_domain_ex
vpopmail Fonctions


Efface un domaine virtuel

vpopmail_auth_user
vpopmail_del_domain
vpopmail Fonctions
PHP Manual

vpopmail_del_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain_ex — Efface un domaine virtuel

Description

bool vpopmail_del_domain_ex ( string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_auth_user
vpopmail_del_domain
vpopmail Fonctions


Efface un domaine virtuel

vpopmail_del_domain_ex
vpopmail_del_user
vpopmail Fonctions
PHP Manual

vpopmail_del_domain

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_domain — Efface un domaine virtuel

Description

bool vpopmail_del_domain ( string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_del_domain_ex
vpopmail_del_user
vpopmail Fonctions


Efface un utilisateur d'un domaine virtuel

vpopmail_del_domain
vpopmail_error
vpopmail Fonctions
PHP Manual

vpopmail_del_user

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_del_user — Efface un utilisateur d'un domaine virtuel

Description

bool vpopmail_del_user ( string $user , string $domain )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_del_domain
vpopmail_error
vpopmail Fonctions


Lit le dernier message d'erreur vpopmail

vpopmail_del_user
vpopmail_passwd
vpopmail Fonctions
PHP Manual

vpopmail_error

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_error — Lit le dernier message d'erreur vpopmail

Description

string vpopmail_error ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_del_user
vpopmail_passwd
vpopmail Fonctions


Remplace le mot de passe d'un utilisateur virtuel

vpopmail_error
vpopmail_set_user_quota
vpopmail Fonctions
PHP Manual

vpopmail_passwd

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_passwd — Remplace le mot de passe d'un utilisateur virtuel

Description

bool vpopmail_passwd ( string $user , string $domain , string $password [, bool $apop ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_error
vpopmail_set_user_quota
vpopmail Fonctions


Modifie le quota d'un utilisateur virtuel

vpopmail_passwd
Extensions sur les mathématiques
vpopmail Fonctions
PHP Manual

vpopmail_set_user_quota

(PHP 4 >= 4.0.5, PECL vpopmail >= 0.2)

vpopmail_set_user_quota — Modifie le quota d'un utilisateur virtuel

Description

bool vpopmail_set_user_quota ( string $user , string $domain , string $quota )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

vpopmail_passwd
Extensions sur les mathématiques
vpopmail Fonctions


Extensions sur les mathématiques

  • BC Math — Fonctions BCMath
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions BC Math
  • GMP — GNU Multiple Precision
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions GMP
  • Math — Fonctions mathématiques
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Math
  • Fonctions statistiques
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur les statistiques
vpopmail_set_user_quota
BC Math
Référence des fonctions


Fonctions BCMath

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions BC Math
    • bcadd — Additionne deux nombres de grande taille
    • bccomp — Compare deux nombres de grande taille
    • bcdiv — Divise deux nombres de grande taille
    • bcmod — Retourne le reste d'une division entre nombres de grande taille
    • bcmul — Multiplie deux nombres de grande taille
    • bcpow — Élève un nombre une puissance donnée
    • bcpowmod — Calcule le reste modulo d'un nombre élevé à une puissance
    • bcscale — Spécifie le nombre de décimales par défaut pour toutes les fonctions
    • bcsqrt — Récupère la racine carrée d'un nombre de grande taille
    • bcsub — Soustrait un nombre de grande taille d'un autre
Extensions sur les mathématiques
Introduction
Extensions sur les mathématiques


Introduction

Pour les calculs mathématiques d'une grande précision, PHP fournit un calculateur binaire, qui supporte n'importe quelle précision et n'importe quelle taille de nombres, représentés sous la forme d'une chaîne de caractères.

BC Math
Installation/Configuration
BC Math


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
BC Math


Pré-requis

Depuis PHP 4.0.4, libbcmath est fourni dans PHP. Vous n'avez plus besoin de bibliothèques externes pour cette extension.

Installation/Configuration
Installation
Installation/Configuration


Installation

Ces fonctions ne sont disponibles que si l'option de configuration --enable-bcmath a été activée lors de la compilation.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration BCmaths
Nom | Défaut | Modifiable | Historique
bcmath.scale | "0" | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

bcmath.scale entier

Le nombre de décimales pour toutes les fonctions bcmath. Voir aussi bcscale().

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions BC Math
BC Math


Fonctions BC Math

Sommaire

  • bcadd — Additionne deux nombres de grande taille
  • bccomp — Compare deux nombres de grande taille
  • bcdiv — Divise deux nombres de grande taille
  • bcmod — Retourne le reste d'une division entre nombres de grande taille
  • bcmul — Multiplie deux nombres de grande taille
  • bcpow — Élève un nombre une puissance donnée
  • bcpowmod — Calcule le reste modulo d'un nombre élevé à une puissance
  • bcscale — Spécifie le nombre de décimales par défaut pour toutes les fonctions
  • bcsqrt — Récupère la racine carrée d'un nombre de grande taille
  • bcsub — Soustrait un nombre de grande taille d'un autre
Constantes pré-définies
bcadd
BC Math


Additionne deux nombres de grande taille

Fonctions BC Math
bccomp
Fonctions BC Math
PHP Manual

bcadd

(PHP 4, PHP 5)

bcadd — Additionne deux nombres de grande taille

Description

string bcadd ( string $left_operand , string $right_operand [, int $scale ] )

Additionne left_operand et right_operand.

Liste de paramètres

left_operand

L'opérande gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande droite, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

La somme des deux opérandes, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec bcadd()

<?php
$a = '1.234';
$b = '5';

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340
?>

Voir aussi

  • bcsub() - Soustrait un nombre de grande taille d'un autre

Fonctions BC Math
bccomp
Fonctions BC Math


Compare deux nombres de grande taille

bcadd
bcdiv
Fonctions BC Math
PHP Manual

bccomp

(PHP 4, PHP 5)

bccomp — Compare deux nombres de grande taille

Description

int bccomp ( string $left_operand , string $right_operand [, int $scale ] )

Compare l'opérande left_operand avec l'opérande right_operand et retourne le résultat sous forme d'un entier.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande de droite, sous la forme d'une chaîne de caractères.

scale

Le paramètre optionnel scale est utilisé pour définir le nombre de digits après la décimale qui sera utilisé dans la comparaison.

Valeurs de retour

Retourne 0 si les deux opérandes sont égaux, 1 si l'opérande left_operand est plus grand que l'opérande right_operand, -1 sinon.

Exemples

Exemple #1 Exemple avec bccomp()

<?php

echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>
bcadd
bcdiv
Fonctions BC Math


Divise deux nombres de grande taille

bccomp
bcmod
Fonctions BC Math
PHP Manual

bcdiv

(PHP 4, PHP 5)

bcdiv — Divise deux nombres de grande taille

Description

string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )

Divise l'opérande left_operand par l'opérande right_operand.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande de droite, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Retourne le résultat de la division, sous la forme d'une chaîne de caractères, ou NULL si l'opérande right_operand vaut 0.

Exemples

Exemple #1 Exemple avec bcdiv()

<?php

echo bcdiv('105', '6.55957', 3);  // 16.007

?>

Voir aussi

  • bcmul() - Multiplie deux nombres de grande taille

bccomp
bcmod
Fonctions BC Math


Retourne le reste d'une division entre nombres de grande taille

bcdiv
bcmul
Fonctions BC Math
PHP Manual

bcmod

(PHP 4, PHP 5)

bcmod — Retourne le reste d'une division entre nombres de grande taille

Description

string bcmod ( string $left_operand , string $modulus )

Retourne le reste de la division entre left_operand en utilisant modulus.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

modulus

Le modulo, sous la forme d'une chaîne de caractères.

Valeurs de retour

Retourne le modulo, sous la forme d'une chaîne de caractères, ou NULL si modulus vaut 0.

Exemples

Exemple #1 Exemple avec bcmod()

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?>

Voir aussi

  • bcdiv() - Divise deux nombres de grande taille

bcdiv
bcmul
Fonctions BC Math


Multiplie deux nombres de grande taille

bcmod
bcpow
Fonctions BC Math
PHP Manual

bcmul

(PHP 4, PHP 5)

bcmul — Multiplie deux nombres de grande taille

Description

string bcmul ( string $left_operand , string $right_operand [, int $scale ] )

Multiplie l'opérande left_operand par l'opérande right_operand.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande de droite, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Retourne le résultat, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec bcmul()

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Voir aussi

  • bcdiv() - Divise deux nombres de grande taille

bcmod
bcpow
Fonctions BC Math


Élève un nombre une puissance donnée

bcmul
bcpowmod
Fonctions BC Math
PHP Manual

bcpow

(PHP 4, PHP 5)

bcpow — Élève un nombre une puissance donnée

Description

string bcpow ( string $left_operand , string $right_operand [, int $scale ] )

Élève left_operand à la puissance right_operand.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande de droite, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Retourne le résultat, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec bcpow()

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Voir aussi

  • bcpowmod() - Calcule le reste modulo d'un nombre élevé à une puissance
  • bcsqrt() - Récupère la racine carrée d'un nombre de grande taille

bcmul
bcpowmod
Fonctions BC Math


Calcule le reste modulo d'un nombre élevé à une puissance

bcpow
bcscale
Fonctions BC Math
PHP Manual

bcpowmod

(PHP 5)

bcpowmod — Calcule le reste modulo d'un nombre élevé à une puissance

Description

string bcpowmod ( string $left_operand , string $right_operand , string $modulus [, int $scale ] )

Utilise la méthode d'exponentiation rapide pour élever le nombre left_operand à la puissance right_operand, et en calculant le reste modulo modulus.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande de droite, sous la forme d'une chaîne de caractères.

modulus

Le modulo, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Retourne le résultat, sous la forme d'une chaîne de caractères, ou NULL si modulus vaut 0.

Notes

Note: Comme cette méthode utilise les opérations de modulo, les nombres non naturels risquent de donner des résultats inattendus. Un nombre naturel est un entier positif non-nul.

Exemples

Les deux lignes suivantes produisent le même résultat. La version qui utilise bcpowmod() est bien plus rapide, et accepte des paramètres plus grands.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

// $a et $b sont égaux.

?>

Voir aussi

  • bcpow() - Élève un nombre une puissance donnée
  • bcmod() - Retourne le reste d'une division entre nombres de grande taille

bcpow
bcscale
Fonctions BC Math


Spécifie le nombre de décimales par défaut pour toutes les fonctions

bcpowmod
bcsqrt
Fonctions BC Math
PHP Manual

bcscale

(PHP 4, PHP 5)

bcscale — Spécifie le nombre de décimales par défaut pour toutes les fonctions

Description

bool bcscale ( int $scale )

Spécifie la précision par défaut pour toutes les fonctions mathématiques sur des nombres de taille arbitraire qui suivent et qui omettent le paramètre scale.

Liste de paramètres

scale

Le facteur de précision.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bcscale()

<?php

// précision par défaut : 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// la même chose sans utiliser bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?>

bcpowmod
bcsqrt
Fonctions BC Math


Récupère la racine carrée d'un nombre de grande taille

bcscale
bcsub
Fonctions BC Math
PHP Manual

bcsqrt

(PHP 4, PHP 5)

bcsqrt — Récupère la racine carrée d'un nombre de grande taille

Description

string bcsqrt ( string $operand [, int $scale ] )

Retourne la racine carrée de l'opérande operand.

Liste de paramètres

operand

L'opérande, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Retourne la racine carrée de l'opérande, sous la forme d'une chaîne de caractères, ou NULL si l'opérande operand est négatif.

Exemples

Exemple #1 Exemple avec bcsqrt()

<?php

echo bcsqrt('2', 3); // 1.414

?>

Voir aussi

  • bcpow() - Élève un nombre une puissance donnée

bcscale
bcsub
Fonctions BC Math


Soustrait un nombre de grande taille d'un autre

bcsqrt
GMP
Fonctions BC Math
PHP Manual

bcsub

(PHP 4, PHP 5)

bcsub — Soustrait un nombre de grande taille d'un autre

Description

string bcsub ( string $left_operand , string $right_operand [, int $scale ] )

Soustrait l'opérande right_operand de l'opérande left_operand.

Liste de paramètres

left_operand

L'opérande de gauche, sous la forme d'une chaîne de caractères.

right_operand

L'opérande de droite, sous la forme d'une chaîne de caractères.

scale

Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().

Valeurs de retour

Le résultat de la soustraction, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec bcsub()

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?>

Voir aussi

  • bcadd() - Additionne deux nombres de grande taille

bcsqrt
GMP
Fonctions BC Math


GNU Multiple Precision

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions GMP
    • gmp_abs — Valeur absolue GMP
    • gmp_add — Addition de 2 nombres GMP
    • gmp_and — ET logique
    • gmp_clrbit — Annule un octet
    • gmp_cmp — Compare des nombres GMP
    • gmp_com — Calcule le complémentaire d'un nombre
    • gmp_div_q — Divisions de 2 nombres GMP
    • gmp_div_qr — Divise deux nombres GMP
    • gmp_div_r — Reste de la division de deux nombres GMP
    • gmp_div — Alias de gmp_div_q
    • gmp_divexact — Division exacte de nombres GMP
    • gmp_fact — Factorielle GMP
    • gmp_gcd — Calcule le GCD
    • gmp_gcdext — PGCD étendu
    • gmp_hamdist — Distance de Hamming
    • gmp_init — Crée un nombre GMP
    • gmp_intval — Convertit un nombre GMP en entier
    • gmp_invert — Modulo inversé
    • gmp_jacobi — Symbole de Jacobi
    • gmp_legendre — Symbole de Legendre
    • gmp_mod — Modulo GMP
    • gmp_mul — Multiplication de 2 nombres GMP
    • gmp_neg — Opposé de nombre GMP
    • gmp_nextprime — Trouve le prochain nombre premier
    • gmp_or — OU logique
    • gmp_perfect_square — Carré parfait GMP
    • gmp_popcount — Comptage de population
    • gmp_pow — Puissance
    • gmp_powm — Puissance et modulo
    • gmp_prob_prime — Nombre GMP probablement premier
    • gmp_random — Nombre GMP aléatoire
    • gmp_scan0 — Recherche 0
    • gmp_scan1 — Recherche 1
    • gmp_setbit — Modifie un bit
    • gmp_sign — Signe du nombre GMP
    • gmp_sqrt — Racine carrée GMP
    • gmp_sqrtrem — Racine carrée avec reste GMP
    • gmp_strval — Convertit un nombre GMP en chaîne
    • gmp_sub — Soustraction de 2 nombres GMP
    • gmp_testbit — Teste si un octet est défini
    • gmp_xor — OU exclusif logique
bcsub
Introduction
Extensions sur les mathématiques


Introduction

Ces fonctions vous permettent de travailler avec des nombres de taille arbitraire, en utilisant la bibliothèque GNU MP.

Ces fonctions ont été ajoutées en PHP 4.0.4.

Note: La majorité des fonctions GMP acceptent des nombres GMP comme arguments, définis ci-dessous comme resource. Cependant, la plupart de ces fonctions acceptent aussi des nombres et des chaînes à partir du moment où on peut les convertir en nombre. Si une fonction utilisant les entiers est plus rapide, elle sera automatiquement appelée si les arguments fournis sont des entiers. Cela se fait de manière transparente : vous pouvez donc utiliser des entiers avec les fonctions GMP sans perte de vitesse. Voir aussi gmp_init().

Avertissement

Si vous voulez explicitement spécifier un entier de grande taille, spécifiez-le sous forme de chaîne. Si vous ne le faites pas, PHP va interpréter votre entier et le transformer en une représentation interne, qui vous fera sûrement perdre de la précision, avant même que GMP n'entre en jeu.

Note: Cette extension est disponible sur les plates-formes Windows depuis PHP 5.1.0.

GMP
Installation/Configuration
GMP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
GMP


Pré-requis

Vous pouvez télécharger GMP sur le site de » http://gmplib.org/#DOWNLOAD. Ce site propose aussi un manuel GMP.

Vous devez utiliser GMP 2 ou plus récent pour utiliser ces fonctions. Certaines d'entre elles peuvent requérir une version encore plus récente de GMP.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour pouvoir utiliser ces fonctions, vous devez compiler PHP GMP en utilisant l'option --with-gmp.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

La plupart des fonctions GPM opère ou retourne des ressources GMP.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

GMP_ROUND_ZERO (entier)
GMP_ROUND_PLUSINF (entier)
GMP_ROUND_MINUSINF (entier)
GMP_VERSION ( string )
La version de la bibliothèque GMP
Types de ressources
Exemples
GMP


Exemples

Exemple #1 Factorielle avec GMP

<?php
function fact($x)
{
    $return = 1;
    for ($i=2; $i < $x; $i++) {
        $return = gmp_mul($return, $i);
    }
    return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

Cet exemple va calculer factorielle de 1000 (un grand nombre) très vite.

Constantes pré-définies
Fonctions GMP
GMP


Fonctions GMP

Voir aussi

Vous pouvez trouver plus de fonctions dans la section Extensions sur les mathématiques.

Sommaire

  • gmp_abs — Valeur absolue GMP
  • gmp_add — Addition de 2 nombres GMP
  • gmp_and — ET logique
  • gmp_clrbit — Annule un octet
  • gmp_cmp — Compare des nombres GMP
  • gmp_com — Calcule le complémentaire d'un nombre
  • gmp_div_q — Divisions de 2 nombres GMP
  • gmp_div_qr — Divise deux nombres GMP
  • gmp_div_r — Reste de la division de deux nombres GMP
  • gmp_div — Alias de gmp_div_q
  • gmp_divexact — Division exacte de nombres GMP
  • gmp_fact — Factorielle GMP
  • gmp_gcd — Calcule le GCD
  • gmp_gcdext — PGCD étendu
  • gmp_hamdist — Distance de Hamming
  • gmp_init — Crée un nombre GMP
  • gmp_intval — Convertit un nombre GMP en entier
  • gmp_invert — Modulo inversé
  • gmp_jacobi — Symbole de Jacobi
  • gmp_legendre — Symbole de Legendre
  • gmp_mod — Modulo GMP
  • gmp_mul — Multiplication de 2 nombres GMP
  • gmp_neg — Opposé de nombre GMP
  • gmp_nextprime — Trouve le prochain nombre premier
  • gmp_or — OU logique
  • gmp_perfect_square — Carré parfait GMP
  • gmp_popcount — Comptage de population
  • gmp_pow — Puissance
  • gmp_powm — Puissance et modulo
  • gmp_prob_prime — Nombre GMP probablement premier
  • gmp_random — Nombre GMP aléatoire
  • gmp_scan0 — Recherche 0
  • gmp_scan1 — Recherche 1
  • gmp_setbit — Modifie un bit
  • gmp_sign — Signe du nombre GMP
  • gmp_sqrt — Racine carrée GMP
  • gmp_sqrtrem — Racine carrée avec reste GMP
  • gmp_strval — Convertit un nombre GMP en chaîne
  • gmp_sub — Soustraction de 2 nombres GMP
  • gmp_testbit — Teste si un octet est défini
  • gmp_xor — OU exclusif logique
Exemples
gmp_abs
GMP


Valeur absolue GMP

Fonctions GMP
gmp_add
Fonctions GMP
PHP Manual

gmp_abs

(PHP 4 >= 4.0.4, PHP 5)

gmp_abs — Valeur absolue GMP

Description

resource gmp_abs ( resource $a )

Valeur absolue GMP.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne la valeur absolue de a, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_abs()

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

L'exemple ci-dessus va afficher :

274982683358
274982683358

Fonctions GMP
gmp_add
Fonctions GMP


Addition de 2 nombres GMP

gmp_abs
gmp_and
Fonctions GMP
PHP Manual

gmp_add

(PHP 4 >= 4.0.4, PHP 5)

gmp_add — Addition de 2 nombres GMP

Description

resource gmp_add ( resource $a , resource $b )

Addition de 2 nombres GMP.

Liste de paramètres

a

Un nombre à ajouter.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Un nombre à ajouter.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Un nombre GMP représentant la somme des arguments.

Exemples

Exemple #1 Exemple avec gmp_add()

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

L'exemple ci-dessus va afficher :

200000000000000

gmp_abs
gmp_and
Fonctions GMP


ET logique

gmp_add
gmp_clrbit
Fonctions GMP
PHP Manual

gmp_and

(PHP 4 >= 4.0.4, PHP 5)

gmp_and — ET logique

Description

resource gmp_and ( resource $a , resource $b )

Calcule le ET logique de 2 nombres GMP.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Un nombre GMP représentant le ET logique des 2 arguments.

Exemples

Exemple #1 Exemple avec gmp_and()

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

L'exemple ci-dessus va afficher :

4
0
gmp_add
gmp_clrbit
Fonctions GMP


Annule un octet

gmp_and
gmp_cmp
Fonctions GMP
PHP Manual

gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_clrbit — Annule un octet

Description

void gmp_clrbit ( resource $a , int $index )

Met l'octet index à 0 dans le nombre GMP a. L'index commence à zéro.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

index

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_clrbit()

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // l'index commence à zéro
echo gmp_strval($a) . "\n";
?>

L'exemple ci-dessus va afficher :

254

Notes

Note: Contrairement à la plupart des autres fonctions GMP, gmp_clrbit() doit être appelée avec une ressource GMP existant déjà (en utilisant gmp_init() par exemple). Elle ne sera pas automatiquement créée.

Voir aussi

  • gmp_setbit() - Modifie un bit
  • gmp_testbit() - Teste si un octet est défini

gmp_and
gmp_cmp
Fonctions GMP


Compare des nombres GMP

gmp_clrbit
gmp_com
Fonctions GMP
PHP Manual

gmp_cmp

(PHP 4 >= 4.0.4, PHP 5)

gmp_cmp — Compare des nombres GMP

Description

int gmp_cmp ( resource $a , resource $b )

Compare deux nombres GMP.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne une valeur positive si a > b, zéro si a = b et négative si a < b.

Exemples

Exemple #1 Exemple avec gmp_cmp()

<?php
$cmp1 = gmp_cmp("1234", "1000"); // plus grand que
$cmp2 = gmp_cmp("1000", "1234"); // plus petit que
$cmp3 = gmp_cmp("1234", "1234"); // égal à

echo "$cmp1 $cmp2 $cmp3\n";
?>

L'exemple ci-dessus va afficher :

1 -1 0
gmp_clrbit
gmp_com
Fonctions GMP


Calcule le complémentaire d'un nombre

gmp_cmp
gmp_div_q
Fonctions GMP
PHP Manual

gmp_com

(PHP 4 >= 4.0.4, PHP 5)

gmp_com — Calcule le complémentaire d'un nombre

Description

resource gmp_com ( resource $a )

Retourne le complémentaire de a.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne le complémentaire de a, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_com()

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

L'exemple ci-dessus va afficher :

-1235
gmp_cmp
gmp_div_q
Fonctions GMP


Divisions de 2 nombres GMP

gmp_com
gmp_div_qr
Fonctions GMP
PHP Manual

gmp_div_q

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_q — Divisions de 2 nombres GMP

Description

resource gmp_div_q ( resource $a , resource $b [, int $round = GMP_ROUND_ZERO ] )

Divise a par b et retourne le résultat entier.

Liste de paramètres

a

Le nombre à diviser.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Le diviseur.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

round

L'arrondi du résultat est défini par round, qui peut prendre l'une des valeurs suivantes :

  • GMP_ROUND_ZERO: Le résultat est tronqué vers 0.
  • GMP_ROUND_PLUSINF: Le résultat est tronqué vers +infinity.
  • GMP_ROUND_MINUSINF:Le résultat est tronqué vers -infinity.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_div_q()

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

L'exemple ci-dessus va afficher :

20
0
1
0
-1

Notes

Note: Cette fonction peut aussi être appelée gmp_div().

Voir aussi

  • gmp_div_r() - Reste de la division de deux nombres GMP
  • gmp_div_qr() - Divise deux nombres GMP

gmp_com
gmp_div_qr
Fonctions GMP


Divise deux nombres GMP

gmp_div_q
gmp_div_r
Fonctions GMP
PHP Manual

gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_qr — Divise deux nombres GMP

Description

array gmp_div_qr ( resource $n , resource $d [, int $round = GMP_ROUND_ZERO ] )

Divise n par d.

Liste de paramètres

n

Le nombre à diviser.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

d

Le diviseur.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

round

Voir la fonction gmp_div_q() pour une description de l'argument round.

Valeurs de retour

Divise n par d et retourne un tableau, dont le premier élément est [n/d] (le quotient entier de la division) et le second est (n - [n/d] * d) (le reste).

Exemples

Exemple #1 Division de nombres GMP

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("Résultat : q - %s, r - %s",
       gmp_strval($res[0]), gmp_strval($res[1]));
?>

Voir aussi

  • gmp_div_q() - Divisions de 2 nombres GMP
  • gmp_div_r() - Reste de la division de deux nombres GMP

gmp_div_q
gmp_div_r
Fonctions GMP


Reste de la division de deux nombres GMP

gmp_div_qr
gmp_div
Fonctions GMP
PHP Manual

gmp_div_r

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_r — Reste de la division de deux nombres GMP

Description

resource gmp_div_r ( resource $n , resource $d [, int $round = GMP_ROUND_ZERO ] )

Calcul le reste de la division entière de n par d. Le reste a le même signe que n, s'il est différent de zéro.

Liste de paramètres

n

Le nombre à diviser.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

d

Le diviseur.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

round

Voir la fonction gmp_div_q() pour une description du paramètre round.

Valeurs de retour

Retourne le reste, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_div_r()

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

L'exemple ci-dessus va afficher :

5

Voir aussi

  • gmp_div_q() - Divisions de 2 nombres GMP
  • gmp_div_qr() - Divise deux nombres GMP

gmp_div_qr
gmp_div
Fonctions GMP


Alias de gmp_div_q

gmp_div_r
gmp_divexact
Fonctions GMP
PHP Manual

gmp_div

(PHP 4 >= 4.0.4, PHP 5)

gmp_div — Alias de gmp_div_q()

Description

Cette fonction est un alias de : gmp_div_q().

gmp_div_r
gmp_divexact
Fonctions GMP


Division exacte de nombres GMP

gmp_div
gmp_fact
Fonctions GMP
PHP Manual

gmp_divexact

(PHP 4 >= 4.0.4, PHP 5)

gmp_divexact — Division exacte de nombres GMP

Description

resource gmp_divexact ( resource $n , resource $d )

Divise n par d, en utilisant les algorithmes de "division exacte". Cette fonction ne fournit de résultats cohérents que s'il est su par avance que d divise n.

Liste de paramètres

n

Le nombre à diviser.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

d

Le diviseur.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_divexact()

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // résultat incohérent
echo gmp_strval($div2) . "\n";
?>

L'exemple ci-dessus va afficher :

5
2863311534

gmp_div
gmp_fact
Fonctions GMP


Factorielle GMP

gmp_divexact
gmp_gcd
Fonctions GMP
PHP Manual

gmp_fact

(PHP 4 >= 4.0.4, PHP 5)

gmp_fact — Factorielle GMP

Description

resource gmp_fact ( mixed $a )

Calcule la factorielle de a : a!.

Liste de paramètres

a

Le nombre factoriel.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_fact()

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

L'exemple ci-dessus va afficher :

120
30414093201713378043612608166064768844377641568960512000000000000

gmp_divexact
gmp_gcd
Fonctions GMP


Calcule le GCD

gmp_fact
gmp_gcdext
Fonctions GMP
PHP Manual

gmp_gcd

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcd — Calcule le GCD

Description

resource gmp_gcd ( resource $a , resource $b )

Calcule le PGCD (plus grand commun diviseur) de a et b. Le résultat est toujours positif, même si l'un des deux (ou les deux) nombres est négatif.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Un nombre positif GMP qui se divise avec a et b.

Exemples

Exemple #1 Exemple avec gmp_gcd()

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

L'exemple ci-dessus va afficher :

3

gmp_fact
gmp_gcdext
Fonctions GMP


PGCD étendu

gmp_gcd
gmp_hamdist
Fonctions GMP
PHP Manual

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcdext — PGCD étendu

Description

array gmp_gcdext ( resource $a , resource $b )

Calcule les entiers g, s, et t, tels que a*s + b*t = g = gcd(a,b), où gcd est le pgcd de a et b. La fonction retourne un tableau avec les index g, s et t.

Cette fonction peut être utilisée pour résoudre des équations diophantines linéaires à deux variables. Ces équations n'ont qu'une seule solution entière, et elles sont de la forme : a*x + b*y = c. Pour plus d'informations, voyez les pages » "Diophantine Equation" sur MathWorld, en anglais.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Un tableau de nombres GMP.

Exemples

Exemple #1 Résolution d'une équation Diophantine linéaire

<?php
// Résolution de l'équation a*s + b*t = g
// où a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
    $fmt = "Solution: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Erreur lors de la résolution de l'équation\n";
}

// Résultat : Solution : 12*2 + 21*-1 = 3
?>

gmp_gcd
gmp_hamdist
Fonctions GMP


Distance de Hamming

gmp_gcdext
gmp_init
Fonctions GMP
PHP Manual

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5)

gmp_hamdist — Distance de Hamming

Description

int gmp_hamdist ( resource $a , resource $b )

Retourne la distance de Hamming entre a et b. Les deux paramètres doivent être strictement positifs.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Doit être positif.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Doit être positif.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_hamdist()

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist est équivalent à : */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

L'exemple ci-dessus va afficher :

6
6

Voir aussi

  • gmp_popcount() - Comptage de population
  • gmp_xor() - OU exclusif logique

gmp_gcdext
gmp_init
Fonctions GMP


Crée un nombre GMP

gmp_hamdist
gmp_intval
Fonctions GMP
PHP Manual

gmp_init

(PHP 4 >= 4.0.4, PHP 5)

gmp_init — Crée un nombre GMP

Description

resource gmp_init ( mixed $number [, int $base = 0 ] )

Crée un nombre GMP, à partir d'un entier ou d'une chaîne.

Liste de paramètres

number

Un entier ou une chaîne de caractères. La chaîne peut être une représentation décimale, hexadécimale ou octale.

base

La base.

La base peut varier de 2 à 36. Si la base vaut 0 (valeur par défaut), la base actuelle est déterminée depuis les derniers caractères ; si les deux premiers caractères sont 0x ou 0X, on suppose que c'est de l'hexadécimal, sinon, si le premier caractère est "0", on suppose que c'est de l'octal, sinon, on suppose que c'est de la décimale.

Valeurs de retour

Une ressource GMP.

Historique

Version | Description
5.3.2 | Le paramètre base a été étendu de "2 à 36", à "2 à 62" et "-2 à -36".
4.1.0 | Le paramètre optionnel base a été ajouté.

Notes

Note: Pour utiliser la base étendue introduite en PHP 5.3.2, vous devez compiler PHP avec GMP 4.2.0 ou supérieur.

Exemples

Exemple #1 Création d'un nombre GMP

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

Notes

Note: Il n'est pas nécessaire d'appeler gmp_init() si vous voulez utiliser des entiers ou des chaînes à la place de nombre GMP dans les fonctions GMP, comme gmp_add(). Les arguments de ces fonctions sont automatiquement convertis en nombres GMP, si cette conversion est possible et nécessaire, en utilisant les mêmes règles que gmp_init().

gmp_hamdist
gmp_intval
Fonctions GMP


Convertit un nombre GMP en entier

gmp_init
gmp_invert
Fonctions GMP
PHP Manual

gmp_intval

(PHP 4 >= 4.0.4, PHP 5)

gmp_intval — Convertit un nombre GMP en entier

Description

int gmp_intval ( resource $gmpnumber )

convertit un nombre GMP en entier.

Liste de paramètres

gmpnumber

Un nombre GMP.

Valeurs de retour

Un entier, représentant le nombre gmpnumber.

Exemples

Exemple #1 Exemple avec gmp_intval()

<?php
// Affiche le bon résultat
echo gmp_intval("2147483647") . "\n";

// Affiche un mauvais résultat, hors de portée des entiers PHP
echo gmp_intval("2147483648") . "\n";

// Affiche le bon résultat
echo gmp_strval("2147483648") . "\n";
?>

L'exemple ci-dessus va afficher :

2147483647
2147483647
2147483648

Notes

Avertissement

Retourne un résultat cohérent uniquement si le nombre GMP peut être représenté par un entier PHP (i.e. type long signé). Si vous vous voulez simplement afficher un nombre GMP, utilisez plutôt gmp_strval().

gmp_init
gmp_invert
Fonctions GMP


Modulo inversé

gmp_intval
gmp_jacobi
Fonctions GMP
PHP Manual

gmp_invert

(PHP 4 >= 4.0.4, PHP 5)

gmp_invert — Modulo inversé

Description

resource gmp_invert ( resource $a , resource $b )

Calcule l'inverse de a modulo b.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Un nombre GMP en cas de succès, ou FALSE si l'inverse n'existe pas.

Exemples

Exemple #1 Exemple avec gmp_invert()

<?php
echo gmp_invert("5", "10"); // pas d'inverse, n'affiche rien, le résultat est FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

L'exemple ci-dessus va afficher :

9

gmp_intval
gmp_jacobi
Fonctions GMP


Symbole de Jacobi

gmp_invert
gmp_legendre
Fonctions GMP
PHP Manual

gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5)

gmp_jacobi — Symbole de Jacobi

Description

int gmp_jacobi ( resource $a , resource $p )

Calcule le » symbole de Jacobi de a et p. p doit être positif et impair.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

p

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Doit être positif et impair.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_jacobi()

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

L'exemple ci-dessus va afficher :

1
0

gmp_invert
gmp_legendre
Fonctions GMP


Symbole de Legendre

gmp_jacobi
gmp_mod
Fonctions GMP
PHP Manual

gmp_legendre

(PHP 4 >= 4.0.4, PHP 5)

gmp_legendre — Symbole de Legendre

Description

int gmp_legendre ( resource $a , resource $p )

Calcule le » symbole de Legendre de a et p. p doit être positif et impair.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

p

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Doit être positif et impair.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_legendre()

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

L'exemple ci-dessus va afficher :

1
0

gmp_jacobi
gmp_mod
Fonctions GMP


Modulo GMP

gmp_legendre
gmp_mul
Fonctions GMP
PHP Manual

gmp_mod

(PHP 4 >= 4.0.4, PHP 5)

gmp_mod — Modulo GMP

Description

resource gmp_mod ( resource $n , resource $d )

Calcule n modulo d. Le résultat est toujours positif ou nul, car le signe de d est ignoré.

Liste de paramètres

n

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

d

Le modulo à évaluer.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_mod()

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

L'exemple ci-dessus va afficher :

2

gmp_legendre
gmp_mul
Fonctions GMP


Multiplication de 2 nombres GMP

gmp_mod
gmp_neg
Fonctions GMP
PHP Manual

gmp_mul

(PHP 4 >= 4.0.4, PHP 5)

gmp_mul — Multiplication de 2 nombres GMP

Description

resource gmp_mul ( resource $a , resource $b )

Multiplie les nombres GMP a et b.

Liste de paramètres

a

Un nombre qui sera multiplié par b.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Un nombre qui sera multiplié par a.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_mul()

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

L'exemple ci-dessus va afficher :

24691356000

gmp_mod
gmp_neg
Fonctions GMP


Opposé de nombre GMP

gmp_mul
gmp_nextprime
Fonctions GMP
PHP Manual

gmp_neg

(PHP 4 >= 4.0.4, PHP 5)

gmp_neg — Opposé de nombre GMP

Description

resource gmp_neg ( resource $a )

Retourne l'opposé de a (-1 * a).

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne -a, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_neg()

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

L'exemple ci-dessus va afficher :

-1
1

gmp_mul
gmp_nextprime
Fonctions GMP


Trouve le prochain nombre premier

gmp_neg
gmp_or
Fonctions GMP
PHP Manual

gmp_nextprime

(PHP 5 >= 5.2.0)

gmp_nextprime — Trouve le prochain nombre premier

Description

resource gmp_nextprime ( int $a )

Trouve le prochain nombre premier.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne le prochain nombre premier plus grand que a, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_nextprime()

<?php
$prime1 = gmp_nextprime(10); // prochain nom premier supérieur à 10
$prime2 = gmp_nextprime(-1000); // prochain nombre premier supérieur à -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

L'exemple ci-dessus va afficher :

11
-997

Notes

Note: Cette fonction utilise un algorithme probabiliste pour identifier un nombre premier et les chances de récupérer un nombre composite sont extrêmement faibles.

gmp_neg
gmp_or
Fonctions GMP


OU logique

gmp_nextprime
gmp_perfect_square
Fonctions GMP
PHP Manual

gmp_or

(PHP 4 >= 4.0.4, PHP 5)

gmp_or — OU logique

Description

resource gmp_or ( resource $a , resource $b )

Calcule le OU logique de a et b.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_or()

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

L'exemple ci-dessus va afficher :

fffffff6
fffffff2

gmp_nextprime
gmp_perfect_square
Fonctions GMP


Carré parfait GMP

gmp_or
gmp_popcount
Fonctions GMP
PHP Manual

gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5)

gmp_perfect_square — Carré parfait GMP

Description

bool gmp_perfect_square ( resource $a )

Vérifie si a est un carré parfait.

Liste de paramètres

a

Le nombre à vérifier.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne TRUE si a est un carré parfait, FALSE sinon.

Exemples

Exemple #1 Exemple avec gmp_perfect_square()

<?php
// 3 * 3, carré parfait
var_dump(gmp_perfect_square("9"));

// pas un carré parfait
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, carré parfait
var_dump(gmp_perfect_square("1524157875019052100"));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)
bool(true)

Voir aussi

  • gmp_sqrt() - Racine carrée GMP
  • gmp_sqrtrem() - Racine carrée avec reste GMP

gmp_or
gmp_popcount
Fonctions GMP


Comptage de population

gmp_perfect_square
gmp_pow
Fonctions GMP
PHP Manual

gmp_popcount

(PHP 4 >= 4.0.4, PHP 5)

gmp_popcount — Comptage de population

Description

int gmp_popcount ( resource $a )

Dénombre la population de a.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

La population de a, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec gmp_popcount()

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

L'exemple ci-dessus va afficher :

3
7

gmp_perfect_square
gmp_pow
Fonctions GMP


Puissance

gmp_popcount
gmp_powm
Fonctions GMP
PHP Manual

gmp_pow

(PHP 4 >= 4.0.4, PHP 5)

gmp_pow — Puissance

Description

resource gmp_pow ( resource $base , int $exp )

Élève base à la puissance exp.

Liste de paramètres

base

La base.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

exp

La puissance.

Valeurs de retour

Le nouveau nombre, sous la forme d'un nombre GMP. Dans le cas de 0^0, gmp_pow() retourne 1.

Exemples

Exemple #1 Exemple avec gmp_pow()

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Négatif, génère un warning
echo gmp_strval($pow3) . "\n";
?>

L'exemple ci-dessus va afficher :

2147483648
1

gmp_popcount
gmp_powm
Fonctions GMP


Puissance et modulo

gmp_pow
gmp_prob_prime
Fonctions GMP
PHP Manual

gmp_powm

(PHP 4 >= 4.0.4, PHP 5)

gmp_powm — Puissance et modulo

Description

resource gmp_powm ( resource $base , resource $exp , resource $mod )

Calcule (base puissance exp) modulo mod. Si exp est négatif, le résultat est indéfini.

Liste de paramètres

base

La base.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

exp

La puissance.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

mod

Le modulo.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Le nouveau nombre, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_powm()

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

L'exemple ci-dessus va afficher :

2147483648

gmp_pow
gmp_prob_prime
Fonctions GMP


Nombre GMP probablement premier

gmp_powm
gmp_random
Fonctions GMP
PHP Manual

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_prime — Nombre GMP probablement premier

Description

int gmp_prob_prime ( resource $a [, int $reps = 10 ] )

La fonction utilise le test de probabilité Miller-Rabin.

Liste de paramètres

a

Le nombre à vérifier.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

reps

reps peut raisonnablement varier de 5 à 10 (par défaut, c'est 10); une valeur supérieure réduit la probabilité qu'un nombre non premier soit identifié comme "probablement" premier.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Si gmp_prob_prime() retourne 0, a est défini comme non premier. Si gmp_prob_prime() retourne 1, alors a est "probablement" premier. Si gmp_prob_prime() retourne 2, alors a est sûrement premier.

Exemples

Exemple #1 Exemple avec gmp_prob_prime()

<?php
// pas premier
echo gmp_prob_prime("6") . "\n";

// probablement premier
echo gmp_prob_prime("1111111111111111111") . "\n";

// premier
echo gmp_prob_prime("11") . "\n";
?>

L'exemple ci-dessus va afficher :

0
1
2

gmp_powm
gmp_random
Fonctions GMP


Nombre GMP aléatoire

gmp_prob_prime
gmp_scan0
Fonctions GMP
PHP Manual

gmp_random

(PHP 4 >= 4.0.4, PHP 5)

gmp_random — Nombre GMP aléatoire

Description

resource gmp_random ([ int $limiter = 20 ] )

Génère un nombre aléatoire. Ce nombre sera compris entre zéro et le nombre de bits par limb multiplié par limiter. Si limiter est négatif, un nombre négatif est généré.

Un limb est un mécanisme interne de GMP. Le nombre de bits dans un limb n'est pas statique, et peut varier entre les systèmes. En général, le nombre de bits par limb est 16 ou 32, mais ce n'est pas garantit.

Liste de paramètres

limiter

Le limiteur.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Un nombre GMP aléatoire.

Exemples

Exemple #1 Exemple avec gmp_random()

<?php
$rand1 = gmp_random(1); // nombre aléatoire de 0 à 1 * bits par limb
$rand2 = gmp_random(2); // nombre aléatoire de 0 à 2 * bits par limb

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

L'exemple ci-dessus va afficher :

1915834968
8642564075890328087

gmp_prob_prime
gmp_scan0
Fonctions GMP


Recherche 0

gmp_random
gmp_scan1
Fonctions GMP
PHP Manual

gmp_scan0

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan0 — Recherche 0

Description

int gmp_scan0 ( resource $a , int $start )

Recherche dans a, en commençant à la position start, vers les bits de poids lourd, jusqu'à ce qu'elle rencontre un bit à 0.

Liste de paramètres

a

Le nombre à analyser.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

start

L'octet de départ.

Valeurs de retour

Retourne l'index de l'octet trouvé, sous la forme d'un entier. L'index commence à 0.

Exemples

Exemple #1 Exemple avec gmp_scan0()

<?php
// le bit "0" est trouvé à la position 3. l'index commence à 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// le bit "0" est trouvé à la position 7. l'index commence à 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

L'exemple ci-dessus va afficher :

3
7

gmp_random
gmp_scan1
Fonctions GMP


Recherche 1

gmp_scan0
gmp_setbit
Fonctions GMP
PHP Manual

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan1 — Recherche 1

Description

int gmp_scan1 ( resource $a , int $start )

Recherche dans a, en commençant à la position start, vers les bits de poids lourd, jusqu'à ce qu'elle rencontre un bit à 1.

Liste de paramètres

a

Le nombre à analyser.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

start

L'octet de départ.

Valeurs de retour

Retourne l'index de l'octet trouvé, sous la forme d'un entier. Si aucun octet n'est trouvé, -1 sera retourné.

Exemples

Exemple #1 Exemple avec gmp_scan1()

<?php
// "1" bit est trouvé à la position 3. l'index commence à 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit est trouvé à la position 9. l'index commence à 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

L'exemple ci-dessus va afficher :

3
9

gmp_scan0
gmp_setbit
Fonctions GMP


Modifie un bit

gmp_scan1
gmp_sign
Fonctions GMP
PHP Manual

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbit — Modifie un bit

Description

void gmp_setbit ( resource $a , int $index [, bool $set_clear = true ] )

Modifie le bit index dans a.

Liste de paramètres

a

Le nombre à définir.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

index

L'octet à définir.

set_clear

Définit si l'octet est défini à 0 ou 1. Par défaut, l'octet est défini à 1. Les index commencent à 0.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_setbit()

<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // l'index commence à zéro
echo gmp_strval($a) . "\n";
?>

L'exemple ci-dessus va afficher :

255

Notes

Note: Contrairement à la plupart des autres fonctions GMP, gmp_setbit() doit être appelée avec une ressource GMP existant déjà (en utilisant gmp_init() par exemple). Elle ne sera pas automatiquement créée.

Voir aussi

  • gmp_clrbit() - Annule un octet
  • gmp_testbit() - Teste si un octet est défini

gmp_scan1
gmp_sign
Fonctions GMP


Signe du nombre GMP

gmp_setbit
gmp_sqrt
Fonctions GMP
PHP Manual

gmp_sign

(PHP 4 >= 4.0.4, PHP 5)

gmp_sign — Signe du nombre GMP

Description

int gmp_sign ( resource $a )

Vérifie le signe d'un nombre.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne le signe de a : 1 si a est positif, -1 s'il est négatif et 0 si a est égal à zéro.

Exemples

Exemple #1 Exemple avec gmp_sign()

<?php
// positif
echo gmp_sign("500") . "\n";

// negatif
echo gmp_sign("-500") . "\n";

// zéro
echo gmp_sign("0") . "\n";
?>

L'exemple ci-dessus va afficher :

1
-1
0

Voir aussi

  • gmp_abs() - Valeur absolue GMP
  • abs() - Valeur absolue

gmp_setbit
gmp_sqrt
Fonctions GMP


Racine carrée GMP

gmp_sign
gmp_sqrtrem
Fonctions GMP
PHP Manual

gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrt — Racine carrée GMP

Description

resource gmp_sqrt ( resource $a )

Calcule la racine carrée GMP du nombre a.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

La partie entière de la racine carrée, sous la forme d'un nombre GMP.

Exemples

Exemple #1 Exemple avec gmp_sqrt()

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

L'exemple ci-dessus va afficher :

3
2
1234567890

gmp_sign
gmp_sqrtrem
Fonctions GMP


Racine carrée avec reste GMP

gmp_sqrt
gmp_strval
Fonctions GMP
PHP Manual

gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrtrem — Racine carrée avec reste GMP

Description

array gmp_sqrtrem ( resource $a )

Calcule la racine carrée d'un nombre GMP, avec reste.

Liste de paramètres

a

Le nombre à traiter.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Retourne un tableau dont le premier élément est la racine carrée entière de a (voir aussi gmp_sqrt()), et le second est le reste de (i.e., la différence entre a et le carré du premier élément).

Exemples

Exemple #1 Exemple avec gmp_sqrtrem()

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

L'exemple ci-dessus va afficher :

3, 0
2, 3
1024, 0

gmp_sqrt
gmp_strval
Fonctions GMP


Convertit un nombre GMP en chaîne

gmp_sqrtrem
gmp_sub
Fonctions GMP
PHP Manual

gmp_strval

(PHP 4 >= 4.0.4, PHP 5)

gmp_strval — Convertit un nombre GMP en chaîne

Description

string gmp_strval ( resource $gmpnumber [, int $base ] )

Convertit un nombre GMP en chaîne de caractères, dans la base base. La base par défaut est 10.

Liste de paramètres

gmpnumber

Le nombre GMP qui doit être converti.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

base

La base du nombre retourné. Par défaut, vaut 10. Les valeurs possibles vont de 2 à 62 et de -2 à -36.

Valeurs de retour

Le nombre, sous la forme d'une chaîne de caractères.

Historique

Version | Description
5.3.2 | Le paramètre base a été étendu de "2 à 36", à "2 à 62" et "-2 à -36".

Notes

Note: Pour utiliser la base étendue introduite en PHP 5.3.2, vous devez compiler PHP avec GMP 4.2.0 ou supérieur.

Exemples

Exemple #1 Convertir un nombre GMP en chaîne de caractères

<?php
$a = gmp_init("0x41682179fbf5");
printf("Décimal : %s, 36-based : %s", gmp_strval($a), gmp_strval($a,36));
?>

gmp_sqrtrem
gmp_sub
Fonctions GMP


Soustraction de 2 nombres GMP

gmp_strval
gmp_testbit
Fonctions GMP
PHP Manual

gmp_sub

(PHP 4 >= 4.0.4, PHP 5)

gmp_sub — Soustraction de 2 nombres GMP

Description

resource gmp_sub ( resource $a , resource $b )

Soustrait b de a et retourne le résultat.

Liste de paramètres

a

Le nombre à soustraire.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Le nombre à soustraire de a.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_sub()

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

L'exemple ci-dessus va afficher :

281470681743360

gmp_strval
gmp_testbit
Fonctions GMP


Teste si un octet est défini

gmp_sub
gmp_xor
Fonctions GMP
PHP Manual

gmp_testbit

(PHP 5 >= 5.3.0)

gmp_testbit — Teste si un octet est défini

Description

bool gmp_testbit ( resource $a , int $index )

Teste si un octet est défini.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

index

L'octet à tester

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Une alerte de niveau E_WARNING est émise lorsque le paramètre index est inférieur à 0.

Exemples

Exemple #1 Exemple avec gmp_testbit()

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • gmp_setbit() - Modifie un bit
  • gmp_clrbit() - Annule un octet

gmp_sub
gmp_xor
Fonctions GMP


OU exclusif logique

gmp_testbit
Math
Fonctions GMP
PHP Manual

gmp_xor

(PHP 4 >= 4.0.4, PHP 5)

gmp_xor — OU exclusif logique

Description

resource gmp_xor ( resource $a , resource $b )

calcule le OU exclusif logique de a et b.

Liste de paramètres

a

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

b

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Une ressource GMP.

Exemples

Exemple #1 Exemple avec gmp_xor()

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

L'exemple ci-dessus va afficher :

1011110111000100

gmp_testbit
Math
Fonctions GMP


Fonctions mathématiques

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Math
    • abs — Valeur absolue
    • acos — Arc cosinus
    • acosh — Arc cosinus hyperbolique
    • asin — Arc sinus
    • asinh — Arc sinus hyperbolique
    • atan2 — Arc tangent de deux variables
    • atan — Arc tangente
    • atanh — Arc tangente hyperbolique
    • base_convert — Convertit un nombre entre des bases arbitraires
    • bindec — Convertit de binaire en décimal
    • ceil — Arrondit au nombre supérieur
    • cos — Cosinus
    • cosh — Cosinus hyperbolique
    • decbin — Convertit de décimal en binaire
    • dechex — Convertit de décimal en hexadécimal
    • decoct — Convertit de décimal en octal
    • deg2rad — Convertit un nombre de degrés en radians
    • exp — Calcul l'exponentielle de e
    • expm1 — Calcule précisément exponentiel moins un
    • floor — Arrondit à l'entier inférieur
    • fmod — Retourne le reste de la division
    • getrandmax — Plus grande valeur aléatoire possible
    • hexdec — Convertit de hexadécimal en décimal
    • hypot — Calcul la longueur de l'hypoténuse d'un triangle à angle droit
    • is_finite — Indique si un nombre est fini
    • is_infinite — Indique si un nombre est infini
    • is_nan — Indique si une valeur n'est pas un nombre
    • lcg_value — Générateur de congruence combinée linéaire
    • log10 — Logarithme en base 10
    • log1p — Calcule précisément log(1 + nombre)
    • log — Logarithme naturel (népérien)
    • max — La plus grande valeur
    • min — La plus petite valeur
    • mt_getrandmax — La plus grande valeur aléatoire possible
    • mt_rand — Génère une meilleure valeur aléatoire
    • mt_srand — Initialise une meilleure valeur aléatoire
    • octdec — Conversion d'octal en décimal
    • pi — Retourne la valeur de pi
    • pow — Expression exponentielle
    • rad2deg — Conversion de radians en degrés
    • rand — Génère une valeur aléatoire
    • round — Arrondi un nombre à virgule flottante
    • sin — Sinus
    • sinh — Sinus hyperbolique
    • sqrt — Racine carrée
    • srand — Initialise le générateur de nombres aléatoires
    • tan — Tangente
    • tanh — Tangente hyperbolique
gmp_xor
Introduction
Extensions sur les mathématiques


Introduction

Ces fonctions ne sont capables de manipuler que des entiers entier, ou nombres à virgule flottante ( float ). Si vous avez besoin de manipuler des nombres plus grands, reportez-vous aux fonctions mathématiques sur des nombres de grande taille.

Voir aussi la page du manuel sur les opérateurs arithmétiques.

Math
Installation/Configuration
Math


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Math


Constantes pré-définies

Les constantes listées ici sont toujours disponibles dans PHP.

Constantes mathématiques
Constante | Valeur | Description | Disponibilité
M_PI | 3.14159265358979323846 | Pi |
M_E | 2.7182818284590452354 | e |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) | PHP 5.2.0
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) | PHP 5.2.0
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) | PHP 5.2.0
M_EULER | 0.57721566490153286061 | Constante d'Euler | PHP 5.2.0
PHP_ROUND_HALF_UP | 1 | Arrondi supérieur | PHP 5.3.0
PHP_ROUND_HALF_DOWN | 2 | Arrondi inférieur | PHP 5.3.0
PHP_ROUND_HALF_EVEN | 3 | Arrondi au nombre pair | PHP 5.3.0
PHP_ROUND_HALF_ODD | 4 | Arrondi au nombre impair | PHP 5.3.0
NAN | NAN (pour les nombres décimaux) | N'est pas un nombre, littéralement Not A Number |
INF | INF (pour les nombres décimaux) | L'infinite |

Toutes les constantes dont la version PHP de disponibilité n'est pas renseignée sont disponibles depuis au moins PHP 4.0.0.

Types de ressources
Fonctions Math
Math


Fonctions Math

Sommaire

  • abs — Valeur absolue
  • acos — Arc cosinus
  • acosh — Arc cosinus hyperbolique
  • asin — Arc sinus
  • asinh — Arc sinus hyperbolique
  • atan2 — Arc tangent de deux variables
  • atan — Arc tangente
  • atanh — Arc tangente hyperbolique
  • base_convert — Convertit un nombre entre des bases arbitraires
  • bindec — Convertit de binaire en décimal
  • ceil — Arrondit au nombre supérieur
  • cos — Cosinus
  • cosh — Cosinus hyperbolique
  • decbin — Convertit de décimal en binaire
  • dechex — Convertit de décimal en hexadécimal
  • decoct — Convertit de décimal en octal
  • deg2rad — Convertit un nombre de degrés en radians
  • exp — Calcul l'exponentielle de e
  • expm1 — Calcule précisément exponentiel moins un
  • floor — Arrondit à l'entier inférieur
  • fmod — Retourne le reste de la division
  • getrandmax — Plus grande valeur aléatoire possible
  • hexdec — Convertit de hexadécimal en décimal
  • hypot — Calcul la longueur de l'hypoténuse d'un triangle à angle droit
  • is_finite — Indique si un nombre est fini
  • is_infinite — Indique si un nombre est infini
  • is_nan — Indique si une valeur n'est pas un nombre
  • lcg_value — Générateur de congruence combinée linéaire
  • log10 — Logarithme en base 10
  • log1p — Calcule précisément log(1 + nombre)
  • log — Logarithme naturel (népérien)
  • max — La plus grande valeur
  • min — La plus petite valeur
  • mt_getrandmax — La plus grande valeur aléatoire possible
  • mt_rand — Génère une meilleure valeur aléatoire
  • mt_srand — Initialise une meilleure valeur aléatoire
  • octdec — Conversion d'octal en décimal
  • pi — Retourne la valeur de pi
  • pow — Expression exponentielle
  • rad2deg — Conversion de radians en degrés
  • rand — Génère une valeur aléatoire
  • round — Arrondi un nombre à virgule flottante
  • sin — Sinus
  • sinh — Sinus hyperbolique
  • sqrt — Racine carrée
  • srand — Initialise le générateur de nombres aléatoires
  • tan — Tangente
  • tanh — Tangente hyperbolique
Constantes pré-définies
abs
Math


Valeur absolue

Fonctions Math
acos
Fonctions Math
PHP Manual

abs

(PHP 4, PHP 5)

abs — Valeur absolue

Description

number abs ( mixed $number )

Retourne la valeur absolue du nombre number.

Liste de paramètres

number

La valeur numérique à traiter

Valeurs de retour

La valeur absolue du nombre number. Si le nombre est un nombre à virgule flottante ( float ), le type retourné est aussi un nombre à virgule flottante ( float ), sinon, c'est un entier (entier).

Exemples

Exemple #1 Exemple avec abs()

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)
?>

Voir aussi

  • gmp_abs() - Valeur absolue GMP
  • gmp_sign() - Signe du nombre GMP

Fonctions Math
acos
Fonctions Math


Arc cosinus

abs
acosh
Fonctions Math
PHP Manual

acos

(PHP 4, PHP 5)

acos — Arc cosinus

Description

float acos ( float $arg )

Retourne l'arc cosinus de arg (arg en radians). acos() est la fonction inverse de cos(), ce qui signifie que a==cos(acos(a)) pour toute valeur qui soit dans l'intervalle de validité de acos().

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

L'arc cosinus de arg, en radians.

Voir aussi

  • cos() - Cosinus
  • acosh() - Arc cosinus hyperbolique
  • asin() - Arc sinus
  • atan() - Arc tangente

abs
acosh
Fonctions Math


Arc cosinus hyperbolique

acos
asin
Fonctions Math
PHP Manual

acosh

(PHP 4 >= 4.1.0, PHP 5)

acosh — Arc cosinus hyperbolique

Description

float acosh ( float $arg )

Retourne l'arc cosinus hyperbolique de arg, c'est à dire la valeur dont le cosinus hyperbolique est arg.

Liste de paramètres

arg

La valeur à traiter

Valeurs de retour

L'arc cosinus hyperbolique de arg.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur toutes les plate-formes

Voir aussi

  • cosh() - Cosinus hyperbolique
  • acos() - Arc cosinus
  • asinh ()
  • atanh() - Arc tangente hyperbolique

acos
asin
Fonctions Math


Arc sinus

acosh
asinh
Fonctions Math
PHP Manual

asin

(PHP 4, PHP 5)

asin — Arc sinus

Description

float asin ( float $arg )

Retourne l'arc sinus de arg (arg en radians). asin() est la fonction inverse de sin(), ce qui signifie que a==sin(asin(a)) pour toute valeur qui soit dans l'intervalle de validité de asin().

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

L'arc sinus de arg, en radians.

Voir aussi

  • sin() - Sinus
  • asinh() - Arc sinus hyperbolique
  • acos() - Arc cosinus
  • atan() - Arc tangente

acosh
asinh
Fonctions Math


Arc sinus hyperbolique

asin
atan2
Fonctions Math
PHP Manual

asinh

(PHP 4 >= 4.1.0, PHP 5)

asinh — Arc sinus hyperbolique

Description

float asinh ( float $arg )

Retourne l'arc sinus hyperbolique de arg, c'est à dire la valeur dont le sinus hyperbolique est arg.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

L'arc sinus hyperbolique de arg

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur toutes les plate-formes

Voir aussi

  • sinh() - Sinus hyperbolique
  • asin() - Arc sinus
  • acosh() - Arc cosinus hyperbolique
  • atanh() - Arc tangente hyperbolique

asin
atan2
Fonctions Math


Arc tangent de deux variables

asinh
atan
Fonctions Math
PHP Manual

atan2

(PHP 4, PHP 5)

atan2 — Arc tangent de deux variables

Description

float atan2 ( float $y , float $x )

Retourne l'arc tangent de deux variables x et y. La formule est : " arc tangent (y / x) ", et les signes des arguments sont utilisés pour déterminer le quadrant du résultat.

Cette fonction retourne un résultat en radians, entre -PI et PI (inclus).

Liste de paramètres

y

le dividende

x

le diviseur

Valeurs de retour

L'arc tangent de deux variables y/x, en radians.

Voir aussi

  • atan() - Arc tangente

asinh
atan
Fonctions Math


Arc tangente

atan2
atanh
Fonctions Math
PHP Manual

atan

(PHP 4, PHP 5)

atan — Arc tangente

Description

float atan ( float $arg )

Retourne l'arc tangent de arg (arg en radians). atan() est la fonction inverse de tan(), ce qui signifie que a==tan(atan(a)) pour toute valeur qui soit dans l'intervalle de validité de atan().

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

L'arc tangent de arg, en radians.

Voir aussi

  • tan() - Tangente
  • atanh() - Arc tangente hyperbolique
  • asin() - Arc sinus
  • acos() - Arc cosinus

atan2
atanh
Fonctions Math


Arc tangente hyperbolique

atan
base_convert
Fonctions Math
PHP Manual

atanh

(PHP 4 >= 4.1.0, PHP 5)

atanh — Arc tangente hyperbolique

Description

float atanh ( float $arg )

Retourne l'arc tangente hyperbolique de arg, c'est à dire la valeur dont la tangente hyperbolique est arg.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

L'arc tangente hyperbolique de arg.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur toutes les plate-formes

Voir aussi

  • tanh() - Tangente hyperbolique
  • atan ()
  • asinh() - Arc sinus hyperbolique
  • acosh() - Arc cosinus hyperbolique

atan
base_convert
Fonctions Math


Convertit un nombre entre des bases arbitraires

atanh
bindec
Fonctions Math
PHP Manual

base_convert

(PHP 4, PHP 5)

base_convert — Convertit un nombre entre des bases arbitraires

Description

string base_convert ( string $number , int $frombase , int $tobase )

Retourne une chaîne contenant l'argument number représenté dans la base tobase. La base de représentation de number est donnée par frombase. frombase et tobase doivent être compris entre 2 et 36 inclus. Les chiffres supérieurs à 10 des bases supérieures à 10 seront représentés par les lettres de A à Z, avec A = 10 et Z = 35.

Avertissement

base_convert() perdra la précision sur les grands nombres, à cause des propriétés interne des types double et nombre décimal. Lire la section sur les nombres décimaux de ce manuel pour plus d'informations.

Liste de paramètres

number

Le nombre à convertir

frombase

La base number dans laquelle il est

tobase

La base dans laquelle on doit convertir le nombre number

Valeurs de retour

Le nombre number converti dans la base tobase

Exemples

Exemple #1 Exemple avec base_convert()

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

L'exemple ci-dessus va afficher :

101000110111001100110100

Voir aussi

  • intval() - Retourne la valeur numérique entière équivalente d'une variable

atanh
bindec
Fonctions Math


Convertit de binaire en décimal

base_convert
ceil
Fonctions Math
PHP Manual

bindec

(PHP 4, PHP 5)

bindec — Convertit de binaire en décimal

Description

number bindec ( string $binary_string )

Retourne la conversion d'un nombre binaire représenté par la chaîne binary_string en décimal.

bindec() convertie un nombre binaire en un entier, ou, si nécessaire (pour des raisons de taille), en nombre décimal.

bindec() interprète toutes les valeurs binary_string comme des valeurs non-signées entières. Ceci est dû au fait que la fonction bindec() voit l'octet le plus significatif comme ayant plus de poids que l'octet représentant le signe.

Liste de paramètres

binary_string

La chaîne binaire à convertir.

Avertissement

Ce paramètre doit être une chaîne de caractères. L'utilisation d'un autre type de données produit des résultats inattendus.

Valeurs de retour

La valeur décimale de binary_string

Historique

Version | Description
Depuis la version 4.1.0 | Cette fonction peut maintenant convertir des nombres trop grand pour être contenu dans le type entier de la plate-forme ; les valeurs seront, dans ce cas, retournées sous la forme d'un nombre décimal.

Exemples

Exemple #1 Exemple avec bindec()

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

L'exemple ci-dessus va afficher :

51
51
7

Exemple #2 bindec() interprète l'entrée comme un entier non-signé

<?php
/*
 * Le plus important dans cet exemple est dans la sortie
 * plutôt que dans le code PHP lui-même.
 */

$magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2);
p($magnitude_lower - 1);
p($magnitude_lower, 'Avez-vous vu le changement ? Soyez attentif la prochaine fois...');

p(PHP_INT_MAX, 'PHP_INT_MAX');
p(~PHP_INT_MAX, 'interprété comme étant supérieur à PHP_INT_MAX');

if (PHP_INT_SIZE == 4) {
    $note = 'interprété comme étant le plus grand entier non-signé';
} else {
    $note = 'interprété comme étant le plus grand entier non-signé
              (18446744073709551615) mais faussé par la précision de la virgule flottante';
}
p(-1, $note);

function p($input, $note = '') {
    echo "entrée :        $input\n";

    $format = '%0' . (PHP_INT_SIZE * 8) . 'b';
    $bin = sprintf($format, $input);
    echo "binaire :       $bin\n";

    ini_set('precision', 20);  // Pour plus de lisibilité sur les PC 64 bits.
    $dec = bindec($bin);
    echo 'bindec() :     ' . $dec . "\n";

    if ($note) {
        echo "Note :         $note\n";
    }

    echo "\n";
}
?>

Résultat de l'exemple ci-dessus sur une machine 32 bits :

entrée :        1073741823
binaire :       00111111111111111111111111111111
bindec() :     1073741823

entrée :        1073741824
binaire :       01000000000000000000000000000000
bindec():     1073741824
Note :         Avez-vous vu le changement ? Soyez attentif la prochaine fois...

entrée :        2147483647
binaire :       01111111111111111111111111111111
bindec():     2147483647
Note :         PHP_INT_MAX

entrée :        -2147483648
binaire :       10000000000000000000000000000000
bindec():     2147483648
Note :         interprété comme étant supérieur à PHP_INT_MAX

entrée :        -1
binaire :       11111111111111111111111111111111
bindec():     4294967295
Note :         interprété comme étant le plus grand entier non-signé

Résultat de l'exemple ci-dessus sur une machine 64 bits :

entrée :        4611686018427387903
binaire :       0011111111111111111111111111111111111111111111111111111111111111
bindec() :     4611686018427387903

entrée :        4611686018427387904
binaire :       0100000000000000000000000000000000000000000000000000000000000000
bindec() :     4611686018427387904
Note :         Avez-vous vu le changement ? Soyez attentif la prochaine fois...

entrée :        9223372036854775807
binaire :       0111111111111111111111111111111111111111111111111111111111111111
bindec() :     9223372036854775807
Note :         PHP_INT_MAX

entrée :        -9223372036854775808
binaire :       1000000000000000000000000000000000000000000000000000000000000000
bindec() :     9223372036854775808
Note :         interprété comme étant supérieur à PHP_INT_MAX

entrée :        -1
binaire :       1111111111111111111111111111111111111111111111111111111111111111
bindec() :     18446744073709551616
Note :         interprété comme étant le plus grand entier non-signé
              (18446744073709551615) mais faussé par la précision de la virgule flottante

Voir aussi

  • decbin() - Convertit de décimal en binaire
  • octdec() - Conversion d'octal en décimal
  • hexdec() - Convertit de hexadécimal en décimal
  • base_convert() - Convertit un nombre entre des bases arbitraires

base_convert
ceil
Fonctions Math


Arrondit au nombre supérieur

bindec
cos
Fonctions Math
PHP Manual

ceil

(PHP 4, PHP 5)

ceil — Arrondit au nombre supérieur

Description

float ceil ( float $value )

Retourne l'entier supérieur du nombre value.

Liste de paramètres

value

La valeur à arrondir

Valeurs de retour

La valeur value arrondie à l'entier supérieur. La valeur retournée est un nombre à virgule flottante (nombre décimal), car ces nombres peuvent être plus grands que les entiers.

Exemples

Exemple #1 Exemple avec ceil()

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Voir aussi

  • floor() - Arrondit à l'entier inférieur
  • round() - Arrondi un nombre à virgule flottante

bindec
cos
Fonctions Math


Cosinus

ceil
cosh
Fonctions Math
PHP Manual

cos

(PHP 4, PHP 5)

cos — Cosinus

Description

float cos ( float $arg )

cos() retourne le cosinus de arg (arg en radians).

Liste de paramètres

arg

L'angle, en radians

Valeurs de retour

Le cosinus de arg.

Exemples

Exemple #1 Exemple avec cos()

<?php

echo cos(M_PI); // -1

?>

Voir aussi

  • acos() - Arc cosinus
  • sin() - Sinus
  • tan() - Tangente
  • deg2rad() - Convertit un nombre de degrés en radians

ceil
cosh
Fonctions Math


Cosinus hyperbolique

cos
decbin
Fonctions Math
PHP Manual

cosh

(PHP 4 >= 4.1.0, PHP 5)

cosh — Cosinus hyperbolique

Description

float cosh ( float $arg )

Retourne le cosinus hyperbolique de arg, défini comme (exp(arg) + exp(-arg))/2.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

Le cosinus hyperbolique de arg.

Voir aussi

  • cos() - Cosinus
  • acosh() - Arc cosinus hyperbolique
  • sinh() - Sinus hyperbolique
  • cosh()

cos
decbin
Fonctions Math


Convertit de décimal en binaire

cosh
dechex
Fonctions Math
PHP Manual

decbin

(PHP 4, PHP 5)

decbin — Convertit de décimal en binaire

Description

string decbin ( int $number )

Retourne une chaîne contenant la représentation binaire de l'entier number donné en argument.

Liste de paramètres

number

Valeur décimale à convertir

Interval d'entrée sur des machines 32-bit
Paramètre number positif | Paramètre number négatif | Valeur retournée
0 | 0
1 | 1
2 | 10
... progression normale ...
2147483646 | 1111111111111111111111111111110
2147483647 (plus grand entier signé) | 1111111111111111111111111111111 (31 uns)
2147483648 | -2147483648 | 10000000000000000000000000000000
... progression normale ...
4294967294 | -2 | 11111111111111111111111111111110
4294967295 (plus grand entier non-signé) | -1 | 11111111111111111111111111111111 (32 uns)
Interval d'entrée sur des machines 64-bit
Paramètre number positif | Paramètre number négatif | Valeur retournée
0 | 0
1 | 1
2 | 10
... progression normale ...
9223372036854775806 | 111111111111111111111111111111111111111111111111111111111111110
9223372036854775807 (plus grand entier signé) | 111111111111111111111111111111111111111111111111111111111111111 (63 uns)
-9223372036854775808 | 1000000000000000000000000000000000000000000000000000000000000000
... progression normale ...
-2 | 1111111111111111111111111111111111111111111111111111111111111110
-1 | 1111111111111111111111111111111111111111111111111111111111111111 (64 uns)

Valeurs de retour

Une représentation binaire de number.

Exemples

Exemple #1 Exemple avec decbin()

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

L'exemple ci-dessus va afficher :

1100
11010

Voir aussi

  • bindec() - Convertit de binaire en décimal
  • decoct() - Convertit de décimal en octal
  • dechex() - Convertit de décimal en hexadécimal
  • base_convert() - Convertit un nombre entre des bases arbitraires
  • printf() - Affiche une chaîne de caractères formatée, en utilisant %b, %032b ou %064b comme format
  • sprintf(), en utilisant %b, %032b ou %064b comme format

cosh
dechex
Fonctions Math


Convertit de décimal en hexadécimal

decbin
decoct
Fonctions Math
PHP Manual

dechex

(PHP 4, PHP 5)

dechex — Convertit de décimal en hexadécimal

Description

string dechex ( int $number )

Retourne une chaîne contenant la représentation hexadécimale du nombre number. Le nombre le plus grand qui puisse être converti est 4294967295 en décimal, ce qui donnera "ffffffff".

Liste de paramètres

number

Valeur décimale à convertir

Valeurs de retour

Une représentation hexadécimale de number.

Exemples

Exemple #1 Exemple avec dechex()

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

L'exemple ci-dessus va afficher :

a
2f

Voir aussi

  • hexdec() - Convertit de hexadécimal en décimal
  • decbin() - Convertit de décimal en binaire
  • decoct() - Convertit de décimal en octal
  • base_convert() - Convertit un nombre entre des bases arbitraires

decbin
decoct
Fonctions Math


Convertit de décimal en octal

dechex
deg2rad
Fonctions Math
PHP Manual

decoct

(PHP 4, PHP 5)

decoct — Convertit de décimal en octal

Description

string decoct ( int $number )

Retourne une chaîne contenant la représentation octale du nombre donné number. Le nombre le plus grand qui puisse être converti est 4294967295 en décimal, ce qui donnera "37777777777".

Liste de paramètres

number

Valeur décimale à convertir

Valeurs de retour

Une représentation octale de number.

Exemples

Exemple #1 Exemple avec decoct()

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

L'exemple ci-dessus va afficher :

17
410

Voir aussi

  • octdec() - Conversion d'octal en décimal
  • decbin() - Convertit de décimal en binaire
  • dechex() - Convertit de décimal en hexadécimal
  • base_convert() - Convertit un nombre entre des bases arbitraires

dechex
deg2rad
Fonctions Math


Convertit un nombre de degrés en radians

decoct
exp
Fonctions Math
PHP Manual

deg2rad

(PHP 4, PHP 5)

deg2rad — Convertit un nombre de degrés en radians

Description

float deg2rad ( float $number )

deg2rad() convertit number de degrés en radians.

Liste de paramètres

number

L'angle, en degrés

Valeurs de retour

L'équivalent, en radian, de number.

Exemples

Exemple #1 Exemple avec deg2rad()

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Voir aussi

  • rad2deg() - Conversion de radians en degrés

decoct
exp
Fonctions Math


Calcul l'exponentielle de e

deg2rad
expm1
Fonctions Math
PHP Manual

exp

(PHP 4, PHP 5)

exp — Calcul l'exponentielle de e

Description

float exp ( float $arg )

Retourne e, à la puissance arg.

Note: 'e' est le logarithme naturel, ou approximativement 2.718282.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

'e', à la puissance arg.

Exemples

Exemple #1 Exemple avec exp()

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

L'exemple ci-dessus va afficher :

1.6275E+005
298.87

Voir aussi

  • log() - Logarithme naturel (népérien)
  • pow() - Expression exponentielle

deg2rad
expm1
Fonctions Math


Calcule précisément exponentiel moins un

exp
floor
Fonctions Math
PHP Manual

expm1

(PHP 4 >= 4.1.0, PHP 5)

expm1 — Calcule précisément exponentiel moins un

Description

float expm1 ( float $arg )

expm1() retourne l'équivalent de exp(arg) - 1 calculé de telle sorte qu'il sera précis, même si la valeur de l'argument arg est proche de 0, un cas où l'expression "exp (arg) - 1" n'est pas précis, du fait de la soustraction de deux nombres quasi-égaux.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

'e' à la puissance arg, moins un.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur toutes les plate-formes

Voir aussi

  • log1p() - Calcule précisément log(1 + nombre)
  • exp() - Calcul l'exponentielle de e

exp
floor
Fonctions Math


Arrondit à l'entier inférieur

expm1
fmod
Fonctions Math
PHP Manual

floor

(PHP 4, PHP 5)

floor — Arrondit à l'entier inférieur

Description

float floor ( float $value )

Retourne l'entier inférieur du nombre value.

Liste de paramètres

value

La valeur numérique à arrondir

Valeurs de retour

floor() retourne l'entier inférieur du nombre value. La valeur retournée est un nombre à virgule flottante, ( float ) car ces nombres peuvent être plus grands que les entiers.

Exemples

Exemple #1 Exemple avec floor()

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Voir aussi

  • ceil() - Arrondit au nombre supérieur
  • round() - Arrondi un nombre à virgule flottante

expm1
fmod
Fonctions Math


Retourne le reste de la division

floor
getrandmax
Fonctions Math
PHP Manual

fmod

(PHP 4 >= 4.2.0, PHP 5)

fmod — Retourne le reste de la division

Description

float fmod ( float $x , float $y )

Retourne le reste de la division de x par y. Ce reste est un nombre à virgule flottante. Le reste (r) est défini par : x = i * y + r, pour un entier i. Si y n'est pas nul, r a le même signe que x est une taille inférieure à y.

Liste de paramètres

x

Le dividende

y

Le diviseur

Valeurs de retour

Le reste de la division de x par y.

Exemples

Exemple #1 Exemple avec fmod()

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7
?>

floor
getrandmax
Fonctions Math


Plus grande valeur aléatoire possible

fmod
hexdec
Fonctions Math
PHP Manual

getrandmax

(PHP 4, PHP 5)

getrandmax — Plus grande valeur aléatoire possible

Description

int getrandmax ( void )

Retourne la plus grande valeur aléatoire possible retournée par rand().

Valeurs de retour

La plus grande valeur aléatoire possible retournée par rand().

Voir aussi

  • rand() - Génère une valeur aléatoire
  • srand() - Initialise le générateur de nombres aléatoires
  • mt_getrandmax() - La plus grande valeur aléatoire possible

fmod
hexdec
Fonctions Math


Convertit de hexadécimal en décimal

getrandmax
hypot
Fonctions Math
PHP Manual

hexdec

(PHP 4, PHP 5)

hexdec — Convertit de hexadécimal en décimal

Description

number hexdec ( string $hex_string )

Retourne une chaîne contenant la représentation décimale du nombre hex_string.

hexdec() ignorera tout caractère non-hexadécimal qu'elle rencontrera.

Liste de paramètres

hex_string

La chaîne hexadécimale à convertir

Valeurs de retour

La représentation décimale de hex_string

Historique

Version | Description
Depuis la version 4.1.0 | Cette fonction peut également convertir de très grands nombres. Elle retourne un nombre de type float dans ce cas.

Exemples

Exemple #1 Exemple avec hexdec()

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// both print "int(238)"

var_dump(hexdec("that")); // affiche "int(10)"
var_dump(hexdec("a0")); // affiche "int(160)"
?>

Voir aussi

  • dechex() - Convertit de décimal en hexadécimal
  • bindec() - Convertit de binaire en décimal
  • octdec() - Conversion d'octal en décimal
  • base_convert() - Convertit un nombre entre des bases arbitraires

getrandmax
hypot
Fonctions Math


Calcul la longueur de l'hypoténuse d'un triangle à angle droit

hexdec
is_finite
Fonctions Math
PHP Manual

hypot

(PHP 4 >= 4.1.0, PHP 5)

hypot — Calcul la longueur de l'hypoténuse d'un triangle à angle droit

Description

float hypot ( float $x , float $y )

hypot() retourne la longueur de l'hypoténuse d'un triangle à angle droit qui a des cotés d'une longueur x et y ou bien la distance du point (x, y) depuis l'origine. Ceci est l'équivalent de sqrt(x*x + y*y).

Liste de paramètres

x

Longueur du premier côté

y

Longueur du second côté

Valeurs de retour

La longueur calculée de l'hypoténuse

hexdec
is_finite
Fonctions Math


Indique si un nombre est fini

hypot
is_infinite
Fonctions Math
PHP Manual

is_finite

(PHP 4 >= 4.2.0, PHP 5)

is_finite — Indique si un nombre est fini

Description

bool is_finite ( float $val )

Vérifie si val est une valeur légale finie sur la plate-forme.

Liste de paramètres

val

La valeur à vérifier

Valeurs de retour

TRUE si val est une valeur finie, c'est à dire une valeur qui peut être représentée par un nombre à virgule flottante PHP sur cette plate-forme, sinon, FALSE.

Voir aussi

  • is_infinite() - Indique si un nombre est infini
  • is_nan() - Indique si une valeur n'est pas un nombre

hypot
is_infinite
Fonctions Math


Indique si un nombre est infini

is_finite
is_nan
Fonctions Math
PHP Manual

is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infinite — Indique si un nombre est infini

Description

bool is_infinite ( float $val )

Retourne TRUE si val est infini (positif ou négatif), comme le résultat de log(0) ou une valeur qui est trop grande pour être représenté par un nombre à virgule flottante sur cette plate-forme.

Liste de paramètres

val

La valeur à vérifier

Valeurs de retour

TRUE si val est une valeur infinie, sinon, FALSE.

Voir aussi

  • is_finite() - Indique si un nombre est fini
  • is_nan() - Indique si une valeur n'est pas un nombre

is_finite
is_nan
Fonctions Math


Indique si une valeur n'est pas un nombre

is_infinite
lcg_value
Fonctions Math
PHP Manual

is_nan

(PHP 4 >= 4.2.0, PHP 5)

is_nan — Indique si une valeur n'est pas un nombre

Description

bool is_nan ( float $val )

Vérifie si val est 'not a number' (pas un nombre), comme le résultat de acos(1.01).

Liste de paramètres

val

La valeur à vérifier

Valeurs de retour

Retourne TRUE si val est 'not a number' (pas un nombre), sinon, FALSE.

Exemples

Exemple #1 Exemple avec is_nan()

<?php
// Calcul invalide, doit retourner une
// valeur NaN
$nan = acos(8);

var_dump($nan, is_nan($nan));
?>

L'exemple ci-dessus va afficher :

float(NAN)
bool(true)

Voir aussi

  • is_finite() - Indique si un nombre est fini
  • is_infinite() - Indique si un nombre est infini

is_infinite
lcg_value
Fonctions Math


Générateur de congruence combinée linéaire

is_nan
log10
Fonctions Math
PHP Manual

lcg_value

(PHP 4, PHP 5)

lcg_value — Générateur de congruence combinée linéaire

Description

float lcg_value ( void )

lcg_value() retourne un nombre pseudoaléatoire, compris entre 0 et 1. lcg_value() combine deux générateurs de congruence, de périodes respectives 2^31 - 85 et 2^31 - 249. La période de cette fonction est le produit de ces deux nombres premiers (soit (2^31 - 85)*(2^31 - 249)).

Valeurs de retour

Une valeur pseudoaléatoire, dans l'intervalle de 0 à 1.

Voir aussi

  • rand() - Génère une valeur aléatoire
  • mt_rand() - Génère une meilleure valeur aléatoire

is_nan
log10
Fonctions Math


Logarithme en base 10

lcg_value
log1p
Fonctions Math
PHP Manual

log10

(PHP 4, PHP 5)

log10 — Logarithme en base 10

Description

float log10 ( float $arg )

Retourne le logarithme en base 10 de arg.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

Le logarithme en base 10 de arg.

Voir aussi

  • log() - Logarithme naturel (népérien)

lcg_value
log1p
Fonctions Math


Calcule précisément log(1 + nombre)

log10
log
Fonctions Math
PHP Manual

log1p

(PHP 4 >= 4.1.0, PHP 5)

log1p — Calcule précisément log(1 + nombre)

Description

float log1p ( float $number )

log1p() retourne log(1 + number) calculé de telle sorte qu'il sera précis même si la valeur de number est proche de 0. log() ne peut retourner que log(1) dans ce cas par manque de précision.

Liste de paramètres

number

L'argument à traiter

Valeurs de retour

log(1 + number)

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur toutes les plate-formes

Voir aussi

  • expm1() - Calcule précisément exponentiel moins un
  • log() - Logarithme naturel (népérien)
  • log10() - Logarithme en base 10

log10
log
Fonctions Math


Logarithme naturel (népérien)

log1p
max
Fonctions Math
PHP Manual

log

(PHP 4, PHP 5)

log — Logarithme naturel (népérien)

Description

float log ( float $arg [, float $base = M_E ] )

Si le paramètre optionnel base est spécifié, log() retourne alors le logarithme en base base, sinon log() retourne le logarithme naturel (ou népérien) de arg.

Liste de paramètres

arg

La valeur pour laquelle on calcule le logarithme

base

La base logarithmique optionnelle à utiliser (par défaut, 'e' et donc, le logarithme naturel).

Valeurs de retour

Le logarithme de arg en base base, si fourni, ou le logarithme naturel.

Historique

Version | Description
Depuis la version 4.3.0 | Le paramètre optionnel base est devenu disponible. Pour les anciennes versions, vous pouvez calculer le logarithme en base b du nombre n, mais en utilisant l'identité mathématique : logb(n) = log(n)/log(b), où log est le logarithme népérien (ou naturel).

Voir aussi

  • log10() - Logarithme en base 10
  • exp() - Calcul l'exponentielle de e
  • pow() - Expression exponentielle

log1p
max
Fonctions Math


La plus grande valeur

log
min
Fonctions Math
PHP Manual

max

(PHP 4, PHP 5)

max — La plus grande valeur

Description

mixed max ( array $values )
mixed max ( mixed $value1 , mixed $value2 [, mixed $value3... ] )

Si le premier et unique paramètre est un tableau, max() retourne la valeur la plus haute du tableau. Si au moins deux paramètres sont fournis, max() retourne la plus grosse de ces valeurs.

Note: PHP évaluera une chaîne de caractères non-numérique en tant que 0, mais continuera de retourner une chaîne de caractères s'il s'aperçoit qu'elle a une valeur numérique supérieure. Si de multiples arguments sont évalués à 0, max() retournera un 0 numérique s'il est fourni, sinon, la chaîne de caractères alphabétiquement supérieure sera retournée.

Liste de paramètres

values

Un tableau contenant les valeurs.

Valeurs de retour

max() retourne la plus grande des valeurs. Si plusieurs valeurs sont évaluées comme ayant la même taille, la première de la liste sera retournée.

Lorsque max() reçoit plusieurs tableaux, le tableau contenant le plus grand nombre d'éléments sera retourné. Si tous les tableaux sont de tailles identiques, la fonction max() utilisera l'ordre lexicographique pour trouver la valeur à retourner.

Lorsque des chaînes de caractères sont fournies, elles seront converties en entier afin d'être comparées.

Exemples

Exemple #1 Exemple avec max()

<?php
echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

// Lorsque 'hello' est converti en entier, il vaudra 0. Ainsi, les 2 paramètres
// seront égaux. La valeur retournée dépendra donc de l'ordre des paramètres
echo max(0, 'hello');     // 0
echo max('hello', 0);     // hello

echo max('42', 3); // '42'

// Ici, 0 > -1, donc 'hello' sera la valeur retourné.
echo max(-1, 'hello');    // hello

// Avec plusieurs tableaux de tailles différentes, max retourne
// le plus long
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// Avec plusieurs tableaux de mêmes tailles, max les compare de la gauche vers la droite
// en utilisant l'ordre lexicographique. Aussi, dans notre exemple : 2 == 2, mais 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)

// Si un tableau et une valeur autre qu'un tableau sont fournis en même temps,
// le tableau sera toujours retourné, vu qu'il sera toujours considéré
// comme étant le plus grand
$val = max('string', array(2, 5, 7), 42);   // array(2, 5, 7)
?>

Voir aussi

  • min() - La plus petite valeur
  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet

log
min
Fonctions Math


La plus petite valeur

max
mt_getrandmax
Fonctions Math
PHP Manual

min

(PHP 4, PHP 5)

min — La plus petite valeur

Description

mixed min ( array $values )
mixed min ( mixed $value1 , mixed $value2 [, mixed $value3... ] )

Si le premier et le seul paramètre est un tableau, min() retournera la plus petite valeur contenue dans le tableau. Si le premier paramètre est un entier, une chaîne ou un nombre décimal, vous devez fournir au moins deux paramètres et min() retournera la plus petite de ces valeurs.

Note: PHP évaluera une chaîne de caractères non-numérique en tant que 0, mais continuera de retourner une chaîne de caractères s'il s'aperçoit qu'elle a une valeur numérique supérieure. Si de multiples arguments sont évalués à 0, max() retournera un 0 numérique s'il est fourni, sinon, la chaîne de caractères alphabétiquement supérieure sera retournée.

Liste de paramètres

values

Un tableau contenant les valeurs.

Valeurs de retour

Retourne la plus petite valeur numérique parmi les valeurs passées en paramètres.

Exemples

Exemple #1 Exemple avec min()

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

echo min(0, 'hello');     // 0
echo min('hello', 0);     // hello
echo min('hello', -1);    // -1

// Avec plusieurs tableaux, min() fait les comparaisons de gauche à droite
// dans notre exemple : 2 == 2, mais 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// Si un mélange de tableau et de scalaires sont fournis,
// le tableau n'est jamais retourné, car il est considéré comme le plus grand
$val = min('string', array(2, 5, 7), 42);   // string
?>

Voir aussi

  • max() - La plus grande valeur
  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet

max
mt_getrandmax
Fonctions Math


La plus grande valeur aléatoire possible

min
mt_rand
Fonctions Math
PHP Manual

mt_getrandmax

(PHP 4, PHP 5)

mt_getrandmax — La plus grande valeur aléatoire possible

Description

int mt_getrandmax ( void )

Retourne la plus grande valeur aléatoire possible que peut retourner la fonction mt_rand().

Valeurs de retour

Retourne la plus grande valeur aléatoire possible retournée par la fonction mt_rand()

Voir aussi

  • mt_rand() - Génère une meilleure valeur aléatoire
  • mt_srand() - Initialise une meilleure valeur aléatoire
  • getrandmax() - Plus grande valeur aléatoire possible

min
mt_rand
Fonctions Math


Génère une meilleure valeur aléatoire

mt_getrandmax
mt_srand
Fonctions Math
PHP Manual

mt_rand

(PHP 4, PHP 5)

mt_rand — Génère une meilleure valeur aléatoire

Description

int mt_rand ( void )
int mt_rand ( int $min , int $max )

De nombreux générateurs de nombres aléatoires provenant de vieilles bibliothèques libcs ont des comportements douteux et sont très lents. Par défaut, PHP utilise le générateur de nombres aléatoires de libc avec la fonction rand(). mt_rand() est une fonction de remplacement, pour cette dernière. Elle utilise un générateur de nombres aléatoire de caractéristique connue, le " » Mersenne Twister " qui est 4 fois plus rapide que la fonction standard libc.

Appelée sans les arguments optionnels min et max, mt_rand() retourne un nombre pseudoaléatoire, entre 0 et mt_getrandmax(). Pour obtenir un nombre entre 5 et 15 inclus, il faut utiliser mt_rand(5,15).

Liste de paramètres

min

Valeur la plus basse qui peut être retournée (par défaut : 0)

max

Valeur la plus haute qui peut être retournée (par défaut : mt_getrandmax()).

Valeurs de retour

Un entier aléatoire compris entre min (ou 0) et max (ou mt_getrandmax(), inclusif).

Historique

Version | Description
4.2.0 | Le générateur de nombres aléatoires est initialisé automatiquement.

Exemples

Exemple #1 Exemple avec mt_rand()

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1604716014
1478613278
6

Voir aussi

  • mt_srand() - Initialise une meilleure valeur aléatoire
  • mt_getrandmax() - La plus grande valeur aléatoire possible
  • rand() - Génère une valeur aléatoire

mt_getrandmax
mt_srand
Fonctions Math


Initialise une meilleure valeur aléatoire

mt_rand
octdec
Fonctions Math
PHP Manual

mt_srand

(PHP 4, PHP 5)

mt_srand — Initialise une meilleure valeur aléatoire

Description

void mt_srand ([ int $seed ] )

mt_srand() initialise le générateur de valeurs aléatoires avec seed ou avec une valeur aléatoire si aucun paramètre seed n'est fourni.

Note: Depuis PHP 4.2.0, vous n'avez plus besoin d'initialiser le générateur de nombres aléatoires avec srand() ou mt_srand() car c'est fait automatiquement.

Liste de paramètres

seed

Une valeur d'initialisation aléatoire

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
Depuis la version 4.2.0 | Le paramètre seed est devenu optionnel et, par défaut, vaut une valeur aléatoire.
Depuis la version 5.2.1 | L'implémentation Mersenne Twister en PHP utilise maintenant un nouvel algorithme d'initialisation, réalisé par Richard Wagner. Des initialisations identiques ne produisent plus la même séquence de valeurs, comme cela pouvait être le cas dans les versions antérieures. Ce comportement ne devrait plus changer.

Exemples

Exemple #1 Exemple avec mt_srand()

<?php
// initialisation avec des microsecondes
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

Voir aussi

  • mt_rand() - Génère une meilleure valeur aléatoire
  • mt_getrandmax() - La plus grande valeur aléatoire possible
  • srand() - Initialise le générateur de nombres aléatoires

mt_rand
octdec
Fonctions Math


Conversion d'octal en décimal

mt_srand
pi
Fonctions Math
PHP Manual

octdec

(PHP 4, PHP 5)

octdec — Conversion d'octal en décimal

Description

number octdec ( string $octal_string )

Retourne une chaîne contenant la représentation décimale du nombre octal_tring.

Liste de paramètres

octal_string

La chaîne de caractères octale à convertir

Valeurs de retour

La représentation décimale de octal_string

Historique

Version | Description
Depuis la version 4.1.0 | Cette fonction peut également convertir de très grands nombres. Elle retourne un nombre de type float dans ce cas.

Exemples

Exemple #1 Exemple avec octdec()

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

L'exemple ci-dessus va afficher :

63
45

Voir aussi

  • decoct() - Convertit de décimal en octal
  • bindec() - Convertit de binaire en décimal
  • hexdec() - Convertit de hexadécimal en décimal
  • base_convert() - Convertit un nombre entre des bases arbitraires

mt_srand
pi
Fonctions Math


Retourne la valeur de pi

octdec
pow
Fonctions Math
PHP Manual

pi

(PHP 4, PHP 5)

pi — Retourne la valeur de pi

Description

float pi ( void )

Retourne la valeur de pi. La valeur retournée est de type float , et est à la précision indiquée par la directive precision, indiquée dans le fichier php.ini, qui vaut par défaut 14. De plus, vous pouvez utiliser la constante M_PI, qui retourne un résultat identique à la fonction pi().

Valeurs de retour

La valeur de pi, sous la forme d'un nombre décimal.

Exemples

Exemple #1 Exemple avec pi()

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

octdec
pow
Fonctions Math


Expression exponentielle

pi
rad2deg
Fonctions Math
PHP Manual

pow

(PHP 4, PHP 5)

pow — Expression exponentielle

Description

number pow ( number $base , number $exp )

Retourne base élevé à la puissance exp.

Avertissement

En PHP 4.0.6 et plus ancien, pow() retournait toujours un nombre à virgule flottante ( float ), et n'affichait pas d'alerte.

Liste de paramètres

base

La base à utiliser

exp

L'exponentielle

Valeurs de retour

base élevé à la puissance exp. Si le résultat peut être représenté sous la forme d'un entier, il sera retourné sous la forme d'un entier, sinon, il sera retourné sous la forme d'un nombre décimal. Si la puissance ne peut être calculée, FALSE sera retourné.

Historique

Version | Description
Depuis la version 4.0.6 | La fonction retourne désormais un entier si possible ; avant cette version, cette fonction retournait toujours un nombre décimal. Pour les anciennes versions, vous pouviez obtenir un résultat erroné pour les nombres complexes.
Depuis la version 4.2.0 | PHP arrête d'émettre une alerte si la valeur ne peut pas être calculée. Il retourne maintenant uniquement FALSE.

Exemples

Exemple #1 Exemple avec pow()

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1

echo pow(-1, 5.5); // PHP >4.0.6  NAN
echo pow(-1, 5.5); // PHP <=4.0.6 1.#IND
?>

Voir aussi

  • exp() - Calcul l'exponentielle de e
  • sqrt() - Racine carrée
  • bcpow() - Élève un nombre une puissance donnée
  • gmp_pow() - Puissance

pi
rad2deg
Fonctions Math


Conversion de radians en degrés

pow
rand
Fonctions Math
PHP Manual

rad2deg

(PHP 4, PHP 5)

rad2deg — Conversion de radians en degrés

Description

float rad2deg ( float $number )

Convertit number (supposé en radians) en degrés.

Liste de paramètres

number

Une valeur, en radians

Valeurs de retour

L'équivalent de number, en degrés.

Exemples

Exemple #1 Exemple avec rad2deg()

<?php

echo rad2deg(M_PI_4); // 45

?>

Voir aussi

  • deg2rad() - Convertit un nombre de degrés en radians

pow
rand
Fonctions Math


Génère une valeur aléatoire

rad2deg
round
Fonctions Math
PHP Manual

rand

(PHP 4, PHP 5)

rand — Génère une valeur aléatoire

Description

int rand ( void )
int rand ( int $min , int $max )

Appelée sans les options min et max, rand() retourne un nombre pseudoaléatoire entre 0 et getrandmax(). Si vous voulez un nombre aléatoire entre 5 et 15 (inclus), par exemple, utilisez rand (5, 15).

Note: Sur quelques plates-formes (par exemple, Windows), mt_getrandmax()est limité à 32768. Si vous désirez une limite supérieure à 32768, en spécifiant min et max, vous serez autorisés à utiliser un intervalle plus grand que mt_getrandmax(), ou bien, utilisez la fonction mt_rand() à la place.

Liste de paramètres

min

La plus petite valeur à retourner (par défaut, 0)

max

La plus grande valeur à retourner (par défaut, mt_getrandmax())

Valeurs de retour

Une valeur pseudoaléatoire, comprise entre min (ou 0) et max (ou mt_getrandmax(), inclusif).

Historique

Version | Description
4.2.0 | Le générateur de nombres aléatoires est initialisé automatiquement.

Exemples

Exemple #1 Exemple avec rand()

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

7771
22264
11

Voir aussi

  • srand() - Initialise le générateur de nombres aléatoires
  • getrandmax() - Plus grande valeur aléatoire possible
  • mt_rand() - Génère une meilleure valeur aléatoire

rad2deg
round
Fonctions Math


Arrondi un nombre à virgule flottante

rand
sin
Fonctions Math
PHP Manual

round

(PHP 4, PHP 5)

round — Arrondi un nombre à virgule flottante

Description

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Retourne la valeur arrondie de val à la précision precision (nombre de chiffres après la virgule). Le paramètre precision peut être négatif ou NULL : c'est sa valeur par défaut.

Note: PHP ne gère pas correctement les chaînes telles que "12 300,2", par défaut. Reportez-vous à la conversion de chaînes.

Liste de paramètres

val

La valeur à arrondir

precision

Le nombre optionnel de décimales à arrondir.

mode

Une constante parmi PHP_ROUND_HALF_UP, PHP_ROUND_HALF_DOWN, PHP_ROUND_HALF_EVEN, ou PHP_ROUND_HALF_ODD.

Valeurs de retour

La valeur arrondie

Exemples

Exemple #1 Exemple avec round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

Exemple #2 Exemple avec mode()

<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
?>

Historique

Version | Description
5.3.0 | Le paramètre mode a été ajouté.
5.2.7 | Le fonctionnement interne de round() a été modifié afin d'être conforme au standard C99.

Voir aussi

  • ceil() - Arrondit au nombre supérieur
  • floor() - Arrondit à l'entier inférieur
  • number_format() - Formate un nombre pour l'affichage

rand
sin
Fonctions Math


Sinus

round
sinh
Fonctions Math
PHP Manual

sin

(PHP 4, PHP 5)

sin — Sinus

Description

float sin ( float $arg )

sin() retourne le sinus de arg (arg in radians).

Liste de paramètres

arg

Une valeur, en radians

Valeurs de retour

Le sinus de arg.

Exemples

Exemple #1 Exemple avec sin()

<?php

// La précision dépend de la directive precision
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Voir aussi

  • asin() - Arc sinus
  • sinh() - Sinus hyperbolique
  • cos() - Cosinus
  • tan() - Tangente
  • deg2rad() - Convertit un nombre de degrés en radians

round
sinh
Fonctions Math


Sinus hyperbolique

sin
sqrt
Fonctions Math
PHP Manual

sinh

(PHP 4 >= 4.1.0, PHP 5)

sinh — Sinus hyperbolique

Description

float sinh ( float $arg )

Retourne le sinus hyperbolique de arg, défini comme (exp(arg) - exp(-arg))/2.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

Le sinus hyperbolique de arg.

Voir aussi

  • sin() - Sinus
  • asinh() - Arc sinus hyperbolique
  • cosh() - Cosinus hyperbolique
  • tanh() - Tangente hyperbolique

sin
sqrt
Fonctions Math


Racine carrée

sinh
srand
Fonctions Math
PHP Manual

sqrt

(PHP 4, PHP 5)

sqrt — Racine carrée

Description

float sqrt ( float $arg )

Retourne la racine carrée de arg.

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

La racine carrée de arg ou la valeur spéciale NAN pour les nombres négatifs.

Exemples

Exemple #1 Exemple avec sqrt()

<?php
// La précision dépend de votre directive precision
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Voir aussi

  • pow() - Expression exponentielle

sinh
srand
Fonctions Math


Initialise le générateur de nombres aléatoires

sqrt
tan
Fonctions Math
PHP Manual

srand

(PHP 4, PHP 5)

srand — Initialise le générateur de nombres aléatoires

Description

void srand ([ int $seed ] )

srand() initialise le générateur de nombres aléatoires avec seed, ou avec une valeur aléatoire si aucun paramètre seed n'est fourni.

Note: Depuis PHP 4.2.0, vous n'avez plus besoin d'initialiser le générateur de nombres aléatoires avec srand() ou mt_srand() car c'est fait automatiquement.

Liste de paramètres

seed

Valeur d'initialisation, optionnelle

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
Depuis la version 4.2.0 | Le paramètre seed est devenu optionnel et vaut, par défaut, une valeur aléatoire si omis.

Exemples

Exemple #1 Exemple avec srand()

<?php
// initialise avec les microsecondes
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$randval = rand();
?>

Voir aussi

  • rand() - Génère une valeur aléatoire
  • getrandmax() - Plus grande valeur aléatoire possible
  • mt_srand() - Initialise une meilleure valeur aléatoire

sqrt
tan
Fonctions Math


Tangente

srand
tanh
Fonctions Math
PHP Manual

tan

(PHP 4, PHP 5)

tan — Tangente

Description

float tan ( float $arg )

Retourne la tangente de arg (arg en radians).

Liste de paramètres

arg

L'argument à traiter, en radians

Valeurs de retour

La tangente de arg

Exemples

Exemple #1 Exemple avec tan()

<?php

echo tan(M_PI_4); // 1

?>

Voir aussi

  • atan() - Arc tangente
  • atan2() - Arc tangent de deux variables
  • sin() - Sinus
  • cos() - Cosinus
  • tanh() - Tangente hyperbolique
  • deg2rad() - Convertit un nombre de degrés en radians

srand
tanh
Fonctions Math


Tangente hyperbolique

tan
Fonctions statistiques
Fonctions Math
PHP Manual

tanh

(PHP 4 >= 4.1.0, PHP 5)

tanh — Tangente hyperbolique

Description

float tanh ( float $arg )

Retourne la tangente hyperbolique de arg, définie comme sinh(arg)/cosh(arg).

Liste de paramètres

arg

L'argument à traiter

Valeurs de retour

La tangente hyperbolique de arg.

Voir aussi

  • tan() - Tangente
  • atanh() - Arc tangente hyperbolique
  • sinh() - Sinus hyperbolique
  • cosh() - Cosinus hyperbolique

tan
Fonctions statistiques
Fonctions Math


Fonctions statistiques

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur les statistiques
    • stats_absolute_deviation — Retourne l'écart absolu d'un tableau de valeurs
    • stats_cdf_beta — Fonction CDF pour Distribution BETA. Calcule n'importe quel paramètre de distribution beta des valeurs données pour les autres
    • stats_cdf_binomial — Calcule n'importe quel paramètre de distribution binomiale des valeurs données pour les autres
    • stats_cdf_cauchy — Non documenté
    • stats_cdf_chisquare — Calcule n'importe quel paramètre de distribution Khi-carré des valeurs données pour les autres
    • stats_cdf_exponential — Non documenté
    • stats_cdf_f — Calcule n'importe quel paramètre de distribution F des valeurs données pour les autres
    • stats_cdf_gamma — Calcule n'importe quel paramètre de distribution gamma des valeurs données pour les autres
    • stats_cdf_laplace — Non documenté
    • stats_cdf_logistic — Non documenté
    • stats_cdf_negative_binomial — Calcule n'importe quel paramètre de distribution binomiale négative des valeurs données pour les autres
    • stats_cdf_noncentral_chisquare — Calcule n'importe quel paramètre de distribution non centrale Khi-carré des valeurs données pour les autres
    • stats_cdf_noncentral_f — Calcule n'importe quel paramètre de distribution non centrale F des valeurs données pour les autres
    • stats_cdf_poisson — Calcule n'importe quel paramètre de distribution de Poisson des valeurs données pour les autres
    • stats_cdf_t — Calcule n'importe quel paramètre de distribution T des valeurs données pour les autres
    • stats_cdf_uniform — Non documenté
    • stats_cdf_weibull — Non documenté
    • stats_covariance — Calcule la covariance de deux séries de données
    • stats_den_uniform — Non documenté
    • stats_dens_beta — Non documenté
    • stats_dens_cauchy — Non documenté
    • stats_dens_chisquare — Non documenté
    • stats_dens_exponential — Non documenté
    • stats_dens_f — Description
    • stats_dens_gamma — Non documenté
    • stats_dens_laplace — Non documenté
    • stats_dens_logistic — Non documenté
    • stats_dens_negative_binomial — Non documenté
    • stats_dens_normal — Non documenté
    • stats_dens_pmf_binomial — Non documenté
    • stats_dens_pmf_hypergeometric — Description
    • stats_dens_pmf_poisson — Non documenté
    • stats_dens_t — Non documenté
    • stats_dens_weibull — Non documenté
    • stats_harmonic_mean — Retourne la moyenne harmonique d'un tableau de valeurs
    • stats_kurtosis — Calcule le coefficient d'aplatissement des données dans un tableau
    • stats_rand_gen_beta — Génère l'écart beta aléatoire
    • stats_rand_gen_chisquare — Génère l'écart aléatoire de la distribution Khi-carré avec "df" de degré de liberté de variables aléatoire
    • stats_rand_gen_exponential — Génère un écart aléatoire simple à partir d'une distribution exponentielle avec moyenne "av"
    • stats_rand_gen_f — Génère un écart aléatoire
    • stats_rand_gen_funiform — Génère une valeur décimale uniforme entre les basse (exclusif) et autre (exclusif)
    • stats_rand_gen_gamma — Génère un écart aléatoire d'une distribution gamma
    • stats_rand_gen_ibinomial_negative — Génère un écart aléatoire simple de la distribution négative binomiale. Arguments : n - le nombre d'essai dans la distribution négative binomiale dans lequel l'écart aléatoire sera généré (n > 0), p - la probabilité d'un évènement (0 < p < 1))
    • stats_rand_gen_ibinomial — Génère un écart aléatoire simple d'une distribution binomiale à qui le nombre d'essaie est "n" (n >= 0) et à qui la probabilité d'un évènement de chaque essai est "pp" ([0;1]). Méthode : algorithme BTPE
    • stats_rand_gen_int — Génère un entier aléatoire entre 1 et 2147483562
    • stats_rand_gen_ipoisson — Génère un écart aléatoire simple à partir de la distribution de Poisson avec la moyenne "mu" (mu >= 0.0)
    • stats_rand_gen_iuniform — Génère un entier uniformément distribué entre LOW (inclusif) et HIGH (inclusif)
    • stats_rand_gen_noncenral_chisquare — Génère un écart aléatoire à partir de la distribution non centrale de Khi-carré de "df" degrés de liberté et de paramètre non central "nonc". d doit être >= 1.0, xnonc doit être *gt;= 0.0
    • stats_rand_gen_noncentral_f — Génère l'écart aléatoire à partir de la distribution non centrale de F (ratio variance) avec "dfn" degré de liberté dans le numérateur et "dfd" degré de liberté dans le dénominateur et le paramètre non central "xnonc". Méthode : génère directement le ratio d'une variation Khi-carré non centrale de numérateur à la variation Khi-carré centrale de dénominateur
    • stats_rand_gen_noncentral_t — Génère l'écart aléatoire simple à partir d'une distribution T non centrale
    • stats_rand_gen_normal — Génère un écart aléatoire simple à partir d'une distribution normale avec la moyenne, av, et écart type sd (sd >= 0). Méthode : Renomme SNORM de TOMS légèrement modifié par BWB pour utiliser RANF au lieu de SUNIF
    • stats_rand_gen_t — Génère un écart aléatoire simple à partir de la distribution T
    • stats_rand_get_seeds — Non documenté
    • stats_rand_phrase_to_seeds — Génère deux graines pour le générateur de nombre aléatoire RGN
    • stats_rand_ranf — Retourne un nombre à valeur décimale aléatoire à partir d'une distribution uniforme de 0 - 1 (les points finaux de cet intervalle ne sont pas retourné) en utilisant le générateur courant
    • stats_rand_setall — Non documenté
    • stats_skew — Calcul l'asymétrie des données dans un tableau
    • stats_standard_deviation — Retourne l'écart type
    • stats_stat_binomial_coef — Non documenté
    • stats_stat_correlation — Non documenté
    • stats_stat_gennch — Non documenté
    • stats_stat_independent_t — Non documenté
    • stats_stat_innerproduct — Description
    • stats_stat_noncentral_t — Calcule n'importe quel paramètre de distribution non centrale t des valeurs données pour les autres valeurs
    • stats_stat_paired_t — Non documenté
    • stats_stat_percentile — Non documenté
    • stats_stat_powersum — Non documenté
    • stats_variance — Retourne la variance d'une population
tanh
Introduction
Extensions sur les mathématiques


Introduction

Ceci est l'extension statistics. Elle contient quelques douzaines de fonctions pratiques pour des calculs statistiques. Il s'agit d'une enveloppe autour de 2 bibliothèques scientifique, nommée DCDFLIB (Bibliothèque de routines en C pour les Fonctions de Distributions Cumulative, Inverses et Autres paramètres) par B. Brown & J. Lavato et RANDLIB par Barry Brown, James Lavato & Kathy Russel. Inclut les fonctions CD et PD.

Fonctions statistiques
Installation/Configuration
Fonctions statistiques


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Fonctions statistiques


Pré-requis

Aucune bibliothèque externe n'est nécessaire. L'extension vient intégrée avec les bibliothèques utilisées.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/stats.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions sur les statistiques
Fonctions statistiques


Fonctions sur les statistiques

Sommaire

  • stats_absolute_deviation — Retourne l'écart absolu d'un tableau de valeurs
  • stats_cdf_beta — Fonction CDF pour Distribution BETA. Calcule n'importe quel paramètre de distribution beta des valeurs données pour les autres
  • stats_cdf_binomial — Calcule n'importe quel paramètre de distribution binomiale des valeurs données pour les autres
  • stats_cdf_cauchy — Non documenté
  • stats_cdf_chisquare — Calcule n'importe quel paramètre de distribution Khi-carré des valeurs données pour les autres
  • stats_cdf_exponential — Non documenté
  • stats_cdf_f — Calcule n'importe quel paramètre de distribution F des valeurs données pour les autres
  • stats_cdf_gamma — Calcule n'importe quel paramètre de distribution gamma des valeurs données pour les autres
  • stats_cdf_laplace — Non documenté
  • stats_cdf_logistic — Non documenté
  • stats_cdf_negative_binomial — Calcule n'importe quel paramètre de distribution binomiale négative des valeurs données pour les autres
  • stats_cdf_noncentral_chisquare — Calcule n'importe quel paramètre de distribution non centrale Khi-carré des valeurs données pour les autres
  • stats_cdf_noncentral_f — Calcule n'importe quel paramètre de distribution non centrale F des valeurs données pour les autres
  • stats_cdf_poisson — Calcule n'importe quel paramètre de distribution de Poisson des valeurs données pour les autres
  • stats_cdf_t — Calcule n'importe quel paramètre de distribution T des valeurs données pour les autres
  • stats_cdf_uniform — Non documenté
  • stats_cdf_weibull — Non documenté
  • stats_covariance — Calcule la covariance de deux séries de données
  • stats_den_uniform — Non documenté
  • stats_dens_beta — Non documenté
  • stats_dens_cauchy — Non documenté
  • stats_dens_chisquare — Non documenté
  • stats_dens_exponential — Non documenté
  • stats_dens_f — Description
  • stats_dens_gamma — Non documenté
  • stats_dens_laplace — Non documenté
  • stats_dens_logistic — Non documenté
  • stats_dens_negative_binomial — Non documenté
  • stats_dens_normal — Non documenté
  • stats_dens_pmf_binomial — Non documenté
  • stats_dens_pmf_hypergeometric — Description
  • stats_dens_pmf_poisson — Non documenté
  • stats_dens_t — Non documenté
  • stats_dens_weibull — Non documenté
  • stats_harmonic_mean — Retourne la moyenne harmonique d'un tableau de valeurs
  • stats_kurtosis — Calcule le coefficient d'aplatissement des données dans un tableau
  • stats_rand_gen_beta — Génère l'écart beta aléatoire
  • stats_rand_gen_chisquare — Génère l'écart aléatoire de la distribution Khi-carré avec "df" de degré de liberté de variables aléatoire
  • stats_rand_gen_exponential — Génère un écart aléatoire simple à partir d'une distribution exponentielle avec moyenne "av"
  • stats_rand_gen_f — Génère un écart aléatoire
  • stats_rand_gen_funiform — Génère une valeur décimale uniforme entre les basse (exclusif) et autre (exclusif)
  • stats_rand_gen_gamma — Génère un écart aléatoire d'une distribution gamma
  • stats_rand_gen_ibinomial_negative — Génère un écart aléatoire simple de la distribution négative binomiale. Arguments : n - le nombre d'essai dans la distribution négative binomiale dans lequel l'écart aléatoire sera généré (n > 0), p - la probabilité d'un évènement (0 < p < 1))
  • stats_rand_gen_ibinomial — Génère un écart aléatoire simple d'une distribution binomiale à qui le nombre d'essaie est "n" (n >= 0) et à qui la probabilité d'un évènement de chaque essai est "pp" ([0;1]). Méthode : algorithme BTPE
  • stats_rand_gen_int — Génère un entier aléatoire entre 1 et 2147483562
  • stats_rand_gen_ipoisson — Génère un écart aléatoire simple à partir de la distribution de Poisson avec la moyenne "mu" (mu >= 0.0)
  • stats_rand_gen_iuniform — Génère un entier uniformément distribué entre LOW (inclusif) et HIGH (inclusif)
  • stats_rand_gen_noncenral_chisquare — Génère un écart aléatoire à partir de la distribution non centrale de Khi-carré de "df" degrés de liberté et de paramètre non central "nonc". d doit être >= 1.0, xnonc doit être *gt;= 0.0
  • stats_rand_gen_noncentral_f — Génère l'écart aléatoire à partir de la distribution non centrale de F (ratio variance) avec "dfn" degré de liberté dans le numérateur et "dfd" degré de liberté dans le dénominateur et le paramètre non central "xnonc". Méthode : génère directement le ratio d'une variation Khi-carré non centrale de numérateur à la variation Khi-carré centrale de dénominateur
  • stats_rand_gen_noncentral_t — Génère l'écart aléatoire simple à partir d'une distribution T non centrale
  • stats_rand_gen_normal — Génère un écart aléatoire simple à partir d'une distribution normale avec la moyenne, av, et écart type sd (sd >= 0). Méthode : Renomme SNORM de TOMS légèrement modifié par BWB pour utiliser RANF au lieu de SUNIF
  • stats_rand_gen_t — Génère un écart aléatoire simple à partir de la distribution T
  • stats_rand_get_seeds — Non documenté
  • stats_rand_phrase_to_seeds — Génère deux graines pour le générateur de nombre aléatoire RGN
  • stats_rand_ranf — Retourne un nombre à valeur décimale aléatoire à partir d'une distribution uniforme de 0 - 1 (les points finaux de cet intervalle ne sont pas retourné) en utilisant le générateur courant
  • stats_rand_setall — Non documenté
  • stats_skew — Calcul l'asymétrie des données dans un tableau
  • stats_standard_deviation — Retourne l'écart type
  • stats_stat_binomial_coef — Non documenté
  • stats_stat_correlation — Non documenté
  • stats_stat_gennch — Non documenté
  • stats_stat_independent_t — Non documenté
  • stats_stat_innerproduct — Description
  • stats_stat_noncentral_t — Calcule n'importe quel paramètre de distribution non centrale t des valeurs données pour les autres valeurs
  • stats_stat_paired_t — Non documenté
  • stats_stat_percentile — Non documenté
  • stats_stat_powersum — Non documenté
  • stats_variance — Retourne la variance d'une population
Constantes pré-définies
stats_absolute_deviation
Fonctions statistiques


Retourne l'écart absolu d'un tableau de valeurs

Fonctions sur les statistiques
stats_cdf_beta
Fonctions sur les statistiques
PHP Manual

stats_absolute_deviation

(PECL stats >= 1.0.0)

stats_absolute_deviation — Retourne l'écart absolu d'un tableau de valeurs

Description

float stats_absolute_deviation ( array $a )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

Valeurs de retour

Fonctions sur les statistiques
stats_cdf_beta
Fonctions sur les statistiques


Fonction CDF pour Distribution BETA. Calcule n'importe quel paramètre de distribution beta des valeurs données pour les autres

stats_absolute_deviation
stats_cdf_binomial
Fonctions sur les statistiques
PHP Manual

stats_cdf_beta

(PECL stats >= 1.0.0)

stats_cdf_beta — Fonction CDF pour Distribution BETA. Calcule n'importe quel paramètre de distribution beta des valeurs données pour les autres

Description

float stats_cdf_beta ( float $par1 , float $par2 , float $par3 , int $which )

Method

Cumulative distribution function (P) is calculated directly by
code associated with the following reference.

DiDinato, A. R. and Morris, A. H. Algorithm 708: Significant
Digit Computation of the Incomplete Beta Function Ratios. ACM
Trans. Math. Softw. 18 (1993), 360-373.

Computation of other parameters involve a seach for a value that
produces the desired value of P. The search relies on the
monotinicity of P with the other parameter.

Note

The beta density is proportional to
t^(A-1) * (1-t)^(B-1)

Arguments

P -- The integral from 0 to X of the chi-square
distribution.
Input range: [0, 1].

Q -- 1-P.
Input range: [0, 1].
P + Q = 1.0.

X -- Upper limit of integration of beta density.
Input range: [0,1].
Search range: [0,1]

Y -- 1-X.
Input range: [0,1].
Search range: [0,1]
X + Y = 1.0.

A -- The first parameter of the beta density.
Input range: (0, +infinity).
Search range: [1D-100,1D100]

B -- The second parameter of the beta density.
Input range: (0, +infinity).
Search range: [1D-100,1D100]

STATUS -- 0 if calculation completed correctly
-I if input parameter number I is out of range
1 if answer appears to be lower than lowest
search bound
2 if answer appears to be higher than greatest
search bound
3 if P + Q .ne. 1
4 if X + Y .ne. 1

BOUND -- Undefined if STATUS is 0

Bound exceeded by parameter number I if STATUS
is negative.

Lower search bound if STATUS is 1.

Upper search bound if STATUS is 2.

Liste de paramètres

par1

par2

par3

which

Integer indicating which of the next four argument
values is to be calculated from the others.
Legal range: 1..4
which = 1 : Calculate P and Q from X,Y,A and B
which = 2 : Calculate X and Y from P,Q,A and B
which = 3 : Calculate A from P,Q,X,Y and B
which = 4 : Calculate B from P,Q,X,Y and A

Valeurs de retour

STATUS -- 0 if calculation completed correctly
-I if input parameter number I is out of range
1 if answer appears to be lower than lowest
search bound
2 if answer appears to be higher than greatest
search bound
3 if P + Q .ne. 1
4 if X + Y .ne. 1

stats_absolute_deviation
stats_cdf_binomial
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution binomiale des valeurs données pour les autres

stats_cdf_beta
stats_cdf_cauchy
Fonctions sur les statistiques
PHP Manual

stats_cdf_binomial

(PECL stats >= 1.0.0)

stats_cdf_binomial — Calcule n'importe quel paramètre de distribution binomiale des valeurs données pour les autres

Description

float stats_cdf_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_beta
stats_cdf_cauchy
Fonctions sur les statistiques


Non documenté

stats_cdf_binomial
stats_cdf_chisquare
Fonctions sur les statistiques
PHP Manual

stats_cdf_cauchy

(PECL stats >= 1.0.0)

stats_cdf_cauchy — Non documenté

Description

float stats_cdf_cauchy ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_binomial
stats_cdf_chisquare
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution Khi-carré des valeurs données pour les autres

stats_cdf_cauchy
stats_cdf_exponential
Fonctions sur les statistiques
PHP Manual

stats_cdf_chisquare

(PECL stats >= 1.0.0)

stats_cdf_chisquare — Calcule n'importe quel paramètre de distribution Khi-carré des valeurs données pour les autres

Description

float stats_cdf_chisquare ( float $par1 , float $par2 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

which

Valeurs de retour

stats_cdf_cauchy
stats_cdf_exponential
Fonctions sur les statistiques


Non documenté

stats_cdf_chisquare
stats_cdf_f
Fonctions sur les statistiques
PHP Manual

stats_cdf_exponential

(PECL stats >= 1.0.0)

stats_cdf_exponential — Non documenté

Description

float stats_cdf_exponential ( float $par1 , float $par2 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

which

Valeurs de retour

stats_cdf_chisquare
stats_cdf_f
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution F des valeurs données pour les autres

stats_cdf_exponential
stats_cdf_gamma
Fonctions sur les statistiques
PHP Manual

stats_cdf_f

(PECL stats >= 1.0.0)

stats_cdf_f — Calcule n'importe quel paramètre de distribution F des valeurs données pour les autres

Description

float stats_cdf_f ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_exponential
stats_cdf_gamma
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution gamma des valeurs données pour les autres

stats_cdf_f
stats_cdf_laplace
Fonctions sur les statistiques
PHP Manual

stats_cdf_gamma

(PECL stats >= 1.0.0)

stats_cdf_gamma — Calcule n'importe quel paramètre de distribution gamma des valeurs données pour les autres

Description

float stats_cdf_gamma ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_f
stats_cdf_laplace
Fonctions sur les statistiques


Non documenté

stats_cdf_gamma
stats_cdf_logistic
Fonctions sur les statistiques
PHP Manual

stats_cdf_laplace

(PECL stats >= 1.0.0)

stats_cdf_laplace — Non documenté

Description

float stats_cdf_laplace ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_gamma
stats_cdf_logistic
Fonctions sur les statistiques


Non documenté

stats_cdf_laplace
stats_cdf_negative_binomial
Fonctions sur les statistiques
PHP Manual

stats_cdf_logistic

(PECL stats >= 1.0.0)

stats_cdf_logistic — Non documenté

Description

float stats_cdf_logistic ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_laplace
stats_cdf_negative_binomial
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution binomiale négative des valeurs données pour les autres

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Fonctions sur les statistiques
PHP Manual

stats_cdf_negative_binomial

(PECL stats >= 1.0.0)

stats_cdf_negative_binomial — Calcule n'importe quel paramètre de distribution binomiale négative des valeurs données pour les autres

Description

float stats_cdf_negative_binomial ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_logistic
stats_cdf_noncentral_chisquare
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution non centrale Khi-carré des valeurs données pour les autres

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Fonctions sur les statistiques
PHP Manual

stats_cdf_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_cdf_noncentral_chisquare — Calcule n'importe quel paramètre de distribution non centrale Khi-carré des valeurs données pour les autres

Description

float stats_cdf_noncentral_chisquare ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_negative_binomial
stats_cdf_noncentral_f
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution non centrale F des valeurs données pour les autres

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Fonctions sur les statistiques
PHP Manual

stats_cdf_noncentral_f

(PECL stats >= 1.0.0)

stats_cdf_noncentral_f — Calcule n'importe quel paramètre de distribution non centrale F des valeurs données pour les autres

Description

float stats_cdf_noncentral_f ( float $par1 , float $par2 , float $par3 , float $par4 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

par4

which

Valeurs de retour

stats_cdf_noncentral_chisquare
stats_cdf_poisson
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution de Poisson des valeurs données pour les autres

stats_cdf_noncentral_f
stats_cdf_t
Fonctions sur les statistiques
PHP Manual

stats_cdf_poisson

(PECL stats >= 1.0.0)

stats_cdf_poisson — Calcule n'importe quel paramètre de distribution de Poisson des valeurs données pour les autres

Description

float stats_cdf_poisson ( float $par1 , float $par2 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

which

Valeurs de retour

stats_cdf_noncentral_f
stats_cdf_t
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution T des valeurs données pour les autres

stats_cdf_poisson
stats_cdf_uniform
Fonctions sur les statistiques
PHP Manual

stats_cdf_t

(PECL stats >= 1.0.0)

stats_cdf_t — Calcule n'importe quel paramètre de distribution T des valeurs données pour les autres

Description

float stats_cdf_t ( float $par1 , float $par2 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

which

Valeurs de retour

stats_cdf_poisson
stats_cdf_uniform
Fonctions sur les statistiques


Non documenté

stats_cdf_t
stats_cdf_weibull
Fonctions sur les statistiques
PHP Manual

stats_cdf_uniform

(PECL stats >= 1.0.0)

stats_cdf_uniform — Non documenté

Description

float stats_cdf_uniform ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_t
stats_cdf_weibull
Fonctions sur les statistiques


Non documenté

stats_cdf_uniform
stats_covariance
Fonctions sur les statistiques
PHP Manual

stats_cdf_weibull

(PECL stats >= 1.0.0)

stats_cdf_weibull — Non documenté

Description

float stats_cdf_weibull ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_cdf_uniform
stats_covariance
Fonctions sur les statistiques


Calcule la covariance de deux séries de données

stats_cdf_weibull
stats_den_uniform
Fonctions sur les statistiques
PHP Manual

stats_covariance

(PECL stats >= 1.0.0)

stats_covariance — Calcule la covariance de deux séries de données

Description

float stats_covariance ( array $a , array $b )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

b

Valeurs de retour

stats_cdf_weibull
stats_den_uniform
Fonctions sur les statistiques


Non documenté

stats_covariance
stats_dens_beta
Fonctions sur les statistiques
PHP Manual

stats_den_uniform

(PECL stats >= 1.0.0)

stats_den_uniform — Non documenté

Description

float stats_den_uniform ( float $x , float $a , float $b )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

a

b

Valeurs de retour

stats_covariance
stats_dens_beta
Fonctions sur les statistiques


Non documenté

stats_den_uniform
stats_dens_cauchy
Fonctions sur les statistiques
PHP Manual

stats_dens_beta

(PECL stats >= 1.0.0)

stats_dens_beta — Non documenté

Description

float stats_dens_beta ( float $x , float $a , float $b )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

a

b

Valeurs de retour

stats_den_uniform
stats_dens_cauchy
Fonctions sur les statistiques


Non documenté

stats_dens_beta
stats_dens_chisquare
Fonctions sur les statistiques
PHP Manual

stats_dens_cauchy

(PECL stats >= 1.0.0)

stats_dens_cauchy — Non documenté

Description

float stats_dens_cauchy ( float $x , float $ave , float $stdev )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

ave

stdev

Valeurs de retour

stats_dens_beta
stats_dens_chisquare
Fonctions sur les statistiques


Non documenté

stats_dens_cauchy
stats_dens_exponential
Fonctions sur les statistiques
PHP Manual

stats_dens_chisquare

(PECL stats >= 1.0.0)

stats_dens_chisquare — Non documenté

Description

float stats_dens_chisquare ( float $x , float $dfr )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

dfr

Valeurs de retour

stats_dens_cauchy
stats_dens_exponential
Fonctions sur les statistiques


Non documenté

stats_dens_chisquare
stats_dens_f
Fonctions sur les statistiques
PHP Manual

stats_dens_exponential

(PECL stats >= 1.0.0)

stats_dens_exponential — Non documenté

Description

float stats_dens_exponential ( float $x , float $scale )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

scale

Valeurs de retour

stats_dens_chisquare
stats_dens_f
Fonctions sur les statistiques


stats_dens_exponential
stats_dens_gamma
Fonctions sur les statistiques
PHP Manual

stats_dens_f

(PECL stats >= 1.0.0)

stats_dens_f —

Description

float stats_dens_f ( float $x , float $dfr1 , float $dfr2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

dfr1

dfr2

Valeurs de retour

stats_dens_exponential
stats_dens_gamma
Fonctions sur les statistiques


Non documenté

stats_dens_f
stats_dens_laplace
Fonctions sur les statistiques
PHP Manual

stats_dens_gamma

(PECL stats >= 1.0.0)

stats_dens_gamma — Non documenté

Description

float stats_dens_gamma ( float $x , float $shape , float $scale )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

shape

scale

Valeurs de retour

stats_dens_f
stats_dens_laplace
Fonctions sur les statistiques


Non documenté

stats_dens_gamma
stats_dens_logistic
Fonctions sur les statistiques
PHP Manual

stats_dens_laplace

(PECL stats >= 1.0.0)

stats_dens_laplace — Non documenté

Description

float stats_dens_laplace ( float $x , float $ave , float $stdev )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

ave

stdev

Valeurs de retour

stats_dens_gamma
stats_dens_logistic
Fonctions sur les statistiques


Non documenté

stats_dens_laplace
stats_dens_negative_binomial
Fonctions sur les statistiques
PHP Manual

stats_dens_logistic

(PECL stats >= 1.0.0)

stats_dens_logistic — Non documenté

Description

float stats_dens_logistic ( float $x , float $ave , float $stdev )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

ave

stdev

Valeurs de retour

stats_dens_laplace
stats_dens_negative_binomial
Fonctions sur les statistiques


Non documenté

stats_dens_logistic
stats_dens_normal
Fonctions sur les statistiques
PHP Manual

stats_dens_negative_binomial

(PECL stats >= 1.0.0)

stats_dens_negative_binomial — Non documenté

Description

float stats_dens_negative_binomial ( float $x , float $n , float $pi )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

n

pi

Valeurs de retour

stats_dens_logistic
stats_dens_normal
Fonctions sur les statistiques


Non documenté

stats_dens_negative_binomial
stats_dens_pmf_binomial
Fonctions sur les statistiques
PHP Manual

stats_dens_normal

(PECL stats >= 1.0.0)

stats_dens_normal — Non documenté

Description

float stats_dens_normal ( float $x , float $ave , float $stdev )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

ave

stdev

Valeurs de retour

stats_dens_negative_binomial
stats_dens_pmf_binomial
Fonctions sur les statistiques


Non documenté

stats_dens_normal
stats_dens_pmf_hypergeometric
Fonctions sur les statistiques
PHP Manual

stats_dens_pmf_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_binomial — Non documenté

Description

float stats_dens_pmf_binomial ( float $x , float $n , float $pi )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

n

pi

Valeurs de retour

stats_dens_normal
stats_dens_pmf_hypergeometric
Fonctions sur les statistiques


stats_dens_pmf_binomial
stats_dens_pmf_poisson
Fonctions sur les statistiques
PHP Manual

stats_dens_pmf_hypergeometric

(PECL stats >= 1.0.0)

stats_dens_pmf_hypergeometric —

Description

float stats_dens_pmf_hypergeometric ( float $n1 , float $n2 , float $N1 , float $N2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

n1

n2

N1

N2

Valeurs de retour

stats_dens_pmf_binomial
stats_dens_pmf_poisson
Fonctions sur les statistiques


Non documenté

stats_dens_pmf_hypergeometric
stats_dens_t
Fonctions sur les statistiques
PHP Manual

stats_dens_pmf_poisson

(PECL stats >= 1.0.0)

stats_dens_pmf_poisson — Non documenté

Description

float stats_dens_pmf_poisson ( float $x , float $lb )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

lb

Valeurs de retour

stats_dens_pmf_hypergeometric
stats_dens_t
Fonctions sur les statistiques


Non documenté

stats_dens_pmf_poisson
stats_dens_weibull
Fonctions sur les statistiques
PHP Manual

stats_dens_t

(PECL stats >= 1.0.0)

stats_dens_t — Non documenté

Description

float stats_dens_t ( float $x , float $dfr )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

dfr

Valeurs de retour

stats_dens_pmf_poisson
stats_dens_weibull
Fonctions sur les statistiques


Non documenté

stats_dens_t
stats_harmonic_mean
Fonctions sur les statistiques
PHP Manual

stats_dens_weibull

(PECL stats >= 1.0.0)

stats_dens_weibull — Non documenté

Description

float stats_dens_weibull ( float $x , float $a , float $b )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

a

b

Valeurs de retour

stats_dens_t
stats_harmonic_mean
Fonctions sur les statistiques


Retourne la moyenne harmonique d'un tableau de valeurs

stats_dens_weibull
stats_kurtosis
Fonctions sur les statistiques
PHP Manual

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_mean — Retourne la moyenne harmonique d'un tableau de valeurs

Description

number stats_harmonic_mean ( array $a )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

Valeurs de retour

stats_dens_weibull
stats_kurtosis
Fonctions sur les statistiques


Calcule le coefficient d'aplatissement des données dans un tableau

stats_harmonic_mean
stats_rand_gen_beta
Fonctions sur les statistiques
PHP Manual

stats_kurtosis

(PECL stats >= 1.0.0)

stats_kurtosis — Calcule le coefficient d'aplatissement des données dans un tableau

Description

float stats_kurtosis ( array $a )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

Valeurs de retour

stats_harmonic_mean
stats_rand_gen_beta
Fonctions sur les statistiques


Génère l'écart beta aléatoire

stats_kurtosis
stats_rand_gen_chisquare
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_beta

(PECL stats >= 1.0.0)

stats_rand_gen_beta — Génère l'écart beta aléatoire

Description

float stats_rand_gen_beta ( float $a , float $b )

Retourne une déviation aléatoire de la distribution beta avec les paramètres A et B. La densité de beta est x^(a-1) * (1-x)^(b-1) / B(a,b) pour 0 < x <. Méthode R. C. H. Cheng.

Liste de paramètres

a

b

Valeurs de retour

stats_kurtosis
stats_rand_gen_chisquare
Fonctions sur les statistiques


Génère l'écart aléatoire de la distribution Khi-carré avec "df" de degré de liberté de variables aléatoire

stats_rand_gen_beta
stats_rand_gen_exponential
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_chisquare — Génère l'écart aléatoire de la distribution Khi-carré avec "df" de degré de liberté de variables aléatoire

Description

float stats_rand_gen_chisquare ( float $df )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

df

Valeurs de retour

stats_rand_gen_beta
stats_rand_gen_exponential
Fonctions sur les statistiques


Génère un écart aléatoire simple à partir d'une distribution exponentielle avec moyenne "av"

stats_rand_gen_chisquare
stats_rand_gen_f
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_exponential

(PECL stats >= 1.0.0)

stats_rand_gen_exponential — Génère un écart aléatoire simple à partir d'une distribution exponentielle avec moyenne "av"

Description

float stats_rand_gen_exponential ( float $av )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

av

Valeurs de retour

stats_rand_gen_chisquare
stats_rand_gen_f
Fonctions sur les statistiques


Génère un écart aléatoire

stats_rand_gen_exponential
stats_rand_gen_funiform
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_f

(PECL stats >= 1.0.0)

stats_rand_gen_f — Génère un écart aléatoire

Description

float stats_rand_gen_f ( float $dfn , float $dfd )

Génère un écart aléatoire à partir de la distribution F (ratio de variance) avec "dfn" degrés de liberté dans le numérateur et "dfd" degré de liberté dans le dénominateur. Méthode : génère directement le radio des variétés de Khi-carré.

Liste de paramètres

dfn

dfd

Valeurs de retour

stats_rand_gen_exponential
stats_rand_gen_funiform
Fonctions sur les statistiques


Génère une valeur décimale uniforme entre les basse (exclusif) et autre (exclusif)

stats_rand_gen_f
stats_rand_gen_gamma
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_funiform

(PECL stats >= 1.0.0)

stats_rand_gen_funiform — Génère une valeur décimale uniforme entre les basse (exclusif) et autre (exclusif)

Description

float stats_rand_gen_funiform ( float $low , float $high )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

low

high

Valeurs de retour

stats_rand_gen_f
stats_rand_gen_gamma
Fonctions sur les statistiques


Génère un écart aléatoire d'une distribution gamma

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_gamma

(PECL stats >= 1.0.0)

stats_rand_gen_gamma — Génère un écart aléatoire d'une distribution gamma

Description

float stats_rand_gen_gamma ( float $a , float $r )

Génère une déviation aléatoire d'une distribution gamma dont la densité est (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Liste de paramètres

a

Paramètre d'emplacement de la distribution Gamma (a > 0).

r

Paramètre de forme de la distribution Gamma (r > 0).

Valeurs de retour

stats_rand_gen_funiform
stats_rand_gen_ibinomial_negative
Fonctions sur les statistiques


Génère un écart aléatoire simple de la distribution négative binomiale. Arguments : n - le nombre d'essai dans la distribution négative binomiale dans lequel l'écart aléatoire sera généré (n > 0), p - la probabilité d'un évènement (0 < p < 1))

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_ibinomial_negative

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial_negative — Génère un écart aléatoire simple de la distribution négative binomiale. Arguments : n - le nombre d'essai dans la distribution négative binomiale dans lequel l'écart aléatoire sera généré (n > 0), p - la probabilité d'un évènement (0 < p < 1))

Description

int stats_rand_gen_ibinomial_negative ( int $n , float $p )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

n

p

Valeurs de retour

stats_rand_gen_gamma
stats_rand_gen_ibinomial
Fonctions sur les statistiques


Génère un écart aléatoire simple d'une distribution binomiale à qui le nombre d'essaie est "n" (n >= 0) et à qui la probabilité d'un évènement de chaque essai est "pp" ([0;1]). Méthode : algorithme BTPE

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_ibinomial

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial — Génère un écart aléatoire simple d'une distribution binomiale à qui le nombre d'essaie est "n" (n >= 0) et à qui la probabilité d'un évènement de chaque essai est "pp" ([0;1]). Méthode : algorithme BTPE

Description

int stats_rand_gen_ibinomial ( int $n , float $pp )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

n

pp

Valeurs de retour

stats_rand_gen_ibinomial_negative
stats_rand_gen_int
Fonctions sur les statistiques


Génère un entier aléatoire entre 1 et 2147483562

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_int

(PECL stats >= 1.0.0)

stats_rand_gen_int — Génère un entier aléatoire entre 1 et 2147483562

Description

int stats_rand_gen_int ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

stats_rand_gen_ibinomial
stats_rand_gen_ipoisson
Fonctions sur les statistiques


Génère un écart aléatoire simple à partir de la distribution de Poisson avec la moyenne "mu" (mu >= 0.0)

stats_rand_gen_int
stats_rand_gen_iuniform
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_ipoisson

(PECL stats >= 1.0.0)

stats_rand_gen_ipoisson — Génère un écart aléatoire simple à partir de la distribution de Poisson avec la moyenne "mu" (mu >= 0.0)

Description

int stats_rand_gen_ipoisson ( float $mu )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

mu

Valeurs de retour

stats_rand_gen_int
stats_rand_gen_iuniform
Fonctions sur les statistiques


Génère un entier uniformément distribué entre LOW (inclusif) et HIGH (inclusif)

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_iuniform

(PECL stats >= 1.0.0)

stats_rand_gen_iuniform — Génère un entier uniformément distribué entre LOW (inclusif) et HIGH (inclusif)

Description

int stats_rand_gen_iuniform ( int $low , int $high )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

low

high

Valeurs de retour

stats_rand_gen_ipoisson
stats_rand_gen_noncenral_chisquare
Fonctions sur les statistiques


Génère un écart aléatoire à partir de la distribution non centrale de Khi-carré de "df" degrés de liberté et de paramètre non central "nonc". d doit être >= 1.0, xnonc doit être *gt;= 0.0

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_noncenral_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_noncenral_chisquare — Génère un écart aléatoire à partir de la distribution non centrale de Khi-carré de "df" degrés de liberté et de paramètre non central "nonc". d doit être >= 1.0, xnonc doit être *gt;= 0.0

Description

float stats_rand_gen_noncenral_chisquare ( float $df , float $xnonc )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

df

xnonc

Valeurs de retour

stats_rand_gen_iuniform
stats_rand_gen_noncentral_f
Fonctions sur les statistiques


Génère l'écart aléatoire à partir de la distribution non centrale de F (ratio variance) avec "dfn" degré de liberté dans le numérateur et "dfd" degré de liberté dans le dénominateur et le paramètre non central "xnonc". Méthode : génère directement le ratio d'une variation Khi-carré non centrale de n

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_noncentral_f

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_f — Génère l'écart aléatoire à partir de la distribution non centrale de F (ratio variance) avec "dfn" degré de liberté dans le numérateur et "dfd" degré de liberté dans le dénominateur et le paramètre non central "xnonc". Méthode : génère directement le ratio d'une variation Khi-carré non centrale de numérateur à la variation Khi-carré centrale de dénominateur

Description

float stats_rand_gen_noncentral_f ( float $dfn , float $dfd , float $xnonc )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

dfn

dfd

xnonc

Valeurs de retour

stats_rand_gen_noncenral_chisquare
stats_rand_gen_noncentral_t
Fonctions sur les statistiques


Génère l'écart aléatoire simple à partir d'une distribution T non centrale

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_noncentral_t

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_t — Génère l'écart aléatoire simple à partir d'une distribution T non centrale

Description

float stats_rand_gen_noncentral_t ( float $df , float $xnonc )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

df

xnonc

Valeurs de retour

stats_rand_gen_noncentral_f
stats_rand_gen_normal
Fonctions sur les statistiques


Génère un écart aléatoire simple à partir d'une distribution normale avec la moyenne, av, et écart type sd (sd >= 0). Méthode : Renomme SNORM de TOMS légèrement modifié par BWB pour utiliser RANF au lieu de SUNIF

stats_rand_gen_noncentral_t
stats_rand_gen_t
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normal — Génère un écart aléatoire simple à partir d'une distribution normale avec la moyenne, av, et écart type sd (sd >= 0). Méthode : Renomme SNORM de TOMS légèrement modifié par BWB pour utiliser RANF au lieu de SUNIF

Description

float stats_rand_gen_normal ( float $av , float $sd )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

av

sd

Valeurs de retour

stats_rand_gen_noncentral_t
stats_rand_gen_t
Fonctions sur les statistiques


Génère un écart aléatoire simple à partir de la distribution T

stats_rand_gen_normal
stats_rand_get_seeds
Fonctions sur les statistiques
PHP Manual

stats_rand_gen_t

(PECL stats >= 1.0.0)

stats_rand_gen_t — Génère un écart aléatoire simple à partir de la distribution T

Description

float stats_rand_gen_t ( float $df )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

df

Valeurs de retour

stats_rand_gen_normal
stats_rand_get_seeds
Fonctions sur les statistiques


Non documenté

stats_rand_gen_t
stats_rand_phrase_to_seeds
Fonctions sur les statistiques
PHP Manual

stats_rand_get_seeds

(PECL stats >= 1.0.0)

stats_rand_get_seeds — Non documenté

Description

array stats_rand_get_seeds ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

stats_rand_gen_t
stats_rand_phrase_to_seeds
Fonctions sur les statistiques


Génère deux graines pour le générateur de nombre aléatoire RGN

stats_rand_get_seeds
stats_rand_ranf
Fonctions sur les statistiques
PHP Manual

stats_rand_phrase_to_seeds

(PECL stats >= 1.0.0)

stats_rand_phrase_to_seeds — Génère deux graines pour le générateur de nombre aléatoire RGN

Description

array stats_rand_phrase_to_seeds ( string $phrase )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

phrase

Valeurs de retour

stats_rand_get_seeds
stats_rand_ranf
Fonctions sur les statistiques


Retourne un nombre à valeur décimale aléatoire à partir d'une distribution uniforme de 0 - 1 (les points finaux de cet intervalle ne sont pas retourné) en utilisant le générateur courant

stats_rand_phrase_to_seeds
stats_rand_setall
Fonctions sur les statistiques
PHP Manual

stats_rand_ranf

(PECL stats >= 1.0.0)

stats_rand_ranf — Retourne un nombre à valeur décimale aléatoire à partir d'une distribution uniforme de 0 - 1 (les points finaux de cet intervalle ne sont pas retourné) en utilisant le générateur courant

Description

float stats_rand_ranf ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Valeurs de retour

stats_rand_phrase_to_seeds
stats_rand_setall
Fonctions sur les statistiques


Non documenté

stats_rand_ranf
stats_skew
Fonctions sur les statistiques
PHP Manual

stats_rand_setall

(PECL stats >= 1.0.0)

stats_rand_setall — Non documenté

Description

void stats_rand_setall ( int $iseed1 , int $iseed2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iseed1

iseed2

Valeurs de retour

stats_rand_ranf
stats_skew
Fonctions sur les statistiques


Calcul l'asymétrie des données dans un tableau

stats_rand_setall
stats_standard_deviation
Fonctions sur les statistiques
PHP Manual

stats_skew

(PECL stats >= 1.0.0)

stats_skew — Calcul l'asymétrie des données dans un tableau

Description

float stats_skew ( array $a )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

Valeurs de retour

stats_rand_setall
stats_standard_deviation
Fonctions sur les statistiques


Retourne l'écart type

stats_skew
stats_stat_binomial_coef
Fonctions sur les statistiques
PHP Manual

stats_standard_deviation

(PECL stats >= 1.0.0)

stats_standard_deviation — Retourne l'écart type

Description

float stats_standard_deviation ( array $a [, bool $sample = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

sample

Valeurs de retour

stats_skew
stats_stat_binomial_coef
Fonctions sur les statistiques


Non documenté

stats_standard_deviation
stats_stat_correlation
Fonctions sur les statistiques
PHP Manual

stats_stat_binomial_coef

(PECL stats >= 1.0.0)

stats_stat_binomial_coef — Non documenté

Description

float stats_stat_binomial_coef ( int $x , int $n )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

x

n

Valeurs de retour

stats_standard_deviation
stats_stat_correlation
Fonctions sur les statistiques


Non documenté

stats_stat_binomial_coef
stats_stat_gennch
Fonctions sur les statistiques
PHP Manual

stats_stat_correlation

(PECL stats >= 1.0.0)

stats_stat_correlation — Non documenté

Description

float stats_stat_correlation ( array $arr1 , array $arr2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

arr1

arr2

Valeurs de retour

stats_stat_binomial_coef
stats_stat_gennch
Fonctions sur les statistiques


Non documenté

stats_stat_correlation
stats_stat_independent_t
Fonctions sur les statistiques
PHP Manual

stats_stat_gennch

(PECL stats >= 1.0.0)

stats_stat_gennch — Non documenté

Description

float stats_stat_gennch ( int $n )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

n

Valeurs de retour

stats_stat_correlation
stats_stat_independent_t
Fonctions sur les statistiques


Non documenté

stats_stat_gennch
stats_stat_innerproduct
Fonctions sur les statistiques
PHP Manual

stats_stat_independent_t

(PECL stats >= 1.0.0)

stats_stat_independent_t — Non documenté

Description

float stats_stat_independent_t ( array $arr1 , array $arr2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

arr1

arr2

Valeurs de retour

stats_stat_gennch
stats_stat_innerproduct
Fonctions sur les statistiques


stats_stat_independent_t
stats_stat_noncentral_t
Fonctions sur les statistiques
PHP Manual

stats_stat_innerproduct

(PECL stats >= 1.0.0)

stats_stat_innerproduct —

Description

float stats_stat_innerproduct ( array $arr1 , array $arr2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

arr1

arr2

Valeurs de retour

stats_stat_independent_t
stats_stat_noncentral_t
Fonctions sur les statistiques


Calcule n'importe quel paramètre de distribution non centrale t des valeurs données pour les autres valeurs

stats_stat_innerproduct
stats_stat_paired_t
Fonctions sur les statistiques
PHP Manual

stats_stat_noncentral_t

(PECL stats >= 1.0.0)

stats_stat_noncentral_t — Calcule n'importe quel paramètre de distribution non centrale t des valeurs données pour les autres valeurs

Description

float stats_stat_noncentral_t ( float $par1 , float $par2 , float $par3 , int $which )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

par1

par2

par3

which

Valeurs de retour

stats_stat_innerproduct
stats_stat_paired_t
Fonctions sur les statistiques


Non documenté

stats_stat_noncentral_t
stats_stat_percentile
Fonctions sur les statistiques
PHP Manual

stats_stat_paired_t

(PECL stats >= 1.0.0)

stats_stat_paired_t — Non documenté

Description

float stats_stat_paired_t ( array $arr1 , array $arr2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

arr1

arr2

Valeurs de retour

stats_stat_noncentral_t
stats_stat_percentile
Fonctions sur les statistiques


Non documenté

stats_stat_paired_t
stats_stat_powersum
Fonctions sur les statistiques
PHP Manual

stats_stat_percentile

(PECL stats >= 1.0.0)

stats_stat_percentile — Non documenté

Description

float stats_stat_percentile ( float $df , float $xnonc )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

df

xnonc

Valeurs de retour

stats_stat_paired_t
stats_stat_powersum
Fonctions sur les statistiques


Non documenté

stats_stat_percentile
stats_variance
Fonctions sur les statistiques
PHP Manual

stats_stat_powersum

(PECL stats >= 1.0.0)

stats_stat_powersum — Non documenté

Description

float stats_stat_powersum ( array $arr , float $power )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

arr

power

Valeurs de retour

stats_stat_percentile
stats_variance
Fonctions sur les statistiques


Retourne la variance d'une population

stats_stat_powersum
Affichage des données non-textuelles
Fonctions sur les statistiques
PHP Manual

stats_variance

(PECL stats >= 1.0.0)

stats_variance — Retourne la variance d'une population

Description

float stats_variance ( array $a [, bool $sample = false ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

a

sample

Valeurs de retour

stats_stat_powersum
Affichage des données non-textuelles
Fonctions sur les statistiques


Affichage des données non-textuelles

  • FDF — Format de formulaire
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions FDF
  • GnuPG — GNU PG
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions GnuPG
  • haru — Haru PDF
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Polices internes et encodages
    • HaruException — Classe HaruException
    • HaruDoc — Classe HaruDoc
    • HaruPage — Classe HaruPage
    • HaruFont — Classe HaruFont
    • HaruImage — Classe HaruImage
    • HaruEncoder — Classe HaruEncoder
    • HaruOutline — Classe HaruOutline
    • HaruAnnotation — Classe HaruAnnotation
    • HaruDestination — Classe HaruDestination
  • Ming — Ming (flash)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Ming
    • SWFAction — La classe SWFAction
    • SWFBitmap — La classe SWFBitmap
    • SWFButton — La classe SWFButton
    • SWFDisplayItem — La classe SWFDisplayItem
    • SWFFill — La classe SWFFill
    • SWFFont — La classe SWFFont
    • SWFFontChar — La classe SWFFontChar
    • SWFGradient — La classe SWFGradient
    • SWFMorph — La classe SWFMorph
    • SWFMovie — La classe SWFMovie
    • SWFPrebuiltClip — La classe SWFPrebuiltClip
    • SWFShape — La classe SWFShape
    • SWFSound — La classe SWFSound
    • SWFSoundInstance — La classe SWFSoundInstance
    • SWFSprite — La classe SWFSprite
    • SWFText — La classe SWFText
    • SWFTextField — La classe SWFTextField
    • SWFVideoStream — La classe SWFVideoStream
  • PDF
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions PDF
  • PS — Création de document PostScript
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions PS
  • RPM Reader — Lecture d'en-tête RPM
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions RPM Reader
  • SWF — Shockwave Flash
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions SWF
stats_variance
FDF
Référence des fonctions


Format de formulaire

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions FDF
    • fdf_add_doc_javascript — Ajoute du code javascript dans un document FDF
    • fdf_add_template — Ajoute un template dans le document FDF
    • fdf_close — Ferme un document FDF
    • fdf_create — Crée un nouveau document FDF
    • fdf_enum_values — Appelle une fonction utilisateur à chaque valeur FDF
    • fdf_errno — Retourne le code d'erreur de la dernière opération FDF
    • fdf_error — Retourne le message d'erreur FDF
    • fdf_get_ap — Lit l'apparence d'un champ
    • fdf_get_attachment — Extrait un fichier intégré dans un document FDF
    • fdf_get_encoding — Lit la valeur de la clé /Encoding
    • fdf_get_file — Lit la valeur de la clé /F
    • fdf_get_flags — Lit les attributs d'un champ FDF
    • fdf_get_opt — Lit une valeur dans un tableau de valeur d'un champ FDF
    • fdf_get_status — Lit la valeur de la clé /STATUS
    • fdf_get_value — Retourne la valeur d'un champ FDF
    • fdf_get_version — Lit le numéro de version de l'API FDF
    • fdf_header — Émet les en-têtes HTTP spécifiques à FDF
    • fdf_next_field_name — Lit le nom du champ FDF suivant
    • fdf_open_string — Lit un document FDF à partir d'une chaîne de caractères
    • fdf_open — Ouvre un document FDF
    • fdf_remove_item — Configure le cadre FDF de destination pour le formulaire
    • fdf_save_string — Retourne un document FDF sous forme d'une chaîne de caractères
    • fdf_save — Sauvegarde un document FDF
    • fdf_set_ap — Fixe l'apparence d'un champ FDF
    • fdf_set_encoding — Modifie l'encodage des caractères
    • fdf_set_file — Crée un document PDF pour y afficher des données FDF
    • fdf_set_flags — Modifie une option d'un champ
    • fdf_set_javascript_action — Modifie l'action javascript d'un champ
    • fdf_set_on_import_javascript — Ajoute du code Javascript à être exécuté lorsque Acrobat ouvre un FDF
    • fdf_set_opt — Modifie une option d'un champ
    • fdf_set_status — Fixe la valeur de la clé /STATUS
    • fdf_set_submit_form_action — Modifie l'action d'un formulaire
    • fdf_set_target_frame — Configure le cadre de destination pour l'affichage du formulaire
    • fdf_set_value — Modifie la valeur d'un champ FDF
    • fdf_set_version — Modifie le numéro de version du fichier FDF
Affichage des données non-textuelles
Introduction
Affichage des données non-textuelles


Introduction

Forms Data Format (FDF) est un format de formulaire pour les documents PDF. Vous pouvez lire la documentation (en anglais) à » http://partners.adobe.com/asn/acrobat/forms.jsp pour plus de détails sur les tenants et les aboutissants.

L'esprit de FDF est similaire à celui des formulaires HTML. Les différences résident dans les moyens de transmission des données au serveur, lorsque le bouton "submit" (soumettre) est pressé (ce qui est du ressort de Form Data Format) et le format de formulaire lui-même (qui est plutôt du ressort de Portable Document Format, PDF). Gérer des données FDF est un des objectifs des fonctions FDF. Mais il y en a d'autres. Vous pouvez aussi prendre un formulaire PDF, et préremplir les champs, sans modifier le formulaire lui-même. Dans ce cas, on va créer un document FDF (fdf_create()), remplir les champs (fdf_set_value()) et l'associer à un fichier PDF (fdf_set_file()). Finalement, le tout sera envoyé au client, avec le type MIME application/vnd.fdf. Le module "Acrobat reader" de votre navigateur va reconnaître ce type MIME, et lire le fichier PDF, puis le remplir avec FDF.

Si vous éditez un fichier FDF avec un éditeur de texte, vous trouverez un catalogue d'objet avec le nom de FDF. Cet objet peut contenir des entrées telles que Fields, F, Status etc. Les entrées les plus couramment utilisées sont Fields, qui indique une liste de champs de contrôle, et F qui contient le nom du fichier PDF a qui appartiennent ces données. Ces entrées sont désignées dans la documentation PDF sous le nom de /F-Key ou /Status-Key. La modification de ces entrées est possible avec les fonctions fdf_set_file() et fdf_set_status(). Les champs sont modifiables avec les fonctions fdf_set_value(), fdf_set_opt() etc.

FDF
Installation/Configuration
FDF


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
FDF


Pré-requis

Vous aurez besoin du FDF toolkit SDK, disponible sur le site » http://partners.adobe.com/asn/acrobat/forms.jsp. Depuis PHP 4.3.0, vous aurez besoin du SDK version 5.0. La bibliothèque FDF toolkit est disponible sous forme de bibliothèque compilée, éditée par Adobe, sur les systèmes d'exploitation Win32, Linux, Solaris et AIX.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/fdf.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0

Note: Si vous rencontrez des problèmes lors de la configuration de FDF avec le support fdftk, vérifiez que le fichier d'en-tête fdftk.h et la bibliothèque libfdftk.so sont à leur place. Le fichier de configuration supporte la hiérarchie de dossier de la distribution FDF SDK et l'organisation classique DIR/include et DIR/lib : vous pouvez donc utiliser l'un ou l'autre directement avec la distribution décompressée, ou bien en incluant le fichier d'en-têtes et la bibliothèque appropriée dans votre système, c'est-à-dire dans /usr/local/include et /usr/local/lib. Il ne reste plus qu'à configurer avec --with-fdftk=/usr/local.

Note: Note aux utilisateurs Win32
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : fdftk.dll

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

La plupart des fonctions FDF nécessite une ressource de type fdf comme premier argument. Une ressource fdf est une structure qui représente un fichier FDF ouvert. Vous pouvez créer des ressources fdf avec les fonctions fdf_create(), fdf_open() et fdf_open_string().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FDFValue (entier)
FDFStatus (entier)
FDFFile (entier)
FDFID (entier)
FDFFf (entier)
FDFSetFf (entier)
FDFClearFf (entier)
FDFFlags (entier)
FDFSetF (entier)
FDFClrF (entier)
FDFAP (entier)
FDFAS (entier)
FDFAction (entier)
FDFAA (entier)
FDFAPRef (entier)
FDFIF (entier)
FDFEnter (entier)
FDFExit (entier)
FDFDown (entier)
FDFUp (entier)
FDFFormat (entier)
FDFValidate (entier)
FDFKeystroke (entier)
FDFCalculate (entier)
FDFNormalAP (entier)
FDFRolloverAP (entier)
FDFDownAP (entier)
Types de ressources
Exemples
FDF


Exemples

Les exemples suivants montrent comment évaluer les données du formulaire.

Exemple #1 Évaluer un document FDF

<?php
// Ouvrir un fichier FDF depuis une chaîne fournie par l'extension PDF
// Le formulaire PDF contient plusieurs champs texte avec les noms de
// volume, date, comment, publisher, preparer, et two boîtes à cocher
// show_publisher et show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume");
echo 'Le champ Volume contient la valeur : "<strong>' . $volume . '</strong>"<br />';

$date = fdf_get_value($fdf, "date");
echo 'La valeur du champ date était "<strong>' . $date . '</strong>"<br />';

$comment = fdf_get_value($fdf, "comment");
echo 'La valeur du champ comment était "<strong>' . $comment . '</strong>"<br />';

if (fdf_get_value($fdf, "show_publisher") == "On") {
  $publisher = fdf_get_value($fdf, "publisher");
  echo "La valeur du champ Publisher était : '<strong>" . $publisher . "</strong><br />";
} else
  echo 'La valeur du champ Publisher ne doit pas être affichée.<br />';

if (fdf_get_value($fdf, "show_preparer") == "On") {
  $preparer = fdf_get_value($fdf, "preparer");
  echo 'La valeur du champ Preparer était  "<strong>' . $preparer . '</strong>"<br />';
} else
  echo 'La valeur du champ Preparer ne doit pas être affiché.<br />';
fdf_close($fdf);
?>

Constantes pré-définies
Fonctions FDF
FDF


Fonctions FDF

Sommaire

  • fdf_add_doc_javascript — Ajoute du code javascript dans un document FDF
  • fdf_add_template — Ajoute un template dans le document FDF
  • fdf_close — Ferme un document FDF
  • fdf_create — Crée un nouveau document FDF
  • fdf_enum_values — Appelle une fonction utilisateur à chaque valeur FDF
  • fdf_errno — Retourne le code d'erreur de la dernière opération FDF
  • fdf_error — Retourne le message d'erreur FDF
  • fdf_get_ap — Lit l'apparence d'un champ
  • fdf_get_attachment — Extrait un fichier intégré dans un document FDF
  • fdf_get_encoding — Lit la valeur de la clé /Encoding
  • fdf_get_file — Lit la valeur de la clé /F
  • fdf_get_flags — Lit les attributs d'un champ FDF
  • fdf_get_opt — Lit une valeur dans un tableau de valeur d'un champ FDF
  • fdf_get_status — Lit la valeur de la clé /STATUS
  • fdf_get_value — Retourne la valeur d'un champ FDF
  • fdf_get_version — Lit le numéro de version de l'API FDF
  • fdf_header — Émet les en-têtes HTTP spécifiques à FDF
  • fdf_next_field_name — Lit le nom du champ FDF suivant
  • fdf_open_string — Lit un document FDF à partir d'une chaîne de caractères
  • fdf_open — Ouvre un document FDF
  • fdf_remove_item — Configure le cadre FDF de destination pour le formulaire
  • fdf_save_string — Retourne un document FDF sous forme d'une chaîne de caractères
  • fdf_save — Sauvegarde un document FDF
  • fdf_set_ap — Fixe l'apparence d'un champ FDF
  • fdf_set_encoding — Modifie l'encodage des caractères
  • fdf_set_file — Crée un document PDF pour y afficher des données FDF
  • fdf_set_flags — Modifie une option d'un champ
  • fdf_set_javascript_action — Modifie l'action javascript d'un champ
  • fdf_set_on_import_javascript — Ajoute du code Javascript à être exécuté lorsque Acrobat ouvre un FDF
  • fdf_set_opt — Modifie une option d'un champ
  • fdf_set_status — Fixe la valeur de la clé /STATUS
  • fdf_set_submit_form_action — Modifie l'action d'un formulaire
  • fdf_set_target_frame — Configure le cadre de destination pour l'affichage du formulaire
  • fdf_set_value — Modifie la valeur d'un champ FDF
  • fdf_set_version — Modifie le numéro de version du fichier FDF
Exemples
fdf_add_doc_javascript
FDF


Ajoute du code javascript dans un document FDF

Fonctions FDF
fdf_add_template
Fonctions FDF
PHP Manual

fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_add_doc_javascript — Ajoute du code javascript dans un document FDF

Description

bool fdf_add_doc_javascript ( resource $fdf_document , string $script_name , string $script_code )

Ajoute le code javascript script_code dans le document fdfdoc, qu'Acrobat ajoutera aux scripts de niveau document, une fois le FDF importé.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

script_name

Le nom du script.

script_code

Le code du script. Il est fortement recommandé d'utiliser '\r' comme séparateur de lignes dans le code script_code.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout de code JavaScript à un document FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

Cet exemple va créer un document FDF comme celui ci :

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Fonctions FDF
fdf_add_template
Fonctions FDF


Ajoute un template dans le document FDF

fdf_add_doc_javascript
fdf_close
Fonctions FDF
PHP Manual

fdf_add_template

(PHP 4, PHP 5)

fdf_add_template — Ajoute un template dans le document FDF

Description

bool fdf_add_template ( resource $fdf_document , int $newpage , string $filename , string $template , int $rename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

fdf_add_doc_javascript
fdf_close
Fonctions FDF


Ferme un document FDF

fdf_add_template
fdf_create
Fonctions FDF
PHP Manual

fdf_close

(PHP 4, PHP 5)

fdf_close — Ferme un document FDF

Description

void fdf_close ( resource $fdf_document )

Ferme le document FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • fdf_open() - Ouvre un document FDF

fdf_add_template
fdf_create
Fonctions FDF


Crée un nouveau document FDF

fdf_close
fdf_enum_values
Fonctions FDF
PHP Manual

fdf_create

(PHP 4, PHP 5)

fdf_create — Crée un nouveau document FDF

Description

resource fdf_create ( void )

Crée un nouveau document FDF.

Cette fonction est nécessaire pour ceux qui veulent préremplir les champs d'un formulaire dans un fichier PDF.

Valeurs de retour

Retourne un gestionnaire de document FDF, ou FALSE si une erreur survient.

Exemples

Exemple #1 Préremplir un formulaire PDF

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Voir aussi

  • fdf_close() - Ferme un document FDF
  • fdf_save() - Sauvegarde un document FDF
  • fdf_open() - Ouvre un document FDF

fdf_close
fdf_enum_values
Fonctions FDF


Appelle une fonction utilisateur à chaque valeur FDF

fdf_create
fdf_errno
Fonctions FDF
PHP Manual

fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5)

fdf_enum_values — Appelle une fonction utilisateur à chaque valeur FDF

Description

bool fdf_enum_values ( resource $fdf_document , callback $function [, mixed $userdata ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

fdf_create
fdf_errno
Fonctions FDF


Retourne le code d'erreur de la dernière opération FDF

fdf_enum_values
fdf_error
Fonctions FDF
PHP Manual

fdf_errno

(PHP 4 >= 4.3.0, PHP 5)

fdf_errno — Retourne le code d'erreur de la dernière opération FDF

Description

int fdf_errno ( void )

Récupère le code d'erreur de la dernière opération FDF.

Un message d'erreur est accessible via la fonction fdf_error() function.

Valeurs de retour

Retourne le code erreur sous la forme d'un entier ou 0 si aucune erreur n'est survenue.

Voir aussi

  • fdf_error() - Retourne le message d'erreur FDF

fdf_enum_values
fdf_error
Fonctions FDF


Retourne le message d'erreur FDF

fdf_errno
fdf_get_ap
Fonctions FDF
PHP Manual

fdf_error

(PHP 4 >= 4.3.0, PHP 5)

fdf_error — Retourne le message d'erreur FDF

Description

string fdf_error ([ int $error_code ] )

Retourne le message d'erreur FDF.

Liste de paramètres

error_code

Un code erreur obtenu avec la fonction fdf_errno(). S'il n'est pas fourni, cette fonction utilise le code erreur interne défini par la dernière opération.

Valeurs de retour

Retourne le message d'erreur sous la forme d'une chaîne de caractères ou la chaîne no error s'il n'y en a pas.

Voir aussi

  • fdf_errno() - Retourne le code d'erreur de la dernière opération FDF

fdf_errno
fdf_get_ap
Fonctions FDF


Lit l'apparence d'un champ

fdf_error
fdf_get_attachment
Fonctions FDF
PHP Manual

fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_ap — Lit l'apparence d'un champ

Description

bool fdf_get_ap ( resource $fdf_document , string $field , int $face , string $filename )

Lit l'apparence du champ field (i.e. la valeur de la clé /AP) et le stocke dans le fichier filename.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

field

face

Les valeurs possibles sont FDFNormalAP, FDFRolloverAP et FDFDownAP.

filename

L'apparence sera stockée dans ce paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

fdf_error
fdf_get_attachment
Fonctions FDF


Extrait un fichier intégré dans un document FDF

fdf_get_ap
fdf_get_encoding
Fonctions FDF
PHP Manual

fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_attachment — Extrait un fichier intégré dans un document FDF

Description

array fdf_get_attachment ( resource $fdf_document , string $fieldname , string $savepath )

Extrait le fichier fieldname téléchargé par le biais du champ "file selection", puis le stocke dans le fichier savepath.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

fieldname

savepath

Peut être le nom d'un fichier ou bien un dossier dans lequel le fichier téléchargé sera créé sous son nom original. Tout fichier déjà existant avec le même nom sera écrasé.

Note: Il semble qu'il n'y ait pas d'autre moyen pour connaître le nom du fichier téléchargé que de le stocker dans un dossier avec savepath puis de lire son nom dans le dossier.

Valeurs de retour

Le tableau retourné contient les champs suivants :

  • path - chemin de stockage du dossier
  • size - taille du fichier stocké en octets
  • type - Type MIMI du fichier, s'il a été fourni dans le document FDF

Exemples

Exemple #1 Enregistrement d'un fichier téléchargé

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
$data = fdf_get_attachment($fdf, "filename", "/tmpdir");
echo "Le fichier téléchargé est stocké dans $data[path]";
?>

fdf_get_ap
fdf_get_encoding
Fonctions FDF


Lit la valeur de la clé /Encoding

fdf_get_attachment
fdf_get_file
Fonctions FDF
PHP Manual

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_encoding — Lit la valeur de la clé /Encoding

Description

string fdf_get_encoding ( resource $fdf_document )

Récupère la valeur de la clé /Encoding.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

Valeurs de retour

Retourne l'encodage, sous la forme d'une chaîne de caractères. Une chaîne vide est retournée si le schéma PDFDocEncoding/Unicode est utilisé.

Voir aussi

  • fdf_set_encoding() - Modifie l'encodage des caractères

fdf_get_attachment
fdf_get_file
Fonctions FDF


Lit la valeur de la clé /F

fdf_get_encoding
fdf_get_flags
Fonctions FDF
PHP Manual

fdf_get_file

(PHP 4, PHP 5)

fdf_get_file — Lit la valeur de la clé /F

Description

string fdf_get_file ( resource $fdf_document )

Lit la valeur de la clé /F.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

Valeurs de retour

Retourne la valeur de la clé, sous la forme d'une chaîne de caractères.

Voir aussi

  • fdf_set_file() - Crée un document PDF pour y afficher des données FDF

fdf_get_encoding
fdf_get_flags
Fonctions FDF


Lit les attributs d'un champ FDF

fdf_get_file
fdf_get_opt
Fonctions FDF
PHP Manual

fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_flags — Lit les attributs d'un champ FDF

Description

int fdf_get_flags ( resource $fdf_document , string $fieldname , int $whichflags )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

fdf_get_file
fdf_get_opt
Fonctions FDF


Lit une valeur dans un tableau de valeur d'un champ FDF

fdf_get_flags
fdf_get_status
Fonctions FDF
PHP Manual

fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_opt — Lit une valeur dans un tableau de valeur d'un champ FDF

Description

mixed fdf_get_opt ( resource $fdf_document , string $fieldname [, int $element ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

fdf_get_flags
fdf_get_status
Fonctions FDF


Lit la valeur de la clé /STATUS

fdf_get_opt
fdf_get_value
Fonctions FDF
PHP Manual

fdf_get_status

(PHP 4, PHP 5)

fdf_get_status — Lit la valeur de la clé /STATUS

Description

string fdf_get_status ( resource $fdf_document )

Lit la valeur de la clé /STATUS.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

Valeurs de retour

Retourne la valeur de la clé, sous la forme d'une chaîne de caractères.

Voir aussi

  • fdf_set_status() - Fixe la valeur de la clé /STATUS

fdf_get_opt
fdf_get_value
Fonctions FDF


Retourne la valeur d'un champ FDF

fdf_get_status
fdf_get_version
Fonctions FDF
PHP Manual

fdf_get_value

(PHP 4, PHP 5)

fdf_get_value — Retourne la valeur d'un champ FDF

Description

mixed fdf_get_value ( resource $fdf_document , string $fieldname [, int $which ] )

Retourne la valeur d'un champ FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères.

which

Les éléments d'un champ tableau peuvent être lus en fournissant ce paramètre optionnel, sous la forme d'un entier dont la plus petite valeur sera 0. Pour les champs qui ne sont pas des tableaux, ce paramètre optionnel sera ignoré.

Valeurs de retour

Retourne la valeur du champ.

Historique

Version | Description
4.3.0 | Le support des tableaux et le paramètre which on été ajoutés.

Voir aussi

  • fdf_set_value() - Modifie la valeur d'un champ FDF

fdf_get_status
fdf_get_version
Fonctions FDF


Lit le numéro de version de l'API FDF

fdf_get_value
fdf_header
Fonctions FDF
PHP Manual

fdf_get_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_version — Lit le numéro de version de l'API FDF

Description

string fdf_get_version ([ resource $fdf_document ] )

Retourne le numéro de version FDF pour le document fdf_document, pour l'API si aucun paramètre n'est donné.

Liste de paramètres

fdf_document

Le gestionnaire de document, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

Valeurs de retour

Retourne la version, sous la forme d'une chaîne de caractères. Pour la version actuelle du FDF toolkit 5.0, le numéro de version est 5.0 et le numéro de version de document est 1.2, 1.3 ou 1.4.

Voir aussi

  • fdf_set_version() - Modifie le numéro de version du fichier FDF

fdf_get_value
fdf_header
Fonctions FDF


Émet les en-têtes HTTP spécifiques à FDF

fdf_get_version
fdf_next_field_name
Fonctions FDF
PHP Manual

fdf_header

(PHP 4 >= 4.3.0, PHP 5)

fdf_header — Émet les en-têtes HTTP spécifiques à FDF

Description

void fdf_header ( void )

fdf_header est une fonction de confort, pour émettre les en-têtes HTTP spécifiques à FDF. Elle permet d'envoyer le type Content-type: avec la valeur application/vnd.fdf.

Valeurs de retour

Aucune valeur n'est retournée.

fdf_get_version
fdf_next_field_name
Fonctions FDF


Lit le nom du champ FDF suivant

fdf_header
fdf_open_string
Fonctions FDF
PHP Manual

fdf_next_field_name

(PHP 4, PHP 5)

fdf_next_field_name — Lit le nom du champ FDF suivant

Description

string fdf_next_field_name ( resource $fdf_document [, string $fieldname ] )

Lit le nom du champ FDF suivant. Ce nom pourra être utilisé dans plusieurs fonctions.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères. S'il n'est pas fournis, le premier champ sera retourné.

Valeurs de retour

Retourne le nom du champ, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Détecter tous les noms d'un formulaire FDF

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf);
    $field != "";
    $field = fdf_next_field_name($fdf, $field)) {
    echo "field: $field\n";
}
?>

Voir aussi

  • fdf_get_value() - Retourne la valeur d'un champ FDF

fdf_header
fdf_open_string
Fonctions FDF


Lit un document FDF à partir d'une chaîne de caractères

fdf_next_field_name
fdf_open
Fonctions FDF
PHP Manual

fdf_open_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_open_string — Lit un document FDF à partir d'une chaîne de caractères

Description

resource fdf_open_string ( string $fdf_data )

Lit un document FDF à partir d'une chaîne de caractères.

Vous pouvez utiliser fdf_open_string() avec la variable $HTTP_FDF_DATA pour traiter des données de formulaires issues de clients distants.

Liste de paramètres

fdf_data

Les données, comme retournés depuis un formulaire PDF ou créés en utilisant les fonctions fdf_create() et fdf_save_string().

Valeurs de retour

Retourne un gestionnaire de document FDF, ou FALSE si une erreur survient.

Exemples

Exemple #1 Accès aux données de formulaire FDF

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Voir aussi

  • fdf_open() - Ouvre un document FDF
  • fdf_close() - Ferme un document FDF
  • fdf_create() - Crée un nouveau document FDF
  • fdf_save_string() - Retourne un document FDF sous forme d'une chaîne de caractères

fdf_next_field_name
fdf_open
Fonctions FDF


Ouvre un document FDF

fdf_open_string
fdf_remove_item
Fonctions FDF
PHP Manual

fdf_open

(PHP 4, PHP 5)

fdf_open — Ouvre un document FDF

Description

resource fdf_open ( string $filename )

Ouvre un document FDF.

Vous pouvez également utiliser la fonction fdf_open_string() pour traiter le résultat d'un formulaire PDF issue d'une méthode POST.

Liste de paramètres

filename

Chemin vers le fichier FDF. Ce fichier doit contenir les données telles que retournées par un formulaire PDF ou créées en utilisant les fonctions fdf_create() et fdf_save().

Valeurs de retour

Retourne un gestionnaire de document FDF, ou FALSE si une erreur survient.

Exemples

Exemple #1 Accéder aux données du formulaire

<?php
// Sauve le fichier FDF dans un fichier temporaire.
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Ouvre le fichier temporaire, et utilise les données.
$fdf = fdf_open("test.fdf");
/* ... */
fdf_close($fdf);
?>

Voir aussi

  • fdf_open_string() - Lit un document FDF à partir d'une chaîne de caractères
  • fdf_close() - Ferme un document FDF
  • fdf_create() - Crée un nouveau document FDF
  • fdf_save() - Sauvegarde un document FDF

fdf_open_string
fdf_remove_item
Fonctions FDF


Configure le cadre FDF de destination pour le formulaire

fdf_open
fdf_save_string
Fonctions FDF
PHP Manual

fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5)

fdf_remove_item — Configure le cadre FDF de destination pour le formulaire

Description

bool fdf_remove_item ( resource $fdf_document , string $fieldname , int $item )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

fdf_open
fdf_save_string
Fonctions FDF


Retourne un document FDF sous forme d'une chaîne de caractères

fdf_remove_item
fdf_save
Fonctions FDF
PHP Manual

fdf_save_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_save_string — Retourne un document FDF sous forme d'une chaîne de caractères

Description

string fdf_save_string ( resource $fdf_document )

Retourne un document FDF sous forme d'une chaîne de caractères.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

Valeurs de retour

Retourne le document, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Lire un document FDF sous forme de chaîne de caractères

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

L'exemple ci-dessus va afficher :

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Voir aussi

  • fdf_open_string() - Lit un document FDF à partir d'une chaîne de caractères
  • fdf_close() - Ferme un document FDF
  • fdf_create() - Crée un nouveau document FDF
  • fdf_save() - Sauvegarde un document FDF

fdf_remove_item
fdf_save
Fonctions FDF


Sauvegarde un document FDF

fdf_save_string
fdf_set_ap
Fonctions FDF
PHP Manual

fdf_save

(PHP 4, PHP 5)

fdf_save — Sauvegarde un document FDF

Description

bool fdf_save ( resource $fdf_document [, string $filename ] )

Sauvegarde un document FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

filename

Si fourni, le FDF résultant sera écrit dans ce paramètre. Sinon, cette fonction écrira le FDF dans la sortie standard PHP.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_close() - Ferme un document FDF
  • fdf_create() - Crée un nouveau document FDF
  • fdf_save_string() - Retourne un document FDF sous forme d'une chaîne de caractères

fdf_save_string
fdf_set_ap
Fonctions FDF


Fixe l'apparence d'un champ FDF

fdf_save
fdf_set_encoding
Fonctions FDF
PHP Manual

fdf_set_ap

(PHP 4, PHP 5)

fdf_set_ap — Fixe l'apparence d'un champ FDF

Description

bool fdf_set_ap ( resource $fdf_document , string $field_name , int $face , string $filename , int $page_number )

Fixe l'apparence d'un champ FDF (i.e. la valeur de la clé /AP).

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

field_name

face

Les valeurs possibles sont : FDFNormalAP, FDFRolloverAP et FDFDownAP.

filename

page_number

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

fdf_save
fdf_set_encoding
Fonctions FDF


Modifie l'encodage des caractères

fdf_set_ap
fdf_set_file
Fonctions FDF
PHP Manual

fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5)

fdf_set_encoding — Modifie l'encodage des caractères

Description

bool fdf_set_encoding ( resource $fdf_document , string $encoding )

Modifie l'encodage des caractères du document FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

encoding

Le nom de l'encodage. Les valeurs suivantes sont supportées : "Shift-JIS", "UHC", "GBK" et "BigFive".

Une chaîne de caractères vide replace la valeur par défaut de l'encodage au schéma PDFDocEncoding/Unicode.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

fdf_set_ap
fdf_set_file
Fonctions FDF


Crée un document PDF pour y afficher des données FDF

fdf_set_encoding
fdf_set_flags
Fonctions FDF
PHP Manual

fdf_set_file

(PHP 4, PHP 5)

fdf_set_file — Crée un document PDF pour y afficher des données FDF

Description

bool fdf_set_file ( resource $fdf_document , string $url [, string $target_frame ] )

Crée un document PDF pour y afficher des données FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

url

Doit être fourni sous la forme d'une URL absolue.

target_frame

Utilisez ce paramètre pour spécifier la frame dans laquelle le document sera affiché. Vous pouvez également définir la valeur par défaut de ce paramètre en utilisant la fonction fdf_set_target_frame().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Passer des données FDF à un second formulaire

<?php
/* Configure l'en-tête pour Adobe FDF */
fdf_header();

/* Démarre un nouveau fichier FDF */
$fdf = fdf_create();

/* Assigne au champ "foo" la valeur de "bar" */
fdf_set_value($fdf, "foo", "bar");

/* Indique au client d'afficher les données FDF avec "fdf_form.pdf" */
fdf_set_file($fdf, "http://www.example.com/fdf_form.pdf");

/* Affiche le FDF */
fdf_save($fdf);

/* Nettoie */
fdf_close($fdf);
?>

Voir aussi

  • fdf_get_file() - Lit la valeur de la clé /F
  • fdf_set_target_frame() - Configure le cadre de destination pour l'affichage du formulaire

fdf_set_encoding
fdf_set_flags
Fonctions FDF


Modifie une option d'un champ

fdf_set_file
fdf_set_javascript_action
Fonctions FDF
PHP Manual

fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_flags — Modifie une option d'un champ

Description

bool fdf_set_flags ( resource $fdf_document , string $fieldname , int $whichFlags , int $newFlags )

Modifie une option d'un champ.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères.

whichFlags

newFlags

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_set_opt() - Modifie une option d'un champ

fdf_set_file
fdf_set_javascript_action
Fonctions FDF


Modifie l'action javascript d'un champ

fdf_set_flags
fdf_set_on_import_javascript
Fonctions FDF
PHP Manual

fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_javascript_action — Modifie l'action javascript d'un champ

Description

bool fdf_set_javascript_action ( resource $fdf_document , string $fieldname , int $trigger , string $script )

Modifie l'action javascript d'un champ donné.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction fdf_create(), la fonction fdf_open() ou la fonction fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères.

trigger

script

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_set_submit_form_action() - Modifie l'action d'un formulaire

fdf_set_flags
fdf_set_on_import_javascript
Fonctions FDF


Ajoute du code Javascript à être exécuté lorsque Acrobat ouvre un FDF

fdf_set_javascript_action
fdf_set_opt
Fonctions FDF
PHP Manual

fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_on_import_javascript — Ajoute du code Javascript à être exécuté lorsque Acrobat ouvre un FDF

Description

bool fdf_set_on_import_javascript ( resource $fdf_document , string $script , bool $before_data_import )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • fdf_add_doc_javascript() - Ajoute du code javascript dans un document FDF
  • fdf_set_javascript_action() - Modifie l'action javascript d'un champ

fdf_set_javascript_action
fdf_set_opt
Fonctions FDF


Modifie une option d'un champ

fdf_set_on_import_javascript
fdf_set_status
Fonctions FDF
PHP Manual

fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_opt — Modifie une option d'un champ

Description

bool fdf_set_opt ( resource $fdf_document , string $fieldname , int $element , string $str1 , string $str2 )

Modifie une option d'un champ donné.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction fdf_create(), la fonction fdf_open() ou la fonction fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères.

element

str1

str2

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_set_flags() - Modifie une option d'un champ

fdf_set_on_import_javascript
fdf_set_status
Fonctions FDF


Fixe la valeur de la clé /STATUS

fdf_set_opt
fdf_set_submit_form_action
Fonctions FDF
PHP Manual

fdf_set_status

(PHP 4, PHP 5)

fdf_set_status — Fixe la valeur de la clé /STATUS

Description

bool fdf_set_status ( resource $fdf_document , string $status )

Fixe la valeur de la clé /STATUS. Lorsqu'un client reçoit un FDF avec un statut positionné, sa valeur sera présenté dans une boîte d'alerte.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

status

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_get_status() - Lit la valeur de la clé /STATUS

fdf_set_opt
fdf_set_submit_form_action
Fonctions FDF


Modifie l'action d'un formulaire

fdf_set_status
fdf_set_target_frame
Fonctions FDF
PHP Manual

fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_submit_form_action — Modifie l'action d'un formulaire

Description

bool fdf_set_submit_form_action ( resource $fdf_document , string $fieldname , int $trigger , string $script , int $flags )

Modifie l'action d'un formulaire.

Liste de paramètres

fdf_document

Le gestionnaire de document, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères.

trigger

script

flags

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_set_javascript_action() - Modifie l'action javascript d'un champ

fdf_set_status
fdf_set_target_frame
Fonctions FDF


Configure le cadre de destination pour l'affichage du formulaire

fdf_set_submit_form_action
fdf_set_value
Fonctions FDF
PHP Manual

fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_target_frame — Configure le cadre de destination pour l'affichage du formulaire

Description

bool fdf_set_target_frame ( resource $fdf_document , string $frame_name )

Configure le cadre de destination pour l'affichage du résultat PDF défini par fdf_save_file().

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

frame_name

Le nom du cadre, sous la forme d'une chaîne de caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_save_file()

fdf_set_submit_form_action
fdf_set_value
Fonctions FDF


Modifie la valeur d'un champ FDF

fdf_set_target_frame
fdf_set_version
Fonctions FDF
PHP Manual

fdf_set_value

(PHP 4, PHP 5)

fdf_set_value — Modifie la valeur d'un champ FDF

Description

bool fdf_set_value ( resource $fdf_document , string $fieldname , mixed $value [, int $isName ] )

Modifie la valeur d'un champ FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

fieldname

Nom du champ FDF, sous la forme d'une chaîne de caractères.

value

Ce paramètre devra être stocké comme une chaîne de caractères même si c'est un tableau. Dans ce cas, tous les éléments du tableau seront stockés comme un tableau de valeur.

isName

Note: Dans les anciennes versions de la suite FDF, le dernier paramètre déterminait si la valeur du champs devait être convertie en un nom PDF (isname = 1) ou positionnée comme une chaîne de caractères (isname = 0).
La valeur n'est plus dans la suite actuelle, version 5.0. Pour des raisons de compatibilité, cela est toujours supporté comme un paramètre optionnel depuis PHP 4.3, mais ignoré en interne.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Le support des tableaux dans le paramètre value a été ajouté.

Voir aussi

  • fdf_get_value() - Retourne la valeur d'un champ FDF
  • fdf_remove_item() - Configure le cadre FDF de destination pour le formulaire

fdf_set_target_frame
fdf_set_version
Fonctions FDF


Modifie le numéro de version du fichier FDF

fdf_set_value
GnuPG
Fonctions FDF
PHP Manual

fdf_set_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_version — Modifie le numéro de version du fichier FDF

Description

bool fdf_set_version ( resource $fdf_document , string $version )

Modifie le numéro de version du document FDF courant.

Certaines fonctionnalités supportées par cette extension ne sont disponibles que pour les nouvelles versions de FDF.

Liste de paramètres

fdf_document

Le gestionnaire de document FDF, retourné par la fonction
fdf_create(), la fonction
fdf_open() ou la fonction
fdf_open_string().

version

Le numéro de version. Pour le toolkit FDF courant, ce peut être 1.2, 1.3 ou 1.4.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fdf_get_version() - Lit le numéro de version de l'API FDF

fdf_set_value
GnuPG
Fonctions FDF


GNU PG

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Signe en clair un texte
  • Fonctions GnuPG
    • gnupg_adddecryptkey — Ajoute une clé pour déchiffrement
    • gnupg_addencryptkey — Ajoute une clé pour chiffrement
    • gnupg_addsignkey — Ajoute une clé pour signer
    • gnupg_cleardecryptkeys — Supprime toutes les clés qui étaient fixées pour déchiffrement auparavant
    • gnupg_clearencryptkeys — Supprime toutes les clés qui étaient fixées pour chiffrement auparavant
    • gnupg_clearsignkeys — Supprime toutes les clés qui étaient fixées pour signature auparavant
    • gnupg_decrypt — Déchiffre un texte donné
    • gnupg_decryptverify — Déchiffre et vérifie un texte donné
    • gnupg_encrypt — Chiffre un texte donné
    • gnupg_encryptsign — Chiffre et signe un texte donné
    • gnupg_export — Exporte une clé
    • gnupg_geterror — Retourne le texte d'erreur, si une fonction échoue
    • gnupg_getprotocol — Retourne le protocole actif courant pour toutes les opérations
    • gnupg_import — Importe une clé
    • gnupg_init — Initialise une connexion
    • gnupg_keyinfo — Retourne un tableau avec les informations à propos de toutes les clés qui correspondent au motif donné
    • gnupg_setarmor — Change la sortie blindée
    • gnupg_seterrormode — Fixe le mode pour error_reporting
    • gnupg_setsignmode — Fixe le mode pour signer
    • gnupg_sign — Signe un texte donné
    • gnupg_verify — Vérifie un texte signé
fdf_set_version
Introduction
Affichage des données non-textuelles


Introduction

Ce module vous permet d'interagir avec » gnupg.

GnuPG
Installation/Configuration
GnuPG


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
GnuPG


Pré-requis

L'extension gnupg requiert PHP 4.3. Pour utiliser cette extension dans le style orienté objet, PHP 5 est requis.

Cette extension requiert la » bibliothèque gpgme.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/gnupg.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

GNUPG_SIG_MODE_NORMAL (entier)
GNUPG_SIG_MODE_DETACH (entier)
GNUPG_SIG_MODE_CLEAR (entier)
GNUPG_VALIDITY_UNKNOWN (entier)
GNUPG_VALIDITY_UNDEFINED (entier)
GNUPG_VALIDITY_NEVER (entier)
GNUPG_VALIDITY_MARGINAL (entier)
GNUPG_VALIDITY_FULL (entier)
GNUPG_VALIDITY_ULTIMATE (entier)
GNUPG_PROTOCOL_OpenPGP (entier)
GNUPG_PROTOCOL_CMS (entier)
GNUPG_SIGSUM_VALID (entier)
GNUPG_SIGSUM_GREEN (entier)
GNUPG_SIGSUM_RED (entier)
GNUPG_SIGSUM_KEY_REVOKED (entier)
GNUPG_SIGSUM_KEY_EXPIRED (entier)
GNUPG_SIGSUM_KEY_MISSING (entier)
GNUPG_SIGSUM_SIG_EXPIRED (entier)
GNUPG_SIGSUM_CRL_MISSING (entier)
GNUPG_SIGSUM_CRL_TOO_OLD (entier)
GNUPG_SIGSUM_BAD_POLICY (entier)
GNUPG_SIGSUM_SYS_ERROR (entier)
GNUPG_ERROR_WARNING (entier)
GNUPG_ERROR_EXCEPTION (entier)
GNUPG_ERROR_SILENT (entier)
Types de ressources
Exemples
GnuPG


Exemples

Sommaire

  • Signe en clair un texte
Constantes pré-définies
Signe en clair un texte
GnuPG


Signe en clair un texte

Cet exemple signe en clair un texte donné.

Exemple #1 Exemple avec gnupg clearsign (Style procédural)

<?php
// Initialisation de gnupg
$res = gnupg_init();

// Pas vraiment nécessaire. Clearsign est par défaut.
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);

// Ajoute une clé avec une passphrase 'test' pour signer
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");

// Signe
$signed = gnupg_sign($res,"just a test");

echo $signed;
?>

Exemple #2 Exemple avec gnupg clearsign (Style orienté objet)

<?php
// Nouvelle classe
$gnupg = new gnupg();

// Pas vraiment nécessaire. Clearsign est par défaut
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);

// ajoute une clé avec une passphrase 'test' pour signer
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");

// Signe
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

Exemple #3 keylistiterator

Cette extension vient aussi avec un Itérateur pour votre trousseau.

<?php
// Crée un nouvel itérateur pour lister toutes les clés publiques qui
// correspondent à 'exemple'$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>
Exemples
Fonctions GnuPG
Exemples


Fonctions GnuPG

Notes

Cette extension utilise le trousseau de l'usager courant. Ce trousseau est normalement situé dans ~./.gnupg/. Pour spécifier un emplacement différent, enregistrer le chemin de votre trousseau dans la variable d'environnement GNUPGHOME. Voyez putenv pour plus d'information pour savoir comment faire cela.

Certaines fonctions requièrent la spécification d'une clé. Cette spécification peut être quelque chose qui réfère à une clé unique (userid, key-id, fingerprint, ...). Cette documentation utilise les fingerprint dans tous les exemples.

Sommaire

  • gnupg_adddecryptkey — Ajoute une clé pour déchiffrement
  • gnupg_addencryptkey — Ajoute une clé pour chiffrement
  • gnupg_addsignkey — Ajoute une clé pour signer
  • gnupg_cleardecryptkeys — Supprime toutes les clés qui étaient fixées pour déchiffrement auparavant
  • gnupg_clearencryptkeys — Supprime toutes les clés qui étaient fixées pour chiffrement auparavant
  • gnupg_clearsignkeys — Supprime toutes les clés qui étaient fixées pour signature auparavant
  • gnupg_decrypt — Déchiffre un texte donné
  • gnupg_decryptverify — Déchiffre et vérifie un texte donné
  • gnupg_encrypt — Chiffre un texte donné
  • gnupg_encryptsign — Chiffre et signe un texte donné
  • gnupg_export — Exporte une clé
  • gnupg_geterror — Retourne le texte d'erreur, si une fonction échoue
  • gnupg_getprotocol — Retourne le protocole actif courant pour toutes les opérations
  • gnupg_import — Importe une clé
  • gnupg_init — Initialise une connexion
  • gnupg_keyinfo — Retourne un tableau avec les informations à propos de toutes les clés qui correspondent au motif donné
  • gnupg_setarmor — Change la sortie blindée
  • gnupg_seterrormode — Fixe le mode pour error_reporting
  • gnupg_setsignmode — Fixe le mode pour signer
  • gnupg_sign — Signe un texte donné
  • gnupg_verify — Vérifie un texte signé
Signe en clair un texte
gnupg_adddecryptkey
GnuPG


Ajoute une clé pour déchiffrement

Fonctions GnuPG
gnupg_addencryptkey
Fonctions GnuPG
PHP Manual

gnupg_adddecryptkey

(PECL gnupg >= 0.5)

gnupg_adddecryptkey — Ajoute une clé pour déchiffrement

Description

bool gnupg_adddecryptkey ( resource $identifier , string $fingerprint , string $passphrase )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

fingerprint

L'empreinte de la clé.

passphrase

La phrase de passe (comme le mot de passe, mais plus long).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_adddecryptkey() (Style procédural)

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Exemple #2 Exemple avec gnupg_adddecryptkey() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Fonctions GnuPG
gnupg_addencryptkey
Fonctions GnuPG


Ajoute une clé pour chiffrement

gnupg_adddecryptkey
gnupg_addsignkey
Fonctions GnuPG
PHP Manual

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Ajoute une clé pour chiffrement

Description

bool gnupg_addencryptkey ( resource $identifier , string $fingerprint )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

fingerprint

L'empreinte de la clé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_addencryptkey() (Style procédural)

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Exemple #2 Exemple avec gnupg_addencryptkey() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_adddecryptkey
gnupg_addsignkey
Fonctions GnuPG


Ajoute une clé pour signer

gnupg_addencryptkey
gnupg_cleardecryptkeys
Fonctions GnuPG
PHP Manual

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Ajoute une clé pour signer

Description

bool gnupg_addsignkey ( resource $identifier , string $fingerprint [, string $passphrase ] )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

fingerprint

L'empreinte de la clé.

passphrase

La phrase de passe (comme le mot de passe, mais plus long).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_addsignkey() (Style procédural)

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Exemple #2 Exemple avec gnupg_addsignkey() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

gnupg_addencryptkey
gnupg_cleardecryptkeys
Fonctions GnuPG


Supprime toutes les clés qui étaient fixées pour déchiffrement auparavant

gnupg_addsignkey
gnupg_clearencryptkeys
Fonctions GnuPG
PHP Manual

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Supprime toutes les clés qui étaient fixées pour déchiffrement auparavant

Description

bool gnupg_cleardecryptkeys ( resource $identifier )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_cleardecryptkeys() (Style procédural)

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Exemple #2 Exemple avec gnupg_cleardecryptkeys() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

gnupg_addsignkey
gnupg_clearencryptkeys
Fonctions GnuPG


Supprime toutes les clés qui étaient fixées pour chiffrement auparavant

gnupg_cleardecryptkeys
gnupg_clearsignkeys
Fonctions GnuPG
PHP Manual

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Supprime toutes les clés qui étaient fixées pour chiffrement auparavant

Description

bool gnupg_clearencryptkeys ( resource $identifier )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_clearencryptkeys() (Style procédural)

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Exemple #2 Exemple avec gnupg_clearencryptkeys() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

gnupg_cleardecryptkeys
gnupg_clearsignkeys
Fonctions GnuPG


Supprime toutes les clés qui étaient fixées pour signature auparavant

gnupg_clearencryptkeys
gnupg_decrypt
Fonctions GnuPG
PHP Manual

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Supprime toutes les clés qui étaient fixées pour signature auparavant

Description

bool gnupg_clearsignkeys ( resource $identifier )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_clearsignkeys() (Style procédural)

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Exemple #2 Exemple avec gnupg_clearsignkeys() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

gnupg_clearencryptkeys
gnupg_decrypt
Fonctions GnuPG


Déchiffre un texte donné

gnupg_clearsignkeys
gnupg_decryptverify
Fonctions GnuPG
PHP Manual

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Déchiffre un texte donné

Description

string gnupg_decrypt ( resource $identifier , string $text )

Déchiffre un texte donné avec les clés qui ont été fixées avec gnupg_adddecryptkey auparavant.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

text

Le texte à déchiffrer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_decrypt() (Style procédural)

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Exemple #2 Exemple avec gnupg_encrypt() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

gnupg_clearsignkeys
gnupg_decryptverify
Fonctions GnuPG


Déchiffre et vérifie un texte donné

gnupg_decrypt
gnupg_encrypt
Fonctions GnuPG
PHP Manual

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Déchiffre et vérifie un texte donné

Description

array gnupg_decryptverify ( resource $identifier , string $text , string &$plaintext )

Déchiffre et vérifie un texte donné et retourne les informations à propos de la signature.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

text

Le texte à déchiffrer.

plaintext

Le paramètre plaintext se remplit avec le texte déchiffré.

Valeurs de retour

En cas de succès, cette fonction retourne les informations à propos de la signature et remplit le paramètre plaintext avec le texte déchiffré. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_decryptverify() (Style procédural)

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Exemple #2 Exemple avec gnupg_decryptverify() (Style orienté objet)

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg -> decryptverify($text,$plaintext);
print_r($info);
?>

gnupg_decrypt
gnupg_encrypt
Fonctions GnuPG


Chiffre un texte donné

gnupg_decryptverify
gnupg_encryptsign
Fonctions GnuPG
PHP Manual

gnupg_encrypt

(PECL gnupg >= 0.1)

gnupg_encrypt — Chiffre un texte donné

Description

string gnupg_encrypt ( resource $identifier , string $plaintext )

Chiffre le paramètre plaintext avec les clés qui ont été fixées avec gnupg_addencryptkey auparavant et retourne le texte chiffré.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

plaintext

Le texte à chiffrer.

Valeurs de retour

En cas de succès, cette fonction retourne le texte chiffré. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_encrypt() (Style procédural)

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "juste un test");
echo $enc;
?>

Exemple #2 Exemple avec gnupg_encrypt() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("juste un test");
echo $enc;
?>

gnupg_decryptverify
gnupg_encryptsign
Fonctions GnuPG


Chiffre et signe un texte donné

gnupg_encrypt
gnupg_export
Fonctions GnuPG
PHP Manual

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Chiffre et signe un texte donné

Description

string gnupg_encryptsign ( resource $identifier , string $plaintext )

Chiffre et signe le paramètre plaintext avec les clés qui ont été fixées avec gnupg_addsignkey et gnupg_addencryptkey auparavant et retourne le texte chiffré et signé.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

plaintext

Le texte à chiffrer.

Valeurs de retour

En cas de succès, cette fonction retourne le texte signé et crypté. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_encryptsign() (Style procédural)

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "juste un test");
echo $enc;
?>

Exemple #2 Exemple avec gnupg_encryptsign() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("juste un test");
echo $enc;
?>

gnupg_encrypt
gnupg_export
Fonctions GnuPG


Exporte une clé

gnupg_encryptsign
gnupg_geterror
Fonctions GnuPG
PHP Manual

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Exporte une clé

Description

string gnupg_export ( resource $identifier , string $fingerprint )

Exporte la clé fingerprint.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

fingerprint

L'empreinte de la clé.

Valeurs de retour

En cas de succès, cette fonction retourne les données de la clé. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_export() (Style procédural)

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Exemple #2 Exemple avec gnupg_export() (Style orienté objet)

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_encryptsign
gnupg_geterror
Fonctions GnuPG


Retourne le texte d'erreur, si une fonction échoue

gnupg_export
gnupg_getprotocol
Fonctions GnuPG
PHP Manual

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Retourne le texte d'erreur, si une fonction échoue

Description

string gnupg_geterror ( resource $identifier )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

Valeurs de retour

Retourne le texte d'erreur si une erreur s'est produite, sinon retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_geterror() (Style procédural)

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Exemple #2 Exemple avec gnupg_geterror() (Style orienté objet)

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

gnupg_export
gnupg_getprotocol
Fonctions GnuPG


Retourne le protocole actif courant pour toutes les opérations

gnupg_geterror
gnupg_import
Fonctions GnuPG
PHP Manual

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Retourne le protocole actif courant pour toutes les opérations

Description

int gnupg_getprotocol ( resource $identifier )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

Valeurs de retour

Retourne le protocole actif courant, qui peut être un de ceux-ci : GNUPG_PROTOCOL_OpenPGP ou GNUPG_PROTOCOL_CMS.

Exemples

Exemple #1 Exemple avec gnupg_getprotocol() (Style procédural)

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Exemple #2 Exemple avec gnupg_getprotocol() (Style orienté objet)

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>

gnupg_geterror
gnupg_import
Fonctions GnuPG


Importe une clé

gnupg_getprotocol
gnupg_init
Fonctions GnuPG
PHP Manual

gnupg_import

(PECL gnupg >= 0.3)

gnupg_import — Importe une clé

Description

array gnupg_import ( resource $identifier , string $keydata )

Importe la clé keydata et retourne un tableau avec les informations à propos du processus d'importation.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

keydata

La clé à importer.

Valeurs de retour

En cas de succès, cette fonction retourne un tableau d'information à propos du processus d'importation. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_import() (Style procédural)

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Exemple #2 Exemple avec gnupg_import() (Style orienté objet)

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>

gnupg_getprotocol
gnupg_init
Fonctions GnuPG


Initialise une connexion

gnupg_import
gnupg_keyinfo
Fonctions GnuPG
PHP Manual

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Initialise une connexion

Description

resource gnupg_init ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une ressource de connexion GnuPG, utilisée par les autres fonctions GnuPG.

Exemples

Exemple #1 Exemple avec gnupg_init() (Style procédural)

<?php
$res = gnupg_init();
?>

Exemple #2 Exemple avec gnupg_init() (Style orienté objet)

<?php
$gpg = new gnupg();
?>

gnupg_import
gnupg_keyinfo
Fonctions GnuPG


Retourne un tableau avec les informations à propos de toutes les clés qui correspondent au motif donné

gnupg_init
gnupg_setarmor
Fonctions GnuPG
PHP Manual

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Retourne un tableau avec les informations à propos de toutes les clés qui correspondent au motif donné

Description

array gnupg_keyinfo ( resource $identifier , string $pattern )

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

pattern

Le masque à utiliser sur les clés.

Valeurs de retour

Retourne un tableau avec les informations à propos de toutes les clés qui correspondent au motif donné ou retourne FALSE si une erreur s'est produite.

Exemples

Exemple #1 Exemple avec gnupg_keyinfo() (Style procédural)

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Exemple #2 Exemple avec gnupg_keyinfo() (Style orienté objet)

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

gnupg_init
gnupg_setarmor
Fonctions GnuPG


Change la sortie blindée

gnupg_keyinfo
gnupg_seterrormode
Fonctions GnuPG
PHP Manual

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Change la sortie blindée

Description

bool gnupg_setarmor ( resource $identifier , int $armor )

Change la sortie blindée.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

armor

Passez une valeur entière différente de zéro à cette fonction pour activer la sortie blindée (valeur par défaut). Passez 0 pour désactiver la sortie blindée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_setarmor() (Style procédural)

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // Active la sortie blindée;
gnupg_setarmor($res,0); // Désactive la sortie blindée;
?>

Exemple #2 Exemple avec gnupg_setarmor() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // Active la sortie blindée;
$gpg -> setarmor(0); // Désactive la sortie blindée;
?>

gnupg_keyinfo
gnupg_seterrormode
Fonctions GnuPG


Fixe le mode pour error_reporting

gnupg_setarmor
gnupg_setsignmode
Fonctions GnuPG
PHP Manual

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Fixe le mode pour error_reporting

Description

void gnupg_seterrormode ( resource $identifier , int $errormode )

Fixe le mode pour error_reporting.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

errormode

Le mode de l'erreur.

errormode prend une constante indiquant quel type de error_reporting devrait être utilisé. Les valeurs possibles sont GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION et GNUPG_ERROR_SILENT. Par défaut GNUPG_ERROR_SILENT.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec gnupg_seterrormode() (Style procédural)

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // émet un PHP-Warning dans le cas d'une erreur
?>

Exemple #2 Exemple avec gnupg_seterrormode() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg->seterrormode(gnupg::ERROR_EXCEPTION); // jette une exception dans le cas d'une erreur
?>

gnupg_setarmor
gnupg_setsignmode
Fonctions GnuPG


Fixe le mode pour signer

gnupg_seterrormode
gnupg_sign
Fonctions GnuPG
PHP Manual

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Fixe le mode pour signer

Description

bool gnupg_setsignmode ( resource $identifier , int $signmode )

Fixe le mode pour signer.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

sigmode

Le mode de signature.

signmode prend une constante indiquant quel type de signature qui doit être produite. Les valeurs possibles sont : GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH et GNUPG_SIG_MODE_CLEAR. Par défaut, GNUPG_SIG_MODE_CLEAR est utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_setsignmode() (Style procédural)

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produit une signature détachée
?>

Exemple #2 Exemple avec gnupg_setsignmode() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg->setsignmode(gnupg::SIG_MODE_DETACH); // produit une signature détachée
?>

gnupg_seterrormode
gnupg_sign
Fonctions GnuPG


Signe un texte donné

gnupg_setsignmode
gnupg_verify
Fonctions GnuPG
PHP Manual

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Signe un texte donné

Description

string gnupg_sign ( resource $identifier , string $plaintext )

Signe le paramètre plaintext avec les clés qui ont été fixées avec gnupg_addsignkey auparavant et retourne le texte signé ou la signature, dépendamment de ce qui a été fixé avec gnupg_setsignmode.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

plaintext

Le texte à signer.

Valeurs de retour

En cas de succès, cette fonction retourne le texte signé ou la signature. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_sign() (Style procédural)

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "juste un test");
echo $signed;
?>

Exemple #2 Exemple avec gnupg_sign() (Style orienté objet)

<?php
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("juste un test");
echo $signed;
?>

gnupg_setsignmode
gnupg_verify
Fonctions GnuPG


Vérifie un texte signé

gnupg_sign
haru
Fonctions GnuPG
PHP Manual

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Vérifie un texte signé

Description

array gnupg_verify ( resource $identifier , string $signed_text , string $signature [, string &$plaintext ] )

Vérifie le paramètre signed_text et retourne les informations à propos de la signature.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

signed_text

Le texte signé.

signature

La signature. Pour vérifier un texte signé en clair, fixez la signature à FALSE.

plaintext

Le texte. Si ce paramètre optionnel est passé, il est rempli avec le plaintext.

Valeurs de retour

En cas de succès, cette fonction retourne des informations à propos de la signature. En cas d'échec, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec gnupg_verify() (Style procédural)

<?php
$plaintext = "";
$res = gnupg_init();
// signé en clair
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// signature détachée
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Exemple #2 Exemple avec gnupg_verify() (Style orienté objet)

<?php
$plaintext = "";
$gpg = new gnupg();
// signé en clair
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// signature détachée
$info = $gpg -> verify($signed_text,$signature);
print_r($info);
?>

gnupg_sign
haru
Fonctions GnuPG


Haru PDF

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple d'utilisation de PECL/haru
  • Polices internes et encodages
    • Polices internes
    • Encodages internes
  • HaruException — Classe HaruException
  • HaruDoc — Classe HaruDoc
    • HaruDoc::addPage — Ajoute une nouvelle page au document
    • HaruDoc::addPageLabel — Définit le style de numérotation d'une série de pages
    • HaruDoc::__construct — Construit un nouvel objet HaruDoc
    • HaruDoc::createOutline — Crée une instance HaruOutline
    • HaruDoc::getCurrentEncoder — Récupère l'instance HaruEncoder actuellement utilisée dans le document
    • HaruDoc::getCurrentPage — Retourne la page courante du document
    • HaruDoc::getEncoder — Récupère l'instance HaruEncoder de l'encodage spécifié
    • HaruDoc::getFont — Récupère une instance HaruFont
    • HaruDoc::getInfoAttr — Récupère la valeur courante d'un attribut de document spécifié
    • HaruDoc::getPageLayout — Récupère la disposition courante de la page
    • HaruDoc::getPageMode — Récupère le mode courant de la page
    • HaruDoc::getStreamSize — Récupère la taille du flux temporaire
    • HaruDoc::insertPage — Insère une nouvelle page juste avant la page spécifiée
    • HaruDoc::loadJPEG — Charge une image JPEG
    • HaruDoc::loadPNG — Charge une image PNG
    • HaruDoc::loadRaw — Charge une image RAW
    • HaruDoc::loadTTC — Charge la police avec l'index spécifié depuis le fichier TTC
    • HaruDoc::loadTTF — Charge un fichier de police TTF
    • HaruDoc::loadType1 — Charge la police Type1
    • HaruDoc::output — Écrit les données du document dans un buffer de sortie
    • HaruDoc::readFromStream — Lit les données depuis le flux temporaire
    • HaruDoc::resetError — Réinitialise le statut d'erreur du gestionnaire de document
    • HaruDoc::resetStream — Revient au début du flux temporaire
    • HaruDoc::save — Sauvegarde le document dans le fichier spécifié
    • HaruDoc::saveToStream — Sauvegarde le document dans un flux temporaire
    • HaruDoc::setCompressionMode — Définit le mode de compression pour le document
    • HaruDoc::setCurrentEncoder — Définit l'encodeur courant pour le document
    • HaruDoc::setEncryptionMode — Définit le mode de chiffrement pour le document
    • HaruDoc::setInfoAttr — Définit l'attribut d'information du document
    • HaruDoc::setInfoDateAttr — Définit les attributs d'informations de date et d'heure pour le document
    • HaruDoc::setOpenAction — Définit quelle page est affichée lors de l'ouverture du document
    • HaruDoc::setPageLayout — Définit la façon dont la page doit être affichée
    • HaruDoc::setPageMode — Définit la façon dont le document doit être affiché
    • HaruDoc::setPagesConfiguration — Définit le nombre de pages par jeu de pages
    • HaruDoc::setPassword — Définit les mots de passe de l'utilisateur et du propriétaire pour le document
    • HaruDoc::setPermission — Définit les permissions du document
    • HaruDoc::useCNSEncodings — Active l'encodage chinois simplifié
    • HaruDoc::useCNSFonts — Active les polices chinoises simplifiées internes
    • HaruDoc::useCNTEncodings — Active l'encodage chinois traditionnel
    • HaruDoc::useCNTFonts — Active les polices chinoises traditionnelles internes
    • HaruDoc::useJPEncodings — Active l'encodage japonais
    • HaruDoc::useJPFonts — Active les polices japonaises internes
    • HaruDoc::useKREncodings — Active l'encodage coréen
    • HaruDoc::useKRFonts — Active les polices coréennes internes
  • HaruPage — Classe HaruPage
    • HaruPage::arc — Ajoute un arc au chemin courant
    • HaruPage::beginText — Commence un objet texte et définit la position courante du texte à (0,0)
    • HaruPage::circle — Ajoute un cercle au chemin courant
    • HaruPage::closePath — Ajoute une ligne droite depuis le point courant jusqu'au point de départ du chemin
    • HaruPage::concat — Concatène la matrice de transformation courante et la matrice spécifiée
    • HaruPage::createDestination — Crée une nouvelle instance HaruDestination
    • HaruPage::createLinkAnnotation — Crée une nouvelle instance HaruAnnotation
    • HaruPage::createTextAnnotation — Crée une nouvelle instance HaruAnnotation
    • HaruPage::createURLAnnotation — Crée une nouvelle instance HaruAnnotation instance
    • HaruPage::curveTo2 — Ajoute une courbe de Bézier au chemin courant
    • HaruPage::curveTo3 — Ajoute une courbe de Bézier au chemin courant
    • HaruPage::curveTo — Ajoute une courbe de Bézier au chemin courant
    • HaruPage::drawImage — Affiche une image dans la page
    • HaruPage::ellipse — Ajoute une ellipse au chemin courant
    • HaruPage::endPath — Termine l'objet chemin courant sans effectuer d'opérations de remplissage et de peinture
    • HaruPage::endText — Termine l'objet texte courant
    • HaruPage::eofill — Remplit le chemin courant en utilisant la règle "even-odd"
    • HaruPage::eoFillStroke — Remplit le chemin courant en utilisant la règle "even-odd", puis, peint le chemin
    • HaruPage::fill — Remplit le chemin courant en utilisant des nombres différents de zéro
    • HaruPage::fillStroke — Remplit le chemin en utilisant des nombres différents de zéro, puis peint le chemin
    • HaruPage::getCharSpace — Récupère la valeur courante de l'espacement des caractères
    • HaruPage::getCMYKFill — Récupère la couleur de remplissage courante
    • HaruPage::getCMYKStroke — Récupère la couleur de remplissage courante
    • HaruPage::getCurrentFont — Récupère la police actuellement utilisée
    • HaruPage::getCurrentFontSize — Récupère la taille de la police courante
    • HaruPage::getCurrentPos — Récupère la position courante pour l'affichage
    • HaruPage::getCurrentTextPos — Récupère la position courante pour l'affichage du texte
    • HaruPage::getDash — Récupère le style de tiret courant
    • HaruPage::getFillingColorSpace — Récupère la couleur de remplissage
    • HaruPage::getFlatness — Récupère la planéité de la page
    • HaruPage::getGMode — Récupère le mode courant de graphique
    • HaruPage::getGrayFill — Récupère la couleur courante de remplissage
    • HaruPage::getGrayStroke — Récupère la couleur courante
    • HaruPage::getHeight — Récupère la hauteur de la page
    • HaruPage::getHorizontalScaling — Récupère la valeur courante de l'échelle horizontale
    • HaruPage::getLineCap — Récupère le style courant de fin de lignes
    • HaruPage::getLineJoin — Récupère le style de jointure de lignes
    • HaruPage::getLineWidth — Récupère la largeur courante de la ligne
    • HaruPage::getMiterLimit — Récupère la valeur de la limite de l'anglet
    • HaruPage::getRGBFill — Récupère la couleur courante de remplissage
    • HaruPage::getRGBStroke — Récupère la couleur de peinture courante
    • HaruPage::getStrokingColorSpace — Récupère la couleur de peinture de l'espace courant
    • HaruPage::getTextLeading — Récupère la valeur courante de l'espacement des lignes
    • HaruPage::getTextMatrix — Récupère la matrice de transformation courante du texte de la page
    • HaruPage::getTextRenderingMode — Récupère le mode de rendu courant du texte
    • HaruPage::getTextRise — Récupère la valeur de la levée du texte
    • HaruPage::getTextWidth — Récupère la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots
    • HaruPage::getTransMatrix — Récupère la matrice de transformation courante de la page
    • HaruPage::getWidth — Récupère la largeur de la page
    • HaruPage::getWordSpace — Récupère la valeur courante de l'espacement entre les mots
    • HaruPage::lineTo — Trace une ligne depuis le point courant vers le point spécifié
    • HaruPage::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée
    • HaruPage::moveTextPos — Déplace la position du texte à une position donnée
    • HaruPage::moveTo — Définit le point de départ pour la nouvelle ligne
    • HaruPage::moveToNextLine — Déplace la position du texte au début de la prochaine ligne
    • HaruPage::rectangle — Ajoute un rectangle à la position courante
    • HaruPage::setCharSpace — Définit l'espacement des caractères pour la page
    • HaruPage::setCMYKFill — Définit la couleur de remplissage de la page
    • HaruPage::setCMYKStroke — Définit la couleur de remplissage de la page
    • HaruPage::setDash — Définit le style de tiret pour la page
    • HaruPage::setFlatness — Définit la planéité de la page
    • HaruPage::setFontAndSize — Définit la police et sa taille pour la page
    • HaruPage::setGrayFill — Définit la couleur de remplissage de la page
    • HaruPage::setGrayStroke — Définit la couleur de remplissage de la page
    • HaruPage::setHeight — Définit la hauteur de la page
    • HaruPage::setHorizontalScaling — Définit la graduation horizontale de la page
    • HaruPage::setLineCap — Définit la forme à utiliser à la fin des lignes
    • HaruPage::setLineJoin — Définit le style de jointure de ligne pour la page
    • HaruPage::setLineWidth — Définit la largeur de la ligne pour la page
    • HaruPage::setMiterLimit — Définit la valeur courante de la limite de l'anglet de la page
    • HaruPage::setRGBFill — Définit la couleur de remplissage pour la page
    • HaruPage::setRGBStroke — Définit la couleur de remplissage de la page
    • HaruPage::setRotate — Définit l'angle de rotation de la page
    • HaruPage::setSize — Définit la taille et la direction de la page
    • HaruPage::setSlideShow — Définit le style de transition pour la page
    • HaruPage::setTextLeading — Définit l'espacement entre les lignes du texte pour la page
    • HaruPage::setTextMatrix — Définit la matrice de transformation de texte courante de la page
    • HaruPage::setTextRenderingMode — Définit la matrice de transformation de texte courante de la page
    • HaruPage::setTextRise — Définit la valeur courante de la levée du texte
    • HaruPage::setWidth — Définit la largeur de la page
    • HaruPage::setWordSpace — Définit l'espacement entre les mots pour la page
    • HaruPage::showText — Affiche le texte à la position courante de la page
    • HaruPage::showTextNextLine — Déplace la position courante au début de la prochaine ligne et affiche le texte
    • HaruPage::stroke — Peint le chemin courant
    • HaruPage::textOut — Affiche le texte à la position spécifiée
    • HaruPage::textRect — Affiche le texte d'une région spécifique
  • HaruFont — Classe HaruFont
    • HaruFont::getAscent — Récupère la montée verticale de la police
    • HaruFont::getCapHeight — Récupère la distance depuis la ligne de base des lettres en majuscule
    • HaruFont::getDescent — Récupère la descente verticale de la police
    • HaruFont::getEncodingName — Récupère le nom de l'encodage
    • HaruFont::getFontName — Récupère le nom de la police
    • HaruFont::getTextWidth — Récupère la largeur totale du texte, le nombre de caractères, le nombre de mots et le nombre d'espaces
    • HaruFont::getUnicodeWidth — Récupère la largeur d'un caractère dans une police
    • HaruFont::getXHeight — Récupère la distance depuis la ligne de base des lettres minuscule
    • HaruFont::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée
  • HaruImage — Classe HaruImage
    • HaruImage::getBitsPerComponent — Récupère le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image
    • HaruImage::getColorSpace — Récupère le nom de l'espace de couleur de l'image
    • HaruImage::getHeight — Récupère la hauteur de l'image
    • HaruImage::getSize — Récupère la taille de l'image
    • HaruImage::getWidth — Récupère la largeur de l'image
    • HaruImage::setColorMask — Définit le masque de couleur de l'image
    • HaruImage::setMaskImage — Définit le masque de l'image
  • HaruEncoder — Classe HaruEncoder
    • HaruEncoder::getByteType — Récupère le type d'octets dans le texte
    • HaruEncoder::getType — Récupère le type de l'encodeur
    • HaruEncoder::getUnicode — Convertit un caractère en unicode
    • HaruEncoder::getWritingMode — Récupère le mode d'écriture de l'encodeur
  • HaruOutline — Classe HaruOutline
    • HaruOutline::setDestination — Définit la destination pour le contour
    • HaruOutline::setOpened — Définit le statut initial du contour
  • HaruAnnotation — Classe HaruAnnotation
    • HaruAnnotation::setBorderStyle — Définit le style de bordure d'une annotation
    • HaruAnnotation::setHighlightMode — Définit le mode de mise en évidence de l'annotation
    • HaruAnnotation::setIcon — Définit le style de l'icône de l'annotation
    • HaruAnnotation::setOpened — Définit le statut initial de l'annotation
  • HaruDestination — Classe HaruDestination
    • HaruDestination::setFit — Définit l'apparence de la page afin qu'elle tienne dans la fenêtre
    • HaruDestination::setFitB — Définit l'apparence de la page afin qu'elle tienne dans une boite de la page dans la fenêtre
    • HaruDestination::setFitBH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la boite
    • HaruDestination::setFitBV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la boite
    • HaruDestination::setFitH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la page
    • HaruDestination::setFitR — Définit l'apparence de la page afin qu'elle tienne dans le rectangle spécifié
    • HaruDestination::setFitV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la fenêtre
    • HaruDestination::setXYZ — Définit l'apparence d'une page
gnupg_verify
Introduction
Affichage des données non-textuelles


Introduction

L'extension PECL/Haru fournit une API pour la bibliothèque Haru Free PDF : c'est une bibliothèque libre, multiplate-forme, Open Source pour la génération de fichiers PDF.

La bibliothèque Haru (libHaru) peut être trouvée ici : » http://libharu.org.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

haru
Installation/Configuration
haru


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
haru


Pré-requis

Vous devez d'abord installer libharu afin de pouvoir utiliser PECL/haru. PECL/haru est testé avec libharu 2.0.8, les anciennes versions pourraient ne pas fonctionner. PECL/haru nécessite PHP 5.1.3 ou supérieur.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/haru.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
haru


Exemples

Sommaire

  • Exemple d'utilisation de PECL/haru
Constantes pré-définies
Exemple d'utilisation de PECL/haru
haru


Exemple d'utilisation de PECL/haru

Exemple #1 "Hello world"

<?php

$doc = new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* affiche les miniatures */

$page = $doc->addPage(); /* ajout d'une page au document */
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* définit la page en A4/paysage */

$courier = $doc->getFont("Courier-Bold"); /* nous allons utiliser cette police interne plus tard */

$page->setRGBStroke(0, 0, 0); /* définit les couleurs */
$page->setRGBFill(0.7, 0.8, 0.9);
$page->rectangle(150, 150, 550, 250); /* dessine un rectangle */

$page->fillStroke(); /* on le trace et on le remplit */

$page->setDash(array(3, 3), 0); /* définit le style "en tiret" sur cette page */
$page->setFontAndSize($courier, 60); /* définit la police et sa taille */

$page->setRGBStroke(0.5, 0.5, 0.1); /* définit la couleur de ligne */
$page->setRGBFill(1, 1, 1); /* définit la couleur de remplissage */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* trace et remplit le texte */

/* affiche le texte */
$page->beginText();
$page->textOut(210, 270, "Hello World!");
$page->endText();

$doc->save("/tmp/test.pdf"); /* sauvegarde le document dans un fichier */

?>

Ouvrez le document dans votre lecteur PDF favori et vous devriez voir un rectangle légèrement bleuté contenant un "Hello World!" en blanc.

Exemples
Polices internes et encodages
Exemples


Polices internes et encodages

Sommaire

  • Polices internes
  • Encodages internes
Exemple d'utilisation de PECL/haru
Polices internes
haru


Polices internes

Ces polices Base14 sont intégrées dans PDF et toutes les lecteurs PDF peuvent les afficher. L'utilisation de ces polices peut baisser la taille du fichier résultat et rendre le processus plus rapide, évitant le chargement de police externe. Cependant, ces polices ne supportent que le jeu de caractères latin1 et vous devez charger des polices externes si vous avez besoin d'utiliser d'autres jeux de caractères.

Les polices Base14 :

  • Courrier

  • Courrier-Gras

  • Courrier-Italique

  • Courrier-Gras et italique

  • Helvetica

  • Helvetica-Gras

  • Helvetica-Italique

  • Helvetica-Gras et italique

  • Times-Roman

  • Times-Gras

  • Times-Italique

  • Times-Gras et italique

  • Symbol

  • ZapfDingbats

Polices internes et encodages
Encodages internes
Polices internes et encodages


Encodages internes

Encodages de jeu de caractères sur un seul octet
Nom | Description
StandardEncoding | L'encodage par défaut de PDF.
MacRomanEncoding | L'encodage par défaut de Mac OS.
WinAnsiEncoding | L'encodage par défaut de Windows.
FontSpecific | L'encodage des polices internes.
ISO8859-2 | Latin2 (Europe de l'est)
ISO8859-3 | Latin3 (Europe de l'ouest)
ISO8859-4 | Latin4 (Europe du nord)
ISO8859-5 | Cyrillique
ISO8859-6 | Arabe
ISO8859-7 | Grec
ISO8859-8 | Hébreu
ISO8859-9 | Latin5 (Turque)
ISO8859-10 | Latin6 (Nordique)
ISO8859-11 | Thaï
ISO8859-13 | Latin7 (Jante baltique)
ISO8859-14 | Latin8 (Celtique)
ISO8859-15 | Latin9
ISO8859-16 | Latin10
CP1250 | MS Windows Codepage 1250.
CP1251 | MS Windows Codepage 1251.
CP1252 | MS Windows Codepage 1252.
CP1253 | MS Windows Codepage 1253.
CP1254 | MS Windows Codepage 1254.
CP1255 | MS Windows Codepage 1255.
CP1256 | MS Windows Codepage 1256.
CP1257 | MS Windows Codepage 1257.
CP1258 | MS Windows Codepage 1258.
KOI8-R | Jeu de caractères cyrillique.
Encodages de jeu de caractères multi-octets
Nom | Description
GB-EUC-H | Encodage EUC-CN.
GB-EUC-V | Version verticale de GB-EUC-H.
GBK-EUC-H | Encodage Microsoft Code Page 936 (lfCharSet 0x86) GBK.
GBK-EUC-V | Version verticale de GBK-EUC-H.
ETen-B5-H | Jeu de caractères Microsoft Code Page 950 (lfCharSet 0x88) Big Five avec les extensions ETen.
ETen-B5-V | Version verticale de ETen-B5-H.
90ms-RKSJ-H | Microsoft Code Page 932, caractère JIS X 0208.
90ms-RKSJ-V | Version verticale de 90ms-RKSJ-V.
90msp-RKSJ-H | Microsoft Code Page 932, caractère JIS X 0208 (proportionnel).
EUC-H | Jeu de caractères JIS X 0208, encodage EUC-JP.
EUC-V | Version verticale de EUC-H.
KSC-EUC-H | Jeu de caractères KS X 1001:1992, encodage EUC-KR.
KSC-EUC-V | Version verticale de KSC-EUC-V.
KSCms-UHC-H | Microsoft Code Page 949 (lfCharSet 0x81), jeu de caractères KS X 1001:1992 et 8822 additionnel hangul, encodage Unified Hangul Code (UHC) (à largeur fixe).
KSCms-UHC-HW-H | Microsoft Code Page 949 (lfCharSet 0x81), jeu de caractères KS X 1001:1992 et 8822 additionnel hangul, encodage Unified Hangul Code (UHC) (à largeur fixe).
KSCms-UHC-HW-V | Version verticale de KSCms-UHC-HW-H.
Polices internes
HaruException
Polices internes et encodages


Classe HaruException

Introduction

Classe Haru PDF Exception.

Synopsis de la classe

HaruException
HaruException extends Exception {
/* Inherits */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Encodages internes
HaruDoc
haru


Classe HaruDoc

Introduction

Classe Haru PDF Document.

Synopsis de la classe

HaruDoc
HaruDoc {
/* Méthodes */
object addPage ( void )
bool addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )
void __construct ( void )
object createOutline ( string $title [, object $parent_outline [, object $encoder ]] )
object getCurrentEncoder ( void )
object getCurrentPage ( void )
object getEncoder ( string $encoding )
object getFont ( string $fontname [, string $encoding ] )
string getInfoAttr ( int $type )
int getPageLayout ( void )
int getPageMode ( void )
int getStreamSize ( void )
object insertPage ( object $page )
object loadJPEG ( string $filename )
object loadPNG ( string $filename [, bool $deferred = false ] )
object loadRaw ( string $filename , int $width , int $height , int $color_space )
string loadTTC ( string $fontfile , int $index [, bool $embed = false ] )
string loadTTF ( string $fontfile [, bool $embed = false ] )
string loadType1 ( string $afmfile [, string $pfmfile ] )
bool output ( void )
string readFromStream ( int $bytes )
bool resetError ( void )
bool resetStream ( void )
bool save ( string $file )
bool saveToStream ( void )
bool setCompressionMode ( int $mode )
bool setCurrentEncoder ( string $encoding )
bool setEncryptionMode ( int $mode [, int $key_len = 5 ] )
bool setInfoAttr ( int $type , string $info )
bool setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )
bool setOpenAction ( object $destination )
bool setPageLayout ( int $layout )
bool setPageMode ( int $mode )
bool setPagesConfiguration ( int $page_per_pages )
bool setPassword ( string $owner_password , string $user_password )
bool setPermission ( int $permission )
bool useCNSEncodings ( void )
bool useCNSFonts ( void )
bool useCNTEncodings ( void )
bool useCNTFonts ( void )
bool useJPEncodings ( void )
bool useJPFonts ( void )
bool useKREncodings ( void )
bool useKRFonts ( void )
}

Constantes pré-définies

Type | Nom | Description
int | HaruDoc::CS_DEVICE_GRAY |
int | HaruDoc::CS_DEVICE_RGB |
int | HaruDoc::CS_DEVICE_CMYK |
int | HaruDoc::CS_CAL_GRAY |
int | HaruDoc::CS_CAL_RGB |
int | HaruDoc::CS_LAB |
int | HaruDoc::CS_ICC_BASED |
int | HaruDoc::CS_SEPARATION |
int | HaruDoc::CS_DEVICE_N |
int | HaruDoc::CS_INDEXED |
int | HaruDoc::CS_PATTERN |
int | HaruDoc::ENABLE_READ |
int | HaruDoc::ENABLE_PRINT |
int | HaruDoc::ENABLE_EDIT_ALL |
int | HaruDoc::ENABLE_COPY |
int | HaruDoc::ENABLE_EDIT |
int | HaruDoc::ENCRYPT_R2 |
int | HaruDoc::ENCRYPT_R3 |
int | HaruDoc::INFO_AUTHOR |
int | HaruDoc::INFO_CREATOR |
int | HaruDoc::INFO_TITLE |
int | HaruDoc::INFO_SUBJECT |
int | HaruDoc::INFO_KEYWORDS |
int | HaruDoc::INFO_CREATION_DATE |
int | HaruDoc::INFO_MOD_DATE |
int | HaruDoc::COMP_NONE |
int | HaruDoc::COMP_TEXT |
int | HaruDoc::COMP_IMAGE |
int | HaruDoc::COMP_METADATA |
int | HaruDoc::COMP_ALL |
int | HaruDoc::PAGE_LAYOUT_SINGLE |
int | HaruDoc::PAGE_LAYOUT_ONE_COLUMN |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT |
int | HaruDoc::PAGE_MODE_USE_NONE |
int | HaruDoc::PAGE_MODE_USE_OUTLINE |
int | HaruDoc::PAGE_MODE_USE_THUMBS |
int | HaruDoc::PAGE_MODE_FULL_SCREEN |

Sommaire

  • HaruDoc::addPage — Ajoute une nouvelle page au document
  • HaruDoc::addPageLabel — Définit le style de numérotation d'une série de pages
  • HaruDoc::__construct — Construit un nouvel objet HaruDoc
  • HaruDoc::createOutline — Crée une instance HaruOutline
  • HaruDoc::getCurrentEncoder — Récupère l'instance HaruEncoder actuellement utilisée dans le document
  • HaruDoc::getCurrentPage — Retourne la page courante du document
  • HaruDoc::getEncoder — Récupère l'instance HaruEncoder de l'encodage spécifié
  • HaruDoc::getFont — Récupère une instance HaruFont
  • HaruDoc::getInfoAttr — Récupère la valeur courante d'un attribut de document spécifié
  • HaruDoc::getPageLayout — Récupère la disposition courante de la page
  • HaruDoc::getPageMode — Récupère le mode courant de la page
  • HaruDoc::getStreamSize — Récupère la taille du flux temporaire
  • HaruDoc::insertPage — Insère une nouvelle page juste avant la page spécifiée
  • HaruDoc::loadJPEG — Charge une image JPEG
  • HaruDoc::loadPNG — Charge une image PNG
  • HaruDoc::loadRaw — Charge une image RAW
  • HaruDoc::loadTTC — Charge la police avec l'index spécifié depuis le fichier TTC
  • HaruDoc::loadTTF — Charge un fichier de police TTF
  • HaruDoc::loadType1 — Charge la police Type1
  • HaruDoc::output — Écrit les données du document dans un buffer de sortie
  • HaruDoc::readFromStream — Lit les données depuis le flux temporaire
  • HaruDoc::resetError — Réinitialise le statut d'erreur du gestionnaire de document
  • HaruDoc::resetStream — Revient au début du flux temporaire
  • HaruDoc::save — Sauvegarde le document dans le fichier spécifié
  • HaruDoc::saveToStream — Sauvegarde le document dans un flux temporaire
  • HaruDoc::setCompressionMode — Définit le mode de compression pour le document
  • HaruDoc::setCurrentEncoder — Définit l'encodeur courant pour le document
  • HaruDoc::setEncryptionMode — Définit le mode de chiffrement pour le document
  • HaruDoc::setInfoAttr — Définit l'attribut d'information du document
  • HaruDoc::setInfoDateAttr — Définit les attributs d'informations de date et d'heure pour le document
  • HaruDoc::setOpenAction — Définit quelle page est affichée lors de l'ouverture du document
  • HaruDoc::setPageLayout — Définit la façon dont la page doit être affichée
  • HaruDoc::setPageMode — Définit la façon dont le document doit être affiché
  • HaruDoc::setPagesConfiguration — Définit le nombre de pages par jeu de pages
  • HaruDoc::setPassword — Définit les mots de passe de l'utilisateur et du propriétaire pour le document
  • HaruDoc::setPermission — Définit les permissions du document
  • HaruDoc::useCNSEncodings — Active l'encodage chinois simplifié
  • HaruDoc::useCNSFonts — Active les polices chinoises simplifiées internes
  • HaruDoc::useCNTEncodings — Active l'encodage chinois traditionnel
  • HaruDoc::useCNTFonts — Active les polices chinoises traditionnelles internes
  • HaruDoc::useJPEncodings — Active l'encodage japonais
  • HaruDoc::useJPFonts — Active les polices japonaises internes
  • HaruDoc::useKREncodings — Active l'encodage coréen
  • HaruDoc::useKRFonts — Active les polices coréennes internes
HaruException
HaruDoc::addPage
haru


Ajoute une nouvelle page au document

HaruDoc
HaruDoc::addPageLabel
HaruDoc
PHP Manual

HaruDoc::addPage

(PECL haru >= 0.0.1)

HaruDoc::addPage — Ajoute une nouvelle page au document

Description

object HaruDoc::addPage ( void )

Ajoute une nouvelle page au document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruPage.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::insertPage - Insère une nouvelle page juste avant la page spécifiée

HaruDoc
HaruDoc::addPageLabel
HaruDoc


Définit le style de numérotation d'une série de pages

HaruDoc::addPage
HaruDoc::__construct
HaruDoc
PHP Manual

HaruDoc::addPageLabel

(PECL haru >= 0.0.1)

HaruDoc::addPageLabel — Définit le style de numérotation d'une série de pages

Description

bool HaruDoc::addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] )

Définit le style de numérotation d'une série de pages spécifiées.

Liste de paramètres

first_page

La première page de l'intervalle.

style

Le style de numérotation. Les valeurs suivantes sont autorisées :

  • HaruPage::NUM_STYLE_DECIMAL - le libellé de la page est affiché en utilisant des nombres décimaux.
  • HaruPage::NUM_STYLE_UPPER_ROMAN - le libellé de la page est affiché en utilisant des nombres romains en majuscule.
  • HaruPage::NUM_STYLE_LOWER_ROMAN - le libellé de la page est affiché en utilisant des nombres romains en minuscule.
  • HaruPage::NUM_STYLE_UPPER_LETTER - le libellé de la page est affiché en lettres majuscules (de A à Z).
  • HaruPage::NUM_STYLE_LOWER_LETTERS - le libellé de la page est affiché en lettres minuscules (de a à z).

first_num

Le numéro de la première page de l'intervalle.

prefix

Le préfixe pour le libellé de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::addPage
HaruDoc::__construct
HaruDoc


Construit un nouvel objet HaruDoc

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc
PHP Manual

HaruDoc::__construct

(PECL haru >= 0.0.1)

HaruDoc::__construct — Construit un nouvel objet HaruDoc

Description

void HaruDoc::__construct ( void )

Construit un nouvel object HaruDoc.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::addPageLabel
HaruDoc::createOutline
HaruDoc


Crée une instance HaruOutline

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::createOutline

(PECL haru >= 0.0.1)

HaruDoc::createOutline — Crée une instance HaruOutline

Description

object HaruDoc::createOutline ( string $title [, object $parent_outline [, object $encoder ]] )

Crée une nouvelle instance HaruOutline.

Liste de paramètres

title

Le titre de l'objet du nouveau contour.

parent_outline

Une instance valide de HaruOutline ou NULL.

encoder

Une instance valide HaruEncoder ou NULL.

Valeurs de retour

Retourne une nouvelle instance HaruOutline.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::__construct
HaruDoc::getCurrentEncoder
HaruDoc


Récupère l'instance HaruEncoder actuellement utilisée dans le document

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc
PHP Manual

HaruDoc::getCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::getCurrentEncoder — Récupère l'instance HaruEncoder actuellement utilisée dans le document

Description

object HaruDoc::getCurrentEncoder ( void )

Récupère l'instance HaruEncoder actuellement utilisée dans le document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'instance HaruEncoder actuellement utilisée dans le document, ou FALSE si l'encodeur n'est pas défini.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setCurrentEncoder - Définit l'encodeur courant pour le document

HaruDoc::createOutline
HaruDoc::getCurrentPage
HaruDoc


Retourne la page courante du document

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc
PHP Manual

HaruDoc::getCurrentPage

(PECL haru >= 0.0.1)

HaruDoc::getCurrentPage — Retourne la page courante du document

Description

object HaruDoc::getCurrentPage ( void )

Récupère la page courante du document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'instance HaruPage en cas de succès, ou FALSE s'il n'y a actuellement pas de page courante.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::getCurrentEncoder
HaruDoc::getEncoder
HaruDoc


Récupère l'instance HaruEncoder de l'encodage spécifié

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc
PHP Manual

HaruDoc::getEncoder

(PECL haru >= 0.0.1)

HaruDoc::getEncoder — Récupère l'instance HaruEncoder de l'encodage spécifié

Description

object HaruDoc::getEncoder ( string $encoding )

Récupère l'instance HaruEncoder de l'encodage spécifié.

Liste de paramètres

encoding

Le nom de l'encodage. Voir les encodages internes pour la liste des valeurs autorisées.

Valeurs de retour

Retourne l'instance HaruEncoder de l'encodage spécifié.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setCurrentEncoder - Définit l'encodeur courant pour le document
  • HaruDoc::getCurrentEncoder - Récupère l'instance HaruEncoder actuellement utilisée dans le document

HaruDoc::getCurrentPage
HaruDoc::getFont
HaruDoc


Récupère une instance HaruFont

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc
PHP Manual

HaruDoc::getFont

(PECL haru >= 0.0.1)

HaruDoc::getFont — Récupère une instance HaruFont

Description

object HaruDoc::getFont ( string $fontname [, string $encoding ] )

Récupère une instance HaruFont.

Liste de paramètres

fontname

Le nom de la police. Voir les polices internes pour une liste des polices internes. Vous pouvez également utiliser le nom d'une police chargée via HaruDoc::loadTTF, HaruDoc::loadTTC et HaruDoc::loadType1.

encoding

L'encodage à utiliser. Voir les encodages internes pour une liste des encodages supportés.

Valeurs de retour

Retourne une instance HaruFont avec le nom de police fontname et l'encodage encoding.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setFontAndSize - Définit la police et sa taille pour la page
  • HaruPage::getCurrentFont - Récupère la police actuellement utilisée

HaruDoc::getEncoder
HaruDoc::getInfoAttr
HaruDoc


Récupère la valeur courante d'un attribut de document spécifié

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc
PHP Manual

HaruDoc::getInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::getInfoAttr — Récupère la valeur courante d'un attribut de document spécifié

Description

string HaruDoc::getInfoAttr ( int $type )

Récupère la valeur courante d'un attribut de document spécifié.

Liste de paramètres

type

Le type de l'attribut. Les valeurs suivantes sont disponibles :

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS
  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

Valeurs de retour

Retourne la valeur de l'attribut de document spécifié.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setInfoAttr - Définit l'attribut d'information du document
  • HaruDoc::setInfoDateAttr - Définit les attributs d'informations de date et d'heure pour le document

HaruDoc::getFont
HaruDoc::getPageLayout
HaruDoc


Récupère la disposition courante de la page

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc
PHP Manual

HaruDoc::getPageLayout

(PECL haru >= 0.0.1)

HaruDoc::getPageLayout — Récupère la disposition courante de la page

Description

int HaruDoc::getPageLayout ( void )

Récupère la disposition courante de la page. Voir HaruDoc::setPageLayout() pour la liste des valeurs possibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la disposition courante de la page définie dans le document ou FALSE si la disposition de la page n'a pas été définie. Voir HaruDoc::setPageLayout() pour une liste des valeurs possibles.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setPageLayout - Définit la façon dont la page doit être affichée

HaruDoc::getInfoAttr
HaruDoc::getPageMode
HaruDoc


Récupère le mode courant de la page

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc
PHP Manual

HaruDoc::getPageMode

(PECL haru >= 0.0.1)

HaruDoc::getPageMode — Récupère le mode courant de la page

Description

int HaruDoc::getPageMode ( void )

Récupère le mode courant de la page. Voir HaruDoc::setPageMode() pour une liste des valeurs possibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le mode actuellement défini pour la page d'un document. Voir HaruDoc::setPageMode() pour une liste de valeurs possibles.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setPageMode - Définit la façon dont le document doit être affiché

HaruDoc::getPageLayout
HaruDoc::getStreamSize
HaruDoc


Récupère la taille du flux temporaire

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc
PHP Manual

HaruDoc::getStreamSize

(PECL haru >= 0.0.1)

HaruDoc::getStreamSize — Récupère la taille du flux temporaire

Description

int HaruDoc::getStreamSize ( void )

Récupère la taille du flux temporaire.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille des données dans le flux temporaire du document. La taille vaut zéro si le document n'a pas été sauvegardé dans le flux temporaire.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::saveToStream - Sauvegarde le document dans un flux temporaire
  • HaruDoc::resetStream - Revient au début du flux temporaire
  • HaruDoc::readFromStream - Lit les données depuis le flux temporaire

HaruDoc::getPageMode
HaruDoc::insertPage
HaruDoc


Insère une nouvelle page juste avant la page spécifiée

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc
PHP Manual

HaruDoc::insertPage

(PECL haru >= 0.0.1)

HaruDoc::insertPage — Insère une nouvelle page juste avant la page spécifiée

Description

object HaruDoc::insertPage ( object $page )

Crée une nouvelle page et l'insère juste avant la page spécifiée.

Liste de paramètres

page

Une instance valide HaruPage.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruPage.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::addPage - Ajoute une nouvelle page au document

HaruDoc::getStreamSize
HaruDoc::loadJPEG
HaruDoc


Charge une image JPEG

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc
PHP Manual

HaruDoc::loadJPEG

(PECL haru >= 0.0.1)

HaruDoc::loadJPEG — Charge une image JPEG

Description

object HaruDoc::loadJPEG ( string $filename )

Charge l'image JPEG spécifiée.

Liste de paramètres

filename

Un fichier image JPEG valide.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruImage.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::loadPNG - Charge une image PNG
  • HaruDoc::loadRAW - Charge une image RAW

HaruDoc::insertPage
HaruDoc::loadPNG
HaruDoc


Charge une image PNG

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc
PHP Manual

HaruDoc::loadPNG

(PECL haru >= 0.0.1)

HaruDoc::loadPNG — Charge une image PNG

Description

object HaruDoc::loadPNG ( string $filename [, bool $deferred = false ] )

Charge une image PNG.

Libharu peut être construite sans le support libpng et, dans ce cas, chaque appel à cette fonction résultera en l'envoi d'une exception.

Liste de paramètres

filename

Le nom du fichier image PNG.

deferred

Ne pas charger les données immédiatement. Vous pouvez définir le paramètre deferred à TRUE pour déferrer les données chargées et, dans ce cas, uniquement la taille et la couleur sont chargées immédiatement.

Valeurs de retour

Retourne une instance de la classe HaruImage.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::loadJPEG - Charge une image JPEG
  • HaruDoc::loadRAW - Charge une image RAW

HaruDoc::loadJPEG
HaruDoc::loadRaw
HaruDoc


Charge une image RAW

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc
PHP Manual

HaruDoc::loadRaw

(PECL haru >= 0.0.1)

HaruDoc::loadRaw — Charge une image RAW

Description

object HaruDoc::loadRaw ( string $filename , int $width , int $height , int $color_space )

Charge une image RAW.

Liste de paramètres

filename

Le nom du fichier image RAW.

width

La largeur de l'image.

height

La hauteur de l'image.

color_space

L'espace de couleur de l'image. Peut être une des valeurs suivantes :

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK

Valeurs de retour

Retourne une instance de la classe HaruImage.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::loadJPEG - Charge une image JPEG
  • HaruDoc::loadPNG - Charge une image PNG

HaruDoc::loadPNG
HaruDoc::loadTTC
HaruDoc


Charge la police avec l'index spécifié depuis le fichier TTC

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc
PHP Manual

HaruDoc::loadTTC

(PECL haru >= 0.0.1)

HaruDoc::loadTTC — Charge la police avec l'index spécifié depuis le fichier TTC

Description

string HaruDoc::loadTTC ( string $fontfile , int $index [, bool $embed = false ] )

Charge la police TrueType avec l'index spécifié depuis le fichier de collection TrueType.

Liste de paramètres

fontfile

Le fichier de collection TrueType.

index

L'index de la police dans le fichier de collection.

embed

Lorsque défini à TRUE, les données glyphe seront intégrées dans le fichier PDF, sinon, uniquement la matrice des données sera incluse.

Valeurs de retour

Retourne le nom de la police chargée en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::loadTTF - Charge un fichier de police TTF
  • HaruDoc::loadType1 - Charge la police Type1

HaruDoc::loadRaw
HaruDoc::loadTTF
HaruDoc


Charge un fichier de police TTF

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc
PHP Manual

HaruDoc::loadTTF

(PECL haru >= 0.0.1)

HaruDoc::loadTTF — Charge un fichier de police TTF

Description

string HaruDoc::loadTTF ( string $fontfile [, bool $embed = false ] )

Charge le fichier TTF fourni et (optionnellement), l'intègre aux données dans le document.

Liste de paramètres

fontfile

Le fichier TTF à charger.

embed

Lorsque défini à TRUE, les données glyphe de la police seront intégrées dans le fichier PDF, sinon, uniquement la matrice des données sera incluse.

Valeurs de retour

Retourne le nom de la police chargée en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::loadTTC - Charge la police avec l'index spécifié depuis le fichier TTC
  • HaruDoc::loadType1 - Charge la police Type1

HaruDoc::loadTTC
HaruDoc::loadType1
HaruDoc


Charge la police Type1

HaruDoc::loadTTF
HaruDoc::output
HaruDoc
PHP Manual

HaruDoc::loadType1

(PECL haru >= 0.0.1)

HaruDoc::loadType1 — Charge la police Type1

Description

string HaruDoc::loadType1 ( string $afmfile [, string $pfmfile ] )

Charge la police Type1 depuis le fichier fourni et l'enregistre dans le document PDF.

Liste de paramètres

afmfile

Chemin vers un fichier AFM.

pfmfile

Chemin vers un fichier PFA/PFB, optionnel. S'il n'est pas défini, les données glyphe de la police seront intégrées dans le document PDF.

Valeurs de retour

Retourne le nom de la police chargée, en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::loadTTC - Charge la police avec l'index spécifié depuis le fichier TTC
  • HaruDoc::loadTTF - Charge un fichier de police TTF

HaruDoc::loadTTF
HaruDoc::output
HaruDoc


Écrit les données du document dans un buffer de sortie

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc
PHP Manual

HaruDoc::output

(PECL haru >= 0.0.1)

HaruDoc::output — Écrit les données du document dans un buffer de sortie

Description

bool HaruDoc::output ( void )

Écrit les données du document dans la sortie standard.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::save - Sauvegarde le document dans le fichier spécifié

HaruDoc::loadType1
HaruDoc::readFromStream
HaruDoc


Lit les données depuis le flux temporaire

HaruDoc::output
HaruDoc::resetError
HaruDoc
PHP Manual

HaruDoc::readFromStream

(PECL haru >= 0.0.1)

HaruDoc::readFromStream — Lit les données depuis le flux temporaire

Description

string HaruDoc::readFromStream ( int $bytes )

Lit les données depuis le flux temporaire.

Liste de paramètres

bytes

Le paramètre bytes spécifie le nombre d'octets à lire, même si le flux peut contenir moins d'octets que désirés.

Valeurs de retour

Retourne les données depuis le flux temporaire.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::saveToStream - Sauvegarde le document dans un flux temporaire
  • HaruDoc::resetStream - Revient au début du flux temporaire
  • HaruDoc::getStreamSize - Récupère la taille du flux temporaire

HaruDoc::output
HaruDoc::resetError
HaruDoc


Réinitialise le statut d'erreur du gestionnaire de document

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc
PHP Manual

HaruDoc::resetError

(PECL haru >= 0.0.1)

HaruDoc::resetError — Réinitialise le statut d'erreur du gestionnaire de document

Description

bool HaruDoc::resetError ( void )

Une fois qu'un code erreur est défini, la plupart des opérations, incluant les fonctions I/O, ne peuvent être exécutées. Dans ce cas, si vous voulez continuer une fois que l'erreur a été corrigée, vous devez invoquer cette fonction afin de réinitialiser le statut de l'erreur du document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Réussi toujours et retourne TRUE.

HaruDoc::readFromStream
HaruDoc::resetStream
HaruDoc


Revient au début du flux temporaire

HaruDoc::resetError
HaruDoc::save
HaruDoc
PHP Manual

HaruDoc::resetStream

(PECL haru >= 0.0.1)

HaruDoc::resetStream — Revient au début du flux temporaire

Description

bool HaruDoc::resetStream ( void )

Revient au début du flux temporaire du document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::saveToStream - Sauvegarde le document dans un flux temporaire
  • HaruDoc::getStreamSize - Récupère la taille du flux temporaire
  • HaruDoc::readFromStream - Lit les données depuis le flux temporaire

HaruDoc::resetError
HaruDoc::save
HaruDoc


Sauvegarde le document dans le fichier spécifié

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc
PHP Manual

HaruDoc::save

(PECL haru >= 0.0.1)

HaruDoc::save — Sauvegarde le document dans le fichier spécifié

Description

bool HaruDoc::save ( string $file )

Sauvegarde le document dans le fichier spécifié.

Liste de paramètres

file

Le fichier dans lequel le document sera sauvegardé.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::output - Écrit les données du document dans un buffer de sortie

HaruDoc::resetStream
HaruDoc::saveToStream
HaruDoc


Sauvegarde le document dans un flux temporaire

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc
PHP Manual

HaruDoc::saveToStream

(PECL haru >= 0.0.1)

HaruDoc::saveToStream — Sauvegarde le document dans un flux temporaire

Description

bool HaruDoc::saveToStream ( void )

Sauvegarde le document dans un flux temporaire.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::resetStream - Revient au début du flux temporaire
  • HaruDoc::getStreamSize - Récupère la taille du flux temporaire
  • HaruDoc::readFromStream - Lit les données depuis le flux temporaire

HaruDoc::save
HaruDoc::setCompressionMode
HaruDoc


Définit le mode de compression pour le document

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc
PHP Manual

HaruDoc::setCompressionMode

(PECL haru >= 0.0.1)

HaruDoc::setCompressionMode — Définit le mode de compression pour le document

Description

bool HaruDoc::setCompressionMode ( int $mode )

Définit le mode de compression pour le document. Dans le cas où libharu n'a pas été compilé avec le support Zlib, cette fonction lancera toujours une exception HaruException.

Liste de paramètres

mode

Le mode de compression à utiliser. La valeur est une combinaison des drapeaux suivants :

  • HaruDoc::COMP_NONE - tout le contenu n'est pas compressé.
  • HaruDoc::COMP_TEXT - compression du texte.
  • HaruDoc::COMP_IMAGE - compression des images.
  • HaruDoc::COMP_METADATA - compression des autres données (polices, cmaps).
  • HaruDoc::COMP_ALL - compression de toutes les données.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::saveToStream
HaruDoc::setCurrentEncoder
HaruDoc


Définit l'encodeur courant pour le document

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc
PHP Manual

HaruDoc::setCurrentEncoder

(PECL haru >= 0.0.1)

HaruDoc::setCurrentEncoder — Définit l'encodeur courant pour le document

Description

bool HaruDoc::setCurrentEncoder ( string $encoding )

Définit l'encodeur actuellement utilisé pour le document.

Liste de paramètres

encoding

Le nom de l'encodage à utiliser. Voir les encodages internes pour une liste des valeurs autorisées.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::setCompressionMode
HaruDoc::setEncryptionMode
HaruDoc


Définit le mode de chiffrement pour le document

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc
PHP Manual

HaruDoc::setEncryptionMode

(PECL haru >= 0.0.1)

HaruDoc::setEncryptionMode — Définit le mode de chiffrement pour le document

Description

bool HaruDoc::setEncryptionMode ( int $mode [, int $key_len = 5 ] )

Définit le mode de chiffrement pour le document. Le mode de chiffrement ne peut être défini avant de définir le mot de passe.

Liste de paramètres

mode

Le mode de chiffrement à utiliser. Peut être un parmi :

  • HaruDoc::ENCRYPT_R2 - utilise l'algorithme "revision2".
  • HaruDoc::ENCRYPT_R3 - utilise l'algorithme "revision3". L'utilisation de cette valeur définit la version de PDF à 1.4.

key_len

La longueur de la clé de chiffrement, en octets. Ce paramètre est optionnel et utilisé uniquement lorsque le mode est HaruDoc::ENCRYPT_R3. La valeur par défaut est 5 (40 octets).

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setPassword - Définit les mots de passe de l'utilisateur et du propriétaire pour le document
  • HaruDoc::setPermission - Définit les permissions du document

HaruDoc::setCurrentEncoder
HaruDoc::setInfoAttr
HaruDoc


Définit l'attribut d'information du document

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc
PHP Manual

HaruDoc::setInfoAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoAttr — Définit l'attribut d'information du document

Description

bool HaruDoc::setInfoAttr ( int $type , string $info )

Définit un attribut d'information. Utilise l'encodage courant du document.

Liste de paramètres

type

Le type de l'attribut. Peut être un parmi :

  • HaruDoc::INFO_AUTHOR
  • HaruDoc::INFO_CREATOR
  • HaruDoc::INFO_TITLE
  • HaruDoc::INFO_SUBJECT
  • HaruDoc::INFO_KEYWORDS

info

La valeur de l'attribut.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setInfoDateAttr - Définit les attributs d'informations de date et d'heure pour le document

HaruDoc::setEncryptionMode
HaruDoc::setInfoDateAttr
HaruDoc


Définit les attributs d'informations de date et d'heure pour le document

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc
PHP Manual

HaruDoc::setInfoDateAttr

(PECL haru >= 0.0.1)

HaruDoc::setInfoDateAttr — Définit les attributs d'informations de date et d'heure pour le document

Description

bool HaruDoc::setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min )

Définit les attributs d'informations de date et d'heure pour le document.

Liste de paramètres

type

Le type de l'attribut. Peut être un parmi :

  • HaruDoc::INFO_CREATION_DATE
  • HaruDoc::INFO_MOD_DATE

year

month

Compris entre 1 et 12.

day

Compris entre 1 et 31, 30, 29 ou 28 (différent pour chaque mois).

hour

Compris entre 0 et 23.

min

Compris entre 0 et 59.

sec

Compris entre 0 et 59.

ind

La relation sur la zone vers UTC, peut être "", " ", "+", "-" et "Z".

off_hour

Si ind n'est ni " ", ni "", les valeurs comprises entre 0 et 23 sont valides. Sinon, ce paramètre est ignoré.

off_min

Si ind n'est ni " ", ni "", les valeurs comprises entre 0 et 59 sont valides. Sinon, ce paramètre est ignoré.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setInfoAttr - Définit l'attribut d'information du document

HaruDoc::setInfoAttr
HaruDoc::setOpenAction
HaruDoc


Définit quelle page est affichée lors de l'ouverture du document

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc
PHP Manual

HaruDoc::setOpenAction

(PECL haru >= 0.0.1)

HaruDoc::setOpenAction — Définit quelle page est affichée lors de l'ouverture du document

Description

bool HaruDoc::setOpenAction ( object $destination )

Définit quelle page est affichée lors de l'ouverture du document.

Liste de paramètres

destination

Une instance valide de HaruDestination.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::setInfoDateAttr
HaruDoc::setPageLayout
HaruDoc


Définit la façon dont la page doit être affichée

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc
PHP Manual

HaruDoc::setPageLayout

(PECL haru >= 0.0.1)

HaruDoc::setPageLayout — Définit la façon dont la page doit être affichée

Description

bool HaruDoc::setPageLayout ( int $layout )

Définit la façon dont la page doit être affichée.

Liste de paramètres

layout

Les valeurs suivantes sont acceptées :

  • HaruDoc::PAGE_LAYOUT_SINGLE - une seule page est affichée.
  • HaruDoc::PAGE_LAYOUT_ONE_COLUMN - affiche les pages sur une seule colonne.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT - affiche les pages sur deux colonnes, la première page à gauche.
  • HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT - affiche les pages sur deux colonnes, la première page à droite.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::getPageLayout - Récupère la disposition courante de la page

HaruDoc::setOpenAction
HaruDoc::setPageMode
HaruDoc


Définit la façon dont le document doit être affiché

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc
PHP Manual

HaruDoc::setPageMode

(PECL haru >= 0.0.1)

HaruDoc::setPageMode — Définit la façon dont le document doit être affiché

Description

bool HaruDoc::setPageMode ( int $mode )

Définit la façon dont le document doit être affiché.

Liste de paramètres

mode

Les valeurs suivantes sont acceptées :

  • HaruDoc::PAGE_MODE_USE_NONE - affiche le document sans contour, ni miniature.
  • HaruDoc::PAGE_MODE_USE_OUTLINE - affiche le document sans contour.
  • HaruDoc::PAGE_MODE_USE_THUMBS - affiche le document sans miniature.
  • HaruDoc::PAGE_MODE_FULL_SCREEN - affiche le document en mode plein écran.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::getPageMode - Récupère le mode courant de la page

HaruDoc::setPageLayout
HaruDoc::setPagesConfiguration
HaruDoc


Définit le nombre de pages par jeu de pages

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc
PHP Manual

HaruDoc::setPagesConfiguration

(PECL haru >= 0.0.1)

HaruDoc::setPagesConfiguration — Définit le nombre de pages par jeu de pages

Description

bool HaruDoc::setPagesConfiguration ( int $page_per_pages )

Par défaut, le document a un objet page, en tant que racine pour toutes les pages. Tous les objets pages sont créés en tant que branche de l'objet racine. Un objet page peut contenir uniquement 8191, ainsi, le nombre maximal de pages par document est 8191. Mais vous pouvez modifier ce comportement en définissant le paramètre page_per_pages, et ainsi, l'objet page racine contient 8191 objets pages de plus (et non des pages), qui, chacun contient 8191 pages. Donc, le nombre maximal de pages d'un document devient 8191*page_per_pages.

Liste de paramètres

page_per_pages

Le nombre de pages qu'un objet page peut contenir.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDoc::setPageMode
HaruDoc::setPassword
HaruDoc


Définit les mots de passe de l'utilisateur et du propriétaire pour le document

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc
PHP Manual

HaruDoc::setPassword

(PECL haru >= 0.0.1)

HaruDoc::setPassword — Définit les mots de passe de l'utilisateur et du propriétaire pour le document

Description

bool HaruDoc::setPassword ( string $owner_password , string $user_password )

Définit les mots de passe utilisateur et propriétaire pour le document. Le fait de définir des mots de passe rend le contenu du document crypté.

Liste de paramètres

owner_password

Le mot de passe du propriétaire, qui modifie les permissions du document. Un mot de passe vide n'est pas accepté. Le mot de passe du propriétaire ne peut être le même que le mot de passe de l'utilisateur.

user_password

Le mot de passe de l'utilisateur. Ne peut être vide.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setEncryptionMode - Définit le mode de chiffrement pour le document
  • HaruDoc::setPermission - Définit les permissions du document

HaruDoc::setPagesConfiguration
HaruDoc::setPermission
HaruDoc


Définit les permissions du document

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc
PHP Manual

HaruDoc::setPermission

(PECL haru >= 0.0.1)

HaruDoc::setPermission — Définit les permissions du document

Description

bool HaruDoc::setPermission ( int $permission )

Définit les permissions pour le document.

Liste de paramètres

permission

Les valeurs sont une combinaison des drapeaux suivants :

  • HaruDoc::ENABLE_READ - l'utilisateur peut lire le document.
  • HaruDoc::ENABLE_PRINT - l'utilisateur peut imprimer le document.
  • HaruDoc::ENABLE_EDIT_ALL - l'utilisateur peut éditer le contenu du document autre que les annotations et les champs de formulaire.
  • HaruDoc::ENABLE_COPY - l'utilisateur peut copier le texte et les graphiques du document.
  • HaruDoc::ENABLE_EDIT - l'utilisateur peut ajouter et modifier les annotations et les champs de formulaire du document.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::setPassword - Définit les mots de passe de l'utilisateur et du propriétaire pour le document
  • HaruDoc::setEncryptionMode - Définit le mode de chiffrement pour le document

HaruDoc::setPassword
HaruDoc::useCNSEncodings
HaruDoc


Active l'encodage chinois simplifié

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc
PHP Manual

HaruDoc::useCNSEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNSEncodings — Active l'encodage chinois simplifié

Description

bool HaruDoc::useCNSEncodings ( void )

Active l'encodage chinois simplifié.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useCNSFonts - Active les polices chinoises simplifiées internes

HaruDoc::setPermission
HaruDoc::useCNSFonts
HaruDoc


Active les polices chinoises simplifiées internes

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc
PHP Manual

HaruDoc::useCNSFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNSFonts — Active les polices chinoises simplifiées internes

Description

bool HaruDoc::useCNSFonts ( void )

Active les polices chinoises simplifiées internes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useCNSEncodings - Active l'encodage chinois simplifié

HaruDoc::useCNSEncodings
HaruDoc::useCNTEncodings
HaruDoc


Active l'encodage chinois traditionnel

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc
PHP Manual

HaruDoc::useCNTEncodings

(PECL haru >= 0.0.1)

HaruDoc::useCNTEncodings — Active l'encodage chinois traditionnel

Description

bool HaruDoc::useCNTEncodings ( void )

Active l'encodage chinois traditionnel.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useCNTFonts - Active les polices chinoises traditionnelles internes

HaruDoc::useCNSFonts
HaruDoc::useCNTFonts
HaruDoc


Active les polices chinoises traditionnelles internes

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc
PHP Manual

HaruDoc::useCNTFonts

(PECL haru >= 0.0.1)

HaruDoc::useCNTFonts — Active les polices chinoises traditionnelles internes

Description

bool HaruDoc::useCNTFonts ( void )

Active les polices chinoises traditionnelles internes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useCNTEncodings - Active l'encodage chinois traditionnel

HaruDoc::useCNTEncodings
HaruDoc::useJPEncodings
HaruDoc


Active l'encodage japonais

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc
PHP Manual

HaruDoc::useJPEncodings

(PECL haru >= 0.0.1)

HaruDoc::useJPEncodings — Active l'encodage japonais

Description

bool HaruDoc::useJPEncodings ( void )

Active l'encodage japonais.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useJPFonts - Active les polices japonaises internes

HaruDoc::useCNTFonts
HaruDoc::useJPFonts
HaruDoc


Active les polices japonaises internes

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc
PHP Manual

HaruDoc::useJPFonts

(PECL haru >= 0.0.1)

HaruDoc::useJPFonts — Active les polices japonaises internes

Description

bool HaruDoc::useJPFonts ( void )

Active les polices japonaises internes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useJPEncodings - Active l'encodage japonais

HaruDoc::useJPEncodings
HaruDoc::useKREncodings
HaruDoc


Active l'encodage coréen

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc
PHP Manual

HaruDoc::useKREncodings

(PECL haru >= 0.0.1)

HaruDoc::useKREncodings — Active l'encodage coréen

Description

bool HaruDoc::useKREncodings ( void )

Active l'encodage coréen.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useKRFonts - Active les polices coréennes internes

HaruDoc::useJPFonts
HaruDoc::useKRFonts
HaruDoc


Active les polices coréennes internes

HaruDoc::useKREncodings
HaruPage
HaruDoc
PHP Manual

HaruDoc::useKRFonts

(PECL haru >= 0.0.1)

HaruDoc::useKRFonts — Active les polices coréennes internes

Description

bool HaruDoc::useKRFonts ( void )

Active les polices coréennes internes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::useKREncodings - Active l'encodage coréen

HaruDoc::useKREncodings
HaruPage
HaruDoc


Classe HaruPage

Introduction

Classe Haru PDF Page.

Synopsis de la classe

HaruPage
HaruPage {
/* Méthodes */
bool arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )
bool beginText ( void )
bool circle ( float $x , float $y , float $ray )
bool closePath ( void )
bool concat ( float $a , float $b , float $c , float $d , float $x , float $y )
object createDestination ( void )
object createLinkAnnotation ( array $rectangle , object $destination )
object createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )
object createURLAnnotation ( array $rectangle , string $url )
bool curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )
bool curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )
bool curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )
bool drawImage ( object $image , float $x , float $y , float $width , float $height )
bool ellipse ( float $x , float $y , float $xray , float $yray )
bool endPath ( void )
bool endText ( void )
bool eofill ( void )
bool eoFillStroke ([ bool $close_path = false ] )
bool fill ( void )
bool fillStroke ([ bool $close_path = false ] )
float getCharSpace ( void )
array getCMYKFill ( void )
array getCMYKStroke ( void )
object getCurrentFont ( void )
float getCurrentFontSize ( void )
array getCurrentPos ( void )
array getCurrentTextPos ( void )
array getDash ( void )
int getFillingColorSpace ( void )
float getFlatness ( void )
int getGMode ( void )
float getGrayFill ( void )
float getGrayStroke ( void )
float getHeight ( void )
float getHorizontalScaling ( void )
int getLineCap ( void )
int getLineJoin ( void )
float getLineWidth ( void )
float getMiterLimit ( void )
array getRGBFill ( void )
array getRGBStroke ( void )
int getStrokingColorSpace ( void )
float getTextLeading ( void )
array getTextMatrix ( void )
int getTextRenderingMode ( void )
float getTextRise ( void )
float getTextWidth ( string $text )
array getTransMatrix ( void )
float getWidth ( void )
float getWordSpace ( void )
bool lineTo ( float $x , float $y )
int measureText ( string $text , float $width [, bool $wordwrap = false ] )
bool moveTextPos ( float $x , float $y [, bool $set_leading = false ] )
bool moveTo ( float $x , float $y )
bool moveToNextLine ( void )
bool rectangle ( float $x , float $y , float $width , float $height )
bool setCharSpace ( float $char_space )
bool setCMYKFill ( float $c , float $m , float $y , float $k )
bool setCMYKStroke ( float $c , float $m , float $y , float $k )
bool setDash ( array $pattern , int $phase )
bool setFlatness ( float $flatness )
bool setFontAndSize ( object $font , float $size )
bool setGrayFill ( float $value )
bool setGrayStroke ( float $value )
bool setHeight ( float $height )
bool setHorizontalScaling ( float $scaling )
bool setLineCap ( int $cap )
bool setLineJoin ( int $join )
bool setLineWidth ( float $width )
bool setMiterLimit ( float $limit )
bool setRGBFill ( float $r , float $g , float $b )
bool setRGBStroke ( float $r , float $g , float $b )
bool setRotate ( int $angle )
bool setSize ( int $size , int $direction )
bool setSlideShow ( int $type , float $disp_time , float $trans_time )
bool setTextLeading ( float $text_leading )
bool setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
bool setTextRenderingMode ( int $mode )
bool setTextRise ( float $rise )
bool setWidth ( float $width )
bool setWordSpace ( float $word_space )
bool showText ( string $text )
bool showTextNextLine ( string $text [, float $word_space [, float $char_space ]] )
bool stroke ([ bool $close_path = false ] )
bool textOut ( float $x , float $y , string $text )
bool textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )
}

Constantes pré-définies

Type | Nom | Description
int | HaruPage::GMODE_PAGE_DESCRIPTION |
int | HaruPage::GMODE_TEXT_OBJECT |
int | HaruPage::GMODE_PATH_OBJECT |
int | HaruPage::GMODE_CLIPPING_PATH |
int | HaruPage::GMODE_SHADING |
int | HaruPage::GMODE_INLINE_IMAGE |
int | HaruPage::GMODE_EXTERNAL_OBJECT |
int | HaruPage::BUTT_END |
int | HaruPage::ROUND_END |
int | HaruPage::PROJECTING_SCUARE_END |
int | HaruPage::MITER_JOIN |
int | HaruPage::ROUND_JOIN |
int | HaruPage::BEVEL_JOIN |
int | HaruPage::FILL |
int | HaruPage::STROKE |
int | HaruPage::FILL_THEN_STROKE |
int | HaruPage::INVISIBLE |
int | HaruPage::FILL_CLIPPING |
int | HaruPage::STROKE_CLIPPING |
int | HaruPage::FILL_STROKE_CLIPPING |
int | HaruPage::CLIPPING |
int | HaruPage::TALIGN_LEFT |
int | HaruPage::TALIGN_RIGHT |
int | HaruPage::TALIGN_CENTER |
int | HaruPage::TALIGN_JUSTIFY |
int | HaruPage::SIZE_LETTER |
int | HaruPage::SIZE_LEGAL |
int | HaruPage::SIZE_A3 |
int | HaruPage::SIZE_A4 |
int | HaruPage::SIZE_A5 |
int | HaruPage::SIZE_B4 |
int | HaruPage::SIZE_B5 |
int | HaruPage::SIZE_EXECUTIVE |
int | HaruPage::SIZE_US4x6 |
int | HaruPage::SIZE_US4x8 |
int | HaruPage::SIZE_US5x7 |
int | HaruPage::SIZE_COMM10 |
int | HaruPage::PORTRAIT |
int | HaruPage::LANDSCAPE |
int | HaruPage::TS_WIPE_LIGHT |
int | HaruPage::TS_WIPE_UP |
int | HaruPage::TS_WIPE_LEFT |
int | HaruPage::TS_WIPE_DOWN |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_IN |
int | HaruPage::TS_BARN_DOORS_VERTICAL_OUT |
int | HaruPage::TS_BARN_DOORS_VERTICAL_IN |
int | HaruPage::TS_BOX_OUT |
int | HaruPage::TS_BOX_IN |
int | HaruPage::TS_BLINDS_HORIZONTAL |
int | HaruPage::TS_BLINDS_VERTICAL |
int | HaruPage::TS_DISSOLVE |
int | HaruPage::TS_GLITTER_RIGHT |
int | HaruPage::TS_GLITTER_DOWN |
int | HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT |
int | HaruPage::TS_REPLACE |
int | HaruPage::NUM_STYLE_DECIMAL |
int | HaruPage::NUM_STYLE_UPPER_ROMAN |
int | HaruPage::NUM_STYLE_LOWER_ROMAN |
int | HaruPage::NUM_STYLE_UPPER_LETTERS |
int | HaruPage::NUM_STYLE_LOWER_LETTERS |

Sommaire

  • HaruPage::arc — Ajoute un arc au chemin courant
  • HaruPage::beginText — Commence un objet texte et définit la position courante du texte à (0,0)
  • HaruPage::circle — Ajoute un cercle au chemin courant
  • HaruPage::closePath — Ajoute une ligne droite depuis le point courant jusqu'au point de départ du chemin
  • HaruPage::concat — Concatène la matrice de transformation courante et la matrice spécifiée
  • HaruPage::createDestination — Crée une nouvelle instance HaruDestination
  • HaruPage::createLinkAnnotation — Crée une nouvelle instance HaruAnnotation
  • HaruPage::createTextAnnotation — Crée une nouvelle instance HaruAnnotation
  • HaruPage::createURLAnnotation — Crée une nouvelle instance HaruAnnotation instance
  • HaruPage::curveTo2 — Ajoute une courbe de Bézier au chemin courant
  • HaruPage::curveTo3 — Ajoute une courbe de Bézier au chemin courant
  • HaruPage::curveTo — Ajoute une courbe de Bézier au chemin courant
  • HaruPage::drawImage — Affiche une image dans la page
  • HaruPage::ellipse — Ajoute une ellipse au chemin courant
  • HaruPage::endPath — Termine l'objet chemin courant sans effectuer d'opérations de remplissage et de peinture
  • HaruPage::endText — Termine l'objet texte courant
  • HaruPage::eofill — Remplit le chemin courant en utilisant la règle "even-odd"
  • HaruPage::eoFillStroke — Remplit le chemin courant en utilisant la règle "even-odd", puis, peint le chemin
  • HaruPage::fill — Remplit le chemin courant en utilisant des nombres différents de zéro
  • HaruPage::fillStroke — Remplit le chemin en utilisant des nombres différents de zéro, puis peint le chemin
  • HaruPage::getCharSpace — Récupère la valeur courante de l'espacement des caractères
  • HaruPage::getCMYKFill — Récupère la couleur de remplissage courante
  • HaruPage::getCMYKStroke — Récupère la couleur de remplissage courante
  • HaruPage::getCurrentFont — Récupère la police actuellement utilisée
  • HaruPage::getCurrentFontSize — Récupère la taille de la police courante
  • HaruPage::getCurrentPos — Récupère la position courante pour l'affichage
  • HaruPage::getCurrentTextPos — Récupère la position courante pour l'affichage du texte
  • HaruPage::getDash — Récupère le style de tiret courant
  • HaruPage::getFillingColorSpace — Récupère la couleur de remplissage
  • HaruPage::getFlatness — Récupère la planéité de la page
  • HaruPage::getGMode — Récupère le mode courant de graphique
  • HaruPage::getGrayFill — Récupère la couleur courante de remplissage
  • HaruPage::getGrayStroke — Récupère la couleur courante
  • HaruPage::getHeight — Récupère la hauteur de la page
  • HaruPage::getHorizontalScaling — Récupère la valeur courante de l'échelle horizontale
  • HaruPage::getLineCap — Récupère le style courant de fin de lignes
  • HaruPage::getLineJoin — Récupère le style de jointure de lignes
  • HaruPage::getLineWidth — Récupère la largeur courante de la ligne
  • HaruPage::getMiterLimit — Récupère la valeur de la limite de l'anglet
  • HaruPage::getRGBFill — Récupère la couleur courante de remplissage
  • HaruPage::getRGBStroke — Récupère la couleur de peinture courante
  • HaruPage::getStrokingColorSpace — Récupère la couleur de peinture de l'espace courant
  • HaruPage::getTextLeading — Récupère la valeur courante de l'espacement des lignes
  • HaruPage::getTextMatrix — Récupère la matrice de transformation courante du texte de la page
  • HaruPage::getTextRenderingMode — Récupère le mode de rendu courant du texte
  • HaruPage::getTextRise — Récupère la valeur de la levée du texte
  • HaruPage::getTextWidth — Récupère la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots
  • HaruPage::getTransMatrix — Récupère la matrice de transformation courante de la page
  • HaruPage::getWidth — Récupère la largeur de la page
  • HaruPage::getWordSpace — Récupère la valeur courante de l'espacement entre les mots
  • HaruPage::lineTo — Trace une ligne depuis le point courant vers le point spécifié
  • HaruPage::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée
  • HaruPage::moveTextPos — Déplace la position du texte à une position donnée
  • HaruPage::moveTo — Définit le point de départ pour la nouvelle ligne
  • HaruPage::moveToNextLine — Déplace la position du texte au début de la prochaine ligne
  • HaruPage::rectangle — Ajoute un rectangle à la position courante
  • HaruPage::setCharSpace — Définit l'espacement des caractères pour la page
  • HaruPage::setCMYKFill — Définit la couleur de remplissage de la page
  • HaruPage::setCMYKStroke — Définit la couleur de remplissage de la page
  • HaruPage::setDash — Définit le style de tiret pour la page
  • HaruPage::setFlatness — Définit la planéité de la page
  • HaruPage::setFontAndSize — Définit la police et sa taille pour la page
  • HaruPage::setGrayFill — Définit la couleur de remplissage de la page
  • HaruPage::setGrayStroke — Définit la couleur de remplissage de la page
  • HaruPage::setHeight — Définit la hauteur de la page
  • HaruPage::setHorizontalScaling — Définit la graduation horizontale de la page
  • HaruPage::setLineCap — Définit la forme à utiliser à la fin des lignes
  • HaruPage::setLineJoin — Définit le style de jointure de ligne pour la page
  • HaruPage::setLineWidth — Définit la largeur de la ligne pour la page
  • HaruPage::setMiterLimit — Définit la valeur courante de la limite de l'anglet de la page
  • HaruPage::setRGBFill — Définit la couleur de remplissage pour la page
  • HaruPage::setRGBStroke — Définit la couleur de remplissage de la page
  • HaruPage::setRotate — Définit l'angle de rotation de la page
  • HaruPage::setSize — Définit la taille et la direction de la page
  • HaruPage::setSlideShow — Définit le style de transition pour la page
  • HaruPage::setTextLeading — Définit l'espacement entre les lignes du texte pour la page
  • HaruPage::setTextMatrix — Définit la matrice de transformation de texte courante de la page
  • HaruPage::setTextRenderingMode — Définit la matrice de transformation de texte courante de la page
  • HaruPage::setTextRise — Définit la valeur courante de la levée du texte
  • HaruPage::setWidth — Définit la largeur de la page
  • HaruPage::setWordSpace — Définit l'espacement entre les mots pour la page
  • HaruPage::showText — Affiche le texte à la position courante de la page
  • HaruPage::showTextNextLine — Déplace la position courante au début de la prochaine ligne et affiche le texte
  • HaruPage::stroke — Peint le chemin courant
  • HaruPage::textOut — Affiche le texte à la position spécifiée
  • HaruPage::textRect — Affiche le texte d'une région spécifique
HaruDoc::useKRFonts
HaruPage::arc
haru


Ajoute un arc au chemin courant

HaruPage
HaruPage::beginText
HaruPage
PHP Manual

HaruPage::arc

(PECL haru >= 0.0.1)

HaruPage::arc — Ajoute un arc au chemin courant

Description

bool HaruPage::arc ( float $x , float $y , float $ray , float $ang1 , float $ang2 )

Ajoute un arc au chemin courant.

Liste de paramètres

x

Coordonnée horizontale du centre.

y

Coordonnée verticale du centre.

ray

Le rayon de l'arc.

ang1

L'angle de début.

ang2

L'angle de fin. Doit être supérieur à ang1.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage
HaruPage::beginText
HaruPage


Commence un objet texte et définit la position courante du texte à (0,0)

HaruPage::arc
HaruPage::circle
HaruPage
PHP Manual

HaruPage::beginText

(PECL haru >= 0.0.1)

HaruPage::beginText — Commence un objet texte et définit la position courante du texte à (0,0)

Description

bool HaruPage::beginText ( void )

Commence un objet texte et définit la position courante du texte à (0,0).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::arc
HaruPage::circle
HaruPage


Ajoute un cercle au chemin courant

HaruPage::beginText
HaruPage::closePath
HaruPage
PHP Manual

HaruPage::circle

(PECL haru >= 0.0.1)

HaruPage::circle — Ajoute un cercle au chemin courant

Description

bool HaruPage::circle ( float $x , float $y , float $ray )

Ajoute un cercle au chemin courant.

Liste de paramètres

x

Coordonnée horizontale du centre.

y

Coordonnée verticale du centre.

ray

Le rayon du cercle.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::beginText
HaruPage::closePath
HaruPage


Ajoute une ligne droite depuis le point courant jusqu'au point de départ du chemin

HaruPage::circle
HaruPage::concat
HaruPage
PHP Manual

HaruPage::closePath

(PECL haru >= 0.0.1)

HaruPage::closePath — Ajoute une ligne droite depuis le point courant jusqu'au point de départ du chemin

Description

bool HaruPage::closePath ( void )

Ajoute une ligne droite depuis le point courant jusqu'au point de départ du chemin.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::circle
HaruPage::concat
HaruPage


Concatène la matrice de transformation courante et la matrice spécifiée

HaruPage::closePath
HaruPage::createDestination
HaruPage
PHP Manual

HaruPage::concat

(PECL haru >= 0.0.1)

HaruPage::concat — Concatène la matrice de transformation courante et la matrice spécifiée

Description

bool HaruPage::concat ( float $a , float $b , float $c , float $d , float $x , float $y )

Concatène la matrice de transformation courante et la matrice spécifiée

Liste de paramètres

a

b

c

d

x

y

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::closePath
HaruPage::createDestination
HaruPage


Crée une nouvelle instance HaruDestination

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage
PHP Manual

HaruPage::createDestination

(PECL haru >= 0.0.1)

HaruPage::createDestination — Crée une nouvelle instance HaruDestination

Description

object HaruPage::createDestination ( void )

Crée une nouvelle instance HaruDestination.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruDestination.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::concat
HaruPage::createLinkAnnotation
HaruPage


Crée une nouvelle instance HaruAnnotation

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage
PHP Manual

HaruPage::createLinkAnnotation

(PECL haru >= 0.0.1)

HaruPage::createLinkAnnotation — Crée une nouvelle instance HaruAnnotation

Description

object HaruPage::createLinkAnnotation ( array $rectangle , object $destination )

Crée une nouvelle instance HaruAnnotation.

Liste de paramètres

rectangle

Un tableau contenant 4 coordonnées de la zone cliquable.

destination

Instance valide HaruDestination.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruAnnotation.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::createDestination
HaruPage::createTextAnnotation
HaruPage


Crée une nouvelle instance HaruAnnotation

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage
PHP Manual

HaruPage::createTextAnnotation

(PECL haru >= 0.0.1)

HaruPage::createTextAnnotation — Crée une nouvelle instance HaruAnnotation

Description

object HaruPage::createTextAnnotation ( array $rectangle , string $text [, object $encoder ] )

Crée une nouvelle instance HaruAnnotation.

Liste de paramètres

rectangle

Un tableau contenant 4 coordonnées de la zone d'annotation.

text

Le texte à afficher.

encoder

Instance optionnelle HaruEncoder.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruAnnotation.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::createLinkAnnotation
HaruPage::createURLAnnotation
HaruPage


Crée une nouvelle instance HaruAnnotation instance

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage
PHP Manual

HaruPage::createURLAnnotation

(PECL haru >= 0.0.1)

HaruPage::createURLAnnotation — Crée une nouvelle instance HaruAnnotation instance

Description

object HaruPage::createURLAnnotation ( array $rectangle , string $url )

Crée une nouvelle instance HaruAnnotation.

Liste de paramètres

rectangle

Un tableau contenant 4 coordonnées de zone cliquable.

url

L'URL à ouvrir.

Valeurs de retour

Retourne une nouvelle instance de la classe HaruAnnotation.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::createTextAnnotation
HaruPage::curveTo2
HaruPage


Ajoute une courbe de Bézier au chemin courant

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage
PHP Manual

HaruPage::curveTo2

(PECL haru >= 0.0.1)

HaruPage::curveTo2 — Ajoute une courbe de Bézier au chemin courant

Description

bool HaruPage::curveTo2 ( float $x2 , float $y2 , float $x3 , float $y3 )

Ajoute une courbe de Bézier au chemin courant. Le point courant et le point (x2, y2) sont utilisés comme points de contrôle pour la courbe de Bézier et le point courant est déplacé au point (x3, y3).

Liste de paramètres

x2

Un point de contrôle de la courbe de Bézier.

y2

Un point de contrôle de la courbe de Bézier.

x3

La position à laquelle le point courant est déplacé.

x3

La position à laquelle le point courant est déplacé.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::createURLAnnotation
HaruPage::curveTo3
HaruPage


Ajoute une courbe de Bézier au chemin courant

HaruPage::curveTo2
HaruPage::curveTo
HaruPage
PHP Manual

HaruPage::curveTo3

(PECL haru >= 0.0.1)

HaruPage::curveTo3 — Ajoute une courbe de Bézier au chemin courant

Description

bool HaruPage::curveTo3 ( float $x1 , float $y1 , float $x3 , float $y3 )

Ajoute une courbe de Bézier au chemin courant. Le point (x1, y1) et le point (x3, y3) sont utilisés comme points de contrôle pour la courbe de Bézier et le point courant est déplacé au point (x3, y3).

Liste de paramètres

x1

Un point de contrôle de la courbe de Bézier.

y1

Un point de contrôle de la courbe de Bézier.

x3

La position à laquelle le point courant est déplacé.

x3

La position à laquelle le point courant est déplacé.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::curveTo2
HaruPage::curveTo
HaruPage


Ajoute une courbe de Bézier au chemin courant

HaruPage::curveTo3
HaruPage::drawImage
HaruPage
PHP Manual

HaruPage::curveTo

(PECL haru >= 0.0.1)

HaruPage::curveTo — Ajoute une courbe de Bézier au chemin courant

Description

bool HaruPage::curveTo ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Ajoute une courbe de Bézier au chemin courant. Le point (x1, y1) et le point (x2, y2) sont utilisés comme points de contrôle pour la courbe de Bézier et le point courant est déplacé au point (x3, y3).

Liste de paramètres

x1

Un point de contrôle de la courbe de Bézier.

y1

Un point de contrôle de la courbe de Bézier.

x2

Un point de contrôle de la courbe de Bézier.

y2

Un point de contrôle de la courbe de Bézier.

x3

La position à laquelle le point courant est déplacé.

x3

La position à laquelle le point courant est déplacé.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::curveTo3
HaruPage::drawImage
HaruPage


Affiche une image dans la page

HaruPage::curveTo
HaruPage::ellipse
HaruPage
PHP Manual

HaruPage::drawImage

(PECL haru >= 0.0.1)

HaruPage::drawImage — Affiche une image dans la page

Description

bool HaruPage::drawImage ( object $image , float $x , float $y , float $width , float $height )

Affiche une image dans la page.

Liste de paramètres

image

Une instance valide HaruImage.

x

La bordure gauche de la zone, où l'image est affichée.

y

La bordure basse de la zone, où l'image est affichée.

width

La largeur de la zone de l'image.

height

La hauteur de la zone de l'image.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::curveTo
HaruPage::ellipse
HaruPage


Ajoute une ellipse au chemin courant

HaruPage::drawImage
HaruPage::endPath
HaruPage
PHP Manual

HaruPage::ellipse

(PECL haru >= 0.0.1)

HaruPage::ellipse — Ajoute une ellipse au chemin courant

Description

bool HaruPage::ellipse ( float $x , float $y , float $xray , float $yray )

Ajoute une ellipse au chemin courant.

Liste de paramètres

x

Coordonnée horizontale du centre.

y

Coordonnée verticale du centre.

xray

Le rayon de l'ellipse dans la direction x.

yray

Le rayon de l'ellipse dans la direction y.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::drawImage
HaruPage::endPath
HaruPage


Termine l'objet chemin courant sans effectuer d'opérations de remplissage et de peinture

HaruPage::ellipse
HaruPage::endText
HaruPage
PHP Manual

HaruPage::endPath

(PECL haru >= 0.0.1)

HaruPage::endPath — Termine l'objet chemin courant sans effectuer d'opérations de remplissage et de peinture

Description

bool HaruPage::endPath ( void )

Termine l'objet chemin courant sans effectuer d'opérations de remplissage et de peinture.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::ellipse
HaruPage::endText
HaruPage


Termine l'objet texte courant

HaruPage::endPath
HaruPage::eofill
HaruPage
PHP Manual

HaruPage::endText

(PECL haru >= 0.0.1)

HaruPage::endText — Termine l'objet texte courant

Description

bool HaruPage::endText ( void )

Finalise l'objet texte courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::endPath
HaruPage::eofill
HaruPage


Remplit le chemin courant en utilisant la règle "even-odd"

HaruPage::endText
HaruPage::eoFillStroke
HaruPage
PHP Manual

HaruPage::eofill

(PECL haru >= 0.0.1)

HaruPage::eofill — Remplit le chemin courant en utilisant la règle "even-odd"

Description

bool HaruPage::eofill ( void )

Remplit le chemin courant en utilisant la règle "even-odd".

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::endText
HaruPage::eoFillStroke
HaruPage


Remplit le chemin courant en utilisant la règle "even-odd", puis, peint le chemin

HaruPage::eofill
HaruPage::fill
HaruPage
PHP Manual

HaruPage::eoFillStroke

(PECL haru >= 0.0.1)

HaruPage::eoFillStroke — Remplit le chemin courant en utilisant la règle "even-odd", puis, peint le chemin

Description

bool HaruPage::eoFillStroke ([ bool $close_path = false ] )

Remplit le chemin courant en utilisant la règle "even-odd", puis, peint le chemin.

Liste de paramètres

close_path

Paramètre optionnel. Lorsqu'il est défini à TRUE, la fonction clôt le chemin courant. Par défaut, vaut FALSE.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::eofill
HaruPage::fill
HaruPage


Remplit le chemin courant en utilisant des nombres différents de zéro

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage
PHP Manual

HaruPage::fill

(PECL haru >= 0.0.1)

HaruPage::fill — Remplit le chemin courant en utilisant des nombres différents de zéro

Description

bool HaruPage::fill ( void )

Remplit le chemin courant en utilisant des nombres différents de zéro.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::eoFillStroke
HaruPage::fillStroke
HaruPage


Remplit le chemin en utilisant des nombres différents de zéro, puis peint le chemin

HaruPage::fill
HaruPage::getCharSpace
HaruPage
PHP Manual

HaruPage::fillStroke

(PECL haru >= 0.0.1)

HaruPage::fillStroke — Remplit le chemin en utilisant des nombres différents de zéro, puis peint le chemin

Description

bool HaruPage::fillStroke ([ bool $close_path = false ] )

Remplit le chemin en utilisant des nombres différents de zéro, puis peint le chemin.

Liste de paramètres

close_path

Paramètre optionnel. Lorsqu'il vaut TRUE, la fonction clôt le chemin courant. Par défaut, vaut FALSE.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::fill
HaruPage::getCharSpace
HaruPage


Récupère la valeur courante de l'espacement des caractères

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage
PHP Manual

HaruPage::getCharSpace

(PECL haru >= 0.0.1)

HaruPage::getCharSpace — Récupère la valeur courante de l'espacement des caractères

Description

float HaruPage::getCharSpace ( void )

Retourne la valeur courante de l'espacement des caractères.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la valeur courante de l'espacement des caractères.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::fillStroke
HaruPage::getCMYKFill
HaruPage


Récupère la couleur de remplissage courante

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage
PHP Manual

HaruPage::getCMYKFill

(PECL haru >= 0.0.1)

HaruPage::getCMYKFill — Récupère la couleur de remplissage courante

Description

array HaruPage::getCMYKFill ( void )

Récupère la couleur de remplissage courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur de remplissage courante, sous la forme d'un tableau de quatre éléments ("c", "m", "y" et "k").

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getCharSpace
HaruPage::getCMYKStroke
HaruPage


Récupère la couleur de remplissage courante

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage
PHP Manual

HaruPage::getCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::getCMYKStroke — Récupère la couleur de remplissage courante

Description

array HaruPage::getCMYKStroke ( void )

Récupère la couleur de remplissage courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur de remplissage courante, sous la forme d'un tableau de quatre éléments ("c", "m", "y" et "k").

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getCMYKFill
HaruPage::getCurrentFont
HaruPage


Récupère la police actuellement utilisée

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage
PHP Manual

HaruPage::getCurrentFont

(PECL haru >= 0.0.1)

HaruPage::getCurrentFont — Récupère la police actuellement utilisée

Description

object HaruPage::getCurrentFont ( void )

Récupère la police actuellement utilisée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la police actuellement utilisée, sous la forme d'une instance HaruFont.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getCMYKStroke
HaruPage::getCurrentFontSize
HaruPage


Récupère la taille de la police courante

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage
PHP Manual

HaruPage::getCurrentFontSize

(PECL haru >= 0.0.1)

HaruPage::getCurrentFontSize — Récupère la taille de la police courante

Description

float HaruPage::getCurrentFontSize ( void )

Récupère la taille de la police courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille de la police courante.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getCurrentFont
HaruPage::getCurrentPos
HaruPage


Récupère la position courante pour l'affichage

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage
PHP Manual

HaruPage::getCurrentPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentPos — Récupère la position courante pour l'affichage

Description

array HaruPage::getCurrentPos ( void )

Récupère la position courante pour l'affichage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la position courante pour l'affichage, sous la forme d'un tableau de deux éléments - "x" et "y".

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getCurrentFontSize
HaruPage::getCurrentTextPos
HaruPage


Récupère la position courante pour l'affichage du texte

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage
PHP Manual

HaruPage::getCurrentTextPos

(PECL haru >= 0.0.1)

HaruPage::getCurrentTextPos — Récupère la position courante pour l'affichage du texte

Description

array HaruPage::getCurrentTextPos ( void )

Récupère la position courante pour l'affichage du texte.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la position courante pour l'affichage du texte, sous la forme d'un tableau de deux éléments - "x" et "y".

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getCurrentPos
HaruPage::getDash
HaruPage


Récupère le style de tiret courant

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage
PHP Manual

HaruPage::getDash

(PECL haru >= 0.0.1)

HaruPage::getDash — Récupère le style de tiret courant

Description

array HaruPage::getDash ( void )

Récupère le style de tiret courant. Voir HaruPage::setDash() pour plus d'informations sur les styles de tirets.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le style de tiret courant, sous la forme d'un tableau de deux éléments - "pattern" et "phase" ou FALSE si le style de tiret n'a pas été défini.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setDash - Définit le style de tiret pour la page

HaruPage::getCurrentTextPos
HaruPage::getFillingColorSpace
HaruPage


Récupère la couleur de remplissage

HaruPage::getDash
HaruPage::getFlatness
HaruPage
PHP Manual

HaruPage::getFillingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getFillingColorSpace — Récupère la couleur de remplissage

Description

int HaruPage::getFillingColorSpace ( void )

Récupère la couleur de remplissage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur de remplissage. La valeur est une parmi :

  • HaruDoc::CS_DEVICE_GRAY
  • HaruDoc::CS_DEVICE_RGB
  • HaruDoc::CS_DEVICE_CMYK
  • HaruDoc::CS_CAL_GRAY
  • HaruDoc::CS_CAL_RGB
  • HaruDoc::CS_LAB
  • HaruDoc::CS_ICC_BASED
  • HaruDoc::CS_SEPARATION
  • HaruDoc::CS_DEVICE_N
  • HaruDoc::CS_INDEXED
  • HaruDoc::CS_PATTERN

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getDash
HaruPage::getFlatness
HaruPage


Récupère la planéité de la page

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage
PHP Manual

HaruPage::getFlatness

(PECL haru >= 0.0.1)

HaruPage::getFlatness — Récupère la planéité de la page

Description

float HaruPage::getFlatness ( void )

Récupère la planéité de la page.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la planéité de la page.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setFlatness - Définit la planéité de la page

HaruPage::getFillingColorSpace
HaruPage::getGMode
HaruPage


Récupère le mode courant de graphique

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage
PHP Manual

HaruPage::getGMode

(PECL haru >= 0.0.1)

HaruPage::getGMode — Récupère le mode courant de graphique

Description

int HaruPage::getGMode ( void )

Récupère le mode courant de graphique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le mode courant de graphique. La valeur est une parmi :

  • HaruPage::GMODE_PAGE_DESCRIPTION
  • HaruPage::GMODE_TEXT_OBJECT
  • HaruPage::GMODE_PATH_OBJECT
  • HaruPage::GMODE_CLIPPING_PATH
  • HaruPage::GMODE_SHADING
  • HaruPage::GMODE_INLINE_IMAGE
  • HaruPage::GMODE_EXTERNAL_OBJECT

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::getFlatness
HaruPage::getGrayFill
HaruPage


Récupère la couleur courante de remplissage

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage
PHP Manual

HaruPage::getGrayFill

(PECL haru >= 0.0.1)

HaruPage::getGrayFill — Récupère la couleur courante de remplissage

Description

float HaruPage::getGrayFill ( void )

Récupère la couleur courante de remplissage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur courante de remplissage.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setGrayFill - Définit la couleur de remplissage de la page

HaruPage::getGMode
HaruPage::getGrayStroke
HaruPage


Récupère la couleur courante

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage
PHP Manual

HaruPage::getGrayStroke

(PECL haru >= 0.0.1)

HaruPage::getGrayStroke — Récupère la couleur courante

Description

float HaruPage::getGrayStroke ( void )

Récupère la couleur courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur courante.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setGrayStroke - Définit la couleur de remplissage de la page

HaruPage::getGrayFill
HaruPage::getHeight
HaruPage


Récupère la hauteur de la page

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage
PHP Manual

HaruPage::getHeight

(PECL haru >= 0.0.1)

HaruPage::getHeight — Récupère la hauteur de la page

Description

float HaruPage::getHeight ( void )

Récupère la hauteur de la page.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la hauteur de la page.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setHeight - Définit la hauteur de la page

HaruPage::getGrayStroke
HaruPage::getHorizontalScaling
HaruPage


Récupère la valeur courante de l'échelle horizontale

HaruPage::getHeight
HaruPage::getLineCap
HaruPage
PHP Manual

HaruPage::getHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::getHorizontalScaling — Récupère la valeur courante de l'échelle horizontale

Description

float HaruPage::getHorizontalScaling ( void )

Récupère la valeur courante de l'échelle horizontale.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la valeur courante de l'échelle horizontale.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setHorizontalScaling - Définit la graduation horizontale de la page

HaruPage::getHeight
HaruPage::getLineCap
HaruPage


Récupère le style courant de fin de lignes

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage
PHP Manual

HaruPage::getLineCap

(PECL haru >= 0.0.1)

HaruPage::getLineCap — Récupère le style courant de fin de lignes

Description

int HaruPage::getLineCap ( void )

Récupère le style courant de fin de lignes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le style courant de fin de lignes. La valeur est une parmi :

  • HaruPage::BUTT_END - la ligne est ajustée à la fin du chemin.
  • HaruPage::ROUND_END - la fin de la ligne devient un demi-cercle dont le centre est le point final du chemin.
  • HaruPage::PROJECTING_SCUARE_END - la ligne continue jusqu'au point qui excède de moitié la largeur du point final.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setLineCap - Définit la forme à utiliser à la fin des lignes

HaruPage::getHorizontalScaling
HaruPage::getLineJoin
HaruPage


Récupère le style de jointure de lignes

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage
PHP Manual

HaruPage::getLineJoin

(PECL haru >= 0.0.1)

HaruPage::getLineJoin — Récupère le style de jointure de lignes

Description

int HaruPage::getLineJoin ( void )

Récupère le style de jointure de lignes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le style de jointure de lignes. La valeur est une parmi :

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setLineJoin - Définit le style de jointure de ligne pour la page

HaruPage::getLineCap
HaruPage::getLineWidth
HaruPage


Récupère la largeur courante de la ligne

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage
PHP Manual

HaruPage::getLineWidth

(PECL haru >= 0.0.1)

HaruPage::getLineWidth — Récupère la largeur courante de la ligne

Description

float HaruPage::getLineWidth ( void )

Récupère la largeur courante de la ligne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la largeur courante de la ligne.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setLineWidth - Définit la largeur de la ligne pour la page

HaruPage::getLineJoin
HaruPage::getMiterLimit
HaruPage


Récupère la valeur de la limite de l'anglet

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage
PHP Manual

HaruPage::getMiterLimit

(PECL haru >= 0.0.1)

HaruPage::getMiterLimit — Récupère la valeur de la limite de l'anglet

Description

float HaruPage::getMiterLimit ( void )

Récupère la valeur de la limite de l'anglet.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la valeur de la limite de l'anglet.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setMiterLimit - Définit la valeur courante de la limite de l'anglet de la page

HaruPage::getLineWidth
HaruPage::getRGBFill
HaruPage


Récupère la couleur courante de remplissage

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage
PHP Manual

HaruPage::getRGBFill

(PECL haru >= 0.0.1)

HaruPage::getRGBFill — Récupère la couleur courante de remplissage

Description

array HaruPage::getRGBFill ( void )

Récupère la couleur courante de remplissage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur courante de remplissage, sous la forme d'un tableau de 3 éléments : "r", "g" et "b".

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setRGBFill - Définit la couleur de remplissage pour la page

HaruPage::getMiterLimit
HaruPage::getRGBStroke
HaruPage


Récupère la couleur de peinture courante

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage
PHP Manual

HaruPage::getRGBStroke

(PECL haru >= 0.0.1)

HaruPage::getRGBStroke — Récupère la couleur de peinture courante

Description

array HaruPage::getRGBStroke ( void )

Récupère la couleur de peinture courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur de peinture courante.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setRGBStroke - Définit la couleur de remplissage de la page

HaruPage::getRGBFill
HaruPage::getStrokingColorSpace
HaruPage


Récupère la couleur de peinture de l'espace courant

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage
PHP Manual

HaruPage::getStrokingColorSpace

(PECL haru >= 0.0.1)

HaruPage::getStrokingColorSpace — Récupère la couleur de peinture de l'espace courant

Description

int HaruPage::getStrokingColorSpace ( void )

Récupère la couleur de peinture de l'espace courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la couleur de peinture de l'espace courant. La liste des valeurs retournées est la même que pour la fonction HaruPage::getFillingColorSpace().

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getFillingColorSpace - Récupère la couleur de remplissage

HaruPage::getRGBStroke
HaruPage::getTextLeading
HaruPage


Récupère la valeur courante de l'espacement des lignes

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage
PHP Manual

HaruPage::getTextLeading

(PECL haru >= 0.0.1)

HaruPage::getTextLeading — Récupère la valeur courante de l'espacement des lignes

Description

float HaruPage::getTextLeading ( void )

Récupère la valeur courante de l'espacement des lignes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la valeur courante de l'espacement des lignes.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setTextLeading - Définit l'espacement entre les lignes du texte pour la page

HaruPage::getStrokingColorSpace
HaruPage::getTextMatrix
HaruPage


Récupère la matrice de transformation courante du texte de la page

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage
PHP Manual

HaruPage::getTextMatrix

(PECL haru >= 0.0.1)

HaruPage::getTextMatrix — Récupère la matrice de transformation courante du texte de la page

Description

array HaruPage::getTextMatrix ( void )

Récupère la matrice de transformation courante du texte de la page.

Valeurs de retour

Retourne la matrice de transformation courante du texte de la page, sous la forme d'un tableau de 6 éléments : "a", "b", "c", "d", "x" et "y".

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setTextMatrix - Définit la matrice de transformation de texte courante de la page

HaruPage::getTextLeading
HaruPage::getTextRenderingMode
HaruPage


Récupère le mode de rendu courant du texte

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage
PHP Manual

HaruPage::getTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::getTextRenderingMode — Récupère le mode de rendu courant du texte

Description

int HaruPage::getTextRenderingMode ( void )

Récupère le mode de rendu courant du texte.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le mode de rendu courant du texte. La valeur est une parmi :

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setTextRenderingMode - Définit la matrice de transformation de texte courante de la page

HaruPage::getTextMatrix
HaruPage::getTextRise
HaruPage


Récupère la valeur de la levée du texte

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage
PHP Manual

HaruPage::getTextRise

(PECL haru >= 0.0.1)

HaruPage::getTextRise — Récupère la valeur de la levée du texte

Description

float HaruPage::getTextRise ( void )

Récupère la valeur de la levée du texte.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la valeur courante de la levée du texte.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setTextRise - Définit la valeur courante de la levée du texte

HaruPage::getTextRenderingMode
HaruPage::getTextWidth
HaruPage


Récupère la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage
PHP Manual

HaruPage::getTextWidth

(PECL haru >= 0.0.1)

HaruPage::getTextWidth — Récupère la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots

Description

float HaruPage::getTextWidth ( string $text )

Récupère la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots.

Liste de paramètres

text

Le texte à mesurer.

Valeurs de retour

Retourne la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::measureText - Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée

HaruPage::getTextRise
HaruPage::getTransMatrix
HaruPage


Récupère la matrice de transformation courante de la page

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage
PHP Manual

HaruPage::getTransMatrix

(PECL haru >= 0.0.1)

HaruPage::getTransMatrix — Récupère la matrice de transformation courante de la page

Description

array HaruPage::getTransMatrix ( void )

Récupère la matrice de transformation courante de la page.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la matrice de transformation courante de la page, sous la forme d'un tableau de 6 éléments : "a", "b", "c", "d", "x" and "y".

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::concat - Concatène la matrice de transformation courante et la matrice spécifiée

HaruPage::getTextWidth
HaruPage::getWidth
HaruPage


Récupère la largeur de la page

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage
PHP Manual

HaruPage::getWidth

(PECL haru >= 0.0.1)

HaruPage::getWidth — Récupère la largeur de la page

Description

float HaruPage::getWidth ( void )

Récupère la largeur de la page.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la largeur de la page.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setWidth - Définit la largeur de la page

HaruPage::getTransMatrix
HaruPage::getWordSpace
HaruPage


Récupère la valeur courante de l'espacement entre les mots

HaruPage::getWidth
HaruPage::lineTo
HaruPage
PHP Manual

HaruPage::getWordSpace

(PECL haru >= 0.0.1)

HaruPage::getWordSpace — Récupère la valeur courante de l'espacement entre les mots

Description

float HaruPage::getWordSpace ( void )

Récupère la valeur courante de l'espacement entre les mots.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la valeur courante de l'espacement entre les mots.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setWordSpace - Définit l'espacement entre les mots pour la page

HaruPage::getWidth
HaruPage::lineTo
HaruPage


Trace une ligne depuis le point courant vers le point spécifié

HaruPage::getWordSpace
HaruPage::measureText
HaruPage
PHP Manual

HaruPage::lineTo

(PECL haru >= 0.0.1)

HaruPage::lineTo — Trace une ligne depuis le point courant vers le point spécifié

Description

bool HaruPage::lineTo ( float $x , float $y )

Trace une ligne depuis le point courant vers le point spécifié.

Liste de paramètres

x

y

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::curveTo - Ajoute une courbe de Bézier au chemin courant
  • HaruPage::curveTo2 - Ajoute une courbe de Bézier au chemin courant
  • HaruPage::curveTo3 - Ajoute une courbe de Bézier au chemin courant

HaruPage::getWordSpace
HaruPage::measureText
HaruPage


Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage
PHP Manual

HaruPage::measureText

(PECL haru >= 0.0.1)

HaruPage::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée

Description

int HaruPage::measureText ( string $text , float $width [, bool $wordwrap = false ] )

Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée.

Liste de paramètres

text

Le texte à mesurer.

width

La largeur de la zone où l'on doit mettre le texte.

wordwrap

Lorsque ce paramètre est défini à TRUE, la fonction émule la troncation des mots et n'inclut pas la partie du mot courant si l'on arrive à la fin de la zone.

Valeurs de retour

Retourne le nombre de caractères qui peuvent être inclus dans la largeur spécifiée.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruFont::measureText - Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée

HaruPage::lineTo
HaruPage::moveTextPos
HaruPage


Déplace la position du texte à une position donnée

HaruPage::measureText
HaruPage::moveTo
HaruPage
PHP Manual

HaruPage::moveTextPos

(PECL haru >= 0.0.1)

HaruPage::moveTextPos — Déplace la position du texte à une position donnée

Description

bool HaruPage::moveTextPos ( float $x , float $y [, bool $set_leading = false ] )

Déplace la position du texte à la position donnée. Si la position de départ de la ligne courant est (x1, y1), le début de la prochaine ligne est (x1 + x, y1 + y).

Liste de paramètres

x

La position du texte.

y

La position du texte.

set_leading

Si le paramètre optionnel set_leading vaut TRUE, la fonction défini l'espacement du texte à -y.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::moveToNextLine - Déplace la position du texte au début de la prochaine ligne

HaruPage::measureText
HaruPage::moveTo
HaruPage


Définit le point de départ pour la nouvelle ligne

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage
PHP Manual

HaruPage::moveTo

(PECL haru >= 0.0.1)

HaruPage::moveTo — Définit le point de départ pour la nouvelle ligne

Description

bool HaruPage::moveTo ( float $x , float $y )

Définit le point de départ pour la nouvelle ligne.

Liste de paramètres

x

Coordonnée du nouveau point de départ.

y

Coordonnée du nouveau point de départ.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::moveTextPos
HaruPage::moveToNextLine
HaruPage


Déplace la position du texte au début de la prochaine ligne

HaruPage::moveTo
HaruPage::rectangle
HaruPage
PHP Manual

HaruPage::moveToNextLine

(PECL haru >= 0.0.1)

HaruPage::moveToNextLine — Déplace la position du texte au début de la prochaine ligne

Description

bool HaruPage::moveToNextLine ( void )

Déplace la position du texte au début de la prochaine ligne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::moveTextPos - Déplace la position du texte à une position donnée

HaruPage::moveTo
HaruPage::rectangle
HaruPage


Ajoute un rectangle à la position courante

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage
PHP Manual

HaruPage::rectangle

(PECL haru >= 0.0.1)

HaruPage::rectangle — Ajoute un rectangle à la position courante

Description

bool HaruPage::rectangle ( float $x , float $y , float $width , float $height )

Ajoute un rectangle à la position courante.

Liste de paramètres

x

La bordure gauche du rectangle.

y

La bordure basse du rectangle.

width

La largeur du rectangle.

height

La hauteur du rectangle.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::moveToNextLine
HaruPage::setCharSpace
HaruPage


Définit l'espacement des caractères pour la page

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage
PHP Manual

HaruPage::setCharSpace

(PECL haru >= 0.0.1)

HaruPage::setCharSpace — Définit l'espacement des caractères pour la page

Description

bool HaruPage::setCharSpace ( float $char_space )

Définit l'espacement des caractères pour la page.

Liste de paramètres

char_space

Le nouvel espacement des caractères pour la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getCharSpace - Récupère la valeur courante de l'espacement des caractères

HaruPage::rectangle
HaruPage::setCMYKFill
HaruPage


Définit la couleur de remplissage de la page

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage
PHP Manual

HaruPage::setCMYKFill

(PECL haru >= 0.0.1)

HaruPage::setCMYKFill — Définit la couleur de remplissage de la page

Description

bool HaruPage::setCMYKFill ( float $c , float $m , float $y , float $k )

Définit la couleur de remplissage de la page.

Liste de paramètres

c

m

y

k

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getCMYKFill - Récupère la couleur de remplissage courante

HaruPage::setCharSpace
HaruPage::setCMYKStroke
HaruPage


Définit la couleur de remplissage de la page

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage
PHP Manual

HaruPage::setCMYKStroke

(PECL haru >= 0.0.1)

HaruPage::setCMYKStroke — Définit la couleur de remplissage de la page

Description

bool HaruPage::setCMYKStroke ( float $c , float $m , float $y , float $k )

Définit la couleur de remplissage de la page.

Liste de paramètres

c

m

y

k

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getCMYKStroke - Récupère la couleur de remplissage courante

HaruPage::setCMYKFill
HaruPage::setDash
HaruPage


Définit le style de tiret pour la page

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage
PHP Manual

HaruPage::setDash

(PECL haru >= 0.0.1)

HaruPage::setDash — Définit le style de tiret pour la page

Description

bool HaruPage::setDash ( array $pattern , int $phase )

Définit le style de tiret pour la page.

Liste de paramètres

pattern

Un tableau (8 éléments au maximum) qui contiennent les styles et les trous utilisés pour les lignes de la page.

phase

La phase sur laquelle les masques commencent.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getDash - Récupère le style de tiret courant

HaruPage::setCMYKStroke
HaruPage::setFlatness
HaruPage


Définit la planéité de la page

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage
PHP Manual

HaruPage::setFlatness

(PECL haru >= 0.0.1)

HaruPage::setFlatness — Définit la planéité de la page

Description

bool HaruPage::setFlatness ( float $flatness )

Définit la planéité de la page.

Liste de paramètres

flatness

La planéité pour la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getFlatness - Récupère la planéité de la page

HaruPage::setDash
HaruPage::setFontAndSize
HaruPage


Définit la police et sa taille pour la page

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage
PHP Manual

HaruPage::setFontAndSize

(PECL haru >= 0.0.1)

HaruPage::setFontAndSize — Définit la police et sa taille pour la page

Description

bool HaruPage::setFontAndSize ( object $font , float $size )

Définit la police et sa taille pour la page.

Liste de paramètres

font

Une instance valide de HaruFont.

size

La taille de la police.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruDoc::getFont - Récupère une instance HaruFont

HaruPage::setFlatness
HaruPage::setGrayFill
HaruPage


Définit la couleur de remplissage de la page

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage
PHP Manual

HaruPage::setGrayFill

(PECL haru >= 0.0.1)

HaruPage::setGrayFill — Définit la couleur de remplissage de la page

Description

bool HaruPage::setGrayFill ( float $value )

Définit la couleur de remplissage de la page.

Liste de paramètres

value

La valeur pour la couleur grise, comprise entre 0 et 1.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getGrayFill - Récupère la couleur courante de remplissage

HaruPage::setFontAndSize
HaruPage::setGrayStroke
HaruPage


Définit la couleur de remplissage de la page

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage
PHP Manual

HaruPage::setGrayStroke

(PECL haru >= 0.0.1)

HaruPage::setGrayStroke — Définit la couleur de remplissage de la page

Description

bool HaruPage::setGrayStroke ( float $value )

Définit la couleur de remplissage de la page.

Liste de paramètres

value

La valeur pour la couleur grise, comprise entre 0 et 1.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getGrayStroke - Récupère la couleur courante

HaruPage::setGrayFill
HaruPage::setHeight
HaruPage


Définit la hauteur de la page

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage
PHP Manual

HaruPage::setHeight

(PECL haru >= 0.0.1)

HaruPage::setHeight — Définit la hauteur de la page

Description

bool HaruPage::setHeight ( float $height )

Définit la hauteur de la page.

Liste de paramètres

height

La hauteur de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getHeight - Récupère la hauteur de la page

HaruPage::setGrayStroke
HaruPage::setHorizontalScaling
HaruPage


Définit la graduation horizontale de la page

HaruPage::setHeight
HaruPage::setLineCap
HaruPage
PHP Manual

HaruPage::setHorizontalScaling

(PECL haru >= 0.0.1)

HaruPage::setHorizontalScaling — Définit la graduation horizontale de la page

Description

bool HaruPage::setHorizontalScaling ( float $scaling )

Définit la graduation horizontale du texte affiché sur la page.

Liste de paramètres

scaling

La graduation horizontal du texte affiché sur la page. La valeur initiale est 100.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getHorizontalScaling - Récupère la valeur courante de l'échelle horizontale

HaruPage::setHeight
HaruPage::setLineCap
HaruPage


Définit la forme à utiliser à la fin des lignes

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage
PHP Manual

HaruPage::setLineCap

(PECL haru >= 0.0.1)

HaruPage::setLineCap — Définit la forme à utiliser à la fin des lignes

Description

bool HaruPage::setLineCap ( int $cap )

Définit la forme à utiliser à la fin des lignes.

Liste de paramètres

cap

Doit être une des valeurs suivantes :

  • HaruPage::BUTT_END - la ligne est ajustée à la fin du chemin.
  • HaruPage::ROUND_END - la fin de la ligne devient un demi-cercle dont le centre est le point final du chemin.
  • HaruPage::PROJECTING_SCUARE_END - la ligne continue jusqu'au point qui excède de moitié la largeur du point final.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getLineCap - Récupère le style courant de fin de lignes

HaruPage::setHorizontalScaling
HaruPage::setLineJoin
HaruPage


Définit le style de jointure de ligne pour la page

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage
PHP Manual

HaruPage::setLineJoin

(PECL haru >= 0.0.1)

HaruPage::setLineJoin — Définit le style de jointure de ligne pour la page

Description

bool HaruPage::setLineJoin ( int $join )

Définit le style de jointure de ligne pour la page.

Liste de paramètres

join

Doit être une des valeurs suivantes :

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getLineJoin - Récupère le style de jointure de lignes

HaruPage::setLineCap
HaruPage::setLineWidth
HaruPage


Définit la largeur de la ligne pour la page

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage
PHP Manual

HaruPage::setLineWidth

(PECL haru >= 0.0.1)

HaruPage::setLineWidth — Définit la largeur de la ligne pour la page

Description

bool HaruPage::setLineWidth ( float $width )

Définit la largeur de la ligne pour la page.

Liste de paramètres

width

La largeur de la ligne pour la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getLineWidth - Récupère la largeur courante de la ligne

HaruPage::setLineJoin
HaruPage::setMiterLimit
HaruPage


Définit la valeur courante de la limite de l'anglet de la page

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage
PHP Manual

HaruPage::setMiterLimit

(PECL haru >= 0.0.1)

HaruPage::setMiterLimit — Définit la valeur courante de la limite de l'anglet de la page

Description

bool HaruPage::setMiterLimit ( float $limit )

Définit la valeur courante de la limite de l'anglet de la page.

Liste de paramètres

limit

Définit la valeur courante de la limite de l'anglet de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getMiterLimit - Récupère la valeur de la limite de l'anglet

HaruPage::setLineWidth
HaruPage::setRGBFill
HaruPage


Définit la couleur de remplissage pour la page

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage
PHP Manual

HaruPage::setRGBFill

(PECL haru >= 0.0.1)

HaruPage::setRGBFill — Définit la couleur de remplissage pour la page

Description

bool HaruPage::setRGBFill ( float $r , float $g , float $b )

Définit la couleur de remplissage de la page. Toutes les valeurs doivent être comprises entre 0 et 1.

Liste de paramètres

r

g

b

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getRGBFill - Récupère la couleur courante de remplissage

HaruPage::setMiterLimit
HaruPage::setRGBStroke
HaruPage


Définit la couleur de remplissage de la page

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage
PHP Manual

HaruPage::setRGBStroke

(PECL haru >= 0.0.1)

HaruPage::setRGBStroke — Définit la couleur de remplissage de la page

Description

bool HaruPage::setRGBStroke ( float $r , float $g , float $b )

Définit la couleur de remplissage de la page. Toutes les valeurs doivent être comprises entre 0 et 1.

Liste de paramètres

r

g

b

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getRGBStroke - Récupère la couleur de peinture courante

HaruPage::setRGBFill
HaruPage::setRotate
HaruPage


Définit l'angle de rotation de la page

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage
PHP Manual

HaruPage::setRotate

(PECL haru >= 0.0.1)

HaruPage::setRotate — Définit l'angle de rotation de la page

Description

bool HaruPage::setRotate ( int $angle )

Définit l'angle de rotation de la page.

Liste de paramètres

angle

Doit être un multiple de 90 degrés.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::setRGBStroke
HaruPage::setSize
HaruPage


Définit la taille et la direction de la page

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage
PHP Manual

HaruPage::setSize

(PECL haru >= 0.0.1)

HaruPage::setSize — Définit la taille et la direction de la page

Description

bool HaruPage::setSize ( int $size , int $direction )

Modifie la taille et la direction de la page en un format prédéfini.

Liste de paramètres

size

Doit être une des valeurs suivantes :

  • HaruPage::SIZE_LETTER
  • HaruPage::SIZE_LEGAL
  • HaruPage::SIZE_A3
  • HaruPage::SIZE_A4
  • HaruPage::SIZE_A5
  • HaruPage::SIZE_B4
  • HaruPage::SIZE_B5
  • HaruPage::SIZE_EXECUTIVE
  • HaruPage::SIZE_US4x6
  • HaruPage::SIZE_US4x8
  • HaruPage::SIZE_US5x7
  • HaruPage::SIZE_COMM10

direction

Doit être une des valeurs suivantes :

  • HaruPage::PORTRAIT
  • HaruPage::LANDSCAPE

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::setWidth - Définit la largeur de la page
  • HaruPage::setHeight - Définit la hauteur de la page

HaruPage::setRotate
HaruPage::setSlideShow
HaruPage


Définit le style de transition pour la page

HaruPage::setSize
HaruPage::setTextLeading
HaruPage
PHP Manual

HaruPage::setSlideShow

(PECL haru >= 0.0.1)

HaruPage::setSlideShow — Définit le style de transition pour la page

Description

bool HaruPage::setSlideShow ( int $type , float $disp_time , float $trans_time )

Définit le style de transition pour la page.

Liste de paramètres

type

Doit être une des valeurs suivantes :

  • HaruPage::TS_WIPE_RIGHT
  • HaruPage::TS_WIPE_LEFT
  • HaruPage::TS_WIPE_UP
  • HaruPage::TS_WIPE_DOWN
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT
  • HaruPage::TS_BARN_DOORS_HORIZONTAL_IN
  • HaruPage::TS_BARN_DOORS_VERTICAL_OUT
  • HaruPage::TS_BARN_DOORS_VERTICAL_IN
  • HaruPage::TS_BOX_OUT
  • HaruPage::TS_BOX_IN
  • HaruPage::TS_BLINDS_HORIZONTAL
  • HaruPage::TS_BLINDS_VERTICAL
  • HaruPage::TS_DISSOLVE
  • HaruPage::TS_GLITTER_RIGHT
  • HaruPage::TS_GLITTER_DOWN
  • HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT
  • HaruPage::TS_REPLACE

disp_time

Le temps d'affichage de la page, en secondes.

trans_time

La durée de l'effet de transition, en secondes.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::setSize
HaruPage::setTextLeading
HaruPage


Définit l'espacement entre les lignes du texte pour la page

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage
PHP Manual

HaruPage::setTextLeading

(PECL haru >= 0.0.1)

HaruPage::setTextLeading — Définit l'espacement entre les lignes du texte pour la page

Description

bool HaruPage::setTextLeading ( float $text_leading )

Définit l'espacement entre les lignes du texte pour la page.

Liste de paramètres

text_leading

Espacement entre les lignes de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getTextLeading - Récupère la valeur courante de l'espacement des lignes

HaruPage::setSlideShow
HaruPage::setTextMatrix
HaruPage


Définit la matrice de transformation de texte courante de la page

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage
PHP Manual

HaruPage::setTextMatrix

(PECL haru >= 0.0.1)

HaruPage::setTextMatrix — Définit la matrice de transformation de texte courante de la page

Description

bool HaruPage::setTextMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )

Définit la matrice de transformation de texte de la page.

Liste de paramètres

a

Multiplicateur de largeur.

b

Inclinaison verticale, en radians.

c

Inclinaison horizontale, en radians.

d

Multiplicateur de hauteur.

x

Position horizontale du texte.

y

Position verticale du texte.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getTextMatrix - Récupère la matrice de transformation courante du texte de la page

HaruPage::setTextLeading
HaruPage::setTextRenderingMode
HaruPage


Définit la matrice de transformation de texte courante de la page

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage
PHP Manual

HaruPage::setTextRenderingMode

(PECL haru >= 0.0.1)

HaruPage::setTextRenderingMode — Définit la matrice de transformation de texte courante de la page

Description

bool HaruPage::setTextRenderingMode ( int $mode )

Définit la matrice de transformation de texte de la page.

Liste de paramètres

mode

Doit être une valeur parmi les suivantes :

  • HaruPage::FILL
  • HaruPage::STROKE
  • HaruPage::FILL_THEN_STROKE
  • HaruPage::INVISIBLE
  • HaruPage::FILL_CLIPPING
  • HaruPage::STROKE_CLIPPING
  • HaruPage::FILL_STROKE_CLIPPING
  • HaruPage::CLIPPING

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getTextRenderingMode - Récupère le mode de rendu courant du texte

HaruPage::setTextMatrix
HaruPage::setTextRise
HaruPage


Définit la valeur courante de la levée du texte

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage
PHP Manual

HaruPage::setTextRise

(PECL haru >= 0.0.1)

HaruPage::setTextRise — Définit la valeur courante de la levée du texte

Description

bool HaruPage::setTextRise ( float $rise )

Définit la valeur courante de la levée du texte.

Liste de paramètres

rise

Valeur courante de la levée du texte.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getTextRise - Récupère la valeur de la levée du texte

HaruPage::setTextRenderingMode
HaruPage::setWidth
HaruPage


Définit la largeur de la page

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage
PHP Manual

HaruPage::setWidth

(PECL haru >= 0.0.1)

HaruPage::setWidth — Définit la largeur de la page

Description

bool HaruPage::setWidth ( float $width )

Définit la largeur de la page.

Liste de paramètres

width

Largeur de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getWidth - Récupère la largeur de la page

HaruPage::setTextRise
HaruPage::setWordSpace
HaruPage


Définit l'espacement entre les mots pour la page

HaruPage::setWidth
HaruPage::showText
HaruPage
PHP Manual

HaruPage::setWordSpace

(PECL haru >= 0.0.1)

HaruPage::setWordSpace — Définit l'espacement entre les mots pour la page

Description

bool HaruPage::setWordSpace ( float $word_space )

Définit l'espacement entre les mots pour la page.

Liste de paramètres

word_space

Espacement entre les mots de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::getWordSpace - Récupère la valeur courante de l'espacement entre les mots

HaruPage::setWidth
HaruPage::showText
HaruPage


Affiche le texte à la position courante de la page

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage
PHP Manual

HaruPage::showText

(PECL haru >= 0.0.1)

HaruPage::showText — Affiche le texte à la position courante de la page

Description

bool HaruPage::showText ( string $text )

Affiche le texte à la position courante de la page.

Liste de paramètres

text

Le texte à afficher.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::showTextNextLine - Déplace la position courante au début de la prochaine ligne et affiche le texte
  • HaruPage::textOut - Affiche le texte à la position spécifiée

HaruPage::setWordSpace
HaruPage::showTextNextLine
HaruPage


Déplace la position courante au début de la prochaine ligne et affiche le texte

HaruPage::showText
HaruPage::stroke
HaruPage
PHP Manual

HaruPage::showTextNextLine

(PECL haru >= 0.0.1)

HaruPage::showTextNextLine — Déplace la position courante au début de la prochaine ligne et affiche le texte

Description

bool HaruPage::showTextNextLine ( string $text [, float $word_space [, float $char_space ]] )

Déplace la position courante au début de la prochaine ligne et affiche le texte.

Liste de paramètres

text

Le texte à afficher.

word_space

L'espacement entre les mots.

char_space

L'espacement entre les caractères.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::showText - Affiche le texte à la position courante de la page
  • HaruPage::textOut - Affiche le texte à la position spécifiée

HaruPage::showText
HaruPage::stroke
HaruPage


Peint le chemin courant

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage
PHP Manual

HaruPage::stroke

(PECL haru >= 0.0.1)

HaruPage::stroke — Peint le chemin courant

Description

bool HaruPage::stroke ([ bool $close_path = false ] )

Peint le chemin courant.

Liste de paramètres

close_path

Ferme le chemin courant si défini à TRUE.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruPage::showTextNextLine
HaruPage::textOut
HaruPage


Affiche le texte à la position spécifiée

HaruPage::stroke
HaruPage::textRect
HaruPage
PHP Manual

HaruPage::textOut

(PECL haru >= 0.0.1)

HaruPage::textOut — Affiche le texte à la position spécifiée

Description

bool HaruPage::textOut ( float $x , float $y , string $text )

Affiche le texte à la position spécifiée.

Liste de paramètres

x

y

text

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::showTextNextLine - Déplace la position courante au début de la prochaine ligne et affiche le texte
  • HaruPage::showText - Affiche le texte à la position courante de la page

HaruPage::stroke
HaruPage::textRect
HaruPage


Affiche le texte d'une région spécifique

HaruPage::textOut
HaruFont
HaruPage
PHP Manual

HaruPage::textRect

(PECL haru >= 0.0.1)

HaruPage::textRect — Affiche le texte d'une région spécifique

Description

bool HaruPage::textRect ( float $left , float $top , float $right , float $bottom , string $text [, int $align = HaruPage::TALIGN_LEFT ] )

Affiche le texte d'une région spécifique.

Liste de paramètres

left

Bordure gauche de la zone de texte.

top

Bordure haute de la zone de texte.

right

Bordure droite de la zone de texte.

bottom

Bordure basse de la zone de texte.

text

Le texte à afficher.

align

Alignement du texte. Doit être une valeur parmi :

  • HaruPage::TALING_LEFT
  • HaruPage::TALING_RIGHT
  • HaruPage::TALING_CENTER
  • HaruPage::TALING_JUSTIFY

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

Voir aussi

  • HaruPage::showTextNextLine - Déplace la position courante au début de la prochaine ligne et affiche le texte
  • HaruPage::showText - Affiche le texte à la position courante de la page
  • HaruPage::textOut - Affiche le texte à la position spécifiée

HaruPage::textOut
HaruFont
HaruPage


Classe HaruFont

Introduction

Classe Haru PDF Font.

Synopsis de la classe

HaruFont
HaruFont {
/* Méthodes */
int getAscent ( void )
int getCapHeight ( void )
int getDescent ( void )
string getEncodingName ( void )
string getFontName ( void )
array getTextWidth ( string $text )
int getUnicodeWidth ( int $character )
int getXHeight ( void )
int measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )
}

Sommaire

  • HaruFont::getAscent — Récupère la montée verticale de la police
  • HaruFont::getCapHeight — Récupère la distance depuis la ligne de base des lettres en majuscule
  • HaruFont::getDescent — Récupère la descente verticale de la police
  • HaruFont::getEncodingName — Récupère le nom de l'encodage
  • HaruFont::getFontName — Récupère le nom de la police
  • HaruFont::getTextWidth — Récupère la largeur totale du texte, le nombre de caractères, le nombre de mots et le nombre d'espaces
  • HaruFont::getUnicodeWidth — Récupère la largeur d'un caractère dans une police
  • HaruFont::getXHeight — Récupère la distance depuis la ligne de base des lettres minuscule
  • HaruFont::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée
HaruPage::textRect
HaruFont::getAscent
haru


Récupère la montée verticale de la police

HaruFont
HaruFont::getCapHeight
HaruFont
PHP Manual

HaruFont::getAscent

(PECL haru >= 0.0.1)

HaruFont::getAscent — Récupère la montée verticale de la police

Description

int HaruFont::getAscent ( void )

Récupère la montée verticale de la police.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la montée verticale de la police.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont
HaruFont::getCapHeight
HaruFont


Récupère la distance depuis la ligne de base des lettres en majuscule

HaruFont::getAscent
HaruFont::getDescent
HaruFont
PHP Manual

HaruFont::getCapHeight

(PECL haru >= 0.0.1)

HaruFont::getCapHeight — Récupère la distance depuis la ligne de base des lettres en majuscule

Description

int HaruFont::getCapHeight ( void )

Récupère la distance depuis la ligne de base des lettres en majuscule.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la distance depuis la ligne de base des lettres en majuscule.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getAscent
HaruFont::getDescent
HaruFont


Récupère la descente verticale de la police

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont
PHP Manual

HaruFont::getDescent

(PECL haru >= 0.0.1)

HaruFont::getDescent — Récupère la descente verticale de la police

Description

int HaruFont::getDescent ( void )

Récupère la descente verticale de la police.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la descente verticale de la police.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getCapHeight
HaruFont::getEncodingName
HaruFont


Récupère le nom de l'encodage

HaruFont::getDescent
HaruFont::getFontName
HaruFont
PHP Manual

HaruFont::getEncodingName

(PECL haru >= 0.0.1)

HaruFont::getEncodingName — Récupère le nom de l'encodage

Description

string HaruFont::getEncodingName ( void )

Récupère le nom de l'encodage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de l'encodage de la police.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getDescent
HaruFont::getFontName
HaruFont


Récupère le nom de la police

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont
PHP Manual

HaruFont::getFontName

(PECL haru >= 0.0.1)

HaruFont::getFontName — Récupère le nom de la police

Description

string HaruFont::getFontName ( void )

Récupère le nom de la police.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de la police.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getEncodingName
HaruFont::getTextWidth
HaruFont


Récupère la largeur totale du texte, le nombre de caractères, le nombre de mots et le nombre d'espaces

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont
PHP Manual

HaruFont::getTextWidth

(PECL haru >= 0.0.1)

HaruFont::getTextWidth — Récupère la largeur totale du texte, le nombre de caractères, le nombre de mots et le nombre d'espaces

Description

array HaruFont::getTextWidth ( string $text )

Récupère la largeur totale du texte, le nombre de caractères, le nombre de mots et le nombre d'espaces.

Liste de paramètres

text

Le texte à mesurer.

Valeurs de retour

Retourne la largeur totale d'un texte, le nombre de caractères, le nombre de mots et le nombre d'espaces dans un texte donné.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getFontName
HaruFont::getUnicodeWidth
HaruFont


Récupère la largeur d'un caractère dans une police

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont
PHP Manual

HaruFont::getUnicodeWidth

(PECL haru >= 0.0.1)

HaruFont::getUnicodeWidth — Récupère la largeur d'un caractère dans une police

Description

int HaruFont::getUnicodeWidth ( int $character )

Récupère la largeur d'un caractère dans une police.

Liste de paramètres

character

Le code du caractère.

Valeurs de retour

Retourne la largeur d'un caractère dans la police.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getTextWidth
HaruFont::getXHeight
HaruFont


Récupère la distance depuis la ligne de base des lettres minuscule

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont
PHP Manual

HaruFont::getXHeight

(PECL haru >= 0.0.1)

HaruFont::getXHeight — Récupère la distance depuis la ligne de base des lettres minuscule

Description

int HaruFont::getXHeight ( void )

Récupère la distance depuis la ligne de base des lettres minuscule.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la distance depuis la ligne de base des lettres en minuscule.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getUnicodeWidth
HaruFont::measureText
HaruFont


Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée

HaruFont::getXHeight
HaruImage
HaruFont
PHP Manual

HaruFont::measureText

(PECL haru >= 0.0.1)

HaruFont::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée

Description

int HaruFont::measureText ( string $text , float $width , float $font_size , float $char_space , float $word_space [, bool $word_wrap = false ] )

Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée.

Liste de paramètres

text

Le texte qui doit tenir dans la largeur.

width

La largeur de l'endroit dans lequel le texte doit tenir.

font_size

La taille de la police.

char_space

L'espacement des caractères.

word_space

L'espacement des mots.

word_wrap

Lorsque ce paramètre vaut TRUE, la fonction émule la troncation des mots et n'inclut pas la partie courante du mot si l'on a atteint la fin de l'espace.

Valeurs de retour

Retourne le nombre de caractères qui peuvent être inclus dans la largeur spécifiée.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruFont::getXHeight
HaruImage
HaruFont


Classe HaruImage

Introduction

Classe Haru PDF Image.

Synopsis de la classe

HaruImage
HaruImage {
/* Méthodes */
int getBitsPerComponent ( void )
string getColorSpace ( void )
int getHeight ( void )
array getSize ( void )
int getWidth ( void )
bool setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )
bool setMaskImage ( object $mask_image )
}

Sommaire

  • HaruImage::getBitsPerComponent — Récupère le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image
  • HaruImage::getColorSpace — Récupère le nom de l'espace de couleur de l'image
  • HaruImage::getHeight — Récupère la hauteur de l'image
  • HaruImage::getSize — Récupère la taille de l'image
  • HaruImage::getWidth — Récupère la largeur de l'image
  • HaruImage::setColorMask — Définit le masque de couleur de l'image
  • HaruImage::setMaskImage — Définit le masque de l'image
HaruFont::measureText
HaruImage::getBitsPerComponent
haru


Récupère le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image

HaruImage
HaruImage::getColorSpace
HaruImage
PHP Manual

HaruImage::getBitsPerComponent

(PECL haru >= 0.0.1)

HaruImage::getBitsPerComponent — Récupère le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image

Description

int HaruImage::getBitsPerComponent ( void )

Récupère le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage
HaruImage::getColorSpace
HaruImage


Récupère le nom de l'espace de couleur de l'image

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage
PHP Manual

HaruImage::getColorSpace

(PECL haru >= 0.0.1)

HaruImage::getColorSpace — Récupère le nom de l'espace de couleur de l'image

Description

string HaruImage::getColorSpace ( void )

Récupère le nom de l'espace de couleur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de l'espace de couleur de l'image. Le nom est une des valeurs suivantes :

  • "DeviceGray"
  • "DeviceRGB"
  • "DeviceCMYK"
  • "Indexed"

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage::getBitsPerComponent
HaruImage::getHeight
HaruImage


Récupère la hauteur de l'image

HaruImage::getColorSpace
HaruImage::getSize
HaruImage
PHP Manual

HaruImage::getHeight

(PECL haru >= 0.0.1)

HaruImage::getHeight — Récupère la hauteur de l'image

Description

int HaruImage::getHeight ( void )

Récupère la hauteur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la hauteur de l'image.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage::getColorSpace
HaruImage::getSize
HaruImage


Récupère la taille de l'image

HaruImage::getHeight
HaruImage::getWidth
HaruImage
PHP Manual

HaruImage::getSize

(PECL haru >= 0.0.1)

HaruImage::getSize — Récupère la taille de l'image

Description

array HaruImage::getSize ( void )

Récupère la taille de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant deux éléments : la hauteur et la largeur, qui contiennent les dimensions de l'image.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage::getHeight
HaruImage::getWidth
HaruImage


Récupère la largeur de l'image

HaruImage::getSize
HaruImage::setColorMask
HaruImage
PHP Manual

HaruImage::getWidth

(PECL haru >= 0.0.1)

HaruImage::getWidth — Récupère la largeur de l'image

Description

int HaruImage::getWidth ( void )

Récupère la largeur de l'image.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la largeur de l'image.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage::getSize
HaruImage::setColorMask
HaruImage


Définit le masque de couleur de l'image

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage
PHP Manual

HaruImage::setColorMask

(PECL haru >= 0.0.1)

HaruImage::setColorMask — Définit le masque de couleur de l'image

Description

bool HaruImage::setColorMask ( int $rmin , int $rmax , int $gmin , int $gmax , int $bmin , int $bmax )

Définit la couleur de transparence de l'image, en utilisant des valeurs RVG. La couleur est affichée en tant que couleur transparente. La couleur de l'espace de l'image doit être RVB.

Liste de paramètres

rmin

Le limite basse de rouge. Doit être comprise entre 0 et 255.

rmax

Le limite haute de rouge. Doit être comprise entre 0 et 255.

gmin

Le limite basse de vert. Doit être comprise entre 0 et 255.

gmax

Le limite haute de vert. Doit être comprise entre 0 et 255.

bmin

Le limite basse de bleu. Doit être comprise entre 0 et 255.

bmax

Le limite haute de bleu. Doit être comprise entre 0 et 255.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage::getWidth
HaruImage::setMaskImage
HaruImage


Définit le masque de l'image

HaruImage::setColorMask
HaruEncoder
HaruImage
PHP Manual

HaruImage::setMaskImage

(PECL haru >= 0.0.1)

HaruImage::setMaskImage — Définit le masque de l'image

Description

bool HaruImage::setMaskImage ( object $mask_image )

Définit l'image à utiliser en tant que masque. Elle doit être une image de couleur grise sur 1 octet.

Liste de paramètres

mask_image

Une instance valide HaruImage.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruImage::setColorMask
HaruEncoder
HaruImage


Classe HaruEncoder

Introduction

Classe Haru PDF Encoder Class.

Synopsis de la classe

HaruEncoder
HaruEncoder {
/* Méthodes */
int getByteType ( string $text , int $index )
int getType ( void )
int getUnicode ( int $character )
int getWritingMode ( void )
}

Constantes pré-définies

Type | Nom | Description
int | HaruEncoder::TYPE_SINGLE_BYTE |
int | HaruEncoder::TYPE_DOUBLE_BYTE |
int | HaruEncoder::TYPE_UNINITIALIZED |
int | HaruEncoder::UNKNOWN |
int | HaruEncoder::WMODE_HORIZONTAL |
int | HaruEncoder::WMODE_VERTICAL |
int | HaruEncoder::BYTE_TYPE_SINGLE |
int | HaruEncoder::BYTE_TYPE_LEAD |
int | HaruEncoder::BYTE_TYPE_TRAIL |
int | HaruEncoder::BYTE_TYPE_UNKNOWN |

Sommaire

  • HaruEncoder::getByteType — Récupère le type d'octets dans le texte
  • HaruEncoder::getType — Récupère le type de l'encodeur
  • HaruEncoder::getUnicode — Convertit un caractère en unicode
  • HaruEncoder::getWritingMode — Récupère le mode d'écriture de l'encodeur
HaruImage::setMaskImage
HaruEncoder::getByteType
haru


Récupère le type d'octets dans le texte

HaruEncoder
HaruEncoder::getType
HaruEncoder
PHP Manual

HaruEncoder::getByteType

(PECL haru >= 0.0.1)

HaruEncoder::getByteType — Récupère le type d'octets dans le texte

Description

int HaruEncoder::getByteType ( string $text , int $index )

Récupère le type d'octets dans le texte.

Liste de paramètres

text

Le texte.

index

La position dans le texte.

Valeurs de retour

Retourne le type d'octets dans le texte à une position donnée. Le résultat est une des valeurs suivantes :

  • HaruEncoder::BYTE_TYPE_SINGLE - caractère sur un seul octet.
  • HaruEncoder::BYTE_TYPE_LEAD - premier octet d'un caractère bi-octets.
  • HaruEncoder::BYTE_TYPE_TRAIL - dernier octet d'un caractère bi-octets.
  • HaruEncoder::BYTE_TYPE_UNKNOWN - encodeur invalide ou impossible de détecter le type d'octets.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruEncoder
HaruEncoder::getType
HaruEncoder


Récupère le type de l'encodeur

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder
PHP Manual

HaruEncoder::getType

(PECL haru >= 0.0.1)

HaruEncoder::getType — Récupère le type de l'encodeur

Description

int HaruEncoder::getType ( void )

Récupère le type de l'encodeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le type de l'encodeur. Le résultat est une des valeurs suivantes :

  • HaruEncoder::TYPE_SINGLE_BYTE - l'encodeur est pour les caractères sur un octet.
  • HaruEncoder::TYPE_DOUBLE_BYTE - l'encodeur est pour les caractères multi-octets.
  • HaruEncoder::TYPE_UNINITIALIZED - l'encodeur n'est pas initialisé.
  • HaruEncoder::UNKNOWN - l'encodeur est invalide.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruEncoder::getByteType
HaruEncoder::getUnicode
HaruEncoder


Convertit un caractère en unicode

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder
PHP Manual

HaruEncoder::getUnicode

(PECL haru >= 0.0.1)

HaruEncoder::getUnicode — Convertit un caractère en unicode

Description

int HaruEncoder::getUnicode ( int $character )

Convertit le caractère spécifié en unicode.

Liste de paramètres

character

Le code du caractère à convertir.

Valeurs de retour

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruEncoder::getType
HaruEncoder::getWritingMode
HaruEncoder


Récupère le mode d'écriture de l'encodeur

HaruEncoder::getUnicode
HaruOutline
HaruEncoder
PHP Manual

HaruEncoder::getWritingMode

(PECL haru >= 0.0.1)

HaruEncoder::getWritingMode — Récupère le mode d'écriture de l'encodeur

Description

int HaruEncoder::getWritingMode ( void )

Récupère le mode d'écriture de l'encodeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le mode d'écriture de l'encodeur. Le résultat est une des constantes suivantes :

  • HaruEncoder::WMODE_HORIZONTAL - mode d'écriture horizontal.
  • HaruEncoder::WMODE_VERTICAL - mode d'écriture vertical.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruEncoder::getUnicode
HaruOutline
HaruEncoder


Classe HaruOutline

Introduction

Classe Haru PDF Outline.

Synopsis de la classe

HaruOutline
HaruOutline {
/* Méthodes */
bool setDestination ( object $destination )
bool setOpened ( bool $opened )
}

Sommaire

  • HaruOutline::setDestination — Définit la destination pour le contour
  • HaruOutline::setOpened — Définit le statut initial du contour
HaruEncoder::getWritingMode
HaruOutline::setDestination
haru


Définit la destination pour le contour

HaruOutline
HaruOutline::setOpened
HaruOutline
PHP Manual

HaruOutline::setDestination

(PECL haru >= 0.0.1)

HaruOutline::setDestination — Définit la destination pour le contour

Description

bool HaruOutline::setDestination ( object $destination )

Définit un objet de destination qui devient une cible à atteindre lorsque le contour est cliqué.

Liste de paramètres

destination

Une instance valide HaruDestination.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruOutline
HaruOutline::setOpened
HaruOutline


Définit le statut initial du contour

HaruOutline::setDestination
HaruAnnotation
HaruOutline
PHP Manual

HaruOutline::setOpened

(PECL haru >= 0.0.1)

HaruOutline::setOpened — Définit le statut initial du contour

Description

bool HaruOutline::setOpened ( bool $opened )

Définit si ce noeud est ouvert ou non lorsque le contour est affiché pour la première fois.

Liste de paramètres

opened

TRUE signifie ouvert, FALSE - fermé.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruOutline::setDestination
HaruAnnotation
HaruOutline


Classe HaruAnnotation

Introduction

Classe Haru PDF Annotation.

Synopsis de la classe

HaruAnnotation
HaruAnnotation {
/* Méthodes */
bool setBorderStyle ( float $width , int $dash_on , int $dash_off )
bool setHighlightMode ( int $mode )
bool setIcon ( int $icon )
bool setOpened ( bool $opened )
}

Constantes pré-définies

Type | Nom | Description
int | HaruAnnotation::NO_HIGHLIGHT |
int | HaruAnnotation::INVERT_BOX |
int | HaruAnnotation::INVERT_BORDER |
int | HaruAnnotation::DOWN_APPEARANCE |
int | HaruAnnotation::ICON_COMMENT |
int | HaruAnnotation::ICON_KEY |
int | HaruAnnotation::ICON_NOTE |
int | HaruAnnotation::ICON_HELP |
int | HaruAnnotation::ICON_NEW_PARAGRAPH |
int | HaruAnnotation::ICON_PARAGRAPH |
int | HaruAnnotation::ICON_INSERT |

Sommaire

  • HaruAnnotation::setBorderStyle — Définit le style de bordure d'une annotation
  • HaruAnnotation::setHighlightMode — Définit le mode de mise en évidence de l'annotation
  • HaruAnnotation::setIcon — Définit le style de l'icône de l'annotation
  • HaruAnnotation::setOpened — Définit le statut initial de l'annotation
HaruOutline::setOpened
HaruAnnotation::setBorderStyle
haru


Définit le style de bordure d'une annotation

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation
PHP Manual

HaruAnnotation::setBorderStyle

(PECL haru >= 0.0.1)

HaruAnnotation::setBorderStyle — Définit le style de bordure d'une annotation

Description

bool HaruAnnotation::setBorderStyle ( float $width , int $dash_on , int $dash_off )

Définit le style de bordure de l'annotation. Cette fonction doit être utilisée uniquement avec les annotations.

Liste de paramètres

width

L'épaisseur de la bordure.

dash_on

Le style de la bordure.

dash_off

Le style de la ligne.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruAnnotation
HaruAnnotation::setHighlightMode
HaruAnnotation


Définit le mode de mise en évidence de l'annotation

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation
PHP Manual

HaruAnnotation::setHighlightMode

(PECL haru >= 0.0.1)

HaruAnnotation::setHighlightMode — Définit le mode de mise en évidence de l'annotation

Description

bool HaruAnnotation::setHighlightMode ( int $mode )

Définit l'apparence de l'annotation lorsqu'elle est cliquée. Cette fonction ne doit être utilisée qu'avec les liens des annotations.

Liste de paramètres

mode

Le mode de mise en évidence de l'annotation. Ne peut prendre que ces valeurs :

  • HaruAnnotation::NO_HIGHLIGHT - aucune mise en évidence.
  • HaruAnnotation::INVERT_BOX - inverse le contenu de l'annotation.
  • HaruAnnotation::INVERT_BORDER - inverse la bordure de l'annotation.
  • HaruAnnotation::DOWN_APPEARANCE - bosseler l'annotation

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruAnnotation::setBorderStyle
HaruAnnotation::setIcon
HaruAnnotation


Définit le style de l'icône de l'annotation

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation
PHP Manual

HaruAnnotation::setIcon

(PECL haru >= 0.0.1)

HaruAnnotation::setIcon — Définit le style de l'icône de l'annotation

Description

bool HaruAnnotation::setIcon ( int $icon )

Définit le style de l'icône de l'annotation. Cette fonction ne peut être utilisée qu'avec les annotations.

Liste de paramètres

icon

Le style de l'icône. Peut prendre uniquement les valeurs suivantes :

  • HaruAnnotation::ICON_COMMENT
  • HaruAnnotation::ICON_KEY
  • HaruAnnotation::ICON_NOTE
  • HaruAnnotation::ICON_HELP
  • HaruAnnotation::ICON_NEW_PARAGRAPH
  • HaruAnnotation::ICON_PARAGRAPH
  • HaruAnnotation::ICON_INSERT

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruAnnotation::setHighlightMode
HaruAnnotation::setOpened
HaruAnnotation


Définit le statut initial de l'annotation

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation
PHP Manual

HaruAnnotation::setOpened

(PECL haru >= 0.0.1)

HaruAnnotation::setOpened — Définit le statut initial de l'annotation

Description

bool HaruAnnotation::setOpened ( bool $opened )

Définit si l'annotation est initialement affichée ouverte ou non. Cette fonction doit être utilisée uniquement avec les annotations.

Liste de paramètres

opened

TRUE signifie que l'annotation est initialement affichée ouverte, FALSE signifie close.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation


Classe HaruDestination

Introduction

Classe Haru PDF Destination.

Synopsis de la classe

HaruDestination
HaruDestination {
/* Méthodes */
bool setFit ( void )
bool setFitB ( void )
bool setFitBH ( float $top )
bool setFitBV ( float $left )
bool setFitH ( float $top )
bool setFitR ( float $left , float $bottom , float $right , float $top )
bool setFitV ( float $left )
bool setXYZ ( float $left , float $top , float $zoom )
}

Sommaire

  • HaruDestination::setFit — Définit l'apparence de la page afin qu'elle tienne dans la fenêtre
  • HaruDestination::setFitB — Définit l'apparence de la page afin qu'elle tienne dans une boite de la page dans la fenêtre
  • HaruDestination::setFitBH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la boite
  • HaruDestination::setFitBV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la boite
  • HaruDestination::setFitH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la page
  • HaruDestination::setFitR — Définit l'apparence de la page afin qu'elle tienne dans le rectangle spécifié
  • HaruDestination::setFitV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la fenêtre
  • HaruDestination::setXYZ — Définit l'apparence d'une page
HaruAnnotation::setOpened
HaruDestination::setFit
haru


Définit l'apparence de la page afin qu'elle tienne dans la fenêtre

HaruDestination
HaruDestination::setFitB
HaruDestination
PHP Manual

HaruDestination::setFit

(PECL haru >= 0.0.1)

HaruDestination::setFit — Définit l'apparence de la page afin qu'elle tienne dans la fenêtre

Description

bool HaruDestination::setFit ( void )

Définit l'apparence de la page afin qu'elle tienne dans la fenêtre.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination
HaruDestination::setFitB
HaruDestination


Définit l'apparence de la page afin qu'elle tienne dans une boite de la page dans la fenêtre

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination
PHP Manual

HaruDestination::setFitB

(PECL haru >= 0.0.1)

HaruDestination::setFitB — Définit l'apparence de la page afin qu'elle tienne dans une boite de la page dans la fenêtre

Description

bool HaruDestination::setFitB ( void )

Définit l'apparence de la page afin qu'elle tienne dans une boite de la page dans la fenêtre.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFit
HaruDestination::setFitBH
HaruDestination


Définit l'apparence de la page afin qu'elle tienne en largeur dans la boite

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination
PHP Manual

HaruDestination::setFitBH

(PECL haru >= 0.0.1)

HaruDestination::setFitBH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la boite

Description

bool HaruDestination::setFitBH ( float $top )

Définit l'apparence de la page afin qu'elle tienne en largeur dans la boite et définit la position haute de la page à la valeur top.

Liste de paramètres

top

Les coordonnées haute de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFitB
HaruDestination::setFitBV
HaruDestination


Définit l'apparence de la page afin qu'elle tienne en hauteur dans la boite

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination
PHP Manual

HaruDestination::setFitBV

(PECL haru >= 0.0.1)

HaruDestination::setFitBV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la boite

Description

bool HaruDestination::setFitBV ( float $left )

Définit l'apparence de la page afin qu'elle tienne en hauteur dans la boite et définit la position gauche de la page à la valeur de left.

Liste de paramètres

left

Les coordonnées gauche de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFitBH
HaruDestination::setFitH
HaruDestination


Définit l'apparence de la page afin qu'elle tienne en largeur dans la page

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination
PHP Manual

HaruDestination::setFitH

(PECL haru >= 0.0.1)

HaruDestination::setFitH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la page

Description

bool HaruDestination::setFitH ( float $top )

Définit l'apparence de la page afin qu'elle tienne en largeur dans la page et définit la position haute de la page à la valeur top.

Liste de paramètres

top

La position haute de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFitBV
HaruDestination::setFitR
HaruDestination


Définit l'apparence de la page afin qu'elle tienne dans le rectangle spécifié

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination
PHP Manual

HaruDestination::setFitR

(PECL haru >= 0.0.1)

HaruDestination::setFitR — Définit l'apparence de la page afin qu'elle tienne dans le rectangle spécifié

Description

bool HaruDestination::setFitR ( float $left , float $bottom , float $right , float $top )

Définit l'apparence de la page afin qu'elle tienne dans le rectangle spécifié.

Liste de paramètres

left

Les coordonnées gauche de la page.

bottom

Les coordonnées du bas de la page.

right

Les coordonnées droite de la page.

top

Les coordonnées du haut de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFitH
HaruDestination::setFitV
HaruDestination


Définit l'apparence de la page afin qu'elle tienne en hauteur dans la fenêtre

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination
PHP Manual

HaruDestination::setFitV

(PECL haru >= 0.0.1)

HaruDestination::setFitV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la fenêtre

Description

bool HaruDestination::setFitV ( float $left )

Définit l'apparence de la page afin qu'elle tienne en hauteur dans la fenêtre.

Liste de paramètres

left

La position gauche de la page.

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFitR
HaruDestination::setXYZ
HaruDestination


Définit l'apparence d'une page

HaruDestination::setFitV
Ming
HaruDestination
PHP Manual

HaruDestination::setXYZ

(PECL haru >= 0.0.1)

HaruDestination::setXYZ — Définit l'apparence d'une page

Description

bool HaruDestination::setXYZ ( float $left , float $top , float $zoom )

Définit l'apparence d'une page en utilisant trois paramètres : left, top et zoom.

Liste de paramètres

left

La position gauche de la page.

top

La position haute de la page.

zoom

Le facteur de zoom. La valeur doit être comprise entre 0.08 (8%) et 32 (3200%).

Valeurs de retour

Retourne TRUE en cas de succès.

Erreurs / Exceptions

Émet une exception HaruException en cas d'erreur.

HaruDestination::setFitV
Ming
HaruDestination


Ming (flash)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemples avec SWFAction
    • Exemple avec SWFSPrite
  • Fonctions Ming
    • ming_keypress — Retourne le drapeau d'action pour keyPress(char)
    • ming_setcubicthreshold — Fixe le niveau de seuil cubique
    • ming_setscale — Définit le facteur d'échelle globale
    • ming_setswfcompression — Définit la compression de sortie SWF
    • ming_useconstants — Utilise un jeu de constantes
    • ming_useswfversion — Définit la version SWF
  • SWFAction — La classe SWFAction
    • SWFAction->__construct — Crée un nouvel objet SWFAction
  • SWFBitmap — La classe SWFBitmap
    • SWFBitmap->__construct — Charge un objet Bitmap
    • SWFBitmap->getHeight — Retourne la hauteur d'un bitmap
    • SWFBitmap->getWidth — Retourne la largeur d'un bitmap
  • SWFButton — La classe SWFButton
    • SWFButton->addAction — Ajoute une action
    • SWFButton->addASound — Associe un son à un bouton
    • SWFButton->addShape — Ajoute une forme à un bouton
    • SWFButton->__construct — Crée un nouveau bouton
    • SWFButton->setAction — Définit l'action
    • SWFButton->setDown — Alias pour addShape(shape, SWFBUTTON_DOWN)
    • SWFButton->setHit — Alias pour addShape(shape, SWFBUTTON_HIT)
    • SWFButton->setMenu — Active un menu sur un bouton
    • SWFButton->setOver — Alias pour addShape(shape, SWFBUTTON_OVER)
    • SWFButton->setUp — Alias pour addShape(shape, SWFBUTTON_UP)
  • SWFDisplayItem — La classe SWFDisplayItem
    • SWFDisplayItem->addAction — Ajoute ce SWFAction à l'instance SWFSprite fournie
    • SWFDisplayItem->addColor — Ajoute une couleur à la transformation de couleur de l'élément
    • SWFDisplayItem->endMask — Une autre façon de définir une interface MASK
    • SWFDisplayItem->getRot — Description
    • SWFDisplayItem->getX — Description
    • SWFDisplayItem->getXScale — Description
    • SWFDisplayItem->getXSkew — Description
    • SWFDisplayItem->getY — Description
    • SWFDisplayItem->getYScale — Description
    • SWFDisplayItem->getYSkew — Description
    • SWFDisplayItem->move — Déplace un objet dans les coordonnées relatives
    • SWFDisplayItem->moveTo — Déplace un objet dans les coordonnées globales
    • SWFDisplayItem->multColor — Multiplie la transformation de couleur d'un élément
    • SWFDisplayItem->remove — Efface l'objet du film
    • SWFDisplayItem->rotate — Rotation, en coordonnées relatives
    • SWFDisplayItem->rotateTo — Tourne l'objet dans les coordonnées globales
    • SWFDisplayItem->scale — Met à l'échelle l'objet dans des coordonnées relatives
    • SWFDisplayItem->scaleTo — Met à l'échelle l'objet dans les coordonnées globales
    • SWFDisplayItem->setDepth — Définit le z-order
    • SWFDisplayItem->setMaskLevel — Définit le niveau de l'interface MASK
    • SWFDisplayItem->setMatrix — Définit la matrice de transformation de l'élément
    • SWFDisplayItem->setName — Définit le nom de l'objet
    • SWFDisplayItem->setRatio — Définit le ratio de l'objet
    • SWFDisplayItem->skewX — Définit le X-skew
    • SWFDisplayItem->skewXTo — Définit le X-skew
    • SWFDisplayItem->skewY — Définit le Y-skew
    • SWFDisplayItem->skewYTo — Définit le Y-skew
  • SWFFill — La classe SWFFill
    • SWFFill->moveTo — Déplace le motif original
    • SWFFill->rotateTo — Définit la rotation du motif
    • SWFFill->scaleTo — Définit l'échelle du motif
    • SWFFill->skewXTo — Définit le motif x-skew
    • SWFFill->skewYTo — Définit le motif y-skew
  • SWFFont — La classe SWFFont
    • SWFFont->__construct — Charge la définition d'une police
    • SWFFont->getAscent — Retourne la montée de la police, ou 0 si non disponible
    • SWFFont->getDescent — Retourne la descente de la police, ou 0 si non disponible
    • SWFFont->getLeading — Retourne l'interlignage de la police, ou 0 si non disponible
    • SWFFont->getShape — Retourne la forme du glyphe d'un caractère, sous la forme d'une chaîne de caractères
    • SWFFont->getUTF8Width — Calcule la largeur d'une chaîne donnée dans une police
    • SWFFont->getWidth — Retourne la largeur de la chaîne
  • SWFFontChar — La classe SWFFontChar
    • SWFFontChar->addChars — Ajoute des caractères à une police pour l'exportation de la police
    • SWFFontChar->addUTF8Chars — Ajoute des caractères à une police pour l'exportation de la police
  • SWFGradient — La classe SWFGradient
    • SWFGradient->addEntry — Ajoute une entrée dans la liste de gradient
    • SWFGradient->__construct — Crée un objet gradient
  • SWFMorph — La classe SWFMorph
    • SWFMorph->__construct — Crée un nouvel objet SWFMorph
    • SWFMorph->getShape1 — Récupère un gestionnaire pour une forme
    • SWFMorph->getShape2 — Récupère un gestionnaire de forme de fin
  • SWFMovie — La classe SWFMovie
    • SWFMovie->add — Ajoute n'importe quelle donnée à une vidéo
    • SWFMovie->addExport — Description
    • SWFMovie->addFont — Description
    • SWFMovie->__construct — Crée un nouvel objet vidéo, représentant une vidéo SWF version 4
    • SWFMovie->importChar — Description
    • SWFMovie->importFont — Description
    • SWFMovie->labelFrame — Nomme une frame
    • SWFMovie->nextFrame — Se déplace sur la prochaine frame d'une animation
    • SWFMovie->output — Affiche la vidéo
    • SWFMovie->remove — Efface une instance d'un objet depuis la liste d'affichage
    • SWFMovie->save — Sauvegarde la vidéo SWF dans un fichier
    • SWFMovie->saveToFile — Description
    • SWFMovie->setbackground — Définit la couleur d'arrière plan
    • SWFMovie->setDimension — Définit les dimensions de la vidéo
    • SWFMovie->setFrames — Définit le nombre de frames dans l'animation
    • SWFMovie->setRate — Définit le débit des frames de l'animation
    • SWFMovie->startSound — Description
    • SWFMovie->stopSound — Description
    • SWFMovie->streamMP3 — Diffuse un fichier MP3
    • SWFMovie->writeExports — Description
  • SWFPrebuiltClip — La classe SWFPrebuiltClip
    • SWFPrebuiltClip->__construct — Retourne un objet SWFPrebuiltClip
  • SWFShape — La classe SWFShape
    • SWFShape->addFill — Ajoute un motif solide à la forme
    • SWFShape->__construct — Crée un nouvel objet SWFShape
    • SWFShape->drawArc — Trace un arc de cercle entre deux angles
    • SWFShape->drawCircle — Trace un cercle, centré sur la position courante
    • SWFShape->drawCubic — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle
    • SWFShape->drawCubicTo — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle
    • SWFShape->drawCurve — Trace une courbe (relative)
    • SWFShape->drawCurveTo — Trace une courbe
    • SWFShape->drawGlyph — Dessine le premier caractère d'une chaîne donnée dans la forme en utilisant la définition du glyphe pour la police donnée
    • SWFShape->drawLine — Trace une ligne (relative)
    • SWFShape->drawLineTo — Trace une ligne
    • SWFShape->movePen — Déplace le stylo
    • SWFShape->movePenTo — Déplace le stylo dans la forme
    • SWFShape->setLeftFill — Définit la couleur de la trame de gauche
    • SWFShape->setLine — Définit le style de la forme d'une ligne
    • SWFShape->setRightFill — Définit la couleur de la trame de droite
  • SWFSound — La classe SWFSound
    • SWFSound — Retourne un nouvel objet SWFSound depuis un fichier donné
  • SWFSoundInstance — La classe SWFSoundInstance
    • SWFSoundInstance->loopCount — Description
    • SWFSoundInstance->loopInPoint — Description
    • SWFSoundInstance->loopOutPoint — Description
    • SWFSoundInstance->noMultiple — Description
  • SWFSprite — La classe SWFSprite
    • SWFSprite->add — Ajoute un objet à un sprite
    • SWFSprite->__construct — Crée un clip vidéo (un sprite)
    • SWFSprite->labelFrame — Libellé d'une image
    • SWFSprite->nextFrame — Déplace la prochaine image de l'animation
    • SWFSprite->remove — Efface l'objet d'un sprite
    • SWFSprite->setFrames — Définit le nombre total d'images dans l'animation
    • SWFSprite->startSound — Description
    • SWFSprite->stopSound — Description
  • SWFText — La classe SWFText
    • SWFText->addString — Dessine une chaîne de caractères
    • SWFText->addUTF8String — Écrit le texte donné dans l'objet SWFText à la position courante, en utilisant la police, la haute, l'espacement et la couleur courants
    • SWFText->__construct — Crée un nouvel objet SWFText
    • SWFText->getAscent — Retourne la montée de la police courante à sa taille courante, ou 0 si elle n'est pas disponible
    • SWFText->getDescent — Retourne la descente de la police courante à sa taille courante, ou 0 si elle n'est pas disponible
    • SWFText->getLeading — Retourne l'interlignage de la police courante à sa taille courante, ou 0 s'il n'est pas disponible
    • SWFText->getUTF8Width — Calcule la largeur de la chaîne donnée dans la police et la taille courante du texte
    • SWFText->getWidth — Calcule la largeur d'une chaîne
    • SWFText->moveTo — Déplace le stylo
    • SWFText->setColor — Définit la couleur courante du texte
    • SWFText->setFont — Définit la police courante
    • SWFText->setHeight — Définit la hauteur de la police courante
    • SWFText->setSpacing — Définit l'espacement de la police courante
  • SWFTextField — La classe SWFTextField
    • SWFTextField->addChars — Ajoute les caractères à la police qui sera disponible dans le champ texte
    • SWFTextField->addString — Concatène la chaîne de caractères donnée avec le champ texte
    • SWFTextField->align — Définit l'alignement du champ texte
    • SWFTextField->__construct — Crée un objet champ de texte
    • SWFTextField->setBounds — Définit la hauteur et la largeur d'un champ texte
    • SWFTextField->setColor — Définit la couleur d'un champ texte
    • SWFTextField->setFont — Définit la police d'un champ texte
    • SWFTextField->setHeight — Définit la hauteur de la police d'un champ de texte
    • SWFTextField->setIndentation — Définit l'indentation de la première ligne
    • SWFTextField->setLeftMargin — Définit la largeur de la marge gauche d'un champ texte
    • SWFTextField->setLineSpacing — Définit l'espacement de ligne d'un champ texte
    • SWFTextField->setMargins — Définit la largeur des marges d'un champ texte
    • SWFTextField->setName — Définit le nom de la variable
    • SWFTextField->setPadding — Définit l'espacement interne d'un champ texte
    • SWFTextField->setRightMargin — Définit la largeur de la marge droite d'un champ texte
  • SWFVideoStream — La classe SWFVideoStream
    • SWFVideoStream->__construct — Retourne un objet SWFVideoStream
    • SWFVideoStream->getNumFrames — Retourne le nombre de frames d'une vidéo
    • SWFVideoStream->setDimension — Définit les dimensions d'une vidéo
HaruDestination::setXYZ
Introduction
Affichage des données non-textuelles


Introduction

Avant tout, sachez que Ming n'est pas un acronyme. Ming est une bibliothèque Open Source (LGPL) qui vous permet de créer des animations au format Flash. Ming supporte toutes les fonctionnalités de Flash 4 : les formes (shapes), les gradients, les images bitmaps (JPEG et PNG), les morphing (transformations d'une forme en une autre), les textes, actions, sprites (mini-animations), le streaming MP3 et les transformations de couleurs. Le seul ajout futur est celui des événements sons.

Notez que toutes les distances spécifiées (longueurs, distances, tailles...) sont en "twips", c'est-à-dire 20 unités par pixels. C'est plus ou moins arbitraire, car le lecteur Flash fait une mise à l'échelle avec les valeurs qui lui sont fournies dans la balise embed, ou la frame courante si la balise embed n'est pas utilisée.

Ming propose de nombreux avantages par rapport à l'extension Swf. Vous pouvez utiliser Ming sur tous les OS où vous pouvez compiler le code, tandis que swf est limité à Windows. Ming vous évite la déconcertante complexité du format SWF, en transformant les éléments des animations en objets PHP. Enfin, Ming est toujours en cours de développement et surveillé par son auteur : si vous souhaitez une nouvelle fonctionnalité, dites-le nous : » http://www.libming.org/.

Ming et tous les objets cités ont été ajoutés en PHP 4.0.5.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0.

Ming
Installation/Configuration
Ming


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Ming


Pré-requis

Pour utiliser Ming avec PHP, vous devez d'abord installer la bibliothèque Ming. Le code source et les instructions d'installation sont disponibles sur la page d'accueil de Ming : » http://www.libming.org/, avec des exemples un tutorial et l'actualité Ming.

Téléchargez l'archive Ming. Décompressez-la et allez dans le dossier Ming. Faites "make", puis "make install".

Cela va compiler le fichier libming.so et l'installer dans /usr/lib/, et copier ming.h dans /usr/include/. Éditez la ligne PREFIX= dans le fichier Makefile pour indiquer votre dossier d'installation.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ming.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MING_NEW (entier)
MING_ZLIB (entier)
SWFBUTTON_HIT (entier)
SWFBUTTON_DOWN (entier)
SWFBUTTON_OVER (entier)
SWFBUTTON_UP (entier)
SWFBUTTON_MOUSEUPOUTSIDE (entier)
SWFBUTTON_DRAGOVER (entier)
SWFBUTTON_DRAGOUT (entier)
SWFBUTTON_MOUSEUP (entier)
SWFBUTTON_MOUSEDOWN (entier)
SWFBUTTON_MOUSEOUT (entier)
SWFBUTTON_MOUSEOVER (entier)
SWFFILL_RADIAL_GRADIENT (entier)
SWFFILL_LINEAR_GRADIENT (entier)
SWFFILL_TILED_BITMAP (entier)
SWFFILL_CLIPPED_BITMAP (entier)
SWFTEXTFIELD_HASLENGTH (entier)
SWFTEXTFIELD_NOEDIT (entier)
SWFTEXTFIELD_PASSWORD (entier)
SWFTEXTFIELD_MULTILINE (entier)
SWFTEXTFIELD_WORDWRAP (entier)
SWFTEXTFIELD_DRAWBOX (entier)
SWFTEXTFIELD_NOSELECT (entier)
SWFTEXTFIELD_HTML (entier)
SWFTEXTFIELD_ALIGN_LEFT (entier)
SWFTEXTFIELD_ALIGN_RIGHT (entier)
SWFTEXTFIELD_ALIGN_CENTER (entier)
SWFTEXTFIELD_ALIGN_JUSTIFY (entier)
SWFACTION_ONLOAD (entier)
SWFACTION_ENTERFRAME (entier)
SWFACTION_UNLOAD (entier)
SWFACTION_MOUSEMOVE (entier)
SWFACTION_MOUSEDOWN (entier)
SWFACTION_MOUSEUP (entier)
SWFACTION_KEYDOWN (entier)
SWFACTION_KEYUP (entier)
SWFACTION_DATA (entier)
Types de ressources
Exemples
Ming


Exemples

Sommaire

  • Exemples avec SWFAction
  • Exemple avec SWFSPrite
Constantes pré-définies
Exemples avec SWFAction
Ming


Exemples avec SWFAction

Cet exemple simple déplace un carré rouge dans une fenêtre.

Exemple #1 Exemple avec swfaction()

<?php
  $s = new SWFShape();
  $f = $s->addFill(0xff, 0, 0);
  $s->setRightFill($f);

  $s->movePenTo(-500, -500);
  $s->drawLineTo(500, -500);
  $s->drawLineTo(500, 500);
  $s->drawLineTo(-500, 500);
  $s->drawLineTo(-500, -500);

  $p = new SWFSprite();
  $i = $p->add($s);
  $i->setDepth(1);
  $p->nextFrame();

  for ($n=0; $n<5; ++$n) {
    $i->rotate(-15);
    $p->nextFrame();
  }

  $m = new SWFMovie();
  $m->setBackground(0xff, 0xff, 0xff);
  $m->setDimension(6000, 4000);

  $i = $m->add($p);
  $i->setDepth(1);
  $i->moveTo(-500,2000);
  $i->setName("box");

  $m->add(new SWFAction("/box.x += 3;"));
  $m->nextFrame();
  $m->add(new SWFAction("gotoFrame(0); play();"));
  $m->nextFrame();

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Cet exemple simple va déplacer votre souris vers le bas de l'écran.

Exemple #2 Exemple avec swfaction()

<?php

  $m = new SWFMovie();
  $m->setRate(36.0);
  $m->setDimension(1200, 800);
  $m->setBackground(0, 0, 0);

  /* objet de suivi de la souris - vide, mais suit les mouvements de la souris
     afin d'y récupérer les coordonnées x et y */

  $i = $m->add(new SWFSprite());
  $i->setName('mouse');

  $m->add(new SWFAction("
    startDrag('/mouse', 1); /* '1' signifie que l'on verrouille le sprite à la souris */
  "));

  /* on désactive l'antialiasing, vu que l'on souhaite juste utiliser des carrés */

  $m->add(new SWFAction("
    this.quality = 0;
  "));

  /* modification de la boite */
  $r = new SWFMorph();
  $s = $r->getShape1();

  $s->setLeftFill($s->addFill(0xff, 0xff, 0xff));
  $s->movePenTo(-40, -40);
  $s->drawLine(80, 0);
  $s->drawLine(0, 80);
  $s->drawLine(-80, 0);
  $s->drawLine(0, -80);

  $s = $r->getShape2();

  $s->setLeftFill($s->addFill(0x00, 0x00, 0x00));
  $s->movePenTo(-1, -1);
  $s->drawLine(2, 0);
  $s->drawLine(0, 2);
  $s->drawLine(-2, 0);
  $s->drawLine(0, -2);

  /* conteneur sprite, pour la modification de la boite */

  $box = new SWFSprite();
  $box->add(new SWFAction("
    stop();
  "));
  $i = $box->add($r);

  for ($n=0; $n<=20; ++$n) {
    $i->setRatio($n/20);
    $box->nextFrame();
  }

  /* Ce conteneur de sprite nous permet d'utiliser la même action plusieurs fois */

  $cell = new SWFSprite();
  $i = $cell->add($box);
  $i->setName('box');

  $cell->add(new SWFAction("

    setTarget('box');

    /* ...x signifie la coordonnée en x du parent, i.e. (..).x */
    dx = (/mouse.x + random(6)-3 - ...x)/5;
    dy = (/mouse.y + random(6)-3 - ...y)/5;
    gotoFrame(int(dx*dx + dy*dy));

  "));

  $cell->nextFrame();
  $cell->add(new SWFAction("

    gotoFrame(0);
    play();

  "));

  $cell->nextFrame();

  /* et pour finir, ajoutons quelques cellules à notre vidéo */

  for ($x=0; $x<12; ++$x) {
    for ($y=0; $y<8; ++$y) {
      $i = $m->add($cell);
      $i->moveTo(100*$x+50, 100*$y+50);
    }
  }

  $m->nextFrame();

  $m->add(new SWFAction("

    gotoFrame(1);
    play();

  "));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Idem que l'exemple ci-dessus, mais avec de beaux ballons colorés...

Exemple #3 Exemple avec swfaction()

<?php

  $m = new SWFMovie();
  $m->setDimension(11000, 8000);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->add(new SWFAction("

this.quality = 0;
/frames.visible = 0;
startDrag('/mouse', 1);

  "));

  // la souris suit le sprite
  $t = new SWFSprite();
  $i = $m->add($t);
  $i->setName('mouse');

  $g = new SWFGradient();
  $g->addEntry(0, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.1, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.5, 0xff, 0xff, 0xff, 0x5f);
  $g->addEntry(1.0, 0xff, 0xff, 0xff, 0);

  // une forme en gradient
  $s = new SWFShape();
  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.03);
  $s->setRightFill($f);
  $s->movePenTo(-600, -600);
  $s->drawLine(1200, 0);
  $s->drawLine(0, 1200);
  $s->drawLine(-1200, 0);
  $s->drawLine(0, -1200);

  // nous devons en faire un sprite, afin de pouvoir le colorer
  $p = new SWFSprite();
  $p->add($s);
  $p->nextFrame();

  // on y ajoute la forme, chaque frame avec une couleur différente
  $q = new SWFSprite();
  $q->add(new SWFAction("gotoFrame(random(7)+1); stop();"));
  $i = $q->add($p);

  $i->multColor(1.0, 1.0, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 0.75, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 0.5, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 1.0);
  $q->nextFrame();

  // et pour finir, celui-ci contient le code action
  $p = new SWFSprite();
  $i = $p->add($q);
  $i->setName('frames');
  $p->add(new SWFAction("

dx = (/:mousex-/:lastx)/3 + random(10)-5;
dy = (/:mousey-/:lasty)/3;
x = /:mousex;
y = /:mousey;
alpha = 100;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("

this.x = x;
this.y = y;
this.alpha = alpha;
x += dx;
y += dy;
dy += 3;
alpha -= 8;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("prevFrame(); play();"));
  $p->nextFrame();

  $i = $m->add($p);
  $i->setName('frames');
  $m->nextFrame();

  $m->add(new SWFAction("

lastx = mousex;
lasty = mousey;
mousex = /mouse.x;
mousey = /mouse.y;

++num;

if (num == 11)
  num = 1;

removeClip('char' & num);
duplicateClip(/frames, 'char' & num, num);

  "));

  $m->nextFrame();
  $m->add(new SWFAction("prevFrame(); play();"));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Exemples
Exemple avec SWFSPrite
Exemples


Exemple avec SWFSPrite

Cet exemple va faire tourner un gros carré rouge.

Exemple #1 Exemple avec swfsprite()

<?php
$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-500, -500);
$s->drawLineTo(500, -500);
$s->drawLineTo(500, 500);
$s->drawLineTo(-500, 500);
$s->drawLineTo(-500, -500);

$p = new SWFSprite();
$i = $p->add($s);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->moveTo(1500, 1000);
$i->setName("blah");

$m->setBackground(0xff, 0xff, 0xff);
$m->setDimension(3000, 2000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Exemples avec SWFAction
Fonctions Ming
Exemples


Fonctions Ming

Sommaire

  • ming_keypress — Retourne le drapeau d'action pour keyPress(char)
  • ming_setcubicthreshold — Fixe le niveau de seuil cubique
  • ming_setscale — Définit le facteur d'échelle globale
  • ming_setswfcompression — Définit la compression de sortie SWF
  • ming_useconstants — Utilise un jeu de constantes
  • ming_useswfversion — Définit la version SWF
Exemple avec SWFSPrite
ming_keypress
Ming


Retourne le drapeau d'action pour keyPress(char)

Fonctions Ming
ming_setcubicthreshold
Fonctions Ming
PHP Manual

ming_keypress

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_keypress — Retourne le drapeau d'action pour keyPress(char)

Description

int ming_keypress ( string $char )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fonctions Ming
ming_setcubicthreshold
Fonctions Ming


Fixe le niveau de seuil cubique

ming_keypress
ming_setscale
Fonctions Ming
PHP Manual

ming_setcubicthreshold

(PHP 4 >= 4.0.5, PHP 5, PECL ming SVN)

ming_setcubicthreshold — Fixe le niveau de seuil cubique

Description

void ming_setcubicthreshold ( int $threshold )

Fixe le niveau de seuil cubique pour dessiner des cubes bézier.

Liste de paramètres

threshold

Le niveau du seuil. Un seuil bas est plus significatif, mais génère un fichier de grande taille.

Valeurs de retour

Aucune valeur n'est retournée.

ming_keypress
ming_setscale
Fonctions Ming


Définit le facteur d'échelle globale

ming_setcubicthreshold
ming_setswfcompression
Fonctions Ming
PHP Manual

ming_setscale

(PHP 4 >= 4.0.5, PHP 5, PECL ming SVN)

ming_setscale — Définit le facteur d'échelle globale

Description

void ming_setscale ( float $scale )

Définit l'échelle du SWF de sortie. Dans le fichier SWF, les coordonnées sont mesurées en TWIPS plutôt qu'en PIXELS. Il y a 20 TWIPS dans 1 pixel.

Liste de paramètres

scale

L'échelle à définir.

Valeurs de retour

Aucune valeur n'est retournée.

ming_setcubicthreshold
ming_setswfcompression
Fonctions Ming


Définit la compression de sortie SWF

ming_setscale
ming_useconstants
Fonctions Ming
PHP Manual

ming_setswfcompression

(PHP 5.2.1-5.3.0, PECL ming SVN)

ming_setswfcompression — Définit la compression de sortie SWF

Description

void ming_setswfcompression ( int $level )

Définit le degré de compression de sortie SWF.

Liste de paramètres

level

Le nouveau degré de compression. Doit être une valeur entre 1 et 9, inclus.

Valeurs de retour

Aucune valeur n'est retournée.

ming_setscale
ming_useconstants
Fonctions Ming


Utilise un jeu de constantes

ming_setswfcompression
ming_useswfversion
Fonctions Ming
PHP Manual

ming_useconstants

(PHP 5 <= 5.3.0, PECL ming SVN)

ming_useconstants — Utilise un jeu de constantes

Description

void ming_useconstants ( int $use )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

ming_setswfcompression
ming_useswfversion
Fonctions Ming


Définit la version SWF

ming_useconstants
SWFAction
Fonctions Ming
PHP Manual

ming_useswfversion

(PHP 4 >= 4.2.0, PHP 5 <= 5.3.0, PECL ming SVN)

ming_useswfversion — Définit la version SWF

Description

void ming_useswfversion ( int $version )

Définit la version SWF à utiliser dans la vidéo. Ceci affecte la comportement de l'Action Script.

Liste de paramètres

version

La version SWF à utiliser.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ming_useswfversion()

<?php

$movie = new SWFMovie();
ming_useswfversion(4); // Flash 4

?>

ming_useconstants
SWFAction
Fonctions Ming


La classe SWFAction

Introduction

SWFAction.

Synopsis de la classe

SWFAction
SWFAction {
/* Méthodes */
SWFAction __construct ( string $script )
}

Description

La syntaxe de script est basée sur le langage C, mais avec beaucoup de différences : le bytcode SWF est simplifié pour ne faire que ce dont on a besoin. Actuellement, nous ne pouvons pas implémenter des appels à des fonctions sans d'affreux hacks, car le bytecode a des valeurs de position codées en interne.

Que reste-t-il donc ? le compilateur reconnaît les instances suivantes :

  • break
  • for
  • continue
  • if
  • else
  • do
  • while

Il n'y a pas de données typées ; toutes les valeurs d'une action SWF sont stockées sous la forme de chaînes de caractères. Les fonctions suivantes peuvent être utilisées dans les expressions :

time()
Retourne le nombre de millisecondes effectuées depuis le début d'une vidéo.
random(seed)
Retourne le nombre pseudo-aléatoire dans la rangée 0-seed.
length(expr)
Retourne la longueur de l'expression donnée.
int(number)
Retourne le nombre donné arrondi au nombre inférieur.
concat(expr, expr)
Retourne la concaténation des expressions données.
ord(expr)
Retourne le code ASCII pour le caractère donné.
chr(num)
Retourne le caractère pour le code ASCII donné.
substr(string, location, length)
Retourne la sous chaîne de la longueur length à la position location de la chaîne string donnée.

De plus, les commandes suivantes peuvent être utilisées :

duplicateClip(clip, name, depth)
Duplique la vidéo nommée clip (c'est-à-dire sprite). La nouvelle vidéo a le nom name et est à la profondeur depth.
removeClip(expr)
Efface la vidéo fournie.
trace(expr)
Écrit l'expression donnée dans l'historique des traces.
startDrag(target, lock, [left, top, right, bottom])
Démarre le déplacement de la vidéo target. L'argument lock indique si l'on verrouille la souris : utilisez 0 (FALSE) ou 1 (TRUE).
stopDrag()
Commence le déplacement.
callFrame(expr)
Appel la frame nommée, comme une fonction.
getURL(url, target, [method])
Charge l'URL donnée, dans la cible nommée. L'argument target correspond à la cible du document HTML (comme "_top" ou "_blank"). L'argument optionnel method peut être POST ou GET si vous voulez soumettre les variables au serveur.
loadMovie(url, target)
Charge l'URL donnée dans la cible nommée. L'argument target peut être le nom d'une frame, ou une des valeurs magiques : "_level0" (remplace la vidéo courante) ou "_level1" (charge la nouvelle vidéo au dessus de la vidéo courante).
nextFrame()
Se place sur la prochaine frame.
prevFrame()
Se place sur la dernière (ou, plutôt, précédente) frame.
play()
Commence à jouer la vidéo.
stop()
Arrête de jouer la vidéo.
toggleQuality()
Passe d'une qualité haute à basse, et inversement.
stopSounds()
Arrête de jouer tous les sons.
gotoFrame(num)
Se place sur la frame numéro num. Les numéros de frame commencent à 0.
gotoFrame(name)
Se place sur la frame nommée name.
setTarget(expr)
Définit le contexte de l'action.
L'expression frameLoaded(num) peut être utilisée dans les instructions if et les boucles while pour vérifier si le numéro de frame donné a déjà été chargé.

Les vidéos, c'est à dire des sprites, ont des propriétés. Vous pouvez les lire, en définir quelques unes. Voici la liste :

  • x
  • y
  • xScale
  • yScale
  • currentFrame : (lecture seule)
  • totalFrames : (lecture seule)
  • alpha : degré de transparence
  • visible : 1=on, 0=off
  • width : (lecture seule)
  • height : (lecture seule)
  • rotation
  • target : (lecture seule)
  • framesLoaded : (lecture seule)
  • name
  • dropTarget : (lecture seule)
  • url : (lecture seule)
  • highQuality : 1=high, 0=low
  • focusRect
  • soundBufTime
Donc, définir la position d'un sprite est aussi simple que /box.x = 100;. Pourquoi le slash au début ? C'est la façon dont Flash garde une trace des sprites dans une vidéo, tout comme le système de fichiers Unix : ici, la boite est au premier niveau. Si le sprite nommée "box" a un autre sprite nommé "biff" au dessous, vous pouvez définir sa position comme ceci : /box/biff.x = 100;

Sommaire

  • SWFAction->__construct — Crée un nouvel objet SWFAction
ming_useswfversion
SWFAction->__construct
Ming


Crée un nouvel objet SWFAction

SWFAction
SWFBitmap
SWFAction
PHP Manual

SWFAction->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFAction->__construct — Crée un nouvel objet SWFAction

Description

SWFAction
SWFAction __construct ( string $script )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet SWFAction et y compile le script fourni.

Liste de paramètres

script

Un ActionScript à associer avec l'objet SWFAction. Voir SWFAction pour plus de détails.

SWFAction
SWFBitmap
SWFAction


La classe SWFBitmap

Introduction

SWFBitmap.

Synopsis de la classe

SWFBitmap
SWFBitmap {
/* Méthodes */
SWFBitmap __construct ( mixed $file [, mixed $alphafile ] )
float getHeight ( void )
float getWidth ( void )
}

Sommaire

  • SWFBitmap->__construct — Charge un objet Bitmap
  • SWFBitmap->getHeight — Retourne la hauteur d'un bitmap
  • SWFBitmap->getWidth — Retourne la largeur d'un bitmap
SWFAction->__construct
SWFBitmap->__construct
Ming


Charge un objet Bitmap

SWFBitmap
SWFBitmap->getHeight
SWFBitmap
PHP Manual

SWFBitmap->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap->__construct — Charge un objet Bitmap

Description

SWFBitmap
SWFBitmap __construct ( mixed $file [, mixed $alphafile ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet SWFBitmap depuis le fichier file.

Liste de paramètres

Pour les deux paramètres, vous pouvez fournir un pointeur de fichier retourné par la fonction fopen() ou les données de l'image, sous la forme d'une chaîne de caractères binaire.

file

Note: Nous ne pouvons utiliser que des Jpeg "baseline" (image 0), et non des optimisés "baseline" ou des Jpeg progressifs !

Vous ne pouvez pas importer directement des Png, mais vous devez utiliser l'utilitaire png2dbl pour créer un fichier dbl ("define bits lossless") depuis le Png. La raison de cela est que nous ne voulons pas de dépendance sur la libraire Png dans Ming. Autoconf doit prendre en charge cela mais ne le fait actuellement pas.

alphafile

Un fichier MSK à utiliser en tant que masque Alpha pour les images Jpeg.

Exemples

Exemple #1 Importation d'un fichier DBL

<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Exemple #2 Utilisation d'un masque Alpha

<?php

$s = new SWFShape();

// fichier .msk généré avec l'utilitaire "gif2mask"
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// dessine l'arrière plan
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFBitmap
SWFBitmap->getHeight
SWFBitmap


Retourne la hauteur d'un bitmap

SWFBitmap->__construct
SWFBitmap->getWidth
SWFBitmap
PHP Manual

SWFBitmap->getHeight

(PHP 4 >= 4.0.5)

SWFBitmap->getHeight — Retourne la hauteur d'un bitmap

Description

SWFBitmap
float getHeight ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne la hauteur d'un bitmap.

Valeurs de retour

Retourne la hauteur d'un bitmap en pixels.

Voir aussi

  • SWFBitmap->getWidth

SWFBitmap->__construct
SWFBitmap->getWidth
SWFBitmap


Retourne la largeur d'un bitmap

SWFBitmap->getHeight
SWFButton
SWFBitmap
PHP Manual

SWFBitmap->getWidth

(PHP 4 >= 4.0.5)

SWFBitmap->getWidth — Retourne la largeur d'un bitmap

Description

SWFBitmap
float getWidth ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne la largeur d'un bitmap.

Valeurs de retour

Retourne la largeur d'un bitmap, en pixels.

Voir aussi

  • SWFBitmap->getHeight

SWFBitmap->getHeight
SWFButton
SWFBitmap


La classe SWFButton

Introduction

SWFButton.

Synopsis de la classe

SWFButton
SWFButton {
/* Méthodes */
void addAction ( SWFAction $action , int $flags )
SWFSoundInstance addASound ( SWFSound $sound , int $flags )
void addShape ( SWFShape $shape , int $flags )
SWFButton __construct ( void )
void setAction ( SWFAction $action )
void setDown ( SWFShape $shape )
void setHit ( SWFShape $shape )
void setMenu ( int $flag )
void setOver ( SWFShape $shape )
void setUp ( SWFShape $shape )
}

Sommaire

  • SWFButton->addAction — Ajoute une action
  • SWFButton->addASound — Associe un son à un bouton
  • SWFButton->addShape — Ajoute une forme à un bouton
  • SWFButton->__construct — Crée un nouveau bouton
  • SWFButton->setAction — Définit l'action
  • SWFButton->setDown — Alias pour addShape(shape, SWFBUTTON_DOWN)
  • SWFButton->setHit — Alias pour addShape(shape, SWFBUTTON_HIT)
  • SWFButton->setMenu — Active un menu sur un bouton
  • SWFButton->setOver — Alias pour addShape(shape, SWFBUTTON_OVER)
  • SWFButton->setUp — Alias pour addShape(shape, SWFBUTTON_UP)
SWFBitmap->getWidth
SWFButton->addAction
Ming


Ajoute une action

SWFButton
SWFButton->addASound
SWFButton
PHP Manual

SWFButton->addAction

(PHP 4 >= 4.0.5)

SWFButton->addAction — Ajoute une action

Description

SWFButton
void addAction ( SWFAction $action , int $flags )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Ajout l'action fournie au bouton dans les conditions données.

Liste de paramètres

action

Un objet SWFAction, retourné par SWFAction->__construct.

flags

Les drapeaux flags suivants sont valides : SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP, SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT et SWFBUTTON_DRAGOVER.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFButton->addShape
  • SWFAction

SWFButton
SWFButton->addASound
SWFButton


Associe un son à un bouton

SWFButton->addAction
SWFButton->addShape
SWFButton
PHP Manual

SWFButton->addASound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->addASound — Associe un son à un bouton

Description

SWFButton
SWFSoundInstance addASound ( SWFSound $sound , int $flags )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFButton->addAction
SWFButton->addShape
SWFButton


Ajoute une forme à un bouton

SWFButton->addASound
SWFButton->__construct
SWFButton
PHP Manual

SWFButton->addShape

(PHP 4 >= 4.0.5)

SWFButton->addShape — Ajoute une forme à un bouton

Description

SWFButton
void addShape ( SWFShape $shape , int $flags )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Ajoute la forme shape fournie au bouton.

Liste de paramètres

shape

Une instance de l'objet SWFShape

flags

Les drapeaux flags suivants sont valides : SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN et SWFBUTTON_HIT.

SWFBUTTON_HIT n'est pas toujours affiché, il définit la région du bouton.

Valeurs de retour

Aucune valeur n'est retournée.

SWFButton->addASound
SWFButton->__construct
SWFButton


Crée un nouveau bouton

SWFButton->addShape
SWFButton->setAction
SWFButton
PHP Manual

SWFButton->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->__construct — Crée un nouveau bouton

Description

SWFButton
SWFButton __construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouveau bouton.

Exemples

Cet exemple simple montre une interaction habituelle avec des boutons : "rollover", "rollon", "mouseup", "mousedown", "noaction".

Exemple #1 à habituelles avec les boutons

<?php

$f = new SWFFont("_serif");

$p = new SWFSprite();

function label($string)
{
  global $f;

  $t = new SWFTextField();
  $t->setFont($f);
  $t->addString($string);
  $t->setHeight(200);
  $t->setBounds(3200, 200);
  return $t;
}

function addLabel($string)
{
  global $p;

  $i = $p->add(label($string));
  $p->nextFrame();
  $p->remove($i);
}

$p->add(new SWFAction("stop();"));
addLabel("NO ACTION");
addLabel("SWFBUTTON_MOUSEUP");
addLabel("SWFBUTTON_MOUSEDOWN");
addLabel("SWFBUTTON_MOUSEOVER");
addLabel("SWFBUTTON_MOUSEOUT");
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
addLabel("SWFBUTTON_DRAGOVER");
addLabel("SWFBUTTON_DRAGOUT");

function rect($r, $g, $b)
{
  $s = new SWFShape();
  $s->setRightFill($s->addFill($r, $g, $b));
  $s->drawLine(600, 0);
  $s->drawLine(0, 600);
  $s->drawLine(-600, 0);
  $s->drawLine(0, -600);

  return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
          SWFBUTTON_MOUSEUP);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
      SWFBUTTON_MOUSEOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
      SWFBUTTON_MOUSEOUT);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
      SWFBUTTON_MOUSEUPOUTSIDE);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
      SWFBUTTON_DRAGOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
      SWFBUTTON_DRAGOUT);

$m = new SWFMovie();
$m->setDimension(4000, 3000);

$i = $m->add($p);
$i->setName("label");
$i->moveTo(400, 1900);

$i = $m->add($b);
$i->moveTo(400, 900);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Cet exemple simple vous permet d'afficher un gros bouton rouge dans la fenêtre. Pas de glisser / déposer, il bouge uniquement.

Exemple #2 Exemple de glisser

<?php

$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->drawLine(1000,0);
$s->drawLine(0,1000);
$s->drawLine(-1000,0);
$s->drawLine(0,-1000);

$b = new SWFButton();
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' signifie qu'il n'est pas verrouillé sur la souris
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("stopDrag();"),
      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

$p = new SWFSprite();
$p->add($b);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->setName('test');
$i->moveTo(1000,1000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFButton->addShape
SWFButton->setAction
SWFButton


Définit l'action

SWFButton->__construct
SWFButton->setDown
SWFButton
PHP Manual

SWFButton->setAction

(PHP 4 >= 4.0.5)

SWFButton->setAction — Définit l'action

Description

SWFButton
void setAction ( SWFAction $action )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit l'action à exécuter lorsque le bouton est cliqué.

C'est un raccourci pour SWFButton->addAction appelé avec le drapeau SWFBUTTON_MOUSEUP.

Liste de paramètres

action

Un objet SWFAction, retourné par SWFAction->__construct.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFButton->addAction
  • SWFAction

SWFButton->__construct
SWFButton->setDown
SWFButton


Alias pour addShape(shape, SWFBUTTON_DOWN)

SWFButton->setAction
SWFButton->setHit
SWFButton
PHP Manual

SWFButton->setDown

(PHP 4 >= 4.0.5)

SWFButton->setDown — Alias pour addShape(shape, SWFBUTTON_DOWN)

Description

SWFButton
void setDown ( SWFShape $shape )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfbutton->setdown() est un alias pour addShape(shape, SWFBUTTON_DOWN).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFButton->addShape
  • SWFAction

SWFButton->setAction
SWFButton->setHit
SWFButton


Alias pour addShape(shape, SWFBUTTON_HIT)

SWFButton->setDown
SWFButton->setMenu
SWFButton
PHP Manual

SWFButton->setHit

(PHP 4 >= 4.0.5)

SWFButton->setHit — Alias pour addShape(shape, SWFBUTTON_HIT)

Description

SWFButton
void setHit ( SWFShape $shape )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfbutton->sethit() est un alias pour addShape(shape, SWFBUTTON_HIT).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFButton->addShape
  • SWFAction

SWFButton->setDown
SWFButton->setMenu
SWFButton


Active un menu sur un bouton

SWFButton->setHit
SWFButton->setOver
SWFButton
PHP Manual

SWFButton->setMenu

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFButton->setMenu — Active un menu sur un bouton

Description

SWFButton
void setMenu ( int $flag )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

flag

Ce paramètre peut être utilisé pour un comportement différent des boutons. Vous pouvez le définir à 0 (off) ou 1 (on).

Valeurs de retour

Aucune valeur n'est retournée.

SWFButton->setHit
SWFButton->setOver
SWFButton


Alias pour addShape(shape, SWFBUTTON_OVER)

SWFButton->setMenu
SWFButton->setUp
SWFButton
PHP Manual

SWFButton->setOver

(PHP 4 >= 4.0.5)

SWFButton->setOver — Alias pour addShape(shape, SWFBUTTON_OVER)

Description

SWFButton
void setOver ( SWFShape $shape )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfbutton->setover() est un alias pour addShape(shape, SWFBUTTON_OVER).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFButton->addShape
  • SWFAction

SWFButton->setMenu
SWFButton->setUp
SWFButton


Alias pour addShape(shape, SWFBUTTON_UP)

SWFButton->setOver
SWFDisplayItem
SWFButton
PHP Manual

SWFButton->setUp

(PHP 4 >= 4.0.5)

SWFButton->setUp — Alias pour addShape(shape, SWFBUTTON_UP)

Description

SWFButton
void setUp ( SWFShape $shape )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfbutton->setup() est un alias pour addShape(shape, SWFBUTTON_UP).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFButton->addShape
  • SWFAction

SWFButton->setOver
SWFDisplayItem
SWFButton


La classe SWFDisplayItem

Introduction

SWFDisplayItem.

Synopsis de la classe

SWFDisplayItem
SWFDisplayItem {
/* Méthodes */
void addAction ( SWFAction $action , int $flags )
void addColor ( int $red , int $green , int $blue [, int $a ] )
void endMask ( void )
float getRot ( void )
float getX ( void )
float getXScale ( void )
float getXSkew ( void )
float getY ( void )
float getYScale ( void )
float getYSkew ( void )
void move ( float $dx , float $dy )
void moveTo ( float $x , float $y )
void multColor ( float $red , float $green , float $blue [, float $a ] )
void remove ( void )
void rotate ( float $angle )
void rotateTo ( float $angle )
void scale ( float $dx , float $dy )
void scaleTo ( float $x [, float $y ] )
void setDepth ( int $depth )
void setMaskLevel ( int $level )
void setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
void setName ( string $name )
void setRatio ( float $ratio )
void skewX ( float $ddegrees )
void skewXTo ( float $degrees )
void skewY ( float $ddegrees )
void skewYTo ( float $degrees )
}

Sommaire

  • SWFDisplayItem->addAction — Ajoute ce SWFAction à l'instance SWFSprite fournie
  • SWFDisplayItem->addColor — Ajoute une couleur à la transformation de couleur de l'élément
  • SWFDisplayItem->endMask — Une autre façon de définir une interface MASK
  • SWFDisplayItem->getRot — Description
  • SWFDisplayItem->getX — Description
  • SWFDisplayItem->getXScale — Description
  • SWFDisplayItem->getXSkew — Description
  • SWFDisplayItem->getY — Description
  • SWFDisplayItem->getYScale — Description
  • SWFDisplayItem->getYSkew — Description
  • SWFDisplayItem->move — Déplace un objet dans les coordonnées relatives
  • SWFDisplayItem->moveTo — Déplace un objet dans les coordonnées globales
  • SWFDisplayItem->multColor — Multiplie la transformation de couleur d'un élément
  • SWFDisplayItem->remove — Efface l'objet du film
  • SWFDisplayItem->rotate — Rotation, en coordonnées relatives
  • SWFDisplayItem->rotateTo — Tourne l'objet dans les coordonnées globales
  • SWFDisplayItem->scale — Met à l'échelle l'objet dans des coordonnées relatives
  • SWFDisplayItem->scaleTo — Met à l'échelle l'objet dans les coordonnées globales
  • SWFDisplayItem->setDepth — Définit le z-order
  • SWFDisplayItem->setMaskLevel — Définit le niveau de l'interface MASK
  • SWFDisplayItem->setMatrix — Définit la matrice de transformation de l'élément
  • SWFDisplayItem->setName — Définit le nom de l'objet
  • SWFDisplayItem->setRatio — Définit le ratio de l'objet
  • SWFDisplayItem->skewX — Définit le X-skew
  • SWFDisplayItem->skewXTo — Définit le X-skew
  • SWFDisplayItem->skewY — Définit le Y-skew
  • SWFDisplayItem->skewYTo — Définit le Y-skew
SWFButton->setUp
SWFDisplayItem->addAction
Ming


Ajoute ce SWFAction à l'instance SWFSprite fournie

SWFDisplayItem
SWFDisplayItem->addColor
SWFDisplayItem
PHP Manual

SWFDisplayItem->addAction

(PHP 4 >= 4.2.0)

SWFDisplayItem->addAction — Ajoute ce SWFAction à l'instance SWFSprite fournie

Description

SWFDisplayItem
void addAction ( SWFAction $action , int $flags )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

action

Un SWFAction, retourné par SWFAction->__construct.

flags

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFAction

SWFDisplayItem
SWFDisplayItem->addColor
SWFDisplayItem


Ajoute une couleur à la transformation de couleur de l'élément

SWFDisplayItem->addAction
SWFDisplayItem->endMask
SWFDisplayItem
PHP Manual

SWFDisplayItem->addColor

(PHP 4 >= 4.0.5)

SWFDisplayItem->addColor — Ajoute une couleur à la transformation de couleur de l'élément

Description

SWFDisplayItem
void addColor ( int $red , int $green , int $blue [, int $a ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->addcolor() ajoute la couleur à la transformation de couleur de l'élément. La couleur est donnée sous la forme RVB.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Valeurs de retour

Aucune valeur n'est retournée.

SWFDisplayItem->addAction
SWFDisplayItem->endMask
SWFDisplayItem


Une autre façon de définir une interface MASK

SWFDisplayItem->addColor
SWFDisplayItem->getRot
SWFDisplayItem
PHP Manual

SWFDisplayItem->endMask

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->endMask — Une autre façon de définir une interface MASK

Description

SWFDisplayItem
void endMask ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFDisplayItem->addColor
SWFDisplayItem->getRot
SWFDisplayItem


SWFDisplayItem->endMask
SWFDisplayItem->getX
SWFDisplayItem
PHP Manual

SWFDisplayItem->getRot

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getRot —

Description

SWFDisplayItem
float getRot ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFDisplayItem->endMask
SWFDisplayItem->getX
SWFDisplayItem


SWFDisplayItem->getRot
SWFDisplayItem->getXScale
SWFDisplayItem
PHP Manual

SWFDisplayItem->getX

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getX —

Description

SWFDisplayItem
float getX ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFDisplayItem->getY

SWFDisplayItem->getRot
SWFDisplayItem->getXScale
SWFDisplayItem


SWFDisplayItem->getX
SWFDisplayItem->getXSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem->getXScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getXScale —

Description

SWFDisplayItem
float getXScale ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFDisplayItem->getYScale

SWFDisplayItem->getX
SWFDisplayItem->getXSkew
SWFDisplayItem


SWFDisplayItem->getXScale
SWFDisplayItem->getY
SWFDisplayItem
PHP Manual

SWFDisplayItem->getXSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getXSkew —

Description

SWFDisplayItem
float getXSkew ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFDisplayItem->getYSkew

SWFDisplayItem->getXScale
SWFDisplayItem->getY
SWFDisplayItem


SWFDisplayItem->getXSkew
SWFDisplayItem->getYScale
SWFDisplayItem
PHP Manual

SWFDisplayItem->getY

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getY —

Description

SWFDisplayItem
float getY ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFDisplayItem->getX

SWFDisplayItem->getXSkew
SWFDisplayItem->getYScale
SWFDisplayItem


SWFDisplayItem->getY
SWFDisplayItem->getYSkew
SWFDisplayItem
PHP Manual

SWFDisplayItem->getYScale

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getYScale —

Description

SWFDisplayItem
float getYScale ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFDisplayItem->getXScale

SWFDisplayItem->getY
SWFDisplayItem->getYSkew
SWFDisplayItem


SWFDisplayItem->getYScale
SWFDisplayItem->move
SWFDisplayItem
PHP Manual

SWFDisplayItem->getYSkew

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->getYSkew —

Description

SWFDisplayItem
float getYSkew ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFDisplayItem->getXSkew

SWFDisplayItem->getYScale
SWFDisplayItem->move
SWFDisplayItem


Déplace un objet dans les coordonnées relatives

SWFDisplayItem->getYSkew
SWFDisplayItem->moveTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->move

(PHP 4 >= 4.0.5)

SWFDisplayItem->move — Déplace un objet dans les coordonnées relatives

Description

SWFDisplayItem
void move ( float $dx , float $dy )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->move() déplace l'objet courant vers (dx,dy) depuis sa position courante.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->moveTo

SWFDisplayItem->getYSkew
SWFDisplayItem->moveTo
SWFDisplayItem


Déplace un objet dans les coordonnées globales

SWFDisplayItem->move
SWFDisplayItem->multColor
SWFDisplayItem
PHP Manual

SWFDisplayItem->moveTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->moveTo — Déplace un objet dans les coordonnées globales

Description

SWFDisplayItem
void moveTo ( float $x , float $y )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->moveto() déplace l'objet courant vers (x,y) dans les coordonnées globales.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->move

SWFDisplayItem->move
SWFDisplayItem->multColor
SWFDisplayItem


Multiplie la transformation de couleur d'un élément

SWFDisplayItem->moveTo
SWFDisplayItem->remove
SWFDisplayItem
PHP Manual

SWFDisplayItem->multColor

(PHP 4 >= 4.0.5)

SWFDisplayItem->multColor — Multiplie la transformation de couleur d'un élément

Description

SWFDisplayItem
void multColor ( float $red , float $green , float $blue [, float $a ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->multcolor() multiplie la transformation de couleur de l'élément par les valeurs données.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Liste de paramètres

Ces paramètres sont des nombres à virgule flottante, compris entre 0 et 1.0 :

red

Valeur du composant rouge

green

Valeur du composant vert

blue

Valeur du composant bleu

a

Valeur du composant alpha

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Cet exemple simple modifie l'atmosphère de l'image en une version Halloween.

Exemple #1 Exemple avec swfdisplayitem->multcolor()

<?php

$b = new SWFBitmap(file_get_contents("backyard.jpg"));
// note : utilisez votre propre image :-)
$s = new SWFShape();
$s->setRightFill($s->addFill($b));
$s->drawLine($b->getWidth(), 0);
$s->drawLine(0, $b->getHeight());
$s->drawLine(-$b->getWidth(), 0);
$s->drawLine(0, -$b->getHeight());

$m = new SWFMovie();
$m->setDimension($b->getWidth(), $b->getHeight());

$i = $m->add($s);

for ($n=0; $n<=20; ++$n) {
  $i->multColor(1.0-$n/10, 1.0, 1.0);
  $i->addColor(0xff*$n/20, 0, 0);
  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem->moveTo
SWFDisplayItem->remove
SWFDisplayItem


Efface l'objet du film

SWFDisplayItem->multColor
SWFDisplayItem->rotate
SWFDisplayItem
PHP Manual

SWFDisplayItem->remove

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->remove — Efface l'objet du film

Description

SWFDisplayItem
void remove ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->remove() efface un objet de la liste d'affichage du film.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFMovie->add

SWFDisplayItem->multColor
SWFDisplayItem->rotate
SWFDisplayItem


Rotation, en coordonnées relatives

SWFDisplayItem->remove
SWFDisplayItem->rotateTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->rotate

(PHP 4 >= 4.0.5)

SWFDisplayItem->rotate — Rotation, en coordonnées relatives

Description

SWFDisplayItem
void rotate ( float $angle )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->rotate() tourne l'objet curant d'un angle angle (en degrés).

Cet objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->rotateTo

SWFDisplayItem->remove
SWFDisplayItem->rotateTo
SWFDisplayItem


Tourne l'objet dans les coordonnées globales

SWFDisplayItem->rotate
SWFDisplayItem->scale
SWFDisplayItem
PHP Manual

SWFDisplayItem->rotateTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->rotateTo — Tourne l'objet dans les coordonnées globales

Description

SWFDisplayItem
void rotateTo ( float $angle )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->rotateto() définit la rotation de l'objet courant à angle degrés dans les coordonnées globales.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Cet exemple effectue trois rotations de chaînes de caractères depuis l'arrière plan vers le premier plan.

Exemple #1 Exemple avec swfdisplayitem->rotateto()

<?php
$thetext =  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(2400, 1600);
$m->setBackground(0xff, 0xff, 0xff);

// des fonctions avec beaucoup d'arguments arbitraires
// sont toujours de bonne idée ! vraiment !

function text($r, $g, $b, $a, $rot, $x, $y, $scale, $string)
{
  global $f, $m;

  $t = new SWFText();
  $t->setFont($f);
  $t->setColor($r, $g, $b, $a);
  $t->setHeight(960);
  $t->moveTo(-($f->getWidth($string))/2, $f->getAscent()/2);
  $t->addString($string);

  // nous pouvons ajouter des propriétés comme une variable normal PHP,
  // tant que les noms ne sont pas déjà utilisés.
  // e.g., nous ne pouvons pas définir $i->scale, parce que c'est une fonction

  $i = $m->add($t);
  $i->x = $x;
  $i->y = $y;
  $i->rot = $rot;
  $i->s = $scale;
  $i->rotateTo($rot);
  $i->scale($scale, $scale);

  // mais les modifications sont locales à la fonction, donc, nous devons
  // retourner l'objet original.

  return $i;
}

function step($i)
{
  $oldrot = $i->rot;
  $i->rot = 19*$i->rot/20;
  $i->x = (19*$i->x + 1200)/20;
  $i->y = (19*$i->y + 800)/20;
  $i->s = (19*$i->s + 1.0)/20;

  $i->rotateTo($i->rot);
  $i->scaleTo($i->s, $i->s);
  $i->moveTo($i->x, $i->y);

  return $i;
}

$i1 = text(0xff, 0x33, 0x33, 0xff, 900, 1200, 800, 0.03, $thetext);
$i2 = text(0x00, 0x33, 0xff, 0x7f, -560, 1200, 800, 0.04, $thetext);
$i3 = text(0xff, 0xff, 0xff, 0x9f, 180, 1200, 800, 0.001, $thetext);

for ($i=1; $i<=100; ++$i) {
  $i1 = step($i1);
  $i2 = step($i2);
  $i3 = step($i3);

  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Voir aussi

  • SWFDisplayItem->rotate

SWFDisplayItem->rotate
SWFDisplayItem->scale
SWFDisplayItem


Met à l'échelle l'objet dans des coordonnées relatives

SWFDisplayItem->rotateTo
SWFDisplayItem->scaleTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->scale

(PHP 4 >= 4.0.5)

SWFDisplayItem->scale — Met à l'échelle l'objet dans des coordonnées relatives

Description

SWFDisplayItem
void scale ( float $dx , float $dy )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->scale() met à l'échelle l'objet courant par (dx,dy) depuis sa taille courante.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->scaleTo

SWFDisplayItem->rotateTo
SWFDisplayItem->scaleTo
SWFDisplayItem


Met à l'échelle l'objet dans les coordonnées globales

SWFDisplayItem->scale
SWFDisplayItem->setDepth
SWFDisplayItem
PHP Manual

SWFDisplayItem->scaleTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->scaleTo — Met à l'échelle l'objet dans les coordonnées globales

Description

SWFDisplayItem
void scaleTo ( float $x [, float $y ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->scaleto() met à l'échelle l'objet courant à (x,y) dans les coordonnées globales.

Cet objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->scale

SWFDisplayItem->scale
SWFDisplayItem->setDepth
SWFDisplayItem


Définit le z-order

SWFDisplayItem->scaleTo
SWFDisplayItem->setMaskLevel
SWFDisplayItem
PHP Manual

SWFDisplayItem->setDepth

(PHP 4 >= 4.0.5)

SWFDisplayItem->setDepth — Définit le z-order

Description

SWFDisplayItem
void setDepth ( int $depth )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->setdepth() définit l'objet z-order à depth.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

SWFDisplayItem->scaleTo
SWFDisplayItem->setMaskLevel
SWFDisplayItem


Définit le niveau de l'interface MASK

SWFDisplayItem->setDepth
SWFDisplayItem->setMatrix
SWFDisplayItem
PHP Manual

SWFDisplayItem->setMaskLevel

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFDisplayItem->setMaskLevel — Définit le niveau de l'interface MASK

Description

SWFDisplayItem
void setMaskLevel ( int $level )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFDisplayItem->setDepth
SWFDisplayItem->setMatrix
SWFDisplayItem


Définit la matrice de transformation de l'élément

SWFDisplayItem->setMaskLevel
SWFDisplayItem->setName
SWFDisplayItem
PHP Manual

SWFDisplayItem->setMatrix

(PHP 4 >= 4.0.5)

SWFDisplayItem->setMatrix — Définit la matrice de transformation de l'élément

Description

SWFDisplayItem
void setMatrix ( float $a , float $b , float $c , float $d , float $x , float $y )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFDisplayItem->setMaskLevel
SWFDisplayItem->setName
SWFDisplayItem


Définit le nom de l'objet

SWFDisplayItem->setMatrix
SWFDisplayItem->setRatio
SWFDisplayItem
PHP Manual

SWFDisplayItem->setName

(PHP 4 >= 4.0.5)

SWFDisplayItem->setName — Définit le nom de l'objet

Description

SWFDisplayItem
void setName ( string $name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->setname() définit le nom de l'objet à name, afin qu'il soit identifiable par un script d'action.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté par la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

SWFDisplayItem->setMatrix
SWFDisplayItem->setRatio
SWFDisplayItem


Définit le ratio de l'objet

SWFDisplayItem->setName
SWFDisplayItem->skewX
SWFDisplayItem
PHP Manual

SWFDisplayItem->setRatio

(PHP 4 >= 4.0.5)

SWFDisplayItem->setRatio — Définit le ratio de l'objet

Description

SWFDisplayItem
void setRatio ( float $ratio )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->setratio() définit le ratio de l'objet à ratio.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté à la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Cet exemple simple va transformer trois cercles concentrés.

Exemple #1 Exemple avec swfdisplayitem->setname()

<?php

$p = new SWFMorph();

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0xff, 0xff);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0xff, 0xff, 0xff);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0xff, 0xff, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape1();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0, 0);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0, 0xff, 0);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0, 0, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape2();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$f->skewXTo(1.0);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$m = new SWFMovie();
$m->setDimension(320, 240);
$i = $m->add($p);
$i->moveTo(160, 120);

for ($n=0; $n<=1.001; $n+=0.01) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFDisplayItem->setName
SWFDisplayItem->skewX
SWFDisplayItem


Définit le X-skew

SWFDisplayItem->setRatio
SWFDisplayItem->skewXTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewX

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewX — Définit le X-skew

Description

SWFDisplayItem
void skewX ( float $ddegrees )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->skewx() ajoute ddegrees au x-skew courant.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->skewXTo
  • SWFDisplayItem->skewY
  • SWFDisplayItem->skewYTo

SWFDisplayItem->setRatio
SWFDisplayItem->skewXTo
SWFDisplayItem


Définit le X-skew

SWFDisplayItem->skewX
SWFDisplayItem->skewY
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewXTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewXTo — Définit le X-skew

Description

SWFDisplayItem
void skewXTo ( float $degrees )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->skewxto() définit le x-skew à degrees.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté avec la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->skewX
  • SWFDisplayItem->skewY
  • SWFDisplayItem->skewYTo

SWFDisplayItem->skewX
SWFDisplayItem->skewY
SWFDisplayItem


Définit le Y-skew

SWFDisplayItem->skewXTo
SWFDisplayItem->skewYTo
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewY

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewY — Définit le Y-skew

Description

SWFDisplayItem
void skewY ( float $ddegrees )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->skewy() ajoute ddegrees au y-skew courant.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté en utilisant la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->skewYTo
  • SWFDisplayItem->skewX
  • SWFDisplayItem->skewXTo

SWFDisplayItem->skewXTo
SWFDisplayItem->skewYTo
SWFDisplayItem


Définit le Y-skew

SWFDisplayItem->skewY
SWFFill
SWFDisplayItem
PHP Manual

SWFDisplayItem->skewYTo

(PHP 4 >= 4.0.5)

SWFDisplayItem->skewYTo — Définit le Y-skew

Description

SWFDisplayItem
void skewYTo ( float $degrees )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfdisplayitem->skewyto() définit le y-skew à degrees. Pour une valeur de degrees à 1.0, cela signifie que la vue est pivoté de 45 degrés.

L'objet peut être un objet swfshape(), un objet swfbutton(), un objet swftext() ou un objet swfsprite(). Il doit être ajouté en utilisant la fonction swfmovie->add().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFDisplayItem->skewY
  • SWFDisplayItem->skewX
  • SWFDisplayItem->skewXTo

SWFDisplayItem->skewY
SWFFill
SWFDisplayItem


La classe SWFFill

Introduction

L'objet SWFFill vous permet de transformer (mise à l'échelle, skew, rotation) un bitmap et des formes gradient.

Les objets swffill sont créés par la méthode SWFShape->addFill.

Synopsis de la classe

SWFFill
SWFFill {
/* Méthodes */
void moveTo ( float $x , float $y )
void rotateTo ( float $angle )
void scaleTo ( float $x [, float $y ] )
void skewXTo ( float $x )
void skewYTo ( float $y )
}

Sommaire

  • SWFFill->moveTo — Déplace le motif original
  • SWFFill->rotateTo — Définit la rotation du motif
  • SWFFill->scaleTo — Définit l'échelle du motif
  • SWFFill->skewXTo — Définit le motif x-skew
  • SWFFill->skewYTo — Définit le motif y-skew
SWFDisplayItem->skewYTo
SWFFill->moveTo
Ming


Déplace le motif original

SWFFill
SWFFill->rotateTo
SWFFill
PHP Manual

SWFFill->moveTo

(PHP 4 >= 4.0.5)

SWFFill->moveTo — Déplace le motif original

Description

SWFFill
void moveTo ( float $x , float $y )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Déplace le motif original aux coordonnées globales données.

Liste de paramètres

x

Coordonnée en X

y

Coordonnée en Y

Valeurs de retour

Aucune valeur n'est retournée.

SWFFill
SWFFill->rotateTo
SWFFill


Définit la rotation du motif

SWFFill->moveTo
SWFFill->scaleTo
SWFFill
PHP Manual

SWFFill->rotateTo

(PHP 4 >= 4.0.5)

SWFFill->rotateTo — Définit la rotation du motif

Description

SWFFill
void rotateTo ( float $angle )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit la rotation du motif à l'angle donné.

Liste de paramètres

angle

L'angle de rotation, en degrés.

Valeurs de retour

Aucune valeur n'est retournée.

SWFFill->moveTo
SWFFill->scaleTo
SWFFill


Définit l'échelle du motif

SWFFill->rotateTo
SWFFill->skewXTo
SWFFill
PHP Manual

SWFFill->scaleTo

(PHP 4 >= 4.0.5)

SWFFill->scaleTo — Définit l'échelle du motif

Description

SWFFill
void scaleTo ( float $x [, float $y ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit l'échelle du motif aux coordonnées données.

Liste de paramètres

x

Coordonnée en X

y

Coordonnée en Y

Valeurs de retour

Aucune valeur n'est retournée.

SWFFill->rotateTo
SWFFill->skewXTo
SWFFill


Définit le motif x-skew

SWFFill->scaleTo
SWFFill->skewYTo
SWFFill
PHP Manual

SWFFill->skewXTo

(PHP 4 >= 4.0.5)

SWFFill->skewXTo — Définit le motif x-skew

Description

SWFFill
void skewXTo ( float $x )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit le motif x-skew à x.

Liste de paramètres

x

Lorsque x vaut 1.0, ce sera une progression de 45 degrés en arrière. Une valeur supérieure sera une progression en avant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFFill->skewYTo

SWFFill->scaleTo
SWFFill->skewYTo
SWFFill


Définit le motif y-skew

SWFFill->skewXTo
SWFFont
SWFFill
PHP Manual

SWFFill->skewYTo

(PHP 4 >= 4.0.5)

SWFFill->skewYTo — Définit le motif y-skew

Description

SWFFill
void skewYTo ( float $y )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit le motif y-skew à y.

Liste de paramètres

y

Lorsque y vaut 1.0, ce sera une progression de 45 degrés en arrière. Une valeur supérieure sera une progression en avant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFFill->skewXTo

SWFFill->skewXTo
SWFFont
SWFFill


La classe SWFFont

Introduction

L'objet SWFFont représente une référence vers la définition de la police, pour une utilisation avec SWFText->setFont et SWFTextField->setFont.

Synopsis de la classe

SWFFont
SWFFont {
/* Méthodes */
SWFFont __construct ( string $filename )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
string getShape ( int $code )
float getUTF8Width ( string $string )
float getWidth ( string $string )
}

Sommaire

  • SWFFont->__construct — Charge la définition d'une police
  • SWFFont->getAscent — Retourne la montée de la police, ou 0 si non disponible
  • SWFFont->getDescent — Retourne la descente de la police, ou 0 si non disponible
  • SWFFont->getLeading — Retourne l'interlignage de la police, ou 0 si non disponible
  • SWFFont->getShape — Retourne la forme du glyphe d'un caractère, sous la forme d'une chaîne de caractères
  • SWFFont->getUTF8Width — Calcule la largeur d'une chaîne donnée dans une police
  • SWFFont->getWidth — Retourne la largeur de la chaîne
SWFFill->skewYTo
SWFFont->__construct
Ming


Charge la définition d'une police

SWFFont
SWFFont->getAscent
SWFFont
PHP Manual

SWFFont->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont->__construct — Charge la définition d'une police

Description

SWFFont
SWFFont __construct ( string $filename )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Si filename est le nom d'un fichier FDB (i.e., se terminant par l'extension ".fdb"), la fonction chargera la définition depuis ce fichier. Sinon, elle crée une référence de police.

FDB ("font definition block") est une interface simple pour le bloc SWF DefineFont2 qui contient une description complète d'une police. Une telle description peut être créée avec les fichiers de gabarit SWT Generator avec l'utilitaire inclus makefdb : regardez dans le dossier des utilitaires de votre distribution de Ming.

Les polices définies par le navigateur ne contiennent pas d'informations sur les polices autres que leurs noms. Il est convenu que la définition de la police est fournie par le lecteur vidéo. Les polices _serif, _sans, et _typewriter doivent toujours être disponibles. Par exemple :

<?php
$f = newSWFFont("_sans");
?>
vous donnera la police sans-serif standard, probablement la même que <font name="sans-serif"> en HTML.

SWFFont
SWFFont->getAscent
SWFFont


Retourne la montée de la police, ou 0 si non disponible

SWFFont->__construct
SWFFont->getDescent
SWFFont
PHP Manual

SWFFont->getAscent

(PHP 4 >= 4.0.5)

SWFFont->getAscent — Retourne la montée de la police, ou 0 si non disponible

Description

SWFFont
float getAscent ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFFont->getDescent

SWFFont->__construct
SWFFont->getDescent
SWFFont


Retourne la descente de la police, ou 0 si non disponible

SWFFont->getAscent
SWFFont->getLeading
SWFFont
PHP Manual

SWFFont->getDescent

(PHP 4 >= 4.0.5)

SWFFont->getDescent — Retourne la descente de la police, ou 0 si non disponible

Description

SWFFont
float getDescent ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFFont->getAscent

SWFFont->getAscent
SWFFont->getLeading
SWFFont


Retourne l'interlignage de la police, ou 0 si non disponible

SWFFont->getDescent
SWFFont->getShape
SWFFont
PHP Manual

SWFFont->getLeading

(PHP 4 >= 4.0.5)

SWFFont->getLeading — Retourne l'interlignage de la police, ou 0 si non disponible

Description

SWFFont
float getLeading ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFFont->getDescent
SWFFont->getShape
SWFFont


Retourne la forme du glyphe d'un caractère, sous la forme d'une chaîne de caractères

SWFFont->getLeading
SWFFont->getUTF8Width
SWFFont
PHP Manual

SWFFont->getShape

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont->getShape — Retourne la forme du glyphe d'un caractère, sous la forme d'une chaîne de caractères

Description

SWFFont
string getShape ( int $code )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFFont->getLeading
SWFFont->getUTF8Width
SWFFont


Calcule la largeur d'une chaîne donnée dans une police

SWFFont->getShape
SWFFont->getWidth
SWFFont
PHP Manual

SWFFont->getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFont->getUTF8Width — Calcule la largeur d'une chaîne donnée dans une police

Description

SWFFont
float getUTF8Width ( string $string )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFFont->getWidth

SWFFont->getShape
SWFFont->getWidth
SWFFont


Retourne la largeur de la chaîne

SWFFont->getUTF8Width
SWFFontChar
SWFFont
PHP Manual

SWFFont->getWidth

(PHP 4 >= 4.0.5)

SWFFont->getWidth — Retourne la largeur de la chaîne

Description

SWFFont
float getWidth ( string $string )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swffont->getwidth() retourne la largeur de la chaîne string, en utilisant la police par défaut. Vous devriez probablement utiliser la version swftext() de cette méthode qui utilise l'échelle du texte de l'objet.

Voir aussi

  • SWFFont->getUTF8Width

SWFFont->getUTF8Width
SWFFontChar
SWFFont


La classe SWFFontChar

Introduction

SWFFontChar.

Synopsis de la classe

SWFFontChar
SWFFontChar {
/* Méthodes */
void addChars ( string $char )
void addUTF8Chars ( string $char )
}

Sommaire

  • SWFFontChar->addChars — Ajoute des caractères à une police pour l'exportation de la police
  • SWFFontChar->addUTF8Chars — Ajoute des caractères à une police pour l'exportation de la police
SWFFont->getWidth
SWFFontChar->addChars
Ming


Ajoute des caractères à une police pour l'exportation de la police

SWFFontChar
SWFFontChar->addUTF8Chars
SWFFontChar
PHP Manual

SWFFontChar->addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar->addChars — Ajoute des caractères à une police pour l'exportation de la police

Description

SWFFontChar
void addChars ( string $char )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFFontChar->addUTF8Chars

SWFFontChar
SWFFontChar->addUTF8Chars
SWFFontChar


Ajoute des caractères à une police pour l'exportation de la police

SWFFontChar->addChars
SWFGradient
SWFFontChar
PHP Manual

SWFFontChar->addUTF8Chars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFFontChar->addUTF8Chars — Ajoute des caractères à une police pour l'exportation de la police

Description

SWFFontChar
void addUTF8Chars ( string $char )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFFontChar->addChars

SWFFontChar->addChars
SWFGradient
SWFFontChar


La classe SWFGradient

Introduction

SWFGradient.

Synopsis de la classe

SWFGradient
SWFGradient {
/* Méthodes */
void addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFGradient __construct ( void )
}

Sommaire

  • SWFGradient->addEntry — Ajoute une entrée dans la liste de gradient
  • SWFGradient->__construct — Crée un objet gradient
SWFFontChar->addUTF8Chars
SWFGradient->addEntry
Ming


Ajoute une entrée dans la liste de gradient

SWFGradient
SWFGradient->__construct
SWFGradient
PHP Manual

SWFGradient->addEntry

(PHP 4 >= 4.3.0)

SWFGradient->addEntry — Ajoute une entrée dans la liste de gradient

Description

SWFGradient
void addEntry ( float $ratio , int $red , int $green , int $blue [, int $alpha = 255 ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfgradient->addentry() ajoute une entrée dans la liste de gradient. ratio est un nombre compris entre 0 et 1, indiquant l'endroit dans le gradient cette couleur apparaît.

red, green, blue est une couleur (en mode RVB). Le dernier paramètre a est optionnel.

Valeurs de retour

Aucune valeur n'est retournée.

SWFGradient
SWFGradient->__construct
SWFGradient


Crée un objet gradient

SWFGradient->addEntry
SWFMorph
SWFGradient
PHP Manual

SWFGradient->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFGradient->__construct — Crée un objet gradient

Description

SWFGradient
SWFGradient __construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfgradient() crée un nouvel objet SWFGradient.

Après avoir ajouter des entrées à votre gradient, vous pouvez utiliser le gradient dans une forme avec la méthode swfshape->addfill().

SWFGradient a les méthodes suivantes : swfgradient->addentry().

Cet exemple simple trace un gradient noir et blanc, en arrière plan et un disque au centre.

Exemple #1 Exemple avec swfgradient()

<?php

  $m = new SWFMovie();
  $m->setDimension(320, 240);

  $s = new SWFShape();

  // premier gradient - noir vers blanc
  $g = new SWFGradient();
  $g->addEntry(0.0, 0, 0, 0);
  $g->addEntry(1.0, 0xff, 0xff, 0xff);

  $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT);
  $f->scaleTo(0.01);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  $s = new SWFShape();

  // second gradient - gradient radial, depuis le rouge vers transparent
  $g = new SWFGradient();
  $g->addEntry(0.0, 0xff, 0, 0, 0xff);
  $g->addEntry(1.0, 0xff, 0, 0, 0);

  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.005);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFGradient->addEntry
SWFMorph
SWFGradient


La classe SWFMorph

Introduction

Ces méthodes ici sont triées étrangement. Il semblerait plus logique d'avoir juste l'objet newSWFMorph (shape1, shape2) ; mais actuellement, shape2 doivent savoir que c'est la deuxième partie d'un morphing. (Ainsi, parce qu'il commence à afficher dès qu'il obtiendra des commandes de dessin - s'il gardait sa propre description de ses formes et écrivait au fur et à mesure, ce serait beaucoup plus facile.).

Synopsis de la classe

SWFMorph
SWFMorph {
/* Méthodes */
SWFMorph __construct ( void )
SWFShape getShape1 ( void )
SWFShape getShape2 ( void )
}

Sommaire

  • SWFMorph->__construct — Crée un nouvel objet SWFMorph
  • SWFMorph->getShape1 — Récupère un gestionnaire pour une forme
  • SWFMorph->getShape2 — Récupère un gestionnaire de forme de fin
SWFGradient->__construct
SWFMorph->__construct
Ming


Crée un nouvel objet SWFMorph

SWFMorph
SWFMorph->getShape1
SWFMorph
PHP Manual

SWFMorph->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMorph->__construct — Crée un nouvel objet SWFMorph

Description

SWFMorph
SWFMorph __construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet SWFMorph.

Également appelé "shape tween".

Exemples

Cet exemple simple va effectuer un morphing d'un gros carré rouge vers un petit carré bleu avec une bordure noire.

Exemple #1 Exemple avec swfmorph()

<?php
  $p = new SWFMorph();

  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);

  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);

  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);

  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);

  $i = $m->add($p);
  $i->moveTo(1500,1000);

  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

SWFMorph
SWFMorph->getShape1
SWFMorph


Récupère un gestionnaire pour une forme

SWFMorph->__construct
SWFMorph->getShape2
SWFMorph
PHP Manual

SWFMorph->getShape1

(PHP 4 >= 4.0.5)

SWFMorph->getShape1 — Récupère un gestionnaire pour une forme

Description

SWFMorph
SWFShape getShape1 ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère la forme de départ pour un morphing.

Valeurs de retour

Retourne un objet SWFShape.

Voir aussi

  • SWFMorph->getShape2

SWFMorph->__construct
SWFMorph->getShape2
SWFMorph


Récupère un gestionnaire de forme de fin

SWFMorph->getShape1
SWFMovie
SWFMorph
PHP Manual

SWFMorph->getShape2

(PHP 4 >= 4.0.5)

SWFMorph->getShape2 — Récupère un gestionnaire de forme de fin

Description

SWFMorph
SWFShape getShape2 ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère la forme de fin d'un morphing.

Valeurs de retour

Retourne un objet SWFShape.

Voir aussi

  • SWFMorph->getShape1

SWFMorph->getShape1
SWFMovie
SWFMorph


La classe SWFMovie

Introduction

SWFMovie est un objet vidéo représentant la vidéo SWF.

Synopsis de la classe

SWFMovie
SWFMovie {
/* Méthodes */
mixed add ( object $instance )
void addExport ( SWFCharacter $char , string $name )
mixed addFont ( SWFFont $font )
SWFMovie __construct ([ int $version ] )
SWFSprite importChar ( string $libswf , string $name )
SWFFontChar importFont ( string $libswf , string $name )
void labelFrame ( string $label )
void nextFrame ( void )
int output ([ int $compression ] )
void remove ( object $instance )
int save ( string $filename [, int $compression ] )
int saveToFile ( resource $x [, int $compression ] )
void setbackground ( int $red , int $green , int $blue )
void setDimension ( float $width , float $height )
void setFrames ( int $number )
void setRate ( float $rate )
SWFSoundInstance startSound ( SWFSound $sound )
void stopSound ( SWFSound $sound )
int streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
void writeExports ( void )
}

Sommaire

  • SWFMovie->add — Ajoute n'importe quelle donnée à une vidéo
  • SWFMovie->addExport — Description
  • SWFMovie->addFont — Description
  • SWFMovie->__construct — Crée un nouvel objet vidéo, représentant une vidéo SWF version 4
  • SWFMovie->importChar — Description
  • SWFMovie->importFont — Description
  • SWFMovie->labelFrame — Nomme une frame
  • SWFMovie->nextFrame — Se déplace sur la prochaine frame d'une animation
  • SWFMovie->output — Affiche la vidéo
  • SWFMovie->remove — Efface une instance d'un objet depuis la liste d'affichage
  • SWFMovie->save — Sauvegarde la vidéo SWF dans un fichier
  • SWFMovie->saveToFile — Description
  • SWFMovie->setbackground — Définit la couleur d'arrière plan
  • SWFMovie->setDimension — Définit les dimensions de la vidéo
  • SWFMovie->setFrames — Définit le nombre de frames dans l'animation
  • SWFMovie->setRate — Définit le débit des frames de l'animation
  • SWFMovie->startSound — Description
  • SWFMovie->stopSound — Description
  • SWFMovie->streamMP3 — Diffuse un fichier MP3
  • SWFMovie->writeExports — Description
SWFMorph->getShape2
SWFMovie->add
Ming


Ajoute n'importe quelle donnée à une vidéo

SWFMovie
SWFMovie->addExport
SWFMovie
PHP Manual

SWFMovie->add

(PHP 4 >= 4.3.3)

SWFMovie->add — Ajoute n'importe quelle donnée à une vidéo

Description

SWFMovie
mixed add ( object $instance )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Ajoute un objet SWF à la vidéo courante.

Liste de paramètres

instance

N'importe quelle type d'objet, comme SWFShape, SWFText, SWFFont.

Valeurs de retour

Pour les types affichables (forme, texte, bouton, sprite), cette fonction retourne un SWFDisplayItem, un gestionnaire de l'objet dans une liste d'affichage. Ainsi, vous pouvez ajouter la même forme dans la vidéo plusieurs fois et récupère séparément un gestionnaire pour chacun.

Voir aussi

  • SWFMovie->remove

SWFMovie
SWFMovie->addExport
SWFMovie


SWFMovie->add
SWFMovie->addFont
SWFMovie
PHP Manual

SWFMovie->addExport

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->addExport —

Description

SWFMovie
void addExport ( SWFCharacter $char , string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->add
SWFMovie->addFont
SWFMovie


SWFMovie->addExport
SWFMovie->__construct
SWFMovie
PHP Manual

SWFMovie->addFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->addFont —

Description

SWFMovie
mixed addFont ( SWFFont $font )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->addExport
SWFMovie->__construct
SWFMovie


Crée un nouvel objet vidéo, représentant une vidéo SWF version 4

SWFMovie->addFont
SWFMovie->importChar
SWFMovie
PHP Manual

SWFMovie->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->__construct — Crée un nouvel objet vidéo, représentant une vidéo SWF version 4

Description

SWFMovie
SWFMovie __construct ([ int $version ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet vidéo, représentant une vidéo SWF.

Liste de paramètres

version

La version SWF désirée. Par défaut, 4.

SWFMovie->addFont
SWFMovie->importChar
SWFMovie


SWFMovie->__construct
SWFMovie->importFont
SWFMovie
PHP Manual

SWFMovie->importChar

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->importChar —

Description

SWFMovie
SWFSprite importChar ( string $libswf , string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFMovie->importFont

SWFMovie->__construct
SWFMovie->importFont
SWFMovie


SWFMovie->importChar
SWFMovie->labelFrame
SWFMovie
PHP Manual

SWFMovie->importFont

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->importFont —

Description

SWFMovie
SWFFontChar importFont ( string $libswf , string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFMovie->importChar

SWFMovie->importChar
SWFMovie->labelFrame
SWFMovie


Nomme une frame

SWFMovie->importFont
SWFMovie->nextFrame
SWFMovie
PHP Manual

SWFMovie->labelFrame

(PHP 4 >= 4.3.3)

SWFMovie->labelFrame — Nomme une frame

Description

SWFMovie
void labelFrame ( string $label )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->importFont
SWFMovie->nextFrame
SWFMovie


Se déplace sur la prochaine frame d'une animation

SWFMovie->labelFrame
SWFMovie->output
SWFMovie
PHP Manual

SWFMovie->nextFrame

(PHP 4 >= 4.3.3)

SWFMovie->nextFrame — Se déplace sur la prochaine frame d'une animation

Description

SWFMovie
void nextFrame ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Se déplace sur la prochaine frame d'une animation.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->labelFrame
SWFMovie->output
SWFMovie


Affiche la vidéo

SWFMovie->nextFrame
SWFMovie->remove
SWFMovie
PHP Manual

SWFMovie->output

(PHP 4 >= 4.3.3)

SWFMovie->output — Affiche la vidéo

Description

SWFMovie
int output ([ int $compression ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Affiche la vidéo SWFMovie.

N'oubliez pas d'envoyer l'en-tête HTTP Content-Type avant d'utiliser cette fonction afin d'afficher la vidéo dans le navigateur.

Liste de paramètres

compression

Le degré de compression peut être une valeur comprise entre 0 et 9, définissant la compression SWF, similaire à la compression Gzip.

Ce paramètre n'est disponible que depuis Flash MX (6).

Valeurs de retour

Retourne le nombre d'octets écrits, ou FALSE si une erreur survient.

Exemples

Exemple #1 Affiche la vidéo dans un navigateur

<?php
header('Content-type: application/x-shockwave-flash');
$movie->output();
?>

Voir aussi

  • SWFMovie->save
  • SWFMovie->saveToFile

SWFMovie->nextFrame
SWFMovie->remove
SWFMovie


Efface une instance d'un objet depuis la liste d'affichage

SWFMovie->output
SWFMovie->save
SWFMovie
PHP Manual

SWFMovie->remove

(PHP 5.2.1-5.3.0, PECL ming SVN)

SWFMovie->remove — Efface une instance d'un objet depuis la liste d'affichage

Description

SWFMovie
void remove ( object $instance )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Efface l'objet instance fourni depuis la liste d'affichage.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFMovie->add

SWFMovie->output
SWFMovie->save
SWFMovie


Sauvegarde la vidéo SWF dans un fichier

SWFMovie->remove
SWFMovie->saveToFile
SWFMovie
PHP Manual

SWFMovie->save

(PHP 4 >= 4.3.3)

SWFMovie->save — Sauvegarde la vidéo SWF dans un fichier

Description

SWFMovie
int save ( string $filename [, int $compression ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Sauvegarde la vidéo SWF dans le fichier filename.

Liste de paramètres

filename

Le chemin vers le document SWF.

compression

Le degré de compression peut être une valeur comprise entre 0 et 9, définissant la compression SWF, similaire à la compression Gzip.

Ce paramètre n'est disponible que depuis Flash MX (6).

Valeurs de retour

Retourne le nombre d'octets écrits ou FALSE si une erreur survient.

Voir aussi

  • SWFMovie->output
  • SWFMovie->saveToFile

SWFMovie->remove
SWFMovie->saveToFile
SWFMovie


SWFMovie->save
SWFMovie->setbackground
SWFMovie
PHP Manual

SWFMovie->saveToFile

(PHP 4 >= 4.3.3)

SWFMovie->saveToFile —

Description

SWFMovie
int saveToFile ( resource $x [, int $compression ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

X

compression

Le degré de compression peut être une valeur comprise entre 0 et 9, définissant la compression SWF, similaire à la compression Gzip.

Ce paramètre n'est disponible que depuis Flash MX (6).

Valeurs de retour

Retourne le nombre d'octets écrits, ou FALSE si une erreur survient.

Voir aussi

  • SWFMovie->output
  • SWFMovie->save

SWFMovie->save
SWFMovie->setbackground
SWFMovie


Définit la couleur d'arrière plan

SWFMovie->saveToFile
SWFMovie->setDimension
SWFMovie
PHP Manual

SWFMovie->setbackground

(PHP 4 >= 4.3.3)

SWFMovie->setbackground — Définit la couleur d'arrière plan

Description

SWFMovie
void setbackground ( int $red , int $green , int $blue )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit la couleur d'arrière plan.

Pourquoi pas un version rgba ? Avec cette version, vous pourriez vouloir afficher l'arrière plan HTML. Il y a une façon de faire cela mais cela ne fonctionne que sous IE4. Faites une recherche sur le site de » http://www.macromedia.com/ pour plus de détails.

Liste de paramètres

Ces paramètres sont des entiers compris entre 0 et 255 ou des hexadécimaux compris entre 0x00 et 0xFF :

red

Valeur du composant rouge

green

Valeur du composant vert

blue

Valeur du composant bleu

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->saveToFile
SWFMovie->setDimension
SWFMovie


Définit les dimensions de la vidéo

SWFMovie->setbackground
SWFMovie->setFrames
SWFMovie
PHP Manual

SWFMovie->setDimension

(PHP 4 >= 4.3.3)

SWFMovie->setDimension — Définit les dimensions de la vidéo

Description

SWFMovie
void setDimension ( float $width , float $height )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit les dimensions de la vidéo en spécifiant la largeur width et la hauteur height.

Liste de paramètres

width

La largeur de la vidéo.

height

La hauteur de la vidéo.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->setbackground
SWFMovie->setFrames
SWFMovie


Définit le nombre de frames dans l'animation

SWFMovie->setDimension
SWFMovie->setRate
SWFMovie
PHP Manual

SWFMovie->setFrames

(PHP 4 >= 4.3.3)

SWFMovie->setFrames — Définit le nombre de frames dans l'animation

Description

SWFMovie
void setFrames ( int $number )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit le nombre total de frames dans l'animation à number.

Liste de paramètres

number

Le nombre de frames.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->setDimension
SWFMovie->setRate
SWFMovie


Définit le débit des frames de l'animation

SWFMovie->setFrames
SWFMovie->startSound
SWFMovie
PHP Manual

SWFMovie->setRate

(PHP 4 >= 4.3.3)

SWFMovie->setRate — Définit le débit des frames de l'animation

Description

SWFMovie
void setRate ( float $rate )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Définit le débit des frames de l'animation à rate.

L'animation peut ralentir si le lecteur ne peut pas rendre les frames assez rapidement - si un son est diffusé dans l'animation, les frames seront sacrifiés en faveur du son.

Liste de paramètres

rate

Le débit, en frame par secondes.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->setFrames
SWFMovie->startSound
SWFMovie


SWFMovie->setRate
SWFMovie->stopSound
SWFMovie
PHP Manual

SWFMovie->startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->startSound —

Description

SWFMovie
SWFSoundInstance startSound ( SWFSound $sound )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFMovie->stopSound

SWFMovie->setRate
SWFMovie->stopSound
SWFMovie


SWFMovie->startSound
SWFMovie->streamMP3
SWFMovie
PHP Manual

SWFMovie->stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->stopSound —

Description

SWFMovie
void stopSound ( SWFSound $sound )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFMovie->startSound

SWFMovie->startSound
SWFMovie->streamMP3
SWFMovie


Diffuse un fichier MP3

SWFMovie->stopSound
SWFMovie->writeExports
SWFMovie
PHP Manual

SWFMovie->streamMP3

(PHP 4 >= 4.3.3)

SWFMovie->streamMP3 — Diffuse un fichier MP3

Description

SWFMovie
int streamMP3 ( mixed $mp3file [, float $skip = 0 ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Diffuse le fichier MP3 mp3file fourni.

Cette méthode n'est pas vraiment robuste lors de la gestion des bizarreries (peut ignorer un tag ID3 initial, mais c'est bien tout).

Notez que le film n'est pas assez compact pour contenir le flux MP3 en entier - vous devez ajouter (longueur de la musique * frames par seconde) frames pour y récupérer le flux complet.

Liste de paramètres

mp3file

Peut être un pointeur de fichier retourné par la fonction fopen() ou les données MP3, sous la forme d'une chaîne binaire.

skip

Nombre de secondes à ignorer.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
5.2.0 | Le paramètre skip a été ajouté

Exemples

Exemple #1 Exemple de diffusion

<?php
$m = new SWFMovie();
$m->setRate(12.0);
$m->streamMp3(file_get_contents("distortobass.mp3"));
// utilisez votre propre MP3

// La durée du fichier est 11.85 secondes à 12.0 fps = 142 frames
$m->setFrames(142);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFMovie->stopSound
SWFMovie->writeExports
SWFMovie


SWFMovie->streamMP3
SWFPrebuiltClip
SWFMovie
PHP Manual

SWFMovie->writeExports

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFMovie->writeExports —

Description

SWFMovie
void writeExports ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFMovie->streamMP3
SWFPrebuiltClip
SWFMovie


La classe SWFPrebuiltClip

Introduction

SWFPrebuiltClip.

Synopsis de la classe

SWFPrebuiltClip
SWFPrebuiltClip {
/* Méthodes */
SWFPrebuiltClip __construct ( mixed $file )
}

Sommaire

  • SWFPrebuiltClip->__construct — Retourne un objet SWFPrebuiltClip
SWFMovie->writeExports
SWFPrebuiltClip->__construct
Ming


Retourne un objet SWFPrebuiltClip

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip
PHP Manual

SWFPrebuiltClip->__construct

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFPrebuiltClip->__construct — Retourne un objet SWFPrebuiltClip

Description

SWFPrebuiltClip
SWFPrebuiltClip __construct ( mixed $file )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip


La classe SWFShape

Introduction

SWFShape.

Synopsis de la classe

SWFShape
SWFShape {
/* Méthodes */
SWFFill addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFShape __construct ( void )
void drawArc ( float $r , float $startAngle , float $endAngle )
void drawCircle ( float $r )
int drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
int drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
int drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
void drawGlyph ( SWFFont $font , string $character [, int $size ] )
void drawLine ( float $dx , float $dy )
void drawLineTo ( float $x , float $y )
void movePen ( float $dx , float $dy )
void movePenTo ( float $x , float $y )
void setLeftFill ( SWFGradient $fill )
void setLine ( SWFShape $shape )
void setRightFill ( SWFGradient $fill )
}

Sommaire

  • SWFShape->addFill — Ajoute un motif solide à la forme
  • SWFShape->__construct — Crée un nouvel objet SWFShape
  • SWFShape->drawArc — Trace un arc de cercle entre deux angles
  • SWFShape->drawCircle — Trace un cercle, centré sur la position courante
  • SWFShape->drawCubic — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle
  • SWFShape->drawCubicTo — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle
  • SWFShape->drawCurve — Trace une courbe (relative)
  • SWFShape->drawCurveTo — Trace une courbe
  • SWFShape->drawGlyph — Dessine le premier caractère d'une chaîne donnée dans la forme en utilisant la définition du glyphe pour la police donnée
  • SWFShape->drawLine — Trace une ligne (relative)
  • SWFShape->drawLineTo — Trace une ligne
  • SWFShape->movePen — Déplace le stylo
  • SWFShape->movePenTo — Déplace le stylo dans la forme
  • SWFShape->setLeftFill — Définit la couleur de la trame de gauche
  • SWFShape->setLine — Définit le style de la forme d'une ligne
  • SWFShape->setRightFill — Définit la couleur de la trame de droite
SWFPrebuiltClip->__construct
SWFShape->addFill
Ming


Ajoute un motif solide à la forme

SWFShape
SWFShape->__construct
SWFShape
PHP Manual

SWFShape->addFill

(PHP 4 >= 4.0.5)

SWFShape->addFill — Ajoute un motif solide à la forme

Description

SWFShape
SWFFill addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFFill addFill ( SWFBitmap $bitmap [, int $flags ] )
SWFFill addFill ( SWFGradient $gradient [, int $flags ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

SWFShape->addFill() ajoute un motif solide à la liste des styles de la forme. SWFShape->addFill() accepte trois types différents d'arguments.

red, green, blue est une couleur (en mode RVB). Le dernier paramètre a est optionnel.

L'argument bitmap est un objet SWFBitmap(). L'argument flags peut être une valeur parmi : SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT ou SWFFILL_RADIAL_GRADIENT. Par défaut, vaut SWFFILL_TILED_BITMAP pour SWFBitmap et SWFFILL_LINEAR_GRADIENT pour SWFGradient.

L'argument gradient est un objet SWFGradient(). L'argument flags peut être une valeur parmi : SWFFILL_RADIAL_GRADIENT ou SWFFILL_LINEAR_GRADIENT. Par défaut, vaut SWFFILL_LINEAR_GRADIENT.

SWFShape->addFill() retourne un objet SWFFill() pour l'utiliser avec la fonction SWFShape->setLeftFill() et la fonction SWFShape->setRightFill().

Exemples

Cet exemple trace une frame dans un bitmap.

Exemple #1 Exemple avec SWFShape->addFill()

<?php

$p = new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// utilisez votre propre bitmap
$width = $b->getWidth();
$height = $b->getHeight();

$s = $p->getShape1();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$f->scaleTo(1.0, 0.5);
$s->setLeftFill($f);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine($width, 0);
$s->drawLine(0, $height/2);
$s->drawLine(-$width, 0);
$s->drawLine(0, -$height/2);

$s = $p->getShape2();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);

// Ceci n'a pas d'effet !
$f->moveTo(-$width/4, -$height/2);
$f->scaleTo(0.5, 1.0);

$s->setLeftFill($f);
$s->movePenTo(-$width/4, -$height/2);
$s->drawLine($width/2, 0);
$s->drawLine(0, $height);
$s->drawLine(-$width/2, 0);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$m->setDimension($width, $height);
$i = $m->add($p);
$i->moveTo($width/2, $height/2);

for ($n=0; $n<1.001; $n+=0.03) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Voir aussi

  • SWFShape->setLeftFill
  • SWFShape->setRightFill

SWFShape
SWFShape->__construct
SWFShape


Crée un nouvel objet SWFShape

SWFShape->addFill
SWFShape->drawArc
SWFShape
PHP Manual

SWFShape->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape->__construct — Crée un nouvel objet SWFShape

Description

SWFShape
SWFShape __construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet SWFShape.

Exemples

Cet exemple trace une ellipse, en rouge.

Exemple #1 Exemple avec swfshape()

<?php
$s = new SWFShape();
$s->setLine(40, 0x7f, 0, 0);
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(200, 200);
$s->drawLineTo(6200, 200);
$s->drawLineTo(6200, 4600);
$s->drawCurveTo(200, 4600, 200, 200);

$m = new SWFMovie();
$m->setDimension(6400, 4800);
$m->setRate(12.0);
$m->add($s);
$m->nextFrame();

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFShape->addFill
SWFShape->drawArc
SWFShape


Trace un arc de cercle entre deux angles

SWFShape->__construct
SWFShape->drawCircle
SWFShape
PHP Manual

SWFShape->drawArc

(PHP 4 >= 4.0.5)

SWFShape->drawArc — Trace un arc de cercle entre deux angles

Description

SWFShape
void drawArc ( float $r , float $startAngle , float $endAngle )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->drawCircle

SWFShape->__construct
SWFShape->drawCircle
SWFShape


Trace un cercle, centré sur la position courante

SWFShape->drawArc
SWFShape->drawCubic
SWFShape
PHP Manual

SWFShape->drawCircle

(PHP 4 >= 4.0.5)

SWFShape->drawCircle — Trace un cercle, centré sur la position courante

Description

SWFShape
void drawCircle ( float $r )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFShape->drawArc
SWFShape->drawCubic
SWFShape


Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle

SWFShape->drawCircle
SWFShape->drawCubicTo
SWFShape
PHP Manual

SWFShape->drawCubic

(PHP 4 >= 4.0.5)

SWFShape->drawCubic — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle

Description

SWFShape
int drawCubic ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFShape->drawCubicTo

SWFShape->drawCircle
SWFShape->drawCubicTo
SWFShape


Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle

SWFShape->drawCubic
SWFShape->drawCurve
SWFShape
PHP Manual

SWFShape->drawCubicTo

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape->drawCubicTo — Trace une courbe de Bézier en utilisant la position courante et les trois points de contrôle

Description

SWFShape
int drawCubicTo ( float $bx , float $by , float $cx , float $cy , float $dx , float $dy )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFShape->drawCubic

SWFShape->drawCubic
SWFShape->drawCurve
SWFShape


Trace une courbe (relative)

SWFShape->drawCubicTo
SWFShape->drawCurveTo
SWFShape
PHP Manual

SWFShape->drawCurve

(PHP 4 >= 4.0.5)

SWFShape->drawCurve — Trace une courbe (relative)

Description

SWFShape
int drawCurve ( float $controldx , float $controldy , float $anchordx , float $anchordy [, float $targetdx ], float $targetdy )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->drawcurve() trace une courbe (en utilisant le style de la ligne courante, défini par la fonction swfshape->setline()) depuis la position courante du stylo vers la position relative (anchorx, anchory) en utilisant le point de contrôle relatif (controlx,controly).

Avec 6 paramètres, elle dessine une courbe de Bézier vers le point (x+targetdx, x+targetdy) avec les points de contrôle (x+controldx, y+controldy) et (x+anchordx, y+anchordy).

Voir aussi

  • SWFShape->drawCurve

SWFShape->drawCubicTo
SWFShape->drawCurveTo
SWFShape


Trace une courbe

SWFShape->drawCurve
SWFShape->drawGlyph
SWFShape
PHP Manual

SWFShape->drawCurveTo

(PHP 4 >= 4.0.5)

SWFShape->drawCurveTo — Trace une courbe

Description

SWFShape
int drawCurveTo ( float $controlx , float $controly , float $anchorx , float $anchory [, float $targetx ], float $targety )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->drawcurveto() trace une courbe (en utilisant le style de la ligne courante, défini par la fonction swfshape->setline()) depuis la position courante du stylo vers (anchorx,anchory) en utilisant le point de contrôle (controlx,controly).

Avec 6 paramètres, elle trace une courbe de Bézier vers le point (targetx, targety) avec les points de contrôle (controlx, controly) et (anchorx, anchory).

Voir aussi

  • SWFShape->drawCurveTo

SWFShape->drawCurve
SWFShape->drawGlyph
SWFShape


Dessine le premier caractère d'une chaîne donnée dans la forme en utilisant la définition du glyphe pour la police donnée

SWFShape->drawCurveTo
SWFShape->drawLine
SWFShape
PHP Manual

SWFShape->drawGlyph

(PHP 4 >= 4.0.5)

SWFShape->drawGlyph — Dessine le premier caractère d'une chaîne donnée dans la forme en utilisant la définition du glyphe pour la police donnée

Description

SWFShape
void drawGlyph ( SWFFont $font , string $character [, int $size ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFShape->drawCurveTo
SWFShape->drawLine
SWFShape


Trace une ligne (relative)

SWFShape->drawGlyph
SWFShape->drawLineTo
SWFShape
PHP Manual

SWFShape->drawLine

(PHP 4 >= 4.0.5)

SWFShape->drawLine — Trace une ligne (relative)

Description

SWFShape
void drawLine ( float $dx , float $dy )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->drawline() trace une ligne (en utilisant le style de la ligne courante défini par la fonction swfshape->setline()) depuis sa position courante vers (dx,dy).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->drawLineTo

SWFShape->drawGlyph
SWFShape->drawLineTo
SWFShape


Trace une ligne

SWFShape->drawLine
SWFShape->movePen
SWFShape
PHP Manual

SWFShape->drawLineTo

(PHP 4 >= 4.0.5)

SWFShape->drawLineTo — Trace une ligne

Description

SWFShape
void drawLineTo ( float $x , float $y )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->setrightfill() trace une ligne (en utilisant le style de la ligne courante, défini par la fonction swfshape->setline()) depuis la position courante du stylo vers le point (x,y) dans l'espace de coordonnées de la forme.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->drawLine

SWFShape->drawLine
SWFShape->movePen
SWFShape


Déplace le stylo

SWFShape->drawLineTo
SWFShape->movePenTo
SWFShape
PHP Manual

SWFShape->movePen

(PHP 4 >= 4.0.5)

SWFShape->movePen — Déplace le stylo

Description

SWFShape
void movePen ( float $dx , float $dy )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->setrightfill() déplace le stylo depuis les coordonnées courantes vers (x courant + dx, y courant + dy) dans l'espace de coordonnées de la forme.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->movePenTo

SWFShape->drawLineTo
SWFShape->movePenTo
SWFShape


Déplace le stylo dans la forme

SWFShape->movePen
SWFShape->setLeftFill
SWFShape
PHP Manual

SWFShape->movePenTo

(PHP 4 >= 4.0.5)

SWFShape->movePenTo — Déplace le stylo dans la forme

Description

SWFShape
void movePenTo ( float $x , float $y )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->setrightfill() déplace le stylo vers (x,y) dans l'espace de coordonnées de la forme.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->movePen

SWFShape->movePen
SWFShape->setLeftFill
SWFShape


Définit la couleur de la trame de gauche

SWFShape->movePenTo
SWFShape->setLine
SWFShape
PHP Manual

SWFShape->setLeftFill

(PHP 4 >= 4.0.5)

SWFShape->setLeftFill — Définit la couleur de la trame de gauche

Description

SWFShape
void setLeftFill ( SWFGradient $fill )
void setLeftFill ( int $red , int $green , int $blue [, int $a ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cette fonction est utile pour savoir quelle trame est au premier plan.

swfshape->setleftfill() définit la couleur de la trame de gauche. L'objet fill est un objet SWFFill retourné par une des fonctions addFill.

Ceci semble être inversé lorsque vous définissez une forme dans un morph. Si votre navigateur plante, tentez de définir le motif sur un autre côté.

Raccourci pour swfshape->setleftfill($s->addfill($r, $g, $b [, $a]));.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->setRightFill

SWFShape->movePenTo
SWFShape->setLine
SWFShape


Définit le style de la forme d'une ligne

SWFShape->setLeftFill
SWFShape->setRightFill
SWFShape
PHP Manual

SWFShape->setLine

(PHP 4 >= 4.0.5)

SWFShape->setLine — Définit le style de la forme d'une ligne

Description

SWFShape
void setLine ( SWFShape $shape )
void setLine ( int $width , int $red , int $green , int $blue [, int $a ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfshape->setline() définit le style de la forme d'une ligne. width est l'épaisseur de la ligne. Si width vaut 0, le style de la ligne est effacé (alors, tous les autres arguments sont ignorés). Si width est supérieur à 0, alors la couleur de la ligne est définie à red, green, blue. Le dernier paramètre, a, est optionnel.

Vous devez déclarer tous les styles de ligne avant de les utiliser (voir l'exemple).

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Cet exemple simple va dessiner un gros "!#%*@".

Exemple #1 Exemple avec swfshape->setline()

<?php
$s = new SWFShape();
$f1 = $s->addFill(0xff, 0, 0);
$f2 = $s->addFill(0xff, 0x7f, 0);
$f3 = $s->addFill(0xff, 0xff, 0);
$f4 = $s->addFill(0, 0xff, 0);
$f5 = $s->addFill(0, 0, 0xff);

// bogue : nous devons déclarer tous les styles de ligne avant de les utiliser
$s->setLine(40, 0x7f, 0, 0);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->setLine(40, 0, 0x7f, 0);
$s->setLine(40, 0, 0, 0x7f);

$f = new SWFFont('Techno.fdb');

$s->setRightFill($f1);
$s->setLine(40, 0x7f, 0, 0);
$s->drawGlyph($f, '!');
$s->movePen($f->getWidth('!'), 0);

$s->setRightFill($f2);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->drawGlyph($f, '#');
$s->movePen($f->getWidth('#'), 0);

$s->setRightFill($f3);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->drawGlyph($f, '%');
$s->movePen($f->getWidth('%'), 0);

$s->setRightFill($f4);
$s->setLine(40, 0, 0x7f, 0);
$s->drawGlyph($f, '*');
$s->movePen($f->getWidth('*'), 0);

$s->setRightFill($f5);
$s->setLine(40, 0, 0, 0x7f);
$s->drawGlyph($f, '@');

$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setRate(12.0);
$i = $m->add($s);
$i->moveTo(1500-$f->getWidth("!#%*@")/2, 1000+$f->getAscent()/2);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Valeurs de retour

Aucune valeur n'est retournée.

SWFShape->setLeftFill
SWFShape->setRightFill
SWFShape


Définit la couleur de la trame de droite

SWFShape->setLine
SWFSound
SWFShape
PHP Manual

SWFShape->setRightFill

(PHP 4 >= 4.0.5)

SWFShape->setRightFill — Définit la couleur de la trame de droite

Description

SWFShape
void setRightFill ( SWFGradient $fill )
void setRightFill ( int $red , int $green , int $blue [, int $a ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Raccourci pour swfshape->setrightfill($s->addfill($r, $g, $b [, $a]));.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFShape->setLeftFill

SWFShape->setLine
SWFSound
SWFShape


La classe SWFSound

Introduction

SWFSound.

Synopsis de la classe

SWFSound
SWFSound {
/* Méthodes */
SWFSound __construct ( string $filename [, int $flags = 0 ] )
}

Sommaire

  • SWFSound — Retourne un nouvel objet SWFSound depuis un fichier donné
SWFShape->setRightFill
SWFSound
Ming


Retourne un nouvel objet SWFSound depuis un fichier donné

SWFSound
SWFSoundInstance
SWFSound
PHP Manual

SWFSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSound — Retourne un nouvel objet SWFSound depuis un fichier donné

Description

SWFSound
SWFSound __construct ( string $filename [, int $flags = 0 ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFSound
SWFSoundInstance
SWFSound
PHP Manual


La classe SWFSoundInstance

Introduction

Les objets SWFSoundInstance sont retournés par les méthodes SWFSprite->startSound et SWFMovie->startSound.

Synopsis de la classe

SWFSoundInstance
SWFSoundInstance {
/* Méthodes */
void loopCount ( int $point )
void loopInPoint ( int $point )
void loopOutPoint ( int $point )
void noMultiple ( void )
}

Sommaire

  • SWFSoundInstance->loopCount — Description
  • SWFSoundInstance->loopInPoint — Description
  • SWFSoundInstance->loopOutPoint — Description
  • SWFSoundInstance->noMultiple — Description
SWFSound
SWFSoundInstance->loopCount
Ming


SWFSoundInstance
SWFSoundInstance->loopInPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance->loopCount

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->loopCount —

Description

SWFSoundInstance
void loopCount ( int $point )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

point

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFSoundInstance->loopOutPoint

SWFSoundInstance
SWFSoundInstance->loopInPoint
SWFSoundInstance


SWFSoundInstance->loopCount
SWFSoundInstance->loopOutPoint
SWFSoundInstance
PHP Manual

SWFSoundInstance->loopInPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->loopInPoint —

Description

SWFSoundInstance
void loopInPoint ( int $point )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

point

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFSoundInstance->loopOutPoint

SWFSoundInstance->loopCount
SWFSoundInstance->loopOutPoint
SWFSoundInstance


SWFSoundInstance->loopInPoint
SWFSoundInstance->noMultiple
SWFSoundInstance
PHP Manual

SWFSoundInstance->loopOutPoint

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->loopOutPoint —

Description

SWFSoundInstance
void loopOutPoint ( int $point )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

point

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFSoundInstance->loopInPoint

SWFSoundInstance->loopInPoint
SWFSoundInstance->noMultiple
SWFSoundInstance


SWFSoundInstance->loopOutPoint
SWFSprite
SWFSoundInstance
PHP Manual

SWFSoundInstance->noMultiple

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSoundInstance->noMultiple —

Description

SWFSoundInstance
void noMultiple ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFSoundInstance->loopOutPoint
SWFSprite
SWFSoundInstance


La classe SWFSprite

Introduction

SWFSprite est également connu sous le nom "movie clip", elle vous permet de créer des objets qui sont animés.

Synopsis de la classe

SWFSprite
SWFSprite {
/* Méthodes */
void add ( object $object )
SWFSprite __construct ( void )
void labelFrame ( string $label )
void nextFrame ( void )
void remove ( object $object )
void setFrames ( int $number )
SWFSoundInstance startSound ( SWFSound $sount )
void stopSound ( SWFSound $sount )
}

Sommaire

  • SWFSprite->add — Ajoute un objet à un sprite
  • SWFSprite->__construct — Crée un clip vidéo (un sprite)
  • SWFSprite->labelFrame — Libellé d'une image
  • SWFSprite->nextFrame — Déplace la prochaine image de l'animation
  • SWFSprite->remove — Efface l'objet d'un sprite
  • SWFSprite->setFrames — Définit le nombre total d'images dans l'animation
  • SWFSprite->startSound — Description
  • SWFSprite->stopSound — Description
SWFSoundInstance->noMultiple
SWFSprite->add
Ming


Ajoute un objet à un sprite

SWFSprite
SWFSprite->__construct
SWFSprite
PHP Manual

SWFSprite->add

(PHP 4 >= 4.0.5)

SWFSprite->add — Ajoute un objet à un sprite

Description

SWFSprite
void add ( object $object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfsprite->add() ajoute un objet
swfshape(), un objet swfbutton(),
un objet swftext(), un objet swfaction()
ou un objet swfsprite().

Pour les types affichables (swfshape(),
swfbutton(), swftext(),
swfaction() ou swfsprite()),
cette fonction retourne un gestionnaire vers l'objet dans la liste d'affichage.

Valeurs de retour

Aucune valeur n'est retournée.

SWFSprite
SWFSprite->__construct
SWFSprite


Crée un clip vidéo (un sprite)

SWFSprite->add
SWFSprite->labelFrame
SWFSprite
PHP Manual

SWFSprite->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite->__construct — Crée un clip vidéo (un sprite)

Description

SWFSprite
SWFSprite __construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet SWFSprite.

SWFSprite->add
SWFSprite->labelFrame
SWFSprite


Libellé d'une image

SWFSprite->__construct
SWFSprite->nextFrame
SWFSprite
PHP Manual

SWFSprite->labelFrame

(PHP 4 >= 4.3.3)

SWFSprite->labelFrame — Libellé d'une image

Description

SWFSprite
void labelFrame ( string $label )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFSprite->__construct
SWFSprite->nextFrame
SWFSprite


Déplace la prochaine image de l'animation

SWFSprite->labelFrame
SWFSprite->remove
SWFSprite
PHP Manual

SWFSprite->nextFrame

(PHP 4 >= 4.0.5)

SWFSprite->nextFrame — Déplace la prochaine image de l'animation

Description

SWFSprite
void nextFrame ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfsprite->setframes() déplace la prochaine image de l'animation.

Valeurs de retour

Aucune valeur n'est retournée.

SWFSprite->labelFrame
SWFSprite->remove
SWFSprite


Efface l'objet d'un sprite

SWFSprite->nextFrame
SWFSprite->setFrames
SWFSprite
PHP Manual

SWFSprite->remove

(PHP 4 >= 4.0.5)

SWFSprite->remove — Efface l'objet d'un sprite

Description

SWFSprite
void remove ( object $object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfsprite->remove() efface un objet
swfshape(), un objet swfbutton(),
un objet swftext(), un objet swfaction()
ou un objet swfsprite() d'un sprite.

Valeurs de retour

Aucune valeur n'est retournée.

SWFSprite->nextFrame
SWFSprite->setFrames
SWFSprite


Définit le nombre total d'images dans l'animation

SWFSprite->remove
SWFSprite->startSound
SWFSprite
PHP Manual

SWFSprite->setFrames

(PHP 4 >= 4.0.5)

SWFSprite->setFrames — Définit le nombre total d'images dans l'animation

Description

SWFSprite
void setFrames ( int $number )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swfsprite->setframes() définit le nombre total d'images dans l'animation à numberofframes.

Valeurs de retour

Aucune valeur n'est retournée.

SWFSprite->remove
SWFSprite->startSound
SWFSprite


SWFSprite->setFrames
SWFSprite->stopSound
SWFSprite
PHP Manual

SWFSprite->startSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite->startSound —

Description

SWFSprite
SWFSoundInstance startSound ( SWFSound $sount )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFSprite->stopSound

SWFSprite->setFrames
SWFSprite->stopSound
SWFSprite


SWFSprite->startSound
SWFText
SWFSprite
PHP Manual

SWFSprite->stopSound

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFSprite->stopSound —

Description

SWFSprite
void stopSound ( SWFSound $sount )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFSprite->startSound

SWFSprite->startSound
SWFText
SWFSprite


La classe SWFText

Introduction

SWFText.

Synopsis de la classe

SWFText
SWFText {
/* Méthodes */
void addString ( string $string )
void addUTF8String ( string $text )
void __construct ( void )
float getAscent ( void )
float getDescent ( void )
float getLeading ( void )
float getUTF8Width ( string $string )
float getWidth ( string $string )
void moveTo ( float $x , float $y )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setSpacing ( float $spacing )
}

Sommaire

  • SWFText->addString — Dessine une chaîne de caractères
  • SWFText->addUTF8String — Écrit le texte donné dans l'objet SWFText à la position courante, en utilisant la police, la haute, l'espacement et la couleur courants
  • SWFText->__construct — Crée un nouvel objet SWFText
  • SWFText->getAscent — Retourne la montée de la police courante à sa taille courante, ou 0 si elle n'est pas disponible
  • SWFText->getDescent — Retourne la descente de la police courante à sa taille courante, ou 0 si elle n'est pas disponible
  • SWFText->getLeading — Retourne l'interlignage de la police courante à sa taille courante, ou 0 s'il n'est pas disponible
  • SWFText->getUTF8Width — Calcule la largeur de la chaîne donnée dans la police et la taille courante du texte
  • SWFText->getWidth — Calcule la largeur d'une chaîne
  • SWFText->moveTo — Déplace le stylo
  • SWFText->setColor — Définit la couleur courante du texte
  • SWFText->setFont — Définit la police courante
  • SWFText->setHeight — Définit la hauteur de la police courante
  • SWFText->setSpacing — Définit l'espacement de la police courante
SWFSprite->stopSound
SWFText->addString
Ming


Dessine une chaîne de caractères

SWFText
SWFText->addUTF8String
SWFText
PHP Manual

SWFText->addString

(PHP 4 >= 4.0.5)

SWFText->addString — Dessine une chaîne de caractères

Description

SWFText
void addString ( string $string )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftext->addstring() dessine la chaîne string à la position courante. Le stylo est à la position basse du texte ; i.e., le texte ascendant est dans la direction -y.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFText->addUTF8String

SWFText
SWFText->addUTF8String
SWFText


Écrit le texte donné dans l'objet SWFText à la position courante, en utilisant la police, la haute, l'espacement et la couleur courants

SWFText->addString
SWFText->__construct
SWFText
PHP Manual

SWFText->addUTF8String

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText->addUTF8String — Écrit le texte donné dans l'objet SWFText à la position courante, en utilisant la police, la haute, l'espacement et la couleur courants

Description

SWFText
void addUTF8String ( string $text )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFText->addString

SWFText->addString
SWFText->__construct
SWFText


Crée un nouvel objet SWFText

SWFText->addUTF8String
SWFText->getAscent
SWFText
PHP Manual

SWFText->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText->__construct — Crée un nouvel objet SWFText

Description

SWFText
void __construct ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel objet SWFText, prêt pour les manipulation.

Exemples

Cet exemple simple va écrire le gros texte jaune suivant : "PHP génère du flash avec Ming", sur fond blanc.

Exemple #1 Exemple avec swftext()

<?php
$f = new SWFFont("Techno.fdb");
$t = new SWFText();
$t->setFont($f);
$t->moveTo(200, 2400);
$t->setColor(0xff, 0xff, 0);
$t->setHeight(1200);
$t->addString("PHP génère du flash avec Ming");

$m = new SWFMovie();
$m->setDimension(5400, 3600);

$m->add($t);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

SWFText->addUTF8String
SWFText->getAscent
SWFText


Retourne la montée de la police courante à sa taille courante, ou 0 si elle n'est pas disponible

SWFText->__construct
SWFText->getDescent
SWFText
PHP Manual

SWFText->getAscent

(PHP 4 >= 4.0.5)

SWFText->getAscent — Retourne la montée de la police courante à sa taille courante, ou 0 si elle n'est pas disponible

Description

SWFText
float getAscent ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFText->getDescent

SWFText->__construct
SWFText->getDescent
SWFText


Retourne la descente de la police courante à sa taille courante, ou 0 si elle n'est pas disponible

SWFText->getAscent
SWFText->getLeading
SWFText
PHP Manual

SWFText->getDescent

(PHP 4 >= 4.0.5)

SWFText->getDescent — Retourne la descente de la police courante à sa taille courante, ou 0 si elle n'est pas disponible

Description

SWFText
float getDescent ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFText->getAscent

SWFText->getAscent
SWFText->getLeading
SWFText


Retourne l'interlignage de la police courante à sa taille courante, ou 0 s'il n'est pas disponible

SWFText->getDescent
SWFText->getUTF8Width
SWFText
PHP Manual

SWFText->getLeading

(PHP 4 >= 4.0.5)

SWFText->getLeading — Retourne l'interlignage de la police courante à sa taille courante, ou 0 s'il n'est pas disponible

Description

SWFText
float getLeading ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFText->getDescent
SWFText->getUTF8Width
SWFText


Calcule la largeur de la chaîne donnée dans la police et la taille courante du texte

SWFText->getLeading
SWFText->getWidth
SWFText
PHP Manual

SWFText->getUTF8Width

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFText->getUTF8Width — Calcule la largeur de la chaîne donnée dans la police et la taille courante du texte

Description

SWFText
float getUTF8Width ( string $string )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • SWFText->getWidth

SWFText->getLeading
SWFText->getWidth
SWFText


Calcule la largeur d'une chaîne

SWFText->getUTF8Width
SWFText->moveTo
SWFText
PHP Manual

SWFText->getWidth

(PHP 4 >= 4.0.5)

SWFText->getWidth — Calcule la largeur d'une chaîne

Description

SWFText
float getWidth ( string $string )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne la largeur de rendu de la chaîne string dans la police, l'échelle, l'espacement courante du texte.

Voir aussi

  • SWFText->getUTF8Width

SWFText->getUTF8Width
SWFText->moveTo
SWFText


Déplace le stylo

SWFText->getWidth
SWFText->setColor
SWFText
PHP Manual

SWFText->moveTo

(PHP 4 >= 4.0.5)

SWFText->moveTo — Déplace le stylo

Description

SWFText
void moveTo ( float $x , float $y )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftext->moveto() déplace le stylo (ou curseur) aux coordonnées x et y dans l'espace du texte. Si l'un des deux vaut 0, la valeur dans cette dimension reste la même. Ceci est ennuyeux et devrait être fixé.

Valeurs de retour

Aucune valeur n'est retournée.

SWFText->getWidth
SWFText->setColor
SWFText


Définit la couleur courante du texte

SWFText->moveTo
SWFText->setFont
SWFText
PHP Manual

SWFText->setColor

(PHP 4 >= 4.0.5)

SWFText->setColor — Définit la couleur courante du texte

Description

SWFText
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Modifie la couleur courante du texte.

Liste de paramètres

Ces paramètres sont des entiers dans l'intervalle 0 à 255 ou des hexadécimaux compris entre 0x00 et 0xFF :

red

Valeur du composant rouge

green

Valeur du composant vert

blue

Valeur du composant bleu

a

Valeur du composant alpha

Valeurs de retour

Aucune valeur n'est retournée.

SWFText->moveTo
SWFText->setFont
SWFText


Définit la police courante

SWFText->setColor
SWFText->setHeight
SWFText
PHP Manual

SWFText->setFont

(PHP 4 >= 4.0.5)

SWFText->setFont — Définit la police courante

Description

SWFText
void setFont ( SWFFont $font )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftext->setfont() définit la police courante à la police font donnée.

Valeurs de retour

Aucune valeur n'est retournée.

SWFText->setColor
SWFText->setHeight
SWFText


Définit la hauteur de la police courante

SWFText->setFont
SWFText->setSpacing
SWFText
PHP Manual

SWFText->setHeight

(PHP 4 >= 4.0.5)

SWFText->setHeight — Définit la hauteur de la police courante

Description

SWFText
void setHeight ( float $height )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftext->setheight() définit la hauteur de la police courante à height. Par défaut, vaut 240.

Valeurs de retour

Aucune valeur n'est retournée.

SWFText->setFont
SWFText->setSpacing
SWFText


Définit l'espacement de la police courante

SWFText->setHeight
SWFTextField
SWFText
PHP Manual

SWFText->setSpacing

(PHP 4 >= 4.0.5)

SWFText->setSpacing — Définit l'espacement de la police courante

Description

SWFText
void setSpacing ( float $spacing )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftext->setspacing() définit l'espacement de la police courante à spacing. Par défaut, vaut 1.0. O signifie que toutes les lettres seront écrites à la même position. Cela ne fonctionne pas vraiment car un léger avancement s'effectue au fil des lettres.

Valeurs de retour

Aucune valeur n'est retournée.

SWFText->setHeight
SWFTextField
SWFText


La classe SWFTextField

Introduction

SWFTextField.

Synopsis de la classe

SWFTextField
SWFTextField {
/* Méthodes */
void addChars ( string $chars )
void addString ( string $string )
void align ( int $alignement )
SWFTextField __construct ([ int $flags ] )
void setBounds ( float $width , float $height )
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
void setFont ( SWFFont $font )
void setHeight ( float $height )
void setIndentation ( float $width )
void setLeftMargin ( float $width )
void setLineSpacing ( float $height )
void setMargins ( float $left , float $right )
void setName ( string $name )
void setPadding ( float $padding )
void setRightMargin ( float $width )
}

Sommaire

  • SWFTextField->addChars — Ajoute les caractères à la police qui sera disponible dans le champ texte
  • SWFTextField->addString — Concatène la chaîne de caractères donnée avec le champ texte
  • SWFTextField->align — Définit l'alignement du champ texte
  • SWFTextField->__construct — Crée un objet champ de texte
  • SWFTextField->setBounds — Définit la hauteur et la largeur d'un champ texte
  • SWFTextField->setColor — Définit la couleur d'un champ texte
  • SWFTextField->setFont — Définit la police d'un champ texte
  • SWFTextField->setHeight — Définit la hauteur de la police d'un champ de texte
  • SWFTextField->setIndentation — Définit l'indentation de la première ligne
  • SWFTextField->setLeftMargin — Définit la largeur de la marge gauche d'un champ texte
  • SWFTextField->setLineSpacing — Définit l'espacement de ligne d'un champ texte
  • SWFTextField->setMargins — Définit la largeur des marges d'un champ texte
  • SWFTextField->setName — Définit le nom de la variable
  • SWFTextField->setPadding — Définit l'espacement interne d'un champ texte
  • SWFTextField->setRightMargin — Définit la largeur de la marge droite d'un champ texte
SWFText->setSpacing
SWFTextField->addChars
Ming


Ajoute les caractères à la police qui sera disponible dans le champ texte

SWFTextField
SWFTextField->addString
SWFTextField
PHP Manual

SWFTextField->addChars

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField->addChars — Ajoute les caractères à la police qui sera disponible dans le champ texte

Description

SWFTextField
void addChars ( string $chars )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SWFTextField->addString

SWFTextField
SWFTextField->addString
SWFTextField


Concatène la chaîne de caractères donnée avec le champ texte

SWFTextField->addChars
SWFTextField->align
SWFTextField
PHP Manual

SWFTextField->addString

(PHP 4 >= 4.0.5)

SWFTextField->addString — Concatène la chaîne de caractères donnée avec le champ texte

Description

SWFTextField
void addString ( string $string )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setname() concatène la chaîne de caractères string avec le champ texte.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->addChars
SWFTextField->align
SWFTextField


Définit l'alignement du champ texte

SWFTextField->addString
SWFTextField->__construct
SWFTextField
PHP Manual

SWFTextField->align

(PHP 4 >= 4.0.5)

SWFTextField->align — Définit l'alignement du champ texte

Description

SWFTextField
void align ( int $alignement )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->align() définit l'alignement du champ texte à alignement. Les valeurs valides pour alignement sont : SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT, SWFTEXTFIELD_ALIGN_CENTER and SWFTEXTFIELD_ALIGN_JUSTIFY.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->addString
SWFTextField->__construct
SWFTextField


Crée un objet champ de texte

SWFTextField->align
SWFTextField->setBounds
SWFTextField
PHP Manual

SWFTextField->__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField->__construct — Crée un objet champ de texte

Description

SWFTextField
SWFTextField __construct ([ int $flags ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield() crée un nouvel objet champ texte. Les champs de texte sont plus flexibles que les objets swftext() - ils ne peuvent pas être tourner, la mise à l'échelle n'est pas proportionnelle, etc. mais ils peuvent être utilisés en tant qu'entrées de formulaire et ils peuvent utiliser la police définie par le navigateur.

Les drapeaux optionnelles modifient le comportement du champ texte. Voici les valeurs possibles :

  • SWFTEXTFIELD_DRAWBOX - dessine la bordure du champ texte
  • SWFTEXTFIELD_HASLENGTH -
  • SWFTEXTFIELD_HTML - permet un balisage HTML du texte
  • SWFTEXTFIELD_MULTILINE - permet de multiple lignes
  • SWFTEXTFIELD_NOEDIT - indique que le champ ne peut être éditable par l'utilisateur
  • SWFTEXTFIELD_NOSELECT - rend le champ non sélectionnable
  • SWFTEXTFIELD_PASSWORD - cache les données entrées
  • SWFTEXTFIELD_WORDWRAP - permet au texte de revenir à ligne automatiquement
Les drapeaux sont combinables grâce à l'opérateur OR. Par exemple :
<?php
$t = newSWFTextField(SWFTEXTFIELD_PASSWORD | SWFTEXTFIELD_NOEDIT);
?>
crée un champ mot de passe non éditable.

SWFTextField a les méthode suivantes :
swftextfield->setfont(),
swftextfield->setbounds(),
swftextfield->align(),
swftextfield->setheight(),
swftextfield->setleftmargin(),
swftextfield->setrightmargin(),
swftextfield->setmargins(),
swftextfield->setindentation(),
swftextfield->setlinespacing(),
swftextfield->setcolor(),
swftextfield->setname() et
swftextfield->addstring().

SWFTextField->align
SWFTextField->setBounds
SWFTextField


Définit la hauteur et la largeur d'un champ texte

SWFTextField->__construct
SWFTextField->setColor
SWFTextField
PHP Manual

SWFTextField->setBounds

(PHP 4 >= 4.0.5)

SWFTextField->setBounds — Définit la hauteur et la largeur d'un champ texte

Description

SWFTextField
void setBounds ( float $width , float $height )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setbounds() définit la largeur d'un champ texte à width et sa hauteur à height. Si vous ne définissez pas ces valeurs vous-même, Ming tentera de deviner ces valeurs.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->__construct
SWFTextField->setColor
SWFTextField


Définit la couleur d'un champ texte

SWFTextField->setBounds
SWFTextField->setFont
SWFTextField
PHP Manual

SWFTextField->setColor

(PHP 4 >= 4.0.5)

SWFTextField->setColor — Définit la couleur d'un champ texte

Description

SWFTextField
void setColor ( int $red , int $green , int $blue [, int $a = 255 ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setcolor() définit la couleur d'un champ texte. Par défaut, c'est noir. La couleur est représenté en RVB.

Liste de paramètres

Ces paramètres sont des entiers compris entre 0 et 255, ou des hexadécimaux compris entre 0x00 et 0xFF :

red

Valeur du composant rouge

green

Valeur du composant vert

blue

Valeur du composant bleu

a

Valeur du composant alpha

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setBounds
SWFTextField->setFont
SWFTextField


Définit la police d'un champ texte

SWFTextField->setColor
SWFTextField->setHeight
SWFTextField
PHP Manual

SWFTextField->setFont

(PHP 4 >= 4.2.0)

SWFTextField->setFont — Définit la police d'un champ texte

Description

SWFTextField
void setFont ( SWFFont $font )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setfont() définit la police d'un champ texte à font.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setColor
SWFTextField->setHeight
SWFTextField


Définit la hauteur de la police d'un champ de texte

SWFTextField->setFont
SWFTextField->setIndentation
SWFTextField
PHP Manual

SWFTextField->setHeight

(PHP 4 >= 4.0.5)

SWFTextField->setHeight — Définit la hauteur de la police d'un champ de texte

Description

SWFTextField
void setHeight ( float $height )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setheight() définit la hauteur de la police d'un champ texte à height. Par défaut, vaut 240.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setFont
SWFTextField->setIndentation
SWFTextField


Définit l'indentation de la première ligne

SWFTextField->setHeight
SWFTextField->setLeftMargin
SWFTextField
PHP Manual

SWFTextField->setIndentation

(PHP 4 >= 4.0.5)

SWFTextField->setIndentation — Définit l'indentation de la première ligne

Description

SWFTextField
void setIndentation ( float $width )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setindentation() définit l'indentation de la première ligne d'un champ texte à width.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setHeight
SWFTextField->setLeftMargin
SWFTextField


Définit la largeur de la marge gauche d'un champ texte

SWFTextField->setIndentation
SWFTextField->setLineSpacing
SWFTextField
PHP Manual

SWFTextField->setLeftMargin

(PHP 4 >= 4.0.5)

SWFTextField->setLeftMargin — Définit la largeur de la marge gauche d'un champ texte

Description

SWFTextField
void setLeftMargin ( float $width )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setleftmargin() définit la largeur de la marge gauche d'un champ texte à width. Par défaut, vaut 0.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setIndentation
SWFTextField->setLineSpacing
SWFTextField


Définit l'espacement de ligne d'un champ texte

SWFTextField->setLeftMargin
SWFTextField->setMargins
SWFTextField
PHP Manual

SWFTextField->setLineSpacing

(PHP 4 >= 4.0.5)

SWFTextField->setLineSpacing — Définit l'espacement de ligne d'un champ texte

Description

SWFTextField
void setLineSpacing ( float $height )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setlinespacing() définit l'espacement de ligne d'un champ texte à une hauteur de height. Par défaut, vaut 40.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setLeftMargin
SWFTextField->setMargins
SWFTextField


Définit la largeur des marges d'un champ texte

SWFTextField->setLineSpacing
SWFTextField->setName
SWFTextField
PHP Manual

SWFTextField->setMargins

(PHP 4 >= 4.0.5)

SWFTextField->setMargins — Définit la largeur des marges d'un champ texte

Description

SWFTextField
void setMargins ( float $left , float $right )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setmargins() définit les marges d'un champ texte.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setLineSpacing
SWFTextField->setName
SWFTextField


Définit le nom de la variable

SWFTextField->setMargins
SWFTextField->setPadding
SWFTextField
PHP Manual

SWFTextField->setName

(PHP 4 >= 4.0.5)

SWFTextField->setName — Définit le nom de la variable

Description

SWFTextField
void setName ( string $name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setname() définit le nom de la variable d'un champ texte à name, pour l'envoi du formulaire et les diverses actions des scripts.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setMargins
SWFTextField->setPadding
SWFTextField


Définit l'espacement interne d'un champ texte

SWFTextField->setName
SWFTextField->setRightMargin
SWFTextField
PHP Manual

SWFTextField->setPadding

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFTextField->setPadding — Définit l'espacement interne d'un champ texte

Description

SWFTextField
void setPadding ( float $padding )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setName
SWFTextField->setRightMargin
SWFTextField


Définit la largeur de la marge droite d'un champ texte

SWFTextField->setPadding
SWFVideoStream
SWFTextField
PHP Manual

SWFTextField->setRightMargin

(PHP 4 >= 4.0.5)

SWFTextField->setRightMargin — Définit la largeur de la marge droite d'un champ texte

Description

SWFTextField
void setRightMargin ( float $width )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

swftextfield->setrightmargin() définit la largeur de la marge droite d'un champ texte à width. Par défaut, vaut 0.

Valeurs de retour

Aucune valeur n'est retournée.

SWFTextField->setPadding
SWFVideoStream
SWFTextField


La classe SWFVideoStream

Introduction

SWFVideoStream.

Synopsis de la classe

SWFVideoStream
SWFVideoStream {
/* Méthodes */
SWFVideoStream __construct ([ string $file ] )
int getNumFrames ( void )
void setDimension ( int $x , int $y )
}

Sommaire

  • SWFVideoStream->__construct — Retourne un objet SWFVideoStream
  • SWFVideoStream->getNumFrames — Retourne le nombre de frames d'une vidéo
  • SWFVideoStream->setDimension — Définit les dimensions d'une vidéo
SWFTextField->setRightMargin
SWFVideoStream->__construct
Ming


Retourne un objet SWFVideoStream

SWFVideoStream
SWFVideoStream->getNumFrames
SWFVideoStream
PHP Manual

SWFVideoStream->__construct

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream->__construct — Retourne un objet SWFVideoStream

Description

SWFVideoStream
SWFVideoStream __construct ([ string $file ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

SWFVideoStream
SWFVideoStream->getNumFrames
SWFVideoStream


Retourne le nombre de frames d'une vidéo

SWFVideoStream->__construct
SWFVideoStream->setDimension
SWFVideoStream
PHP Manual

SWFVideoStream->getNumFrames

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream->getNumFrames — Retourne le nombre de frames d'une vidéo

Description

SWFVideoStream
int getNumFrames ( void )

Cette fonction retourne le nombre de frames d'un SWFVideoStream.

Valeurs de retour

Retourne le nombre de frames, sous la forme d'un entier.

SWFVideoStream->__construct
SWFVideoStream->setDimension
SWFVideoStream


Définit les dimensions d'une vidéo

SWFVideoStream->getNumFrames
PDF
SWFVideoStream
PHP Manual

SWFVideoStream->setDimension

(PHP 5.0.5-5.3.0, PECL ming SVN)

SWFVideoStream->setDimension — Définit les dimensions d'une vidéo

Description

SWFVideoStream
void setDimension ( int $x , int $y )

Définit la hauteur et la largeur d'une vidéo.

Liste de paramètres

x

Largeur, en pixels.

y

Hauteur, en pixels.

Valeurs de retour

Aucune valeur n'est retournée.

SWFVideoStream->getNumFrames
PDF
SWFVideoStream


PDF

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemples d'utilisation
  • Fonctions PDF
    • PDF_activate_item — Active un élément de structure ou un autre élément de contenu
    • PDF_add_annotation — [Obsolète] Ajoute une annotation
    • PDF_add_bookmark — [Obsolète] Ajoute un signet dans la page courante
    • PDF_add_launchlink — [Obsolète] Ajoute une annotation de lancement dans la page PDF courante
    • PDF_add_locallink — [Obsolète] Ajoute une annotation de lien dans la page PDF courante
    • PDF_add_nameddest — Crée une destination nommée
    • PDF_add_note — [Obsolète] Ajoute une annotation dans la page PDF courante
    • PDF_add_outline — [Obsolète] Ajoute un signet dans la page courante
    • PDF_add_pdflink — [Obsolète] Ajoute une annotation sur un lien vers un fichier dans la page PDF courante
    • PDF_add_table_cell — Ajoute une cellule à un nouveau tableau ou un tableau existant
    • PDF_add_textflow — Crée un flux de texte ou ajoute du texte à un flux de texte existant
    • PDF_add_thumbnail — [Obsolète] Ajoute une miniature sur la page PDF courante
    • PDF_add_weblink — [Obsolète] Ajoute un lien web sur la page PDF courante
    • PDF_arc — Dessine un arc de cercle PDF dans le sens anti-horaire
    • PDF_arcn — Dessine un arc de cercle dans le sens horaire
    • PDF_attach_file — [Obsolète] Ajoute un fichier attaché à la page PDF
    • PDF_begin_document — Crée un nouveau fichier PDF
    • PDF_begin_font — Commence une définition de police de type 3
    • PDF_begin_glyph — Commence une définition de glyphe pour les polices de type 3
    • PDF_begin_item — Ouvre un élément de structure ou un autre élément de contenu
    • PDF_begin_layer — Commence une interface
    • PDF_begin_page_ext — Ajoute une nouvelle page PDF
    • PDF_begin_page — [Obsolète] Initialise une nouvelle page de document PDF
    • PDF_begin_pattern — Initialise un nouveau pattern PDF
    • PDF_begin_template_ext — Commence une définition de gabarit PDF
    • PDF_begin_template — Initialise un nouveau gabarit PDF (obsolète)
    • PDF_circle — Dessine un cercle dans un document PDF
    • PDF_clip — Modifie le chemin de clipping PDF
    • PDF_close_image — Ferme une image dans un document PDF
    • PDF_close_pdi_page — Ferme la page PDF
    • PDF_close_pdi — Ferme le fichier PDF d'entrée (obsolète)
    • PDF_close — [Obsolète] Ferme le fichier PDF
    • PDF_closepath_fill_stroke — Termine le chemin, dessine les bords et remplit la forme
    • PDF_closepath_stroke — Termine le chemin et dessine les bords
    • PDF_closepath — Termine le chemin PDF courant
    • PDF_concat — Concatène une matrice avec le CTM
    • PDF_continue_text — Affiche du texte à la prochaine ligne PDF
    • PDF_create_3dview — Crée une vue 3D
    • PDF_create_action — Crée une action pour des objets ou des événements
    • PDF_create_annotation — Crée une annotation rectangulaire
    • PDF_create_bookmark — Crée un signet
    • PDF_create_field — Crée un champ de formulaire
    • PDF_create_fieldgroup — Crée un groupe de champs dans un formulaire
    • PDF_create_gstate — Crée un objet graphique
    • PDF_create_pvf — Crée un fichier PDFlib virtuel
    • PDF_create_textflow — Crée un objet de flux de texte
    • PDF_curveto — Dessine une courbe de Bezier
    • PDF_define_layer — Crée une définition d'interface
    • PDF_delete_pvf — Efface un fichier virtuel PDFlib
    • PDF_delete_table — Efface un tableau
    • PDF_delete_textflow — Efface un objet de flux de texte
    • PDF_delete — Efface un objet PDF
    • PDF_encoding_set_char — Ajoute un nom de glyphe et/ou une valeur Unicode
    • PDF_end_document — Ferme un fichier PDF
    • PDF_end_font — Termine une définition de police de type 3
    • PDF_end_glyph — Termine la définition d'un glyphe pour les polices de type 3
    • PDF_end_item — Ferme la structure d'un élément ou un autre élément de contenu
    • PDF_end_layer — Désactive toutes les interfaces actives
    • PDF_end_page_ext — Termine une page
    • PDF_end_page — Termine la page PDF courante
    • PDF_end_pattern — Termine le pattern PDF
    • PDF_end_template — Termine le gabarit PDF
    • PDF_endpath — Termine le chemin courant
    • PDF_fill_imageblock — Remplit un bloc d'image avec des données variables
    • PDF_fill_pdfblock — Remplit un bloc de contenu avec des données variables
    • PDF_fill_stroke — Remplit et passe le pinceau sur le chemin PDF courant
    • PDF_fill_textblock — Remplit un bloc de texte avec des données variables
    • PDF_fill — Remplit le chemin PDF courant avec la couleur courante
    • PDF_findfont — [Obsolète] Prépare une police pour utilisation ultérieure
    • PDF_fit_image — Place une image ou un gabarit PDF
    • PDF_fit_pdi_page — Place une page PDF importée
    • PDF_fit_table — Place un tableau sur la page
    • PDF_fit_textflow — Formate un flux de texte dans un espace rectangulaire
    • PDF_fit_textline — Place un simple ligne de texte
    • PDF_get_apiname — Récupère le nom d'une fonction de l'API qui a échouée
    • PDF_get_buffer — Lit le tampon contenant le fichier PDF généré
    • PDF_get_errmsg — Récupère le texte d'une erreur
    • PDF_get_errnum — Récupère un numéro d'erreur
    • PDF_get_font — [Obsolète] Charge une police
    • PDF_get_fontname — [Obsolète] Lit le nom de la police
    • PDF_get_fontsize — [Obsolète] Gère les polices
    • PDF_get_image_height — [Obsolète] Retourne la hauteur d'une image
    • PDF_get_image_width — [Obsolète] Retourne la largeur d'une image
    • PDF_get_majorversion — [Obsolète] Retourne le numéro de version majeur de PDFlib
    • PDF_get_minorversion — [Obsolète] Retourne le numéro de version mineure de PDFlib
    • PDF_get_parameter — Lit certains paramètres
    • PDF_get_pdi_parameter — Lit des paramètres textuels dans le document PDI (obsolète)
    • PDF_get_pdi_value — Lit des paramètres numériques dans le document PDF d'entrée (obsolète)
    • PDF_get_value — Lit certains paramètres numériques
    • PDF_info_font — Récupère des informations détaillées sur une police chargée
    • PDF_info_matchbox — Récupère les informations d'une boîte
    • PDF_info_table — Récupère les informations d'un tableau
    • PDF_info_textflow — Récupère le statut d'un flux de texte
    • PDF_info_textline — Effectue le formatage d'une ligne de texte et récupère la matrice
    • PDF_initgraphics — Remet à zéro l'environnement graphique PDF
    • PDF_lineto — Dessine une ligne PDF
    • PDF_load_3ddata — Charge un modèle 3D
    • PDF_load_font — Cherche et prépare une police
    • PDF_load_iccprofile — Cherche et prépare un profile ICC
    • PDF_load_image — Ouvre un fichier image
    • PDF_makespotcolor — Place un point de couleur PDF
    • PDF_moveto — Place le point courant PDF
    • PDF_new — Crée un nouvel objet PDF
    • PDF_open_ccitt — [Obsolète] Ouvre une image contenant des données brutes CCITT
    • PDF_open_file — [Obsolète] Ouvre un nouveau fichier PDF
    • PDF_open_gif — [Obsolète] Ouvre une image GIF
    • PDF_open_image_file — [Obsolète] Lit une image depuis un fichier
    • PDF_open_image — [Obsolète] Ouvre une image
    • PDF_open_jpeg — [Obsolète] Ouvre une image JPEG
    • PDF_open_memory_image — [Non supporté] Ouvre une image créée en mémoire par PHP
    • PDF_open_pdi_page — Prépare une page
    • PDF_open_pdi — Ouvre un fichier PDF (obsolète)
    • PDF_open_tiff — [Obsolète] Ouvre une image TIFF
    • PDF_pcos_get_number — Récupère la valeur du chemin pCOS
    • PDF_pcos_get_stream — Récupère le contenu du chemin pCOS
    • PDF_pcos_get_string — Récupère la valeur du chemin pCOS
    • PDF_place_image — [Obsolète] Place une image dans la page
    • PDF_place_pdi_page — [Obsolète] Place une page dans le document
    • PDF_process_pdi — Traite un document PDF importé
    • PDF_rect — Dessine un rectangle
    • PDF_restore — Rétablit l'ancien environnement graphique PDF
    • PDF_resume_page — Réouvre une page
    • PDF_rotate — Configure la rotation
    • PDF_save — Sauve l'environnement graphique courant
    • PDF_scale — Configure l'échelle du document
    • PDF_set_border_color — [Obsolète] Configure la couleur des bords autour des liens et annotations
    • PDF_set_border_dash — [Obsolète] Configure le style des lignes autour des liens des annotations
    • PDF_set_border_style — [Obsolète] Choisit le style de bord autour des liens et annotations
    • PDF_set_char_spacing — [Obsolète] Configure l'espacement des caractères
    • PDF_set_duration — [Obsolète] Configure la durée entre deux pages
    • PDF_set_gstate — Active un objet graphique
    • PDF_set_horiz_scaling — [Obsolète] Configure l'échelle horizontale du texte
    • PDF_set_info_author — [Obsolète] Remplit le champ d'auteur du document
    • PDF_set_info_creator — [Obsolète] Remplit le champ de créateur du document
    • PDF_set_info_keywords — [Obsolète] Remplit le champ de mots-clés du document
    • PDF_set_info_subject — [Obsolète] Remplit le champ de sujet du document
    • PDF_set_info_title — [Obsolète] Remplit le champ de titre du document
    • PDF_set_info — Remplit un champ de l'en-tête de document PDF
    • PDF_set_layer_dependency — Définit les liens entre les interfaces
    • PDF_set_leading — [Obsolète] Configure la distance entre deux lignes de texte
    • PDF_set_parameter — Modifie certains paramètres
    • PDF_set_text_matrix — [Obsolète] Configure la matrice de texte
    • PDF_set_text_pos — Modifie la position du texte
    • PDF_set_text_rendering — [Obsolète] Détermine le rendu du texte
    • PDF_set_text_rise — [Obsolète] Configure l'élévation de texte
    • PDF_set_value — Modifie certains paramètres numériques
    • PDF_set_word_spacing — [Obsolète] Configure l'espace entre deux mots
    • PDF_setcolor — Configure la couleur de dessin et de remplissage
    • PDF_setdash — Configure le mode de pointillé
    • PDF_setdashpattern — Définit un modèle de masque
    • PDF_setflat — Configure la position à plat (flatness)
    • PDF_setfont — Configure la police courante
    • PDF_setgray_fill — [Obsolète] Configure la couleur de remplissage à un niveau de gris
    • PDF_setgray_stroke — [Obsolète] Configure la couleur de dessin à un niveau de gris
    • PDF_setgray — [Obsolète] Configure la couleur de dessin et de remplissage à un niveau de gris
    • PDF_setlinecap — Configure le paramètre de linecap
    • PDF_setlinejoin — Configure le paramètre de linejoin
    • PDF_setlinewidth — Configure la largeur de ligne
    • PDF_setmatrix — Configure la matrice de transformation
    • PDF_setmiterlimit — Configure la "miter limit"
    • PDF_setpolydash — [Obsolète] Configure des pointillés complexes
    • PDF_setrgbcolor_fill — [Obsolète] Choisit la couleur utilisée pour le remplissage
    • PDF_setrgbcolor_stroke — [Obsolète] Choisit la couleur utilisée pour le dessin
    • PDF_setrgbcolor — [Obsolète] Choisit la couleur rgb de remplissage et de dessin
    • PDF_shading_pattern — Définit un masque d'ombrage
    • PDF_shading — Définit un dégradé
    • PDF_shfill — Remplit un espace avec un dégradé
    • PDF_show_boxed — [Obsolète] Affiche le texte dans un cadre
    • PDF_show_xy — Affiche un texte à une position donnée
    • PDF_show — Affiche le texte à la position courante
    • PDF_skew — Incline le système de coordonnées
    • PDF_stringwidth — Retourne la largeur d'un texte avec la police courante
    • PDF_stroke — Dessine la ligne le long du chemin
    • PDF_suspend_page — Suspend une page
    • PDF_translate — Effectue une translation de l'origine du système de coordonnées
    • PDF_utf16_to_utf8 — Convertit une chaîne UTF-16 en UTF-8
    • PDF_utf32_to_utf16 — Convertie une chaîne UTF-32 en UTF-16
    • PDF_utf8_to_utf16 — Convertit une chaîne UTF-8 en UTF-16
SWFVideoStream->setDimension
Introduction
Affichage des données non-textuelles


Introduction

Les fonctions PDF, en PHP, peuvent créer des fichiers PDF en utilisant la bibliothèque PDFlib, qui a été créée initialement par Thomas Merz et est actuellement maintenu par » PDFlib GmbH.

La documentation de cette section n'est destinée qu'à être un aperçu des fonctions disponibles de la bibliothèque PDFlib et ne doit pas être considérée comme exhaustive. Pour une description complète et détaillée de chaque fonction, consultez le manuel de référence de PDFlib qui est inclu dans tous les paquets PDFlib, distribués par PDFlib GmbH. Il propose une bonne approche sur les capacités de PDFlib et contient la documentation la plus à jour de toutes les fonctions.

Pour commencer rapidement, nous vous proposons de regarder les exemples qui se trouvent dans le paquet PDFlib. Ces exemples montrent l'affichage de textes simples, de vecteurs et de graphiques, mais aussi une utilisation des fonctions haut-niveaux, comme l'importation simplifiée de PDF (PDI).

Toutes les fonctions de la PDFlib et du module PHP ont le même nom ainsi que les mêmes paramètres. Tant que vous ne l'avez pas configuré autrement, toutes les coordonnées sont mesurées en points PostScript. Il y a, en général, 73 points PostScript dans un pouce, mais cela dépend de la résolution de l'affichage. Reportez-vous au manuel de référence PDFlib inclus dans le paquet PDFlib pour une plus large explication concernant le système utilisé pour les coordonnées.

Avec la version 6, PDFlib offre une API orientée objet pour PHP 5 en plus d'une API procédurale pour PHP 4. La principale différence est :

En PHP 4, tout d'abors, une ressource PDF doit avoir été récupérée avec une fonction comme

$p = PDF_new().

Cette ressource PDF est utilisée comme premier paramètre dans toutes les autres fonctions, comme

PDF_begin_document($p, "", "").

Cependant, en PHP 5, un objet PDFlib est créé avec

$p = new PDFlib().

Cet objet offre toutes les fonctions de l'API comme méthodes, e.g.

$p->begin_document("", "").

De plus, les exceptions ont été introduites en PHP 5, et sont supportées par PDFlib 6 et supérieur.

Reportez-vous aux exemples ci-dessous pour plus d'informations.

Note: Si vous êtes intéressé par un générateur de PDF libre qui n'utilisent pas de bibliothèques externes PDF, reportez-vous à cette section de la foire aux question.

PDF
Installation/Configuration
PDF


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
PDF


Pré-requis

PDFlib Lite est disponible en tant que projet open source. Cependant, la licence PDFlib Lite vous autorise une utilisation libre que sous certaines conditions. PDFlib Lite supporte une partie des fonctionnalités de PDFlib ; reportez-vous au site web de PDFlib pour plus de détails. La version complète de PDFlib est disponible en téléchargement sur » http://www.pdflib.com/products/pdflib-family/, mais nécessite l'achat d'une licence commerciale pour l'utiliser.

Problèmes avec les anciennes versions de PDFlib

Toutes les versions de PHP 4 avant le 9 Mars 2000 ne supportent pas les version de PDFlib plus anciennes que la version 3.0.

PDFlib 4.0 ou supérieure est supportée par PHP 4.3.0 et suivant.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/pdflib.

Pour inclure le support de la PDFlib dans votre PHP < 4.3.9, il faut compiler PHP avec l'option --with-pdflib[=DIR]. DIR est le dossier d'installation de PDFlib et, par défaut, il vaut /usr/local.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

PDF_new() crée un nouvel objet PDFlib, nécessaire à la plupart des fonctions.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
PDF


Exemples

Sommaire

  • Exemples d'utilisation
Constantes pré-définies
Exemples d'utilisation
PDF


Exemples d'utilisation

La plupart des fonctions est simple d'utilisation. La difficulté réside probablement dans la création de votre premier document PDF. L'exemple suivant devrait vous aider à commencer. Il est développé pour PHP 4 et crée le fichier hello.pdf contenant une seule page. Il crée quelques contenus, charge la police Helvetica-Bold et affiche le texte "Bonjour le monde ! (dit PHP)".

Exemple #1 Exemple issu de la distribution PDFlib pour PHP 4

<?php
$p = PDF_new();

/*  ouvre un nouveau fichier PDF ; insert un nom de fichier pour créer le PDF sur le disque */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Bonjour le monde (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hello world!");
PDF_continue_text($p, "(dit PHP)");
PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;

PDF_delete($p);
?>

L'exmemple suivant provient du paquet PDFlib de PHP 5. Il utilise le nouveau gestionnaire d'exception ainsi que la fonctionnalité d'embarquement d'objets, disponible en PHP 5. Il crée un fichier hello.pdf sur une page. Il crée quelques contenus, charge la police Helvetica-Bold et affiche le texte "Bonjour le monde ! (dit PHP)".

Exemple #2 Exemple issu de la distribution PDFlib pour PHP 5

<?php

try {
    $p = new PDFlib();

    /*  ouvre un nouveau fichier PDF ; insert un nom de fichier pour créer le PDF sur le disque */
    if ($p->begin_document("", "") == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->set_info("Creator", "hello.php");
    $p->set_info("Author", "Rainer Schaaf");
    $p->set_info("Title", "Bonjour le monde (PHP)!");

    $p->begin_page_ext(595, 842, "");

    $font = $p->load_font("Helvetica-Bold", "winansi", "");

    $p->setfont($font, 24.0);
    $p->set_text_pos(50, 700);
    $p->show("Hello world!");
    $p->continue_text("(dit PHP)");
    $p->end_page_ext("");

    $p->end_document("");

    $buf = $p->get_buffer();
    $len = strlen($buf);

    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hello.pdf");
    print $buf;
}
catch (PDFlibException $e) {
    die("PDFlib exception occurred in hello sample:\n" .
    "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    $e->get_errmsg() . "\n");
}
catch (Exception $e) {
    die($e);
}
$p = 0;
?>

Exemples
Fonctions PDF
Exemples


Fonctions PDF

Remarque sur les fonctions obsolètes de la PDFlib

Depuis PHP 4.0.5, l'extension PHP pour la PDFlib est officiellement supportée par PDFlib GmbH. Cela signifie que toutes les fonctions décrites dans le manuel de référence de la PDFlib (PDFlib V3.0 ou supérieur) sont supportées par PHP 4 avec exactement la même signification et les mêmes paramètres. Cependant, avec la PDFlib V5.0.4 ou supérieure, tous les paramètres doivent être spécifiés. Pour des raisons de compatibilité, l'implémentation de la PDFlib supporte la plupart des fonctions obsolètes, mais elles doivent être remplacées par leur nouvelle version. PDFlib GmbH ne fournira aucun support pour les problèmes survenant lors de l'utilisation de ces fonctions obsolètes. La documentation de cette section indique les anciennes fonctions comme "obsolètes" et donne la fonction qui doit être utilisée à la place.

Sommaire

  • PDF_activate_item — Active un élément de structure ou un autre élément de contenu
  • PDF_add_annotation — [Obsolète] Ajoute une annotation
  • PDF_add_bookmark — [Obsolète] Ajoute un signet dans la page courante
  • PDF_add_launchlink — [Obsolète] Ajoute une annotation de lancement dans la page PDF courante
  • PDF_add_locallink — [Obsolète] Ajoute une annotation de lien dans la page PDF courante
  • PDF_add_nameddest — Crée une destination nommée
  • PDF_add_note — [Obsolète] Ajoute une annotation dans la page PDF courante
  • PDF_add_outline — [Obsolète] Ajoute un signet dans la page courante
  • PDF_add_pdflink — [Obsolète] Ajoute une annotation sur un lien vers un fichier dans la page PDF courante
  • PDF_add_table_cell — Ajoute une cellule à un nouveau tableau ou un tableau existant
  • PDF_add_textflow — Crée un flux de texte ou ajoute du texte à un flux de texte existant
  • PDF_add_thumbnail — [Obsolète] Ajoute une miniature sur la page PDF courante
  • PDF_add_weblink — [Obsolète] Ajoute un lien web sur la page PDF courante
  • PDF_arc — Dessine un arc de cercle PDF dans le sens anti-horaire
  • PDF_arcn — Dessine un arc de cercle dans le sens horaire
  • PDF_attach_file — [Obsolète] Ajoute un fichier attaché à la page PDF
  • PDF_begin_document — Crée un nouveau fichier PDF
  • PDF_begin_font — Commence une définition de police de type 3
  • PDF_begin_glyph — Commence une définition de glyphe pour les polices de type 3
  • PDF_begin_item — Ouvre un élément de structure ou un autre élément de contenu
  • PDF_begin_layer — Commence une interface
  • PDF_begin_page_ext — Ajoute une nouvelle page PDF
  • PDF_begin_page — [Obsolète] Initialise une nouvelle page de document PDF
  • PDF_begin_pattern — Initialise un nouveau pattern PDF
  • PDF_begin_template_ext — Commence une définition de gabarit PDF
  • PDF_begin_template — Initialise un nouveau gabarit PDF (obsolète)
  • PDF_circle — Dessine un cercle dans un document PDF
  • PDF_clip — Modifie le chemin de clipping PDF
  • PDF_close_image — Ferme une image dans un document PDF
  • PDF_close_pdi_page — Ferme la page PDF
  • PDF_close_pdi — Ferme le fichier PDF d'entrée (obsolète)
  • PDF_close — [Obsolète] Ferme le fichier PDF
  • PDF_closepath_fill_stroke — Termine le chemin, dessine les bords et remplit la forme
  • PDF_closepath_stroke — Termine le chemin et dessine les bords
  • PDF_closepath — Termine le chemin PDF courant
  • PDF_concat — Concatène une matrice avec le CTM
  • PDF_continue_text — Affiche du texte à la prochaine ligne PDF
  • PDF_create_3dview — Crée une vue 3D
  • PDF_create_action — Crée une action pour des objets ou des événements
  • PDF_create_annotation — Crée une annotation rectangulaire
  • PDF_create_bookmark — Crée un signet
  • PDF_create_field — Crée un champ de formulaire
  • PDF_create_fieldgroup — Crée un groupe de champs dans un formulaire
  • PDF_create_gstate — Crée un objet graphique
  • PDF_create_pvf — Crée un fichier PDFlib virtuel
  • PDF_create_textflow — Crée un objet de flux de texte
  • PDF_curveto — Dessine une courbe de Bezier
  • PDF_define_layer — Crée une définition d'interface
  • PDF_delete_pvf — Efface un fichier virtuel PDFlib
  • PDF_delete_table — Efface un tableau
  • PDF_delete_textflow — Efface un objet de flux de texte
  • PDF_delete — Efface un objet PDF
  • PDF_encoding_set_char — Ajoute un nom de glyphe et/ou une valeur Unicode
  • PDF_end_document — Ferme un fichier PDF
  • PDF_end_font — Termine une définition de police de type 3
  • PDF_end_glyph — Termine la définition d'un glyphe pour les polices de type 3
  • PDF_end_item — Ferme la structure d'un élément ou un autre élément de contenu
  • PDF_end_layer — Désactive toutes les interfaces actives
  • PDF_end_page_ext — Termine une page
  • PDF_end_page — Termine la page PDF courante
  • PDF_end_pattern — Termine le pattern PDF
  • PDF_end_template — Termine le gabarit PDF
  • PDF_endpath — Termine le chemin courant
  • PDF_fill_imageblock — Remplit un bloc d'image avec des données variables
  • PDF_fill_pdfblock — Remplit un bloc de contenu avec des données variables
  • PDF_fill_stroke — Remplit et passe le pinceau sur le chemin PDF courant
  • PDF_fill_textblock — Remplit un bloc de texte avec des données variables
  • PDF_fill — Remplit le chemin PDF courant avec la couleur courante
  • PDF_findfont — [Obsolète] Prépare une police pour utilisation ultérieure
  • PDF_fit_image — Place une image ou un gabarit PDF
  • PDF_fit_pdi_page — Place une page PDF importée
  • PDF_fit_table — Place un tableau sur la page
  • PDF_fit_textflow — Formate un flux de texte dans un espace rectangulaire
  • PDF_fit_textline — Place un simple ligne de texte
  • PDF_get_apiname — Récupère le nom d'une fonction de l'API qui a échouée
  • PDF_get_buffer — Lit le tampon contenant le fichier PDF généré
  • PDF_get_errmsg — Récupère le texte d'une erreur
  • PDF_get_errnum — Récupère un numéro d'erreur
  • PDF_get_font — [Obsolète] Charge une police
  • PDF_get_fontname — [Obsolète] Lit le nom de la police
  • PDF_get_fontsize — [Obsolète] Gère les polices
  • PDF_get_image_height — [Obsolète] Retourne la hauteur d'une image
  • PDF_get_image_width — [Obsolète] Retourne la largeur d'une image
  • PDF_get_majorversion — [Obsolète] Retourne le numéro de version majeur de PDFlib
  • PDF_get_minorversion — [Obsolète] Retourne le numéro de version mineure de PDFlib
  • PDF_get_parameter — Lit certains paramètres
  • PDF_get_pdi_parameter — Lit des paramètres textuels dans le document PDI (obsolète)
  • PDF_get_pdi_value — Lit des paramètres numériques dans le document PDF d'entrée (obsolète)
  • PDF_get_value — Lit certains paramètres numériques
  • PDF_info_font — Récupère des informations détaillées sur une police chargée
  • PDF_info_matchbox — Récupère les informations d'une boîte
  • PDF_info_table — Récupère les informations d'un tableau
  • PDF_info_textflow — Récupère le statut d'un flux de texte
  • PDF_info_textline — Effectue le formatage d'une ligne de texte et récupère la matrice
  • PDF_initgraphics — Remet à zéro l'environnement graphique PDF
  • PDF_lineto — Dessine une ligne PDF
  • PDF_load_3ddata — Charge un modèle 3D
  • PDF_load_font — Cherche et prépare une police
  • PDF_load_iccprofile — Cherche et prépare un profile ICC
  • PDF_load_image — Ouvre un fichier image
  • PDF_makespotcolor — Place un point de couleur PDF
  • PDF_moveto — Place le point courant PDF
  • PDF_new — Crée un nouvel objet PDF
  • PDF_open_ccitt — [Obsolète] Ouvre une image contenant des données brutes CCITT
  • PDF_open_file — [Obsolète] Ouvre un nouveau fichier PDF
  • PDF_open_gif — [Obsolète] Ouvre une image GIF
  • PDF_open_image_file — [Obsolète] Lit une image depuis un fichier
  • PDF_open_image — [Obsolète] Ouvre une image
  • PDF_open_jpeg — [Obsolète] Ouvre une image JPEG
  • PDF_open_memory_image — [Non supporté] Ouvre une image créée en mémoire par PHP
  • PDF_open_pdi_page — Prépare une page
  • PDF_open_pdi — Ouvre un fichier PDF (obsolète)
  • PDF_open_tiff — [Obsolète] Ouvre une image TIFF
  • PDF_pcos_get_number — Récupère la valeur du chemin pCOS
  • PDF_pcos_get_stream — Récupère le contenu du chemin pCOS
  • PDF_pcos_get_string — Récupère la valeur du chemin pCOS
  • PDF_place_image — [Obsolète] Place une image dans la page
  • PDF_place_pdi_page — [Obsolète] Place une page dans le document
  • PDF_process_pdi — Traite un document PDF importé
  • PDF_rect — Dessine un rectangle
  • PDF_restore — Rétablit l'ancien environnement graphique PDF
  • PDF_resume_page — Réouvre une page
  • PDF_rotate — Configure la rotation
  • PDF_save — Sauve l'environnement graphique courant
  • PDF_scale — Configure l'échelle du document
  • PDF_set_border_color — [Obsolète] Configure la couleur des bords autour des liens et annotations
  • PDF_set_border_dash — [Obsolète] Configure le style des lignes autour des liens des annotations
  • PDF_set_border_style — [Obsolète] Choisit le style de bord autour des liens et annotations
  • PDF_set_char_spacing — [Obsolète] Configure l'espacement des caractères
  • PDF_set_duration — [Obsolète] Configure la durée entre deux pages
  • PDF_set_gstate — Active un objet graphique
  • PDF_set_horiz_scaling — [Obsolète] Configure l'échelle horizontale du texte
  • PDF_set_info_author — [Obsolète] Remplit le champ d'auteur du document
  • PDF_set_info_creator — [Obsolète] Remplit le champ de créateur du document
  • PDF_set_info_keywords — [Obsolète] Remplit le champ de mots-clés du document
  • PDF_set_info_subject — [Obsolète] Remplit le champ de sujet du document
  • PDF_set_info_title — [Obsolète] Remplit le champ de titre du document
  • PDF_set_info — Remplit un champ de l'en-tête de document PDF
  • PDF_set_layer_dependency — Définit les liens entre les interfaces
  • PDF_set_leading — [Obsolète] Configure la distance entre deux lignes de texte
  • PDF_set_parameter — Modifie certains paramètres
  • PDF_set_text_matrix — [Obsolète] Configure la matrice de texte
  • PDF_set_text_pos — Modifie la position du texte
  • PDF_set_text_rendering — [Obsolète] Détermine le rendu du texte
  • PDF_set_text_rise — [Obsolète] Configure l'élévation de texte
  • PDF_set_value — Modifie certains paramètres numériques
  • PDF_set_word_spacing — [Obsolète] Configure l'espace entre deux mots
  • PDF_setcolor — Configure la couleur de dessin et de remplissage
  • PDF_setdash — Configure le mode de pointillé
  • PDF_setdashpattern — Définit un modèle de masque
  • PDF_setflat — Configure la position à plat (flatness)
  • PDF_setfont — Configure la police courante
  • PDF_setgray_fill — [Obsolète] Configure la couleur de remplissage à un niveau de gris
  • PDF_setgray_stroke — [Obsolète] Configure la couleur de dessin à un niveau de gris
  • PDF_setgray — [Obsolète] Configure la couleur de dessin et de remplissage à un niveau de gris
  • PDF_setlinecap — Configure le paramètre de linecap
  • PDF_setlinejoin — Configure le paramètre de linejoin
  • PDF_setlinewidth — Configure la largeur de ligne
  • PDF_setmatrix — Configure la matrice de transformation
  • PDF_setmiterlimit — Configure la "miter limit"
  • PDF_setpolydash — [Obsolète] Configure des pointillés complexes
  • PDF_setrgbcolor_fill — [Obsolète] Choisit la couleur utilisée pour le remplissage
  • PDF_setrgbcolor_stroke — [Obsolète] Choisit la couleur utilisée pour le dessin
  • PDF_setrgbcolor — [Obsolète] Choisit la couleur rgb de remplissage et de dessin
  • PDF_shading_pattern — Définit un masque d'ombrage
  • PDF_shading — Définit un dégradé
  • PDF_shfill — Remplit un espace avec un dégradé
  • PDF_show_boxed — [Obsolète] Affiche le texte dans un cadre
  • PDF_show_xy — Affiche un texte à une position donnée
  • PDF_show — Affiche le texte à la position courante
  • PDF_skew — Incline le système de coordonnées
  • PDF_stringwidth — Retourne la largeur d'un texte avec la police courante
  • PDF_stroke — Dessine la ligne le long du chemin
  • PDF_suspend_page — Suspend une page
  • PDF_translate — Effectue une translation de l'origine du système de coordonnées
  • PDF_utf16_to_utf8 — Convertit une chaîne UTF-16 en UTF-8
  • PDF_utf32_to_utf16 — Convertie une chaîne UTF-32 en UTF-16
  • PDF_utf8_to_utf16 — Convertit une chaîne UTF-8 en UTF-16
Exemples d'utilisation
PDF_activate_item
PDF


Active un élément de structure ou un autre élément de contenu

Fonctions PDF
PDF_add_annotation
Fonctions PDF
PHP Manual

PDF_activate_item

(PECL pdflib >= 2.0.0)

PDF_activate_item — Active un élément de structure ou un autre élément de contenu

Description

bool PDF_activate_item ( resource $pdfdoc , int $id )

Active un élément de structure précédemment créé ou un autre élément de contenu. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Fonctions PDF
PDF_add_annotation
Fonctions PDF


[Obsolète] Ajoute une annotation

PDF_activate_item
PDF_add_bookmark
Fonctions PDF
PHP Manual

PDF_add_annotation

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_annotation — [Obsolète] Ajoute une annotation

Description

Cette fonction est obsolète, utilisez la fonction PDF_create_annotation() avec le paramètre type=Text à la place.

PDF_activate_item
PDF_add_bookmark
Fonctions PDF


[Obsolète] Ajoute un signet dans la page courante

PDF_add_annotation
PDF_add_launchlink
Fonctions PDF
PHP Manual

PDF_add_bookmark

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_add_bookmark — [Obsolète] Ajoute un signet dans la page courante

Description

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_bookmark() à la place.

PDF_add_annotation
PDF_add_launchlink
Fonctions PDF


[Obsolète] Ajoute une annotation de lancement dans la page PDF courante

PDF_add_bookmark
PDF_add_locallink
Fonctions PDF
PHP Manual

PDF_add_launchlink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_launchlink — [Obsolète] Ajoute une annotation de lancement dans la page PDF courante

Description

bool PDF_add_launchlink ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

PDF_add_launchlink() ajoute un lien vers une ressource web.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_action() avec le paramètre type=Launch et la fonction PDF_create_annotation() avec le paramètre type=Link à la place.

PDF_add_bookmark
PDF_add_locallink
Fonctions PDF


[Obsolète] Ajoute une annotation de lien dans la page PDF courante

PDF_add_launchlink
PDF_add_nameddest
Fonctions PDF
PHP Manual

PDF_add_locallink

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_locallink — [Obsolète] Ajoute une annotation de lien dans la page PDF courante

Description

bool PDF_add_locallink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , int $page , string $dest )

PDF_add_locallink() ajoute une annotation de lien dans la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction
PDF_create_action() avec le paramètre
type=GoTo et
la fonction PDF_create_annotation() avec le paramètre
type=Link à la place.

PDF_add_launchlink
PDF_add_nameddest
Fonctions PDF


Crée une destination nommée

PDF_add_locallink
PDF_add_note
Fonctions PDF
PHP Manual

PDF_add_nameddest

(PECL pdflib >= 2.0.0)

PDF_add_nameddest — Crée une destination nommée

Description

bool PDF_add_nameddest ( resource $pdfdoc , string $name , string $optlist )

Crée une destination nommée sur une page arbitraire du document courant. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_add_locallink
PDF_add_note
Fonctions PDF


[Obsolète] Ajoute une annotation dans la page PDF courante

PDF_add_nameddest
PDF_add_outline
Fonctions PDF
PHP Manual

PDF_add_note

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_note — [Obsolète] Ajoute une annotation dans la page PDF courante

Description

bool PDF_add_note ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

PDF_add_note() ajoute une annotation dans la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_annotation() avec le paramètre type=Text à la place.

PDF_add_nameddest
PDF_add_outline
Fonctions PDF


[Obsolète] Ajoute un signet dans la page courante

PDF_add_note
PDF_add_pdflink
Fonctions PDF
PHP Manual

PDF_add_outline

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_outline — [Obsolète] Ajoute un signet dans la page courante

Description

Cette fonction est obsolète, utilisez la fonction PDF_create_bookmark() à la place.

PDF_add_note
PDF_add_pdflink
Fonctions PDF


[Obsolète] Ajoute une annotation sur un lien vers un fichier dans la page PDF courante

PDF_add_outline
PDF_add_table_cell
Fonctions PDF
PHP Manual

PDF_add_pdflink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_pdflink — [Obsolète] Ajoute une annotation sur un lien vers un fichier dans la page PDF courante

Description

bool PDF_add_pdflink ( resource $pdfdoc , float $bottom_left_x , float $bottom_left_y , float $up_right_x , float $up_right_y , string $filename , int $page , string $dest )

PDF_add_pdflink() ajoute une annotation sur un lien vers un fichier dans la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_action() avec le paramètre type=GoToR et la fonction PDF_create_annotation() avec le paramètre type=Link à la place.

PDF_add_outline
PDF_add_table_cell
Fonctions PDF


Ajoute une cellule à un nouveau tableau ou un tableau existant

PDF_add_pdflink
PDF_add_textflow
Fonctions PDF
PHP Manual

PDF_add_table_cell

(PECL pdflib >= 2.1.0)

PDF_add_table_cell — Ajoute une cellule à un nouveau tableau ou un tableau existant

Description

int PDF_add_table_cell ( resource $pdfdoc , int $table , int $column , int $row , string $text , string $optlist )

Ajoute une cellule à un nouveau tableau ou à un tableau existant.

PDF_add_pdflink
PDF_add_textflow
Fonctions PDF


Crée un flux de texte ou ajoute du texte à un flux de texte existant

PDF_add_table_cell
PDF_add_thumbnail
Fonctions PDF
PHP Manual

PDF_add_textflow

(PECL pdflib >= 2.1.0)

PDF_add_textflow — Crée un flux de texte ou ajoute du texte à un flux de texte existant

Description

int PDF_add_textflow ( resource $pdfdoc , int $textflow , string $text , string $optlist )

Crée un objet de flux de texte ou ajoute un texte ainsi que des options explicites à un flux de texte existant.

PDF_add_table_cell
PDF_add_thumbnail
Fonctions PDF


[Obsolète] Ajoute une miniature sur la page PDF courante

PDF_add_textflow
PDF_add_weblink
Fonctions PDF
PHP Manual

PDF_add_thumbnail

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_add_thumbnail — [Obsolète] Ajoute une miniature sur la page PDF courante

Description

bool PDF_add_thumbnail ( resource $pdfdoc , int $image )

pdf_add_thumbnail() ajoute une miniature sur la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_add_textflow
PDF_add_weblink
Fonctions PDF


[Obsolète] Ajoute un lien web sur la page PDF courante

PDF_add_thumbnail
PDF_arc
Fonctions PDF
PHP Manual

PDF_add_weblink

(PHP 4, PECL pdflib >= 1.0.0)

PDF_add_weblink — [Obsolète] Ajoute un lien web sur la page PDF courante

Description

bool PDF_add_weblink ( resource $pdfdoc , float $lowerleftx , float $lowerlefty , float $upperrightx , float $upperrighty , string $url )

PDF_add_weblink() ajoute un lien web url sur la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction
PDF_create_action() avec le paramètre
type=URI et la fonction
PDF_create_annotation() avec le paramètre
type=Link à la place.

PDF_add_thumbnail
PDF_arc
Fonctions PDF


Dessine un arc de cercle PDF dans le sens anti-horaire

PDF_add_weblink
PDF_arcn
Fonctions PDF
PHP Manual

PDF_arc

(PHP 4, PECL pdflib >= 1.0.0)

PDF_arc — Dessine un arc de cercle PDF dans le sens anti-horaire

Description

bool PDF_arc ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

PDF_arc() dessine un arc de cercle.

PDF_add_weblink
PDF_arcn
Fonctions PDF


Dessine un arc de cercle dans le sens horaire

PDF_arc
PDF_attach_file
Fonctions PDF
PHP Manual

PDF_arcn

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_arcn — Dessine un arc de cercle dans le sens horaire

Description

bool PDF_arcn ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Excepté pour la direction du dessin, cette fonction fonctionne exactement de la même façon que la fonction pdf_arc().

PDF_arc
PDF_attach_file
Fonctions PDF


[Obsolète] Ajoute un fichier attaché à la page PDF

PDF_arcn
PDF_begin_document
Fonctions PDF
PHP Manual

PDF_attach_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_attach_file — [Obsolète] Ajoute un fichier attaché à la page PDF

Description

bool PDF_attach_file ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $filename , string $description , string $author , string $mimetype , string $icon )

PDF_attach_file ajoute un fichier attaché à la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_annotation() avec le paramètre type=FileAttachment à la place.

PDF_arcn
PDF_begin_document
Fonctions PDF


Crée un nouveau fichier PDF

PDF_attach_file
PDF_begin_font
Fonctions PDF
PHP Manual

PDF_begin_document

(PECL pdflib >= 2.0.0)

PDF_begin_document — Crée un nouveau fichier PDF

Description

int PDF_begin_document ( resource $pdfdoc , string $filename , string $optlist )

Crée un nouveau fichier PDF avec diverses options.

PDF_attach_file
PDF_begin_font
Fonctions PDF


Commence une définition de police de type 3

PDF_begin_document
PDF_begin_glyph
Fonctions PDF
PHP Manual

PDF_begin_font

(PECL pdflib >= 2.0.0)

PDF_begin_font — Commence une définition de police de type 3

Description

bool PDF_begin_font ( resource $pdfdoc , string $filename , float $a , float $b , float $c , float $d , float $e , float $f , string $optlist )

Commence une définition de police de type 3.

PDF_begin_document
PDF_begin_glyph
Fonctions PDF


Commence une définition de glyphe pour les polices de type 3

PDF_begin_font
PDF_begin_item
Fonctions PDF
PHP Manual

PDF_begin_glyph

(PECL pdflib >= 2.0.0)

PDF_begin_glyph — Commence une définition de glyphe pour les polices de type 3

Description

bool PDF_begin_glyph ( resource $pdfdoc , string $glyphname , float $wx , float $llx , float $lly , float $urx , float $ury )

Commence une définition de glyphe pour les polices de type 3.

PDF_begin_font
PDF_begin_item
Fonctions PDF


Ouvre un élément de structure ou un autre élément de contenu

PDF_begin_glyph
PDF_begin_layer
Fonctions PDF
PHP Manual

PDF_begin_item

(PECL pdflib >= 2.0.0)

PDF_begin_item — Ouvre un élément de structure ou un autre élément de contenu

Description

int PDF_begin_item ( resource $pdfdoc , string $tag , string $optlist )

Ouvre un élément de structure ou un autre élément de structure avec les attributs fournis en tant qu'options.

PDF_begin_glyph
PDF_begin_layer
Fonctions PDF


Commence une interface

PDF_begin_item
PDF_begin_page_ext
Fonctions PDF
PHP Manual

PDF_begin_layer

(PECL pdflib >= 2.0.0)

PDF_begin_layer — Commence une interface

Description

bool PDF_begin_layer ( resource $pdfdoc , int $layer )

Commence une interface pour les sous-séquences d'affichages sur la page. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction nécessite PDF 1.5.

PDF_begin_item
PDF_begin_page_ext
Fonctions PDF


Ajoute une nouvelle page PDF

PDF_begin_layer
PDF_begin_page
Fonctions PDF
PHP Manual

PDF_begin_page_ext

(PECL pdflib >= 2.0.0)

PDF_begin_page_ext — Ajoute une nouvelle page PDF

Description

bool PDF_begin_page_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

PDF_begin_page_ext() ajoute une nouvelle page au document et spécifie diverses options. Les paramètres width et height correspondent aux dimensions, en points, de la nouvelle page. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Tailles communes des pages, exprimées en points
Nom | Taille
A0 | 2380 x 3368
A1 | 1684 x 2380
A2 | 1190 x 1684
A3 | 842 x 1190
A4 | 595 x 842
A5 | 421 x 595
A6 | 297 x 421
B5 | 501 x 709
letter (8.5" x 11") | 612 x 792
legal (8.5" x 14") | 612 x 1008
ledger (17" x 11") | 1224 x 792
11" x 17" | 792 x 1224

PDF_begin_layer
PDF_begin_page
Fonctions PDF


[Obsolète] Initialise une nouvelle page de document PDF

PDF_begin_page_ext
PDF_begin_pattern
Fonctions PDF
PHP Manual

PDF_begin_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_begin_page — [Obsolète] Initialise une nouvelle page de document PDF

Description

bool PDF_begin_page ( resource $pdfdoc , float $width , float $height )

PDF_begin_page ajoute une nouvelle page au document. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_begin_page_ext() à la place.

PDF_begin_page_ext
PDF_begin_pattern
Fonctions PDF


Initialise un nouveau pattern PDF

PDF_begin_page
PDF_begin_template_ext
Fonctions PDF
PHP Manual

PDF_begin_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_pattern — Initialise un nouveau pattern PDF

Description

int PDF_begin_pattern ( resource $pdfdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

PDF_begin_pattern() initialise un nouveau pattern.

PDF_begin_page
PDF_begin_template_ext
Fonctions PDF


Commence une définition de gabarit PDF

PDF_begin_pattern
PDF_begin_template
Fonctions PDF
PHP Manual

PDF_begin_template_ext

(PECL pdflib >= 2.1.0)

PDF_begin_template_ext — Commence une définition de gabarit PDF

Description

int PDF_begin_template_ext ( resource $pdfdoc , float $width , float $height , string $optlist )

Commence une nouvelle définition de gabarit PDF.

PDF_begin_pattern
PDF_begin_template
Fonctions PDF


Initialise un nouveau gabarit PDF (obsolète)

PDF_begin_template_ext
PDF_circle
Fonctions PDF
PHP Manual

PDF_begin_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_begin_template — Initialise un nouveau gabarit PDF (obsolète)

Description

int PDF_begin_template ( resource $pdfdoc , float $width , float $height )

pdf_begin_template() initialise un nouveau gabarit.

Cette fonction est obsolète depuis PDFlib version 7, utilisez la fonction PDF_begin_template_ext() à la place.

PDF_begin_template_ext
PDF_circle
Fonctions PDF


Dessine un cercle dans un document PDF

PDF_begin_template
PDF_clip
Fonctions PDF
PHP Manual

PDF_circle

(PHP 4, PECL pdflib >= 1.0.0)

PDF_circle — Dessine un cercle dans un document PDF

Description

bool PDF_circle ( resource $pdfdoc , float $x , float $y , float $r )

PDF_circle() dessine un cercle.

PDF_begin_template
PDF_clip
Fonctions PDF


Modifie le chemin de clipping PDF

PDF_circle
PDF_close_image
Fonctions PDF
PHP Manual

PDF_clip

(PHP 4, PECL pdflib >= 1.0.0)

PDF_clip — Modifie le chemin de clipping PDF

Description

bool PDF_clip ( resource $p )

PDF_clip() utilise le chemin courant comme chemin de clipping. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_circle
PDF_close_image
Fonctions PDF


Ferme une image dans un document PDF

PDF_clip
PDF_close_pdi_page
Fonctions PDF
PHP Manual

PDF_close_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close_image — Ferme une image dans un document PDF

Description

bool PDF_close_image ( resource $p , int $image )

PDF_close_image() ferme l'image image, ouverte avec la fonction PDF_open_image().

PDF_clip
PDF_close_pdi_page
Fonctions PDF


Ferme la page PDF

PDF_close_image
PDF_close_pdi
Fonctions PDF
PHP Manual

PDF_close_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi_page — Ferme la page PDF

Description

bool PDF_close_pdi_page ( resource $p , int $page )

PDF_close_pdi_page() ferme la page, et libère toutes les ressources liées à celle-ci. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_close_image
PDF_close_pdi
Fonctions PDF


Ferme le fichier PDF d'entrée (obsolète)

PDF_close_pdi_page
PDF_close
Fonctions PDF
PHP Manual

PDF_close_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_close_pdi — Ferme le fichier PDF d'entrée (obsolète)

Description

bool PDF_close_pdi ( resource $p , int $doc )

PDF_close_pdi() ferme toutes les pages ouvertes, et referme le document PDF utilisé en entrée. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis PDFlib version 7, utilisez la fonction PDF_close_pdi_document() à la place.

PDF_close_pdi_page
PDF_close
Fonctions PDF


[Obsolète] Ferme le fichier PDF

PDF_close_pdi
PDF_closepath_fill_stroke
Fonctions PDF
PHP Manual

PDF_close

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close — [Obsolète] Ferme le fichier PDF

Description

bool PDF_close ( resource $p )

PDF_close() ferme le fichier PDF généré, et libère toutes les ressources qui y était rattachées. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_end_document() à la place.

PDF_close_pdi
PDF_closepath_fill_stroke
Fonctions PDF


Termine le chemin, dessine les bords et remplit la forme

PDF_close
PDF_closepath_stroke
Fonctions PDF
PHP Manual

PDF_closepath_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_fill_stroke — Termine le chemin, dessine les bords et remplit la forme

Description

bool PDF_closepath_fill_stroke ( resource $p )

PDF_closepath_fill_stroke() termine le chemin, dessine les bords et remplit la forme. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_close
PDF_closepath_stroke
Fonctions PDF


Termine le chemin et dessine les bords

PDF_closepath_fill_stroke
PDF_closepath
Fonctions PDF
PHP Manual

PDF_closepath_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath_stroke — Termine le chemin et dessine les bords

Description

bool PDF_closepath_stroke ( resource $p )

PDF_closepath_stroke() termine le chemin et dessine les bords. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_closepath_fill_stroke
PDF_closepath
Fonctions PDF


Termine le chemin PDF courant

PDF_closepath_stroke
PDF_concat
Fonctions PDF
PHP Manual

PDF_closepath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_closepath — Termine le chemin PDF courant

Description

bool PDF_closepath ( resource $p )

PDF_closepath() termine le chemin courant. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_closepath_stroke
PDF_concat
Fonctions PDF


Concatène une matrice avec le CTM

PDF_closepath
PDF_continue_text
Fonctions PDF
PHP Manual

PDF_concat

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_concat — Concatène une matrice avec le CTM

Description

bool PDF_concat ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

pdf_concat() concatène une matrice avec le CTM. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_closepath
PDF_continue_text
Fonctions PDF


Affiche du texte à la prochaine ligne PDF

PDF_concat
PDF_create_3dview
Fonctions PDF
PHP Manual

PDF_continue_text

(PHP 4, PECL pdflib >= 1.0.0)

PDF_continue_text — Affiche du texte à la prochaine ligne PDF

Description

bool PDF_continue_text ( resource $p , string $text )

pdf_continue_text() affiche le texte text à la prochaine ligne. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_concat
PDF_create_3dview
Fonctions PDF


Crée une vue 3D

PDF_continue_text
PDF_create_action
Fonctions PDF
PHP Manual

PDF_create_3dview

(PECL pdflib >= 2.1.0)

PDF_create_3dview — Crée une vue 3D

Description

int PDF_create_3dview ( resource $pdfdoc , string $username , string $optlist )

Crée une vue 3D.

Cette fonction nécessite PDF 1.6.

PDF_continue_text
PDF_create_action
Fonctions PDF


Crée une action pour des objets ou des événements

PDF_create_3dview
PDF_create_annotation
Fonctions PDF
PHP Manual

PDF_create_action

(PECL pdflib >= 2.0.0)

PDF_create_action — Crée une action pour des objets ou des événements

Description

int PDF_create_action ( resource $pdfdoc , string $type , string $optlist )

Crée une action qui peut être utilisée sur diverses objets et événements.

PDF_create_3dview
PDF_create_annotation
Fonctions PDF


Crée une annotation rectangulaire

PDF_create_action
PDF_create_bookmark
Fonctions PDF
PHP Manual

PDF_create_annotation

(PECL pdflib >= 2.0.0)

PDF_create_annotation — Crée une annotation rectangulaire

Description

bool PDF_create_annotation ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $type , string $optlist )

Crée une annotation rectangulaire sur la page courante.

PDF_create_action
PDF_create_bookmark
Fonctions PDF


Crée un signet

PDF_create_annotation
PDF_create_field
Fonctions PDF
PHP Manual

PDF_create_bookmark

(PECL pdflib >= 2.0.0)

PDF_create_bookmark — Crée un signet

Description

int PDF_create_bookmark ( resource $pdfdoc , string $text , string $optlist )

Crée un signet avec diverses options.

PDF_create_annotation
PDF_create_field
Fonctions PDF


Crée un champ de formulaire

PDF_create_bookmark
PDF_create_fieldgroup
Fonctions PDF
PHP Manual

PDF_create_field

(PECL pdflib >= 2.0.0)

PDF_create_field — Crée un champ de formulaire

Description

bool PDF_create_field ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $name , string $type , string $optlist )

Crée un champ de formulaire dans la page courante avec diverses options.

PDF_create_bookmark
PDF_create_fieldgroup
Fonctions PDF


Crée un groupe de champs dans un formulaire

PDF_create_field
PDF_create_gstate
Fonctions PDF
PHP Manual

PDF_create_fieldgroup

(PECL pdflib >= 2.0.0)

PDF_create_fieldgroup — Crée un groupe de champs dans un formulaire

Description

bool PDF_create_fieldgroup ( resource $pdfdoc , string $name , string $optlist )

Crée un groupe de champs avec diverses options dans un formulaire.

PDF_create_field
PDF_create_gstate
Fonctions PDF


Crée un objet graphique

PDF_create_fieldgroup
PDF_create_pvf
Fonctions PDF
PHP Manual

PDF_create_gstate

(PECL pdflib >= 2.0.0)

PDF_create_gstate — Crée un objet graphique

Description

int PDF_create_gstate ( resource $pdfdoc , string $optlist )

Crée un objet graphique avec diverses options.

PDF_create_fieldgroup
PDF_create_pvf
Fonctions PDF


Crée un fichier PDFlib virtuel

PDF_create_gstate
PDF_create_textflow
Fonctions PDF
PHP Manual

PDF_create_pvf

(PECL pdflib >= 2.0.0)

PDF_create_pvf — Crée un fichier PDFlib virtuel

Description

bool PDF_create_pvf ( resource $pdfdoc , string $filename , string $data , string $optlist )

Crée un fichier virtuel nommé, en lecture seul, depuis les données fournies en mémoire.

PDF_create_gstate
PDF_create_textflow
Fonctions PDF


Crée un objet de flux de texte

PDF_create_pvf
PDF_curveto
Fonctions PDF
PHP Manual

PDF_create_textflow

(PECL pdflib >= 2.0.0)

PDF_create_textflow — Crée un objet de flux de texte

Description

int PDF_create_textflow ( resource $pdfdoc , string $text , string $optlist )

Prépare un texte pour formatage ultérieur et crée un objet de flux de texte.

PDF_create_pvf
PDF_curveto
Fonctions PDF


Dessine une courbe de Bezier

PDF_create_textflow
PDF_define_layer
Fonctions PDF
PHP Manual

PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curveto — Dessine une courbe de Bezier

Description

bool PDF_curveto ( resource $p , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

pdf_curveto() dessine une courbe de Bezier à partir du point courant, et en utilisant trois points de contrôle. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_create_textflow
PDF_define_layer
Fonctions PDF


Crée une définition d'interface

PDF_curveto
PDF_delete_pvf
Fonctions PDF
PHP Manual

PDF_define_layer

(PECL pdflib >= 2.0.0)

PDF_define_layer — Crée une définition d'interface

Description

int PDF_define_layer ( resource $pdfdoc , string $name , string $optlist )

Crée une nouvelle définition d'interface.

Cette fonction nécessite PDF 1.5.

PDF_curveto
PDF_delete_pvf
Fonctions PDF


Efface un fichier virtuel PDFlib

PDF_define_layer
PDF_delete_table
Fonctions PDF
PHP Manual

PDF_delete_pvf

(PECL pdflib >= 2.0.0)

PDF_delete_pvf — Efface un fichier virtuel PDFlib

Description

int PDF_delete_pvf ( resource $pdfdoc , string $filename )

Efface un fichier virtuel nommé et libère ses structures de données (mais pas le contenu).

PDF_define_layer
PDF_delete_table
Fonctions PDF


Efface un tableau

PDF_delete_pvf
PDF_delete_textflow
Fonctions PDF
PHP Manual

PDF_delete_table

(PECL pdflib >= 2.1.0)

PDF_delete_table — Efface un tableau

Description

bool PDF_delete_table ( resource $pdfdoc , int $table , string $optlist )

Efface un tableau ainsi que toutes les données structurées associées.

PDF_delete_pvf
PDF_delete_textflow
Fonctions PDF


Efface un objet de flux de texte

PDF_delete_table
PDF_delete
Fonctions PDF
PHP Manual

PDF_delete_textflow

(PECL pdflib >= 2.0.0)

PDF_delete_textflow — Efface un objet de flux de texte

Description

bool PDF_delete_textflow ( resource $pdfdoc , int $textflow )

Efface un flux de texte ainsi que les structures de données associées.

PDF_delete_table
PDF_delete
Fonctions PDF


Efface un objet PDF

PDF_delete_textflow
PDF_encoding_set_char
Fonctions PDF
PHP Manual

PDF_delete

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_delete — Efface un objet PDF

Description

bool PDF_delete ( resource $pdfdoc )

PDF_delete() efface l'objet PDF et libère toutes les ressources. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_delete_textflow
PDF_encoding_set_char
Fonctions PDF


Ajoute un nom de glyphe et/ou une valeur Unicode

PDF_delete
PDF_end_document
Fonctions PDF
PHP Manual

PDF_encoding_set_char

(PECL pdflib >= 2.0.0)

PDF_encoding_set_char — Ajoute un nom de glyphe et/ou une valeur Unicode

Description

bool PDF_encoding_set_char ( resource $pdfdoc , string $encoding , int $slot , string $glyphname , int $uv )

Ajoute un nom de glyphe et/ou une valeur Unicode à un encodage personnalisé.

PDF_delete
PDF_end_document
Fonctions PDF


Ferme un fichier PDF

PDF_encoding_set_char
PDF_end_font
Fonctions PDF
PHP Manual

PDF_end_document

(PECL pdflib >= 2.0.0)

PDF_end_document — Ferme un fichier PDF

Description

bool PDF_end_document ( resource $pdfdoc , string $optlist )

Ferme un fichier PDF généré et y applique diverses options.

PDF_encoding_set_char
PDF_end_font
Fonctions PDF


Termine une définition de police de type 3

PDF_end_document
PDF_end_glyph
Fonctions PDF
PHP Manual

PDF_end_font

(PECL pdflib >= 2.0.0)

PDF_end_font — Termine une définition de police de type 3

Description

bool PDF_end_font ( resource $pdfdoc )

Termine une définition de police de type 3.

PDF_end_document
PDF_end_glyph
Fonctions PDF


Termine la définition d'un glyphe pour les polices de type 3

PDF_end_font
PDF_end_item
Fonctions PDF
PHP Manual

PDF_end_glyph

(PECL pdflib >= 2.0.0)

PDF_end_glyph — Termine la définition d'un glyphe pour les polices de type 3

Description

bool PDF_end_glyph ( resource $pdfdoc )

Termine la définition d'un glyphe pour les polices de type 3.

PDF_end_font
PDF_end_item
Fonctions PDF


Ferme la structure d'un élément ou un autre élément de contenu

PDF_end_glyph
PDF_end_layer
Fonctions PDF
PHP Manual

PDF_end_item

(PECL pdflib >= 2.0.0)

PDF_end_item — Ferme la structure d'un élément ou un autre élément de contenu

Description

bool PDF_end_item ( resource $pdfdoc , int $id )

Ferme la structure d'un élément ou un autre élément de contenu.

PDF_end_glyph
PDF_end_layer
Fonctions PDF


Désactive toutes les interfaces actives

PDF_end_item
PDF_end_page_ext
Fonctions PDF
PHP Manual

PDF_end_layer

(PECL pdflib >= 2.0.0)

PDF_end_layer — Désactive toutes les interfaces actives

Description

bool PDF_end_layer ( resource $pdfdoc )

Désactive toutes les interfaces actives. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction nécessite PDF 1.5.

PDF_end_item
PDF_end_page_ext
Fonctions PDF


Termine une page

PDF_end_layer
PDF_end_page
Fonctions PDF
PHP Manual

PDF_end_page_ext

(PECL pdflib >= 2.0.0)

PDF_end_page_ext — Termine une page

Description

bool PDF_end_page_ext ( resource $pdfdoc , string $optlist )

Termine une page et y applique diverses options. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_end_layer
PDF_end_page
Fonctions PDF


Termine la page PDF courante

PDF_end_page_ext
PDF_end_pattern
Fonctions PDF
PHP Manual

PDF_end_page

(PHP 4, PECL pdflib >= 1.0.0)

PDF_end_page — Termine la page PDF courante

Description

bool PDF_end_page ( resource $p )

pdf_end_page() termine la page courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_end_page_ext
PDF_end_pattern
Fonctions PDF


Termine le pattern PDF

PDF_end_page
PDF_end_template
Fonctions PDF
PHP Manual

PDF_end_pattern

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_pattern — Termine le pattern PDF

Description

bool PDF_end_pattern ( resource $p )

PDF_end_pattern() termine la définition du pattern. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_end_page
PDF_end_template
Fonctions PDF


Termine le gabarit PDF

PDF_end_pattern
PDF_endpath
Fonctions PDF
PHP Manual

PDF_end_template

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_end_template — Termine le gabarit PDF

Description

bool PDF_end_template ( resource $p )

PDF_end_template() termine la définition du gabarit. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_end_pattern
PDF_endpath
Fonctions PDF


Termine le chemin courant

PDF_end_template
PDF_fill_imageblock
Fonctions PDF
PHP Manual

PDF_endpath

(PHP 4, PECL pdflib >= 1.0.0)

PDF_endpath — Termine le chemin courant

Description

bool PDF_endpath ( resource $p )

Termine le chemin courant.

PDF_end_template
PDF_fill_imageblock
Fonctions PDF


Remplit un bloc d'image avec des données variables

PDF_endpath
PDF_fill_pdfblock
Fonctions PDF
PHP Manual

PDF_fill_imageblock

(PECL pdflib >= 2.0.0)

PDF_fill_imageblock — Remplit un bloc d'image avec des données variables

Description

int PDF_fill_imageblock ( resource $pdfdoc , int $page , string $blockname , int $image , string $optlist )

Remplit un bloc d'image avec des données variables suivant ses propriétés.

Cette fonction est uniquement disponible avec PDFlib Personalization Server (PPS).

PDF_endpath
PDF_fill_pdfblock
Fonctions PDF


Remplit un bloc de contenu avec des données variables

PDF_fill_imageblock
PDF_fill_stroke
Fonctions PDF
PHP Manual

PDF_fill_pdfblock

(PECL pdflib >= 2.0.0)

PDF_fill_pdfblock — Remplit un bloc de contenu avec des données variables

Description

int PDF_fill_pdfblock ( resource $pdfdoc , int $page , string $blockname , int $contents , string $optlist )

Remplit un bloc de contenu avec des données variables suivant ses propriétés.

Cette fonction est uniquement disponible avec "PDFlib Personalization Server" (PPS).

PDF_fill_imageblock
PDF_fill_stroke
Fonctions PDF


Remplit et passe le pinceau sur le chemin PDF courant

PDF_fill_pdfblock
PDF_fill_textblock
Fonctions PDF
PHP Manual

PDF_fill_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill_stroke — Remplit et passe le pinceau sur le chemin PDF courant

Description

bool PDF_fill_stroke ( resource $p )

PDF_fill_stroke() remplit le chemin courant avec la couleur courante, en appliquant le pinceau courant (stroke). Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_fill_pdfblock
PDF_fill_textblock
Fonctions PDF


Remplit un bloc de texte avec des données variables

PDF_fill_stroke
PDF_fill
Fonctions PDF
PHP Manual

PDF_fill_textblock

(PECL pdflib >= 2.0.0)

PDF_fill_textblock — Remplit un bloc de texte avec des données variables

Description

int PDF_fill_textblock ( resource $pdfdoc , int $page , string $blockname , string $text , string $optlist )

Remplit un bloc de texte avec des données variables suivant ses propriétés.

Cette fonction est uniquement disponible avec "PDFlib Personalization Server" (PPS).

PDF_fill_stroke
PDF_fill
Fonctions PDF


Remplit le chemin PDF courant avec la couleur courante

PDF_fill_textblock
PDF_findfont
Fonctions PDF
PHP Manual

PDF_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_fill — Remplit le chemin PDF courant avec la couleur courante

Description

bool PDF_fill ( resource $p )

pdf_fill_stroke() remplit le chemin courant avec la couleur courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_fill_textblock
PDF_findfont
Fonctions PDF


[Obsolète] Prépare une police pour utilisation ultérieure

PDF_fill
PDF_fit_image
Fonctions PDF
PHP Manual

PDF_findfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_findfont — [Obsolète] Prépare une police pour utilisation ultérieure

Description

int PDF_findfont ( resource $p , string $fontname , string $encoding , int $embed )

PDF_findfont() prépare la police fontname pour utilisation ultérieure avec PDF_setfont(). Les dimensions seront chargées et, si embed est non nul, le fichier de police sera vérifié mais pas utilisé. encoding peut prendre une des valeurs suivantes : builtin,macroman, winansi, host, ou bien un encodage défini par l'utilisateur, ou encore le nom d'une CMap. Le paramètre embed est optionnel avant PHP 4.3.5 ou avec PDFlib inférieur à 5.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_load_font() à la place.

PDF_fill
PDF_fit_image
Fonctions PDF


Place une image ou un gabarit PDF

PDF_findfont
PDF_fit_pdi_page
Fonctions PDF
PHP Manual

PDF_fit_image

(PECL pdflib >= 2.0.0)

PDF_fit_image — Place une image ou un gabarit PDF

Description

bool PDF_fit_image ( resource $pdfdoc , int $image , float $x , float $y , string $optlist )

Place une image ou un gabarit à une position précise. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_findfont
PDF_fit_pdi_page
Fonctions PDF


Place une page PDF importée

PDF_fit_image
PDF_fit_table
Fonctions PDF
PHP Manual

PDF_fit_pdi_page

(PECL pdflib >= 2.0.0)

PDF_fit_pdi_page — Place une page PDF importée

Description

bool PDF_fit_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , string $optlist )

Place une page PDF importée sur la page, suivant diverses options. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_fit_image
PDF_fit_table
Fonctions PDF


Place un tableau sur la page

PDF_fit_pdi_page
PDF_fit_textflow
Fonctions PDF
PHP Manual

PDF_fit_table

(PECL pdflib >= 2.1.0)

PDF_fit_table — Place un tableau sur la page

Description

string PDF_fit_table ( resource $pdfdoc , int $table , float $llx , float $lly , float $urx , float $ury , string $optlist )

Place un tableau complet ou partiel, sur la page.

PDF_fit_pdi_page
PDF_fit_textflow
Fonctions PDF


Formate un flux de texte dans un espace rectangulaire

PDF_fit_table
PDF_fit_textline
Fonctions PDF
PHP Manual

PDF_fit_textflow

(PECL pdflib >= 2.0.0)

PDF_fit_textflow — Formate un flux de texte dans un espace rectangulaire

Description

string PDF_fit_textflow ( resource $pdfdoc , int $textflow , float $llx , float $lly , float $urx , float $ury , string $optlist )

Formate la portion suivante d'un flux de texte dans un espace rectangulaire.

PDF_fit_table
PDF_fit_textline
Fonctions PDF


Place un simple ligne de texte

PDF_fit_textflow
PDF_get_apiname
Fonctions PDF
PHP Manual

PDF_fit_textline

(PECL pdflib >= 2.0.0)

PDF_fit_textline — Place un simple ligne de texte

Description

bool PDF_fit_textline ( resource $pdfdoc , string $text , float $x , float $y , string $optlist )

Place une simple ligne de texte à une position précise. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_fit_textflow
PDF_get_apiname
Fonctions PDF


Récupère le nom d'une fonction de l'API qui a échouée

PDF_fit_textline
PDF_get_buffer
Fonctions PDF
PHP Manual

PDF_get_apiname

(PECL pdflib >= 2.0.0)

PDF_get_apiname — Récupère le nom d'une fonction de l'API qui a échouée

Description

string PDF_get_apiname ( resource $pdfdoc )

Récupère le nom d'une fonction de l'API qui a lancée la dernière exception ou qui a échouée.

PDF_fit_textline
PDF_get_buffer
Fonctions PDF


Lit le tampon contenant le fichier PDF généré

PDF_get_apiname
PDF_get_errmsg
Fonctions PDF
PHP Manual

PDF_get_buffer

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_buffer — Lit le tampon contenant le fichier PDF généré

Description

string PDF_get_buffer ( resource $p )

PDF_get_buffer() lit le contenu du tampon PDF.

PDF_get_apiname
PDF_get_errmsg
Fonctions PDF


Récupère le texte d'une erreur

PDF_get_buffer
PDF_get_errnum
Fonctions PDF
PHP Manual

PDF_get_errmsg

(PECL pdflib >= 2.0.0)

PDF_get_errmsg — Récupère le texte d'une erreur

Description

string PDF_get_errmsg ( resource $pdfdoc )

Récupère le texte de la dernière exceptions lancée ou la raison de l'échec lors de l'appel d'une fonction.

PDF_get_buffer
PDF_get_errnum
Fonctions PDF


Récupère un numéro d'erreur

PDF_get_errmsg
PDF_get_font
Fonctions PDF
PHP Manual

PDF_get_errnum

(PECL pdflib >= 2.0.0)

PDF_get_errnum — Récupère un numéro d'erreur

Description

int PDF_get_errnum ( resource $pdfdoc )

Récupère le numéro de la dernière exception lancée ou la raison de l'échec lors de l'appel d'une fonction.

PDF_get_errmsg
PDF_get_font
Fonctions PDF


[Obsolète] Charge une police

PDF_get_errnum
PDF_get_fontname
Fonctions PDF
PHP Manual

PDF_get_font

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_font — [Obsolète] Charge une police

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_get_value() avec le paramètre font à la place.

PDF_get_errnum
PDF_get_fontname
Fonctions PDF


[Obsolète] Lit le nom de la police

PDF_get_font
PDF_get_fontsize
Fonctions PDF
PHP Manual

PDF_get_fontname

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontname — [Obsolète] Lit le nom de la police

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_get_parameter() avec le paramètre fontname à la place.

PDF_get_font
PDF_get_fontsize
Fonctions PDF


[Obsolète] Gère les polices

PDF_get_fontname
PDF_get_image_height
Fonctions PDF
PHP Manual

PDF_get_fontsize

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontsize — [Obsolète] Gère les polices

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_get_value() avec le paramètre fontsize à la place.

PDF_get_fontname
PDF_get_image_height
Fonctions PDF


[Obsolète] Retourne la hauteur d'une image

PDF_get_fontsize
PDF_get_image_width
Fonctions PDF
PHP Manual

PDF_get_image_height

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_height — [Obsolète] Retourne la hauteur d'une image

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_get_value() avec le paramètre imageheight à la place.

PDF_get_fontsize
PDF_get_image_width
Fonctions PDF


[Obsolète] Retourne la largeur d'une image

PDF_get_image_height
PDF_get_majorversion
Fonctions PDF
PHP Manual

PDF_get_image_width

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_image_width — [Obsolète] Retourne la largeur d'une image

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_get_value() avec le paramètre imagewidth à la place.

PDF_get_image_height
PDF_get_majorversion
Fonctions PDF


[Obsolète] Retourne le numéro de version majeur de PDFlib

PDF_get_image_width
PDF_get_minorversion
Fonctions PDF
PHP Manual

PDF_get_majorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_majorversion — [Obsolète] Retourne le numéro de version majeur de PDFlib

Description

int PDF_get_majorversion ( void )

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_get_value() avec le paramètre major à la place.

PDF_get_image_width
PDF_get_minorversion
Fonctions PDF


[Obsolète] Retourne le numéro de version mineure de PDFlib

PDF_get_majorversion
PDF_get_parameter
Fonctions PDF
PHP Manual

PDF_get_minorversion

(PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0)

PDF_get_minorversion — [Obsolète] Retourne le numéro de version mineure de PDFlib

Description

int PDF_get_minorversion ( void )

PDF_get_majorversion() retourne le numéro de version mineure de PDFlib.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_get_value() avec le paramètre minor à la place.

PDF_get_majorversion
PDF_get_parameter
Fonctions PDF


Lit certains paramètres

PDF_get_minorversion
PDF_get_pdi_parameter
Fonctions PDF
PHP Manual

PDF_get_parameter

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_parameter — Lit certains paramètres

Description

string PDF_get_parameter ( resource $p , string $key , float $modifier )

pdf_get_parameter() lit certains paramètres au format textuel.

PDF_get_minorversion
PDF_get_pdi_parameter
Fonctions PDF


Lit des paramètres textuels dans le document PDI (obsolète)

PDF_get_parameter
PDF_get_pdi_value
Fonctions PDF
PHP Manual

PDF_get_pdi_parameter

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_parameter — Lit des paramètres textuels dans le document PDI (obsolète)

Description

string PDF_get_pdi_parameter ( resource $p , string $key , int $doc , int $page , int $reserved )

PDF_get_pdi_parameter() lit des paramètres textuels dans le document PDI doc.

Cette fonction est obsolète depuis PDFlib version 7, utilisez la fonction PDF_pcos_get_string() à la place.

PDF_get_parameter
PDF_get_pdi_value
Fonctions PDF


Lit des paramètres numériques dans le document PDF d'entrée (obsolète)

PDF_get_pdi_parameter
PDF_get_value
Fonctions PDF
PHP Manual

PDF_get_pdi_value

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_get_pdi_value — Lit des paramètres numériques dans le document PDF d'entrée (obsolète)

Description

float PDF_get_pdi_value ( resource $p , string $key , int $doc , int $page , int $reserved )

PDF_get_pdi_value() lit des paramètres numériques dans le document PDF d'entrée.

Cette fonction est obsolète depuis PDFlib version 7, utilisez plutôt la fonction PDF_pcos_get_number().

PDF_get_pdi_parameter
PDF_get_value
Fonctions PDF


Lit certains paramètres numériques

PDF_get_pdi_value
PDF_info_font
Fonctions PDF
PHP Manual

PDF_get_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_get_value — Lit certains paramètres numériques

Description

float PDF_get_value ( resource $p , string $key , float $modifier )

PDF_get_value() retourne la valeur du paramètre numérique du document p, identifié par key.

PDF_get_pdi_value
PDF_info_font
Fonctions PDF


Récupère des informations détaillées sur une police chargée

PDF_get_value
PDF_info_matchbox
Fonctions PDF
PHP Manual

PDF_info_font

(PECL pdflib >= 2.1.0)

PDF_info_font — Récupère des informations détaillées sur une police chargée

Description

float PDF_info_font ( resource $pdfdoc , int $font , string $keyword , string $optlist )

Récupère des informations détaillées sur une police de caractères chargée.

PDF_get_value
PDF_info_matchbox
Fonctions PDF


Récupère les informations d'une boîte

PDF_info_font
PDF_info_table
Fonctions PDF
PHP Manual

PDF_info_matchbox

(PECL pdflib >= 2.1.0)

PDF_info_matchbox — Récupère les informations d'une boîte

Description

float PDF_info_matchbox ( resource $pdfdoc , string $boxname , int $num , string $keyword )

Récupère les informations d'une boîte de la page courante.

PDF_info_font
PDF_info_table
Fonctions PDF


Récupère les informations d'un tableau

PDF_info_matchbox
PDF_info_textflow
Fonctions PDF
PHP Manual

PDF_info_table

(PECL pdflib >= 2.1.0)

PDF_info_table — Récupère les informations d'un tableau

Description

float PDF_info_table ( resource $pdfdoc , int $table , string $keyword )

Récupère les informations du dernier tableau placé.

PDF_info_matchbox
PDF_info_textflow
Fonctions PDF


Récupère le statut d'un flux de texte

PDF_info_table
PDF_info_textline
Fonctions PDF
PHP Manual

PDF_info_textflow

(PECL pdflib >= 2.0.0)

PDF_info_textflow — Récupère le statut d'un flux de texte

Description

float PDF_info_textflow ( resource $pdfdoc , int $textflow , string $keyword )

Récupère le statut courant d'un flux de texte.

PDF_info_table
PDF_info_textline
Fonctions PDF


Effectue le formatage d'une ligne de texte et récupère la matrice

PDF_info_textflow
PDF_initgraphics
Fonctions PDF
PHP Manual

PDF_info_textline

(PECL pdflib >= 2.1.0)

PDF_info_textline — Effectue le formatage d'une ligne de texte et récupère la matrice

Description

float PDF_info_textline ( resource $pdfdoc , string $text , string $keyword , string $optlist )

Effectue le formatage d'une ligne de texte et récupère la matrice.

PDF_info_textflow
PDF_initgraphics
Fonctions PDF


Remet à zéro l'environnement graphique PDF

PDF_info_textline
PDF_lineto
Fonctions PDF
PHP Manual

PDF_initgraphics

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_initgraphics — Remet à zéro l'environnement graphique PDF

Description

bool PDF_initgraphics ( resource $p )

pdf_initgraphics() remet à leur valeur initiale toutes les couleurs et les paramètres graphiques. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_info_textline
PDF_lineto
Fonctions PDF


Dessine une ligne PDF

PDF_initgraphics
PDF_load_3ddata
Fonctions PDF
PHP Manual

PDF_lineto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_lineto — Dessine une ligne PDF

Description

bool PDF_lineto ( resource $p , float $x , float $y )

PDF_lineto() dessine une ligne entre le point courant et un autre point. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_initgraphics
PDF_load_3ddata
Fonctions PDF


Charge un modèle 3D

PDF_lineto
PDF_load_font
Fonctions PDF
PHP Manual

PDF_load_3ddata

(PECL pdflib >= 2.1.0)

PDF_load_3ddata — Charge un modèle 3D

Description

int PDF_load_3ddata ( resource $pdfdoc , string $filename , string $optlist )

Charge un modèle 3D depuis un fichier virtuel ou du disque.

Cette fonction nécessite PDF 1.6.

PDF_lineto
PDF_load_font
Fonctions PDF


Cherche et prépare une police

PDF_load_3ddata
PDF_load_iccprofile
Fonctions PDF
PHP Manual

PDF_load_font

(PECL pdflib >= 2.0.0)

PDF_load_font — Cherche et prépare une police

Description

int PDF_load_font ( resource $pdfdoc , string $fontname , string $encoding , string $optlist )

Recherche une police et la prépare pour une utilisation ultérieure.

PDF_load_3ddata
PDF_load_iccprofile
Fonctions PDF


Cherche et prépare un profile ICC

PDF_load_font
PDF_load_image
Fonctions PDF
PHP Manual

PDF_load_iccprofile

(PECL pdflib >= 2.0.0)

PDF_load_iccprofile — Cherche et prépare un profile ICC

Description

int PDF_load_iccprofile ( resource $pdfdoc , string $profilename , string $optlist )

Recherche un profile ICC et le prépare pour une utilisation ultérieure.

PDF_load_font
PDF_load_image
Fonctions PDF


Ouvre un fichier image

PDF_load_iccprofile
PDF_makespotcolor
Fonctions PDF
PHP Manual

PDF_load_image

(PECL pdflib >= 2.0.0)

PDF_load_image — Ouvre un fichier image

Description

int PDF_load_image ( resource $pdfdoc , string $imagetype , string $filename , string $optlist )

Ouvre un fichier image local ou un fichier image virtuel suivant diverses options.

PDF_load_iccprofile
PDF_makespotcolor
Fonctions PDF


Place un point de couleur PDF

PDF_load_image
PDF_moveto
Fonctions PDF
PHP Manual

PDF_makespotcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_makespotcolor — Place un point de couleur PDF

Description

int PDF_makespotcolor ( resource $p , string $spotname )

pdf_makespotcolor() place un point de couleur, ayant le nom de spotname et comme couleur, la couleur courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_load_image
PDF_moveto
Fonctions PDF


Place le point courant PDF

PDF_makespotcolor
PDF_new
Fonctions PDF
PHP Manual

PDF_moveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_moveto — Place le point courant PDF

Description

bool PDF_moveto ( resource $p , float $x , float $y )

PDF_moveto() place le point courant aux coordonnées données. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_makespotcolor
PDF_new
Fonctions PDF


Crée un nouvel objet PDF

PDF_moveto
PDF_open_ccitt
Fonctions PDF
PHP Manual

PDF_new

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_new — Crée un nouvel objet PDF

Description

resource PDF_new ( void )

PDF_new() crée un nouvel objet PDF, en utilisant le système de gestion d'erreurs et celui de gestion de la mémoire.

PDF_moveto
PDF_open_ccitt
Fonctions PDF


[Obsolète] Ouvre une image contenant des données brutes CCITT

PDF_new
PDF_open_file
Fonctions PDF
PHP Manual

PDF_open_ccitt

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_ccitt — [Obsolète] Ouvre une image contenant des données brutes CCITT

Description

int PDF_open_ccitt ( resource $pdfdoc , string $filename , int $width , int $height , int $BitReverse , int $k , int $Blackls1 )

PDF_open_ccitt() ouvre une image brute CCITT.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_load_image() à la place.

PDF_new
PDF_open_file
Fonctions PDF


[Obsolète] Ouvre un nouveau fichier PDF

PDF_open_ccitt
PDF_open_gif
Fonctions PDF
PHP Manual

PDF_open_file

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_file — [Obsolète] Ouvre un nouveau fichier PDF

Description

bool PDF_open_file ( resource $p , string $filename )

PDF_open_file() crée un nouveau fichier PDF dans le fichier filename. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_begin_document() à la place.

PDF_open_ccitt
PDF_open_gif
Fonctions PDF


[Obsolète] Ouvre une image GIF

PDF_open_file
PDF_open_image_file
Fonctions PDF
PHP Manual

PDF_open_gif

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_gif — [Obsolète] Ouvre une image GIF

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_load_image() à la place.

PDF_open_file
PDF_open_image_file
Fonctions PDF


[Obsolète] Lit une image depuis un fichier

PDF_open_gif
PDF_open_image
Fonctions PDF
PHP Manual

PDF_open_image_file

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_image_file — [Obsolète] Lit une image depuis un fichier

Description

int PDF_open_image_file ( resource $p , string $imagetype , string $filename , string $stringparam , int $intparam )

PDF_open_image_file() ouvre une image depuis le fichier filename.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_load_image() à la place.

PDF_open_gif
PDF_open_image
Fonctions PDF


[Obsolète] Ouvre une image

PDF_open_image_file
PDF_open_jpeg
Fonctions PDF
PHP Manual

PDF_open_image

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_image — [Obsolète] Ouvre une image

Description

int PDF_open_image ( resource $p , string $imagetype , string $source , string $data , int $length , int $width , int $height , int $components , int $bpc , string $params )

PDF_open_image() permet d'accéder à des images de différents formats.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez les fichiers virtuels et la fonction pdf_load_image() à la place.

PDF_open_image_file
PDF_open_jpeg
Fonctions PDF


[Obsolète] Ouvre une image JPEG

PDF_open_image
PDF_open_memory_image
Fonctions PDF
PHP Manual

PDF_open_jpeg

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_jpeg — [Obsolète] Ouvre une image JPEG

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_load_image() à la place.

PDF_open_image
PDF_open_memory_image
Fonctions PDF


[Non supporté] Ouvre une image créée en mémoire par PHP

PDF_open_jpeg
PDF_open_pdi_page
Fonctions PDF
PHP Manual

PDF_open_memory_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_memory_image — [Non supporté] Ouvre une image créée en mémoire par PHP

Description

int PDF_open_memory_image ( resource $p , resource $image )

Cette fonction n'est pas supportée par la PDFlib GmbH.

PDF_open_jpeg
PDF_open_pdi_page
Fonctions PDF


Prépare une page

PDF_open_memory_image
PDF_open_pdi
Fonctions PDF
PHP Manual

PDF_open_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi_page — Prépare une page

Description

int PDF_open_pdi_page ( resource $p , int $doc , int $pagenumber , string $optlist )

PDF_open_pdi_page() prépare une page pour utilisation ultérieure avec PDF_fit_pdi_page().

PDF_open_memory_image
PDF_open_pdi
Fonctions PDF


Ouvre un fichier PDF (obsolète)

PDF_open_pdi_page
PDF_open_tiff
Fonctions PDF
PHP Manual

PDF_open_pdi

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_open_pdi — Ouvre un fichier PDF (obsolète)

Description

int PDF_open_pdi ( resource $pdfdoc , string $filename , string $optlist , int $len )

PDF_open_pdi() ouvre un fichier PDF existant, pour utilisation ultérieure.

Cette fonction est obsolète depuis PDFlib version 7, utilisez la fonction PDF_open_pdi_document() à la place.

PDF_open_pdi_page
PDF_open_tiff
Fonctions PDF


[Obsolète] Ouvre une image TIFF

PDF_open_pdi
PDF_pcos_get_number
Fonctions PDF
PHP Manual

PDF_open_tiff

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_tiff — [Obsolète] Ouvre une image TIFF

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_load_image() à la place.

PDF_open_pdi
PDF_pcos_get_number
Fonctions PDF


Récupère la valeur du chemin pCOS

PDF_open_tiff
PDF_pcos_get_stream
Fonctions PDF
PHP Manual

PDF_pcos_get_number

(PECL pdflib >= 2.1.0)

PDF_pcos_get_number — Récupère la valeur du chemin pCOS

Description

float PDF_pcos_get_number ( resource $p , int $doc , string $path )

Récupère la valeur du chemin pCOS.

PDF_open_tiff
PDF_pcos_get_stream
Fonctions PDF


Récupère le contenu du chemin pCOS

PDF_pcos_get_number
PDF_pcos_get_string
Fonctions PDF
PHP Manual

PDF_pcos_get_stream

(PECL pdflib >= 2.1.0)

PDF_pcos_get_stream — Récupère le contenu du chemin pCOS

Description

string PDF_pcos_get_stream ( resource $p , int $doc , string $optlist , string $path )

Récupère le contenu du chemin pCOS.

PDF_pcos_get_number
PDF_pcos_get_string
Fonctions PDF


Récupère la valeur du chemin pCOS

PDF_pcos_get_stream
PDF_place_image
Fonctions PDF
PHP Manual

PDF_pcos_get_string

(PECL pdflib >= 2.1.0)

PDF_pcos_get_string — Récupère la valeur du chemin pCOS

Description

string PDF_pcos_get_string ( resource $p , int $doc , string $path )

Récupère la valeur du chemin pCOS.

PDF_pcos_get_stream
PDF_place_image
Fonctions PDF


[Obsolète] Place une image dans la page

PDF_pcos_get_string
PDF_place_pdi_page
Fonctions PDF
PHP Manual

PDF_place_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_place_image — [Obsolète] Place une image dans la page

Description

bool PDF_place_image ( resource $pdfdoc , int $image , float $x , float $y , float $scale )

PDF_place_image() place l'image image, dans la page courante, au point de coordonnées (x,y), et la met à l'échelle scale. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_fit_image() à la place.

PDF_pcos_get_string
PDF_place_pdi_page
Fonctions PDF


[Obsolète] Place une page dans le document

PDF_place_image
PDF_process_pdi
Fonctions PDF
PHP Manual

PDF_place_pdi_page

(PHP 4 >= 4.0.6, PECL pdflib >= 1.0.0)

PDF_place_pdi_page — [Obsolète] Place une page dans le document

Description

bool PDF_place_pdi_page ( resource $pdfdoc , int $page , float $x , float $y , float $sx , float $sy )

PDF_place_pdi_page() place une page PDI, dans la page courante, aux coordonnées (x, y), et la met à l'échelle. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_fit_pdi_page() à la place.

PDF_place_image
PDF_process_pdi
Fonctions PDF


Traite un document PDF importé

PDF_place_pdi_page
PDF_rect
Fonctions PDF
PHP Manual

PDF_process_pdi

(PECL pdflib >= 2.0.0)

PDF_process_pdi — Traite un document PDF importé

Description

int PDF_process_pdi ( resource $pdfdoc , int $doc , int $page , string $optlist )

Traite certains éléments d'un document PDF importé.

PDF_place_pdi_page
PDF_rect
Fonctions PDF


Dessine un rectangle

PDF_process_pdi
PDF_restore
Fonctions PDF
PHP Manual

PDF_rect

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rect — Dessine un rectangle

Description

bool PDF_rect ( resource $p , float $x , float $y , float $width , float $height )

pdf_rect dessine un rectangle. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_process_pdi
PDF_restore
Fonctions PDF


Rétablit l'ancien environnement graphique PDF

PDF_rect
PDF_resume_page
Fonctions PDF
PHP Manual

PDF_restore

(PHP 4, PECL pdflib >= 1.0.0)

PDF_restore — Rétablit l'ancien environnement graphique PDF

Description

bool PDF_restore ( resource $p )

pdf_restore() rétablit l'ancien environnement graphique, sauvé avec pdf_save(). Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_rect
PDF_resume_page
Fonctions PDF


Réouvre une page

PDF_restore
PDF_rotate
Fonctions PDF
PHP Manual

PDF_resume_page

(PECL pdflib >= 2.0.0)

PDF_resume_page — Réouvre une page

Description

bool PDF_resume_page ( resource $pdfdoc , string $optlist )

Réouvre une page pour y ajouter plus de contenus.

PDF_restore
PDF_rotate
Fonctions PDF


Configure la rotation

PDF_resume_page
PDF_save
Fonctions PDF
PHP Manual

PDF_rotate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rotate — Configure la rotation

Description

bool PDF_rotate ( resource $p , float $phi )

pdf_rotate() fait pivoter le système de phi degrés. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_resume_page
PDF_save
Fonctions PDF


Sauve l'environnement graphique courant

PDF_rotate
PDF_scale
Fonctions PDF
PHP Manual

PDF_save

(PHP 4, PECL pdflib >= 1.0.0)

PDF_save — Sauve l'environnement graphique courant

Description

bool PDF_save ( resource $p )

pdf_save() sauve l'environnement graphique courant. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_rotate
PDF_scale
Fonctions PDF


Configure l'échelle du document

PDF_save
PDF_set_border_color
Fonctions PDF
PHP Manual

PDF_scale

(PHP 4, PECL pdflib >= 1.0.0)

PDF_scale — Configure l'échelle du document

Description

bool PDF_scale ( resource $p , float $sx , float $sy )

PDF_scale() configure l'échelle du document en coordonnées horizontales et verticales. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_save
PDF_set_border_color
Fonctions PDF


[Obsolète] Configure la couleur des bords autour des liens et annotations

PDF_scale
PDF_set_border_dash
Fonctions PDF
PHP Manual

PDF_set_border_color

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_color — [Obsolète] Configure la couleur des bords autour des liens et annotations

Description

bool PDF_set_border_color ( resource $p , float $red , float $green , float $blue )

PDF_set_border_color() configure la couleur des bords autour des liens et annotations. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_annotation() avec l'option annotcolor à la place.

PDF_scale
PDF_set_border_dash
Fonctions PDF


[Obsolète] Configure le style des lignes autour des liens des annotations

PDF_set_border_color
PDF_set_border_style
Fonctions PDF
PHP Manual

PDF_set_border_dash

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_border_dash — [Obsolète] Configure le style des lignes autour des liens des annotations

Description

bool PDF_set_border_dash ( resource $pdfdoc , float $black , float $white )

pdf_set_border_dash() configure le style des lignes autour des liens. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_annotation() avec l'option dasharray à la place.

PDF_set_border_color
PDF_set_border_style
Fonctions PDF


[Obsolète] Choisit le style de bord autour des liens et annotations

PDF_set_border_dash
PDF_set_char_spacing
Fonctions PDF
PHP Manual

PDF_set_border_style

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_border_style — [Obsolète] Choisit le style de bord autour des liens et annotations

Description

bool PDF_set_border_style ( resource $pdfdoc , string $style , float $width )

PDF_set_border_style() configure le style des bords de tous les liens et annotations. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_create_annotation() avec les options borderstyle et linewidth à la place.

PDF_set_border_dash
PDF_set_char_spacing
Fonctions PDF


[Obsolète] Configure l'espacement des caractères

PDF_set_border_style
PDF_set_duration
Fonctions PDF
PHP Manual

PDF_set_char_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_char_spacing — [Obsolète] Configure l'espacement des caractères

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_value() avec le paramètre charspacing à la place.

PDF_set_border_style
PDF_set_duration
Fonctions PDF


[Obsolète] Configure la durée entre deux pages

PDF_set_char_spacing
PDF_set_gstate
Fonctions PDF
PHP Manual

PDF_set_duration

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_duration — [Obsolète] Configure la durée entre deux pages

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_begin_page_ext() avec le paramètre duration ou la fonction PDF_end_page_ext() à la place.

PDF_set_char_spacing
PDF_set_gstate
Fonctions PDF


Active un objet graphique

PDF_set_duration
PDF_set_horiz_scaling
Fonctions PDF
PHP Manual

PDF_set_gstate

(PECL pdflib >= 2.0.0)

PDF_set_gstate — Active un objet graphique

Description

bool PDF_set_gstate ( resource $pdfdoc , int $gstate )

Active un objet graphique.

PDF_set_duration
PDF_set_horiz_scaling
Fonctions PDF


[Obsolète] Configure l'échelle horizontale du texte

PDF_set_gstate
PDF_set_info_author
Fonctions PDF
PHP Manual

PDF_set_horiz_scaling

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_horiz_scaling — [Obsolète] Configure l'échelle horizontale du texte

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_value() avec le paramètre horizscaling à la place.

PDF_set_gstate
PDF_set_info_author
Fonctions PDF


[Obsolète] Remplit le champ d'auteur du document

PDF_set_horiz_scaling
PDF_set_info_creator
Fonctions PDF
PHP Manual

PDF_set_info_author

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_author — [Obsolète] Remplit le champ d'auteur du document

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_info() à la place.

PDF_set_horiz_scaling
PDF_set_info_creator
Fonctions PDF


[Obsolète] Remplit le champ de créateur du document

PDF_set_info_author
PDF_set_info_keywords
Fonctions PDF
PHP Manual

PDF_set_info_creator

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_creator — [Obsolète] Remplit le champ de créateur du document

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_info() à la place.

PDF_set_info_author
PDF_set_info_keywords
Fonctions PDF


[Obsolète] Remplit le champ de mots-clés du document

PDF_set_info_creator
PDF_set_info_subject
Fonctions PDF
PHP Manual

PDF_set_info_keywords

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_keywords — [Obsolète] Remplit le champ de mots-clés du document

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_info() à la place.

PDF_set_info_creator
PDF_set_info_subject
Fonctions PDF


[Obsolète] Remplit le champ de sujet du document

PDF_set_info_keywords
PDF_set_info_title
Fonctions PDF
PHP Manual

PDF_set_info_subject

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_subject — [Obsolète] Remplit le champ de sujet du document

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_info() à la place.

PDF_set_info_keywords
PDF_set_info_title
Fonctions PDF


[Obsolète] Remplit le champ de titre du document

PDF_set_info_subject
PDF_set_info
Fonctions PDF
PHP Manual

PDF_set_info_title

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_info_title — [Obsolète] Remplit le champ de titre du document

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_info() à la place.

PDF_set_info_subject
PDF_set_info
Fonctions PDF


Remplit un champ de l'en-tête de document PDF

PDF_set_info_title
PDF_set_layer_dependency
Fonctions PDF
PHP Manual

PDF_set_info

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_info — Remplit un champ de l'en-tête de document PDF

Description

bool PDF_set_info ( resource $p , string $key , string $value )

PDF_set_info() remplit l'un des champs d'en-tête du document. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_set_info_title
PDF_set_layer_dependency
Fonctions PDF


Définit les liens entre les interfaces

PDF_set_info
PDF_set_leading
Fonctions PDF
PHP Manual

PDF_set_layer_dependency

(PECL pdflib >= 2.0.0)

PDF_set_layer_dependency — Définit les liens entre les interfaces

Description

bool PDF_set_layer_dependency ( resource $pdfdoc , string $type , string $optlist )

Définit les hiérarchies et les groupes pour les interfaces. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction nécessite PDF 1.5.

PDF_set_info
PDF_set_leading
Fonctions PDF


[Obsolète] Configure la distance entre deux lignes de texte

PDF_set_layer_dependency
PDF_set_parameter
Fonctions PDF
PHP Manual

PDF_set_leading

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_leading — [Obsolète] Configure la distance entre deux lignes de texte

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_value() avec le paramètre leading à la place.

PDF_set_layer_dependency
PDF_set_parameter
Fonctions PDF


Modifie certains paramètres

PDF_set_leading
PDF_set_text_matrix
Fonctions PDF
PHP Manual

PDF_set_parameter

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_parameter — Modifie certains paramètres

Description

bool PDF_set_parameter ( resource $p , string $key , string $value )

PDF_set_parameter() modifie les paramètres PDFlib de type texte. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_set_leading
PDF_set_text_matrix
Fonctions PDF


[Obsolète] Configure la matrice de texte

PDF_set_parameter
PDF_set_text_pos
Fonctions PDF
PHP Manual

PDF_set_text_matrix

(PHP 4 <= 4.0.4)

PDF_set_text_matrix — [Obsolète] Configure la matrice de texte

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_scale(), PDF_translate(), PDF_rotate() ou PDF_skew() à la place.

PDF_set_parameter
PDF_set_text_pos
Fonctions PDF


Modifie la position du texte

PDF_set_text_matrix
PDF_set_text_rendering
Fonctions PDF
PHP Manual

PDF_set_text_pos

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_pos — Modifie la position du texte

Description

bool PDF_set_text_pos ( resource $p , float $x , float $y )

PDF_set_text_pos() modifie la position du texte. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_set_text_matrix
PDF_set_text_rendering
Fonctions PDF


[Obsolète] Détermine le rendu du texte

PDF_set_text_pos
PDF_set_text_rise
Fonctions PDF
PHP Manual

PDF_set_text_rendering

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rendering — [Obsolète] Détermine le rendu du texte

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_value() avec le paramètre textrendering à la place.

PDF_set_text_pos
PDF_set_text_rise
Fonctions PDF


[Obsolète] Configure l'élévation de texte

PDF_set_text_rendering
PDF_set_value
Fonctions PDF
PHP Manual

PDF_set_text_rise

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_text_rise — [Obsolète] Configure l'élévation de texte

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_value() avec le paramètre textrise à la place.

PDF_set_text_rendering
PDF_set_value
Fonctions PDF


Modifie certains paramètres numériques

PDF_set_text_rise
PDF_set_word_spacing
Fonctions PDF
PHP Manual

PDF_set_value

(PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0)

PDF_set_value — Modifie certains paramètres numériques

Description

bool PDF_set_value ( resource $p , string $key , float $value )

PDF_set_value() modifie la valeur du paramètre de la PDFlib key par la valeur de value. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_set_text_rise
PDF_set_word_spacing
Fonctions PDF


[Obsolète] Configure l'espace entre deux mots

PDF_set_value
PDF_setcolor
Fonctions PDF
PHP Manual

PDF_set_word_spacing

(PHP 4, PECL pdflib >= 1.0.0)

PDF_set_word_spacing — [Obsolète] Configure l'espace entre deux mots

Description

Cette fonction est obsolète depuis la version 3 de la PDFlib, utilisez la fonction PDF_set_value() avec le paramètre wordspacing à la place.

PDF_set_value
PDF_setcolor
Fonctions PDF


Configure la couleur de dessin et de remplissage

PDF_set_word_spacing
PDF_setdash
Fonctions PDF
PHP Manual

PDF_setcolor

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setcolor — Configure la couleur de dessin et de remplissage

Description

bool PDF_setcolor ( resource $p , string $fstype , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

PDF_setcolor() configure la couleur de dessin et de remplissage. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_set_word_spacing
PDF_setdash
Fonctions PDF


Configure le mode de pointillé

PDF_setcolor
PDF_setdashpattern
Fonctions PDF
PHP Manual

PDF_setdash

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setdash — Configure le mode de pointillé

Description

bool PDF_setdash ( resource $pdfdoc , float $b , float $w )

PDF_setdash configure le mode de pointillé à la taille de b pour les traits noirs, et w pour les traits blancs. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setcolor
PDF_setdashpattern
Fonctions PDF


Définit un modèle de masque

PDF_setdash
PDF_setflat
Fonctions PDF
PHP Manual

PDF_setdashpattern

(PECL pdflib >= 2.0.0)

PDF_setdashpattern — Définit un modèle de masque

Description

bool PDF_setdashpattern ( resource $pdfdoc , string $optlist )

Définit un modèle de masque suivant une liste d'option. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setdash
PDF_setflat
Fonctions PDF


Configure la position à plat (flatness)

PDF_setdashpattern
PDF_setfont
Fonctions PDF
PHP Manual

PDF_setflat

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setflat — Configure la position à plat (flatness)

Description

bool PDF_setflat ( resource $pdfdoc , float $flatness )

pdf_setflat() configure la position à plat, à une valeur comprise entre 0 et 100 inclus. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setdashpattern
PDF_setfont
Fonctions PDF


Configure la police courante

PDF_setflat
PDF_setgray_fill
Fonctions PDF
PHP Manual

PDF_setfont

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setfont — Configure la police courante

Description

bool PDF_setfont ( resource $pdfdoc , int $font , float $fontsize )

PDF_setfont() configure la police courante avec la police font et la taille fontsize. font est une ressource retournée par PDF_load_font(). Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setflat
PDF_setgray_fill
Fonctions PDF


[Obsolète] Configure la couleur de remplissage à un niveau de gris

PDF_setfont
PDF_setgray_stroke
Fonctions PDF
PHP Manual

PDF_setgray_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_fill — [Obsolète] Configure la couleur de remplissage à un niveau de gris

Description

bool PDF_setgray_fill ( resource $p , float $g )

PDF_setgray_fill() configure la couleur de remplissage à un niveau de gris, entre 0 et 1 inclus. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 4 de la PDFlib, utilisez la fonction PDF_setcolor() à la place.

PDF_setfont
PDF_setgray_stroke
Fonctions PDF


[Obsolète] Configure la couleur de dessin à un niveau de gris

PDF_setgray_fill
PDF_setgray
Fonctions PDF
PHP Manual

PDF_setgray_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray_stroke — [Obsolète] Configure la couleur de dessin à un niveau de gris

Description

bool PDF_setgray_stroke ( resource $p , float $g )

PDF_setgray_stroke() configure la couleur de dessin à un niveau de gris, entre 0 et 1 inclus. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 4 de la PDFlib, utilisez la fonction PDF_setcolor() à la place.

PDF_setgray_fill
PDF_setgray
Fonctions PDF


[Obsolète] Configure la couleur de dessin et de remplissage à un niveau de gris

PDF_setgray_stroke
PDF_setlinecap
Fonctions PDF
PHP Manual

PDF_setgray

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setgray — [Obsolète] Configure la couleur de dessin et de remplissage à un niveau de gris

Description

bool PDF_setgray ( resource $p , float $g )

PDF_setgray() configure la couleur de dessin et de remplissage au niveau de gris g. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 4 de la PDFlib, utilisez la fonction PDF_setcolor() à la place.

PDF_setgray_stroke
PDF_setlinecap
Fonctions PDF


Configure le paramètre de linecap

PDF_setgray
PDF_setlinejoin
Fonctions PDF
PHP Manual

PDF_setlinecap

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinecap — Configure le paramètre de linecap

Description

bool PDF_setlinecap ( resource $p , int $linecap )

PDF_setlinecap configure le paramètre linecap à une valeur entre 0 et 2 inclusivement.

PDF_setgray
PDF_setlinejoin
Fonctions PDF


Configure le paramètre de linejoin

PDF_setlinecap
PDF_setlinewidth
Fonctions PDF
PHP Manual

PDF_setlinejoin

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinejoin — Configure le paramètre de linejoin

Description

bool PDF_setlinejoin ( resource $p , int $value )

PDF_setlinejoin() configure le paramètre de linejoin à une valeur entre 0 et 2 inclus. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setlinecap
PDF_setlinewidth
Fonctions PDF


Configure la largeur de ligne

PDF_setlinejoin
PDF_setmatrix
Fonctions PDF
PHP Manual

PDF_setlinewidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setlinewidth — Configure la largeur de ligne

Description

bool PDF_setlinewidth ( resource $p , float $width )

PDF_setlinewidth() configure la largeur de ligne à width. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setlinejoin
PDF_setmatrix
Fonctions PDF


Configure la matrice de transformation

PDF_setlinewidth
PDF_setmiterlimit
Fonctions PDF
PHP Manual

PDF_setmatrix

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setmatrix — Configure la matrice de transformation

Description

bool PDF_setmatrix ( resource $p , float $a , float $b , float $c , float $d , float $e , float $f )

pdf_setmatrix() configure explicitement la matrice de transformation. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setlinewidth
PDF_setmiterlimit
Fonctions PDF


Configure la "miter limit"

PDF_setmatrix
PDF_setpolydash
Fonctions PDF
PHP Manual

PDF_setmiterlimit

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setmiterlimit — Configure la "miter limit"

Description

bool PDF_setmiterlimit ( resource $pdfdoc , float $miter )

PDF_setmiterlimit() configure la "miter limit" à une valeur supérieure ou égale à 1. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_setmatrix
PDF_setpolydash
Fonctions PDF


[Obsolète] Configure des pointillés complexes

PDF_setmiterlimit
PDF_setrgbcolor_fill
Fonctions PDF
PHP Manual

PDF_setpolydash

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setpolydash — [Obsolète] Configure des pointillés complexes

Description

Cette fonction est obsolète depuis la version 5 de la PDFlib, utilisez la fonction PDF_setdashpattern() à la place.

PDF_setmiterlimit
PDF_setrgbcolor_fill
Fonctions PDF


[Obsolète] Choisit la couleur utilisée pour le remplissage

PDF_setpolydash
PDF_setrgbcolor_stroke
Fonctions PDF
PHP Manual

PDF_setrgbcolor_fill

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_fill — [Obsolète] Choisit la couleur utilisée pour le remplissage

Description

bool PDF_setrgbcolor_fill ( resource $p , float $red , float $green , float $blue )

PDF_setrgbcolor_fill() choisit la couleur utilisée pour le remplissage. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 4 de la PDFlib, utilisez la fonction PDF_setcolor() à la place.

PDF_setpolydash
PDF_setrgbcolor_stroke
Fonctions PDF


[Obsolète] Choisit la couleur utilisée pour le dessin

PDF_setrgbcolor_fill
PDF_setrgbcolor
Fonctions PDF
PHP Manual

PDF_setrgbcolor_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor_stroke — [Obsolète] Choisit la couleur utilisée pour le dessin

Description

bool PDF_setrgbcolor_stroke ( resource $p , float $red , float $green , float $blue )

PDF_setrgbcolor_stroke() choisit la couleur utilisée pour le dessin. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 4 de la PDFlib, utilisez la fonction PDF_setcolor() à la place.

PDF_setrgbcolor_fill
PDF_setrgbcolor
Fonctions PDF


[Obsolète] Choisit la couleur rgb de remplissage et de dessin

PDF_setrgbcolor_stroke
PDF_shading_pattern
Fonctions PDF
PHP Manual

PDF_setrgbcolor

(PHP 4, PECL pdflib >= 1.0.0)

PDF_setrgbcolor — [Obsolète] Choisit la couleur rgb de remplissage et de dessin

Description

bool PDF_setrgbcolor ( resource $p , float $red , float $green , float $blue )

PDF_setrgbcolor() choisit la couleur utilisée pour le dessin et le remplissage. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Cette fonction est obsolète depuis la version 4, utilisez la fonction PDF_setcolor() à la place.

PDF_setrgbcolor_stroke
PDF_shading_pattern
Fonctions PDF


Définit un masque d'ombrage

PDF_setrgbcolor
PDF_shading
Fonctions PDF
PHP Manual

PDF_shading_pattern

(PECL pdflib >= 2.0.0)

PDF_shading_pattern — Définit un masque d'ombrage

Description

int PDF_shading_pattern ( resource $pdfdoc , int $shading , string $optlist )

Définit un masque d'ombrage en utilisant un objet d'ombrage.

Cette fonction nécessite PDF 1.4 ou supérieur.

PDF_setrgbcolor
PDF_shading
Fonctions PDF


Définit un dégradé

PDF_shading_pattern
PDF_shfill
Fonctions PDF
PHP Manual

PDF_shading

(PECL pdflib >= 2.0.0)

PDF_shading — Définit un dégradé

Description

int PDF_shading ( resource $pdfdoc , string $shtype , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Définit un dégradé depuis la couleur courante vers une autre couleur.

Cette fonction nécessite PDF 1.4 ou supérieur.

PDF_shading_pattern
PDF_shfill
Fonctions PDF


Remplit un espace avec un dégradé

PDF_shading
PDF_show_boxed
Fonctions PDF
PHP Manual

PDF_shfill

(PECL pdflib >= 2.0.0)

PDF_shfill — Remplit un espace avec un dégradé

Description

bool PDF_shfill ( resource $pdfdoc , int $shading )

Remplit un espace avec un dégradé, basé sur un objet de dégradé.

Cette fonction nécessite PDF 1.4 ou supérieur.

PDF_shading
PDF_show_boxed
Fonctions PDF


[Obsolète] Affiche le texte dans un cadre

PDF_shfill
PDF_show_xy
Fonctions PDF
PHP Manual

PDF_show_boxed

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_boxed — [Obsolète] Affiche le texte dans un cadre

Description

int PDF_show_boxed ( resource $p , string $text , float $left , float $top , float $width , float $height , string $mode , string $feature )

Cette fonction est obsolète depuis la version 6 de la PDFlib, utilisez la fonction PDF_fit_textline() pour les lignes simples, ou la fonction PDF_*_textflow() pour les lignes multiples à la place.

PDF_shfill
PDF_show_xy
Fonctions PDF


Affiche un texte à une position donnée

PDF_show_boxed
PDF_show
Fonctions PDF
PHP Manual

PDF_show_xy

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show_xy — Affiche un texte à une position donnée

Description

bool PDF_show_xy ( resource $p , string $text , float $x , float $y )

PDF_show_xy affiche le texte text aux coordonnées x,y. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_show_boxed
PDF_show
Fonctions PDF


Affiche le texte à la position courante

PDF_show_xy
PDF_skew
Fonctions PDF
PHP Manual

PDF_show

(PHP 4, PECL pdflib >= 1.0.0)

PDF_show — Affiche le texte à la position courante

Description

bool PDF_show ( resource $pdfdoc , string $text )

pdf_show() affiche le texte text à la position courante, avec la police et la taille courante. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_show_xy
PDF_skew
Fonctions PDF


Incline le système de coordonnées

PDF_show
PDF_stringwidth
Fonctions PDF
PHP Manual

PDF_skew

(PHP 4, PECL pdflib >= 1.0.0)

PDF_skew — Incline le système de coordonnées

Description

bool PDF_skew ( resource $p , float $alpha , float $beta )

PDF_skew() incline le système de coordonnées de alpha degrés dans le sens des abscisses, et de beta degrés dans le sens des ordonnées. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_show
PDF_stringwidth
Fonctions PDF


Retourne la largeur d'un texte avec la police courante

PDF_skew
PDF_stroke
Fonctions PDF
PHP Manual

PDF_stringwidth

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stringwidth — Retourne la largeur d'un texte avec la police courante

Description

float PDF_stringwidth ( resource $p , string $text , int $font , float $fontsize )

PDF_stringwidth() retourne la largeur du texte text en utilisant les paramètres font et size.

PDF_skew
PDF_stroke
Fonctions PDF


Dessine la ligne le long du chemin

PDF_stringwidth
PDF_suspend_page
Fonctions PDF
PHP Manual

PDF_stroke

(PHP 4, PECL pdflib >= 1.0.0)

PDF_stroke — Dessine la ligne le long du chemin

Description

bool PDF_stroke ( resource $p )

PDF_stroke() dessine la ligne le long du chemin courant, avec la couleur courante et la largeur de ligne courante, puis clôt le chemin. Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

PDF_stringwidth
PDF_suspend_page
Fonctions PDF


Suspend une page

PDF_stroke
PDF_translate
Fonctions PDF
PHP Manual

PDF_suspend_page

(PECL pdflib >= 2.0.0)

PDF_suspend_page — Suspend une page

Description

bool PDF_suspend_page ( resource $pdfdoc , string $optlist )

Suspend la page courante et peut donc être réouverte plus tard avec la fonction PDF_resume_page().

PDF_stroke
PDF_translate
Fonctions PDF


Effectue une translation de l'origine du système de coordonnées

PDF_suspend_page
PDF_utf16_to_utf8
Fonctions PDF
PHP Manual

PDF_translate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_translate — Effectue une translation de l'origine du système de coordonnées

Description

bool PDF_translate ( resource $p , float $tx , float $ty )

PDF_translate() effectue une translation de l'origine du système de coordonnées d'un vecteur de (tx,ty).

PDF_suspend_page
PDF_utf16_to_utf8
Fonctions PDF


Convertit une chaîne UTF-16 en UTF-8

PDF_translate
PDF_utf32_to_utf16
Fonctions PDF
PHP Manual

PDF_utf16_to_utf8

(PECL pdflib >= 2.0.3)

PDF_utf16_to_utf8 — Convertit une chaîne UTF-16 en UTF-8

Description

string PDF_utf16_to_utf8 ( resource $pdfdoc , string $utf16string )

Convertit une chaîne UTF-16 en UTF-8.

PDF_translate
PDF_utf32_to_utf16
Fonctions PDF


Convertie une chaîne UTF-32 en UTF-16

PDF_utf16_to_utf8
PDF_utf8_to_utf16
Fonctions PDF
PHP Manual

PDF_utf32_to_utf16

(PECL pdflib >= Unknown future)

PDF_utf32_to_utf16 — Convertie une chaîne UTF-32 en UTF-16

Description

string PDF_utf32_to_utf16 ( resource $pdfdoc , string $utf32string , string $ordering )

Convertie une chaîne UTF-32 en UTF-16.

PDF_utf16_to_utf8
PDF_utf8_to_utf16
Fonctions PDF


Convertit une chaîne UTF-8 en UTF-16

PDF_utf32_to_utf16
PS
Fonctions PDF
PHP Manual

PDF_utf8_to_utf16

(PECL pdflib >= 2.0.3)

PDF_utf8_to_utf16 — Convertit une chaîne UTF-8 en UTF-16

Description

string PDF_utf8_to_utf16 ( resource $pdfdoc , string $utf8string , string $ordering )

Convertit une chaîne UTF-8 en UTF-16.

PDF_utf32_to_utf16
PS
Fonctions PDF


Création de document PostScript

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions PS
    • ps_add_bookmark — Ajoute un signet à la page courante
    • ps_add_launchlink — Ajoute un lien qui démarre un fichier
    • ps_add_locallink — Ajoute un lien à une page dans le même document
    • ps_add_note — Ajoute une note à la page courante
    • ps_add_pdflink — Ajoute un lien à une page à un second document PDF
    • ps_add_weblink — Ajoute un lien à un emplacement web
    • ps_arc — Dessine un arc dans le sens contraire des aiguilles d'une montre
    • ps_arcn — Dessine un arc dans le sens des aiguilles d'une montre
    • ps_begin_page — Démarre une nouvelle page
    • ps_begin_pattern — Démarre un nouveau motif
    • ps_begin_template — Démarre un nouveau modèle
    • ps_circle — Dessine un cercle
    • ps_clip — Attache le dessin au chemin courant
    • ps_close_image — Ferme l'image et libère la mémoire
    • ps_close — Ferme le document PostScript
    • ps_closepath_stroke — Ferme et trace un chemin
    • ps_closepath — Ferme un chemin
    • ps_continue_text — Continue un texte à la ligne suivante
    • ps_curveto — Dessine une courbe
    • ps_delete — Supprime toutes les ressources d'un document PostScript
    • ps_end_page — Termine une page
    • ps_end_pattern — Termine un motif
    • ps_end_template — Termine un modèle
    • ps_fill_stroke — Remplit et trace le chemin courant
    • ps_fill — Remplit le chemin courant
    • ps_findfont — Charge une police
    • ps_get_buffer — Récupère le tampon complet contenant les données PS générées
    • ps_get_parameter — Récupère certains paramètres
    • ps_get_value — Récupère certaines valeurs
    • ps_hyphenate — Relie un mot
    • ps_include_file — Lit un fichier externe avec du code PostScript brut
    • ps_lineto — Dessine une ligne
    • ps_makespotcolor — Crée une tache de couleur
    • ps_moveto — Fixe le point courant
    • ps_new — Crée un nouvel objet document PostScript
    • ps_open_file — Ouvre un fichier pour écriture
    • ps_open_image_file — Ouvre une image à partir d'un fichier
    • ps_open_image — Lit une image pour placement futur
    • ps_open_memory_image — Prend une image GD et retourne une image à placer dans un document PS
    • ps_place_image — Place une image sur la page
    • ps_rect — Dessine un rectangle
    • ps_restore — Restaure un contexte précédemment sauvegardé
    • ps_rotate — Fixe le facteur de rotation
    • ps_save — Sauvegarde le contexte courant
    • ps_scale — Fixe le facteur de redimensionnement
    • ps_set_border_color — Fixe la couleur des bordures pour les commentaires
    • ps_set_border_dash — Fixe la grandeur des tirets pour les bordures des commentaires
    • ps_set_border_style — Fixe le style de bordure des commentaires
    • ps_set_info — Assigne les champs d'informations d'un document
    • ps_set_parameter — Fixe certains paramètres
    • ps_set_text_pos — Fixe la position l'écriture du texte
    • ps_set_value — Fixe certaines valeurs
    • ps_setcolor — Fixe la couleur courante
    • ps_setdash — Fixe l'apparence d'une ligne pointillée
    • ps_setflat — Fixe la position à plat
    • ps_setfont — Fixe la police à utiliser pour la prochaine écriture
    • ps_setgray — Fixe la valeur de gris
    • ps_setlinecap — Fixe l'apparence des fins de ligne
    • ps_setlinejoin — Fixe comment les lignes connectés sont jointes
    • ps_setlinewidth — Fixe la largeur d'une ligne
    • ps_setmiterlimit — Fixe les limites de l'anglet
    • ps_setoverprintmode — Définit le mode "overprint"
    • ps_setpolydash — Fixe l'apparence d'une ligne pointillée
    • ps_shading_pattern — Crée un motif basé sur le ton
    • ps_shading — Crée un ton pour usage futur
    • ps_shfill — Remplit un espace avec un ton
    • ps_show_boxed — Écriture de texte dans une boîte
    • ps_show_xy2 — Affiche un texte à la position
    • ps_show_xy — Écrit du texte à la position donnée
    • ps_show2 — Affiche un texte à la position courante
    • ps_show — Écrit du texte
    • ps_string_geometry — Récupère les géométries d'une chaîne de caractères
    • ps_stringwidth — Récupère la largeur d'une chaîne de caractères
    • ps_stroke — Dessine le chemin courant
    • ps_symbol_name — Récupère le nom d'un glyphe
    • ps_symbol_width — Récupère la largeur d'un glyphe
    • ps_symbol — Écrit un glyphe
    • ps_translate — Fixe une translation
PDF_utf8_to_utf16
Introduction
Affichage des données non-textuelles


Introduction

Ce module permet de créer des documents PostScript. Il a beaucoup de similarités avec l'extension pdf. Actuellement, cet API est pratiquement identique et dans la plupart des cas, seuls les préfixes de chaque fonction sont remplacés de pdf_ par ps_. Cela fonctionne aussi pour les fonctions qui n'ont pas de signification dans le document PostScript (par exemple, l'ajout d'hyperliens) mais aura un effet si le document est converti en PDF.

Les documents créés par cette extension sont parfois même supérieurs aux documents créés avec l'extension pdf, parce que les fonctions de rendement de texte de pslib peuvent gérer le crénage, la coupure de mot et les ligatures qui résultent à un bien meilleur affichage de boîte texte.

PS
Installation/Configuration
PS


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
PS


Pré-requis

Vous devez au moins PHP 4.3.0 et pslib >= 0.1.12. La bibliothèque ps (pslib) est disponible à » http://pslib.sourceforge.net/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ps.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit une ressource de document PostScript, retournée par la fonction ps_new().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les deux tables suivantes listent toutes les constantes définies par l'extension ps.

Constantes pour line caps
Nom | Description
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |
Constantes pour line joins
Nom | Description
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

Types de ressources
Fonctions PS
PS


Fonctions PS

Contact Information

Si vous avez des commentaires, résolutions de bogues, améliorations pour soit cette extension ou pslib alors laissez moi un message à » steinm@php.net. Toute aide est la bienvenue.

Sommaire

  • ps_add_bookmark — Ajoute un signet à la page courante
  • ps_add_launchlink — Ajoute un lien qui démarre un fichier
  • ps_add_locallink — Ajoute un lien à une page dans le même document
  • ps_add_note — Ajoute une note à la page courante
  • ps_add_pdflink — Ajoute un lien à une page à un second document PDF
  • ps_add_weblink — Ajoute un lien à un emplacement web
  • ps_arc — Dessine un arc dans le sens contraire des aiguilles d'une montre
  • ps_arcn — Dessine un arc dans le sens des aiguilles d'une montre
  • ps_begin_page — Démarre une nouvelle page
  • ps_begin_pattern — Démarre un nouveau motif
  • ps_begin_template — Démarre un nouveau modèle
  • ps_circle — Dessine un cercle
  • ps_clip — Attache le dessin au chemin courant
  • ps_close_image — Ferme l'image et libère la mémoire
  • ps_close — Ferme le document PostScript
  • ps_closepath_stroke — Ferme et trace un chemin
  • ps_closepath — Ferme un chemin
  • ps_continue_text — Continue un texte à la ligne suivante
  • ps_curveto — Dessine une courbe
  • ps_delete — Supprime toutes les ressources d'un document PostScript
  • ps_end_page — Termine une page
  • ps_end_pattern — Termine un motif
  • ps_end_template — Termine un modèle
  • ps_fill_stroke — Remplit et trace le chemin courant
  • ps_fill — Remplit le chemin courant
  • ps_findfont — Charge une police
  • ps_get_buffer — Récupère le tampon complet contenant les données PS générées
  • ps_get_parameter — Récupère certains paramètres
  • ps_get_value — Récupère certaines valeurs
  • ps_hyphenate — Relie un mot
  • ps_include_file — Lit un fichier externe avec du code PostScript brut
  • ps_lineto — Dessine une ligne
  • ps_makespotcolor — Crée une tache de couleur
  • ps_moveto — Fixe le point courant
  • ps_new — Crée un nouvel objet document PostScript
  • ps_open_file — Ouvre un fichier pour écriture
  • ps_open_image_file — Ouvre une image à partir d'un fichier
  • ps_open_image — Lit une image pour placement futur
  • ps_open_memory_image — Prend une image GD et retourne une image à placer dans un document PS
  • ps_place_image — Place une image sur la page
  • ps_rect — Dessine un rectangle
  • ps_restore — Restaure un contexte précédemment sauvegardé
  • ps_rotate — Fixe le facteur de rotation
  • ps_save — Sauvegarde le contexte courant
  • ps_scale — Fixe le facteur de redimensionnement
  • ps_set_border_color — Fixe la couleur des bordures pour les commentaires
  • ps_set_border_dash — Fixe la grandeur des tirets pour les bordures des commentaires
  • ps_set_border_style — Fixe le style de bordure des commentaires
  • ps_set_info — Assigne les champs d'informations d'un document
  • ps_set_parameter — Fixe certains paramètres
  • ps_set_text_pos — Fixe la position l'écriture du texte
  • ps_set_value — Fixe certaines valeurs
  • ps_setcolor — Fixe la couleur courante
  • ps_setdash — Fixe l'apparence d'une ligne pointillée
  • ps_setflat — Fixe la position à plat
  • ps_setfont — Fixe la police à utiliser pour la prochaine écriture
  • ps_setgray — Fixe la valeur de gris
  • ps_setlinecap — Fixe l'apparence des fins de ligne
  • ps_setlinejoin — Fixe comment les lignes connectés sont jointes
  • ps_setlinewidth — Fixe la largeur d'une ligne
  • ps_setmiterlimit — Fixe les limites de l'anglet
  • ps_setoverprintmode — Définit le mode "overprint"
  • ps_setpolydash — Fixe l'apparence d'une ligne pointillée
  • ps_shading_pattern — Crée un motif basé sur le ton
  • ps_shading — Crée un ton pour usage futur
  • ps_shfill — Remplit un espace avec un ton
  • ps_show_boxed — Écriture de texte dans une boîte
  • ps_show_xy2 — Affiche un texte à la position
  • ps_show_xy — Écrit du texte à la position donnée
  • ps_show2 — Affiche un texte à la position courante
  • ps_show — Écrit du texte
  • ps_string_geometry — Récupère les géométries d'une chaîne de caractères
  • ps_stringwidth — Récupère la largeur d'une chaîne de caractères
  • ps_stroke — Dessine le chemin courant
  • ps_symbol_name — Récupère le nom d'un glyphe
  • ps_symbol_width — Récupère la largeur d'un glyphe
  • ps_symbol — Écrit un glyphe
  • ps_translate — Fixe une translation
Constantes pré-définies
ps_add_bookmark
PS


Ajoute un signet à la page courante

Fonctions PS
ps_add_launchlink
Fonctions PS
PHP Manual

ps_add_bookmark

(PECL ps >= 1.1.0)

ps_add_bookmark — Ajoute un signet à la page courante

Description

int ps_add_bookmark ( resource $psdoc , string $text [, int $parent = 0 [, int $open = 0 ]] )

Ajoute un signet pour la page courante. Les signets apparaissent normalement dans les lecteurs PDF sur la gauche de la page dans un arbre hiérarchique. Cliquer sur un signet sautera à la page donnée.

La note ne sera pas visible si le document est imprimé ou affiché, mais elle sera visible si le document est converti en PDF, soit par Acrobat Distiller™, soit par Ghostview.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

Le texte utilisé pour afficher le signet.

parent

Un signet précédemment créé par cette fonction qui est utilisé comme parent du nouveau signet.

open

Si open n'est pas égal à zéro, le signet sera montré ouvert dans le lecteur PDF.

Valeurs de retour

La valeur retournée est une référence pour le signet. Cela est utilisé seulement si le signet doit être utilisé en tant que parent. La valeur est supérieure à zéro si la fonction réussit. En cas d'erreur, 0 sera retourné.

Voir aussi

  • ps_add_launchlink() - Ajoute un lien qui démarre un fichier
  • ps_add_pdflink() - Ajoute un lien à une page à un second document PDF
  • ps_add_weblink() - Ajoute un lien à un emplacement web

Fonctions PS
ps_add_launchlink
Fonctions PS


Ajoute un lien qui démarre un fichier

ps_add_bookmark
ps_add_locallink
Fonctions PS
PHP Manual

ps_add_launchlink

(PECL ps >= 1.1.0)

ps_add_launchlink — Ajoute un lien qui démarre un fichier

Description

bool ps_add_launchlink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename )

ps_add_launchlink() place un hyperlien à la position donnée pointant vers un programme qui sera démarré lors du clic sur celui-ci. La position source de l'hyperlien est un rectangle avec son coin inférieur gauche à (llx, lly) et son coin haut droit à (urx, ury). Le rectangle a par défaut une mince bordure bleue.

La note ne sera pas visible si le document est imprimé ou affiché, mais elle sera visible si le document est converti en PDF, soit par Acrobat Distiller™, soit par Ghostview.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

llx

La position x du coin inférieur gauche.

lly

La position y du coin inférieur gauche.

urx

La position x du coin supérieur droit.

ury

La position y du coin supérieur droit.

filename

Le chemin où le programme sera démarré, lorsque le lien sera cliqué.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_add_locallink() - Ajoute un lien à une page dans le même document
  • ps_add_pdflink() - Ajoute un lien à une page à un second document PDF
  • ps_add_weblink() - Ajoute un lien à un emplacement web

ps_add_bookmark
ps_add_locallink
Fonctions PS


Ajoute un lien à une page dans le même document

ps_add_launchlink
ps_add_note
Fonctions PS
PHP Manual

ps_add_locallink

(PECL ps >= 1.1.0)

ps_add_locallink — Ajoute un lien à une page dans le même document

Description

bool ps_add_locallink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , int $page , string $dest )

ps_add_locallink() place un hyperlien à une position donnée pointant à une page dans le même document. Cliquer sur le lien sautera à la page donnée. La première page dans un document a le numéro 1.

La position source de l'hyperlien est un rectangle avec son coin inférieur gauche à (llx, lly) et son coin supérieur droit à (urx, lly). Le rectangle a par défaut une mince bordure bleue.

La note ne sera pas visible si le document est imprimé ou affiché, mais elle sera visible si le document est converti en PDF, soit par Acrobat Distiller™, soit par Ghostview.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

llx

La position x du coin inférieur gauche.

lly

La position y du coin inférieur gauche.

urx

La position x du coin supérieur droit.

ury

La position y du coin supérieur droit.

page

Le nombre de page affichée lors du clic sur le lien.

dest

Le paramètre dest détermine comment le document sera vu. Il peut être fitpage, fitwidth, fitheight ou fitbbox.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_add_launchlink() - Ajoute un lien qui démarre un fichier
  • ps_add_pdflink() - Ajoute un lien à une page à un second document PDF
  • ps_add_weblink() - Ajoute un lien à un emplacement web

ps_add_launchlink
ps_add_note
Fonctions PS


Ajoute une note à la page courante

ps_add_locallink
ps_add_pdflink
Fonctions PS
PHP Manual

ps_add_note

(PECL ps >= 1.1.0)

ps_add_note — Ajoute une note à la page courante

Description

bool ps_add_note ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $contents , string $title , string $icon , int $open )

ps_add_note() ajoute une note à une certaine position sur la page. Les notes sont comme de petites feuilles rectangulaires avec du texte par dessus, qui peut être placé n'importe où sur une page. Elles sont affichées soit pliées ou dépliées. Si elles sont dépliées, l'icône spécifiée est utilisée comme un marqueur.

La note ne sera pas visible si le document est imprimé ou affiché, mais elle sera visible si le document est converti en PDF, soit par Acrobat Distiller™, soit par Ghostview.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

llx

La position x du coin inférieur gauche.

lly

La position y du coin inférieur gauche.

urx

La position x du coin supérieur droit.

ury

La position y du coin supérieur droit.

contents

Le texte de la note.

title

Le titre de la note affiché en tant qu'en-tête de la note.

icon

L'icône montrée si la note est pliée. Le paramètre peut être fixé à comment, insert, note, paragraph, newparagraph, key ou help.

open

Si open n'est pas égal à zéro, la note sera affichée dépliée après l'ouverture du document dans un visualisateur PDF.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_add_pdflink() - Ajoute un lien à une page à un second document PDF
  • ps_add_launchlink() - Ajoute un lien qui démarre un fichier
  • ps_add_locallink() - Ajoute un lien à une page dans le même document
  • ps_add_weblink() - Ajoute un lien à un emplacement web

ps_add_locallink
ps_add_pdflink
Fonctions PS


Ajoute un lien à une page à un second document PDF

ps_add_note
ps_add_weblink
Fonctions PS
PHP Manual

ps_add_pdflink

(PECL ps >= 1.1.0)

ps_add_pdflink — Ajoute un lien à une page à un second document PDF

Description

bool ps_add_pdflink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $filename , int $page , string $dest )

ps_add_pdflink() place un hyperlien à une position donnée à un second document PDF. Cliquer sur le lien branchera au document à la page donnée. La première page dans un document a le numéro 1.

La position source de l'hyperlien est un rectangle avec son coin inférieur gauche à (llx, lly) et son coin supérieur droit à (urx, lly). Le rectangle a par défaut une mince bordure bleue.

La note ne sera pas visible si le document est imprimé ou affiché, mais elle sera visible si le document est converti en PDF, soit par Acrobat Distiller™, soit par Ghostview.

Liste de paramètres

psdoc

llx

La position x du coin inférieur gauche.

lly

La position y du coin inférieur gauche.

urx

La position x du coin supérieur droit.

ury

La position y du coin supérieur droit.

filename

Le nom du document PDF qui sera ouvert lors du clic sur ce lien.

page

Le numéro de page de la destination du document PDF.

dest

Le paramètre dest détermine comment le document sera vu. Il peut être fitpage, fitwidth, fitheight ou fitbbox.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_add_launchlink() - Ajoute un lien qui démarre un fichier
  • ps_add_locallink() - Ajoute un lien à une page dans le même document
  • ps_add_weblink() - Ajoute un lien à un emplacement web

ps_add_note
ps_add_weblink
Fonctions PS


Ajoute un lien à un emplacement web

ps_add_pdflink
ps_arc
Fonctions PS
PHP Manual

ps_add_weblink

(PECL ps >= 1.1.0)

ps_add_weblink — Ajoute un lien à un emplacement web

Description

bool ps_add_weblink ( resource $psdoc , float $llx , float $lly , float $urx , float $ury , string $url )

Place un hyperlien à la position donnée à une page web. La position source de l'hyperlien est un rectangle avec son coin inférieur gauche à (llx, lly) et son coin supérieur droit à (urx, ury). Le rectangle a par défaut une mince bordure bleue.

La note ne sera pas visible si le document est imprimé ou affiché, mais elle sera visible si le document est converti en PDF, soit par Acrobat Distiller™, soit par Ghostview.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

llx

La position x du coin inférieur gauche.

lly

La position y du coin inférieur gauche.

urx

La position x du coin supérieur droit.

ury

La position y du coin supérieur droit.

url

L'adresse url du lien hypertexte à être ouvert lors du clic sur ce lien, par exemple http://www.php.net.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_add_launchlink() - Ajoute un lien qui démarre un fichier
  • ps_add_locallink() - Ajoute un lien à une page dans le même document
  • ps_add_pdflink() - Ajoute un lien à une page à un second document PDF

ps_add_pdflink
ps_arc
Fonctions PS


Dessine un arc dans le sens contraire des aiguilles d'une montre

ps_add_weblink
ps_arcn
Fonctions PS
PHP Manual

ps_arc

(PECL ps >= 1.1.0)

ps_arc — Dessine un arc dans le sens contraire des aiguilles d'une montre

Description

bool ps_arc ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Dessine une portion d'un cercle avec un point milieu à (x, y). L'arc débute à un angle de alpha et termine avec un angle de beta. Il est tracé dans le sens contraire des aiguilles d'une montre (utilisez ps_arcn() pour dessiner dans le sens des aiguilles d'une montre). La sous trajectoire ajoutée à la trajectoire courante débute sur l'arc à l'angle alpha et termine sur l'arc à l'angle beta.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x du centre du cercle.

y

La position y du centre du cercle.

radius

Le rayon du cercle.

alpha

L'angle de départ donné en degrés.

beta

L'angle de fin donné en degrés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_arcn() - Dessine un arc dans le sens des aiguilles d'une montre

ps_add_weblink
ps_arcn
Fonctions PS


Dessine un arc dans le sens des aiguilles d'une montre

ps_arc
ps_begin_page
Fonctions PS
PHP Manual

ps_arcn

(PECL ps >= 1.1.0)

ps_arcn — Dessine un arc dans le sens des aiguilles d'une montre

Description

bool ps_arcn ( resource $psdoc , float $x , float $y , float $radius , float $alpha , float $beta )

Dessine une portion d'un cercle avec un point milieu à (x, y). L'arc débute à un angle de alpha et termine avec un angle de beta. Il est tracé dans le sens des aiguilles d'une montre (utilisez ps_arc() pour dessiner dans le sens contraire des aiguilles d'une montre). La sous trajectoire ajoutée à la trajectoire courante débute sur l'arc à l'angle beta et termine sur l'arc à l'angle alpha.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x du centre du cercle.

y

La position y du centre du cercle.

radius

Le rayon du cercle.

alpha

L'angle de départ donné en degrés.

beta

L'angle de fin donné en degrés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_arc() - Dessine un arc dans le sens contraire des aiguilles d'une montre

ps_arc
ps_begin_page
Fonctions PS


Démarre une nouvelle page

ps_arcn
ps_begin_pattern
Fonctions PS
PHP Manual

ps_begin_page

(PECL ps >= 1.1.0)

ps_begin_page — Démarre une nouvelle page

Description

bool ps_begin_page ( resource $psdoc , float $width , float $height )

Démarre une nouvelle page. Bien que les paramètres width et height implique une taille différente des feuilles pour chaque page, cela n'est pas possible dans PostScript. Le premier appel de ps_begin_page() fixera la taille des pages pour le document entier. Des appels consécutifs n'auront aucun effet, à l'exception pour créer une nouvelle page. La situation est différente si vous tentez de convertir le document PostScript en PDF. Cette fonction place des marques pdf à l'intérieur du document qui peuvent fixer la taille pour chaque page individuellement. Le document PDF résultant aura différentes tailles de pages.

Bien que le PostScript ne sait pas les tailles des différentes pages, pslib place une boîte de contour pour chaque page dans le document. La taille est évaluée par quelques lecteurs PostScript et aura précédence sur la BoundingBox dans l'en-tête du document. Ceci peut mener à des résultats non attendus lorsque vous fixez une BoundingBox dont le coin inférieur gauche n'est pas (0, 0), parce que la boîte de contour de la page aura toujours le coin inférieur gauche à (0, 0) et écrasera les configurations globales.

Chaque page est encapsulée en sauvegarde/restauration. Cela signifie, que la plupart des configurations effectuées sur une page ne seront pas retenues sur la page suivante.

S'il n'y a aucun appel de ps_findfond() jusqu'au premier appel de ps_begin_page(), alors l'en-tête du document PostScript sera affichée et le rectangle englobant sera fixé à la taille de la première page. Le coin inférieur gauche de la boîte de contour est fixée à (0, 0). Si ps_findfont() était appelée avant que l'en-tête ne soit déjà affichée, le document n'aura pas un rectangle englobant valide. Afin de prévenir cela, vous devriez appeler ps_set_info() pour fixer le champ d'information BoundingBox et possiblement Orientation avant d'appeler ps_findfont() ou ps_begin_page().

Note: Jusqu'à la version 0.2.6 de pslib, cette fonction écrasera toujours la BoundingBox et l'Orientation, si elle n'a pas été fixée avant avec la fonction ps_set_info() et que la fonction ps_findfont() n'ait jamais été appelée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

width

La largeur de la page en pixel, par exemple 596 pour le format A4.

height

La hauteur de la page en pixel, par exemple 842 pour le format A4.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_end_page() - Termine une page
  • ps_findfont() - Charge une police
  • ps_set_info() - Assigne les champs d'informations d'un document

ps_arcn
ps_begin_pattern
Fonctions PS


Démarre un nouveau motif

ps_begin_page
ps_begin_template
Fonctions PS
PHP Manual

ps_begin_pattern

(PECL ps >= 1.2.0)

ps_begin_pattern — Démarre un nouveau motif

Description

int ps_begin_pattern ( resource $psdoc , float $width , float $height , float $xstep , float $ystep , int $painttype )

Démarre un nouveau motif. Un motif est comme une page contenant par exemple un dessin qui peut être utilisé pour remplir des secteurs. Il est utilisé comme une couleur en appelant ps_setcolor() et en configurant l'emplacement de la couleur au motif.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

width

La largeur du motif en pixel.

height

La hauteur du motif en pixel.

x-step

La distance en pixel de l'emplacement du motif dans la direction horizontale.

y-step

La distance en pixel de l'emplacement du motif dans la direction verticale.

painttype

Doit être 1 ou 2.

Valeurs de retour

L'identifiant du motif ou FALSE si une erreur survient.

Exemples

Exemple #1 Création et utilisation d'un motif

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple de Motif");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Voir aussi

  • ps_end_pattern() - Termine un motif
  • ps_setcolor() - Fixe la couleur courante
  • ps_shading_pattern() - Crée un motif basé sur le ton

ps_begin_page
ps_begin_template
Fonctions PS


Démarre un nouveau modèle

ps_begin_pattern
ps_circle
Fonctions PS
PHP Manual

ps_begin_template

(PECL ps >= 1.2.0)

ps_begin_template — Démarre un nouveau modèle

Description

int ps_begin_template ( resource $psdoc , float $width , float $height )

ps_begin_template() démarre un nouveau modèle. Un modèle est appelé par un formulaire dans le langage PostScript. Il est créé de la même manière qu'un motif, mais est utilisé comme une image. Les modèles sont souvent utilisés pour les dessins qui sont placés plusieurs fois dans le document, par exemple un logo de compagnie. Toutes les fonctions de dessin peuvent être utilisées dans un modèle. Le modèle ne sera pas dessiné tant qu'il n'est pas placé par ps_place_image().

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

width

La largeur du modèle en pixels.

height

La hauteur du modèle en pixels.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Création et utilisation d'un modèle PostScript

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple de Modèle");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Voir aussi

  • ps_end_template() - Termine un modèle

ps_begin_pattern
ps_circle
Fonctions PS


Dessine un cercle

ps_begin_template
ps_clip
Fonctions PS
PHP Manual

ps_circle

(PECL ps >= 1.1.0)

ps_circle — Dessine un cercle

Description

bool ps_circle ( resource $psdoc , float $x , float $y , float $radius )

Dessine un cercle avec son point milieu à (x, y). Le cercle débute et termine à la position (x+radius, y). Si cette fonction est appelée à l'extérieur d'un chemin, elle démarrera un nouveau chemin. Si elle est appelée à l'intérieur d'un chemin, elle ajoutera le cercle comme étant un sous chemin. Si la dernière opération de dessin ne se termine pas au point (x+radius, y) alors il y aura un trou dans le chemin.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x du centre du cercle.

y

La position y du centre du cercle.

radius

Le rayon du cercle.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_arc() - Dessine un arc dans le sens contraire des aiguilles d'une montre
  • ps_arcn() - Dessine un arc dans le sens des aiguilles d'une montre

ps_begin_template
ps_clip
Fonctions PS


Attache le dessin au chemin courant

ps_circle
ps_close_image
Fonctions PS
PHP Manual

ps_clip

(PECL ps >= 1.1.0)

ps_clip — Attache le dessin au chemin courant

Description

bool ps_clip ( resource $psdoc )

Prend le chemin courant et l'utilise pour définir la bordure du secteur à attacher. Tout ce qui est dessiné à l'extérieur de ce secteur ne sera pas visible.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_closepath() - Ferme un chemin

ps_circle
ps_close_image
Fonctions PS


Ferme l'image et libère la mémoire

ps_clip
ps_close
Fonctions PS
PHP Manual

ps_close_image

(PECL ps >= 1.1.0)

ps_close_image — Ferme l'image et libère la mémoire

Description

void ps_close_image ( resource $psdoc , int $imageid )

Ferme une image et libère ses ressources. Une fois l'image fermée, elle ne peut plus être utilisée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

imageid

Identifiant d'une image retourné par ps_open_image() ou ps_open_image_file().

Valeurs de retour

Retourne NULL en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_open_image() - Lit une image pour placement futur
  • ps_open_image_file() - Ouvre une image à partir d'un fichier

ps_clip
ps_close
Fonctions PS


Ferme le document PostScript

ps_close_image
ps_closepath_stroke
Fonctions PS
PHP Manual

ps_close

(PECL ps >= 1.1.0)

ps_close — Ferme le document PostScript

Description

bool ps_close ( resource $psdoc )

Ferme le document PostScript.

Cette fonction écrit les dernières informations dans le document PostScript. Elle écrit aussi l'arbre des signets. ps_close() ne libère aucune ressource, ceci peut être fait par ps_delete().

Cette fonction est aussi appelée par ps_delete() si elle n'avait pas été appelée avant.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_open_file() - Ouvre un fichier pour écriture
  • ps_delete() - Supprime toutes les ressources d'un document PostScript

ps_close_image
ps_closepath_stroke
Fonctions PS


Ferme et trace un chemin

ps_close
ps_closepath
Fonctions PS
PHP Manual

ps_closepath_stroke

(PECL ps >= 1.1.0)

ps_closepath_stroke — Ferme et trace un chemin

Description

bool ps_closepath_stroke ( resource $psdoc )

Connecte le dernier point avec le premier point du chemin et dessine le résultat de la ligne fermée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_closepath() - Ferme un chemin

ps_close
ps_closepath
Fonctions PS


Ferme un chemin

ps_closepath_stroke
ps_continue_text
Fonctions PS
PHP Manual

ps_closepath

(PECL ps >= 1.1.0)

ps_closepath — Ferme un chemin

Description

bool ps_closepath ( resource $psdoc )

Connecte le dernier point avec le premier point du chemin. Le chemin résultant peut être utilisé comme ligne, remplissage, coupure, etc.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_clip() - Attache le dessin au chemin courant
  • ps_closepath_stroke() - Ferme et trace un chemin

ps_closepath_stroke
ps_continue_text
Fonctions PS


Continue un texte à la ligne suivante

ps_closepath
ps_curveto
Fonctions PS
PHP Manual

ps_continue_text

(PECL ps >= 1.1.0)

ps_continue_text — Continue un texte à la ligne suivante

Description

bool ps_continue_text ( resource $psdoc , string $text )

Écrit un texte une ligne en dessous de la dernière ligne. L'espace entre les lignes est pris avec la valeur "leading" qui doit être fixée avec ps_set_value(). La position actuelle du texte est déterminée par les valeurs "textx" et "texty" qui peuvent être récupérées par ps_get_value().

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

Le texte à afficher.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_show() - Écrit du texte
  • ps_show_xy() - Écrit du texte à la position donnée
  • ps_show_boxed() - Écriture de texte dans une boîte

ps_closepath
ps_curveto
Fonctions PS


Dessine une courbe

ps_continue_text
ps_delete
Fonctions PS
PHP Manual

ps_curveto

(PECL ps >= 1.1.0)

ps_curveto — Dessine une courbe

Description

bool ps_curveto ( resource $psdoc , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

ps_curveto() ajoute une section d'une courbe Bézier cubique décrit par les trois points de contrôle donnés au chemin courant.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x1

Position x du premier point de contrôle.

y1

Position y du premier point de contrôle.

x2

Position x du deuxième point de contrôle.

y2

Position y du deuxième point de contrôle.

x3

Position x du troisième point de contrôle.

y3

Position y du troisième point de contrôle.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_lineto() - Dessine une ligne

ps_continue_text
ps_delete
Fonctions PS


Supprime toutes les ressources d'un document PostScript

ps_curveto
ps_end_page
Fonctions PS
PHP Manual

ps_delete

(PECL ps >= 1.1.0)

ps_delete — Supprime toutes les ressources d'un document PostScript

Description

bool ps_delete ( resource $psdoc )

Libère principale la mémoire utilisée par le document. Ferme aussi un fichier, s'il n'était pas fermée auparavant avec la fonction ps_close(). Vous devriez dans tous les cas fermer le fichier avec ps_close() avant, car ps_close() ne ferme pas simplement le fichier mais écrit aussi les dernières informations contenant le commentaire PostScript avec le nombre de pages dans le document et ajoute la hiérarchie des signets.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_close() - Ferme le document PostScript

ps_curveto
ps_end_page
Fonctions PS


Termine une page

ps_delete
ps_end_pattern
Fonctions PS
PHP Manual

ps_end_page

(PECL ps >= 1.1.0)

ps_end_page — Termine une page

Description

bool ps_end_page ( resource $psdoc )

Termine une page qui a été débutée avec ps_begin_page(). Terminer une page laissera le contexte courant de dessin, qui par exemple requiert de recharger les polices si elles ont été chargées avec la page et fixe plusieurs autres paramètres de dessin comme la largeur des lignes, la couleur...

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_begin_page() - Démarre une nouvelle page

ps_delete
ps_end_pattern
Fonctions PS


Termine un motif

ps_end_page
ps_end_template
Fonctions PS
PHP Manual

ps_end_pattern

(PECL ps >= 1.2.0)

ps_end_pattern — Termine un motif

Description

bool ps_end_pattern ( resource $psdoc )

Termine un motif qui a été débuté avec ps_begin_pattern(). Une fois qu'un motif est terminé, il peut être utilisé en tant que couleur pour remplir des secteurs.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_begin_pattern() - Démarre un nouveau motif

ps_end_page
ps_end_template
Fonctions PS


Termine un modèle

ps_end_pattern
ps_fill_stroke
Fonctions PS
PHP Manual

ps_end_template

(PECL ps >= 1.2.0)

ps_end_template — Termine un modèle

Description

bool ps_end_template ( resource $psdoc )

Termine un modèle qui a été débuté avec ps_begin_template(). Une fois un modèle terminé, il peut être utilisé comme une image.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_begin_template() - Démarre un nouveau modèle

ps_end_pattern
ps_fill_stroke
Fonctions PS


Remplit et trace le chemin courant

ps_end_template
ps_fill
Fonctions PS
PHP Manual

ps_fill_stroke

(PECL ps >= 1.1.0)

ps_fill_stroke — Remplit et trace le chemin courant

Description

bool ps_fill_stroke ( resource $psdoc )

Remplit et dessine le chemin construit avec des fonctions de dessin comme ps_lineto() précédemment appelées.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_fill() - Remplit le chemin courant
  • ps_stroke() - Dessine le chemin courant

ps_end_template
ps_fill
Fonctions PS


Remplit le chemin courant

ps_fill_stroke
ps_findfont
Fonctions PS
PHP Manual

ps_fill

(PECL ps >= 1.1.0)

ps_fill — Remplit le chemin courant

Description

bool ps_fill ( resource $psdoc )

Remplit le chemin construit avec des fonctions de dessin comme ps_lineto() précédemment appelées.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_fill_stroke() - Remplit et trace le chemin courant
  • ps_stroke() - Dessine le chemin courant

ps_fill_stroke
ps_findfont
Fonctions PS


Charge une police

ps_fill
ps_get_buffer
Fonctions PS
PHP Manual

ps_findfont

(PECL ps >= 1.1.0)

ps_findfont — Charge une police

Description

int ps_findfont ( resource $psdoc , string $fontname , string $encoding [, bool $embed = false ] )

ps_findfont() charge une police pour utilisation ultérieure. Avant que le texte soit écrit avec la police chargée, il doit être fixé avec ps_setfont(). Cette fonction doit avoir le fichier de police métrique "adobe" afin de calculer l'espace utilisé par les caractères. Une police qui est chargée dans une page sera seulement disponible sur cette page. Les polices qui seront utilisées dans le document complet doivent être chargées avant le premier appel de ps_begin_page(). L'appel de ps_findfont() entre les pages mettra la cette police disponible pour toutes les pages qui suivent.

Le nom du fichier afm doit être fontname.afm. Si la police doit être incorporée, le fichier fontname.pfb contenant le dessin de la police doit être présent aussi.

L'appel de ps_findfont() avant la première page requiert l'affichage de l'en-tête du postscript qui inclut le BoundingBox pour le document entier. Normalement, le BoundingBox est fixé avec le premier appel de ps_begin_page() qui vient maintenant après ps_findfont(). En conséquence, le BoundingBox n'a pas été fixée et une erreur sera lancée lorsque ps_findfont() sera appelée. Afin de prévenir cette situation, vous devriez appeler la fonction ps_set_parameter() pour fixer le BoundingBox avant que ps_findfont() soit appelée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

fontname

Le nom de la police.

encoding

ps_findfont() essaiera de charger le fichier passé dans le paramètre encoding. Les fichiers d'encodage sont de même syntaxe que ceux utilisés par dvips(1). Ils contiennent un vecteur de police d'encodage (qui n'est actuellement pas utilisé, mais qui doit être présent) et une liste de ligatures en extra pour prolonger la liste des ligatures dérivées du fichier AFM.

encoding peut être NULL ou une chaîne de caractères vide si l'encodage par défaut (TeXBase1) désire être utilisé.

Si l'encodage est fixé à builtin alors il n'y aura pas d'encodage à nouveau et l'encodage spécifique de police sera utilisé. Cela est très utile pour les polices avec symboles.

embed

Si fixé à une valeur >0, la police sera incorporée dans le document. Ceci requiert la présence du fichier dessin (.pfb).

Valeurs de retour

Retourne un identifiant de la police ou zéro en cas d'erreur. L'identifiant est un nombre positif.

Voir aussi

  • ps_begin_page() - Démarre une nouvelle page
  • ps_setfont() - Fixe la police à utiliser pour la prochaine écriture

ps_fill
ps_get_buffer
Fonctions PS


Récupère le tampon complet contenant les données PS générées

ps_findfont
ps_get_parameter
Fonctions PS
PHP Manual

ps_get_buffer

(PECL ps >= 1.1.0)

ps_get_buffer — Récupère le tampon complet contenant les données PS générées

Description

string ps_get_buffer ( resource $psdoc )

Cette fonction n'est pas encore implémentée. Elle retournera toujours une chaîne de caractères vide. L'idée pour une future implémentation est d'écrire le contenu du fichier postscript dans un tampon interne si création en mémoire est demandée et de retourner le contenu du tampon avec la fonction. Présentement, les documents créés en mémoire sont envoyés au navigateur sans utilisation de tampon.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Voir aussi

  • ps_open_file() - Ouvre un fichier pour écriture

ps_findfont
ps_get_parameter
Fonctions PS


Récupère certains paramètres

ps_get_buffer
ps_get_value
Fonctions PS
PHP Manual

ps_get_parameter

(PECL ps >= 1.1.0)

ps_get_parameter — Récupère certains paramètres

Description

string ps_get_parameter ( resource $psdoc , string $name [, float $modifier ] )

Récupère plusieurs paramètre qui ont été fixés directement par ps_set_parameter() ou indirectement par une ou d'autres fonctions. Les paramètres sont par définitions des valeurs de chaîne de caractères. Cette fonction ne peut être utilisée pour récupérer les ressources qui ont été aussi fixées par ps_set_parameter().

Le paramètre name peut avoir une des valeurs suivantes.

fontname

Le nom de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

fontencoding

L'encodage de la police présentement active.

dottedversion

La version la bibliothèque sous-jacente pslib dans le format <majeur>.<mineur>.<sousmineur>

scope

La portée courante du dessin. Peut être un objet, un document, NULL, une page, un motif, un chemin, un modèle, un prolog, une police, un glyphe.

ligaturedisolvechar

Le caractère qui détache une ligature. Si vous utilisez une police qui contient une ligature `ff' et `|` est le caractère à détacher la ligature, alors `f|f' donnera deux `f' au lieu de la ligature `ff'.

imageencoding

L'encodage utilisé pour encoder les images. Peut être soit hex ou 85. L'encodage hex utilise deux octets dans le fichier PostScript, chaque octet dans une image. 85 représente l'encodage Ascii85.

linenumbermode

Fixe à paragraph si des lignes sont numérotées à l'intérieur d'un paragraphe ou box si elles sont numérotées dans une boîte qui l'entoure.

linebreak

Seulement utilisé si le texte est affiché avec ps_show_boxed(). Si fixé à TRUE, un retour au chariot ajoutera un saut de ligne.

parbreak

Seulement utilisé si le texte est affiché avec ps_show_boxed(). Si fixé à TRUE, un retour au chariot démarrera un nouveau paragraphe.

hyphenation

Seulement utilisé si le texte est affiché avec ps_show_boxed(). Si fixé à TRUE, le paragraphe sera divisé si un dictionnaire de trait d'union est fixé et existe.

hyphendict

Nom du fichier du dictionnaire utilisé pour le motif de trait d'union.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

name

Nom du paramètre.

modifier

Un identifiant requis si le paramètre d'une ressource est requis, par exemple, la taille d'une image. Dans ce cas, l'identifiant de la ressource est passé.

Valeurs de retour

Retourne la valeur du paramètre ou FALSE si une erreur survient.

Voir aussi

  • ps_set_parameter() - Fixe certains paramètres

ps_get_buffer
ps_get_value
Fonctions PS


Récupère certaines valeurs

ps_get_parameter
ps_hyphenate
Fonctions PS
PHP Manual

ps_get_value

(PECL ps >= 1.1.0)

ps_get_value — Récupère certaines valeurs

Description

float ps_get_value ( resource $psdoc , string $name [, float $modifier ] )

Récupère plusieurs valeurs qui ont été fixées par ps_set_value(). Les valeurs sont par définition des valeurs de nombre décimal.

Le paramètre name peut avoir une des valeurs suivantes.

fontsize

La taille de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

font

La police présentement active en elle-même.

imagewidth

La largeur de l'image dont l'identifiant est passé dans le paramètre modifier.

imageheight

La hauteur de l'image dont l'identifiant est passé dans le paramètre modifier.

capheight

La hauteur d'une capitale M dans la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

ascender

La hampe de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

descender

Le jambage de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

italicangle

Le paramètre italicangle de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

underlineposition

Le paramètre underlineposition de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

underlinethickness

Le paramètre underlinethickness de la police présentement active ou la police dont l'identifiant est passé dans le paramètre modifier.

textx

La position x courante d'affichage du texte.

texty

La position y courante d'affichage du texte.

textrendering

Le mode courant pour le rendu du texte.

textrise

L'espace par lequel le texte est augmenté au dessus de la ligne de base.

leading

La distance entre les lignes de texte en points.

wordspacing

L'espace entre les mots en tant que multiple de la largeur d'un caractère d'espace.

charspacing

L'espace entre les caractères. Si charspacing est != 0.0, les ligatures seront toujours détachées.

hyphenminchars

Nombre minimal de caractères avant un trait d'union à la fin d'un mot.

parindent

L'indentation des premières n lignes dans un paragraphe.

numindentlines

Nombre de ligne dans un paragraphe à indenter si paraindent != 0.0.

parskip

Distance entre les paragraphes.

linenumberspace

Espace général en face de chaque ligne pour le numéro de ligne.

linenumbersep

Espace entre les lignes et les numéros de lignes.

major

Le numéro de version majeur de pslib.

minor

Le numéro de version mineur de pslib.

subminor, revision

Le numéro de version sous mineur de pslib.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

name

Nom de la valeur.

modifier

Le paramètre modifier spécifie la ressource pour laquelle la valeur sera récupérée. Cela peut être l'ID de la police ou une image.

Valeurs de retour

Retourne la valeur du paramètre ou FALSE.

Voir aussi

  • ps_set_value() - Fixe certaines valeurs

ps_get_parameter
ps_hyphenate
Fonctions PS


Relie un mot

ps_get_value
ps_include_file
Fonctions PS
PHP Manual

ps_hyphenate

(PECL ps >= 1.1.1)

ps_hyphenate — Relie un mot

Description

array ps_hyphenate ( resource $psdoc , string $text )

Relie le mot passé. ps_hyphenate() évalue la valeur hyphenminchars (fixé par ps_set_value()) et le paramètre hyphendic (fixé par ps_set_parameter()). hyphendict doit être fixé avant d'appeler cette fonction.

Cette fonction requiert que la configuration locale LC_CTYPE soit correctement faîte. Cela est fait lorsque l'extension est initialisée en utilisant les variables d'environnement. Sur les systèmes Unix, lisez les pages de manuel de locale pour plus d'informations.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

text ne devrait pas contenir de caractères non alpha. Les positions possibles pour les coupures sont retournées dans un tableau de nombre entier. Chaque nombre est la position du caractère dans text après que la liaison puisse avoir lieu.

Valeurs de retour

Un tableau d'entier indiquant la position des coupures possibles dans le texte ou FALSE si une erreur survient.

Exemples

Exemple #1 Coupe un texte

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
  echo $word[$i];
  if(in_array($i, $hyphens))
    echo "-";
}
ps_delete($psdoc);
?>

L'exemple ci-dessus va afficher :

Ko-ordi-na-ten-sys-tem

Voir aussi

  • ps_show_boxed() - Écriture de texte dans une boîte
  • locale(1)

ps_get_value
ps_include_file
Fonctions PS


Lit un fichier externe avec du code PostScript brut

ps_hyphenate
ps_lineto
Fonctions PS
PHP Manual

ps_include_file

(PECL ps >= 1.3.4)

ps_include_file — Lit un fichier externe avec du code PostScript brut

Description

bool ps_include_file ( resource $psdoc , string $file )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

psdoc

Identifiant de ressource du fichier postscript, tel que retourné par la fonction ps_new().

file

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ps_hyphenate
ps_lineto
Fonctions PS


Dessine une ligne

ps_include_file
ps_makespotcolor
Fonctions PS
PHP Manual

ps_lineto

(PECL ps >= 1.1.0)

ps_lineto — Dessine une ligne

Description

bool ps_lineto ( resource $psdoc , float $x , float $y )

Ajoute une ligne droite à partir du point courant aux coordonnées données au chemin courant. Utilisez ps_moveto() pour fixer le point de départ de la ligne.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x du dernier point de la ligne.

y

La position y du dernier point de la ligne.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Dessin d'un rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple Lineto");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Voir aussi

  • ps_moveto() - Fixe le point courant

ps_include_file
ps_makespotcolor
Fonctions PS


Crée une tache de couleur

ps_lineto
ps_moveto
Fonctions PS
PHP Manual

ps_makespotcolor

(PECL ps >= 1.1.0)

ps_makespotcolor — Crée une tache de couleur

Description

int ps_makespotcolor ( resource $psdoc , string $name [, int $reserved = 0 ] )

Crée une tache de couleur à partir de la couleur de remplissage courante. La couleur de remplissage doit être définie en espace colorimétrique rgb, cmyk ou gris. Le nom de la tache de couleur peut être un nom arbitraire. Une tache de couleur peut être fixée à n'importe quelle couleur avec ps_setcolor(). Lorsque le document n'est pas imprimé, mais est affiché par un visualisateur PostScript, la couleur donnée dans l'espace de couleur spécifié est utilisé.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

name

Nom de la tache de couleur, par exemple Pantone 5565.

Valeurs de retour

L'ID de la nouvelle tache de couleur ou 0 en cas d'erreur.

Exemples

Exemple #1 Création et utilisation d'une tache de couleur

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple de Tache de Couleur");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Cet exemple crée une tache de couleur "PANTONE 5565 C" qui est un vert foncé (olive) et remplit un rectangle avec une intensité de 50%.

Voir aussi

  • ps_setcolor() - Fixe la couleur courante

ps_lineto
ps_moveto
Fonctions PS


Fixe le point courant

ps_makespotcolor
ps_new
Fonctions PS
PHP Manual

ps_moveto

(PECL ps >= 1.1.0)

ps_moveto — Fixe le point courant

Description

bool ps_moveto ( resource $psdoc , float $x , float $y )

Fixe le point courant à de nouvelles coordonnées. Si cela est le premier appel de ps_moveto() après qu'un chemin précédent ait été terminé alors il démarrera un nouveau chemin. Si cette fonction est appelée au milieu d'un chemin, elle fixera simplement le point courant et débutera un sous chemin.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x du point où se déplacer.

y

La position y du point où se déplacer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_lineto() - Dessine une ligne

ps_makespotcolor
ps_new
Fonctions PS


Crée un nouvel objet document PostScript

ps_moveto
ps_open_file
Fonctions PS
PHP Manual

ps_new

(PECL ps >= 1.1.0)

ps_new — Crée un nouvel objet document PostScript

Description

resource ps_new ( void )

Crée une nouvelle instance de document. Elle ne crée pas le fichier sur le disque ou dans la mémoire. Elle prépare simplement tout. ps_new() est normalement suivie par un appel de ps_open_file() pour créer le document PostScript.

Valeurs de retour

Ressource d'un document PostScript ou FALSE si une erreur survient. La valeur de retour est passé à toutes les autres fonctions en tant que premier argument.

Voir aussi

  • ps_delete() - Supprime toutes les ressources d'un document PostScript

ps_moveto
ps_open_file
Fonctions PS


Ouvre un fichier pour écriture

ps_new
ps_open_image_file
Fonctions PS
PHP Manual

ps_open_file

(PECL ps >= 1.1.0)

ps_open_file — Ouvre un fichier pour écriture

Description

bool ps_open_file ( resource $psdoc [, string $filename ] )

Crée un nouveau fichier sur le disque et écrit le document PostScript à l'intérieur. Le fichier sera fermé lorsque ps_close() sera appelée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

filename

Le nom du fichier PostScript. Si filename n'est pas passé, le document sera créé en mémoire et toutes les écritures iront directement au navigateur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_close() - Ferme le document PostScript

ps_new
ps_open_image_file
Fonctions PS


Ouvre une image à partir d'un fichier

ps_open_file
ps_open_image
Fonctions PS
PHP Manual

ps_open_image_file

(PECL ps >= 1.1.0)

ps_open_image_file — Ouvre une image à partir d'un fichier

Description

int ps_open_image_file ( resource $psdoc , string $type , string $filename [, string $stringparam [, int $intparam = 0 ]] )

Charge une image pour une utilisation ultérieure.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

type

Type de l'image. Les valeurs possibles sont png, jpeg ou eps.

filename

Le nom du fichier contenant les données de l'image.

stringparam

Non utilisé.

intparam

Non utilisé.

Valeurs de retour

Retourne un identifiant de l'image ou zéro en cas d'erreur. L'identifiant est un nombre positive plus grand que 0.

Voir aussi

  • ps_open_image() - Lit une image pour placement futur
  • ps_place_image() - Place une image sur la page
  • ps_close_image() - Ferme l'image et libère la mémoire

ps_open_file
ps_open_image
Fonctions PS


Lit une image pour placement futur

ps_open_image_file
ps_open_memory_image
Fonctions PS
PHP Manual

ps_open_image

(PECL ps >= 1.1.0)

ps_open_image — Lit une image pour placement futur

Description

int ps_open_image ( resource $psdoc , string $type , string $source , string $data , int $lenght , int $width , int $height , int $components , int $bpc , string $params )

Lit une image qui est déjà disponible en mémoire. Le paramètre source n'est présentent pas évalué et est assumé d'être memory. Les données de l'image est une séquence de pixels démarrant avec le coin supérieur gauche et termine avec le coin inférieur droit. Chaque pixel consiste de composants de couleur components et chaque composant a bpc bits.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

type

Type de l'image. Les valeurs possibles sont png, jpeg ou eps.

source

Non utilisé.

data

Les données de l'image.

length

La taille des données de l'image.

width

La largeur de l'image.

height

La hauteur de l'image.

components

Le nombre de composant pour chaque pixel. Cela peut être 1 (images à échelle de gris), 3 (images rgb) ou 4 (images cmyk, rgba).

bpc

Nombre de bits par composant (très souvent 8).

params

Valeurs de retour

Retourne l'identifiant de l'image ou zéro en cas d'erreur. L'identifiant est un nombre positif supérieur à 0.

Voir aussi

  • ps_open_image_file() - Ouvre une image à partir d'un fichier
  • ps_place_image() - Place une image sur la page
  • ps_close_image() - Ferme l'image et libère la mémoire

ps_open_image_file
ps_open_memory_image
Fonctions PS


Prend une image GD et retourne une image à placer dans un document PS

ps_open_image
ps_place_image
Fonctions PS
PHP Manual

ps_open_memory_image

(PECL ps >= 1.1.0)

ps_open_memory_image — Prend une image GD et retourne une image à placer dans un document PS

Description

int ps_open_memory_image ( resource $psdoc , int $gd )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

psdoc

Identifiant de ressource du fichier postscript, tel que retourné par la fonction ps_new().

gd

ps_open_image
ps_place_image
Fonctions PS


Place une image sur la page

ps_open_memory_image
ps_rect
Fonctions PS
PHP Manual

ps_place_image

(PECL ps >= 1.1.0)

ps_place_image — Place une image sur la page

Description

bool ps_place_image ( resource $psdoc , int $imageid , float $x , float $y , float $scale )

Place une image précédemment chargée sur la page. L'image peut être redimensionnée. Si l'image est tournée, vous devrez tourner le système de coordonnées avant avec ps_rotate().

Liste de paramètres

psdoc

Identifiant de ressource PostScript, tel que retourné par ps_new().

imageid

Identifiant d'un fichier postscript retourné par ps_open_image() ou ps_open_image_file().

x

La position x du coin inférieur gauche de l'image.

y

La position y du coin inférieur gauche de l'image.

scale

Le facteur de redimensionnement pour l'image. Un redimensionnement de 1.0 donnera une résolution de 72 dpi, parce que chaque pixel est équivalent à 1 point.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_open_image() - Lit une image pour placement futur
  • ps_open_image_file() - Ouvre une image à partir d'un fichier

ps_open_memory_image
ps_rect
Fonctions PS


Dessine un rectangle

ps_place_image
ps_restore
Fonctions PS
PHP Manual

ps_rect

(PECL ps >= 1.1.0)

ps_rect — Dessine un rectangle

Description

bool ps_rect ( resource $psdoc , float $x , float $y , float $width , float $height )

Dessine un rectangle avec son coin inférieur gauche à (x, y). Le rectangle débute et termine sur son coin inférieur gauche. Si cette fonction est appelée à l'extérieur d'un chemin, elle démarrera un nouveau chemin. Si elle est appelée à l'intérieur d'un chemin, elle ajoutera le rectangle comme étant un sous chemin. Si la dernière opération de dessin ne se termine pas au coin inférieur gauche alors il y aura un trou dans le chemin.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x du coin inférieur gauche du rectangle.

y

La position y du coin inférieur gauche du rectangle.

width

La largeur de l'image.

height

La hauteur de l'image.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_arc() - Dessine un arc dans le sens contraire des aiguilles d'une montre
  • ps_cirle()
  • ps_lineto() - Dessine une ligne

ps_place_image
ps_restore
Fonctions PS


Restaure un contexte précédemment sauvegardé

ps_rect
ps_rotate
Fonctions PS
PHP Manual

ps_restore

(PECL ps >= 1.1.0)

ps_restore — Restaure un contexte précédemment sauvegardé

Description

bool ps_restore ( resource $psdoc )

Restaure un contexte graphique précédemment sauvegardé. Tout appel de ps_save() doit être accompagné par un appel à ps_restore(). Toutes les transformations de coordonnée, de configurations de style de ligne, de couleur, etc. sont restaurées à l'état avant l'appel de la fonction ps_save().

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_save() - Sauvegarde le contexte courant

ps_rect
ps_rotate
Fonctions PS


Fixe le facteur de rotation

ps_restore
ps_save
Fonctions PS
PHP Manual

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate — Fixe le facteur de rotation

Description

bool ps_rotate ( resource $psdoc , float $rot )

Fixe la rotation d'un système de coordonnées.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

rot

Angle de rotation en degré.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Rotation d'un système de coordonnées

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple Rotation");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texte sans rotation");
ps_end_page($ps);

ps_delete($ps);
?>

L'exemple ci-dessus illustre un moyen commun d'effectuer une rotation d'un graphique (dans ce cas, simplement un rectangle) simplement en effectuant la rotation du système de coordonnées. Puisque le système de coordonnées du graphique assume que l'origine est à (0, 0), le système de coordonnées de la page est aussi translaté pour ne pas placer le graphique sur les bord de la page. Portez attention à l'ordre de ps_translate() et ps_rotate(). Dans l'exemple ci-dessus, le rectangle subit une rotation au point (100, 100) dans le système de coordonnées non translaté. Inverser les deux requêtes aura un effet complètement différent.

Afin d'afficher le texte suivant dans sa position originale, toutes les modifications du système de coordonnées sont encapsulées dans ps_save() et ps_restore().

Voir aussi

  • ps_scale() - Fixe le facteur de redimensionnement
  • ps_translate() - Fixe une translation

ps_restore
ps_save
Fonctions PS


Sauvegarde le contexte courant

ps_rotate
ps_scale
Fonctions PS
PHP Manual

ps_save

(PECL ps >= 1.1.0)

ps_save — Sauvegarde le contexte courant

Description

bool ps_save ( resource $psdoc )

Sauvegarde le contexte graphique courant, contenant les configurations des couleurs, des translations et rotations et quelques autres. Un contexte sauvegardé peut être restauré avec ps_restore().

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_restore() - Restaure un contexte précédemment sauvegardé

ps_rotate
ps_scale
Fonctions PS


Fixe le facteur de redimensionnement

ps_save
ps_set_border_color
Fonctions PS
PHP Manual

ps_scale

(PECL ps >= 1.1.0)

ps_scale — Fixe le facteur de redimensionnement

Description

bool ps_scale ( resource $psdoc , float $x , float $y )

Fixe le redimensionnement horizontal et vertical d'un système de coordonnées.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

Facteur de redimensionnement en direction horizontale.

y

Facteur de redimensionnement en direction verticale.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_rotate() - Fixe le facteur de rotation
  • ps_translate() - Fixe une translation

ps_save
ps_set_border_color
Fonctions PS


Fixe la couleur des bordures pour les commentaires

ps_scale
ps_set_border_dash
Fonctions PS
PHP Manual

ps_set_border_color

(PECL ps >= 1.1.0)

ps_set_border_color — Fixe la couleur des bordures pour les commentaires

Description

bool ps_set_border_color ( resource $psdoc , float $red , float $green , float $blue )

Les liens ajoutés avec une des fonctions telles que ps_add_weblink(), ps_add_pdflink(), etc. seront affichées avec un rectangle entouré lorsque le document postscript est converti en PDF et vu dans un visualisateur PDF. Ce rectangle n'est pas visible dans le document postscript. Cette fonction fixe la couleur de la bordure de la ligne du rectangle.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

red

Le composant rouge de la couleur de la bordure.

green

Le composant vert de la couleur de la bordure.

blue

Le composant bleu de la couleur de la bordure.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_set_border_dash() - Fixe la grandeur des tirets pour les bordures des commentaires
  • ps_set_border_style() - Fixe le style de bordure des commentaires

ps_scale
ps_set_border_dash
Fonctions PS


Fixe la grandeur des tirets pour les bordures des commentaires

ps_set_border_color
ps_set_border_style
Fonctions PS
PHP Manual

ps_set_border_dash

(PECL ps >= 1.1.0)

ps_set_border_dash — Fixe la grandeur des tirets pour les bordures des commentaires

Description

bool ps_set_border_dash ( resource $psdoc , float $black , float $white )

Les liens ajoutés avec une des fonctions telles que ps_add_weblink(), ps_add_pdflink(), etc. seront affichées avec un rectangle entouré lorsque le document postscript est converti en pdf et vu dans un visualisateur pdf. Ce rectangle n'est pas visible dans le document postscript. Cette fonction fixe la grandeur de la portion de noir et blanc de la ligne de bordure pointillée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

black

La grandeur des pointillés.

white

La grandeur de l'espace entre les pointillés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_set_border_color() - Fixe la couleur des bordures pour les commentaires
  • ps_set_border_style() - Fixe le style de bordure des commentaires

ps_set_border_color
ps_set_border_style
Fonctions PS


Fixe le style de bordure des commentaires

ps_set_border_dash
ps_set_info
Fonctions PS
PHP Manual

ps_set_border_style

(PECL ps >= 1.1.0)

ps_set_border_style — Fixe le style de bordure des commentaires

Description

bool ps_set_border_style ( resource $psdoc , string $style , float $width )

Les liens ajoutés avec une des fonctions telles que ps_add_weblink(), ps_add_pdflink(), etc. seront affichées avec un rectangle entouré lorsque le document postscript est converti en PDF et vu dans un visualisateur PDF. Ce rectangle n'est pas visible dans le document postscript. Cette fonction fixe l'apparence et la largeur de la ligne de bordure.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

style

style peut être solid ou dashed.

width

La largeur de la bordure.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_set_border_color() - Fixe la couleur des bordures pour les commentaires
  • ps_set_border_dash() - Fixe la grandeur des tirets pour les bordures des commentaires

ps_set_border_dash
ps_set_info
Fonctions PS


Assigne les champs d'informations d'un document

ps_set_border_style
ps_set_parameter
Fonctions PS
PHP Manual

ps_set_info

(PECL ps >= 1.1.0)

ps_set_info — Assigne les champs d'informations d'un document

Description

bool ps_set_info ( resource $p , string $key , string $val )

ps_set_info() fixe certains champs d'informations du document. Les champs seront montrés en tant que commentaire dans l'en-tête du fichier PostScript. Si le document est converti en PDF, ces champs seront aussi utilisés pour les informations du document.

Le BoundingBox est normalement fixé à la valeur donnée par la première page. Cela fonctionne seulement si ps_findfont() n'a pas été appelée auparavant. Dans ces cas, le BoundingBox sera laissé non fixé à moins que vous le fixé explicitement avec cette fonction.

Cette fonction n'aura plus d'effet lorsque l'en-tête du fichier PostScript a été déjà été écrit. Elle doit être appelée avant la première page ou le premier appel de ps_findfont().

Liste de paramètres

psdoc

Identifiant de ressource PostScript, retourné par ps_new().

key

Le nom du champ d'information à configurer. Les valeurs de noms possibles sont Keywords, Subject, Title, Creator, Author, BoundingBox et Orientation. Soyez attentifs, car certains champs ont des significations spéciales pour les lecteurs PostScript.

value

Les valeurs du champ d'information. Le champ Orientation peut être fixé à soit Portrait ou Landscape. Le BoundingBox est une chaîne de caractères contenant quatre nombres. Les deux premiers sont les coordonnées du coin inférieur gauche de la page. Les deux derniers sont les coordonnées du coin supérieur droit.

Note: Jusqu'à la version 0.2.6 de pslib, le BoundingBox et Orientation seront toujours écrasés par ps_begin_page(), à moins que ps_findfont() ait été appelée avant.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_findfont() - Charge une police
  • ps_begin_page() - Démarre une nouvelle page

ps_set_border_style
ps_set_parameter
Fonctions PS


Fixe certains paramètres

ps_set_info
ps_set_text_pos
Fonctions PS
PHP Manual

ps_set_parameter

(PECL ps >= 1.1.0)

ps_set_parameter — Fixe certains paramètres

Description

bool ps_set_parameter ( resource $psdoc , string $name , string $value )

Fixe plusieurs paramètres qui sont utilisés par beaucoup de fonctions. Les paramètres sont par définition des valeurs de chaîne de caractères.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

name

Pour une liste des noms possibles, voyez ps_get_parameter().

value

La valeur du paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_get_parameters()
  • ps_set_value() - Fixe certaines valeurs

ps_set_info
ps_set_text_pos
Fonctions PS


Fixe la position l'écriture du texte

ps_set_parameter
ps_set_value
Fonctions PS
PHP Manual

ps_set_text_pos

(PECL ps >= 1.1.0)

ps_set_text_pos — Fixe la position l'écriture du texte

Description

bool ps_set_text_pos ( resource $psdoc , float $x , float $y )

Fixe la position pour la prochaine écriture de texte. Vous devriez alternativement fixer la valeur x et y séparément en appelant ps_set_value() et choisir textx respectivement texty comme nom de valeur.

Si vous voulez afficher le texte à une certaine position, il est plus facile d'utiliser ps_show_xy() au lieu de configurer la position du texte et d'appeler ps_show().

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x de la nouvelle position du texte.

y

La position y de la nouvelle position du texte.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Placement de texte à une position donnée

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple de placement de Texte");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Du texte à (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Du texte à (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Voir aussi

  • ps_set_value() - Fixe certaines valeurs
  • ps_show() - Écrit du texte

ps_set_parameter
ps_set_value
Fonctions PS


Fixe certaines valeurs

ps_set_text_pos
ps_setcolor
Fonctions PS
PHP Manual

ps_set_value

(PECL ps >= 1.1.0)

ps_set_value — Fixe certaines valeurs

Description

bool ps_set_value ( resource $psdoc , string $name , float $value )

Fixe plusieurs valeurs qui sont utilisées par beaucoup de fonctions. Les paramètres sont par définitions des valeurs de nombre décimal.

Liste de paramètres

Le nom name peut être un des paramètres suivants :

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

textx

Le paramètre name peut être une des valeurs suivantes :

textrendering

Le moyen comme est montré le texte.

textx

La position de coordonnées x pour afficher le texte.

texty

La position de coordonnées y pour afficher le texte.

wordspacing

La distance entre les mots relativement à la largeur des espaces.

leading

La distance entre les lignes en pixels.

value

La valeur du paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_get_value() - Récupère certaines valeurs
  • ps_set_parameter() - Fixe certains paramètres

ps_set_text_pos
ps_setcolor
Fonctions PS


Fixe la couleur courante

ps_set_value
ps_setdash
Fonctions PS
PHP Manual

ps_setcolor

(PECL ps >= 1.1.0)

ps_setcolor — Fixe la couleur courante

Description

bool ps_setcolor ( resource $psdoc , string $type , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )

Fixe la couleur pour le dessin, remplissage ou les deux.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

type

Le paramètre type peut être both, fill ou fillstroke.

colorspace

L'espace colorimétrique peut être soit gray, rgb, cmyk, spot, pattern. Dépendamment de l'espace colorimétrique soit le premier, les trois premiers ou tous les paramètres peuvent être utilisés.

c1

Dépendemment de l'espace colorimétrique, cette valeur peut être le composant rouge (rgb), le composant cyan (cmyk), la valeur de gris (gris), l'identifiant de la tache de couleur ou l'identifiant du motif.

c2

Dépendemment de l'espace colorimétrique, cette valeur peut être le composant vert (rgb) ou le composant magenta (cmyk).

c3

Dépendemment de l'espace colorimétrique, cette valeur peut être le composant bleu (rgb) ou le composant jaune (cymk).

c4

Ce paramètre doit être fixé seulement dans l'espace colorimétrique cymk et spécifie le composant noir.

Bogues

Le second paramètre n'est actuellement pas toujours évalué. La couleur est parfois fixée pour remplir et dessiner juste comme fillstroke était passée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ps_set_value
ps_setdash
Fonctions PS


Fixe l'apparence d'une ligne pointillée

ps_setcolor
ps_setflat
Fonctions PS
PHP Manual

ps_setdash

(PECL ps >= 1.1.0)

ps_setdash — Fixe l'apparence d'une ligne pointillée

Description

bool ps_setdash ( resource $psdoc , float $on , float $off )

Fixe la longueur des portions de noir et blanc d'une ligne pointillée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

on

La grandeur des pointillés.

off

La grandeur des espaces entres les pointillés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_setpolydash() - Fixe l'apparence d'une ligne pointillée

ps_setcolor
ps_setflat
Fonctions PS


Fixe la position à plat

ps_setdash
ps_setfont
Fonctions PS
PHP Manual

ps_setflat

(PECL ps >= 1.1.0)

ps_setflat — Fixe la position à plat

Description

bool ps_setflat ( resource $psdoc , float $value )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

value

La valeur value doit être entre 0.2 et 1.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ps_setdash
ps_setfont
Fonctions PS


Fixe la police à utiliser pour la prochaine écriture

ps_setflat
ps_setgray
Fonctions PS
PHP Manual

ps_setfont

(PECL ps >= 1.1.0)

ps_setfont — Fixe la police à utiliser pour la prochaine écriture

Description

bool ps_setfont ( resource $psdoc , int $fontid , float $size )

Fixe une police, qui doit être chargée avant avec ps_findfont(). L'écriture de texte sans configurer une police provoquera une erreur.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

fontid

L'identifiant de la police retourné par ps_findfont().

size

La taille de la police.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_findfont() - Charge une police
  • ps_set_text_pos() - Fixe la position l'écriture du texte pour un exemple.

ps_setflat
ps_setgray
Fonctions PS


Fixe la valeur de gris

ps_setfont
ps_setlinecap
Fonctions PS
PHP Manual

ps_setgray

(PECL ps >= 1.1.0)

ps_setgray — Fixe la valeur de gris

Description

bool ps_setgray ( resource $psdoc , float $gray )

Fixe la valeur de gris pour toutes les opérations de dessin suivantes.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

gray

La valeur doit être entre 0 (blanc) et 1 (noir).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_setcolor() - Fixe la couleur courante

ps_setfont
ps_setlinecap
Fonctions PS


Fixe l'apparence des fins de ligne

ps_setgray
ps_setlinejoin
Fonctions PS
PHP Manual

ps_setlinecap

(PECL ps >= 1.1.0)

ps_setlinecap — Fixe l'apparence des fins de ligne

Description

bool ps_setlinecap ( resource $psdoc , int $type )

Fixe comment les fins de ligne ressemblent.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

type

Le type de fin de ligne. Les valeurs possibles sont PS_LINECAP_BUTT, PS_LINECAP_ROUND ou PS_LINECAP_SQUARED.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_setlinejoin() - Fixe comment les lignes connectés sont jointes
  • ps_setlinewidth() - Fixe la largeur d'une ligne
  • ps_setmiterlimit() - Fixe les limites de l'anglet

ps_setgray
ps_setlinejoin
Fonctions PS


Fixe comment les lignes connectés sont jointes

ps_setlinecap
ps_setlinewidth
Fonctions PS
PHP Manual

ps_setlinejoin

(PECL ps >= 1.1.0)

ps_setlinejoin — Fixe comment les lignes connectés sont jointes

Description

bool ps_setlinejoin ( resource $psdoc , int $type )

Fixe comment les lignes sont jointes.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

type

Le moyen comment les lignes sont jointes. Les valeurs possibles sont PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND ou PS_LINEJOIN_BEVEL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_setlinecap() - Fixe l'apparence des fins de ligne
  • ps_setlinewidth() - Fixe la largeur d'une ligne
  • ps_setmiterlimit() - Fixe les limites de l'anglet

ps_setlinecap
ps_setlinewidth
Fonctions PS


Fixe la largeur d'une ligne

ps_setlinejoin
ps_setmiterlimit
Fonctions PS
PHP Manual

ps_setlinewidth

(PECL ps >= 1.1.0)

ps_setlinewidth — Fixe la largeur d'une ligne

Description

bool ps_setlinewidth ( resource $psdoc , float $width )

Fixe la largeur d'une ligne pour toutes les opérations de dessin suivantes.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

width

La largeur des lignes en points.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_setlinecap() - Fixe l'apparence des fins de ligne
  • ps_setlinejoin() - Fixe comment les lignes connectés sont jointes
  • ps_setmiterlimit() - Fixe les limites de l'anglet

ps_setlinejoin
ps_setmiterlimit
Fonctions PS


Fixe les limites de l'anglet

ps_setlinewidth
ps_setoverprintmode
Fonctions PS
PHP Manual

ps_setmiterlimit

(PECL ps >= 1.1.0)

ps_setmiterlimit — Fixe les limites de l'anglet

Description

bool ps_setmiterlimit ( resource $psdoc , float $value )

Si deux lignes se joignent dans un petit angle et le joint des lignes est fixé à l'anglet PS_LINEJOIN_MITER, alors la mèche résultante sera vraiment longue. La limite de l'anglet est le ratio maximal de la longueur de l'anglet (la longueur de la mèche) et la largeur de la ligne.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

value

Le ratio maximal entre la grandeur de l'anglet et la largeur de la ligne. De grandes valeurs (> 10) auront pour effet l'affichage de très longues mèches lorsque deux lignes se joignent dans un petit angle. Gardez le par défaut à moins que vous sachiez que vous faites.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_setlinecap() - Fixe l'apparence des fins de ligne
  • ps_setlinejoin() - Fixe comment les lignes connectés sont jointes
  • ps_setlinewidth() - Fixe la largeur d'une ligne

ps_setlinewidth
ps_setoverprintmode
Fonctions PS


Définit le mode "overprint"

ps_setmiterlimit
ps_setpolydash
Fonctions PS
PHP Manual

ps_setoverprintmode

(PECL ps >= 1.3.0)

ps_setoverprintmode — Définit le mode "overprint"

Description

bool ps_setoverprintmode ( resource $psdoc , int $mode )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

psdoc

Identifiant de ressource du fichier postscript, tel que retourné par la fonction ps_new().

mode

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ps_setmiterlimit
ps_setpolydash
Fonctions PS


Fixe l'apparence d'une ligne pointillée

ps_setoverprintmode
ps_shading_pattern
Fonctions PS
PHP Manual

ps_setpolydash

(PECL ps >= 1.1.0)

ps_setpolydash — Fixe l'apparence d'une ligne pointillée

Description

bool ps_setpolydash ( resource $psdoc , float $arr )

Fixe la longueur des portions de noir et blanc d'une ligne pointillée. ps_setpolydash() est utilisée pour fixer des motifs pointillés plus compliqués.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

arr

arr est une liste des grandeurs des éléments alternativement pour la portion de noir et de blanc.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Dessin d'une ligne pointillée

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
   print "Impossible d'ouvrir le fichier PostScript\n";
     exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple Poly dash");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Cet exemple dessine une ligne avec un point de 10 et de 2 en ligne et des espaces de 5 points entre chacun des points.

Voir aussi

  • ps_setdash() - Fixe l'apparence d'une ligne pointillée

ps_setoverprintmode
ps_shading_pattern
Fonctions PS


Crée un motif basé sur le ton

ps_setpolydash
ps_shading
Fonctions PS
PHP Manual

ps_shading_pattern

(PECL ps >= 1.3.0)

ps_shading_pattern — Crée un motif basé sur le ton

Description

int ps_shading_pattern ( resource $psdoc , int $shadingid , string $optlist )

Crée un motif basé sur le ton, qui doit avoir été créé avant avec ps_shading(). Les motifs de ton peuvent être utilisés comme des motifs réguliers.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

shadingid

L'identifiant de ton créé précédemment avec ps_shading().

optlist

Cet argument n'est pas utilisé présentement.

Valeurs de retour

L'identifiant du motif ou FALSE si une erreur survient.

Voir aussi

  • ps_shading() - Crée un ton pour usage futur
  • ps_shfill() - Remplit un espace avec un ton

ps_setpolydash
ps_shading
Fonctions PS


Crée un ton pour usage futur

ps_shading_pattern
ps_shfill
Fonctions PS
PHP Manual

ps_shading

(PECL ps >= 1.3.0)

ps_shading — Crée un ton pour usage futur

Description

int ps_shading ( resource $psdoc , string $type , float $x0 , float $y0 , float $x1 , float $y1 , float $c1 , float $c2 , float $c3 , float $c4 , string $optlist )

Crée un ton, qui peut être utilisé par ps_shfill() ou ps_shading_pattern().

La couleur du ton peut être n'importe quelle couleur d'espace excepté pour pattern.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

type

Le type de ton peut être soit radial ou axial. Chaque ton débute avec la couleur courante de remplissage et termine avec la valeur de couleur donnée passée dans les paramètres c1 à c4 (voyez ps_setcolor() pour leur signification).

x0, x1, y0, y1

Les coordonnées x0, y0, x1, y1 sont le point de début et de fin du ton. Si le type de ton est radial, les deux points sont les points milieux du début et de la fin du cercle.

c1, c2, c3, c4

Voyez ps_setcolor() pour leur signification.

optlist

Si le ton est de type radial, le optlist doit aussi contenir les paramètres r0 et r1 avec le radius du début et de fin du cercle.

Valeurs de retour

Retourne un identifiant du motif ou FALSE si une erreur survient.

Voir aussi

  • ps_shading_pattern() - Crée un motif basé sur le ton
  • ps_shfill() - Remplit un espace avec un ton

ps_shading_pattern
ps_shfill
Fonctions PS


Remplit un espace avec un ton

ps_shading
ps_show_boxed
Fonctions PS
PHP Manual

ps_shfill

(PECL ps >= 1.3.0)

ps_shfill — Remplit un espace avec un ton

Description

bool ps_shfill ( resource $psdoc , int $shadingid )

Remplit un espace avec un ton, qui doit être créé avant avec ps_shading(). Ceci est un moyen alternatif pour créer un motif à partir d'un ton venant de ps_shading_pattern() et d'utiliser le motif comme couleur de remplissage.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

shadingid

L'identifiant de ton créé précédemment avec ps_shading().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_shading() - Crée un ton pour usage futur
  • ps_shading_pattern() - Crée un motif basé sur le ton

ps_shading
ps_show_boxed
Fonctions PS


Écriture de texte dans une boîte

ps_shfill
ps_show_xy2
Fonctions PS
PHP Manual

ps_show_boxed

(PECL ps >= 1.1.0)

ps_show_boxed — Écriture de texte dans une boîte

Description

int ps_show_boxed ( resource $psdoc , string $text , float $left , float $bottom , float $width , float $height , string $hmode [, string $feature ] )

ps_show_boxed() écrit du texte dans une boîte donnée. Le coin inférieur gauche de la boîte est à (left, bottom). Les coupures de ligne sera insérées où nécessaires. Des espaces multiples sont traités comme une seule. Les tabulations sont traitées comme des espaces.

Le texte sera relié si le paramètre hyphenation est fixé à TRUE et le paramètre hyphendict contient un fichier valide pour un fichier de liaison. L'espace des lignes est pris à partir de la valeur leading. Les paragraphes peuvent être séparés par une ligne vide comme dans TeX. Si la valeur parindent est fixée à une valeur > 0.0, alors les premières n lignes seront indentées. Le nombre n de lignes est fixé par le paramètre numindentlines. Afin de prévenir l'indentation des premiers m paragraphes, fixés la valeur parindentskip à un nombre positif.

Liste de paramètres

psdoc

Identifiant d'un fichier PostScript retourné par ps_new().

text

Le texte à être affiché dans la boîte donnée.

left

La position x du coin inférieur gauche de la boîte.

bottom

La position y du coin inférieur gauche de la boîte.

width

Largeur de la boîte.

height

Hauteur de la boîte.

hmode

Le paramètre hmode peut être "justify", "fulljustify", "right", "left" ou "center". La différence entre "justify" et "fulljustify" affecte simplement la dernière ligne de la boîte. Dans le mode "fulljustify", la dernière ligne sera justifiée de gauche à droite à moins que cela est aussi la dernière ligne du paragraphe. Dans le mode "justify", le texte sera toujours justifié à gauche.

feature

Paramètres utilisés

L'écriture de ps_show_boxed() peut être configuré avec plusieurs paramètres et valeurs qui peuvent être fixés par soit ps_set_parameter() ou ps_set_value(). Près des paramètres et des valeurs qui affectent l'écriture du texte, les paramètres et les valeurs suivantes sont évalués.

leading (valeur)

Distance entre les lignes de bases de deux lignes consécutives.

linebreak (paramètre)

Fixé à TRUE si vous voulez un retour au chariot pour démarrer une nouvelle ligne plutôt que de traiter cela comme un espace. Par défaut, ce paramètre vaut FALSE.

parbreak (paramètre)

Fixé à TRUE si vous voulez un retour au chariot d'une seule ligne pour débuter un nouveau paragraphe plutôt que de traiter cela comme un espace. Par défaut, ce paramètre vaut TRUE.

hyphenation (paramètre)

Fixé à TRUE afin d'activer les liaisons. Cela requiert un dictionnaire fixé par le paramètre hyphendict. Par défaut, ce paramètre vaut FALSE.

hyphendict (paramètre)

Fichier du dictionnaire utilisé pour un motif de liaison (voir plus bas).

hyphenminchar (valeur)

Le nombre de caractères qui doit au moins être à gauche avant ou après le tiret. Cela implique que seuls les mots d'au moins deux fois cette valeur peuvent être liés. La valeur par défaut est trois. Fixer une valeur de zéro résultera de la valeur par défaut.

parindent (valeur)

Fixe le nombre d'espace en pixel pour l'indentation les premières m lignes d'un paragraphe. m peut être configuré avec la valeur "numindentlines".

parskip (valeur)

Fixe le nombre d'espace en extra en pixel entre les paragraphes. Par défaut, en mettant 0, le résultat sera d'une distance normale entre les lignes.

numindentlines (valeur)

Nombre de lignes à partir du début du paragraphe qui sera indentée. Par défaut, cette valeur vaut 1.

parindentskip (valeur)

Nombre de paragraphes dans la boîte à qui les premières lignes ne seront pas indentées. Par défaut, cette valeur vaut 0. Cela est utile pour les paragraphes immédiatement après une section d'en-tête ou de texte qui commence dans une seconde boîte. Dans les deux cas, un devrait être fixé à 1.

linenumbermode (paramètre)

Fixe comment les lignes sont numérotées. Les valeurs possibles sont "box" pour numéroter les lignes dans la boîte au complet ou "paragraph" pour numéroter les lignes dans chaque paragraphe.

linenumberspace (valeur)

L'espace pour la colonne laissé des lignes numérotées contenant le numéro de ligne. Le numéro des lignes sera justifié à droite dans cette colonne. Par défaut, cette valeur vaut 20.

linenumbersep (valeur)

L'espace entre la colonne avec le nombre de lignes et la ligne elle-même. Par défaut, cette valeur vaut 5.

Liaison

Le texte est lié si le paramètre hyphenation est fixé à TRUE et un dictionnaire valide de liaison est fixé. pslib ne fournit pas son propre dictionnaire de liaison, mais utilise un de openoffice, scribus ou koffice. Vous pouvez trouver ces dictionnaires pour différents langages dans un des dossiers suivants si le programme est installé :

  • /usr/share/apps/koffice/hyphdicts/
  • /usr/lib/scribus/dicts/
  • /usr/lib/openoffice/share/dict/ooo/
Présentement, Scribus semble avoir les plus complets dictionnaires de liaison.

Valeurs de retour

Nombre de caractères qui ne peuvent être écrits.

Voir aussi

  • ps_continue_text() - Continue un texte à la ligne suivante

ps_shfill
ps_show_xy2
Fonctions PS


Affiche un texte à la position

ps_show_boxed
ps_show_xy
Fonctions PS
PHP Manual

ps_show_xy2

(PECL ps >= 1.1.0)

ps_show_xy2 — Affiche un texte à la position

Description

bool ps_show_xy2 ( resource $psdoc , string $text , int $len , float $xcoor , float $ycoor )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ps_show_boxed
ps_show_xy
Fonctions PS


Écrit du texte à la position donnée

ps_show_xy2
ps_show2
Fonctions PS
PHP Manual

ps_show_xy

(PECL ps >= 1.1.0)

ps_show_xy — Écrit du texte à la position donnée

Description

bool ps_show_xy ( resource $psdoc , string $text , float $x , float $y )

Écrit du texte à la position de texte donnée.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

Le texte à être affiché.

x

La position x du coin inférieur droit de la boîte entourant le texte.

y

La position y du coin inférieur droit de la boîte entourant le texte.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_continue_text() - Continue un texte à la ligne suivante
  • ps_show() - Écrit du texte

ps_show_xy2
ps_show2
Fonctions PS


Affiche un texte à la position courante

ps_show_xy
ps_show
Fonctions PS
PHP Manual

ps_show2

(PECL ps >= 1.1.0)

ps_show2 — Affiche un texte à la position courante

Description

bool ps_show2 ( resource $psdoc , string $text , int $len )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

psdoc

Identifiant de ressource d'un fichier postscript, tel que retourné par la fonction ps_new().

text

len

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ps_show_xy
ps_show
Fonctions PS


Écrit du texte

ps_show2
ps_string_geometry
Fonctions PS
PHP Manual

ps_show

(PECL ps >= 1.1.0)

ps_show — Écrit du texte

Description

bool ps_show ( resource $psdoc , string $text )

Écrit du texte à la position courante du texte. La position du texte peut être fixée en mettant les positions des coordonnées x et y dans les valeurs textx et texty avec la fonction ps_set_value(). Cette fonction émettra une erreur si une police n'a été fixée auparavant avec ps_setfont().

ps_show() évalue les paramètres et les variables suivantes fixés par ps_set_parameter() et ps_set_value().

charspacing (valeur)

Distance entre deux glyphes consécutifs. Si cette valeur n'est pas égal à zéro, alors toutes les ligatures seront résolues. Les valeurs inférieures à zéro sont autorisées.

kerning (paramètre)

Fixer ce paramètre à FALSE désactivera le crénage. Le crénage est activé par défaut.

ligatures (paramètre)

Fixer ce paramètre à FALSE désactivera l'utilisation des ligatures. Les ligatures sont activées par défaut.

underline (paramètre)

Fixer ce paramètre à TRUE activera le soulignement. Le soulignement est désactivé par défaut.

overline (paramètre)

Fixer ce paramètre à TRUE activera surlignement. Le surlignement est désactivé par défaut.

strikeout (paramètre)

Fixer ce paramètre à TRUE activera le texte barré. Le texte barré est désactivé par défaut.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

Le texte à être affiché.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_continue_text() - Continue un texte à la ligne suivante
  • ps_show_xy() - Écrit du texte à la position donnée
  • ps_setfont() - Fixe la police à utiliser pour la prochaine écriture

ps_show2
ps_string_geometry
Fonctions PS


Récupère les géométries d'une chaîne de caractères

ps_show
ps_stringwidth
Fonctions PS
PHP Manual

ps_string_geometry

(PECL ps >= 1.2.0)

ps_string_geometry — Récupère les géométries d'une chaîne de caractères

Description

array ps_string_geometry ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

ps_string_geometry() est similaire à ps_stringwidth(), mais retourne un tableau des dimensions contenant la largeur, la hampe et le jambage du texte.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

Le texte pour lequel la géométrie sera calculée.

fontid

L'identifiant de la police à être utilisée. Si aucune police n'est spécifiée, la police courante sera utilisée.

size

La taille de la police. Si aucune taille n'est spécifiée, la taille courante est utilisée.

Valeurs de retour

Un tableau des dimensions de la chaîne de caractères. L'élément width contient la largeur de la chaîne comme retournée par ps_stringwidth(). L'élément descender contient le maximum de jambage et ascender le maximum de la hampe de la chaîne de caractères.

Voir aussi

  • ps_continue_text() - Continue un texte à la ligne suivante
  • ps_stringwidth() - Récupère la largeur d'une chaîne de caractères

ps_show
ps_stringwidth
Fonctions PS


Récupère la largeur d'une chaîne de caractères

ps_string_geometry
ps_stroke
Fonctions PS
PHP Manual

ps_stringwidth

(PECL ps >= 1.1.0)

ps_stringwidth — Récupère la largeur d'une chaîne de caractères

Description

float ps_stringwidth ( resource $psdoc , string $text [, int $fontid = 0 [, float $size = 0.0 ]] )

Calcule la largeur d'une chaîne de caractères en points si elle a été écrite dans la police et la taille donnée. Cette fonction requiert le fichier de police métrique "adobe" pour calculer la largeur précise. Si le crénage est activé, il sera pris en compte.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

text

Le texte pour lequel la largeur sera calculée.

fontid

L'identifiant de la police à être utilisée. Si aucune police n'est spécifiée, la police courante sera utilisée.

size

La taille de la police. Si aucune taille n'est spécifiée, la taille courante est utilisée.

Valeurs de retour

Largeur de la chaîne de caractères en points.

Voir aussi

  • ps_string_geometry() - Récupère les géométries d'une chaîne de caractères

ps_string_geometry
ps_stroke
Fonctions PS


Dessine le chemin courant

ps_stringwidth
ps_symbol_name
Fonctions PS
PHP Manual

ps_stroke

(PECL ps >= 1.1.0)

ps_stroke — Dessine le chemin courant

Description

bool ps_stroke ( resource $psdoc )

Dessine le chemin construit avec des fonctions de dessin comme ps_lineto() précédemment appelées.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_closepath_stroke() - Ferme et trace un chemin
  • ps_fill() - Remplit le chemin courant
  • ps_fill_stroke() - Remplit et trace le chemin courant

ps_stringwidth
ps_symbol_name
Fonctions PS


Récupère le nom d'un glyphe

ps_stroke
ps_symbol_width
Fonctions PS
PHP Manual

ps_symbol_name

(PECL ps >= 1.2.0)

ps_symbol_name — Récupère le nom d'un glyphe

Description

string ps_symbol_name ( resource $psdoc , int $ord [, int $fontid = 0 ] )

Cette fonction nécessite le fichier de police métrique "adobe" pour savoir quels glyphes sont disponibles.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

ord

Le paramètre ord est la position du glyphe dans le vecteur d'encodage de la police.

fontid

L'identifiant de la police à être utilisée. Si aucune police n'est spécifiée, la police courante sera utilisée.

Valeurs de retour

Le nom d'un glyphe dans la police donnée.

Voir aussi

  • ps_symbol() - Écrit un glyphe
  • ps_symbol_width() - Récupère la largeur d'un glyphe

ps_stroke
ps_symbol_width
Fonctions PS


Récupère la largeur d'un glyphe

ps_symbol_name
ps_symbol
Fonctions PS
PHP Manual

ps_symbol_width

(PECL ps >= 1.2.0)

ps_symbol_width — Récupère la largeur d'un glyphe

Description

float ps_symbol_width ( resource $psdoc , int $ord [, int $fontid = 0 [, float $size = 0.0 ]] )

Calcule la largeur d'un glyphe en points s'il a été écrit dans la police et la taille donnée. Cette fonction nécessite le fichier de police métrique "adobe" pour calculer la largeur précise.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

ord

La position du glyphe dans le vecteur d'encodage de la police.

fontid

L'identifiant de la police à être utilisée. Si aucune police n'est spécifiée, la police courante sera utilisée.

size

La taille de la police. Si aucune taille n'est spécifiée, la taille courante est utilisée.

Valeurs de retour

La largeur d'un glyphe en points.

Voir aussi

  • ps_symbol() - Écrit un glyphe
  • ps_symbol_name() - Récupère le nom d'un glyphe

ps_symbol_name
ps_symbol
Fonctions PS


Écrit un glyphe

ps_symbol_width
ps_translate
Fonctions PS
PHP Manual

ps_symbol

(PECL ps >= 1.2.0)

ps_symbol — Écrit un glyphe

Description

bool ps_symbol ( resource $psdoc , int $ord )

Écrit un glyphe à la position ord dans le vecteur d'encodage de la police de la police courante. L'encodage de la police pour une police peut être fixé lors du chargement de la police avec ps_findfont().

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

ord

La position du glyphe dans le vecteur d'encodage de la police.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ps_symbol_name() - Récupère le nom d'un glyphe
  • ps_symbol_width() - Récupère la largeur d'un glyphe

ps_symbol_width
ps_translate
Fonctions PS


Fixe une translation

ps_symbol
RPM Reader
Fonctions PS
PHP Manual

ps_translate

(PECL ps >= 1.1.0)

ps_translate — Fixe une translation

Description

bool ps_translate ( resource $psdoc , float $x , float $y )

Fixe un nouveau point initial d'un système de coordonnées.

Liste de paramètres

psdoc

Identifiant d'un fichier postscript retourné par ps_new().

x

La position x de l'origine du système de coordonnées translaté.

y

La position y de l'origine du système de coordonnées translaté.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Translation du système de coordonnées

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
  print "Impossible d'ouvrir le fichier PostScript\n";
  exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Exemple Translation");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texte à position initiale");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texte à position initiale");
ps_end_page($ps);

ps_delete($ps);
?>

L'exemple ci-dessus démontre deux moyens possibles pour placer un graphique (dans ce cas, simplement un rectangle) à n'importe quelle position sur la page, tandis que le graphique en lui-même utilise son propre système de coordonnées. Le truc est de changer l'origine du système de coordonnées courant avant de dessiner le rectangle. La translation doit être défaite après que le graphique ait été dessiné.

Sur la seconde page, une approche plus élégante et légèrement différente est appliquée. Au lieu de défaire la translation avec le deuxième appel de ps_translate(), le contexte graphique est sauvegardé avant les modification du système de coordonnées et restauré après le dessin du rectangle.

Voir aussi

  • ps_scale() - Fixe le facteur de redimensionnement
  • ps_rotate() - Fixe le facteur de rotation

ps_symbol
RPM Reader
Fonctions PS


Lecture d'en-tête RPM

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation simple
  • Fonctions RPM Reader
    • rpm_close — Ferme un fichier RPM
    • rpm_get_tag — Récupération d'un tag de l'en-tête d'un fichier RPM
    • rpm_is_valid — Teste la validité du nom du fichier d'un fichier RPM
    • rpm_open — Ouvre un fichier RPM
    • rpm_version — Retourne une chaîne de caractères représentant la version courante de l'extension rpmreader
ps_translate
Introduction
Affichage des données non-textuelles


Introduction

Ce module vous permet de lire les meta-informations enregistrés dans les en-têtes d'un fichier » RedHat Package Manager (» RPM).

RPM Reader
Installation/Configuration
RPM Reader


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
RPM Reader


Pré-requis

L'extension RPMReader requiert PHP 5.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/rpmreader.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Il y a un type de ressource utilisé par le module RPMReader. La ressource est le pointeur de fichier qui identifie le fichier RPM avec lequel il travaille.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

La liste suivante des constantes est utilisée pour obtenir des informations en utilisant la fonction rpm_get_tag(). Ces constantes représentent le numéro de tag qui doit être récupéré d'une section d'en-tête d'un fichier RPM. Les descriptions sont données pour définir ce que les tags représentent.

RPMREADER_MINIMUM (entier)
La valeur minimale valide pour n'importe quel numéro de tag RPM.
RPMREADER_NAME (entier)
Le nom du paquetage RPM.
RPMREADER_VERSION (entier)
La version du paquetage RPM.
RPMREADER_RELEASE (entier)
La mise à jour du paquetage RPM.
RPMREADER_EPOCH (entier)
RPMREADER_SERIAL (entier)
RPMREADER_SUMMARY (entier)
Le récapitulatif du paquetage RPM.
RPMREADER_DESCRIPTION (entier)
La description complète du paquetage RPM.
RPMREADER_BUILDTIME (entier)
La date et l'heure à laquelle le paquetage RPM a été construit.
RPMREADER_BUILDHOST (entier)
Le nom de l'hôte sur lequel le paquetage a été construit.
RPMREADER_INSTALLTIME (entier)
RPMREADER_SIZE (entier)
La taille du paquetage RPM.
RPMREADER_DISTRIBUTION (entier)
RPMREADER_VENDOR (entier)
RPMREADER_GIF (entier)
RPMREADER_XPM (entier)
RPMREADER_LICENSE (entier)
RPMREADER_COPYRIGHT (entier)
RPMREADER_PACKAGER (entier)
RPMREADER_GROUP (entier)
RPMREADER_SOURCE (entier)
RPMREADER_PATCH (entier)
RPMREADER_URL (entier)
RPMREADER_OS (entier)
RPMREADER_ARCH (entier)
RPMREADER_PREIN (entier)
RPMREADER_POSTIN (entier)
RPMREADER_PREUN (entier)
RPMREADER_POSTUN (entier)
RPMREADER_OLDFILENAMES (entier)
Une liste de fichiers dans un paquetage RPM (format déprécié). La manière correcte est maintenant d'utiliser une combinaison de 3 tags (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) dans ce que RPM appelle maintenant "CompressedFileNames". Ce tag est toujours utilisé dans les anciens fichiers RPM qui n'utilisent pas la méthode "CompressedFileNames" et il est présent pour maintenir une compatibilité.
RPMREADER_FILESIZES (entier)
RPMREADER_FILESTATES (entier)
RPMREADER_FILEMODES (entier)
RPMREADER_FILERDEVS (entier)
RPMREADER_FILEMTIMES (entier)
RPMREADER_FILEMD5S (entier)
RPMREADER_FILELINKTOS (entier)
RPMREADER_FILEFLAGS (entier)
RPMREADER_FILEUSERNAME (entier)
RPMREADER_FILEGROUPNAME (entier)
RPMREADER_ICON (entier)
RPMREADER_SOURCERPM (entier)
RPMREADER_FILEVERIFYFLAGS (entier)
RPMREADER_ARCHIVESIZE (entier)
RPMREADER_PROVIDENAME (entier)
RPMREADER_PROVIDES (entier)
RPMREADER_REQUIREFLAGS (entier)
RPMREADER_REQUIRENAME (entier)
RPMREADER_REQUIREVERSION (entier)
RPMREADER_CONFLICTFLAGS (entier)
RPMREADER_CONFLICTNAME (entier)
RPMREADER_CONFLICTVERSION (entier)
RPMREADER_EXCLUDEARCH (entier)
RPMREADER_EXCLUDEOS (entier)
RPMREADER_EXCLUSIVEARCH (entier)
RPMREADER_EXCLUSIVEOS (entier)
RPMREADER_RPMVERSION (entier)
RPMREADER_TRIGGERSCRIPTS (entier)
RPMREADER_TRIGGERNAME (entier)
RPMREADER_TRIGGERVERSION (entier)
RPMREADER_TRIGGERFLAGS (entier)
RPMREADER_TRIGGERINDEX (entier)
RPMREADER_VERIFYSCRIPT (entier)
RPMREADER_CHANGELOGTIME (entier)
Une liste des dates des entrées du changelog.
RPMREADER_CHANGELOGNAME (entier)
La liste des noms des entrées du changelog.
RPMREADER_CHANGELOGTEXT (entier)
La liste du texte des entrées du changelog.
RPMREADER_PREINPROG (entier)
RPMREADER_POSTINPROG (entier)
RPMREADER_PREUNPROG (entier)
RPMREADER_POSTUNPROG (entier)
RPMREADER_BUILDARCHS (entier)
RPMREADER_OBSOLETENAME (entier)
RPMREADER_OBSOLETES (entier)
RPMREADER_VERIFYSCRIPTPROG (entier)
RPMREADER_TRIGGERSCRIPTPROG (entier)
RPMREADER_COOKIE (entier)
RPMREADER_FILEDEVICES (entier)
RPMREADER_FILEINODES (entier)
RPMREADER_FILELANGS (entier)
RPMREADER_PREFIXES (entier)
RPMREADER_INSTPREFIXES (entier)
RPMREADER_PROVIDEFLAGS (entier)
RPMREADER_PROVIDEVERSION (entier)
RPMREADER_OBSOLETEFLAGS (entier)
RPMREADER_OBSOLETEVERSION (entier)
RPMREADER_DIRINDEXES (entier)
La liste des indices qui rapporte les noms des répertoires et des fichiers dans le paquetage RPM. Ce tag est utilisé en conjonction avec RPMREADER_BASENAMES et RPMREADER_DIRNAMES pour reconstruire les noms des fichiers dans le paquetage RPM enregistré avec la nouvelle méthode "CompressedFileNames" dans RPM.
RPMREADER_BASENAMES (entier)
Une liste des noms des fichiers dans le paquetage RPM sans l'information sur les chemins. Ce tag est utilisé en conjonction avec RPMREADER_BASENAMES et RPMREADER_DIRNAMES pour reconstruire les noms des fichiers dans le paquetage RPM enregistré avec la nouvelle méthode "CompressedFileNames" dans RPM.
RPMREADER_DIRNAMES (entier)
Une liste des noms des répertoires utilisés par les fichiers dans le paquetage RPM. Ce tag est utilisé en conjonction avec RPMREADER_BASENAMES et RPMREADER_DIRNAMES pour reconstruire les noms des fichiers dans le paquetage RPM enregistré avec la nouvelle méthode "CompressedFileNames" dans RPM.
RPMREADER_OPTFLAGS (entier)
RPMREADER_DISTURL (entier)
RPMREADER_PAYLOADFORMAT (entier)
RPMREADER_PAYLOADCOMPRESSOR (entier)
RPMREADER_PAYLOADFLAGS (entier)
RPMREADER_INSTALLCOLOR (entier)
RPMREADER_INSTALLTID (entier)
RPMREADER_REMOVETID (entier)
RPMREADER_RHNPLATFORM (entier)
RPMREADER_PLATFORM (entier)
RPMREADER_PATCHESNAME (entier)
RPMREADER_PATCHESFLAGS (entier)
RPMREADER_PATCHESVERSION (entier)
RPMREADER_CACHECTIME (entier)
RPMREADER_CACHEPKGPATH (entier)
RPMREADER_CACHEPKGSIZE (entier)
RPMREADER_CACHEPKGMTIME (entier)
RPMREADER_FILECOLORS (entier)
RPMREADER_FILECLASS (entier)
RPMREADER_CLASSDICT (entier)
RPMREADER_FILEDEPENDSX (entier)
RPMREADER_FILEDEPENDSN (entier)
RPMREADER_DEPENDSDICT (entier)
RPMREADER_SOURCEPKGID (entier)
RPMREADER_FILECONTEXTS (entier)
RPMREADER_FSCONTEXTS (entier)
RPMREADER_RECONTEXTS (entier)
RPMREADER_POLICIES (entier)
RPMREADER_MAXIMUM (entier)
La valeur maximale valide pour n'importe quel numéro de tag RPM.

Types de ressources
Exemples
RPM Reader


Exemples

Sommaire

  • Utilisation simple
Constantes pré-définies
Utilisation simple
RPM Reader


Utilisation simple

Cet exemple ouvrira un fichier RPM et lira le nom, la version et la date de mise à jour du fichier RPM, affichera les résultats et fermera le fichier RPM.

Exemple #1 Exemple avec RPMReader

<?php

$filename = "/chemin/vers/file.rpm";

// ouverture du fichier
$rpmr = rpm_open($filename);

// récupération du tag "Name"
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// récupération du tag "Version"
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// récupération du tag "Release"
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo "$name-$ver-$rel<br>\n";

// fermeture du fichier
rpm_close($rpmr);

?>
Exemples
Fonctions RPM Reader
Exemples


Fonctions RPM Reader

Sommaire

  • rpm_close — Ferme un fichier RPM
  • rpm_get_tag — Récupération d'un tag de l'en-tête d'un fichier RPM
  • rpm_is_valid — Teste la validité du nom du fichier d'un fichier RPM
  • rpm_open — Ouvre un fichier RPM
  • rpm_version — Retourne une chaîne de caractères représentant la version courante de l'extension rpmreader
Utilisation simple
rpm_close
RPM Reader


Ferme un fichier RPM

Fonctions RPM Reader
rpm_get_tag
Fonctions RPM Reader
PHP Manual

rpm_close

(PECL rpmreader >= 0.1.0)

rpm_close — Ferme un fichier RPM

Description

bool rpm_close ( resource $rpmr )

rpm_close() fermera le pointeur de fichier RPM.

Liste de paramètres

rpmr

Une ressource de pointeur de fichier ouverte par rpm_open().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec rpm_close()

<?php

$file = "/chemin/vers/fichier.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Voir aussi

  • rpm_open() - Ouvre un fichier RPM

Fonctions RPM Reader
rpm_get_tag
Fonctions RPM Reader


Récupération d'un tag de l'en-tête d'un fichier RPM

rpm_close
rpm_is_valid
Fonctions RPM Reader
PHP Manual

rpm_get_tag

(PECL rpmreader >= 0.1.0)

rpm_get_tag — Récupération d'un tag de l'en-tête d'un fichier RPM

Description

mixed rpm_get_tag ( resource $rpmr , int $tagnum )

rpm_get_tag() récupérera un tag donné de l'en-tête du fichier RPM et le retournera.

Liste de paramètres

rpmr

Une ressource de pointeur de fichier correctement ouverte par rpm_open().

tagnum

Le numéro du tag à récupérer de l'en-tête RPM. La valeur peut être spécifiée en utilisant la liste des constantes définies par ce module.

Valeurs de retour

La valeur de retour peut être de type varié dépendamment du paramètre tagnum spécifié à la fonction.

Exemples

Exemple #1 Exemple avec rpm_get_tag()

<?php

$file = "/chemin/vers/fichier.rpm";
$rpmr = rpm_open($file);

$name = rpm_get_tag($rpmr, RPMREADER_NAME);
echo "$name<br />\n";

rpm_close($rpmr);

?>

Voir aussi

  • rpm_open() - Ouvre un fichier RPM
  • rpm_close() - Ferme un fichier RPM

rpm_close
rpm_is_valid
Fonctions RPM Reader


Teste la validité du nom du fichier d'un fichier RPM

rpm_get_tag
rpm_open
Fonctions RPM Reader
PHP Manual

rpm_is_valid

(PECL rpmreader >= 0.1.0)

rpm_is_valid — Teste la validité du nom du fichier d'un fichier RPM

Description

bool rpm_is_valid ( string $filename )

rpm_is_valid() testera la validité d'un fichier RPM pour que cela soit un fichier RPM. Ceci n'est pas la même chose que rpm_open() puisqu'elle vérifie seulement la validité du fichier mais ne retourne pas de pointeur de fichier pour être utiliser par d'autres fonctions.

Liste de paramètres

filename

Le nom de fichier du fichier RPM que vous voulez vérifier la validité.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec rpm_is_valid()

<?php

$file = "/chemin/vers/fichier.rpm";

if (rpm_is_valid($file)) {
    echo "Le fichier est reconnu en tant que fichier RPM.<br />\n";
}
else {
    echo "Le fichier n'est pas reconnu en tant que fichier RPM.<br />\n";
}

?>

rpm_get_tag
rpm_open
Fonctions RPM Reader


Ouvre un fichier RPM

rpm_is_valid
rpm_version
Fonctions RPM Reader
PHP Manual

rpm_open

(PECL rpmreader >= 0.1.0)

rpm_open — Ouvre un fichier RPM

Description

resource rpm_open ( string $filename )

rpm_open() ouvrira un fichier RPM et déterminera si le fichier est un fichier RPM valide.

Liste de paramètres

filename

Le nom du fichier que vous souhaitez ouvrir en tant que fichier RPM.

Valeurs de retour

Si la fonction réussit, alors rpm_open() retournera une ressource de pointeur de fichier du nouveau fichier ouvert. En cas d'erreur, la fonction retournera FALSE.

Exemples

Exemple #1 Exemple avec rpm_open()

<?php

$file = "/chemin/vers/fichier.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

Voir aussi

  • rpm_close() - Ferme un fichier RPM

rpm_is_valid
rpm_version
Fonctions RPM Reader


Retourne une chaîne de caractères représentant la version courante de l'extension rpmreader

rpm_open
SWF
Fonctions RPM Reader
PHP Manual

rpm_version

(PECL rpmreader >= 0.3.0)

rpm_version — Retourne une chaîne de caractères représentant la version courante de l'extension rpmreader

Description

string rpm_version ( void )

rpm_version() retournera la version courante de l'extension rpmreader.

Valeurs de retour

rpm_version() retournera une chaîne de caractères représentant la version de rpmreader actuellement chargée dans PHP.

Exemples

Exemple #1 Exemple avec rpm_version()

<?php

$rpmr_ver = rpm_version();

echo "$rpmr_ver<br />\n";

?>

rpm_open
SWF
Fonctions RPM Reader


Shockwave Flash

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation simple
  • Fonctions SWF
    • swf_actiongeturl — Retourne l'URL d'une animation Shockwave Flash
    • swf_actiongotoframe — Joue un cadre puis stoppe
    • swf_actiongotolabel — Joue le cadre Flash spécifié
    • swf_actionnextframe — Avance d'un cadre
    • swf_actionplay — Joue l'animation Flash à partir du cadre courant
    • swf_actionprevframe — Recule d'un cadre
    • swf_actionsettarget — Fixe le contexte des actions
    • swf_actionstop — Arrête l'animation Flash
    • swf_actiontogglequality — Choisit le niveau de qualité de l'animation Flash
    • swf_actionwaitforframe — Ignore les actions si le cadre Flash n'est pas chargé
    • swf_addbuttonrecord — Contrôle la situation, l'apparence et la zone active du bouton Flash courant
    • swf_addcolor — Fixe la couleur globale d'addition Flash
    • swf_closefile — Ferme le fichier courant Shockwave Flash
    • swf_definebitmap — Définit une image bitmap
    • swf_definefont — Définit une police Flash
    • swf_defineline — Définit une ligne
    • swf_definepoly — Définit un polygone Flash
    • swf_definerect — Définit un rectangle
    • swf_definetext — Définit une chaîne de texte
    • swf_endbutton — Termine la définition du bouton Flash courant
    • swf_enddoaction — Termine l'action courante
    • swf_endshape — Complète la définition de la forme Flash courante
    • swf_endsymbol — Termine la définition de symbole
    • swf_fontsize — Change la taille de la police
    • swf_fontslant — Change l'inclinaison de la police courante
    • swf_fonttracking — Change l'espacement des caractères
    • swf_getbitmapinfo — Lit les informations sur une image
    • swf_getfontinfo — Retourne des informations sur la police
    • swf_getframe — Retourne le numéro de cadre courant
    • swf_labelframe — Nomme le cadre courant
    • swf_lookat — Définit une transformation de vue
    • swf_modifyobject — Modifie un objet Flash
    • swf_mulcolor — Fixe la couleur globale de multiplication
    • swf_nextid — Retourne le prochain identifiant d'objet libre
    • swf_oncondition — Décrit la transition utilisée pour déclencher une liste d'actions
    • swf_openfile — Ouvre un nouveau fichier Shockwave Flash
    • swf_ortho2 — Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant
    • swf_ortho — Définit une projection orthogonale entre les coordonnées utilisateur et le port courant
    • swf_perspective — Définit une projection orthogonale à 3 dimensions entre les coordonnées utilisateur et le port courant
    • swf_placeobject — Place un objet sur la scène
    • swf_polarview — Définit le point de vue de l'utilisateur en coordonnées polaires
    • swf_popmatrix — Dépile la matrice de transformation
    • swf_posround — Active l'approximation des translations d'objets Flash
    • swf_pushmatrix — Empile la matrice de transformations courante dans la pile
    • swf_removeobject — Enlève un objet
    • swf_rotate — Rotation de la transformation courante
    • swf_scale — Homothétie
    • swf_setfont — Change la police courante
    • swf_setframe — Fixe le cadre courant
    • swf_shapearc — Dessine un arc de cercle
    • swf_shapecurveto3 — Dessine une courbe Bézier cubique
    • swf_shapecurveto — Dessine une courbe de Bézier quadratique entre deux points
    • swf_shapefillbitmapclip — Choisit le mode de remplissage Flash par texture
    • swf_shapefillbitmaptile — Choisit le mode de remplissage par texture Flash répétée
    • swf_shapefilloff — Désactive le remplissage de formes Flash
    • swf_shapefillsolid — Fixe la couleur pour le style courant de remplissage Flash
    • swf_shapelinesolid — Fixe le style courant de ligne
    • swf_shapelineto — Dessine une ligne
    • swf_shapemoveto — Change la position courante
    • swf_showframe — Affiche le cadre courant
    • swf_startbutton — Commence la définition d'un bouton
    • swf_startdoaction — Commence la description d'une liste d'actions pour le cadre courant
    • swf_startshape — Commence une forme complexe
    • swf_startsymbol — Définit un symbole
    • swf_textwidth — Retourne la longueur d'une chaîne
    • swf_translate — Déplace la transformation courante
    • swf_viewport — Sélectionne une nouvelle zone pour un dessin ultérieur
rpm_version
Introduction
Affichage des données non-textuelles


Introduction

PHP offre la possibilité de créer des fichiers Shockwave Flash files via le module libswf de Paul Haeberli.

Note: Le support SWF a été ajouté en PHP 4 RC2.
La bibliothèque libswf n'est pas disponible sous Windows. Le développement de cette bibliothèque s'est arrêté et les sources ne sont pas disponibles, rendant le portage sous d'autres plate-formes impossibles.
Pour un support SWF à jour et toujours en cours de développement, regardez du côté des fonctions MING.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

SWF
Installation/Configuration
SWF


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SWF


Pré-requis

Vous avez besoin de la bibliothèque libswf pour compiler PHP avec le support de cette extension. Vous pouvez télécharger la bibliothèque libswf sur » ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/swf.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MOD_COLOR (entier)
MOD_MATRIX (entier)
TYPE_PUSHBUTTON (entier)
TYPE_MENUBUTTON (entier)
BSHitTest (float)
BSDown (float)
BSOver (float)
BSUp (float)
OverDowntoIdle (entier)
IdletoOverDown (entier)
OutDowntoIdle (entier)
OutDowntoOverDown (entier)
OverDowntoOutDown (entier)
OverUptoOverDown (entier)
OverUptoIdle (entier)
IdletoOverUp (entier)
ButtonEnter (entier)
ButtonExit (entier)
MenuEnter (entier)
MenuExit (entier)
Types de ressources
Exemples
SWF


Exemples

Sommaire

  • Utilisation simple
Constantes pré-définies
Utilisation simple
SWF


Utilisation simple

Une fois que vous avez installé correctement PHP avec le support Shockwave Flash, vous pouvez créer des fichiers Shockwave depuis PHP. Vous pourriez être surpris par la puissance de cette bibliothèque ; regardez ce code :

Exemple #1 Exemple SWF

<?php
swf_openfile("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2(-100, 100, -100, 100);
swf_defineline(1, -70, 0, 70, 0, .2);
swf_definerect(4, 60, -10, 70, 0, 0);
swf_definerect(5, -60, 0, -70, 10, 0);
swf_addcolor(0, 0, 0, 0);

swf_definefont(10, "Mod");
swf_fontsize(5);
swf_fontslant(10);
swf_definetext(11, "Exemple de Flash depuis PHP !", 1);

swf_pushmatrix();
swf_translate(-50, 80, 0);
swf_placeobject(11, 60);
swf_popmatrix();

for ($i = 0; $i < 30; $i++) {
    $p = $i/(30-1);
    swf_pushmatrix();
    swf_scale(1-($p*.9), 1, 1);
    swf_rotate(60*$p, 'z');
    swf_translate(20+20*$p, $p/1.5, 0);
    swf_rotate(270*$p,  'z');
    swf_addcolor($p, 0, $p/1.2, -$p);
    swf_placeobject(1, 50);
    swf_placeobject(4, 50);
    swf_placeobject(5, 50);
    swf_popmatrix();
    swf_showframe();
}

for ($i = 0; $i < 30; $i++) {
    swf_removeobject(50);
    if (($i%4) == 0) {
        swf_showframe();
    }
}

swf_startdoaction();
swf_actionstop();
swf_enddoaction();

swf_closefile();
?>

Exemples
Fonctions SWF
Exemples


Fonctions SWF

Sommaire

  • swf_actiongeturl — Retourne l'URL d'une animation Shockwave Flash
  • swf_actiongotoframe — Joue un cadre puis stoppe
  • swf_actiongotolabel — Joue le cadre Flash spécifié
  • swf_actionnextframe — Avance d'un cadre
  • swf_actionplay — Joue l'animation Flash à partir du cadre courant
  • swf_actionprevframe — Recule d'un cadre
  • swf_actionsettarget — Fixe le contexte des actions
  • swf_actionstop — Arrête l'animation Flash
  • swf_actiontogglequality — Choisit le niveau de qualité de l'animation Flash
  • swf_actionwaitforframe — Ignore les actions si le cadre Flash n'est pas chargé
  • swf_addbuttonrecord — Contrôle la situation, l'apparence et la zone active du bouton Flash courant
  • swf_addcolor — Fixe la couleur globale d'addition Flash
  • swf_closefile — Ferme le fichier courant Shockwave Flash
  • swf_definebitmap — Définit une image bitmap
  • swf_definefont — Définit une police Flash
  • swf_defineline — Définit une ligne
  • swf_definepoly — Définit un polygone Flash
  • swf_definerect — Définit un rectangle
  • swf_definetext — Définit une chaîne de texte
  • swf_endbutton — Termine la définition du bouton Flash courant
  • swf_enddoaction — Termine l'action courante
  • swf_endshape — Complète la définition de la forme Flash courante
  • swf_endsymbol — Termine la définition de symbole
  • swf_fontsize — Change la taille de la police
  • swf_fontslant — Change l'inclinaison de la police courante
  • swf_fonttracking — Change l'espacement des caractères
  • swf_getbitmapinfo — Lit les informations sur une image
  • swf_getfontinfo — Retourne des informations sur la police
  • swf_getframe — Retourne le numéro de cadre courant
  • swf_labelframe — Nomme le cadre courant
  • swf_lookat — Définit une transformation de vue
  • swf_modifyobject — Modifie un objet Flash
  • swf_mulcolor — Fixe la couleur globale de multiplication
  • swf_nextid — Retourne le prochain identifiant d'objet libre
  • swf_oncondition — Décrit la transition utilisée pour déclencher une liste d'actions
  • swf_openfile — Ouvre un nouveau fichier Shockwave Flash
  • swf_ortho2 — Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant
  • swf_ortho — Définit une projection orthogonale entre les coordonnées utilisateur et le port courant
  • swf_perspective — Définit une projection orthogonale à 3 dimensions entre les coordonnées utilisateur et le port courant
  • swf_placeobject — Place un objet sur la scène
  • swf_polarview — Définit le point de vue de l'utilisateur en coordonnées polaires
  • swf_popmatrix — Dépile la matrice de transformation
  • swf_posround — Active l'approximation des translations d'objets Flash
  • swf_pushmatrix — Empile la matrice de transformations courante dans la pile
  • swf_removeobject — Enlève un objet
  • swf_rotate — Rotation de la transformation courante
  • swf_scale — Homothétie
  • swf_setfont — Change la police courante
  • swf_setframe — Fixe le cadre courant
  • swf_shapearc — Dessine un arc de cercle
  • swf_shapecurveto3 — Dessine une courbe Bézier cubique
  • swf_shapecurveto — Dessine une courbe de Bézier quadratique entre deux points
  • swf_shapefillbitmapclip — Choisit le mode de remplissage Flash par texture
  • swf_shapefillbitmaptile — Choisit le mode de remplissage par texture Flash répétée
  • swf_shapefilloff — Désactive le remplissage de formes Flash
  • swf_shapefillsolid — Fixe la couleur pour le style courant de remplissage Flash
  • swf_shapelinesolid — Fixe le style courant de ligne
  • swf_shapelineto — Dessine une ligne
  • swf_shapemoveto — Change la position courante
  • swf_showframe — Affiche le cadre courant
  • swf_startbutton — Commence la définition d'un bouton
  • swf_startdoaction — Commence la description d'une liste d'actions pour le cadre courant
  • swf_startshape — Commence une forme complexe
  • swf_startsymbol — Définit un symbole
  • swf_textwidth — Retourne la longueur d'une chaîne
  • swf_translate — Déplace la transformation courante
  • swf_viewport — Sélectionne une nouvelle zone pour un dessin ultérieur
Utilisation simple
swf_actiongeturl
SWF


Retourne l'URL d'une animation Shockwave Flash

Fonctions SWF
swf_actiongotoframe
Fonctions SWF
PHP Manual

swf_actiongeturl

(PHP 4)

swf_actiongeturl — Retourne l'URL d'une animation Shockwave Flash

Description

void swf_actiongeturl ( string $url , string $target )

Lit l'URL url, avec la destination target.

Liste de paramètres

url

L'RUL, sous la forme d'une chaîne de caractères.

target

La cible, sous la forme d'une chaîne de caractères.

Valeurs de retour

Aucune valeur n'est retournée.

Fonctions SWF
swf_actiongotoframe
Fonctions SWF


Joue un cadre puis stoppe

swf_actiongeturl
swf_actiongotolabel
Fonctions SWF
PHP Manual

swf_actiongotoframe

(PHP 4)

swf_actiongotoframe — Joue un cadre puis stoppe

Description

void swf_actiongotoframe ( int $framenumber )

swf_actiongotoframe() se déplace jusqu'au cadre framenumber, le joue, puis s'arrête.

Liste de paramètres

framenumber

Le numéro du cadre.

Valeurs de retour

Aucune valeur n'est retournée.

swf_actiongeturl
swf_actiongotolabel
Fonctions SWF


Joue le cadre Flash spécifié

swf_actiongotoframe
swf_actionnextframe
Fonctions SWF
PHP Manual

swf_actiongotolabel

(PHP 4)

swf_actiongotolabel — Joue le cadre Flash spécifié

Description

void swf_actiongotolabel ( string $label )

swf_actiongotolabel() affiche le cadre appelé label, puis s'arrête.

Liste de paramètres

label

Le libellé du cadre.

Valeurs de retour

Aucune valeur n'est retournée.

swf_actiongotoframe
swf_actionnextframe
Fonctions SWF


Avance d'un cadre

swf_actiongotolabel
swf_actionplay
Fonctions SWF
PHP Manual

swf_actionnextframe

(PHP 4)

swf_actionnextframe — Avance d'un cadre

Description

void swf_actionnextframe ( void )

Avance d'un cadre le cadre courant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_actionprevframe() - Recule d'un cadre

swf_actiongotolabel
swf_actionplay
Fonctions SWF


Joue l'animation Flash à partir du cadre courant

swf_actionnextframe
swf_actionprevframe
Fonctions SWF
PHP Manual

swf_actionplay

(PHP 4)

swf_actionplay — Joue l'animation Flash à partir du cadre courant

Description

void swf_actionplay ( void )

Joue l'animation Flash à partir du cadre courant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_actionstop() - Arrête l'animation Flash

swf_actionnextframe
swf_actionprevframe
Fonctions SWF


Recule d'un cadre

swf_actionplay
swf_actionsettarget
Fonctions SWF
PHP Manual

swf_actionprevframe

(PHP 4)

swf_actionprevframe — Recule d'un cadre

Description

void swf_actionprevframe ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_actionnextframe() - Avance d'un cadre

swf_actionplay
swf_actionsettarget
Fonctions SWF


Fixe le contexte des actions

swf_actionprevframe
swf_actionstop
Fonctions SWF
PHP Manual

swf_actionsettarget

(PHP 4)

swf_actionsettarget — Fixe le contexte des actions

Description

void swf_actionsettarget ( string $target )

Fixe le contexte des actions. Vous pouvez utiliser cette fonction pour contrôler d'autres animations Flash qui seraient en fonctionnement.

Liste de paramètres

target

La cible, sous la forme d'une chaîne de caractères.

Valeurs de retour

Aucune valeur n'est retournée.

swf_actionprevframe
swf_actionstop
Fonctions SWF


Arrête l'animation Flash

swf_actionsettarget
swf_actiontogglequality
Fonctions SWF
PHP Manual

swf_actionstop

(PHP 4)

swf_actionstop — Arrête l'animation Flash

Description

void swf_actionstop ( void )

Arrête l'animation Flash au cadre courant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_actionplay() - Joue l'animation Flash à partir du cadre courant

swf_actionsettarget
swf_actiontogglequality
Fonctions SWF


Choisit le niveau de qualité de l'animation Flash

swf_actionstop
swf_actionwaitforframe
Fonctions SWF
PHP Manual

swf_actiontogglequality

(PHP 4)

swf_actiontogglequality — Choisit le niveau de qualité de l'animation Flash

Description

void swf_actiontogglequality ( void )

Modifie le niveau de qualité de l'animation : haut ou bas.

Valeurs de retour

Aucune valeur n'est retournée.

swf_actionstop
swf_actionwaitforframe
Fonctions SWF


Ignore les actions si le cadre Flash n'est pas chargé

swf_actiontogglequality
swf_addbuttonrecord
Fonctions SWF
PHP Manual

swf_actionwaitforframe

(PHP 4)

swf_actionwaitforframe — Ignore les actions si le cadre Flash n'est pas chargé

Description

void swf_actionwaitforframe ( int $framenumber , int $skipcount )

swf_actionwaitforframe() vérifie que le cadre framenumber a bien été chargé. Si ce n'est pas le cas, elle ignore les actions skipcount. Cela est très utile pour les séquences du type "Chargement...".

Liste de paramètres

framenumber

Le numéro du cadre.

skipcount

Le numéro des actions à ignorer.

Valeurs de retour

Aucune valeur n'est retournée.

swf_actiontogglequality
swf_addbuttonrecord
Fonctions SWF


Contrôle la situation, l'apparence et la zone active du bouton Flash courant

swf_actionwaitforframe
swf_addcolor
Fonctions SWF
PHP Manual

swf_addbuttonrecord

(PHP 4)

swf_addbuttonrecord — Contrôle la situation, l'apparence et la zone active du bouton Flash courant

Description

void swf_addbuttonrecord ( int $states , int $shapeid , int $depth )

Permet de modifier les caractéristiques d'un bouton Flash.

Liste de paramètres

states

Définit les états du bouton autorisés : ce peut être BSHitTest, BSDown, BSOver ou BSUp.

shapeid

shapeid est l'apparence du bouton, c'est-à-dire l'objet qui représente le bouton.

depth

La profondeur de placement du bouton, dans le cadre courant.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec swf_addbuttonrecord()

<?php
swf_startButton($objid, TYPE_MENUBUTTON);
swf_addButtonRecord(BSDown|BSOver, $buttonImageId, 340);
swf_onCondition(MenuEnter);
swf_actionGetUrl("http://www.example.com", "_level1");
swf_onCondition(MenuExit);
swf_actionGetUrl("", "_level1");
swf_endButton();
?>

swf_actionwaitforframe
swf_addcolor
Fonctions SWF


Fixe la couleur globale d'addition Flash

swf_addbuttonrecord
swf_closefile
Fonctions SWF
PHP Manual

swf_addcolor

(PHP 4)

swf_addcolor — Fixe la couleur globale d'addition Flash

Description

void swf_addcolor ( float $r , float $g , float $b , float $a )

swf_mulcolor() fixe la valeur globale de multiplication à la couleur rgba. Cette couleur est utilisée (implicitement) par swf_placeobject(), swf_modifyobject() et swf_addbuttonrecord().

La couleur d'un objet sera ajoutée à rgba lorsque l'objet est placé sur la scène.

Liste de paramètres

r

La valeur pour le rouge

g

La valeur pour le vert

b

La valeur pour le bleu

a

La valeur pour l'alpha

Ces paramètres peuvent avoir une valeur positive ou négative.

Valeurs de retour

Aucune valeur n'est retournée.

swf_addbuttonrecord
swf_closefile
Fonctions SWF


Ferme le fichier courant Shockwave Flash

swf_addcolor
swf_definebitmap
Fonctions SWF
PHP Manual

swf_closefile

(PHP 4)

swf_closefile — Ferme le fichier courant Shockwave Flash

Description

void swf_closefile ([ int $return_file ] )

Ferme le fichier courant, qui a été ouvert avec swf_openfile().

Liste de paramètres

return_file

Si le paramètre return_file a été fourni, il contiendra le fichier SWF fermé.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Création d'un fichier Flash simple, basé sur une entrée de l'utilisateur, et sauvegarde dans une base.

<?php

// La variable $text est fournie par l'utilisateur

// Variables globales pour l'accès à la base de données
// utilisée dans la fonction swf_savedata())
$DBHOST = "localhost";
$DBUSER = "sterling";
$DBPASS = "secret";

swf_openfile("php://stdout", 256, 256, 30, 1, 1, 1);

    swf_definefont(10, "Ligon-Bold");
        swf_fontsize(12);
        swf_fontslant(10);

    swf_definetext(11, $text, 1);

    swf_pushmatrix();
        swf_translate(-50, 80, 0);
        swf_placeobject(11, 60);
    swf_popmatrix();

    swf_showframe();

    swf_startdoaction();
        swf_actionstop();
    swf_enddoaction();

$data = swf_closefile(1);

$data ?
  swf_savedata($data) :
  die("Error could not save SWF file");

// void swf_savedata(string data)
// Sauve le fichier généré dans la base de données
// pour accès ultérieur
function swf_savedata($data)
{
    global $DBHOST,
           $DBUSER,
           $DBPASS;

    $dbh = @mysql_connect($DBHOST, $DBUSER, $DBPASS);

    if (!$dbh) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    $stmt = "INSERT INTO swf_files (file) VALUES ('$data')";

    $sth = @mysql_query($stmt, $dbh);

    if (!$sth) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    @mysql_free_result($sth);
    @mysql_close($dbh);
}
?>

Voir aussi

  • swf_openfile() - Ouvre un nouveau fichier Shockwave Flash

swf_addcolor
swf_definebitmap
Fonctions SWF


Définit une image bitmap

swf_closefile
swf_definefont
Fonctions SWF
PHP Manual

swf_definebitmap

(PHP 4)

swf_definebitmap — Définit une image bitmap

Description

void swf_definebitmap ( int $objid , string $image_name )

swf_definebitmap() définit une bitmap à partir d'une image au format GIF, JPEG, RGB ou FI.

Liste de paramètres

objid

L'identifiant de l'objet SWF.

image_name

Une image GIF, JPEG, RGB ou FI. L'image sera convertie en Flash JPEG ou Flash color map.

Valeurs de retour

Aucune valeur n'est retournée.

swf_closefile
swf_definefont
Fonctions SWF


Définit une police Flash

swf_definebitmap
swf_defineline
Fonctions SWF
PHP Manual

swf_definefont

(PHP 4)

swf_definefont — Définit une police Flash

Description

void swf_definefont ( int $fontid , string $fontname )

swf_definefont() définit la police fontname et lui affecte l'identifiant fontid. Cette police devient alors la police courante.

Liste de paramètres

fontid

L'identifiant à donner à la police.

fontname

La police définie comme police courante.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_definetext() - Définit une chaîne de texte

swf_definebitmap
swf_defineline
Fonctions SWF


Définit une ligne

swf_definefont
swf_definepoly
Fonctions SWF
PHP Manual

swf_defineline

(PHP 4)

swf_defineline — Définit une ligne

Description

void swf_defineline ( int $objid , float $x1 , float $y1 , float $x2 , float $y2 , float $width )

Définit une ligne.

Liste de paramètres

objid

L'identifiant de l'objet.

x1

X : coordonnée du point de départ.

y1

Y : coordonnée du point de départ.

x2

X : coordonnée du point de fin.

y2

Y : coordonnée du point de fin.

width

L'épaisseur de la ligne.

Valeurs de retour

Aucune valeur n'est retournée.

swf_definefont
swf_definepoly
Fonctions SWF


Définit un polygone Flash

swf_defineline
swf_definerect
Fonctions SWF
PHP Manual

swf_definepoly

(PHP 4)

swf_definepoly — Définit un polygone Flash

Description

void swf_definepoly ( int $objid , array $coords , int $npoints , float $width )

Définit un polygone, dont les coordonnées des sommets sont placées dans le tableau coords).

Liste de paramètres

objid

L'identifiant de l'objet.

coords

Un tableau de coordonnées x et y.

npoints

Le nombre de points contenus dans le tableau coords.

width

La largeur des bords du polygone. Si width vaut 0.0, le polygone sera rempli.

Valeurs de retour

Aucune valeur n'est retournée.

swf_defineline
swf_definerect
Fonctions SWF


Définit un rectangle

swf_definepoly
swf_definetext
Fonctions SWF
PHP Manual

swf_definerect

(PHP 4)

swf_definerect — Définit un rectangle

Description

void swf_definerect ( int $objid , float $x1 , float $y1 , float $x2 , float $y2 , float $width )

Définit un rectangle.

Liste de paramètres

objid

L'identifiant de l'objet.

x1

X : coordonnée du point en haut, à gauche.

y1

Y : coordonnée du point en haut, à gauche.

x2

X : coordonnée du point en bas, à droite.

y2

Y : coordonnée du point en bas, à droite.

width

L'épaisseur des bords est donnée par le paramètre width. width, 0.0 le rectangle sera rempli.

Valeurs de retour

Aucune valeur n'est retournée.

swf_definepoly
swf_definetext
Fonctions SWF


Définit une chaîne de texte

swf_definerect
swf_endbutton
Fonctions SWF
PHP Manual

swf_definetext

(PHP 4)

swf_definetext — Définit une chaîne de texte

Description

void swf_definetext ( int $objid , string $str , int $docenter )

Définit une chaîne de texte.

Liste de paramètres

objid

L'identifiant de l'objet.

str

Le texte, sous la forme d'une chaîne de caractères.

docenter

docenter indique si la chaîne doit être centrée (valeur de 1), ou pas.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple d'un texte horizontal

<?php

$Xposition = 50;
$Yposition = 50;
$Zposition = 0;
$Obj_depth = 1;

$char = 'THIS IS THE TEXT';

swf_pushmatrix();

swf_definefont (swf_nextid(), "Mod");
swf_fontsize(10);

$secondid = swf_nextid();
swf_definetext($secondid, $char, 1);
swf_translate($Xposition, $Yposition, Zposition);
swf_placeobject($secondid, $Obj_depth);
swf_popmatrix();

?>

Voir aussi

  • swf_definefont() - Définit une police Flash

swf_definerect
swf_endbutton
Fonctions SWF


Termine la définition du bouton Flash courant

swf_definetext
swf_enddoaction
Fonctions SWF
PHP Manual

swf_endbutton

(PHP 4)

swf_endbutton — Termine la définition du bouton Flash courant

Description

void swf_endbutton ( void )

swf_endbutton() termine la définition du bouton courant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_startbutton() - Commence la définition d'un bouton

swf_definetext
swf_enddoaction
Fonctions SWF


Termine l'action courante

swf_endbutton
swf_endshape
Fonctions SWF
PHP Manual

swf_enddoaction

(PHP 4)

swf_enddoaction — Termine l'action courante

Description

void swf_enddoaction ( void )

Termine l'action courante, démarrée par swf_startdoaction().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_startdoaction() - Commence la description d'une liste d'actions pour le cadre courant

swf_endbutton
swf_endshape
Fonctions SWF


Complète la définition de la forme Flash courante

swf_enddoaction
swf_endsymbol
Fonctions SWF
PHP Manual

swf_endshape

(PHP 4)

swf_endshape — Complète la définition de la forme Flash courante

Description

void swf_endshape ( void )

swf_endshape() complète la définition de la forme courante.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_startshape() - Commence une forme complexe

swf_enddoaction
swf_endsymbol
Fonctions SWF


Termine la définition de symbole

swf_endshape
swf_fontsize
Fonctions SWF
PHP Manual

swf_endsymbol

(PHP 4)

swf_endsymbol — Termine la définition de symbole

Description

void swf_endsymbol ( void )

swf_endsymbol() termine la définition de symbole, qui a été commencée avec swf_startsymbol().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_startsymbol() - Définit un symbole

swf_endshape
swf_fontsize
Fonctions SWF


Change la taille de la police

swf_endsymbol
swf_fontslant
Fonctions SWF
PHP Manual

swf_fontsize

(PHP 4)

swf_fontsize — Change la taille de la police

Description

void swf_fontsize ( float $size )

Remplace la taille de la police par la taille size.

Liste de paramètres

size

La taille de la police, sous la forme d'un entier.

Valeurs de retour

Aucune valeur n'est retournée.

swf_endsymbol
swf_fontslant
Fonctions SWF


Change l'inclinaison de la police courante

swf_fontsize
swf_fonttracking
Fonctions SWF
PHP Manual

swf_fontslant

(PHP 4)

swf_fontslant — Change l'inclinaison de la police courante

Description

void swf_fontslant ( float $slant )

swf_fontslant() fixe l'inclinaison de la police courante à slant.

Liste de paramètres

slant

Les valeurs positives créeront une inclinaison vers la droite, les négatives, vers la gauche.

Valeurs de retour

Aucune valeur n'est retournée.

swf_fontsize
swf_fonttracking
Fonctions SWF


Change l'espacement des caractères

swf_fontslant
swf_getbitmapinfo
Fonctions SWF
PHP Manual

swf_fonttracking

(PHP 4)

swf_fonttracking — Change l'espacement des caractères

Description

void swf_fonttracking ( float $tracking )

swf_fonttracking() change l'espacement, et lui affecte la valeur de tracking. Cette fonction sert à accroître l'espace entre les lettres et le texte. Les valeurs positives accroissent cet espace, les négatives le réduisent.

Liste de paramètres

tracking

L'espacement entre les caractères.

Valeurs de retour

Aucune valeur n'est retournée.

swf_fontslant
swf_getbitmapinfo
Fonctions SWF


Lit les informations sur une image

swf_fonttracking
swf_getfontinfo
Fonctions SWF
PHP Manual

swf_getbitmapinfo

(PHP 4)

swf_getbitmapinfo — Lit les informations sur une image

Description

array swf_getbitmapinfo ( int $bitmapid )

Retourne un tableau d'informations sur l'image bitmap repérée par bitmapid.

Liste de paramètres

bitmapid

L'identifiant de l'image bitmap.

Valeurs de retour

Le tableau contient les éléments suivants :

  • "size" : la taille en octets de l'image.
  • "width" : la largeur en pixels de l'image.
  • "height" : la hauteur en pixels de l'image.

swf_fonttracking
swf_getfontinfo
Fonctions SWF


Retourne des informations sur la police

swf_getbitmapinfo
swf_getframe
Fonctions SWF
PHP Manual

swf_getfontinfo

(PHP 4)

swf_getfontinfo — Retourne des informations sur la police

Description

array swf_getfontinfo ( void )

swf_getfontinfo() retourne la hauteur du A majuscule, et du x minuscule.

Valeurs de retour

Retourne un tableau associatif avec les paramètres suivants :

  • Aheight : la hauteur du A majuscule, en pixels.
  • xheight : la hauteur du x minuscule, en pixels.

swf_getbitmapinfo
swf_getframe
Fonctions SWF


Retourne le numéro de cadre courant

swf_getfontinfo
swf_labelframe
Fonctions SWF
PHP Manual

swf_getframe

(PHP 4)

swf_getframe — Retourne le numéro de cadre courant

Description

int swf_getframe ( void )

swf_getframe() retourne le numéro de cadre courant.

Valeurs de retour

Retourne le numéro du cadre courant, sous la forme d'un entier.

Voir aussi

  • swf_setframe() - Fixe le cadre courant

swf_getfontinfo
swf_labelframe
Fonctions SWF


Nomme le cadre courant

swf_getframe
swf_lookat
Fonctions SWF
PHP Manual

swf_labelframe

(PHP 4)

swf_labelframe — Nomme le cadre courant

Description

void swf_labelframe ( string $name )

swf_labelframe() donne le nom name au cadre courant.

Liste de paramètres

name

Le nom du cadre.

Valeurs de retour

Aucune valeur n'est retournée.

swf_getframe
swf_lookat
Fonctions SWF


Définit une transformation de vue

swf_labelframe
swf_modifyobject
Fonctions SWF
PHP Manual

swf_lookat

(PHP 4)

swf_lookat — Définit une transformation de vue

Description

void swf_lookat ( float $view_x , float $view_y , float $view_z , float $reference_x , float $reference_y , float $reference_z , float $twist )

Définit une transformation de vue.

Liste de paramètres

view_x

X : coordonnée de la position de la vue.

view_y

Y : coordonnée de la position de la vue.

view_z

Z : coordonnée de la position de la vue.

reference_x

X : coordonnée du point de référence.

reference_y

Y : coordonnée du point de référence.

reference_z

Z : coordonnée du point de référence.

twist

Contrôle la rotation autour de l'axe Z.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Rotation simple autour d'un texte

<?php

header('Content-type: application/x-shockwave-flash');

swf_openfile("php://stdout", 320, 200, 25, 1, 1, 1);

swf_ortho(-100, 100, -100, 100, -100, 100); // création des coordonnées 3D

swf_definefont(0, "Pix3");
swf_addcolor(0, 0, 0, 1);
swf_fontsize(10);
swf_fonttracking(0.2);

for ($i = 0; $i < 628; $i += 8) {
    $j = $i / 100;
    swf_pushmatrix();
    swf_translate(0, 0, 0);
    swf_perspective(100, 1, 0, 10);
    swf_lookat(sin($j) * 60, 50, cos($j) * 60, 0, 0, 0, 0);

    swf_definetext (1, 'HotKey@', 0);
    swf_translate(-50,0,0);

    swf_placeobject(1,10);

    swf_definetext(2, 'example.com', 0);
    swf_translate(55, 0, 0);
    swf_placeobject(2, 11);

    swf_showframe();
    swf_removeobject(10);
    swf_removeobject(11);
    swf_popmatrix();
}

swf_closefile();
?>

swf_labelframe
swf_modifyobject
Fonctions SWF


Modifie un objet Flash

swf_lookat
swf_mulcolor
Fonctions SWF
PHP Manual

swf_modifyobject

(PHP 4)

swf_modifyobject — Modifie un objet Flash

Description

void swf_modifyobject ( int $depth , int $how )

Modifie la position et/ou la couleur de l'objet situé à la profondeur de depth.

Liste de paramètres

depth

La profondeur, sous la forme d'un entier.

how

Détermine ce qui doit être modifié. how peut prendre les valeurs de MOD_MATRIX, MOD_COLOR ou la combinaison des deux.

MOD_COLOR utilise la couleur courante de multiplication (spécifiée par swf_mulcolor()) et la couleur courante d'addition (spécifiée par swf_addcolor()) pour colorer l'objet, et MOD_MATRIX utilise la matrice courante pour positionner l'objet.

Valeurs de retour

Aucune valeur n'est retournée.

swf_lookat
swf_mulcolor
Fonctions SWF


Fixe la couleur globale de multiplication

swf_modifyobject
swf_nextid
Fonctions SWF
PHP Manual

swf_mulcolor

(PHP 4)

swf_mulcolor — Fixe la couleur globale de multiplication

Description

void swf_mulcolor ( float $r , float $g , float $b , float $a )

swf_mulcolor() fixe la valeur globale de multiplication à la couleur rgba. Cette couleur est utilisée (implicitement) par swf_placeobject(), swf_modifyobject() et swf_addbuttonrecord().

La couleur d'un objet sera multipliée par rgba lorsque l'objet est placé sur la scène.

Liste de paramètres

r

La valeur pour le rouge

g

La valeur pour le vert

b

La valeur pour le bleu

a

La valeur pour l'alpha

Ces paramètres peuvent être positifs ou négatifs.

Valeurs de retour

Aucune valeur n'est retournée.

swf_modifyobject
swf_nextid
Fonctions SWF


Retourne le prochain identifiant d'objet libre

swf_mulcolor
swf_oncondition
Fonctions SWF
PHP Manual

swf_nextid

(PHP 4)

swf_nextid — Retourne le prochain identifiant d'objet libre

Description

int swf_nextid ( void )

swf_nextid() retourne le prochain identifiant d'objet libre.

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

swf_mulcolor
swf_oncondition
Fonctions SWF


Décrit la transition utilisée pour déclencher une liste d'actions

swf_nextid
swf_openfile
Fonctions SWF
PHP Manual

swf_oncondition

(PHP 4)

swf_oncondition — Décrit la transition utilisée pour déclencher une liste d'actions

Description

void swf_oncondition ( int $transition )

swf_oncondition() décrit une transition qui va déclencher une liste d'actions.

Liste de paramètres

transition

Il y a plusieurs types de transitions possibles, les suivantes sont destinées aux boutons de type TYPE_MENUBUTTON :

  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • IdletoOverDown
  • OutDowntoIdle
  • MenuEnter (IdletoOverUp|IdletoOverDown)
  • MenuExit (OverUptoIdle|OverDowntoIdle)
Pour les types TYPE_PUSHBUTTON voici les options :
  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • OverDowntoOutDown
  • OutDowntoOverDown
  • OutDowntoIdle
  • ButtonEnter (IdletoOverUp|OutDowntoOverDown)
  • ButtonExit (OverUptoIdle|OverDowntoOutDown)

Valeurs de retour

Aucune valeur n'est retournée.

swf_nextid
swf_openfile
Fonctions SWF


Ouvre un nouveau fichier Shockwave Flash

swf_oncondition
swf_ortho2
Fonctions SWF
PHP Manual

swf_openfile

(PHP 4)

swf_openfile — Ouvre un nouveau fichier Shockwave Flash

Description

void swf_openfile ( string $filename , float $width , float $height , float $framerate , float $r , float $g , float $b )

Crée un nouveau fichier. swf_openfile() doit être la première fonction à appeler, sous peine d'erreur mémoire (segmentation fault).

Liste de paramètres

filename

Le chemin vers le fichier SWF. Si vous voulez envoyer la sortie à l'écran, définissez ce paramètre à php://stdout.

width

La largeur de la vidéo

height

La hauteur de la vidéo

framerate

L'échantillonnage du cadre

r

Valeur du rouge pour l'arrière-plan

g

Valeur du vert pour l'arrière-plan

b

Valeur du bleu pour l'arrière-plan

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
4.0.1 | Le support de php://stdout a été ajouté.

Voir aussi

  • swf_closefile() - Ferme le fichier courant Shockwave Flash

swf_oncondition
swf_ortho2
Fonctions SWF


Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant

swf_openfile
swf_ortho
Fonctions SWF
PHP Manual

swf_ortho2

(PHP 4)

swf_ortho2 — Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant

Description

void swf_ortho2 ( float $xmin , float $xmax , float $ymin , float $ymax )

Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant. C'est la projection par défaut des animations Flash.

Si vous souhaitez une perspective, utilisez plutôt swf_perspective().

Liste de paramètres

xmin

xmax

ymin

ymax

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_ortho() - Définit une projection orthogonale entre les coordonnées utilisateur et le port courant

swf_openfile
swf_ortho
Fonctions SWF


Définit une projection orthogonale entre les coordonnées utilisateur et le port courant

swf_ortho2
swf_perspective
Fonctions SWF
PHP Manual

swf_ortho

(PHP 4 >= 4.0.1)

swf_ortho — Définit une projection orthogonale entre les coordonnées utilisateur et le port courant

Description

void swf_ortho ( float $xmin , float $xmax , float $ymin , float $ymax , float $zmin , float $zmax )

Définit une projection orthogonale entre les coordonnées utilisateur et le port courant.

Liste de paramètres

xmin

xmax

ymin

ymax

zmin

zmax

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_ortho2() - Définit une projection orthogonale à 2 dimensions entre les coordonnées utilisateur et le port courant

swf_ortho2
swf_perspective
Fonctions SWF


Définit une projection orthogonale à 3 dimensions entre les coordonnées utilisateur et le port courant

swf_ortho
swf_placeobject
Fonctions SWF
PHP Manual

swf_perspective

(PHP 4)

swf_perspective — Définit une projection orthogonale à 3 dimensions entre les coordonnées utilisateur et le port courant

Description

void swf_perspective ( float $fovy , float $aspect , float $near , float $far )

Définit une projection orthogonale à 3 dimensions entre les coordonnées utilisateur et le port courant.

Note: Diverses distorsions peuvent apparaître lors de ce genre de projections, car Flash ne dispose que d'une matrice à 2 dimensions. Certaines distorsions font vraiment tâche d'encre.

Liste de paramètres

fovy

L'angle de vue de la direction y.

aspect

Le paramètre aspect doit être choisi pour correspondre au ratio de la vue utilisée.

near

Le plan adjacent proche.

far

Le plan adjacent distant.

Valeurs de retour

Aucune valeur n'est retournée.

swf_ortho
swf_placeobject
Fonctions SWF


Place un objet sur la scène

swf_perspective
swf_polarview
Fonctions SWF
PHP Manual

swf_placeobject

(PHP 4)

swf_placeobject — Place un objet sur la scène

Description

void swf_placeobject ( int $objid , int $depth )

Place l'objet objid dans le cadre courant, à la profondeur depth.

swf_placeobject() utilise la couleur courante de multiplication (spécifiée par swf_mulcolor()) et la couleur courante d'addition (spécifiée par swf_addcolor()) pour colorer l'objet, et utilise la matrice courante pour positionner l'objet.

Liste de paramètres

objid

L'identifiant de l'objet.

depth

Doivent être compris entre 1 et 65535.

Valeurs de retour

Aucune valeur n'est retournée.

swf_perspective
swf_polarview
Fonctions SWF


Définit le point de vue de l'utilisateur en coordonnées polaires

swf_placeobject
swf_popmatrix
Fonctions SWF
PHP Manual

swf_polarview

(PHP 4)

swf_polarview — Définit le point de vue de l'utilisateur en coordonnées polaires

Description

void swf_polarview ( float $dist , float $azimuth , float $incidence , float $twist )

swf_polarview() définit la position de l'utilisateur en coordonnées polaires.

Liste de paramètres

dist

La distance entre le point de vue et l'origine.

azimuth

Définit l'angle azimutal dans le plan x,y mesuré en distance depuis l'axe y.

incidence

Définit l'angle d'incidence dans le plan y,z, mesuré en distance depuis l'axe z.

twist

L'angle de rotation du point de vue sur la ligne de vue, en utilisant la règle de la main droite.

Valeurs de retour

Aucune valeur n'est retournée.

swf_placeobject
swf_popmatrix
Fonctions SWF


Dépile la matrice de transformation

swf_polarview
swf_posround
Fonctions SWF
PHP Manual

swf_popmatrix

(PHP 4)

swf_popmatrix — Dépile la matrice de transformation

Description

void swf_popmatrix ( void )

swf_popmatrix() dépile la matrice de transformation.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_pushmatrix() - Empile la matrice de transformations courante dans la pile

swf_polarview
swf_posround
Fonctions SWF


Active l'approximation des translations d'objets Flash

swf_popmatrix
swf_pushmatrix
Fonctions SWF
PHP Manual

swf_posround

(PHP 4)

swf_posround — Active l'approximation des translations d'objets Flash

Description

void swf_posround ( int $round )

swf_posround() active ou désactive l'approximation lors des translations, lorsque des objets sont placés ou déplacés. Il y a des situations où le texte devient plus lisible lorsque l'approximation a été activée.

Liste de paramètres

round

Active l'approximation (1) ou la désactive (0).

Valeurs de retour

Aucune valeur n'est retournée.

swf_popmatrix
swf_pushmatrix
Fonctions SWF


Empile la matrice de transformations courante dans la pile

swf_posround
swf_removeobject
Fonctions SWF
PHP Manual

swf_pushmatrix

(PHP 4)

swf_pushmatrix — Empile la matrice de transformations courante dans la pile

Description

void swf_pushmatrix ( void )

swf_pushmatrix() empile la matrice de transformations courante dans la pile.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_popmatrix() - Dépile la matrice de transformation

swf_posround
swf_removeobject
Fonctions SWF


Enlève un objet

swf_pushmatrix
swf_rotate
Fonctions SWF
PHP Manual

swf_removeobject

(PHP 4)

swf_removeobject — Enlève un objet

Description

void swf_removeobject ( int $depth )

Enlève le dernier objet situé à la profondeur depth de la scène.

Liste de paramètres

depth

La profondeur, sous la forme d'un entier.

Valeurs de retour

Aucune valeur n'est retournée.

swf_pushmatrix
swf_rotate
Fonctions SWF


Rotation de la transformation courante

swf_removeobject
swf_scale
Fonctions SWF
PHP Manual

swf_rotate

(PHP 4)

swf_rotate — Rotation de la transformation courante

Description

void swf_rotate ( float $angle , string $axis )

swf_rotate() fait subir la rotation d'angle angle, autour de l'axe axis.

Liste de paramètres

angle

L'angle de rotation.

axis

Les valeurs possibles pour axis sont : 'x' (abscisses), 'y' (ordonnées) ou 'z' (cote).

Valeurs de retour

Aucune valeur n'est retournée.

swf_removeobject
swf_scale
Fonctions SWF


Homothétie

swf_rotate
swf_setfont
Fonctions SWF
PHP Manual

swf_scale

(PHP 4)

swf_scale — Homothétie

Description

void swf_scale ( float $x , float $y , float $z )

swf_scale() fait une mise à l'échelle.

Liste de paramètres

x

Facteur X.

y

Facteur Y.

z

Facteur Z.

Valeurs de retour

Aucune valeur n'est retournée.

swf_rotate
swf_setfont
Fonctions SWF


Change la police courante

swf_scale
swf_setframe
Fonctions SWF
PHP Manual

swf_setfont

(PHP 4)

swf_setfont — Change la police courante

Description

void swf_setfont ( int $fontid )

swf_setfont() remplace la police courante par la police repérée par l'identifiant fontid.

Liste de paramètres

fontid

L'identifiant de la police.

Valeurs de retour

Aucune valeur n'est retournée.

swf_scale
swf_setframe
Fonctions SWF


Fixe le cadre courant

swf_setfont
swf_shapearc
Fonctions SWF
PHP Manual

swf_setframe

(PHP 4)

swf_setframe — Fixe le cadre courant

Description

void swf_setframe ( int $framenumber )

swf_setframe() sélectionne le cadre framenumber comme cadre actif.

Liste de paramètres

framenumber

Le numéro du cadre à définir.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_getframe() - Retourne le numéro de cadre courant

swf_setfont
swf_shapearc
Fonctions SWF


Dessine un arc de cercle

swf_setframe
swf_shapecurveto3
Fonctions SWF
PHP Manual

swf_shapearc

(PHP 4)

swf_shapearc — Dessine un arc de cercle

Description

void swf_shapearc ( float $x , float $y , float $r , float $ang1 , float $ang2 )

Dessine un arc de cercle.

Liste de paramètres

x

X : coordonnée du centre.

y

Y : coordonnée du centre.

r

Le radius de l'arc.

ang1

L'angle de départ.

ang2

L'angle de fin.

Valeurs de retour

Aucune valeur n'est retournée.

swf_setframe
swf_shapecurveto3
Fonctions SWF


Dessine une courbe Bézier cubique

swf_shapearc
swf_shapecurveto
Fonctions SWF
PHP Manual

swf_shapecurveto3

(PHP 4)

swf_shapecurveto3 — Dessine une courbe Bézier cubique

Description

void swf_shapecurveto3 ( float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Dessine une courbe de Bézier cubique, en utilisant les points de coordonnées fournis.

La position finale devient alors la position courante.

Liste de paramètres

x1

X : coordonnée du premier point de contrôle.

y1

Y : coordonnée du premier point de contrôle.

x2

X : coordonnée du second point de contrôle.

y2

Y : coordonnée du second point de contrôle.

x3

X : coordonnée du point final.

y3

Y : coordonnée du point final.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_shapecurveto() - Dessine une courbe de Bézier quadratique entre deux points

swf_shapearc
swf_shapecurveto
Fonctions SWF


Dessine une courbe de Bézier quadratique entre deux points

swf_shapecurveto3
swf_shapefillbitmapclip
Fonctions SWF
PHP Manual

swf_shapecurveto

(PHP 4)

swf_shapecurveto — Dessine une courbe de Bézier quadratique entre deux points

Description

void swf_shapecurveto ( float $x1 , float $y1 , float $x2 , float $y2 )

Dessine la courbe de Bézier quadratique entre les points de coordonnées fournis.

La position finale devient la position courante.

Liste de paramètres

x1

X : coordonnée du premier point.

y1

Y : coordonnée du premier point.

x2

X : coordonnée du second point.

y2

Y : coordonnée du second point.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_shapecurveto3() - Dessine une courbe Bézier cubique

swf_shapecurveto3
swf_shapefillbitmapclip
Fonctions SWF


Choisit le mode de remplissage Flash par texture

swf_shapecurveto
swf_shapefillbitmaptile
Fonctions SWF
PHP Manual

swf_shapefillbitmapclip

(PHP 4)

swf_shapefillbitmapclip — Choisit le mode de remplissage Flash par texture

Description

void swf_shapefillbitmapclip ( int $bitmapid )

Choisit le mode de remplissage par texture : les espaces vides seront remplis avec la bitmap bitmapid.

Liste de paramètres

bitmapid

L'identifiant du bitmap.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_shapefillbitmaptile() - Choisit le mode de remplissage par texture Flash répétée

swf_shapecurveto
swf_shapefillbitmaptile
Fonctions SWF


Choisit le mode de remplissage par texture Flash répétée

swf_shapefillbitmapclip
swf_shapefilloff
Fonctions SWF
PHP Manual

swf_shapefillbitmaptile

(PHP 4)

swf_shapefillbitmaptile — Choisit le mode de remplissage par texture Flash répétée

Description

void swf_shapefillbitmaptile ( int $bitmapid )

swf_shapefillbitmaptile() active le mode de remplissage par texture : les espaces vides seront remplis avec la bitmap bitmapid, répétée autant de fois qu'il le faut (mode carrelage).

Liste de paramètres

bitmapid

L'identifiant du bitmap.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_shapefillbitmapclip() - Choisit le mode de remplissage Flash par texture

swf_shapefillbitmapclip
swf_shapefilloff
Fonctions SWF


Désactive le remplissage de formes Flash

swf_shapefillbitmaptile
swf_shapefillsolid
Fonctions SWF
PHP Manual

swf_shapefilloff

(PHP 4)

swf_shapefilloff — Désactive le remplissage de formes Flash

Description

void swf_shapefilloff ( void )

swf_shapefilloff() désactive le remplissage de la forme courante.

Valeurs de retour

Aucune valeur n'est retournée.

swf_shapefillbitmaptile
swf_shapefillsolid
Fonctions SWF


Fixe la couleur pour le style courant de remplissage Flash

swf_shapefilloff
swf_shapelinesolid
Fonctions SWF
PHP Manual

swf_shapefillsolid

(PHP 4)

swf_shapefillsolid — Fixe la couleur pour le style courant de remplissage Flash

Description

void swf_shapefillsolid ( float $r , float $g , float $b , float $a )

swf_shapefillsolid() fixe la couleur pour le style courant de remplissage à rgba.

Liste de paramètres

r

La valeur pour le rouge

g

La valeur pour le vert

b

La valeur pour le bleu

a

La valeur pour l'alpha

Valeurs de retour

Aucune valeur n'est retournée.

swf_shapefilloff
swf_shapelinesolid
Fonctions SWF


Fixe le style courant de ligne

swf_shapefillsolid
swf_shapelineto
Fonctions SWF
PHP Manual

swf_shapelinesolid

(PHP 4)

swf_shapelinesolid — Fixe le style courant de ligne

Description

void swf_shapelinesolid ( float $r , float $g , float $b , float $a , float $width )

swf_shapelinesolid() permet de choisir le style de ligne, à savoir la couleur et la largeur.

Liste de paramètres

r

La valeur pour le rouge

g

La valeur pour le vert

b

La valeur pour le bleu

a

La valeur pour l'alpha

width

L'épaisseur de la ligne. Si défini à 0.0, aucune ligne ne sera tracée.

Valeurs de retour

Aucune valeur n'est retournée.

swf_shapefillsolid
swf_shapelineto
Fonctions SWF


Dessine une ligne

swf_shapelinesolid
swf_shapemoveto
Fonctions SWF
PHP Manual

swf_shapelineto

(PHP 4)

swf_shapelineto — Dessine une ligne

Description

void swf_shapelineto ( float $x , float $y )

Dessine une ligne entre la position courante et le point de coordonnées fournis. La position finale devient alors la position courante.

Liste de paramètres

x

X : coordonnée de la cible.

y

Y : coordonnée de la cible.

Valeurs de retour

Aucune valeur n'est retournée.

swf_shapelinesolid
swf_shapemoveto
Fonctions SWF


Change la position courante

swf_shapelineto
swf_showframe
Fonctions SWF
PHP Manual

swf_shapemoveto

(PHP 4)

swf_shapemoveto — Change la position courante

Description

void swf_shapemoveto ( float $x , float $y )

swf_shapemoveto() fixe la position courante au point de coordonnées fournis.

Liste de paramètres

x

X : coordonnée de la cible.

y

Y : coordonnée de la cible.

Valeurs de retour

Aucune valeur n'est retournée.

swf_shapelineto
swf_showframe
Fonctions SWF


Affiche le cadre courant

swf_shapemoveto
swf_startbutton
Fonctions SWF
PHP Manual

swf_showframe

(PHP 4)

swf_showframe — Affiche le cadre courant

Description

void swf_showframe ( void )

swf_showframe() affiche le cadre courant.

Valeurs de retour

Aucune valeur n'est retournée.

swf_shapemoveto
swf_startbutton
Fonctions SWF


Commence la définition d'un bouton

swf_showframe
swf_startdoaction
Fonctions SWF
PHP Manual

swf_startbutton

(PHP 4)

swf_startbutton — Commence la définition d'un bouton

Description

void swf_startbutton ( int $objid , int $type )

Commence la définition d'un bouton.

Liste de paramètres

objid

L'identifiant de l'objet.

type

Peut prendre les valeurs de TYPE_MENUBUTTON ou TYPE_PUSHBUTTON. La constante TYPE_MENUBUTTON permet au focus de traverser lorsque la souris est cliquée, alors que TYPE_PUSHBUTTON ne le permet pas.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_endbutton() - Termine la définition du bouton Flash courant

swf_showframe
swf_startdoaction
Fonctions SWF


Commence la description d'une liste d'actions pour le cadre courant

swf_startbutton
swf_startshape
Fonctions SWF
PHP Manual

swf_startdoaction

(PHP 4)

swf_startdoaction — Commence la description d'une liste d'actions pour le cadre courant

Description

void swf_startdoaction ( void )

swf_startdoaction() commence la description d'une liste d'actions pour le cadre courant. Cette fonction doit être appelée avant que les actions ne soient définies pour le cadre courant.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_enddoaction() - Termine l'action courante

swf_startbutton
swf_startshape
Fonctions SWF


Commence une forme complexe

swf_startdoaction
swf_startsymbol
Fonctions SWF
PHP Manual

swf_startshape

(PHP 4)

swf_startshape — Commence une forme complexe

Description

void swf_startshape ( int $objid )

Commence une forme complexe.

Liste de paramètres

objid

L'identifiant de l'objet.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_endshape() - Complète la définition de la forme Flash courante

swf_startdoaction
swf_startsymbol
Fonctions SWF


Définit un symbole

swf_startshape
swf_textwidth
Fonctions SWF
PHP Manual

swf_startsymbol

(PHP 4)

swf_startsymbol — Définit un symbole

Description

void swf_startsymbol ( int $objid )

swf_startsymbol() définit un identifiant d'objet comme symbole. Les symboles sont des petites animations Flash qui peuvent être jouées simultanément.

Liste de paramètres

objid

L'identifiant de l'objet que vous voulez définir comme symbole.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • swf_endsymbol() - Termine la définition de symbole

swf_startshape
swf_textwidth
Fonctions SWF


Retourne la longueur d'une chaîne

swf_startsymbol
swf_translate
Fonctions SWF
PHP Manual

swf_textwidth

(PHP 4)

swf_textwidth — Retourne la longueur d'une chaîne

Description

float swf_textwidth ( string $str )

swf_textwidth() retourne la longueur de la chaîne str, en pixels, en utilisant la police courante.

Liste de paramètres

str

La chaîne de caractères.

Valeurs de retour

Retourne la longueur de la ligne, sous la forme d'un nombre décimal.

swf_startsymbol
swf_translate
Fonctions SWF


Déplace la transformation courante

swf_textwidth
swf_viewport
Fonctions SWF
PHP Manual

swf_translate

(PHP 4)

swf_translate — Déplace la transformation courante

Description

void swf_translate ( float $x , float $y , float $z )

Déplace la transformation courante.

Liste de paramètres

x

Valeur X.

y

Valeur Y.

z

Valeur Z.

Valeurs de retour

Aucune valeur n'est retournée.

swf_textwidth
swf_viewport
Fonctions SWF


Sélectionne une nouvelle zone pour un dessin ultérieur

swf_translate
Extensions sur le contrôle des processus
Fonctions SWF
PHP Manual

swf_viewport

(PHP 4)

swf_viewport — Sélectionne une nouvelle zone pour un dessin ultérieur

Description

void swf_viewport ( float $xmin , float $xmax , float $ymin , float $ymax )

swf_viewport() sélectionne une nouvelle zone pour y dessiner ultérieurement. La zone est définie de xmin à xmax et de ymin à ymax. Si cette fonction n'est pas appelée, les valeurs par défaut sont celles de l'écran courant.

Liste de paramètres

xmin

xmax

ymin

ymax

Valeurs de retour

Aucune valeur n'est retournée.

swf_translate
Extensions sur le contrôle des processus
Fonctions SWF


Extensions sur le contrôle des processus

  • Exécution de programme — Système d'exécution de programme
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur l'exécution de programmes externes
  • Expect
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Expect
  • Libevent
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Libevent
  • PCNTL — Contrôle du processus
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions PCNTL
  • POSIX
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions POSIX
  • Semaphore — Sémaphore
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Sémaphore
  • Mémoire partagée
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions sur la mémoire partagée
swf_viewport
Exécution de programme
Référence des fonctions


Système d'exécution de programme

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur l'exécution de programmes externes
    • escapeshellarg — Protège une chaîne de caractères pour utilisation en ligne de commande
    • escapeshellcmd — Protège les caractères spéciaux du Shell
    • exec — Exécute un programme externe
    • passthru — Exécute un programme externe et affiche le résultat brut
    • proc_close — Ferme un processus ouvert par proc_open
    • proc_get_status — Lit les informations concernant un processus ouvert par proc_open
    • proc_nice — Change la priorité d'exécution du processus courant
    • proc_open — Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties
    • proc_terminate — Termine un processus ouvert par proc_open
    • shell_exec — Exécute une commande via le Shell et retourne le résultat sous forme de chaîne
    • system — Exécute un programme externe et affiche le résultat
Extensions sur le contrôle des processus
Introduction
Extensions sur le contrôle des processus


Introduction

Ces fonctions donnent la possibilité d'exécuter des commandes sur le système lui-même, tout en sécurisant les commandes utilisées.

Note: Toutes les fonctions d'exécution de programmes appèlent les commandes via cmd.exe sous Windows. Par conséquent, l'utilisateur appelant ces fonctions doit avoir les privilèges appropriés pour les exécuter. La seule exception est la fonction proc_open() avec l'option bypass_shell.

Exécution de programme
Installation/Configuration
Exécution de programme


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Exécution de programme


Types de ressources

Cette extension définit une ressource, retournée par la fonction proc_open().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions sur l'exécution de programmes externes
Exécution de programme


Fonctions sur l'exécution de programmes externes

Notes

Avertissement

Les fichiers ouverts avec un verrou (tout spécialement les sessions ouvertes) doivent être fermés avant l'exécution d'un programme en arrière plan.

Voir aussi

Ces fonctions sont complétées par l'opérateur guillemets obliques. De plus, lorsque le safe mode est activé, vous devez configurer l'option safe_mode_exec_dir.

Sommaire

  • escapeshellarg — Protège une chaîne de caractères pour utilisation en ligne de commande
  • escapeshellcmd — Protège les caractères spéciaux du Shell
  • exec — Exécute un programme externe
  • passthru — Exécute un programme externe et affiche le résultat brut
  • proc_close — Ferme un processus ouvert par proc_open
  • proc_get_status — Lit les informations concernant un processus ouvert par proc_open
  • proc_nice — Change la priorité d'exécution du processus courant
  • proc_open — Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties
  • proc_terminate — Termine un processus ouvert par proc_open
  • shell_exec — Exécute une commande via le Shell et retourne le résultat sous forme de chaîne
  • system — Exécute un programme externe et affiche le résultat
Constantes pré-définies
escapeshellarg
Exécution de programme


Protège une chaîne de caractères pour utilisation en ligne de commande

Fonctions sur l'exécution de programmes externes
escapeshellcmd
Fonctions sur l'exécution de programmes externes
PHP Manual

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5)

escapeshellarg — Protège une chaîne de caractères pour utilisation en ligne de commande

Description

string escapeshellarg ( string $arg )

escapeshellarg() ajoute des guillemets simples autour des chaînes de caractères, et ajoute des guillemets puis échappe les guillemets simples de la chaîne. Cela permet de faire passer directement le paramètre arg comme argument Shell, tout en assurant un maximum de sécurité. escapeshellarg() doit être utilisée pour traiter individuellement chacun des arguments à passer au Shell. Les fonctions Shell sont exec(), system() et les opérateurs guillemets obliques.

Liste de paramètres

arg

L'argument à échapper.

Valeurs de retour

La chaîne échappée.

Exemples

Exemple #1 Exemple avec escapeshellarg()

<?php
system('ls '.escapeshellarg($dir));
?>

Voir aussi

  • escapeshellcmd() - Protège les caractères spéciaux du Shell
  • exec() - Exécute un programme externe
  • popen() - Crée un processus de pointeur de fichier
  • system() - Exécute un programme externe et affiche le résultat
  • backtick operator

Fonctions sur l'exécution de programmes externes
escapeshellcmd
Fonctions sur l'exécution de programmes externes


Protège les caractères spéciaux du Shell

escapeshellarg
exec
Fonctions sur l'exécution de programmes externes
PHP Manual

escapeshellcmd

(PHP 4, PHP 5)

escapeshellcmd — Protège les caractères spéciaux du Shell

Description

string escapeshellcmd ( string $command )

escapeshellcmd() échappe tous les caractères de la chaîne command qui pourraient 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() et system(), ou encore à guillemets obliques.

Les caractères suivants seront échappés : #&;`|*?~<>^()[]{}$\, \x0A et \xFF. ' et " sont échappés que s'ils ne sont pas par paire. Sous Windows, tous ces caractères ainsi que % sont remplacés par un espace.

Liste de paramètres

command

La commande à échapper.

Valeurs de retour

La chaîne échappée.

Exemples

Exemple #1 Exemple avec escapeshellcmd()

<?php
$e = escapeshellcmd($userinput);

// Ici, peut importe si $e contient des espaces
system("echo $e");
$f = escapeshellcmd($filename);

// et ici, on s'en préoccupe, nous utilisons donc des guillements
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

Voir aussi

  • escapeshellarg() - Protège une chaîne de caractères pour utilisation en ligne de commande
  • exec() - Exécute un programme externe
  • popen() - Crée un processus de pointeur de fichier
  • system() - Exécute un programme externe et affiche le résultat
  • les guillemets obliques

escapeshellarg
exec
Fonctions sur l'exécution de programmes externes


Exécute un programme externe

escapeshellcmd
passthru
Fonctions sur l'exécution de programmes externes
PHP Manual

exec

(PHP 4, PHP 5)

exec — Exécute un programme externe

Description

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() exécute la commande command.

Liste de paramètres

command

La commande à exécuter.

output

Si l'argument output est présent, alors ce tableau sera rempli par les lignes retournées par la commande. Les espaces de début et de fin de chaîne, comme \n, ne seront pas inclus dans ce tableau. Il faut noter que si ce tableau contient des éléments, exec() ajoutera les nouvelles lignes à la fin du tableau. Si vous ne voulez pas que les nouveaux éléments soient concaténés, utilisez la fonction unset() avec ce tableau avant de le passer à exec().

return_var

Si l'argument return_var est présent en plus du tableau output, alors le statut de retour d'exécution sera inscrit dans cette variable.

Valeurs de retour

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().

Pour récupérer la sortie de la commande exécutée, assurez-vous de définir et d'utiliser le paramètre output.

Exemples

Exemple #1 Exemple avec exec()

<?php
// Affiche le nom d'utilisateur qui fait tourner le processus php/http
// (sur un système ayant "whoami" dans le chemin d'exécutables)
echo exec('whoami');
?>

Notes

Avertissement

Si vous allez passer des données provenant de l'utilisateur à cette fonction, vous devez utiliser escapeshellarg() ou escapeshellcmd() pour être sûr qu'ils n'endommagent pas le système en exécutant des commandes arbitraires.

Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.

Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.

Avertissement

Lorsque le safe mode est activé, la chaîne de commande est échappée avec la fonction escapeshellcmd(). Par exemple, echo y | echo x devient echo y \| echo x.

Voir aussi

  • system() - Exécute un programme externe et affiche le résultat
  • passthru() - Exécute un programme externe et affiche le résultat brut
  • escapeshellcmd() - Protège les caractères spéciaux du Shell
  • pcntl_exec() - Exécute le programme indiqué dans l'espace courant de processus
  • les guillemets obliques

escapeshellcmd
passthru
Fonctions sur l'exécution de programmes externes


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

exec
proc_close
Fonctions sur l'exécution de programmes externes
PHP Manual

passthru

(PHP 4, PHP 5)

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

Description

void passthru ( string $command [, int &$return_var ] )

passthru() est similaire à la fonction 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ée 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 retournent des images.

Liste de paramètres

command

La commande à exécuter.

return_var

Si l'argument return_var est présent, le statut retourné par la commande Unix sera placé dans cette variable.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Avertissement

Si vous allez passer des données provenant de l'utilisateur à cette fonction, vous devez utiliser escapeshellarg() ou escapeshellcmd() pour être sûr qu'ils n'endommagent pas le système en exécutant des commandes arbitraires.

Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.

Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.

Avertissement

Lorsque le safe mode est activé, la chaîne de commande est échappée avec la fonction escapeshellcmd(). Par exemple, echo y | echo x devient echo y \| echo x.

Voir aussi

  • exec() - Exécute un programme externe
  • system() - Exécute un programme externe et affiche le résultat
  • popen() - Crée un processus de pointeur de fichier
  • escapeshellcmd() - Protège les caractères spéciaux du Shell
  • les guillemets obliques

exec
proc_close
Fonctions sur l'exécution de programmes externes


Ferme un processus ouvert par proc_open

passthru
proc_get_status
Fonctions sur l'exécution de programmes externes
PHP Manual

proc_close

(PHP 4 >= 4.3.0, PHP 5)

proc_close — Ferme un processus ouvert par proc_open()

Description

int proc_close ( resource $process )

proc_close() est similaire à pclose() hormis le fait qu'elle fonctionne avec les processus ouverts par proc_open(). proc_close() attend que le processus process se termine, puis retourne son code de sortie. Si vous avez des pipes ouverts avec ce processus, il faut les fermer avec fclose() avant d'appeler cette fonction pour éviter des verrouillages : le processus peut ne pas pouvoir sortir tant que les pipes sont ouverts.

Liste de paramètres

process

La resource proc_open() à fermer.

Valeurs de retour

Retourne le code de sortie du processus.

passthru
proc_get_status
Fonctions sur l'exécution de programmes externes


Lit les informations concernant un processus ouvert par proc_open

proc_close
proc_nice
Fonctions sur l'exécution de programmes externes
PHP Manual

proc_get_status

(PHP 5)

proc_get_status — Lit les informations concernant un processus ouvert par proc_open()

Description

array proc_get_status ( resource $process )

proc_get_status() lit les données concernant le processus process créé avec la fonction proc_open().

Liste de paramètres

process

La ressource proc_open() à évaluer.

Valeurs de retour

Un tableau contenant les informations collectées en cas de succès, et FALSE en cas d'échec. Le tableau retourné contient les éléments suivants :

Élément | Type | Description
command | chaîne de caractères | La commande passée à la fonction proc_open().
pid | entier | identifiant du processus
running | booléen | TRUE si le processus fonctionne toujours et FALSE s'il est terminé.
signaled | booléen | TRUE si le processus fils a été terminé par un signal inconnu. Toujours défini à FALSE sous Windows.
stopped | booléen | TRUE si le processus fils a été stoppé par un signal. Toujours défini à FALSE sous Windows.
exitcode | entier | Le code retourné par le processus (uniquement si l'élément running vaut FALSE). Seul le premier appel à cette fonction retourne une valeur réelle, les prochains appels retournent -1.
termsig | entier | le numéro du signal qui a causé la fin de l'exécution du processus fils (uniquement significatif si signaled vaut TRUE).
stopsig | entier | le numéro du signal qui a causé l'arrêt de l'exécution du processus fils (uniquement significatif si signaled vaut TRUE).

Voir aussi

  • proc_open() - Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties

proc_close
proc_nice
Fonctions sur l'exécution de programmes externes


Change la priorité d'exécution du processus courant

proc_get_status
proc_open
Fonctions sur l'exécution de programmes externes
PHP Manual

proc_nice

(PHP 5)

proc_nice — Change la priorité d'exécution du processus courant

Description

bool proc_nice ( int $increment )

proc_nice() modifie la priorité du processus courant par le paramètre spécifié increment. Un paramètre increment positif atténuera la priorité du processus courant, tandis qu'une valeur négative increment augmentera la priorité.

proc_nice() n'est pas lié à proc_open() et ses fonctions associées d'aucune façon.

Liste de paramètres

increment

La valeur de l'incrément de la priorité.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si une erreur survient, par exemple, si l'utilisateur qui tente de changer la priorité d'un processus n'a pas suffisamment de droit pour le faire, une erreur de niveau E_WARNING est générée et FALSE est retourné.

Notes

Note: Disponibilité
proc_nice() n'est disponible que sur les systèmes qui disposent de capacités NICE. NICE est compatible avec : SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. Par exemple, proc_nice() n'est pas disponible sous Windows.

proc_get_status
proc_open
Fonctions sur l'exécution de programmes externes


Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties

proc_nice
proc_terminate
Fonctions sur l'exécution de programmes externes
PHP Manual

proc_open

(PHP 4 >= 4.3.0, PHP 5)

proc_open — Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties

Description

resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )

proc_open() est similaire à popen() mais fournit un plus grand degré de contrôle sur l'exécution du programme.

Liste de paramètres

cmd

La commande à exécuter

descriptorspec

Un tableau indexé, dont les clés représentent le numéro de descripteur et la valeur la méthode avec laquelle PHP va passer ce descripteur au processus fils. 0 est stdin, 1 est stdout, et 2 est stderr.

Chaque élément peut être :

  • Un tableau décrivant le pipe à passer au processus. Le premier élément est le type du descripteur et le second est une option pour le type donné. Les types valides sont pipe (le second élément est soit r pour passer la fin de lecture du pipe au processus, ou w pour passer la fin d'écriture) et file (le second élément est le nom de fichier).
  • Une ressource de flux représentant un descripteur de fichier (e.g. un fichier ouvert, un socket, ou bien STDIN).

Les numéros de pointeurs de fichiers ne sont pas limités à 0, 1 et 2 - vous pouvez spécifier n'importe quel numéro de descripteur valide, et il sera passé au processus fils. Cela permettra à votre script d'inter opérer avec d'autres scripts, et d'être exécuté comme "co-processus". En particulier, c'est très pratique pour passer des mots de passes à des programmes comme PGP, GPG et openssl, avec une méthode très protégée. C'est aussi pratique pour lire des informations de statut fournies par ces programmes, sur des descripteurs auxiliaires.

pipes

Doit être défini en un tableau indexé de pointeurs de fichiers qui correspondent à la fin de n'importe quel descripteur PHP qui sont créés.

cwd

Le dossier initial de travail de la commande. Cela doit être un chemin absolu vers le dossier ou NULL si vous voulez utiliser la valeur par défaut (le dossier de travail du processus courant PHP)

env

Un tableau contenant les variables d'environnement pour la commande qui doit être exécutée, ou NULL pour utiliser le même environnement que le processus PHP courant

other_options

Vous permet de spécifier des options supplémentaires. Les options actuellement supportées sont :

  • suppress_errors (windows uniquement): suppression des erreurs générées par cette fonction lorsque définit à TRUE
  • bypass_shell (windows uniquement): bypass du shell cmd.exe lorsque définit à TRUE
  • context: contexte du flux utilisé lors de l'ouverture des fichiers (créé avec la fonction stream_context_create())
  • binary_pipes: ouverture des pipes en mode binaire, au lieu d'utiliser l'encodage habituel stream_encoding

Valeurs de retour

Retourne une ressource représentant le processus, qui pourra être utilisé par la fonction proc_close() lorsque vous n'en aurez plus besoin. En cas d'échec, FALSE sera retourné.

Historique

Version | Description
5.2.1 | Ajout de l'option bypass_shell au paramètre other_options.
5.0.0. | Ajout des paramètres cwd, env et other_options.

Exemples

Exemple #1 Exemple avec proc_open()

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // // stdin est un pipe où le processus va lire
   1 => array("pipe", "w"),  // stdout est un pipe où le processus va écrire
   2 => array("file", "/tmp/error-output.txt", "a") // stderr est un fichier
);

$cwd = '/tmp';
$env = array('quelques_options' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes ressemble à :
    // 0 => fichier accessible en écriture, connecté à l'entrée standard du processus fils
    // 1 => fichier accessible en lecture, connecté à la sortie standard du processus fils
    // Toute erreur sera ajoutée au fichier /tmp/error-output.txt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // Il est important que vous fermiez les pipes avant d'appeler
    // proc_close afin d'éviter un verrouillage.
    $return_value = proc_close($process);

    echo "La commande a retourné $return_value\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
La commande a retourné 0

Notes

Note: Compatibilité Windows : les descripteurs au-delà de 2 (stderr) sont accessibles au processus fils, sous la forme de pointeurs hérités, mais comme l'architecture Windows n'associe pas de nombre aux descripteurs de bas niveau, le processus fils n'a, actuellement, aucun moyen d'y accéder. D'un autre coté, stdin, stdout et stderr fonctionnent comme d'habitude.

Note: Si vous n'avez besoin que d'un processus unidirectionnel, popen() sera plus pratique, car plus simple à utiliser.

Voir aussi

  • popen() - Crée un processus de pointeur de fichier
  • exec() - Exécute un programme externe
  • system() - Exécute un programme externe et affiche le résultat
  • passthru() - Exécute un programme externe et affiche le résultat brut
  • stream_select() - Surveille la modification d'un ou plusieurs flux
  • Les guillemets obliques

proc_nice
proc_terminate
Fonctions sur l'exécution de programmes externes


Termine un processus ouvert par proc_open

proc_open
shell_exec
Fonctions sur l'exécution de programmes externes
PHP Manual

proc_terminate

(PHP 5)

proc_terminate — Termine un processus ouvert par proc_open()

Description

bool proc_terminate ( resource $process [, int $signal = 15 ] )

proc_terminate() envoie un signal au processus process (créé avec proc_open()) pour lui indiquer qu'il doit se terminer. proc_terminate() se termine immédiatement après, et n'attend pas l'arrêt réel du processus.

proc_terminate() vous permet de conclure un processus, et de continuer les autres tâches. Vous pouvez tester la présence de votre processus en utilisant la fonction proc_get_status().

Liste de paramètres

process

La ressource proc_open() qui sera fermée.

signal

Ce paramètre optionnel n'est utile que sur les plates-formes POSIX : vous pouvez alors spécifier un signal à envoyer au processus, en utilisant l'appel système kill(2). La valeur par défaut est alors SIGTERM.

Valeurs de retour

Retourne le code de sortie du processus.

Historique

Version | Description
5.2.2 | Les versions précédentes détruisent la ressource resource fournie.

Voir aussi

  • proc_open() - Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties
  • proc_close() - Ferme un processus ouvert par proc_open
  • proc_get_status() - Lit les informations concernant un processus ouvert par proc_open

proc_open
shell_exec
Fonctions sur l'exécution de programmes externes


Exécute une commande via le Shell et retourne le résultat sous forme de chaîne

proc_terminate
system
Fonctions sur l'exécution de programmes externes
PHP Manual

shell_exec

(PHP 4, PHP 5)

shell_exec — Exécute une commande via le Shell et retourne le résultat sous forme de chaîne

Description

string shell_exec ( string $cmd )

shell_exec() est identique aux guillemets obliques.

Liste de paramètres

cmd

La commande à exécuter.

Valeurs de retour

La sortie de l'exécution de la commande.

Exemples

Exemple #1 Exemple avec shell_exec()

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

Notes

Note: Cette fonction est désactivée par le safe-mode

Voir aussi

  • exec() - Exécute un programme externe
  • escapeshellcmd() - Protège les caractères spéciaux du Shell

proc_terminate
system
Fonctions sur l'exécution de programmes externes


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

shell_exec
Expect
Fonctions sur l'exécution de programmes externes
PHP Manual

system

(PHP 4, PHP 5)

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 command et retourne le résultat.

L'appel à la fonction system() tente également d'actualiser le buffer de sortie du serveur web après chaque ligne de sortie si PHP fonctionne en tant que module serveur.

Si vous devez exécuter une commande et récupérer tout le résultat sans aucune intervention, utilisez la fonction passthru().

Liste de paramètres

command

La commande à exécuter.

return_var

Si l'argument return_var est présent, alors le statut retourné de l'exécution de la commande sera écrit dans cette variable.

Valeurs de retour

Retourne la dernière ligne de la sortie de la commande en cas de succès, et FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec system()

<?php
echo '<pre>';

 // Affiche le résultat de la commande "ls" et retourne
 // la dernière lignes dans $last_line. Stocke la valeur retournée
 // par la commande shelle dans $retval.
 $last_line = system('ls', $retval);

 // Affichage d'autres informations
 echo '
</pre>
<hr />La dernière ligne lue : ' . $last_line . '
<hr />Valeur retournée : ' . $retval;
?>

Notes

Avertissement

Si vous allez passer des données provenant de l'utilisateur à cette fonction, vous devez utiliser escapeshellarg() ou escapeshellcmd() pour être sûr qu'ils n'endommagent pas le système en exécutant des commandes arbitraires.

Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.

Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.

Avertissement

Lorsque le safe mode est activé, la chaîne de commande est échappée avec la fonction escapeshellcmd(). Par exemple, echo y | echo x devient echo y \| echo x.

Voir aussi

  • exec() - Exécute un programme externe
  • passthru() - Exécute un programme externe et affiche le résultat brut
  • popen() - Crée un processus de pointeur de fichier
  • escapeshellcmd() - Protège les caractères spéciaux du Shell
  • pcntl_exec() - Exécute le programme indiqué dans l'espace courant de processus
  • les guillemets obliques

shell_exec
Expect
Fonctions sur l'exécution de programmes externes


Expect

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemples d'Utilisation avec Expect
  • Fonctions Expect
    • expect_expectl — Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu
    • expect_popen — Exécute une commande via le shell Bourne, et ouvre le flux PTY au processus
system
Introduction
Extensions sur le contrôle des processus


Introduction

Cette extension autorise l'interaction avec des processus à travers PTY. Vous pouvez utiliser l'enveloppe expect:// avec les fonctions de système de fichiers ce qui fourni une interface simple et plus intuitive.

Expect
Installation/Configuration
Expect


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Expect


Pré-requis

Ce module utilise les fonctions de la bibliothèque » expect. Vous avez besoin de la libexpect version >= 5.43.0.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/expect.

En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Afin d'utiliser ces fonctions, vous devez compiler PHP avec le support expect en utilisant l'option de configuration --with-expect[=DIR].

Les utilisateurs de Windows pourront activer php_expect.dll à l'intérieur du php.ini afin d'utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Afin de configurer l'extension expect, il y a des options de configuration dans le fichier de configuration php.ini.

Options de configuration Expect
Nom | Défaut | Modifiable | Historique
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

expect.timeout entier

La période de dépassement du temps pour attendre pour les données, lors de l'utilisation de la fonction expect_expectl().

Une valeur de "-1" désactive le dépassement de temps.

Note: Une valeur de "0" fait retourner immédiatement la fonction expect_expectl().

expect.loguser booléen

Si expect devrait envoyer toutes les données de sortie à partir du démarrage du processus à stdout. Puisque les programmes interactifs affiche typiquement leur entrée, ceci suffit habituellement pour montrer les deux côtés de la conversation.

expect.logfile string

Nom du fichier, où la sortie à partir du démarrage du processus devrait être écrite. Si ce fichier n'existe pas, il sera créé.

Note: Si cette configuration n'est pas vide, la sortie est écrite peu importe la valeur de expect.loguser.

Installation
Types de ressources
Installation/Configuration


Types de ressources

expect_popen() retourne un flux ouvert PTY utilisé par la fonction expect_expectl().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

EXP_GLOB (entier)
Indique que le motif est un motif de style de chaîne de caractères glob.
EXP_EXACT (entier)
Indique que le motif est une chaîne exacte.
EXP_REGEXP (entier)
Indique que le motif est un motif d'expression rationnelle.
EXP_EOF (entier)
Valeur, retournée par expect_expectl(), lorsque EOF est atteint.
EXP_TIMEOUT (entier)
Valeur, retournée par expect_expectl() sur le dépassement du temps en secondes, spécifiée par la valeur expect.timeout
EXP_FULLBUFFER (entier)
Valeur, retournée par expect_expectl() si aucun motif n'a été trouvé.
Types de ressources
Exemples
Expect


Exemples

Sommaire

  • Exemples d'Utilisation avec Expect
Constantes pré-définies
Exemples d'Utilisation avec Expect
Expect


Exemples d'Utilisation avec Expect

Exemple #1 Exemple d'Utilisation avec Expect

Cet exemple se connecte à un hôte distant via SSH et affiche le temps d'utilisation distant.

<?php
ini_set("expect.loguser", "Off");

$stream = fopen("expect://ssh root@remotehost uptime", "r");

$cases = array (
    array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
    case PASSWORD:
        fwrite ($stream, "password\n");
        break;

    default:
        die ("Une erreur s'est produite lors de la connexion à l'hôte distant !\n");
}

while ($line = fgets($stream)) {
      print $line;
}
fclose ($stream);
?>

L'exemple suivant permet de se connecter à un hôte distant, détermine si le système d'exploitation distant est 32 ou 64 bits, puis, effectue une mise à jour d'un paquet spécifique.

Exemple #2 Autre exemple d'utilisation d'Expect

<?php
ini_set("expect.timeout", -1);
ini_set("expect.loguser", "Off");

$stream = expect_popen("ssh root@remotehost");

while (true) {
    switch (expect_expectl ($stream, array (
            array ("password:", PASSWORD), // SSH demande un mot de passe
            array ("yes/no)?", YESNO), // SSH demande si l'on souhaite stocker l'hôte
            array ("~$ ", SHELL, EXP_EXACT), // Nous avons récupéré un shell !
    ))) {
        case PASSWORD:
            fwrite ($stream, "secret\n");
            break;

        case YESNO:
            fwrite ($stream, "yes\n");
            break;

        case SHELL:
            fwrite ($stream, "uname -a\n");
            while (true) {
                    switch (expect_expectl ($stream, array (
                            array ("~$ ", SHELL, EXP_EXACT), // Nous sommes dans le shell!
                            array ("^Linux.*$", UNAME, EXP_REGEXP), // Affichage de la commande uname -a
                    ), $match)) {
                        case UNAME:
                            $uname .= $match[0];
                            break;

                        case SHELL:
                            // Exécution de la mise à jour :
                            if (strstr ($uname, "x86_64")) {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
                            } else {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
                            }
                            fwrite ($stream, "exit\n");
                            break 2;

                        case EXP_TIMEOUT:
                        case EXP_EOF:
                            break 2;

                        default:
                            die ("Une erreur est survenue !\n");
                    }
            }
            break 2;

        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2;

        default:
            die ("Une erreur est survenue !\n");
    }
}

fclose ($stream);
?>
Exemples
Fonctions Expect
Exemples


Fonctions Expect

Sommaire

  • expect_expectl — Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu
  • expect_popen — Exécute une commande via le shell Bourne, et ouvre le flux PTY au processus
Exemples d'Utilisation avec Expect
expect_expectl
Expect


Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu

Fonctions Expect
expect_popen
Fonctions Expect
PHP Manual

expect_expectl

(PECL expect >= 0.1.0)

expect_expectl — Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu

Description

int expect_expectl ( resource $expect , array $cases [, array &$match ] )

Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu.

Si le paramètre match est fourni, alors il est rempli avec le résultat de la recherche. La chaîne de caractères de recherche peut être trouvée dans match[0]. Les sous-chaînes de recherche (selon les parenthèses) dans le motif original peuvent être trouvées dans match[1], match[2] et ainsi de suite jusqu'à match[9] (limité par libexpect).

Liste de paramètres

expect

Un flux de données Expect, ouvert précédemment avec expect_popen().

cases

Un tableau des cas expect. Chaque cas expect est un tableau indexé, comme décrit dans la table suivante :

Expect Case Array
Clé Index | Type Valeur | Description | Est Obligatoire | Valeur par Défaut
0 | string | motif, qui sera vérifié avec la sortie du flux | oui
1 | mixed | valeur, qui sera retournée par cette fonction, si le motif concorde | oui
2 | integer | type de motif, un de : EXP_GLOB, EXP_EXACT ou EXP_REGEXP | non | EXP_GLOB

Valeurs de retour

Retourne une valeur associée avec le motif qui correspond.

En cas d'échec, cette fonction retourne : EXP_EOF, EXP_TIMEOUT ou EXP_FULLBUFFER

Historique

Version | Description
0.2.1 | Avant la version 0.2.1, dans le paramètre match, un résultat en chaîne de caractères était retourné et non un tableau de sous-chaînes de résultat.

Exemples

Exemple #1 Exemple avec expect_expectl()

<?php
// Copie le fichier à partir de l'hôte distant :
ini_set ("expect.timeout", 30);

$stream = fopen ("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array (
  array (0 => "password:", 1 => PASSWORD),
  array (0 => "yes/no)?", 1 => YESNO)
);

while (true) {
 switch (expect_expectl ($stream, $cases))
 {
  case PASSWORD:
   fwrite ($stream, "password\n");
   break;

  case YESNO:
   fwrite ($stream, "yes\n");
   break;

  case EXP_TIMEOUT:
  case EXP_EOF:
   break 2;

  default:
   die ("Une erreur s'est produite !\n");
 }
}

fclose ($stream);
?>

Voir aussi

  • expect_popen() - Exécute une commande via le shell Bourne, et ouvre le flux PTY au processus

Fonctions Expect
expect_popen
Fonctions Expect


Exécute une commande via le shell Bourne, et ouvre le flux PTY au processus

expect_expectl
Libevent
Fonctions Expect
PHP Manual

expect_popen

(PECL expect >= 0.1.0)

expect_popen — Exécute une commande via le shell Bourne, et ouvre le flux PTY au processus

Description

resource expect_popen ( string $command )

Exécute une commande via le shell Bourne, et ouvre le flux PTY au processus.

Liste de paramètres

command

Commande à exécuter.

Valeurs de retour

Retourne un flux de données PTY ouvert au processus stdio, stdout et stderr.

En cas d'erreur, cette fonction retourne FALSE.

Exemples

Exemple #1 Exemple avec expect_popen()

<?php
// Identification au répertoire CVS de PHP.net
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Voir aussi

  • popen() - Crée un processus de pointeur de fichier

expect_expectl
Libevent
Fonctions Expect


Libevent

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Libevent
    • event_add — Ajoute un évènement aux évènements monitorés
    • event_base_free — Détruit une base d'évènements
    • event_base_loop — Traitement des évènement
    • event_base_loopbreak — Abandonne une boucle d'évènement
    • event_base_loopexit — Sort d'une boucle après un temps
    • event_base_new — Créer et initialise une nouvelle base d'évènements
    • event_base_priority_init — Assigne le nombre de niveaux de priorités d'évènement
    • event_base_set — Associe une base avec un évènement
    • event_buffer_base_set — Associe un évènement bufferisé avec une base
    • event_buffer_disable — Désactive un évènement bufferisé
    • event_buffer_enable — Active un évènement bufferisé
    • event_buffer_fd_set — Change un descripteur de fichier pour un évènement bufferisé
    • event_buffer_free — Détruit un évènement bufferisé
    • event_buffer_new — Créer un nouvel évènement bufferisé
    • event_buffer_priority_set — Assigne une priorité à un évènement bufferisé
    • event_buffer_read — Lit des données depuis un évènement bufferisé
    • event_buffer_set_callback — Set or reset callbacks for a buffered event
    • event_buffer_timeout_set — Affecte les délais de lecture et écriture pour un évènement bufferisé
    • event_buffer_watermark_set — Affecte la marque pour les évènements en lecture et écriture
    • event_buffer_write — Ecrit des données vers un évènement bufferisé
    • event_del — Supprime un évènement de la liste des évènement surveillés
    • event_free — Libère une ressource d'évènement
    • event_new — Créer un nouvel évènement
    • event_set — Prépare un évènement
expect_popen
Introduction
Extensions sur le contrôle des processus


Introduction

Libevent est une bibliothèque qui fournit un mécanisme permettant d'exécuter une fonction de rappel lorsqu'un événement spécifique intervient sur un descripteur de fichier ou après qu'un délai d'expiration a été atteint.

Pour plus d'informations sur Libevent, rendez-vous sur » http://www.monkey.org/~provos/libevent/.

Libevent
Installation/Configuration
Libevent


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Libevent


Pré-requis

Cette extension nécessite la bibliothèque » libevent. La version minimale requise est la version 1.4.0.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/libevent.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Il y a plusieurs types de ressources utilisés par cette extension. Ces ressources sont les événements, la base des événements ainsi que les événements mis en tampon.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

EV_TIMEOUT ( integer )
EV_READ ( integer )
EV_WRITE ( integer )
EV_SIGNAL ( integer )
EV_PERSIST ( integer )
EVLOOP_NONBLOCK ( integer )
EVLOOP_ONCE ( integer )
Types de ressources
Exemples
Libevent


Exemples

Exemple #1 Surveillance de STDIN en utilisant l'API basique

<?php

function print_line($fd, $events, $arg)
{
    static $max_requests = 0;

    $max_requests++;

    if ($max_requests == 10) {
        // Sort de la boucle après 10 écritures
        event_base_loopexit($arg[1]);
    }

    // Affiche la ligne
    echo  fgets($fd);
}

// Création de la base et de l'événement
$base = event_base_new();
$event = event_new();

$fd = STDIN;

// Définit les drapeaux de l'événement
event_set($event, $fd, EV_READ | EV_PERSIST, "print_line", array($event, $base));
// Définit la base de l'événement
event_base_set($event, $base);

// Activation de l'événement
event_add($event);
// Début de la boucle de l'événement
event_base_loop($base);

?>

Exemple #2 Surveillance de STDIN en utilisant l'API des événements mis en tampon

<?php

function print_line($buf, $arg)
{
    static $max_requests;

    $max_requests++;

    if ($max_requests == 10) {
        event_base_loopexit($arg);
    }

    // Affiche la ligne
    echo event_buffer_read($buf, 4096);
}

function error_func($buf, $what, $arg)
{
    // Gestion de l'erreur
}

$base = event_base_new();
$eb = event_buffer_new(STDIN, "print_line", NULL,  "error_func", $base);

event_buffer_base_set($eb,  $base);
event_buffer_enable($eb,  EV_READ);

event_base_loop($base);

?>

Constantes pré-définies
Fonctions Libevent
Libevent


Fonctions Libevent

Sommaire

  • event_add — Ajoute un évènement aux évènements monitorés
  • event_base_free — Détruit une base d'évènements
  • event_base_loop — Traitement des évènement
  • event_base_loopbreak — Abandonne une boucle d'évènement
  • event_base_loopexit — Sort d'une boucle après un temps
  • event_base_new — Créer et initialise une nouvelle base d'évènements
  • event_base_priority_init — Assigne le nombre de niveaux de priorités d'évènement
  • event_base_set — Associe une base avec un évènement
  • event_buffer_base_set — Associe un évènement bufferisé avec une base
  • event_buffer_disable — Désactive un évènement bufferisé
  • event_buffer_enable — Active un évènement bufferisé
  • event_buffer_fd_set — Change un descripteur de fichier pour un évènement bufferisé
  • event_buffer_free — Détruit un évènement bufferisé
  • event_buffer_new — Créer un nouvel évènement bufferisé
  • event_buffer_priority_set — Assigne une priorité à un évènement bufferisé
  • event_buffer_read — Lit des données depuis un évènement bufferisé
  • event_buffer_set_callback — Set or reset callbacks for a buffered event
  • event_buffer_timeout_set — Affecte les délais de lecture et écriture pour un évènement bufferisé
  • event_buffer_watermark_set — Affecte la marque pour les évènements en lecture et écriture
  • event_buffer_write — Ecrit des données vers un évènement bufferisé
  • event_del — Supprime un évènement de la liste des évènement surveillés
  • event_free — Libère une ressource d'évènement
  • event_new — Créer un nouvel évènement
  • event_set — Prépare un évènement
Exemples
event_add
Libevent


Ajoute un évènement aux évènements monitorés

Fonctions Libevent
event_base_free
Fonctions Libevent
PHP Manual

event_add

(PECL libevent >= 0.0.1)

event_add — Ajoute un évènement aux évènements monitorés

Description

bool event_add ( resource $event [, int $timeout = -1 ] )

event_add() planifie l'éxecution de event lorsque l'évènement précisé dans event_set() se produit ou au moins dans le temps précisé par timeout. Si timeout n'est pas renseigné, alors aucun timeout ne sera utilisé. Le paramètre event doit représenter un évènement initialisé par event_set() et event_base_set(). Si event possède déja un timeout, il est remplacé par le nouveau.

Liste de paramètres

event

Ressource event valide.

timeout

timeout optionnel (en microsecondes).

Valeurs de retour

event_add() retourne TRUE en cas de succès ou FALSE si une erreur survient.

Fonctions Libevent
event_base_free
Fonctions Libevent


Détruit une base d'évènements

event_add
event_base_loop
Fonctions Libevent
PHP Manual

event_base_free

(PECL libevent >= 0.0.1)

event_base_free — Détruit une base d'évènements

Description

void event_base_free ( resource $event_base )

Détruit event_base et libère toutes les ressources associées. Notez qu'il n'est pas possible de détruire une base d'évènements ayant des évènements attachés.

Liste de paramètres

event_base

Ressource de base d'évènements valide.

event_add
event_base_loop
Fonctions Libevent


Traitement des évènement

event_base_free
event_base_loopbreak
Fonctions Libevent
PHP Manual

event_base_loop

(PECL libevent >= 0.0.1)

event_base_loop — Traitement des évènement

Description

int event_base_loop ( resource $event_base [, int $flags = 0 ] )

Démarre la boucle d'évènements pour la base spécifiée.

Liste de paramètres

event_base

Une ressource de base d'évènements valide.

flags

Paramètre optionnel qui peut être une combinaison de EVLOOP_ONCE et EVLOOP_NONBLOCK.

Valeurs de retour

event_base_loop() retourne 0 en cas de succès, -1 en cas d'erreurs et 1 si aucun évènement n'a été enregistré.

event_base_free
event_base_loopbreak
Fonctions Libevent


Abandonne une boucle d'évènement

event_base_loop
event_base_loopexit
Fonctions Libevent
PHP Manual

event_base_loopbreak

(PECL libevent >= 0.0.1)

event_base_loopbreak — Abandonne une boucle d'évènement

Description

bool event_base_loopbreak ( resource $event_base )

Abandonne la boucle active immédiatement. le comportement est semblable à l'instruction break.

Liste de paramètres

event_base

Une ressource de base d'évènements valide.

Valeurs de retour

event_base_loopbreak() retourne TRUE en cas de succès ou FALSE sinon.

event_base_loop
event_base_loopexit
Fonctions Libevent


Sort d'une boucle après un temps

event_base_loopbreak
event_base_new
Fonctions Libevent
PHP Manual

event_base_loopexit

(PECL libevent >= 0.0.1)

event_base_loopexit — Sort d'une boucle après un temps

Description

bool event_base_loopexit ( resource $event_base [, int $timeout = -1 ] )

La prochaine itération de boucle d'évènement après que le temps expire sera lancée, puis une sortie sera commandée sans bloquer en attente d'autres évènements.

Liste de paramètres

event_base

Une ressource de base d'évènements valide.

timeout

Délai de timeout optionnel (en microsecondes).

Valeurs de retour

event_base_loopexit() retourne TRUE en cas de succès ou FALSE sinon.

event_base_loopbreak
event_base_new
Fonctions Libevent


Créer et initialise une nouvelle base d'évènements

event_base_loopexit
event_base_priority_init
Fonctions Libevent
PHP Manual

event_base_new

(PECL libevent >= 0.0.1)

event_base_new — Créer et initialise une nouvelle base d'évènements

Description

resource event_base_new ( void )

Retourne une nouvelle base d'évènements, qui peut être utilisée plus tard avec event_base_set(), event_base_loop() et les autres fonctions.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

event_base_new() retourne une ressource de base d'évènements valide en cas de succès ou FALSE sinon.

event_base_loopexit
event_base_priority_init
Fonctions Libevent


Assigne le nombre de niveaux de priorités d'évènement

event_base_new
event_base_set
Fonctions Libevent
PHP Manual

event_base_priority_init

(PECL libevent >= 0.0.2)

event_base_priority_init — Assigne le nombre de niveaux de priorités d'évènement

Description

bool event_base_priority_init ( resource $event_base , int $npriorities )

Assigne le nombre de niveaux de priorités d'évènement

Par défaut tous les évènements sont programmés avec la même priorité (npriorities/2). Utiliser event_base_priority_init() permet de changer le nombre de niveaux de priorités et donc d'affecter une priorité unique à chaque évènement.

Liste de paramètres

event_base

Ressource de base d'évènements valide.

npriorities

Nombre de niveaux de priorité.

Valeurs de retour

event_base_priority_init() retourne TRUE en cas de succès ou FALSE sinon.

event_base_new
event_base_set
Fonctions Libevent


Associe une base avec un évènement

event_base_priority_init
event_buffer_base_set
Fonctions Libevent
PHP Manual

event_base_set

(PECL libevent >= 0.0.1)

event_base_set — Associe une base avec un évènement

Description

bool event_base_set ( resource $event , resource $event_base )

Associe la base event_base avec event.

Liste de paramètres

event

Ressource d'évènement valide.

event_base

Ressource de base d'évènements valide.

Valeurs de retour

event_base_set() retourne TRUE en cas de succès ou FALSE sinon.

event_base_priority_init
event_buffer_base_set
Fonctions Libevent


Associe un évènement bufferisé avec une base

event_base_set
event_buffer_disable
Fonctions Libevent
PHP Manual

event_buffer_base_set

(PECL libevent >= 0.0.1)

event_buffer_base_set — Associe un évènement bufferisé avec une base

Description

bool event_buffer_base_set ( resource $bevent , resource $event_base )

Assigne l'évènement bevent à la base event_base.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

event_base

Ressource de base d'évènements valide.

Valeurs de retour

event_buffer_base_set() retourne TRUE en cas de succès ou FALSE sinon.

event_base_set
event_buffer_disable
Fonctions Libevent


Désactive un évènement bufferisé

event_buffer_base_set
event_buffer_enable
Fonctions Libevent
PHP Manual

event_buffer_disable

(PECL libevent >= 0.0.1)

event_buffer_disable — Désactive un évènement bufferisé

Description

bool event_buffer_disable ( resource $bevent , int $events )

Désactive l'évènement bufferisé spécifié.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

events

Une combinaison de EV_READ et EV_WRITE.

Valeurs de retour

event_buffer_disable() retourne TRUE en cas de succès ou FALSE sinon.

event_buffer_base_set
event_buffer_enable
Fonctions Libevent


Active un évènement bufferisé

event_buffer_disable
event_buffer_fd_set
Fonctions Libevent
PHP Manual

event_buffer_enable

(PECL libevent >= 0.0.1)

event_buffer_enable — Active un évènement bufferisé

Description

bool event_buffer_enable ( resource $bevent , int $events )

Active l'évènement bufferisé spécifié.

Liste de paramètres

bevent

Active un évènement bufferisé

events

Une combinaison de EV_READ et EV_WRITE.

Valeurs de retour

event_buffer_enable() retourne TRUE en cas de succès ou FALSE sinon.

event_buffer_disable
event_buffer_fd_set
Fonctions Libevent


Change un descripteur de fichier pour un évènement bufferisé

event_buffer_enable
event_buffer_free
Fonctions Libevent
PHP Manual

event_buffer_fd_set

(PECL libevent >= 0.0.1)

event_buffer_fd_set — Change un descripteur de fichier pour un évènement bufferisé

Description

void event_buffer_fd_set ( resource $bevent , resource $fd )

Change un descripteur de fichier sur lequel des opérations d'évènement agissent.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

fd

Flux PHP valide, doit être transtypable vers un descripteur de fichier.

event_buffer_enable
event_buffer_free
Fonctions Libevent


Détruit un évènement bufferisé

event_buffer_fd_set
event_buffer_new
Fonctions Libevent
PHP Manual

event_buffer_free

(PECL libevent >= 0.0.1)

event_buffer_free — Détruit un évènement bufferisé

Description

void event_buffer_free ( resource $bevent )

Détruit l'évènement précisé et libère les ressources allouées.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

event_buffer_fd_set
event_buffer_new
Fonctions Libevent


Créer un nouvel évènement bufferisé

event_buffer_free
event_buffer_priority_set
Fonctions Libevent
PHP Manual

event_buffer_new

(PECL libevent >= 0.0.1)

event_buffer_new — Créer un nouvel évènement bufferisé

Description

resource event_buffer_new ( resource $stream , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Libevent propose une couche d'abstraction sur l'API basique. Utiliser des évènements bufferisés vous permet de ne pas vous soucier des I/O manuellement, des buffers d'entrée/sortie auto-remplis sont utilisables à la place.

Liste de paramètres

stream

Une ressource de flux PHP valide. Doit être transtypable vers un descripteur de fichier.

readcb

Callback à invoquer s'il y a des données à lire, NULL si aucune callback n'est voulue.

writecb

Callback à invoquer lorsque le descripteur est disponible en écriture ou NULL si aucune callback n'est désirée.

errorcb

Callback à invoquer lorsqu'une erreur survient sur le descripteur ou NULL si aucune callback n'est désirée.

arg

Un argument à passer à chaque callback (optionnel).

Valeurs de retour

event_buffer_new() retourne une nouvelle ressource d'évènement bufferisé en cas de succès ou FALSE sinon.

event_buffer_free
event_buffer_priority_set
Fonctions Libevent


Assigne une priorité à un évènement bufferisé

event_buffer_new
event_buffer_read
Fonctions Libevent
PHP Manual

event_buffer_priority_set

(PECL libevent >= 0.0.1)

event_buffer_priority_set — Assigne une priorité à un évènement bufferisé

Description

bool event_buffer_priority_set ( resource $bevent , int $priority )

Assigne une priorité à bevent.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

priority

Niveau de priorité. Ne peut être inférieur à zéro et ne peut dépasser le niveau maximum de la base d'évènements (voir event_base_priority_init()).

Valeurs de retour

event_buffer_priority_set() retourne TRUE en cas de succès ou FALSE sinon.

event_buffer_new
event_buffer_read
Fonctions Libevent


Lit des données depuis un évènement bufferisé

event_buffer_priority_set
event_buffer_set_callback
Fonctions Libevent
PHP Manual

event_buffer_read

(PECL libevent >= 0.0.1)

event_buffer_read — Lit des données depuis un évènement bufferisé

Description

string event_buffer_read ( resource $bevent , int $data_size )

Lit des données depuis un évènement bufferisé.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

data_size

Taille en octets.

event_buffer_priority_set
event_buffer_set_callback
Fonctions Libevent


Set or reset callbacks for a buffered event

event_buffer_read
event_buffer_timeout_set
Fonctions Libevent
PHP Manual

event_buffer_set_callback

(PECL libevent >= 0.0.4)

event_buffer_set_callback — Set or reset callbacks for a buffered event

Description

resource event_buffer_set_callback ( resource $event , mixed $readcb , mixed $writecb , mixed $errorcb [, mixed $arg ] )

Sets or changes existing callbacks for the buffered event.

Liste de paramètres

event

Valid buffered event resource.

readcb

Callback to invoke where there is data to read, or NULL if no callback is desired.

writecb

Callback to invoke where the descriptor is ready for writing, or NULL if no callback is desired.

errorcb

Callback to invoke where there is an error on the descriptor, cannot be NULL .

arg

An argument that will be passed to each of the callbacks (optional).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

event_buffer_read
event_buffer_timeout_set
Fonctions Libevent


Affecte les délais de lecture et écriture pour un évènement bufferisé

event_buffer_set_callback
event_buffer_watermark_set
Fonctions Libevent
PHP Manual

event_buffer_timeout_set

(PECL libevent >= 0.0.1)

event_buffer_timeout_set — Affecte les délais de lecture et écriture pour un évènement bufferisé

Description

void event_buffer_timeout_set ( resource $bevent , int $read_timeout , int $write_timeout )

Affecte les délais de lecture et écriture pour un évènement bufferisé

Liste de paramètres

bevent

Ressource d'évènement bufferisée valide.

read_timeout

Délai de lecture (en secondes).

write_timeout

Délai d'écriture (en secondes).

event_buffer_set_callback
event_buffer_watermark_set
Fonctions Libevent


Affecte la marque pour les évènements en lecture et écriture

event_buffer_timeout_set
event_buffer_write
Fonctions Libevent
PHP Manual

event_buffer_watermark_set

(PECL libevent >= 0.0.1)

event_buffer_watermark_set — Affecte la marque pour les évènements en lecture et écriture

Description

void event_buffer_watermark_set ( resource $bevent , int $events , int $lowmark , int $highmark )

Affecte la marque (seuil) pour les évènements en lecture et écriture. Libevent n'appelle pas de callback en lecture avant qu'il n'y ait au minimum lowmark octets dans le buffer d'entrée; si le buffer en lecture est au delà de highmark, la lecture est stoppée. A la sorite, la callback d'écriture est appelée dès que les données bufferisées tombent sous lowmark.

Liste de paramètres

bevent

Ressource d'évènement bufferisée valide.

events

Une combinaison de EV_READ et EV_WRITE.

lowmark

Marque basse.

highmark

Marque haute.

event_buffer_timeout_set
event_buffer_write
Fonctions Libevent


Ecrit des données vers un évènement bufferisé

event_buffer_watermark_set
event_del
Fonctions Libevent
PHP Manual

event_buffer_write

(PECL libevent >= 0.0.1)

event_buffer_write — Ecrit des données vers un évènement bufferisé

Description

bool event_buffer_write ( resource $bevent , string $data [, int $data_size = -1 ] )

Ecrit des données vers l'évènement bufferisé indiqué. Les données sont ajoutées au buffer et écrites vers le descripteur lorsqu'il devient accessible en écriture.

Liste de paramètres

bevent

Ressource d'évènement bufferisé valide.

data

Les données à écrire.

data_size

Taille des données (optionnel). event_buffer_write() écrit toutes les data par défaut.

Valeurs de retour

event_buffer_write() retourne TRUE en cas de succès ou FALSE sinon.

event_buffer_watermark_set
event_del
Fonctions Libevent


Supprime un évènement de la liste des évènement surveillés

event_buffer_write
event_free
Fonctions Libevent
PHP Manual

event_del

(PECL libevent >= 0.0.1)

event_del — Supprime un évènement de la liste des évènement surveillés

Description

bool event_del ( resource $event )

Annule le event.

Liste de paramètres

event

Ressource d'évènement valide.

Valeurs de retour

event_del() retourne TRUE en cas de succès ou FALSE sinon.

event_buffer_write
event_free
Fonctions Libevent


Libère une ressource d'évènement

event_del
event_new
Fonctions Libevent
PHP Manual

event_free

(PECL libevent >= 0.0.1)

event_free — Libère une ressource d'évènement

Description

void event_free ( resource $event )

Libère une ressource d'évènement précédemment créee.

Liste de paramètres

event

Ressource d'évènement valide.

event_del
event_new
Fonctions Libevent


Créer un nouvel évènement

event_free
event_set
Fonctions Libevent
PHP Manual

event_new

(PECL libevent >= 0.0.1)

event_new — Créer un nouvel évènement

Description

resource event_new ( void )

Créer et retourne une nouvelle ressource d'évènement.

Valeurs de retour

event_new() retourne une nouvelle ressource d'évènement en cas de succès ou FALSE sinon.

event_free
event_set
Fonctions Libevent


Prépare un évènement

event_new
PCNTL
Fonctions Libevent
PHP Manual

event_set

(PECL libevent >= 0.0.1)

event_set — Prépare un évènement

Description

bool event_set ( resource $event , mixed $fd , int $events , mixed $callback [, mixed $arg ] )

Prépare un évènement pour être utilisé avec event_add(). L'évènement est préparé à appeler la fonction précisée dans callback sur les évènements spécifiés dans events, qui sont une liste de drapeaux : EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE, EV_PERSIST et EV_SIGNAL

Si EV_SIGNAL est spécifiée dans le paramètre events, alors fd est interprété comme numéro de signal.

Après initialisation de l'évènement, utilisez event_base_set() pour associer l'évènement avec sa base.

Dans le cas d'un évènement qui correspond, ces trois arguments sont passés à la fonction callback:

fd

Numéro de signal ou ressource représentant le flux.

events

Un drapeau qui indique l'évènement. Peut être parmis : EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE, EV_PERSIST et EV_SIGNAL.

arg

Paramètre optionnel, précédemment passé à event_set() en tant que arg.

Liste de paramètres

event

Ressource d'évènement valide.

fd

Ressource de flux PHP valide. Le flux doit être transtypable vers un descripteur de fichier , donc vous ne pourrez pas utiliser de filtres de flux la plupart du temps.

events

Un ensemble de drapeaux indiquant l'évènement désiré, peut être EV_READ et/ou EV_WRITE. Le drapeau supplémentaire EV_PERSIST fait persister l'évènement jusqu'à ce que event_del() soit appelée, sinon la fonction de callback n'est invoquée qu'une seule fois.

callback

Fonction de callback à appeler lorsqu'un évènement correspondant survient.

arg

Paramètres optionnels à passer à la callback.

Valeurs de retour

event_set() retourne TRUE en cas de succès ou FALSE sinon.

Historique

Version | Description
0.0.4 | Le support de EV_SIGNAL a été ajouté.
event_new
PCNTL
Fonctions Libevent


Contrôle du processus

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple de contrôle de processus
  • Fonctions PCNTL
    • pcntl_alarm — Planifie une alarme pour délivrer un signal
    • pcntl_exec — Exécute le programme indiqué dans l'espace courant de processus
    • pcntl_fork — Duplique le process courant
    • pcntl_getpriority — Retourne la priorité d'un processus
    • pcntl_setpriority — Change la priorité d'un processus
    • pcntl_signal_dispatch — Appelle les gestionnaires de signaux pour chaque signal en attente
    • pcntl_signal — Installe un gestionnaire de signaux
    • pcntl_sigprocmask — Liste et configure les signaux bloqués
    • pcntl_sigtimedwait — Attend un signal dans un délai donné
    • pcntl_sigwaitinfo — Attend un signal
    • pcntl_wait — Attend ou retourne le statut d'un processus fils
    • pcntl_waitpid — Attend la fin de l'exécution d'un processus fils
    • pcntl_wexitstatus — Retourne le code d'un processus fils terminé
    • pcntl_wifexited — Vérifie si le code de retour représente une fin normale
    • pcntl_wifsignaled — Retourne TRUE si le code statut représente une fin due à un signal
    • pcntl_wifstopped — Retourne TRUE si le processus fils est stoppé
    • pcntl_wstopsig — Retourne le signal qui a causé l'arrêt du processus fils
    • pcntl_wtermsig — Retourne le signal qui a provoqué la fin du processus fils
event_set
Introduction
Extensions sur le contrôle des processus


Introduction

Le système de contrôle des processus de PHP implémente un système de création, gestion et terminaison des processus comme sous Unix. Cette extension ne doit pas être activée pour une utilisation en serveur web, car les résultats pourraient être inattendus.

Cette documentation explique l'utilisation générale des fonctions du gestionnaire de processus. Pour des informations plus détaillées sur le contrôle des processus Unix, nous vous encourageons à consulter votre documentation système, incluant notamment fork(2), waitpid(2) et signal(2), ou bien à compulser un ouvrage de référence comme "Advanced Programming in the UNIX Environment" par W. Richard Stevens, chez Addison-Wesley.

PCNTL utilise maintenant les ticks comme mécanisme de rappel du gestionnaire de signaux, ce qui est beaucoup plus rapide que la version précédente. Ce changement suit la même sémantique que l'utilisation de ticks. Vous utilisez declare() pour spécifier les endroits de votre programme où les fonctions de rappel peuvent être appelés. Cela vous permet de minimaliser la consommation due à la gestion d'événements asynchrones. Par le passé, compiler PHP avec pcntl revenait toujours à souffrir cette consommation, même si votre script n'utilisait pas pcntl.

Il y a un ajustement à faire pour tous les scripts pcntl basés sur une version antérieure à PHP 4.3.0 afin qu'ils puissent fonctionner : il faut soit utiliser declare() dans la section où vous voulez avoir la fonction de rappel, soit l'activer pour tout le script avec la nouvelle syntaxe globale de declare().

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

PCNTL
Installation/Configuration
PCNTL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
PCNTL


Installation

Le support du contrôle des processus n'est pas activé par défaut en PHP. Vous devez compiler la version CLI ou CGI de PHP avec l'option de configuration --enable-pcntl pour activer le support de cette extension.

Note: Actuellement, ce module ne fonctionne pas sur les environnements non Unix comme Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

La liste suivante représente les signaux supportés par les fonctions de gestion des processus. Reportez-vous au manuel de votre système (signal(7)) pour plus de détails sur ces signaux.

WNOHANG ( integer )
WUNTRACED ( integer )
SIG_IGN ( integer )
SIG_DFL ( integer )
SIG_ERR ( integer )
SIGHUP ( integer )
SIGINT ( integer )
SIGQUIT ( integer )
SIGILL ( integer )
SIGTRAP ( integer )
SIGABRT ( integer )
SIGIOT ( integer )
SIGBUS ( integer )
SIGFPE ( integer )
SIGKILL ( integer )
SIGUSR1 ( integer )
SIGSEGV ( integer )
SIGUSR2 ( integer )
SIGPIPE ( integer )
SIGALRM ( integer )
SIGTERM ( integer )
SIGSTKFLT ( integer )
SIGCLD ( integer )
SIGCHLD ( integer )
SIGCONT ( integer )
SIGSTOP ( integer )
SIGTSTP ( integer )
SIGTTIN ( integer )
SIGTTOU ( integer )
SIGURG ( integer )
SIGXCPU ( integer )
SIGXFSZ ( integer )
SIGVTALRM ( integer )
SIGPROF ( integer )
SIGWINCH ( integer )
SIGPOLL ( integer )
SIGIO ( integer )
SIGPWR ( integer )
SIGSYS ( integer )
SIGBABY ( integer )
SIG_BLOCK ( integer )
Disponible depuis PHP 5.3.0.
SIG_UNBLOCK ( integer )
Disponible depuis PHP 5.3.0.
SIG_SETMASK ( integer )
Disponible depuis PHP 5.3.0.
SI_USER ( integer )
Disponible depuis PHP 5.3.0.
SI_NOINFO ( integer )
Disponible depuis PHP 5.3.0.
SI_KERNEL ( integer )
Disponible depuis PHP 5.3.0.
SI_QUEUE ( integer )
Disponible depuis PHP 5.3.0.
SI_TIMER ( integer )
Disponible depuis PHP 5.3.0.
SI_MSGGQ ( integer )
Disponible depuis PHP 5.3.0.
SI_ASYNCIO ( integer )
Disponible depuis PHP 5.3.0.
SI_SIGIO ( integer )
Disponible depuis PHP 5.3.0.
SI_TKILL ( integer )
Disponible depuis PHP 5.3.0.
CLD_EXITED ( integer )
Disponible depuis PHP 5.3.0.
CLD_KILLED ( integer )
Disponible depuis PHP 5.3.0.
CLD_DUMPED ( integer )
Disponible depuis PHP 5.3.0.
CLD_TRAPPED ( integer )
Disponible depuis PHP 5.3.0.
CLD_STOPPED ( integer )
Disponible depuis PHP 5.3.0.
CLD_CONTINUED ( integer )
Disponible depuis PHP 5.3.0.
TRAP_BRKPT ( integer )
Disponible depuis PHP 5.3.0.
TRAP_TRACE ( integer )
Disponible depuis PHP 5.3.0.
POLL_IN ( integer )
Disponible depuis PHP 5.3.0.
POLL_OUT ( integer )
Disponible depuis PHP 5.3.0.
POLL_MSG ( integer )
Disponible depuis PHP 5.3.0.
POLL_ERR ( integer )
Disponible depuis PHP 5.3.0.
POLL_PRI ( integer )
Disponible depuis PHP 5.3.0.
POLL_HUP ( integer )
Disponible depuis PHP 5.3.0.
ILL_ILLOPC ( integer )
Disponible depuis PHP 5.3.0.
ILL_ILLOPN ( integer )
Disponible depuis PHP 5.3.0.
ILL_ILLADR ( integer )
Disponible depuis PHP 5.3.0.
ILL_ILLTRP ( integer )
Disponible depuis PHP 5.3.0.
ILL_PRVOPC ( integer )
Disponible depuis PHP 5.3.0.
ILL_PRVREG ( integer )
Disponible depuis PHP 5.3.0.
ILL_COPROC ( integer )
Disponible depuis PHP 5.3.0.
ILL_BADSTK ( integer )
Disponible depuis PHP 5.3.0.
FPE_INTDIV ( integer )
Disponible depuis PHP 5.3.0.
FPE_INTOVF ( integer )
Disponible depuis PHP 5.3.0.
FPE_FLTDIV ( integer )
Disponible depuis PHP 5.3.0.
FPE_FLTOVF ( integer )
Disponible depuis PHP 5.3.0.
FPE_FLTUND ( integer )
Disponible depuis PHP 5.3.0.
FPE_FLTRES ( integer )
Disponible depuis PHP 5.3.0.
FPE_FLTINV ( integer )
Disponible depuis PHP 5.3.0.
FPE_FLTSUB ( integer )
Disponible depuis PHP 5.3.0.
SEGV_MAPERR ( integer )
Disponible depuis PHP 5.3.0.
SEGV_ACCERR ( integer )
Disponible depuis PHP 5.3.0.
BUS_ADRALN ( integer )
Disponible depuis PHP 5.3.0.
BUS_ADRERR ( integer )
Disponible depuis PHP 5.3.0.
BUS_OBJERR ( integer )
Disponible depuis PHP 5.3.0.
Types de ressources
Exemples
PCNTL


Exemples

Sommaire

  • Exemple de contrôle de processus
Constantes pré-définies
Exemple de contrôle de processus
PCNTL


Exemple de contrôle de processus

Exemples
Fonctions PCNTL
Exemples
PHP Manual

Cet exemple forke un processus démon, avec un gestionnaire de signaux.

Exemple #1 Exemple de contrôle de processus

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("impossible de forker");
} else if ($pid) {
     exit(); // nous sommes le processus père
} else {
     // nous sommes le processus fils
}

// détachons le processus du terminal
if (posix_setsid() == -1) {
    die("impossible de se détacher du terminal");
}

// configuration des gestionnaires de signaux
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// boucle infinie
while (1) {

    // exécution de quelque chose

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // gestion des tâches de terminaison
             exit;
             break;
         case SIGHUP:
             // gestion des tâches de redémarrage
             break;
         default:
             // gestion des autres tâches
     }

}

?>
Exemples
Fonctions PCNTL
Exemples


Fonctions PCNTL

Voir aussi

Un tour par la section sur les fonctions POSIX peut être utile.

Sommaire

  • pcntl_alarm — Planifie une alarme pour délivrer un signal
  • pcntl_exec — Exécute le programme indiqué dans l'espace courant de processus
  • pcntl_fork — Duplique le process courant
  • pcntl_getpriority — Retourne la priorité d'un processus
  • pcntl_setpriority — Change la priorité d'un processus
  • pcntl_signal_dispatch — Appelle les gestionnaires de signaux pour chaque signal en attente
  • pcntl_signal — Installe un gestionnaire de signaux
  • pcntl_sigprocmask — Liste et configure les signaux bloqués
  • pcntl_sigtimedwait — Attend un signal dans un délai donné
  • pcntl_sigwaitinfo — Attend un signal
  • pcntl_wait — Attend ou retourne le statut d'un processus fils
  • pcntl_waitpid — Attend la fin de l'exécution d'un processus fils
  • pcntl_wexitstatus — Retourne le code d'un processus fils terminé
  • pcntl_wifexited — Vérifie si le code de retour représente une fin normale
  • pcntl_wifsignaled — Retourne TRUE si le code statut représente une fin due à un signal
  • pcntl_wifstopped — Retourne TRUE si le processus fils est stoppé
  • pcntl_wstopsig — Retourne le signal qui a causé l'arrêt du processus fils
  • pcntl_wtermsig — Retourne le signal qui a provoqué la fin du processus fils
Exemple de contrôle de processus
pcntl_alarm
PCNTL


Planifie une alarme pour délivrer un signal

Fonctions PCNTL
pcntl_exec
Fonctions PCNTL
PHP Manual

pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5)

pcntl_alarm — Planifie une alarme pour délivrer un signal

Description

int pcntl_alarm ( int $seconds )

Créé un compte à rebours qui enverra un signal SIGALRM au processus après seconds secondes. Tout appel à pcntl_alarm() annulera les comptes à rebours précédemment configurés.

Liste de paramètres

seconds

Le nombre de secondes à attendre. Si seconds vaut 0, aucune nouvelle alarme ne sera créée.

Valeurs de retour

Retourne le temps en seconde qui reste avant l'exécution de l'alarme précédente, ou 0 si aucune alarme n'était planifiée.

Fonctions PCNTL
pcntl_exec
Fonctions PCNTL


Exécute le programme indiqué dans l'espace courant de processus

pcntl_alarm
pcntl_fork
Fonctions PCNTL
PHP Manual

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5)

pcntl_exec — Exécute le programme indiqué dans l'espace courant de processus

Description

void pcntl_exec ( string $path [, array $args [, array $envs ]] )

Exécute le programme indiqué dans l'espace courant de processus.

Liste de paramètres

path

path doit être le chemin vers un binaire exécutable ou un script avec un chemin valide pointant vers un exécutable à la première ligne (par exemple, #!/usr/local/bin/perl). Voir les pages d'aide de votre système concernant execve(2) pour plus d'informations.

args

args est un tableau d'arguments sous la forme de chaînes de caractères passées au programme.

envs

envs est un tableau de chaînes de caractères qui sont passées au programme comme variables d'environnement. Le tableau est de la forme nom => valeur, la clé est le nom de la variable d'environnement et la valeur est la valeur de cette variable.

Valeurs de retour

Retourne FALSE si une erreur survient et ne retourne rien en cas de succès.

pcntl_alarm
pcntl_fork
Fonctions PCNTL


Duplique le process courant

pcntl_exec
pcntl_getpriority
Fonctions PCNTL
PHP Manual

pcntl_fork

(PHP 4 >= 4.1.0, PHP 5)

pcntl_fork — Duplique le process courant

Description

int pcntl_fork ( void )

pcntl_fork() crée un processus fils, qui ne diffère du processus père que par l'identifiant de processus et l'identifiant PPID. Reportez-vous à la page de man fork(2) pour avoir des détails sur le comportement de cette fonction sur votre système.

Valeurs de retour

En cas de succès, le PID (identifiant de processus) du fils est retourné dans le processus père, et 0 est retourné dans le processus fils. En cas d'échec, -1 est retourné dans le contexte du père, aucun processus fils ne sera créé et PHP générera une erreur.

Exemples

Exemple #1 Exemple avec pcntl_fork()

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('dupplication impossible');
} else if ($pid) {
     // le père
     pcntl_wait($status); // Protège encore des enfants zombies
} else {
     // le fils
}

?>

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils
  • pcntl_signal() - Installe un gestionnaire de signaux

pcntl_exec
pcntl_getpriority
Fonctions PCNTL


Retourne la priorité d'un processus

pcntl_fork
pcntl_setpriority
Fonctions PCNTL
PHP Manual

pcntl_getpriority

(PHP 5)

pcntl_getpriority — Retourne la priorité d'un processus

Description

int pcntl_getpriority ([ int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )

pcntl_getpriority() retourne la priorité de pid. Comme les niveaux de priorités changent entre les types de systèmes et les versions de kernel, lisez la page de manuel getpriority(2) de votre système pour des détails spécifiques.

Liste de paramètres

pid

Si non spécifié, le pid du processus courant est utilisé.

process_identifier

Une constante parmi PRIO_PGRP, PRIO_USER ou PRIO_PROCESS.

Valeurs de retour

pcntl_getpriority() retourne la priorité du processus ou FALSE en cas d'erreur. Une valeur numérique plus petite rend la planification plus favorable.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Voir aussi

  • pcntl_setpriority() - Change la priorité d'un processus

pcntl_fork
pcntl_setpriority
Fonctions PCNTL


Change la priorité d'un processus

pcntl_getpriority
pcntl_signal_dispatch
Fonctions PCNTL
PHP Manual

pcntl_setpriority

(PHP 5)

pcntl_setpriority — Change la priorité d'un processus

Description

bool pcntl_setpriority ( int $priority [, int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS ]] )

pcntl_setpriority() change la priorité de pid à priority.

Liste de paramètres

priority

priority est généralement une valeur allant de -20 à 20. La priorité par défaut est 0 tandis qu'une valeur numérique plus petite favorise une meilleure planification. Comme les niveaux de priorité changent entre les types de systèmes et les versions de kernel, lisez la page de manuel getpriority(2) de votre système pour des détails spécifiques.

pid

Si non spécifié, le pid du processus courant est utilisé.

process_identifier

Une constante parmi PRIO_PGRP, PRIO_USER ou PRIO_PROCESS.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • pcntl_getpriority() - Retourne la priorité d'un processus

pcntl_getpriority
pcntl_signal_dispatch
Fonctions PCNTL


Appelle les gestionnaires de signaux pour chaque signal en attente

pcntl_setpriority
pcntl_signal
Fonctions PCNTL
PHP Manual

pcntl_signal_dispatch

(PHP 5 >= 5.3.0)

pcntl_signal_dispatch — Appelle les gestionnaires de signaux pour chaque signal en attente

Description

bool pcntl_signal_dispatch ( void )

La fonction pcntl_signal_dispatch() appelle les gestionnaires de signaux installés par pcntl_signal() pour chaque signal en attente.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pcntl_signal_dispatch()

<?php
echo "Installation d'un gestionnaire de signal...\n";
pcntl_signal(SIGHUP,  function($signo) {
     echo "Gestionnaire de signal appelé!\n";
});

echo "Génération d'un signal SIGHUP à moi-même...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Envoi...\n";
pcntl_signal_dispatch();

echo "Fait\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Installation d'un gestionnaire de signal...
Génération d'un signal SIGHUP à moi-même...
Envoi...
Gestionnaire de signal appelé!
Fait

Voir aussi

  • pcntl_signal() - Installe un gestionnaire de signaux
  • pcntl_sigprocmask() - Liste et configure les signaux bloqués
  • pcntl_sigwaitinfo() - Attend un signal
  • pcntl_sigtimedwait() - Attend un signal dans un délai donné

pcntl_setpriority
pcntl_signal
Fonctions PCNTL


Installe un gestionnaire de signaux

pcntl_signal_dispatch
pcntl_sigprocmask
Fonctions PCNTL
PHP Manual

pcntl_signal

(PHP 4 >= 4.1.0, PHP 5)

pcntl_signal — Installe un gestionnaire de signaux

Description

bool pcntl_signal ( int $signo , callback $handler [, bool $restart_syscalls = true ] )

pcntl_signal() installe un nouveau gestionnaire de signaux pour le signal indiqué par le paramètre signo.

Liste de paramètres

signo

Le numéro du signal.

handler

Le gestionnaire de signaux est affecté à handler qui peut être le nom d'une fonction utilisateur, ou bien l'une des deux constantes globales SIG_IGN et SIG_DFL.

Note: Notez que lorsque vous configurez le gestionnaire avec une méthode d'objet, le compteur de référence de l'objet est incrémenté, ce qui le rend persistant jusqu'à ce que vous changiez le gestionnaire de signaux pour un autre, ou que le script se termine.

restart_syscalls

Le paramètre optionnel restart_syscalls spécifie si l'appel système de redémarrage (restarting) doit être utilisé lorsque ce signal arrive.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Le paramètre restart_syscalls a été ajouté.
4.3.0 | Utiliser une méthode d'un objet en tant que fonction de rappel est devenu possible.
4.3.0 | Depuis PHP 4.3.0, PCNTL utilise les ticks comme mécanisme de signaux de traitement des rappels qui est plus rapide que l'ancien mécanisme. Ce changement suit les mêmes règles que l'utilisation des "user ticks". Vous devriez utiliser la requête declare() pour spécifier l'endroit dans votre programme où les rappels sont autorisés à être utilisés pour le traitement du signal de la fonction proprement dite (comme utilisé dans l'exemple suivant).

Exemples

Exemple #1 Exemple avec pcntl_signal()

<?php
// l'usage des ticks est nécessaire depuis PHP 4.3.0
declare(ticks = 1);

// gestionnaire de signaux système
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // gestion de l'extinction
             exit;
             break;
         case SIGHUP:
             // gestion du redémarrage
             break;
         case SIGUSR1:
             echo "Reçu le signe SIGUSR1...\n";
             break;
         default:
             // gestion des autres signaux
     }

}

echo "Installation du gestionnaire de signaux...\n";

// Installation des gestionnaires de signaux
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// ou bien utilisez un objet (disponible depuis PHP 4.3.0)
// pcntl_signal(SIGUSR1, array($obj, "faire_quelque_chose");

echo"Génération d'un signal SIGTERM à moi-même...\n";

// envoi de SIGUSR1 à l'identifiant de processus courant
posix_kill(posix_getpid(), SIGUSR1);

echo "Fait\n"

?>

Voir aussi

  • pcntl_fork() - Duplique le process courant
  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils

pcntl_signal_dispatch
pcntl_sigprocmask
Fonctions PCNTL


Liste et configure les signaux bloqués

pcntl_signal
pcntl_sigtimedwait
Fonctions PCNTL
PHP Manual

pcntl_sigprocmask

(PHP 5 >= 5.3.0)

pcntl_sigprocmask — Liste et configure les signaux bloqués

Description

bool pcntl_sigprocmask ( int $how , array $set [, array &$oldset ] )

La fonction pcntl_sigprocmask() ajoute, retire ou configure les signaux bloqués, en fonction du paramètre how.

Liste de paramètres

how

Configure le comportement de pcntl_sigprocmask(). Les valeurs possibles sont :

  • SIG_BLOCK : ajout le signal à la liste des signaux bloquésé.
  • SIG_UNBLOCK: retire le signal de la liste des signaux bloqués.
  • SIG_SETMASK : remplace la liste actuelle de signaux bloqués par une nouvelle liste.

set

Liste de signaux.

oldset

Le paramètre oldset est un tableau qui contient la liste précédente des signaux bloqués.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec pcntl_sigprocmask()

<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>

Voir aussi

  • pcntl_sigwaitinfo() - Attend un signal
  • pcntl_sigtimedwait() - Attend un signal dans un délai donné

pcntl_signal
pcntl_sigtimedwait
Fonctions PCNTL


Attend un signal dans un délai donné

pcntl_sigprocmask
pcntl_sigwaitinfo
Fonctions PCNTL
PHP Manual

pcntl_sigtimedwait

(PHP 5 >= 5.3.0)

pcntl_sigtimedwait — Attend un signal dans un délai donné

Description

int pcntl_sigtimedwait ( array $set [, array &$siginfo [, int $seconds = 0 [, int $nanoseconds = 0 ]]] )

La fonction pcntl_sigtimedwait() opère exactement comme pcntl_sigwaitinfo() hormis le fait qu'elle prend deux paramètres supplémentaires : seconds et nanoseconds, qui établissent une durée maximale d'attente.

Liste de paramètres

set

Une liste de signaux à attendre.

siginfo

Le paramètre siginfo reçoit les informations du signal, sous forme de tableau. Voyez pcntl_sigwaitinfo().

seconds

Délai d'attente maximal en secondes.

nanoseconds

Délai d'attente maximal en nanosecondes.

Valeurs de retour

En cas de réussite, pcntl_sigtimedwait() retourne un numéro de signal.

Voir aussi

  • pcntl_sigprocmask() - Liste et configure les signaux bloqués
  • pcntl_sigwaitinfo() - Attend un signal

pcntl_sigprocmask
pcntl_sigwaitinfo
Fonctions PCNTL


Attend un signal

pcntl_sigtimedwait
pcntl_wait
Fonctions PCNTL
PHP Manual

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0)

pcntl_sigwaitinfo — Attend un signal

Description

int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )

La fonction pcntl_sigwaitinfo() suspend son exécution jusqu'à la réception d'un des signaux, indiqué dans set. Si un des signaux est déjà en attente (i.e., bloqué par pcntl_sigprocmask()), pcntl_sigwaitinfo() se termine immédiatement.

Liste de paramètres

set

Un tableau de signaux à attendre.

siginfo

Le paramètre siginfo reçoit un tableau contenant les informations sur le signal.

Les éléments suivants sont toujours disponibles pour tous les signaux :

  • signo : numéro de signal
  • errno : un numéro d'erreur
  • code : code de signal

Les éléments suivants peuvent être disponibles pour le signal SIGCHLD :

  • status : valeur de sortie ou signal
  • utime : temps utilisateur consommé
  • stime : temps système consommé
  • pid : numéro de processus appelant
  • uid : identifiant de l'utilisateur appelant, ou du processus appelant

Les éléments suivants peuvent être disponibles pour les signaux SIGILL, SIGFPE, SIGSEGV et SIGBUS :

  • addr : adresse mémoire qui a causé l'erreur

Les éléments suivants peuvent être disponibles pour le signal SIGPOLL :

  • band : événement de band
  • fd : numéro de pointeur de fichier

Valeurs de retour

En cas de succès, pcntl_sigwaitinfo() retourne le numéro du signal.

Exemples

Exemple #1 Exemple avec pcntl_sigwaitinfo()

<?php
echo "Bloque le signal SIGHUP\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

echo "Envoi du signal SIGHUP à moi-même\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Attente de signaux\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>

Voir aussi

  • pcntl_sigprocmask() - Liste et configure les signaux bloqués
  • pcntl_sigtimedwait() - Attend un signal dans un délai donné

pcntl_sigtimedwait
pcntl_wait
Fonctions PCNTL


Attend ou retourne le statut d'un processus fils

pcntl_sigwaitinfo
pcntl_waitpid
Fonctions PCNTL
PHP Manual

pcntl_wait

(PHP 5)

pcntl_wait — Attend ou retourne le statut d'un processus fils

Description

int pcntl_wait ( int &$status [, int $options = 0 ] )

pcntl_wait() suspend l'exécution du processus courant jusqu'à ce qu'un des processus fils soit terminé, ou qu'un signal soit envoyé pour terminer le processus courant ou pour appeler un gestionnaire. Si le processus est déjà terminé au moment de l'appel de la fonction, c'est-à-dire si le processus est un zombie, alors la fonction se termine immédiatement. Toutes les ressources système utilisées par le processus fils sont libérées. Lisez le manuel de votre système à wait(2) pour avoir des détails spécifiques sur le fonctionnement de wait() sur celui-ci.

Note: Cette fonction est équivalente à appeler la fonction pcntl_waitpid() avec un pid valant -1 et aucune option.

Liste de paramètres

status

pcntl_wait() va stocker les informations
de statut dans le paramètre status
qui peut être lu avec les fonctions suivantes :
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() et
pcntl_wstopsig().

options

Si wait3 est disponible sur votre système (c'est le cas de la plupart des systèmes BSD-), vous pouvez ajouter le paramètre optionnel options. S'il n'est pas fourni, wait() sera utilisé pour l'appel système. Si wait3 n'est pas disponible, le paramètre options n'aura pas d'effet. La valeur de options est la combinaison de zéro ou plusieurs des constantes suivantes :

Valeurs possibles pour options
WNOHANG | Termine immédiatement si aucun processus ne s'est terminé.
WUNTRACED | Termine pour les processus qui sont stoppés, et pour ceux dont le résultat n'a pas été rapporté.

Valeurs de retour

pcntl_wait() retourne l'identifiant de processus qui s'est terminé, -1 en cas d'erreur ou zéro si WNOHANG a été fourni comme option (disponible sur les systèmes wait3), et qu'aucun processus fils n'était disponible.

Voir aussi

  • pcntl_fork() - Duplique le process courant
  • pcntl_signal() - Installe un gestionnaire de signaux
  • pcntl_wifexited() - Vérifie si le code de retour représente une fin normale
  • pcntl_wifstopped() - Retourne TRUE si le processus fils est stoppé
  • pcntl_wifsignaled() - Retourne TRUE si le code statut représente une fin due à un signal
  • pcntl_wexitstatus() - Retourne le code d'un processus fils terminé
  • pcntl_wtermsig() - Retourne le signal qui a provoqué la fin du processus fils
  • pcntl_wstopsig() - Retourne le signal qui a causé l'arrêt du processus fils
  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils

pcntl_sigwaitinfo
pcntl_waitpid
Fonctions PCNTL


Attend la fin de l'exécution d'un processus fils

pcntl_wait
pcntl_wexitstatus
Fonctions PCNTL
PHP Manual

pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5)

pcntl_waitpid — Attend la fin de l'exécution d'un processus fils

Description

int pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] )

Suspend l'exécution du processus courant jusqu'à ce qu'un processus fils spécifié par le paramètre pid ait terminé, qu'un signal ait mis fin à ce processus ou qu'un signal ait appelé un gestionnaire de signaux.

Si le processus fils identifié par pid est déjà terminé au moment de l'appel de cette fonction (on les appelle des processus "zombie"), la fonction se termine immédiatement. Toute ressource système utilisée par le processus fils est libérée. Reportez-vous à la page de man waitpid(2) pour avoir des détails sur le comportement de cette fonction sur votre système.

Liste de paramètres

pid

La valeur de pid peut être une parmi les suivantes :

Valeurs possibles pour pid
< -1 | attend que tous les processus fils dont l'identifiant de groupe est égal à la valeur absolue de pid soient terminés.
-1 | attend que tous les processus fils soient terminés. Ceci est le même comportement que celui de la fonction pcntl_wait().
0 | attend que tous les processus fils dont l'identifiant de groupe est égal à celui du processus courant soient terminés.
> 0 | attend que le processus fils dont l'identifiant est égal à pid soit terminé.

Note: Si pid vaut -1, cela équivaut à utiliser la fonction pcntl_wait() (minimum options).

status

pcntl_waitpid() enregistrera des informations sur
le statut courant du processus dans le paramètre
status, auquel on peut accéder grâce aux
fonctions suivantes :
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() et
pcntl_wstopsig().

options

Le paramètre options peut prendre la valeur zéro, ou plusieurs des constantes globales suivantes (combinez les avec l'opérateur OR) :

Valeurs possibles de options
WNOHANG | retourne immédiatement si aucun processus fils ne s'est terminé.
WUNTRACED | retourne lorsque les processus fils sont arrêtés et que leur statut n'a pas été mis à jour.

Valeurs de retour

pcntl_waitpid() retourne l'identifiant de processus du processus fils qui s'est terminé, ou bien -1 en cas d'erreur ou encore zéro si WNOHANG a été utilisée et qu'aucun processus fils n'était disponible.

Voir aussi

  • pcntl_fork() - Duplique le process courant
  • pcntl_signal() - Installe un gestionnaire de signaux
  • pcntl_wifexited() - Vérifie si le code de retour représente une fin normale
  • pcntl_wifstopped() - Retourne TRUE si le processus fils est stoppé
  • pcntl_wifsignaled() - Retourne TRUE si le code statut représente une fin due à un signal
  • pcntl_wexitstatus() - Retourne le code d'un processus fils terminé
  • pcntl_wtermsig() - Retourne le signal qui a provoqué la fin du processus fils
  • pcntl_wstopsig() - Retourne le signal qui a causé l'arrêt du processus fils

pcntl_wait
pcntl_wexitstatus
Fonctions PCNTL


Retourne le code d'un processus fils terminé

pcntl_waitpid
pcntl_wifexited
Fonctions PCNTL
PHP Manual

pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wexitstatus — Retourne le code d'un processus fils terminé

Description

int pcntl_wexitstatus ( int $status )

Retourne le code de retour du processus fils. Cette fonction n'est utile que si la fonction pcntl_wifexited() a retourné TRUE.

Liste de paramètres

status

Le paramètre status est le paramètre status passé à un appel de pcntl_waitpid() ayant réussi.

Valeurs de retour

Retourne le code de retour, sous la forme d'un entier.

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils
  • pcntl_wifexited() - Vérifie si le code de retour représente une fin normale

pcntl_waitpid
pcntl_wifexited
Fonctions PCNTL


Vérifie si le code de retour représente une fin normale

pcntl_wexitstatus
pcntl_wifsignaled
Fonctions PCNTL
PHP Manual

pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifexited — Vérifie si le code de retour représente une fin normale

Description

bool pcntl_wifexited ( int $status )

Retourne TRUE si le processus fils a retourné un code qui représente une fin normale.

Liste de paramètres

status

Le paramètre status est le paramètre status passé à un appel de pcntl_waitpid() ayant réussi.

Valeurs de retour

Retourne TRUE si le processus fils a retourné un code qui représente une fin normale, FALSE sinon.

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils
  • pcntl_wexitstatus() - Retourne le code d'un processus fils terminé

pcntl_wexitstatus
pcntl_wifsignaled
Fonctions PCNTL


Retourne TRUE si le code statut représente une fin due à un signal

pcntl_wifexited
pcntl_wifstopped
Fonctions PCNTL
PHP Manual

pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifsignaled — Retourne TRUE si le code statut représente une fin due à un signal

Description

bool pcntl_wifsignaled ( int $status )

Retourne TRUE si le processus fils sort car un signal n'a pu être reçu.

Liste de paramètres

status

Le paramètre status est le paramètre status passé à un appel de pcntl_waitpid() ayant réussi.

Valeurs de retour

Retourne TRUE si le processus fils sort car un signal n'a pu être reçu, FALSE sinon.

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils
  • pcntl_signal() - Installe un gestionnaire de signaux

pcntl_wifexited
pcntl_wifstopped
Fonctions PCNTL


Retourne TRUE si le processus fils est stoppé

pcntl_wifsignaled
pcntl_wstopsig
Fonctions PCNTL
PHP Manual

pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wifstopped — Retourne TRUE si le processus fils est stoppé

Description

bool pcntl_wifstopped ( int $status )

Retourne TRUE si le processus fils est stoppé ; cela n'est possible que si l'appel à pcntl_waitpid() a été fait avec l'option WUNTRACED.

Liste de paramètres

status

Le paramètre status est le paramètre status passé à un appel de pcntl_waitpid() ayant réussi.

Valeurs de retour

Retourne TRUE si le processus fils est stoppé, FALSE sinon.

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils

pcntl_wifsignaled
pcntl_wstopsig
Fonctions PCNTL


Retourne le signal qui a causé l'arrêt du processus fils

pcntl_wifstopped
pcntl_wtermsig
Fonctions PCNTL
PHP Manual

pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wstopsig — Retourne le signal qui a causé l'arrêt du processus fils

Description

int pcntl_wstopsig ( int $status )

Retourne le numéro du signal qui a causé l'arrêt du processus fils. Cette fonction est uniquement utile si pcntl_wifstopped() a retourné TRUE.

Liste de paramètres

status

Le paramètre status est le paramètre status passé à un appel de pcntl_waitpid() ayant réussi.

Valeurs de retour

Retourne le numéro du signal.

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils
  • pcntl_wifstopped() - Retourne TRUE si le processus fils est stoppé

pcntl_wifstopped
pcntl_wtermsig
Fonctions PCNTL


Retourne le signal qui a provoqué la fin du processus fils

pcntl_wstopsig
POSIX
Fonctions PCNTL
PHP Manual

pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5)

pcntl_wtermsig — Retourne le signal qui a provoqué la fin du processus fils

Description

int pcntl_wtermsig ( int $status )

Retourne le numéro du signal qui a provoqué la fin du processus fils. Cette fonction est uniquement utile si pcntl_wifsignaled() retourne TRUE.

Liste de paramètres

status

Le paramètre status est le paramètre status passé à un appel de pcntl_waitpid() ayant réussi.

Valeurs de retour

Retourne le numéro du signal, sous la forme d'un entier.

Voir aussi

  • pcntl_waitpid() - Attend la fin de l'exécution d'un processus fils
  • pcntl_signal() - Installe un gestionnaire de signaux
  • pcntl_wifsignaled() - Retourne TRUE si le code statut représente une fin due à un signal

pcntl_wstopsig
POSIX
Fonctions PCNTL


POSIX

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions POSIX
    • posix_access — Détermine l'accessibilité d'un fichier
    • posix_ctermid — Retourne le chemin du terminal
    • posix_errno — Alias de posix_get_last_error
    • posix_get_last_error — Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué
    • posix_getcwd — Chemin du dossier de travail courant
    • posix_getegid — Retourne l'ID effectif du groupe du processus courant
    • posix_geteuid — Retourne l'UID effectif de l'utilisateur du processus courant
    • posix_getgid — Retourne l'UID du groupe du processus courant
    • posix_getgrgid — Retourne des informations sur un groupe
    • posix_getgrnam — Retourne des informations sur un groupe
    • posix_getgroups — Retourne les identifiants du groupe du processus courant
    • posix_getlogin — Retourne le nom de login
    • posix_getpgid — Retourne l'id du groupe de processus
    • posix_getpgrp — Retourne l'identifiant du groupe de processus
    • posix_getpid — Retourne l'identifiant du processus courant
    • posix_getppid — Retourne l'identifiant du processus parent
    • posix_getpwnam — Retourne des informations sur un utilisateur
    • posix_getpwuid — Retourne des informations sur un utilisateur
    • posix_getrlimit — Retourne des informations concernant les limites des ressources système
    • posix_getsid — Retourne le sid du processus
    • posix_getuid — Retourne l'ID de l'utilisateur du processus courant
    • posix_initgroups — Calcule la liste des accès de groupe
    • posix_isatty — Détermine si un pointeur de fichier est un terminal interactif
    • posix_kill — Envoie un signal à un processus
    • posix_mkfifo — Crée un fichier FIFO (first in, first out) (un pipe nommé)
    • posix_mknod — Crée un fichier spécial ou ordinaire (POSIX.1)
    • posix_setegid — Modifie le GID réel du processus courant
    • posix_seteuid — Modifie l'identifiant d'utilisateur réel (UID) du processus courant
    • posix_setgid — Fixe le GID effectif du processus courant
    • posix_setpgid — Fixe l'identifiant de groupe de processus
    • posix_setsid — Fait du processus courant un chef de session
    • posix_setuid — Fixe l'UID effective du processus courant
    • posix_strerror — Lit le message d'erreur associé à un numéro d'erreur POSIX
    • posix_times — Utilisation des ressources
    • posix_ttyname — Retourne le nom de device du terminal
    • posix_uname — Retourne le nom du système
pcntl_wtermsig
Introduction
Extensions sur le contrôle des processus


Introduction

Ce module contient une interface aux fonctions définies dans le standard IEEE 1003.1 (POSIX.1) et qui ne sont accessibles que par cette voie.

Avertissement

Les données sensibles peuvent être récupérées avec les fonctions POSIX, e.g. posix_getpwnam() et ces amis. Aucune de ces fonctions, qui effectuent un accès quelconque, ne peuvent fonctionner lorsque le safe mode est actif. Il est cependant extrêmement conseillé de désactiver l'extension POSIX pour tous les utilisateurs (utilisez l'option --disable-posix lors de la compilation) si vous vous trouvez dans un tel environnement.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

POSIX
Installation/Configuration
POSIX


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
POSIX


Installation

Le support des fonctions POSIX est activé par défaut. Vous pouvez désactiver ces fonctions en compilant PHP avec l'option --disable-posix.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

POSIX_F_OK (entier)
Vérifie si le fichier existe.
POSIX_R_OK (entier)
Vérifie si le fichier existe et a les permissions de lecture.
POSIX_W_OK (entier)
Vérifie si le fichier existe et a les permissions d'écriture.
POSIX_X_OK (entier)
Vérifie si le fichier existe et a les permissions d'exécution.
POSIX_S_IFBLK (entier)
Bloque les fichiers spéciaux
POSIX_S_IFCHR (entier)
Caractère des fichiers spéciaux
POSIX_S_IFIFO (entier)
FIFO (pipe nommé) des fichiers spéciaux
POSIX_S_IFREG (entier)
Fichier normal Normal file
POSIX_S_IFSOCK (entier)
Socket

Note: Ces constantes sont disponibles depuis PHP 5.1.0. Notez également que quelques unes peuvent ne pas être disponibles sur votre système.

Types de ressources
Fonctions POSIX
POSIX


Fonctions POSIX

Voir aussi

La section sur le contrôle des processus peut aussi vous intéresser.

Sommaire

  • posix_access — Détermine l'accessibilité d'un fichier
  • posix_ctermid — Retourne le chemin du terminal
  • posix_errno — Alias de posix_get_last_error
  • posix_get_last_error — Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué
  • posix_getcwd — Chemin du dossier de travail courant
  • posix_getegid — Retourne l'ID effectif du groupe du processus courant
  • posix_geteuid — Retourne l'UID effectif de l'utilisateur du processus courant
  • posix_getgid — Retourne l'UID du groupe du processus courant
  • posix_getgrgid — Retourne des informations sur un groupe
  • posix_getgrnam — Retourne des informations sur un groupe
  • posix_getgroups — Retourne les identifiants du groupe du processus courant
  • posix_getlogin — Retourne le nom de login
  • posix_getpgid — Retourne l'id du groupe de processus
  • posix_getpgrp — Retourne l'identifiant du groupe de processus
  • posix_getpid — Retourne l'identifiant du processus courant
  • posix_getppid — Retourne l'identifiant du processus parent
  • posix_getpwnam — Retourne des informations sur un utilisateur
  • posix_getpwuid — Retourne des informations sur un utilisateur
  • posix_getrlimit — Retourne des informations concernant les limites des ressources système
  • posix_getsid — Retourne le sid du processus
  • posix_getuid — Retourne l'ID de l'utilisateur du processus courant
  • posix_initgroups — Calcule la liste des accès de groupe
  • posix_isatty — Détermine si un pointeur de fichier est un terminal interactif
  • posix_kill — Envoie un signal à un processus
  • posix_mkfifo — Crée un fichier FIFO (first in, first out) (un pipe nommé)
  • posix_mknod — Crée un fichier spécial ou ordinaire (POSIX.1)
  • posix_setegid — Modifie le GID réel du processus courant
  • posix_seteuid — Modifie l'identifiant d'utilisateur réel (UID) du processus courant
  • posix_setgid — Fixe le GID effectif du processus courant
  • posix_setpgid — Fixe l'identifiant de groupe de processus
  • posix_setsid — Fait du processus courant un chef de session
  • posix_setuid — Fixe l'UID effective du processus courant
  • posix_strerror — Lit le message d'erreur associé à un numéro d'erreur POSIX
  • posix_times — Utilisation des ressources
  • posix_ttyname — Retourne le nom de device du terminal
  • posix_uname — Retourne le nom du système
Constantes pré-définies
posix_access
POSIX


Détermine l'accessibilité d'un fichier

Fonctions POSIX
posix_ctermid
Fonctions POSIX
PHP Manual

posix_access

(PHP 5 >= 5.1.0)

posix_access — Détermine l'accessibilité d'un fichier

Description

bool posix_access ( string $file [, int $mode = POSIX_F_OK ] )

posix_access() vérifie les permissions utilisateurs pour un fichier.

Liste de paramètres

file

Le nom du fichier à tester.

mode

Un masque constitué d'une ou plusieurs constantes parmi POSIX_F_OK, POSIX_R_OK, POSIX_W_OK et POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK et POSIX_X_OK vérifie si, respectivement, le fichier existe et a les permissions en lecture, écriture et exécution. POSIX_F_OK vérifie uniquement si le fichier existe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec posix_access()

Cet exemple vérifie si le fichier $file a les permissions en lecture et en écriture, sinon, il affiche un message d'erreur.

<?php

$file = 'un_fichier';

if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
    echo 'Le fichier a les permissions en lecture et en écriture !';

} else {
    $error = posix_get_last_error();

    echo "Erreur $error: " . posix_strerror($error);
}

?>

Notes

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Voir aussi

  • posix_get_last_error() - Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué
  • posix_strerror() - Lit le message d'erreur associé à un numéro d'erreur POSIX

Fonctions POSIX
posix_ctermid
Fonctions POSIX


Retourne le chemin du terminal

posix_access
posix_errno
Fonctions POSIX
PHP Manual

posix_ctermid

(PHP 4, PHP 5)

posix_ctermid — Retourne le chemin du terminal

Description

string posix_ctermid ( void )

Génère une chaîne de caractères qui représente le nom du chemin du terminal courant du processus. En cas d'erreur, cette fonction définira l'errno, qui pourra être récupéré en utilisant la fonction posix_get_last_error()

Valeurs de retour

Retourne une chaîne de caractères représentant le nom du chemin du terminal courant en cas de succès. Sinon, FALSE est retourné et errno est défini, qui pourra être récupérer en utilisant la fonction posix_get_last_error().

Exemples

Exemple #1 Exemple avec posix_ctermid()

Cet exemple affichera le chemin du TTY courant.

<?php
echo "L'exécution s'effectue depuis ".posix_ctermid();
?>

Voir aussi

  • posix_ttyname() - Retourne le nom de device du terminal
  • posix_get_last_error() - Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué

posix_access
posix_errno
Fonctions POSIX


Alias de posix_get_last_error

posix_ctermid
posix_get_last_error
Fonctions POSIX
PHP Manual

posix_errno

(PHP 4 >= 4.2.0, PHP 5)

posix_errno — Alias de posix_get_last_error()

Description

Cette fonction est un alias de : posix_get_last_error().

posix_ctermid
posix_get_last_error
Fonctions POSIX


Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué

posix_errno
posix_getcwd
Fonctions POSIX
PHP Manual

posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5)

posix_get_last_error — Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué

Description

int posix_get_last_error ( void )

Retourne le numéro d'erreur retourné par la dernière fonction POSIX qui a échoué. Si vous le message d'erreur associé au numéro d'erreur, utilisez posix_strerror().

Valeurs de retour

Retourne le numéro de la dernière erreur survenue lors d'un appel à une fonction POSIX. Si aucune erreur n'existe, 0 sera retourné.

Exemples

Exemple #1 Exemple avec posix_get_last_error()

Cet exemple tente de terminer un processus bogué, qui a défini la dernière erreur. Nous affichons alors la dernière erreur.

<?php
posix_kill(999459,SIGKILL);
echo 'Erreur retournée : '.posix_get_last_error();
?>

Voir aussi

  • posix_strerror() - Lit le message d'erreur associé à un numéro d'erreur POSIX

posix_errno
posix_getcwd
Fonctions POSIX


Chemin du dossier de travail courant

posix_get_last_error
posix_getegid
Fonctions POSIX
PHP Manual

posix_getcwd

(PHP 4, PHP 5)

posix_getcwd — Chemin du dossier de travail courant

Description

string posix_getcwd ( void )

Retourne le chemin absolu du dossier de travail courant. En cas d'erreur, la fonction définira l'errno, qui pourra être récupéré en utilisant la fonction posix_get_last_error()

Valeurs de retour

Retourne une chaîne de caractères représentant le nom du chemin absolu en cas de succès. Si une erreur survient, retourne FALSE et définit l'errno qui pourra être récupéré en utilisant la fonction posix_get_last_error().

Exemples

Exemple #1 Exemple avec posix_getcwd()

Cet exemple retourne le chemin absolu du dossier courant d'exécution du script.

<?php
echo 'Mon dossier courant de travail est : '.posix_getcwd();
?>

Notes

Note: Cette fonction peut échouer si :

  • vous n'avez pas les droits en lecture ou en recherche
  • le nom du chemin n'existe plus

posix_get_last_error
posix_getegid
Fonctions POSIX


Retourne l'ID effectif du groupe du processus courant

posix_getcwd
posix_geteuid
Fonctions POSIX
PHP Manual

posix_getegid

(PHP 4, PHP 5)

posix_getegid — Retourne l'ID effectif du groupe du processus courant

Description

int posix_getegid ( void )

Retourne l'ID effectif du groupe du processus courant.

Valeurs de retour

Retourne un entier représentant l'ID effectif du groupe.

Exemples

Exemple #1 Exemple avec posix_getegid()

Cet exemple affichera l'ID effectif du groupe, une fois modifié avec la fonction posix_setegid().

<?php
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
posix_setegid(40);
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
echo 'Mon ID effectif de groupe est : '.posix_getegid(); //40
?>

Notes

posix_getegid() est différent de posix_getgid() en le sens où l'identifiant effectif du groupe peut être changé par un appel à la fonction posix_setegid().

Voir aussi

  • posix_getgrgid() - Retourne des informations sur un groupe
  • posix_getgid() - Retourne l'UID du groupe du processus courant
  • posix_setgid() - Fixe le GID effectif du processus courant

posix_getcwd
posix_geteuid
Fonctions POSIX


Retourne l'UID effectif de l'utilisateur du processus courant

posix_getegid
posix_getgid
Fonctions POSIX
PHP Manual

posix_geteuid

(PHP 4, PHP 5)

posix_geteuid — Retourne l'UID effectif de l'utilisateur du processus courant

Description

int posix_geteuid ( void )

Retourne l'UID effectif de l'utilisateur du processus courant. Reportez-vous à posix_getpwuid() pour obtenir le nom d'utilisateur.

Valeurs de retour

Retourne l'ID de l'utilisateur, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_geteuid()

Cet exemple affichera l'ID de l'utilisateur courant puis définira l'ID de l'utilisateur effectif dans un ID séparé en utilisant la fonction posix_seteuid(), puis, affichera la différence entre l'ID réel et l'ID effectif.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Voir aussi

  • posix_getpwuid() - Retourne des informations sur un utilisateur
  • posix_getuid() - Retourne l'ID de l'utilisateur du processus courant
  • posix_setuid() - Fixe l'UID effective du processus courant
  • POSIX man page GETEUID(2)

posix_getegid
posix_getgid
Fonctions POSIX


Retourne l'UID du groupe du processus courant

posix_geteuid
posix_getgrgid
Fonctions POSIX
PHP Manual

posix_getgid

(PHP 4, PHP 5)

posix_getgid — Retourne l'UID du groupe du processus courant

Description

int posix_getgid ( void )

Retourne l'ID réel du groupe du processus courant.

Valeurs de retour

Retourne l'ID réel du groupe, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_getgid()

Cet exemple affichera l'ID réel du groupe.

<?php
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
posix_setegid(40);
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
echo 'Mon ID effectif de groupe est : '.posix_getegid(); //40
?>

Voir aussi

  • posix_getgrgid() - Retourne des informations sur un groupe
  • posix_getegid() - Retourne l'ID effectif du groupe du processus courant
  • posix_setgid() - Fixe le GID effectif du processus courant
  • POSIX man page GETGID(2)

posix_geteuid
posix_getgrgid
Fonctions POSIX


Retourne des informations sur un groupe

posix_getgid
posix_getgrnam
Fonctions POSIX
PHP Manual

posix_getgrgid

(PHP 4, PHP 5)

posix_getgrgid — Retourne des informations sur un groupe

Description

array posix_getgrgid ( int $gid )

Retourne des informations sur un groupe.

Liste de paramètres

gid

L'identifiant du groupe.

Valeurs de retour

Les éléments du tableau retourné sont :

Les informations du groupe
Élément | Description
name | Cet élément contient le nom du groupe. C'est un nom abrégé, habituellement, moins de 16 caractères, représentant le nom du groupe et non le nom du groupe complet.
passwd | Cet élément contient le mot de passe du groupe, crypté. Par exemple, sous les systèmes employant les mots de passe "shadow", un astérisque est retourné.
gid | ID du groupe, doit être le même que le paramètre gid utilisé lors de l'appel à la fonction.
members | C'est un tableau de chaînes de caractères représentant tous les membres du groupe.

Historique

Version | Description
4.2.0 | Depuis PHP 4.2.0, les membres sont retournés sous la forme d'un tableau de membres. Avant cela, la fonction ne retournait que le nombre de membres du groupe, et les membres étaient identifiés par leur index numérique.

Exemples

Exemple #1 Exemple avec posix_getgrgid()

<?php

$groupid   = posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Voir aussi

  • posix_getegid() - Retourne l'ID effectif du groupe du processus courant
  • posix_getgrnam() - Retourne des informations sur un groupe
  • filegroup() - Lire le nom du groupe
  • stat() - Renvoie les informations à propos d'un fichier
  • safe_mode_gid
  • POSIX man page GETGRNAM(3)

posix_getgid
posix_getgrnam
Fonctions POSIX


Retourne des informations sur un groupe

posix_getgrgid
posix_getgroups
Fonctions POSIX
PHP Manual

posix_getgrnam

(PHP 4, PHP 5)

posix_getgrnam — Retourne des informations sur un groupe

Description

array posix_getgrnam ( string $name )

Récupère les informations d'un groupe donné.

Liste de paramètres

name

Le nom du groupe

Valeurs de retour

Les éléments du tableau retourné sont :

Les informations du groupe
Élément | Description
name | Cet élément contient le nom du groupe. C'est un nom abrégé, habituellement, contenant moins de 16 caractères. C'est le même que le paramètre name utilisé lors de l'appel à la fonction.
passwd | Cet élément contient le mot de passe du groupe, crypté. Par exemple, sous un système utilisant les mots de passes "shadow", un astérisque est retourné.
gid | L'ID du groupe, sous un format numérique.
members | C'est un tableau de chaînes de caractères pour tous les membres du groupe.

Historique

Version | Description
4.2.0 | Avant cette version, l'élément members était simplement un entier représentant le nombre de membres dans le groupe, et les noms des membres étaient retournés avec des indices numériques.

Exemples

Exemple #1 Exemple avec posix_getgrnam()

<?php

$groupinfo = posix_getgrnam("toons");

print_r($groupinfo);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Voir aussi

  • posix_getegid() - Retourne l'ID effectif du groupe du processus courant
  • posix_getgrgid() - Retourne des informations sur un groupe
  • filegroup() - Lire le nom du groupe
  • stat() - Renvoie les informations à propos d'un fichier
  • safe_mode_gid
  • POSIX man page GETGRNAM(3)

posix_getgrgid
posix_getgroups
Fonctions POSIX


Retourne les identifiants du groupe du processus courant

posix_getgrnam
posix_getlogin
Fonctions POSIX
PHP Manual

posix_getgroups

(PHP 4, PHP 5)

posix_getgroups — Retourne les identifiants du groupe du processus courant

Description

array posix_getgroups ( void )

Retourne les identifiants du groupe du processus courant.

Valeurs de retour

Retourne un tableau contenant les identifiants du groupe du processus courant.

Exemples

Exemple #1 Exemple avec posix_getgroups()

<?php

$groups = posix_getgroups();

print_r($groups);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

Voir aussi

  • posix_getgrgid() - Retourne des informations sur un groupe

posix_getgrnam
posix_getlogin
Fonctions POSIX


Retourne le nom de login

posix_getgroups
posix_getpgid
Fonctions POSIX
PHP Manual

posix_getlogin

(PHP 4, PHP 5)

posix_getlogin — Retourne le nom de login

Description

string posix_getlogin ( void )

Retourne le nom de login de l'utilisateur qui possède le processus courant.

Valeurs de retour

Retourne le nom de login de l'utilisateur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec posix_getlogin()

<?php
echo posix_getlogin(); //apache
?>

Voir aussi

  • posix_getpwnam() - Retourne des informations sur un utilisateur
  • POSIX man page GETLOGIN(3)

posix_getgroups
posix_getpgid
Fonctions POSIX


Retourne l'id du groupe de processus

posix_getlogin
posix_getpgrp
Fonctions POSIX
PHP Manual

posix_getpgid

(PHP 4, PHP 5)

posix_getpgid — Retourne l'id du groupe de processus

Description

int posix_getpgid ( int $pid )

Retourne l'id du groupe de processus pour le processus pid ou FALSE si une erreur survient.

Liste de paramètres

pid

L'identifiant du processus.

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_getpgid()

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

Notes

Note: Ce n'est pas une fonction POSIX, mais elle est commune sous BSD et les systèmes Sytem V. Si votre système ne supporte pas cette fonction, alors elle ne sera pas incluse lors de la compilation. Vous devriez vérifier si cette fonction existe avec la fonction function_exists().

Voir aussi

  • posix_getppid() - Retourne l'identifiant du processus parent
  • man page SETPGID(2)

posix_getlogin
posix_getpgrp
Fonctions POSIX


Retourne l'identifiant du groupe de processus

posix_getpgid
posix_getpid
Fonctions POSIX
PHP Manual

posix_getpgrp

(PHP 4, PHP 5)

posix_getpgrp — Retourne l'identifiant du groupe de processus

Description

int posix_getpgrp ( void )

Retourne l'identifiant du groupe de processus du processus courant.

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

Voir aussi

  • Reportez-vous à POSIX.1 et à getpgrp(2) dans le manuel de votre système POSIX pour plus d'informations sur les groupes de processus.

posix_getpgid
posix_getpid
Fonctions POSIX


Retourne l'identifiant du processus courant

posix_getpgrp
posix_getppid
Fonctions POSIX
PHP Manual

posix_getpid

(PHP 4, PHP 5)

posix_getpid — Retourne l'identifiant du processus courant

Description

int posix_getpid ( void )

Retourne l'identifiant du processus courant.

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_getpid()

<?php
echo posix_getpid(); //8805
?>

Voir aussi

  • posix_kill() - Envoie un signal à un processus
  • POSIX man page GETPID(2)

posix_getpgrp
posix_getppid
Fonctions POSIX


Retourne l'identifiant du processus parent

posix_getpid
posix_getpwnam
Fonctions POSIX
PHP Manual

posix_getppid

(PHP 4, PHP 5)

posix_getppid — Retourne l'identifiant du processus parent

Description

int posix_getppid ( void )

Retourne l'identifiant du processus parent du processus courant.

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_getppid()

<?php
echo posix_getppid(); //8259
?>

posix_getpid
posix_getpwnam
Fonctions POSIX


Retourne des informations sur un utilisateur

posix_getppid
posix_getpwuid
Fonctions POSIX
PHP Manual

posix_getpwnam

(PHP 4, PHP 5)

posix_getpwnam — Retourne des informations sur un utilisateur

Description

array posix_getpwnam ( string $username )

Retourne un tableau d'informations sur un utilisateur.

Liste de paramètres

username

Un nom alphanumérique d'utilisateur.

Valeurs de retour

En cas de succès, un tableau avec les éléments suivants est retourné, sinon, FALSE :

Le tableau descriptif d'un utilisateur
Élément | Description
name | Le nom contient le nom de l'utilisateur. Généralement, c'est un nom court, de moins de 16 caractères, mais ce n'est pas son nom réel et complet. Cette valeur devrait correspondre au paramètre username et, donc, il est redondant.
passwd | Contient le mot de passe de l'utilisateur, chiffré. Souvent, dans les systèmes utilisant les mots de passe "fantômes", un astérisque est retourné.
uid | L'UID de l'utilisateur.
gid | L'ID du groupe de l'utilisateur. Utilisez la fonction posix_getgrgid() pour connaître le nom du groupe, et ses membres.
gecos | GECOS est un terme obsolète qui fait référence aux données de finger, sur un système Honeywell. Le champ, cependant, a survécu, et son contenu a été formalisé par POSIX. Le champ contient une liste, séparée par des virgules, qui contient le nom complet de l'utilisateur, son téléphone professionnel, son numéro de téléphone bureau et son numéro de téléphone personnel. Sur la plupart des systèmes, seul le nom est disponible.
dir | Cet élément contient le chemin absolu jusqu'au dossier racine de l'utilisateur.
shell | Cet élément contient le chemin absolu jusqu'au dossier d'exécution du shell de l'utilisateur.

Exemples

Exemple #1 Exemple avec posix_getpwnam()

<?php

$userinfo = posix_getpwnam("tom");

print_r($userinfo);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Voir aussi

  • posix_getpwuid() - Retourne des informations sur un utilisateur
  • POSIX man page GETPWNAM(3)

posix_getppid
posix_getpwuid
Fonctions POSIX


Retourne des informations sur un utilisateur

posix_getpwnam
posix_getrlimit
Fonctions POSIX
PHP Manual

posix_getpwuid

(PHP 4, PHP 5)

posix_getpwuid — Retourne des informations sur un utilisateur

Description

array posix_getpwuid ( int $uid )

Retourne un tableau d'informations sur un utilisateur référencé par son ID.

Liste de paramètres

uid

L'identifiant de l'utilisateur.

Valeurs de retour

Retourne un tableau associatif contenant les éléments suivants :

Le tableau de description d'un utilisateur
Élément | Description
name | Le nom contient le nom de l'utilisateur. Généralement, c'est un nom court, de moins de 16 caractères, mais ce n'est pas son nom réel et complet.
passwd | Contient le mot de passe de l'utilisateur, chiffré. Souvent, dans les systèmes utilisant les mots de passe "fantômes", un astérisque est retourné.
uid | Cette valeur devrait correspondre au paramètre uid et, donc, il est redondant.
gid | L'ID du groupe de l'utilisateur. Utilisez la fonction posix_getgrgid() pour connaître le nom du groupe, et ses membres.
gecos | GECOS est un terme obsolète qui fait référence aux données de finger, sur un système Honeywell. Le champ, cependant, a survécu et son contenu a été formalisé par POSIX. Le champ contient une liste, séparée par des virgules, qui contient le nom complet de l'utilisateur, son téléphone professionnel, son numéro de bureau et son numéro de téléphone personnel. Sur la plupart des systèmes, seul le nom est disponible.
dir | Cet élément contient le chemin absolu jusqu'au dossier racine de l'utilisateur.
shell | Cet élément contient le chemin absolu jusqu'au dossier d'exécution du shell de l'utilisateur.

Exemples

Exemple #1 Exemple avec posix_getpwuid()

<?php

$userinfo = posix_getpwuid(10000);

print_r($userinfo);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Voir aussi

  • posix_getpwnam() - Retourne des informations sur un utilisateur
  • POSIX man page GETPWNAM(3)

posix_getpwnam
posix_getrlimit
Fonctions POSIX


Retourne des informations concernant les limites des ressources système

posix_getpwuid
posix_getsid
Fonctions POSIX
PHP Manual

posix_getrlimit

(PHP 4, PHP 5)

posix_getrlimit — Retourne des informations concernant les limites des ressources système

Description

array posix_getrlimit ( void )

posix_getrlimit() retourne un tableau d'informations concernant les limites soft et hard de la ressource courante.

Chaque ressource a une limite soft et hard associée. La limite soft est la valeur que le noyau impose pour la ressource courante. La limite hard agit comme un fusible sur la limite soft. Un processus non privilégié ne peut que définir la limite soft à une valeur comprise entre 0 et la limite hard.

Valeurs de retour

Retourne un tableau associatif d'éléments pour chaque limite définie. Chaque limite a une limite soft et hard.

Liste des limites possibles retournées
Nom de la limite | Description de la limite
core | La taille maximale du coeur du fichier. Lorsqu'elle vaut 0, aucun coeur de fichier n'est créé. Lorsque le coeur des fichiers est plus grand que sa taille, il sera tronqué à cette taille.
totalmem | La taille maximale de la mémoire du processus, en octets.
virtualmem | La taille maximale de la mémoire virtuelle du processus, en octets.
data | La taille maximale du segment de données pour le processus, en octets.
stack | La taille maximale de la pile du processus, en octets.
rss | Le nombre maximal de pages virtuelles résident en RAM.
maxproc | Le nombre maximal de processus qui peuvent être créés pour l'ID utilisateur réel du processus appelé.
memlock | Le nombre maximal d'octets de mémoires pouvant être verrouillés en RAM.
cpu | Le temps que le processus est autorisé à utiliser le CPU.
filesize | La taille maximale du segments de données pour le processus, en octets.
openfiles | le nombre maximal de pointeurs de fichiers ouverts.

Exemples

Exemple #1 Exemple avec posix_getrlimit()

<?php

$limits = posix_getrlimit();

print_r($limits);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

Notes

Note: Cette fonction n'est pas une fonction POSIX mais est commune sous BSD ainsi que sous les systèmes System V. Si votre système ne supporte pas cette fonction, alors, elle ne sera pas incluse lors de la compilation. Vous devriez vérifier si la fonction existe avec la fonction function_exists().

Voir aussi

  • man page GETRLIMIT(2)

posix_getpwuid
posix_getsid
Fonctions POSIX


Retourne le sid du processus

posix_getrlimit
posix_getuid
Fonctions POSIX
PHP Manual

posix_getsid

(PHP 4, PHP 5)

posix_getsid — Retourne le sid du processus

Description

int posix_getsid ( int $pid )

Retourne l'ID de session du processus pid. L'ID de session d'un processus est l'ID du groupe du processus du gestionnaire de session.

Liste de paramètres

pid

L'identifiant du processus. S'il est défini à 0, le processus courant est utilisé. Si un pid invalide est fourni, alors FALSE est retourné et une erreur est définie et pourra être récupérée avec la fonction posix_get_last_error().

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_getsid()

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

Voir aussi

  • posix_getpgid() - Retourne l'id du groupe de processus
  • posix_setsid() - Fait du processus courant un chef de session
  • POSIX man page GETSID(2)

posix_getrlimit
posix_getuid
Fonctions POSIX


Retourne l'ID de l'utilisateur du processus courant

posix_getsid
posix_initgroups
Fonctions POSIX
PHP Manual

posix_getuid

(PHP 4, PHP 5)

posix_getuid — Retourne l'ID de l'utilisateur du processus courant

Description

int posix_getuid ( void )

Retourne l'ID de l'utilisateur du processus courant.

Valeurs de retour

Retourne l'identifiant, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec posix_getuid()

<?php
echo posix_getuid(); //10000
?>

Voir aussi

  • posix_getpwuid() - Retourne des informations sur un utilisateur
  • POSIX man page GETUID(2)

posix_getsid
posix_initgroups
Fonctions POSIX


Calcule la liste des accès de groupe

posix_getuid
posix_isatty
Fonctions POSIX
PHP Manual

posix_initgroups

(PHP 5 >= 5.2.0)

posix_initgroups — Calcule la liste des accès de groupe

Description

bool posix_initgroups ( string $name , int $base_group_id )

Calcule la liste des accès de groupe pour l'utilisateur spécifié par son nom.

Liste de paramètres

name

L'utilisateur pour lequel on doit calculer la liste.

base_group_id

Typiquement, le numéro du groupe depuis le fichier de mot de passe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • La page du manuel Unix d'initgroups(3).

posix_getuid
posix_isatty
Fonctions POSIX


Détermine si un pointeur de fichier est un terminal interactif

posix_initgroups
posix_kill
Fonctions POSIX
PHP Manual

posix_isatty

(PHP 4, PHP 5)

posix_isatty — Détermine si un pointeur de fichier est un terminal interactif

Description

bool posix_isatty ( int $fd )

Détermine si le pointeur de fichier fd se réfère à un type de terminal de périphérique valide.

Liste de paramètres

fd

Le pointeur de fichier.

Valeurs de retour

Retourne TRUE si fd est un pointeur de fichier connecté à un terminal, FALSE sinon.

Voir aussi

  • posix_ttyname() - Retourne le nom de device du terminal

posix_initgroups
posix_kill
Fonctions POSIX


Envoie un signal à un processus

posix_isatty
posix_mkfifo
Fonctions POSIX
PHP Manual

posix_kill

(PHP 4, PHP 5)

posix_kill — Envoie un signal à un processus

Description

bool posix_kill ( int $pid , int $sig )

Envoie le signal sig au processus pid.

Liste de paramètres

pid

L'identifiant du processus.

sig

Une des constantes de signals PCNTL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • Reportez-vous à la page de manuel de kill(2) de votre système POSIX, qui contient plus de détails sur les identifiants négatifs de processus, les pid spéciaux 0 et -1, et le signal numéro 0.

posix_isatty
posix_mkfifo
Fonctions POSIX


Crée un fichier FIFO (first in, first out) (un pipe nommé)

posix_kill
posix_mknod
Fonctions POSIX
PHP Manual

posix_mkfifo

(PHP 4, PHP 5)

posix_mkfifo — Crée un fichier FIFO (first in, first out) (un pipe nommé)

Description

bool posix_mkfifo ( string $pathname , int $mode )

posix_mkfifo() crée un fichier spécial FIFO qui existe dans le système de fichiers, et sert de point de communication bidirectionnel pour les processus.

Liste de paramètres

pathname

Chemin vers le fichier FIFO.

mode

Le second paramètre mode doit être au format octal (i.e. 0644). Les droits donnés à la nouvelle pile FIFO dépendent aussi de la configuration de la fonction umask(). Les droits créées sont (mode & ~umask).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

posix_kill
posix_mknod
Fonctions POSIX


Crée un fichier spécial ou ordinaire (POSIX.1)

posix_mkfifo
posix_setegid
Fonctions POSIX
PHP Manual

posix_mknod

(PHP 5 >= 5.1.0)

posix_mknod — Crée un fichier spécial ou ordinaire (POSIX.1)

Description

bool posix_mknod ( string $pathname , int $mode [, int $major = 0 [, int $minor = 0 ]] )

Crée un fichier spécial ou ordinaire.

Liste de paramètres

pathname

Le fichier à créer.

mode

Ce paramètre est construit par une manipulation de bits ou par des types de fichier (une des constantes suivantes : POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO ou POSIX_S_IFSOCK) et des permissions.

major

L'identifiant majeur du dispositif du noyau (requis lorsque vous utilisez S_IFCHR ou S_IFBLK).

minor

L'identifiant mineur du dispositif du noyau.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec posix_mknod()

<?php

$file = '/tmp/tmpfile';  // nom du fichier
$type = POSIX_S_IFBLK; // type du fichier
$permissions = 0777;     // octal
$major = 1;
$minor = 8;              // /dev/random

if (!posix_mknod($file, $type | $permissions, $major, $minor)) {
    die('Erreur : ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Voir aussi

  • posix_mkfifo() - Crée un fichier FIFO (first in, first out) (un pipe nommé)

posix_mkfifo
posix_setegid
Fonctions POSIX


Modifie le GID réel du processus courant

posix_mknod
posix_seteuid
Fonctions POSIX
PHP Manual

posix_setegid

(PHP 4 >= 4.0.2, PHP 5)

posix_setegid — Modifie le GID réel du processus courant

Description

bool posix_setegid ( int $gid )

Modifie l'identifiant de groupe réel du processus courant. C'est une fonction de haut niveau, et vous aurez besoin des droits appropriés (généralement ceux du super utilisateur), sur votre système, pour l'utiliser.

Liste de paramètres

gid

L'ID du groupe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec posix_setegid()

Cet exemple affichera l'ID effectif du groupe.

<?php
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
posix_setegid(40);
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
echo 'Mon ID effectif de groupe est : '.posix_getegid(); //40
?>

Voir aussi

  • posix_getgrgid() - Retourne des informations sur un groupe
  • posix_getgid() - Retourne l'UID du groupe du processus courant
  • posix_setgid() - Fixe le GID effectif du processus courant

posix_mknod
posix_seteuid
Fonctions POSIX


Modifie l'identifiant d'utilisateur réel (UID) du processus courant

posix_setegid
posix_setgid
Fonctions POSIX
PHP Manual

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5)

posix_seteuid — Modifie l'identifiant d'utilisateur réel (UID) du processus courant

Description

bool posix_seteuid ( int $uid )

Modifie l'identifiant d'utilisateur réel du processus courant. C'est une fonction de haut niveau, et vous aurez besoin des droits appropriés (généralement ceux du super utilisateur), sur votre système, pour l'utiliser.

Liste de paramètres

uid

L'ID de l'utilisateur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • posix_setgid() - Fixe le GID effectif du processus courant

posix_setegid
posix_setgid
Fonctions POSIX


Fixe le GID effectif du processus courant

posix_seteuid
posix_setpgid
Fonctions POSIX
PHP Manual

posix_setgid

(PHP 4, PHP 5)

posix_setgid — Fixe le GID effectif du processus courant

Description

bool posix_setgid ( int $gid )

Fixe le GID effectif du processus courant. C'est une fonction privilégiée et vous devez avoir les privilèges appropriés (habituellement root) sur le système pour pouvoir l'exécuter. L'ordre approprié est d'abord posix_setgid(), puis posix_setuid().

Note: Si l'appelant est le super-utilisateur, cette fonction définira également l'ID effectif du groupe.

Liste de paramètres

gid

L'ID du groupe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec posix_setgid()

Cet exemple affichera l'ID effectif du groupe.

<?php
echo 'Mon ID réel de groupe est : '.posix_getgid(); //20
posix_setgid(40);
echo 'Mon ID réel de groupe est : '.posix_getgid(); //40
echo 'Mon ID effectif de groupe est : '.posix_getegid(); //40
?>

Voir aussi

  • posix_getgrgid() - Retourne des informations sur un groupe
  • posix_getgid() - Retourne l'UID du groupe du processus courant

posix_seteuid
posix_setpgid
Fonctions POSIX


Fixe l'identifiant de groupe de processus

posix_setgid
posix_setsid
Fonctions POSIX
PHP Manual

posix_setpgid

(PHP 4, PHP 5)

posix_setpgid — Fixe l'identifiant de groupe de processus

Description

bool posix_setpgid ( int $pid , int $pgid )

Ajoute le processus pid au groupe d'id pgid.

Liste de paramètres

pid

L'ID du processus.

pgid

L'ID du groupe du processus.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • Reportez-vous à POSIX.1 et setsid(2) dans le manuel de votre système POSIX pour plus d'informations sur le contrôle de tâche.

posix_setgid
posix_setsid
Fonctions POSIX


Fait du processus courant un chef de session

posix_setpgid
posix_setuid
Fonctions POSIX
PHP Manual

posix_setsid

(PHP 4, PHP 5)

posix_setsid — Fait du processus courant un chef de session

Description

int posix_setsid ( void )

Fait du processus courant un chef de session.

Valeurs de retour

Retourne l'identifiant de session, ou -1 si une erreur survient.

Voir aussi

  • Reportez-vous à POSIX.1 et setsid(2) dans le manuel de votre système POSIX pour plus d'informations sur le contrôle de tâche.

posix_setpgid
posix_setuid
Fonctions POSIX


Fixe l'UID effective du processus courant

posix_setsid
posix_strerror
Fonctions POSIX
PHP Manual

posix_setuid

(PHP 4, PHP 5)

posix_setuid — Fixe l'UID effective du processus courant

Description

bool posix_setuid ( int $uid )

Fixe l'UID effective de l'utilisateur du processus courant. Vous devez avoir les privilèges nécessaires (traditionnellement ceux du root) sur votre système pour le faire.

Liste de paramètres

uid

L'ID de l'utilisateur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec posix_setuid()

Cet exemple affiche l'ID courant de l'utilisateur et en modifie sa valeur.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

Voir aussi

  • posix_setgid() - Fixe le GID effectif du processus courant
  • posix_seteuid() - Modifie l'identifiant d'utilisateur réel (UID) du processus courant
  • posix_getuid() - Retourne l'ID de l'utilisateur du processus courant
  • posix_geteuid() - Retourne l'UID effectif de l'utilisateur du processus courant

posix_setsid
posix_strerror
Fonctions POSIX


Lit le message d'erreur associé à un numéro d'erreur POSIX

posix_setuid
posix_times
Fonctions POSIX
PHP Manual

posix_strerror

(PHP 4 >= 4.2.0, PHP 5)

posix_strerror — Lit le message d'erreur associé à un numéro d'erreur POSIX

Description

string posix_strerror ( int $errno )

Retourne le message d'erreur POSIX associé au numéro d'erreur errno. Vous pouvez récupérer le paramètre errno en appelant la fonction posix_get_last_error().

Liste de paramètres

errno

Un numéro d'erreur POSIX, retourné par la fonction posix_get_last_error(). Si défini à 0, alors, la chaîne de caractères "Success" est retournée.

Valeurs de retour

Retourne le message d'erreur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec posix_strerror()

Cet exemple tentera de tuer un processus qui n'existe pas, puis, affichera le message d'erreur correspondant.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

No such process

Voir aussi

  • posix_get_last_error() - Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué

posix_setuid
posix_times
Fonctions POSIX


Utilisation des ressources

posix_strerror
posix_ttyname
Fonctions POSIX
PHP Manual

posix_times

(PHP 4, PHP 5)

posix_times — Utilisation des ressources

Description

array posix_times ( void )

Retourne des informations sur l'utilisation courante du CPU.

Valeurs de retour

Retourne un tableau avec les informations sur l'utilisation du CPU. Les indices sont :

  • ticks - nombre de ticks depuis le dernier démarrage.
  • utime - temps utilisateur utilisé par le processus courant.
  • stime - temps système utilisé par le processus courant.
  • cutime - temps utilisateur utilisé par le processus courant et ses enfants.
  • cstime - temps système utilisé par le processus courant et ses enfants.

Notes

Avertissement

Cette fonction n'est pas fiable, elle peut retourner des valeurs négatives pour des temps élevés.

Exemples

Exemple #1 Exemple avec posix_times()

<?php

$times = posix_times();

print_r($times);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

posix_strerror
posix_ttyname
Fonctions POSIX


Retourne le nom de device du terminal

posix_times
posix_uname
Fonctions POSIX
PHP Manual

posix_ttyname

(PHP 4, PHP 5)

posix_ttyname — Retourne le nom de device du terminal

Description

string posix_ttyname ( int $fd )

Retourne une chaîne de caractères pour le chemin absolu du terminal courant qui est ouvert sur le pointeur de fichier. fd.

Liste de paramètres

fd

Le pointeur de fichier.

Valeurs de retour

En cas de succès, retourne une chaîne de caractères correspondant au chemin absolu de fd. En cas d'erreur, retourne FALSE.

posix_times
posix_uname
Fonctions POSIX


Retourne le nom du système

posix_ttyname
Semaphore
Fonctions POSIX
PHP Manual

posix_uname

(PHP 4, PHP 5)

posix_uname — Retourne le nom du système

Description

array posix_uname ( void )

Retourne des informations sur le système.

Posix impose que vous n'ayez pas d'à priori sur le format des chaînes, c'est-à-dire que vous ne devez pas vous attendre à avoir forcément trois chiffres pour la version, par exemple.

Valeurs de retour

Retourne un tableau associatif avec des informations sur le système. Les indices du tableau sont :

  • sysname : nom du système d'exploitation (exemple : Linux)
  • nodename : nom du système (i.e. valiant)
  • release : édition du système d'exploitation (i.e. 2.2.10)
  • version : version du système d'exploitation (e.e. #4 Tue Jul 20 17:01:36 MEST 1999)
  • machine : architecture système (i.e. i586)
  • domainname : Nom de domaine (i.e. example.com)

domainname est une extension GNU et ne fait pas partie de POSIX.1, ce champ n'est donc accessible que sur les systèmes GNU ou lors de l'utilisation de la GNU libc.

Exemples

Exemple #1 Exemple avec posix_uname()

<?php
$uname=posix_uname();
print_r($uname);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [sysname] => Linux
    [nodename] => funbox
    [release] => 2.6.20-15-server
    [version] => #2 SMP Sun Apr 15 07:41:34 UTC 2007
    [machine] => i686
)

posix_ttyname
Semaphore
Fonctions POSIX


Sémaphore

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Sémaphore
    • ftok — Convertit un chemin et un identifiant de projet en une clé System V IPC
    • msg_get_queue — Crée ou s'attache à une file de messages
    • msg_queue_exists — Vérifie si une file de messages existe
    • msg_receive — Reçoit un message depuis une file de messages
    • msg_remove_queue — Détruit une file de messages
    • msg_send — Envoie un message dans une file
    • msg_set_queue — Modifie des informations dans la file de messages
    • msg_stat_queue — Retourne des informations sur la file de messages
    • sem_acquire — Réserve un sémaphore
    • sem_get — Retourne un identifiant de sémaphore
    • sem_release — Libère un sémaphore
    • sem_remove — Détruit un sémaphore
    • shm_attach — Crée ou ouvre un segment de mémoire partagée
    • shm_detach — Libère un segment de mémoire partagée
    • shm_get_var — Lit une variable dans la mémoire partagée
    • shm_has_var — Vérifie si une variable existe en mémoire partagée
    • shm_put_var — Insère ou modifie une variable de la mémoire partagée
    • shm_remove_var — Efface une variable de la mémoire partagée
    • shm_remove — Supprime un segment de mémoire partagée sous Unix
posix_uname
Introduction
Extensions sur le contrôle des processus


Introduction

Ce module fournit une interface pour les fonctions de type System V IPC. Cela inclut les sémaphores la mémoire partagée et le système de communication inter-processus (IPC).

Les sémaphores peuvent être utilisés pour fournir un accès exclusif à certaines ressources de la machine, ou pour limiter le nombre de processus qui utilisent en même temps une ressource.

Ce module fournit aussi un système de mémoire partagée, qui utilise la mémoire partagée System V. Cette mémoire partagée permet d'accéder à des variables globales. Les différents démons httpd et même d'autres programmes (tels que Perl, C...) permettent un tel échange de données global. N'oubliez pas que la mémoire partagée n'est pas protégée contre l'accès simultané. Il vous faudra utiliser les sémaphores pour assurer la synchronisation.

Limites de la mémoire partagée sous Unix OS
SHMMAX | Taille maximale de mémoire partagée, par défaut, 131072 octets.
SHMMIN | Taille minimale de mémoire partagée, par défaut, 1 octet.
SHMMNI | Nombre maximal de segment de mémoire partagé, par défaut 100.
SHMSEG | Taille maximale de mémoire partagée par processus, par défaut 6.

Ces fonctions permettent d'envoyer et de recevoir des messages de/vers d'autres processus. Elles offrent une interface simple et efficace pour échanger des données entre processus, sans avoir besoin d'utiliser un autre socket UNIX.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Semaphore
Installation/Configuration
Semaphore


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Semaphore


Installation

Le support de ces fonctions n'est pas activé par défaut. Pour activer le support des sémaphores System V, compilez PHP avec l'option --enable-sysvsem. Pour activer le support de la mémoire partagée System V, compilez PHP avec l'option --enable-sysvshm. Pour activer le support des messages System V, compilez PHP avec l'option --enable-sysvmsg.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour les sémaphores
Nom | Défaut | Modifiable | Historique
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

sysvshm.init_mem int

La taille par défaut du segment de mémoire partagée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes des messages System V
Constante | Type | Changelog
MSG_IPC_NOWAIT | entier |
MSG_EAGAIN | entier | Depuis 5.2.0
MSG_ENOMSG | entier | Depuis 5.2.0
MSG_NOERROR | entier |
MSG_EXCEPT | entier |

Types de ressources
Fonctions Sémaphore
Semaphore


Fonctions Sémaphore

Sommaire

  • ftok — Convertit un chemin et un identifiant de projet en une clé System V IPC
  • msg_get_queue — Crée ou s'attache à une file de messages
  • msg_queue_exists — Vérifie si une file de messages existe
  • msg_receive — Reçoit un message depuis une file de messages
  • msg_remove_queue — Détruit une file de messages
  • msg_send — Envoie un message dans une file
  • msg_set_queue — Modifie des informations dans la file de messages
  • msg_stat_queue — Retourne des informations sur la file de messages
  • sem_acquire — Réserve un sémaphore
  • sem_get — Retourne un identifiant de sémaphore
  • sem_release — Libère un sémaphore
  • sem_remove — Détruit un sémaphore
  • shm_attach — Crée ou ouvre un segment de mémoire partagée
  • shm_detach — Libère un segment de mémoire partagée
  • shm_get_var — Lit une variable dans la mémoire partagée
  • shm_has_var — Vérifie si une variable existe en mémoire partagée
  • shm_put_var — Insère ou modifie une variable de la mémoire partagée
  • shm_remove_var — Efface une variable de la mémoire partagée
  • shm_remove — Supprime un segment de mémoire partagée sous Unix
Constantes pré-définies
ftok
Semaphore


Convertit un chemin et un identifiant de projet en une clé System V IPC

Fonctions Sémaphore
msg_get_queue
Fonctions Sémaphore
PHP Manual

ftok

(PHP 4 >= 4.2.0, PHP 5)

ftok — Convertit un chemin et un identifiant de projet en une clé System V IPC

Description

int ftok ( string $pathname , string $proj )

Convertit le paramètre pathname d'un fichier existant, et de l'identifiant de projet proj, en un entier integer à utiliser avec la fonction shmop_open() et d'autres fonctions System V IPC.

Liste de paramètres

pathname

Chemin vers un fichier accessible.

proj

Identifiant du projet. Doit être un seul caractère.

Valeurs de retour

En cas de succès, la valeur retournée sera la valeur de la clé créée, sinon, -1 sera retourné.

Voir aussi

  • shmop_open() - Crée ou ouvre un bloc de mémoire partagée
  • sem_get() - Retourne un identifiant de sémaphore

Fonctions Sémaphore
msg_get_queue
Fonctions Sémaphore


Crée ou s'attache à une file de messages

ftok
msg_queue_exists
Fonctions Sémaphore
PHP Manual

msg_get_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_get_queue — Crée ou s'attache à une file de messages

Description

resource msg_get_queue ( int $key [, int $perms ] )

msg_get_queue() retourne une ressource qui peut être utilisée avec les files de messages System V message, et la clé key. Le premier appel à la fonction va créer la file de messages, avec les droits optionnels de perms. Un second appel à msg_get_queue() avec la même clé key retournera une autre ressource de file de messages, mais les deux identifiants aboutissent à la même file de messages.

Liste de paramètres

key

Identifiant numérique du message dans la file

perms

Permission dans la file. Par défaut, vaut 0666. Si la file de message existe déjà, le paramètre perms sera ignoré.

Valeurs de retour

Retourne une ressource qui peut être utilisée pour accéder à la file de message System V.

Voir aussi

  • msg_remove_queue() - Détruit une file de messages
  • msg_receive() - Reçoit un message depuis une file de messages
  • msg_send() - Envoie un message dans une file
  • msg_stat_queue() - Retourne des informations sur la file de messages
  • msg_set_queue() - Modifie des informations dans la file de messages

ftok
msg_queue_exists
Fonctions Sémaphore


Vérifie si une file de messages existe

msg_get_queue
msg_receive
Fonctions Sémaphore
PHP Manual

msg_queue_exists

(PHP 5 >= 5.3.0)

msg_queue_exists — Vérifie si une file de messages existe

Description

bool msg_queue_exists ( int $key )

Vérifie si la file de messages représenté par la clé key existe.

Liste de paramètres

key

La clé de la file.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msg_remove_queue() - Détruit une file de messages
  • msg_receive() - Reçoit un message depuis une file de messages
  • msg_stat_queue() - Retourne des informations sur la file de messages

msg_get_queue
msg_receive
Fonctions Sémaphore


Reçoit un message depuis une file de messages

msg_queue_exists
msg_remove_queue
Fonctions Sémaphore
PHP Manual

msg_receive

(PHP 4 >= 4.3.0, PHP 5)

msg_receive — Reçoit un message depuis une file de messages

Description

bool msg_receive ( resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags [, int &$errorcode ]]] )

msg_receive() reçoit le premier message de la file queue, type spécifié par desiredmsgtype.

Liste de paramètres

queue

desiredmsgtype

Si desiredmsgtype vaut 0, le premier message de la file est retourné. Si desiredmsgtype vaut plus que 0, alors le premier message de ce type sera retourné. Si desiredmsgtype vaut moins que 0, le premier message de la file ayant un type inférieur ou égal à la valeur absolue de desiredmsgtype sera retourné. Si aucun message ne correspond aux critères, votre script attendra la venue d'un tel message dans la file. Vous pouvez éviter ce blocage en précisant l'option MSG_IPC_NOWAIT dans le paramètre flags.

msgtype

Le type de message qui a été reçu sera stocké dans ce paramètre.

maxsize

La taille maximale de message est fixée par maxsize ; si le message de la file est plus grand que cette taille, la fonction échouera (à moins que vous n'utilisiez une option flags, décrite ci-dessous).

message

Le message reçu sera stocké dans le paramètre message, à moins qu'il n'y ait eu des erreurs de réception du message.

unserialize

Quand c'est le cas, le message est traité comme s'il avait été linéarisé avec le même mécanisme que le module de session. Le message sera alors délinéarisé, puis retourné au script. Cela vous permettra de recevoir facilement des tableaux ou des objets complexes dans votre script, émis par d'autres scripts PHP, ou, si vous utilisez WDDX, depuis n'importe quelle source compatible WDDX.

Si unserialize vaut FALSE, le message sera retourné intact, et sans modifier les valeurs binaires.

flags

Le paramètre flags permet de passer des options pour configurer les appels msgrcv. Par défaut, il vaut 0, mais vous pouvez spécifier une ou plusieurs options en les combinant avec l'opérateur OR).

Options de la fonction msg_receive()
MSG_IPC_NOWAIT | S'il n'y a pas de message du type desiredmsgtype, retourne immédiatement, et n'attend pas. La fonction échouera et retournera un entier correspondant à MSG_ENOMSG.
MSG_EXCEPT | En utilisant cette option en combinaison avec un type desiredmsgtype supérieur à 0, la fonction va lire le premier message qui n'est pas du type demandé par desiredmsgtype.
MSG_NOERROR | Si le message est plus grand que maxsize, cette option va tronquer le message à la taille de maxsize et ne signalera pas d'erreur.

errorcode

Si la fonction échoue, le paramètre optionnel errorcode sera définit à la valeur de la variable système errno.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Lors de la réception réussie d'un message, la file est mise à jour comme ceci : msg_lrpid prend la valeur de l'identifiant de processus du processus appelant, msg_qnum est décrémenté de 1 et msg_rtime prend la date et l'heure courante.

Voir aussi

  • msg_remove_queue() - Détruit une file de messages
  • msg_send() - Envoie un message dans une file
  • msg_stat_queue() - Retourne des informations sur la file de messages
  • msg_set_queue() - Modifie des informations dans la file de messages

msg_queue_exists
msg_remove_queue
Fonctions Sémaphore


Détruit une file de messages

msg_receive
msg_send
Fonctions Sémaphore
PHP Manual

msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_remove_queue — Détruit une file de messages

Description

bool msg_remove_queue ( resource $queue )

msg_remove_queue() détruit la file de messages identifiée par queue. Utiliser uniquement cette fonction lorsque tous les processus ont fini de travailler dans la file de message, et que vous voulez libérer les ressources.

Liste de paramètres

queue

Une ressource, représentant la file des messages

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msg_get_queue() - Crée ou s'attache à une file de messages
  • msg_receive() - Reçoit un message depuis une file de messages
  • msg_stat_queue() - Retourne des informations sur la file de messages
  • msg_set_queue() - Modifie des informations dans la file de messages

msg_receive
msg_send
Fonctions Sémaphore


Envoie un message dans une file

msg_remove_queue
msg_set_queue
Fonctions Sémaphore
PHP Manual

msg_send

(PHP 4 >= 4.3.0, PHP 5)

msg_send — Envoie un message dans une file

Description

bool msg_send ( resource $queue , int $msgtype , mixed $message [, bool $serialize [, bool $blocking [, int &$errorcode ]]] )

msg_send() envoie le message message de type msgtype (qui DOIT être plus grand que 0) à la file de messages identifiée par queue.

Liste de paramètres

queue

msgtype

message

serialize

Le paramètre optionnel serialize contrôle la méthode d'envoi du message message. serialize faut par défaut TRUE ce qui signifie que le message message sera linéarisé en utilisant le même mécanisme que celui qui est utilisé par les sessions, avant d'être envoyé à la file de message. Cela permet d'envoyer des tableaux et des objets complexes à d'autres scripts PHP, ou bien, si vous utilisez l'extension WDDX, d'échanger des messages avec des clients compatibles WDDX.

blocking

Si le message est trop grand pour être stocké par la file, votre script attendra jusqu'à ce qu'un autre processus lise dans la file un message, et libère assez de place pour votre message. C'est le mode bloquant : vous pouvez éviter ce mode en utilisant le paramètre blocking avec la valeur FALSE : dans ce cas, msg_send() retournera immédiatement FALSE si le message est trop gros pour la file. Il assignera alors au paramètre errorcode la valeur de MSG_EAGAIN, indiquant que vous devriez essayer d'envoyer à nouveau votre message, un peu plus tard.

errorcode

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Lors de l'émission réussie d'un message, la file est mise à jour comme ceci : msg_lrpid prend la valeur de l'identifiant de processus du processus appelant, msg_qnum est décrémenté de 1 et msg_rtime prend la date et l'heure courante.

Voir aussi

  • msg_remove_queue() - Détruit une file de messages
  • msg_receive() - Reçoit un message depuis une file de messages
  • msg_stat_queue() - Retourne des informations sur la file de messages
  • msg_set_queue() - Modifie des informations dans la file de messages

msg_remove_queue
msg_set_queue
Fonctions Sémaphore


Modifie des informations dans la file de messages

msg_send
msg_stat_queue
Fonctions Sémaphore
PHP Manual

msg_set_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_set_queue — Modifie des informations dans la file de messages

Description

bool msg_set_queue ( resource $queue , array $data )

msg_set_queue() vous permet de modifier certaines valeurs comme msg_perm.uid, msg_perm.gid, msg_perm.mode et msg_qbytes, qui sont des champs de la structure qui héberge la file de message.

Modifier la structure de données requiert que PHP fonctionne avec le même utilisateur que celui qui a créé la file, qui possède la file (comme déterminé par les champs msg_perm.xxx), ou qui fonctionne avec les droits de super utilisateur. Les droits de super utilisateur sont nécessaires pour affecter à msg_qbytes des valeurs supérieures aux limites du système.

Liste de paramètres

queue

Une ressource, représentant la file des messages

data

Vous devez spécifier les valeurs désirées en définissant la valeur des clés que vous voulez récupérer dans le tableau data.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • msg_remove_queue() - Détruit une file de messages
  • msg_receive() - Reçoit un message depuis une file de messages
  • msg_stat_queue() - Retourne des informations sur la file de messages
  • msg_get_queue() - Crée ou s'attache à une file de messages

msg_send
msg_stat_queue
Fonctions Sémaphore


Retourne des informations sur la file de messages

msg_set_queue
sem_acquire
Fonctions Sémaphore
PHP Manual

msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_stat_queue — Retourne des informations sur la file de messages

Description

array msg_stat_queue ( resource $queue )

msg_stat_queue() retourne des informations sur la file de messages identifiée par queue. C'est une fonction pratique pour connaître le processus qui a émis le message qui vient d'être reçu.

Liste de paramètres

queue

Une ressource, représentant la file des messages

Valeurs de retour

La valeur retournée par la fonction est un tableau dont les index et valeurs sont les suivants :

Structure de réponse de msg_stat_queue()
msg_perm.uid | L'uid du propriétaire de la file.
msg_perm.gid | Le gid du propriétaire de la file.
msg_perm.mode | Le mode d'accès à la file.
msg_stime | L'heure du dernier message envoyé à la file.
msg_rtime | L'heure du dernier message émis par la file.
msg_ctime | L'heure de modification de la file.
msg_qnum | Le nombre de messages en attente dans la file.
msg_qbytes | Le nombre d'octets maximum autorisé dans un message de la file d'attente. Sous Linux, cette valeur peut être lue et modifiée via le fichier /proc/sys/kernel/msgmnb.
msg_lspid | Le pid du processus qui a envoyé le dernier message à la file.
msg_lrpid | Le pid du processus qui a reçu le dernier message de la file.

Voir aussi

  • msg_remove_queue() - Détruit une file de messages
  • msg_receive() - Reçoit un message depuis une file de messages
  • msg_get_queue() - Crée ou s'attache à une file de messages
  • msg_set_queue() - Modifie des informations dans la file de messages

msg_set_queue
sem_acquire
Fonctions Sémaphore


Réserve un sémaphore

msg_stat_queue
sem_get
Fonctions Sémaphore
PHP Manual

sem_acquire

(PHP 4, PHP 5)

sem_acquire — Réserve un sémaphore

Description

bool sem_acquire ( resource $sem_identifier )

sem_acquire() se bloque (si nécessaire) jusqu'à ce que le sémaphore puisse être réservé. Un processus qui tente de réserver un sémaphore qu'il a déjà réservé restera en attente indéfinie, si cette acquisition excède le nombre max_acquire de réservation simultanée.

À la fin d'un script, tous les sémaphores réservés mais non explicitement libérés, seront libérés automatiquement, et une alerte sera générée.

Liste de paramètres

sem_identifier

sem_identifier est une ressource de sémaphore, obtenue de la fonction sem_get().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sem_get() - Retourne un identifiant de sémaphore
  • sem_release() - Libère un sémaphore

msg_stat_queue
sem_get
Fonctions Sémaphore


Retourne un identifiant de sémaphore

sem_acquire
sem_release
Fonctions Sémaphore
PHP Manual

sem_get

(PHP 4, PHP 5)

sem_get — Retourne un identifiant de sémaphore

Description

resource sem_get ( int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1 ]]] )

sem_get() retourne un identifiant qui pourra être utilisé pour accéder à un sémaphore System V.

Un deuxième appel à sem_get() avec la même clé retournera un identifiant différent, mais les deux identifiants permettront d'accéder au même sémaphore.

Liste de paramètres

key

max_acquire

Le nombre de processus qui peuvent réserver simultanément le sémaphore est précisé dans le paramètre max_acquire.

perm

Les permissions du sémaphore. Actuellement, cette valeur n'est affectée que si le processus est le seul processus actuellement attaché au sémaphore.

auto_release

Le paramètre optionnel auto_release spécifie si le sémaphore doit être automatiquement libéré à la fermeture.

Valeurs de retour

Retourne une ressource de sémaphore en cas de succès, et FALSE en cas d'erreur.

Historique

Version | Description
4.3.0 | Le paramètre auto_release a été ajouté.

Voir aussi

  • sem_acquire() - Réserve un sémaphore
  • sem_release() - Libère un sémaphore
  • ftok() - Convertit un chemin et un identifiant de projet en une clé System V IPC

sem_acquire
sem_release
Fonctions Sémaphore


Libère un sémaphore

sem_get
sem_remove
Fonctions Sémaphore
PHP Manual

sem_release

(PHP 4, PHP 5)

sem_release — Libère un sémaphore

Description

bool sem_release ( resource $sem_identifier )

sem_release() libère le sémaphore sem_identifier, s'il a été réservé par le processus courant, sinon génère une erreur.

Après libération du sémaphore, sem_acquire() peut être appelé pour le réserver à nouveau.

Liste de paramètres

sem_identifier

Une ressource, représentant un sémaphore, telle que retournée par la fonction sem_get().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sem_get() - Retourne un identifiant de sémaphore
  • sem_acquire() - Réserve un sémaphore

sem_get
sem_remove
Fonctions Sémaphore


Détruit un sémaphore

sem_release
shm_attach
Fonctions Sémaphore
PHP Manual

sem_remove

(PHP 4 >= 4.1.0, PHP 5)

sem_remove — Détruit un sémaphore

Description

bool sem_remove ( resource $sem_identifier )

sem_remove() supprime le sémaphore donné.

Après suppression du sémaphore, il n'est plus utilisable.

Liste de paramètres

sem_identifier

Une ressource représentant un sémaphore, telle que retournée par la fonction sem_get().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • sem_get() - Retourne un identifiant de sémaphore
  • sem_release() - Libère un sémaphore
  • sem_acquire() - Réserve un sémaphore

sem_release
shm_attach
Fonctions Sémaphore


Crée ou ouvre un segment de mémoire partagée

sem_remove
shm_detach
Fonctions Sémaphore
PHP Manual

shm_attach

(PHP 4, PHP 5)

shm_attach — Crée ou ouvre un segment de mémoire partagée

Description

resource shm_attach ( int $key [, int $memsize [, int $perm ]] )

shm_attach() retourne un identifiant qui permettra d'accéder au System V de mémoire partagée. Au premier appel, la mémoire sera créée, avec la taille memsize et avec les permissions perm

Aux appels suivants avec la même clé key, shm_attach() retournera un nouvel identifiant, mais cet identifiant accédera toujours à la même portion de mémoire partagée. Dans ce cas, memsize et perm seront ignorés.

Liste de paramètres

key

Un identifiant numérique de la mémoire partagée

memsize

La taille mémoire. S'il n'est pas fourni, vaut par défaut la valeur de sysvshm.init_mem du fichier php.ini, sinon 10000 octets.

perm

Les permissions (optionnelles). Par défaut, vaut 0666.

Valeurs de retour

Retourne un identifiant de mémoire partagée.

Voir aussi

  • shm_detach() - Libère un segment de mémoire partagée
  • ftok() - Convertit un chemin et un identifiant de projet en une clé System V IPC

sem_remove
shm_detach
Fonctions Sémaphore


Libère un segment de mémoire partagée

shm_attach
shm_get_var
Fonctions Sémaphore
PHP Manual

shm_detach

(PHP 4, PHP 5)

shm_detach — Libère un segment de mémoire partagée

Description

bool shm_detach ( resource $shm_identifier )

shm_detach() libère le segment de mémoire partagée identifié par shm_identifier et créé par shm_attach(). N'oubliez pas que cette mémoire partagée existe toujours sous Unix, et que les données sont toujours accessibles.

Liste de paramètres

shm_identifier

Une ressource représentant la mémoire partagée, telle que retournée par la fonction shm_attach()

Valeurs de retour

shm_detach() retourne toujours TRUE.

Voir aussi

  • shm_attach() - Crée ou ouvre un segment de mémoire partagée
  • shm_remove() - Supprime un segment de mémoire partagée sous Unix
  • shm_remove_var() - Efface une variable de la mémoire partagée

shm_attach
shm_get_var
Fonctions Sémaphore


Lit une variable dans la mémoire partagée

shm_detach
shm_has_var
Fonctions Sémaphore
PHP Manual

shm_get_var

(PHP 4, PHP 5)

shm_get_var — Lit une variable dans la mémoire partagée

Description

mixed shm_get_var ( resource $shm_identifier , int $variable_key )

shm_get_var() retourne la variable repérée par variable_key, dans le segment de mémoire partagée identifié par shm_identifier. La variable est toujours présente en mémoire partagée.

Liste de paramètres

shm_identifier

Segment de mémoire partagée, obtenu depuis la fonction shm_attach().

variable_key

La clé de la variable.

Valeurs de retour

Retourne la variable correspondant à la clé donnée.

Voir aussi

  • shm_has_var() - Vérifie si une variable existe en mémoire partagée
  • shm_put_var() - Insère ou modifie une variable de la mémoire partagée

shm_detach
shm_has_var
Fonctions Sémaphore


Vérifie si une variable existe en mémoire partagée

shm_get_var
shm_put_var
Fonctions Sémaphore
PHP Manual

shm_has_var

(PHP 5 >= 5.3.0)

shm_has_var — Vérifie si une variable existe en mémoire partagée

Description

bool shm_has_var ( resource $shm_identifier , int $variable_key )

Vérifie si une variable existe en mémoire partagée.

Liste de paramètres

shm_identifier

Le segment de mémoire partagée, obtenu avec shm_attach().

variable_key

Le nom de la variable.

Valeurs de retour

Retourne TRUE si la variable existe, et FALSE sinon;

Voir aussi

  • shm_get_var() - Lit une variable dans la mémoire partagée
  • shm_put_var() - Insère ou modifie une variable de la mémoire partagée

shm_get_var
shm_put_var
Fonctions Sémaphore


Insère ou modifie une variable de la mémoire partagée

shm_has_var
shm_remove_var
Fonctions Sémaphore
PHP Manual

shm_put_var

(PHP 4, PHP 5)

shm_put_var — Insère ou modifie une variable de la mémoire partagée

Description

bool shm_put_var ( resource $shm_identifier , int $variable_key , mixed $variable )

shm_put_var() insère ou modifie la variable variable avec la clé variable_key dans le segment de mémoire shm_identifier.

Des alertes (niveau E_WARNING) seront émises si shm_identifier n'est pas un segment de mémoire système V valide, ou s'il n'y a pas assez de mémoire pour votre requête.

Liste de paramètres

shm_identifier

Une ressource, représentant la mémoire partagée, telle que retournée par la fonction shm_attach()

variable_key

La clé de la variable.

variable

La variable. Tous les types de variables sont supportés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • shm_get_var() - Lit une variable dans la mémoire partagée
  • shm_has_var() - Vérifie si une variable existe en mémoire partagée

shm_has_var
shm_remove_var
Fonctions Sémaphore


Efface une variable de la mémoire partagée

shm_put_var
shm_remove
Fonctions Sémaphore
PHP Manual

shm_remove_var

(PHP 4, PHP 5)

shm_remove_var — Efface une variable de la mémoire partagée

Description

bool shm_remove_var ( resource $shm_identifier , int $variable_key )

Efface la variable variable_key de la mémoire partagée shm_identifier et libère la mémoire.

Liste de paramètres

shm_identifier

L'identifiant de la mémoire partagée, tel que retourné par la fonction shm_attach()

variable_key

La clé de la variable.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • shm_remove() - Supprime un segment de mémoire partagée sous Unix

shm_put_var
shm_remove
Fonctions Sémaphore


Supprime un segment de mémoire partagée sous Unix

shm_remove_var
Mémoire partagée
Fonctions Sémaphore
PHP Manual

shm_remove

(PHP 4, PHP 5)

shm_remove — Supprime un segment de mémoire partagée sous Unix

Description

bool shm_remove ( resource $shm_identifier )

shm_remove() supprime le segment de mémoire partagée shm_identifier. Toutes les données seront supprimées.

Liste de paramètres

shm_identifier

L'identifiant de mémoire partagée, tel que retourné par la fonction shm_attach()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • shm_remove_var() - Efface une variable de la mémoire partagée

shm_remove_var
Mémoire partagée
Fonctions Sémaphore


Mémoire partagée

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Introduction à la mémoire partagée
  • Fonctions sur la mémoire partagée
    • shmop_close — Ferme un bloc de mémoire partagée
    • shmop_delete — Détruit un bloc de mémoire partagée
    • shmop_open — Crée ou ouvre un bloc de mémoire partagée
    • shmop_read — Lit des données à partir d'un bloc
    • shmop_size — Lire la taille du bloc de mémoire partagée
    • shmop_write — Écrire dans un bloc de mémoire partagée
shm_remove
Introduction
Extensions sur le contrôle des processus


Introduction

Shmop est un ensemble de fonctions simples pour gérer la mémoire partagée avec PHP (lecture, écriture, création et suppression de segments de mémoire partagée UNIX).

Note: Les versions de Windows plus anciennes que Windows 2000 ne supportent pas la mémoire partagée.

Note: En PHP 4.0.3, ces fonctions étaient préfixées avec shm au lieu de shmop.

Mémoire partagée
Installation/Configuration
Mémoire partagée


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Mémoire partagée


Installation

Pour utiliser les fonctions shmop, compilez PHP avec l'option --enable-shmop.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Mémoire partagée


Exemples

Sommaire

  • Introduction à la mémoire partagée
Constantes pré-définies
Introduction à la mémoire partagée
Mémoire partagée


Introduction à la mémoire partagée

Exemples
Fonctions sur la mémoire partagée
Exemples
PHP Manual

Exemple #1 Introduction à la mémoire partagée

<?php

// Crée 100 octets de mémoire partagée avec un identifiant système "0xff3"
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
  echo "Impossible de créer la mémoire partagée\n";
}

// Lire la taille de la mémoire partagée
$shm_size = shmop_size($shm_id);
echo "Un bloc de SHM de taille " . $shm_size . " a été créé.\n";

// Ecriture d'une chaîne de test dans ce segment
$shm_bytes_written = shmop_write($shm_id, "Mon bloc de mémoire partagée", 0);
if ($shm_bytes_written != strlen("Mon bloc de mémoire partagée")) {
  echo "Impossible d'écrire toutes les données en mémoire\n";
}

// Lecture du segment
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
  echo "Impossible de lire toutes les données en mémoire\n";
}
echo "Les données mises en mémoire partagées sont : " . $my_string . "\n";

// Maintenant, effaçons le bloc, et fermons le segment de mémoire
if(!shmop_delete($shm_id)) {
  echo "Impossible d'effacer le segment de mémoire";
}
shmop_close($shm_id);

?>

Exemples
Fonctions sur la mémoire partagée
Exemples


Fonctions sur la mémoire partagée

Sommaire

  • shmop_close — Ferme un bloc de mémoire partagée
  • shmop_delete — Détruit un bloc de mémoire partagée
  • shmop_open — Crée ou ouvre un bloc de mémoire partagée
  • shmop_read — Lit des données à partir d'un bloc
  • shmop_size — Lire la taille du bloc de mémoire partagée
  • shmop_write — Écrire dans un bloc de mémoire partagée
Introduction à la mémoire partagée
shmop_close
Mémoire partagée


Ferme un bloc de mémoire partagée

Fonctions sur la mémoire partagée
shmop_delete
Fonctions sur la mémoire partagée
PHP Manual

shmop_close

(PHP 4 >= 4.0.4, PHP 5)

shmop_close — Ferme un bloc de mémoire partagée

Description

void shmop_close ( int $shmid )

shmop_close() sert à fermer un bloc de mémoire partagée.

Liste de paramètres

shmid

Identifiant de mémoire partagée créé par shmop_open().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Fermeture d'un bloc de mémoire partagée

<?php
shmop_close($shm_id);
?>

Cet exemple ferme le bloc de mémoire partagée identifié par $shm_id.

Voir aussi

  • shmop_open() - Crée ou ouvre un bloc de mémoire partagée

Fonctions sur la mémoire partagée
shmop_delete
Fonctions sur la mémoire partagée


Détruit un bloc de mémoire partagée

shmop_close
shmop_open
Fonctions sur la mémoire partagée
PHP Manual

shmop_delete

(PHP 4 >= 4.0.4, PHP 5)

shmop_delete — Détruit un bloc de mémoire partagée

Description

bool shmop_delete ( int $shmid )

shmop_delete() sert à détruire un bloc de mémoire partagée.

Liste de paramètres

shmid

Identifiant de mémoire partagée créé par shmop_open().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Effacement d'un bloc de mémoire partagée

<?php
shmop_delete($shm_id);
?>

Ce exemple efface le bloc de mémoire partagée identifié par $shm_id.

shmop_close
shmop_open
Fonctions sur la mémoire partagée


Crée ou ouvre un bloc de mémoire partagée

shmop_delete
shmop_read
Fonctions sur la mémoire partagée
PHP Manual

shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open — Crée ou ouvre un bloc de mémoire partagée

Description

int shmop_open ( int $key , string $flags , int $mode , int $size )

shmop_open() peut créer ou ouvrir un bloc de mémoire partagée.

Liste de paramètres

key

Identifiant système pour le bloc de mémoire partagé. Ce paramètre peut être passé comme un décimal ou un hexadécimal.

flags

Vous pouvez utiliser :

  • "a" pour accès (utilise SHM_RDONLY pour shmat) utilisez cette option pour ouvrir un bloc déjà existant en lecture seule.
  • "c" pour création (utilise IPC_CREATE) utilisez cette option pour créer un nouveau bloc, ou, si un segment avec le même identifiant existe, essayer d'y accéder en lecture et écriture.
  • "w" pour accès en lecture et écriture. Utilisez cette option lorsque vous devez accéder en lecture et écriture à un segment de mémoire partagée. C'est le cas le plus courant.
  • "n" crée un nouveau segment de mémoire partagée (utilise IPC_CREATE|IPC_EXCL). Utilisez cette option lorsque vous voulez créer un nouveau segment de mémoire partagée sauf s'il en existe déjà un corrompu avec la même option. Ceci est très pratique pour des raisons de sécurité, pour éviter des trous de sécurité qui exploiteraient la course aux ressources.

mode

Les permissions que vous donnez à ce bloc. Ce sont les mêmes que pour les fichiers. Ces permissions doivent être passées sous forme d'octal (i.e. 0644).

size

La taille du bloc mémoire partagé que vous voulez créer, en octets

Note: Note : Les troisième et quatrième paramètres doivent être passés à 0 si vous voulez ouvrir un bloc de mémoire partagée déjà existant.

Valeurs de retour

En cas de succès shmop_open() retourne un identifiant que vous pouvez utiliser pour accéder à la mémoire que vous venez de créer. FALSE sera retourné si une erreur survient.

Exemples

Exemple #1 Créer un nouveau bloc de mémoire partagée Shmop

<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

Cet exemple ouvre un nouveau bloc de mémoire partagée, dont l'identifiant est retourné par ftok().

Voir aussi

  • shmop_close() - Ferme un bloc de mémoire partagée
  • shmop_delete() - Détruit un bloc de mémoire partagée

shmop_delete
shmop_read
Fonctions sur la mémoire partagée


Lit des données à partir d'un bloc

shmop_open
shmop_size
Fonctions sur la mémoire partagée
PHP Manual

shmop_read

(PHP 4 >= 4.0.4, PHP 5)

shmop_read — Lit des données à partir d'un bloc

Description

string shmop_read ( int $shmid , int $start , int $count )

shmop_read() lit une chaîne dans une bloc de mémoire partagée.

Liste de paramètres

shmid

L'identifiant du bloc mémoire partagé, créé par la fonction shmop_open()

start

Position depuis laquelle on doit commencer à lire

count

Le nombre d'octets à lire

Valeurs de retour

Retourne les données ou FALSE si une erreur survient.

Exemples

Exemple #1 Lit un bloc de mémoire partagée

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

Cet exemple lit 50 octets dans le bloc de mémoire partagée et les place dans $shm_data.

Voir aussi

  • shmop_write() - Écrire dans un bloc de mémoire partagée

shmop_open
shmop_size
Fonctions sur la mémoire partagée


Lire la taille du bloc de mémoire partagée

shmop_read
shmop_write
Fonctions sur la mémoire partagée
PHP Manual

shmop_size

(PHP 4 >= 4.0.4, PHP 5)

shmop_size — Lire la taille du bloc de mémoire partagée

Description

int shmop_size ( int $shmid )

shmop_size() sert à connaître la taille en octets d'un bloc de mémoire partagée.

Liste de paramètres

shmid

L'identifiant du bloc mémoire partagé créé par la fonction shmop_open()

Valeurs de retour

Retourne un entier, qui représente le nombre d'octets qu'occupe la mémoire partagée.

Exemples

Exemple #1 Lit la taille d'un bloc de mémoire partagée

<?php
$shm_size = shmop_size($shm_id);
?>

Cet exemple lit la taille du bloc identifié par $shm_id, et la place dans $shm_size.

shmop_read
shmop_write
Fonctions sur la mémoire partagée


Écrire dans un bloc de mémoire partagée

shmop_size
Autres extensions basiques
Fonctions sur la mémoire partagée
PHP Manual

shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write — Écrire dans un bloc de mémoire partagée

Description

int shmop_write ( int $shmid , string $data , int $offset )

shmop_write() écrit une chaîne dans un bloc de mémoire partagée.

Liste de paramètres

shmid

L'identifiant du bloc mémoire partagé, créé par la fonction shmop_open()

data

Une chaîne à écrire dans le bloc de la mémoire partagée

offset

Spécifie la position à partir de laquelle les données doivent être écrites dans la mémoire partagée.

Valeurs de retour

La taille des données écrites, ou FALSE si une erreur survient.

Exemples

Exemple #1 Écrit un bloc de mémoire partagée

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

Cet exemple écrit les données de la chaîne $my_string dans un bloc de mémoire partagée. $shm_bytes_written représentera le nombre d'octets écrits.

Voir aussi

  • shmop_read() - Lit des données à partir d'un bloc

shmop_size
Autres extensions basiques
Fonctions sur la mémoire partagée


Autres extensions basiques

  • GeoIP — Localisation géographique des IPs
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions GeoIP
  • JSON — Notation Objet JavaScript
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions JSON
  • Misc. — Fonctions diverses
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions diverses
  • Parsekit
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Parsekit
  • SPL — Bibliothèque standard PHP (SPL)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Structures des données
    • Itérateurs
    • Interfaces
    • Exceptions
    • Fonctions SPL
    • Gestion des fichiers
    • Classes et interfaces diverses
  • Types SPL — Gestion des types SPL
    • Introduction
    • Installation/Configuration
    • SplInt — La classe SplInt
    • SplFloat — La classe SplFloat
    • SplEnum — La classe SplEnum
    • SplBool — La classe SplBool
    • SplString — La classe SplString
  • Flux
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Filtres de flux
    • Contextes de flux
    • Erreurs de flux
    • Exemples
    • streamWrapper — La classe streamWrapper
    • Fonctions sur les flux
  • Tidy
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Tidy — La classe Tidy
    • TidyNode — La classe TidyNode
    • Fonctions Tidy
  • Tokenizer
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Tokenizer
  • URLs
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions URL
  • Yaml — Sérialisation de données YAML
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Yaml Fonctions
shmop_write
GeoIP
Référence des fonctions


Localisation géographique des IPs

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions GeoIP
    • geoip_continent_code_by_name — Lit de code de continent d'une IP
    • geoip_country_code_by_name — Récupère les deux lettres du code pays
    • geoip_country_code3_by_name — Récupère les trois lettres du code pays
    • geoip_country_name_by_name — Récupère le nom complet du pays
    • geoip_database_info — Récupère les informations de la base de données GeoIP
    • geoip_db_avail — Vérifie si la base de données GeoIP est disponible
    • geoip_db_filename — Retourne le nom du fichier contenant la base de données GeoIP spécifiée
    • geoip_db_get_all_info — Retourne des informations détaillées sur tous les types de bases de données GeoIP
    • geoip_id_by_name — Récupère le débit de la connexion Internet
    • geoip_isp_by_name — Récupère le nom du fournisseur d'accès
    • geoip_org_by_name — Récupère le nom de l'organisation
    • geoip_record_by_name — Récupère les informations détaillées sur un pays, trouvées dans la base de données GeoIP
    • geoip_region_by_name — Récupère le code pays et la région
    • geoip_region_name_by_code — Retourne le nom de la région pour un pays et un code de région
    • geoip_time_zone_by_country_and_region — Retourne le fuseau horaire de certains pays et région du globe
Autres extensions basiques
Introduction
Autres extensions basiques


Introduction

L'extension GeoIP permet de localiser une adresse IP. La ville, l'état, le pays, la longitude, la latitude et d'autres informations comme l'ISP et le type de connexion peuvent être obtenus grâce à GeoIP.

GeoIP
Installation/Configuration
GeoIP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
GeoIP


Pré-requis

Cette extension nécessite la bibliothèque GeoIP version 1.4.0 ou suivant. Vous pouvez récupérer la dernière version sur » http://www.maxmind.com/app/c et la compiler vous-même.

Par défaut, vous ne pouvez qu'accéder à la base de données Free GeoIP Country ou GeoLite City . Bien que ce module peut fonctionner avec d'autres types de bases de données, vous devez acheter une licence commerciale sur » Maxmind.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/geoip.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

GEOIP_COUNTRY_EDITION (entier)
GEOIP_REGION_EDITION_REV0 (entier)
GEOIP_CITY_EDITION_REV0 (entier)
GEOIP_ORG_EDITION (entier)
GEOIP_ISP_EDITION (entier)
GEOIP_CITY_EDITION_REV1 (entier)
GEOIP_REGION_EDITION_REV1 (entier)
GEOIP_PROXY_EDITION (entier)
GEOIP_ASNUM_EDITION (entier)
GEOIP_NETSPEED_EDITION (entier)
GEOIP_DOMAIN_EDITION (entier)

Les constantes suivantes sont utilisées pour la rapidité réseau :

GEOIP_UNKNOWN_SPEED (entier)
GEOIP_DIALUP_SPEED (entier)
GEOIP_CABLEDSL_SPEED (entier)
GEOIP_CORPORATE_SPEED (entier)
Types de ressources
Fonctions GeoIP
GeoIP


Fonctions GeoIP

Sommaire

  • geoip_continent_code_by_name — Lit de code de continent d'une IP
  • geoip_country_code_by_name — Récupère les deux lettres du code pays
  • geoip_country_code3_by_name — Récupère les trois lettres du code pays
  • geoip_country_name_by_name — Récupère le nom complet du pays
  • geoip_database_info — Récupère les informations de la base de données GeoIP
  • geoip_db_avail — Vérifie si la base de données GeoIP est disponible
  • geoip_db_filename — Retourne le nom du fichier contenant la base de données GeoIP spécifiée
  • geoip_db_get_all_info — Retourne des informations détaillées sur tous les types de bases de données GeoIP
  • geoip_id_by_name — Récupère le débit de la connexion Internet
  • geoip_isp_by_name — Récupère le nom du fournisseur d'accès
  • geoip_org_by_name — Récupère le nom de l'organisation
  • geoip_record_by_name — Récupère les informations détaillées sur un pays, trouvées dans la base de données GeoIP
  • geoip_region_by_name — Récupère le code pays et la région
  • geoip_region_name_by_code — Retourne le nom de la région pour un pays et un code de région
  • geoip_time_zone_by_country_and_region — Retourne le fuseau horaire de certains pays et région du globe
Constantes pré-définies
geoip_continent_code_by_name
GeoIP


Lit de code de continent d'une IP

Fonctions GeoIP
geoip_country_code_by_name
Fonctions GeoIP
PHP Manual

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Lit de code de continent d'une IP

Description

string geoip_continent_code_by_name ( string $hostname )

geoip_continent_code_by_name() retourne le code en deux lettre du continenant corresopndant à un nom d'hôte ou une adresse IP.

Liste de paramètres

hostname

Le nom d'hôte ou l'adresse IP qui est étudiée.

Valeurs de retour

Retourne le code en deux lettre du nom de continent, en cas de succès, et FALSE si l'adresse n'a pas pu être trouvée dans la base.

Exemples

Exemple #1 Exemple avec geoip_continent_code_by_name()

Ce script va afficher le continent de l'hôte example.com.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
    echo 'Cet hôte est situé en : ' . $continent;
}
?>

L'exemple ci-dessus va afficher :

Cet hôte est situé en : NA

Voir aussi

  • geoip_country_code_by_name() - Récupère les deux lettres du code pays

Fonctions GeoIP
geoip_country_code_by_name
Fonctions GeoIP


Récupère les deux lettres du code pays

geoip_continent_code_by_name
geoip_country_code3_by_name
Fonctions GeoIP
PHP Manual

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name — Récupère les deux lettres du code pays

Description

string geoip_country_code_by_name ( string $hostname )

La fonction geoip_country_code_by_name() retourne les deux lettres du code pays correspondant au nom de l'hôte ou à l'adresse IP.

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne les deux lettres du code pays ISO en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Exemples

Exemple #1 Exemple avec geoip_country_code_by_name()

Cet exemple affiche la localisation de l'hôte example.com.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'Localisation de cet hôte : ' . $country;
}
?>

L'exemple ci-dessus va afficher :

Localisation de cet hôte : US

Voir aussi

  • geoip_country_code3_by_name() - Récupère les trois lettres du code pays
  • geoip_country_name_by_name() - Récupère le nom complet du pays

geoip_continent_code_by_name
geoip_country_code3_by_name
Fonctions GeoIP


Récupère les trois lettres du code pays

geoip_country_code_by_name
geoip_country_name_by_name
Fonctions GeoIP
PHP Manual

geoip_country_code3_by_name

(PECL geoip >= 0.2.0)

geoip_country_code3_by_name — Récupère les trois lettres du code pays

Description

string geoip_country_code3_by_name ( string $hostname )

La fonction geoip_country_code3_by_name() retourne les trois lettres du code pays correspondant au nom de l'hôte ou à l'adresse IP.

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne les trois lettres do code pays en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Exemples

Exemple #1 Exemple avec geoip_country_code3_by_name()

Cet exemple affiche où est localisé l'hôte example.com.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'Localisation de cet hôte : ' . $country;
}
?>

L'exemple ci-dessus va afficher :

Localisation de cet hôte : USA

Voir aussi

  • geoip_country_code_by_name() - Récupère les deux lettres du code pays
  • geoip_country_name_by_name() - Récupère le nom complet du pays

geoip_country_code_by_name
geoip_country_name_by_name
Fonctions GeoIP


Récupère le nom complet du pays

geoip_country_code3_by_name
geoip_database_info
Fonctions GeoIP
PHP Manual

geoip_country_name_by_name

(PECL geoip >= 0.2.0)

geoip_country_name_by_name — Récupère le nom complet du pays

Description

string geoip_country_name_by_name ( string $hostname )

La fonction geoip_country_name_by_name() retourne le nom complet du pays correspondant au nom de l'hôte ou à l'adresse IP.

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne le nom du pays en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Exemples

Exemple #1 Exemple avec geoip_country_name_by_name()

Cet exemple affiche la localisation de l'hôte example.com.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'Localisation de cet hôte : ' . $country;
}
?>

L'exemple ci-dessus va afficher :

Localisation de cet hôte : United States

Voir aussi

  • geoip_country_code_by_name() - Récupère les deux lettres du code pays
  • geoip_country_code3_by_name() - Récupère les trois lettres du code pays

geoip_country_code3_by_name
geoip_database_info
Fonctions GeoIP


Récupère les informations de la base de données GeoIP

geoip_country_name_by_name
geoip_db_avail
Fonctions GeoIP
PHP Manual

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Récupère les informations de la base de données GeoIP

Description

string geoip_database_info ([ int $database = GEOIP_COUNTRY_EDITION ] )

La fonction geoip_database_info() retourne la version de la base de données GeoIP tel que définie dans le fichier binaire.

Si cette fonction est appelée sans argument, elle retourne la version de la GeoIP Free Country Edition.

Liste de paramètres

database

Le type de base de données, en tant qu'entier. Vous pouvez utiliser diverses constantes définies avec cette extension (ie: GEOIP_*_EDITION).

Valeurs de retour

Retourne la version correspondante de la base de données, ou NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec geoip_region_by_name()

Cet exemple affiche la version de la base de données courante.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

L'exemple ci-dessus va afficher :

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_country_name_by_name
geoip_db_avail
Fonctions GeoIP


Vérifie si la base de données GeoIP est disponible

geoip_database_info
geoip_db_filename
Fonctions GeoIP
PHP Manual

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Vérifie si la base de données GeoIP est disponible

Description

bool geoip_db_avail ( int $database )

La fonction geoip_db_avail() vérifie si la base de données correspondant est disponible et peut être ouverte sur le disque.

La fonction n'indique pas si le fichier est une base de données valide, mais uniquement si elle est lisible.

Liste de paramètres

database

Le type de de base de données, sous la forme d'un entier. Vous pouvez utiliser diverses constantes, définies avec cette extension (ie: GEOIP_*_EDITION).

Valeurs de retour

Retourne TRUE si la base de données existe, FALSE si elle n'est pas trouvée, ou NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec geoip_db_avail()

Ceci affichera la version de la base de données courante.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
    print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

L'exemple ci-dessus va afficher :

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

geoip_database_info
geoip_db_filename
Fonctions GeoIP


Retourne le nom du fichier contenant la base de données GeoIP spécifiée

geoip_db_avail
geoip_db_get_all_info
Fonctions GeoIP
PHP Manual

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Retourne le nom du fichier contenant la base de données GeoIP spécifiée

Description

string geoip_db_filename ( int $database )

La fonction geoip_db_filename() retourne le nom du fichier contenant la base de données GeoIP spécifiée.

La fonction n'indique pas si le fichier existe ou non sur le disque, mais uniquement l'endroit dans lequel la bibliothèque cherche la base de données.

Liste de paramètres

database

Le type de base de données, sous la forme d'un entier. Vous pouvez utiliser diverses constantes, définies avec cette extension (ie: GEOIP_*_EDITION).

Valeurs de retour

Retourne le nom du fichier de la base de données correspondant, ou NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec geoip_db_filename()

Ceci affichera le nom du fichier correspondant à la base de données.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

L'exemple ci-dessus va afficher :

/usr/share/GeoIP/GeoIP.dat

geoip_db_avail
geoip_db_get_all_info
Fonctions GeoIP


Retourne des informations détaillées sur tous les types de bases de données GeoIP

geoip_db_filename
geoip_id_by_name
Fonctions GeoIP
PHP Manual

geoip_db_get_all_info

(PECL geoip >= 1.0.1)

geoip_db_get_all_info — Retourne des informations détaillées sur tous les types de bases de données GeoIP

Description

array geoip_db_get_all_info ( void )

La fonction geoip_db_get_all_info() retourne des informations détaillées, sous la forme d'un tableau multidimensionnel, sur tous les types de bases de données GeoIP.

Cette fonction est disponible même si aucune base de données n'est installée. Elle listera simplement les bases de données comme étant non disponibles.

Les noms des différentes clés du tableau associatif retourné, sont les suivantes :

  • "available" : Booléen, indique si la base de données est disponible (voir la fonction geoip_db_avail())
  • "description" : La description de la base de données
  • "filename" : Le nom du fichier contenant la base de données sur le disque (voir la fonction geoip_db_filename())

Valeurs de retour

Retourne un tableau associatif.

Exemples

Exemple #1 Exemple avec geoip_db_get_all_info()

Ceci affichera un tableau contenant toutes les informations.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
    var_dump($infos);
}
?>

L'exemple ci-dessus va afficher :

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

Exemple #2 Exemple avec geoip_db_get_all_info()

Vous pouvez utiliser diverses constantes comme clés, pour récupérer uniquement des parties d'informations.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
    echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

L'exemple ci-dessus va afficher :

GeoIP Country Edition

geoip_db_filename
geoip_id_by_name
Fonctions GeoIP


Récupère le débit de la connexion Internet

geoip_db_get_all_info
geoip_isp_by_name
Fonctions GeoIP
PHP Manual

geoip_id_by_name

(PECL geoip >= 0.2.0)

geoip_id_by_name — Récupère le débit de la connexion Internet

Description

int geoip_id_by_name ( string $hostname )

La fonction geoip_id_by_name() retourne la pays et la région correspondant au nom de l'hôte ou à l'adresse IP.

La valeur retournée est de type numérique et peut être comparée aux constantes suivantes :

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne le débit réseau.

Exemples

Exemple #1 Exemple avec geoip_id_by_name()

Cet exemple affiche le débit réseau de l'hôte example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'La connexion est du type ';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'dial-up';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable ou DSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporate';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'inconnu';
}
?>

L'exemple ci-dessus va afficher :

La connexion est du type corporate

geoip_db_get_all_info
geoip_isp_by_name
Fonctions GeoIP


Récupère le nom du fournisseur d'accès

geoip_id_by_name
geoip_org_by_name
Fonctions GeoIP
PHP Manual

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Récupère le nom du fournisseur d'accès

Description

string geoip_isp_by_name ( string $hostname )

La fonction geoip_isp_by_name() retourne le nom de l'ISP dont l'IP est assignée.

Cette fonction est actuellement disponible qu'aux utilisateurs qui ont achetés une édition commerciale de GeoIP ISP. Un avertissement sera émis si la base de données ne peut être localisée.

Liste de paramètres

hostname

Le nom d'hôte ou l'adresse IP.

Valeurs de retour

Retourne le nom ISP en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Exemples

Exemple #1 Exemple avec geoip_isp_by_name()

Ceci affichera le nom ISP pour l'hôte example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'L\'IP de l\'hôte appartient à l\'ISP : ' . $isp;
}
?>

L'exemple ci-dessus va afficher :

L'IP de l'hôte appartient à l'ISP : ICANN c/o Internet Assigned Numbers Authority

geoip_id_by_name
geoip_org_by_name
Fonctions GeoIP


Récupère le nom de l'organisation

geoip_isp_by_name
geoip_record_by_name
Fonctions GeoIP
PHP Manual

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Récupère le nom de l'organisation

Description

string geoip_org_by_name ( string $hostname )

La fonction geoip_org_by_name() retourne le nom de l'organisation auquel l'adresse IP est assignée.

Cette fonction est actuellement uniquement disponible aux utilisateurs qui ont acheté une licence commerciale GeoIP Organization, ISP ou AS Edition. Une alerte sera émise si la base de données ne peut pas être trouvée.

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne le nom de l'organisation en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Exemples

Exemple #1 Exemple avec geoip_org_by_name()

Cet exemple affiche le nom de l'organisation pour l'hôte example.com.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
    echo 'Nom de l\'organisation : ' . $org;
}
?>

L'exemple ci-dessus va afficher :

Nom de l'organisation : ICANN c/o Internet Assigned Numbers Authority

geoip_isp_by_name
geoip_record_by_name
Fonctions GeoIP


Récupère les informations détaillées sur un pays, trouvées dans la base de données GeoIP

geoip_org_by_name
geoip_region_by_name
Fonctions GeoIP
PHP Manual

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Récupère les informations détaillées sur un pays, trouvées dans la base de données GeoIP

Description

array geoip_record_by_name ( string $hostname )

La fonction geoip_record_by_name() retourne les informations enregistrées correspondant au nom de l'hôte ou à l'adresse IP.

Cette fonction est disponible pour les bases de données GeoLite City Edition et la version commerciale GeoIP City Edition. Une alerte sera émise si la base de données n'a pu être trouvée.

Les noms des différentes clés du tableau associatif retourné sont les suivantes :

  • "continent_code" : Code du continent sur 2 lettres (disponible depuis la version 1.0.4 avec libgeoip 1.4.3 ou supérieure)
  • "country_code" : Les deux lettres du code pays (Voir geoip_country_code_by_name())
  • "country_code3" : Code pays sur 3 lettres (Voir la fonction geoip_country_code3_by_name())
  • "country_name" : Nom du pays (Voir la fonction geoip_country_name_by_name())
  • "region" : Le code région (ex: CA pour California)
  • "city" : La ville.
  • "postal_code" : Le code postal, FSA ou Zip.
  • "latitude" : La latitude.
  • "longitude" : La longitude.
  • "dma_code" : Code de la zone de marché (Uniquement pour les USA et le Canada)
  • "area_code" : Le code PSTN (ex : 212)

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne un tableau associatif en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Historique

Version | Description
1.0.4 | Ajout de continent_code avec la bibliothèque GeoIP 1.4.3 ou supérieure uniquement
1.0.3 | Ajout de country_code3 et de country_name

Exemples

Exemple #1 Exemple avec geoip_record_by_name()

Cet exemple affiche le tableau contenant l'enregistrement de l'hôte example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

L'exemple ci-dessus va afficher :

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)

geoip_org_by_name
geoip_region_by_name
Fonctions GeoIP


Récupère le code pays et la région

geoip_record_by_name
geoip_region_name_by_code
Fonctions GeoIP
PHP Manual

geoip_region_by_name

(PECL geoip >= 0.2.0)

geoip_region_by_name — Récupère le code pays et la région

Description

array geoip_region_by_name ( string $hostname )

La fonction geoip_region_by_name() retourne le pays et la région correspondant au nom de l'hôte ou à l'adresse IP.

Cette fonction est actuellement uniquement disponible pour les utilisateurs qui ont acheté une licence commerciale GeoIP Region Edition. Une alerte sera émise si la base de données n'a pu être trouvée.

Les noms des différentes clés du tableau retourné sont les suivants :

  • "country_code" : Les deux lettres du code pays (Voir la fonction geoip_country_code_by_name())
  • "region" : Le code région (ex: CA pour California)

Liste de paramètres

hostname

Le nom de l'hôte ou l'adresse IP

Valeurs de retour

Retourne un tableau associatif en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données.

Exemples

Exemple #1 Exemple avec geoip_region_by_name()

Cet exemple affiche le tableau contenant le code pays et la région de l'hôte example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

L'exemple ci-dessus va afficher :

Array
(
    [country_code] => US
    [region] => CA
)

geoip_record_by_name
geoip_region_name_by_code
Fonctions GeoIP


Retourne le nom de la région pour un pays et un code de région

geoip_region_by_name
geoip_time_zone_by_country_and_region
Fonctions GeoIP
PHP Manual

geoip_region_name_by_code

(PECL geoip >= 1.0.4)

geoip_region_name_by_code — Retourne le nom de la région pour un pays et un code de région

Description

string geoip_region_name_by_code ( string $country_code , string $region_code )

geoip_region_name_by_code() retourne le nom de la région corresopndant à un couple pays et région.

Aux États-Unis d'Amérique, la région correspond à l'abréviation en deux lettres de l'état. Au Canada, cette région correspond à l'abréviation de la province ou du territoire, tel qu'attribué par Poste Canada.

Pour le reste du monde, GeoIP utiliser les codes FIPS 10-4 pour représenter les régions. Vous pouvez vérifier le site » http://www.maxmind.com/app/fips10_4 pour une liste détaillée des codes FIPS 10-4.

Cette fonction est toujours disponible, si vous utilisez GeoIP Library version 1.4.1 ou plus récent. Les données sont issues directement de GeoIP Library et non pas d'une table de référence.

Liste de paramètres

country_code

Le code de pays, en deux lettres (voyez geoip_country_code_by_name())

region_code

Le code de région en deux lettres (voyez geoip_region_by_name())

Valeurs de retour

Retourne le nom de la région en cas de succès, ou FALSE si le pays, la région ou la combinaison des deux n'a pas pu être trouvé.

Exemples

Exemple #1 Exemple avec geoip_region_name_by_code() pour les USA et le Canada

Ce script va afficher le nom de la région pour la région QC au CA.

<?php
$region = geoip_region_name_by_code('CA', 'QC');
if ($region) {
    echo 'Nom de la région CA/QC : ' . $region;
}
?>

L'exemple ci-dessus va afficher :

Nom de la région CA/QC: Quebec

Exemple #2 Exemple avec geoip_region_name_by_code() en utilisant les codes FIPS

Ce script va afficher le nom de la région pour la région 01 au JP (Japon).

<?php
$region = geoip_region_name_by_code('JP', '01');
if ($region) {
    echo 'Nom de la région JP/01: ' . $region;
}
?>

L'exemple ci-dessus va afficher :

Nom de la région JP/01: Aichi

geoip_region_by_name
geoip_time_zone_by_country_and_region
Fonctions GeoIP


Retourne le fuseau horaire de certains pays et région du globe

geoip_region_name_by_code
JSON
Fonctions GeoIP
PHP Manual

geoip_time_zone_by_country_and_region

(PECL geoip >= 1.0.4)

geoip_time_zone_by_country_and_region — Retourne le fuseau horaire de certains pays et région du globe

Description

string geoip_time_zone_by_country_and_region ( string $country_code [, string $region_code ] )

geoip_time_zone_by_country_and_region() retourne le fuseau horaire correspondant à un pays et une région.

Aux États-Unis d'Amérique, la région correspond à l'abréviation en deux lettres de l'état. Au Canada, cette région correspond à l'abréviation de la province ou du territoire, tel qu'attribué par Poste Canada.

Pour le reste du monde, GeoIP utiliser les codes FIPS 10-4 pour représenter les régions. Vous pouvez vérifier le site » http://www.maxmind.com/app/fips10_4 pour une liste détaillée des codes FIPS 10-4.

Cette fonction est toujours disponible, si vous utilisez GeoIP Library version 1.4.1 ou plus récent. Les données sont issues directement de GeoIP Library et non pas d'une table de référence.

Liste de paramètres

country_code

Le code de pays, en deux lettres (voyez geoip_country_code_by_name())

region_code

Le code de région en deux lettres (voyez geoip_region_by_name())

Valeurs de retour

Retourne le fuseau horaire en cas de succès, et FALSE si le pays, la région ou la combinaison des deux n'a pas pu être trouvé.

Exemples

Exemple #1 Exemple avec geoip_time_zone_by_country_and_region() pour les USA et Canada

Ce script va afficher le fuseau horaire pour le Québec, au Canada.

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
    echo 'Fuseau horaire de CA/QC : ' . $timezone;
}
?>

L'exemple ci-dessus va afficher :

Fuseau horaire de CA/QC : America/Montreal

Exemple #2 Exemple avec geoip_time_zone_by_country_and_region() et les codes FIPS

Ce script va afficher le fuseau horaire du Japon, région 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
    echo 'Fuseau horaire de JP/01 : ' . $timezone;
}
?>

L'exemple ci-dessus va afficher :

Fuseau horaire de JP/01 : Asia/Tokyo

geoip_region_name_by_code
JSON
Fonctions GeoIP


Notation Objet JavaScript

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions JSON
    • json_decode — Décode une chaîne JSON
    • json_encode — Retourne le représentation JSON d'une valeur
    • json_last_error — Retourne la dernière erreur JSON
geoip_time_zone_by_country_and_region
Introduction
Autres extensions basiques


Introduction

Cette extension implémente le format d'échange de données » JavaScript Object Notation (JSON). Le décodage est géré par un moteur d'analyse basé sur le JSON_checker écrit par Douglas Crockford.

JSON
Installation/Configuration
JSON


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
JSON


Pré-requis

Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.

Installation/Configuration
Installation
Installation/Configuration


Installation

Depuis PHP 5.2.0, l'extension JSON est fournit et compilé dans PHP par défaut.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/json

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes suivantes indiquent le type d'erreur retournée par la fonction json_last_error(). Elles sont toutes disponibles depuis PHP 5.3.0.

JSON_ERROR_NONE ( integer )
Aucune erreur n'est survenue.
JSON_ERROR_DEPTH ( integer )
La profondeur maximale de la pile a été atteinte.
JSON_ERROR_CTRL_CHAR ( integer )
Erreur lors du contrôle des caractères ; probablement un encodage incorrect.
JSON_ERROR_SYNTAX ( integer )
Erreur de syntaxe.
JSON_ERROR_UTF8 ( integer )
Caractères UTF-8 mal formés, probablement mal encodés. Cette constante est disponible depuis PHP 5.3.1.

Les constantes suivantes peuvent être combinées pour former des options de json_encode(). Elles sont toutes disponibles depuis PHP 5.3.0.

JSON_HEX_TAG ( integer )
Tous les caractères < et > sont convertis en séquences \u003C et \u003E.
JSON_HEX_AMP ( integer )
Tous les caractères & sont convertis en \u0026.
JSON_HEX_APOS ( integer )
Tous les guillemets ' sont convertis en \u0027.
JSON_HEX_QUOT ( integer )
Tous les guillemets doubles " sont convertis en \u0022.
JSON_FORCE_OBJECT ( integer )
Produit un objet plutôt qu'un tableau, lorsqu'un tableau non-associatif est utilisé. C'est particulièrement utile lorsque le destinataire du résultat attend un objet, et que le tableau est vide.
Types de ressources
Fonctions JSON
JSON


Fonctions JSON

Sommaire

  • json_decode — Décode une chaîne JSON
  • json_encode — Retourne le représentation JSON d'une valeur
  • json_last_error — Retourne la dernière erreur JSON
Constantes pré-définies
json_decode
JSON


Décode une chaîne JSON

Fonctions JSON
json_encode
Fonctions JSON
PHP Manual

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_decode — Décode une chaîne JSON

Description

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

Récupère une chaîne encodée JSON et la convertit en une variable PHP.

Liste de paramètres

json

La chaîne json à décoder.

assoc

Lorsque ce paramètre vaut TRUE, l'objet retourné sera converti en un tableau associatif.

depth

Définit la profondeur de récursion.

options

Un masque d'options JSON decode. Actuellement, seul JSON_BIGINT_AS_STRING est supporté (par défaut, les gros entiers sont convertis en nombres à virgule flottante)

Cette modification existe dans la version de développement de PHP, et existera probablement après la version 5.3.

Valeurs de retour

Retourne la valeur encodée dans le paramètre json dans le type PHP approprié. Les valeurs true, false et null (insensible à la casse) sont retournées respectivement comme TRUE, FALSE et NULL. NULL est retourné si le paramètre json n'a pu être décodé ou si les données encodées sont plus profondes que la limite de récursion fournie.

Exemples

Exemple #1 Exemple avec json_decode()

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

L'exemple ci-dessus va afficher :

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Exemple #2 Autre exemple avec json_decode()

<?php

$json = '{"foo-bar": 12345}';

$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Exemple #3 Erreurs habituelles lors de l'utilisation de la fonction json_decode()

<?php

// Les chaînes suivantes sont valides en JavaScript mais pas en JSON

// Le nom et la valeur doivent être entourrés de double-guillemets.
// Les simple-guillements ne sont pas valides
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null

// le nom doit être entourré de double-guillemets
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null

// la virgule de fin n'est pas autorisée
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null

?>

Exemple #4 Erreurs avec le paramètre depth

<?php
// Encode les données.
$json = json_encode(
    array(
        1 => array(
            'English' => array(
                'One',
                'January'
            ),
            'French' => array(
                'Une',
                'Janvier'
            )
        )
    )
);

// Définie les erreurs
$json_errors = array(
    JSON_ERROR_NONE => 'Aucune erreur n\'est survenue',
    JSON_ERROR_DEPTH => 'La profondeur maximale a été atteinte',
    JSON_ERROR_CTRL_CHAR => 'Erreur sur le caractère de contrôle, erreur d\'encodage possible',
    JSON_ERROR_SYNTAX => 'Erreur de syntaxe',
);

// Affiche les erreurs pour les différentes profondeurs.
foreach(range(4, 3, -1) as $depth) {
    var_dump(json_decode($json, True, $depth));
    echo 'Dernière erreur : ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL;
    }
?>

L'exemple ci-dessus va afficher :

array(1) {
  [1]=>
  array(2) {
    ["English"]=>
    array(2) {
      [0]=>
      string(3) "One"
      [1]=>
      string(7) "January"
    }
    ["French"]=>
    array(2) {
      [0]=>
      string(3) "Une"
      [1]=>
      string(7) "Janvier"
    }
  }
}
Dernière erreur : Aucune erreur n'est survenue

NULL
Dernière erreur : La profondeur maximale a été atteinte

Exemple #5 Exemple avec json_decode() et de gros entiers

<?php
$json = '12345678901234567890';

var_dump(json_decode($json));
var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));

?>

L'exemple ci-dessus va afficher :

float(1.2345678901235E+19)
string(20) "12345678901234567890"

Notes

Note: La spécification JSON ne fait pas partie de Javascript mais d'un sous-projet de Javascript.

Note: Si une erreur survient lors du décodage, la fonction json_last_error() pourra être utilisée pour déterminer la nature exacte de l'erreur.

Historique

Version | Description
Futur | Le paramètre options a été ajouté.
5.3.0 | Ajout du paramètre optionnel depth. La profondeur de récursion par défaut a augmenté de 128 à 512
5.2.3 | La limite a été élevée de 20 à 128

Voir aussi

  • json_encode() - Retourne le représentation JSON d'une valeur
  • json_last_error() - Retourne la dernière erreur JSON

Fonctions JSON
json_encode
Fonctions JSON


Retourne le représentation JSON d'une valeur

json_decode
json_last_error
Fonctions JSON
PHP Manual

json_encode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_encode — Retourne le représentation JSON d'une valeur

Description

string json_encode ( mixed $value [, int $options = 0 ] )

Retourne une chaîne contenant la représentation JSON de la valeur value.

Liste de paramètres

value

La valeur à encoder. Peut être de n'importe quel type, excepté une ressource.

Cette fonction ne fonctionne qu'avec des données encodées UTF-8.

options

Masque composé des constantes JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_FORCE_OBJECT.

Valeurs de retour

Retourne une chaîne encodé JSON.

Historique

Version | Description
5.3.0 | Le paramètre options a été ajouté.
5.2.1 | Ajout du support des types basiques d'encodage JSON

Exemples

Exemple #1 Exemple avec json_encode()

<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);
?>

L'exemple ci-dessus va afficher :

{"a":1,"b":2,"c":3,"d":4,"e":5}

Exemple #2 Exemple avec json_encode() montrant toutes les options

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&');

echo "Normal : ", json_encode($a), "\n";
echo "Tags : ",   json_encode($a,JSON_HEX_TAG), "\n";
echo "Apos : ",   json_encode($a,JSON_HEX_APOS), "\n";
echo "Quot : ",   json_encode($a,JSON_HEX_QUOT), "\n";
echo "Amp : ",    json_encode($a,JSON_HEX_AMP), "\n";
echo "Toutes : ",    json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP), "\n\n";

$b = array();

echo "Tableau vide sous forme de tableau : ", json_encode($b), "\n";
echo "Tableau vide sous forme d'objet : ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Tableau non-associatif sous forme de tableau : ", json_encode($c), "\n";
echo "Tableau non-associatif sous forme d'objet : ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";
?>

L'exemple ci-dessus va afficher :

Normal : ["<foo>","'bar'","\"baz\"","&blong&"]
Tags : ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&"]
Apos : ["<foo>","\u0027bar\u0027","\"baz\"","&blong&"]
Quot : ["<foo>","'bar'","\u0022baz\u0022","&blong&"]
Amp : ["<foo>","'bar'","\"baz\"","\u0026blong\u0026"]
Toutes : ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026"]

Tableau vide sous forme de tableau : []
Tableau vide sous forme d'objet : {}

Tableau non-associatif sous forme de tableau : [[1,2,3]]
Tableau non-associatif sous forme d'objet : {"0":{"0":1,"1":2,"2":3}}

Voir aussi

  • json_decode() - Décode une chaîne JSON

json_decode
json_last_error
Fonctions JSON


Retourne la dernière erreur JSON

json_encode
Misc.
Fonctions JSON
PHP Manual

json_last_error

(PHP 5 >= 5.3.0)

json_last_error — Retourne la dernière erreur JSON

Description

int json_last_error ( void )

json_last_error() retourne la dernière erreur, s'il y en a eu, survenue lors de la dernière analyse JSON.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une des constantes suivantes :

Codes d'erreur JSON
Constante | Signification | Disponibilité
JSON_ERROR_NONE | Aucune erreur n'est survenue |
JSON_ERROR_DEPTH | La profondeur maximale de la pile a été atteinte |
JSON_ERROR_CTRL_CHAR | Erreur lors du contrôle des caractères ; probablement un encodage incorrect |
JSON_ERROR_SYNTAX | Erreur de syntaxe |
JSON_ERROR_UTF8 | Caractères UTF-8 malformés, possiblement mal encodés | PHP 5.3.1

Exemples

Exemple #1 Exemple avec json_last_error()

<?php
// Une chaîne JSON valide
$json[] = '{"Organisation": "Équipe de Documentation PHP"}';

// Une chaîne json invalide qui va générer une erreur de syntaxe,
// ici, utilisation de ' au lieu de "
$json[] = "{'Organisation': 'Équipe de Documentation PHP'}";

foreach($json as $string)
{
    echo 'Décodage : ' . $string;
    json_decode($string);

    switch(json_last_error())
    {
        case JSON_ERROR_DEPTH:
            echo ' - Profondeur maximale atteinte';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Erreur lors du contrôle des caractères';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Erreur de syntaxe ; JSON malformé';
        break;
        case JSON_ERROR_NONE:
            echo ' - Aucune erreur';
        break;
    }

    echo PHP_EOL;
}
?>

L'exemple ci-dessus va afficher :

Décodage : {"Organisation": "Équipe de Documentation PHP"} - Aucune erreur
Décodage : {'Organisation': 'Équipe de Documentation PHP'} - Erreur de syntaxe ; JSON malformé

Voir aussi

  • json_decode() - Décode une chaîne JSON

json_encode
Misc.
Fonctions JSON


Fonctions diverses

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions diverses
    • connection_aborted — Indique si l'internaute a abandonné la connexion HTTP
    • connection_status — Retourne les bits de statut de la connexion HTTP
    • connection_timeout — Indique si le script a expiré
    • constant — Retourne la valeur d'une constante
    • define — Définit une constante
    • defined — Vérifie l'existence d'une constante
    • die — Alias de la fonction exit
    • eval — Exécute une chaîne comme un script PHP
    • exit — Affiche un message et termine le script courant
    • get_browser — Indique les capacités du navigateur client
    • __halt_compiler — Stoppe l'exécution du compilateur
    • highlight_file — Colorisation syntaxique d'un fichier
    • highlight_string — Applique la syntaxe colorisée à du code PHP
    • ignore_user_abort — Active l'interruption de script sur déconnexion du visiteur
    • pack — Compacte des données dans une chaîne binaire
    • php_check_syntax — Vérifie la syntaxe PHP (et exécute) d'un fichier spécifique
    • php_strip_whitespace — Retourne la source sans commentaires, ni espaces blancs
    • show_source — Alias de highlight_file
    • sleep — Arrête l'exécution durant quelques secondes
    • sys_getloadavg — Récupère la charge moyenne du système
    • time_nanosleep — Attendre pendant un nombre de secondes et de nanosecondes
    • time_sleep_until — Arrête le script pendant une durée spécifiée
    • uniqid — Génère un identifiant unique
    • unpack — Déconditionne des données depuis une chaîne binaire
    • usleep — Arrête l'exécution durant quelques microsecondes
json_last_error
Introduction
Autres extensions basiques


Introduction

Ces fonctions ont été placées là, car elles ne rentraient dans aucune autre catégorie.

Misc.
Installation/Configuration
Misc.


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Misc.


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration divers
Nom | Défaut | Modifiable | Historique
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

ignore_user_abort bool

FALSE par défaut. Si changée à TRUE les scripts ne se termineront pas après que l'annulation par le client de leur connexion.

Voir aussi ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Couleurs utilisées pour le mode de coloration syntaxique. Ces options peuvent prendre n'importe quelles valeurs valides dans <font color="??????">.

browscap string

Nom du fichier de descriptif des clients HTML. (e.g.: browscap.ini) Voir aussi get_browser().

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CONNECTION_ABORTED (entier)
CONNECTION_NORMAL (entier)
CONNECTION_TIMEOUT (entier)
__COMPILER_HALT_OFFSET__ (entier)
Ajouté en PHP 5.1.
Types de ressources
Fonctions diverses
Misc.


Fonctions diverses

Sommaire

  • connection_aborted — Indique si l'internaute a abandonné la connexion HTTP
  • connection_status — Retourne les bits de statut de la connexion HTTP
  • connection_timeout — Indique si le script a expiré
  • constant — Retourne la valeur d'une constante
  • define — Définit une constante
  • defined — Vérifie l'existence d'une constante
  • die — Alias de la fonction exit
  • eval — Exécute une chaîne comme un script PHP
  • exit — Affiche un message et termine le script courant
  • get_browser — Indique les capacités du navigateur client
  • __halt_compiler — Stoppe l'exécution du compilateur
  • highlight_file — Colorisation syntaxique d'un fichier
  • highlight_string — Applique la syntaxe colorisée à du code PHP
  • ignore_user_abort — Active l'interruption de script sur déconnexion du visiteur
  • pack — Compacte des données dans une chaîne binaire
  • php_check_syntax — Vérifie la syntaxe PHP (et exécute) d'un fichier spécifique
  • php_strip_whitespace — Retourne la source sans commentaires, ni espaces blancs
  • show_source — Alias de highlight_file
  • sleep — Arrête l'exécution durant quelques secondes
  • sys_getloadavg — Récupère la charge moyenne du système
  • time_nanosleep — Attendre pendant un nombre de secondes et de nanosecondes
  • time_sleep_until — Arrête le script pendant une durée spécifiée
  • uniqid — Génère un identifiant unique
  • unpack — Déconditionne des données depuis une chaîne binaire
  • usleep — Arrête l'exécution durant quelques microsecondes
Constantes pré-définies
connection_aborted
Misc.


Indique si l'internaute a abandonné la connexion HTTP

Fonctions diverses
connection_status
Fonctions diverses
PHP Manual

connection_aborted

(PHP 4, PHP 5)

connection_aborted — Indique si l'internaute a abandonné la connexion HTTP

Description

int connection_aborted ( void )

Indique si l'internaute a abandonné la connexion HTTP.

Valeurs de retour

Retourne 1 si le client est déconnecté, 0 sinon.

Voir aussi

  • connection_status() - Retourne les bits de statut de la connexion HTTP
  • ignore_user_abort() - Active l'interruption de script sur déconnexion du visiteur
  • Gestionnaire de connexion pour une description complète du gestionnaire de connexion en PHP.

Fonctions diverses
connection_status
Fonctions diverses


Retourne les bits de statut de la connexion HTTP

connection_aborted
connection_timeout
Fonctions diverses
PHP Manual

connection_status

(PHP 4, PHP 5)

connection_status — Retourne les bits de statut de la connexion HTTP

Description

int connection_status ( void )

Retourne les bits de statut de la connexion HTTP.

Valeurs de retour

Retourne les bits de statut de la connexion, qui peuvent être utilisés avec les constantes CONNECTION_XXX pour déterminer le statut de la connexion.

Voir aussi

  • connection_aborted() - Indique si l'internaute a abandonné la connexion HTTP
  • ignore_user_abort() - Active l'interruption de script sur déconnexion du visiteur
  • Gestionnaire de connexion pour une description complète du gestionnaire de connexion en PHP.

connection_aborted
connection_timeout
Fonctions diverses


Indique si le script a expiré

connection_status
constant
Fonctions diverses
PHP Manual

connection_timeout

(PHP 4 <= 4.0.4)

connection_timeout — Indique si le script a expiré

Description

int connection_timeout ( void )

Indique si le script a expiré.

Valeurs de retour

Retourne 1 si le script a expiré, 0 sinon.

Notes

Avertissement

Obsolète

Cette fonction est obsolète et n'existe plus depuis PHP 4.0.5.

Voir aussi

  • connection_status() - Retourne les bits de statut de la connexion HTTP
  • Gestionnaire de connexion pour une description complète du gestionnaire de connexion en PHP.

connection_status
constant
Fonctions diverses


Retourne la valeur d'une constante

connection_timeout
define
Fonctions diverses
PHP Manual

constant

(PHP 4 >= 4.0.4, PHP 5)

constant — Retourne la valeur d'une constante

Description

mixed constant ( string $name )

Retourne la valeur de la constante name.

constant() est pratique lorsque vous devez lire la valeur d'une constante, mais que vous ne connaissez son nom que durant l'exécution du script. Par exemple, ce nom peut être le résultat d'une fonction.

Cette fonction fonctionne également avec les constantes de classe.

Liste de paramètres

name

Le nom de la constante.

Valeurs de retour

Retourne la valeur de la constante, ou NULL si la constante n'est pas définie.

Erreurs / Exceptions

Une alerte de niveau E_WARNING sera générée si la constante n'est pas définie.

Exemples

Exemple #1 Exemple avec constant()

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // identique à la ligne précédente

interface bar {
    const test = 'foobar!';
}

class foo {
    const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Voir aussi

  • define() - Définit une constante
  • defined() - Vérifie l'existence d'une constante
  • La section sur les constantes

connection_timeout
define
Fonctions diverses


Définit une constante

constant
defined
Fonctions diverses
PHP Manual

define

(PHP 4, PHP 5)

define — Définit une constante

Description

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

Définit une constante à l'exécution.

Liste de paramètres

name

Le nom de la constante.

value

La valeur de la constante ; seuls les scalaires et les valeurs NULL sont autorisées. Les valeurs scalaires sont les valeurs entier, nombre décimal, chaîne de caractères ou booléen. Il est techniquement possible de définir des constantes de type ressource, mais cela est fortement déconseillé, et peut causer des comportements inattendus.

case_insensitive

S'il vaut TRUE, le nom de la constante sera insensible à la casse : CONSTANT et Constant représentent des valeurs identiques.

Note: Les constantes insensibles à la casse sont stockées en minuscule.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Définition d'une constante

<?php
define("CONSTANT", "Bonjour le monde.");
echo CONSTANT; // affiche "Bonjour le monde."
echo Constant; // affiche "Constant" et émet une alerte

define("GREETING", "Salut toi.", true);
echo GREETING; // affiche "Salut toi."
echo Greeting; // affiche "Salut toi."

?>

Voir aussi

  • defined() - Vérifie l'existence d'une constante
  • constant() - Retourne la valeur d'une constante
  • La section sur les constantes

constant
defined
Fonctions diverses


Vérifie l'existence d'une constante

define
die
Fonctions diverses
PHP Manual

defined

(PHP 4, PHP 5)

defined — Vérifie l'existence d'une constante

Description

bool defined ( string $name )

Vérifie l'existence d'une constante.

Note: Si vous voulez vérifier si une variable existe, utilisez isset() car defined() ne s'applique qu'aux constants. Si vous voulez voir si une fonction existe, utilisez function_exists().

Liste de paramètres

name

Le nom de la constante.

Valeurs de retour

Retourne TRUE si le nom de la constante fournie par le paramètre name a été définie, FALSE sinon.

Exemples

Exemple #1 Vérifier la présence de constantes avec defined()

<?php
/* Notez que le nom de la constante est entre guillemets. Cet exemple vérifie
 * si la chaîne 'TEST' est le nom de la constante nommée TEST */
if (defined('TEST')) {
    echo TEST;
}
?>

Voir aussi

  • define() - Définit une constante
  • constant() - Retourne la valeur d'une constante
  • get_defined_constants() - Retourne la liste des constantes et leurs valeurs
  • function_exists() - Indique si une fonction est définie
  • La section sur les constantes

define
die
Fonctions diverses


Alias de la fonction exit

defined
eval
Fonctions diverses
PHP Manual

die

(PHP 4, PHP 5)

die — Alias de la fonction exit()

Description

Ce constructeur de langage est équivalent à exit().

defined
eval
Fonctions diverses


Exécute une chaîne comme un script PHP

die
exit
Fonctions diverses
PHP Manual

eval

(PHP 4, PHP 5)

eval — Exécute une chaîne comme un script PHP

Description

mixed eval ( string $code_str )

Évalue la chaîne code_str comme un script PHP. Parmi les utilisations possibles, cette fonction permet de stocker du code dans une base de données, pour utilisation ultérieure.

Il faut bien garder en tête que le code passé à eval() doit être valide, y compris les points virgules de fin de lignes et les séquences d'échappement, sinon l'exécution se terminera. Pour mélanger des sorties HTML et du code PHP, vous pouvez utiliser une balise de fermeture de PHP pour quitter le mode PHP.

N'oubliez pas que les variables utilisées dans la fonction eval() resteront accessibles dans le script principal.

Liste de paramètres

code_str

Le code à évaluer. code_str ne doit pas nécessairement contenir des balises d'ouvertures de PHP.

Une commande return terminera l'évaluation de la chaîne immédiatement.

Valeurs de retour

eval() retourne NULL sauf si return est appelé dans le code évalué, auquel cas la valeur passée à return est retournée. Dans le cas d'une erreur de syntaxe dans le code évalué, eval() retourne FALSE et l'exécution du code suivant continue normalement. Il n'est pas possible d'attraper l'erreur d'analyse de la fonction eval() en utilisant la fonction set_error_handler().

Exemples

Exemple #1 Exemple avec eval() - concaténation de texte

<?php
$string = 'tasse';
$name = 'café';
$str = 'Ceci est une $string avec mon $name dedans.<br />';
echo $str;
eval( "\$str = \"$str\";" );
echo $str;
?>

L'exemple ci-dessus va afficher :

Ceci est une $string avec mon $name dedans.
Ceci est une tasse avec mon café dedans.

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Astuce

Comme pour toutes les fonctions qui affichent directement des résultats au navigateur, vous pouvez utiliser les fonctions de gestion des sorties pour capturer le contenu de cette fonction et le sauver, par exemple, dans une chaîne.

Note: Dans le cas d'une erreur fatale dans le code évalué, l'ensemble du script se terminera.

Voir aussi

  • call_user_func() - Appelle une fonction utilisateur

die
exit
Fonctions diverses


Affiche un message et termine le script courant

eval
get_browser
Fonctions diverses
PHP Manual

exit

(PHP 4, PHP 5)

exit — Affiche un message et termine le script courant

Description

void exit ([ string $status ] )
void exit ( int $status )

Termine le script courant. Les fonctions d'extinction et les destructeurs d'objets seront toujours exécutés même si exit() est appelé.

Liste de paramètres

status

Si status est une chaîne de caractères, cette fonction affichera le status juste avant de sortir.

Si le paramètre status est un entier, cette valeur pourra être utilisée comme statut de sortie et ne sera pas affichée. Le statut de sortie peut être dans l'intervalle 0-255, le statut de sortie 255 est réservé par PHP et ne doit pas être utilisé. Le statut 0 est utilisé pour terminer le programme avec succès.

Note: PHP >= 4.2.0 n'affiche pas le message status si c'est un entier entier.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec exit()

<?php

$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
    or exit("Impossible d'ouvrir le fichier ($filename)");

?>

Exemple #2 Exemple avec exit() et un code d'erreur

<?php

// Quitte normalement
exit;
exit();
exit(0);

// Quitte avec un code d'erreur
exit(1);
exit(0376); // octal

?>

Exemple #3 Exemple d'exécution des fonctions d'extinction et des destructeurs d'objets

<?php
class Foo
{
    public function __destruct()
    {
        echo 'Destructeur : ' . __METHOD__ . '()' . PHP_EOL;
    }
}

function shutdown()
{
    echo 'Arrêt : ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo 'Ceci ne sera jamais affiché.';
?>

L'exemple ci-dessus va afficher :

 Arrêt : shutdown()
 Destructeur : Foo::__destruct()

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Note: Cette construction de langage est équivalente à die().

Voir aussi

  • register_shutdown_function() - Enregistre une fonction pour exécution à l'extinction

eval
get_browser
Fonctions diverses


Indique les capacités du navigateur client

exit
__halt_compiler
Fonctions diverses
PHP Manual

get_browser

(PHP 4, PHP 5)

get_browser — Indique les capacités du navigateur client

Description

mixed get_browser ([ string $user_agent [, bool $return_array = false ]] )

get_browser() essaie de déterminer les capacités du navigateur client. Cela se fait en lisant les informations dans le fichier browscap.ini.

Liste de paramètres

user_agent

L'entête user agent à analyser. Par défaut, la valeur de l'en-tête User-Agent est utilisé; cependant, vous pouvez l'altérer (i.e. cherche d'autres informations sur le navigateur) en passant ce paramètre.

Vous pouvez annuler ce paramètre en y passant la valeur NULL.

return_array

Si définit à TRUE, cette fonction retournera un tableau au lieu d'un objet.

Valeurs de retour

Les informations sont retournées sous forme d'un objet, dont les différents membres contiendront des informations, telles que les versions majeures et mineures et des chaînes d'identification ; des booléens pour des caractéristiques telles que frames, JavaScript, et cookies ; et ainsi de suite.

La valeur cookies indique simplement que le navigateur est capable d'accepter les cookies, et n'indique pas si l'utilisateur les a activé sur son navigateur. Le seul moyen de tester l'activation des cookies est d'en poser un avec la fonction setcookie(), de recharger la page et de vérifier que le cookie existe toujours.

Historique

Version | Description
4.3.2 | Le paramètre optionnel return_array a été ajouté.

Exemples

Exemple #1 Exemple avec get_browser() : liste des capacités du navigateur du client web

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Notes

Note: Afin de pouvoir fonctionner, la directive de configuration browscap dans le fichier php.ini doit pointer vers le fichier browscap.ini de votre système.
browscap.ini n'est pas distribué avec PHP, mais vous pouvez le télécharger sur » php_browscap.ini.
Bien que browscap.ini contienne des informations sur de très nombreux navigateur, il incombe à l'utilisateur de conserver sa base de données à jour. Le format du fichier est très simple à comprendre.

exit
__halt_compiler
Fonctions diverses


Stoppe l'exécution du compilateur

get_browser
highlight_file
Fonctions diverses
PHP Manual

__halt_compiler

(PHP 5 >= 5.1.0)

__halt_compiler — Stoppe l'exécution du compilateur

Description

void __halt_compiler ( void )

Stoppe l'exécution du compilateur. Ceci peut être très utile pour embarquer des données dans des scripts PHP, comme des fichiers d'installation.

L'octet de la position du début des données peut être déterminé par la constante __COMPILER_HALT_OFFSET__ qui n'est définie que s'il y a une fonction __halt_compiler() présente dans le fichier.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec __halt_compiler()

<?php

// Ouverture d'un fichier
$fp = fopen(__FILE__, 'r');

// Déplace le pointeur de fichier vers les données
fseek($fp, __COMPILER_HALT_OFFSET__);

// Puis, on l'affiche
var_dump(stream_get_contents($fp));

// La fin de l'exécution du script
__halt_compiler(); les données d'installation (eg. tar, gz, PHP, etc..)

Notes

Note: __halt_compiler() ne peut être utilisé que depuis une portée extérieure.

get_browser
highlight_file
Fonctions diverses


Colorisation syntaxique d'un fichier

__halt_compiler
highlight_string
Fonctions diverses
PHP Manual

highlight_file

(PHP 4, PHP 5)

highlight_file — Colorisation syntaxique d'un fichier

Description

mixed highlight_file ( string $filename [, bool $return = false ] )

Affiche la syntaxe colorisée du fichier filename, en utilisant les couleurs définies dans le moteur interne de PHP.

De nombreux serveurs sont configurés pour automatiquement afficher le source colorisé, avec l'extension phps. Par exemple, example.phps va afficher le source du script. Pour activer cette fonctionnalité, utilisez cette ligne dans httpd.conf :

AddType application/x-httpd-php-source .phps

Liste de paramètres

filename

Le chemin vers le fichier PHP à coloriser.

return

En passant ce paramètre à TRUE, la fonction retourne le code colorisé au lieu de l'afficher.

Valeurs de retour

Si le second paramètre optionnel return vaut TRUE alors highlight_file() retournera le code généré, au lieu de l'afficher. Si le second paramètre ne vaut pas TRUE alors highlight_file() retournera TRUE en cas de succès, et FALSE sinon.

Historique

Version | Description
4.2.1 | Cette fonction est désormais affectée par safe_mode et open_basedir.
4.2.0 | Le paramètre return a été ajouté.

Notes

Attention

Beaucoup de soin doit être apporté lors de l'utilisation de highlight_file() pour s'assurer que vous ne révélez pas d'informations critiques telles que des mots de passe ou d'autres informations qui pourraient créer des fuites d'informations.

Note: Cette fonction utilise en interne le buffer de sortie avec ce paramètre, il ne peut donc pas être utilisé dans la fonction de rappel ob_start().

Voir aussi

  • highlight_string() - Applique la syntaxe colorisée à du code PHP

__halt_compiler
highlight_string
Fonctions diverses


Applique la syntaxe colorisée à du code PHP

highlight_file
ignore_user_abort
Fonctions diverses
PHP Manual

highlight_string

(PHP 4, PHP 5)

highlight_string — Applique la syntaxe colorisée à du code PHP

Description

mixed highlight_string ( string $str [, bool $return = false ] )

Affiche la version colorisée du code PHP contenu dans le paramètre str, en utilisant les couleurs du système interne de colorisation de PHP.

Liste de paramètres

str

Le code PHP à coloriser. Doit également inclure les balises d'ouverture.

return

Définir ce paramètre à TRUE pour faire que cette fonction retourne le code colorisé.

Valeurs de retour

Si le second paramètre optionnel return est fourni, et vaut TRUE alors highlight_string() retournera la chaîne colorisée au lieu de l'afficher immédiatement. Si le second paramètre ne vaut pas TRUE alors highlight_string() retournera TRUE en cas de succès, et FALSE sinon.

Historique

Version | Description
4.2.0 | Le paramètre return a été ajouté.

Exemples

Exemple #1 Exemple avec highlight_string()

<?php
highlight_string('<?php phpinfo(); ?>');
?>

Cet exemple affichera (en PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

Cet exemple affichera (en PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
</span>
</code>

Notes

Note: Cette fonction utilise en interne le buffer de sortie avec ce paramètre, il ne peut donc pas être utilisé dans la fonction de rappel ob_start().

Voir aussi

  • highlight_file() - Colorisation syntaxique d'un fichier

highlight_file
ignore_user_abort
Fonctions diverses


Active l'interruption de script sur déconnexion du visiteur

highlight_string
pack
Fonctions diverses
PHP Manual

ignore_user_abort

(PHP 4, PHP 5)

ignore_user_abort — Active l'interruption de script sur déconnexion du visiteur

Description

int ignore_user_abort ([ string $value ] )

ignore_user_abort() active l'option qui fait que, lors de la déconnexion du client Web, le script poursuit son exécution.

Lorsque PHP est exécuté comme script en ligne de commande, et que le tty du script est fermé sans que le script soit terminé, alors le script s'arrêtera dès qu'il essaiera d'écrire quelque chose, à moins que value soit TRUE

Liste de paramètres

value

Si fourni, la fonction va attribuer à la directive ignore_user_abort la valeur de value. Si omis, cette fonction ne fait que retourner la valeur de la configuration courante.

Valeurs de retour

Retourne la configuration précédente, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec ignore_user_abort()

<?php
// Ignore la déconnexion de l'utilisateur et autorise
// le script à continuer de s'exécuter
ignore_user_abort(true);
set_time_limit(0);

echo 'Test du gestionnaire de connexion de PHP';

// Exécution d'une boucle infinie surveillant
// l'activité de l'utilisateur. Soit il clique en dehors
// de la page, soit il clique sur le boutton "Stop".
while(1)
{
    // La connexion a-t-elle échoué ?
    if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    // On attend 10 secondes
    sleep(10);
}

// Si c'est atteint, alors l'instruction 'break'
// sera lancée depuis la boucle infinie

// Aussi, nous pouvons à ce niveau entrer des informations dans l'historique,
// ou exécuter d'autres taches nécessaires, sans pour autant être dépendant
// du navigateur.
?>

Notes

PHP ne détecte pas la déconnexion du client Web jusqu'à ce qu'une tentative d'envoi soit faite. La simple utilisation d'un echo() ne garantit pas que l'information est envoyée, voir la fonction flush().

Voir aussi

  • connection_aborted() - Indique si l'internaute a abandonné la connexion HTTP
  • connection_status() - Retourne les bits de statut de la connexion HTTP
  • Gestionnaire de connexion pour une description complète du gestionnaire de connexion en PHP.

highlight_string
pack
Fonctions diverses


Compacte des données dans une chaîne binaire

ignore_user_abort
php_check_syntax
Fonctions diverses
PHP Manual

pack

(PHP 4, PHP 5)

pack — Compacte des données dans une chaîne binaire

Description

string pack ( string $format [, mixed $args [, mixed $... ]] )

Compacte les arguments args dans une chaîne binaire, suivant le format format.

Le concept vient du Perl et tout le formatage fonctionne de la même façon qu'en Perl, mais quelques formats manquent encore (comme "u").

Notez que la distinction entre signé et non signé n'affecte que la fonction unpack(), tandis que la fonction pack() fournira le même résultat pour les deux formats.

De plus, notez que PHP enregistre de manière interne et intégrale les valeurs : cette représentation dépend de la machine. Si vous essayez d'enregistrer une valeur trop grande, elle risque d'être convertie en float et de donner lieu à des effets de bords vicieux.

Liste de paramètres

format

La chaîne de caractères format consiste en des codes de format suivis par un argument répéteur optionnel. Le répéteur peut être soit une valeur entière, soit * pour une répétition jusqu'à la fin des données d'entrées. Pour a, A, h, H, le répéteur spécifie combien de caractères d'une donnée est pris, pour @, c'est la position absolue où l'on insère les prochaines données, pour tout le reste, le répéteur spécifie combien d'arguments de données sont consommés et compactés dans la chaîne binaire résultante.

Les formats actuellement acceptés sont :

Caractères de formatage pour pack()
Code | Description
a | NUL - Une chaîne complétée avec NULL
A | SPACE - Une chaîne complétée avec un espace
h | Chaîne hexadécimale h, bit de poids faible en premier
H | Chaîne hexadécimale H, bit de poids fort en premier
c | Caractère signé
C | Caractère non signé
s | entier court signé (toujours sur 16 bits, ordre des bits dépendant de la machine)
S | entier court non signé (toujours 16 bits, ordre des bits dépendant de la machine)
n | entier cours non signé (toujours 16 bits, ordre des bits big endian)
v | entier cours non signé (toujours 16 bits, ordre des bits little endian)
i | entier signé (taille et ordre des bits dépendants de la machine)
I | entier non signé (taille et ordre des bits dépendants de la machine)
l | entier long signé (toujours 32 bits, ordre des bits dépendant de la machine)
L | entier long non signé (toujours 32 bits, ordre des bits dépendant de la machine)
N | entier long non signé (toujours 32 bits, ordre des bits big endian)
V | entier long non signé (toujours 32 bits, ordre des bits little endian)
f | nombre à virgule flottante (taille et représentation dépendantes de la machine)
d | nombre à virgule flottante double (taille et représentation dépendantes de la machine)
x | caractère NUL
X | Recule d'un caractère
@ Remplit avec des NUL jusqu'à la position absolue

args

Valeurs de retour

Retourne une chaîne de caractères binaire contenant les données.

Exemples

Exemple #1 Exemple avec pack()

<?php
$binarydata = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

La chaîne binaire résultante aura 6 octets de long, et contiendra la séquence 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Voir aussi

  • unpack() - Déconditionne des données depuis une chaîne binaire

ignore_user_abort
php_check_syntax
Fonctions diverses


Vérifie la syntaxe PHP (et exécute) d'un fichier spécifique

pack
php_strip_whitespace
Fonctions diverses
PHP Manual

php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax — Vérifie la syntaxe PHP (et exécute) d'un fichier spécifique

Description

bool php_check_syntax ( string $filename [, string &$error_message ] )

Effectue une vérification de la syntaxe du fichier filename pour y trouver des erreurs de script.

Ceci est similaire à utiliser la commande php -l depuis la ligne de commande mise à part que php_check_syntax() exécutera (mais n'affichera rien) le fichier file_name vérifié.

Par exemple, si une fonction est définie dans file_name, cette fonction sera disponible pour le fichier qui exécute php_check_syntax(), mais l'affichage depuis file_name sera supprimée.

Note: Pour des raisons techniques, cette fonction est dépréciée et supprimée de PHP. Utilisez à la place php -l somefile.php depuis la ligne de commande.

Liste de paramètres

filename

Le nom du fichier à vérifier.

error_message

Si le paramètre error_message est utilisé, il contiendra le message d'erreur généré par la vérification de la syntaxe. error_message est passé par référence.

Valeurs de retour

Retourne TRUE si la vérification a réussie, et FALSE si la vérification échoue ou si le fichier file_name n'a pu être ouvert.

Historique

Version | Description
5.0.5 | Cette fonction a été supprimée de PHP.
5.0.3 | Appel à exit() après php_check_syntax() cause une erreur de segmentation.
5.0.1 | error_message est passé par référence.

Exemples

php -l somefile.php

L'exemple ci-dessus va afficher quelque chose de similaire à :

PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81

Voir aussi

  • include() - include
  • is_readable() - Indique si un fichier existe et est accessible en lecture

pack
php_strip_whitespace
Fonctions diverses


Retourne la source sans commentaires, ni espaces blancs

php_check_syntax
show_source
Fonctions diverses
PHP Manual

php_strip_whitespace

(PHP 5)

php_strip_whitespace — Retourne la source sans commentaires, ni espaces blancs

Description

string php_strip_whitespace ( string $filename )

Retourne le code source PHP du paramètre filename en ayant supprimé les commentaires ainsi que les espaces. Cela peut être utile pour comparer la quantité de code avec la quantité de commentaire dans votre code. Cela revient à utiliser la commande php -w depuis la ligne de commande.

Liste de paramètres

filename

Chemin vers le fichier PHP.

Valeurs de retour

Le code source nettoyé sera retourné en cas de succès ou une chaîne vide en cas d'échec.

Note: Cette fonction fonctionne comme décrite depuis PHP 5.0.1. Avant, elle ne retournait qu'une chaîne vide. Pour plus de détails concernant ce bogue ainsi que son comportement précédent, lisez le rapport de bogue » #29606.

Exemples

Exemple #1 Exemple avec php_strip_whitespace()

<?php
// Commentaire PHP ici

/*
 * Un autre commentaire PHP
 */

echo        php_strip_whitespace(__FILE__);
// Les nouvelles lignes sont considérées comme des espaces et sont donc également effacées :
do_nothing();
?>

L'exemple ci-dessus va afficher :

<?php
 echo php_strip_whitespace(__FILE__); do_nothing(); ?>

Notez que les commentaires PHP ne sont plus là, tout comme les espaces et les nouvelles lignes après le premier echo.

php_check_syntax
show_source
Fonctions diverses


Alias de highlight_file

php_strip_whitespace
sleep
Fonctions diverses
PHP Manual

show_source

(PHP 4, PHP 5)

show_source — Alias de highlight_file()

Description

Cette fonction est un alias de : highlight_file().

php_strip_whitespace
sleep
Fonctions diverses


Arrête l'exécution durant quelques secondes

show_source
sys_getloadavg
Fonctions diverses
PHP Manual

sleep

(PHP 4, PHP 5)

sleep — Arrête l'exécution durant quelques secondes

Description

int sleep ( int $seconds )

Arrête l'exécution du programme pendant seconds secondes.

Liste de paramètres

seconds

Le retard, en nombre de secondes.

Valeurs de retour

Retourne zéro en cas de succès, ou FALSE si une erreur survient. Si l'appel est interrompu par un signal, la fonction sleep() retournera le nombre de secondes restantes.

Erreurs / Exceptions

Si le nombre seconds spécifié est négatif, cette fonction génère une alerte de niveau E_WARNING.

Exemples

Exemple #1 Exemple avec sleep()

<?php

// Heure actuelle
echo date('h:i:s') . "\n";

// Stoppe pour 10 secondes
sleep(10);

// retour !
echo date('h:i:s') . "\n";

?>

Cet exemple affichera (après 10 secondes) :

05:31:23
05:31:33

Voir aussi

  • usleep() - Arrête l'exécution durant quelques microsecondes
  • time_nanosleep() - Attendre pendant un nombre de secondes et de nanosecondes
  • time_sleep_until() - Arrête le script pendant une durée spécifiée
  • set_time_limit() - Fixe le temps maximum d'exécution d'un script

show_source
sys_getloadavg
Fonctions diverses


Récupère la charge moyenne du système

sleep
time_nanosleep
Fonctions diverses
PHP Manual

sys_getloadavg

(PHP 5 >= 5.1.3)

sys_getloadavg — Récupère la charge moyenne du système

Description

array sys_getloadavg ( void )

Retourne trois échantillons représentant la charge moyenne du système (le nombre de processus dans le système qui est dans le processus de roulement en attente) depuis les dernières 1, 5 et 16 minutes, respectivement.

Valeurs de retour

Retourne un array avec trois échantillons (dernières 1, 5 et 15 minutes).

Exemples

Exemple #1 Exemple avec sys_getloadavg()

<?php
$load = sys_getloadavg();
if ($load[0] > 80) {
    header('HTTP/1.1 503 Too busy, try again later');
    die('Server too busy. Please try again later.');
}
?>

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

sleep
time_nanosleep
Fonctions diverses


Attendre pendant un nombre de secondes et de nanosecondes

sys_getloadavg
time_sleep_until
Fonctions diverses
PHP Manual

time_nanosleep

(PHP 5)

time_nanosleep — Attendre pendant un nombre de secondes et de nanosecondes

Description

mixed time_nanosleep ( int $seconds , int $nanoseconds )

time_nanosleep impose un délai d'exécution de seconds secondes et nanoseconds nanosecondes.

Liste de paramètres

seconds

Doit être un entier positif.

nanoseconds

Doit être un entier positif, inférieur à 1 milliard.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Si le délai est interrompu par un signal, un tableau associatif sera retourné avec les éléments :

  • seconds : nombre de secondes restantes dans le délai
  • nanoseconds : nombre de nanosecondes restantes dans le délai

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.

Exemples

Exemple #1 Exemple avec time_nanosleep()

<?php
// Attention ! Cela ne fonctionnera pas comme prévu si un tableau est retourné
if (time_nanosleep(0, 500000000)) {
    echo "Dors pendant une demie seconde.\n";
}

// Ceci est meilleur :
if (time_nanosleep(0, 500000000) === true) {
    echo "Dors pendant une demie seconde.\n";
}

// Et ceci est la meilleur façon :
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Dors pendant 2 secondes et 100 microsecondes.\n";
} elseif ($nano === false) {
    echo "Le délai a échoué.\n";
} elseif (is_array($nano)) {
    $seconds = $nano['seconds'];
    $nanoseconds = $nano['nanoseconds'];
    echo "Interrompu par un signal.\n";
    echo "Temps restant : $seconds secondes, $nanoseconds nanosecondes.";
}
?>

Voir aussi

  • sleep() - Arrête l'exécution durant quelques secondes
  • usleep() - Arrête l'exécution durant quelques microsecondes
  • time_sleep_until() - Arrête le script pendant une durée spécifiée
  • set_time_limit() - Fixe le temps maximum d'exécution d'un script

sys_getloadavg
time_sleep_until
Fonctions diverses


Arrête le script pendant une durée spécifiée

time_nanosleep
uniqid
Fonctions diverses
PHP Manual

time_sleep_until

(PHP 5 >= 5.1.0)

time_sleep_until — Arrête le script pendant une durée spécifiée

Description

bool time_sleep_until ( float $timestamp )

Arrête le script jusqu'à l'instant indiqué par le paramètre timestamp.

Liste de paramètres

timestamp

Le timestamp correspondant à la durée de la pause.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.

Erreurs / Exceptions

Si la durée timestamp est dans le passé, time_sleep_until() générera une alerte de niveau E_WARNING.

Exemples

Exemple #1 Exemple avec time_sleep_until()

<?php

// Retourne false et génère une alerte
var_dump(time_sleep_until(time()-1));

// Fonctionnera que sur les ordinateurs rapides, stoppera le script 0.2 secondes
var_dump(time_sleep_until(microtime(true)+0.2));

?>

Notes

Note: Tous les signaux seront délivrés une fois la reprise du script.

Note: Cette fonction n'est pas implémentée sous Windows.

Voir aussi

  • sleep() - Arrête l'exécution durant quelques secondes
  • usleep() - Arrête l'exécution durant quelques microsecondes
  • time_nanosleep() - Attendre pendant un nombre de secondes et de nanosecondes
  • set_time_limit() - Fixe le temps maximum d'exécution d'un script

time_nanosleep
uniqid
Fonctions diverses


Génère un identifiant unique

time_sleep_until
unpack
Fonctions diverses
PHP Manual

uniqid

(PHP 4, PHP 5)

uniqid — Génère un identifiant unique

Description

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )

Génère un identifiant unique basé sur la date et heure courante en microsecondes.

Liste de paramètres

prefix

Peut être utile pour identifier facilement différents hôtes, si vous générez simultanément des fichiers depuis plusieurs hôtes, à la même microseconde.

Sans prefix (préfixe vide), la chaîne retournée fera 13 caractères. Si more_entropy est à TRUE, elle fera 23 caractères.

more_entropy

Si le paramètre optionnel more_entropy est TRUE, uniqid() ajoutera une entropie "combined LCG" à la fin de la valeur retournée, ce qui renforcera encore l'unicité de l'identifiant.

Valeurs de retour

Retourne un identifiant unique, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec uniqid()

<?php
/* Un identifiant unique, comme : 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());

/* Nous pouvez également préfixé l'identifiant unique,
 * ce qui revient à :
 *
 * $uniqid = $prefix . uniqid();
 * $uniqid = uniqid($prefix);
 */
printf("uniqid('php_'): %s\r\n", uniqid('php_'));

/* Nous pouvons aussi activer le paramètre more_entropy,
 * requis par quelques systèmes, comme Cygwin. Ceci fera que
 * uniqid() produira une valeur comme : 4b340550242239.64159797
 */
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>

Historique

Version | Description
5.0.0 | Le paramètre prefix est devenu optionnel.
4.3.1 | La limite de 114 caractères de long pour le paramètre prefix a été augmentée.

Notes

Note: Sous Cygwin, le paramètre more_entropy doit prendre la valeur TRUE pour cette fonction.

time_sleep_until
unpack
Fonctions diverses


Déconditionne des données depuis une chaîne binaire

uniqid
usleep
Fonctions diverses
PHP Manual

unpack

(PHP 4, PHP 5)

unpack — Déconditionne des données depuis une chaîne binaire

Description

array unpack ( string $format , string $data )

Déconditionne les données data depuis une chaîne binaire avec le format format.

unpack() se comporte légèrement différemment de la version Perl car les données déconditionnées sont stockées dans un tableau. Pour cela, il faut donner un nom à chaque format utilisé et les séparer par des slash (/).

Liste de paramètres

format

Voir la fonction pack() pour une explication des codes de format.

data

Les données conditionnées.

Valeurs de retour

Retourne un tableau associatif contenant les éléments déconditionnés d'une chaîne binaire.

Exemples

Exemple #1 Exemple avec unpack()

<?php
$array = unpack("c2chars/nint", $binarydata);
?>

Le tableau résultant contiendra les entrées suivantes : "chars1", "chars2" et "int".

Notes

Attention

Il faut noter que PHP gère les valeurs en interne sous forme signée. Si vous déconditionnez une valeur qui est aussi grande que la taille utilisée en interne par PHP, le résultat se trouvera être un nombre négatif, même s'il a été déconditionné avec l'option " non signé ".

Voir aussi

  • pack() - Compacte des données dans une chaîne binaire

uniqid
usleep
Fonctions diverses


Arrête l'exécution durant quelques microsecondes

unpack
Parsekit
Fonctions diverses
PHP Manual

usleep

(PHP 4, PHP 5)

usleep — Arrête l'exécution durant quelques microsecondes

Description

void usleep ( int $micro_seconds )

Arrête l'exécution d'un programme durant un laps de temps.

Liste de paramètres

micro_seconds

Durée de l'arrêt, en microsecondes. Une microseconde est un millionième de seconde.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
5.0.0 | Cette fonction fonctionne désormais sur les systèmes Windows.

Exemples

Exemple #1 Exemple avec usleep()

<?php

// Heure courante
echo date('h:i:s') . "\n";

// Stoppe pour 2 secondes
usleep(2000000);

// Retour !
echo date('h:i:s') . "\n";

?>

L'exemple ci-dessus va afficher :

11:13:28
11:13:30

Voir aussi

  • sleep() - Arrête l'exécution durant quelques secondes
  • time_nanosleep() - Attendre pendant un nombre de secondes et de nanosecondes
  • time_sleep_until() - Arrête le script pendant une durée spécifiée
  • set_time_limit() - Fixe le temps maximum d'exécution d'un script

unpack
Parsekit
Fonctions diverses


Parsekit

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Parsekit
    • parsekit_compile_file — Compile un fichier de code PHP et retourne le tableau d'opcode résultant
    • parsekit_compile_string — Compile une chaîne de code PHP et retourne le tableau d'opcode résultant
    • parsekit_func_arginfo — Retourne des informations concernant les arguments d'une fonction
usleep
Introduction
Autres extensions basiques


Introduction

Ces fonctions vous permettent d'analyser en cours de fonctionnement l'opcode compilé depuis vos scripts PHP.

Parsekit
Installation/Configuration
Parsekit


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Parsekit


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/parsekit.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

PARSEKIT_QUIET (entier)
Retourne tous les détails mais sans les entrées NULL non nécessaire.
PARSEKIT_SIMPLE (entier)
Retourne une notation opcode abrégée.
PARSEKIT_EXTENDED_VALUE (entier)
Flag d'un noeud opcode
PARSEKIT_RESULT_CONST (entier)
Flag d'un noeud opcode
PARSEKIT_RESULT_EA_TYPE (entier)
Flag d'un noeud opcode
PARSEKIT_RESULT_JMP_ADDR (entier)
Flag d'un noeud opcode
PARSEKIT_RESULT_OPARRAY (entier)
Flag d'un noeud opcode
PARSEKIT_RESULT_OPLINE (entier)
Flag d'un noeud opcode
PARSEKIT_RESULT_VAR (entier)
Flag d'un noeud opcode
PARSEKIT_USAGE_UNKNOWN (entier)
Flag d'un noeud opcode
PARSEKIT_ZEND_INTERNAL_CLASS (entier)
Type de la classe
PARSEKIT_ZEND_USER_CLASS (entier)
Type de la classe
PARSEKIT_ZEND_EVAL_CODE (entier)
Type de la fonction
PARSEKIT_ZEND_INTERNAL_FUNCTION (entier)
Type de la fonction
PARSEKIT_ZEND_OVERLOADED_FUNCTION (entier)
Type de la fonction
PARSEKIT_ZEND_OVERLOADED_FUNCTION_TEMPORARY (entier) PHP >= 5.0.0
Type de la fonction
PARSEKIT_ZEND_USER_FUNCTION (entier)
Type de la fonction
PARSEKIT_IS_CONST (entier)
Type du noeud
PARSEKIT_IS_TMP_VAR (entier)
Type du noeud
PARSEKIT_IS_UNUSED (entier)
Type du noeud
PARSEKIT_IS_VAR (entier)
Type du noeud
PARSEKIT_ZEND_ADD (entier)
Opcode
PARSEKIT_ZEND_ADD_ARRAY_ELEMENT (entier)
Opcode
PARSEKIT_ZEND_ADD_CHAR (entier)
Opcode
PARSEKIT_ZEND_ADD_INTERFACE (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ADD_STRING (entier)
Opcode
PARSEKIT_ZEND_ADD_VAR (entier)
Opcode
PARSEKIT_ZEND_ASSIGN (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_ADD (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_AND (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_OR (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_XOR (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_CONCAT (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_DIM (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_DIV (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_MOD (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_MUL (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_REF (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_SL (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_SR (entier)
Opcode
PARSEKIT_ZEND_ASSIGN_SUB (entier)
Opcode
PARSEKIT_ZEND_BEGIN_SILENCE (entier)
Opcode
PARSEKIT_ZEND_BOOL (entier)
Opcode
PARSEKIT_ZEND_BOOL_NOT (entier)
Opcode
PARSEKIT_ZEND_BOOL_XOR (entier)
Opcode
PARSEKIT_ZEND_BRK (entier)
Opcode
PARSEKIT_ZEND_BW_AND (entier)
Opcode
PARSEKIT_ZEND_BW_NOT (entier)
Opcode
PARSEKIT_ZEND_BW_OR (entier)
Opcode
PARSEKIT_ZEND_BW_XOR (entier)
Opcode
PARSEKIT_ZEND_CASE (entier)
Opcode
PARSEKIT_ZEND_CAST (entier)
Opcode
PARSEKIT_ZEND_CATCH (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CLONE (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CONCAT (entier)
Opcode
PARSEKIT_ZEND_CONT (entier)
Opcode
PARSEKIT_ZEND_DECLARE_CLASS (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_FUNCTION (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_INHERITED_CLASS (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DIV (entier)
Opcode
PARSEKIT_ZEND_DO_FCALL (entier)
Opcode
PARSEKIT_ZEND_DO_FCALL_BY_NAME (entier)
Opcode
PARSEKIT_ZEND_ECHO (entier)
Opcode
PARSEKIT_ZEND_END_SILENCE (entier)
Opcode
PARSEKIT_ZEND_EXIT (entier)
Opcode
PARSEKIT_ZEND_EXT_FCALL_BEGIN (entier)
Opcode
PARSEKIT_ZEND_EXT_FCALL_END (entier)
Opcode
PARSEKIT_ZEND_EXT_NOP (entier)
Opcode
PARSEKIT_ZEND_EXT_STMT (entier)
Opcode
PARSEKIT_ZEND_FETCH_CLASS (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_FETCH_CONSTANT (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_FUNC_ARG (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_IS (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_R (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_RW (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_TMP_VAR (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_UNSET (entier)
Opcode
PARSEKIT_ZEND_FETCH_DIM_W (entier)
Opcode
PARSEKIT_ZEND_FETCH_FUNC_ARG (entier)
Opcode
PARSEKIT_ZEND_FETCH_IS (entier)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_FUNC_ARG (entier)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_IS (entier)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_R (entier)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_RW (entier)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_UNSET (entier)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_W (entier)
Opcode
PARSEKIT_ZEND_FETCH_R (entier)
Opcode
PARSEKIT_ZEND_FETCH_RW (entier)
Opcode
PARSEKIT_ZEND_FETCH_UNSET (entier)
Opcode
PARSEKIT_ZEND_FETCH_W (entier)
Opcode
PARSEKIT_ZEND_FE_FETCH (entier)
Opcode
PARSEKIT_ZEND_FE_RESET (entier)
Opcode
PARSEKIT_ZEND_FREE (entier)
Opcode
PARSEKIT_ZEND_HANDLE_EXCEPTION (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CLASS (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CONST (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_FUNCTION (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INCLUDE_OR_EVAL (entier)
Opcode
PARSEKIT_ZEND_INIT_ARRAY (entier)
Opcode
PARSEKIT_ZEND_INIT_CTOR_CALL (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_FCALL_BY_NAME (entier)
Opcode
PARSEKIT_ZEND_INIT_METHOD_CALL (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STATIC_METHOD_CALL (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STRING (entier)
Opcode
PARSEKIT_ZEND_INSTANCEOF (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY (entier) PHP < 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_DIM_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_PROP_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_VAR (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IS_EQUAL (entier)
Opcode
PARSEKIT_ZEND_IS_IDENTICAL (entier)
Opcode
PARSEKIT_ZEND_IS_NOT_EQUAL (entier)
Opcode
PARSEKIT_ZEND_IS_NOT_IDENTICAL (entier)
Opcode
PARSEKIT_ZEND_IS_SMALLER (entier)
Opcode
PARSEKIT_ZEND_IS_SMALLER_OR_EQUAL (entier)
Opcode
PARSEKIT_ZEND_JMP (entier)
Opcode
PARSEKIT_ZEND_JMPNZ (entier)
Opcode
PARSEKIT_ZEND_JMPNZ_EX (entier)
Opcode
PARSEKIT_ZEND_JMPZ (entier)
Opcode
PARSEKIT_ZEND_JMPZNZ (entier)
Opcode
PARSEKIT_ZEND_JMPZ_EX (entier)
Opcode
PARSEKIT_ZEND_JMP_NO_CTOR (entier)
Opcode
PARSEKIT_ZEND_MOD (entier)
Opcode
PARSEKIT_ZEND_MUL (entier)
Opcode
PARSEKIT_ZEND_NEW (entier)
Opcode
PARSEKIT_ZEND_NOP (entier)
Opcode
PARSEKIT_ZEND_OP_DATA (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_DEC (entier)
Opcode
PARSEKIT_ZEND_POST_DEC_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_INC (entier)
Opcode
PARSEKIT_ZEND_POST_INC_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_DEC (entier)
Opcode
PARSEKIT_ZEND_PRE_DEC_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_INC (entier)
Opcode
PARSEKIT_ZEND_PRE_INC_OBJ (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRINT (entier)
Opcode
PARSEKIT_ZEND_QM_ASSIGN (entier)
Opcode
PARSEKIT_ZEND_RAISE_ABSTRACT_ERROR (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_RECV (entier)
Opcode
PARSEKIT_ZEND_RECV_INIT (entier)
Opcode
PARSEKIT_ZEND_RETURN (entier)
Opcode
PARSEKIT_ZEND_SEND_REF (entier)
Opcode
PARSEKIT_ZEND_SEND_VAL (entier)
Opcode
PARSEKIT_ZEND_SEND_VAR (entier)
Opcode
PARSEKIT_ZEND_SEND_VAR_NO_REF (entier)
Opcode
PARSEKIT_ZEND_SL (entier)
Opcode
PARSEKIT_ZEND_SR (entier)
Opcode
PARSEKIT_ZEND_SUB (entier)
Opcode
PARSEKIT_ZEND_SWITCH_FREE (entier)
Opcode
PARSEKIT_ZEND_THROW (entier) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_TICKS (entier)
Opcode
PARSEKIT_ZEND_UNSET_DIM_OBJ (entier)
Opcode
PARSEKIT_ZEND_UNSET_VAR (entier)
Opcode
PARSEKIT_ZEND_VERIFY_ABSTRACT_CLASS (entier) PHP >= 5.0.0
Opcode

Types de ressources
Fonctions Parsekit
Parsekit


Fonctions Parsekit

Sommaire

  • parsekit_compile_file — Compile un fichier de code PHP et retourne le tableau d'opcode résultant
  • parsekit_compile_string — Compile une chaîne de code PHP et retourne le tableau d'opcode résultant
  • parsekit_func_arginfo — Retourne des informations concernant les arguments d'une fonction
Constantes pré-définies
parsekit_compile_file
Parsekit


Compile un fichier de code PHP et retourne le tableau d'opcode résultant

Fonctions Parsekit
parsekit_compile_string
Fonctions Parsekit
PHP Manual

parsekit_compile_file

(PECL parsekit >= 0.2.0)

parsekit_compile_file — Compile un fichier de code PHP et retourne le tableau d'opcode résultant

Description

array parsekit_compile_file ( string $filename [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

filename

Une chaîne contenant le nom du fichier à compiler. Similaire à l'argument de include().

&errors

Un hash 2D des erreurs (incluant les erreurs fatales) rencontrées pendant la compilation. Retourné par référence.

options

Soit PARSEKIT_QUIET, soit PARSEKIT_SIMPLE. Pour produire plusieurs degrés de retour dans la chaîne retournée.

Valeurs de retour

Retourne un tableau complexe multidimensionnel, structuré comme ci-dessous.

Exemples

Exemple #1 Exemple avec parsekit_compile_file()

<?php
var_dump(parsekit_compile_file('bonjour_le_monde.php', $errors, PARSEKIT_SIMPLE));
?>

L'exemple ci-dessus va afficher :

array(5) {
  [0]=>
  string(37) "ZEND_ECHO UNUSED 'Bonjour le monde' UNUSED"
  [1]=>
  string(30) "ZEND_RETURN UNUSED NULL UNUSED"
  [2]=>
  string(42) "ZEND_HANDLE_EXCEPTION UNUSED UNUSED UNUSED"
  ["function_table"]=>
  NULL
  ["class_table"]=>
  NULL
}

Voir aussi

  • parsekit_compile_string() - Compile une chaîne de code PHP et retourne le tableau d'opcode résultant

Fonctions Parsekit
parsekit_compile_string
Fonctions Parsekit


Compile une chaîne de code PHP et retourne le tableau d'opcode résultant

parsekit_compile_file
parsekit_func_arginfo
Fonctions Parsekit
PHP Manual

parsekit_compile_string

(PECL parsekit >= 0.2.0)

parsekit_compile_string — Compile une chaîne de code PHP et retourne le tableau d'opcode résultant

Description

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options = PARSEKIT_QUIET ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

phpcode

Une chaîne contenant du code PHP. Similaire à l'argument de eval().

&errors

Un hash 2D des erreurs (incluant les erreurs fatales) rencontrées pendant la compilation. Retourné par référence.

options

Soit PARSEKIT_QUIET, soit PARSEKIT_SIMPLE. Pour produire plusieurs degrés de retour dans la chaîne retournée.

Valeurs de retour

Retourne un tableau complexe multidimensionnel, structuré comme ci-dessous.

Exemples

Exemple #1 Exemple avec parsekit_compile_string()

<?php
  $ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);

  var_dump($ops);
?>

L'exemple ci-dessus va afficher :

array(20) {
  ["type"]=>
  int(4)
  ["type_name"]=>
  string(14) "ZEND_EVAL_CODE"
  ["fn_flags"]=>
  int(0)
  ["num_args"]=>
  int(0)
  ["required_num_args"]=>
  int(0)
  ["pass_rest_by_reference"]=>
  bool(false)
  ["uses_this"]=>
  bool(false)
  ["line_start"]=>
  int(0)
  ["line_end"]=>
  int(0)
  ["return_reference"]=>
  bool(false)
  ["refcount"]=>
  int(1)
  ["last"]=>
  int(3)
  ["size"]=>
  int(3)
  ["T"]=>
  int(0)
  ["last_brk_cont"]=>
  int(0)
  ["current_brk_cont"]=>
  int(-1)
  ["backpatch_count"]=>
  int(0)
  ["done_pass_two"]=>
  bool(true)
  ["filename"]=>
  string(17) "Parsekit Compiler"
  ["opcodes"]=>
  array(3) {
    [8594800]=>
    array(5) {
      ["opcode"]=>
      int(40)
      ["opcode_name"]=>
      string(9) "ZEND_ECHO"
      ["flags"]=>
      int(768)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &string(4) "Foo
"
      }
      ["lineno"]=>
      int(2)
    }
    ["859484C"]=>
    array(6) {
      ["opcode"]=>
      int(62)
      ["opcode_name"]=>
      string(11) "ZEND_RETURN"
      ["flags"]=>
      int(16777984)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &NULL
      }
      ["extended_value"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
    [8594898]=>
    array(4) {
      ["opcode"]=>
      int(149)
      ["opcode_name"]=>
      string(21) "ZEND_HANDLE_EXCEPTION"
      ["flags"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
  }
}

Voir aussi

  • parsekit_compile_file() - Compile un fichier de code PHP et retourne le tableau d'opcode résultant

parsekit_compile_file
parsekit_func_arginfo
Fonctions Parsekit


Retourne des informations concernant les arguments d'une fonction

parsekit_compile_string
SPL
Fonctions Parsekit
PHP Manual

parsekit_func_arginfo

(PECL parsekit >= 0.3.0)

parsekit_func_arginfo — Retourne des informations concernant les arguments d'une fonction

Description

array parsekit_func_arginfo ( mixed $function )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

function

Une chaîne décrivant une fonction ou un tableau décrivant une classe/méthode.

Valeurs de retour

Retourne un tableau contenant les informations sur les arguments.

Exemples

Exemple #1 Exemple avec parsekit_func_arginfo()

<?php
function foo($bar, stdClass $baz, &$bomb, $bling = false) {
}

var_dump(parsekit_func_arginfo('foo'));
?>

L'exemple ci-dessus va afficher :

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(3) "bar"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(3) "baz"
    ["class_name"]=>
    string(8) "stdClass"
    ["allow_null"]=>
    bool(false)
    ["pass_by_reference"]=>
    bool(false)
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(4) "bomb"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(true)
  }
  [3]=>
  array(3) {
    ["name"]=>
    string(5) "bling"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
}

parsekit_compile_string
SPL
Fonctions Parsekit


Bibliothèque standard PHP (SPL)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Structures des données
    • SplDoublyLinkedList — La classe SplDoublyLinkedList
    • SplStack — La classe SplStack
    • SplQueue — La classe SplQueue
    • SplHeap — La classe SplHeap
    • SplMaxHeap — La classe SplMaxHeap
    • SplMinHeap — La classe SplMinHeap
    • SplPriorityQueue — La classe SplPriorityQueue
    • SplFixedArray — La classe SplFixedArray
    • SplObjectStorage — La classe SplObjectStorage
  • Itérateurs
    • AppendIterator — La classe AppendIterator
    • ArrayIterator — La classe ArrayIterator
    • CachingIterator — La classe CachingIterator
    • DirectoryIterator — La classe DirectoryIterator
    • EmptyIterator — La classe EmptyIterator
    • FilesystemIterator — La classe FilesystemIterator
    • FilterIterator — La classe FilterIterator
    • GlobIterator — La classe GlobIterator
    • InfiniteIterator — La classe InfiniteIterator
    • IteratorIterator — La classe IteratorIterator
    • LimitIterator — La classe LimitIterator
    • MultipleIterator — La classe MultipleIterator
    • NoRewindIterator — La classe NoRewindIterator
    • ParentIterator — La classe ParentIterator
    • RecursiveArrayIterator — La classe RecursiveArrayIterator
    • RecursiveCachingIterator — La classe RecursiveCachingIterator
    • RecursiveDirectoryIterator — La classe RecursiveDirectoryIterator
    • RecursiveFilterIterator — La classe RecursiveFilterIterator
    • RecursiveIteratorIterator — La classe RecursiveIteratorIterator
    • RecursiveRegexIterator — La classe RecursiveRegexIterator
    • RecursiveTreeIterator — La classe RecursiveTreeIterator
    • La classe RegexIterator
    • SimpleXMLIterator — La classe SimpleXMLIterator
  • Interfaces
    • Countable — L'interface Countable
    • OuterIterator — L'interface OuterIterator
    • RecursiveIterator — La classe RecursiveIterator
    • SeekableIterator — L'interface SeekableIterator
  • Exceptions
    • BadFunctionCallException — La classe BadFunctionCallException
    • BadMethodCallException — La classe BadMethodCallException
    • DomainException — La classe DomainException
    • InvalidArgumentException — La classe InvalidArgumentException
    • LengthException — La classe LengthException
    • LogicException — La classe LogicException
    • OutOfBoundsException — La classe OutOfBoundsException
    • OutOfRangeException — La classe OutOfRangeException
    • OverflowException — La classe OverflowException
    • RangeException — La classe RangeException
    • RuntimeException — La classe RuntimeException
    • UnderflowException — La classe UnderflowException
    • UnexpectedValueException — La classe UnexpectedValueException
  • Fonctions SPL
    • class_implements — Retourne les interfaces implémentées par une classe donnée
    • class_parents — Retourne la classe parente d'une classe
    • iterator_apply — Appelle une fonction pour tous les éléments d'un itérateur
    • iterator_count — Compte de nombre d'éléments dans un itérateur
    • iterator_to_array — Copie un itérateur dans un tableau
    • spl_autoload_call — Essai toutes les fonctions __autoload() enregistrées pour charger la classe demandée
    • spl_autoload_extensions — Enregistre et retourne l'extension du fichier par défaut pour spl_autoload
    • spl_autoload_functions — Retourne toutes les fonctions __autoload() enregistrées
    • spl_autoload_register — Enregistre une fonction comme __autoload()
    • spl_autoload_unregister — Efface d'une fonction donnée de l'implémentation __autoload()
    • spl_autoload — Implémentation par défaut d'__autoload()
    • spl_classes — Retourne les classes SPL disponibles
    • spl_object_hash — Retourne l'identifiant de hashage pour un objet donné
  • Gestion des fichiers
    • SplFileInfo — La classe SplFileInfo
    • SplFileObject — La classe SplFileObject
    • SplTempFileObject — La classe SplTempFileObject
  • Classes et interfaces diverses
    • ArrayObject — La classe ArrayObject
    • SplObserver — L'interface SplObserver
    • SplSubject — L'interface SplSubject
parsekit_func_arginfo
Introduction
Autres extensions basiques


Introduction

SPL est une collection d'interfaces et de classes qui ont été créée afin de résoudre les problèmes standards.

Note: La documentation historique au format "doxygen" est disponible » ici.

SPL
Installation/Configuration
SPL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SPL


Installation

Cette extension est disponible et compilée par défaut depuis PHP 5.0.0.

Note: Depuis PHP 5.3.0, cette extension ne peut être désactivé et est donc, toujours disponible.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Avertissement

SPL utilise des constantes de classe depuis PHP 5.1. Les versions antérieures utilisaient des constantes globales sous la forme RIT_LEAVES_ONLY.

RecursiveIteratorIterator::LEAVES_ONLY (entier)
RecursiveIteratorIterator::SELF_FIRST (entier)
RecursiveIteratorIterator::CHILD_FIRST (entier)
CachingIterator::CALL_TOSTRING (entier)
CachingIterator::CATCH_GET_CHILD (entier)
Types de ressources
Structures des données
SPL


Structures des données

Sommaire

  • SplDoublyLinkedList
  • SplStack
  • SplQueue
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplFixedArray
  • SplObjectStorage

SPL fournit un jeu de structures de données standard. Elles sont regroupées ici par implémentation, ce qui définit généralement leur champ d'application.

Liste doublement chaînées

Une liste doublement chaînée (Doubly Linked List ou DLL) est une liste de noeud liés dans les deux sens aux autres noeuds. Les opérations d'itérateurs peuvent se faire dans les deux sens, en addition ou en suppression, avec un coût de O(1) lorsque la structure sous-jacente est une DLL. Elle fournit également un support pratique pour les piles et les queues.

  • SplDoublyLinkedList
    • SplStack
    • SplQueue

piles

Les piles sont des structures de type arbre, qui suivent une propriété caractéristique des piles : chaque noeud est plus grand ou égal que ses enfants, lorsqu'on les compare avec la méthode implémentée de comparaison, qui est globale à la pile.

  • SplHeap
    • SplMaxHeap
    • SplMinHeap
  • SplPriorityQueue

Tableaux

Les Array sont des structures qui stockent les données d'une manière continue, et accessible via des index. Ne les confondez pas avec les tableau de PHP : ces tableaux sont implémentés comme des tables de hashage ordonnées.

  • SplFixedArray

Carte (Map)

Une carte est une structure de données qui stocke des paire clé/valeur. Les tableaux PHP peuvent très bien servir de cartes entre des chaînes ou entiers et des valeurs. SPL fournit un objet de type carte pour les données. Cette carte peut aussi servir d'ensemble d'objets.

  • SplObjectStorage
Constantes pré-définies
SplDoublyLinkedList
SPL


La classe SplDoublyLinkedList

Introduction

La classe SplDoublyLinkedList fournit l'interface principale pour les listes doublement chaînées.

Synopsis de la classe

SplDoublyLinkedList
SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Méthodes */
__construct ( void )
mixed bottom ( void )
int count ( void )
mixed current ( void )
int getIteratorMode ( void )
bool isEmpty ( void )
mixed key ( void )
void next ( void )
bool offsetExists ( mixed $index )
mixed offsetGet ( mixed $index )
void offsetSet ( mixed $index , mixed $newval )
void offsetUnset ( mixed $index )
mixed pop ( void )
void prev ( void )
void push ( mixed $value )
void rewind ( void )
void setIteratorMode ( int $mode )
mixed shift ( void )
mixed top ( void )
void unshift ( mixed $value )
bool valid ( void )
}

Sommaire

  • SplDoublyLinkedList::bottom — Le noeud parent à partir duquel la liste découle
  • SplDoublyLinkedList::__construct — Construit une nouvelle liste
  • SplDoublyLinkedList::count — Compte le nombre d'éléments de la liste
  • SplDoublyLinkedList::current — Retourne l'entrée courante du tableau
  • SplDoublyLinkedList::getIteratorMode — Retourne le mode de l'itérateur
  • SplDoublyLinkedList::isEmpty — Vérifie si la liste est vide
  • SplDoublyLinkedList::key — Retourne l'index du noeud courant
  • SplDoublyLinkedList::next — Se déplace à l'entrée suivante
  • SplDoublyLinkedList::offsetExists — Vérifie si un index existe
  • SplDoublyLinkedList::offsetGet — Retourne la valeur d'un index
  • SplDoublyLinkedList::offsetSet — Spécifie la nouvelle valeur de l'index
  • SplDoublyLinkedList::offsetUnset — Efface la valeur d'un index
  • SplDoublyLinkedList::pop — Ajoute un noeud à la fin de la liste
  • SplDoublyLinkedList::prev — Recule d'un élément
  • SplDoublyLinkedList::push — Ajoute un élément à la fin de la liste
  • SplDoublyLinkedList::rewind — Replace l'itérateur au début
  • SplDoublyLinkedList::setIteratorMode — Définit le mode d'itération
  • SplDoublyLinkedList::shift — Déplace un noeud de la liste
  • SplDoublyLinkedList::top — Récupère le dernier noeud de la liste
  • SplDoublyLinkedList::unshift — Ajoute un élément à la liste
  • SplDoublyLinkedList::valid — Vérifie si la liste contient encore des noeuds
Structures des données
SplDoublyLinkedList::bottom
Structures des données


Le noeud parent à partir duquel la liste découle

SplDoublyLinkedList
SplDoublyLinkedList::__construct
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::bottom

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::bottom — Le noeud parent à partir duquel la liste découle

Description

mixed SplDoublyLinkedList::bottom ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du premier noeud.

SplDoublyLinkedList
SplDoublyLinkedList::__construct
SplDoublyLinkedList


Construit une nouvelle liste

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::__construct

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::__construct — Construit une nouvelle liste

Description

SplDoublyLinkedList::__construct ( void )

Construit une nouvelle liste.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplDoublyLinkedList::__construct()

<?php
$dll = new SplDoublyLinkedList();

$dll->push(2);
$dll->push(3);
$dll->unshift(5);

var_dump($dll);
?>

L'exemple ci-dessus va afficher :

object(SplDoublyLinkedList)#1 (2) {
  ["flags":"SplDoublyLinkedList":private]=>
  int(0)
  ["dllist":"SplDoublyLinkedList":private]=>
  array(3) {
    [0]=>
    int(5)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
}

SplDoublyLinkedList::bottom
SplDoublyLinkedList::count
SplDoublyLinkedList


Compte le nombre d'éléments de la liste

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::count

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::count — Compte le nombre d'éléments de la liste

Description

int SplDoublyLinkedList::count ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre d'éléments de la liste.

SplDoublyLinkedList::__construct
SplDoublyLinkedList::current
SplDoublyLinkedList


Retourne l'entrée courante du tableau

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::current

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::current — Retourne l'entrée courante du tableau

Description

mixed SplDoublyLinkedList::current ( void )

Retourne l'entrée courante du tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du noeud courant.

SplDoublyLinkedList::count
SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList


Retourne le mode de l'itérateur

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::getIteratorMode

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::getIteratorMode — Retourne le mode de l'itérateur

Description

int SplDoublyLinkedList::getIteratorMode ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le mode et les drapeaux qui affectent l'itérateur.

SplDoublyLinkedList::current
SplDoublyLinkedList::isEmpty
SplDoublyLinkedList


Vérifie si la liste est vide

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::isEmpty

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::isEmpty — Vérifie si la liste est vide

Description

bool SplDoublyLinkedList::isEmpty ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne si la liste est vide, ou non.

SplDoublyLinkedList::getIteratorMode
SplDoublyLinkedList::key
SplDoublyLinkedList


Retourne l'index du noeud courant

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::key

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::key — Retourne l'index du noeud courant

Description

mixed SplDoublyLinkedList::key ( void )

Retourne l'index du noeud courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'index du noeud courant.

SplDoublyLinkedList::isEmpty
SplDoublyLinkedList::next
SplDoublyLinkedList


Se déplace à l'entrée suivante

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::next

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::next — Se déplace à l'entrée suivante

Description

void SplDoublyLinkedList::next ( void )

Se déplace à l'entrée suivante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::key
SplDoublyLinkedList::offsetExists
SplDoublyLinkedList


Vérifie si un index existe

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetExists

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetExists — Vérifie si un index existe

Description

bool SplDoublyLinkedList::offsetExists ( mixed $index )

Liste de paramètres

index

L'index à vérifier.

Valeurs de retour

TRUE si l'index existe, FALSE sinon.

SplDoublyLinkedList::next
SplDoublyLinkedList::offsetGet
SplDoublyLinkedList


Retourne la valeur d'un index

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetGet

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetGet — Retourne la valeur d'un index

Description

mixed SplDoublyLinkedList::offsetGet ( mixed $index )

Liste de paramètres

index

L'index désiré.

Valeurs de retour

La valeur de l'index.

SplDoublyLinkedList::offsetExists
SplDoublyLinkedList::offsetSet
SplDoublyLinkedList


Spécifie la nouvelle valeur de l'index

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetSet

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetSet — Spécifie la nouvelle valeur de l'index

Description

void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )

Définit la valeur de l'index à la valeur newval.

Liste de paramètres

index

L'index à définir.

newval

La nouvelle valeur pour l'index.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::offsetGet
SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList


Efface la valeur d'un index

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::offsetUnset

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::offsetUnset — Efface la valeur d'un index

Description

void SplDoublyLinkedList::offsetUnset ( mixed $index )

Efface la valeur d'un index.

Liste de paramètres

index

L'index à effacer.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::offsetSet
SplDoublyLinkedList::pop
SplDoublyLinkedList


Ajoute un noeud à la fin de la liste

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::pop

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::pop — Ajoute un noeud à la fin de la liste

Description

mixed SplDoublyLinkedList::pop ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du noeud ajouté.

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList


Recule d'un élément

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::prev

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::prev — Recule d'un élément

Description

void SplDoublyLinkedList::prev ( void )

Déplace l'itérateur à l'élément précédent.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList


Ajoute un élément à la fin de la liste

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::push

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::push — Ajoute un élément à la fin de la liste

Description

void SplDoublyLinkedList::push ( mixed $value )

Ajoute un élément à la fin de la liste.

Liste de paramètres

value

La valeur à ajouter.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::prev
SplDoublyLinkedList::rewind
SplDoublyLinkedList


Replace l'itérateur au début

SplDoublyLinkedList::push
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::rewind

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::rewind — Replace l'itérateur au début

Description

void SplDoublyLinkedList::rewind ( void )

Replace l'itérateur au début.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::push
SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList


Définit le mode d'itération

SplDoublyLinkedList::rewind
SplDoublyLinkedList::shift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::setIteratorMode

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::setIteratorMode — Définit le mode d'itération

Description

void SplDoublyLinkedList::setIteratorMode ( int $mode )

Liste de paramètres

mode

Il y a 2 jeux de modes que l'on peut définir :

  • La direction de l'itérateur :
    • SplDoublyLinkedList::IT_MODE_LIFO (pile)
    • SplDoublyLinkedList::IT_MODE_FIFO (file d'attente)
  • Le comportement de l'itérateur :
    • SplDoublyLinkedList::IT_MODE_DELETE (les éléments sont effacés par l'itérateur)
    • SplDoublyLinkedList::IT_MODE_KEEP (les éléments sont traversés par l'itérateur)

Le mode par défaut est : SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLnkedList::IT_MODE_KEEP

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::rewind
SplDoublyLinkedList::shift
SplDoublyLinkedList


Déplace un noeud de la liste

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::shift

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::shift — Déplace un noeud de la liste

Description

mixed SplDoublyLinkedList::shift ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du noeud déplacé.

SplDoublyLinkedList::setIteratorMode
SplDoublyLinkedList::top
SplDoublyLinkedList


Récupère le dernier noeud de la liste

SplDoublyLinkedList::shift
SplDoublyLinkedList::unshift
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::top

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::top — Récupère le dernier noeud de la liste

Description

mixed SplDoublyLinkedList::top ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du dernier noeud.

SplDoublyLinkedList::shift
SplDoublyLinkedList::unshift
SplDoublyLinkedList


Ajoute un élément à la liste

SplDoublyLinkedList::top
SplDoublyLinkedList::valid
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::unshift

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::unshift — Ajoute un élément à la liste

Description

void SplDoublyLinkedList::unshift ( mixed $value )

Ajoute un élément ayant pour valeur value au début de la liste.

Liste de paramètres

value

La valeur.

Valeurs de retour

Aucune valeur n'est retournée.

SplDoublyLinkedList::top
SplDoublyLinkedList::valid
SplDoublyLinkedList


Vérifie si la liste contient encore des noeuds

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::valid

(PHP 5 >= 5.3.0)

SplDoublyLinkedList::valid — Vérifie si la liste contient encore des noeuds

Description

bool SplDoublyLinkedList::valid ( void )

Vérifie si la liste contient encore des noeuds.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la liste contient encore des noeuds, FALSE sinon.

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList


La classe SplStack

Introduction

La classe SplStack fournit l'interface de base pour implémenter une pile, basée sur une liste doublement chaînée.

Synopsis de la classe

SplStack
SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Méthodes */
__construct ( void )
void setIteratorMode ( int $mode )
/* Méthodes héritées */
mixed SplDoublyLinkedList::bottom ( void )
int SplDoublyLinkedList::count ( void )
mixed SplDoublyLinkedList::current ( void )
int SplDoublyLinkedList::getIteratorMode ( void )
bool SplDoublyLinkedList::isEmpty ( void )
mixed SplDoublyLinkedList::key ( void )
void SplDoublyLinkedList::next ( void )
bool SplDoublyLinkedList::offsetExists ( mixed $index )
mixed SplDoublyLinkedList::offsetGet ( mixed $index )
void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
void SplDoublyLinkedList::offsetUnset ( mixed $index )
mixed SplDoublyLinkedList::pop ( void )
void SplDoublyLinkedList::prev ( void )
void SplDoublyLinkedList::push ( mixed $value )
void SplDoublyLinkedList::rewind ( void )
void SplDoublyLinkedList::setIteratorMode ( int $mode )
mixed SplDoublyLinkedList::shift ( void )
mixed SplDoublyLinkedList::top ( void )
void SplDoublyLinkedList::unshift ( mixed $value )
bool SplDoublyLinkedList::valid ( void )
}

Sommaire

  • SplStack::__construct — Construit une nouvelle pile, en utilisant une liste
  • SplStack::setIteratorMode — Définit le mode de l'itérateur
SplDoublyLinkedList::valid
SplStack::__construct
Structures des données


Construit une nouvelle pile, en utilisant une liste

SplStack
SplStack::setIteratorMode
SplStack
PHP Manual

SplStack::__construct

(PHP 5 >= 5.3.0)

SplStack::__construct — Construit une nouvelle pile, en utilisant une liste

Description

SplStack::__construct ( void )

Construit une nouvelle pile vide.

Note: Cette méthode définit automatiquement le mode de l'itérateur à SplDoublyLinkedList::IT_MODE_LIFO.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplStack::__construct()

<?php
$q = new SplStack();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

L'exemple ci-dessus va afficher :

3
2
1

SplStack
SplStack::setIteratorMode
SplStack


Définit le mode de l'itérateur

SplStack::__construct
SplQueue
SplStack
PHP Manual

SplStack::setIteratorMode

(PHP 5 >= 5.3.0)

SplStack::setIteratorMode — Définit le mode de l'itérateur

Description

void SplStack::setIteratorMode ( int $mode )

Liste de paramètres

mode

Il n'y a qu'un seul paramètre de l'itérateur que vous pouvez modifier.

  • Le comportement de l'itérateur :
    • SplDoublyLinkedList::IT_MODE_DELETE (Les éléments sont effacés par l'itérateur)
    • SplDoublyLinkedList::IT_MODE_KEEP (Les éléments sont traversés par l'itérateur)

Le mode par défaut est 0x2 : SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP

Avertissement

La direction de l'itérateur ne peut plus être modifiée pour SplStacks. Si vous tentez de le faire, une exception RuntimeException sera émise.

Valeurs de retour

Aucune valeur n'est retournée.

SplStack::__construct
SplQueue
SplStack


La classe SplQueue

Introduction

La classe SplQueue fournit l'interface d'implémentation d'une queue, basée sur une liste doublement chaînée.

Synopsis de la classe

SplQueue
SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Méthodes */
__construct ( void )
mixed dequeue ( void )
void enqueue ( mixed $value )
void setIteratorMode ( int $mode )
/* Méthodes héritées */
mixed SplDoublyLinkedList::bottom ( void )
int SplDoublyLinkedList::count ( void )
mixed SplDoublyLinkedList::current ( void )
int SplDoublyLinkedList::getIteratorMode ( void )
bool SplDoublyLinkedList::isEmpty ( void )
mixed SplDoublyLinkedList::key ( void )
void SplDoublyLinkedList::next ( void )
bool SplDoublyLinkedList::offsetExists ( mixed $index )
mixed SplDoublyLinkedList::offsetGet ( mixed $index )
void SplDoublyLinkedList::offsetSet ( mixed $index , mixed $newval )
void SplDoublyLinkedList::offsetUnset ( mixed $index )
mixed SplDoublyLinkedList::pop ( void )
void SplDoublyLinkedList::prev ( void )
void SplDoublyLinkedList::push ( mixed $value )
void SplDoublyLinkedList::rewind ( void )
void SplDoublyLinkedList::setIteratorMode ( int $mode )
mixed SplDoublyLinkedList::shift ( void )
mixed SplDoublyLinkedList::top ( void )
void SplDoublyLinkedList::unshift ( mixed $value )
bool SplDoublyLinkedList::valid ( void )
}

Sommaire

  • SplQueue::__construct — Construit une nouvelle file d'attente, en utilisant une liste
  • SplQueue::dequeue — Supprime un noeud de la file d'attente
  • SplQueue::enqueue — Ajoute un élément à la file d'attente
  • SplQueue::setIteratorMode — Définit le mode de l'itérateur
SplStack::setIteratorMode
SplQueue::__construct
Structures des données


Construit une nouvelle file d'attente, en utilisant une liste

SplQueue
SplQueue::dequeue
SplQueue
PHP Manual

SplQueue::__construct

(PHP 5 >= 5.3.0)

SplQueue::__construct — Construit une nouvelle file d'attente, en utilisant une liste

Description

SplQueue::__construct ( void )

Construit une nouvelle file d'attente vide.

Note: Cette méthode définit automatiquement le mode de l'itérateur à SplDoublyLinkedList::IT_MODE_FIFO.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplQueue::__construct()

<?php
$q = new SplQueue();

$q[] = 1;
$q[] = 2;
$q[] = 3;

foreach ($q as $elem)  {
 echo $elem."\n";
}
?>

L'exemple ci-dessus va afficher :

1
2
3

Exemple #2 Gestion des tâches avec SplQueue

<?php
$q = new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);

// ... on place quelques tâches dans la file d'attente ...

// On les traite
foreach ($q as $task) {
    // ... traitement de la tâche $task ...

    // Ajout d'une nouvelle tâche dans la file d'attente
    $q[] = $newTask;
    // ...
}
?>

SplQueue
SplQueue::dequeue
SplQueue


Supprime un noeud de la file d'attente

SplQueue::__construct
SplQueue::enqueue
SplQueue
PHP Manual

SplQueue::dequeue

(PHP 5 >= 5.3.0)

SplQueue::dequeue — Supprime un noeud de la file d'attente

Description

mixed SplQueue::dequeue ( void )

Supprime la valeur value du haut de la file d'attente.

Note: SplQueue::dequeue est un alias de SplDoublyLinkedList::shift.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du noeud supprimé.

SplQueue::__construct
SplQueue::enqueue
SplQueue


Ajoute un élément à la file d'attente

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue
PHP Manual

SplQueue::enqueue

(PHP 5 >= 5.3.0)

SplQueue::enqueue — Ajoute un élément à la file d'attente

Description

void SplQueue::enqueue ( mixed $value )

Ajoute la valeur value à la fin de la file d'attente.

Note: SplQueue::enqueue est un alias de SplDoublyLinkedList::push.

Liste de paramètres

value

La valeur à ajouter à la file d'attente.

Valeurs de retour

Aucune valeur n'est retournée.

SplQueue::dequeue
SplQueue::setIteratorMode
SplQueue


Définit le mode de l'itérateur

SplQueue::enqueue
SplHeap
SplQueue
PHP Manual

SplQueue::setIteratorMode

(PHP 5 >= 5.3.0)

SplQueue::setIteratorMode — Définit le mode de l'itérateur

Description

void SplQueue::setIteratorMode ( int $mode )

Liste de paramètres

mode

Il n'y a qu'un paramètre de l'itérateur que vous pouvez modifier.

  • Le comportement de l'itérateur (l'un ou l'autre) :
    • SplDoublyLinkedList::IT_MODE_DELETE (Les éléments sont effacés par l'itérateur)
    • SplDoublyLinkedList::IT_MODE_KEEP (Les éléments sont traversés par l'itérateur)

Le mode par défaut est : SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Avertissement

La direction de l'itérateur ne peut pas être modifiée pour les objets SplQueues : c'est toujours SplDoublyLinkedList::IT_MODE_FIFO.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une exception RuntimeException lors du changement de direction de l'itération avec la constante SplDoublyLinkedList::IT_MODE_LIFO.

SplQueue::enqueue
SplHeap
SplQueue


La classe SplHeap

Introduction

La classe SplHeap fournit l'interface pour une pile.

Synopsis de la classe

SplHeap
abstract SplHeap implements Iterator , Countable {
/* Méthodes */
__construct ( void )
abstract int compare ( mixed $value1 , mixed $value2 )
int count ( void )
mixed current ( void )
mixed extract ( void )
void insert ( mixed $value )
bool isEmpty ( void )
mixed key ( void )
void next ( void )
void recoverFromCorruption ( void )
void rewind ( void )
mixed top ( void )
bool valid ( void )
}

Sommaire

  • SplHeap::compare — Compare deux éléments
  • SplHeap::__construct — Construit un nouveau tas vide
  • SplHeap::count — Compte le nombre d'éléments dans le tas
  • SplHeap::current — Retourne le noeud courant, pointé par l'itérateur
  • SplHeap::extract — Extrait un noeud du haut du tas
  • SplHeap::insert — Insère un élément dans le tas
  • SplHeap::isEmpty — Vérifie si le tas est vide
  • SplHeap::key — Retourne l'index du noeud courant
  • SplHeap::next — Se déplace au noeud suivant
  • SplHeap::recoverFromCorruption — Répare un tas
  • SplHeap::rewind — Revient au début de l'itérateur
  • SplHeap::top — Récupère le premier noeud du tas
  • SplHeap::valid — Vérifie si le tas contient des noeuds
SplQueue::setIteratorMode
SplHeap::compare
Structures des données


Compare deux éléments

SplHeap
SplHeap::__construct
SplHeap
PHP Manual

SplHeap::compare

(PHP 5 >= 5.3.0)

SplHeap::compare — Compare deux éléments

Description

abstract int SplHeap::compare ( mixed $value1 , mixed $value2 )

Compare la valeur value1 et la valeur value2.

Avertissement

L'envoi d'exception dans SplHeap::compare peut le corrompre et le placer dans un statut bloqué. Vous pouvez le débloquer en appelant la méthode SplHeap::recoverFromCorruption. Cependant, des éléments peuvent ne pas avoir été placés correctement.

Liste de paramètres

value1

La valeur du premier noeud à comparer.

value2

La valeur du second noeud à comparer.

Valeurs de retour

Le résultat de la comparaison ; un entier positif si value1 est plus grand que value2, 0 s'ils sont égaux, ou un entier négatif sinon.

Note: Avoir plusieurs éléments avec la même valeur dans un tas n'est pas recommandé. Cela peut conduire en une position arbitraire.

SplHeap
SplHeap::__construct
SplHeap


Construit un nouveau tas vide

SplHeap::compare
SplHeap::count
SplHeap
PHP Manual

SplHeap::__construct

(PHP 5 >= 5.3.0)

SplHeap::__construct — Construit un nouveau tas vide

Description

SplHeap::__construct ( void )

Construit un nouveau tas vide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplHeap::compare
SplHeap::count
SplHeap


Compte le nombre d'éléments dans le tas

SplHeap::__construct
SplHeap::current
SplHeap
PHP Manual

SplHeap::count

(PHP 5 >= 5.3.0)

SplHeap::count — Compte le nombre d'éléments dans le tas

Description

int SplHeap::count ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre d'éléments dans le tas.

SplHeap::__construct
SplHeap::current
SplHeap


Retourne le noeud courant, pointé par l'itérateur

SplHeap::count
SplHeap::extract
SplHeap
PHP Manual

SplHeap::current

(PHP 5 >= 5.3.0)

SplHeap::current — Retourne le noeud courant, pointé par l'itérateur

Description

mixed SplHeap::current ( void )

Récupère la structure des données du noeud courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du noeud courant.

SplHeap::count
SplHeap::extract
SplHeap


Extrait un noeud du haut du tas

SplHeap::current
SplHeap::insert
SplHeap
PHP Manual

SplHeap::extract

(PHP 5 >= 5.3.0)

SplHeap::extract — Extrait un noeud du haut du tas

Description

mixed SplHeap::extract ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du noeud extrait.

SplHeap::current
SplHeap::insert
SplHeap


Insère un élément dans le tas

SplHeap::extract
SplHeap::isEmpty
SplHeap
PHP Manual

SplHeap::insert

(PHP 5 >= 5.3.0)

SplHeap::insert — Insère un élément dans le tas

Description

void SplHeap::insert ( mixed $value )

Insère la valeur value dans le tas.

Liste de paramètres

value

La valeur à insérer.

Valeurs de retour

Aucune valeur n'est retournée.

SplHeap::extract
SplHeap::isEmpty
SplHeap


Vérifie si le tas est vide

SplHeap::insert
SplHeap::key
SplHeap
PHP Manual

SplHeap::isEmpty

(PHP 5 >= 5.3.0)

SplHeap::isEmpty — Vérifie si le tas est vide

Description

bool SplHeap::isEmpty ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne si le tas est vide, ou non.

SplHeap::insert
SplHeap::key
SplHeap


Retourne l'index du noeud courant

SplHeap::isEmpty
SplHeap::next
SplHeap
PHP Manual

SplHeap::key

(PHP 5 >= 5.3.0)

SplHeap::key — Retourne l'index du noeud courant

Description

mixed SplHeap::key ( void )

Retourne l'index du noeud courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'index du noeud courant.

SplHeap::isEmpty
SplHeap::next
SplHeap


Se déplace au noeud suivant

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap
PHP Manual

SplHeap::next

(PHP 5 >= 5.3.0)

SplHeap::next — Se déplace au noeud suivant

Description

void SplHeap::next ( void )

Se déplace au noeud suivant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplHeap::key
SplHeap::recoverFromCorruption
SplHeap


Répare un tas

SplHeap::next
SplHeap::rewind
SplHeap
PHP Manual

SplHeap::recoverFromCorruption

(PHP 5 >= 5.3.0)

SplHeap::recoverFromCorruption — Répare un tas

Description

void SplHeap::recoverFromCorruption ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplHeap::next
SplHeap::rewind
SplHeap


Revient au début de l'itérateur

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap
PHP Manual

SplHeap::rewind

(PHP 5 >= 5.3.0)

SplHeap::rewind — Revient au début de l'itérateur

Description

void SplHeap::rewind ( void )

Revient au début de l'itérateur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap


Récupère le premier noeud du tas

SplHeap::rewind
SplHeap::valid
SplHeap
PHP Manual

SplHeap::top

(PHP 5 >= 5.3.0)

SplHeap::top — Récupère le premier noeud du tas

Description

mixed SplHeap::top ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur du premier noeud.

SplHeap::rewind
SplHeap::valid
SplHeap


Vérifie si le tas contient des noeuds

SplHeap::top
SplMaxHeap
SplHeap
PHP Manual

SplHeap::valid

(PHP 5 >= 5.3.0)

SplHeap::valid — Vérifie si le tas contient des noeuds

Description

bool SplHeap::valid ( void )

Vérifie si le tas contient encore des noeuds.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le tas contient encore des noeuds, FALSE sinon.

SplHeap::top
SplMaxHeap
SplHeap


La classe SplMaxHeap

Introduction

La classe SplMaxHeap fournit l'interface pour une pile, et conserve le maximum sur le haut.

Synopsis de la classe

SplMaxHeap
SplMaxHeap extends SplHeap implements Iterator , Countable {
/* Méthodes */
void compare ( mixed $value1 , mixed $value2 )
/* Méthodes héritées */
abstract int SplHeap::compare ( mixed $value1 , mixed $value2 )
int SplHeap::count ( void )
mixed SplHeap::current ( void )
mixed SplHeap::extract ( void )
void SplHeap::insert ( mixed $value )
bool SplHeap::isEmpty ( void )
mixed SplHeap::key ( void )
void SplHeap::next ( void )
void SplHeap::recoverFromCorruption ( void )
void SplHeap::rewind ( void )
mixed SplHeap::top ( void )
bool SplHeap::valid ( void )
}

Sommaire

  • SplMaxHeap::compare — Compare deux éléments
SplHeap::valid
SplMaxHeap::compare
Structures des données


Compare deux éléments

SplMaxHeap
SplMinHeap
SplMaxHeap
PHP Manual

SplMaxHeap::compare

(PHP 5 >= 5.3.0)

SplMaxHeap::compare — Compare deux éléments

Description

void SplMaxHeap::compare ( mixed $value1 , mixed $value2 )

Compare la valeur value1 avec la valeur value2.

Liste de paramètres

value1

La valeur du premier noeud à comparer.

value2

La valeur du second noeud à comparer.

Valeurs de retour

Le résultat de la comparaison ; un entier positif si la valeur value1 est plus grande que la valeur value2, 0 si les valeurs sont égales, et un entier négatif sinon.

Note: Avoir plusieurs éléments avec la même valeur dans un tas n'est pas recommandé. Cela peut conduire en des positions arbitraires.

SplMaxHeap
SplMinHeap
SplMaxHeap


La classe SplMinHeap

Introduction

La classe SplMinHeap fournit une interface pour une pile, qui conserve le minimum sur le haut.

Synopsis de la classe

SplMinHeap
SplMinHeap extends SplHeap implements Iterator , Countable {
/* Méthodes */
void compare ( mixed $value1 , mixed $value2 )
/* Méthodes héritées */
abstract int SplHeap::compare ( mixed $value1 , mixed $value2 )
int SplHeap::count ( void )
mixed SplHeap::current ( void )
mixed SplHeap::extract ( void )
void SplHeap::insert ( mixed $value )
bool SplHeap::isEmpty ( void )
mixed SplHeap::key ( void )
void SplHeap::next ( void )
void SplHeap::recoverFromCorruption ( void )
void SplHeap::rewind ( void )
mixed SplHeap::top ( void )
bool SplHeap::valid ( void )
}

Sommaire

  • SplMinHeap::compare — Compare deux éléments
SplMaxHeap::compare
SplMinHeap::compare
Structures des données


Compare deux éléments

SplMinHeap
SplPriorityQueue
SplMinHeap
PHP Manual

SplMinHeap::compare

(PHP 5 >= 5.3.0)

SplMinHeap::compare — Compare deux éléments

Description

void SplMinHeap::compare ( mixed $value1 , mixed $value2 )

Compare la valeur value1 avec la valeur value2.

Liste de paramètres

value1

La valeur du premier noeud à comparer.

value2

La valeur du second noeud à comparer.

Valeurs de retour

Le résultat de la comparaison ; un entier positif si la valeur value1 est plus grande que la valeur value2, 0 si les valeurs sont égales, et un entier négatif sinon.

Note: Avoir plusieurs éléments avec la même valeur dans un tas n'est pas recommandé. Cela peut conduire en des positions arbitraires.

SplMinHeap
SplPriorityQueue
SplMinHeap


La classe SplPriorityQueue

Introduction

La classe SplPriorityQueue fournit les fonctionnalités d'une queue à priorités, implémentées avec une pile.

Synopsis de la classe

SplPriorityQueue
SplPriorityQueue implements Iterator , Countable {
/* Méthodes */
__construct ( void )
int compare ( mixed $priority1 , mixed $priority2 )
int count ( void )
mixed current ( void )
mixed extract ( void )
void insert ( mixed $value , mixed $priority )
bool isEmpty ( void )
mixed key ( void )
void next ( void )
void recoverFromCorruption ( void )
void rewind ( void )
void setExtractFlags ( int $flags )
mixed top ( void )
bool valid ( void )
}

Sommaire

  • SplPriorityQueue::compare — Compare deux priorités
  • SplPriorityQueue::__construct — Construit une nouvelle file d'attente vide
  • SplPriorityQueue::count — Compte le nombre d'éléments dans la file d'attente
  • SplPriorityQueue::current — Retourne le noeud courant, pointé par l'itérateur
  • SplPriorityQueue::extract — Extrait un noeud depuis le haut du tas
  • SplPriorityQueue::insert — Insère un élément dans la file d'attente
  • SplPriorityQueue::isEmpty — Vérifie si la file est vide
  • SplPriorityQueue::key — Retourne l'index du noeud courant
  • SplPriorityQueue::next — Se déplace sur le prochain noeud
  • SplPriorityQueue::recoverFromCorruption — Répare une file d'attente
  • SplPriorityQueue::rewind — Revient au début de l'itérateur
  • SplPriorityQueue::setExtractFlags — Définit le mode d'extraction
  • SplPriorityQueue::top — Récupère le noeud du haut de la file d'attente
  • SplPriorityQueue::valid — Vérifie si la file d'attente contient encore des noeuds
SplMinHeap::compare
SplPriorityQueue::compare
Structures des données


Compare deux priorités

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue
PHP Manual

SplPriorityQueue::compare

(PHP 5 >= 5.3.0)

SplPriorityQueue::compare — Compare deux priorités

Description

int SplPriorityQueue::compare ( mixed $priority1 , mixed $priority2 )

Compare la valeur priority1 avec la valeur priority2.

Liste de paramètres

priority1

La priorité du premier noeud à comparer.

priority2

La priorité du second noeud à comparer.

Valeurs de retour

Le résultat de la comparaison ; un entier positif si la valeur priority1 est plus grande que la valeur priority2, 0 si les valeurs sont égales, et un entier négatif sinon.

Note: Avoir plusieurs éléments avec la même priorité fera qu'ils n'auront pas d'ordre particulier.

SplPriorityQueue
SplPriorityQueue::__construct
SplPriorityQueue


Construit une nouvelle file d'attente vide

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue
PHP Manual

SplPriorityQueue::__construct

(PHP 5 >= 5.3.0)

SplPriorityQueue::__construct — Construit une nouvelle file d'attente vide

Description

SplPriorityQueue::__construct ( void )

Construit une nouvelle file d'attente vide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplPriorityQueue::compare
SplPriorityQueue::count
SplPriorityQueue


Compte le nombre d'éléments dans la file d'attente

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue
PHP Manual

SplPriorityQueue::count

(PHP 5 >= 5.3.0)

SplPriorityQueue::count — Compte le nombre d'éléments dans la file d'attente

Description

int SplPriorityQueue::count ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre d'éléments dans la file d'attente.

SplPriorityQueue::__construct
SplPriorityQueue::current
SplPriorityQueue


Retourne le noeud courant, pointé par l'itérateur

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue
PHP Manual

SplPriorityQueue::current

(PHP 5 >= 5.3.0)

SplPriorityQueue::current — Retourne le noeud courant, pointé par l'itérateur

Description

mixed SplPriorityQueue::current ( void )

Récupère le noeud courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur ou la priorité (ou les deux) du noeud courant, suivant le drapeau d'extraction.

SplPriorityQueue::count
SplPriorityQueue::extract
SplPriorityQueue


Extrait un noeud depuis le haut du tas

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue
PHP Manual

SplPriorityQueue::extract

(PHP 5 >= 5.3.0)

SplPriorityQueue::extract — Extrait un noeud depuis le haut du tas

Description

mixed SplPriorityQueue::extract ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur ou la priorité (ou les deux) du noeud extrait, suivant le drapeau d'extraction.

SplPriorityQueue::current
SplPriorityQueue::insert
SplPriorityQueue


Insère un élément dans la file d'attente

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue
PHP Manual

SplPriorityQueue::insert

(PHP 5 >= 5.3.0)

SplPriorityQueue::insert — Insère un élément dans la file d'attente

Description

void SplPriorityQueue::insert ( mixed $value , mixed $priority )

Insère la valeur value avec la priorité priority dans la file d'attente.

Liste de paramètres

value

La valeur à insérer.

priority

La priorité associée.

Valeurs de retour

Aucune valeur n'est retournée.

SplPriorityQueue::extract
SplPriorityQueue::isEmpty
SplPriorityQueue


Vérifie si la file est vide

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue
PHP Manual

SplPriorityQueue::isEmpty

(PHP 5 >= 5.3.0)

SplPriorityQueue::isEmpty — Vérifie si la file est vide

Description

bool SplPriorityQueue::isEmpty ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne si la file d'attente est vide, ou non.

SplPriorityQueue::insert
SplPriorityQueue::key
SplPriorityQueue


Retourne l'index du noeud courant

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue
PHP Manual

SplPriorityQueue::key

(PHP 5 >= 5.3.0)

SplPriorityQueue::key — Retourne l'index du noeud courant

Description

mixed SplPriorityQueue::key ( void )

Retourne l'index du noeud courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'index du noeud courant.

SplPriorityQueue::isEmpty
SplPriorityQueue::next
SplPriorityQueue


Se déplace sur le prochain noeud

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue
PHP Manual

SplPriorityQueue::next

(PHP 5 >= 5.3.0)

SplPriorityQueue::next — Se déplace sur le prochain noeud

Description

void SplPriorityQueue::next ( void )

Se déplace sur le prochain noeud.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplPriorityQueue::key
SplPriorityQueue::recoverFromCorruption
SplPriorityQueue


Répare une file d'attente

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue
PHP Manual

SplPriorityQueue::recoverFromCorruption

(PHP 5 >= 5.3.0)

SplPriorityQueue::recoverFromCorruption — Répare une file d'attente

Description

void SplPriorityQueue::recoverFromCorruption ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplPriorityQueue::next
SplPriorityQueue::rewind
SplPriorityQueue


Revient au début de l'itérateur

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue
PHP Manual

SplPriorityQueue::rewind

(PHP 5 >= 5.3.0)

SplPriorityQueue::rewind — Revient au début de l'itérateur

Description

void SplPriorityQueue::rewind ( void )

Replace l'itérateur au début.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplPriorityQueue::recoverFromCorruption
SplPriorityQueue::setExtractFlags
SplPriorityQueue


Définit le mode d'extraction

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue
PHP Manual

SplPriorityQueue::setExtractFlags

(PHP 5 >= 5.3.0)

SplPriorityQueue::setExtractFlags — Définit le mode d'extraction

Description

void SplPriorityQueue::setExtractFlags ( int $flags )

Liste de paramètres

flags

Définit ce qui sera extrait par la fonction
 SplPriorityQueue::current,
 SplPriorityQueue::top et
 SplPriorityQueue::extract.

  • SplPriorityQueue::EXTR_DATA (0x00000001): Extrait les données
  • SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extrait la priorité
  • SplPriorityQueue::EXTR_BOTH (0x00000003): Extrait un tableau contenant les deux

Le mode par défaut vaut : SplPriorityQueue::EXTR_DATA.

Valeurs de retour

Aucune valeur n'est retournée.

SplPriorityQueue::rewind
SplPriorityQueue::top
SplPriorityQueue


Récupère le noeud du haut de la file d'attente

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue
PHP Manual

SplPriorityQueue::top

(PHP 5 >= 5.3.0)

SplPriorityQueue::top — Récupère le noeud du haut de la file d'attente

Description

mixed SplPriorityQueue::top ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur ou la priorité (ou les deux) du premier noeud, suivant le drapeau d'extraction.

SplPriorityQueue::setExtractFlags
SplPriorityQueue::valid
SplPriorityQueue


Vérifie si la file d'attente contient encore des noeuds

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue
PHP Manual

SplPriorityQueue::valid

(PHP 5 >= 5.3.0)

SplPriorityQueue::valid — Vérifie si la file d'attente contient encore des noeuds

Description

bool SplPriorityQueue::valid ( void )

Vérifie si la file d'attente contient encore des noeuds.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la file d'attente contient encore des noeuds, FALSE sinon.

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue


La classe SplFixedArray

Introduction

La classe SplFixedArray fournit les fonctionnalités principales d'un tableau. La différence majeure entre un objet SplFixedArray et un tableau standard de PHP est que SplFixedArray est de taille fixe, et n'utilise que des entier dans ses index. L'avantage est alors qu'il est plus rapide que les tableaux.

Synopsis de la classe

SplFixedArray
SplFixedArray implements Iterator , ArrayAccess , Countable {
/* Méthodes */
public __construct ([ int $size = 0 ] )
public int count ( void )
public mixed current ( void )
public static SplFixedArray fromArray ( array $array [, boolean $save_indexes = true ] )
public int getSize ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( int $index )
public mixed offsetGet ( int $index )
public void offsetSet ( int $index , mixed $newval )
public void offsetUnset ( int $index )
public void rewind ( void )
public int setSize ( int $size )
public array toArray ( void )
public bool valid ( void )
}

Exemples

Exemple #1 Exemple avec SplFixedArray

<?php
// Initialisation d'un tableau avec une taille fixe
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

var_dump($array["4"]); // string(3) "foo"

// Augmentation de la taille à 10
$array->setSize(10);

$array[9] = "asdf";

// Réduction de taille de 2
$array->setSize(2);

// Les lignes suivantes émettent une RuntimeException : index invalide ou hors de l'intervalle
try {
    var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
    echo "RuntimeException : ".$re->getMessage()."\n";
}

try {
    var_dump($array[-1]);
} catch(RuntimeException $re) {
    echo "RuntimeException : ".$re->getMessage()."\n";
}

try {
    var_dump($array[5]);
} catch(RuntimeException $re) {
    echo "RuntimeException : ".$re->getMessage()."\n";
}
?>

L'exemple ci-dessus va afficher :

NULL
int(2)
string(3) "foo"
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range

Sommaire

  • SplFixedArray::__construct — Construit un nouveau SplFixedArray
  • SplFixedArray::count — Retourne la taille du tableau à taille fixe
  • SplFixedArray::current — Lit l'élément courant du tableau à taille fixe
  • SplFixedArray::fromArray — Importe un tableau PHP dans un tableau à taille fixe
  • SplFixedArray::getSize — Lit la taille du tableau à taille fixe
  • SplFixedArray::key — Retourne l'index de la position courante
  • SplFixedArray::next — Déplace l'itérateur à l'élément suivant
  • SplFixedArray::offsetExists — Vérifie si l'index demandé existe
  • SplFixedArray::offsetGet — Retourne la valeur à l'index donné
  • SplFixedArray::offsetSet — Affecte une valeur à un index donné
  • SplFixedArray::offsetUnset — Détruit l'élément à un index donné
  • SplFixedArray::rewind — Remet l'itérateur au début du tableau à taille fixe
  • SplFixedArray::setSize — Change la taille d'un tableau à taille fixe
  • SplFixedArray::toArray — Retourne un tableau PHP à partir d'un tableau à taille fixe
  • SplFixedArray::valid — Vérifie si le tableau contient encore un élément
SplPriorityQueue::valid
SplFixedArray::__construct
Structures des données


Construit un nouveau SplFixedArray

SplFixedArray
SplFixedArray::count
SplFixedArray
PHP Manual

SplFixedArray::__construct

(PHP 5 >= 5.3.0)

SplFixedArray::__construct — Construit un nouveau SplFixedArray

Description

public SplFixedArray::__construct ([ int $size = 0 ] )

Construit un nouvel objet SplFixedArray, vide.

Liste de paramètres

size

La taille du tableau à taille fixe.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFixedArray::__construct()

<?php
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

foreach($array as $v) {
  var_dump($v);
}
?>

L'exemple ci-dessus va afficher :

NULL
int(2)
NULL
NULL
string(3) "foo"

SplFixedArray
SplFixedArray::count
SplFixedArray


Retourne la taille du tableau à taille fixe

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray
PHP Manual

SplFixedArray::count

(PHP 5 >= 5.3.0)

SplFixedArray::count — Retourne la taille du tableau à taille fixe

Description

public int SplFixedArray::count ( void )

Retourne la taille du tableau à taille fixe.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille du tableau à taille fixe.

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray


Lit l'élément courant du tableau à taille fixe

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray
PHP Manual

SplFixedArray::current

(PHP 5 >= 5.3.0)

SplFixedArray::current — Lit l'élément courant du tableau à taille fixe

Description

public mixed SplFixedArray::current ( void )

Lit l'élément courant du tableau à taille fixe.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur de l'élément courant.

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray


Importe un tableau PHP dans un tableau à taille fixe

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray
PHP Manual

SplFixedArray::fromArray

(PHP 5 >= 5.3.0)

SplFixedArray::fromArray — Importe un tableau PHP dans un tableau à taille fixe

Description

public static SplFixedArray SplFixedArray::fromArray ( array $array [, boolean $save_indexes = true ] )

Importe le tableau PHP array dans un tableau à taille fixe.

Liste de paramètres

array

La tableau à importer.

save_indexes

Tente de préserver les index numérique du tableau original.

Valeurs de retour

Retourne un objet SplFixedArray avec le même contenu que le tableau passé en argument.

Exemples

Exemple #1 Exemple avec SplFixedArray::fromArray()

<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));

var_dump($fa);

$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);

var_dump($fa);
?>

L'exemple ci-dessus va afficher :

object(SplFixedArray)#1 (4) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  NULL
  [3]=>
  int(3)
}
object(SplFixedArray)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray


Lit la taille du tableau à taille fixe

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray
PHP Manual

SplFixedArray::getSize

(PHP 5 >= 5.3.0)

SplFixedArray::getSize — Lit la taille du tableau à taille fixe

Description

public int SplFixedArray::getSize ( void )

Lit la taille du tableau à taille fixe.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille du tableau à taille fixe.

Exemples

Exemple #1 Exemple avec SplFixedArray::getSize()

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

L'exemple ci-dessus va afficher :

5
10

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray


Retourne l'index de la position courante

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray
PHP Manual

SplFixedArray::key

(PHP 5 >= 5.3.0)

SplFixedArray::key — Retourne l'index de la position courante

Description

public int SplFixedArray::key ( void )

Retourne l'index de la position courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'index de la position courante.

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray


Déplace l'itérateur à l'élément suivant

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray
PHP Manual

SplFixedArray::next

(PHP 5 >= 5.3.0)

SplFixedArray::next — Déplace l'itérateur à l'élément suivant

Description

public void SplFixedArray::next ( void )

Déplace l'itérateur à l'élément suivant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray


Vérifie si l'index demandé existe

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray
PHP Manual

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0)

SplFixedArray::offsetExists — Vérifie si l'index demandé existe

Description

public bool SplFixedArray::offsetExists ( int $index )

Vérifie si l'index index existe.

Liste de paramètres

index

L'index à vérifier.

Valeurs de retour

TRUE si l'index index existe, sinon FALSE

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray


Retourne la valeur à l'index donné

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray
PHP Manual

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetGet — Retourne la valeur à l'index donné

Description

public mixed SplFixedArray::offsetGet ( int $index )

Retourne la valeur à l'index index.

Liste de paramètres

index

L'index de la valeur demandée.

Valeurs de retour

La valeur spécifiée à l'index index.

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray


Affecte une valeur à un index donné

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray
PHP Manual

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetSet — Affecte une valeur à un index donné

Description

public void SplFixedArray::offsetSet ( int $index , mixed $newval )

Affecte la valeur newval à l'index index.

Liste de paramètres

index

L'index à affecter.

newval

La valeur à assigner à l'index index.

Valeurs de retour

Aucune valeur n'est retournée.

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray


Détruit l'élément à un index donné

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray
PHP Manual

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0)

SplFixedArray::offsetUnset — Détruit l'élément à un index donné

Description

public void SplFixedArray::offsetUnset ( int $index )

Détruit l'élément à l'index index.

Liste de paramètres

index

L'index de l'élément à détruire.

Valeurs de retour

Aucune valeur n'est retournée.

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray


Remet l'itérateur au début du tableau à taille fixe

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray
PHP Manual

SplFixedArray::rewind

(PHP 5 >= 5.3.0)

SplFixedArray::rewind — Remet l'itérateur au début du tableau à taille fixe

Description

public void SplFixedArray::rewind ( void )

Remet l'itérateur au début du tableau à taille fixe.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray


Change la taille d'un tableau à taille fixe

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray
PHP Manual

SplFixedArray::setSize

(PHP 5 >= 5.3.0)

SplFixedArray::setSize — Change la taille d'un tableau à taille fixe

Description

public int SplFixedArray::setSize ( int $size )

Change la taille d'un tableau à la taille fixe size.

Liste de paramètres

size

La nouvelle taille du tableau.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFixedArray::setSize()

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

L'exemple ci-dessus va afficher :

5
10

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray


Retourne un tableau PHP à partir d'un tableau à taille fixe

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray
PHP Manual

SplFixedArray::toArray

(PHP 5 >= 5.3.0)

SplFixedArray::toArray — Retourne un tableau PHP à partir d'un tableau à taille fixe

Description

public array SplFixedArray::toArray ( void )

Retourne un tableau PHP à partir d'un tableau à taille fixe.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau PHP à partir d'un tableau à taille fixe.

Exemples

Exemple #1 Exemple avec SplFixedArray::toArray()

<?php
$fa = new SplFixedArray(3);
$fa[0] = 0;
$fa[2] = 2;
var_dump($fa->toArray());
?>

L'exemple ci-dessus va afficher :

array(3) {
  [0]=>
  int(0)
  [1]=>
  NULL
  [2]=>
  int(2)
}

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray


Vérifie si le tableau contient encore un élément

SplFixedArray::toArray
SplObjectStorage
SplFixedArray
PHP Manual

SplFixedArray::valid

(PHP 5 >= 5.3.0)

SplFixedArray::valid — Vérifie si le tableau contient encore un élément

Description

public bool SplFixedArray::valid ( void )

Vérifie si le tableau contient encore un élément.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le tableau contient encore un élément, FALSE sinon.

SplFixedArray::toArray
SplObjectStorage
SplFixedArray


La classe SplObjectStorage

Introduction

La classe SplObjectStorage fournit une carte d'objets ou de données, ou encore, en ignorant les index, un ensemble d'objets. Ce double objectif est utile dans de nombreuses situations, où il faut identifier de manière unique des objets.

Synopsis de la classe

SplObjectStorage
SplObjectStorage implements Countable , Iterator , Traversable , Serializable , ArrayAccess {
/* Méthodes */
public void addAll ( SplObjectStorage $storage )
public void attach ( object $object [, mixed $data = NULL ] )
public boolean contains ( object $object )
public int count ( void )
public object current ( void )
public void detach ( object $object )
public mixed getInfo ( void )
public int key ( void )
public void next ( void )
public boolean offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object , mixed $info )
public void offsetUnset ( object $object )
public void removeAll ( SplObjectStorage $storage )
public void rewind ( void )
public string serialize ( void )
public void setInfo ( mixed $data )
public void unserialize ( string $serialized )
public boolean valid ( void )
}

Exemples

Exemple #1 Exemple avec SplObjectStorage, sous forme d'ensemble d'objets

<?php
// Un ensemble d'objets
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s->attach($o1);
$s->attach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));

$s->detach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Exemple #2 Exemple avec SplObjectStorage, sous forme de carte

<?php
// Une carte d'objets
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;
$o3 = new StdClass;

$s[$o1] = "data for object 1";
$s[$o2] = array(1,2,3);

if (isset($s[$o2])) {
    var_dump($s[$o2]);
}
?>

L'exemple ci-dessus va afficher :

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Sommaire

  • SplObjectStorage::addAll — Ajoute tous les objets d'un autre stockage
  • SplObjectStorage::attach — Ajoute un objet dans le stockage
  • SplObjectStorage::contains — Vérifie si un stockage contient un objet
  • SplObjectStorage::count — Retourne le nombre d'objets dans le stockage
  • SplObjectStorage::current — Retourne l'objet courant
  • SplObjectStorage::detach — Retire un objet du stockage
  • SplObjectStorage::getInfo — Retourne les données associés à l'élément en cours
  • SplObjectStorage::key — Retourne l'index de l'objet courant
  • SplObjectStorage::next — Passe au prochain élément
  • SplObjectStorage::offsetExists — Vérifie si un objet existe dans le stockage
  • SplObjectStorage::offsetGet — Retourne les données associées à un objet
  • SplObjectStorage::offsetSet — Associe des données à un stockage
  • SplObjectStorage::offsetUnset — Retire un objet du stockage
  • SplObjectStorage::removeAll — Retire les objets d'un stockage qui appartienne à un autre stockage
  • SplObjectStorage::rewind — Remet l'itérateur au début
  • SplObjectStorage::serialize — Linéarise un stockage
  • SplObjectStorage::setInfo — Modifie les données associée à l'élément courant
  • SplObjectStorage::unserialize — Délinéarise un stockage à partir de sa forme en chaîne
  • SplObjectStorage::valid — Vérifie si l'élément courant est valide
SplFixedArray::valid
SplObjectStorage::addAll
Structures des données


Ajoute tous les objets d'un autre stockage

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage
PHP Manual

SplObjectStorage::addAll

(PHP 5 >= 5.3.0)

SplObjectStorage::addAll — Ajoute tous les objets d'un autre stockage

Description

public void SplObjectStorage::addAll ( SplObjectStorage $storage )

Ajoute tous les objets de l'ensemble storage.

Liste de paramètres

storage

Le stockage à importer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::addAll()

<?php
$o = new StdClass;
$a = new SplObjectStorage();
$a[$o] = "hello";

$b = new SplObjectStorage();
$b->addAll($a);
echo $b[$o]."\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

hello

Voir aussi

  • SplObjectStorage::removeAll - Retire les objets d'un stockage qui appartienne à un autre stockage

SplObjectStorage
SplObjectStorage::attach
SplObjectStorage


Ajoute un objet dans le stockage

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage
PHP Manual

SplObjectStorage::attach

(PHP 5 >= 5.1.0)

SplObjectStorage::attach — Ajoute un objet dans le stockage

Description

public void SplObjectStorage::attach ( object $object [, mixed $data = NULL ] )

Ajoute un objet dans le stockage, et lui associe éventuellement des données.

Liste de paramètres

object

L'objet à ajouter.

data

Les données à associer avec l'objet.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::attach()

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$s = new SplObjectStorage();
$s->attach($o1); // Similaire à $s[$o1] = NULL;
$s->attach($o2, "hello"); // Similaire à $s[$o2] = "hello";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

NULL
string(5) "hello"

Historique

Version | Description
5.3.0 | Ajout du paramètre data.

Voir aussi

  • SplObjectStorage::detach - Retire un objet du stockage
  • SplObjectStorage::offsetSet - Associe des données à un stockage

SplObjectStorage::addAll
SplObjectStorage::contains
SplObjectStorage


Vérifie si un stockage contient un objet

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage
PHP Manual

SplObjectStorage::contains

(PHP 5 >= 5.1.0)

SplObjectStorage::contains — Vérifie si un stockage contient un objet

Description

public boolean SplObjectStorage::contains ( object $object )

Vérifie si le stockage contient l'objet object.

Liste de paramètres

object

L'objet à rechercher.

Valeurs de retour

Retourne TRUE si l'objet est dans le stockage, et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplObjectStorage::contains()

<?php
$o1 = new StdClass;
$o2 = new StdClass;

$s = new SplObjectStorage();

$s[$o1] = "hello";
var_dump($s->contains($o1));
var_dump($s->contains($o2));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)

Voir aussi

  • SplObjectStorage::offsetExists - Vérifie si un objet existe dans le stockage

SplObjectStorage::attach
SplObjectStorage::count
SplObjectStorage


Retourne le nombre d'objets dans le stockage

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage
PHP Manual

SplObjectStorage::count

(PHP 5 >= 5.1.0)

SplObjectStorage::count — Retourne le nombre d'objets dans le stockage

Description

public int SplObjectStorage::count ( void )

Compte le nombre d'objets dans le stockage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre d'objets dans le stockage.

Exemples

Exemple #1 Exemple avec SplObjectStorage::count()

<?php
$s = new SplObjectStorage();
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);
$s->attach($o2);
$s->attach($o1);
var_dump($s->count());
var_dump(count($s));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(2)
int(2)

Voir aussi

  • SplObjectStorage::attach - Ajoute un objet dans le stockage
  • SplObjectStorage::detach - Retire un objet du stockage

SplObjectStorage::contains
SplObjectStorage::current
SplObjectStorage


Retourne l'objet courant

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage
PHP Manual

SplObjectStorage::current

(PHP 5 >= 5.1.0)

SplObjectStorage::current — Retourne l'objet courant

Description

public object SplObjectStorage::current ( void )

Retourne l'objet courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'objet à la position courante.

Exemples

Exemple #1 Exemple avec SplObjectStorage::current()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similar to current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Voir aussi

  • SplObjectStorage::rewind - Remet l'itérateur au début
  • SplObjectStorage::key - Retourne l'index de l'objet courant
  • SplObjectStorage::next - Passe au prochain élément
  • SplObjectStorage::valid - Vérifie si l'élément courant est valide
  • SplObjectStorage::getInfo - Retourne les données associés à l'élément en cours

SplObjectStorage::count
SplObjectStorage::detach
SplObjectStorage


Retire un objet du stockage

SplObjectStorage::current
SplObjectStorage::getInfo
SplObjectStorage
PHP Manual

SplObjectStorage::detach

(PHP 5 >= 5.1.0)

SplObjectStorage::detach — Retire un objet du stockage

Description

public void SplObjectStorage::detach ( object $object )

Retire un objet du stockage.

Liste de paramètres

object

L'objet à retirer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::detach()

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->detach($o);
var_dump(count($s));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(1)
int(0)

Voir aussi

  • SplObjectStorage::attach - Ajoute un objet dans le stockage
  • SplObjectStorage::removeAll - Retire les objets d'un stockage qui appartienne à un autre stockage

SplObjectStorage::current
SplObjectStorage::getInfo
SplObjectStorage


Retourne les données associés à l'élément en cours

SplObjectStorage::detach
SplObjectStorage::key
SplObjectStorage
PHP Manual

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0)

SplObjectStorage::getInfo — Retourne les données associés à l'élément en cours

Description

public mixed SplObjectStorage::getInfo ( void )

Retourne les données, ou informations, associées avec l'objet actuellement pointé dans l'itérateur courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les données associées avec la position courante.

Exemples

Exemple #1 Exemple avec SplObjectStorage::getInfo()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similaire à current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Voir aussi

  • SplObjectStorage::current - Retourne l'objet courant
  • SplObjectStorage::rewind - Remet l'itérateur au début
  • SplObjectStorage::key - Retourne l'index de l'objet courant
  • SplObjectStorage::next - Passe au prochain élément
  • SplObjectStorage::valid - Vérifie si l'élément courant est valide
  • SplObjectStorage::setInfo - Modifie les données associée à l'élément courant

SplObjectStorage::detach
SplObjectStorage::key
SplObjectStorage


Retourne l'index de l'objet courant

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage
PHP Manual

SplObjectStorage::key

(PHP 5 >= 5.1.0)

SplObjectStorage::key — Retourne l'index de l'objet courant

Description

public int SplObjectStorage::key ( void )

Retourne l'index de l'objet courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'index de la position courante dans l'itérateur.

Exemples

Exemple #1 Exemple avec SplObjectStorage::key()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similaire à current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Voir aussi

  • SplObjectStorage::rewind - Remet l'itérateur au début
  • SplObjectStorage::current - Retourne l'objet courant
  • SplObjectStorage::next - Passe au prochain élément
  • SplObjectStorage::valid - Vérifie si l'élément courant est valide

SplObjectStorage::getInfo
SplObjectStorage::next
SplObjectStorage


Passe au prochain élément

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage
PHP Manual

SplObjectStorage::next

(PHP 5 >= 5.1.0)

SplObjectStorage::next — Passe au prochain élément

Description

public void SplObjectStorage::next ( void )

Avance l'itérateur d'un élément dans le stockage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::next()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similaire à current($s)

    var_dump($index);
    var_dump($object);
    $s->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Voir aussi

  • SPLObjectStorage::rewind - Remet l'itérateur au début

SplObjectStorage::key
SplObjectStorage::offsetExists
SplObjectStorage


Vérifie si un objet existe dans le stockage

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetExists

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetExists — Vérifie si un objet existe dans le stockage

Description

public boolean SplObjectStorage::offsetExists ( object $object )

Vérifie si un objet existe dans un stockage.

Liste de paramètres

object

L'objet à rechercher.

Valeurs de retour

Retourne TRUE si l'objet existe, et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplObjectStorage::offsetExists()

<?php
$s = new SplObjectStorage;
$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1);

var_dump($s->offsetExists($o1)); // Similar to isset($s[$o1])
var_dump($s->offsetExists($o2)); // Similar to isset($s[$o2])
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)

Voir aussi

  • SplObjectStorage::offsetSet - Associe des données à un stockage
  • SplObjectStorage::offsetGet - Retourne les données associées à un objet
  • SplObjectStorage::offsetUnset - Retire un objet du stockage

SplObjectStorage::next
SplObjectStorage::offsetGet
SplObjectStorage


Retourne les données associées à un objet

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage
PHP Manual

SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetGet — Retourne les données associées à un objet

Description

public mixed SplObjectStorage::offsetGet ( object $object )

Retourne les données associées à un objet dans le stockage.

Liste de paramètres

object

L'objet à rechercher.

Valeurs de retour

Les données précédemment associées avec l'objet.

Exemples

Exemple #1 Exemple avec SplObjectStorage::offsetGet()

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;
$o2 = new StdClass;

$s[$o1] = "hello";
$s->attach($o2);

var_dump($s->offsetGet($o1)); // Similaire à $s[$o1]
var_dump($s->offsetGet($o2)); // Similaire à $s[$o2]
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "hello"
NULL

Voir aussi

  • SplObjectStorage::offsetSet - Associe des données à un stockage
  • SplObjectStorage::offsetExists - Vérifie si un objet existe dans le stockage
  • SplObjectStorage::offsetUnset - Retire un objet du stockage

SplObjectStorage::offsetExists
SplObjectStorage::offsetSet
SplObjectStorage


Associe des données à un stockage

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage
PHP Manual

SplObjectStorage::offsetSet

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetSet — Associe des données à un stockage

Description

public void SplObjectStorage::offsetSet ( object $object , mixed $info )

Associe des données à un objet du stockage.

Note: SplObjectStorage::offsetSet est un alias de SplObjectStorage::attach.

Liste de paramètres

object

L'objet à qui il faut associer les données.

info

Les données à associer avec l'objet.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::offsetSet()

<?php
$s = new SplObjectStorage;

$o1 = new StdClass;

$s->offsetSet($o1, "hello"); // Similaire à $s[$o1] = "hello";

var_dump($s[$o1]);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "hello"

Voir aussi

  • SplObjectStorage::offsetGet - Retourne les données associées à un objet
  • SplObjectStorage::offsetExists - Vérifie si un objet existe dans le stockage
  • SplObjectStorage::offsetUnset - Retire un objet du stockage

SplObjectStorage::offsetGet
SplObjectStorage::offsetUnset
SplObjectStorage


Retire un objet du stockage

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage
PHP Manual

SplObjectStorage::offsetUnset

(PHP 5 >= 5.3.0)

SplObjectStorage::offsetUnset — Retire un objet du stockage

Description

public void SplObjectStorage::offsetUnset ( object $object )

Retire un objet du stockage.

Note: SplObjectStorage::offsetUnset est un alias de SplObjectStorage::detach.

Liste de paramètres

object

L'objet à retirer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::offsetUnset()

<?php
$o = new StdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->offsetUnset($o); // similaire à unset($s[$o])
var_dump(count($s));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(1)
int(0)

Voir aussi

  • SplObjectStorage::offsetGet - Retourne les données associées à un objet
  • SplObjectStorage::offsetSet - Associe des données à un stockage
  • SplObjectStorage::offsetExists - Vérifie si un objet existe dans le stockage

SplObjectStorage::offsetSet
SplObjectStorage::removeAll
SplObjectStorage


Retire les objets d'un stockage qui appartienne à un autre stockage

SplObjectStorage::offsetUnset
SplObjectStorage::rewind
SplObjectStorage
PHP Manual

SplObjectStorage::removeAll

(PHP 5 >= 5.3.0)

SplObjectStorage::removeAll — Retire les objets d'un stockage qui appartienne à un autre stockage

Description

public void SplObjectStorage::removeAll ( SplObjectStorage $storage )

Retire les objets d'un stockage qui appartienne à un autre stockage.

Liste de paramètres

storage

Le stockage contenant les éléments à retirer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::removeAll()

<?php
$o1 = new StdClass;
$o2 = new StdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";

$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";

var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(2)
int(1)

Voir aussi

  • SplObjectStorage::addAll - Ajoute tous les objets d'un autre stockage

SplObjectStorage::offsetUnset
SplObjectStorage::rewind
SplObjectStorage


Remet l'itérateur au début

SplObjectStorage::removeAll
SplObjectStorage::serialize
SplObjectStorage
PHP Manual

SplObjectStorage::rewind

(PHP 5 >= 5.1.0)

SplObjectStorage::rewind — Remet l'itérateur au début

Description

public void SplObjectStorage::rewind ( void )

Remet l'itérateur au début.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::rewind()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $index  = $s->key();
    $object = $s->current(); // similaire à current($s)
    $data   = $s->getInfo();

    var_dump($object);
    var_dump($data);
    $s->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(1)
int(0)

Voir aussi

  • SplObjectStorage::next - Passe au prochain élément

SplObjectStorage::removeAll
SplObjectStorage::serialize
SplObjectStorage


Linéarise un stockage

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage
PHP Manual

SplObjectStorage::serialize

(PHP 5 >= 5.2.2)

SplObjectStorage::serialize — Linéarise un stockage

Description

public string SplObjectStorage::serialize ( void )

Retourne une chaîne représentant un stockage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une chaîne de caractères représentant le stockage.

Exemples

Exemple #1 Exemple avec SplObjectStorage::serialize()

<?php
$s = new SplObjectStorage;
$o = new StdClass;
$s[$o] = "data";

echo $s->serialize()."\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

x:i:1;O:8:"stdClass":0:{},s:4:"data";;m:a:0:{}

Voir aussi

  • SplObjectStorage::unserialize - Délinéarise un stockage à partir de sa forme en chaîne

SplObjectStorage::rewind
SplObjectStorage::setInfo
SplObjectStorage


Modifie les données associée à l'élément courant

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage
PHP Manual

SplObjectStorage::setInfo

(PHP 5 >= 5.3.0)

SplObjectStorage::setInfo — Modifie les données associée à l'élément courant

Description

public void SplObjectStorage::setInfo ( mixed $data )

Associe des données, ou informations, à l'objet courant de l'itérateur.

Liste de paramètres

data

Les données à associer avec la position courante de l'itérateur.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::setInfo()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    $s->setInfo("new");
    $s->next();
}
var_dump($s[$o1]);
var_dump($s[$o2]);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(3) "new"
string(3) "new"

Voir aussi

  • SplObjectStorage::current - Retourne l'objet courant
  • SplObjectStorage::rewind - Remet l'itérateur au début
  • SplObjectStorage::key - Retourne l'index de l'objet courant
  • SplObjectStorage::next - Passe au prochain élément
  • SplObjectStorage::valid - Vérifie si l'élément courant est valide
  • SplObjectStorage::getInfo - Retourne les données associés à l'élément en cours

SplObjectStorage::serialize
SplObjectStorage::unserialize
SplObjectStorage


Délinéarise un stockage à partir de sa forme en chaîne

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage
PHP Manual

SplObjectStorage::unserialize

(PHP 5 >= 5.2.2)

SplObjectStorage::unserialize — Délinéarise un stockage à partir de sa forme en chaîne

Description

public void SplObjectStorage::unserialize ( string $serialized )

Délinéarise un stockage à partir de sa forme en chaîne.

Liste de paramètres

serialized

La représentation linéarisée d'un stockage.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplObjectStorage::unserialize()

<?php
$s1 = new SplObjectStorage;
$s2 = new SplObjectStorage;
$o = new StdClass;
$s1[$o] = "data";

$s2->unserialize($s1->serialize());

var_dump(count($s2));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(1)

Voir aussi

  • SplObjectStorage::serialize - Linéarise un stockage

SplObjectStorage::setInfo
SplObjectStorage::valid
SplObjectStorage


Vérifie si l'élément courant est valide

SplObjectStorage::unserialize
Itérateurs
SplObjectStorage
PHP Manual

SplObjectStorage::valid

(PHP 5 >= 5.1.0)

SplObjectStorage::valid — Vérifie si l'élément courant est valide

Description

public boolean SplObjectStorage::valid ( void )

Vérifie si l'élément courant est valide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'élément courant est valide, et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplObjectStorage::valid()

<?php
$s = new SplObjectStorage();

$o1 = new StdClass;
$o2 = new StdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
    echo $s->key()."\n";
    $s->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0
1

Voir aussi

  • SplObjectStorage::current - Retourne l'objet courant
  • SplObjectStorage::getInfo - Retourne les données associés à l'élément en cours

SplObjectStorage::unserialize
Itérateurs
SplObjectStorage


Itérateurs

Sommaire

  • AppendIterator
  • ArrayIterator
  • CachingIterator
  • DirectoryIterator
  • EmptyIterator
  • FilesystemIterator
  • FilterIterator
  • GlobIterator
  • InfiniteIterator
  • IteratorIterator
  • LimitIterator
  • MultipleIterator
  • NoRewindIterator
  • ParentIterator
  • RecursiveArrayIterator
  • RecursiveCachingIterator
  • RecursiveDirectoryIterator
  • RecursiveFilterIterator
  • RecursiveIteratorIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • La classe RegexIterator
  • SimpleXMLIterator

SPL fournit un jeu d'itérateurs pour gérer les objets.

Liste des itérateurs non documentés

  • RecursiveTreeIterator
SplObjectStorage::valid
AppendIterator
SPL


La classe AppendIterator

Introduction

Itère sur plusieurs collections.

Synopsis de la classe

AppendIterator
AppendIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Méthodes */
public void append ( Iterator $iterator )
__construct ( void )
public void current ( void )
public void getArrayIterator ( void )
public void getInnerIterator ( void )
public void getIteratorIndex ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
/* Méthodes héritées */
IteratorIterator::__construct ( Traversable $iterator )
public void IteratorIterator::current ( void )
public void IteratorIterator::getInnerIterator ( void )
public void IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Sommaire

  • AppendIterator::append — Ajoute un itérateur à la fin
  • AppendIterator::__construct — Construit un objet AppendIterator
  • AppendIterator::current — Lit la valeur courante
  • AppendIterator::getArrayIterator — La méthode AppendIterator::getArrayIterator
  • AppendIterator::getInnerIterator — Lit l'itérateur interne
  • AppendIterator::getIteratorIndex — Lit l'index d'un itérateur
  • AppendIterator::key — Lit la clé courante
  • AppendIterator::next — Passe à l'élément suivant
  • AppendIterator::rewind — Remet l'itérateur au début
  • AppendIterator::valid — Vérifie la validité de l'élément courant
Itérateurs
AppendIterator::append
Itérateurs


Ajoute un itérateur à la fin

AppendIterator
AppendIterator::__construct
AppendIterator
PHP Manual

AppendIterator::append

(PHP 5 >= 5.1.0)

AppendIterator::append — Ajoute un itérateur à la fin

Description

public void AppendIterator::append ( Iterator $iterator )

Ajoute un itérateur à la fin.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur à ajouter.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • AppendIterator::__construct - Construit un objet AppendIterator

AppendIterator
AppendIterator::__construct
AppendIterator


Construit un objet AppendIterator

AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual

AppendIterator::__construct

(PHP 5 >= 5.1.0)

AppendIterator::__construct — Construit un objet AppendIterator

Description

AppendIterator::__construct ( void )

Construit un objet AppendIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • AppendIterator::append - Ajoute un itérateur à la fin

AppendIterator::append
AppendIterator::current
AppendIterator


Lit la valeur courante

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator
PHP Manual

AppendIterator::current

(PHP 5 >= 5.1.0)

AppendIterator::current — Lit la valeur courante

Description

public void AppendIterator::current ( void )

Lit la valeur courante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur courante si elle est valide, et NULL sinon.

Voir aussi

  • AppendIterator::next - Passe à l'élément suivant

AppendIterator::__construct
AppendIterator::getArrayIterator
AppendIterator


La méthode AppendIterator::getArrayIterator

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator
PHP Manual

AppendIterator::getArrayIterator

(PHP 5 >= 5.1.0)

AppendIterator::getArrayIterator — La méthode AppendIterator::getArrayIterator

Description

public void AppendIterator::getArrayIterator ( void )

La méthode AppendIterator::getArrayIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • AppendIterator::getInnerIterator - Lit l'itérateur interne

AppendIterator::current
AppendIterator::getInnerIterator
AppendIterator


Lit l'itérateur interne

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator
PHP Manual

AppendIterator::getInnerIterator

(PHP 5 >= 5.1.0)

AppendIterator::getInnerIterator — Lit l'itérateur interne

Description

public void AppendIterator::getInnerIterator ( void )

Lit l'itérateur interne.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur interne courant.

Voir aussi

  • AppendIterator::getArrayIterator - La méthode AppendIterator::getArrayIterator

AppendIterator::getArrayIterator
AppendIterator::getIteratorIndex
AppendIterator


Lit l'index d'un itérateur

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator
PHP Manual

AppendIterator::getIteratorIndex

(PHP 5 >= 5.1.0)

AppendIterator::getIteratorIndex — Lit l'index d'un itérateur

Description

public void AppendIterator::getIteratorIndex ( void )

Lit l'index d'un itérateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'index des itérateurs.

Voir aussi

  • AppendIterator::getInnerIterator - Lit l'itérateur interne

AppendIterator::getInnerIterator
AppendIterator::key
AppendIterator


Lit la clé courante

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator
PHP Manual

AppendIterator::key

(PHP 5 >= 5.1.0)

AppendIterator::key — Lit la clé courante

Description

public void AppendIterator::key ( void )

Lit la clé courante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé courante si c'est possible, et NULL sinon.

Voir aussi

  • AppendIterator::current - Lit la valeur courante

AppendIterator::getIteratorIndex
AppendIterator::next
AppendIterator


Passe à l'élément suivant

AppendIterator::key
AppendIterator::rewind
AppendIterator
PHP Manual

AppendIterator::next

(PHP 5 >= 5.1.0)

AppendIterator::next — Passe à l'élément suivant

Description

public void AppendIterator::next ( void )

Passe à l'élément suivant. Si le prochain élément est un autre itérateur, alors il remet cet itérateur à zéro.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • AppendIterator::rewind - Remet l'itérateur au début

AppendIterator::key
AppendIterator::rewind
AppendIterator


Remet l'itérateur au début

AppendIterator::next
AppendIterator::valid
AppendIterator
PHP Manual

AppendIterator::rewind

(PHP 5 >= 5.1.0)

AppendIterator::rewind — Remet l'itérateur au début

Description

public void AppendIterator::rewind ( void )

Remet l'itérateur au premier élément.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • AppendIterator::next - Passe à l'élément suivant

AppendIterator::next
AppendIterator::valid
AppendIterator


Vérifie la validité de l'élément courant

AppendIterator::rewind
ArrayIterator
AppendIterator
PHP Manual

AppendIterator::valid

(PHP 5 >= 5.1.0)

AppendIterator::valid — Vérifie la validité de l'élément courant

Description

public void AppendIterator::valid ( void )

Vérifie la validité de l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • AppendIterator::append - Ajoute un itérateur à la fin

AppendIterator::rewind
ArrayIterator
AppendIterator


La classe ArrayIterator

Introduction

Cet itérateur permet de réinitialiser et de modifier les valeurs et les clés lors de l'itération de tableaux et d'objets.

Lorsque vous voulez passer en revue le même tableau plusieurs fois, vous devez instancier ArrayObject et le laisser créer les objets ArrayIterator qui s'y réfère, soit en utilisant l'instruction foreach, soit en appelant la méthode getIterator()() manuellement.

Synopsis de la classe

ArrayIterator
ArrayIterator implements Iterator , Traversable , ArrayAccess , SeekableIterator , Countable {
/* Méthodes */
public void append ( mixed $value )
public void asort ( void )
__construct ( mixed $array )
public void count ( void )
mixed current ( void )
public array getArrayCopy ( void )
public void getFlags ( void )
mixed key ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
void next ( void )
public void offsetExists ( string $index )
public mixed offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
void rewind ( void )
void seek ( int $position )
public string serialize ( void )
public void setFlags ( string $flags )
public void uasort ( string $cmp_function )
public void uksort ( string $cmp_function )
public string unserialize ( string $serialized )
bool valid ( void )
}

Sommaire

  • ArrayIterator::append — Ajoute un élément
  • ArrayIterator::asort — Trie un tableau par les valeurs
  • ArrayIterator::__construct — Construit un ArrayIterator
  • ArrayIterator::count — Compte les éléments
  • ArrayIterator::current — Retourne l'entrée courante du tableau
  • ArrayIterator::getArrayCopy — Récupère la copie d'un tableau
  • ArrayIterator::getFlags — Récupère un comportement
  • ArrayIterator::key — Retourne la clé courante du tableau
  • ArrayIterator::ksort — Trie un tableau par les clés
  • ArrayIterator::natcasesort — Trie naturellement un tableau, en ne tenant pas compte de la casse
  • ArrayIterator::natsort — Trie naturellement un tableau
  • ArrayIterator::next — Se déplace vers la prochaine entrée
  • ArrayIterator::offsetExists — Vérifie si une position existe
  • ArrayIterator::offsetGet — Récupère la valeur pour une position
  • ArrayIterator::offsetSet — Définit la valeur d'une position
  • ArrayIterator::offsetUnset — Efface la valeur d'une position
  • ArrayIterator::rewind — Revient à la position initiale
  • ArrayIterator::seek — Avance à une position donnée
  • ArrayIterator::serialize — Linéarisation
  • ArrayIterator::setFlags — Définit des comportements
  • ArrayIterator::uasort — Tri défini par l'utilisateur
  • ArrayIterator::uksort — Trie défini par l'utilisateur
  • ArrayIterator::unserialize — Délinéarisation
  • ArrayIterator::valid — Vérifie si un tableau contient d'autres entrées
AppendIterator::valid
ArrayIterator::append
Itérateurs


Ajoute un élément

ArrayIterator
ArrayIterator::asort
ArrayIterator
PHP Manual

ArrayIterator::append

(PHP 5 >= 5.0.0)

ArrayIterator::append — Ajoute un élément

Description

public void ArrayIterator::append ( mixed $value )

Ajoute une valeur comme dernier élément.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

value

La valeur à ajouter.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette méthode ne peut être appelée lorsque ArrayIterator se réfère à un objet.

Voir aussi

  • ArrayIterator::next - Se déplace vers la prochaine entrée

ArrayIterator
ArrayIterator::asort
ArrayIterator


Trie un tableau par les valeurs

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator
PHP Manual

ArrayIterator::asort

(PHP 5 >= 5.2.0)

ArrayIterator::asort — Trie un tableau par les valeurs

Description

public void ArrayIterator::asort ( void )

Trie un tableau par les valeurs.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::ksort - Trie un tableau par les clés
  • ArrayIterator::natcasesort - Trie naturellement un tableau, en ne tenant pas compte de la casse
  • ArrayIterator::natsort - Trie naturellement un tableau

ArrayIterator::append
ArrayIterator::__construct
ArrayIterator


Construit un ArrayIterator

ArrayIterator::asort
ArrayIterator::count
ArrayIterator
PHP Manual

ArrayIterator::__construct

(PHP 5 >= 5.0.0)

ArrayIterator::__construct — Construit un ArrayIterator

Description

ArrayIterator::__construct ( mixed $array )

Construit un objet ArrayIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

array

Le tableau ou l'objet à itérer.

Valeurs de retour

Un objet ArrayIterator.

Erreurs / Exceptions

ArrayIterator::__construct() émet une exception InvalidArgumentException si une variable autre qu'un tableau ou un objet est fourni.

Voir aussi

  • ArrayIterator::getArrayCopy - Récupère la copie d'un tableau

ArrayIterator::asort
ArrayIterator::count
ArrayIterator


Compte les éléments

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator
PHP Manual

ArrayIterator::count

(PHP 5 >= 5.0.0)

ArrayIterator::count — Compte les éléments

Description

public void ArrayIterator::count ( void )

Récupère le nombre d'éléments d'un tableau ou le nombre de propriétés publiques d'un objet..

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The number.

Voir aussi

  • ArrayIterator::getFlags - Récupère un comportement

ArrayIterator::__construct
ArrayIterator::current
ArrayIterator


Retourne l'entrée courante du tableau

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator
PHP Manual

ArrayIterator::current

(PHP 5 >= 5.0.0)

ArrayIterator::current — Retourne l'entrée courante du tableau

Description

mixed ArrayIterator::current ( void )

Retourne l'entrée courante du tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'entrée courante du tableau.

Exemples

Exemple #1 Exemple avec ArrayIterator::current()

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

L'exemple ci-dessus va afficher :

1 => one
2 => two
3 => three

ArrayIterator::count
ArrayIterator::getArrayCopy
ArrayIterator


Récupère la copie d'un tableau

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator
PHP Manual

ArrayIterator::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayIterator::getArrayCopy — Récupère la copie d'un tableau

Description

public array ArrayIterator::getArrayCopy ( void )

Récupère la copie d'un tableau.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une copie d'un tableau, ou un tableau de propriétés publiques si if ArrayIterator se réfère à un objet.

Voir aussi

  • ArrayIterator::valid - Vérifie si un tableau contient d'autres entrées

ArrayIterator::current
ArrayIterator::getFlags
ArrayIterator


Récupère un comportement

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator
PHP Manual

ArrayIterator::getFlags

(PHP 5 >= 5.1.0)

ArrayIterator::getFlags — Récupère un comportement

Description

public void ArrayIterator::getFlags ( void )

Récupère le comportement courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le comportement courant.

Voir aussi

  • ArrayIterator::valid - Vérifie si un tableau contient d'autres entrées

ArrayIterator::getArrayCopy
ArrayIterator::key
ArrayIterator


Retourne la clé courante du tableau

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator
PHP Manual

ArrayIterator::key

(PHP 5 >= 5.0.0)

ArrayIterator::key — Retourne la clé courante du tableau

Description

mixed ArrayIterator::key ( void )

Retourne la clé courante du tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé courante du tableau.

Exemples

Exemple #1 Exemple avec ArrayIterator::key()

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

ArrayIterator::getFlags
ArrayIterator::ksort
ArrayIterator


Trie un tableau par les clés

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator
PHP Manual

ArrayIterator::ksort

(PHP 5 >= 5.2.0)

ArrayIterator::ksort — Trie un tableau par les clés

Description

public void ArrayIterator::ksort ( void )

Trie un tableau par les clés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::asort - Trie un tableau par les valeurs
  • ArrayIterator::natcasesort - Trie naturellement un tableau, en ne tenant pas compte de la casse
  • ArrayIterator::natsort - Trie naturellement un tableau

ArrayIterator::key
ArrayIterator::natcasesort
ArrayIterator


Trie naturellement un tableau, en ne tenant pas compte de la casse

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator
PHP Manual

ArrayIterator::natcasesort

(PHP 5 >= 5.2.0)

ArrayIterator::natcasesort — Trie naturellement un tableau, en ne tenant pas compte de la casse

Description

public void ArrayIterator::natcasesort ( void )

Trie les entrées par les valeurs, en utilisant un algorithme insensible à la casse d'ordre naturel.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::asort - Trie un tableau par les valeurs
  • ArrayIterator::ksort - Trie un tableau par les clés
  • ArrayIterator::natsort - Trie naturellement un tableau
  • natcasesort() - Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse

ArrayIterator::ksort
ArrayIterator::natsort
ArrayIterator


Trie naturellement un tableau

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator
PHP Manual

ArrayIterator::natsort

(PHP 5 >= 5.2.0)

ArrayIterator::natsort — Trie naturellement un tableau

Description

public void ArrayIterator::natsort ( void )

Trie les entrées par les valeurs, en utilisant l'algorithme d'ordre naturel.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::asort - Trie un tableau par les valeurs
  • ArrayIterator::ksort - Trie un tableau par les clés
  • ArrayIterator::natcasesort - Trie naturellement un tableau, en ne tenant pas compte de la casse
  • natsort() - Trie un tableau avec l'algorithme à "ordre naturel"

ArrayIterator::natcasesort
ArrayIterator::next
ArrayIterator


Se déplace vers la prochaine entrée

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator
PHP Manual

ArrayIterator::next

(PHP 5 >= 5.0.0)

ArrayIterator::next — Se déplace vers la prochaine entrée

Description

void ArrayIterator::next ( void )

Se déplace vers la prochaine entrée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayIterator::next()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

L'exemple ci-dessus va afficher :

0 => zero
1 => one

ArrayIterator::natsort
ArrayIterator::offsetExists
ArrayIterator


Vérifie si une position existe

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator
PHP Manual

ArrayIterator::offsetExists

(PHP 5 >= 5.0.0)

ArrayIterator::offsetExists — Vérifie si une position existe

Description

public void ArrayIterator::offsetExists ( string $index )

Vérifie si une position existe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

La position à vérifier.

Valeurs de retour

TRUE si la position existe, FALSE sinon.

Voir aussi

  • ArrayIterator::valid - Vérifie si un tableau contient d'autres entrées

ArrayIterator::next
ArrayIterator::offsetGet
ArrayIterator


Récupère la valeur pour une position

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator
PHP Manual

ArrayIterator::offsetGet

(PHP 5 >= 5.0.0)

ArrayIterator::offsetGet — Récupère la valeur pour une position

Description

public mixed ArrayIterator::offsetGet ( string $index )

Récupère la valeur pour une position donnée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

La position dont on doit récupérer la valeur.

Valeurs de retour

La valeur à la position index.

Voir aussi

  • ArrayIterator::offSetSet - Définit la valeur d'une position
  • ArrayIterator::offUnSet

ArrayIterator::offsetExists
ArrayIterator::offsetSet
ArrayIterator


Définit la valeur d'une position

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator
PHP Manual

ArrayIterator::offsetSet

(PHP 5 >= 5.0.0)

ArrayIterator::offsetSet — Définit la valeur d'une position

Description

public void ArrayIterator::offsetSet ( string $index , string $newval )

Définit la valeur pour une position donnée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index à définir.

newval

La nouvelle valeur à stocker à l'index donné.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::offSetGet - Récupère la valeur pour une position
  • ArrayIterator::offSetUnset - Efface la valeur d'une position

ArrayIterator::offsetGet
ArrayIterator::offsetUnset
ArrayIterator


Efface la valeur d'une position

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator
PHP Manual

ArrayIterator::offsetUnset

(PHP 5 >= 5.0.0)

ArrayIterator::offsetUnset — Efface la valeur d'une position

Description

public void ArrayIterator::offsetUnset ( string $index )

Efface la valeur d'une position.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

La position à effacer.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::offSetGet - Récupère la valeur pour une position
  • ArrayIterator::offSetSet - Définit la valeur d'une position

ArrayIterator::offsetSet
ArrayIterator::rewind
ArrayIterator


Revient à la position initiale

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator
PHP Manual

ArrayIterator::rewind

(PHP 5 >= 5.0.0)

ArrayIterator::rewind — Revient à la position initiale

Description

void ArrayIterator::rewind ( void )

Revient à la position initiale.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayIterator::rewind()

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); // revient au début
echo $iterator->key(); //0
?>

ArrayIterator::offsetUnset
ArrayIterator::seek
ArrayIterator


Avance à une position donnée

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator
PHP Manual

ArrayIterator::seek

(PHP 5 >= 5.0.0)

ArrayIterator::seek — Avance à une position donnée

Description

void ArrayIterator::seek ( int $position )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

position

La position désirée.

Valeurs de retour

Aucune valeur n'est retournée.

ArrayIterator::rewind
ArrayIterator::serialize
ArrayIterator


Linéarisation

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator
PHP Manual

ArrayIterator::serialize

(PHP 5 >= 5.3.0)

ArrayIterator::serialize — Linéarisation

Description

public string ArrayIterator::serialize ( void )

Linéarisation.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un ArrayIterator, linéarisé.

Voir aussi

  • ArrayIterator::unserialize - Délinéarisation

ArrayIterator::seek
ArrayIterator::setFlags
ArrayIterator


Définit des comportements

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator
PHP Manual

ArrayIterator::setFlags

(PHP 5 >= 5.1.0)

ArrayIterator::setFlags — Définit des comportements

Description

public void ArrayIterator::setFlags ( string $flags )

Définit des comportements.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

flags

Un masque, comme suit :

  • 0 = Les propriétés d'un objet ont leur fonctionnalité normale lorsqu'on y accède comme des listes (var_dump, foreach, etc.).
  • 1 = Les indices d'un tableau peuvent être accédés comme des propriétés en mode lecture/écriture.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::getFlags - Récupère un comportement

ArrayIterator::serialize
ArrayIterator::uasort
ArrayIterator


Tri défini par l'utilisateur

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator
PHP Manual

ArrayIterator::uasort

(PHP 5 >= 5.2.0)

ArrayIterator::uasort — Tri défini par l'utilisateur

Description

public void ArrayIterator::uasort ( string $cmp_function )

Tri les entrées par les valeurs, en utilisant une fonction définie par l'utilisateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

cmp_function

La fonction de comparaison à utiliser pour le tri.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::uksort - Trie défini par l'utilisateur
  • usort() - Trie un tableau en utilisant une fonction de comparaison

ArrayIterator::setFlags
ArrayIterator::uksort
ArrayIterator


Trie défini par l'utilisateur

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator
PHP Manual

ArrayIterator::uksort

(PHP 5 >= 5.2.0)

ArrayIterator::uksort — Trie défini par l'utilisateur

Description

public void ArrayIterator::uksort ( string $cmp_function )

Trie les entrées par les clés, en utilisant une fonction définie par l'utilisateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

cmp_function

La fonction de comparaison pour le tri.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ArrayIterator::uasort - Tri défini par l'utilisateur
  • uksort() - Trie un tableau par ses clés en utilisant une fonction de rappel

ArrayIterator::uasort
ArrayIterator::unserialize
ArrayIterator


Délinéarisation

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator
PHP Manual

ArrayIterator::unserialize

(PHP 5 >= 5.3.0)

ArrayIterator::unserialize — Délinéarisation

Description

public string ArrayIterator::unserialize ( string $serialized )

Délinéarisation.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

serialized

L'objet ArrayIterator linéarisé.

Valeurs de retour

The ArrayIterator.

Voir aussi

  • ArrayIterator::serialize - Linéarisation

ArrayIterator::uksort
ArrayIterator::valid
ArrayIterator


Vérifie si un tableau contient d'autres entrées

ArrayIterator::unserialize
CachingIterator
ArrayIterator
PHP Manual

ArrayIterator::valid

(PHP 5 >= 5.0.0)

ArrayIterator::valid — Vérifie si un tableau contient d'autres entrées

Description

bool ArrayIterator::valid ( void )

Vérifie si un tableau contient d'autres entrées.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayIterator::valid()

<?php
$array = array('1' => 'one');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // avance au prochain élément

//bool(false) car il n'y a qu'un seul élément dans le tableau
var_dump($iterator->valid());
?>

ArrayIterator::unserialize
CachingIterator
ArrayIterator


La classe CachingIterator

Introduction

Cet objet supporte les itérations en cache sur un autre itérateur.

Synopsis de la classe

CachingIterator
CachingIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator , ArrayAccess , Countable {
/* Constantes */
const integer CachingIterator::CALL_TOSTRING = 1 ;
const integer CachingIterator::CATCH_GET_CHILD = 16 ;
const integer CachingIterator::TOSTRING_USE_KEY = 2 ;
const integer CachingIterator::TOSTRING_USE_CURRENT = 4 ;
const integer CachingIterator::TOSTRING_USE_INNER = 8 ;
const integer CachingIterator::FULL_CACHE = 256 ;
/* Méthodes */
__construct ( Iterator $iterator [, string $flags ] )
public void count ( void )
public void current ( void )
public void getCache ( void )
public void getFlags ( void )
public void getInnerIterator ( void )
public void hasNext ( void )
public void key ( void )
public void next ( void )
public void offsetExists ( string $index )
public void offsetGet ( string $index )
public void offsetSet ( string $index , string $newval )
public void offsetUnset ( string $index )
public void rewind ( void )
public void setFlags ( bitmask $flags )
public void __toString ( void )
public void valid ( void )
}

Constantes pré-définies

CachingIterator Node Types

CachingIterator::CALL_TOSTRING

Description here...

CachingIterator::CATCH_GET_CHILD

Description here...

CachingIterator::TOSTRING_USE_KEY

Description here...

CachingIterator::TOSTRING_USE_CURRENT

Description here...

CachingIterator::TOSTRING_USE_INNER

Description here...

CachingIterator::FULL_CACHE

Cache all read data.

Sommaire

  • CachingIterator::__construct — Construit un nouvel objet CachingIterator pour l'itérateur
  • CachingIterator::count — Le nombre d'éléments de l'itérateur
  • CachingIterator::current — Retourne l'élément courant
  • CachingIterator::getCache — Lit le contenu du cache
  • CachingIterator::getFlags — Lit les options utilisées
  • CachingIterator::getInnerIterator — Retourne l'itérateur sous-jacent
  • CachingIterator::hasNext — Vérifie si l'itérateur interne a un élément suivant valide
  • CachingIterator::key — Retourne l'index de l'élément courant
  • CachingIterator::next — Déplace l'itérateur à la position suivante
  • CachingIterator::offsetExists — Vérifie l'existence d'un offset
  • CachingIterator::offsetGet — L'élément à lire à la position donnée
  • CachingIterator::offsetSet — Affecte un nouvel élément à la position donnée
  • CachingIterator::offsetUnset — Détruit un élément à l'offset indiqué
  • CachingIterator::rewind — Replace l'itérateur au début
  • CachingIterator::setFlags — Modifie les options du CachingIterator
  • CachingIterator::__toString — Retourne la représentation de l'élément courant sous forme de chaîne
  • CachingIterator::valid — Vérifie si l'élément courant est valide
ArrayIterator::valid
CachingIterator::__construct
Itérateurs


Construit un nouvel objet CachingIterator pour l'itérateur

CachingIterator
CachingIterator::count
CachingIterator
PHP Manual

CachingIterator::__construct

(PHP 5)

CachingIterator::__construct — Construit un nouvel objet CachingIterator pour l'itérateur

Description

CachingIterator::__construct ( Iterator $iterator [, string $flags ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

Iterator à mettre en cache

flags

Champ d'options.

CachingIterator
CachingIterator::count
CachingIterator


Le nombre d'éléments de l'itérateur

CachingIterator::__construct
CachingIterator::current
CachingIterator
PHP Manual

CachingIterator::count

(PHP 5 >= 5.2.2)

CachingIterator::count — Le nombre d'éléments de l'itérateur

Description

public void CachingIterator::count ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le nombre d'éléments de l'itérateur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre d'éléments sur lequel travaille l'itérateur.

CachingIterator::__construct
CachingIterator::current
CachingIterator


Retourne l'élément courant

CachingIterator::count
CachingIterator::getCache
CachingIterator
PHP Manual

CachingIterator::current

(PHP 5)

CachingIterator::current — Retourne l'élément courant

Description

public void CachingIterator::current ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'élément courant de l'itération.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Suivant le type de l'élément courant.

Voir aussi

  • Iterator::current - Retourne l'élément courant

CachingIterator::count
CachingIterator::getCache
CachingIterator


Lit le contenu du cache

CachingIterator::current
CachingIterator::getFlags
CachingIterator
PHP Manual

CachingIterator::getCache

(PHP 5 >= 5.2.0)

CachingIterator::getCache — Lit le contenu du cache

Description

public void CachingIterator::getCache ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

CachingIterator::current
CachingIterator::getFlags
CachingIterator


Lit les options utilisées

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator
PHP Manual

CachingIterator::getFlags

(PHP 5 >= 5.2.0)

CachingIterator::getFlags — Lit les options utilisées

Description

public void CachingIterator::getFlags ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Lit le champ d'options utilisé par cet objet CachingIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Description...

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator


Retourne l'itérateur sous-jacent

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator
PHP Manual

CachingIterator::getInnerIterator

(PHP 5)

CachingIterator::getInnerIterator — Retourne l'itérateur sous-jacent

Description

public void CachingIterator::getInnerIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne l'itérateur utilisé par le constructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet qui implémente l'interface Iterator.

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator


Vérifie si l'itérateur interne a un élément suivant valide

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator
PHP Manual

CachingIterator::hasNext

(PHP 5)

CachingIterator::hasNext — Vérifie si l'itérateur interne a un élément suivant valide

Description

public void CachingIterator::hasNext ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

CachingIterator::getInnerIterator
CachingIterator::key
CachingIterator


Retourne l'index de l'élément courant

CachingIterator::hasNext
CachingIterator::next
CachingIterator
PHP Manual

CachingIterator::key

(PHP 5)

CachingIterator::key — Retourne l'index de l'élément courant

Description

public void CachingIterator::key ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Cette méthode retourne l'index de l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

CachingIterator::hasNext
CachingIterator::next
CachingIterator


Déplace l'itérateur à la position suivante

CachingIterator::key
CachingIterator::offsetExists
CachingIterator
PHP Manual

CachingIterator::next

(PHP 5)

CachingIterator::next — Déplace l'itérateur à la position suivante

Description

public void CachingIterator::next ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Déplace l'itérateur à la position suivante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

CachingIterator::key
CachingIterator::offsetExists
CachingIterator


Vérifie l'existence d'un offset

CachingIterator::next
CachingIterator::offsetGet
CachingIterator
PHP Manual

CachingIterator::offsetExists

(PHP 5 >= 5.2.0)

CachingIterator::offsetExists — Vérifie l'existence d'un offset

Description

public void CachingIterator::offsetExists ( string $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index qui est étudié.

Valeurs de retour

Retourne TRUE si un élément existe à la position indiquée, et FALSE sinon.

CachingIterator::next
CachingIterator::offsetGet
CachingIterator


L'élément à lire à la position donnée

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator
PHP Manual

CachingIterator::offsetGet

(PHP 5 >= 5.2.0)

CachingIterator::offsetGet — L'élément à lire à la position donnée

Description

public void CachingIterator::offsetGet ( string $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index de l'élément à lire

Valeurs de retour

Description...

CachingIterator::offsetExists
CachingIterator::offsetSet
CachingIterator


Affecte un nouvel élément à la position donnée

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator
PHP Manual

CachingIterator::offsetSet

(PHP 5 >= 5.2.0)

CachingIterator::offsetSet — Affecte un nouvel élément à la position donnée

Description

public void CachingIterator::offsetSet ( string $index , string $newval )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index de l'élément à affecter.

newval

La nouvelle valeur de index.

Valeurs de retour

Aucune valeur n'est retournée.

CachingIterator::offsetGet
CachingIterator::offsetUnset
CachingIterator


Détruit un élément à l'offset indiqué

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator
PHP Manual

CachingIterator::offsetUnset

(PHP 5 >= 5.2.0)

CachingIterator::offsetUnset — Détruit un élément à l'offset indiqué

Description

public void CachingIterator::offsetUnset ( string $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index de l'élément qui sera détruit.

Valeurs de retour

Aucune valeur n'est retournée.

CachingIterator::offsetSet
CachingIterator::rewind
CachingIterator


Replace l'itérateur au début

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator
PHP Manual

CachingIterator::rewind

(PHP 5)

CachingIterator::rewind — Replace l'itérateur au début

Description

public void CachingIterator::rewind ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Replace l'itérateur au début.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

CachingIterator::offsetUnset
CachingIterator::setFlags
CachingIterator


Modifie les options du CachingIterator

CachingIterator::rewind
CachingIterator::__toString
CachingIterator
PHP Manual

CachingIterator::setFlags

(PHP 5 >= 5.2.0)

CachingIterator::setFlags — Modifie les options du CachingIterator

Description

public void CachingIterator::setFlags ( bitmask $flags )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Modifie les options de l'itérateur CachingIterator.

Liste de paramètres

flags

Champ d'option à configurer.

Valeurs de retour

Aucune valeur n'est retournée.

CachingIterator::rewind
CachingIterator::__toString
CachingIterator


Retourne la représentation de l'élément courant sous forme de chaîne

CachingIterator::setFlags
CachingIterator::valid
CachingIterator
PHP Manual

CachingIterator::__toString

(PHP 5)

CachingIterator::__toString — Retourne la représentation de l'élément courant sous forme de chaîne

Description

public void CachingIterator::__toString ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la représentation de l'élément courant sous forme de chaîne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La représentation de l'élément courant.

CachingIterator::setFlags
CachingIterator::valid
CachingIterator


Vérifie si l'élément courant est valide

CachingIterator::__toString
DirectoryIterator
CachingIterator
PHP Manual

CachingIterator::valid

(PHP 5)

CachingIterator::valid — Vérifie si l'élément courant est valide

Description

public void CachingIterator::valid ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie si l'élément courant est valide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

CachingIterator::__toString
DirectoryIterator
CachingIterator


La classe DirectoryIterator

Introduction

La classe DirectoryIterator fournit une interface simple pour lire le contenu d'un système de fichiers.

Synopsis de la classe

DirectoryIterator
DirectoryIterator extends SplFileInfo implements Iterator , Traversable , SeekableIterator {
/* Méthodes */
__construct ( string $path )
public DirectoryIterator current ( void )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public string getPathname ( void )
public int getPerms ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isDot ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $position )
public string __toString ( void )
public bool valid ( void )
}

Sommaire

  • DirectoryIterator::__construct — Construit un nouvel itérateur de dossier à partir d'un chemin
  • DirectoryIterator::current — Retourne l'élément courant du DirectoryIterator
  • DirectoryIterator::getATime — Lit la date et l'heure du dernier accès à un fichier
  • DirectoryIterator::getBasename — Lit le nom de dossier de l'élément DirectoryIterator
  • DirectoryIterator::getCTime — Récupère l'heure de création de l'inode d'un fichier
  • DirectoryIterator::getFilename — Retourne le nom de l'entrée courante du dossier
  • DirectoryIterator::getGroup — Récupère le groupe d'un fichier
  • DirectoryIterator::getInode — Récupère l'inode d'un fichier
  • DirectoryIterator::getMTime — Récupère l'heure de la dernière modification d'un fichier
  • DirectoryIterator::getOwner — Récupère le propriétaire d'un fichier
  • DirectoryIterator::getPath — Retourne le chemin du dossier
  • DirectoryIterator::getPathname — Retourne le chemin et le nom de l'entrée courante du dossier
  • DirectoryIterator::getPerms — Récupère les permissions d'un fichier
  • DirectoryIterator::getSize — Récupère la taille d'un fichier
  • DirectoryIterator::getType — Récupère le type d'un fichier
  • DirectoryIterator::isDir — Vérifie si un fichier est un dossier
  • DirectoryIterator::isDot — Retourne TRUE si l'entrée courante est '.' ou '..'
  • DirectoryIterator::isExecutable — Vérifie si le fichier est exécutable
  • DirectoryIterator::isFile — Vérifie si l'entrée est un fichier normal
  • DirectoryIterator::isLink — Vérifie si le fichier est un lien symbolique
  • DirectoryIterator::isReadable — Vérifie si le fichier est accessible en lecture
  • DirectoryIterator::isWritable — Vérifie si le fichier peut être modifié
  • DirectoryIterator::key — Retourne l'entrée courante du dossier
  • DirectoryIterator::next — Se déplace vers la prochaine entrée
  • DirectoryIterator::rewind — Revient au début du dossier
  • DirectoryIterator::seek — Déplace le pointeur dans un itérateur DirectoryIterator
  • DirectoryIterator::__toString — Lit le nom du fichier
  • DirectoryIterator::valid — Vérifie si le répertoire contient encore des entrées
CachingIterator::valid
DirectoryIterator::__construct
Itérateurs


Construit un nouvel itérateur de dossier à partir d'un chemin

DirectoryIterator
DirectoryIterator::current
DirectoryIterator
PHP Manual

DirectoryIterator::__construct

(PHP 5)

DirectoryIterator::__construct — Construit un nouvel itérateur de dossier à partir d'un chemin

Description

DirectoryIterator::__construct ( string $path )

Construit un nouvel itérateur de dossier à partir d'un chemin.

Liste de paramètres

path

Le chemin du dossier à parcourir.

Erreurs / Exceptions

Émet une exception UnexpectedValueException si le paramètre path ne peut pas être ouvert.

Exemples

Exemple #1 Exemple avec DirectoryIterator::__construct

Cet exemple va lister le contenu du dossier qui contient le script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>

Voir aussi

  • SplFileInfo
  • Iterator

DirectoryIterator
DirectoryIterator::current
DirectoryIterator


Retourne l'élément courant du DirectoryIterator

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator
PHP Manual

DirectoryIterator::current

(PHP 5)

DirectoryIterator::current — Retourne l'élément courant du DirectoryIterator

Description

public DirectoryIterator DirectoryIterator::current ( void )

Retourne l'élément courant du DirectoryIterator

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'élément courant du DirectoryIterator

Exemples

Exemple #1 Exemple avec DirectoryIterator::current

Cet exemple liste tout le contenu du dossier courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    $file = $iterator->current();
    echo $iterator->key() . " => " . $file->getFilename() . "\n";
    $iterator->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0 => .
1 => ..
2 => apple.jpg
3 => banana.jpg
4 => index.php
5 => pear.jpg

Voir aussi

  • DirectoryIterator::key - Retourne l'entrée courante du dossier
  • DirectoryIterator::next - Se déplace vers la prochaine entrée
  • DirectoryIterator::rewind - Revient au début du dossier
  • DirectoryIterator::valid - Vérifie si le répertoire contient encore des entrées
  • Iterator::current - Retourne l'élément courant

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator


Lit la date et l'heure du dernier accès à un fichier

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator
PHP Manual

DirectoryIterator::getATime

(PHP 5)

DirectoryIterator::getATime — Lit la date et l'heure du dernier accès à un fichier

Description

public int DirectoryIterator::getATime ( void )

Récupère la date et l'heure du dernier accès au fichier courant de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La date et l'heure du dernier accès au fichier, sous forme de timestamp Unix.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getATime

Affiche la liste des fichiers dans le dossier courant, avec leur date d'accès.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getATime() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pear.jpg 12240047979

Voir aussi

  • DirectoryIterator::getCTime - Récupère l'heure de création de l'inode d'un fichier
  • DirectoryIterator::getMTime - Récupère l'heure de la dernière modification d'un fichier
  • fileatime() - Renvoie la date à laquelle le fichier a été accédé pour la dernière fois

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator


Lit le nom de dossier de l'élément DirectoryIterator

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator
PHP Manual

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2)

DirectoryIterator::getBasename — Lit le nom de dossier de l'élément DirectoryIterator

Description

public string DirectoryIterator::getBasename ([ string $suffix ] )

Lit le nom de dossier de l'élément DirectoryIterator.

Liste de paramètres

suffix

Si le nom du dossier se termine par le suffixe suffix, il sera retiré.

Valeurs de retour

Le nom du dossier courant.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getBasename

Cet exemple va retourner le chemin complet et le nom de dossier sans le suffixe .jpg, pour les fichiers dans le dossier contenant le script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getBasename() . "\n";
        echo $fileinfo->getBasename('.jpg') . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg
apple
banana.jpg
banana
index.php
index.php
pear.jpg
pear

Voir aussi

  • DirectoryIterator::getFilename - Retourne le nom de l'entrée courante du dossier
  • DirectoryIterator::getPath - Retourne le chemin du dossier
  • DirectoryIterator::getPathname - Retourne le chemin et le nom de l'entrée courante du dossier
  • basename() - Sépare le nom du fichier et le nom du dossier
  • pathinfo() - Retourne des informations sur un chemin système

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator


Récupère l'heure de création de l'inode d'un fichier

DirectoryIterator::getBasename
DirectoryIterator::getFilename
DirectoryIterator
PHP Manual

DirectoryIterator::getCTime

(PHP 5)

DirectoryIterator::getCTime — Récupère l'heure de création de l'inode d'un fichier

Description

public int DirectoryIterator::getCTime ( void )

Récupère l'heure de modification du fichier courant de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la date de dernière modification du fichier, sous forme de timestamp Unix.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getCTime()

Cet exemple montre comment afficher le nom du fichier et la date de dernière modification dans le dossier courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " modifié à " . $fileinfo->getCTime() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg modifié à 1240398312
banana.jpg modifié à 1238605440
index.php modifié à 1240398935
pear.jpg modifié à 1237423740

Voir aussi

  • DirectoryIterator::getATime - Lit la date et l'heure du dernier accès à un fichier
  • DirectoryIterator::getMTime - Récupère l'heure de la dernière modification d'un fichier
  • filectime() - Renvoie la date de dernier accès à un inode

DirectoryIterator::getBasename
DirectoryIterator::getFilename
DirectoryIterator


Retourne le nom de l'entrée courante du dossier

DirectoryIterator::getCTime
DirectoryIterator::getGroup
DirectoryIterator
PHP Manual

DirectoryIterator::getFilename

(PHP 5)

DirectoryIterator::getFilename — Retourne le nom de l'entrée courante du dossier

Description

public string DirectoryIterator::getFilename ( void )

Retourne le nom de l'entrée courante de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom du fichier courant dans l'itérateur DirectoryIterator.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getFilename

Cet exemple liste le contenu du dossier contenant le script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Voir aussi

  • DirectoryIterator::getBasename - Lit le nom de dossier de l'élément DirectoryIterator
  • DirectoryIterator::getPath - Retourne le chemin du dossier
  • DirectoryIterator::getPathname - Retourne le chemin et le nom de l'entrée courante du dossier
  • pathinfo() - Retourne des informations sur un chemin système

DirectoryIterator::getCTime
DirectoryIterator::getGroup
DirectoryIterator


Récupère le groupe d'un fichier

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator
PHP Manual

DirectoryIterator::getGroup

(PHP 5)

DirectoryIterator::getGroup — Récupère le groupe d'un fichier

Description

public int DirectoryIterator::getGroup ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère le groupe d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'identifiant du groupe du fichier courant dans l'itérateur DirectoryIterator, au format numérique.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getGroup()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$groupid  = $iterator->getGroup();
echo 'Le dossier appartient au groupe ' . $groupid . "\n";
print_r(posix_getgrgid($groupid));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Le dossier appartient au groupe 42
Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Voir aussi

  • DirectoryIterator::getiNode - Récupère l'inode d'un fichier
  • DirectoryIterator::getOwner - Récupère le propriétaire d'un fichier
  • DirectoryIterator::getPerms - Récupère les permissions d'un fichier
  • filegroup() - Lire le nom du groupe
  • posix_getgrgid() - Retourne des informations sur un groupe

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator


Récupère l'inode d'un fichier

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator
PHP Manual

DirectoryIterator::getInode

(PHP 5)

DirectoryIterator::getInode — Récupère l'inode d'un fichier

Description

public int DirectoryIterator::getInode ( void )

Récupère l'inode d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le numéro d'inode du fichier.

Exemples

Exemple #1 Exemple avec sDirectoryIterator::getInode()

Cet exemple affiche le numéro d'inode du dossier contenant le script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getInode();
?>

Voir aussi

  • DirectoryIterator::getGroup - Récupère le groupe d'un fichier
  • DirectoryIterator::getOwner - Récupère le propriétaire d'un fichier
  • DirectoryIterator::getPerms - Récupère les permissions d'un fichier
  • fileinode() - Lit le numéro d'inode du fichier

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator


Récupère l'heure de la dernière modification d'un fichier

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator
PHP Manual

DirectoryIterator::getMTime

(PHP 5)

DirectoryIterator::getMTime — Récupère l'heure de la dernière modification d'un fichier

Description

public int DirectoryIterator::getMTime ( void )

Récupère l'heure de la dernière modification du fichier courant de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La date de dernière modification du fichier, sous forme de timestamp Unix.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getMTime

Affiche la liste de fichiers du dossier, avec leur date de modification.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getMTime() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg 1240047118
banana.jpg 1240065176
index.php 1240047208
pear.jpg 12240047979

Voir aussi

  • DirectoryIterator::getATime - Lit la date et l'heure du dernier accès à un fichier
  • DirectoryIterator::getCTime - Récupère l'heure de création de l'inode d'un fichier
  • filemtime() - Lit la date de dernière modification du fichier

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator


Récupère le propriétaire d'un fichier

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator
PHP Manual

DirectoryIterator::getOwner

(PHP 5)

DirectoryIterator::getOwner — Récupère le propriétaire d'un fichier

Description

public int DirectoryIterator::getOwner ( void )

Récupère le propriétaire du fichier courant de l'itérateur DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom du propriétaire du fichier, au format numérique.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getOwner

Cet exemple affiche le propriétaire d'un fichier, dans le dossier courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
print_r(posix_getpwuid($iterator->getOwner()));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [name] => tom
    [passwd] => x
    [uid] => 501
    [gid] => 42
    [gecos] => Tom Cat
    [dir] => /home/tom
    [shell] => /bin/bash
)

Voir aussi

  • DirectoryIterator::getGroup - Récupère le groupe d'un fichier
  • DirectoryIterator::getiNode - Récupère l'inode d'un fichier
  • DirectoryIterator::getPerms - Récupère les permissions d'un fichier
  • posix_getpwuid() - Retourne des informations sur un utilisateur

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator


Retourne le chemin du dossier

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator
PHP Manual

DirectoryIterator::getPath

(PHP 5)

DirectoryIterator::getPath — Retourne le chemin du dossier

Description

public string DirectoryIterator::getPath ( void )

Retourne le chemin du dossier du fichier courant dans l'objet DirectoryIterator, sans le nom du fichier lui-même.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le chemin du fichier courant, omettant le nom du fichier, et le séparateur final.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getPath()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getPath();

L'exemple ci-dessus va afficher quelque chose de similaire à :

/home/examples/public_html

Voir aussi

  • DirectoryIterator::getBasename - Lit le nom de dossier de l'élément DirectoryIterator
  • DirectoryIterator::getFilename - Retourne le nom de l'entrée courante du dossier
  • DirectoryIterator::getPathname - Retourne le chemin et le nom de l'entrée courante du dossier
  • pathinfo() - Retourne des informations sur un chemin système

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator


Retourne le chemin et le nom de l'entrée courante du dossier

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator
PHP Manual

DirectoryIterator::getPathname

(PHP 5)

DirectoryIterator::getPathname — Retourne le chemin et le nom de l'entrée courante du dossier

Description

public string DirectoryIterator::getPathname ( void )

Retourne le chemin et le nom de l'entrée courante du dossier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le chemin et le nom du fichier courant. Les dossier ne portent pas de slash final.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getPathname()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getPathname() . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/home/examples/.
/home/examples/..
/home/examples/apple.jpg
/home/examples/banana.jpg
/home/examples/getpathname.php
/home/examples/pear.jpg

Voir aussi

  • DirectoryIterator::getBasename - Lit le nom de dossier de l'élément DirectoryIterator
  • DirectoryIterator::getFilename - Retourne le nom de l'entrée courante du dossier
  • DirectoryIterator::getPath - Retourne le chemin du dossier
  • pathinfo() - Retourne des informations sur un chemin système

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator


Récupère les permissions d'un fichier

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator
PHP Manual

DirectoryIterator::getPerms

(PHP 5)

DirectoryIterator::getPerms — Récupère les permissions d'un fichier

Description

public int DirectoryIterator::getPerms ( void )

Récupère les permissions d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les permissions du fichier, sous forme d'entier.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getPerms()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        $octal_perms = substr(sprintf('%o', $fileinfo->getPerms()), -4);
        echo $fileinfo->getFilename() . " " . $octal_perms . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg 0644
banana.jpg 0644
index.php 0744
pear.jpg 0644

Voir aussi

  • DirectoryIterator::isExecutable - Vérifie si le fichier est exécutable
  • DirectoryIterator::isReadable - Vérifie si le fichier est accessible en lecture
  • DirectoryIterator::isWritable - Vérifie si le fichier peut être modifié

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator


Récupère la taille d'un fichier

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator
PHP Manual

DirectoryIterator::getSize

(PHP 5)

DirectoryIterator::getSize — Récupère la taille d'un fichier

Description

public int DirectoryIterator::getSize ( void )

Récupère la taille du fichier courant de l'itérateur DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la taille du fichier, en octets.

Exemples

Exemple #1 Exemple avec DirectoryIterator::getSize()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . " " . $fileinfo->getSize() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg 15385
banana.jpg 15190
example.php 170
pear.jpg 34406

Voir aussi

  • filesize() - Lit la taille d'un fichier

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator


Récupère le type d'un fichier

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator
PHP Manual

DirectoryIterator::getType

(PHP 5)

DirectoryIterator::getType — Récupère le type d'un fichier

Description

public string DirectoryIterator::getType ( void )

Détermine le type du fichier courant dans l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères représentant le type de fichier. Cela peut être file (fichier normal), link (lien), ou dir (dossier).

Exemples

Exemple #1 Exemple avec DirectoryIterator::getType()

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    echo $fileinfo->getFilename() . " " . $fileinfo->getType() . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

. dir
.. dir
apple.jpg file
banana.jpg file
example.php file
pear.jpg file

Voir aussi

  • DirectoryIterator::isDir - Vérifie si un fichier est un dossier
  • DirectoryIterator::isDot - Retourne TRUE si l'entrée courante est '.' ou '..'
  • DirectoryIterator::isFile - Vérifie si l'entrée est un fichier normal
  • DirectoryIterator::isLink - Vérifie si le fichier est un lien symbolique

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator


Vérifie si un fichier est un dossier

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator
PHP Manual

DirectoryIterator::isDir

(PHP 5)

DirectoryIterator::isDir — Vérifie si un fichier est un dossier

Description

public bool DirectoryIterator::isDir ( void )

Détermine si l'élément courant du dossier DirectoryIterator est un dossier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si c'est un dossier, FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isDir()

Cet exemple liste les dossiers dans le dossier courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isDir()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

.
..
apples
bananas
pears

Voir aussi

  • DirectoryIterator::getType - Récupère le type d'un fichier
  • DirectoryIterator::isDot - Retourne TRUE si l'entrée courante est '.' ou '..'
  • DirectoryIterator::isFile - Vérifie si l'entrée est un fichier normal
  • DirectoryIterator::isLink - Vérifie si le fichier est un lien symbolique

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator


Retourne TRUE si l'entrée courante est '.' ou '..'

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator
PHP Manual

DirectoryIterator::isDot

(PHP 5)

DirectoryIterator::isDot — Retourne TRUE si l'entrée courante est '.' ou '..'

Description

public bool DirectoryIterator::isDot ( void )

Vérifie si l'élément courant est un dossier et, est soit ., soit ...

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'entrée est . ou .., FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isDot

Cet exemple va lister tous les fichiers, en omettant les dossiers . et ...

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg
banana.jpg
example.php
pears.jpg

Voir aussi

  • DirectoryIterator::getType - Récupère le type d'un fichier
  • DirectoryIterator::isDir - Vérifie si un fichier est un dossier
  • DirectoryIterator::isFile - Vérifie si l'entrée est un fichier normal
  • DirectoryIterator::isLink - Vérifie si le fichier est un lien symbolique

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator


Vérifie si le fichier est exécutable

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator
PHP Manual

DirectoryIterator::isExecutable

(PHP 5)

DirectoryIterator::isExecutable — Vérifie si le fichier est exécutable

Description

public bool DirectoryIterator::isExecutable ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie si le fichier courant dans l'itérateur DirectoryIterator est exécutable.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'entrée est exécutable, FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isExecutable()

Cet exemple liste les fichiers dans le dossier, contenant le script courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isExecutable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

exemple.php
monscript.sh

Voir aussi

  • DirectoryIterator::isReadable - Vérifie si le fichier est accessible en lecture
  • DirectoryIterator::isWritable - Vérifie si le fichier peut être modifié
  • DirectoryIterator::getPerms - Récupère les permissions d'un fichier

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator


Vérifie si l'entrée est un fichier normal

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator
PHP Manual

DirectoryIterator::isFile

(PHP 5)

DirectoryIterator::isFile — Vérifie si l'entrée est un fichier normal

Description

public bool DirectoryIterator::isFile ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie si l'entrée est un fichier normal.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'entrée est un fichier régulier, (et que ce n'est ni un lien ni un dossier) FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isFile

Cet exempe va lister tous les fichiers normaux du dossier courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

pomme.jpg
banane.jpg
exemple.php
poire.jpg

Voir aussi

  • DirectoryIterator::getType - Récupère le type d'un fichier
  • DirectoryIterator::isDir - Vérifie si un fichier est un dossier
  • DirectoryIterator::isDot - Retourne TRUE si l'entrée courante est '.' ou '..'
  • DirectoryIterator::isLink - Vérifie si le fichier est un lien symbolique

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator


Vérifie si le fichier est un lien symbolique

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator
PHP Manual

DirectoryIterator::isLink

(PHP 5)

DirectoryIterator::isLink — Vérifie si le fichier est un lien symbolique

Description

public bool DirectoryIterator::isLink ( void )

Vérifie si l'élément courant de l'objet DirectoryIterator est un lien symbolique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'entrée est un lien symbolique, FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isLink

Cet exemple contient une fonction récursive qui va supprimer une arborescence complète de fichiers.

<?php
/**
 * Cette fonction supprime récursivement tous les fichiers d'un dossier,
 * sans suivre les liens symboliques
 *
 * @param string $path chemin du dossier à supprimer.
 */
function removeDir($path) {
    $dir = new DirectoryIterator($path);
    foreach ($dir as $fileinfo) {
        if ($fileinfo->isFile() || $fileinfo->isLink()) {
            unlink($fileinfo->getPathName());
        } elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
            removeDir($fileinfo->getPathName());
        }
    }
    rmdir($path);
}

removeDir('foo');
?>

Voir aussi

  • DirectoryIterator::getType - Récupère le type d'un fichier
  • DirectoryIterator::isDir - Vérifie si un fichier est un dossier
  • DirectoryIterator::isDot - Retourne TRUE si l'entrée courante est '.' ou '..'
  • DirectoryIterator::isFile - Vérifie si l'entrée est un fichier normal

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator


Vérifie si le fichier est accessible en lecture

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator
PHP Manual

DirectoryIterator::isReadable

(PHP 5)

DirectoryIterator::isReadable — Vérifie si le fichier est accessible en lecture

Description

public bool DirectoryIterator::isReadable ( void )

Vérifie si l'élément courant de l'objet DirectoryIterator est accessible en lecture.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si le fichier est accessible en lecture, FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isReadable

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isReadable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg
banana.jpg
example.php
pears.jpg

Voir aussi

  • DirectoryIterator::isExecutable - Vérifie si le fichier est exécutable
  • DirectoryIterator::isWritable - Vérifie si le fichier peut être modifié
  • DirectoryIterator::getPerms - Récupère les permissions d'un fichier

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator


Vérifie si le fichier peut être modifié

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator
PHP Manual

DirectoryIterator::isWritable

(PHP 5)

DirectoryIterator::isWritable — Vérifie si le fichier peut être modifié

Description

public bool DirectoryIterator::isWritable ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie si le fichier courant de l'objet DirectoryIterator est accessible en écriture.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si le fichier est accessible en écriture, FALSE sinon.

Exemples

Exemple #1 Exemple avec DirectoryIterator::isWritable

Cet exemple liste les fichiers et les dossiers qui peuvent être ouverts en écriture dans le dossier courant.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isWritable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apples.txt
bananas.html
pears

Voir aussi

  • DirectoryIterator::getPerms - Récupère les permissions d'un fichier
  • DirectoryIterator::isExecutable - Vérifie si le fichier est exécutable
  • DirectoryIterator::isReadable - Vérifie si le fichier est accessible en lecture

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator


Retourne l'entrée courante du dossier

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator
PHP Manual

DirectoryIterator::key

(PHP 5)

DirectoryIterator::key — Retourne l'entrée courante du dossier

Description

public string DirectoryIterator::key ( void )

Retourne l'entrée courante de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'entrée courante du dossier.

Exemples

Exemple #1 Exemple avec DirectoryIterator::key

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->key() . " => " . $fileinfo->getFilename() . "\n";
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0 => apple.jpg
1 => banana.jpg
2 => index.php
3 => pear.jpg

Voir aussi

  • DirectoryIterator::current - Retourne l'élément courant du DirectoryIterator
  • DirectoryIterator::next - Se déplace vers la prochaine entrée
  • DirectoryIterator::rewind - Revient au début du dossier
  • DirectoryIterator::valid - Vérifie si le répertoire contient encore des entrées
  • Iterator::key - Retourne la clé de l'élément courant

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator


Se déplace vers la prochaine entrée

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator
PHP Manual

DirectoryIterator::next

(PHP 5)

DirectoryIterator::next — Se déplace vers la prochaine entrée

Description

public void DirectoryIterator::next ( void )

Se déplace vers le prochain élément de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec DirectoryIterator::next

Liste le contenu du dossier courant avec une boucle.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Voir aussi

  • DirectoryIterator::current - Retourne l'élément courant du DirectoryIterator
  • DirectoryIterator::key - Retourne l'entrée courante du dossier
  • DirectoryIterator::rewind - Revient au début du dossier
  • DirectoryIterator::valid - Vérifie si le répertoire contient encore des entrées
  • Iterator::next - Se déplace sur l'élément suivant

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator


Revient au début du dossier

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator
PHP Manual

DirectoryIterator::rewind

(PHP 5)

DirectoryIterator::rewind — Revient au début du dossier

Description

public void DirectoryIterator::rewind ( void )

Revient au début de l'objet DirectoryIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec DirectoryIterator::rewind

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the beginning
echo $iterator->key(); //0
?>

Voir aussi

  • DirectoryIterator::current - Retourne l'élément courant du DirectoryIterator
  • DirectoryIterator::key - Retourne l'entrée courante du dossier
  • DirectoryIterator::next - Se déplace vers la prochaine entrée
  • DirectoryIterator::valid - Vérifie si le répertoire contient encore des entrées
  • Iterator::rewind - Replace l'itérateur sur le premier élément

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator


Déplace le pointeur dans un itérateur DirectoryIterator

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator
PHP Manual

DirectoryIterator::seek

(No version information available, might only be in SVN)

DirectoryIterator::seek — Déplace le pointeur dans un itérateur DirectoryIterator

Description

public void DirectoryIterator::seek ( int $position )

Déplace le pointeur dans un itérateur DirectoryIterator.

Liste de paramètres

position

La position à atteindre (les positions commencent à zéro).

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec DirectoryIterator::seek

Recherche le 4eme élément dans le dossier contenant le script courant. Les deux premiers sont généralement . et ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
    echo $iterator->getFilename();
} else {
    echo 'Pas de fichier en position 3';
}
?>

Voir aussi

  • DirectoryIterator::rewind - Revient au début du dossier
  • DirectoryIterator::next - Se déplace vers la prochaine entrée
  • SeekableIterator::seek - Recherche une position

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator


Lit le nom du fichier

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator
PHP Manual

DirectoryIterator::__toString

(PHP 5)

DirectoryIterator::__toString — Lit le nom du fichier

Description

public string DirectoryIterator::__toString ( void )

Lit le nom du fichier de l'élément DirectoryIterator courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom du fichier courant de l'élément DirectoryIterator.

Exemples

Exemple #1 Exemple avec DirectoryIterator::__toString

Cet exemple va lister les éléments du dossier courant.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Voir aussi

  • DirectoryIterator::getFilename - Retourne le nom de l'entrée courante du dossier
  • la méthode magique __toString

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator


Vérifie si le répertoire contient encore des entrées

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator
PHP Manual

DirectoryIterator::valid

(PHP 5)

DirectoryIterator::valid — Vérifie si le répertoire contient encore des entrées

Description

public bool DirectoryIterator::valid ( void )

Vérifie si l'objet DirectoryIterator contient encore des fichiers.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la position est valide, et FALSE sinon;

Exemples

Exemple #1 Exemple avec DirectoryIterator::valid

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

// Loop to end of iterator
while($iterator->valid()) {
    $iterator->next();
}

$iterator->valid(); // FALSE
$iterator->rewind();
$iterator->valid(); // TRUE

?>

Voir aussi

  • DirectoryIterator::current - Retourne l'élément courant du DirectoryIterator
  • DirectoryIterator::key - Retourne l'entrée courante du dossier
  • DirectoryIterator::next - Se déplace vers la prochaine entrée
  • DirectoryIterator::rewind - Revient au début du dossier
  • Iterator::valid - Vérifie si la position courante est valide

DirectoryIterator::__toString
EmptyIterator
DirectoryIterator


La classe EmptyIterator

Introduction

La classe EmptyIterator crée un objet itérateur vide.

Synopsis de la classe

EmptyIterator
EmptyIterator implements Iterator , Traversable {
/* Méthodes */
public void current ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void valid ( void )
}

Sommaire

  • EmptyIterator::current — La méthode EmptyIterator::current
  • EmptyIterator::key — The key() method
  • EmptyIterator::next — La méthode EmptyIterator::next
  • EmptyIterator::rewind — La méthode EmptyIterator::rewind
  • EmptyIterator::valid — La méthode EmptyIterator::valid
DirectoryIterator::valid
EmptyIterator::current
Itérateurs


La méthode EmptyIterator::current

EmptyIterator
EmptyIterator::key
EmptyIterator
PHP Manual

EmptyIterator::current

(PHP 5 >= 5.1.0)

EmptyIterator::current — La méthode EmptyIterator::current

Description

public void EmptyIterator::current ( void )

Cette méthode ne doit pas être appelée. Elle émet une exception en cas d'accès.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Erreurs / Exceptions

Émet une exception Exception.

Valeurs de retour

Aucune valeur n'est retournée.

EmptyIterator
EmptyIterator::key
EmptyIterator


The key() method

EmptyIterator::current
EmptyIterator::next
EmptyIterator
PHP Manual

EmptyIterator::key

(PHP 5 >= 5.1.0)

EmptyIterator::key — The key() method

Description

public void EmptyIterator::key ( void )

Cette méthode ne doit pas être appelée. Elle émet une exception en cas d'accès.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Erreurs / Exceptions

Émet une exception Exception si elle est appelée.

Valeurs de retour

Aucune valeur n'est retournée.

EmptyIterator::current
EmptyIterator::next
EmptyIterator


La méthode EmptyIterator::next

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator
PHP Manual

EmptyIterator::next

(PHP 5 >= 5.1.0)

EmptyIterator::next — La méthode EmptyIterator::next

Description

public void EmptyIterator::next ( void )

Aucune opération. Rien à faire.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

EmptyIterator::key
EmptyIterator::rewind
EmptyIterator


La méthode EmptyIterator::rewind

EmptyIterator::next
EmptyIterator::valid
EmptyIterator
PHP Manual

EmptyIterator::rewind

(PHP 5 >= 5.1.0)

EmptyIterator::rewind — La méthode EmptyIterator::rewind

Description

public void EmptyIterator::rewind ( void )

EmptyIterator::rewind

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

EmptyIterator::next
EmptyIterator::valid
EmptyIterator


La méthode EmptyIterator::valid

EmptyIterator::rewind
FilesystemIterator
EmptyIterator
PHP Manual

EmptyIterator::valid

(PHP 5 >= 5.1.0)

EmptyIterator::valid — La méthode EmptyIterator::valid

Description

public void EmptyIterator::valid ( void )

La méthode EmptyIterator::valid.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

FALSE

EmptyIterator::rewind
FilesystemIterator
EmptyIterator


La classe FilesystemIterator

Introduction

L'itérateur FilesystemIterator.

Synopsis de la classe

FilesystemIterator
FilesystemIterator extends DirectoryIterator implements SeekableIterator , Traversable , Iterator {
/* Constantes */
const integer FilesystemIterator::CURRENT_AS_PATHNAME = 32 ;
const integer FilesystemIterator::CURRENT_AS_FILEINFO = 0 ;
const integer FilesystemIterator::CURRENT_AS_SELF = 16 ;
const integer FilesystemIterator::CURRENT_MODE_MASK = 240 ;
const integer FilesystemIterator::KEY_AS_PATHNAME = 0 ;
const integer FilesystemIterator::KEY_AS_FILENAME = 256 ;
const integer FilesystemIterator::KEY_MODE_MASK = 3840 ;
const integer FilesystemIterator::NEW_CURRENT_AND_KEY = 256 ;
const integer FilesystemIterator::SKIP_DOTS = 4096 ;
const integer FilesystemIterator::UNIX_PATHS = 8192 ;
/* Méthodes */
__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed current ( void )
public int getFlags ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ([ int $flags ] )
/* Méthodes héritées */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( void )
public string DirectoryIterator::getFilename ( void )
public int DirectoryIterator::getGroup ( void )
public int DirectoryIterator::getInode ( void )
public int DirectoryIterator::getMTime ( void )
public int DirectoryIterator::getOwner ( void )
public string DirectoryIterator::getPath ( void )
public string DirectoryIterator::getPathname ( void )
public int DirectoryIterator::getPerms ( void )
public int DirectoryIterator::getSize ( void )
public string DirectoryIterator::getType ( void )
public bool DirectoryIterator::isDir ( void )
public bool DirectoryIterator::isDot ( void )
public bool DirectoryIterator::isExecutable ( void )
public bool DirectoryIterator::isFile ( void )
public bool DirectoryIterator::isLink ( void )
public bool DirectoryIterator::isReadable ( void )
public bool DirectoryIterator::isWritable ( void )
public string DirectoryIterator::key ( void )
public void DirectoryIterator::next ( void )
public void DirectoryIterator::rewind ( void )
public void DirectoryIterator::seek ( int $position )
public string DirectoryIterator::__toString ( void )
public bool DirectoryIterator::valid ( void )
}

Constantes pré-définies

FilesystemIterator::CURRENT_AS_PATHNAME

FilesystemIterator::current retourne le nom du chemin.

FilesystemIterator::CURRENT_AS_FILEINFO

FilesystemIterator::current retourne un objet SplFileInfo.

FilesystemIterator::CURRENT_AS_SELF

FilesystemIterator::current retourne $this (le FilesystemIterator).

FilesystemIterator::CURRENT_MODE_MASK

Masque FilesystemIterator::current.

FilesystemIterator::KEY_AS_PATHNAME

FilesystemIterator::key retourne le nom de chemin.

FilesystemIterator::KEY_AS_FILENAME

FilesystemIterator::key retourne le nom du fichier.

FilesystemIterator::KEY_MODE_MASK

Masque FilesystemIterator::key.

FilesystemIterator::NEW_CURRENT_AND_KEY

Identique à FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO.

FilesystemIterator::SKIP_DOTS

Ignore les fichiers points (. et ..).

FilesystemIterator::UNIX_PATHS

Les chemins utilisen le séparateur de dossier de type Unix, soit le slash, indépendamment du système de fonctionnement.

Sommaire

  • FilesystemIterator::__construct — Construit un objet FilesystemIterator
  • FilesystemIterator::current — Lit le fichier courant
  • FilesystemIterator::getFlags — Lit les options activées
  • FilesystemIterator::key — Lit le nom du fichier
  • FilesystemIterator::next — Passe au fichier suivant
  • FilesystemIterator::rewind — Recommence à lire le dossier
  • FilesystemIterator::setFlags — Configure les options
EmptyIterator::valid
FilesystemIterator::__construct
Itérateurs


Construit un objet FilesystemIterator

FilesystemIterator
FilesystemIterator::current
FilesystemIterator
PHP Manual

FilesystemIterator::__construct

(PHP 5 >= 5.3.0)

FilesystemIterator::__construct — Construit un objet FilesystemIterator

Description

FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )

Construit un objet FilesystemIterator, configuré avec le chemin path.

Liste de paramètres

path

Le chemin du dossier dans lequel on va travailler.

flags

Les options qui affectent le comportement des méthodes. La liste des options est disponible dans les constantes de FilesystemIterator. Elles peuvent aussi être activées ultérieurement avec FilesystemIterator::setFlags.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une exception UnexpectedValueException si le chemin path est introuvable.

Exemples

Exemple #1 Exemple avec FilesystemIterator::__construct()

<?php
$it = new FilesystemIterator(dirname(__FILE__));
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

L'exemple ci-dessus va afficher :

apples.jpg
banana.jpg
example.php

Voir aussi

  • FilesystemIterator::setFlags - Configure les options
  • DirectoryIterator::__construct - Construit un nouvel itérateur de dossier à partir d'un chemin

FilesystemIterator
FilesystemIterator::current
FilesystemIterator


Lit le fichier courant

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator
PHP Manual

FilesystemIterator::current

(PHP 5 >= 5.3.0)

FilesystemIterator::current — Lit le fichier courant

Description

public mixed FilesystemIterator::current ( void )

Lit les informations sur le fichier courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom du fichier, les informations du fichier, ou bien $this, en fonction des options utilisées. Voyez la liste des constantes FilesystemIterator.

Exemples

Exemple #1 Exemple avec FilesystemIterator::current

Cet exemple va tester la liste des fichiers dans le script courant.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->current() . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Voir aussi

  • Les constantes FilesystemIterator
  • DirectoryIterator::current - Retourne l'élément courant du DirectoryIterator
  • DirectoryIterator::getFileName - Retourne le nom de l'entrée courante du dossier

FilesystemIterator::__construct
FilesystemIterator::getFlags
FilesystemIterator


Lit les options activées

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator
PHP Manual

FilesystemIterator::getFlags

(PHP 5 >= 5.3.0)

FilesystemIterator::getFlags — Lit les options activées

Description

public int FilesystemIterator::getFlags ( void )

Lit les options activées, telles qu'elles ont été configurées avec FilesystemIterator::__construct ou FilesystemIterator::setFlags.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur des options configurées.

Voir aussi

  • FilesystemIterator::__construct - Construit un objet FilesystemIterator
  • FilesystemIterator::setFlags - Configure les options

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator


Lit le nom du fichier

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator
PHP Manual

FilesystemIterator::key

(PHP 5 >= 5.3.0)

FilesystemIterator::key — Lit le nom du fichier

Description

public string FilesystemIterator::key ( void )

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le chemin ou le nom du fichier, suivant les options activées. Voyez les Constantes de FilesystemIterator.

Exemples

Exemple #1 Exemple avec FilesystemIterator::key

Cet exemple va afficher le contenu du dossier qui contient le script en cours.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $fileinfo) {
    echo $iterator->key() . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg
banana.jpg
example.php

Voir aussi

  • Constantes de FilesystemIterator
  • DirectoryIterator::key - Retourne l'entrée courante du dossier
  • DirectoryIterator::getFilename - Retourne le nom de l'entrée courante du dossier
  • DirectoryIterator::getPathname - Retourne le chemin et le nom de l'entrée courante du dossier

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator


Passe au fichier suivant

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator
PHP Manual

FilesystemIterator::next

(PHP 5 >= 5.3.0)

FilesystemIterator::next — Passe au fichier suivant

Description

public void FilesystemIterator::next ( void )

Passe au fichier suivant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec FilesystemIterator::next

Liste le contenu du dossier avec une boucle.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__));
while($iterator->valid()) {
    echo $iterator->getFilename() . "\n";
    $iterator->next();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg
banana.jpg
example.php

Voir aussi

  • DirectoryIterator::next - Se déplace vers la prochaine entrée

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator


Recommence à lire le dossier

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator
PHP Manual

FilesystemIterator::rewind

(PHP 5 >= 5.3.0)

FilesystemIterator::rewind — Recommence à lire le dossier

Description

public void FilesystemIterator::rewind ( void )

Recommence à lire le dossier à zéro.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec FilesystemIterator::rewind

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);

echo $iterator->key() . "\n";

$iterator->next();
echo $iterator->key() . "\n";

$iterator->rewind();
echo $iterator->key() . "\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple.jpg
banana.jpg
apple.jpg

Voir aussi

  • DirectoryIterator::rewind - Revient au début du dossier

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator


Configure les options

FilesystemIterator::rewind
FilterIterator
FilesystemIterator
PHP Manual

FilesystemIterator::setFlags

(PHP 5 >= 5.3.0)

FilesystemIterator::setFlags — Configure les options

Description

public void FilesystemIterator::setFlags ([ int $flags ] )

Configure les options.

Liste de paramètres

flags

Les options à configurer. Voir la liste des constantes de FilesystemIterator.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec FilesystemIterator::key

Cet exemple illustre la différence entre les options FilesystemIterator::KEY_AS_PATHNAME et FilesystemIterator::KEY_AS_FILENAME.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_PATHNAME);
echo "Clé comme nom de chemin : \n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}

$iterator->setFlags(FilesystemIterator::KEY_AS_FILENAME);
echo "\nClé comme nom de fichier : \n";
foreach ($iterator as $key => $fileinfo) {
    echo $key . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Clé comme nom de chemin :
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Clé comme nom de fichier :
apple.jpg
banana.jpg
example.php

Voir aussi

  • FilesystemIterator::__construct - Construit un objet FilesystemIterator
  • FilesystemIterator::getFlags - Lit les options activées

FilesystemIterator::rewind
FilterIterator
FilesystemIterator


La classe FilterIterator

Introduction

Cet itérateur abstrait filtre les valeurs indésirables. Cette classe doit être étendue pour implémenter des opérateurs personnalisés. La méthode FilterIterator::accept() doit être implémentée dans la sous-classe.

Synopsis de la classe

FilterIterator
abstract FilterIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Méthodes */
abstract bool accept ( void )
__construct ( Iterator $iterator )
mixed current ( void )
Iterator getInnerIterator ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
}

Sommaire

  • FilterIterator::accept — Vérifie si l'élément courant de l'itérateur est acceptable
  • FilterIterator::__construct — Construit un filterIterator
  • FilterIterator::current — Récupère la valeur de l'élément courant
  • FilterIterator::getInnerIterator — Récupère l'itérateur interne
  • FilterIterator::key — Récupère la clé courante
  • FilterIterator::next — Déplace l'itérateur à la position suivante
  • FilterIterator::rewind — Replace l'itérateur au début
  • FilterIterator::valid — Vérifie si l'élément courant est valide
FilesystemIterator::setFlags
FilterIterator::accept
Itérateurs


Vérifie si l'élément courant de l'itérateur est acceptable

FilterIterator
FilterIterator::__construct
FilterIterator
PHP Manual

FilterIterator::accept

(PHP 5 >= 5.1.0)

FilterIterator::accept — Vérifie si l'élément courant de l'itérateur est acceptable

Description

abstract bool FilterIterator::accept ( void )

Vérifie si l'élément courant est acceptable par le filtre courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'élément courant est acceptable, et sinon FALSE.

Exemples

Exemple #1 Exemple avec FilterIterator::accept()

<?php
// Cet itérateur filtre toutes les valeurs de moins de 10 caractères
class LengthFilterIterator extends FilterIterator {

    public function accept() {
        // n'accepte une chaîne que si elle fait 10 chars ou plus
        return strlen(parent::current()) > 10;
    }

}

$arrayIterator = new ArrayIterator(array('test1', 'plus de 10 caractères'));
$lengthFilter = new LengthFilterIterator($arrayIterator);

foreach ($lengthFilter as $value) {
    echo $value . "\n";
}
?>

L'exemple ci-dessus va afficher :

plus de 10 caractères

FilterIterator
FilterIterator::__construct
FilterIterator


Construit un filterIterator

FilterIterator::accept
FilterIterator::current
FilterIterator
PHP Manual

FilterIterator::__construct

(PHP 5 >= 5.1.0)

FilterIterator::__construct — Construit un filterIterator

Description

FilterIterator::__construct ( Iterator $iterator )

Construit un nouveau FilterIterator, qui consiste à passer le paramètre iterator après y avoir appliqué les filtres.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur à filtrer.

Valeurs de retour

L'objet FilterIterator.

Voir aussi

  • LimitIterator::__construct - Construit un nouvel objet LimitIterator

FilterIterator::accept
FilterIterator::current
FilterIterator


Récupère la valeur de l'élément courant

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator
PHP Manual

FilterIterator::current

(PHP 5 >= 5.1.0)

FilterIterator::current — Récupère la valeur de l'élément courant

Description

mixed FilterIterator::current ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère la valeur de l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur de l'élément courant.

Voir aussi

  • FilterIterator::key() - Récupère la clé courante
  • FilterIterator::next() - Déplace l'itérateur à la position suivante

FilterIterator::__construct
FilterIterator::getInnerIterator
FilterIterator


Récupère l'itérateur interne

FilterIterator::current
FilterIterator::key
FilterIterator
PHP Manual

FilterIterator::getInnerIterator

(PHP 5 >= 5.1.0)

FilterIterator::getInnerIterator — Récupère l'itérateur interne

Description

Iterator FilterIterator::getInnerIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère l'itérateur interne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur interne.

FilterIterator::current
FilterIterator::key
FilterIterator


Récupère la clé courante

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator
PHP Manual

FilterIterator::key

(PHP 5 >= 5.1.0)

FilterIterator::key — Récupère la clé courante

Description

mixed FilterIterator::key ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère la clé courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé courante.

Voir aussi

  • FilterIterator::next() - Déplace l'itérateur à la position suivante
  • FilterIterator::current() - Récupère la valeur de l'élément courant

FilterIterator::getInnerIterator
FilterIterator::next
FilterIterator


Déplace l'itérateur à la position suivante

FilterIterator::key
FilterIterator::rewind
FilterIterator
PHP Manual

FilterIterator::next

(PHP 5 >= 5.1.0)

FilterIterator::next — Déplace l'itérateur à la position suivante

Description

void FilterIterator::next ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Déplace l'itérateur à la position suivante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • FilterIterator::current() - Récupère la valeur de l'élément courant
  • FilterIterator::next()

FilterIterator::key
FilterIterator::rewind
FilterIterator


Replace l'itérateur au début

FilterIterator::next
FilterIterator::valid
FilterIterator
PHP Manual

FilterIterator::rewind

(PHP 5 >= 5.1.0)

FilterIterator::rewind — Replace l'itérateur au début

Description

void FilterIterator::rewind ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Replace l'itérateur au début.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • FilterIterator::current() - Récupère la valeur de l'élément courant
  • FilterIterator::key() - Récupère la clé courante
  • FilterIterator::next() - Déplace l'itérateur à la position suivante

FilterIterator::next
FilterIterator::valid
FilterIterator


Vérifie si l'élément courant est valide

FilterIterator::rewind
GlobIterator
FilterIterator
PHP Manual

FilterIterator::valid

(PHP 5 >= 5.1.0)

FilterIterator::valid — Vérifie si l'élément courant est valide

Description

bool FilterIterator::valid ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Vérifie si l'élément courant est valide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'élément courant est valide, FALSE sinon.

FilterIterator::rewind
GlobIterator
FilterIterator


La classe GlobIterator

Introduction

Passe en revue un système de fichiers, de manière similaire à la fonction glob().

Synopsis de la classe

GlobIterator
GlobIterator extends FilesystemIterator implements Iterator , Traversable , SeekableIterator , Countable {
/* Méthodes */
__construct ( string $path [, integer $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public integer count ( void )
/* Méthodes héritées */
FilesystemIterator::__construct ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
public string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ int $flags ] )
}

Sommaire

  • GlobIterator::__construct — Construit un itérateur de type glob
  • GlobIterator::count — Lit le nombre de dossiers et fichiers
FilterIterator::valid
GlobIterator::__construct
Itérateurs


Construit un itérateur de type glob

GlobIterator
GlobIterator::count
GlobIterator
PHP Manual

GlobIterator::__construct

(PHP 5 >= 5.3.0)

GlobIterator::__construct — Construit un itérateur de type glob

Description

GlobIterator::__construct ( string $path [, integer $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )

Construit un itérateur de type glob.

Liste de paramètres

path

Le chemin du dossier.

flags

Les options, qui peuvent être un champ de bits de constantes de classe FilesystemIterator.

Exemples

Exemple #1 Exemple avec GlobIterator

<?php
$iterator = new GlobIterator('*.dll',  FilesystemIterator::KEY_AS_FILENAME);

if(!$iterator->count())
{
    echo 'No matches';
}
else
{
    $n = 0;

    printf("Matched  %d item(s)\r\n", $iterator->count());

    foreach($iterator  as $item)
    {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Matched 2 item(s)
[1] php5ts.dll
[2] php_gd2.dll

Voir aussi

  • DirectoryIterator::__construct - Construit un nouvel itérateur de dossier à partir d'un chemin
  • GlobIterator::count - Lit le nombre de dossiers et fichiers
  • glob() - Recherche des chemins qui vérifient un masque

GlobIterator
GlobIterator::count
GlobIterator


Lit le nombre de dossiers et fichiers

GlobIterator::__construct
InfiniteIterator
GlobIterator
PHP Manual

GlobIterator::count

(PHP 5 >= 5.3.0)

GlobIterator::count — Lit le nombre de dossiers et fichiers

Description

public integer GlobIterator::count ( void )

Lit le nombre de dossiers et fichiers trouvés par l'expression Glob.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre de dossiers et fichiers est retourné sous forme d'entier.

Exemples

Exemple #1 Exemple avec GlobIterator::count

<?php
$iterator = new GlobIterator('*.xml');

printf("Trouvé %d élément(s)\r\n", $iterator->count());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Matched 8 item(s)

Voir aussi

  • GlobIterator::__construct - Construit un itérateur de type glob
  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
  • glob() - Recherche des chemins qui vérifient un masque

GlobIterator::__construct
InfiniteIterator
GlobIterator


La classe InfiniteIterator

Introduction

La classe InfiniteIterator permet l'itération infinie sur un itérateur sans avoir besoin de remettre à zéro manuellement dès que la fin est atteinte.

Synopsis de la classe

InfiniteIterator
InfiniteIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Méthodes */
__construct ( Iterator $iterator )
public void next ( void )
/* Méthodes héritées */
IteratorIterator::__construct ( Traversable $iterator )
public void IteratorIterator::current ( void )
public void IteratorIterator::getInnerIterator ( void )
public void IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Sommaire

  • InfiniteIterator::__construct — Construit un InfiniteIterator
  • InfiniteIterator::next — Avance l'itérateur ou le replace au début
GlobIterator::count
InfiniteIterator::__construct
Itérateurs


Construit un InfiniteIterator

InfiniteIterator
InfiniteIterator::next
InfiniteIterator
PHP Manual

InfiniteIterator::__construct

(PHP 5 >= 5.1.0)

InfiniteIterator::__construct — Construit un InfiniteIterator

Description

InfiniteIterator::__construct ( Iterator $iterator )

Construit un InfiniteIterator pour un Iterator.

Liste de paramètres

iterator

L'itérateur à passer infiniment.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance une exception E_RECOVERABLE_ERROR si le paramètre iterator n'est pas un Iterator.

Exemples

Exemple #1 Exemple avec InfiniteIterator::__construct()

<?php
$arrayit  = new ArrayIterator(array('cat','dog'));
$infinite = new InfiniteIterator($arrayit);
$limit    = new LimitIterator($infinite, 0, 7);
foreach($limit as $value)
{
    echo "$value\n";
}
?>

L'exemple ci-dessus va afficher :

cat
dog
cat
dog
cat
dog
cat

Voir aussi

  • InfiniteIterator::next - Avance l'itérateur ou le replace au début

InfiniteIterator
InfiniteIterator::next
InfiniteIterator


Avance l'itérateur ou le replace au début

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator
PHP Manual

InfiniteIterator::next

(PHP 5 >= 5.1.0)

InfiniteIterator::next — Avance l'itérateur ou le replace au début

Description

public void InfiniteIterator::next ( void )

Avance l'Iterator interne au prochain élément s'il existe, ou bien le replace au début si le prochain élément n'existe pas.

Note: InfiniteIterator s'arrête si l'Iterator est vide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • InfiniteIterator::__construct - Construit un InfiniteIterator

InfiniteIterator::__construct
IteratorIterator
InfiniteIterator


La classe IteratorIterator

Introduction

Cet itérateur permet la conversion de n'importe quel objet Traversable en un itérateur. Il est important de comprendre que la plupart des classes qui n'implémentent pas l'interface Iterator, ne le font pas car elles ne disposent pas de toutes les méthodes des itérateurs. Si c'est le cas, des mécanismes doivent être mis en place pour l'éviter, car autrement, cela produirait des exceptions ou des erreurs fatales.

Synopsis de la classe

IteratorIterator
IteratorIterator implements Iterator , Traversable , OuterIterator {
/* Méthodes */
__construct ( Traversable $iterator )
public void current ( void )
public void getInnerIterator ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
}

Sommaire

  • IteratorIterator::__construct — Crée un itérateur à partir d'un objet traversable
  • IteratorIterator::current — Lit la valeur courante
  • IteratorIterator::getInnerIterator — Retourne l'itérateur interne
  • IteratorIterator::key — Lit la clé de l'élément courant
  • IteratorIterator::next — Avance au prochain élément
  • IteratorIterator::rewind — Retourne au premier élément
  • IteratorIterator::valid — Vérifie si un itérateur est valide
InfiniteIterator::next
IteratorIterator::__construct
Itérateurs


Crée un itérateur à partir d'un objet traversable

IteratorIterator
IteratorIterator::current
IteratorIterator
PHP Manual

IteratorIterator::__construct

(PHP 5 >= 5.1.0)

IteratorIterator::__construct — Crée un itérateur à partir d'un objet traversable

Description

IteratorIterator::__construct ( Traversable $iterator )

Crée un itérateur à partir d'un objet traversable.

Liste de paramètres

iterator

L'itérateur traversable.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • Traversable

IteratorIterator
IteratorIterator::current
IteratorIterator


Lit la valeur courante

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator
PHP Manual

IteratorIterator::current

(PHP 5 >= 5.1.0)

IteratorIterator::current — Lit la valeur courante

Description

public void IteratorIterator::current ( void )

Lit la valeur de l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur de l'élément courant.

Voir aussi

  • IteratorIterator::key - Lit la clé de l'élément courant

IteratorIterator::__construct
IteratorIterator::getInnerIterator
IteratorIterator


Retourne l'itérateur interne

IteratorIterator::current
IteratorIterator::key
IteratorIterator
PHP Manual

IteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0)

IteratorIterator::getInnerIterator — Retourne l'itérateur interne

Description

public void IteratorIterator::getInnerIterator ( void )

Retourne l'itérateur interne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur interne, fourni au constructeur IteratorIterator::__construct.

Voir aussi

  • Iterator
  • OuterIterator

IteratorIterator::current
IteratorIterator::key
IteratorIterator


Lit la clé de l'élément courant

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator
PHP Manual

IteratorIterator::key

(PHP 5 >= 5.1.0)

IteratorIterator::key — Lit la clé de l'élément courant

Description

public void IteratorIterator::key ( void )

Lit la clé de l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé de l'élément courant.

Voir aussi

  • IteratorIterator::current - Lit la valeur courante

IteratorIterator::getInnerIterator
IteratorIterator::next
IteratorIterator


Avance au prochain élément

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator
PHP Manual

IteratorIterator::next

(PHP 5 >= 5.1.0)

IteratorIterator::next — Avance au prochain élément

Description

public void IteratorIterator::next ( void )

Avance au prochain élément.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • IteratorIterator::rewind - Retourne au premier élément
  • IteratorIterator::valid - Vérifie si un itérateur est valide

IteratorIterator::key
IteratorIterator::rewind
IteratorIterator


Retourne au premier élément

IteratorIterator::next
IteratorIterator::valid
IteratorIterator
PHP Manual

IteratorIterator::rewind

(PHP 5 >= 5.1.0)

IteratorIterator::rewind — Retourne au premier élément

Description

public void IteratorIterator::rewind ( void )

Retourne au premier élément.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • IteratorIterator::next - Avance au prochain élément
  • IteratorIterator::valid - Vérifie si un itérateur est valide

IteratorIterator::next
IteratorIterator::valid
IteratorIterator


Vérifie si un itérateur est valide

IteratorIterator::rewind
LimitIterator
IteratorIterator
PHP Manual

IteratorIterator::valid

(PHP 5 >= 5.1.0)

IteratorIterator::valid — Vérifie si un itérateur est valide

Description

public bool IteratorIterator::valid ( void )

Vérifie si un itérateur est valide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'itérateur est valide, et FALSE sinon.

Voir aussi

  • iterator_count() - Compte de nombre d'éléments dans un itérateur
  • IteratorIterator::current - Lit la valeur courante

IteratorIterator::rewind
LimitIterator
IteratorIterator


La classe LimitIterator

Introduction

La classe LimitIterator permet d'itérer sur une partie limitée d'entités depuis un Iterator.

Synopsis de la classe

LimitIterator
LimitIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Méthodes */
__construct ( Iterator $iterator [, string $offset = 0 [, string $count = -1 ]] )
public mixed current ( void )
public Iterator getInnerIterator ( void )
public int getPosition ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public int seek ( int $position )
public bool valid ( void )
}

Exemples

Exemple #1 Exemple d'utilisation de LimitIterator

<?php

// Creér un itérateur à limiter
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// Boucle sur les 3 premiers fruits uniquement
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

echo "\n";

// Boucle depuis le 3ème fruit jusqu'au dernier
// Note: la clé démarre à zéro pour apple
foreach (new LimitIterator($fruits, 2) as $fruit) {
    var_dump($fruit);
}

?>

L'exemple ci-dessus va afficher :

string(5) "apple"
string(6) "banana"
string(6) "cherry"

string(6) "cherry"
string(6) "damson"
string(10) "elderberry"

Sommaire

  • LimitIterator::__construct — Construit un nouvel objet LimitIterator
  • LimitIterator::current — Récupère l'élément courant
  • LimitIterator::getInnerIterator — Récupère l'itérateur interne
  • LimitIterator::getPosition — Retourne la position courante
  • LimitIterator::key — Récupère la clé courante
  • LimitIterator::next — Déplace l'itérateur à la position suivante
  • LimitIterator::rewind — Replace l'itérateur au début
  • LimitIterator::seek — Place l'itérateur à une position donnée
  • LimitIterator::valid — Vérifie si l'élément courant est valide
IteratorIterator::valid
LimitIterator::__construct
Itérateurs


Construit un nouvel objet LimitIterator

LimitIterator
LimitIterator::current
LimitIterator
PHP Manual

LimitIterator::__construct

(PHP 5 >= 5.1.0)

LimitIterator::__construct — Construit un nouvel objet LimitIterator

Description

LimitIterator::__construct ( Iterator $iterator [, string $offset = 0 [, string $count = -1 ]] )

Construit un nouvel objet LimitIterator,depuis iterator avec un offset et une limite maximum count

Liste de paramètres

iterator

L'Iterator à limiter.

offset

Position optionnelle de la limite.

count

Nombre optionnelle de la limite.

Valeurs de retour

Le nouvel objet LimitIterator.

Erreurs / Exceptions

Envoie une OutOfRangeException si offset est inférieur à 0 ou si count est inférieur à -1.

Exemples

Exemple #1 Exemple LimitIterator::__construct()

<?php
$ait = new ArrayIterator(array('a', 'b', 'c', 'd', 'e'));
$lit = new LimitIterator($ait, 1, 3);
foreach ($lit as $value) {
    echo $value . "\n";
}
?>

L'exemple ci-dessus va afficher :

b
c
d

Voir aussi

  • Exemples LimitIterator

LimitIterator
LimitIterator::current
LimitIterator


Récupère l'élément courant

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator
PHP Manual

LimitIterator::current

(PHP 5 >= 5.1.0)

LimitIterator::current — Récupère l'élément courant

Description

public mixed LimitIterator::current ( void )

Récupère l'élément courant de l'Iterator interne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'élément courant ou NULL si il n'y en a pas.

Voir aussi

  • LimitIterator::key - Récupère la clé courante
  • LimitIterator::next - Déplace l'itérateur à la position suivante
  • LimitIterator::rewind - Replace l'itérateur au début
  • LimitIterator::seek - Place l'itérateur à une position donnée
  • LimitIterator::valid - Vérifie si l'élément courant est valide

LimitIterator::__construct
LimitIterator::getInnerIterator
LimitIterator


Récupère l'itérateur interne

LimitIterator::current
LimitIterator::getPosition
LimitIterator
PHP Manual

LimitIterator::getInnerIterator

(PHP 5 >= 5.1.0)

LimitIterator::getInnerIterator — Récupère l'itérateur interne

Description

public Iterator LimitIterator::getInnerIterator ( void )

Récupère l'Iterator interne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur interne passé à LimitIterator::__construct.

Voir aussi

  • LimitIterator::__construct - Construit un nouvel objet LimitIterator
  • IteratorIterator::getInnerIterator - Retourne l'itérateur interne

LimitIterator::current
LimitIterator::getPosition
LimitIterator


Retourne la position courante

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator
PHP Manual

LimitIterator::getPosition

(PHP 5 >= 5.1.0)

LimitIterator::getPosition — Retourne la position courante

Description

public int LimitIterator::getPosition ( void )

Retourne la position (partant de zéro) de l'itérateur interne Iterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La position courante.

Exemples

Exemple #1 Exemple LimitIterator::getPosition()

<?php
$fruits = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    'd' => 'damson',
    'e' => 'elderberry'
);
$array_it = new ArrayIterator($fruits);
$limit_it = new LimitIterator($array_it, 2, 3);
foreach ($limit_it as $item) {
    echo $limit_it->getPosition() . ' ' . $item . "\n";
}
?>

L'exemple ci-dessus va afficher :

2 cherry
3 damson
4 elderberry

Voir aussi

  • FilterIterator::key - Récupère la clé courante

LimitIterator::getInnerIterator
LimitIterator::key
LimitIterator


Récupère la clé courante

LimitIterator::getPosition
LimitIterator::next
LimitIterator
PHP Manual

LimitIterator::key

(PHP 5 >= 5.1.0)

LimitIterator::key — Récupère la clé courante

Description

public mixed LimitIterator::key ( void )

Récupère la clé courante de l'itérateur interne Iterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé de l'élément courant.

Voir aussi

  • LimitIterator::getPosition - Retourne la position courante
  • LimitIterator::current - Récupère l'élément courant
  • LimitIterator::next - Déplace l'itérateur à la position suivante
  • LimitIterator::rewind - Replace l'itérateur au début
  • LimitIterator::seek - Place l'itérateur à une position donnée
  • LimitIterator::valid - Vérifie si l'élément courant est valide

LimitIterator::getPosition
LimitIterator::next
LimitIterator


Déplace l'itérateur à la position suivante

LimitIterator::key
LimitIterator::rewind
LimitIterator
PHP Manual

LimitIterator::next

(PHP 5 >= 5.1.0)

LimitIterator::next — Déplace l'itérateur à la position suivante

Description

public void LimitIterator::next ( void )

Déplace l'itérateur à la position suivante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • LimitIterator::current - Récupère l'élément courant
  • LimitIterator::key - Récupère la clé courante
  • LimitIterator::rewind - Replace l'itérateur au début
  • LimitIterator::seek - Place l'itérateur à une position donnée
  • LimitIterator::valid - Vérifie si l'élément courant est valide

LimitIterator::key
LimitIterator::rewind
LimitIterator


Replace l'itérateur au début

LimitIterator::next
LimitIterator::seek
LimitIterator
PHP Manual

LimitIterator::rewind

(PHP 5 >= 5.1.0)

LimitIterator::rewind — Replace l'itérateur au début

Description

public void LimitIterator::rewind ( void )

Replace l'itérateur à la position précisée dans LimitIterator::__construct.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • LimitIterator::current - Récupère l'élément courant
  • LimitIterator::key - Récupère la clé courante
  • LimitIterator::next - Déplace l'itérateur à la position suivante
  • LimitIterator::seek - Place l'itérateur à une position donnée
  • LimitIterator::valid - Vérifie si l'élément courant est valide

LimitIterator::next
LimitIterator::seek
LimitIterator


Place l'itérateur à une position donnée

LimitIterator::rewind
LimitIterator::valid
LimitIterator
PHP Manual

LimitIterator::seek

(PHP 5 >= 5.1.0)

LimitIterator::seek — Place l'itérateur à une position donnée

Description

public int LimitIterator::seek ( int $position )

Déplace l'itérateur interne à la position position.

Liste de paramètres

position

La position sur laquelle on souhaite se placer.

Valeurs de retour

Retourne la position après déplacement.

Erreurs / Exceptions

Envoie une OutOfBoundsException si la position est hors des limites indiquées dans LimitIterator::__construct.

Voir aussi

  • LimitIterator::current - Récupère l'élément courant
  • LimitIterator::key - Récupère la clé courante
  • LimitIterator::rewind - Replace l'itérateur au début
  • LimitIterator::next - Déplace l'itérateur à la position suivante
  • LimitIterator::valid - Vérifie si l'élément courant est valide

LimitIterator::rewind
LimitIterator::valid
LimitIterator


Vérifie si l'élément courant est valide

LimitIterator::seek
MultipleIterator
LimitIterator
PHP Manual

LimitIterator::valid

(PHP 5 >= 5.1.0)

LimitIterator::valid — Vérifie si l'élément courant est valide

Description

public bool LimitIterator::valid ( void )

Vérifie si l'élément courant est valide.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • LimitIterator::current - Récupère l'élément courant
  • LimitIterator::key - Récupère la clé courante
  • LimitIterator::rewind - Replace l'itérateur au début
  • LimitIterator::next - Déplace l'itérateur à la position suivante
  • LimitIterator::seek - Place l'itérateur à une position donnée

LimitIterator::seek
MultipleIterator
LimitIterator


La classe MultipleIterator

Introduction

Un intérateur qui itère sur plusieurs itérateurs, les uns après les autres.

Synopsis de la classe

MultipleIterator
MultipleIterator implements Iterator , Traversable {
/* Constantes */
const integer MultipleIterator::MIT_NEED_ANY = 0 ;
const integer MultipleIterator::MIT_NEED_ALL = 1 ;
const integer MultipleIterator::MIT_KEYS_NUMERIC = 0 ;
const integer MultipleIterator::MIT_KEYS_ASSOC = 2 ;
/* Méthodes */
public void attachIterator ( Iterator $iterator [, string $infos ] )
__construct ( integer $flags )
public void containsIterator ( Iterator $iterator )
public void countIterators ( void )
public void current ( void )
public void detachIterator ( Iterator $iterator )
public void getFlags ( void )
public void key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ( integer $flags )
public void valid ( void )
}

Constantes pré-définies

Types de noeuds MultipleIterator

MultipleIterator::MIT_NEED_ANY

N'impose pas que les itérateurs soient tous valides dans une itération.

MultipleIterator::MIT_NEED_ALL

Impose que les itérateurs soient tous valides dans une itération.

MultipleIterator::MIT_KEYS_NUMERIC

Les clés sont créés à partir des positions des itérateurs.

MultipleIterator::MIT_KEYS_ASSOC

Les clés sont créés à partir des informations associées des itérateurs.

Sommaire

  • MultipleIterator::attachIterator — Attache un itérateur
  • MultipleIterator::__construct — Construit un nouvel objet MultipleIterator
  • MultipleIterator::containsIterator — Vérifie si un itérateur est attaché
  • MultipleIterator::countIterators — Récupère le nombre d'instances d'itérateurs attachés
  • MultipleIterator::current — Récupère les instantes des itérateurs attachés
  • MultipleIterator::detachIterator — Détache un itérateur
  • MultipleIterator::getFlags — Récupère les informations d'un drapeau
  • MultipleIterator::key — Récupère les instances des itérateurs enregistrés
  • MultipleIterator::next — Déplace vers l'avant toutes les instances des itérateurs attachés
  • MultipleIterator::rewind — Réinitialise toutes les instances d'itérateurs attachés
  • MultipleIterator::setFlags — Définit des drapeaux
  • MultipleIterator::valid — Vérifie la validité d'un sous-itérateur
LimitIterator::valid
MultipleIterator::attachIterator
Itérateurs


Attache un itérateur

MultipleIterator
MultipleIterator::__construct
MultipleIterator
PHP Manual

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0)

MultipleIterator::attachIterator — Attache un itérateur

Description

public void MultipleIterator::attachIterator ( Iterator $iterator [, string $infos ] )

Attache un itérateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

Le nouvel itérateur à attacher.

infos

Les informations de l'itérateur, qui doivent être un entier, une chaîne de caractères ou NULL.

Valeurs de retour

Erreurs / Exceptions

Une exception IllegalValueException si le paramètre iterator est invalide, ou si infos est une information déjà associée.

Voir aussi

  • MultipleIterator::__construct - Construit un nouvel objet MultipleIterator

MultipleIterator
MultipleIterator::__construct
MultipleIterator


Construit un nouvel objet MultipleIterator

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator
PHP Manual

MultipleIterator::__construct

(PHP 5 >= 5.3.0)

MultipleIterator::__construct — Construit un nouvel objet MultipleIterator

Description

MultipleIterator::__construct ( integer $flags )

Construit un nouvel objet MultipleIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

flags

Le drapeau à définir, suivant les constantes

Valeurs de retour

The iterator.

Voir aussi

  • Les constantes
  • MultipleIterator::valid - Vérifie la validité d'un sous-itérateur

MultipleIterator::attachIterator
MultipleIterator::containsIterator
MultipleIterator


Vérifie si un itérateur est attaché

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator
PHP Manual

MultipleIterator::containsIterator

(PHP 5 >= 5.3.0)

MultipleIterator::containsIterator — Vérifie si un itérateur est attaché

Description

public void MultipleIterator::containsIterator ( Iterator $iterator )

Vérifie si un itérateur est attaché.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • MultipleIterator::valid - Vérifie la validité d'un sous-itérateur

MultipleIterator::__construct
MultipleIterator::countIterators
MultipleIterator


Récupère le nombre d'instances d'itérateurs attachés

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator
PHP Manual

MultipleIterator::countIterators

(PHP 5 >= 5.3.0)

MultipleIterator::countIterators — Récupère le nombre d'instances d'itérateurs attachés

Description

public void MultipleIterator::countIterators ( void )

Récupère le nombre d'instances d'itérateurs attachés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre d'instances d'itérateurs attachés (sous la forme d'un entier).

Voir aussi

  • MultipleIterator::containsIterator - Vérifie si un itérateur est attaché

MultipleIterator::containsIterator
MultipleIterator::current
MultipleIterator


Récupère les instantes des itérateurs attachés

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator
PHP Manual

MultipleIterator::current

(PHP 5 >= 5.3.0)

MultipleIterator::current — Récupère les instantes des itérateurs attachés

Description

public void MultipleIterator::current ( void )

Récupère les instantes des itérateurs attachés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de toutes les instances des itérateurs attachés, ou FALSE si aucun sous-itérateur n'est attaché.

Erreurs / Exceptions

Une exception RuntimeException si le mode MIT_NEED_ALL est défini et au moins un itérateur invalide. Ou une exception IllegalValueException si une clé vaut NULL et que le mode MIT_KEYS_ASSOC est défini.

Voir aussi

  • MultipleIterator::valid - Vérifie la validité d'un sous-itérateur

MultipleIterator::countIterators
MultipleIterator::detachIterator
MultipleIterator


Détache un itérateur

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator
PHP Manual

MultipleIterator::detachIterator

(PHP 5 >= 5.3.0)

MultipleIterator::detachIterator — Détache un itérateur

Description

public void MultipleIterator::detachIterator ( Iterator $iterator )

Détache un itérateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur à détacher.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • MultipleIterator::attachIterator - Attache un itérateur

MultipleIterator::current
MultipleIterator::getFlags
MultipleIterator


Récupère les informations d'un drapeau

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator
PHP Manual

MultipleIterator::getFlags

(PHP 5 >= 5.3.0)

MultipleIterator::getFlags — Récupère les informations d'un drapeau

Description

public void MultipleIterator::getFlags ( void )

Récupère les informations d'un drapeau.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les informations d'un drapeau, sous la forme d'un entier.

Voir aussi

  • Les constantes
  • MultipleIterator::__construct - Construit un nouvel objet MultipleIterator
  • MultipleIterator::setFlags - Définit des drapeaux

MultipleIterator::detachIterator
MultipleIterator::key
MultipleIterator


Récupère les instances des itérateurs enregistrés

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator
PHP Manual

MultipleIterator::key

(PHP 5 >= 5.3.0)

MultipleIterator::key — Récupère les instances des itérateurs enregistrés

Description

public void MultipleIterator::key ( void )

Récupère les instances des itérateurs enregistrés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de tous les itérateurs enregistrés, ou FALSE si aucun sous-itérateur n'est attaché.

Erreurs / Exceptions

Une exception LogicException si le mode MIT_NEED_ALL est défini, et au moins un itérateur attaché invalide.

Voir aussi

  • MultipleIterator::current - Récupère les instantes des itérateurs attachés

MultipleIterator::getFlags
MultipleIterator::next
MultipleIterator


Déplace vers l'avant toutes les instances des itérateurs attachés

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator
PHP Manual

MultipleIterator::next

(PHP 5 >= 5.3.0)

MultipleIterator::next — Déplace vers l'avant toutes les instances des itérateurs attachés

Description

public void MultipleIterator::next ( void )

Déplace vers l'avant toutes les instances des itérateurs attachés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • MultipleIterator::rewind - Réinitialise toutes les instances d'itérateurs attachés

MultipleIterator::key
MultipleIterator::rewind
MultipleIterator


Réinitialise toutes les instances d'itérateurs attachés

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator
PHP Manual

MultipleIterator::rewind

(PHP 5 >= 5.3.0)

MultipleIterator::rewind — Réinitialise toutes les instances d'itérateurs attachés

Description

public void MultipleIterator::rewind ( void )

Réinitialise toutes les instances d'itérateurs attachés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • MultipleIterator::next - Déplace vers l'avant toutes les instances des itérateurs attachés

MultipleIterator::next
MultipleIterator::setFlags
MultipleIterator


Définit des drapeaux

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator
PHP Manual

MultipleIterator::setFlags

(PHP 5 >= 5.3.0)

MultipleIterator::setFlags — Définit des drapeaux

Description

public void MultipleIterator::setFlags ( integer $flags )

Définit des drapeaux.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

flags

Le drapeau à définir, suivant les constantes disponibles

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • Les constantes
  • MultipleIterator::__construct - Construit un nouvel objet MultipleIterator
  • MultipleIterator::getFlags - Récupère les informations d'un drapeau

MultipleIterator::rewind
MultipleIterator::valid
MultipleIterator


Vérifie la validité d'un sous-itérateur

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator
PHP Manual

MultipleIterator::valid

(PHP 5 >= 5.3.0)

MultipleIterator::valid — Vérifie la validité d'un sous-itérateur

Description

public void MultipleIterator::valid ( void )

Vérifie la validité d'un sous-itérateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si un ou tous les sous-itérateurs sont valides, suivant les drapeaux, FALSE sinon.

Voir aussi

  • MultipleIterator::__construct - Construit un nouvel objet MultipleIterator

MultipleIterator::setFlags
NoRewindIterator
MultipleIterator


La classe NoRewindIterator

Introduction

Un itérateur qui ne peut pas être remis à zéro.

Synopsis de la classe

NoRewindIterator
NoRewindIterator extends IteratorIterator {
/* Méthodes */
__construct ( Iterator $iterator )
public mixed current ( void )
public iterator getInnerIterator ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public bool valid ( void )
/* Méthodes héritées */
IteratorIterator::__construct ( Traversable $iterator )
public void IteratorIterator::current ( void )
public void IteratorIterator::getInnerIterator ( void )
public void IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Sommaire

  • NoRewindIterator::__construct — Construit un nouvel objet NoRewindIterator
  • NoRewindIterator::current — Récupère la valeur courante
  • NoRewindIterator::getInnerIterator — Récupère l'itérateur interne
  • NoRewindIterator::key — Récupère la clé courante
  • NoRewindIterator::next — Se déplace vers le prochain élément
  • NoRewindIterator::rewind — Réinitialise l'itérateur interne
  • NoRewindIterator::valid — Valide un itérateur
MultipleIterator::valid
NoRewindIterator::__construct
Itérateurs


Construit un nouvel objet NoRewindIterator

NoRewindIterator
NoRewindIterator::current
NoRewindIterator
PHP Manual

NoRewindIterator::__construct

(PHP 5 >= 5.1.0)

NoRewindIterator::__construct — Construit un nouvel objet NoRewindIterator

Description

NoRewindIterator::__construct ( Iterator $iterator )

Construit un nouvel objet NoRewindIterator.

Liste de paramètres

iterator

L'itérateur à utiliser.

Valeurs de retour

Un objet NoRewindIterator basé sur l'itérateur iterator fourni.

Exemples

Exemple #1 Exemple avec NoRewindIterator::__construct

La seconde boucle n'affiche rien car l'itérateur ne peut être utilisé qu'une seule fois sans être réinitialisé.

<?php
$fruit = array('apple', 'banana', 'cranberry');

$arr = new ArrayObject($fruit);
$it  = new NoRewindIterator($arr->getIterator());

echo "Fruit A:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}

echo "Fruit B:\n";
foreach( $it as $item ) {
    echo $item . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Fruit A:
apple
banana
cranberry
Fruit B:

Voir aussi

  • NoRewindIterator::valid - Valide un itérateur

NoRewindIterator
NoRewindIterator::current
NoRewindIterator


Récupère la valeur courante

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator
PHP Manual

NoRewindIterator::current

(PHP 5 >= 5.1.0)

NoRewindIterator::current — Récupère la valeur courante

Description

public mixed NoRewindIterator::current ( void )

Récupère la valeur courante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur courante.

Voir aussi

  • NoRewindIterator::key - Récupère la clé courante

NoRewindIterator::__construct
NoRewindIterator::getInnerIterator
NoRewindIterator


Récupère l'itérateur interne

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator
PHP Manual

NoRewindIterator::getInnerIterator

(PHP 5 >= 5.1.0)

NoRewindIterator::getInnerIterator — Récupère l'itérateur interne

Description

public iterator NoRewindIterator::getInnerIterator ( void )

Récupère l'itérateur interne, passé via la méthode NoRewindIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur interne, passé via le constructeur NoRewindIterator::__construct.

Voir aussi

  • NoRewindIterator::valid - Valide un itérateur

NoRewindIterator::current
NoRewindIterator::key
NoRewindIterator


Récupère la clé courante

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator
PHP Manual

NoRewindIterator::key

(PHP 5 >= 5.1.0)

NoRewindIterator::key — Récupère la clé courante

Description

public mixed NoRewindIterator::key ( void )

Récupère la clé courante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé courante.

Voir aussi

  • NoRewindIterator::next - Se déplace vers le prochain élément

NoRewindIterator::getInnerIterator
NoRewindIterator::next
NoRewindIterator


Se déplace vers le prochain élément

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator
PHP Manual

NoRewindIterator::next

(PHP 5 >= 5.1.0)

NoRewindIterator::next — Se déplace vers le prochain élément

Description

public void NoRewindIterator::next ( void )

Se déplace vers le prochain élément.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • NoRewindIterator::rewind - Réinitialise l'itérateur interne

NoRewindIterator::key
NoRewindIterator::rewind
NoRewindIterator


Réinitialise l'itérateur interne

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator
PHP Manual

NoRewindIterator::rewind

(PHP 5 >= 5.1.0)

NoRewindIterator::rewind — Réinitialise l'itérateur interne

Description

public void NoRewindIterator::rewind ( void )

Réinitialise l'itérateur interne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec NoRewindIterator::rewind()

Cet exemple démontre que l'appel à cette méthode sur un objet NoRewindIterator n'a aucun effet.

<?php
$fruits = array("lemon", "orange", "apple", "pear");

$noRewindIterator = new NoRewindIterator(new ArrayIterator($fruits));

echo $noRewindIterator->current() . "\n";
$noRewindIterator->next();
// Maintenant, on réinitialise l'itérateur (rien ne doit survenir)
$noRewindIterator->rewind();
echo $noRewindIterator->current() . "\n";
?>

L'exemple ci-dessus va afficher :

lemon
orange

NoRewindIterator::next
NoRewindIterator::valid
NoRewindIterator


Valide un itérateur

NoRewindIterator::rewind
ParentIterator
NoRewindIterator
PHP Manual

NoRewindIterator::valid

(PHP 5 >= 5.1.0)

NoRewindIterator::valid — Valide un itérateur

Description

public bool NoRewindIterator::valid ( void )

Vérifie si un itérateur est valide.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • NoRewindIterator::getInnerIterator - Récupère l'itérateur interne

NoRewindIterator::rewind
ParentIterator
NoRewindIterator


La classe ParentIterator

Introduction

...

Synopsis de la classe

ParentIterator
ParentIterator extends RecursiveFilterIterator implements RecursiveIterator , OuterIterator , Traversable , Iterator {
/* Méthodes */
public bool accept ( void )
__construct ( RecursiveIterator $iterator )
ParentIterator getChildren ( void )
bool hasChildren ( void )
void next ( void )
void rewind ( void )
}

Sommaire

  • ParentIterator::accept — Détermine si l'élément courant a des fils
  • ParentIterator::__construct — Construit un nouvel objet ParentIterator
  • ParentIterator::getChildren — Retourne le fils de l'itérateur interne contenu dans ParentIterator
  • ParentIterator::hasChildren — Vérifie si l'élément courant de l'itérateur interne a un fils
  • ParentIterator::next — Déplace l'itérateur à la position suivante
  • ParentIterator::rewind — Replace l'itérateur au début
NoRewindIterator::valid
ParentIterator::accept
Itérateurs


Détermine si l'élément courant a des fils

ParentIterator
ParentIterator::__construct
ParentIterator
PHP Manual

ParentIterator::accept

(PHP 5 >= 5.1.0)

ParentIterator::accept — Détermine si l'élément courant a des fils

Description

public bool ParentIterator::accept ( void )

Détermine si l'élément courant a des fils.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'élément courant est acceptable, FALSE sinon.

Voir aussi

  • ParentIterator::hasChildren - Vérifie si l'élément courant de l'itérateur interne a un fils
  • FilterIterator::accept - Vérifie si l'élément courant de l'itérateur est acceptable

ParentIterator
ParentIterator::__construct
ParentIterator


Construit un nouvel objet ParentIterator

ParentIterator::accept
ParentIterator::getChildren
ParentIterator
PHP Manual

ParentIterator::__construct

(PHP 5 >= 5.1.0)

ParentIterator::__construct — Construit un nouvel objet ParentIterator

Description

ParentIterator::__construct ( RecursiveIterator $iterator )

Construit un nouvel objet ParentIterator sur un itérateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur sur lequel nous devons construire le nouvel objet.

Valeurs de retour

L'objet ParentIterator.

ParentIterator::accept
ParentIterator::getChildren
ParentIterator


Retourne le fils de l'itérateur interne contenu dans ParentIterator

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator
PHP Manual

ParentIterator::getChildren

(PHP 5 >= 5.1.0)

ParentIterator::getChildren — Retourne le fils de l'itérateur interne contenu dans ParentIterator

Description

ParentIterator ParentIterator::getChildren ( void )

Retourne le fils de l'itérateur interne contenu dans ParentIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet.

ParentIterator::__construct
ParentIterator::hasChildren
ParentIterator


Vérifie si l'élément courant de l'itérateur interne a un fils

ParentIterator::getChildren
ParentIterator::next
ParentIterator
PHP Manual

ParentIterator::hasChildren

(PHP 5 >= 5.1.0)

ParentIterator::hasChildren — Vérifie si l'élément courant de l'itérateur interne a un fils

Description

bool ParentIterator::hasChildren ( void )

Vérifie si l'élément courant de l'itérateur interne a un fils.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ParentIterator::getChildren
ParentIterator::next
ParentIterator


Déplace l'itérateur à la position suivante

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator
PHP Manual

ParentIterator::next

(PHP 5 >= 5.1.0)

ParentIterator::next — Déplace l'itérateur à la position suivante

Description

void ParentIterator::next ( void )

Déplace l'itérateur à la position suivante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator


Replace l'itérateur au début

ParentIterator::next
RecursiveArrayIterator
ParentIterator
PHP Manual

ParentIterator::rewind

(PHP 5 >= 5.1.0)

ParentIterator::rewind — Replace l'itérateur au début

Description

void ParentIterator::rewind ( void )

Replace l'itérateur au début.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

ParentIterator::next
RecursiveArrayIterator
ParentIterator


La classe RecursiveArrayIterator

Introduction

Cet itérateur permet la suppression et la modification de valeurs et clés durant l'itération sur des tableaux et des objets, de la même façon que ArrayIterator . De plus, il est possible d'itérer sur l'élément courant.

Synopsis de la classe

RecursiveArrayIterator
RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Méthodes */
public RecursiveArrayIterator getChildren ( void )
public bool hasChildren ( void )
/* Méthodes héritées */
public void ArrayIterator::append ( mixed $value )
public void ArrayIterator::asort ( void )
ArrayIterator::__construct ( mixed $array )
public void ArrayIterator::count ( void )
mixed ArrayIterator::current ( void )
public array ArrayIterator::getArrayCopy ( void )
public void ArrayIterator::getFlags ( void )
mixed ArrayIterator::key ( void )
public void ArrayIterator::ksort ( void )
public void ArrayIterator::natcasesort ( void )
public void ArrayIterator::natsort ( void )
void ArrayIterator::next ( void )
public void ArrayIterator::offsetExists ( string $index )
public mixed ArrayIterator::offsetGet ( string $index )
public void ArrayIterator::offsetSet ( string $index , string $newval )
public void ArrayIterator::offsetUnset ( string $index )
void ArrayIterator::rewind ( void )
void ArrayIterator::seek ( int $position )
public string ArrayIterator::serialize ( void )
public void ArrayIterator::setFlags ( string $flags )
public void ArrayIterator::uasort ( string $cmp_function )
public void ArrayIterator::uksort ( string $cmp_function )
public string ArrayIterator::unserialize ( string $serialized )
bool ArrayIterator::valid ( void )
}

Sommaire

  • RecursiveArrayIterator::getChildren — Retourne un itérateur pour l'entrée courante
  • RecursiveArrayIterator::hasChildren — Vérifie si l'entrée courante est un tableau ou un objet
ParentIterator::rewind
RecursiveArrayIterator::getChildren
Itérateurs


Retourne un itérateur pour l'entrée courante

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveArrayIterator::getChildren — Retourne un itérateur pour l'entrée courante

Description

public RecursiveArrayIterator RecursiveArrayIterator::getChildren ( void )

Retourne un itérateur pour l'entrée de l'itérateur courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un itérateur pour l'entrée courante, si c'est un tableau ou un objet.

Erreurs / Exceptions

Une exception InvalidArgumentException sera émise si l'entrée courante ne contient pas un tableau ou un objet.

Exemples

Exemple #1 Exemple avec RecursiveArrayIterator::getChildren()

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    if ($iterator->hasChildren()) {
        // Affiche tous les fils
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "Aucun fils.\n";
    }

    $iterator->next();
}
?>

L'exemple ci-dessus va afficher :

Aucun fils.
Aucun fils.
a : apple
p : pear

Voir aussi

  • RecursiveArrayIterator::hasChildren() - Vérifie si l'entrée courante est un tableau ou un objet

RecursiveArrayIterator
RecursiveArrayIterator::hasChildren
RecursiveArrayIterator


Vérifie si l'entrée courante est un tableau ou un objet

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator
PHP Manual

RecursiveArrayIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveArrayIterator::hasChildren — Vérifie si l'entrée courante est un tableau ou un objet

Description

public bool RecursiveArrayIterator::hasChildren ( void )

Vérifie si l'entrée courante est un tableau ou un objet pour lequel un itérateur peut être obtenu via la méthode RecursiveArrayIterator::getChildren.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'entrée courante est un tableau ou un objet, FALSE sinon.

Exemples

Exemple #1 Exemple avec RecursiveArrayIterator::hasChildren()

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

    // Vérifie s'il y a des fils
    if ($iterator->hasChildren()) {
        // Affiche tous les fils
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "Aucun fils.\n";
    }

    $iterator->next();
}
?>

L'exemple ci-dessus va afficher :

Aucun fils.
Aucun fils.
a : apple
p : pear

Voir aussi

  • RecursiveArrayIterator::getChildren() - Retourne un itérateur pour l'entrée courante

RecursiveArrayIterator::getChildren
RecursiveCachingIterator
RecursiveArrayIterator


La classe RecursiveCachingIterator

Introduction

...

Synopsis de la classe

RecursiveCachingIterator
RecursiveCachingIterator extends CachingIterator implements Countable , ArrayAccess , Iterator , Traversable , OuterIterator , RecursiveIterator {
/* Méthodes */
__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )
RecursiveCachingIterator getChildren ( void )
bool hasChildren ( void )
/* Méthodes héritées */
CachingIterator::__construct ( Iterator $iterator [, string $flags ] )
public void CachingIterator::count ( void )
public void CachingIterator::current ( void )
public void CachingIterator::getCache ( void )
public void CachingIterator::getFlags ( void )
public void CachingIterator::getInnerIterator ( void )
public void CachingIterator::hasNext ( void )
public void CachingIterator::key ( void )
public void CachingIterator::next ( void )
public void CachingIterator::offsetExists ( string $index )
public void CachingIterator::offsetGet ( string $index )
public void CachingIterator::offsetSet ( string $index , string $newval )
public void CachingIterator::offsetUnset ( string $index )
public void CachingIterator::rewind ( void )
public void CachingIterator::setFlags ( bitmask $flags )
public void CachingIterator::__toString ( void )
public void CachingIterator::valid ( void )
}

Sommaire

  • RecursiveCachingIterator::__construct — Constructeur
  • RecursiveCachingIterator::getChildren — Retourne le fils de l'itérateur interne comme un CachingRecursiveIterator
  • RecursiveCachingIterator::hasChildren — Vérifie si l'élément courant de l'itérateur interne a un fils
RecursiveArrayIterator::hasChildren
RecursiveCachingIterator::__construct
Itérateurs


Constructeur

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::__construct

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::__construct — Constructeur

Description

RecursiveCachingIterator::__construct ( Iterator $iterator [, string $flags = self::CALL_TOSTRING ] )

Construit un nouvel objet RecursiveCachingIterator, qui pourra ensuite être passé comme itérateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur à utiliser.

flags

Le drapeau. Utilisez la constante CALL_TOSTRING pour appeler RecursiveCachingIterator::__toString sur tous les éléments (par défaut), et/ou la constante CATCH_GET_CHILD pour attraper toutes les exceptions émises lorsque l'on tente de récupérer des fils.

Valeurs de retour

Le nouvel objet RecursiveCachingIterator.

Voir aussi

  • CachingIterator::__construct - Construit un nouvel objet CachingIterator pour l'itérateur

RecursiveCachingIterator
RecursiveCachingIterator::getChildren
RecursiveCachingIterator


Retourne le fils de l'itérateur interne comme un CachingRecursiveIterator

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::getChildren — Retourne le fils de l'itérateur interne comme un CachingRecursiveIterator

Description

RecursiveCachingIterator RecursiveCachingIterator::getChildren ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le fils de l'itérateur, sous la forme d'un RecursiveCachingIterator.

RecursiveCachingIterator::__construct
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator


Vérifie si l'élément courant de l'itérateur interne a un fils

RecursiveCachingIterator::getChildren
RecursiveDirectoryIterator
RecursiveCachingIterator
PHP Manual

RecursiveCachingIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveCachingIterator::hasChildren — Vérifie si l'élément courant de l'itérateur interne a un fils

Description

bool RecursiveCachingIterator::hasChildren ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'élément courant a un fils, FALSE sinon.

RecursiveCachingIterator::getChildren
RecursiveDirectoryIterator
RecursiveCachingIterator


La classe RecursiveDirectoryIterator

Introduction

...

Synopsis de la classe

RecursiveDirectoryIterator
RecursiveDirectoryIterator extends DirectoryIterator implements Traversable , Iterator , RecursiveIterator {
/* Méthodes */
__construct ( string $path [, string $flags ] )
object getChildren ( void )
public string getSubPath ( void )
public string getSubPathname ( void )
bool hasChildren ([ bool $allow_links ] )
string key ( void )
void next ( void )
void rewind ( void )
/* Méthodes héritées */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( void )
public string DirectoryIterator::getFilename ( void )
public int DirectoryIterator::getGroup ( void )
public int DirectoryIterator::getInode ( void )
public int DirectoryIterator::getMTime ( void )
public int DirectoryIterator::getOwner ( void )
public string DirectoryIterator::getPath ( void )
public string DirectoryIterator::getPathname ( void )
public int DirectoryIterator::getPerms ( void )
public int DirectoryIterator::getSize ( void )
public string DirectoryIterator::getType ( void )
public bool DirectoryIterator::isDir ( void )
public bool DirectoryIterator::isDot ( void )
public bool DirectoryIterator::isExecutable ( void )
public bool DirectoryIterator::isFile ( void )
public bool DirectoryIterator::isLink ( void )
public bool DirectoryIterator::isReadable ( void )
public bool DirectoryIterator::isWritable ( void )
public string DirectoryIterator::key ( void )
public void DirectoryIterator::next ( void )
public void DirectoryIterator::rewind ( void )
public void DirectoryIterator::seek ( int $position )
public string DirectoryIterator::__toString ( void )
public bool DirectoryIterator::valid ( void )
}

Sommaire

  • RecursiveDirectoryIterator::__construct — Construit un objet RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren — Retourne un itérateur pour l'entrée courante si c'est un dossier
  • RecursiveDirectoryIterator::getSubPath — Récupère le sous-chemin
  • RecursiveDirectoryIterator::getSubPathname — Récupère le sous-chemin et le nom du fichier
  • RecursiveDirectoryIterator::hasChildren — Vérifie si l'entrée courante est un dossier et n'est pas '.' ou '..'
  • RecursiveDirectoryIterator::key — Retourne le chemin et le nom de l'entrée courante du dossier
  • RecursiveDirectoryIterator::next — Se déplace vers la prochaine entrée
  • RecursiveDirectoryIterator::rewind — Revient à la position initiale dans le dossier
RecursiveCachingIterator::hasChildren
RecursiveDirectoryIterator::__construct
Itérateurs


Construit un objet RecursiveDirectoryIterator

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2)

RecursiveDirectoryIterator::__construct — Construit un objet RecursiveDirectoryIterator

Description

RecursiveDirectoryIterator::__construct ( string $path [, string $flags ] )

Construit un objet RecursiveDirectoryIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

path

Chemin du dossier.

flags

Drapeaux optionnels.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec RecursiveDirectoryIterator

<?php

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

while($it->valid()) {

    if (!$it->isDot()) {
        echo 'SubPathName: ' . $it->getSubPathName() . "\n";
        echo 'SubPath:     ' . $it->getSubPath() . "\n";
        echo 'Key:         ' . $it->key() . "\n\n";
    }

    $it->next();
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SubPathName: fruit/apple.xml
SubPath:     fruit
Key:         /tmp/fruit/apple.xml

SubPathName: stuff.xml
SubPath:
Key:         /tmp/stuff.xml

SubPathName: veggies/carrot.xml
SubPath:     veggies
Key:         /tmp/veggies/carrot.xml

Voir aussi

  • RecursiveIteratorIterator::__construct - Construit un objet RecursiveIteratorIterator

RecursiveDirectoryIterator
RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator


Retourne un itérateur pour l'entrée courante si c'est un dossier

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getChildren — Retourne un itérateur pour l'entrée courante si c'est un dossier

Description

object RecursiveDirectoryIterator::getChildren ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un itérateur pour l'entrée courante, si c'est un dossier.

RecursiveDirectoryIterator::__construct
RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator


Récupère le sous-chemin

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPath

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getSubPath — Récupère le sous-chemin

Description

public string RecursiveDirectoryIterator::getSubPath ( void )

Récupère le sous-chemin.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le sous-chemin (le sous-dossier).

Voir aussi

  • RecursiveDirectoryIterator::getSubPathName - Récupère le sous-chemin et le nom du fichier
  • RecursiveDirectoryIterator::key - Retourne le chemin et le nom de l'entrée courante du dossier

RecursiveDirectoryIterator::getChildren
RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator


Récupère le sous-chemin et le nom du fichier

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::getSubPathname

(PHP 5 >= 5.1.0)

RecursiveDirectoryIterator::getSubPathname — Récupère le sous-chemin et le nom du fichier

Description

public string RecursiveDirectoryIterator::getSubPathname ( void )

Récupère le sous-chemin et le nom du fichier.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le sous-chemin (sous-dossier) et le nom du fichier.

Voir aussi

  • RecursiveDirectoryIterator::getSubPath - Récupère le sous-chemin
  • RecursiveDirectoryIterator::key - Retourne le chemin et le nom de l'entrée courante du dossier

RecursiveDirectoryIterator::getSubPath
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator


Vérifie si l'entrée courante est un dossier et n'est pas '.' ou '..'

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::hasChildren

(PHP 5)

RecursiveDirectoryIterator::hasChildren — Vérifie si l'entrée courante est un dossier et n'est pas '.' ou '..'

Description

bool RecursiveDirectoryIterator::hasChildren ([ bool $allow_links ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

allow_links

Valeurs de retour

Vérifie si l'entrée courante est un dossier et n'est pas '.' ou '..'.

RecursiveDirectoryIterator::getSubPathname
RecursiveDirectoryIterator::key
RecursiveDirectoryIterator


Retourne le chemin et le nom de l'entrée courante du dossier

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::key

(PHP 5)

RecursiveDirectoryIterator::key — Retourne le chemin et le nom de l'entrée courante du dossier

Description

string RecursiveDirectoryIterator::key ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le chemin et le nom de l'entrée courante du dossier.

RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator::next
RecursiveDirectoryIterator


Se déplace vers la prochaine entrée

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::next

(PHP 5)

RecursiveDirectoryIterator::next — Se déplace vers la prochaine entrée

Description

void RecursiveDirectoryIterator::next ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator


Revient à la position initiale dans le dossier

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::rewind

(PHP 5)

RecursiveDirectoryIterator::rewind — Revient à la position initiale dans le dossier

Description

void RecursiveDirectoryIterator::rewind ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveDirectoryIterator::next
RecursiveFilterIterator
RecursiveDirectoryIterator


La classe RecursiveFilterIterator

Introduction

Cet itérateur abstrait filtre les valeurs non souhaitée d'un RecursiveIterator. Cette classe devrait être étendue afin d'implémenter des filtres personnalisés. La méthode RecursiveFilterIterator::accept() est abstraite, et doit être implémentée dans la classe étendant RecursiveIterator.

Synopsis de la classe

RecursiveFilterIterator
RecursiveFilterIterator extends FilterIterator implements Iterator , Traversable , OuterIterator , RecursiveIterator {
/* Méthodes */
__construct ( RecursiveIterator $iterator )
public void getChildren ( void )
public void hasChildren ( void )
/* Méthodes héritées */
abstract bool FilterIterator::accept ( void )
FilterIterator::__construct ( Iterator $iterator )
mixed FilterIterator::current ( void )
Iterator FilterIterator::getInnerIterator ( void )
mixed FilterIterator::key ( void )
void FilterIterator::next ( void )
void FilterIterator::rewind ( void )
bool FilterIterator::valid ( void )
}

Sommaire

  • RecursiveFilterIterator::__construct — Crée un objet RecursiveFilterIterator depuis un objet RecursiveIterator
  • RecursiveFilterIterator::getChildren — Retourne l'itérateur interne contenu dans un objet RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren — Vérifie si un fils existe pour l'itérateur interne de l'élément courant
RecursiveDirectoryIterator::rewind
RecursiveFilterIterator::__construct
Itérateurs


Crée un objet RecursiveFilterIterator depuis un objet RecursiveIterator

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::__construct

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::__construct — Crée un objet RecursiveFilterIterator depuis un objet RecursiveIterator

Description

RecursiveFilterIterator::__construct ( RecursiveIterator $iterator )

Crée un objet RecursiveFilterIterator depuis un objet RecursiveIterator.

Liste de paramètres

iterator

L'objet RecursiveIterator à filtrer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec RecursiveFilterIterator

<?php
class TestsOnlyFilter extends RecursiveFilterIterator {
    public function accept() {
        // Accepte l'élément courant si nous pouvons le parcourir
        // ou si sa valeur commence par "test"
        return $this->hasChildren() || (strpos($this->current(), "test") !== FALSE);
    }
}

$arrary   = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new TestsOnlyFilter($iterator);

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

test1
test3
test4
test5

Exemple #2 Exemple avec RecursiveFilterIterator

<?php
class StartsWithFilter extends RecursiveFilterIterator {

    protected $word;

    public function __construct(RecursiveIterator $rit, $word) {
        $this->word = $word;
        parent::__construct($rit);
    }

    public function accept() {
        return $this->hasChildren() OR strpos($this->current(), $this->word) === 0;
    }

    public function getChildren() {
        return new self($this->getInnerIterator()->getChildren(), $this->word);
    }
}

$array    = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter   = new StartsWithFilter($iterator, "test");

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
    echo $value . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

test1
test3
test4
test5

Voir aussi

  • RecursiveFilterIterator::getChildren - Retourne l'itérateur interne contenu dans un objet RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren - Vérifie si un fils existe pour l'itérateur interne de l'élément courant
  • FilterIterator::accept - Vérifie si l'élément courant de l'itérateur est acceptable

RecursiveFilterIterator
RecursiveFilterIterator::getChildren
RecursiveFilterIterator


Retourne l'itérateur interne contenu dans un objet RecursiveFilterIterator

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::getChildren — Retourne l'itérateur interne contenu dans un objet RecursiveFilterIterator

Description

public void RecursiveFilterIterator::getChildren ( void )

Retourne l'itérateur interne contenu dans l'objet RecursiveFilterIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet RecursiveFilterIterator contenant le fils de l'itérateur interne.

Voir aussi

  • RecursiveFilterIterator::hasChildren - Vérifie si un fils existe pour l'itérateur interne de l'élément courant
  • RecursiveIterator::getChildren - Récupère l'itérateur de l'entrée courante

RecursiveFilterIterator::__construct
RecursiveFilterIterator::hasChildren
RecursiveFilterIterator


Vérifie si un fils existe pour l'itérateur interne de l'élément courant

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator
PHP Manual

RecursiveFilterIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveFilterIterator::hasChildren — Vérifie si un fils existe pour l'itérateur interne de l'élément courant

Description

public void RecursiveFilterIterator::hasChildren ( void )

Vérifie si un fils existe pour l'itérateur interne de l'élément courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'itérateur interne a un fils, FALSE sinon.

Voir aussi

  • RecursiveFilterIterator::getChildren - Retourne l'itérateur interne contenu dans un objet RecursiveFilterIterator
  • RecursiveIterator::hasChildren - Vérifie si un itérateur peut être créé depuis l'entrée courante

RecursiveFilterIterator::getChildren
RecursiveIteratorIterator
RecursiveFilterIterator


La classe RecursiveIteratorIterator

Introduction

Peut être utilisé pour itérer sur des itérateurs, récursivement.

Synopsis de la classe

RecursiveIteratorIterator
RecursiveIteratorIterator implements OuterIterator , Traversable , Iterator {
/* Méthodes */
public void beginChildren ( void )
public void beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
__construct ( Traversable $iterator [, int $mode = LEAVES_ONLY [, int $flags = 0 ]] )
mixed current ( void )
public void endChildren ( void )
public void endIteration ( void )
int getDepth ( void )
public iterator getInnerIterator ( void )
public mixed getMaxDepth ( void )
RecursiveIterator getSubIterator ( void )
mixed key ( void )
void next ( void )
public void nextElement ( void )
void rewind ( void )
public void setMaxDepth ([ string $max_depth = -1 ] )
bool valid ( void )
/* Méthodes héritées */
public Iterator OuterIterator::getInnerIterator ( void )
}

Sommaire

  • RecursiveIteratorIterator::beginChildren — Commence un fils
  • RecursiveIteratorIterator::beginIteration — Commence une itération
  • RecursiveIteratorIterator::callGetChildren — Récupère un fils
  • RecursiveIteratorIterator::callHasChildren — Vérifie si un fils existe
  • RecursiveIteratorIterator::__construct — Construit un objet RecursiveIteratorIterator
  • RecursiveIteratorIterator::current — Accède à la valeur de l'élément courant
  • RecursiveIteratorIterator::endChildren — Termine un fils
  • RecursiveIteratorIterator::endIteration — Termine un itérateur
  • RecursiveIteratorIterator::getDepth — Récupère la profondeur courante de la récursivité de l'itérateur
  • RecursiveIteratorIterator::getInnerIterator — Récupère l'itérateur interne
  • RecursiveIteratorIterator::getMaxDepth — Récupère la profondeur maximale
  • RecursiveIteratorIterator::getSubIterator — L'itérateur secondaire actif courant
  • RecursiveIteratorIterator::key — Accède à la clé courante
  • RecursiveIteratorIterator::next — Déplace l'itérateur à la position suivante
  • RecursiveIteratorIterator::nextElement — Élément suivant
  • RecursiveIteratorIterator::rewind — Replace l'itérateur au début
  • RecursiveIteratorIterator::setMaxDepth — Définit la profondeur maximale
  • RecursiveIteratorIterator::valid — Vérifie si la position courante est valide
RecursiveFilterIterator::hasChildren
RecursiveIteratorIterator::beginChildren
Itérateurs


Commence un fils

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::beginChildren — Commence un fils

Description

public void RecursiveIteratorIterator::beginChildren ( void )

Est appelé après l'appel à la méthode RecursiveIteratorIterator::getChildren, ainsi qu'à la méthode RecursiveIteratorIterator::rewind associé.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator
RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator


Commence une itération

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::beginIteration

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::beginIteration — Commence une itération

Description

public void RecursiveIteratorIterator::beginIteration ( void )

Appelé lorsque l'itération commence (après le premier appel à la méthode RecursiveIteratorIterator::rewind).

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator::beginChildren
RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator


Récupère un fils

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callGetChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::callGetChildren — Récupère un fils

Description

public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )

Récupère le fils de l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet RecursiveIterator.

RecursiveIteratorIterator::beginIteration
RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator


Vérifie si un fils existe

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::callHasChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::callHasChildren — Vérifie si un fils existe

Description

public bool RecursiveIteratorIterator::callHasChildren ( void )

Appelé pour chaque élément pour tester si un fils est disponible.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'élément a un fils, FALSE sinon.

RecursiveIteratorIterator::callGetChildren
RecursiveIteratorIterator::__construct
RecursiveIteratorIterator


Construit un objet RecursiveIteratorIterator

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::__construct

(PHP 5 >= 5.1.3)

RecursiveIteratorIterator::__construct — Construit un objet RecursiveIteratorIterator

Description

RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = LEAVES_ONLY [, int $flags = 0 ]] )

Crée un objet RecursiveIteratorIterator depuis un objet RecursiveIterator.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

iterator

L'itérateur utilisé pour la construction, qui est issu de la méthode RecursiveIterator ou de la méthode IteratorAggregate.

mode

Le mode. Les options disponibles sont LEAVES_ONLY (par défaut), SELF_FIRST et CHILD_FIRST.

flags

Valeurs de retour

RecursiveIteratorIterator::callHasChildren
RecursiveIteratorIterator::current
RecursiveIteratorIterator


Accède à la valeur de l'élément courant

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::current

(PHP 5)

RecursiveIteratorIterator::current — Accède à la valeur de l'élément courant

Description

mixed RecursiveIteratorIterator::current ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur de l'élément courant.

RecursiveIteratorIterator::__construct
RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator


Termine un fils

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endChildren

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::endChildren — Termine un fils

Description

public void RecursiveIteratorIterator::endChildren ( void )

Appelé lorsque l'on termine le bouclage d'un niveau.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator::current
RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator


Termine un itérateur

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::endIteration

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::endIteration — Termine un itérateur

Description

public void RecursiveIteratorIterator::endIteration ( void )

Appelé lorsqu'un itérateur se termine (lorsque la méthode RecursiveIteratorIterator::valid retourne FALSE pour la première fois).

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator::endChildren
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator


Récupère la profondeur courante de la récursivité de l'itérateur

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getDepth

(PHP 5)

RecursiveIteratorIterator::getDepth — Récupère la profondeur courante de la récursivité de l'itérateur

Description

int RecursiveIteratorIterator::getDepth ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La profondeur courante de la récursivité de l'itérateur.

RecursiveIteratorIterator::endIteration
RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator


Récupère l'itérateur interne

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::getInnerIterator — Récupère l'itérateur interne

Description

public iterator RecursiveIteratorIterator::getInnerIterator ( void )

Récupère le sous-itérateur courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le sous-itérateur courant.

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator


Récupère la profondeur maximale

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getMaxDepth

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::getMaxDepth — Récupère la profondeur maximale

Description

public mixed RecursiveIteratorIterator::getMaxDepth ( void )

Récupère la profondeur maximale autorisée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La profondeur maximale autorisée ou FALSE si une profondeur infinie est autorisée.

Voir aussi

  • RecursiveIteratorIterator::setMaxDepth - Définit la profondeur maximale

RecursiveIteratorIterator::getInnerIterator
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator


L'itérateur secondaire actif courant

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getSubIterator

(PHP 5)

RecursiveIteratorIterator::getSubIterator — L'itérateur secondaire actif courant

Description

RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur secondaire actif courant.

RecursiveIteratorIterator::getMaxDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator


Accède à la clé courante

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::key

(PHP 5)

RecursiveIteratorIterator::key — Accède à la clé courante

Description

mixed RecursiveIteratorIterator::key ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La clé courante.

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator


Déplace l'itérateur à la position suivante

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::next

(PHP 5)

RecursiveIteratorIterator::next — Déplace l'itérateur à la position suivante

Description

void RecursiveIteratorIterator::next ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator::key
RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator


Élément suivant

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::nextElement

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::nextElement — Élément suivant

Description

public void RecursiveIteratorIterator::nextElement ( void )

Appelé lorsque l'élément suivant est disponible.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator::next
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator


Replace l'itérateur au début

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::rewind

(PHP 5)

RecursiveIteratorIterator::rewind — Replace l'itérateur au début

Description

void RecursiveIteratorIterator::rewind ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveIteratorIterator::nextElement
RecursiveIteratorIterator::setMaxDepth
RecursiveIteratorIterator


Définit la profondeur maximale

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::setMaxDepth

(PHP 5 >= 5.1.0)

RecursiveIteratorIterator::setMaxDepth — Définit la profondeur maximale

Description

public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )

Définit la profondeur maximale autorisée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

max_depth

La profondeur maximale autorisée. -1 sera utilisé pour une profondeur infinie.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une exception si max_depth est inférieur à -1.

RecursiveIteratorIterator::rewind
RecursiveIteratorIterator::valid
RecursiveIteratorIterator


Vérifie si la position courante est valide

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::valid

(PHP 5)

RecursiveIteratorIterator::valid — Vérifie si la position courante est valide

Description

bool RecursiveIteratorIterator::valid ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la position courante est valide, FALSE sinon.

RecursiveIteratorIterator::setMaxDepth
RecursiveRegexIterator
RecursiveIteratorIterator


La classe RecursiveRegexIterator

Introduction

Cet itérateur récursif peut filtrer un autre itérateur récursif à l'aide d'une expression rationnelle.

Synopsis de la classe

RecursiveRegexIterator
RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
/* Méthodes */
public __construct ( RecursiveIterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )
public RecursiveRegexIterator getChildren ( void )
public bool hasChildren ( void )
/* Méthodes héritées */
public RecursiveIterator RecursiveIterator::getChildren ( void )
public bool RecursiveIterator::hasChildren ( void )
public bool RegexIterator::accept ( void )
public int RegexIterator::getFlags ( void )
public int RegexIterator::getMode ( void )
public int RegexIterator::getPregFlags ( void )
public void RegexIterator::setFlags ( int $flags )
public void RegexIterator::setMode ( int $mode )
public void RegexIterator::setPregFlags ( int $preg_flags )
}

Sommaire

  • RecursiveRegexIterator::__construct — Crée un nouveau RecursiveRegexIterator
  • RecursiveRegexIterator::getChildren — Retourne un itérateur depuis l'entrée courante
  • RecursiveRegexIterator::hasChildren — Vérifie si un itérateur peut être obtenu depuis l'entrée courante
RecursiveIteratorIterator::valid
RecursiveRegexIterator::__construct
Itérateurs


Crée un nouveau RecursiveRegexIterator

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::__construct

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::__construct — Crée un nouveau RecursiveRegexIterator

Description

public RecursiveRegexIterator::__construct ( RecursiveIterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )

Crée un nouvel itérateur d'expression rationnelle.

Liste de paramètres

iterator

L'itérateur récursif sur lequel l'expression rationnelle sera appliquée.

regex

L'expression rationnelle.

mode

Le mode de l'opération ; voir le détail de la méthode RegexIterator::setMode pour une liste des modes disponibles.

flags

Drapeaux spéciaux ; voir le détail de la méthode RegexIterator::setFlags pour une liste des drapeaux disponibles.

preg_flags

Les drapeaux de l'expression rationnelle. Ils dépendent du mode d'opération utilisé :

RegexIterator preg_flags
Mode de l'opération | Drapeaux disponibles
RecursiveRegexIterator::ALL_MATCHES | Voir la fonction preg_match_all().
RecursiveRegexIterator::GET_MATCH | Voir la fonction preg_match().
RecursiveRegexIterator::MATCH | Voir la fonction preg_match().
RecursiveRegexIterator::REPLACE | Aucun.
RecursiveRegexIterator::SPLIT | Voir la fonction preg_split().

Exemples

Exemple #1 Exemple avec RecursiveRegexIterator::__construct()

Crée un nouveau RegexIterator qui filtre toutes les chaînes qui commencent par 'test'.

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // Affiche tous les fils
        echo "Fils : ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "Aucun fils disponible\n";
    }

}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Aucun fils disponible
Fils : test4 test5

Voir aussi

  • preg_match() - Expression rationnelle standard
  • preg_match_all() - Expression rationnelle globale
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_split() - Éclate une chaîne par expression rationnelle

RecursiveRegexIterator
RecursiveRegexIterator::getChildren
RecursiveRegexIterator


Retourne un itérateur depuis l'entrée courante

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::getChildren

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::getChildren — Retourne un itérateur depuis l'entrée courante

Description

public RecursiveRegexIterator RecursiveRegexIterator::getChildren ( void )

Retourne un itérateur depuis l'entrée courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un itérateur depuis l'entrée courante, s'il peut être itéré par l'itérateur interne.

Erreurs / Exceptions

Une exception InvalidArgumentException sera émise si l'entrée courante ne contient aucune valeur qui peut être itérée par l'itérateur interne.

Exemples

Exemple #1 Exemple avec RecursiveRegexIterator::getChildren()

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

    if ($rRegexIterator->hasChildren()) {

        // Affiche tous les fils
        echo "Fils : ";
        foreach ($rRegexIterator->getChildren() as $key => $value) {
            echo $value . " ";
        }
        echo "\n";
    } else {
        echo "Aucun fils de disponible\n";
    }

}
?>

L'exemple ci-dessus va afficher :

Aucun fils de disponible
Fils : test4 test5

Voir aussi

  • RecursiveRegexIterator::hasChildren() - Vérifie si un itérateur peut être obtenu depuis l'entrée courante

RecursiveRegexIterator::__construct
RecursiveRegexIterator::hasChildren
RecursiveRegexIterator


Vérifie si un itérateur peut être obtenu depuis l'entrée courante

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator
PHP Manual

RecursiveRegexIterator::hasChildren

(PHP 5 >= 5.2.0)

RecursiveRegexIterator::hasChildren — Vérifie si un itérateur peut être obtenu depuis l'entrée courante

Description

public bool RecursiveRegexIterator::hasChildren ( void )

Vérifie si un itérateur peut être obtenu depuis l'entrée courante. Cet itérateur peut être obtenu via la méthode RecursiveRegexIterator::getChildren.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si un itérateur peut être obtenu depuis l'entrée courante, FALSE sinon.

Exemples

Exemple #1 Exemple avec RecursiveRegexIterator::hasChildren()

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
    RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $value) {
    var_dump($rRegexIterator->hasChildren());
}
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • RecursiveRegexIterator::getChildren() - Retourne un itérateur depuis l'entrée courante

RecursiveRegexIterator::getChildren
RecursiveTreeIterator
RecursiveRegexIterator


La classe RecursiveTreeIterator

Introduction

Permet l'itération d'un RecursiveIterator pour générer un arbre graphique ASCII.

Synopsis de la classe

RecursiveTreeIterator
RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator , Traversable , Iterator {
/* Constantes */
const integer RecursiveTreeIterator::BYPASS_CURRENT = 4 ;
const integer RecursiveTreeIterator::BYPASS_KEY = 8 ;
const integer RecursiveTreeIterator::PREFIX_LEFT = 0 ;
const integer RecursiveTreeIterator::PREFIX_MID_HAS_NEXT = 1 ;
const integer RecursiveTreeIterator::PREFIX_MID_LAST = 2 ;
const integer RecursiveTreeIterator::PREFIX_END_HAS_NEXT = 3 ;
const integer RecursiveTreeIterator::PREFIX_END_LAST = 4 ;
const integer RecursiveTreeIterator::PREFIX_RIGHT = 5 ;
/* Méthodes */
public void beginChildren ( void )
public RecursiveIterator beginIteration ( void )
public RecursiveIterator callGetChildren ( void )
public bool callHasChildren ( void )
__construct ( RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST ]]] )
public string current ( void )
public void endChildren ( void )
public void endIteration ( void )
public string getEntry ( void )
public void getPostfix ( void )
public string getPrefix ( void )
public string key ( void )
public void next ( void )
public void nextElement ( void )
public void rewind ( void )
public void setPrefixPart ( int $part , string $value )
public bool valid ( void )
/* Méthodes héritées */
public void RecursiveIteratorIterator::beginChildren ( void )
public void RecursiveIteratorIterator::beginIteration ( void )
public RecursiveIterator RecursiveIteratorIterator::callGetChildren ( void )
public bool RecursiveIteratorIterator::callHasChildren ( void )
RecursiveIteratorIterator::__construct ( Traversable $iterator [, int $mode = LEAVES_ONLY [, int $flags = 0 ]] )
mixed RecursiveIteratorIterator::current ( void )
public void RecursiveIteratorIterator::endChildren ( void )
public void RecursiveIteratorIterator::endIteration ( void )
int RecursiveIteratorIterator::getDepth ( void )
public iterator RecursiveIteratorIterator::getInnerIterator ( void )
public mixed RecursiveIteratorIterator::getMaxDepth ( void )
RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )
mixed RecursiveIteratorIterator::key ( void )
void RecursiveIteratorIterator::next ( void )
public void RecursiveIteratorIterator::nextElement ( void )
void RecursiveIteratorIterator::rewind ( void )
public void RecursiveIteratorIterator::setMaxDepth ([ string $max_depth = -1 ] )
bool RecursiveIteratorIterator::valid ( void )
}

Constantes pré-définies

Types de noeuds RecursiveTreeIterator

RecursiveTreeIterator::BYPASS_CURRENT

RecursiveTreeIterator::BYPASS_KEY

RecursiveTreeIterator::PREFIX_LEFT

RecursiveTreeIterator::PREFIX_MID_HAS_NEXT

RecursiveTreeIterator::PREFIX_MID_LAST

RecursiveTreeIterator::PREFIX_END_HAS_NEXT

RecursiveTreeIterator::PREFIX_END_LAST

RecursiveTreeIterator::PREFIX_RIGHT

Sommaire

  • RecursiveTreeIterator::beginChildren — Début d'un fils
  • RecursiveTreeIterator::beginIteration — Début d'une itération
  • RecursiveTreeIterator::callGetChildren — Récupère un fils
  • RecursiveTreeIterator::callHasChildren — Vérifie la présence d'un fils
  • RecursiveTreeIterator::__construct — Construit un nouvel objet RecursiveTreeIterator
  • RecursiveTreeIterator::current — Récupère l'élément courant
  • RecursiveTreeIterator::endChildren — Fin d'un fils
  • RecursiveTreeIterator::endIteration — Fin de l'itération
  • RecursiveTreeIterator::getEntry — Récupère l'entrée courante
  • RecursiveTreeIterator::getPostfix — Récupère le suffixe
  • RecursiveTreeIterator::getPrefix — Récupère le préfixe
  • RecursiveTreeIterator::key — Récupère la clé de l'élément courant
  • RecursiveTreeIterator::next — Se déplace sur l'élément suivant
  • RecursiveTreeIterator::nextElement — Prochain élément
  • RecursiveTreeIterator::rewind — Réinitialise la position de l'itérateur
  • RecursiveTreeIterator::setPrefixPart — Définit une partie du préfixe
  • RecursiveTreeIterator::valid — Vérifie la validité
RecursiveRegexIterator::hasChildren
RecursiveTreeIterator::beginChildren
Itérateurs


Début d'un fils

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::beginChildren — Début d'un fils

Description

public void RecursiveTreeIterator::beginChildren ( void )

Appelé lorsque la récursion commence un niveau inférieur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator
RecursiveTreeIterator::beginIteration
RecursiveTreeIterator


Début d'une itération

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::beginIteration

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::beginIteration — Début d'une itération

Description

public RecursiveIterator RecursiveTreeIterator::beginIteration ( void )

Appelé lorsque l'itération commence (après le premier appel à la méthode RecursiveTreeIterator::rewind).

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet RecursiveIterator.

RecursiveTreeIterator::beginChildren
RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator


Récupère un fils

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callGetChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::callGetChildren — Récupère un fils

Description

public RecursiveIterator RecursiveTreeIterator::callGetChildren ( void )

Récupère un fils de l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet RecursiveIterator.

RecursiveTreeIterator::beginIteration
RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator


Vérifie la présence d'un fils

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::callHasChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::callHasChildren — Vérifie la présence d'un fils

Description

public bool RecursiveTreeIterator::callHasChildren ( void )

Appelé pour chaque élément pour tester s'il a un fils ou non.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE s'il a un fils, FALSE sinon.

RecursiveTreeIterator::callGetChildren
RecursiveTreeIterator::__construct
RecursiveTreeIterator


Construit un nouvel objet RecursiveTreeIterator

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::__construct

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::__construct — Construit un nouvel objet RecursiveTreeIterator

Description

  RecursiveTreeIterator::__construct
  (  RecursiveIterator|IteratorAggregate  $it
 [,  int  $flags = RecursiveTreeIterator::BYPASS_KEY
 [,  int  $cit_flags = CachingIterator::CATCH_GET_CHILD
 [,  int  $mode = RecursiveIteratorIterator::SELF_FIRST
]]] )

Construit un nouvel objet RecursiveTreeIterator depuis l'itérateur récursif fourni.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

it

L'objet RecursiveIterator ou l'objet IteratorAggregate sur lequel on doit itérer.

flags

Les drapeaux fournis peuvent affecter le comportement de quelques méthodes. Une liste des drapeaux peut être trouvée dans la section sur les constantes prédéfinies de RecursiveTreeIterator.

caching_it_flags

Drapeaux qui affectent le comportement de la méthode RecursiveCachingIterator utilisée en interne.

mode

Drapeaux qui affectent le comportement de la méthode RecursiveIteratorIterator utilisée en interne.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::callHasChildren
RecursiveTreeIterator::current
RecursiveTreeIterator


Récupère l'élément courant

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::current

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::current — Récupère l'élément courant

Description

public string RecursiveTreeIterator::current ( void )

Récupère l'élément courant, avec son préfixe et son suffixe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'élément courant, avec son préfixe et son suffixe.

RecursiveTreeIterator::__construct
RecursiveTreeIterator::endChildren
RecursiveTreeIterator


Fin d'un fils

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endChildren

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::endChildren — Fin d'un fils

Description

public void RecursiveTreeIterator::endChildren ( void )

Appelé lorsque la récursion termine un niveau inférieur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::current
RecursiveTreeIterator::endIteration
RecursiveTreeIterator


Fin de l'itération

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::endIteration

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::endIteration — Fin de l'itération

Description

public void RecursiveTreeIterator::endIteration ( void )

Appelé lors de la fin de l'itération (lorsque la méthode RecursiveTreeIterator::valid retourne FALSE pour la première fois).

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::endChildren
RecursiveTreeIterator::getEntry
RecursiveTreeIterator


Récupère l'entrée courante

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getEntry

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getEntry — Récupère l'entrée courante

Description

public string RecursiveTreeIterator::getEntry ( void )

Récupère la partie de l'arbre construit pour l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la partie de l'arbre construit pour l'élément courant.

RecursiveTreeIterator::endIteration
RecursiveTreeIterator::getPostfix
RecursiveTreeIterator


Récupère le suffixe

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPostfix

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getPostfix — Récupère le suffixe

Description

public void RecursiveTreeIterator::getPostfix ( void )

Récupère la chaîne à placer après l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la chaîne à placer après l'élément courant.

RecursiveTreeIterator::getEntry
RecursiveTreeIterator::getPrefix
RecursiveTreeIterator


Récupère le préfixe

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::getPrefix

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::getPrefix — Récupère le préfixe

Description

public string RecursiveTreeIterator::getPrefix ( void )

Récupère la chaîne à placer devant l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la chaîne à placer devant l'élément courant.

RecursiveTreeIterator::getPostfix
RecursiveTreeIterator::key
RecursiveTreeIterator


Récupère la clé de l'élément courant

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::key

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::key — Récupère la clé de l'élément courant

Description

public string RecursiveTreeIterator::key ( void )

Récupère la clé de l'élément courant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Récupère la clé de l'élément courant.

RecursiveTreeIterator::getPrefix
RecursiveTreeIterator::next
RecursiveTreeIterator


Se déplace sur l'élément suivant

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::next

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::next — Se déplace sur l'élément suivant

Description

public void RecursiveTreeIterator::next ( void )

Se déplace sur l'élément suivant.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::key
RecursiveTreeIterator::nextElement
RecursiveTreeIterator


Prochain élément

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::nextElement

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::nextElement — Prochain élément

Description

public void RecursiveTreeIterator::nextElement ( void )

Appelé lorsque le prochain élément devient disponible.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::next
RecursiveTreeIterator::rewind
RecursiveTreeIterator


Réinitialise la position de l'itérateur

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::rewind

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::rewind — Réinitialise la position de l'itérateur

Description

public void RecursiveTreeIterator::rewind ( void )

Réinitialise la position de l'itérateur au premier élément du premier niveau de l'itérateur interne.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::nextElement
RecursiveTreeIterator::setPrefixPart
RecursiveTreeIterator


Définit une partie du préfixe

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::setPrefixPart

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::setPrefixPart — Définit une partie du préfixe

Description

public void RecursiveTreeIterator::setPrefixPart ( int $part , string $value )

Définit une partie du préfixe utilisé par l'arbre graphique.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

part

Une constante parmi les constantes RecursiveTreeIterator::PREFIX_*.

value

La valeur à assigner à la partie du préfixe spécifiée par le paramètre part.

Valeurs de retour

Aucune valeur n'est retournée.

RecursiveTreeIterator::rewind
RecursiveTreeIterator::valid
RecursiveTreeIterator


Vérifie la validité

RecursiveTreeIterator::setPrefixPart
La classe RegexIterator
RecursiveTreeIterator
PHP Manual

RecursiveTreeIterator::valid

(PHP 5 >= 5.3.0)

RecursiveTreeIterator::valid — Vérifie la validité

Description

public bool RecursiveTreeIterator::valid ( void )

Vérifie si la position courante est valide.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la position courante est valide, FALSE sinon.

RecursiveTreeIterator::setPrefixPart
La classe RegexIterator
RecursiveTreeIterator


La classe RegexIterator

Introduction

Cet itérateur sert pour réaliser un filtre basé sur une expression rationnelle.

Synopsis de la classe

RegexIterator
RegexIterator extends FilterIterator {
/* Constantes */
const integer MATCH = 0 ;
const integer GET_MATCH = 1 ;
const integer ALL_MATCHES = 2 ;
const integer SPLIT = 3 ;
const integer REPLACE = 4 ;
const integer USE_KEY = 1 ;
/* Méthodes */
__construct ( Iterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )
public bool accept ( void )
public int getFlags ( void )
public int getMode ( void )
public int getPregFlags ( void )
public void setFlags ( int $flags )
public void setMode ( int $mode )
public void setPregFlags ( int $preg_flags )
/* Méthodes héritées */
abstract bool FilterIterator::accept ( void )
FilterIterator::__construct ( Iterator $iterator )
mixed FilterIterator::current ( void )
Iterator FilterIterator::getInnerIterator ( void )
mixed FilterIterator::key ( void )
void FilterIterator::next ( void )
void FilterIterator::rewind ( void )
bool FilterIterator::valid ( void )
}

Constantes pré-définies

Modes d'opération de RegexIterator

RegexIterator::ALL_MATCHES

Retourne toutes les occurrences de l'élément courant (voyez preg_match_all()).

RegexIterator::GET_MATCH

Retourne la première occurrence de l'élément courant (voyez preg_match()).

RegexIterator::MATCH

Effectue une recherche simple pour l'élément courant (voyez preg_match()).

RegexIterator::REPLACE

Remplace l'élément courant (voyez preg_replace() ; pas encore totalement implémenté).

RegexIterator::SPLIT

Retourne les valeurs séparées pour l'élément courant (voyez preg_split()).

Dréapeaux RegexIterator

RegexIterator::USE_KEY

Option spéciale : travaille sur la clé au lieu de la valeur.

Sommaire

  • RegexIterator::accept — Récupère le statut d'acceptation
  • RegexIterator::__construct — Crée un nouvel objet RegexIterator
  • RegexIterator::getFlags — Récupère les drapeaux
  • RegexIterator::getMode — Retourne le mode de l'opération
  • RegexIterator::getPregFlags — Retourne les drapeaux de l'expression rationnelle
  • RegexIterator::setFlags — Définit les drapeaux
  • RegexIterator::setMode — Définit le mode de l'opération
  • RegexIterator::setPregFlags — Définit les drapeaux de l'expression rationnelle
RecursiveTreeIterator::valid
RegexIterator::accept
Itérateurs


Récupère le statut d'acceptation

La classe RegexIterator
RegexIterator::__construct
La classe RegexIterator
PHP Manual

RegexIterator::accept

(PHP 5 >= 5.2.0)

RegexIterator::accept — Récupère le statut d'acceptation

Description

public bool RegexIterator::accept ( void )

Applique l'expression rationnelle à (string)  RegexIterator::current
(ou  RegexIterator::key si le drapeau
RegexIterator::USE_KEY est défini).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si une correspondance est trouvée, FALSE sinon.

Exemples

Exemple #1 Exemple avec RegexIterator::accept

Cet exemple montre que seuls les éléments correspondant à l'expression rationnelle sont acceptés.

<?php
$names = new ArrayIterator(array('Ann', 'Bob', 'Charlie', 'David'));
$filter = new RegexIterator($names, '/^[B-D]/');
foreach ($filter as $name) {
    echo $name . PHP_EOL;
}
?>

L'exemple ci-dessus va afficher :

Bob
Charlie
David

Voir aussi

  • Les constantes RegexIterator
  • RegexIterator::setFlags - Définit les drapeaux

La classe RegexIterator
RegexIterator::__construct
La classe RegexIterator


Crée un nouvel objet RegexIterator

RegexIterator::accept
RegexIterator::getFlags
La classe RegexIterator
PHP Manual

RegexIterator::__construct

(PHP 5 >= 5.2.0)

RegexIterator::__construct — Crée un nouvel objet RegexIterator

Description

RegexIterator::__construct ( Iterator $iterator , string $regex [, int $mode [, int $flags [, int $preg_flags ]]] )

Crée un nouvel objet RegexIterator qui filtre un itérateur Iterator en utilisant une expression rationnelle.

Liste de paramètres

iterator

L'itérateur sur lequel l'expression rationnelle sera appliquée.

regex

L'expression rationnelle.

mode

Le mode de l'opération, voir la méthode RegexIterator::setMode pour une liste des modes.

flags

Drapeaux spéciaux, voir la méthode RegexIterator::setFlags pour une liste des drapeaux disponibles.

preg_flags

Les drapeaux de l'expression rationnelle. Ils dépendant du mode de l'opération :

RegexIterator preg_flags
Mode de l'opération | Drapeaux disponibles
RegexIterator::ALL_MATCHES | Voir la fonction preg_match_all().
RegexIterator::GET_MATCH | Voir la fonction preg_match().
RegexIterator::MATCH | Voir la fonction preg_match().
RegexIterator::REPLACE | Aucun.
RegexIterator::SPLIT | Voir la fonction preg_split().

Exemples

Exemple #1 Exemple avec RegexIterator::__construct()

Crée un nouvel objet RegexIterator qui filtre toutes les chaînes commençant par 'test'.

<?php
$arrayIterator = new ArrayIterator(array('test 1', 'another test', 'test 123'));
$regexIterator = new RegexIterator($arrayIterator, '/^test/');

foreach ($regexIterator as $value) {
    echo $value . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

test 1
test 123

Voir aussi

  • preg_match() - Expression rationnelle standard
  • preg_match_all() - Expression rationnelle globale
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_split() - Éclate une chaîne par expression rationnelle

RegexIterator::accept
RegexIterator::getFlags
La classe RegexIterator


Récupère les drapeaux

RegexIterator::__construct
RegexIterator::getMode
La classe RegexIterator
PHP Manual

RegexIterator::getFlags

(PHP 5 >= 5.2.0)

RegexIterator::getFlags — Récupère les drapeaux

Description

public int RegexIterator::getFlags ( void )

Retourne les drapeaux, voir la méthode RegexIterator::setFlags pour une liste complète.

Valeurs de retour

Retourne les drapeaux.

Exemples

Exemple #1 Exemple avec RegexIterator::getFlags

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

if ($regexIterator->getFlags() & RegexIterator::USE_KEY) {
    echo 'Filtrage basé sur les clés du tableaux.';
} else {
    echo 'Filtrage basé sur les valeurs du tableaux.';
}
?>

L'exemple ci-dessus va afficher :

Filtrage basé sur les clés du tableaux.

Voir aussi

  • RegexIterator::setFlags - Définit les drapeaux

RegexIterator::__construct
RegexIterator::getMode
La classe RegexIterator


Retourne le mode de l'opération

RegexIterator::getFlags
RegexIterator::getPregFlags
La classe RegexIterator
PHP Manual

RegexIterator::getMode

(PHP 5 >= 5.2.0)

RegexIterator::getMode — Retourne le mode de l'opération

Description

public int RegexIterator::getMode ( void )

Retourne le mode de l'opération, voir la méthode RegexIterator::setMode pour une liste complète.

Valeurs de retour

Retourne le mode de l'opération.

Exemples

Exemple #1 Exemple avec RegexIterator::getMode

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^[a-z]+/', RegexIterator::GET_MATCH);

$mode = $regexIterator->getMode();
if ($mode & RegexIterator::GET_MATCH) {
    echo 'Getting the match for each item.';
} elseif ($mode & RegexIterator::ALL_MATCHES) {
    echo 'Getting all matches for each item.';
} elseif ($mode & RegexIterator::MATCH) {
    echo 'Getting each item if it matches.';
} elseif ($mode & RegexIterator::SPLIT) {
    echo 'Getting split pieces of each.';
}
?>

L'exemple ci-dessus va afficher :

Getting the match for each item.

Voir aussi

  • RegexIterator::setMode - Définit le mode de l'opération

RegexIterator::getFlags
RegexIterator::getPregFlags
La classe RegexIterator


Retourne les drapeaux de l'expression rationnelle

RegexIterator::getMode
RegexIterator::setFlags
La classe RegexIterator
PHP Manual

RegexIterator::getPregFlags

(PHP 5 >= 5.2.0)

RegexIterator::getPregFlags — Retourne les drapeaux de l'expression rationnelle

Description

public int RegexIterator::getPregFlags ( void )

Retourne les drapeaux de l'expression rationnelle, voir la méthode RegexIterator::__construct pour une liste complète.

Valeurs de retour

Retourne les drapeaux de l'expression rationnelle.

Exemples

Exemple #1 Exemple avec RegexIterator::getPregFlags

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/\s/', RegexIterator::SPLIT);
$regexIterator->setPregFlags(PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);

if ($regexIterator->getPregFlags() & PREG_SPLIT_NO_EMPTY) {
    echo 'Ignore les éléments vides';
} else {
    echo 'Éléments vides pris en compte';
}

?>

L'exemple ci-dessus va afficher :

Ignore les éléments vides

Voir aussi

  • RegexIterator::setPregFlags - Définit les drapeaux de l'expression rationnelle

RegexIterator::getMode
RegexIterator::setFlags
La classe RegexIterator


Définit les drapeaux

RegexIterator::getPregFlags
RegexIterator::setMode
La classe RegexIterator
PHP Manual

RegexIterator::setFlags

(PHP 5 >= 5.2.0)

RegexIterator::setFlags — Définit les drapeaux

Description

public void RegexIterator::setFlags ( int $flags )

Définit les drapeaux.

Liste de paramètres

flags

Les drapeaux à définir, un masque de constantes de classe.

Les drapeaux disponibles sont listés ci-dessous. Leurs significations actuelles sont décrites dans la section sur les constantes prédéfinies.

Drapeaux pour RegexIterator
Valeur | Constante
1 | RegexIterator::USE_KEY

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec RegexIterator::setFlags

Crée un nouvel objet RegexIterator qui filtre toutes les entrées dont les clés du tableau commencent par 'test'.

<?php
$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

foreach ($regexIterator as $key => $value) {
    echo $key . ' => ' . $value . "\n";
}
?>

L'exemple ci-dessus va afficher :

teststr2 => another test

Voir aussi

  • RegexIterator::getFlags - Récupère les drapeaux

RegexIterator::getPregFlags
RegexIterator::setMode
La classe RegexIterator


Définit le mode de l'opération

RegexIterator::setFlags
RegexIterator::setPregFlags
La classe RegexIterator
PHP Manual

RegexIterator::setMode

(PHP 5 >= 5.2.0)

RegexIterator::setMode — Définit le mode de l'opération

Description

public void RegexIterator::setMode ( int $mode )

Définit le mode de l'opération.

Liste de paramètres

mode

Le mode de l'opération.

Les modes disponibles sont listés ci-dessous. Leurs significations actuelles sont décrites dans la section sur les constantes prédéfinies.

Les modes pour RegexIterator
Valeur | Constante
0 | RegexIterator::MATCH
1 | RegexIterator::GET_MATCH
2 | RegexIterator::ALL_MATCHES
3 | RegexIterator::SPLIT
4 | RegexIterator::REPLACE

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec RegexIterator::setMode

<?php
$test = array ('str1' => 'test 1', 'test str2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// Filtre tout ce qui commence par 'test ' suivi par un ou plusieurs nombres.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Mode de l'opération : Remplace la valeur actuelle par celle trouvée par l'expression rationnelle
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach ($regexIterator as $key => $value) {
    // Affiche le(s) nombre(s) qui correspond(ent)
    echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

str1 => 1
str3 => 123

Voir aussi

  • RegexIterator::getMode - Retourne le mode de l'opération

RegexIterator::setFlags
RegexIterator::setPregFlags
La classe RegexIterator


Définit les drapeaux de l'expression rationnelle

RegexIterator::setMode
SimpleXMLIterator
La classe RegexIterator
PHP Manual

RegexIterator::setPregFlags

(PHP 5 >= 5.2.0)

RegexIterator::setPregFlags — Définit les drapeaux de l'expression rationnelle

Description

public void RegexIterator::setPregFlags ( int $preg_flags )

Définit les drapeaux de l'expression rationnelle.

Liste de paramètres

preg_flags

Les drapeaux de l'expression rationnelle. Voir la méthode RegexIterator::__construct pour une liste de tous les drapeaux disponibles.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec RegexIterator::setPregFlags()

Crée un nouvel objet RegexIterator qui filtre toutes les entrées dont les clés commencent par 'test'.

<?php
$test = array ('test 1', 'another test', 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/', RegexIterator::GET_MATCH);

$regexIterator->setPregFlags(PREG_OFFSET_CAPTURE);

foreach ($regexIterator as $key => $value) {
    var_dump($value);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}

Voir aussi

  • RegexIterator::getPregFlags - Retourne les drapeaux de l'expression rationnelle

RegexIterator::setMode
SimpleXMLIterator
La classe RegexIterator


La classe SimpleXMLIterator

Introduction

La classe SimpleXMLIterator fournit des itérations récursives sur tous les éléments d'un objet SimpleXMLElement.

Synopsis de la classe

SimpleXMLIterator
SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator , Traversable , Iterator , Countable {
/* Méthodes */
mixed current ( void )
object getChildren ( void )
bool hasChildren ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
}

Sommaire

  • SimpleXMLIterator::current — Retourne l'entrée courante de SimpleXML
  • SimpleXMLIterator::getChildren — Retourne un itérateur pour l'entrée courante, si c'est un objet SimpleXML
  • SimpleXMLIterator::hasChildren — Indique si l'entrée courante de SimpleXML est un objet
  • SimpleXMLIterator::key — Retourne la clé courante SimpleXML
  • SimpleXMLIterator::next — Se déplace sur l'entrée SimpleXML suivante
  • SimpleXMLIterator::rewind — Replace le pointeur SimpleXML au début
  • SimpleXMLIterator::valid — Vérifie si une ressource SimpleXML contient d'autres entrées
RegexIterator::setPregFlags
SimpleXMLIterator::current
Itérateurs


Retourne l'entrée courante de SimpleXML

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::current

(PHP 5 >= 5.1.0)

SimpleXMLIterator::current — Retourne l'entrée courante de SimpleXML

Description

mixed SimpleXMLIterator::current ( void )

Cette méthode retourne l'élément courant comme un objet SimpleXMLIterator ou bien NULL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'élément courant comme un objet SimpleXMLIterator ou NULL, en cas d'échec.

Exemples

Exemple #1 Retourne l'élément courant

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP basics</book><book>XML basics</book></books>');
var_dump($xmlIterator->current());

$xmlIterator->rewind(); // Retour au premier élément
var_dump($xmlIterator->current());
?>

L'exemple ci-dessus va afficher :

NULL
object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP basics"
}

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator


Retourne un itérateur pour l'entrée courante, si c'est un objet SimpleXML

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::getChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::getChildren — Retourne un itérateur pour l'entrée courante, si c'est un objet SimpleXML

Description

object SimpleXMLIterator::getChildren ( void )

Cette méthode retourne un objet SimpleXMLIterator contenant les sous-éléments de l'élémenmt courant SimpleXMLIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet SimpleXMLIterator contenant les sous-éléments de l'objet courant.

Exemples

Exemple #1 Lecture des sous-éléments de l'objet courant

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Basics</title>
        <author>Jim Smith</author>
    </book>
    <book>XML basics</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator($xml);
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    foreach($xmlIterator->getChildren() as $name => $data) {
    echo "The $name is '$data' from the class " . get_class($data) . "\n";
    }
}
?>

L'exemple ci-dessus va afficher :

The title is 'PHP Basics' from the class SimpleXMLIterator
The author is 'Jim Smith' from the class SimpleXMLIterator

SimpleXMLIterator::current
SimpleXMLIterator::hasChildren
SimpleXMLIterator


Indique si l'entrée courante de SimpleXML est un objet

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::hasChildren — Indique si l'entrée courante de SimpleXML est un objet

Description

bool SimpleXMLIterator::hasChildren ( void )

Cette méthode vérifie si l'objet courant SimpleXMLIterator a des sous-éléments.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si l'entrée courante a des sous-éléments, FALSE sinon.

Exemples

Exemple #1 Vérifie si un élément a des sous-éléments

<?php
$xml = <<<XML
<books>
    <book>
        <title>PHP Basics</title>
        <author>Jim Smith</author>
    </book>
    <book>XML basics</book>
</books>
XML;

$xmlIterator = new SimpleXMLIterator( $xml );
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    if($xmlIterator->hasChildren()) {
        var_dump($xmlIterator->current());
    }
}
?>

L'exemple ci-dessus va afficher :

object(SimpleXMLIterator)#2 (2) {
  ["title"]=>
  string(10) "PHP Basics"
  ["author"]=>
  string(9) "Jim Smith"
}

SimpleXMLIterator::getChildren
SimpleXMLIterator::key
SimpleXMLIterator


Retourne la clé courante SimpleXML

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::key

(PHP 5 >= 5.1.0)

SimpleXMLIterator::key — Retourne la clé courante SimpleXML

Description

mixed SimpleXMLIterator::key ( void )

Cette méthode lit le nom de la balise XML courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de la balise XML dans l'objet courant de l'itéraeur SimpleXMLIterator, ou FALSE

Exemples

Exemple #1 Le nom de la balise XML courante

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP basics</book><book>XML basics</book></books>');

echo var_dump($xmlIterator->key());
$xmlIterator->rewind(); // retour au premier élément
echo var_dump($xmlIterator->key());

?>

L'exemple ci-dessus va afficher :

bool(false)
string(4) "book"

SimpleXMLIterator::hasChildren
SimpleXMLIterator::next
SimpleXMLIterator


Se déplace sur l'entrée SimpleXML suivante

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::next

(PHP 5 >= 5.1.0)

SimpleXMLIterator::next — Se déplace sur l'entrée SimpleXML suivante

Description

void SimpleXMLIterator::next ( void )

Cette méthode déplace l'itérateur SimpleXMLIterator à l'élément suivant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Passe au prochain élément

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Basics</book><book>XML basics</book></books>');
$xmlIterator->rewind(); // Retour au premier élément
$xmlIterator->next();

var_dump($xmlIterator->current());
?>

L'exemple ci-dessus va afficher :

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "XML basics"
}

SimpleXMLIterator::key
SimpleXMLIterator::rewind
SimpleXMLIterator


Replace le pointeur SimpleXML au début

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::rewind

(PHP 5 >= 5.1.0)

SimpleXMLIterator::rewind — Replace le pointeur SimpleXML au début

Description

void SimpleXMLIterator::rewind ( void )

Cette méthode remet l'itérateur SimpleXMLIterator au premier élément.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Retour au premier élément

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP Basics</book><book>XML Basics</book></books>');
$xmlIterator->rewind();

var_dump($xmlIterator->current());
?>

L'exemple ci-dessus va afficher :

object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP Basics"
}

SimpleXMLIterator::next
SimpleXMLIterator::valid
SimpleXMLIterator


Vérifie si une ressource SimpleXML contient d'autres entrées

SimpleXMLIterator::rewind
Interfaces
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::valid

(PHP 5 >= 5.1.0)

SimpleXMLIterator::valid — Vérifie si une ressource SimpleXML contient d'autres entrées

Description

bool SimpleXMLIterator::valid ( void )

Cette méthode vérifie si l'élément courant est valide, après un appel à SimpleXMLIterator::rewind ou SimpleXMLIterator::next.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'élément courant est valide, FALSE sinon

Exemples

Exemple #1 Vérifie si un élément est valide

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>SQL Basics</book></books>');

$xmlIterator->rewind(); // Retour au premier élément
echo var_dump($xmlIterator->valid()); // bool(true)

$xmlIterator->next(); // advance to the next element
echo var_dump($xmlIterator->valid()); // bool(false) car il y a un seul élément
?>

SimpleXMLIterator::rewind
Interfaces
SimpleXMLIterator


Interfaces

Sommaire

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator

SPL fournit un jeu d'interfaces.

Voir aussi le mot réservé Interfaces prédéfinies

Liste des interfaces

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject
SimpleXMLIterator::valid
Countable
SPL


L'interface Countable

Introduction

Les classes qui implémentent l'interface Countable peuvent être utilisées avec la fonction count().

Sommaire de l'Interface

Countable
Countable {
/* Méthodes */
abstract public int count ( void )
}

Sommaire

  • Countable::count — Compte le nombre d'éléments d'un objet
Interfaces
Countable::count
Interfaces


Compte le nombre d'éléments d'un objet

Countable
OuterIterator
Countable
PHP Manual

Countable::count

(PHP 5 >= 5.1.0)

Countable::count — Compte le nombre d'éléments d'un objet

Description

abstract public int Countable::count ( void )

Countable::count() est exécutée lorsque la fonction count() est appelée sur un objet qui implémente l'interface Countable.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre compté, sous forme integer .

Note: La valeur retournée est forcée en integer .

Exemples

Exemple #1 Exemple avec Countable::count()

<?php
class myCounter implements Countable {
    public function count() {
        static $count = 0;
        return ++$count;
    }
}

$counter = new myCounter;

for($i=0; $i<10; ++$i) {
    echo "J'ai été compté " . count($counter) . " fois\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

J'ai été compté 1 fois
J'ai été compté 2 fois
J'ai été compté 3 fois
J'ai été compté 4 fois
J'ai été compté 5 fois
J'ai été compté 6 fois
J'ai été compté 7 fois
J'ai été compté 8 fois
J'ai été compté 9 fois
J'ai été compté 10 fois

Countable
OuterIterator
Countable


L'interface OuterIterator

Introduction

Les classes implémentant la classe OuterIterator peuvent être utilisées pour itérer sur des itérateurs.

Sommaire de l'Interface

OuterIterator
OuterIterator extends Iterator {
/* Méthodes */
public Iterator getInnerIterator ( void )
/* Méthodes héritées */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Sommaire

  • OuterIterator::getInnerIterator — Retourne l'itérateur interne pour l'entrée courante
Countable::count
OuterIterator::getInnerIterator
Interfaces


Retourne l'itérateur interne pour l'entrée courante

OuterIterator
RecursiveIterator
OuterIterator
PHP Manual

OuterIterator::getInnerIterator

(PHP 5 >= 5.1.0)

OuterIterator::getInnerIterator — Retourne l'itérateur interne pour l'entrée courante

Description

public Iterator OuterIterator::getInnerIterator ( void )

Retourne l'itérateur interne pour l'entrée courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'itérateur interne pour l'entrée courante.

OuterIterator
RecursiveIterator
OuterIterator


La classe RecursiveIterator

Introduction

Les classes qui implémentent RecursiveIterator peut être utilisées pour itérer sur d'autres itérateurs récursivement.

Sommaire de l'Interface

RecursiveIterator
RecursiveIterator extends Iterator {
/* Méthodes */
public RecursiveIterator getChildren ( void )
public bool hasChildren ( void )
/* Méthodes héritées */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Sommaire

  • RecursiveIterator::getChildren — Récupère l'itérateur de l'entrée courante
  • RecursiveIterator::hasChildren — Vérifie si un itérateur peut être créé depuis l'entrée courante
OuterIterator::getInnerIterator
RecursiveIterator::getChildren
Interfaces


Récupère l'itérateur de l'entrée courante

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator
PHP Manual

RecursiveIterator::getChildren

(PHP 5 >= 5.1.0)

RecursiveIterator::getChildren — Récupère l'itérateur de l'entrée courante

Description

public RecursiveIterator RecursiveIterator::getChildren ( void )

Retourne l'itérateur pour l'entrée courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Li'térateur pour l'entrée courante.

Voir aussi

  • RecursiveIterator::hasChildren() - Vérifie si un itérateur peut être créé depuis l'entrée courante

RecursiveIterator
RecursiveIterator::hasChildren
RecursiveIterator


Vérifie si un itérateur peut être créé depuis l'entrée courante

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator
PHP Manual

RecursiveIterator::hasChildren

(PHP 5 >= 5.1.0)

RecursiveIterator::hasChildren — Vérifie si un itérateur peut être créé depuis l'entrée courante

Description

public bool RecursiveIterator::hasChildren ( void )

Vérifie si un itérateur peut être créé depuis l'entrée courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si l'entrée courante peut être parcouru, FALSE sinon.

Voir aussi

  • RecursiveIterator::getChildren() - Récupère l'itérateur de l'entrée courante

RecursiveIterator::getChildren
SeekableIterator
RecursiveIterator


L'interface SeekableIterator

Introduction

L'itérateur SeekableIterator.

Sommaire de l'Interface

SeekableIterator
SeekableIterator extends Iterator {
/* Méthodes */
abstract public void seek ( int $position )
/* Méthodes héritées */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}

Exemple #1 Utilisation simple

Cet exemple montre comment crée une classe SeekableIterator personnalisée, qui gère une position invalide.

<?php
class MySeekableIterator implements SeekableIterator {

    private $position = 0;

    private $array = array(
        "premier élément",
        "second élément",
        "troisième élément",
        "quatriéme élément"
    );

    public function seek($position) {
      $this->position = $position;

      if (!$this->valid()) {
          throw new OutOfBoundsException("invalid seek position ($position)");
      }
    }

    /* Méthodes requises par l'interface Iterator */

    public function __construct() {
        $this->position = 0;
    }

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

try {

    $it = new MySeekableIterator;
    echo $it->current(), "\n";

    $it->seek(2);
    echo $it->current(), "\n";

    $it->seek(1);
    echo $it->current(), "\n";

    $it->seek(10);

} catch (OutOfBoundsException $e) {
    echo $e->getMessage();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

premier élément
troisième élément
second élément
invalid seek position (10)

Sommaire

  • SeekableIterator::seek — Recherche une position
RecursiveIterator::hasChildren
SeekableIterator::seek
Interfaces


Recherche une position

SeekableIterator
Exceptions
SeekableIterator
PHP Manual

SeekableIterator::seek

(PHP 5 >= 5.1.0)

SeekableIterator::seek — Recherche une position

Description

abstract public void SeekableIterator::seek ( int $position )

Recherche la position donnée dans l'itérateur.

Liste de paramètres

position

La position à atteindre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

L'implémentations doit émettre une exception OutOfBoundsException si la position position n'est pas atteignable.

Exemples

Exemple #1 Exemple avec SeekableIterator::seek

Déplace l'itérateur à la position 3 (ArrayIterator implémente SeekableIterator).

<?php
$array = array("apple", "banana", "cherry", "damson", "elderberry");
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

damson

Voir aussi

  • SeekableIterator
  • Iterator

SeekableIterator
Exceptions
SeekableIterator


Exceptions

Sommaire

  • BadFunctionCallException
  • BadMethodCallException
  • DomainException
  • InvalidArgumentException
  • LengthException
  • LogicException
  • OutOfBoundsException
  • OutOfRangeException
  • OverflowException
  • RangeException
  • RuntimeException
  • UnderflowException
  • UnexpectedValueException

SPL fournit un jeu d'exceptions standards.

Voir aussi le mot réservé Exceptions prédéfinies

SeekableIterator::seek
BadFunctionCallException
SPL


La classe BadFunctionCallException

Introduction

Exception émise si une fonction de rappel n'existe pas ou si certains de ses arguments sont manquants.

Synopsis de la classe

BadFunctionCallException
BadFunctionCallException extends LogicException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
Exceptions
BadMethodCallException
Exceptions


La classe BadMethodCallException

Introduction

Exception émise si une méthode de rappel n'existe pas ou si certains de ses arguments sont manquants.

Synopsis de la classe

BadMethodCallException
BadMethodCallException extends BadFunctionCallException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadFunctionCallException
DomainException
Exceptions


La classe DomainException

Introduction

Exception lancée si une valeur n'édhère pas à un domaine de données défini et valide.

Synopsis de la classe

DomainException
DomainException extends LogicException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
BadMethodCallException
InvalidArgumentException
Exceptions


La classe InvalidArgumentException

Introduction

Exception émise si un argument de correspond pas à la valeur attendue.

Synopsis de la classe

InvalidArgumentException
InvalidArgumentException extends LogicException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
DomainException
LengthException
Exceptions


La classe LengthException

Introduction

Exception émise si une taille est invalide.

Synopsis de la classe

LengthException
LengthException extends LogicException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
InvalidArgumentException
LogicException
Exceptions


La classe LogicException

Introduction

Exception émise si une expression logique est invalide

Synopsis de la classe

LogicException
LogicException extends Exception {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LengthException
OutOfBoundsException
Exceptions


La classe OutOfBoundsException

Introduction

Exception émise quand une valeur n'est pas une clé valide

Synopsis de la classe

OutOfBoundsException
OutOfBoundsException extends RuntimeException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
LogicException
OutOfRangeException
Exceptions


La classe OutOfRangeException

Introduction

Exception émise lorsqu'une valeur est hors de son intervalle de validité.

Synopsis de la classe

OutOfRangeException
OutOfRangeException extends LogicException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfBoundsException
OverflowException
Exceptions


La classe OverflowException

Introduction

Exception émise quand on tente d'ajouter un élément à un conteneur plein.

Synopsis de la classe

OverflowException
OverflowException extends RuntimeException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OutOfRangeException
RangeException
Exceptions


La classe RangeException

Introduction

Exception émise quand un intervalle invalide est donné.

Synopsis de la classe

RangeException
RangeException extends RuntimeException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
OverflowException
RuntimeException
Exceptions


La classe RuntimeException

Introduction

Exception émise quand une erreur est rencontrée durant l'exécution.

Synopsis de la classe

RuntimeException
RuntimeException extends Exception {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RangeException
UnderflowException
Exceptions


La classe UnderflowException

Introduction

Exception émise quand on tente de supprimer un élément d'un conteneur vide.

Synopsis de la classe

UnderflowException
UnderflowException extends RuntimeException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
RuntimeException
UnexpectedValueException
Exceptions


La classe UnexpectedValueException

Introduction

Exception émise si une valeur ne fait pas partie d'une liste de valeurs.

Synopsis de la classe

UnexpectedValueException
UnexpectedValueException extends RuntimeException {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
UnderflowException
Fonctions SPL
Exceptions


Fonctions SPL

Sommaire

  • class_implements — Retourne les interfaces implémentées par une classe donnée
  • class_parents — Retourne la classe parente d'une classe
  • iterator_apply — Appelle une fonction pour tous les éléments d'un itérateur
  • iterator_count — Compte de nombre d'éléments dans un itérateur
  • iterator_to_array — Copie un itérateur dans un tableau
  • spl_autoload_call — Essai toutes les fonctions __autoload() enregistrées pour charger la classe demandée
  • spl_autoload_extensions — Enregistre et retourne l'extension du fichier par défaut pour spl_autoload
  • spl_autoload_functions — Retourne toutes les fonctions __autoload() enregistrées
  • spl_autoload_register — Enregistre une fonction comme __autoload()
  • spl_autoload_unregister — Efface d'une fonction donnée de l'implémentation __autoload()
  • spl_autoload — Implémentation par défaut d'__autoload()
  • spl_classes — Retourne les classes SPL disponibles
  • spl_object_hash — Retourne l'identifiant de hashage pour un objet donné
UnexpectedValueException
class_implements
SPL


Retourne les interfaces implémentées par une classe donnée

Fonctions SPL
class_parents
Fonctions SPL
PHP Manual

class_implements

(PHP 5 >= 5.1.0)

class_implements — Retourne les interfaces implémentées par une classe donnée

Description

array class_implements ( mixed $class [, bool $autoload = true ] )

Cette fonction retourne un tableau avec les noms des interfaces que la classe class ainsi que ses parents implémentent.

Liste de paramètres

class

Un objet (instance) ou une chaîne de caractères (nom de la classe).

autoload

Si TRUE, autorise cette fonction à charger la classe automatiquement grâce à la méthode magique __autoload.

Valeurs de retour

Retourne un tableau ou FALSE en cas d'erreur.

Historique

Version | Description
5.1.0 | Ajout de l'option pour passer le paramètre class en tant que chaîne de caractères. Ajout du paramètre autoload.

Exemples

Exemple #1 Exemple avec class_implements()

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// Depuis PHP 5.1.0, vous pouvez aussi spécifier le paramètre comme une chaîne de caractères
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// Utilisez __autoload pour charger la classe 'non_chargée'
print_r(class_implements('non_chargée', true));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [foo] => foo
)

Array
(
    [interface_de_non_chargée] => interface_de_non_chargée
)

Voir aussi

  • class_parents() - Retourne la classe parente d'une classe
  • get_declared_interfaces() - Retourne un tableau avec toutes les interfaces déclarées

Fonctions SPL
class_parents
Fonctions SPL


Retourne la classe parente d'une classe

class_implements
iterator_apply
Fonctions SPL
PHP Manual

class_parents

(PHP 5 >= 5.1.0)

class_parents — Retourne la classe parente d'une classe

Description

array class_parents ( mixed $class [, bool $autoload = true ] )

class_parents() retourne un tableau avec le nom des classes parentes de la classe class.

Liste de paramètres

class

Un objet (instance) ou une chaîne de caractères (nom de la classe).

autoload

Si TRUE, autorise cette fonction à charger la classe automatiquement grâce à la méthode magique __autoload.

Valeurs de retour

Retourne un tableau ou FALSE en cas d'erreur.

Historique

Version | Description
5.1.0 | Ajout de l'option pour passer le paramètre en tant que chaîne de caractères

Exemples

Exemple #1 Exemple avec class_parents()

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// Depuis PHP 5.1.0, vous pouvez aussi spécifier le paramètre comme une chaîne de caractères
print_r(class_implements('bar'));

function __autoload($class_name) {
require_once $class_name . '.php';
}

// Utilisez __autoload pour charger la classe 'non_chargée'
print_r(class_implements('non_chargée', true));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
   [foo] => foo
)

Array
(
   [parent_de_non_chargée] => parent_de_non_chargée
)

Voir aussi

  • class_implements() - Retourne les interfaces implémentées par une classe donnée

class_implements
iterator_apply
Fonctions SPL


Appelle une fonction pour tous les éléments d'un itérateur

class_parents
iterator_count
Fonctions SPL
PHP Manual

iterator_apply

(PHP 5 >= 5.1.0)

iterator_apply — Appelle une fonction pour tous les éléments d'un itérateur

Description

int iterator_apply ( Traversable $iterator , callback $function [, array $args ] )

Appelle une fonction pour tous les éléments d'un itérateur.

Liste de paramètres

iterator

La classe à itérer.

function

La fonction à appeler à chaque élément.

Note: La fonction doit retourner TRUE afin de continuer d'itérer à travers l'itérateur nommé par le paramètre iterator.

args

Les arguments à passer à la fonction de rappel.

Valeurs de retour

Retourne le nombre d'itération.

Exemples

Exemple #1 Exemple avec iterator_apply()

<?php
function print_caps(Iterator $iterator) {
    echo strtoupper($iterator->current()) . "\n";
    return TRUE;
}

$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>

L'exemple ci-dessus va afficher :

APPLES
BANANAS
CHERRIES

Voir aussi

  • array_walk() - Exécute une fonction sur chacun des éléments d'un tableau

class_parents
iterator_count
Fonctions SPL


Compte de nombre d'éléments dans un itérateur

iterator_apply
iterator_to_array
Fonctions SPL
PHP Manual

iterator_count

(PHP 5 >= 5.1.0)

iterator_count — Compte de nombre d'éléments dans un itérateur

Description

int iterator_count ( Traversable $iterator )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Compte les éléments dans un itérateur.

Liste de paramètres

iterator

L'itérateur dont il faut compter les éléments.

Valeurs de retour

Le nombre d'éléments dans l'itérateur iterator.

Exemples

Exemple #1 Exemple avec iterator_count()

<?php
$iterator = new ArrayIterator(array('recipe'=>'crêpes', 'oeufs', 'lait', 'farine'));
var_dump(iterator_count($iterator));
?>

L'exemple ci-dessus va afficher :

int(4)

iterator_apply
iterator_to_array
Fonctions SPL


Copie un itérateur dans un tableau

iterator_count
spl_autoload_call
Fonctions SPL
PHP Manual

iterator_to_array

(PHP 5 >= 5.1.0)

iterator_to_array — Copie un itérateur dans un tableau

Description

array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )

Copie les éléments d'un itérateur dans un tableau.

Liste de paramètres

iterator

L'itérateur à copier.

use_keys

S'il faut utiliser les éléments de l'itérateur comme clé.

Valeurs de retour

Un tableau contenant les éléments de l'itérateur iterator.

Historique

Version | Description
5.2.1 | Ajout du paramètre use_keys.

Exemples

Exemple #1 Exemple avec iterator_to_array()

<?php
$iterator = new ArrayIterator(array('recipe'=>'crêpes', 'oeufs', 'lait', 'farine'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

L'exemple ci-dessus va afficher :

array(4) {
  ["recipe"]=>
  string(7) "crêpes"
  [0]=>
  string(5) "oeufs"
  [1]=>
  string(4) "lait"
  [2]=>
  string(6) "farine"
}
array(4) {
  [0]=>
  string(7) "crêpes"
  [1]=>
  string(5) "oeufs"
  [2]=>
  string(4) "lait"
  [3]=>
  string(6) "farine"
}

iterator_count
spl_autoload_call
Fonctions SPL


Essai toutes les fonctions __autoload() enregistrées pour charger la classe demandée

iterator_to_array
spl_autoload_extensions
Fonctions SPL
PHP Manual

spl_autoload_call

(PHP 5 >= 5.1.2)

spl_autoload_call — Essai toutes les fonctions __autoload() enregistrées pour charger la classe demandée

Description

void spl_autoload_call ( string $class_name )

Cette fonction peut être utilisée pour rechercher manuellement une classe ou une interface en utilisant les fonctions enregistrées __autoload.

Liste de paramètres

class_name

Le nom de la classe cherchée.

Valeurs de retour

Aucune valeur n'est retournée.

iterator_to_array
spl_autoload_extensions
Fonctions SPL


Enregistre et retourne l'extension du fichier par défaut pour spl_autoload

spl_autoload_call
spl_autoload_functions
Fonctions SPL
PHP Manual

spl_autoload_extensions

(PHP 5 >= 5.1.2)

spl_autoload_extensions — Enregistre et retourne l'extension du fichier par défaut pour spl_autoload

Description

string spl_autoload_extensions ([ string $file_extensions ] )

Cette fonction peut modifier et vérifier l'extension du fichier pour spl_autoload().

Liste de paramètres

file_extensions

Lorsqu'appelée sans argument, elle retourne simplement la liste courante des extensions, séparées par une virgule. Pour modifier cette liste, appelez simplement la fonction avec la nouvelle liste d'extensions à utiliser dans un chaîne de caractères, dont chaque extension sera séparée par une virgule.

Valeurs de retour

Une liste d'extensions de fichier, délimitée par une virgule pour spl_autoload().

spl_autoload_call
spl_autoload_functions
Fonctions SPL


Retourne toutes les fonctions __autoload() enregistrées

spl_autoload_extensions
spl_autoload_register
Fonctions SPL
PHP Manual

spl_autoload_functions

(PHP 5 >= 5.1.2)

spl_autoload_functions — Retourne toutes les fonctions __autoload() enregistrées

Description

array spl_autoload_functions ( void )

Récupère toutes les fonctions __autoload() enregistrées.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau contenant toutes les fonctions __autoload enregistrées. Si la pile d'autoload n'est pas active, alors la valeur de retour sera FALSE. Si aucune fonction n'est enregistrée, la valeur retournée sera un tableau vide.

spl_autoload_extensions
spl_autoload_register
Fonctions SPL


Enregistre une fonction comme __autoload()

spl_autoload_functions
spl_autoload_unregister
Fonctions SPL
PHP Manual

spl_autoload_register

(PHP 5 >= 5.1.2)

spl_autoload_register — Enregistre une fonction comme __autoload()

Description

bool spl_autoload_register ([ callback $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

spl_autoload_register() enregistre une fonction dans la pile __autoload() fournie. Si la pile n'est pas encore active, elle est activée.

Si votre code dispose déjà d'une fonction __autoload(), alors cette fonction doit explicitement enregistrer la pile __autoload. Ceci est du au fait que spl_autoload_register() remplace le cache du moteur pour la fonction __autoload() par soit spl_autoload(), soit spl_autoload_call().

Si vous devez utiliser plusieurs fonctions d'autochargement, la fonction spl_autoload_register() est faîte pour cela. Elle crée une file d'attente de fonctions d'autochargement, et les exécute les unes après les autres, dans l'ordre qu'elles ont été définies. A contrario, la fonction __autoload() ne peut être définie qu'une seule fois.

Liste de paramètres

autoload_function

La fonction __autoload() à enregistrer. Si aucun paramètre n'est fourni, alors, l'implémentation par défaut de la fonction spl_autoload() sera enregistrée.

throw

Ce paramètre spécifie si spl_autoload_register() doit lancer des exceptions en cas d'erreur.

prepend

Si ce paramètre vaut TRUE, spl_autoload_register() ajoutera la fonction au début de la pile de l'autoloader au lieu de l'ajouter à la fin de la pile.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Ajout du support des espaces de noms.
5.3.0 | Le paramètre prepend a été ajouté.

Exemples

Exemple #1 Exemple avec spl_autoload_register()

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print '[['. $name .']]';
    }
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // Depuis PHP 5.3.0

new InexistentClass;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...

spl_autoload_functions
spl_autoload_unregister
Fonctions SPL


Efface d'une fonction donnée de l'implémentation __autoload()

spl_autoload_register
spl_autoload
Fonctions SPL
PHP Manual

spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregister — Efface d'une fonction donnée de l'implémentation __autoload()

Description

bool spl_autoload_unregister ( mixed $autoload_function )

Efface une fonction de la pile __autoload fourni par spl. Si la pile est active et vide après l'effacement de la fonction donnée, alors elle sera désactivée.

Lorsque cette fonction active une pile autoload, toutes les fonctions __autoload existantes ne seront pas réactivées.

Liste de paramètres

autoload_function

La fonction autoload à enregistrer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

spl_autoload_register
spl_autoload
Fonctions SPL


Implémentation par défaut d'__autoload()

spl_autoload_unregister
spl_classes
Fonctions SPL
PHP Manual

spl_autoload

(PHP 5 >= 5.1.2)

spl_autoload — Implémentation par défaut d'__autoload()

Description

void spl_autoload ( string $class_name [, string $file_extensions = spl_autoload_extensions() ] )

Cette fonction est prévu pour être utilisé comme implémentation par défaut pour __autoload(). Si rien de plus n'est spécifié et que spl_autoload_register() est appelé sans aucun paramètre, alors cette fonction sera utilisée pour tous les futures appels à __autoload().

Liste de paramètres

class_name

file_extensions

Par défaut, la fonction vérifie tous les chemins d'inclusion qui pourraient contenir des noms de fichier ajoutés par le nom de classe, utilisant les extensions .inc et .php.

Valeurs de retour

Aucune valeur n'est retournée.

spl_autoload_unregister
spl_classes
Fonctions SPL


Retourne les classes SPL disponibles

spl_autoload
spl_object_hash
Fonctions SPL
PHP Manual

spl_classes

(PHP 5)

spl_classes — Retourne les classes SPL disponibles

Description

array spl_classes ( void )

spl_classes() retourne un tableau avec la liste des classes SPL actuellement disponibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant les classes SPL actuellement disponibles.

Exemples

Exemple #1 Exemple avec spl_classes()

<?php

print_r(spl_classes());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [RecursiveCachingIterator] => RecursiveCachingIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)

spl_autoload
spl_object_hash
Fonctions SPL


Retourne l'identifiant de hashage pour un objet donné

spl_classes
Gestion des fichiers
Fonctions SPL
PHP Manual

spl_object_hash

(PHP 5 >= 5.2.0)

spl_object_hash — Retourne l'identifiant de hashage pour un objet donné

Description

string spl_object_hash ( object $obj )

Cette fonction retourne un identifiant unique pour l'objet. Cet identifiant peut être utilisé comme clé de hashage pour stocker les objets ou pour les identifier.

Liste de paramètres

object

N'importe quel objet.

Valeurs de retour

Une chaîne de caractères unique pour chaque élément existant dans l'objet et sera toujours identique pour chaque objet.

Exemples

Exemple #1 Exemple avec spl_object_hash()

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

Notes

Note: Lorsqu'un objet est détruit, son identifiant de hashage pourra être réutilisé pour d'autres objets.

spl_classes
Gestion des fichiers
Fonctions SPL


Gestion des fichiers

Sommaire

  • SplFileInfo
  • SplFileObject
  • SplTempFileObject

SPL fournit des classes pour travailler sur les fichiers.

spl_object_hash
SplFileInfo
SPL


La classe SplFileInfo

Introduction

La classe SplFileInfo fournit une interface de haut niveau avec les informations de fichiers.

Synopsis de la classe

SplFileInfo
SplFileInfo {
/* Méthodes */
__construct ( string $file_name )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( void )
public SplFileInfo getFileInfo ([ string $class_name ] )
public string getFilename ( void )
public int getGroup ( void )
public int getInode ( void )
public string getLinkTarget ( void )
public int getMTime ( void )
public int getOwner ( void )
public string getPath ( void )
public SplFileInfo getPathInfo ([ string $class_name ] )
public string getPathname ( void )
public int getPerms ( void )
public string getRealPath ( void )
public int getSize ( void )
public string getType ( void )
public bool isDir ( void )
public bool isExecutable ( void )
public bool isFile ( void )
public bool isLink ( void )
public bool isReadable ( void )
public bool isWritable ( void )
public SplFileObject openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void setFileClass ([ string $class_name ] )
public void setInfoClass ([ string $class_name ] )
public void __toString ( void )
}

Sommaire

  • SplFileInfo::__construct — Construit un nouvel objet SplFileInfo
  • SplFileInfo::getATime — Lit la date de dernier accès au fichier
  • SplFileInfo::getBasename — Le le nom du fichier
  • SplFileInfo::getCTime — Lit la date de modification du fichier
  • SplFileInfo::getFileInfo — Obtient un objet SplFileInfo pour un fichier
  • SplFileInfo::getFilename — Lit le nom du fichier
  • SplFileInfo::getGroup — Lit le groupe d'appartenance du fichier
  • SplFileInfo::getInode — Lit le inode du fichier
  • SplFileInfo::getLinkTarget — Lit la cible d'un lien symbolique
  • SplFileInfo::getMTime — Lit la date de dernière modification
  • SplFileInfo::getOwner — Lit le propriétaire du fichier
  • SplFileInfo::getPath — Le le chemin sans le nom de fichier
  • SplFileInfo::getPathInfo — Crée un objet SplFileInfo pour un chemin
  • SplFileInfo::getPathname — Lit le chemin d'un fichier
  • SplFileInfo::getPerms — Lit les droits d'un fichier
  • SplFileInfo::getRealPath — Lit le chemin absolu d'un fichier
  • SplFileInfo::getSize — Lit la taille d'un fichier
  • SplFileInfo::getType — Lit le type de fichier
  • SplFileInfo::isDir — Indique si le fichier est un dossier
  • SplFileInfo::isExecutable — Indique si un fichier est exécutable
  • SplFileInfo::isFile — Indique si un fichier est un véritable fichier
  • SplFileInfo::isLink — Indique si un fichier est un lien
  • SplFileInfo::isReadable — Indique si le fichier est lisible
  • SplFileInfo::isWritable — Indique si on peut écrire dans un fichier
  • SplFileInfo::openFile — Crée un objet SplFileObject pour le fichier
  • SplFileInfo::setFileClass — Configure le nom de la classe utilisée avec SplFileInfo::openFile
  • SplFileInfo::setInfoClass — Configure la classe utilisée par getFileInfo et getPathInfo
  • SplFileInfo::__toString — Retourne le chemin d'un fichier sous forme de chaîne
Gestion des fichiers
SplFileInfo::__construct
Gestion des fichiers


Construit un nouvel objet SplFileInfo

SplFileInfo
SplFileInfo::getATime
SplFileInfo
PHP Manual

SplFileInfo::__construct

(PHP 5 >= 5.1.2)

SplFileInfo::__construct — Construit un nouvel objet SplFileInfo

Description

SplFileInfo::__construct ( string $file_name )

Crée un nouvel objet SplFileInfo pour le nom de fichier indiqué. Le fichier n'a pas besoin d'être lisible ou même d'exister.

Liste de paramètres

file_name

Le chemin jusqu'au fichier.

Exemples

Exemple #1 Exemple avec SplFileInfo::__construct()

<?php
$info = new SplFileInfo('example.php');
if ($info->isFile()) {
    echo $info->getRealPath();
}
?>

SplFileInfo
SplFileInfo::getATime
SplFileInfo


Lit la date de dernier accès au fichier

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo
PHP Manual

SplFileInfo::getATime

(PHP 5 >= 5.1.2)

SplFileInfo::getATime — Lit la date de dernier accès au fichier

Description

public int SplFileInfo::getATime ( void )

Lit la date de dernier accès au fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la date de dernier accès au fichier.

Erreurs / Exceptions

Émet une exception RunTimeException en cas d'erreur.

Voir aussi

  • fileatime() - Renvoie la date à laquelle le fichier a été accédé pour la dernière fois

SplFileInfo::__construct
SplFileInfo::getBasename
SplFileInfo


Le le nom du fichier

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo
PHP Manual

SplFileInfo::getBasename

(PHP 5 >= 5.2.2)

SplFileInfo::getBasename — Le le nom du fichier

Description

public string SplFileInfo::getBasename ([ string $suffix ] )

Cette méthode retourne le nom du fichier, dossier ou lien sans le chemin.

Liste de paramètres

suffix

Un suffixe optionnel à omettre dans le nom de fichier retourné.

Valeurs de retour

Retourne le nom du fichier, sans les informations de chemin.

Exemples

Exemple #1 Exemple avec SplFileInfo::getBasename()

<?php
$info = new SplFileInfo('file.txt');
var_dump($info->getbaseName());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getbaseName());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getbaseName('.txt'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

Voir aussi

  • SplFileInfo::getFilename - Lit le nom du fichier

SplFileInfo::getATime
SplFileInfo::getCTime
SplFileInfo


Lit la date de modification du fichier

SplFileInfo::getBasename
SplFileInfo::getFileInfo
SplFileInfo
PHP Manual

SplFileInfo::getCTime

(PHP 5 >= 5.1.2)

SplFileInfo::getCTime — Lit la date de modification du fichier

Description

public int SplFileInfo::getCTime ( void )

Retourne la date de modification du fichier. La date est au format timestamp Unix.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La date de dernier changement, sous forme de timestamp Unix.

Erreurs / Exceptions

Émet une exception RunTimeException en cas d'erreur.

Exemples

Exemple #1 Exemple avec SplFileInfo::getCTime()

<?php
$info = new SplFileInfo(__FILE__);
echo 'Dernière modification : ' . date('g:i a', $info->getCTime());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Dernière modification : 1:49 pm

Voir aussi

  • filectime() - Renvoie la date de dernier accès à un inode

SplFileInfo::getBasename
SplFileInfo::getFileInfo
SplFileInfo


Obtient un objet SplFileInfo pour un fichier

SplFileInfo::getCTime
SplFileInfo::getFilename
SplFileInfo
PHP Manual

SplFileInfo::getFileInfo

(PHP 5 >= 5.1.2)

SplFileInfo::getFileInfo — Obtient un objet SplFileInfo pour un fichier

Description

public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )

Cette méthode obtient un objet SplFileInfo pour un fichier.

Liste de paramètres

class_name

Le nom de la classe SplFileInfo dérivée à utiliser.

Valeurs de retour

Un objet SplFileInfo créé pour le fichier.

Voir aussi

  • SplFileInfo::setInfoClass - Configure la classe utilisée par getFileInfo et getPathInfo

SplFileInfo::getCTime
SplFileInfo::getFilename
SplFileInfo


Lit le nom du fichier

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo
PHP Manual

SplFileInfo::getFilename

(PHP 5 >= 5.1.2)

SplFileInfo::getFilename — Lit le nom du fichier

Description

public string SplFileInfo::getFilename ( void )

Lit le nom du fichier, sans chemin.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom du fichier.

Exemples

Exemple #1 Exemple avec SplFileInfo::getFilename()

<?php
$info = new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(11) "svn.php"

Voir aussi

  • SplFileInfo::getBasename - Le le nom du fichier

SplFileInfo::getFileInfo
SplFileInfo::getGroup
SplFileInfo


Lit le groupe d'appartenance du fichier

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo
PHP Manual

SplFileInfo::getGroup

(PHP 5 >= 5.1.2)

SplFileInfo::getGroup — Lit le groupe d'appartenance du fichier

Description

public int SplFileInfo::getGroup ( void )

Lit le groupe d'appartenance du fichier. L'identifiant du groupe est un entier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'identifiant du groupe est un entier.

Erreurs / Exceptions

Émet une exception RunTimeException en cas d'erreur.

Exemples

Exemple #1 Exemple avec SplFileInfo::getGroup()

<?php
$info = new SplFileInfo(__FILE__);
print_r(posix_getgrgid($info->getGroup()));

L'exemple ci-dessus va afficher quelque chose de similaire à :

Voir aussi

  • posix_getgrgid() - Retourne des informations sur un groupe

SplFileInfo::getFilename
SplFileInfo::getInode
SplFileInfo


Lit le inode du fichier

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo
PHP Manual

SplFileInfo::getInode

(PHP 5 >= 5.1.2)

SplFileInfo::getInode — Lit le inode du fichier

Description

public int SplFileInfo::getInode ( void )

Lit le numéro de inode du fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le numéro de inode du fichier.

Erreurs / Exceptions

Émet une RuntimeException en cas d'erreur.

Voir aussi

  • fileinode() - Lit le numéro d'inode du fichier

SplFileInfo::getGroup
SplFileInfo::getLinkTarget
SplFileInfo


Lit la cible d'un lien symbolique

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo
PHP Manual

SplFileInfo::getLinkTarget

(PHP 5 >= 5.2.2)

SplFileInfo::getLinkTarget — Lit la cible d'un lien symbolique

Description

public string SplFileInfo::getLinkTarget ( void )

Lit la cible d'un lien symbolique.

Note: Le chemin indiqué n'est pas toujours le chemin réel sur le système de fichiers. Utilisez SplFileInfo::getRealPath pour déterminer le véritable chemin.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la cible du lien symbolique.

Erreurs / Exceptions

Émet une exception RuntimeException en cas d'erreur.

Exemples

Exemple #1 Exemple avec SplFileInfo::getLinkTarget()

<?php
$info = new SplFileInfo('/Users/bbieber/workspace');
if ($info->isLink()) {
    var_dump($info->getLinkTarget());
    var_dump($info->getRealPath());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(19) "Documents/workspace"
string(34) "/Users/bbieber/Documents/workspace"

Voir aussi

  • SplFileInfo::isLink - Indique si un fichier est un lien
  • SplFileInfo::getRealPath - Lit le chemin absolu d'un fichier

SplFileInfo::getInode
SplFileInfo::getMTime
SplFileInfo


Lit la date de dernière modification

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo
PHP Manual

SplFileInfo::getMTime

(PHP 5 >= 5.1.2)

SplFileInfo::getMTime — Lit la date de dernière modification

Description

public int SplFileInfo::getMTime ( void )

Lit la date de dernière modification du contenu du fichier. La date retournée est au format timestamp Unix.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne au format timestamp Unix.

Voir aussi

  • filemtime() - Lit la date de dernière modification du fichier

SplFileInfo::getLinkTarget
SplFileInfo::getOwner
SplFileInfo


Lit le propriétaire du fichier

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo
PHP Manual

SplFileInfo::getOwner

(PHP 5 >= 5.1.2)

SplFileInfo::getOwner — Lit le propriétaire du fichier

Description

public int SplFileInfo::getOwner ( void )

Lit le propriétaire du fichier. Le propriétaire est un entier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le propriétaire du fichier, au format entier.

Erreurs / Exceptions

Émet une exception RunTimeException en cas d'erreur.

Exemples

Exemple #1 Exemple avec SplFileInfo::getOwner()

<?php
$info = new SplFileInfo('file.txt');
print_r(posix_getpwuid($info->getOwner()));
?>

Voir aussi

  • posix_getpwuid() - Retourne des informations sur un utilisateur
  • SplFileInfo::getGroup - Lit le groupe d'appartenance du fichier

SplFileInfo::getMTime
SplFileInfo::getPath
SplFileInfo


Le le chemin sans le nom de fichier

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo
PHP Manual

SplFileInfo::getPath

(PHP 5 >= 5.1.2)

SplFileInfo::getPath — Le le chemin sans le nom de fichier

Description

public string SplFileInfo::getPath ( void )

Retourne le nom du chemin sans le nom de fichier, ou un slash final.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le chemin du fichier.

Exemples

Exemple #1 Exemple avec SplFileInfo::getPath()

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPath());

$info = new SplFileInfo('/usr/');
var_dump($info->getPath());?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(8) "/usr/bin"
string(4) "/usr"

Voir aussi

  • SplFileInfo::getRealPath - Lit le chemin absolu d'un fichier
  • SplFileInfo::getFilename - Lit le nom du fichier
  • SplFileInfo::getPathInfo - Crée un objet SplFileInfo pour un chemin

SplFileInfo::getOwner
SplFileInfo::getPathInfo
SplFileInfo


Crée un objet SplFileInfo pour un chemin

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo
PHP Manual

SplFileInfo::getPathInfo

(PHP 5 >= 5.1.2)

SplFileInfo::getPathInfo — Crée un objet SplFileInfo pour un chemin

Description

public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )

Crée un objet SplFileInfo pour le dossier qui contient le fichier courant.

Liste de paramètres

class_name

Le nom d'une classe qui dérive de SplFileInfo.

Valeurs de retour

Retourne un objet SplFileInfo pour le dossier qui contient le fichier courant.

Exemples

Exemple #1 Exemple avec SplFileInfo::getPathInfo()

<?php
$info = new SplFileInfo('/usr/bin/php');
$parent_info = $info->getPathInfo();
var_dump($parent_info->getRealPath());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(8) "/usr/bin"

Voir aussi

  • SplFileInfo::setInfoClass - Configure la classe utilisée par getFileInfo et getPathInfo

SplFileInfo::getPath
SplFileInfo::getPathname
SplFileInfo


Lit le chemin d'un fichier

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo
PHP Manual

SplFileInfo::getPathname

(PHP 5 >= 5.1.2)

SplFileInfo::getPathname — Lit le chemin d'un fichier

Description

public string SplFileInfo::getPathname ( void )

Retourne le chemin d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le chemin d'un fichier.

Exemples

Exemple #1 Exemple avec SplFileInfo::getPathname()

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPathname());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(12) "/usr/bin/php"

Voir aussi

  • SplFileInfo::getRealPath - Lit le chemin absolu d'un fichier

SplFileInfo::getPathInfo
SplFileInfo::getPerms
SplFileInfo


Lit les droits d'un fichier

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo
PHP Manual

SplFileInfo::getPerms

(PHP 5 >= 5.1.2)

SplFileInfo::getPerms — Lit les droits d'un fichier

Description

public int SplFileInfo::getPerms ( void )

Lit les droits d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les droits d'un fichier, sous forme d'entier.

Exemples

Exemple #1 Exemple avec SplFileInfo::getPerms()

<?php
$info = new SplFileInfo('/tmp');
echo substr(sprintf('%o', $info->getPerms()), -4);

$info = new SplFileInfo(__FILE__);
echo substr(sprintf('%o', $info->getPerms()), -4);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1777
0644

SplFileInfo::getPathname
SplFileInfo::getRealPath
SplFileInfo


Lit le chemin absolu d'un fichier

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo
PHP Manual

SplFileInfo::getRealPath

(PHP 5 >= 5.2.2)

SplFileInfo::getRealPath — Lit le chemin absolu d'un fichier

Description

public string SplFileInfo::getRealPath ( void )

Cette méthode résout tous les liens symboliques, les chemins relatifs et retourne le véritable chemin qui mène à un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le chemin du fichier.

Exemples

Exemple #1 Exemple avec SplFileInfo::getRealPath()

<?php
$info = new SplFileInfo('/..//./../../'.__FILE__);
var_dump($info->getRealPath());

$info = new SplFileInfo('/tmp');
var_dump($info->getRealPath());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(28) "/private/tmp/phptempfile.php"
string(12) "/private/tmp"

Voir aussi

  • SplFileInfo::isLink - Indique si un fichier est un lien

SplFileInfo::getPerms
SplFileInfo::getSize
SplFileInfo


Lit la taille d'un fichier

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo
PHP Manual

SplFileInfo::getSize

(PHP 5 >= 5.1.2)

SplFileInfo::getSize — Lit la taille d'un fichier

Description

public int SplFileInfo::getSize ( void )

Retourne la taille d'un fichier, en octets.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La taille du fichier, en octets.

Erreurs / Exceptions

Une exception RuntimeException sera émise si le fichier n'existe pas, ou si une erreur survient.

Voir aussi

  • filesize() - Lit la taille d'un fichier

SplFileInfo::getRealPath
SplFileInfo::getType
SplFileInfo


Lit le type de fichier

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo
PHP Manual

SplFileInfo::getType

(PHP 5 >= 5.1.2)

SplFileInfo::getType — Lit le type de fichier

Description

public string SplFileInfo::getType ( void )

Retourne le type de fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une string représentant le type de fichier. Cela peut être file, link, ou dir

Erreurs / Exceptions

Émet une exception RuntimeException.

Exemples

Exemple #1 Exemple avec SplFileInfo::getType()

<?php

$info = new SplFileInfo(__FILE__);
echo $info->getType().PHP_EOL;

$info = new SplFileInfo(dirname(__FILE__));
echo $info->getType();

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

file
dir

SplFileInfo::getSize
SplFileInfo::isDir
SplFileInfo


Indique si le fichier est un dossier

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo
PHP Manual

SplFileInfo::isDir

(PHP 5 >= 5.1.2)

SplFileInfo::isDir — Indique si le fichier est un dossier

Description

public bool SplFileInfo::isDir ( void )

Indique si le fichier est un dossier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le fichier est un dossier, et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileInfo::isDir()

<?php
$d = new SplFileInfo(dirname(__FILE__));
var_dump($d->isDir());

$d = new SplFileInfo(__FILE__);
var_dump($d->isDir());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)

SplFileInfo::getType
SplFileInfo::isExecutable
SplFileInfo


Indique si un fichier est exécutable

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo
PHP Manual

SplFileInfo::isExecutable

(PHP 5 >= 5.1.2)

SplFileInfo::isExecutable — Indique si un fichier est exécutable

Description

public bool SplFileInfo::isExecutable ( void )

SplFileInfo::isExecutable() indique si un fichier est exécutable.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le fichier est exécutable, FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileInfo::isExecutable()

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->isExecutable());

$info = new SplFileInfo('/usr/bin');
var_dump($info->isExecutable());

$info = new SplFileInfo('foo');
var_dump($info->isExecutable());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(true)
bool(false)

SplFileInfo::isDir
SplFileInfo::isFile
SplFileInfo


Indique si un fichier est un véritable fichier

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo
PHP Manual

SplFileInfo::isFile

(PHP 5 >= 5.1.2)

SplFileInfo::isFile — Indique si un fichier est un véritable fichier

Description

public bool SplFileInfo::isFile ( void )

Indique si un fichier existe et est un véritable fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le fichier existe et qu'il est un véritable fichier (et non pas un lien) et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileInfo::isFile()

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)

SplFileInfo::isExecutable
SplFileInfo::isLink
SplFileInfo


Indique si un fichier est un lien

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo
PHP Manual

SplFileInfo::isLink

(PHP 5 >= 5.1.2)

SplFileInfo::isLink — Indique si un fichier est un lien

Description

public bool SplFileInfo::isLink ( void )

Cette méthode indique si un fichier référencé par SplFileInfo est un lien.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le fichier est un lien, et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileInfo::isLink()

<?php
$info = new SplInfo('/chemin/vers/un/lien');
if ($info->isLink()) {
    echo 'Le véritable chemin est '.$info->getRealPath();
}
?>

Voir aussi

  • SplFileInfo::getRealPath - Lit le chemin absolu d'un fichier

SplFileInfo::isFile
SplFileInfo::isReadable
SplFileInfo


Indique si le fichier est lisible

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo
PHP Manual

SplFileInfo::isReadable

(PHP 5 >= 5.1.2)

SplFileInfo::isReadable — Indique si le fichier est lisible

Description

public bool SplFileInfo::isReadable ( void )

Indique si le fichier est lisible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le fichier est lisible, et FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileInfo::isReadable()

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isReadable());

$info = new SplFileInfo('foo');
var_dump($info->isReadable());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)

SplFileInfo::isLink
SplFileInfo::isWritable
SplFileInfo


Indique si on peut écrire dans un fichier

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo
PHP Manual

SplFileInfo::isWritable

(PHP 5 >= 5.1.2)

SplFileInfo::isWritable — Indique si on peut écrire dans un fichier

Description

public bool SplFileInfo::isWritable ( void )

Vérifie si le fichier a les autorisations en écriture.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si le fichier peut être écrit, et FALSE sinon;

SplFileInfo::isReadable
SplFileInfo::openFile
SplFileInfo


Crée un objet SplFileObject pour le fichier

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo
PHP Manual

SplFileInfo::openFile

(PHP 5 >= 5.1.2)

SplFileInfo::openFile — Crée un objet SplFileObject pour le fichier

Description

public SplFileObject SplFileInfo::openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )

Crée un objet SplFileObject pour le fichier. Cette fonction est utile car SplFileObject contient des méthodes supplémentaires pour manipuler des fichiers alors que SplFileInfo n'est utile que pour lire des informations, comme les attributs d'un fichier.

Liste de paramètres

open_mode

Le mode d'ouverture du fichier. Voyez la fonction fopen() pour connaître les différents modes. La valeur par défaut est lecture seule.

use_include_path

Lorsque définit à TRUE, le nom du fichier est également recherché dans include_path

context

Reportez-vous à la section contexte de ce manuel pour une description des contextes.

Valeurs de retour

Le fichier ouvert, sous forme d'objet SplFileObject.

Erreurs / Exceptions

Une exception RuntimeException si le fichier ne peut être ouvert (par exemple, droits d'accès insuffisants).

Exemples

Exemple #1 Exemple avec SplFileInfo::openFile()

<?php
$fileinfo = new SplFileInfo('/tmp/foo.txt');

if ($fileinfo->isWritable()) {

    $fileobj = $fileinfo->openFile('a');

    $fileobj->fwrite("appended this sample text");
}
?>

Voir aussi

  • SplFileObject
  • stream_context_create() - Crée un contexte de flux
  • fopen() - Ouvre un fichier ou une URL

SplFileInfo::isWritable
SplFileInfo::setFileClass
SplFileInfo


Configure le nom de la classe utilisée avec SplFileInfo::openFile

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo
PHP Manual

SplFileInfo::setFileClass

(PHP 5 >= 5.1.2)

SplFileInfo::setFileClass — Configure le nom de la classe utilisée avec SplFileInfo::openFile()

Description

public void SplFileInfo::setFileClass ([ string $class_name ] )

Configure le nom de la classe utilisée par SplFileInfo pour ouvrir les fichiers avec la méthode openFile(). Le nom de la classe passé à cette méthode doit être dérivé de SplFileObject.

Liste de paramètres

class_name

Le nom de la classe utilisée par openFile().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFileInfo::setFileClass()

<?php
// Créée une classe qui étend SplFileObject
class MyFoo extends SplFileObject {}

$info = new SplFileInfo(__FILE__);
// Configure la classe à utiliser
$info->setFileClass('MyFoo');
var_dump($info->openFile());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(MyFoo)#2 (0) { }

Voir aussi

  • SplFileInfo::openFile - Crée un objet SplFileObject pour le fichier

SplFileInfo::openFile
SplFileInfo::setInfoClass
SplFileInfo


Configure la classe utilisée par getFileInfo et getPathInfo

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo
PHP Manual

SplFileInfo::setInfoClass

(PHP 5 >= 5.1.2)

SplFileInfo::setInfoClass — Configure la classe utilisée par getFileInfo et getPathInfo

Description

public void SplFileInfo::setInfoClass ([ string $class_name ] )

Utilisez cette méthode pour configurer une classe personnalisée à utiliser avec les méthodes getFileInfo et getPathInfo. La classe utilisée doit hériter de SplFileInfo.

Liste de paramètres

class_name

Le nom de la classe à utiliser.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFileInfo::setFileClass()

<?php
// Define a class which extends SplFileInfo
class MyFoo extends SplFileInfo {}

$info = new SplFileInfo('foo');
// Configure la classe à utiliser
$info->setInfoClass('MyFoo');
var_dump($info->getFileInfo());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(MyFoo)#2 (0) { }

Voir aussi

  • SplFileInfo::getFileInfo - Obtient un objet SplFileInfo pour un fichier

SplFileInfo::setFileClass
SplFileInfo::__toString
SplFileInfo


Retourne le chemin d'un fichier sous forme de chaîne

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo
PHP Manual

SplFileInfo::__toString

(PHP 5 >= 5.1.2)

SplFileInfo::__toString — Retourne le chemin d'un fichier sous forme de chaîne

Description

public void SplFileInfo::__toString ( void )

Retourne le chemin d'un fichier sous forme de chaîne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le chemin, sous forme de chaîne.

Exemples

Exemple #1 Exemple avec SplFileInfo::__toString()

<?php
$info = new SplFileInfo('foo');
var_dump($info->__toString());
echo $info.PHP_EOL;

$info = new SplFileInfo('/usr/bin/php');
var_dump($info->__toString());
echo $info.PHP_EOL;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(3) "foo"
foo
string(12) "/usr/bin/php"
/usr/bin/php

SplFileInfo::setInfoClass
SplFileObject
SplFileInfo


La classe SplFileObject

Introduction

La classe SplFileObject offre une interface orientée objet pour un fichier.

Synopsis de la classe

SplFileObject
SplFileObject extends SplFileInfo implements RecursiveIterator , Traversable , Iterator , SeekableIterator {
/* Constantes */
const integer SplFileObject::DROP_NEW_LINE = 1 ;
const integer SplFileObject::READ_AHEAD = 2 ;
const integer SplFileObject::SKIP_EMPTY = 6 ;
const integer SplFileObject::READ_CSV = 8 ;
/* Méthodes */
__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )
public string|array current ( void )
public boolean eof ( void )
public boolean fflush ( void )
public string fgetc ( void )
 public  array  fgetcsv
  ([  string  $delimiter = ","
 [,  string  $enclosure = "\""
 [,  string  $escape = "\\"
]]] )
public string fgets ( void )
public string fgetss ([ string $allowable_tags ] )
public bool flock ( int $operation [, int &$wouldblock ] )
public int fpassthru ( void )
public mixed fscanf ( string $format [, mixed &$... ] )
public int fseek ( int $offset [, int $whence = SEEK_SET ] )
public array fstat ( void )
public int ftell ( void )
public bool ftruncate ( int $size )
public int fwrite ( string $str [, int $length ] )
public void getChildren ( void )
public array getCsvControl ( void )
public int getFlags ( void )
public int getMaxLineLen ( void )
public bool hasChildren ( void )
public int key ( void )
public void next ( void )
public void rewind ( void )
public void seek ( int $line_pos )
 public  void  setCsvControl
  ([  string  $delimiter = ","
 [,  string  $enclosure = "\""
 [,  string  $escape = "\\"
]]] )
public void setFlags ( int $flags )
public void setMaxLineLen ( int $max_len )
public bool valid ( void )
/* Méthodes héritées */
SplFileInfo::__construct ( string $file_name )
public int SplFileInfo::getATime ( void )
public string SplFileInfo::getBasename ([ string $suffix ] )
public int SplFileInfo::getCTime ( void )
public SplFileInfo SplFileInfo::getFileInfo ([ string $class_name ] )
public string SplFileInfo::getFilename ( void )
public int SplFileInfo::getGroup ( void )
public int SplFileInfo::getInode ( void )
public string SplFileInfo::getLinkTarget ( void )
public int SplFileInfo::getMTime ( void )
public int SplFileInfo::getOwner ( void )
public string SplFileInfo::getPath ( void )
public SplFileInfo SplFileInfo::getPathInfo ([ string $class_name ] )
public string SplFileInfo::getPathname ( void )
public int SplFileInfo::getPerms ( void )
public string SplFileInfo::getRealPath ( void )
public int SplFileInfo::getSize ( void )
public string SplFileInfo::getType ( void )
public bool SplFileInfo::isDir ( void )
public bool SplFileInfo::isExecutable ( void )
public bool SplFileInfo::isFile ( void )
public bool SplFileInfo::isLink ( void )
public bool SplFileInfo::isReadable ( void )
public bool SplFileInfo::isWritable ( void )
public SplFileObject SplFileInfo::openFile ([ string $open_mode = r [, bool $use_include_path = false [, resource $context = NULL ]]] )
public void SplFileInfo::setFileClass ([ string $class_name ] )
public void SplFileInfo::setInfoClass ([ string $class_name ] )
public void SplFileInfo::__toString ( void )
}

Constantes pré-définies

SplFileObject::DROP_NEW_LINE

Supprime les nouvelles lignes à la fin d'une ligne.

SplFileObject::READ_AHEAD

Lecture sur rewind/next.

SplFileObject::SKIP_EMPTY

Ignore les lignes vierges du fichier.

SplFileObject::READ_CSV

Lit les lignes en tant que lignes CSV.

Sommaire

  • SplFileObject::__construct — Construit un nouvel objet fichier
  • SplFileObject::current — Récupère la ligne courante d'un fichier
  • SplFileObject::eof — Vérifie si la fin du fichier est atteinte
  • SplFileObject::fflush — Écrit l'affichage dans le fichier
  • SplFileObject::fgetc — Récupère un caractère depuis le fichier
  • SplFileObject::fgetcsv — Récupère une ligne depuis le fichier et l'analyse comme étant des données CSV
  • SplFileObject::fgets — Récupère une ligne d'un fichier
  • SplFileObject::fgetss — Récupère une ligne d'un fichier et supprime les balises HTML
  • SplFileObject::flock — Verrouille ou déverrouille un fichier
  • SplFileObject::fpassthru — Affiche toutes les données en attente sur un pointeur de fichier
  • SplFileObject::fscanf — Analyse une entrée d'un fichier suivant un format donné
  • SplFileObject::fseek — Se déplace à une position donnée
  • SplFileObject::fstat — Récupère les informations d'un fichier
  • SplFileObject::ftell — Retourne la position courant dans le fichier
  • SplFileObject::ftruncate — Coupe le fichier à une longueur donnée
  • SplFileObject::fwrite — Écrit dans le fichier
  • SplFileObject::getChildren — Récupère le fils
  • SplFileObject::getCsvControl — Récupère les options pour CSV
  • SplFileObject::getCurrentLine — Alias de SplFileObject::fgets
  • SplFileObject::getFlags — Récupère les drapeaux pour l'objet SplFileObject
  • SplFileObject::getMaxLineLen — Récupère la longueur maximale d'une ligne
  • SplFileObject::hasChildren — Vérifie si SplFileObject a un fils
  • SplFileObject::key — Récupère le numéro de la ligne courant
  • SplFileObject::next — Se déplace sur la prochaine ligne
  • SplFileObject::rewind — Réinitialise le fichier à la première ligne
  • SplFileObject::seek — Se déplace sur une ligne spécifique
  • SplFileObject::setCsvControl — Définit les options CSV
  • SplFileObject::setFlags — Définit les drapeaux pour l'objet SplFileObject
  • SplFileObject::setMaxLineLen — Définit la longueur maximale d'une ligne
  • SplFileObject::__toString — Alias de SplFileObject::current
  • SplFileObject::valid — Vérifie si la fin du fichier a été atteinte
SplFileInfo::__toString
SplFileObject::__construct
Gestion des fichiers


Construit un nouvel objet fichier

SplFileObject
SplFileObject::current
SplFileObject
PHP Manual

SplFileObject::__construct

(PHP 5 >= 5.1.0)

SplFileObject::__construct — Construit un nouvel objet fichier

Description

SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )

Construit un nouvel objet fichier.

Liste de paramètres

filename

Le fichier à lire.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

open_mode

Le mode utilisé pour ouvrir le fichier. Voir la fonction fopen() pour une liste de tous les modes disponibles.

use_include_path

Si l'on doit chercher dans l'include_path le fichier filename.

context

Une ressource de contexte valide créée avec la fonction stream_context_create().

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance une exception RuntimeException si le fichier filename n'a pu être ouvert.

Exemples

Exemple #1 Exemple avec SplFileObject::__construct

Cet exemple ouvre le fichier courant et parcourt son contenu ligne par ligne.

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line) {
    echo $line;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line) {
    echo $line;
}
?>

Voir aussi

  • SplFileInfo::openFile - Crée un objet SplFileObject pour le fichier
  • fopen() - Ouvre un fichier ou une URL

SplFileObject
SplFileObject::current
SplFileObject


Récupère la ligne courante d'un fichier

SplFileObject::__construct
SplFileObject::eof
SplFileObject
PHP Manual

SplFileObject::current

(PHP 5 >= 5.1.0)

SplFileObject::current — Récupère la ligne courante d'un fichier

Description

public string|array SplFileObject::current ( void )

Récupère la ligne courante d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Récupère la ligne courante d'un fichier. Si le drapeau SplFileObject::READ_CSV est défini, cette méthode retournera un tableau contenant la ligne courante analysée comme étant une donnée CSV.

Exemples

Exemple #1 Exemple avec SplFileObject::current

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $k => $line) {
   echo ($file->key() + 1) . ': ' . $file->current();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1: <?php
2: $file = new SplFileObject(__FILE__);
3: foreach ($file as $line) {
4:     echo ($file->key() + 1) . ': ' . $file->current();
5: }
6: ?>

Voir aussi

  • SplFileObject::key - Récupère le numéro de la ligne courant
  • SplFileObject::seek - Se déplace sur une ligne spécifique
  • SplFileObject::next - Se déplace sur la prochaine ligne
  • SplFileObject::rewind - Réinitialise le fichier à la première ligne
  • SplFileObject::valid - Vérifie si la fin du fichier a été atteinte

SplFileObject::__construct
SplFileObject::eof
SplFileObject


Vérifie si la fin du fichier est atteinte

SplFileObject::current
SplFileObject::fflush
SplFileObject
PHP Manual

SplFileObject::eof

(PHP 5 >= 5.1.0)

SplFileObject::eof — Vérifie si la fin du fichier est atteinte

Description

public boolean SplFileObject::eof ( void )

Vérifie si la fin du fichier est atteinte.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la fin du fichier a été atteinte, FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileObject::eof

<?php
$file = new SplFileObject("fruits.txt");
while ( ! $file->eof()) {
    echo $file->fgets();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

apple
banana
cherry
date
elderberry

Voir aussi

  • SplFileObject::valid - Vérifie si la fin du fichier a été atteinte
  • feof() - Teste la fin du fichier

SplFileObject::current
SplFileObject::fflush
SplFileObject


Écrit l'affichage dans le fichier

SplFileObject::eof
SplFileObject::fgetc
SplFileObject
PHP Manual

SplFileObject::fflush

(PHP 5 >= 5.1.0)

SplFileObject::fflush — Écrit l'affichage dans le fichier

Description

public boolean SplFileObject::fflush ( void )

Force l'écriture de tous les buffers d'affichage dans le fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SplFileObject::fflush

<?php
$file = new SplFileObject('misc.txt', 'r+');
$file->rewind();
$file->fwrite("Foo");
$file->fflush();
$file->ftruncate($file->ftell());
?>

Voir aussi

  • SplFileInfo::fwrite

SplFileObject::eof
SplFileObject::fgetc
SplFileObject


Récupère un caractère depuis le fichier

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject
PHP Manual

SplFileObject::fgetc

(PHP 5 >= 5.1.0)

SplFileObject::fgetc — Récupère un caractère depuis le fichier

Description

public string SplFileObject::fgetc ( void )

Récupère un caractère depuis le fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères contenant un seul caractère lu depuis le fichier, ou FALSE si la fin du fichier a été atteinte.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec SplFileObject::fgetc

<?php
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
    echo "$char\n";
}
?>

Voir aussi

  • SplFileObject::fgets - Récupère une ligne d'un fichier

SplFileObject::fflush
SplFileObject::fgetcsv
SplFileObject


Récupère une ligne depuis le fichier et l'analyse comme étant des données CSV

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject
PHP Manual

SplFileObject::fgetcsv

(PHP 5 >= 5.1.0)

SplFileObject::fgetcsv — Récupère une ligne depuis le fichier et l'analyse comme étant des données CSV

Description

 public  array  SplFileObject::fgetcsv
  ([  string  $delimiter = ","
 [,  string  $enclosure = "\""
 [,  string  $escape = "\\"
]]] )

Récupère une ligne depuis le fichier et l'analyse comme étant des données CSV et retourne un tableau contenant tous les champs lus.

Liste de paramètres

delimiter

Le délimiteur de champs (un seul caractère). Par défaut, ce sera une virgule ou la valeur définie en utilisant la méthode SplFileObject::setCsvControl.

enclosure

Le caractère utilisé pour entourer la valeur d'un champ (un seul caractère). Par défait, ce sera un guillemet double ou bien la valeur définie en utilisant la méthode SplFileObject::setCsvControl.

escape

Le caractère d'échappement (un seul caractère). Par défaut, ce sera un anti-slash (\) ou bien la valeur définie en utilisant la méthode SplFileObject::setCsvControl.

Valeurs de retour

Retourne un tableau indexé contenant tous les champs lus, ou FALSE si une erreur survient.

Note: Une ligne vide d'un fichier CSV sera retourné sous la forme d'un tableau contenu un seul champ NULL sauf si vous utilisez SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, auquel cas, les lignes vides seront ignorées.

Exemples

Exemple #1 Exemple avec SplFileObject::fgetcsv

<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
    var_dump($file->fgetcsv());
}
?>

Exemple #2 Exemple avec SplFileObject::READ_CSV

<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    list($animal, $class, $legs) = $row;
    printf("Un %s est un %s avec %d jambes\n", $animal, $class, $legs);
}
?>

Contenu de animals.csv

crocodile,reptile,4
dauphin,mammifère,0
canard,oiseau,2
koala,mammifère,4
saumon,poisson,0

L'exemple ci-dessus va afficher quelque chose de similaire à :

Un crocodile est un reptile avec 4 jambes
Un dauphin est un mammifère avec 0 jambes
Un canard est un oiseau avec 2 jambes
Un koala est un mammifère avec 4 jambes
Un saumon est un poisson avec 0 jambes

Voir aussi

  • SplFileObject::setCsvControl - Définit les options CSV
  • SplFileObject::setFlags - Définit les drapeaux pour l'objet SplFileObject
  • SplFileObject::READ_CSV
  • SplFileObject::current - Récupère la ligne courante d'un fichier

SplFileObject::fgetc
SplFileObject::fgets
SplFileObject


Récupère une ligne d'un fichier

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject
PHP Manual

SplFileObject::fgets

(PHP 5 >= 5.1.0)

SplFileObject::fgets — Récupère une ligne d'un fichier

Description

public string SplFileObject::fgets ( void )

Récupère une ligne d'un fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères contenant la prochaine ligne d'un fichier, ou FALSE si une erreur survient.

Erreurs / Exceptions

Lance une exception RuntimeException si le fichier ne peut être lu.

Exemples

Exemple #1 Exemple avec SplFileObject::fgets

Cet exemple affiche seulement le contenu du fichier file.txt ligne par ligne.

<?php
$file = new SplFileObject("file.txt");
while (!$file->eof()) {
    echo $file->fgets();
}
?>

Voir aussi

  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • SplFileObject::fgetss - Récupère une ligne d'un fichier et supprime les balises HTML
  • SplFileObject::fgetc - Récupère un caractère depuis le fichier
  • SplFileObject::current - Récupère la ligne courante d'un fichier

SplFileObject::fgetcsv
SplFileObject::fgetss
SplFileObject


Récupère une ligne d'un fichier et supprime les balises HTML

SplFileObject::fgets
SplFileObject::flock
SplFileObject
PHP Manual

SplFileObject::fgetss

(PHP 5 >= 5.1.0)

SplFileObject::fgetss — Récupère une ligne d'un fichier et supprime les balises HTML

Description

public string SplFileObject::fgetss ([ string $allowable_tags ] )

Identique à la méthode SplFileObject::fgets, sauf que la méthode SplFileObject::fgetss tente de supprimer toutes les balises HTML et PHP du texte lu.

Liste de paramètres

allowable_tags

Vous pouvez utiliser un troisième paramètre optionnel pour spécifier les balises qui ne doivent pas être supprimées.

Valeurs de retour

Retourne une chaîne de caractères contenant la prochaine ligne du fichier dont les balises HTML et PHP ont été supprimées, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SplFileObject::fgetss

<?php
$str = <<<EOD
<html><body>
 <p>Bienvenue ! Aujourdh'ui, nous sommes le <?php echo(date('jS')); ?> de <?= date('F'); ?>.</p>
</body></html>
Texte en dehors d'un bloc HTML.
EOD;
file_put_contents("sample.php", $str);

$file = new SplFileObject("sample.php");
while (!$file->eof()) {
    echo $file->fgetss();
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

 Bienvenue ! Aujourdh'ui, nous sommes le  de .

Texte en dehors d'un bloc HTML.

Voir aussi

  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • SplFileObject::fgets - Récupère une ligne d'un fichier
  • SplFileObject::fgetc - Récupère un caractère depuis le fichier
  • SplFileObject::current - Récupère la ligne courante d'un fichier

SplFileObject::fgets
SplFileObject::flock
SplFileObject


Verrouille ou déverrouille un fichier

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject
PHP Manual

SplFileObject::flock

(PHP 5 >= 5.1.0)

SplFileObject::flock — Verrouille ou déverrouille un fichier

Description

public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )

Verrouille ou déverrouille un fichier, de la même façon que la fonction flock().

Liste de paramètres

operation

Le paramètre operation peut prendre une des constantes suivantes :

  • LOCK_SH pour acquérir un verrou partagé (lecture).
  • LOCK_EX pour acquérir un verrou exclusif (écriture).
  • LOCK_UN pour déverrouiller le fichier (partagé ou exclusif).
  • LOCK_NB pour ne pas bloquer durant le verrouillage (non supporté sous Windows).

wouldblock

Définit à TRUE si le verrou doit être bloquant (condition pour l'errno EWOULDBLOCK).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SplFileObject::flock

<?php
$file = new SplFileObject("/tmp/lock.txt", "w");
if ($file->flock(LOCK_EX)) { // verrou exclusif
    $file->ftruncate(0);     // coupe le fichier
    $file->fwrite("Écrire quelque chose ici\n");
    $file->flock(LOCK_UN);   // libère le verrou
} else {
    echo "Impossible de récupérer le verrou !";
}
?>

Voir aussi

  • flock() - Verrouille le fichier

SplFileObject::fgetss
SplFileObject::fpassthru
SplFileObject


Affiche toutes les données en attente sur un pointeur de fichier

SplFileObject::flock
SplFileObject::fscanf
SplFileObject
PHP Manual

SplFileObject::fpassthru

(PHP 5 >= 5.1.0)

SplFileObject::fpassthru — Affiche toutes les données en attente sur un pointeur de fichier

Description

public int SplFileObject::fpassthru ( void )

Lit la fin d'un pointeur de fichier depuis la position courante et écrit le résultat dans le buffer d'affichage.

Vous devez appeler la méthode SplFileObject::rewind pour réinitialiser le pointeur de fichier si vous avez déjà écrit des données dans le fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre de caractères lus et passés au buffer d'affichage.

Exemples

Exemple #1 Exemple avec SplFileObject::fpassthru

<?php

// Ouvre le fichier en mode binaire
$file = new SplFileObject("./img/ok.png", "rb");

// Envoi les en-têtes
header("Content-Type: image/png");
header("Content-Length: " . $file->getSize());

// Envoi l'image et met fin au script
$file->fpassthru();
exit;

?>

Voir aussi

  • fpassthru() - Affiche le reste du fichier

SplFileObject::flock
SplFileObject::fscanf
SplFileObject


Analyse une entrée d'un fichier suivant un format donné

SplFileObject::fpassthru
SplFileObject::fseek
SplFileObject
PHP Manual

SplFileObject::fscanf

(PHP 5 >= 5.1.0)

SplFileObject::fscanf — Analyse une entrée d'un fichier suivant un format donné

Description

public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )

Lit une ligne depuis un fichier et l'analyse suivant le format format spécifié, décrit dans la documentation de la fonction sprintf().

Les espaces blancs dans la chaîne format correspondent aux espaces blacns dans la ligne du fichier. Ceci signifie que une tabulation (\t) dans le format va correspondre à un seul caractère blanc dans le flux d'entrée.

Liste de paramètres

format

Le format, tel que décrit dans la documentation de la fonction sprintf().

...

Les valeurs optionnelles assignées.

Valeurs de retour

Si seuls 2 paramètres sont passés à cette méthode, la valeur analysée sera retournée sous la forme d'un tableau. Sinon, si les paramètres optionnelles sont passés, la fonction retournera le nombre de valeurs assignées. Les paramètres optionnels doivent être passés par référence.

Exemples

Exemple #1 Exemple avec SplFileObject::fscanf

<?php
$file = new SplFileObject("misc.txt");
while ($userinfo = $file->fscanf("%s %s %s")) {
    list ($name, $profession, $countrycode) = $userinfo;
    // Faire des opérations sur $name $profession
}
?>

Contenu de users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Voir aussi

  • fscanf() - Analyse un fichier en fonction d'un format

SplFileObject::fpassthru
SplFileObject::fseek
SplFileObject


Se déplace à une position donnée

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject
PHP Manual

SplFileObject::fseek

(PHP 5 >= 5.1.0)

SplFileObject::fseek — Se déplace à une position donnée

Description

public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )

Se déplace à une position donnée d'un fichier, mesurée en octets depuis le début du fichier, obtenue en ajoutant offset à la position spécifiée par le paramètre whence.

Liste de paramètres

offset

La position. Une valeur négative peut être utilisée pour se déplacer en arrière dans le fichier, ce qui peut être utile lorsque SEEK_END est utilisé comme valeur du paramètre whence.

whence

Les valeurs pour le paramètre whence sont :

  • SEEK_SET - La position sera égale à offset octets.
  • SEEK_CUR - La position sera égale à la position courante, plus offset.
  • SEEK_END - La position sera égale à la fin du fichier, plus offset.

Si whence n'est pas spécifié, il prendra la valeur SEEK_SET.

Valeurs de retour

Retourne 0 si le déplacement s'est effectué avec succès, -1 sinon. Notez que la tentative de déplacement après la fin du fichier n'est pas considérée comme une erreur.

Exemples

Exemple #1 Exemple avec SplFileObject::fseek

<?php
$file = new SplFileInfo("somefile.txt");

// Lecture de la première ligne
$data = $file->fgets();

// Se déplace au début du fichier
// Identique à $file->rewind();
$file->fseek(0);
?>

Voir aussi

  • fseek() - Modifie la position du pointeur de fichier

SplFileObject::fscanf
SplFileObject::fstat
SplFileObject


Récupère les informations d'un fichier

SplFileObject::fseek
SplFileObject::ftell
SplFileObject
PHP Manual

SplFileObject::fstat

(PHP 5 >= 5.1.0)

SplFileObject::fstat — Récupère les informations d'un fichier

Description

public array SplFileObject::fstat ( void )

Récupère les informations d'un fichier. Comportement identique à la fonction fstat().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant toutes les statistiques d'un fichier ; le format de ce tableau est décrit en détail dans la page du manuel sur la fonction stat().

Exemples

Exemple #1 Exemple avec SplFileObject::fstat

<?php
$file = new SplFileObject("/etc/passwd");
$stat = $file->fstat();

// Affiche uniquement la partie associative
print_r(array_slice($stat, 13));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Voir aussi

  • fstat() - Lit les informations sur un fichier à partir d'un pointeur de fichier
  • stat() - Renvoie les informations à propos d'un fichier

SplFileObject::fseek
SplFileObject::ftell
SplFileObject


Retourne la position courant dans le fichier

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject
PHP Manual

SplFileObject::ftell

(PHP 5 >= 5.1.0)

SplFileObject::ftell — Retourne la position courant dans le fichier

Description

public int SplFileObject::ftell ( void )

Retourne la position du pointeur de fichier, qui représentant la position courant dans le flux du fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la position du pointeur de fichier, sous la forme d'un entier ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SplFileObject::ftell

<?php
$file = new SplFileObject("/etc/passwd");

// Lit la première ligne
$data = $file->fgets();

// Où sommes-nous ?
echo $file->ftell();
?>

Voir aussi

  • ftell() - Renvoie la position courant du pointeur de fichier

SplFileObject::fstat
SplFileObject::ftruncate
SplFileObject


Coupe le fichier à une longueur donnée

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject
PHP Manual

SplFileObject::ftruncate

(PHP 5 >= 5.1.0)

SplFileObject::ftruncate — Coupe le fichier à une longueur donnée

Description

public bool SplFileObject::ftruncate ( int $size )

Coupe le fichier à une longueur de size octets.

Liste de paramètres

size

La taille à couper.

Note: Si size est plus grand que le fichier, la portion récupérée sera complétée par des octets vides.
Si size est plus petit que le fichier, le reste du fichier sera perdu.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SplFileObject::ftruncate

<?php
// Crée un fichier contenant "Hello World!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hello World!");

// Coupe 5 octets
$file->ftruncate(5);

// Réinitialise et lit les données
$file->rewind();
echo $file->fgets();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Hello

Voir aussi

  • ftruncate() - Tronque un fichier

SplFileObject::ftell
SplFileObject::fwrite
SplFileObject


Écrit dans le fichier

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject
PHP Manual

SplFileObject::fwrite

(PHP 5 >= 5.1.0)

SplFileObject::fwrite — Écrit dans le fichier

Description

public int SplFileObject::fwrite ( string $str [, int $length ] )

Écrit le contenu du paramètre str dans le fichier.

Liste de paramètres

str

La chaîne de caractères à écrire dans le fichier.

length

Si l'argument length est fourni, l'écriture s'arrêtera après l'écriture de length octets ou bien lorsque la fin de la chaîne de caractères sera atteinte ; suivant ce qui survient en premier.

Valeurs de retour

Retourne le nombre d'octets écrits, ou NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec SplFileObject::fwrite

<?php
$file = new SplFileObject("fwrite.txt", "w");
$written = $file->fwrite("12345");
echo "$written octets ont été écrits dans le fichier";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

5 octets ont été écrits dans le fichier

Voir aussi

  • fwrite() - Écrit un fichier en mode binaire

SplFileObject::ftruncate
SplFileObject::getChildren
SplFileObject


Récupère le fils

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject
PHP Manual

SplFileObject::getChildren

(PHP 5 >= 5.1.0)

SplFileObject::getChildren — Récupère le fils

Description

public void SplFileObject::getChildren ( void )

Un objet SplFileObject ne peut pas avoir de fils, aussi, cette méthode retournera toujours NULL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • RecursiveIterator::getChildren - Récupère l'itérateur de l'entrée courante

SplFileObject::fwrite
SplFileObject::getCsvControl
SplFileObject


Récupère les options pour CSV

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject
PHP Manual

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0)

SplFileObject::getCsvControl — Récupère les options pour CSV

Description

public array SplFileObject::getCsvControl ( void )

Récupère le délimiteur ainsi que le caractère utilisé pour entourer les champs lors d'une analyse CSV des données.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau indexé contenant le caractère utilisé pour délimiter les champs ainsi que celui utilisé pour les entourer.

Exemples

Exemple #1 Exemple avec SplFileObject::getCsvControl

<?php
$file = new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => ,
    [1] => "
)

Voir aussi

  • SplFileObject::setCsvControl - Définit les options CSV
  • SplFileObject::fgetcsv - Récupère une ligne depuis le fichier et l'analyse comme étant des données CSV

SplFileObject::getChildren
SplFileObject::getCurrentLine
SplFileObject


Alias de SplFileObject::fgets

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject
PHP Manual

SplFileObject::getCurrentLine

(PHP 5 >= 5.1.2)

SplFileObject::getCurrentLine — Alias de SplFileObject::fgets

Description

Cette méthode est un alias de la méthode SplFileObject::fgets.

SplFileObject::getCsvControl
SplFileObject::getFlags
SplFileObject


Récupère les drapeaux pour l'objet SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject
PHP Manual

SplFileObject::getFlags

(PHP 5 >= 5.1.0)

SplFileObject::getFlags — Récupère les drapeaux pour l'objet SplFileObject

Description

public int SplFileObject::getFlags ( void )

Récupère les drapeaux définis pour l'instance de l'objet SplFileObject, sous la forme d'un entier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier représentant les drapeaux.

Exemples

Exemple #1 Exemple avec SplFileObject::getFlags

<?php
$file = new SplFileObject(__FILE__, "r");

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Lignes vides ignorées\n";
} else {
    echo "Lignes vides prises en compte\n";
}

$file->setFlags(SplFileObject::SKIP_EMPTY);

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
    echo "Lignes vides ignorées\n";
} else {
    echo "Lignes vides prises en compte\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Lignes vides prises en compte
Lignes vides ignorées

Voir aussi

  • SplFileObject::setFlags - Définit les drapeaux pour l'objet SplFileObject

SplFileObject::getCurrentLine
SplFileObject::getMaxLineLen
SplFileObject


Récupère la longueur maximale d'une ligne

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject
PHP Manual

SplFileObject::getMaxLineLen

(PHP 5 >= 5.1.0)

SplFileObject::getMaxLineLen — Récupère la longueur maximale d'une ligne

Description

public int SplFileObject::getMaxLineLen ( void )

Récupère la longueur maximale d'une ligne, telle que définie par la méthode SplFileObject::setMaxLineLen.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la longueur maximale d'une ligne si elle a été définie avec la méthode SplFileObject::setMaxLineLen ; par défaut, 0.

Exemples

Exemple #1 Exemple avec SplFileObject::getMaxLineLen

<?php
$file = new SplFileObject("file.txt");
var_dump($file->getMaxLineLen());

$file->setMaxLineLen(20);
var_dump($file->getMaxLineLen());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)
int(20)

Voir aussi

  • Classname::Method

SplFileObject::getFlags
SplFileObject::hasChildren
SplFileObject


Vérifie si SplFileObject a un fils

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject
PHP Manual

SplFileObject::hasChildren

(PHP 5 >= 5.1.2)

SplFileObject::hasChildren — Vérifie si SplFileObject a un fils

Description

public bool SplFileObject::hasChildren ( void )

Un objet SplFileObject ne peut pas avoir de fils, aussi, cette méthode retournera toujours FALSE.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne toujours FALSE

Voir aussi

  • RecursiveIterator::hasChildren - Vérifie si un itérateur peut être créé depuis l'entrée courante

SplFileObject::getMaxLineLen
SplFileObject::key
SplFileObject


Récupère le numéro de la ligne courant

SplFileObject::hasChildren
SplFileObject::next
SplFileObject
PHP Manual

SplFileObject::key

(PHP 5 >= 5.1.0)

SplFileObject::key — Récupère le numéro de la ligne courant

Description

public int SplFileObject::key ( void )

Récupère le numéro de la ligne courant.

Note: Ce nombre peut ne pas être exact si la méthode SplFileObject::setMaxLineLen est utilisée pour lire une longueur fixe du fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le numéro de la ligne courante.

Exemples

Exemple #1 Exemple avec SplFileObject::key

<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
    echo $file->key() . ". " . $line;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1. Duis nec sapien felis, ac sodales nisl.
2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Exemple #2 Exemple avec SplFileObject::key et SplFileObject::setMaxLineLen

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $file->key() . ". " . $line . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0. Lorem ipsum dolor s
1. it amet, consectetu
2. r adipiscing elit.
3.

4. Duis nec sapien fel
5. is, ac sodales nisl
6. .

7. Lorem ipsum dolor s
8. it amet, consectetu
9. r adipiscing elit.

Voir aussi

  • SplFileObject::current - Récupère la ligne courante d'un fichier
  • SplFileObject::seek - Se déplace sur une ligne spécifique
  • SplFileObject::next - Se déplace sur la prochaine ligne
  • SplFileObject::rewind - Réinitialise le fichier à la première ligne
  • SplFileObject::valid - Vérifie si la fin du fichier a été atteinte

SplFileObject::hasChildren
SplFileObject::next
SplFileObject


Se déplace sur la prochaine ligne

SplFileObject::key
SplFileObject::rewind
SplFileObject
PHP Manual

SplFileObject::next

(PHP 5 >= 5.1.0)

SplFileObject::next — Se déplace sur la prochaine ligne

Description

public void SplFileObject::next ( void )

Se déplace sur la prochaine ligne du fichier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFileObject::next

<?php
// Lit le fichier ligne par ligne
$file = new SplFileObject("misc.txt");
while (!$file->eof()) {
    echo $file->current();
    $file->next();
}
?>

Voir aussi

  • SplFileObject::current - Récupère la ligne courante d'un fichier
  • SplFileObject::key - Récupère le numéro de la ligne courant
  • SplFileObject::seek - Se déplace sur une ligne spécifique
  • SplFileObject::rewind - Réinitialise le fichier à la première ligne
  • SplFileObject::valid - Vérifie si la fin du fichier a été atteinte

SplFileObject::key
SplFileObject::rewind
SplFileObject


Réinitialise le fichier à la première ligne

SplFileObject::next
SplFileObject::seek
SplFileObject
PHP Manual

SplFileObject::rewind

(PHP 5 >= 5.1.0)

SplFileObject::rewind — Réinitialise le fichier à la première ligne

Description

public void SplFileObject::rewind ( void )

Réinitialise le fichier à la première ligne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance une exception RuntimeException si la réinitialisation a échouée.

Exemples

Exemple #1 Exemple avec SplFileObject::rewind

<?php
$file = new SplFileObject("misc.txt");

// Boucle sur le fichier
foreach ($file as $line) { }

// Se réinitialise sur la première ligne
$file->rewind();

// Affiche la première ligne
echo $file->current();
?>

Voir aussi

  • SplFileObject::current - Récupère la ligne courante d'un fichier
  • SplFileObject::key - Récupère le numéro de la ligne courant
  • SplFileObject::seek - Se déplace sur une ligne spécifique
  • SplFileObject::next - Se déplace sur la prochaine ligne
  • SplFileObject::valid - Vérifie si la fin du fichier a été atteinte

SplFileObject::next
SplFileObject::seek
SplFileObject


Se déplace sur une ligne spécifique

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject
PHP Manual

SplFileObject::seek

(PHP 5 >= 5.1.0)

SplFileObject::seek — Se déplace sur une ligne spécifique

Description

public void SplFileObject::seek ( int $line_pos )

Se déplace sur une ligne spécifique du fichier.

Liste de paramètres

line_pos

Le numéro de la ligne (en commençant par 0) sur laquelle on se déplace.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance une exception LogicException si line_pos est négatif.

Exemples

Exemple #1 Exemple avec SplFileObject::seek

Cet exemple affiche la 3ème ligne du script, qui sera trouvée à la position n°2.

<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

$file->seek(2);

Voir aussi

  • SplFileObject::current - Récupère la ligne courante d'un fichier
  • SplFileObject::key - Récupère le numéro de la ligne courant
  • SplFileObject::next - Se déplace sur la prochaine ligne
  • SplFileObject::rewind - Réinitialise le fichier à la première ligne
  • SplFileObject::valid - Vérifie si la fin du fichier a été atteinte

SplFileObject::rewind
SplFileObject::setCsvControl
SplFileObject


Définit les options CSV

SplFileObject::seek
SplFileObject::setFlags
SplFileObject
PHP Manual

SplFileObject::setCsvControl

(PHP 5 >= 5.2.0)

SplFileObject::setCsvControl — Définit les options CSV

Description

 public  void  SplFileObject::setCsvControl
  ([  string  $delimiter = ","
 [,  string  $enclosure = "\""
 [,  string  $escape = "\\"
]]] )

Définit le délimiteur ainsi que le caractère utilisé pour entourer les champs CSV analysés.

Liste de paramètres

delimiter

Le délimiteur de champs (un seul caractère).

enclosure

Le caractère utilisé pour entourer le champs (un seul caractère).

escape

Le caractère utilisé pour échapper les données (un seul caractère).

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFileObject::setCsvControl

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
    list ($fruit, $quantity) = $row;
    // Opération sur les données
}
?>

Contenu de data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Voir aussi

  • SplFileObject::getCsvControl - Récupère les options pour CSV
  • SplFileObject::fgetcsv - Récupère une ligne depuis le fichier et l'analyse comme étant des données CSV

SplFileObject::seek
SplFileObject::setFlags
SplFileObject


Définit les drapeaux pour l'objet SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject
PHP Manual

SplFileObject::setFlags

(PHP 5 >= 5.1.0)

SplFileObject::setFlags — Définit les drapeaux pour l'objet SplFileObject

Description

public void SplFileObject::setFlags ( int $flags )

Définit les drapeaux à utiliser par l'objet SplFileObject.

Liste de paramètres

flags

Un masque de drapeaux à définir. Voir les constantes SplFileObject pour une liste complète.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFileObject::setFlags

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $fields) {
    var_dump($fields);
}
?>

Voir aussi

  • SplFileObject::getFlags - Récupère les drapeaux pour l'objet SplFileObject

SplFileObject::setCsvControl
SplFileObject::setMaxLineLen
SplFileObject


Définit la longueur maximale d'une ligne

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject
PHP Manual

SplFileObject::setMaxLineLen

(PHP 5 >= 5.1.0)

SplFileObject::setMaxLineLen — Définit la longueur maximale d'une ligne

Description

public void SplFileObject::setMaxLineLen ( int $max_len )

Définit la longueur maximale d'une ligne.

Liste de paramètres

max_len

La longueur maximale d'une ligne.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFileObject::setMaxLineLen

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
    echo $line . "\n";
}
?>

Contents of lipsum.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis nec sapien felis, ac sodales nisl.
Nulla vitae magna vitae purus aliquet consequat.

L'exemple ci-dessus va afficher quelque chose de similaire à :

Lorem ipsum dolor s
it amet, consectetu
r adipiscing elit.

Duis nec sapien fel
is, ac sodales nisl
.

Nulla vitae magna v
itae purus aliquet
consequat.

Voir aussi

  • Classname::Method

SplFileObject::setFlags
SplFileObject::__toString
SplFileObject


Alias de SplFileObject::current

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject
PHP Manual

SplFileObject::__toString

(PHP 5 >= 5.1.0)

SplFileObject::__toString — Alias de SplFileObject::current

Description

Cette méthode est un alias de la méthode SplFileObject::current.

SplFileObject::setMaxLineLen
SplFileObject::valid
SplFileObject


Vérifie si la fin du fichier a été atteinte

SplFileObject::__toString
SplTempFileObject
SplFileObject
PHP Manual

SplFileObject::valid

(PHP 5 >= 5.1.0)

SplFileObject::valid — Vérifie si la fin du fichier a été atteinte

Description

public bool SplFileObject::valid ( void )

Vérifie si la fin du fichier a été atteinte.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la fin est atteinte, FALSE sinon.

Exemples

Exemple #1 Exemple avec SplFileObject::valid

<?php
// Boucle sur le fichier, ligne par ligne
$file = new SplFileObject("file.txt");
while ($file->valid()) {
    echo $file->fgets();
}
?>

Voir aussi

  • SplFileObject::current - Récupère la ligne courante d'un fichier
  • SplFileObject::key - Récupère le numéro de la ligne courant
  • SplFileObject::seek - Se déplace sur une ligne spécifique
  • SplFileObject::next - Se déplace sur la prochaine ligne
  • SplFileObject::rewind - Réinitialise le fichier à la première ligne

SplFileObject::__toString
SplTempFileObject
SplFileObject


La classe SplTempFileObject

Introduction

La classe SplTempFileObject offre une interface orientée objet pour un fichier temporaire.

Synopsis de la classe

SplTempFileObject
SplTempFileObject extends SplFileObject implements SeekableIterator , Iterator , Traversable , RecursiveIterator {
/* Méthodes */
__construct ([ integer $max_memory ] )
/* Méthodes héritées */
SplFileObject::__construct ( string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context ]]] )
public string|array SplFileObject::current ( void )
public boolean SplFileObject::eof ( void )
public boolean SplFileObject::fflush ( void )
public string SplFileObject::fgetc ( void )
 public  array  SplFileObject::fgetcsv
  ([  string  $delimiter = ","
 [,  string  $enclosure = "\""
 [,  string  $escape = "\\"
]]] )
public string SplFileObject::fgets ( void )
public string SplFileObject::fgetss ([ string $allowable_tags ] )
public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )
public int SplFileObject::fpassthru ( void )
public mixed SplFileObject::fscanf ( string $format [, mixed &$... ] )
public int SplFileObject::fseek ( int $offset [, int $whence = SEEK_SET ] )
public array SplFileObject::fstat ( void )
public int SplFileObject::ftell ( void )
public bool SplFileObject::ftruncate ( int $size )
public int SplFileObject::fwrite ( string $str [, int $length ] )
public void SplFileObject::getChildren ( void )
public array SplFileObject::getCsvControl ( void )
public int SplFileObject::getFlags ( void )
public int SplFileObject::getMaxLineLen ( void )
public bool SplFileObject::hasChildren ( void )
public int SplFileObject::key ( void )
public void SplFileObject::next ( void )
public void SplFileObject::rewind ( void )
public void SplFileObject::seek ( int $line_pos )
 public  void  SplFileObject::setCsvControl
  ([  string  $delimiter = ","
 [,  string  $enclosure = "\""
 [,  string  $escape = "\\"
]]] )
public void SplFileObject::setFlags ( int $flags )
public void SplFileObject::setMaxLineLen ( int $max_len )
public bool SplFileObject::valid ( void )
}

Sommaire

  • SplTempFileObject::__construct — Construit un nouvel objet représentant un fichier temporaire
SplFileObject::valid
SplTempFileObject::__construct
Gestion des fichiers


Construit un nouvel objet représentant un fichier temporaire

SplTempFileObject
Classes et interfaces diverses
SplTempFileObject
PHP Manual

SplTempFileObject::__construct

(PHP 5 >= 5.1.2)

SplTempFileObject::__construct — Construit un nouvel objet représentant un fichier temporaire

Description

SplTempFileObject::__construct ([ integer $max_memory ] )

Construit un nouvel objet représentant un fichier temporaire.

Liste de paramètres

max_memory

La mémoire maximale (en octets, par défaut, 2 Mo) à utiliser pour le fichier temporaire. Si un fichier temporaire dépasse cette taille, il sera déplacer sur le système de fichiers, dans le dossier des fichiers temporaires.

Si max_memory est négatif, seule la mémoire sera utilisée. Si max_memory vaut zéro, la mémoire ne sera pas utilisée.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance un exception RuntimeException si une erreur survient.

Exemples

Exemple #1 Exemple avec SplTempFileObject

Cet exemple écrit un fichier temporaire en mémoire dans lequel nous allons pouvoir écrire et lire des données.

<?php
$temp = new SplTempFileObject();
$temp->fwrite("This is the first line\n");
$temp->fwrite("And this is the second.\n");
echo $temp->ftell() . " octets écrits dans le fichier temporaire.\n\n";

// Rewind and read what was written
$temp->rewind();
foreach ($temp as $line) {
    echo $line;
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

47 octets écrits dans le fichier temporaire.

This is the first line
And this is the second.

Voir aussi

  • SplFileObject
  • Flux PHP input/output (pour php://temp et php://memory)

SplTempFileObject
Classes et interfaces diverses
SplTempFileObject


Classes et interfaces diverses

Sommaire

  • ArrayObject
  • SplObserver
  • SplSubject

Classes et interfaces qui n'appartiennent pas aux autres catégories SPL.

SplTempFileObject::__construct
ArrayObject
SPL


La classe ArrayObject

Introduction

Cette classe permet aux objets de fonctionner comme des tableaux.

Synopsis de la classe

ArrayObject
ArrayObject implements IteratorAggregate , Traversable , ArrayAccess , Serializable , Countable {
/* Constantes */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Méthodes */
__construct ([ mixed $input [, int $flags [, string $iterator_class ]]] )
void append ( mixed $value )
void asort ( void )
int count ( void )
array exchangeArray ( mixed $input )
array getArrayCopy ( void )
int getFlags ( void )
ArrayIterator getIterator ( void )
public string getIteratorClass ( void )
void ksort ( void )
void natcasesort ( void )
void natsort ( void )
bool offsetExists ( mixed $index )
mixed offsetGet ( mixed $index )
void offsetSet ( mixed $index , mixed $newval )
void offsetUnset ( mixed $index )
public void serialize ( void )
void setFlags ( int $flags )
void setIteratorClass ( string $iterator_class )
void uasort ( callback $cmp_function )
void uksort ( callback $cmp_function )
public void unserialize ( string $serialized )
}

Constantes pré-définies

Options de ArrayObject

ArrayObject::STD_PROP_LIST

Les propriétés de l'objet on leur fonctionnement normal lorsqu'on y accède depuis la liste (var_dump(), foreach, etc.).

ArrayObject::ARRAY_AS_PROPS

Il est possible d'accéder aux éléments comme des propriétés (lecture et écritre).

Historique

Version | Description
5.3.0 | Implémente Serializable.

Sommaire

  • ArrayObject::append — Ajoute la valeur à la fin d'un tableau
  • ArrayObject::asort — Trie les éléments par valeur
  • ArrayObject::__construct — Construit un nouvel objet tableau
  • ArrayObject::count — Retourne le nombre de propriétés publiques dans l'objet ArrayObject
  • ArrayObject::exchangeArray — Remplace un tableau par un autre
  • ArrayObject::getArrayCopy — Crée une copie de l'objet ArrayObject
  • ArrayObject::getFlags — Lit les options de comportement
  • ArrayObject::getIterator — Crée un nouvel itérateur à partir d'un objet ArrayObject
  • ArrayObject::getIteratorClass — Lit le nom de la classe de ArrayObject
  • ArrayObject::ksort — Tri un tableau par clé
  • ArrayObject::natcasesort — Tri un tableau en utilisant le tri naturel sans la casse
  • ArrayObject::natsort — Trie les éléments avec un tri naturel
  • ArrayObject::offsetExists — Vérifie si un index existe
  • ArrayObject::offsetGet — Retourne la valeur de l'index spécifié
  • ArrayObject::offsetSet — Définie $newval comme valeur à l'$index spécifié
  • ArrayObject::offsetUnset — Efface la valeur à l'$index spécifié
  • ArrayObject::serialize — Linéarise un ArrayObject
  • ArrayObject::setFlags — Configure les options de comportement
  • ArrayObject::setIteratorClass — Définit le nom de la classe de l'itérateur pour l'objet ArrayObject
  • ArrayObject::uasort — Trie les éléments avec une fonction utilisateur
  • ArrayObject::uksort — Trie les éléments par clé avec une fonction utilisateur
  • ArrayObject::unserialize — Délinéarisation d'un ArrayObject
Classes et interfaces diverses
ArrayObject::append
Classes et interfaces diverses


Ajoute la valeur à la fin d'un tableau

ArrayObject
ArrayObject::asort
ArrayObject
PHP Manual

ArrayObject::append

(PHP 5 >= 5.0.0)

ArrayObject::append — Ajoute la valeur à la fin d'un tableau

Description

void ArrayObject::append ( mixed $value )

Ajoute un élément en dernier dans le tableau.

Note: Cette méthode ne peut pas être appelée lorsque l'objet ArrayObject a été construit à partir d'un autre objet. Utilisez alors la méthode ArrayObject::offsetSet.

Liste de paramètres

value

La valeur ajoutée.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::append

<?php
$arrayobj = new ArrayObject(array('first','second','third'));
$arrayobj->append('fourth');
$arrayobj->append(array('five', 'six'));
var_dump($arrayobj);
?>

L'exemple ci-dessus va afficher :

object(ArrayObject)#1 (5) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  string(6) "fourth"
  [4]=>
  array(2) {
    [0]=>
    string(4) "five"
    [1]=>
    string(3) "six"
  }
}

Voir aussi

  • ArrayObject::offsetSet - Définie $newval comme valeur à l'$index spécifié

ArrayObject
ArrayObject::asort
ArrayObject


Trie les éléments par valeur

ArrayObject::append
ArrayObject::__construct
ArrayObject
PHP Manual

ArrayObject::asort

(PHP 5 >= 5.2.0)

ArrayObject::asort — Trie les éléments par valeur

Description

void ArrayObject::asort ( void )

Trie les éléments par valeur, tout en conservant la corrélation entre les clés et les valeurs. Ce tri sert lorsqu'il faut trier un tableau associatif, et conserver la relation entre les index et leur valeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::asort()

<?php
$fruits = array("d" => "citron", "a" => "orange", "b" => "banane", "c" => "pomme");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
?>

L'exemple ci-dessus va afficher :

b = banane
d = citron
a = orange
c = pomme

Les fruits ont été trié en ordre alphabétique, et leur clé associée a été conservée.

ArrayObject::append
ArrayObject::__construct
ArrayObject


Construit un nouvel objet tableau

ArrayObject::asort
ArrayObject::count
ArrayObject
PHP Manual

ArrayObject::__construct

(PHP 5 >= 5.0.0)

ArrayObject::__construct — Construit un nouvel objet tableau

Description

ArrayObject::__construct ([ mixed $input [, int $flags [, string $iterator_class ]]] )

Construit un nouvel objet tableau.

Liste de paramètres

input

Le paramètre input accepte un tableau ou un autre objet.

flags

Option de contrôle du comportement de l'objet ArrayObject.

iterator_class

Spécifie la classe qui sera utilisée pour les itérations de l'objet ArrayObject. ArrayIterator est la classe par défaut.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::__construct()

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

L'exemple ci-dessus va afficher :

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}

Voir aussi

  • ArrayObject::setflags - Configure les options de comportement

ArrayObject::asort
ArrayObject::count
ArrayObject


Retourne le nombre de propriétés publiques dans l'objet ArrayObject

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject
PHP Manual

ArrayObject::count

(PHP 5 >= 5.0.0)

ArrayObject::count — Retourne le nombre de propriétés publiques dans l'objet ArrayObject

Description

int ArrayObject::count ( void )

Lit le nombre de propriétés publiques dans l'objet ArrayObject

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nombre de propriétés publiques dans l'objet ArrayObject.

Note: Lorsque l'objet ArrayObject est construit à partir d'un tableau, toutes les propriétés sont publiques.

Exemples

Exemple #1 Exemple avec ArrayObject::count

<?php
class Example {
    public $public = 'prop:public';
    private $prv   = 'prop:private';
    protected $prt = 'prop:protected';
}

$arrayobj = new ArrayObject(new Example());
var_dump($arrayobj->count());

$arrayobj = new ArrayObject(array('premier','second','troisième'));
var_dump($arrayobj->count());
?>

L'exemple ci-dessus va afficher :

int(1)
int(3)

ArrayObject::__construct
ArrayObject::exchangeArray
ArrayObject


Remplace un tableau par un autre

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject
PHP Manual

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0)

ArrayObject::exchangeArray — Remplace un tableau par un autre

Description

array ArrayObject::exchangeArray ( mixed $input )

Remplace le tableau courant par un autre tableau ou un objet.

Liste de paramètres

input

Le nouveau tableau ou objet à utiliser.

Valeurs de retour

Retourne l'ancien tableau.

Exemples

Exemple #1 Exemple avec ArrayObject::exchangeArray()

<?php
// Tableaux de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);
// Tableau de villes en Europe
$locations = array('Amsterdam', 'Paris', 'Londres');

$fruitsArrayObject = new ArrayObject($fruits);

// Échange des fruits par des villes
$old = $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

L'exemple ci-dessus va afficher :

Array
(
    [citrons] => 1
    [oranges] => 4
    [bananes] => 5
    [pommes] => 10
)
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [0] => Amsterdam
            [1] => Paris
            [2] => Londres
        )

)

ArrayObject::count
ArrayObject::getArrayCopy
ArrayObject


Crée une copie de l'objet ArrayObject

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject
PHP Manual

ArrayObject::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayObject::getArrayCopy — Crée une copie de l'objet ArrayObject

Description

array ArrayObject::getArrayCopy ( void )

Exporte l'objet ArrayObject vers un tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une copie du tableau. Lorsque l'objet ArrayObject est un objet, le tableau retourné contient les propriétés publiques de cet objet.

Exemples

Exemple #1 Exemple avec ArrayObject::getArrayCopy()

<?php
// Liste de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['poires'] = 4;

// Crée un copie des tableaux
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

L'exemple ci-dessus va afficher :

Array
(
    [citrons] => 1
    [oranges] => 4
    [bananes] => 5
    [pommes] => 10
    [poires] => 4
)

ArrayObject::exchangeArray
ArrayObject::getFlags
ArrayObject


Lit les options de comportement

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject
PHP Manual

ArrayObject::getFlags

(PHP 5 >= 5.1.0)

ArrayObject::getFlags — Lit les options de comportement

Description

int ArrayObject::getFlags ( void )

Lit les options de comportement de l'objet ArrayObject. Voyez la méthode ArrayObject::setFlags pour obtenir une liste d'options disponibles.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les options de comportement de l'objet ArrayObject.

Exemples

Exemple #1 Exemple avec ArrayObject::getFlags()

<?php
// Liste de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Liste les options courantes
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);

// Configure de nouvelles options
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);

// Lit les nouvelles options
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
?>

L'exemple ci-dessus va afficher :

int(0)
int(2)

Voir aussi

  • La méthode ArrayObject::setFlags

ArrayObject::getArrayCopy
ArrayObject::getIterator
ArrayObject


Crée un nouvel itérateur à partir d'un objet ArrayObject

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject
PHP Manual

ArrayObject::getIterator

(PHP 5 >= 5.0.0)

ArrayObject::getIterator — Crée un nouvel itérateur à partir d'un objet ArrayObject

Description

ArrayIterator ArrayObject::getIterator ( void )

Crée un nouvel itérateur à partir d'un objet ArrayObject.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un itérateur depuis un ArrayObject.

Exemples

Exemple #1 Exemple avec ArrayObject::getIterator()

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

L'exemple ci-dessus va afficher :

1 => one
2 => two
3 => three

ArrayObject::getFlags
ArrayObject::getIteratorClass
ArrayObject


Lit le nom de la classe de ArrayObject

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject
PHP Manual

ArrayObject::getIteratorClass

(PHP 5 >= 5.1.0)

ArrayObject::getIteratorClass — Lit le nom de la classe de ArrayObject

Description

public string ArrayObject::getIteratorClass ( void )

Lit le nom de la classe utilisé par l'itérateur de tableau utilisé par ArrayObject::getIterator().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le nom de la classe d'itérateur utilisé par cet objet.

Exemples

Exemple #1 Exemple avec ArrayObject::getIteratorClass()

<?php
// ArrayIterator personnalisé (hérite de ArrayIterator)
class MonArrayIterator extends ArrayIterator {
    // implementation personnalisée
}

// Tableau de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Lit le nom de la classe courante
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);

// Configure le nom de la nouvelle classe
$fruitsArrayObject->setIteratorClass('MyArrayIterator');

// Lit le nom de la classe du nouvel itérateur
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>

L'exemple ci-dessus va afficher :

tring(13) "ArrayIterator"
string(15) "MonArrayIterator"

Voir aussi

  • La méthode ArrayObject::setIteratorClass

ArrayObject::getIterator
ArrayObject::ksort
ArrayObject


Tri un tableau par clé

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject
PHP Manual

ArrayObject::ksort

(PHP 5 >= 5.2.0)

ArrayObject::ksort — Tri un tableau par clé

Description

void ArrayObject::ksort ( void )

Trie les éléments par clé, en conservant la relation avec les éléments. C'est le tri classique sur les tableaux associatifs.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::ksort()

<?php
$fruits = array("d" => "citron", "a" => "orange", "b" => "banane", "c" => "pomme");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach ($fruitArrayObject as $key => $val) {
    echo "$key = $val\n";
}
 ?>

L'exemple ci-dessus va afficher :

a = orange
b = banane
c = pomme
d = citron

ArrayObject::getIteratorClass
ArrayObject::natcasesort
ArrayObject


Tri un tableau en utilisant le tri naturel sans la casse

ArrayObject::ksort
ArrayObject::natsort
ArrayObject
PHP Manual

ArrayObject::natcasesort

(PHP 5 >= 5.2.0)

ArrayObject::natcasesort — Tri un tableau en utilisant le tri naturel sans la casse

Description

void ArrayObject::natcasesort ( void )

Cette méthode est la version insensible à la casse de ArrayObject::natsort.

Cette méthode implémente un algorithme de tri qui ordonne les chaînes alpha-numérique de la même façon qu'un humain le ferait. Ceci est décrit comme un tri naturel.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::natcasesort()

<?php
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Tri standard\n";
print_r($arr1);

$arr2->natcasesort();
echo "\nTri naturel\n";
print_r($arr2);
?>

L'exemple ci-dessus va afficher :

Tri standard
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [0] => IMG0.png
            [5] => IMG3.png
            [4] => img1.png
            [2] => img10.png
            [1] => img12.png
            [3] => img2.png
        )

)

Tri naturel
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [0] => IMG0.png
            [4] => img1.png
            [3] => img2.png
            [5] => IMG3.png
            [2] => img10.png
            [1] => img12.png
        )

)

For more information see: Martin Pool's » Natural Order String Comparison page.

ArrayObject::ksort
ArrayObject::natsort
ArrayObject


Trie les éléments avec un tri naturel

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject
PHP Manual

ArrayObject::natsort

(PHP 5 >= 5.2.0)

ArrayObject::natsort — Trie les éléments avec un tri naturel

Description

void ArrayObject::natsort ( void )

Cette méthode implémente un algorithme de tri qui place les chaînes alphanumériques dans le même ordre que celui qu'un humain utiliserait, tout en conservant la correlation entre les clé et les valeurs. Ceci porte le nom de tri naturel. Par exemple, le tri naturel se distingue du tri informatique, tel qu'utilisé dans ArrayObject::asort, comme illustré ci-dessous.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::natsort()

<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Tri standard\n";
print_r($arr1);

$arr2->natsort();
echo "\nTri en ordre naturel\n";
print_r($arr2);
?>

L'exemple ci-dessus va afficher :

Tri standard
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [3] => img1.png
            [1] => img10.png
            [0] => img12.png
            [2] => img2.png
        )

)

Tri en ordre naturel
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [3] => img1.png
            [2] => img2.png
            [1] => img10.png
            [0] => img12.png
        )

)

Pour plus d'informations, voyez le site de Martin Pool » Natural Order String Comparison.

ArrayObject::natcasesort
ArrayObject::offsetExists
ArrayObject


Vérifie si un index existe

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject
PHP Manual

ArrayObject::offsetExists

(PHP 5 >= 5.0.0)

ArrayObject::offsetExists — Vérifie si un index existe

Description

bool ArrayObject::offsetExists ( mixed $index )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

index

L'index à vérifier.

Valeurs de retour

TRUE if the requested index exists, otherwise FALSE

Exemples

Exemple #1 Exemple avec ArrayObject::offsetExists

<?php
$arrayobj = new ArrayObject(array('zero', 'one', 'example'=>'e.g.'));
var_dump($arrayobj->offsetExists(1));
var_dump($arrayobj->offsetExists('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)
bool(false)

ArrayObject::natsort
ArrayObject::offsetGet
ArrayObject


Retourne la valeur de l'index spécifié

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject
PHP Manual

ArrayObject::offsetGet

(PHP 5 >= 5.0.0)

ArrayObject::offsetGet — Retourne la valeur de l'index spécifié

Description

mixed ArrayObject::offsetGet ( mixed $index )

Liste de paramètres

index

L'index demandé.

Valeurs de retour

La valeur à l'index ou FALSE.

Exemples

Exemple #1 Exemple avec ArrayObject::offsetGet

<?php
$arrayobj = new ArrayObject(array('zero', 7, 'example'=>'e.g.'));
var_dump($arrayobj->offsetGet(1));
var_dump($arrayobj->offsetGet('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

L'exemple ci-dessus va afficher :

int(7)
string(4) "e.g."
bool(false)

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject


Définie $newval comme valeur à l'$index spécifié

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject
PHP Manual

ArrayObject::offsetSet

(PHP 5 >= 5.0.0)

ArrayObject::offsetSet — Définie $newval comme valeur à l'$index spécifié

Description

void ArrayObject::offsetSet ( mixed $index , mixed $newval )

Définit newval comme valeur à l'index index spécifié.

Liste de paramètres

index

L'index à définir.

newval

La nouvelle valeur de l'index index.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::offsetSet

<?php
class Example {
    public $property = 'prop:public';
}
$arrayobj = new ArrayObject(new Example());
$arrayobj->offsetSet(4, 'four');
$arrayobj->offsetSet('group', array('g1', 'g2'));
var_dump($arrayobj);

$arrayobj = new ArrayObject(array('zero','one'));
$arrayobj->offsetSet(null, 'last');
var_dump($arrayobj);
?>

L'exemple ci-dessus va afficher :

object(ArrayObject)#1 (3) {
  ["property"]=>
  string(11) "prop:public"
  [4]=>
  string(4) "four"
  ["group"]=>
  array(2) {
    [0]=>
    string(2) "g1"
    [1]=>
    string(2) "g2"
  }
}
object(ArrayObject)#3 (3) {
  [0]=>
  string(4) "zero"
  [1]=>
  string(3) "one"
  [2]=>
  string(4) "last"
}

Voir aussi

  • ArrayObject::append - Ajoute la valeur à la fin d'un tableau

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject


Efface la valeur à l'$index spécifié

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject
PHP Manual

ArrayObject::offsetUnset

(PHP 5 >= 5.0.0)

ArrayObject::offsetUnset — Efface la valeur à l'$index spécifié

Description

void ArrayObject::offsetUnset ( mixed $index )

Efface la valeur à l'$index spécifié.

Liste de paramètres

index

L'index à effacer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::offsetUnset

<?php
$arrayobj = new ArrayObject(array(0=>'zero',2=>'two'));
$arrayobj->offsetUnset(2);
var_dump($arrayobj);
?>

L'exemple ci-dessus va afficher :

object(ArrayObject)#1 (1) {
  [0]=>
  string(4) "zero"
}

ArrayObject::offsetSet
ArrayObject::serialize
ArrayObject


Linéarise un ArrayObject

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject
PHP Manual

ArrayObject::serialize

(PHP 5 >= 5.3.0)

ArrayObject::serialize — Linéarise un ArrayObject

Description

public void ArrayObject::serialize ( void )

Linéarise un ArrayObject.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La représentation linéarisée d'un objet ArrayObject.

Exemples

Exemple #1 Exemple avec ArrayObject::serialize

<?php
$o = new ArrayObject();

$s1 = serialize($o);
$s2 = $o->serialize();

var_dump($s1);
var_dump($s2);

L'exemple ci-dessus va afficher :

string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"

Voir aussi

  • ArrayObject::unserialize - Délinéarisation d'un ArrayObject
  • serialize() - Linéarise une variable
  • Linéarisation d'objets

ArrayObject::offsetUnset
ArrayObject::setFlags
ArrayObject


Configure les options de comportement

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject
PHP Manual

ArrayObject::setFlags

(PHP 5 >= 5.1.0)

ArrayObject::setFlags — Configure les options de comportement

Description

void ArrayObject::setFlags ( int $flags )

Configure les options qui changent le comportement des objets ArrayObject.

Liste de paramètres

flags

Le nouveau comportement ArrayObject. Cela peut être un champ de bit ou des constantes nommées. L'utilisation des constantes est fortement encouragée, pour assurer la compatibilité avec les futures versions.

Les options de comportement disponible sont listées ci-dessous. Leur signification est décrite dans les constantes prédéfinies.

Options de comportement de ArrayObject
Valeur | Constante
1 | ArrayObject::STD_PROP_LIST
2 | ArrayObject::ARRAY_AS_PROPS

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::setFlags()

<?php
// Liste de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Utilisation des clés de tableau comme propriété
var_dump($fruitsArrayObject->citrons);
// Configure le tableau pour que les clé de tableau puisse être utilisée comme propriétés
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Essaie à nouveau
var_dump($fruitsArrayObject->citrons);

?>

L'exemple ci-dessus va afficher :

NULL
int(1)

ArrayObject::serialize
ArrayObject::setIteratorClass
ArrayObject


Définit le nom de la classe de l'itérateur pour l'objet ArrayObject

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject
PHP Manual

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0)

ArrayObject::setIteratorClass — Définit le nom de la classe de l'itérateur pour l'objet ArrayObject

Description

void ArrayObject::setIteratorClass ( string $iterator_class )

Définit le nom de la classe de l'itérateur du tableau, utilisé par ArrayObject::getIterator().

Liste de paramètres

iterator_class

Le nom de la classe de l'itérateur à utiliser pour itérer sur cet objet.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::setIteratorClass()

<?php
// ArrayIterator personnalisé (hérite de ArrayIterator)
class MonArrayIterator extends ArrayIterator {
    // implementation personnelle
}

// Liste de fruits
$fruits = array("citrons" => 1, "oranges" => 4, "bananes" => 5, "pommes" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Affecte le nouveau nom de classe d'itération
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

L'exemple ci-dessus va afficher :

MonArrayIterator Object
(
    [storage:ArrayIterator:private] => ArrayObject Object
        (
            [storage:ArrayObject:private] => Array
                (
                    [citrons] => 1
                    [oranges] => 4
                    [bananes] => 5
                    [pommes] => 10
                )

        )

)

ArrayObject::setFlags
ArrayObject::uasort
ArrayObject


Trie les éléments avec une fonction utilisateur

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject
PHP Manual

ArrayObject::uasort

(PHP 5 >= 5.2.0)

ArrayObject::uasort — Trie les éléments avec une fonction utilisateur

Description

void ArrayObject::uasort ( callback $cmp_function )

Cette fonction trie les éléments tout en conservant leur correlation avec la clé associée, en utilisant une fonction de comparaison utilisateur.

Cette fonction sert lors du tri de tableaux associatifs, où l'ordre des éléments est important.

Liste de paramètres

cmp_function

La fonction cmp_function doit accepter deux paramètres, qui contiendront les éléments. La fonction de comparaison doit retourner un entier qui peut être négatif, nul ou positif, suivant que le premier paramètre est considéré comme inférieur, égal ou supérieur au second.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::uasort()

<?php
// Fonction de comparaison
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Les tableaux à trier
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Trie et affiche le tableau
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

L'exemple ci-dessus va afficher :

ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [a] => 4
            [b] => 8
            [c] => -1
            [d] => -9
            [e] => 2
            [f] => 5
            [g] => 3
            [h] => -4
        )

)
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [d] => -9
            [h] => -4
            [c] => -1
            [e] => 2
            [g] => 3
            [a] => 4
            [f] => 5
            [b] => 8
        )

)

ArrayObject::setIteratorClass
ArrayObject::uksort
ArrayObject


Trie les éléments par clé avec une fonction utilisateur

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject
PHP Manual

ArrayObject::uksort

(PHP 5 >= 5.2.0)

ArrayObject::uksort — Trie les éléments par clé avec une fonction utilisateur

Description

void ArrayObject::uksort ( callback $cmp_function )

Cette fonction trie les clés des éléments en utilisant une fonction utilisateur de comparaison. La correlation entre les clés et les éléments est conservée.

Liste de paramètres

cmp_function

La fonction de rappel pour les comparaisons.

La fonction cmp_function doit accepter deux paramètres, qui contiendront les clés des éléments. La fonction de comparaison doit retourner un entier qui peut être négatif, nul ou positif, suivant que le premier paramètre est considéré comme inférieur, égal ou supérieur au second.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ArrayObject::uksort()

<?php
function cmp($a, $b) {
    $a = preg_replace('@^(le|la|les|un|une|des) @', '', $a);
    $b = preg_replace('@^(le|la|les|un|une|des) @', '', $b);
    return strcasecmp($a, $b);
}

$array = array("Jean" => 1, "la Terre" => 2, "une pomme" => 3, "une banane" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach ($arrayObject as $key => $value) {
    echo "$key: $value\n";
}
?>

L'exemple ci-dessus va afficher :

une banane: 4
Jean: 1
une pomme: 3
la Terre: 2

ArrayObject::uasort
ArrayObject::unserialize
ArrayObject


Délinéarisation d'un ArrayObject

ArrayObject::uksort
SplObserver
ArrayObject
PHP Manual

ArrayObject::unserialize

(PHP 5 >= 5.3.0)

ArrayObject::unserialize — Délinéarisation d'un ArrayObject

Description

public void ArrayObject::unserialize ( string $serialized )

Délinéarise d'un objet ArrayObject linéarisé.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

serialized

L'objet ArrayObject linéarisé.

Valeurs de retour

The unserialized ArrayObject.

Voir aussi

  • ArrayIterator::serialize - Linéarisation
  • unserialize() - Crée une variable PHP à partir d'une valeur linéarisée
  • Linéarisation d'objets

ArrayObject::uksort
SplObserver
ArrayObject


L'interface SplObserver

Introduction

L'interface SplObserver est utilisée conjointement avec la classe SplSubject pour l'implémentation du patron de conception Observateur.

Sommaire de l'Interface

SplObserver
SplObserver {
/* Méthodes */
abstract public void update ( SplSubject $subject )
}

Sommaire

  • SplObserver::update — Réception d'une mise à jour depuis un sujet
ArrayObject::unserialize
SplObserver::update
Classes et interfaces diverses


Réception d'une mise à jour depuis un sujet

SplObserver
SplSubject
SplObserver
PHP Manual

SplObserver::update

(PHP 5 >= 5.1.0)

SplObserver::update — Réception d'une mise à jour depuis un sujet

Description

abstract public void SplObserver::update ( SplSubject $subject )

Cette méthode est appelée lorsqu'un des objets SplSubject depuis lequel l'observateur est attaché, appelle la méthode SplSubject::notify.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

subject

L'oobjet SplSubject notifiant l'observateur d'une mise à jour.

Valeurs de retour

Aucune valeur n'est retournée.

SplObserver
SplSubject
SplObserver


L'interface SplSubject

Introduction

L'interface SplSubject est utilisée conjointement avec la classe SplObserver pour l'implémentation du patron de conception Observateur.

Sommaire de l'Interface

SplSubject
SplSubject {
/* Méthodes */
abstract public void attach ( SplObserver $observer )
abstract public void detach ( SplObserver $observer )
abstract public void notify ( void )
}

Sommaire

  • SplSubject::attach — Attache un SplObserver
  • SplSubject::detach — Détache un observateur
  • SplSubject::notify — Notifie un observateur
SplObserver::update
SplSubject::attach
Classes et interfaces diverses


Attache un SplObserver

SplSubject
SplSubject::detach
SplSubject
PHP Manual

SplSubject::attach

(PHP 5 >= 5.1.0)

SplSubject::attach — Attache un SplObserver

Description

abstract public void SplSubject::attach ( SplObserver $observer )

Attache un SplObserver. Il sera ainsi notifier des mises à jour.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

observer

L'observateur SplObserver à attacher.

Valeurs de retour

Aucune valeur n'est retournée.

SplSubject
SplSubject::detach
SplSubject


Détache un observateur

SplSubject::attach
SplSubject::notify
SplSubject
PHP Manual

SplSubject::detach

(PHP 5 >= 5.1.0)

SplSubject::detach — Détache un observateur

Description

abstract public void SplSubject::detach ( SplObserver $observer )

Détache un observateur d'un sujet. Il ne sera ainsi plus notifier des mises à jour.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

observer

L'observateur SplObserver à détacher.

Valeurs de retour

Aucune valeur n'est retournée.

SplSubject::attach
SplSubject::notify
SplSubject


Notifie un observateur

SplSubject::detach
Types SPL
SplSubject
PHP Manual

SplSubject::notify

(PHP 5 >= 5.1.0)

SplSubject::notify — Notifie un observateur

Description

abstract public void SplSubject::notify ( void )

Notifie tous les observateurs attachés.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

SplSubject::detach
Types SPL
SplSubject


Gestion des types SPL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • SplInt — La classe SplInt
    • SplInt::__construct — Construit un objet de type integer
  • SplFloat — La classe SplFloat
    • SplFloat::__construct — Construit un objet de type nombre décimal
  • SplEnum — La classe SplEnum
    • SplEnum::__construct — Construit un objet de type enum
  • SplBool — La classe SplBool
    • SplBool::__construct — Construit un objet de type booléen
  • SplString — La classe SplString
    • SplString::__construct — Construit un objet de type chaîne
SplSubject::notify
Introduction
Autres extensions basiques


Introduction

Cette extension tend à aider les développeurs à faire de PHP un langage à type fort; cela peut être une bonne solution pour assurer le typage scalaire. Il fournit des classes pour gérer des objets tels que integer , float , bool , enum , etc.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Types SPL
Installation/Configuration
Types SPL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Types SPL


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/SPL_Types.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
SplInt
Installation/Configuration


La classe SplInt

Introduction

La classe SplInt est utilisée pour assurer le typage fort du type booléen.

Synopsis de la classe

SplInt
SplInt {
/* Méthodes */
__construct ( integer $input )
}

Sommaire

  • SplInt::__construct — Construit un objet de type integer
Types de ressources
SplInt::__construct
Types SPL


Construit un objet de type integer

SplInt
SplFloat
SplInt
PHP Manual

SplInt::__construct

(PECL spl_types >= 0.1.0)

SplInt::__construct — Construit un objet de type integer

Description

SplInt::__construct ( integer $input )

Ce constructeur est utilisé pour attribuer et garantir le type de l'objet "Integer".

Liste de paramètres

input

Le paramètre input prend un integer et produit une exception UnexpectedValueException si autre donnée lui est passée.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplInt::__construct()

<?php
$int = new SplInt(94);

try {
    $int = 'Essayez de transtyper une chaîne pour le fun';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($int);
echo $int; // Affiche 94
?>

L'exemple ci-dessus va afficher :

Value not an integer
object(SplInt)#1 (1) {
  ["__default"]=>
  int(94)
}
94

SplInt
SplFloat
SplInt


La classe SplFloat

Introduction

La classe SplFloat est utilisée pour assurer le typage fort du type booléen.

Synopsis de la classe

SplFloat
SplFloat {
/* Méthodes */
__construct ( float $input )
}

Sommaire

  • SplFloat::__construct — Construit un objet de type nombre décimal
SplInt::__construct
SplFloat::__construct
Types SPL


Construit un objet de type nombre décimal

SplFloat
SplEnum
SplFloat
PHP Manual

SplFloat::__construct

(PECL spl_types >= 0.1.0)

SplFloat::__construct — Construit un objet de type nombre décimal

Description

SplFloat::__construct ( float $input )

Ce constructeur est utilisé pour attribuer et garantir le type de l'objet "Float".

Liste de paramètres

input

Le paramètre input prend un float ou un integer . Si un integer est passé, il sera converti en float .

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplFloat::__construct()

<?php
$float    = new SplFloat(3.154);
$newFloat = new SplFloat(3);

try {
    $float = 'Essayez de transtyper cette chaîne pour le fun';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($float);
var_dump($newFloat);
?>

L'exemple ci-dessus va afficher :

Value not a float
object(SplFloat)#1 (1) {
  ["__default"]=>
  float(3.154)
}
object(SplFloat)#2 (1) {
  ["__default"]=>
  float(3)
}

SplFloat
SplEnum
SplFloat


La classe SplEnum

Introduction

La classe SplEnum est utilisée pour assurer le typage fort du type booléen.

Synopsis de la classe

SplEnum
abstract SplEnum {
/* Méthodes */
__construct ( void )
}

Sommaire

  • SplEnum::__construct — Construit un objet de type enum
SplFloat::__construct
SplEnum::__construct
Types SPL


Construit un objet de type enum

SplEnum
SplBool
SplEnum
PHP Manual

SplEnum::__construct

(PECL spl_types >= 0.1.0)

SplEnum::__construct — Construit un objet de type enum

Description

SplEnum::__construct ( void )

Ce constructeur est utilisé pour attribuer et garantir le type de l'objet "Enum".

Liste de paramètres

input

Le paramètre input prendre un integer et produit une exception UnexpectedValueException si autre chose lui est passé.

strict

Une variable de type boolean pour indiquer la souplesse du typage.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplEnum::__construct()

<?php

class EnumOne extends SplEnum
{
    const __default = 1;
}

class EnumTwo extends SplEnum
{
    const __default = 2;
}

class EnumThree extends SplEnum
{
    const __default = 3;
}

$enumOne   = new EnumOne();
$enumTwo   = new EnumTwo();
$enumThree = new EnumThree();

echo 'Enum un    : ' . $enumOne   . PHP_EOL;
echo 'Enum deux  : ' . $enumTwo   . PHP_EOL;
echo 'Enum trois : ' . $enumThree . PHP_EOL;
?>

L'exemple ci-dessus va afficher :

Enum un    : 1
Enum deux  : 2
Enum trois : 3

SplEnum
SplBool
SplEnum


La classe SplBool

Introduction

La classe SplBool est utilisée pour assurer le typage fort du type booléen.

Synopsis de la classe

SplBool
SplBool {
/* Méthodes */
__construct ( void )
}

Sommaire

  • SplBool::__construct — Construit un objet de type booléen
SplEnum::__construct
SplBool::__construct
Types SPL


Construit un objet de type booléen

SplBool
SplString
SplBool
PHP Manual

SplBool::__construct

(PECL spl_types >= 0.1.0)

SplBool::__construct — Construit un objet de type booléen

Description

SplBool::__construct ( void )

Ce constructeur est utilisé pour attribuer et garantir le type de l'objet booléen.

Liste de paramètres

input

Le paramètre input prendre un boolean et produit une exception UnexpectedValueException si autre chose lui est passé.

strict

Une variable de type boolean pour indiquer la souplesse du typage.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplBool::__construct()

<?php
$one = new SplBool(true);
$two = new SplBool(1);

var_dump($one);
var_dump($two);
?>

L'exemple ci-dessus va afficher :

object(SplBool)#1 (1) {
  ["__default"]=>
  bool(true)
}
object(SplBool)#1 (1) {
  ["__default"]=>
  bool(true)
}

SplBool
SplString
SplBool


La classe SplString

Introduction

La classe SplString sert à assurer le typage fort des chaînes.

Synopsis de la classe

SplString
SplString {
/* Méthodes */
__construct ( string $input )
}

Sommaire

  • SplString::__construct — Construit un objet de type chaîne
SplBool::__construct
SplString::__construct
Types SPL


Construit un objet de type chaîne

SplString
Flux
SplString
PHP Manual

SplString::__construct

(PECL spl_types >= 0.1.0)

SplString::__construct — Construit un objet de type chaîne

Description

SplString::__construct ( string $input )

Construit un objet de type chaîne.

Liste de paramètres

input

Le paramètre input accepte une chaîne de caractères Une exception UnexpectedValueException est émise si un problème survient.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SplString::__construct()

<?php
$string = new SplString("Test");

try {
    $string = array();
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($string);
echo $string; // Outputs "Test"
?>

L'exemple ci-dessus va afficher :

Value not a string
object(SplString)#1 (1) {
  ["__default"]=>
  string(7) "Test"
}
Testing

SplString
Flux
SplString


Flux

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Classes Stream
  • Constantes pré-définies
  • Filtres de flux
  • Contextes de flux
  • Erreurs de flux
  • Exemples
    • Exemple de classe enregistrée comme gestionnaire de flux
  • streamWrapper — La classe streamWrapper
    • streamWrapper::__construct — Construit un nouveau gestionnaire de flux
    • streamWrapper::dir_closedir — Ferme une ressource de dossier
    • streamWrapper::dir_opendir — Ouvre un dossier en lecture
    • streamWrapper::dir_readdir — Lit un fichier dans un dossier
    • streamWrapper::dir_rewinddir — Remet au début une ressource de dossier
    • streamWrapper::mkdir — Crée un dossier
    • streamWrapper::rename — Renomme un fichier ou un dossier
    • streamWrapper::rmdir — Supprime un dossier
    • streamWrapper::stream_cast — Lit la ressource sous-jacente de flux
    • streamWrapper::stream_close — Ferme une ressource de flux
    • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
    • streamWrapper::stream_flush — Expédie le contenu
    • streamWrapper::stream_lock — Verrouillage logique de fichiers
    • streamWrapper::stream_open — Opens file or URL
    • streamWrapper::stream_read — Lit dans le flux
    • streamWrapper::stream_seek — Place le pointeur de flux à une position
    • streamWrapper::stream_set_option — Change les options du flux
    • streamWrapper::stream_stat — Lit les informations sur une ressource de fichier
    • streamWrapper::stream_tell — Lit la position courante dans un flux
    • streamWrapper::stream_write — Écrit dans un flux
    • streamWrapper::unlink — Efface un fichier
    • streamWrapper::url_stat — Lit les informations sur un fichier
  • Fonctions sur les flux
    • set_socket_blocking — Alias de stream_set_blocking
    • stream_bucket_append — Ajoute un compartiment au corps
    • stream_bucket_make_writeable — Retourne un objet de compartiment depuis le corps pour des opérations sur celui-ci
    • stream_bucket_new — Crée un nouveau compartiment pour l'utiliser sur le flux courant
    • stream_bucket_prepend — Ajout initial d'un compartiment au corps
    • stream_context_create — Crée un contexte de flux
    • stream_context_get_default — Lit le contexte par défaut des flux
    • stream_context_get_options — Lit la valeur des options pour un flux/gestionnaire/contexte
    • stream_context_get_params — Lit les paramètres d'un contexte
    • stream_context_set_default — Configure le contexte par défaut des flux
    • stream_context_set_option — Configure une option pour un flux/gestionnaire/contexte
    • stream_context_set_params — Configure les paramètres pour un flux/gestionnaire/contexte
    • stream_copy_to_stream — Copie des données depuis un flux vers un autre
    • stream_encoding — Définit le jeu de caractères pour l'encodage du flux
    • stream_filter_append — Attache un filtre à un flux en fin de liste
    • stream_filter_prepend — Attache un filtre à un flux en début de liste
    • stream_filter_register — Enregistre un filtre de flux
    • stream_filter_remove — Retire un filtre d'un flux
    • stream_get_contents — Lit tout un flux dans une chaîne
    • stream_get_filters — Liste les filtres enregistrés
    • stream_get_line — Lit une ligne dans un flux
    • stream_get_meta_data — Lit les en-têtes et données méta des flux
    • stream_get_transports — Liste les gestionnaires de transports de sockets disponibles
    • stream_get_wrappers — Liste les gestionnaires de flux
    • stream_is_local — Vérifie si un flux est local
    • stream_notification_callback — Une fonction de rappel pour le paramètre de contexte notification
    • stream_register_wrapper — Alias de stream_wrapper_register
    • stream_resolve_include_path — Résout un nom de fichier suivant les règles du chemin d'inclusion
    • stream_select — Surveille la modification d'un ou plusieurs flux
    • stream_set_blocking — Configure le mode bloquant d'un flux
    • stream_set_read_buffer — Configure le buffer de lecture d'un flux
    • stream_set_timeout — Configure la durée d'expiration d'un flux
    • stream_set_write_buffer — Configure le buffer d'écriture d'un flux
    • stream_socket_accept — Accepte une connexion sur une socket créée par stream_socket_server
    • stream_socket_client — Ouvre une connexion socket Internet ou Unix
    • stream_socket_enable_crypto — Active ou non le chiffrement, pour une socket déjà connectée
    • stream_socket_get_name — Lit le nom des sockets locale ou distante
    • stream_socket_pair — Crée une paire de sockets connectées et indissociables
    • stream_socket_recvfrom — Lit des données depuis une socket, connectée ou pas
    • stream_socket_sendto — Envoie une message à la socket, connectée ou pas
    • stream_socket_server — Crée une socket serveur Unix ou Internet
    • stream_socket_shutdown — Arrête une connexion full-duplex
    • stream_supports_lock — Indique si le flux supporte les verrous
    • stream_wrapper_register — Enregistre un gestionnaire d'URL
    • stream_wrapper_restore — Restaure un gestionnaire d'URL supprimé
    • stream_wrapper_unregister — Supprime un gestionnaire d'URL
SplString::__construct
Introduction
Autres extensions basiques


Introduction

Les flux ("streams" en anglais) ont été introduits en PHP 4.3.0 comme méthode de généralisation des fichiers, sockets, connexions réseau, données compressées et autres opérations du même type, qui partagent des opérations communes. Dans sa définition la plus simple, un flux est une ressource qui présente des capacités de flux : c'est-à-dire que ces objets peuvent être lus ou recevoir des écritures de manière linéaire, et dispose aussi de moyen d'accéder à des positions arbitraires dans le flux.

Un gestionnaire (littéralement, wrapper en anglais), est une fonction qui indique comment le flux se comporte spécifiquement. C'est le cas du gestionnaire http, qui sait comment traduire une URL en une requête HTTP/1.0 sur un serveur distant. Il existe de nombreux gestionnaires intégrés à PHP par défaut (voir Liste des protocoles supportés), et, de plus, des gestionnaires spécifiques peuvent être ajoutés dans les scripts PHP avec la fonction stream_register_wrapper(), ou bien directement par une autre extension, en utilisant l'API C de Working with streams. Grâce à la souplesse des gestionnaires qui peuvent être ajoutés à PHP, il n'y a pas de limites aux possibilités offertes. Pour connaître la liste des gestionnaires actuellement enregistrés, utilisez la fonction stream_get_wrappers().

Un flux est référencé comme : scheme://target

  • scheme(chaîne de caractères) - Le nom du gestionnaire a utiliser. Par exemple, file, http, https, ftp, ftps, compress.zlib, compress.bz. et php.. Voir Liste des protocoles supportés pour une liste complète des gestionnaires enregistrés de PHP. Si aucun gestionnaire n'est spécifié, la fonction par défaut est utilisée (typiquement, file://).
  • target - Dépend du gestionnaire utilisé. Pour les flux relatifs aux systèmes de fichiers, c'est typiquement un chemin et un nom de fichier du fichier désiré. Pour les flux relatifs aux réseaux, c'est typiquement le nom d'hôte, souvent avec un chemin apposé. Voir aussi Liste des protocoles supportés pour une description des cibles des flux intégrés.

Note: Des informations sur l'utilisation des flux dans le code source de PHP peuvent être trouvées dans l'API des flux pour les auteurs d'extensions PHP.

Flux
Installation/Configuration
Flux


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Classes Stream
Introduction
Pré-requis
Flux


Installation

Les flux font partie de PHP depuis la version 4.3.0. Aucune étape supplémentaire n'est requise pour les activer.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Installation
Classes Stream
Installation/Configuration


Classes Stream

Des gestionnaires personnalisés peuvent être enregistrés via la fonction stream_register_wrapper(), en utilisant la définition de classe décrite dans ce manuel.

La classe php_user_filter est prédéfinie. C'est une classe abstraite à utiliser avec les filtres personnalisés. Voyez le manuel de la fonction stream_register_filter() pour plus de détails sur les implémentations de filtres utilisateurs.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constante | Description
STREAM_FILTER_READ | Utilisée avec stream_filter_append() et stream_filter_prepend() pour indiquer que le filtre spécifié ne doit être appliqué qu'après la lecture.
STREAM_FILTER_WRITE | Utilisée avec stream_filter_append() et stream_filter_prepend() pour indiquer que le filtre spécifié ne doit être appliqué qu'après l' écriture.
STREAM_FILTER_ALL | Cette constante est équivalente à STREAM_FILTER_READ | STREAM_FILTER_WRITE
PSFS_PASS_ON * | Le code retourné indique que le filtre utilisateur retourne des données dans $out.
PSFS_FEED_ME * | Le code retourné indique que le filtre utilisateur ne retourne pas de données dans $out (i.e. aucune donnée disponible).
PSFS_ERR_FATAL * | Le code retourné indique que le filtre utilisateur a produit une erreur fatale. (i.e. données invalides reçues).
PSFS_FLAG_NORMAL | Opérations normales de lecture et écriture.
PSFS_FLAG_FLUSH_INC | Écriture incrémentale.
PSFS_FLAG_FLUSH_CLOSE | Écriture en bloc, à la fermeture.
STREAM_USE_PATH | Option indiquant si stream a utilisé l'include_path.
STREAM_REPORT_ERRORS | Option indiquant si le gestionnaire est responsable pour la levée des erreurs avec trigger_error() durant l'ouverture du flux. Si cette constante n'existe pas, vous ne devez pas émettre d'erreurs.
STREAM_CLIENT_ASYNC_CONNECT * | Ouvre un socket client en mode asynchrone. Cette option doit être utilisée avec l'option STREAM_CLIENT_CONNECT. À utiliser avec la fonction stream_socket_client().
STREAM_CLIENT_CONNECT * | Ouvre un socket client. Les sockets clients doivent toujours inclure ce flag. À utiliser avec la fonction stream_socket_client().
STREAM_CLIENT_PERSISTENT * | Le socket client ouvert avec stream_socket_client() doit rester persistant entre chaque page chargée.
STREAM_SERVER_BIND * | Appel un flux créé avec la fonction stream_socket_server() pour s'identifier sur la cible définie. Les sockets serveur doivent toujours utiliser cette constante.
STREAM_SERVER_LISTEN * | Appel un flux créé avec stream_socket_server() et utilise la constante STREAM_SERVER_BIND pour commencer à écouter la socket. Les connexions orientées transports (comme TCP) doivent utiliser cet option sinon la socket serveur ne sera pas activée. Utiliser cette option pour les connexions basses de transports, comme UDP, est une erreur.
STREAM_NOTIFY_RESOLVE * | Une adresse distante requise pour ce flux a été résolue, ou bien la résolution a échoué. Voir le paramètre severity pour avoir une indication sur l'événement survenu.
STREAM_NOTIFY_CONNECT | Une connexion avec une ressource externe a été établie.
STREAM_NOTIFY_AUTH_REQUIRED | Une autorisation supplémentaire est demandée pour accéder à la ressource spécifiée. Typiquement utilisé avec le niveau d'alerte severity de la constante STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | Le type mime de la ressource a été identifié : voir le paramètre message pour une description du type découvert.
STREAM_NOTIFY_FILE_SIZE_IS | La taille de la ressource a été découverte.
STREAM_NOTIFY_REDIRECTED | La ressource externe a redirigé le flux vers un endroit différent. Voir le paramètre message.
STREAM_NOTIFY_PROGRESS | Indique l'actuelle progression du transfert du flux dans bytes_transferred et peut-être bytes_max également.
STREAM_NOTIFY_COMPLETED * | Il n'y a plus de données disponibles sur le flux.
STREAM_NOTIFY_FAILURE | Une erreur générique est intervenue sur le flux, consultez les paramètres message et message_code pour plus de détails.
STREAM_NOTIFY_AUTH_RESULT | L'autorisation est terminée (avec succès ou pas).
STREAM_NOTIFY_SEVERITY_INFO | Notification normale, aucune erreur signalée.
STREAM_NOTIFY_SEVERITY_WARN | Erreur non critique. Le traitement continue.
STREAM_NOTIFY_SEVERITY_ERR | Une erreur critique est survenu. Le traitement ne peut continuer.
STREAM_IPPROTO_ICMP + | Fournit un socket ICMP.
STREAM_IPPROTO_IP + | Fournit un socket IP.
STREAM_IPPROTO_RAW + | Fournit un socket RAW.
STREAM_IPPROTO_TCP + | Fournit un socket TCP.
STREAM_IPPROTO_UDP + | Fournit un socket UDP.
STREAM_PF_INET + | Protocole Internet version 4 (IPv4).
STREAM_PF_INET6 + | Protocole internet version 6(IPv6).
STREAM_PF_UNIX + | Protocoles internes des systèmes Unix.
STREAM_SOCK_DGRAM + | Fournit des datagrammes, qui sont des messages de connexion (UDP, par exemple).
STREAM_SOCK_RAW + | Fournit un socket raw, qui fournit un accès aux protocoles et interfaces internes du réseau. Habituellement, ce type de socket n'est disponible qu'à l'utilisateur root.
STREAM_SOCK_RDM + | Fournit un socket RDM (Reliably-delivered messages).
STREAM_SOCK_SEQPACKET + | Fournit un socket de flux de paquets en séquence.
STREAM_SOCK_STREAM + | Fournit un flux en séquence, deux chemins avec un mécanisme de transmission pour les données "out-of-band" (TCP par exemple).
STREAM_SHUT_RD | Utilisé avec stream_socket_shutdown() pour désactiver les réceptions futures. Disponible depuis PHP 5.2.1.
STREAM_SHUT_WR | Utilisé avec stream_socket_shutdown() pour désactiver les transmissions futures. Disponible depuis PHP 5.2.1.
STREAM_SHUT_RDWR | Utilisé avec stream_socket_shutdown() pour désactiver les réceptions et transmissions futures. Disponible depuis PHP 5.2.1.
STREAM_CAST_FOR_SELECT | Transtypage de flux, lorsque stream_select() appelle stream_cast().
STREAM_CAST_AS_STREAM | Transtypage de flux, lorsque stream_cast() est appelé autrement (voir ci-dessus).

Note: Les constantes marquées avec une * sont uniquement disponibles depuis PHP 5.0.0.

Note: Les constantes marquées avec une + sont disponibles depuis PHP 5.1.0 et sont faites pour être utilisées avec la fonction stream_socket_pair(). Notez que quelques-unes de ces constantes peuvent ne pas être disponibles sur votre système.

Classes Stream
Filtres de flux
Flux


Filtres de flux

Un filtre est une fonction finale qui effectue des opérations sur les données qui sont lues ou écrites dans un flux. Un nombre arbitraire de filtres peuvent être ajoutés sur un flux. Des filtres personnalisés peuvent aussi être ajoutés avec la fonction stream_register_filter(), ou bien dans une extension avec l'API C de Working with streams. Pour connaître la liste des gestionnaires actuellement enregistrés, utilisez la fonction stream_get_filters().

Constantes pré-définies
Contextes de flux
Flux


Contextes de flux

Un contexte est un jeu de paramètres et d'options spécifiques à un gestionnaire qui modifie ou améliore le comportement d'un flux. Les contextes sont créés en utilisant la fonction stream_context_create() et peuvent être donnés aux fonctions de création de flux sur le système de fichiers (i.e. fopen(), file(), file_get_contents(), etc.).

Les options peuvent être spécifiées en appelant stream_context_create() ou, plus tard, avec stream_context_set_option(). Une liste des options spécifiques aux gestionnaires peut être trouvée dans le chapitre Options et paramètres de contexte.

Parameters peut être spécifié pour contexts en utilisant la fonction stream_context_set_params().

Filtres de flux
Erreurs de flux
Flux


Erreurs de flux

Comme avec n'importe quel fichier ou socket, les opérations sur un flux peuvent échouer pour une grande variété de raisons (par exemple : impossible de se connecter au serveur distant, fichier introuvable, etc.). Un flux peut aussi échouer parce que le gestionnaire n'est pas configuré sur le système en cours. Voyez le tableau retourné par la fonction stream_get_wrappers() pour connaître la liste des gestionnaires configurés sur votre installation de PHP. Comme avec la plupart des fonctions internes de PHP, si une erreur survient, un message de type E_WARNING sera généré pour indiquer la nature de l'erreur.

Contextes de flux
Exemples
Flux


Exemples

Sommaire

  • Exemple de classe enregistrée comme gestionnaire de flux

Exemple #1 Exemples avec file_get_contents()

<?php
/* Lit un fichier local dans le dossier /home/bar */
$localfile = file_get_contents("/home/bar/foo.txt");

/* Identique au précédent, mais utilise explicitement le gestionnaire FILE */
$localfile = file_get_contents("file:///home/bar/foo.txt");

/* Lit un fichier distant sur le serveur www.example.com avec le protocole HTTP */
$httpfile  = file_get_contents("http://www.example.com/foo.txt");

/* Lit le même fichier sur le serveur www.example.com avec le protocole HTTPS */
$httpsfile = file_get_contents("https://www.example.com/foo.txt");

/* Lit un fichier distant sur le serveur ftp.example.com en utilisant le protocole FTP */
$ftpfile   = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Lit un fichier distant sur le serveur ftp.example.com en utilisant le protocole FTPS */
$ftpsfile  = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

Exemple #2 Envoi d'une requête de type POST sur un serveur sécurisé

<?php
/* Envoi d'une requête POST sur le serveur https://secure.example.com/form_action.php
 * Inclusion des variables "foo" et "bar"
 */

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Valeur de Foo") . "&bar=" . urlencode("Valeur de Bar");

fputs($sock, "POST /form_action.php HTTP/1.0\r\n");
fputs($sock, "Host: secure.example.com\r\n");
fputs($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($sock, "Content-length: " . strlen($data) . "\r\n");
fputs($sock, "Accept: */*\r\n");
fputs($sock, "\r\n");
fputs($sock, "$data\r\n");
fputs($sock, "\r\n");

$headers = "";
while ($str = trim(fgets($sock, 4096))) {
  $headers .= "$str\n";
}

echo "\n";

$body = "";
while (!feof($sock)) {
  $body .= fgets($sock, 4096);
}

fclose($sock);
?>

Exemple #3 Écrire des données dans un fichier compressé

<?php
/* Création d'un fichier compressé contenant une chaîne arbitraire
 * Le fichier peut être lu en utilisant le gestionnaire compress.zlib
 * ou simplement decompresse; en ligne de commande avec 'gzip -d foo-bar.txt.gz'
 */
$fp = fopen("compress.zlib://foo-bar.txt.gz","w");
if (!$fp) die("Impossible de créer le fichier.");

fwrite($fp, "Ceci est un test.\n");

fclose($fp);
?>

Erreurs de flux
Exemple de classe enregistrée comme gestionnaire de flux
Flux


Exemple de classe enregistrée comme gestionnaire de flux

L'exemple ci-dessous implémente un gestionnaire de protocole var:// qui permet d'écrire et lire une variable globale en utilisant les fonctions standard de fichier, telle que fread(). Le protocole var:// implémenté ci-dessous, va, à partir d'une URL "var://foo" accéder à la variable globale $GLOBALS["foo"].

Exemple #1 Un flux pour lire et écrire des variables globales

<?php

class VariableStream {
    var $position;
    var $varname;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $url = parse_url($path);
        $this->varname = $url["host"];
        $this->position = 0;

        return true;
    }

    function stream_read($count)
    {
        $ret = substr($GLOBALS[$this->varname], $this->position, $count);
        $this->position += strlen($ret);
        return $ret;
    }

    function stream_write($data)
    {
        $left = substr($GLOBALS[$this->varname], 0, $this->position);
        $right = substr($GLOBALS[$this->varname], $this->position + strlen($data));
        $GLOBALS[$this->varname] = $left . $data . $right;
        $this->position += strlen($data);
        return strlen($data);
    }

    function stream_tell()
    {
        return $this->position;
    }

    function stream_eof()
    {
        return $this->position >= strlen($GLOBALS[$this->varname]);
    }

    function stream_seek($offset, $whence)
    {
        switch ($whence) {
            case SEEK_SET:
                if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) {
                     $this->position = $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($offset >= 0) {
                     $this->position += $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->varname]) + $offset >= 0) {
                     $this->position = strlen($GLOBALS[$this->varname]) + $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }
}

stream_wrapper_register("var", "VariableStream")
    or die("Failed to register protocol");

$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

?>

L'exemple ci-dessus va afficher :

line1
line2
line3
string(18) "line1
line2
line3
"

Exemples
streamWrapper
Exemples


La classe streamWrapper

Introduction

Permet la création de gestionnaires de protocoles et de flux, à utiliser avec toutes les fonctions système, telles que fopen(), fread() etc.).

Note: Cette classe n'est pas une classe concrète : c'est juste un prototype d'une classe qui définirait son propre protocole.

Note: Implémenter les méthodes d'une manière qui n'est pas décrite dans la documentation peut mener à des comportements indéfinis.

Une instance de cette classe est initialisée aussitôt que les fonctions de flux tentent d'accéder à une ressource avec un protocole.

Synopsis de la classe

streamWrapper
streamWrapper {
/* Propriétés */
public resource $context ;
/* Méthodes */
__construct ( void )
public bool dir_closedir ( void )
public bool dir_opendir ( string $path , int $options )
public string dir_readdir ( void )
public bool dir_rewinddir ( void )
public bool mkdir ( string $path , int $mode , int $options )
public bool rename ( string $path_from , string $path_to )
public bool rmdir ( string $path , int $options )
public resource stream_cast ( int $cast_as )
public void stream_close ( void )
public bool stream_eof ( void )
public bool stream_flush ( void )
public bool stream_lock ( mode $operation )
public bool stream_open ( string $path , string $mode , int $options , string &$opened_path )
public string stream_read ( int $count )
public bool stream_seek ( int $offset , int $whence = SEEK_SET )
public bool stream_set_option ( int $option , int $arg1 , int $arg2 )
public array stream_stat ( void )
public int stream_tell ( void )
public int stream_write ( string $data )
public bool unlink ( string $path )
public array url_stat ( string $path , int $flags )
}

Propriétés

resource context

Le contexte courant, ou NULL si aucun contexte n'a été passé à la fonction.

Utilisez la fonction stream_context_get_options() pour analyser le contexte.

Note: Cette propriété doit être public, pour que PHP puisse la remplir avec la ressource de contexte.

Historique

Version | Description
5.0.0 | Ajout de la propriété context.

Voir aussi

  • Exemple de classe enregistrée comme gestionnaire de flux
  • stream_wrapper_register()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()

Sommaire

  • streamWrapper::__construct — Construit un nouveau gestionnaire de flux
  • streamWrapper::dir_closedir — Ferme une ressource de dossier
  • streamWrapper::dir_opendir — Ouvre un dossier en lecture
  • streamWrapper::dir_readdir — Lit un fichier dans un dossier
  • streamWrapper::dir_rewinddir — Remet au début une ressource de dossier
  • streamWrapper::mkdir — Crée un dossier
  • streamWrapper::rename — Renomme un fichier ou un dossier
  • streamWrapper::rmdir — Supprime un dossier
  • streamWrapper::stream_cast — Lit la ressource sous-jacente de flux
  • streamWrapper::stream_close — Ferme une ressource de flux
  • streamWrapper::stream_eof — Tests for end-of-file on a file pointer
  • streamWrapper::stream_flush — Expédie le contenu
  • streamWrapper::stream_lock — Verrouillage logique de fichiers
  • streamWrapper::stream_open — Opens file or URL
  • streamWrapper::stream_read — Lit dans le flux
  • streamWrapper::stream_seek — Place le pointeur de flux à une position
  • streamWrapper::stream_set_option — Change les options du flux
  • streamWrapper::stream_stat — Lit les informations sur une ressource de fichier
  • streamWrapper::stream_tell — Lit la position courante dans un flux
  • streamWrapper::stream_write — Écrit dans un flux
  • streamWrapper::unlink — Efface un fichier
  • streamWrapper::url_stat — Lit les informations sur un fichier
Exemple de classe enregistrée comme gestionnaire de flux
streamWrapper::__construct
Flux


Construit un nouveau gestionnaire de flux

streamWrapper
streamWrapper::dir_closedir
streamWrapper
PHP Manual

streamWrapper::__construct

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::__construct — Construit un nouveau gestionnaire de flux

Description

streamWrapper::__construct ( void )

Appelé à la création du gestionnaire de flux, juste avant streamWrapper::stream_open.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

streamWrapper
streamWrapper::dir_closedir
streamWrapper


Ferme une ressource de dossier

streamWrapper::__construct
streamWrapper::dir_opendir
streamWrapper
PHP Manual

streamWrapper::dir_closedir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_closedir — Ferme une ressource de dossier

Description

public bool streamWrapper::dir_closedir ( void )

Cette méthode est appelée en réponse à la fonction closedir().

Toutes les ressources qui étaient verrouillées ou allouées, durant l'ouverture et l'utilisation du flux de dossiers, doivent être libérées.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • closedir() - Ferme le pointeur sur le dossier
  • streamWrapper::dir_opendir - Ouvre un dossier en lecture

streamWrapper::__construct
streamWrapper::dir_opendir
streamWrapper


Ouvre un dossier en lecture

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper
PHP Manual

streamWrapper::dir_opendir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_opendir — Ouvre un dossier en lecture

Description

public bool streamWrapper::dir_opendir ( string $path , int $options )

Cette méthode est appelée en réponse à opendir().

Liste de paramètres

path

Spécifie l'URL qui a été passée à opendir().

Note: L'URL peut être découpée avec parse_url().

options

S'il faut appliquer le safe_mode ou pas (0x04).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • opendir() - Ouvre un dossier, et récupère un pointeur dessus
  • streamWrapper::dir_closedir - Ferme une ressource de dossier
  • parse_url() - Analyse une URL et retourne ses composants

streamWrapper::dir_closedir
streamWrapper::dir_readdir
streamWrapper


Lit un fichier dans un dossier

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper
PHP Manual

streamWrapper::dir_readdir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_readdir — Lit un fichier dans un dossier

Description

public string streamWrapper::dir_readdir ( void )

Cette méthode est appelée en réponse à readdir().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Doit retourner une chaîne de caractères représentant le prochain nom de fichier, ou FALSE s'i n'y a pas d'autre fichier.

Note: La valeur retournée sera transtypée en chaîne de caractères.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Exemples

Exemple #1 Liste des fichiers d'une archive tar

<?php
class streamWrapper {
    protected $fp;

    public function dir_opendir($path, $options) {
        $url = parse_url($path);

        $path = $url["host"] . $url["path"];

        if (!is_readable($path)) {
            trigger_error("$path n'est pas lisible pour moi", E_USER_NOTICE);
            return false;
        }
        if (!is_file($path)) {
            trigger_error("$path n'est pas un fichier", E_USER_NOTICE);
            return false;
        }

        $this->fp = fopen($path, "rb");
        return true;
    }

    public function dir_readdir() {
        // Extract the header for this entry
        $header      = fread($this->fp, 512);
        $data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1filetype/a100link/a100linkedfile", $header);

        // Trim the filename and filesize
        $filename    = trim($data["filename"]);

        // Pas de fichier, nous sommes à la fin de l'archive
        if (!$filename) {
            return false;
        }

        $octal_bytes = trim($data["size"]);
        // Filesize is defined in octects
        $bytes       = octdec($octal_bytes);

        // tar arrondit les tailles de fichiers au multiple de 512 suivant
        $rest        = $bytes % 512;
        if ($rest > 0) {
            $bytes      += 512 - $rest;
        }

        // Lecture du fichier
        fseek($this->fp, $bytes, SEEK_CUR);

        return $filename;
    }

    public function dir_closedir() {
        return fclose($this->fp);
    }

    public function dir_rewinddir() {
        return fseek($this->fp, 0, SEEK_SET);
    }
}

stream_wrapper_register("tar", "streamWrapper");
$handle = opendir("tar://example.tar");
while (false !== ($file = readdir($handle))) {
    var_dump($file);
}

echo "Remise au début..\n";
rewind($handle);
var_dump(readdir($handle));

closedir($handle);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Remise à zéro..
string(13) "construct.xml"

Voir aussi

  • readdir() - Lit une entrée du dossier

streamWrapper::dir_opendir
streamWrapper::dir_rewinddir
streamWrapper


Remet au début une ressource de dossier

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper
PHP Manual

streamWrapper::dir_rewinddir

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::dir_rewinddir — Remet au début une ressource de dossier

Description

public bool streamWrapper::dir_rewinddir ( void )

Cette méthode est appelée en réponse à rewinddir().

Doit remettre à zéro le curseur géré par streamWrapper::dir_readdir. i.e.: le prochain appel à streamWrapper::dir_readdir doit retourner le premier fichier du dossier retourné par streamWrapper::dir_opendir.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • rewinddir() - Retourne à la première entrée du dossier
  • streamWrapper::dir_readdir - Lit un fichier dans un dossier

streamWrapper::dir_readdir
streamWrapper::mkdir
streamWrapper


Crée un dossier

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper
PHP Manual

streamWrapper::mkdir

(PHP 5)

streamWrapper::mkdir — Crée un dossier

Description

public bool streamWrapper::mkdir ( string $path , int $mode , int $options )

Cette méthode est appelée en réponse à mkdir().

Note: Afin d'appeler le bon message d'erreur, cette méthode ne doit pas être définie, si le gestionnaire ne supporte pas la création des dossiers.

Liste de paramètres

path

Le dossier à créer.

mode

La valeur passée à mkdir().

options

Un champ de valeurs, telles que STREAM_MKDIR_RECURSIVE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Notes

Note: La propriété streamWrapper->context est mise à jour si un contexte valide est passé à la fonction.

Voir aussi

  • mkdir() - Crée un dossier
  • streamwrapper::rmdir - Supprime un dossier

streamWrapper::dir_rewinddir
streamWrapper::rename
streamWrapper


Renomme un fichier ou un dossier

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper
PHP Manual

streamWrapper::rename

(PHP 5)

streamWrapper::rename — Renomme un fichier ou un dossier

Description

public bool streamWrapper::rename ( string $path_from , string $path_to )

Cette méthode est appelée en réponse à rename().

Doit renommer le fichier path_from en path_to

Note: Afin d'appeler le bon message d'erreur, cette méthode ne doit pas être définie, si le gestionnaire ne supporte pas le renommage de fichiers.

Liste de paramètres

path_from

L'URL du fichier en cours.

path_to

La nouvelle URL path_from avec laquelle le fichier doit être renommé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Notes

Note: La propriété streamWrapper->context est mise à jour si un contexte valide est passé à la fonction.

Voir aussi

  • rename() - Renomme un fichier ou un dossier

streamWrapper::mkdir
streamWrapper::rmdir
streamWrapper


Supprime un dossier

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper
PHP Manual

streamWrapper::rmdir

(PHP 5)

streamWrapper::rmdir — Supprime un dossier

Description

public bool streamWrapper::rmdir ( string $path , int $options )

Cette méthode est appelée en réponse à rmdir().

Note: Afin d'appeler le bon message d'erreur, cette méthode ne doit pas être définie, si le gestionnaire ne supporte pas la suppression des dossiers.

Liste de paramètres

path

L'URL du dossier à effacer.

options

Un champ de bits telles que STREAM_MKDIR_RECURSIVE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Notes

Note: La propriété streamWrapper->context est mise à jour si un contexte valide est passé à la fonction.

Voir aussi

  • rmdir() - Efface un dossier
  • streamwrapper::mkdir - Crée un dossier
  • streamwrapper::unlink - Efface un fichier

streamWrapper::rename
streamWrapper::stream_cast
streamWrapper


Lit la ressource sous-jacente de flux

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper
PHP Manual

streamWrapper::stream_cast

(PHP 5 >= 5.3.0)

streamWrapper::stream_cast — Lit la ressource sous-jacente de flux

Description

public resource streamWrapper::stream_cast ( int $cast_as )

Cette méthode est appelée en réponse à stream_select().

Liste de paramètres

cast_as

Peut être une des valeurs parmi STREAM_CAST_FOR_SELECT si stream_select() est la fonction appelante, stream_cast() ou STREAM_CAST_AS_STREAM si stream_cast() est appelée pour les autres cas.

Valeurs de retour

Doit retourner le flux sous-jacent, utilisé par le gestionnaire, et sinon FALSE.

Voir aussi

  • stream_select() - Surveille la modification d'un ou plusieurs flux

streamWrapper::rmdir
streamWrapper::stream_close
streamWrapper


Ferme une ressource de flux

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper
PHP Manual

streamWrapper::stream_close

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_close — Ferme une ressource de flux

Description

public void streamWrapper::stream_close ( void )

Cette méthode est appelée en réponse à fclose().

Toutes les ressources qui étaient verrouillées, ou allouées par le gestionnaire doivent être libérées.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • fclose() - Ferme un fichier
  • streamWrapper::dir_closedir - Ferme une ressource de dossier

streamWrapper::stream_cast
streamWrapper::stream_eof
streamWrapper


Tests for end-of-file on a file pointer

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper
PHP Manual

streamWrapper::stream_eof

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_eof — Tests for end-of-file on a file pointer

Description

public bool streamWrapper::stream_eof ( void )

Cette méthode est appelée en réponse à feof().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Doit retourner TRUE si le curseur est à la fin du flux, et que plus aucune donnée n'est disponible, et FALSE sinon.

Voir aussi

  • feof() - Teste la fin du fichier

streamWrapper::stream_close
streamWrapper::stream_flush
streamWrapper


Expédie le contenu

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper
PHP Manual

streamWrapper::stream_flush

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_flush — Expédie le contenu

Description

public bool streamWrapper::stream_flush ( void )

Cette méthode est appelée en réponse à fflush().

Si vous avez mis des données en cache dans votre flux, mais que vous ne les avez pas stocké, vous devez le faire maintenant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Doit retourner TRUE si les données en cache ont pu être sauvées correctement ( ou s'il n'y avait pas de données dans le cache), ou FALSE si les données n'ont pu être stockées.

Notes

Note: Si non implémentée, FALSE sera utilisée comme valeur de retour.

Voir aussi

  • fflush() - Envoie tout le contenu généré dans un fichier

streamWrapper::stream_eof
streamWrapper::stream_lock
streamWrapper


Verrouillage logique de fichiers

streamWrapper::stream_flush
streamWrapper::stream_open
streamWrapper
PHP Manual

streamWrapper::stream_lock

(PHP 5)

streamWrapper::stream_lock — Verrouillage logique de fichiers

Description

public bool streamWrapper::stream_lock ( mode $operation )

Cette méthode est appelée en réponse à flock(), parfois avec file_put_contents() (si l'option flags contient LOCK_EX), stream_set_blocking() et quand on ferme le flux (LOCK_UN).

Liste de paramètres

operation

operation est une des suivantes :

  • LOCK_SH pour obtenir le verrou partagé (lecture)
  • LOCK_EX pour obtenir le verrou exclusif (écriture)
  • LOCK_UN pour lire le verrou (partagé ou exclusif)
  • LOCK_NB si vous voulez que flock() bloque pour le verrouillage (non supporté sur Windows).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet un E_WARNING si l'appel à cette méthode échoue (i.e., pas implémentée).

Voir aussi

  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • flock() - Verrouille le fichier

streamWrapper::stream_flush
streamWrapper::stream_open
streamWrapper


Opens file or URL

streamWrapper::stream_lock
streamWrapper::stream_read
streamWrapper
PHP Manual

streamWrapper::stream_open

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_open — Opens file or URL

Description

public bool streamWrapper::stream_open ( string $path , string $mode , int $options , string &$opened_path )

Cette méthode est appelée immédiatement après l'initialisation du gestionnaire (par exemple, par fopen() et file_get_contents()).

Liste de paramètres

path

L'URL qui est passée à la fonction originale.

Note: L'URL peut être découpée à l'aide de parse_url(). Noter que seules les URLs délimitées par :// sont supportées. : et :/, bien que techniquement valides, ne sont pas supportés.

mode

Le mode utilisée pour ouvrir le fichier, tel que documenté pour fopen().

Note: N'oubliez pas de vérifier si mode est valide pour le chemin path demandé.

options

Contient les options supplémentaires pour le flux. Il peut contenir une ou plusieurs constantes parmi les suivantes, combinées par des OR.

Option | Description
STREAM_USE_PATH | Si path est relatif recherche la ressource en incluant l'include_path.
STREAM_REPORT_ERRORS | Si cette option est active, vous êtes responsable pour émettre une erreur, avec trigger_error() durant l'ouverture du flux. Si cette option n'est pas activée, vous ne devez pas émettre d'erreur.

opened_path

Si le chemin path est ouvert correctement, et que la constante STREAM_USE_PATH est configurée via options, alors opened_path doit contenir le chemin complet qui a été réellement ouvert.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Notes

Note: La propriété streamWrapper->context est mise à jour si un contexte valide est passé à la fonction.

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • parse_url() - Analyse une URL et retourne ses composants

streamWrapper::stream_lock
streamWrapper::stream_read
streamWrapper


Lit dans le flux

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper
PHP Manual

streamWrapper::stream_read

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_read — Lit dans le flux

Description

public string streamWrapper::stream_read ( int $count )

Cette méthode est appelée en réponse à fread() et fgets().

Note: N'oubliez pas de modifier la position de lecture et écriture du nombre d'octets qui ont pu être lus.

Liste de paramètres

count

Le nombre d'octets qui ont pu être lus, à partir de la position courante.

Valeurs de retour

S'il y a moins que count octets disponibles, il faut en retourner autant que possible. S'il n'y a plus de données disponibles, il faut retourner FALSE ou une chaîne vide.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Note: Si la valeur de retour est plus grande que count, une erreur E_WARNING sera émise, et les données excédentaires seront perdues.

Notes

Note: streamWrapper::stream_eof est appelé directement après streamWrapper::stream_read pour vérifier si EOF a été atteint. Si la fonction n'est pas implémenté, EOF est utilisé.

Voir aussi

  • fread() - Lecture du fichier en mode binaire
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier

streamWrapper::stream_open
streamWrapper::stream_seek
streamWrapper


Place le pointeur de flux à une position

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper
PHP Manual

streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_seek — Place le pointeur de flux à une position

Description

public bool streamWrapper::stream_seek ( int $offset , int $whence = SEEK_SET )

Cette méthode est appelée en réponse à fseek().

La position de lecture/écriture doit être modifiée pour refléter la nouvelle position offset et whence.

Liste de paramètres

offset

La position à rechercher dans le flux.

whence

Les valeurs possibles sont :

  • SEEK_SET : la nouvelle position vaut offset octets.
  • SEEK_CUR : la nouvelle position vaut la position courante plus offset.
  • SEEK_END : la nouvelle position vaut la fin de fichier plus offset.

Valeurs de retour

Retourne TRUE si la position a été mise à jour, FALSE sinon.

Notes

Note: Si elle n'est pas implémentée, FALSE sera utilisée comme valeur de retour.

Note: En cas de succès, streamWrapper::stream_tell est appelée directement après streamWrapper::stream_seek. Si streamWrapper::stream_tell échoue, la valeur retournée à la fonction appelante FALSE.

Voir aussi

  • fseek() - Modifie la position du pointeur de fichier

streamWrapper::stream_read
streamWrapper::stream_set_option
streamWrapper


Change les options du flux

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper
PHP Manual

streamWrapper::stream_set_option

(PHP 5 >= 5.3.0)

streamWrapper::stream_set_option — Change les options du flux

Description

public bool streamWrapper::stream_set_option ( int $option , int $arg1 , int $arg2 )

Cette méthode est appelée pour modifier les options du flux.

Liste de paramètres

option

Une des constantes parmi :

  • STREAM_OPTION_BLOCKING (Cette méthode est appelée en réponse à stream_set_blocking())
  • STREAM_OPTION_READ_TIMEOUT (Cette méthode est appelée en réponse à stream_set_timeout())
  • STREAM_OPTION_WRITE_BUFFER (Cette méthode est appelée en réponse à stream_set_write_buffer())

arg1

Si option vaut

  • STREAM_OPTION_BLOCKING : mode bloquant demandé (1 signifie bloquant, 0 non-bloquant).
  • STREAM_OPTION_READ_TIMEOUT : le délai d'expiration en secondes.
  • STREAM_OPTION_WRITE_BUFFER : le mode de buffer (STREAM_BUFFER_NONE ou STREAM_BUFFER_FULL).

arg2

Si option vaut

  • STREAM_OPTION_BLOCKING : cette option n'est pas active.
  • STREAM_OPTION_READ_TIMEOUT : le délai d'expiration en microsecondes.
  • STREAM_OPTION_WRITE_BUFFER : la taille du buffer demandé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si option n'est pas implémentée, FALSE doit être retourné.

Voir aussi

  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • stream_set_write_buffer() - Configure le buffer d'écriture d'un flux

streamWrapper::stream_seek
streamWrapper::stream_stat
streamWrapper


Lit les informations sur une ressource de fichier

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper
PHP Manual

streamWrapper::stream_stat

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_stat — Lit les informations sur une ressource de fichier

Description

public array streamWrapper::stream_stat ( void )

Cette méthode est appelée en réponse à fstat().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir stat().

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Voir aussi

  • stat() - Renvoie les informations à propos d'un fichier
  • streamwrapper::url_stat - Lit les informations sur un fichier

streamWrapper::stream_set_option
streamWrapper::stream_tell
streamWrapper


Lit la position courante dans un flux

streamWrapper::stream_stat
streamWrapper::stream_write
streamWrapper
PHP Manual

streamWrapper::stream_tell

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_tell — Lit la position courante dans un flux

Description

public int streamWrapper::stream_tell ( void )

Cette méthode est appelée en réponse à ftell().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Doit retourner la position courante dans le flux.

Voir aussi

  • ftell() - Renvoie la position courant du pointeur de fichier

streamWrapper::stream_stat
streamWrapper::stream_write
streamWrapper


Écrit dans un flux

streamWrapper::stream_tell
streamWrapper::unlink
streamWrapper
PHP Manual

streamWrapper::stream_write

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::stream_write — Écrit dans un flux

Description

public int streamWrapper::stream_write ( string $data )

Cette méthode est appelée en réponse à fwrite().

Note: N'oubliez pas de mettre à jour la position courante dans le flux, du nombre d'octets qui ont pu être lu.

Liste de paramètres

data

Les données qui doivent être stockées dans le flux sous-jacent.

Note: S'il n'y a pas de place dans le stockage, il faut en stocker autant que possible.

Valeurs de retour

Doit retourner le nombre d'octets qui ont pu être stockés correctement, et 0 si aucun n'a pu être stocké.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Note: Si la valeur de retour est plus grand que la taille de data, une alerte E_WARNING sera émise, et la valeur retournée sera tronquée à sa longueur.

Voir aussi

  • fwrite() - Écrit un fichier en mode binaire

streamWrapper::stream_tell
streamWrapper::unlink
streamWrapper


Efface un fichier

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper
PHP Manual

streamWrapper::unlink

(PHP 5)

streamWrapper::unlink — Efface un fichier

Description

public bool streamWrapper::unlink ( string $path )

Cette méthode est appelé en réponse à unlink().

Note: Afin que le message d'erreur approprié soit retourné, cette méthode doit NE PAS être définie, si le flux ne supporte pas l'effacement de fichiers.

Liste de paramètres

path

L'URL du fichier qui doit être effacé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Notes

Note: La propriété streamWrapper->context est mise à jour si un contexte valide est passé à la fonction.

Voir aussi

  • unlink() - Efface un fichier
  • streamWrapper::rmdir - Supprime un dossier

streamWrapper::stream_write
streamWrapper::url_stat
streamWrapper


Lit les informations sur un fichier

streamWrapper::unlink
Fonctions sur les flux
streamWrapper
PHP Manual

streamWrapper::url_stat

(PHP 4 >= 4.3.2, PHP 5)

streamWrapper::url_stat — Lit les informations sur un fichier

Description

public array streamWrapper::url_stat ( string $path , int $flags )

Cette méthode est appelée en réponse à toutes les fonctions liées à stat(), telles que :

  • chmod() (uniquement quand safe_mode est activé)
  • copy()
  • fileperms()
  • fileinode()
  • filesize()
  • fileowner()
  • filegroup()
  • fileatime()
  • filemtime()
  • filectime()
  • filetype()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • file_exists()
  • lstat()
  • stat()
  • SplFileInfo::getPerms
  • SplFileInfo::getInode
  • SplFileInfo::getSize
  • SplFileInfo::getOwner
  • SplFileInfo::getGroup
  • SplFileInfo::getATime
  • SplFileInfo::getMTime
  • SplFileInfo::getCTime
  • SplFileInfo::getType
  • SplFileInfo::isWritable
  • SplFileInfo::isReadable
  • SplFileInfo::isExecutable
  • SplFileInfo::isFile
  • SplFileInfo::isDir
  • SplFileInfo::isLink
  • RecursiveDirectoryIterator::hasChildren

Liste de paramètres

path

Le chemin du fichier ou l'URL à analyser. Noter que dans le cas des URLs, elles doivent être délimitées par ://. Tout autre format n'est pas supporté.

flags

Les options supplémentaires activées par l'API des flux. Elle peut contenir une ou plusieurs constantes des constantes suivantes, combinées par OR :

Option | Description
STREAM_URL_STAT_LINK | Pour les ressources qui ont la capacité de se lier à d'autres ressources (comme une redirection HTTP ou bien un lien symbolique). Cette option indique que les informations lues doivent concerner le lien lui-même, et non pas la ressource pointée par le lien. Cette option est activée en réponse à un appel à lstat(), is_link() ou filetype().
STREAM_URL_STAT_QUIET | Si cette option est activée, votre gestionnaire ne doit pas émettre d'erreurs. Si cette option n'est pas activée, vous êtes responsables du rapport d'erreur, en appelant la fonction trigger_error() durant l'analyse du chemin.

Valeurs de retour

Doit retourne autant d'éléments que stat() retourne. Les valeurs inconnues ou indisponibles doivent prendre une valeur raisonnable (généralement, 0).

Erreurs / Exceptions

Émet une alerte E_WARNING si l'appel à cette méthode échoue (i.e. pas implémenté).

Notes

Note: La propriété streamWrapper->context est mise à jour si un contexte valide est passé à la fonction.

Voir aussi

  • stat() - Renvoie les informations à propos d'un fichier
  • streamwrapper::stream_stat - Lit les informations sur une ressource de fichier

streamWrapper::unlink
Fonctions sur les flux
streamWrapper


Fonctions sur les flux

Sommaire

  • set_socket_blocking — Alias de stream_set_blocking
  • stream_bucket_append — Ajoute un compartiment au corps
  • stream_bucket_make_writeable — Retourne un objet de compartiment depuis le corps pour des opérations sur celui-ci
  • stream_bucket_new — Crée un nouveau compartiment pour l'utiliser sur le flux courant
  • stream_bucket_prepend — Ajout initial d'un compartiment au corps
  • stream_context_create — Crée un contexte de flux
  • stream_context_get_default — Lit le contexte par défaut des flux
  • stream_context_get_options — Lit la valeur des options pour un flux/gestionnaire/contexte
  • stream_context_get_params — Lit les paramètres d'un contexte
  • stream_context_set_default — Configure le contexte par défaut des flux
  • stream_context_set_option — Configure une option pour un flux/gestionnaire/contexte
  • stream_context_set_params — Configure les paramètres pour un flux/gestionnaire/contexte
  • stream_copy_to_stream — Copie des données depuis un flux vers un autre
  • stream_encoding — Définit le jeu de caractères pour l'encodage du flux
  • stream_filter_append — Attache un filtre à un flux en fin de liste
  • stream_filter_prepend — Attache un filtre à un flux en début de liste
  • stream_filter_register — Enregistre un filtre de flux
  • stream_filter_remove — Retire un filtre d'un flux
  • stream_get_contents — Lit tout un flux dans une chaîne
  • stream_get_filters — Liste les filtres enregistrés
  • stream_get_line — Lit une ligne dans un flux
  • stream_get_meta_data — Lit les en-têtes et données méta des flux
  • stream_get_transports — Liste les gestionnaires de transports de sockets disponibles
  • stream_get_wrappers — Liste les gestionnaires de flux
  • stream_is_local — Vérifie si un flux est local
  • stream_notification_callback — Une fonction de rappel pour le paramètre de contexte notification
  • stream_register_wrapper — Alias de stream_wrapper_register
  • stream_resolve_include_path — Résout un nom de fichier suivant les règles du chemin d'inclusion
  • stream_select — Surveille la modification d'un ou plusieurs flux
  • stream_set_blocking — Configure le mode bloquant d'un flux
  • stream_set_read_buffer — Configure le buffer de lecture d'un flux
  • stream_set_timeout — Configure la durée d'expiration d'un flux
  • stream_set_write_buffer — Configure le buffer d'écriture d'un flux
  • stream_socket_accept — Accepte une connexion sur une socket créée par stream_socket_server
  • stream_socket_client — Ouvre une connexion socket Internet ou Unix
  • stream_socket_enable_crypto — Active ou non le chiffrement, pour une socket déjà connectée
  • stream_socket_get_name — Lit le nom des sockets locale ou distante
  • stream_socket_pair — Crée une paire de sockets connectées et indissociables
  • stream_socket_recvfrom — Lit des données depuis une socket, connectée ou pas
  • stream_socket_sendto — Envoie une message à la socket, connectée ou pas
  • stream_socket_server — Crée une socket serveur Unix ou Internet
  • stream_socket_shutdown — Arrête une connexion full-duplex
  • stream_supports_lock — Indique si le flux supporte les verrous
  • stream_wrapper_register — Enregistre un gestionnaire d'URL
  • stream_wrapper_restore — Restaure un gestionnaire d'URL supprimé
  • stream_wrapper_unregister — Supprime un gestionnaire d'URL
streamWrapper::url_stat
set_socket_blocking
Flux


Alias de stream_set_blocking

Fonctions sur les flux
stream_bucket_append
Fonctions sur les flux
PHP Manual

set_socket_blocking

(PHP 4, PHP 5)

set_socket_blocking — Alias de stream_set_blocking()

Description

Cette fonction est un alias de : stream_set_blocking()

Avertissement

Cet alias est devenu obsolète depuis PHP 5.3.0. Son utilisation est fortement déconseillée.

Fonctions sur les flux
stream_bucket_append
Fonctions sur les flux


Ajoute un compartiment au corps

set_socket_blocking
stream_bucket_make_writeable
Fonctions sur les flux
PHP Manual

stream_bucket_append

(PHP 5)

stream_bucket_append — Ajoute un compartiment au corps

Description

void stream_bucket_append ( resource $brigade , resource $bucket )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

set_socket_blocking
stream_bucket_make_writeable
Fonctions sur les flux


Retourne un objet de compartiment depuis le corps pour des opérations sur celui-ci

stream_bucket_append
stream_bucket_new
Fonctions sur les flux
PHP Manual

stream_bucket_make_writeable

(PHP 5)

stream_bucket_make_writeable — Retourne un objet de compartiment depuis le corps pour des opérations sur celui-ci

Description

object stream_bucket_make_writeable ( resource $brigade )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

stream_bucket_append
stream_bucket_new
Fonctions sur les flux


Crée un nouveau compartiment pour l'utiliser sur le flux courant

stream_bucket_make_writeable
stream_bucket_prepend
Fonctions sur les flux
PHP Manual

stream_bucket_new

(PHP 5)

stream_bucket_new — Crée un nouveau compartiment pour l'utiliser sur le flux courant

Description

object stream_bucket_new ( resource $stream , string $buffer )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

stream_bucket_make_writeable
stream_bucket_prepend
Fonctions sur les flux


Ajout initial d'un compartiment au corps

stream_bucket_new
stream_context_create
Fonctions sur les flux
PHP Manual

stream_bucket_prepend

(PHP 5)

stream_bucket_prepend — Ajout initial d'un compartiment au corps

Description

void stream_bucket_prepend ( resource $brigade , resource $bucket )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

stream_bucket_new
stream_context_create
Fonctions sur les flux


Crée un contexte de flux

stream_bucket_prepend
stream_context_get_default
Fonctions sur les flux
PHP Manual

stream_context_create

(PHP 4 >= 4.3.0, PHP 5)

stream_context_create — Crée un contexte de flux

Description

resource stream_context_create ([ array $options [, array $params ]] )

Crée et retourne un contexte de flux, avec les paramètres fournis par options.

Liste de paramètres

options

Doit être un tableau associatif, au format $arr['wrapper']['option'] = $value. Voyez la section sur les contextes pour connaître la liste des paramètres standard de flux.

Par défaut, c'est un tableau vide.

params

Doit être un tableau associatif de format $arr['parameter'] = $value. Référez-vous à la documentation de la fonction stream_context_set_params() pour une liste des paramètres de flux standards.

Valeurs de retour

Une ressource représentant le contexte du flux.

Historique

Version | Description
5.3.0 | Ajout de l'argument optionnel params.

Exemples

Exemple #1 Exemple avec stream_context_create()

<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

/* Envoi une requête HTTP vers www.example.com
   avec les en-têtes additionnels ci-dessus */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

Voir aussi

  • stream_context_set_option() - Configure une option pour un flux/gestionnaire/contexte
  • La liste des gestionnaires (Liste des protocoles supportés)
  • Les options de contexte (Options et paramètres de contexte)
stream_bucket_prepend
stream_context_get_default
Fonctions sur les flux


Lit le contexte par défaut des flux

stream_context_create
stream_context_get_options
Fonctions sur les flux
PHP Manual

stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_default — Lit le contexte par défaut des flux

Description

resource stream_context_get_default ([ array $options ] )

stream_context_get_default() retourne le contexte par défaut qui est utilisé avec les fonctions de fichiers comme fopen(), file_get_contents(), etc, lorsqu'elles sont utilisées sans paramètre de contexte. Les options du contexte par défaut peuvent être spécifiées optionnellement avec la même syntaxe que pour stream_context_create().

Liste de paramètres

options
options doit être un tableau associatif de tableaux associatifs, au format $arr['wrapper']['option'] = $value.

Note: Depuis PHP 5.3.0, la fonction stream_context_set_default() peut être utilisée pour configurer le contexte par défaut.

Valeurs de retour

Une resource de contexte de flux.

Exemples

Exemple #1 Exemple avec stream_context_get_default()

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$alternate_opts = array(
  'http'=>array(
    'method'=>"POST",
    'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'content'=>"baz=bomb"
  )
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* Envoie une requête GET classique à un serveur proxy 10.54.1.39
 * vers www.example.com, en utilisant les options de contexte spécifiées
 * dans $default_opts
 */
readfile('http://www.example.com');

/* Envoie une requête POST directement à www.example.com
 * Utilise les options de contexte de $alternate_opts
 */
readfile('http://www.example.com', false, $alternate);

?>

Voir aussi

  • stream_context_create() - Crée un contexte de flux
  • Liste des gestionnaires supportés avec les options de contexte (Liste des protocoles supportés).

stream_context_create
stream_context_get_options
Fonctions sur les flux


Lit la valeur des options pour un flux/gestionnaire/contexte

stream_context_get_default
stream_context_get_params
Fonctions sur les flux
PHP Manual

stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5)

stream_context_get_options — Lit la valeur des options pour un flux/gestionnaire/contexte

Description

array stream_context_get_options ( resource $stream_or_context )

stream_context_get_options() retourne un tableau contenant la liste des options pour le flux ou le contexte stream_or_context.

Liste de paramètres

stream_or_context

Le stream ou context dont il faut lire les options.

Valeurs de retour

Retourne un tableau associatif contenant les options.

Exemples

Exemple #1 Exemple avec stream_context_get_options()

<?php
$params = array("method" => "POST");

stream_context_get_default(array("http" => $params));

var_dump(stream_context_get_options(stream_context_get_default()));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  ["http"]=>
  array(1) {
    ["method"]=>
    string(4) "POST"
  }
}

stream_context_get_default
stream_context_get_params
Fonctions sur les flux


Lit les paramètres d'un contexte

stream_context_get_options
stream_context_set_default
Fonctions sur les flux
PHP Manual

stream_context_get_params

(PHP 5 >= 5.3.0)

stream_context_get_params — Lit les paramètres d'un contexte

Description

array stream_context_get_params ( resource $stream_or_context )

stream_context_get_params() lit les paramètres du contexte ou du flux stream_or_context.

Liste de paramètres

stream_or_context

Une ressource de flux ou de contexte.

Valeurs de retour

Retourne un tableau associatif contenant les options de contexte et leur valeur.

Exemples

Exemple #1 Exemple avec stream_context_get_params()

Exemple simple.

<?php
$ctx = stream_context_create();
$params = array("notification" => "stream_notification_callback");
stream_context_set_params($ctx, $params);

var_dump(stream_context_get_params($ctx));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["notification"]=>
  string(28) "stream_notification_callback"
  ["options"]=>
  array(0) {
  }
}

Voir aussi

  • stream_context_set_option() - Configure une option pour un flux/gestionnaire/contexte
  • stream_context_get_params()
  • stream_context_set_params() - Configure les paramètres pour un flux/gestionnaire/contexte

stream_context_get_options
stream_context_set_default
Fonctions sur les flux


Configure le contexte par défaut des flux

stream_context_get_params
stream_context_set_option
Fonctions sur les flux
PHP Manual

stream_context_set_default

(PHP 5 >= 5.3.0)

stream_context_set_default — Configure le contexte par défaut des flux

Description

resource stream_context_set_default ( array $options )

Configure le contexte par défaut des flux qui sera utilisé à chaque fois qu'un fichier sera manipulé (fopen(), file_get_contents(), etc...) sans paramètre de contexte. Il utilise la même syntaxe que stream_context_create().

Liste de paramètres

options

Les options à configurer pour le contexte par défaut.

Note: options doit être un tableau associatif de tableaux associatifs, au format $arr['gestionnaire']['option'] = $valeur.

Valeurs de retour

Retourne le contexte de flux par défaut.

Exemples

Exemple #1 Exemple avec stream_context_set_default()

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$default = stream_context_set_default($default_opts);

/* Envoie une requête GET au serveur de proxy 10.54.1.39
 * pour www.example.com, en utilisant les options de contexte spécifié dans $default_opts
 */
readfile('http://www.example.com');
?>

Voir aussi

  • stream_context_create() - Crée un contexte de flux
  • stream_context_get_default() - Lit le contexte par défaut des flux
  • Liste des gestionnaires de flux avec leurs options de contexte (Liste des protocoles supportés).

stream_context_get_params
stream_context_set_option
Fonctions sur les flux


Configure une option pour un flux/gestionnaire/contexte

stream_context_set_default
stream_context_set_params
Fonctions sur les flux
PHP Manual

stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_option — Configure une option pour un flux/gestionnaire/contexte

Description

bool stream_context_set_option ( resource $stream_or_context , string $wrapper , string $option , mixed $value )
bool stream_context_set_option ( resource $stream_or_context , array $options )

stream_context_set_option() définit une option pour le contexte spécifié. La valeur value est définit pour l'option pour le contexte wrapper.

Liste de paramètres

stream_or_context

Le flux ou la ressource de contexte sur lequel on applique l'option.

options

L'option à définir au contexte par défaut.

Note: Le paramètre options doit être un tableau associatif de tableaux associatifs, au format $arr['wrapper']['option'] = $value.
Voyez la section sur les contextes pour connaître la liste des paramètres standard de flux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

stream_context_set_default
stream_context_set_params
Fonctions sur les flux


Configure les paramètres pour un flux/gestionnaire/contexte

stream_context_set_option
stream_copy_to_stream
Fonctions sur les flux
PHP Manual

stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_params — Configure les paramètres pour un flux/gestionnaire/contexte

Description

bool stream_context_set_params ( resource $stream_or_context , array $params )

stream_context_set_params() définit les paramètres pour le contexte spécifié.

Liste de paramètres

stream_or_context

Le flux ou le contexte sur lequel on applique les paramètres.

params

Un tableau de paramètres à définir.

Note: Le paramètre params doit être un tableau associatif, au format : $params['paramname'] = "paramvalue";.

Paramètres supportés

Paramètres | Usage
notification | Nom de la fonction utilisateur appelée dès qu'un flux génère une notification.
options | Un tableau d'option, comme pour les options et parametres de contexte.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

stream_context_set_option
stream_copy_to_stream
Fonctions sur les flux


Copie des données depuis un flux vers un autre

stream_context_set_params
stream_encoding
Fonctions sur les flux
PHP Manual

stream_copy_to_stream

(PHP 5)

stream_copy_to_stream — Copie des données depuis un flux vers un autre

Description

int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength = -1 [, int $offset = 0 ]] )

Fait une copie jusqu'à maxlength octets de données depuis la position courante du pointeur (ou depuis la position offset, si spécifié) dans le flux source vers le paramètre dest. Si maxlength n'est pas spécifié, tout le reste du flux source sera copié.

Liste de paramètres

source

Le flux de source

dest

Le flux de destination

maxlength

Nombre maximal d'octets à copier

offset

L'offset où démarrer la copie de données

Valeurs de retour

Retourne le nombre total d'octets copiés.

Historique

Version | Description
5.1.0 | Ajout du paramètre offset

Exemples

Exemple #1 Exemple avec stream_copy_to_stream()

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) . " octets copiés vers first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " octets copiés vers remainder.txt\n";

?>

Voir aussi

  • copy() - Copie un fichier

stream_context_set_params
stream_encoding
Fonctions sur les flux


Définit le jeu de caractères pour l'encodage du flux

stream_copy_to_stream
stream_filter_append
Fonctions sur les flux
PHP Manual

stream_encoding

(No version information available, might only be in SVN)

stream_encoding — Définit le jeu de caractères pour l'encodage du flux

Description

bool stream_encoding ( resource $stream [, string $encoding ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

stream_copy_to_stream
stream_filter_append
Fonctions sur les flux


Attache un filtre à un flux en fin de liste

stream_encoding
stream_filter_prepend
Fonctions sur les flux
PHP Manual

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append — Attache un filtre à un flux en fin de liste

Description

resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

stream_filter_append() ajoute le filtre filtername à la liste de filtres attachés au flux stream.

Liste de paramètres

stream

Le flux cible.

filtername

Le nom du filtre.

read_write

Par défaut, stream_filter_append() va ajouter le filtre à la liste de filtres de lecture si le fichier a été ouvert en mode lecture (r et/ou +). Le filtre sera aussi attaché à la liste des filtres de lecture si le fichier a été ouvert en mode lecture (w, a et/ou +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, et/ou STREAM_FILTER_ALL peuvent aussi être utilisées dans le paramètre read_write pour contrôler ce comportement.

params

Ce filtre sera ajout avec les paramètres params à la fin de la liste des filtres, et sera ainsi appelé à la fin des opérations de filtres. Pour ajouter un filtre au début de la liste, utilisez la fonction stream_filter_prepend().

Valeurs de retour

Retourne une ressource qui peut être utilisez pour identifier ce filtre lors de l'effacement du filtre avec stream_filter_remove().

Historique

Version | Description
5.1.0 | Avant PHP 5.1.0, cette fonction retournait TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Contrôler l'application des filtres

<?php
// Ouverture d'un fichier de test en lecture/écriture
$fp = fopen('test.txt', 'w+');

/* On applique le filtre ROT13 au flux d'écriture, mais pas à
 * celui de lecture */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* On ajoute un simple chaîne dans le fichier, il sera
 * transformé par ROT13 à l'écriture */
fwrite($fp, "Ceci est un test\n");

/* On revient au début du fichier */
rewind($fp);

/* On lit le contenu du fichier.
 * Si on appliquait le filtre ROT13 nous aurions la
 * chaîne dans son étât d'origine */
fpassthru($fp);

fclose($fp);

/* Résultat attendu
   ----------------

Guvf vf n grfg

*/
?>

Notes

Note: Quand vous utilisez des filtres personnalisés
stream_register_filter() doit être appelée avant stream_filter_append() pour enregistrer le filtre sous le nom de filtername.

Note: Les données du flux (locales et distantes) sont retournées en morceaux, les données non acheminées étant conservées dans le tampon interne. Lorsqu'un nouveau filtre est ajouté à la fin du flux, les données dans le tampon interne sont passées dans le nouveau filtre à ce moment-là. Ceci est différent du comportement de stream_filter_prepend().

Note: Quand un filtre est ajouté pour la lecture et l'écriture, deux instances du filtres sont créées. stream_filter_prepend() doit être appelée deux fois avec STREAM_FILTER_READ et STREAM_FILTER_WRITE pour obtenir les ressources de filtres.

Voir aussi

  • stream_filter_register() - Enregistre un filtre de flux
  • stream_filter_prepend() - Attache un filtre à un flux en début de liste
  • stream_get_filters() - Liste les filtres enregistrés
stream_encoding
stream_filter_prepend
Fonctions sur les flux


Attache un filtre à un flux en début de liste

stream_filter_append
stream_filter_register
Fonctions sur les flux
PHP Manual

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prepend — Attache un filtre à un flux en début de liste

Description

resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

stream_filter_prepend() ajoute le filtre filtername à la liste de filtres attachés au flux stream.

Liste de paramètres

stream

Le flux cible.

filtername

Le nom du filtre.

read_write

Par défaut, stream_filter_prepend() va attacher le filtre à la chaîne de filtre de lectures si le fichier a été ouvert en lecture (i.e. mode r, et/ou +). Le filtre va aussi être attaché à la chaîne de filtres d'écriture si le fichier a été ouvert en écriture (i.e. mode w, a, et/ou +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, et/ou STREAM_FILTER_ALL peuvent aussi être passé dans le paramètre read_write pour imposer le comportement désiré. Voyez stream_filter_append() pour un exemple d'utilisation de ce paramètre.

params

Le filtre sera ajouté avec les paramètres spécifiés dans params, au début de la liste, et sera ainsi appelé en premier dans les opérations du flux. Pour ajouter un filtre à la fin de la liste, utilisez stream_filter_append().

Valeurs de retour

Retourne une ressource qui peut être utilisée pour faire référence à ce filtre, durant les opérations de stream_filter_remove().

Historique

Version | Description
5.1.0 | Avant PHP 5.1.0, cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Quand vous utilisez des filtres personnalisés
stream_register_filter() doit être appelée avant stream_filter_prepend() pour enregistrer le filtre sous le nom de filtername.

Note: Les données du flux (locales et distantes) sont retournées en morceaux, les données non acheminées étant conservées dans le tampon interne. Lorsqu'un nouveau filtre est ajouté au début du flux, les données dans le tampon interne ne sont pas passées dans le nouveau filtre à ce moment là. Ceci est différent du comportement de stream_filter_append().

Note: Quand un filtre est ajouté pour la lecture et l'écriture, deux instances du filtres sont créées. stream_filter_prepend() doit être appelée deux fois avec STREAM_FILTER_READ et STREAM_FILTER_WRITE pour obtenir les ressources de filtres.

Voir aussi

  • stream_filter_register() - Enregistre un filtre de flux
  • stream_filter_append() - Attache un filtre à un flux en fin de liste
stream_filter_append
stream_filter_register
Fonctions sur les flux


Enregistre un filtre de flux

stream_filter_prepend
stream_filter_remove
Fonctions sur les flux
PHP Manual

stream_filter_register

(PHP 5)

stream_filter_register — Enregistre un filtre de flux

Description

bool stream_filter_register ( string $filtername , string $classname )

stream_filter_register() vous permet d'implémenter votre propre filtre de flux, à utiliser avec les fonctions d'accès aux données externes (comme fopen(), fread(), etc.).

Liste de paramètres

filtername

Le nom du filtre à enregistrer.

classname

Pour créer une classe de filtre, vous devez définir une classe qui étend la classe php_user_fitler avec les membres et méthodes définies ci-dessous. Lorsque vous réalisez des opérations de lecture et d'écriture dans le flux auquel votre filtre est attaché, PHP passera les données à travers votre filtre (et tous les autres filtres attachés), de façon à ce que les données soient modifiées telles que désiré. Vous devez implémenter les méthodes telles que décrit ci-dessous, sous peine de comportements indéfinis.

int filter ( resource $in , resource $out , int &$consumed , bool $closing )

Cette méthode est appelée à chaque fois que des données sont lues ou écrites dans le flux attaché (avec des fonctions comme fread() ou fwrite()). Le paramètre in est une ressource qui pointe sur une bucket brigade qui contient un ou plusieurs objet bucket contenant les données à filtrer. out est une autre ressource qui pointe sur une bucket brigade dans laquelle les données seront placées. consumed, qui doit toujours être déclaré par référence, doit être incrémenté de la taille de données que votre filtre lit et modifie. Dans la plupart des cas, cela signifie que vous devrez incrémenter consumed avec $bucket->datalen pour chaque $bucket. Si le flux est en cours de fermeture (et, par conséquent, cela sera le dernier passage dans la chaîne de filtres), le paramètre closing vaudra TRUE La méthode filter doit retourner l'une des trois valeurs suivantes :

Valeur retournée | Signification
PSFS_PASS_ON | Filtre traité avec succès ; les données sont disponibles dans le paramètre out de la bucket brigade.
PSFS_FEED_ME | Filtre traité avec succès ; aucune donnée disponible. Plus de données sont nécessaires depuis le flux ou avant le filtre.
PSFS_ERR_FATAL (default) | Le filtre a rencontré une erreur fatale, et ne peut plus continuer.

bool onCreate ( void )
Cette méthode est appelée durant l'instanciation du filtre. Si votre filtre alloue ou initialise d'autres ressources (comme des buffers), c'est le moment de le faire. Votre implémentation de cette méthode doit retourner FALSE en cas d'erreur et TRUE en cas de succès. Lorsque votre filtre est instancié pour la première fois et que votrefiltre->onCreate() est appelé, un nombre de propriétés est disponible comme montré dans la table ci-dessous.

Propriétés | Contenu
FilterClass->filtername | Une chaîne contenant le nom du filtre est instanciée. Les filtres peuvent être enregistrés sous de noms multiples ainsi qu'avec des jokers. Utilisez cette propriété pour déterminer qu'elle est le nom utilisé.
FilterClass->params | Le contenu du paramètre passé params à la fonction stream_filter_append() ou la fonction stream_filter_prepend().
FilterClass->stream | La ressource de flux qui est filtrée. Peut être disponible uniquement durant l'appel de la méthode filter, lorsque le paramètre closing vaut FALSE.

void onClose ( void )

Cette méthode est appelée durant l'extinction du filtre (généralement, lorsque le flux est fermé), et est exécutée après l'appel de la fonction flush. Si aucune ressource n'a été allouée ou créée durant onCreate(), c'est le moment de les libérer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

stream_filter_register() doit toujours retourner FALSE si le paramètre filtername est déjà défini.

Exemples

Exemple #1 Filtre sur les lettres majuscules sur le flux foo-bar.txt

L'exemple ci-dessous implémente un filtre appelé strtoupper, sur le flux foo-bar.txt, qui passe en majuscule toutes les lettres écrites/lues depuis ce flux.

<?php

/* Définition de la classe */
class strtoupper_filter extends php_user_filter {
  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $bucket->data = strtoupper($bucket->data);
      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }
}

/* Enregistrement de notre filtre avec PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Erreur lors de l'enregistrement du filtre");

$fp = fopen("foo-bar.txt", "w");

/* Attachement du filtre enregistré au flux que l'on vient d'ouvrir */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Ligne1\n");
fwrite($fp, "Mot - 2\n");
fwrite($fp, "Facile comme 123\n");

fclose($fp);

/* Lecture du contenu
 */
readfile("foo-bar.txt");

?>

L'exemple ci-dessus va afficher :

LIGNE1
MOT - 2
FACILE COMME 123

Exemple #2 Enregistrement d'une classe de filtre générique pour correspondre avec de multiples noms de filtres

<?php

/* Définition de la classe*/
class string_filter extends php_user_filter {
  var $mode;

  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      if ($this->mode == 1) {
        $bucket->data = strtoupper($bucket->data);
      } elseif ($this->mode == 0) {
        $bucket->data = strtolower($bucket->data);
      }

      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->mode = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->mode = 0;
    } else {
      /* Quelques autres filtres str.* sont demandés,
          traitement de l'erreur avec PHP */
      return false;
    }

    return true;
  }
}

/* Enregistrement de notre filtre avec PHP */
stream_filter_register("str.*", "string_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attachement du filtre enregistré au flux que l'on vient d'ouvrir
    Nous pouvons alternativement passer à str.tolower ici */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Ligne1\n");
fwrite($fp, "Mot - 2\n");
fwrite($fp, "Facile comme 123\n");

fclose($fp);

/* Lecture du contenu
 */
readfile("foo-bar.txt");

?>

L'exemple ci-dessus va afficher :

LINE1
MOT - 2
FACILE COMME 123

Voir aussi

  • stream_wrapper_register() - Enregistre un gestionnaire d'URL
  • stream_filter_append() - Attache un filtre à un flux en fin de liste
  • stream_filter_prepend() - Attache un filtre à un flux en début de liste

stream_filter_prepend
stream_filter_remove
Fonctions sur les flux


Retire un filtre d'un flux

stream_filter_register
stream_get_contents
Fonctions sur les flux
PHP Manual

stream_filter_remove

(PHP 5 >= 5.1.0)

stream_filter_remove — Retire un filtre d'un flux

Description

bool stream_filter_remove ( resource $stream_filter )

stream_filter_remove() retire un filtre d'un flux,
précédemment ajouté avec stream_filter_prepend() ou
stream_filter_append(). Toutes les données qui restent
dans les buffer internes seront traitées par le filtre,
avant que ce dernier ne soit supprimé.

Liste de paramètres

stream_filter

Le filtre de flux à supprimer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Refiltrage dynamique d'un flux

<?php
/* Ouverture d'un fichier de tests pour l'écriture et la lecture */
$fp = fopen("test.txt", "rw");

$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "Ceci est ");
stream_filter_remove($rot13_filter);
fwrite($fp, "un test\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

?>

L'exemple ci-dessus va afficher :

Prpv rfg un test

Voir aussi

  • stream_filter_register() - Enregistre un filtre de flux
  • stream_filter_append() - Attache un filtre à un flux en fin de liste
  • stream_filter_prepend() - Attache un filtre à un flux en début de liste

stream_filter_register
stream_get_contents
Fonctions sur les flux


Lit tout un flux dans une chaîne

stream_filter_remove
stream_get_filters
Fonctions sur les flux
PHP Manual

stream_get_contents

(PHP 5)

stream_get_contents — Lit tout un flux dans une chaîne

Description

string stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = 0 ]] )

stream_get_contents() est identique à file_get_contents(), sauf qu'elle opère sur un pointeur de fichier déjà ouvert et retourne le contenu restant, allant jusqu'à maxlength octets, dans une chaîne et commençant à la position offset.

Liste de paramètres

handle ( resource )

Une ressource de flux (e.g. retournée par la fonction fopen())

maxlength (entier)

Le nombre maximal d'octets à lire. Par défaut, -1 (lit tout le contenu restant du buffer).

offset (entier)

Se déplace à la position spécifiée avant la lecture.

Valeurs de retour

Retourne une chaîne de caractères ou FALSE si une erreur survient.

Historique

Version | Description
5.1.0 | Le paramètre offset a été ajouté.

Exemples

Exemple #1 Exemple avec stream_get_contents()

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // affiche toute la page, en commençant à la position 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.exemple.net', 'r')) {
    // Affichage des 5 premiers octets
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fread() - Lecture du fichier en mode binaire
  • fpassthru() - Affiche le reste du fichier

stream_filter_remove
stream_get_filters
Fonctions sur les flux


Liste les filtres enregistrés

stream_get_contents
stream_get_line
Fonctions sur les flux
PHP Manual

stream_get_filters

(PHP 5)

stream_get_filters — Liste les filtres enregistrés

Description

array stream_get_filters ( void )

stream_get_filters() lit la liste des filtres enregistrés.

Valeurs de retour

Retourne un tableau indexé contenant la liste des filtres de flux disponibles sur le système.

Exemples

Exemple #1 Exemple avec stream_get_filters()

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

Voir aussi

  • stream_filter_register() - Enregistre un filtre de flux
  • stream_get_wrappers() - Liste les gestionnaires de flux
stream_get_contents
stream_get_line
Fonctions sur les flux


Lit une ligne dans un flux

stream_get_filters
stream_get_meta_data
Fonctions sur les flux
PHP Manual

stream_get_line

(PHP 5)

stream_get_line — Lit une ligne dans un flux

Description

string stream_get_line ( resource $handle , int $length [, string $ending ] )

stream_get_line() lit une ligne dans la ressource handle.

La lecture se termine quand length octets ont été lus, quand la chaîne spécifiée par ending a été rencontrée (mais ne sera pas inclue dans la valeur retournée), ou si EOF survient : n'importe lequel des trois qui survient en premier.

Cette fonction est presque identique à fgets() hormis le fait qu'elle permet d'utiliser un délimiteur de ligne différent des caractères standards de \n, \r et \r\n, et ne retourne pas le délimiteur lui-même.

Liste de paramètres

handle

Une ressource valide de fichier.

length

Le nombre d'octets à lire dans la ressource.

ending

Un délimiteur de chaîne optionnel.

Valeurs de retour

stream_get_line() lit une ligne de taille maximale length dans le flux handle.

Si une erreur survient, stream_get_line() retourne FALSE.

Voir aussi

  • fread() - Lecture du fichier en mode binaire
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetc() - Lit un caractère dans un fichier
stream_get_filters
stream_get_meta_data
Fonctions sur les flux


Lit les en-têtes et données méta des flux

stream_get_line
stream_get_transports
Fonctions sur les flux
PHP Manual

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data — Lit les en-têtes et données méta des flux

Description

array stream_get_meta_data ( resource $stream )

Retourne les informations disponibles sur le flux stream.

Liste de paramètres

stream

Le flux peut être n'importe quel flux créé par les fonctions fopen(), fsockopen() ou pfsockopen().

Valeurs de retour

Le tableau résultant peut contenir les éléments suivants :

  • timed_out (booléen) : TRUE si le flux a atteint de délai d'expiration en attendant des données durant le dernier appel aux fonctions fread() et fgets().

  • blocked (booléen) : TRUE si le flux est en mode bloquant. Voir aussi stream_set_blocking().

  • eof (booléen) : TRUE si le flux a atteint la fin du fichier. Notez que pour les sockets, cette valeur peut être TRUE même si unread_bytes est non nul. Pour déterminer s'il reste des données à lire, utilisez plutôt la fonction feof().

  • unread_bytes (entier) : le nombre d'octets actuellement placés dans le buffer interne à PHP.

    Note: Vous ne devriez pas utiliser cette valeur dans un script.

  • stream_type (chaîne de caractères) : un nom, qui décrit l'implémentation sous-jacente de flux.

  • wrapper_type (chaîne de caractères) : un nom qui décrit le gestionnaire de protocole pour ce flux. Voyez Liste des protocoles supportés pour plus d'informations sur les gestionnaires.

  • wrapper_data (mixed) : des données spécifiques au gestionnaire liés à ce flux. Voyez Liste des protocoles supportés pour plus d'informations sur les gestionnaires et leurs données.

  • filters (tableau) : un tableau contenant les noms de tous les filtres qui ont été attachés à ce flux. La documentation sur les filtres peut être trouvée sur l'annexe concernant les filtres.

  • mode (chaîne de caractères) : le type d'accès requis pour ce flux ( voir le tableau 1 de la référence de la fonction fopen())

  • seakable (booléen) : si on peut rechercher dans le flux courant.

  • uri (chaîne de caractères) : l'URI/nom de fichier associé à ce flux.

Historique

Version | Description
5.0.0 | Les élément suivants ont été ajoutés dans le tableau retourné : mode, seekable, et uri.
4.3.0 | Les éléments suivants ont été ajoutés dans le tableau retourné : stream_type, wrapper_type, wrapper_data et filters.
4.3.0 | socket_get_status() est un alias de cette fonction. Avant PHP 4.3.0, elle était utilisée pour obtenir les quatre premiers éléments, uniquement pour les flux de sockets.

Exemples

Exemple #1 Exemple avec stream_get_meta_data()

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
    trigger_error("Impossible d'ouvrir l'URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Server: Apache/2.2.3 (Red Hat)
            [2] => Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
            [3] => ETag: "b300b4-1b6-4059a80bfd280"
            [4] => Accept-Ranges: bytes
            [5] => Content-Type: text/html; charset=UTF-8
            [6] => Set-Cookie: FOO=BAR; expires=Fri, 21-Dec-2012 12:00:00 GMT; path=/; domain=.example.com
            [6] => Connection: close
            [7] => Date: Fri, 16 Oct 2009 12:00:00 GMT
            [8] => Age: 1164
            [9] => Content-Length: 438
        )

    [wrapper_type] => http
    [stream_type] => tcp_socket/ssl
    [mode] => r
    [unread_bytes] => 438
    [seekable] =>
    [uri] => http://www.example.com/
    [timed_out] =>
    [blocked] => 1
    [eof] =>
)

Notes

Note: Cette fonction ne fonctionne pas sur les sockets créées avec l'extension socket.

Voir aussi

  • get_headers() - Retourne tous les en-têtes envoyés par le serveur en réponse à une requête HTTP
  • $http_response_header

stream_get_line
stream_get_transports
Fonctions sur les flux


Liste les gestionnaires de transports de sockets disponibles

stream_get_meta_data
stream_get_wrappers
Fonctions sur les flux
PHP Manual

stream_get_transports

(PHP 5)

stream_get_transports — Liste les gestionnaires de transports de sockets disponibles

Description

array stream_get_transports ( void )

stream_get_transports() retourne un tableau indexé contenant les noms des transports de sockets disponibles pour le système.

Valeurs de retour

Retourne un tableau indexé de nom de sockets de transport.

Exemples

Exemple #1 Exemple avec stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)
?>

Voir aussi

  • stream_get_filters() - Liste les filtres enregistrés
  • stream_get_wrappers() - Liste les gestionnaires de flux
stream_get_meta_data
stream_get_wrappers
Fonctions sur les flux


Liste les gestionnaires de flux

stream_get_transports
stream_is_local
Fonctions sur les flux
PHP Manual

stream_get_wrappers

(PHP 5)

stream_get_wrappers — Liste les gestionnaires de flux

Description

array stream_get_wrappers ( void )

stream_get_wrappers() lit la liste des gestionnaires de flux disponibles sur le système courant.

Valeurs de retour

stream_get_wrappers() retourne un tableau indexé contenant le nom de tous les gestionnaires de flux disponibles sur le système.

Exemples

Exemple #1 Exemple avec stream_get_wrappers()

<?php
print_r(stream_get_wrappers());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Exemple #2 Vérification de l'existence d'un gestionnaire de flux

<?php
// Vérification de l'existence d'un gestionnaire de flux bzip2
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// support actif.';
} else {
    echo 'compress.bzip2:// support inactif.';
}
?>

Voir aussi

  • stream_wrapper_register() - Enregistre un gestionnaire d'URL
stream_get_transports
stream_is_local
Fonctions sur les flux


Vérifie si un flux est local

stream_get_wrappers
stream_notification_callback
Fonctions sur les flux
PHP Manual

stream_is_local

(PHP 5 >= 5.2.4)

stream_is_local — Vérifie si un flux est local

Description

bool stream_is_local ( mixed $stream_or_url )

stream_is_local() vérifie si le flux ou l'URL stream_or_url est local au système ou non.

Liste de paramètres

stream_or_url

La ressource de flux ou l'URL à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec stream_is_local()

Exemple simple.

<?php
var_dump(stream_is_local("http://example.com"));
var_dump(stream_is_local("/etc"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(false)
bool(true)

stream_get_wrappers
stream_notification_callback
Fonctions sur les flux


Une fonction de rappel pour le paramètre de contexte notification

stream_is_local
stream_register_wrapper
Fonctions sur les flux
PHP Manual

stream_notification_callback

(PHP 5 >= 5.2.0)

stream_notification_callback — Une fonction de rappel pour le paramètre de contexte notification

Description

void stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max )

Une fonction de callback , utilisée par le paramètre de contexte notification, appelé lors d'un événement.

Note: Ce n'est pas une réelle fonction, uniquement un prototype de la façon dont la fonction doit être.

Liste de paramètres

notification_code

Une des constantes de notification STREAM_NOTIFY_*.

severity

Une des constantes de notification STREAM_NOTIFY_SEVERITY_*.

message

Passé si un message descriptif est disponible pour cet événement.

message_code

Passé si un code de message descriptif est disponible pour cet événement.

La signification de cette valeur dépend du gestionnaire spécifique utilisé.

bytes_transferred

Si c'est possible, bytes_transferred sera rempli.

bytes_max

Si c'est possible, bytes_max sera rempli.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec stream_notification_callback()

<?php
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {

    switch($notification_code) {
        case STREAM_NOTIFY_RESOLVE:
        case STREAM_NOTIFY_AUTH_REQUIRED:
        case STREAM_NOTIFY_COMPLETED:
        case STREAM_NOTIFY_FAILURE:
        case STREAM_NOTIFY_AUTH_RESULT:
            var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
            /* Ignore */
            break;

        case STREAM_NOTIFY_REDIRECTED:
            echo "Redirection vers : ", $message;
            break;

        case STREAM_NOTIFY_CONNECT:
            echo "Connecté...";
            break;

        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "Récupération de la taille du fichier : ", $bytes_max;
            break;

        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "Type mime trouvé : ", $message;
            break;

        case STREAM_NOTIFY_PROGRESS:
            echo "En cours de téléchargement, déjà ", $bytes_transferred, " octets transférés";
            break;
    }
    echo "\n";
}

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Connecté...
Type mime trouvé : text/html; charset=utf-8
Redirection vers : http://no.php.net/contact
Connecté...
Récupération de la taille du fichier : 0
Type mime trouvé : text/html; charset=utf-8
Redirection vers : http://no.php.net/contact.php
Connecté...
Récupération de la taille du fichier : 4589
Type mime trouvé : text/html;charset=utf-8
En cours de téléchargement, déjà 0 octets transférés
En cours de téléchargement, déjà 0 octets transférés
En cours de téléchargement, déjà 0 octets transférés
En cours de téléchargement, déjà 1440 octets transférés
En cours de téléchargement, déjà 2880 octets transférés
En cours de téléchargement, déjà 4320 octets transférés
En cours de téléchargement, déjà 5760 octets transférés
En cours de téléchargement, déjà 6381 octets transférés
En cours de téléchargement, déjà 7002 octets transférés

Exemple #2 Barre de progression simple pour un client de téléchargement en ligne de commande

<?php
function usage($argv) {
    echo "Utilisation :\n";
    printf("\tphp %s <http://example.com/file> <localfile>\n", $argv[0]);
    exit(1);
}

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
    static $filesize = null;

    switch($notification_code) {
    case STREAM_NOTIFY_RESOLVE:
    case STREAM_NOTIFY_AUTH_REQUIRED:
    case STREAM_NOTIFY_COMPLETED:
    case STREAM_NOTIFY_FAILURE:
    case STREAM_NOTIFY_AUTH_RESULT:
        /* Ignore */
        break;

    case STREAM_NOTIFY_REDIRECTED:
        echo "Redirection vers : ", $message, "\n";
        break;

    case STREAM_NOTIFY_CONNECT:
        echo "Connecté...\n";
        break;

    case STREAM_NOTIFY_FILE_SIZE_IS:
        $filesize = $bytes_max;
        echo "Taille du fichier : ", $filesize, "\n";
        break;

    case STREAM_NOTIFY_MIME_TYPE_IS:
        echo "Type Mime : ", $message, "\n";
        break;

    case STREAM_NOTIFY_PROGRESS:
        if ($bytes_transferred > 0) {
            if (!isset($filesize)) {
                printf("\rTaille du fichier inconnue.. %2d kb done..", $bytes_transferred/1024);
            } else {
                $length = (int)(($bytes_transferred/$filesize)*100);
                printf("\r[%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024);
            }
        }
        break;
    }
}

isset($argv[1], $argv[2]) or usage($argv);

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
    echo "\nFait !\n";
    exit(0);
}

$err = error_get_last();
echo "\nErrrrreurr..\n", $err["message"], "\n";
exit(1);
?>

Exécutez l'exemple ci-dessus avec : php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 affichera quelque chose similaire à :

Connecté...
Type Mime : text/html; charset=utf-8
Redirection vers : http://no2.php.net/distributions/php-5.2.5.tar.bz2
Connecté...
Taille du fichier : 7773024
Type Mime : application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

Voir aussi

  • Paramètres de contexte

stream_is_local
stream_register_wrapper
Fonctions sur les flux


Alias de stream_wrapper_register

stream_notification_callback
stream_resolve_include_path
Fonctions sur les flux
PHP Manual

stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5)

stream_register_wrapper — Alias de stream_wrapper_register()

Description

Cette fonction est un alias de : stream_wrapper_register().

stream_notification_callback
stream_resolve_include_path
Fonctions sur les flux


Résout un nom de fichier suivant les règles du chemin d'inclusion

stream_register_wrapper
stream_select
Fonctions sur les flux
PHP Manual

stream_resolve_include_path

(PHP 5 >= 5.3.2)

stream_resolve_include_path — Résout un nom de fichier suivant les règles du chemin d'inclusion

Description

string stream_resolve_include_path ( string $filename [, resource $context ] )

Résout un nom de fichier en utilisant le chemin d'inclusion, en utilisant les mêmes règles que les fonctions fopen()/include().

Liste de paramètres

string

Le nom de fichier à résoudre.

context

Une ressource de contexte valide, créée par la fonction stream_context_create().

Valeurs de retour

En cas de succès, le nom de fichier absolu est retourné. En cas d'échec, FALSE est retourné.

Exemples

Exemple #1 Exemple avec stream_resolve_include_path()

Exemple simple d'utilisation.

<?php
var_dump(stream_resolve_include_path("test.php"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

unicode(10) "/var/www/html/test.php"

stream_register_wrapper
stream_select
Fonctions sur les flux


Surveille la modification d'un ou plusieurs flux

stream_resolve_include_path
stream_set_blocking
Fonctions sur les flux
PHP Manual

stream_select

(PHP 4 >= 4.3.0, PHP 5)

stream_select — Surveille la modification d'un ou plusieurs flux

Description

int stream_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

stream_select() accepte un tableau de flux et attend que l'un d'entre eux change de statut. Cette opération est équivalente à ce que fait la fonction socket_select(), hormis le fait qu'elle travaille sur un flux.

Liste de paramètres

read

Les flux qui sont listés dans le paramètre read seront surveillés en lecture, c'est-à-dire si de nouveaux octets sont disponibles en lecture (pour être précis, si une lecture ne bloquera pas, ce qui inclut aussi les flux qui sont en fin de fichier, auquel cas un appel à la fonction fread() retournera une chaîne de taille 0).

write

Les flux qui sont listés dans le paramètre write seront surveillés en écriture (pour être précis, si une écriture ne bloquera pas).

except

Les flux qui sont listés dans le paramètre except seront surveillés pour voir si une exception est levée.

Note: Lorsque stream_select() se termine, les tableaux read, write et except sont modifiés pour indiquer quel flux ont actuellement changé de statut.

Vous n'êtes pas obligés de remplir tous les tableaux arguments de la fonction stream_select(). Vous pouvez les laisser et utiliser un tableau vide, ou encore NULL. De plus, n'oubliez pas que ces tableaux sont passés par référence et seront modifiés une fois que stream_select() s'achève.
tv_sec

Les paramètres tv_sec et tv_usec forment le délai d'expiration, tv_sec spécifie le nombre de secondes tandis que tv_usec, le nombre de microsecondes. Le paramètre timeout représente la limite supérieure du temps que stream_select() doit attendre avant de se terminer. Si tv_sec et tv_usec sont tous les deux définis à 0, , stream_select() n'attendra pas de données - à la place, elle se terminera immédiatement, indiquant le statut courant du flux.

Si tv_sec vaut NULL, stream_select() peut se bloquer indéfiniment, se terminant uniquement lorsqu'un événement sur un des flux surveillés survient (ou si un signal interrompt l'appel système).

Avertissement

Utiliser un valeur de 0 vous permet de tester instantanément le statut des flux, mais il faut savoir qu'il n'est pas recommandé d'utiliser 0 dans une boucle, car cela va faire consommer énormément de processeur à votre script.

Il est bien mieux de spécifier une valeur de quelques secondes, même si vous devez surveiller et exécuter différents codes de manière simultanée. Par exemple, utiliser une valeur d'au moins 200000 microsecondes, vous réduirez considérablement la consommation processeur de votre script.

N'oubliez pas que la valeur d'expiration est la durée maximale d'attente, si rien ne se passe : stream_select() retournera un résultat dès que l'un des flux soumis est prêt à l'utilisation.

tv_usec

Voyez la description de tv_sec.

Valeurs de retour

En cas de succès, stream_select() retourne le nombre de flux qui ont évolué, ce qui peut être 0, si le délai d'expiration a été atteint avant que les flux n'évoluent. En cas d'erreur, la fonction retournera FALSE et un avertissement sera renvoyé (cela peut apparaître si l'appel système est interrompu par un signal entrant).

Exemples

Exemple #1 Exemple avec stream_select()

Cet exemple surveille si des données arrivent pour être lues soit dans $stream1, soit dans $stream2. Si le délai d'expiration vaut 0, la fonction se termine immédiatement :

<?php
/* Preparation du tableau de flux lecture */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
    /* Gestion d'erreur */
} elseif ($num_changed_streams > 0) {
    /* Au moins un des flux a évolué  */
}
?>

Notes

Note: À cause d'une limitation du moteur Zend actuel, il n'est pas possible de passer la valeur NULL directement comme paramètre d'une fonction qui s'attend à des paramètres passés par référence. Au lieu de cela, il est recommandé d'utiliser une variable temporaire, ou une expression dont le membre de gauche est une variable temporaire. Comme ceci :

<?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

Note: Assurez-vous de bien utiliser l'opérateur === lorsque vous recherchez des erreurs. Comme stream_select() peut retourner 0, une comparaison effectuée à l'aide de == l'évaluerait à TRUE :

<?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "stream_select() failed\n";
}
?>

Note: Si vous avez écrit ou lu dans un flux qui est retourné dans les tableaux de flux, soyez bien conscient que ces flux n'ont peut être pas écrit ou lu la totalité des données demandées. Soyez en mesure de lire un seul octet.

Note: Notes aux utilisateurs de Windows : stream_select() utilisé sur une pipe retournée par proc_open() peut causer la perte de données sous Windows 98.
Utiliser la fonction stream_select() sur un pointeur de fichier retourné par proc_open() échouera et retournera FALSE sous Windows.

Voir aussi

  • stream_set_blocking() - Configure le mode bloquant d'un flux
stream_resolve_include_path
stream_set_blocking
Fonctions sur les flux


Configure le mode bloquant d'un flux

stream_select
stream_set_read_buffer
Fonctions sur les flux
PHP Manual

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking — Configure le mode bloquant d'un flux

Description

bool stream_set_blocking ( resource $stream , int $mode )

stream_set_blocking() configure le mode bloquant du flux stream.

Cette fonction fonctionne pour tous les flux qui supportent le mode non-bloquant (actuellement, les fichiers et les flux de sockets).

Liste de paramètres

stream

Le flux.

mode

Si mode vaut 0, stream sera configuré en mode non-bloquant, et s'il vaut 1, stream sera configuré en mode bloquant. Cet appel affecte les fonctions telles que fgets() et fread() qui lisent dans des flux. En mode non-bloquant, la fonction fgets() s'exécute juste après son appel, alors qu'en mode bloquant, elle attendra des données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Avant PHP 4.3, cette fonction ne fonctionnait que sur les flux utilisant des sockets.

Notes

Note: Cette fonction s'appelait jadis set_socket_blocking() puis socket_set_blocking() mais leur usage est déconseillé.

Voir aussi

  • stream_select() - Surveille la modification d'un ou plusieurs flux
stream_select
stream_set_read_buffer
Fonctions sur les flux


Configure le buffer de lecture d'un flux

stream_set_blocking
stream_set_timeout
Fonctions sur les flux
PHP Manual

stream_set_read_buffer

(PHP 5 >= 5.3.3)

stream_set_read_buffer — Configure le buffer de lecture d'un flux

Description

int stream_set_read_buffer ( resource $stream , int $buffer )

Configure le buffer de lecture d'un flux. Equivalent à stream_set_write_buffer(), mais pour les opérations de lecture.

Liste de paramètres

stream

Le pointeur de fichier.

buffer

Le nombre d'octets à mettre en buffer. Si buffer vaut 0 alors les opérations sont sans buffer. Cela garantit que les opérations avec fread() sont achevées avant que d'autres processus ne soient autorisés à lire dans le flux de sortie.

Valeurs de retour

Retourne 0 en cas de succès, ou EOF si la requête échoue.

Voir aussi

  • stream_set_write_buffer() - Configure le buffer d'écriture d'un flux
stream_set_blocking
stream_set_timeout
Fonctions sur les flux


Configure la durée d'expiration d'un flux

stream_set_read_buffer
stream_set_write_buffer
Fonctions sur les flux
PHP Manual

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout — Configure la durée d'expiration d'un flux

Description

bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] )

stream_set_timeout() configure la durée d'expiration du flux stream, exprimé comme la durée de seconds secondes et microseconds microsecondes.

Lorsque le flux se termine, la clé 'timed_out' du tableau retourné par stream_get_meta_data() est défini à TRUE, cependant, aucune erreur ou alerte n'est générée.

Liste de paramètres

stream

Le flux cible.

seconds

Le nombre de secondes entières du délai d'expiration.

microseconds

Le nombre de microsecondes entières du délai d'expiration.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Depuis PHP 4.3, cette fonction peut (potentiellement) fonctionner avec n'importe quel flux. Avant PHP 4.3, les flux utilisant des sockets sont les seuls qui soient supportés dans le coeur de PHP, même si les autres extensions pourraient supporter cette fonction.

Exemples

Exemple #1 Exemple avec stream_set_timeout()

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
     echo "Impossible d'ouvrir\n";
} else {

  fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
  stream_set_timeout($fp, 2);
  $res = fread($fp, 2000);

  $info = stream_get_meta_data($fp);
  fclose($fp);

  if ($info['timed_out']) {
     echo 'Délai de connexion dépassé !';
  } else {
     echo $res;
  }

}
?>

Notes

Note: Cette fonction ne fonctionne pas avec les opérations avancées comme stream_socket_recvfrom(), utilisez plutôt stream_select() avec une durée d'expiration en paramètre.

Cette fonction était appelée auparavant set_socket_timeout(), et aussi socket_set_timeout(), mais ces appellations sont obsolètes.

Voir aussi

  • fsockopen() - Ouvre une socket de connexion Internet ou Unix
  • fopen() - Ouvre un fichier ou une URL
stream_set_read_buffer
stream_set_write_buffer
Fonctions sur les flux


Configure le buffer d'écriture d'un flux

stream_set_timeout
stream_socket_accept
Fonctions sur les flux
PHP Manual

stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5)

stream_set_write_buffer — Configure le buffer d'écriture d'un flux

Description

int stream_set_write_buffer ( resource $stream , int $buffer )

stream_set_write_buffer() configure le buffer d'écriture du flux stream à la taille de buffer octets.

fwrite() est habituellement configurée avec un buffer de 8 ko. Cela signifie que si deux processus veulent écrire dans le même flux de sortie (par exemple, un fichier), ils font une pause tous les 8 ko pour laisser les autres écrire aussi.

Liste de paramètres

stream

Le pointeur de fichier.

buffer

Le nombre d'octets à mettre en buffer. Si buffer vaut 0 alors les opérations sont sans buffer. Cela garantit que les opérations avec fwrite() sont achevées avant que d'autres processus ne soient autorisés à écrire dans le flux de sortie.

Valeurs de retour

Retourne 0 en cas de succès, et EOF si la requête échoue.

Exemples

Exemple #1 Exemple avec stream_set_write_buffer()

L'exemple ci-dessous illustre l'utilisation de stream_set_write_buffer() pour créer un flux non bufferisé.

$fp = fopen($file, "w");
if ($fp) {
  stream_set_write_buffer($fp, 0);
  fputs($fp, $output);
  fclose($fp);
}

Voir aussi

  • fopen() - Ouvre un fichier ou une URL
  • fwrite() - Écrit un fichier en mode binaire
stream_set_timeout
stream_socket_accept
Fonctions sur les flux


Accepte une connexion sur une socket créée par stream_socket_server

stream_set_write_buffer
stream_socket_client
Fonctions sur les flux
PHP Manual

stream_socket_accept

(PHP 5)

stream_socket_accept — Accepte une connexion sur une socket créée par stream_socket_server()

Description

resource stream_socket_accept ( resource $server_socket [, float $timeout = ini_get("default_socket_timeout") [, string &$peername ]] )

Accepte une connexion sur une socket créée précédemment avec stream_socket_server().

Liste de paramètres

server_socket

La socket serveur depuis laquelle accepter une connexion.

timeout

Remplace le délai d'expiration par défaut de la socket. Ce délai doit être donné en secondes.

peername

Le nom (adresse) du client connecté, si fourni et si disponible pour le transport sélectionné.

Note: Peut également être déterminé plus tard, en utilisant la fonction stream_socket_get_name().

Valeurs de retour

Retourne un flux vers la connexion socket acceptée ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction ne doit pas être utilisée avec les sockets serveur UDP. À la place, utilisez les fonctions stream_socket_recvfrom() et stream_socket_sendto().

Voir aussi

  • stream_socket_server() - Crée une socket serveur Unix ou Internet
  • stream_socket_get_name() - Lit le nom des sockets locale ou distante
  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • fwrite() - Écrit un fichier en mode binaire
  • fclose() - Ferme un fichier
  • feof() - Teste la fin du fichier
  • Fonctions cURL

stream_set_write_buffer
stream_socket_client
Fonctions sur les flux


Ouvre une connexion socket Internet ou Unix

stream_socket_accept
stream_socket_enable_crypto
Fonctions sur les flux
PHP Manual

stream_socket_client

(PHP 5)

stream_socket_client — Ouvre une connexion socket Internet ou Unix

Description

resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )

Initie un flux ou une connexion datagramme avec la destination remote_socket. Le type de socket créée est déterminé par le transport spécifié avec le formatage URL suivant : transport://target. Pour une socket Internet, (AF_INET) comme TCP et UDP, la cible de remote_socket sera une adresse IP ou un nom d'hôte. Pour une socket Unix, la cible doit être un fichier de socket du système.

Note: Le flux sera par défaut ouvert en mode bloquant. Vous pouvez le passer en mode non bloquant en utilisant la fonction stream_set_blocking().

Liste de paramètres

remote_socket

L'adresse du socket.

errno

Contiendra le numéro de l'erreur système si la connexion échoue.

errstr

Contiendra le message de l'erreur système si la connexion échoue.

timeout

Délai d'expiration, en secondes, pour l'appel système connect().

Note: Ce paramètre n'est appliqué que pour les connexions qui ne sont pas asynchrones.

Note: Pour définir un délai d'expiration lors de la lecture/écriture de données via un socket, utilisez la fonction stream_set_timeout(), vu que le paramètre timeout n'est appliqué que lors de la connexion au socket.

flags

Champ de bits qui peut être la combinaison de n'importe quelles options de connexion. Actuellement, les valeurs possibles pour ces options sont STREAM_CLIENT_CONNECT (défaut), STREAM_CLIENT_ASYNC_CONNECT et STREAM_CLIENT_PERSISTENT.

context

Une ressource de contexte valide, créée par la fonction stream_context_create().

Valeurs de retour

En cas de succès, une ressource de flux est retournée, qui peut être utilisée
avec d'autres fonctions de fichiers, comme
fgets(), fgetss(),
fwrite(), fclose(), et
feof(), FALSE si une erreur survient.

Erreurs / Exceptions

Si l'appel échoue, stream_socket_client() va retourner FALSE et si les paramètres optionnels errno et errstr sont fournis, ils recevront l'erreur exacte qui est survenue dans le système lors de l'appel à connect(). Si la valeur retournée dans errno est 0 et que la fonction a retourné FALSE, c'est une indication que l'erreur est survenue avant l'appel à connect(). Cela est probablement dû à un problème d'initialisation de la socket. Notez que errno eterrstr doivent être passés par référence.

Exemples

Exemple #1 Exemple avec stream_socket_client()

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
}
?>

Exemple #2 Utilisation de connexions UDP

Lit la date et l'heure sur un service UDP de type "daytime" (port 13) sur votre propre machine :

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ERREUR : $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Notes

Avertissement

Les sockets UDP sembleront parfois s'ouvrir sans erreur, même si l'hôte distant n'est pas accessible. Cette erreur ne deviendra apparente que lorsque vous essaierez de lire ou écrire des données avec cette socket. La raison à cela est que UDP est un protocole sans connexion, ce qui signifie que le système d'exploitation n'a pas à établir de lien pour la socket, jusqu'à ce qu'il commence à échanger des données.

Note: Lors de la spécification d'adresses IPv6 au format numérique (e.g. fe80::1) vous devez placer l'adresse IP entre crochets. Par exemple : tcp://[fe80::1]:80.

Note: Suivant votre environnement, les sockets Unix ou le délai d'expiration peuvent ne pas être disponibles. Une liste des transports disponibles sur le système est accessible via stream_get_transports(). Voyez Liste des modes de transport de sockets disponibles pour une liste de transports natifs.

Voir aussi

  • stream_socket_server() - Crée une socket serveur Unix ou Internet
  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • stream_select() - Surveille la modification d'un ou plusieurs flux
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • fwrite() - Écrit un fichier en mode binaire
  • fclose() - Ferme un fichier
  • feof() - Teste la fin du fichier
  • Fonctions cURL

stream_socket_accept
stream_socket_enable_crypto
Fonctions sur les flux


Active ou non le chiffrement, pour une socket déjà connectée

stream_socket_client
stream_socket_get_name
Fonctions sur les flux
PHP Manual

stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_crypto — Active ou non le chiffrement, pour une socket déjà connectée

Description

mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )

Active ou non le chiffrement, pour une socket déjà connectée.

Une fois les paramètres de chiffrement définis, le chiffrement peut être activé et désactivé dynamiquement en passant TRUE ou FALSE dans le paramètre enable.

Liste de paramètres

stream

La ressource de flux.

enable

Active ou non le chiffrement sur le flux.

crypto_type

Configure le chiffrement sur le flux. Les méthodes valides sont

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER

session_stream

Initialise le flux avec la configuration issue du paramètre session_stream.

Valeurs de retour

Retourne TRUE en cas de succès, FALSE si la négociation a échoué ou 0 s'il n'y a pas assez de données et que vous devez essayer encore (uniquement pour les sockets non-bloquantes).

Exemples

Exemple #1 Exemple avec stream_socket_enable_crypto()

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
    die("Impossible de se connecter : $errstr ($errno)");
}

/* Activation du chiffrement durant l'identification */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");

/* Désactivation du chiffrement pour le reste */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
    echo $motd;
}

fclose($fp);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Voir aussi

  • Fonctions OpenSSL
    •

  • Liste des modes de transport de sockets disponibles
    •

stream_socket_client

stream_socket_get_name

Fonctions sur les flux


Lit le nom des sockets locale ou distante

stream_socket_enable_crypto
stream_socket_pair
Fonctions sur les flux
PHP Manual

stream_socket_get_name

(PHP 5)

stream_socket_get_name — Lit le nom des sockets locale ou distante

Description

string stream_socket_get_name ( resource $handle , bool $want_peer )

stream_socket_get_name() retourne le nom de la socket locale ou distante pour la connexion handle.

Liste de paramètres

handle

La socket dont il faut lire le nom.

want_peer

Si ce paramètre vaut TRUE le nom de la socket remote (distante) sera retourné, et si ce paramètre vaut FALSE la socket local (locale) sera retournée.

Valeurs de retour

Le nom de la socket.

Voir aussi

  • stream_socket_accept() - Accepte une connexion sur une socket créée par stream_socket_server

stream_socket_enable_crypto
stream_socket_pair
Fonctions sur les flux


Crée une paire de sockets connectées et indissociables

stream_socket_get_name
stream_socket_recvfrom
Fonctions sur les flux
PHP Manual

stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair — Crée une paire de sockets connectées et indissociables

Description

array stream_socket_pair ( int $domain , int $type , int $protocol )

stream_socket_pair() crée une paire de sockets connectées et indissociables. Cette fonction est communément utilisée en IPC (InterProcess Communication).

Liste de paramètres

domain

La famille de protocole à utiliser : STREAM_PF_INET, STREAM_PF_INET6 ou STREAM_PF_UNIX

type

Le type de communication à utiliser : STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET ou STREAM_SOCK_STREAM

protocol

Le protocole à utiliser : STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP ou STREAM_IPPROTO_UDP

Note: Consultez la liste des constantes de flux pour plus de détails sur chaque constante.

Valeurs de retour

Retourne un tableau contenant les ressources des deux sockets en cas de succès, ou FALSE en cas d'échec.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.

Exemples

Exemple #1 Exemple avec stream_socket_pair()

Cet exemple montre une utilisation basique de stream_socket_pair() dans une communication inter-processus.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
  die('Impossible de forker');

} else if ($pid) {
  /* parent */
  fclose($sockets[0]);

  fwrite($sockets[1], "PID enfant : $pid\n");
  echo fgets($sockets[1]);

  fclose($sockets[1]);

} else {
  /* enfant */
  fclose($sockets[1]);

  fwrite($sockets[0], "message de l'enfant\n");
  echo fgets($sockets[0]);

  fclose($sockets[0]);
}

     ?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

PID enfant : 1378
message de l'enfant

stream_socket_get_name
stream_socket_recvfrom
Fonctions sur les flux


Lit des données depuis une socket, connectée ou pas

stream_socket_pair
stream_socket_sendto
Fonctions sur les flux
PHP Manual

stream_socket_recvfrom

(PHP 5)

stream_socket_recvfrom — Lit des données depuis une socket, connectée ou pas

Description

string stream_socket_recvfrom ( resource $socket , int $length [, int $flags = 0 [, string &$address ]] )

stream_socket_recvfrom() accepte les données depuis une socket distante, jusqu'à un total de length octets.

Liste de paramètres

socket

La socket distante.

length

Le nombre d'octets à recevoir de socket.

flags

La valeur de flags peut être la combinaison des constantes suivantes :

Valeurs possibles pour flags
STREAM_OOB | Traite les données en mode OOB (out-of-band).
STREAM_PEEK | Lit des données depuis la socket, mais n'utilise pas le buffer. Les prochains appels à fread() ou stream_socket_recvfrom() liront les mêmes données.

address

Si le paramètre address est fourni, il recevra l'adresse de la socket distante.

Valeurs de retour

Retourne les données lues, sous forme de chaîne de caractères

Exemples

Exemple #1 Exemple avec stream_socket_recvfrom()

<?php
/* Ouvre une socket sur le port 1234 de localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Accepte une connexion */
$socket = stream_socket_accept($server);

/* Lit un paquet (1500 est la taille classique MTU) de données OOB */
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Lit les données normales in-band, mais ne modifie rien */
echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Relit le même paquet, mais vide le buffer. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Terminaison */
fclose($socket);
fclose($server);
?>

Notes

Note: Si le message reçu est plus grand que length, les données supplémentaires peuvent être détruites, suivant le type de socket utilisée (par exemple UDP).

Note: L'appel de stream_socket_recvfrom() sur les flux basés sur le socket, après l'appel de fonctions de flux basé sur un tampon (comme fread() ou stream_get_line()) lit directement les données à partir du socket et évite l'utilisation du tampon avec le flux.

Voir aussi

  • stream_socket_sendto() - Envoie une message à la socket, connectée ou pas
  • stream_socket_client() - Ouvre une connexion socket Internet ou Unix
  • stream_socket_server() - Crée une socket serveur Unix ou Internet
stream_socket_pair
stream_socket_sendto
Fonctions sur les flux


Envoie une message à la socket, connectée ou pas

stream_socket_recvfrom
stream_socket_server
Fonctions sur les flux
PHP Manual

stream_socket_sendto

(PHP 5)

stream_socket_sendto — Envoie une message à la socket, connectée ou pas

Description

int stream_socket_sendto ( resource $socket , string $data [, int $flags = 0 [, string $address ]] )

stream_socket_sendto() envoie les données data à la socket socket.

Liste de paramètres

socket

La socket vers laquelle envoyer les données data.

data

Les données à envoyer.

flags

La valeur de flags peut être la combinaison des constantes suivantes :

Valeurs possibles pour flags
STREAM_OOB Traite les données en mode OOB (out-of-band).

address

L'adresse de la socket est spécifiée lorsque la socket est créée, et sera utilisée si une autre adresse n'est pas spécifiée dans le paramètre address.

Quand elle est fournie, elle doit être au format IP numérique (version 4 ou 6).

Valeurs de retour

Retourne le code de résultat, sous forme d'entier.

Exemples

Exemple #1 Exemple avec stream_socket_sendto()

<?php
/* Ouvre une socket sur le port 1234 de localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Envoie des données directement */
fwrite($socket, "Normal data transmit.");

/* Envoie d'autre données, en mode out of band. */
stream_socket_sendto($socket, "Mode out of Band.", STREAM_OOB);

/* Fin */
fclose($socket);
?>

Voir aussi

  • stream_socket_recvfrom() - Lit des données depuis une socket, connectée ou pas
  • stream_socket_client() - Ouvre une connexion socket Internet ou Unix
  • stream_socket_server() - Crée une socket serveur Unix ou Internet
stream_socket_recvfrom
stream_socket_server
Fonctions sur les flux


Crée une socket serveur Unix ou Internet

stream_socket_sendto
stream_socket_shutdown
Fonctions sur les flux
PHP Manual

stream_socket_server

(PHP 5)

stream_socket_server — Crée une socket serveur Unix ou Internet

Description

resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )

stream_socket_server() crée un flux ou un datagramme sur la socket spécifiée local_socket.

stream_socket_server() ne fait que créer une socket et, pour accepter des connexions, vous devez utiliser stream_socket_accept().

Liste de paramètres

local_socket

Le type de socket créée est déterminé par le transport spécifié avec le formatage URL suivant : transport://target.

Pour une socket Internet,(AF_INET) comme TCP et UDP, la cible de remote_socket sera une adresse IP ou un nom d'hôte suivi de deux points et d'un numéro de port. Pour une socket Unix, la cible doit être un fichier de socket du système.

En fonction de votre environnement, les sockets de domaine Unix peuvent être indisponibles. Une liste des transports disponibles est accessible via stream_get_transports(). Voyez Liste des modes de transport de sockets disponibles pour connaître la liste des transports natifs.

errno

Si les arguments optionnels errno et errstr sont présents, ils seront configurés pour indiquer le niveau d'erreur actuel des fonctions système socket(), bind() et listen(). Si la valeur retournée dans errno est 0, et que la fonction retourne FALSE, c'est une indication que l'erreur est survenue avant l'appel à bind(). Ceci est probablement dû à un problème d'initialisation de la socket. Notez que les arguments errno et errstr seront toujours passés par référence.

errstr

Voyez la description de errno.

flags

Un champ de bits, qui peut être la combinaison de n'importe quelle option de création de socket.

Note: Pour les sockets UDP, vous devez utiliser la constante STREAM_SERVER_BIND comme valeur du paramètre flags.

context

Valeurs de retour

Retourne le flux créé, ou bien FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec stream_socket_server()

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fputs ($conn, 'L\'heure locale est ' . date('n/j/Y g:i a') . "\n");
    fclose ($conn);
  }
  fclose($socket);
}
?>

L'exemple ci-dessous vous montre comment lire la date et l'heure sur un service UDP (port 13) sur votre propre machine, tel que présenté avec la fonction stream_socket_client() :

Note: La plupart des systèmes ont besoin d'un accès administrateur pour ouvrir une socket sur les ports en dessous de 1024.

Exemple #2 Utiliser un serveur de socket UDP

<?php
$socket = stream_socket_server("udp://0.0.0.0:13", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
  echo "ERROR: $errno - $errstr<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, date("D M j H:i:s Y\r\n"));
    fclose($conn);
  }
  fclose($socket);
}
?>

Notes

Note: Lors de la spécification d'adresses IPv6 au format numérique (e.g. fe80::1) vous devez placer l'adresse IP entre crochets. Par exemple : tcp://[fe80::1]:80.

Voir aussi

  • stream_socket_client() - Ouvre une connexion socket Internet ou Unix
  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • fwrite() - Écrit un fichier en mode binaire
  • fclose() - Ferme un fichier
  • feof() - Teste la fin du fichier
  • Extension Curl
stream_socket_sendto
stream_socket_shutdown
Fonctions sur les flux


Arrête une connexion full-duplex

stream_socket_server
stream_supports_lock
Fonctions sur les flux
PHP Manual

stream_socket_shutdown

(PHP 5 >= 5.2.1)

stream_socket_shutdown — Arrête une connexion full-duplex

Description

bool stream_socket_shutdown ( resource $stream , int $how )

Arrête (partiellement ou non) une connexion full-duplex.

Liste de paramètres

stream

Un flux ouvert (ouvert avec la fonction stream_socket_client(), par exemple)

how

Une des constantes suivantes : STREAM_SHUT_RD (désactive les réceptions futures), STREAM_SHUT_WR (désactive les transmissions futures) ou STREAM_SHUT_RDWR (désactive les réceptions ou les transmissions futures).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec stream_socket_shutdown()

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "Bonjour"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "Bonjour")); // ne fonctionne actuellement pas

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Voir aussi

  • fclose() - Ferme un fichier

stream_socket_server
stream_supports_lock
Fonctions sur les flux


Indique si le flux supporte les verrous

stream_socket_shutdown
stream_wrapper_register
Fonctions sur les flux
PHP Manual

stream_supports_lock

(PHP 5 >= 5.3.0)

stream_supports_lock — Indique si le flux supporte les verrous

Description

bool stream_supports_lock ( resource $stream )

Indique si le flux supporte les verrous via la fonction flock().

Liste de paramètres

stream

Le flux à tester.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • flock() - Verrouille le fichier

stream_socket_shutdown
stream_wrapper_register
Fonctions sur les flux


Enregistre un gestionnaire d'URL

stream_supports_lock
stream_wrapper_restore
Fonctions sur les flux
PHP Manual

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5)

stream_wrapper_register — Enregistre un gestionnaire d'URL

Description

bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )

stream_wrapper_register() permet d'implémenter des gestionnaires de protocole et de flux, à utiliser avec toutes les autres fonctions de fichiers, comme fopen(), fread(), etc.

Liste de paramètres

protocol

Le nom du gestionnaire à enregistrer.

classname

La classe qui implémente le protocole protocol.

flags

Doit être configuré à STREAM_IS_URL si protocol est un protocole à URL. Par défaut, cette option vaut 0, et est valable pour les flux locaux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

stream_wrapper_register() retourne FALSE si le protocole protocol a déjà un gestionnaire.

Historique

Version | Description
5.2.4 | Ajout du paramètre flags.

Exemples

Exemple #1 Comment enregistrer un gestionnaire de flux

<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
    stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

if ($existed) {
    stream_wrapper_restore("var");
}

?>

L'exemple ci-dessus va afficher :

line1
line2
line3
string(18) "line1
line2
line3
"

Voir aussi

  • Le prototype de classe streamWrapper
  • Exemple de classe enregistrée comme gestionnaire de flux
  • stream_wrapper_unregister() - Supprime un gestionnaire d'URL
  • stream_wrapper_restore() - Restaure un gestionnaire d'URL supprimé
  • stream_get_wrappers() - Liste les gestionnaires de flux

stream_supports_lock
stream_wrapper_restore
Fonctions sur les flux


Restaure un gestionnaire d'URL supprimé

stream_wrapper_register
stream_wrapper_unregister
Fonctions sur les flux
PHP Manual

stream_wrapper_restore

(PHP 5 >= 5.1.0)

stream_wrapper_restore — Restaure un gestionnaire d'URL supprimé

Description

bool stream_wrapper_restore ( string $protocol )

Restaure le gestionnaire protocol précédemment supprimé avec stream_wrapper_unregister().

Liste de paramètres

protocol

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

stream_wrapper_register
stream_wrapper_unregister
Fonctions sur les flux


Supprime un gestionnaire d'URL

stream_wrapper_restore
Tidy
Fonctions sur les flux
PHP Manual

stream_wrapper_unregister

(PHP 5 >= 5.1.0)

stream_wrapper_unregister — Supprime un gestionnaire d'URL

Description

bool stream_wrapper_unregister ( string $protocol )

Supprime le gestionnaire d'URL avec le protocole protocol. Une fois que le gestionnaire est retiré, vous pouvez installer le vôtre, avec la fonction stream_wrapper_register() ou le réactiver plus tard avec stream_wrapper_restore().

Liste de paramètres

protocol

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

stream_wrapper_restore
Tidy
Fonctions sur les flux


Tidy

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemples
  • Tidy — La classe Tidy
    • tidy::body — Retourne un objet TidyNode, commencé à partir de la balise <body>
    • tidy::cleanRepair — Effectue les opérations de nettoyage et de réparation préparées pour un fichier HTML
    • tidy::__construct — Construit un nouvel objet tidy
    • tidy::diagnose — Établit le diagnostic pour le document analysé et réparé
    • tidy::getConfig — Lit la configuration Tidy courante
    • tidy::htmlver — Détecte le version du code HTML utilisée dans un document
    • Tidy::getopt — Retourne la valeur de l'option de configuration Tidy
    • tidy::getoptdoc — Retourne la documentation pour le nom de l'option donnée
    • tidy::getRelease — Retourne la date de publication (version) de la bibliothèque Tidy
    • tidy::getStatus — Retourne le statut du document spécifié
    • tidy::head — Retourne un objet tidyNode à partir de la balise <head>
    • tidy::html — Retourne un objet tidyNode commençant à la balise <html>
    • tidy::isXhtml — Indique si le document est un document XHTML
    • tidy::isXml — Indique si le document est un document XML générique (non HTML/XHTML)
    • tidy::parseFile — Analyse les balises d'un fichier ou d'une URI
    • tidy::parseString — Analyse un document HTML contenu dans une chaîne
    • tidy::repairFile — Répare un fichier et le renvoie en tant que chaîne
    • tidy::repairString — Répare une chaîne HTML en utilisant un fichier de configuration optionnel
    • tidy::root — Retourne un objet tidyNode représentant la racine du document HTML
  • TidyNode — La classe TidyNode
    • tidyNode::getParent — Retourne le noeud parent du noeud courant
    • tidyNode::hasChildren — Indique si le noeud a des enfants
    • tidyNode::hasSiblings — Indique si le noeud a des frères
    • tidyNode::isAsp — Vérifie si le noeud est du code ASP
    • tidyNode::isComment — Indique si le noeud représente un commentaire
    • tidyNode::isHtml — Indique si le noeud est une partie d'un document HTML
    • tidyNode::isJste — Indique si ce noeud est JSTE
    • tidyNode::isPhp — Indique si un noeud contient du code PHP
    • tidyNode::isText — Indique si le noeud représente du texte (sans balise)
  • Fonctions Tidy
    • ob_tidyhandler — Fonction de rappel ob_start pour réparer le buffer
    • tidy_access_count — Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document
    • tidy_config_count — Retourne le nombre d'erreurs de configuration Tidy rencontrées dans le document
    • tidy_error_count — Retourne le nombre d'erreurs Tidy rencontrées dans le document
    • tidy_get_error_buffer — Retourne les alertes et erreurs qui sont survenues lors de l'analyse du document
    • tidy_get_output — Retourne une chaîne représentant les balises telles qu'analysées par Tidy
    • tidy_load_config — Charge un fichier de configuration ASCII Tidy avec l'encodage spécifié
    • tidy_reset_config — Redonne les valeurs de configuration par défaut de Tidy
    • tidy_save_config — Sauve la configuration courante dans un fichier
    • tidy_set_encoding — Modifie le jeu de caractères pour les entrées/sorties de l'analyseur Tidy
    • tidy_setopt — Modifie la valeur de l'option de configuration Tidy
    • tidy_warning_count — Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié
stream_wrapper_unregister
Introduction
Autres extensions basiques


Introduction

Tidy est une interface avec la bibliothèque Tidy HTML, pour nettoyer et manipuler les documents HTML, et les traiter sous forme de balises hiérarchisées.

Tidy
Installation/Configuration
Tidy


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Tidy


Pré-requis

Pour utiliser Tidy, vous devez disposer de la bibliothèque libtidy, qui est téléchargeable sur le site de » http://tidy.sourceforge.net/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Tidy est packagé avec PHP 5 et supérieur et est installé grâce à l'option de configuration --with-tidy

Les utilisateurs de PHP 4 doivent utiliser la (vieille) extension PECL ici: » http://pecl.php.net/package/tidy.

Note: Tidy 1.0 fonctionne avec PHP 4, alors que des versions plus récentes fonctionnent avec PHP 5 et supérieur.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Tidy
Nom | Défaut | Modifiable | Historique
tidy.default_config | "" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR en PHP 5. Disponible depuis PHP 5.0.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

tidy.default_config string

Chemin par défaut pour le fichier de configuration Tidy.

tidy.clean_output boolean

Activer ou désactiver la réparation du HTML par Tidy

Avertissement

N'activez pas tidy.clean_output si vous générez autre chose que du HTML, comme des images dynamiques.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Chaque TIDY_TAG_XXX représente un balise HTML. Par exemple, TIDY_TAG_A représente la balise "<a href="XX">link</a>". Chaque TIDY_ATTR_XXX représente un attribut HTML. Par exemple, TIDY_ATTR_HREF représentera l'attribut href dans l'exemple précédent.

Les constantes suivantes sont définies par cette extension :

Constantes des balises tidy
constante
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

Constantes des attributs tidy
Constante
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

Constantes de types de noeud tidy
Constante | Description
TIDY_NODETYPE_ROOT | Noeud racine
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | Commentaire HTML
TIDY_NODETYPE_PROCINS | Instruction de processus
TIDY_NODETYPE_TEXT | Texte
TIDY_NODETYPE_START | Début de balise
TIDY_NODETYPE_END | Fin de balise
TIDY_NODETYPE_STARTEND | Balise vide
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | Section XML
TIDY_NODETYPE_ASP | Code ASP
TIDY_NODETYPE_JSTE | Code JSTE
TIDY_NODETYPE_PHP | Code PHP
TIDY_NODETYPE_XMLDECL | Déclaration XML

Types de ressources
Exemples
Tidy


Exemples
Tidy
PHP Manual

Exemples

Sommaire

  • Exemples
Constantes pré-définies
Exemples
Tidy


Exemples
Tidy
Exemples
PHP Manual

Exemples

Ce simple exemple montre l'utilisation de base de Tidy.

Exemple #1 Utilisation de base de Tidy

<?php
ob_start();
?>
<html>un document HTML</html>
<?php
$html = ob_get_clean();

// Configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Affichage
echo $tidy;
?>

Exemples
Tidy
Exemples
PHP Manual


La classe Tidy

Introduction

Une balise HTML, telle que détectée par tidy.

Synopsis de la classe

Tidy
Tidy {
/* Propriétés */
string $errorBuffer;
/* Méthodes */
tidyNode tidy::body ( void )
bool tidy::cleanRepair ( void )
tidy tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )
bool tidy::diagnose ( void )
array tidy::getConfig ( void )
int tidy::getHtmlVer ( void )
mixed tidy::getOpt ( string $option )
string tidy::getOptDoc ( string $optname )
string tidy::getRelease ( void )
int tidy::getStatus ( void )
tidyNode tidy::head ( void )
tidyNode tidy::html ( void )
bool tidy::isXhtml ( void )
bool tidy::isXml ( void )
bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )
string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )
string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )
tidyNode tidy::root ( void )
}

Propriétés

errorBuffer

Les dernières erreurs et alertes de TidyLib

Sommaire

  • tidy::body — Retourne un objet TidyNode, commencé à partir de la balise <body>
  • tidy::cleanRepair — Effectue les opérations de nettoyage et de réparation préparées pour un fichier HTML
  • tidy::__construct — Construit un nouvel objet tidy
  • tidy::diagnose — Établit le diagnostic pour le document analysé et réparé
  • tidy::getConfig — Lit la configuration Tidy courante
  • tidy::htmlver — Détecte le version du code HTML utilisée dans un document
  • Tidy::getopt — Retourne la valeur de l'option de configuration Tidy
  • tidy::getoptdoc — Retourne la documentation pour le nom de l'option donnée
  • tidy::getRelease — Retourne la date de publication (version) de la bibliothèque Tidy
  • tidy::getStatus — Retourne le statut du document spécifié
  • tidy::head — Retourne un objet tidyNode à partir de la balise <head>
  • tidy::html — Retourne un objet tidyNode commençant à la balise <html>
  • tidy::isXhtml — Indique si le document est un document XHTML
  • tidy::isXml — Indique si le document est un document XML générique (non HTML/XHTML)
  • tidy::parseFile — Analyse les balises d'un fichier ou d'une URI
  • tidy::parseString — Analyse un document HTML contenu dans une chaîne
  • tidy::repairFile — Répare un fichier et le renvoie en tant que chaîne
  • tidy::repairString — Répare une chaîne HTML en utilisant un fichier de configuration optionnel
  • tidy::root — Retourne un objet tidyNode représentant la racine du document HTML
Exemples
tidy::body
Tidy


Retourne un objet TidyNode, commencé à partir de la balise <body>

Tidy
tidy::cleanRepair
Tidy
PHP Manual

tidy::body

tidy_get_body

(PHP 5, PECL tidy 0.5.2-1.0)

tidy::body -- tidy_get_body — Retourne un objet TidyNode, commencé à partir de la balise <body>

Description

Style orienté objet

tidyNode tidy::body ( void )

Style procédural

tidyNode tidy_get_body ( tidy $object )

Retourne un objet TidyNode commençant à partir de la balise <body>.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne la version de HTML détectée.

Avertissement

Cette fonction n'est pas encore implémentée dans Tidylib elle-même, alors elle retourne toujours 0.

Exemples

Exemple #1 Exemple avec tidy::getBody()

<?php
$html = '
<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>paragraph</p>
 </body>
</html>';

$tidy = tidy_parse_string($html);

$body = tidy_get_body($tidy);
echo $body->value;
?>

L'exemple ci-dessus va afficher :

<body>
 <p>paragraph</p>
</body>

Notes

Note: Cette fonction n'est disponible qu'avec le Zend Engine 2, c'est à dire PHP >= 5.0.0.

Voir aussi

  • tidy::head() - Retourne un objet tidyNode à partir de la balise <head>
  • tidy::html() - Retourne un objet tidyNode commençant à la balise <html>
Tidy
tidy::cleanRepair
Tidy


Effectue les opérations de nettoyage et de réparation préparées pour un fichier HTML

tidy::body
tidy::__construct
Tidy
PHP Manual

tidy::cleanRepair

tidy_clean_repair

(PHP 5, PECL tidy >= 0.5.2)

tidy::cleanRepair -- tidy_clean_repair — Effectue les opérations de nettoyage et de réparation préparées pour un fichier HTML

Description

Style orienté objet

bool tidy::cleanRepair ( void )

Style procédural

bool tidy_clean_repair ( tidy $object )

Nettoie et répare l'objet Tidy object passé en argument.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec tidy::cleanrepair()

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

echo $tidy;
?>

L'exemple ci-dessus va afficher :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
 <head>
  <title></title>
 </head>
 <body>
  <p>test</p>
 </body>
</html>

Voir aussi

  • tidy::repairFile() - Répare un fichier et le renvoie en tant que chaîne
  • tidy::repairString() - Répare une chaîne HTML en utilisant un fichier de configuration optionnel
tidy::body
tidy::__construct
Tidy


Construit un nouvel objet tidy

tidy::cleanRepair
tidy::diagnose
Tidy
PHP Manual

tidy::__construct

(PHP 5, PECL tidy >= 0.5.2)

tidy::__construct — Construit un nouvel objet tidy

Description

tidy tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )

construit un nouvel objet tidy.

Liste de paramètres

filename

Si le paramètre filename est fourni, cette fonction lira également ce fichier et initialisera l'objet avec ce fichier, agissant de la même façon que la fonction tidy_parse_file().

config

La configuration config peut être passée sous forme de tableau ou de chaîne de caractères. Si une chaîne de caractères est passée, elle est interprétée comme le nom du fichier de configuration, et sinon, elle est interprétée comme les options elles-mêmes.

Pour une explication sur chaque option, voyez » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Le paramètre encoding configure l'encodage pour les documents d'entrée et de sortie. Les valeurs possibles sont ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 et shiftjis.

use_include_path

Indique s'il faut rechercher le fichier dans l' include_path.

Valeurs de retour

Retourne un nouvel objet tidy.

Exemples

Exemple #1 Exemple avec tidy::__construct()

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy();
$tidy->ParseString($html);

$tidy->cleanRepair();

if ($tidy->errorBuffer) {
    echo "Les erreurs suivantes ont été détectées :\n";
    echo $tidy->errorBuffer;
}

?>

L'exemple ci-dessus va afficher :

Les erreurs suivantes ont été détectées :
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

Voir aussi

  • tidy::parseFile() - Analyse les balises d'un fichier ou d'une URI
  • tidy::parseString() - Analyse un document HTML contenu dans une chaîne
tidy::cleanRepair
tidy::diagnose
Tidy


Établit le diagnostic pour le document analysé et réparé

tidy::__construct
tidy::getConfig
Tidy
PHP Manual

tidy::diagnose

tidy_diagnose

(PHP 5, PECL tidy >= 0.5.2)

tidy::diagnose -- tidy_diagnose — Établit le diagnostic pour le document analysé et réparé

Description

Style orienté objet

bool tidy::diagnose ( void )

Style procédural

bool tidy_diagnose ( tidy $object )

Lance un diagnostic sur l'objet object Tidy donné, en ajoutant quelques informations concernant le document dans la pile d'erreurs.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec tidy::diagnose()

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>paragraph</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

// notez la différence entre les deux sorties
echo $tidy->errorBuffer . "\n";

$tidy->diagnose();
echo $tidy->errorBuffer;

?>

L'exemple ci-dessus va afficher :

line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

Voir aussi

  • tidy::errorBuffer()
tidy::__construct
tidy::getConfig
Tidy


Lit la configuration Tidy courante

tidy::diagnose
tidy::htmlver
Tidy
PHP Manual

tidy::getConfig

tidy_get_config

(PHP 5, PECL tidy >= 0.7.0)

tidy::getConfig -- tidy_get_config — Lit la configuration Tidy courante

Description

Style orienté objet

array tidy::getConfig ( void )

Style procédural

array tidy_get_config ( tidy $object )

Retourne un tableau avec les options de configuration utilisées par l'objet object Tidy spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne un tableau d'options de configurations.

Pour une explication sur chaque option, voyez » http://tidy.sourceforge.net/docs/quickref.html.

Exemples

Exemple #1 Exemple avec tidy::getConfig()

<?php
$html = '<p>test</p>';
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r($tidy->getConfig());
?>

L'exemple ci-dessus va afficher :

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

Voir aussi

  • tidy::resetConfig()
  • tidy::saveConfig()
tidy::diagnose
tidy::htmlver
Tidy


Détecte le version du code HTML utilisée dans un document

tidy::getConfig
Tidy::getopt
Tidy
PHP Manual

tidy::htmlver

tidy_get_html_ver

(PHP 5, PECL tidy >= 0.5.2)

tidy::htmlver -- tidy_get_html_ver — Détecte le version du code HTML utilisée dans un document

Description

Style orienté objet

int tidy::getHtmlVer ( void )

Style procédural

int tidy_get_html_ver ( tidy $object )

Retourne la version détectée du code HTML pour l'objet object Tidy spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne la version HTML détectée.

Avertissement

tidy_get_html_ver() n'est pas encore implémentée dans la bibliothèque Tidylib elle-même ; de ce fait, elle retournera toujours 0.

tidy::getConfig
Tidy::getopt
Tidy


Retourne la valeur de l'option de configuration Tidy

tidy::htmlver
tidy::getoptdoc
Tidy
PHP Manual

Tidy::getopt

tidy_getopt

(PHP 5, PECL tidy >= 0.5.2)

Tidy::getopt -- tidy_getopt — Retourne la valeur de l'option de configuration Tidy

Description

Style orienté objet

mixed tidy::getOpt ( string $option )

Style procédural

mixed tidy_getopt ( tidy $object , string $option )

tidy_getopt() retourne la valeur de l'option spécifiée option pour l'objet object. Le type retourné dépend du type de l'option spécifiée option.

Liste de paramètres

object

L'objet Tidy

option

Pour une explication sur chaque option, voyez » http://tidy.sourceforge.net/docs/quickref.html.

Valeurs de retour

Retourne la valeur spécifiée par l'option option. Le type de la valeur dépend de l'option elle-même.

Exemples

Exemple #1 Exemple avec Tidy::getopt()

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Titre</title></head>
 <body>

  <p><img src="img.png"></p>

  </body></html>';

 $config = array('accessibility-check' => 3,
 'alt-text' => 'du texte');

 $tidy = new tidy();
 $tidy->parseString($html, $config);

 var_dump($tidy->getOpt('accessibility-check')); //entier
 var_dump($tidy->getOpt('lower-literals'));      //booléen
 var_dump($tidy->getOpt('alt-text'));            //chaîne

 ?>

L'exemple ci-dessus va afficher :

int(3)
bool(true)
string(8) "du texte"

tidy::htmlver
tidy::getoptdoc
Tidy


Retourne la documentation pour le nom de l'option donnée

Tidy::getopt
tidy::getRelease
Tidy
PHP Manual

tidy::getoptdoc

tidy_get_opt_doc

(PHP 5 >= 5.1.0)

tidy::getoptdoc -- tidy_get_opt_doc — Retourne la documentation pour le nom de l'option donnée

Description

Style orienté objet

string tidy::getOptDoc ( string $optname )

Style procédural

string tidy_get_opt_doc ( tidy $object , string $optname )

Retourne la documentation pour le nom de l'option donnée.

Note: Vous devez posséder au moins libtidy datant du 25 avril 2005 pour que cette fonction soit disponible.

Liste de paramètres

object

L'objet Tidy

optname

Le nom de l'option

Valeurs de retour

Retourne une chaîne de caractères si l'option existe et qu'elle possède de la documentation ou FALSE autrement.

Exemples

Exemple #1 Affichage de toutes les options avec leur documentation et leur valeur par défaut

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'aucune documentation disponible!';

    $val = ($tidy->getOpt($opt) === true)  ? 'true'  : $val;
    $val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

    echo "<p><b>$opt</b> (défaut : '$val')<br />".
         "$doc</p><hr />\n";
}

?>

Voir aussi

  • tidy::getconfig() - Lit la configuration Tidy courante
  • tidy::getopt() - Retourne la valeur de l'option de configuration Tidy

Tidy::getopt
tidy::getRelease
Tidy


Retourne la date de publication (version) de la bibliothèque Tidy

tidy::getoptdoc
tidy::getStatus
Tidy
PHP Manual

tidy::getRelease

tidy_get_release

(PHP 5, PECL tidy >= 0.5.2)

tidy::getRelease -- tidy_get_release — Retourne la date de publication (version) de la bibliothèque Tidy

Description

Style orienté objet

string tidy::getRelease ( void )

Style procédural

string tidy_get_release ( void )

Retourne la date de publication (version) de la bibliothèque Tidy.

Valeurs de retour

Retourne une chaîne contenant la date de publication de la bibliothèque Tidy.

tidy::getoptdoc
tidy::getStatus
Tidy


Retourne le statut du document spécifié

tidy::getRelease
tidy::head
Tidy
PHP Manual

tidy::getStatus

tidy_get_status

(PHP 5, PECL tidy >= 0.5.2)

tidy::getStatus -- tidy_get_status — Retourne le statut du document spécifié

Description

Style orienté objet

int tidy::getStatus ( void )

Style procédural

int tidy_get_status ( tidy $object )

Retourne le statut de l'objet object Tidy spécifié. Elle retourne 0 si aucune erreur/avertissement n'a été rencontrée, 1 pour les avertissements d'accessibilité, et 2 pour les erreurs.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne 0 si aucune alerte ou erreur n'est survenue; 1 si des alertes ou des erreurs d'accessibilité ont été identifiées, et 2 pour des erreurs.

Exemples

Exemple #1 Exemple avec tidy::getStatus()

<?php
$html = '<p>paragraphe</i>';
$tidy = tidy_parse_string($html);

$html2 = '<bogus>test</bogus>';
$tidy2 = tidy_parse_string($html2);

echo tidy_get_status($tidy); //1

echo tidy_get_status($tidy2); //2
?>

tidy::getRelease
tidy::head
Tidy


Retourne un objet tidyNode à partir de la balise <head>

tidy::getStatus
tidy::html
Tidy
PHP Manual

tidy::head

tidy_get_head

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::head -- tidy_get_head — Retourne un objet tidyNode à partir de la balise <head>

Description

Style orienté objet

tidyNode tidy::head ( void )

Style procédural

tidyNode tidy_get_head ( tidy $object )

Retourne un objet tidyNode à partir de la balise <head>.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne l'objet tidyNode.

Exemples

Exemple #1 Exemple avec tidy::head()

<?php
$html = '
<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>paragraph</p>
 </body>
</html>';

$tidy = tidy_parse_string($html);

$head = tidy_get_head($tidy);
echo $head->value;
?>

L'exemple ci-dessus va afficher :

<head>
 <title>test</title>
</head>

Notes

Note: Cette fonction n'est disponible qu'avec le Zend Engine 2, c'est à dire PHP >= 5.0.0.

Voir aussi

  • tidy::body() - Retourne un objet TidyNode, commencé à partir de la balise <body>
  • tidy::html() - Retourne un objet tidyNode commençant à la balise <html>
tidy::getStatus
tidy::html
Tidy


Retourne un objet tidyNode commençant à la balise <html>

tidy::head
tidy::isXhtml
Tidy
PHP Manual

tidy::html

tidy_get_html

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::html -- tidy_get_html — Retourne un objet tidyNode commençant à la balise <html>

Description

Style orienté objet

tidyNode tidy::html ( void )

Style procédural

tidyNode tidy_get_html ( tidy $object )

Retourne un objet tidyNode commençant à la balise <html>.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne l'objet tidyNode.

Exemples

Exemple #1 Exemple avec tidy::html()

<?php
$html = '
<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>paragraph</p>
 </body>
</html>';

$tidy = tidy_parse_string($html);

$html = $tidy->html();
echo $html->value;
?>

L'exemple ci-dessus va afficher :

<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>paragraph</p>
 </body>
</html>

Notes

Note: Cette fonction n'est disponible qu'avec le Zend Engine 2, c'est à dire PHP >= 5.0.0.

Voir aussi

  • tidy::body() - Retourne un objet TidyNode, commencé à partir de la balise <body>
  • tidy::head() - Retourne un objet tidyNode à partir de la balise <head>
tidy::head
tidy::isXhtml
Tidy


Indique si le document est un document XHTML

tidy::html
tidy::isXml
Tidy
PHP Manual

tidy::isXhtml

tidy_is_xhtml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXhtml -- tidy_is_xhtml — Indique si le document est un document XHTML

Description

Style orienté objet

bool tidy::isXhtml ( void )

Style procédural

bool tidy_is_xhtml ( tidy $object )

Indique si le document est un document XHTML.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne TRUE si l'objet Tidy object spécifié est un document XHTML, ou FALSE sinon.

Avertissement

Cette fonction n'est pas encore implémentée par la bibliothèque Tidylib elle-même, donc elle retournera toujours FALSE.

tidy::html
tidy::isXml
Tidy


Indique si le document est un document XML générique (non HTML/XHTML)

tidy::isXhtml
tidy::parseFile
Tidy
PHP Manual

tidy::isXml

tidy_is_xml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXml -- tidy_is_xml — Indique si le document est un document XML générique (non HTML/XHTML)

Description

Style orienté objet

bool tidy::isXml ( void )

Style procédural

bool tidy_is_xml ( tidy $object )

tidy_is_xml() retourne TRUE si l'objet object Tidy est un document XML générique (non HTML/XHTML) ou FALSE sinon.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Cette fonction retourne TRUE si l'objet tidy spécifié est une document XML générique (non HTML/XHTML), ou FALSE sinon.

Avertissement

Cette fonction n'est pas encore implémentée par la bibliothèque Tidylib elle-même, donc elle retournera toujours FALSE.

tidy::isXhtml
tidy::parseFile
Tidy


Analyse les balises d'un fichier ou d'une URI

tidy::isXml
tidy::parseString
Tidy
PHP Manual

tidy::parseFile

tidy_parse_file

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseFile -- tidy_parse_file — Analyse les balises d'un fichier ou d'une URI

Description

Style orienté objet

bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Style procédural

tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Analyse le fichier spécifié.

Liste de paramètres

filename

Si le paramètre filename est fourni, cette fonction va aussi lire ce fichier, et initialiser l'objet avec ce fichier, de la même façon que tidy_parse_file().

config

La configuration config peut être passée sous forme de tableau ou de chaîne de caractères. Si une chaîne de caractères est passée, elle est interprétée comme le nom du fichier de configuration, et sinon, elle est interprétée comme les options elles-mêmes.

Pour une explication sur chaque option, voyez » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Le paramètre encoding configure l'encodage pour les documents d'entrée et de sortie. Les valeurs possibles sont ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 et shiftjis.

use_include_path

Active la recherche dans l' include_path.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec tidy::parseFile()

<?php
$tidy = tidy_parse_file('file.html');

$tidy->cleanRepair();

if(!empty($tidy->error_buf)) {
   echo 'Les erreurs et avertissements suivants ont été recontrés :'."\n";
   echo $tidy->error_buf;
}
?>

Notes

Note: Les paramètres optionnels config et encoding ont été ajoutés en Tidy 2.0.

Voir aussi

  • tidy::parsestring() - Analyse un document HTML contenu dans une chaîne
  • tidy::repairfile() - Répare un fichier et le renvoie en tant que chaîne
  • tidy::repairstring() - Répare une chaîne HTML en utilisant un fichier de configuration optionnel
tidy::isXml
tidy::parseString
Tidy


Analyse un document HTML contenu dans une chaîne

tidy::parseFile
tidy::repairFile
Tidy
PHP Manual

tidy::parseString

tidy_parse_string

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_string — Analyse un document HTML contenu dans une chaîne

Description

Style orienté objet

bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )

Style procédural

tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding ]] )

Analyse un document contenu dans une chaîne.

Liste de paramètres

input

Les données à analyser.

config

La configuration config peut être passée sous forme de tableau ou de chaîne de caractères. Si une chaîne de caractères est passée, elle est interprétée comme le nom du fichier de configuration, et sinon, elle est interprétée comme les options elles-mêmes.

Pour une explication sur chaque option, voyez » http://tidy.sourceforge.net/docs/quickref.html.

encoding

Le paramètre encoding configure l'encodage pour les documents d'entrée et de sortie. Les valeurs possibles sont ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 et shiftjis.

Valeurs de retour

Retourne une nouvelle instance tidy.

Exemples

Exemple #1 Exemple avec tidy::parseString()

<?php
ob_start();
?>

<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>erreur<br />une autre ligne</p>
 </body>
</html>

<?php
$buffer = ob_get_clean();
$config = array('indent' => TRUE,
   'output-xhtml' => TRUE,
   'wrap', 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();

echo $tidy;
?>

L'exemple ci-dessus va afficher :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>
   test
  </title>
 </head>
 <body>
  <p>
   error<br />
   another line
  </p>
 </body>
</html>

Notes

Note: Les paramètres optionnels config et encoding ont été ajoutés en Tidy 2.0.

Voir aussi

  • tidy::parseFile() - Analyse les balises d'un fichier ou d'une URI
  • tidy::repairFile() - Répare un fichier et le renvoie en tant que chaîne
  • tidy::repairString() - Répare une chaîne HTML en utilisant un fichier de configuration optionnel
tidy::parseFile
tidy::repairFile
Tidy


Répare un fichier et le renvoie en tant que chaîne

tidy::parseString
tidy::repairString
Tidy
PHP Manual

tidy::repairFile

tidy_repair_file

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairFile -- tidy_repair_file — Répare un fichier et le renvoie en tant que chaîne

Description

Style orienté objet

string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Style procédural

string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path = false ]]] )

Répare le fichier fourni et le renvoie sous la forme d'une chaîne.

Liste de paramètres

filename

Le fichier à réparer.

config

La configuration config peut être passée sous forme de tableau ou de chaîne de caractères. Si une chaîne de caractères est passée, elle est interprétée comme le nom du fichier de configuration, et sinon, elle est interprétée comme les options elles-mêmes.

Pour une explication sur chaque option, voyez http://tidy.sourceforge.net/docs/quickref.html.

encoding

Le paramètre encoding configure l'encodage pour les documents d'entrée et de sortie. Les valeurs possibles sont ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 et shiftjis.

use_include_path

Indique s'il faut chercher le fichier dans l' include_path.

Valeurs de retour

Retourne le contenu réparée, sous forme de chaîne.

Exemples

Exemple #1 Exemple avec tidy::repairFile()

<?php
$file = 'file.html';

$repaired = tidy_repair_file($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Notes

Note: Les paramètres optionnels config et encoding ont été ajoutés en Tidy 2.0.

Voir aussi

  • tidy::parseFile() - Analyse les balises d'un fichier ou d'une URI
  • tidy::parseString() - Analyse un document HTML contenu dans une chaîne
  • tidy::repairString() - Répare une chaîne HTML en utilisant un fichier de configuration optionnel
tidy::parseString
tidy::repairString
Tidy


Répare une chaîne HTML en utilisant un fichier de configuration optionnel

tidy::repairFile
tidy::root
Tidy
PHP Manual

tidy::repairString

tidy_repair_string

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_string — Répare une chaîne HTML en utilisant un fichier de configuration optionnel

Description

Style orienté objet

string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )

Style procédural

string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )

Répare la chaîne data.

Liste de paramètres

data

Les données à réparer.

config

La configuration config peut être passée sous forme de tableau ou de chaîne de caractères. Si une chaîne de caractères est passée, elle est interprétée comme le nom du fichier de configuration, et sinon, elle est interprétée comme les options elles-mêmes.

Lisez » http://tidy.sourceforge.net/docs/quickref.html pour une explication sur chaque option.

encoding

Le paramètre encoding configure l'encodage pour les documents d'entrée et de sortie. Les valeurs possibles sont ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 et shiftjis.

Valeurs de retour

Retourne la chaîne réparée.

Exemples

Exemple #1 Exemple avec tidy::repairString()

<?php
ob_start();
?>

<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>error</i>
 </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);

echo $tidy;
?>

L'exemple ci-dessus va afficher :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
 <head>
  <title>test</title>
 </head>
 <body>
  <p>error</p>
 </body>
</html>

Notes

Note: Les paramètres optionnels config et encoding ont été ajoutés en Tidy 2.0.

Voir aussi

  • tidy::parseFile() - Analyse les balises d'un fichier ou d'une URI
  • tidy::parseString() - Analyse un document HTML contenu dans une chaîne
  • tidy::repairFile() - Répare un fichier et le renvoie en tant que chaîne
tidy::repairFile
tidy::root
Tidy


Retourne un objet tidyNode représentant la racine du document HTML

tidy::repairString
TidyNode
Tidy
PHP Manual

tidy::root

tidy_get_root

(PHP 5, PECL tidy 0.5.2-1.0.0)

tidy::root -- tidy_get_root — Retourne un objet tidyNode représentant la racine du document HTML

Description

Style orienté objet

tidyNode tidy::root ( void )

Style procédural

tidyNode tidy_get_root ( tidy $object )

Retourne un objet tidyNode représentant la racine de l'arbre Tidy analysé.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne l'objet tidyNode.

Exemples

Exemple #1 Exemple avec tidy::root()

<?php

$html = <<< HTML
  <html><body>

    <p>paragraphe</p>
    <br/>

   </body></html>
  HTML;

  $tidy = tidy_parse_string($html);
  dump_nodes($tidy->root(), 1);

  function dump_nodes($node, $indent) {

    if($node->hasChildren()) {
      foreach($node->child as $child) {
        echo str_repeat('.', $indent*2) . ($child->name ? $child->name : '"'.$child->value.'"'). "\n";

        dump_nodes($child, $indent+1);
      }
    }

  }
?>

L'exemple ci-dessus va afficher :

..html
....head
......title
....body
......p
........"paragraphe"
......br

Notes

Note: Cette fonction n'est disponible qu'avec le Zend Engine 2, c'est à dire PHP >= 5.0.0.

tidy::repairString
TidyNode
Tidy


La classe TidyNode

Introduction

Une balise HTML dans un fichier HTML, tel que détecté par Tidy.

Synopsis de la classe

TidyNode
TidyNode {
/* Propriétés */
$value;
$name;
$type;
$line;
$column;
$proprietary;
$id;
$attribute;
$child;
/* Méthodes */
tidyNode tidyNode::getParent ( void )
bool tidyNode::hasChildren ( void )
bool tidyNode::hasSiblings ( void )
bool tidyNode::isAsp ( void )
bool tidyNode::isComment ( void )
bool tidyNode::isHtml ( void )
bool tidyNode::isJste ( void )
bool tidyNode::isPhp ( void )
bool tidyNode::isText ( void )
}

Propriétés

value

La représentation HTML du noeud, incluant les balises d'encadrement.

name

Le nom de la balise HTML

type

Le type de balise (une constante de type, e.g. TIDY_NODETYPE_PHP)

line

Le numéro de ligne auquel la balise commence

column

Le numéro de colonne où la balise commence

proprietary

Indique que la balise est une balise propriétaire

id

L'ID de la balise (une des constante de balise, e.g. TIDY_TAG_FRAME)

attribute

Un tableau de chaînes, représentant les noms d'attributs (les clés), du noeud courant.

child

Un tableau d'objets TidyNode, représentant les enfants du noeud courant.

Version | Description
5.1.0 | line, column et proprietary a été ajouté

Sommaire

  • tidyNode::getParent — Retourne le noeud parent du noeud courant
  • tidyNode::hasChildren — Indique si le noeud a des enfants
  • tidyNode::hasSiblings — Indique si le noeud a des frères
  • tidyNode::isAsp — Vérifie si le noeud est du code ASP
  • tidyNode::isComment — Indique si le noeud représente un commentaire
  • tidyNode::isHtml — Indique si le noeud est une partie d'un document HTML
  • tidyNode::isJste — Indique si ce noeud est JSTE
  • tidyNode::isPhp — Indique si un noeud contient du code PHP
  • tidyNode::isText — Indique si le noeud représente du texte (sans balise)
tidy::root
tidyNode::getParent
Tidy


Retourne le noeud parent du noeud courant

TidyNode
tidyNode::hasChildren
TidyNode
PHP Manual

tidyNode::getParent

(PHP 5 >= 5.2.2)

tidyNode::getParent — Retourne le noeud parent du noeud courant

Description

tidyNode tidyNode::getParent ( void )

Retourne le noeud parent du noeud courant.

Exemples

Exemple #1 Exemple avec tidyNode::hasChildren()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE  */
  alert('Hello World');
#>
 </head>
 <body>
 Hello World
 </body>
</html>

HTML;

$tidy = tidy_parse_string($html);
$num = 0;

$node = $tidy->html()->child[0]->child[0];

var_dump($node->getparent()->name);
?>

L'exemple ci-dessus va afficher :

string(4) "head"

Valeurs de retour

Retourne un tidyNode si le noeud a un parent, ou NULL sinon.

TidyNode
tidyNode::hasChildren
TidyNode


Indique si le noeud a des enfants

tidyNode::getParent
tidyNode::hasSiblings
TidyNode
PHP Manual

tidyNode::hasChildren

(PHP 5 >= 5.0.1)

tidyNode::hasChildren — Indique si le noeud a des enfants

Description

bool tidyNode::hasChildren ( void )

Indique si le noeud courant a des enfants.

Valeurs de retour

Retourne TRUE si le noeud a des enfants, FALSE sinon.

Exemples

Exemple #1 Exemple avec tidyNode::hasChildren()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// La balise head
var_dump($tidy->html()->child[0]->hasChildren());

// Le PHP dans la balise head
var_dump($tidy->html()->child[0]->child[0]->hasChildren());

?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)

Notes

Note: Cette fonction était appelée tidy_node::has_children() dans PHP 4/Tidy 1.

tidyNode::getParent
tidyNode::hasSiblings
TidyNode


Indique si le noeud a des frères

tidyNode::hasChildren
tidyNode::isAsp
TidyNode
PHP Manual

tidyNode::hasSiblings

(PHP 5 >= 5.0.1)

tidyNode::hasSiblings — Indique si le noeud a des frères

Description

bool tidyNode::hasSiblings ( void )

Indique si le noeud courant a des noeuds frères.

Valeurs de retour

Retourne TRUE si le noeud a des frères, FALSE sinon.

Exemples

Exemple #1 Exemple avec tidyNode::hasSiblings()

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE  */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP  */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// La balise html
var_dump($tidy->html()->hasSiblings());

// La balise head
var_dump($tidy->html()->child[0]->hasSiblings());

?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Notes

Note: Cette fonction était appelée tidy_node::has_siblings() dans PHP 4/Tidy 1.

tidyNode::hasChildren
tidyNode::isAsp
TidyNode


Vérifie si le noeud est du code ASP

tidyNode::hasSiblings
tidyNode::isComment
TidyNode
PHP Manual

tidyNode::isAsp

(PHP 5 >= 5.0.1)

tidyNode::isAsp — Vérifie si le noeud est du code ASP

Description

bool tidyNode::isAsp ( void )

Vérifie si le noeud est du code ASP.

Valeurs de retour

Retourne TRUE si le noeud est du code ASP, FALSE sinon.

Exemples

Exemple #1 Extrait di code ASP depuis un document HTML mixte

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'asp');

function get_nodes($node, $node_type) {

    // Vérifie si le noeud courant est du type requis
    if($node->{"is$node_type"}()) {
        echo "\n\n# Noeud $node_type #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Vérifie si le noeud courant a des enfants
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

L'exemple ci-dessus va afficher :

# Noeud asp #1
<%
  /* code ASP */
  response.write("Hello World!")
%>

Notes

Note: Cette fonction était nommée tidy_node::is_asp() en PHP 4/Tidy 1.

tidyNode::hasSiblings
tidyNode::isComment
TidyNode


Indique si le noeud représente un commentaire

tidyNode::isAsp
tidyNode::isHtml
TidyNode
PHP Manual

tidyNode::isComment

(PHP 5 >= 5.0.1)

tidyNode::isComment — Indique si le noeud représente un commentaire

Description

bool tidyNode::isComment ( void )

Indique si le document est un commentaire.

Valeurs de retour

Retourne TRUE si le document est un commentaire, FALSE sinon.

Exemples

Exemple #1 Extrait les commentais depuis un document HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP  */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'comment');

function get_nodes($node, $node_type) {

    // Vérifie si le noeud courant est du type demandé
    if($node->{"is$node_type"}()) {
        echo "\n\n# Noeud $node_type #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Vérifie si le noeud courant a des enfants
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

L'exemple ci-dessus va afficher :

# Noeud jste #1
<#
  /* code JSTE */
  alert('Hello World');
#>

/*
var_dump($tidy->html()->child[0]->hasChildren());
var_dump($tidy->html()->child[0]->child[0]->hasChildren());
*/

Notes

Note: Cette fonction était appelée tidy_node::is_comment() dans PHP 4/Tidy 1.

tidyNode::isAsp
tidyNode::isHtml
TidyNode


Indique si le noeud est une partie d'un document HTML

tidyNode::isComment
tidyNode::isJste
TidyNode
PHP Manual

tidyNode::isHtml

(PHP 5 >= 5.0.1)

tidyNode::isHtml — Indique si le noeud est une partie d'un document HTML

Description

bool tidyNode::isHtml ( void )

Indique si le noeud courant est une partie de document HTML.

Valeurs de retour

Retourne TRUE si le noeud est une partie de document HTML, FALSE sinon.

Exemples

Exemple #1 Extrait du code HTML depuis un document mixte

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'text');

function get_nodes($node, $node_type) {
    // Vérifie si le noeud courant est du type demandé
    if($node->{"is$node_type"}()) {
        echo "\n\n# Noeud $node_type #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Vérifie si le noeud courant a des enfants
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

L'exemple ci-dessus va afficher :

# Noeud html #1
<html>
<head>
<?php echo '<title>title</title>'; ?><#
  /* code JSTE */
  alert('Hello World');
#>
<title></title>
</head>
<body>
<?php
  // code PHP
  echo 'hello world!';
?><%
  /* code ASP */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>
</html>

# Noeud html #2
<head>
<?php echo '<title>title</title>'; ?><#
  /* code JSTE */
  alert('Hello World');
#>
<title></title>
</head>

# Noeud html #3
<?php echo '<title>title</title>'; ?>

# Noeud html #4
<#
  /* code JSTE */
  alert('Hello World');
#>

# Noeud html #5
<title></title>

# Noeud html #6
<body>
<?php
  // code PHP
  echo 'hello world!';
?><%
  /* code ASP */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>

# Noeud html #7
<?php
  // code PHP
  echo 'hello world!';
?>

# Noeud html #8
<%
  /* code ASP */
  response.write("Hello World!")
%>

# Noeud html #9
<!-- Comments -->

# Noeud html #10
Hello World

# Noeud html #11
Outside HTML

Notes

Note: Cette fonction était appelée tidy_node::is_html() dans PHP 4/Tidy 1.

tidyNode::isComment
tidyNode::isJste
TidyNode


Indique si ce noeud est JSTE

tidyNode::isHtml
tidyNode::isPhp
TidyNode
PHP Manual

tidyNode::isJste

(PHP 5 >= 5.0.1)

tidyNode::isJste — Indique si ce noeud est JSTE

Description

bool tidyNode::isJste ( void )

Indique si le noeud courant est un JSTE.

Valeurs de retour

Retourne TRUE si le noeud est du JSTE, FALSE sinon.

Exemples

Exemple #1 Extrait du code JSTE depuis un document HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'text');

function get_nodes($node, $node_type) {

    // Vérifie si le noeud courant est du type demandé
    if($node->{"is$node_type"}()) {
        echo "\n\n# Noeud $node_type #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Vérifie si le noeud courant a des enfants
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

L'exemple ci-dessus va afficher :

# Noeud jste #1
<#
  /* code JSTE */
  alert('Hello World');
#>

/*
var_dump($tidy->html()->child[0]->hasChildren());
var_dump($tidy->html()->child[0]->child[0]->hasChildren());
*/

Notes

Note: Cette fonction était appelée tidy_node::is_jste() dans PHP 4/Tidy 1.

tidyNode::isHtml
tidyNode::isPhp
TidyNode


Indique si un noeud contient du code PHP

tidyNode::isJste
tidyNode::isText
TidyNode
PHP Manual

tidyNode::isPhp

(PHP 5 >= 5.0.1)

tidyNode::isPhp — Indique si un noeud contient du code PHP

Description

bool tidyNode::isPhp ( void )

Indique si un noeud contient du code PHP.

Valeurs de retour

Retourne TRUE si le noeud courant est du code PHP, FALSE sinon.

Exemples

Exemple #1 Récupération de code PHP dans un document HTML

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'php');

function get_nodes($node, $node_type) {

    // Vérifie si le noeud courant est du type demandé
    if($node->{"is$node_type"}()) {
        echo "\n\n# Noeud $node_type #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Vérifie si le noeud courant a des enfants
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

L'exemple ci-dessus va afficher :

# Noeud PHP #1
<?php echo '<title>Titre</title>'; ?>

# Noeud PHP #2
<?php
  // code PHP
  echo 'hello world!';
?>

Notes

Note: Cette fonction était nommée tidy_node::is_php() en PHP 4/Tidy 1.

tidyNode::isJste
tidyNode::isText
TidyNode


Indique si le noeud représente du texte (sans balise)

tidyNode::isPhp
Fonctions Tidy
TidyNode
PHP Manual

tidyNode::isText

(PHP 5 >= 5.0.1)

tidyNode::isText — Indique si le noeud représente du texte (sans balise)

Description

bool tidyNode::isText ( void )

Indique si le noeud parent représente du texte (sans balise).

Valeurs de retour

Retourne TRUE si le noeud représente un texte, FALSE sinon.

Exemples

Exemple #1 Extrait du texte depuis un document HTML mixte

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* code JSTE */
  alert('Hello World');
#>
</head>
<body>

<?php
  // code PHP
  echo 'hello world!';
?>

<%
  /* code ASP */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'text');

function get_nodes($node, $node_type) {

    // Vérifie si le noeud courant est du type demandé
    if($node->{"is$node_type"}()) {
        echo "\n\n# Noeud $node_type #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // Vérifie si le noeud courant a des enfants
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

L'exemple ci-dessus va afficher :

# Noeud text #1
Hello World

# Noeud text #2
Outside HTML

Notes

Note: Cette fonction était appelée tidy_node::is_text() dans PHP 4/Tidy 1.

tidyNode::isPhp
Fonctions Tidy
TidyNode


Fonctions Tidy

Sommaire

  • ob_tidyhandler — Fonction de rappel ob_start pour réparer le buffer
  • tidy_access_count — Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document
  • tidy_config_count — Retourne le nombre d'erreurs de configuration Tidy rencontrées dans le document
  • tidy_error_count — Retourne le nombre d'erreurs Tidy rencontrées dans le document
  • tidy_get_error_buffer — Retourne les alertes et erreurs qui sont survenues lors de l'analyse du document
  • tidy_get_output — Retourne une chaîne représentant les balises telles qu'analysées par Tidy
  • tidy_load_config — Charge un fichier de configuration ASCII Tidy avec l'encodage spécifié
  • tidy_reset_config — Redonne les valeurs de configuration par défaut de Tidy
  • tidy_save_config — Sauve la configuration courante dans un fichier
  • tidy_set_encoding — Modifie le jeu de caractères pour les entrées/sorties de l'analyseur Tidy
  • tidy_setopt — Modifie la valeur de l'option de configuration Tidy
  • tidy_warning_count — Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié
tidyNode::isText
ob_tidyhandler
Tidy


Fonction de rappel ob_start pour réparer le buffer

Fonctions Tidy
tidy_access_count
Fonctions Tidy
PHP Manual

ob_tidyhandler

(PHP 5)

ob_tidyhandler — Fonction de rappel ob_start pour réparer le buffer

Description

string ob_tidyhandler ( string $input [, int $mode ] )

Fonction de rappel pour la fonction ob_start() afin de réparer le buffer.

Liste de paramètres

input

Le buffer.

mode

Le mode du buffer.

Valeurs de retour

Retourne le buffer modifié.

Exemples

Exemple #1 Exemple avec ob_tidyhandler()

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

L'exemple ci-dessus va afficher :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie

Fonctions Tidy
tidy_access_count
Fonctions Tidy


Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document

ob_tidyhandler
tidy_config_count
Fonctions Tidy
PHP Manual

tidy_access_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_access_count — Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document

Description

int tidy_access_count ( tidy $object )

tidy_access_count() retourne le nombre d'alertes d'accessibilité trouvées dans le document spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne le nombre d'alertes.

Exemples

Exemple #1 Exemple avec tidy_access_count()

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// sélectionne le degrès d'accessibilité : 1, 2 or 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->cleanRepair();

/* N'oubliez jamais d'appeler ceci ! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Notes

Note: Du fait du comportement de la TidyLib, vous devez appeler tidy_diagnose() avant tidy_access_count() sinon la fonction retournera toujours 0. Vous devez également activer l'option accessibility-check.

Voir aussi

  • tidy_error_count() - Retourne le nombre d'erreurs Tidy rencontrées dans le document
  • tidy_warning_count() - Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié

ob_tidyhandler
tidy_config_count
Fonctions Tidy


Retourne le nombre d'erreurs de configuration Tidy rencontrées dans le document

tidy_access_count
tidy_error_count
Fonctions Tidy
PHP Manual

tidy_config_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_config_count — Retourne le nombre d'erreurs de configuration Tidy rencontrées dans le document

Description

int tidy_config_count ( tidy $object )

tidy_config_count() retourne le nombre d'erreurs rencontrées dans la configuration de l'objet object Tidy spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne le nombre d'erreurs.

Exemples

Exemple #1 Exemple avec tidy_config_count()

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* Affichera 1, car 'bogus' n'est pas un doctype valide */
echo tidy_config_count($tidy);
?>

tidy_access_count
tidy_error_count
Fonctions Tidy


Retourne le nombre d'erreurs Tidy rencontrées dans le document

tidy_config_count
tidy_get_error_buffer
Fonctions Tidy
PHP Manual

tidy_error_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_error_count — Retourne le nombre d'erreurs Tidy rencontrées dans le document

Description

int tidy_error_count ( tidy $object )

tidy_error_count() retourne le nombre d'erreurs Tidy rencontrées dans le document spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne le nombre d'erreur.

Exemples

Exemple #1 Exemple avec tidy_error_count()

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

L'exemple ci-dessus va afficher :

 1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

Voir aussi

  • tidy_access_count() - Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document
  • tidy_warning_count() - Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié
tidy_config_count
tidy_get_error_buffer
Fonctions Tidy


Retourne les alertes et erreurs qui sont survenues lors de l'analyse du document

tidy_error_count
tidy_get_output
Fonctions Tidy
PHP Manual

tidy_get_error_buffer

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_error_buffer — Retourne les alertes et erreurs qui sont survenues lors de l'analyse du document

Description

Style procédural

string tidy_get_error_buffer ( tidy $object )

Style orienté objet

tidy
string $errorBuffer;

Retourne les erreurs et les avertissements rencontrés lors de l'analyse du document spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne le buffer d'erreurs sous forme de chaîne de caractères.

Exemples

Exemple #1 Exemple avec tidy_get_error_buffer()

<?php
$html = '<p>paragraph</p>';

$tidy = tidy_parse_string($html);
echo tidy_get_error_buffer($tidy);
?>

L'exemple ci-dessus va afficher :

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

Voir aussi

  • tidy_access_count() - Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document
  • tidy_error_count() - Retourne le nombre d'erreurs Tidy rencontrées dans le document
  • tidy_warning_count() - Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié
tidy_error_count
tidy_get_output
Fonctions Tidy


Retourne une chaîne représentant les balises telles qu'analysées par Tidy

tidy_get_error_buffer
tidy_load_config
Fonctions Tidy
PHP Manual

tidy_get_output

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_output — Retourne une chaîne représentant les balises telles qu'analysées par Tidy

Description

string tidy_get_output ( tidy $object )

Retourne une chaîne représentant les balises telles qu'analysées par Tidy.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne les balises analysées par Tidy.

Exemples

Exemple #1 Exemple avec tidy_get_output()

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->cleanRepair();

echo tidy_get_output($tidy);
?>

L'exemple ci-dessus va afficher :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

tidy_get_error_buffer
tidy_load_config
Fonctions Tidy


Charge un fichier de configuration ASCII Tidy avec l'encodage spécifié

tidy_get_output
tidy_reset_config
Fonctions Tidy
PHP Manual

tidy_load_config

(PECL tidy >= 0.5.2)

tidy_load_config — Charge un fichier de configuration ASCII Tidy avec l'encodage spécifié

Description

void tidy_load_config ( string $filename , string $encoding )

Charge le fichier de configuration Tidy avec le jeu de caractères encoding.

Liste de paramètres

filename

encoding

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Cette fonction n'est disponible qu'avec Tidy 1.0. Elle a été abandonnée en Tidy 2.0 et a donc été supprimée.

tidy_get_output
tidy_reset_config
Fonctions Tidy


Redonne les valeurs de configuration par défaut de Tidy

tidy_load_config
tidy_save_config
Fonctions Tidy
PHP Manual

tidy_reset_config

(PECL tidy >= 0.7.0)

tidy_reset_config — Redonne les valeurs de configuration par défaut de Tidy

Description

bool tidy_reset_config ( void )

Restaure la configuration par défaut de Tidy.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction n'est disponible qu'avec Tidy 1.0. Elle a été abandonnée en Tidy 2.0 et a donc été supprimée.

tidy_load_config
tidy_save_config
Fonctions Tidy


Sauve la configuration courante dans un fichier

tidy_reset_config
tidy_set_encoding
Fonctions Tidy
PHP Manual

tidy_save_config

(PECL tidy >= 0.5.2)

tidy_save_config — Sauve la configuration courante dans un fichier

Description

bool tidy_save_config ( string $filename )

Sauve la configuration courante dans le fichier filename. Seules les valeurs différentes des valeurs par défaut sont sauvées.

Liste de paramètres

filename

Chemin vers le fichier de configuration.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction n'est disponible qu'avec Tidy 1.0. Elle a été abandonnée en Tidy 2.0 et a donc été supprimée.

Voir aussi

  • tidy_get_config() - Lit la configuration Tidy courante
  • tidy_getopt() - Retourne la valeur de l'option de configuration Tidy
  • tidy_reset_config() - Redonne les valeurs de configuration par défaut de Tidy
  • tidy_setopt() - Modifie la valeur de l'option de configuration Tidy

tidy_reset_config
tidy_set_encoding
Fonctions Tidy


Modifie le jeu de caractères pour les entrées/sorties de l'analyseur Tidy

tidy_save_config
tidy_setopt
Fonctions Tidy
PHP Manual

tidy_set_encoding

(PECL tidy >= 0.5.2)

tidy_set_encoding — Modifie le jeu de caractères pour les entrées/sorties de l'analyseur Tidy

Description

bool tidy_set_encoding ( string $encoding )

Modifie le jeu de caractères pour les entrées/sorties de l'analyseur Tidy.

Liste de paramètres

encoding

La valeurs possibles de encoding sont ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 et shiftjis.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction n'est disponible qu'avec Tidy 1.0. Elle a été abandonnée en Tidy 2.0 et a donc été supprimée.

tidy_save_config
tidy_setopt
Fonctions Tidy


Modifie la valeur de l'option de configuration Tidy

tidy_set_encoding
tidy_warning_count
Fonctions Tidy
PHP Manual

tidy_setopt

(PECL tidy >= 0.5.2)

tidy_setopt — Modifie la valeur de l'option de configuration Tidy

Description

bool tidy_setopt ( string $option , mixed $value )

tidy_setopt() configure l'option option avec la nouvelle valeur value.

Liste de paramètres

option

Le nom de l'option. Pour une explication sur chaque option, voyez » http://tidy.sourceforge.net/docs/quickref.html.

value

La valeur de l'option.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec tidy_setopt()

<?php
$html = '<p>test</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

Notes

Note: Cette fonction n'est disponible qu'avec Tidy 1.0. Elle a été abandonnée en Tidy 2.0 et a donc été supprimée.

Voir aussi

  • tidy_getopt() - Retourne la valeur de l'option de configuration Tidy
  • tidy_get_config() - Lit la configuration Tidy courante
  • tidy_reset_config() - Redonne les valeurs de configuration par défaut de Tidy
  • tidy_save_config() - Sauve la configuration courante dans un fichier
tidy_set_encoding
tidy_warning_count
Fonctions Tidy


Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié

tidy_setopt
Tokenizer
Fonctions Tidy
PHP Manual

tidy_warning_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_warning_count — Retourne le nombre d'alertes Tidy rencontrées dans le document spécifié

Description

int tidy_warning_count ( tidy $object )

Retourne le nombre d'avertissements Tidy rencontrés pour le document spécifié.

Liste de paramètres

object

L'objet Tidy

Valeurs de retour

Retourne le nombre d'alertes.

Exemples

Exemple #1 Exemple avec tidy_warning_count()

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Voir aussi

  • tidy_error_count() - Retourne le nombre d'erreurs Tidy rencontrées dans le document
  • tidy_access_count() - Retourne le nombre d'alertes d'accessibilité Tidy rencontrées dans le document

tidy_setopt
Tokenizer
Fonctions Tidy


Tokenizer

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Tokenizer
    • token_get_all — Scinde un code source en éléments de base
    • token_name — Lit le nom d'un élément de code source
tidy_warning_count
Introduction
Autres extensions basiques


Introduction

Les fonctions tokenizer fournissent une interface au tokenizer PHP interne au moteur Zend. Par l'utilisation de ces fonctions, vous pouvez écrire vos propres outils PHP d'analyse ou de modifications, sans avoir à vous soucier de la spécification du langage au niveau lexical.

Voir aussi l'appendice sur les tokens.

Tokenizer
Installation/Configuration
Tokenizer


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Tokenizer


Installation

À partir de PHP 4.3.0, ces fonctions sont activées par défaut. Pour les anciennes versions, vous devez compiler PHP avec l'option --enable-tokenizer. Vous pouvez désactiver le support de l'extension tokenizer avec l'option --disable-tokenizer.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Note: Le support automatique du tokenizer est disponible depuis PHP 4.3.0.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Lorsque l'extension est compilée dans PHP ou chargée dynamiquement au démarrage, les jetons listés dans la Liste des tokens de l'analyseur sont définis comme des constantes.

Types de ressources
Exemples
Tokenizer


Exemples

Voici un exemple simple de scripts PHP utilisant le tokenizer qui lit un fichier PHP, supprime tous les commentaires de la source et affiche uniquement le code.

Exemple #1 Supprime les commentaires avec le tokenizer

<?php
/*
* T_ML_COMMENT n'existe pas en PHP 5.
* Les lignes suivantes le définisse afin de rendre
* compatible notre code.
*
* Ensuite, les 2 lignes définissent T_DOC_COMMENT uniquement pour PHP 5,
* que nous masquons en T_ML_COMMENT pour PHP 4.
*/
if (!defined('T_ML_COMMENT')) {
   define('T_ML_COMMENT', T_COMMENT);
} else {
   define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
   if (is_string($token)) {
       // un simple caractère token
       echo $token;
   } else {
       // tableau token
       list($id, $text) = $token;

       switch ($id) {
           case T_COMMENT:
           case T_ML_COMMENT: // nous avons défini ceci
           case T_DOC_COMMENT: // et ceci
               // Aucune action sur les commentaires
               break;

           default:
               // rien d'autre -> affiche "as is"
               echo $text;
               break;
       }
   }
}
?>
Constantes pré-définies
Fonctions Tokenizer
Tokenizer


Fonctions Tokenizer

Sommaire

  • token_get_all — Scinde un code source en éléments de base
  • token_name — Lit le nom d'un élément de code source
Exemples
token_get_all
Tokenizer


Scinde un code source en éléments de base

Fonctions Tokenizer
token_name
Fonctions Tokenizer
PHP Manual

token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_all — Scinde un code source en éléments de base

Description

array token_get_all ( string $source )

token_get_all() analyse la chaîne donnée source en utilisant l'analyseur lexical du moteur Zend.

Pour une liste des tokens, voir Liste des tokens de l'analyseur, ou utilisez la fonction token_name() pour traduire une valeur token dans une représentation sous forme de chaîne de caractères.

Liste de paramètres

source

Le source PHP à analyser.

Valeurs de retour

Un tableau contenant la liste des descriptions des éléments. Chaque élément du tableau peut être un caractère unique (i.e.: ;, ., >, !, etc.) ou bien un tableau contenant un identifiant de token dans l'élément 0, la représentation de ce code source dans l'élément 1 et le numéro de la ligne dans l'élément 2.

Exemples

Exemple #1 Exemple avec token_get_all()

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */
/* Notez que dans l'exemple suivant, la chaîne est parsée
comme T_INLINE_HTML plutôt que l'attendu T_COMMENT (T_COMMENT dans PHP inférieur
à la version 5), car il n'y a pas d'ouverture/fermeture de balises utilisées dans le "code".
Cela revient à mettre un commentaire à l'extérieur des balises <?php ?> dans
un fichier normal. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Historique

Version | Description
5.2.2 | Les numéros de lignes sont retournés dans l'élément 2

Fonctions Tokenizer
token_name
Fonctions Tokenizer


Lit le nom d'un élément de code source

token_get_all
URLs
Fonctions Tokenizer
PHP Manual

token_name

(PHP 4 >= 4.2.0, PHP 5)

token_name — Lit le nom d'un élément de code source

Description

string token_name ( int $token )

token_name() retourne le nom symbolique pour une valeur PHP token value.

Liste de paramètres

token

La valeur token.

Valeurs de retour

Le nom symbolique du token donné. Le nom retourné correspond au nom correspondant à la constante token

Exemples

Exemple #1 Exemple avec token_name()

<?php
// 260 est la valeur token pour le token T_REQUIRE
echo token_name(260);        // -> "T_REQUIRE"

// une constante token correspondant à son propre nom
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Voir aussi

  • Liste des tokens de l'analyseur PHP

token_get_all
URLs
Fonctions Tokenizer


URLs

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions URL
    • base64_decode — Décode une chaîne en MIME base64
    • base64_encode — Encode une chaîne en MIME base64
    • get_headers — Retourne tous les en-têtes envoyés par le serveur en réponse à une requête HTTP
    • get_meta_tags — Extrait toutes les balises méta d'un fichier HTML
    • http_build_query — Génère une chaîne de requête en encodage URL
    • parse_url — Analyse une URL et retourne ses composants
    • rawurldecode — Décode une chaîne URL
    • rawurlencode — Encode une chaîne en URL, selon la RFC 1738
    • urldecode — Décode une chaîne encodée URL
    • urlencode — Encode une chaîne en URL
token_name
Introduction
Autres extensions basiques


Introduction

Travaux avec les chaînes URL : encodage, décodage et analyse.

URLs
Installation/Configuration
URLs


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
URLs


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes suivantes sont prévues pour être utilisées avec la fonction parse_url() et sont disponibles depuis PHP 5.1.2.

PHP_URL_SCHEME (entier)
PHP_URL_HOST (entier)
PHP_URL_PORT (entier)
PHP_URL_USER (entier)
PHP_URL_PASS (entier)
PHP_URL_PATH (entier)
PHP_URL_QUERY (entier)
PHP_URL_FRAGMENT (entier)
Types de ressources
Fonctions URL
URLs


Fonctions URL

Sommaire

  • base64_decode — Décode une chaîne en MIME base64
  • base64_encode — Encode une chaîne en MIME base64
  • get_headers — Retourne tous les en-têtes envoyés par le serveur en réponse à une requête HTTP
  • get_meta_tags — Extrait toutes les balises méta d'un fichier HTML
  • http_build_query — Génère une chaîne de requête en encodage URL
  • parse_url — Analyse une URL et retourne ses composants
  • rawurldecode — Décode une chaîne URL
  • rawurlencode — Encode une chaîne en URL, selon la RFC 1738
  • urldecode — Décode une chaîne encodée URL
  • urlencode — Encode une chaîne en URL
Constantes pré-définies
base64_decode
URLs


Décode une chaîne en MIME base64

Fonctions URL
base64_encode
Fonctions URL
PHP Manual

base64_decode

(PHP 4, PHP 5)

base64_decode — Décode une chaîne en MIME base64

Description

string base64_decode ( string $data [, bool $strict = false ] )

Décode encoded_data.

Liste de paramètres

data

Les données à décoder.

strict

Retourne FALSE si l'entrée contient un espace des caractères hors de l'alphabet base64.

Valeurs de retour

Retourne les données décodées ou FALSE si une erreur survient. Les informations initiales peuvent être binaires.

Historique

Version | Description
5.2.0 | Le paramètre strict a été ajouté

Exemples

Exemple #1 Exemple avec base64_decode()

<?php
$str = 'Q2VjaSBlc3QgdW5lIGNoYe5uZSBlbmNvZOll';
echo base64_decode($str);
?>

L'exemple ci-dessus va afficher :

Ceci est une chaîne encodée

Voir aussi

  • base64_encode() - Encode une chaîne en MIME base64
  • » RFC 2045, section 6.8

Fonctions URL
base64_encode
Fonctions URL


Encode une chaîne en MIME base64

base64_decode
get_headers
Fonctions URL
PHP Manual

base64_encode

(PHP 4, PHP 5)

base64_encode — Encode une chaîne en MIME base64

Description

string base64_encode ( string $data )

Encode data en base64.

Cet encodage est fait pour permettre aux informations binaires d'être manipulées par les systèmes qui ne gèrent pas correctement les 8 bits, comme les corps de mail.

Une chaîne encodée base64 prend environ 33 % de plus que les données initiales.

Liste de paramètres

data

Les données à encoder.

Valeurs de retour

Les données encodées, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec base64_encode()

<?php
$str = 'Ceci est une chaîne encodée';
echo base64_encode($str);
?>

L'exemple ci-dessus va afficher :

Q2VjaSBlc3QgdW5lIGNoYe5uZSBlbmNvZOll

Voir aussi

  • base64_decode() - Décode une chaîne en MIME base64
  • chunk_split() - Scinde une chaîne
  • convert_uuencode() - Encode une chaîne de caractères en utilisant l'algorithme uuencode
  • » RFC 2045, section 6.8

base64_decode
get_headers
Fonctions URL


Retourne tous les en-têtes envoyés par le serveur en réponse à une requête HTTP

base64_encode
get_meta_tags
Fonctions URL
PHP Manual

get_headers

(PHP 5)

get_headers — Retourne tous les en-têtes envoyés par le serveur en réponse à une requête HTTP

Description

array get_headers ( string $url [, int $format = 0 ] )

get_headers() retourne un tableau avec les en-têtes envoyés par le serveur en réponse à une requête HTTP.

Liste de paramètres

url

L'URL cible.

format

Si le paramètre optionnel format est défini à 1, get_headers() analyse la réponse et définit les index du tableau.

Valeurs de retour

Retourne un tableau indexé ou associatif contenant les en-têtes, ou FALSE si une erreur survient.

Historique

Version | Description
5.1.3 | Cette fonction utilise le contexte de flux de défaut, qui peut être fixé/changé avec la fonction stream_context_get_default().

Exemples

Exemple #1 Exemple avec get_headers()

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

base64_encode
get_meta_tags
Fonctions URL


Extrait toutes les balises méta d'un fichier HTML

get_headers
http_build_query
Fonctions URL
PHP Manual

get_meta_tags

(PHP 4, PHP 5)

get_meta_tags — Extrait toutes les balises méta d'un fichier HTML

Description

array get_meta_tags ( string $filename [, bool $use_include_path = false ] )

get_meta_tags() ouvre le fichier filename et l'analyse ligne par ligne à la recherche de balises "meta". L'analyse cesse lors de la rencontre de la balise </head>.

Liste de paramètres

filename

Le chemin vers un fichier HTML, sous la forme d'une chaîne de caractères. Ce peut être un fichier local ou une URL.

Exemple #1 Ce que la fonction get_meta_tags() analyse

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- cesse l'analyse ici -->
Attention au format des nouvelles lignes : PHP utilise une fonction native pour analyser le fichier, et les fichiers Mac ne seront pas reconnus.

use_include_path

En donnant la valeur de TRUE au paramètre optionnel use_include_path fera que get_meta_tags() recherchera aussi le fichier dans l'include_path. Ce est utilisé pour des fichiers locaux, non des URLs.

Valeurs de retour

Retourne un tableau contenant toutes les balises méta analysées.

La valeur de la propriété sera utilisée comme clé du tableau, et sa valeur comme valeur correspondante de la clé. Vous pourrez ainsi passer en revue facilement ce tableau avec les fonctions de tableau standard. Les caractères spéciaux présents dans la valeur seront replacés par un souligné ("_"), et le reste est converti en minuscule. Si deux balises méta possèdent le même nom, seule la dernière sera retournée.

Historique

Version | Description
4.0.5 | le support des attributs HTML sans guillemets a été ajouté.

Exemples

Exemple #2 Ce que la fonction get_meta_tags() retourne

<?php
// Supposons que les balises ci-dessus sont disponibles sur example.com
$tags = get_meta_tags('http://www.example.com/');

// Notez que les clés sont en minuscule, et
// le . a été remplacé par _ dans la clé
echo $tags['author'];       // nom
echo $tags['keywords'];     // documentation php
echo $tags['description'];  // n manuel PHP
echo $tags['geo_position']; // 49.33;-86.59
?>

Voir aussi

  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • urlencode() - Encode une chaîne en URL

get_headers
http_build_query
Fonctions URL


Génère une chaîne de requête en encodage URL

get_meta_tags
parse_url
Fonctions URL
PHP Manual

http_build_query

(PHP 5)

http_build_query — Génère une chaîne de requête en encodage URL

Description

string http_build_query ( array $formdata [, string $numeric_prefix [, string $arg_separator ]] )

Génère une chaîne en encodage URL, construite à partir du tableau indexé ou associatif formdata.

Liste de paramètres

formdata

Peut être un tableau ou un objet contenant des propriétés.

Le tableau peut avoir une structure à une dimension ou un tableau de tableaux (qui peuvent également contenir d'autres tableaux).

numeric_prefix

Si des indices numériques sont utilisés dans le tableau de base et que numeric_prefix est fourni, il sera utilisé pour préfixer les noms des index pour les éléments du tableau de base seulement.

Cela permet de générer des noms de variables valides, si les données sont ensuite décodées par PHP ou une application CGI.

arg_separator

arg_separator.output est utilisée pour séparer les arguments tant que le paramètre arg_separator n'est pas fourni.

Valeurs de retour

Retourne une chaîne de caractères encodée URL.

Historique

Version | Description
5.1.2 | Le paramètre arg_separator a été ajouté.
5.1.3 | Les crochets sont échappés.

Exemples

Exemple #1 Utilisation simple de http_build_query()

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
echo http_build_query($data, '', '&amp;'); // foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

?>

Exemple #2 http_build_query() avec tableau indexé

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, 'myvar_');
?>

L'exemple ci-dessus va afficher :

0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor

Exemple #3 http_build_query() avec tableau complexe

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'age'=>47,
                            'sex'=>'M',
                            'dob'=>'5/12/1956'),
              'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
              'children'=>array('bobby'=>array('age'=>12,
                                               'sex'=>'M'),
                                'sally'=>array('age'=>8,
                                               'sex'=>'F')),
              'CEO');

echo http_build_query($data, 'flags_');
?>

cet exemple va afficher : (sur plusieurs lignes pour la lisibilité)

user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&
user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&
pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&
children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&
children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO

Note: Seuls les éléments indexés numériquement ("CEO") dans le tableau de base sont préfixés. Les autres indices numériques à d'autres niveaux n'ont pas besoin de l'être pour avoir des noms valides.

Exemple #4 Utilisation de http_build_query() avec un objet

<?php
class myClass {
    var $foo;
    var $baz;

    function myClass() {
        $this->foo = 'bar';
        $this->baz = 'boom';
    }
}

$data = new myClass();

echo http_build_query($data); // foo=bar&baz=boom

?>

Voir aussi

  • parse_str() - Analyse une requête HTTP
  • parse_url() - Analyse une URL et retourne ses composants
  • urlencode() - Encode une chaîne en URL
  • array_walk() - Exécute une fonction sur chacun des éléments d'un tableau

get_meta_tags
parse_url
Fonctions URL


Analyse une URL et retourne ses composants

http_build_query
rawurldecode
Fonctions URL
PHP Manual

parse_url

(PHP 4, PHP 5)

parse_url — Analyse une URL et retourne ses composants

Description

mixed parse_url ( string $url [, int $component = -1 ] )

Cette fonction analyse une URL et retourne un tableau associatif contenant tous les éléments qui y sont présents.

Cette fonction n'est pas faite pour valider l'URL fournie, elle ne fait que la découper en parties listées ci-dessous. Les URL partielles sont également acceptées, la fonction parse_url() fera de son mieux pour les analyser correctement.

Liste de paramètres

url

L'URL à analyser. Les caractères invalides sont remplacées par des caractères soulignés _.

component

Peut être une des constantes parmi PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY ou PHP_URL_FRAGMENT pour récupérer uniquement une partie de l'URL en tant que chaîne de caractères.

Valeurs de retour

Pour les URL vraiment mal formées, parse_url() peut retourner FALSE et émettre un E_WARNING. Sinon, un tableau associatif est retourné, dont les éléments peuvent être (au moins un) :

  • scheme - e.g. http
  • host
  • port
  • user
  • pass
  • path
  • query - après le marqueur de question ?
  • fragment - après la hachure #

Si le paramètre component est spécifié, une chaîne de caractères est retournée au lieu d'un tableau.

Historique

Version | Description
5.1.2 | Ajout du paramètre component

Exemples

Exemple #1 Exemple avec parse_url()

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>

L'exemple ci-dessus va afficher :

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

Notes

Note: Cette fonction ne fonctionne pas avec les URL relatives.

Note: parse_url() a été créée tout spécialement pour analyser les URL et non les URI. Cependant, pour des raisons de compatibilité adjacente, PHP fait une exception pour le schéma file:// où les triples slashs (file:///...) sont autorisés. Tous les autres schémas sont invalides.

Voir aussi

  • pathinfo() - Retourne des informations sur un chemin système
  • parse_str() - Analyse une requête HTTP
  • http_build_query() - Génère une chaîne de requête en encodage URL
  • http_build_url() - Construit une URL
  • dirname() - Renvoie le nom du dossier
  • basename() - Sépare le nom du fichier et le nom du dossier

http_build_query
rawurldecode
Fonctions URL


Décode une chaîne URL

parse_url
rawurlencode
Fonctions URL
PHP Manual

rawurldecode

(PHP 4, PHP 5)

rawurldecode — Décode une chaîne URL

Description

string rawurldecode ( string $str )

rawurldecode() retourne la chaîne str dont les séquences de caractères %xy, avec xy deux valeurs hexadécimales, auront été remplacées par le caractère ASCII correspondant.

Liste de paramètres

str

L'URL à décoder.

Valeurs de retour

Retourne l'URL décodée, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec rawurldecode()

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Notes

Note: rawurldecode() ne décode pas le symbole d'addition ("+") contrairement à la fonction urldecode().

Voir aussi

  • rawurlencode() - Encode une chaîne en URL, selon la RFC 1738
  • urldecode() - Décode une chaîne encodée URL
  • urlencode() - Encode une chaîne en URL

parse_url
rawurlencode
Fonctions URL


Encode une chaîne en URL, selon la RFC 1738

rawurldecode
urldecode
Fonctions URL
PHP Manual

rawurlencode

(PHP 4, PHP 5)

rawurlencode — Encode une chaîne en URL, selon la RFC 1738

Description

string rawurlencode ( string $str )

Encode la chaîne fournie, en accord avec la » RFC 1738.

Liste de paramètres

str

L'URL à encoder.

Valeurs de retour

Retourne une chaîne dont tous les caractères non alphanumériques (hormis

-_.
) auront été remplacés par des séquences %xy (%), avec xy, deux valeurs hexadécimales. Ce codage est conforme à la » RFC 1738 qui évite que les caractères spéciaux soient interprétés comme des délimiteurs, et pour protéger les URL lors du transfert (contrairement à certains systèmes email).

Exemples

Exemple #1 Exemple avec rawurlencode()

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

L'exemple ci-dessus va afficher :

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

Ou, si vous transmettez un composant PATH_INFO d'une URL :

Exemple #2 Exemple avec rawurlencode()

<?php
echo '<a href="http://example.com/department_list_script/',
    rawurlencode('sales and marketing/Miami'), '">';
?>

L'exemple ci-dessus va afficher :

<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

Voir aussi

  • rawurldecode() - Décode une chaîne URL
  • urldecode() - Décode une chaîne encodée URL
  • urlencode() - Encode une chaîne en URL
  • » RFC 1738

rawurldecode
urldecode
Fonctions URL


Décode une chaîne encodée URL

rawurlencode
urlencode
Fonctions URL
PHP Manual

urldecode

(PHP 4, PHP 5)

urldecode — Décode une chaîne encodée URL

Description

string urldecode ( string $str )

Décode toutes les séquences %## et les remplace par leur valeur. Les caractères '+' sont décodés en un caractère d'espacement.

Liste de paramètres

str

La chaîne de caractères à décoder.

Valeurs de retour

Retourne la chaîne de caractères décodée.

Exemples

Exemple #1 Exemple avec urldecode()

<?php
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
    $b = split('=', $a[$i]);
    echo 'La valeur du paramètre ', htmlspecialchars(urldecode($b[0])),
         ' est ', htmlspecialchars(urldecode($b[1])), "<br />\n";
    $i++;
}
?>

Notes

Avertissement

Les superglobales $_GET et $_REQUEST sont déjà décodées. Utiliser urldecode() sur un élément de $_GET ou $_REQUEST peut avoir des conséquences inattendues et dangereuses.

Voir aussi

  • urlencode() - Encode une chaîne en URL
  • rawurlencode() - Encode une chaîne en URL, selon la RFC 1738
  • rawurldecode() - Décode une chaîne URL

rawurlencode
urlencode
Fonctions URL


Encode une chaîne en URL

urldecode
Yaml
Fonctions URL
PHP Manual

urlencode

(PHP 4, PHP 5)

urlencode — Encode une chaîne en URL

Description

string urlencode ( string $str )

Cette fonction est utile lors de l'encodage d'une chaîne de caractères à utiliser dans la partie d'une URL, comme façon simple de passer des variables vers la page suivante.

Liste de paramètres

str

La chaîne de caractères à encoder.

Valeurs de retour

Retourne une chaîne dont les caractères non alphanumériques (hormis -_.) sont remplacés par des séquences commençant par un caractère pourcentage (%), suivi de deux chiffres hexadécimaux. Les espaces sont remplacés par des signes plus (+). Ce codage est celui qui est utilisé pour poster des informations dans les formulaires HTML. Le type MIME est application/x-www-form-urlencoded. Ce codage est différent de celui spécifié dans la » RFC 1738 (voir rawurlencode()) : pour des raisons historiques, les espaces sont remplacés par des signes plus (+).

Exemples

Exemple #1 Exemple avec urlencode()

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Exemple #2 Exemple avec urlencode() et htmlentities()

<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

Notes

Note: Faites bien attention aux variables qui ressemblent à des entités HTML, comme &amp;, &copy; et &pound;, qui sont analysées par le client web et remplacées par leur valeur. C'est un vrai problème qui a été montré par le W3C depuis longtemps. La référence est ici : » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.
PHP supporte le remplacement de séparateur d'arguments par un point-virgule, comme recommandé par le W3C, grâce à la directive arg_separator du fichier php.ini. Malheureusement, la plupart des clients web n'envoient pas leurs données de formulaire avec des points-virgules. Une solution plus portable est d'utiliser &amp; à la place de & comme séparateur. Vous n'avez alors pas à changer la directive arg_separator. Laissez-la à &, mais encodez vos URL en utilisant htmlentities() ou htmlspecialchars().

Voir aussi

  • urldecode() - Décode une chaîne encodée URL
  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • rawurlencode() - Encode une chaîne en URL, selon la RFC 1738
  • rawurldecode() - Décode une chaîne URL

urldecode
Yaml
Fonctions URL


Sérialisation de données YAML

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Yaml Fonctions
    • yaml_emit_file — Envoie une représentation YAML vers un fichier
    • yaml_emit — Retourne une chaine représentant une valeur YAML
    • yaml_parse_file — Analyse un flux YAML depuis un fichier
    • yaml_parse_url — Analyse un flux YAML depuis une URL
    • yaml_parse — Analyse un flux YAML
urlencode
Introduction
Autres extensions basiques


Introduction

Cette extension donne accès au standard de sérialisation» YAML Ain't Markup Language (YAML). L'analyse syntaxique et la production de données sont effectués par la librairie » LibYAML.

Yaml
Installation/Configuration
Yaml


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Yaml


Pré-requis

Cette extension nécessite la » librairie C LibYAML en version 0.1.0 ou plus pour être installée.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/yaml.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Yaml Options de configuration
Nom | Défaut | Modifiable | Historique
yaml.decode_binary | 0 | PHP_INI_ALL |
yaml.decode_timestamp | 0 | PHP_INI_ALL |
yaml.output_canonical | 0 | PHP_INI_ALL |
yaml.output_indent | 2 | PHP_INI_ALL |
yaml.output_width | 80 | PHP_INI_ALL |

Voici un éclaircissement sur l'utilisation des directives de configuration.

yaml.decode_binary boolean

Off par défaut, si mis à on : permet le décodage des entités binaires base64 ayant le tag explicite "tag:yaml.org,2002:binary".

yaml.decode_timestamp integer

Contrôle le décodage des scalaires implicites et explicites "tag:yaml.org,2002:timestamp" dans le flux du document YAML. La valeur par défaut est 0 elle n'appliquera aucun décodage. Mis à 1, strtotime() sera utilisé pour analyser le timestamp comme un timestamp Unix timestamp. Mis à 2, date_create() sera utilisée pour analyser le timestamp et via un objet DateTime .

yaml.output_canonical boolean

Off par défaut, si mis à on : une sortie canonique sera utilisée.

yaml.output_indent integer

Nombres d'espaces pour l'indentation. Un entier entre 1 et 10 est requis.

yaml.output_width integer

Précise la largeur de ligne. -1 signifie illimité.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Styles scalaires utilisés par les fonctions de rappel de yaml_parse()
YAML_ANY_SCALAR_STYLE ( integer )
YAML_PLAIN_SCALAR_STYLE ( integer )
YAML_SINGLE_QUOTED_SCALAR_STYLE ( integer )
YAML_DOUBLE_QUOTED_SCALAR_STYLE ( integer )
YAML_LITERAL_SCALAR_STYLE ( integer )
YAML_FOLDED_SCALAR_STYLE ( integer )
Tags utilisables pour les fonctions de rappel yaml_parse()
YAML_NULL_TAG ( string )
"tag:yaml.org,2002:null"
YAML_BOOL_TAG ( string )
"tag:yaml.org,2002:bool"
YAML_STR_TAG ( string )
"tag:yaml.org,2002:str"
YAML_INT_TAG ( string )
"tag:yaml.org,2002:int"
YAML_FLOAT_TAG ( string )
"tag:yaml.org,2002:float"
YAML_TIMESTAMP_TAG ( string )
"tag:yaml.org,2002:timestamp"
YAML_SEQ_TAG ( string )
"tag:yaml.org,2002:seq"
YAML_MAP_TAG ( string )
"tag:yaml.org,2002:map"
YAML_PHP_TAG ( string )
"!php/object"
Types d'encodages pour yaml_emit()
YAML_ANY_ENCODING ( integer )
Let the emitter choose an encoding.
YAML_UTF8_ENCODING ( integer )
Encode en UTF8.
YAML_UTF16LE_ENCODING ( integer )
Encode en UTF16LE.
YAML_UTF16BE_ENCODING ( integer )
Encode en UTF16BE.
Types de coupure de lignes pour yaml_emit()
YAML_ANY_BREAK ( integer )
Laisse l'emmeteur choisir le caractère de coupure de ligne.
YAML_CR_BREAK ( integer )
Utilise \r comme caractère de coupure (style Mac).
YAML_LN_BREAK ( integer )
Utilise \n comme caractère de coupure (style Unix).
YAML_CRLN_BREAK ( integer )
Utilise \r\n comme caractère de coupure (style DOS).
Types de ressources
Exemples
Yaml


Exemples

Exemple #1 Exemples Yaml

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> "2001-01-23",
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
    );

// genère un représentation YAML de invoice
$yaml = yaml_emit($invoice);
var_dump($yaml);

// convertit la syntaxe YAML vers une variable PHP
$parsed = yaml_parse($yaml);

// vérifie que la conversion a produit une structure équivalente
var_dump($parsed == $invoice);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(631) "---
invoice: 34843
date: "2001-01-23"
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
bool(true)
Constantes pré-définies
Yaml Fonctions
Yaml


Yaml Fonctions

Sommaire

  • yaml_emit_file — Envoie une représentation YAML vers un fichier
  • yaml_emit — Retourne une chaine représentant une valeur YAML
  • yaml_parse_file — Analyse un flux YAML depuis un fichier
  • yaml_parse_url — Analyse un flux YAML depuis une URL
  • yaml_parse — Analyse un flux YAML
Exemples
yaml_emit_file
Yaml


Envoie une représentation YAML vers un fichier

Yaml Fonctions
yaml_emit
Yaml Fonctions
PHP Manual

yaml_emit_file

(PECL yaml >= 0.5.0)

yaml_emit_file — Envoie une représentation YAML vers un fichier

Description

bool yaml_emit_file ( string $filename , mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK ]] )

Génère une représentation YAML de la donnée data dans le fichier filename.

Liste de paramètres

filename

Chemin vers un fichier.

data

Donnée à encoder. Peut être de tout type sauf resource .

encoding

Encodage des caractères en sortie choisi parmi YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING. Par défaut YAML_ANY_ENCODING.

linebreak

Caractère de fin de ligne choisi parmi YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK. Par défaut YAML_ANY_BREAK.

Valeurs de retour

Retourne TRUE en cas de succès.

Voir aussi

  • yaml_emit() - Retourne une chaine représentant une valeur YAML
  • yaml_parse() - Analyse un flux YAML

Yaml Fonctions
yaml_emit
Yaml Fonctions


Retourne une chaine représentant une valeur YAML

yaml_emit_file
yaml_parse_file
Yaml Fonctions
PHP Manual

yaml_emit

(PECL yaml >= 0.5.0)

yaml_emit — Retourne une chaine représentant une valeur YAML

Description

string yaml_emit ( mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK ]] )

Génère une représentation YAML de la donnée data.

Liste de paramètres

data

Les données à encoder. Peut être de tout type sauf resource .

encoding

Encodage des caractères en sortie choisi parmi YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING. Par défaut YAML_ANY_ENCODING.

linebreak

Caractère de fin de ligne choisi parmi YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK. Par défaut YAML_ANY_BREAK.

Valeurs de retour

Retourne une chaine YAML en cas de succès.

Exemples

Exemple #1 Exemple yaml_emit()

<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Voir aussi

  • yaml_emit_file() - Envoie une représentation YAML vers un fichier
  • yaml_parse() - Analyse un flux YAML

yaml_emit_file
yaml_parse_file
Yaml Fonctions


Analyse un flux YAML depuis un fichier

yaml_emit
yaml_parse_url
Yaml Fonctions
PHP Manual

yaml_parse_file

(PECL yaml >= 0.4.0)

yaml_parse_file — Analyse un flux YAML depuis un fichier

Description

mixed yaml_parse_file ( string $filename [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convertit tout ou partie d'un document YAML provenant d'un fichier vers une variable PHP.

Liste de paramètres

filename

Chemin vers le fichier.

pos

Le document à extraire du flux (-1 pour tous les documents, 0 pour le premier, ...).

ndocs

Sindocs est fourni, alors il est rempli avec le nombre de documents trouvés dans le flux.

callbacks

Analyseurs de contenu pour les noeuds YAML. Tableau associatif tag YAML => callback .

Valeurs de retour

Retourne la valeur encodée de filename dans le type PHP approprié. NULL est retourné si filename ne peut être décodé. Si pos vaut -1 un tableau sera retourné avec pour chaque valeur un document trouvé dans le flux.

Voir aussi

  • yaml_parse() - Analyse un flux YAML
  • yaml_parse_url() - Analyse un flux YAML depuis une URL
  • yaml_emit() - Retourne une chaine représentant une valeur YAML

yaml_emit
yaml_parse_url
Yaml Fonctions


Analyse un flux YAML depuis une URL

yaml_parse_file
yaml_parse
Yaml Fonctions
PHP Manual

yaml_parse_url

(PECL yaml >= 0.4.0)

yaml_parse_url — Analyse un flux YAML depuis une URL

Description

mixed yaml_parse_url ( string $url [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convertit tout ou partie d'un document YAML provenant d'une URL vers une variable PHP.

Liste de paramètres

url

url doit être de la forme "scheme://...". PHP cherchera le protocole pour cette URL. Si aucun protocole n'a été enregistré pour ce flux, PHP émettra une notice pour vous aider à trouver le problème et continuera.

pos

Le document à extraire du flux (-1 pour tous les documents, 0 pour le premier, ...).

ndocs

Sindocs est fourni, alors il est rempli avec le nombre de documents trouvés dans le flux.

callbacks

Analyseurs de contenu pour les noeuds YAML. Tableau associatif tag YAML => callback .

Valeurs de retour

Retourne la valeur encodée de url dans le type PHP approprié. NULL est retourné si url ne peut être décodé. Si pos vaut -1 un tableau sera retourné avec pour chaque valeur un document trouvé dans le flux.

Voir aussi

  • yaml_parse() - Analyse un flux YAML
  • yaml_parse_file() - Analyse un flux YAML depuis un fichier
  • yaml_emit() - Retourne une chaine représentant une valeur YAML

yaml_parse_file
yaml_parse
Yaml Fonctions


Analyse un flux YAML

yaml_parse_url
Autres services
Yaml Fonctions
PHP Manual

yaml_parse

(PECL yaml >= 0.4.0)

yaml_parse — Analyse un flux YAML

Description

mixed yaml_parse ( string $input [, int $pos = 0 [, int &$ndocs [, array $callbacks ]]] )

Convertit tout ou partie d'un document YAML provenant d'une chaine vers une variable PHP.

Liste de paramètres

input

La chaine à analyser comme document YAML.

pos

Le document à extraire du flux (-1 pour tous les documents, 0 pour le premier, ...).

ndocs

Sindocs est fourni, alors il est rempli avec le nombre de documents trouvés dans le flux.

callbacks

Analyseurs de contenu pour les noeuds YAML. Tableau associatif tag YAML => callback .

Valeurs de retour

Retourne la valeur encodée de input dans le type PHP approprié. NULL est retourné si input ne peut être décodé. Si pos vaut -1 un tableau sera retourné avec pour chaque valeur un document trouvé dans le flux.

Exemples

Exemple #1 Exemple yaml_parse()

<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to: *id001
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;

$parsed = yaml_parse($yaml);
var_dump($parsed);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  string(10) "2001-01-23"
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      int(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      int(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}

Voir aussi

  • yaml_parse_file() - Analyse un flux YAML depuis un fichier
  • yaml_parse_url() - Analyse un flux YAML depuis une URL
  • yaml_emit() - Retourne une chaine représentant une valeur YAML

yaml_parse_url
Autres services
Yaml Fonctions


Autres services

  • AMQP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • AMQPConnection — The AMQPConnection class
    • AMQPExchange — The AMQPExchange class
    • AMQPQueue — The AMQPQueue class
  • chdb — Constant hash database
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • chdb — The chdb class
    • chdb Fonctions
  • cURL — Bibliothèque d'URL client
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions cURL
  • FAM — Moniteur d'altération de fichiers
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions FAM
  • FTP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions FTP
  • Gupnp
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Gupnp Fonctions
  • Hyperwave
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Intégration avec Apache
    • Fonctions Hyperwave
  • Hyperwave API
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Hyperwave API Fonctions
  • HTTP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Options de demande — Options utilisables avec la classe HttpRequest et les fonctions relatives
    • Classe HttpDeflateStream
    • Classe HttpInflateStream
    • Classe HttpMessage
    • Classe HttpQueryString
    • Classe HttpRequest
    • Classe HttpRequestPool
    • Classe HttpResponse
    • HTTP Fonctions
  • Java — Intégration PHP / Java
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Java Servlet SAPI
    • Exemples
    • Fonctions Java
  • LDAP — Lightweight Directory Access Protocol
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Utiliser les fonctions LDAP de PHP
    • Exemples
    • Fonctions LDAP
  • Lotus Notes
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Lotus Notes
  • Memcache
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Memcache — La classe Memcache
    • Fonctions Memcache
  • Memcached
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Délai d'expiration
    • Fonctions de rappel
    • Support des sessions
    • Memcached — La classe Memcached
  • Gearman
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • GearmanClient — La classe GearmanClient
    • GearmanJob — La classe GearmanJob
    • GearmanTask — La classe GearmanTask
    • GearmanWorker — La classe GearmanWorker
  • mqseries
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • mqseries Fonctions
  • Gopher — Net Gopher
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Gopher
  • Réseau
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions réseaux
  • SAM — SAM - Messagerie asynchrone
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions SAM
  • SNMP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions SNMP
  • Sockets
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Erreurs de socket
    • Fonctions sur les sockets
  • SSH2 — Fonctions Shell2 sécurisé
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Shell2
  • Stomp — Client Stomp
    • Introduction
    • Installation/Configuration
    • Exemples
    • Stomp Fonctions
    • Stomp — La classe Stomp
    • StompFrame — La classe StompFrame
    • StompException — La classe StompException
  • SVN — Subversion
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions SVN
  • TCP — TCP Wrappers
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions TCP
  • YAZ
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • YAZ Fonctions
  • YP/NIS
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions YP/NIS
yaml_parse
AMQP
Référence des fonctions


AMQP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • AMQPConnection — The AMQPConnection class
    • AMQPConnection::__construct — Create an instance of AMQPConnection
    • AMQPConnection::isConnected — Determine if the AMQPConnection object is still connected to the broker.
  • AMQPExchange — The AMQPExchange class
    • AMQPExchange::bind — The bind purpose
    • AMQPExchange::__construct — Create an instance of AMQPExchange
    • AMQPExchange::declare — Declare a new exchange on the broker.
    • AMQPExchange::delete — Delete the exchange from the broker.
    • AMQPExchange::publish — Publish a message to an exchange.
  • AMQPQueue — The AMQPQueue class
    • AMQPQueue::ack — Acknowledge the receipt of a message
    • AMQPQueue::bind — Bind the given queue to a routing key on an exchange.
    • AMQPQueue::cancel — Cancel a queue binding.
    • AMQPQueue::__construct — Create an instance of an AMQPQueue object.
    • AMQPQueue::consume — The consume purpose
    • AMQPQueue::declare — Declare a new queue
    • AMQPQueue::delete — Delete a queue and its contents.
    • AMQPQueue::get — Retrieve the next message from the queue.
    • AMQPQueue::purge — Purge the contents of a queue
    • AMQPQueue::unbind — Unbind the queue from a routing key.
Autres services
Introduction
Autres services


Introduction

» AMQP stands for » Advanced Message Queue Protocol, which is an open standard middleware layer for message routing and queuing. This extension is compatible with any Version 0-8 compatible AMQP broker, such as » RabbitMQ and » OpenAMQ.

This extension relies on the » librabbitmq RPC library for communicating with the AMQP broker. Though named "rabbit", this library is compatible with all Version 0-8 compatible AMQP brokers.

AMQP
Installation/Configuration
AMQP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
AMQP


Pré-requis

This extension requires » librabbitmq client library.

Installation/Configuration
Installation
Installation/Configuration


Installation

To install the AMQP PHP extension, you must first install the » librabbitmq library. Use the following steps to download and install the library:

# Download the rabbitmq-c library
  hg clone http://hg.rabbitmq.com/rabbitmq-c
  cd rabbitmq-c
  # Add the codegen requirement
  hg clone http://hg.rabbitmq.com/rabbitmq-codegen codegen
  # Configure, compile and install
  autoreconf -i && ./configure && make && sudo make install

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici :

Note to Windows users: This extension does not currently support Windows since the librabbitmq library does not yet support Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Amqp Options de configuration
Nom | Défaut | Modifiable | Historique
amqp.host | localhost | PHP_INI_ALL |
amqp.vhost | / | PHP_INI_ALL |
amqp.port | 5672 | PHP_INI_ALL |
amqp.login | guest | PHP_INI_ALL |
amqp.password | guest | PHP_INI_ALL |

Voici un éclaircissement sur l'utilisation des directives de configuration.

amqp.host string

The host to which to connect.

amqp.vhost string

The virtual host to which to connect on the host.

amqp.port integer

The port on which to connect.

amqp.login string

The login (username) used for authenticating against the host.

amqp.password string

The password used for authenticating against the host.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

AMQP_DURABLE ( integer )
Durable exchanges and queues will survive a broker restart, complete with all of their data.
AMQP_PASSIVE ( integer )
Passive exchanges are queues will not be redeclared, but the broker will throw an error if the exchange or queue does not exist.
AMQP_EXCLUSIVE ( integer )
Valid for queues only, this flag indicates that only one client can be listening to and consuming from this queue.
AMQP_AUTODELETE ( integer )
For exchanges, the auto delete flag indicates that the exchange will be deleted as soon as no more queues are bound to it. If no queues were ever bound the exchange, the exchange will never be deleted. For queues, the auto delete flag indicates that the queue will be deleted as soon as there are no more listeners subscribed to it. If no subscription has ever been active, the queue will never be deleted. Note: Exclusive queues will always be automatically deleted with the client disconnects.
AMQP_INTERNAL ( integer )
Clients are not allowed to make specific queue bindings to exchanges defined with this flag.
AMQP_NOLOCAL ( integer )
When passed to the consume method for a clustered environment, do not consume from the local node.
AMQP_NOACK ( integer )
When passed to the consumer method, the messages will not be marked as delivered.
AMQP_IFEMPTY ( integer )
Passed on queue creation, this flag indicates that the queue should be deleted if it becomes empty.
AMQP_IFUNUSED ( integer )
Passed on queue or exchange creation, this flag indicates that the queue or exchange should be deleted when no clients are connected to the given queue or exchange.
AMQP_MANDATORY ( integer )
When publishing a message, the message must be routed to a valid queue. If it is not, an error will be returned.
AMQP_IMMEDIATE ( integer )
When publishing a message, mark this message for immediate processing by the broker. (High priority message.)
AMQP_MULTIPLE ( integer )
?
AMQP_EX_TYPE_DIRECT ( string )
A direct exchange type.
AMQP_EX_TYPE_FANOUT ( string )
A fanout exchange type.
AMQP_EX_TYPE_TOPIC ( string )
A topic exchange type.
AMQP_EX_TYPE_HEADER ( string )
A header exchange type.

Types de ressources
Exemples
AMQP


Exemples

Exemple #1 AMQP Example

<?php

// Create a connection
$cnn = new AMQPConnection();

// Declare a new exchange
$ex = new AMQPExchange($cnn);
$ex->declare('exchange1', AMQP_EX_TYPE_FANOUT);

// Create a new queue
$q = new AMQPQueue($cnn, 'queue1');
$q->declare();

// Bind it on the exchange to routing.key
$ex->bind('queue1', 'routing.key');

// Publish a message to the exchange with a routing key
$ex->publish('message', 'routing.key');

// Read from the queue
$msg = $queue->consume(1);

?>
Constantes pré-définies
AMQPConnection
AMQP


The AMQPConnection class

Introduction

Represents a connection to an AMQP broker.

Synopsis de la classe

AMQPConnection
AMQPConnection {
/* Methods */
__construct ([ array $credentials = array() ] )
public void isConnected ( void )
}

Sommaire

  • AMQPConnection::__construct — Create an instance of AMQPConnection
  • AMQPConnection::isConnected — Determine if the AMQPConnection object is still connected to the broker.
Exemples
AMQPConnection::__construct
AMQP


Create an instance of AMQPConnection

AMQPConnection
AMQPConnection::isConnected
AMQPConnection
PHP Manual

AMQPConnection::__construct

(PECL amqp >= Unknown)

AMQPConnection::__construct — Create an instance of AMQPConnection

Description

AMQPConnection::__construct ([ array $credentials = array() ] )

Creates an AMQPConnection instance representing a connection to an AMQP broker.

Liste de paramètres

credentials

The credentials is an optional array of credential information for connecting to the AMQP broker. The keys used in the credentials array are: host, port, vhost, login and password. All other keys will be ignored.

For each missing credential, the extension will check the ini settings or use the default value.

Valeurs de retour

An AMQPConnection object.

Exemples

Exemple #1 AMQPConnection::__construct() example

<?php

/* Create a connection using all default credentials: */
$connection1 = new AMQPConnection();

$connection2 = new AMQPConnection(array(
    'host' => 'example.host',
    'vhost' => '/',
    'port' => 5763,
    'login' => 'user',
    'password' => 'password'
));

?>

AMQPConnection
AMQPConnection::isConnected
AMQPConnection


Determine if the AMQPConnection object is still connected to the broker.

AMQPConnection::__construct
AMQPExchange
AMQPConnection
PHP Manual

AMQPConnection::isConnected

(PECL amqp >= Unknown)

AMQPConnection::isConnected — Determine if the AMQPConnection object is still connected to the broker.

Description

public void AMQPConnection::isConnected ( void )

This method will check whether the connection to the AMQP broker is still valid. It does so by checking the return status of the last command.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Exemples

Exemple #1 AMQPConnection::isConnected() example

<?php

/* Create a new connection */
$cnn = new AMQPConnection();

/* Check that connection is working */
if (!$cnn->isConnected()) {
    die('The connection to the server was not established.');
}

?>

AMQPConnection::__construct
AMQPExchange
AMQPConnection


The AMQPExchange class

Introduction

Represents an AMQP exchange.

Synopsis de la classe

AMQPExchange
AMQPExchange {
/* Methods */
public void bind ( string $queue_name [, string $routing_key = "" ] )
__construct ( AMQPConnection $connection [, string $exchange_name = "" ] )
public void declare ([ string $exchange_name = "" [, string $exchange_type = AMQP_EX_TYPE_DIRECT [, string $flags = NULL ]]] )
public void delete ([ string $exchange_name = NULL ] )
public void publish ( string $message , string $routing_key )
}

Sommaire

  • AMQPExchange::bind — The bind purpose
  • AMQPExchange::__construct — Create an instance of AMQPExchange
  • AMQPExchange::declare — Declare a new exchange on the broker.
  • AMQPExchange::delete — Delete the exchange from the broker.
  • AMQPExchange::publish — Publish a message to an exchange.
AMQPConnection::isConnected
AMQPExchange::bind
AMQP


The bind purpose

AMQPExchange
AMQPExchange::__construct
AMQPExchange
PHP Manual

AMQPExchange::bind

(PECL amqp >= Unknown)

AMQPExchange::bind — The bind purpose

Description

public void AMQPExchange::bind ( string $queue_name [, string $routing_key = "" ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

queue_name

The name of the queue to which to bind.

routing_key

The routing key to use as a binding.

Valeurs de retour

AMQPExchange
AMQPExchange::__construct
AMQPExchange


Create an instance of AMQPExchange

AMQPExchange::bind
AMQPExchange::declare
AMQPExchange
PHP Manual

AMQPExchange::__construct

(PECL amqp >= Unknown)

AMQPExchange::__construct — Create an instance of AMQPExchange

Description

AMQPExchange::__construct ( AMQPConnection $connection [, string $exchange_name = "" ] )

Returns a new instance of an AMQPExchange object, associated with the given AMQPConnection object. If the exchange_name parameter is specified and the an exchange by that name exists on the broker, an instance of that specific exchange will be returned. Otherwise, the exchange_name is ignored.

Liste de paramètres

AMQPConnection

A valid AMQPConnection object, connected to a broker.

exchange_name

The name of an existing exchange to represent.

Valeurs de retour

AMQPExchange::bind
AMQPExchange::declare
AMQPExchange


Declare a new exchange on the broker.

AMQPExchange::__construct
AMQPExchange::delete
AMQPExchange
PHP Manual

AMQPExchange::declare

(PECL amqp >= Unknown)

AMQPExchange::declare — Declare a new exchange on the broker.

Description

public void AMQPExchange::declare ([ string $exchange_name = "" [, string $exchange_type = AMQP_EX_TYPE_DIRECT [, string $flags = NULL ]]] )

Declare a new exchange on the broker with the given information. If an exchange by that name already exists and the exchange_type and/or flags are specified, the exchange settings will be updated.

If no exchange_type is specified and the exchange does not exist, the exchange type will default to "direct".

Liste de paramètres

exchange_name

The name of the exchange.

exchange_type

The type of the exchange. Can be any of AMQP_EX_TYPE_DIRECT, AMQP_EX_TYPE_FANOUT, AMQP_EX_TYPE_TOPIC or AMQP_EX_TYPE_HEADER.

flags

A bitmask of any of the flags: AMQP_PASSIVE, AMQP_DURABLE, AMQP_AUTODELETE.

Valeurs de retour

Exemples

Exemple #1 AMQPExchange::declare() example

<?php

/* Create a new connection */
$cnn = new AMQPConnection();

$ex = new AMQPExchange($cnn);
$ex->declare('new_topic_exchange', AMQP_DURABLE | AMQP_AUTODELETE);

?>

AMQPExchange::__construct
AMQPExchange::delete
AMQPExchange


Delete the exchange from the broker.

AMQPExchange::declare
AMQPExchange::publish
AMQPExchange
PHP Manual

AMQPExchange::delete

(PECL amqp >= Unknown)

AMQPExchange::delete — Delete the exchange from the broker.

Description

public void AMQPExchange::delete ([ string $exchange_name = NULL ] )

Delete and exchange from the broker.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

exchange_name

The name of the exchange to delete. If the AMQPExchange object is already bound to an existing exchange and then exchange_name is not specified, the exchange bound to the AMQPExchange object will be deleted.

Valeurs de retour

Exemples

Exemple #1 AMQPExchange::delete() example

<?php

/* Create a new connection */
$cnn = new AMQPConnection();

/* Create a new exchange */
$ex = new AMQPExchange($cnn);
$ex->declare('new_topic_exchange', AMQP_DURABLE | AMQP_AUTODELETE);

/* Delete the previous exchange */
$ex2 = new AMQPExchange($cnn);
$ex2->delete('new_topic_exchange');

?>

AMQPExchange::declare
AMQPExchange::publish
AMQPExchange


Publish a message to an exchange.

AMQPExchange::delete
AMQPQueue
AMQPExchange
PHP Manual

AMQPExchange::publish

(PECL amqp >= Unknown)

AMQPExchange::publish — Publish a message to an exchange.

Description

public void AMQPExchange::publish ( string $message , string $routing_key )

Publish a message to the exchange represented by the AMQPExchange object.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

message

The message to publish.

routing_key

The routing key to which to publish.

Valeurs de retour

AMQPExchange::delete
AMQPQueue
AMQPExchange


The AMQPQueue class

Introduction

Represents an AMQP queue.

Synopsis de la classe

AMQPQueue
AMQPQueue {
/* Methods */
public void ack ( string $exchange_name [, string $routing_key = "" ] )
public void bind ( string $exchange_name [, string $routing_key = "" ] )
public void cancel ( string $consumer_tag )
__construct ( string $amqp_connection [, string $queue_name = "" ] )
public void consume ( string $num_messages [, string $flags = NULL ] )
public void declare ( string $queue_name [, string $flags = NULL ] )
public void delete ( string $queue_name )
public void get ( string $flags )
public void purge ( string $queue_name )
public void unbind ( string $exchange_name [, string $routing_key = "" ] )
}

Sommaire

  • AMQPQueue::ack — Acknowledge the receipt of a message
  • AMQPQueue::bind — Bind the given queue to a routing key on an exchange.
  • AMQPQueue::cancel — Cancel a queue binding.
  • AMQPQueue::__construct — Create an instance of an AMQPQueue object.
  • AMQPQueue::consume — The consume purpose
  • AMQPQueue::declare — Declare a new queue
  • AMQPQueue::delete — Delete a queue and its contents.
  • AMQPQueue::get — Retrieve the next message from the queue.
  • AMQPQueue::purge — Purge the contents of a queue
  • AMQPQueue::unbind — Unbind the queue from a routing key.
AMQPExchange::publish
AMQPQueue::ack
AMQP


Acknowledge the receipt of a message

AMQPQueue
AMQPQueue::bind
AMQPQueue
PHP Manual

AMQPQueue::ack

(No version information available, might only be in SVN)

AMQPQueue::ack — Acknowledge the receipt of a message

Description

public void AMQPQueue::ack ( string $exchange_name [, string $routing_key = "" ] )

This method allows the acknowledgement of a message that is retrieved with the AMQP_NOACK flag through AMQPQueue::get or AMQPQueue::consume

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

delivery_tag

The message delivery tag of which to acknowledge receipt.

Valeurs de retour

AMQPQueue
AMQPQueue::bind
AMQPQueue


Bind the given queue to a routing key on an exchange.

AMQPQueue::ack
AMQPQueue::cancel
AMQPQueue
PHP Manual

AMQPQueue::bind

(PECL amqp >= Unknown)

AMQPQueue::bind — Bind the given queue to a routing key on an exchange.

Description

public void AMQPQueue::bind ( string $exchange_name [, string $routing_key = "" ] )

The bind method will bind the given queue to the specified routing key on the given exchange.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

exchange_name

The exchange name on which to bind.

routing_key

The routing key to which to bind.

Valeurs de retour

AMQPQueue::ack
AMQPQueue::cancel
AMQPQueue


Cancel a queue binding.

AMQPQueue::bind
AMQPQueue::__construct
AMQPQueue
PHP Manual

AMQPQueue::cancel

(PECL amqp >= Unknown)

AMQPQueue::cancel — Cancel a queue binding.

Description

public void AMQPQueue::cancel ( string $consumer_tag )

Cancel a queue that is already bound to an exchange and routing key.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

consumer_tag

The queue name to cancel, if the queue object is not already representative of a queue.

Valeurs de retour

AMQPQueue::bind
AMQPQueue::__construct
AMQPQueue


Create an instance of an AMQPQueue object.

AMQPQueue::cancel
AMQPQueue::consume
AMQPQueue
PHP Manual

AMQPQueue::__construct

(PECL amqp >= Unknown)

AMQPQueue::__construct — Create an instance of an AMQPQueue object.

Description

AMQPQueue::__construct ( string $amqp_connection [, string $queue_name = "" ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

amqp_connection

A valid AMQPConnection object.

queue_name

The name of the queue to construct.

Valeurs de retour

AMQPQueue::cancel
AMQPQueue::consume
AMQPQueue


The consume purpose

AMQPQueue::__construct
AMQPQueue::declare
AMQPQueue
PHP Manual

AMQPQueue::consume

(PECL amqp >= Unknown)

AMQPQueue::consume — The consume purpose

Description

public void AMQPQueue::consume ( string $num_messages [, string $flags = NULL ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

num_messages

flags

Valeurs de retour

AMQPQueue::__construct
AMQPQueue::declare
AMQPQueue


Declare a new queue

AMQPQueue::consume
AMQPQueue::delete
AMQPQueue
PHP Manual

AMQPQueue::declare

(PECL amqp >= Unknown)

AMQPQueue::declare — Declare a new queue

Description

public void AMQPQueue::declare ( string $queue_name [, string $flags = NULL ] )

Declare a new queue.

Liste de paramètres

queue_name

The name of the queue to declare.

flags

A bitmask of any of the flags: AMQP_NOACK.

Valeurs de retour

AMQPQueue::consume
AMQPQueue::delete
AMQPQueue


Delete a queue and its contents.

AMQPQueue::declare
AMQPQueue::get
AMQPQueue
PHP Manual

AMQPQueue::delete

(PECL amqp >= Unknown)

AMQPQueue::delete — Delete a queue and its contents.

Description

public void AMQPQueue::delete ( string $queue_name )

Delete a queue from the broker, including its entire contents of unread or unacknowledged messages.

Liste de paramètres

queue_name

The name of the queue to delete.

Valeurs de retour

AMQPQueue::declare
AMQPQueue::get
AMQPQueue


Retrieve the next message from the queue.

AMQPQueue::delete
AMQPQueue::purge
AMQPQueue
PHP Manual

AMQPQueue::get

(PECL amqp >= Unknown)

AMQPQueue::get — Retrieve the next message from the queue.

Description

public void AMQPQueue::get ( string $flags )

Retrieve the next message from the queue.

Liste de paramètres

flags

A bitmask of any of the flags: AMQP_NOACK.

Valeurs de retour

AMQPQueue::delete
AMQPQueue::purge
AMQPQueue


Purge the contents of a queue

AMQPQueue::get
AMQPQueue::unbind
AMQPQueue
PHP Manual

AMQPQueue::purge

(PECL amqp >= Unknown)

AMQPQueue::purge — Purge the contents of a queue

Description

public void AMQPQueue::purge ( string $queue_name )

Purge the contents of a queue.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

queue_name

The name of the queue to purge

Valeurs de retour

AMQPQueue::get
AMQPQueue::unbind
AMQPQueue


Unbind the queue from a routing key.

AMQPQueue::purge
chdb
AMQPQueue
PHP Manual

AMQPQueue::unbind

(PECL amqp >= Unknown)

AMQPQueue::unbind — Unbind the queue from a routing key.

Description

public void AMQPQueue::unbind ( string $exchange_name [, string $routing_key = "" ] )

Remove a routing key binding on an exchange from the given queue.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

exchange_name

The name of the exchange on which the queue is bound.

routing_key

The binding routing key used by the queue.

Valeurs de retour

AMQPQueue::purge
chdb
AMQPQueue


Constant hash database

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • chdb — The chdb class
    • chdb::__construct — Creates a chdb instance
    • chdb::get — Gets the value associated with a key
  • chdb Fonctions
    • chdb_create — Creates a chdb file
AMQPQueue::unbind
Introduction
Autres services


Introduction

CHDB (constant hash database) is a fast key-value database for constant data, realized by using a memory-mapped file and thus providing the following functionalities:

  • Extremely fast initial load, regardless of the size of the database.

  • Only the pages of the file which are actually used are loaded from the disk.

  • Once a page is loaded it is shared across multiple processes.

  • Loaded pages are cached across multiple requests and even process recycling.

A typical use of CHDB is as a faster alternative to defining many PHP constants.

CHDB is internally implemented as a hash-table using a perfect hashing function, thus guaranteeing worst case O(1) lookup time.

chdb
Installation/Configuration
chdb


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
chdb


Pré-requis

This module uses » cmph (version 0.9) for providing the perfect hashing function.

cmph 0.9 is required to install this module.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/chdb

» cmph (version 0.9) is required for installing this extension. If cmph is installed in a non-standard directory, use the --with-libcmph-dir=DIR switch, where DIR is the cmph install prefix.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
chdb


Exemples

Exemple #1 Creating a chdb file

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

?>

The above example will generate a chdb file named data.chdb and containing the key-value pairs defined in $data.

Exemple #2 Loading and looking up a chdb file

<?php

$chdb = new chdb('data.chdb');
$value1 = $chdb->get('key1');
$value2 = $chdb->get('key2');

echo $value1, PHP_EOL;
echo $value2, PHP_EOL;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

value1
value2
Constantes pré-définies
chdb
chdb


The chdb class

Introduction

Represents a loaded chdb file.

Synopsis de la classe

chdb
chdb {
/* Methods */
__construct ( string $pathname )
public string get ( string $key )
}

Sommaire

  • chdb::__construct — Creates a chdb instance
  • chdb::get — Gets the value associated with a key
Exemples
chdb::__construct
chdb


Creates a chdb instance

chdb
chdb::get
chdb
PHP Manual

chdb::__construct

(PECL chdb >= 0.1.0)

chdb::__construct — Creates a chdb instance

Description

chdb::__construct ( string $pathname )

Loads a chdb file, by mapping it into memory.

Note: While some validity checks are performed on the specified file, they are mostly there to avoid the possibility of common mistakes (for example, loading a file which is not a chdb database, or that is somehow incompatible with the current system). A maliciously crafted chdb file can thus be dangerous if loaded, so chdb files should be trusted and treated with the same security protections used for PHP shared libraries.

Liste de paramètres

pathname

The name of the file to load.

Erreurs / Exceptions

Throws an exception in case the chdb file hasn't been successfully loaded.

Note: A valid chdb file might fail to load in case it was created on an architecture with a different endianness, with a different version of chdb, or if the file is too big to be mapped into memory (mostly in case of huge files and 32-bit architectures). In these cases the load will fail by throwing an exception, but otherwise not performing any illegal operation.

chdb
chdb::get
chdb


Gets the value associated with a key

chdb::__construct
chdb Fonctions
chdb
PHP Manual

chdb::get

(PECL chdb >= 0.1.0)

chdb::get — Gets the value associated with a key

Description

public string chdb::get ( string $key )

Gets the value associated with a key from a chdb database.

Liste de paramètres

key

The key for which to get the value.

Valeurs de retour

Returns a string containing the value associated with the given key, or NULL if not found.

Exemples

Exemple #1 chdb::get() example

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

$chdb = new chdb('data.chdb');
$value1 = $chdb->get('key1');
$value2 = $chdb->get('key2');

echo $value1, PHP_EOL;
echo $value2, PHP_EOL;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

value1
value2
chdb::__construct
chdb Fonctions
chdb


chdb Fonctions

Sommaire

  • chdb_create — Creates a chdb file
chdb::get
chdb_create
chdb


Creates a chdb file

chdb Fonctions
cURL
chdb Fonctions
PHP Manual

chdb_create

(PECL chdb >= 0.1.0)

chdb_create — Creates a chdb file

Description

void chdb_create ( string $pathname , array $data )

chdb_create() creates a chdb file containing the specified key-value pairs.

Note: chdb files are not portable across little-endian and big-endian environments. Except for that, they are portable across different architectures. Also compatibility across different versions of chdb is not guaranteed.

Liste de paramètres

pathname

The name of the file to create.

If a file with the same name already exists, it is overwritten.

data

An array containing the key-value pairs to store in the chdb file.

Keys and values are converted to strings before being written to the file, as chdb only support the string type. Note that binary strings are supported as well, both as keys and values.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Throws an exception in case the chdb file hasn't been successfully created.

Exemples

Exemple #1 chdb_create() example

<?php

$data = array(
    'key1' => 'value1',
    'key2' => 'value2',
    // ...
);
chdb_create('data.chdb', $data);

?>

The above example will generate a chdb file named data.chdb and containing the key-value pairs defined in $data.

chdb Fonctions
cURL
chdb Fonctions


Bibliothèque d'URL client

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation du module cURL pour récupérer la page d'accueil de example.com
  • Fonctions cURL
    • curl_close — Ferme une session CURL
    • curl_copy_handle — Copie une ressource cURL avec toutes ses préférences
    • curl_errno — Retourne le dernier message d'erreur cURL
    • curl_error — Retourne une chaîne contenant le dernier message d'erreur cURL
    • curl_exec — Exécute une session cURL
    • curl_getinfo — Lit les informations détaillant un transfert cURL
    • curl_init — Initialise une session cURL
    • curl_multi_add_handle — Ajoute une ressource cURL à un cURL multiple
    • curl_multi_close — Termine un jeu de sessions cURL
    • curl_multi_exec — Exécute les sous-requêtes de la session cURL
    • curl_multi_getcontent — Retourne le contenu obtenu avec l'option CURLOPT_RETURNTRANSFER
    • curl_multi_info_read — Lit les informations sur les transferts actuels
    • curl_multi_init — Retourne un nouveau cURL multiple
    • curl_multi_remove_handle — Retire un cURL multiple d'un jeu de cURL
    • curl_multi_select — Attend une activité sur n'importe quelle connexion curl_multi
    • curl_setopt_array — Fixe plusieurs options pour un transfert cURL
    • curl_setopt — Définit une option de transmission cURL
    • curl_version — Retourne la version courante de cURL
chdb_create
Introduction
Autres services


Introduction

PHP supporte libcurl, une bibliothèque créée par Daniel Stenberg, qui vous permet de vous connecter et de communiquer avec différents types de serveurs, et ce, avec différents types de protocoles. libcurl supporte actuellement les protocoles http, https, ftp, gopher, telnet, DICT, file et LDAP. libcurl supporte également les certificats HTTPS, HTTP POST, HTTP PUT, le téléchargement FTP (ceci pouvant également être effectué via l'extension ftp de PHP), les formulaires de téléchargement HTTP, les serveurs mandataires (proxy), les cookies et l'identification utilisateur/mot de passe.

Ces fonctions ont été ajoutées en PHP 4.0.2.

cURL
Installation/Configuration
cURL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
cURL


Pré-requis

Afin de pouvoir utiliser les fonctions cURL dans PHP, vous devez installer le paquet » libcurl. PHP requiert d'utiliser libcurl 7.0.2-beta ou supérieur. En PHP 4.2.3, vous devez utiliser libcurl version 7.9.0 ou supérieur. Depuis PHP 4.3.0, vous devez utiliser libcurl version 7.9.8 ou supérieur. PHP 5.0.0 requiert l'utilisation de libcurl version 7.10.5 ou supérieur.

Installation/Configuration
Installation
Installation/Configuration


Installation

Pour utiliser cURL depuis les scripts PHP, vous devez compiler celui-ci avec l'option --with-curl[=DIR] où DIR est le chemin jusqu'au dossier contenant les dossiers lib et include. Dans le dossier include, il doit se trouver un dossier appelé curl, qui contient notamment les fichiers easy.h et curl.h. Il doit aussi se trouver un fichier nommé libcurl.a dans le dossier lib. À partir de PHP 4.3.0, vous pouvez aussi configurer PHP pour qu'il utilise cURL comme gestionnaire d'URL avec l'option --with-curlwrappers.

Note: Note aux utilisateurs Win32
Afin d'activer ce module dans l'environnement Windows, libeay32.dll et ssleay32.dll doivent être présents dans votre PATH. Vous n'avez pas besoin de libcurl.dll du site cURL.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit 2 types de ressources : un gestionnaire cURL et un gestionnaire multiple cURL.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Une description ainsi que la façon dont on utilise ces constantes se trouvent dans la documentation des fonctions curl_setopt() et curl_getinfo().

CURLOPT_AUTOREFERER (entier)
Disponible depuis PHP 5.1.0
CURLOPT_COOKIESESSION (entier)
Disponible depuis PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (entier)
CURLOPT_DNS_CACHE_TIMEOUT (entier)
CURLOPT_FTP_SSL (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_TRY (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_ALL (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_CONTROL (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_NONE (entier)
Disponible depuis PHP 5.2.0
CURLOPT_PRIVATE (entier)
Disponible depuis PHP 5.2.4
CURLOPT_FTPSSLAUTH (entier)
Disponible depuis PHP 5.1.0
CURLOPT_PORT (entier)
CURLOPT_FILE (entier)
CURLOPT_INFILE (entier)
CURLOPT_INFILESIZE (entier)
CURLOPT_URL (entier)
CURLOPT_PROXY (entier)
CURLOPT_VERBOSE (entier)
CURLOPT_HEADER (entier)
CURLOPT_HTTPHEADER (entier)
CURLOPT_NOPROGRESS (entier)
CURLOPT_NOBODY (entier)
CURLOPT_FAILONERROR (entier)
CURLOPT_UPLOAD (entier)
CURLOPT_POST (entier)
CURLOPT_FTPLISTONLY (entier)
CURLOPT_FTPAPPEND (entier)
CURLOPT_FTP_CREATE_MISSING_DIRS (entier)
CURLOPT_NETRC (entier)
CURLOPT_FOLLOWLOCATION (entier)
Cette constante n'est pas disponible lorsque open_basedir ou safe_mode est actif.
CURLOPT_FTPASCII (entier)
CURLOPT_PUT (entier)
CURLOPT_MUTE (entier)
CURLOPT_USERPWD (entier)
CURLOPT_PROXYUSERPWD (entier)
CURLOPT_RANGE (entier)
CURLOPT_TIMEOUT (entier)
CURLOPT_TIMEOUT_MS (entier)
CURLOPT_TCP_NODELAY (entier)
Disponible depuis PHP 5.2.1
CURLOPT_POSTFIELDS (entier)
CURLOPT_PROGRESSFUNCTION (entier)
Disponible depuis PHP 5.3.0
CURLOPT_REFERER (entier)
CURLOPT_USERAGENT (entier)
CURLOPT_FTPPORT (entier)
CURLOPT_FTP_USE_EPSV (entier)
CURLOPT_LOW_SPEED_LIMIT (entier)
CURLOPT_LOW_SPEED_TIME (entier)
CURLOPT_RESUME_FROM (entier)
CURLOPT_COOKIE (entier)
CURLOPT_SSLCERT (entier)
CURLOPT_SSLCERTPASSWD (entier)
CURLOPT_WRITEHEADER (entier)
CURLOPT_SSL_VERIFYHOST (entier)
CURLOPT_COOKIEFILE (entier)
CURLOPT_SSLVERSION (entier)
CURLOPT_TIMECONDITION (entier)
CURLOPT_TIMEVALUE (entier)
CURLOPT_CUSTOMREQUEST (entier)
CURLOPT_STDERR (entier)
CURLOPT_TRANSFERTEXT (entier)
CURLOPT_RETURNTRANSFER (entier)
CURLOPT_QUOTE (entier)
CURLOPT_POSTQUOTE (entier)
CURLOPT_INTERFACE (entier)
CURLOPT_KRB4LEVEL (entier)
CURLOPT_HTTPPROXYTUNNEL (entier)
CURLOPT_FILETIME (entier)
CURLOPT_WRITEFUNCTION (entier)
CURLOPT_READFUNCTION (entier)
CURLOPT_PASSWDFUNCTION (entier)
CURLOPT_HEADERFUNCTION (entier)
CURLOPT_MAXREDIRS (entier)
CURLOPT_MAXCONNECTS (entier)
CURLOPT_CLOSEPOLICY (entier)
CURLOPT_FRESH_CONNECT (entier)
CURLOPT_FORBID_REUSE (entier)
CURLOPT_RANDOM_FILE (entier)
CURLOPT_EGDSOCKET (entier)
CURLOPT_CONNECTTIMEOUT (entier)
CURLOPT_CONNECTTIMEOUT_MS (entier)
CURLOPT_SSL_VERIFYPEER (entier)
CURLOPT_CAINFO (entier)
CURLOPT_CAPATH (entier)
CURLOPT_COOKIEJAR (entier)
CURLOPT_SSL_CIPHER_LIST (entier)
CURLOPT_BINARYTRANSFER (entier)
CURLOPT_NOSIGNAL (entier)
CURLOPT_PROXYTYPE (entier)
CURLOPT_BUFFERSIZE (entier)
CURLOPT_HTTPGET (entier)
CURLOPT_HTTP_VERSION (entier)
CURLOPT_SSLKEY (entier)
CURLOPT_SSLKEYTYPE (entier)
CURLOPT_SSLKEYPASSWD (entier)
CURLOPT_SSLENGINE (entier)
CURLOPT_SSLENGINE_DEFAULT (entier)
CURLOPT_SSLCERTTYPE (entier)
CURLOPT_CRLF (entier)
CURLOPT_ENCODING (entier)
CURLOPT_PROXYPORT (entier)
CURLOPT_UNRESTRICTED_AUTH (entier)
CURLOPT_FTP_USE_EPRT (entier)
CURLOPT_HTTP200ALIASES (entier)
CURLOPT_HTTPAUTH (entier)
CURLAUTH_BASIC (entier)
CURLAUTH_DIGEST (entier)
CURLAUTH_GSSNEGOTIATE (entier)
CURLAUTH_NTLM (entier)
CURLAUTH_ANY (entier)
CURLAUTH_ANYSAFE (entier)
CURLOPT_PROXYAUTH (entier)
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (entier)
CURLCLOSEPOLICY_LEAST_TRAFFIC (entier)
CURLCLOSEPOLICY_SLOWEST (entier)
CURLCLOSEPOLICY_CALLBACK (entier)
CURLCLOSEPOLICY_OLDEST (entier)
CURLINFO_PRIVATE (entier)
Disponible depuis PHP 5.2.4
CURLINFO_EFFECTIVE_URL (entier)
CURLINFO_HTTP_CODE (entier)
CURLINFO_HEADER_OUT (entier)
Disponible depuis PHP 5.1.3
CURLINFO_HEADER_SIZE (entier)
CURLINFO_REQUEST_SIZE (entier)
CURLINFO_TOTAL_TIME (entier)
CURLINFO_NAMELOOKUP_TIME (entier)
CURLINFO_CONNECT_TIME (entier)
CURLINFO_PRETRANSFER_TIME (entier)
CURLINFO_SIZE_UPLOAD (entier)
CURLINFO_SIZE_DOWNLOAD (entier)
CURLINFO_SPEED_DOWNLOAD (entier)
CURLINFO_SPEED_UPLOAD (entier)
CURLINFO_FILETIME (entier)
CURLINFO_SSL_VERIFYRESULT (entier)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (entier)
CURLINFO_CONTENT_LENGTH_UPLOAD (entier)
CURLINFO_STARTTRANSFER_TIME (entier)
CURLINFO_CONTENT_TYPE (entier)
CURLINFO_REDIRECT_TIME (entier)
CURLINFO_REDIRECT_COUNT (entier)
CURL_TIMECOND_IFMODSINCE (entier)
CURL_TIMECOND_IFUNMODSINCE (entier)
CURL_TIMECOND_LASTMOD (entier)
CURL_VERSION_IPV6 (entier)
CURL_VERSION_KERBEROS4 (entier)
CURL_VERSION_SSL (entier)
CURL_VERSION_LIBZ (entier)
CURLVERSION_NOW (entier)
CURLE_OK (entier)
CURLE_UNSUPPORTED_PROTOCOL (entier)
CURLE_FAILED_INIT (entier)
CURLE_URL_MALFORMAT (entier)
CURLE_URL_MALFORMAT_USER (entier)
CURLE_COULDNT_RESOLVE_PROXY (entier)
CURLE_COULDNT_RESOLVE_HOST (entier)
CURLE_COULDNT_CONNECT (entier)
CURLE_FTP_WEIRD_SERVER_REPLY (entier)
CURLE_FTP_ACCESS_DENIED (entier)
CURLE_FTP_USER_PASSWORD_INCORRECT (entier)
CURLE_FTP_WEIRD_PASS_REPLY (entier)
CURLE_FTP_WEIRD_USER_REPLY (entier)
CURLE_FTP_WEIRD_PASV_REPLY (entier)
CURLE_FTP_WEIRD_227_FORMAT (entier)
CURLE_FTP_CANT_GET_HOST (entier)
CURLE_FTP_CANT_RECONNECT (entier)
CURLE_FTP_COULDNT_SET_BINARY (entier)
CURLE_PARTIAL_FILE (entier)
CURLE_FTP_COULDNT_RETR_FILE (entier)
CURLE_FTP_WRITE_ERROR (entier)
CURLE_FTP_QUOTE_ERROR (entier)
CURLE_HTTP_NOT_FOUND (entier)
CURLE_WRITE_ERROR (entier)
CURLE_MALFORMAT_USER (entier)
CURLE_FTP_COULDNT_STOR_FILE (entier)
CURLE_READ_ERROR (entier)
CURLE_OUT_OF_MEMORY (entier)
CURLE_OPERATION_TIMEOUTED (entier)
CURLE_FTP_COULDNT_SET_ASCII (entier)
CURLE_FTP_PORT_FAILED (entier)
CURLE_FTP_COULDNT_USE_REST (entier)
CURLE_FTP_COULDNT_GET_SIZE (entier)
CURLE_HTTP_RANGE_ERROR (entier)
CURLE_HTTP_POST_ERROR (entier)
CURLE_SSL_CONNECT_ERROR (entier)
CURLE_FTP_BAD_DOWNLOAD_RESUME (entier)
CURLE_FILE_COULDNT_READ_FILE (entier)
CURLE_LDAP_CANNOT_BIND (entier)
CURLE_LDAP_SEARCH_FAILED (entier)
CURLE_LIBRARY_NOT_FOUND (entier)
CURLE_FUNCTION_NOT_FOUND (entier)
CURLE_ABORTED_BY_CALLBACK (entier)
CURLE_BAD_FUNCTION_ARGUMENT (entier)
CURLE_BAD_CALLING_ORDER (entier)
CURLE_HTTP_PORT_FAILED (entier)
CURLE_BAD_PASSWORD_ENTERED (entier)
CURLE_TOO_MANY_REDIRECTS (entier)
CURLE_UNKNOWN_TELNET_OPTION (entier)
CURLE_TELNET_OPTION_SYNTAX (entier)
CURLE_OBSOLETE (entier)
CURLE_SSL_PEER_CERTIFICATE (entier)
CURLE_GOT_NOTHING (entier)
CURLE_SSL_ENGINE_NOTFOUND (entier)
CURLE_SSL_ENGINE_SETFAILED (entier)
CURLE_SEND_ERROR (entier)
CURLE_RECV_ERROR (entier)
CURLE_SHARE_IN_USE (entier)
CURLE_SSL_CERTPROBLEM (entier)
CURLE_SSL_CIPHER (entier)
CURLE_SSL_CACERT (entier)
CURLE_BAD_CONTENT_ENCODING (entier)
CURLE_LDAP_INVALID_URL (entier)
CURLE_FILESIZE_EXCEEDED (entier)
CURLE_FTP_SSL_FAILED (entier)
CURLFTPAUTH_DEFAULT (entier)
Disponible depuis PHP 5.1.0
CURLFTPAUTH_SSL (entier)
Disponible depuis PHP 5.1.0
CURLFTPAUTH_TLS (entier)
Disponible depuis PHP 5.1.0
CURLPROXY_HTTP (entier)
CURLPROXY_SOCKS5 (entier)
CURL_NETRC_OPTIONAL (entier)
CURL_NETRC_IGNORED (entier)
CURL_NETRC_REQUIRED (entier)
CURL_HTTP_VERSION_NONE (entier)
CURL_HTTP_VERSION_1_0 (entier)
CURL_HTTP_VERSION_1_1 (entier)
CURLM_CALL_MULTI_PERFORM (entier)
CURLM_OK (entier)
CURLM_BAD_HANDLE (entier)
CURLM_BAD_EASY_HANDLE (entier)
CURLM_OUT_OF_MEMORY (entier)
CURLM_INTERNAL_ERROR (entier)
CURLMSG_DONE (entier)
Types de ressources
Exemples
cURL


Exemples

Sommaire

  • Utilisation du module cURL pour récupérer la page d'accueil de example.com
Constantes pré-définies
Utilisation du module cURL pour récupérer la page d'accueil de example.com
cURL


Utilisation du module cURL pour récupérer la page d'accueil de example.com

Exemples
Fonctions cURL
Exemples
PHP Manual

Une fois PHP compilé avec le support cURL, vous pouvez commencer à utiliser les fonctions cURL. La première des choses à faire est d'initialiser une session cURL avec la fonction curl_init(), puis, vous pouvez définir toutes vos options pour le transfert avec la fonction curl_setopt(), et enfin, vous pouvez exécuter la session avec curl_exec() et y mettre fin avec la fonction curl_close(). Voici un exemple qui utilise les fonctions cURL pour récupérer la page d'accueil du site example.com dans un fichier :

Exemple #1 Utilisation du module cURL pour récupérer la page d'accueil de example.com

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

Exemples
Fonctions cURL
Exemples


Fonctions cURL

Sommaire

  • curl_close — Ferme une session CURL
  • curl_copy_handle — Copie une ressource cURL avec toutes ses préférences
  • curl_errno — Retourne le dernier message d'erreur cURL
  • curl_error — Retourne une chaîne contenant le dernier message d'erreur cURL
  • curl_exec — Exécute une session cURL
  • curl_getinfo — Lit les informations détaillant un transfert cURL
  • curl_init — Initialise une session cURL
  • curl_multi_add_handle — Ajoute une ressource cURL à un cURL multiple
  • curl_multi_close — Termine un jeu de sessions cURL
  • curl_multi_exec — Exécute les sous-requêtes de la session cURL
  • curl_multi_getcontent — Retourne le contenu obtenu avec l'option CURLOPT_RETURNTRANSFER
  • curl_multi_info_read — Lit les informations sur les transferts actuels
  • curl_multi_init — Retourne un nouveau cURL multiple
  • curl_multi_remove_handle — Retire un cURL multiple d'un jeu de cURL
  • curl_multi_select — Attend une activité sur n'importe quelle connexion curl_multi
  • curl_setopt_array — Fixe plusieurs options pour un transfert cURL
  • curl_setopt — Définit une option de transmission cURL
  • curl_version — Retourne la version courante de cURL
Utilisation du module cURL pour récupérer la page d'accueil de example.com
curl_close
cURL


Ferme une session CURL

Fonctions cURL
curl_copy_handle
Fonctions cURL
PHP Manual

curl_close

(PHP 4 >= 4.0.2, PHP 5)

curl_close — Ferme une session CURL

Description

void curl_close ( resource $ch )

Ferme une session cURL et libère toutes les ressources réservées. L'identifiant cURL ch est aussi effacé.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Initialise une session cURL et récupère une page web

<?php
// création d'une nouvelle ressource cURL
$ch = curl_init();

// configuration de l'URL et d'autres options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// récupération de l'URL et affichage sur le naviguateur
curl_exec($ch);

// fermeture de la session cURL
curl_close($ch);
?>

Voir aussi

  • curl_init() - Initialise une session cURL
  • curl_multi_close() - Termine un jeu de sessions cURL

Fonctions cURL
curl_copy_handle
Fonctions cURL


Copie une ressource cURL avec toutes ses préférences

curl_close
curl_errno
Fonctions cURL
PHP Manual

curl_copy_handle

(PHP 5)

curl_copy_handle — Copie une ressource cURL avec toutes ses préférences

Description

resource curl_copy_handle ( resource $ch )

Copie une ressource cURL, retournant une nouvelle ressource cURL avec les mêmes préférences.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Retourne une nouvelle ressource cURL.

Exemples

Exemple #1 Copie d'une ressource cURL

<?php
// crée une nouvelle ressource cURL
$ch = curl_init();

// assigne URL et autres options appropriées
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// copie la ressource
$ch2 = curl_copy_handle($ch);

// attrape l'URL (http://www.example.com/) et le passe au navigateur
curl_exec($ch2);

// ferme les ressources curl et libère les ressources systèmes
curl_close($ch2);
curl_close($ch);
?>

curl_close
curl_errno
Fonctions cURL


Retourne le dernier message d'erreur cURL

curl_copy_handle
curl_error
Fonctions cURL
PHP Manual

curl_errno

(PHP 4 >= 4.0.3, PHP 5)

curl_errno — Retourne le dernier message d'erreur cURL

Description

int curl_errno ( resource $ch )

Retourne le numéro d'erreur de la dernière opération cURL.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Retourne le numéro de l'erreur ou 0 si aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec curl_errno()

<?php
// Création d'un gestionnaire curl vers une URL inexistante
$ch = curl_init('http://404.php.net/');

// Exécution
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// Vérifie si une erreur survient
if(curl_errno($ch))
{
    echo 'Erreur Curl : ' . curl_error($ch);
}

// Fermeture du gestionnaire
curl_close($ch);
?>

Voir aussi

  • curl_error() - Retourne une chaîne contenant le dernier message d'erreur cURL
  • » les codes erreurs cURL

curl_copy_handle
curl_error
Fonctions cURL


Retourne une chaîne contenant le dernier message d'erreur cURL

curl_errno
curl_exec
Fonctions cURL
PHP Manual

curl_error

(PHP 4 >= 4.0.3, PHP 5)

curl_error — Retourne une chaîne contenant le dernier message d'erreur cURL

Description

string curl_error ( resource $ch )

Retourne un message clair représentant la dernière erreur cURL.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Retourne le message d'erreur ou '' (chaîne vide) si aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec curl_error()

<?php
// Création d'un gestionnaire curl vers une URL inexistante
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ch) === false)
{
    echo 'Erreur Curl : ' . curl_error($ch);
}
else
{
    echo 'L\'opération s\'est terminée sans aucune erreur';
}

// Fermeture du gestionnaire
curl_close($ch);
?>

Voir aussi

  • curl_errno() - Retourne le dernier message d'erreur cURL
  • » Curl error codes

curl_errno
curl_exec
Fonctions cURL


Exécute une session cURL

curl_error
curl_getinfo
Fonctions cURL
PHP Manual

curl_exec

(PHP 4 >= 4.0.2, PHP 5)

curl_exec — Exécute une session cURL

Description

mixed curl_exec ( resource $ch )

Exécute la session cURL fournie.

Cette fonction doit être appelée après l'initialisation et le paramétrage d'une session cURL.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Cependant, si l'option CURLOPT_RETURNTRANSFER est définie, la fonction retournera le résultat en cas de succès, et FALSE si une erreur survient.

Exemples

Exemple #1 Récupère une page web

<?php
// Création d'une nouvelle ressource cURL
$ch = curl_init();

// Configuration de l'URL et d'autres options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Récupération de l'URL et affichage sur le naviguateur
curl_exec($ch);

// Fermeture de la session cURL
curl_close($ch);
?>

Voir aussi

  • curl_multi_exec() - Exécute les sous-requêtes de la session cURL

curl_error
curl_getinfo
Fonctions cURL


Lit les informations détaillant un transfert cURL

curl_exec
curl_init
Fonctions cURL
PHP Manual

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo — Lit les informations détaillant un transfert cURL

Description

mixed curl_getinfo ( resource $ch [, int $opt = 0 ] )

curl_getinfo() lit les informations concernant le transfert ch.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

opt

Ce paramètre peut prendre l'une des valeurs suivantes :

  • CURLINFO_EFFECTIVE_URL : dernière URL réelle
  • CURLINFO_HTTP_CODE : dernier code HTTP reçu
  • CURLINFO_FILETIME : date distante du document, et -1 si la date du document distant est inconnue.
  • CURLINFO_TOTAL_TIME : durée de la transaction en secondes pour le dernier transfert
  • CURLINFO_NAMELOOKUP_TIME : durée de résolution du nom de domaine en secondes
  • CURLINFO_CONNECT_TIME : durée d'établissement de la connexion en secondes
  • CURLINFO_PRETRANSFER_TIME : durée en secondes, entre le début de la transaction et de début du transfert de fichiers
  • CURLINFO_STARTTRANSFER_TIME : durée en secondes jusqu'à ce que le premier octet soit sur le point d'être transféré
  • CURLINFO_REDIRECT_TIME : durée en secondes de toutes les étapes de redirection avant que la transaction finale ne soit débutée
  • CURLINFO_SIZE_UPLOAD : nombre total d'octets envoyés
  • CURLINFO_SIZE_DOWNLOAD : nombre total d'octets téléchargés
  • CURLINFO_SPEED_DOWNLOAD : vitesse moyenne de téléchargement
  • CURLINFO_SPEED_UPLOAD : vitesse moyenne d'envoi
  • CURLINFO_HEADER_SIZE : taille des en-têtes reçus
  • CURLINFO_HEADER_OUT : la chaîne de requête envoyée. Disponible depuis PHP 5.1.3
  • CURLINFO_REQUEST_SIZE : taille totale des requêtes envoyées. Actuellement, uniquement pour les requêtes HTTP
  • CURLINFO_SSL_VERIFYRESULT : résultat de la vérification de la certification SSL demandée par CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD : taille du corps du téléchargement, lu dans l'en-tête Content-Length:
  • CURLINFO_CONTENT_LENGTH_UPLOAD : taille spécifiée de l'envoi.
  • CURLINFO_CONTENT_TYPE : Content-Type: du fichier téléchargé. NULL indique que le serveur n'a pas envoyé d'en-tête Content-Type:

Valeurs de retour

Si opt est fourni, la valeur retournée sera une chaîne. Sinon, ce sera un tableau associatif contenant les éléments suivants : (qui correspond à opt):

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"

Historique

Version | Description
5.1.3 | Ajout de CURLINFO_HEADER_OUT.

Exemples

Exemple #1 Exemple avec curl_getinfo()

<?php
// Création d'un gestionnaire curl
$ch = curl_init('http://www.yahoo.com/');

// Exécution
curl_exec($ch);

// Vérification si une erreur est survenue
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];
}

// Fermeture du gestionnaire
curl_close($ch);
?>

curl_exec
curl_init
Fonctions cURL


Initialise une session cURL

curl_getinfo
curl_multi_add_handle
Fonctions cURL
PHP Manual

curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_init — Initialise une session cURL

Description

resource curl_init ([ string $url = NULL ] )

Initialise une nouvelle session et retourne un identifiant de session cURL à utiliser avec les fonctions curl_setopt(), curl_exec() et curl_close().

Liste de paramètres

url

Si fourni, alors CURLOPT_URL prendra cette valeur. Vous pouvez manuellement fixer cette valeur avec la fonction curl_setopt().

Valeurs de retour

Retourne une session cURL en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Initialiser une session cURL et récupérer une page web

<?php
// initialisation de la session
$ch = curl_init();

// configuration des options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// exécution de la session
curl_exec($ch);

// fermeture des ressources
curl_close($ch);
?>

Voir aussi

  • curl_close() - Ferme une session CURL
  • curl_multi_init() - Retourne un nouveau cURL multiple

curl_getinfo
curl_multi_add_handle
Fonctions cURL


Ajoute une ressource cURL à un cURL multiple

curl_init
curl_multi_close
Fonctions cURL
PHP Manual

curl_multi_add_handle

(PHP 5)

curl_multi_add_handle — Ajoute une ressource cURL à un cURL multiple

Description

int curl_multi_add_handle ( resource $mh , resource $ch )

Ajoute la session ch au gestionnaire multiple mh

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Retourne 0 en cas de succès, ou un des codes erreurs CURLM_XXX.

Exemples

Exemple #1 Exemple avec curl_multi_add_handle()

Cet exemple crée deux gestionnaires cURL, les ajoute à un gestionnaire multiple, et les exécute en parallèle.

<?php
// Création des ressources cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Définit l'URL ainsi que d'autres options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Création du gestionnaire multiple
$mh = curl_multi_init();

// Ajoute les deux gestionnaires
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Exécute le gestionnaire
do {
    curl_multi_exec($mh,$running);
} while($running > 0);

// Ferme tous les gestionnaires
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>

Voir aussi

  • curl_multi_remove_handle() - Retire un cURL multiple d'un jeu de cURL
  • curl_multi_init() - Retourne un nouveau cURL multiple
  • curl_init() - Initialise une session cURL

curl_init
curl_multi_close
Fonctions cURL


Termine un jeu de sessions cURL

curl_multi_add_handle
curl_multi_exec
Fonctions cURL
PHP Manual

curl_multi_close

(PHP 5)

curl_multi_close — Termine un jeu de sessions cURL

Description

void curl_multi_close ( resource $mh )

Ferme un jeu de gestionnaires cURL.

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec curl_multi_close()

Cet exemple crée deux gestionnaires cURL, les ajoute à un gestionnaire multiple, et les exécute en parallèle.

<?php
// Création des ressources
$ch1 = curl_init();
$ch2 = curl_init();

// Définit l'URL ainsi que d'autres options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Création du gestionnaire cURL multiple
$mh = curl_multi_init();

// Ajout des deux gestionnaires
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Exécute le gestionnaire
do {
    curl_multi_exec($mh,$running);
} while ($running > 0)
// Ferme les gestionnaires
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Voir aussi

  • curl_multi_init() - Retourne un nouveau cURL multiple
  • curl_close() - Ferme une session CURL

curl_multi_add_handle
curl_multi_exec
Fonctions cURL


Exécute les sous-requêtes de la session cURL

curl_multi_close
curl_multi_getcontent
Fonctions cURL
PHP Manual

curl_multi_exec

(PHP 5)

curl_multi_exec — Exécute les sous-requêtes de la session cURL

Description

int curl_multi_exec ( resource $mh , int &$still_running )

Exécute chaque gestionnaire de la pile. Cette méthode peut être appelée même si un gestionnaire à besoin de lire ou d'écrire des données.

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

still_running

Une référence à un drapeau, qui annonce si les opérations sont toujours en cours.

Valeurs de retour

Un code cURL, défini dans les constantes prédéfinies cURL.

Note: Cette fonction retourne que des erreurs au regard de la pile. Des problèmes surviennent toujours sur des transferts individuels même lorsque cette fonction retourne CURLM_OK.

Exemples

Exemple #1 Exemple avec curl_multi_exec()

Cet exemple crée deux gestionnaires cURL, les ajoute à un gestionnaire multiple, et les exécute en parallèle.

<?php
// Création des ressources cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Définit l'URL ainsi que d'autres options
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Création du gestionnaire multiple
$mh = curl_multi_init();

// Ajoute les deux gestionnaires
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$active = null;
// Exécute le gestionnaire
do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

// Ferme les gestionnaires
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Voir aussi

  • curl_multi_init() - Retourne un nouveau cURL multiple
  • curl_exec() - Exécute une session cURL

curl_multi_close
curl_multi_getcontent
Fonctions cURL


Retourne le contenu obtenu avec l'option CURLOPT_RETURNTRANSFER

curl_multi_exec
curl_multi_info_read
Fonctions cURL
PHP Manual

curl_multi_getcontent

(PHP 5)

curl_multi_getcontent — Retourne le contenu obtenu avec l'option CURLOPT_RETURNTRANSFER

Description

string curl_multi_getcontent ( resource $ch )

Si CURLOPT_RETURNTRANSFER est une option définie pour un gestionnaire spécifique, alors cette fonction retournera le contenu de ce gestionnaire cURL, sous la forme d'une chaîne de caractères.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Retourne le contenu du gestionnaire cURL, si CURLOPT_RETURNTRANSFER est défini.

Voir aussi

  • curl_multi_init() - Retourne un nouveau cURL multiple

curl_multi_exec
curl_multi_info_read
Fonctions cURL


Lit les informations sur les transferts actuels

curl_multi_getcontent
curl_multi_init
Fonctions cURL
PHP Manual

curl_multi_info_read

(PHP 5)

curl_multi_info_read — Lit les informations sur les transferts actuels

Description

array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )

Appel le gestionnaire multiple s'il y a des messages ou des informations issus des transferts individuels. Les messages peuvent inclure des informations comme un code erreur du transfert, ou juste le fait que le transfert est terminé.

Les appels répétés à cette fonction retournera un nouveau résultat à chaque fois, tant que FALSE n'est pas retourné, indiquant qu'il n'y a plus rien à récupérer pour le moment. L'entier présent dans le paramètre msgs_in_queue représente le nombre de messages restant une fois cette fonction appelée.

Avertissement

Les données pointées par la ressource retournée, ne survivront pas à l'appel de la fonction curl_multi_remove_handle().

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

msgs_in_queue

Nombre de messages encore présents dans la file d'attente

Valeurs de retour

Retourne un tableau associatif contenant le message en cas de succès, FALSE si une erreur survient.

Contenu du tableau retourné
Key: | Value:
msg | La constante CURLMSG_DONE. Les autres valeurs retournées sont actuellement non disponibles.
result | Une des constantes CURLE_*. Si tout s'est bien déroulé, la constante CURLE_OK sera retournée.
handle | Ressource de type curl indiquant le gestionnaire concerné.

Exemples

Exemple #1 Exemple avec curl_multi_info_read()

<?php

$urls = array(
   "http://www.cnn.com/",
   "http://www.bbc.co.uk/",
   "http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
    curl_multi_add_handle($mh, $conn[$i]);
}

do {
    $status = curl_multi_exec($mh, $active);
    $info = curl_multi_info_read($mh);
    if (false !== $info) {
        var_dump($info);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

foreach ($urls as $i => $url) {
    $res[$i] = curl_multi_getcontent($conn[$i]);
    curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

Historique

Version | Description
5.2.0 | Le paramètre msgs_in_queue a été ajouté.

Voir aussi

  • curl_multi_init() - Retourne un nouveau cURL multiple

curl_multi_getcontent
curl_multi_init
Fonctions cURL


Retourne un nouveau cURL multiple

curl_multi_info_read
curl_multi_remove_handle
Fonctions cURL
PHP Manual

curl_multi_init

(PHP 5)

curl_multi_init — Retourne un nouveau cURL multiple

Description

resource curl_multi_init ( void )

Autorise l'exécution de multiples gestionnaires cURL en parallèle.

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

Valeurs de retour

Retourne un gestionnaire cURL multiple en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec curl_multi_init()

Cet exemple crée deux gestionnaires cURL, les ajoute à un gestionnaire multiple, et les exécute en parallèle.

<?php
// Création des ressources cURL
$ch1 = curl_init();
$ch2 = curl_init();

// Définit l'URL ainsi que d'autres options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// Création du gestionnaire multiple cURL
$mh = curl_multi_init();

// Ajoute les deux gestionnaires
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// Exécute le gestionnaire
do {
    usleep(10000);
    curl_multi_exec($mh,$running);
} while ($running > 0);

// Ferme les gestionnaires
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

Voir aussi

  • curl_init() - Initialise une session cURL
  • curl_multi_close() - Termine un jeu de sessions cURL

curl_multi_info_read
curl_multi_remove_handle
Fonctions cURL


Retire un cURL multiple d'un jeu de cURL

curl_multi_init
curl_multi_select
Fonctions cURL
PHP Manual

curl_multi_remove_handle

(PHP 5)

curl_multi_remove_handle — Retire un cURL multiple d'un jeu de cURL

Description

int curl_multi_remove_handle ( resource $mh , resource $ch )

Retire un gestionnaire ch donné du gestionnaire mh. Lorsque le gestionnaire ch a été retiré, il est de nouveau parfaitement correct d'exécuter la fonction curl_exec() sur ce gestionnaire. Le fait de retirer un gestionnaire utilisé stoppe tous les transferts en cours.

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

ch

Un gestionnaire cURL retourné par la fonction curl_init().

Valeurs de retour

Retourne un gestionnaire cURL en cas de succès, FALSE si une erreur survient.

Voir aussi

  • curl_init() - Initialise une session cURL
  • curl_multi_init() - Retourne un nouveau cURL multiple
  • curl_multi_add_handle() - Ajoute une ressource cURL à un cURL multiple

curl_multi_init
curl_multi_select
Fonctions cURL


Attend une activité sur n'importe quelle connexion curl_multi

curl_multi_remove_handle
curl_setopt_array
Fonctions cURL
PHP Manual

curl_multi_select

(PHP 5)

curl_multi_select — Attend une activité sur n'importe quelle connexion curl_multi

Description

int curl_multi_select ( resource $mh [, float $timeout = 1.0 ] )

Patiente tant qu'il y a de l'activité sur une des connexions curl_multi.

Liste de paramètres

mh

Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().

timeout

Durée maximale, en secondes, à attendre une réponse.

Valeurs de retour

Retourne le nombre de sockets contenues dans le jeu de sockets, en cas de succès. En cas d'échec, la fonction retournera -1 sur un échec de sélection ou lors d'un dépassement du délai d'attente (depuis l'appel du sous système de sélection).

Voir aussi

  • curl_multi_init() - Retourne un nouveau cURL multiple

curl_multi_remove_handle
curl_setopt_array
Fonctions cURL


Fixe plusieurs options pour un transfert cURL

curl_multi_select
curl_setopt
Fonctions cURL
PHP Manual

curl_setopt_array

(PHP 5 >= 5.1.3)

curl_setopt_array — Fixe plusieurs options pour un transfert cURL

Description

bool curl_setopt_array ( resource $ch , array $options )

Fixe plusieurs options pour une session cURL. Cette fonction est utile pour configurer un grand nombre d'options cURL sans appeler à chaque fois curl_setopt().

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

options

Un tableau spécifiant quelles options à fixer avec leurs valeurs. Les clés devraient être des constantes valides de curl_setopt() ou leur entier équivalent.

Valeurs de retour

Retourne TRUE si toutes les options ont été fixées correctement. Si une option ne peut pas être fixée correctement, FALSE est retourné immédiatement, en ignorant toutes les options futures dans le tableau options.

Exemples

Exemple #1 Initialisation d'une nouvelle session cURL et récupération d'une page web

<?php
// crée une nouvelle ressource cURL
$ch = curl_init();

// fixe l'URL et les autres options appropriées
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// attrape l'URL et la passe au navigateur
curl_exec($ch);

// ferme la ressource cURL et libère les ressources systèmes
curl_close($ch);
?>

Avant PHP 5.1.3, cette fonction peut être simulée avec :

Exemple #2 Notre propre implémentation de la fonction curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

Notes

Note: Avec la fonction curl_setopt(), le fait de passer un tableau comme valeur de la constante CURLOPT_POST fera que les données seront encodées comme multipart/form-data, tandis que le fait de passer une chaîne encodée URL fera que les données seront encodées comme application/x-www-form-urlencoded.

Voir aussi

  • curl_setopt() - Définit une option de transmission cURL

curl_multi_select
curl_setopt
Fonctions cURL


Définit une option de transmission cURL

curl_setopt_array
curl_version
Fonctions cURL
PHP Manual

curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt — Définit une option de transmission cURL

Description

bool curl_setopt ( resource $ch , int $option , mixed $value )

curl_setopt() définit l'option de transfert cURL option, avec la valeur value pour la requête ch.

Liste de paramètres

ch

Un gestionnaire cURL retourné par la fonction curl_init().

option

L'option CURLOPT_XXX à définir.

value

La valeur à définir pour option.

value doit être un bool pour les valeurs suivantes du paramètre option :

Option | Définissez le paramètre value à | Notes
CURLOPT_AUTOREFERER | TRUE pour spécifier automatiquement le champ Referer: dans les requêtes où une redirection Location: suit.
CURLOPT_BINARYTRANSFER | TRUE pour retourner les données brutes (données binaires) lorsque CURLOPT_RETURNTRANSFER est utilisé.
CURLOPT_COOKIESESSION | TRUE pour marquer ceci comme un nouveau cookie "session". Cela forcera libcurl à ignorer tous les cookies qui sont prêts à être chargés qui sont des "cookies de session" provenant des sessions antérieures. Par défaut, libcurl enregistre et charge toujours tous les cookies, indépendamment s'ils sont des cookies de session ou pas. Les cookies de session sont des cookies sans date d'expiration et existeront que pour cette "session" seulement.
CURLOPT_CRLF | TRUE pour convertir les nouvelles lignes Unix en nouvelles lignes CRLF pendant le transfert.
CURLOPT_DNS_USE_GLOBAL_CACHE | TRUE pour utiliser un cache DNS global. Cette option n'est pas compatible avec les threads et est activée par défaut.
CURLOPT_FAILONERROR | TRUE pour que PHP traite silencieusement les codes HTTP supérieurs ou égaux à 400. Le comportement par défaut est de retourner la page normalement, en ignorant ce code.
CURLOPT_FILETIME | TRUE pour tenter de récupérer la date de modification du document distant. Vous pouvez également retrouver cette valeur en utilisant l'option CURLINFO_FILETIME avec curl_getinfo().
CURLOPT_FOLLOWLOCATION | TRUE pour suivre toutes les en-têtes "Location: " que le serveur envoie dans les en-têtes HTTP (notez que cette fonction est récursive et que PHP suivra toutes les en-têtes "Location: " qu'il trouvera à moins que CURLOPT_MAXREDIRS ne soit définie).
CURLOPT_FORBID_REUSE | TRUE pour forcer la connexion à se fermer explicitement lorsque le processus est terminé et ne sera pas mise en cache pour être réutilisée.
CURLOPT_FRESH_CONNECT | TRUE pour forcer à utiliser une nouvelle connexion au lieu de celle en cache.
CURLOPT_FTP_USE_EPRT | TRUE pour utiliser EPRT (et LPRT) lors de l'activation des téléchargements FTP. Utilisez FALSE pour désactiver EPRT et LPRT et ainsi, n'utiliser que PORT.
CURLOPT_FTP_USE_EPSV | TRUE pour tenter tout d'abord une commande EPSV pour les transferts FTP avant de revenir à une commande PASV. Définissez cette option à FALSE pour désactiver EPSV.
CURLOPT_FTPAPPEND | TRUE pour que PHP ajoute les informations au fichier distant, plutôt que de l'écraser.
CURLOPT_FTPASCII | Un alias de CURLOPT_TRANSFERTEXT. Utilisez celui-là à la place.
CURLOPT_FTPLISTONLY | TRUE pour ne lister que les noms d'un dossier FTP.
CURLOPT_HEADER | TRUE pour inclure l'en-tête dans la valeur de retour.
CURLINFO_HEADER_OUT | TRUE pour suivre la chaîne de requête handle. | Disponible depuis PHP 5.1.3. Le préfixe CURLINFO_ est intentionnel.
CURLOPT_HTTPGET | TRUE pour réinitialiser la méthode de requête HTTP à GET. Sachant que GET est la valeur par défaut, cela n'est uniquement nécessaire que si la méthode de requête a été changée.
CURLOPT_HTTPPROXYTUNNEL | TRUE pour effectuer un tunnel à travers un proxy HTTP.
CURLOPT_MUTE | TRUE pour que PHP soit totalement silencieux concernant toutes les fonctions cURL.
CURLOPT_NETRC | TRUE pour que PHP analyse votre fichier ~./netrc et utilise votre nom de compte et mot de passe sur le site distant que vous souhaitez contacter.
CURLOPT_NOBODY | TRUE pour que le corps du transfert ne soit pas inclus dans la valeur de retour. La méthode de demande est définie à HEAD. Le fait de modifier cette option à la valeur FALSE ne modifie pas la méthode GET.
CURLOPT_NOPROGRESS

TRUE pour désactiver la barre de progression des transferts cURL.

Note: PHP définit automatiquement cette option à TRUE. Ne changez cette valeur que le temps du déboguage.

CURLOPT_NOSIGNAL | TRUE pour ignorer toutes les fonctions cURL qui cause l'envoi d'un signal au processus PHP. Activée par défaut dans les SAPI multithreadés, les options d'expiration peut toujours être utilisées. | Ajouté dans cURL 7.10.
CURLOPT_POST | TRUE pour que PHP fasse un HTTP POST. Un POST est un encodage normal application/x-www-from-urlencoded, utilisé couramment par les formulaires HTML.
CURLOPT_PUT | TRUE pour que le chargement se fasse par HTTP PUT. Le fichier à charger doit être fixé avec les options CURLOPT_INFILE et CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER | TRUE retourne directement le transfert sous forme de chaîne de la valeur retournée par curl_exec() au lieu de l'afficher directement.
CURLOPT_SSL_VERIFYPEER | FALSE pour arrêter CURL de vérifier le certificat. Les certificats alternatifs peuvent être spécifiés avec l'option CURLOPT_CAINFO (ajouté dans CURL 7.9.8) ou un répertoire de certificat peut être spécifié avec l'option CURLOPT_CAPATH. Tout comme CURL 7.10, CURL installe un paquet par défaut. CURLOPT_SSL_VERIFYHOST doit aussi être positionnée à 1 ou 0 si CURLOPT_SSL_VERIFYPEER est désactivée (par défaut à 2). | TRUE par défaut depuis cURL 7.10. Paquet installé par défaut depuis cURL 7.10.
CURLOPT_TRANSFERTEXT | TRUE pour utiliser le mode ASCII pour les transferts FTP. Pour LDAP, il récupère les données en texte plein au lieu d'HTML. Sur les systèmes Windows, STDOUT ne sera pas définie en mode binaire.
CURLOPT_UNRESTRICTED_AUTH | TRUE pour garder l'envoi du nom de l'utilisateur ainsi que le mot de passe lorsque l'on suit les chemins (en utilisant CURLOPT_FOLLOWLOCATION), même si le nom d'hôte change.
CURLOPT_UPLOAD | TRUE pour que PHP prépare un chargement.
CURLOPT_VERBOSE | TRUE pour afficher tous les événements. Écrit la sortie sur STDERR ou dans le fichier spécifié en utilisant CURLOPT_STDERR.

value doit être un integer pour les valeurs suivantes du paramètres option :

Option | Définissez le paramètre value à | Notes
CURLOPT_BUFFERSIZE | La taille du buffer à utiliser pour chaque lecture. Cependant, il n'y a aucune garantie que cette requête soit accomplie. | Ajouté en cURL 7.10.
CURLOPT_CLOSEPOLICY | Soit CURLCLOSEPOLICY_LEAST_RECENTLY_USED, soit CURLCLOSEPOLICY_OLDEST. Il y a trois autres constantes CURLCLOSEPOLICY_ mais CURL ne les supporte pas encore.
CURLOPT_CONNECTTIMEOUT | Le nombre de secondes à attendre durant la tentative de connexion. Utilisez 0 pour attendre indéfiniment.
CURLOPT_CONNECTTIMEOUT_MS | Le nombre de millisecondes à entendre durant la tentative de connexion. Utilisez 0 pour attendre indéfiniment. | Ajouté en cURL 7.16.2. Disponible depuis PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT | Le temps en seconde que CURL doit conserver les entrées DNS en mémoire. Cette option est définie à 120 secondes (2 minutes) par défaut.
CURLOPT_FTPSSLAUTH | La méthode d'identification FTP, lorsqu'elle est activée : CURLFTPAUTH_SSL (tente SSL en premier), CURLFTPAUTH_TLS (tente TLS en premier) ou CURLFTPAUTH_DEFAULT (laisse cURL décider). | Ajouté en cURL 7.12.2.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (défaut, laisse cURL décider la version à utiliser), CURL_HTTP_VERSION_1_0 (force HTTP/1.0), ou CURL_HTTP_VERSION_1_1 (force HTTP/1.1).
CURLOPT_HTTPAUTH

La méthode d'identification HTTP à utiliser. Ces options sont : CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY et CURLAUTH_ANYSAFE.

Vous pouvez utiliser le séparateur | ou un opérateur pour combiner plus d'une méthode. Si vous faites cela, CURL interrogera le serveur pour voir quelles sont les méthodes supportées et prendra la meilleur.

CURLAUTH_ANY est un alias pour CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE est un alias pour CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLOPT_INFILESIZE | La taille attendue, en octets, du fichier lors du téléchargement d'un fichier depuis un site distant.
CURLOPT_LOW_SPEED_LIMIT | La vitesse de transfert minimale en octets par secondes en dessous de laquelle, et pendant CURLOPT_LOW_SPEED_TIME secondes, PHP considérera qu'elle est trop lente, et annulera le transfert.
CURLOPT_LOW_SPEED_TIME | Le temps en secondes, pendant lequel si le transfert reste en dessous de CURLOPT_LOW_SPEED_LIMIT, PHP considérera que la connexion est trop lente, et l'annulera.
CURLOPT_MAXCONNECTS | Le nombre maximal de connexions persistantes autorisées. Lorsque la limite est atteinte, l'option CURLOPT_CLOSEPOLICY est utilisé pour afficher les connexions fermées.
CURLOPT_MAXREDIRS | Le nombre maximal de redirections HTTP à suivre. Utilisez cette option avec l'option CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT | Le numéro du port de connexion, à la place de la valeur par défaut utilisée par le protocole.
CURLOPT_PROTOCOLS

Champ de bits de valeurs CURLPROTO_*. S'il est utilisé, ce champ limite les protocoles qui peuvent être utilisés durant un transfert. Cela vous permet de limiter le nombre de protocoles utilisés par la libcurl, tout en la compilant avec un grand nombre d'entre eux. Par défaut, libcurl va accepter tous les protocoles qu'elle supporte. Voyez aussi CURLOPT_REDIR_PROTOCOLS.

Les options valides de protocoles sont : CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL

Ajouté en cURL 7.19.4.
CURLOPT_PROXYAUTH | La méthode d'identification HTTP à utiliser pour la connexion à un proxy. Utilisez la même méthode que celle décrite dans CURLOPT_HTTPAUTH. Pour une identification avec un proxy, seuls CURLAUTH_BASIC et CURLAUTH_NTLM sont actuellement supportés. | Ajouté en CURL 7.10.7.
CURLOPT_PROXYPORT | Le numéro du port du proxy à utiliser pour la connexion. Ce numéro de port peut également être défini dans l'option CURLOPT_PROXY.
CURLOPT_PROXYTYPE | Soit CURLPROXY_HTTP (par défaut), soit CURLPROXY_SOCKS5. | Ajouté en cURL 7.10.
CURLOPT_REDIR_PROTOCOLS | Champ de bits de constantes CURLPROTO_*. S'il est utilisé, ce champ limite les protocoles que libcurl peut utiliser pour un transfert, après une redirection lorsque CURLOPT_FOLLOWLOCATION est actif. Cela permet de spécifier une sous-partie des protocoles compilés avec libcurl. Par défaut, libcurl va autoriser tous les protocoles, hormis FILE et SCP. C'est une différence importante avec les versions précédents la 7.19.4, qui suivaient inconditionnellement tous les protocoles supportés. Voyez aussi CURLOPT_PROTOCOLS pour connaître la liste des valeurs des constantes. | Ajoutés en cURL 7.19.4.
CURLOPT_RESUME_FROM | L'offset, en octets, à partir duquel vous voulez commencer le transfert.
CURLOPT_SSL_VERIFYHOST | 1 pour vérifier l'existence d'un nom commun dans le certificat SSL. 2 pour vérifier l'existence d'un nom commun et vérifier qu'il correspond avec le nom d'hôte fourni.
CURLOPT_SSLVERSION | La version de SSL (2 ou 3) à utiliser. Par défaut, PHP essayera de le déterminer lui-même, bien que dans certains cas, il vous faudra le faire manuellement.
CURLOPT_TIMECONDITION | Comment CURLOPT_TIMEVALUE est traité. Utilisez CURL_TIMECOND_IFMODSINCE pour retourner la page uniquement si elle a été modifiée depuis le temps spécifié par CURLOPT_TIMEVALUE. Si elle n'a pas été modifiée, un en-tête HTTP "304 Not Modified" sera retourné en supposant que CURLOPT_HEADER vaut TRUE. Utilisez CURL_TIMECOND_IFUNMODSINCE pour faire l'inverse. CURL_TIMECOND_IFMODSINCE est par défaut.
CURLOPT_TIMEOUT | Le temps maximum d'exécution de la fonction cURL.
CURLOPT_TIMEOUT_MS | Le nombre maximal de millisecondes autorisé aux fonctions cURL pour l'exécution. | Ajouté en cURL 7.16.2. Disponible depuis PHP 5.2.3.
CURLOPT_TIMEVALUE | Le temps en secondes depuis le 1er janvier 1970. Cette valeur sera utilisée comme spécifié dans l'option CURLOPT_TIMECONDITION. Par défaut, CURL_TIMECOND_IFMODSINCE sera utilisée.

value doit être une chaîne pour les valeurs suivantes du paramètres option :

Option | Définissez le paramètre value à | Notes
CURLOPT_CAINFO | Le nom d'un fichier contenant un ou plusieurs certificats pour vérifier la concordance. Cela n'a de sens que si vous l'utilisez en combinaison de l'option CURLOPT_SSL_VERIFYPEER.
CURLOPT_CAPATH | Un dossier qui contient les certificats. Utilisez cette option avec l'option CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE | Le contenu de l'en-tête "Cookie: ", à transmettre dans l'en-tête HTTP. Notez que les cookies sont séparées par des points-virgule, suivi d'un d'espace (e.g., "fruit=pomme; couleur=rouge")
CURLOPT_COOKIEFILE | Le nom du fichier contenant les données de cookie. Le fichier de cookie peut être au format Netscape, ou simplement des en-têtes HTTP écrits dans un fichier.
CURLOPT_COOKIEJAR | Le nom de fichier pour y sauvegarder tous les cookies internes lorsque la connexion se ferme.
CURLOPT_CUSTOMREQUEST

Une méthode de requête qui sera utilisée à la place de "GET" ou "HEAD" lors des requêtes HTTP. Cette commande est pratique pour effectuer un "DELETE" ou une autre commande HTTP exotique. Les valeurs valides sont "GET", "POST", "CONNECT" et plus ; i.e. n'entrez pas une requête HTTP ici. Pour le moment, entrez "GET /index.html HTTP/1.0\r\n\r\n" serait incorrect.

Note: N'utilisez pas cette commande sans vous assurer que le serveur l'accepte.

CURLOPT_EGDSOCKET | Comme CURLOPT_RANDOM_FILE excepté que vous passez une chaîne qui contient un nom de fichier vers le socket Entropy Gathering Daemon.
CURLOPT_ENCODING | Le contenu des en-têtes "Accept-Encoding: " et active le décodage de la réponse. Les encodages supportés sont "identity", "deflate" et "gzip". Si une chaîne vide "" est utilisé, un en-tête contenant tous les types d'encodage supportés est envoyé. | Ajouté en cURL 7.10.
CURLOPT_FTPPORT | La valeur qui sera utilisée pour récupérer l'adresse IP utilisée pour l'instruction FTP "PORT". L'instruction POST indique au serveur distant de se connecter à cette adresse IP. La chaîne peut être une adresse IP, un nom d'hôte, un nom d'interface réseau (sous UNIX), ou juste '-', pour utiliser les IP par défaut du système.
CURLOPT_INTERFACE | Le nom de l'interface à utiliser. Cela peut être le nom d'une interface, une adresse IP ou encore le nom de l'hôte.
CURLOPT_KRB4LEVEL | Le degré de sécurité KRB4 (Kerberos 4). Chacune des valeurs (dans l'ordre du plus petit au plus grand) suivantes sont valides : "clear", "safe", "confidential", "private".. Si la chaîne passée ne correspond pas à une de ces valeurs, la valeur "private" sera définie. Positionner cette valeur à NULL revient à désactiver la sécurité KRB4. Actuellement, la sécurité KRB4 fonctionne uniquement avec les transaction FTP.
CURLOPT_POSTFIELDS | Toutes les données à passer lors d'une opération de HTTP POST. Pour envoyer un fichier, préfixez le nom du fichier avec un @ et utilisez le chemin complet. Peut être passé sous la forme d'une chaîne encodée URL, comme 'para1=val1&para2=val2&...' ou sous la forme d'un tableau dont le nom du champ est la clé, et les données du champ la valeur. Si le paramètre value est un tableau, l'en-tête Content-Type sera définie à multipart/form-data.
CURLOPT_PROXY | Le nom du proxy HTTP au tunnel qui le demande.
CURLOPT_PROXYUSERPWD | Un nom d'utilisateur et un mot de passe formatés sous la forme "[username]:[password]" à utiliser pour la connexion avec le proxy.
CURLOPT_RANDOM_FILE | Un nom de fichier à utiliser pour interroger le générateur de nombre aléatoire pour SSL.
CURLOPT_RANGE | La plage de valeurs à récupérer sous la forme "X-Y", où les valeurs de X ou Y peuvent être omises. Le transfert HTTP supporte aussi plusieurs intervalles, séparés par des virgules : "X-Y,N-M".
CURLOPT_REFERER | Le contenu de l'en-tête "Referer: " à utiliser dans une requête HTTP.
CURLOPT_SSL_CIPHER_LIST | Une liste de chiffrements à utiliser avec SSL. Par exemple, RC4-SHA et TLSv1 sont des listes valides de chiffrements.
CURLOPT_SSLCERT | Le nom de fichier du certificat, au format PEM.
CURLOPT_SSLCERTPASSWD | Le mot de passe nécessaire pour utiliser le certificat CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPE | Le format de votre certificat. Les formats supportés sont "PEM" (par défaut), "DER", et "ENG". | Ajouté en cURL 7.9.3.
CURLOPT_SSLENGINE | L'identifiant pour le moteur de chiffrement de votre clé privée spécifié dans CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT | L'identifiant pour le moteur de chiffrement utilisé pour les opérations de chiffrement asymétrique.
CURLOPT_SSLKEY | Un nom de fichier contenant votre clé privée SSL.
CURLOPT_SSLKEYPASSWD

Le mot de passe secret utilisé par votre clé SSL privée spécifié dans CURLOPT_SSLKEY.

Note: Du fait que cette option contient un mot de passe sensible, souvenez-vous de conserver le script PHP qui le contient en toute sécurité.

CURLOPT_SSLKEYTYPE | Le type de votre clé SSL privée spécifié dans CURLOPT_SSLKEY. Les types de clé supportés sont "PEM" (par défaut), "DER", et "ENG".
CURLOPT_URL | L'URL à récupérer. Vous pouvez aussi choisir cette valeur lors de l'appel à curl_init().
CURLOPT_USERAGENT | Le contenu de l'en-tête "User-Agent: " à utiliser dans une requête HTTP.
CURLOPT_USERPWD | Un nom d'utilisateur et un mot de passe formatés sous la forme "[username]:[password]" à utiliser pour la connexion.

value doit être un tableau pour les valeurs suivantes du paramètres option :

Option | Définissez le paramètre value à | Notes
CURLOPT_HTTP200ALIASES | Un tableau de réponses HTTP 200 qui sera traité comme réponses valides et non comme des erreurs. | Ajouté en CURL 7.10.3.
CURLOPT_HTTPHEADER | Un tableau de champs d'en-têtes HTTP à définir, au format array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE | Un tableau de commandes FTP à exécuter sur le serveur après que la requête FTP se soit exécutée.
CURLOPT_QUOTE | Un tableau de commandes FTP à exécuter sur le serveur avant la requête FTP.

value doit être une ressource (utilisant fopen(), par exemple) pour les valeurs suivantes du paramètre option :

Option | Définissez le paramètre value à
CURLOPT_FILE | Le fichier où sera écrit le transfert. Par défaut, STDOUT (la fenêtre du navigateur).
CURLOPT_INFILE | Le fichier lu par le transfert lors du chargement.
CURLOPT_STDERR | Un chemin alternatif à utiliser pour afficher les erreurs au lieu de STDERR.
CURLOPT_WRITEHEADER | Le fichier où sera écrit les parties d'en-tête du transfert.

value doit être une chaîne de caractères qui sera un nom valide de fonction de rappel pour les valeurs suivantes du paramètre option :

Option | Définissez le paramètre value à
CURLOPT_HEADERFUNCTION | Le nom d'une fonction de rappel qui prend deux paramètres. Le premier est la ressource CURL, le second, une chaîne contenant les données de l'en-tête à écrire. En utilisant cette fonction de rappel, il est de votre responsabilité de l'écriture des données de l'en-tête. Retourne le nombre d'octets écrits.
CURLOPT_PASSWDFUNCTION | Le nom d'une fonction de rappel qui prend trois paramètres. Le premier est la ressource CURL, le second, une chaîne contenant un mot de passe de prompt et le troisième, est la longueur maximale du mot de passe. Retourne une chaîne contenant le mot de passe.
CURLOPT_PROGRESSFUNCTION | Le nom de la fonction de rappel lorsque la fonction de rappel prend 3 paramètres. Le premier est la ressource cURL, le second est la ressource de description de fichier, et le troisième, est la longueur. Retourne la chaîne de caractères contenant les données.
CURLOPT_READFUNCTION | Le nom d'une fonction de rappel où la fonction de rappel prend deux paramètres. Le premier est la ressource CURL et le second, une chaîne contenant les données à lire. En utilisant cette fonction de rappel, il devient de votre responsabilité de lire les données. Retourne le nombre d'octets lus. Retourne 0 à un signal EOF.
CURLOPT_WRITEFUNCTION | Le nom d'une fonction de rappel où la fonction de rappel prend deux paramètres. Le premier est la ressource CURL et le second, une chaîne contenant les données à écrire. En utilisant cette fonction de rappel, il devient de votre responsabilité d'écrire les données. Doit retourner le nombre exact d'octets écrits ou il échouera.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.10 | Ajout de CURLOPT_PROTOCOLS et CURLOPT_REDIR_PROTOCOLS.
5.1.0 | Ajout de CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH et CURLOPT_TIMECONDITION.
5.0.0 | Ajout de CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE et CURLOPT_HTTP200ALIASES.

Exemples

Exemple #1 Initialisation d'une nouvelle session CURL et recherche d'une page Web

<?php
// Création d'une ressource cURL
$ch = curl_init();

// Définition de l'URL et autres options appropriées
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// Récupération de l'URL et passage au navigateur
curl_exec($ch);

// Fermeture de la ressource cURL et libération des ressources systèmes
curl_close($ch);
?>

Exemple #2 Télécharger un fichier sur un serveur

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

L'exemple ci-dessus va afficher :

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

Notes

Note: Le fait de passer un tableau à la constante CURLOPT_POSTFIELDS encodera les données comme multipart/form-data, tandis que le fait de passer une chaîne encodée URL encodera les données comme application/x-www-form-urlencoded.

Voir aussi

  • curl_setopt_array() - Fixe plusieurs options pour un transfert cURL

curl_setopt_array
curl_version
Fonctions cURL


Retourne la version courante de cURL

curl_setopt
FAM
Fonctions cURL
PHP Manual

curl_version

(PHP 4 >= 4.0.2, PHP 5)

curl_version — Retourne la version courante de cURL

Description

array curl_version ([ int $age = CURLVERSION_NOW ] )

Retourne des informations sur la version cURL.

Liste de paramètres

age

Valeurs de retour

Retourne un tableau associatif contenant les éléments suivants :

Indice | Description de la valeur
version_number | numéro de version cURL 24 bit
version | numéro de version cURL, sous la forme d'une chaîne de caractères
ssl_version_number | numéro de version OpenSSL 24 bit
ssl_version | numéro de version OpenSSL, sous la forme d'une chaîne de caractères
libz_version | numéro de version zlib, sous la forme d'une chaîne de caractères
host | Informations sur l'hôte sur lequel cURL a été construit
age |
features | Un masque de constantes CURL_VERSION_XXX
protocols | Un tableau de noms de protocoles supportés par cURL

Exemples

Exemple #1 Exemple avec curl_version()

Cet exemple analyse les fonctionnalités disponibles dans la version courante de cURL en utilisant le masque 'features' retourné par la fonction curl_version().

<?php
// Récupère la version de cURL, sous la forme d'un tableau
$version = curl_version();

// Voici les champs qui peuvent être utilisés
// afin de vérifier les fonctionnalités présentes dans cURL
$bitfields = Array(
             'CURL_VERSION_IPV6',
             'CURL_VERSION_KERBEROS4',
             'CURL_VERSION_SSL',
             'CURL_VERSION_LIBZ'
             );

foreach($bitfields as $feature)
{
    echo $feature . ($version['features'] & constant($feature) ? ' présente' : ' absente');
    echo PHP_EOL;
}
?>

curl_setopt
FAM
Fonctions cURL


Moniteur d'altération de fichiers

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions FAM
    • fam_cancel_monitor — Termine le monitoring
    • fam_close — Ferme la connexion FAM
    • fam_monitor_collection — Surveille les changements d'une collection de fichiers dans un dossier
    • fam_monitor_directory — Surveiller les changements dans un dossier
    • fam_monitor_file — Surveille un fichier régulier pour les changements
    • fam_next_event — Retourne le prochain événement FAM en attente
    • fam_open — Ouvre une connexion vers le démon FAM
    • fam_pending — Vérifie si des événements FAM sont disponibles
    • fam_resume_monitor — Reprend un monitoring suspendu
    • fam_suspend_monitor — Suspend temporairement le monitoring
curl_version
Introduction
Autres services


Introduction

FAM surveille les fichiers et les dossiers, notifiant les applications intéressées sur les modifications. Plus d'informations sur FAM sont disponibles sur » http://oss.sgi.com/projects/fam/.

Un script PHP peut spécifier une liste de fichiers à surveiller par FAM, en utilisant les fonctions fournies par cette extension.

Le processus FAM débute lors de la première connexion à une application utilisant FAM. Le processus se termine lorsque toutes les connexions ont été fermées.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

FAM
Installation/Configuration
FAM


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
FAM


Pré-requis

Cette extension utilisent les fonctions de la bibliothèque » FAM, développé par SGI. Toutefois, vous devez installer la bibliothèque FAM.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/fam.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Il y a deux types de ressources utilisées par le module FAM. La première est la connexion au service FAM, retournée par la fonction fam_open(), et la seconde, une ressource de moniteur, retournée par les fonctions fam_monitor_XXX.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes d'événements FAM
Constante | Description
FAMChanged (entier) | Une valeur qui a été modifiée pour un fichier ou un dossier. Elle est accessible via fstat(1).
FAMDeleted (entier) | Un fichier ou un dossier a été effacé.
FAMStartExecuting (entier) | Un fichier exécutable a été lancé.
FAMStopExecuting (entier) | Un fichier exécutable a fini de s'exécuter.
FAMCreated (entier) | Un fichier a été créé dans un dossier.
FAMMoved (entier) | Cet événement ne se produit jamais.
FAMAcknowledge (entier) | Événement survenu en réponse à fam_cancel_monitor().
FAMExists (entier) | Un événement survenu suite à une commande de surveillance d'un fichier ou d'un dossier. Lorsque le dossier est sous surveillance, un événement est généré pour ce dossier et tous ses fichiers.
FAMEndExist (entier) | Un événement après le dernier événement.
Types de ressources
Fonctions FAM
FAM


Fonctions FAM

Sommaire

  • fam_cancel_monitor — Termine le monitoring
  • fam_close — Ferme la connexion FAM
  • fam_monitor_collection — Surveille les changements d'une collection de fichiers dans un dossier
  • fam_monitor_directory — Surveiller les changements dans un dossier
  • fam_monitor_file — Surveille un fichier régulier pour les changements
  • fam_next_event — Retourne le prochain événement FAM en attente
  • fam_open — Ouvre une connexion vers le démon FAM
  • fam_pending — Vérifie si des événements FAM sont disponibles
  • fam_resume_monitor — Reprend un monitoring suspendu
  • fam_suspend_monitor — Suspend temporairement le monitoring
Constantes pré-définies
fam_cancel_monitor
FAM


Termine le monitoring

Fonctions FAM
fam_close
Fonctions FAM
PHP Manual

fam_cancel_monitor

(PHP 5 <= 5.0.5)

fam_cancel_monitor — Termine le monitoring

Description

bool fam_cancel_monitor ( resource $fam , resource $fam_monitor )

Termine la surveillance d'une ressource.

De plus un événement FAMAcknowledge survient.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

fam_monitor

Une ressource retournée par une des fonctions fam_monitor_XXX.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fam_monitor_file() - Surveille un fichier régulier pour les changements
  • fam_monitor_directory() - Surveiller les changements dans un dossier
  • fam_monitor_collection() - Surveille les changements d'une collection de fichiers dans un dossier
  • fam_suspend_monitor() - Suspend temporairement le monitoring

Fonctions FAM
fam_close
Fonctions FAM


Ferme la connexion FAM

fam_cancel_monitor
fam_monitor_collection
Fonctions FAM
PHP Manual

fam_close

(PHP 5 <= 5.0.5)

fam_close — Ferme la connexion FAM

Description

void fam_close ( resource $fam )

Ferme une connexion au service FAM.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • fam_monitor_open()

fam_cancel_monitor
fam_monitor_collection
Fonctions FAM


Surveille les changements d'une collection de fichiers dans un dossier

fam_close
fam_monitor_directory
Fonctions FAM
PHP Manual

fam_monitor_collection

(PHP 5 <= 5.0.5)

fam_monitor_collection — Surveille les changements d'une collection de fichiers dans un dossier

Description

resource fam_monitor_collection ( resource $fam , string $dirname , int $depth , string $mask )

Surveille une collection de fichiers dans le dossier spécifié.

Une événement FAM sera généré lorsque le statut d'un fichier changera. Les codes des événements possibles sont décrit en détail dans la partie constantes de cette section.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

dirname

Chemin vers le dossier contenant les fichiers à surveiller

depth

La profondeur maximale de recherche à partir de ce dossier

mask

Un masque restreignant les noms de fichier

Valeurs de retour

Retourne une ressource ou FALSE si une erreur survient.

Voir aussi

  • fam_monitor_file() - Surveille un fichier régulier pour les changements
  • fam_monitor_directory() - Surveiller les changements dans un dossier
  • fam_cancel_monitor() - Termine le monitoring
  • fam_suspend_monitor() - Suspend temporairement le monitoring
  • fam_resume_monitor() - Reprend un monitoring suspendu

fam_close
fam_monitor_directory
Fonctions FAM


Surveiller les changements dans un dossier

fam_monitor_collection
fam_monitor_file
Fonctions FAM
PHP Manual

fam_monitor_directory

(PHP 5 <= 5.0.5)

fam_monitor_directory — Surveiller les changements dans un dossier

Description

resource fam_monitor_directory ( resource $fam , string $dirname )

Surveiller un dossier et tous ses fichiers.

Un événement FAM sera généré à chaque fois que le statut du dossier (i.e. le résultat de la fonction stat() sur ce dossier) ou de son contenu (ie. le résultat de readdir()) changera.

Les codes des événements possibles sont décrit en détail dans la partie constantes de cette section.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

dirname

Chemin vers le dossier surveillé

Valeurs de retour

Retourne une ressource ou FALSE si une erreur survient.

Voir aussi

  • fam_monitor_file() - Surveille un fichier régulier pour les changements
  • fam_monitor_collection() - Surveille les changements d'une collection de fichiers dans un dossier
  • fam_cancel_monitor() - Termine le monitoring
  • fam_suspend_monitor() - Suspend temporairement le monitoring
  • fam_resume_monitor() - Reprend un monitoring suspendu

fam_monitor_collection
fam_monitor_file
Fonctions FAM


Surveille un fichier régulier pour les changements

fam_monitor_directory
fam_next_event
Fonctions FAM
PHP Manual

fam_monitor_file

(PHP 5 <= 5.0.5)

fam_monitor_file — Surveille un fichier régulier pour les changements

Description

resource fam_monitor_file ( resource $fam , string $filename )

Met en place le monitoring pour un fichier. Un événement FAM sera généré à chaque fois que le statut du fichier (i.e. le résultat de la fonction stat() sur ce fichier) changera.

Les codes des événements possibles sont décrit en détail dans la partie constantes de cette section.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

filename

Chemin vers le fichier surveillé

Valeurs de retour

Retourne une ressource ou FALSE si une erreur survient.

Voir aussi

  • fam_monitor_directory() - Surveiller les changements dans un dossier
  • fam_monitor_collection() - Surveille les changements d'une collection de fichiers dans un dossier
  • fam_cancel_monitor() - Termine le monitoring
  • fam_suspend_monitor() - Suspend temporairement le monitoring
  • fam_resume_monitor() - Reprend un monitoring suspendu

fam_monitor_directory
fam_next_event
Fonctions FAM


Retourne le prochain événement FAM en attente

fam_monitor_file
fam_open
Fonctions FAM
PHP Manual

fam_next_event

(PHP 5 <= 5.0.5)

fam_next_event — Retourne le prochain événement FAM en attente

Description

array fam_next_event ( resource $fam )

Retourne l'événement FAM suivant dans la file d'attente.

Cette fonction bloquera tant qu'un événement sera disponible, ce qui peut être vérifié en appelant fam_pending().

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

Valeurs de retour

Retourne un tableau contenant un code événement FAM dans l'entrée "code", le chemin vers le fichier ciblé dans l'entrée "filename" et optionnellement un nom d'hôte dans l'entrée "hostname".

Les codes événements possibles sont détaillés dans la partie constantes de cette section.

Voir aussi

  • fam_pending() - Vérifie si des événements FAM sont disponibles

fam_monitor_file
fam_open
Fonctions FAM


Ouvre une connexion vers le démon FAM

fam_next_event
fam_pending
Fonctions FAM
PHP Manual

fam_open

(PHP 5 <= 5.0.5)

fam_open — Ouvre une connexion vers le démon FAM

Description

resource fam_open ([ string $appname ] )

Ouvre une connexion vers le démon du service FAM.

Liste de paramètres

appname

chaîne de caractères identifiant l'application pour les journaux de logs.

Valeurs de retour

Retourne une ressource représentant une connexion à un service FAM en cas de succès, ou FALSE si une erreur survient.

Voir aussi

  • fam_close() - Ferme la connexion FAM

fam_next_event
fam_pending
Fonctions FAM


Vérifie si des événements FAM sont disponibles

fam_open
fam_resume_monitor
Fonctions FAM
PHP Manual

fam_pending

(PHP 5 <= 5.0.5)

fam_pending — Vérifie si des événements FAM sont disponibles

Description

int fam_pending ( resource $fam )

Vérifie si des événements FAM sont disponibles.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

Valeurs de retour

Retourne une valeur différente de zéro si des évènements sont disponibles pour être récupérés avec fam_next_event().

Voir aussi

  • fam_next_event() - Retourne le prochain événement FAM en attente

fam_open
fam_resume_monitor
Fonctions FAM


Reprend un monitoring suspendu

fam_pending
fam_suspend_monitor
Fonctions FAM
PHP Manual

fam_resume_monitor

(PHP 5 <= 5.0.5)

fam_resume_monitor — Reprend un monitoring suspendu

Description

bool fam_resume_monitor ( resource $fam , resource $fam_monitor )

Reprend le monitoring d'une ressource précédemment suspendu avec fam_suspend_monitor().

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

fam_monitor

Une ressource retournée par une des fonctions fam_monitor_XXX

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fam_suspend_monitor() - Suspend temporairement le monitoring

fam_pending
fam_suspend_monitor
Fonctions FAM


Suspend temporairement le monitoring

fam_resume_monitor
FTP
Fonctions FAM
PHP Manual

fam_suspend_monitor

(PHP 5 <= 5.0.5)

fam_suspend_monitor — Suspend temporairement le monitoring

Description

bool fam_suspend_monitor ( resource $fam , resource $fam_monitor )

fam_suspend_monitor() suspend temporairement le monitoring d'une ressource.

Le monitoring peut être repris par la suite à l'aide de fam_resume_monitor() sans avoir à en recréer un nouveau.

Liste de paramètres

fam

Une ressource représentant une connexion à un service FAM retournée par la fonction fam_open()

fam_monitor

Une ressource retournée par une des fonctions fam_monitor_XXX

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • fam_cancel_monitor() - Termine le monitoring
  • fam_resume_monitor() - Reprend un monitoring suspendu

fam_resume_monitor
FTP
Fonctions FAM


FTP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple avec FTP
  • Fonctions FTP
    • ftp_alloc — Alloue de l'espace pour un téléchargement de fichier
    • ftp_cdup — Change de dossier et passe au dossier parent
    • ftp_chdir — Modifie le dossier FTP courant
    • ftp_chmod — Modifie les droits d'un fichier via FTP
    • ftp_close — Ferme une connexion FTP
    • ftp_connect — Ouvre une connexion FTP
    • ftp_delete — Efface un fichier sur un serveur FTP
    • ftp_exec — Exécute une commande sur un serveur FTP
    • ftp_fget — Télécharge un fichier via FTP dans un fichier local
    • ftp_fput — Charge un fichier sur un serveur FTP
    • ftp_get_option — Lit différentes options pour la connexion FTP courante
    • ftp_get — Télécharge un fichier depuis un serveur FTP
    • ftp_login — Identification sur un serveur FTP
    • ftp_mdtm — Retourne la date de dernière modification d'un fichier sur un serveur FTP
    • ftp_mkdir — Crée un dossier sur un serveur FTP
    • ftp_nb_continue — Reprend le téléchargement d'un fichier (non bloquant)
    • ftp_nb_fget — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
    • ftp_nb_fput — Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)
    • ftp_nb_get — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
    • ftp_nb_put — Envoie un fichier sur un serveur FTP (non-bloquant)
    • ftp_nlist — Retourne la liste des fichiers d'un dossier
    • ftp_pasv — Active ou désactive le mode passif
    • ftp_put — Charge un fichier sur un serveur FTP
    • ftp_pwd — Retourne le nom du dossier courant
    • ftp_quit — Alias de ftp_close
    • ftp_raw — Envoie une commande FTP brute
    • ftp_rawlist — Fait une liste détaillée des fichiers d'un dossier
    • ftp_rename — Renomme un fichier sur un serveur FTP
    • ftp_rmdir — Efface un dossier FTP
    • ftp_set_option — Modifie les options de la connexion FTP
    • ftp_site — Exécute la commande SITE sur un serveur FTP
    • ftp_size — Retourne la taille d'un fichier
    • ftp_ssl_connect — Ouvre une connexion FTP sécurisée avec SSL
    • ftp_systype — Retourne un identifiant de type de serveur FTP
fam_suspend_monitor
Introduction
Autres services


Introduction

Les fonctions de cette extension implémentent l'accès au client à un serveur de fichier qui gère le protocole FTP comme défini dans la RFC » http://www.faqs.org/rfcs/rfc959. Cette extension permet un accès détaillé au serveur FTP fournissant un éventail de commandes pour vos scripts. Si vous voulez seulement lire ou écrire un fichier sur un serveur FTP, utilisez plutôt le gestionnaire ftp:// avec les fonctions de système de fichiers qui fournissent une interface simple et intuitive.

FTP
Installation/Configuration
FTP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
FTP


Installation

Pour activer le module FTP de votre configuration PHP, il faut utiliser l'option --enable-ftp.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension utilise une ressource représentant l'identifiant du lien de connexion FTP, retournée par la fonction ftp_connect() ou la fonction ftp_ssl_connect().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FTP_ASCII (entier)

FTP_TEXT (entier)

FTP_BINARY (entier)

FTP_IMAGE (entier)

FTP_TIMEOUT_SEC (entier)

Voir ftp_set_option() pour les détails.

Les constantes suivantes ont été introduites en PHP 4.3.0.

FTP_AUTOSEEK (entier)

Voir ftp_set_option() pour les détails.

FTP_AUTORESUME (entier)

Détermine automatiquement la position de reprise (RESUME) et la position de début pour les requêtes GET et PUT (ne fonctionne qu'avec FTP_AUTOSEEK)

FTP_FAILED (entier)

Le mode asynchrone a échoué

FTP_FINISHED (entier)

Le mode asynchrone a terminé

FTP_MOREDATA (entier)

Le mode asynchrone est encore actif

Types de ressources
Exemples
FTP


Exemples

Sommaire

  • Exemple avec FTP
Constantes pré-définies
Exemple avec FTP
FTP


Exemple avec FTP

Exemples
Fonctions FTP
Exemples
PHP Manual

Exemple #1 Exemple avec FTP

<?php
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
    echo "La connexion FTP a échoué !";
    echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
    exit;
} else {
    echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
}

// Chargement d'un fichier
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// Vérification du status du chargement
if (!$upload) {
    echo "Le chargement FTP a échoué!";
} else {
    echo "Chargement de $source_file vers $ftp_server en tant que $destination_file";
}

// Fermeture du flux FTP
ftp_close($conn_id);
?>

Exemples
Fonctions FTP
Exemples


Fonctions FTP

Sommaire

  • ftp_alloc — Alloue de l'espace pour un téléchargement de fichier
  • ftp_cdup — Change de dossier et passe au dossier parent
  • ftp_chdir — Modifie le dossier FTP courant
  • ftp_chmod — Modifie les droits d'un fichier via FTP
  • ftp_close — Ferme une connexion FTP
  • ftp_connect — Ouvre une connexion FTP
  • ftp_delete — Efface un fichier sur un serveur FTP
  • ftp_exec — Exécute une commande sur un serveur FTP
  • ftp_fget — Télécharge un fichier via FTP dans un fichier local
  • ftp_fput — Charge un fichier sur un serveur FTP
  • ftp_get_option — Lit différentes options pour la connexion FTP courante
  • ftp_get — Télécharge un fichier depuis un serveur FTP
  • ftp_login — Identification sur un serveur FTP
  • ftp_mdtm — Retourne la date de dernière modification d'un fichier sur un serveur FTP
  • ftp_mkdir — Crée un dossier sur un serveur FTP
  • ftp_nb_continue — Reprend le téléchargement d'un fichier (non bloquant)
  • ftp_nb_fget — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
  • ftp_nb_fput — Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)
  • ftp_nb_get — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
  • ftp_nb_put — Envoie un fichier sur un serveur FTP (non-bloquant)
  • ftp_nlist — Retourne la liste des fichiers d'un dossier
  • ftp_pasv — Active ou désactive le mode passif
  • ftp_put — Charge un fichier sur un serveur FTP
  • ftp_pwd — Retourne le nom du dossier courant
  • ftp_quit — Alias de ftp_close
  • ftp_raw — Envoie une commande FTP brute
  • ftp_rawlist — Fait une liste détaillée des fichiers d'un dossier
  • ftp_rename — Renomme un fichier sur un serveur FTP
  • ftp_rmdir — Efface un dossier FTP
  • ftp_set_option — Modifie les options de la connexion FTP
  • ftp_site — Exécute la commande SITE sur un serveur FTP
  • ftp_size — Retourne la taille d'un fichier
  • ftp_ssl_connect — Ouvre une connexion FTP sécurisée avec SSL
  • ftp_systype — Retourne un identifiant de type de serveur FTP
Exemple avec FTP
ftp_alloc
FTP


Alloue de l'espace pour un téléchargement de fichier

Fonctions FTP
ftp_cdup
Fonctions FTP
PHP Manual

ftp_alloc

(PHP 5)

ftp_alloc — Alloue de l'espace pour un téléchargement de fichier

Description

bool ftp_alloc ( resource $ftp_stream , int $filesize [, string &$result ] )

ftp_alloc() envoie la commande FTP ALLO pour allouer un espace sur le serveur FTP de filesize octets.

Note: De nombreux serveur FTP ne supportent pas cette commande. Ces serveurs peuvent retourner un code d'erreur (FALSE) qui indique que la commande n'est pas supportée, ou (TRUE) pour dire que la préallocation n'est pas nécessaire : le client continue alors ses opérations de la même façon. À cause de cela, il est préférable de n'utiliser cette fonction qu'avec les serveurs qui requièrent spécifiquement cette fonction.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

filesize

Le nombre d'octets à allouer.

return

Une représentation textuelle de la réponse du serveur qui sera retournée par référence dans result si une variable est fournie.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_alloc()

<?php

$file = "/home/user/myfile";

// Connexion au serveur
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

if (ftp_alloc($conn_id, filesize($file), $result)) {
  echo "Espace alloué avec succès sur le serveur. Envoi de $file.\n";
  ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
  echo "Impossible d'allouer l'espace sur le serveur. Réponse du serveur : $result\n";
}

ftp_close($conn_id);

?>

Voir aussi

  • ftp_put() - Charge un fichier sur un serveur FTP
  • ftp_fput() - Charge un fichier sur un serveur FTP

Fonctions FTP
ftp_cdup
Fonctions FTP


Change de dossier et passe au dossier parent

ftp_alloc
ftp_chdir
Fonctions FTP
PHP Manual

ftp_cdup

(PHP 4, PHP 5)

ftp_cdup — Change de dossier et passe au dossier parent

Description

bool ftp_cdup ( resource $ftp_stream )

ftp_cdup() change de dossier et passe au dossier parent.

Liste de paramètres

ftp_stream

L'identifiant du lien de la connexion FTP.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_cdup()

<?php
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec nom d'utilisateur et mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Modifie le dossier courant en html
ftp_chdir($conn_id, 'html');

echo ftp_pwd($conn_id); // /html

// Retour au dossier parent
if (ftp_cdup($conn_id)) {
  echo "succès de cdup\n";
} else {
  echo "Echec de cdup\n";
}

echo ftp_pwd($conn_id); // /

ftp_close($conn_id);
?>

Voir aussi

  • ftp_chdir() - Modifie le dossier FTP courant
  • ftp_pwd() - Retourne le nom du dossier courant

ftp_alloc
ftp_chdir
Fonctions FTP


Modifie le dossier FTP courant

ftp_cdup
ftp_chmod
Fonctions FTP
PHP Manual

ftp_chdir

(PHP 4, PHP 5)

ftp_chdir — Modifie le dossier FTP courant

Description

bool ftp_chdir ( resource $ftp_stream , string $directory )

ftp_chdir() modifie le dossier courant en directory.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

directory

Le dossier cible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si le changement échoue, PHP lancera également une alerte.

Exemples

Exemple #1 Exemple avec ftp_chdir()

<?php

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
    die("Echec de la connexion FTP !");
}

echo "Dossier courant : " . ftp_pwd($conn_id) . "\n";

// Tentative de modification du dossier en "somedir"
if (ftp_chdir($conn_id, "somedir")) {
    echo "Le dossier courant est maintenant : " . ftp_pwd($conn_id) . "\n";
} else {
    echo "Impossible de changer de dossier\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

Voir aussi

  • ftp_cdup() - Change de dossier et passe au dossier parent
  • ftp_pwd() - Retourne le nom du dossier courant

ftp_cdup
ftp_chmod
Fonctions FTP


Modifie les droits d'un fichier via FTP

ftp_chdir
ftp_close
Fonctions FTP
PHP Manual

ftp_chmod

(PHP 5)

ftp_chmod — Modifie les droits d'un fichier via FTP

Description

int ftp_chmod ( resource $ftp_stream , int $mode , string $filename )

ftp_chmod() modifie les droits d'accès au fichier filename sur le serveur FTP ftp_stream, en lui attribuant les droits de mode, spécifié sous la forme d'un entier en base octale.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

mode

La nouvelle permission, donnée en tant que valeur octale.

filename

Le fichier distant.

Valeurs de retour

Retourne les nouvelles permissions du fichier en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_chmod()

<?php
$file = 'public_html/index.php';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tentative de modification des permissions du fichier $file en 644
if (ftp_chmod($conn_id, 0644, $file) !== false) {
 echo "Les permissions du fichier $file ont été modifiées avec succès en 644\n";
} else {
 echo "Impossible de modifier les permissions du fichier $file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

Voir aussi

  • chmod() - Change le mode du fichier

ftp_chdir
ftp_close
Fonctions FTP


Ferme une connexion FTP

ftp_chmod
ftp_connect
Fonctions FTP
PHP Manual

ftp_close

(PHP 4 >= 4.2.0, PHP 5)

ftp_close — Ferme une connexion FTP

Description

bool ftp_close ( resource $ftp_stream )

ftp_close() ferme la connexion ftp_stream et libère les ressources.

Note: Après avoir appelé cette fonction, vous ne pouvez plus utiliser l'ancienne connexion, et vous devez en ouvrir une nouvelle avec ftp_connect().

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_close()

<?php

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Affichage du dossier courant
echo ftp_pwd($conn_id); // /

// Fermeture de la connexion
ftp_close($conn_id);
?>

Voir aussi

  • ftp_connect() - Ouvre une connexion FTP

ftp_chmod
ftp_connect
Fonctions FTP


Ouvre une connexion FTP

ftp_close
ftp_delete
Fonctions FTP
PHP Manual

ftp_connect

(PHP 4, PHP 5)

ftp_connect — Ouvre une connexion FTP

Description

resource ftp_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_connect() ouvre une connexion FTP avec l'hôte host.

Liste de paramètres

host

L'adresse du serveur FTP. Ce paramètre ne doit jamais avoir de slash final et ne doit pas être préfixé par ftp://.

port

Ce paramètre spécifie un numéro de port alternatif pour la connexion. S'il est omis ou définie à zéro, alors le port par défaut utilisé sera 21.

timeout

Ce paramètre spécifie le délai de connexion pour toutes les opérations de sous séquences du réseau. S'il est omis, la valeur par défaut sera 90 secondes. Le délai de connexion peut être modifié et interrogé à n'importe quel moment avec les moments ftp_set_option() et ftp_get_option().

Valeurs de retour

Retourne un flux FTP en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_connect()

<?php

$ftp_server = "ftp.example.com";

// Mise en place d'une connexion
$conn_id = ftp_connect($ftp_server) or die("Impossible de se connecter au serveur $ftp_server");

?>

Historique

Version | Description
4.2.0 | timeout a été ajouté.

Voir aussi

  • ftp_close() - Ferme une connexion FTP
  • ftp_ssl_connect() - Ouvre une connexion FTP sécurisée avec SSL

ftp_close
ftp_delete
Fonctions FTP


Efface un fichier sur un serveur FTP

ftp_connect
ftp_exec
Fonctions FTP
PHP Manual

ftp_delete

(PHP 4, PHP 5)

ftp_delete — Efface un fichier sur un serveur FTP

Description

bool ftp_delete ( resource $ftp_stream , string $path )

ftp_delete() efface le fichier path sur un serveur FTP.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

path

Le fichier à effacer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_delete()

<?php
$file = 'public_html/old.txt';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tente d'effacer le fichier $file
if (ftp_delete($conn_id, $file)) {
 echo "$file effacé avec succès\n";
} else {
 echo "Impossible d'effacer le fichier $file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

ftp_connect
ftp_exec
Fonctions FTP


Exécute une commande sur un serveur FTP

ftp_delete
ftp_fget
Fonctions FTP
PHP Manual

ftp_exec

(PHP 4 >= 4.0.3, PHP 5)

ftp_exec — Exécute une commande sur un serveur FTP

Description

bool ftp_exec ( resource $ftp_stream , string $command )

ftp_exec() envoie une commande SITE EXEC au serveur FTP, pour qu'il exécute le programme command.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

command

La commande à exécuter.

Valeurs de retour

Retourne TRUE si la commande a été exécutée avec succès (le serveur envoie le code réponse : 200); sinon, retourne FALSE.

Exemples

Exemple #1 Exemple avec ftp_exec()

<?php

// Initialisation de la variable
$command = 'ls -al >files.txt';

// Initialisation de la connexion
$conn_id = ftp_connect($ftp_server);

// Identification
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Éxécution d'une commande
if (ftp_exec($conn_id, $command)) {
    echo "$command a été exécuté avec succès\n";
} else {
    echo "Impossible d\'exécuter : $command\n";
}

// Fermeture de la connexion
ftp_close($conn_id);

?>

Voir aussi

  • ftp_raw() - Envoie une commande FTP brute

ftp_delete
ftp_fget
Fonctions FTP


Télécharge un fichier via FTP dans un fichier local

ftp_exec
ftp_fput
Fonctions FTP
PHP Manual

ftp_fget

(PHP 4, PHP 5)

ftp_fget — Télécharge un fichier via FTP dans un fichier local

Description

bool ftp_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_fget() télécharge le fichier remote_file depuis le serveur FTP et l'écrit dans le fichier identifié par handle.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

handle

Un pointeur de fichier ouvert dans lequel on écrit les données.

remote_file

Le chemin vers le fichier distant.

mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.

resumepos

La position du fichier distant à partir de laquelle le téléchargement commence.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_fget()

<?php

// Chemin vers le fichier distant
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// Ouverture du fichier pour écriture
$handle = fopen('local_file.txt', 'w');

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tente de téléchargement le fichier $remote_file et de le sauvegarder dans $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "Ecriture dans le fichier $local_file avec succès\n";
} else {
 echo "Il y a un problème lors du téléchargement du fichier $remote_file dans $local_file\n";
}

// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);
fclose($handle);
?>

Historique

Version | Description
4.3.0 | resumepos a été ajouté.

Voir aussi

  • ftp_get() - Télécharge un fichier depuis un serveur FTP
  • ftp_nb_get() - Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
  • ftp_nb_fget() - Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)

ftp_exec
ftp_fput
Fonctions FTP


Charge un fichier sur un serveur FTP

ftp_fget
ftp_get_option
Fonctions FTP
PHP Manual

ftp_fput

(PHP 4, PHP 5)

ftp_fput — Charge un fichier sur un serveur FTP

Description

bool ftp_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_fput() charge les données issues du fichier identifié par handle jusqu'à la fin du fichier.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

remote_file

Le chemin vers le fichier distant.

handle

Un pointeur de fichier ouvert sur le fichier local. La lecture s'arrête à la fin du fichier.

mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.

startpos

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_fput()

<?php

// Ouverture de quelques fichiers pour lecture
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tente de charger le fichier $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "Chargement avec succès du fichier $file\n";
} else {
    echo "Il y a eu un problème lors du chargement du fichier $file\n";
}

// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);
fclose($fp);

?>

Historique

Version | Description
4.3.0 | startpos a été ajouté.

Voir aussi

  • ftp_put() - Charge un fichier sur un serveur FTP
  • ftp_nb_fput() - Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)
  • ftp_nb_put() - Envoie un fichier sur un serveur FTP (non-bloquant)

ftp_fget
ftp_get_option
Fonctions FTP


Lit différentes options pour la connexion FTP courante

ftp_fput
ftp_get
Fonctions FTP
PHP Manual

ftp_get_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_get_option — Lit différentes options pour la connexion FTP courante

Description

mixed ftp_get_option ( resource $ftp_stream , int $option )

ftp_get_option() retourne la valeur de l'option option depuis la connexion FTP spécifiée.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

option

Actuellement, les options suivantes sont supportées :

Options FTP supportées
FTP_TIMEOUT_SEC | Retourne le délai de connexion courant utilisé pour les opérations sur le réseau.
FTP_AUTOSEEK | Retourne TRUE si cette option est active, FALSE sinon.

Valeurs de retour

Retourne la valeur en cas de succès, ou FALSE si l'option option n'est pas supportée. Dans le dernier cas, un message d'alerte est également envoyé.

Exemples

Exemple #1 Exemple avec ftp_get_option()

<?php
// Récupération du délai de connexion du flux FTP courant
$timeout = ftp_get_option($conn_id, FTP_TIMEOUT_SEC);
?>

Voir aussi

  • ftp_set_option() - Modifie les options de la connexion FTP

ftp_fput
ftp_get
Fonctions FTP


Télécharge un fichier depuis un serveur FTP

ftp_get_option
ftp_login
Fonctions FTP
PHP Manual

ftp_get

(PHP 4, PHP 5)

ftp_get — Télécharge un fichier depuis un serveur FTP

Description

bool ftp_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_get() télécharge le fichier remote_file depuis le serveur FTP, et le sauve dans le fichier local local_file.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

local_file

Le chemin vers le fichier local (sera écrasé si le fichier existe déjà).

remote_file

Le chemin vers le fichier distant.

mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.

resumepos

La position dans le fichier distant à partir duquel on commence le téléchargement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_get()

<?php

// Définition de quelques variables
$local_file = 'local.zip';
$server_file = 'server.zip';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tentative de téléchargement du fichier $server_file et sauvegarde dans le fichier $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "Le fichier $local_file a été écris avec succès\n";
} else {
    echo "Il y a un problème\n";
}

// Fermeture de la connexion
ftp_close($conn_id);

?>

Historique

Version | Description
4.3.0 | resumepos a été ajouté.

Voir aussi

  • ftp_pasv() - Active ou désactive le mode passif
  • ftp_fget() - Télécharge un fichier via FTP dans un fichier local
  • ftp_nb_get() - Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
  • ftp_nb_fget() - Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)

ftp_get_option
ftp_login
Fonctions FTP


Identification sur un serveur FTP

ftp_get
ftp_mdtm
Fonctions FTP
PHP Manual

ftp_login

(PHP 4, PHP 5)

ftp_login — Identification sur un serveur FTP

Description

bool ftp_login ( resource $ftp_stream , string $username , string $password )

ftp_login() identifie le flux FTP sur le serveur, avec le nom d'utilisateur username et le mot de passe password.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

username

Le nom de l'utilisateur (USER).

password

Le mot de passe (PASS).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si l'identification échoue, PHP lancera une alerte.

Exemples

Exemple #1 Exemple avec ftp_login()

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// Tentative d'identification
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Connecté en tant que $ftp_user@$ftp_server\n";
} else {
    echo "Connexion impossible en tant que $ftp_user\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

ftp_get
ftp_mdtm
Fonctions FTP


Retourne la date de dernière modification d'un fichier sur un serveur FTP

ftp_login
ftp_mkdir
Fonctions FTP
PHP Manual

ftp_mdtm

(PHP 4, PHP 5)

ftp_mdtm — Retourne la date de dernière modification d'un fichier sur un serveur FTP

Description

int ftp_mdtm ( resource $ftp_stream , string $remote_file )

ftp_mdtm() lit la date de dernière modification d'un fichier distant.

Note: Tous les serveurs ne supportent pas cette fonctionnalité !

Note: ftp_mdtm() ne fonctionne pas avec les dossiers.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

remote_file

Le fichier depuis lequel on doit extraire la date de dernière modification.

Valeurs de retour

Retourne la date de dernière modification en tant que timestamp Unix en cas de succès, ou -1 si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_mdtm()

<?php

$file = 'somefile.txt';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//  Récupération de la date de dernière modification
$buff = ftp_mdtm($conn_id, $file);

if ($buff != -1) {
    // somefile.txt was last modified on: March 26 2003 14:16:41.
    echo "$file a été modifié pour la dernière fois : " . date("F d Y H:i:s.", $buff);
} else {
    echo "Impossible de récupérer mdtime";
}

// Fermeture de la connexion
ftp_close($conn_id);

?>

ftp_login
ftp_mkdir
Fonctions FTP


Crée un dossier sur un serveur FTP

ftp_mdtm
ftp_nb_continue
Fonctions FTP
PHP Manual

ftp_mkdir

(PHP 4, PHP 5)

ftp_mkdir — Crée un dossier sur un serveur FTP

Description

string ftp_mkdir ( resource $ftp_stream , string $directory )

ftp_mkdir() crée le dossier nommé directory sur le serveur FTP.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

directory

Le nom du dossier qui doit être créé.

Valeurs de retour

Retourne le nom du dossier créé en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_mkdir()

<?php

$dir = 'www';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identication avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tentative de création du dossier $dir
if (ftp_mkdir($conn_id, $dir)) {
 echo "Le dossier $dir a été créé avec succès\n";
} else {
 echo "Il y a eu un problème lors de la création du dossier $dir\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

Voir aussi

  • ftp_rmdir() - Efface un dossier FTP

ftp_mdtm
ftp_nb_continue
Fonctions FTP


Reprend le téléchargement d'un fichier (non bloquant)

ftp_mkdir
ftp_nb_fget
Fonctions FTP
PHP Manual

ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_continue — Reprend le téléchargement d'un fichier (non bloquant)

Description

int ftp_nb_continue ( resource $ftp_stream )

ftp_nb_continue() reprend le téléchargement d'un fichier sur la connexion ftp_stream, de manière asynchrone.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

Valeurs de retour

Retourne FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemples

Exemple #1 Exemple avec ftp_nb_continue()

<?php

// Initialisation du téléchargement
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Continue le téléchargement...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu une erreur pendant le téléchargement du fichier...";
   exit(1);
}
?>

ftp_mkdir
ftp_nb_fget
Fonctions FTP


Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)

ftp_nb_continue
ftp_nb_fput
Fonctions FTP
PHP Manual

ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fget — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)

Description

int ftp_nb_fget ( resource $ftp_stream , resource $handle , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_fget() lit le fichier remote_file présent sur le serveur FTP ftp_stream.

La différence entre cette fonction et ftp_fget() est que cette fonction peut lire le fichier de manière asynchrone, afin que votre programme fasse autre chose pendant que le fichier est téléchargé.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

handle

Un pointeur de fichier ouvert dans lequel les données sont écrites.

remote_file

Le chemin vers le fichier distant.

mode

Le mode de transfert. Doit être soir FTP_ASCII ou FTP_BINARY.

resumepos

Valeurs de retour

Retourne FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemples

Exemple #1 Exemple avec ftp_nb_fget()

<?php

// Ouverture de quelques fichiers pour lecture
$file = 'index.php';
$fp = fopen($file, 'w');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Initialise le téléchargement
$ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Faites ce que vous voulez...
   echo ".";

   // Continue le téléchargement...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu une erreur pendant le téléchargement du fichier...";
   exit(1);
}

// Ferme le pointeur de fichier
fclose($fp);
?>

Voir aussi

  • ftp_nb_get() - Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
  • ftp_nb_continue() - Reprend le téléchargement d'un fichier (non bloquant)
  • ftp_fget() - Télécharge un fichier via FTP dans un fichier local
  • ftp_get() - Télécharge un fichier depuis un serveur FTP

ftp_nb_continue
ftp_nb_fput
Fonctions FTP


Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)

ftp_nb_fget
ftp_nb_get
Fonctions FTP
PHP Manual

ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fput — Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)

Description

int ftp_nb_fput ( resource $ftp_stream , string $remote_file , resource $handle , int $mode [, int $startpos = 0 ] )

ftp_nb_fput() écrit le fichier remote_file présent sur la machine locale, sur le serveur FTP ftp_stream.

La différence entre cette fonction et ftp_fput() est que cette fonction peut lire le fichier de manière asynchrone, afin que votre programme fasse autre chose pendant que le fichier soit téléchargé.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

remote_file

Le chemin vers le fichier distant.

handle

Un pointeur de fichier vers un fichier local. La lecture s'arrête à la fin du fichier.

mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.

startpos

Valeurs de retour

Retourne FTP_FAILED, FTP_FINISHED ou FTP_MOREDATA.

Exemples

Exemple #1 Exemple avec ftp_nb_fput()

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Initialise le chargement
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Faites ce que vous voulez...
   echo ".";

   // Continue le chargement...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu un problème lors du chargement du fichier...";
   exit(1);
}

fclose($fp);
?>

Voir aussi

  • ftp_nb_put() - Envoie un fichier sur un serveur FTP (non-bloquant)
  • ftp_nb_continue() - Reprend le téléchargement d'un fichier (non bloquant)
  • ftp_put() - Charge un fichier sur un serveur FTP
  • ftp_fput() - Charge un fichier sur un serveur FTP

ftp_nb_fget
ftp_nb_get
Fonctions FTP


Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)

ftp_nb_fput
ftp_nb_put
Fonctions FTP
PHP Manual

ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)

Description

int ftp_nb_get ( resource $ftp_stream , string $local_file , string $remote_file , int $mode [, int $resumepos = 0 ] )

ftp_nb_get() lit le fichier remote_file présent sur le serveur FTP ftp_stream et le sauvegarde dans un fichier local.

La différence entre cette fonction et ftp_fget() est que cette fonction peut lire le fichier de manière asynchrone, afin que votre programme fasse autre chose pendant que le fichier est téléchargé.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

local_file

Le chemin vers le fichier local (sera écrasé si le fichier existe déjà).

remote_file

Le chemin vers le fichier distant.

mode

Le mode de transfert. Doit être soit FTP_ASCII ou FTP_BINARY.

resumepos

Valeurs de retour

Retourne FTP_FAILED ou FTP_FINISHED ou FTP_MOREDATA.

Exemples

Exemple #1 Exemple avec ftp_nb_get()

<?php

// Initialise le téléchargement
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Faites ce que vous voulez...
   echo ".";

   // Continue le téléchargement...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu un problème lors du téléchargement...";
   exit(1);
}
?>

Exemple #2 Reprise d'un téléchargement avec ftp_nb_get()

<?php

// Initialise
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                      filesize("test"));
// Ou : $ret = ftp_nb_get($my_connection, "test", "README",
//                           FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // Faites ce que vous voulez...
   echo ".";

   // Continue le téléchargement...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu un problème lors du téléchargement du fichier...";
   exit(1);
}
?>

Exemple #3 Reprise d'un téléchargement à la position 100 dans un nouveau fichier avec ftp_nb_get()

<?php

// Désactive l'Autoseek
ftp_set_option($my_connection, FTP_AUTOSEEK, false);

// Initialisation
$ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // Continue le téléchargement...
   $ret = ftp_nb_continue($my_connection);
}
?>

Dans l'exemple ci-dessus, newfile est 100 octets plus petit que README sur le site FTP, car nous avons commencé à lire à l'offset 100. Si nous n'avions pas désactivé l'option FTP_AUTOSEEK, les premiers 100 octets du fichier newfile seraient complétés avec '\0'.

Voir aussi

  • ftp_nb_fget() - Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
  • ftp_nb_continue() - Reprend le téléchargement d'un fichier (non bloquant)
  • ftp_fget() - Télécharge un fichier via FTP dans un fichier local
  • ftp_get() - Télécharge un fichier depuis un serveur FTP

ftp_nb_fput
ftp_nb_put
Fonctions FTP


Envoie un fichier sur un serveur FTP (non-bloquant)

ftp_nb_get
ftp_nlist
Fonctions FTP
PHP Manual

ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_put — Envoie un fichier sur un serveur FTP (non-bloquant)

Description

int ftp_nb_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_nb_put() écrit le fichier remote_file présent sur la machine locale, sur le serveur FTP ftp_stream.

La différence entre cette fonction et ftp_fput() est que cette fonction peut lire le fichier de manière asynchrone, afin que votre programme fasse autre chose pendant que le fichier soit téléchargé.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

remote_file

Le chemin vers le fichier distant.

local_file

Le chemin vers le fichier local.

mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.

startpos

Valeurs de retour

Retourne FTP_FAILED, FTP_FINISHED ou FTP_MOREDATA.

Exemples

Exemple #1 Exemple avec ftp_nb_put()

<?php

// Initialisation du chargement
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Faites ce que vous voulez...
   echo ".";

   // Continue le chargement...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu un problème lors du chargement du fichier...";
   exit(1);
}
?>

Exemple #2 Reprise d'un chargement avec ftp_nb_put()

<?php

// Initialisation
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
                      FTP_BINARY, ftp_size("test.remote"));
// Ou : $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // Faites ce que vous voulez...
   echo ".";

   // Continue le chargement...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "Il y a eu un problème lors du chargement...";
   exit(1);
}
?>

Voir aussi

  • ftp_nb_fput() - Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)
  • ftp_nb_continue() - Reprend le téléchargement d'un fichier (non bloquant)
  • ftp_put() - Charge un fichier sur un serveur FTP
  • ftp_fput() - Charge un fichier sur un serveur FTP

ftp_nb_get
ftp_nlist
Fonctions FTP


Retourne la liste des fichiers d'un dossier

ftp_nb_put
ftp_pasv
Fonctions FTP
PHP Manual

ftp_nlist

(PHP 4, PHP 5)

ftp_nlist — Retourne la liste des fichiers d'un dossier

Description

array ftp_nlist ( resource $ftp_stream , string $directory )

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

directory

Le dossier à lister. Ce paramètre peut également inclure des arguments, e.g. ftp_nlist($conn_id, "-la /your/dir"); Notez que ce paramètre n'est pas échappé, il peut donc y avoir des comportements non-désirés si le nom des fichiers contient des espaces ou d'autres caractères.

Valeurs de retour

Retourne un tableau de nom de fichiers présent dans le dossier spécifié en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_nlist()

<?php

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Récupération du contenu d'un dossier
$contents = ftp_nlist($conn_id, ".");

// Affichage de $contents
var_dump($contents);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Voir aussi

  • ftp_rawlist() - Fait une liste détaillée des fichiers d'un dossier

ftp_nb_put
ftp_pasv
Fonctions FTP


Active ou désactive le mode passif

ftp_nlist
ftp_put
Fonctions FTP
PHP Manual

ftp_pasv

(PHP 4, PHP 5)

ftp_pasv — Active ou désactive le mode passif

Description

bool ftp_pasv ( resource $ftp_stream , bool $pasv )

ftp_pasv() active ou non le mode passif. En mode passif, les données de connexion sont initiées par le client, plutôt que par le serveur. Ce mode peut être nécessaire lorsque le client est derrière un pare-feu.

Notez que ftp_pasv() ne peut être appelée qu'après une identification réussie, sinon, la fonction échouera.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

pasv

Si TRUE, le mode passif est activé, sinon, il est désactivé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_pasv()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Activation du mode passif
ftp_pasv($conn_id, true);

// Chargement d'un fichier
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "Le fichier $file a été chargé avec succès\n";
} else {
 echo "Il y a eu un problème lors du chargement du fichier $file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

ftp_nlist
ftp_put
Fonctions FTP


Charge un fichier sur un serveur FTP

ftp_pasv
ftp_pwd
Fonctions FTP
PHP Manual

ftp_put

(PHP 4, PHP 5)

ftp_put — Charge un fichier sur un serveur FTP

Description

bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] )

ftp_put() enregistre le fichier local_file sur le serveur FTP.

Liste de paramètres

ftp_stream

L'identifiant du lien de la connexion FTP.

remote_file

Le chemin vers le fichier distant.

local_file

Le chemin vers le fichier local.

mode

Le mode de transfert. Doit être soit FTP_ASCII, soit FTP_BINARY.

startpos

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_put()

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Charge un fichier
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "Le fichier $file a té chargé avec succès\n";
} else {
 echo "Il y a eu un problème lors du chargement du fichier $file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

Historique

Version | Description
4.3.0 | startpos a été ajouté.

Voir aussi

  • ftp_pasv() - Active ou désactive le mode passif
  • ftp_fput() - Charge un fichier sur un serveur FTP
  • ftp_nb_fput() - Écrit un fichier sur un serveur FTP, et le lit depuis un fichier (non bloquant)
  • ftp_nb_put() - Envoie un fichier sur un serveur FTP (non-bloquant)

ftp_pasv
ftp_pwd
Fonctions FTP


Retourne le nom du dossier courant

ftp_put
ftp_quit
Fonctions FTP
PHP Manual

ftp_pwd

(PHP 4, PHP 5)

ftp_pwd — Retourne le nom du dossier courant

Description

string ftp_pwd ( resource $ftp_stream )

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

Valeurs de retour

Retourne le nom du dossier courant ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_pwd()

<?php

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Change le dossier en public_html
ftp_chdir($conn_id, 'public_html');

// Affiche le dossier courant
echo ftp_pwd($conn_id); // /public_html

// Fermeture de la connexion
ftp_close($conn_id);
?>

Voir aussi

  • ftp_chdir() - Modifie le dossier FTP courant
  • ftp_cdup() - Change de dossier et passe au dossier parent

ftp_put
ftp_quit
Fonctions FTP


Alias de ftp_close

ftp_pwd
ftp_raw
Fonctions FTP
PHP Manual

ftp_quit

(PHP 4, PHP 5)

ftp_quit — Alias de ftp_close()

Description

Cette fonction est un alias de : ftp_close().

ftp_pwd
ftp_raw
Fonctions FTP


Envoie une commande FTP brute

ftp_quit
ftp_rawlist
Fonctions FTP
PHP Manual

ftp_raw

(PHP 5)

ftp_raw — Envoie une commande FTP brute

Description

array ftp_raw ( resource $ftp_stream , string $command )

ftp_raw() envoie la commande FTP brute command au serveur FTP identifié par ftp_stream.

Liste de paramètres

ftp_stream

La ressource de connexion FTP.

command

La commande à exécuter.

Valeurs de retour

Retourne la réponse du serveur en tant que tableau de chaînes. Aucune analyse n'est faite sur la chaîne réponse, ni si ftp_raw() détermine si la commande a réussi.

Exemples

Exemple #1 Utilisation de ftp_raw() pour s'identifier manuellement sur un serveur FTP

<?php
$fp = ftp_connect("ftp.example.com");

/* Ceci est l'équivalent de  :
   ftp_login($fp, "joeblow", "secret");
 */

ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secret");
?>

Voir aussi

  • ftp_exec() - Exécute une commande sur un serveur FTP

ftp_quit
ftp_rawlist
Fonctions FTP


Fait une liste détaillée des fichiers d'un dossier

ftp_raw
ftp_rename
Fonctions FTP
PHP Manual

ftp_rawlist

(PHP 4, PHP 5)

ftp_rawlist — Fait une liste détaillée des fichiers d'un dossier

Description

array ftp_rawlist ( resource $ftp_stream , string $directory [, bool $recursive = false ] )

ftp_rawlist() exécute la commande FTP LIST, et retourne le résultat dans un tableau.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

directory

Le chemin vers le dossier.

recursive

Si défini à TRUE, la commande sera LIST -R.

Valeurs de retour

Retourne un tableau où les éléments correspondent à une ligne de texte.

La sortie n'est jamais analysée. L'identifiant du type système retourné par la fonction ftp_systype() peut être utilisé pour déterminer comment les résultats doivent être interprétés.

Exemples

Exemple #1 Exemple avec ftp_rawlist()

<?php

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Récupère la liste des fichiers de /
$buff = ftp_rawlist($conn_id, '/');

// Fermeture de la connexion
ftp_close($conn_id);

// Affiche le buffer
var_dump($buff);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

Historique

Version | Description
4.3.0 | recursive a été ajouté.

Voir aussi

  • ftp_nlist() - Retourne la liste des fichiers d'un dossier

ftp_raw
ftp_rename
Fonctions FTP


Renomme un fichier sur un serveur FTP

ftp_rawlist
ftp_rmdir
Fonctions FTP
PHP Manual

ftp_rename

(PHP 4, PHP 5)

ftp_rename — Renomme un fichier sur un serveur FTP

Description

bool ftp_rename ( resource $ftp_stream , string $oldname , string $newname )

ftp_rename() renomme le fichier ou le dossier from en to, sur le serveur ftp_stream.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

oldname

L'ancien nom du dossier / fichier.

newname

Le nouveau nom.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_rename()

<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tentative de renommage de $old_file en $new_file
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "Renommage avec succès de $old_file en $new_file\n";
} else {
 echo "Il y a eu un problème lors du renommage de $old_file en $new_file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);
?>

ftp_rawlist
ftp_rmdir
Fonctions FTP


Efface un dossier FTP

ftp_rename
ftp_set_option
Fonctions FTP
PHP Manual

ftp_rmdir

(PHP 4, PHP 5)

ftp_rmdir — Efface un dossier FTP

Description

bool ftp_rmdir ( resource $ftp_stream , string $directory )

ftp_rmdir() efface le dossier directory.

Liste de paramètres

ftp_stream

L'identification du lien de connexion FTP.

directory

Le dossier à effacer. Ce doit être soit un chemin absolu, soit un chemin relatif vers un dossier vide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_rmdir()

<?php

$dir = 'www/';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tentative d'effacement du dossier $dir
if (ftp_rmdir($conn_id, $dir)) {
    echo "Le dossier $dir a été effacé avec succès\n";
} else {
    echo "Il y a eu un problème lors de l'effacement du dossier $dir\n";
}

ftp_close($conn_id);

?>

Voir aussi

  • ftp_mkdir() - Crée un dossier sur un serveur FTP

ftp_rename
ftp_set_option
Fonctions FTP


Modifie les options de la connexion FTP

ftp_rmdir
ftp_site
Fonctions FTP
PHP Manual

ftp_set_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_set_option — Modifie les options de la connexion FTP

Description

bool ftp_set_option ( resource $ftp_stream , int $option , mixed $value )

ftp_set_option() contrôle diverses options de connexion pour une connexion FTP.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

option

Actuellement, les options suivantes sont supportées :

Options FTP supportées
FTP_TIMEOUT_SEC | Modifie le délai de connexion en secondes utilisé pour toutes les fonctions au réseau. value doit être un entier plus grand que 0. Le délai de connexion par défaut est de 90 secondes.
FTP_AUTOSEEK | Lorsqu'actif, les requêtes GET ou PUT avec un paramètre resumepos ou startpos se positionnera d'abord à la position désirée dans le fichier. Ceci est actif par défaut.

value

Ce paramètre dépend de l'option option que l'on veut modifier.

Valeurs de retour

Retourne TRUE si l'option a pû être modifiée, FALSE sinon. Un message d'alerte sera envoyé si option n'est pas supportée ou bien si la valeur value ne correspond pas à la valeur attendue pour l'option option donnée.

Exemples

Exemple #1 Exemple avec ftp_set_option()

<?php
// Définition du délai de connexion à 10 secondes
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

Voir aussi

  • ftp_get_option() - Lit différentes options pour la connexion FTP courante

ftp_rmdir
ftp_site
Fonctions FTP


Exécute la commande SITE sur un serveur FTP

ftp_set_option
ftp_size
Fonctions FTP
PHP Manual

ftp_site

(PHP 4, PHP 5)

ftp_site — Exécute la commande SITE sur un serveur FTP

Description

bool ftp_site ( resource $ftp_stream , string $command )

ftp_site() exécute la commande SITE sur le serveur FTP.

Les commandes SITE ne sont pas normalisées, et peuvent varier d'un serveur à l'autre. Elles permettent de gérer notamment les permissions de fichiers, et les groupes.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

command

La commande SITE. Notez que ce paramètre n'est pas échappé, il peut donc y avoir des comportements non-désirés si le nom des fichiers contient des espaces ou d'autres caractères.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Envoi d'une commande SITE à un serveur FTP

<?php
// Connexion au serveur FTP
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('Impossible de se connecter au serveur ftp.example.com');

// Identification avec l'utilisateur "user" et le mot de passe "pass"
if (!ftp_login($conn, 'user', 'pass')) die('Erreur d\'identification au serveur ftp.example.com');

// Résultat : commande "SITE CHMOD 0600 /home/user/privatefile" sur le serveur ftp
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "La commande a été exécutée avec succès.\n";
} else {
   die('La commande a échouée.');
}
?>

Voir aussi

  • ftp_raw() - Envoie une commande FTP brute

ftp_set_option
ftp_size
Fonctions FTP


Retourne la taille d'un fichier

ftp_site
ftp_ssl_connect
Fonctions FTP
PHP Manual

ftp_size

(PHP 4, PHP 5)

ftp_size — Retourne la taille d'un fichier

Description

int ftp_size ( resource $ftp_stream , string $remote_file )

ftp_size() retourne la taille d'un fichier donné en octets.

Note: Tous les serveurs ne supportent pas cette fonctionnalité.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

remote_file

Le fichier distant.

Valeurs de retour

Retourne la taille du fichier en cas de succès, ou -1 si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_size()

<?php

$file = 'somefile.txt';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Récupération de la taille du fichier $file
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "La taille du fichier $file est de $res octets";
} else {
    echo "Impossible de récupérer la taille du fichier";
}

// Fermeture de la connexion
ftp_close($conn_id);

?>

Voir aussi

  • ftp_rawlist() - Fait une liste détaillée des fichiers d'un dossier

ftp_site
ftp_ssl_connect
Fonctions FTP


Ouvre une connexion FTP sécurisée avec SSL

ftp_size
ftp_systype
Fonctions FTP
PHP Manual

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connect — Ouvre une connexion FTP sécurisée avec SSL

Description

resource ftp_ssl_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )

ftp_ssl_connect() ouvre une connexion FTP sécurisée avec SSL sur l'hôte host spécifié.

Note: Pourquoi cette fonction peut ne pas exister ?
ftp_ssl_connect() n'est disponible que si le module ftp et le support OpenSSL sont compilés statiquement dans PHP, cela signifie que, sous Windows, cette fonction sera indéfinie dans la version officielle de PHP. Afin d'utiliser cette fonction sous Windows, vous devez compiler vos propres binaires PHP.

Note: ftp_ssl_connect() n'est pas prévu pour fonctionner avec sFTP. Pour utiliser sFTP avec PHP, repportez-vous à la fonction ssh2_sftp().

Liste de paramètres

host

L'adresse FTP du serveur. Ce paramètre ne doit pas comporter de slash final et ne doit pas être préfixé par ftp://.

port

Ce paramètre spécifie un port alternatif de connexion. S'il est omis ou défini à zéro, alors le port par défaut FTP, 21, sera utilisé.

timeout

Ce paramètre spécifie le délai de connexion pour toutes les opérations sur le réseau. S'il est omis, la valeur par défaut sera de 90 secondes. Ce délai de connexion peut être modifié et consulté à tout moment avec les fonctions ftp_set_option() et ftp_get_option().

Valeurs de retour

Retourne un flux SSL-FTP en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.2 | Cette fonction retourne FALSE lorsqu'elle ne peut pas utiliser une connexion SSL, au lieu d'utiliser à la place une connexion non-SSL.

Exemples

Exemple #1 Exemple avec ftp_ssl_connect()

<?php

// Mise en place d'une connexion basique
$conn_id = ftp_ssl_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo ftp_pwd($conn_id); // /

// Fermeture de la connexion SSL
ftp_close($conn_id);
?>

Voir aussi

  • ftp_connect() - Ouvre une connexion FTP

ftp_size
ftp_systype
Fonctions FTP


Retourne un identifiant de type de serveur FTP

ftp_ssl_connect
Gupnp
Fonctions FTP
PHP Manual

ftp_systype

(PHP 4, PHP 5)

ftp_systype — Retourne un identifiant de type de serveur FTP

Description

string ftp_systype ( resource $ftp_stream )

ftp_systype() retourne le type de serveur FTP distant.

Liste de paramètres

ftp_stream

L'identifiant du lien de connexion FTP.

Valeurs de retour

Retourne le type de serveur distant ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ftp_systype()

<?php

// Connexion ftp
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// Récupération du type de serveur
if ($type = ftp_systype($ftp)) {
    echo "Example.com est exécuté par $type\n";
} else {
    echo "Impossible de récupérer le type du serveur";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Example.com est exécuté par UNIX

ftp_ssl_connect
Gupnp
Fonctions FTP


Gupnp

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Browsing devices and services
    • Implementing the BinaryLight device
  • Gupnp Fonctions
    • gupnp_context_get_host_ip — Get the IP address
    • gupnp_context_get_port — Get the port
    • gupnp_context_get_subscription_timeout — Get the event subscription timeout
    • gupnp_context_host_path — Start hosting
    • gupnp_context_new — Create a new context
    • gupnp_context_set_subscription_timeout — Sets the event subscription timeout
    • gupnp_context_timeout_add — Sets a function to be called at regular intervals
    • gupnp_context_unhost_path — Stop hosting
    • gupnp_control_point_browse_start — Start browsing
    • gupnp_control_point_browse_stop — Stop browsing
    • gupnp_control_point_callback_set — Set control point callback
    • gupnp_control_point_new — Create a new control point
    • gupnp_device_action_callback_set — Set device callback function
    • gupnp_device_info_get_service — Get the service with type
    • gupnp_device_info_get — Get info of root device
    • gupnp_root_device_get_available — Check whether root device is available
    • gupnp_root_device_get_relative_location — Get the relative location of root device.
    • gupnp_root_device_new — Create a new root device
    • gupnp_root_device_set_available — Set whether or not root_device is available
    • gupnp_root_device_start — Start main loop
    • gupnp_root_device_stop — Stop main loop
    • gupnp_service_action_get — Retrieves the specified action arguments
    • gupnp_service_action_return_error — Return error code
    • gupnp_service_action_return — Return succesfully
    • gupnp_service_action_set — Sets the specified action return values
    • gupnp_service_freeze_notify — Freeze new notifications
    • gupnp_service_info_get_introspection — Get resource introspection of service
    • gupnp_service_info_get — Get full info of service
    • gupnp_service_introspection_get_state_variable — Returns the state variable data
    • gupnp_service_notify — Notifies listening clients
    • gupnp_service_proxy_action_get — Send action to the service and get value
    • gupnp_service_proxy_action_set — Send action to the service and set value
    • gupnp_service_proxy_add_notify — Sets up callback for variable change notification
    • gupnp_service_proxy_callback_set — Set service proxy callback for signal
    • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
    • gupnp_service_proxy_remove_notify — Cancels the variable change notification
    • gupnp_service_proxy_send_action — Send action with multiple parameters synchronously
    • gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.
    • gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.
ftp_systype
Introduction
Autres services


Introduction

GUPnP is an object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. This extension wraps GUPnP and provides similar API. All sources and additional documentation can be obtained from the » official site

Gupnp
Installation/Configuration
Gupnp


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gupnp


Pré-requis

In order to use PECL/Gupnp functions you need to install the » gUPnP library version 0.12.7 or greater. It also requires glib-2.0, gssdp-1.0, libsoup-2.4 or greater for all of them.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/gupnp

Note: If ./configure is having trouble finding the libgupnp files (for example, it was installed into a custom prefix directory), use ./configure --with-gupnp=$PREFIX, where $PREFIX is installation prefix of libgupnp.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

GUPNP_TYPE_BOOLEAN ( integer )
GUPNP_TYPE_INT ( integer )
GUPNP_TYPE_LONG ( integer )
GUPNP_TYPE_DOUBLE ( integer )
GUPNP_TYPE_FLOAT ( integer )
GUPNP_TYPE_STRING ( integer )
GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE ( integer )
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE ( integer )
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE ( integer )
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE ( integer )
GUPNP_SIGNAL_ACTION_INVOKED ( integer )
GUPNP_SIGNAL_NOTIFY_FAILED ( integer )
GUPNP_SIGNAL_SUBSCRIPTION_LOST ( integer )
GUPNP_CONTROL_ERROR_INVALID_ACTION ( integer )
GUPNP_CONTROL_ERROR_INVALID_ARGS ( integer )
GUPNP_CONTROL_ERROR_OUT_OF_SYNC ( integer )
GUPNP_CONTROL_ERROR_ACTION_FAILED ( integer )

Types de ressources
Exemples
Gupnp


Exemples

Sommaire

  • Browsing devices and services
  • Implementing the BinaryLight device
Constantes pré-définies
Browsing devices and services
Gupnp


Browsing devices and services

This example shows how to obtain information about all devices and services. It starts an infinite loop (use CLI), and if any of available devices or services are found, the proper callback function will be invoked.

Exemple #1 Search for all UPnP devices and services.

<?php

/* Callback for available device */
function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("\ttype:     %s\n", $type);
    printf("\tlocation: %s\n", $location);
}

/* Callback for available service */
function service_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_service_info_get($proxy);

    $type = $info['service_type'];
    $location = $info['location'];

    printf("Service available:\n");
    printf("\ttype:     %s\n", $type);
    printf("\tlocation: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

/* Set callbacks */
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');
gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, 'service_proxy_available_cb');

/* Start for browsing (infinite loop, hit Ctrl-C to interrupt) */
gupnp_control_point_browse_start($cp);

?>

Exemples
Implementing the BinaryLight device
Exemples


Implementing the BinaryLight device

This is an example of UPnP device/service, implementing the BinaryLight device and SwitchPower services to emulate a light switch.

The user interface was purposely simplified in order to show basic concepts and methods.

Exemple #1 Implementing light server

<?php

/* SetTarget */
function set_target_cb($service, $action, $arg)
{
    /* Get the new target value */
    $target = gupnp_service_action_get($action, 'NewTargetValue', GUPNP_TYPE_BOOLEAN);

    /* If the new target doesn't match the current status, change the status and
       emit a notification that the status has changed. */
    if ($target != $GLOBALS['status']) {
        $GLOBALS['status'] = $target;
        gupnp_service_notify($service, 'Status', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
        printf("The light is now %s.\n", $GLOBALS['status'] ? "on" : "off");
    }

    /* Return success to the client */
    gupnp_service_action_return($action);
}

/* GetTarget */
function get_target_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'RetTargetValue', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* GetStatus */
function get_status_cb($service, $action, $arg)
{
    gupnp_service_action_set($action, 'ResultStatus', GUPNP_TYPE_BOOLEAN, $GLOBALS['status']);
    gupnp_service_action_return($action);
}

/* By default the light is off */
$GLOBALS['status'] = false;
printf("The light is now %s.\n", $GLOBALS['status'] ? "on" : "off");

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* Host the directory that contains device and service description files */
gupnp_context_host_path($context, "./web", "");

/* Create root device */
$location = "/BinaryLight.xml";
$dev = gupnp_root_device_new($context, $location);
gupnp_root_device_set_available($dev, true);

/* Get the switch service from the root device */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

/* Set callback for action GetStatus */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetStatus",
    "get_status_cb", "action data, GetStatus");

/* Set callback for action GetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "GetTarget",
    "get_target_cb", "action data, GetTarget");

/* Set callback for action SetTarget */
gupnp_device_action_callback_set($service, GUPNP_SIGNAL_ACTION_INVOKED, "SetTarget",
    "set_target_cb", "action data, SetTarget");

/* Run the main loop */
gupnp_root_device_start($dev);

?>

Exemple #2 Implementing light client

<?php

function service_proxy_available_cb($proxy, $arg)
{
    $mode = $arg['mode'];

    printf("Set subscribed\n");
    gupnp_service_proxy_set_subscribed($proxy, true);

    /* Add notify if status will be changed */
    if (!gupnp_service_proxy_add_notify($proxy, "Status",
            GUPNP_TYPE_BOOLEAN, "status_changed_cb", NULL)) {
        printf("Failed to add notify\n");
    }

    if ($mode == 'TOGGLE') {
        /* We're toggling, so first fetch the current status */
        $target = gupnp_service_proxy_action_get($proxy, 'GetStatus', 'ResultStatus', GUPNP_TYPE_BOOLEAN);

        /* And then toggle it */
        $target = ! $target;
    } else {
        /* Mode is a boolean, so the target is the mode thanks to our well chosen
           enumeration values. */
        $target = ($mode == 'ON') ? true : false;
    }

    /* Set the target */
    if (!gupnp_service_proxy_action_set($proxy, 'SetTarget', 'NewTargetValue', $target, GUPNP_TYPE_BOOLEAN)) {
        printf("Cannot set switch\n");
    } else {
        printf("Set switch to %s.\n", $target ? "on" : "off");
    }

    /* Stop browsing */
    gupnp_control_point_browse_stop($arg['cp']);
}

function status_changed_cb($variable, $value, $arg)
{
    printf("Status has been changed\n");
    printf("\tvariable name: %s\n", $variable);
    printf("\tvalue: %s\n", (int)$value);
    printf("\n");
}

/* Check and parse command line arguments */
if (count($argv) != 2) {
    printf("Usage: light-client.php [on|off|toggle]\n");
    exit(-1);
}

if ($argv[1] == "on") {
    $mode = 'ON';
} elseif ($argv[1] == "off") {
    $mode = 'OFF';
} elseif ($argv[1] == "toggle") {
    $mode = 'TOGGLE';
} else {
    usage ();
    exit(-1);
}

/* Create the UPnP context */
$context = gupnp_context_new();
if (!$context) {
    printf("Error creating the GUPnP context\n");
    exit(-1);
}

/* Create the control point, searching for SwitchPower services */
$cp = gupnp_control_point_new ($context,
        "urn:schemas-upnp-org:service:SwitchPower:1");

/* Connect to the service-found callback */
$cb = "service_proxy_available_cb";
$arg = array('mode' => $mode, 'cp' => $cp);
gupnp_control_point_callback_set($cp, GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE, $cb, $arg);

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Browsing devices and services
Gupnp Fonctions
Exemples


Gupnp Fonctions

Sommaire

  • gupnp_context_get_host_ip — Get the IP address
  • gupnp_context_get_port — Get the port
  • gupnp_context_get_subscription_timeout — Get the event subscription timeout
  • gupnp_context_host_path — Start hosting
  • gupnp_context_new — Create a new context
  • gupnp_context_set_subscription_timeout — Sets the event subscription timeout
  • gupnp_context_timeout_add — Sets a function to be called at regular intervals
  • gupnp_context_unhost_path — Stop hosting
  • gupnp_control_point_browse_start — Start browsing
  • gupnp_control_point_browse_stop — Stop browsing
  • gupnp_control_point_callback_set — Set control point callback
  • gupnp_control_point_new — Create a new control point
  • gupnp_device_action_callback_set — Set device callback function
  • gupnp_device_info_get_service — Get the service with type
  • gupnp_device_info_get — Get info of root device
  • gupnp_root_device_get_available — Check whether root device is available
  • gupnp_root_device_get_relative_location — Get the relative location of root device.
  • gupnp_root_device_new — Create a new root device
  • gupnp_root_device_set_available — Set whether or not root_device is available
  • gupnp_root_device_start — Start main loop
  • gupnp_root_device_stop — Stop main loop
  • gupnp_service_action_get — Retrieves the specified action arguments
  • gupnp_service_action_return_error — Return error code
  • gupnp_service_action_return — Return succesfully
  • gupnp_service_action_set — Sets the specified action return values
  • gupnp_service_freeze_notify — Freeze new notifications
  • gupnp_service_info_get_introspection — Get resource introspection of service
  • gupnp_service_info_get — Get full info of service
  • gupnp_service_introspection_get_state_variable — Returns the state variable data
  • gupnp_service_notify — Notifies listening clients
  • gupnp_service_proxy_action_get — Send action to the service and get value
  • gupnp_service_proxy_action_set — Send action to the service and set value
  • gupnp_service_proxy_add_notify — Sets up callback for variable change notification
  • gupnp_service_proxy_callback_set — Set service proxy callback for signal
  • gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service
  • gupnp_service_proxy_remove_notify — Cancels the variable change notification
  • gupnp_service_proxy_send_action — Send action with multiple parameters synchronously
  • gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.
  • gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.
Implementing the BinaryLight device
gupnp_context_get_host_ip
Gupnp


Get the IP address

Gupnp Fonctions
gupnp_context_get_port
Gupnp Fonctions
PHP Manual

gupnp_context_get_host_ip

(PECL gupnp >= 0.1.0)

gupnp_context_get_host_ip — Get the IP address

Description

string gupnp_context_get_host_ip ( resource $context )

Get the IP address we advertise ourselves as using.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

Valeurs de retour

Returns the IP address for the current context and FALSE on error.

Exemples

Exemple #1 Create new UPnP context and get IP address of the host

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Get IP address for the UPnP context */
$ip = gupnp_context_get_host_ip($context);
echo $ip;

?>

Voir aussi

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_port() - Get the port

Gupnp Fonctions
gupnp_context_get_port
Gupnp Fonctions


Get the port

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Gupnp Fonctions
PHP Manual

gupnp_context_get_port

(PECL gupnp >= 0.1.0)

gupnp_context_get_port — Get the port

Description

int gupnp_context_get_port ( resource $context )

Get the port that the SOAP server is running on.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

Valeurs de retour

Returns the port number for the current context and FALSE on error.

Exemples

Exemple #1 Create new UPnP context and get port number

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Get the port number for the UPnP context */
$port = gupnp_context_get_port($context);
echo $port;

?>

Voir aussi

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_host_ip() - Get the IP address

gupnp_context_get_host_ip
gupnp_context_get_subscription_timeout
Gupnp Fonctions


Get the event subscription timeout

gupnp_context_get_port
gupnp_context_host_path
Gupnp Fonctions
PHP Manual

gupnp_context_get_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_get_subscription_timeout — Get the event subscription timeout

Description

int gupnp_context_get_subscription_timeout ( resource $context )

Get the event subscription timeout (in seconds), or 0 meaning there is no timeout.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

Valeurs de retour

The event subscription timeout in seconds.

Voir aussi

  • gupnp_context_new() - Create a new context
  • gupnp_context_set_subscription_timeout() - Sets the event subscription timeout

gupnp_context_get_port
gupnp_context_host_path
Gupnp Fonctions


Start hosting

gupnp_context_get_subscription_timeout
gupnp_context_new
Gupnp Fonctions
PHP Manual

gupnp_context_host_path

(PECL gupnp >= 0.1.0)

gupnp_context_host_path — Start hosting

Description

bool gupnp_context_host_path ( resource $context , string $local_path , string $server_path )

Start hosting local_path at server_path. Files with the path local_path.LOCALE (if they exist) will be served up when LOCALE is specified in the request's Accept-Language header.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

local_path

Path to the local file or folder to be hosted.

server_path

Web server path where local_path should be hosted.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Create new UPnP context and set host path

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Host current directory */
gupnp_context_host_path($context, "./web", "");

?>

Voir aussi

  • gupnp_context_new() - Create a new context
  • gupnp_context_unhost_path() - Stop hosting

gupnp_context_get_subscription_timeout
gupnp_context_new
Gupnp Fonctions


Create a new context

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Gupnp Fonctions
PHP Manual

gupnp_context_new

(PECL gupnp >= 0.1.0)

gupnp_context_new — Create a new context

Description

resource gupnp_context_new ([ string $host_ip [, int $port = 0 ]] )

Create a new context with the specified host_ip and port.

Liste de paramètres

host_ip

The local host's IP address, or NULL to use the IP address of the first non-loopback network interface.

port

Port to run on, or 0 if you don't care what port is used.

Valeurs de retour

A context identifier.

Exemples

Exemple #1 Create new UPnP context

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

?>

Erreurs / Exceptions

Issues E_WARNING with unable to create context.

gupnp_context_host_path
gupnp_context_set_subscription_timeout
Gupnp Fonctions


Sets the event subscription timeout

gupnp_context_new
gupnp_context_timeout_add
Gupnp Fonctions
PHP Manual

gupnp_context_set_subscription_timeout

(PECL gupnp >= 0.1.0)

gupnp_context_set_subscription_timeout — Sets the event subscription timeout

Description

void gupnp_context_set_subscription_timeout ( resource $context , int $timeout )

Sets the event subscription timeout (in seconds) to time out. Note that any client side subscriptions will automatically be renewed.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

timeout

The event subscription timeout in seconds. Use 0 if you don't want subscriptions to time out.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • gupnp_context_new() - Create a new context
  • gupnp_context_get_subscription_timeout() - Get the event subscription timeout

gupnp_context_new
gupnp_context_timeout_add
Gupnp Fonctions


Sets a function to be called at regular intervals

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Gupnp Fonctions
PHP Manual

gupnp_context_timeout_add

(PECL gupnp >= 0.1.0)

gupnp_context_timeout_add — Sets a function to be called at regular intervals

Description

bool gupnp_context_timeout_add ( resource $context , int $timeout , mixed $callback [, mixed $arg ] )

Sets a function to be called at regular intervals.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

timeout

A timeout in miliseconds.

callback

The callback function calling every timeout period of time. Typically, callback function takes on arg parameter.

arg

User data for callback.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Create new UPnP context and set callback

<?php

$user_data = "user data";

function timeout_cb($arg)
{
    printf("Call timeout_cb, user data: '%s'", $arg);
    return true;
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$dev = gupnp_root_device_new($context, "/devicedesc.xml");

/* Set callback for timeout */
gupnp_context_timeout_add($context, 5000, "timeout_cb", $user_data);

/* Run the main loop */
gupnp_root_device_start($dev);

?>

Erreurs / Exceptions

Issues E_WARNING with not valid callback function.

Voir aussi

  • gupnp_context_new() - Create a new context

gupnp_context_set_subscription_timeout
gupnp_context_unhost_path
Gupnp Fonctions


Stop hosting

gupnp_context_timeout_add
gupnp_control_point_browse_start
Gupnp Fonctions
PHP Manual

gupnp_context_unhost_path

(PECL gupnp >= 0.1.0)

gupnp_context_unhost_path — Stop hosting

Description

bool gupnp_context_unhost_path ( resource $context , string $server_path )

Stop hosting the file or folder at server_path.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

server_path

Web server path where the file or folder is hosted.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_context_new() - Create a new context
  • gupnp_context_host_path() - Start hosting

gupnp_context_timeout_add
gupnp_control_point_browse_start
Gupnp Fonctions


Start browsing

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Gupnp Fonctions
PHP Manual

gupnp_control_point_browse_start

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_start — Start browsing

Description

bool gupnp_control_point_browse_start ( resource $cpoint )

Start the search and calls user-defined callback.

Liste de paramètres

cpoint

A control point identifier, returned by gupnp_control_point_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Create new UPnP context and start browsing

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("type:     %s\n", $type);
    printf("location: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Voir aussi

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_stop() - Stop browsing

gupnp_context_unhost_path
gupnp_control_point_browse_stop
Gupnp Fonctions


Stop browsing

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Gupnp Fonctions
PHP Manual

gupnp_control_point_browse_stop

(PECL gupnp >= 0.1.0)

gupnp_control_point_browse_stop — Stop browsing

Description

bool gupnp_control_point_browse_stop ( resource $cpoint )

Stop the search and calls user-defined callback.

Liste de paramètres

cpoint

A control point identifier, returned by gupnp_control_point_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_start() - Start browsing

gupnp_control_point_browse_start
gupnp_control_point_callback_set
Gupnp Fonctions


Set control point callback

gupnp_control_point_browse_stop
gupnp_control_point_new
Gupnp Fonctions
PHP Manual

gupnp_control_point_callback_set

(PECL gupnp >= 0.1.0)

gupnp_control_point_callback_set — Set control point callback

Description

bool gupnp_control_point_callback_set ( resource $cpoint , int $signal , mixed $callback [, mixed $arg ] )

Set control point callback function for signal.

Liste de paramètres

cpoint

A control point identifier, returned by gupnp_control_point_new().

signal

The value of signal. Signal can be one of the following values:

GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE
Emitted whenever a new device has become available.
GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE
Emitted whenever a device is not available any more.
GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE
Emitted whenever a new service has become available.
GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE
Emitted whenever a service is not available any more.

callback

The callback function for the certain signal. Typically, callback function takes on two parameters. The proxy parameter's identifier being the first, and the arg second.

arg

User data for callback.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Create new UPnP context and start browsing

<?php

function device_proxy_available_cb($proxy, $arg)
{
    $info = gupnp_device_info_get($proxy);

    $type = $info['device_type'];
    $location = $info['location'];

    printf("Device available:\n");
    printf("type:     %s\n", $type);
    printf("location: %s\n", $location);
}

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* We're interested in everything */
$cp = gupnp_control_point_new($context, "ssdp:all");

gupnp_control_point_callback_set($cp,
    GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

/* Start for browsing */
gupnp_control_point_browse_start($cp);

?>

Erreurs / Exceptions

Issues E_WARNING with not valid callback function.

Voir aussi

  • gupnp_control_point_new() - Create a new control point
  • gupnp_control_point_browse_start() - Start browsing

gupnp_control_point_browse_stop
gupnp_control_point_new
Gupnp Fonctions


Create a new control point

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Gupnp Fonctions
PHP Manual

gupnp_control_point_new

(PECL gupnp >= 0.1.0)

gupnp_control_point_new — Create a new control point

Description

resource gupnp_control_point_new ( resource $context , string $target )

Create a new control point with the specified target.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

target

The search target. target should be a service or device name, such as urn:schemas-upnp-org:service:WANIPConnection:1 or urn:schemas-upnp-org:device:MediaRenderer:1.

Valeurs de retour

A control point identifier.

gupnp_control_point_callback_set
gupnp_device_action_callback_set
Gupnp Fonctions


Set device callback function

gupnp_control_point_new
gupnp_device_info_get_service
Gupnp Fonctions
PHP Manual

gupnp_device_action_callback_set

(PECL gupnp >= 0.1.0)

gupnp_device_action_callback_set — Set device callback function

Description

bool gupnp_device_action_callback_set ( resource $root_device , int $signal , string $action_name , mixed $callback [, mixed $arg ] )

Set device callback function for signal and action.

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

signal

The value of signal. Signal can be one of the following values:

GUPNP_SIGNAL_ACTION_INVOKED
Emitted whenever an action is invoked. Handler should process action and must call either gupnp_service_action_return() or gupnp_service_action_return_error().
GUPNP_SIGNAL_NOTIFY_FAILED
Emitted whenever notification of a client fails.

action_name

The name of action.

callback

The callback function for the certain signal. Typically, callback function takes on three parameters. The service parameter's identifier being the first, action parameter's identifier (in case GUPNP_SIGNAL_ACTION_INVOKED signal) or error parameter's message (in case GUPNP_SIGNAL_NOTIFY_FAILED signal) being the second, and the arg is third.

arg

User data for callback.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Issues E_WARNING either with not valid callback function or with not valid signal.

Voir aussi

  • gupnp_root_device_new() - Create a new root device

gupnp_control_point_new
gupnp_device_info_get_service
Gupnp Fonctions


Get the service with type

gupnp_device_action_callback_set
gupnp_device_info_get
Gupnp Fonctions
PHP Manual

gupnp_device_info_get_service

(PECL gupnp >= 0.1.0)

gupnp_device_info_get_service — Get the service with type

Description

resource gupnp_device_info_get_service ( resource $root_device , string $type )

Get the service with type or false if no such device was found.

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

type

The type of the service to be retrieved.

Valeurs de retour

A service identifier.

Exemples

Exemple #1 Create new UPnP context and get device info service

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

/* Set root device is available */
gupnp_root_device_set_available($dev, true);

/* Get the switch service from the root device */
$service_type = "urn:schemas-upnp-org:service:SwitchPower:1";
$service = gupnp_device_info_get_service($dev, $service_type);
if (!$service) {
    die("Cannot get SwitchPower1 service\n");
}

?>

gupnp_device_action_callback_set
gupnp_device_info_get
Gupnp Fonctions


Get info of root device

gupnp_device_info_get_service
gupnp_root_device_get_available
Gupnp Fonctions
PHP Manual

gupnp_device_info_get

(PECL gupnp >= 0.1.0)

gupnp_device_info_get — Get info of root device

Description

array gupnp_device_info_get ( resource $root_device )

Get info of root device.

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

Valeurs de retour

Return array wich contains the information of the root device (like location, url, udn and etc).

gupnp_device_info_get_service
gupnp_root_device_get_available
Gupnp Fonctions


Check whether root device is available

gupnp_device_info_get
gupnp_root_device_get_relative_location
Gupnp Fonctions
PHP Manual

gupnp_root_device_get_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_available — Check whether root device is available

Description

bool gupnp_root_device_get_available ( resource $root_device )

Get whether or not root_device is available (announcing its presence).

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_root_device_set_available() - Set whether or not root_device is available

gupnp_device_info_get
gupnp_root_device_get_relative_location
Gupnp Fonctions


Get the relative location of root device.

gupnp_root_device_get_available
gupnp_root_device_new
Gupnp Fonctions
PHP Manual

gupnp_root_device_get_relative_location

(PECL gupnp >= 0.1.0)

gupnp_root_device_get_relative_location — Get the relative location of root device.

Description

string gupnp_root_device_get_relative_location ( resource $root_device )

Get the relative location of root device.

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

Valeurs de retour

The relative location of root device

gupnp_root_device_get_available
gupnp_root_device_new
Gupnp Fonctions


Create a new root device

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Gupnp Fonctions
PHP Manual

gupnp_root_device_new

(PECL gupnp >= 0.1.0)

gupnp_root_device_new — Create a new root device

Description

resource gupnp_root_device_new ( resource $context , string $location )

Create a new root device, automatically downloading and parsing location.

Liste de paramètres

context

A context identifier, returned by gupnp_context_new().

location

Location of the description file for this device, relative to the HTTP root

Valeurs de retour

A root device identifier.

Exemples

Exemple #1 Create new UPnP context and get device info service

<?php

/* Create the UPnP context */
$context = gupnp_context_new();

if (!$context) {
 die("Error creating the GUPnP context\n");
}

/* Create root device */
$location = "/BinaryLight1.xml";
$dev = gupnp_root_device_new($context, $location);

?>

Voir aussi

  • gupnp_root_device_set_available() - Set whether or not root_device is available
  • gupnp_root_device_start() - Start main loop
  • gupnp_root_device_stop() - Stop main loop

gupnp_root_device_get_relative_location
gupnp_root_device_set_available
Gupnp Fonctions


Set whether or not root_device is available

gupnp_root_device_new
gupnp_root_device_start
Gupnp Fonctions
PHP Manual

gupnp_root_device_set_available

(PECL gupnp >= 0.1.0)

gupnp_root_device_set_available — Set whether or not root_device is available

Description

bool gupnp_root_device_set_available ( resource $root_device , bool $available )

Controls whether or not root_device is available (announcing its presence).

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

available

Set TRUE if root_device should be available.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_root_device_get_available() - Check whether root device is available

gupnp_root_device_new
gupnp_root_device_start
Gupnp Fonctions


Start main loop

gupnp_root_device_set_available
gupnp_root_device_stop
Gupnp Fonctions
PHP Manual

gupnp_root_device_start

(PECL gupnp >= 0.1.0)

gupnp_root_device_start — Start main loop

Description

bool gupnp_root_device_start ( resource $root_device )

Start root server's main loop.

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_root_device_stop() - Stop main loop

gupnp_root_device_set_available
gupnp_root_device_stop
Gupnp Fonctions


Stop main loop

gupnp_root_device_start
gupnp_service_action_get
Gupnp Fonctions
PHP Manual

gupnp_root_device_stop

(PECL gupnp >= 0.1.0)

gupnp_root_device_stop — Stop main loop

Description

bool gupnp_root_device_stop ( resource $root_device )

Stop root server's main loop.

Liste de paramètres

root_device

A root device identifier, returned by gupnp_root_device_new().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_root_device_start() - Start main loop

gupnp_root_device_start
gupnp_service_action_get
Gupnp Fonctions


Retrieves the specified action arguments

gupnp_root_device_stop
gupnp_service_action_return_error
Gupnp Fonctions
PHP Manual

gupnp_service_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_action_get — Retrieves the specified action arguments

Description

mixed gupnp_service_action_get ( resource $action , string $name , int $type )

Retrieves the specified action arguments.

Liste de paramètres

action

A service action identifier.

name

The name of the variable to retrieve.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Valeurs de retour

The value of the variable.

Erreurs / Exceptions

Issues E_WARNING with not correctly defined type of the variable.

Voir aussi

  • gupnp_service_action_set() - Sets the specified action return values

gupnp_root_device_stop
gupnp_service_action_return_error
Gupnp Fonctions


Return error code

gupnp_service_action_get
gupnp_service_action_return
Gupnp Fonctions
PHP Manual

gupnp_service_action_return_error

(PECL gupnp >= 0.1.0)

gupnp_service_action_return_error — Return error code

Description

bool gupnp_service_action_return_error ( resource $action , int $error_code [, string $error_description ] )

Return error code.

Liste de paramètres

action

A service action identifier.

error_code

The error code. Signal can be one of the following values or user defined:

GUPNP_CONTROL_ERROR_INVALID_ACTION
The action name was invalid.
GUPNP_CONTROL_ERROR_INVALID_ARGS
The action arguments were invalid.
GUPNP_CONTROL_ERROR_OUT_OF_SYNC
Out of sync (deprecated).
GUPNP_CONTROL_ERROR_ACTION_FAILED
The action failed.

error_description

The error description.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_action_return() - Return succesfully

gupnp_service_action_get
gupnp_service_action_return
Gupnp Fonctions


Return succesfully

gupnp_service_action_return_error
gupnp_service_action_set
Gupnp Fonctions
PHP Manual

gupnp_service_action_return

(PECL gupnp >= 0.1.0)

gupnp_service_action_return — Return succesfully

Description

bool gupnp_service_action_return ( resource $action )

Return succesfully.

Liste de paramètres

action

A service action identifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_action_return_error() - Return error code

gupnp_service_action_return_error
gupnp_service_action_set
Gupnp Fonctions


Sets the specified action return values

gupnp_service_action_return
gupnp_service_freeze_notify
Gupnp Fonctions
PHP Manual

gupnp_service_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_action_set — Sets the specified action return values

Description

bool gupnp_service_action_set ( resource $action , string $name , int $type , mixed $value )

Sets the specified action return values.

Liste de paramètres

action

A service action identifier.

name

The name of the variable to retrieve.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

value

The value of the variable to retrieve.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Issues E_WARNING with neither not correctly defined type of the variable or the value is not corresponding to the defined type.

Voir aussi

  • gupnp_service_action_get() - Retrieves the specified action arguments

gupnp_service_action_return
gupnp_service_freeze_notify
Gupnp Fonctions


Freeze new notifications

gupnp_service_action_set
gupnp_service_info_get_introspection
Gupnp Fonctions
PHP Manual

gupnp_service_freeze_notify

(PECL gupnp >= 0.1.0)

gupnp_service_freeze_notify — Freeze new notifications

Description

bool gupnp_service_freeze_notify ( resource $service )

Causes new notifications to be queued up until gupnp_service_thaw_notify() is called.

Liste de paramètres

service

A service identifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_notify() - Notifies listening clients
  • gupnp_service_thaw_notify() - Sends out any pending notifications and stops queuing of new ones.

gupnp_service_action_set
gupnp_service_info_get_introspection
Gupnp Fonctions


Get resource introspection of service

gupnp_service_freeze_notify
gupnp_service_info_get
Gupnp Fonctions
PHP Manual

gupnp_service_info_get_introspection

(PECL gupnp >= 0.1.0)

gupnp_service_info_get_introspection — Get resource introspection of service

Description

mixed gupnp_service_info_get_introspection ( resource $proxy [, mixed $callback [, mixed $arg ]] )

Get resource introspection of service or register callback if corresponding parameter was passed.

Liste de paramètres

proxy

A service proxy identifier.

callback

The callback function to be called when introspection object is ready. Typically, callback function takes on three parameters. The introspection parameter's identifier being the first, error parameter's message being the second, and the arg is third.

arg

User data for callback.

Valeurs de retour

Return true if callback function was defined. Return introspection identifier if callback function was omited.

Erreurs / Exceptions

Issues E_WARNING with not valid callback function.

gupnp_service_freeze_notify
gupnp_service_info_get
Gupnp Fonctions


Get full info of service

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Gupnp Fonctions
PHP Manual

gupnp_service_info_get

(PECL gupnp >= 0.1.0)

gupnp_service_info_get — Get full info of service

Description

array gupnp_service_info_get ( resource $proxy )

Get full info of service.

Liste de paramètres

proxy

A service proxy identifier.

Valeurs de retour

Return array wich contains the information of the service (like location, url, udn and etc).

gupnp_service_info_get_introspection
gupnp_service_introspection_get_state_variable
Gupnp Fonctions


Returns the state variable data

gupnp_service_info_get
gupnp_service_notify
Gupnp Fonctions
PHP Manual

gupnp_service_introspection_get_state_variable

(PECL gupnp >= 0.1.0)

gupnp_service_introspection_get_state_variable — Returns the state variable data

Description

array gupnp_service_introspection_get_state_variable ( resource $introspection , string $variable_name )

Returns the state variable data by the name variable_name in this service.

Liste de paramètres

introspection

A introspection identifier.

variable_name

The name of the variable to retreive.

Valeurs de retour

Return the state variable data or FALSE.

gupnp_service_info_get
gupnp_service_notify
Gupnp Fonctions


Notifies listening clients

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Gupnp Fonctions
PHP Manual

gupnp_service_notify

(PECL gupnp >= 0.1.0)

gupnp_service_notify — Notifies listening clients

Description

bool gupnp_service_notify ( resource $service , string $name , int $type , mixed $value )

Notifies listening clients that the property have changed to the specified values.

Liste de paramètres

service

A service identifier.

name

The name of the variable.

type

The type of the variable. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

value

The value of the variable.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Issues E_WARNING with either not correctly defined type of the variable or the value is not corresponding to the defined type.

Voir aussi

  • gupnp_service_freeze_notify() - Freeze new notifications
  • gupnp_service_thaw_notify() - Sends out any pending notifications and stops queuing of new ones.

gupnp_service_introspection_get_state_variable
gupnp_service_proxy_action_get
Gupnp Fonctions


Send action to the service and get value

gupnp_service_notify
gupnp_service_proxy_action_set
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_action_get

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_get — Send action to the service and get value

Description

mixed gupnp_service_proxy_action_get ( resource $proxy , string $action , string $name , int $type )

Send action with parameters to the service exposed by proxy synchronously and get value.

Liste de paramètres

proxy

A service proxy identifier.

action

An action.

name

The action name.

type

The type of the variable to retrieve. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Valeurs de retour

Return value of the action.

Erreurs / Exceptions

Issues E_WARNING with either not correctly defined type of the action or unable to send action.

Voir aussi

  • gupnp_service_proxy_action_set() - Send action to the service and set value
  • gupnp_service_proxy_send_action() - Send action with multiple parameters synchronously

gupnp_service_notify
gupnp_service_proxy_action_set
Gupnp Fonctions


Send action to the service and set value

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_action_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_action_set — Send action to the service and set value

Description

bool gupnp_service_proxy_action_set ( resource $proxy , string $action , string $name , mixed $value , int $type )

Send action with parameters to the service exposed by proxy synchronously and set value.

Liste de paramètres

proxy

A service proxy identifier.

action

An action.

name

The action name.

value

The action value.

type

The type of the action. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Issues E_WARNING with either not correctly defined type of the action or unable to send action.

Voir aussi

  • gupnp_service_proxy_action_get() - Send action to the service and get value
  • gupnp_service_proxy_send_action() - Send action with multiple parameters synchronously

gupnp_service_proxy_action_get
gupnp_service_proxy_add_notify
Gupnp Fonctions


Sets up callback for variable change notification

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_add_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_add_notify — Sets up callback for variable change notification

Description

bool gupnp_service_proxy_add_notify ( resource $proxy , string $value , int $type , mixed $callback [, mixed $arg ] )

Sets up callback to be called whenever a change notification for variable is recieved.

Liste de paramètres

proxy

A service proxy identifier.

value

The variable to add notification for.

type

The type of the variable. Type can be one of the following values:

GUPNP_TYPE_BOOLEAN
Type of the variable is boolean.
GUPNP_TYPE_INT
Type of the variable is integer.
GUPNP_TYPE_LONG
Type of the variable is long.
GUPNP_TYPE_DOUBLE
Type of the variable is double.
GUPNP_TYPE_FLOAT
Type of the variable is float.
GUPNP_TYPE_STRING
Type of the variable is string.

callback

The callback to call when variable changes. Typically, callback function takes on three parameters. The variable parameter being the first, value parameter being the second, and the arg is third.

arg

User data for callback.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_proxy_remove_notify() - Cancels the variable change notification

gupnp_service_proxy_action_set
gupnp_service_proxy_callback_set
Gupnp Fonctions


Set service proxy callback for signal

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_callback_set

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_callback_set — Set service proxy callback for signal

Description

bool gupnp_service_proxy_callback_set ( resource $proxy , int $signal , mixed $callback [, mixed $arg ] )

Set service proxy callback for signal.

Liste de paramètres

proxy

A service proxy identifier.

signal

The value of signal.

GUPNP_SIGNAL_SUBSCRIPTION_LOST
Emitted whenever the subscription to this service has been lost due to an error condition.

callback

The callback function for the certain signal. Typically, callback function takes on two parameters. error parameter's message being the first, and the arg is second.

arg

User data for callback.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Issues E_WARNING either with not valid callback function or with not valid signal.

gupnp_service_proxy_add_notify
gupnp_service_proxy_get_subscribed
Gupnp Fonctions


Check whether subscription is valid to the service

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_get_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_get_subscribed — Check whether subscription is valid to the service

Description

bool gupnp_service_proxy_get_subscribed ( resource $proxy )

Check whether subscription is valid to the service.

Liste de paramètres

proxy

A service proxy identifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_proxy_set_subscribed() - (Un)subscribes to the service.

gupnp_service_proxy_callback_set
gupnp_service_proxy_remove_notify
Gupnp Fonctions


Cancels the variable change notification

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_remove_notify

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_remove_notify — Cancels the variable change notification

Description

bool gupnp_service_proxy_remove_notify ( resource $proxy , string $value )

Cancels the variable change notification.

Liste de paramètres

proxy

A service proxy identifier.

value

The variable to add notification for.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_proxy_add_notify() - Sets up callback for variable change notification

gupnp_service_proxy_get_subscribed
gupnp_service_proxy_send_action
Gupnp Fonctions


Send action with multiple parameters synchronously

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_send_action

(PECL gupnp >= 0.2.0)

gupnp_service_proxy_send_action — Send action with multiple parameters synchronously

Description

array gupnp_service_proxy_send_action ( resource $proxy , string $action , array $in_params , array $out_params )

Send action action with parameters in_params to the service exposed by proxy synchronously and return out_params with values or FALSE on error.

Liste de paramètres

proxy

A service proxy identifier.

action

An action.

in_params

An array of in parameters. Each entry in in_params is supposed to an array containing name, type and value of the parameters.

out_params

An array of out parameters. Each entry in out_params is supposed to an array containing name and type of the parameters.

Valeurs de retour

Return out_params array with values or FALSE on error.

Erreurs / Exceptions

Issues E_WARNING with either not correctly defined in_params and out_params or unable to send action.

Voir aussi

  • gupnp_service_proxy_action_get() - Send action to the service and get value
  • gupnp_service_proxy_action_set() - Send action to the service and set value

gupnp_service_proxy_remove_notify
gupnp_service_proxy_set_subscribed
Gupnp Fonctions


(Un)subscribes to the service.

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Gupnp Fonctions
PHP Manual

gupnp_service_proxy_set_subscribed

(PECL gupnp >= 0.1.0)

gupnp_service_proxy_set_subscribed — (Un)subscribes to the service.

Description

bool gupnp_service_proxy_set_subscribed ( resource $proxy , bool $subscribed )

(Un)subscribes to the service.

Liste de paramètres

proxy

A service proxy identifier.

subscribed

Set TRUE to subscribe to this service.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_proxy_get_subscribed() - Check whether subscription is valid to the service

gupnp_service_proxy_send_action
gupnp_service_thaw_notify
Gupnp Fonctions


Sends out any pending notifications and stops queuing of new ones.

gupnp_service_proxy_set_subscribed
Hyperwave
Gupnp Fonctions
PHP Manual

gupnp_service_thaw_notify

(PECL gupnp >= 0.1.0)

gupnp_service_thaw_notify — Sends out any pending notifications and stops queuing of new ones.

Description

bool gupnp_service_thaw_notify ( resource $service )

Sends out any pending notifications and stops queuing of new ones.

Liste de paramètres

service

A service identifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • gupnp_service_notify() - Notifies listening clients
  • gupnp_service_freeze_notify() - Freeze new notifications

gupnp_service_proxy_set_subscribed
Hyperwave
Gupnp Fonctions


Hyperwave

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Intégration avec Apache
  • Fonctions Hyperwave
    • hw_Array2Objrec — Convertit un tableau en un objet
    • hw_changeobject — Change les attributs d'un objet (obsolète)
    • hw_Children — Liste les identifiants d'objets fils Hyperwave
    • hw_ChildrenObj — Liste des objets records des objets fils
    • hw_Close — Ferme la connexion Hyperwave
    • hw_Connect — Ouvre une connexion Hyperwave
    • hw_connection_info — Affiche des informations sur la connexion au serveur Hyperwave
    • hw_cp — Copie des objets HyperWave
    • hw_Deleteobject — Efface des objets
    • hw_DocByAnchor — Identifiant d'objet de l'objet dans l'ancrage
    • hw_DocByAnchorObj — Attributs de l'objet dans l'ancrage
    • hw_Document_Attributes — Object record de hw_document
    • hw_Document_BodyTag — Balise de corps d'un document
    • hw_Document_Content — Récupère le contenu d'un document
    • hw_Document_SetContent — Modifie/remplace le contenu d'un document
    • hw_Document_Size — Taille d'un document
    • hw_dummy — Fonction sans objet pour Hyperwave
    • hw_EditText — Récupère un document texte
    • hw_Error — Retourne le code d'erreur
    • hw_ErrorMsg — Retourne un message d'erreur
    • hw_Free_Document — Libère la mémoire
    • hw_GetAnchors — Identifiants des ancrages d'un document
    • hw_GetAnchorsObj — Attributs des ancrages d'un document
    • hw_GetAndLock — Retourne les attributs et verrouille l'objet
    • hw_GetChildColl — Identifiant d'objets des groupes fils
    • hw_GetChildCollObj — Objet record d'un groupe d'enfants
    • hw_GetChildDocColl — Identifiant des documents fils d'un groupe
    • hw_GetChildDocCollObj — Attributs des documents fils d'un groupe
    • hw_GetObject — Lit les attributs d'un objet Hyperwave
    • hw_GetObjectByQuery — Recherche un objet
    • hw_GetObjectByQueryColl — Recherche un objet dans un groupe
    • hw_GetObjectByQueryCollObj — Recherche un objet dans un groupe
    • hw_GetObjectByQueryObj — Recherche un objet
    • hw_GetParents — Identifiant d'objet des parents
    • hw_GetParentsObj — Attributs des parents
    • hw_getrellink — Crée le lien depuis la source vers le destinataire, relativement à rootid
    • hw_GetRemote — Retourne un document distant
    • hw_getremotechildren — Retourne les fils d'un document distant
    • hw_GetSrcByDestObj — Retourne les ancrages qui pointent sur un objet
    • hw_GetText — Récupère un document texte
    • hw_getusername — Nom de l'utilisateur actuellement identifié
    • hw_Identify — Identifie un utilisateur
    • hw_InCollections — Vérifie qu'un identifiant d'objet est dans un groupe
    • hw_Info — Informations à propos d'une connexion
    • hw_InsColl — Insère une collection
    • hw_InsDoc — Insère un document
    • hw_insertanchors — Insère uniquement des ancres dans du texte
    • hw_InsertDocument — Insère un document dans un groupe
    • hw_InsertObject — Insère un objet record
    • hw_mapid — Représente un id global en un id virtuel local
    • hw_Modifyobject — Modifie les attributs d'object record
    • hw_mv — Déplace un objet
    • hw_New_Document — Crée un nouveau document
    • hw_objrec2array — Convertit les attributs d'un objet en tableau
    • hw_Output_Document — Affiche le document hw_document
    • hw_pConnect — Crée une connexion persistante
    • hw_PipeDocument — Récupère un document
    • hw_Root — Objet id de la racine
    • hw_setlinkroot — Configure l'identifiant vers lequel les liens sont calculés
    • hw_stat — Retourne le statut de la chaîne
    • hw_Unlock — Déverrouille un objet
    • hw_Who — Liste des utilisateurs actuellement identifiés
gupnp_service_thaw_notify
Introduction
Autres services


Introduction

Hyperwave a été développé par » IICM à Graz. Son nom original était Hyper-G et il a pris le nom de Hyperwave lors de sa commercialisation (en 1996).

Hyperwave n'est pas gratuit. La version actuelle est la 5.5, disponible à » http://www.hyperwave.com/. Une version limitée à 30 jours peut être demandée.

Voir aussi le module Hyperwave API.

HIS est un système d'information similaire à une base de données, (HIS, Hyperwave Information Server). HIS se concentre sur l'enregistrement et la gestion des documents. Un document peut être n'importe quelle donnée, qui peut être stockée dans un fichier. Chaque document est accompagné par un enregistrement. Cet enregistrement contient des méta données à propos du document. Ces méta données sont des listes d'attributs qui peuvent être étendues par l'utilisateur. Un attribut est une paire clé/valeur de la forme : clé =valeur. L'enregistrement complet contient autant de paires que le désire l'utilisateur. Le nom d'un attribut n'a pas besoin d'être unique, c'est-à-dire qu'une même clé peut apparaître plusieurs fois dans un enregistrement. Cela peut être utile si vous devez donner un titre à votre document en plusieurs langues, par exemple. Dans un cas pareil, la convention est que chaque valeur de titre est précédée par deux lettres et deux points, tel que : "fr:Titre en français" ou "de:Titel in deutsch". D'autres attributs comme une description ou des mots-clés sont aussi susceptibles de recourir à ce genre de procédé. Vous pouvez aussi remplacer l'abréviation de langage par une autre chaîne, tant qu'elle est séparée de la valeur par les deux points.

Chaque enregistrement a une représentation native qui contient toutes les paires clé/valeur, séparées par un retour à la ligne. L'extension Hyperwave reconnaît une autre représentation qui est un tableau associatif, où les attributs servent de clés. Les attributs multilingues étant gérés sous la forme d'un autre tableau associatif, dont les clés sont les chaînes de langue. En fait, tous les attributs multiformes sont gérés sous la forme de tableau associatif. (Cela n'est pas encore complètement codé. Uniquement les attributs de titre, description et mots-clé sont traités correctement).

En dehors des documents, tous les hyperliens contenus dans un document sont enregistrés dans un autre enregistrement. Les hyperliens qui sont à l'intérieur d'un document en seront supprimés, et enregistrés dans des objets particuliers au moment de l'insertion dans la base de données. L'enregistrement des hyperliens contient les informations d'origine et d'objectif. Afin d'accéder au document original, vous devrez lire le document sans les liens, puis lire les liens et les réinsérer (les fonctions hw_pipedocument() et hw_gettext() le font pour vous. L'avantage de séparer les liens du document est évident : une fois qu'un document, cible d'un hyperlien, a été renommé, le liens peut facilement être modifié. Le document contenant le lien n'est pas modifié pour autant. Vous pouvez même ajouter un lien à un document sans le modifier.

Dire que hw_pipedocument() et hw_gettext() font l'insertion automatiquement n'est pas aussi simple qu'il y paraît. L'insertion implique une certaine hiérarchie de documents. Sur un serveur web, la hiérarchie est fournie par le système de fichiers, mais Hyperwave dispose de sa propre hiérarchie et les noms de fichiers ne reflètent pas la position d'un objet dans cette hiérarchie. Ainsi, la création de liens requiert en premier lieu la construction de la hiérarchie et de l'espace des noms dans une hiérarchie web et un espace de nom web. La différence fondamentale entre Hyperwave et le web est qu'il y a une distinction claire entre les noms et la hiérarchie dans Hyperwave. Le nom ne contient aucune information à propos de la position de l'objet dans la hiérarchie. Sur le web, le nom contient les informations de localisation dans la hiérarchie. Cela conduit à deux méthodes d'accès : soit la hiérarchie Hyperwave et le nom de l'objet sont inscrits dans l'URL. Pour simplifier les choses, une deuxième approche est pratiquée. L'objet Hyperwave de nom "mon_objet" correspond à l'URL "http://hote/mon_objet", peu importe alors où il est rangé dans la hiérarchie. Un objet dont le nom est "parent/mon_objet" peut être le fils de l'objet "mon_objet" dans la hiérarchie Hyperwave, bien que ce soit le contraire en convention web, et cela risque de perturber l'utilisateur.

Ayant pris cette décision, un deuxième problème surgit : comment faire l'interface avec PHP ? L'URL http://hote/mon_objet n'appellera aucun script PHP à moins que vous ne demandiez à votre serveur web de le remplacer par autre chose, comme : "http://host/php3_script/mon_objet" et le script "php3_script" utilise la variable $PATH_INFO pour rechercher l'objet "mon_objet" sur le serveur Hyperwave. Il y a juste un petit inconvénient, qui peut facilement être corrigé. Réécrire une URL ne vous permettra aucun accès aux autres documents du serveur web. Un script de recherche dans le serveur Hyperwave serait impossible. Il vous faudra donc au moins une autre règle pour exclure certaines URL, comme celles qui commencent par http://host/Hyperwave. Voici, de manière simple, comment partager un espace de nom entre un serveur web et un serveur Hyperwave serveur.

Basé sur le mécanisme précédent, on trouve l'insertion dans les documents.

Il est plus compliqué d'avoir PHP ne fonctionnant pas comme un module de serveur, ou un script CGI, mais comme une application indépendante. Dans ce cas, il est utile d'inscrire la hiérarchie et le nom de fichier Hyperwave dans le système de fichier. Mais comme cela risque d'entrer en conflit avec le séparateur de dossier ("/"), il faut le remplacer par un autre caractère,. "_".

Le protocole réseau pour communiquer avec un serveur Hyperwave est appelé » HG-CSP (Hyper-G Client/Server Protocol). Il est basé sur des messages qui initient des actions, comme lire l'en-tête de fichier. Dans les premières versions de Hyperwave Server, deux clients natifs (Harmony, Amadeus) étaient fournis pour permettre la communication avec le serveur. Ils ont disparu lors de la commercialisation de Hyperwave. En tant qu'ersatz, un client appelé wavemaster est désormais fourni. wavemaster est un espèce de convertisseur de protocole de HTTP en HG-CSP. L'idée est de faire toute l'administration de la base et la visualisation des documents par une interface web. Le wavemaster implémente un jeu d'emplacement pour certaines actions de personnalisation de l'interface. Ce jeu est appelé PLACE language. PLACE pêche encore par le manque de nombreuses fonctions de programmation et le manque d'évolutivité. Cela a conduit à l'utilisation de JavaScript ce qui ne rend pas la vie facile.

Que PHP supporte Hyperwave permet de combler ces manques. PHP implémente tous les messages définis par HG-CSP mais fourni d'autres commandes puissantes, comme celle de lire des documents complets.

Hyperwave dispose de sa propre terminologie pour localiser certaines informations. Cette terminologie a été largement étendue. Presque toutes les fonctions utilisent l'un des types de données suivants :

  • 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és comme paramètre d'entrée pour spécifier un objet.
  • object record : une chaîne contenant des paires clé=valeur. Les paires sont séparées par un retour à la ligne. Un enregistrement d'objet peut facilement être converti en tableau, avec la fonction hw_objrec2array(). De nombreuses fonctions retournent un objet record. Ces fonctions ont leur nom qui finit par obj.
  • object array : un tableau associatif qui contient tous les attributs d'un objet. La clé est l'attribut. Si un attribut apparaît plusieurs fois, il sera représenté sous la forme d'un tableau associatif ou indexé. Les attributs qui dépendent des langues (comme title, keyword ou description) seront représentés sous la forme d'un tableau associatif dont les clés seront les abréviations de langues. Tous les autres attributs à valeur multiple prendront la forme d'un tableau indexé.
  • hw_document : ce type est un nouveau type de données, qui contient le document lui-même, comme HTML, PDF etc. Il est optimisé pour les documents HTML mais peut s'utiliser avec n'importe quel format.

De nombreuses fonctions qui retournent un tableau d'enregistrements, retournent aussi un tableau associé, avec des informations statistiques. Ce tableau est le dernier élément du tableau d'enregistrements. Les statistiques contiennent les entrées suivantes :

Hidden
Nombre d'objets dont l'attribut PresentationHints est Hidden.
CollectionHead
Nombre d'objets dont l'attribut PresentationHints est CollectionHead.
FullCollectionHead
Nombre d'objets dont l'attribut PresentationHints est FullCollectionHead.
CollectionHeadNr
Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints à CollectionHead.
FullCollectionHeadNr
Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints est FullCollectionHead.
Total
Total : nombre d'enregistrements.

Hyperwave
Installation/Configuration
Hyperwave


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Hyperwave


Pré-requis

Cette extension requiert un serveur Hyperwave, téléchargeable sur le site de » http://www.hyperwave.com/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/hyperwave.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration HyperWave
Nom | Défaut | Modifiable | Historique
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.2. Supprimé depuis PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Supprimé depuis PHP 5.0.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

HW_ATTR_LANG (entier)
HW_ATTR_NR (entier)
HW_ATTR_NONE (entier)
Types de ressources
Intégration avec Apache
Hyperwave


Intégration avec Apache

L'extension Hyperwave est utilisée de manière optimale lorsque PHP est compilé comme module Apache. Dans ce cas, le serveur Hyperwave sous-jacent peut être caché quasiment totalement aux utilisateurs, si Apache utilise son moteur d'écriture. Les explications suivantes vous éclaireront :

Étant donné que PHP avec l'extension Hyperwave et Apache tend à remplacer la solution native basée sur Wavemaster, je vais supposer que le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas nécessaire, mais cela simplifie grandement la configuration. Le concept est très simple. Premièrement, vous avez besoin d'un script PHP qui évalue la variable $_ENV['PATH_INFO'] et considère que cette valeur est un objet Hyperwave. Appelons ce script "Hyperwave". L'URL http://votre.hote/Hyperwave/nom_objet retourne l'objet Hyperwave dont le nom est "nom_objet". Le script doit alors réagir suivant le type de l'objet. Si c'est un groupe, il devra probablement retourner une liste de fils. Si c'est un document, il pourra retourner son type MIME et son contenu. Une amélioration peut être obtenue en utilisant le moteur de réécriture d'Apache. D'un point de vue utilisateur, il est plus direct si l'URL http://votre.hote/nom_objet retourne l'objet. La règle de réécriture est simple :

Exemple #1 Configuration d'Apache pour HyperWave

RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
Maintenant, toutes les URL pointent sur un objet Hyperwave. Cela conduit à un problème simple. Il n'y a pas d'autre façon d'exécuter, c'est-à-dire rechercher, un autre script que ce script "Hyperwave". Cela pourra être corrigé avec une autre règle telle que :

Exemple #2 Configuration d'Apache pour HyperWave (2)

RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
Le dossier /usr/local/apache/htdocs/hw sera ainsi réservé pour d'autres scripts et fichiers. Assurez-vous que cette règle est évaluée avant la première règle que nous avons défini. Il y a juste un léger inconvénient : tous les objets Hyperwave qui commencent par "hw/" seront cachés. Alors, assurez-vous que vous n'utilisez pas de tels noms. Si vous avez besoin d'autres dossiers, par exemple, un dossier d'images, ajoutez simplement d'autres règles. N'oubliez pas de lancer le moteur de réécriture avec.

Exemple #3 Démarrer les règles de réécriture d'Apache pour HyperWave

RewriteEngine on
Mon expérience m'a montré que vous aurez besoin des scripts suivants :
  • Retourne l'objet lui-même
  • Pour autoriser la recherche
  • S'identifier
  • Choisir une configuration
  • Un script pour chaque fonction supplémentaire, comme afficher un objet, afficher des informations sur les utilisateurs, afficher le statut du serveur, etc.

Une alternative pour le moteur de réécriture est l'utilisation de la directive Apache ErrorDocument, mais sachez alors que ErrorDocument n'effectue pas les redirections de méthodes POST.

Constantes pré-définies
Fonctions Hyperwave
Hyperwave


Fonctions Hyperwave

À faire

Il reste encore beaucoup à faire :

  • La fonction hw_InsertDocument doit être séparée en deux : hw_insertobject() et hw_putdocument().
  • Les noms de nombreuses fonctions ne sont pas encore fixés.
  • La majorité des fonctions requièrent la connexion courante comme premier paramètre. Cela conduit à beaucoup de frappe clavier, même s'il n'y a souvent qu'une seule connexion en jeu. Une connexion par défaut améliorerait ceci.
  • La conversion depuis un objet record en un objet array a besoin de gérer les attributs multiples.

Sommaire

  • hw_Array2Objrec — Convertit un tableau en un objet
  • hw_changeobject — Change les attributs d'un objet (obsolète)
  • hw_Children — Liste les identifiants d'objets fils Hyperwave
  • hw_ChildrenObj — Liste des objets records des objets fils
  • hw_Close — Ferme la connexion Hyperwave
  • hw_Connect — Ouvre une connexion Hyperwave
  • hw_connection_info — Affiche des informations sur la connexion au serveur Hyperwave
  • hw_cp — Copie des objets HyperWave
  • hw_Deleteobject — Efface des objets
  • hw_DocByAnchor — Identifiant d'objet de l'objet dans l'ancrage
  • hw_DocByAnchorObj — Attributs de l'objet dans l'ancrage
  • hw_Document_Attributes — Object record de hw_document
  • hw_Document_BodyTag — Balise de corps d'un document
  • hw_Document_Content — Récupère le contenu d'un document
  • hw_Document_SetContent — Modifie/remplace le contenu d'un document
  • hw_Document_Size — Taille d'un document
  • hw_dummy — Fonction sans objet pour Hyperwave
  • hw_EditText — Récupère un document texte
  • hw_Error — Retourne le code d'erreur
  • hw_ErrorMsg — Retourne un message d'erreur
  • hw_Free_Document — Libère la mémoire
  • hw_GetAnchors — Identifiants des ancrages d'un document
  • hw_GetAnchorsObj — Attributs des ancrages d'un document
  • hw_GetAndLock — Retourne les attributs et verrouille l'objet
  • hw_GetChildColl — Identifiant d'objets des groupes fils
  • hw_GetChildCollObj — Objet record d'un groupe d'enfants
  • hw_GetChildDocColl — Identifiant des documents fils d'un groupe
  • hw_GetChildDocCollObj — Attributs des documents fils d'un groupe
  • hw_GetObject — Lit les attributs d'un objet Hyperwave
  • hw_GetObjectByQuery — Recherche un objet
  • hw_GetObjectByQueryColl — Recherche un objet dans un groupe
  • hw_GetObjectByQueryCollObj — Recherche un objet dans un groupe
  • hw_GetObjectByQueryObj — Recherche un objet
  • hw_GetParents — Identifiant d'objet des parents
  • hw_GetParentsObj — Attributs des parents
  • hw_getrellink — Crée le lien depuis la source vers le destinataire, relativement à rootid
  • hw_GetRemote — Retourne un document distant
  • hw_getremotechildren — Retourne les fils d'un document distant
  • hw_GetSrcByDestObj — Retourne les ancrages qui pointent sur un objet
  • hw_GetText — Récupère un document texte
  • hw_getusername — Nom de l'utilisateur actuellement identifié
  • hw_Identify — Identifie un utilisateur
  • hw_InCollections — Vérifie qu'un identifiant d'objet est dans un groupe
  • hw_Info — Informations à propos d'une connexion
  • hw_InsColl — Insère une collection
  • hw_InsDoc — Insère un document
  • hw_insertanchors — Insère uniquement des ancres dans du texte
  • hw_InsertDocument — Insère un document dans un groupe
  • hw_InsertObject — Insère un objet record
  • hw_mapid — Représente un id global en un id virtuel local
  • hw_Modifyobject — Modifie les attributs d'object record
  • hw_mv — Déplace un objet
  • hw_New_Document — Crée un nouveau document
  • hw_objrec2array — Convertit les attributs d'un objet en tableau
  • hw_Output_Document — Affiche le document hw_document
  • hw_pConnect — Crée une connexion persistante
  • hw_PipeDocument — Récupère un document
  • hw_Root — Objet id de la racine
  • hw_setlinkroot — Configure l'identifiant vers lequel les liens sont calculés
  • hw_stat — Retourne le statut de la chaîne
  • hw_Unlock — Déverrouille un objet
  • hw_Who — Liste des utilisateurs actuellement identifiés
Intégration avec Apache
hw_Array2Objrec
Hyperwave


Convertit un tableau en un objet

Fonctions Hyperwave
hw_changeobject
Fonctions Hyperwave
PHP Manual

hw_Array2Objrec

(PHP 4)

hw_Array2Objrec — Convertit un tableau en un objet

Description

string hw_array2objrec ( array $object_array )

Convertit un object_array en un objet. Les attributs multiples tels que "Title" en différentes langues seront traités correctement.

Liste de paramètres

object_array

Le tableau.

Valeurs de retour

Retourne l'objet.

Voir aussi

  • hw_objrec2array() - Convertit les attributs d'un objet en tableau

Fonctions Hyperwave
hw_changeobject
Fonctions Hyperwave


Change les attributs d'un objet (obsolète)

hw_Array2Objrec
hw_Children
Fonctions Hyperwave
PHP Manual

hw_changeobject

(PHP 4)

hw_changeobject — Change les attributs d'un objet (obsolète)

Description

bool hw_changeobject ( int $link , int $objid , array $attributes )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_Array2Objrec
hw_Children
Fonctions Hyperwave


Liste les identifiants d'objets fils Hyperwave

hw_changeobject
hw_ChildrenObj
Fonctions Hyperwave
PHP Manual

hw_Children

(PHP 4)

hw_Children — Liste les identifiants d'objets fils Hyperwave

Description

array hw_children ( int $connection , int $objectID )

Liste les identifiants d'objets fils Hyperwave.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant d'objet.

Valeurs de retour

Retourne un tableau avec les identifiants des objets fils. Chaque identifiant d'objet est celui d'un des fils du groupe dont l'identifiant est objectID. Ce tableau contient tous les fils, documents et groupes.

hw_changeobject
hw_ChildrenObj
Fonctions Hyperwave


Liste des objets records des objets fils

hw_Children
hw_Close
Fonctions Hyperwave
PHP Manual

hw_ChildrenObj

(PHP 4)

hw_ChildrenObj — Liste des objets records des objets fils

Description

array hw_childrenobj ( int $connection , int $objectID )

Retourne un tableau avec des objets records.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant d'objet.

Valeurs de retour

Retourne un tableau avec des objets records. Chaque objet records est celui d'un des fils du groupe dont l'id est objectID. Ce tableau contient tous les fils, documents et groupes.

hw_Children
hw_Close
Fonctions Hyperwave


Ferme la connexion Hyperwave

hw_ChildrenObj
hw_Connect
Fonctions Hyperwave
PHP Manual

hw_Close

(PHP 4)

hw_Close — Ferme la connexion Hyperwave

Description

bool hw_close ( int $connection )

Ferme la connexion Hyperwave.

Liste de paramètres

connection

L'identifiant de connection.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

hw_ChildrenObj
hw_Connect
Fonctions Hyperwave


Ouvre une connexion Hyperwave

hw_Close
hw_connection_info
Fonctions Hyperwave
PHP Manual

hw_Connect

(PHP 4)

hw_Connect — Ouvre une connexion Hyperwave

Description

int hw_connect ( string $host , int $port [, string $username ], string $password )

Ouvre une connexion Hyperwave. Vous pouvez avoir plusieurs connexions simultanées.

Liste de paramètres

host

Le nom du serveur hôte.

port

Le numéro du port du serveur.

username

Le nom d'utilisateur Hyperwave. S'il est omis, aucune identification avec le serveur ne sera effectuée. Cela correspond à l'utilisation d'un utilisateur anonyme.

password

Le mot de passe pour l'utilisateur username. Garder à l'esprit que le mot de passe n'est pas crypté.

Valeurs de retour

Retourne un index de connection en cas de succès, ou FALSE si la connection n'a pû être effectuée.

Voir aussi

  • hw_pconnect() - Crée une connexion persistante

hw_Close
hw_connection_info
Fonctions Hyperwave


Affiche des informations sur la connexion au serveur Hyperwave

hw_Connect
hw_cp
Fonctions Hyperwave
PHP Manual

hw_connection_info

(PHP 4)

hw_connection_info — Affiche des informations sur la connexion au serveur Hyperwave

Description

void hw_connection_info ( int $link )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_Connect
hw_cp
Fonctions Hyperwave


Copie des objets HyperWave

hw_connection_info
hw_Deleteobject
Fonctions Hyperwave
PHP Manual

hw_cp

(PHP 4)

hw_cp — Copie des objets HyperWave

Description

int hw_cp ( int $connection , array $object_id_array , int $destination_id )

Copie les objets ayant les identifiants object_id_array, et crée un groupe ayant l'objet id destination_id.

Liste de paramètres

connection

L'identifiant de connection.

object_id_array

Un tableau d'objets ids.

destination_id

L'identifiant de la collection cible.

Valeurs de retour

Retourne le nombre d'objets copiés.

Voir aussi

  • hw_mv() - Déplace un objet

hw_connection_info
hw_Deleteobject
Fonctions Hyperwave


Efface des objets

hw_cp
hw_DocByAnchor
Fonctions Hyperwave
PHP Manual

hw_Deleteobject

(PHP 4)

hw_Deleteobject — Efface des objets

Description

bool hw_deleteobject ( int $connection , int $object_to_delete )

Efface l'objet dont l'identifiant est object_to_delete. Toutes les instances de l'objet object_to_delete seront effacées.

Liste de paramètres

connection

L'idenfitiant de connection.

object_to_delete

L'identifiant de l'objet.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_mv() - Déplace un objet

hw_cp
hw_DocByAnchor
Fonctions Hyperwave


Identifiant d'objet de l'objet dans l'ancrage

hw_Deleteobject
hw_DocByAnchorObj
Fonctions Hyperwave
PHP Manual

hw_DocByAnchor

(PHP 4)

hw_DocByAnchor — Identifiant d'objet de l'objet dans l'ancrage

Description

int hw_docbyanchor ( int $connection , int $anchorID )

Retourne l'identifiant d'objet de l'objet dans l'ancrage anchorID.

Liste de paramètres

connection

L'identifiant de connection.

anchorID

L'identifiant de l'ancrage.

Valeurs de retour

Retourne l'identifiant d'objet du document.

hw_Deleteobject
hw_DocByAnchorObj
Fonctions Hyperwave


Attributs de l'objet dans l'ancrage

hw_DocByAnchor
hw_Document_Attributes
Fonctions Hyperwave
PHP Manual

hw_DocByAnchorObj

(PHP 4)

hw_DocByAnchorObj — Attributs de l'objet dans l'ancrage

Description

string hw_docbyanchorobj ( int $connection , int $anchorID )

Retourne les attributs de l'objet dans l'ancrage anchorID.

Liste de paramètres

connection

L'identifiant de connection.

anchorID

L'identifiant de l'ancrage.

Valeurs de retour

Retourne un objet d'enregistrement.

hw_DocByAnchor
hw_Document_Attributes
Fonctions Hyperwave


Object record de hw_document

hw_DocByAnchorObj
hw_Document_BodyTag
Fonctions Hyperwave
PHP Manual

hw_Document_Attributes

(PHP 4)

hw_Document_Attributes — Object record de hw_document

Description

string hw_document_attributes ( int $hw_document )

Retourne les attributs du document.

Pour la compatibilité ascendante, hw_documentattributes() est aussi accepté, mais il est déconseillé.

Liste de paramètres

hw_document

L'identifiant du document.

Valeurs de retour

Retourne l'objet record du document.

Voir aussi

  • hw_document_bodytag() - Balise de corps d'un document
  • hw_document_size() - Taille d'un document

hw_DocByAnchorObj
hw_Document_BodyTag
Fonctions Hyperwave


Balise de corps d'un document

hw_Document_Attributes
hw_Document_Content
Fonctions Hyperwave
PHP Manual

hw_Document_BodyTag

(PHP 4)

hw_Document_BodyTag — Balise de corps d'un document

Description

string hw_document_bodytag ( int $hw_document [, string $prefix ] )

Retourne la balise BODY du document hw_document. Si le document est un document HTML, la balise BODY doit être affichée avant le document.

Pour la compatibilité ascendante, hw_documentbodytag() est aussi accepté, mais il est déconseillé.

Liste de paramètres

hw_document

L'identifiant du document.

prefix

Valeurs de retour

Retourne la balise BODY, sous la forme d'une chaîne de caractères.

Voir aussi

  • hw_document_attributes() - Object record de hw_document
  • hw_document_size() - Taille d'un document

hw_Document_Attributes
hw_Document_Content
Fonctions Hyperwave


Récupère le contenu d'un document

hw_Document_BodyTag
hw_Document_SetContent
Fonctions Hyperwave
PHP Manual

hw_Document_Content

(PHP 4)

hw_Document_Content — Récupère le contenu d'un document

Description

string hw_document_content ( int $hw_document )

Récupère le contenu d'un document.

Liste de paramètres

hw_document

L'idenfitiant du document.

Valeurs de retour

Retourne la balise BODY du document hw_document. Si le document est un document HTML, la balise BODY doit être affichée avant le document.

Voir aussi

  • hw_document_attributes() - Object record de hw_document
  • hw_document_size() - Taille d'un document
  • hw_document_setcontent() - Modifie/remplace le contenu d'un document

hw_Document_BodyTag
hw_Document_SetContent
Fonctions Hyperwave


Modifie/remplace le contenu d'un document

hw_Document_Content
hw_Document_Size
Fonctions Hyperwave
PHP Manual

hw_Document_SetContent

(PHP 4)

hw_Document_SetContent — Modifie/remplace le contenu d'un document

Description

bool hw_document_setcontent ( int $hw_document , string $content )

Modifie/remplace le contenu du document hw_document par la valeur de content. Si le document est un document HTML, le contenu représente tout ce qui est placé au-delà de la balise BODY. Les informations de HEAD et de la balise BODY sont enregistrées dans les attributs. Si vous fournissez aussi ces informations dans le corps du document, le serveur Hyperwave modifiera les attributs. Cela n'est cependant pas une bonne idée. Si la fonction échoue, l'ancien contenu est restauré.

Liste de paramètres

hw_document

L'identifiant du document.

content

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_document_attributes() - Object record de hw_document
  • hw_document_size() - Taille d'un document
  • hw_document_content() - Récupère le contenu d'un document

hw_Document_Content
hw_Document_Size
Fonctions Hyperwave


Taille d'un document

hw_Document_SetContent
hw_dummy
Fonctions Hyperwave
PHP Manual

hw_Document_Size

(PHP 4)

hw_Document_Size — Taille d'un document

Description

int hw_document_size ( int $hw_document )

Récupère la taille d'un document.

Pour la compatibilité ascendante, hw_documentsize() est aussi accepté, mais il est déconseillé.

Liste de paramètres

hw_document

L'identifiant du document.

Valeurs de retour

Retourne la taille en octets du document.

Voir aussi

  • hw_document_attributes() - Object record de hw_document
  • hw_document_bodytag() - Balise de corps d'un document

hw_Document_SetContent
hw_dummy
Fonctions Hyperwave


Fonction sans objet pour Hyperwave

hw_Document_Size
hw_EditText
Fonctions Hyperwave
PHP Manual

hw_dummy

(PHP 4)

hw_dummy — Fonction sans objet pour Hyperwave

Description

string hw_dummy ( int $link , int $id , int $msgid )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_Document_Size
hw_EditText
Fonctions Hyperwave


Récupère un document texte

hw_dummy
hw_Error
Fonctions Hyperwave
PHP Manual

hw_EditText

(PHP 4)

hw_EditText — Récupère un document texte

Description

bool hw_edittext ( int $connection , int $hw_document )

Charge le texte du document sur le serveur. Les attributs du document ne doivent pas être modifiés tant que le document est en train d'être édité.

Cette fonction n'est disponible que sur les documents texte. Elle n'ouvrira pas de canal de transfert, et donc, bloquera le script durant le transfert.

Liste de paramètres

connection

L'identifiant de connection.

hw_document

L'identifiant du document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_pipedocument() - Récupère un document
  • hw_free_document() - Libère la mémoire
  • hw_document_bodytag() - Balise de corps d'un document
  • hw_document_size() - Taille d'un document
  • hw_output_document() - Affiche le document hw_document
  • hw_gettext() - Récupère un document texte

hw_dummy
hw_Error
Fonctions Hyperwave


Retourne le code d'erreur

hw_EditText
hw_ErrorMsg
Fonctions Hyperwave
PHP Manual

hw_Error

(PHP 4)

hw_Error — Retourne le code d'erreur

Description

int hw_error ( int $connection )

Retourne le dernier code erreur, issue de la dernière commande.

Liste de paramètres

connection

L'identifiant de connection.

Valeurs de retour

Retourne le dernier code erreur, ou 0 s'il n'y a pas d'erreur.

Voir aussi

  • hw_errormsg() - Retourne un message d'erreur

hw_EditText
hw_ErrorMsg
Fonctions Hyperwave


Retourne un message d'erreur

hw_Error
hw_Free_Document
Fonctions Hyperwave
PHP Manual

hw_ErrorMsg

(PHP 4)

hw_ErrorMsg — Retourne un message d'erreur

Description

string hw_errormsg ( int $connection )

Retourne une chaîne contenant le dernier message d'erreur.

Liste de paramètres

connection

L'identifiant de connection.

Valeurs de retour

Retourne une chaîne contenant le dernier message d'erreur ou 'No Error' (pas d'erreur). Si FALSE est retourné, cela signifie que la fonction a échoué.

Voir aussi

  • hw_error() - Retourne le code d'erreur

hw_Error
hw_Free_Document
Fonctions Hyperwave


Libère la mémoire

hw_ErrorMsg
hw_GetAnchors
Fonctions Hyperwave
PHP Manual

hw_Free_Document

(PHP 4)

hw_Free_Document — Libère la mémoire

Description

bool hw_free_document ( int $hw_document )

Libère la mémoire occupée par le document Hyperwave.

Liste de paramètres

hw_document

L'idenfitiant du document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

hw_ErrorMsg
hw_GetAnchors
Fonctions Hyperwave


Identifiants des ancrages d'un document

hw_Free_Document
hw_GetAnchorsObj
Fonctions Hyperwave
PHP Manual

hw_GetAnchors

(PHP 4)

hw_GetAnchors — Identifiants des ancrages d'un document

Description

array hw_getanchors ( int $connection , int $objectID )

Retourne un tableau contenant les identifiants des ancrages du document objectID.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne un tableau d'objet ids.

hw_Free_Document
hw_GetAnchorsObj
Fonctions Hyperwave


Attributs des ancrages d'un document

hw_GetAnchors
hw_GetAndLock
Fonctions Hyperwave
PHP Manual

hw_GetAnchorsObj

(PHP 4)

hw_GetAnchorsObj — Attributs des ancrages d'un document

Description

array hw_getanchorsobj ( int $connection , int $objectID )

Retourne un tableau d'attributs des ancrages du document objectid.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne un tableau d'objet records.

hw_GetAnchors
hw_GetAndLock
Fonctions Hyperwave


Retourne les attributs et verrouille l'objet

hw_GetAnchorsObj
hw_GetChildColl
Fonctions Hyperwave
PHP Manual

hw_GetAndLock

(PHP 4)

hw_GetAndLock — Retourne les attributs et verrouille l'objet

Description

string hw_getandlock ( int $connection , int $objectID )

Retourne les attributs et verrouille l'objet objectID. Le verrouillage empêchera les autres utilisateurs d'y accéder jusqu'à ce qu'il soit déverrouillé.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne l'objet record pour l'objet dont l'ID est objectID.

Voir aussi

  • hw_unlock() - Déverrouille un objet
  • hw_getobject() - Lit les attributs d'un objet Hyperwave

hw_GetAnchorsObj
hw_GetChildColl
Fonctions Hyperwave


Identifiant d'objets des groupes fils

hw_GetAndLock
hw_GetChildCollObj
Fonctions Hyperwave
PHP Manual

hw_GetChildColl

(PHP 4)

hw_GetChildColl — Identifiant d'objets des groupes fils

Description

array hw_getchildcoll ( int $connection , int $objectID )

Retourne un tableau contenant les identifiants d'objets des groupes fils du groupe objectID. Cette fonction ne retournera pas d'identifiants d'objets des documents fils.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne un tableau d'objet ids.

Voir aussi

  • hw_children() - Liste les identifiants d'objets fils Hyperwave
  • hw_getchilddoccoll() - Identifiant des documents fils d'un groupe

hw_GetAndLock
hw_GetChildCollObj
Fonctions Hyperwave


Objet record d'un groupe d'enfants

hw_GetChildColl
hw_GetChildDocColl
Fonctions Hyperwave
PHP Manual

hw_GetChildCollObj

(PHP 4)

hw_GetChildCollObj — Objet record d'un groupe d'enfants

Description

array hw_getchildcollobj ( int $connection , int $objectID )

Retourne un tableau d'object record. Chaque object record appartient à un groupe d'enfants de la collection objectID. La fonction ne retournera pas de documents enfants.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant d'objet.

Valeurs de retour

Retourne un tableau d'objet records.

Voir aussi

  • hw_childrenobj() - Liste des objets records des objets fils
  • hw_getchilddoccollobj() - Attributs des documents fils d'un groupe

hw_GetChildColl
hw_GetChildDocColl
Fonctions Hyperwave


Identifiant des documents fils d'un groupe

hw_GetChildCollObj
hw_GetChildDocCollObj
Fonctions Hyperwave
PHP Manual

hw_GetChildDocColl

(PHP 4)

hw_GetChildDocColl — Identifiant des documents fils d'un groupe

Description

array hw_getchilddoccoll ( int $connection , int $objectID )

Retourne un tableau avec les id des documents fils d'une collection.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne un tableau d'objets ids.

Voir aussi

  • hw_children() - Liste les identifiants d'objets fils Hyperwave
  • hw_getchildcoll() - Identifiant d'objets des groupes fils

hw_GetChildCollObj
hw_GetChildDocCollObj
Fonctions Hyperwave


Attributs des documents fils d'un groupe

hw_GetChildDocColl
hw_GetObject
Fonctions Hyperwave
PHP Manual

hw_GetChildDocCollObj

(PHP 4)

hw_GetChildDocCollObj — Attributs des documents fils d'un groupe

Description

array hw_getchilddoccollobj ( int $connection , int $objectID )

Retourne un tableau contenant les attributs des documents fils du groupe objectID.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne un tableau d'objets records.

Voir aussi

  • hw_childrenobj() - Liste des objets records des objets fils
  • hw_getchildcollobj() - Objet record d'un groupe d'enfants

hw_GetChildDocColl
hw_GetObject
Fonctions Hyperwave


Lit les attributs d'un objet Hyperwave

hw_GetChildDocCollObj
hw_GetObjectByQuery
Fonctions Hyperwave
PHP Manual

hw_GetObject

(PHP 4)

hw_GetObject — Lit les attributs d'un objet Hyperwave

Description

mixed hw_getobject ( int $connection , mixed $objectID [, string $query ] )

Retourne les attributs de l'objet dont l'identifiant est objectid, si le second paramètre est un entier.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'idenfitiant de l'objet, ou un tableau d'identifiants.

query

La requête a la syntaxe suivante :

<expr> ::= "(" <expr> ")" |
           "!" &lt;expr> |          /* NOT */
           <expr> "||" <expr> |  /* OR */
           <expr> "&amp;&amp;" <expr> |  /* AND */
           <attribute> <operator> <value>

<attribute> ::= /* n'importe quel attribut (Title, Author, DocumentType ...) */

<operator> ::= "=" |    /* égal */
               "<" |    /* moins que (comparaison de type chaîne) */
               ">" |    /* plus que (comparaison de type chaîne) */
               "~"      /* recherche par expression rationnelle */
query permet de sélectionner une nouvelle fois certains objets dans la liste des objets donnés. Contrairement aux autres requêtes, celle-ci peut utiliser des attributs non indexés. Le nombre d'attributs retournés dépend de la requête de la requête et des autorisations d'accès aux objets.

Valeurs de retour

Retourne un objet record pour l'identifiant d'objet donné, si le second paramètre est un entier.

Si ce second paramètre est un tableau, la fonction retournera un tableau d'attributs. Dans ce cas, le dernier paramètre est aussi évalué.

Voir aussi

  • hw_getandlock() - Retourne les attributs et verrouille l'objet
  • hw_getobjectbyquery() - Recherche un objet

hw_GetChildDocCollObj
hw_GetObjectByQuery
Fonctions Hyperwave


Recherche un objet

hw_GetObject
hw_GetObjectByQueryColl
Fonctions Hyperwave
PHP Manual

hw_GetObjectByQuery

(PHP 4)

hw_GetObjectByQuery — Recherche un objet

Description

array hw_getobjectbyquery ( int $connection , string $query , int $max_hits )

Recherche un objet sur tout le serveur et retourne un tableau d' object ids.

Liste de paramètres

connection

L'identifiant de connection.

query

La requête ne fonctionnera qu'avec des attributs indexés.

max_hits

Le nombre maximum d'objets est limité par max_hits. Si max_hits vaut -1, il n'y a pas de limite.

Valeurs de retour

Retourne un tableau d'objets ids.

Voir aussi

  • hw_getobjectbyqueryobj() - Recherche un objet

hw_GetObject
hw_GetObjectByQueryColl
Fonctions Hyperwave


Recherche un objet dans un groupe

hw_GetObjectByQuery
hw_GetObjectByQueryCollObj
Fonctions Hyperwave
PHP Manual

hw_GetObjectByQueryColl

(PHP 4)

hw_GetObjectByQueryColl — Recherche un objet dans un groupe

Description

array hw_getobjectbyquerycoll ( int $connection , int $objectID , string $query , int $max_hits )

Recherche un objet sur tout le groupe objectID et retourne un tableau d'object records.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de la collection.

query

La requête ne fonctionnera qu'avec des attributs indexés.

max_hits

Le nombre maximum d'objet est limité par objectID. Si objectID vaut -1 il n'y a pas de limite.

Valeurs de retour

Retourne un tableau d'objets ids.

Voir aussi

  • hw_getobjectbyquerycollobj() - Recherche un objet dans un groupe

hw_GetObjectByQuery
hw_GetObjectByQueryCollObj
Fonctions Hyperwave


Recherche un objet dans un groupe

hw_GetObjectByQueryColl
hw_GetObjectByQueryObj
Fonctions Hyperwave
PHP Manual

hw_GetObjectByQueryCollObj

(PHP 4)

hw_GetObjectByQueryCollObj — Recherche un objet dans un groupe

Description

array hw_getobjectbyquerycollobj ( int $connection , int $objectID , string $query , int $max_hits )

Recherche un objet sur tout le groupe objectID et retourne un tableau d'object records.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de la collection.

query

La requête ne fonctionnera qu'avec des attributs indexés.

max_hits

Le nombre maximum d'objets est limité par objectID. Si objectid vaut -1 il n'y a pas de limite.

Valeurs de retour

Retourne un tableau d'objets records.

Voir aussi

  • hw_getobjectbyquerycoll() - Recherche un objet dans un groupe

hw_GetObjectByQueryColl
hw_GetObjectByQueryObj
Fonctions Hyperwave


Recherche un objet

hw_GetObjectByQueryCollObj
hw_GetParents
Fonctions Hyperwave
PHP Manual

hw_GetObjectByQueryObj

(PHP 4)

hw_GetObjectByQueryObj — Recherche un objet

Description

array hw_getobjectbyqueryobj ( int $connection , string $query , int $max_hits )

Recherche un objet sur tout le serveur et retourne un tableau d' object records.

Liste de paramètres

connection

L'identifiant de connection.

query

La requête ne fonctionnera qu'avec des attributs indexés.

max_hits

Le nombre maximum d'objets est limité par max_hits. Si max_hits vaut -1, il n'y a pas de limite.

Valeurs de retour

Retourne un tableau d'objets records.

Voir aussi

  • hw_getobjectbyquery() - Recherche un objet

hw_GetObjectByQueryCollObj
hw_GetParents
Fonctions Hyperwave


Identifiant d'objet des parents

hw_GetObjectByQueryObj
hw_GetParentsObj
Fonctions Hyperwave
PHP Manual

hw_GetParents

(PHP 4)

hw_GetParents — Identifiant d'objet des parents

Description

array hw_getparents ( int $connection , int $objectID )

Retourne un tableau indexé avec les identifiants des objets parents de objectID.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant d'objet.

Valeurs de retour

Retourne un tableau indexé avec les identifiants des objets parents de objectID.

hw_GetObjectByQueryObj
hw_GetParentsObj
Fonctions Hyperwave


Attributs des parents

hw_GetParents
hw_getrellink
Fonctions Hyperwave
PHP Manual

hw_GetParentsObj

(PHP 4)

hw_GetParentsObj — Attributs des parents

Description

array hw_getparentsobj ( int $connection , int $objectID )

Retourne un tableau indexé, avec les attributs et un tableau associé d'informations statistiques à propos des attributs. Ce tableau associé est le dernier élément du tableau retourné. Chaque attribut appartient au père de l'objet objectID.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant d'objet.

Valeurs de retour

Retourne un tableau indexé, avec les attributs et un tableau associé d'informations statistiques à propos des attributs. Ce tableau associé est le dernier élément du tableau retourné.

hw_GetParents
hw_getrellink
Fonctions Hyperwave


Crée le lien depuis la source vers le destinataire, relativement à rootid

hw_GetParentsObj
hw_GetRemote
Fonctions Hyperwave
PHP Manual

hw_getrellink

(PHP 4)

hw_getrellink — Crée le lien depuis la source vers le destinataire, relativement à rootid

Description

string hw_getrellink ( int $link , int $rootid , int $sourceid , int $destid )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_GetParentsObj
hw_GetRemote
Fonctions Hyperwave


Retourne un document distant

hw_getrellink
hw_getremotechildren
Fonctions Hyperwave
PHP Manual

hw_GetRemote

(PHP 4)

hw_GetRemote — Retourne un document distant

Description

int hw_getremote ( int $connection , int $objectID )

Retourne un document distant.

Les documents distants sont, en Hyperwave, des documents lus depuis une source externe. La plupart des documents éloignés sont des pages web externes, ou des requêtes sur une base de données.

Afin de pouvoir accéder à des sources externes, grâce aux documents distants, Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est similaire à CGI. Actuellement, seuls les protocoles de FTP, HTTP et certaines bases de données sont accessibles avec HGI.

hw_getremote() retourne le document de la source distante. Si vous voulez utiliser cette fonction, il vous faut vous familiariser avec HGIs. Il est aussi préférable d'utiliser PHP plutôt que Hyperwave pour accéder aux sources externes. Le support des bases de données sera plus difficile avec Hyperwave que PHP.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

Valeurs de retour

Retourne le document distant.

Voir aussi

  • hw_getremotechildren() - Retourne les fils d'un document distant

hw_getrellink
hw_getremotechildren
Fonctions Hyperwave


Retourne les fils d'un document distant

hw_GetRemote
hw_GetSrcByDestObj
Fonctions Hyperwave
PHP Manual

hw_getremotechildren

(PHP 4)

hw_getremotechildren — Retourne les fils d'un document distant

Description

mixed hw_getremotechildren ( int $connection , string $object_record )

Retourne les fils d'un document distant. Les fils d'un document distant sont des documents distants eux mêmes. Cela est cohérent si une requête sur une base de données doit être rendue plus sélective, comme expliqué dans Hyperwave Programmers' Guide.

Si vous voulez utiliser cette fonction, vous devez être très avec familier HGIs. Il vaut mieux PHP plutôt que Hyperwave pour accéder aux fichiers distants. Le support de base de données y est bien meilleur.

Liste de paramètres

connection

L'identifiant de connection.

object_record

L'objet record.

Valeurs de retour

Si le nombre de fils est 1, la fonction va retourner le document lui-même, formaté Hyperwave Gateway Interface (HGI). Si le nombre de fils est supérieur à 1, la fonction retournera un tableau d'attributs qui pourra servir à une nouvelle requête avec hw_getremotechildren(). 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.

Voir aussi

  • hw_getremote() - Retourne un document distant

hw_GetRemote
hw_GetSrcByDestObj
Fonctions Hyperwave


Retourne les ancrages qui pointent sur un objet

hw_getremotechildren
hw_GetText
Fonctions Hyperwave
PHP Manual

hw_GetSrcByDestObj

(PHP 4)

hw_GetSrcByDestObj — Retourne les ancrages qui pointent sur un objet

Description

array hw_getsrcbydestobj ( int $connection , int $objectID )

Retourne les attributs de tous les ancrages qui pointent sur objectID.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet. L'objet peut être soit un document, soit un ancrage, de type destination.

Valeurs de retour

Retourne un tableau d'objets records.

Voir aussi

  • hw_getanchors() - Identifiants des ancrages d'un document

hw_getremotechildren
hw_GetText
Fonctions Hyperwave


Récupère un document texte

hw_GetSrcByDestObj
hw_getusername
Fonctions Hyperwave
PHP Manual

hw_GetText

(PHP 4)

hw_GetText — Récupère un document texte

Description

int hw_gettext ( int $connection , int $objectID [, mixed $rootID/prefix ] )

Retourne le document de l'objet objectID. Si le document possède des ancrages qui peuvent être insérés, ils le seront déjà.

hw_gettext() n'est opérationnelle qu'avec des documents de pur texte. Elle n'ouvrira pas de canal spécial de transfert et, ainsi, bloquera le script le temps du transfert.

Liste de paramètres

connection

L'identifiant de connection.

objectID

L'identifiant de l'objet.

rootID/prefix

L'option rootID/prefix peut être une chaîne ou un entier. Si c'est un entier, il détermine la méthode d'insertion des liens dans le document. Par défaut, il vaut 0 et les liens seront construits en fonction du nom de l'objet cible. Cela sert beaucoup dans les applications web. Si un lien pointe sur un objet avec le nom 'film_internet' le lien HTML sera <A HREF="/film_internet">. La position réelle de la source et de la cible dans la hiérarchie seront ignorés. Vous devrez modificer votre site web pour qu'il réécrive les URL, comme '/mon_script.php3/film_internet'. 'mon_script.php3' devra analyser $PATH_INFO et savoir rechercher le document '/mon_script.php3/film_internet'. Si vous ne voulez pas de ce comportement, vous pouvez affecter à rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une chaîne.

Si rootID/prefix est un entier différent de 0 le lien sera construit avec tous les noms de la hiérarchie, en commençant à l'objet d'identifiant rootID/prefix, et séparé par des slash.

Si, par exemple, le document 'film_internet' est situé à 'a-b-c-film_internet' et '-' qui sert de séparateur hiérarchique de niveau sur le serveur Hyperwave et le document source est situé dans 'a-b-d-source' alors, le lien HTML sera : <A HREF="../c/film_internet">. Cela est très pratique si vous voulez télécharger tout le contenu d'un serveur sur un disque, et faire une carte du système sur votre disque.

Valeurs de retour

Retourne le document texte.

Voir aussi

  • hw_pipedocument() - Récupère un document
  • hw_free_document() - Libère la mémoire
  • hw_document_bodytag() - Balise de corps d'un document
  • hw_document_size() - Taille d'un document
  • hw_output_document() - Affiche le document hw_document

hw_GetSrcByDestObj
hw_getusername
Fonctions Hyperwave


Nom de l'utilisateur actuellement identifié

hw_GetText
hw_Identify
Fonctions Hyperwave
PHP Manual

hw_getusername

(PHP 4)

hw_getusername — Nom de l'utilisateur actuellement identifié

Description

string hw_getusername ( int $connection )

Retourne le nom d'utilisateur utilisé par la connexion.

Liste de paramètres

connection

L'identifiant de connection.

Valeurs de retour

Retourne le nom de l'utilisateur, sous la forme d'une chaîne de caractères.

hw_GetText
hw_Identify
Fonctions Hyperwave


Identifie un utilisateur

hw_getusername
hw_InCollections
Fonctions Hyperwave
PHP Manual

hw_Identify

(PHP 4)

hw_Identify — Identifie un utilisateur

Description

string hw_identify ( int $link , string $username , string $password )

Identifie un utilisateur dont le nom d'utilisateur est username et le mot de passe password. 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.

Liste de paramètres

link

L'identifiant de connection.

username

Le nom d'utilisateur.

password

Le mot de passe.

Voir aussi

  • hw_connect() - Ouvre une connexion Hyperwave

hw_getusername
hw_InCollections
Fonctions Hyperwave


Vérifie qu'un identifiant d'objet est dans un groupe

hw_Identify
hw_Info
Fonctions Hyperwave
PHP Manual

hw_InCollections

(PHP 4)

hw_InCollections — Vérifie qu'un identifiant d'objet est dans un groupe

Description

array hw_incollections ( int $connection , array $object_id_array , array $collection_id_array , int $return_collections )

Vérifie qu'un ensemble d'objets (documents ou groupes) donnés par object_id_array fait partie des groupes listés par object_id_array.

Liste de paramètres

connection

L'identifiant de connection.

object_id_array

Un tableau d'objets ids.

collection_id_array

Un tableau de collection d'identifiants.

return_collections

Lorsque défini à 0, le sous-ensemble d'identifiants qui fait parti d'un groupe (i.e., les documents ou les collections qui sont des enfants d'une ou plusieurs collections d'identifiant de collection ou ces sous-collections, récursivement) est retourné sous la forme d'un tableau.

Lorsque défini à 1, le jeu de collections qui a un ou plusieurs objets ayant des sous-jeux comme enfants, est retourné, sous la forme d'un tableau. Cette option permet au client de, e.g., mettre en lumière la partie de la collection qui contient les résultats de la précédente requête, sous une forme graphique.

Valeurs de retour

Retourne un tableau d'objets ids.

hw_Identify
hw_Info
Fonctions Hyperwave


Informations à propos d'une connexion

hw_InCollections
hw_InsColl
Fonctions Hyperwave
PHP Manual

hw_Info

(PHP 4)

hw_Info — Informations à propos d'une connexion

Description

string hw_info ( int $connection )

Retournes des informations à propos de la connexion.

Liste de paramètres

connection

L'identifiant de connexion.

Valeurs de retour

Retourne les informations de la connexion courante. La chaîne retournée a le format suivant : <Serverstring>, <Host>, <Port>, <Username>, <Port of Client>, <Byte swapping>

hw_InCollections
hw_InsColl
Fonctions Hyperwave


Insère une collection

hw_Info
hw_InsDoc
Fonctions Hyperwave
PHP Manual

hw_InsColl

(PHP 4)

hw_InsColl — Insère une collection

Description

int hw_inscoll ( int $connection , int $objectID , array $object_array )

Insère une nouvelle collection, avec les attributs object_array dans le groupe objectID.

Liste de paramètres

connection

L'identifiant de connexion.

objectID

object_array

Valeurs de retour

hw_Info
hw_InsDoc
Fonctions Hyperwave


Insère un document

hw_InsColl
hw_insertanchors
Fonctions Hyperwave
PHP Manual

hw_InsDoc

(PHP 4)

hw_InsDoc — Insère un document

Description

int hw_insdoc ( resource $connection , int $parentID , string $object_record [, string $text ] )

Insère un nouveau document avec les attributs object_record, dans le groupe parentID.

Si vous voulez insérer un document de type général, utilisez plutôt hw_insertdocument().

Liste de paramètres

connection

L'identifiant de connexion.

parentID

L'identifiant du groupe.

object_record

Les attributs de l'objet.

text

Si fourni, le texte ascii sera également inséré.

Valeurs de retour

Voir aussi

  • hw_insertdocument() - Insère un document dans un groupe
  • hw_inscoll() - Insère une collection

hw_InsColl
hw_insertanchors
Fonctions Hyperwave


Insère uniquement des ancres dans du texte

hw_InsDoc
hw_InsertDocument
Fonctions Hyperwave
PHP Manual

hw_insertanchors

(PHP 4 >= 4.0.4)

hw_insertanchors — Insère uniquement des ancres dans du texte

Description

bool hw_insertanchors ( int $hwdoc , array $anchorecs , array $dest [, array $urlprefixes ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_InsDoc
hw_InsertDocument
Fonctions Hyperwave


Insère un document dans un groupe

hw_insertanchors
hw_InsertObject
Fonctions Hyperwave
PHP Manual

hw_InsertDocument

(PHP 4)

hw_InsertDocument — Insère un document dans un groupe

Description

int hw_insertdocument ( int $connection , int $parent_id , int $hw_document )

Insère un document dans un groupe donné.

Le document doit avoir été créé auparavant avec hw_new_document(). Assurez-vous que les attributs du nouveau document contiennent au moins les indications suivantes : "Type", "DocumentType", "Title" et "Name". Vous aurez aussi parfois besoin de définir MimeType.

Liste de paramètres

connection

L'idenfitiant de connexion.

parent_id

L'identifiant de groupe.

hw_document

L'identifiant du document.

Valeurs de retour

Retourne l'identifiant de l'objet du nouveau document, ou FALSE.

Voir aussi

  • hw_pipedocument() - Récupère un document

hw_insertanchors
hw_InsertObject
Fonctions Hyperwave


Insère un objet record

hw_InsertDocument
hw_mapid
Fonctions Hyperwave
PHP Manual

hw_InsertObject

(PHP 4)

hw_InsertObject — Insère un objet record

Description

int hw_insertobject ( int $connection , string $object_rec , string $parameter )

Insère un objet record sur le serveur.

Note : si vous voulez insérer une ancre, l'attribut Position doit être mis à la valeur start/end (début ou fin) ou encore 'invisible'. Les positions invisibles sont nécessaires si l'annotation n'a pas de liens correspondant dans le texte de l'annotation.

Liste de paramètres

connection

L'identifiant de connexion.

object_rec

L'objet peut être n'importe quel objet hyperwave valide.

parameter

Reportez-vous à la documentation HG-CSP pour des informations détaillées sur la valeur de ce paramètre.

Voir aussi

  • hw_pipedocument() - Récupère un document
  • hw_insertdocument() - Insère un document dans un groupe
  • hw_insdoc() - Insère un document
  • hw_inscoll() - Insère une collection

hw_InsertDocument
hw_mapid
Fonctions Hyperwave


Représente un id global en un id virtuel local

hw_InsertObject
hw_Modifyobject
Fonctions Hyperwave
PHP Manual

hw_mapid

(PHP 4)

hw_mapid — Représente un id global en un id virtuel local

Description

int hw_mapid ( int $connection , int $server_id , int $object_id )

Représente l'id d'un objet global de n'importe quel serveur Hyperwave, même si vous ne vous y êtes pas connecté avec hw_connect(), avec un id d'objet local virtuel.

Cet id d'objet local peut alors être utilisé comme n'importe quel id d'objet : par exemple on peut obtenir l'enregistrement d'objet avec la fonction hw_getobject().

Note : afin d'utiliser cette fonction, vous devez lever le flag F_DISTRIBUTED, ce qui ne peut être fait qu'à la compilation. Par défaut, il n'est pas levé. Lisez les commentaires de début du fichier hg_comm.c

Liste de paramètres

connection

L'identifiant de connexion.

server_id

L'id du serveur est la première partie de l'id global (GOid) de l'objet, qui est en fait une adresse IP.

object_id

L'identifiant de l'objet.

Valeurs de retour

Retourne l'identifiant de l'objet virtuel.

hw_InsertObject
hw_Modifyobject
Fonctions Hyperwave


Modifie les attributs d'object record

hw_mapid
hw_mv
Fonctions Hyperwave
PHP Manual

hw_Modifyobject

(PHP 4)

hw_Modifyobject — Modifie les attributs d'object record

Description

bool hw_modifyobject ( int $connection , int $object_to_change , array $remove , array $add [, int $mode ] )

Permet d'effacer, d'ajouter ou de modifier les attributs d'un objet. L'objet est repéré par son identifiant object_to_change. Le premier tableau, remove, est la liste des attributs à effacer. Le deuxième tableau, add, est celle des attributs à ajouter. Afin de modifier un attribut, il vous faudra dont l'effacer, puis l'ajouter à nouveau. hw_modifyobject() effacera toujours les attributs avant de les ajouter, à moins que la valeur de l'attribut à effacer ne soit pas une chaîne, ou un tableau.

Les clés des deux tableaux sont les noms des attributs. La valeur de chaque élément peut être un tableau, une chaîne ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut est construite en séparant chaque élément par un point virgule. Dans le cas de la chaîne, elle sert directement de valeur. Une chaîne vide provoquera un effacement de l'attribut. Si la valeur n'est ni un tableau, ni une chaîne, aucune opération ne sera effectuée. Cela est nécessaire si vous voulez ajouter un attribut complètement nouveau, pas seulement une nouvelle valeur pour un attribut existant. Si le tableau d'effacement contenait une chaîne vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui échouerait de toute manière, car cet attribut n'existe pas. L'ajout de cet attribut échouerait aussi. Affecter la valeur de 0 à cet attribut ne l'effacerait pas, et l'ajout fonctionnerait.

Si vous voulez changer l'attribut "Nom" de valeur courante "livres" en "articles" vous devrez faire deux tableaux, et appeler hw_modifyobject().

Exemple #1 Modification d'un attribut

<?php
// $connect est une connexion valide
// $objid est l'identifiant de l'objet
$remarr = array("Name" => "books");
$addarr = array("Name" => "articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Afin d'effacer/ajouter une paire nom=valeur aux attributs d'un objet, utilisez simplement les tableaux d'effacement et d'ajout, et laissez le dernier/troisième paramètre vide. Si l'attribut est le premier de ce nom à ajouter, donnez une valeur entière à cet élément.

Exemple #2 Ajouter un nouvel attribut

<?php
// $connect est une connexion Hyperwave valide
// $objid est l'identifiant de l'objet à modifier
$remarr = array("Name" => 0);
$addarr = array("Name" => "articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Note: Les attributs multilingues, tels que "Title", peuvent être modifiés de deux façons : soit en fournissant la valeur de ces attributs de manière native (langue :valeur), soit en fournissant un tableau avec les éléments de chaque langue, comme décrit ci-dessus. L'exemple deviendrait alors :

Exemple #3 Modifier l'attribut de Titre

<?php
$remarr = array("Title" => "en:Books");
$addarr = array("Title" => "en:Articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
ou

Exemple #4 Modifier l'attribut Title

<?php
$remarr = array("Title" => array("en" => "Books"));
$addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel"));
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Ceci supprime l'entrée anglaise "Books" et ajoute l'entrée "Articles" et l'entrée allemande "Artikel".

Exemple #5 Suppression d'un attribut

<?php
$remarr = array("Title" => "");
$addarr = array("Title" => "en:Articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Note: Cet exemple va effacer tous les attributs avec le nom "Title" et ajouter un nouvel attribut "Title". Cela peut être pratique pour effacer des attributs récursivement.

Note: Si vous devez effacer tous les attributs avec un certain nom, vous devez passer une chaîne vide comme valeur.

Note: Seuls les attributs "Title", "Description" et "Keyword" gèrent correctement le préfixe de langue. Pour les autres attributs qui ne portent pas de préfixe de langage, le préfixe "xx" sera assigné.

Note: L'attribut "Name" est un peu particulier. Dans certains cas, il ne peut pas être complètement effacé. Vous aurez alors le message "Change of base attribute" (l'apparition de cette erreur n'est pas très claire). Ainsi, vous aurez à ajouter une nouvelle entrée pour "Name" puis, effacer l'ancien.

Note: Il ne faut pas encadrer cette fonction par des appels à hw_getandlock() et hw_unlock(). hw_modifyobject() le fait de manière interne.

Liste de paramètres

connection

L'identifiant de connexion.

object_to_change

L'objet à changer.

remove

Un tableau d'attributs à effacer.

add

Un tableau d'attributs à ajouter.

mode

Le dernier paramètre détermine si la modification est récursive ou pas. 1 signifie que la modification est récursive. Si un objet ne peut pas être modifié, il sera ignoré. hw_error() n'indiquera alors pas toujours d'erreur, même si certains objets n'ont pas pu être modifiés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

hw_mapid
hw_mv
Fonctions Hyperwave


Déplace un objet

hw_Modifyobject
hw_New_Document
Fonctions Hyperwave
PHP Manual

hw_mv

(PHP 4)

hw_mv — Déplace un objet

Description

int hw_mv ( int $connection , array $object_id_array , int $source_id , int $destination_id )

Déplace les objets dont les identifiants sont passés dans le tableau source_id, depuis le source_id dans le destination_id.

Liste de paramètres

connection

L'identifiant de connexion.

object_id_array

Un tableau d'objets ids.

source_id

L'identifiant du groupe source.

destination_id

L'identifiant du groupe de destination. Si destination_id vaut 0, les objets ne seront plus insérés dans le groupe (ni dans le serveur). Dans ce cas, si une instance était la dernière instance d'un objet, l'objet sera effacé. Si vous voulez effacer toutes les instances d'un coup, utilisez hw_deleteobject().

Valeurs de retour

Retourne le nombre d'objets déplacés.

Voir aussi

  • hw_cp() - Copie des objets HyperWave
  • hw_deleteobject() - Efface des objets

hw_Modifyobject
hw_New_Document
Fonctions Hyperwave


Crée un nouveau document

hw_mv
hw_objrec2array
Fonctions Hyperwave
PHP Manual

hw_New_Document

(PHP 4)

hw_New_Document — Crée un nouveau document

Description

int hw_new_document ( string $object_record , string $document_data , int $document_size )

Retourne un nouveau document Hyperwave avec comme données document_data et comme attributs object_record.

Cette fonction n'insère pas l'objet dans le serveur Hyperwave.

Liste de paramètres

object_record

L'objet record.

document_data

Les données du document.

document_size

La taille du document. Doit correspondre à la taille des données document_data.

Valeurs de retour

Retourne le nouveau document Hyperwave.

Voir aussi

  • hw_free_document() - Libère la mémoire
  • hw_document_size() - Taille d'un document
  • hw_document_bodytag() - Balise de corps d'un document
  • hw_output_document() - Affiche le document hw_document
  • hw_insertdocument() - Insère un document dans un groupe

hw_mv
hw_objrec2array
Fonctions Hyperwave


Convertit les attributs d'un objet en tableau

hw_New_Document
hw_Output_Document
Fonctions Hyperwave
PHP Manual

hw_objrec2array

(PHP 4)

hw_objrec2array — Convertit les attributs d'un objet en tableau

Description

array hw_objrec2array ( string $object_record [, array $format ] )

Convertit les attributs object_record d'un objet en un tableau.

Liste de paramètres

object_record

L'objet record.

format

Un tableau associatif, avec les attributs comme index, le nom, et la valeur étant l'une des suivantes : HW_ATTR_LANG ou HW_ATTR_NONE.

Valeurs de retour

Retourne un tableau. Les clés du tableau seront les noms des attributs. Les attributs multiples comme "Title", dans différentes langues, seront rassemblés dans un autre tableau. Une clé est la partie gauche d'un attribut. Cette partie doit être longue d'au moins deux caractères.

Les autres valeurs multiples d'un attribut sans préfixe forment un tableau indexé. Si le paramètre optionnel format est omis, les attributs "Title", "Description" et "Keyword" seront traités comme des attributs de langue, et les attributs "Group", "Parent" et "HtmlAttr" le seront comme des attributs non préfixés, à valeur multiples. En passant un tableau qui contient le type de chaque attribut, vous pouvez modifier ce comportement.

Voir aussi

  • hw_array2objrec() - Convertit un tableau en un objet

hw_New_Document
hw_Output_Document
Fonctions Hyperwave


Affiche le document hw_document

hw_objrec2array
hw_pConnect
Fonctions Hyperwave
PHP Manual

hw_Output_Document

(PHP 4)

hw_Output_Document — Affiche le document hw_document

Description

bool hw_output_document ( int $hw_document )

Affiche hw_document sans la balise BODY.

Pour la compatibilité ascendante, hw_outputdocument() est aussi accepté, mais il est déconseillé.

Liste de paramètres

hw_document

L'identifiant du document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

hw_objrec2array
hw_pConnect
Fonctions Hyperwave


Crée une connexion persistante

hw_Output_Document
hw_PipeDocument
Fonctions Hyperwave
PHP Manual

hw_pConnect

(PHP 4)

hw_pConnect — Crée une connexion persistante

Description

int hw_pconnect ( string $host , int $port [, string $username ], string $password )

Ouvre une connexion persistante à un serveur Hyperwave. Vous pouvez ouvrir plusieurs connexions persistantes simultanées.

Liste de paramètres

host

Le nom d'hôte du serveur.

port

Le numéro du port du serveur.

username

Le nom d'utilisateur Hyperwave. S'il n'est pas fourni, aucune identification avec le serveur ne sera effectuée. Ce sera une connexion anonyme.

password

Le mot de passe. Attention, il ne sera pas crypté.

Valeurs de retour

Retourne un index de connexion en cas de succès, ou FALSE si la connexion n'a pû être établie.

Voir aussi

  • hw_connect() - Ouvre une connexion Hyperwave

hw_Output_Document
hw_PipeDocument
Fonctions Hyperwave


Récupère un document

hw_pConnect
hw_Root
Fonctions Hyperwave
PHP Manual

hw_PipeDocument

(PHP 4)

hw_PipeDocument — Récupère un document

Description

int hw_pipedocument ( int $connection , int $objectID [, array $url_prefixes ] )

Retourne le document Hyperwave d'objet id objectID. Si le document a des ancrages, ils seront insérés.

Le document sera transmis via une connexion de données spéciale, qui ne bloque pas la connexion de contrôle (ie, le serveur n'attend pas la fin du transfert pour rendre la main).

Liste de paramètres

connection

L'identifiant de connexion.

objectID

L'identifiant de l'objet.

url_prefixes

Valeurs de retour

Retourne le document Hyperwave.

Voir aussi

  • hw_gettext() - Récupère un document texte
  • hw_free_document() - Libère la mémoire
  • hw_document_size() - Taille d'un document
  • hw_document_bodytag() - Balise de corps d'un document
  • hw_output_document() - Affiche le document hw_document

hw_pConnect
hw_Root
Fonctions Hyperwave


Objet id de la racine

hw_PipeDocument
hw_setlinkroot
Fonctions Hyperwave
PHP Manual

hw_Root

(PHP 4)

hw_Root — Objet id de la racine

Description

int hw_root ( void )

Retourne l'objet ID de la racine. Actuellement, cet identifiant est toujours 0. L'ensemble des fils de la racine est celui du serveur courant.

Valeurs de retour

Retourne 0.

hw_PipeDocument
hw_setlinkroot
Fonctions Hyperwave


Configure l'identifiant vers lequel les liens sont calculés

hw_Root
hw_stat
Fonctions Hyperwave
PHP Manual

hw_setlinkroot

(PHP 4)

hw_setlinkroot — Configure l'identifiant vers lequel les liens sont calculés

Description

int hw_setlinkroot ( int $link , int $rootid )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_Root
hw_stat
Fonctions Hyperwave


Retourne le statut de la chaîne

hw_setlinkroot
hw_Unlock
Fonctions Hyperwave
PHP Manual

hw_stat

(PHP 4)

hw_stat — Retourne le statut de la chaîne

Description

string hw_stat ( int $link )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

hw_setlinkroot
hw_Unlock
Fonctions Hyperwave


Déverrouille un objet

hw_stat
hw_Who
Fonctions Hyperwave
PHP Manual

hw_Unlock

(PHP 4)

hw_Unlock — Déverrouille un objet

Description

bool hw_unlock ( int $connection , int $objectID )

Déverrouille un document, et laisse l'accès aux autres utilisateurs.

Liste de paramètres

connection

L'identifiant de connexion.

objectID

L'identifiant de l'objet document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_getandlock() - Retourne les attributs et verrouille l'objet

hw_stat
hw_Who
Fonctions Hyperwave


Liste des utilisateurs actuellement identifiés

hw_Unlock
Hyperwave API
Fonctions Hyperwave
PHP Manual

hw_Who

(PHP 4)

hw_Who — Liste des utilisateurs actuellement identifiés

Description

array hw_who ( int $connection )

Récupère la liste des utilisateurs actuellement identifiés.

Liste de paramètres

connection

L'identifiant de la connexion.

Valeurs de retour

Retourne un tableau contenant la liste des utilisateurs actuellement connectés au serveur Hyperwave. Chaque élément du tableau est lui-même un tableau qui contient l'identifiant de l'élément, le nom, le système, la date de connexion (onSinceDate), l'heure de connexion (onSinceTime), la durée de connexion (TotalTime ) et self. 'self' vaut 1 si cette entrée appartient à l'utilisateur qui a appelé la fonction.

hw_Unlock
Hyperwave API
Fonctions Hyperwave


Hyperwave API

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Hyperwave API Fonctions
    • hw_api_attribute->key — Retourne la clé d'un attribut
    • hw_api_attribute->langdepvalue — Retourne la valeur d'un attribut dans une langue
    • hw_api_attribute->value — Retourne la valeur d'un attribut
    • hw_api_attribute->values — Retourne toutes les valeurs de l'attribut
    • hw_api_attribute — Crée une nouvelle instance de la classe hw_api_attribute
    • hw_api->checkin — Archive un objet
    • hw_api->checkout — Extrait un objet
    • hw_api->children — Retourne le fils d'un objet
    • hw_api_content->mimetype — Retourne le type MIME
    • hw_api_content->read — Lit le contenu
    • hw_api->content — Retourne le contenu d'un objet
    • hw_api->copy — Copie physique
    • hw_api->dbstat — Retourne des statistiques sur le serveur de bases
    • hw_api->dcstat — Retourne des statistiques sur le serveur de cache de document
    • hw_api->dstanchors — Liste toutes les ancres de destination
    • hw_api->dstofsrcanchor — Retourne la destination d'une ancre source
    • hw_api_error->count — Retourne le nombre d'erreurs
    • hw_api_error->reason — Retourne la première raison d'erreur
    • hw_api->find — Recherche des objets
    • hw_api->ftstat — Retourne des statistiques sur le serveur de textes
    • hwapi_hgcsp — Retourne un objet de classe hw_api
    • hw_api->hwstat — Retourne les statistiques sur le serveur Hyperwave
    • hw_api->identify — S'identifie auprès du serveur Hyperwave
    • hw_api->info — Retourne des informations sur la configuration du serveur
    • hw_api->insert — Insère un nouvel objet
    • hw_api->insertanchor — Insère un nouvel objet de type ancre
    • hw_api->insertcollection — Insère un nouvel objet de type collection
    • hw_api->insertdocument — Insère un nouvel objet de type document
    • hw_api->link — Crée un lien vers un objet
    • hw_api->lock — Verrouille un objet
    • hw_api->move — Déplace un objet d'une collection à l'autre
    • hw_api_content — Crée une nouvelle instance de la classe hw_api_content
    • hw_api_object->assign — Clone un objet
    • hw_api_object->attreditable — Vérifie si un attribut est éditable
    • hw_api_object->count — Retourne le nombre d'attributs
    • hw_api_object->insert — Insère un nouvel attribut HyperWave
    • hw_api_object — Crée une nouvelle instance de la classe hw_api_object
    • hw_api_object->remove — Supprime un attribut HyperWave
    • hw_api_object->title — Retourne le titre de l'attribut
    • hw_api_object->value — Retourne la valeur de l'attribut
    • hw_api->object — Lit les informations d'attribut
    • hw_api->objectbyanchor — Retourne l'objet propriétaire d'une ancre
    • hw_api->parents — Retourne le parent d'un objet
    • hw_api_reason->description — Retourne la description d'une raison
    • hw_api_reason->type — Retourne le type de raison
    • hw_api->remove — Efface un objet
    • hw_api->replace — Remplace un objet
    • hw_api->setcommittedversion — Valide une version autre que la dernière
    • hw_api->srcanchors — Retourne la liste de toutes les ancres
    • hw_api->srcsofdst — Retourne les sources d'un objet de destination
    • hw_api->unlock — Déverrouille un objet HyperWave verrouillé
    • hw_api->user — Retourne le propriétaire d'un objet
    • hw_api->userlist — Retourne la liste des utilisateurs connectés
hw_Who
Introduction
Autres services


Introduction

Hyperwave a été développé à l'» IICM à Graz. Le projet a commencé avec le nom de Hyper-G, puis il est devenu Hyperwave, lors de sa commercialisation en 1996.

Hyperwave n'est pas un logiciel libre. Sa version courante, la 5.5, est disponible à » http://www.hyperwave.com/. Une version limitée dans le temps est disponible gratuitement (30 jours).

Voir aussi le module Hyperwave.

Hyperwave est un système d'information comparable à une base de données (HIS, Hyperwave Information Server). Il se concentre sur le stockage et la gestion de documents. Un document peut être n'importe quelle pièce de données qui peut être stockée dans un fichier. Chaque document est accompagné de son propre enregistrement. L'enregistrement contient les métadonnées du document. Les métadonnées sont des listes d'attributs qui peuvent être manipulés par l'utilisateur. Certains attributs sont gérés par le serveur Hyperwave, les autres peuvent être modifiés par l'utilisateur.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.2.0.

Hyperwave API
Installation/Configuration
Hyperwave API


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Hyperwave API


Pré-requis

Depuis 2001, il y a un SDK Hyperwave disponible. Il supporte Java, JavaScript et C++. Cette extension PHP est basée sur l'interface C++. Pour activer le support hwapi de PHP, vous devez installer le SDK d'abord.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/hwapi.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.2.0

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration HyperWave
Nom | Défaut | Modifiable | Historique
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Hyperwave API Fonctions
Hyperwave API


Hyperwave API Fonctions

intégration dans Apache

L'intégration dans Apache et éventuellement d'autres serveurs est déjà décrite dans le module Hyperwave, qui a été la première extension à se connecter au serveur Hyperwave.

Classes

L'API fournie avec l'extension HW_API est complètement orientée objet. Elle est très similaire à l'interface C++ du SDK Hyperwave. Elle est constituée des classes suivantes :

  • HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
Certains classes basiques comme HW_API_String, HW_API_String_Array, etc., qui existent dans le SDK Hyperwave SDK n'ont pas été implémentées, car PHP a de puissants ersatz pour elles.

Chaque classe dispose de certaines méthodes, dont les noms sont identiques à leur alter ego du SDK Hyperwave SDK. Le passage des arguments à ces fonctions diffère de toutes les autres extensions PHP, mais est proche de l'API C++ du SDK Hyperwave. Au lieu de passer plusieurs paramètres, ils sont tous placés dans un tableau associatif, et transmis sous la forme d'un seul paramètre. Les paramètres les plus communs sont listés ci-dessous. Si d'autres paramètres sont nécessaires, ils seront documentés à chaque cas.

  • objectIdentifier Le nom ou l'identifiant de l'objet, e.g. "rootcollection", "0x873A8768 0x00000002".
  • parentIdentifier Le nom ou l'identifiant de l'objet qui est considéré comme parent.
  • object Une instance de la classe HW_API_Object.
  • parameters Une instance de la classe HW_API_Object.
  • version La version de l'objet.
  • mode Un entier qui détermine la méthode d'exécution de l'opération.
  • attributeSelector Un tableau de chaînes de caractères, chacun contenant le nom d'un attribut. C'est le cas si vous lisez des enregistrements d'objets, et que vous voulez inclure certains attributs.
  • objectQuery Une requête pour sélectionner certains objets dans une liste. Elle est utilisée pour réduire le nombre d'objets qui a été livré par une fonction comme hw_api->children() ou hw_api->find().

Note: Les méthodes retournant un booléen peuvent retourner TRUE, FALSE ou un objet HW_API_Error.

Sommaire

  • hw_api_attribute->key — Retourne la clé d'un attribut
  • hw_api_attribute->langdepvalue — Retourne la valeur d'un attribut dans une langue
  • hw_api_attribute->value — Retourne la valeur d'un attribut
  • hw_api_attribute->values — Retourne toutes les valeurs de l'attribut
  • hw_api_attribute — Crée une nouvelle instance de la classe hw_api_attribute
  • hw_api->checkin — Archive un objet
  • hw_api->checkout — Extrait un objet
  • hw_api->children — Retourne le fils d'un objet
  • hw_api_content->mimetype — Retourne le type MIME
  • hw_api_content->read — Lit le contenu
  • hw_api->content — Retourne le contenu d'un objet
  • hw_api->copy — Copie physique
  • hw_api->dbstat — Retourne des statistiques sur le serveur de bases
  • hw_api->dcstat — Retourne des statistiques sur le serveur de cache de document
  • hw_api->dstanchors — Liste toutes les ancres de destination
  • hw_api->dstofsrcanchor — Retourne la destination d'une ancre source
  • hw_api_error->count — Retourne le nombre d'erreurs
  • hw_api_error->reason — Retourne la première raison d'erreur
  • hw_api->find — Recherche des objets
  • hw_api->ftstat — Retourne des statistiques sur le serveur de textes
  • hwapi_hgcsp — Retourne un objet de classe hw_api
  • hw_api->hwstat — Retourne les statistiques sur le serveur Hyperwave
  • hw_api->identify — S'identifie auprès du serveur Hyperwave
  • hw_api->info — Retourne des informations sur la configuration du serveur
  • hw_api->insert — Insère un nouvel objet
  • hw_api->insertanchor — Insère un nouvel objet de type ancre
  • hw_api->insertcollection — Insère un nouvel objet de type collection
  • hw_api->insertdocument — Insère un nouvel objet de type document
  • hw_api->link — Crée un lien vers un objet
  • hw_api->lock — Verrouille un objet
  • hw_api->move — Déplace un objet d'une collection à l'autre
  • hw_api_content — Crée une nouvelle instance de la classe hw_api_content
  • hw_api_object->assign — Clone un objet
  • hw_api_object->attreditable — Vérifie si un attribut est éditable
  • hw_api_object->count — Retourne le nombre d'attributs
  • hw_api_object->insert — Insère un nouvel attribut HyperWave
  • hw_api_object — Crée une nouvelle instance de la classe hw_api_object
  • hw_api_object->remove — Supprime un attribut HyperWave
  • hw_api_object->title — Retourne le titre de l'attribut
  • hw_api_object->value — Retourne la valeur de l'attribut
  • hw_api->object — Lit les informations d'attribut
  • hw_api->objectbyanchor — Retourne l'objet propriétaire d'une ancre
  • hw_api->parents — Retourne le parent d'un objet
  • hw_api_reason->description — Retourne la description d'une raison
  • hw_api_reason->type — Retourne le type de raison
  • hw_api->remove — Efface un objet
  • hw_api->replace — Remplace un objet
  • hw_api->setcommittedversion — Valide une version autre que la dernière
  • hw_api->srcanchors — Retourne la liste de toutes les ancres
  • hw_api->srcsofdst — Retourne les sources d'un objet de destination
  • hw_api->unlock — Déverrouille un objet HyperWave verrouillé
  • hw_api->user — Retourne le propriétaire d'un objet
  • hw_api->userlist — Retourne la liste des utilisateurs connectés
Constantes pré-définies
hw_api_attribute->key
Hyperwave API


Retourne la clé d'un attribut

Hyperwave API Fonctions
hw_api_attribute->langdepvalue
Hyperwave API Fonctions
PHP Manual

hw_api_attribute->key

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->key — Retourne la clé d'un attribut

Description

hw_api_attribute
string key ( void )

Retourne la clé d'un attribut.

Valeurs de retour

Retourne la clé d'un attribut, sous la forme d'une chaîne de caractères.

Voir aussi

  • hw_api_attribute->value

Hyperwave API Fonctions
hw_api_attribute->langdepvalue
Hyperwave API Fonctions


Retourne la valeur d'un attribut dans une langue

hw_api_attribute->key
hw_api_attribute->value
Hyperwave API Fonctions
PHP Manual

hw_api_attribute->langdepvalue

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->langdepvalue — Retourne la valeur d'un attribut dans une langue

Description

hw_api_attribute
string langdepvalue ( string $language )

Retourne la valeur d'un attribut dans une langue donnée.

Liste de paramètres

language

Valeurs de retour

Retourne la valeur d'un attribut dans la langue donnée, sous la forme d'une chaîne de caractères.

Voir aussi

  • hw_api_attribute->value

hw_api_attribute->key
hw_api_attribute->value
Hyperwave API Fonctions


Retourne la valeur d'un attribut

hw_api_attribute->langdepvalue
hw_api_attribute->values
Hyperwave API Fonctions
PHP Manual

hw_api_attribute->value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->value — Retourne la valeur d'un attribut

Description

hw_api_attribute
string value ( void )

Retourne la valeur d'un attribut.

Valeurs de retour

Retourne la valeur, sous la forme d'une chaîne de caractères.

Voir aussi

  • hw_api_attribute->key
  • hw_api_attribute->values

hw_api_attribute->langdepvalue
hw_api_attribute->values
Hyperwave API Fonctions


Retourne toutes les valeurs de l'attribut

hw_api_attribute->value
hw_api_attribute
Hyperwave API Fonctions
PHP Manual

hw_api_attribute->values

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute->values — Retourne toutes les valeurs de l'attribut

Description

hw_api_attribute
array values ( void )

Retourne toutes les valeurs de l'attribut.

Valeurs de retour

Retourne un tableau de valeurs de l'attribut.

Voir aussi

  • hw_api_attribute->value

hw_api_attribute->value
hw_api_attribute
Hyperwave API Fonctions


Crée une nouvelle instance de la classe hw_api_attribute

hw_api_attribute->values
hw_api->checkin
Hyperwave API Fonctions
PHP Manual

hw_api_attribute

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_attribute — Crée une nouvelle instance de la classe hw_api_attribute

Description

HW_API_Attribute hw_api_attribute ([ string $name [, string $value ]] )

Crée une nouvelle instance de la classe hw_api_attribute avec le nom et la valeur fournis.

Liste de paramètres

name

Le nom de l'attribut.

value

La valeur de l'attribut.

Valeurs de retour

Retourne une instance de la classe hw_api_attribute.

hw_api_attribute->values
hw_api->checkin
Hyperwave API Fonctions


Archive un objet

hw_api_attribute
hw_api->checkout
Hyperwave API Fonctions
PHP Manual

hw_api->checkin

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->checkin — Archive un objet

Description

hw_api
bool checkin ( array $parameter )

Archive un objet ou une hiérarchie d'objets. Le paramètre obligatoire parameter contient un "objectIdentifier" et les éléments optionnels "version", "comment", "mode" et "objectQuery". "version" spécifie la version de l'objet. Elle est constituée de versions majeure et mineure, séparées par des virgules. Si une version n'existe pas, la version mineure est incrémentée. "mode" peut être l'une des constantes suivantes :

HW_API_CHECKIN_NORMAL
Archive et valide l'objet. L'objet doit être un document.
HW_API_CHECKIN_RECURSIVE
Si l'objet à archiver est une collection, tous les fils seront vérifiés récursivement, s'ils sont des documents. Tenter d'archiver une collection générera une erreur.
HW_API_CHECKIN_FORCE_VERSION_CONTROL
Archive un objet même s'il ne passe pas sous le contrôle de versions.
HW_API_CHECKIN_REVERT_IF_NOT_CHANGED
Vérifie s'il existe une version différente de la dernière version. À moins que cela ne soit le cas, l'objet sera alors archivé.
HW_API_CHECKIN_KEEP_TIME_MODIFIED
Conserve la date de modification de l'objet le plus récent.
HW_API_CHECKIN_NO_AUTO_COMMIT
L'objet n'est pas automatiquement validé lors de l'archivage.

Liste de paramètres

parameter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_api->checkout

hw_api_attribute
hw_api->checkout
Hyperwave API Fonctions


Extrait un objet

hw_api->checkin
hw_api->children
Hyperwave API Fonctions
PHP Manual

hw_api->checkout

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->checkout — Extrait un objet

Description

hw_api
bool checkout ( array $parameter )

Extrait un objet ou toute une hiérarchie d'objets.

Liste de paramètres

parameter

Le paramètre parameter contient l'élément obligatoire "objectIdentifier" et les éléments optionnels "version", "mode" et "objectQuery". "mode" peut prendre l'une des valeurs suivantes :

HW_API_CHECKIN_NORMAL
Extrait un objet. L'objet doit être un document.
HW_API_CHECKIN_RECURSIVE
Si l'objet à extraire est une collection, tous les fils seront extraits récursivement si ce sont des documents. Extraire une collection générera une erreur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_api->checkin

hw_api->checkin
hw_api->children
Hyperwave API Fonctions


Retourne le fils d'un objet

hw_api->checkout
hw_api_content->mimetype
Hyperwave API Fonctions
PHP Manual

hw_api->children

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->children — Retourne le fils d'un objet

Description

hw_api
array children ( array $parameter )

Retrouve le fils d'une collection ou l'attribut d'un document. Le fils peut être ensuite filtré en spécifiant une requête d'objet.

Liste de paramètres

parameter

Le paramètre parameter contient les éléments requis "objectIdentifier" et les éléments optionnels "attributeSelector" et "objectQuery".

Valeurs de retour

La valeur retournée est un tableau d'objets de type HW_API_Object ou HW_API_Error.

Voir aussi

  • hw_api->parents

hw_api->checkout
hw_api_content->mimetype
Hyperwave API Fonctions


Retourne le type MIME

hw_api->children
hw_api_content->read
Hyperwave API Fonctions
PHP Manual

hw_api_content->mimetype

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content->mimetype — Retourne le type MIME

Description

hw_api_content
string mimetype ( void )

Retourne le type MIME du contenu.

Valeurs de retour

Retourne le type MIME, sous la forme d'une chaîne de caractères.

hw_api->children
hw_api_content->read
Hyperwave API Fonctions


Lit le contenu

hw_api_content->mimetype
hw_api->content
Hyperwave API Fonctions
PHP Manual

hw_api_content->read

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content->read — Lit le contenu

Description

hw_api_content
string read ( string $buffer , int $len )

Lit len octets dans le buffer buffer.

Liste de paramètres

buffer

len

Nombre d'octets à lire.

Valeurs de retour

hw_api_content->mimetype
hw_api->content
Hyperwave API Fonctions


Retourne le contenu d'un objet

hw_api_content->read
hw_api->copy
Hyperwave API Fonctions
PHP Manual

hw_api->content

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->content — Retourne le contenu d'un objet

Description

hw_api
HW_API_Content content ( array $parameter )

Retourne le contenu d'un document sous la forme d'un objet de type hw_api_content.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectidentifier" et l'élément optionnel "returnvalues". Le mode peut être l'une des constantes suivantes : HW_API_CONTENT_ALLLINKS, HW_API_CONTENT_REACHABLELINKS ou HW_API_CONTENT_PLAIN.

HW_API_CONTENT_ALLLINKS signifie qu'il faut insérer toutes les ancres même si la destination n'est pas accessible.

HW_API_CONTENT_REACHABLELINKS indique à hw_api_content() qu'il faut insérer uniquement les destinations accessibles, et HW_API_CONTENT_PLAIN conduit à un document sans aucun lien.

Valeurs de retour

Retourne une instance de la classe hw_api_content.

hw_api_content->read
hw_api->copy
Hyperwave API Fonctions


Copie physique

hw_api->content
hw_api->dbstat
Hyperwave API Fonctions
PHP Manual

hw_api->copy

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->copy — Copie physique

Description

hw_api
hw_api_content copy ( array $parameter )

Fait une copie physique incluant le contenu éventuel, et retourne un nouvel objet ou un objet d'erreur.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires "objectIdentifier" et "destinationParentIdentifier" et l'élément optionnel "attributeSelector".

Valeurs de retour

Retourne la copie de l'objet.

Voir aussi

  • hw_api->move
  • hw_api->link

hw_api->content
hw_api->dbstat
Hyperwave API Fonctions


Retourne des statistiques sur le serveur de bases

hw_api->copy
hw_api->dcstat
Hyperwave API Fonctions
PHP Manual

hw_api->dbstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dbstat — Retourne des statistiques sur le serveur de bases

Description

hw_api
hw_api_object dbstat ( array $parameter )

Retourne des statistiques sur le serveur de bases.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->dcstat
  • hw_api->hwstat
  • hw_api->ftstat

hw_api->copy
hw_api->dcstat
Hyperwave API Fonctions


Retourne des statistiques sur le serveur de cache de document

hw_api->dbstat
hw_api->dstanchors
Hyperwave API Fonctions
PHP Manual

hw_api->dcstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dcstat — Retourne des statistiques sur le serveur de cache de document

Description

hw_api
hw_api_object dcstat ( array $parameter )

Retourne des statistiques sur le serveur de cache de document.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->dbstat
  • hw_api->hwstat
  • hw_api->ftstat

hw_api->dbstat
hw_api->dstanchors
Hyperwave API Fonctions


Liste toutes les ancres de destination

hw_api->dcstat
hw_api->dstofsrcanchor
Hyperwave API Fonctions
PHP Manual

hw_api->dstanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dstanchors — Liste toutes les ancres de destination

Description

hw_api
array dstanchors ( array $parameter )

Liste toutes les ancres de destination.

Liste de paramètres

parameter

Le paramètre parameter contient l'élément obligatoire "objectIdentifier" et les éléments optionnels "attributeSelector" et "objectQuery".

Valeurs de retour

Voir aussi

  • hw_api->srcanchors

hw_api->dcstat
hw_api->dstofsrcanchor
Hyperwave API Fonctions


Retourne la destination d'une ancre source

hw_api->dstanchors
hw_api_error->count
Hyperwave API Fonctions
PHP Manual

hw_api->dstofsrcanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->dstofsrcanchor — Retourne la destination d'une ancre source

Description

hw_api
hw_api_object dstofsrcanchor ( array $parameter )

Retourne l'objet de destination sur lequel pointe l'ancre source spécifiée. L'objet de destination peut être une ancre de destination ou un document entier.

Liste de paramètres

parameter

Le paramètre parameter contient l'élément obligatoire "objectIdentifier" et le paramètre optionnel "attributeSelector".

Valeurs de retour

Voir aussi

  • hw_api->srcanchors
  • hw_api->dstanchors
  • hw_api->objectbyanchor

hw_api->dstanchors
hw_api_error->count
Hyperwave API Fonctions


Retourne le nombre d'erreurs

hw_api->dstofsrcanchor
hw_api_error->reason
Hyperwave API Fonctions
PHP Manual

hw_api_error->count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error->count — Retourne le nombre d'erreurs

Description

hw_api_error
int count ( void )

Retourne le nombre d'erreurs.

Valeurs de retour

Retourne le nombre d'erreurs, sous la forme d'un entier.

Voir aussi

  • hw_api_error->reason

hw_api->dstofsrcanchor
hw_api_error->reason
Hyperwave API Fonctions


Retourne la première raison d'erreur

hw_api_error->count
hw_api->find
Hyperwave API Fonctions
PHP Manual

hw_api_error->reason

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_error->reason — Retourne la première raison d'erreur

Description

hw_api_error
HW_API_Reason reason ( void )

Retourne la première raison d'erreur.

Valeurs de retour

Voir aussi

  • hw_api_error->count

hw_api_error->count
hw_api->find
Hyperwave API Fonctions


Recherche des objets

hw_api_error->reason
hw_api->ftstat
Hyperwave API Fonctions
PHP Manual

hw_api->find

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->find — Recherche des objets

Description

hw_api
array find ( array $parameter )

Recherche des objets grâce à leur clé d'exécution et/ou grâce à une requête en texte plein. Les objets trouvés peuvent alors être filtrés à nouveau par une requête optionnelle. Les objets sont triés par importance. La seconde opération de recherche est relativement lente, et ses résultats peuvent être limités à certaines valeurs. Cela permet de réaliser des recherches incrémentales, chacune retournant un sous-ensemble de tous les documents trouvés, en partant d'un index donné.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires "objectquery", "scope", "languages" et "attributeselector". En cas de recherche incrémentale, les éléments optionnels "startIndex", "numberOfObjectsToGet" et "exactMatchUnit" peuvent aussi être passés.

Valeurs de retour

hw_api_error->reason
hw_api->ftstat
Hyperwave API Fonctions


Retourne des statistiques sur le serveur de textes

hw_api->find
hwapi_hgcsp
Hyperwave API Fonctions
PHP Manual

hw_api->ftstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->ftstat — Retourne des statistiques sur le serveur de textes

Description

hw_api
hw_api_object ftstat ( array $parameter )

Retourne des statistiques sur le serveur de textes.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->dcstat
  • hw_api->dbstat
  • hw_api->hwstat

hw_api->find
hwapi_hgcsp
Hyperwave API Fonctions


Retourne un objet de classe hw_api

hw_api->ftstat
hw_api->hwstat
Hyperwave API Fonctions
PHP Manual

hwapi_hgcsp

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hwapi_hgcsp — Retourne un objet de classe hw_api

Description

HW_API hwapi_hgcsp ( string $hostname [, int $port ] )

Ouvre une connexion au serveur Hyperwave sur l'hôte hostname. Le protocole utilisé est HGCSP.

Liste de paramètres

hostname

Le nom de l'hôte.

port

Si vous l'omettez, le port 418 sera utilisé.

Valeurs de retour

Retourne une instance de la classe HW_API.

hw_api->ftstat
hw_api->hwstat
Hyperwave API Fonctions


Retourne les statistiques sur le serveur Hyperwave

hwapi_hgcsp
hw_api->identify
Hyperwave API Fonctions
PHP Manual

hw_api->hwstat

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->hwstat — Retourne les statistiques sur le serveur Hyperwave

Description

hw_api
hw_api_object hwstat ( array $parameter )

Retourne les statistiques sur le serveur Hyperwave.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->dcstat
  • hw_api->dbstat
  • hw_api->ftstat

hwapi_hgcsp
hw_api->identify
Hyperwave API Fonctions


S'identifie auprès du serveur Hyperwave

hw_api->hwstat
hw_api->info
Hyperwave API Fonctions
PHP Manual

hw_api->identify

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->identify — S'identifie auprès du serveur Hyperwave

Description

hw_api
bool identify ( array $parameter )

S'identifie auprès du serveur Hyperwave.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires "username" et "password".

Valeurs de retour

Retourne un objet du type HW_API_Error si l'identification a échoué, ou bien TRUE si cela a fonctionné.

hw_api->hwstat
hw_api->info
Hyperwave API Fonctions


Retourne des informations sur la configuration du serveur

hw_api->identify
hw_api->insert
Hyperwave API Fonctions
PHP Manual

hw_api->info

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->info — Retourne des informations sur la configuration du serveur

Description

hw_api
array info ( array $parameter )

Retourne des informations sur la configuration du serveur.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->dcstat
  • hw_api->dbstat
  • hw_api->ftstat
  • hw_api->hwstat

hw_api->identify
hw_api->insert
Hyperwave API Fonctions


Insère un nouvel objet

hw_api->info
hw_api->insertanchor
Hyperwave API Fonctions
PHP Manual

hw_api->insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insert — Insère un nouvel objet

Description

hw_api
hw_api_object insert ( array $parameter )

Insère un nouvel objet. Le type d'objet peut être "user", "group", "document" ou "anchor". Suivant le type de l'autre objet, des attributs supplémentaires doivent être assignés.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires "object" et "content" (si l'objet est un document) et les éléments optionnels "parameters", "mode" et "attributeSelector". "object" doit contenir tous les attributs de l'objet. "parameters" est un objet qu contient les attributs supplémentaires, comme ceux de destination (attribut "Parent"). "content" est une combinaison des constantes suivantes :

HW_API_INSERT_NORMAL
L'objet est inséré sur le serveur.
HW_API_INSERT_FORCE_VERSION_CONTROL
HW_API_INSERT_AUTOMATIC_CHECKOUT
HW_API_INSERT_PLAIN
HW_API_INSERT_KEEP_TIME_MODIFIED
HW_API_INSERT_DELAY_INDEXING

Valeurs de retour

Voir aussi

  • hw_api->replace

hw_api->info
hw_api->insertanchor
Hyperwave API Fonctions


Insère un nouvel objet de type ancre

hw_api->insert
hw_api->insertcollection
Hyperwave API Fonctions
PHP Manual

hw_api->insertanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insertanchor — Insère un nouvel objet de type ancre

Description

hw_api
hw_api_object insertanchor ( array $parameter )

Cette fonction est un raccourci pour hwapi_insert(). Elle insère un objet de type ancre ("anchor") et assigne les attributs nécessaires.

Liste de paramètres

parameter

Le paramètre parameter contient les éléments obligatoires "object" et "documentIdentifier" et les éléments optionnels "destinationIdentifier", "parameter", "hint" et "attributeSelector". L'élément "documentIdentifier" spécifie le document d'insertion de l'ancre. La cible de l'ancre est spécifiée par "destinationIdentifier" s'il existe. Si la cible n'existe pas, l'élément "hint" doit être configuré avec le nom de l'objet qui est prévu pour être inséré ultérieurement. Une fois que l'insertion a été faite, la cible sera résolue automatiquement.

Valeurs de retour

Voir aussi

  • hw_api->insert
  • hw_api->insertdocument
  • hw_api->insertcollection

hw_api->insert
hw_api->insertcollection
Hyperwave API Fonctions


Insère un nouvel objet de type collection

hw_api->insertanchor
hw_api->insertdocument
Hyperwave API Fonctions
PHP Manual

hw_api->insertcollection

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insertcollection — Insère un nouvel objet de type collection

Description

hw_api
hw_api_object insertcollection ( array $parameter )

Cette fonction est un raccourci pour la fonction hwapi_insert(). Elle insère un objet de type collection et lui assigne certains attributs obligatoires.

Liste de paramètres

parameter

parameter est un tableau qui contient les éléments obligatoires "object" et "parentIdentifier", et les éléments optionnels "parameter" et "attributeSelector". Voyez hwapi_insert() pour connaître le détail de chaque élément.

Valeurs de retour

Voir aussi

  • hw_api->insert
  • hw_api->insertdocument
  • hw_api->insertanchor

hw_api->insertanchor
hw_api->insertdocument
Hyperwave API Fonctions


Insère un nouvel objet de type document

hw_api->insertcollection
hw_api->link
Hyperwave API Fonctions
PHP Manual

hw_api->insertdocument

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->insertdocument — Insère un nouvel objet de type document

Description

hw_api
hw_api_object insertdocument ( array $parameter )

Cette fonction est un raccourci pour hwapi_insert(). Il insère un objet avec un contenu et assigne certains attributs obligatoires.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires "object", "parentIdentifier" et "content" et les éléments optionnels "mode", "parameter" et "attributeSelector".

Voir la fonction hwapi_insert() pour la signification de chacun des éléments.

Valeurs de retour

Voir aussi

  • hw_api->insert
  • hw_api->insertcollection
  • hw_api->insertanchor

hw_api->insertcollection
hw_api->link
Hyperwave API Fonctions


Crée un lien vers un objet

hw_api->insertdocument
hw_api->lock
Hyperwave API Fonctions
PHP Manual

hw_api->link

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->link — Crée un lien vers un objet

Description

hw_api
bool link ( array $parameter )

Crée un lien vers un objet. Accéder à ce lien revient à accéder à l'objet vers lequel il pointe.

Liste de paramètres

parameter

Le paramètre parameter contient les éléments obligatoires de "objectIdentifier" et "destinationParentIdentifier". "destinationParentIdentifier" est la collection de destination.

Valeurs de retour

Retourne TRUE en cas de succès et, sinon, un objet d'erreur.

Voir aussi

  • hw_api->copy

hw_api->insertdocument
hw_api->lock
Hyperwave API Fonctions


Verrouille un objet

hw_api->link
hw_api->move
Hyperwave API Fonctions
PHP Manual

hw_api->lock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->lock — Verrouille un objet

Description

hw_api
bool lock ( array $parameter )

Verrouille un objet pour le faire éditer exclusivement par l'utilisateur qui appelle cette fonction. L'objet ne peut être déverrouillé que par cet utilisateur ou par le système.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectIdentifier" et les paramètres optionnels "mode" et "objectquery".

"mode" détermine comment l'objet est verrouillé. HW_API_LOCK_NORMAL signifie que l'objet est verrouillé jusqu'à son déverrouillage. HW_API_LOCK_RECURSIVE est uniquement valide pour une collection et verrouille tous les objets de la collection et des sous-collections. HW_API_LOCK_SESSION signifie que l'objet est verrouillé aussi longtemps que tient la session en cours.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_api->unlock

hw_api->link
hw_api->move
Hyperwave API Fonctions


Déplace un objet d'une collection à l'autre

hw_api->lock
hw_api_content
Hyperwave API Fonctions
PHP Manual

hw_api->move

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->move — Déplace un objet d'une collection à l'autre

Description

hw_api
bool move ( array $parameter )

Déplace un objet d'une collection à l'autre.

Liste de paramètres

parameter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_objrec2array() - Convertit les attributs d'un objet en tableau

hw_api->lock
hw_api_content
Hyperwave API Fonctions


Crée une nouvelle instance de la classe hw_api_content

hw_api->move
hw_api_object->assign
Hyperwave API Fonctions
PHP Manual

hw_api_content

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_content — Crée une nouvelle instance de la classe hw_api_content

Description

HW_API_Content hw_api_content ( string $content , string $mimetype )

Crée une nouvelle instance de l'objet depuis la chaîne content.

Liste de paramètres

content

mimetype

Le type MIME du contenu.

Valeurs de retour

hw_api->move
hw_api_object->assign
Hyperwave API Fonctions


Clone un objet

hw_api_content
hw_api_object->attreditable
Hyperwave API Fonctions
PHP Manual

hw_api_object->assign

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->assign — Clone un objet

Description

hw_api_object
bool assign ( array $parameter )

Clone les attributs d'un objet.

Liste de paramètres

parameter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

hw_api_content
hw_api_object->attreditable
Hyperwave API Fonctions


Vérifie si un attribut est éditable

hw_api_object->assign
hw_api_object->count
Hyperwave API Fonctions
PHP Manual

hw_api_object->attreditable

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->attreditable — Vérifie si un attribut est éditable

Description

hw_api_object
bool attreditable ( array $parameter )

Vérifie si un attribut est éditable.

Liste de paramètres

parameter

Valeurs de retour

Retourne TRUE si l'attribut est éditable, FALSE sinon.

hw_api_object->assign
hw_api_object->count
Hyperwave API Fonctions


Retourne le nombre d'attributs

hw_api_object->attreditable
hw_api_object->insert
Hyperwave API Fonctions
PHP Manual

hw_api_object->count

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->count — Retourne le nombre d'attributs

Description

hw_api_object
int count ( array $parameter )

Retourne le nombre d'attributs.

Liste de paramètres

parameter

Valeurs de retour

Retourne le nombre d'attributs, sous la forme d'un entier.

hw_api_object->attreditable
hw_api_object->insert
Hyperwave API Fonctions


Insère un nouvel attribut HyperWave

hw_api_object->count
hw_api_object
Hyperwave API Fonctions
PHP Manual

hw_api_object->insert

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->insert — Insère un nouvel attribut HyperWave

Description

hw_api_object
bool insert ( HW_API_Attribute $attribute )

Insère un nouvel attribut HyperWave.

Liste de paramètres

attribute

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_api_object->remove

hw_api_object->count
hw_api_object
Hyperwave API Fonctions


Crée une nouvelle instance de la classe hw_api_object

hw_api_object->insert
hw_api_object->remove
Hyperwave API Fonctions
PHP Manual

hw_api_object

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object — Crée une nouvelle instance de la classe hw_api_object

Description

hw_api_object hw_api_object ( array $parameter )

Crée une nouvelle instance de la classe hw_api_object.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->lock

hw_api_object->insert
hw_api_object->remove
Hyperwave API Fonctions


Supprime un attribut HyperWave

hw_api_object
hw_api_object->title
Hyperwave API Fonctions
PHP Manual

hw_api_object->remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->remove — Supprime un attribut HyperWave

Description

hw_api_object
bool remove ( string $name )

Supprime l'attribut HyperWave.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_api_object->insert

hw_api_object
hw_api_object->title
Hyperwave API Fonctions


Retourne le titre de l'attribut

hw_api_object->remove
hw_api_object->value
Hyperwave API Fonctions
PHP Manual

hw_api_object->title

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->title — Retourne le titre de l'attribut

Description

hw_api_object
string title ( array $parameter )

Retourne le titre de l'attribut.

Liste de paramètres

parameter

Valeurs de retour

Retourne le titre, sous la forme d'une chaîne de caractères.

hw_api_object->remove
hw_api_object->value
Hyperwave API Fonctions


Retourne la valeur de l'attribut

hw_api_object->title
hw_api->object
Hyperwave API Fonctions
PHP Manual

hw_api_object->value

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_object->value — Retourne la valeur de l'attribut

Description

hw_api_object
string value ( string $name )

Retourne la valeur de l'attribut.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Retourne la valeur de l'attribut name, ou FALSE si une erreur survient.

hw_api_object->title
hw_api->object
Hyperwave API Fonctions


Lit les informations d'attribut

hw_api_object->value
hw_api->objectbyanchor
Hyperwave API Fonctions
PHP Manual

hw_api->object

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->object — Lit les informations d'attribut

Description

hw_api
hw_api_object object ( array $parameter )

Lit les informations d'attribut d'un objet de n'importe quelle version. Elle ne retournera pas le contenu du document.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectIdentifier" et les éléments optionnels "attributeSelector" et "version".

Valeurs de retour

L'objet retourné est une instance de la classe HW_API_Object en cas de succès ou HW_API_Error en cas d'erreur.

Exemples

Cet exemple simple lit un objet et vérifie les erreurs.

Exemple #1 Lit un objet Hyperwave et le vérifie

<?php
function handle_error($error)
{
  $reason = $error->reason(0);
  echo "Type: <b>";
  switch ($reason->type()) {
    case 0:
      echo "Erreur";
      break;
    case 1:
      echo "Alerte";
      break;
    case 2:
      echo "Message";
      break;
  }
  echo "</b><br />\n";
  echo "Description : " . $reason->description("en") . "<br />\n";
}

function list_attr($obj)
{
  echo "<table>\n";
  $count = $obj->count();
  for ($i=0; $i<$count; $i++) {
    $attr = $obj->attribute($i);
    printf("<tr><td align=\"right\" bgcolor=\"#c0c0c0\"><b>%s</b></td><td bgcolor=\"#F0F0F0\">%s</td></tr>\n",
             $attr->key(), $attr->value());
  }
  echo "</table>\n";
}

$hwapi = hwapi_hgcsp($g_config[HOSTNAME]);
$parms = array("objectIdentifier"=>"rootcollection", "attributeSelector"=>array("Title", "Name", "DocumentType"));
$root = $hwapi->object($parms);
if (get_class($root) == "HW_API_Error") {
  handle_error($root);
  exit;
}
list_attr($root);
?>

Voir aussi

  • hw_api->content

hw_api_object->value
hw_api->objectbyanchor
Hyperwave API Fonctions


Retourne l'objet propriétaire d'une ancre

hw_api->object
hw_api->parents
Hyperwave API Fonctions
PHP Manual

hw_api->objectbyanchor

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->objectbyanchor — Retourne l'objet propriétaire d'une ancre

Description

hw_api
hw_api_object objectbyanchor ( array $parameter )

Cette fonction retourne l'objet propriétaire d'une ancre.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectIdentifier" et l'élément optionnel "attributeSelector".

Valeurs de retour

Voir aussi

  • hw_api->dstofsrcanchor
  • hw_api->srcanchors
  • hw_api->dstanchors

hw_api->object
hw_api->parents
Hyperwave API Fonctions


Retourne le parent d'un objet

hw_api->objectbyanchor
hw_api_reason->description
Hyperwave API Fonctions
PHP Manual

hw_api->parents

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->parents — Retourne le parent d'un objet

Description

hw_api
array parents ( array $parameter )

Lit le parent d'un objet. Le parent peut être filtré en spécifiant un objet de requête.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectidentifier" et les éléments optionnels "attributeselector" et "objectquery".

Valeurs de retour

La valeur retournée est un tableau d'objets de type HW_API_Object ou HW_API_Error.

Voir aussi

  • hw_api->children

hw_api->objectbyanchor
hw_api_reason->description
Hyperwave API Fonctions


Retourne la description d'une raison

hw_api->parents
hw_api_reason->type
Hyperwave API Fonctions
PHP Manual

hw_api_reason->description

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason->description — Retourne la description d'une raison

Description

hw_api_reason
string description ( void )

Retourne la description d'une raison.

Valeurs de retour

Retourne la description, sous la forme d'une chaîne de caractères.

hw_api->parents
hw_api_reason->type
Hyperwave API Fonctions


Retourne le type de raison

hw_api_reason->description
hw_api->remove
Hyperwave API Fonctions
PHP Manual

hw_api_reason->type

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api_reason->type — Retourne le type de raison

Description

hw_api_reason
HW_API_Reason type ( void )

Retourne le type de raison.

Valeurs de retour

Retourne une instance de la classe HW_API_Reason.

hw_api_reason->description
hw_api->remove
Hyperwave API Fonctions


Efface un objet

hw_api_reason->type
hw_api->replace
Hyperwave API Fonctions
PHP Manual

hw_api->remove

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->remove — Efface un objet

Description

hw_api
bool remove ( array $parameter )

Efface un objet avec un parent spécifique. Les collections seront effacées récursivement.

Liste de paramètres

parameter

Vous pouvez passez un objet optionnel de requête pour filtrer les objets qui seront effacés. Un objet sera effacé physiquement si c'est sa dernière instance.

Le paramètre parameter est un tableau qui contient les éléments obligatoires "objectidentifier" et "parentidentifier". Si vous souhaitez effacer un utilisateur ou un groupe, "parentidentifier" peut être omis.

L'élément optionnel "mode" détermine comment l'effacement est réalisé. En mode normal, l'objet sera effacé physiquement lorsque toutes ses instances seront supprimées. En mode physique, toutes les instances d'un objet seront supprimées immédiatement. En mode "removelinks" toutes les références vers et depuis l'objet seront aussi effacées. En mode "nonrecursif", l'effacement n'est pas récursif. Effacer une collection qui n'est pas vide causera une erreur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • hw_api->move

hw_api_reason->type
hw_api->replace
Hyperwave API Fonctions


Remplace un objet

hw_api->remove
hw_api->setcommittedversion
Hyperwave API Fonctions
PHP Manual

hw_api->replace

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->replace — Remplace un objet

Description

hw_api
hw_api_object replace ( array $parameter )

Remplace les attributs et le contenu d'un objet.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires "objectIdentifier" et "object", puis les paramètres optionnels "content", "parameters", "mode" et "attributeSelector". "objectIdentifier" contient l'objet qui doit être remplacé. "object" contient le nouvel objet. "content" contient le nouveau contenu. "parameters" contient des informations supplémentaires pour les documents HTML. HTML_Language est l'abréviation de la langue pour le titre. HTML_Base est l'attribut de base pour le contenu du document HTML.

"mode" peut être la combinaison de l'une des constantes suivantes :

HW_API_REPLACE_NORMAL
L'objet sur le serveur est remplacé par l'objet passé.
HW_API_REPLACE_FORCE_VERSION_CONTROL
HW_API_REPLACE_AUTOMATIC_CHECKOUT
HW_API_REPLACE_AUTOMATIC_CHECKIN
HW_API_REPLACE_PLAIN
HW_API_REPLACE_REVERT_IF_NOT_CHANGED
HW_API_REPLACE_KEEP_TIME_MODIFIED

Valeurs de retour

Voir aussi

  • hw_api->insert

hw_api->remove
hw_api->setcommittedversion
Hyperwave API Fonctions


Valide une version autre que la dernière

hw_api->replace
hw_api->srcanchors
Hyperwave API Fonctions
PHP Manual

hw_api->setcommittedversion

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->setcommittedversion — Valide une version autre que la dernière

Description

hw_api
hw_api_object setcommittedversion ( array $parameter )

Valide une version du document. La version validée est celle qui est visible par les utilisateurs ayant un accès en lecture. Par défaut, la dernière version est celle qui est validée.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->checkin
  • hw_api->checkout

hw_api->replace
hw_api->srcanchors
Hyperwave API Fonctions


Retourne la liste de toutes les ancres

hw_api->setcommittedversion
hw_api->srcsofdst
Hyperwave API Fonctions
PHP Manual

hw_api->srcanchors

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->srcanchors — Retourne la liste de toutes les ancres

Description

hw_api
array srcanchors ( array $parameter )

Retourne la liste de toutes les ancres d'un objet.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectIdentifier" et les éléments optionnels "attributeSelector" et "objectQuery".

Valeurs de retour

Voir aussi

  • hw_api->dstanchors

hw_api->setcommittedversion
hw_api->srcsofdst
Hyperwave API Fonctions


Retourne les sources d'un objet de destination

hw_api->srcanchors
hw_api->unlock
Hyperwave API Fonctions
PHP Manual

hw_api->srcsofdst

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->srcsofdst — Retourne les sources d'un objet de destination

Description

hw_api
array srcsofdst ( array $parameter )

Retourne les sources d'un objet de destination. L'objet de destination peut être une ancre ou un document complet.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient l'élément obligatoire "objectIdentifier" et les éléments optionnels "attributeSelector" et "objectQuery". La fonction retourne un tableau d'objet ou une erreur.

Valeurs de retour

Voir aussi

  • hw_api->dstofsrcanchor

hw_api->srcanchors
hw_api->unlock
Hyperwave API Fonctions


Déverrouille un objet HyperWave verrouillé

hw_api->srcsofdst
hw_api->user
Hyperwave API Fonctions
PHP Manual

hw_api->unlock

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->unlock — Déverrouille un objet HyperWave verrouillé

Description

hw_api
bool unlock ( array $parameter )

Déverrouille un objet verrouillé. Seuls l'utilisateur qui a verrouillé un objet et l'administrateur système peuvent le déverrouiller.

Liste de paramètres

parameter

Le paramètre parameter est un tableau qui contient les éléments obligatoires de objectIdentifier et les paramètres optionnels de mode et objectquery. La signification de mode est la même que dans la fonction hwapi_lock().

Valeurs de retour

Retourne TRUE en cas de succès, ou un objet de la classe HW_API_Error.

Voir aussi

  • hw_api->lock

hw_api->srcsofdst
hw_api->user
Hyperwave API Fonctions


Retourne le propriétaire d'un objet

hw_api->unlock
hw_api->userlist
Hyperwave API Fonctions
PHP Manual

hw_api->user

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->user — Retourne le propriétaire d'un objet

Description

hw_api
hw_api_object user ( array $parameter )

Retourne le propriétaire d'un objet.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->userlist

hw_api->unlock
hw_api->userlist
Hyperwave API Fonctions


Retourne la liste des utilisateurs connectés

hw_api->user
HTTP
Hyperwave API Fonctions
PHP Manual

hw_api->userlist

(PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN)

hw_api->userlist — Retourne la liste des utilisateurs connectés

Description

hw_api
array userlist ( array $parameter )

Retourne la liste de tous les utilisateurs connectés.

Liste de paramètres

parameter

Valeurs de retour

Voir aussi

  • hw_api->user

hw_api->user
HTTP
Hyperwave API Fonctions


HTTP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation de l'extension HTTP — Installation/Configuration
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Options de demande — Options utilisables avec la classe HttpRequest et les fonctions relatives
  • Classe HttpDeflateStream
    • HttpDeflateStream::__construct — Constructeur de la classe HttpDeflateStream
    • HttpDeflateStream::factory — Classe HttpDeflateStream
    • HttpDeflateStream::finish — Finalise un flux compressé
    • HttpDeflateStream::flush — Envoi un flux compressé
    • HttpDeflateStream::update — Met à jour le flux compressé
  • Classe HttpInflateStream
    • HttpInflateStream::__construct — Constructeur de la classe HttpInflateStream
    • HttpInflateStream::factory — Classe HttpInflateStream
    • HttpInflateStream::finish — Finalise un flux décompressé
    • HttpInflateStream::flush — Envoi un flux décompressé
    • HttpInflateStream::update — Met à jour un flux décompressé
  • Classe HttpMessage
    • HttpMessage::addHeaders — Ajoute des en-têtes
    • HttpMessage::__construct — Constructeur de la classe HttpMessage
    • HttpMessage::detach — Détache un HttpMessage
    • HttpMessage::factory — Crée HttpMessage pour une chaîne
    • HttpMessage::fromEnv — Crée HttpMessage pour l'environnement
    • HttpMessage::fromString — Crée un HttpMessage depuis une chaîne de caractères
    • HttpMessage::getBody — Récupère le corps du message
    • HttpMessage::getHeader — Récupère les en-têtes
    • HttpMessage::getHeaders — Récupère les en-têtes du message
    • HttpMessage::getHttpVersion — Récupère la version HTTP
    • HttpMessage::getParentMessage — Récupère le message parent
    • HttpMessage::getRequestMethod — Récupère la méthode de la demande
    • HttpMessage::getRequestUrl — Récupère l'URL de la demande
    • HttpMessage::getResponseCode — Récupère le code réponse
    • HttpMessage::getResponseStatus — Récupère le statut de la réponse
    • HttpMessage::getType — Récupère le type du message
    • HttpMessage::guessContentType — Demande le type de contenu
    • HttpMessage::prepend — Ajoute un message
    • HttpMessage::reverse — Renverse la chaîne du message
    • HttpMessage::send — Envoie le message
    • HttpMessage::setBody — Définit le corps du message
    • HttpMessage::setHeaders — Définit les en-têtes
    • HttpMessage::setHttpVersion — Définit la version HTTP
    • HttpMessage::setRequestMethod — Définit la méthode de la demande
    • HttpMessage::setRequestUrl — Définit l'URL de la demande
    • HttpMessage::setResponseCode — Définit le code réponse
    • HttpMessage::setResponseStatus — Définit le statut de la réponse
    • HttpMessage::setType — Définit le type de message
    • HttpMessage::toMessageTypeObject — Crée un objet HTTP en fonction du type de message
    • HttpMessage::toString — Récupère la représentation du message sous la forme d'une chaîne de caractères
  • Classe HttpQueryString
    • HttpQueryString::__construct — Constructeur de la classe HttpQueryString
    • HttpQueryString::get — Récupère (une partie) de la requête
    • HttpQueryString::mod — Modifie la copie de la requête
    • HttpQueryString::set — Définit les paramètres de la requête
    • HttpQueryString::singleton — Récupère un instance simple de HttpQueryString
    • HttpQueryString::toArray — Récupère la requête sous la forme d'un tableau
    • HttpQueryString::toString — Récupère la requête
    • HttpQueryString::xlate — Modifie le jeu de caractères de la requête
  • Classe HttpRequest
    • HttpRequest::addCookies — Ajoute des cookies
    • HttpRequest::addHeaders — Ajoute des en-têtes
    • HttpRequest::addPostFields — Ajoute des champs POST
    • HttpRequest::addPostFile — Ajoute un fichier en POST
    • HttpRequest::addPutData — Ajoute des données PUT
    • HttpRequest::addQueryData — Ajoute des paramètres à une requête
    • HttpRequest::addRawPostData — Ajoute une ligne de données POST
    • HttpRequest::addSslOptions — Ajoute des options SSL
    • HttpRequest::clearHistory — Efface l'historique
    • HttpRequest::__construct — Constructeur de HttpRequest
    • HttpRequest::enableCookies — Active les cookies
    • HttpRequest::getContentType — Récupère le type de contenu
    • HttpRequest::getCookies — Récupère les cookies
    • HttpRequest::getHeaders — Récupère les en-têtes
    • HttpRequest::getHistory — Récupère l'historique
    • HttpRequest::getMethod — Récupère une méthode
    • HttpRequest::getOptions — Récupère les options
    • HttpRequest::getPostFields — Récupère les champs POST
    • HttpRequest::getPostFiles — Récupère les fichiers POST
    • HttpRequest::getPutData — Récupère des données PUT
    • HttpRequest::getPutFile — Récupère un fichier PUT
    • HttpRequest::getQueryData — Récupère les données de la requête
    • HttpRequest::getRawPostData — Récupère les données POST
    • HttpRequest::getRawRequestMessage — Récupère le message de la requête
    • HttpRequest::getRawResponseMessage — Récupère le message de réponse
    • HttpRequest::getRequestMessage — Récupère le message de la requête
    • HttpRequest::getResponseBody — Récupère le corps de la réponse
    • HttpRequest::getResponseCode — Récupère le code de la réponse
    • HttpRequest::getResponseCookies — Récupère la réponse des cookies
    • HttpRequest::getResponseData — Récupère les données de la réponse
    • HttpRequest::getResponseHeader — Récupère les en-têtes de la réponse
    • HttpRequest::getResponseInfo — Récupère les informations de la réponse
    • HttpRequest::getResponseMessage — Récupère le message de la réponse
    • HttpRequest::getResponseStatus — Récupère le statut de la réponse
    • HttpRequest::getSslOptions — Récupère les options SSL
    • HttpRequest::getUrl — Récupère l'url
    • HttpRequest::resetCookies — Efface les cookies
    • HttpRequest::send — Envoi une requête
    • HttpRequest::setContentType — Définit le type de contenu
    • HttpRequest::setCookies — Définit un cookie
    • HttpRequest::setHeaders — Définit un en-tête
    • HttpRequest::setMethod — Définit la méthode
    • HttpRequest::setOptions — Définit des options
    • HttpRequest::setPostFields — Définit les champs POST
    • HttpRequest::setPostFiles — Définit les fichiers POST
    • HttpRequest::setPutData — Définit les données PUT
    • HttpRequest::setPutFile — Définit le fichier PUT
    • HttpRequest::setQueryData — Définit les données de la requête
    • HttpRequest::setRawPostData — Définit les données POST
    • HttpRequest::setSslOptions — Définit les options SSL
    • HttpRequest::setUrl — Définit l'URL
  • Classe HttpRequestPool
    • HttpRequestPool::attach — Attache un objet HttpRequest
    • HttpRequestPool::__construct — Constructeur de la classe HttpRequestPool
    • HttpRequestPool::__destruct — Destructeur de la classe HttpRequestPool
    • HttpRequestPool::detach — Détache un objet HttpRequest
    • HttpRequestPool::getAttachedRequests — Récupère les requêtes attachées
    • HttpRequestPool::getFinishedRequests — Récupère les requêtes terminées
    • HttpRequestPool::reset — Efface la file d'attente des requêtes
    • HttpRequestPool::send — Envoie toutes les requêtes
    • HttpRequestPool::socketPerform — Effectue une action sur le socket
    • HttpRequestPool::socketSelect — Sélectionne un socket
  • Classe HttpResponse
    • HttpResponse::capture — Capture la sortie du script
    • HttpResponse::getBufferSize — Récupère la taille du buffer
    • HttpResponse::getCache — Récupère le cache
    • HttpResponse::getCacheControl — Récupère l'en-tête Cache-Control
    • HttpResponse::getContentDisposition — Récupère l'en-tête Content-Disposition
    • HttpResponse::getContentType — Récupère l'en-tête Content-Type
    • HttpResponse::getData — Récupère les données
    • HttpResponse::getETag — Récupère l'ETag
    • HttpResponse::getFile — Récupère le fichier
    • HttpResponse::getGzip — Récupère la configuration gzip
    • HttpResponse::getHeader — Récupère un en-tête
    • HttpResponse::getLastModified — Récupère l'en-tête Last-Modified
    • HttpResponse::getRequestBody — Récupère le corps de la demande
    • HttpResponse::getRequestBodyStream — Récupère le flux du corps de la demande
    • HttpResponse::getRequestHeaders — Récupère les en-têtes de la demande
    • HttpResponse::getStream — Récupère le flux
    • HttpResponse::getThrottleDelay — Récupère le délai de la commande
    • HttpResponse::guessContentType — Devine le type de contenu
    • HttpResponse::redirect — Redirection
    • HttpResponse::send — Envoie la réponse
    • HttpResponse::setBufferSize — Définit la taille du buffer
    • HttpResponse::setCache — Définit le cache
    • HttpResponse::setCacheControl — Définit l'en-tête cache-control
    • HttpResponse::setContentDisposition — Définit l'en-tête Content-Disposition
    • HttpResponse::setContentType — Définit l'en-tête content-type
    • HttpResponse::setData — Définit les données
    • HttpResponse::setETag — Définit l'ETag
    • HttpResponse::setFile — Définit le fichier
    • HttpResponse::setGzip — Définit le mode gzip
    • HttpResponse::setHeader — Définit un en-tête HTTP
    • HttpResponse::setLastModified — Définit l'en-tête Last-Modified
    • HttpResponse::setStream — Définit le flux
    • HttpResponse::setThrottleDelay — Définit le délai de la commande
    • HttpResponse::status — Envoi le statut de la réponse HTTP
  • HTTP Fonctions
    • http_cache_etag — Mise en cache en fonction de l'ETag
    • http_cache_last_modified — Mise en cache en fonction de la date de dernière modification
    • http_chunked_decode — Décode un fragment de donnée encodé
    • http_deflate — Compresse des données
    • http_inflate — Décompresse des données
    • http_build_cookie — Construit le cookie
    • http_date — Compose une date respectant la RFC HTTP
    • http_get_request_body_stream — Récupère le corps demandé sous la forme d'un flux
    • http_get_request_body — Récupère le corps demandé sous la forme d'une chaîne de caractères
    • http_get_request_headers — Récupère les en-têtes sous la forme d'un tableau
    • http_match_etag — Cherche un ETag particulier
    • http_match_modified — Vérifie la date de dernière modification
    • http_match_request_header — Cherche n'importe quel en-tête
    • http_support — Vérifie le support HTTP interne
    • http_negotiate_charset — Jeu de caractères préféré pour la négociation avec les clients
    • http_negotiate_content_type — Négocie avec le client le type de contenu préféré
    • http_negotiate_language — Négocie le langage préféré par les clients
    • ob_deflatehandler — Gestionnaire de sortie de compression
    • ob_etaghandler — Gestionnaire de sortie ETag
    • ob_inflatehandler — Gestionnaire de sortie de décompression
    • http_parse_cookie — Analyse un cookie HTTP
    • http_parse_headers — Analyse les entêtes HTTP
    • http_parse_message — Analyse un message HTTP
    • http_parse_params — Analyse la liste des paramètres
    • http_persistent_handles_clean — Nettoie le gestionnaire persistant
    • http_persistent_handles_count — Récupère les statistiques sur le gestionnaire persistant
    • http_persistent_handles_ident — Récupère/définit l'identification du gestionnaire persistant
    • http_get — Effectue une requête GET
    • http_head — Effectue une requête HEAD
    • http_post_data — Effectue une requête POST avec des données préencodées
    • http_post_fields — Effectue une requête POST avec des données à encoder
    • http_put_data — Effectue une requête PUT avec des données
    • http_put_file — Effectue une requête PUT avec un fichier
    • http_put_stream — Effectue une requête PUT avec un flux
    • http_request_body_encode — Encode le corps de la requête
    • http_request_method_exists — Vérifie si la méthode de requête existe
    • http_request_method_name — Récupère le nom de la requête
    • http_request_method_register — Enregistre une méthode de requête
    • http_request_method_unregister — Retire une méthode de requête
    • http_request — Effectue une requête personnalisée
    • http_redirect — Effectue une redirection HTTP
    • http_send_content_disposition — Envoi l'en-tête Content-Disposition
    • http_send_content_type — Envoi le type de contenu
    • http_send_data — Envoi des données arbitraires
    • http_send_file — Envoi un fichier
    • http_send_last_modified — Envoi l'en-tête Last-Modified
    • http_send_status — Envoi le statut réponse HTTP
    • http_send_stream — Envoi un flux
    • http_throttle — Étranglement HTTP
    • http_build_str — Construit une URL à partir d'une chaîne de caractères
    • http_build_url — Construit une URL
hw_api->userlist
Introduction
Autres services


Introduction

Cette extension HTTP fournit un jeu de fonctionnalités puissant pour les applications PHP.

Elle gère facilement les URL HTTP, les dates, les redirections, les en-têtes et les messages, fournit une négociation du client au niveau du langage et du jeu de caractères, mais aussi une façon sûr d'envoyer des données fournissant une mise en cache et des possibilités de reprise.

Elle fournit également des fonctionnalités de demande très puissante, lorsqu'elle est construite avec le support CURL. Les demandes parallèles sont disponibles depuis PHP 5..

En plus des références de l'API, dans ce manuel, vous pourrez trouver des informations sur la façon d'installer et de configurer mais aussi quelles sont les constantes qui sont prédéfinies dans les sections suivantes :

HTTP
Installation/Configuration
HTTP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation de l'extension HTTP
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
HTTP


Pré-requis

La classe HttpResponse requiert au moins PHP v5.1. Toutes les autres classes sont disponibles depuis PHP v5.0.

Note: Attention tout de même, quelques méthodes ne sont pas disponibles avec PHP v5.0.

Installation sur Windows

Afin de pouvoir charger cette extension sous Windows, vous devez également charger les extensions PHP suivantes : hash, iconv et SPL.

Installation sur les autres systèmes

L'extension doit avoir été compilé avec le support » libcurl pour activer la fonctionnalité des requêtes (--with-http-curl-requests). Une version de bibliothèque supérieure ou égale à v7.12.3 est nécessaire.

Pour activer le support d'envoie et de réception de réponses compressées, l'extension doit avoir été compilé avec le support » zlib (--with-http-zlib-compression). Une version de bibliothèque supérieure ou égale à v1.2.2 est nécessaire.

La découverte du type de contenu peut être activée en compilant l'extension avec le support » libmagic (--with-http-magic-mime).

Installation/Configuration
Installation de l'extension HTTP
Installation/Configuration


Installation/Configuration
PHP Manual

Installation/Configuration

Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/pecl_http.

Note: Le nom officiel de cet extension est pecl_http.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration
PHP Manual


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration HTTP
Nom | Défaut | Modifiable | Description
http.etag.mode | "MD5" | PHP_INI_ALL | L'algorithme de hashage utilisé pour générer l'ETag. MD5, SHA1, et CRC32 sont également disponibles. Si l'extension hash est disponible, tous les algorithmes fournis par celle-ci sont également disponibles.
http.log.cache | "" | PHP_INI_ALL | Le chemin (ou l'URL de gestion du flux) vers un fichier de log dans lequel on écrit en cache les requêtes réussies.
http.log.redirect | "" | PHP_INI_ALL | Le chemin (ou l'URL de gestion de flux) vers un fichier de log dans lequel on écrit les redirections.
http.log.not_found | "" | PHP_INI_ALL | Le chemin (ou l'URL de gestion de flux) vers un fichier de log dans lequel on écrit les erreurs de type "file not found".
http.log.allowed_methods | "" | PHP_INI_ALL | Le chemin (ou l'URL de gestion de flux) vers un fichier de log dans lequel on écrit les violations "allowed methods".
http.log.composite | "" | PHP_INI_ALL | Le chemin (ou l'URL de gestion de flux) vers un fichier de log dans lequel on écrit tous les événements.
http.request.methods.allowed | "" | PHP_INI_ALL | Méthodes de demande permises. Si le client envoie une demande avec une méthode de demande autre qu'une listée ici, PHP sortira avec un statut "405 Method not allowed". Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".
http.request.methods.custom | "" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Méthodes de demande personnalisées. Si vous voulez utiliser n'importe quelle méthode de demande non-standard, vous pouvez l'enregistrer avec la configuration INI ou avec la fonction http_request_method_register().
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Si la globale HttpRequestDataShare doit, par défaut, partager les cookies d'information.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Si la globale HttpRequestDataShare doit, par défaut, partager les informations de recherche sur les noms.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Si la globale HttpRequestDataShare doit, par défaut, partager les informations de session SSL. Ceci n'est pas encore implémenté dans libcurl.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Si la globale HttpRequestDataShare doit, par défaut, partager les informations de connexion. Ceci n'est pas encore implémenté dans libcurl.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | Le nombre maximal de connexions persistantes à conserver actives.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | L'identification utilisée avec les connexions persistantes.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Si l'on doit automatiquement commencer le gestionnaire de compression de sortie.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Initialisation de la configuration pour le gestionnaire de compression de sortie.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Si l'on doit automatiquement commencer le gestionnaire de décompression de sortie.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Initialisation de la configuration pour le gestionnaire de décompression de sortie. Voir les constantes de décompression.
http.send.not_found_404 | "1" | PHP_INI_ALL | Si l'on doit sortir automatiquement avec un statut "404 Not found", si http_send_file() n'est pas capable de trouver le fichier spécifique. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".
http.only_exceptions | "0" | PHP_INI_ALL | Si toutes les alertes et erreurs doivent émettre des exceptions.
http.force_exit | "1" | PHP_INI_ALL | Chaque occasion où "exits with a status of..." est mentionné, cause habituellement l'arrêt du moteur de script. Désactiver cette option si vous voulez plutôt commencer un gestionnaire de sortie auxiliaire (vers dev/null) et continuer l'exécution du script.

Installation de l'extension HTTP
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit une ressource de flux, retournée par la fonction http_get_request_body_stream() et la fonction HttpResponse::getStream().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes utilisables avec la fonction http_support()
HTTP_SUPPORT ( integer )
requête vers cette constante retournera toujours TRUE
HTTP_SUPPORT_REQUESTS ( integer )
si le support des requêtes HTTP est fourni, i.e. le support libcurl est compilé
HTTP_SUPPORT_MAGICMIME ( integer )
si le support de l'interrogation du type de contenu des messages HTTP est fourni, i.e. le support libmagic est compilé
HTTP_SUPPORT_ENCODINGS ( integer )
si le support de l'encodage zlib est fourni, i.e. le support libz est compilé
HTTP_SUPPORT_SSLREQUESTS ( integer )
si l'on peut envoyer des demandes HTTP via SSL, i.e. libcurl est compilé avec le support SSL
Constantes utilisables avec la fonction http_parse_params()
HTTP_PARAMS_ALLOW_COMMA ( integer )
autorise les virgules, en plus des points-virgules, en tant que séparateur
HTTP_PARAMS_ALLOW_FAILURE ( integer )
continue l'analyse après qu'une erreur ne soit survenue
HTTP_PARAMS_RAISE_ERROR ( integer )
lance une alerte PHP lors d'erreurs d'analyse
HTTP_PARAMS_DEFAULT ( integer )
l'ensemble des trois valeurs ci-dessus
Constantes utilisables avec la fonction http_parse_cookie() et la valeur retournée
HTTP_COOKIE_PARSE_RAW ( integer )
ne pas url-encoder les valeurs
HTTP_COOKIE_SECURE ( integer )
si "secure" a été trouvé dans la liste des paramètres du cookie
HTTP_COOKIE_HTTPONLY ( integer )
si "httpOnly" a été trouvé dans la liste des paramètres du cookie
Constantes utilisables avec la fonction http_deflate() et la classe HttpDeflateStream
HTTP_DEFLATE_LEVEL_DEF ( integer )
HTTP_DEFLATE_LEVEL_MIN ( integer )
HTTP_DEFLATE_LEVEL_MAX ( integer )
HTTP_DEFLATE_TYPE_ZLIB ( integer )
HTTP_DEFLATE_TYPE_GZIP ( integer )
HTTP_DEFLATE_TYPE_RAW ( integer )
HTTP_DEFLATE_STRATEGY_DEF ( integer )
HTTP_DEFLATE_STRATEGY_FILT ( integer )
HTTP_DEFLATE_STRATEGY_HUFF ( integer )
HTTP_DEFLATE_STRATEGY_RLE ( integer )
HTTP_DEFLATE_STRATEGY_FIXED ( integer )
Constantes utilisables avec les classes HttpDeflateStream et HttpInflateStream
HTTP_ENCODING_STREAM_FLUSH_NONE ( integer )
ne pas envoyer
HTTP_ENCODING_STREAM_FLUSH_SYNC ( integer )
flush synchronisé uniquement
HTTP_ENCODING_STREAM_FLUSH_FULL ( integer )
toutes les données sont envoyées
Constantes utilisées pour le rapport d'erreurs et d'exceptions
HTTP_E_RUNTIME ( integer )
erreur d'exécution
HTTP_E_INVALID_PARAM ( integer )
un paramètre invalide a été passé
HTTP_E_HEADER ( integer )
header() ou opération similaire a échoué
HTTP_E_MALFORMED_HEADERS ( integer )
erreur d'analyse d'un en-tête HTTP
HTTP_E_REQUEST_METHOD ( integer )
méthode de demande inconnue/invalide
HTTP_E_MESSAGE_TYPE ( integer )
avec un type de message d'une opération incompatible
HTTP_E_ENCODING ( integer )
erreur d'encodage/décodage
HTTP_E_REQUEST ( integer )
échec de la demande
HTTP_E_REQUEST_POOL ( integer )
échec dans la file de demande
HTTP_E_SOCKET ( integer )
exception d'un socket
HTTP_E_RESPONSE ( integer )
échec d'une réponse
HTTP_E_URL ( integer )
URL invalide
HTTP_E_QUERYSTRING ( integer )
échec dans l'opération de requête
Constantes utilisables avec la classe HttpMessage
HTTP_MSG_NONE ( integer )
le message n'est pas d'un type spécifique
HTTP_MSG_REQUEST ( integer )
style du message de la demande
HTTP_MSG_RESPONSE ( integer )
style du message de la réponse
Constantes utilisables avec la classe HttpQueryString
HTTP_QUERYSTRING_TYPE_BOOL ( integer )
HTTP_QUERYSTRING_TYPE_INT ( integer )
HTTP_QUERYSTRING_TYPE_FLOAT ( integer )
HTTP_QUERYSTRING_TYPE_STRING ( integer )
HTTP_QUERYSTRING_TYPE_ARRAY ( integer )
HTTP_QUERYSTRING_TYPE_OBJECT ( integer )
Constantes utilisables pour httpauthtype option de demande
HTTP_AUTH_BASIC ( integer )
utilise l'identification "basic"
HTTP_AUTH_DIGEST ( integer )
utilise l'identification "digest"
HTTP_AUTH_NTLM ( integer )
utilise l'identification "NTLM"
HTTP_AUTH_GSSNEG ( integer )
utilise l'identification "GSS-NEGOTIATE"
HTTP_AUTH_ANY ( integer )
tente n'importe quel schéma d'identification
Constantes utilisables pour la version du protocole HTTP option de demande
HTTP_VERSION_ANY ( integer )
aucune version de protocole HTTP spécifique
HTTP_VERSION_1_0 ( integer )
HTTP version 1.0
HTTP_VERSION_1_1 ( integer )
HTTP version 1.1
Constantes utilisables pour le type du protocole SSL et la version option de demande
HTTP_SSL_VERSION_ANY ( integer )
aucune version du protocole SSL spécifique
HTTP_SSL_VERSION_TLSv1 ( integer )
utilise TLSv1 uniquement
HTTP_SSL_VERSION_SSLv3 ( integer )
utilise SSLv3 uniquement
HTTP_SSL_VERSION_SSLv2 ( integer )
utilise SSLv2 uniquement
Constantes utilisées par le proxytype option de demande
HTTP_PROXY_SOCKS4 ( integer )
le proxy est un proxy de type SOCKS4
HTTP_PROXY_SOCKS5 ( integer )
le proxy est un proxy de type SOCKS5
HTTP_PROXY_HTTP ( integer )
proxy HTTP standard
Constantes utilisées pour le ipresolve option de demande
HTTP_IPRESOLVE_V4 ( integer )
utilise IPv4 uniquement pour la recherche de noms
HTTP_IPRESOLVE_V6 ( integer )
utilise IPv6 uniquement pour la recherche de noms
HTTP_IPRESOLVE_ANY ( integer )
utilise n'importe quel mécanisme uniquement pour la recherche de noms
Constantes prédéfinies pour la méthode de demande HTTP
HTTP_METH_GET ( integer )
HTTP_METH_HEAD ( integer )
HTTP_METH_POST ( integer )
HTTP_METH_PUT ( integer )
HTTP_METH_DELETE ( integer )
HTTP_METH_OPTIONS ( integer )
HTTP_METH_TRACE ( integer )
HTTP_METH_CONNECT ( integer )
HTTP_METH_PROPFIND ( integer )
HTTP_METH_PROPPATCH ( integer )
HTTP_METH_MKCOL ( integer )
HTTP_METH_COPY ( integer )
HTTP_METH_MOVE ( integer )
HTTP_METH_LOCK ( integer )
HTTP_METH_UNLOCK ( integer )
HTTP_METH_VERSION_CONTROL ( integer )
HTTP_METH_REPORT ( integer )
HTTP_METH_CHECKOUT ( integer )
HTTP_METH_CHECKIN ( integer )
HTTP_METH_UNCHECKOUT ( integer )
HTTP_METH_MKWORKSPACE ( integer )
HTTP_METH_UPDATE ( integer )
HTTP_METH_LABEL ( integer )
HTTP_METH_MERGE ( integer )
HTTP_METH_BASELINE_CONTROL ( integer )
HTTP_METH_MKACTIVITY ( integer )
HTTP_METH_ACL ( integer )
Constantes utilisables avec la fonction http_redirect()
HTTP_REDIRECT ( integer )
demande la méthode de redirection applicable
HTTP_REDIRECT_PERM ( integer )
redirection permanente (301 Moved permanently)
HTTP_REDIRECT_FOUND ( integer )
redirection standard (302 Found)

Note: Les RFC 1945 et RFC 2068 spécifies que le client n'est pas autorisé à changer la méthode de la demande de redirection. Cependant, la plupart des implémentations des agents utilisateurs existants gèrent une réponse 302 comme s'il s'agissait d'une réponse 303, effectuant un GET sur la valeur du champ au regard de la méthode de la demande originale. Les codes statut 303 et 307 ont été ajoutés pour les serveurs qui veulent, sans ambiguïté, effectuer un effacement, ce qui est attendu par le client.

HTTP_REDIRECT_POST ( integer )
redirection applicable aux demandes POST (303 See other)
HTTP_REDIRECT_PROXY ( integer )
redirection de proxy (305 Use proxy)
HTTP_REDIRECT_TEMP ( integer )
redirection temporaire (307 Temporary Redirect)
Constantes utilisables avec la fonction http_build_url()
HTTP_URL_REPLACE ( integer )
remplace chaque partie de la première URL lorsqu'elles font parties de la seconde
HTTP_URL_JOIN_PATH ( integer )
joins les chemins relatifs
HTTP_URL_JOIN_QUERY ( integer )
joins les chaînes de requête
HTTP_URL_STRIP_USER ( integer )
enlève toutes les informations d'identification utilisateur
HTTP_URL_STRIP_PASS ( integer )
enlève toutes les informations d'identification concernant le mot de passe
HTTP_URL_STRIP_AUTH ( integer )
enlève toutes les informations d'identification
HTTP_URL_STRIP_PORT ( integer )
enlève les numéros de port explicites
HTTP_URL_STRIP_PATH ( integer )
enlève le chemin complet
HTTP_URL_STRIP_QUERY ( integer )
enlève la chaîne de requête
HTTP_URL_STRIP_FRAGMENT ( integer )
enlève n'importe quel fragment (#identifier)
HTTP_URL_STRIP_ALL ( integer )
enlève tout
Types de ressources
Options de demande
HTTP


Options utilisables avec la classe HttpRequest et les fonctions relatives

Options relatives aux délais d'expiration
timeout ( integer )
durée maximale en secondes pendant laquelle la demande en entière peut terminer son action
connecttimeout ( integer )
durée maximale en secondes pour se connecter. Incluant la résolution du nom
dns_cache_timeout ( integer )
durée maximale en secondes avant de faire expirer une entrée DNS du cache
Options relatives aux URL
url ( string )
l'URL de la demande
port ( integer )
utilise un autre port que celui spécifié dans l'URL
redirect ( integer )
si l'on doit effectuer une redirection et combien l'on doit suivre ; par défaut, 0
unrestrictedauth ( bool )
si l'on doit continuer d'envoyer des identifiants lors des redirections vers un hôte différent
referer ( string )
l'URL référante à envoyer
Options associées aux cookies
encodecookies ( bool )
si les cookies personnalisés doivent être url-encodés avant l'envoi
cookies ( array )
liste des cookies, sous la forme d'un tableau associatif , sous cette forme : array("cookie" => "value")
cookiestore ( string )
chemin vers un fichier où les cookies sont/seront stockés
cookiesession ( bool )
si vaut TRUE, ne charge pas les cookies de session depuis le magasin de cookies
Options relatives aux en-têtes
useragent ( string )
l'agent utilisateur à envoyer ; par défaut, PECL::HTTP/x.y.z (PHP/x.y.z); omis si explicitement défini par une chaîne vide
lastmodified ( int )
timestamp pour l'en-tête If-(Un)Modified-Since
etag ( string )
etag pour l'en-tête If-(None-)Match
headers ( array )
liste des en-têtes personnalisés, sous la forme d'un tableau : array("header" => "value")
Options relatives à l'identification
httpauth ( string )
Identification HTTP, au format "user:pass"
httpauthtype ( int )
constantes représentant les types d'identification HTTP
( array )
Options relatives aux proxy
proxyhost ( string )
hôte du proxy, dans le format "host[:port]"
proxyport ( int )
utilise un port différent pour le proxy que celui spécifié dans proxyhost
proxytype ( int )
constantes des types de proxy HTTP
proxyauth ( string )
identifiant du proxy, au format "user:pass"
proxyauthtype ( int )
constantes des types d'identification
Options liées au transfert
compress ( bool )
si l'on doit demander ou accepter une réponse dont le contenu est encodé gzip/deflate
resume ( int )
commence le téléchargement à la position spécifié si le serveur le supporte (indiqué par le code réponse 206)
range ( array )
tableau de tableaux, chaque contenant deux entiers, spécifiant l'intervalle de téléchargement si le serveur le supporte (indiqué par le code réponse 206) ; uniquement reconnu si l'option "resume" est vide
Options qui imposent des limites
maxfilesize ( integer )
taille maximale de fichier pouvant être téléchargé ; n'a aucun effet, si la taille de l'entité demandé est inconnu (e.g. pages dynamiques avec un encodage de transfert, etc.)
low_speed_limit ( int )
la vitesse minimale de transfert qu'une demande réussie peut avoir
low_speed_time ( int )
la durée durant laquelle low_speed_limit doit être transféré pour une demande réussie
max_send_speed ( int )
vitesse maximale d'envoi, en octets par seconde
max_recv_speed ( int )
vitesse maximale de réception, en octets par seconde
Options de Callback
onprogress ( callback )
progression du callback
Options réseaux
interface ( string )
interface réseau de sortie (ifname, ip ou hostname)
portrange ( array )
2 entiers spécifiant la rangée de port de sortie à essayer
SSL options
ssl ( array )

Note: Les options SSL sont définies via un tableau contenant un nom d'option de demande simple "ssl".

cert ( string )
chemin vers le certificat
certtype ( string )
type du certificat
certpasswd ( string )
mot de passe du certificat
key ( string )
chemin vers la clé
keytype ( string )
type de la clé
keypasswd ( string )
mot de passe pour la clé
engine ( string )
moteur ssl à utiliser
version ( int )
version ssl à utiliser
verifypeer ( bool )
si l'on doit vérifier le pair
verifyhost ( bool )
si l'on doit vérifier l'hôte
cipher_list ( string )
liste des algorithmes de chiffrements autorisés
cainfo ( string )
capath ( string )
random_file ( string )
egdsocket ( string )
Constantes pré-définies
Classe HttpDeflateStream
HTTP


Classe HttpDeflateStream

Synopsis de la classe

HttpDeflateStream
HttpDeflateStream {
public void __construct ([ int $flags = 0 ] )
public HttpDeflateStream factory ([ int $flags = 0 [, string $class_name = "HttpDeflateStream" ]] )
public string finish ([ string $data ] )
public string flush ([ string $data ] )
public string update ( string $data )
}

Membres de la classe

Constantes pré-définies

Type | Nom | Description
int | TYPE_GZIP | encodage gzip
int | TYPE_ZLIB | zlib AKA encodage compressé
int | TYPE_RAW | encodage compressé
int | LEVEL_DEF | degré de compression par défaut
int | LEVEL_MIN | degré de compression minimum
int | LEVEL_MAX | degré de compression maximum
int | STRATEGY_DEF | stratégie par défaut
int | STRATEGY_FILT | stratégie filtrée
int | STRATEGY_HUFF | stratégie Huffman
int | STRATEGY_RLE | stratégie RLE
int | STRATEGY_FIXED | stratégie fixe
int | FLUSH_NONE | pas de flush forcé
int | FLUSH_SYNC | synchronisation du flush
int | FLUSH_FULL | flush complet

Exemples

Exemple #1 Exemple avec HttpDeflateStream

<?php
$stream = new HttpDeflateStream(
    HttpDeflateStream::TYPE_GZIP |
    HttpDeflateStream::LEVEL_MAX |
    HttpDeflateStream::FLUSH_SYNC);

echo $stream->update($data);
echo $stream->finish();
?>

Sommaire

  • HttpDeflateStream::__construct — Constructeur de la classe HttpDeflateStream
  • HttpDeflateStream::factory — Classe HttpDeflateStream
  • HttpDeflateStream::finish — Finalise un flux compressé
  • HttpDeflateStream::flush — Envoi un flux compressé
  • HttpDeflateStream::update — Met à jour le flux compressé
Options de demande
HttpDeflateStream::__construct
HTTP


Constructeur de la classe HttpDeflateStream

Classe HttpDeflateStream
HttpDeflateStream::factory
Classe HttpDeflateStream
PHP Manual

HttpDeflateStream::__construct

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::__construct — Constructeur de la classe HttpDeflateStream

Description

public void HttpDeflateStream::__construct ([ int $flags = 0 ] )

Créé une nouvelle instance de l'objet HttpDeflateStream.

Voir la table des constantes des flux pour les flags possibles.

Liste de paramètres

flags

flags d'initialisation

Voir aussi

  • HttpDeflateStream::factory - Classe HttpDeflateStream

Classe HttpDeflateStream
HttpDeflateStream::factory
Classe HttpDeflateStream


Classe HttpDeflateStream

HttpDeflateStream::__construct
HttpDeflateStream::finish
Classe HttpDeflateStream
PHP Manual

HttpDeflateStream::factory

(PECL pecl_http >= 1.4.0)

HttpDeflateStream::factory — Classe HttpDeflateStream

Description

public HttpDeflateStream HttpDeflateStream::factory ([ int $flags = 0 [, string $class_name = "HttpDeflateStream" ]] )

Crée une nouvelle instance de l'objet HttpDeflateStream.

Voir la tableau des constantes du flux de compression pour les valeurs possibles de flags.

Liste de paramètres

flags

Drapeaux d'initialisation

class_name

nom de la sous classe de HttpDeflateStream

Voir aussi

  • HttpDeflateStream::__construct - Constructeur de la classe HttpDeflateStream

HttpDeflateStream::__construct
HttpDeflateStream::finish
Classe HttpDeflateStream


Finalise un flux compressé

HttpDeflateStream::factory
HttpDeflateStream::flush
Classe HttpDeflateStream
PHP Manual

HttpDeflateStream::finish

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::finish — Finalise un flux compressé

Description

public string HttpDeflateStream::finish ([ string $data ] )

Finalise le flux compressé. Le flux compressé peut être réutilisé après sa finalisation.

Liste de paramètres

data

données à compresser

Valeurs de retour

Retourne la partie finale des données compressées.

HttpDeflateStream::factory
HttpDeflateStream::flush
Classe HttpDeflateStream


Envoi un flux compressé

HttpDeflateStream::finish
HttpDeflateStream::update
Classe HttpDeflateStream
PHP Manual

HttpDeflateStream::flush

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::flush — Envoi un flux compressé

Description

public string HttpDeflateStream::flush ([ string $data ] )

Envoi le flux compressé.

Liste de paramètres

data

plus de données à compresser

Valeurs de retour

Retourne quelques données compressées sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

HttpDeflateStream::finish
HttpDeflateStream::update
Classe HttpDeflateStream


Met à jour le flux compressé

HttpDeflateStream::flush
Classe HttpInflateStream
Classe HttpDeflateStream
PHP Manual

HttpDeflateStream::update

(PECL pecl_http >= 0.21.0)

HttpDeflateStream::update — Met à jour le flux compressé

Description

public string HttpDeflateStream::update ( string $data )

Passe plus de données via le flux compressé.

Liste de paramètres

data

données à compresser

Valeurs de retour

Retourne les données compressées en cas de succès ou FALSE si une erreur survient.

HttpDeflateStream::flush
Classe HttpInflateStream
Classe HttpDeflateStream


Classe HttpInflateStream

Synopsis de la classe

HttpInflateStream
HttpInflateStream {
public void __construct ([ int $flags = 0 ] )
public HttpInflateStream factory ([ int $flags = 0 [, string $class_name = "HttpInflateStream" ]] )
public string finish ([ string $data ] )
public string flush ([ string $data ] )
public string update ( string $data )
}

Membres de la classe

Constantes

Type | Nom | Description
int | FLUSH_NONE | pas de flush forcé
int | FLUSH_SYNC | synchronisation du flush
int | FLUSH_FULL | flush complet

Note: Le flush n'a habituellement aucun effet sur les flux décompressés.

Exemples

Exemple #1 Exemple avec HttpInflateStream

<?php
$stream = new HttpInflateStream;
echo $stream->update($data);
echo $stream->finish();
?>

Sommaire

  • HttpInflateStream::__construct — Constructeur de la classe HttpInflateStream
  • HttpInflateStream::factory — Classe HttpInflateStream
  • HttpInflateStream::finish — Finalise un flux décompressé
  • HttpInflateStream::flush — Envoi un flux décompressé
  • HttpInflateStream::update — Met à jour un flux décompressé
HttpDeflateStream::update
HttpInflateStream::__construct
HTTP


Constructeur de la classe HttpInflateStream

Classe HttpInflateStream
HttpInflateStream::factory
Classe HttpInflateStream
PHP Manual

HttpInflateStream::__construct

(PECL pecl_http >= 1.0.0)

HttpInflateStream::__construct — Constructeur de la classe HttpInflateStream

Description

public void HttpInflateStream::__construct ([ int $flags = 0 ] )

Créé une nouvelle instance de l'objet HttpInflateStream.

Voir la table des constantes décompressées pour les flags possibles.

Liste de paramètres

flags

Flags d'initialisation

Voir aussi

  • HttpInflateStream::factory - Classe HttpInflateStream

Classe HttpInflateStream
HttpInflateStream::factory
Classe HttpInflateStream


Classe HttpInflateStream

HttpInflateStream::__construct
HttpInflateStream::finish
Classe HttpInflateStream
PHP Manual

HttpInflateStream::factory

(PECL pecl_http >= 1.4.0)

HttpInflateStream::factory — Classe HttpInflateStream

Description

public HttpInflateStream HttpInflateStream::factory ([ int $flags = 0 [, string $class_name = "HttpInflateStream" ]] )

Crée une nouvelle instance de l'objet HttpInflateStream.

Voir le tableau des constantes de décompression pour les valeurs possibles de flags.

Liste de paramètres

flags

Drapeaux d'initialisation

class_name

nom de la sous classe de HttpInflateStream

Voir aussi

  • HttpInflateStream::__construct - Constructeur de la classe HttpInflateStream

HttpInflateStream::__construct
HttpInflateStream::finish
Classe HttpInflateStream


Finalise un flux décompressé

HttpInflateStream::factory
HttpInflateStream::flush
Classe HttpInflateStream
PHP Manual

HttpInflateStream::finish

(PECL pecl_http >= 0.21.0)

HttpInflateStream::finish — Finalise un flux décompressé

Description

public string HttpInflateStream::finish ([ string $data ] )

Finalise le flux décompressé. Le flux décompressé peut être réutilisé après sa finalisation.

Liste de paramètres

data

données à décompresser

Valeurs de retour

Retourne la partie finale des données décompressées.

HttpInflateStream::factory
HttpInflateStream::flush
Classe HttpInflateStream


Envoi un flux décompressé

HttpInflateStream::finish
HttpInflateStream::update
Classe HttpInflateStream
PHP Manual

HttpInflateStream::flush

(PECL pecl_http >= 0.21.0)

HttpInflateStream::flush — Envoi un flux décompressé

Description

public string HttpInflateStream::flush ([ string $data ] )

Envoi le flux décompressé.

Note: L'envoi n'a habituellement aucun effet sur les flux décompressés.

Liste de paramètres

data

plus de données à décompresser

Valeurs de retour

Retourne quelques données décompressées sous la forme d'une chaîne décompressée ou FALSE si une erreur survient.

HttpInflateStream::finish
HttpInflateStream::update
Classe HttpInflateStream


Met à jour un flux décompressé

HttpInflateStream::flush
Classe HttpMessage
Classe HttpInflateStream
PHP Manual

HttpInflateStream::update

(PECL pecl_http >= 0.21.0)

HttpInflateStream::update — Met à jour un flux décompressé

Description

public string HttpInflateStream::update ( string $data )

Passe plus de données via le flux décompressé.

Liste de paramètres

data

données à décompresser

Valeurs de retour

Retourne les données décompressées ou FALSE si une erreur survient.

HttpInflateStream::flush
Classe HttpMessage
Classe HttpInflateStream


Classe HttpMessage

Synopsis de la classe

HttpMessage
HttpMessage implements Iterator , Countable , Serializable {
public void addHeaders ( array $headers [, bool $append = false ] )
public void __construct ([ string $message ] )
public HttpMessage detach ( void )
static public HttpMessage factory ([ string $raw_message [, string $class_name = "HttpMessage" ]] )
static public HttpMessage fromEnv ( int $message_type [, string $class_name = "HttpMessage" ] )
static public HttpMessage fromString ([ string $raw_message [, string $class_name = "HttpMessage" ]] )
public string getBody ( void )
public string getHeader ( string $header )
public array getHeaders ( void )
public string getHttpVersion ( void )
public HttpMessage getParentMessage ( void )
public string getRequestMethod ( void )
public string getRequestUrl ( void )
public int getResponseCode ( void )
public string getResponseStatus ( void )
public int getType ( void )
public string guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )
public void prepend ( HttpMessage $message [, bool $top = true ] )
public HttpMessage reverse ( void )
public bool send ( void )
public void setBody ( string $body )
public void setHeaders ( array $headers )
public bool setHttpVersion ( string $version )
public bool setRequestMethod ( string $method )
public bool setRequestUrl ( string $url )
public bool setResponseCode ( int $code )
public bool setResponseStatus ( string $status )
public void setType ( int $type )
public HttpRequest|HttpResponse toMessageTypeObject ( void )
public string toString ([ bool $include_parent = false ] )
}

Membres de la classe

Propriétés

Propriété de l'instance
Modificateurs | Type | Nom | Description
protected | entier | type | type du message
protected | chaîne de caractères | body | corps du message
protected | float | httpVersion | version du protocole HTTP
protected | tableau | headers | en-têtes du message
protected | chaîne de caractères | requestMethod | nom de la méthode de la requête
protected | requestUrl | string | URL de la requête
protected | int | responseCode | code réponse
protected | string | responseStatus | statut du message de la réponse
protected | HttpMessage | parentMessage | référence vers le message parent

Note: Aucune de ces propriétés par défaut ne peuvent être accédées par référence, ni par notation clé/index de tableau, ni être utilisées dans des opérations d'incrémentation ou décrémentation.

Constantes pré-définies

Type | Nom | Description
int | TYPE_NONE | message ne contient pas de type spécifique
int | TYPE_REQUEST | message est un message HTTP du style message
int | TYPE_RESPONSE | message est un message HTTP du style réponse

Sommaire

  • HttpMessage::addHeaders — Ajoute des en-têtes
  • HttpMessage::__construct — Constructeur de la classe HttpMessage
  • HttpMessage::detach — Détache un HttpMessage
  • HttpMessage::factory — Crée HttpMessage pour une chaîne
  • HttpMessage::fromEnv — Crée HttpMessage pour l'environnement
  • HttpMessage::fromString — Crée un HttpMessage depuis une chaîne de caractères
  • HttpMessage::getBody — Récupère le corps du message
  • HttpMessage::getHeader — Récupère les en-têtes
  • HttpMessage::getHeaders — Récupère les en-têtes du message
  • HttpMessage::getHttpVersion — Récupère la version HTTP
  • HttpMessage::getParentMessage — Récupère le message parent
  • HttpMessage::getRequestMethod — Récupère la méthode de la demande
  • HttpMessage::getRequestUrl — Récupère l'URL de la demande
  • HttpMessage::getResponseCode — Récupère le code réponse
  • HttpMessage::getResponseStatus — Récupère le statut de la réponse
  • HttpMessage::getType — Récupère le type du message
  • HttpMessage::guessContentType — Demande le type de contenu
  • HttpMessage::prepend — Ajoute un message
  • HttpMessage::reverse — Renverse la chaîne du message
  • HttpMessage::send — Envoie le message
  • HttpMessage::setBody — Définit le corps du message
  • HttpMessage::setHeaders — Définit les en-têtes
  • HttpMessage::setHttpVersion — Définit la version HTTP
  • HttpMessage::setRequestMethod — Définit la méthode de la demande
  • HttpMessage::setRequestUrl — Définit l'URL de la demande
  • HttpMessage::setResponseCode — Définit le code réponse
  • HttpMessage::setResponseStatus — Définit le statut de la réponse
  • HttpMessage::setType — Définit le type de message
  • HttpMessage::toMessageTypeObject — Crée un objet HTTP en fonction du type de message
  • HttpMessage::toString — Récupère la représentation du message sous la forme d'une chaîne de caractères
HttpInflateStream::update
HttpMessage::addHeaders
HTTP


Ajoute des en-têtes

Classe HttpMessage
HttpMessage::__construct
Classe HttpMessage
PHP Manual

HttpMessage::addHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::addHeaders — Ajoute des en-têtes

Description

public void HttpMessage::addHeaders ( array $headers [, bool $append = false ] )

Ajoute des en-têtes. Si le paramètre append vaut TRUE, les en-têtes avec les mêmes noms seront séparés, sinon, ils seront écrasés.

Liste de paramètres

headers

tableau associatif contenant les en-têtes HTTP additionnels à ajouter aux en-têtes existants du message

append

si ce paramètre vaut TRUE et qu'un en-tête avec le même nom existe déjà, cet en-tête sera converti en un tableau associatif contenant les différentes valeurs de l'en-tête, sinon, il sera écrasé avec la nouvelle valeur de l'en-tête

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Classe HttpMessage
HttpMessage::__construct
Classe HttpMessage


Constructeur de la classe HttpMessage

HttpMessage::addHeaders
HttpMessage::detach
Classe HttpMessage
PHP Manual

HttpMessage::__construct

(PECL pecl_http >= 0.10.0)

HttpMessage::__construct — Constructeur de la classe HttpMessage

Description

public void HttpMessage::__construct ([ string $message ] )

Instancie un nouvel objet HttpMessage.

L'objet construit représente le dernier message de la chaîne passée. S'il y a des messages précédents, ils peuvent être accéder via HttpMessage::getParentMessage().

Liste de paramètres

message

un ou plusieurs messages HTTP consécutifs

Erreurs / Exceptions

Lance une exception HttpMalformedHeaderException.

HttpMessage::addHeaders
HttpMessage::detach
Classe HttpMessage


Détache un HttpMessage

HttpMessage::__construct
HttpMessage::factory
Classe HttpMessage
PHP Manual

HttpMessage::detach

(PECL pecl_http >= 0.22.0)

HttpMessage::detach — Détache un HttpMessage

Description

public HttpMessage HttpMessage::detach ( void )

Retourne un clone de l'objet HttpMessage, détaché de ses messages parents.

Liste de paramètres

Valeurs de retour

Retourne un copie de l'objet détaché HttpMessage.

HttpMessage::__construct
HttpMessage::factory
Classe HttpMessage


Crée HttpMessage pour une chaîne

HttpMessage::detach
HttpMessage::fromEnv
Classe HttpMessage
PHP Manual

HttpMessage::factory

(PECL pecl_http >= 1.4.0)

HttpMessage::factory — Crée HttpMessage pour une chaîne

Description

static public HttpMessage HttpMessage::factory ([ string $raw_message [, string $class_name = "HttpMessage" ]] )

Crée un objet HttpMessage pour une chaîne.

Liste de paramètres

raw_message

un ou des messages consécutifs HTTP

class_name

une classe étendant HttpMessage

Valeurs de retour

Retourne un objet HttpMessage en cas de succès, ou NULL si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpMalformedHeadersException.

Voir aussi

  • HttpMessage::fromEnv() - Crée HttpMessage pour l'environnement.

HttpMessage::detach
HttpMessage::fromEnv
Classe HttpMessage


Crée HttpMessage pour l'environnement

HttpMessage::factory
HttpMessage::fromString
Classe HttpMessage
PHP Manual

HttpMessage::fromEnv

(PECL pecl_http >= 1.5.0)

HttpMessage::fromEnv — Crée HttpMessage pour l'environnement

Description

static public HttpMessage HttpMessage::fromEnv ( int $message_type [, string $class_name = "HttpMessage" ] )

Crée un objet HttpMessage pour l'environnement du script.

Liste de paramètres

message_type

Le type de message. Voir les constantes type de HttpMessage.

class_name

une classe étendant HttpMessage

Valeurs de retour

Retourne un objet HttpMessage en cas de succès, ou NULL si une erreur survient.

Voir aussi

  • HttpMessage::factory() - Crée HttpMessage pour une chaîne.

HttpMessage::factory
HttpMessage::fromString
Classe HttpMessage


Crée un HttpMessage depuis une chaîne de caractères

HttpMessage::fromEnv
HttpMessage::getBody
Classe HttpMessage
PHP Manual

HttpMessage::fromString

(PECL pecl_http 0.10.0-1.3.3)

HttpMessage::fromString — Crée un HttpMessage depuis une chaîne de caractères

Description

static public HttpMessage HttpMessage::fromString ([ string $raw_message [, string $class_name = "HttpMessage" ]] )

Crée un objet HttpMessage depuis une chaîne de caractères.

Cet alias est déprécié et n'existe que pour des raisons de comptabilité. Il est recommandé de ne pas utiliser cette fonction car elle peut être supprimée de PHP un jour.

Liste de paramètres

raw_message

un ou plusieurs messages HTTP consécutifs

class_name

une classe étendant la classe HttpMessage

Valeurs de retour

Retourne un objet HttpMessage en cas de succès, ou NULL si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpMalformedHeadersException.

Voir aussi

  • HttpMessage::factory() - Crée HttpMessage pour une chaîne.

HttpMessage::fromEnv
HttpMessage::getBody
Classe HttpMessage


Récupère le corps du message

HttpMessage::fromString
HttpMessage::getHeader
Classe HttpMessage
PHP Manual

HttpMessage::getBody

(PECL pecl_http >= 0.10.0)

HttpMessage::getBody — Récupère le corps du message

Description

public string HttpMessage::getBody ( void )

Récupère le corps du HttpMessage.

Valeurs de retour

Retourne le corps du message sous la forme d'une chaîne de caractères.

HttpMessage::fromString
HttpMessage::getHeader
Classe HttpMessage


Récupère les en-têtes

HttpMessage::getBody
HttpMessage::getHeaders
Classe HttpMessage
PHP Manual

HttpMessage::getHeader

(PECL pecl_http >= 1.1.0)

HttpMessage::getHeader — Récupère les en-têtes

Description

public string HttpMessage::getHeader ( string $header )

Récupère les en-têtes du message.

Liste de paramètres

header

nom de l'en-tête

Valeurs de retour

Retourne la valeur de l'en-tête en cas de succès, ou NULL si l'en-tête n'existe pas.

HttpMessage::getBody
HttpMessage::getHeaders
Classe HttpMessage


Récupère les en-têtes du message

HttpMessage::getHeader
HttpMessage::getHttpVersion
Classe HttpMessage
PHP Manual

HttpMessage::getHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::getHeaders — Récupère les en-têtes du message

Description

public array HttpMessage::getHeaders ( void )

Récupère les en-têtes du message.

Valeurs de retour

Retourne un tableau associatif contenant les en-têtes du message HTTP.

HttpMessage::getHeader
HttpMessage::getHttpVersion
Classe HttpMessage


Récupère la version HTTP

HttpMessage::getHeaders
HttpMessage::getParentMessage
Classe HttpMessage
PHP Manual

HttpMessage::getHttpVersion

(PECL pecl_http >= 0.10.0)

HttpMessage::getHttpVersion — Récupère la version HTTP

Description

public string HttpMessage::getHttpVersion ( void )

Récupère la version du protocole HTTP du message.

Valeurs de retour

Retourne la version du protocole HTTP sous la forme d'une chaîne de caractères.

HttpMessage::getHeaders
HttpMessage::getParentMessage
Classe HttpMessage


Récupère le message parent

HttpMessage::getHttpVersion
HttpMessage::getRequestMethod
Classe HttpMessage
PHP Manual

HttpMessage::getParentMessage

(PECL pecl_http >= 0.10.0)

HttpMessage::getParentMessage — Récupère le message parent

Description

public HttpMessage HttpMessage::getParentMessage ( void )

Récupère le message parent.

Valeurs de retour

Retourne l'objet parent HttpMessage.

Erreurs / Exceptions

Lance une exception HttpRuntimeException.

HttpMessage::getHttpVersion
HttpMessage::getRequestMethod
Classe HttpMessage


Récupère la méthode de la demande

HttpMessage::getParentMessage
HttpMessage::getRequestUrl
Classe HttpMessage
PHP Manual

HttpMessage::getRequestMethod

(PECL pecl_http >= 0.10.0)

HttpMessage::getRequestMethod — Récupère la méthode de la demande

Description

public string HttpMessage::getRequestMethod ( void )

Récupère la méthode de la demande du message.

Valeurs de retour

Retourne le nom de la méthode de la demande en cas de succès, ou FALSE si le message n'est pas du type HttpMessage::TYPE_REQUEST.

HttpMessage::getParentMessage
HttpMessage::getRequestUrl
Classe HttpMessage


Récupère l'URL de la demande

HttpMessage::getRequestMethod
HttpMessage::getResponseCode
Classe HttpMessage
PHP Manual

HttpMessage::getRequestUrl

(PECL pecl_http >= 0.21.0)

HttpMessage::getRequestUrl — Récupère l'URL de la demande

Description

public string HttpMessage::getRequestUrl ( void )

Récupère l'URL de la demande du message.

Liste de paramètres

Valeurs de retour

Retourne l'URL de la demande sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si le message n'est pas du type HttpMessage::TYPE_REQUEST.

HttpMessage::getRequestMethod
HttpMessage::getResponseCode
Classe HttpMessage


Récupère le code réponse

HttpMessage::getRequestUrl
HttpMessage::getResponseStatus
Classe HttpMessage
PHP Manual

HttpMessage::getResponseCode

(PECL pecl_http >= 0.10.0)

HttpMessage::getResponseCode — Récupère le code réponse

Description

public int HttpMessage::getResponseCode ( void )

Récupère le code réponse du message.

Valeurs de retour

Retourne le code réponse HTTP si le message est du type HttpMessage::TYPE_RESPONSE, FALSE sinon.

HttpMessage::getRequestUrl
HttpMessage::getResponseStatus
Classe HttpMessage


Récupère le statut de la réponse

HttpMessage::getResponseCode
HttpMessage::getType
Classe HttpMessage
PHP Manual

HttpMessage::getResponseStatus

(PECL pecl_http >= 0.23.0)

HttpMessage::getResponseStatus — Récupère le statut de la réponse

Description

public string HttpMessage::getResponseStatus ( void )

Récupère le statut de la réponse du message (i.e. la chaîne suivant le code réponse).

Valeurs de retour

Retourne le statut de la réponse HTTP si le message est du type HttpMessage::TYPE_RESPONSE, FALSE sinon.

HttpMessage::getResponseCode
HttpMessage::getType
Classe HttpMessage


Récupère le type du message

HttpMessage::getResponseStatus
HttpMessage::guessContentType
Classe HttpMessage
PHP Manual

HttpMessage::getType

(PECL pecl_http >= 0.10.0)

HttpMessage::getType — Récupère le type du message

Description

public int HttpMessage::getType ( void )

Récupère le type de message. Le type du message peut être HTTP_MSG_NONE, HTTP_MSG_REQUEST ou HTTP_MSG_RESPONSE.

Valeurs de retour

Retourne le HttpMessage::TYPE.

HttpMessage::getResponseStatus
HttpMessage::guessContentType
Classe HttpMessage


Demande le type de contenu

HttpMessage::getType
HttpMessage::prepend
Classe HttpMessage
PHP Manual

HttpMessage::guessContentType

(PECL pecl_http >= 1.0.0)

HttpMessage::guessContentType — Demande le type de contenu

Description

public string HttpMessage::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )

Demande le type de contenu du corps du message via libmagic.

Liste de paramètres

magic_file

la base de données magic.mime à utiliser

magic_mode

balises pour libmagic

Valeurs de retour

Retourne le type de contenu en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpRuntimeException ou HttpInvalidParamException.

HttpMessage::getType
HttpMessage::prepend
Classe HttpMessage


Ajoute un message

HttpMessage::guessContentType
HttpMessage::reverse
Classe HttpMessage
PHP Manual

HttpMessage::prepend

(PECL pecl_http >= 0.22.0)

HttpMessage::prepend — Ajoute un message

Description

public void HttpMessage::prepend ( HttpMessage $message [, bool $top = true ] )

Ajoute un message au message HTTP.

Liste de paramètres

message

Objet HttpMessage à ajouter

top

si l'on doit ajouter le message au plus haut ou à droite de ce message

Erreurs / Exceptions

Lance une exception HttpInvalidParamException si le message se trouve dans la même chaîne de message.

HttpMessage::guessContentType
HttpMessage::reverse
Classe HttpMessage


Renverse la chaîne du message

HttpMessage::prepend
HttpMessage::send
Classe HttpMessage
PHP Manual

HttpMessage::reverse

(PECL pecl_http >= 0.23.0)

HttpMessage::reverse — Renverse la chaîne du message

Description

public HttpMessage HttpMessage::reverse ( void )

Réordonne la chaîne du message dans un ordre inverse.

Valeurs de retour

Retourne l'objet HttpMessage.

HttpMessage::prepend
HttpMessage::send
Classe HttpMessage


Envoie le message

HttpMessage::reverse
HttpMessage::setBody
Classe HttpMessage
PHP Manual

HttpMessage::send

(PECL pecl_http >= 0.10.0)

HttpMessage::send — Envoie le message

Description

public bool HttpMessage::send ( void )

Envoie le message en fonction de son type (réponse ou demande).

Ceci fournit des fonctionnalités limitées par rapport à HttpRequest et HttpResponse.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpMessage::reverse
HttpMessage::setBody
Classe HttpMessage


Définit le corps du message

HttpMessage::send
HttpMessage::setHeaders
Classe HttpMessage
PHP Manual

HttpMessage::setBody

(PECL pecl_http >= 0.14.0)

HttpMessage::setBody — Définit le corps du message

Description

public void HttpMessage::setBody ( string $body )

Définit le corps du message HttpMessage.

Note: N'oubliez pas de mettre à jour tous les en-têtes en fonction.

Liste de paramètres

body

le nouveau corps du message

HttpMessage::send
HttpMessage::setHeaders
Classe HttpMessage


Définit les en-têtes

HttpMessage::setBody
HttpMessage::setHttpVersion
Classe HttpMessage
PHP Manual

HttpMessage::setHeaders

(PECL pecl_http >= 0.10.0)

HttpMessage::setHeaders — Définit les en-têtes

Description

public void HttpMessage::setHeaders ( array $headers )

Définit de nouveaux en-têtes.

Liste de paramètres

headers

tableau associatif contenant les nouveaux en-têtes HTTP, qui remplaceront tous les précédents en-têtes HTTP du message

HttpMessage::setBody
HttpMessage::setHttpVersion
Classe HttpMessage


Définit la version HTTP

HttpMessage::setHeaders
HttpMessage::setRequestMethod
Classe HttpMessage
PHP Manual

HttpMessage::setHttpVersion

(PECL pecl_http >= 0.10.0)

HttpMessage::setHttpVersion — Définit la version HTTP

Description

public bool HttpMessage::setHttpVersion ( string $version )

Définit la version du protocole HTTP du message.

Liste de paramètres

version

la version du protocole HTTP

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si la version fournie n'est pas dans l'intervalle (1.0/1.1).

HttpMessage::setHeaders
HttpMessage::setRequestMethod
Classe HttpMessage


Définit la méthode de la demande

HttpMessage::setHttpVersion
HttpMessage::setRequestUrl
Classe HttpMessage
PHP Manual

HttpMessage::setRequestMethod

(PECL pecl_http >= 0.10.0)

HttpMessage::setRequestMethod — Définit la méthode de la demande

Description

public bool HttpMessage::setRequestMethod ( string $method )

Définit la méthode de la demande du message HTTP.

Liste de paramètres

method

le nom de la méthode de la demande

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si le message n'est pas du type HttpMessage::TYPE_REQUEST ou si une méthode de demande invalide est fournie.

HttpMessage::setHttpVersion
HttpMessage::setRequestUrl
Classe HttpMessage


Définit l'URL de la demande

HttpMessage::setRequestMethod
HttpMessage::setResponseCode
Classe HttpMessage
PHP Manual

HttpMessage::setRequestUrl

(PECL pecl_http >= 0.21.0)

HttpMessage::setRequestUrl — Définit l'URL de la demande

Description

public bool HttpMessage::setRequestUrl ( string $url )

Définit l'URL de la demande du message HTTP.

Liste de paramètres

url

l'URL de la demande

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si le message n'est pas du type HttpMessage::TYPE_REQUEST ou si l'URL fournie était vide.

HttpMessage::setRequestMethod
HttpMessage::setResponseCode
Classe HttpMessage


Définit le code réponse

HttpMessage::setRequestUrl
HttpMessage::setResponseStatus
Classe HttpMessage
PHP Manual

HttpMessage::setResponseCode

(PECL pecl_http >= 0.10.0)

HttpMessage::setResponseCode — Définit le code réponse

Description

public bool HttpMessage::setResponseCode ( int $code )

Définit le code réponse du message de la réponse HTTP.

Liste de paramètres

code

Code de la réponse HTTP

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si le message n'est pas du type HttpMessage::TYPE_RESPONSE ou si le code réponse n'est pas dans l'intervalle (100-510).

HttpMessage::setRequestUrl
HttpMessage::setResponseStatus
Classe HttpMessage


Définit le statut de la réponse

HttpMessage::setResponseCode
HttpMessage::setType
Classe HttpMessage
PHP Manual

HttpMessage::setResponseStatus

(PECL pecl_http >= 0.23.0)

HttpMessage::setResponseStatus — Définit le statut de la réponse

Description

public bool HttpMessage::setResponseStatus ( string $status )

Définit le statut de la réponse du message HTTP (i.e. la chaîne suivant le code réponse).

Liste de paramètres

status

le texte du statut de la réponse

Valeurs de retour

Retourne TRUE en cas de succès ou FALSE si le message n'est pas du type HttpMessage::TYPE_RESPONSE.

HttpMessage::setResponseCode
HttpMessage::setType
Classe HttpMessage


Définit le type de message

HttpMessage::setResponseStatus
HttpMessage::toMessageTypeObject
Classe HttpMessage
PHP Manual

HttpMessage::setType

(PECL pecl_http >= 0.10.0)

HttpMessage::setType — Définit le type de message

Description

public void HttpMessage::setType ( int $type )

Définit le type de message. Le type de message peut être HTTP_MSG_NONE, HTTP_MSG_REQUEST ou HTTP_MSG_RESPONSE.

Liste de paramètres

type

Le HttpMessage::TYPE

HttpMessage::setResponseStatus
HttpMessage::toMessageTypeObject
Classe HttpMessage


Crée un objet HTTP en fonction du type de message

HttpMessage::setType
HttpMessage::toString
Classe HttpMessage
PHP Manual

HttpMessage::toMessageTypeObject

(PECL pecl_http >= 0.22.0)

HttpMessage::toMessageTypeObject — Crée un objet HTTP en fonction du type de message

Description

public HttpRequest|HttpResponse HttpMessage::toMessageTypeObject ( void )

Crée un objet en fonction du type de message.

Liste de paramètres

Valeurs de retour

Retourne soit un objet HttpRequest, soit un objet HttpResponse en cas de succès, ou NULL si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpRuntimeException, HttpMessageTypeException ou HttpHeaderException.

HttpMessage::setType
HttpMessage::toString
Classe HttpMessage


Récupère la représentation du message sous la forme d'une chaîne de caractères

HttpMessage::toMessageTypeObject
Classe HttpQueryString
Classe HttpMessage
PHP Manual

HttpMessage::toString

(PECL pecl_http >= 0.10.0)

HttpMessage::toString — Récupère la représentation du message sous la forme d'une chaîne de caractères

Description

public string HttpMessage::toString ([ bool $include_parent = false ] )

Récupère la représentation du message sous la forme d'une chaîne de caractères.

Liste de paramètres

include_parent

spécifie si la chaîne retournée doit contenir tous les messages parents

Valeurs de retour

Retourne le message sous la forme d'une chaîne de caractères.

HttpMessage::toMessageTypeObject
Classe HttpQueryString
Classe HttpMessage


Classe HttpQueryString

Synopsis de la classe

HttpQueryString
HttpQueryString implements ArrayAccess , Serializable {
final public void __construct ([ bool $global = true [, mixed $add ]] )
public mixed get ([ string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = false ]]]] )
public HttpQueryString mod ( mixed $params )
public string set ( mixed $params )
static public HttpQueryString singleton ([ bool $global = true ] )
public array toArray ( void )
public string toString ( void )
public bool xlate ( string $ie , string $oe )
}

Membres de la classe

Propriétés

Propriétés de l'instance
Modificateurs | Type | Nom | Description
private | array | queryArray | paramètres de la requête
private | string | queryString | paramètres linéarisés de la requête
Propriétés statiques
Modificateurs | Type | Nom | Description
private | array | instance | gestion des singletons

Constantes pré-définies

Type | Nom | Description
int | TYPE_BOOL | récupération des paramètres de la requête sous la forme d'un booléen
int | TYPE_INT | récupération des paramètres de la requête sous la forme d'un entier
int | TYPE_FLOAT | récupération des paramètres de la requête sous la forme d'un nombre à virgules flottantes
int | TYPE_STRING | récupération des paramètres de la requête sous la forme d'une chaîne de caractères
int | TYPE_ARRAY | récupération des paramètres de la requête sous la forme d'un tableau
int | TYPE_OBJECT | récupération des paramètres de la requête sous la forme d'un objet

Sommaire

  • HttpQueryString::__construct — Constructeur de la classe HttpQueryString
  • HttpQueryString::get — Récupère (une partie) de la requête
  • HttpQueryString::mod — Modifie la copie de la requête
  • HttpQueryString::set — Définit les paramètres de la requête
  • HttpQueryString::singleton — Récupère un instance simple de HttpQueryString
  • HttpQueryString::toArray — Récupère la requête sous la forme d'un tableau
  • HttpQueryString::toString — Récupère la requête
  • HttpQueryString::xlate — Modifie le jeu de caractères de la requête
HttpMessage::toString
HttpQueryString::__construct
HTTP


Constructeur de la classe HttpQueryString

Classe HttpQueryString
HttpQueryString::get
Classe HttpQueryString
PHP Manual

HttpQueryString::__construct

(PECL pecl_http >= 0.22.0)

HttpQueryString::__construct — Constructeur de la classe HttpQueryString

Description

final public void HttpQueryString::__construct ([ bool $global = true [, mixed $add ]] )

Crée une nouvelle instance de l'objet HttpQueryString.

Opère sur et modifie $_GET et $_SERVER['QUERY_STRING'] si le paramètre global = TRUE vaut TRUE.

Liste de paramètres

global

si l'on doit opérer directement sur $_GET et $_SERVER['QUERY_STRING']

add

paramètres additionnels/initiaux de la requête

Erreurs / Exceptions

Lance une exception HttpRuntimeException.

Classe HttpQueryString
HttpQueryString::get
Classe HttpQueryString


Récupère (une partie) de la requête

HttpQueryString::__construct
HttpQueryString::mod
Classe HttpQueryString
PHP Manual

HttpQueryString::get

(PECL pecl_http >= 0.22.0)

HttpQueryString::get — Récupère (une partie) de la requête

Description

public mixed HttpQueryString::get ([ string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = false ]]]] )

Récupère (une partie) de la requête.

Le type de paramètre est soir une constante HttpQueryString::TYPE_*, soit une abréviation comme "b" pour booléen, "i" pour entier, "f" pour nombre décimal, "s" pour chaîne, "a" pour tableau et "o" pour un objet stdClass.

Liste de paramètres

key

clé du paramètre de la requête à récupérer

type

type de la variable

defval

valeur par défaut si la clé n'existe pas

delete

si l'on doit effacer la paire clé/valeur de la requête

Valeurs de retour

Retourne la valeur du paramètre de la requête ou la requête complète si aucune clé n'est spécifié en cas de succès, ou la valeur par défaut si la clé n'existe pas.

HttpQueryString::__construct
HttpQueryString::mod
Classe HttpQueryString


Modifie la copie de la requête

HttpQueryString::get
HttpQueryString::set
Classe HttpQueryString
PHP Manual

HttpQueryString::mod

(PECL pecl_http >= 1.1.0)

HttpQueryString::mod — Modifie la copie de la requête

Description

public HttpQueryString HttpQueryString::mod ( mixed $params )

Copie l'objet représentant la requête et définit les paramètres sur son clone.

Liste de paramètres

params

paramètres de la requête à ajouter

Valeurs de retour

Retourne un nouvel objet HttpQueryString.

HttpQueryString::get
HttpQueryString::set
Classe HttpQueryString


Définit les paramètres de la requête

HttpQueryString::mod
HttpQueryString::singleton
Classe HttpQueryString
PHP Manual

HttpQueryString::set

(PECL pecl_http >= 0.22.0)

HttpQueryString::set — Définit les paramètres de la requête

Description

public string HttpQueryString::set ( mixed $params )

Définit les paramètres de la requête. Les valeurs NULL effaceront les variables.

Liste de paramètres

params

paramètres à ajouter

Valeurs de retour

Retourne la requête courante.

HttpQueryString::mod
HttpQueryString::singleton
Classe HttpQueryString


Récupère un instance simple de HttpQueryString

HttpQueryString::set
HttpQueryString::toArray
Classe HttpQueryString
PHP Manual

HttpQueryString::singleton

(PECL pecl_http >= 0.25.0)

HttpQueryString::singleton — Récupère un instance simple de HttpQueryString

Description

static public HttpQueryString HttpQueryString::singleton ([ bool $global = true ] )

Récupère une instance simple (différente de la configuration globale).

Liste de paramètres

global

si l'on doit utiliser $_GET et $_SERVER['QUERY_STRING']

Valeurs de retour

Retourne toujours la même instance de HttpQueryString vis-à-vis de la configuration globale.

Erreurs / Exceptions

Lance une exception HttpRuntimeException.

HttpQueryString::set
HttpQueryString::toArray
Classe HttpQueryString


Récupère la requête sous la forme d'un tableau

HttpQueryString::singleton
HttpQueryString::toString
Classe HttpQueryString
PHP Manual

HttpQueryString::toArray

(PECL pecl_http >= 0.22.0)

HttpQueryString::toArray — Récupère la requête sous la forme d'un tableau

Description

public array HttpQueryString::toArray ( void )

Récupère la requête sous la forme d'un tableau associatif.

Valeurs de retour

Retourne un tableau représentant la requête.

HttpQueryString::singleton
HttpQueryString::toString
Classe HttpQueryString


Récupère la requête

HttpQueryString::toArray
HttpQueryString::xlate
Classe HttpQueryString
PHP Manual

HttpQueryString::toString

(PECL pecl_http >= 0.22.0)

HttpQueryString::toString — Récupère la requête

Description

public string HttpQueryString::toString ( void )

Récupère la requête.

Liste de paramètres

Valeurs de retour

Retourne la requête sous la forme d'une chaîne de caractères.

HttpQueryString::toArray
HttpQueryString::xlate
Classe HttpQueryString


Modifie le jeu de caractères de la requête

HttpQueryString::toString
Classe HttpRequest
Classe HttpQueryString
PHP Manual

HttpQueryString::xlate

(PECL pecl_http >= 0.25.0)

HttpQueryString::xlate — Modifie le jeu de caractères de la requête

Description

public bool HttpQueryString::xlate ( string $ie , string $oe )

Convertit la requête depuis le jeu de caractères source ie en le jeu de caractères de destination oe.

Avertissement

N'utilisez pas de jeux de caractères qui contiennent des octets vides, comme l'UTF-16.

Note: Cette méthode nécessite d'activer et de charger l'extension iconv.

Liste de paramètres

ie

jeu de caractères source

oe

jeu de caractères désiré

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpQueryString::toString
Classe HttpRequest
Classe HttpQueryString


Classe HttpRequest

Synopsis de la classe

HttpRequest
HttpRequest {
public bool addCookies ( array $cookies )
public bool addHeaders ( array $headers )
public bool addPostFields ( array $post_data )
public bool addPostFile ( string $name , string $file [, string $content_type = "application/x-octetstream" ] )
public bool addPutData ( string $put_data )
public bool addQueryData ( array $query_params )
public bool addRawPostData ( string $raw_post_data )
public bool addSslOptions ( array $options )
public void clearHistory ( void )
public void __construct ([ string $url [, int $request_method = HTTP_METH_GET [, array $options ]]] )
public bool enableCookies ( void )
public string getContentType ( void )
public array getCookies ( void )
public array getHeaders ( void )
public HttpMessage getHistory ( void )
public int getMethod ( void )
public array getOptions ( void )
public array getPostFields ( void )
public array getPostFiles ( void )
public string getPutData ( void )
public string getPutFile ( void )
public string getQueryData ( void )
public string getRawPostData ( void )
public string getRawRequestMessage ( void )
public string getRawResponseMessage ( void )
public HttpMessage getRequestMessage ( void )
public string getResponseBody ( void )
public int getResponseCode ( void )
public array getResponseCookies ([ int $flags [, array $allowed_extras ]] )
public array getResponseData ( void )
public mixed getResponseHeader ([ string $name ] )
public mixed getResponseInfo ([ string $name ] )
public HttpMessage getResponseMessage ( void )
public string getResponseStatus ( void )
public array getSslOptions ( void )
public string getUrl ( void )
public bool resetCookies ([ bool $session_only = false ] )
public HttpMessage send ( void )
public bool setContentType ( string $content_type )
public bool setCookies ([ array $cookies ] )
public bool setHeaders ([ array $headers ] )
public bool setMethod ( int $request_method )
public bool setOptions ([ array $options ] )
public bool setPostFields ( array $post_data )
public bool setPostFiles ( array $post_files )
public bool setPutData ([ string $put_data ] )
public bool setPutFile ([ string $file ] )
public bool setQueryData ( mixed $query_data )
public bool setRawPostData ([ string $raw_post_data ] )
public bool setSslOptions ([ array $options ] )
public bool setUrl ( string $url )
}

Membres de la classe

Propriétés

Propriétés de l'instance
Modificateurs | Type | Nom | Description
protected | tableau | options | options de demande pour configurer la demande ; voir options de demande
protected tableau postFields donnée de formulaire :
array("nomduchamp" => "valeurduchamp")
protected tableau postFiles fichiers à télécharger :
array(array("name" => "image", "file" => "/home/u/images/u.png", "type" => "image/png"))
protected | tableau | responseInfo | information (statistique) à propos des demandes/réponses ; voir information de demande/réponse
protected | HttpMessage | responseMessage | le message de réponse
protected | entier | responseCode | le code numérique de réponse
protected | chaîne de caractères | responseStatus | le texte littéral du statut de la réponse
protected | entier | method | La méthode de la demande à utiliser
protected | chaîne de caractères | url | l'URL de la demande
protected | chaîne de caractères | contentType | le type de contenu à utiliser pour les demandes POST brutes
protected | chaîne de caractères | rawPostData | les données POST brutes
protected | chaîne de caractères | queryData | les paramètres de la requête
protected | chaîne de caractères | putFile | le fichier à télécharger avec une demande PUT
protected | chaîne de caractères | putData | les données brutes à télécharger avec une requête PUT
protected | HttpMessage | history | l'historique complet demande/réponse si l'enregistrement de l'historique est activé
public | booléen | recordHistory | si l'on doit activer l'enregistrement de l'historique

Constantes pré-définies

Type | Nom | Description
entier | METH_GET | méthode de demande GET
entier | METH_HEAD | méthode de demande HEAD
entier | METH_POST | méthode de demande POST
entier | METH_PUT | méthode de demande PUT
entier | METH_DELETE | méthode de demande DELETE
entier | METH_OPTIONS | méthode de demande OPTIONS
entier | METH_TRACE | méthode de demande TRACE
entier | METH_CONNECT | méthode de demande CONNECT
entier | METH_PROPFIND | méthode de demande PROPFIND
entier | METH_PROPPATCH | méthode de demande PROPPATCH
entier | METH_MKCOL | méthode de demande MKCOL
entier | METH_COPY | méthode de demande COPY
entier | METH_MOVE | méthode de demande MOVE
entier | METH_LOCK | méthode de demande LOCK
entier | METH_UNLOCK | méthode de demande UNLOCK
entier | METH_VERSION_CONTROL | méthode de demande VERSION-CONTROL
entier | METH_REPORT | méthode de demande REPORT
entier | METH_CHECKOUT | méthode de demande CHECKOUT
entier | METH_CHECKIN | méthode de demande CHECKIN
entier | METH_UNCHECKOUT | méthode de demande UNCHECKOUT
entier | METH_MKWORKSPACE | méthode de demande MKWORKSPACE
entier | METH_UPDATE | méthode de demande UPDATE
entier | METH_LABEL | méthode de demande LABEL
entier | METH_MERGE | méthode de demande MERGE
entier | METH_BASELINE_CONTROL | méthode de demande BASELINE-CONTROL
entier | METH_MKACTIVITY | méthode de demande MKACTIVITY
entier | METH_ACL | méthode de demande ACL
entier | VERSION_1_0 | version 1.0 du protocole HTTP
entier | VERSION_1_1 | version 1.1 du protocole HTTP
entier | VERSION_ANY | n'importe quelle version du protocole HTTP
entier | AUTH_BASIC | identification basique
entier | AUTH_DIGEST | identification digest
entier | AUTH_NTLM | identification NTLM
entier | AUTH_GSSNEG | identification négociée GSS
entier | AUTH_ANY | n'importe quelle identification
entier | PROXY_SOCKS4 | proxy SOCKS v4
entier | PROXY_SOCKS5 | proxy SOCKS v5
entier | PROXY_HTTP | proxy HTTP
entier | SSL_VERSION_TLSv1 | utilisation de TLS v1
entier | SSL_VERSION_SSLv2 | utilisation de SSL v2
entier | SSL_VERSION_SSLv3 | utilisation de SSL v3
entier | SSL_VERSION_ANY | utilisation de n'importe quelle méthode SSL/TLS
entier | IPRESOLVE_V4 | résoudre via IPv4 uniquement
entier | IPRESOLVE_V6 | résoudre via IPv6 uniquement
entier | IPRESOLVE_ANY | utilisation de n'importe quelle méthode de résolution

Sommaire

  • HttpRequest::addCookies — Ajoute des cookies
  • HttpRequest::addHeaders — Ajoute des en-têtes
  • HttpRequest::addPostFields — Ajoute des champs POST
  • HttpRequest::addPostFile — Ajoute un fichier en POST
  • HttpRequest::addPutData — Ajoute des données PUT
  • HttpRequest::addQueryData — Ajoute des paramètres à une requête
  • HttpRequest::addRawPostData — Ajoute une ligne de données POST
  • HttpRequest::addSslOptions — Ajoute des options SSL
  • HttpRequest::clearHistory — Efface l'historique
  • HttpRequest::__construct — Constructeur de HttpRequest
  • HttpRequest::enableCookies — Active les cookies
  • HttpRequest::getContentType — Récupère le type de contenu
  • HttpRequest::getCookies — Récupère les cookies
  • HttpRequest::getHeaders — Récupère les en-têtes
  • HttpRequest::getHistory — Récupère l'historique
  • HttpRequest::getMethod — Récupère une méthode
  • HttpRequest::getOptions — Récupère les options
  • HttpRequest::getPostFields — Récupère les champs POST
  • HttpRequest::getPostFiles — Récupère les fichiers POST
  • HttpRequest::getPutData — Récupère des données PUT
  • HttpRequest::getPutFile — Récupère un fichier PUT
  • HttpRequest::getQueryData — Récupère les données de la requête
  • HttpRequest::getRawPostData — Récupère les données POST
  • HttpRequest::getRawRequestMessage — Récupère le message de la requête
  • HttpRequest::getRawResponseMessage — Récupère le message de réponse
  • HttpRequest::getRequestMessage — Récupère le message de la requête
  • HttpRequest::getResponseBody — Récupère le corps de la réponse
  • HttpRequest::getResponseCode — Récupère le code de la réponse
  • HttpRequest::getResponseCookies — Récupère la réponse des cookies
  • HttpRequest::getResponseData — Récupère les données de la réponse
  • HttpRequest::getResponseHeader — Récupère les en-têtes de la réponse
  • HttpRequest::getResponseInfo — Récupère les informations de la réponse
  • HttpRequest::getResponseMessage — Récupère le message de la réponse
  • HttpRequest::getResponseStatus — Récupère le statut de la réponse
  • HttpRequest::getSslOptions — Récupère les options SSL
  • HttpRequest::getUrl — Récupère l'url
  • HttpRequest::resetCookies — Efface les cookies
  • HttpRequest::send — Envoi une requête
  • HttpRequest::setContentType — Définit le type de contenu
  • HttpRequest::setCookies — Définit un cookie
  • HttpRequest::setHeaders — Définit un en-tête
  • HttpRequest::setMethod — Définit la méthode
  • HttpRequest::setOptions — Définit des options
  • HttpRequest::setPostFields — Définit les champs POST
  • HttpRequest::setPostFiles — Définit les fichiers POST
  • HttpRequest::setPutData — Définit les données PUT
  • HttpRequest::setPutFile — Définit le fichier PUT
  • HttpRequest::setQueryData — Définit les données de la requête
  • HttpRequest::setRawPostData — Définit les données POST
  • HttpRequest::setSslOptions — Définit les options SSL
  • HttpRequest::setUrl — Définit l'URL
HttpQueryString::xlate
HttpRequest::addCookies
HTTP


Ajoute des cookies

Classe HttpRequest
HttpRequest::addHeaders
Classe HttpRequest
PHP Manual

HttpRequest::addCookies

(PECL pecl_http >= 0.10.0)

HttpRequest::addCookies — Ajoute des cookies

Description

public bool HttpRequest::addCookies ( array $cookies )

Ajoute un cookie personnalisé.

Note: L'option de demande encodecookies contrôle si la valeur du cookie doit être url-encodée via la fonction urlencode().

Note: Affecte n'importe quelle méthode de demande.

Liste de paramètres

cookies

un tableau associatif contenant toutes les paires nom/valeurs des cookies à ajouter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec HttpRequest::addCookies()

<?php
$r = new HttpRequest;
$r->addCookies(
    array(
        "nom_du_cookie" => "valeur du cookie",
    )
);
?>

Voir aussi

  • HttpRequest::setCookies() - Définit un cookie

Classe HttpRequest
HttpRequest::addHeaders
Classe HttpRequest


Ajoute des en-têtes

HttpRequest::addCookies
HttpRequest::addPostFields
Classe HttpRequest
PHP Manual

HttpRequest::addHeaders

(PECL pecl_http >= 0.10.0)

HttpRequest::addHeaders — Ajoute des en-têtes

Description

public bool HttpRequest::addHeaders ( array $headers )

Ajoute des paires nom/valeur aux en-têtes demandés.

Liste de paramètres

headers

un tableau associatif contenant les paires nom/valeur additionnelles d'en-têtes

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::addCookies
HttpRequest::addPostFields
Classe HttpRequest


Ajoute des champs POST

HttpRequest::addHeaders
HttpRequest::addPostFile
Classe HttpRequest
PHP Manual

HttpRequest::addPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::addPostFields — Ajoute des champs POST

Description

public bool HttpRequest::addPostFields ( array $post_data )

Ajoute des entrées de données POST, laissant inchangées les données précédemment définies, tant qu'une entrée POST avec le même nom n'existe pas déjà.

Affecte uniquement POST et les requêtes personnalisées.

Liste de paramètres

post_data

un tableau associatif contenant les champs POST

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::addHeaders
HttpRequest::addPostFile
Classe HttpRequest


Ajoute un fichier en POST

HttpRequest::addPostFields
HttpRequest::addPutData
Classe HttpRequest
PHP Manual

HttpRequest::addPostFile

(PECL pecl_http >= 0.10.0)

HttpRequest::addPostFile — Ajoute un fichier en POST

Description

public bool HttpRequest::addPostFile ( string $name , string $file [, string $content_type = "application/x-octetstream" ] )

Ajoute un fichier à une requête POST, laissant inchangés les fichiers précédemment définis.

Affecte uniquement les requêtes POST et les requêtes personnalisées. Ne peut être utilisé avec les lignes de données POST.

Liste de paramètres

name

Le nom de l'élément de formulaire

file

le chemin vers le fichier

content_type

le type de contenu du fichier

Valeurs de retour

Retourne TRUE en cas de succès, FALSE si le type de contenu ne semble pas contenir une première ou une seconde partie de type de contenu.

HttpRequest::addPostFields
HttpRequest::addPutData
Classe HttpRequest


Ajoute des données PUT

HttpRequest::addPostFile
HttpRequest::addQueryData
Classe HttpRequest
PHP Manual

HttpRequest::addPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::addPutData — Ajoute des données PUT

Description

public bool HttpRequest::addPutData ( string $put_data )

Ajoute des données PUT, laissant inchangées les données précédemment définies.

Affecte uniquement les requêtes PUT.

Liste de paramètres

put_data

les données à concaténer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::addPostFile
HttpRequest::addQueryData
Classe HttpRequest


Ajoute des paramètres à une requête

HttpRequest::addPutData
HttpRequest::addRawPostData
Classe HttpRequest
PHP Manual

HttpRequest::addQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::addQueryData — Ajoute des paramètres à une requête

Description

public bool HttpRequest::addQueryData ( array $query_params )

Ajoute des paramètres à la liste des paramètres d'une requête, laissant inchangés les paramètres précédemment définis.

Affecte tous les types de requêtes.

Liste de paramètres

query_params

un tableau associatif contenant les champs de la requête à ajouter

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::addPutData
HttpRequest::addRawPostData
Classe HttpRequest


Ajoute une ligne de données POST

HttpRequest::addQueryData
HttpRequest::addSslOptions
Classe HttpRequest
PHP Manual

HttpRequest::addRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::addRawPostData — Ajoute une ligne de données POST

Description

public bool HttpRequest::addRawPostData ( string $raw_post_data )

Ajoute une ligne de données POST, laissant inchangée la précédente ligne de données POST.

Ajoute uniquement les données POST et les demandes personnalisées.

Liste de paramètres

raw_post_data

la ligne de données POST à concaténer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::addQueryData
HttpRequest::addSslOptions
Classe HttpRequest


Ajoute des options SSL

HttpRequest::addRawPostData
HttpRequest::clearHistory
Classe HttpRequest
PHP Manual

HttpRequest::addSslOptions

(PECL pecl_http >= 0.12.0)

HttpRequest::addSslOptions — Ajoute des options SSL

Description

public bool HttpRequest::addSslOptions ( array $options )

Définit des options additionnelles SSL.

Liste de paramètres

options

un tableau associatif contenant les options additionnelles spécifiques à SSL

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::addRawPostData
HttpRequest::clearHistory
Classe HttpRequest


Efface l'historique

HttpRequest::addSslOptions
HttpRequest::__construct
Classe HttpRequest
PHP Manual

HttpRequest::clearHistory

(PECL pecl_http >= 0.15.0)

HttpRequest::clearHistory — Efface l'historique

Description

public void HttpRequest::clearHistory ( void )

Efface tous les messages de l'historique.

Note: L'historique est enregistré uniquement si la variable recordHistory a été activée.

HttpRequest::addSslOptions
HttpRequest::__construct
Classe HttpRequest


Constructeur de HttpRequest

HttpRequest::clearHistory
HttpRequest::enableCookies
Classe HttpRequest
PHP Manual

HttpRequest::__construct

(PECL pecl_http >= 0.10.0)

HttpRequest::__construct — Constructeur de HttpRequest

Description

public void HttpRequest::__construct ([ string $url [, int $request_method = HTTP_METH_GET [, array $options ]]] )

Instancie un nouvel objet HttpRequest.

Liste de paramètres

url

L'URL cible de la requête

request_method

la méthode de requête à utiliser

options

un tableau associatif avec les options de la requête

Erreurs / Exceptions

Lance une exception HttpException.

HttpRequest::clearHistory
HttpRequest::enableCookies
Classe HttpRequest


Active les cookies

HttpRequest::__construct
HttpRequest::getContentType
Classe HttpRequest
PHP Manual

HttpRequest::enableCookies

(PECL pecl_http >= 1.0.0)

HttpRequest::enableCookies — Active les cookies

Description

public bool HttpRequest::enableCookies ( void )

Active l'envoi automatique des cookies.

Note: Noter qu'en fait, les cookies définis seront envoyés de toute façon.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::__construct
HttpRequest::getContentType
Classe HttpRequest


Récupère le type de contenu

HttpRequest::enableCookies
HttpRequest::getCookies
Classe HttpRequest
PHP Manual

HttpRequest::getContentType

(PECL pecl_http >= 0.10.0)

HttpRequest::getContentType — Récupère le type de contenu

Description

public string HttpRequest::getContentType ( void )

Récupère le type de contenu précédemment défini.

Valeurs de retour

Retourne le dernier type de contenu précédemment défini en tant que chaîne de caractères.

HttpRequest::enableCookies
HttpRequest::getCookies
Classe HttpRequest


Récupère les cookies

HttpRequest::getContentType
HttpRequest::getHeaders
Classe HttpRequest
PHP Manual

HttpRequest::getCookies

(PECL pecl_http >= 0.10.0)

HttpRequest::getCookies — Récupère les cookies

Description

public array HttpRequest::getCookies ( void )

Récupère les cookies précédemment définis.

Valeurs de retour

Retourne un tableau associatif contenant tous les cookies précédemment définis.

HttpRequest::getContentType
HttpRequest::getHeaders
Classe HttpRequest


Récupère les en-têtes

HttpRequest::getCookies
HttpRequest::getHistory
Classe HttpRequest
PHP Manual

HttpRequest::getHeaders

(PECL pecl_http >= 0.10.0)

HttpRequest::getHeaders — Récupère les en-têtes

Description

public array HttpRequest::getHeaders ( void )

Récupère les en-têtes précédemment définis.

Valeurs de retour

Retourne un tableau associatif contenant tous les en-têtes actuellement définis.

HttpRequest::getCookies
HttpRequest::getHistory
Classe HttpRequest


Récupère l'historique

HttpRequest::getHeaders
HttpRequest::getMethod
Classe HttpRequest
PHP Manual

HttpRequest::getHistory

(PECL pecl_http >= 0.15.0)

HttpRequest::getHistory — Récupère l'historique

Description

public HttpMessage HttpRequest::getHistory ( void )

Récupère toutes des requêtes envoyées et les réponses reçues en tant qu'objet HttpMessage.

Si vous voulez enregistrer l'historique, définissez la variable HttpRequest::recordHistory à TRUE.

L'objet retourné référence la dernière réponse reçue, utilisez HttpMessage::getParentMessage() pour accéder aux données des requêtes envoyées et des réponses reçues précédemment.

Valeurs de retour

Retourne un objet HttpMessage représentant l'historique complète des requêtes/réponses.

Erreurs / Exceptions

Lance une exception HttpRuntimeException.

HttpRequest::getHeaders
HttpRequest::getMethod
Classe HttpRequest


Récupère une méthode

HttpRequest::getHistory
HttpRequest::getOptions
Classe HttpRequest
PHP Manual

HttpRequest::getMethod

(PECL pecl_http >= 0.10.0)

HttpRequest::getMethod — Récupère une méthode

Description

public int HttpRequest::getMethod ( void )

Récupère la dernière méthode précédemment définies.

Valeurs de retour

Retourne la méthode actuellement définie.

HttpRequest::getHistory
HttpRequest::getOptions
Classe HttpRequest


Récupère les options

HttpRequest::getMethod
HttpRequest::getPostFields
Classe HttpRequest
PHP Manual

HttpRequest::getOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::getOptions — Récupère les options

Description

public array HttpRequest::getOptions ( void )

Récupère les options précédemment définies.

Valeurs de retour

Retourne un tableau associatif contenant les options actuellement définies.

HttpRequest::getMethod
HttpRequest::getPostFields
Classe HttpRequest


Récupère les champs POST

HttpRequest::getOptions
HttpRequest::getPostFiles
Classe HttpRequest
PHP Manual

HttpRequest::getPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::getPostFields — Récupère les champs POST

Description

public array HttpRequest::getPostFields ( void )

Récupère les données POST précédemment définies.

Liste de paramètres

Valeurs de retour

Retourne les champs POST précédemment définies sous la forme d'un tableau associatif.

HttpRequest::getOptions
HttpRequest::getPostFiles
Classe HttpRequest


Récupère les fichiers POST

HttpRequest::getPostFields
HttpRequest::getPutData
Classe HttpRequest
PHP Manual

HttpRequest::getPostFiles

(PECL pecl_http >= 0.10.0)

HttpRequest::getPostFiles — Récupère les fichiers POST

Description

public array HttpRequest::getPostFiles ( void )

Récupère tous les fichiers POST précédemment ajoutés.

Valeurs de retour

Retourne un tableau contenant les fichiers POST actuellement définis.

HttpRequest::getPostFields
HttpRequest::getPutData
Classe HttpRequest


Récupère des données PUT

HttpRequest::getPostFiles
HttpRequest::getPutFile
Classe HttpRequest
PHP Manual

HttpRequest::getPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::getPutData — Récupère des données PUT

Description

public string HttpRequest::getPutData ( void )

Récupère des données PUT précédemment définies.

Valeurs de retour

Retourne une chaîne contenant les données PUT actuellement définies.

HttpRequest::getPostFiles
HttpRequest::getPutFile
Classe HttpRequest


Récupère un fichier PUT

HttpRequest::getPutData
HttpRequest::getQueryData
Classe HttpRequest
PHP Manual

HttpRequest::getPutFile

(PECL pecl_http >= 0.10.0)

HttpRequest::getPutFile — Récupère un fichier PUT

Description

public string HttpRequest::getPutFile ( void )

Récupère un fichier PUT précédemment défini.

Valeurs de retour

Retourne une chaîne contenant le chemin vers le fichier PUT actuellement défini.

HttpRequest::getPutData
HttpRequest::getQueryData
Classe HttpRequest


Récupère les données de la requête

HttpRequest::getPutFile
HttpRequest::getRawPostData
Classe HttpRequest
PHP Manual

HttpRequest::getQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::getQueryData — Récupère les données de la requête

Description

public string HttpRequest::getQueryData ( void )

Récupère les données de la requête courante sous la forme d'une chaîne encodée URL.

Valeurs de retour

Retourne une chaîne contenant la requête encodée URL.

HttpRequest::getPutFile
HttpRequest::getRawPostData
Classe HttpRequest


Récupère les données POST

HttpRequest::getQueryData
HttpRequest::getRawRequestMessage
Classe HttpRequest
PHP Manual

HttpRequest::getRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::getRawPostData — Récupère les données POST

Description

public string HttpRequest::getRawPostData ( void )

Récupère les données POST précédemment définies.

Liste de paramètres

Valeurs de retour

Retourne une chaîne contenant les données POST actuellement définies.

HttpRequest::getQueryData
HttpRequest::getRawRequestMessage
Classe HttpRequest


Récupère le message de la requête

HttpRequest::getRawPostData
HttpRequest::getRawResponseMessage
Classe HttpRequest
PHP Manual

HttpRequest::getRawRequestMessage

(PECL pecl_http >= 0.21.0)

HttpRequest::getRawRequestMessage — Récupère le message de la requête

Description

public string HttpRequest::getRawRequestMessage ( void )

Récupère le message HTTP envoyé.

Liste de paramètres

Valeurs de retour

Retourne un message HttpMessage sous la forme d'une chaîne de caractères.

HttpRequest::getRawPostData
HttpRequest::getRawResponseMessage
Classe HttpRequest


Récupère le message de réponse

HttpRequest::getRawRequestMessage
HttpRequest::getRequestMessage
Classe HttpRequest
PHP Manual

HttpRequest::getRawResponseMessage

(PECL pecl_http >= 0.21.0)

HttpRequest::getRawResponseMessage — Récupère le message de réponse

Description

public string HttpRequest::getRawResponseMessage ( void )

Récupère la réponse HTTP complète.

Liste de paramètres

Valeurs de retour

Retourne la réponse complète du serveur web, incluant les en-têtes sous la forme d'une chaîne de caractères.

HttpRequest::getRawRequestMessage
HttpRequest::getRequestMessage
Classe HttpRequest


Récupère le message de la requête

HttpRequest::getRawResponseMessage
HttpRequest::getResponseBody
Classe HttpRequest
PHP Manual

HttpRequest::getRequestMessage

(PECL pecl_http >= 0.11.0)

HttpRequest::getRequestMessage — Récupère le message de la requête

Description

public HttpMessage HttpRequest::getRequestMessage ( void )

Récupère le message HTTP envoyé.

Si les redirections sont permises et que plusieurs réponses sont reçues, la donnée fait référence à la dernière réponse reçue. Utilisez HttpMessage::getParentMessage() pour accéder aux données des requêtes précédemment envoyées dans le cycle des requêtes.

Note: Noter que les messages des requêtes internes sont immuables, ce qui signifie que le message de la requête reçu via HttpRequest::getRequestMessage() sera toujours identique pour une même requête, indépendamment des modifications que vous pouvez faire sur l'objet retourné.

Valeurs de retour

Retourne un objet HttpMessage représentant la requête envoyée.

Erreurs / Exceptions

Lance une exception HttpMalformedHeadersException ou une exception HttpEncodingException.

HttpRequest::getRawResponseMessage
HttpRequest::getResponseBody
Classe HttpRequest


Récupère le corps de la réponse

HttpRequest::getRequestMessage
HttpRequest::getResponseCode
Classe HttpRequest
PHP Manual

HttpRequest::getResponseBody

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseBody — Récupère le corps de la réponse

Description

public string HttpRequest::getResponseBody ( void )

Récupère le corps de la réponse après l'envoi de la requête.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fait référence à la dernière réponse reçue.

Liste de paramètres

Valeurs de retour

Retourne une chaîne contenant le corps de la réponse.

HttpRequest::getRequestMessage
HttpRequest::getResponseCode
Classe HttpRequest


Récupère le code de la réponse

HttpRequest::getResponseBody
HttpRequest::getResponseCookies
Classe HttpRequest
PHP Manual

HttpRequest::getResponseCode

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseCode — Récupère le code de la réponse

Description

public int HttpRequest::getResponseCode ( void )

Récupère le code de la réponse après l'envoi de la requête.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fera référence à la dernière réponse reçue.

Valeurs de retour

Retourne un entier représentant le code de la réponse.

HttpRequest::getResponseBody
HttpRequest::getResponseCookies
Classe HttpRequest


Récupère la réponse des cookies

HttpRequest::getResponseCode
HttpRequest::getResponseData
Classe HttpRequest
PHP Manual

HttpRequest::getResponseCookies

(PECL pecl_http >= 0.23.0)

HttpRequest::getResponseCookies — Récupère la réponse des cookies

Description

public array HttpRequest::getResponseCookies ([ int $flags [, array $allowed_extras ]] )

Récupère la réponse des cookies après l'envoi de la requête.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fera référence à la dernière réponse reçue.

Liste de paramètres

flags

flags http_parse_cookie()

allowed_extras

permet des clés traitées comme des informations supplémentaires au lieu des noms de cookies

Valeurs de retour

Retourne un tableau d'objets stdClass comme http_parse_cookie() peut retourné.

HttpRequest::getResponseCode
HttpRequest::getResponseData
Classe HttpRequest


Récupère les données de la réponse

HttpRequest::getResponseCookies
HttpRequest::getResponseHeader
Classe HttpRequest
PHP Manual

HttpRequest::getResponseData

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseData — Récupère les données de la réponse

Description

public array HttpRequest::getResponseData ( void )

Récupère les données de la réponse après l'envoi de la requête.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fera référence à la dernière réponse reçue.

Valeurs de retour

Retourne un tableau associatif avec une clé "headers" contenant un tableau associatif de tous les en-têtes de la réponse, ainsi qu'une clé "body" contenant une chaîne avec le corps de la réponse.

HttpRequest::getResponseCookies
HttpRequest::getResponseHeader
Classe HttpRequest


Récupère les en-têtes de la réponse

HttpRequest::getResponseData
HttpRequest::getResponseInfo
Classe HttpRequest
PHP Manual

HttpRequest::getResponseHeader

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseHeader — Récupère les en-têtes de la réponse

Description

public mixed HttpRequest::getResponseHeader ([ string $name ] )

Récupère les en-têtes de la réponse après l'envoi de la requête.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fera référence à la dernière réponse reçue.

Liste de paramètres

name

nom de l'en-tête à lire ; si ce paramètre est vide, tous les en-têtes de la réponse seront retournés.

Valeurs de retour

Retourne soit une chaîne de caractères correspondant à la valeur de l'en-têtes correspondant au nom fourni, FALSE en cas d'échec ou un tableau associatif contenant tous les en-têtes de la réponse.

HttpRequest::getResponseData
HttpRequest::getResponseInfo
Classe HttpRequest


Récupère les informations de la réponse

HttpRequest::getResponseHeader
HttpRequest::getResponseMessage
Classe HttpRequest
PHP Manual

HttpRequest::getResponseInfo

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseInfo — Récupère les informations de la réponse

Description

public mixed HttpRequest::getResponseInfo ([ string $name ] )

Récupère les informations de la réponse après l'envoi de la requête.

Voir la fonction http_get() pour une liste complète des informations retournées.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fera référence à la dernière réponse reçue.

Liste de paramètres

name

nom de l'information à lire ; si ce paramètre est vide ou omis, un tableau associatif contenant toutes les informations disponibles sera retourné.

Valeurs de retour

Retourne soit un scalaire contenant la valeur de l'information correspondant au nom demandé si fourni, FALSE en cas d'échec ou un tableau associatif contenant toutes les informations disponibles.

HttpRequest::getResponseHeader
HttpRequest::getResponseMessage
Classe HttpRequest


Récupère le message de la réponse

HttpRequest::getResponseInfo
HttpRequest::getResponseStatus
Classe HttpRequest
PHP Manual

HttpRequest::getResponseMessage

(PECL pecl_http >= 0.10.0)

HttpRequest::getResponseMessage — Récupère le message de la réponse

Description

public HttpMessage HttpRequest::getResponseMessage ( void )

Récupère la réponse complète sous la forme d'un objet HttpMessage après l'envoi de la requête.

Si les redirections sont autorisées et que plusieurs réponses sont reçues, la donnée fera référence à la dernière réponse reçue. Utilisez HttpMessage::getParentMessage() pour accéder aux données des réponses précédemment reçues dans ce cycle de requêtes.

Valeurs de retour

Retourne un objet HttpMessage de la réponse.

Erreurs / Exceptions

Lance une exception HttpException ou une exception HttpRuntimeException.

HttpRequest::getResponseInfo
HttpRequest::getResponseStatus
Classe HttpRequest


Récupère le statut de la réponse

HttpRequest::getResponseMessage
HttpRequest::getSslOptions
Classe HttpRequest
PHP Manual

HttpRequest::getResponseStatus

(PECL pecl_http >= 0.23.0)

HttpRequest::getResponseStatus — Récupère le statut de la réponse

Description

public string HttpRequest::getResponseStatus ( void )

Récupère le statut de la réponse (i.e. la chaîne après le code de la réponse) après l'envoi du message.

Valeurs de retour

Retourne une chaîne contenant le texte du statut de la réponse.

HttpRequest::getResponseMessage
HttpRequest::getSslOptions
Classe HttpRequest


Récupère les options SSL

HttpRequest::getResponseStatus
HttpRequest::getUrl
Classe HttpRequest
PHP Manual

HttpRequest::getSslOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::getSslOptions — Récupère les options SSL

Description

public array HttpRequest::getSslOptions ( void )

Récupère les options SSL précédemment définies.

Valeurs de retour

Retourne un tableau associatif contenant les options SSL précédemment définies.

HttpRequest::getResponseStatus
HttpRequest::getUrl
Classe HttpRequest


Récupère l'url

HttpRequest::getSslOptions
HttpRequest::resetCookies
Classe HttpRequest
PHP Manual

HttpRequest::getUrl

(PECL pecl_http >= 0.10.0)

HttpRequest::getUrl — Récupère l'url

Description

public string HttpRequest::getUrl ( void )

Récupère l'url de la requête précédemment définie.

Valeurs de retour

Retourne l'url de la requête actuellement définie sous la forme d'une chaîne de caractères.

HttpRequest::getSslOptions
HttpRequest::resetCookies
Classe HttpRequest


Efface les cookies

HttpRequest::getUrl
HttpRequest::send
Classe HttpRequest
PHP Manual

HttpRequest::resetCookies

(PECL pecl_http >= 1.0.0)

HttpRequest::resetCookies — Efface les cookies

Description

public bool HttpRequest::resetCookies ([ bool $session_only = false ] )

Efface tous les cookies automatiquement reçus/envoyés.

Note: Noter que les cookies personnalisés ne sont pas affectés.

Liste de paramètres

session_only

si l'on doit effacer uniquement les cookies de session (nécessite libcurl >= v7.15.4, ou libcurl >= v7.14.1)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::getUrl
HttpRequest::send
Classe HttpRequest


Envoi une requête

HttpRequest::resetCookies
HttpRequest::setContentType
Classe HttpRequest
PHP Manual

HttpRequest::send

(PECL pecl_http >= 0.10.0)

HttpRequest::send — Envoi une requête

Description

public HttpMessage HttpRequest::send ( void )

Envoi une requête HTTP.

Note: Bien qu'une exception peut avoir été lancée, le transfert peut avoir réussi, au moins, partiellement, vous devriez donc vérifier les valeurs retournées des différentes méthodes HttpRequest::getResponse*().

Valeurs de retour

Retourne la réponse reçue sous la forme d'un objet HttpMessage.

Erreurs / Exceptions

Lance une exception HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException ou HttpEncodingException.

Exemples

Exemple #1 Exemple GET

<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
    $r->send();
    if ($r->getResponseCode() == 200) {
        file_put_contents('local.rss', $r->getResponseBody());
    }
} catch (HttpException $ex) {
    echo $ex;
}
?>

Exemple #2 Exemple POST

<?php
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}
?>

HttpRequest::resetCookies
HttpRequest::setContentType
Classe HttpRequest


Définit le type de contenu

HttpRequest::send
HttpRequest::setCookies
Classe HttpRequest
PHP Manual

HttpRequest::setContentType

(PECL pecl_http >= 0.10.0)

HttpRequest::setContentType — Définit le type de contenu

Description

public bool HttpRequest::setContentType ( string $content_type )

Définit le type de contenu que la requête POST devra avoir.

Liste de paramètres

content_type

le type de contenu de la requête (primaire/secondaire)

Valeurs de retour

Retourne TRUE en cas de succès ou FALSE si le type de contenu ne semble pas contenu une partie primaire et secondaire.

HttpRequest::send
HttpRequest::setCookies
Classe HttpRequest


Définit un cookie

HttpRequest::setContentType
HttpRequest::setHeaders
Classe HttpRequest
PHP Manual

HttpRequest::setCookies

(PECL pecl_http >= 0.12.0)

HttpRequest::setCookies — Définit un cookie

Description

public bool HttpRequest::setCookies ([ array $cookies ] )

Définit un cookie personnalisé.

Liste de paramètres

cookies

un tableau associatif contenant les paires nom/valeur des cookies ; si ce paramètre est vide ou omis, tous les cookies précédemment définis seront effacés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setContentType
HttpRequest::setHeaders
Classe HttpRequest


Définit un en-tête

HttpRequest::setCookies
HttpRequest::setMethod
Classe HttpRequest
PHP Manual

HttpRequest::setHeaders

(PECL pecl_http >= 0.12.0)

HttpRequest::setHeaders — Définit un en-tête

Description

public bool HttpRequest::setHeaders ([ array $headers ] )

Définit des en-têtes.

Liste de paramètres

headers

un tableau associatif contenant les paires nom/valeur des en-têtes ; si ce paramètre est vide ou omis, tous les en-têtes précédemment définis seront effacés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setCookies
HttpRequest::setMethod
Classe HttpRequest


Définit la méthode

HttpRequest::setHeaders
HttpRequest::setOptions
Classe HttpRequest
PHP Manual

HttpRequest::setMethod

(PECL pecl_http >= 0.10.0)

HttpRequest::setMethod — Définit la méthode

Description

public bool HttpRequest::setMethod ( int $request_method )

Définit la méthode de la requête.

Liste de paramètres

request_method

la méthode de la requête à utiliser.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setHeaders
HttpRequest::setOptions
Classe HttpRequest


Définit des options

HttpRequest::setMethod
HttpRequest::setPostFields
Classe HttpRequest
PHP Manual

HttpRequest::setOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::setOptions — Définit des options

Description

public bool HttpRequest::setOptions ([ array $options ] )

Définit des options de requêtes à utiliser.

Voir la liste complète des options de demande.

Liste de paramètres

options

un tableau associatif, dont les valeurs écraseront les options de requêtes actuellement définies ; si ce paramètre est vide ou omis, les options de l'objet HttpRequest seront effacées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setMethod
HttpRequest::setPostFields
Classe HttpRequest


Définit les champs POST

HttpRequest::setOptions
HttpRequest::setPostFiles
Classe HttpRequest
PHP Manual

HttpRequest::setPostFields

(PECL pecl_http >= 0.10.0)

HttpRequest::setPostFields — Définit les champs POST

Description

public bool HttpRequest::setPostFields ( array $post_data )

Définit les entrées des données POST, écrasant les données POST précédemment définies.

Affecte uniquement les données POST et les requêtes personnalisées.

Liste de paramètres

post_data

un tableau associatif contenant les champs POST ; si ce paramètre est vide ou omis, les données POST seront effacées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setOptions
HttpRequest::setPostFiles
Classe HttpRequest


Définit les fichiers POST

HttpRequest::setPostFields
HttpRequest::setPutData
Classe HttpRequest
PHP Manual

HttpRequest::setPostFiles

(PECL pecl_http >= 0.10.0)

HttpRequest::setPostFiles — Définit les fichiers POST

Description

public bool HttpRequest::setPostFiles ( array $post_files )

Définit les fichiers POST, écrasant les fichiers POST précédemment définis.

Affecte uniquement les fichiers POST et les requêtes. Ne peut pas être utilisé avec les données POST.

Liste de paramètres

post_files

un tableau contenant les fichiers POST ; si ce paramètre est vide ou omis, les fichiers POST seront effacés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setPostFields
HttpRequest::setPutData
Classe HttpRequest


Définit les données PUT

HttpRequest::setPostFiles
HttpRequest::setPutFile
Classe HttpRequest
PHP Manual

HttpRequest::setPutData

(PECL pecl_http >= 0.25.0)

HttpRequest::setPutData — Définit les données PUT

Description

public bool HttpRequest::setPutData ([ string $put_data ] )

Définit les données PUT à envoyer, écrasant les données PUT précédemment définies.

Affecte uniquement les requêtes PUT.

Uniquement soit des données PUT, soit des fichiers PUT peuvent être utilisés pour chaque requête. Les données PUT sont prioritaires et seront utilisées même si un fichier PUT est défini.

Liste de paramètres

put_data

les données à télécharger

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setPostFiles
HttpRequest::setPutFile
Classe HttpRequest


Définit le fichier PUT

HttpRequest::setPutData
HttpRequest::setQueryData
Classe HttpRequest
PHP Manual

HttpRequest::setPutFile

(PECL pecl_http >= 0.10.0)

HttpRequest::setPutFile — Définit le fichier PUT

Description

public bool HttpRequest::setPutFile ([ string $file ] )

Définit le fichier PUT. Affecte uniquement les requêtes PUT.

Liste de paramètres

file

le chemin vers le fichier à envoyer ; si ce paramètre est vide ou omis, le fichier PUT sera effacé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setPutData
HttpRequest::setQueryData
Classe HttpRequest


Définit les données de la requête

HttpRequest::setPutFile
HttpRequest::setRawPostData
Classe HttpRequest
PHP Manual

HttpRequest::setQueryData

(PECL pecl_http >= 0.10.0)

HttpRequest::setQueryData — Définit les données de la requête

Description

public bool HttpRequest::setQueryData ( mixed $query_data )

Définit les paramètres URL de la requête à utiliser, écrasant les paramètres de requête précédemment définis.

Affecte tous les types de requêtes.

Liste de paramètres

query_data

une chaîne ou un tableau associatif contenant la chaîne de la requête préencodée ou les champs de la requête à encoder ; si ce paramètre est vide ou omis, les données de la requête seront effacées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setPutFile
HttpRequest::setRawPostData
Classe HttpRequest


Définit les données POST

HttpRequest::setQueryData
HttpRequest::setSslOptions
Classe HttpRequest
PHP Manual

HttpRequest::setRawPostData

(PECL pecl_http 0.14.0-1.4.1)

HttpRequest::setRawPostData — Définit les données POST

Description

public bool HttpRequest::setRawPostData ([ string $raw_post_data ] )

Définit les données par ligne POST à envoyer, écrasant les données par ligne POST précédemment définies. N'oubliez pas de spécifier le type de contenu. Affecte uniquement les données POST et les requêtes personnalisées.

Uniquement soit les champs POST, soit les données par ligne POST peuvent être utilisés pour chaque requête. Les données par ligne POST sont prioritaires et seront utilisées même si des champs POST sont définis.

Liste de paramètres

raw_post_data

données par ligne POST raw post data

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setQueryData
HttpRequest::setSslOptions
Classe HttpRequest


Définit les options SSL

HttpRequest::setRawPostData
HttpRequest::setUrl
Classe HttpRequest
PHP Manual

HttpRequest::setSslOptions

(PECL pecl_http >= 0.10.0)

HttpRequest::setSslOptions — Définit les options SSL

Description

public bool HttpRequest::setSslOptions ([ array $options ] )

Définit des options SSL.

Liste de paramètres

options

un tableau associatif contenant les options spécifiques à SSL ; si ce paramètre est vide ou omis, les options SSL seront effacées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setRawPostData
HttpRequest::setUrl
Classe HttpRequest


Définit l'URL

HttpRequest::setSslOptions
Classe HttpRequestPool
Classe HttpRequest
PHP Manual

HttpRequest::setUrl

(PECL pecl_http >= 0.10.0)

HttpRequest::setUrl — Définit l'URL

Description

public bool HttpRequest::setUrl ( string $url )

Définit l'URL de la requête.

Liste de paramètres

url

l'URL de la requête

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequest::setSslOptions
Classe HttpRequestPool
Classe HttpRequest


Classe HttpRequestPool

Synopsis de la classe

HttpRequestPool
HttpRequestPool implements Iterator , Countable {
public bool attach ( HttpRequest $request )
void __construct ([ HttpRequest $request ] )
void __destruct ( void )
bool detach ( HttpRequest $request )
array getAttachedRequests ( void )
array getFinishedRequests ( void )
void reset ( void )
bool send ( void )
protected bool socketPerform ( void )
protected bool socketSelect ( void )
}

Membres de la classe

Propriétés

La classe HttpRequestPool n'a aucune propriété.

Constantes pré-définies

La classe HttpRequestPool n'a aucune constante.

Sommaire

  • HttpRequestPool::attach — Attache un objet HttpRequest
  • HttpRequestPool::__construct — Constructeur de la classe HttpRequestPool
  • HttpRequestPool::__destruct — Destructeur de la classe HttpRequestPool
  • HttpRequestPool::detach — Détache un objet HttpRequest
  • HttpRequestPool::getAttachedRequests — Récupère les requêtes attachées
  • HttpRequestPool::getFinishedRequests — Récupère les requêtes terminées
  • HttpRequestPool::reset — Efface la file d'attente des requêtes
  • HttpRequestPool::send — Envoie toutes les requêtes
  • HttpRequestPool::socketPerform — Effectue une action sur le socket
  • HttpRequestPool::socketSelect — Sélectionne un socket
HttpRequest::setUrl
HttpRequestPool::attach
HTTP


Attache un objet HttpRequest

Classe HttpRequestPool
HttpRequestPool::__construct
Classe HttpRequestPool
PHP Manual

HttpRequestPool::attach

(PECL pecl_http >= 0.10.0)

HttpRequestPool::attach — Attache un objet HttpRequest

Description

public bool HttpRequestPool::attach ( HttpRequest $request )

Attache un objet HttpRequest à ce HttpRequestPool.

Avertissement

Définissez toutes les options avant d'effectuer l'attachement !

Liste de paramètres

request

un objet HttpRequest qui n'est pas déjà attaché à un objet HttpRequestPool

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpInvalidParamException, HttpRequestException, HttpRequestPoolException, HttpEncodingException.

Classe HttpRequestPool
HttpRequestPool::__construct
Classe HttpRequestPool


Constructeur de la classe HttpRequestPool

HttpRequestPool::attach
HttpRequestPool::__destruct
Classe HttpRequestPool
PHP Manual

HttpRequestPool::__construct

(PECL pecl_http >= 0.10.0)

HttpRequestPool::__construct — Constructeur de la classe HttpRequestPool

Description

void HttpRequestPool::__construct ([ HttpRequest $request ] )

Instancie un nouvel objet HttpRequestPool. Un HttpRequestPool est capable d'envoyer plusieurs HttpRequests en parallèle.

Accepte une infinité de paramètres optionnels, chacun se référant à un objet HttpRequest.

Liste de paramètres

request

objet HttpRequest à attacher

Erreurs / Exceptions

Lance une exception HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).

Exemples

Exemple #1 Exemple avec HttpRequestPool

<?php
try {
    $pool = new HttpRequestPool(
        new HttpRequest('http://www.google.com/', HttpRequest::METH_HEAD),
        new HttpRequest('http://www.php.net/', HttpRequest::METH_HEAD)
    );
    $pool->send();
    foreach($pool as $request) {
        printf("%s is %s (%d)\n",
            $request->getUrl(),
            $request->getResponseCode() ? 'active' : 'non active',
            $request->getResponseCode()
        );
    }
} catch (HttpException $e) {
    echo $e;
}
?>

HttpRequestPool::attach
HttpRequestPool::__destruct
Classe HttpRequestPool


Destructeur de la classe HttpRequestPool

HttpRequestPool::__construct
HttpRequestPool::detach
Classe HttpRequestPool
PHP Manual

HttpRequestPool::__destruct

(PECL pecl_http >= 0.10.0)

HttpRequestPool::__destruct — Destructeur de la classe HttpRequestPool

Description

void HttpRequestPool::__destruct ( void )

Détruit l'objet HttpRequestPool.

HttpRequestPool::__construct
HttpRequestPool::detach
Classe HttpRequestPool


Détache un objet HttpRequest

HttpRequestPool::__destruct
HttpRequestPool::getAttachedRequests
Classe HttpRequestPool
PHP Manual

HttpRequestPool::detach

(PECL pecl_http >= 0.10.0)

HttpRequestPool::detach — Détache un objet HttpRequest

Description

bool HttpRequestPool::detach ( HttpRequest $request )

Détache un objet HttpRequest depuis ce HttpRequestPool.

Liste de paramètres

request

un objet HttpRequest attaché à cet objet HttpRequestPool

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpInvalidParamException, HttpRequestPoolException.

HttpRequestPool::__destruct
HttpRequestPool::getAttachedRequests
Classe HttpRequestPool


Récupère les requêtes attachées

HttpRequestPool::detach
HttpRequestPool::getFinishedRequests
Classe HttpRequestPool
PHP Manual

HttpRequestPool::getAttachedRequests

(PECL pecl_http >= 0.16.0)

HttpRequestPool::getAttachedRequests — Récupère les requêtes attachées

Description

array HttpRequestPool::getAttachedRequests ( void )

Récupère les objets HttpRequest attachés.

Liste de paramètres

Valeurs de retour

Retourne un tableau contenant tous les objets HttpRequest actuellement attachés.

HttpRequestPool::detach
HttpRequestPool::getFinishedRequests
Classe HttpRequestPool


Récupère les requêtes terminées

HttpRequestPool::getAttachedRequests
HttpRequestPool::reset
Classe HttpRequestPool
PHP Manual

HttpRequestPool::getFinishedRequests

(PECL pecl_http >= 0.16.0)

HttpRequestPool::getFinishedRequests — Récupère les requêtes terminées

Description

array HttpRequestPool::getFinishedRequests ( void )

Récupère les objets HttpRequest attachés qui ont terminés leurs travaux.

Liste de paramètres

Valeurs de retour

Retourne un tableau contenant tous les objets HttpRequest attachés qui ont terminés leurs travaux.

HttpRequestPool::getAttachedRequests
HttpRequestPool::reset
Classe HttpRequestPool


Efface la file d'attente des requêtes

HttpRequestPool::getFinishedRequests
HttpRequestPool::send
Classe HttpRequestPool
PHP Manual

HttpRequestPool::reset

(PECL pecl_http >= 0.10.0)

HttpRequestPool::reset — Efface la file d'attente des requêtes

Description

void HttpRequestPool::reset ( void )

Détache tous les objets HttpRequest attachés.

HttpRequestPool::getFinishedRequests
HttpRequestPool::send
Classe HttpRequestPool


Envoie toutes les requêtes

HttpRequestPool::reset
HttpRequestPool::socketPerform
Classe HttpRequestPool
PHP Manual

HttpRequestPool::send

(PECL pecl_http >= 0.10.0)

HttpRequestPool::send — Envoie toutes les requêtes

Description

bool HttpRequestPool::send ( void )

Envoie tous les objets HttpRequest attachés en parallèle.

Liste de paramètres

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).

HttpRequestPool::reset
HttpRequestPool::socketPerform
Classe HttpRequestPool


Effectue une action sur le socket

HttpRequestPool::send
HttpRequestPool::socketSelect
Classe HttpRequestPool
PHP Manual

HttpRequestPool::socketPerform

(PECL pecl_http >= 0.15.0)

HttpRequestPool::socketPerform — Effectue une action sur le socket

Description

protected bool HttpRequestPool::socketPerform ( void )

Retourne TRUE tant que chaque requête a terminé sa transaction.

Valeurs de retour

Retourne TRUE tant que chaque requête a terminé sa transaction.

Exemples

Exemple #1 Exemple avec HttpRequestPool::socketPerform()

<?php
class MyPool extends HttpRequestPool
{
    public function send()
    {
        while ($this->socketPerform()) {
            if (!$this->socketSelect()) {
                throw new HttpSocketExcpetion;
            }
        }
    }

    protected final function socketPerform()
    {
        $result = parent::socketPerform();
        foreach ($this->getFinishedRequests() as $r) {
            $this->detach($r);
            // gestion de la réponse lorsque la requête se termine
        }
        return $result;
    }
}
?>

HttpRequestPool::send
HttpRequestPool::socketSelect
Classe HttpRequestPool


Sélectionne un socket

HttpRequestPool::socketPerform
Classe HttpResponse
Classe HttpRequestPool
PHP Manual

HttpRequestPool::socketSelect

(PECL pecl_http >= 0.10.0)

HttpRequestPool::socketSelect — Sélectionne un socket

Description

protected bool HttpRequestPool::socketSelect ( void )

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

HttpRequestPool::socketPerform
Classe HttpResponse
Classe HttpRequestPool


Classe HttpResponse

Synopsis de la classe

HttpResponse
HttpResponse {
static void capture ( void )
static int getBufferSize ( void )
static bool getCache ( void )
static string getCacheControl ( void )
static string getContentDisposition ( void )
static string getContentType ( void )
static string getData ( void )
static string getETag ( void )
static string getFile ( void )
static bool getGzip ( void )
static mixed getHeader ([ string $name ] )
static int getLastModified ( void )
static string getRequestBody ( void )
static resource getRequestBodyStream ( void )
static array getRequestHeaders ( void )
static resource getStream ( void )
static double getThrottleDelay ( void )
static string guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )
static void redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )
static bool send ([ bool $clean_ob = true ] )
static bool setBufferSize ( int $bytes )
static bool setCache ( bool $cache )
static bool setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = true ]] )
static bool setContentDisposition ( string $filename [, bool $inline = false ] )
static bool setContentType ( string $content_type )
static bool setData ( mixed $data )
static bool setETag ( string $etag )
static bool setFile ( string $file )
static bool setGzip ( bool $gzip )
static bool setHeader ( string $name [, mixed $value [, bool $replace = true ]] )
static bool setLastModified ( int $timestamp )
static bool setStream ( resource $stream )
static bool setThrottleDelay ( float $seconds )
static bool status ( int $status )
}

Membres de la classe

Propriétés

Propriétés statiques
Modificateurs | Type | Nom | Description
protected | booléen | cache | si l'on doit mettre en cache la réponse
protected | booléen | gzip | si l'on doit compresser gzip l'entité d'envoi à la volée
protected | chaîne de caractères | eTag | l'ETag généré ou personnalisé
protected | entier | lastModified | le timestamp généré ou personnalisé pour la dernière modification
protected | chaîne de caractères | cacheControl | configuration du Cache-Control
protected | chaîne de caractères | contentType | le Content-Type de l'entité d'envoi
protected | chaîne de caractères | contentDisposition | le Content-Disposition de l'entité d'envoi
protected | entier | bufferSize | la taille du buffer utilisée pour l'étranglement
protected | double | throttleDelay | le délai d'attente, en secondes, lors de l'étranglement

Constantes pré-définies

Type | Nom | Description
entier | REDIRECT | méthode de redirection demandée à appliquer
entier | REDIRECT_PERM | redirection permanente (301 Moved permanently)
entier | REDIRECT_FOUND | redirection standard (302 Found)
entier | REDIRECT_POST | redirection applicable aux demandes POST (303 See other)
entier | REDIRECT_PROXY | redirection de proxy (305 Use proxy)
entier | REDIRECT_TEMP | redirection temporaire (307 Temporary Redirect)

Sommaire

  • HttpResponse::capture — Capture la sortie du script
  • HttpResponse::getBufferSize — Récupère la taille du buffer
  • HttpResponse::getCache — Récupère le cache
  • HttpResponse::getCacheControl — Récupère l'en-tête Cache-Control
  • HttpResponse::getContentDisposition — Récupère l'en-tête Content-Disposition
  • HttpResponse::getContentType — Récupère l'en-tête Content-Type
  • HttpResponse::getData — Récupère les données
  • HttpResponse::getETag — Récupère l'ETag
  • HttpResponse::getFile — Récupère le fichier
  • HttpResponse::getGzip — Récupère la configuration gzip
  • HttpResponse::getHeader — Récupère un en-tête
  • HttpResponse::getLastModified — Récupère l'en-tête Last-Modified
  • HttpResponse::getRequestBody — Récupère le corps de la demande
  • HttpResponse::getRequestBodyStream — Récupère le flux du corps de la demande
  • HttpResponse::getRequestHeaders — Récupère les en-têtes de la demande
  • HttpResponse::getStream — Récupère le flux
  • HttpResponse::getThrottleDelay — Récupère le délai de la commande
  • HttpResponse::guessContentType — Devine le type de contenu
  • HttpResponse::redirect — Redirection
  • HttpResponse::send — Envoie la réponse
  • HttpResponse::setBufferSize — Définit la taille du buffer
  • HttpResponse::setCache — Définit le cache
  • HttpResponse::setCacheControl — Définit l'en-tête cache-control
  • HttpResponse::setContentDisposition — Définit l'en-tête Content-Disposition
  • HttpResponse::setContentType — Définit l'en-tête content-type
  • HttpResponse::setData — Définit les données
  • HttpResponse::setETag — Définit l'ETag
  • HttpResponse::setFile — Définit le fichier
  • HttpResponse::setGzip — Définit le mode gzip
  • HttpResponse::setHeader — Définit un en-tête HTTP
  • HttpResponse::setLastModified — Définit l'en-tête Last-Modified
  • HttpResponse::setStream — Définit le flux
  • HttpResponse::setThrottleDelay — Définit le délai de la commande
  • HttpResponse::status — Envoi le statut de la réponse HTTP
HttpRequestPool::socketSelect
HttpResponse::capture
HTTP


Capture la sortie du script

Classe HttpResponse
HttpResponse::getBufferSize
Classe HttpResponse
PHP Manual

HttpResponse::capture

(PECL pecl_http >= 0.10.0)

HttpResponse::capture — Capture la sortie du script

Description

static void HttpResponse::capture ( void )

Capture la sortie du script.

Exemples

Exemple #1 Exemple avec HttpResponse::capture()

<?php
HttpResponse::setCache(true);
HttpResponse::capture();
// script follows
?>

Voir aussi

  • HttpResponse::send - Envoie la réponse

Classe HttpResponse
HttpResponse::getBufferSize
Classe HttpResponse


Récupère la taille du buffer

HttpResponse::capture
HttpResponse::getCache
Classe HttpResponse
PHP Manual

HttpResponse::getBufferSize

(PECL pecl_http >= 0.10.0)

HttpResponse::getBufferSize — Récupère la taille du buffer

Description

static int HttpResponse::getBufferSize ( void )

Récupère la taille du buffer.

Valeurs de retour

Retourne un entier représentant la taille du buffer courant en octets.

Voir aussi

  • HttpResponse::setBufferSize - Définit la taille du buffer
  • HttpResponse::getThrottleDelay - Récupère le délai de la commande
  • HttpResponse::setThrottleDelay - Définit le délai de la commande

HttpResponse::capture
HttpResponse::getCache
Classe HttpResponse


Récupère le cache

HttpResponse::getBufferSize
HttpResponse::getCacheControl
Classe HttpResponse
PHP Manual

HttpResponse::getCache

(PECL pecl_http >= 0.10.0)

HttpResponse::getCache — Récupère le cache

Description

static bool HttpResponse::getCache ( void )

Récupère la configuration du cache courant.

Valeurs de retour

Retourne TRUE si le cache est disponible, FALSE sinon.

Voir aussi

  • HttpResponse::setCacheControl - Définit l'en-tête cache-control
  • HttpResponse::getCacheControl - Récupère l'en-tête Cache-Control
  • HttpResponse::setCache - Définit le cache

HttpResponse::getBufferSize
HttpResponse::getCacheControl
Classe HttpResponse


Récupère l'en-tête Cache-Control

HttpResponse::getCache
HttpResponse::getContentDisposition
Classe HttpResponse
PHP Manual

HttpResponse::getCacheControl

(PECL pecl_http >= 0.10.0)

HttpResponse::getCacheControl — Récupère l'en-tête Cache-Control

Description

static string HttpResponse::getCacheControl ( void )

Récupère l'en-tête Cache-Control courant.

Valeurs de retour

Retourne la configuration du contrôle du cache courant sous la forme d'une chaîne de caractères comme envoyée dans l'en-tête.

Voir aussi

  • HttpResponse::setCacheControl - Définit l'en-tête cache-control
  • HttpResponse::setCache - Définit le cache
  • HttpResponse::getCache - Récupère le cache

HttpResponse::getCache
HttpResponse::getContentDisposition
Classe HttpResponse


Récupère l'en-tête Content-Disposition

HttpResponse::getCacheControl
HttpResponse::getContentType
Classe HttpResponse
PHP Manual

HttpResponse::getContentDisposition

(PECL pecl_http >= 0.10.0)

HttpResponse::getContentDisposition — Récupère l'en-tête Content-Disposition

Description

static string HttpResponse::getContentDisposition ( void )

Récupère l'en-tête Content-Disposition courant.

Valeurs de retour

Retourne le contenu de l'en-tête Content-Disposition courant sous la forme d'une chaîne de caractères comme envoyée à l'en-tête.

Voir aussi

  • HttpResponse::setContentDisposition - Définit l'en-tête Content-Disposition
  • HttpResponse::getContentType - Récupère l'en-tête Content-Type
  • HttpResponse::setContentType - Définit l'en-tête content-type

HttpResponse::getCacheControl
HttpResponse::getContentType
Classe HttpResponse


Récupère l'en-tête Content-Type

HttpResponse::getContentDisposition
HttpResponse::getData
Classe HttpResponse
PHP Manual

HttpResponse::getContentType

(PECL pecl_http >= 0.10.0)

HttpResponse::getContentType — Récupère l'en-tête Content-Type

Description

static string HttpResponse::getContentType ( void )

Récupère l'en-tête Content-Type courant.

Valeurs de retour

Retourne l'en-tête Content-Type courant sous la forme d'une chaîne de caractères.

Voir aussi

  • HttpResponse::getContentDisposition - Récupère l'en-tête Content-Disposition
  • HttpResponse::setContentDisposition - Définit l'en-tête Content-Disposition
  • HttpResponse::setContentType - Définit l'en-tête content-type
  • HttpResponse::guessContentType - Devine le type de contenu

HttpResponse::getContentDisposition
HttpResponse::getData
Classe HttpResponse


Récupère les données

HttpResponse::getContentType
HttpResponse::getETag
Classe HttpResponse
PHP Manual

HttpResponse::getData

(PECL pecl_http >= 0.10.0)

HttpResponse::getData — Récupère les données

Description

static string HttpResponse::getData ( void )

Récupère les données précédemment définies à envoyer.

Valeurs de retour

Retourne une chaîne contenant les données précédemment définies à envoyer.

Voir aussi

  • HttpResponse::setData - Définit les données
  • HttpResponse::getFile - Récupère le fichier
  • HttpResponse::setFile - Définit le fichier
  • HttpResponse::getStream - Récupère le flux
  • HttpResponse::setStream - Définit le flux

HttpResponse::getContentType
HttpResponse::getETag
Classe HttpResponse


Récupère l'ETag

HttpResponse::getData
HttpResponse::getFile
Classe HttpResponse
PHP Manual

HttpResponse::getETag

(PECL pecl_http >= 0.10.0)

HttpResponse::getETag — Récupère l'ETag

Description

static string HttpResponse::getETag ( void )

Récupère l'ETag calculé ou précédemment défini.

Valeurs de retour

Retourne l'ETag calculé ou précédemment défini sous la forme d'une chaîne.

Voir aussi

  • HttpResponse::getLastModified - Récupère l'en-tête Last-Modified
  • HttpResponse::setLastModified - Définit l'en-tête Last-Modified
  • HttpResponse::setETag - Définit l'ETag

HttpResponse::getData
HttpResponse::getFile
Classe HttpResponse


Récupère le fichier

HttpResponse::getETag
HttpResponse::getGzip
Classe HttpResponse
PHP Manual

HttpResponse::getFile

(PECL pecl_http >= 0.10.0)

HttpResponse::getFile — Récupère le fichier

Description

static string HttpResponse::getFile ( void )

Récupère le fichier précédemment défini à envoyer.

Valeurs de retour

Retourne le chemin précédemment défini vers le fichier à envoyer, sous la forme d'une chaîne de caractères.

Voir aussi

  • HttpResponse::getData - Récupère les données
  • HttpResponse::setData - Définit les données
  • HttpResponse::setFile - Définit le fichier
  • HttpResponse::getStream - Récupère le flux
  • HttpResponse::setStream - Définit le flux

HttpResponse::getETag
HttpResponse::getGzip
Classe HttpResponse


Récupère la configuration gzip

HttpResponse::getFile
HttpResponse::getHeader
Classe HttpResponse
PHP Manual

HttpResponse::getGzip

(PECL pecl_http >= 0.10.0)

HttpResponse::getGzip — Récupère la configuration gzip

Description

static bool HttpResponse::getGzip ( void )

Récupère la configuration courante du gzip.

Valeurs de retour

Retourne TRUE si la compression GZip est active, FALSE sinon.

Voir aussi

  • HttpResponse::setGzip - Définit le mode gzip

HttpResponse::getFile
HttpResponse::getHeader
Classe HttpResponse


Récupère un en-tête

HttpResponse::getGzip
HttpResponse::getLastModified
Classe HttpResponse
PHP Manual

HttpResponse::getHeader

(PECL pecl_http >= 0.12.0)

HttpResponse::getHeader — Récupère un en-tête

Description

static mixed HttpResponse::getHeader ([ string $name ] )

Récupère un(des) en-tête(s) à envoyer.

Note: Ne fonctionnera pas comme prévu avec les SAPIs suivants : Apache2 w/PHP < 5.1.3.

Liste de paramètres

name

spécifie le nom de l'en-tête à lire ; si ce paramètre est vide ou omis, un tableau associatif contenant tous les en-têtes sera retourné

Valeurs de retour

Retourne soit une chaîne contenant la valeur de l'en-tête correspondant au nom, soit FALSE si une erreur survient, soit un tableau associatif contenant tous les en-têtes.

Voir aussi

  • HttpResponse::setHeader - Définit un en-tête HTTP

HttpResponse::getGzip
HttpResponse::getLastModified
Classe HttpResponse


Récupère l'en-tête Last-Modified

HttpResponse::getHeader
HttpResponse::getRequestBody
Classe HttpResponse
PHP Manual

HttpResponse::getLastModified

(PECL pecl_http >= 0.12.0)

HttpResponse::getLastModified — Récupère l'en-tête Last-Modified

Description

static int HttpResponse::getLastModified ( void )

Récupère la date de l'en-tête Last-Modified calculée ou précédemment définie.

Valeurs de retour

Retourne un timestamp Unix calculé ou précédemment défini.

Voir aussi

  • HttpResponse::setLastModified - Définit l'en-tête Last-Modified
  • HttpResponse::getETag - Récupère l'ETag
  • HttpResponse::setETag - Définit l'ETag

HttpResponse::getHeader
HttpResponse::getRequestBody
Classe HttpResponse


Récupère le corps de la demande

HttpResponse::getLastModified
HttpResponse::getRequestBodyStream
Classe HttpResponse
PHP Manual

HttpResponse::getRequestBody

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBody — Récupère le corps de la demande

Description

static string HttpResponse::getRequestBody ( void )

Cette fonction est un alias de : http_get_request_body().

HttpResponse::getLastModified
HttpResponse::getRequestBodyStream
Classe HttpResponse


Récupère le flux du corps de la demande

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
Classe HttpResponse
PHP Manual

HttpResponse::getRequestBodyStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBodyStream — Récupère le flux du corps de la demande

Description

static resource HttpResponse::getRequestBodyStream ( void )

Cette fonction est un alias de : http_get_request_body_stream().

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
Classe HttpResponse


Récupère les en-têtes de la demande

HttpResponse::getRequestBodyStream
HttpResponse::getStream
Classe HttpResponse
PHP Manual

HttpResponse::getRequestHeaders

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestHeaders — Récupère les en-têtes de la demande

Description

static array HttpResponse::getRequestHeaders ( void )

Cette fonction est un alias de : http_get_request_headers().

HttpResponse::getRequestBodyStream
HttpResponse::getStream
Classe HttpResponse


Récupère le flux

HttpResponse::getRequestHeaders
HttpResponse::getThrottleDelay
Classe HttpResponse
PHP Manual

HttpResponse::getStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getStream — Récupère le flux

Description

static resource HttpResponse::getStream ( void )

Récupère la ressource précédemment définie à envoyer.

Liste de paramètres

Valeurs de retour

Retourne la ressource précédemment définie.

Voir aussi

  • HttpResponse::getData - Récupère les données
  • HttpResponse::setData - Définit les données
  • HttpResponse::getFile - Récupère le fichier
  • HttpResponse::setFile - Définit le fichier
  • HttpResponse::setStream - Définit le flux

HttpResponse::getRequestHeaders
HttpResponse::getThrottleDelay
Classe HttpResponse


Récupère le délai de la commande

HttpResponse::getStream
HttpResponse::guessContentType
Classe HttpResponse
PHP Manual

HttpResponse::getThrottleDelay

(PECL pecl_http >= 0.10.0)

HttpResponse::getThrottleDelay — Récupère le délai de la commande

Description

static double HttpResponse::getThrottleDelay ( void )

Récupère le délai courant de la commande.

Valeurs de retour

Retourne le délai de la commande courante, en secondes.

Voir aussi

  • HttpResponse::getBufferSize - Récupère la taille du buffer
  • HttpResponse::setBufferSize - Définit la taille du buffer
  • HttpResponse::setThrottleDelay - Définit le délai de la commande

HttpResponse::getStream
HttpResponse::guessContentType
Classe HttpResponse


Devine le type de contenu

HttpResponse::getThrottleDelay
HttpResponse::redirect
Classe HttpResponse
PHP Manual

HttpResponse::guessContentType

(PECL pecl_http >= 0.13.0)

HttpResponse::guessContentType — Devine le type de contenu

Description

static string HttpResponse::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME ] )

Essaie de deviner le type de contenu à l'aide de libmagic.

Si c'est un succès, le type de contenu sera automatiquement défini comme type de contenu de la réponse.

Liste de paramètres

magic_file

spécifie la base de données magic.mime à utiliser

magic_mode

balises pour libmagic

Valeurs de retour

Retourne le type de contenu trouvé en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lance une exception HttpRuntimeException, HttpInvalidParamException.

Voir aussi

  • HttpResponse::getContentType - Récupère l'en-tête Content-Type
  • HttpResponse::setContentType - Définit l'en-tête content-type

HttpResponse::getThrottleDelay
HttpResponse::redirect
Classe HttpResponse


Redirection

HttpResponse::guessContentType
HttpResponse::send
Classe HttpResponse
PHP Manual

HttpResponse::redirect

(PECL pecl_http >= 0.10.0)

HttpResponse::redirect — Redirection

Description

static void HttpResponse::redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )

Cette fonction est un alias de : http_redirect().

HttpResponse::guessContentType
HttpResponse::send
Classe HttpResponse


Envoie la réponse

HttpResponse::redirect
HttpResponse::setBufferSize
Classe HttpResponse
PHP Manual

HttpResponse::send

(PECL pecl_http >= 0.10.0)

HttpResponse::send — Envoie la réponse

Description

static bool HttpResponse::send ([ bool $clean_ob = true ] )

Envoie la réponse.

Si c'est un succès, le script se termine et une entrée dans l'historique est écrite si le directive de configuration INI http.log.cache est défini. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".

Liste de paramètres

clean_ob

si l'on doit détruire tous les gestionnaires de sortie précédemment démarrés ainsi que leurs buffers

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec HttpResponse::send()

<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

Voir aussi

  • HttpResponse::capture - Capture la sortie du script

HttpResponse::redirect
HttpResponse::setBufferSize
Classe HttpResponse


Définit la taille du buffer

HttpResponse::send
HttpResponse::setCache
Classe HttpResponse
PHP Manual

HttpResponse::setBufferSize

(PECL pecl_http >= 0.10.0)

HttpResponse::setBufferSize — Définit la taille du buffer

Description

static bool HttpResponse::setBufferSize ( int $bytes )

Définit la taille du buffer du mécanisme.

Note: Fournit un mécanisme d'étranglement, qui gèrera le processus courant tant que l'entité n'aura pas été complètement envoyé.

Note: Ne fonctionnera pas comme prévu avec les SAPIs suivants : FastCGI.

Liste de paramètres

bytes

la taille, en octets

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getBufferSize - Récupère la taille du buffer
  • HttpResponse::getThrottleDelay - Récupère le délai de la commande
  • HttpResponse::setThrottleDelay - Définit le délai de la commande

HttpResponse::send
HttpResponse::setCache
Classe HttpResponse


Définit le cache

HttpResponse::setBufferSize
HttpResponse::setCacheControl
Classe HttpResponse
PHP Manual

HttpResponse::setCache

(PECL pecl_http >= 0.10.0)

HttpResponse::setCache — Définit le cache

Description

static bool HttpResponse::setCache ( bool $cache )

Si l'on doit mettre en cache l'entrée.

Ceci rend nécessaire la mise en cache des en-têtes ainsi que la vérification des en-têtes If-Modified-Since et If-None-Match du client. Si un de ces en-têtes correspond, le code statut 304 Not Modified sera envoyé.

Note: Si vous utilisez les sessions, assurez-vous que l'option de configuration session.cache_limiter contient quelque chose de plus approprié que no-cache !

Liste de paramètres

cache

si l'on doit mettre en cache

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::setCacheControl - Définit l'en-tête cache-control
  • HttpResponse::getCacheControl - Récupère l'en-tête Cache-Control
  • HttpResponse::getCachel

HttpResponse::setBufferSize
HttpResponse::setCacheControl
Classe HttpResponse


Définit l'en-tête cache-control

HttpResponse::setCache
HttpResponse::setContentDisposition
Classe HttpResponse
PHP Manual

HttpResponse::setCacheControl

(PECL pecl_http >= 0.10.0)

HttpResponse::setCacheControl — Définit l'en-tête cache-control

Description

static bool HttpResponse::setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = true ]] )

Définit l'en-tête personnalisé cache-control, habituellement de type privé ou public;

Liste de paramètres

control

la configuration du contrôle du cache primaire

max_age

la durée de validité, en secondes, suggère combien de temps l'entrée du cache est valide côté client

must_revalidate

si l'entrée du cache doit être revalidé par le client à chaque requête

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si le contrôle ne correspond pas à public, private ou no-cache.

Voir aussi

  • HttpResponse::getCacheControl() - Récupère l'en-tête Cache-Control
  • HttpResponse::setCache() - Définit le cache
  • HttpResponse::getCache() - Récupère le cache

HttpResponse::setCache
HttpResponse::setContentDisposition
Classe HttpResponse


Définit l'en-tête Content-Disposition

HttpResponse::setCacheControl
HttpResponse::setContentType
Classe HttpResponse
PHP Manual

HttpResponse::setContentDisposition

(PECL pecl_http >= 0.10.0)

HttpResponse::setContentDisposition — Définit l'en-tête Content-Disposition

Description

static bool HttpResponse::setContentDisposition ( string $filename [, bool $inline = false ] )

Définit l'en-tête Content-Disposition. L'en-tête Content-Disposition est très utile si les données actuellement envoyées, provenant d'un fichier ou quelque chose de similaire, doivent être sauvegardées par le client/utilisateur (i.e. via la fenêtre de dialogue des navigateurs "Enregistrer sous...").

Liste de paramètres

filename

le nom du fichier à afficher dans la fenêtre "Sauvegarder sous..."

inline

si défini à TRUE et que l'agent utilisateur sait gérer ce type de contenu, la fenêtre de sauvegarde du navigateur ne s'affichera pas

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getContentDisposition - Récupère l'en-tête Content-Disposition
  • HttpResponse::getContentType - Récupère l'en-tête Content-Type
  • HttpResponse::setContentType - Définit l'en-tête content-type

HttpResponse::setCacheControl
HttpResponse::setContentType
Classe HttpResponse


Définit l'en-tête content-type

HttpResponse::setContentDisposition
HttpResponse::setData
Classe HttpResponse
PHP Manual

HttpResponse::setContentType

(PECL pecl_http >= 0.10.0)

HttpResponse::setContentType — Définit l'en-tête content-type

Description

static bool HttpResponse::setContentType ( string $content_type )

Définit l'en-tête content-type de l'entité envoyée.

Liste de paramètres

content_type

le type de contenu de l'entité envoyée (primaire/secondaire)

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si le type de contenu semble ne pas contenir de partie primaire et secondaire.

Voir aussi

  • HttpResponse::getContentDisposition - Récupère l'en-tête Content-Disposition
  • HttpResponse::setContentDisposition - Définit l'en-tête Content-Disposition
  • HttpResponse::getContentType - Récupère l'en-tête Content-Type
  • HttpResponse::guessContentType - Devine le type de contenu

HttpResponse::setContentDisposition
HttpResponse::setData
Classe HttpResponse


Définit les données

HttpResponse::setContentType
HttpResponse::setETag
Classe HttpResponse
PHP Manual

HttpResponse::setData

(PECL pecl_http >= 0.10.0)

HttpResponse::setData — Définit les données

Description

static bool HttpResponse::setData ( mixed $data )

Définit les données à envoyer.

Note: Les en-têtes ETag et Last-Modified précédemment calculés ou définis, doivent être recalculés et redéfinis.

Liste de paramètres

data

les données à envoyer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getData - Récupère les données
  • HttpResponse::getFile - Récupère le fichier
  • HttpResponse::setFile - Définit le fichier
  • HttpResponse::getStream - Récupère le flux
  • HttpResponse::setStream - Définit le flux

HttpResponse::setContentType
HttpResponse::setETag
Classe HttpResponse


Définit l'ETag

HttpResponse::setData
HttpResponse::setFile
Classe HttpResponse
PHP Manual

HttpResponse::setETag

(PECL pecl_http >= 0.10.0)

HttpResponse::setETag — Définit l'ETag

Description

static bool HttpResponse::setETag ( string $etag )

Définit l'ETag personnalisé. Utilisez ceci uniquement si vous savez ce que vous faîtes.

Liste de paramètres

etag

l'ETag

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getLastModified - Récupère l'en-tête Last-Modified
  • HttpResponse::setLastModified - Définit l'en-tête Last-Modified
  • HttpResponse::getETag - Récupère l'ETag

HttpResponse::setData
HttpResponse::setFile
Classe HttpResponse


Définit le fichier

HttpResponse::setETag
HttpResponse::setGzip
Classe HttpResponse
PHP Manual

HttpResponse::setFile

(PECL pecl_http >= 0.10.0)

HttpResponse::setFile — Définit le fichier

Description

static bool HttpResponse::setFile ( string $file )

Définit le fichier à envoyer.

Note: Les en-têtes ETag et Last-Modified précédemment calculés ou définis, doivent être recalculés et redéfinis.

Liste de paramètres

file

le chemin vers le fichier à envoyer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getData - Récupère les données
  • HttpResponse::setData - Définit les données
  • HttpResponse::getFile - Récupère le fichier
  • HttpResponse::getStream - Récupère le flux
  • HttpResponse::setStream - Définit le flux

HttpResponse::setETag
HttpResponse::setGzip
Classe HttpResponse


Définit le mode gzip

HttpResponse::setFile
HttpResponse::setHeader
Classe HttpResponse
PHP Manual

HttpResponse::setGzip

(PECL pecl_http >= 0.10.0)

HttpResponse::setGzip — Définit le mode gzip

Description

static bool HttpResponse::setGzip ( bool $gzip )

Active à la volée le mode gzip pour l'entité envoyée.

Liste de paramètres

gzip

si l'on doit activer le mode GZip ou non

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getGzip - Récupère la configuration gzip

HttpResponse::setFile
HttpResponse::setHeader
Classe HttpResponse


Définit un en-tête HTTP

HttpResponse::setGzip
HttpResponse::setLastModified
Classe HttpResponse
PHP Manual

HttpResponse::setHeader

(PECL pecl_http >= 0.12.0)

HttpResponse::setHeader — Définit un en-tête HTTP

Description

static bool HttpResponse::setHeader ( string $name [, mixed $value [, bool $replace = true ]] )

Définit un en-tête HTTP.

Liste de paramètres

name

le nom de l'en-tête

value

la valeur de l'en-tête ; si ce paramètre n'est pas définit, aucun en-tête avec ce nom ne sera envoyé

replace

si l'on doit remplacer un en-tête éventuel déjà existant

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getHeader - Récupère un en-tête

HttpResponse::setGzip
HttpResponse::setLastModified
Classe HttpResponse


Définit l'en-tête Last-Modified

HttpResponse::setHeader
HttpResponse::setStream
Classe HttpResponse
PHP Manual

HttpResponse::setLastModified

(PECL pecl_http >= 0.12.0)

HttpResponse::setLastModified — Définit l'en-tête Last-Modified

Description

static bool HttpResponse::setLastModified ( int $timestamp )

Définit la date pour l'en-tête Last-Modified personnalisé.

Liste de paramètres

timestamp

un timestamp Unix représentant la date de dernière modification de l'entité envoyée

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getLastModified - Récupère l'en-tête Last-Modified
  • HttpResponse::getETag - Récupère l'ETag
  • HttpResponse::setETag - Définit l'ETag

HttpResponse::setHeader
HttpResponse::setStream
Classe HttpResponse


Définit le flux

HttpResponse::setLastModified
HttpResponse::setThrottleDelay
Classe HttpResponse
PHP Manual

HttpResponse::setStream

(PECL pecl_http >= 0.10.0)

HttpResponse::setStream — Définit le flux

Description

static bool HttpResponse::setStream ( resource $stream )

Définit la ressource à envoyer.

Note: Les en-têtes ETag et Last-Modified précédemment calculés ou définis, doivent être recalculés et redéfinis.

Liste de paramètres

stream

flux déjà ouvert depuis lequel les données à envoyer doivent être lues

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getData - Récupère les données
  • HttpResponse::setData - Définit les données
  • HttpResponse::getFile - Récupère le fichier
  • HttpResponse::setFile - Définit le fichier
  • HttpResponse::getStream - Récupère le flux

HttpResponse::setLastModified
HttpResponse::setThrottleDelay
Classe HttpResponse


Définit le délai de la commande

HttpResponse::setStream
HttpResponse::status
Classe HttpResponse
PHP Manual

HttpResponse::setThrottleDelay

(PECL pecl_http >= 0.10.0)

HttpResponse::setThrottleDelay — Définit le délai de la commande

Description

static bool HttpResponse::setThrottleDelay ( float $seconds )

Définit le délai de la commande.

Note: Fournit un mécanisme d'étranglement, qui gèrera le processus courant tant que l'entité n'aura pas été complètement envoyé.

Note: Ne fonctionnera pas comme prévu avec les SAPIs suivants : FastCGI.

Liste de paramètres

seconds

secondes à attendre entre chaque envoi

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • HttpResponse::getBufferSize - Récupère la taille du buffer
  • HttpResponse::setBufferSize - Définit la taille du buffer
  • HttpResponse::getThrottleDelay - Récupère le délai de la commande

HttpResponse::setStream
HttpResponse::status
Classe HttpResponse


Envoi le statut de la réponse HTTP

HttpResponse::setThrottleDelay
HTTP Fonctions
Classe HttpResponse
PHP Manual

HttpResponse::status

(PECL pecl_http >= 0.12.0)

HttpResponse::status — Envoi le statut de la réponse HTTP

Description

static bool HttpResponse::status ( int $status )

Cette fonction est un alias de : http_send_status().

HttpResponse::setThrottleDelay
HTTP Fonctions
Classe HttpResponse


HTTP Fonctions

Les fonctions relatives à HTTP se trouvant précédemment sur cette page se trouvent désormais dans la catégorie réseau.

Les fonctions suivantes n'ont pas besoin de la présence du module HTTP : header(), headers_list(), headers_sent(), setcookie() et setrawcookie().

Groupe de fonctions

Mise en cache

  • http_cache_etag()
  • http_cache_last_modified()

Encodage

  • http_chunked_decode()
  • http_deflate()
  • http_inflate()

Divers

  • http_build_cookie()
  • http_date()
  • http_get_request_body_stream()
  • http_get_request_body()
  • http_get_request_headers()
  • http_match_etag()
  • http_match_modified()
  • http_match_request_header()
  • http_support()

Négociation

  • http_negotiate_charset()
  • http_negotiate_content_type()
  • http_negotiate_language()

Gestionnaires de sortie

  • ob_deflatehandler()
  • ob_etaghandler()
  • ob_inflatehandler()

Analyseurs

  • http_parse_cookie()
  • http_parse_headers()
  • http_parse_message()
  • http_parse_params()

Requêtes

  • http_get()
  • http_head()
  • http_post_data()
  • http_post_fields()
  • http_put_data()
  • http_put_file()
  • http_put_stream()
  • http_request_body_encode()
  • http_request_method_exists()
  • http_request_method_name()
  • http_request_method_register()
  • http_request_method_unregister()
  • http_request()

Réponses

  • http_redirect()
  • http_send_content_disposition()
  • http_send_content_type()
  • http_send_data()
  • http_send_file()
  • http_send_last_modified()
  • http_send_status()
  • http_send_stream()
  • http_throttle()

Url

  • http_build_str()
  • http_build_url()

Gestionnaires persistants

  • http_persistent_handles_count()
  • http_persistent_handles_ident()
  • http_persistent_handles_clean()

Sommaire

  • http_cache_etag — Mise en cache en fonction de l'ETag
  • http_cache_last_modified — Mise en cache en fonction de la date de dernière modification
  • http_chunked_decode — Décode un fragment de donnée encodé
  • http_deflate — Compresse des données
  • http_inflate — Décompresse des données
  • http_build_cookie — Construit le cookie
  • http_date — Compose une date respectant la RFC HTTP
  • http_get_request_body_stream — Récupère le corps demandé sous la forme d'un flux
  • http_get_request_body — Récupère le corps demandé sous la forme d'une chaîne de caractères
  • http_get_request_headers — Récupère les en-têtes sous la forme d'un tableau
  • http_match_etag — Cherche un ETag particulier
  • http_match_modified — Vérifie la date de dernière modification
  • http_match_request_header — Cherche n'importe quel en-tête
  • http_support — Vérifie le support HTTP interne
  • http_negotiate_charset — Jeu de caractères préféré pour la négociation avec les clients
  • http_negotiate_content_type — Négocie avec le client le type de contenu préféré
  • http_negotiate_language — Négocie le langage préféré par les clients
  • ob_deflatehandler — Gestionnaire de sortie de compression
  • ob_etaghandler — Gestionnaire de sortie ETag
  • ob_inflatehandler — Gestionnaire de sortie de décompression
  • http_parse_cookie — Analyse un cookie HTTP
  • http_parse_headers — Analyse les entêtes HTTP
  • http_parse_message — Analyse un message HTTP
  • http_parse_params — Analyse la liste des paramètres
  • http_persistent_handles_clean — Nettoie le gestionnaire persistant
  • http_persistent_handles_count — Récupère les statistiques sur le gestionnaire persistant
  • http_persistent_handles_ident — Récupère/définit l'identification du gestionnaire persistant
  • http_get — Effectue une requête GET
  • http_head — Effectue une requête HEAD
  • http_post_data — Effectue une requête POST avec des données préencodées
  • http_post_fields — Effectue une requête POST avec des données à encoder
  • http_put_data — Effectue une requête PUT avec des données
  • http_put_file — Effectue une requête PUT avec un fichier
  • http_put_stream — Effectue une requête PUT avec un flux
  • http_request_body_encode — Encode le corps de la requête
  • http_request_method_exists — Vérifie si la méthode de requête existe
  • http_request_method_name — Récupère le nom de la requête
  • http_request_method_register — Enregistre une méthode de requête
  • http_request_method_unregister — Retire une méthode de requête
  • http_request — Effectue une requête personnalisée
  • http_redirect — Effectue une redirection HTTP
  • http_send_content_disposition — Envoi l'en-tête Content-Disposition
  • http_send_content_type — Envoi le type de contenu
  • http_send_data — Envoi des données arbitraires
  • http_send_file — Envoi un fichier
  • http_send_last_modified — Envoi l'en-tête Last-Modified
  • http_send_status — Envoi le statut réponse HTTP
  • http_send_stream — Envoi un flux
  • http_throttle — Étranglement HTTP
  • http_build_str — Construit une URL à partir d'une chaîne de caractères
  • http_build_url — Construit une URL
HttpResponse::status
http_cache_etag
HTTP


Mise en cache en fonction de l'ETag

HTTP Fonctions
http_cache_last_modified
HTTP Fonctions
PHP Manual

http_cache_etag

(PECL pecl_http >= 0.1.0)

http_cache_etag — Mise en cache en fonction de l'ETag

Description

bool http_cache_etag ([ string $etag ] )

Tente de mettre en cache l'entité envoyée en fonction de l'ETag soit fourni, soit généré par l'algorithme de hashage spécifié par l'directive de configuration INI http.etag.mode.

Si l'en-tête If-None-Match du client correspond à l'ETag fourni/calculé, le corps est considéré comme étant en cache côté client et un code statut 304 Not Modified est émis.

Une entrée dans l'historique est écrite dans l'historique de cache si le directive de configuration INI http.log.cache est défini et que la mise en cache est un succès.

Note: Cette fonction doit être utilisée avec les fonctions http_send_data(), http_send_file() et http_send_stream().

Si cette fonction est utilisée en dehors de l'API http_send_*(), il facilite ob_etaghandler().

Liste de paramètres

etag

ETag personnalisé

Valeurs de retour

Retourne FALSE ou exits en cas de succès avec un en-tête 304 Not Modified si l'entité est mis en cache. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".

Exemples

Exemple #1 Exemple avec http_cache_etag()

<?php
http_cache_etag();
http_send_data("data");
?>

Voir aussi

  • http_cache_last_modified() - Mise en cache en fonction de la date de dernière modification
  • ob_etaghandler() - Gestionnaire de sortie ETag
  • http_match_etag() - Cherche un ETag particulier
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

HTTP Fonctions
http_cache_last_modified
HTTP Fonctions


Mise en cache en fonction de la date de dernière modification

http_cache_etag
http_chunked_decode
HTTP Fonctions
PHP Manual

http_cache_last_modified

(PECL pecl_http >= 0.1.0)

http_cache_last_modified — Mise en cache en fonction de la date de dernière modification

Description

bool http_cache_last_modified ([ int $timestamp_or_expires ] )

Tente de mettre en cache l'entité envoyé en fonction de sa date de dernière modification.

Si l'argument fourni est plus grand que 0, il sera considéré comme un timestamp Unix et sera envoyé comme date de dernière modification. S'il vaut 0 ou s'il est omis, la date courante sera envoyée comme en-tête Last-Modified. S'il est négatif, il sera considéré comme une date d'expiration, en secondes, ce qui signifie que si la date de dernière modification demandée n'est pas dans l'intervalle de la période calculée, l'en-tête Last-Modified sera mise à jour et le corps actuel sera envoyé.

Une entrée dans l'historique sera écrite dans l'historique du cache si le directive de configuration INI http.log.cache est défini et que la mise en cache est un succès.

Note: Cette fonction doit être utilisée avec les fonctions http_send_data(), http_send_file() et http_send_stream().

Liste de paramètres

timestamp_or_expires

Timestamp Unix

Valeurs de retour

Retourne FALSE ou exits en cas de succès avec un en-tête 304 Not Modified si l'entité est mis en cache. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".

Exemples

Exemple #1 Exemple avec http_cache_last_modified()

Mise en cache pour 5 secondes.

<?php
http_cache_last_modified(-5);
printf("%s\n", http_date());
?>

Voir aussi

  • http_cache_etag() - Mise en cache en fonction de l'ETag
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_cache_etag
http_chunked_decode
HTTP Fonctions


Décode un fragment de donnée encodé

http_cache_last_modified
http_deflate
HTTP Fonctions
PHP Manual

http_chunked_decode

(PECL pecl_http >= 0.1.0)

http_chunked_decode — Décode un fragment de donnée encodé

Description

string http_chunked_decode ( string $encoded )

Décode un fragment de chaîne encodée.

Liste de paramètres

encoded

Fragment de chaîne encodée

Valeurs de retour

Retourne la chaîne décodée en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_chunked_decode()

<?php
$string = "".
    "05\r\n".
    "this \r\n".
    "07\r\n".
    "string \r\n".
    "12\r\n".
    "is chunked encoded\r\n".
    "01\n\r\n".
    "00";
echo http_chunked_decode($string);
?>

L'exemple ci-dessus va afficher :

this string is chunked encoded

http_cache_last_modified
http_deflate
HTTP Fonctions


Compresse des données

http_chunked_decode
http_inflate
HTTP Fonctions
PHP Manual

http_deflate

(PECL pecl_http >= 0.15.0)

http_deflate — Compresse des données

Description

string http_deflate ( string $data [, int $flags = 0 ] )

Compresse des données avec gzip, zlib AKA deflate ou l'encodage raw deflate.

Voir la table des constantes de compression pour les valeurs possibles pour le paramètre flags.

Liste de paramètres

data

chaîne contenant les données qui doivent être encodées

flags

Options de compression

Valeurs de retour

Retourne la chaîne encodée en cas de succès, ou NULL si une erreur survient.

Voir aussi

  • http_inflate() - Décompresse des données
  • HttpDeflateStream

http_chunked_decode
http_inflate
HTTP Fonctions


Décompresse des données

http_deflate
http_build_cookie
HTTP Fonctions
PHP Manual

http_inflate

(PECL pecl_http >= 0.15.0)

http_inflate — Décompresse des données

Description

string http_inflate ( string $data )

Décompresse des données compressées avec gzip, deflate AKA zlib ou l'encodage raw deflate.

Liste de paramètres

data

chaîne contenant les données compressées

Valeurs de retour

Retourne la chaîne décodée en cas de succès, ou NULL si une erreur survient.

Voir aussi

  • http_deflate() - Compresse des données
  • HttpInflateStream

http_deflate
http_build_cookie
HTTP Fonctions


Construit le cookie

http_inflate
http_date
HTTP Fonctions
PHP Manual

http_build_cookie

(PECL pecl_http >= 1.2.0)

http_build_cookie — Construit le cookie

Description

string http_build_cookie ( array $cookie )

Construit un cookie depuis un objet/tableau comme retourné par la fonction http_parse_cookie().

Liste de paramètres

cookie

une liste de cookies comme retournée par la fonction http_parse_cookie()

Valeurs de retour

Retourne le(s) cookie(s) sous la forme d'une chaîne de caractères.

Voir aussi

  • http_parse_cookie() - Analyse un cookie HTTP

http_inflate
http_date
HTTP Fonctions


Compose une date respectant la RFC HTTP

http_build_cookie
http_get_request_body_stream
HTTP Fonctions
PHP Manual

http_date

(PECL pecl_http >= 0.1.0)

http_date — Compose une date respectant la RFC HTTP

Description

string http_date ([ int $timestamp ] )

Compose une date HTTP valide au regard de la RFC 1123, tel que : Wed, 22 Dec 2004 11:34:47 GMT.

Liste de paramètres

timestamp

Timestamp Unix ou le temps actuel, si omis

Valeurs de retour

Retourne une date HTTP sous la forme d'une chaîne de caractères.

Voir aussi

  • date() - Formate une date/heure locale

http_build_cookie
http_get_request_body_stream
HTTP Fonctions


Récupère le corps demandé sous la forme d'un flux

http_date
http_get_request_body
HTTP Fonctions
PHP Manual

http_get_request_body_stream

(PECL pecl_http >= 0.22.0)

http_get_request_body_stream — Récupère le corps demandé sous la forme d'un flux

Description

resource http_get_request_body_stream ( void )

Crée un flux pour lire le corps demandé (e.g. données POST ou PUT).

Cette fonction ne peut être utilisée qu'une seule dois si la méthode de la demande est autre chose que POST.

Liste de paramètres

Valeurs de retour

Retourne le corps demandé sous la forme d'un flux en cas de succès, ou NULL si une erreur survient.

Voir aussi

  • http_get_request_body() - Récupère le corps demandé sous la forme d'une chaîne de caractères
  • http_get_request_headers() - Récupère les en-têtes sous la forme d'un tableau
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_date
http_get_request_body
HTTP Fonctions


Récupère le corps demandé sous la forme d'une chaîne de caractères

http_get_request_body_stream
http_get_request_headers
HTTP Fonctions
PHP Manual

http_get_request_body

(PECL pecl_http >= 0.10.0)

http_get_request_body — Récupère le corps demandé sous la forme d'une chaîne de caractères

Description

string http_get_request_body ( void )

Récupère le corps demandé (e.g. données POST ou PUT).

Cette fonction ne peut pas être utilisée après la fonction http_get_request_body_stream() si la méthode de la demande est autre chose que POST.

Liste de paramètres

Valeurs de retour

Retourne le corps demandé sous la forme d'une chaîne de caractères, ou NULL si une erreur survient.

Voir aussi

  • http_get_request_body_stream() - Récupère le corps demandé sous la forme d'un flux
  • http_get_request_headers() - Récupère les en-têtes sous la forme d'un tableau
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_get_request_body_stream
http_get_request_headers
HTTP Fonctions


Récupère les en-têtes sous la forme d'un tableau

http_get_request_body
http_match_etag
HTTP Fonctions
PHP Manual

http_get_request_headers

(PECL pecl_http >= 0.10.0)

http_get_request_headers — Récupère les en-têtes sous la forme d'un tableau

Description

array http_get_request_headers ( void )

Récupère une liste d'en-têtes HTTP entrants.

Liste de paramètres

Valeurs de retour

Retourne un tableau associatif d'en-têtes entrants.

Voir aussi

  • http_get_request_body() - Récupère le corps demandé sous la forme d'une chaîne de caractères
  • http_get_request_body_stream() - Récupère le corps demandé sous la forme d'un flux
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_get_request_body
http_match_etag
HTTP Fonctions


Cherche un ETag particulier

http_get_request_headers
http_match_modified
HTTP Fonctions
PHP Manual

http_match_etag

(PECL pecl_http >= 0.1.0)

http_match_etag — Cherche un ETag particulier

Description

bool http_match_etag ( string $etag [, bool $for_range = false ] )

Cherche l'ETag fourni dans l'en-tête HTTP If-Match ou If-None-Match du client.

Liste de paramètres

etag

l'ETag à chercher

for_range

si défini à TRUE, l'en-tête habituellement utilisé pour valider l'intervalle HTTP sera analysé

Valeurs de retour

Retourne TRUE si l'ETag correspond ou l'en-tête contient une astérisque ("*"), FALSE sinon.

Voir aussi

  • http_match_last_modified()
  • http_match_request_header() - Cherche n'importe quel en-tête
  • http_cache_etag() - Mise en cache en fonction de l'ETag
  • http_cache_last_modified() - Mise en cache en fonction de la date de dernière modification
  • ob_etaghandler() - Gestionnaire de sortie ETag

http_get_request_headers
http_match_modified
HTTP Fonctions


Vérifie la date de dernière modification

http_match_etag
http_match_request_header
HTTP Fonctions
PHP Manual

http_match_modified

(PECL pecl_http >= 0.1.0)

http_match_modified — Vérifie la date de dernière modification

Description

bool http_match_modified ([ int $timestamp [, bool $for_range = false ]] )

Vérifie si le timestamp Unix fourni est valide vis-à-vis de l'en-tête HTTP If-Modified-Since ou If-Unmodified-Since du client.

Liste de paramètres

timestamp

Timestamp Unix ou la date courante si ce paramètre est omis

for_range

si défini à TRUE, l'en-tête habituellement utilisé pour valider l'intervalle HTTP sera vérifié

Valeurs de retour

Retourne TRUE si le timestamp représente une date plus récente que l'en-tete, FALSE sinon.

Voir aussi

  • http_match_etag() - Cherche un ETag particulier
  • http_match_request_header() - Cherche n'importe quel en-tête
  • http_cache_etag() - Mise en cache en fonction de l'ETag
  • http_cache_last_modified() - Mise en cache en fonction de la date de dernière modification

http_match_etag
http_match_request_header
HTTP Fonctions


Cherche n'importe quel en-tête

http_match_modified
http_support
HTTP Fonctions
PHP Manual

http_match_request_header

(PECL pecl_http >= 0.10.0)

http_match_request_header — Cherche n'importe quel en-tête

Description

bool http_match_request_header ( string $header , string $value [, bool $match_case = false ] )

Cherche un en-tête HTTP entrant.

Liste de paramètres

header

le nom de l'en-tête (insensible à la casse)

value

la valeur de l'en-tête qui doit être comparée

match_case

si la valeur doit être comparée en respectant la casse

Valeurs de retour

Retourne TRUE si la valeur de l'en-tête correspond, FALSE sinon.

Voir aussi

  • http_match_etag() - Cherche un ETag particulier
  • http_match_last_modified()

http_match_modified
http_support
HTTP Fonctions


Vérifie le support HTTP interne

http_match_request_header
http_negotiate_charset
HTTP Fonctions
PHP Manual

http_support

(PECL pecl_http >= 0.15.0)

http_support — Vérifie le support HTTP interne

Description

int http_support ([ int $feature = 0 ] )

Vérifie les fonctionnalités qui nécessitent des bibliothèques externes.

Voir la table des constantes supportées pour les valeurs possibles pour l'argument feature.

Liste de paramètres

feature

Fonctionnalité à vérifier

Valeurs de retour

Retourne un entier si la fonctionnalité demandée est supportée, ou un bitmask contenant toutes les fonctionnalités supportées si le paramètre feature est omis.

Exemples

Exemple #1 Exemple avec http_support()

<?php
if (!http_support(HTTP_SUPPORT_REQUESTS)) {
    die("Besoin du support de demande HTTP !\n");
}
?>

http_match_request_header
http_negotiate_charset
HTTP Fonctions


Jeu de caractères préféré pour la négociation avec les clients

http_support
http_negotiate_content_type
HTTP Fonctions
PHP Manual

http_negotiate_charset

(PECL pecl_http >= 0.1.0)

http_negotiate_charset — Jeu de caractères préféré pour la négociation avec les clients

Description

string http_negotiate_charset ( array $supported [, array &$result ] )

Cette fonction négocie le jeu de caractères préféré par les clients basé sur les entêtes HTTP Accept-Charset.

Liste de paramètres

supported

tableau contenant les jeux de caractères supportés comme valeurs

result

doit contenir un tableau contenant les résultats de la négociation

Valeurs de retour

Retourne le jeu de caractères négocié ou le jeu de caractères par défaut (i.e. première entrée du tableau) si aucun ne correspond.

Exemples

Exemple #1 Exemple avec http_negotiate_charset()

<?php
$charsets = array(
    'iso-8859-1', // default
    'iso-8859-2',
    'iso-8859-15',
    'utf-8'
);

$pref = http_negotiate_charset($charsets, $result);

if (strcmp($pref, 'iso-8859-1')) {
    iconv_set_encoding('internal_encoding', 'iso-8859-1');
    iconv_set_encoding('output_encoding', $pref);
    ob_start('ob_iconv_handler');
}

print_r($result);
?>

http_support
http_negotiate_content_type
HTTP Fonctions


Négocie avec le client le type de contenu préféré

http_negotiate_charset
http_negotiate_language
HTTP Fonctions
PHP Manual

http_negotiate_content_type

(PECL pecl_http >= 0.19.0)

http_negotiate_content_type — Négocie avec le client le type de contenu préféré

Description

string http_negotiate_content_type ( array $supported [, array &$result ] )

Cette fonction négocie avec le client le type de contenu préféré, basé sur son en-tête Accept. Le quantificateur est reconnu et les types de contenu sans quantificateur sont notés de façon plus élevés.

Liste de paramètres

supported

tableau contenant les types de contenu supportés, sous la forme de valeurs

result

sera rempli avec un tableau contenant les résultats de la négociation

Valeurs de retour

Retourne le type de contenu négocié ou le type de contenu par défaut (i.e. première entrée du tableau) si aucun ne correspond.

Exemples

Exemple #1 Exemple avec http_negotiate_content_type()

<?php
$content_types = array('application/xhtml+xml', 'text/html');
http_send_content_type(http_negotiate_content_type($content_types));
?>

http_negotiate_charset
http_negotiate_language
HTTP Fonctions


Négocie le langage préféré par les clients

http_negotiate_content_type
ob_deflatehandler
HTTP Fonctions
PHP Manual

http_negotiate_language

(PECL pecl_http >= 0.1.0)

http_negotiate_language — Négocie le langage préféré par les clients

Description

string http_negotiate_language ( array $supported [, array &$result ] )

Cette fonction négocie le langage préféré par les clients, basé sur les en-têtes HTTP Accept-Language.

Liste de paramètres

supported

tableau contenant les langages supportés en tant que valeurs

result

contient un tableau, contenant les résultats de la négociation

Valeurs de retour

Retourne le langage négocié ou le langage par défaut (i.e. première entrée du tableau) si aucun ne correspond.

Exemples

Exemple #1 Exemple avec http_negotiate_language()

<?php
$langs = array(
    'en-US',// défaut
    'fr',
    'fr-FR',
    'de',
    'de-DE',
    'de-AT',
    'de-CH',
);

include './langs/'. http_negotiate_language($langs, $result) .'.php';

print_r($result);
?>

http_negotiate_content_type
ob_deflatehandler
HTTP Fonctions


Gestionnaire de sortie de compression

http_negotiate_language
ob_etaghandler
HTTP Fonctions
PHP Manual

ob_deflatehandler

(PECL pecl_http >= 0.21.0)

ob_deflatehandler — Gestionnaire de sortie de compression

Description

string ob_deflatehandler ( string $data , int $mode )

À utiliser avec la fonction ob_start().

Note: Ce gestionnaire de sortie ne peut être utilisé qu'une seule fois.

Le gestionnaire de sortie de compression ne peut être utilisé qu'une seule fois.

Cela rentre en conflit avec la compression ob_gzhandler() et zlib.output_compression et ne doit pas être utilisé après ext/mbstring mb_output_handler() et ext/session URL-Rewriter (i.e. session.use_trans_sid).

Voir aussi

  • ob_inflatehandler() - Gestionnaire de sortie de décompression
  • ob_start() - Enclenche la tamporisation de sortie

http_negotiate_language
ob_etaghandler
HTTP Fonctions


Gestionnaire de sortie ETag

ob_deflatehandler
ob_inflatehandler
HTTP Fonctions
PHP Manual

ob_etaghandler

(PECL pecl_http >= 0.10.0)

ob_etaghandler — Gestionnaire de sortie ETag

Description

string ob_etaghandler ( string $data , int $mode )

À utiliser avec la fonction ob_start().

Le gestionnaire de buffer de sortie génère un ETag avec l'algorithme de hashage spécifié par directive de configuration INI http.etag.mode.

Ce gestionnaire de sortie est utilisé par la fonction http_cache_etag().

Voir aussi

  • http_cache_etag() - Mise en cache en fonction de l'ETag
  • http_match_etag() - Cherche un ETag particulier

ob_deflatehandler
ob_inflatehandler
HTTP Fonctions


Gestionnaire de sortie de décompression

ob_etaghandler
http_parse_cookie
HTTP Fonctions
PHP Manual

ob_inflatehandler

(PECL pecl_http >= 0.21.0)

ob_inflatehandler — Gestionnaire de sortie de décompression

Description

string ob_inflatehandler ( string $data , int $mode )

À utiliser avec la fonction ob_start().

Les mêmes restrictions sont appliquées que pour la fonction ob_deflatehandler().

Voir aussi

  • ob_deflatehandler() - Gestionnaire de sortie de compression
  • ob_start() - Enclenche la tamporisation de sortie

ob_etaghandler
http_parse_cookie
HTTP Fonctions


Analyse un cookie HTTP

ob_inflatehandler
http_parse_headers
HTTP Fonctions
PHP Manual

http_parse_cookie

(PECL pecl_http >= 0.20.0)

http_parse_cookie — Analyse un cookie HTTP

Description

object http_parse_cookie ( string $cookie [, int $flags [, array $allowed_extras ]] )

Analyse des cookies HTTP comme ceux envoyés dans une réponse.

Liste de paramètres

cookie

chaîne contenant la valeur de l'en-tête Set-Cookie de la réponse

flags

Flags d'analyse (HTTP_COOKIE_PARSE_RAW)

allowed_extras

Tableau contenant des clés reconnues supplémentaires ; par défaut, toutes les clés inconnues seront traitées comme des noms de cookies.

Valeurs de retour

Retourne un objet stdClass en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_parse_cookie()

<?php
print_r(http_parse_cookie("foo=bar; bar=baz; path=/; domain=example.com; comment=; secure", 0, array("comment")));
?>

L'exemple ci-dessus va afficher :

stdClass Object
(
  [cookies] => Array
  (
    [foo] => bar
    [bar] => baz
  )

  [extras] => Array
  (
    [comment] =>
  )

  [flags] => 16
  [expires] => 0
  [path] => /
  [domain] => example.com
)

Voir aussi

  • http_parse_headers() - Analyse les entêtes HTTP
  • http_parse_message() - Analyse un message HTTP
  • http_build_cookie() - Construit le cookie

ob_inflatehandler
http_parse_headers
HTTP Fonctions


Analyse les entêtes HTTP

http_parse_cookie
http_parse_message
HTTP Fonctions
PHP Manual

http_parse_headers

(PECL pecl_http >= 0.10.0)

http_parse_headers — Analyse les entêtes HTTP

Description

array http_parse_headers ( string $header )

Analyse les entêtes HTTP et les placent dans un tableau associatif.

Liste de paramètres

header

chaîne contenant les en-têtes HTTP

Valeurs de retour

Retourne un tableau en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_parse_headers()

<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
  "Server: Funky/1.0\r\n".
  "Set-Cookie: foo=bar\r\n".
  "Set-Cookie: baz=quux\r\n".
  "Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
?>

L'exemple ci-dessus va afficher :

Array
(
  [Content-Type] => text/html; chatset=UTF-8
  [Server] => Funky/1.0
  [Set-Cookie] => Array
  (
    [0] => foo=bar
    [1] => baz=quux
  )
  [Folded] => works
    too
)

Voir aussi

  • http_parse_message() - Analyse un message HTTP
  • http_parse_cookie() - Analyse un cookie HTTP

http_parse_cookie
http_parse_message
HTTP Fonctions


Analyse un message HTTP

http_parse_headers
http_parse_params
HTTP Fonctions
PHP Manual

http_parse_message

(PECL pecl_http >= 0.12.0)

http_parse_message — Analyse un message HTTP

Description

object http_parse_message ( string $message )

Analyse le message HTTP dans un objet simple récursif.

Liste de paramètres

message

chaîne contenant un message HTTP simple ou plusieurs messages HTTP consécutifs

Valeurs de retour

Retourne une structure d'objets hiérarchiques des messages analysés.

Exemples

Exemple #1 Exemple avec http_parse_message()

<?php
define ('URL', 'http://www.example.com/');
print_r(http_parse_message(http_get(URL, array('redirect' => 3))));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

stdClass object
(
  [type] => 2
  [httpVersion] => 1.1
  [responseCode] => 200
  [headers] => Array
  (
    [Content-Length] => 3
    [Server] => Apache
  )
  [body] => Hi!
  [parentMessage] => stdClass object
  (
    [type] => 2
    [httpVersion] => 1.1
    [responseCode] => 302
    [headers] => Array
    (
      [Content-Length] => 0
      [Location] => ...
    )
    [body] =>
    [parentMessage] => ...
  )
)

Voir aussi

  • http_parse_headers() - Analyse les entêtes HTTP
  • la classe HttpMessage

http_parse_headers
http_parse_params
HTTP Fonctions


Analyse la liste des paramètres

http_parse_message
http_persistent_handles_clean
HTTP Fonctions
PHP Manual

http_parse_params

(PECL pecl_http >= 1.0.0)

http_parse_params — Analyse la liste des paramètres

Description

object http_parse_params ( string $param [, int $flags = HTTP_PARAMS_DEFAULT ] )

Analyse la liste des paramètres.

Voir la table des constantes analysées pour les valeurs possibles de l'argument flags.

Liste de paramètres

param

Paramètres

flags

Flags d'analyse

Valeurs de retour

Retourne la liste des paramètres sous la forme d'un objet stdClass.

Exemples

Exemple #1 Exemple avec http_parse_params()

<?php
var_dump(http_parse_params("text/html; charset=\"utf8\""));
?>

L'exemple ci-dessus va afficher :

object(stdClass)#1 (1) {
  ["params"]=>
  array(2) {
    [0]=>
    string(9) "text/html"
    [1]=>
    array(1) {
      ["charset"]=>
      string(4) "utf8"
    }
  }
}

Voir aussi

  • http_parse_headers() - Analyse les entêtes HTTP
  • http_parse_cookie() - Analyse un cookie HTTP
  • http_parse_message() - Analyse un message HTTP

http_parse_message
http_persistent_handles_clean
HTTP Fonctions


Nettoie le gestionnaire persistant

http_parse_params
http_persistent_handles_count
HTTP Fonctions
PHP Manual

http_persistent_handles_clean

(PECL pecl_http >= 1.5.0)

http_persistent_handles_clean — Nettoie le gestionnaire persistant

Description

string http_persistent_handles_clean ([ string $ident ] )

Nettoie, et ferme, le gestionnaire persistant, optionnellement identifié par le paramètre ident.

Liste de paramètres

clean

La chaîne d'identification

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • http_persistent_handles_ident() - Récupère/définit l'identification du gestionnaire persistant
  • http_persistent_handles_count() - Récupère les statistiques sur le gestionnaire persistant

http_parse_params
http_persistent_handles_count
HTTP Fonctions


Récupère les statistiques sur le gestionnaire persistant

http_persistent_handles_clean
http_persistent_handles_ident
HTTP Fonctions
PHP Manual

http_persistent_handles_count

(PECL pecl_http >= 1.5.0)

http_persistent_handles_count — Récupère les statistiques sur le gestionnaire persistant

Description

object http_persistent_handles_count ( void )

Récupère les statistiques sur l'utilisation du gestionnaire persistant.

Liste de paramètres

Valeurs de retour

Retourne les statistiques sur l'utilisation du gestionnaire persistant sous la forme d'un objet stdClass en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_persistent_handles_count()

<?php
print_r(http_persistent_handles_count());
?>

L'exemple ci-dessus va afficher :

stdClass Object
(
    [http_request] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 0
                    [free] => 1
                )

        )

    [http_request_datashare] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 1
                    [free] => 0
                )

        )

    [http_request_pool] => Array
        (
        )

)

Voir aussi

  • http_persistent_handles_ident() - Récupère/définit l'identification du gestionnaire persistant
  • http_persistent_handles_clean() - Nettoie le gestionnaire persistant

http_persistent_handles_clean
http_persistent_handles_ident
HTTP Fonctions


Récupère/définit l'identification du gestionnaire persistant

http_persistent_handles_count
http_get
HTTP Fonctions
PHP Manual

http_persistent_handles_ident

(PECL pecl_http >= 1.5.0)

http_persistent_handles_ident — Récupère/définit l'identification du gestionnaire persistant

Description

string http_persistent_handles_ident ( string $ident )

Récupère/définit l'identification du gestionnaire persistant.

Liste de paramètres

ident

La chaîne d'identification

Valeurs de retour

Retourne la précédente identification sous la forme d'une chaîne de caractères en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_persistent_handles_ident()

<?php
echo http_persistent_handles_ident("CUSTOM"), "\n";
echo http_persistent_handles_ident("MyApp1"), "\n";
http_get("http://www.example.com/");
print_r(http_persistent_handles_count());
?>

L'exemple ci-dessus va afficher :

GLOBAL
CUSTOM
stdClass Object
(
[http_request] => Array
(
[MyApp1] => Array
(
[used] => 0
[free] => 1
)

)

[http_request_datashare] => Array
(
[GLOBAL] => Array
(
[used] => 1
[free] => 0
)

)

[http_request_pool] => Array
(
)

)

Voir aussi

  • http_persistent_handles_count() - Récupère les statistiques sur le gestionnaire persistant
  • http_persistent_handles_clean() - Nettoie le gestionnaire persistant

http_persistent_handles_count
http_get
HTTP Fonctions


Effectue une requête GET

http_persistent_handles_ident
http_head
HTTP Fonctions
PHP Manual

http_get

(PECL pecl_http >= 0.1.0)

http_get — Effectue une requête GET

Description

string http_get ( string $url [, array $options [, array &$info ]] )

Effectue une requête HTTP GET sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

options

options de demande

info

Doit contenir les informations requête/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_get()

<?php
$response = http_get("http://www.example.com/", array("timeout"=>1), $info);
print_r($info);
?>

L'exemple ci-dessus va afficher :

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

http_persistent_handles_ident
http_head
HTTP Fonctions


Effectue une requête HEAD

http_get
http_post_data
HTTP Fonctions
PHP Manual

http_head

(PECL pecl_http >= 0.1.0)

http_head — Effectue une requête HEAD

Description

string http_head ([ string $url [, array $options [, array &$info ]]] )

Effectue une requête HTTP HEAD sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

http_get
http_post_data
HTTP Fonctions


Effectue une requête POST avec des données préencodées

http_head
http_post_fields
HTTP Fonctions
PHP Manual

http_post_data

(PECL pecl_http >= 0.1.0)

http_post_data — Effectue une requête POST avec des données préencodées

Description

string http_post_data ( string $url [, string $data [, array $options [, array &$info ]]] )

Effectue une requête HTTP POST sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

data

chaîne contenant les données préencodées à envoyer par méthode POST

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

http_head
http_post_fields
HTTP Fonctions


Effectue une requête POST avec des données à encoder

http_post_data
http_put_data
HTTP Fonctions
PHP Manual

http_post_fields

(PECL pecl_http >= 0.10.0)

http_post_fields — Effectue une requête POST avec des données à encoder

Description

string http_post_fields ( string $url [, array $data [, array $files [, array $options [, array &$info ]]]] )

Effectue une requête HTTP POST sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

data

tableau associatif de valeurs POST

files

tableau de fichiers à envoyer par méthode POST

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_post_fields()

<?php
$fields = array(
    'name' => 'mike',
    'pass' => 'se_ret'
);
$files = array(
    array(
        'name' => 'uimg',
        'type' => 'image/jpeg',
        'file' => './profile.jpg',
    )
);

$response = http_post_fields("http://www.example.com/", $fields, $files);
?>

http_post_data
http_put_data
HTTP Fonctions


Effectue une requête PUT avec des données

http_post_fields
http_put_file
HTTP Fonctions
PHP Manual

http_put_data

(PECL pecl_http >= 0.25.0)

http_put_data — Effectue une requête PUT avec des données

Description

string http_put_data ( string $url [, string $data [, array $options [, array &$info ]]] )

Effectue une requête HTTP PUT sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

data

corps de la requête PUT

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

http_post_fields
http_put_file
HTTP Fonctions


Effectue une requête PUT avec un fichier

http_put_data
http_put_stream
HTTP Fonctions
PHP Manual

http_put_file

(PECL pecl_http >= 0.10.0)

http_put_file — Effectue une requête PUT avec un fichier

Description

string http_put_file ( string $url [, string $file [, array $options [, array &$info ]]] )

Effectue une requête HTTP PUT sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

file

le fichier à envoyer par méthode PUT

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

http_put_data
http_put_stream
HTTP Fonctions


Effectue une requête PUT avec un flux

http_put_file
http_request_body_encode
HTTP Fonctions
PHP Manual

http_put_stream

(PECL pecl_http >= 0.10.0)

http_put_stream — Effectue une requête PUT avec un flux

Description

string http_put_stream ( string $url [, resource $stream [, array $options [, array &$info ]]] )

Effectue une requête HTTP PUT sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

stream

le flux à lire pour le corps de la requête PUT

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

http_put_file
http_request_body_encode
HTTP Fonctions


Encode le corps de la requête

http_put_stream
http_request_method_exists
HTTP Fonctions
PHP Manual

http_request_body_encode

(PECL pecl_http >= 1.0.0)

http_request_body_encode — Encode le corps de la requête

Description

string http_request_body_encode ( array $fields , array $files )

Génère un corps de requête encodé x-www-form-urlencoded.

Liste de paramètres

fields

champs POST

files

fichiers POST

Valeurs de retour

Retourne une chaîne encodée en cas de succès ou FALSE si une erreur survient.

http_put_stream
http_request_method_exists
HTTP Fonctions


Vérifie si la méthode de requête existe

http_request_body_encode
http_request_method_name
HTTP Fonctions
PHP Manual

http_request_method_exists

(PECL pecl_http >= 0.10.0)

http_request_method_exists — Vérifie si la méthode de requête existe

Description

int http_request_method_exists ( mixed $method )

Vérifie si la méthode de requête est enregistrée (ou disponible, par défaut).

Liste de paramètres

method

nom ou l'ID de la méthode de requête

Valeurs de retour

Retourne TRUE si la méthode de requête est connue, FALSE sinon.

http_request_body_encode
http_request_method_name
HTTP Fonctions


Récupère le nom de la requête

http_request_method_exists
http_request_method_register
HTTP Fonctions
PHP Manual

http_request_method_name

(PECL pecl_http >= 0.10.0)

http_request_method_name — Récupère le nom de la requête

Description

string http_request_method_name ( int $method )

Récupère la représentation littérale de la méthode de requête standard ou enregistrée.

Liste de paramètres

method

l'ID de la méthode de requête

Valeurs de retour

Retourne le nom de la méthode de requête sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

http_request_method_exists
http_request_method_register
HTTP Fonctions


Enregistre une méthode de requête

http_request_method_name
http_request_method_unregister
HTTP Fonctions
PHP Manual

http_request_method_register

(PECL pecl_http >= 0.10.0)

http_request_method_register — Enregistre une méthode de requête

Description

int http_request_method_register ( string $method )

Enregistre une méthode de requête personnalisée.

Liste de paramètres

method

le nom de la méthode de requête à enregistrer

Valeurs de retour

Retourne l'ID de la méthode de requête en cas de succès ou FALSE si une erreur survient.

http_request_method_name
http_request_method_unregister
HTTP Fonctions


Retire une méthode de requête

http_request_method_register
http_request
HTTP Fonctions
PHP Manual

http_request_method_unregister

(PECL pecl_http >= 0.10.0)

http_request_method_unregister — Retire une méthode de requête

Description

bool http_request_method_unregister ( mixed $method )

Retire une méthode personnalisée de requête précédemment enregistrée.

Liste de paramètres

method

Le nom ou l'ID de la méthode de requête

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

http_request_method_register
http_request
HTTP Fonctions


Effectue une requête personnalisée

http_request_method_unregister
http_redirect
HTTP Fonctions
PHP Manual

http_request

(PECL pecl_http >= 1.0.0)

http_request — Effectue une requête personnalisée

Description

string http_request ( int $method [, string $url [, string $body [, array $options [, array &$info ]]]] )

Effectue une requête HTTP personnalisée sur l'URL suppliée.

Voir la liste complète des options de demande.

Liste de paramètres

method

Méthode de la requête

url

URL

body

Corps de la requête

options

options de demande

info

information de demande/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

http_request_method_unregister
http_redirect
HTTP Fonctions


Effectue une redirection HTTP

http_request
http_send_content_disposition
HTTP Fonctions
PHP Manual

http_redirect

(PECL pecl_http >= 0.1.0)

http_redirect — Effectue une redirection HTTP

Description

void http_redirect ([ string $url [, array $params [, bool $session = false [, int $status ]]]] )

Effectue une redirection vers l'URL fournie.

L'url fournie sera traité par la fonction http_build_url(), le paramètre params sera traité par la fonction http_build_str() et l'identifiant de session sera ajouté si le paramètre session vaut true. Vous pouvez utiliser une des constantes de redirection pour plus de confort. Reportez-vous à la » RFC 2616 pour connaître le code réponse de redirection à utiliser et dans quelle situation. Par défaut, PHP décidera quel statut à la réponse convient le mieux.

Pour rester conforme à la RFC, "Redirecting to <a>URL</a>." doit être affiché, si le client ne redirige pas immédiatement, et que la méthode de la requête était différent de HEAD.

Une entrée sera écrite dans l'historique de la redirection, si le directive de configuration INI http.log.redirect est définit et que la redirection réussit.

Liste de paramètres

url

l'URL de redirection

params

tableau associatif de paramètres de la requête

session

si l'on doit ou pas ajouter les informations de session

status

code du statut de la réponse personnalisée

Valeurs de retour

Retourne FALSE ou exits en cas de succès avec un code statut spécifique. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".

Exemples

Exemple #1 Exemple avec http_redirect()

<?php
http_redirect("relpath", array("name" => "value"), true, HTTP_REDIRECT_PERM);
?>

L'exemple ci-dessus va afficher :

HTTP/1.1 301 Moved Permanently
X-Powered-By: PHP/5.2.2
Content-Type: text/html
Location: http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc

Redirecting to <a href="http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc">http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc</a>.

Voir aussi

  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_request
http_send_content_disposition
HTTP Fonctions


Envoi l'en-tête Content-Disposition

http_redirect
http_send_content_type
HTTP Fonctions
PHP Manual

http_send_content_disposition

(PECL pecl_http >= 0.10.0)

http_send_content_disposition — Envoi l'en-tête Content-Disposition

Description

bool http_send_content_disposition ( string $filename [, bool $inline = false ] )

Envoi l'en-tête Content-Disposition. L'en-tête Content-Disposition est très utile si les données actuellement envoyées, provenant d'un fichier ou quelque chose de similaire, doivent être sauvegardées par le client/utilisateur (i.e. via la fenêtre de dialogue des navigateurs "Enregistrer sous...").

Note: Cette fonction doit être utilisée avec les fonctions http_send_data(), http_send_file() et http_send_stream().

Liste de paramètres

filename

le nom du fichier à utiliser pour la boîte de dialogue "Enregistrer sous..."

inline

si défini à TRUE et que l'agent utilisateur sait comme gérer le type de contenu, ce paramètre fera probablement ne pas apparaître de fenêtre de dialogue

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • http_send_data() - Envoi des données arbitraires
  • http_send_file() - Envoi un fichier
  • http_send_stream() - Envoi un flux
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_redirect
http_send_content_type
HTTP Fonctions


Envoi le type de contenu

http_send_content_disposition
http_send_data
HTTP Fonctions
PHP Manual

http_send_content_type

(PECL pecl_http >= 0.10.0)

http_send_content_type — Envoi le type de contenu

Description

bool http_send_content_type ([ string $content_type = "application/x-octetstream" ] )

Envoi le type de contenu d'entité envoyé.

Note: Cette fonction doit être utilisée avec les fonctions http_send_data(), http_send_file() et http_send_stream().

Liste de paramètres

content_type

le type de contenu désiré (primaire/secondaire)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte de niveau E_WARNING lorsque le content_type ne semble pas contenir une partie primaire et secondaire.

Voir aussi

  • http_send_data() - Envoi des données arbitraires
  • http_send_file() - Envoi un fichier
  • http_send_stream() - Envoi un flux
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_content_disposition
http_send_data
HTTP Fonctions


Envoi des données arbitraires

http_send_content_type
http_send_file
HTTP Fonctions
PHP Manual

http_send_data

(PECL pecl_http >= 0.1.0)

http_send_data — Envoi des données arbitraires

Description

bool http_send_data ( string $data )

Envoi des données par ligne avec le support (multiple) des requêtes.

Liste de paramètres

data

données à envoyer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • http_send_file() - Envoi un fichier
  • http_send_stream() - Envoi un flux
  • http_throttle() - Étranglement HTTP
  • http_send_content_type() - Envoi le type de contenu
  • http_send_content_disposition() - Envoi l'en-tête Content-Disposition
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_content_type
http_send_file
HTTP Fonctions


Envoi un fichier

http_send_data
http_send_last_modified
HTTP Fonctions
PHP Manual

http_send_file

(PECL pecl_http >= 0.1.0)

http_send_file — Envoi un fichier

Description

bool http_send_file ( string $file )

Envoi un fichier avec le support (multiple) des requêtes.

Le fonctionnement de cette fonction ainsi que ses futures actions dépendent des directive de configuration INIs : http.send.not_found_404 et http.log.not_found.

Si l'directive de configuration INI http.send.not_found_404 est active et l'directive de configuration INI http.log.not_found pointe vers un fichier accessible en écriture, un message sera écrit lorsque le paramètre file n'aura pu être trouvé.

Liste de paramètres

file

le fichier à envoyer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_send_file()

<?php
http_send_content_disposition("document.pdf", true);
http_send_content_type("application/pdf");
http_throttle(0.1, 2048);
http_send_file("../report.pdf");
?>

L'exemple ci-dessus va afficher :

HTTP/1.1 206 Partial Content
X-Powered-By: PHP/5.2.2
Accept-Ranges: bytes
Content-Length: 12345
Content-Range: bytes 0-12344
Content-Type: application/pdf
Content-Disposition: inline; filename="document.pdf"

%PDF...

Voir aussi

  • http_send_data() - Envoi des données arbitraires
  • http_send_stream() - Envoi un flux
  • http_throttle() - Étranglement HTTP
  • http_send_content_type() - Envoi le type de contenu
  • http_send_content_disposition() - Envoi l'en-tête Content-Disposition
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_data
http_send_last_modified
HTTP Fonctions


Envoi l'en-tête Last-Modified

http_send_file
http_send_status
HTTP Fonctions
PHP Manual

http_send_last_modified

(PECL pecl_http >= 0.1.0)

http_send_last_modified — Envoi l'en-tête Last-Modified

Description

bool http_send_last_modified ([ int $timestamp ] )

Envoi un en-tête Last-Modified avec une date HTTP valide.

Note: Cette fonction doit être utilisée avec les fonctions http_send_data(), http_send_file() et http_send_stream().

Liste de paramètres

timestamp

un timestamp Unix, convertit en une date HTTP valide ; si ce paramètre est omis, la date courante sera utilisée

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_file
http_send_status
HTTP Fonctions


Envoi le statut réponse HTTP

http_send_last_modified
http_send_stream
HTTP Fonctions
PHP Manual

http_send_status

(PECL pecl_http >= 0.1.0)

http_send_status — Envoi le statut réponse HTTP

Description

bool http_send_status ( int $status )

Envoi le code statut HTTP.

Liste de paramètres

status

code statut HTTP (100-599)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_last_modified
http_send_stream
HTTP Fonctions


Envoi un flux

http_send_status
http_throttle
HTTP Fonctions
PHP Manual

http_send_stream

(PECL pecl_http >= 0.1.0)

http_send_stream — Envoi un flux

Description

bool http_send_stream ( resource $stream )

Envoi un flux déjà ouvert avec le support (multiple) des requêtes.

Liste de paramètres

stream

flux à lire

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • http_send_data() - Envoi des données arbitraires
  • http_send_file() - Envoi un fichier
  • http_throttle() - Étranglement HTTP
  • http_send_content_type() - Envoi le type de contenu
  • http_send_content_disposition() - Envoi l'en-tête Content-Disposition
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_status
http_throttle
HTTP Fonctions


Étranglement HTTP

http_send_stream
http_build_str
HTTP Fonctions
PHP Manual

http_throttle

(PECL pecl_http >= 0.10.0)

http_throttle — Étranglement HTTP

Description

void http_throttle ([ float $sec [, int $bytes = 40960 ]] )

Définit le délai d'étranglement et envoie la taille du buffer.

Note: Cette fonction doit être utilisée avec les fonctions http_send_data(), http_send_file() et http_send_stream().

Note: Fournit un mécanisme d'étranglement, qui gèrera le processus courant tant que l'entité n'aura pas été complètement envoyé.

Note: Ne fonctionnera pas comme prévu avec les SAPIs suivants : FastCGI.

Liste de paramètres

sec

secondes à attendre après chaque partie envoyée

bytes

la taille d'une partie en octets

Exemples

Exemple #1 Exemple avec http_throttle()

Envoi un fichier à une vitesse approximative de 20 ko/s.

<?php
// ~ 20 ko/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
# http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>

Voir aussi

  • http_send_data() - Envoi des données arbitraires
  • http_send_file() - Envoi un fichier
  • http_send_stream() - Envoi un flux
  • la classe HttpResponse si vous utilisez PHP 5.1 et supérieur

http_send_stream
http_build_str
HTTP Fonctions


Construit une URL à partir d'une chaîne de caractères

http_throttle
http_build_url
HTTP Fonctions
PHP Manual

http_build_str

(PECL pecl_http >= 0.23.0)

http_build_str — Construit une URL à partir d'une chaîne de caractères

Description

string http_build_str ( array $query [, string $prefix [, string $arg_separator ]] )

Cette fonction est l'inverse de la fonction parse_str().

Liste de paramètres

query

tableau associatif de paramètres pour la construction de l'URL

prefix

Préfixe de premier niveau

arg_separator

séparateur à utiliser (par défaut, ce sera le contenu de la variable de configuration INI arg_separator.output) ou "&" si rien n'est défini

Valeurs de retour

Retourne l'URL construite sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

Voir aussi

  • standard http_build_query() - Génère une chaîne de requête en encodage URL
  • http_build_url() - Construit une URL

http_throttle
http_build_url
HTTP Fonctions


Construit une URL

http_build_str
Java
HTTP Fonctions
PHP Manual

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_url — Construit une URL

Description

string http_build_url ([ mixed $url [, mixed $parts [, int $flags = HTTP_URL_REPLACE [, array &$new_url ]]]] )

Construit une URL.

Les parties de la seconde URL seront ajoutées dans la première en fonction des arguments.

Liste de paramètres

url

partie(s) d'une URL sous la forme d'une chaîne ou un tableau associatif comme retourné par la fonction parse_url()

parts

la même chose que le premier argument

flags

un masque de constantes HTTP_URL ; HTTP_URL_REPLACE est la valeur par défaut

new_url

si défini, il sera ajouté avec les parties de l'URL composée comme retournée par la fonction parse_url()

Valeurs de retour

Retourne la nouvelle URL sous la forme d'une chaîne en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_build_url()

<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
         array(
                 "scheme" => "ftp",
                 "host" => "ftp.example.com",
                 "path" => "files/current/",
                  "query" => "a=c"
          ),
         HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>

L'exemple ci-dessus va afficher :

ftp://ftp.example.com/pub/files/current/?a=b&a=c

Voir aussi

  • parse_url() - Analyse une URL et retourne ses composants
  • http_build_str() - Construit une URL à partir d'une chaîne de caractères

http_build_str
Java
HTTP Fonctions


Intégration PHP / Java

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Java Servlet SAPI
  • Exemples
    • Exemple avec Java
  • Fonctions Java
    • java_last_exception_clear — Efface la dernière exception Java
    • java_last_exception_get — Lit la dernière exception Java
http_build_url
Introduction
Autres services


Introduction

Il y a deux moyens de connecter PHP et Java : soit en intégrant PHP dans un environnement de Servlet Java, ce qui est la solution la plus stable et la plus efficace, soit en intégrant Java directement dans PHP. La première solution est fournie par le module SAPI qui s'interface avec un serveur de Servlet, la dernière par cette extension.

L'extension Java fournit un moyen simple et efficace pour créer et invoquer des méthodes d'un objet Java depuis PHP. La JVM est créée avec JNI, et tout fonctionne en intra-processus.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Java
Installation/Configuration
Java


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Java


Pré-requis

Vous devez installer Java VM sur votre machine pour utiliser cette extension.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/java.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0

Note: PHP 4 specific notes
En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support Java en utilisant l'option de configuration --with-java[=DIR] où DIR représente le dossier d'installation de base de votre JDK. Cette extension ne peut être compilée qu'en tant qu'extension partagée. Des instructions complémentaires sur la compilation peuvent être trouvées dans php-src/ext/java/README.
Les utilisateurs de Windows doivent activer la bibliothèque php_java.dll dans le php.ini pour pouvoir utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées.
Pour activer ce module dans un environnement Windows avec PHP <= 4.0.6, vous devez rendre la bibliothèque jvm.dll disponible pour votre PATH système. Aucune autre bibliothèque DLL n'est nécessaire pour les version de PHP > 4.0.6.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Java
Nom | Défaut | Modifiable | Historique
java.class.path | NULL | PHP_INI_ALL |
java.home | NULL | PHP_INI_ALL |
java.library.path | NULL | PHP_INI_ALL |
java.library | JAVALIB | PHP_INI_ALL |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Java Servlet SAPI
Java


Java Servlet SAPI

L'interface PHP 4 sapi/servlet est construite sur un mécanisme défini par l'extension Java, qui permet à PHP d'être exécuté comme une servlet. L'avantage immédiat d'un point de vue PHP est que les serveurs web qui supportent les servlets gèrent rigoureusement les machines virtuelles. Les instructions d'installation du module Servlet SAPI sont disponibles dans le fichier php4/sapi/README. Notes :

  • Bien que ce code soit prévu pour fonctionner sur n'importe quel serveur à Servlet, il n'a été testé qu'avec le module Apache Jakarta/tomcat (jusqu'à aujourd'hui). Les remontées de bogues, les réussites et les patches nécessaires pour faire fonctionner ce code sur d'autres serveurs sont fortement encouragés !
  • PHP a l'habitude de changer le dossier de travail. Le serveur SAPI/Servlet le changera à nouveau, mais tant que PHP fonctionnera, le moteur de servlet ne pourra pas charger de classes dans le CLASSPATH, si le dossier est spécifié avec un chemin relatif, ou ne pourra pas trouver le dossier d'administration et de compilation des tâches JSP.

Constantes pré-définies
Exemples
Java


Exemples

Sommaire

  • Exemple avec Java
Java Servlet SAPI
Exemple avec Java
Java


Exemple avec Java

Exemples
Fonctions Java
Exemples
PHP Manual

Exemple #1 Exemple avec Java

<?php
// Créer une instance de la classe Java java.lang.System dans PHP
$system = new Java('java.lang.System');

// Accéder aux propriétés
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' <br />';

// Exemple avec java.util.Date
$formatter = new Java('java.text.SimpleDateFormat',
                      "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>

Exemple #2 Exemple avec AWT

<?php
// Cet exemple ne fonctionne qu'en mode CLI.

$frame  = new Java('java.awt.Frame', 'PHP');
$button = new Java('java.awt.Button', 'Hello Java World!');

$frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;

$thread = new Java('java.lang.Thread');
$thread->sleep(10000);

$frame->dispose();
?>
Notes :
  • new Java() crée une nouvelle instance d'une classe, si un constructeur valable est disponible. Si aucun paramètre n'est passé, et le constructeur par défaut est utile pour accéder à ces classes telles que "java.lang.System", qui fournissent leur fonctionnalités via des méthodes statiques.
  • Lors de l'accès aux membres d'une instance, PHP commencera par rechercher les membres Bean, puis les champs publics. En d'autres termes, "print $date.time" sera d'abord résolu par "$date.getTime()", puis par "$date.time";
  • Les membres statiques et d'instance sont accessibles avec la même syntaxe. De plus, si un objet est de type "java.lang.Class", les membres statiques de la classe (champs et méthodes) sont accessibles.

  • Les exceptions sont transformées en alertes PHP, et résultat NULL. Les alertes peuvent être supprimées en préfixant l'appel par l'opérateur >. Les fonctions suivantes peuvent être utilisées pour lire et effacer la dernière erreur remontée :

    • java_last_exception_get()
    • java_last_exception_clear()

  • Les surcharges de fonctions sont des problèmes épineux, étant données les différences de type de valeurs entre les deux /bin/bash: q: command not found mais efficace pour déterminer la meilleur fonction à utiliser. De plus, les noms de méthodes ne sont pas sensibles à la casse en PHP, ce qui augmente le nombre de conflits potentiels. Une fois qu'une méthode est sélectionnée, les paramètres sont transtypés, avec une perte d'information potentielle non négligeable (par exemple, les nombres à virgules flottante en double précisions seront convertis en booléen).
  • Traditionnellement en PHP, les tableaux et les tables de hashage peuvent être interchangées, et fonctionnent de la même façon. Notez que les tables de hashage de PHP ne peuvent être indexées qu'avec des entiers ou des chaînes, et que le type primitif de tableau de Java ne peut comporter de trous dans les index. Notez aussi que les valeurs sont passées par valeur, ce qui peut être coûteux en mémoire et en temps.

Exemples
Fonctions Java
Exemples


Fonctions Java

Sommaire

  • java_last_exception_clear — Efface la dernière exception Java
  • java_last_exception_get — Lit la dernière exception Java
Exemple avec Java
java_last_exception_clear
Java


Efface la dernière exception Java

Fonctions Java
java_last_exception_get
Fonctions Java
PHP Manual

java_last_exception_clear

(PHP 4 >= 4.0.2)

java_last_exception_clear — Efface la dernière exception Java

Description

void java_last_exception_clear ( void )

Efface la dernière exception Java.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Voir la documentation sur la fonction java_last_exception_get() pour un exemple.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Fonctions Java
java_last_exception_get
Fonctions Java


Lit la dernière exception Java

java_last_exception_clear
LDAP
Fonctions Java
PHP Manual

java_last_exception_get

(PHP 4 >= 4.0.2)

java_last_exception_get — Lit la dernière exception Java

Description

object java_last_exception_get ( void )

Lit la dernière exception Java.

Valeurs de retour

Retourne un objet représentant la dernière exception.

Exemples

L'exemple ci-dessous montre l'utilisation du gestionnaire d'exceptions java depuis PHP :

Exemple #1 Gestionnaire d'exceptions Java

<?php
$stack = new Java('java.util.Stack');
$stack->push(1);

// Cela doit marcher
$result = $stack->pop();
$ex = java_last_exception_get();
if (!$ex) {
  echo "$result\n";
}

// Cela doit échouer (le rapport d'erreurs est supprimé par @)
$result = @$stack->pop();
$ex = java_last_exception_get();
if ($ex) {
  echo $ex->toString();
}

// Efface la dernière exception
java_last_exception_clear();
?>

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

java_last_exception_clear
LDAP
Fonctions Java


Lightweight Directory Access Protocol

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Utiliser les fonctions LDAP de PHP
  • Exemples
    • Recherche avec LDAP
  • Fonctions LDAP
    • ldap_8859_to_t61 — Convertit les caractères 8859 en caractères t61
    • ldap_add — Ajoute une entrée dans un dossier LDAP
    • ldap_bind — Authentification au serveur LDAP
    • ldap_close — Alias de ldap_unbind
    • ldap_compare — Compare une entrée avec des valeurs d'attributs
    • ldap_connect — Connexion à un serveur LDAP
    • ldap_count_entries — Compte le nombre d'entrées après une recherche
    • ldap_delete — Efface une entrée dans un dossier
    • ldap_dn2ufn — Convertit un DN en format UFN (User Friendly Naming)
    • ldap_err2str — Convertit un numéro d'erreur LDAP en message d'erreur
    • ldap_errno — Retourne le numéro d'erreur LDAP de la dernière commande exécutée
    • ldap_error — Retourne le message LDAP de la dernière commande LDAP
    • ldap_explode_dn — Sépare les différents composants d'un DN
    • ldap_first_attribute — Retourne le premier attribut
    • ldap_first_entry — Retourne la première entrée
    • ldap_first_reference — Retourne la première référence
    • ldap_free_result — Libère la mémoire du résultat
    • ldap_get_attributes — Lit les attributs d'une entrée
    • ldap_get_dn — Lit le DN d'une entrée
    • ldap_get_entries — Lit toutes les entrées du résultat
    • ldap_get_option — Lit/écrit la valeur courante d'une option
    • ldap_get_values_len — Lit toutes les valeurs binaires d'une entrée
    • ldap_get_values — Lit toutes les valeurs d'une entrée LDAP
    • ldap_list — Recherche dans un niveau
    • ldap_mod_add — Ajoute un attribut à l'entrée courante
    • ldap_mod_del — Efface un attribut à l'entrée courante
    • ldap_mod_replace — Remplace un attribut dans l'entrée courante
    • ldap_modify — Modifie une entrée LDAP
    • ldap_next_attribute — Lit l'attribut suivant
    • ldap_next_entry — Lit la prochaine entrée
    • ldap_next_reference — Lit la référence suivante
    • ldap_parse_reference — Extrait les informations d'une référence d'entrée
    • ldap_parse_result — Extrait des informations d'un résultat
    • ldap_read — Lit une entrée
    • ldap_rename — Modifie le nom d'une entrée
    • ldap_sasl_bind — Authentification au serveur LDAP en utilisant SASL
    • ldap_search — Recherche sur le serveur LDAP
    • ldap_set_option — Modifie la valeur d'une option LDAP
    • ldap_set_rebind_proc — Configure une fonction de retour pour refaire des liaisons lors de recherche de référants
    • ldap_sort — Trie les entrées d'un résultat LDAP
    • ldap_start_tls — Démarre TLS
    • ldap_t61_to_8859 — Convertit les caractères t6 en caractères 8859
    • ldap_unbind — Déconnecte d'un serveur LDAP
java_last_exception_get
Introduction
Autres services


Introduction

LDAP signifie : Lightweight Directory Access Protocol (Protocole léger d'accès aux annuaires). C'est un protocole utilisé pour accéder aux "serveurs de dossiers". Ces serveurs sont des bases de données particulières, qui stockent les informations sous forme d'arborescence.

Le concept d'arborescence est similaire à celui de la structure de votre système de fichier, hormis le fait que dans ce contexte, la racine s'appelle "le monde", et que le premier niveau de sous-dossier s'appelle "pays". Les niveaux encore en dessous sont des "compagnies" "organisation" ou "places", et encore plus bas, vous trouverez des "personnes" et même des "équipements" et "documents".

Pour identifier un fichier dans votre disque, vous utilisez un chemin tel que

   /usr/local/mon_application/documents

Le slash indique une division dans la référence, et la séquence est lue de gauche à droite.

l'équivalent d'une référence globale en LDAP s'appelle un "nom distingué" ("distinguished name"), aussi appelé "dn". Un exemple de dn serait :

  cn=Jean Dupond,ou=Comptabilité,o=Ma Compagnie,c=FR

La virgule marque la séparation de chaque division comme référence, et la séquence est lue de droite à gauche. Il faut donc lire :

   country = FR
   organization = Ma Compagnie
   organizationalUnit = Comptabilité
   commonName = Jean Dupond

De la même façon qu'il n'y a pas de règle obligatoire sur comment organiser les fichiers sur un disque dur, un responsable de serveur de dossiers peut organiser le serveur comme cela lui semble le plus pratique. Cependant, il y a des conventions à utiliser. Le principe est que vous ne pouvez pas accéder à un serveur de dossier à moins que vous ne connaissiez sa structure, de même que vous ne pouvez écrire une base de données sans en connaître les tables et les bases.

Bien plus d'informations sont disponibles aux URL suivantes (en anglais) :

  • » Mozilla

  • » Le projet OpenLDAP

Le SDK Netscape contient un guide du programmeur (» Programmer's Guide) très utile, au format HTML (et en anglais).

LDAP
Installation/Configuration
LDAP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
LDAP


Pré-requis

Vous devez télécharger et compiler les bibliothèques clientes LDAP depuis soit » OpenLDAP ou » Bind9.net pour assurer le support LDAP.

Installation/Configuration
Installation
Installation/Configuration


Installation

Le support LDAP de PHP n'est pas activé par défaut. Vous devez utiliser l'option de configuration --with-ldap[=DIR] lorsque vous compilez PHP, où DIR est le répertoire d'installation du serveur LDAP. Pour activer le support SASL, assurez-vous que l'option de configuration --with-ldap-sasl[=DIR] est utilisée et que le fichier sasl.h existe sur votre système.

Note: Note aux utilisateurs Win32
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : libeay32.dll et ssleay32.dll
Les versions antérieures à PHP 4.3.0 nécessitent la bibliothèque libsasl.dll.

Pour pouvoir utiliser les bibliothèques Oracle LDAP, un environnement Oracle propre doit être défini.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration LDAP
Nom | Défaut | Modifiable | Historique
ldap.max_links | "-1" | PHP_INI_SYSTEM |
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Types de ressources

La plupart des fonctions LDAP opère sur des ressources retournées par les fonctions LDAP (e.g. ldap_connect() retourne un identifiant de lien LDAP positif requis par plusieurs fonctions LDAP).

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

LDAP_DEREF_NEVER (entier)
LDAP_DEREF_SEARCHING (entier)
LDAP_DEREF_FINDING (entier)
LDAP_DEREF_ALWAYS (entier)
LDAP_OPT_DEREF (entier)
LDAP_OPT_SIZELIMIT (entier)
LDAP_OPT_TIMELIMIT (entier)
LDAP_OPT_NETWORK_TIMEOUT (entier)
Option pour ldap_set_option() qui permet de définir le timeout. (Disponible depuis PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (entier)
LDAP_OPT_ERROR_NUMBER (entier)
LDAP_OPT_REFERRALS (entier)
LDAP_OPT_RESTART (entier)
LDAP_OPT_HOST_NAME (entier)
LDAP_OPT_ERROR_STRING (entier)
LDAP_OPT_MATCHED_DN (entier)
LDAP_OPT_SERVER_CONTROLS (entier)
LDAP_OPT_CLIENT_CONTROLS (entier)
LDAP_OPT_DEBUG_LEVEL (entier)
GSLC_SSL_NO_AUTH (entier)
GSLC_SSL_ONEWAY_AUTH (entier)
GSLC_SSL_TWOWAY_AUTH (entier)
Types de ressources
Utiliser les fonctions LDAP de PHP
LDAP


Utiliser les fonctions LDAP de PHP

Avant d'utiliser les fonctions LDAP, vous devez connaître

  • Le nom ou l'adresse du serveur de dossiers que vous voudrez utiliser

  • Le "base dn" du serveur (la partie du dossier monde qui est disponible sur ce serveur, ce qui peut être "o=Ma Compagnie,c=FR")

  • Le mot de passe éventuel d'accès au serveur (de nombreux serveurs fournissent un accès anonyme en lecture, mais requièrent des mots de passe pour tout le reste).

La séquence LDAP typique que vous exécuterez sera la suivante :

ldap_connect()    // établit une connexion au serveur
   |
ldap_bind()       // connexion anonyme ou identifiée
   |
réalisation de commandes comme des recherches ou des
modifications, puis affichage du résultat.
   |
ldap_close()      // déconnexion

Constantes pré-définies
Exemples
LDAP


Exemples

Sommaire

  • Recherche avec LDAP
Utiliser les fonctions LDAP de PHP
Recherche avec LDAP
LDAP


Recherche avec LDAP

Exemples
Fonctions LDAP
Exemples
PHP Manual

Lit les informations sur toutes les entrées dont le nom commence par "S" sur le serveur de dossier, puis affiche le nom et l'adresse email.

Exemple #1 Recherche avec LDAP

<?php
// La séquence de base avec LDAP est
// connexion, liaison, recherche, interprétation du résultat
// déconnexion

echo '<h3>requête de test de LDAP</h3>';
echo 'Connexion ...';
$ds=ldap_connect("localhost");  // doit être un serveur LDAP valide !
echo 'Le résultat de connexion est ' . $ds . '<br />';

if ($ds) {
    echo 'Liaison ...';
    $r=ldap_bind($ds);     // connexion anonyme, typique
                                     // pour un accès en lecture seule.
    echo 'Le résultat de connexion est ' . $r . '<br />';

    echo 'Recherchons (sn=S*) ...';
    // Recherche par nom
    $sr=ldap_search($ds,"o=My Company, c=US", "sn=S*");
    echo 'Le résultat de la recherche est ' . $sr . '<br />';

    echo 'Le nombre d\'entrées retournées est ' . ldap_count_entries($ds,$sr)
         . '<br />';

    echo 'Lecture des entrées ...<br />';
    $info = ldap_get_entries($ds, $sr);
    echo 'Données pour ' . $info["count"] . ' entrées:<br />';

    for ($i=0; $i<$info["count"]; $i++) {
        echo 'dn est : ' . $info[$i]["dn"] . '<br />';
        echo 'premiere entree cn : ' . $info[$i]["cn"][0] . '<br />';
        echo 'premier email : ' . $info[$i]["mail"][0] . '<br />';
    }

    echo 'Fermeture de la connexion';
    ldap_close($ds);

} else {
    echo '<h4>Impossible de se connecter au serveur LDAP.</h4>';
}
?>
Exemples
Fonctions LDAP
Exemples


Fonctions LDAP

Sommaire

  • ldap_8859_to_t61 — Convertit les caractères 8859 en caractères t61
  • ldap_add — Ajoute une entrée dans un dossier LDAP
  • ldap_bind — Authentification au serveur LDAP
  • ldap_close — Alias de ldap_unbind
  • ldap_compare — Compare une entrée avec des valeurs d'attributs
  • ldap_connect — Connexion à un serveur LDAP
  • ldap_count_entries — Compte le nombre d'entrées après une recherche
  • ldap_delete — Efface une entrée dans un dossier
  • ldap_dn2ufn — Convertit un DN en format UFN (User Friendly Naming)
  • ldap_err2str — Convertit un numéro d'erreur LDAP en message d'erreur
  • ldap_errno — Retourne le numéro d'erreur LDAP de la dernière commande exécutée
  • ldap_error — Retourne le message LDAP de la dernière commande LDAP
  • ldap_explode_dn — Sépare les différents composants d'un DN
  • ldap_first_attribute — Retourne le premier attribut
  • ldap_first_entry — Retourne la première entrée
  • ldap_first_reference — Retourne la première référence
  • ldap_free_result — Libère la mémoire du résultat
  • ldap_get_attributes — Lit les attributs d'une entrée
  • ldap_get_dn — Lit le DN d'une entrée
  • ldap_get_entries — Lit toutes les entrées du résultat
  • ldap_get_option — Lit/écrit la valeur courante d'une option
  • ldap_get_values_len — Lit toutes les valeurs binaires d'une entrée
  • ldap_get_values — Lit toutes les valeurs d'une entrée LDAP
  • ldap_list — Recherche dans un niveau
  • ldap_mod_add — Ajoute un attribut à l'entrée courante
  • ldap_mod_del — Efface un attribut à l'entrée courante
  • ldap_mod_replace — Remplace un attribut dans l'entrée courante
  • ldap_modify — Modifie une entrée LDAP
  • ldap_next_attribute — Lit l'attribut suivant
  • ldap_next_entry — Lit la prochaine entrée
  • ldap_next_reference — Lit la référence suivante
  • ldap_parse_reference — Extrait les informations d'une référence d'entrée
  • ldap_parse_result — Extrait des informations d'un résultat
  • ldap_read — Lit une entrée
  • ldap_rename — Modifie le nom d'une entrée
  • ldap_sasl_bind — Authentification au serveur LDAP en utilisant SASL
  • ldap_search — Recherche sur le serveur LDAP
  • ldap_set_option — Modifie la valeur d'une option LDAP
  • ldap_set_rebind_proc — Configure une fonction de retour pour refaire des liaisons lors de recherche de référants
  • ldap_sort — Trie les entrées d'un résultat LDAP
  • ldap_start_tls — Démarre TLS
  • ldap_t61_to_8859 — Convertit les caractères t6 en caractères 8859
  • ldap_unbind — Déconnecte d'un serveur LDAP
Recherche avec LDAP
ldap_8859_to_t61
LDAP


Convertit les caractères 8859 en caractères t61

Fonctions LDAP
ldap_add
Fonctions LDAP
PHP Manual

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5)

ldap_8859_to_t61 — Convertit les caractères 8859 en caractères t61

Description

string ldap_8859_to_t61 ( string $value )

Convertit les caractères ISO-8859 en caractères t61.

Cette fonction est utile si vous devez utiliser un serveur LDAPv2.

Liste de paramètres

value

Le texte à convertir.

Valeurs de retour

Retourne la conversion en t61 du texte value.

Voir aussi

  • ldap_t61_to_8859() - Convertit les caractères t6 en caractères 8859

Fonctions LDAP
ldap_add
Fonctions LDAP


Ajoute une entrée dans un dossier LDAP

ldap_8859_to_t61
ldap_bind
Fonctions LDAP
PHP Manual

ldap_add

(PHP 4, PHP 5)

ldap_add — Ajoute une entrée dans un dossier LDAP

Description

bool ldap_add ( resource $link_identifier , string $dn , array $entry )

Ajoute une entrée dans un dossier LDAP.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

entry

Un tableau avec les informations sur la nouvelle entrée. Ces valeurs sont indexées individuellement. En cas de valeurs multiples pour un attribut, elle sont indexées numériquement, à partir de 0.

<?php
$entree["attribut1"] = "value";
$entree["attribut2"][0] = "value1";
$entree["attribut2"][1] = "value2";
?>

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple complet avec identification LDAP

<?php
$ds = ldap_connect("localhost");  // on suppose que le serveur LDAP est sur le serveur local

if ($ds) {
    // Connexion avec une identité qui permet les modifications
    $r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

    // Prépare les données
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["mail"] = "jonj@example.com";
    $info["objectclass"] = "person";

    // Ajoute les données au dossier
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "Impossible de se connecter au serveur LDAP";
}
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • ldap_delete() - Efface une entrée dans un dossier

ldap_8859_to_t61
ldap_bind
Fonctions LDAP


Authentification au serveur LDAP

ldap_add
ldap_close
Fonctions LDAP
PHP Manual

ldap_bind

(PHP 4, PHP 5)

ldap_bind — Authentification au serveur LDAP

Description

bool ldap_bind ( resource $link_identifier [, string $bind_rdn = NULL [, string $bind_password = NULL ]] )

Authentification au serveur LDAP avec le RDN et le mot de passe spécifiés.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

bind_rdn

bind_password

Si bind_rdn et bind_password ne sont pas spécifiés, un authentification anonyme est essayé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Authentification avec LDAP

<?php

// Eléments d'authentification LDAP
$ldaprdn  = 'uname';     // DN ou RDN LDAP
$ldappass = 'password';  // Mot de passe associé

// Connexion au serveur LDAP
$ldapconn = ldap_connect("ldap.example.com")
    or die("Impossible de se connecter au serveur LDAP.");

if ($ldapconn) {

    // Connexion au serveur LDAP
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // Vérification de l'authentification
    if ($ldapbind) {
        echo "Connexion LDAP réussie...";
    } else {
        echo "Connexion LDAP échouée...";
    }

}

?>

Exemple #2 Connexion anonyme à un serveur LDAP

<?php

// Connexion anonyme à un serveur LDAP

// Connexion au serveur LDAP
$ldapconn = ldap_connect("ldap.example.com")
    or die("Impossible de se connecter au serveur LDAP.");

if ($ldapconn) {

    // Authentification anonyme
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "Connexion LDAP anonmye réussie...";
    } else {
        echo "Connexion LDAP anonmye échouée...";
    }

}

?>

Voir aussi

  • ldap_unbind() - Déconnecte d'un serveur LDAP

ldap_add
ldap_close
Fonctions LDAP


Alias de ldap_unbind

ldap_bind
ldap_compare
Fonctions LDAP
PHP Manual

ldap_close

(PHP 4, PHP 5)

ldap_close — Alias de ldap_unbind()

Description

Cette fonction est un alias de : ldap_unbind().

ldap_bind
ldap_compare
Fonctions LDAP


Compare une entrée avec des valeurs d'attributs

ldap_close
ldap_connect
Fonctions LDAP
PHP Manual

ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare — Compare une entrée avec des valeurs d'attributs

Description

mixed ldap_compare ( resource $link_identifier , string $dn , string $attribute , string $value )

Sert à comparer la valeur value de l'attribut attribute à la valeur du même attribut de l'entrée dn.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le DN de l'entrée LDAP.

attribute

Le nom de l'attribut.

value

La valeur comparée.

Valeurs de retour

Retourne TRUE si la valeur value correspond, sinon, retourne FALSE. Retourne -1 si une erreur survient.

Exemples

L'exemple suivant montre comment vérifier que deux mots de passe correspondent, dont l'un est celui d'une entrée du serveur LDAP.

Exemple #1 Exemple complet de vérification de mot de passe avec lDAP

<?php

$ds=ldap_connect("localhost");  // doit être un serveur LDAP valide!

if ($ds) {

    // Authentification
    if (ldap_bind($ds)) {

        // Préparation des données
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";

        // Comparaison des valeurs
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Password correct.";
        } elseif ($r === false) {
            echo "Mal choisi ! Mot de passe incorrect !";
        }

    } else {
        echo "Impossible de se connecter au serveur LDAP.";
    }

    ldap_close($ds);

} else {
    echo "Impossible de se connecter au serveur LDAP.";
}
?>

Notes

Avertissement

ldap_compare() ne peut PAS être utilisé pour comparer des valeurs binaires !

ldap_close
ldap_connect
Fonctions LDAP


Connexion à un serveur LDAP

ldap_compare
ldap_count_entries
Fonctions LDAP
PHP Manual

ldap_connect

(PHP 4, PHP 5)

ldap_connect — Connexion à un serveur LDAP

Description

resource ldap_connect ([ string $hostname = NULL [, int $port = 389 ]] )

Établit une connexion avec un serveur LDAP situé sur l'hôte hostname et port.

Liste de paramètres

hostname

Si vous utilisez OpenLDAP 2.x.x, vous pouvez spécifier une URL au lieu d'un nom d'hôte. Pour utiliser LDAP avec SSL, compilez OpenLDAP 2.x.x avec le support SSL, configurez PHP avec SSL, et utilisez ldaps://hostname/ comme nom d'hôte.

port

Le port utilisé pour la connexion. Inutile lors de l'utilisation d'URL.

Valeurs de retour

Retourne un identifiant positif de serveur LDAP en cas de succès, ou bien FALSE en cas d'erreur. Lorsque OpenLDAP 2.x.x est utilisé, ldap_connect() retournera toujours une ressource car il ne se connectera pas mais initialisera uniquement les paramètres de connexion. Actuellement, la connexion intervient avec le prochain appel aux fonctions ldap_*, habituellement avec la fonction ldap_bind().

Sans argument, l'identifiant de la dernière connexion ouverte sera retourné.

Historique

Version | Description
4.0.4 | Les supports URL et SSL ont été ajoutés.

Exemples

Exemple #1 Exemple de connexion à un serveur LDAP

<?php

// LDAP variables
$ldaphost = "ldap.example.com";  // votre serveur LDAP
$ldapport = 389;                 // votre port de serveur LDAP

// Connexion LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Impossible de se connecter au serveur LDAP $ldaphost");

?>

Exemple #2 Exemple de connexion à un serveur LDAP SSL

<?php

// Assurez-vous que l'hôte est correct
// et que vous avez un certificat valide
$ldaphost = "ldaps://ldap.example.com/";

// Connexion LDAP
$ldapconn = ldap_connect($ldaphost)
          or die("Impossible de se connecter au serveur LDAP {$ldaphost}");

?>

Voir aussi

  • ldap_bind() - Authentification au serveur LDAP

ldap_compare
ldap_count_entries
Fonctions LDAP


Compte le nombre d'entrées après une recherche

ldap_connect
ldap_delete
Fonctions LDAP
PHP Manual

ldap_count_entries

(PHP 4, PHP 5)

ldap_count_entries — Compte le nombre d'entrées après une recherche

Description

int ldap_count_entries ( resource $link_identifier , resource $result_identifier )

Retourne le nombre d'entrées trouvées dans le résultat result_identifier, sur la connexion link_identifier.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_identifier

Le résultat interne LDAP.

Valeurs de retour

Retourne le nombre d'entrées dans le résultat, ou FALSE si une erreur survient.

ldap_connect
ldap_delete
Fonctions LDAP


Efface une entrée dans un dossier

ldap_count_entries
ldap_dn2ufn
Fonctions LDAP
PHP Manual

ldap_delete

(PHP 4, PHP 5)

ldap_delete — Efface une entrée dans un dossier

Description

bool ldap_delete ( resource $link_identifier , string $dn )

Efface une entrée spécifique d'un dossier LDAP.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ldap_add() - Ajoute une entrée dans un dossier LDAP

ldap_count_entries
ldap_dn2ufn
Fonctions LDAP


Convertit un DN en format UFN (User Friendly Naming)

ldap_delete
ldap_err2str
Fonctions LDAP
PHP Manual

ldap_dn2ufn

(PHP 4, PHP 5)

ldap_dn2ufn — Convertit un DN en format UFN (User Friendly Naming)

Description

string ldap_dn2ufn ( string $dn )

Convertit le DN dn dans un format plus lisible humainement, en supprimant les types des noms.

Liste de paramètres

dn

Le DN de l'entrée LDAP.

Valeurs de retour

Retourne l'UFN.

ldap_delete
ldap_err2str
Fonctions LDAP


Convertit un numéro d'erreur LDAP en message d'erreur

ldap_dn2ufn
ldap_errno
Fonctions LDAP
PHP Manual

ldap_err2str

(PHP 4, PHP 5)

ldap_err2str — Convertit un numéro d'erreur LDAP en message d'erreur

Description

string ldap_err2str ( int $errno )

Retourne le message lisible expliquant l'erreur dont le numéro est errno. Bien que les numéros d'erreur LDAP soient standardisés, différentes bibliothèques retournent des messages différents ou même des textes d'erreur localisés. N'utilisez jamais les messages d'erreur pour identifier une erreur, mais bien les numéros.

Liste de paramètres

errno

Le numéro de l'erreur.

Valeurs de retour

Retourne le message d'erreur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Énumérer tous les messages d'erreur LDAP

<?php
  for ($i=0; $i<100; $i++) {
    printf("Erreur numéro $i: %s<br />\n", ldap_err2str($i));
  }
?>

Voir aussi

  • ldap_errno() - Retourne le numéro d'erreur LDAP de la dernière commande exécutée
  • ldap_error() - Retourne le message LDAP de la dernière commande LDAP

ldap_dn2ufn
ldap_errno
Fonctions LDAP


Retourne le numéro d'erreur LDAP de la dernière commande exécutée

ldap_err2str
ldap_error
Fonctions LDAP
PHP Manual

ldap_errno

(PHP 4, PHP 5)

ldap_errno — Retourne le numéro d'erreur LDAP de la dernière commande exécutée

Description

int ldap_errno ( resource $link_identifier )

Retourne le numéro d'erreur standard, généré par la dernière commande LDAP, pour la connexion link_identifier. Ce numéro peut être converti en message textuel avec ldap_err2str().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

Valeurs de retour

Retourne le numéro d'erreur LDAP généré par la dernière commande.

Exemples

À moins que vous n'abaissiez suffisamment le niveau d'erreur dans php.ini, ou que vous ne préfixiez vos commandes LDAP avec @ (arobase) pour supprimer les affichages, les erreurs LDAP s'afficheront aussi dans la sortie HTML.

Exemple #1 Générer et intercepter une erreur

<?php
// Cet exemple contient une erreur, que nous interecepterons.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// erreur de syntaxe dans l'expression du filtre (errno 87),
// doit être "objectclass=*" pour fonctionner.
$res =  @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
    echo "LDAP-Errno: " . ldap_errno($ld) . "<br />\n";
    echo "LDAP-Error: " . ldap_error($ld) . "<br />\n";
    die("Argh!<br />\n");
}
$info = ldap_get_entries($ld, $res);
echo $info["count"] . " entrées correspondent.<br />\n";
?>

Voir aussi

  • ldap_err2str() - Convertit un numéro d'erreur LDAP en message d'erreur
  • ldap_error() - Retourne le message LDAP de la dernière commande LDAP

ldap_err2str
ldap_error
Fonctions LDAP


Retourne le message LDAP de la dernière commande LDAP

ldap_errno
ldap_explode_dn
Fonctions LDAP
PHP Manual

ldap_error

(PHP 4, PHP 5)

ldap_error — Retourne le message LDAP de la dernière commande LDAP

Description

string ldap_error ( resource $link_identifier )

retourne le message d'erreur lié à la connexion link_identifier. Même si les numéros d'erreur LDAP sont standardisés, différentes bibliothèques retournent différents messages, ou parfois, des messages en langue locale. Ne vous fiez pas au message d'erreur, mais bien au numéro d'erreur.

À moins que vous n'abaissiez suffisamment le niveau d'erreur dans php.ini, ou que vous ne préfixiez vos commandes LDAP avec @ pour supprimer les affichages, les erreurs LDAP s'afficheront aussi dans la sortie HTML.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

Valeurs de retour

Retourne un message d'erreur LDAP.

Voir aussi

  • ldap_err2str() - Convertit un numéro d'erreur LDAP en message d'erreur
  • ldap_errno() - Retourne le numéro d'erreur LDAP de la dernière commande exécutée

ldap_errno
ldap_explode_dn
Fonctions LDAP


Sépare les différents composants d'un DN

ldap_error
ldap_first_attribute
Fonctions LDAP
PHP Manual

ldap_explode_dn

(PHP 4, PHP 5)

ldap_explode_dn — Sépare les différents composants d'un DN

Description

array ldap_explode_dn ( string $dn , int $with_attrib )

Sert à extraire les différents composants du DN dn. Chaque composant s'appelle un Nom Distingué Relatif (Relative Distinguished Name ou encore RDN).

Liste de paramètres

dn

Le nom DN de l'entrée LDAP.

with_attrib

Sert à préciser si les RDN sont retournés seuls, ou bien avec leurs attributs. Pour obtenir les attributs en même temps que les RDN (au format attribut=valeur), donnez à with_attrib la valeur de 0 et, sinon, donnez lui la valeur de 1.

Valeurs de retour

Retourne un tableau de tous les composants DN. Le premier élément du tableau a une clé count et représente le nombre de valeurs retournées ; les autres éléments sont les composants DN indexés numériquement.

ldap_error
ldap_first_attribute
Fonctions LDAP


Retourne le premier attribut

ldap_explode_dn
ldap_first_entry
Fonctions LDAP
PHP Manual

ldap_first_attribute

(PHP 4, PHP 5)

ldap_first_attribute — Retourne le premier attribut

Description

string ldap_first_attribute ( resource $link_identifier , resource $result_entry_identifier )

Retourne le premier attribut de l'entrée fournie. Les autres attributs sont lus grâce à la fonction ldap_next_attribute(), appelée aussi souvent que nécessaire.

Similairement à la lecture des entrées, les attributs sont lus les uns après les autres, pour une entrée.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

ber_identifier

Le paramètre ber_identifier est l'identifiant de pointeur en mémoire locale. Il est passé par référence. Le même paramètre ber_identifier est passé à la fonction ldap_next_attribute(), qui modifiera ce pointeur.

Note: Ce paramètre n'est plus disponible depuis qu'il est géré automatiquement par PHP. Pour une compatibilité ascendante, PHP ne lancera pas d'erreur si ce paramètre est renseigné.

Valeurs de retour

Retourne le premier attribut de l'entrée en cas de succès, et FALSE si une erreur survient.

Historique

Version | Description
5.2.4 | Le paramètre ber_identifier a été supprimé. Il est maintenant géré automatiquement par PHP.

Voir aussi

  • ldap_next_attribute() - Lit l'attribut suivant
  • ldap_get_attributes() - Lit les attributs d'une entrée

ldap_explode_dn
ldap_first_entry
Fonctions LDAP


Retourne la première entrée

ldap_first_attribute
ldap_first_reference
Fonctions LDAP
PHP Manual

ldap_first_entry

(PHP 4, PHP 5)

ldap_first_entry — Retourne la première entrée

Description

resource ldap_first_entry ( resource $link_identifier , resource $result_identifier )

Retourne la première entrée du résultat. Celles qui suivent seront lues grâce à la fonction lap_next_entry(), en l'appelant aussi souvent que nécessaire.

Les entrées d'un résultat LDAP sont lues séquentiellement avec les fonctions ldap_first_entry() et ldap_next_entry().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_identifier

Valeurs de retour

Retourne la première entrée en cas de succès, FALSE si une erreur survient.

Voir aussi

  • ldap_get_entries() - Lit toutes les entrées du résultat

ldap_first_attribute
ldap_first_reference
Fonctions LDAP


Retourne la première référence

ldap_first_entry
ldap_free_result
Fonctions LDAP
PHP Manual

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_first_reference — Retourne la première référence

Description

resource ldap_first_reference ( resource $link , resource $result )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_first_entry
ldap_free_result
Fonctions LDAP


Libère la mémoire du résultat

ldap_first_reference
ldap_get_attributes
Fonctions LDAP
PHP Manual

ldap_free_result

(PHP 4, PHP 5)

ldap_free_result — Libère la mémoire du résultat

Description

bool ldap_free_result ( resource $result_identifier )

Libère toute la mémoire allouée en interne pour stocker le résultat result_identifier. Si l'appel de cette fonction est omis, toute la mémoire sera libérée automatiquement à la fin du script.

Typiquement, toute la mémoire allouée pour le résultat LDAP est libérée à la fin du script. Si le script effectue des recherches intensives, qui retournent des résultats de grandes taille, ldap_free_result() peut être utilisée pour réduire la consommation de mémoire.

Liste de paramètres

result_identifier

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

ldap_first_reference
ldap_get_attributes
Fonctions LDAP


Lit les attributs d'une entrée

ldap_free_result
ldap_get_dn
Fonctions LDAP
PHP Manual

ldap_get_attributes

(PHP 4, PHP 5)

ldap_get_attributes — Lit les attributs d'une entrée

Description

array ldap_get_attributes ( resource $link_identifier , resource $result_entry_identifier )

Lit les attributs et les valeurs pour une entrée d'un résultat de recherche.

Une fois que vous avez repéré une entrée dans un dossier, vous pouvez obtenir plus d'informations sur elle avec cette fonction. Elle pourrait être utilisée dans le cadre d'une application qui cartographie les dossiers et les entrées. Dans de nombreuses applications, vous recherchez des entrées ayant un attribut précis, sans vous soucier des autres attributs.

return_value["count"] = nombre d'attributs dans l'entrée
return_value[0] = premier attribut
return_value[n] = n-ième attribut

return_value["attribute"]["count"] = nombre de valeurs de l'attribut
return_value["attribute"][0] = première valeur de l'attribut
return_value["attribute"][i] = (i+1)-ème valeur de l'attribut

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

Valeurs de retour

Retourne le détail des informations d'une entrée sous la forme d'un tableau multidimensionnel ou FALSE en cas d'erreur.

Exemples

Exemple #1 Affiche la liste des attributs d'une entrée

<?php
// $ds est une ressource de connexion valide

// $sr est une recherche valide, issue d'une opération
// précédente

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " attributs dans cette entrée :<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
    echo $attrs[$i] . "<br />";
}
?>

Voir aussi

  • ldap_first_attribute() - Retourne le premier attribut
  • ldap_next_attribute() - Lit l'attribut suivant

ldap_free_result
ldap_get_dn
Fonctions LDAP


Lit le DN d'une entrée

ldap_get_attributes
ldap_get_entries
Fonctions LDAP
PHP Manual

ldap_get_dn

(PHP 4, PHP 5)

ldap_get_dn — Lit le DN d'une entrée

Description

string ldap_get_dn ( resource $link_identifier , resource $result_entry_identifier )

Lit le DN d'une entrée d'un résultat.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

Valeurs de retour

Retourne le DN de l'entrée du résultat, ou FALSE si une erreur survient.

ldap_get_attributes
ldap_get_entries
Fonctions LDAP


Lit toutes les entrées du résultat

ldap_get_dn
ldap_get_option
Fonctions LDAP
PHP Manual

ldap_get_entries

(PHP 4, PHP 5)

ldap_get_entries — Lit toutes les entrées du résultat

Description

array ldap_get_entries ( resource $link_identifier , resource $result_identifier )

Lit toutes les entrées du résultat fourni, ainsi que les attributs et les valeurs multiples.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_identifier

Valeurs de retour

Retourne toutes les entrées du résultat sous la forme d'un tableau multidimensionnel, ou FALSE en cas d'erreur.

La structure du tableau est la suivante. L'index d'attribut est converti en minuscules (les attributs sont sensibles à la casse pour les serveurs de dossiers, mais ne le sont pas lorsqu'ils sont utilisés comme index de tableaux).

return_value["count"] = nombre d'entrées dans le résultat
return_value[0] : se réfère aux détails de la première entrée

return_value[i]["dn"] =  DN de la n-ième entrée du résultat

return_value[i]["count"] = nombre d'attributs de la n-ième entrée
return_value[i][j] = Nom du j-ième attribut de la i-ème entrée du résultat

return_value[i]["attribute"]["count"] = nombre de valeur des attributs de la i-ième entrée
return_value[i]["attribute"][j] = j-ième valeur de la n-ième entrée

Voir aussi

  • ldap_first_entry() - Retourne la première entrée
  • ldap_next_entry() - Lit la prochaine entrée

ldap_get_dn
ldap_get_option
Fonctions LDAP


Lit/écrit la valeur courante d'une option

ldap_get_entries
ldap_get_values_len
Fonctions LDAP
PHP Manual

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_get_option — Lit/écrit la valeur courante d'une option

Description

bool ldap_get_option ( resource $link_identifier , int $option , mixed &$retval )

Définit la valeur retval à l'option spécifié.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

option

Le paramètre option peut prendre l'une des valeurs suivantes :

Option | Type
LDAP_OPT_DEREF | entier
LDAP_OPT_SIZELIMIT | entier
LDAP_OPT_TIMELIMIT | entier
LDAP_OPT_NETWORK_TIMEOUT | entier
LDAP_OPT_PROTOCOL_VERSION | entier
LDAP_OPT_ERROR_NUMBER | entier
LDAP_OPT_REFERRALS | booléen
LDAP_OPT_RESTART | booléen
LDAP_OPT_HOST_NAME | chaîne de caractères
LDAP_OPT_ERROR_STRING | chaîne de caractères
LDAP_OPT_MATCHED_DN | chaîne de caractères
LDAP_OPT_SERVER_CONTROLS | tableau
LDAP_OPT_CLIENT_CONTROLS | tableau

retval

Valeur à définir pour l'option.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Vérification de la version du protocole

<?php
// $ds doit être une ressource de connexion valide
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Nous utilisons le protocole version $version\n";
} else {
    echo "Impossible de déterminer la version du protocole.\n";
}
?>

Notes

Note: Cette fonction n'est disponible qu'avec OpenLDAP 2.x.x OU Netscape Directory SDK x.x, et a été ajoutée en PHP 4.0.4.

Voir aussi

  • ldap_set_option() - Modifie la valeur d'une option LDAP

ldap_get_entries
ldap_get_values_len
Fonctions LDAP


Lit toutes les valeurs binaires d'une entrée

ldap_get_option
ldap_get_values
Fonctions LDAP
PHP Manual

ldap_get_values_len

(PHP 4, PHP 5)

ldap_get_values_len — Lit toutes les valeurs binaires d'une entrée

Description

array ldap_get_values_len ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Lit toutes les valeurs binaires d'une entrée d'un résultat.

Cette fonction s'utilise exactement comme la fonction ldap_get_values(), hormis le fait qu'elle gère les données binaires, et non les chaînes de caractères.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

attribute

Valeurs de retour

Retourne un tableau de valeurs pour l'attribut en cas de succès, et FALSE en cas d'erreur. Les valeurs sont accessibles individuellement, avec les index numériques du tableau. L'indexation commence à 0. Le nombre de valeurs retournées est disponible à l'index 'count' du tableau retourné.

Voir aussi

  • ldap_get_values() - Lit toutes les valeurs d'une entrée LDAP

ldap_get_option
ldap_get_values
Fonctions LDAP


Lit toutes les valeurs d'une entrée LDAP

ldap_get_values_len
ldap_list
Fonctions LDAP
PHP Manual

ldap_get_values

(PHP 4, PHP 5)

ldap_get_values — Lit toutes les valeurs d'une entrée LDAP

Description

array ldap_get_values ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Lit toutes les valeurs de l'attribut d'une entrée dans un résultat.

L'utilisation de la fonction result_entry_identifier requiert un résultat de recherche, et doit donc être précédée d'une recherche LDAP, et de l'une des fonctions permettant d'accéder à une entrée.

Votre application doit contenir des informations permettant de lire certains attributs (comme "nom" ou "mail"), ou bien vous devrez utiliser la fonction ldap_get_attributes() pour savoir quels sont les attributs qui existent pour une entrée donnée.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

attribute

Valeurs de retour

Retourne un tableau de valeurs pour l'attribut, ou FALSE en cas d'erreur. Le nombre de valeurs retournées est disponible à l'index 'count' du tableau retourné. Les valeurs sont accessibles individuellement, avec les index numériques du tableau. L'indexation commence à 0.

LDAP permet plus d'une entrée par attribut, ce qui permet de stocker plusieurs adresses emails par personne, tout en n'utilisant qu'une étiquette "mail" :

    return_value["count"] = nombre de valeurs de l'attribut
    return_value[0] = première valeur de l'attribut
    return_value[i] = i-ième valeur de l'attribut

Exemples

Exemple #1 Liste toutes les valeurs de l'attribut "mail" d'une entrée

<?php
// $ds doit être une ressource de connexion valide

// $sr doit être une ressource de résultat valide, obtenue avec une des fonctions de
//     recherche LDAP.

// $entry est une entrée LDAP valide, obtenue avec une des fonctions
//        LDAP qui retourne une entrée

$values = ldap_get_values($ds, $entry,"mail");

echo $values["count"] . " adresses email pour cette entrée.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

Voir aussi

  • ldap_get_values_len() - Lit toutes les valeurs binaires d'une entrée

ldap_get_values_len
ldap_list
Fonctions LDAP


Recherche dans un niveau

ldap_get_values
ldap_mod_add
Fonctions LDAP
PHP Manual

ldap_list

(PHP 4, PHP 5)

ldap_list — Recherche dans un niveau

Description

resource ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Effectue une recherche avec le filtre filter dans le dossier base_dn avec l'option LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL signifie que la recherche ne peut retourner des entrées que dans le niveau qui est immédiatement sous le niveau base_dn (c'est l'équivalent de la commande ls, pour obtenir la liste des fichiers et dossiers du dossier courant).

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

base_dn

La base DN du dossier.

filter

attributes

Un tableau d'attributs requis, e.g. array("mail", "sn", "cn"). Notez que le "dn" est toujours retourné, quelque soit le type de l'attribut demandé.

L'utilisation de ce paramètre est plus efficace que l'action par défaut (qui est de retourner tous les attributs ainsi que leurs valeurs associées). L'utilisation de ce paramètre doit pour cette raison être considéré comme une bonne pratique.

attrsonly

Doit être défini à 1 si seuls les types des attributs sont demandés. S'il est défini à 0, les types et les valeurs des attributs sont récupérés, ce qui correspond au comportement par défaut.

sizelimit

Vous permet de limiter le nombre d'entrées à récupérer. Le fait de définir ce paramètre à 0 signifie qu'il n'y aura aucune limite.

Note: Ce paramètre ne peut pas écraser la configuration côté serveur. Vous pouvez cependant positionner une valeur inférieure.
Quelques dossiers serveurs peuvent être configurés afin de ne retourner qu'un nombre d'entrées données. Si ce comportement survient, le serveur indique qu'il n'a retourné qu'un jeu de résultats partiel. Ce comportement intervient également si vous utilisez ce paramètre pour limiter le nombre d'entrées récupérées.

timelimit

Définit le nombre maximal de secondes permis pour la recherche. Le fait de définir ce paramètre à 0 signifie qu'il n'y a pas de limite.

Note: Ce paramètre ne peut pas écraser la configuration côté serveur mais vous pouvez l'utiliser pour être plus restrictif.

deref

Spécifie le nombre d'alias qui doivent être gérés pendant la recherche. Il peut être un parmi les suivants :

  • LDAP_DEREF_NEVER - (défaut) les alias ne sont jamais déréférencés.
  • LDAP_DEREF_SEARCHING - les alias doivent être déréférencés pendant la recherche mais pas lors de la localisation de l'objet de base de la recherche.
  • LDAP_DEREF_FINDING - les alias doivent être déréférencés lors de la localisation de l'objet de base mais pas durant la recherche.
  • LDAP_DEREF_ALWAYS - les alias doivent toujours être déréférencés.

Valeurs de retour

Retourne un identifiant de résultats pour la recherche, ou FALSE si une erreur survient.

Historique

Version | Description
4.0.5 | Les recherches parallèles ont été ajoutées. Voir la fonction ldap_search() pour plus de détails.
4.0.2 | Les paramètres attrsonly, sizelimit, timelimit et deref ont été ajoutés.

Exemples

Exemple #1 Produit une liste de tous les services d'une société

// $ds doit être une ressource de connexion valide

$basedn = "o=My Company, c=US";
$justthese = array("ou");

$sr=ldap_list($ds, $basedn, "ou=*", $justthese);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i<$info["count"]; $i++) {
    echo $info[$i]["ou"][0] ;
}

Voir aussi

  • ldap_search() - Recherche sur le serveur LDAP

ldap_get_values
ldap_mod_add
Fonctions LDAP


Ajoute un attribut à l'entrée courante

ldap_list
ldap_mod_del
Fonctions LDAP
PHP Manual

ldap_mod_add

(PHP 4, PHP 5)

ldap_mod_add — Ajoute un attribut à l'entrée courante

Description

bool ldap_mod_add ( resource $link_identifier , string $dn , array $entry )

Ajoute l'attribut entry à l'entrée dn. Elle effectue la modification au niveau attribut, par opposition au niveau objet. Les additions au niveau objet sont réalisées par ldap_add().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

entry

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • ldap_mod_del() - Efface un attribut à l'entrée courante
  • ldap_mod_replace() - Remplace un attribut dans l'entrée courante

ldap_list
ldap_mod_del
Fonctions LDAP


Efface un attribut à l'entrée courante

ldap_mod_add
ldap_mod_replace
Fonctions LDAP
PHP Manual

ldap_mod_del

(PHP 4, PHP 5)

ldap_mod_del — Efface un attribut à l'entrée courante

Description

bool ldap_mod_del ( resource $link_identifier , string $dn , array $entry )

Efface l'attribut entry de l'entrée dn. Elle effectue la modification au niveau attribut, par opposition au niveau objet. Les additions au niveau objet sont réalisées par ldap_delete().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

entry

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ldap_mod_add() - Ajoute un attribut à l'entrée courante
  • ldap_mod_replace() - Remplace un attribut dans l'entrée courante

ldap_mod_add
ldap_mod_replace
Fonctions LDAP


Remplace un attribut dans l'entrée courante

ldap_mod_del
ldap_modify
Fonctions LDAP
PHP Manual

ldap_mod_replace

(PHP 4, PHP 5)

ldap_mod_replace — Remplace un attribut dans l'entrée courante

Description

bool ldap_mod_replace ( resource $link_identifier , string $dn , array $entry )

Remplace l'attribut entry de l'entrée dn. Elle effectue le remplacement au niveau attribut, par opposition au niveau objet. Les additions au niveau objet sont réalisées par ldap_modify().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

entry

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • ldap_mod_del() - Efface un attribut à l'entrée courante
  • ldap_mod_add() - Ajoute un attribut à l'entrée courante

ldap_mod_del
ldap_modify
Fonctions LDAP


Modifie une entrée LDAP

ldap_mod_replace
ldap_next_attribute
Fonctions LDAP
PHP Manual

ldap_modify

(PHP 4, PHP 5)

ldap_modify — Modifie une entrée LDAP

Description

bool ldap_modify ( resource $link_identifier , string $dn , array $entry )

Modifie l'entrée identifiée par dn, avec les valeurs fournies dans entry. La structure de entry est la même que détaillée dans ldap_add().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

entry

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • ldap_rename() - Modifie le nom d'une entrée

ldap_mod_replace
ldap_next_attribute
Fonctions LDAP


Lit l'attribut suivant

ldap_modify
ldap_next_entry
Fonctions LDAP
PHP Manual

ldap_next_attribute

(PHP 4, PHP 5)

ldap_next_attribute — Lit l'attribut suivant

Description

string ldap_next_attribute ( resource $link_identifier , resource $result_entry_identifier )

Lit l'attribut suivant d'une entrée. Le premier appel à ldap_next_attribute() est fait avec le result_entry_identifier retourné par ldap_first_attribute().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

ber_identifier

Le statut interne du pointeur est maintenu par ce paramètre.

Note: Ce paramètre n'est plus disponible depuis qu'il est géré automatiquement par PHP. Pour une compatibilité ascendante, PHP ne lancera pas d'erreur s'il est renseigné.

Valeurs de retour

Retourne le prochain attribut de l'entrée en cas de succès, et FALSE si une erreur survient.

Historique

Version | Description
5.2.4 | Le paramètre ber_identifier a été supprimé. Il est maintenant géré automatiquement par PHP.

Voir aussi

  • ldap_get_attributes() - Lit les attributs d'une entrée

ldap_modify
ldap_next_entry
Fonctions LDAP


Lit la prochaine entrée

ldap_next_attribute
ldap_next_reference
Fonctions LDAP
PHP Manual

ldap_next_entry

(PHP 4, PHP 5)

ldap_next_entry — Lit la prochaine entrée

Description

resource ldap_next_entry ( resource $link_identifier , resource $result_entry_identifier )

Lit la prochaine entrée du résultat. Des appels répétés à ldap_next_entry() retourneront toutes les entrées jusqu'à ce qu'il n'y en ait plus. Le premier appel doit être fait avec la fonction ldap_first_entry(). Le paramètre result_entry_identifier est celui qui a été retourné par la fonction ldap_first_entry().

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

result_entry_identifier

Valeurs de retour

Retourne l'identifiant de la prochaine entrée du résultat, où la première entrée a été lue par la fonction ldap_first_entry(). S'il n'y a plus d'entrées dans le résultat, FALSE est retourné.

Voir aussi

  • ldap_get_entries() - Lit toutes les entrées du résultat

ldap_next_attribute
ldap_next_reference
Fonctions LDAP


Lit la référence suivante

ldap_next_entry
ldap_parse_reference
Fonctions LDAP
PHP Manual

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_next_reference — Lit la référence suivante

Description

resource ldap_next_reference ( resource $link , resource $entry )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_next_entry
ldap_parse_reference
Fonctions LDAP


Extrait les informations d'une référence d'entrée

ldap_next_reference
ldap_parse_result
Fonctions LDAP
PHP Manual

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_reference — Extrait les informations d'une référence d'entrée

Description

bool ldap_parse_reference ( resource $link , resource $entry , array &$referrals )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_next_reference
ldap_parse_result
Fonctions LDAP


Extrait des informations d'un résultat

ldap_parse_reference
ldap_read
Fonctions LDAP
PHP Manual

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_result — Extrait des informations d'un résultat

Description

bool ldap_parse_result ( resource $link , resource $result , int &$errcode [, string &$matcheddn [, string &$errmsg [, array &$referrals ]]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_parse_reference
ldap_read
Fonctions LDAP


Lit une entrée

ldap_parse_result
ldap_rename
Fonctions LDAP
PHP Manual

ldap_read

(PHP 4, PHP 5)

ldap_read — Lit une entrée

Description

resource ldap_read ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Effectue une recherche avec le filtre filter dans le dossier base_dn avec la configuration LDAP_SCOPE_BASE. C'est équivalent à lire une entrée dans un dossier.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

base_dn

La base DN du dossier.

filter

Un filtre ne peut être vide. Si vous voulez lire toutes les informations d'une entrée, utilisez le filtre "objectClass=*". Si vous savez quels sont les types qui sont utilisés dans le serveur de dossiers, vous pouvez aussi utiliser un filtre approprié, comme "objectClass=inetOrgPerson".

attributes

Un tableau d'attributs requis, e.g. array("mail", "sn", "cn"). Notez que le "dn" est toujours retourné, quelque soit le type de l'attribut demandé.

L'utilisation de ce paramètre est plus efficace que l'action par défaut (qui est de retourner tous les attributs ainsi que leurs valeurs associées). L'utilisation de ce paramètre doit pour cette raison être considéré comme une bonne pratique.

attrsonly

Doit être défini à 1 si seuls les types des attributs sont demandés. S'il est défini à 0, les types et les valeurs des attributs sont récupérés, ce qui correspond au comportement par défaut.

sizelimit

Vous permet de limiter le nombre d'entrées à récupérer. Le fait de définir ce paramètre à 0 signifie qu'il n'y aura aucune limite.

Note: Ce paramètre ne peut pas écraser la configuration côté serveur. Vous pouvez cependant positionner une valeur inférieure.
Quelques dossiers serveurs peuvent être configurés afin de ne retourner qu'un nombre d'entrées données. Si ce comportement survient, le serveur indique qu'il n'a retourné qu'un jeu de résultats partiel. Ce comportement intervient également si vous utilisez ce paramètre pour limiter le nombre d'entrées récupérées.

timelimit

Définit le nombre maximal de secondes permis pour la recherche. Le fait de définir ce paramètre à 0 signifie qu'il n'y a pas de limite.

Note: Ce paramètre ne peut pas écraser la configuration côté serveur mais vous pouvez l'utiliser pour être plus restrictif.

deref

Spécifie le nombre d'alias qui doivent être gérés pendant la recherche. Il peut être un parmi les suivants :

  • LDAP_DEREF_NEVER - (défaut) les alias ne sont jamais déréférencés.
  • LDAP_DEREF_SEARCHING - les alias doivent être déréférencés pendant la recherche mais pas lors de la localisation de l'objet de base de la recherche.
  • LDAP_DEREF_FINDING - les alias doivent être déréférencés lors de la localisation de l'objet de base mais pas durant la recherche.
  • LDAP_DEREF_ALWAYS - les alias doivent toujours être déréférencés.

Valeurs de retour

Retourne un identifiant de résultat de recherche, ou FALSE si une erreur survient.

Historique

Version | Description
4.0.5 | Les recherches parallèles ont été ajoutées. Voir la fonction ldap_search() pour plus de détails.
4.0.2 | Les paramètres attrsonly, sizelimit, timelimit et deref ont été ajoutés.

ldap_parse_result
ldap_rename
Fonctions LDAP


Modifie le nom d'une entrée

ldap_read
ldap_sasl_bind
Fonctions LDAP
PHP Manual

ldap_rename

(PHP 4 >= 4.0.5, PHP 5)

ldap_rename — Modifie le nom d'une entrée

Description

bool ldap_rename ( resource $link_identifier , string $dn , string $newrdn , string $newparent , bool $deleteoldrdn )

Modifie l'entrée dn, autant pour son nom que pour sa localisation.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

dn

Le nom DN de l'entrée LDAP.

newrdn

Le nouveau RDN.

newparent

La nouvelle entrée parent/supérieure.

deleteoldrdn

Si ce paramètre vaut TRUE, l'ancienne valeur RDN est supprimée. Sinon elle est conservée comme une valeur non distinguée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: ldap_rename() ne fonctionne actuellement qu'avec LDAPv3. Vous pouvez être obligé d'utiliser ldap_set_option() avant de vous lier pour pouvoir utiliser LDAPv3. Cette fonction est uniquement disponible lorsque vous utilisez OpenLDAP 2.x.x OU Netscape Directory SDK x.x.

Voir aussi

  • ldap_modify() - Modifie une entrée LDAP

ldap_read
ldap_sasl_bind
Fonctions LDAP


Authentification au serveur LDAP en utilisant SASL

ldap_rename
ldap_search
Fonctions LDAP
PHP Manual

ldap_sasl_bind

(PHP 5)

ldap_sasl_bind — Authentification au serveur LDAP en utilisant SASL

Description

bool ldap_sasl_bind ( resource $link [, string $binddn = NULL [, string $password = NULL [, string $sasl_mech = NULL [, string $sasl_realm = NULL [, string $sasl_authc_id = NULL [, string $sasl_authz_id = NULL [, string $props = NULL ]]]]]]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Conditions d'utilisation
ldap_sasl_bind() nécessite le support SASL (sasl.h). Assurez-vous que l'option de configuration --with-ldap-sasl est utilisée lors de la compilation de PHP, sinon, cette fonction ne sera pas définie.

Historique

Version | Description
5.3.3 | Le support Windows a été ajouté.

ldap_rename
ldap_search
Fonctions LDAP


Recherche sur le serveur LDAP

ldap_sasl_bind
ldap_set_option
Fonctions LDAP
PHP Manual

ldap_search

(PHP 4, PHP 5)

ldap_search — Recherche sur le serveur LDAP

Description

resource ldap_search ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Effectue une recherche avec le filtre filter dans le dossier base_dn avec le paramétrage LDAP_SCOPE_SUBTREE. C'est l'équivalent d'une recherche dans le dossier.

Depuis PHP 4.0.5, il est possible de faire des recherches parallèles. Pour cela, vous devez utiliser un tableau de ressources de connexion comme premier argument, au lieu d'une ressource simple. Si vous ne voulez pas utiliser le même dossier de base DN et le même filtre pour toutes les recherches, vous pouvez aussi utiliser un tableau de DN et de filtres. Ces tableaux doivent alors être de la même taille que le tableau de ressources de connexion : la première entrée du tableau de ressources sera utilisée avec le premier DN et le premier filtre, etc. Lorsque vous faites une recherche parallèle, un tableau de résultats est retourné, sauf en cas d'erreur, auquel cas l'entrée contiendra FALSE. C'est très proche du comportement habituel, hormis le fait qu'un résultat est toujours retourné lorsqu'une recherche est faite. Il y a de rares cas où une recherche renvoie FALSE, alors qu'une autre en parallèle retourne un identifiant.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

base_dn

La base DN pour le dossier.

filter

Le filtre de recherche peut être simple ou avancé, et utiliser ces opérateurs booléen au format décrit dans la documentation LDAP (reportez-vous à » Netscape Directory SDK pour plus d'informations sur les filtres).

attributes

Un tableau d'attributs requis, e.g. array("mail", "sn", "cn"). Notez que le "dn" est toujours retourné, quelque soit le type de l'attribut demandé.

L'utilisation de ce paramètre est plus efficace que l'action par défaut (qui est de retourner tous les attributs ainsi que leurs valeurs associées). L'utilisation de ce paramètre doit pour cette raison être considéré comme une bonne pratique.

attrsonly

Doit être défini à 1 si seuls les types des attributs sont demandés. S'il est défini à 0, les types et les valeurs des attributs sont récupérés, ce qui correspond au comportement par défaut.

sizelimit

Vous permet de limiter le nombre d'entrées à récupérer. Le fait de définir ce paramètre à 0 signifie qu'il n'y aura aucune limite.

Note: Ce paramètre ne peut pas écraser la configuration côté serveur. Vous pouvez cependant positionner une valeur inférieure.
Quelques dossiers serveurs peuvent être configurés afin de ne retourner qu'un nombre d'entrées données. Si ce comportement survient, le serveur indique qu'il n'a retourné qu'un jeu de résultats partiel. Ce comportement intervient également si vous utilisez ce paramètre pour limiter le nombre d'entrées récupérées.

timelimit

Définit le nombre maximal de secondes permis pour la recherche. Le fait de définir ce paramètre à 0 signifie qu'il n'y a pas de limite.

Note: Ce paramètre ne peut pas écraser la configuration côté serveur mais vous pouvez l'utiliser pour être plus restrictif.

deref

Spécifie le nombre d'alias qui doivent être gérés pendant la recherche. Il peut être un parmi les suivants :

  • LDAP_DEREF_NEVER - (défaut) les alias ne sont jamais déréférencés. dereferenced.
  • LDAP_DEREF_SEARCHING - les alias doivent être déréférencés pendant la recherche mais pas lors de la localisation de l'objet de base de la recherche.
  • LDAP_DEREF_FINDING - les alias doivent être déréférencés lors de la localisation de l'objet de base mais pas durant la recherche.
  • LDAP_DEREF_ALWAYS - les alias doivent toujours être déréférencés.

Valeurs de retour

Retourne un identifiant de recherche ou FALSE si une erreur survient.

Historique

Version | Description
4.0.5 | Les recherches parallèles ont été ajoutées.
4.0.2 | Les paramètres attrsonly, sizelimit, timelimit et deref on été ajoutés.

Exemples

L'exemple ci-dessous lit le nom du service, le nom, le prénom et l'email des employés de la société "Ma Compagnie", dont le nom ou le prénom contient la sous-chaîne : $person. Cet exemple illustre l'utilisation de filtres pour indiquer au serveur de faire une recherche sur deux attributs.

Exemple #1 Recherche LDAP

<?php
// $ds doit être une ressource de connexion valide

// $person est un nom ou une partie de nom (par exemple, "Jean")

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>

ldap_sasl_bind
ldap_set_option
Fonctions LDAP


Modifie la valeur d'une option LDAP

ldap_search
ldap_set_rebind_proc
Fonctions LDAP
PHP Manual

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option — Modifie la valeur d'une option LDAP

Description

bool ldap_set_option ( resource $link_identifier , int $option , mixed $newval )

Modifie la valeur de l'option option en remplaçant la valeur courante par newval.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

option

Le paramètre option peut prendre l'une des valeurs suivantes :

Option | Type | Disponible depuis
LDAP_OPT_DEREF | entier
LDAP_OPT_SIZELIMIT | entier
LDAP_OPT_TIMELIMIT | entier
LDAP_OPT_NETWORK_TIMEOUT | entier | PHP 5.3.0
LDAP_OPT_PROTOCOL_VERSION | entier
LDAP_OPT_ERROR_NUMBER | entier
LDAP_OPT_REFERRALS | booléen
LDAP_OPT_RESTART | booléen
LDAP_OPT_HOST_NAME | chaîne de caractères
LDAP_OPT_ERROR_STRING | chaîne de caractères
LDAP_OPT_MATCHED_DN | chaîne de caractères
LDAP_OPT_SERVER_CONTROLS | tableau
LDAP_OPT_CLIENT_CONTROLS | tableau

Les options LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requièrent une liste de contrôles, ce qui signifie que la valeur doit être un tableau de contrôles. Un contrôle est constitué d'un oid l'identifiant, une valeur optionnelle value, et un flag optionnel de "criticalité" (criticality). En PHP, un contrôle est défini sous la forme d'un tableau, donc les clés sont oid avec une chaîne comme valeur, et deux clés optionnelles. Ces clés sont value avec une chaîne comme valeur, et iscritical avec une valeur booléenne. Par défaut, iscritical vaut FALSE. Voir le fichier » draft-ietf-ldapext-ldap-c-api-xx.txt pour plus de détails. Reportez-vous au second exemple pour une illustration.

newval

La nouvelle valeur pour l'option option spécifiée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Modification de la version du protocole

<?php
// $ds doit être une ressource de connexion valide
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Version LDAPv3";
} else {
    echo "Impossible de modifier la version du protocole à 3";
}
?>

Exemple #2 Modification des contrôles du serveur

<?php
// $ds doit être une ressource de connexion valide de
// contrôle sans valeur
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical vaut par défaut FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// tente d'utiliser les deux contrôles
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo "Impossible de modifier les contrôles du serveur";
}
?>

Notes

Note: Cette fonction n'est disponible que lorsque vous utilisez OpenLDAP 2.x.x ou Netscape Directory SDK x.x.

Voir aussi

  • ldap_get_option() - Lit/écrit la valeur courante d'une option

ldap_search
ldap_set_rebind_proc
Fonctions LDAP


Configure une fonction de retour pour refaire des liaisons lors de recherche de référants

ldap_set_option
ldap_sort
Fonctions LDAP
PHP Manual

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5)

ldap_set_rebind_proc — Configure une fonction de retour pour refaire des liaisons lors de recherche de référants

Description

bool ldap_set_rebind_proc ( resource $link , callback $callback )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_set_option
ldap_sort
Fonctions LDAP


Trie les entrées d'un résultat LDAP

ldap_set_rebind_proc
ldap_start_tls
Fonctions LDAP
PHP Manual

ldap_sort

(PHP 4 >= 4.2.0, PHP 5)

ldap_sort — Trie les entrées d'un résultat LDAP

Description

bool ldap_sort ( resource $link , resource $result , string $sortfilter )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_set_rebind_proc
ldap_start_tls
Fonctions LDAP


Démarre TLS

ldap_sort
ldap_t61_to_8859
Fonctions LDAP
PHP Manual

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5)

ldap_start_tls — Démarre TLS

Description

bool ldap_start_tls ( resource $link )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_sort
ldap_t61_to_8859
Fonctions LDAP


Convertit les caractères t6 en caractères 8859

ldap_start_tls
ldap_unbind
Fonctions LDAP
PHP Manual

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5)

ldap_t61_to_8859 — Convertit les caractères t6 en caractères 8859

Description

string ldap_t61_to_8859 ( string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

ldap_start_tls
ldap_unbind
Fonctions LDAP


Déconnecte d'un serveur LDAP

ldap_t61_to_8859
Lotus Notes
Fonctions LDAP
PHP Manual

ldap_unbind

(PHP 4, PHP 5)

ldap_unbind — Déconnecte d'un serveur LDAP

Description

bool ldap_unbind ( resource $link_identifier )

Déconnecte d'un serveur LDAP.

Liste de paramètres

link_identifier

Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ldap_bind() - Authentification au serveur LDAP

ldap_t61_to_8859
Lotus Notes
Fonctions LDAP


Lotus Notes

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Lotus Notes
    • notes_body — Ouvre le message msg_number dans la boîte aux lettres et le serveur précisés
    • notes_copy_db — Copie une base de données Lotus Notes
    • notes_create_db — Crée une base Lotus Notes
    • notes_create_note — Crée une note à partir du formulaire form_name
    • notes_drop_db — Supprime une base Lotus Notes
    • notes_find_note — Retourne un identifiant de note, dans le serveur database_name
    • notes_header_info — Ouvre le message msg_number dans la boîte aux lettres et le serveur spécifiés
    • notes_list_msgs — Retourne les notes rangées dans database_name
    • notes_mark_read — Marque la note note_id comme lue par l'utilisateur user_name
    • notes_mark_unread — Marque la note note_id comme non lue pour l'utilisateur user_name
    • notes_nav_create — Crée un nom de navigateur dans database_name
    • notes_search — Cherche les notes par mots-clés dans database_name
    • notes_unread — Retourne l'identifiant de la note non lue pour l'utilisateur user_name
    • notes_version — Lit la version de Lotus Notes
ldap_unbind
Introduction
Autres services


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Lotus Notes
Installation/Configuration
Lotus Notes


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Lotus Notes


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/notes.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Lotus Notes
Lotus Notes


Fonctions Lotus Notes

Sommaire

  • notes_body — Ouvre le message msg_number dans la boîte aux lettres et le serveur précisés
  • notes_copy_db — Copie une base de données Lotus Notes
  • notes_create_db — Crée une base Lotus Notes
  • notes_create_note — Crée une note à partir du formulaire form_name
  • notes_drop_db — Supprime une base Lotus Notes
  • notes_find_note — Retourne un identifiant de note, dans le serveur database_name
  • notes_header_info — Ouvre le message msg_number dans la boîte aux lettres et le serveur spécifiés
  • notes_list_msgs — Retourne les notes rangées dans database_name
  • notes_mark_read — Marque la note note_id comme lue par l'utilisateur user_name
  • notes_mark_unread — Marque la note note_id comme non lue pour l'utilisateur user_name
  • notes_nav_create — Crée un nom de navigateur dans database_name
  • notes_search — Cherche les notes par mots-clés dans database_name
  • notes_unread — Retourne l'identifiant de la note non lue pour l'utilisateur user_name
  • notes_version — Lit la version de Lotus Notes
Constantes pré-définies
notes_body
Lotus Notes


Ouvre le message msg_number dans la boîte aux lettres et le serveur précisés

Fonctions Lotus Notes
notes_copy_db
Fonctions Lotus Notes
PHP Manual

notes_body

(PHP 4 >= 4.0.5)

notes_body — Ouvre le message msg_number dans la boîte aux lettres et le serveur précisés

Description

array notes_body ( string $server , string $mailbox , int $msg_number )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fonctions Lotus Notes
notes_copy_db
Fonctions Lotus Notes


Copie une base de données Lotus Notes

notes_body
notes_create_db
Fonctions Lotus Notes
PHP Manual

notes_copy_db

(PHP 4 >= 4.0.5)

notes_copy_db — Copie une base de données Lotus Notes

Description

bool notes_copy_db ( string $from_database_name , string $to_database_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_body
notes_create_db
Fonctions Lotus Notes


Crée une base Lotus Notes

notes_copy_db
notes_create_note
Fonctions Lotus Notes
PHP Manual

notes_create_db

(PHP 4 >= 4.0.5)

notes_create_db — Crée une base Lotus Notes

Description

bool notes_create_db ( string $database_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_copy_db
notes_create_note
Fonctions Lotus Notes


Crée une note à partir du formulaire form_name

notes_create_db
notes_drop_db
Fonctions Lotus Notes
PHP Manual

notes_create_note

(PHP 4 >= 4.0.5)

notes_create_note — Crée une note à partir du formulaire form_name

Description

bool notes_create_note ( string $database_name , string $form_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_create_db
notes_drop_db
Fonctions Lotus Notes


Supprime une base Lotus Notes

notes_create_note
notes_find_note
Fonctions Lotus Notes
PHP Manual

notes_drop_db

(PHP 4 >= 4.0.5)

notes_drop_db — Supprime une base Lotus Notes

Description

bool notes_drop_db ( string $database_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_create_note
notes_find_note
Fonctions Lotus Notes


Retourne un identifiant de note, dans le serveur database_name

notes_drop_db
notes_header_info
Fonctions Lotus Notes
PHP Manual

notes_find_note

(PHP 4 >= 4.0.5)

notes_find_note — Retourne un identifiant de note, dans le serveur database_name

Description

int notes_find_note ( string $database_name , string $name [, string $type ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_drop_db
notes_header_info
Fonctions Lotus Notes


Ouvre le message msg_number dans la boîte aux lettres et le serveur spécifiés

notes_find_note
notes_list_msgs
Fonctions Lotus Notes
PHP Manual

notes_header_info

(PHP 4 >= 4.0.5)

notes_header_info — Ouvre le message msg_number dans la boîte aux lettres et le serveur spécifiés

Description

object notes_header_info ( string $server , string $mailbox , int $msg_number )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_find_note
notes_list_msgs
Fonctions Lotus Notes


Retourne les notes rangées dans database_name

notes_header_info
notes_mark_read
Fonctions Lotus Notes
PHP Manual

notes_list_msgs

(PHP 4 >= 4.0.5)

notes_list_msgs — Retourne les notes rangées dans database_name

Description

bool notes_list_msgs ( string $db )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_header_info
notes_mark_read
Fonctions Lotus Notes


Marque la note note_id comme lue par l'utilisateur user_name

notes_list_msgs
notes_mark_unread
Fonctions Lotus Notes
PHP Manual

notes_mark_read

(PHP 4 >= 4.0.5)

notes_mark_read — Marque la note note_id comme lue par l'utilisateur user_name

Description

bool notes_mark_read ( string $database_name , string $user_name , string $note_id )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_list_msgs
notes_mark_unread
Fonctions Lotus Notes


Marque la note note_id comme non lue pour l'utilisateur user_name

notes_mark_read
notes_nav_create
Fonctions Lotus Notes
PHP Manual

notes_mark_unread

(PHP 4 >= 4.0.5)

notes_mark_unread — Marque la note note_id comme non lue pour l'utilisateur user_name

Description

bool notes_mark_unread ( string $database_name , string $user_name , string $note_id )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_mark_read
notes_nav_create
Fonctions Lotus Notes


Crée un nom de navigateur dans database_name

notes_mark_unread
notes_search
Fonctions Lotus Notes
PHP Manual

notes_nav_create

(PHP 4 >= 4.0.5)

notes_nav_create — Crée un nom de navigateur dans database_name

Description

bool notes_nav_create ( string $database_name , string $name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_mark_unread
notes_search
Fonctions Lotus Notes


Cherche les notes par mots-clés dans database_name

notes_nav_create
notes_unread
Fonctions Lotus Notes
PHP Manual

notes_search

(PHP 4 >= 4.0.5)

notes_search — Cherche les notes par mots-clés dans database_name

Description

array notes_search ( string $database_name , string $keywords )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_nav_create
notes_unread
Fonctions Lotus Notes


Retourne l'identifiant de la note non lue pour l'utilisateur user_name

notes_search
notes_version
Fonctions Lotus Notes
PHP Manual

notes_unread

(PHP 4 >= 4.0.5)

notes_unread — Retourne l'identifiant de la note non lue pour l'utilisateur user_name

Description

array notes_unread ( string $database_name , string $user_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_search
notes_version
Fonctions Lotus Notes


Lit la version de Lotus Notes

notes_unread
Memcache
Fonctions Lotus Notes
PHP Manual

notes_version

(PHP 4 >= 4.0.5)

notes_version — Lit la version de Lotus Notes

Description

float notes_version ( string $database_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

notes_unread
Memcache
Fonctions Lotus Notes


Memcache

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple avec l'extension Memcache
  • Memcache — La classe Memcache
    • Memcache::add — Add an item to the server
    • Memcache::addServer — Ajoute un serveur memcache à la liste de connexion
    • Memcache::close — Ferme la connexion avec le serveur Memcache
    • Memcache::connect — Ouvre une connexion avec le serveur Memcache
    • Memcache::decrement — Décrémente la valeur d'un élément
    • Memcache::delete — Efface un élément du serveur de cache
    • Memcache::flush — Efface tous les éléments existant sur le serveur de cache
    • Memcache::get — Récupère un élément du serveur de cache
    • Memcache::getExtendedStats — Récupère des statistiques de tous les serveurs dans la liste
    • Memcache::getServerStatus — Retourne le statut du serveur
    • Memcache::getStats — Lit les statistiques du serveur
    • Memcache::getVersion — Retourne le numéro de version du serveur
    • Memcache::increment — Incrément la valeur d'un élément
    • Memcache::pconnect — Ouvre un connexion persistante à un serveur de cache
    • Memcache::replace — Remplace une valeur d'un élément existant
    • Memcache::set — Stocke des données dans le serveur de cache
    • Memcache::setCompressThreshold — Active la compression automatique des valeurs larges
    • Memcache::setServerParams — Modifit les paramètres et les statuts du serveur pendant l'exécution
  • Fonctions Memcache
    • memcache_debug — Active ou non l'affichage des informations de déboguage
notes_version
Introduction
Autres services


Introduction

Le module Memcache fournit une interface procédurale maniable ainsi qu'orientée objet à Memcache, un démon fortement efficace dans la gestion du cache, qui est principalement destiné à faire baisser la charge des bases de données dans les applications web dynamiques.

Le module Memcache fournit également un gestionnaire de session (memcache).

Plus d'informations concernant Memcache peuvent être consultées sur » http://www.memcached.org/.

Memcache
Installation/Configuration
Memcache


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Memcache


Pré-requis

Ce module utilise les fonctions de la bibliothèque » zlib pour supporter la compression des données à la volée. Zlib est donc requis pour installer ce module.

PHP 4.3.3 ou supérieur est requis pour utiliser l'extension Memcache.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/memcache.

Note: Il est possible de désactiver le support du gestionnaire de sessions memcache. L'option 'pecl install' vous le permet (activé par défaut), cependant, lors de la compilation statique dans PHP, l'option de configuration --disable-memcache-session peut être utilisée.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration memcache
Nom | Défaut | Modifiable | Historique
memcache.allow_failover | "1" | PHP_INI_ALL | Disponible depuis memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Disponible depuis memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Disponible depuis memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Disponible depuis memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Disponible depuis memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Disponible depuis memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Supporté depuis memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supporté depuis memcache 2.1.2
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

memcache.allow_failover booléen

Si l'on doit basculer sur d'autres serveurs en cas d'erreur.

memcache.max_failover_attempts entier

Définit combien de serveurs à essayer lorsque l'on fixe ou récupère des données. Utilisez seulement en conjonction avec memcache.allow_failover.

memcache.chunk_size entier

Les données doivent être transférées en morceaux de cette taille ; Configurer cette valeur à une petite valeur provoque plus d'écritures sur le réseau. Essayez d'augmenter cette valeur à 32768 si vous rencontrez des ralentissements inexplicables.

memcache.default_port chaîne de caractères

Le numéro du port TCP par défaut à utiliser lors de la connexion au serveur memcache si aucun autre port n'est spécifié.

memcache.hash_strategy string

Contrôle la stratégie à appliquer lors du mappage des clés sur les serveurs. Définir cette valeur à consistent pour activer la cohérence de hashage qui permet aux serveurs d'être ajoutés ou supprimés de la réserver sans pour autant avoir besoin d'effectuer un nouveau mappage des clés. Définir cette valeur à standard fera que l'ancienne stratégie sera utilisée.

memcache.hash_function string

Contrôle la fonction de hashage à appliquer lors du mappage des clés sur les serveurs, crc32 utilisera le CRC32 standard, tandis que fnv utilisera FNV-1a.

session.save_handler chaîne de caractères

Utilisez memcache comme gestionnaire de session en définissant cette valeur à memcache.

session.save_path chaîne de caractères

Définit les URL serveur, séparées par une virgule, à utiliser pour le stockage des sessions, par exemple : "tcp://host1:11211, tcp://host2:11211".

Chaque URL peut contenir des paramètres qui seront appliqués au serveur, de la même façon que pour la méthode Memcache::addServer(). Par exemple : "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il n'y a qu'une seule ressource utilisée par le module Memcache : c'est le lien identifiant représentant la connexion du serveur de cache.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Constantes MemCache
Nom | Description
MEMCACHE_COMPRESSED (entier) | Utilisée pour activer à la volée la compression des données avec les fonctions Memcache::set(), Memcache::add() et Memcache::replace().
MEMCACHE_HAVE_SESSION ( integer ) | 1 si le gestionnaire de session Memcache est disponible, 0 sinon.
Types de ressources
Exemples
Memcache


Exemples

Sommaire

  • Exemple avec l'extension Memcache
Constantes pré-définies
Exemple avec l'extension Memcache
Memcache


Exemple avec l'extension Memcache

Exemples
Memcache
Exemples
PHP Manual

Exemple #1 Exemple avec l'extension Memcache

Dans cet exemple, un objet est sauvegardé dans le cache et ensuite, affiché. Les objets ainsi que les autres types non-scalaires sont linéarisés avant d'être sauvegardé ; il est donc impossible d'y stocker des ressources (i.e. identifiant de connexion et autres) dans le cache.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Connexion impossible");

$version = $memcache->getVersion();
echo "Version du serveur : ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Echec de la sauvegarde des données sur le serveur");
echo "Les données ont été stockées dans le cache (les données expireront dans 10 secondes)<br/>\n";

$get_result = $memcache->get('key');
echo "Données depuis le cache :<br/>\n";

var_dump($get_result);

?>

Exemple #2 Utilisation de memcache comme gestionnaire de session

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>

Exemples
Memcache
Exemples


La classe Memcache

Introduction

Représente une connection vers un pool de serveurs memcache.

Synopsis de la classe

Memcache
Memcache {
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )
bool close ( void )
bool connect ( string $host [, int $port [, int $timeout ]] )
int decrement ( string $key [, int $value = 1 ] )
bool delete ( string $key [, int $timeout ] )
bool flush ( void )
string get ( string $key [, int &$flags ] )
array getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
int getServerStatus ( string $host [, int $port = 11211 ] )
array getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )
string getVersion ( void )
int increment ( string $key [, int $value = 1 ] )
bool pconnect ( string $host [, int $port [, int $timeout ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool setCompressThreshold ( int $threshold [, float $min_savings ] )
bool setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback $failure_callback ]]]]] )
}

Sommaire

  • Memcache::add — Add an item to the server
  • Memcache::addServer — Ajoute un serveur memcache à la liste de connexion
  • Memcache::close — Ferme la connexion avec le serveur Memcache
  • Memcache::connect — Ouvre une connexion avec le serveur Memcache
  • Memcache::decrement — Décrémente la valeur d'un élément
  • Memcache::delete — Efface un élément du serveur de cache
  • Memcache::flush — Efface tous les éléments existant sur le serveur de cache
  • Memcache::get — Récupère un élément du serveur de cache
  • Memcache::getExtendedStats — Récupère des statistiques de tous les serveurs dans la liste
  • Memcache::getServerStatus — Retourne le statut du serveur
  • Memcache::getStats — Lit les statistiques du serveur
  • Memcache::getVersion — Retourne le numéro de version du serveur
  • Memcache::increment — Incrément la valeur d'un élément
  • Memcache::pconnect — Ouvre un connexion persistante à un serveur de cache
  • Memcache::replace — Remplace une valeur d'un élément existant
  • Memcache::set — Stocke des données dans le serveur de cache
  • Memcache::setCompressThreshold — Active la compression automatique des valeurs larges
  • Memcache::setServerParams — Modifit les paramètres et les statuts du serveur pendant l'exécution
Exemple avec l'extension Memcache
Memcache::add
Memcache


Add an item to the server

Memcache
Memcache::addServer
Memcache
PHP Manual

Memcache::add

(PECL memcache >= 0.2.0)

Memcache::add — Add an item to the server

Description

bool Memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

Liste de paramètres

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Returns FALSE if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Exemples

Exemple #1 Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Voir aussi

  • Memcache::set() - Stocke des données dans le serveur de cache
  • Memcache::replace() - Remplace une valeur d'un élément existant

Memcache
Memcache::addServer
Memcache


Ajoute un serveur memcache à la liste de connexion

Memcache::add
Memcache::close
Memcache
PHP Manual

Memcache::addServer

(PECL memcache >= 2.0.0)

Memcache::addServer — Ajoute un serveur memcache à la liste de connexion

Description

bool Memcache::addServer ( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )

Memcache::addServer() ajoute un serveur à la liste de connexion. La connexion, qui a été ouverte avec la fonction Memcache::addServer(), sera automatiquement fermée à la fin de l'exécution du script ; vous pouvez également la fermer manuellement avec la fonction Memcache::close(). Vous pouvez également utiliser la fonction memcache_add_server().

Lors de l'utilisation de cette méthode (contrairement aux méthodes Memcache::connect() et Memcache::pconnect()), la connexion au réseau n'est pas établie sans qu'elle ne soit nécessaire. De plus, il n'y a aucun inconvénient à ajouter beaucoup de serveurs à la liste, même s'ils ne seront pas tous utilisés.

Le basculement peut se produire à n'importe quel moment avec n'importe quelle méthode tant que les autres serveurs sont disponibles, la requête n'émettra pas d'erreur. N'importe quel interface de connexion ou niveau d'erreurs de serveur Memcache (à l'exception du manque de mémoire) peut lancer le basculement. Des erreurs normales de client comme l'ajout d'une clé existante ne lancera pas un basculement.

Note: Cette fonction a été ajoutée à la version de Memcache 2.0.0.

Liste de paramètres

host

Pointe à l'hôte où memcache écoute pour des connexions. Ce paramètre peut également spécifier d'autres transporteurs comme unix:///path/to/memcached.sock pour utiliser les sockets Unix, et dans ce cas, port doit également être défini à 0.

port

Pointe au port où memcache écoute pour des connexions. Définissez ce paramètre à 0 lors de l'utilisation des sockets Unix.

persistent

Contrôle l'utilisation d'une connexion persistante. La valeur par défaut est TRUE.

weight

Nombre d'entrées à créer pour ce serveur qui en retour contrôle sa probabilité d'être choisi. La probabilité est relative au poids total de tous les serveurs.

timeout

Valeur en seconde qui sera utilisée pour se connecter au démon. Pensez-y deux fois avant de changer la valeur par défaut d'une seconde - vous pourriez perdre tous les avantages de l'utilisation de la cache si votre connexion est trop lente.

retry_interval

Contrôle combien de fois un serveur qui échoue sera tenté à nouveau, la valeur par défaut est de 15 secondes. Si ce paramètre vaut -1, aucune nouvelle tentative ne sera effectuée. Ni ce paramètre, ni le paramètre persistent n'ont d'effet lorsque cette extension est chargée dynamiquement via la fonction dl().

Chaque structure de connexion échouée a son propre dépassement de temps et avant que celui-ci expire, il sera sauté lors de la sélection du processus pour servir une requête. Une fois expiré, la connexion sera correctement reconnectée ou marquée comme échouée pour un autre intervalle de retry_interval secondes. L'effet typique est que chaque enfant de serveur Web essaiera la connexion chaque retry_interval secondes lorsqu'il sert une page.

status

Contrôle si le serveur doit être indiqué comme étant en ligne. Quand ce paramètre vaut FALSE et le paramètre retry_interval vaut -1, cela permet de conserver un serveur qui a échoué dans la liste et n'affectera pas l'algorithme de distribution des clés. Les demandes pour ce serveur échoueront immédiatement suivant la configuration du paramètre memcache.allow_failover. Par défaut, ce paramètre vaut TRUE, signifiant que le serveur doit être considéré comme étant en ligne.

failure_callback

Permet à l'utilisateur de spécifier une fonction de rappel permettant de contourner une erreur. La fonction de rappel est exécutée avant d'atteindre la limite de tentative. La fonction prend deux paramètres ; le nom de l'hôte et le port du serveur qui a échoué.

timeoutms

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::addServer()

<?php

/* API orientée objet */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* API procédurale */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Voir aussi

  • Memcache::connect() - Ouvre une connexion avec le serveur Memcache
  • Memcache::pconnect() - Ouvre un connexion persistante à un serveur de cache
  • Memcache::close() - Ferme la connexion avec le serveur Memcache
  • Memcache::setServerParams() - Modifit les paramètres et les statuts du serveur pendant l'exécution
  • Memcache::getServerStatus() - Retourne le statut du serveur

Memcache::add
Memcache::close
Memcache


Ferme la connexion avec le serveur Memcache

Memcache::addServer
Memcache::connect
Memcache
PHP Manual

Memcache::close

(PECL memcache >= 0.4.0)

Memcache::close — Ferme la connexion avec le serveur Memcache

Description

bool Memcache::close ( void )

Memcache::close() ferme la connexion au serveur Memcache. Cette fonction ne ferme pas les connexions persistantes qui seront fermées uniquement lors du redémarrage du serveur web. Vous pouvez également utiliser la fonction memcache_close().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::close()

<?php

/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
faites quelque chose ici ..
*/
memcache_close($memcache_obj);

/* API orientée objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
faites quelque chose ici ..
*/
$memcache_obj->close();

?>

Voir aussi

  • Memcache::connect() - Ouvre une connexion avec le serveur Memcache
  • Memcache::pconnect() - Ouvre un connexion persistante à un serveur de cache

Memcache::addServer
Memcache::connect
Memcache


Ouvre une connexion avec le serveur Memcache

Memcache::close
Memcache::decrement
Memcache
PHP Manual

Memcache::connect

(PECL memcache >= 0.2.0)

Memcache::connect — Ouvre une connexion avec le serveur Memcache

Description

bool Memcache::connect ( string $host [, int $port [, int $timeout ]] )

Memcache::connect() établie une connexion avec le serveur de cache Memcache. La connexion, qui a été ouverte en utilisant la fonction Memcache::connect() sera automatiquement fermée à la fin de votre script. Vous pouvez néanmoins la refermer en utilisant la fonction Memcache::close(). Vous pouvez également utiliser la fonction memcache_connect().

Liste de paramètres

host

Pointe à l'hôte où memcache écoute pour des connexions. Ce paramètre peut également spécifier d'autres transporteurs comme unix:///path/to/memcached.sock pour utiliser les sockets Unix, et, dans ce cas, port doit également être définit à 0.

port

Pointe au port où memcache écoute pour des connexions. Définissez ce paramètre à 0 lors de l'utilisation des sockets Unix.

timeout

Valeur en seconde qui sera utilisée pour se connecter au démon. Pensez-y deux fois avant de changer la valeur par défaut d'une seconde - vous pourriez perdre tous les avantages de l'utilisation de la cache si votre connexion est trop lente.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::connect()

<?php

/* API procédurale */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* API orientée objet */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Voir aussi

  • Memcache::pconnect() - Ouvre un connexion persistante à un serveur de cache
  • Memcache::close() - Ferme la connexion avec le serveur Memcache

Memcache::close
Memcache::decrement
Memcache


Décrémente la valeur d'un élément

Memcache::connect
Memcache::delete
Memcache
PHP Manual

Memcache::decrement

(PECL memcache >= 0.2.0)

Memcache::decrement — Décrémente la valeur d'un élément

Description

int Memcache::decrement ( string $key [, int $value = 1 ] )

Memcache::decrement() décrémente la valeur de l'élément par value. De la même façon que la fonction memcache::increment(), la valeur courante de l'élément est tout d'abord convertie en numérique et seulement ensuite, on soustrait la valeur value.

Note: La nouvelle valeur de l'élément ne peut être inférieure à zéro.

Note: N'utilisez pas la fonction Memcache::decrement() avec les éléments stockés compressés. Dans ce cas, l'appel à la fonction Memcache::get() échouera.

Memcache::decrement() ne crée pas d'élément s'il n'existe pas. Vous pouvez également utiliser la fonction memcache_decrement().

Liste de paramètres

key

Clé de l'élément à décrémenter.

value

Décrémente l'élément par value.

Valeurs de retour

Retourne la valeur du nouvel élément en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::decrement()

<?php

/* API proécédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* décrémentation de l'élément par 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* API orientée objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* décrémentation de l'élément par 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Voir aussi

  • Memcache::increment() - Incrément la valeur d'un élément
  • Memcache::replace() - Remplace une valeur d'un élément existant

Memcache::connect
Memcache::delete
Memcache


Efface un élément du serveur de cache

Memcache::decrement
Memcache::flush
Memcache
PHP Manual

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete — Efface un élément du serveur de cache

Description

bool Memcache::delete ( string $key [, int $timeout ] )

Memcache::delete() efface l'élément identifié par la clé key. Si le paramètre timeout est spécifié, l'élément expirera après timeout secondes. Vous pouvez également utiliser la fonction memcache_delete().

Liste de paramètres

key

La clé associée à l'élément à supprimer.

timeout

Le délai d'exécution pour l'élément. S'il vaut 0, l'élément sera supprimé immédiatement, s'il vaut 30, il sera supprimé dans 30 secondes.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::delete()

<?php

/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* après 10 secondes, l'élément sera effacé par la serveur de cache */
memcache_delete($memcache_obj, 'key_to_delete', 10);

/* API orientée objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete', 10);

?>

Voir aussi

  • Memcache::set() - Stocke des données dans le serveur de cache
  • Memcache::replace() - Remplace une valeur d'un élément existant

Memcache::decrement
Memcache::flush
Memcache


Efface tous les éléments existant sur le serveur de cache

Memcache::delete
Memcache::get
Memcache
PHP Manual

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flush — Efface tous les éléments existant sur le serveur de cache

Description

bool Memcache::flush ( void )

Memcache::flush() invalide immédiatement tous les éléments existant sur le serveur de cache. Memcache::flush() ne libère aucune ressource actuellement, il marque uniquement tous les éléments comme ayant expirés, donc la mémoire occupée sera réutilisée avec de nouveaux éléments. Vous pouvez également utiliser la fonction memcache_flush().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::flush()

<?php

/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* API orientée objet */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

Memcache::delete
Memcache::get
Memcache


Récupère un élément du serveur de cache

Memcache::flush
Memcache::getExtendedStats
Memcache
PHP Manual

Memcache::get

(PECL memcache >= 0.2.0)

Memcache::get — Récupère un élément du serveur de cache

Description

string Memcache::get ( string $key [, int &$flags ] )
array Memcache::get ( array $keys [, array &$flags ] )

Memcache::get() retourne les données précédemment stockées dans l'élément identifié par la clé key s'il existe sur le serveur au moment de l'appel.

Vous pouvez passer un tableau de clés à la fonction Memcache::get() pour obtenir un tableau de valeurs. Le tableau résultant contiendra seulement les paires de clé-valeur trouvées.

Liste de paramètres

key

La clé ou le tableau de clés à récupérer.

flags

Si ce paramètre est présent, il représentera les drapeaux des valeurs à récupérer. Ces drapeaux sont les mêmes que ceux donnés en exemple de la fonction Memcache::set(). L'octet le plus faible de la valeur est réservé à un usage interne de pecl/memcache (e.g. pour indiquer le statut de compression et de linéarisation).

Valeurs de retour

Retourne une chaîne de caractères associée avec le paramètre key ou FALSE en cas d'échec ou si key n'a pas été trouvé.

Exemples

Exemple #1 Exemple avec Memcache::get()

<?php

/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* API orientée objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
Vous pouvez également utiliser un tableau de clés en tant que paramètre.
Si un tel élément n'est pas trouvé sur le serveur, le tableau
résultat ne comprendra simplement pas une telle clé.
*/

/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* API Orientée Objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

Memcache::flush
Memcache::getExtendedStats
Memcache


Récupère des statistiques de tous les serveurs dans la liste

Memcache::get
Memcache::getServerStatus
Memcache
PHP Manual

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats — Récupère des statistiques de tous les serveurs dans la liste

Description

array Memcache::getExtendedStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getExtendedStats() retourne un tableau associatif à deux dimensions avec des statistiques de serveurs. Les clés des tableaux correspondent à hôte:port des serveurs et les valeurs contiennent des statistiques du serveur individuel. Un serveur en échec aura ses entrées correspondantes fixées à FALSE. Vous pouvez également utiliser la fonction memcache_get_extended_stats().

Note: Cette fonction a été ajoutée à la version de Memcache 2.0.0.

Liste de paramètres

type

Le type de statistiques à récupérer. Les valeurs valides sont : "reset", "malloc", "maps", "cachedump", "slabs", "items", "sizes". Suivant les spécifications du protocole memcached, ces arguments optionnels sont susceptibles d'être modifiés suivant les besoins des développeurs de memcache.

slabid

Utilisé avec le paramètre type définit à cachedump pour identifier le slab à récupérer. La commande cachedump met à mal le serveur et ne doit être utilisée que dans un but de déboguage.

limit

Utilisé avec le paramètre type définit à cachedump pour limiter le nombre d'entrées à récupérer.

Valeurs de retour

Retourne un tableau associatif à avec des statistiques des serveurs ou FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec Memcache::getExtendedStats()

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

L'exemple ci-dessus va afficher :

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Voir aussi

  • Memcache::getVersion() - Retourne le numéro de version du serveur
  • Memcache::getStats() - Lit les statistiques du serveur

Memcache::get
Memcache::getServerStatus
Memcache


Retourne le statut du serveur

Memcache::getExtendedStats
Memcache::getStats
Memcache
PHP Manual

Memcache::getServerStatus

(PECL memcache >= 2.1.0)

Memcache::getServerStatus — Retourne le statut du serveur

Description

int Memcache::getServerStatus ( string $host [, int $port = 11211 ] )

Memcache::getServerStatus() retourne le statut en ligne/hors ligne du serveur. Vous pouvez également utiliser la fonction memcache_get_server_status().

Note: Cette fonction a été ajoutée en Memcache version 2.1.0.

Liste de paramètres

host

Pointe à l'hôte où memcache écoute pour des connexions.

port

Pointe au port où memcache écoute pour des connexions.

Valeurs de retour

Retourne le statut du serveur. 0 si le serveur échoue, une valeur différente de zéro sinon.

Exemples

Exemple #1 Exemple avec Memcache::getServerStatus()

<?php

/* API orientée objet */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* API procédurale */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Voir aussi

  • Memcache::addServer() - Ajoute un serveur memcache à la liste de connexion
  • Memcache::setServerParams() - Modifit les paramètres et les statuts du serveur pendant l'exécution

Memcache::getExtendedStats
Memcache::getStats
Memcache


Lit les statistiques du serveur

Memcache::getServerStatus
Memcache::getVersion
Memcache
PHP Manual

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats — Lit les statistiques du serveur

Description

array Memcache::getStats ([ string $type [, int $slabid [, int $limit = 100 ]]] )

Memcache::getStats() retourne un tableau associatif avec les statistiques du serveur. Les index du tableau correspondent aux paramètres de statistiques, et la valeur associée est la valeur de ces statistiques. Vous pouvez aussi utiliser la fonction memcache_get_stats().

Liste de paramètres

type

Le type de statistiques à récupérer. Les valeurs valides sont {"reset", "malloc", "maps", "cachedump", "slabs", "items", "sizes". Suivant les spécifications du protocole memcached, ces arguments optionnels sont susceptibles d'être modifiés suivant les besoins des développeurs de memcache.

slabid

Utilisé avec le paramètre type définit à cachedump pour identifier le slab à récupérer. La commande cachedump met à mal le serveur et ne doit être utilisée que dans un but de déboguage.

limit

Utilisé avec le paramètre type définit à cachedump pour limiter le nombre d'entrées à récupérer.

Valeurs de retour

Retourne un tableau associatif des statistiques d'un serveur ou FALSE si une erreur survient.

Voir aussi

  • Memcache::getVersion() - Retourne le numéro de version du serveur
  • Memcache::getExtendedStats() - Récupère des statistiques de tous les serveurs dans la liste

Memcache::getServerStatus
Memcache::getVersion
Memcache


Retourne le numéro de version du serveur

Memcache::getStats
Memcache::increment
Memcache
PHP Manual

Memcache::getVersion

(PECL memcache >= 0.2.0)

Memcache::getVersion — Retourne le numéro de version du serveur

Description

string Memcache::getVersion ( void )

Memcache::getVersion() retourne une chaîne avec le numéro de version du serveur. Vous pouvez aussi utiliser la fonction memcache_get_version().

Valeurs de retour

Retourne une chaîne de caractères du numéro de version de serveur ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::getVersion()

<?php

/* API orientée objet */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* API procédurale */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Voir aussi

  • Memcache::getExtendedStats() - Récupère des statistiques de tous les serveurs dans la liste
  • Memcache::getStats() - Lit les statistiques du serveur

Memcache::getStats
Memcache::increment
Memcache


Incrément la valeur d'un élément

Memcache::getVersion
Memcache::pconnect
Memcache
PHP Manual

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::increment — Incrément la valeur d'un élément

Description

int Memcache::increment ( string $key [, int $value = 1 ] )

Memcache::increment() incrémente la valeur d'un élément identifié par la clé key par la valeur value. Si l'élément identifié par la clé key n'est pas de type numérique et ne peut être converti en nombre, la valeur de cette élément sera défini à value. Memcache::increment() ne crée pas un élément s'il n'existe pas.

Note: N'utilisez pas memcache::increment() avec les éléments stockés compressés. Dans ce cas, l'appel à la fonction Memcache::get() échouera.

Vous pouvez également utiliser la fonction memcache_increment().

Liste de paramètres

key

Clé de l'élément à incrémenter.

value

Incrémente l'élément par value.

Valeurs de retour

Retourne la valeur du nouvel élément en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::increment()

<?php

/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* incrémentation du compteur de 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* API orientée objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* incrémentation du compteur de 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Voir aussi

  • Memcache::decrement() - Décrémente la valeur d'un élément
  • Memcache::replace() - Remplace une valeur d'un élément existant

Memcache::getVersion
Memcache::pconnect
Memcache


Ouvre un connexion persistante à un serveur de cache

Memcache::increment
Memcache::replace
Memcache
PHP Manual

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnect — Ouvre un connexion persistante à un serveur de cache

Description

bool Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )

Memcache::pconnect() est similaire à la fonction Memcache::connect() avec la différence que la connexion sera persistante. Ce type de connexion n'est pas fermé à la fin du script et par la fonction Memcache::close(). Vous pouvez également utiliser la fonction memcache_pconnect().

Liste de paramètres

host

Pointe à l'hôte où memcache écoute pour des connexions. Ce paramètre peut également spécifier d'autres transporteurs comme unix:///path/to/memcached.sock pour utiliser les sockets Unix, et, dans ce cas, port doit également être défini à 0.

port

Pointe au port où memcache écoute pour des connexions. Définissez ce paramètre à 0 lors de l'utilisation des sockets Unix.

timeout

Valeur en seconde qui sera utilisée pour se connecter au démon. Pensez-y deux fois avant de changer la valeur par défaut d'une seconde - vous pourriez perdre tous les avantages de l'utilisation de la cache si votre connexion est trop lente.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::pconnect()

<?php

/* API procédurale */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* API orientée objet */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Voir aussi

  • Memcache::connect() - Ouvre une connexion avec le serveur Memcache

Memcache::increment
Memcache::replace
Memcache


Remplace une valeur d'un élément existant

Memcache::pconnect
Memcache::set
Memcache
PHP Manual

Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replace — Remplace une valeur d'un élément existant

Description

bool Memcache::replace ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::replace() est utilisé pour remplacer la valeur d'un élément identifié par la clé key. Dans le cas où l'élément identifié par la clé key n'existe pas, la fonction Memcache::replace() retournera FALSE. Pour le reste, la fonction Memcache::replace() fonctionne de la même façon que la fonction Memcache::set(). Vous pouvez également utiliser la fonction memcache_replace().

Liste de paramètres

key

La clé qui sera associée avec l'élément.

var

La variable à enregistrer. Les chaînes de caractères et les entiers sont enregistrer comme tels, les autres types sont enregistrés de manière sérialisée.

flag

Utilisez MEMCACHE_COMPRESSED pour enregistrer l'élément compressé (utilise zlib).

expire

Temps d'expiration pour l'élément. S'il égal 0, l'élément n'expirera jamais. Vous pouvez aussi utiliser un timestamp Unix ou un nombre de seconde en commençant par la date d'aujourd'hui, mais dans le dernier cas, le nombre de secondes ne doit pas excéder 2592000 (30 jours).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::replace()

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* API procédurale */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* API orientée objet */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Voir aussi

  • Memcache::set() - Stocke des données dans le serveur de cache
  • Memcache::add() - Add an item to the server

Memcache::pconnect
Memcache::set
Memcache


Stocke des données dans le serveur de cache

Memcache::replace
Memcache::setCompressThreshold
Memcache
PHP Manual

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Stocke des données dans le serveur de cache

Description

bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::set() stocke l'élément var avec la clé key sur le serveur de cache. Le paramètre expire représente le délai en secondes d'expiration de l'élément. S'il vaut 0, l'élément n'expirera jamais (mais le serveur de cache ne garantie pas que cet élément sera toujours stocké, il peut être effacé du cache pour faire de la place à d'autres éléments). Vous pouvez utiliser la constante MEMCACHE_COMPRESSED comme valeur du paramètre flag si vous voulez utiliser la compression à la volée (utilisation de la bibliothèque zlib).

Note: Souvenez-vous que les ressources (i.e. identifiant de fichiers ou de connexion) ne peuvent pas être stockées dans le cache, car elles ne peuvent pas être représentées linéairement.

Vous pouvez également utiliser la fonction memcache_set().

Liste de paramètres

key

La clé qui sera associée avec l'élément.

var

La variable à enregistrer. Les chaînes de caractères et les entiers sont enregistrés comme tels, les autres types sont enregistrés de manière sérialisée.

flag

Utilisez MEMCACHE_COMPRESSED pour enregistrer l'élément compressé (utilise zlib).

expire

Temps d'expiration pour l'élément. S'il égal 0, l'élément n'expirera jamais. Vous pouvez aussi utiliser un timestamp Unix ou un nombre de seconde en commençant par la date d'aujourd'hui, mais dans le dernier cas, le nombre de secondes ne doit pas excéder 2592000 (30 jours).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::set()

<?php
/* API procédurale */

/* connexion au serveur de cache */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
définie la valeur de l'élément identifié par la clé 'var_key' ;
utilisation de la valeur 0 pour le flag ;
la compression n'est pas utilisée ;
le délai d'expiration vaut 30 secondes
*/
memcache_set($memcache_obj, 'var_key', 'quelques variables', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Exemple #2 Exemple avec Memcache::set()

<?php
/* API orientée objet */

$memcache_obj = new Memcache;

/* connexion au serveur de cache */
$memcache_obj->connect('memcache_host', 11211);

/*
définie la valeur de l'élément identifié par la clé 'var_key' ;
utilisation de la compression à la volée ;
le délai d'expiration vaut 50 secondes
*/
$memcache_obj->set('var_key', 'quelques grosses variables', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Voir aussi

  • Memcache::add() - Add an item to the server
  • Memcache::replace() - Remplace une valeur d'un élément existant

Memcache::replace
Memcache::setCompressThreshold
Memcache


Active la compression automatique des valeurs larges

Memcache::set
Memcache::setServerParams
Memcache
PHP Manual

Memcache::setCompressThreshold

(PECL memcache >= 2.0.0)

Memcache::setCompressThreshold — Active la compression automatique des valeurs larges

Description

bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings ] )

Memcache::setCompressThreshold() active la compression automatique des valeurs larges. Vous pouvez également utiliser la fonction memcache_set_compress_threshold().

Note: Cette fonction a été ajoutée à la version de Memcache 2.0.0.

Liste de paramètres

threshold

Contrôle la taille de la valeur minimale avant d'essayer de compresser automatiquement.

min_saving

Spécifie le nombre minimum de sauvegarde pour enregistrer les valeurs compressées. La valeur fournie doit être comprise entre 0 et 1. La valeur par défaut est 0.2, ce qui donne un minimum de 20% de sauvegarde de compression.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::setCompressThreshold()

<?php

/* API orientée objet */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* API procédurale */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>

Memcache::set
Memcache::setServerParams
Memcache


Modifit les paramètres et les statuts du serveur pendant l'exécution

Memcache::setCompressThreshold
Fonctions Memcache
Memcache
PHP Manual

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams — Modifit les paramètres et les statuts du serveur pendant l'exécution

Description

bool Memcache::setServerParams ( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback $failure_callback ]]]]] )

Memcache::setServerParams() modifie les paramètres du serveur durant l'exécution. Vous pouvez également utiliser la fonction memcache_set_server_params().

Note: Cette fonction a été ajoutée en Memcache version 2.1.0.

Liste de paramètres

host

Hôte où memcache écoute pour des connexions.

port

Port où memcache écoute pour des connexions.

timeout

Valeur en seconde qui sera utilisée pour se connecter au démon. Pensez-y deux fois avant de changer la valeur par défaut d'une seconde - vous pourriez perdre tous les avantages de l'utilisation de la cache si votre connexion est trop lente.

retry_interval

Contrôle combien de fois la connexion à un serveur qui échoue sera essayée : la valeur par défaut est de 15 secondes. Si ce paramètre vaut -1, aucune nouvelle tentative ne sera effectuée. Ni ce paramètre, ni le paramètre persistent n'ont d'effet lorsque cette extension est chargée dynamiquement via la fonction dl().

status

Contrôle si le serveur doit être indiqué comme étant en ligne. Quand ce paramètre vaut FALSE et le paramètre retry_interval vaut -1, cela permet de conserver un serveur qui a échoué dans la liste et n'affectera pas l'algorithme de distribution des clés. Les demandes pour ce serveur échoueront immédiatement suivant la configuration du paramètre memcache.allow_failover. Par défaut, ce paramètre vaut TRUE, signifiant que le serveur doit être considéré comme étant en ligne.

failure_callback

Permet à l'utilisateur de spécifier une fonction de rappel permettant de contourner une erreur. Le fonction est exécutée avant d'atteindre la limite de tentative. La fonction prend deux paramètres ; le nom de l'hôte et le port du serveur qui a échoué.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::setServerParams()

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* API orientée objet */

$memcache = new Memcache;

// Ajoute le serveur en mode hors ligne
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Replace le serveur en ligne
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* API procédurale */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Voir aussi

  • Memcache::addServer() - Ajoute un serveur memcache à la liste de connexion
  • Memcache::getServerStatus() - Retourne le statut du serveur

Memcache::setCompressThreshold
Fonctions Memcache
Memcache


Fonctions Memcache

Sommaire

  • memcache_debug — Active ou non l'affichage des informations de déboguage
Memcache::setServerParams
memcache_debug
Memcache


Active ou non l'affichage des informations de déboguage

Fonctions Memcache
Memcached
Fonctions Memcache
PHP Manual

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Active ou non l'affichage des informations de déboguage

Description

bool memcache_debug ( bool $on_off )

memcache_debug() active l'affichage des informations de déboguage si le paramètre on_off vaut TRUE et le désactive s'il vaut FALSE.

Note: memcache_debug() est accessible uniquement si PHP a été compilé avec l'option --enable-debug et retournera toujours TRUE dans ce cas. Sinon, cette fonction n'aura aucun effet et retournera toujours FALSE.

Liste de paramètres

on_off

Active l'affichage de débogue si égal à TRUE. Désactive l'affichage de débogue si égal à FALSE.

Valeurs de retour

Retourne TRUE si PHP était compilé avec l'option --enable-debug, autrement retourne FALSE.

Fonctions Memcache
Memcached
Fonctions Memcache


Memcached

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Délai d'expiration
  • Fonctions de rappel
    • Fonctions de rappel de résultats
    • Fonctions de rappel sur clé absente
  • Support des sessions
  • Memcached — La classe Memcached
    • Memcached::add — Ajoute un nouvel élément sous une nouvelle clé
    • Memcached::addByKey — Ajoute un élément sur un serveur désigné
    • Memcached::addServer — Ajoute un serveur au pool
    • Memcached::addServers — Ajoute plusieurs serveurs au pool
    • Memcached::append — Ajoute des données à un élément
    • Memcached::appendByKey — Ajoute des données à un élément
    • Memcached::cas — Compare et échange un élément
    • Memcached::casByKey — Compare et échange un élément sur un serveur
    • Memcached::__construct — Crée un objet Memcached
    • Memcached::decrement — Décrémente une valeur numérique
    • Memcached::delete — Efface un élément
    • Memcached::deleteByKey — Supprime un élément d'un serveur spécifique
    • Memcached::fetch — Lit le prochain résultat
    • Memcached::fetchAll — Lit tous les autres éléments
    • Memcached::flush — Invalide tous les éléments du cache
    • Memcached::get — Lit un élément
    • Memcached::getByKey — Lit un élément sur un serveur spécifique
    • Memcached::getDelayed — Lit plusieurs éléments
    • Memcached::getDelayedByKey — Lit plusieurs éléments sur un serveur
    • Memcached::getMulti — Lit plusieurs éléments
    • Memcached::getMultiByKey — Lit plusieurs éléments d'un serveur spécifique
    • Memcached::getOption — Lit une option Memcached
    • Memcached::getResultCode — Retourne le code de résultat de la dernière opération
    • Memcached::getResultMessage — Retourne un message décrivant le résultat de la dernière opération
    • Memcached::getServerByKey — Dirige une clé sur un serveur
    • Memcached::getServerList — Liste les serveurs du pool memcached
    • Memcached::getStats — Lit des statistiques du pool de serveurs
    • Memcached::getVersion — Lit les informations de version du pool serveur
    • Memcached::increment — Incrémente numériquement un élément
    • Memcached::prepend — Préfixe des données à un élément existant
    • Memcached::prependByKey — Préfixe un élément existant
    • Memcached::replace — Remplace un élément sous une clé
    • Memcached::replaceByKey — Remplace un élément spécifique sur un serveur désigné
    • Memcached::set — Stocke un élément
    • Memcached::setByKey — Stocke un élément sur un serveur spécifique
    • Memcached::setMulti — Stocke plusieurs éléments
    • Memcached::setMultiByKey — Stocke plusieurs éléments sur un serveur
    • Memcached::setOption — Configure une option Memcached
memcache_debug
Introduction
Autres services


Introduction

» memcached est un système à haute performance, distribué et en mémoire, de cache d'objet, générique par nature, mais principalement destiné à l'utilisation avec des sites Web dynamiques, pour soulager les bases de données.

Cette extension utilise la bibliothèque libmemcached pour assurer les communications avec les serveurs memcached. Elle fournit aussi un gestionnaire de sessions, appelé memcached.

Des informations sur libmemcached sont disponibles à » http://tangent.org/552/libmemcached.html.

Memcached
Installation/Configuration
Memcached


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Memcached


Pré-requis

Cette extension requiert la bibliothèque cliente » libmemcached.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/memcached

Si libmemcached est installé dans un dossier non-standard, utilisez l'option --with-libmemcached-dir=DIR, où DIR est le préfixe d'installation libmemcached. Ce dossier doit contenir le fichier include/libmemcached/memcached.h.

Zlib est nécessaire pour le support de la compression. Pour spécifier un dossier d'installation non-standard de Zlib, utilisez la directive --with-zlib-dir=DIR, où DIR est le préfixe d'installation.

Le support du gestionnaire de sessions est activé par défaut. Pour le désactiver, utilisez --disable-memcached-session.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Memcached::OPT_COMPRESSION

Active ou désactive la compression du contenu. Si elle est activée, les éléments qui dépassent une taille (actuellement 100 octets), seront compressés durant le stockage, et décompressés au déstockage, de manière transparente.

Type : boolean, par défaut : TRUE.

Memcached::OPT_SERIALIZER

Spécifie la fonction de linéarisation à utiliser pour les valeurs non scalaires. Les fonctions valides sont Memcached::SERIALIZER_PHP et Memcached::SERIALIZER_IGBINARY. Le dernier n'est supporté que si memcached est configuré avec l'option --enable-memcached-igbinary et que l'extension igbinary est chargée.

Type : integer, par défaut : Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

La fonction de linéarisation par défaut de PHP.

Memcached::SERIALIZER_IGBINARY

La fonction » igbinary. Au lieu d'une représentation textuelle, cette fonction stocke les structures PHP dans un format compact et binaire, avec un gain de temps et d'espace.

Memcached::SERIALIZER_JSON

La fonction de linéarisation JSON. Requière PHP 5.2.10 +.

Memcached::OPT_PREFIX_KEY

Cette option peut être utilisée pour créer un "domaine" pour vos clés. La valeur spécifiée ici sera préfixée à chaque clé. Elle ne peut pas être plus longue que 128 caractères, et réduira d'autant la taille maximale de clé disponible. Le préfixe est appliqué uniquement aux clés d'élément, et non pas aux clés de serveur.

Type : string, par défaut : "".

Memcached::OPT_HASH

Spécifie l'algorithme de hashage utilisé pour les clé. Les valeurs valides sont fournies avec les constantes Memcached::HASH_*. Chaque algorithme de hashage a ses avantages et inconvénients. Utilisez celui qui est donné par défaut, si vous ne comprenez pas, ou que peu vous importe.

Type : integer, par défaut : Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

L'algorithme par défaut (Jenkins one-at-a-time) de hashage.

Memcached::HASH_MD5

L'algorithme de hashage par MD5

Memcached::HASH_CRC

L'algorithme de hashage par CRC

Memcached::HASH_FNV1_64

L'algorithme de hashage par FNV1_64

Memcached::HASH_FNV1A_64

L'algorithme de hashage par FNV1_64A

Memcached::HASH_FNV1_32

L'algorithme de hashage par FNV1_32

Memcached::HASH_FNV1A_32

L'algorithme de hashage par FNV1_32A

Memcached::HASH_HSIEH

L'algorithme de hashage par Hsieh

Memcached::HASH_MURMUR

L'algorithme de hashage par Murmur

Memcached::OPT_DISTRIBUTION

Spécifie la méthode de distribution des clés sur les serveurs. Actuellement, cette option supporte les modulo et le hashage cohérent. Le hashage cohérent fournit la meilleure distribution, et permet aux serveurs d'être ajouté au groupe avec un minimum de pertes de cache.

Type : integer, par défaut : Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

L'algorithme de distribution par modulo

Memcached::DISTRIBUTION_CONSISTENT

L'algorithme de distribution par hashage cohérent

Memcached::OPT_LIBKETAMA_COMPATIBLE

Active ou non la compatibilité avec le comportement type libketama. Quand cette option est activée, l'algorithme de hashage est MD5, et la distribution est le hashage cohérent. Ceci est pratique car d'autres client qui utilisent libketama (Python, Ruby, etc.) avec la même configuration serveur seront capables d'utiliser les mêmes clés, de manière transparente.

Note: Cette option est hautement recommandée, si vous voulez utiliser le hashage cohérente, et il est probable qu'elle soit activée par défaut dans de futures versions.

Type : boolean, par défaut : FALSE.

Memcached::OPT_BUFFER_WRITES

Active ou non la bufferisation d'entrée / sortie. La bufferisation fait que les commandes de stockage mettent en buffer, au lieu de faire des envois. Toute action qui lit des données fait que le buffer d'écriture est envoyé au serveur distant. La fermeture de la connexion ou son arrêt vont aussi forcer l'envoi des données du buffer.

Type : boolean, par défaut : FALSE.

Memcached::OPT_BINARY_PROTOCOL

Activez cette option pour utiliser le protocole binaire. Notez que vous ne pouvez pas changer cette option pour une connexion déjà ouverte.

Type : boolean, par défaut : FALSE.

Memcached::OPT_NO_BLOCK

Active ou non les transferts asynchrones. Ceci est le mode de transfert le plus rapide, pour les fonctions de stockage.

Type : boolean, par défaut : FALSE.

Memcached::OPT_TCP_NODELAY

Active ou non les connexions sans délai des sockets (cela peut être un gain de performances dans certains environnements.

Type : boolean, par défaut : FALSE.

Memcached::OPT_SOCKET_SEND_SIZE

La taille maximale du buffer d'envoi par socket, en octets.

Type : integer, par défaut : varie par plate-forme et configuration du noyau.

Memcached::OPT_SOCKET_RECV_SIZE

La taille maximale du buffer de réception par socket, en octets.

Type : integer, par défaut : varie par plate-forme et configuration du noyau.

Memcached::OPT_CONNECT_TIMEOUT

En mode non-bloquant, cette option configure le délai d'expiration durant la connexion de la socket, en millisecondes.

Type : integer, par défaut : 1000.

Memcached::OPT_RETRY_TIMEOUT

La durée, en secondes, d'attente avant de tenter à nouveau une connexion qui a échouée.

Type : integer, par défaut : 0.

Memcached::OPT_SEND_TIMEOUT

Délai d'expiration d'envoi pour la socket, en microsecondes. Dans les cas où vous utilisez une socket non bloquante, cela vous permettra d'avoir des délais d'expiration en envoi de données, malgré tout.

Type : integer, par défaut : 0.

Memcached::OPT_RECV_TIMEOUT

Délai d'expiration de réception pour la socket, en microsecondes. Dans les cas où vous utilisez une socket non bloquante, cela vous permettra d'avoir des délais d'expiration en réception de données, malgré tout.

Type : integer, par défaut : 0.

Memcached::OPT_POLL_TIMEOUT

Délai d'expiration pour le polling de connexions, en millisecondes.

Type : integer, par défaut : 1000.

Memcached::OPT_CACHE_LOOKUPS

Active ou non le cache de DNS.

Type : boolean, par défaut : FALSE.

Memcached::OPT_SERVER_FAILURE_LIMIT

Spécifie la limite du nombre d'échec de connexions. Le serveur sera alors retiré de la liste après autant d'échec de connexions en succession.

Type : integer, par défaut : 0.

Memcached::HAVE_IGBINARY

Indique si le support de la fonction de linéarisation igbinary est activé.

Type : boolean.

Memcached::HAVE_JSON

Indique si la fonction de linéarisation JSON est disponible.

Type : boolean.

Memcached::GET_PRESERVE_ORDER

Une option pour Memcached::getMulti() et Memcached::getMultiByKey() afin de s'assurer que les clés sont retournées dans le même ordre que leur ordre de requête. Les clés inexistantes prennent alors la valeur NULL

Memcached::RES_SUCCESS

L'opération a réussi.

Memcached::RES_FAILURE

L'opération a échoué, d'une manière ou d'une autre.

Memcached::RES_HOST_LOOKUP_FAILURE

La recherche DNS a échoué.

Memcached::RES_UNKNOWN_READ_FAILURE

Echec de lecture sur le réseau.

Memcached::RES_PROTOCOL_ERROR

Mauvaise commande dans le protocole memcached.

Memcached::RES_CLIENT_ERROR

Erreur du coté du client.

Memcached::RES_SERVER_ERROR

Erreur du coté du serveur.

Memcached::RES_WRITE_FAILURE

Echec de l'écriture sur le réseau.

Memcached::RES_DATA_EXISTS

Echec de la comparaison et échange : l'élément que vous essayez de stocker a été modifié depuis votre dernière lecture.

Memcached::RES_NOTSTORED

L'élément n'a pas été stocké, mais pas à cause d'une erreur. Ceci est normal, et signifie qu'une condition pour un ajout "add" ou un remplacement "replace" n'a pas été satisfait, ou qu'un élément a été mise dans une queue d'effacement.

Memcached::RES_NOTFOUND

L'élément avec cette clé n'a pas été trouvé (avec une opération "get" ou "cas").

Memcached::RES_PARTIAL_READ

Erreur de lecture partielle sur le réseau.

Memcached::RES_SOME_ERRORS

Des erreurs sont survenir durant une lecture multiple.

Memcached::RES_NO_SERVERS

Liste de serveurs vide.

Memcached::RES_END

Fin de jeu de résultats.

Memcached::RES_ERRNO

Erreur système.

Memcached::RES_BUFFERED

L'opération a été bufferisée.

Memcached::RES_TIMEOUT

Le délai d'exécution de l'opération a expiré.

Memcached::RES_BAD_KEY_PROVIDED

Mauvaise clé.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Impossible de créer une socket.

Memcached::RES_PAYLOAD_FAILURE

Échec de traitement : impossible de compresser, décompresser ou linéariser la valeur.

Types de ressources
Délai d'expiration
Memcached


Délai d'expiration

Certaines commandes de stockage imposent l'envoie d'un délai d'expiration (relatif à un élément ou à une commande émise par le client), sur le serveur. Dans ce cas, cette valeur doit être envoyée sous la forme d'un timestamp Unix (nombre de secondes depuis le 1er janvier 1970, sous forme d'entier), ou d'un nombre de secondes depuis l'heure courante. Dans le dernier cas, ce nombre de secondes ne peut pas excéder une journée, soit 60*60*24*30 secondes; si la valeur d'expiration est plus grande que cette valeur, le serveur le considérera comme un timestamp, plutôt qu'un délai.

Si la valeur d'expiration est 0 (la valeur par défaut), l'élément n'expire jamais, même s'il peut être effacé par le serveur pour faire de la place aux autres éléments.

Constantes pré-définies
Fonctions de rappel
Memcached


Fonctions de rappel

Sommaire

  • Fonctions de rappel de résultats
  • Fonctions de rappel sur clé absente
Délai d'expiration
Fonctions de rappel de résultats
Memcached


Fonctions de rappel de résultats

Les fonctions de rappel de résultats (type callback ) sont appelées par les fonctions Memcached::getDelayed ou Memcached::getDelayedBykey, pour chaque élément du jeu de résultat. Les fonctions de rappel reçoivent un objet Memcached et un tableau avec les informations sur l'élément. La fonction de rappel n'a pas besoin de retourner quoi que ce soit.

Exemple #1 Exemple de fonction de rappel de résultats

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');

function result_cb($memc, $item)
{
    var_dump($item);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}
Fonctions de rappel
Fonctions de rappel sur clé absente
Fonctions de rappel


Fonctions de rappel sur clé absente

Les fonctions de rappel sur clé absente sont appelées quand un élément ne peut pas être lu sur le serveur. La fonction de rappel reçoit un objet Memcached, la clé demandée, et une valeur de variable par référence. La fonction de rappel est alors responsable d'affecter la valeur, puis de retourner TRUE ou FALSE. Si la fonction de rappel retourne TRUE Memcached va stocker la valeur ainsi créée dans le serveur, et la retourner à la fonction appelante. Seules Memcached::get et Memcached::getByKey supportent ces fonctions, car le protocole memcache ne fournit aucune information sur l'absence de clé dans une requête multiclé.

Exemple #1 Fonctions de rappel sur clé absente

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$profile_info = $m->get('user:'.$user_id, 'user_info_cb');

function user_info_cb($memc, $key, &$value)
{
    $user_id = substr($key, 5);
    /* Lit un profil dans une base de données */
    /* ... */
    $value = $profile_info;
    return true;
}
?>
Fonctions de rappel de résultats
Support des sessions
Fonctions de rappel


Support des sessions

Memcached fournit un gestionnaire de sessions qui peut être utilisé pour stocker les sessions sur memcache. Une instance distincte de memcached est utilisé en interne, ce qui fait que vous pouvez avoir un pool de serveur différent, si nécessaire. Les clés de sessions sont stockés avec le préfixe memc.sess.key., alors soyez-en conscience si vous utilisez le même serveur pour les sessions et pour le cache.

session.save_handler string

Donnez-lui la valeur de memcached pour activer le support des sessions sur memcached.

session.save_path string

Définit une liste de valeurs séparés par des virgules, avec la syntaxe nomdhote:port, à utiliser pour le pool de serveurs de sessions. Par exemple, "sess1:11211, sess2:11211".

Fonctions de rappel sur clé absente
Memcached
Memcached


La classe Memcached

Introduction

Représente une connexion avec un serveur memcache.

Synopsis de la classe

Memcached
Memcached {
__construct ([ string $persistent_id ] )
public bool add ( string $key , mixed $value [, int $expiration ] )
public bool addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool addServer ( string $host , int $port [, int $weight = 0 ] )
public bool addServers ( array $servers )
public bool append ( string $key , string $value )
public bool appendByKey ( string $server_key , string $key , string $value )
public bool cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )
public bool casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )
public int decrement ( string $key [, int $offset = 1 ] )
public bool delete ( string $key [, int $time = 0 ] )
public bool deleteByKey ( string $server_key , string $key [, int $time = 0 ] )
public array fetch ( void )
public array fetchAll ( void )
public bool flush ([ int $delay = 0 ] )
public mixed get ( string $key [, callback $cache_cb [, float &$cas_token ]] )
public mixed getByKey ( string $server_key , string $key [, callback $cache_cb [, float &$cas_token ]] )
public bool getDelayed ( array $keys [, bool $with_cas [, callback $value_cb ]] )
public bool getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callback $value_cb ]] )
public mixed getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )
public void getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )
public mixed getOption ( int $option )
public int getResultCode ( void )
public string getResultMessage ( void )
public array getServerByKey ( string $server_key )
public array getServerList ( void )
public array getStats ( void )
public array getVersion ( void )
public int increment ( string $key [, int $offset = 1 ] )
public bool prepend ( string $key , string $value )
public bool prependByKey ( string $server_key , string $key , string $value )
public bool replace ( string $key , mixed $value [, int $expiration ] )
public bool replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool set ( string $key , mixed $value [, int $expiration ] )
public bool setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )
public bool setMulti ( array $items [, int $expiration ] )
public bool setMultiByKey ( string $server_key , array $items [, int $expiration ] )
public bool setOption ( int $option , mixed $value )
}

Sommaire

  • Memcached::add — Ajoute un nouvel élément sous une nouvelle clé
  • Memcached::addByKey — Ajoute un élément sur un serveur désigné
  • Memcached::addServer — Ajoute un serveur au pool
  • Memcached::addServers — Ajoute plusieurs serveurs au pool
  • Memcached::append — Ajoute des données à un élément
  • Memcached::appendByKey — Ajoute des données à un élément
  • Memcached::cas — Compare et échange un élément
  • Memcached::casByKey — Compare et échange un élément sur un serveur
  • Memcached::__construct — Crée un objet Memcached
  • Memcached::decrement — Décrémente une valeur numérique
  • Memcached::delete — Efface un élément
  • Memcached::deleteByKey — Supprime un élément d'un serveur spécifique
  • Memcached::fetch — Lit le prochain résultat
  • Memcached::fetchAll — Lit tous les autres éléments
  • Memcached::flush — Invalide tous les éléments du cache
  • Memcached::get — Lit un élément
  • Memcached::getByKey — Lit un élément sur un serveur spécifique
  • Memcached::getDelayed — Lit plusieurs éléments
  • Memcached::getDelayedByKey — Lit plusieurs éléments sur un serveur
  • Memcached::getMulti — Lit plusieurs éléments
  • Memcached::getMultiByKey — Lit plusieurs éléments d'un serveur spécifique
  • Memcached::getOption — Lit une option Memcached
  • Memcached::getResultCode — Retourne le code de résultat de la dernière opération
  • Memcached::getResultMessage — Retourne un message décrivant le résultat de la dernière opération
  • Memcached::getServerByKey — Dirige une clé sur un serveur
  • Memcached::getServerList — Liste les serveurs du pool memcached
  • Memcached::getStats — Lit des statistiques du pool de serveurs
  • Memcached::getVersion — Lit les informations de version du pool serveur
  • Memcached::increment — Incrémente numériquement un élément
  • Memcached::prepend — Préfixe des données à un élément existant
  • Memcached::prependByKey — Préfixe un élément existant
  • Memcached::replace — Remplace un élément sous une clé
  • Memcached::replaceByKey — Remplace un élément spécifique sur un serveur désigné
  • Memcached::set — Stocke un élément
  • Memcached::setByKey — Stocke un élément sur un serveur spécifique
  • Memcached::setMulti — Stocke plusieurs éléments
  • Memcached::setMultiByKey — Stocke plusieurs éléments sur un serveur
  • Memcached::setOption — Configure une option Memcached
Support des sessions
Memcached::add
Memcached


Ajoute un nouvel élément sous une nouvelle clé

Memcached
Memcached::addByKey
Memcached
PHP Manual

Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add — Ajoute un nouvel élément sous une nouvelle clé

Description

public bool Memcached::add ( string $key , mixed $value [, int $expiration ] )

Memcached::add() est similaire à Memcached::set,mais l'opération échoue si la clé key existe déjà.

Liste de paramètres

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne la constante Memcached::RES_NOTSTORED si la clé existe déjà.

Voir aussi

  • Memcached::addByKey - Ajoute un élément sur un serveur désigné
  • Memcached::set - Stocke un élément
  • Memcached::replace - Remplace un élément sous une clé

Memcached
Memcached::addByKey
Memcached


Ajoute un élément sur un serveur désigné

Memcached::add
Memcached::addServer
Memcached
PHP Manual

Memcached::addByKey

(PECL memcached >= 0.1.0)

Memcached::addByKey — Ajoute un élément sur un serveur désigné

Description

public bool Memcached::addByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::addByKey() est fonctionnellement équivalent à Memcached::add, mais la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode va retourner la constante Memcached::RES_NOTSTORED si la clé existe déjà.

Voir aussi

  • Memcached::add - Ajoute un nouvel élément sous une nouvelle clé
  • Memcached::set - Stocke un élément
  • Memcached::replace - Remplace un élément sous une clé

Memcached::add
Memcached::addServer
Memcached


Ajoute un serveur au pool

Memcached::addByKey
Memcached::addServers
Memcached
PHP Manual

Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — Ajoute un serveur au pool

Description

public bool Memcached::addServer ( string $host , int $port [, int $weight = 0 ] )

Memcached::addServer() ajoute le serveur indiqué au pool de serveurs. Aucune connexion n'est établie à ce moment-là, mais si vous utilisez la clé de distribution par hashage cohérent (via Memcached::DISTRIBUTION_CONSISTENT ou Memcached::OPT_LIBKETAMA_COMPATIBLE), certaines structures internes vont être mises à jour. Par conséquent, si vous devez ajouter plusieurs serveurs, il est recommandé d'utiliser Memcached::addServers pour que la mise à jour n'arrive qu'une seule fois.

Le même serveur peut apparaître plusieurs fois dans le pool, car aucune recherche de doublon n'est faite. Ce n'est pas recommandé : utilisez plutôt le paramètre weight pour augmenter le poids d'un serveur dans la sélection.

Liste de paramètres

host

Le nom d'hôte du serveur. Si le nom d'hôte est invalide, les fonctions d'état d'opération vont retourner le code de résultat Memcached::RES_HOST_LOOKUP_FAILURE.

port

Le port sur lequel memcache fonctionne. Généralement, c'est 11211.

weight

Le poids du serveur relativement au poids total de tous les serveurs. Cela contrôle la probabilité qu'un serveur soit sélectionné durant les opérations. Cette option n'est utilisée qu'avec la distribution cohérente, et généralement, cela correspond au total de mémoire disponible sur ce serveur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcached::cas()

<?php
$m = new Memcached();

/* Ajoute deux serveurs, et le second est deux fois
   plus sollicité que le premier */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>

Voir aussi

  • Memcached::addServers - Ajoute plusieurs serveurs au pool

Memcached::addByKey
Memcached::addServers
Memcached


Ajoute plusieurs serveurs au pool

Memcached::addServer
Memcached::append
Memcached
PHP Manual

Memcached::addServers

(PECL memcached >= 0.1.1)

Memcached::addServers — Ajoute plusieurs serveurs au pool

Description

public bool Memcached::addServers ( array $servers )

Memcached::addServers() ajoute les serveurs servers au pool de serveurs. Chaque entrée dans servers doit être un tableau, contenant le nom d'hôte, et optionnellement son poids. Aucune connexion n'est établie au serveur à ce moment-là.

Le même serveur peut apparaître plusieurs fois dans le pool, car aucune vérification de duplication n'est faite. Ce n'est pas recommandé. Au lieu de cela, il vaut mieux utiliser le paramètre weight pour augmenter le poids du serveur.

Liste de paramètres

array

Un tableau de serveurs à ajouter.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcached::cas()

<?php
$m = new Memcached();

$servers = array(
    array('mem1.domain.com', 11211, 33),
    array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
?>

Voir aussi

  • Memcached::addServer - Ajoute un serveur au pool

Memcached::addServer
Memcached::append
Memcached


Ajoute des données à un élément

Memcached::addServers
Memcached::appendByKey
Memcached
PHP Manual

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::append — Ajoute des données à un élément

Description

public bool Memcached::append ( string $key , string $value )

Memcached::append() ajouter les données de value à la fin d'un élément existant. La raison qui fait que value doit être une chaîne est que les autres types ne supportent pas cette opération.

Note: Si la constante Memcached::OPT_COMPRESSION est activée, l'opération va échouer, et une alerte sera émise, car le préfixage de données compressée n'est pas possible.

Liste de paramètres

key

La clé de l'élément à suffixer.

value

La chaîne suffixée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Exemples

Exemple #1 Exemple avec Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

L'exemple ci-dessus va afficher :

string(6) "abcdef"

Voir aussi

  • Memcached::appendByKey - Ajoute des données à un élément
  • Memcached::prepend - Préfixe des données à un élément existant

Memcached::addServers
Memcached::appendByKey
Memcached


Ajoute des données à un élément

Memcached::append
Memcached::cas
Memcached
PHP Manual

Memcached::appendByKey

(PECL memcached >= 0.1.0)

Memcached::appendByKey — Ajoute des données à un élément

Description

public bool Memcached::appendByKey ( string $server_key , string $key , string $value )

Memcached::appendByKey() est fonctionnellement équivalent à Memcached::prepend, mais la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé de l'élément à qui ajouter des données.

value

La chaîne à ajouter.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Voir aussi

  • Memcached::append - Ajoute des données à un élément
  • Memcached::prepend - Préfixe des données à un élément existant

Memcached::append
Memcached::cas
Memcached


Compare et échange un élément

Memcached::appendByKey
Memcached::casByKey
Memcached
PHP Manual

Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::cas — Compare et échange un élément

Description

public bool Memcached::cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )

Memcached::cas() effectue une opération de "check and set" (littéralement, vérifie et assigne), de manière à ce que l'élément ne soit stocké que si aucune autre client ne l'a mise à jour depuis qu'il a été lu par le client courant. La vérification est faîte via le paramètre cas_token qui est une valeur 64 bits unique, assignée à l'élément par memcached. Voyez la documentation de Memcached::get* pour savoir comment obtenir cette valeur. Notez que cette valeur est représentée par un nombre décimal, à cause de limitations dans l'espace des entiers de PHP.

Liste de paramètres

cas_token

Valeur unique associée à un élément existant. Généré par memcached.

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode va retourner la constante Memcached::RES_DATA_EXISTS si l'élément que vous essayez de stocker a été modifié depuis votre dernière lecture.

Exemples

Exemple #1 Exemple avec Memcached::cas()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

do {
    /* Lit une IP et son CAS */
    $ips = $m->get('ip_block', null, $cas);
    /* Si l'IP n'existe pas encore, on la crèe et on fait un
       ajout atomique qui va échouer si l'IP a déjà été ajoutée */
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ips = array($_SERVER['REMOTE_ADDR']);
        $m->add('ip_block', $ips);
    /* Sinon, on ajoute l'IP à la liste, et on la stocke avec l'opération
       compare-and-swap et le token, qui va échouer si la liste a été mise à jour */
    } else {
        $ips[] = $_SERVER['REMOTE_ADDR'];
        $m->cas($cas, 'ip_block', $ips);
    }
} while ($m->getResultCode() != Memcached::RES_SUCCESS);

?>

Voir aussi

  • Memcached::casByKey - Compare et échange un élément sur un serveur

Memcached::appendByKey
Memcached::casByKey
Memcached


Compare et échange un élément sur un serveur

Memcached::cas
Memcached::__construct
Memcached
PHP Manual

Memcached::casByKey

(PECL memcached >= 0.1.0)

Memcached::casByKey — Compare et échange un élément sur un serveur

Description

public bool Memcached::casByKey ( float $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::casByKey() est fonctionnellement équivalent à Memcached::cas, mais la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

cas_token

Valeur unique, associée à un élément existant. Généré par memcache.

server_key

La clé d'identification du serveur de stockage.

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode va retourner Memcached::RES_DATA_EXISTS si l'élément que vous essayez de stocker a été modifié depuis votre dernière lecture.

Voir aussi

  • Memcached::cas - Compare et échange un élément

Memcached::cas
Memcached::__construct
Memcached


Crée un objet Memcached

Memcached::casByKey
Memcached::decrement
Memcached
PHP Manual

Memcached::__construct

(PECL memcached >= 0.1.0)

Memcached::__construct — Crée un objet Memcached

Description

Memcached::__construct ([ string $persistent_id ] )

Crée un objet Memcached représentant la connexion au serveur memcache.

Liste de paramètres

persistent_id

Par défaut, les instances Memcached sont détruites à la fin de la requête. Pour créer un objet qui persiste entre les requêtes, utilisez le paramètre persistent_id pour spécifier un identifiant unique pour l'instance. Tous les objets créés avec le même identifiant persistent_id partageront la même connexion.

Valeurs de retour

Un objet Memcached.

Exemples

Exemple #1 Création d'un objet Memcached

<?php
/* Création d'un objet classique */
$m1 = new Memcached();
echo get_class($m);

/* Création d'un objet persistant */
$m2 = new Memcached('story_pool');
$m3 = new Memcached('story_pool');

/* maitnenant $m2 et $m3 partagent la même connexion */
?>

Memcached::casByKey
Memcached::decrement
Memcached


Décrémente une valeur numérique

Memcached::__construct
Memcached::delete
Memcached
PHP Manual

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — Décrémente une valeur numérique

Description

public int Memcached::decrement ( string $key [, int $offset = 1 ] )

Memcached::decrement() décrémente la valeur numérique de offset unités. Si l'élément n'est pas numérique, il est traité comme la valeur 0. Memcached::decrement() va échouer si l'élément n'existe pas.

Liste de paramètres

key

La clé de l'élément à décrémenter.

offset

La quantité avec laquelle diminuer l'élément.

Valeurs de retour

Retourne la nouvelle valeur de l'élément en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Exemples

Exemple #1 Exemple avec Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$m->decrement('counter');
var_dump($m->get('counter'));

$m->decrement('counter', 10);
var_dump($m->get('counter'));
?>

L'exemple ci-dessus va afficher :

int(4)
int(0)

Voir aussi

  • Memcached::increment - Incrémente numériquement un élément

Memcached::__construct
Memcached::delete
Memcached


Efface un élément

Memcached::decrement
Memcached::deleteByKey
Memcached
PHP Manual

Memcached::delete

(PECL memcached >= 0.1.0)

Memcached::delete — Efface un élément

Description

public bool Memcached::delete ( string $key [, int $time = 0 ] )

Memcached::delete() efface l'élément représenté par la clé key du serveur. Le paramètre time est la durée, en seconde (ou la date Unix) durant laquelle le client veut que le serveur refuse les opérations add et replace sur cette clé. Durant ce laps de temps, l'élément est mis dans une queue d'effacement, ce qui signifie qu'il ne sera pas possible d'utiliser la commande get, mais les commandes add and replace avec cette clé vont aussi échouer (la commande set va fonctionner, toutefois). Après ce laps de temps, l'élément sera effectivement effacé du serveur. Le paramètre time vaut par défaut 0, ce qui signifie que l'élément sera effacé immédiatement, et que les prochains stockages seront acceptés.

Liste de paramètres

key

La clé a effacer.

time

La durée d'effacement sur le serveur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Exemples

Exemple #1 Exemple avec Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->delete('key1');
?>

Voir aussi

  • Memcached::deleteByKey - Supprime un élément d'un serveur spécifique

Memcached::decrement
Memcached::deleteByKey
Memcached


Supprime un élément d'un serveur spécifique

Memcached::delete
Memcached::fetch
Memcached
PHP Manual

Memcached::deleteByKey

(PECL memcached >= 0.1.0)

Memcached::deleteByKey — Supprime un élément d'un serveur spécifique

Description

public bool Memcached::deleteByKey ( string $server_key , string $key [, int $time = 0 ] )

Memcached::deleteByKey() est fonctionnellement équivalente à Memcached::delete, hormis la variable libre server_key qui peut être utilisée pour diriger la variable key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé à effacer.

time

La durée d'attente de l'effacement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Voir aussi

  • Memcached::delete - Efface un élément

Memcached::delete
Memcached::fetch
Memcached


Lit le prochain résultat

Memcached::deleteByKey
Memcached::fetchAll
Memcached
PHP Manual

Memcached::fetch

(PECL memcached >= 0.1.0)

Memcached::fetch — Lit le prochain résultat

Description

public array Memcached::fetch ( void )

Memcached::fetch() lit le prochain résultat de la dernière requête.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le résultat suivant, ou bien FALSE sinon. La méthode Memcached::getResultCode va retourner Memcached::RES_END si le jeu de résultats est fini.

Exemples

Exemple #1 Exemple avec Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
while ($result = $m->fetch()) {
    var_dump($result);
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Voir aussi

  • Memcached::fetchAll - Lit tous les autres éléments
  • Memcached::getDelayed - Lit plusieurs éléments

Memcached::deleteByKey
Memcached::fetchAll
Memcached


Lit tous les autres éléments

Memcached::fetch
Memcached::flush
Memcached
PHP Manual

Memcached::fetchAll

(PECL memcached >= 0.1.0)

Memcached::fetchAll — Lit tous les autres éléments

Description

public array Memcached::fetchAll ( void )

Memcached::fetchAll() lit tous les éléments de la dernière requête.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les résultats ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

L'exemple ci-dessus va afficher :

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Voir aussi

  • Memcached::fetch - Lit le prochain résultat
  • Memcached::getDelayed - Lit plusieurs éléments

Memcached::fetch
Memcached::flush
Memcached


Invalide tous les éléments du cache

Memcached::fetchAll
Memcached::get
Memcached
PHP Manual

Memcached::flush

(PECL memcached >= 0.1.0)

Memcached::flush — Invalide tous les éléments du cache

Description

public bool Memcached::flush ([ int $delay = 0 ] )

Memcached::flush() invalide tous les éléments du cache, immédiatement (par défaut), ou après un délai de delay secondes. Après une invalidation, aucun élément ne sera retourné en réponse à une commande de lecture (à moins qu'il ne soit stocké une nouvelle fois sous la même clé, après l'opération de Memcached::flush()). Cette opération ne libère pas la mémoire occupée par les éléments existants : cela se fera graduellement, avec le stockage des nouveaux éléments.

Liste de paramètres

delay

Le nombre de secondes d'attente avant l'invalidation.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::flush()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* invalide tous les éléments dans 10 secondes */
$m->flush(10);
?>

Memcached::fetchAll
Memcached::get
Memcached


Lit un élément

Memcached::flush
Memcached::getByKey
Memcached
PHP Manual

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Lit un élément

Description

public mixed Memcached::get ( string $key [, callback $cache_cb [, float &$cas_token ]] )

Memcached::get() lit un élément qui a été stocké précédemment avec la clé key. Si l'élément est trouvé, et que la variable cas_token a été fournie, elle contiendra la valeur CAS pour cet élément. Voyez Memcached::cas pour savoir comment utiliser les CAS. Une Fonction de rappel en cas d'absence peut être spécifiée avec le paramètre cache_cb.

Liste de paramètres

key

La clé de l'élément à lire.

cache_cb

Une fonction de rappel en cas d'absence ou NULL.

cas_token

La variable où stocker le CAS.

Valeurs de retour

Retourne la valeur stockée dans le cache, ou bien FALSE sinon. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Exemples

Exemple #1 Exemple avec Memcached::get() 1

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
?>

L'exemple ci-dessus va afficher :

int(100)

Exemple #2 Exemple avec Memcached::get() 2

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

if (!($ip = $m->get('ip_block'))) {
    if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        $ip = array();
        $m->set('ip_block', $ip);
    } else {
        /* log error */
        /* ...       */
    }
}
?>

Voir aussi

  • Memcached::getByKey - Lit un élément sur un serveur spécifique
  • Memcached::getMulti - Lit plusieurs éléments
  • Memcached::getDelayed - Lit plusieurs éléments

Memcached::flush
Memcached::getByKey
Memcached


Lit un élément sur un serveur spécifique

Memcached::get
Memcached::getDelayed
Memcached
PHP Manual

Memcached::getByKey

(PECL memcached >= 0.1.0)

Memcached::getByKey — Lit un élément sur un serveur spécifique

Description

public mixed Memcached::getByKey ( string $server_key , string $key [, callback $cache_cb [, float &$cas_token ]] )

Memcached::getByKey() est fonctionnellement équivalente à Memcached::get, hormis le fait que la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé de l'élément à lire.

cache_cb

Fonction de rappel en cas d'absence, ou NULL

cas_token

La variable dans laquelle stocker le CAS.

Valeurs de retour

Retourne la valeur stockée dans le cache, ou FALSE sinon. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Voir aussi

  • Memcached::get - Lit un élément
  • Memcached::getMulti - Lit plusieurs éléments
  • Memcached::getDelayed - Lit plusieurs éléments

Memcached::get
Memcached::getDelayed
Memcached


Lit plusieurs éléments

Memcached::getByKey
Memcached::getDelayedByKey
Memcached
PHP Manual

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed — Lit plusieurs éléments

Description

public bool Memcached::getDelayed ( array $keys [, bool $with_cas [, callback $value_cb ]] )

Memcached::getDelayed() émet une commande à memcache pour lire plusieurs clé qui sont spécifiées dans le tableau keys. La méthode n'attend pas la réponse et retourne immédiatement. Lorsque vous êtes prêts à lire les éléments, appelez les méthodes Memcached::fetch ou Memcached::fetchAll. Si with_cas vaut TRUE le CAS sera aussi lu.

Au lieu de lire les résultats explicitement, vous pouvez spécifier une fonction de rappel de résultats via le paramètre value_cb.

Liste de paramètres

keys

Un tableau de clé à lire.

with_cas

S'il faut lire les CAS.

value_cb

Une fonction de rappel de résultats, ou NULL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::getDelayed()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

L'exemple ci-dessus va afficher :

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Voir aussi

  • Memcached::getDelayedByKey - Lit plusieurs éléments sur un serveur
  • Memcached::fetch - Lit le prochain résultat
  • Memcached::fetchAll - Lit tous les autres éléments

Memcached::getByKey
Memcached::getDelayedByKey
Memcached


Lit plusieurs éléments sur un serveur

Memcached::getDelayed
Memcached::getMulti
Memcached
PHP Manual

Memcached::getDelayedByKey

(PECL memcached >= 0.1.0)

Memcached::getDelayedByKey — Lit plusieurs éléments sur un serveur

Description

public bool Memcached::getDelayedByKey ( string $server_key , array $keys [, bool $with_cas [, callback $value_cb ]] )

Memcached::getDelayedByKey() est fonctionnellement équivalent à Memcached::getDelayed, mais la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

keys

Un tableau de clé à lire.

with_cas

S'il faut aussi lire les CAS.

value_cb

Une fonction de rappel de résultats, ou NULL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Voir aussi

  • Memcached::getDelayed - Lit plusieurs éléments
  • Memcached::fetch - Lit le prochain résultat
  • Memcached::fetchAll - Lit tous les autres éléments

Memcached::getDelayed
Memcached::getMulti
Memcached


Lit plusieurs éléments

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached
PHP Manual

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMulti — Lit plusieurs éléments

Description

public mixed Memcached::getMulti ( array $keys [, array &$cas_tokens [, int $flags ]] )

Memcached::getMulti() est similaire à la méthode Memcached::get, mais au lieu d'un seul élément, elle sait lire plusieurs éléments spécifiés par le tableau keys. Si la variable cas_tokens est fournie, elle contiendra les CAS de chaque valeur trouvée.

Note: Contrairement à Memcached::get, il n'est pas possible à de spécifier un fonction de rappel en cas d'absence pour la fonction Memcached::getMulti(), car le protocole de memcache ne fournit pas d'information sur les clés qui n'ont pas été trouvée.

Le paramètre flags sert à spécifier des options supplémentaires pour Memcached::getMulti(). Actuellement, la seule option disponible est Memcached::GET_PRESERVE_ORDER qui garantit que les clés sont retournées dans le même ordre que celui de leur requête.

Liste de paramètres

keys

Un tableau de clé à lire.

cas_tokens

La variable où stocker les CAS des éléments trouvés.

flags

Les options pour cette opération.

Valeurs de retour

Retourne un tableau d'élément lus ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::append()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Exemple #2 Exemple avec Memcached::GET_PRESERVE_ORDER

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
    'foo' => 'foo-data',
    'bar' => 'bar-data',
    'baz' => 'baz-data',
    'lol' => 'lol-data',
    'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
    echo "$k $v\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Voir aussi

  • Memcached::getMultiByKey - Lit plusieurs éléments d'un serveur spécifique
  • Memcached::get - Lit un élément
  • Memcached::getDelayed - Lit plusieurs éléments

Memcached::getDelayedByKey
Memcached::getMultiByKey
Memcached


Lit plusieurs éléments d'un serveur spécifique

Memcached::getMulti
Memcached::getOption
Memcached
PHP Manual

Memcached::getMultiByKey

(PECL memcached >= 0.1.0)

Memcached::getMultiByKey — Lit plusieurs éléments d'un serveur spécifique

Description

public void Memcached::getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, int $flags ]] )

Memcached::getMultiByKey() est fonctionnellement équivalent à Memcached::getMulti, mais la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

keys

Un tableau de clé à lire.

cas_tokens

La variable où stocker les CAS des éléments trouvés.

flags

Les options de l'opération.

Valeurs de retour

Retourne le tableau des éléments trouvés ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Voir aussi

  • Memcached::getMulti - Lit plusieurs éléments
  • Memcached::get - Lit un élément
  • Memcached::getDelayed - Lit plusieurs éléments

Memcached::getMulti
Memcached::getOption
Memcached


Lit une option Memcached

Memcached::getMultiByKey
Memcached::getResultCode
Memcached
PHP Manual

Memcached::getOption

(PECL memcached >= 0.1.0)

Memcached::getOption — Lit une option Memcached

Description

public mixed Memcached::getOption ( int $option )

Retourne la valeur de l'option Memcached option. Ces options sont définies par libmemcached, et d'autres sont spécifiques à cette extension. Voyez constantes Memcached pour plus d'informations.

Liste de paramètres

option

Une des constantes Memcached::OPT_*.

Valeurs de retour

Retourne la valeur de l'option demandée, ou bien FALSE en cas d'erreur.

Exemples

Exemple #1 Lecture des options Memcached

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_COMPRESSION));
var_dump($m->getOption(Memcached::OPT_POLL_TIMEOUT));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
int(1000)

Voir aussi

  • Memcached::setOption - Configure une option Memcached
  • Memcached Constants

Memcached::getMultiByKey
Memcached::getResultCode
Memcached


Retourne le code de résultat de la dernière opération

Memcached::getOption
Memcached::getResultMessage
Memcached
PHP Manual

Memcached::getResultCode

(PECL memcached >= 0.1.0)

Memcached::getResultCode — Retourne le code de résultat de la dernière opération

Description

public int Memcached::getResultCode ( void )

Memcached::getResultCode() retourne une des constantes Memcached::RES_* qui indique l'état du résultat de la dernière opération.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le code de résultat de la dernière opération Memcached.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar');
if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
    /* ... */
}
?>

Memcached::getOption
Memcached::getResultMessage
Memcached


Retourne un message décrivant le résultat de la dernière opération

Memcached::getResultCode
Memcached::getServerByKey
Memcached
PHP Manual

Memcached::getResultMessage

(PECL memcached >= 1.0.0)

Memcached::getResultMessage — Retourne un message décrivant le résultat de la dernière opération

Description

public string Memcached::getResultMessage ( void )

Memcached::getResultMessage() retourne une chaîne qui décrit le code résultat de la dernière méthode Memcached exécutée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Message décrivant le résultat de la dernière opération Memcached.

Exemples

Exemple #1 Exemple avec Memcached::getResultMessage()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar'); // Succès la première fois
$m->add('foo', 'bar');
echo $m->getResultMessage(),"\n";
?>

L'exemple ci-dessus va afficher :

NOT STORED

Memcached::getResultCode
Memcached::getServerByKey
Memcached


Dirige une clé sur un serveur

Memcached::getResultMessage
Memcached::getServerList
Memcached
PHP Manual

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Dirige une clé sur un serveur

Description

public array Memcached::getServerByKey ( string $server_key )

Memcached::getServerByKey() retourne le serveur qui devrait être sélectionné par une clé server_key dans les opérations de type Memcached::*ByKey().

Liste de paramètres

server_key

La clé d'identification du serveur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 40),
    array('mem2.domain.com', 11211, 40),
    array('mem3.domain.com', 11211, 20),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["host"]=>
  string(15) "mem3.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(20)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}

Memcached::getResultMessage
Memcached::getServerList
Memcached


Liste les serveurs du pool memcached

Memcached::getServerByKey
Memcached::getStats
Memcached
PHP Manual

Memcached::getServerList

(PECL memcached >= 0.1.0)

Memcached::getServerList — Liste les serveurs du pool memcached

Description

public array Memcached::getServerList ( void )

Memcached::getServerList() retourne la liste de tous les serveurs qui sont dans sa liste.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La liste de tous les serveurs du pool.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServers(array(
    array('mem1.domain.com', 11211, 20),
    array('mem2.domain.com', 11311, 80),
));
var_dump($m->getServerList());
?>

L'exemple ci-dessus va afficher :

array(2) {
  [0]=>
  array(3) {
    ["host"]=>
    string(15) "mem1.domain.com"
    ["port"]=>
    int(11211)
    ["weight"]=>
    int(20)
  }
  [1]=>
  array(3) {
    ["host"]=>
    string(15) "mem2.domain.com"
    ["port"]=>
    int(11311)
    ["weight"]=>
    int(80)
  }
}

Memcached::getServerByKey
Memcached::getStats
Memcached


Lit des statistiques du pool de serveurs

Memcached::getServerList
Memcached::getVersion
Memcached
PHP Manual

Memcached::getStats

(PECL memcached >= 0.1.0)

Memcached::getStats — Lit des statistiques du pool de serveurs

Description

public array Memcached::getStats ( void )

Memcached::getStats() retourne un tableau contenant l'état de toutes les machines en fonctionnement. Voyez le » protocole memcached pour plus de détails sur ces statistiques.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de statistiques de serveurs, une entrée par serveur.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getStats());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [localhost:11211] => Array
        (
            [pid] => 4933
            [uptime] => 786123
            [threads] => 1
            [time] => 1233868010
            [pointer_size] => 32
            [rusage_user_seconds] => 0
            [rusage_user_microseconds] => 140000
            [rusage_system_seconds] => 23
            [rusage_system_microseconds] => 210000
            [curr_items] => 145
            [total_items] => 2374
            [limit_maxbytes] => 67108864
            [curr_connections] => 2
            [total_connections] => 151
            [connection_structures] => 3
            [bytes] => 20345
            [cmd_get] => 213343
            [cmd_set] => 2381
            [get_hits] => 204223
            [get_misses] => 9120
            [evictions] => 0
            [bytes_read] => 9092476
            [bytes_written] => 15420512
            [version] => 1.2.6
        )

)

Memcached::getServerList
Memcached::getVersion
Memcached


Lit les informations de version du pool serveur

Memcached::getStats
Memcached::increment
Memcached
PHP Manual

Memcached::getVersion

(PECL memcached >= 0.1.5)

Memcached::getVersion — Lit les informations de version du pool serveur

Description

public array Memcached::getVersion ( void )

Memcached::getVersion() retourne un tableau contenant les informations de version disponibles de tous les serveurs memcache.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Tableau de versions de serveurs, une par serveur.

Exemples

Exemple #1 Exemple avec Memcached::getVersion()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getVersion());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [localhost:11211] => 1.2.6
)

Memcached::getStats
Memcached::increment
Memcached


Incrémente numériquement un élément

Memcached::getVersion
Memcached::prepend
Memcached
PHP Manual

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment — Incrémente numériquement un élément

Description

public int Memcached::increment ( string $key [, int $offset = 1 ] )

Memcached::increment() incrémente la valeur numérique de offset unités. Si l'élément n'est pas numérique, il est traité comme la valeur 0. Memcached::increment() va échouer si l'élément n'existe pas.

Liste de paramètres

key

La clé de l'élément à incrémenter.

offset

La quantité avec laquelle augmenter l'élément.

Valeurs de retour

Retourne la nouvelle valeur de l'élément, en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 0);
$m->increment('counter');
$m->increment('counter', 10);
var_dump($m->get('counter'));

$m->set('key', 'abc');
$m->increment('counter');
?>

L'exemple ci-dessus va afficher :

int(11)
string(1) "1"

Voir aussi

  • Memcached::decrement - Décrémente une valeur numérique

Memcached::getVersion
Memcached::prepend
Memcached


Préfixe des données à un élément existant

Memcached::increment
Memcached::prependByKey
Memcached
PHP Manual

Memcached::prepend

(PECL memcached >= 0.1.0)

Memcached::prepend — Préfixe des données à un élément existant

Description

public bool Memcached::prepend ( string $key , string $value )

Memcached::prepend() ajouter les données de value au début d'un élément existant. La raison qui fait que value doit être une chaîne est que les autres types ne supportent pas cette opération.

Note: Si la constante Memcached::OPT_COMPRESSION est activée, l'opération va échouer, et une alerte sera émise, car le préfixage de données compressée n'est pas possible.

Liste de paramètres

key

La clé de l'élément à préfixer.

value

La chaîne préfixée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode va retourner Memcached::RES_NOTSTORED si la clé n'existe pas.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->prepend('foo', 'def');
var_dump($m->get('foo'));
?>

L'exemple ci-dessus va afficher :

string(6) "defabc"

Voir aussi

  • Memcached::prependByKey - Préfixe un élément existant
  • Memcached::append - Ajoute des données à un élément

Memcached::increment
Memcached::prependByKey
Memcached


Préfixe un élément existant

Memcached::prepend
Memcached::replace
Memcached
PHP Manual

Memcached::prependByKey

(PECL memcached >= 0.1.0)

Memcached::prependByKey — Préfixe un élément existant

Description

public bool Memcached::prependByKey ( string $server_key , string $key , string $value )

Memcached::prependByKey() est fonctionnellement équivalent à Memcached::prepend, mais la variable libre server_key peut être utilisée pour diriger la clé key sur un serveur spécifique.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé de l'élément à préfixer.

value

La chaîne à préfixer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Voir aussi

  • Memcached::prepend - Préfixe des données à un élément existant
  • Memcached::append - Ajoute des données à un élément

Memcached::prepend
Memcached::replace
Memcached


Remplace un élément sous une clé

Memcached::prependByKey
Memcached::replaceByKey
Memcached
PHP Manual

Memcached::replace

(PECL memcached >= 0.1.0)

Memcached::replace — Remplace un élément sous une clé

Description

public bool Memcached::replace ( string $key , mixed $value [, int $expiration ] )

Memcached::replace() est similaire à Memcached::set, mais l'opération va échouer si la clé key n'existe pas sur le serveur.

Liste de paramètres

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode retourne Memcached::RES_NOTFOUND si la clé n'existe pas.

Voir aussi

  • Memcached::replaceByKey - Remplace un élément spécifique sur un serveur désigné
  • Memcached::set - Stocke un élément
  • Memcached::add - Ajoute un nouvel élément sous une nouvelle clé

Memcached::prependByKey
Memcached::replaceByKey
Memcached


Remplace un élément spécifique sur un serveur désigné

Memcached::replace
Memcached::set
Memcached
PHP Manual

Memcached::replaceByKey

(PECL memcached >= 0.1.0)

Memcached::replaceByKey — Remplace un élément spécifique sur un serveur désigné

Description

public bool Memcached::replaceByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::replaceByKey() est fonctionnellement équivalent à la fonction Memcached::replace, hormis le fait que la variable libre server_key peut être utilisée pour diriger la clé key vers un serveur spécifique. Ceci est utile si vous voulez conserver un groupe de variables groupées sur un serveur.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. La méthode Memcached::getResultCode va retourner Memcached::RES_NOTSTORED si la clé n'existe pas.

Voir aussi

  • Memcached::replace - Remplace un élément sous une clé
  • Memcached::set - Stocke un élément
  • Memcached::add - Ajoute un nouvel élément sous une nouvelle clé

Memcached::replace
Memcached::set
Memcached


Stocke un élément

Memcached::replaceByKey
Memcached::setByKey
Memcached
PHP Manual

Memcached::set

(PECL memcached >= 0.1.0)

Memcached::set — Stocke un élément

Description

public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )

Memcached::set() stocke la valeur value sur une serveur memcache, avec la clé d'identification key. Le paramètre expiration permet de contrôler le délai d'expiration automatique de la valeur.

La valeur peut être n'importe quelle type de valeur PHP, hormis une ressource, car elles ne peuvent pas être représentée sous forme linéaire. Si l'option Memcached::OPT_COMPRESSION est activée, la valeur linéarisée sera aussi compressée avant stockage.

Liste de paramètres

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::getResultCode()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* L''object' va etre détruit dans 5 minutes */
$m->set('object', new stdclass, time() + 300);

var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(99)
string(15) "a simple string"
array(2) {
  [0]=>
  int(11)
  [1]=>
  int(12)
}
object(stdClass)#1 (0) {
}

Voir aussi

  • Memcached::setByKey - Stocke un élément sur un serveur spécifique
  • Memcached::add - Ajoute un nouvel élément sous une nouvelle clé
  • Memcached::replace - Remplace un élément sous une clé

Memcached::replaceByKey
Memcached::setByKey
Memcached


Stocke un élément sur un serveur spécifique

Memcached::set
Memcached::setMulti
Memcached
PHP Manual

Memcached::setByKey

(PECL memcached >= 0.1.0)

Memcached::setByKey — Stocke un élément sur un serveur spécifique

Description

public bool Memcached::setByKey ( string $server_key , string $key , mixed $value [, int $expiration ] )

Memcached::setByKey() est fonctionnellement équivalente à Memcached::set, hormis le fait que la variable libre server_key peut être utilisée pour envoyer la clé key sur un serveur spécifique. Ceci est utile si vous voulez grouper certaines clés sur un serveur.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

key

La clé avec laquelle stocker la valeur.

value

La valeur à stocker.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::setByKey()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* Conserve les blocs d'IP sur un serveur */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>

Voir aussi

  • Memcached::set - Stocke un élément

Memcached::set
Memcached::setMulti
Memcached


Stocke plusieurs éléments

Memcached::setByKey
Memcached::setMultiByKey
Memcached
PHP Manual

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti — Stocke plusieurs éléments

Description

public bool Memcached::setMulti ( array $items [, int $expiration ] )

Memcached::setMulti() est similaire à Memcached::set, et au lieu de stocker une seule paire clé / valeur, elle fonctionne sur plusieurs éléments via items. Le délai d'expiration expiration s'applique à tous les éléments dans leur ensemble.

Liste de paramètres

items

Un tableau de paires clé/valeur à stocker sur le serveur.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Exemples

Exemple #1 Exemple avec Memcached::setMulti()

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Voir aussi

  • Memcached::setMultiByKey - Stocke plusieurs éléments sur un serveur
  • Memcached::set - Stocke un élément

Memcached::setByKey
Memcached::setMultiByKey
Memcached


Stocke plusieurs éléments sur un serveur

Memcached::setMulti
Memcached::setOption
Memcached
PHP Manual

Memcached::setMultiByKey

(PECL memcached >= 0.1.0)

Memcached::setMultiByKey — Stocke plusieurs éléments sur un serveur

Description

public bool Memcached::setMultiByKey ( string $server_key , array $items [, int $expiration ] )

Memcached::setMultiByKey() est l'équivalent fonctionnel de Memcached::setMulti, hormis le fait que le paramètre libre server_key peut être utilisé pour diriger les clés de items vers un serveur spécifique. Ceci est utile si vous voulez conserver certaines clés groupées sur un seul serveur.

Liste de paramètres

server_key

La clé d'identification du serveur de stockage.

items

Un tableau de paires clé/valeur à stocker sur le serveur.

expiration

Le délai d'expiration, par défaut à zéro. Voyez délais d'expiration pour plus d'informations.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Utilisez Memcached::getResultCode si nécessaire.

Voir aussi

  • Memcached::setMulti - Stocke plusieurs éléments
  • Memcached::set - Stocke un élément

Memcached::setMulti
Memcached::setOption
Memcached


Configure une option Memcached

Memcached::setMultiByKey
Gearman
Memcached
PHP Manual

Memcached::setOption

(PECL memcached >= 0.1.0)

Memcached::setOption — Configure une option Memcached

Description

public bool Memcached::setOption ( int $option , mixed $value )

Memcached::setOption() configure une valeur de l'option Memcached option avec la valeur value. Certaines options correspondent à celles définies dans libmemcached, et d'autres sont spécifiques à l'extension. Voyez les constantes Memcached pour plus d'informations.

Les options listées ci-dessous requièrent des valeurs fournies par les constantes :

  • Memcached::OPT_HASH requiert une constante Memcached::HASH_*.

  • Memcached::OPT_DISTRIBUTION requiert une constante Memcached::DISTRIBUTION_*.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Configuration d'une option Memcached

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
$m->setOption(Memcached::OPT_HASH, Memcached::HASH_MURMUR);
$m->setOption(Memcached::OPT_PREFIX_KEY, "widgets");
echo "Le préfixe de la clé est maintenant : ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

L'exemple ci-dessus va afficher :

bool(true)
Le préfixe de la clé est maintenant : widgets

Voir aussi

  • Memcached::getOption - Lit une option Memcached

Memcached::setMultiByKey
Gearman
Memcached


Gearman

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Basic Gearman client and worker
    • Basic Gearman client and worker, background
    • Basic Gearman client and worker, submitting tasks
  • GearmanClient — La classe GearmanClient
    • GearmanClient::addOptions — Ajoute des options au client
    • GearmanClient::addServer — Ajoute un serveur de tâches au client
    • GearmanClient::addServers — Ajoute une liste de serveurs de tâches au client
    • GearmanClient::addTask — Add a task to be run in parallel
    • GearmanClient::addTaskBackground — Add a background task to be run in parallel
    • GearmanClient::addTaskHigh — Ajoute une tâche de forte priorité à effectuer en parallèle
    • GearmanClient::addTaskHighBackground — Ajoute une tâche de fond de forte priorité à effectuer en parallèle
    • GearmanClient::addTaskLow — Ajoute une tâche de faible priorité à effectuer en parallèle
    • GearmanClient::addTaskLowBackground — Ajoute une tâche de fond de faible priorité à effectuer en parallèle
    • GearmanClient::addTaskStatus — Ajoute une tâche pour obtenir le statut
    • GearmanClient::clearCallbacks — Clear all task callback functions
    • GearmanClient::clone — Create a copy of a GearmanClient object
    • GearmanClient::__construct — Crée une instance GearmanClient
    • GearmanClient::context — Get the application context
    • GearmanClient::data — Get the application data (deprecated)
    • GearmanClient::do — Run a single task and return a result
    • GearmanClient::doBackground — Run a task in the background
    • GearmanClient::doHigh — Run a single high priority task
    • GearmanClient::doHighBackground — Run a high priority task in the background
    • GearmanClient::doJobHandle — Get the job handle for the running task
    • GearmanClient::doLow — Run a single low priority task
    • GearmanClient::doLowBackground — Run a low priority task in the background
    • GearmanClient::doStatus — Get the status for the running task
    • GearmanClient::echo — Send data to all job servers to see if they echo it back
    • GearmanClient::error — Returns an error string for the last error encountered.
    • GearmanClient::getErrno — Get an errno value
    • GearmanClient::jobStatus — Get the status of a background job
    • GearmanClient::removeOptions — Remove client options
    • GearmanClient::returnCode — Get the last Gearman return code
    • GearmanClient::runTasks — Run a list of tasks in parallel
    • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback — Set a function to be called on task completion
    • GearmanClient::setContext — Set application context
    • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
    • GearmanClient::setData — Set application data (deprecated)
    • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
    • GearmanClient::setFailCallback — Set callback for job failure
    • GearmanClient::setOptions — Set client options
    • GearmanClient::setStatusCallback — Set a callback for collecting task status
    • GearmanClient::setTimeout — Set socket I/O activity timeout
    • GearmanClient::setWarningCallback — Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
    • GearmanClient::timeout — Get current socket I/O activity timeout value
  • GearmanJob — La classe GearmanJob
    • GearmanJob::complete — Send the result and complete status (deprecated)
    • GearmanJob::__construct — Create a GearmanJob instance
    • GearmanJob::data — Send data for a running job (deprecated)
    • GearmanJob::exception — Send exception for running job (deprecated)
    • GearmanJob::fail — Send fail status (deprecated)
    • GearmanJob::functionName — Get function name
    • GearmanJob::handle — Get the job handle
    • GearmanJob::returnCode — Get last return code
    • GearmanJob::sendComplete — Send the result and complete status
    • GearmanJob::sendData — Send data for a running job
    • GearmanJob::sendException — Send exception for running job (exception)
    • GearmanJob::sendFail — Send fail status
    • GearmanJob::sendStatus — Send status
    • GearmanJob::sendWarning — Send a warning
    • GearmanJob::setReturn — Set a return value
    • GearmanJob::status — Send status (deprecated)
    • GearmanJob::unique — Get the unique identifier
    • GearmanJob::warning — Send a warning (deprecated)
    • GearmanJob::workload — Get workload
    • GearmanJob::workloadSize — Get size of work load
  • GearmanTask — La classe GearmanTask
    • GearmanTask::__construct — Crée une instance GearmanTask
    • GearmanTask::create — Create a task (deprecated)
    • GearmanTask::data — Get data returned for a task
    • GearmanTask::dataSize — Get the size of returned data
    • GearmanTask::function — Get associated function name (deprecated)
    • GearmanTask::functionName — Get associated function name
    • GearmanTask::isKnown — Determine if task is known
    • GearmanTask::isRunning — Test whether the task is currently running
    • GearmanTask::jobHandle — Get the job handle
    • GearmanTask::recvData — Read work or result data into a buffer for a task
    • GearmanTask::returnCode — Get the last return code
    • GearmanTask::sendData — Send data for a task (deprecated)
    • GearmanTask::sendWorkload — Send data for a task
    • GearmanTask::taskDenominator — Get completion percentage denominator
    • GearmanTask::taskNumerator — Get completion percentage numerator
    • GearmanTask::unique — Get the unique identifier for a task
    • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
  • GearmanWorker — La classe GearmanWorker
    • GearmanWorker::addFunction — Register and add callback function
    • GearmanWorker::addOptions — Add worker options
    • GearmanWorker::addServer — Add a job server
    • GearmanWorker::addServers — Add job servers
    • GearmanWorker::clone — Create a copy of the worker
    • GearmanWorker::__construct — Create a GearmanWorker instance
    • GearmanWorker::echo — Test job server response
    • GearmanWorker::error — Get the last error encountered
    • GearmanWorker::getErrno — Get errno
    • GearmanWorker::options — Get worker options
    • GearmanWorker::register — Register a function with the job server
    • GearmanWorker::removeOptions — Remove worker options
    • GearmanWorker::returnCode — Get last Gearman return code
    • GearmanWorker::setOptions — Set worker options
    • GearmanWorker::setTimeout — Set socket I/O activity timeout
    • GearmanWorker::timeout — Get socket I/O activity timeout
    • GearmanWorker::unregister — Unregister a function name with the job servers
    • GearmanWorker::unregisterAll — Unregister all function names with the job servers
    • GearmanWorker::wait — Wait for activity from one of the job servers
    • GearmanWorker::work — Wait for and perform jobs
Memcached::setOption
Introduction
Autres services


Introduction

» Gearman est un framework applicatif générique pour distribuer des tâches à plusieurs machines ou plusieurs processus. Il permet à une application d'effectuer des tâches en parallèle, de distribuer la charge de calcul et de faire des appels de fonctions entre plusieurs langages. Ce framework peut être utilisé dans nombre d'applications, des sites web haute-disponibilité au transport d'événements de réplication de base de données.

Cette extension fournit des classes pour écrire des clients ou des agents Gearman.

Gearman
Installation/Configuration
Gearman


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gearman


Pré-requis

Cette extension nécessite la bibliothèque » libgearman ainsi qu'un serveur Gearman.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/gearman

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Valeurs de retour. Cherchez toujours une chaîne de caractères d'erreur dans GearmanClient::error ou GearmanWorker car davantage de détails peuvent être disponibles :

GEARMAN_SUCCESS ( integer )
Quelque soit l'action entreprise, elle a été couronnée de succès.
GEARMAN_IO_WAIT ( integer )
En mode non-bloquant, un événement qui aurait été bloquant a été atteint.
GEARMAN_ERRNO ( integer )
Une erreur système. Cherchez dans GearmanClient::errno ou GearmanWorker::errno le code d'erreur système qui a été retourné.
GEARMAN_NO_ACTIVE_FDS ( integer )
GearmanClient::wait ou GearmanWorker a été appelé sans connexion.
GEARMAN_UNEXPECTED_PACKET ( integer )
Indique que quelque chose de grave est survenu dans gearmand. S'applique seulement à GearmanWorker.
GEARMAN_GETADDRINFO ( integer )
La résolution DNS a échoué (hôte ou port invalide, etc).
GEARMAN_NO_SERVERS ( integer )
Aucun appel à GearmanClient::addServer n'a été fait avant de soumettre une tâche.
GEARMAN_LOST_CONNECTION ( integer )
Perte de connexion pendant une requête.
GEARMAN_MEMORY_ALLOCATION_FAILURE ( integer )
L'allocation mémoire a échoué (plus de mémoire disponible).
GEARMAN_SERVER_ERROR ( integer )
Quelque chose s'est mal passé avec le serveur Gearman qui n'a pas pu traiter la requête comme il se doit.
GEARMAN_WORK_DATA ( integer )
Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de GearmanClient::do. Envoyé pour mettre à jour le cliet avec les données de la tâche courante. Un agent l'utilise quadn il a besoin d'envoyer des mises à jour, d'envoyer des résultats partiels ou pour évacuer les données lors de tâches longues.
GEARMAN_WORK_WARNING ( integer )
Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de GearmanClient::do. Met à jour le client avec un avertissement. Le comportement est le même qu'avec GEARMAN_WORK_DATA, sauf qu'il devrait être traité comme un avertissement plutôt que comme les données d'une réponse normale.
GEARMAN_WORK_STATUS ( integer )
Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de GearmanClient::do. Envoyé pour mettre à jour le statut d'une tâche longue. Utilisez GearmanClient::doStatus pour obtenir le pourcentage de complétion de la tâche.
GEARMAN_WORK_EXCEPTION ( integer )
Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de GearmanClient::do. Indique qu'une tâche a échoué en levant une exception donnée.
GEARMAN_WORK_FAIL ( integer )
Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de GearmanClient::do. Indique qu'une tâche a échoué.
GEARMAN_COULD_NOT_CONNECT ( integer )
Echec de la connexion aux serveurs.
GEARMAN_INVALID_FUNCTION_NAME ( integer )
Tentative de référencement d'une fonction avec un nom NULL ou utilisation de l'interface de rappel sans spécifier les rappels.
GEARMAN_INVALID_WORKER_FUNCTION ( integer )
Tentative de référencement d'une fonction avec une fonction de rappel NULL.
GEARMAN_NO_REGISTERED_FUNCTIONS ( integer )
Quand un agent reçoit une tâche pour une fonction qu'il n'a pas référencée.
GEARMAN_NO_JOBS ( integer )
Pour un agent non-bloquant, quand GearmanWorker::work n'a aucune tâche active.
GEARMAN_ECHO_DATA_CORRUPTION ( integer )
Après GearmanClient::echo ou GearmanWorker::echo, les données retournées ne correspondent pas aux données envoyées.
GEARMAN_NEED_WORKLOAD_FN ( integer )
Quand le client a fait le choix de diffuser la charge de travail sur une tâche, mais n'a pas spécifié de fonction de retour de la charge de travail.
GEARMAN_PAUSE ( integer )
Pour l'interface de tâche cliente non-bloquante, peut être retourné à partir du retour de la tâche pour "mettre en pause" l'appel et le retour de GearmanClient::runTasks. Appelez de nouveau GearmanClient::runTasks pour continuer.
GEARMAN_UNKNOWN_STATE ( integer )
Erreur d'état client/agent interne.
GEARMAN_SEND_BUFFER_TOO_SMALL ( integer )
Erreur interne : a essayé d'évacuer davantage de données que possible dans un paquet atomique, à cause de tailles de tampons codées en dur.
GEARMAN_TIMEOUT ( integer )
La limite de temps de l'agent/du client a été atteinte.

Les options GearmanClient :

GEARMAN_CLIENT_NON_BLOCKING ( integer )
Lance le client en mode non-bloquant.
GEARMAN_CLIENT_UNBUFFERED_RESULT ( integer )
Permet au client de lire les données par paquets plutôt que ce soit la bibliothèque qui mette en tampon les données et les transmette.
GEARMAN_CLIENT_FREE_TASKS ( integer )
Libère automatiquement les objets des tâches une fois celles-ci effectées. C'est le paramétrage par défaut de cette extension pour éviter les fuites de mémoire.

Les options GearmanWorker :

GEARMAN_WORKER_NON_BLOCKING ( integer )
Lance l'agent en mode non-bloquant.
GEARMAN_WORKER_GRAB_UNIQ ( integer )
Retourne l'identifiant unique alloué au client en plus du descripteur de tâche.

Configuration de base de Gearman :

GEARMAN_DEFAULT_TCP_HOST ( string )
GEARMAN_DEFAULT_TCP_PORT ( integer )
GEARMAN_DEFAULT_SOCKET_TIMEOUT ( integer )
GEARMAN_DEFAULT_SOCKET_SEND_SIZE ( integer )
GEARMAN_DEFAULT_SOCKET_RECV_SIZE ( integer )
GEARMAN_MAX_ERROR_SIZE ( integer )
GEARMAN_PACKET_HEADER_SIZE ( integer )
GEARMAN_JOB_HANDLE_SIZE ( integer )
GEARMAN_OPTION_SIZE ( integer )
GEARMAN_UNIQUE_SIZE ( integer )
GEARMAN_MAX_COMMAND_ARGS ( integer )
GEARMAN_ARGS_BUFFER_SIZE ( integer )
GEARMAN_SEND_BUFFER_SIZE ( integer )
GEARMAN_RECV_BUFFER_SIZE ( integer )
GEARMAN_WORKER_WAIT_TIMEOUT ( integer )

Types de ressources
Exemples
Gearman


Exemples

Sommaire

  • Basic Gearman client and worker
  • Basic Gearman client and worker, background
  • Basic Gearman client and worker, submitting tasks
Constantes pré-définies
Basic Gearman client and worker
Gearman


Basic Gearman client and worker

Exemples
Basic Gearman client and worker, background
Exemples
PHP Manual

Exemple #1 Basic Gearman client and worker

This example shows a very simple client and worker. The client sends a string to the job server, and the worker reverses the string and sends it back. The job is performed synchronously.

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->do("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:36
Workload: Hello! (6)
Sending status: 1/6 complete
Sending status: 2/6 complete
Sending status: 3/6 complete
Sending status: 4/6 complete
Sending status: 5/6 complete
Sending status: 6/6 complete
Result: !olleH

% php reverse_client.php
Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Exemples
Basic Gearman client and worker, background
Exemples


Basic Gearman client and worker, background

Basic Gearman client and worker
Basic Gearman client and worker, submitting tasks
Exemples
PHP Manual

Exemple #1 Basic Gearman client and worker, background

This example shows a very simple client and worker. The client sends a string to the job server as a background job, and the worker reverses the string. Note that since the work is performed asynchronously, the client does not wait for the job to complete and exits (and hence the client never receives the results).

<?php

# create our client object
$gmclient= new GearmanClient();

# add the default server (localhost)
$gmclient->addServer();

# run reverse client in the background
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

echo "done!\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x, $workload_size);
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:41
Workload: this is a test (14)
1/14 complete
2/14 complete
3/14 complete
4/14 complete
5/14 complete
6/14 complete
7/14 complete
8/14 complete
9/14 complete
10/14 complete
11/14 complete
12/14 complete
13/14 complete
14/14 complete
Result: tset a si siht

% php reverse_client_bg.php
done!

Basic Gearman client and worker
Basic Gearman client and worker, submitting tasks
Exemples


Basic Gearman client and worker, submitting tasks

Basic Gearman client and worker, background
GearmanClient
Exemples
PHP Manual

Exemple #1 Basic Gearman client and worker, submitting tasks

In this exmple, the basic reverse client extended to run two tasks in parallel. The reverse worker is unchanged except to add sending of data back during processing.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default server (localhost)
$gmc->addServer();

# register some callbacks
$gmc->setCreatedCallback("reverse_created");
$gmc->setDataCallback("reverse_data");
$gmc->setStatusCallback("reverse_status");
$gmc->setCompleteCallback("reverse_complete");
$gmc->setFailCallback("reverse_fail");

# set some arbitrary application data
$data['foo'] = 'bar';

# add two tasks
$task= $gmc->addTask("reverse", "foo", $data);
$task2= $gmc->addTaskLow("reverse", "bar", NULL);

# run the tasks in parallel (assuming multiple workers)
if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_created($task)
{
    echo "CREATED: " . $task->jobHandle() . "\n";
}

function reverse_status($task)
{
    echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->jobHandle() . ", " . $task->data() . "\n";
}

function reverse_fail($task)
{
    echo "FAILED: " . $task->jobHandle() . "\n";
}

function reverse_data($task)
{
    echo "DATA: " . $task->data() . "\n";
}

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
  return strrev($job->workload());
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:45
Workload: foo (3)
1/3 complete
2/3 complete
3/3 complete
Result: oof
Received job: H:foo.local:44
Workload: bar (3)
1/3 complete
2/3 complete
3/3 complete
Result: rab

% php reverse_client_task.php
CREATED: H:foo.local:44
CREATED: H:foo.local:45
STATUS: H:foo.local:45 - 1/3
DATA: f
STATUS: H:foo.local:45 - 2/3
DATA: o
STATUS: H:foo.local:45 - 3/3
DATA: o
COMPLETE: H:foo.local:45, oof
STATUS: H:foo.local:44 - 1/3
DATA: b
STATUS: H:foo.local:44 - 2/3
DATA: a
STATUS: H:foo.local:44 - 3/3
DATA: r
COMPLETE: H:foo.local:44, rab
DONE

Basic Gearman client and worker, background
GearmanClient
Exemples


La classe GearmanClient

Introduction

Représente une classe pour se connecter à un serveur de tâches Gearman et lui soumettre des requêtes pour appliquer des fonctions sur les données fournies. La fonction appliquée doit faire partie de celles référencées par un agent Gearman et les données traitées restent opaques du point de vue du serveur de tâches.

Synopsis de la classe

GearmanClient
GearmanClient {
/* Méthodes */
public bool addOptions ( int $options )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ([ string $servers = 127.0.0.1:4730 ] )
public GearmanTask addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )
public GearmanTask addTaskStatus ( string $job_handle [, string &$context ] )
public bool clearCallbacks ( void )
public GearmanClient clone ( void )
__construct ( void )
public string context ( void )
public string data ( void )
public string do ( string $function_name , string $workload [, string $unique ] )
public string doBackground ( string $function_name , string $workload [, string $unique ] )
public string doHigh ( string $function_name , string $workload [, string $unique ] )
public string doHighBackground ( string $function_name , string $workload [, string $unique ] )
public string doJobHandle ( void )
public string doLow ( string $function_name , string $workload [, string $unique ] )
public string doLowBackground ( string $function_name , string $workload [, string $unique ] )
public array doStatus ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public array jobStatus ( string $job_handle )
public bool removeOptions ( int $options )
public int returnCode ( void )
public bool runTasks ( void )
public void setClientCallback ( callback $callback )
public bool setCompleteCallback ( callback $callback )
public bool setContext ( string $context )
public bool setCreatedCallback ( string $callback )
public bool setData ( string $data )
public bool setDataCallback ( callback $callback )
public bool setExceptionCallback ( callback $callback )
public bool setFailCallback ( callback $callback )
public bool setOptions ( int $options )
public bool setStatusCallback ( callback $callback )
public bool setTimeout ( int $timeout )
public bool setWarningCallback ( callback $callback )
public bool setWorkloadCallback ( callback $callback )
public int timeout ( void )
}

Sommaire

  • GearmanClient::addOptions — Ajoute des options au client
  • GearmanClient::addServer — Ajoute un serveur de tâches au client
  • GearmanClient::addServers — Ajoute une liste de serveurs de tâches au client
  • GearmanClient::addTask — Add a task to be run in parallel
  • GearmanClient::addTaskBackground — Add a background task to be run in parallel
  • GearmanClient::addTaskHigh — Ajoute une tâche de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskHighBackground — Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLow — Ajoute une tâche de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskLowBackground — Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskStatus — Ajoute une tâche pour obtenir le statut
  • GearmanClient::clearCallbacks — Clear all task callback functions
  • GearmanClient::clone — Create a copy of a GearmanClient object
  • GearmanClient::__construct — Crée une instance GearmanClient
  • GearmanClient::context — Get the application context
  • GearmanClient::data — Get the application data (deprecated)
  • GearmanClient::do — Run a single task and return a result
  • GearmanClient::doBackground — Run a task in the background
  • GearmanClient::doHigh — Run a single high priority task
  • GearmanClient::doHighBackground — Run a high priority task in the background
  • GearmanClient::doJobHandle — Get the job handle for the running task
  • GearmanClient::doLow — Run a single low priority task
  • GearmanClient::doLowBackground — Run a low priority task in the background
  • GearmanClient::doStatus — Get the status for the running task
  • GearmanClient::echo — Send data to all job servers to see if they echo it back
  • GearmanClient::error — Returns an error string for the last error encountered.
  • GearmanClient::getErrno — Get an errno value
  • GearmanClient::jobStatus — Get the status of a background job
  • GearmanClient::removeOptions — Remove client options
  • GearmanClient::returnCode — Get the last Gearman return code
  • GearmanClient::runTasks — Run a list of tasks in parallel
  • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
  • GearmanClient::setCompleteCallback — Set a function to be called on task completion
  • GearmanClient::setContext — Set application context
  • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
  • GearmanClient::setData — Set application data (deprecated)
  • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
  • GearmanClient::setFailCallback — Set callback for job failure
  • GearmanClient::setOptions — Set client options
  • GearmanClient::setStatusCallback — Set a callback for collecting task status
  • GearmanClient::setTimeout — Set socket I/O activity timeout
  • GearmanClient::setWarningCallback — Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
  • GearmanClient::timeout — Get current socket I/O activity timeout value
Basic Gearman client and worker, submitting tasks
GearmanClient::addOptions
Gearman


Ajoute des options au client

GearmanClient
GearmanClient::addServer
GearmanClient
PHP Manual

GearmanClient::addOptions

(PECL gearman >= 0.6.0)

GearmanClient::addOptions — Ajoute des options au client

Description

public bool GearmanClient::addOptions ( int $options )

Ajoute une ou plusieurs options à celles déjà présentes.

Liste de paramètres

options

Les options à ajouter

Valeurs de retour

Retourne toujours TRUE.

GearmanClient
GearmanClient::addServer
GearmanClient


Ajoute un serveur de tâches au client

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient
PHP Manual

GearmanClient::addServer

(PECL gearman >= 0.5.0)

GearmanClient::addServer — Ajoute un serveur de tâches au client

Description

public bool GearmanClient::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Ajoute un serveur de tâches à une liste de serveurs qui peuvent être utilisés pour accomplir une tâche. Aucune entrée/sortie sur un socket n'est faite ici; le serveur est juste ajouté à la liste.

Liste de paramètres

host

Le nom d'hôte du serveur de travaux.

port

Le port du serveur de travaux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout de deux serveurs

<?php

# Crée notre objet client.
$gmclient= new GearmanClient();

# Ajoute deux serveurs de tâches, le premier écoutant sur le port par défaut, 4730
$gmclient->addServer("10.0.0.1");
$gmclient->addServer("10.0.0.2", 7003);

?>

Voir aussi

  • GearmanClient::addServers - Ajoute une liste de serveurs de tâches au client

GearmanClient::addOptions
GearmanClient::addServers
GearmanClient


Ajoute une liste de serveurs de tâches au client

GearmanClient::addServer
GearmanClient::addTask
GearmanClient
PHP Manual

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers — Ajoute une liste de serveurs de tâches au client

Description

public bool GearmanClient::addServers ([ string $servers = 127.0.0.1:4730 ] )

Ajoute une liste de serveurs de tâches qui peuvent être utilisés pour accomplir une tâche. Aucune entrée/sortie sur un socket n'est faite ici; les serveurs sont juste ajoutés à la liste complète de serveurs.

Liste de paramètres

servers

Une liste de serveurs, séparés par des virgules, chacun étant spécifié selon le format 'host:port'.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout de deux serveurs

<?php

# Crée notre objet client.
$gmclient= new GearmanClient();

# Ajoute plusieurs serveurs de tâches, le premier écoutant sur le port par défaut, 4730
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

Voir aussi

  • GearmanClient::addServer - Ajoute un serveur de tâches au client

GearmanClient::addServer
GearmanClient::addTask
GearmanClient


Add a task to be run in parallel

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient
PHP Manual

GearmanClient::addTask

(PECL gearman >= 0.5.0)

GearmanClient::addTask — Add a task to be run in parallel

Description

public GearmanTask GearmanClient::addTask ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks to perform the work. Note that enough workers need to be available for the tasks to all run in parallel.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

context

Contexte de l'application à associer avec une tâche

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

A GearmanTask object or FALSE if the task could not be added.

Exemples

Exemple #1 Basic submission of two tasks

<?php

# Create our gearman client
$gmclient= new GearmanClient();

# add the default job server
$gmclient->addServer();

# add a task to perform the "reverse" function on the string "Hello World!"
$gmclient->addTask("reverse", "Hello World!", null, "1");

# add another task to perform the "reverse" function on the string "!dlroW olleH"
$gmclient->addTask("reverse", "!dlroW olleH", null, "2");

# set a function to be called when the work is complete
$gmclient->setCompleteCallback("complete");

# run the tasks
$gmclient->runTasks();

function complete($task)
{
  print "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

COMPLETE: 2, Hello World!
COMPLETE: 1, !dlroW olleH

Exemple #2 Basic submission of two tasks with passing application context

<?php

$client = new GearmanClient();
$client->addServer();

# Add some tasks for a placeholder of where to put the results
$results = array();
$client->addTask("reverse", "Hello World!", &$results, "t1");
$client->addTask("reverse", "!dlroW olleH", &$results, "t2");

$client->setCompleteCallback("reverse_complete");
$client->runTasks();

# The results should now be filled in from the callbacks
foreach ($results as $id => $result)
   echo $id . ": " . $result['handle'] . ", " . $result['data'] . "\n";

function reverse_complete($task, $results)
{
   $results[$task->unique()] = array("handle"=>$task->jobHandle(), "data"=>$task->data());
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

t2: H.foo:21, Hello World!
t1: H:foo:22, !dlroW olleH

Voir aussi

  • GearmanClient::addTaskHigh - Ajoute une tâche de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLow - Ajoute une tâche de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskBackground - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground - Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLowBackground - Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  • GearmanClient::runTasks - Run a list of tasks in parallel

GearmanClient::addServers
GearmanClient::addTaskBackground
GearmanClient


Add a background task to be run in parallel

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient
PHP Manual

GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Add a background task to be run in parallel

Description

public GearmanTask GearmanClient::addTaskBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Adds a background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks to perform the work.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

context

Contexte de l'application à associer avec une tâche

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

A GearmanTask object or FALSE if the task could not be added.

Exemples

Exemple #1 Two tasks, one background and one not

This example illustrates the difference between running a background task and a normal task. The client adds two tasks to execute the same function, but one is added with addTaskBackground. A callback is set so that progress of the job can be tracked. A simple worker with an artificial delay reports on the job progress and the client picks this up through the callback. Two workers are run for this example. Note that the background task does not show in the client output.

<?php

# The client script

# create our gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set a couple of callbacks so we can track progress
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");

# add a task for the "reverse" function
$task= $gmc->addTask("reverse", "Hello World!", null, "1");

# add another task, but this one to run in the background
$task= $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}

echo "DONE\n";

function reverse_status($task)
{
    echo "STATUS: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() .
         "/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>
<?php

# The worker script

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

Worker output for two workers running:

Received job: H:foo.local:65
Workload: !dlroW olleH (12)
1/12 complete
Received job: H:foo.local:66
Workload: Hello World! (12)
1/12 complete
2/12 complete
2/12 complete
3/12 complete
3/12 complete
4/12 complete
4/12 complete
5/12 complete
5/12 complete
6/12 complete
6/12 complete
7/12 complete
7/12 complete
8/12 complete
8/12 complete
9/12 complete
9/12 complete
10/12 complete
10/12 complete
11/12 complete
11/12 complete
12/12 complete
12/12 complete
Result: !dlroW olleH
Result: Hello World!

Client output:

STATUS: 1, H:foo.local:66 - 1/12
STATUS: 1, H:foo.local:66 - 2/12
STATUS: 1, H:foo.local:66 - 3/12
STATUS: 1, H:foo.local:66 - 4/12
STATUS: 1, H:foo.local:66 - 5/12
STATUS: 1, H:foo.local:66 - 6/12
STATUS: 1, H:foo.local:66 - 7/12
STATUS: 1, H:foo.local:66 - 8/12
STATUS: 1, H:foo.local:66 - 9/12
STATUS: 1, H:foo.local:66 - 10/12
STATUS: 1, H:foo.local:66 - 11/12
STATUS: 1, H:foo.local:66 - 12/12
COMPLETE: 1, !dlroW olleH
DONE

Voir aussi

  • GearmanClient::addTask - Add a task to be run in parallel
  • GearmanClient::addTaskHigh - Ajoute une tâche de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLow - Ajoute une tâche de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskHighBackground - Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLowBackground - Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  • GearmanClient::runTasks - Run a list of tasks in parallel

GearmanClient::addTask
GearmanClient::addTaskHigh
GearmanClient


Ajoute une tâche de forte priorité à effectuer en parallèle

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient
PHP Manual

GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Ajoute une tâche de forte priorité à effectuer en parallèle

Description

public GearmanTask GearmanClient::addTaskHigh ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Ajoute une tâche de forte priorité à effectuer en parallèle d'autres tâches. Appelez cette méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks pour faire le travail. Les tâches avec une forte priorité seront sélectionnée dans la queue avant celle de priorité plus faible.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

context

Contexte de l'application à associer avec une tâche

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

Un objet GearmanTask ou FALSE si la tâche ne peut pas être ajoutée.

Exemples

Exemple #1 Une tâche de forte priorité en même temps que deux tâches normales

Une tâche de forte priorité est ajoutée en plus de deux autres tâches. Un seul agent est disponible, de telle façon que les tâches s'exécutent une à une, avec celle de forte priorité en premier.

<?php

# crée le client Gearman
$gmc= new GearmanClient();

# ajoute le serveur par défaut
$gmc->addServer();

# fixe le retour quand la tâche est complétée
$gmc->setCompleteCallback("inverse_complete");

# ajoute des tâches, l'une ayant une forte priorité
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "1");
$task= $gmc->addTaskHigh("inverse", "!ednom el ruojnoB", null, "2");
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "Fait\n";

function inverse_complete($task)
{
    echo "Complétée : " . $task->unique() . ", " . $task->data() . "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Complétée : 2, Bonjour le monde!
Complétée : 3, !ednom el ruojnoB
Complétée : 1, !ednom el ruojnoB
Fait

Voir aussi

  • GearmanClient::addTask - Add a task to be run in parallel
  • GearmanClient::addTaskLow - Ajoute une tâche de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskBackground - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground - Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLowBackground - Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  • GearmanClient::runTasks - Run a list of tasks in parallel

GearmanClient::addTaskBackground
GearmanClient::addTaskHighBackground
GearmanClient


Ajoute une tâche de fond de forte priorité à effectuer en parallèle

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient
PHP Manual

GearmanClient::addTaskHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighBackground — Ajoute une tâche de fond de forte priorité à effectuer en parallèle

Description

public GearmanTask GearmanClient::addTaskHighBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Ajoute une tâche de fond de forte priorité à effectuer en parallèle d'autres tâches. Appelez cette méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks pour faire le travail. Les tâches avec une forte priorité seront sélectionnée dans la queue avant celle de priorité plus faible.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

context

Contexte de l'application à associer avec une tâche

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

Un objet GearmanTask ou FALSE si la tâche ne peut pas être ajoutée.

Voir aussi

  • GearmanClient::addTask - Add a task to be run in parallel
  • GearmanClient::addTaskHigh - Ajoute une tâche de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLow - Ajoute une tâche de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskBackground - Add a background task to be run in parallel
  • GearmanClient::addTaskLowBackground - Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  • GearmanClient::runTasks - Run a list of tasks in parallel

GearmanClient::addTaskHigh
GearmanClient::addTaskLow
GearmanClient


Ajoute une tâche de faible priorité à effectuer en parallèle

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient
PHP Manual

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Ajoute une tâche de faible priorité à effectuer en parallèle

Description

public GearmanTask GearmanClient::addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Ajoute une tâche de faible priorité à effectuer en parallèle d'autres tâches. Appelez cette méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks pour faire le travail. Les tâches avec une faible priorité seront sélectionnée dans la queue après celle de priorité plus forte.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

context

Contexte de l'application à associer avec une tâche

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

Un objet GearmanTask ou FALSE si la tâche ne peut pas être ajoutée.

Exemples

Exemple #1 Une tâche de faible priorité en même temps que deux tâches normales

Une tâche de faible priorité est ajoutée en plus de deux autres tâches. Un seul agent est disponible, de telle façon que les tâches s'exécutent une à une, avec celle de faible priorité en dernier.

<?php

# crée le client Gearman
$gmc= new GearmanClient();

# ajoute le serveur par défaut
$gmc->addServer();

# fixe le retour quand la tâche est complétée
$gmc->setCompleteCallback("inverse_complete");

# ajoute des tâches, l'une ayant une faible priorité
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "1");
$task= $gmc->addTaskLow("inverse", "!ednom el ruojnoB", null, "2");
$task= $gmc->addTask("inverse", "Bonjour le monde!", null, "3");

if (! $gmc->runTasks())
{
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "Fait\n";

function inverse_complete($task)
{
    echo "Complétée : " . $task->unique() . ", " . $task->data() . "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Complétée : 3, !ednom el ruojnoB
Complétée : 1, !ednom el ruojnoB
Complétée : 2, Bonjour le monde!
Fait

Voir aussi

  • GearmanClient::addTask - Add a task to be run in parallel
  • GearmanClient::addTaskHigh - Ajoute une tâche de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskBackground - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground - Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLowBackground - Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  • GearmanClient::runTasks - Run a list of tasks in parallel

GearmanClient::addTaskHighBackground
GearmanClient::addTaskLowBackground
GearmanClient


Ajoute une tâche de fond de faible priorité à effectuer en parallèle

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient
PHP Manual

GearmanClient::addTaskLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowBackground — Ajoute une tâche de fond de faible priorité à effectuer en parallèle

Description

public GearmanTask GearmanClient::addTaskLowBackground ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Ajoute une tâche de fond de faible priorité à effectuer en parallèle d'autres tâches. Appelez cette méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks pour faire le travail. Les tâches avec une faible priorité seront sélectionnée dans la queue après celle de priorité plus forte.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

context

Contexte de l'application à associer avec une tâche

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

Un objet GearmanTask ou FALSE si la tâche ne peut pas être ajoutée.

Voir aussi

  • GearmanClient::addTask - Add a task to be run in parallel
  • GearmanClient::addTaskHigh - Ajoute une tâche de forte priorité à effectuer en parallèle
  • GearmanClient::addTaskLow - Ajoute une tâche de faible priorité à effectuer en parallèle
  • GearmanClient::addTaskBackground - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground - Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  • GearmanClient::runTasks - Run a list of tasks in parallel

GearmanClient::addTaskLow
GearmanClient::addTaskStatus
GearmanClient


Ajoute une tâche pour obtenir le statut

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient
PHP Manual

GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatus — Ajoute une tâche pour obtenir le statut

Description

public GearmanTask GearmanClient::addTaskStatus ( string $job_handle [, string &$context ] )

Utilisé pour demander le statut au serveur Gearman, qui appellera le retour de statut spécifié (grâce à GearmanClient::setStatusCallback).

Liste de paramètres

job_handle

Les descripteur pour la tâche dont on souhaite le statut

context

Les données à passer au retour de statut, généralement une référence à un tableau ou à un objet

Valeurs de retour

Un objet GearmanTask.

Exemples

Exemple #1 Surveiller l'accomplissement de plusieurs tâches de fond

Un délai artificiel est introduit dans l'agent de cet exemple pour simuler un processus long. Il n'y a qu'un agent qui est lancé dans cet exemple.

<?php

/* crée notre objet */
$gmclient= new GearmanClient();

/* ajoute le serveur par défaut */
$gmclient->addServer();

/* lance une tâche de fond et sauvegarde les descripteurs */
$handles = array();
$handles[0] = $gmclient->doBackground("inverse", "Bonjour le monde!");
$handles[1] = $gmclient->doBackground("inverse", "!ednom el ruojnoB");

$gmclient->setStatusCallback("inverse_statut");

/* Interroge le serveur pour voir quand les tâches de fond se terminent; */
/* une meilleure méthode consiste à appeler les retours d'événement */
do
{
   /* Utilise la variable de contexte pour savoir combien de tâches ont été effectuées */
   $done = 0;
   $gmclient->addTaskStatus($handles[0], &$done);
   $gmclient->addTaskStatus($handles[1], &$done);
   $gmclient->runTasks();
   echo "Fait : $done\n";
   sleep(1);
}
while ($done != 2);

function inverse_statut($task, $done)
{
   if (!$task->isKnown())
      $done++;
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 0
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 1
Fait : 2

Voir aussi

  • GearmanClient::setStatusCallback - Set a callback for collecting task status

GearmanClient::addTaskLowBackground
GearmanClient::clearCallbacks
GearmanClient


Clear all task callback functions

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient
PHP Manual

GearmanClient::clearCallbacks

(PECL gearman >= 0.5.0)

GearmanClient::clearCallbacks — Clear all task callback functions

Description

public bool GearmanClient::clearCallbacks ( void )

Clears all the task callback functions that have previously been set.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Always returns TRUE.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::addTaskStatus
GearmanClient::clone
GearmanClient


Create a copy of a GearmanClient object

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient
PHP Manual

GearmanClient::clone

(PECL gearman >= 0.5.0)

GearmanClient::clone — Create a copy of a GearmanClient object

Description

public GearmanClient GearmanClient::clone ( void )

Creates a copy of a GearmanClient object.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A GearmanClient on success, FALSE on failure.

GearmanClient::clearCallbacks
GearmanClient::__construct
GearmanClient


Crée une instance GearmanClient

GearmanClient::clone
GearmanClient::context
GearmanClient
PHP Manual

GearmanClient::__construct

(PECL gearman >= 0.5.0)

GearmanClient::__construct — Crée une instance GearmanClient

Description

GearmanClient::__construct ( void )

Crée une instance GearmanClient représentant un client qui se connecte à un serveur de tâches et y enregistre des tâches à effectuer.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet GearmanClient.

Voir aussi

  • GearmanClient::clone - Create a copy of a GearmanClient object

GearmanClient::clone
GearmanClient::context
GearmanClient


Get the application context

GearmanClient::__construct
GearmanClient::data
GearmanClient
PHP Manual

GearmanClient::context

(PECL gearman >= 0.6.0)

GearmanClient::context — Get the application context

Description

public string GearmanClient::context ( void )

Get the application context previously set with GearmanClient::setContext.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The same context data structure set with GearmanClient::setContext

Voir aussi

  • GearmanClient::setContext - Set application context

GearmanClient::__construct
GearmanClient::data
GearmanClient


Get the application data (deprecated)

GearmanClient::context
GearmanClient::do
GearmanClient
PHP Manual

GearmanClient::data

(PECL gearman <= 0.5.0)

GearmanClient::data — Get the application data (deprecated)

Description

public string GearmanClient::data ( void )

Get the application data previously set with GearmanClient::setData.

Note: This method was replaced by GearmanClient::setContext in the 0.6.0 release of the Gearman extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The same string data set with GearmanClient::setData

Voir aussi

  • GearmanClient::setData - Set application data (deprecated)

GearmanClient::context
GearmanClient::do
GearmanClient


Run a single task and return a result

GearmanClient::data
GearmanClient::doBackground
GearmanClient
PHP Manual

GearmanClient::do

(PECL gearman >= 0.5.0)

GearmanClient::do — Run a single task and return a result

Description

public string GearmanClient::do ( string $function_name , string $workload [, string $unique ] )

Runs a single task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

A string representing the results of running a task.

Exemples

Exemple #1 Simple job submission with immediate return

<?php

?>
<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->do("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Starting
Sending job
Success: !olleH

Exemple #2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::do produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->do("reverse", "Hello!");
  # Check for various return packets and errors.

  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      echo "Data: $result\n";
      break;
    case GEARMAN_WORK_STATUS:
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      echo "Error: " . $gmclient->error() . "\n";
      echo "Errno: " . $gmclient->getErrno() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

function reverse_fn($job)
{
  echo "Received job: " . $job->handle() . "\n";

  $workload = $job->workload();
  $workload_size = $job->workloadSize();

  echo "Workload: $workload ($workload_size)\n";

  # This status loop is not needed, just showing how it works
  for ($x= 0; $x < $workload_size; $x++)
  {
    echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
    $job->sendStatus($x+1, $workload_size);
    $job->sendData(substr($workload, $x, 1));
    sleep(1);
  }

  $result= strrev($workload);
  echo "Result: $result\n";

  # Return what we want to send back to the client.
  return $result;
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Voir aussi

  • GearmanClient::doHigh - Run a single high priority task
  • GearmanClient::doLow - Run a single low priority task
  • GearmanClient::doBackground - Run a task in the background
  • GearmanClient::doHighBackground - Run a high priority task in the background
  • GearmanClient::doLowBackground - Run a low priority task in the background

GearmanClient::data
GearmanClient::doBackground
GearmanClient


Run a task in the background

GearmanClient::do
GearmanClient::doHigh
GearmanClient
PHP Manual

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Run a task in the background

Description

public string GearmanClient::doBackground ( string $function_name , string $workload [, string $unique ] )

Runs a task in the background, returning a job handle which can be used to get the status of the running task.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

The job handle for the submitted task.

Exemples

Exemple #1 Submit and monitor a background job

The worker in this example has an artificial delay introduced to mimic a long running job. The client script periodically checks the status of the running job.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::doHigh - Run a single high priority task
  • GearmanClient::doLow - Run a single low priority task
  • GearmanClient::doHighBackground - Run a high priority task in the background
  • GearmanClient::doLowBackground - Run a low priority task in the background

GearmanClient::do
GearmanClient::doHigh
GearmanClient


Run a single high priority task

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient
PHP Manual

GearmanClient::doHigh

(PECL gearman >= 0.5.0)

GearmanClient::doHigh — Run a single high priority task

Description

public string GearmanClient::doHigh ( string $function_name , string $workload [, string $unique ] )

Runs a single high priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. High priority tasks will get precedence over normal and low priority tasks in the job queue.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

A string representing the results of running a task.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::doLow - Run a single low priority task
  • GearmanClient::doBackground - Run a task in the background
  • GearmanClient::doHighBackground - Run a high priority task in the background
  • GearmanClient::doLowBackground - Run a low priority task in the background

GearmanClient::doBackground
GearmanClient::doHighBackground
GearmanClient


Run a high priority task in the background

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient
PHP Manual

GearmanClient::doHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::doHighBackground — Run a high priority task in the background

Description

public string GearmanClient::doHighBackground ( string $function_name , string $workload [, string $unique ] )

Runs a high priority task in the background, returning a job handle which can be used to get the status of the running task. High priority tasks take precedence over normal and low priority tasks in the job queue.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

The job handle for the submitted task.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::doHigh - Run a single high priority task
  • GearmanClient::doLow - Run a single low priority task
  • GearmanClient::doBackground - Run a task in the background
  • GearmanClient::doLowBackground - Run a low priority task in the background

GearmanClient::doHigh
GearmanClient::doJobHandle
GearmanClient


Get the job handle for the running task

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient
PHP Manual

GearmanClient::doJobHandle

(PECL gearman >= 0.5.0)

GearmanClient::doJobHandle — Get the job handle for the running task

Description

public string GearmanClient::doJobHandle ( void )

Gets that job handle for a running task. This should be used between repeated GearmanClient::do calls. The job handle can then be used to get information on the task.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The job handle for the running task.

Voir aussi

  • GearmanClient::jobStatus - Get the status of a background job

GearmanClient::doHighBackground
GearmanClient::doLow
GearmanClient


Run a single low priority task

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient
PHP Manual

GearmanClient::doLow

(PECL gearman >= 0.5.0)

GearmanClient::doLow — Run a single low priority task

Description

public string GearmanClient::doLow ( string $function_name , string $workload [, string $unique ] )

Runs a single low priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. Normal and high priority tasks will get precedence over low priority tasks in the job queue.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

A string representing the results of running a task.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::doHigh - Run a single high priority task
  • GearmanClient::doBackground - Run a task in the background
  • GearmanClient::doHighBackground - Run a high priority task in the background
  • GearmanClient::doLowBackground - Run a low priority task in the background

GearmanClient::doJobHandle
GearmanClient::doLowBackground
GearmanClient


Run a low priority task in the background

GearmanClient::doLow
GearmanClient::doStatus
GearmanClient
PHP Manual

GearmanClient::doLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::doLowBackground — Run a low priority task in the background

Description

public string GearmanClient::doLowBackground ( string $function_name , string $workload [, string $unique ] )

Runs a low priority task in the background, returning a job handle which can be used to get the status of the running task. Normal and high priority tasks take precedence over low priority tasks in the job queue.

Liste de paramètres

function_name

Une fonction enregistrée que le travailleur va exécuter

workload

Données linéarisées à analyser

unique

Un identifiant unique utilisé pour identifier une tâche particulière

Valeurs de retour

The job handle for the submitted task.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::doHigh - Run a single high priority task
  • GearmanClient::doLow - Run a single low priority task
  • GearmanClient::doBackground - Run a task in the background
  • GearmanClient::doHighBackground - Run a high priority task in the background

GearmanClient::doLow
GearmanClient::doStatus
GearmanClient


Get the status for the running task

GearmanClient::doLowBackground
GearmanClient::echo
GearmanClient
PHP Manual

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — Get the status for the running task

Description

public array GearmanClient::doStatus ( void )

Returns the status for the running task. This should be used between repeated GearmanClient::do calls.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.

Exemples

Exemple #1 Get the status of a long running job

The worker in this example has an artificial delay added during processing of the string to be reversed. After each delay it calls GearmanJob::status which the client then picks up.

<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
  $result = $gmclient->do("reverse", "Hello!");

  # Check for various return packets and errors.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # get the current job status
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator complete\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Failed\n";
      exit;
    case GEARMAN_SUCCESS:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanJob::status - Send status (deprecated)

GearmanClient::doLowBackground
GearmanClient::echo
GearmanClient


Send data to all job servers to see if they echo it back

GearmanClient::doStatus
GearmanClient::error
GearmanClient
PHP Manual

GearmanClient::echo

(PECL gearman >= 0.5.0)

GearmanClient::echo — Send data to all job servers to see if they echo it back

Description

public bool GearmanClient::echo ( string $workload )

Sends some arbitrary data to all job servers to see if they echo it back. The data sent is not used or processed in any other way. Primarily used for testing and debugging.

Liste de paramètres

workload

Some arbitrary serialized data to be echo back

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

GearmanClient::doStatus
GearmanClient::error
GearmanClient


Returns an error string for the last error encountered.

GearmanClient::echo
GearmanClient::getErrno
GearmanClient
PHP Manual

GearmanClient::error

(PECL gearman >= 0.5.0)

GearmanClient::error — Returns an error string for the last error encountered.

Description

public string GearmanClient::error ( void )

Returns an error string for the last error encountered.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A human readable error string.

Voir aussi

  • GearmanClient::getErrno - Get an errno value

GearmanClient::echo
GearmanClient::getErrno
GearmanClient


Get an errno value

GearmanClient::error
GearmanClient::jobStatus
GearmanClient
PHP Manual

GearmanClient::getErrno

(PECL gearman >= 0.5.0)

GearmanClient::getErrno — Get an errno value

Description

public int GearmanClient::getErrno ( void )

Value of errno in the case of a GEARMAN_ERRNO return value.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A valid Gearman errno.

Voir aussi

  • GearmanClient::error - Returns an error string for the last error encountered.

GearmanClient::error
GearmanClient::jobStatus
GearmanClient


Get the status of a background job

GearmanClient::getErrno
GearmanClient::removeOptions
GearmanClient
PHP Manual

GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_status — Get the status of a background job

Description

Object oriented style (method):

public array GearmanClient::jobStatus ( string $job_handle )

Gets the status for a background job given a job handle. The status information will specify whether the job is known, whether the job is currently running, and the percentage completion.

Liste de paramètres

job_handle

Le gestionnaire de travaux assigné par le serveur Gearman

Valeurs de retour

An array containing status information for the job corresponding to the supplied job handle. The first array element is a boolean indicating whether the job is even known, the second is a boolean indicating whether the job is still running, and the third and fourth elements correspond to the numerator and denominator of the fractional completion percentage, respectively.

Exemples

Exemple #1 Monitor the status of a long running background job

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
  echo "bad return code\n";
  exit;
}

$done = false;
do
{
   sleep(3);
   $stat = $gmclient->jobStatus($job_handle);
   if (!$stat[0]) // the job is known so it is not done
      $done = true;
   echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Voir aussi

  • GearmanClient::doStatus - Get the status for the running task

GearmanClient::getErrno
GearmanClient::removeOptions
GearmanClient


Remove client options

GearmanClient::jobStatus
GearmanClient::returnCode
GearmanClient
PHP Manual

GearmanClient::removeOptions

(PECL gearman >= 0.6.0)

GearmanClient::removeOptions — Remove client options

Description

public bool GearmanClient::removeOptions ( int $options )

Removes (unsets) one or more options.

Liste de paramètres

options

The options to be removed (unset)

Valeurs de retour

Always returns TRUE.

GearmanClient::jobStatus
GearmanClient::returnCode
GearmanClient


Get the last Gearman return code

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient
PHP Manual

GearmanClient::returnCode

(PECL gearman >= 0.5.0)

GearmanClient::returnCode — Get the last Gearman return code

Description

public int GearmanClient::returnCode ( void )

Returns the last Gearman return code.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A valid Gearman return code.

GearmanClient::removeOptions
GearmanClient::runTasks
GearmanClient


Run a list of tasks in parallel

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient
PHP Manual

GearmanClient::runTasks

(PECL gearman >= 0.5.0)

GearmanClient::runTasks — Run a list of tasks in parallel

Description

public bool GearmanClient::runTasks ( void )

For a set of tasks previously added with GearmanClient::addTask, GearmanClient::addTaskHigh, GearmanClient::addTaskLow, GearmanClient::addTaskBackground, GearmanClient::addTaskHighBackground, or GearmanClient::addTaskLowBackground, this call starts running the tasks in parallel.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::addTask - Add a task to be run in parallel

GearmanClient::returnCode
GearmanClient::setClientCallback
GearmanClient


Callback function when there is a data packet for a task (deprecated)

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient
PHP Manual

GearmanClient::setClientCallback

(PECL gearman <= 0.5.0)

GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)

Description

public void GearmanClient::setClientCallback ( callback $callback )

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Note: This method has been replaced by GearmanClient::setDataCallback in the 0.6.0 release of the Gearman extension.

Liste de paramètres

callback

A function or method to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::runTasks
GearmanClient::setCompleteCallback
GearmanClient


Set a function to be called on task completion

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient
PHP Manual

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback — Set a function to be called on task completion

Description

public bool GearmanClient::setCompleteCallback ( callback $callback )

Use to set a function to be called when a task is completed. The callback function should accept a single argument, a GearmanTask oject.

Liste de paramètres

callback

A function to be called

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setClientCallback
GearmanClient::setContext
GearmanClient


Set application context

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient
PHP Manual

GearmanClient::setContext

(PECL gearman >= 0.6.0)

GearmanClient::setContext — Set application context

Description

public bool GearmanClient::setContext ( string $context )

Sets an arbitrary string to provide application context that can later be retrieved by GearmanClient::context.

Liste de paramètres

context

Arbitrary context data

Valeurs de retour

Always returns TRUE.

Voir aussi

  • GearmanClient::context - Get the application context

GearmanClient::setCompleteCallback
GearmanClient::setCreatedCallback
GearmanClient


Set a callback for when a task is queued

GearmanClient::setContext
GearmanClient::setData
GearmanClient
PHP Manual

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback — Set a callback for when a task is queued

Description

public bool GearmanClient::setCreatedCallback ( string $callback )

Sets a function to be called when a task is received and queued by the Gearman job server. The callback should accept a single argument, a GearmanClient oject.

Liste de paramètres

callback

A function to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setContext
GearmanClient::setData
GearmanClient


Set application data (deprecated)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient
PHP Manual

GearmanClient::setData

(PECL gearman <= 0.5.0)

GearmanClient::setData — Set application data (deprecated)

Description

public bool GearmanClient::setData ( string $data )

Sets some arbitrary application data that can later be retrieved by GearmanClient::data.

Note: This method has been replaced by GearmanCient::setContext in the 0.6.0 release of the Gearman extension.

Liste de paramètres

data

Valeurs de retour

Always returns TRUE.

Voir aussi

  • GearmanClient::data - Get the application data (deprecated)

GearmanClient::setCreatedCallback
GearmanClient::setDataCallback
GearmanClient


Callback function when there is a data packet for a task

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient
PHP Manual

GearmanClient::setDataCallback

(PECL gearman >= 0.6.0)

GearmanClient::setDataCallback — Callback function when there is a data packet for a task

Description

public bool GearmanClient::setDataCallback ( callback $callback )

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Liste de paramètres

callback

A function or method to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setData
GearmanClient::setExceptionCallback
GearmanClient


Set a callback for worker exceptions

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient
PHP Manual

GearmanClient::setExceptionCallback

(PECL gearman >= 0.5.0)

GearmanClient::setExceptionCallback — Set a callback for worker exceptions

Description

public bool GearmanClient::setExceptionCallback ( callback $callback )

Specifies a function to call when a worker for a task sends an exception.

Liste de paramètres

callback

Function to call when the worker throws an exception

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setDataCallback
GearmanClient::setFailCallback
GearmanClient


Set callback for job failure

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient
PHP Manual

GearmanClient::setFailCallback

(PECL gearman >= 0.5.0)

GearmanClient::setFailCallback — Set callback for job failure

Description

public bool GearmanClient::setFailCallback ( callback $callback )

Sets the callback function to be used when a task does not complete successfully. The function should accept a single argument, a GearmanTask object.

Liste de paramètres

callback

A function to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setExceptionCallback
GearmanClient::setOptions
GearmanClient


Set client options

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient
PHP Manual

GearmanClient::setOptions

(PECL gearman >= 0.5.0)

GearmanClient::setOptions — Set client options

Description

public bool GearmanClient::setOptions ( int $options )

Sets one or more client options.

Liste de paramètres

options

The options to be set

Valeurs de retour

Always returns TRUE.

GearmanClient::setFailCallback
GearmanClient::setStatusCallback
GearmanClient


Set a callback for collecting task status

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient
PHP Manual

GearmanClient::setStatusCallback

(PECL gearman >= 0.5.0)

GearmanClient::setStatusCallback — Set a callback for collecting task status

Description

public bool GearmanClient::setStatusCallback ( callback $callback )

Sets a callback function used for getting updated status information from a worker. The function should accept a single argument, a GearmanTask object.

Liste de paramètres

callback

A function to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setWarningCallback - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setOptions
GearmanClient::setTimeout
GearmanClient


Set socket I/O activity timeout

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient
PHP Manual

GearmanClient::setTimeout

(PECL gearman >= 0.6.0)

GearmanClient::setTimeout — Set socket I/O activity timeout

Description

public bool GearmanClient::setTimeout ( int $timeout )

Sets the timeout for socket I/O activity.

Liste de paramètres

timeout

An interval of time in milliseconds

Valeurs de retour

Always returns TRUE.

GearmanClient::setStatusCallback
GearmanClient::setWarningCallback
GearmanClient


Set a callback for worker warnings

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient
PHP Manual

GearmanClient::setWarningCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWarningCallback — Set a callback for worker warnings

Description

public bool GearmanClient::setWarningCallback ( callback $callback )

Sets a function to be called when a worker sends a warning. The callback should accept a single argument, a GearmanTask object.

Liste de paramètres

callback

A function to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates

GearmanClient::setTimeout
GearmanClient::setWorkloadCallback
GearmanClient


Set a callback for accepting incremental data updates

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient
PHP Manual

GearmanClient::setWorkloadCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates

Description

public bool GearmanClient::setWorkloadCallback ( callback $callback )

Sets a function to be called when a worker needs to send back data prior to job completion. A worker can do this when it needs to send updates, send partial results, or flush data during long running jobs. The callback should accept a single argument, a GearmanTask object.

Liste de paramètres

callback

A function to call

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
  • GearmanClient::setFailCallback - Set callback for job failure
  • GearmanClient::setStatusCallback - Set a callback for collecting task status
  • GearmanClient::setWarningCallback - Set a callback for worker warnings

GearmanClient::setWarningCallback
GearmanClient::timeout
GearmanClient


Get current socket I/O activity timeout value

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient
PHP Manual

GearmanClient::timeout

(PECL gearman >= 0.6.0)

GearmanClient::timeout — Get current socket I/O activity timeout value

Description

public int GearmanClient::timeout ( void )

Returns the timeout in milliseconds to wait for I/O activity.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Timeout in milliseconds to wait for I/O activity. A negative value means an infinite timeout.

Voir aussi

  • GearmanClient::setTimeout - Set socket I/O activity timeout

GearmanClient::setWorkloadCallback
GearmanJob
GearmanClient


La classe GearmanJob

Introduction

Description de la classe.

Synopsis de la classe

GearmanJob
GearmanJob {
/* Méthodes */
public bool complete ( string $result )
__construct ( void )
public bool data ( string $data )
public bool exception ( string $exception )
public bool fail ( void )
public string functionName ( void )
public string handle ( void )
public int returnCode ( void )
public bool sendComplete ( string $result )
public bool sendData ( string $data )
public bool sendException ( string $exception )
public bool sendFail ( void )
public bool sendStatus ( int $numerator , int $denominator )
public bool sendWarning ( string $warning )
public bool setReturn ( string $gearman_return_t )
public bool status ( int $numerator , int $denominator )
public string unique ( void )
public bool warning ( string $warning )
public string workload ( void )
public int workloadSize ( void )
}

Sommaire

  • GearmanJob::complete — Send the result and complete status (deprecated)
  • GearmanJob::__construct — Create a GearmanJob instance
  • GearmanJob::data — Send data for a running job (deprecated)
  • GearmanJob::exception — Send exception for running job (deprecated)
  • GearmanJob::fail — Send fail status (deprecated)
  • GearmanJob::functionName — Get function name
  • GearmanJob::handle — Get the job handle
  • GearmanJob::returnCode — Get last return code
  • GearmanJob::sendComplete — Send the result and complete status
  • GearmanJob::sendData — Send data for a running job
  • GearmanJob::sendException — Send exception for running job (exception)
  • GearmanJob::sendFail — Send fail status
  • GearmanJob::sendStatus — Send status
  • GearmanJob::sendWarning — Send a warning
  • GearmanJob::setReturn — Set a return value
  • GearmanJob::status — Send status (deprecated)
  • GearmanJob::unique — Get the unique identifier
  • GearmanJob::warning — Send a warning (deprecated)
  • GearmanJob::workload — Get workload
  • GearmanJob::workloadSize — Get size of work load
GearmanClient::timeout
GearmanJob::complete
Gearman


Send the result and complete status (deprecated)

GearmanJob
GearmanJob::__construct
GearmanJob
PHP Manual

GearmanJob::complete

(PECL gearman <= 0.5.0)

GearmanJob::complete — Send the result and complete status (deprecated)

Description

public bool GearmanJob::complete ( string $result )

Sends result data and the complete status update for this job.

Note: This method has been replaced by GearmanJob::sendComplete in the 0.6.0 release of the Gearman extension.

Liste de paramètres

result

Serialized result data.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::sendFail - Send fail status
  • GearmanJob::setReturn - Set a return value

GearmanJob
GearmanJob::__construct
GearmanJob


Create a GearmanJob instance

GearmanJob::complete
GearmanJob::data
GearmanJob
PHP Manual

GearmanJob::__construct

(PECL gearman >= 0.5.0)

GearmanJob::__construct — Create a GearmanJob instance

Description

GearmanJob::__construct ( void )

Creates a GearmanJob instance representing a job the worker is to complete.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A GearmanJob object.

GearmanJob::complete
GearmanJob::data
GearmanJob


Send data for a running job (deprecated)

GearmanJob::__construct
GearmanJob::exception
GearmanJob
PHP Manual

GearmanJob::data

(PECL gearman <= 0.5.0)

GearmanJob::data — Send data for a running job (deprecated)

Description

public bool GearmanJob::data ( string $data )

Sends data to the job server (and any listening clients) for this job.

Note: This method has been replaced by GearmanJob::sendData in the 0.6.0 release of the Gearman extension.

Liste de paramètres

data

Arbitrary serialized data.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::workload - Get workload
  • GearmanTask::data - Get data returned for a task

GearmanJob::__construct
GearmanJob::exception
GearmanJob


Send exception for running job (deprecated)

GearmanJob::data
GearmanJob::fail
GearmanJob
PHP Manual

GearmanJob::exception

(PECL gearman <= 0.5.0)

GearmanJob::exception — Send exception for running job (deprecated)

Description

public bool GearmanJob::exception ( string $exception )

Sends the supplied exception when this job is running.

Note: This method has been replaced by GearmanJob::sendException in the 0.6.0 release of the Gearman extension.

Liste de paramètres

exception

An exception description.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::setReturn - Set a return value
  • GearmanJob::sendStatus - Send status
  • GearmanJob::sendWarning - Send a warning

GearmanJob::data
GearmanJob::fail
GearmanJob


Send fail status (deprecated)

GearmanJob::exception
GearmanJob::functionName
GearmanJob
PHP Manual

GearmanJob::fail

(PECL gearman <= 0.5.0)

GearmanJob::fail — Send fail status (deprecated)

Description

public bool GearmanJob::fail ( void )

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Note: This method has been replaced by GearmanJob::sendFail in the 0.6.0 release of the Gearman extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::sendException - Send exception for running job (exception)
  • GearmanJob::setReturn - Set a return value
  • GearmanJob::sendStatus - Send status
  • GearmanJob::sendWarning - Send a warning

GearmanJob::exception
GearmanJob::functionName
GearmanJob


Get function name

GearmanJob::fail
GearmanJob::handle
GearmanJob
PHP Manual

GearmanJob::functionName

(PECL gearman >= 0.5.0)

GearmanJob::functionName — Get function name

Description

public string GearmanJob::functionName ( void )

Returns the function name for this job. This is the function the work will execute to perform the job.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The name of a function.

Voir aussi

  • GearmanTask::function - Get associated function name (deprecated)

GearmanJob::fail
GearmanJob::handle
GearmanJob


Get the job handle

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob
PHP Manual

GearmanJob::handle

(PECL gearman >= 0.5.0)

GearmanJob::handle — Get the job handle

Description

public string GearmanJob::handle ( void )

Returns the opaque job handle assigned by the job server.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

An opaque job handle.

Voir aussi

  • GearmanTask::jobHandle - Get the job handle

GearmanJob::functionName
GearmanJob::returnCode
GearmanJob


Get last return code

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob
PHP Manual

GearmanJob::returnCode

(PECL gearman >= 0.5.0)

GearmanJob::returnCode — Get last return code

Description

public int GearmanJob::returnCode ( void )

Returns the last return code issued by the job server.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A valid Gearman return code.

Voir aussi

  • GearmanTask::returnCode - Get the last return code

GearmanJob::handle
GearmanJob::sendComplete
GearmanJob


Send the result and complete status

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob
PHP Manual

GearmanJob::sendComplete

(PECL gearman >= 0.6.0)

GearmanJob::sendComplete — Send the result and complete status

Description

public bool GearmanJob::sendComplete ( string $result )

Sends result data and the complete status update for this job.

Liste de paramètres

result

Serialized result data.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::sendFail - Send fail status
  • GearmanJob::setReturn - Set a return value

GearmanJob::returnCode
GearmanJob::sendData
GearmanJob


Send data for a running job

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob
PHP Manual

GearmanJob::sendData

(PECL gearman >= 0.6.0)

GearmanJob::sendData — Send data for a running job

Description

public bool GearmanJob::sendData ( string $data )

Sends data to the job server (and any listening clients) for this job.

Liste de paramètres

data

Arbitrary serialized data.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::workload - Get workload
  • GearmanTask::data - Get data returned for a task

GearmanJob::sendComplete
GearmanJob::sendException
GearmanJob


Send exception for running job (exception)

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob
PHP Manual

GearmanJob::sendException

(PECL gearman >= 0.6.0)

GearmanJob::sendException — Send exception for running job (exception)

Description

public bool GearmanJob::sendException ( string $exception )

Sends the supplied exception when this job is running.

Liste de paramètres

exception

An exception description.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::setReturn - Set a return value
  • GearmanJob::sendStatus - Send status
  • GearmanJob::sendWarning - Send a warning

GearmanJob::sendData
GearmanJob::sendFail
GearmanJob


Send fail status

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob
PHP Manual

GearmanJob::sendFail

(PECL gearman >= 0.6.0)

GearmanJob::sendFail — Send fail status

Description

public bool GearmanJob::sendFail ( void )

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::sendException - Send exception for running job (exception)
  • GearmanJob::setReturn - Set a return value
  • GearmanJob::sendStatus - Send status
  • GearmanJob::sendWarning - Send a warning

GearmanJob::sendException
GearmanJob::sendStatus
GearmanJob


Send status

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob
PHP Manual

GearmanJob::sendStatus

(PECL gearman >= 0.6.0)

GearmanJob::sendStatus — Send status

Description

public bool GearmanJob::sendStatus ( int $numerator , int $denominator )

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Liste de paramètres

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::jobStatus - Get the status of a background job
  • GearmanTask::taskDenominator - Get completion percentage denominator
  • GearmanTask::taskNumerator - Get completion percentage numerator

GearmanJob::sendFail
GearmanJob::sendWarning
GearmanJob


Send a warning

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob
PHP Manual

GearmanJob::sendWarning

(PECL gearman >= 0.6.0)

GearmanJob::sendWarning — Send a warning

Description

public bool GearmanJob::sendWarning ( string $warning )

Sends a warning for this job while it is running.

Liste de paramètres

warning

A warning messages.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::sendComplete - Send the result and complete status
  • GearmanJob::sendException - Send exception for running job (exception)
  • GearmanJob::sendFail - Send fail status

GearmanJob::sendStatus
GearmanJob::setReturn
GearmanJob


Set a return value

GearmanJob::sendWarning
GearmanJob::status
GearmanJob
PHP Manual

GearmanJob::setReturn

(PECL gearman >= 0.5.0)

GearmanJob::setReturn — Set a return value

Description

public bool GearmanJob::setReturn ( string $gearman_return_t )

Sets the return value for this job, indicates how the job completed.

Liste de paramètres

gearman_return_t

A valid Gearman return value.

Valeurs de retour

Description...

GearmanJob::sendWarning
GearmanJob::status
GearmanJob


Send status (deprecated)

GearmanJob::setReturn
GearmanJob::unique
GearmanJob
PHP Manual

GearmanJob::status

(PECL gearman <= 0.5.0)

GearmanJob::status — Send status (deprecated)

Description

public bool GearmanJob::status ( int $numerator , int $denominator )

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Note: This method has been replaced by GearmanJob::sendStatus in the 0.6.0 release of the Gearman extenstion.

Liste de paramètres

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanClient::jobStatus - Get the status of a background job
  • GearmanTask::taskDenominator - Get completion percentage denominator
  • GearmanTask::taskNumerator - Get completion percentage numerator

GearmanJob::setReturn
GearmanJob::unique
GearmanJob


Get the unique identifier

GearmanJob::status
GearmanJob::warning
GearmanJob
PHP Manual

GearmanJob::unique

(PECL gearman >= 0.5.0)

GearmanJob::unique — Get the unique identifier

Description

public string GearmanJob::unique ( void )

Returns the unique identifiter for this job. The identifier is assigned by the client.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

An opaque unique identifier.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanTask::uuid - Get the unique identifier for a task (deprecated)

GearmanJob::status
GearmanJob::warning
GearmanJob


Send a warning (deprecated)

GearmanJob::unique
GearmanJob::workload
GearmanJob
PHP Manual

GearmanJob::warning

(PECL gearman <= 0.5.0)

GearmanJob::warning — Send a warning (deprecated)

Description

public bool GearmanJob::warning ( string $warning )

Sends a warning for this job while it is running.

Note: This method has been replaced by GearmanJob::sendWarning in the 0.6.0 release of the Gearman extension.

Liste de paramètres

warning

A warning messages.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • GearmanJob::sendComplete - Send the result and complete status
  • GearmanJob::sendException - Send exception for running job (exception)
  • GearmanJob::sendFail - Send fail status

GearmanJob::unique
GearmanJob::workload
GearmanJob


Get workload

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob
PHP Manual

GearmanJob::workload

(PECL gearman >= 0.5.0)

GearmanJob::workload — Get workload

Description

public string GearmanJob::workload ( void )

Returns the workload for the job. This is serialized data that is to be processed by the worker.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Serialized data.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanJob::workloadSize - Get size of work load

GearmanJob::warning
GearmanJob::workloadSize
GearmanJob


Get size of work load

GearmanJob::workload
GearmanTask
GearmanJob
PHP Manual

GearmanJob::workloadSize

(PECL gearman >= 0.5.0)

GearmanJob::workloadSize — Get size of work load

Description

public int GearmanJob::workloadSize ( void )

Returns the size of the job's work load (the data the worker is to process) in bytes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The size in bytes.

Voir aussi

  • GearmanJob::workload - Get workload

GearmanJob::workload
GearmanTask
GearmanJob


La classe GearmanTask

Introduction

Description de la classe.

Synopsis de la classe

GearmanTask
GearmanTask {
/* Méthodes */
__construct ( void )
public GearmanTask create ( void )
public string data ( void )
public int dataSize ( void )
public string function ( void )
public string functionName ( void )
public bool isKnown ( void )
public bool isRunning ( void )
public string jobHandle ( void )
public array recvData ( int $data_len )
public int returnCode ( void )
public int sendData ( string $data )
public int sendWorkload ( string $data )
public int taskDenominator ( void )
public int taskNumerator ( void )
public string unique ( void )
public string uuid ( void )
}

Sommaire

  • GearmanTask::__construct — Crée une instance GearmanTask
  • GearmanTask::create — Create a task (deprecated)
  • GearmanTask::data — Get data returned for a task
  • GearmanTask::dataSize — Get the size of returned data
  • GearmanTask::function — Get associated function name (deprecated)
  • GearmanTask::functionName — Get associated function name
  • GearmanTask::isKnown — Determine if task is known
  • GearmanTask::isRunning — Test whether the task is currently running
  • GearmanTask::jobHandle — Get the job handle
  • GearmanTask::recvData — Read work or result data into a buffer for a task
  • GearmanTask::returnCode — Get the last return code
  • GearmanTask::sendData — Send data for a task (deprecated)
  • GearmanTask::sendWorkload — Send data for a task
  • GearmanTask::taskDenominator — Get completion percentage denominator
  • GearmanTask::taskNumerator — Get completion percentage numerator
  • GearmanTask::unique — Get the unique identifier for a task
  • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
GearmanJob::workloadSize
GearmanTask::__construct
Gearman


Crée une instance GearmanTask

GearmanTask
GearmanTask::create
GearmanTask
PHP Manual

GearmanTask::__construct

(PECL gearman >= 0.5.0)

GearmanTask::__construct — Crée une instance GearmanTask

Description

GearmanTask::__construct ( void )

Crée une instance GearmanTask représentant une tâche à soumettre au serveur de tâches.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet GearmanTask.

GearmanTask
GearmanTask::create
GearmanTask


Create a task (deprecated)

GearmanTask::__construct
GearmanTask::data
GearmanTask
PHP Manual

GearmanTask::create

(PECL gearman <= 0.5.0)

GearmanTask::create — Create a task (deprecated)

Description

public GearmanTask GearmanTask::create ( void )

Returns a new GearmanTask object.

Note: This method was removed in the 0.6.0 version of the Gearman extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A GearmanTask oject ou FALSE si une erreur survient.

GearmanTask::__construct
GearmanTask::data
GearmanTask


Get data returned for a task

GearmanTask::create
GearmanTask::dataSize
GearmanTask
PHP Manual

GearmanTask::data

(PECL gearman >= 0.5.0)

GearmanTask::data — Get data returned for a task

Description

public string GearmanTask::data ( void )

Returns data being returned for a task by a worker.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The serialized data, or FALSE if no data is present.

Voir aussi

  • GearmanTask::dataSize - Get the size of returned data

GearmanTask::create
GearmanTask::dataSize
GearmanTask


Get the size of returned data

GearmanTask::data
GearmanTask::function
GearmanTask
PHP Manual

GearmanTask::dataSize

(PECL gearman >= 0.5.0)

GearmanTask::dataSize — Get the size of returned data

Description

public int GearmanTask::dataSize ( void )

Returns the size of the data being returned for a task.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The data size, or FALSE if there is no data.

Voir aussi

  • GearmanTask::data - Get data returned for a task

GearmanTask::data
GearmanTask::function
GearmanTask


Get associated function name (deprecated)

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask
PHP Manual

GearmanTask::function

(PECL gearman <= 0.5.0)

GearmanTask::function — Get associated function name (deprecated)

Description

public string GearmanTask::function ( void )

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Note: This method has been replaced by GearmanTask::functionName in the 0.6.0 release of the Gearman extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A function name.

GearmanTask::dataSize
GearmanTask::functionName
GearmanTask


Get associated function name

GearmanTask::function
GearmanTask::isKnown
GearmanTask
PHP Manual

GearmanTask::functionName

(PECL gearman >= 0.6.0)

GearmanTask::functionName — Get associated function name

Description

public string GearmanTask::functionName ( void )

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A function name.

GearmanTask::function
GearmanTask::isKnown
GearmanTask


Determine if task is known

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask
PHP Manual

GearmanTask::isKnown

(PECL gearman >= 0.5.0)

GearmanTask::isKnown — Determine if task is known

Description

public bool GearmanTask::isKnown ( void )

Gets the status information for whether or not this task is known to the job server.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE if the task is known, FALSE otherwise.

GearmanTask::functionName
GearmanTask::isRunning
GearmanTask


Test whether the task is currently running

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask
PHP Manual

GearmanTask::isRunning

(PECL gearman >= 0.5.0)

GearmanTask::isRunning — Test whether the task is currently running

Description

public bool GearmanTask::isRunning ( void )

Indicates whether or not this task is currently running.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE if the task is running, FALSE otherwise.

GearmanTask::isKnown
GearmanTask::jobHandle
GearmanTask


Get the job handle

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask
PHP Manual

GearmanTask::jobHandle

gearman_job_handle

(PECL gearman >= 0.5.0)

GearmanTask::jobHandle -- gearman_job_handle — Get the job handle

Description

public string GearmanTask::jobHandle ( void )

Returns the job handle for this task.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The opaque job handle.

Voir aussi

  • GearmanClient::doJobHandle - Get the job handle for the running task

GearmanTask::isRunning
GearmanTask::recvData
GearmanTask


Read work or result data into a buffer for a task

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask
PHP Manual

GearmanTask::recvData

(PECL gearman >= 0.5.0)

GearmanTask::recvData — Read work or result data into a buffer for a task

Description

public array GearmanTask::recvData ( int $data_len )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

data_len

Length of data to be read.

Valeurs de retour

An array whose first element is the length of data read and the second is the data buffer. Returns FALSE if the read failed.

Voir aussi

  • GearmanTask::sendData - Send data for a task (deprecated)

GearmanTask::jobHandle
GearmanTask::returnCode
GearmanTask


Get the last return code

GearmanTask::recvData
GearmanTask::sendData
GearmanTask
PHP Manual

GearmanTask::returnCode

(PECL gearman >= 0.5.0)

GearmanTask::returnCode — Get the last return code

Description

public int GearmanTask::returnCode ( void )

Returns the last Gearman return code for this task.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A valid Gearman return code.

Voir aussi

  • GearmanClient::returnCode - Get the last Gearman return code

GearmanTask::recvData
GearmanTask::sendData
GearmanTask


Send data for a task (deprecated)

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask
PHP Manual

GearmanTask::sendData

(PECL gearman <= 0.5.0)

GearmanTask::sendData — Send data for a task (deprecated)

Description

public int GearmanTask::sendData ( string $data )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

data

Data to send to the worker.

Valeurs de retour

The length of data sent, or FALSE if the send failed.

Voir aussi

  • GearmanTask::recvData - Read work or result data into a buffer for a task

GearmanTask::returnCode
GearmanTask::sendWorkload
GearmanTask


Send data for a task

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask
PHP Manual

GearmanTask::sendWorkload

(PECL gearman >= 0.6.0)

GearmanTask::sendWorkload — Send data for a task

Description

public int GearmanTask::sendWorkload ( string $data )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

data

Data to send to the worker.

Valeurs de retour

The length of data sent, or FALSE if the send failed.

Voir aussi

  • GearmanTask::recvData - Read work or result data into a buffer for a task

GearmanTask::sendData
GearmanTask::taskDenominator
GearmanTask


Get completion percentage denominator

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask
PHP Manual

GearmanTask::taskDenominator

(PECL gearman >= 0.5.0)

GearmanTask::taskDenominator — Get completion percentage denominator

Description

public int GearmanTask::taskDenominator ( void )

Returns the denominator of the percentage of the task that is complete expressed as a fraction.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A number between 0 and 100, or FALSE if cannot be determined.

Voir aussi

  • GearmanTask::taskNumerator - Get completion percentage numerator

GearmanTask::sendWorkload
GearmanTask::taskNumerator
GearmanTask


Get completion percentage numerator

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask
PHP Manual

GearmanTask::taskNumerator

(PECL gearman >= 0.5.0)

GearmanTask::taskNumerator — Get completion percentage numerator

Description

public int GearmanTask::taskNumerator ( void )

Returns the numerator of the percentage of the task that is complete expressed as a fraction.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A number between 0 and 100, or FALSE if cannot be determined.

Voir aussi

  • GearmanTask::taskDenominator - Get completion percentage denominator

GearmanTask::taskDenominator
GearmanTask::unique
GearmanTask


Get the unique identifier for a task

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask
PHP Manual

GearmanTask::unique

(PECL gearman >= 0.6.0)

GearmanTask::unique — Get the unique identifier for a task

Description

public string GearmanTask::unique ( void )

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The unique identifier, or FALSE if no identifier is assigned.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::addTask - Add a task to be run in parallel

GearmanTask::taskNumerator
GearmanTask::uuid
GearmanTask


Get the unique identifier for a task (deprecated)

GearmanTask::unique
GearmanWorker
GearmanTask
PHP Manual

GearmanTask::uuid

(PECL gearman <= 0.5.0)

GearmanTask::uuid — Get the unique identifier for a task (deprecated)

Description

public string GearmanTask::uuid ( void )

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Note: This method has been replaced by GearmanTask::unique in the 0.6.0 release of the Gearman extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The unique identifier, or FALSE if no identifier is assigned.

Voir aussi

  • GearmanClient::do - Run a single task and return a result
  • GearmanClient::addTask - Add a task to be run in parallel

GearmanTask::unique
GearmanWorker
GearmanTask


La classe GearmanWorker

Introduction

Description de la classe.

Synopsis de la classe

GearmanWorker
GearmanWorker {
/* Méthodes */
public bool addFunction ( string $function_name , callback $function [, mixed &$context [, int $timeout ]] )
public bool addOptions ( int $option )
public bool addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )
public bool addServers ( string $servers = 127.0.0.1:4730 )
public void clone ( void )
__construct ( void )
public bool echo ( string $workload )
public string error ( void )
public int getErrno ( void )
public int options ( void )
public bool register ( string $function_name [, int $timeout ] )
public bool removeOptions ( int $option )
public int returnCode ( void )
public bool setOptions ( int $option )
public bool setTimeout ( int $timeout )
public int timeout ( void )
public bool unregister ( string $function_name )
public bool unregisterAll ( void )
public bool wait ( void )
public bool work ( void )
}

Sommaire

  • GearmanWorker::addFunction — Register and add callback function
  • GearmanWorker::addOptions — Add worker options
  • GearmanWorker::addServer — Add a job server
  • GearmanWorker::addServers — Add job servers
  • GearmanWorker::clone — Create a copy of the worker
  • GearmanWorker::__construct — Create a GearmanWorker instance
  • GearmanWorker::echo — Test job server response
  • GearmanWorker::error — Get the last error encountered
  • GearmanWorker::getErrno — Get errno
  • GearmanWorker::options — Get worker options
  • GearmanWorker::register — Register a function with the job server
  • GearmanWorker::removeOptions — Remove worker options
  • GearmanWorker::returnCode — Get last Gearman return code
  • GearmanWorker::setOptions — Set worker options
  • GearmanWorker::setTimeout — Set socket I/O activity timeout
  • GearmanWorker::timeout — Get socket I/O activity timeout
  • GearmanWorker::unregister — Unregister a function name with the job servers
  • GearmanWorker::unregisterAll — Unregister all function names with the job servers
  • GearmanWorker::wait — Wait for activity from one of the job servers
  • GearmanWorker::work — Wait for and perform jobs
GearmanTask::uuid
GearmanWorker::addFunction
Gearman


Register and add callback function

GearmanWorker
GearmanWorker::addOptions
GearmanWorker
PHP Manual

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction — Register and add callback function

Description

public bool GearmanWorker::addFunction ( string $function_name , callback $function [, mixed &$context [, int $timeout ]] )

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

Liste de paramètres

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker();

# add the default server (localhost)
$worker->addServer();

# define a variable to hold application data
$count= 0;

# add the "reverse" function
$worker->addFunction("reverse", "reverse_cb", &$count);

# start the worker
while ($worker->work());

function reverse_cb($job, $count)
{
  $count++;
  return "$count: " . strrev($job->workload());
}

?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

Voir aussi

  • GearmanClient::do - Run a single task and return a result

GearmanWorker
GearmanWorker::addOptions
GearmanWorker


Add worker options

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker
PHP Manual

GearmanWorker::addOptions

(PECL gearman >= 0.6.0)

GearmanWorker::addOptions — Add worker options

Description

public bool GearmanWorker::addOptions ( int $option )

Adds one or more options to the options previously set.

Liste de paramètres

option

The options to be added

Valeurs de retour

Always returns TRUE.

Voir aussi

  • GearmanWorker::options - Get worker options
  • GearmanClient::setOptions - Set client options
  • GearmanClient::removeOptions - Remove client options

GearmanWorker::addFunction
GearmanWorker::addServer
GearmanWorker


Add a job server

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker
PHP Manual

GearmanWorker::addServer

(PECL gearman >= 0.5.0)

GearmanWorker::addServer — Add a job server

Description

public bool GearmanWorker::addServer ([ string $host = 127.0.0.1 [, int $port = 4730 ]] )

Adds a job server to this worker. This goes into a list of servers than can be used to run jobs. No socket I/O happens here.

Liste de paramètres

host

Le nom d'hôte du serveur de travaux.

port

Le port du serveur de travaux.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Add alternate Gearman servers

<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>

Voir aussi

  • GearmanWorker::addServers - Add job servers

GearmanWorker::addOptions
GearmanWorker::addServers
GearmanWorker


Add job servers

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker
PHP Manual

GearmanWorker::addServers

(PECL gearman >= 0.5.0)

GearmanWorker::addServers — Add job servers

Description

public bool GearmanWorker::addServers ( string $servers = 127.0.0.1:4730 )

Adds one or more job servers to this worker. These go into a list of servers that can be used to run jobs. No socket I/O happens here.

Liste de paramètres

servers

A comma separated list of job servers in the format host:port. If no port is specified, it defaults to 4730.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Add two job servers

<?php

$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");

?>

Voir aussi

  • GearmanWorker::addServer - Add a job server

GearmanWorker::addServer
GearmanWorker::clone
GearmanWorker


Create a copy of the worker

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker
PHP Manual

GearmanWorker::clone

(PECL gearman >= 0.5.0)

GearmanWorker::clone — Create a copy of the worker

Description

public void GearmanWorker::clone ( void )

Creates a copy of the worker.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A GearmanWorker object

GearmanWorker::addServers
GearmanWorker::__construct
GearmanWorker


Create a GearmanWorker instance

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker
PHP Manual

GearmanWorker::__construct

(PECL gearman >= 0.5.0)

GearmanWorker::__construct — Create a GearmanWorker instance

Description

GearmanWorker::__construct ( void )

Creates a GearmanWorker instance representing a worker that connects to the job server and accepts tasks to run.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A GearmanWorker object

Voir aussi

  • GearmanWorker::clone - Create a copy of the worker

GearmanWorker::clone
GearmanWorker::echo
GearmanWorker


Test job server response

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker
PHP Manual

GearmanWorker::echo

(PECL gearman >= 0.6.0)

GearmanWorker::echo — Test job server response

Description

public bool GearmanWorker::echo ( string $workload )

Sends data to all job servers to see if they echo it back. This is a test function to see if job servers are responding properly.

Liste de paramètres

workload

Arbitrary serialized data

Valeurs de retour

Standard Gearman return value.

Voir aussi

  • GearmanClient::echo - Send data to all job servers to see if they echo it back

GearmanWorker::__construct
GearmanWorker::error
GearmanWorker


Get the last error encountered

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker
PHP Manual

GearmanWorker::error

(PECL gearman >= 0.5.0)

GearmanWorker::error — Get the last error encountered

Description

public string GearmanWorker::error ( void )

Returns an error string for the last error encountered.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

An error string.

Voir aussi

  • GearmanWorker::getErrno - Get errno

GearmanWorker::echo
GearmanWorker::getErrno
GearmanWorker


Get errno

GearmanWorker::error
GearmanWorker::options
GearmanWorker
PHP Manual

GearmanWorker::getErrno

(PECL gearman >= 0.5.0)

GearmanWorker::getErrno — Get errno

Description

public int GearmanWorker::getErrno ( void )

Returns the value of errno in the case of a GEARMAN_ERRNO return value.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A valid errno.

Voir aussi

  • GearmanWorker::error - Get the last error encountered

GearmanWorker::error
GearmanWorker::options
GearmanWorker


Get worker options

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker
PHP Manual

GearmanWorker::options

(PECL gearman >= 0.6.0)

GearmanWorker::options — Get worker options

Description

public int GearmanWorker::options ( void )

Gets the options previously set for the worker.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The options currently set for the worker.

Voir aussi

  • GearmanWorker::setOptions - Set worker options

GearmanWorker::getErrno
GearmanWorker::register
GearmanWorker


Register a function with the job server

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker
PHP Manual

GearmanWorker::register

(PECL gearman >= 0.6.0)

GearmanWorker::register — Register a function with the job server

Description

public bool GearmanWorker::register ( string $function_name [, int $timeout ] )

Registers a function name with the job server with an optional timeout. The timeout specifies how many seconds the server will wait before marking a job as failed. If the timeout is set to zero, there is no timeout.

Liste de paramètres

function_name

The name of a function to register with the job server

timeout

An interval of time in seconds

Valeurs de retour

A standard Gearman return value.

Voir aussi

  • GearmanWorker::unregister - Unregister a function name with the job servers
  • GearmanWorker::unregisterAll - Unregister all function names with the job servers

GearmanWorker::options
GearmanWorker::removeOptions
GearmanWorker


Remove worker options

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker
PHP Manual

GearmanWorker::removeOptions

(PECL gearman >= 0.6.0)

GearmanWorker::removeOptions — Remove worker options

Description

public bool GearmanWorker::removeOptions ( int $option )

Removes (unsets) one or more worker options.

Liste de paramètres

option

The options to be removed (unset)

Valeurs de retour

Always returns TRUE.

Voir aussi

  • GearmanWorker::options - Get worker options
  • GearmanWorker::setOptions - Set worker options
  • GearmanWorker::addOptions - Add worker options

GearmanWorker::register
GearmanWorker::returnCode
GearmanWorker


Get last Gearman return code

GearmanWorker::removeOptions
GearmanWorker::setOptions
GearmanWorker
PHP Manual

GearmanWorker::returnCode

(PECL gearman >= 0.5.0)

GearmanWorker::returnCode — Get last Gearman return code

Description

public int GearmanWorker::returnCode ( void )

Returns the last Gearman return code.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A valid Gearman return code.

Voir aussi

  • GearmanWorker::error - Get the last error encountered
  • GearmanWorker::getErrno - Get errno

GearmanWorker::removeOptions
GearmanWorker::setOptions
GearmanWorker


Set worker options

GearmanWorker::returnCode
GearmanWorker::setTimeout
GearmanWorker
PHP Manual

GearmanWorker::setOptions

(PECL gearman >= 0.5.0)

GearmanWorker::setOptions — Set worker options

Description

public bool GearmanWorker::setOptions ( int $option )

Sets one or more options to the supplied value.

Liste de paramètres

option

The options to be set

Valeurs de retour

Always returns TRUE.

Voir aussi

  • GearmanWorker::options - Get worker options
  • GearmanWorker::addOptions - Add worker options
  • GearmanWorker::removeOptions - Remove worker options
  • GearmanClient::setOptions - Set client options

GearmanWorker::returnCode
GearmanWorker::setTimeout
GearmanWorker


Set socket I/O activity timeout

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker
PHP Manual

GearmanWorker::setTimeout

(PECL gearman >= 0.6.0)

GearmanWorker::setTimeout — Set socket I/O activity timeout

Description

public bool GearmanWorker::setTimeout ( int $timeout )

Sets the interval of time to wait for socket I/O activity.

Liste de paramètres

timeout

An interval of time in milliseconds. A negative value indicates an infinite timeout.

Valeurs de retour

Always returns TRUE.

Exemples

Exemple #1 A simple worker with a 5 second timeout

<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

# Set the timeout to 5 seconds
$gmworker->setTimeout(5000);

echo "Waiting for job...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
  if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
  {
    # Normally one would want to do something useful here ...
    echo "Timeout. Waiting for next job...\n";
    continue;
  }

  if ($gmworker->returnCode() != GEARMAN_SUCCESS)
  {
    echo "return_code: " . $gmworker->returnCode() . "\n";
    break;
  }
}

echo "Done\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Running the worker with no submitted jobs will generate output that looks like the following:

Starting
Waiting for job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...

Voir aussi

  • GearmanWorker::timeout - Get socket I/O activity timeout

GearmanWorker::setOptions
GearmanWorker::timeout
GearmanWorker


Get socket I/O activity timeout

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker
PHP Manual

GearmanWorker::timeout

(PECL gearman >= 0.6.0)

GearmanWorker::timeout — Get socket I/O activity timeout

Description

public int GearmanWorker::timeout ( void )

Returns the current time to wait, in milliseconds, for socket I/O activity.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A time period is milliseconds. A negative value indicates an infinite timeout.

Voir aussi

  • GearmanWorker::setTimeout - Set socket I/O activity timeout

GearmanWorker::setTimeout
GearmanWorker::unregister
GearmanWorker


Unregister a function name with the job servers

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker
PHP Manual

GearmanWorker::unregister

(PECL gearman >= 0.6.0)

GearmanWorker::unregister — Unregister a function name with the job servers

Description

public bool GearmanWorker::unregister ( string $function_name )

Unregisters a function name with the job servers ensuring that no more jobs (for that function) are sent to this worker.

Liste de paramètres

function_name

The name of a function to register with the job server

Valeurs de retour

A standard Gearman return value.

Voir aussi

  • GearmanWorker::register - Register a function with the job server
  • GearmanWorker::unregisterAll - Unregister all function names with the job servers

GearmanWorker::timeout
GearmanWorker::unregisterAll
GearmanWorker


Unregister all function names with the job servers

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker
PHP Manual

GearmanWorker::unregisterAll

(PECL gearman >= 0.6.0)

GearmanWorker::unregisterAll — Unregister all function names with the job servers

Description

public bool GearmanWorker::unregisterAll ( void )

Unregisters all previously registered functions, ensuring that no more jobs are sent to this worker.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A standard Gearman return value.

Voir aussi

  • GearmanWorker::register - Register a function with the job server
  • GearmanWorker::unregister - Unregister a function name with the job servers

GearmanWorker::unregister
GearmanWorker::wait
GearmanWorker


Wait for activity from one of the job servers

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker
PHP Manual

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — Wait for activity from one of the job servers

Description

public bool GearmanWorker::wait ( void )

Causes the worker to wait for activity from one of the Gearman job servers when operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error encountered.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Running worker in non-blocking mode

<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Add the default server (localhost, port 4730)
$worker->addServer();

# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');

# Try to grab a job
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo "Waiting for next job...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # We are not connected to any servers, so wait a bit before
      # trying to reconnect.
      sleep(5);
      continue;
    }
    break;
  }
}

echo "Worker Error: " . $worker->error() . "\n";

function reverse_fn($job)
{
  return strrev($job->workload());
}

?>

Voir aussi

  • GearmanWorker::work - Wait for and perform jobs

GearmanWorker::unregisterAll
GearmanWorker::work
GearmanWorker


Wait for and perform jobs

GearmanWorker::wait
mqseries
GearmanWorker
PHP Manual

GearmanWorker::work

(PECL gearman >= 0.5.0)

GearmanWorker::work — Wait for and perform jobs

Description

public bool GearmanWorker::work ( void )

Waits for a job to be assigned and then calls the appropriate callback function. Issues an E_WARNING with the last Gearman error if the return code is not one of GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 GearmanWorker::work example

<?php

# create the worker
$worker = new GearmanWorker();

# add the default job server (localhost)
$worker->addServer();

# add the reverse function
$worker->addFunction("reverse", "my_reverse_function");

# start te worker listening for job submissions
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}

?>

Voir aussi

  • GearmanWorker::addFunction - Register and add callback function

GearmanWorker::wait
mqseries
GearmanWorker


mqseries

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • mqseries Fonctions
    • mqseries_back — MQSeries MQBACK
    • mqseries_begin — MQseries MQBEGIN
    • mqseries_close — MQSeries MQCLOSE
    • mqseries_cmit — MQSeries MQCMIT
    • mqseries_conn — MQSeries MQCONN
    • mqseries_connx — MQSeries MQCONNX
    • mqseries_disc — MQSeries MQDISC
    • mqseries_get — MQSeries MQGET
    • mqseries_inq — MQSeries MQINQ
    • mqseries_open — MQSeries MQOPEN
    • mqseries_put1 — MQSeries MQPUT1
    • mqseries_put — MQSeries MQPUT
    • mqseries_set — MQSeries MQSET
    • mqseries_strerror — Retourne le message d'erreur correspondant au code de résultat
GearmanWorker::work
Introduction
Autres services


Introduction

Cette extension fournit une interface de communication avec les serveurs de queue d'IBM WebSphere MQ.

L'interface imite l'API du client C de WebSphere MQ Series autant que possible, en utilisant les mêmes conventions de noms et fonctionnalités. Afin de comprendre le fonctionnement de cette extension, un minimum de connaissance de l'interface C est nécessaire.

Pour les MQ-options, MQ-structures, MQ-results etc., reportez-vous au "WebSphere MQ Application Programming Guide" et "WebSphere MQ Application Programming Reference".

mqseries
Installation/Configuration
mqseries


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
mqseries


Pré-requis

Une installation fonctionnelle IBM WebSphere MQ. Pour la compilation de l'extension, le SDK de IBM WebSphere MQ est aussi nécessaire.

Note: Soyez prévenus que lorsque vous fonctionne avec le client IBM WebSphere MQ, certaines méthodes ne sont pas disponibles. Ce n'est pas un problème avec l'extension, mais simplement la manière de fonctionner de WebSphere MQ Client Interface.

Pré-requis d'installation sur une plate-forme non-windows

Compilez l'extension et placez-la dans le dossier d'extension de PHP.

Pré-requis d'installation sur une plate-forme Windows

Pas de pré-requis additionnel.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/mqseries.

Note: Le nom officiel de cette extension est mqseries.

Il y a deux moyens de se connecter au gestionnaire de queue. Ils dépendent de comment l'extension a été compilée.

  • Premièrement, et aussi par défaut, il y a la bibliothèque mqic. En compilant et liant l'extension avec les bibliothèques IBM WebSphere MQSeries, on peut se connecter à la Queue manager avec l'interface client. Les connexions distantes sont aussi possibles de cette manière.

  • L'autre moyen est de compiler et lier les bibliothèques mqm. En utilisant ces bibliothèques, il est possible d'utiliser le gestionnaire de transaction du serveur de queue.

Actuellement, la sélection de ces bibliothèques se fait en modifiant le fichier config.m4.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Pas de paramètre de configuration particulier.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit une ressource de connexion et de object_handle.

Les fonctions mqseries_conn() et mqseries_connx() définissent des ressources de connexion.

La fonction mqseries_open() définit une ressource d'object_handle.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Pour chaque constante WebSphere MQ Constant, il y a un équivalent mqseries.

Pour les définitions et utilisation, reportez-vous au "WebSphere MQ Application Programming Guide" et "WebSphere MQ Application Programming Reference red books".

Le nom des constantes mqseries est fait en préfixant le nom de la constante WebSphere MQ avec MQSERIES_. Par exemple, les constantes de CompletionCode sont :

mqseries constants
Constante PHP | Constante MQ
MQSERIES_MQCC_OK | MQCC_OK
MQSERIES_MQCC_WARNING | MQCC_WARNING
MQSERIES_MQCC_FAILED | MQCC_FAILED
MQSERIES_MQCC_UNKNOWN | MQCC_UNKNOWN

Types de ressources
mqseries Fonctions
mqseries


mqseries Fonctions

Sommaire

  • mqseries_back — MQSeries MQBACK
  • mqseries_begin — MQseries MQBEGIN
  • mqseries_close — MQSeries MQCLOSE
  • mqseries_cmit — MQSeries MQCMIT
  • mqseries_conn — MQSeries MQCONN
  • mqseries_connx — MQSeries MQCONNX
  • mqseries_disc — MQSeries MQDISC
  • mqseries_get — MQSeries MQGET
  • mqseries_inq — MQSeries MQINQ
  • mqseries_open — MQSeries MQOPEN
  • mqseries_put1 — MQSeries MQPUT1
  • mqseries_put — MQSeries MQPUT
  • mqseries_set — MQSeries MQSET
  • mqseries_strerror — Retourne le message d'erreur correspondant au code de résultat
Constantes pré-définies
mqseries_back
mqseries


MQSeries MQBACK

mqseries Fonctions
mqseries_begin
mqseries Fonctions
PHP Manual

mqseries_back

(PECL mqseries >= 0.10.0)

mqseries_back — MQSeries MQBACK

Description

void mqseries_back ( resource $hconn , resource &$compCode , resource &$reason )

mqseries_back() indique au gestionnaire de queue que tous les messages lus et écrits depuis le dernier point de synchronisation doivent être annulés. Les messages qui font partie d'une unité de travail seront effacés. Les messages lus comme unité de travail seront reinsérés dans la queue.

Using mqseries_back() fonctionne aussi en conjonction avec mqseries_begin() et uniquement lorsqu'on se connecte directement au gestionnaire de queues : cela ne fonctionne pas via l'interface mqclient.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_back()

<?php
    mqseries_back($conn, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Notes

Note: mqseries_back() ne fonctionne pas lorsqu'un client MQSeries Client se connecter au Queue Manager.

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_begin() - MQseries MQBEGIN

mqseries Fonctions
mqseries_begin
mqseries Fonctions


MQseries MQBEGIN

mqseries_back
mqseries_close
mqseries Fonctions
PHP Manual

mqseries_begin

(PECL mqseries >= 0.10.0)

mqseries_begin — MQseries MQBEGIN

Description

void mqseries_begin ( resource $hconn , array $beginOptions , resource &$compCode , resource &$reason )

mqseries_begin() commence une unité de travail, coordonnée par le gestionnaire de queue, et impliquant éventuellement des gestionnaires de ressources externes.

Using mqseries_begin() commence une unitée de travail. Soit mqseries_back(), soit mqseries_cmit() termineront l'unité de travail.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_begin()

<?php
    $mqbo = array();
    mqseries_begin( $conn,
                    $mqbo,
                    $comp_code,
                    $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        /* reason code 2121 is a warning for more information see MQSeries reference manual.*/
        if ($reason !== 2121) {
            printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        }
    }
?>

Notes

Note: mqseries_begin() ne fonctionne pas lorsqu'un client MQSeries Client se connecter au Queue Manager.

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_back() - MQSeries MQBACK
  • mqseries_cmit() - MQSeries MQCMIT

mqseries_back
mqseries_close
mqseries Fonctions


MQSeries MQCLOSE

mqseries_begin
mqseries_cmit
mqseries Fonctions
PHP Manual

mqseries_close

(PECL mqseries >= 0.10.0)

mqseries_close — MQSeries MQCLOSE

Description

void mqseries_close ( resource $hconn , resource $hobj , int $options , resource &$compCode , resource &$reason )

mqseries_close() relache l'accès à un objet, et est l'inverse de la fonction mqseries_open().

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

hObj

Object handle.

Cette ressource représente l'objet à utiliser.

options

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_close()

<?php
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("close CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Voir aussi

  • mqseries_open() - MQSeries MQOPEN
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_begin
mqseries_cmit
mqseries Fonctions


MQSeries MQCMIT

mqseries_close
mqseries_conn
mqseries Fonctions
PHP Manual

mqseries_cmit

(PECL mqseries >= 0.10.0)

mqseries_cmit — MQSeries MQCMIT

Description

void mqseries_cmit ( resource $hconn , resource &$compCode , resource &$reason )

mqseries_cmit() indique au gestionnaire de queue que l'application a atteint un point de synchronisation, et que tous les messages qui ont été lus et écrits depuis le dernier point de synchronisation ont été rendus permanants. Les messages placés dans la queue comme unité de travail sont maintenant accessibles autres applications. Les messages lus comme unité de travail sont maintenant détruits.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_cmit()

<?php
    mqseries_cmit($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("cmit CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Notes

Note: mqseries_back() ne fonctionne pas lorsqu'un client MQSeries Client se connecter au Queue Manager.

Voir aussi

  • mqseries_begin() - MQseries MQBEGIN
  • mqseries_back() - MQSeries MQBACK
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_close
mqseries_conn
mqseries Fonctions


MQSeries MQCONN

mqseries_cmit
mqseries_connx
mqseries Fonctions
PHP Manual

mqseries_conn

(PECL mqseries >= 0.10.0)

mqseries_conn — MQSeries MQCONN

Description

void mqseries_conn ( string $qManagerName , resource &$hconn , resource &$compCode , resource &$reason )

mqseries_conn() établit la connexion avec le gestionnaire de queues. Il fournit une ressource de connexion, qui est utilisée par les autres fonctions de l'extension.

Liste de paramètres

qManagerName

Nom du gestionnaire de queues.

Nom du gestionnaire de queues avec qui l'application veut se connecter.

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_conn()

<?php
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("conn CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Voir aussi

  • mqseries_disc() - MQSeries MQDISC

mqseries_cmit
mqseries_connx
mqseries Fonctions


MQSeries MQCONNX

mqseries_conn
mqseries_disc
mqseries Fonctions
PHP Manual

mqseries_connx

(PECL mqseries >= 0.10.0)

mqseries_connx — MQSeries MQCONNX

Description

void mqseries_connx ( string $qManagerName , array &$connOptions , resource &$hconn , resource &$compCode , resource &$reason )

mqseries_connx() établit la connexion avec gestionnaire de queues. Il fournit une ressource de connexionm qui est utilisée par les autres fonctions de l'extension.

Liste de paramètres

qManagerName

Nom du gestionnaire de queues.

Nom du gestionnaire de queues avec qui l'application veut se connecter.

connOps

Options qui contrôle les actions de la fonction

Voir aussi la structure MQCNO.

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_connx()

<?php
    $mqcno = array(
        'Version' => MQSERIES_MQCNO_VERSION_2,
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array('ChannelName' => 'MQNX9420.CLIENT',
        'ConnectionName' => 'localhost',
        'TransportType' => MQSERIES_MQXPT_TCP)
    );

    mqseries_connx('MQNX9420', $mqcno, $conn, $comp_code,$reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }

?>

Voir aussi

  • mqseries_disc() - MQSeries MQDISC

mqseries_conn
mqseries_disc
mqseries Fonctions


MQSeries MQDISC

mqseries_connx
mqseries_get
mqseries Fonctions
PHP Manual

mqseries_disc

(PECL mqseries >= 0.10.0)

mqseries_disc — MQSeries MQDISC

Description

void mqseries_disc ( resource $hconn , resource &$compCode , resource &$reason )

mqseries_disc() ferme la connexion entre le gestionnaire de queues et l'application. C'est l'inverse de mqseries_conn() et mqseries_connx().

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_disc()

<?php
    mqseries_disc($conn, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("disc CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }
?>

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX

mqseries_connx
mqseries_get
mqseries Fonctions


MQSeries MQGET

mqseries_disc
mqseries_inq
mqseries Fonctions
PHP Manual

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_get — MQSeries MQGET

Description

void mqseries_get ( resource $hConn , resource $hObj , array &$md , array &$gmo , int &$bufferLength , string &$msg , int &$data_length , resource &$compCode , resource &$reason )

mqseries_get() lit un message dans une queue locale, qui a été ouverte avec la fonction mqseries_open().

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

hObj

Object handle.

Cette ressource représente l'objet à utiliser.

md

Ressource de message (MQMD).

gmo

Options de message

bufferLength

Taille attendue du buffer de résultat

msg

Buffer contenant le message lu depuis l'objet.

data_length

Taille réelle du buffer

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_get()

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup empty message descriptor.
    $mdg = array();
// setup get message options
    $gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);

// get the message from the queueu
    mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
    }

 // open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

?>

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_put() - MQSeries MQPUT

mqseries_disc
mqseries_inq
mqseries Fonctions


MQSeries MQINQ

mqseries_get
mqseries_open
mqseries Fonctions
PHP Manual

mqseries_inq

(PECL mqseries >= 0.10.0)

mqseries_inq — MQSeries MQINQ

Description

void mqseries_inq ( resource $hconn , resource $hobj , int $selectorCount , array $selectors , int $intAttrCount , resource &$intAttr , int $charAttrLength , resource &$charAttr , resource &$compCode , resource &$reason )

mqseries_inq() retourne un tableau d'entiers et un jeu de chaînes de caractères qui représentent un objet.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

hObj

Object handle.

Cette ressource représente l'objet à utiliser.

selectorCount

Nombre de sélecteurs.

selectors

Tableau d'attributs de sélecteurs.

intAttrLength

Nombre d'attributs entiers.

intAttr

Tableau d'attributs entiers.

charAttrLength

Taille du buffer d'attributs de caractère.

charAttr

Attribut de caractère.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_inq()

<?php
    $int_attr = array();
    $char_attr = "";

    mqseries_inq($conn, $obj, 1, array(MQSERIES_MQCA_Q_MGR_NAME), 0, $int_attr, 48, $char_attr, $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("INQ CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    } else {
        echo "INQ QManager name result ".$char_attr."<br>\n";
    }
?>

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN

mqseries_get
mqseries_open
mqseries Fonctions


MQSeries MQOPEN

mqseries_inq
mqseries_put1
mqseries Fonctions
PHP Manual

mqseries_open

(PECL mqseries >= 0.10.0)

mqseries_open — MQSeries MQOPEN

Description

void mqseries_open ( resource $hconn , array &$objDesc , int $option , resource &$hobj , resource &$compCode , resource &$reason )

mqseries_open() établit un accès à un objet.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

objDesc

Ressource d'objet

options

Options qui contrôlent les actions de la fonction.

hObj

Object handle.

Cette ressource représente l'objet à utiliser.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_open()

<?php
    $mqods = array('ObjectName' => 'TESTQ');
    mqseries_open(
                $conn,
                $mqods,
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

Voir aussi

  • mqseries_close() - MQSeries MQCLOSE

mqseries_inq
mqseries_put1
mqseries Fonctions


MQSeries MQPUT1

mqseries_open
mqseries_put
mqseries Fonctions
PHP Manual

mqseries_put1

(PECL mqseries >= 0.10.0)

mqseries_put1 — MQSeries MQPUT1

Description

void mqseries_put1 ( resource $hconn , resource &$objDesc , resource &$msgDesc , resource &$pmo , string $buffer , resource &$compCode , resource &$reason )

mqseries_put1() ajoute un message dans la queue. Cette dernière n'a pas besoin d'être ouverte.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

objDesc

Object descriptor. (MQOD)

Cette structure identifie la queue dans laquelle le message sera ajouté.

msgDesc

Ressource de message (MQMD).

pmo

Options d'ajout du message (MQPMO).

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_open
mqseries_put
mqseries Fonctions


MQSeries MQPUT

mqseries_put1
mqseries_set
mqseries Fonctions
PHP Manual

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_put — MQSeries MQPUT

Description

void mqseries_put ( resource $hConn , resource $hObj , array &$md , array &$pmo , string $message , resource &$compCode , resource &$reason )

mqseries_put() ajoute un message dans une queue, ou une liste de distribution. La queue ou la liste de distribution doivent être ouvertes.

Liste de paramètres

hConn

Connection handle.

Cette ressource représente la connexion au manager de queues.

hObj

Object handle.

Cette ressource représente l'objet à utiliser.

md

Ressource de message (MQMD).

pmo

Option d'ajout de message

message

Le message à mettre dans la queue.

compCode

Code de complétion.

reason

La raison qui qualifie le compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec mqseries_put()

<?php
// open connection to the queue manager
    mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connectio to the testq queueu
    mqseries_open(
                $conn,
                array('ObjectName' => 'TESTQ'),
                MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
                $obj,
                $comp_code,
                $reason);
// $obj now holds the reference to the object (TESTQ)

// setup the message descriptor array. Check MQSeries reference manuals.
    $md = array(
                'Version' => MQSERIES_MQMD_VERSION_1,
                'Expiry' => MQSERIES_MQEI_UNLIMITED,
                'Report' => MQSERIES_MQRO_NONE,
                'MsgType' => MQSERIES_MQMT_DATAGRAM,
                'Format' => MQSERIES_MQFMT_STRING,
                'Priority' => 1,
                'Persistence' => MQSERIES_MQPER_PERSISTENT);

// setup the put message options.
    $pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);

// put the message 'Ping' on the queueu.
    mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);

    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
    }

// close the object reference $obj
    mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
    mqseries_disc($conn, $comp_code, $reason);

?>

Voir aussi

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET

mqseries_put1
mqseries_set
mqseries Fonctions


MQSeries MQSET

mqseries_put
mqseries_strerror
mqseries Fonctions
PHP Manual

mqseries_set

(PECL mqseries >= 0.10.0)

mqseries_set — MQSeries MQSET

Description

void mqseries_set ( resource $hconn , resource $hobj , int $selectorcount , array $selectors , int $intattrcount , array $intattrs , int $charattrlength , array $charattrs , resource &$compCode , resource &$reason )

La fonction mqseries_set() sert à changer les attributs d'un objet représenté par une ressource. L'objet doit être une queue.

Liste de paramètres

hConn

Connection handle.

La ressource qui représente la connexion au gestionnaire de queues.

compCode

Code de complétion.

reason

Le code de qualitification du compCode.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • mqseries_inq() - MQSeries MQINQ

mqseries_put
mqseries_strerror
mqseries Fonctions


Retourne le message d'erreur correspondant au code de résultat

mqseries_set
Gopher
mqseries Fonctions
PHP Manual

mqseries_strerror

(PECL mqseries >= 0.10.0)

mqseries_strerror — Retourne le message d'erreur correspondant au code de résultat

Description

string mqseries_strerror ( int $reason )

mqseries_strerror() retourne le message d'erreur correspondant au code de résultat.

Liste de paramètres

reason

La raison qui qualifie le compCode.

Valeurs de retour

La chaîne de représentation de la raison du message d'erreur.

Exemples

Exemple #1 Exemple avec mqseries_strerror()

<?php
    if ($comp_code !== MQSERIES_MQCC_OK) {
        printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
        exit;
    }
?>

L'exemple ci-dessus va afficher :

Connx CompCode:2 Reason:2059 Text:Queue manager not available for connection.

mqseries_set
Gopher
mqseries Fonctions


Net Gopher

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Exemple simple
  • Fonctions Gopher
    • gopher_parsedir — Transpose une entrée d'un dossier formaté gopher dans un tableau associatif
mqseries_strerror
Introduction
Autres services


Introduction

Le protocole gopher, comme définie par la » RFC 1436, est généralement considéré comme l'ancêtre du protocole moderne HTTP. Cependant, gopher a été également conçu pour fournir des références à des ressources non-gopher comme telnet, wais, nntp et, toujours, http. Cette extension ajoute le support gopher aux gestionnaires d'URL, et fournit une fonction utile gopher_parsedir() pour lister les dossiers formatés gopher.

Gopher
Installation/Configuration
Gopher


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gopher


Installation

Prérequis : PHP version 4.3.0 ou supérieure.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/net_gopher

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes Net_Gopher
Constante | Valeur | Description
GOPHER_DOCUMENT | 0 | Document standart text/plain.
GOPHER_DIRECTORY | 1 | Une ressource contenant une liste de dossiers formatée gopher.
GOPHER_BINHEX | 4 | Un fichier binaire encodé BinHex.
GOPHER_DOSBINARY | 5 | Une archive binaire formaté DOS.
GOPHER_UUENCODED | 6 | Un fichier UUEncoded.
GOPHER_BINARY | 9 | Un fichier binaire générique.
GOPHER_INFO | 255 | Une entrée informative.
GOPHER_HTTP | 254 | Une référence vers une ressource HTTP.
GOPHER_UNKNOWN | -1 | Une entrée non reconnue.
Types de ressources
Exemples
Gopher


Exemples

Sommaire

  • Exemple simple
Constantes pré-définies
Exemple simple
Gopher


Exemple simple

<?php
readfile("gopher://gopher.example.com/somedocument");
?>
Exemples
Fonctions Gopher
Exemples


Fonctions Gopher

Sommaire

  • gopher_parsedir — Transpose une entrée d'un dossier formaté gopher dans un tableau associatif
Exemple simple
gopher_parsedir
Gopher


Transpose une entrée d'un dossier formaté gopher dans un tableau associatif

Fonctions Gopher
Réseau
Fonctions Gopher
PHP Manual

gopher_parsedir

(PECL net_gopher >= 0.1)

gopher_parsedir — Transpose une entrée d'un dossier formaté gopher dans un tableau associatif

Description

array gopher_parsedir ( string $dirent )

gopher_parsedir() transpose une entrée d'un dossier formaté gopher dans un tableau associatif.

Gopher retourne des documents text/plain pour les documents demandés. Une requête vers un dossier (comme /) retournera des séries de lignes encodées à chaque ligne est une entrée du dossier ou une ligne d'informations.

Liste de paramètres

dirent

L'entrée du dossier.

Valeurs de retour

Retourne un tableau associatif dont les composants sont :

  • type - Une constante GOPHER_XXX.
  • title - Le nom de la ressource.
  • path - Le chemin vers la ressource.
  • host - Le nom du domaine de l'hôte qui possède ce document (ou dossier).
  • port - Le port de connexion sur l'hôte host.

En cas d'échec, l'entrée additionnelle data du tableau retourné contiendra la ligne analysée.

Exemples

Exemple #1 Affichage hypothétique depuis gopher://gopher.example.com/

0All about my gopher site.               /allabout.txt               gopher.example.com    70
9A picture of my cat.                    /pics/cat.png               gopher.example.com    70
1A collection of my writings.            /stories                    gopher.example.com    70
hThe HTTP version of this site.          URL:http://www.example.com  gopher.example.com    70
1Mirror of this site in Spain.           /                           gopher.ejemplo.co.es  70
iWelcome to my gopher site.                                          error.host            1
iPlease select one of the options above                              error.host            1
iSend complaints to /dev/null                                        error.host            1
iLong live gopher!                                                   error.host            1

Dans l'exemple précédent, le dossier racine de gopher.example.com reconnaît un DOCUMENT identifié par 0 et se trouvant à l'adresse gopher://gopher.example.com:70/allabout.txt. Il reconnaît également deux autres dossiers (qui ont leur propre liste de fichiers) à l'adresse gopher://gopher.exmaple.com:70/stories et à l'adresse gopher://gopher.ejemplo.co.es:70/. Il y a également un fichier binaire, un lien vers une url HTTP et plusieurs lignes d'informations.

En passant chaque ligne du listing de ce dossier à la fonction gopher_parsedir(), un tableau associatif est formé contenant une version analysée des données.

Exemple #2 Exemple avec gopher_parsedir()

<?php

$directory = file("gopher://gopher.example.com");

foreach($directory as $dirent) {
    print_r(gopher_parsedir($dirent));
}
?>

L'exemple ci-dessus va afficher :

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)

Fonctions Gopher
Réseau
Fonctions Gopher


Réseau

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions réseaux
    • checkdnsrr — Résolution DNS d'une adresse IP
    • closelog — Ferme la connexion à l'historique système
    • define_syslog_variables — Initialise toutes les variables relatives aux fonctions syslog
    • dns_check_record — Alias de checkdnsrr
    • dns_get_mx — Alias de getmxrr
    • dns_get_record — Lit les données DNS associées à un hôte
    • fsockopen — Ouvre une socket de connexion Internet ou Unix
    • gethostbyaddr — Retourne le nom d'hôte correspondant à une IP
    • gethostbyname — Retourne l'adresse IPv4 correspondant à un hôte
    • gethostbynamel — Retourne la liste d'IPv4 correspondante à un hôte
    • gethostname — Lit le nom de l'hôte
    • getmxrr — Retourne les enregistrements MX d'un hôte
    • getprotobyname — Retourne le numéro de protocole associé à un nom de protocole
    • getprotobynumber — Retourne le nom de protocole associé à un numéro de protocole
    • getservbyname — Retourne le numéro de port associé à un service Internet et un protocole
    • getservbyport — Retourne le service Internet qui correspond au port et protocole
    • header_remove — Supprime un entête HTTP
    • header — Envoie un en-tête HTTP
    • headers_list — Retourne la liste des en-têtes de réponse du script courant
    • headers_sent — Indique si les en-têtes HTTP ont déjà été envoyés
    • inet_ntop — Convertit un paquet d'adresses internet en une représentation humainement lisible
    • inet_pton — Convertit une adresse IP lisible en sa représentation in_addr
    • ip2long — Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale
    • long2ip — Convertit une adresse IP (IPv4) en adresse IP numérique
    • openlog — Ouvre la connexion à l'historique système
    • pfsockopen — Ouvre une socket de connexion Internet ou Unix persistante
    • setcookie — Envoie un cookie
    • setrawcookie — Envoie un cookie sans encoder sa valeur en URL
    • socket_get_status — Alias de stream_get_meta_data
    • socket_set_blocking — Alias de stream_set_blocking
    • socket_set_timeout — Alias de stream_set_timeout
    • syslog — Génère un message dans l'historique système
gopher_parsedir
Introduction
Autres services


Introduction

Fournit diverses fonctions réseaux.

Réseau
Installation/Configuration
Réseau


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Réseau


Pré-requis

Les fonctions checkdnsrr(), getmxrr() et dns_get_record() nécessitent Bind sous Linux.

Installation/Configuration
Installation
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour le réseau
Nom | Défaut | Modifiable | Historique
define_syslog_variables | "0" | PHP_INI_ALL | Obsolète en PHP 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

define_syslog_variables booléen

Définit s'il faut ou pas définir les différentes variables de syslog, (e.g. $LOG_PID, $LOG_CRON, etc.). Éteindre cette fonctionnalité est recommandé pour les performances. Durant l'exécution, vous pouvez définir ces variables en appelant define_syslog_variables().

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit une ressource de pointeur de fichier, retourné par les fonctions fsockopen() et pfsockopen().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Les constantes listées ici sont toujours disponibles dans PHP.

Options de openlog()
Constante | Description
LOG_CONS | S'il y a une erreur lors de l'envoi de données au système d'historique, l'erreur sera écrite directement sur la console système.
LOG_NDELAY | Ouvre la connexion à l'historique immédiatement
LOG_ODELAY | (par défaut) retarde l'ouverture de la connexion jusqu'à ce que le premier message soit archivé
LOG_NOWAIT |
LOG_PERROR | Affiche aussi le message sur la sortie standard
LOG_PID | Ajoute le PID dans chaque message
Facilité de syslog()
Constante | Description
LOG_AUTH | sécurité/autorisation message (utilisez LOG_AUTHPRIV à la place sur les systèmes où cette constante n'est pas définie)
LOG_AUTHPRIV | sécurité/autorisation message (privé)
LOG_CRON | démon de temps (cron et at)
LOG_DAEMON | autres démons systèmes
LOG_KERN | messages noyau
LOG_LOCAL0 ... LOG_LOCAL7 | réservées pour une utilisation locale, elles ne sont pas disponibles sous Windows
LOG_LPR | imprimante système
LOG_MAIL | système de mail
LOG_NEWS | système de news USENET
LOG_SYSLOG | messages générés en interne par le démon syslogd
LOG_USER | messages génériques utilisateurs
LOG_UUCP | système UUCP
Priorités de syslog() (en ordre décroissant)
Constante | Description
LOG_EMERG | Le système est inutilisable
LOG_ALERT | Une mesure doit être prise immédiatement
LOG_CRIT | Conditions critiques
LOG_ERR | Erreurs
LOG_WARNING | Alertes
LOG_NOTICE | Notes (normales mais significatives)
LOG_INFO | Message d'informations
LOG_DEBUG | Message de déboguage
Options dns_get_record()
Constante | Description
DNS_A | Adresse IPv4
DNS_MX | Champs serveur Mail (MX)
DNS_CNAME | Champs alias (Nom canonique) (A)
DNS_NS | Champs de serveur autorité (NS)
DNS_PTR | Champs de pointeur (PTR)
DNS_HINFO | Champs d'informations d'hôte (HINFO) (voir la » Operating System Names pour la signification de ces valeurs)
DNS_SOA | Champs de délégation d'autorité (SOA)
DNS_TXT | Texte
DNS_ANY | Tous les champs. Sur la plupart des systèmes, cela retourne tous les champs, mais il ne faut pas s'y fier. Utilisez DNS_ALL.
DNS_AAAA | Adresse IPv6
DNS_ALL | Sollicite itérativement le serveur pour chaque type de champ.
Types de ressources
Fonctions réseaux
Réseau


Fonctions réseaux

Sommaire

  • checkdnsrr — Résolution DNS d'une adresse IP
  • closelog — Ferme la connexion à l'historique système
  • define_syslog_variables — Initialise toutes les variables relatives aux fonctions syslog
  • dns_check_record — Alias de checkdnsrr
  • dns_get_mx — Alias de getmxrr
  • dns_get_record — Lit les données DNS associées à un hôte
  • fsockopen — Ouvre une socket de connexion Internet ou Unix
  • gethostbyaddr — Retourne le nom d'hôte correspondant à une IP
  • gethostbyname — Retourne l'adresse IPv4 correspondant à un hôte
  • gethostbynamel — Retourne la liste d'IPv4 correspondante à un hôte
  • gethostname — Lit le nom de l'hôte
  • getmxrr — Retourne les enregistrements MX d'un hôte
  • getprotobyname — Retourne le numéro de protocole associé à un nom de protocole
  • getprotobynumber — Retourne le nom de protocole associé à un numéro de protocole
  • getservbyname — Retourne le numéro de port associé à un service Internet et un protocole
  • getservbyport — Retourne le service Internet qui correspond au port et protocole
  • header_remove — Supprime un entête HTTP
  • header — Envoie un en-tête HTTP
  • headers_list — Retourne la liste des en-têtes de réponse du script courant
  • headers_sent — Indique si les en-têtes HTTP ont déjà été envoyés
  • inet_ntop — Convertit un paquet d'adresses internet en une représentation humainement lisible
  • inet_pton — Convertit une adresse IP lisible en sa représentation in_addr
  • ip2long — Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale
  • long2ip — Convertit une adresse IP (IPv4) en adresse IP numérique
  • openlog — Ouvre la connexion à l'historique système
  • pfsockopen — Ouvre une socket de connexion Internet ou Unix persistante
  • setcookie — Envoie un cookie
  • setrawcookie — Envoie un cookie sans encoder sa valeur en URL
  • socket_get_status — Alias de stream_get_meta_data
  • socket_set_blocking — Alias de stream_set_blocking
  • socket_set_timeout — Alias de stream_set_timeout
  • syslog — Génère un message dans l'historique système
Constantes pré-définies
checkdnsrr
Réseau


Résolution DNS d'une adresse IP

Fonctions réseaux
closelog
Fonctions réseaux
PHP Manual

checkdnsrr

(PHP 4, PHP 5)

checkdnsrr — Résolution DNS d'une adresse IP

Description

bool checkdnsrr ( string $host [, string $type = "MX" ] )

Recherche l'enregistrement DNS de type type correspondant à l'hôte host.

Liste de paramètres

host

host peut être soit une adresse IP au format numérique, soit un nom d'hôte.

type

type peut être l'une des valeurs suivantes : A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT ou ANY.

Valeurs de retour

Retourne TRUE si un enregistrement a été trouvé, et FALSE en cas d'erreur ou si aucun enregistrement n'a été trouvé.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.
5.2.4 | Le type TXT a été ajouté.
5.0.0 | Le type AAAA a été ajouté.

Notes

Note: Pour une compatibilité avec Windows avant son implémentation, essayez la classe » PEAR : » Net_DNS.

Voir aussi

  • dns_get_record() - Lit les données DNS associées à un hôte
  • getmxrr() - Retourne les enregistrements MX d'un hôte
  • gethostbyaddr() - Retourne le nom d'hôte correspondant à une IP
  • gethostbyname() - Retourne l'adresse IPv4 correspondant à un hôte
  • gethostbynamel() - Retourne la liste d'IPv4 correspondante à un hôte
  • la page du manuel man named(8)

Fonctions réseaux
closelog
Fonctions réseaux


Ferme la connexion à l'historique système

checkdnsrr
define_syslog_variables
Fonctions réseaux
PHP Manual

closelog

(PHP 4, PHP 5)

closelog — Ferme la connexion à l'historique système

Description

bool closelog ( void )

closelog() ferme le pointeur qui sert à écrire dans l'historique système. L'utilisation de closelog() est optionnelle.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • syslog() - Génère un message dans l'historique système
  • openlog() - Ouvre la connexion à l'historique système

checkdnsrr
define_syslog_variables
Fonctions réseaux


Initialise toutes les variables relatives aux fonctions syslog

closelog
dns_check_record
Fonctions réseaux
PHP Manual

define_syslog_variables

(PHP 4, PHP 5)

define_syslog_variables — Initialise toutes les variables relatives aux fonctions syslog

Description

void define_syslog_variables ( void )

Initialise toutes les variables utilisées dans les fonctions syslog.

Valeurs de retour

Aucune valeur n'est retournée.

Variables Syslog
Variable | Valeur de la constante | Signification | Notes
$LOG_EMERG | LOG_EMERG | Le système n'est pas utilisable |
$LOG_ALERT | LOG_ALERT | Une action immédiate est requise |
$LOG_CRIT | LOG_CRIT | Conditions critiques |
$LOG_ERR | LOG_ERR |  |
$LOG_WARNING | LOG_WARNING |  |
$LOG_NOTICE | LOG_NOTICE |  |
$LOG_INFO | LOG_INFO |  |
$LOG_DEBUG | LOG_DEBUG |  |
$LOG_KERN | LOG_KERN |  |
$LOG_USER | LOG_USER | Niveau utilisateur générique |
$LOG_MAIL | LOG_MAIL | Enregistre au niveau email |
$LOG_DAEMON | LOG_DAEMON | Autres démons systèmes |
$LOG_AUTH | LOG_AUTH |  |
$LOG_SYSLOG | LOG_SYSLOG |  | Non disponible sous Netware
$LOG_LPR | LOG_LPR |  |
$LOG_NEWS | LOG_NEWS | Nouvelle Usenet | Non disponible sous HP-UX
$LOG_CRON | LOG_CRON |  | Non disponible sous toutes les plateformes
$LOG_AUTHPRIV | LOG_AUTHPRIV |  | Non disponible sous AIX
$LOG_LOCAL0 | LOG_LOCAL0 |  | Non disponible sous Windows et Netware
$LOG_LOCAL1 | LOG_LOCAL1 |  | Non disponible sous Windows et Netware
$LOG_LOCAL2 | LOG_LOCAL2 |  | Non disponible sous Windows et Netware
$LOG_LOCAL3 | LOG_LOCAL3 |  | Non disponible sous Windows et Netware
$LOG_LOCAL4 | LOG_LOCAL4 |  | Non disponible sous Windows et Netware
$LOG_LOCAL5 | LOG_LOCAL5 |  | Non disponible sous Windows et Netware
$LOG_LOCAL6 | LOG_LOCAL6 |  | Non disponible sous Windows et Netware
$LOG_LOCAL7 | LOG_LOCAL7 |  | Non disponible sous Windows et Netware
$LOG_PID | LOG_PID |  |
$LOG_CONS | LOG_CONS |  |
$LOG_ODELAY | LOG_ODELAY |  |
$LOG_NDELAY | LOG_NDELAY |  |
$LOG_NOWAIT | LOG_NOWAIT |  | Non disponible sous BeOS
$LOG_PERROR | LOG_PERROR |  | Non disponible sous AIX
Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Exemples

Exemple #1 Exemple avec define_syslog_variables()

<?php
// Vérifie si les variables syslog sont définies
if(!get_cfg_var('define_syslog_variables'))
{
    define_syslog_variables();
}

// Ouverture de l'historique
openlog('', $LOG_ODELAY, $LOG_MAIL | $LOG_USER);

// On continue le script ...
?>

Historique

Version | Description
5.3.0 | Cette fonction lance maintenant des alertes de type E_DEPRECATED.

Voir aussi

  • openlog() - Ouvre la connexion à l'historique système
  • syslog() - Génère un message dans l'historique système
  • closelog() - Ferme la connexion à l'historique système

closelog
dns_check_record
Fonctions réseaux


Alias de checkdnsrr

define_syslog_variables
dns_get_mx
Fonctions réseaux
PHP Manual

dns_check_record

(PHP 5)

dns_check_record — Alias de checkdnsrr()

Description

Cette fonction est un alias de : checkdnsrr().

define_syslog_variables
dns_get_mx
Fonctions réseaux


Alias de getmxrr

dns_check_record
dns_get_record
Fonctions réseaux
PHP Manual

dns_get_mx

(PHP 5)

dns_get_mx — Alias de getmxrr()

Description

Cette fonction est un alias de : getmxrr().

dns_check_record
dns_get_record
Fonctions réseaux


Lit les données DNS associées à un hôte

dns_get_mx
fsockopen
Fonctions réseaux
PHP Manual

dns_get_record

(PHP 5)

dns_get_record — Lit les données DNS associées à un hôte

Description

array dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl ]]] )

Lit les données DNS associées à l'hôte hostname.

Liste de paramètres

hostname

hostname doit être un nom d'hôte DNS valide, comme www.example.com. Des résolutions inversées peuvent être faites avec la notation in-addr.arpa, mais la fonction gethostbyaddr() est plus efficace pour faire des résolutions inverses.

Note: En terme de standards DNS, les adresses email sont données au format utilisateur.hote (par exemple : webmestre.example.com au contraire du format webmestre@example.com). N'oubliez pas de vérifier cette adresse et de la modifier si nécessaire avant de la passer à la fonction mail().

type

Par défaut, dns_get_record() va rechercher toutes les ressources associées à hostname. Pour limiter la taille de la requête, le paramètre optionnel type peut prendre l'une des valeurs constantes suivantes : DNS_A, DNS_CNAME, DNS_HINFO, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL ou DNS_ANY.

Note: À cause des performances excentriques de la bibliothèque libresolv, suivant les plates-formes, DNS_ANY ne retournera pas toujours tous les enregistrements, et l'option DNS_ALL, bien que plus lente, le fera de manière plus sûre.

authns

Passé par référence, et, s'il est fourni, recevra les enregistrements de ressources pour les Authoritative Name Servers.

addtl

Passé par référence, et, s'il est fourni, recevra tous les enregistrements supplémentaires.

Valeurs de retour

dns_get_record retourne un tableau de tableaux associatifs, ou FALSE si une erreur survient. Chaque tableau contient au minimum les index suivants :

Attributs de base DNS
Attribut | Signification
host | L'enregistrement de l'espace de nom DNS qui est décrit par les autres données.
class | dns_get_record() ne retourne que la classe d'enregistrement Internet et, en tant que tel, cet index vaudra toujours IN.
type | Chaîne de caractère contenant le type d'enregistrement. Des attributs supplémentaires seront aussi disponibles dans le tableau suivant la valeur de ce type. Reportez-vous à la table ci-dessous.
ttl | "Time To Live" : durée avant expiration de l'enregistrement. Cette valeur est différente de la durée avant expiration originale, mais plutôt cette valeur moins la durée depuis la dernière interrogation du serveur DNS responsable.

Autres index disponibles suivant le type DNS
Type | Valeur supplémentaire
A | ip: une adresse IPv4, au format numérique.
MX | pri : priorité du serveur de mail. Les nombres faibles indiquent une priorité importante. target : FQDN du serveur de mail. Voir aussi dns_get_mx().
CNAME | target : FQDN du nom de l'espace DNS qui sert d'alias à cet enregistrement.
NS | target : FQDN du nom de serveur qui est responsable de ce nom de domaine.
PTR | target : nom de domaine vers lequel cet enregistrement
TXT | txt : chaîne de caractères arbitrairement associée à cet enregistrement.
HINFO | cpu : numéro IANA désignant le processeur de la machine référencée par cet enregistrement. os : numéro IANA désignant le système d'exploitation de la machine référencée par cet enregistrement. Voir » Operating System Names pour connaître la signification de ces valeurs.
SOA | mname : FQDN de la source de cet enregistrement. rname : adresse email du contact administratif de ce domaine. serial : numéro de série du nom de domaine. refresh : intervalle de rafraîchissement (en secondes) que les serveurs de noms secondaires doivent utiliser pour mettre en cache ce nom de domaine. retry : durée (en secondes) d'attente après un rafraîchissement échoué, avant de faire une seconde tentative. expire : durée maximale (en secondes) de conservation d'une copie des données de zone sans pouvoir faire de rafraîchissement. minimum-ttl : durée minimale (en secondes) pendant laquelle un client conserve des données de zone avant qu'il ne soumette une nouvelle requête. Cette configuration peut être annulée par d'autres enregistrements.
AAAA | ipv6: adresse IPv6
A6(PHP >= 5.1.0) | masklen : longueur (en octets) à hériter depuis la cible spécifiée par chain. ipv6 : adresse pour que cet enregistrement spécifique fusionne avec chain. chain : l'enregistrement parent à fusionner avec les données ipv6.
SRV | pri : (priorité) les priorités les plus basses doivent être utilisées en premier. weight : classement pour choisir aléatoirement parmi les serveurs targets. target et port : nom d'hôte et port où le service est disponible. Pour plus d'informations, voir : » RFC 2782
NAPTR | order et pref : équivalent à pri et weight ci-dessus. flags, services, regex, et replacement : paramètres tels que définis dans la » RFC 2915.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.

Exemples

Exemple #1 Exemple avec dns_get_record()

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Exemple #2 Exemple avec dns_get_record() et DNS_ANY

Comme il est très courant de rechercher l'IP d'un serveur, une fois que le champ MX a été résolu, dns_get_record() retournera aussi un tableau dans le paramètre addtl qui contiendra les enregistrements associés. authns est aussi retourné en contenant une liste des serveurs autorité.

<?php
/* Demande tous ("ANY") les enregistrements pour php.net,
   puis crée les tableaus $authns et $addtl
   contenant une liste des noms de serveurs, et tous
   les enregistrements qui vont avec
   */
$result = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Notes

Note: Pour une compatibilité avec les versions non supportées, comme sur les systèmes *BSD (incluant Mac), utilisez la classe » PEAR » Net_DNS.

Voir aussi

  • dns_get_mx() - Alias de getmxrr
  • dns_check_record() - Alias de checkdnsrr

dns_get_mx
fsockopen
Fonctions réseaux


Ouvre une socket de connexion Internet ou Unix

dns_get_record
gethostbyaddr
Fonctions réseaux
PHP Manual

fsockopen

(PHP 4, PHP 5)

fsockopen — Ouvre une socket de connexion Internet ou Unix

Description

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Initialise une connexion par socket à la ressource spécifiée par hostname.

PHP supporte les cibles dans les domaines Internet et Unix comme décrit dans Liste des modes de transport de sockets disponibles. Une liste des types de transports peut également être trouvée en utilisant la fonction stream_get_transports().

La socket sera ouverte par défaut en mode bloquant. Vous pouvez changer de mode en utilisant : stream_set_blocking().

Liste de paramètres

hostname

Si vous avez compilé le support OpenSSL, vous pouvez préfixer le paramètre hostname avec soit 'ssl://' soit 'tls://' pour utiliser une connexion SSL ou TLS avec le client à travers TCP/IP pour connecter l'hôte distant.

port

Le numéro du port.

errno

Si fourni, contient le numéro de l'erreur système qui survient lors de l'appel système à connect().

Si la valeur retournée par errno est 0 et que la fonction retourne FALSE, ce peut être une indication laissant penser que l'erreur est survenue avant l'appel à connect(). La plupart du temps, cela est du à un problème d'initialisation du socket.

errstr

Le message d'erreur, sous la forme d'une chaîne de caractères.

timeout

Le délai d'attente maximal, en secondes.

Note: Si vous avez besoin de définir un délai limite pour lire/écrire des données à travers cette socket, utilisez la fonction stream_set_timeout(), comme le paramètre timeout de la fonction fsockopen() uniquement appliqué lors de la connexion de la socket.

Valeurs de retour

fsockopen() retourne un pointeur de fichier qui peut être utilisé avec d'autres fonctions fichiers, telles fgets(), fgetss(), fputs(), fclose() et feof(). Si l'appel échoue, la fonction retourne FALSE.

Erreurs / Exceptions

Lance une alerte de type E_WARNING si le paramètre hostname n'est pas un domaine valide.

Historique

Version | Description
4.3.0 | Ajout du support du paramètre timeout sous les systèmes win32.
4.3.0 | Ajout du support SSL et TLS via TCP/IP.

Exemples

Exemple #1 Exemple avec fsockopen()

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

Exemple #2 Utilisation d'une connexion UDP

L'exemple ci-dessous décrit comment lire la date et l'heure grâce à un service UDP "daytime" (port 13), sur votre propre machine.

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERREUR : $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Notes

Note: Suivant les environnements, le type 'domaine Unix' ou l'option timeout ne sont pas toujours disponibles.

Avertissement

Les sockets UDP semblent quelques fois avoir été ouvertes sans erreur, même si l'hôte distant n'est pas accessible. L'erreur apparaît alors uniquement lorsque vous tentez de lire/écrire sur la socket. La raison de cela est que UDP est un protocole "connectionless", ce qui signifie que le système ne tentera pas d'établir un lien pour la socket tant qu'il ne doit pas recevoir/envoyer de données.

Note: Lors de la spécification d'adresses IPv6 au format numérique (e.g. fe80::1) vous devez placer l'adresse IP entre crochets. Par exemple : tcp://[fe80::1]:80.

Voir aussi

  • pfsockopen() - Ouvre une socket de connexion Internet ou Unix persistante
  • stream_set_blocking() - Configure le mode bloquant d'un flux
  • stream_set_timeout() - Configure la durée d'expiration d'un flux
  • fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
  • fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
  • fwrite() - Écrit un fichier en mode binaire
  • fclose() - Ferme un fichier
  • feof() - Teste la fin du fichier
  • L'extension Curl

dns_get_record
gethostbyaddr
Fonctions réseaux


Retourne le nom d'hôte correspondant à une IP

fsockopen
gethostbyname
Fonctions réseaux
PHP Manual

gethostbyaddr

(PHP 4, PHP 5)

gethostbyaddr — Retourne le nom d'hôte correspondant à une IP

Description

string gethostbyaddr ( string $ip_address )

gethostbyaddr() retourne le nom d'hôte correspondant à l'IP ip_address.

Liste de paramètres

ip_address

L'adresse IP de l'hôte.

Valeurs de retour

Retourne le nom de l'hôte ou l'adresse IP non modifiée en cas d'échec.

Exemples

Exemple #1 Exemple avec gethostbyaddr()

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>

Voir aussi

  • gethostbyname() - Retourne l'adresse IPv4 correspondant à un hôte
  • gethostbynamel() - Retourne la liste d'IPv4 correspondante à un hôte

fsockopen
gethostbyname
Fonctions réseaux


Retourne l'adresse IPv4 correspondant à un hôte

gethostbyaddr
gethostbynamel
Fonctions réseaux
PHP Manual

gethostbyname

(PHP 4, PHP 5)

gethostbyname — Retourne l'adresse IPv4 correspondant à un hôte

Description

string gethostbyname ( string $hostname )

Retourne l'adresse IPv4 correspondant à l'hôte hostname.

Liste de paramètres

hostname

Le nom de l'hôte.

Valeurs de retour

Retourne l'adresse IPv4, ou une chaîne contenant le nom d'hôte inchangé en cas d'échec.

Exemples

Exemple #1 Exemple avec gethostbyname()

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Voir aussi

  • gethostbyaddr() - Retourne le nom d'hôte correspondant à une IP
  • gethostbynamel() - Retourne la liste d'IPv4 correspondante à un hôte
  • inet_pton() - Convertit une adresse IP lisible en sa représentation in_addr
  • inet_ntop() - Convertit un paquet d'adresses internet en une représentation humainement lisible

gethostbyaddr
gethostbynamel
Fonctions réseaux


Retourne la liste d'IPv4 correspondante à un hôte

gethostbyname
gethostname
Fonctions réseaux
PHP Manual

gethostbynamel

(PHP 4, PHP 5)

gethostbynamel — Retourne la liste d'IPv4 correspondante à un hôte

Description

array gethostbynamel ( string $hostname )

Retourne la liste d'IPv4 correspondant à l'hôte hostname.

Liste de paramètres

hostname

Le nom de l'hôte.

Valeurs de retour

Retourne un tableau d'adresses IPv4, ou FALSE si hostname n'a pu être résolu.

Exemples

Exemple #1 Exemple avec gethostbynamel()

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => 192.0.34.166
)

Voir aussi

  • gethostbyname() - Retourne l'adresse IPv4 correspondant à un hôte
  • gethostbyaddr() - Retourne le nom d'hôte correspondant à une IP
  • checkdnsrr() - Résolution DNS d'une adresse IP
  • getmxrr() - Retourne les enregistrements MX d'un hôte
  • La page du manuel named(8)

gethostbyname
gethostname
Fonctions réseaux


Lit le nom de l'hôte

gethostbynamel
getmxrr
Fonctions réseaux
PHP Manual

gethostname

(PHP >= 5.3.0)

gethostname — Lit le nom de l'hôte

Description

string gethostname ( void )

gethostname() lit le nom d'hôte standard pour la machine hôte.

Valeurs de retour

Retourne une chaîne avec le nom d'hôte, en cas de succès et sinon FALSE.

Exemples

Exemple #1 Exemple avec gethostname()

<?php
echo gethostname(); // doit afficher i.e : sandie

// Ou, une option qui fonctionne également avant PHP 5.3
echo php_uname('n'); // doit afficher i.e : sandie
?>

Voir aussi

  • gethostbyname() - Retourne l'adresse IPv4 correspondant à un hôte
  • gethostbyaddr() - Retourne le nom d'hôte correspondant à une IP
  • php_uname() - Retourne les informations sur le système d'exploitation

gethostbynamel
getmxrr
Fonctions réseaux


Retourne les enregistrements MX d'un hôte

gethostname
getprotobyname
Fonctions réseaux
PHP Manual

getmxrr

(PHP 4, PHP 5)

getmxrr — Retourne les enregistrements MX d'un hôte

Description

bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )

Effectue une recherche DNS pour obtenir les enregistrements MX de l'hôte hostname.

Liste de paramètres

hostname

Le nom d'hôte Internet.

mxhosts

La liste des enregistrements MX est placée dans le tableau mxhosts.

weight

Si le tableau weight est fourni, il sera rempli par les informations de poids.

Valeurs de retour

Retourne TRUE si des enregistrements sont trouvés, et FALSE si une erreur est rencontrée, ou si la recherche échoue.

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sous Windows.

Notes

Note: Cette fonction ne doit pas être utilisée à des fin de vérification d'adresses. Seuls les serveurs de mails trouvés dans les enregistrements DNS sont retournés. Suivant la » RFC 2821 lorsque aucun serveur de mail n'est listé, hostname doit être utilisé comme serveur de mail, avec la priorité 0.

Note: Pour une compatibilité avec les versions non supportées, utilisez la classe » PEAR : » Net_DNS.

Voir aussi

  • checkdnsrr() - Résolution DNS d'une adresse IP
  • dns_get_record() - Lit les données DNS associées à un hôte
  • gethostbyname() - Retourne l'adresse IPv4 correspondant à un hôte
  • gethostbynamel() - Retourne la liste d'IPv4 correspondante à un hôte
  • gethostbyaddr() - Retourne le nom d'hôte correspondant à une IP
  • la page du manuel named(8)

gethostname
getprotobyname
Fonctions réseaux


Retourne le numéro de protocole associé à un nom de protocole

getmxrr
getprotobynumber
Fonctions réseaux
PHP Manual

getprotobyname

(PHP 4, PHP 5)

getprotobyname — Retourne le numéro de protocole associé à un nom de protocole

Description

int getprotobyname ( string $name )

getprotobyname() retourne le numéro de protocole associé avec le nom de protocole name, comme dans /etc/protocols.

Liste de paramètres

name

Le nom du protocole.

Valeurs de retour

Retourne le numéro du protocole, ou -1 si le protocole n'est pas trouvé.

Exemples

Exemple #1 Exemple avec getprotobyname()

<?php
$protocol = 'tcp';
$get_prot = getprotobyname($protocol);
if ($get_prot == -1) {
    echo 'Protocole invalide';
} else {
    echo 'Protocole #' . $get_prot;
}
?>

Voir aussi

  • getprotobynumber() - Retourne le nom de protocole associé à un numéro de protocole

getmxrr
getprotobynumber
Fonctions réseaux


Retourne le nom de protocole associé à un numéro de protocole

getprotobyname
getservbyname
Fonctions réseaux
PHP Manual

getprotobynumber

(PHP 4, PHP 5)

getprotobynumber — Retourne le nom de protocole associé à un numéro de protocole

Description

string getprotobynumber ( int $number )

getprotobynumber() retourne le nom de protocole associé avec le numéro de protocole name, comme dans /etc/protocols.

Liste de paramètres

number

Le numéro du protocole.

Valeurs de retour

Retourne le nom du protocole, sous la forme d'une chaîne de caractères.

Voir aussi

  • getprotobyname() - Retourne le numéro de protocole associé à un nom de protocole

getprotobyname
getservbyname
Fonctions réseaux


Retourne le numéro de port associé à un service Internet et un protocole

getprotobynumber
getservbyport
Fonctions réseaux
PHP Manual

getservbyname

(PHP 4, PHP 5)

getservbyname — Retourne le numéro de port associé à un service Internet et un protocole

Description

int getservbyname ( string $service , string $protocol )

getservbyname() retourne le numéro de port associé au service service et au protocole protocol, comme dans /etc/services.

Liste de paramètres

service

Le nom du service Internet, sous la forme d'une chaîne de caractères.

protocol

protocol vaut soit "tcp", soit "udp" (en minuscule).

Valeurs de retour

Retourne le numéro du port, ou FALSE si service ou protocol n'est pas trouvé.

Exemples

Exemple #1 Exemple avec getservbyname()

<?php
$services = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($services as $service) {
    $port = getservbyname($service, 'tcp');
    echo $service . ": " . $port . "<br />\n";
}
?>

Voir aussi

  • getservbyport() - Retourne le service Internet qui correspond au port et protocole
  • » http://www.iana.org/assignments/port-numbers pour une liste complète des numéros de port.

getprotobynumber
getservbyport
Fonctions réseaux


Retourne le service Internet qui correspond au port et protocole

getservbyname
header_remove
Fonctions réseaux
PHP Manual

getservbyport

(PHP 4, PHP 5)

getservbyport — Retourne le service Internet qui correspond au port et protocole

Description

string getservbyport ( int $port , string $protocol )

getservbyport() cherche le service internet associé au port port pour le protocole protocol comme dans /etc/services.

Liste de paramètres

port

Le numéro du port.

protocol

protocol vaut soit "tcp", soit "udp" (en minuscule).

Valeurs de retour

Retourne le nom du service Internet, sous la forme d'une chaîne de caractères.

Voir aussi

  • getservbyname() - Retourne le numéro de port associé à un service Internet et un protocole

getservbyname
header_remove
Fonctions réseaux


Supprime un entête HTTP

getservbyport
header
Fonctions réseaux
PHP Manual

header_remove

(PHP 5 >= 5.3.0)

header_remove — Supprime un entête HTTP

Description

void header_remove ([ string $name ] )

Supprime un entête HTTP précédemment ajouté avec header().

Liste de paramètres

name

Le nom de l'entête à supprimer.

Note: Ce paramètre est insensible à la casse.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Supprimer un entête HTTP avec header_remove()

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo");
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

X-Bar: Baz

Exemple #2 Supprimer tous les entêtes HTTP avec header_remove()

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Notes

Attention

    Cette fonction va supprimer tous les entêtes
    configuré par PHP, y compris les cookies, les sessions et les entêtes
    X-Powered-By.

Voir aussi

  • header() - Envoie un en-tête HTTP
    •

  • headers_sent() - Indique si les en-têtes HTTP ont déjà été envoyés
    •

getservbyport

header

Fonctions réseaux


Envoie un en-tête HTTP

header_remove
headers_list
Fonctions réseaux
PHP Manual

header

(PHP 4, PHP 5)

header — Envoie un en-tête HTTP

Description

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

header() permet de spécifier l'en-tête HTTP string lors de l'envoi des fichiers HTML. Reportez-vous à » HTTP/1.1 Specification pour plus d'informations sur les en-têtes HTTP.

N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichages PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui produiront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.

<html>
<?php
/* Ceci produira une erreur. Notez la sortie si dessus,
 * qui se trouve avant l'appel à la fonction header() */
header('Location: http://www.example.com/');
?>

Liste de paramètres

string

L'en-tête.

Il y a deux en-têtes spéciaux. Le premier commence par la chaîne "HTTP/" (insensible à la casse), qui est utilisée pour signifier le statut HTTP à envoyer. Par exemple, si vous avez configuré Apache pour utiliser les scripts PHP pour gérer les requêtes vers des fichiers inexistants (en utilisant la directive ErrorDocument), vous voulez-vous assurer que le script génère un code statut correct.

<?php
header("HTTP/1.0 404 Not Found");
?>

Le deuxième type d'appel spécial est "Location:". Non seulement il renvoie un en-tête au client, mais, en plus, il envoie un statut REDIRECT (302) au navigateur tant qu'un code statut 201 ou 3xx n'a pas été envoyé.

<?php
header("Location: http://www.example.com/"); /* Redirection du navigateur */

/* Assurez-vous que la suite du code ne soit pas exécutée une fois la redirection effectuée. */
exit;
?>

replace

Le paramètre optionnel replace indique si la fonction header() doit remplacer un en-tête précédemment émis, ou bien ajouter un autre en-tête du même type. Par défaut, un nouvel en-tête va écraser le précédent, mais si vous passez FALSE dans cet argument, vous pouvez forcer les en-têtes multiples pour un même type d'en-tête. Par exemple :

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

http_response_code

Force le code réponse HTTP à la valeur spécifiée.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
4.4.2 et 5.1.2 | Cette fonction prévient l'envoi de plus d'un en-tête en même temps pour lutter contre les attaques par injection d'en-tête.
4.3.0 | Ajout du paramètre http_response_code.
4.0.4 | Ajout du paramètre replace.

Exemples

Exemple #1 Boîte de téléchargement

Si vous voulez que vos utilisateur recoivent une alerte pour sauver les fichiers générés, comme si vous génériez un fichier PDF, vous pouvez utiliser l'en-tête » Content-Disposition pour fournir un nom de fichier par défaut, à afficher dans le dialogue de sauvegarde.

<?php
// Vous voulez afficher un pdf
header('Content-type: application/pdf');

// Il sera nommé downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// Le source du PDF original.pdf
readfile('original.pdf');
?>

Exemple #2 Directives concernant la mise en cache

Les scripts PHP génèrent souvent du HTML dynamiquement, qui ne doit pas être mis en cache, ni par le client, ni par les proxy intermédiaires. On peut forcer la désactivation du cache de nombreux clients et proxy avec :

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé
?>

Note: Vous pouvez vous rendre compte que vos pages ne sont jamais mises en cache même si vous utilisez tous les en-têtes ci-dessus. Il existe toute une collection de paramètres que les utilisateurs peuvent modifier sur leur navigateur pour modifier le comportement par défaut du cache. En envoyant les en-têtes ci-dessus, vous pouvez imposer vos propres valeurs.
De plus, les paramètres session_cache_limiter() et session.cache_limiter peuvent être utilisés pour générer les en-têtes de caches corrects, lorsque les sessions sont utilisées.

Notes

Note: Vous pouvez utiliser le système de cache (output buffering) pour contourner ce problème. Tous vos textes générés seront mis en buffer sur le serveur jusqu'à ce que vous les envoyiez. Vous pouvez utiliser les fonctions ob_start() et ob_end_flush() dans vos scripts, ou en modifiant la directive de configuration output_buffering dans votre fichier php.ini ou vos fichiers de configuration du serveur.

Note: Le code statut HTTP doit toujours être le premier à être envoyé au client, au regard de l'actuel header() qui peut être le premier ou non. Le statut peut être écrasé en appelant header() avec un nouveau statut à n'importe quel moment même si l'en-tête HTTP a déjà été envoyé.

Note: Il y a un bogue sous Microsoft Internet Explorer 4.01 qui empêche cet en-tête de fonctionner. Il n'y a pas d'autre solution. Il y a aussi un bogue dans Microsoft Internet Explorer 5.5 qui interfère avec ceci, mais qui peut être résolu en utilisant le Service Pack 2 ou plus récent.

Note: Si safe mode est activé, l'UID du script est ajouté à la partie realm des en-têtes WWW-Authenticate que vous envoyez avec cet en-tête.

Note: HTTP/1.1 demande une URI absolue comme argument de » Location:, y compris le protocole, hôte et chemin absolu. Mais certains navigateurs acceptent les URI relatives. Vous pouvez généralement utiliser les variables globales $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] et dirname() pour construire vous-même une URI absolue :

<?php
/* Redirection vers une page différente du même dossier */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

Note: L'ID de session n'est pas passé avec l'en-tête Location même si session.use_trans_sid est activé. Il doit être passé manuellement en utilisant la constante SID.

Voir aussi

  • headers_sent() - Indique si les en-têtes HTTP ont déjà été envoyés
  • setcookie() - Envoie un cookie
  • La section sur l'identification HTTP

header_remove
headers_list
Fonctions réseaux


Retourne la liste des en-têtes de réponse du script courant

header
headers_sent
Fonctions réseaux
PHP Manual

headers_list

(PHP 5)

headers_list — Retourne la liste des en-têtes de réponse du script courant

Description

array headers_list ( void )

headers_list() retourne un tableau avec la liste des en-têtes qui seront transmis au navigateur. Pour déterminer si ces en-têtes ont été déjà envoyés ou pas, utilisez la fonction headers_sent().

Valeurs de retour

Retourne un tableau indexé numériquement d'en-têtes.

Exemples

Exemple #1 Exemple avec headers_list()

<?php

/* setcookie() va ajouter un en-tête */
setcookie('foo', 'bar');

/* Définit un en-tête de réponse
Il sera ignoré par la majorité des navigateurs */
header("X-Sample-Test: foo");

/* Spécification de la réponse en texte simple */
header('Content-type: text/plain');

/* Quels sont les en-têtes qui vont être envoyés ? */
var_dump(headers_list());

?>

L'exemple ci-dessus va afficher :

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

Voir aussi

  • headers_sent() - Indique si les en-têtes HTTP ont déjà été envoyés
  • header() - Envoie un en-tête HTTP
  • setcookie() - Envoie un cookie
  • apache_response_headers() - Récupère tous les en-têtes de réponse HTTP

header
headers_sent
Fonctions réseaux


Indique si les en-têtes HTTP ont déjà été envoyés

headers_list
inet_ntop
Fonctions réseaux
PHP Manual

headers_sent

(PHP 4, PHP 5)

headers_sent — Indique si les en-têtes HTTP ont déjà été envoyés

Description

bool headers_sent ([ string &$file [, int &$line ]] )

Vérifie si les en-têtes HTTP ont déjà été envoyés.

Vous ne pouvez plus envoyer d'en-têtes avec la fonction header() une fois que le bloc d'en-tête a été fermé. En utilisant cette fonction, vous pouvez au moins éviter de voir s'afficher les erreurs HTTP reliées. Une autre option consiste à utiliser le contrôle de sortie.

Liste de paramètres

file

Si les paramètres optionnels file et line sont fournis, headers_sent() va placer le nom du fichier source et le numéro de ligne qui ont débuté l'affichage, dans les variables file et line.

line

Le numéro de la ligne où la sortie a eu lieu.

Valeurs de retour

headers_sent() retourne FALSE si aucun en-tête n'a été envoyé, ou TRUE sinon.

Historique

Version | Description
4.3.0 | Ajout des paramètres optionnels file et line.

Exemples

Exemple #1 Exemple avec headers_sent()

<?php

// Si aucun en-tête n'a été envoyé, envoyons-en un
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// Voici un exemple d'utilisation des paramètres optionnels de fichier et de ligne
// disponibles depuis PHP 4.3.0. Notez que $filename et $linenum sont
// transmis pour utilisation ultérieure. Ne les assignez pas avant de les utiliser.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// Vous allez probablement déclencher une erreur ici
} else {

   echo "Les en-têtes ont déjà été envoyés, depuis le fichier $filename à la ligne $linenum\n" .
   "Il est donc impossible de vous rediriger automatiquement, aussi veuillez
   cliquez <a href=\"http://www.example.com\">ici</a>.\n";
   exit;
}

?>

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • trigger_error() - Déclenche une erreur utilisateur
  • headers_list() - Retourne la liste des en-têtes de réponse du script courant
  • header() - Envoie un en-tête HTTPpour plus de détails sur les tenants et aboutissants.

headers_list
inet_ntop
Fonctions réseaux


Convertit un paquet d'adresses internet en une représentation humainement lisible

headers_sent
inet_pton
Fonctions réseaux
PHP Manual

inet_ntop

(PHP 5 >= 5.1.0)

inet_ntop — Convertit un paquet d'adresses internet en une représentation humainement lisible

Description

string inet_ntop ( string $in_addr )

Convertit une adresse 32 bit IPv4 ou 128 bit IPv6 (si PHP a été compilé avec le support IPv6) en une chaîne représentant une famille d'adresses.

Liste de paramètres

in_addr

Une adresse 32 bit IPv4, ou 128 bit IPv6.

Valeurs de retour

Retourne une représentation de l'adresse, sous la forme d'une chaîne de caractères ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec inet_ntop()

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Affiche : 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Affiche : ::1 */
echo $expanded;
?>

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur les plate-formes Windows.

Voir aussi

  • long2ip() - Convertit une adresse IP (IPv4) en adresse IP numérique
  • ip2long() - Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale
  • inet_pton() - Convertit une adresse IP lisible en sa représentation in_addr

headers_sent
inet_pton
Fonctions réseaux


Convertit une adresse IP lisible en sa représentation in_addr

inet_ntop
ip2long
Fonctions réseaux
PHP Manual

inet_pton

(PHP 5 >= 5.1.0)

inet_pton — Convertit une adresse IP lisible en sa représentation in_addr

Description

string inet_pton ( string $address )

Convertit une adresse IPv4 ou IPv6 (si PHP a été compilé avec le support IPv6) humainement lisible en une structure binaire appropriée de famille d'adresses 32 bit ou 128 bit.

Liste de paramètres

address

Une adresse IPv4 ou IPv6.

Valeurs de retour

Retourne la représentation in_addr de l'adresse fournie par le paramètre address

Exemples

Exemple #1 Exemple avec inet_pton()

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');
?>

Historique

Version | Description
5.3.0 | Cette fonction est maintenant disponible sur les plate-formes Windows.

Voir aussi

  • ip2long() - Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale
  • long2ip() - Convertit une adresse IP (IPv4) en adresse IP numérique
  • inet_ntop() - Convertit un paquet d'adresses internet en une représentation humainement lisible

inet_ntop
ip2long
Fonctions réseaux


Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale

inet_pton
long2ip
Fonctions réseaux
PHP Manual

ip2long

(PHP 4, PHP 5)

ip2long — Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale

Description

int ip2long ( string $ip_address )

Génère une adresse IPv4 à partir de son équivalent numérique.

ip2long() fonctionne également avec des adresses IP incomplètes. Lisez » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm pour plus d'informations.

Liste de paramètres

ip_address

Une adresse au format standard.

Valeurs de retour

Retourne une adresse IPv4, ou FALSE si ip_address est invalide.

Historique

Version | Description
5.2.10 | Avant cette version, ip2long() retourne parfois un nombre valide même si la valeur passée n'est pas une adresse pointée (IPv4).
5.0.0 | Avant cette version, ip2long() retournait -1 en cas d'échec.

Exemples

Exemple #1 Exemple avec ip2long()

<?php
$ip = gethostbyname('www.example.com');
$out = "Les URLS suivantes sont équivalentes :<br />\n";
$out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Exemple #2 Affichage d'une adresse IP

Ce second exemple montre comment afficher une adresse convertie à l'aide de la fonction printf() en PHP 4 et en PHP 5 :

<?php
$ip   = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
    echo 'IP invalide, merci d\'essayer encore';
} else {
    echo $ip   . "\n";           // 192.0.34.166
    echo $long . "\n";           // -1073732954
    printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Exemple #3 Validation d'adresse IP

ip2long() ne devrait pas être utilisée comme seule méthode pour valider une adresse IP. Combinez-la avec long2ip() :

<?php
// s'assure que les IPs sont valides. Convertit également une IP incomplète
// en un format valide comme expliqué plus haut.
$ip = long2ip(ip2long("127.0.0.1")); // "127.0.0.1"
$ip = long2ip(ip2long("10.0.0")); // "10.0.0.0"
$ip = long2ip(ip2long("10.0.256")); // "10.0.1.0"
?>

Notes

Note: Comme les entiers PHP sont signés et que beaucoup d'adresses IP peuvent être des entiers négatifs, vous devez utiliser le formateur "%u" de la fonction sprintf() ou printf() pour récupérer une représentation sous la forme d'une chaîne de caractères pour les adresses IP non signées.

Note: ip2long() devrait retourner FALSE pour l'adresse IP 255.255.255.255 en PHP 5 <= 5.0.2. Ce comportement a été modifié en PHP 5.0.3 où il retournait -1 (comme en PHP 4).

Voir aussi

  • long2ip() - Convertit une adresse IP (IPv4) en adresse IP numérique
  • sprintf() - Retourne une chaîne formatée

inet_pton
long2ip
Fonctions réseaux


Convertit une adresse IP (IPv4) en adresse IP numérique

ip2long
openlog
Fonctions réseaux
PHP Manual

long2ip

(PHP 4, PHP 5)

long2ip — Convertit une adresse IP (IPv4) en adresse IP numérique

Description

string long2ip ( string $proper_address )

long2ip() génère une adresse IP (format aaa.bbb.ccc.ddd) à partir de sa représentation littérale.

Liste de paramètres

proper_address

Une représentation d'une adresse.

Valeurs de retour

Retourne l'adresse IP Internet, sous la forme d'une chaîne de caractères.

Voir aussi

  • ip2long() - Convertit une chaîne contenant une adresse (IPv4) IP numérique en adresse littérale

ip2long
openlog
Fonctions réseaux


Ouvre la connexion à l'historique système

long2ip
pfsockopen
Fonctions réseaux
PHP Manual

openlog

(PHP 4, PHP 5)

openlog — Ouvre la connexion à l'historique système

Description

bool openlog ( string $ident , int $option , int $facility )

openlog() ouvre la connexion à l'historique système.

L'utilisation de openlog() est optionnelle. Cette fonction sera automatiquement appelée par la fonction syslog() si nécessaire, auquel cas ident vaudra par défaut FALSE.

Liste de paramètres

ident

La chaîne ident sera ajoutée à chaque message.

option

L'argument option indique les options de journalisation utilisées pour générer le message.

Options pour la fonction openlog()
Constante | Description
LOG_CONS | Si une erreur survient lors de l'envoi des données au gestionnaire d'historique, écrire directement l'erreur sur la console.
LOG_NDELAY | Ouvre immédiatement une connexion au gestionnaire d'historique.
LOG_ODELAY | Retarde l'ouverture de la connexion jusqu'à ce que le premier message soit enregistré (par défaut).
LOG_PERROR | Envoie le message au gestionnaire standard.
LOG_PID | Inclut le PID à chaque message.
Vous pouvez utiliser une ou plusieurs de ces options. Pour les combiner, utiliser l'opérateur OR. Par exemple, pour ouvrir immédiatement la connexion, écrire sur la console et inclure le PID de chaque message, utilisez : LOG_CONS | LOG_NDELAY | LOG_PID.

facility

L'argument facility sert à indiquer quel programme enregistre ce message. Cela vous permet de spécifier (sur la machine d'historique) comment traiter les messages venant de plusieurs serveurs.

Paramètre facility d'openlog()
Constante | Description
LOG_AUTH | sécurité/messages d'autorisation (utilisez LOG_AUTHPRIV, pour remplacer cette constante sur les systèmes où elle est définie).
LOG_AUTHPRIV | sécurité/messages d'autorisation (privé)
LOG_CRON | démon horloge (cron et at)
LOG_DAEMON | autres démons système
LOG_KERN | noyau (kernel)
LOG_LOCAL0 ... LOG_LOCAL7 | réservé pour utilisation locale. Inutilisable sous Windows
LOG_LPR | imprimante (line printer subsystem)
LOG_MAIL | messagerie mail
LOG_NEWS | USENET : groupes de news (newsgroup)
LOG_SYSLOG | messages générés en interne par syslogd
LOG_USER | messages utilisateurs génériques
LOG_UUCP | sous-système UUCP

Note: LOG_USER est le seul type valide sous les environnements Windows.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • syslog() - Génère un message dans l'historique système
  • closelog() - Ferme la connexion à l'historique système

long2ip
pfsockopen
Fonctions réseaux


Ouvre une socket de connexion Internet ou Unix persistante

openlog
setcookie
Fonctions réseaux
PHP Manual

pfsockopen

(PHP 4, PHP 5)

pfsockopen — Ouvre une socket de connexion Internet ou Unix persistante

Description

resource pfsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

pfsockopen() se comporte exactement comme fsockopen() mais la connexion ouverte le reste, même après la fin du script. C'est la version persistante de fsockopen().

Liste de paramètres

Pour plus d'informations sur les paramètres, reportez-vous à la documentation sur la fonction fsockopen().

Voir aussi

  • fsockopen() - Ouvre une socket de connexion Internet ou Unix

openlog
setcookie
Fonctions réseaux


Envoie un cookie

pfsockopen
setrawcookie
Fonctions réseaux
PHP Manual

setcookie

(PHP 4, PHP 5)

setcookie — Envoie un cookie

Description

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setcookie() définit un cookie qui sera envoyé avec le reste des en-têtes. Comme pour les autres en-têtes, les cookies doivent être envoyés avant tout autre sortie (c'est une restriction du protocole HTTP, pas de PHP). Cela vous impose d'appeler cette fonction avant toute balise <html> ou <head>.

Une fois que le cookie a été placé, il est accessible dans les variables globales $_COOKIE ou bien $HTTP_COOKIE_VARS arrays. Notez que les superglobales telles que $_COOKIE sont disponibles en PHP depuis la version 4.1.0. Les valeurs de cookies existent aussi dans la variable $_REQUEST.

Liste de paramètres

Tous les arguments sauf name (nom) sont optionnels. Si seul le nom est présent, le cookie portant ce nom sera supprimé du navigateur de l'internaute. Vous pouvez aussi utiliser une chaîne vide ("") comme valeur, pour ignorer un argument. Comme l'argument expire est un entier, il ne peut pas être ignoré avec une chaîne vide, vous devez utiliser le zéro pour cela (0).

Veuillez lire » "Netscape cookie specification" pour le fonctionnement de chaque paramètre de setcookie().

name

Le nom du cookie.

value

La valeur du cookie. Cette valeur est stocké sur l'ordinateur du client ; ne stocker pas d'informations importantes. Le paramètre name est le 'cookiename', cette valeur est retrouvé en utilisant $_COOKIE['cookiename'].

expire

Le temps après lequel le cookie expire. C'est un timestamp Unix, donc, ce sera un nombre de secondes depuis l'époque Unix (1 Janvier 1970). En d'autres mots, vous devriez fixer cette valeur à l'aide de la fonction time() et en y ajoutant le nombre de secondes après lequel on veut que le cookie expire. Vous ouvez utiliser aussi mktime(). time()+60*60*24*30 fera expirer le cookie dans 30 jours. Si vous ne spécifiez pas ce paramètre ou s'il vaut 0, le cookie expirera à la fin de la session (lorsque le navigateur sera fermé).

Note: Vous pourrez noter que le paramètre expire prend un timestamp unique, et non pas la date au format Jour, JJ-Mois-AAAA HH:MM:SS GMT, car PHP fait la conversion en interne.
Le paramètre expire est comparé avec le temps du client qui peut être différent de celui du serveur.

path

Le chemin sur le serveur sur lequel le cookie sera disponible. Si la valeur est '/', le cookie sera disponible sur l'ensemble du domaine domain. Si la valeur est '/foo/', le cookie sera uniquement disponible dans le répertoire /foo/ ainsi que tous ces sous-répertoires comme /foo/bar/ du domaine domain. La valeur par défaut est le répertoire courant où le cookie a été défini.

domain

Le domaine où le cookie est disponible. Pour rendre le cookie disponible sur tous les sous-domaines de example.com, vous devez mettre la valeur '.example.com'. Le point (.) n'est pas requis mais est nécessaire pour la compatibilité avec encore plus de navigateurs. Positionnez le à www.example.com rendra le cookie disponible uniquement sur le sous-domaine www. Reportez-vous aux » spécifications pour plus de détails.

secure

Indique si le cookie doit uniquement être transmis à travers une connexion sécurisée HTTPS depuis le client. Lorsqu'il est positionné à TRUE, le cookie ne sera positionné uniquement si la connexion sécurisée existe. Côté serveur, c'est au développeur d'envoyer ce genre de cookie uniquement sur les connexions sécurisées (e.g. en utilisant la variable $_SERVER["HTTPS"]).

httponly

Lorsque ce paramètre vaut TRUE, le cookie ne sera accessible que par le protocole HTTP. Cela signifie que le cookie ne sera pas accessible via des langages de scripts, comme Javascript. Cette configuration permet de limiter les attaques via XSS (bien qu'elle ne soit pas supporté par tous les navigateurs). Ajouté en PHP 5.2.0. TRUE ou FALSE

Valeurs de retour

Si quelque chose a été envoyé avant l'appel à cette fonction, setcookie() échouera et retournera FALSE. Si setcookie() réussi, elle retournera TRUE. Cela n'indique pas si le client accepte ou pas le cookie.

Exemples

Quelques exemples d'envoi de cookies :

Exemple #1 Exemple d'envoi d'un avec setcookie()

<?php
$value = 'Valeur de test';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire dans 1 heure */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Notez que la partie "valeur" du cookie sera automatiquement encodée URL lorsque vous envoyez le cookie et, lorsque vous le recevez, il sera automatiquement décodé, et affecté à la variable du même nom que le cookie. Si vous le voulez pas de ce comportement par défaut, vous pouvez utiliser la fonction setrawcookie() si vous utilisez PHP 5. Pour voir le résultat, essayez les scripts suivants :

<?php
// Afficher un cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Une autre méthode pour afficher tous les cookies
print_r($_COOKIE);
?>

Exemple #2 Exemple d'effacement d'un cookie avec setcookie()

Lorsque vous effacez un cookie, vous devriez toujours vous assurer que sa date d'expiration est déjà passée, pour déclencher le mécanisme de votre navigateur. Voici comment procéder :

<?php
// Utilisation de la date courante, moins une heure
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

Exemple #3 setcookie() et les tableaux

Vous pouvez aussi utiliser les cookies avec des tableaux, en utilisant la notation des tableaux. Cela a pour effet de créer autant de cookies que votre tableau a d'éléments, mais lorsque les cookies seront reçus par votre script, les valeurs seront placées dans un tableau :

<?php
// Définit les cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// Après le rechargemet de la page, nous les affichons
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        echo "$name : $value <br />\n";
    }
}
?>

L'exemple ci-dessus va afficher :

three : cookiethree
two : cookietwo
one : cookieone

Historique

Version | Description
5.2.0 | Le paramètre httponly a été ajouté.

Notes

Note: Vous pouvez utiliser la bufferisation de sortie pour pouvoir envoyer du contenu avant d'appeler cette fonction, avec la contrepartie que toute votre page sera envoyée en une fois. Vous pouvez faire cela en appelant ob_start() et ob_end_flush() dans votre script, ou en activant la directive output_buffering dans votre fichier de configuration php.ini ou dans votre fichier de configuration de votre serveur.

Note: Si la directive PHP register_globals est positionnée à on, la valeur du cookie est aussi disponible dans une variable. Dans l'exemple ci-dessous, $TestCookie existe. Il est vivement recommandé d'utiliser $_COOKIE.

Erreurs communes :

  • Les cookies ne seront accessibles qu'au chargement de la prochaine page, ou au rechargement de la page courante. Pour tester si un cookie a été défini avec succès, vérifiez la présence du cookie au prochain chargement de la page avant que le cookie n'expire. Le délai d'expiration est défini en utilisant le paramètre expire. Une façon simple de vérifier le positionnement du cookie est d'utiliser print_r($_COOKIE);.
  • Les cookies doivent être effacés avec les mêmes paramètres que ceux utilisés lors de leur création. Si l'argument value est une chaîne vide ou vaut FALSE et que ls autres arguments sont exactement les mêmes que lors du positionnement du cookie, alors le cookie sera effacé du client. En interne, l'effacement est réalisé en positionnant la valeur à 'deleted' et la date d'expiration à une année dans le passé.
  • Du fait que l'assignation d'une valeur valant FALSE à un cookie tente de l'effacer, vous ne devriez pas utiliser de booléen. À la place, utilisez 0 pour FALSE et 1 pour TRUE.
  • Les noms des cookies peuvent être des tableaux de noms et seront disponibles dans vos scripts PHP sous la forme de tableaux mais des cookies différents seront placés sur le client. Utilisez explode() pour placer un cookie avec des noms et des valeurs multiples. Il n'est pas recommandé d'utiliser la fonction serialize() pour réaliser ceci, car cela peut conduire à des problèmes de sécurité.

Les appels multiples à la fonction setcookie() seront effectués dans l'ordre.

Voir aussi

  • header() - Envoie un en-tête HTTP
  • setrawcookie() - Envoie un cookie sans encoder sa valeur en URL
  • La section sur les cookies
  • » RFC 2109
  • » RFC 2965

pfsockopen
setrawcookie
Fonctions réseaux


Envoie un cookie sans encoder sa valeur en URL

setcookie
socket_get_status
Fonctions réseaux
PHP Manual

setrawcookie

(PHP 5)

setrawcookie — Envoie un cookie sans encoder sa valeur en URL

Description

bool setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

setrawcookie() est exactement la même que setcookie() excepté que la valeur du cookie ne sera pas automatiquement encodée URL lors de l'envoi au navigateur.

Liste de paramètres

Pour plus d'informations, reportez-vous à la documentation de la fonction setcookie().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.0 | Ajout du paramètre httponly.

Voir aussi

  • setcookie() - Envoie un cookie

setcookie
socket_get_status
Fonctions réseaux


Alias de stream_get_meta_data

setrawcookie
socket_set_blocking
Fonctions réseaux
PHP Manual

socket_get_status

(PHP 4, PHP 5)

socket_get_status — Alias de stream_get_meta_data()

Description

Cette fonction est un alias de : stream_get_meta_data().

setrawcookie
socket_set_blocking
Fonctions réseaux


Alias de stream_set_blocking

socket_get_status
socket_set_timeout
Fonctions réseaux
PHP Manual

socket_set_blocking

(PHP 4, PHP 5)

socket_set_blocking — Alias de stream_set_blocking()

Description

Cette fonction est un alias de : stream_set_blocking().

socket_get_status
socket_set_timeout
Fonctions réseaux


Alias de stream_set_timeout

socket_set_blocking
syslog
Fonctions réseaux
PHP Manual

socket_set_timeout

(PHP 4, PHP 5)

socket_set_timeout — Alias de stream_set_timeout()

Description

Cette fonction est un alias de : stream_set_timeout().

socket_set_blocking
syslog
Fonctions réseaux


Génère un message dans l'historique système

socket_set_timeout
SAM
Fonctions réseaux
PHP Manual

syslog

(PHP 4, PHP 5)

syslog — Génère un message dans l'historique système

Description

bool syslog ( int $priority , string $message )

syslog() génère un message qui sera inscrit dans l'historique par le système.

Pour plus d'informations sur comment mettre en place un gestionnaire d'historique, reportez-vous au manuel Unix, page 5 syslog.conf (5). D'autres informations sur les systèmes d'historique et leurs options sont aussi disponibles dans le manuel syslog (3) des machines Unix.

Liste de paramètres

priority

priority est une combinaison des valeurs d'accès et de niveau. Les valeurs possibles sont :

Priorités syslog() (en ordre décroissant)
Constante | Description
LOG_EMERG | système inutilisable
LOG_ALERT | une décision doit être prise immédiatement
LOG_CRIT | condition critique
LOG_ERR | condition d'erreur
LOG_WARNING | condition d'alerte
LOG_NOTICE | condition normale, mais significative
LOG_INFO | message d'information
LOG_DEBUG | message de déboguage

message

Le message à envoyer. Attention : les caractères %m seront remplacés par l'erreur (sous forme de chaîne), présente dans errno.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec syslog()

<?php
// ouverture de syslog, ajout du PID et envoi simultané du
// message à la sortie standard et à un mécanisme
// spécifique
openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// quelques lignes de code

if (authorized_client()) {
    // faire quelquechose
} else {
    // client non autorisé!
    // notation de la tentative
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Unauthorized client: $access {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

closelog();
?>

Notes

Avec Windows NT, l'historique est pris en charge par le log d'événements.

Note: L'utilisation de LOG_LOCAL0 à LOG_LOCAL7 pour le paramètre facility de la fonction openlog() n'est pas disponible sous Windows.

Voir aussi

  • openlog() - Ouvre la connexion à l'historique système
  • closelog() - Ferme la connexion à l'historique système

socket_set_timeout
SAM
Fonctions réseaux


SAM - Messagerie asynchrone

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Connexions
    • Messages
    • Opérations de messagerie
    • Publication/Souscription à un sujet
    • Gestion des erreurs
  • Fonctions SAM
    • SAMConnection->commit — Valide le travail courant
    • SAMConnection->connect — Établie une connexion à un serveur de messagerie
    • SAMConnection->__construct — Crée une nouvelle connexion à un serveur de messagerie
    • SAMConnection->disconnect — Déconnexion d'un serveur de messagerie
    • SAMConnection->errno — Récupère le numéro de la dernière erreur issue d'une opération SAM
    • SAMConnection->error — Récupère la description de la dernière erreur d'une opération SAM
    • SAMConnection->isConnected — Vérifie si une connexion est établie avec un serveur de messagerie
    • SAMConnection->peek — Lit un message depuis la file d'attente sans l'effacer
    • SAMConnection->peekAll — Lit un ou plusieurs messages depuis la file d'attente sans les effacer
    • SAMConnection->receive — Reçoit un message depuis une file d'attente ou d'une souscription
    • SAMConnection->remove — Efface un message depuis la file d'attente
    • SAMConnection->rollback — Annulation d'un travail
    • SAMConnection->send — Envoie un message à une file d'attente ou le publie sur un sujet
    • SAMConnection::setDebug — Active ou non l'affiche des informations de déboguage
    • SAMConnection->subscribe — Crée une souscription à un sujet spécifique
    • SAMConnection->unsubscribe — Annule une souscription à un sujet spécifique
    • SAMMessage->body — Définit le corps d'un message
    • SAMMessage->__construct — Crée un nouvel objet de message
    • SAMMessage->header — Les propriétés d'en-tête d'un message
syslog
Introduction
Autres services


Introduction

Cette extension fournit un accès aux fonctionnalités des systèmes de messageries et de mise en file d'attente, comme les produits de la famille IBM WebSphere MQSeries, depuis des scripts PHP. L'interface a été conçue pour rendre simple les tâches les plus communes comme délivrer des messages simples à la file d'attente, mais permet aussi aux utilisateurs plus expérimentés d'effectuer des opérations plus complexes. Pour la plupart des utilisateurs, les configurations des options complexes peuvent être tout simplement ignorées.

L'extension SAM est un framework qui fournit une API simple qui peut être utilisée pour accéder à plusieurs systèmes de messagerie. Actuellement, le paquet inclut un support interne pour le protocole de messagerie MQTT (MQ Telemetry Transport) ainsi que pour les produits de messagerie IBM et Queuing middleware. SAM a été conçu pour être extensible à d'autres systèmes de messagerie et ainsi, des extensions peuvent être écrites en C ou en PHP.

SAM
Installation/Configuration
SAM


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SAM


Pré-requis

L'extension SAM interface la messagerie IBM ainsi que les produits de mise en file d'attente en utilisant un jeu de bibliothèques et du code côté client. Ce paquet est disponible en téléchargement gratuit dans le guide du support IBM pack IA94. Il y a une description de ce paquet ainsi que des liens de téléchargements dans l'article "» Introduction à XMS - L'API IBM Message Service".

Si vous voulez utiliser SAM pour accéder à l'infrastructure de messagerie et de mise en file d'attente dans un WebSphere MQ, alors vous devriez également installer un gestionnaire local de mise en file d'attente MQ ou installer la paquet client WebSphere MQ. Le paquet client est disponible librement en tant qu'un pack support (» MQC6).

Si vous voulez juste tester l'envoi de message depuis et vers une application WebSphere en utilisant le protocole WebSphere Platform Messaging (WPM), alors, vous n'avez pas besoin d'installer le paquet MQC6.

Après avoir installé ces paquets, vous devez vous assurer que le binaire XMS, si vous l'utilisez, et que le client MQ sont accessibles via la variable d'environnement PATH afin qu'Apache et PHP puissent trouver les bibliothèques nécessaires.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/sam.

Le framework SAM et le support MQTT peuvent être construits et utilisés sans aucun élément supplémentaire. Le support pour les protocoles autres que MQTT est fourni via un jeu de bibliothèques et du code côté client, comme XMS.

Si vous ne souhaitez utiliser que le support interne MQTT, alors, vous pouvez construire et configurer SAM en tant qu'extension ou simplement vous référer à php_sam.php grâce aux fonctions require() ou require_once() dans votre script PHP. Dans ce cas, vous devez uniquement installer le code, sans construire l'extension via l'installeur PEAR :

pecl install -B SAM

Étapes d'installation sous Linux

L'extension SAM est fournie en tant que module PECL. Vous devriez donc pouvoir la télécharger et l'installer en une seule étape, comme ceci :

pecl install sam
(Suivant votre environnement PHP, vous devrez probablement être "root" pour faire ceci.)

Assurez-vous que le module a été chargé par PHP, en ajoutant la ligne suivante à votre php.ini :

extension=sam.so
Si vous voulez utiliser le support XMS afin d'accéder à la messagerie IBM, vous devez également activer l'extension SAM XMS.
extension=sam_xms.so

Si vous ne pouvez pas utiliser l'installeur PEAR, vous pouvez télécharger l'extension et la construire manuellement :

pear download sam          #téléchargement de sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install               #vous devriez devoir être root pour cette étape

Pour avoir la toute dernière source, vous devriez extraire les sources depuis SVN et la construire en utilisant les instructions qui se trouvent dans ce manuel.

Étapes d'installation sous Windows

Vous devez construire l'extension SAM pour Windows car il n'existe pas de binaire précompilé. L'extension peut être construite en utilisant les procédures standards de construction des extensions Windows.

Vous devez avoir les sources de PHP pour lesquelles l'extension SAM doit être utilisée. Les sources doivent être décompressées dans le répertoire de votre choix.

Vous devez également avoir les bibliothèques et en-têtes utilisés par les extensions PHP, disponibles sur http://www.php.net/extra/win32build.zip et doivent être décompressés dans le même dossier de travail.

Vous devriez obtenir quelque chose comme :

c:\php-build\-
              |
              |---php-5.0.5--|---build
              |              |---ext
              |              |--- ...
              |
              |---win32build--|---bin
                              |---include
                              |---lib

Vous devez avoir également un compilateur, par exemple, la version gratuite de Visual Studio C++ Express que vous trouverez sur le site web de Microsoft. Vous devez aussi avoir le SDK Microsoft Windows Platform qui est également disponible sur le site web de Microsoft.

Téléchargez les sources de l'extension SAM (pear download sam) ou en utilisant SVN et copiez les fichiers dans un nouveau dossier "sam" du dossier "ext" des sources PHP.

Pour construire l'extension, ouvrez un environnement de construction Windows via

menu->Tous les programmes->microsoft platform SDK for windows->
open build environment window->windows 200 build environment->
set windows 2000 build environment (retail)

Ceci devrait ouvrir une fenêtre de commande avec toutes les variables d'environnements définies afin d'accéder à la plate-forme SDK, etc. Vous devez ensuite définir les variables d'environnements pour Visual Studio en lançant la commande vcvars32.bat dans la fenêtre.

Déplacez-vous dans votre dossier de travail, e.g. cd c:\php-build. Ensuite, assurez-vous que les utilitaires win32build soient accessibles en ajoutant la variable d'environnement suivante :

set PATH=..\win32build\bin;%PATH%

Exécutez la commande buildconf.bat. Ceci devrait reconstruire le fichier configure.js.

Exécutez la commande cscript avec les options appropriées. Pour uniquement construire l'extension SAM et le support MQTT, utilisez :

cscript /nologo configure.js --with-sam
Pour construire le framework SAM et le support XMS, utilisez :
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

Le paramètre additionnel passé à SAM est le chemin d'installation vers les bibliothèques XMS et d'exécution qui ont été installées comme décrit en début de ce manuel.

Vous pouvez spécifier d'autres paramètres cscript dont vous avez besoin pour inclure et exclure des éléments de votre construction de PHP ou des options sélectionnées.

En supposant que tout est Ok jusqu'ici pour vous, vous pouvez maintenant lancer la construction !

nmake php_sam.dll
De plus, si vous utilisez le support XMS, vous devrez construire l'extension sam_xms :
nmake php_sam_xms.dll

Si vous avez utiliser Visual Studio 2005 pour construire les bibliothèques DLL, alors lisez ce qui suit pour les étapes additionnelles que vous devez effectuer avant d'aller plus loin.

Les bibliothèques DLLs créées (php_sam.dll, et, optionnellement php_sam_xms.dll) peuvent maintenant être copiées dans le sous répertoire approprié de votre installation de PHP. Assurez-vous que le(s) module(s) est(sont) chargé(s) par PHP, en ajoutant la ligne suivante à votre php.ini :

extension=php_sam.dll
Si vous voulez utiliser le support XMS pour accéder à IBM Messaging and Queuing family, vous devez également activer l'extension SAM XMS.
extension=php_sam_xms.dll

Étapes additionnelles pour Visual Studio 2005

Si vous construisez l'extension SAM avec le compilateur et les outils Microsoft Visual Studio 2005, vous devez effectuer une étape supplémentaire dans le processus de compilation afin de vous assurer que la bibliothèque php_sam.dll soit capable de se lier aux bibliothèques C durant l'exécution. Cette étape ajoute la dépendance directement dans la DLL. Déplacez-vous dans le répertoire oÃ¹ la bibliothèque php_sam.dll a été générée (habituellement le dossier Release_TS ou Debug_TS du dossier des sources PHP) et exécutez l'incantation magique suivante :

mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
Si vous utilisez les capacités XMS, vous devez effectuer la même chose avec la bibliothèque SAM XMS :
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

Si vous construisez l'extension SAM en utilisant le compilateur et les bibliothèques Microsoft Visual Studio 2005, vous devriez aussi vous assurer que les composants d'exécution sont présents sur le système sur lequel vous voulez utiliser SAM. Ceci peut être fait en installation Visual Studio 2005 ou en utilisant le » paquet d'exécution librement distribuable.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Support des protocoles et liage

Le framework SAM peut être étendu pour supporter d'autres protocoles de messagerie et d'autre mécanismes de connexion. Pour ajouter le support d'un nouveau protocole ou connexion, une classe doit être définie, soit sous la forme d'une extension C, soit sous la forme d'un script PHP, et un script "usine" doit être créé. La classe doit implémenter toutes les méthodes de la classe SAMConnection, car elle n'hérite pas de la classe SAMConnection. Le script d'usine doit être appelé par le framework SAM pour créer une instance de la classe implémentée. La façon dont SAM choisit quel utilitaire à appeler, est basée sur le protocole spécifié en tant que premier paramètre de l'appel à "connect".

Par défaut, le support interne MQTT sera utilisé si une connexion est spécifiée à un protocole SAM_MQTT ("mqtt") ; pour les autres protocoles, SAM tente d'utiliser l'extension XMS. Pour ajouter le support de protocoles supplémentaires ou pour modifier le comportement par défaut, des entrées doivent être ajoutées dans le php.ini dans la section [sam]. Le liage par défaut est équivalent aux entrées suivantes :

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
Comme nous pouvons le voir dans ces exemples, les entrées prennent la forme de "sam.factory.pppp=xxx" où pppp est le protocole spécifié lors de l'appel à la connexion et xxx est le suffixe d'usine. Note : SAM définit des constantes pour ces protocoles, comme SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

Lors de l'identification du code support à utiliser lors d'un appel à connexion, SAM cherche le nom du protocole dans les entrées du php.ini, puis, invoque un script d'usine nommé sam_factory_xxx.php. Si aucune entrée n'est trouvée, le support par défaut utilisé sera XMS.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SAM_AUTO (chaîne de caractères)
Comportement automatique
SAM_BOOLEAN (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_BUS (chaîne de caractères)
Attribut de connexion à utiliser pour définir le nom du service bus entreprise à s'y connecter.
SAM_BYTE (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_BYTES (chaîne de caractères)
Description du type du corps du message.
SAM_CORRELID (chaîne de caractères)
Attribut utilisé lors de la réception, de l'envoi et de l'effacement pour identifier les messages.
SAM_DELIVERYMODE (chaîne de caractères)
Propriété de l'en-tête du message.
SAM_DOUBLE (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_ENDPOINTS (chaîne de caractères)
Attribut de connexion à utiliser pour définir les "endpoints" possibles à s'y connecter.
SAM_FLOAT (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_HOST (chaîne de caractères)
Attribut de connexion à utiliser pour définir le nom de l'hôte du serveur de messagerie requis.
SAM_INT (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_LONG (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_MANUAL (chaîne de caractères)
Comportement manuel (contrôlé par le script)
SAM_MESSAGEID (chaîne de caractères)
Attribut utilisé lors de la réception et de l'effacement pour identifier les messages.
SAM_MQTT (chaîne de caractères)
Définition du protocole de connexion pour sélectionner le protocole MQTT (MQ Telemetry Transport).
SAM_MQTT_CLEANSTART ( bool )
Option de connexion optionnel indiquant à un serveur MQTT que toutes les connexions précédentes de ce client doivent être effacées et que ces souscriptions doivent également être effacées lorsque le client se déconnecte explicitement ou de façon inattendu.
SAM_NON_PERSISTENT (chaîne de caractères)
Attribut de connexion utilisé pour rendre la connexion non persistante sur le serveur de messagerie.
SAM_PASSWORD (chaîne de caractères)
Attribut de connexion utilisé pour définir le mot de passe pour l'utilisateur utilisé pour la connexion au serveur de messagerie.
SAM_PERSISTENT (chaîne de caractères)
Attribut de connexion utilisé pour rendre la connexion persistante sur le serveur de messagerie.
SAM_PORT (chaîne de caractères)
Attribut de connexion utilisé pour spécifier le numéro du port sur lequel le serveur de messagerie écoute.
SAM_PRIORITY (chaîne de caractères)
Option utilisée pour spécifier la priorité de délivrance des demandes.
SAM_REPLY_TO (chaîne de caractères)
Propriété du message utilisée pour spécifier l'adresse de la réponse.
SAM_RTT (chaîne de caractères)
Définition du protocole de connexion sélectionnant le protocole IBM Realtime Transport utilisé pour la communication avec le serveur de messagerie.
SAM_STRING (chaîne de caractères)
Type à utiliser lors de la configuration des propriétés des objets SAM_Message.
SAM_TARGETCHAIN (chaîne de caractères)
Attribut de connexion utilisé pour définit la chaîne identifiant la cible.
SAM_TEXT (chaîne de caractères)
Description du type de corps du message.
SAM_TIMETOLIVE (chaîne de caractères)
Option du message envoyé utilisé pour spécifier la durée de vie d'un message.
SAM_TRANSACTIONS (chaîne de caractères)
Attribut de connexion utilisé pour définir le comportement transactionnel. Peut être définit à SAM_AUTO (par défaut) ou SAM_MANUAL.
SAM_USERID (chaîne de caractères)
Attribut de connexion utilisé pour définir le compte à utiliser pour se connecter au serveur de messagerie.
SAM_WAIT (chaîne de caractères)
Propriété reçue à utiliser pour spécifier le délai d'attente maximal à utiliser lors de la réception d'un message.
SAM_WMQ (chaîne de caractères)
Définition du protocole de connexion pour sélectionner le protocole IBM WebSphere MQSeries pour la communication avec un serveur de messagerie.
SAM_WMQ_BINDINGS (chaîne de caractères)
Définition du protocole de connexion pour sélectionner le protocole IBM WebSphere MQSeries pour la communication avec un serveur de messagerie local.
SAM_WMQ_CLIENT (chaîne de caractères)
Définition du protocole de connexion pour sélectionner le protocole IBM WebSphere MQSeries pour la communication avec un serveur de messagerie distant.
SAM_WMQ_TARGET_CLIENT (chaîne de caractères)
Option utilisé sur les demandes envoyées pour spécifier le mode du client cible. Elle peut valoir, par défaut, "jms" ou "mq". La valeur par défaut est "jms", ce qui signifie qu'un en-tête RFH2 est envoyé avec le message, tandis qu'avec "mq", aucun en-tête RFH2 n'est envoyé.
SAM_WPM (chaîne de caractères)
Définition du protocole de connexion pour sélectionner le protocole IBM WebSphere Platform Messaging pour la communication avec un serveur de messagerie WebSphere Application Server.
Types de ressources
Exemples
SAM


Exemples

Sommaire

  • Connexions
  • Messages
  • Opérations de messagerie
  • Publication/Souscription à un sujet
  • Gestion des erreurs
Constantes pré-définies
Connexions
SAM


Connexions

Afin d'exécuter des fonctions de messageries et de mise en file d'attente, une connexion doit être établie avec un serveur de messagerie en créant un objet SAMConnection et en appelant sa méthode "connect", avec quelques propriétés de connexion, afin de connecter le script PHP au serveur de messagerie. Pendant le temps où l'objet SAMConnection n'est pas détruit, la connexion sera maintenue et disponible. Tous les objets SAMConnection seront détruis lorsque le script PHP se terminera.

Quelques propriétés par défaut peuvent être utilisées pour la connexion au serveur de messagerie mais le script PHP doit spécifier au minimum le protocole à utiliser.

Exemple #1 Création d'une connexion et connexion à un serveur de messagerie distant WebSphere MQSeries

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'myhost.mycompany.com',
                              SAM_PORT => 1506,
                              SAM_BROKER => 'mybroker'));
?>

Exemple #2 Création d'une connexion et connexion à un serveur distant WebSphere Application

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging'));
?>

Exemple #3 Création d'un connexion et connexion à un serveur MQTT

<?php
$conn = new SAMConnection();
$conn->connect(SAM_MQTT, array(SAM_HOST => 'myhost.mycompany.com',
                               SAM_PORT => 1883));
?>

Exemples
Messages
Exemples


Messages

Les messages envoyés et reçus depuis les files d'attente sont représentés par l'objet SAMMessage. L'objet SAMMessage contient le corps du message (s'il existe) ainsi que les propriétés des en-têtes associés au message. L'objet SAMMessage est soit fourni en tant que paramètre d'une opération sur un message, ou retourné comme résultat.

Exemple #1 Création d'un message avec un corps texte simple

<?php
$msg = new SAMMessage('This is a simple text message');
?>

Les messages doivent avoir des propriétés d'en-têtes associés, qui permettent le contrôle du transport du message ou fournissent des informations futures sur l'application réceptrice. Par défaut, les propriétés des messages sont délivrées au système de messagerie sous la forme de chaînes de caractères et dans ce cas, peuvent être définies comme ceci :

Exemple #2 Définition d'une propriété de formatage de texte en utilisant la syntaxe par défaut

<?php
$msg->header->myPropertyName = 'textData';
?>

Si vous voulez passer des informations sur le type, une syntaxe alternative peut être utilisée où la valeur et le type sont passés dans un tableau associatif :

Exemple #3 Définition d'une propriété en spécifiant le type

<?php
$msg->header->myPropertyName = array(3.14159, SAM_FLOAT);
?>

Les propriétés peuvent également être extraites depuis l'en-tête d'un message.

Exemple #4 Récupération d'une propriété depuis l'en-tête d'un message

<?php
$myProperty = $msg->header->myPropertyName;
?>

Connexions
Opérations de messagerie
Exemples


Opérations de messagerie

Toutes les opérations de messagerie sont exécutées via des appels aux méthodes sur l'objet de connexion. Pour ajouter un message à la file d'attente, la méthode "send" est utilisée, tandis que pour obtenir un message depuis la file d'attente, la méthode "receive" est utilisée. D'autres méthodes offrent d'autres fonctionnalités comme la publication, la souscription ou encore le contrôle sur les transactions.

Exemple #1 Ajout d'un message à la file d'attente et réception de la réponse

<?php
$msg = new SAMMessage('Ceci est un message texte simple');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Messages
Publication/Souscription à un sujet
Exemples


Publication/Souscription à un sujet

SAM permet d'envoyer des messages soit à la file d'attente, ou, pour WebSphere MQ et WPM, de publier/souscrire à des sujets. L'envoi à un sujet est spécifié à SAM de la façon habituelle, i.e. sous la forme 'topic://fred', plutôt que sous la forme 'queue://AQUEUE', utilisée pour une opération de point à point. Pour publier/souscrire, il est tout simplement nécessaire de spécifier le correct du courtier lors de l'appel à la méthode "connect" de l'objet SAMConnect et le sujet désiré dans l'argument de destination des appels aux méthodes "send" et "receive" de l'objet SAMConnect. L'interface PHP est cependant identique au model point à point.

Par défaut, SAM crée des souscriptions non durables lors de l'utilisation des fonctionnalités de publication/souscription. Cela signifie que si l'application cliente est inactive lorsque les messages sont publiés sur un sujet, alors il ne les recevra pas lorsqu'il redemarrera. SAM permet également des souscriptions durables à un sujet lors de l'utilisation de WPM ou WebSphere. Le but de ces souscriptions est de permettre aux données d'être reçues par une application cliente même si le client n'est plus actif au moment où les données sont publiées.

Les souscriptions durables sont spécifiées en utilisant l'appel à la méthode "suscribe" de l'objet SAMConnect. Cette méthode prend le sujet destinataire en tant qu'argument d'entrée et retourne l'identifiant de souscription qui pourra être utilisé lors des prochains appels à la méthode "receive". Lorsque la souscription n'est plus nécessaire, la méthode "unsubscribe" de l'objet SAMConnection dot être utilisée pour effacer la souscription.

Exemple #1 Création d'une souscription durable à un sujet

<?php

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Échec de la souscription";
} else {
    # Souscription Ok
    // ...
}
?>

Exemple #2 Souscription à un sujet en utilisant un serveur WebSphere Platform Messaging (WPM)

<?php
$conn = new SAMConnection();
// Note: Pour une publication/souscription sur un WPM, lors de la connexion, le nom du moteur de messagerie
// qui gère la souscription durable (SAM_WPM_DUR_SUB_HOME) doit être spécifié.
$conn->connect(SAM_WMQ, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging',
                              SAM_WPM_DUR_SUB_HOME => 'MyMachineNode01.server1-Bus1'));

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Échec de la souscription";
} else {
    # Souscription Ok
   // ...
}
?>

Exemple #3 Réception des données publiées en utilisant une souscription durable

<?php

$msg = $conn->receive($subName);
if ($msg) {
   echo "Réception d'un message Ok";
} else {
    echo "Échec de la réception";
}

?>

Exemple #4 Effacement d'une souscription durable à un sujet

<?php

if (!$conn->unsubscribe($subName)) {
   echo "Échec lors de l'effacement de la souscription";
}

?>

Opérations de messagerie
Gestion des erreurs
Exemples


Gestion des erreurs

Toutes les méthodes SAMConnection qui fournissent un accès aux opérations de messagerie retourne FALSE si une erreur survient durant le processus. En plus de cela, l'objet SAMConnection a deux propriétés, "errno" et "error", qui fournissent respectivement le numéro et la description de la dernière erreur survenue sur la connexion.

Exemple #1 Gestion d'une erreur depuis une méthode qui ne retourne aucun résultat

<?php
if (!$conn->commit()) {
    // Le commit a échoué !
    echo "Le commit a échoué : ($conn->errno) $conn->error";
}
?>

Exemple #2 Gestion d'une erreur depuis une méthode qui retourne un résultat

<?php
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    //L'envoi a échoué !
    echo "L'envoi a échoué : ($conn->errno) $conn->error";
} else {
  /* ... */
}
?>

Publication/Souscription à un sujet
Fonctions SAM
Exemples


Fonctions SAM

Classes pré-définies

SAMConnection

Objet représentant une connexion à un serveur de messagerie

Constructeur

  • new SAMConnection : construit un nouvel objet de connexion permettant une connexion à une infrastructure de messagerie.

Méthodes

  • commit : une méthode qui valide un travail.

  • connect : une méthode qui connecte un script PHP à un serveur de messagerie.

  • disconnect : une méthode qui déconnecte un script PHP d'un serveur de messagerie.

  • isConnected : une méthode qui vérifie si un script PHP est connecté à un serveur de messagerie.

  • peek : une méthode qui reçoit un message depuis la file d'attente sans pour autant l'effacer de la file d'attente.

  • peekAll : une méthode qui reçoit un ou plusieurs messages depuis la file d'attente sans pour autant les effacer de la file d'attente.

  • receive : une méthode qui reçoit un message depuis la file d'attente ou depuis une souscription.

  • remove : une méthode qui efface un message depuis la file d'attente.

  • rollback : une méthode qui annule un travail.

  • send : une méthode qui envoie un message à une file d'attente ou sur un sujet.

  • setDebug : une méthode qui active ou non l'affichage des informations de déboguage

  • subscribe : une méthode qui crée une souscription à un ou plusieurs sujets.

  • unsubscribe : une méthode qui détruit une suscription à un ou plusieurs sujets.

Propriétés

  • errno : le numéro de la dernière erreur survenue sur la connexion. Cette propriété est définie à 0 si la dernière opération a réussi.

  • error : la description de la dernière erreur survenue sur la connexion.

SAMMessage

Objet représentant un message à envoyer ou à recevoir.

Constructeur

  • new SAMMessage : construit un nouveau message.

Propriétés

  • body : le corps du message.

  • header : les propriétés d'en-tête du message.

Sommaire

  • SAMConnection->commit — Valide le travail courant
  • SAMConnection->connect — Établie une connexion à un serveur de messagerie
  • SAMConnection->__construct — Crée une nouvelle connexion à un serveur de messagerie
  • SAMConnection->disconnect — Déconnexion d'un serveur de messagerie
  • SAMConnection->errno — Récupère le numéro de la dernière erreur issue d'une opération SAM
  • SAMConnection->error — Récupère la description de la dernière erreur d'une opération SAM
  • SAMConnection->isConnected — Vérifie si une connexion est établie avec un serveur de messagerie
  • SAMConnection->peek — Lit un message depuis la file d'attente sans l'effacer
  • SAMConnection->peekAll — Lit un ou plusieurs messages depuis la file d'attente sans les effacer
  • SAMConnection->receive — Reçoit un message depuis une file d'attente ou d'une souscription
  • SAMConnection->remove — Efface un message depuis la file d'attente
  • SAMConnection->rollback — Annulation d'un travail
  • SAMConnection->send — Envoie un message à une file d'attente ou le publie sur un sujet
  • SAMConnection::setDebug — Active ou non l'affiche des informations de déboguage
  • SAMConnection->subscribe — Crée une souscription à un sujet spécifique
  • SAMConnection->unsubscribe — Annule une souscription à un sujet spécifique
  • SAMMessage->body — Définit le corps d'un message
  • SAMMessage->__construct — Crée un nouvel objet de message
  • SAMMessage->header — Les propriétés d'en-tête d'un message
Gestion des erreurs
SAMConnection->commit
SAM


Valide le travail courant

Fonctions SAM
SAMConnection->connect
Fonctions SAM
PHP Manual

SAMConnection->commit

(PECL sam >= 0.1.0)

SAMConnection->commit — Valide le travail courant

Description

SAMConnection
bool commit ( void )

L'appel à la méthode "commit" sur un objet de connexion valide toutes les transactions courantes.

Valeurs de retour

Cette méthode retourne FALSE si une erreur survient.

Exemples

Exemple #1 Validation du travail courant

<?php
  if (!$conn->commit()) {
    // Échec de la validation !
    echo "La validation a échoué : ($conn->errno) $conn->error";
  }
?>

Voir aussi

  • SAMConnection->rollback

Fonctions SAM
SAMConnection->connect
Fonctions SAM


Établie une connexion à un serveur de messagerie

SAMConnection->commit
SAMConnection->__construct
Fonctions SAM
PHP Manual

SAMConnection->connect

(PECL sam >= 0.1.0)

SAMConnection->connect — Établie une connexion à un serveur de messagerie

Description

SAMConnection
bool connect ( string $protocol [, array $properties ] )

L'appel à la méthode "connect" sur un objet SAMConnection connecte le script PHP à un serveur de messagerie. Aucun message ne peut être envoyé ou reçu tant qu'une connexion n'est pas établie.

Liste de paramètres

Valeurs de retour

Cette méthode retourne FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une connexion à un serveur de messagerie en utilisant le protocole IBM MQSeries (WMQ)

<?php

$conn->connect(SAM_WMQ, array(SAM_HOST => 'Myhost.myco.com', SAM_PORT => 1506, SAM_BROKER => 'MyBroker'));

?>

Exemple #2 Création d'une connexion avec contrôle des transactions, hôte par défaut et valeur du port de communication

<?php

$conn->connect(SAM_WMQ, array(SAM_BROKER => 'MyBroker', SAM_TRANSACTIONS => SAM_MANUAL));

?>

Exemple #3 Création d'une connexion à un serveur de messagerie en utilisant le protocole IBM WebSphere Platform Messaging (WPM)

<?php

$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
SAM_BUS => 'Bus1', SAM_TARGETCHAIN => 'InboundBasicMessaging'));

?>

Voir aussi

  • SAMConnection->isConnected
  • SAMConnection->disconnect

SAMConnection->commit
SAMConnection->__construct
Fonctions SAM


Crée une nouvelle connexion à un serveur de messagerie

SAMConnection->connect
SAMConnection->disconnect
Fonctions SAM
PHP Manual

SAMConnection->__construct

(PECL sam >= 0.1.0)

SAMConnection->__construct — Crée une nouvelle connexion à un serveur de messagerie

Description

SAMConnection
__construct ( void )

Crée un nouvel objet SAMConnection.

Exemples

Exemple #1 Création d'un nouvel objet de connexion SAM et une connexion à un serveur de messagerie

<?php

$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => localhost, SAM_PORT => 1414, SAM_BROKER => 'bull'));

?>

SAMConnection->connect
SAMConnection->disconnect
Fonctions SAM


Déconnexion d'un serveur de messagerie

SAMConnection->__construct
SAMConnection->errno
Fonctions SAM
PHP Manual

SAMConnection->disconnect

(PECL sam >= 0.1.0)

SAMConnection->disconnect — Déconnexion d'un serveur de messagerie

Description

SAMConnection
bool disconnect ( void )

L'appel à la méthode "disconnect" d'un objet SAMConnection déconnecte le script PHP d'un serveur de messagerie. Aucun message ne peut être envoyé ou reçu tant qu'une connexion n'a pas été établie.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Déconnexion d'un serveur de messagerie

<?php

$conn->disconnect();

?>

Voir aussi

  • SAMConnection->isConnected
  • SAMConnection->connect

SAMConnection->__construct
SAMConnection->errno
Fonctions SAM


Récupère le numéro de la dernière erreur issue d'une opération SAM

SAMConnection->disconnect
SAMConnection->error
Fonctions SAM
PHP Manual

SAMConnection->errno

(PECL sam >= 0.1.0)

SAMConnection->errno — Récupère le numéro de la dernière erreur issue d'une opération SAM

Description

SAMConnection
int $errno;

Contient le code erreur de la dernière opération SAM sur la connexion. Si la dernière opération a réussie, cette propriété contient 0.

Valeurs de retour

Un entier supérieur à 0 indique le type de la dernière erreur rencontrée sur la connexion. 0 indique que la dernière opération a réussie.

Exemples

Exemple #1 Exemple d'utilisation du numéro et de la description de l'erreur

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // L'envoi a échoué !
    echo "L'envoi a échoué : ($conn->errno) $conn->error";
}
?>

Voir aussi

  • SAMConnection->error

SAMConnection->disconnect
SAMConnection->error
Fonctions SAM


Récupère la description de la dernière erreur d'une opération SAM

SAMConnection->errno
SAMConnection->isConnected
Fonctions SAM
PHP Manual

SAMConnection->error

(PECL sam >= 0.1.0)

SAMConnection->error — Récupère la description de la dernière erreur d'une opération SAM

Description

SAMConnection
string $error;

Contient la description de la dernière erreur survenue sur la connexion. Si la dernière opération a réussie, cette propriété contiendra une chaîne vide.

Valeurs de retour

Une chaîne de caractères contenant la description de la dernière erreur rencontrée sur la connexion. Une chaîne vide indique que la dernière opération sur la connexion a réussi.

Exemples

Exemple #1 Exemple d'utilisation du numéro et de la description d'une erreur

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // L'envoi a échoué !
    echo "L'envoi a échoué : ($conn->errno) $conn->error";
}
?>

Voir aussi

  • SAMConnection->errno

SAMConnection->errno
SAMConnection->isConnected
Fonctions SAM


Vérifie si une connexion est établie avec un serveur de messagerie

SAMConnection->error
SAMConnection->peek
Fonctions SAM
PHP Manual

SAMConnection->isConnected

(PECL sam >= 0.1.0)

SAMConnection->isConnected — Vérifie si une connexion est établie avec un serveur de messagerie

Description

SAMConnection
bool isConnected ( void )

L'appel à la méthode "isConnected" sur un objet de connexion vérifie si le script PHP est connecté à un serveur de messagerie. Aucun message ne peut être envoyé, ni reçu tant qu'une connexion n'a pas été établie à un serveur de messagerie.

Valeurs de retour

Cette méthode retourne TRUE si l'objet SAMConnection est connecté à une serveur de messagerie, FALSE sinon.

Exemples

Exemple #1 Vérifie si la connexion est établie à un serveur de messagerie

<?php

if ($conn->isConnected()) {
  echo 'Connexion active.';
} else {
  echo 'Aucune connexion acitve !';
}

?>

Voir aussi

  • SAMConnection->disconnect
  • SAMConnection->connect

SAMConnection->error
SAMConnection->peek
Fonctions SAM


Lit un message depuis la file d'attente sans l'effacer

SAMConnection->isConnected
SAMConnection->peekAll
Fonctions SAM
PHP Manual

SAMConnection->peek

(PECL sam >= 0.1.0)

SAMConnection->peek — Lit un message depuis la file d'attente sans l'effacer

Description

SAMConnection
SAMMessage peek ( string $target [, array $properties ] )

Liste de paramètres

target

L'identité de la file d'attente depuis laquelle on lit le message.

properties

Un tableau associatif optionnel de propriétés décrivant les autres paramètres pour contrôler l'opération.

Nom de la propriété | Valeurs possibles
SAM_CORRELID | C'est l'identifiant de corrélation des messages à lire. Ceci est typiquement retourné par la demande "send".
SAM_MESSAGEID | C'est l'identifiant du message à lire.

Valeurs de retour

Cette méthode retourne un objet SAMMessage ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupération du prochain message depuis la file d'attente sans l'effacer

<?php
$msg = $conn->peek('queue://receive/test');

if (!$msg) {
  // Échec de la lecture !
  echo "Échec de la lecture : ($conn->errno) $conn->error";
}
?>

Exemple #2 Récupération d'un message spécifique depuis la file d'attente sans l'effacer

<?php
$msg = $conn->peek('queue://receive/test', array(SAM_MESSAGEID => $messageId));
?>

Voir aussi

  • SAMConnection->peekAll

SAMConnection->isConnected
SAMConnection->peekAll
Fonctions SAM


Lit un ou plusieurs messages depuis la file d'attente sans les effacer

SAMConnection->peek
SAMConnection->receive
Fonctions SAM
PHP Manual

SAMConnection->peekAll

(PECL sam >= 0.2.0)

SAMConnection->peekAll — Lit un ou plusieurs messages depuis la file d'attente sans les effacer

Description

SAMConnection
array peekAll ( string $target [, array $properties ] )

Liste de paramètres

target

L'identité de la file d'attente depuis laquelle les messages doivent être lus.

properties

Un tableau associatif optionnel de propriétés décrivant les autres paramètres pour contrôler l'opération.

Nom de la propriété | Valeurs possibles
SAM_CORRELID | C'est l'identifiant de corrélation des messages à lire. Ceci est typiquement retourné par la demande "send".
SAM_MESSAGEID | C'est l'identifiant du message à lire.

Valeurs de retour

Cette méthode retourne un tableau d'objets SAMMessage ou FALSE si une erreur survient.

Exemples

Exemple #1 Récupération de tous les messages d'une file d'attente sans les effacer

<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
   foreach ( $msgArray as $key => $msg) {
       echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "Échec de PeekAll ($conn->errno) $conn->error";
}
?>

Exemple #2 Récupération de tous les messages d'une file d'attente correspondant à un identifiant de corrélation

<?php

$msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
if ($msgArray) {

   foreach ( $msgArray as $key => $msg) {
         echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "Erreur de lecture : ($conn->errno) $conn->error";
}

?>

Voir aussi

  • SAMConnection->peek

SAMConnection->peek
SAMConnection->receive
Fonctions SAM


Reçoit un message depuis une file d'attente ou d'une souscription

SAMConnection->peekAll
SAMConnection->remove
Fonctions SAM
PHP Manual

SAMConnection->receive

(PECL sam >= 0.1.0)

SAMConnection->receive — Reçoit un message depuis une file d'attente ou d'une souscription

Description

SAMConnection
SAMMessage receive ( string $target [, array $properties ] )

Liste de paramètres

target

L'identité de la file d'attente, du sujet ou de la souscription depuis lequel le message est reçu.

properties

Un tableau associatif optionnel de propriétés décrivant les autres paramètres pour contrôler l'opération de réception :

Nom de la propriété | Valeurs possibles
SAM_CORRELID | Utilisé pour demander la réception d'un message en se basant sur l'identifiant de corrélation du message.
SAM_MESSAGEID | Utilisé pour demander la réception d'un message en se basant sur l'identifiant du message.
SAM_WAIT | Délai d'attente maximal en millisecondes permettant de contrôler le temps d'attente de réception du message avant de retourner une erreur si aucun message n'est disponible sur la file d'attente ou sur le sujet. La valeur par défaut est 0, ce qui signifie que le délai est infini et doit donc être utilisée avec précaution car la demande attendra jusqu'au temps limite d'exécution PHP si aucun message n'est disponible.

Valeurs de retour

Cette méthode retourne un objet SAMMessage ou FALSE si une erreur survient.

Exemples

Exemple #1 Réception d'un message depuis la file d'attente

<?php
$msg = $conn->receive('queue://receive/test');

if (!$msg) {
  // La réception a échoué !
  echo "La réception a échoué : ($conn->errno) $conn->error";
}
?>

Exemple #2 Réception d'un message depuis la file d'attente avec des options

Dans cet exemple, l'option SAM_CORRELID est utilisé pour spécifier un identifiant de corrélation à utiliser pour identifier le message à recevoir ainsi qu'un délai d'attente maximal de 10 secondes.

<?php

$msg = $conn->receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));

?>

Exemple #3 Réception d'un message depuis une souscription

Dans cet exemple, nous montrons comment réceptionner un message depuis un identifiant de souscription.

<?php
$msg = $conn->receive($subscriptionName);

if (!$msg) {
  // La réception a échoué !
  echo "La réception a échoué : ($conn->errno) $conn->error";
}
?>

Noter que $subscriptionName est un identifiant de souscription retourné lors d'un précédent appel à une souscription.

Voir aussi

  • SAMConnection->send

SAMConnection->peekAll
SAMConnection->remove
Fonctions SAM


Efface un message depuis la file d'attente

SAMConnection->receive
SAMConnection->rollback
Fonctions SAM
PHP Manual

SAMConnection->remove

(PECL sam >= 0.1.0)

SAMConnection->remove — Efface un message depuis la file d'attente

Description

SAMConnection
SAMMessage remove ( string $target [, array $properties ] )

Efface un message depuis la file d'attente.

Liste de paramètres

target

L'identité de la file d'attente depuis laquelle le message doit être effacé.

properties

Un tableau associatif optionnel de propriétés décrivant les autres paramètres permettant le contrôle de l'opération.

Nom de la propriété | Valeurs possibles
SAM_CORRELID | C'est l'identifiant de corrélation des messages à lire. Ceci est typiquement retourné par la demande "send".
SAM_MESSAGEID | C'est l'identifiant du message à effacer.

Valeurs de retour

Cette méthode retourne FALSE si une erreur survient.

Exemples

Exemple #1 Effacement d'un message depuis la file d'attente en utilisant un identifiant de message

<?php
if (!$conn->remove('queue://receive/test', array(SAM_MESSAGEID => $messageId))) {
  // L'effacement a échoué !
  echo "L'effacement a échoué : ($conn->errno) $conn->error";
}
?>

SAMConnection->receive
SAMConnection->rollback
Fonctions SAM


Annulation d'un travail

SAMConnection->remove
SAMConnection->send
Fonctions SAM
PHP Manual

SAMConnection->rollback

(PECL sam >= 0.1.0)

SAMConnection->rollback — Annulation d'un travail

Description

SAMConnection
bool rollback ( void )

Annulation d'un travail.

Valeurs de retour

Cette méthode retourne FALSE si une erreur survient.

Exemples

Exemple #1 Annulation d'un travail

<?php
if (!$conn->rollback()) {
  // L'annulation a échoué !
  echo "L'annulation a échoué : ($conn->errno) $conn->error";
}
?>

Voir aussi

  • SAMConnection->commit

SAMConnection->remove
SAMConnection->send
Fonctions SAM


Envoie un message à une file d'attente ou le publie sur un sujet

SAMConnection->rollback
SAMConnection::setDebug
Fonctions SAM
PHP Manual

SAMConnection->send

(PECL sam >= 0.1.0)

SAMConnection->send — Envoie un message à une file d'attente ou le publie sur un sujet

Description

SAMConnection
string send ( string $target , SAMMessage $msg [, array $properties ] )

La méthode "send" est utilisée pour envoyer un message à une file d'attente spécifique ou le publier à un sujet spécifique. La méthode retourne l'identifiant de corrélation qui peut être utilisé comme sélecteur pour identifier les messages réponses.

Liste de paramètres

target

Si l'on envoie un message, ce sera l'identité de la file d'attente (queue://queuename) ou, si on le publie à un sujet spécifique, l'identité du sujet (topic://topicname) auquel le message doit être délivré.

msg

Le message à envoyer ou à publier.

properties

Un tableau associatif optionnel de propriétés décrivant les autres paramètres pour contrôler l'opération.

Nom de la propriété | Valeurs de la propriété
SAM_DELIVERYMODE | Indique si le serveur de messagerie doit s'assurer de la délivrance du message ou s'il accepte que les messages soient perdus en cas de défaillance du serveur de messagerie. La valeur de cette propriété peut être définie soit à SAM_PERSISTENT, pour indiquer que la perte des messages n'est pas acceptable, soit à SAM_NON_PERSISTENT si la perte de messages est acceptable. Le comportement résultant de l'envoi dépendra des capacités du serveur de messagerie auquel est connecté le script PHP. Si le serveur ne supporte pas les messages persistants et que SAM_PERSISTENT est spécifié, l'envoi échouera avec une erreur indiquant que la fonctionnalité n'est pas disponible.
SAM_PRIORITY | Une valeur numérique entre 0 et 9 indique la priorité de délivrance du message. Une valeur de priorité de 0 indique une priorité basse, alors que 9 indique une priorité haute. Si aucune priorité n'est spécifiée, une valeur par défaut sera passée, dépendant du serveur de messagerie utilisé.
SAM_CORRELID | Une chaîne à assigner comme identifiant de corrélation pour ce message. Si aucune valeur n'est fournie, le serveur de messagerie peut assigner une valeur automatiquement.
SAM_TIMETOLIVE | Une durée, en millisecondes, indiquant combien de temps le serveur de messagerie doit retenir le message dans une file d'attente avant de le jeter. La valeur par défaut est 0 indiquant que le message doit être retenu indéfiniment.
SAM_WMQ_TARGET_CLIENT | Cette propriété n'est valide que lors de l'utilisation de WebSphere MQ et indique si l'on doit inclure un en-tête RFH2 dans le message. Cette option doit être définie à 'jms' ou 'mq'. Par défaut, elle vaut 'jms' ce qui signifie que l'en-tête RFH2 est incluse. Si la valeur 'mq' est spécifiée, alors, aucun en-tête RFH2 ne sera inclus dans le message.

Valeurs de retour

Un identifiant de corrélation qui peut être utilisé dans un appel de réception en tant que sélecteur pour obtenir toutes les réponses, ou FALSE si une erreur survient.

Note: Note : un identifiant de corrélation ne sera retourné qu'en cas d'un envoi réussi à une file d'attente (queue://xxxx) et dans ce cas, sera l'identité du message sur la file d'attente. Si l'envoi est destiné à publier des données, la valeur retournée sera TRUE, car aucun identifiant de corrélation ne sera disponible.

Exemples

Exemple #1 Envoi d'un message à une file d'attente

<?php
$msg = new SAMMessage('Ceci est un message simple');
$correlId = $conn->send('queue://send/test', $msg);
if (!$correlId) {
    // L'envoi a échoué !
    echo "L'envoi a échoué : ($conn->errno) $conn->error";
}

?>

Exemple #2 Publication d'un message sur un sujet

<?php
$msg = new SAMMessage('Ceci est un élément simple');
if (!$conn->send('topic://test', $msg)) {
    // L'envoi a échoué !
    echo "L'envoi a échoué : ($conn->errno) $conn->error";
}
?>

Exemple #3 Envoi une demande et réceptionne la réponse

<?php
$msg = new SAMMessage('Ceci est un message simple');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    // L'envoi a échoué !
    echo "L'envoi a échoué : ($conn->errno) $conn->error";
} else {
    $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Voir aussi

  • SAMConnection->receive

SAMConnection->rollback
SAMConnection::setDebug
Fonctions SAM


Active ou non l'affiche des informations de déboguage

SAMConnection->send
SAMConnection->subscribe
Fonctions SAM
PHP Manual

SAMConnection::setDebug

(PECL sam >= 1.1.0)

SAMConnection::setDebug — Active ou non l'affiche des informations de déboguage

Description

La méthode "setdebug" est utilisée pour activer ou non l'affichage des informations de déboguage. Le framework SAM fournira des entrées de méthode/fonction et sortira une trace en plus d'informations connexes. L'implémentation spécifique du protocole fournira également des messages supplémentaires.

SAMConnection
void setDebug ( bool $switch )

Liste de paramètres

switch

Si ce paramètre est défini à TRUE, l'affichage additionnelle des informations de déboguage sera fournie. Si la valeur est définie à FALSE, l'affichage de déboguage sera interrompue.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Activation de l'affichage de déboguage

<?php
$conn->setdebug(TRUE);
?>

Exemple #2 Désactivation de l'affichage de déboguage

<?php
$conn->setdebug(FALSE);
?>

SAMConnection->send
SAMConnection->subscribe
Fonctions SAM


Crée une souscription à un sujet spécifique

SAMConnection::setDebug
SAMConnection->unsubscribe
Fonctions SAM
PHP Manual

SAMConnection->subscribe

(PECL sam >= 0.1.0)

SAMConnection->subscribe — Crée une souscription à un sujet spécifique

Description

SAMConnection
string subscribe ( string $targetTopic )

La méthode "subscribe" est utilisée pour créer une nouvelle souscription à un sujet spécifique.

Liste de paramètres

targetTopic

L'identité du sujet (topic://topicname) à souscrire.

Valeurs de retour

Un identifiant de souscription qui peut être utilisé dans une sous-séquence de réception en tant que sélecteur pour obtenir n'importe quelles données du sujet ou FALSE si une erreur survient. L'identifiant de souscription doit être utilisé dans l'appel de réception en tant que nom du sujet.

Exemples

Exemple #1 Souscription à un sujet

<?php
$subid = $conn->subscribe('topic://A');
if (!$subid) {
  // La souscription a échoué !
  echo "La souscription a échoué : ($conn->errno) $conn->error";
}
?>

Voir aussi

  • SAMConnection->unsubscribe

SAMConnection::setDebug
SAMConnection->unsubscribe
Fonctions SAM


Annule une souscription à un sujet spécifique

SAMConnection->subscribe
SAMMessage->body
Fonctions SAM
PHP Manual

SAMConnection->unsubscribe

(PECL sam >= 0.1.0)

SAMConnection->unsubscribe — Annule une souscription à un sujet spécifique

Description

SAMConnection
bool unsubscribe ( string $subscriptionId [, string $targetTopic ] )

La méthode "unsubscribe" est utilisée pour effacer une souscription existante à un sujet spécifique.

Liste de paramètres

subscriptionId

L'identifiant d'une souscription existante tel que retourné par un appel à la méthode "subscribe".

Valeurs de retour

Cette méthode retourne FALSE si une erreur survient.

Exemples

Exemple #1 Efface une souscription

<?php
if (!$conn->unsubscribe($subid)) {
  // La souscription a échoué !
  echo "La souscription a échoué : ($conn->errno) $conn->error";
}
?>

Voir aussi

  • SAMConnection->subscribe

SAMConnection->subscribe
SAMMessage->body
Fonctions SAM


Définit le corps d'un message

SAMConnection->unsubscribe
SAMMessage->__construct
Fonctions SAM
PHP Manual

SAMMessage->body

(PECL sam >= 0.1.0)

SAMMessage->body — Définit le corps d'un message

Description

SAMMessage
string $body;

La propriété "body" contient le corps actuel du message. Il peut ne pas toujours avoir été défini.

Exemples

Exemple #1 Définition d'un texte dans le corps d'un message

<?php
$msg = new SAMMessage();
$msg->body = 'Ceci est un texte simple.';

?>

Voir aussi

  • SAMMessage->header

SAMConnection->unsubscribe
SAMMessage->__construct
Fonctions SAM


Crée un nouvel objet de message

SAMMessage->body
SAMMessage->header
Fonctions SAM
PHP Manual

SAMMessage->__construct

(PECL sam >= 0.1.0)

SAMMessage->__construct — Crée un nouvel objet de message

Description

SAMMessage
__construct ([ mixed $body ] )

Crée un nouvel objet SAMMessage et, optionnellement, le corps d'un message.

Liste de paramètres

body

Le corps optionnel du message.

Exemples

Exemple #1 Création d'un message

<?php

$msg = new SAMMessage();

?>

Exemple #2 Création d'un message avec un texte simple

<?php

$msg = new SAMMessage('Ceci est un message simple.');

?>

SAMMessage->body
SAMMessage->header
Fonctions SAM


Les propriétés d'en-tête d'un message

SAMMessage->__construct
SNMP
Fonctions SAM
PHP Manual

SAMMessage->header

(PECL sam >= 0.1.0)

SAMMessage->header — Les propriétés d'en-tête d'un message

Description

SAMMessage
object $header;

La propriété header est un conteneur pour n'importe quel système ou propriétés utilisateur dont l'espace est associé au message.

Les propriétés peuvent être assignées par l'expéditeur du message pour contrôler la façon dont le gestionnaire de messagerie va le gérer ou peuvent être assignées par le système de messagerie lui-même pour communiquer au récepteur des informations additionnelles sur le message ou la façon dont il doit le gérer.

Quelques propriétés sont comprises par SAM dans le cas où les constantes y ont été définies. Cependant, la majorité des propriétés sont ignorées par l'implémentation de SAM et simplement passées aux systèmes de messagerie permettant ainsi à l'application d'utiliser les noms des propriétés spécifiques à la messagerie ou pour définir vos propres propriétés "utilisateur".

Les propriétés SAM définies sont les suivantes :

Nom de la propriété | Valeurs possibles
SAM_MESSAGEID | Lorsqu'un message est reçu, ce champs contient l'identifiant unique du message alloué par le système de messagerie. Lorsqu'un message est envoyé, ce champs est ignoré.
SAM_REPLY_TO | Une chaîne de caractères fournissant l'identifiant de la file d'attente à laquelle les réponses à ce message doit être posté.
SAM_TYPE

Une indication du type de message à envoyer. La valeur peut être SAM_TEXT, indiquant que le contenu du corps du message est du texte, ou SAM_BYTES, indiquant que le contenu du corps du message contient des formats définis.

La façon dont cette propriété est utilisée dépend du serveur de messagerie. Pour le moment, un serveur de messagerie qui supporte les spécifications JMS (Java Message Service) interprète cette valeur et envoie des messages du type "jms_text" et "jms_bytes". De plus, si la propriété SAM_TYPE est définie à SAM_TEXT, les données fournies pour le corps du message est supposées être encodées UTF8.

Lors de la configuration des valeurs de ces propriétés, il est souvent utile de fournir un indice quant au format dans lequel la propriété doit être délivrée au serveur de messagerie. Par défaut, les valeurs des propriétés sont délivrées en tant que texte et la syntaxe simple suivante peut être utilisée pour définir une valeur :

Exemple #1 Définition d'une propriété au format texte en utilisant la syntaxe par défaut

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = 'textData';
?>

Si vous voulez passer une information sur le type, une syntaxe alternative peut être utilisée où la valeur et le type sont passés dans un tableau associatif :

Exemple #2 Définition d'une propriété au format texte en utilisant un type

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = array('textData', SAM_STRING);
?>

Lorsque vous passez le type, il doit être un parmi les valeurs des constantes SAM définies, tel que dans le tableau suivant :

Constante | Description du type
SAM_BOOLEAN | Toute valeur passée sera interprétée comme logique, TRUE ou FALSE. Si la valeur n'a pû être interprétée en tant qu'une valeur booléenne PHP, la valeur passée au système de messagerie sera indéfinie.
SAM_BYTE | Une valeur entière signée sur 8-bit. SAM tentera de convertir la valeur spécifiée en une valeur sur un octet à passer au système de messagerie. Si une chaîne de caractères est passée, on tentera de l'interpréter comme une valeur numérique. Si la valeur passée n'a pu être déterminée en tant que valeur binaire signé sur 8-bit, les données peuvent être perdues pendant la conversion.
SAM_DOUBLE | Une valeur longue, à virgule flottante. SAM tentera de convertir la valeur spécifiée en une valeur à virgule flottante avec 15 unités de précision à passer au système de messagerie. Si une chaîne de caractères est passée, on tentera de l'interpréter comme une valeur numérique. Si la valeur passée n'a pû être déterminée en tant que valeur à virgule flottante avec 15 unités de précision, les données peuvent être perdues pendant la conversion.
SAM_FLOAT | Une valeur courte, à virgule flottante. SAM tentera de convertir la valeur spécifiée en une valeur à virgule flottante avec 7 unités de précision à passer au système de messagerie. Si une chaîne de caractères est passée, on tentera de l'interpréter comme une valeur numérique. Si la valeur passée n'a pû être déterminée en tant que valeur à virgule flottante avec 7 unités de précision, les données peuvent être perdues pendant la conversion.
SAM_INT | Une valeur entière signée 32-bit. SAM tentera de convertir la valeur spécifiée en une valeur entière, signée 32-bit à passer au système de messagerie. Si une chaîne de caractères est passée, on tentera de l'interpréter comme une valeur numérique. Si la valeur passée n'a pu être déterminée en tant que valeur entière signée 32-bit, les données peuvent être perdues pendant la conversion.
SAM_LONG | Une valeur entière signée 64-bit. SAM tentera de convertir la valeur spécifiée en une valeur entière, signée 64-bit à passer au système de messagerie. Si une chaîne de caractères est passée, on tentera de l'interpréter comme une valeur numérique. Si la valeur passée n'a pû être déterminée en tant que valeur entière signée 64-bit, les données peuvent être perdues pendant la conversion.
SAM_STRING | SAM interprétera la valeur spécifiée en tant que chaîne de caractères et la passera au système de messagerie.

Exemples

Exemple #3 Définition des propriétés en tant d'expéditeur d'un message

<?php
$msg = new SAMMessage('Ceci est un message test');

// définisstion des propriétés spécifiques à SAM...
$msg->header->SAM_REPLY_TO = 'queue://test/replyQueue';

// définition des propriétés arbitraires...
//
// une chaîne par défaut
$msg->header->myStringProp1 = 'une chaîne';
// une chaîne avec un type
$msg->header->myStringProp2 = array('une autre chaîne', SAM_STRING);

// un booléen
$msg->header->myBoolProp = array(FALSE, SAM_BOOL);

// format numérique
$msg->header->myIntProp = array(32768, SAM_INT);
$msg->header->myLongProp = array(9876543, SAM_LONG);
$msg->header->myByteProp1 = array(123, SAM_BYTE);
$msg->header->myByteProp2 = array('12', SAM_BYTE);
$msg->header->myFloatProp = array(3.141592, SAM_FLOAT);
$msg->header->myDoubleProp = array(3.14159265358979, SAM_DOUBLE);
?>

Exemple #4 Récupération d'une valeurs depuis un message

<?php

// accès à une propriété spécifique
$intProp = $msg->header->MyIntProp;

// accès à une propriété spécifique
$encoding = $msg->header->JMS_IBM_Msgtype;

?>

Voir aussi

  • SAMMessage->body

SAMMessage->__construct
SNMP
Fonctions SAM


SNMP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions SNMP
    • snmp_get_quick_print — Lit la valeur courante de l'option quick_print de la bibliothèque UCD
    • snmp_get_valueretrieval — Retourne la méthode avec laquelle les valeurs SNMP seront retournées
    • snmp_read_mib — Lit et analyse un fichier MIB dans l'arbre actif MIB
    • snmp_set_enum_print — Retourne toutes les valeurs qui sont des énumérations avec leur valeur d'énumération au lieu de l'entier
    • snmp_set_oid_numeric_print — Retourne tous les objets y compris leur identifiant d'objet dans celui spécifié
    • snmp_set_oid_output_format — Définit le format de sortie OID
    • snmp_set_quick_print — Écrit la valeur courante de l'option quick_print de la bibliothèque UCD SNMP
    • snmp_set_valueretrieval — Spécifie la méthode avec laquelle les valeurs SNMP seront retournées
    • snmpget — Reçoit un objet SNMP
    • snmpgetnext — Retourne un objet SNMP
    • snmprealwalk — Retourne tous les objets, y compris leur ID d'objet
    • snmpset — Configure un objet SNMP
    • snmpwalk — Reçoit tous les objets SNMP d'un agent
    • snmpwalkoid — Demande d'informations d'arbre sur une entité du réseau
SAMMessage->header
Introduction
Autres services


Introduction

Fonctions SNMP.

SNMP
Installation/Configuration
SNMP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SNMP


Pré-requis

Afin d'utiliser les fonctions SNMP sous Unix, vous devez installer le paquet » NET-SNMP. Sous Windows, ces fonctions ne sont disponibles que pour NT, et non pour Win95/98.

Installation/Configuration
Installation
Installation/Configuration


Installation

Important : afin d'utiliser le paquet UCD SNMP, vous devez mettre la variable NO_ZEROLENGTH_COMMUNITY à 1 avant de compiler. Après avoir configuré UCD SNMP, éditez le fichier config.h ou le fichier acconfig.h et recherchez la valeur NO_ZEROLENGTH_COMMUNITY. Décommentez la ligne contenant le #define. Cela doit ressembler à ceci :

#define NO_ZEROLENGTH_COMMUNITY 1
Ensuite, compilez PHP avec l'option --with-snmp[=DIR].

Si vous rencontrez des erreurs étranges de "segmentation fault", lors de l'utilisation des commandes SNMP, c'est que vous n'avez pas suivi les recommandations précédentes. Si vous ne voulez pas recompiler UCD SNMP, vous pouvez aussi recompiler PHP avec l'option --enable-ucd-snmp-hack qui évitera cette erreur.

Les versions 5.3.0, 5.3.1 et 5.3.2 de PHP n'ont pas de support SNMP. Le support SNMP a été restauré en PHP 5.3.3.

La distribution Windows contient des fichiers nécessaires à SNMP dans le dossier mibs. Ce dossier doit être déplacé dans DRIVE:\usr\mibs, où DRIVE doit être remplacé par la lettre de driver où PHP est installé, c'est-à-dire, par exemple c:\usr\mibs.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SNMP_OID_OUTPUT_FULL (entier)
Depuis 5.2.0
SNMP_OID_OUTPUT_NUMERIC (entier)
Depuis 5.2.0
SNMP_VALUE_LIBRARY (entier)
SNMP_VALUE_PLAIN (entier)
SNMP_VALUE_OBJECT (entier)
SNMP_BIT_STR (entier)
SNMP_OCTET_STR (entier)
SNMP_OPAQUE (entier)
SNMP_NULL (entier)
SNMP_OBJECT_ID (entier)
SNMP_IPADDRESS (entier)
SNMP_COUNTER (entier)
SNMP_UNSIGNED (entier)
SNMP_TIMETICKS (entier)
SNMP_UINTEGER (entier)
SNMP_INTEGER (entier)
SNMP_COUNTER64 (entier)
Types de ressources
Fonctions SNMP
SNMP


Fonctions SNMP

Sommaire

  • snmp_get_quick_print — Lit la valeur courante de l'option quick_print de la bibliothèque UCD
  • snmp_get_valueretrieval — Retourne la méthode avec laquelle les valeurs SNMP seront retournées
  • snmp_read_mib — Lit et analyse un fichier MIB dans l'arbre actif MIB
  • snmp_set_enum_print — Retourne toutes les valeurs qui sont des énumérations avec leur valeur d'énumération au lieu de l'entier
  • snmp_set_oid_numeric_print — Retourne tous les objets y compris leur identifiant d'objet dans celui spécifié
  • snmp_set_oid_output_format — Définit le format de sortie OID
  • snmp_set_quick_print — Écrit la valeur courante de l'option quick_print de la bibliothèque UCD SNMP
  • snmp_set_valueretrieval — Spécifie la méthode avec laquelle les valeurs SNMP seront retournées
  • snmpget — Reçoit un objet SNMP
  • snmpgetnext — Retourne un objet SNMP
  • snmprealwalk — Retourne tous les objets, y compris leur ID d'objet
  • snmpset — Configure un objet SNMP
  • snmpwalk — Reçoit tous les objets SNMP d'un agent
  • snmpwalkoid — Demande d'informations d'arbre sur une entité du réseau
Constantes pré-définies
snmp_get_quick_print
SNMP


Lit la valeur courante de l'option quick_print de la bibliothèque UCD

Fonctions SNMP
snmp_get_valueretrieval
Fonctions SNMP
PHP Manual

snmp_get_quick_print

(PHP 4, PHP 5)

snmp_get_quick_print — Lit la valeur courante de l'option quick_print de la bibliothèque UCD

Description

bool snmp_get_quick_print ( void )

snmp_get_quick_print() retourne la valeur courante, stockée dans la bibliothèque UCD, de l'option quick_print. Par défaut, quick_print est désactivée.

Valeurs de retour

Retourne TRUE si quick_print est actif, FALSE sinon.

Exemples

Exemple #1 Exemple avec snmp_get_quick_print()

<?php
$quickprint = snmp_get_quick_print();
?>

Voir aussi

  • snmp_set_quick_print() - Écrit la valeur courante de l'option quick_print de la bibliothèque UCD SNMP pour une description complète sur ce que fait quick_print.

Fonctions SNMP
snmp_get_valueretrieval
Fonctions SNMP


Retourne la méthode avec laquelle les valeurs SNMP seront retournées

snmp_get_quick_print
snmp_read_mib
Fonctions SNMP
PHP Manual

snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_get_valueretrieval — Retourne la méthode avec laquelle les valeurs SNMP seront retournées

Description

int snmp_get_valueretrieval ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • snmp_set_valueretrieval() - Spécifie la méthode avec laquelle les valeurs SNMP seront retournées

snmp_get_quick_print
snmp_read_mib
Fonctions SNMP


Lit et analyse un fichier MIB dans l'arbre actif MIB

snmp_get_valueretrieval
snmp_set_enum_print
Fonctions SNMP
PHP Manual

snmp_read_mib

(PHP 5)

snmp_read_mib — Lit et analyse un fichier MIB dans l'arbre actif MIB

Description

bool snmp_read_mib ( string $filename )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

snmp_get_valueretrieval
snmp_set_enum_print
Fonctions SNMP


Retourne toutes les valeurs qui sont des énumérations avec leur valeur d'énumération au lieu de l'entier

snmp_read_mib
snmp_set_oid_numeric_print
Fonctions SNMP
PHP Manual

snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_enum_print — Retourne toutes les valeurs qui sont des énumérations avec leur valeur d'énumération au lieu de l'entier

Description

void snmp_set_enum_print ( int $enum_print )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Notes

Note: snmp_set_enum_print() est uniquement disponible lors de l'utilisation de la bibliothèque UCD SNMP. Cette fonction n'est pas disponible lors de l'utilisation de la bibliothèque SNMP de Windows.

snmp_read_mib
snmp_set_oid_numeric_print
Fonctions SNMP


Retourne tous les objets y compris leur identifiant d'objet dans celui spécifié

snmp_set_enum_print
snmp_set_oid_output_format
Fonctions SNMP
PHP Manual

snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_oid_numeric_print — Retourne tous les objets y compris leur identifiant d'objet dans celui spécifié

Description

void snmp_set_oid_numeric_print ( int $oid_numeric_print )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Historique

Version | Description
5.2.0 | Depuis PHP 5.2.0, Cette fonction est un alias de : snmp_set_oid_output_format().

Voir aussi

  • snmp_set_oid_output_format() - Définit le format de sortie OID

snmp_set_enum_print
snmp_set_oid_output_format
Fonctions SNMP


Définit le format de sortie OID

snmp_set_oid_numeric_print
snmp_set_quick_print
Fonctions SNMP
PHP Manual

snmp_set_oid_output_format

(PHP 5 >= 5.2.0)

snmp_set_oid_output_format — Définit le format de sortie OID

Description

void snmp_set_oid_output_format ( int $oid_format )

snmp_set_oid_output_format() définit le format de sortie afin qu'il soit complet ou numérique.

Liste de paramètres

oid_format

Définissez ce paramètre à SNMP_OID_OUTPUT_FULL si vous voulez un affichage complet, à SNMP_OID_OUTPUT_NUMERIC sinon.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: snmp_set_oid_output_format() n'est disponible que lors de l'utilisation de la bibliothèque UCD SNMP. Cette fonction n'est pas disponible lors de l'utilisation de la bibliothèque SNMP de Windows.

snmp_set_oid_numeric_print
snmp_set_quick_print
Fonctions SNMP


Écrit la valeur courante de l'option quick_print de la bibliothèque UCD SNMP

snmp_set_oid_output_format
snmp_set_valueretrieval
Fonctions SNMP
PHP Manual

snmp_set_quick_print

(PHP 4, PHP 5)

snmp_set_quick_print — Écrit la valeur courante de l'option quick_print de la bibliothèque UCD SNMP

Description

void snmp_set_quick_print ( bool $quick_print )

Fixe la valeur de l'option quick_print de la bibliothèque UCD SNMP. Lorsqu'elle a la valeur de (1), la bibliothèque SNMP retournera des valeurs 'rapides'. Cela signifie que seule, la valeur sera retournée. Lorsque l'option quick_print n'est pas activée (par défaut), la bibliothèque UCD SNMP va afficher d'autres informations (telles que l'adresse IP (IpAddress) ou OID). De plus, si quick_print n'est pas activée, la bibliothèque affichera aussi des valeurs hexadécimales supplémentaires pour toutes les chaînes de trois caractères ou moins.

Par défaut, UCD SNMP retourne des valeurs détaillées, et quick_print sert à ne retourner que la valeur.

Actuellement, les chaînes sont toujours retournées avec des guillemets supplémentaires. Ceci sera corrigé ultérieurement.

Liste de paramètres

quick_print

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Modifier quick_print est plus fréquent lorsqu'on utilise les valeurs retournées que lorsqu'on les affiche.

Exemple #1 Exemple avec snmp_set_quick_print()

<?php
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

'Timeticks: (0) 0:00:00.00'
'0:00:00.00'

Voir aussi

  • snmp_get_quick_print() - Lit la valeur courante de l'option quick_print de la bibliothèque UCD

snmp_set_oid_output_format
snmp_set_valueretrieval
Fonctions SNMP


Spécifie la méthode avec laquelle les valeurs SNMP seront retournées

snmp_set_quick_print
snmpget
Fonctions SNMP
PHP Manual

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_set_valueretrieval — Spécifie la méthode avec laquelle les valeurs SNMP seront retournées

Description

void snmp_set_valueretrieval ( int $method )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • snmp_get_valueretrieval() - Retourne la méthode avec laquelle les valeurs SNMP seront retournées

snmp_set_quick_print
snmpget
Fonctions SNMP


Reçoit un objet SNMP

snmp_set_valueretrieval
snmpgetnext
Fonctions SNMP
PHP Manual

snmpget

(PHP 4, PHP 5)

snmpget — Reçoit un objet SNMP

Description

string snmpget ( string $hostname , string $community , string $object_id [, int $timeout [, int $retries ]] )

snmpget() sert à lire une valeur d'un objet SNMP représenté par object_id.

Liste de paramètres

hostname

L'agent SNMP.

community

La communauté de lecture.

object_id

L'objet SNMP.

timeout

Le nombre de microsecondes depuis le premier timeout.

retries

Valeurs de retour

Retourne la valeur de l'objet SNMP en cas de succès, FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec snmpget()

<?php
$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");
?>

Voir aussi

  • snmpset() - Configure un objet SNMP

snmp_set_valueretrieval
snmpgetnext
Fonctions SNMP


Retourne un objet SNMP

snmpget
snmprealwalk
Fonctions SNMP
PHP Manual

snmpgetnext

(PHP 5)

snmpgetnext — Retourne un objet SNMP

Description

string snmpgetnext ( string $host , string $community , string $object_id [, int $timeout [, int $retries ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

snmpget
snmprealwalk
Fonctions SNMP


Retourne tous les objets, y compris leur ID d'objet

snmpgetnext
snmpset
Fonctions SNMP
PHP Manual

snmprealwalk

(PHP 4, PHP 5)

snmprealwalk — Retourne tous les objets, y compris leur ID d'objet

Description

array snmprealwalk ( string $host , string $community , string $object_id [, int $timeout [, int $retries ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

snmpgetnext
snmpset
Fonctions SNMP


Configure un objet SNMP

snmprealwalk
snmpwalk
Fonctions SNMP
PHP Manual

snmpset

(PHP 4, PHP 5)

snmpset — Configure un objet SNMP

Description

bool snmpset ( string $hostname , string $community , string $object_id , string $type , mixed $value [, int $timeout [, int $retries ]] )

snmpset() sert à définir la valeur de l'objet SNMP spécifié par object_id.

Liste de paramètres

hostname

L'agent SNMP.

community

La communauté de lecture.

object_id

L'objet SNMP.

type

value

timeout

Le nombre de microsecondes depuis le premier timeout.

retries

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • snmpget() - Reçoit un objet SNMP

snmprealwalk
snmpwalk
Fonctions SNMP


Reçoit tous les objets SNMP d'un agent

snmpset
snmpwalkoid
Fonctions SNMP
PHP Manual

snmpwalk

(PHP 4, PHP 5)

snmpwalk — Reçoit tous les objets SNMP d'un agent

Description

array snmpwalk ( string $hostname , string $community , string $object_id [, int $timeout [, int $retries ]] )

snmpwalk() est utilisé pour lire toutes les valeurs d'un agent SNMP spécifié par hostname.

Liste de paramètres

hostname

L'agent SNMP.

community

La communauté de lecture.

object_id

Si NULL, object_id est pris comme racine des objets SNMP et tous les objets de cet arbre sont retournés sous la forme d'un tableau.

Si object_id est spécifié, tous les objets SNMP suivant cet object_id sont retournés.

timeout

Le nombre de microsecondes depuis le premier timeout.

retries

Valeurs de retour

Retourne un tableau de valeurs de l'objet SNMP, en commençant par object_id ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec snmpwalk()

<?php
$a = snmpwalk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

L'appel à la fonction ci-dessus retournera tous les objets SNMP depuis l'agent SNMP exécuté sur l'hôte local. On parcourt les valeurs via une boucle.

Voir aussi

  • snmpwalkoid() - Demande d'informations d'arbre sur une entité du réseau

snmpset
snmpwalkoid
Fonctions SNMP


Demande d'informations d'arbre sur une entité du réseau

snmpwalk
Sockets
Fonctions SNMP
PHP Manual

snmpwalkoid

(PHP 4, PHP 5)

snmpwalkoid — Demande d'informations d'arbre sur une entité du réseau

Description

array snmpwalkoid ( string $hostname , string $community , string $object_id [, int $timeout [, int $retries ]] )

snmpwalkoid() est utilisé pour lire tous les identifiant d'objets ainsi que leurs valeurs respectives depuis l'agent SNMP spécifié par hostname.

L'existence de snmpwalkoid() et snmpwalk() a des raisons historiques. Les deux fonctions fournissent des compatibilités ascendantes. Utilisez plutôt la fonction snmprealwalk().

Liste de paramètres

hostname

L'agent SNMP.

community

La communauté de lecture.

object_id

Si NULL, object_id est pris comme racine des objets SNMP et tous les objets de cet arbre sont retournés sous la forme d'un tableau.

Si object_id est spécifié, tous les objets SNMP suivant cet object_id sont retournés.

timeout

Le nombre de microsecondes depuis le premier timeout.

retries

Valeurs de retour

Retourne un tableau associatif contenant les identifiants des objets ainsi que leurs valeurs respectives, à partir de object_id, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec snmpwalkoid()

<?php
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
    echo "$i: $a[$i]<br />\n";
}
?>

L'appel à la fonction ci-dessus retournera tous les objets SNMP depuis l'agent SNMP exécuté sur l'hôte local. On parcourt les valeurs via une boucle.

Voir aussi

  • snmpwalk() - Reçoit tous les objets SNMP d'un agent

snmpwalk
Sockets
Fonctions SNMP


Sockets

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Erreurs de socket
  • Fonctions sur les sockets
    • socket_accept — Accepte une connexion sur une socket
    • socket_bind — Lie un nom à une socket
    • socket_clear_error — Efface toutes les erreurs précédemment générées par une socket
    • socket_close — Ferme une socket
    • socket_connect — Crée une connexion sur une socket
    • socket_create_listen — Ouvre une socket sur un port pour accepter les connexions
    • socket_create_pair — Crée une paire de sockets identiques et les stocke dans un tableau
    • socket_create — Crée une socket
    • socket_get_option — Lit les options de la socket
    • socket_getpeername — Interroge l'autre extrémité de la communication
    • socket_getsockname — Interroge la socket locale
    • socket_last_error — Lit la dernière erreur générée par une socket
    • socket_listen — Attend une connexion sur une socket
    • socket_read — Lit des données d'une socket
    • socket_recv — Reçoit des données d'une socket connectée
    • socket_recvfrom — Reçoit des données d'une socket, connectée ou pas
    • socket_select — Exécute l'appel système select() un tableau de sockets avec une durée d'expiration
    • socket_send — Envoie des données à une socket connectée
    • socket_sendto — Envoie une message à une socket, qu'elle soit connectée ou pas
    • socket_set_block — Met la socket en mode bloquant
    • socket_set_nonblock — Sélectionne le mode non bloquant d'un pointeur de fichier
    • socket_set_option — Modifie les options de socket
    • socket_shutdown — Éteint une socket en lecture et/ou écriture
    • socket_strerror — Retourne une chaîne décrivant un message d'erreur
    • socket_write — Écrit dans une socket
snmpwalkoid
Introduction
Autres services


Introduction

L'extension socket implémente une interface bas niveau avec les fonctions de communication par socket, basées sur les sockets BSD si populaires, et fournit la possibilité de fonctionner aussi bien sous forme de client que de serveur.

Pour une interface socket cliente plus générique, voyez
stream_socket_client(),
stream_socket_server(),
fsockopen() et
pfsockopen().

Lorsque vous utilisez ces fonctions, il est important de vous rappeler que si de nombreuses fonctions ont le même nom que leur équivalent en langage C, elles ont souvent des déclarations différentes. Lisez attentivement les descriptions pour éviter des confusions.

Cela dit, ceux qui ne sont pas familiers avec la programmation par socket peuvent toujours trouver beaucoup de documentation dans les pages de manuel Unix appropriées, et il y a une grande quantité d'introductions en langage C sur le web, qui peuvent être facilement réutilisées, avec des adaptations mineures. » UNIX Socket FAQ est un bon début.

Sockets
Installation/Configuration
Sockets


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Sockets


Installation

Les fonctions de socket décrites ici font partie d'une extension PHP qui doit être activée lors de la compilation en utilisant l'option --enable-sockets, avec la commande configure.

Note: Le support des adresses IPv6 a été ajouté en PHP 5.0.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

socket_accept(), socket_create_listen() et socket_create() retournent des ressources sur les sockets.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

AF_UNIX (entier)
AF_INET (entier)
AF_INET6 (entier)
Uniquement disponible si PHP est compilé avec le support IPv6.
SOCK_STREAM (entier)
SOCK_DGRAM (entier)
SOCK_RAW (entier)
SOCK_SEQPACKET (entier)
SOCK_RDM (entier)
MSG_OOB (entier)
MSG_WAITALL (entier)
MSG_PEEK (entier)
MSG_DONTROUTE (entier)
MSG_EOR (entier)
Indisponible sur les plate-formes Windows.
MSG_EOF (entier)
Indisponible sur les plate-formes Windows.
SO_DEBUG (entier)
SO_REUSEADDR (entier)
SO_KEEPALIVE (entier)
SO_DONTROUTE (entier)
SO_LINGER (entier)
SO_BROADCAST (entier)
SO_OOBINLINE (entier)
SO_SNDBUF (entier)
SO_RCVBUF (entier)
SO_SNDLOWAT (entier)
SO_RCVLOWAT (entier)
SO_SNDTIMEO (entier)
SO_RCVTIMEO (entier)
SO_TYPE (entier)
SO_ERROR (entier)
TCP_NODELAY (entier)
Utilisé pour désactiver l'algorithme Nagle TCP. Ajouté en PHP 5.2.7.
SOL_SOCKET (entier)
PHP_NORMAL_READ (entier)
PHP_BINARY_READ (entier)
SOL_TCP (entier)
SOL_UDP (entier)

Les constantes suivantes ne sont définies que sous Windows.

SOCKET_EINTR (entier)
SOCKET_EBADF (entier)
SOCKET_EACCES (entier)
SOCKET_EFAULT (entier)
SOCKET_EINVAL (entier)
SOCKET_EMFILE (entier)
SOCKET_EWOULDBLOCK (entier)
SOCKET_EINPROGRESS (entier)
SOCKET_EALREADY (entier)
SOCKET_ENOTSOCK (entier)
SOCKET_EDESTADDRREQ (entier)
SOCKET_EMSGSIZE (entier)
SOCKET_EPROTOTYPE (entier)
SOCKET_ENOPROTOOPT (entier)
SOCKET_EPROTONOSUPPORT (entier)
SOCKET_ESOCKTNOSUPPORT (entier)
SOCKET_EOPNOTSUPP (entier)
SOCKET_EPFNOSUPPORT (entier)
SOCKET_EAFNOSUPPORT (entier)
SOCKET_EADDRINUSE (entier)
SOCKET_EADDRNOTAVAIL (entier)
SOCKET_ENETDOWN (entier)
SOCKET_ENETUNREACH (entier)
SOCKET_ENETRESET (entier)
SOCKET_ECONNABORTED (entier)
SOCKET_ECONNRESET (entier)
SOCKET_ENOBUFS (entier)
SOCKET_EISCONN (entier)
SOCKET_ENOTCONN (entier)
SOCKET_ESHUTDOWN (entier)
SOCKET_ETOOMYREFS (entier)
SOCKET_ETIMEDOUT (entier)
SOCKET_ECONNREFUSED (entier)
SOCKET_ELOOP (entier)
SOCKET_ENAMETOOLONG (entier)
SOCKET_EHOSTDOWN (entier)
SOCKET_EHOSTUNREACH (entier)
SOCKET_ENOTEMPTY (entier)
SOCKET_EPROCLIM (entier)
SOCKET_EUSERS (entier)
SOCKET_EDUOT (entier)
SOCKET_ESTALE (entier)
SOCKET_EREMOTE (entier)
SOCKET_EDISCON (entier)
SOCKET_SYSNOTREADY (entier)
SOCKET_VERNOTSUPPORTED (entier)
SOCKET_NOTINITIALISED (entier)
SOCKET_HOST_NOT_FOUND (entier)
SOCKET_TRY_AGAIN (entier)
SOCKET_NO_RECOVERY (entier)
SOCKET_NO_DATA (entier)
SOCKET_NO_ADDRESS (entier)

Les constantes suivantes sont disponibles uniquement sur les plate-formes Unix. Chaque constantes n'est définie que si leur équivalent est défini au niveau système.

SOCKET_EPERM (entier)
Opération non permise.
SOCKET_ENOENT (entier)
Le fichier ou dossier n'existe pas.
SOCKET_EINTR (entier)
Appel système interrompu.
SOCKET_EIO (entier)
Erreur E/S.
SOCKET_ENXIO (entier)
Le volume ou l'adresse n'existe pas.
SOCKET_E2BIG (entier)
Liste d'arguments trop longue.
SOCKET_EBADF (entier)
Mauvais numéro de fichier.
SOCKET_EAGAIN (entier)
Essayez encore.
SOCKET_ENOMEM (entier)
Plus de mémoire.
SOCKET_EACCES (entier)
Droits insuffisants.
SOCKET_EFAULT (entier)
Mauvaise adresse.
SOCKET_ENOTBLK (entier)
Bloc device nécessaire.
SOCKET_EBUSY (entier)
Device or ressource occupé.
SOCKET_EEXIST (entier)
Le fichier existe.
SOCKET_EXDEV (entier)
Lien inter-volumes.
SOCKET_ENODEV (entier)
Ce device n'existe pas.
SOCKET_ENOTDIR (entier)
Ce n'est pas un dossier.
SOCKET_EISDIR (entier)
C'est un dossier.
SOCKET_EINVAL (entier)
Argument invalide.
SOCKET_ENFILE (entier)
Dépassement de capacité de table de fichier.
SOCKET_EMFILE (entier)
Trop de fichiers ouverts.
SOCKET_ENOTTY (entier)
Ce n'est pas un typewriter.
SOCKET_ENOSPC (entier)
Plus d'espace sur le disque.
SOCKET_ESPIPE (entier)
Positionnement invalide.
SOCKET_EROFS (entier)
Système de fichiers en lecture seule.
SOCKET_EMLINK (entier)
Trop de liens.
SOCKET_EPIPE (entier)
Pipe interrompu.
SOCKET_ENAMETOOLONG (entier)
Nom de fichier trop long.
SOCKET_ENOLCK (entier)
Pas de verrou disponible.
SOCKET_ENOSYS (entier)
Fonction non implémentée.
SOCKET_ENOTEMPTY (entier)
Dossier non vide.
SOCKET_ELOOP (entier)
Trop de liens symboliques.
SOCKET_EWOULDBLOCK (entier)
L'opération va bloquer.
SOCKET_ENOMSG (entier)
Pas de message du type demandé.
SOCKET_EIDRM (entier)
Identifiant supprimé.
SOCKET_ECHRNG (entier)
Numéro de canal hors de validité.
SOCKET_EL2NSYNC (entier)
Le niveau 2 n'est pas synchronisé.
SOCKET_EL3HLT (entier)
Niveau 3 arrêté.
SOCKET_EL3RST (entier)
Niveau 3 relancé.
SOCKET_ELNRNG (entier)
Numéro de lien hors de validité.
SOCKET_EUNATCH (entier)
Pilote de protocole non attaché.
SOCKET_ENOCSI (entier)
Pas de structure CSI structure disponible.
SOCKET_EL2HLT (entier)
Niveau 2 arrêté.
SOCKET_EBADE (entier)
Échange invalide.
SOCKET_EBADR (entier)
Pointeur de requête invalide.
SOCKET_EXFULL (entier)
Echange complet.
SOCKET_ENOANO (entier)
Pas de anode.
SOCKET_EBADRQC (entier)
Code de requête invalide.
SOCKET_EBADSLT (entier)
Slot invalide.
SOCKET_ENOSTR (entier)
Le device n'est pas un flux.
SOCKET_ENODATA (entier)
Pas de données disponible.
SOCKET_ETIME (entier)
Minuteur expiré.
SOCKET_ENOSR (entier)
Plus de ressources de flux.
SOCKET_ENONET (entier)
La machine n'est pas sur le réseau.
SOCKET_EREMOTE (entier)
L'objet est distant.
SOCKET_ENOLINK (entier)
Le lien a été coupé.
SOCKET_EADV (entier)
Erreur d'advertise.
SOCKET_ESRMNT (entier)
Erreur de srmount.
SOCKET_ECOMM (entier)
Erreur de communication durant l'envoi.
SOCKET_EPROTO (entier)
Erreur de protocole.
SOCKET_EMULTIHOP (entier)
Tentative de multihop.
SOCKET_EBADMSG (entier)
Le message ne contient pas de données.
SOCKET_ENOTUNIQ (entier)
Nom en doublon sur le réseau network.
SOCKET_EBADFD (entier)
Pointeur de fichier dans un état incohérent.
SOCKET_EREMCHG (entier)
L'adresse distante a changé.
SOCKET_ERESTART (entier)
L'appel système interrompu doit être relancé.
SOCKET_ESTRPIPE (entier)
Erreur de flux de pipe.
SOCKET_EUSERS (entier)
Trop d'utilisateurs.
SOCKET_ENOTSOCK (entier)
Opération de socket sur un flux non-socket.
SOCKET_EDESTADDRREQ (entier)
Adresse de destination obligatoire.
SOCKET_EMSGSIZE (entier)
Message trop long.
SOCKET_EPROTOTYPE (entier)
Mauvais type de protocole pour une socket.
SOCKET_EPROTOOPT (entier)
Protocole non disponible.
SOCKET_EPROTONOSUPPORT (entier)
Protocole non supporté.
SOCKET_ESOCKTNOSUPPORT (entier)
Type de socket non supporté.
SOCKET_EOPNOTSUPP (entier)
Opération non supporté par le point de transport.
SOCKET_EPFNOSUPPORT (entier)
Famille de protocole non supportée.
SOCKET_EAFNOSUPPORT (entier)
Famille d'adresse non supportée par le protocole.
SOCKET_ADDRINUSE (entier)
Adresse déjà en cours d'utilisation.
SOCKET_EADDRNOTAVAIL (entier)
Impossible d'assigner l'adresse demandée.
SOCKET_ENETDOWN (entier)
Le réseau est planté.
SOCKET_ENETUNREACH (entier)
Le réseau est inaccessible.
SOCKET_ENETRESET (entier)
Le réseau a abandonné la connexion à cause d'un redémarrage.
SOCKET_ECONNABORTED (entier)
L'application a causé l'annulation de la connexion.
SOCKET_ECONNRESET (entier)
Connexion reset par l'hôte.
SOCKET_ENOBUFS (entier)
Plus d'espace disponible dans le buffer.
SOCKET_EISCONN (entier)
Le point de transport est déjà connecté.
SOCKET_ENOTCONN (entier)
Le point de transport n'est pas connecté.
SOCKET_ESHUTDOWN (entier)
Impossible d'envoyer des données après l'extinction du point de transfert.
SOCKET_ETOOMANYREFS (entier)
Trop de références : impossible de recoller.
SOCKET_ETIMEDOUT (entier)
La connexion a expiré.
SOCKET_ECONNREFUSED (entier)
Connexion refusée.
SOCKET_EHOSTDOWN (entier)
L'hôte est inactif.
SOCKET_EHOSTUNREACH (entier)
Pas de route jusqu'à l'hôte.
SOCKET_EALREADY (entier)
Opération déjà en cours.
SOCKET_EINPROGRESS (entier)
Opération maintenant en cours.
SOCKET_EISNAM (entier)
Est un type de fichier nommé.
SOCKET_EREMOTEIO (entier)
Erreur d'E/S distante.
SOCKET_EDQUOT (entier)
Quota dépassé.
SOCKET_ENOMEDIUM (entier)
Pas de media trouvé.
SOCKET_EMEDIUMTYPE (entier)
Mauvais type de media.
Types de ressources
Exemples
Sockets


Exemples

Exemple #1 Exemple de socket : serveur TCP/IP simple

Cet exemple montre comment créer un serveur simple. Changez les variables address et port pour vous adapter à votre configuration, et exécutez-le. Vous pourrez alors vous connecter au serveur avec une commande comme ceci : telnet 192.168.1.53 10000 (en supposant que l'adresse et le port correspondent à votre configuration). Tout ce que vous saisissez après cela sera envoyé au serveur, et affiché en retour. Pour vous déconnecter, tapez 'quit'.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Autorise l'exécution infinie du script, en attente de connexion. */
set_time_limit(0);

/* Active le vidage implicite des buffers de sortie, pour que nous
 * puissions voir ce que nous lisons au fur et à mesure. */
ob_implicit_flush();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "socket_create() a échoué : raison : " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
    echo "socket_bind() a échoué : raison : " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
    echo "socket_listen() a échoué : raison : " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
    if (($msgsock = socket_accept($sock)) === false) {
        echo "socket_accept() a échoué : raison : " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    /* Send instructions. */
    $msg = "\Bienvenue sur le serveur de test PHP.\n" .
        "Pour quitter, tapez 'quit'. Pour éteindre le serveur, tapez 'shutdown'.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() a échoué : raison : " . socket_strerror(socket_last_error($msgsock)) . "\n";
            break 2;
        }
        if (!$buf = trim($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close($msgsock);
            break 2;
        }
        $talkback = "PHP: You said '$buf'.\n";
        socket_write($msgsock, $talkback, strlen($talkback));
        echo "$buf\n";
    } while (true);
    socket_close($msgsock);
} while (true);

socket_close($sock);
?>

Exemple #2 Exemple avec les sockets : client TCP/IP simple

Cet exemple implémente un client HTTP simple. Il se connecte simplement à une page, envoie une requête HEAD, affiche le résultat et se termine.

<?php
error_reporting(E_ALL);

echo "<h2>Connexion TCP/IP</h2>\n";

/* Lit le port du service WWW. */
$service_port = getservbyname('www', 'tcp');

/* Lit l'adresse IP du serveur de destination */
$address = gethostbyname('www.example.com');

/* Cree une socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() a échoué : raison :  " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Essai de connexion à '$address' sur le port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($socket === false) {
    echo "socket_connect() a échoué : raison : ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.0\r\n\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Envoi de la requête HTTP HEAD...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Lire la réponse : \n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}

echo "Fermeture de la socket...";
socket_close($socket);
echo "OK.\n\n";
?>

Constantes pré-définies
Erreurs de socket
Sockets


Erreurs de socket

L'extension socket a été écrite pour fournir une interface utilisable avec les puissantes sockets fournies par BSD. Un soin particulier a été apporté pour que les fonctions soient aussi efficaces sous Unix que sous Windows. Presque toutes les fonctions de sockets peuvent échouer dans certaines circonstances, et émettent ainsi un message d'alerte E_WARNING décrivant l'erreur. Parfois, cela ne se fait pas selon les souhaits du développeur. Par exemple, la fonction socket_read() peut tout à coup émettre un message E_WARNING car la connexion a été inopinément interrompue. Il est commun de supprimer les erreurs avec l'opérateur @ et de traiter les erreurs avec la fonction socket_last_error(), au niveau de l'application. Vous pouvez appeler socket_strerror() avec le code d'erreur pour connaître le message d'erreur, humainement lisible. Reportez-vous à leur description pour plus de détails.

Note: Les messages E_WARNING générés par l'extension socket sont en anglais, mais ils s'afficheront en fonction de la configuration locale (LC_MESSAGES):

Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet

Exemples
Fonctions sur les sockets
Sockets


Fonctions sur les sockets

Sommaire

  • socket_accept — Accepte une connexion sur une socket
  • socket_bind — Lie un nom à une socket
  • socket_clear_error — Efface toutes les erreurs précédemment générées par une socket
  • socket_close — Ferme une socket
  • socket_connect — Crée une connexion sur une socket
  • socket_create_listen — Ouvre une socket sur un port pour accepter les connexions
  • socket_create_pair — Crée une paire de sockets identiques et les stocke dans un tableau
  • socket_create — Crée une socket
  • socket_get_option — Lit les options de la socket
  • socket_getpeername — Interroge l'autre extrémité de la communication
  • socket_getsockname — Interroge la socket locale
  • socket_last_error — Lit la dernière erreur générée par une socket
  • socket_listen — Attend une connexion sur une socket
  • socket_read — Lit des données d'une socket
  • socket_recv — Reçoit des données d'une socket connectée
  • socket_recvfrom — Reçoit des données d'une socket, connectée ou pas
  • socket_select — Exécute l'appel système select() un tableau de sockets avec une durée d'expiration
  • socket_send — Envoie des données à une socket connectée
  • socket_sendto — Envoie une message à une socket, qu'elle soit connectée ou pas
  • socket_set_block — Met la socket en mode bloquant
  • socket_set_nonblock — Sélectionne le mode non bloquant d'un pointeur de fichier
  • socket_set_option — Modifie les options de socket
  • socket_shutdown — Éteint une socket en lecture et/ou écriture
  • socket_strerror — Retourne une chaîne décrivant un message d'erreur
  • socket_write — Écrit dans une socket
Erreurs de socket
socket_accept
Sockets


Accepte une connexion sur une socket

Fonctions sur les sockets
socket_bind
Fonctions sur les sockets
PHP Manual

socket_accept

(PHP 4 >= 4.1.0, PHP 5)

socket_accept — Accepte une connexion sur une socket

Description

resource socket_accept ( resource $socket )

Une fois que la socket socket a été créée avec la fonction socket_create(), liée à un nom avec la fonction socket_bind(), et mise en attente de connexion avec la fonction socket_listen(), socket_accept() va accepter les connexions sur cette socket. Une fois qu'une connexion est faite, une nouvelle ressource de socket est retournée. Elle peut être utilisée pour les communications. S'il y a plusieurs connexions en attente, la première sera utilisée. S'il n'y a pas de connexion en attente, socket_accept() se bloquera jusqu'à ce qu'une connexion se présente. Si socket a été rendue non-bloquante, grâce à socket_set_blocking() ou socket_set_nonblock(), FALSE sera retourné.

La ressource de socket retournée par socket_accept() ne doit pas être utilisée pour accepter de nouvelles connexions. La socket originale socket, qui est en attente, reste ouverte et peut être réutilisée.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

Valeurs de retour

Retourne une nouvelle ressource de socket en cas de succès ou FALSE en cas d'erreur. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur, humainement lisible.

Voir aussi

  • socket_connect() - Crée une connexion sur une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_create() - Crée une socket
  • socket_bind() - Lie un nom à une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

Fonctions sur les sockets
socket_bind
Fonctions sur les sockets


Lie un nom à une socket

socket_accept
socket_clear_error
Fonctions sur les sockets
PHP Manual

socket_bind

(PHP 4 >= 4.1.0, PHP 5)

socket_bind — Lie un nom à une socket

Description

bool socket_bind ( resource $socket , string $address [, int $port = 0 ] )

Lie le nom donné par address à l'interface de connexion décrite par socket. Ceci doit être effectué avant qu'une connexion ne soit établie en utilisant socket_connect() ou socket_listen().

Liste de paramètres

socket

Une ressource de socket valide créée par la fonction socket_create().

address

Si la socket est de la famille AF_INET, le paramètre address est une IP numérique (i.e. 127.0.0.1).

Si la socket est de la famille AF_UNIX, le paramètre address le chemin d'une socket de domaine Unix (i.e. /tmp/my.sock).

port (optionnel)

Le paramètre port est uniquement utilisé lors de la connexion à une socket AF_INET et désigne le port de l'hôte distant sur lequel la connexion doit être effectuée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Le code erreur peut être récupéré avec la fonction socket_last_error(). Ce code peut être passé à la fonction socket_strerror() pour récupérer le message textuel de l'erreur.

Exemples

Exemple #1 Utilisation de socket_bind() pour définir l'adresse de la source

<?php
// Création d'une nouvelle socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// Une liste d'adresse IP, par exemple, appartenent à l'ordinateur
$sourceips['kevin']    = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Lie l'adresse de la source
socket_bind($sock, $sourceips['madcoder']);

// Connexion à l'adresse de destination
socket_connect($sock, '127.0.0.1', 80);

// Écriture
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Fermeture
socket_close($sock);

?>

Notes

Note: Cette fonction doit être utilisée sur la socket avant la fonction socket_connect().

Note: Note de compatibilité avec Windows 9x/ME : socket_last_error() peut retourner un code erreur invalide lorsque vous tentez de lier une socket avec une adresse fausse, qui n'appartient pas à la machine.

Voir aussi

  • socket_connect() - Crée une connexion sur une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_create() - Crée une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_accept
socket_clear_error
Fonctions sur les sockets


Efface toutes les erreurs précédemment générées par une socket

socket_bind
socket_close
Fonctions sur les sockets
PHP Manual

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_error — Efface toutes les erreurs précédemment générées par une socket

Description

void socket_clear_error ([ resource $socket ] )

Efface tous les codes d'erreur qui ont été enregistrés pour la socket socket, ou bien pour la socket générale.

socket_clear_error() permet de remettre à zéro les codes d'erreur d'une socket ou de la socket globale. Cela peut être utile pour détecter l'avènement d'une erreur durant une partie de l'application.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_bind
socket_close
Fonctions sur les sockets


Ferme une socket

socket_clear_error
socket_connect
Fonctions sur les sockets
PHP Manual

socket_close

(PHP 4 >= 4.1.0, PHP 5)

socket_close — Ferme une socket

Description

void socket_close ( resource $socket )

socket_close() ferme la socket socket et détruit toutes les ressources qui y sont liées. Cette fonction est spécifique aux sockets et ne peut être utilisée avec les autres types de ressource.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • socket_bind() - Lie un nom à une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_create() - Crée une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_clear_error
socket_connect
Fonctions sur les sockets


Crée une connexion sur une socket

socket_close
socket_create_listen
Fonctions sur les sockets
PHP Manual

socket_connect

(PHP 4 >= 4.1.0, PHP 5)

socket_connect — Crée une connexion sur une socket

Description

bool socket_connect ( resource $socket , string $address [, int $port = 0 ] )

Crée une nouvelle connexion en utilisant la ressource socket socket, qui doit être une ressource de socket valide, créée par la fonction socket_create().

Liste de paramètres

socket

address

Le paramètre address est soit une adresse valide IPv4 (e.g. 127.0.0.1) si socket vaut AF_INET, soit une adresse valide IPv6 (e.g. ::1) si le support IPv6 est actif et que le paramètre socket vaut AF_INET6, soit un chemin vers un socket de domaine Unix, si la famille de sockets vaut AF_UNIX.

port

Le paramètre port n'est utilisé et mandaté que lors d'une connexion à un socket AF_INET ou AF_INET6, et désigne le port de l'hôte distant sur lequel la connexion doit être effectuée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.

Note: Si le socket est non-bloquant, alors cette fonction retourne FALSE avec l'erreur suivant : Operation now in progress.

Voir aussi

  • socket_bind() - Lie un nom à une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_create() - Crée une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_close
socket_create_listen
Fonctions sur les sockets


Ouvre une socket sur un port pour accepter les connexions

socket_connect
socket_create_pair
Fonctions sur les sockets
PHP Manual

socket_create_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_create_listen — Ouvre une socket sur un port pour accepter les connexions

Description

resource socket_create_listen ( int $port [, int $backlog = 128 ] )

socket_create_listen() créée une nouvelle ressource de socket, de type AF_INET, mise en attente sur toutes les interfaces locales, pour le port port.

socket_create_listen() sert à simplifier la création de nouvelles sockets destinées à être mises en attente, et accepter de nouvelles connexions.

Liste de paramètres

port

Le port que l'on doit écouter sur toutes les interfaces.

backlog

Le paramètre backlog définit la taille maximum de la queue de connexions en attente. SOMAXCONN peut être utilisée comme valeur pour le paramètre backlog. Reportez-vous à socket_listen() pour plus de détails.

Valeurs de retour

socket_create_listen() retourne une nouvelle ressource de socket en cas de succès et FALSE en cas d'erreur. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.

Notes

Note: Si vous voulez créer une socket qui n'écoute que certaines interfaces, vous devez utiliser socket_create(), socket_bind() et socket_listen().

Voir aussi

  • socket_create() - Crée une socket
  • socket_create_pair() - Crée une paire de sockets identiques et les stocke dans un tableau
  • socket_bind() - Lie un nom à une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_connect
socket_create_pair
Fonctions sur les sockets


Crée une paire de sockets identiques et les stocke dans un tableau

socket_create_listen
socket_create
Fonctions sur les sockets
PHP Manual

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5)

socket_create_pair — Crée une paire de sockets identiques et les stocke dans un tableau

Description

bool socket_create_pair ( int $domain , int $type , int $protocol , array &$fd )

socket_create_pair() crée une paire de sockets identiques et les stocke dans fd. Cette fonction est utilisée couramment dans IPC (InterProcess Communication).

Liste de paramètres

domain

Le paramètre domain spécifie la famille du protocole à utiliser par la socket. Voir la documentation sur la fonction socket_create() pour une liste complète.

type

Le paramètre type spécifie le type de communication à utiliser par la socket. Voir la documentation sur la fonction socket_create() pour une liste complète.

protocol

Le paramètre protocol définit un protocole spécifique dans le domaine spécifié domain pour être utilisé lors d'une communication sur une socket retournée. La valeur appropriée peut être retrouvée par son nom en utilisant la fonction getprotobyname(). Si le protocole désiré est TCP ou UDP, les constantes correspondantes SOL_TCP et SOL_UDP peuvent être utilisées.

Voir la documentation sur la fonction socket_create() pour une liste complète des protocoles supportés.

fd

Une référence vers un tableau dans lequel les deux ressources de sockets seront insérées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Cette fonction a été ré-activée sous Windows.
4.3.0 | Cette fonction, à cause d'un bogue, a été désactivée sous Windows.

Exemples

Exemple #1 Exemple avec socket_create_pair()

<?php
$sockets = array();

/* On Windows we need to use AF_INET */
$domain = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' ? AF_INET : AF_UNIX);

/* Création de la paire de sockets */
if (socket_create_pair($domain, SOCK_STREAM, 0, $sockets) === false) {
    echo "socket_create_pair a échoué. Raison : ".socket_strerror(socket_last_error());
}
/* Send and Recieve Data */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
    echo "socket_write() a échoué. Raison : ".socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ) === false) {
    echo "socket_read() a échoué. Raison : ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Fermeture des sockets */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Exemple #2 Exemple IPC avec socket_create_pair()

<?php
$ary = array();
$strone = 'Message depuis le parent.';
$strtwo = 'Message depuis le fils.';
if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
    echo "socket_create_pair() a échoué. Raison : ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1) {
    echo 'Impossible de dupliquer le processus.';
} elseif ($pid) {
    /* parent */
    socket_close($ary[0]);
    if (socket_write($ary[1], $strone, strlen($strone)) === false) {
        echo "socket_write() a échoué. Raison : ".socket_strerror(socket_last_error($ary[1]));
    }
    if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
        echo "Recieved $strtwo\n";
    }
    socket_close($ary[1]);
} else {
    /* fils */
    socket_close($ary[1]);
    if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
        echo "socket_write() a échoué. Raison : ".socket_strerror(socket_last_error($ary[0]));
    }
    if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
        echo "Réception de $strone\n";
    }
    socket_close($ary[0]);
}
?>

Voir aussi

  • socket_create() - Crée une socket
  • socket_create_listen() - Ouvre une socket sur un port pour accepter les connexions
  • socket_bind() - Lie un nom à une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_create_listen
socket_create
Fonctions sur les sockets


Crée une socket

socket_create_pair
socket_get_option
Fonctions sur les sockets
PHP Manual

socket_create

(PHP 4 >= 4.1.0, PHP 5)

socket_create — Crée une socket

Description

resource socket_create ( int $domain , int $type , int $protocol )

socket_create() crée un point de communication (une socket) et retourne une ressource de socket. Une connexion typique réseau est composée de deux sockets : une qui joue le rôle de client et l'autre celui du serveur.

Liste de paramètres

domain

Le paramètre domain spécifie la famille de protocoles à utiliser par la socket.

Famille d'adresses / protocoles disponibles
Domaine | Description
AF_INET | Protocole basé sur IPv4. TCP et UDP sont les protocoles communs de cette famille de protocoles.
AF_INET6 | Protocole basé sur IPv6. TCP et UDP sont les protocoles communs de cette famille de protocoles. Le support a été ajouté en PHP 5.0.0.
AF_UNIX | Famille de protocoles locales de communication. Le rendement élevé et des moindres coûts supplémentaires lui font une grande force d'IPC (Interprocess Communication).
type

Le paramètre type sélectionne le type de communication à utiliser par la socket.

Types de sockets disponibles
Type | Description
SOCK_STREAM | Fournit des flux d'octets ordonnancés, fiables, full-duplex, raccordés sur la base. Un mécanisme de transmission des données "out-of-band" peut être supporté. Le protocole TCP est basé sur ce type de sockets.
SOCK_DGRAM | Support des datagrammes (moins de connexion, message non garanti d'une longueur maximum fixe). Le protocole UDP est basé sur ce type de sockets.
SOCK_SEQPACKET | Fournit un chemin de transmission de données séquentiel, fiable, connecté à la base par deux chemins pour les datagrammes de longueur maximale fixe ; un consommateur est requis pour lire la totalité d'un paquet avec chaque appel à la lecture.
SOCK_RAW | Fournit l'accès brut de protocole de réseau. Ce type spécial de socket peut être utilisé pour construire manuellement tout type de protocole. Une utilisation commune de ce type de sockets est le traitement des requêtes ICMP (comme le ping).
SOCK_RDM | Fournit une couche fiable de datagramme qui ne garantit pas l'ordre des données. Ce type de socket est le plus susceptible de ne pas être implémenté sur votre système d'exploitation.
protocol

Le paramètre protocol définit le protocole spécifique pour le domaine domain à utiliser lors de communications sur une socket retournée. La valeur appropriée peut être retrouvée par son nom en utilisant la fonction getprotobyname(). Si le protocole désiré est TCP ou UDP, les constantes correspondantes SOL_TCP et SOL_UDP peuvent être utilisées.

Protocoles Communs
Nom | Description
icmp | Le protocole ICMP (Internet Control Message Protocol) est utilisé tout d'abord par les passerelles et les hôtes pour reporter les erreurs dans des communications de datagramme. La commande "ping" (présente dans les systèmes de production modernes) est un exemple d'application utilisant le protocole ICMP.
udp | Le protocole UDP (User Datagramm Protocol) est un protocole sans connexion, incertain avec les longueurs d'enregistrements fixes. De ce fait, UDP requiert une quantité minimum de protocole aérienne.
tcp | Le protocole TCP (Transmission Control Protocol) est un protocole fiable, connecté sur la base, orienté flux et full-duplex. TCP garantit que chaque paquet est reçu dans l'ordre dans lequel il a été envoyé. Si quelques paquets sont perdus pendant la communication, TCP retransmettra ces paquets tant que l'hôte destinataire ne les aura pas reçu entièrement. Pour des raisons de fiabilité et de performance, l'implémentation TCP, elle-même, décide des frontières appropriées d'octets de la couche fondamentale de communication du datagramme. Par conséquent, les applications TCP doivent autoriser la possibilité de transmission partielle d'enregistrements.

Valeurs de retour

socket_create() retourne une ressource de socket en cas de succès et FALSE sinon. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.

Historique

Version | Description
5.0.0 | La constante AF_INET6 a été introduite.

Erreurs / Exceptions

Si une valeur invalide est spécifiée au paramètre domain ou au paramètre type, la fonction socket_create() prendra comme paramètres par défaut respectivement AF_INET et SOCK_STREAM et générera un message d'alerte (E_WARNING).

Voir aussi

  • socket_accept() - Accepte une connexion sur une socket
  • socket_bind() - Lie un nom à une socket
  • socket_connect() - Crée une connexion sur une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_create_pair
socket_get_option
Fonctions sur les sockets


Lit les options de la socket

socket_create
socket_getpeername
Fonctions sur les sockets
PHP Manual

socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

socket_get_option — Lit les options de la socket

Description

mixed socket_get_option ( resource $socket , int $level , int $optname )

socket_get_option() récupère la valeur de l'option spécifiée par le paramètre optname pour la socket spécifiée par le paramètre socket.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

level

Le paramètre level spécifie la couche de protocole de l'option. Par exemple, pour connaître les options de la couche socket, la valeur SOL_SOCKET du paramètre level sera utilisée. Les autres degrés, comme TCP, peuvent être utilisés en spécifiant le numéro du protocole de cette couche. Les numéros de protocoles peuvent être trouvés en utilisant la fonction getprotobyname().

optname
Options disponibles pour les sockets
Option | Description | Type
SO_DEBUG | Reporte si les informations de déboguage sont enregistrées ou pas. | int
SO_BROADCAST | Reporte si la transmission des annonces globales est supportée ou pas. | int
SO_REUSEADDR | Reporte si les adresses locales peuvent être réutilisées ou pas. | int
SO_KEEPALIVE | Reporte si les connexions sont persistantes avec des transmissions périodiques de messages ou pas. Si la socket connectée échoue en réponse à ces messages, la connexion est interrompue et le processus écrira à cette socket une notification avec un signal SIGPIPE. | int
SO_LINGER

Reporte si la socket socket s'attarde sur la fonction socket_close() si des données sont présentes ou pas. Par défaut, lorsque la socket est fermée, socket_close() tente d'envoyer toutes les données qui ne l'ont pas encore été.

Si l_onoff ne vaut pas zéro et que l_linger vaut zéro, toutes les données qui n'ont pas encore été envoyées seront annulées et RST (réinitialisation) sera envoyé dans le cas d'une connexion orientée socket.

D'un autre côté, si l_onoff ne vaut pas zéro et l_linger ne vaut pas zéro, socket_close() bloquera tant que les données non envoyées ne le seront pas ou pendant le temps spécifié par l_linger. Si la socket est non-bloquante, socket_close() échouera et retournera une erreur.

array . Le tableau contiendra 2 clés : l_onoff et l_linger.
SO_OOBINLINE | Reporte si la socket socket part sur des données en ligne out-of-band ou pas. | int
SO_SNDBUF | Reporte les informations sur la taille du tampon envoyé. | int
SO_RCVBUF | Reporte les informations sur la taille du tampon reçu. | int
SO_ERROR | Reporte les informations sur le statut de l'erreur et le vide. | int (ne peut être défini par la fonction socket_set_option())
SO_TYPE | Reporte le type de la socket socket (e.g. SOCK_STREAM). | int (ne peut être défini par la fonction socket_set_option())
SO_DONTROUTE | Reporte si les messages sortants dévient les équipements standard de cheminement. | int
SO_RCVLOWAT | Reporte le nombre minimal d'octets au processus pour les opérations entrantes sur la socket socket. | int
SO_RCVTIMEO | Reporte la valeur du délai d'exécution pour les opérations entrantes. | array . Le tableau contiendra 2 clés : sec qui est la partie représentant les secondes de la valeur du délai d'attente et usec qui est la partie représentant les microsecondes.
SO_SNDTIMEO | Reporte la valeur du délai d'exécution spécifiant le temps maximal d'exécution pour les fonctions sortantes bloquantes parce que la commande d'écoulement empêche des données d'être envoyé. | array . Le tableau contiendra 2 clés : secqui est la partie représentant les secondes de la valeur du délai d'attente et usec qui est la partie représentant les microsecondes.
SO_SNDLOWAT | Reporte le nombre minimal d'octets au processus pour les opérations sortantes sur la socket socket. | int
TCP_NODELAY | Indique si l'algorithme Nagle TCP est désactivé. | int

Valeurs de retour

Retourne la valeur de l'option fournie, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec socket_set_option()

<?php
$socket = socket_create_listen(1223);

$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>

Historique

Version | Description
4.3.0 | Le nom de cette fonction a changé. Avant, elle s'appelait socket_getopt().

socket_create
socket_getpeername
Fonctions sur les sockets


Interroge l'autre extrémité de la communication

socket_get_option
socket_getsockname
Fonctions sur les sockets
PHP Manual

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5)

socket_getpeername — Interroge l'autre extrémité de la communication

Description

bool socket_getpeername ( resource $socket , string &$address [, int &$port ] )

Interroge l'autre extrémité de la communication.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

address

Si la socket socket est de type AF_INET, ou AF_INET6 socket_getpeername() retournera l'adresse IP de l'hôte, en notation numérique (e.g. 127.0.0.1 ou fe80::1) dans le paramètre address, et si le paramètre optionnel port est présent, elle retournera aussi le port de la communication établie.

Si la socket socket est de type AF_UNIX, socket_getpeername() retournera le chemin sur le système de fichiers (e.g. /var/run/daemon.sock) dans le paramètre address.

port

Si fourni, ce devra être le port associé à l'adresse du paramètre address.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. socket_getpeername() peut aussi retourner FALSE si le type de la socket n'est ni AF_INET AF_INET6, ni AF_UNIX, auquel cas le dernier code d'erreur socket n'est pas modifié.

Notes

Note: socket_getsockname() ne doit pas être utilisée avec les sockets AF_UNIX créées avec socket_accept(). Seules les sockets créées avec socket_connect() ou une socket serveur primaire suivant un appel à socket_bind() retourneront des valeurs logiques.

Note: Pour faire en sorte que la fonction socket_getpeername() retourne une valeur cohérente, le socket sur lequel la fonction est appelée doit évidemment être un pour qui le conscepte de "peer" a du sens.

Voir aussi

  • socket_getsockname() - Interroge la socket locale
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_get_option
socket_getsockname
Fonctions sur les sockets


Interroge la socket locale

socket_getpeername
socket_last_error
Fonctions sur les sockets
PHP Manual

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5)

socket_getsockname — Interroge la socket locale

Description

bool socket_getsockname ( resource $socket , string &$addr [, int &$port ] )

Note: socket_getsockname() ne doit pas être utilisée avec les sockets AF_UNIX créées avec socket_connect(). Seules les sockets suivant un appel de socket_bind() retourneront des valeurs logiques.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

addr

Si la socket socket est de type AF_INET, ou AF_INET6, socket_getsockname() retournera l'adresse IP locale, en notation numérique (e.g. 127.0.0.1 ou fe80::1) dans le paramètre address, et si le paramètre optionnel port est présent, elle retournera aussi le port de la communication établie.

Si la socket socket est de type AF_UNIX, socket_getsockname() retournera le chemin sur le système de fichiers (e.g. /var/run/daemon.sock) dans le paramètre address.

port

Si fourni, ce devra être le port associé à l'adresse.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. socket_getsockname() peut aussi retourner FALSE si le type de la socket n'est ni AF_INET, ni AF_INET, ni AF_UNIX, auquel cas le dernier code d'erreur socket n'est pas modifié.

Voir aussi

  • socket_getpeername() - Interroge l'autre extrémité de la communication
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_getpeername
socket_last_error
Fonctions sur les sockets


Lit la dernière erreur générée par une socket

socket_getsockname
socket_listen
Fonctions sur les sockets
PHP Manual

socket_last_error

(PHP 4 >= 4.1.0, PHP 5)

socket_last_error — Lit la dernière erreur générée par une socket

Description

int socket_last_error ([ resource $socket ] )

Si une ressource de socket est passée à cette fonction, la dernière erreur qui aura été générée par cette socket sera retournée. Si la ressource de socket est omise, le dernier code d'erreur généré est retourné. Ce comportement est particulièrement pratique pour des fonctions comme socket_create() qui ne retourne pas de socket en cas d'échec, et socket_select() qui peut échouer sans raison directement liée à la socket. Le code d'erreur peut être transmis à socket_strerror() qui retourne un message d'erreur lisible.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

Valeurs de retour

Retourne le code erreur associé au socket.

Exemples

Exemple #1 Exemple avec socket_last_error()

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Couldn't create socket: [$errorcode] $errormsg");
}
?>

Notes

Note: socket_last_error() n'efface pas le code d'erreur. Utilisez plutôt la fonction socket_clear_error() pour cela.

socket_getsockname
socket_listen
Fonctions sur les sockets


Attend une connexion sur une socket

socket_last_error
socket_read
Fonctions sur les sockets
PHP Manual

socket_listen

(PHP 4 >= 4.1.0, PHP 5)

socket_listen — Attend une connexion sur une socket

Description

bool socket_listen ( resource $socket [, int $backlog = 0 ] )

Une fois que la socket socket a été créée avec la fonction socket_create() et liée à un nom avec la fonction socket_bind(), elle peut être mise en attente de connexion entrante.

socket_listen() ne fonctionne qu'avec des sockets de type SOCK_STREAM et SOCK_SEQPACKET.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

backlog

Un nombre maximum de backlog connexions seront mises en attente de traitement. Si une demande de connexion arrive et que la queue est pleine, le client recevra une erreur indiquant ECONNREFUSED, ou, si le protocole de support accepte les retransmissions, la requête sera ignorée pour que les tentatives ultérieures finissent par réussir.

Note: Le nombre maximum passé dans le paramètre backlog dépend essentiellement de la plate-forme de support. Sur Linux, il est tronqué automatiquement à SOMAXCONN. Sous Windows, si la constante SOMAXCONN est passée, le service responsable des sockets choisira une valeur maximum raisonnable. Il n'y a pas de méthode pour deviner la valeur réellement choisie.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.

Voir aussi

  • socket_accept() - Accepte une connexion sur une socket
  • socket_bind() - Lie un nom à une socket
  • socket_connect() - Crée une connexion sur une socket
  • socket_create() - Crée une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_last_error
socket_read
Fonctions sur les sockets


Lit des données d'une socket

socket_listen
socket_recv
Fonctions sur les sockets
PHP Manual

socket_read

(PHP 4 >= 4.1.0, PHP 5)

socket_read — Lit des données d'une socket

Description

string socket_read ( resource $socket , int $length [, int $type = PHP_BINARY_READ ] )

socket_read() lit des données dans la socket socket, qui doit être une ressource créée par socket_accept() ou socket_accept().

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

length

Elle lit un maximum de length octets. Sinon, vous pouvez utiliser \r, \n ou \0 pour terminer la lecture (suivant la valeur choisie pour type, voir ci-dessous).

type

Le paramètre optionnel type peut prendre l'une des valeurs constantes suivantes :

  • PHP_BINARY_READ (Défaut) - utilise la fonction système recv(). Capable de lire les données binaires.
  • PHP_NORMAL_READ - la lecture s'arrête aux \n et \r

Valeurs de retour

socket_read() retourne les données sous forme de chaîne en cas de succès, et FALSE sinon (y compris si l'hôte distant a fermé la connexion). Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.

Note: socket_read() retourne une chaîne de longueur zéro (""), lorsqu'il n'y a plus de données à lire.

Historique

Version | Description
4.1.0 | La valeur par défaut du paramètre type est passée de PHP_NORMAL_READ à PHP_BINARY_READ

Voir aussi

  • socket_accept() - Accepte une connexion sur une socket
  • socket_bind() - Lie un nom à une socket
  • socket_connect() - Crée une connexion sur une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur
  • socket_write() - Écrit dans une socket

socket_listen
socket_recv
Fonctions sur les sockets


Reçoit des données d'une socket connectée

socket_read
socket_recvfrom
Fonctions sur les sockets
PHP Manual

socket_recv

(PHP 4 >= 4.1.0, PHP 5)

socket_recv — Reçoit des données d'une socket connectée

Description

int socket_recv ( resource $socket , string &$buf , int $len , int $flags )

La fonction socket_recv() reçoit len octets de données dans buf depuis socket. socket_recv() peut être utilisée pour récupérer des données depuis des sockets connectées. Aussi, des drapeaux permettent de changer le comportement de la fonction.

buf est passé par référence, il doit donc être présente dans la liste des arguments. Les données reçues depuis la socket par socket_recv() seront retournées dans buf.

Liste de paramètres

socket

socket doit être une ressource de socket précédemment créee par socket_create().

buf

Les données reçues seront transmises dans buf. Si une erreur survient, si la connexion est fermée ou si aucune donnée n'est disponible, buf vaudra alors NULL.

len

Jusqu'à len octets seront lus depuis l'hôte distant.

flags

La valeur de flags peut être une combinaison des drapeaux suivants, groupés au moyen de l'opérateur binaire OR (|).

Valeurs possibles de flags
Flag | Description
MSG_OOB | Traite des données hors de bande.
MSG_PEEK | Reçoit les données depuis le début de la queue sans pour autant les supprimer de la queue.
MSG_WAITALL | Bloque avant qu'au moins len sont reçues. Cependant, si un signal est intercépté ou si la connexion est terminée, la fonction pourra retourner moins de données.
MSG_DONTWAIT | Si ce drapeau est spécifié, la fonction retournera ses données alors qu'en temps normal elle aurait bloqué.

Valeurs de retour

socket_recv() retourne le nombre d'octets reçus, ou FALSE si une erreur est apparue. Le code d'erreur actuel peut être récupéré en appelant socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour avoir une représentation textuelle de l'erreur.

Exemples

Exemple #1 Exemples avec socket_recv()

Cet exemple est une réécriture de l'exemple pris sur Exemples pour utiliser socket_recv().

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Récupère le port du service WWW. */
$service_port = getservbyname('www', 'tcp');

/* Récupère l'adresse IP de l'hôte cible. */
$address = gethostbyname('www.example.com');

/* Crée une socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() a échoué: raison: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Tentative de connexion à '$address' sur le port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() a échoué.\nRaison: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Envoi d'une requête HTTP HEAD...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Lecture de la réponse:\n\n";
$buf = 'Ceci est mon buffer.';
if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
    echo "$bytes octets lus depuis socket_recv(). Fermeture de la socket...";
} else {
    echo "socket_recv() a échoué; raison: " . socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);

echo $buf . "\n";
echo "OK.\n\n";
?>

L'exemple ci-dessus produit un résultat ressemblant à celà:

<h2>TCP/IP Connection</h2>
OK.
Tentative de connexion à '208.77.188.166' sur le port '80'...OK.
Envoi d'une requête HTTP HEAD...OK.
Lecture de la réponse:

Fermeture de la socket...HTTP/1.1 200 OK
Date: Mon, 14 Sep 2009 08:56:36 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

OK.

socket_read
socket_recvfrom
Fonctions sur les sockets


Reçoit des données d'une socket, connectée ou pas

socket_recv
socket_select
Fonctions sur les sockets
PHP Manual

socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5)

socket_recvfrom — Reçoit des données d'une socket, connectée ou pas

Description

int socket_recvfrom ( resource $socket , string &$buf , int $len , int $flags , string &$name [, int &$port ] )

La fonction socket_recvfrom() reçoit len octets de données du buffer buf depuis name sur le port port (si la socket n'est pas du type AF_UNIX), en utilisant socket. socket_recvfrom() peut être utilisé pour récupérer les données depuis des sockets connectées ou non. De plus, un ou plusieurs drapeaux peuvent être spécifiés pour modifier ce comportement.

Les paramètres name et port doivent être passés par référence. Si la socket n'est pas connectée, name contiendra l'adresse internet de l'hôte distant ou le chemin du socket Unix. Si la socket est connectée, name vaut NULL. De plus, le paramètre port contiendra le port de l'hôte distant dans le cas d'une socket AF_INET ou AF_INET6.

Liste de paramètres

socket

Le paramètre socket doit être une ressource de socket créé par la fonction socket_create().

buf

Les données récupérées seront placées dans la variable spécifiée par ce paramètre.

len

Jusqu'à len octets doivent être récupérés de l'hôte distant.

flags

La valeur de ce paramètre peut être une combinaison des drapeaux suivants, joints par un OU binaire (|).

Valeurs possibles pour flags
Drapeau | Description
MSG_OOB | Processus en dehors de la bande de données.
MSG_PEEK | Reçoit les données depuis le début de la file de réception sans les supprimer de cette file.
MSG_WAITALL | Bloc tant qu'au moins len octets n'ont pas été reçus. Cependant, si un signal est reçu ou l'hôte distant se déconnecte, la fonction pourra retourner moins de données.
MSG_DONTWAIT | Lorsque ce drapeau est défini, la fonction retourne des données même si elle devrait rester bloquer.
name

Si la socket est du type AF_UNIX, name sera le chemin vers ce fichier. Sinon, pour les sockets non-connectées, name est l'adresse IP de l'hôte distant, ou NULL si la socket est connectée.

port

Cet argument ne s'applique qu'aux sockets AF_INET et AF_INET6, et spécifie le port distant depuis lequel les données sont reçues. Si la socket est connectée, port vaudra NULL.

Valeurs de retour

socket_recvfrom() retourne le nombre d'octets reçus, ou FALSE si une erreur survient. Le code erreur actuel peut être retrouvé en appelant la fonction socket_last_error(). Ce code erreur peut être passé à la fonction socket_strerror() afin de récupérer une explication textuelle de l'erreur.

Exemples

Exemple #1 Exemple avec socket_recvfrom()

<?php
error_reporting(E_ALL | E_STRICT);

$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);

$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);

echo "Réception de $buf depuis l'adresse distant $from et du port distant $port" . PHP_EOL;
?>

Cet exemple initialise une socket UDP sur le port 1223 de l'adresse 127.0.0.1 et affiche au moins 12 caractères reçus depuis l'hôte distant.

Historique

Version | Description
4.3.0 | socket_recvfrom() est maintenant compatible avec les données binaires.

Voir aussi

  • socket_recv() - Reçoit des données d'une socket connectée
  • socket_send() - Envoie des données à une socket connectée
  • socket_sendto() - Envoie une message à une socket, qu'elle soit connectée ou pas
  • socket_create() - Crée une socket

socket_recv
socket_select
Fonctions sur les sockets


Exécute l'appel système select() un tableau de sockets avec une durée d'expiration

socket_recvfrom
socket_send
Fonctions sur les sockets
PHP Manual

socket_select

(PHP 4 >= 4.1.0, PHP 5)

socket_select — Exécute l'appel système select() un tableau de sockets avec une durée d'expiration

Description

int socket_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec = 0 ] )

socket_select() accepte un tableau de sockets et attend qu'elles changent de statut. Ceux qui sont familiers avec les sockets de BSD reconnaîtront dans ces tableaux de sockets les jeux de pointeurs de fichiers. Trois tableaux indépendants de ressources de sockets sont surveillés.

Liste de paramètres

read

Les sockets listées dans le paramètre read seront surveillées en lecture : pour savoir quand elles sont disponibles en lecture (plus précisément, si une lecture ne va pas bloquer, en particulier, une ressource de socket a déjà atteint une fin de fichier, auquel cas socket_read() retournera une chaîne de taille zéro).

write

Les sockets listées dans write seront surveillées en écriture : pour voir si une écriture ne va pas bloquer.

except

Les sockets listées dans except seront surveillées pour leurs exceptions.

tv_sec

Les paramètres tv_sec et tv_usec ensembles forment le paramètre timeout (durée de vie). Le timeout est la durée maximale de temps avant que socket_select() ne se termine. tv_sec peut être zéro, ce qui fera que socket_select() retournera immédiatement. C'est très pratique pour faire du polling (sondage). Si tv_sec est NULL (pas de timeout), socket_select() peut se bloquer indéfiniment.

tv_usec

Avertissement

En sortie de fonction, les tableaux sont modifiées pour indiquer quelles sockets ont changé d'état.

Vous n'avez pas besoin de passer tous les tableaux à socket_select(). Vous pouvez les omettre, ou utiliser un tableau vide, ou encore NULL à la place. N'oubliez pas que ces tableaux sont passés par référence et seront modifiés par socket_select().

Note: À cause d'une limitation du moteur Zend actuel, il n'est pas possible de passer une constante comme NULL directement comme paramètre à cette fonction, qui attend une valeur par référence. À la place, utilisez un tableau temporaire ou une expression dont le membre de gauche est une variable temporaire :

Exemple #1 Passer NULL à socket_select()

<?php
$e = NULL;
socket_select($r, $w, $e, 0);
?>

Valeurs de retour

En cas de succès, socket_select() retourne le nombre de sockets contenues dans les tableaux modifiés. Ce nombre peut être zéro si la durée maximale d'attente a été atteinte. En cas d'erreur, FALSE est retourné. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error().

Note: Assurez-vous bien d'utiliser l'opérateur === lorsque vous vérifiez les erreurs. Étant donnée que socket_select() peut retourner 0, la comparaison avec FALSE via == donnerait TRUE :

Exemple #2 Analyser le résultat de socket_select()

<?php
$e = NULL;
if (false === socket_select($r, $w, $e, 0)) {
    echo "socket_select() a échoué. Raison : " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

Exemples

Exemple #3 Exemple avec socket_select()

<?php
/* Prépare le tableau read (socket surveillées en lecture) */
$read   = array($socket1, $socket2);
$write  = NULL;
$except = NULL;
$num_changed_sockets = socket_select($read, $write, $except, 0);

if ($num_changed_sockets === false) {
  /* Gestion des erreurs */
} else if ($num_changed_sockets > 0) {
  /* Au moins une des sockets a été modifiée */
}
?>

Notes

Note: Méfiez-vous des implémentations de sockets, qui doivent être manipulées avec délicatesse. Quelques règles de base :

  • Vous devez toujours essayer d'utiliser socket_select() sans timeout. Votre programme ne devrait avoir rien à faire si il n'y a pas de données disponibles. Le code qui dépend d'un timeout est généralement peu portable, et difficile à déboguer.
  • Une socket ne doit pas être ajoutée à l'un des tableaux en paramètre, si vous ne souhaitez pas vérifier le résultat après l'appel à socket_select(). Après le retour de socket_select(), toutes les sockets dans tous les tableaux doivent être vérifiées. Toute socket qui est disponible en écriture ou en lecture doit être utilisée pour écrire ou lire.
  • Si vous écrivez ou lisez avec une socket retournée dans un tableau, soyez conscient qu'elle ne pourra pas écrire ou lire toutes les données que vous demandez. Soyez prêt à ne pouvoir lire qu'un seul octet.
  • Il est commun à la plupart des implémentations de socket que la seule exception interceptée par les sockets dans le tableau except soit le cas des données hors limites, reçues par une socket.

Voir aussi

  • socket_read() - Lit des données d'une socket
  • socket_write() - Écrit dans une socket
  • socket_last_error() - Lit la dernière erreur générée par une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_recvfrom
socket_send
Fonctions sur les sockets


Envoie des données à une socket connectée

socket_select
socket_sendto
Fonctions sur les sockets
PHP Manual

socket_send

(PHP 4 >= 4.1.0, PHP 5)

socket_send — Envoie des données à une socket connectée

Description

int socket_send ( resource $socket , string $buf , int $len , int $flags )

La fonction socket_send() envoie len octets à la socket socket depuis le buffer buf.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

buf

Un buffer contenant les données qui seront envoyées sur l'hôte distant.

len

Le nombre d'octets qui doivent être envoyés à l'hôte distant depuis le buffer buf.

flags

La valeur du paramètre flags peut être une combinaison des drapeaux suivants, joints par un OU binaire (|).

Valeurs possibles pour flags
MSG_OOB | Traite les données OOB (out-of-band).
MSG_EOR | Indique un marqueur d'enregistrement. Les données envoyées complètent l'enregistrement.
MSG_EOF | Termine l'envoi via le socket et inclue une notification appropriée à la fin des données envoyées. Les données envoyées complètent la transaction.
MSG_DONTROUTE | Ignore le routage, utilise une interface directe.

Valeurs de retour

Retourne le nombre d'octets envoyés, ou FALSE si une erreur survient.

Voir aussi

  • socket_sendto() - Envoie une message à une socket, qu'elle soit connectée ou pas

socket_select
socket_sendto
Fonctions sur les sockets


Envoie une message à une socket, qu'elle soit connectée ou pas

socket_send
socket_set_block
Fonctions sur les sockets
PHP Manual

socket_sendto

(PHP 4 >= 4.1.0, PHP 5)

socket_sendto — Envoie une message à une socket, qu'elle soit connectée ou pas

Description

int socket_sendto ( resource $socket , string $buf , int $len , int $flags , string $addr [, int $port = 0 ] )

socket_sendto() envoie len octets issus du buffer buf via la socket socket, vers le port port, à l'adresse addr.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

buf

Les données à envoyer seront prises depuis le buffer buf.

len

len octets depuis buf doivent être envoyés.

flags

Peut être une combinaison des drapeaux suivants, joints par un OU binaire (|).

Valeurs possibles pour flags
MSG_OOB | Traite les données OOB (out-of-band).
MSG_EOR | Indique un marqueur d'enregistrement. Les données envoyées complètent l'enregistrement.
MSG_EOF | Termine l'envoi via le socket et inclue une notification appropriée à la fin des données envoyées. Les données envoyées complètent la transaction.
MSG_DONTROUTE | Ignore le routage, utilise une interface directe.

addr

L'adresse IP de l'hôte distant.

port

port est le numéro de port sur lequel les données doivent être envoyées.

Valeurs de retour

socket_sendto() retourne le nombre d'octets envoyés sur l'hôte distant ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec socket_sendto()

<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

$msg = "Ping !";
$len = strlen($msg);

socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
socket_close($sock);
?>

Voir aussi

  • socket_send() - Envoie des données à une socket connectée

socket_send
socket_set_block
Fonctions sur les sockets


Met la socket en mode bloquant

socket_sendto
socket_set_nonblock
Fonctions sur les sockets
PHP Manual

socket_set_block

(PHP 4 >= 4.2.0, PHP 5)

socket_set_block — Met la socket en mode bloquant

Description

bool socket_set_block ( resource $socket )

socket_set_block() supprime l'option O_NONBLOCK de la socket spécifiée par socket.

Lorsqu'une opération (e.g. réception, envoie, connexion, acceptation, ...) est effectuée sur une socket non-bloquante, le script ne se met pas en pause tant qu'elle reçoit un signal. Au lieu de cela, si l'opération doit résulter en un blocage, la fonction appelée échouera.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec socket_set_block()

<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

Cet exemple crée un socket écoutant toutes les interfaces du port 1223 et définit la socket en mode O_BLOCK. socket_accept() patientera tant qu'il y aura une connexion à accepter.

Voir aussi

  • socket_set_nonblock() - Sélectionne le mode non bloquant d'un pointeur de fichier
  • socket_set_option() - Modifie les options de socket

socket_sendto
socket_set_nonblock
Fonctions sur les sockets


Sélectionne le mode non bloquant d'un pointeur de fichier

socket_set_block
socket_set_option
Fonctions sur les sockets
PHP Manual

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5)

socket_set_nonblock — Sélectionne le mode non bloquant d'un pointeur de fichier

Description

bool socket_set_nonblock ( resource $socket )

La fonction socket_set_nonblock() configure l'option O_NONBLOCK pour la socket spécifiée par le paramètre socket.

Lorsqu'une opération (e.g. réception, envoie, connexion, acceptation, ...) est effectuée sur une socket non-bloquante, le script ne se met pas en pause tant qu'elle reçoit un signal. Au lieu de cela, si l'opération doit résulter en un blocage, la fonction appelée échouera.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec socket_set_nonblock()

<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>

Cet exemple crée un socket écoutant toutes les interfaces sur port 1223 et définit la socket en mode O_NONBLOCK. socket_accept() échouera immédiatement s'il y a une connexion en attente exactement à ce moment là.

Voir aussi

  • socket_set_block() - Met la socket en mode bloquant
  • socket_set_option() - Modifie les options de socket

socket_set_block
socket_set_option
Fonctions sur les sockets


Modifie les options de socket

socket_set_nonblock
socket_shutdown
Fonctions sur les sockets
PHP Manual

socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

socket_set_option — Modifie les options de socket

Description

bool socket_set_option ( resource $socket , int $level , int $optname , mixed $optval )

socket_set_option() configure l'option spécifiée par optname, au niveau de protocole level à la valeur pointée par optval pour la socket spécifiée par socket.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create() ou la fonction socket_accept().

level

Le paramètre level spécifie la couche du protocole de l'option. Par exemple, pour modifier une option de la couche socket, un niveau égal à SOL_SOCKET va être utilisé. Les autres niveaux, comme TCP, peuvent être utilisés en spécifiant un numéro de protocole pour ce niveau. Les numéros de protocoles peuvent être utilisés en utilisant la fonction getprotobyname().

optname

Les options disponibles sont les mêmes que pour la fonction socket_get_option().

optval

La valeur de l'option.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec socket_set_option()

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!is_resource($socket)) {
    echo 'Impossible de créer la socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
    echo 'Impossible de définir l'option du socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_bind($socket, '127.0.0.1', 1223)) {
    echo 'Impossible de lier la socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if ($rval === false) {
    echo 'Impossible de récupérer l'option du socket : '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
    echo 'SO_REUSEADDR est défini sur la socket !' . PHP_EOL;
}
?>

Historique

Version | Description
4.3.0 | La fonction a été renommée. Elle s'appelait, avant, socket_setopt().

socket_set_nonblock
socket_shutdown
Fonctions sur les sockets


Éteint une socket en lecture et/ou écriture

socket_set_option
socket_strerror
Fonctions sur les sockets
PHP Manual

socket_shutdown

(PHP 4 >= 4.1.0, PHP 5)

socket_shutdown — Éteint une socket en lecture et/ou écriture

Description

bool socket_shutdown ( resource $socket [, int $how = 2 ] )

socket_shutdown() vous permet d'empêcher les données entrantes ou sortantes ou les deux (par défaut) d'être émises via la socket socket.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

how

La valeur du paramètre how peut être une des valeurs suivantes :

Valeurs possibles pour how
0 | Empêche la lecture de la socket
1 | Empêche l'écriture de la socket
2 | Empêche l'écriture et la lecture de la socket

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

socket_set_option
socket_strerror
Fonctions sur les sockets


Retourne une chaîne décrivant un message d'erreur

socket_shutdown
socket_write
Fonctions sur les sockets
PHP Manual

socket_strerror

(PHP 4 >= 4.1.0, PHP 5)

socket_strerror — Retourne une chaîne décrivant un message d'erreur

Description

string socket_strerror ( int $errno )

socket_strerror() prend un code d'erreur comme paramètre errno. Cette valeur est souvent retournée par la fonction socket_last_error(). La fonction retourne le message d'erreur correspondant.

Note: Bien que les messages d'erreur générés par l'extension socket soient en anglais, le système gérant les messages de cette fonction dépend de la locale courante (LC_MESSAGES).

Liste de paramètres

errno

Une numéro d'erreur de socket valide, comme produit par la fonction socket_last_error().

Valeurs de retour

Retourne le message d'erreur associé avec le paramètre errno.

Exemples

Exemple #1 Exemple avec socket_strerror()

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
   echo "socket_create() a échoué : raison : " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() a échoué : raison : " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

L'affichage attendu pour l'exemple du dessus (en supposant que vous essayer d'exécuter le script sans les droits Administrateur) :

socket_bind() a échoué : raison : Permission denied

Voir aussi

  • socket_accept() - Accepte une connexion sur une socket
  • socket_bind() - Lie un nom à une socket
  • socket_connect() - Crée une connexion sur une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_create() - Crée une socket

socket_shutdown
socket_write
Fonctions sur les sockets


Écrit dans une socket

socket_strerror
SSH2
Fonctions sur les sockets
PHP Manual

socket_write

(PHP 4 >= 4.1.0, PHP 5)

socket_write — Écrit dans une socket

Description

int socket_write ( resource $socket , string $buffer [, int $length = 0 ] )

socket_write() écrit dans la socket socket les données du buffer buffer.

Liste de paramètres

socket

buffer

Le buffer à écrire.

length

Le paramètre optionnel length peut spécifier explicitement la taille des données qui doivent être écrites. Si cette longueur est plus grande que la taille du buffer, elle sera ramenée automatiquement à la taille du buffer lui-même.

Valeurs de retour

socket_write() retourne le nombre d'octets qui ont pu être écrits dans la socket ou FALSE si une erreur survient. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur, humainement lisible.

Note: Il est parfaitement valide pour socket_write() de retourner zéro, ce qui signifie qu'aucun octet n'a été écrit. Soyez bien sûr d'utiliser l'opérateur === pour comparer le retour de la fonction avec FALSE, et détecter un cas d'erreur.

Notes

Note: socket_write() n'écrit pas nécessairement tous les octets du buffer fourni. Il est valide que, suivant certaines configuration de buffer réseau, seulement une certaine quantité de données, même un octet, soit écrit, y compris si votre buffer est plus grand. Vous devez alors vous assurer que vous n'avez pas oublié de transmettre le reste de vos données.

Voir aussi

  • socket_accept() - Accepte une connexion sur une socket
  • socket_bind() - Lie un nom à une socket
  • socket_connect() - Crée une connexion sur une socket
  • socket_listen() - Attend une connexion sur une socket
  • socket_read() - Lit des données d'une socket
  • socket_strerror() - Retourne une chaîne décrivant un message d'erreur

socket_strerror
SSH2
Fonctions sur les sockets


Fonctions Shell2 sécurisé

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Shell2
    • ssh2_auth_hostbased_file — Identification en utilisant une clé d'hôte publique
    • ssh2_auth_none — Identification en tant que "none"
    • ssh2_auth_password — Identification via SSH en utilisant un mot de passe en clair
    • ssh2_auth_pubkey_file — Identification en utilisant une clé publique
    • ssh2_connect — Connexion à un serveur SSH
    • ssh2_exec — Exécute une commande sur un serveur distant
    • ssh2_fetch_stream — Parcours un flux étendu de données
    • ssh2_fingerprint — Récupère l'empreinte d'un serveur distant
    • ssh2_methods_negotiated — Retourne une liste de méthodes négociées
    • ssh2_publickey_add — Ajoute une clé publique autorisée
    • ssh2_publickey_init — Initialise un Publickey Subsystem (sous-système de clé publique)
    • ssh2_publickey_list — Liste les clés publiques actuellement autorisées
    • ssh2_publickey_remove — Supprime un clé publique autorisée
    • ssh2_scp_recv — Demande un fichier via SCP
    • ssh2_scp_send — Envoie un fichier via SCP
    • ssh2_sftp_lstat — Statue un lien symbolique
    • ssh2_sftp_mkdir — Crée un dossier
    • ssh2_sftp_readlink — Retourne la cible d'un lien symbolique
    • ssh2_sftp_realpath — Résout le chemin réel d'un chemin fourni
    • ssh2_sftp_rename — Renomme un fichier distant
    • ssh2_sftp_rmdir — Efface un dossier
    • ssh2_sftp_stat — Statue un fichier sur un système de fichiers distant
    • ssh2_sftp_symlink — Crée un lien symbolique
    • ssh2_sftp_unlink — Efface un fichier
    • ssh2_sftp — Initialise un sous-système SFTP
    • ssh2_shell — Demande un shell interactif
    • ssh2_tunnel — Ouvre un tunnel à travers un serveur distant
socket_write
Introduction
Autres services


Introduction

La liaison à la bibliothèque » libssh2 fournit un accès à des ressources (shell, exécution distante, tunneling, transfert de fichiers) sur une machine distante en utilisant un transport crypté sécurisé.

SSH2
Installation/Configuration
SSH2


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SSH2


Pré-requis

Les bibliothèques » OpenSSL et » libssh2 sont nécessaires. Assurez-vous que les bibliothèques de développement sont installées ; typiquement, le nom du paquet est openssl-dev.

Note: La version 0.4 ou suivante de la bibliothèque libssh2 est nécessaire ; malgré tout, il est possible qu'une nouvelle version de pecl/ssh2 nécessite une version plus récente (voir les notes de version).

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ssh2.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SSH2_FINGERPRINT_MD5 ( integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que hash MD5.
SSH2_FINGERPRINT_SHA1 ( integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que hash SHA1.
SSH2_FINGERPRINT_HEX ( integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que chaîne hexits.
SSH2_FINGERPRINT_RAW ( integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que chaîne de caractères 8-bit.
SSH2_TERM_UNIT_CHARS ( integer )
Flag spécifiant à la fonction ssh2_shell() que les paramètres width et height sont fournis sous la forme de taille de caractères.
SSH2_TERM_UNIT_PIXELS ( integer )
Flag spécifiant à la fonction ssh2_shell() que les paramètres width et height sont fournis sous la forme de pixels.
SSH2_DEFAULT_TERM_WIDTH ( integer )
Largeur par défaut du terminal demandé par la fonction ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT ( integer )
Hauteur par défaut du terminal demandé par la fonction ssh2_shell().
SSH2_DEFAULT_TERM_UNIT ( integer )
Unité par défaut du terminal demandé par la fonction ssh2_shell().
SSH2_STREAM_STDIO ( integer )
Flag pour que la fonction ssh2_fetch_stream() demande un sous-canal STDIO.
SSH2_STREAM_STDERR ( integer )
Flag pour que la fonction ssh2_fetch_stream() demande un sous-canal STDERR.
SSH2_DEFAULT_TERMINAL ( string )
Type par défaut du terminal (e.g. "vt102", "ansi", "xterm", "vanilla") demandé par la fonction ssh2_shell().
Types de ressources
Fonctions Shell2
SSH2


Fonctions Shell2

Sommaire

  • ssh2_auth_hostbased_file — Identification en utilisant une clé d'hôte publique
  • ssh2_auth_none — Identification en tant que "none"
  • ssh2_auth_password — Identification via SSH en utilisant un mot de passe en clair
  • ssh2_auth_pubkey_file — Identification en utilisant une clé publique
  • ssh2_connect — Connexion à un serveur SSH
  • ssh2_exec — Exécute une commande sur un serveur distant
  • ssh2_fetch_stream — Parcours un flux étendu de données
  • ssh2_fingerprint — Récupère l'empreinte d'un serveur distant
  • ssh2_methods_negotiated — Retourne une liste de méthodes négociées
  • ssh2_publickey_add — Ajoute une clé publique autorisée
  • ssh2_publickey_init — Initialise un Publickey Subsystem (sous-système de clé publique)
  • ssh2_publickey_list — Liste les clés publiques actuellement autorisées
  • ssh2_publickey_remove — Supprime un clé publique autorisée
  • ssh2_scp_recv — Demande un fichier via SCP
  • ssh2_scp_send — Envoie un fichier via SCP
  • ssh2_sftp_lstat — Statue un lien symbolique
  • ssh2_sftp_mkdir — Crée un dossier
  • ssh2_sftp_readlink — Retourne la cible d'un lien symbolique
  • ssh2_sftp_realpath — Résout le chemin réel d'un chemin fourni
  • ssh2_sftp_rename — Renomme un fichier distant
  • ssh2_sftp_rmdir — Efface un dossier
  • ssh2_sftp_stat — Statue un fichier sur un système de fichiers distant
  • ssh2_sftp_symlink — Crée un lien symbolique
  • ssh2_sftp_unlink — Efface un fichier
  • ssh2_sftp — Initialise un sous-système SFTP
  • ssh2_shell — Demande un shell interactif
  • ssh2_tunnel — Ouvre un tunnel à travers un serveur distant
Constantes pré-définies
ssh2_auth_hostbased_file
SSH2


Identification en utilisant une clé d'hôte publique

Fonctions Shell2
ssh2_auth_none
Fonctions Shell2
PHP Manual

ssh2_auth_hostbased_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_hostbased_file — Identification en utilisant une clé d'hôte publique

Description

bool ssh2_auth_hostbased_file ( resource $session , string $username , string $hostname , string $pubkeyfile , string $privkeyfile [, string $passphrase [, string $local_username ]] )

Identification en utilisant une clé d'hôte publique lue depuis un fichier.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu via la fonction ssh2_connect().

username

hostname

pubkeyfile

privkeyfile

passphrase

Si privkeyfile est chiffré (et il doit l'être), la phrase secrète doit être fournie.

local_username

Si local_username est omis, alors la valeur de username sera utilisée pour cela.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Identification en utilisant une clé d'hôte publique

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Identification en utilisant une clé d'hôte publique avec succès\n";
} else {
  die('Echec de l\'identification en utilisant une clé d\'hôte publique avec succès');
}
?>

Notes

Note: ssh2_auth_hostbased_file() nécessite libssh2 >= 0.7 et PHP/SSH2 >= 0.7.

Fonctions Shell2
ssh2_auth_none
Fonctions Shell2


Identification en tant que "none"

ssh2_auth_hostbased_file
ssh2_auth_password
Fonctions Shell2
PHP Manual

ssh2_auth_none

(PECL ssh2 >= 0.9.0)

ssh2_auth_none — Identification en tant que "none"

Description

mixed ssh2_auth_none ( resource $session , string $username )

Tente une identification en tant que "none", qui, habituellement, échoue (et doit échouer). Mis à part l'échec, cette fonction doit retourner un tableau contenant les méthodes d'identification acceptées.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu avec la fonction ssh2_connect().

username

Nom d'utilisateur distant.

Valeurs de retour

Retourne TRUE si le serveur accepte "none" comme méthode d'identification, ou un tableau de méthodes d'identification acceptées en cas d'échec.

Exemples

Exemple #1 Récupération de la liste des méthodes d'identification

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Le serveur supporte l'identification à mot de passe\n";
}
?>

ssh2_auth_hostbased_file
ssh2_auth_password
Fonctions Shell2


Identification via SSH en utilisant un mot de passe en clair

ssh2_auth_none
ssh2_auth_pubkey_file
Fonctions Shell2
PHP Manual

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_password — Identification via SSH en utilisant un mot de passe en clair

Description

bool ssh2_auth_password ( resource $session , string $username , string $password )

Identification via SSH en utilisant un mot de passe en clair.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

username

Nom d'utilisateur distant.

password

Mot de passe pour l'utilisateur username.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Identification avec un mot de passe

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Identification réussi !\n";
} else {
  die('Echec de l\'identification...');
}
?>

ssh2_auth_none
ssh2_auth_pubkey_file
Fonctions Shell2


Identification en utilisant une clé publique

ssh2_auth_password
ssh2_connect
Fonctions Shell2
PHP Manual

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Identification en utilisant une clé publique

Description

bool ssh2_auth_pubkey_file ( resource $session , string $username , string $pubkeyfile , string $privkeyfile [, string $passphrase ] )

Identification en utilisant une clé publique, lue depuis un fichier.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

username

pubkeyfile

privkeyfile

passphrase

Si privkeyfile est chiffré (et doit l'être), la passe-phrase doit être fournie.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Identification en utilisant une clé publique

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Identification réussie en utilisant une clé publique\n";
} else {
  die('Echec de l\'identification en utilisant une clé publique');
}
?>

ssh2_auth_password
ssh2_connect
Fonctions Shell2


Connexion à un serveur SSH

ssh2_auth_pubkey_file
ssh2_exec
Fonctions Shell2
PHP Manual

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Connexion à un serveur SSH

Description

resource ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )

Établit une connexion à un serveur SSH distant.

Une fois connecté, le client doit vérifier la clé hôte du serveur en utilisant la fonctionssh2_fingerprint(), puis s'identifier en utilisant soit un mot de passe, soit une clé publique.

Liste de paramètres

host

port

methods

methods doit être un tableau associatif avec plus de quatre paramètres, comme décrit ci-dessous. methods peut contenir n'importe quel ou tous les paramètres suivants.

Options de connexion SSH
Index | Signification | Valeurs supportées *
kex | La liste des méthodes d'échange à annoncer, séparées par une virgule, par ordre de préférence. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, et diffie-hellman-group-exchange-sha1
hostkey | La liste des méthodes de clés d'hôte à annoncer, séparées par une virgule, par ordre de préférence. | ssh-rsa et ssh-dss
client_to_server | Tableau associatif contenant les codes des méthodes de chiffrement, de compression et de messages d'identification (MAC) préférés pour l'envoi des messages depuis le client vers le serveur.
server_to_client | Tableau associatif contenant les codes des méthodes de chiffrement, de compression et de messages d'identification (MAC) préférés pour l'envoi des messages depuis le serveur vers le client.

* - Les valeurs supportées sont dépendantes des méthodes supportées par la bibliothèque. Voir la documentation » libssh2 pour plus d'informations.

client_to_server et server_to_client doivent être un tableau associatif avec n'importe quel ou tous les paramètres suivants.
Index | Signification | Valeurs supportées *
crypt | Liste des méthodes de chiffrement à annoncer, séparées par une virgule, par ordre de préférence. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, et none**
comp | Liste des méthodes de compression à annoncer, séparées par une virgule, par ordre de préférence. | zlib et none
mac | Liste des méthodes MAC à annoncer, séparées par une virgule, par ordre de préférence. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, et none**

Note: Chiffrement et méthode MAC "none"
Pour des raisons de sécurité, none est désactivé par la bibliothèque » libssh2 à moins qu'il soit activé explicitement durant la compilation en utilisant les options appropriées du ./configure. Voir la documentation sur la bibliothèque pour plus d'informations.

callbacks

callbackss doit être un tableau associatif contenant n'importe quel ou tous les paramètres suivants.

Paramètres de rappel
Index | Signification | Prototype
ignore | Nom de la fonction à appeler lorsqu'un paquet SSH2_MSG_IGNORE est reçu | void ignore_cb($message)
debug | Nom de la fonction à appeler lorsqu'un paquet SSH2_MSG_DEBUG est reçu | void debug_cb($message, $language, $always_display)
macerror | Nom de la fonction à appeler lorsqu'un paquet est reçu mais que le code message d'identification échoue. Si le la fonction de rappel retourne TRUE, l'erreur sera ignorée, sinon, la connexion se terminera. | bool macerror_cb($packet)
disconnect | Nom de la fonction à appeler lorsqu'un paquet SSH2_MSG_DISCONNECT est reçu | void disconnect_cb($reason, $message, $language)

Valeurs de retour

Retourne une ressource en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ssh2_connect()

Ouverture d'une connexion forçant 3des-cbc lors de l'envoi de paquets, n'importe quel chiffrement AES lors de la réception de paquets, aucune compression dans les deux directions, et un échange de clés Group1.

<?php
/* Notification à l'utilisateur si le serveur termine la connexion */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
  'crypt'            => '3des-cbc',
  'comp'             => 'none'),
  'server_to_client' => array(
  'crypt'            => 'aes256-cbc,aes192-cbc,aes128-cbc',
  'comp'             => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Échec de la connexion');
?>

Voir aussi

  • ssh2_fingerprint() - Récupère l'empreinte d'un serveur distant
  • ssh2_auth_none() - Identification en tant que "none"
  • ssh2_auth_password() - Identification via SSH en utilisant un mot de passe en clair
  • ssh2_auth_pubkey_file() - Identification en utilisant une clé publique

ssh2_auth_pubkey_file
ssh2_exec
Fonctions Shell2


Exécute une commande sur un serveur distant

ssh2_connect
ssh2_fetch_stream
Fonctions Shell2
PHP Manual

ssh2_exec

(PECL ssh2 >= 0.9.0)

ssh2_exec — Exécute une commande sur un serveur distant

Description

resource ssh2_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Exécute une commande sur un serveur distant.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

command

pty

env

env peut être passé sous la forme d'un tableau associatif de paires nom/valeur, à définir dans l'environnement cible.

width

Largeur du terminal virtuel.

height

Hauteur du terminal virtuel.

width_height_type

width_height_type peut valoir SSH2_TERM_UNIT_CHARS ou SSH2_TERM_UNIT_PIXELS.

Valeurs de retour

Retourne un flux en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exécution d'une commande

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

Voir aussi

  • ssh2_connect() - Connexion à un serveur SSH
  • ssh2_shell() - Demande un shell interactif
  • ssh2_tunnel() - Ouvre un tunnel à travers un serveur distant

ssh2_connect
ssh2_fetch_stream
Fonctions Shell2


Parcours un flux étendu de données

ssh2_exec
ssh2_fingerprint
Fonctions Shell2
PHP Manual

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_stream — Parcours un flux étendu de données

Description

resource ssh2_fetch_stream ( resource $channel , int $streamid )

Parcourt un sous-flux alternatif associé à un flux de canal SSH2. Le protocole SSH2 définie actuellement un seul sous-flux, STDERR, qui a un identifiant de sous-flux de SSH2_STREAM_STDERR (défini à 1).

Liste de paramètres

channel

streamid

Un canal de flux SSH2.

Valeurs de retour

Retourne la ressource, représentant le flux demandé.

Exemples

Exemple #1 Ouverture d'un shell et récupération du flux stderr qui lui est associé

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Voir aussi

  • ssh2_shell() - Demande un shell interactif
  • ssh2_exec() - Exécute une commande sur un serveur distant
  • ssh2_connect() - Connexion à un serveur SSH

ssh2_exec
ssh2_fingerprint
Fonctions Shell2


Récupère l'empreinte d'un serveur distant

ssh2_fetch_stream
ssh2_methods_negotiated
Fonctions Shell2
PHP Manual

ssh2_fingerprint

(PECL ssh2 >= 0.9.0)

ssh2_fingerprint — Récupère l'empreinte d'un serveur distant

Description

string ssh2_fingerprint ( resource $session [, int $flags = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX ] )

Récupère l'empreinte d'un serveur distant.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

flags

flags peut être soit SSH2_FINGERPRINT_MD5 ou SSH2_FINGERPRINT_SHA1 associé logiquement avec SSH2_FINGERPRINT_HEX ou SSH2_FINGERPRINT_RAW.

Valeurs de retour

Retourne l'empreinte, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Comparaison d'une empreinte à une valeur connue

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Attaque Man-In-The-Middle possible ?");
}
?>

ssh2_fetch_stream
ssh2_methods_negotiated
Fonctions Shell2


Retourne une liste de méthodes négociées

ssh2_fingerprint
ssh2_publickey_add
Fonctions Shell2
PHP Manual

ssh2_methods_negotiated

(PECL ssh2 >= 0.9.0)

ssh2_methods_negotiated — Retourne une liste de méthodes négociées

Description

array ssh2_methods_negotiated ( resource $session )

Retourne une liste de méthodes négociées.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

Valeurs de retour

Exemples

Exemple #1 Détermine quelles méthodes ont été négociées

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Clé de cryptage négociée en utilisant : {$methods['kex']}\n";
echo "Identification du serveur en utilisant {$methods['hostkey']}";
echo "Empreinte : " . ssh2_fingerprint($connection) . "\n";

echo "Méthodes de transmission des paquets client vers serveur :\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Méthodes de transmission des paquets serveur vers client :\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

Voir aussi

  • ssh2_connect() - Connexion à un serveur SSH

ssh2_fingerprint
ssh2_publickey_add
Fonctions Shell2


Ajoute une clé publique autorisée

ssh2_methods_negotiated
ssh2_publickey_init
Fonctions Shell2
PHP Manual

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Ajoute une clé publique autorisée

Description

bool ssh2_publickey_add ( resource $pkey , string $algoname , string $blob [, bool $overwrite = false [, array $attributes ]] )

Note: Le publickey subsystem est utilisé pour gérer les clés publiques sur un serveur sur lequel le client est déjà identifié. Pour s'identifier à un system distant en utilisant l'identification par clé publique, utilisez la fonction ssh2_auth_pubkey_file() à la place.

Liste de paramètres

pkey

Ressource Publickey Subsystem créée par ssh2_publickey_init().

algoname

Algorithme de clé publique (exemple) : ssh-dss, ssh-rsa

blob

Blob de clé publique comme données binaires brutes

overwrite

Si la clé spécifiée existe déjà, devrait-elle être écrasée ?

attributes

Tableau associatif d'attributs pour assigner à cette clé publique. Référez-vous à ietf-secsh-publickey-subsystem pour une liste des attributs supportés. Pour marquer un attribut comme obligatoire, précédez son nom par un astérisque. Si le serveur n'est pas capable de supporter un attribut marqué comme obligatoire, il abandonnera le processus d'ajout.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout d'une clé publique avec ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Voir aussi

  • ssh2_publickey_init() - Initialise un Publickey Subsystem (sous-système de clé publique)
  • ssh2_publickey_remove() - Supprime un clé publique autorisée
  • ssh2_publickey_list() - Liste les clés publiques actuellement autorisées

ssh2_methods_negotiated
ssh2_publickey_init
Fonctions Shell2


Initialise un Publickey Subsystem (sous-système de clé publique)

ssh2_publickey_add
ssh2_publickey_list
Fonctions Shell2
PHP Manual

ssh2_publickey_init

(PECL ssh2 >= 0.10)

ssh2_publickey_init — Initialise un Publickey Subsystem (sous-système de clé publique)

Description

resource ssh2_publickey_init ( resource $session )

Demande le subsystem de la clé publique à partir d'un serveur SSH2 déjà connecté.

Le publickey subsystem permet à un client déjà connecté et identifié de gérer la liste des clés publiques autorisées enregistrée sur le serveur cible dans une manière d'implémentation agnostique. Si le serveur ne supporte pas le publickey subsystem, la fonction ssh2_publickey_init() retournera FALSE.

Liste de paramètres

session

Valeurs de retour

Retourne une ressource SSH2 Publickey Subsystem pour utiliser avec toutes les autres méthodes ssh2_publickey_*() ou FALSE si une erreur survient.

Notes

Note: Le publickey subsystem est utilisé pour gérer les clés publiques sur un serveur sur lequel le client est déjà identifié. Pour s'identifier à un system distant en utilisant l'identification par clé publique, utilisez la fonction ssh2_auth_pubkey_file() à la place.

Voir aussi

  • ssh2_publickey_add() - Ajoute une clé publique autorisée
  • ssh2_publickey_remove() - Supprime un clé publique autorisée
  • ssh2_publickey_list() - Liste les clés publiques actuellement autorisées

ssh2_publickey_add
ssh2_publickey_list
Fonctions Shell2


Liste les clés publiques actuellement autorisées

ssh2_publickey_init
ssh2_publickey_remove
Fonctions Shell2
PHP Manual

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — Liste les clés publiques actuellement autorisées

Description

array ssh2_publickey_list ( resource $pkey )

Liste les clés publiques actuellement autorisées.

Liste de paramètres

pkey

Ressource Publickey Subsystem.

Valeurs de retour

Retourne un tableau de clés indexées numériquement, chacune d'elle est un tableau associatif contenant : nom, blob et éléments attrs.

Élément de clé publique
Clé Tableau | Signification
name | Nom de l'algorithme utilisé par cette clé publique, par exemple : ssh-dss ou ssh-rsa.
blob | Blob de clé publique comme données binaires brutes.
attrs | Attributs assignés à cette clé publique. L'attribut le plus commun et seulement celui supporté par la clé publique version 1 des serveurs est comment, qui peut être n'importe quelle forme de chaîne de caractères.

Exemples

Exemple #1 Liste des clés autorisées avec ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Clé : {$key['name']}\n";
  echo "Blob : " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Commentaire : {$key['attrs']['comment']}\n\n";
}
?>

L'exemple ci-dessus va afficher :

Clé : ssh-rsa
Blob : AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Commentaire : Clé de John

Clé : ssh-rsa
Blob : AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Commentaire : Clé d'Alice

Notes

Note: Le publickey subsystem est utilisé pour gérer les clés publiques sur un serveur sur lequel le client est déjà identifié. Pour s'identifier à un system distant en utilisant l'identification par clé publique, utilisez la fonction ssh2_auth_pubkey_file() à la place.

Voir aussi

  • ssh2_publickey_init() - Initialise un Publickey Subsystem (sous-système de clé publique)
  • ssh2_publickey_add() - Ajoute une clé publique autorisée
  • ssh2_publickey_remove() - Supprime un clé publique autorisée

ssh2_publickey_init
ssh2_publickey_remove
Fonctions Shell2


Supprime un clé publique autorisée

ssh2_publickey_list
ssh2_scp_recv
Fonctions Shell2
PHP Manual

ssh2_publickey_remove

(PECL ssh2 >= 0.10)

ssh2_publickey_remove — Supprime un clé publique autorisée

Description

bool ssh2_publickey_remove ( resource $pkey , string $algoname , string $blob )

Supprime un clé publique autorisée.

Liste de paramètres

pkey

Ressource Publickey Subsystem

algoname

Algorithme de clé publique (exemple) : ssh-dss, ssh-rsa

blob

Blob de clé publique comme données binaires brutes

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Le publickey subsystem est utilisé pour gérer les clés publiques sur un serveur sur lequel le client est déjà identifié. Pour s'identifier à un system distant en utilisant l'identification par clé publique, utilisez la fonction ssh2_auth_pubkey_file() à la place.

Voir aussi

  • ssh2_publickey_init() - Initialise un Publickey Subsystem (sous-système de clé publique)
  • ssh2_publickey_add() - Ajoute une clé publique autorisée
  • ssh2_publickey_list() - Liste les clés publiques actuellement autorisées

ssh2_publickey_list
ssh2_scp_recv
Fonctions Shell2


Demande un fichier via SCP

ssh2_publickey_remove
ssh2_scp_send
Fonctions Shell2
PHP Manual

ssh2_scp_recv

(PECL ssh2 >= 0.9.0)

ssh2_scp_recv — Demande un fichier via SCP

Description

bool ssh2_scp_recv ( resource $session , string $remote_file , string $local_file )

Copie un fichier depuis un serveur distant vers le système de fichiers local.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

remote_file

Chemin vers le fichier distant.

local_file

Chemin vers le fichier local.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Téléchargement d'un fichier via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

Voir aussi

  • ssh2_scp_send() - Envoie un fichier via SCP
  • copy() - Copie un fichier

ssh2_publickey_remove
ssh2_scp_send
Fonctions Shell2


Envoie un fichier via SCP

ssh2_scp_recv
ssh2_sftp_lstat
Fonctions Shell2
PHP Manual

ssh2_scp_send

(PECL ssh2 >= 0.9.0)

ssh2_scp_send — Envoie un fichier via SCP

Description

bool ssh2_scp_send ( resource $session , string $local_file , string $remote_file [, int $create_mode = 0644 ] )

Copie un fichier depuis le système de fichiers local vers un serveur distant.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

local_file

Chemin vers le fichier local.

remote_file

Chemin vers le fichier distant.

create_mode

Le fichier sera créé avec le mode spécifié par create_mode.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Chargement d'un fichier via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

Voir aussi

  • ssh2_scp_recv() - Demande un fichier via SCP
  • copy() - Copie un fichier

ssh2_scp_recv
ssh2_sftp_lstat
Fonctions Shell2


Statue un lien symbolique

ssh2_scp_send
ssh2_sftp_mkdir
Fonctions Shell2
PHP Manual

ssh2_sftp_lstat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_lstat — Statue un lien symbolique

Description

array ssh2_sftp_lstat ( resource $sftp , string $path )

Statue un lien symbolique sur le système de fichiers distant sans suivre le lien.

Cette fonction est similaire à l'utilisation de la fonction lstat() avec le gestionnaire ssh2.sftp:// en PHP 5 et retourne les mêmes valeurs.

Liste de paramètres

sftp

path

Chemin vers le lien symbolique distant.

Valeurs de retour

Voir la documentation de la fonction stat() pour les détails concernant les valeurs retournées.

Exemples

Exemple #1 Statue un lien symbolique via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Voir aussi

  • ssh2_sftp_stat() - Statue un fichier sur un système de fichiers distant
  • lstat() - Retourne les informations sur un fichier ou un lien symbolique
  • stat() - Renvoie les informations à propos d'un fichier

ssh2_scp_send
ssh2_sftp_mkdir
Fonctions Shell2


Crée un dossier

ssh2_sftp_lstat
ssh2_sftp_readlink
Fonctions Shell2
PHP Manual

ssh2_sftp_mkdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_mkdir — Crée un dossier

Description

bool ssh2_sftp_mkdir ( resource $sftp , string $dirname [, int $mode = 0777 [, bool $recursive = false ]] )

Crée un dossier sur le système de fichiers distant.

Cette fonction est similaire à la fonction mkdir() avec le gestionnaire ssh2.sftp://.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte avec la fonction ssh2_sftp().

dirname

Chemin du nouveau dossier.

mode

Permissions du nouveau dossier.

recursive

Si recursive vaut TRUE, tous les dossiers requis pour dirname seront également automatiquement créés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'un dossier sur un serveur distant

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Ou :  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

Voir aussi

  • mkdir() - Crée un dossier
  • ssh2_sftp_rmdir() - Efface un dossier

ssh2_sftp_lstat
ssh2_sftp_readlink
Fonctions Shell2


Retourne la cible d'un lien symbolique

ssh2_sftp_mkdir
ssh2_sftp_realpath
Fonctions Shell2
PHP Manual

ssh2_sftp_readlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_readlink — Retourne la cible d'un lien symbolique

Description

string ssh2_sftp_readlink ( resource $sftp , string $link )

Retourne la cible d'un lien symbolique.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

link

Chemin vers le lien symbolique.

Valeurs de retour

Retourne la cible du lien symbolique link.

Exemples

Exemple #1 Lecture d'un lien symbolique

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target est maintenant (e.g.): '/var/run/mysql.sock' */
?>

Voir aussi

  • readlink() - Renvoie le contenu d'un lien symbolique
  • ssh2_sftp_symlink() - Crée un lien symbolique

ssh2_sftp_mkdir
ssh2_sftp_realpath
Fonctions Shell2


Résout le chemin réel d'un chemin fourni

ssh2_sftp_readlink
ssh2_sftp_rename
Fonctions Shell2
PHP Manual

ssh2_sftp_realpath

(PECL ssh2 >= 0.9.0)

ssh2_sftp_realpath — Résout le chemin réel d'un chemin fourni

Description

string ssh2_sftp_realpath ( resource $sftp , string $filename )

Traduit un nom de fichier filename en son chemin réellement effectif sur le système de fichiers distant.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

filename

Valeurs de retour

Retourne le chemin réel, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Résoudre un nom de chemin

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath est maintenant : '/etc/passwd' */
?>

Voir aussi

  • realpath() - Retourne le chemin canonique absolu
  • ssh2_sftp_symlink() - Crée un lien symbolique
  • ssh2_sftp_readlink() - Retourne la cible d'un lien symbolique

ssh2_sftp_readlink
ssh2_sftp_rename
Fonctions Shell2


Renomme un fichier distant

ssh2_sftp_realpath
ssh2_sftp_rmdir
Fonctions Shell2
PHP Manual

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename — Renomme un fichier distant

Description

bool ssh2_sftp_rename ( resource $sftp , string $from , string $to )

Renomme un fichier distant.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

from

Le fichier courant à renommer.

to

Le nouveau nom du fichier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Renommer un fichier via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

Voir aussi

  • rename() - Renomme un fichier ou un dossier

ssh2_sftp_realpath
ssh2_sftp_rmdir
Fonctions Shell2


Efface un dossier

ssh2_sftp_rename
ssh2_sftp_stat
Fonctions Shell2
PHP Manual

ssh2_sftp_rmdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rmdir — Efface un dossier

Description

bool ssh2_sftp_rmdir ( resource $sftp , string $dirname )

Efface un dossier du système de fichiers distant.

Cette fonction est similaire à l'utilisation de la fonction rmdir() avec le gestionnaire ssh2.sftp://.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

dirname

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Effacement d'un dossier sur un serveur distant

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Ou :  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

Voir aussi

  • rmdir() - Efface un dossier
  • ssh2_sftp_mkdir() - Crée un dossier

ssh2_sftp_rename
ssh2_sftp_stat
Fonctions Shell2


Statue un fichier sur un système de fichiers distant

ssh2_sftp_rmdir
ssh2_sftp_symlink
Fonctions Shell2
PHP Manual

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_stat — Statue un fichier sur un système de fichiers distant

Description

array ssh2_sftp_stat ( resource $sftp , string $path )

Statue un fichier sur un système de fichiers distant, en suivant les liens symboliques.

Cette fonction est similaire à l'utilisation de la fonction stat() avec le gestionnaire ssh2.sftp:// en PHP 5 et retourne les mêmes valeurs.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

path

Valeurs de retour

Voir la documentation de la fonction stat() pour les détails concernant les valeurs retournées.

Exemples

Exemple #1 Statut d'un fichier via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

Voir aussi

  • ssh2_sftp_lstat() - Statue un lien symbolique
  • lstat() - Retourne les informations sur un fichier ou un lien symbolique
  • stat() - Renvoie les informations à propos d'un fichier

ssh2_sftp_rmdir
ssh2_sftp_symlink
Fonctions Shell2


Crée un lien symbolique

ssh2_sftp_stat
ssh2_sftp_unlink
Fonctions Shell2
PHP Manual

ssh2_sftp_symlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_symlink — Crée un lien symbolique

Description

bool ssh2_sftp_symlink ( resource $sftp , string $target , string $link )

Crée un lien symbolique sur le système de fichiers distant.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

target

Cible du lien symbolique.

link

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'un lien symbolique

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

Voir aussi

  • ssh2_sftp_readlink() - Retourne la cible d'un lien symbolique
  • symlink() - Crée un lien symbolique

ssh2_sftp_stat
ssh2_sftp_unlink
Fonctions Shell2


Efface un fichier

ssh2_sftp_symlink
ssh2_sftp
Fonctions Shell2
PHP Manual

ssh2_sftp_unlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_unlink — Efface un fichier

Description

bool ssh2_sftp_unlink ( resource $sftp , string $filename )

Efface un fichier sur le système de fichiers distant.

Liste de paramètres

sftp

Une ressource SSH2 SFTP, ouverte par la fonction ssh2_sftp().

filename

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Effacement d'un fichier

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

Voir aussi

  • unlink() - Efface un fichier

ssh2_sftp_symlink
ssh2_sftp
Fonctions Shell2


Initialise un sous-système SFTP

ssh2_sftp_unlink
ssh2_shell
Fonctions Shell2
PHP Manual

ssh2_sftp

(PECL ssh2 >= 0.9.0)

ssh2_sftp — Initialise un sous-système SFTP

Description

resource ssh2_sftp ( resource $session )

Demande un sous-système SFTP depuis un serveur déjà connecté SSH2.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

Valeurs de retour

Cette méthode retourne une ressource SSH2 SFTP pour utilisation avec toutes les méthodes ssh2_sftp_*() ainsi que le gestionnaire ouvert ssh2.sftp://.

Exemples

Exemple #1 Ouverture d'un fichier via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

Voir aussi

  • ssh2_scp_recv() - Demande un fichier via SCP
  • ssh2_scp_send() - Envoie un fichier via SCP

ssh2_sftp_unlink
ssh2_shell
Fonctions Shell2


Demande un shell interactif

ssh2_sftp
ssh2_tunnel
Fonctions Shell2
PHP Manual

ssh2_shell

(PECL ssh2 >= 0.9.0)

ssh2_shell — Demande un shell interactif

Description

resource ssh2_shell ( resource $session [, string $term_type = "vanilla" [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )

Ouvre un shell sur le serveur distant et lui alloue un flux.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

term_type

term_type doit correspondre à une des entrées du fichier /etc/termcap du système cible.

env

env doit être passé en tant qu'un tableau associatif de paire nom/valeur à définir dans l'environnement cible.

width

Largeur du terminal virtuel.

height

Hauteur du terminal virtuel.

width_height_type

width_height_type doit être soit SSH2_TERM_UNIT_CHARS, soit SSH2_TERM_UNIT_PIXELS.

Valeurs de retour

Exemples

Exemple #1 Exécution d'une commande

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

Voir aussi

  • ssh2_exec() - Exécute une commande sur un serveur distant
  • ssh2_tunnel() - Ouvre un tunnel à travers un serveur distant
  • ssh2_fetch_stream() - Parcours un flux étendu de données

ssh2_sftp
ssh2_tunnel
Fonctions Shell2


Ouvre un tunnel à travers un serveur distant

ssh2_shell
Stomp
Fonctions Shell2
PHP Manual

ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnel — Ouvre un tunnel à travers un serveur distant

Description

resource ssh2_tunnel ( resource $session , string $host , int $port )

Ouvre un socket vers un hôte/port arbitraire via un serveur connecté SSH.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

host

port

Valeurs de retour

Exemples

Exemple #1 Ouverture d'un tunnel sur un hôte arbitraire

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

Voir aussi

  • ssh2_connect() - Connexion à un serveur SSH
  • fsockopen() - Ouvre une socket de connexion Internet ou Unix

ssh2_shell
Stomp
Fonctions Shell2


Client Stomp

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Exemples
  • Stomp Fonctions
    • stomp_connect_error — Retourne une chaîne décrivant la dernière erreur de connexion
    • stomp_version — Récupère la version de l'extension Stomp
  • Stomp — La classe Stomp
    • Stomp::abort — Annule une transaction en cours
    • Stomp::ack — Valide la réception d'un message
    • Stomp::begin — Débute une transaction
    • Stomp::commit — Valide une transaction en cours
    • Stomp::__construct — Ouvre une connexion
    • Stomp::__destruct — Ferme une connection
    • Stomp::error — Récupère la dernière erreur stomp
    • Stomp::getReadTimeout — Récupère le délai d'expiration de lecture
    • Stomp::getSessionId — Retourne l'identifiant de la session courante
    • Stomp::hasFrame — Indique si un message est en attente de lecture ou non
    • Stomp::readFrame — Lit le prochain message
    • Stomp::send — Envoi un message
    • Stomp::setReadTimeout — Définit le délai d'expiration de lecture
    • Stomp::subscribe — Souscrit à l'écoute d'une destination donnée
    • Stomp::unsubscribe — Supprime une souscription existante
  • StompFrame — La classe StompFrame
    • StompFrame::__construct — Constructeur
  • StompException — La classe StompException
ssh2_tunnel
Introduction
Autres services


Introduction

Cette extension permet aux applications php de communiquer avec tout les Brokers de message compatibles Stomp à travers un API objet ou procédural simple. » Site officiel de Stomp

Stomp
Installation/Configuration
Stomp


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Stomp


Pré-requis

PECL/stomp requiert PHP 5.2.2 ou plus récent.

Paquet » OpenSSL paquet >= 0.9.6. L'extension openssl est aussi requise si vous désirez utiliser stomp à travers SSL.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/stomp

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Stomp Options de configuration
Nom | Défaut | Modifiable | Historique
stomp.default_broker | tcp://localhost:61613 | PHP_INI_ALL |
stomp.default_connection_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_connection_timeout_usec | 0 | PHP_INI_ALL |
stomp.default_read_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_read_timeout_usec | 0 | PHP_INI_ALL |

Voici un éclaircissement sur l'utilisation des directives de configuration.

stomp.default_broker string

URI par défaut du Broker de message utilisé à la connexion si aucun autre URI n'est spécifié.

stomp.default_connection_timeout_sec integer

Le nombre de secondes entières du délai d'expiration de connexion.

stomp.default_connection_timeout_usec integer

Le nombre de microsecondes entières du délai d'expiration de connexion.

stomp.default_read_timeout_sec integer

Le nombre de secondes entières du délai d'expiration de lecture.

stomp.default_read_timeout_usec integer

Le nombre de microsecondes entières du délai d'expiration de lecture.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Il n'y a qu'une seule ressource utilisée par l'extension stomp : c'est le lien identifiant représentant la connexion stomp.

Configuration à l'exécution
Exemples
Installation/Configuration


Exemples

Exemple #1 Style orienté objet

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* envoi d'un message à la file 'foo' */
$stomp->send($queue, $msg);

/* souscription aux messages de la file 'foo' */
$stomp->subscribe($queue);

/* lecture d'un message */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    var_dump($frame);

    /* confirmation de la réception du message */
    $stomp->ack($frame);
}

/* fermeture de la connexion */
unset($stomp);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Exemple #2 Style procédural

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* vérification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* début de la transaction */
stomp_begin($link, 't1');

/* envoi d'un message à la file 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* validation de la transaction */
stomp_commit($link, 't1');

/* souscription aux messages de la file 'foo' */
stomp_subscribe($link, $queue);

/* lecture d'un message */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    var_dump($frame);

    /* confirmation de la réception du message */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* fermeture de la connexion */
stomp_close($link);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Types de ressources
Stomp Fonctions
Stomp


Stomp Fonctions

Sommaire

  • stomp_connect_error — Retourne une chaîne décrivant la dernière erreur de connexion
  • stomp_version — Récupère la version de l'extension Stomp
Exemples
stomp_connect_error
Stomp


Retourne une chaîne décrivant la dernière erreur de connexion

Stomp Fonctions
stomp_version
Stomp Fonctions
PHP Manual

stomp_connect_error

(PECL stomp >= 0.3.0)

stomp_connect_error — Retourne une chaîne décrivant la dernière erreur de connexion

Description

string stomp_connect_error ( void )

Retourne une chaîne décrivant la dernière erreur de connexion.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une chaîne décrivant l'erreur, ou NULL si aucune erreur n'est survenue.

Exemples

Exemple #1 Exemple avec stomp_connect_error()

<?php
$link = stomp_connect('http://localhost:61613');

if(!$link) {
    die('Connection failed: ' . stomp_connect_error());
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Connection failed: Invalid Broker URI scheme

Stomp Fonctions
stomp_version
Stomp Fonctions


Récupère la version de l'extension Stomp

stomp_connect_error
Stomp
Stomp Fonctions
PHP Manual

stomp_version

(PECL stomp >= 0.1.0)

stomp_version — Récupère la version de l'extension Stomp

Description

string stomp_version ( void )

Retourne une chaîne contenant la version de l'extension Stomp.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Version de l'extension Stomp.

Exemples

Exemple #1 Exemple avec stomp_version()

<?php

var_dump(stomp_version());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "0.2.0"

stomp_connect_error
Stomp
Stomp Fonctions


La classe Stomp

Introduction

Représente une connexion entre PHP et un Broker de message compatible Stomp.

Synopsis de la classe

Stomp
Stomp {
/* Méthodes */
public bool abort ( string $transaction_id [, array $headers ] )
public bool ack ( mixed $msg [, array $headers ] )
public bool begin ( string $transaction_id [, array $headers ] )
public bool commit ( string $transaction_id [, array $headers ] )
__construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password ]]] )
public bool __destruct ( void )
public string error ( void )
public array getReadTimeout ( void )
public string getSessionId ( void )
public bool hasFrame ( void )
public stompframe readFrame ([ string $class_name = "stompFrame" ] )
public bool send ( string $destination , mixed $msg [, array $headers ] )
public void setReadTimeout ( int $seconds [, int $microseconds ] )
public bool subscribe ( string $destination [, array $headers ] )
public bool unsubscribe ( string $destination [, array $headers ] )
}

Sommaire

  • Stomp::abort — Annule une transaction en cours
  • Stomp::ack — Valide la réception d'un message
  • Stomp::begin — Débute une transaction
  • Stomp::commit — Valide une transaction en cours
  • Stomp::__construct — Ouvre une connexion
  • Stomp::__destruct — Ferme une connection
  • Stomp::error — Récupère la dernière erreur stomp
  • Stomp::getReadTimeout — Récupère le délai d'expiration de lecture
  • Stomp::getSessionId — Retourne l'identifiant de la session courante
  • Stomp::hasFrame — Indique si un message est en attente de lecture ou non
  • Stomp::readFrame — Lit le prochain message
  • Stomp::send — Envoi un message
  • Stomp::setReadTimeout — Définit le délai d'expiration de lecture
  • Stomp::subscribe — Souscrit à l'écoute d'une destination donnée
  • Stomp::unsubscribe — Supprime une souscription existante
stomp_version
Stomp::abort
Stomp


Annule une transaction en cours

Stomp
Stomp::ack
Stomp
PHP Manual

Stomp::abort

stomp_abort

(PECL stomp >= 0.1.0)

Stomp::abort -- stomp_abort — Annule une transaction en cours

Description

Style orienté objet (méthode) :

public bool Stomp::abort ( string $transaction_id [, array $headers ] )

Style procédural :

bool stomp_abort ( resource $link , string $transaction_id [, array $headers ] )

Annule une transaction en cours.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

transaction_id

ID de la transaction à annuler.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* début de la transaction */
$stomp->begin('t1');

/* envoi d'un message à la file 'foo' */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* annulation de la transaction */
$stomp->abort('t1');

/* fermeture de la connexion */
unset($stomp);
?>

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('tcp://localhost:61613');

/* vérification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* début de la transaction */
stomp_begin($link, 't1');

/* envoi d'un message à la file 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* annulation de la transaction */
stomp_abort($link, 't1');

/* fermeture de la connexion */
stomp_close($link);

?>

Stomp
Stomp::ack
Stomp


Valide la réception d'un message

Stomp::abort
Stomp::begin
Stomp
PHP Manual

Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ack — Valide la réception d'un message

Description

Style orienté objet (méthode) :

public bool Stomp::ack ( mixed $msg [, array $headers ] )

Style procédural :

bool stomp_ack ( resource $link , mixed $msg [, array $headers ] )

Valide la réception d'un message par une souscription.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

msg

Le message où l'identifiant du message à valider.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Un en-tête de transaction peut être spécifié, indiquant que la confirmation des messages doit faire partie de la transaction.

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Exemple #1 Style orienté objet

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* envoi d'un message à la file 'foo' */
$stomp->send($queue, $msg);

/* souscription aux messages de la file 'foo' */
$stomp->subscribe($queue);

/* lecture d'un message */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
    /* confirmation de la réception du message */
    $stomp->ack($frame);
}

/* supprime la souscription à la file 'foo' */
$stomp->unsubscribe($queue);

/* fermeture de la connexion */
unset($stomp);

?>

Exemple #2 Style procédural

<?php

$queue  = '/queue/foo';
$msg    = 'bar';

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* vérification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* début de la transaction */
stomp_begin($link, 't1');

/* envoi d'un message à la file 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* validation de la transaction */
stomp_commit($link, 't1');

/* souscription aux messages de la file 'foo' */
stomp_subscribe($link, $queue);

/* lecture d'un message */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
    /* confirmation de la réception du message */
    stomp_ack($link, $frame['headers']['message-id']);
}

/* supprime la souscription à la file 'foo' */
stomp_unsubscribe($link, $queue);

/* fermeture de la connexion */
stomp_close($link);

?>

Stomp::abort
Stomp::begin
Stomp


Débute une transaction

Stomp::ack
Stomp::commit
Stomp
PHP Manual

Stomp::begin

stomp_begin

(PECL stomp >= 0.1.0)

Stomp::begin -- stomp_begin — Débute une transaction

Description

Style orienté objet (méthode) :

public bool Stomp::begin ( string $transaction_id [, array $headers ] )

Style procédural :

bool stomp_begin ( resource $link , string $transaction_id [, array $headers ] )

Débute une transaction.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

transaction_id

Identifiant de la transaction.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Voir stomp_commit() ou stomp_abort().

Stomp::ack
Stomp::commit
Stomp


Valide une transaction en cours

Stomp::begin
Stomp::__construct
Stomp
PHP Manual

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commit — Valide une transaction en cours

Description

Style orienté objet (méthode) :

public bool Stomp::commit ( string $transaction_id [, array $headers ] )

Style procédural :

bool stomp_commit ( resource $link , string $transaction_id [, array $headers ] )

Valide une transaction en cours.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

transaction_id

Identifiant de la transaction.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* début de la transaction */
$stomp->begin('t1');

/* envoi d'un message à la file 'foo' */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* validation de la transaction */
$stomp->commit('t1');

/* fermeture de la connexion */
unset($stomp);

?>

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('tcp://localhost:61613');

/* vérification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* début de la transaction */
stomp_begin($link, 't1');

/* envoi d'un message à la file 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* validation de la transaction */
stomp_commit($link, 't1');

/* fermeture de la connexion */
stomp_close($link);

?>

Stomp::begin
Stomp::__construct
Stomp


Ouvre une connexion

Stomp::commit
Stomp::__destruct
Stomp
PHP Manual

Stomp::__construct

stomp_connect

(PECL stomp >= 0.1.0)

Stomp::__construct -- stomp_connect — Ouvre une connexion

Description

Style orienté objet (constructeur) :

Stomp::__construct ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password ]]] )

Style procédural :

resource stomp_connect ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password ]]] )

Ouvre une connexion à un Broker de message compatible Stomp.

Liste de paramètres

broker

URI du Broker.

username

Nom d'utilisateur.

password

Mot de passe.

Valeurs de retour

Note: Un en-tête de transaction peut être spécifié, indiquant que la confirmation des messages doit faire partie de la transaction.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* fermeture de la connexion */
unset($stomp);

?>

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* verification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* fermeture de la connexion */
stomp_close($link);

?>

Stomp::commit
Stomp::__destruct
Stomp


Ferme une connection

Stomp::__construct
Stomp::error
Stomp
PHP Manual

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close — Ferme une connection

Description

Style orienté objet (destructeur) :

public bool Stomp::__destruct ( void )

Style procédural :

bool stomp_close ( resource $link )

Ferme une connexion préalablement ouverte.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Voir stomp_connect().

Stomp::__construct
Stomp::error
Stomp


Récupère la dernière erreur stomp

Stomp::__destruct
Stomp::getReadTimeout
Stomp
PHP Manual

Stomp::error

stomp_error

(PECL stomp >= 0.1.0)

Stomp::error -- stomp_error — Récupère la dernière erreur stomp

Description

Style orienté objet (méthode) :

public string Stomp::error ( void )

Style procédural :

string stomp_error ( resource $link )

Récupère la dernière erreur stomp.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

Valeurs de retour

Retourne une chaîne décrivant la dernière erreur ou FALSE si aucune erreur n'est survenue.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->error());

if (!$stomp->abort('unknown-transaction', array('receipt' => 'foo'))) {
    var_dump($stomp->error());
}

/* fermeture de la connexion */
unset($stomp);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* verification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_error($link));

if (!stomp_abort($link, 'unknown-transaction', array('receipt' => 'foo'))) {
    var_dump(stomp_error($link));
}

/* fermeture de la connexion */
stomp_close($link);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Stomp::__destruct
Stomp::getReadTimeout
Stomp


Récupère le délai d'expiration de lecture

Stomp::error
Stomp::getSessionId
Stomp
PHP Manual

Stomp::getReadTimeout

stomp_get_read_timeout

(PECL stomp >= 0.3.0)

Stomp::getReadTimeout -- stomp_get_read_timeout — Récupère le délai d'expiration de lecture

Description

Style orienté objet (méthode) :

public array Stomp::getReadTimeout ( void )

Style procédural :

array stomp_get_read_timeout ( resource $link )

Récupère le délai d'expiration de lecture.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

Valeurs de retour

Retourne un tableau associatif avec 2 éléments : sec et usec.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getReadTimeout());

/* fermeture de la connexion */
unset($stomp);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* verification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_read_timeout($link));

/* fermeture de la connexion */
stomp_close($link);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Stomp::error
Stomp::getSessionId
Stomp


Retourne l'identifiant de la session courante

Stomp::getReadTimeout
Stomp::hasFrame
Stomp
PHP Manual

Stomp::getSessionId

stomp_get_session_id

(PECL stomp >= 0.1.0)

Stomp::getSessionId -- stomp_get_session_id — Retourne l'identifiant de la session courante

Description

Style orienté objet (méthode) :

public string Stomp::getSessionId ( void )

Style procédural :

string stomp_get_session_id ( resource $link )

Retourne l'identifiant de la session courante.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

Valeurs de retour

Retourne une chaîne contenant l'identifiant de la session ou FALSE si une erreur survient.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getSessionId());

/* fermeture de la connexion */
unset($stomp);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(35) "ID:php.net-52873-1257291895530-4:14"

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* verification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_session_id($link));

/* fermeture de la connexion */
stomp_close($link);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(35) "ID:php.net-52873-1257291895530-4:14"

Stomp::getReadTimeout
Stomp::hasFrame
Stomp


Indique si un message est en attente de lecture ou non

Stomp::getSessionId
Stomp::readFrame
Stomp
PHP Manual

Stomp::hasFrame

stomp_has_frame

(PECL stomp >= 0.1.0)

Stomp::hasFrame -- stomp_has_frame — Indique si un message est en attente de lecture ou non

Description

Style orienté objet (méthode) :

public bool Stomp::hasFrame ( void )

Style procédural :

bool stomp_has_frame ( resource $link )

Indique si un message est en attente de lecture ou non.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

Valeurs de retour

Retourne TRUE si un message est en attente de lecture, ou FALSE dans le cas contraire.

Stomp::getSessionId
Stomp::readFrame
Stomp


Lit le prochain message

Stomp::hasFrame
Stomp::send
Stomp
PHP Manual

Stomp::readFrame

stomp_read_frame

(PECL stomp >= 0.1.0)

Stomp::readFrame -- stomp_read_frame — Lit le prochain message

Description

Style orienté objet (méthode) :

public stompframe Stomp::readFrame ([ string $class_name = "stompFrame" ] )

Style procédural :

array stomp_read_frame ( resource $link )

Lit le prochain message. Il est possible d'instancier un objet d'une classe spécifique, et de passer les paramètres au constructeur de cette classe.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

class_name

Le nom de la classe à instancier. Si ce paramètre n'est pas spécifié, un objet stompFrame est retourné.

Valeurs de retour

Note: Un en-tête de transaction peut être spécifié, indiquant que la confirmation des messages doit faire partie de la transaction.

Historique

Version | Description
Stomp 0.4.0 | Le paramètre class_name a été ajouté.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

/* souscription aux messages de la file 'foo' */
$stomp->subscribe('/queue/foo');

/* lecture d'un message */
var_dump($stomp->readFrame());

/* fermeture de la connexion */
unset($stomp);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* verification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

/* souscription aux messages de la file 'foo' */
stomp_subscribe($link, '/queue/foo');

/* lecture d'un message */
$frame = stomp_read_frame($link);

/* fermeture de la connexion */
stomp_close($link);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

Stomp::hasFrame
Stomp::send
Stomp


Envoi un message

Stomp::readFrame
Stomp::setReadTimeout
Stomp
PHP Manual

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send — Envoi un message

Description

Style orienté objet (méthode) :

public bool Stomp::send ( string $destination , mixed $msg [, array $headers ] )

Style procédural :

bool stomp_send ( resource $link , string $destination , mixed $msg [, array $headers ] )

Envoi un message au Broker de message.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

destination

Destination du message.

msg

Message à envoyer.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Un en-tête de transaction peut être spécifié, indiquant que la confirmation des messages doit faire partie de la transaction.

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Voir stomp_ack().

Stomp::readFrame
Stomp::setReadTimeout
Stomp


Définit le délai d'expiration de lecture

Stomp::send
Stomp::subscribe
Stomp
PHP Manual

Stomp::setReadTimeout

stomp_set_read_timeout

(PECL stomp >= 0.3.0)

Stomp::setReadTimeout -- stomp_set_read_timeout — Définit le délai d'expiration de lecture

Description

Style orienté objet (méthode) :

public void Stomp::setReadTimeout ( int $seconds [, int $microseconds ] )

Style procédural :

void stomp_set_read_timeout ( resource $link , integer $seconds [, integer $microseconds ] )

Définit le délai d'expiration de lecture pour une connexion stomp.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

seconds

Le nombre de secondes entières du délai d'expiration de lecture à définir.

microseconds

Le nombre de microsecondes entières du délai d'expiration de lecture à définir.

Exemples

Exemple #1 Style orienté objet

<?php

/* connexion */
try {
    $stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

$stomp->setReadTimeout(10);

/* fermeture de la connexion */
unset($stomp);

?>

Exemple #2 Style procédural

<?php

/* connexion */
$link = stomp_connect('ssl://localhost:61612');

/* verification de la connexion */
if (!$link) {
    die('Connection failed: ' . stomp_connect_error());
}

stomp_set_read_timeout($link, 10);

/* fermeture de la connexion */
stomp_close($link);

?>

Stomp::send
Stomp::subscribe
Stomp


Souscrit à l'écoute d'une destination donnée

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp
PHP Manual

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe — Souscrit à l'écoute d'une destination donnée

Description

Style orienté objet (méthode) :

public bool Stomp::subscribe ( string $destination [, array $headers ] )

Style procédural :

bool stomp_subscribe ( resource $link , string $destination [, array $headers ] )

Souscrit à l'écoute d'une destination donnée.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

destination

Destination à écouter.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Voir stomp_ack().

Stomp::setReadTimeout
Stomp::unsubscribe
Stomp


Supprime une souscription existante

Stomp::subscribe
StompFrame
Stomp
PHP Manual

Stomp::unsubscribe

stomp_unsubscribe

(PECL stomp >= 0.1.0)

Stomp::unsubscribe -- stomp_unsubscribe — Supprime une souscription existante

Description

Style orienté objet (méthode):

public bool Stomp::unsubscribe ( string $destination [, array $headers ] )

Style procédural :

bool stomp_unsubscribe ( resource $link , string $destination [, array $headers ] )

Supprime une souscription existante.

Liste de paramètres

link

Style procédural uniquement : L'identifiant stomp retourné par la fonctionstomp_connect().

destination

Souscription à supprimer.

headers

Tableau associatif contenantles en-têtes aditionnels (exemple : receipt).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Astuce

Stomp est, par nature, asynchrone. Une communication synchrone peut être implémentée en ajoutant un en-tête receipt. Ceci fera que les méthodes ne retourneront rien tant que le message de confirmation n'aura pas été reçu ou tant que le délai d'attente ne sera pas atteint.

Exemples

Voir stomp_ack().

Stomp::subscribe
StompFrame
Stomp


La classe StompFrame

Introduction

Représente un message envoyé ou reçu par un Broker de message compatible stomp.

Synopsis de la classe

StompFrame
StompFrame {
/* Propriétés */
public $command ;
public $headers ;
public $body ;
/* Méthodes */
__construct ([ string $command [, array $headers [, string $body ]]] )
}

Propriétés

command

Commande du message.

headers

En-têtes du message (tableau).

body

Corps du message.

Sommaire

  • StompFrame::__construct — Constructeur
Stomp::unsubscribe
StompFrame::__construct
Stomp


Constructeur

StompFrame
StompException
StompFrame
PHP Manual

StompFrame::__construct

(PECL stomp >= 0.1.0)

StompFrame::__construct — Constructeur

Description

StompFrame::__construct ([ string $command [, array $headers [, string $body ]]] )

Constructeur.

Liste de paramètres

command

Commande du message.

headers

En-têtes du message (tableau).

body

Corps du message.

StompFrame
StompException
StompFrame


La classe StompException

Introduction

Représente une erreur émise par l'extension stomp. Voir le chapitre sur les Exceptions pour plus d'informations sur les exceptions en PHP.

Synopsis de la classe

StompException
StompException étend Exception {
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}
StompFrame::__construct
SVN
Stomp


Subversion

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions SVN
    • svn_add — Prévoit l'ajout d'un élément dans le dossier de travail
    • svn_auth_get_parameter — Récupère un paramètre d'identification
    • svn_auth_set_parameter — Spécifie un paramètre d'identification
    • svn_blame — Récupère les condamnations SVN pour un fichier
    • svn_cat — Récupère le contenu d'un fichier du référentiel
    • svn_checkout — Extrait une copie de travail depuis un référentiel
    • svn_cleanup — Nettoie, récursivement, un dossier de travail, en finissant les opérations incomplètes et en supprimant les verrous
    • svn_client_version — Récupère la version des bibliothèques clientes SVN
    • svn_commit — Envoie les modifications depuis la copie locale vers le référentiel
    • svn_delete — Efface un élément d'un dossier de travail ou d'un dépôt
    • svn_diff — Compare deux chemins, récursivement
    • svn_export — Exporte le contenu d'un dossier SVN
    • svn_fs_abort_txn — Stoppe une transaction
    • svn_fs_apply_text — Crée et retourne un flux à utiliser pour modifier un fichier
    • svn_fs_begin_txn2 — Crée une nouvelle transaction
    • svn_fs_change_node_prop — Retourne TRUE si tout est Ok, FALSE sinon
    • svn_fs_check_path — Détermine quel type d'élément est pointé par un chemin donné
    • svn_fs_contents_changed — Retourne TRUE si le contenu est différent, FALSE sinon
    • svn_fs_copy — Copie un fichier ou un dossier
    • svn_fs_delete — Supprime un fichier ou un dossier
    • svn_fs_dir_entries — Énumère les éléments d'un dossier
    • svn_fs_file_contents — Retourne un flux afin d'accéder au contenu d'un fichier pour une révision donnée
    • svn_fs_file_length — Retourne le taille d'un fichier pour une révision donnée
    • svn_fs_is_dir — Retourne TRUE si le chemin pointe vers un dossier, FALSE sinon
    • svn_fs_is_file — Retourne TRUE si le chemin pointe vers un fichier, FALSE sinon
    • svn_fs_make_dir — Crée un nouveau dossier
    • svn_fs_make_file — Crée un fichier vide
    • svn_fs_node_created_rev — Retourne la révision dans laquelle le chemin, sous fsroot, a été créé
    • svn_fs_node_prop — Retourne la valeur d'une propriété d'un noeud
    • svn_fs_props_changed — Retourne TRUE si les propriétés sont différentes, FALSE sinon
    • svn_fs_revision_prop — Récupère la valeur d'une propriété nommée
    • svn_fs_revision_root — Récupère un gestionnaire sur une révision spécifique sur la racine du référentiel
    • svn_fs_txn_root — Crée et retourne une transaction
    • svn_fs_youngest_rev — Retourne le numéro de la révision la plus récente du système de fichier
    • svn_import — Importe un chemin non-versionné dans un référentiel
    • svn_log — Récupère le message d'historisation d'une URL du référentiel
    • svn_ls — Retourne la liste du contenu d'un dossier d'un référentiel, optionnellement à la révision fournie
    • svn_mkdir — Crée un dossier dans la copie de travail ou dans le référentiel
    • svn_repos_create — Crée un nouveau référentiel Subversion
    • svn_repos_fs_begin_txn_for_commit — Crée une nouvelle transaction
    • svn_repos_fs_commit_txn — Livre une transaction et retourne la nouvelle révision
    • svn_repos_fs — Récupère un gestionnaire du système de fichiers
    • svn_repos_hotcopy — Effectue une copie à chaud du référentiel
    • svn_repos_open — Ouvre un verrou partagé sur un référentiel
    • svn_repos_recover — Exécute les procédures de récupération du référentiel
    • svn_revert — Revenir en arrière sur les changements de la copie de travail
    • svn_status — Récupère le statut des fichiers et des dossiers de la copie de travail
    • svn_update — Met à jour la copie de travail
StompException
Introduction
Autres services


Introduction

Cette extension implémente les fonctions PHP pour » Subversion (SVN), un système de contrôle de versions, permettant aux scripts PHP de communiquer avec les référentiels SVN et les copies de travail, sans utiliser directement des appels aux exécutables svn.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

SVN
Installation/Configuration
SVN


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SVN


Pré-requis

Les binaires Subversion ne sont pas nécessaires pour utiliser cette extension. Cependant, lors de la compilation de l'extension, libsvn (les en-têtes Subversion) doit être disponible.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/svn

Si ./configure n'arrive pas à trouver les fichiers SVN (par exemple, Subversion a été installé avec un préfixe de dossier personnalisé), utilisez la commande ./configure --with-svn=$USR_PATH pour spécifier le dossier où include/subversion-1/ se trouve.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Avertissement

Si cette extension est compilée avec la bibliothèque libsvn 1.3, les fonctions qui fonctionnent avec les copies de travail échoueront sur les copies de travail créées par Subversion 1.4.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SVN_REVISION_HEAD ( entier )
Nombre magique (-1) spécifiant la révision HEAD
Constantes utilisables avec svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME ( chaîne de caractères )
Propriété pour le nom d'utilisateur par défaut, à utiliser lors de l'identification de base
SVN_AUTH_PARAM_DEFAULT_PASSWORD ( chaîne de caractères )
Propriété pour le mot de passe par défaut, à utiliser lors de l'identification de base
SVN_AUTH_PARAM_NON_INTERACTIVE ( chaîne de caractères )
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS ( chaîne de caractères )
SVN_AUTH_PARAM_NO_AUTH_CACHE ( chaîne de caractères )
SVN_AUTH_PARAM_SSL_SERVER_FAILURES ( chaîne de caractères )
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO ( chaîne de caractères )
SVN_AUTH_PARAM_CONFIG ( chaîne de caractères )
SVN_AUTH_PARAM_SERVER_GROUP ( chaîne de caractères )
SVN_AUTH_PARAM_CONFIG_DIR ( chaîne de caractères )
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS ( chaîne de caractères )
Propriété personnalisée pour ignorer les erreurs de vérification du certificat SSL
Constantes de système de fichiers
SVN_FS_CONFIG_FS_TYPE ( chaîne de caractères )
Clé de configuration qui détermine le type de système de fichiers
SVN_FS_TYPE_BDB ( chaîne de caractères )
Le système de fichiers est Berkeley-DB
SVN_FS_TYPE_FSFS ( chaîne de caractères )
Le système de fichiers est "système de fichiers natifs"
Constantes de propriétés réservées
SVN_PROP_REVISION_DATE ( chaîne de caractères )
svn:date
SVN_PROP_REVISION_ORIG_DATE ( chaîne de caractères )
svn:original-date
SVN_PROP_REVISION_AUTHOR ( chaîne de caractères )
svn:author
SVN_PROP_REVISION_LOG ( chaîne de caractères )
svn:log
Constantes de statut des copies de travail
SVN_WC_STATUS_NONE ( int )
Le statut n'existe pas
SVN_WC_STATUS_UNVERSIONED ( int )
L'élément n'est pas versionné dans la copie de travail
SVN_WC_STATUS_NORMAL ( int )
L'élément existe, rien d'autre n'intervient
SVN_WC_STATUS_ADDED ( int )
L'élément est programmé pour être ajouté
SVN_WC_STATUS_MISSING ( int )
L'élément est versionné mais est absent de la copie de travail
SVN_WC_STATUS_DELETED ( int )
L'élément est marqué pour effacement
SVN_WC_STATUS_REPLACED ( int )
L'élément a été supprimé, puis, ajouté à nouveau
SVN_WC_STATUS_MODIFIED ( int )
L'élément (texte ou propriété) a été modifié
SVN_WC_STATUS_MERGED ( int )
Les modifications de l'élément local ont été fusionnées avec les modifications du référentiel
SVN_WC_STATUS_CONFLICTED ( int )
Les modifications de l'élément local entrent en conflit avec les modifications du référentiel
SVN_WC_STATUS_IGNORED ( int )
L'élément n'est pas versionné mais est configuré pour être ignoré
SVN_WC_STATUS_OBSTRUCTED ( int )
L'élément non versionné s'apprête à être une ressource versionnée
SVN_WC_STATUS_EXTERNAL ( int )
Le chemin non versionné a été rempli en utilisant svn:externals
SVN_WC_STATUS_INCOMPLETE ( int )
Le dossier ne contient pas une liste complète d'entrées
Constantes de type de noeud
SVN_NODE_NONE ( int )
Absent
SVN_NODE_FILE ( int )
Fichier
SVN_NODE_DIR ( int )
Dossier
SVN_NODE_UNKNOWN ( int )
Quelque chose que Subversion n'arrive pas à identifier
Types de ressources
Fonctions SVN
SVN


Fonctions SVN

Sommaire

  • svn_add — Prévoit l'ajout d'un élément dans le dossier de travail
  • svn_auth_get_parameter — Récupère un paramètre d'identification
  • svn_auth_set_parameter — Spécifie un paramètre d'identification
  • svn_blame — Récupère les condamnations SVN pour un fichier
  • svn_cat — Récupère le contenu d'un fichier du référentiel
  • svn_checkout — Extrait une copie de travail depuis un référentiel
  • svn_cleanup — Nettoie, récursivement, un dossier de travail, en finissant les opérations incomplètes et en supprimant les verrous
  • svn_client_version — Récupère la version des bibliothèques clientes SVN
  • svn_commit — Envoie les modifications depuis la copie locale vers le référentiel
  • svn_delete — Efface un élément d'un dossier de travail ou d'un dépôt
  • svn_diff — Compare deux chemins, récursivement
  • svn_export — Exporte le contenu d'un dossier SVN
  • svn_fs_abort_txn — Stoppe une transaction
  • svn_fs_apply_text — Crée et retourne un flux à utiliser pour modifier un fichier
  • svn_fs_begin_txn2 — Crée une nouvelle transaction
  • svn_fs_change_node_prop — Retourne TRUE si tout est Ok, FALSE sinon
  • svn_fs_check_path — Détermine quel type d'élément est pointé par un chemin donné
  • svn_fs_contents_changed — Retourne TRUE si le contenu est différent, FALSE sinon
  • svn_fs_copy — Copie un fichier ou un dossier
  • svn_fs_delete — Supprime un fichier ou un dossier
  • svn_fs_dir_entries — Énumère les éléments d'un dossier
  • svn_fs_file_contents — Retourne un flux afin d'accéder au contenu d'un fichier pour une révision donnée
  • svn_fs_file_length — Retourne le taille d'un fichier pour une révision donnée
  • svn_fs_is_dir — Retourne TRUE si le chemin pointe vers un dossier, FALSE sinon
  • svn_fs_is_file — Retourne TRUE si le chemin pointe vers un fichier, FALSE sinon
  • svn_fs_make_dir — Crée un nouveau dossier
  • svn_fs_make_file — Crée un fichier vide
  • svn_fs_node_created_rev — Retourne la révision dans laquelle le chemin, sous fsroot, a été créé
  • svn_fs_node_prop — Retourne la valeur d'une propriété d'un noeud
  • svn_fs_props_changed — Retourne TRUE si les propriétés sont différentes, FALSE sinon
  • svn_fs_revision_prop — Récupère la valeur d'une propriété nommée
  • svn_fs_revision_root — Récupère un gestionnaire sur une révision spécifique sur la racine du référentiel
  • svn_fs_txn_root — Crée et retourne une transaction
  • svn_fs_youngest_rev — Retourne le numéro de la révision la plus récente du système de fichier
  • svn_import — Importe un chemin non-versionné dans un référentiel
  • svn_log — Récupère le message d'historisation d'une URL du référentiel
  • svn_ls — Retourne la liste du contenu d'un dossier d'un référentiel, optionnellement à la révision fournie
  • svn_mkdir — Crée un dossier dans la copie de travail ou dans le référentiel
  • svn_repos_create — Crée un nouveau référentiel Subversion
  • svn_repos_fs_begin_txn_for_commit — Crée une nouvelle transaction
  • svn_repos_fs_commit_txn — Livre une transaction et retourne la nouvelle révision
  • svn_repos_fs — Récupère un gestionnaire du système de fichiers
  • svn_repos_hotcopy — Effectue une copie à chaud du référentiel
  • svn_repos_open — Ouvre un verrou partagé sur un référentiel
  • svn_repos_recover — Exécute les procédures de récupération du référentiel
  • svn_revert — Revenir en arrière sur les changements de la copie de travail
  • svn_status — Récupère le statut des fichiers et des dossiers de la copie de travail
  • svn_update — Met à jour la copie de travail
Constantes pré-définies
svn_add
SVN


Prévoit l'ajout d'un élément dans le dossier de travail

Fonctions SVN
svn_auth_get_parameter
Fonctions SVN
PHP Manual

svn_add

(PECL svn >= 0.1.0)

svn_add — Prévoit l'ajout d'un élément dans le dossier de travail

Description

bool svn_add ( string $path [, bool $recursive = true [, bool $force = false ]] )

Ajoute un fichier, un dossier ou un lien symbolique, en utilisant le chemin path dans le dossier de travail. L'élément sera ajouté au référentiel au prochain appel de la fonction svn_commit() sur la copie de travail.

Liste de paramètres

path

Chemin de l'élément à ajouter.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

recursive

Si l'élément est un dossier, si l'on doit ou non ajouter récursivement tout son contenu. Par défaut, vaut TRUE

force

Si vaut TRUE, Subversion cherchera récursivement dans les dossiers versionnés existants afin d'ajouter tous les fichiers qui ne sont actuellement pas versionnés. Par défaut, vaut FALSE

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple avec svn_add()

Dans un dossier de travail où la commande svn status retourne :

$ svn status
?      foobar.txt

...ce code:

<?php
svn_add('foobar.txt');
?>

...marquera le fichier foobar.txt comme fichier à ajouter dans le dossier.

Voir aussi

  • » Documentation SVN sur la commande "svn add"

Fonctions SVN
svn_auth_get_parameter
Fonctions SVN


Récupère un paramètre d'identification

svn_add
svn_auth_set_parameter
Fonctions SVN
PHP Manual

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Récupère un paramètre d'identification

Description

string svn_auth_get_parameter ( string $key )

Récupère le paramètre d'identification dont la clé est key. Pour une list de clés valides ainsi que leurs significations, consultez la liste des constantes d'identification.

Liste de paramètres

key

Nom de la clé. Utilisez une constante d'identification définie par cette extension pour spécifier une clé..

Valeurs de retour

Retourne la valeur du paramètre dont la clé est key ; retourne NULL si le paramètre n'existe pas.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • svn_auth_set_parameter() - Spécifie un paramètre d'identification
  • Constantes d'identification

svn_add
svn_auth_set_parameter
Fonctions SVN


Spécifie un paramètre d'identification

svn_auth_get_parameter
svn_blame
Fonctions SVN
PHP Manual

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Spécifie un paramètre d'identification

Description

void svn_auth_set_parameter ( string $key , string $value )

Spécifie le paramètre d'identification key à la valeur value. Pour une liste de clés valides ainsi que leurs significations, reportez-vous à la liste des constantes d'identification.

Liste de paramètres

key

Nom de la clé. Utilisez une constante d'identification définie par cette extension pour spécifier la clé.

value

Valeur à définir pour la nouvelle clé. Le format de la valeur varie avec le paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'identification

Cet exemple configure SVN avec, comme nom d'utilisateur "Bob" et comme mot de passe "abc123" :

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

Voir aussi

  • svn_auth_get_parameter() - Récupère un paramètre d'identification
  • Constantes d'identification

svn_auth_get_parameter
svn_blame
Fonctions SVN


Récupère les condamnations SVN pour un fichier

svn_auth_set_parameter
svn_cat
Fonctions SVN
PHP Manual

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Récupère les condamnations SVN pour un fichier

Description

array svn_blame ( string $repository_url [, int $revision_no = SVN_REVISION_HEAD ] )

Récupère les condamnations SVN pour un fichier à partir d'une URL du référentiel.

Liste de paramètres

repository_url

L'URL du référentiel.

revision_no

Le numéro de révision.

Valeurs de retour

Un tableau des informations de condamnation SVN séparées par ligne qui incluent le numéro de révision, le numéro de ligne, la ligne de code, l'auteur et la date.

Exemples

Exemple #1 Exemple d'utilisation de svn_blame()

<?php
$svnurl = 'http://svn.example.org/svnroot/foo/trunk/index.php';

print_r( svn_blame($svnurl) );

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] = Array
          (
           [rev] = 1
           [line_no] = 1
           [line] = Hello World
           [author] = joesmith
           [date] = 2007-07-02T05:51:26.628396Z
          )
    [1] = Array
          ...

Voir aussi

  • svn_diff() - Compare deux chemins, récursivement
  • svn_logs()
  • svn_status() - Récupère le statut des fichiers et des dossiers de la copie de travail

svn_auth_set_parameter
svn_cat
Fonctions SVN


Récupère le contenu d'un fichier du référentiel

svn_blame
svn_checkout
Fonctions SVN
PHP Manual

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Récupère le contenu d'un fichier du référentiel

Description

string svn_cat ( string $repos_url [, int $revision_no ] )

Récupère le contenu du fichier pointé par l'URL repos_url du référentiel, optionnellement, à la révision revision_no.

Liste de paramètres

repos_url

URL de l'élément du référentiel.

revision_no

Numéro de révision de l'élément à récupérer ; par défaut, vaut HEAD.

Valeurs de retour

Retourne le contenu de l'élément depuis le référentiel en cas de succès, et FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple récupère le contenu d'un fichier, à la révision 28 :

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Voir aussi

  • svn_list()
  • » Documentation SVN sur la commande "svn cat"

svn_blame
svn_checkout
Fonctions SVN


Extrait une copie de travail depuis un référentiel

svn_cat
svn_cleanup
Fonctions SVN
PHP Manual

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Extrait une copie de travail depuis un référentiel

Description

bool svn_checkout ( string $repos , string $targetpath [, int $revision [, int $flags = 0 ]] )

Extrait une copie de travail depuis le référentiel repos vers targetpath à la révision revision.

Liste de paramètres

repos

URL du dossier dans le référentiel à extraire.

targetpath

Chemin local du dossier dans lequel on effectue l'extraction

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

revision

Numéro de révision du référentiel à extraire. Par défaut, vaut HEAD, la révision la plus récente.

flags

Toute combinaison de SVN_NON_RECURSIVE et SVN_IGNORE_EXTERNALS.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple montre comment extraire un dossier depuis un référentiel vers un dossier nommé "calc" :

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

L'utilisation de dirname(__FILE__) est nécessaire afin de convertir le chemin relatif du dossier calc en un chemin absolu. Si calc existe, vous pouvez également utiliser realpath() pour récupérer un chemin absolu.

Voir aussi

  • svn_add() - Prévoit l'ajout d'un élément dans le dossier de travail
  • svn_commit() - Envoie les modifications depuis la copie locale vers le référentiel
  • svn_status() - Récupère le statut des fichiers et des dossiers de la copie de travail
  • svn_update() - Met à jour la copie de travail
  • » Documentation SVN sur la commande "svn checkout"

svn_cat
svn_cleanup
Fonctions SVN


Nettoie, récursivement, un dossier de travail, en finissant les opérations incomplètes et en supprimant les verrous

svn_checkout
svn_client_version
Fonctions SVN
PHP Manual

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Nettoie, récursivement, un dossier de travail, en finissant les opérations incomplètes et en supprimant les verrous

Description

bool svn_cleanup ( string $workingdir )

Nettoie, récursivement, un dossier de travail workingdir, en finissant les opérations incomplètes et en supprimant les verrous. À utiliser lorsque la copie de travail n'est plus fonctionnelle.

Liste de paramètres

workingdir

Chemin vers le dossier local de travail, à nettoyer.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple montre comment nettoyer une copie de travail d'un dossier nommé "help-me" :

<?php
svn_cleanup(realpath('help-me'));
?>

La fonction realpath() doit être appelée, vu la mauvaise gestion des chemins relatifs par SVN.

Voir aussi

  • update()
  • » Documentation SVN sur la commande "svn cleanup"

svn_checkout
svn_client_version
Fonctions SVN


Récupère la version des bibliothèques clientes SVN

svn_cleanup
svn_commit
Fonctions SVN
PHP Manual

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Récupère la version des bibliothèques clientes SVN

Description

string svn_client_version ( void )

Récupère la version des bibliothèques clientes SVN.

Valeurs de retour

Numéro de la version, habituellement sous la forme x.y.z.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

<?php
echo svn_client_version();
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

1.3.1

svn_cleanup
svn_commit
Fonctions SVN


Envoie les modifications depuis la copie locale vers le référentiel

svn_client_version
svn_delete
Fonctions SVN
PHP Manual

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Envoie les modifications depuis la copie locale vers le référentiel

Description

array svn_commit ( string $log , array $targets [, bool $dontrecurse ] )

Livre les modifications effectuées sur les fichiers locaux énumérés par le tableau targets dans le référentiel, avec le message log. Les dossiers contenus dans le tableau targets seront livrés récursivement tant que le paramètre dontrecurse n'a pas été défini à TRUE.

Note: Cette fonction ne contient aucun paramètre spécifique à l'identification, aussi, le nom d'utilisateur et le mot de passe doivent être définis en utilisant la fonction svn_auth_set_parameter()

Liste de paramètres

log

Message d'historisation à utiliser lors de la livraison.

targets

Tableau de chemins locaux des fichiers à livrer.

Avertissement

Ce paramètre doit être un tableau ; une chaîne pour une cible unique n'est pas acceptée.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

dontrecurse

Drapeau de type booléen pour désactiver la récursivité lors de la livraison de dossiers dans le tableau targets. Par défaut, vaut FALSE.

Valeurs de retour

Retourne un tableau, sous la forme :

array(
    0 => numéro (entier) de révision de la livraison
    1 => Date et heure (format ISO 8601) de la livraison
    2 => nom d'utilisateur de la personne ayant livré
)

Retourne FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple livre le dossier "calculator" dans le référentiel, en utilisant comme nom d'utilisateur "Bob" et comme mot de passe "abc123" :

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Message d\'historisation de Bob', array(realpath('calculator'))));
?>

L'exemple ci-dessus va afficher :

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Voir aussi

  • svn_auth_set_parameter() - Spécifie un paramètre d'identification
  • » Documentation SVN sur la commande "svn commit"

svn_client_version
svn_delete
Fonctions SVN


Efface un élément d'un dossier de travail ou d'un dépôt

svn_commit
svn_diff
Fonctions SVN
PHP Manual

svn_delete

(PECL svn >= 0.4.0)

svn_delete — Efface un élément d'un dossier de travail ou d'un dépôt

Description

bool svn_delete ( string $path [, bool $force = false ] )

Efface un fichier, un dossier ou un lien symbolique, suivant le path utilisé, depuis un dossier de travail. L'élément sera effacé depuis le dépôt au prochain appel à la fonction svn_commit() sur le dossier de travail.

Liste de paramètres

path

Chemin vers l'élément à effacer.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

force

Si vaut TRUE, le fichier sera effacé même s'il a des modifications locales. Sinon, les modifications locales feront échouées la fonction. Par défaut, vaut FALSE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi

  • » Documentation SVN sur l'effacement

svn_commit
svn_diff
Fonctions SVN


Compare deux chemins, récursivement

svn_delete
svn_export
Fonctions SVN
PHP Manual

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Compare deux chemins, récursivement

Description

array svn_diff ( string $path1 , int $rev1 , string $path2 , int $rev2 )

Compare deux chemins, path1 et path2, récursivement.

Note: Ce n'est pas un véritable utilitaire de comparaison. Seuls les fichiers locaux qui sont versionnés peuvent être comparés : les autres fichiers échoueront.

Liste de paramètres

path1

Premier chemin. Peut être une URL vers un fichier/dossier d'un référentiel SVN ou un chemin vers un fichier/dossier local.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

Avertissement

Si un chemin vers un fichier local n'a que des antislashs et aucun slashs, cette extension échouera. Remplacez toujours tous les antislashs avec des slashs lorsque vous utilisez cette fonction.

rev1

Numéro de révision du premier chemin. Utilisez la constante SVN_REVISON_HEAD pour spécifier la révision la plus récente.

path2

Deuxième chemin à comparer. Voir le paramètre path1 pour la description.

rev2

Numéro de révision du second chemin. Voir le paramètre rev2 pour la description.

Valeurs de retour

Retourne un tableau contenant 2 flux : le premier représente la sortie de la comparaison, et le second contient les erreurs. Les flux peuvent être lus en utilisant la fonction fread(). Retourne FALSE ou NULL si une erreur survient.

La sortie du comparateur peut, par défaut, être au format de comparaison unifié Subversion, mais un » moteur externe de comparaison peut être utilisé, suivant la configuration SVN.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple montre une utilisation basique de cette fonction et récupère le contenu depuis les flux :

<?php
list($diff, $errors) = svn_diff(
    'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
    'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
  $contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

L'exemple ci-dessus va afficher :

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

Exemple #2 Comparaison de deux révisions d'un chemin du référentiel

Cet exemple implémente un gestionnaire permettant à un utilisateur de comparer facilement deux révisions d'un élément en utilisant un chemin de référentiel externe (la syntaxe par défaut est verbeuse) :

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

Exemple #3 Comparaison, plus portable, de deux fichiers locaux

Cet exemple implémente un gestionnaire permettant de comparer deux fichiers locaux, de façon plus portable en gérant le problème de realpath() et le bogue sur les antislashs :

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
    $path1 = str_replace('\\', '/', realpath($path1));
    $path2 = str_replace('\\', '/', realpath($path2));
    return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Voir aussi

  • » Documentation SVN sur la commande "svn diff"

svn_delete
svn_export
Fonctions SVN


Exporte le contenu d'un dossier SVN

svn_diff
svn_fs_abort_txn
Fonctions SVN
PHP Manual

svn_export

(PECL svn >= 0.3.0)

svn_export — Exporte le contenu d'un dossier SVN

Description

bool svn_export ( string $frompath , string $topath [, bool $working_copy = true ] )

Exporte le contenu soit d'une copie de travail, soit d'un référentiel dans un dossier "propre".

Liste de paramètres

frompath

Le chemin du dossier à exporter.

topath

Le chemin du nouveau dossier.

working_copy

Si TRUE, ceci exportera aussi les fichiers non-livrés de la copie de travail.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple d'utilisation de svn_export()

<?php
$working_dir     = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Voir aussi

  • svn_import() - Importe un chemin non-versionné dans un référentiel

svn_diff
svn_fs_abort_txn
Fonctions SVN


Stoppe une transaction

svn_export
svn_fs_apply_text
Fonctions SVN
PHP Manual

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Stoppe une transaction

Description

bool svn_fs_abort_txn ( resource $txn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Stoppe une transaction, retourne TRUE si tout est Ok, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_export
svn_fs_apply_text
Fonctions SVN


Crée et retourne un flux à utiliser pour modifier un fichier

svn_fs_abort_txn
svn_fs_begin_txn2
Fonctions SVN
PHP Manual

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Crée et retourne un flux à utiliser pour modifier un fichier

Description

resource svn_fs_apply_text ( resource $root , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée et retourne un flux à utiliser pour modifier un fichier.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_abort_txn
svn_fs_begin_txn2
Fonctions SVN


Crée une nouvelle transaction

svn_fs_apply_text
svn_fs_change_node_prop
Fonctions SVN
PHP Manual

svn_fs_begin_txn2

(PECL svn >= 0.2.0)

svn_fs_begin_txn2 — Crée une nouvelle transaction

Description

resource svn_fs_begin_txn2 ( resource $repos , int $rev )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une nouvelle transaction.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_apply_text
svn_fs_change_node_prop
Fonctions SVN


Retourne TRUE si tout est Ok, FALSE sinon

svn_fs_begin_txn2
svn_fs_check_path
Fonctions SVN
PHP Manual

svn_fs_change_node_prop

(PECL svn >= 0.2.0)

svn_fs_change_node_prop — Retourne TRUE si tout est Ok, FALSE sinon

Description

bool svn_fs_change_node_prop ( resource $root , string $path , string $name , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si tout est Ok, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_begin_txn2
svn_fs_check_path
Fonctions SVN


Détermine quel type d'élément est pointé par un chemin donné

svn_fs_change_node_prop
svn_fs_contents_changed
Fonctions SVN
PHP Manual

svn_fs_check_path

(PECL svn >= 0.1.0)

svn_fs_check_path — Détermine quel type d'élément est pointé par un chemin donné

Description

int svn_fs_check_path ( resource $fsroot , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Détermine quel type d'élément est pointé par un chemin donné.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_change_node_prop
svn_fs_contents_changed
Fonctions SVN


Retourne TRUE si le contenu est différent, FALSE sinon

svn_fs_check_path
svn_fs_copy
Fonctions SVN
PHP Manual

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Retourne TRUE si le contenu est différent, FALSE sinon

Description

bool svn_fs_contents_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si le contenu est différent, FALSE sinon

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_check_path
svn_fs_copy
Fonctions SVN


Copie un fichier ou un dossier

svn_fs_contents_changed
svn_fs_delete
Fonctions SVN
PHP Manual

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Copie un fichier ou un dossier

Description

bool svn_fs_copy ( resource $from_root , string $from_path , resource $to_root , string $to_path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Copie un fichier ou un dossier ; retourne TRUE en cas de succès, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_contents_changed
svn_fs_delete
Fonctions SVN


Supprime un fichier ou un dossier

svn_fs_copy
svn_fs_dir_entries
Fonctions SVN
PHP Manual

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Supprime un fichier ou un dossier

Description

bool svn_fs_delete ( resource $root , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Supprime un fichier ou un dossier ; retourne TRUE en cas de succès, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_copy
svn_fs_dir_entries
Fonctions SVN


Énumère les éléments d'un dossier

svn_fs_delete
svn_fs_file_contents
Fonctions SVN
PHP Manual

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Énumère les éléments d'un dossier

Description

array svn_fs_dir_entries ( resource $fsroot , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Énumère les éléments d'un dossier.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_delete
svn_fs_file_contents
Fonctions SVN


Retourne un flux afin d'accéder au contenu d'un fichier pour une révision donnée

svn_fs_dir_entries
svn_fs_file_length
Fonctions SVN
PHP Manual

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Retourne un flux afin d'accéder au contenu d'un fichier pour une révision donnée

Description

resource svn_fs_file_contents ( resource $fsroot , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne un flux afin d'accéder au contenu d'un fichier pour une révision donnée.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_dir_entries
svn_fs_file_length
Fonctions SVN


Retourne le taille d'un fichier pour une révision donnée

svn_fs_file_contents
svn_fs_is_dir
Fonctions SVN
PHP Manual

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Retourne le taille d'un fichier pour une révision donnée

Description

int svn_fs_file_length ( resource $fsroot , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le taille d'un fichier pour une révision donnée.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_file_contents
svn_fs_is_dir
Fonctions SVN


Retourne TRUE si le chemin pointe vers un dossier, FALSE sinon

svn_fs_file_length
svn_fs_is_file
Fonctions SVN
PHP Manual

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Retourne TRUE si le chemin pointe vers un dossier, FALSE sinon

Description

bool svn_fs_is_dir ( resource $root , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si le chemin pointe vers un dossier, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_file_length
svn_fs_is_file
Fonctions SVN


Retourne TRUE si le chemin pointe vers un fichier, FALSE sinon

svn_fs_is_dir
svn_fs_make_dir
Fonctions SVN
PHP Manual

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Retourne TRUE si le chemin pointe vers un fichier, FALSE sinon

Description

bool svn_fs_is_file ( resource $root , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si le chemin pointe vers un fichier, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_is_dir
svn_fs_make_dir
Fonctions SVN


Crée un nouveau dossier

svn_fs_is_file
svn_fs_make_file
Fonctions SVN
PHP Manual

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Crée un nouveau dossier

Description

bool svn_fs_make_dir ( resource $root , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée un nouveau dossier, retourne TRUE si tout est Ok, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_is_file
svn_fs_make_file
Fonctions SVN


Crée un fichier vide

svn_fs_make_dir
svn_fs_node_created_rev
Fonctions SVN
PHP Manual

svn_fs_make_file

(PECL svn >= 0.2.0)

svn_fs_make_file — Crée un fichier vide

Description

bool svn_fs_make_file ( resource $root , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée un fichier vide, retourne TRUE si tout est Ok, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_make_dir
svn_fs_node_created_rev
Fonctions SVN


Retourne la révision dans laquelle le chemin, sous fsroot, a été créé

svn_fs_make_file
svn_fs_node_prop
Fonctions SVN
PHP Manual

svn_fs_node_created_rev

(PECL svn >= 0.1.0)

svn_fs_node_created_rev — Retourne la révision dans laquelle le chemin, sous fsroot, a été créé

Description

int svn_fs_node_created_rev ( resource $fsroot , string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la révision dans laquelle le chemin, sous fsroot, a été créé.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_make_file
svn_fs_node_prop
Fonctions SVN


Retourne la valeur d'une propriété d'un noeud

svn_fs_node_created_rev
svn_fs_props_changed
Fonctions SVN
PHP Manual

svn_fs_node_prop

(PECL svn >= 0.1.0)

svn_fs_node_prop — Retourne la valeur d'une propriété d'un noeud

Description

string svn_fs_node_prop ( resource $fsroot , string $path , string $propname )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne la valeur d'une propriété d'un noeud.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_node_created_rev
svn_fs_props_changed
Fonctions SVN


Retourne TRUE si les propriétés sont différentes, FALSE sinon

svn_fs_node_prop
svn_fs_revision_prop
Fonctions SVN
PHP Manual

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Retourne TRUE si les propriétés sont différentes, FALSE sinon

Description

bool svn_fs_props_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne TRUE si les propriétés sont différentes, FALSE sinon.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_node_prop
svn_fs_revision_prop
Fonctions SVN


Récupère la valeur d'une propriété nommée

svn_fs_props_changed
svn_fs_revision_root
Fonctions SVN
PHP Manual

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Récupère la valeur d'une propriété nommée

Description

string svn_fs_revision_prop ( resource $fs , int $revnum , string $propname )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère la valeur d'une propriété nommée.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_props_changed
svn_fs_revision_root
Fonctions SVN


Récupère un gestionnaire sur une révision spécifique sur la racine du référentiel

svn_fs_revision_prop
svn_fs_txn_root
Fonctions SVN
PHP Manual

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Récupère un gestionnaire sur une révision spécifique sur la racine du référentiel

Description

resource svn_fs_revision_root ( resource $fs , int $revnum )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère un gestionnaire sur une révision spécifique de la racine du référentiel.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_revision_prop
svn_fs_txn_root
Fonctions SVN


Crée et retourne une transaction

svn_fs_revision_root
svn_fs_youngest_rev
Fonctions SVN
PHP Manual

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Crée et retourne une transaction

Description

resource svn_fs_txn_root ( resource $txn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée et retourne une transaction.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_revision_root
svn_fs_youngest_rev
Fonctions SVN


Retourne le numéro de la révision la plus récente du système de fichier

svn_fs_txn_root
svn_import
Fonctions SVN
PHP Manual

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Retourne le numéro de la révision la plus récente du système de fichier

Description

int svn_fs_youngest_rev ( resource $fs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Retourne le numéro de la révision la plus récente du système de fichier.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_fs_txn_root
svn_import
Fonctions SVN


Importe un chemin non-versionné dans un référentiel

svn_fs_youngest_rev
svn_log
Fonctions SVN
PHP Manual

svn_import

(PECL svn >= 0.2.0)

svn_import — Importe un chemin non-versionné dans un référentiel

Description

bool svn_import ( string $path , string $url , bool $nonrecursive )

Livre un chemin path non-versionné dans le référentiel à l'URL url. Si path est un dossier et nonrecursive vaut FALSE, le dossier sera importé récursivement.

Liste de paramètres

path

Chemin vers le fichier ou le dossier à importer.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

url

URL du référentiel dans lequel on importe.

nonrecursive

Si l'on doit ou non effectuer une importation récursive.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple monte un usage classique de cette fonction. Pour importer un dossier nommé "new-files" dans le référentiel à l'URL "http://www.example.com/svnroot/incoming/abc", utilisez :

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Voir aussi

  • svn_add() - Prévoit l'ajout d'un élément dans le dossier de travail
  • » Documentation SVN sur la commande "svn import"

svn_fs_youngest_rev
svn_log
Fonctions SVN


Récupère le message d'historisation d'une URL du référentiel

svn_import
svn_ls
Fonctions SVN
PHP Manual

svn_log

(PECL svn >= 0.1.0)

svn_log — Récupère le message d'historisation d'une URL du référentiel

Description

array svn_log ( string $repos_url [, int $start_revision [, int $end_revision [, int $limit = 0 [, int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY ]]]] )

svn_log() récupère l'historique complète de l'élément correspondant à l'URL repos_url, ou l'historique d'une révision spécifique si start_revision est spécifié. Cette fonction est équivalent à la commande svn log --verbose -r $start_revision $repos_url.

Avertissement

Pour les référentiels dont l'historique est important, la sortie peut être énorme (un tableau dont chaque élément représente une révision). Cette fonction ne supporte pas le drapeau --limit NUM, ni un intervalle de révisions (start_revision doit être un entier).

Liste de paramètres

repos_url

URL dans le référentiel de l'élément dont on doit récupérer l'historique.

start_revision

Numéro de révision de la première historisation à récupérer. Utilisez la constante SVN_REVISON_HEAD pour récupérer l'historisation de la révision la plus récente.

end_revision

Numéro de révision de la dernière historisation à récupérer. Par défaut vaut start_revision s'elle est spécifié sinon vaut la constante SVN_REVISION_INITIAL.

limit

Nombre d'historisations à récupérer.

flags

Toutes combinaisons de SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS et SVN_STOP_ON_COPY.

Valeurs de retour

En cas de succès, cette fonction retourne un tableau de fichiers au format :

[0] => Tableau, ordonné du numéro de révision le plus grand, au plus petit
(
    [rev] => numéro de révision
    [author] => nom de l'auteur
    [msg] => message d'historisation
    [date] => date, au format ISO 8601, i.e. date('c')
    [paths] => Tableau, décrivant les fichiers modifiés
        (
            [0] => Array
                (
                    [action] => lettre, spécifiant la modification
                    [path] =>  chemin absolu du référentiel vers le fichier modifié
                )
            [1] => ...
        )
)
[1] => ...

Note: La sortie sera toujours un tableau indexé numériquement de tableaux, même s'il n'y en a aucun, ou seulement un seul message d'historisation.

La valeur de action est une sous-partie de » la sortie de statut dans la première colonne, où les valeurs possibles sont :

Actions
Lettre | Description
M | L'élément a été modifié
A | L'élément a été ajouté
D | L'élément a été effacé
R | L'élément a été remplacé

Si aucune modification n'a été effectué à l'élément, un tableau vide sera retourné.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple avec svn_log()

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Voir aussi

  • » Documentation SVN pour la commande "svn log"

svn_import
svn_ls
Fonctions SVN


Retourne la liste du contenu d'un dossier d'un référentiel, optionnellement à la révision fournie

svn_log
svn_mkdir
Fonctions SVN
PHP Manual

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Retourne la liste du contenu d'un dossier d'un référentiel, optionnellement à la révision fournie

Description

array svn_ls ( string $repos_url [, int $revision_no = SVN_REVISION_HEAD [, bool $recurse = false ]] )

Cette fonction interroge l'URL du référentiel et retourne une liste des fichiers et dossiers, optionnellement depuis une révision spécifique. C'est l'équivalent de la commande svn list $repos_url[@$revision_no]

Note: Cette fonction ne fonctionne pas avec les copies de travail. repos_url DOIT être une URL de référentiel.

Liste de paramètres

url

URL du référentiel, e.g. http://www.example.com/svnroot. Pour accéder à un référentiel local Subversion via le système de fichiers, utilisez l'URI suivant : file:///home/user/svn-repos

revision

Numéro de révision à utiliser. S'il est omis, HEAD sera utilisé.

recurse

Active la récursivité.

Valeurs de retour

En cas de succès, cette fonction retourne un tableau de fichiers, listés sous la forme :

[0] => Array
    (
        [created_rev] => numéro de révision de la dernière édition
        [last_author] => nom de l'auteur de la dernière édition
        [size] => taille du fichier
        [time] => date et heure de la dernière édition, au format 'M d H:i'
                  ou 'M d Y', suivant l'âge du fichier
        [time_t] => timestamp Unix de la dernière édition
        [name] => nom du fichier ou du dossier
        [type] => type, peut être 'file' ou 'dir'
    )
[1] => ...

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple avec svn_ls()

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

Voir aussi

  • » Documentation SVN sur la commande "svn list"

svn_log
svn_mkdir
Fonctions SVN


Crée un dossier dans la copie de travail ou dans le référentiel

svn_ls
svn_repos_create
Fonctions SVN
PHP Manual

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Crée un dossier dans la copie de travail ou dans le référentiel

Description

bool svn_mkdir ( string $path )

Crée un dossier dans la copie de travail ou dans le référentiel.

Liste de paramètres

path

Le chemin vers la copie de travail ou le référentiel.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • svn_add() - Prévoit l'ajout d'un élément dans le dossier de travail
  • svn_copy()

svn_ls
svn_repos_create
Fonctions SVN


Crée un nouveau référentiel Subversion

svn_mkdir
svn_repos_fs_begin_txn_for_commit
Fonctions SVN
PHP Manual

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Crée un nouveau référentiel Subversion

Description

resource svn_repos_create ( string $path [, array $config [, array $fsconfig ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée un nouveau référentiel Subversion dans le chemin fourni.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_mkdir
svn_repos_fs_begin_txn_for_commit
Fonctions SVN


Crée une nouvelle transaction

svn_repos_create
svn_repos_fs_commit_txn
Fonctions SVN
PHP Manual

svn_repos_fs_begin_txn_for_commit

(PECL svn >= 0.2.0)

svn_repos_fs_begin_txn_for_commit — Crée une nouvelle transaction

Description

resource svn_repos_fs_begin_txn_for_commit ( resource $repos , int $rev , string $author , string $log_msg )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Crée une nouvelle transaction.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_repos_create
svn_repos_fs_commit_txn
Fonctions SVN


Livre une transaction et retourne la nouvelle révision

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
Fonctions SVN
PHP Manual

svn_repos_fs_commit_txn

(PECL svn >= 0.2.0)

svn_repos_fs_commit_txn — Livre une transaction et retourne la nouvelle révision

Description

int svn_repos_fs_commit_txn ( resource $txn )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Livre une transaction et retourne la nouvelle révision.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
Fonctions SVN


Récupère un gestionnaire du système de fichiers

svn_repos_fs_commit_txn
svn_repos_hotcopy
Fonctions SVN
PHP Manual

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Récupère un gestionnaire du système de fichiers

Description

resource svn_repos_fs ( resource $repos )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Récupère un gestionnaire du système de fichiers.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_repos_fs_commit_txn
svn_repos_hotcopy
Fonctions SVN


Effectue une copie à chaud du référentiel

svn_repos_fs
svn_repos_open
Fonctions SVN
PHP Manual

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Effectue une copie à chaud du référentiel

Description

bool svn_repos_hotcopy ( string $repospath , string $destpath , bool $cleanlogs )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Effectue une copie à chaud du référentiel situé dans repospath vers destpath.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_repos_fs
svn_repos_open
Fonctions SVN


Ouvre un verrou partagé sur un référentiel

svn_repos_hotcopy
svn_repos_recover
Fonctions SVN
PHP Manual

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Ouvre un verrou partagé sur un référentiel

Description

resource svn_repos_open ( string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Ouvre un verrou partagé sur un référentiel.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_repos_hotcopy
svn_repos_recover
Fonctions SVN


Exécute les procédures de récupération du référentiel

svn_repos_open
svn_revert
Fonctions SVN
PHP Manual

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Exécute les procédures de récupération du référentiel

Description

bool svn_repos_recover ( string $path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Exécute les procédures de récupération du référentiel.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

svn_repos_open
svn_revert
Fonctions SVN


Revenir en arrière sur les changements de la copie de travail

svn_repos_recover
svn_status
Fonctions SVN
PHP Manual

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Revenir en arrière sur les changements de la copie de travail

Description

bool svn_revert ( string $path [, bool $recursive = false ] )

Revient en arrière sur tout changement local du chemin dans la copie de travail.

Liste de paramètres

path

Le chemin vers l'élément dans la copie de travail.

recursive

Optionnellement applique ceci récursivement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • svn_delete() - Efface un élément d'un dossier de travail ou d'un dépôt
  • svn_export() - Exporte le contenu d'un dossier SVN

svn_repos_recover
svn_status
Fonctions SVN


Récupère le statut des fichiers et des dossiers de la copie de travail

svn_revert
svn_update
Fonctions SVN
PHP Manual

svn_status

(PECL svn >= 0.1.0)

svn_status — Récupère le statut des fichiers et des dossiers de la copie de travail

Description

array svn_status ( string $path [, int $flags = 0 ] )

Retourne le statut des fichiers et des dossiers de la copie de travail, en fournissant les modifications, les ajouts, les suppressions, ainsi que les autres modifications des éléments de la copie de travail.

Liste de paramètres

path

Chemin local vers le fichier ou le dossier dont on souhaite récupérer le statut.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

flags

Toute combinaison de SVN_NON_RECURSIVE, SVN_ALL (indépendamment du statut de modification), SVN_SHOW_UPDATES (les entrées seront ajoutées pour les éléments qui ne sont pas à jour), SVN_NO_IGNORE (néglige les propriétés svn:ignore lors de l'analyse des nouveaux fichiers) et SVN_IGNORE_EXTERNALS.

Valeurs de retour

Retourne un tableau indexé numériquement de tableaux associatifs détaillant le statut des éléments du référentiel :

Array (
    [0] => Array (
        // information sur l'élément
    )
    [1] => ...
)

L'information sur un élément est un tableau associatif qui peut contenir les clés suivantes :

path
Chemin vers le fichier/dossier de cette entrée sur le système de fichiers local.
text_status
Statut du texte de l'élément. Référez-vous aux constantes de statut pour les valeurs possibles.
repos_text_status
Statut du texte de l'élément dans le référentiel. Ne survient que si update est défini à TRUE. Référez-vous aux constantes de statut pour les valeurs possibles.
prop_status
Statut de la propriété de l'élément. Référez-vous aux constantes de statut pour les valeurs possibles.
repos_prop_status
Statut de la propriété de l'élément dans le référentiel. Ne survient que si update est défini à TRUE. Référez-vous aux constantes de statut pour les valeurs possibles.
locked
Si l'élément est verrouillé. (Définit que si TRUE.)
copied
Si l'élément a été copié ou non (prévu pour l'ajout avec la journalisation). (Définit que si TRUE.)
switched
Si l'élément a changé de référentiel de référence, en utilisant la commande switch. (Définit que si TRUE)

Ces clés ne sont définies que si l'élément est versionné :

name
Nom de base de l'élément dans le référentiel.
url
URL de l'élément dans le référentiel.
repos
URL de base du référentiel.
revision
Révision de l'élément dans la copie de travail.
kind
Type de l'élément, i.e. fichier ou dossier. Référez-vous aux constantes de type pour les valeurs possibles.
schedule
Action prévue pour l'élément, i.e. ajout ou suppression. Les constantes pour ces nombres magiques ne sont pas disponibles, elles peuvent être émulées en utilisant :
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // rien de spécial
    define('svn_wc_schedule_add',     1); // élément à ajouté
    define('svn_wc_schedule_delete',  2); // élément à supprimé
    define('svn_wc_schedule_replace', 3); // élément à ajouté et effacé
}
?>
deleted
Si l'élément a été supprimé, mais les révisions parentes existent toujours (Définit que si TRUE.)
absent
Si l'élément est absent, mais que Subversion sait qu'il devrait se trouver ici. (Définit que si TRUE.)
incomplete
Si l'entrée du fichier pour un dossier est incomplète. (Définit que si TRUE.)
cmt_date
Timestamp Unix de la date de la dernière validation. (Non-Affecté par le paramètre update).
cmt_rev
Révision de la dernière livraison. (Non-Affecté par le paramètre update).
cmt_author
Nom de l'auteur de la dernière livraison. (Non-Affecté par le paramètre update).
prop_time
Timestamp Unix représentant la date/heure de la dernière mise à jour des propriétés.
text_time
Timestamp Unix représentant la date/heure de la dernière mise à jour du texte.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple montre une utilisation basique de cette fonction.

<?php
print_r(svn_status(realpath('wc')));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // l'élément a été modifié
        [repos_text_status] => 1 // Aucune information disponible, utilisez update
        [prop_status] => 3 // aucun changement
        [repos_prop_status] => 1 // Aucune information disponible, utilisez update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // fichier
        [schedule] => 0 // aucune action de prévue
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Voir aussi

  • svn_update() - Met à jour la copie de travail
  • svn_log() - Récupère le message d'historisation d'une URL du référentiel
  • » Documentation SVN de la commande "svn status"

svn_revert
svn_update
Fonctions SVN


Met à jour la copie de travail

svn_status
TCP
Fonctions SVN
PHP Manual

svn_update

(PECL svn >= 0.1.0)

svn_update — Met à jour la copie de travail

Description

int svn_update ( string $path [, int $revno = SVN_REVISION_HEAD [, bool $recurse = true ]] )

Met à jour la copie de travail pointée par le chemin path à la révision revno. Si recurse vaut TRUE, les dossiers seront mis à jour récursivement.

Liste de paramètres

path

Chemin vers la copie de travail locale.

Note: Les chemins relatifs peuvent être résolus si le dossier de travail courant est l'un de ceux qui contiennent le binaire PHP. Pour utiliser le dossier de travail, utilisez la fonction realpath(), ou l'instruction dirname(__FILE__).

revno

Numéro de révision vers lequel mettre à jour ; vaut par défaut SVN_REVISION_HEAD.

recurse

Si l'on doit ou non mettre à jour les dossiers récursivement.

Valeurs de retour

Retourne le nouveau numéro de révision en cas de succès, ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exemples

Exemple #1 Exemple d'utilisation

Cet exemple montre une utilisation basique de cette fonction :

<?php
echo svn_update(realpath('working-copy'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

234

Voir aussi

  • svn_checkout() - Extrait une copie de travail depuis un référentiel
  • svn_commit() - Envoie les modifications depuis la copie locale vers le référentiel
  • » Documentation SVN pour la commande "svn update"

svn_status
TCP
Fonctions SVN


TCP Wrappers

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions TCP
    • tcpwrap_check — Vérification Tcpwrap
svn_update
Introduction
Autres services


Introduction

L'extension TCP wrappers fournit un mécanisme classique Unix conçu pour vérifier si le client est capable de se connecter à partir d'une IP donnée.

TCP
Installation/Configuration
TCP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
TCP


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/tcpwrap.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions TCP
TCP


Fonctions TCP

Sommaire

  • tcpwrap_check — Vérification Tcpwrap
Constantes pré-définies
tcpwrap_check
TCP


Vérification Tcpwrap

Fonctions TCP
YAZ
Fonctions TCP
PHP Manual

tcpwrap_check

(PECL tcpwrap >= 0.1.0)

tcpwrap_check — Vérification Tcpwrap

Description

bool tcpwrap_check ( string $daemon , string $address [, string $user [, bool $nodns = false ]] )

tcpwrap_check() consulte les fichiers /etc/hosts.allow et /etc/hosts.deny pour vérifier si l'accès au service daemon est permis ou pas pour un client.

Liste de paramètres

daemon

Le nom du service.

address

L'adresse distante du client. Peut être soit une adresse IP, soit un nom de domaine.

user

Un nom d'utilisateur, optionnel.

nodns

Si address ressemble à un nom de domaine, DNS est utilisé pour le résoudre en adresse IP ; définissez nodns à TRUE pour éviter ce comportement.

Valeurs de retour

Cette fonction retourne TRUE si l'accès doit être autorisé, FALSE sinon.

Exemples

Exemple #1 Refuser toutes les connexions depuis localhost

Si votre fichier /etc/hosts.deny contient :

php: 127.0.0.1

Et votre code ressemble à :

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('Vous n\'êtes pas le bienvenu ici');
}
?>

Voir aussi

Pour plus de détails, consultez la page man de hosts_access(3).

Fonctions TCP
YAZ
Fonctions TCP


YAZ

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • YAZ Fonctions
    • yaz_addinfo — Retourne plus de détails après une erreur
    • yaz_ccl_conf — Configure l'analyseur CCL
    • yaz_ccl_parse — Appelle l'analyseur CCL
    • yaz_close — Ferme une connexion YAZ
    • yaz_connect — Prépare une connexion à un serveur Z39.50
    • yaz_database — Spécifie la base d'une session YAZ
    • yaz_element — Spécifie le type d'éléments YAZ à lire
    • yaz_errno — Retourne le numéro d'erreur
    • yaz_error — Retourne une description de l'erreur
    • yaz_es_result — Inspecte le résultat d'un service étendu
    • yaz_es — Prépare pour une Requête de Service Étendu
    • yaz_get_option — Retourne la valeur d'une option de connexion YAZ
    • yaz_hits — Retourne le nombre de résultats de la dernière recherche
    • yaz_itemorder — Prépare une requête Z39.50 Item Order avec le paquet ILL-Request
    • yaz_present — Prépare à la lecture (Z39.50 present)
    • yaz_range — Spécifie le nombre maximal de résultats à lire
    • yaz_record — Retourne un résultat
    • yaz_scan_result — Retourne le résultat d'un scan
    • yaz_scan — Prépare un scan YAZ
    • yaz_schema — Spécifie le schéma de lecture
    • yaz_search — Prépare une recherche
    • yaz_set_option — Modifie une ou plusieurs options de connexion YAZ
    • yaz_sort — Configure les critères de tri
    • yaz_syntax — Spécifie la syntaxe de lecture des lignes
    • yaz_wait — Attend l'exécution d'une requête
tcpwrap_check
Introduction
Autres services


Introduction

Cette extension offre une interface PHP à la bibliothèque YAZ qui implémente le » protocole Z39.50 pour récupérer des informations. Avec cette extension, vous pouvez simplement implémenter une origine Z39.50 (client) qui cherche ou analyse des cibles Z39.50 (serveurs) en parallèle.

Ce module simplifie l'utilisation complexe du protocole Z39.50. Il supporte les connexions persistantes de façon similaire aux APIs RDB, qui sont disponibles pour PHP. Cela signifie que les sessions sont conservées mais partagées entre les utilisateurs, évitant ainsi les étapes de connexion et d'initialisation dans la plupart des cas.

YAZ est disponible sur » http://www.indexdata.dk/yaz/. Vous pouvez trouver des informations supplémentaires, des exemples de scripts, etc. pour cette extension sur » http://www.indexdata.dk/phpyaz/.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

YAZ
Installation/Configuration
YAZ


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
YAZ


Pré-requis

Récupérez YAZ (support ANSI/NISO Z39.50) et installez-le. YAZ peut être récupéré sous forme de source ou sous forme de paquets pré-compilés depuis l'» archive YAZ. Les systèmes comme Debian GNU/Linux, Suse Linux, FreeBSD ont également YAZ fournis dans leurs distributions.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/yaz

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Note: Information spécifique aux utilisateurs de Windows
php_yaz.dll dépend de la bibliothèque yaz.dll. Le fichier yaz.dll fait parti du ZIP Win32 depuis le site de PHP. Il fait également parti de l'installation Windows YAZ, disponible depuis l' » espace YAZ WIN32.
Sous Windows, n'oubliez pas d'ajouter le dossier PHP à votre PATH pour que le fichier yaz.dll soit trouvé par votre système.

Avertissement

Les extensions IMAP, recode, YAZ et Cyrus ne peuvent être utilisées simultanément puisqu'elles utilisent un symbole interne commun. Note: Yaz 2.0 et supérieur ne sont pas affectés par ce problème.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Yaz
Nom | Défaut | Modifiable | Historique
yaz.max_links | "100" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Supprimé depuis PHP 5.0.0.
yaz.log_file | NULL | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Supprimé depuis PHP 5.0.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
YAZ


Exemples

PHP/YAZ garde les traces des connexions avec les cibles (Z-Associations). Une ressource représente une connexion à une cible.

Le script ci-dessous montre la fonctionnalité de recherche parallèle de l'API. Lorsqu'appelée sans argument, elle affiche une requête ; sinon, elle cherche la cible donnée dans le tableau host.

Exemple #1 Recherche parallèle en utilisant Yaz

<?php
$host=$_REQUEST[host];
$query=$_REQUEST[query];
$num_hosts = count($host);
if (empty($query) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils" />
        test GILS
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default" />
        test local
    <input type="checkbox" checked="checked"
    name="host[]" value="z3950.loc.gov:7090/voyager" />
        Library of Congress
    <br />
    Requête RPN:
    <input type="text" size="30" name="query" />
    <input type="submit" name="action" value="Search" />
    </form>
    ';
} else {
    echo 'Votre recherche pour ' . htmlspecialchars($query) . '<br />';
    for ($i = 0; $i < $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i], "usmarc");
        yaz_range($id[$i], 1, 10);
        yaz_search($id[$i], "rpn", $query);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr />' . $host[$i] . ':';
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Erreur : $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Nombre de résultat(s) : $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i], $p, "string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo nl2br($rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
?>

Constantes pré-définies
YAZ Fonctions
YAZ


YAZ Fonctions

Sommaire

  • yaz_addinfo — Retourne plus de détails après une erreur
  • yaz_ccl_conf — Configure l'analyseur CCL
  • yaz_ccl_parse — Appelle l'analyseur CCL
  • yaz_close — Ferme une connexion YAZ
  • yaz_connect — Prépare une connexion à un serveur Z39.50
  • yaz_database — Spécifie la base d'une session YAZ
  • yaz_element — Spécifie le type d'éléments YAZ à lire
  • yaz_errno — Retourne le numéro d'erreur
  • yaz_error — Retourne une description de l'erreur
  • yaz_es_result — Inspecte le résultat d'un service étendu
  • yaz_es — Prépare pour une Requête de Service Étendu
  • yaz_get_option — Retourne la valeur d'une option de connexion YAZ
  • yaz_hits — Retourne le nombre de résultats de la dernière recherche
  • yaz_itemorder — Prépare une requête Z39.50 Item Order avec le paquet ILL-Request
  • yaz_present — Prépare à la lecture (Z39.50 present)
  • yaz_range — Spécifie le nombre maximal de résultats à lire
  • yaz_record — Retourne un résultat
  • yaz_scan_result — Retourne le résultat d'un scan
  • yaz_scan — Prépare un scan YAZ
  • yaz_schema — Spécifie le schéma de lecture
  • yaz_search — Prépare une recherche
  • yaz_set_option — Modifie une ou plusieurs options de connexion YAZ
  • yaz_sort — Configure les critères de tri
  • yaz_syntax — Spécifie la syntaxe de lecture des lignes
  • yaz_wait — Attend l'exécution d'une requête
Exemples
yaz_addinfo
YAZ


Retourne plus de détails après une erreur

YAZ Fonctions
yaz_ccl_conf
YAZ Fonctions
PHP Manual

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Retourne plus de détails après une erreur

Description

string yaz_addinfo ( resource $id )

Retourne plus de détails après une erreur pour la dernière requête sur le serveur.

Avec certains serveurs, cette fonction peut retourner la même chaîne de caractères que la fonction yaz_error().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

Valeurs de retour

Une chaîne de caractères contenant des informations additionnelles ou une chaîne de caractères vide si la dernière opération était réussie ou si aucune information additionnelle n'était fournie par le serveur.

Voir aussi

  • yaz_error() - Retourne une description de l'erreur
  • yaz_errno() - Retourne le numéro d'erreur

YAZ Fonctions
yaz_ccl_conf
YAZ Fonctions


Configure l'analyseur CCL

yaz_addinfo
yaz_ccl_parse
YAZ Fonctions
PHP Manual

yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_conf — Configure l'analyseur CCL

Description

void yaz_ccl_conf ( resource $id , array $config )

Cette fonction configure l'analyseur CCL de requête pour un serveur avec les définitions de points d'accès (CCL qualifiers) et leur équivalent en RPN.

Pour faire correspondre une requête CCL spécifique à RPN, utilisez la fonction yaz_ccl_parse().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

config

Un tableau de configuration. Chaque clé du tableau est le nom du champ CCL et la valeur correspondante contient une chaîne de caractères qui spécifie la correspondance au RPN.

La correspondance est une séquence de paires d'attributs type et d'attributs valeur. L'attribut type et l'attribut valeur sont séparés par un signe égal (=). Chaque paire est séparée par un espace.

Des informations supplémentaires peuvent être trouvées sur la page » CCL.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Dans l'exemple ci-dessous, l'analyseur CCL est configuré pour supporter trois champs CCL : ti, au et isbn. Chaque champ correspond à leur équivalent BIB-1. On assume que la variable $id est l'ID de la connexion.

Exemple #1 Configuration CCL

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $field);
?>

Voir aussi

  • yaz_ccl_parse() - Appelle l'analyseur CCL

yaz_addinfo
yaz_ccl_parse
YAZ Fonctions


Appelle l'analyseur CCL

yaz_ccl_conf
yaz_close
YAZ Fonctions
PHP Manual

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parse — Appelle l'analyseur CCL

Description

bool yaz_ccl_parse ( resource $id , string $query , array &$result )

Cette fonction appelle l'analyseur CCL. Il convertit une requête CCL FIND en une requête RPN qui peut être passée à yaz_search() pour effectuer une recherche.

Pour définir un champ CCL valide, utilisez la fonction yaz_ccl_conf() avant d'utiliser cette fonction.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

query

La requête CCL FIND.

result

Si la fonction a été exécutée correctement, cet argument sera un tableau contenant la requête RPN valide sous la clé rpn.

Lors d'un échec, trois index sont écrits dans ce tableau pour indiquer la cause de l'échec :

  • errorcode - le code d'erreur CCL (entier)

  • errorstring - l'erreur CCL en chaîne de caractères

  • errorpos - position approximée dans la requête qui est en échec (entier qui est la position d'un caractère)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Analyse CCL

Nous allons essayer de chercher en utilisant CCL. Dans l'exemple ci-dessous, $ccl est une requête CCL.

<?php

yaz_ccl_conf($id, $fields);  // voir l'exemple sur la fonction yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Erreur : ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>
yaz_ccl_conf
yaz_close
YAZ Fonctions


Ferme une connexion YAZ

yaz_ccl_parse
yaz_connect
YAZ Fonctions
PHP Manual

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — Ferme une connexion YAZ

Description

bool yaz_close ( resource $id )

Ferme la connexion donnée par le paramètre id.

Note: Cette fonction fermera seulement une connexion non persistante ouverte en mettant l'option persistent à FALSE avec yaz_connect().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • yaz_connect() - Prépare une connexion à un serveur Z39.50

yaz_ccl_parse
yaz_connect
YAZ Fonctions


Prépare une connexion à un serveur Z39.50

yaz_close
yaz_database
YAZ Fonctions
PHP Manual

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Prépare une connexion à un serveur Z39.50

Description

mixed yaz_connect ( string $zurl [, mixed $options ] )

Cette fonction retourne une ressource de connexion en cas de succès et 0 en cas d'échec.

yaz_connect() prépare une connexion à un serveur Z39.50. Cette fonction n'est pas bloquante, et ne tente pas d'établir une connexion. En fait, elle ne fait que préparer la connexion pour exécution ultérieure par yaz_wait().

Note: Le proxy » YAZ est un proxy Z39.50 librement disponible.

Liste de paramètres

zurl

Une chaîne de caractères qui prend la forme host[:port][/database]. Si le port est omis, le port 210 est utilisé. Si la base de données est omise, Default est utilisée.

options

Si donné comme une chaîne de caractères, cela sera traité comme la chaîne d'authentification Z39.50 V2 (OpenAuth).

Si donné comme un tableau, le contenu du tableau sert en tant qu'options.

user

Utilisateur pour authentification.

group

Groupe pour authentification.

password

Mot de passe pour authentification.

cookie

Cookie pour session (proxy YAZ).

proxy

Proxy pour connexion (proxy YAZ).

persistent

Un booléen. Si TRUE la connexion est persistante; Si FALSE la connexion n'est pas persistante. Par défaut les connexions sont persistantes.

Note: Si vous ouvrez une connexion persistante, vous ne serez pas capable de la fermer plus tard avec yaz_close().

piggyback

Un booléen. Si TRUE piggyback est activé pour les recherches. Si FALSE piggyback est désactivé. Par défaut piggyback est activé.

L'activation de piggyback est plus efficace : il sauvegarde habituellement les allers-retours du réseau pour les premières lectures de résultats. Cependant, quelque serveurs Z39.50 ne supportent pas piggyback ou ils ignorent ce jeu de noms. Pour ceux-ci, piggyback devrait être désactivé.

charset

Une chaîne de caractères qui spécifie le jeu de caractères qui sera utilisé dans le langage Z39.50 et le jeu de caractères pour les négociations. Utilisez une chaîne de caractères comme : ISO-8859-1, UTF-8, UTF-16.

La plupart des serveurs Z39.50 ne supportent pas cette option (et, pour ceux-ci, cet argument est ignoré). Plusieurs serveurs utilisent l'encodage ISO-8859-1 pour les requêtes et les messages. Les enregistrements MARC21/USMARC ne sont pas affectés par cette configuration.

preferredMessageSize

Un entier qui spécifie la taille maximale en octets pour toutes les entrées qui seront retournées par la cible durant la récupération. Voyez le » standard Z39.50 pour plus d'informations.

Note: Cette option est supportée dans PECL YAZ 1.0.5 ou supérieure.

maximumRecordSize

Un entier qui spécifie la taille maximale en octets pour une seule entrée qui sera retournée par la cible durant la récupération. Cette entité est référée à Exceptional-record-size dans le » standard Z39.50.

Note: Cette option est supportée dans PECL YAZ 1.0.5 ou supérieure.

Valeurs de retour

Une ressource de connexion en cas de réussite, FALSE en cas d'erreur.

Historique

Version | Description
4.1.0 | Le paramètre options a été ajouté.

Voir aussi

  • yaz_close() - Ferme une connexion YAZ

yaz_close
yaz_database
YAZ Fonctions


Spécifie la base d'une session YAZ

yaz_connect
yaz_element
YAZ Fonctions
PHP Manual

yaz_database

(PHP 4 >= 4.0.6, PECL yaz >= 0.9.0)

yaz_database — Spécifie la base d'une session YAZ

Description

bool yaz_database ( resource $id , string $databases )

Cette fonction vous permet de changer de base de données à l'intérieur de la session en spécifiant une ou plusieurs bases de données à utiliser dans la recherche, récupération de données, etc. Écrase les bases de données spécifiées dans l'appel de yaz_connect().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

databases

Une chaîne de caractères contenant une ou plusieurs bases de données. Plusieurs bases de données sont séparées par un signe plus +.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

yaz_connect
yaz_element
YAZ Fonctions


Spécifie le type d'éléments YAZ à lire

yaz_database
yaz_errno
YAZ Fonctions
PHP Manual

yaz_element

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_element — Spécifie le type d'éléments YAZ à lire

Description

bool yaz_element ( resource $id , string $elementset )

Cette fonction spécifie le type d'éléments à lire.

Appelez cette fonction avant yaz_search() ou yaz_present() pour spécifier un type d'élément pour les enregistrements à récupérer.

Note: Si cette fonction semble sans effet, voyez la description de l'option piggybacking dans yaz_connect().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

elementset

La plupart des serveurs supportent F (pour les enregistrements complets) et B (pour les enregistrements brefs).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

yaz_database
yaz_errno
YAZ Fonctions


Retourne le numéro d'erreur

yaz_element
yaz_error
YAZ Fonctions
PHP Manual

yaz_errno

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_errno — Retourne le numéro d'erreur

Description

int yaz_errno ( resource $id )

Retourne un numéro d'erreur pour le serveur (dernière requête) identifié par id.

yaz_errno() devrait être appelée après chaque requête pour chaque serveur - (après le retour de yaz_wait()) pour déterminer le succès ou l'échec de la dernière opération (c'est-à-dire la recherche).

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

Valeurs de retour

Retourne un code d'erreur. Le code d'erreur est soit un code diagnostique Z39.50 (habituellement un diagnostique Bib-1), soit un code d'erreur côté client qui est généré par PHP/YAZ lui-même, par exemple "Connection failed", "Init Rejected", etc.

Voir aussi

  • yaz_error() - Retourne une description de l'erreur
  • yaz_addinfo() - Retourne plus de détails après une erreur

yaz_element
yaz_error
YAZ Fonctions


Retourne une description de l'erreur

yaz_errno
yaz_es_result
YAZ Fonctions
PHP Manual

yaz_error

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_error — Retourne une description de l'erreur

Description

string yaz_error ( resource $id )

yaz_error() retourne un message d'erreur en anglais correspondant au dernier numéro d'erreur retourné par yaz_errno().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

Valeurs de retour

Retourne un message d'erreur pour le serveur (dernière requête), identifié par le paramètre id. Une chaîne de caractères vide est retournée si la dernière opération était réussie.

Voir aussi

  • yaz_errno() - Retourne le numéro d'erreur
  • yaz_addinfo() - Retourne plus de détails après une erreur

yaz_errno
yaz_es_result
YAZ Fonctions


Inspecte le résultat d'un service étendu

yaz_error
yaz_es
YAZ Fonctions
PHP Manual

yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_es_result — Inspecte le résultat d'un service étendu

Description

array yaz_es_result ( resource $id )

Cette fonction inspecte le dernier résultat d'un service étendu depuis un serveur. Un service étendu est initié par la fonction yaz_item_order() ou la fonction yaz_es().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

Valeurs de retour

Retourne un tableau avec l'élément targetReference pour la référence pour l'opération de service étendu (généré et retourné depuis le serveur).

Voir aussi

  • yaz_es() - Prépare pour une Requête de Service Étendu

yaz_error
yaz_es
YAZ Fonctions


Prépare pour une Requête de Service Étendu

yaz_es_result
yaz_get_option
YAZ Fonctions
PHP Manual

yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Prépare pour une Requête de Service Étendu

Description

void yaz_es ( resource $id , string $type , array $args )

Cette fonction prépare pour une Requête de Service Étendu. Les Services Étendus sont de la famille des nombreux Z39.50, comme "Record Update", "Item Order", "Database administration", etc.

Note: Plusieurs serveurs Z39.50 ne supportent pas les Services Étendus.

La fonction yaz_es() crée des paquets d'une Requête de Service Étendu et les place dans une queue d'opérations. Utilisez yaz_wait() pour envoyer la/les requête(s) au serveur. À la fin de yaz_wait(), le résultat de l'opération de Service Étendu devrait être obtenu avec un appel à yaz_es_result().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

type

Une chaîne de caractères qui représente le type de Service Étendu : itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Chaque type est spécifié dans la section suivante.

args

Un tableau avec les options de service étendu et les options spécifiques du paquet. Les options sont identiques à celles offertes par l'API C de ZOOM C. Référez-vous à ZOOM » Services Étendus.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Mise à Jour d'Enregistrements

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>un titre</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Voir aussi

  • yaz_es_result() - Inspecte le résultat d'un service étendu

yaz_es_result
yaz_get_option
YAZ Fonctions


Retourne la valeur d'une option de connexion YAZ

yaz_es
yaz_hits
YAZ Fonctions
PHP Manual

yaz_get_option

(PECL yaz >= 0.9.0)

yaz_get_option — Retourne la valeur d'une option de connexion YAZ

Description

string yaz_get_option ( resource $id , string $name )

Retourne la valeur de l'option spécifiée par name.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

name

Le nom de l'option.

Valeurs de retour

Retourne la valeur de l'option spécifiée ou une chaîne de caractères vide si l'option n'était pas définie.

Voir aussi

  • La description de yaz_set_option() - Modifie une ou plusieurs options de connexion YAZ pour les options disponibles

yaz_es
yaz_hits
YAZ Fonctions


Retourne le nombre de résultats de la dernière recherche

yaz_get_option
yaz_itemorder
YAZ Fonctions
PHP Manual

yaz_hits

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_hits — Retourne le nombre de résultats de la dernière recherche

Description

int yaz_hits ( resource $id [, array &$searchresult ] )

yaz_hits() retourne le nombre de résultats de la dernière recherche.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

searchresult

Tableau de résultats pour des informations de résultats de recherche détaillés.

Valeurs de retour

Retourne le nombre de résultats pour la dernière recherche ou 0 si aucune recherche n'a été effectuée.

Le tableau de résultats de recherche (s'il est fourni) contient des informations qui sont retournées par un serveur Z39.50 dans le format SearchResult-1 d'une réponse de recherche. Le format SearchResult-1 peut être utilisé pour obtenir des informations à propos du nombre de résultats pour des parties de requête (sous-requête). En particulier, il est possible d'obtenir le nombre de résultats pour les termes de recherche individuels dans une requête. L'information pour la première sous-requête est dans $array[0], la seconde sous-requête dans $array[1] et ainsi de suite.

Membres de searchresult
Élément | Description
id | Sous-requête ID2 (chaîne de caractères)
count | Nombre de résultats (entier)
subquery.term | Terme de sous-requête (chaîne de caractères)
interpretation.term | Terme interprété de sous-requête (chaîne de caractères)
recommendation.term | Terme recommandé de sous-requête (chaîne de caractères)

Note: Le service de SearchResult requiert PECL YAZ 1.0.5 ou supérieur et YAZ 2.1.9 ou supérieur.

Note: Très peu d'implémentations de Z39.50 supportent le service de SearchResult.

yaz_get_option
yaz_itemorder
YAZ Fonctions


Prépare une requête Z39.50 Item Order avec le paquet ILL-Request

yaz_hits
yaz_present
YAZ Fonctions
PHP Manual

yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_itemorder — Prépare une requête Z39.50 Item Order avec le paquet ILL-Request

Description

void yaz_itemorder ( resource $id , array $args )

Cette fonction prépare une requête de type "Extended Services" en utilisant le "Profile" avec "Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1)". Reportez-vous » ici ou aux » spécifications.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

args

Doit être un tableau associatif avec les informations à propos de l'ordre des items des requêtes qui seront envoyées. La clé du tableau est le nom du chemin tag ASN.1 correspondant. Par exemple, le ISBN sous le Item-ID a la clé item-id,ISBN.

Les paramètres de requête IIL sont :

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

Il y a aussi quelques paramètres du paquet Extended Services Request et ItemOrder :

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Valeurs de retour

Aucune valeur n'est retournée.

yaz_hits
yaz_present
YAZ Fonctions


Prépare à la lecture (Z39.50 present)

yaz_itemorder
yaz_range
YAZ Fonctions
PHP Manual

yaz_present

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_present — Prépare à la lecture (Z39.50 present)

Description

bool yaz_present ( resource $id )

Cette fonction prépare PHP à la lecture des résultats, après une recherche.

La fonction yaz_range() doit être appelée avant celle-ci pour spécifier la plage de résultats à lire.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

yaz_itemorder
yaz_range
YAZ Fonctions


Spécifie le nombre maximal de résultats à lire

yaz_present
yaz_record
YAZ Fonctions
PHP Manual

yaz_range

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_range — Spécifie le nombre maximal de résultats à lire

Description

void yaz_range ( resource $id , int $start , int $number )

Spécifie le nombre maximal de résultat à lire.

Cette fonction doit être appelée avant la fonction yaz_search() ou yaz_present().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

start

Spécifie la position du premier enregistrement à récupérer. Les numéros des requêtes vont de 1 à yaz_hits().

number

Spécifie le nombre d'enregistrements qui doivent être récupérés.

Valeurs de retour

Aucune valeur n'est retournée.

yaz_present
yaz_record
YAZ Fonctions


Retourne un résultat

yaz_range
yaz_scan_result
YAZ Fonctions
PHP Manual

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_record — Retourne un résultat

Description

string yaz_record ( resource $id , int $pos , string $type )

La fonction yaz_record() retourne un enregistrement dans le jeu de résultats courant à la position spécifiée par le paramètre pos.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

pos

La position de l'enregistrement. Les positions des enregistrements dans un jeu de résultats sont numérotés de 1 jusqu'au nombre retourné par yaz_hits().

type

Le type spécifie la forme du résultat retourné.

Note: C'est l'application qui est responsable pour s'assurer que les résultats retournés à partir du serveur Z39.50/SRW sont dans un format correct. Le type donné spécifie seulement une conversion qui doit avoir lieu sur le côté client (dans PHP/YAZ).

Sans compter la conversion du transfert de résultats de chaîne de caractères en tableau, PHP/YAZ est aussi possible d'effectuer une conversion de jeu de caractères du résultat. En particulier pour USMARC/MARC21 qui est recommandé puisque ces résultats sont normalement retournés dans le jeu de caractères MARC-8 qui n'est pas supporté par les navigateurs, etc. Pour spécifier une conversion, ajoutez ; charset=from, to ou from est le jeu de caractères orignal du résultat et to est le jeu de résultats à obtenir (comme vu par PHP).

string

L'enregistrement est retourné comme une chaîne de caractères pour affichage simple. Dans ce mode, tous les enregistrements MARC sont convertis dans un format ligne par ligne puisque ISO2709 est difficile à lire. Les enregistrements XML et SUTRS sont retournés dans leur format original. GRS-1 est retourné dans un format ligne par ligne (laid).

Ce format est approprié si les enregistrements seront affichés rapidement (pour déboguage) ou parce que ce n'est pas faisable d'effectuer un affichage approprié.

xml

L'enregistrement est retourné comme une chaîne de caractères XML si possible. Dans ce mode, tous les enregistrements MARC sont convertis en » MARCXML. Les enregistrements XML et SUTRS sont retournés dans leur format original. GRS-1 n'est pas supporté.

Ce format est similaire à string à l'exception que les enregistrements MARC sont convertis en MARCXML

Ce format est approprié si les enregistrements sont analysés par la suite par un analyseur XML ou un processeur XSLT.

raw

L'enregistrement est retourné comme une chaîne de caractères dans sa forme originale. Ce type est approprié pour MARC, XML et SUTRS. Il ne fonctionne pas pour GRS-1.

Les enregistrements MARC sont retournés comme une chaîne de caractères ISO2709. XML et SUTRS sont retournés comme des chaînes de caractères.

syntax

La syntaxe de l'enregistrement est retournée comme une chaîne de caractères, par exemple USmarc, GRS-1, XML, etc.

database

Le nom de la base de données associée aux résultats à la position est retourné comme une chaîne de caractères.

array

L'enregistrement est retourné comme un tableau qui réfléchit la structure GRS-1. Ce type est approprié pour MARC et GRS-1. XML, SUTRS ne sont pas supportés et, si l'enregistrement actuel est XML ou SUTRS, une chaîne de caractères vide sera retournée.

Le tableau retourné consiste en une liste correspondant à chaque feuille/noeud interne de GRS-1. Chaque item de la liste consiste à une sous-liste avec le premier élément path et data (si les données sont disponibles).

Le chemin, qui est une chaîne de caractères, contient une liste de chaque composant de l'arbre (de la structure des enregistrements GRS-1) depuis la racine vers l'extrémité. Chaque composant est une paire de type de balise/valeur sous la forme (type, value

Les balises de chaîne de caractères ont normalement une correspondance avec le type tag 3. MARC peut aussi être retourné comme un tableau (ils sont convertis en GRS-1 de manière interne).

Valeurs de retour

Retourne l'enregistrement à la position pos ou une chaîne vide si aucun enregistrement n'existe à la position donnée.

Si aucun enregistrement de base de données n'existe à la position donnée une chaîne vide est retournée.

Exemples

Exemple #1 Tableau pour des enregistrements GRS-1

Considérez les enregistrements GRS-1

(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
Cet enregistrement a deux noeuds à la racine. Le premier élément de la racine est (4,52) [tag type 4, tag value 52], et a comme donnée Robert M. Pirsig. Le deuxième élément de la racine (4,70) a un sous-arbre avec un élément simple (4,90). (4,90) a maintenant un sous-arbre (2,7) avec comme donnée Transworld Publishers, ltd..

Si cet enregistrement est présent à la position $p, alors

<?php

$ar = yaz_record($id, $p, "array");
print_r($ar);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

Exemple #2 Travail avec MARCXML

Le script PHP ci-dessous retourne un enregistrement MARC21/USMARC comme MARCXML. L'enregistrement original est retourné dans le jeu de caractères marc-8 (inconnu de beaucoup d'analyseur XML), donc nous le convertissons en UTF-8 (que tous les analyseurs XML supportent).

<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

L'enregistrement $rec peut être obtenu avec le processeur Sablotron XSLT comme cela :

<?php

$xslfile = 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo $res;

?>

En PHP 5, l'extension XSL peut être utilisée à la place de Sablotron XSLT.

yaz_range
yaz_scan_result
YAZ Fonctions


Retourne le résultat d'un scan

yaz_record
yaz_scan
YAZ Fonctions
PHP Manual

yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan_result — Retourne le résultat d'un scan

Description

array yaz_scan_result ( resource $id [, array &$result ] )

yaz_scan_result() retourne un tableau contenant les termes reçus de l'hôte, lors de la dernière requête de scan.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

result

Si donné, ce tableau sera modifié pour contenir des informations additionnelles prises à partir de la réponse Scan :

  • number - Nombre d'entrées retournées

  • stepsize - Grandeur de pas

  • position - Position du terme

  • status - Statut du scan

Valeurs de retour

Retourne un tableau (0..n-1) où n est le nombre de termes retournés. Chaque valeur est une paire où le premier item est un terme et le second item est un le nombre de résultats.

yaz_record
yaz_scan
YAZ Fonctions


Prépare un scan YAZ

yaz_scan_result
yaz_schema
YAZ Fonctions
PHP Manual

yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — Prépare un scan YAZ

Description

void yaz_scan ( resource $id , string $type , string $startterm [, array $flags ] )

yaz_scan() prépare une requête "Z39.50 Scan Request" sur la connexion YAZ spécifiée.

Pour réellement transférer la requête "Scan Request" au serveur et recevoir le "Scan Response", la fonction yaz_wait() doit être appelée. Après la fin de yaz_wait(), appelez yaz_error() et yaz_scan_result() pour connaître la réponse.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

type

Actuellement seulement le type rpn est supporté.

startterm

Point de départ du scan.

La forme dans laquelle le terme de départ est spécifié est donnée par le paramètre type.

La syntaxe de ce paramètre est similaire à la requête RPN comme décrite dans yaz_search(). Cela consiste à aucune ou plusieurs spécifications d'opérateur @attr, ensuite suivies par exactement une seule marque.

flags

Ce paramètre optionnel spécifie des informations supplémentaires pour contrôler le comportement de la requête de scan. Trois index sont actuellement lus à partir du tableau d'options : number (nombre de termes demandés), position (position préférée du terme) et stepSize (grandeur de pas préférée).

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Fonction PHP qui analyse les titres sur un serveur YAZ

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val ";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Erreur de Scan. Erreur : " . yaz_error($id) . "<br />";
  }
}
?>

yaz_scan_result
yaz_schema
YAZ Fonctions


Spécifie le schéma de lecture

yaz_scan
yaz_search
YAZ Fonctions
PHP Manual

yaz_schema

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_schema — Spécifie le schéma de lecture

Description

void yaz_schema ( resource $id , string $schema )

yaz_schema() spécifie le schéma de lecture.

cette fonction devrait être appelée avant yaz_search() ou yaz_present().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

schema

Doit être spécifié comme un OID (Object Identifier) dans une notation par point brut (comme 1.2.840.10003.13.4) ou comme un des schémas connus enregistrés : GILS-schema, Holdings, Zthes, ...

Valeurs de retour

Aucune valeur n'est retournée.

yaz_scan
yaz_search
YAZ Fonctions


Prépare une recherche

yaz_schema
yaz_set_option
YAZ Fonctions
PHP Manual

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Prépare une recherche

Description

bool yaz_search ( resource $id , string $type , string $query )

yaz_search() prépare une recherche sur la connexion donnée

Comme pour yaz_connect(), cette fonction n'est pas bloquante et ne fait que préparer la recherche pour exécution ultérieure lorsque yaz_wait() est appelée.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

type

Ce paramètre représente le type de requête - seul "rpn" est supporté actuellement et, dans ce cas, le troisième argument est un préfixe de notation de requête utilisé par YAZ.

query

Les requêtes RPN sont des représentations textuelles des requêtes de type Type-1, comme défini dans le standard Z39.50. Cependant, dans la représentation textuelle utilisée par YAZ, une notation à préfixe est utilisée, c'est-à-dire que l'opérateur précède l'opérande. La chaîne de requête est une séquence de mots réservés, où les espaces sont ignorés, à moins qu'ils n'aient été mis entre guillemets doubles. Les mots réservés qui commencent par un arobase (@) sont considérés comme des opérateurs et traités comme tels.

Opérateurs RPN
Syntaxe | Description
@and query1 query2 | intersection des requêtes query1 et query2
@or query1 query2 | union des requêtes query1 et query2
@not query1 query2 | requêtes "query1 et non(query2)"
@set name | nomme le résultat
@attrset set query | spécifie le jeu d'attributs de la requête. Cette construction n'est autorisée qu'une seule fois, au début d'une requête.
@attr [set] type=value query | applique les attributs à une requête. Le type et la valeur sont des entiers indiquant les types et valeurs des attributs, dans cet ordre. Le jeu, si fourni, spécifie le jeu d'attributs utilisé.

Vous pouvez trouver des informations sur les attributs sur le site » Z39.50 Maintenance Agency.

Note: Dans le cas où vous voudriez utiliser une notation plus facile, utilisez l'analyseur CCL - fonctions yaz_ccl_conf() et yaz_ccl_parse().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemples de Requête

Vous pouvez chercher pour des termes simples, comme ceci :

ordinateur
qui concorde avec les documents où "ordinateur" se trouve. Aucun attribut n'est spécifié.

La requête

"knuth donald"
concorde avec les documents où "knuth donald" se trouve (en supposant que le serveur supporte la recherche de phrase).

Cette requête applique deux attributs à la même phrase.

@attr 1=1003 @attr 4=1 "knuth donald"
Le premier attribut est de type 1 (Bib-1), et sa valeur est 1003 (Auteur). Le second attribut est de type 4 (structure), valeur 1 (phrase), ce qui fait que la requête recherche les documents dont Donald Knuth est l'auteur.

La requête

@and @or a b @not @or c d e
ressemblerait en notation infix (a or b) and ((c or d) not e).

Un autre exemple, plus complexe :

@attrset gils @and @attr 1=4 art @attr 1=2000 company
La requête utilise l'ensemble de sous attributs GILS. La requête recherche les documents où le mot art apparaît dans le titre (GILS,BIB-1) et dont la société (company) apparaît comme distributeur (GILS).

yaz_schema
yaz_set_option
YAZ Fonctions


Modifie une ou plusieurs options de connexion YAZ

yaz_search
yaz_sort
YAZ Fonctions
PHP Manual

yaz_set_option

(PECL yaz >= 0.9.0)

yaz_set_option — Modifie une ou plusieurs options de connexion YAZ

Description

void yaz_set_option ( resource $id , string $name , string $value )
void yaz_set_option ( resource $id , array $options )

Modifie une ou plusieurs options sur la connexion donnée.

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

name ou options

Peut être soit une chaîne de caractères ou un tableau.

Si donné comme chaîne de caractères, cela sera le nom de l'option à spécifier. Vous devrez donner sa valeur value.

Si donné comme tableau, cela sera un tableau associatif (nom de l'option => valeur de l'option).

Options de connexion PHP/YAZ
Nom | Description
implementationName | Nom de l'implémentation du serveur
implementationVersion | Version de l'implémentation du serveur
implementationId | ID de l'implémentation du serveur
schema | Schéma de lecture. Par défaut, aucun schéma n'est utilisé. Modifier cette option équivaut à utiliser la fonction yaz_schema()
preferredRecordSyntax | Syntaxe des enregistrements en lecture. Par défaut, il n'y a pas de syntaxe. Modifier cette option équivaut à utiliser la fonction yaz_syntax()
start | Décalage du premier enregistrement à lire, via la fonction yaz_search() ou yaz_present(). Les enregistrements sont numérotés à partir de 0. Modifier cette option, en combinaison avec l'option count, équivaut à utiliser la fonction yaz_range(), hormis le fait que les enregistrements sont numérotés à partir de 1 avec yaz_range()
count | Nombre maximal d'enregistrements à lire via yaz_search() et yaz_present().
elementSetName | element-set-name en lecture. Modifier cette option équivaut à utiliser la fonction yaz_element().
value

La nouvelle valeur de l'option. Utilisez cet argument seulement si l'argument précédent est une chaîne de caractères.

Valeurs de retour

Aucune valeur n'est retournée.

yaz_search
yaz_sort
YAZ Fonctions


Configure les critères de tri

yaz_set_option
yaz_syntax
YAZ Fonctions
PHP Manual

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Configure les critères de tri

Description

void yaz_sort ( resource $id , string $criteria )

Cette fonction configure les critères de tri et active le tri Z39.50.

Appelez cette fonction avant yaz_search(). Si elle est utilisée conjointement avec yaz_search(), une commande Z39.50 Sort sera envoyée après chaque retour de recherche et avant que les résultats ne soient lus avec Z39.50 Present (yaz_present()).

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

criteria

Une chaîne de caractères qui prend la forme de field1 flags1 field2 flags2 où field1 spécifie les attributs primaires pour le tri, field2 le second, etc.

Le champ spécifie soit un attribut numérique, combinaison consistant de paires type=value séparées par des virgules (c'est-à-dire 1=4,2=1), soit il peut être spécifié en une chaîne de caractères (c'est-à-dire titre). Le flags est une séquence des caractères suivants qui ne peuvent être séparés par aucun espace.

Options de tri
a

Tri ascendant

d

Tri descendant

i

Tri insensible à la casse

s

Tri sensible à la casse

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Critères de Tri

Pour effectuer des tris avec l'attribut Bib1 du champ "title", de manière insensible à la casse, vous pouvez utiliser le critère suivant :

1=4 ia

Si le second critère de tri doit être l'auteur, en tenant compte de la casse, et dans l'ordre alphabétique, vous pouvez utiliser :

1=4 ia 1=1003 sa

yaz_set_option
yaz_syntax
YAZ Fonctions


Spécifie la syntaxe de lecture des lignes

yaz_sort
yaz_wait
YAZ Fonctions
PHP Manual

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Spécifie la syntaxe de lecture des lignes

Description

void yaz_syntax ( resource $id , string $syntax )

yaz_syntax() spécifie la syntaxe de lecture des lignes.

Cette fonction devrait être appelée avant yaz_search() ou yaz_present().

Liste de paramètres

id

La ressource de connexion retournée par yaz_connect().

syntax

Doit être spécifié comme un OID (Object Identifier) dans une notation par point brut (comme 1.2.840.10003.5.10) ou comme une des syntaxes d'enregistrement connues et enregistrées (sutrs, usmarc, grs1, xml, etc.).

Valeurs de retour

Aucune valeur n'est retournée.

yaz_sort
yaz_wait
YAZ Fonctions


Attend l'exécution d'une requête

yaz_syntax
YP/NIS
YAZ Fonctions
PHP Manual

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Attend l'exécution d'une requête

Description

mixed yaz_wait ([ array &$options ] )

Cette fonction exécute une activité réseau (bloquée) pour les demandes en attente qui ont été préparées par les fonctions yaz_connect() yaz_search(), yaz_present(), yaz_scan() et yaz_itemorder()

yaz_wait() se termine lorsque tous les hôtes ont terminé leurs requêtes (éventuellement en cas d'erreur).

Liste de paramètres

options

Un tableau associatif des options :

timeout

Spécifie un délai d'attente en secondes. Si un serveur n'a pas répondu dans les délais, il est considéré comme mort et yaz_wait() se termine. La valeur par défaut pour le délai est de 15 secondes.

event

Un booléen.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. En mode événement, la fonction retourne une ressource ou FALSE si une erreur survient.

yaz_syntax
YP/NIS
YAZ Fonctions


YP/NIS

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions YP/NIS
    • yp_all — Traverse la carte et applique une fonction sur chaque entrée
    • yp_cat — Retourne une tableau contenant la carte entière
    • yp_err_string — Retourne la chaîne correspondant à l'erreur donnée
    • yp_errno — Retourne le code d'erreur de la dernière opération NIS
    • yp_first — Retourne la première paire clé/valeur d'une carte donnée
    • yp_get_default_domain — Retourne le domaine NIS par défaut
    • yp_master — Retourne le nom de la machine maître pour une carte
    • yp_match — Retourne la ligne associée
    • yp_next — Retourne la paire clé/valeur suivante d'une carte donnée
    • yp_order — Retourne le numéro d'ordre d'une carte
yaz_wait
Introduction
Autres services


Introduction

NIS (feu Yellow Pages / Pages jaunes) permet la gestion par le réseau de fichiers d'administration importants (tel un fichier de mot de passe). Pour plus d'informations, reportez-vous au manuel NIS, ou à » Introduction to YP/NIS (en anglais). Il existe un livre en anglais » Managing NFS and NIS" par Hal Stern.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

YP/NIS
Installation/Configuration
YP/NIS


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
YP/NIS


Pré-requis

Aucun prérequis pour pouvoir accéder à ces fonctionnalités, en dehors des fonctions standards Unix qui sont toujours disponibles (soit libc, soit libnsl : le script de configuration détectera celle que vous utilisez).

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/yp

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

YPERR_ACCESS ( integer )
violation d'accès (ajouté récemment et uniquement disponible depuis PECL SVN actuellement)
YPERR_BADARGS (entier)
Les arguments de la fonction sont incorrects.
YPERR_BADDB (entier)
La base de données YP est incorrecte.
YPERR_BUSY (entier)
La base de données est occupée.
YPERR_DOMAIN (entier)
Impossible de se connecter au serveur sur ce domaine.
YPERR_KEY (entier)
Clé introuvable dans cette carte.
YPERR_MAP (entier)
Carte introuvable sur ce domaine.
YPERR_NODOM (entier)
Le nom du domaine local n'est pas défini.
YPERR_NOMORE (entier)
Plus d'enregistrements dans la base de données.
YPERR_PMAP (entier)
Communication avec portmapper impossible.
YPERR_RESRC (entier)
Échec dans l'allocation de la ressource.
YPERR_RPC (entier)
Échec RPC - le domaine n'a pu être contacté
YPERR_YPBIND (entier)
Communication impossible avec ypbind
YPERR_YPERR (entier)
Erreur yp interne ou du client.
YPERR_YPSERV (entier)
Communication impossible avec ypserv.
YPERR_VERS (entier)
Version yp incorrecte.
Types de ressources
Fonctions YP/NIS
YP/NIS


Fonctions YP/NIS

Sommaire

  • yp_all — Traverse la carte et applique une fonction sur chaque entrée
  • yp_cat — Retourne une tableau contenant la carte entière
  • yp_err_string — Retourne la chaîne correspondant à l'erreur donnée
  • yp_errno — Retourne le code d'erreur de la dernière opération NIS
  • yp_first — Retourne la première paire clé/valeur d'une carte donnée
  • yp_get_default_domain — Retourne le domaine NIS par défaut
  • yp_master — Retourne le nom de la machine maître pour une carte
  • yp_match — Retourne la ligne associée
  • yp_next — Retourne la paire clé/valeur suivante d'une carte donnée
  • yp_order — Retourne le numéro d'ordre d'une carte
Constantes pré-définies
yp_all
YP/NIS


Traverse la carte et applique une fonction sur chaque entrée

Fonctions YP/NIS
yp_cat
Fonctions YP/NIS
PHP Manual

yp_all

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_all — Traverse la carte et applique une fonction sur chaque entrée

Description

void yp_all ( string $domain , string $map , string $callback )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

domain

Le nom du domaine NIS.

map

La carte NIS.

callback

Valeurs de retour

Aucune valeur n'est retournée.

Fonctions YP/NIS
yp_cat
Fonctions YP/NIS


Retourne une tableau contenant la carte entière

yp_all
yp_err_string
Fonctions YP/NIS
PHP Manual

yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_cat — Retourne une tableau contenant la carte entière

Description

array yp_cat ( string $domain , string $map )

Retourne une tableau contenant toutes les entrées de la carte.

Liste de paramètres

domain

Le nom du domaine NIS.

map

La carte NIS.

Valeurs de retour

Retourne toutes les entrées de la carte sous forme de tableau associatif dont les clés et les valeurs sont respectivement les clés et les entrées de la carte.

yp_all
yp_err_string
Fonctions YP/NIS


Retourne la chaîne correspondant à l'erreur donnée

yp_cat
yp_errno
Fonctions YP/NIS
PHP Manual

yp_err_string

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_err_string — Retourne la chaîne correspondant à l'erreur donnée

Description

string yp_err_string ( int $errorcode )

Retourne la chaîne d'erreur associée au code erreur errorcode. Très pratique pour savoir exactement ce qui n'a pas fonctionné.

Liste de paramètres

errorcode

Le code erreur.

Valeurs de retour

Retourne le message d'erreur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec yp_err_string()

<?php
echo "Erreur : " . yp_err_string(yp_errno());
?>

Voir aussi

  • yp_errno() - Retourne le code d'erreur de la dernière opération NIS

yp_cat
yp_errno
Fonctions YP/NIS


Retourne le code d'erreur de la dernière opération NIS

yp_err_string
yp_first
Fonctions YP/NIS
PHP Manual

yp_errno

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_errno — Retourne le code d'erreur de la dernière opération NIS

Description

int yp_errno ( void )

Retourne le code d'erreur de la dernière opération NIS.

Valeurs de retour

Retourne une des constantes YPERR_XXX.

Voir aussi

  • yp_err_string() - Retourne la chaîne correspondant à l'erreur donnée

yp_err_string
yp_first
Fonctions YP/NIS


Retourne la première paire clé/valeur d'une carte donnée

yp_errno
yp_get_default_domain
Fonctions YP/NIS
PHP Manual

yp_first

(PHP 4, PHP 5 <= 5.0.5)

yp_first — Retourne la première paire clé/valeur d'une carte donnée

Description

array yp_first ( string $domain , string $map )

Retourne la première paire clé/valeur de la carte map du domaine domain.

Liste de paramètres

domain

Le nom du domaine NIS.

map

La carte NIS.

Valeurs de retour

Retourne le première paire clé/valeur d'une carte donnée, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec yp_first()

<?php
$entry = yp_first($domain, "passwd.byname");

$key = key($entry);
$value = $entry[$key];

echo "La première entrée de cette carte est " . $key . " et sa valeur est " . $value;
?>

Voir aussi

  • yp_next() - Retourne la paire clé/valeur suivante d'une carte donnée
  • yp_get_default_domain() - Retourne le domaine NIS par défaut

yp_errno
yp_get_default_domain
Fonctions YP/NIS


Retourne le domaine NIS par défaut

yp_first
yp_master
Fonctions YP/NIS
PHP Manual

yp_get_default_domain

(PHP 4, PHP 5 <= 5.0.5)

yp_get_default_domain — Retourne le domaine NIS par défaut

Description

string yp_get_default_domain ( void )

Retourne le nom de domaine NIS par défaut. Ce nom de domaine peut être utilisé pour les futurs appels NIS.

Un domaine NIS peut être décrit comme un regroupement de cartes NIS. Tous les hôtes qui ont besoin d'informations s'attachent à un domaine. Référez-vous aux documents cités en début de document pour plus de détails.

Valeurs de retour

Retourne le domaine par défaut du noeud ou FALSE si une erreur survient. Peut être utilisé en tant que domaine pour les prochains appels NIS.

Exemples

Exemple #1 Exemple avec le domaine par défaut

<?php
$domain = yp_get_default_domain();
echo "Le domaine par défaut est : " . $domain;
?>

yp_first
yp_master
Fonctions YP/NIS


Retourne le nom de la machine maître pour une carte

yp_get_default_domain
yp_match
Fonctions YP/NIS
PHP Manual

yp_master

(PHP 4, PHP 5 <= 5.0.5)

yp_master — Retourne le nom de la machine maître pour une carte

Description

string yp_master ( string $domain , string $map )

Retourne le nom de la machine maître d'une carte.

Liste de paramètres

domain

Le nom du domaine NIS.

map

La carte NIS.

Valeurs de retour

Exemples

Exemple #1 Exemple pour un maître NIS

<?php
$number = yp_master($domain, $mapname);
echo 'Le maître pour cette carte est : ' . $master;
?>

Voir aussi

  • yp_get_default_domain() - Retourne le domaine NIS par défaut

yp_get_default_domain
yp_match
Fonctions YP/NIS


Retourne la ligne associée

yp_master
yp_next
Fonctions YP/NIS
PHP Manual

yp_match

(PHP 4, PHP 5 <= 5.0.5)

yp_match — Retourne la ligne associée

Description

string yp_match ( string $domain , string $map , string $key )

Retourne la valeur associée à la clé key pour la carte map.

Liste de paramètres

domain

Le nom du domaine NIS.

map

La carte NIS.

key

Cette clé doit être exacte.

Valeurs de retour

Retourne la valeur, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec yp_match()

<?php
$entry = yp_match($domain, "passwd.byname", "joe");
echo "La valeur trouvée est : " . $entry;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

joe:##joe:11111:100:Joe User:/home/j/joe:/usr/local/bin/bash

Voir aussi

  • yp_get_default_domain() - Retourne le domaine NIS par défaut

yp_master
yp_next
Fonctions YP/NIS


Retourne la paire clé/valeur suivante d'une carte donnée

yp_match
yp_order
Fonctions YP/NIS
PHP Manual

yp_next

(PHP 4, PHP 5 <= 5.0.5)

yp_next — Retourne la paire clé/valeur suivante d'une carte donnée

Description

array yp_next ( string $domain , string $map , string $key )

Retourne la prochaine paire clé/valeur de la carte map après la clé key spécifiée.

Liste de paramètres

domain

map

key

Valeurs de retour

Retourne la prochaine paire clé/valeur en tant que tableau, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec yp_next()

<?php
$entry = yp_next($domain, "passwd.byname", "joe");

if (!$entry) {
    echo "Plus d'autres entrées.\n";
    echo "<!--" . yp_errno() . ": " . yp_err_string() . "-->";
}

$key = key($entry);

echo "L'entrée suivante après \"joe\" a la clé " . $key
      . " et la valeur " . $entry[$key];
?>

Voir aussi

  • yp_first() - Retourne la première paire clé/valeur d'une carte donnée
  • yp_get_default_domain() - Retourne le domaine NIS par défaut

yp_match
yp_order
Fonctions YP/NIS


Retourne le numéro d'ordre d'une carte

yp_next
Extensions spécifiques aux moteurs de recherche
Fonctions YP/NIS
PHP Manual

yp_order

(PHP 4, PHP 5 <= 5.0.5)

yp_order — Retourne le numéro d'ordre d'une carte

Description

int yp_order ( string $domain , string $map )

Retourne le numéro d'ordre d'une carte.

Liste de paramètres

domain

map

Valeurs de retour

Retourne le numéro d'ordre pour la carte, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec yp_order()

<?php
$number = yp_order($domain, $mapname);
echo 'Le numéro d\'ordre de cette carte est : ' . $number;
?>

Voir aussi

  • yp_get_default_domain() - Retourne le domaine NIS par défaut

yp_next
Extensions spécifiques aux moteurs de recherche
Fonctions YP/NIS


Extensions spécifiques aux moteurs de recherche

  • mnoGoSearch
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions mnoGoSearch
  • Sphinx — Client Sphinx
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • SphinxClient — La classe SphinxClient
  • Swish — Indexation Swish
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Swish
  • Solr — Apache Solr
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Solr
    • Exemples
    • SolrUtils — La classe SolrUtils
    • SolrInputDocument — The SolrInputDocument class
    • SolrDocument — The SolrDocument class
    • SolrDocumentField — The SolrDocumentField class
    • SolrObject — The SolrObject class
    • SolrClient — The SolrClient class
    • SolrResponse — The SolrResponse class
    • SolrQueryResponse — The SolrQueryResponse class
    • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrPingResponse — The SolrPingResponse class
    • SolrGenericResponse — The SolrGenericResponse class
    • SolrParams — The SolrParams class
    • SolrModifiableParams — The SolrModifiableParams class
    • SolrQuery — The SolrQuery class
    • SolrException — The SolrException class
    • SolrClientException — The SolrClientException class
    • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalOperationException — The SolrIllegalOperationException class
yp_order
mnoGoSearch
Référence des fonctions


mnoGoSearch

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions mnoGoSearch
    • udm_add_search_limit — Ajoute différentes limitations de recherche
    • udm_alloc_agent_array — Alloue une session mnoGoSearch
    • udm_alloc_agent — Alloue une session mnoGoSearch
    • udm_api_version — Lit la version de l'API mnoGoSearch
    • udm_cat_list — Liste toutes les catégories de même niveau
    • udm_cat_path — Lit le chemin de la catégorie courante
    • udm_check_charset — Vérifie si un jeu de caractères est supporté par mnogosearch
    • udm_check_stored — Vérifie la connexion MnoGoSearch avec le document stocké
    • udm_clear_search_limits — Annule toutes les limitations de recherche MnoGoSearch
    • udm_close_stored — Ferme la connexion MnoGoSearch avec le document enregistré
    • udm_crc32 — Retourne la somme de contrôle CRC32 d'une chaîne
    • udm_errno — Numéro d'erreur mnoGoSearch
    • udm_error — Message d'erreur mnoGoSearch
    • udm_find — Effectue une recherche
    • udm_free_agent — Détruit une session mnoGoSearch
    • udm_free_ispell_data — Libère la mémoire allouée pour ispell par MnoGoSearch
    • udm_free_res — Libère un résultat mnoGoSearch
    • udm_get_doc_count — Lit le nombre total de documents dans les bases MnoGoSearch
    • udm_get_res_field — Lit un champ de résultat
    • udm_get_res_param — Lit les paramètres de résultats mnoGoSearch
    • udm_hash32 — Retourne une somme de contrôle Hash32
    • udm_load_ispell_data — Charge les données ispell
    • udm_open_stored — Ouvre une connexion MnoGoSearch avec un document stocké
    • udm_set_agent_param — Modifie les paramètres de l'agent MnoGoSearch
Extensions spécifiques aux moteurs de recherche
Introduction
Extensions spécifiques aux moteurs de recherche


Introduction

Ces fonctions donnent l'accès à mnoGoSearch (anciennement UdmSearch), moteur de recherche du monde libre. mnoGoSearch est un moteur de recherche complet, destiné aux intranet et serveurs web, distribué sous licence GNU. mnoGoSearch offre des fonctionnalités unique, qui en font un excellent outil pour un grand nombre d'applications de recherche dans votre site : recherche de recettes de cuisines ou dans les journaux, recherche dans un site FTP, dans les groupes de news, etc. Il offre un système d'indexation de textes pour les fichiers HTML, PDF et documents textes. MnoGoSearch est constitué de deux parties : l'indexeur, qui effectue les recherches et le moteur de recherche. L'indexeur passe en revue récursivement les sites HTTP, FTP, NEWS ou encore les fichiers locaux, et enregistre des métadonnées dans les bases MySQL, pour optimiser les recherches ultérieures. Une fois que tous les documents ont été référencés, ils sont accessibles au moteur de recherche. Celui-ci est utilisable par interface web. Les langages C CGI, Perl et PHP sont supportés pour effectuer les recherches.

Plus de détails sur le site officiel de mnoGoSearch : » http://www.mnogosearch.org/.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

mnoGoSearch
Installation/Configuration
mnoGoSearch


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
mnoGoSearch


Pré-requis

Téléchargez mnoGosearch sur le site » http://www.mnogosearch.org/ et installez-le sur votre système. Vous aurez besoin de la version 3.1.10 ou plus récente de mnoGoSearch, pour pouvoir utiliser ces fonctions.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/mnogosearch.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Note: PHP supporte naturellement MySQL. Il faut savoir que mnoGoSearch n'est pas compatible avec la bibliothèque interne de PHP, et ne peut fonctionner qu'avec les bibliothèques génériques MySQL. Par conséquent, si vous utilisez mnoGoSearch avec MySQL, indiquez le dossier d'installation de MySQL durant la configuration avec l'option : --with-mnogosearch --with-mysql=/usr.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

UDM_FIELD_URLID (entier)
UDM_FIELD_URL (entier)
UDM_FIELD_CONTENT (entier)
UDM_FIELD_TITLE (entier)
UDM_FIELD_KEYWORDS (entier)
UDM_FIELD_DESC (entier)
UDM_FIELD_DESCRIPTION (entier)
UDM_FIELD_TEXT (entier)
UDM_FIELD_SIZE (entier)
UDM_FIELD_RATING (entier)
UDM_FIELD_SCORE (entier)
UDM_FIELD_MODIFIED (entier)
UDM_FIELD_ORDER (entier)
UDM_FIELD_CRC (entier)
UDM_FIELD_CATEGORY (entier)
UDM_FIELD_LANG (entier)
UDM_FIELD_CHARSET (entier)
UDM_PARAM_PAGE_SIZE (entier)
UDM_PARAM_PAGE_NUM (entier)
UDM_PARAM_SEARCH_MODE (entier)
UDM_PARAM_CACHE_MODE (entier)
UDM_PARAM_TRACK_MODE (entier)
UDM_PARAM_PHRASE_MODE (entier)
UDM_PARAM_CHARSET (entier)
UDM_PARAM_LOCAL_CHARSET (entier)
UDM_PARAM_BROWSER_CHARSET (entier)
UDM_PARAM_STOPTABLE (entier)
UDM_PARAM_STOP_TABLE (entier)
UDM_PARAM_STOPFILE (entier)
UDM_PARAM_STOP_FILE (entier)
UDM_PARAM_WEIGHT_FACTOR (entier)
UDM_PARAM_WORD_MATCH (entier)
UDM_PARAM_MAX_WORD_LEN (entier)
UDM_PARAM_MAX_WORDLEN (entier)
UDM_PARAM_MIN_WORD_LEN (entier)
UDM_PARAM_MIN_WORDLEN (entier)
UDM_PARAM_ISPELL_PREFIXES (entier)
UDM_PARAM_ISPELL_PREFIX (entier)
UDM_PARAM_PREFIXES (entier)
UDM_PARAM_PREFIX (entier)
UDM_PARAM_CROSS_WORDS (entier)
UDM_PARAM_CROSSWORDS (entier)
UDM_PARAM_VARDIR (entier)
UDM_PARAM_DATADIR (entier)
UDM_PARAM_HLBEG (entier)
UDM_PARAM_HLEND (entier)
UDM_PARAM_SYNONYM (entier)
UDM_PARAM_SEARCHD (entier)
UDM_PARAM_QSTRING (entier)
UDM_PARAM_REMOTE_ADDR (entier)
UDM_LIMIT_CAT (entier)
UDM_LIMIT_URL (entier)
UDM_LIMIT_TAG (entier)
UDM_LIMIT_LANG (entier)
UDM_LIMIT_DATE (entier)
UDM_PARAM_FOUND (entier)
UDM_PARAM_NUM_ROWS (entier)
UDM_PARAM_WORDINFO (entier)
UDM_PARAM_WORD_INFO (entier)
UDM_PARAM_SEARCHTIME (entier)
UDM_PARAM_SEARCH_TIME (entier)
UDM_PARAM_FIRST_DOC (entier)
UDM_PARAM_LAST_DOC (entier)
UDM_MODE_ALL (entier)
UDM_MODE_ANY (entier)
UDM_MODE_BOOL (entier)
UDM_MODE_PHRASE (entier)
UDM_CACHE_ENABLED (entier)
UDM_CACHE_DISABLED (entier)
UDM_TRACK_ENABLED (entier)
UDM_TRACK_DISABLED (entier)
UDM_PHRASE_ENABLED (entier)
UDM_PHRASE_DISABLED (entier)
UDM_CROSS_WORDS_ENABLED (entier)
UDM_CROSSWORDS_ENABLED (entier)
UDM_CROSS_WORDS_DISABLED (entier)
UDM_CROSSWORDS_DISABLED (entier)
UDM_PREFIXES_ENABLED (entier)
UDM_PREFIX_ENABLED (entier)
UDM_ISPELL_PREFIXES_ENABLED (entier)
UDM_ISPELL_PREFIX_ENABLED (entier)
UDM_PREFIXES_DISABLED (entier)
UDM_PREFIX_DISABLED (entier)
UDM_ISPELL_PREFIXES_DISABLED (entier)
UDM_ISPELL_PREFIX_DISABLED (entier)
UDM_ISPELL_TYPE_AFFIX (entier)
UDM_ISPELL_TYPE_SPELL (entier)
UDM_ISPELL_TYPE_DB (entier)
UDM_ISPELL_TYPE_SERVER (entier)
UDM_MATCH_WORD (entier)
UDM_MATCH_BEGIN (entier)
UDM_MATCH_SUBSTR (entier)
UDM_MATCH_END (entier)
Types de ressources
Fonctions mnoGoSearch
mnoGoSearch


Fonctions mnoGoSearch

Sommaire

  • udm_add_search_limit — Ajoute différentes limitations de recherche
  • udm_alloc_agent_array — Alloue une session mnoGoSearch
  • udm_alloc_agent — Alloue une session mnoGoSearch
  • udm_api_version — Lit la version de l'API mnoGoSearch
  • udm_cat_list — Liste toutes les catégories de même niveau
  • udm_cat_path — Lit le chemin de la catégorie courante
  • udm_check_charset — Vérifie si un jeu de caractères est supporté par mnogosearch
  • udm_check_stored — Vérifie la connexion MnoGoSearch avec le document stocké
  • udm_clear_search_limits — Annule toutes les limitations de recherche MnoGoSearch
  • udm_close_stored — Ferme la connexion MnoGoSearch avec le document enregistré
  • udm_crc32 — Retourne la somme de contrôle CRC32 d'une chaîne
  • udm_errno — Numéro d'erreur mnoGoSearch
  • udm_error — Message d'erreur mnoGoSearch
  • udm_find — Effectue une recherche
  • udm_free_agent — Détruit une session mnoGoSearch
  • udm_free_ispell_data — Libère la mémoire allouée pour ispell par MnoGoSearch
  • udm_free_res — Libère un résultat mnoGoSearch
  • udm_get_doc_count — Lit le nombre total de documents dans les bases MnoGoSearch
  • udm_get_res_field — Lit un champ de résultat
  • udm_get_res_param — Lit les paramètres de résultats mnoGoSearch
  • udm_hash32 — Retourne une somme de contrôle Hash32
  • udm_load_ispell_data — Charge les données ispell
  • udm_open_stored — Ouvre une connexion MnoGoSearch avec un document stocké
  • udm_set_agent_param — Modifie les paramètres de l'agent MnoGoSearch
Constantes pré-définies
udm_add_search_limit
mnoGoSearch


Ajoute différentes limitations de recherche

Fonctions mnoGoSearch
udm_alloc_agent_array
Fonctions mnoGoSearch
PHP Manual

udm_add_search_limit

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_add_search_limit — Ajoute différentes limitations de recherche

Description

bool udm_add_search_limit ( resource $agent , int $var , string $val )

udm_add_search_limit() ajoute différentes limitations de recherche.

Liste de paramètres

agent

Un identifiant d'Agent, obtenu après un appel à udm_alloc_agent().

var

Nom du paramètre de limitation. Les valeurs possibles pour var sont :

  • UDM_LIMIT_URL : définit les limitations sur les URL, pour limiter les recherches à une partie de la base. Ce paramètre supporte les jokers SQL "%" et "_" : "%" remplace n'importe quel nombre de caractères, même zéro caractères, et "_" remplace exactement un caractère. Par exemple, http://www.example.___/catalog peut remplacer http://www.example.com/catalog ou http://www.example.net/catalog.
  • UDM_LIMIT_TAG : définit les limitations par étiquettes. Lors de l'indexation, vous pouvez assigner des étiquettes sur différentes parties d'un site. Les étiquettes de mnoGoSearch 3.1.x sont des lignes, qui peuvent contenir les jokers "%" et "_" : "%" remplace n'importe quel nombre de caractères, même zéro caractères, et "_" remplace exactement un caractère. Par exemple, si vous avez les étiquettes ABCD et ABCE, la limitation de recherche ABC_ limitera la recherche à ces deux étiquettes.
  • UDM_LIMIT_LANG : définit les limitations par langue.
  • UDM_LIMIT_CAT : définit les limitations par catégorie. Les catégories sont similaires aux étiquettes, mais elles peuvent être imbriquées. Vous pouvez donc placer des catégories dans d'autres catégories. Vous devez utiliser deux caractères pour chaque niveau. Vous pouvez utiliser des nombres hexadécimaux allant de 0 à F ou bien sûr une base de 36, allant de 0 à Z. Par exemple la catégorie supérieure "Auto" vaut 01. Si elle a une sous catégorie "Renault", cette dernière sera repérée par 01 (catégorie mère) suivie de 01 (dans sa catégorie), ce qui donne "0101". Si "Auto" a une autre sous-catégorie "Peugeot", cette dernière aura le numéro 02, et sera identifiée par 0102. Si "Peugeot" a elle-même une autre sous-catégorie, "Moteur", elle sera numéroté 01, et identifiée uniquement par 010201. Si vous voulez restreindre les recherches à cette catégorie uniquement, passez cat=010201.

  • UDM_LIMIT_DATE : définit les limitations par date de modification du document.

    Format de la valeur : une chaîne de caractères, dont le premier caractère est < ou >, puis une date au format unixtimestamp. Par exemple :

    <?php
    udm_add_search_limit    ($udm, UDM_LIMIT_DATE, "&lt;908012006");
    ?>

    Si > est utilisé, la recherche sera limitée aux documents dont la date de modification est plus grande que celle qui a été entrée. Avec <, c'est le contraire.

val

Définit la valeur du paramètre courant.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Fonctions mnoGoSearch
udm_alloc_agent_array
Fonctions mnoGoSearch


Alloue une session mnoGoSearch

udm_add_search_limit
udm_alloc_agent
Fonctions mnoGoSearch
PHP Manual

udm_alloc_agent_array

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent_array — Alloue une session mnoGoSearch

Description

resource udm_alloc_agent_array ( array $databases )

udm_alloc_agent_array() sert à créer un agent avec des connexions à de multiples bases de données.

Liste de paramètres

databases

Le paramètre databases est un tableau qui contient une URL par élément, de manière analogue au premier paramètre de udm_alloc_agent().

Valeurs de retour

Retourne une ressource représentant un identifiant en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • udm_alloc_agent() - Alloue une session mnoGoSearch

udm_add_search_limit
udm_alloc_agent
Fonctions mnoGoSearch


Alloue une session mnoGoSearch

udm_alloc_agent_array
udm_api_version
Fonctions mnoGoSearch
PHP Manual

udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_alloc_agent — Alloue une session mnoGoSearch

Description

resource udm_alloc_agent ( string $dbaddr [, string $dbmode ] )

Alloue une session mnoGoSearch.

Liste de paramètres

dbaddr

dbaddr - est une description de base de données formatée comme une URL. Les options (type, hôte, nom de base de données, port, utilisateur ou mot de passe) servent à se connecter à la base de données SQL. Ne passez aucune valeur si vous souhaitez utiliser le support des fichiers texte intégré. Sinon, utilisez le format : DBAddr DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Actuellement, les valeurs de DBType possibles sont : mysql, pgsql, msql, solid, mssql, oracle, ibase. En fait, si vous avez ajouté un support natif, cette option est inutile. Mais les utilisateurs ODBC doivent spécifier une des valeurs supportées. Si votre type de base de données n'est pas supporté, utilisez le terme unknown.

dbmode

dbmode - Vous pouvez sélectionner le mode de stockage des mots dans la base de données. Si vous indiquez "single", tous les mots seront stockés dans la même table. Si vous indiquez multi, ils seront situés dans différentes tables, suivant leur taille. Le mode multi est généralement plus rapide, mais requiert plus de tables. Si le mode crc est sélectionné, mnoGoSearch enregistrera un entier de 32 bits, calculé avec l'algorithme CRC32, plutôt que des mots. Ce mode requiert moins d'espace disque, et il est beaucoup plus rapide que les modes single et multi. crc-multi utilise la même technique de stockage que le mode crc, mais il stocke aussi les mots dans différentes tables suivant leur taille. Format: DBMode single/multi/crc/crc-multi.

Note: dbaddr et dbmode doivent correspondre à ceux utilisés durant l'indexation.

Valeurs de retour

Retourne un agent mnogosearch en cas de succès, FALSE en cas d'erreur. Cette fonction crée une session avec les paramètres de base de données.

Notes

Note: En réalité, udm_alloc_agent() n'ouvre pas de connexion, et donc, ne vérifie ni le nom d'utilisateur, ni le mot de passe. La connexion à une base de données et les vérifications des login / mot de passe sont réalisées à l'appel de la fonction udm_find().

udm_alloc_agent_array
udm_api_version
Fonctions mnoGoSearch


Lit la version de l'API mnoGoSearch

udm_alloc_agent
udm_cat_list
Fonctions mnoGoSearch
PHP Manual

udm_api_version

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_api_version — Lit la version de l'API mnoGoSearch

Description

int udm_api_version ( void )

Lit la version de l'API mnoGoSearch.

udm_api_version() permet aux utilisateurs d'identifier quelles sont les API disponibles. Par exemple, udm_get_doc_count() n'est disponible qu'à partir de mnoGoSearch 3.1.11.

Valeurs de retour

udm_api_version() retourne le numéro de version de l'API mnoGoSearch. Par exemple, si mnoGosearch 3.1.10 est utilisé, udm_api_version() retournera 30110.

Exemples

Exemple #1 Exemple avec udm_api_version()

<?php
if (udm_api_version() >= 30111) {
    echo  "Nombre total d'URL dans la base : " . udm_get_doc_count($udm) . "<br />\n";
}
?>

udm_alloc_agent
udm_cat_list
Fonctions mnoGoSearch


Liste toutes les catégories de même niveau

udm_api_version
udm_cat_path
Fonctions mnoGoSearch
PHP Manual

udm_cat_list

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_list — Liste toutes les catégories de même niveau

Description

array udm_cat_list ( resource $agent , string $category )

Liste toutes les catégories de même niveau.

Cette fonction est pratique pour réaliser des arbres à partir des catégories.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

category

Valeurs de retour

Retourne un tableau contenant la liste de toutes les catégories de même niveau que la catégorie category courante.

Le tableau est constitué de paires. Les index pairs contiennent les chemins de catégories, les index impairs les noms des catégories correspondantes.

$array[0] contiendra '020300'
  $array[1] contiendra 'Audi'
  $array[2] contiendra '020301'
  $array[3] contiendra 'BMW'
  $array[4] contiendra '020302'
  $array[5] contiendra 'Opel'
  ...
 etc.

Exemples

Voici un exemple de rendu des liens du niveau courant :

Audi
  BMW
  Opel
  ...

Exemple #1 Exemple avec udm_cat_list()

<?php
 $cat_list_arr = udm_cat_list($udm_agent, $cat);
 $cat_list = '';
 for ($i=0; $i<count($cat_list_arr); $i+=2) {
    $path = $cat_list_arr[$i];
    $name = $cat_list_arr[$i+1];
    $cat_list .= "<a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a><br />";
 }
?>

Voir aussi

  • udm_cat_path() - Lit le chemin de la catégorie courante

udm_api_version
udm_cat_path
Fonctions mnoGoSearch


Lit le chemin de la catégorie courante

udm_cat_list
udm_check_charset
Fonctions mnoGoSearch
PHP Manual

udm_cat_path

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_cat_path — Lit le chemin de la catégorie courante

Description

array udm_cat_path ( resource $agent , string $category )

Retourne un tableau listant les catégories depuis la racine jusqu'à la catégorie courante.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

category

Valeurs de retour

Le tableau est constitué de paires. Les index pairs contiennent les chemins de catégories, les index impairs les noms des catégories correspondantes.

Par exemple, l'appel $array=udm_cat_path($agent, '02031D'); peut retourner le tableau suivant :

 $array[0] contiendra ''
 $array[1] contiendra 'Root'
 $array[2] contiendra '02'
 $array[3] contiendra 'Sport'
 $array[4] contiendra '0203'
 $array[5] contiendra 'Auto'
 $array[4] contiendra '02031D'
 $array[5] contiendra 'Ferrari'

Exemples

Exemple #1 Spécifier une catégorie avec un format hiérarchisé : '> Root > Sport > Auto > Ferrari'

<?php
  $cat_path_arr = udm_cat_path($udm_agent, $cat);
  $cat_path = '';
  for ($i=0; $i<count($cat_path_arr); $i+=2) {
    $path = $cat_path_arr[$i];
    $name = $cat_path_arr[$i+1];
    $cat_path .= " > <a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a> ";
  }
?>

Voir aussi

  • udm_cat_list() - Liste toutes les catégories de même niveau

udm_cat_list
udm_check_charset
Fonctions mnoGoSearch


Vérifie si un jeu de caractères est supporté par mnogosearch

udm_cat_path
udm_check_stored
Fonctions mnoGoSearch
PHP Manual

udm_check_charset

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_check_charset — Vérifie si un jeu de caractères est supporté par mnogosearch

Description

bool udm_check_charset ( resource $agent , string $charset )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

udm_cat_path
udm_check_stored
Fonctions mnoGoSearch


Vérifie la connexion MnoGoSearch avec le document stocké

udm_check_charset
udm_clear_search_limits
Fonctions mnoGoSearch
PHP Manual

udm_check_stored

(PHP 4 >= 4.2.0)

udm_check_stored — Vérifie la connexion MnoGoSearch avec le document stocké

Description

int udm_check_stored ( resource $agent , int $link , string $doc_id )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

udm_check_charset
udm_clear_search_limits
Fonctions mnoGoSearch


Annule toutes les limitations de recherche MnoGoSearch

udm_check_stored
udm_close_stored
Fonctions mnoGoSearch
PHP Manual

udm_clear_search_limits

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_clear_search_limits — Annule toutes les limitations de recherche MnoGoSearch

Description

bool udm_clear_search_limits ( resource $agent )

udm_clear_search_limits() annule toutes les limitations de recherche imposées.

Liste de paramètres

agent

Un lien vers l'agent, reçu après l'appel à la fonction udm_alloc_agent().

Valeurs de retour

Retourne TRUE.

Voir aussi

  • udm_add_search_limit() - Ajoute différentes limitations de recherche

udm_check_stored
udm_close_stored
Fonctions mnoGoSearch


Ferme la connexion MnoGoSearch avec le document enregistré

udm_clear_search_limits
udm_crc32
Fonctions mnoGoSearch
PHP Manual

udm_close_stored

(PHP 4 >= 4.2.0)

udm_close_stored — Ferme la connexion MnoGoSearch avec le document enregistré

Description

int udm_close_stored ( resource $agent , int $link )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

udm_clear_search_limits
udm_crc32
Fonctions mnoGoSearch


Retourne la somme de contrôle CRC32 d'une chaîne

udm_close_stored
udm_errno
Fonctions mnoGoSearch
PHP Manual

udm_crc32

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_crc32 — Retourne la somme de contrôle CRC32 d'une chaîne

Description

int udm_crc32 ( resource $agent , string $str )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

udm_close_stored
udm_errno
Fonctions mnoGoSearch


Numéro d'erreur mnoGoSearch

udm_crc32
udm_error
Fonctions mnoGoSearch
PHP Manual

udm_errno

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_errno — Numéro d'erreur mnoGoSearch

Description

int udm_errno ( resource $agent )

Récupère le numéro d'erreur mnoGoSearch.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

Valeurs de retour

Retourne le numéro d'erreur mnoGoSearch, ou bien 0 s'il n'y en a aucune.

udm_crc32
udm_error
Fonctions mnoGoSearch


Message d'erreur mnoGoSearch

udm_errno
udm_find
Fonctions mnoGoSearch
PHP Manual

udm_error

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_error — Message d'erreur mnoGoSearch

Description

string udm_error ( resource $agent )

Récupère le message d'erreur mnoGoSearch.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

Valeurs de retour

udm_errno() retourne le message d'erreur mnoGoSearch, ou une chaîne vide s'il n'y en a pas.

udm_errno
udm_find
Fonctions mnoGoSearch


Effectue une recherche

udm_error
udm_free_agent
Fonctions mnoGoSearch
PHP Manual

udm_find

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_find — Effectue une recherche

Description

resource udm_find ( resource $agent , string $query )

Effectue une recherche.

La recherche en elle-même. Le premier argument agent est la session, le second est la requête (query). Pour rechercher, entrez les mots avec lesquels vous voulez faire une recherche, puis cliquez sur le bouton d'envoi. Par exemple, "mysql odbc". Vous ne devez pas utiliser de guillemets doubles ", car ils sont utilisés par mnoGoSearch pour séparer une requête en mots. Avec l'exemple ci-dessus, mnoGoSearch va rechercher les pages contenant "mysql" et/ou "odbc". Les meilleures réponses seront classées en premier, et affichées en tête de liste. Si vous sélectionnez le mode de recherche "tous" ("ALL"), la recherche va retourner les documents qui contiennent l'un ou l'autre des mots que vous avez entré. Dans le cas où vous utilisez le mode "ANY", la recherche retourne la liste des documents qui contiennent l'un ou l'autre des mots. Si vous voulez accéder aux fonctions avancées de recherche, vous pouvez utiliser le mode "BOOL", qui vous permet d'entrer directement des requêtes.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

query

mnoGoSearch utilise les opérateurs booléens suivants :

& - AND, ET logique. Par exemple, "mysql & odbc". mnoGoSearch recherche toutes les URL qui contiennent à la fois les mots "mysql" et "odbc".

| - OR, OU logique. Par exemple, "mysql | odbc". mnoGoSearch recherche toutes les URL qui contiennent soit "mysql", soit "odbc".

~ - NOT, NON logique. Par exemple, "mysql & ~odbc". mnoGoSearch recherche toutes les URL qui contiennent le mot "mysql" mais ne contiennent pas le mot "odbc". Attention : la requête "~odbc" ne trouvera rien !

() - Groupement de commandes pour les requêtes complexes : par exemple, "(mysql | msql) & ~postgres". Le mode par requête est simple et puissant à la fois. Vous pouvez utiliser les commandes booléennes habituelles avec ce mode.

Valeurs de retour

Retourne un identifiant de résultat en cas de succès ou FALSE si une erreur survient.

udm_error
udm_free_agent
Fonctions mnoGoSearch


Détruit une session mnoGoSearch

udm_find
udm_free_ispell_data
Fonctions mnoGoSearch
PHP Manual

udm_free_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_agent — Détruit une session mnoGoSearch

Description

int udm_free_agent ( resource $agent )

Détruit l'agent de recherche créé par udm_alloc_agent().

Liste de paramètres

agent

Un lien vers un agent, reçu après l'appel à la fonction udm_alloc_agent().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

udm_find
udm_free_ispell_data
Fonctions mnoGoSearch


Libère la mémoire allouée pour ispell par MnoGoSearch

udm_free_agent
udm_free_res
Fonctions mnoGoSearch
PHP Manual

udm_free_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_ispell_data — Libère la mémoire allouée pour ispell par MnoGoSearch

Description

bool udm_free_ispell_data ( int $agent )

Libère la mémoire allouée pour ispell par MnoGoSearch.

Liste de paramètres

agent

Un lien vers l'agent, reçu après l'appel à la fonction udm_alloc_agent().

Valeurs de retour

udm_free_ispell_data() retourne toujours TRUE.

Notes

Note: udm_free_ispell_data() est supportée à partir de la version 3.1.12 de mnoGoSearch et elle ne fait strictement rien avec les versions précédentes.

udm_free_agent
udm_free_res
Fonctions mnoGoSearch


Libère un résultat mnoGoSearch

udm_free_ispell_data
udm_get_doc_count
Fonctions mnoGoSearch
PHP Manual

udm_free_res

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_free_res — Libère un résultat mnoGoSearch

Description

bool udm_free_res ( resource $res )

Libère un résultat mnoGoSearch.

Liste de paramètres

res

Un lien vers un identifiant de résultat, reçu après l'appel à la fonction udm_find().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

udm_free_ispell_data
udm_get_doc_count
Fonctions mnoGoSearch


Lit le nombre total de documents dans les bases MnoGoSearch

udm_free_res
udm_get_res_field
Fonctions mnoGoSearch
PHP Manual

udm_get_doc_count

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_doc_count — Lit le nombre total de documents dans les bases MnoGoSearch

Description

int udm_get_doc_count ( resource $agent )

udm_get_doc_count() retourne le nombre de documents dans les bases de données.

Liste de paramètres

agent

Un lien vers l'agent, reçu après l'appel à la fonction udm_alloc_agent().

Valeurs de retour

Retourne le nombre de documents.

Notes

Note: udm_get_doc_count() est supportée à partir de la version mnoGoSearch 3.1.11 ou plus récent.

udm_free_res
udm_get_res_field
Fonctions mnoGoSearch


Lit un champ de résultat

udm_get_doc_count
udm_get_res_param
Fonctions mnoGoSearch
PHP Manual

udm_get_res_field

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_field — Lit un champ de résultat

Description

string udm_get_res_field ( resource $res , int $row , int $field )

Lit un champ de résultat mnoGoSearch.

Liste de paramètres

res

res - un identifiant de résultat, obtenu après un appel à udm-find.

row

row - le numéro du lien dans la page courante. Il peut valoir de 0 jusqu'à UDM_PARAM_NUM_ROWS-1.

field

field - l'identifiant de champ, et peut prendre l'une des valeurs suivantes :

  • UDM_FIELD_URL : champ URL
  • UDM_FIELD_CONTENT : champ Content-type (par exemple, text/html).
  • UDM_FIELD_CATEGORY - Champ catégorie du document. Utilisez udm_cat_path() pour récupérer le chemin complet de la catégorie courante depuis le dossier racine. (Ce paramètre est valable uniquement depuis la version 4.0.6 de PHP et suivantes)
  • UDM_FIELD_TITLE : titre du document.
  • UDM_FIELD_KEYWORDS : mots-clés du document (balise META KEYWORDS).
  • UDM_FIELD_DESC : description du document (balise META DESCRIPTION).
  • UDM_FIELD_TEXT : corps du document (balise body, les premières lignes pour donner une idée du document).
  • UDM_FIELD_SIZE : taille du document.
  • UDM_FIELD_URLID : identifiant unique de l'URL.
  • UDM_FIELD_RATING : score de la page (calculé par mnoGoSearch).
  • UDM_FIELD_MODIFIED : date de modification au format unixtimestamp.
  • UDM_FIELD_ORDER : le nombre de documents trouvés.
  • UDM_FIELD_CRC : la valeur CRC du document.

Valeurs de retour

Retourne la valeur du champ field dans la ligne row, du résultat res, et FALSE si une erreur survient.

udm_get_doc_count
udm_get_res_param
Fonctions mnoGoSearch


Lit les paramètres de résultats mnoGoSearch

udm_get_res_field
udm_hash32
Fonctions mnoGoSearch
PHP Manual

udm_get_res_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_get_res_param — Lit les paramètres de résultats mnoGoSearch

Description

string udm_get_res_param ( resource $res , int $param )

Lit les paramètres de résultats mnoGoSearch.

Liste de paramètres

res

res - identifiant de résultat, obtenu après un appel à udm_find().

param

param - peut prendre les valeurs suivantes :

  • UDM_PARAM_NUM_ROWS - Nombre de liens trouvés dans le groupe de résultat courant. C'est la valeur de UDM_PARAM_PAGE_SIZE pour tous les groupes, sauf le dernier.
  • UDM_PARAM_FOUND - Nombre total de résultats trouvés.
  • UDM_PARAM_WORDINFO - Informations sur les mots trouvés, c'est-à-dire que la recherche "un bon livre" retournera "un: stopword, bon:5637, livre: 120"
  • UDM_PARAM_SEARCHTIME - Temps de recherche en secondes
  • UDM_PARAM_FIRST_DOC - Le numéro du premier document affiché dans le groupe.
  • UDM_PARAM_LAST_DOC - Le numéro du dernier document affiché dans le groupe.

Valeurs de retour

udm_get_res_param() retourne les paramètres de résultats en cas de succès, FALSE en cas d'erreur.

udm_get_res_field
udm_hash32
Fonctions mnoGoSearch


Retourne une somme de contrôle Hash32

udm_get_res_param
udm_load_ispell_data
Fonctions mnoGoSearch
PHP Manual

udm_hash32

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_hash32 — Retourne une somme de contrôle Hash32

Description

int udm_hash32 ( resource $agent , string $str )

udm_hash32() prend la chaîne str et retourne un nombre presque unique sur 32 octets.

Liste de paramètres

agent

Un lien vers un agent, reçu après l'appel à la fonction udm_alloc_agent().

str

La chaîne d'entrée.

Valeurs de retour

Retourne la somme de contrôle, sur 32 octets.

Voir aussi

  • udm_alloc_agent() - Alloue une session mnoGoSearch

udm_get_res_param
udm_load_ispell_data
Fonctions mnoGoSearch


Charge les données ispell

udm_hash32
udm_open_stored
Fonctions mnoGoSearch
PHP Manual

udm_load_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_load_ispell_data — Charge les données ispell

Description

bool udm_load_ispell_data ( resource $agent , int $var , string $val1 , string $val2 , int $flag )

udm_load_ispell_data() charge des données ispell.

Après avoir utilisé cette fonction, pensez à libérer les données de la mémoire avec udm_free_ispell_data(), même si vous utilisez le mode UDM_ISPELL_TYPE_SERVER.

Liste de paramètres

agent

Un lien vers l'agent, reçu après l'appel à la fonction udm_alloc_agent().

var

Paramètre indiquant la source des données ispell. Peut prendre une des valeurs suivantes :

  • UDM_ISPELL_TYPE_DB indique que les données ispell doivent être chargées depuis la base SQL. Dans ce cas, les paramètres val1 et val2 sont ignorés et doivent être laissés vides. flag doit être égal à 1.

    Note: flag indique qu'après le chargement des données ispell à partir de la source, elles doivent être triées (c'est nécessaire au bon fonctionnement d'ispell). Dans le cas où vous chargez les données depuis un fichier, il peut y avoir plusieurs appels à udm_load_ispell_data(), et il ne vaut pas la peine de trier les valeurs après chaque appel, mais uniquement à la fin. Étant donné qu'en mode DB, toutes les données sont chargées en une seule fois, ce paramètre doit avoir la valeur de 1. Dans ce mode, en cas d'erreur, par exemple si la table ispell est absente, la fonction retournera FALSE et le code d'erreur, avec son message, seront accessibles avec udm_error() et udm_errno().

  • UDM_ISPELL_TYPE_AFFIX indique que les données ispell doivent être chargées depuis un fichier et initie le chargement. Dans ce cas, val1 définit le code de langue en deux lettres, et val2 est le chemin jusqu'aux fichiers. Notez que si vous utilisez un chemin relatif, le module recherche les fichiers non pas dans UDM_CONF_DIR, mais directement avec le chemin courant, où le script est exécuté. En cas d'erreur avec ce mode, si le fichier est absent, la fonction retourne FALSE, et un message d'erreur sera affiché. Les messages d'erreur ne sont pas accessibles avec udm_error() et udm_errno(), puisque ces fonctions ne traitent que les messages SQL. Reportez-vous à la description du paramètre flag pour la constante UDM_ISPELL_TYPE_DB.

    Exemple #1 Exemple avec udm_load_ispell_data()

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
        exit;
    }
    ?>

    Note: flag prend la valeur 1 si c'est le dernier appel à cette fonction.

  • UDM_ISPELL_TYPE_SPELL indique que les données ispell doivent être chargées depuis un fichier, et initie le chargement du dictionnaire. Dans ce cas, val1 définit le code langue sur deux lettres, et val2 le chemin du fichier. Notez que si vous utilisez un chemin relatif, le module recherche les fichiers non pas dans UDM_CONF_DIR, mais directement avec le chemin courant, où le script est exécuté. En cas d'erreur avec ce mode, si le fichier est absent, la fonction retourne FALSE, et un message d'erreur sera affiché. Les messages d'erreur ne sont pas accessibles avec udm_error() et udm_errno(), puisque ces fonctions ne traitent que les messages SQL. Reportez-vous à la description du paramètre flag dans UDM_ISPELL_TYPE_DB.

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
     exit;
     }
    ?>

    Note: flag prend la valeur 1 si c'est le dernier appel à cette fonction.

  • UDM_ISPELL_TYPE_SERVER active le support des serveurs ispell. val1 indique alors l'adresse de l'hôte qui supporte le serveur ispall. val2 n'est pas encore utilisé, mais dans les cas futurs, il indiquera le numéro de port utilisé par le serveur ispell. flag n'est pas utile, car les données sont déjà triées.

    Les serveurs Spelld lisent les données d'orthographe dans une configuration séparée (par défaut /usr/local/mnogosearch/etc/spelld.conf), les trie et les stocke en mémoire. Avec les clients, le serveur communique de deux façons : vers les indexeurs, tout le contenu de la mémoire est transféré pour que l'indexeur travaille plus vite ; vers le moteur de recherche, il reçoit les mots à normaliser et les rend au client corrigés. Cela permet une plus grande rapidité d'exécution, en comparaison des modes db et text (notamment, les tris et les chargements sont beaucoup plus rapides).

    udm_load_ispell_data() en mode UDM_ISPELL_TYPE_SERVER ne charge pas vraiment les données ispell, mais définit simplement l'adresse du serveur. En fait, le serveur sera automatiquement utilisé par udm_find() lors des recherches. En cas d'erreur, (par exemple si le serveur ispell ne fonctionne pas ou que l'hôte indiqué est invalide), la conversion sera annulée, mais aucun message d'erreur ne sera affiché.

    Note: Cette fonction est disponible à partir de mnoGoSearch 3.1.12.

    Exemple :
    <?php
    if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '', '', 1)) {
        echo     "Erreur au chargement de la bibliothèque ispell sur le serveur<br />\n";
        exit;
    }
    ?>

Le mode le plus rapide est UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT est plus lent, et UDM_ISPELL_TYPE_DB est le plus lent. Ce classement est vrai pour mnoGoSearch 3.1.10 - 3.1.11. Il est prévu d'accélérer le mode DB dans les versions futures, et cela sera plus rapide que le mode TEXT.

val1

val2

flag

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #2 Exemple avec udm_load_ispell_data()

<?php
if (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_DB, '', '', 1)) {
  printf("Erreur #%d: '%s'\n", udm_errno($udm), udm_error($udm));
  exit;
}
?>

udm_hash32
udm_open_stored
Fonctions mnoGoSearch


Ouvre une connexion MnoGoSearch avec un document stocké

udm_load_ispell_data
udm_set_agent_param
Fonctions mnoGoSearch
PHP Manual

udm_open_stored

(PHP 4 >= 4.2.0)

udm_open_stored — Ouvre une connexion MnoGoSearch avec un document stocké

Description

int udm_open_stored ( resource $agent , string $storedaddr )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

udm_load_ispell_data
udm_set_agent_param
Fonctions mnoGoSearch


Modifie les paramètres de l'agent MnoGoSearch

udm_open_stored
Sphinx
Fonctions mnoGoSearch
PHP Manual

udm_set_agent_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)

udm_set_agent_param — Modifie les paramètres de l'agent MnoGoSearch

Description

bool udm_set_agent_param ( resource $agent , int $var , string $val )

Modifie les paramètres de l'agent MnoGoSearch.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

var

Les paramètres suivants et leurs valeurs sont disponibles :

  • UDM_PARAM_PAGE_NUM - Utilisé pour choisir le numéro de groupe de résultat (les résultats sont retournés par groupe, commençant à 0, avec UDM_PARAM_PAGE_SIZE résultats par page).
  • UDM_PARAM_PAGE_SIZE - Nombre de résultats affichés par page.
  • UDM_PARAM_SEARCH_MODE - Mode de recherche. Les valeurs suivantes sont disponibles : UDM_MODE_ALL - recherche tous les mots ; UDM_MODE_ANY - recherche l'un des mots ; UDM_MODE_PHRASE - recherche une phrase; UDM_MODE_BOOL - recherche booléenne. Voir udm_find() pour plus de détails sur les recherches booléennes.
  • UDM_PARAM_CACHE_MODE - Active/désactive le cache. Lorsque le cache est activé, le moteur de recherche va stocker les résultats sur le disque. Lorsque deux requêtes seront similaires, il pourra retourner les résultats plus rapidement, sans recherche. Valeurs disponibles : UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
  • UDM_PARAM_TRACK_MODE - Active le mode de suivi de requête. Depuis la version 3.1.2, mnoGoSearch dispose d'un suivi de requête. Notez que ce suivi n'est implémenté qu'avec les versions SQL et n'est pas disponible avec les bases de données intégrées. Pour utiliser ce suivi, vous devez créer des tables de suivi. Pour mysql, utilisez le script create/mysql/track.txt. Lorsque vous effectuez une recherche avec l'interface, ces tables stockeront les mots recherchés ainsi que le nombre de mots trouvés, et la date. Valeurs disponibles : UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
  • UDM_PARAM_PHRASE_MODE - indique si les index des bases de données utilisent des phrases (paramètre "phrase" dans indexer.conf). Valeurs disponibles : UDM_PHRASE_ENABLED et UDM_PHRASE_DISABLED. Notez bien que si la recherche par phrase est activée (UDM_PHRASE_ENABLED), il est toujours possible de faire des recherches dans d'autres modes, (ANY, ALL, BOOL ou PHRASE). En version 3.1.10 de mnoGoSearch, la recherche par phrase n'est supportée que pour les modes SQL et intégré, tandis qu'en 3.1.11, la recherche par phrase est supportée par le mode cache. Exemple de recherche par phrase : "Arizona desert" : cette requête retourne tous les documents qui contiennent les mots "Arizona desert" comme une phrase. Notez que vous devez mettre des guillemets doubles autour des phrases.
  • UDM_PARAM_CHARSET - Définit le jeu de caractères local. Valeurs disponibles : tous les jeux supportés par mnoGoSearch. koi8-r, cp1251, ...
  • UDM_PARAM_STOPFILE - Définit le nom et le chemin du fichier de mots ignorés. Il y a une petite différence avec mnoGoSearch : avec mnoGoSearch, si le chemin est NULL ou relatif, il est utilisé à partir de UDM_CONF_DIR, alors qu'en PHP, le module va rechercher à partir du chemin courant, c'est-à-dire celui du script courant.
  • UDM_PARAM_STOPTABLE - Charge la liste des mots ignorés depuis une table SQL. Vous pouvez utiliser plusieurs tables SQL. Cette commande n'a aucun effet si mnoGoSearch n'a pas été compilé avec le support de base de données.
  • UDM_PARAM_WEIGHT_FACTOR - Représente le poids relatif des différentes parties d'un document. Actuellement, le corps, titre, mots-clés, descriptions et url sont supportés. Pour activer cette fonctionnalité, utilisez le degré 2 des commandes *Weight, dans le fichier indexer.conf. Imaginons que vous avez choisi les poids suivants :
          URLWeight     1
      BodyWeight    2
      TitleWeight   4
      KeywordWeight 8
      DescWeight    16
    Comme l'indexeur utilise l'opérateur de bits OR pour mesurer le poids des mots, il est possible que le même mot soit trouvé plusieurs fois dans le même document lors des recherches. Un mot qui n'apparaît qu'une fois dans le corps sera défini par 00000010 (notation binaire). Un mot qui apparaîtra dans plusieurs parties pourra avoir la notation 00011111. La valeur de ce paramètre est une chaîne de chiffres hexadécimaux, sous la forme ABCDE. Chaque chiffre est un facteur correspondant à un poids affecté à une partie du document. Pour la situation décrite ci-dessus :
       E est le facteur de poids 1  (URL Weight bit)
   D est le facteur de poids 2  (BodyWeight bit)
   C est le facteur de poids 4  (TitleWeight bit)
   B est le facteur de poids 8  (KeywordWeight bit)
   A est le facteur de poids 16 (DescWeight bit)
    Exemples : UDM_PARAM_WEIGHT_FACTOR=00001 ne recherche que dans les URL. UDM_PARAM_WEIGHT_FACTOR=00100 ne recherche que dans les Titres. UDM_PARAM_WEIGHT_FACTOR=11100 recherche dans les Titres, Mots-clés, Description mais pas dans le Corps ou les URL. UDM_PARAM_WEIGHT_FACTOR=F9421 recherche dans :
        Description avec un poids de 15  (F hex)
    Mots-clés avec un poids de 9
    Titre avec un poids de  4
    Corps avec un poids de 2
    URL avec un poids de 1
    Si UDM_PARAM_WEIGHT_FACTOR est omis, la valeur par défaut est utilisée.
  • UDM_PARAM_WORD_MATCH - Recherche des mots. Vous pouvez utiliser ce paramètre pour choisir le type de recherche de mots. Cette fonctionnalité n'est valable qu'en mode "single" et "multi", avec les bases SQL ou intégrée. Elle ne fonctionne pas en mode intégré, ni avec d'autres modes, car les CRC ne supportent pas les recherches de sous-chaînes. Les valeurs disponibles sont : UDM_MATCH_BEGIN - début de mot; UDM_MATCH_END - fin de mot; UDM_MATCH_WORD - tout le mot; UDM_MATCH_SUBSTR - une sous-partie de mot.
  • UDM_PARAM_MIN_WORD_LEN - définit les tailles extrêmes de mots. Tout mot plus court que la limite inférieure est ignoré. Notez que ce paramètre est inclusif, c'est-à-dire que si UDM_PARAM_MIN_WORD_LEN=3, un mot de 3 caractères ne sera pas ignoré, alors qu'un mot de 2 caractères le sera. Par défaut, la valeur est de 1.
  • UDM_PARAM_ISPELL_PREFIXES - Valeurs possibles : UDM_PREFIXES_ENABLED et UDM_PREFIXES_DISABLED. Ces valeurs activent et désactivent le support des préfixes. Par exemple, si le mot "testé" est placé dans la requête de recherche, les mots tels "test", "tester", etc. seront aussi recherchés. Les suffixes sont supportés par défaut. Les préfixes modifient généralement le sens des mots. Par exemple, si vous cherchez "testé", vous ne souhaitez pas trouver "protesté" ou "contesté". Le support des préfixes peut cependant être utilisé pour des raisons d'orthographe. Pour activer ispell, vous devez charger les données ispell avec la fonction udm_load_ispell_data().
  • UDM_PARAM_CROSS_WORDS - Active ou désactive le support "CROSS_WORDS". Valeurs possibles : UDM_CROSS_WORDS_ENABLED et UDM_CROSS_WORDS_DISABLED. La fonctionnalité "CROSS_WORDS" vous permet d'effectuer des recherches dans les balises (entre <a href="xxx"> </a>), pour utiliser le nom du lien. Ce mode fonctionne avec les bases de données SQL et n'est pas supporté par les modes intégrés ou le cache.
  • UDM_PARAM_VARDIR - spécifie un chemin précis sur le disque où l'indexeur enregistre les données lorsqu'il utilise le cache et les bases de données internes. Par défaut, le dossier /var de l'installation de mnoGoSearch est utilisé.

val

Historique

Version | Description
4.1.0 | Ajout de la constante UDM_PARAM_VARDIR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: CROSS_WORDS est supporté à partir de mnoGoSearch 3.1.11.

udm_open_stored
Sphinx
Fonctions mnoGoSearch


Client Sphinx

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • SphinxClient — La classe SphinxClient
    • SphinxClient::addQuery — Ajoute une requête à un batch multiple
    • SphinxClient::buildExcerpts — Construit les extraits de texte
    • SphinxClient::buildKeywords — Extrait les mots-clés d'une requête
    • SphinxClient::close — Ferme une connexion persistante ouverte
    • SphinxClient::__construct — Crée un nouvel objet SphinxClient
    • SphinxClient::escapeString — Protège les caractères spéciaux
    • SphinxClient::getLastError — Lit le dernier message d'erreur
    • SphinxClient::getLastWarning — Lit la dernière alerte
    • SphinxClient::open — Établit une connexion persistante avec le serveur
    • SphinxClient::query — Exécute une requête de recherche
    • SphinxClient::resetFilters — Supprime tous les filtres
    • SphinxClient::resetGroupBy — Supprime toutes les configurations de regroupement
    • SphinxClient::runQueries — Exécute une série de requêtes de recherche
    • SphinxClient::setArrayResult — Change le format du tableau de résultats
    • SphinxClient::setConnectTimeout — Configure le délai d'expiration de connexion
    • SphinxClient::setFieldWeights — Configure le poids des champs
    • SphinxClient::setFilter — Ajoute un nouveau filtre entier
    • SphinxClient::setFilterFloatRange — Ajoute un nouveau filtre décimal
    • SphinxClient::setFilterRange — Ajoute un nouveau filtre d'intervalle
    • SphinxClient::setGeoAnchor — Configure le point d'origine pour les calculs géographiques
    • SphinxClient::setGroupBy — Configure les attributs de regroupement
    • SphinxClient::setGroupDistinct — Configure les calculs au niveau des valeurs distinctes
    • SphinxClient::setIDRange — Configure l'intervalle de validité des identifiants de document
    • SphinxClient::setIndexWeights — Configure les poids de chaque index
    • SphinxClient::setLimits — Configure l'offset et la limite du résultat
    • SphinxClient::setMatchMode — Configure le mode de recherche en texte intégral
    • SphinxClient::setMaxQueryTime — Configure la durée maximale de recherche
    • SphinxClient::setOverride — Définit temporairement la valeur d'attribut pour un document
    • SphinxClient::setRankingMode — Configure le mode de classement
    • SphinxClient::setRetries — Configure le nombre de tentatives et le délai d'expiration
    • SphinxClient::setSelect — Définit une clause à la sélection
    • SphinxClient::setServer — Configure l'hôte et le port searchd
    • SphinxClient::setSortMode — Configure le mode de tri
    • SphinxClient::status — Récupère le statut de searchd
    • SphinxClient::updateAttributes — Modifie les attributs d'un document
udm_set_agent_param
Introduction
Extensions spécifiques aux moteurs de recherche


Introduction

Cette extension fournit une interface avec la bibliothèque de recherche Sphinx. Sphinx est un moteur de recherche indépendant, qui propose une recherche en texte intégrale rapide, efficace et pertinente. Sphinx est conçu pour s'intégrer avec les bases de données SQL, et les langages de scripts. Sphinx et ses bibliothèques clientes sont disponibles sur » le site officiel

Sphinx
Installation/Configuration
Sphinx


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Sphinx


Pré-requis

PECL/sphinx requiert PHP 5.2.2 ou plus récent.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/sphinx

Si ./configure rencontre des problèmes pour trouver les fichiers libsphinxclient (par exemple, s'il a été installé dans un dossier particulier), utilisez ./configure --with-sphinx=$PREFIX, où $PREFIX est le préfixe de l'installation de libsphinxclient.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SEARCHD_OK ( integer )
SEARCHD_ERROR ( integer )
SEARCHD_RETRY ( integer )
SEARCHD_WARNING ( integer )
SPH_MATCH_ALL ( integer )
SPH_MATCH_ANY ( integer )
SPH_MATCH_PHRASE ( integer )
SPH_MATCH_BOOLEAN ( integer )
SPH_MATCH_EXTENDED ( integer )
SPH_MATCH_FULLSCAN ( integer )
SPH_MATCH_EXTENDED2 ( integer )
SPH_RANK_PROXIMITY_BM25 ( integer )
SPH_RANK_BM25 ( integer )
SPH_RANK_NONE ( integer )
SPH_RANK_WORDCOUNT ( integer )
SPH_SORT_RELEVANCE ( integer )
SPH_SORT_ATTR_DESC ( integer )
SPH_SORT_ATTR_ASC ( integer )
SPH_SORT_TIME_SEGMENTS ( integer )
SPH_SORT_EXTENDED ( integer )
SPH_SORT_EXPR ( integer )
SPH_FILTER_VALUES ( integer )
SPH_FILTER_RANGE ( integer )
SPH_FILTER_FLOATRANGE ( integer )
SPH_ATTR_INTEGER ( integer )
SPH_ATTR_TIMESTAMP ( integer )
SPH_ATTR_ORDINAL ( integer )
SPH_ATTR_BOOL ( integer )
SPH_ATTR_FLOAT ( integer )
SPH_ATTR_MULTI ( integer )
SPH_GROUPBY_DAY ( integer )
SPH_GROUPBY_WEEK ( integer )
SPH_GROUPBY_MONTH ( integer )
SPH_GROUPBY_YEAR ( integer )
SPH_GROUPBY_ATTR ( integer )
SPH_GROUPBY_ATTRPAIR ( integer )

Types de ressources
Exemples
Sphinx


Exemples

Exemple #1 Exemple simple

<?php

$s = new SphinxClient;
$s->setServer("localhost", 6712);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(3);

$result = $s->query("test");

var_dump($result);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(10) {
  ["error"]=>
  string(0) ""
  ["warning"]=>
  string(0) ""
  ["status"]=>
  int(0)
  ["fields"]=>
  array(3) {
    [0]=>
    string(7) "subject"
    [1]=>
    string(4) "body"
    [2]=>
    string(6) "author"
  }
  ["attrs"]=>
  array(0) {
  }
  ["matches"]=>
  array(1) {
    [3]=>
    array(2) {
      ["weight"]=>
      int(1)
      ["attrs"]=>
      array(0) {
      }
    }
  }
  ["total"]=>
  int(1)
  ["total_found"]=>
  int(1)
  ["time"]=>
  float(0)
  ["words"]=>
  array(1) {
    ["to"]=>
    array(2) {
      ["docs"]=>
      int(1)
      ["hits"]=>
      int(1)
    }
  }
}
Constantes pré-définies
SphinxClient
Sphinx


La classe SphinxClient

Introduction

La classe SphinxClient fournit une interface orientée objet avec Sphinx.

Synopsis de la classe

SphinxClient
SphinxClient {
/* Méthodes */
public int addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )
public array buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )
public array buildKeywords ( string $query , string $index , bool $hits )
public bool close ( void )
__construct ( void )
public string escapeString ( string $string )
public string getLastError ( void )
public string getLastWarning ( void )
public bool open ( void )
public array query ( string $query [, string $index = "*" [, string $comment = "" ]] )
public void resetFilters ( void )
public void resetGroupBy ( void )
public array runQueries ( void )
public bool setArrayResult ( bool $array_result = false )
public bool setConnectTimeout ( float $timeout )
public bool setFieldWeights ( array $weights )
public bool setFilter ( string $attribute , array $values [, bool $exclude = false ] )
public bool setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )
public bool setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )
public bool setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )
public bool setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )
public bool setGroupDistinct ( string $attribute )
public bool setIDRange ( int $min , int $max )
public bool setIndexWeights ( array $weights )
public bool setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )
public bool setMatchMode ( int $mode )
public bool setMaxQueryTime ( int $qtime )
public bool setOverride ( string $attribute , int $type , array $values )
public bool setRankingMode ( int $ranker )
public bool setRetries ( int $count [, int $delay = 0 ] )
public bool setSelect ( string $clause )
public bool setServer ( string $server , int $port )
public bool setSortMode ( int $mode [, string $sortby ] )
public array status ( void )
public int updateAttributes ( string $index , array $attributes , array $values )
}

Sommaire

  • SphinxClient::addQuery — Ajoute une requête à un batch multiple
  • SphinxClient::buildExcerpts — Construit les extraits de texte
  • SphinxClient::buildKeywords — Extrait les mots-clés d'une requête
  • SphinxClient::close — Ferme une connexion persistante ouverte
  • SphinxClient::__construct — Crée un nouvel objet SphinxClient
  • SphinxClient::escapeString — Protège les caractères spéciaux
  • SphinxClient::getLastError — Lit le dernier message d'erreur
  • SphinxClient::getLastWarning — Lit la dernière alerte
  • SphinxClient::open — Établit une connexion persistante avec le serveur
  • SphinxClient::query — Exécute une requête de recherche
  • SphinxClient::resetFilters — Supprime tous les filtres
  • SphinxClient::resetGroupBy — Supprime toutes les configurations de regroupement
  • SphinxClient::runQueries — Exécute une série de requêtes de recherche
  • SphinxClient::setArrayResult — Change le format du tableau de résultats
  • SphinxClient::setConnectTimeout — Configure le délai d'expiration de connexion
  • SphinxClient::setFieldWeights — Configure le poids des champs
  • SphinxClient::setFilter — Ajoute un nouveau filtre entier
  • SphinxClient::setFilterFloatRange — Ajoute un nouveau filtre décimal
  • SphinxClient::setFilterRange — Ajoute un nouveau filtre d'intervalle
  • SphinxClient::setGeoAnchor — Configure le point d'origine pour les calculs géographiques
  • SphinxClient::setGroupBy — Configure les attributs de regroupement
  • SphinxClient::setGroupDistinct — Configure les calculs au niveau des valeurs distinctes
  • SphinxClient::setIDRange — Configure l'intervalle de validité des identifiants de document
  • SphinxClient::setIndexWeights — Configure les poids de chaque index
  • SphinxClient::setLimits — Configure l'offset et la limite du résultat
  • SphinxClient::setMatchMode — Configure le mode de recherche en texte intégral
  • SphinxClient::setMaxQueryTime — Configure la durée maximale de recherche
  • SphinxClient::setOverride — Définit temporairement la valeur d'attribut pour un document
  • SphinxClient::setRankingMode — Configure le mode de classement
  • SphinxClient::setRetries — Configure le nombre de tentatives et le délai d'expiration
  • SphinxClient::setSelect — Définit une clause à la sélection
  • SphinxClient::setServer — Configure l'hôte et le port searchd
  • SphinxClient::setSortMode — Configure le mode de tri
  • SphinxClient::status — Récupère le statut de searchd
  • SphinxClient::updateAttributes — Modifie les attributs d'un document
Exemples
SphinxClient::addQuery
Sphinx


Ajoute une requête à un batch multiple

SphinxClient
SphinxClient::buildExcerpts
SphinxClient
PHP Manual

SphinxClient::addQuery

(PECL sphinx >= 0.1.0)

SphinxClient::addQuery — Ajoute une requête à un batch multiple

Description

public int SphinxClient::addQuery ( string $query [, string $index = "*" [, string $comment = "" ]] )

Ajoute une requête à un batch multi-requête. Cette méthode n'affecte pas la configuration courante (tri, filtrage, regroupement, etc.).

Liste de paramètres

query

La chaîne de requête.

index

Un nom d'index (ou des noms).

comment

Valeurs de retour

Retourne un index dans le tableau de résultat, qui sera retourné par SphinxClient::runQueries ou FALSE sinon.

Voir aussi

  • SphinxClient::runQueries
  • SphinxClient::query

SphinxClient
SphinxClient::buildExcerpts
SphinxClient


Construit les extraits de texte

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient
PHP Manual

SphinxClient::buildExcerpts

(PECL sphinx >= 0.1.0)

SphinxClient::buildExcerpts — Construit les extraits de texte

Description

public array SphinxClient::buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )

Se connecte à searchd, et l'interroge pour générer des extraits de texte à partir des documents fournis, et retourne le résultat.

Liste de paramètres

docs

Un tableau de chaînes avec le contenu des documents.

index

Le nom d'index.

words

Les mots clés à mettre en valeur.

opts

Un tableau associatif avec les options de mise en valeur.

Options de mise en valeur
Option | Description
"before_match" | Une chaîne à insérer avant le mot clé. Par défaut vaut "<b>".
"after_match" | Une chaîne à insérer après le mot clé. Par défaut vaut "</b>".
"chunk_separator" | Une chaîne à insérer entre les extraits. Par défaut vaut " ... ".
"limit" | Taille maximale d'un extrait, en symboles. Entier, par défaut vaut 256.
"around" | Nombre de mots à afficher autour du mot-clé. Entier, par défaut vaut 5.
"exact_phrase" | S'il faut mettre en valeur la phrase de recherche complète, ou bien les mots-clé individuels. Booléen, par défaut vaut FALSE.
"single_passage" | S'il faut extraire le meilleur passage uniquement. Par défaut vaut FALSE.

Valeurs de retour

Retourne un tableau d'extraits, en cas de succès ou FALSE si une erreur survient.

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient


Extrait les mots-clés d'une requête

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient
PHP Manual

SphinxClient::buildKeywords

(PECL sphinx >= 0.1.0)

SphinxClient::buildKeywords — Extrait les mots-clés d'une requête

Description

public array SphinxClient::buildKeywords ( string $query , string $index , bool $hits )

Extrait les mots-clés de la requête query en utilisant l'analyseur donné par index, optionnellement avec des statistiques d'occurrences par mot-clé.

Liste de paramètres

query

Une requête dont il faut extraire les mots-clés.

index

Un index pour obtenir les configurations d'analyse et les statistiques d'occurrences.

hits

Une option pour activer ou désactiver les statistiques de mots-clés.

Valeurs de retour

Retourne un tableau de tableaux associatifs avec les informations par mot-clé.

SphinxClient::buildExcerpts
SphinxClient::close
SphinxClient


Ferme une connexion persistante ouverte

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient
PHP Manual

SphinxClient::close

(PECL sphinx >= 1.0.3)

SphinxClient::close — Ferme une connexion persistante ouverte

Description

public bool SphinxClient::close ( void )

Ferme une connexion persistante ouverte.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Historique

Version PECL/sphinx | Description
1.0.3 | Ajout de SphinxClient::close(), uniquement disponible si compilé avec libsphinxclient >= 0.9.9.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::open

SphinxClient::buildKeywords
SphinxClient::__construct
SphinxClient


Crée un nouvel objet SphinxClient

SphinxClient::close
SphinxClient::escapeString
SphinxClient
PHP Manual

SphinxClient::__construct

(PECL sphinx >= 0.1.0)

SphinxClient::__construct — Crée un nouvel objet SphinxClient

Description

SphinxClient::__construct ( void )

Crée un nouvel objet SphinxClient.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

SphinxClient::close
SphinxClient::escapeString
SphinxClient


Protège les caractères spéciaux

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient
PHP Manual

SphinxClient::escapeString

(PECL sphinx >= 0.1.0)

SphinxClient::escapeString — Protège les caractères spéciaux

Description

public string SphinxClient::escapeString ( string $string )

Protège les caractères qui sont traités de manière particulière par l'analyseur.

Liste de paramètres

string

La chaîne à protéger.

Valeurs de retour

Retourne la chaîne protégée.

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient


Lit le dernier message d'erreur

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient
PHP Manual

SphinxClient::getLastError

(PECL sphinx >= 0.1.0)

SphinxClient::getLastError — Lit le dernier message d'erreur

Description

public string SphinxClient::getLastError ( void )

Retourne le dernier message d'erreur. S'il n'y a pas eu d'erreur lors des appels à l'API, une chaîne vide est retournée. Cette méthode ne remet pas à zéro les messages, donc vous pouvez l'appeler aussi souvent que vous voulez.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le dernier message d'erreur, ou une chaîne vide s'il n'y a pas eu d'erreur.

Voir aussi

  • SphinxClient::getLastWarning

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient


Lit la dernière alerte

SphinxClient::getLastError
SphinxClient::open
SphinxClient
PHP Manual

SphinxClient::getLastWarning

(PECL sphinx >= 0.1.0)

SphinxClient::getLastWarning — Lit la dernière alerte

Description

public string SphinxClient::getLastWarning ( void )

Retourne le dernier message d'alerte. S'il n'y a pas eu d'alerte lors des appels à l'API, une chaîne vide est retournée. Cette méthode ne remet pas à zéro les messages, donc vous pouvez l'appeler aussi souvent que vous voulez.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le dernier message d'alerte, ou une chaîne vide s'il n'y a pas eu d'alerte.

Voir aussi

  • SphinxClient::getLastError

SphinxClient::getLastError
SphinxClient::open
SphinxClient


Établit une connexion persistante avec le serveur

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient
PHP Manual

SphinxClient::open

(PECL sphinx >= 1.0.3)

SphinxClient::open — Établit une connexion persistante avec le serveur

Description

public bool SphinxClient::open ( void )

Établit une connexion persistante avec le serveur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Historique

Version PECL/sphinx | Description
1.0.3 | Ajout de SphinxClient::open(), uniquement disponible si compilé avec libsphinxclient >= 0.9.9.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::close

SphinxClient::getLastWarning
SphinxClient::query
SphinxClient


Exécute une requête de recherche

SphinxClient::open
SphinxClient::resetFilters
SphinxClient
PHP Manual

SphinxClient::query

(PECL sphinx >= 0.1.0)

SphinxClient::query — Exécute une requête de recherche

Description

public array SphinxClient::query ( string $query [, string $index = "*" [, string $comment = "" ]] )

Se connecte au serveur searchd, exécute une requête de recherche, puis lit les résultats obtenus.

Liste de paramètres

query

La chaîne de requête.

index

Un nom d'index (ou plusieurs noms).

comment

Valeurs de retour

En cas de réussite, la fonction SphinxClient::query() retourne une liste d'occurrences, et des statistiques de requête. Le jeu de résultats est un tableau associatif avec les index suivants :

Structure du jeu de résultats
Index | Description
"matches" | Un tableau avec les identifiants de documents comme clé, et leur poids et attributs comme valeur.
"total" | Le nombre total de résultats trouvés, et lus (cela dépend de la configuration)
"total_found" | Le nombre total de document trouvés, en accord avec la requête
"words" | Un tableau de mots (avec casse standard et racine), ainsi que des statistiques de mot comme valeur
"error" | Le message d'erreur de requête, tel de signalé par searchd
"warning" | L'alerte, rapportée par searchd

Voir aussi

  • SphinxClient::runQueries
  • SphinxClient::addQuery

SphinxClient::open
SphinxClient::resetFilters
SphinxClient


Supprime tous les filtres

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient
PHP Manual

SphinxClient::resetFilters

(PECL sphinx >= 0.1.0)

SphinxClient::resetFilters — Supprime tous les filtres

Description

public void SphinxClient::resetFilters ( void )

Supprime tous les filtres courant. Cet appel est normalement nécessaire quand vous utilisez des requêtes multiples. Vous pouvez configurer différents filtres pour différentes requêtes d'un jeu de requêtes. Pour cela, vous devez appeler SphinxClient::resetFilters() et ajouter les nouveaux filtres à chaque appel.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SphinxClient::resetGroupBy

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient


Supprime toutes les configurations de regroupement

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient
PHP Manual

SphinxClient::resetGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::resetGroupBy — Supprime toutes les configurations de regroupement

Description

public void SphinxClient::resetGroupBy ( void )

Supprime toutes les directives de regroupement et désactive les regroupements. Cet appel est normalement uniquement nécessaire quand vous utilisez des requêtes multiples.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SphinxClient::resetGroupBy

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient


Exécute une série de requêtes de recherche

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient
PHP Manual

SphinxClient::runQueries

(PECL sphinx >= 0.1.0)

SphinxClient::runQueries — Exécute une série de requêtes de recherche

Description

public array SphinxClient::runQueries ( void )

Se connecte à searchd, exécute une série de requêtes avec SphinxClient::addQuery, obtient et retourne un jeu de résultats.

Valeurs de retour

Retourne FALSE en cas d'échec, et un tableau de résultats sinon.

Voir aussi

  • SphinxClient::addQuery
  • SphinxClient::query

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient


Change le format du tableau de résultats

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient
PHP Manual

SphinxClient::setArrayResult

(PECL sphinx >= 0.1.0)

SphinxClient::setArrayResult — Change le format du tableau de résultats

Description

public bool SphinxClient::setArrayResult ( bool $array_result = false )

Contrôle le format du jeu de résultats : si les résultats doivent être retournés sous forme de tableau numérique ou associatif.

Liste de paramètres

array_result

Si array_result est FALSE, les résultats sont retournés sous forme de tableau associatif, avec les identifiants de documents sous forme de clé, et les autres informations (poids, attributs) comme valeurs. Si array_result vaut TRUE, les résultats sont retournés sous forme d'un tableau numérique, comprenant aussi les informations d'identification.

Valeurs de retour

Retourne toujours TRUE.

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient


Configure le délai d'expiration de connexion

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient
PHP Manual

SphinxClient::setConnectTimeout

(PECL sphinx >= 0.1.0)

SphinxClient::setConnectTimeout — Configure le délai d'expiration de connexion

Description

public bool SphinxClient::setConnectTimeout ( float $timeout )

Configure le délai d'expiration de connexion (en secondes) pour une connexion à searchd.

Liste de paramètres

timeout

Délai en secondes.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setMaxQueryTime

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient


Configure le poids des champs

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient
PHP Manual

SphinxClient::setFieldWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setFieldWeights — Configure le poids des champs

Description

public bool SphinxClient::setFieldWeights ( array $weights )

Donne un poids différent à chaque champ.

Le calcul de la pertinence peut être affecté par les poids de chaque champ. Voyez la » documentation Sphinx pour une explication sur la modification du classement. Cet appel vous permet de spécifier des valeurs différente de celles par défaut pour les poids dans les recherches en texte intégral.

Le poids doit être un entier de 32 bits : veillez à ne pas être bloqués par la limite de ces entiers. Le poids final est aussi un entier de 32 bits. Le poids par défaut est 1. Les champs inconnus sont ignorés.

Liste de paramètres

weights

Un tableau associatif de noms de champ et leur poids.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setIndexWeights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient


Ajoute un nouveau filtre entier

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient
PHP Manual

SphinxClient::setFilter

(PECL sphinx >= 0.1.0)

SphinxClient::setFilter — Ajoute un nouveau filtre entier

Description

public bool SphinxClient::setFilter ( string $attribute , array $values [, bool $exclude = false ] )

Ajoute un nouveau filtre entier à la liste des filtres courante.

Liste de paramètres

attribute

Un nom d'attribut.

values

Un tableau de valeurs entières.

exclude

S'il vaut TRUE, les documents sont exclus du résultat.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::resetFilters

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient


Ajoute un nouveau filtre décimal

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient
PHP Manual

SphinxClient::setFilterFloatRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterFloatRange — Ajoute un nouveau filtre décimal

Description

public bool SphinxClient::setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] )

Ajoute un nouveau filtre décimal à la liste des filtres en cours. Seul les documents qui ont une valeur attribute dans leur index, dont la valeur est entre min et max (y compris les valeurs égales exactement à min et max) seront acceptées (ou rejetées, si exclude vaut TRUE).

Liste de paramètres

attribute

Un nom d'attribut.

min

Valeur minimale.

max

Valeur maximale.

exclude

Si cette option vaut TRUE, les documents associés seront exclus de la liste de résultats.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient


Ajoute un nouveau filtre d'intervalle

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient
PHP Manual

SphinxClient::setFilterRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterRange — Ajoute un nouveau filtre d'intervalle

Description

public bool SphinxClient::setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] )

Ajoute un nouveau filtre entier à la liste des filtres en court. Seul les documents qui ont une valeur attribute dans leur index, dont la valeur est entre min et max (y compris les valeurs égales exactement à min et max) seront acceptées (ou rejetées, si exclude vaut TRUE).

Liste de paramètres

attribute

Un nom d'attribut.

min

Valeur minimale.

max

Valeur maximale.

exclude

Si cette option vaut TRUE, les documents associés seront exclus de la liste de résultats.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient


Configure le point d'origine pour les calculs géographiques

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient
PHP Manual

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchor — Configure le point d'origine pour les calculs géographiques

Description

public bool SphinxClient::setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )

Configure le point d'origine pour les calculs géographiques.

Une fois que l'origine est configurée, vous pouvez utiliser l'attribut magique "@geodist" dans vos filtres et vos expressions de tri.

Liste de paramètres

attrlat

Nom de l'attribut de latitude.

attrlong

Nom de l'attribut de longitude.

latitude

Latitude d'origine en radians.

longitude

Longitude d'origine en radians.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient


Configure les attributs de regroupement

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient
PHP Manual

SphinxClient::setGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupBy — Configure les attributs de regroupement

Description

public bool SphinxClient::setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] )

Configure les attributs de regroupement, de mode de tri de gropue, et active les regroupements.

Les fonctionnalités de regroupement sont similaires à la clause GROUP BY de SQL. Les résultats produits par cette fonction sont les mêmes que ceux de la requêtes SQL suivante : SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort.

Liste de paramètres

attribute

Une chaîne contenant le nom de l'attribut de regroupement.

func

Une constante, qui choisit la fonction appliquée au groupe de résultats, pour effectuer le regroupement.

groupsort

Une clause optionnelle qui contrôle le tri du groupe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::resetGroupBy
  • SphinxClient::setSortMode
  • SphinxClient::setGroupDistinct

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient


Configure les calculs au niveau des valeurs distinctes

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient
PHP Manual

SphinxClient::setGroupDistinct

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupDistinct — Configure les calculs au niveau des valeurs distinctes

Description

public bool SphinxClient::setGroupDistinct ( string $attribute )

Configure les attributs pour les valeurs dans les regroupements distincts. Uniquement utilisable dans les requêtes de regroupement. Pour chaque groupe, toutes les valeurs de attribute sont stockées, puis leur nombre de leur valeurs distinctes sont calculées et retournées au client. Cette fonction est similaire à la clause COUNT(DISTINCT) en SQL.

Liste de paramètres

attribute

Une chaîne contenant un nom d'attribut de regroupement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setSortMode
  • SphinxClient::setGroupBy
  • SphinxClient::resetGroupBy

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient


Configure l'intervalle de validité des identifiants de document

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient
PHP Manual

SphinxClient::setIDRange

(PECL sphinx >= 0.1.0)

SphinxClient::setIDRange — Configure l'intervalle de validité des identifiants de document

Description

public bool SphinxClient::setIDRange ( int $min , int $max )

Configure l'intervalle de validité des identifiants de document. Par défaut, l'intervalle est de 0 à 0, c'est à dire sans limite. Seuls, les documents qui ont un identifiant entre les valeurs min et max (incluant les identifiants égaux exactements à min et max) seront retournés.

Liste de paramètres

min

Valeur minimale d'identifiant.

max

Valeur maximale d'identifiant.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient


Configure les poids de chaque index

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient
PHP Manual

SphinxClient::setIndexWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setIndexWeights — Configure les poids de chaque index

Description

public bool SphinxClient::setIndexWeights ( array $weights )

Configure les poids de chaque index, et active ces poids pour calculer la pertinence à travers les index.

Liste de paramètres

weights

Un tableau associatif avec les noms des index comme clé, et les poids comme valeur. Par défaut, un tableau vide correspond à la désactivation des poids d'index.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient


Configure l'offset et la limite du résultat

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient
PHP Manual

SphinxClient::setLimits

(PECL sphinx >= 0.1.0)

SphinxClient::setLimits — Configure l'offset et la limite du résultat

Description

public bool SphinxClient::setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] )

Configure l'offset du résultat et la quantité de résultats à retourner au client à partir de cette position (avec l'argument limit). Peut aussi controler la taille maximale du jeu de résultats de la requête avec le paramètre max_matches, et le seuil minimum de résultats avec cutoff.

Liste de paramètres

offset

L'offset dans le résultat.

limit

Le nombre de résultats à retenir.

max_matches

Contrôle le nombre de résultats que searchd va conserver en RAM durant la recherche.

cutoff

Utilisé pour des contrôles avancés de performances. Il indique à searchd d'arrêter sa recherche lorsque cutoff ont été trouvés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient


Configure le mode de recherche en texte intégral

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient
PHP Manual

SphinxClient::setMatchMode

(PECL sphinx >= 0.1.0)

SphinxClient::setMatchMode — Configure le mode de recherche en texte intégral

Description

public bool SphinxClient::setMatchMode ( int $mode )

Configure le mode de recherche en texte intégral. mode est une des constantes listées ci-dessous :

Modes de recherche
Constante | Description
SPH_MATCH_ALL | Recherche tous les mots de la requête (mode par défaut).
SPH_MATCH_ANY | Recherche n'importe quel mot de la requête.
SPH_MATCH_PHRASE | Recherche la requête comme une phrase.
SPH_MATCH_BOOLEAN | Recherche la requête comme une expression booléenne.
SPH_MATCH_EXTENDED | Recherche la requête comme une expression Sphinx, dans son langage interne.
SPH_MATCH_FULLSCAN | Active la recherche intégrale.
SPH_MATCH_EXTENDED2 | Identique à SPH_MATCH_EXTENDED avec le classement et la recherche par quorum en plus.

Liste de paramètres

mode

Mode de recherche.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setRankingMode
  • SphinxClient::setSortMode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient


Configure la durée maximale de recherche

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient
PHP Manual

SphinxClient::setMaxQueryTime

(PECL sphinx >= 0.1.0)

SphinxClient::setMaxQueryTime — Configure la durée maximale de recherche

Description

public bool SphinxClient::setMaxQueryTime ( int $qtime )

Configure la durée maximale de recherche.

Liste de paramètres

qtime

La durée maximale d'exécution de la requête, en millisecondes. Elle doit être un entier non-négatif. Par défaut, vaut 0, soit, aucune limite.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setMaxQueryTime

SphinxClient::setMatchMode
SphinxClient::setOverride
SphinxClient


Définit temporairement la valeur d'attribut pour un document

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient
PHP Manual

SphinxClient::setOverride

(PECL sphinx >= 1.0.3)

SphinxClient::setOverride — Définit temporairement la valeur d'attribut pour un document

Description

public bool SphinxClient::setOverride ( string $attribute , int $type , array $values )

Définit temporairement (pour une requête) la valeur d'attribut d'un document. Cette fonctionnalité vous permet d'écraser temporairement les valeurs d'attribut d'une mise à jour pour une requête, laissant toutes les autres requêtes inchangées. Ceci est utile pour personnaliser les données.

Liste de paramètres

attribute

Le nom de l'attribut.

type

Le type de l'attribut. Ne supporte que les attributs scalaires.

values

Tableau de valeurs d'attribut, qui lie les identifiants du document dont les valeurs doivent être écrasées.

Historique

Version PECL/sphinx | Description
1.0.3 | Ajout de SphinxClient::setOverride(), uniquement disponible si compilé avec libsphinxclient >= 0.9.9.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setMaxQueryTime
SphinxClient::setRankingMode
SphinxClient


Configure le mode de classement

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient
PHP Manual

SphinxClient::setRankingMode

(PECL sphinx >= 0.1.0)

SphinxClient::setRankingMode — Configure le mode de classement

Description

public bool SphinxClient::setRankingMode ( int $ranker )

Configure le mode de classement. Uniquement disponible avec le mode de recherche SPH_MATCH_EXTENDED2.

Ranking modes
Constante | Description
SPH_RANK_PROXIMITY_BM25 | Mode de classement par défaut, avec un calcul de proximité et un tri BM25.
SPH_RANK_BM25 | Mode de classement statistique, qui utilise le classement BM25 uniquement (similaire à celui de nombreux autres moteurs de recherche en texte intégral). Ce mode est plus rapide, mais peut conduire à des résultats de piètre qualité sur les requêtes qui requièrent plus d'un mot clé.
SPH_RANK_NONE | Désactive le classement. Ce mode est le plus rapide. Il est essentiellement équivalent à une recherche booléenne, avec un poids de 1 associé à chaque occurrence.

Liste de paramètres

ranker

Mode de classement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setMatchMode

SphinxClient::setOverride
SphinxClient::setRetries
SphinxClient


Configure le nombre de tentatives et le délai d'expiration

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient
PHP Manual

SphinxClient::setRetries

(PECL sphinx >= 0.1.0)

SphinxClient::setRetries — Configure le nombre de tentatives et le délai d'expiration

Description

public bool SphinxClient::setRetries ( int $count [, int $delay = 0 ] )

Configure le nombre de tentatives et le délai d'expiration.

En cas d'indisponibilité temporaire, searchd tente de se reconnecter count fois par agent. delay est le délai d'attente entre chaque tentative, exprimé en millisecondes. Les tentatives sont désactivées par défaut. Notez que cet appel ne va pas forcer l'API à effectuer de multiples tentatives en cas d'échec : c'est searchd qui le fera.

Liste de paramètres

count

Le nombre de tentatives.

delay

Le délai entre les tentatives, en millisecondes.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setRankingMode
SphinxClient::setSelect
SphinxClient


Définit une clause à la sélection

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient
PHP Manual

SphinxClient::setSelect

(PECL sphinx >= 1.0.1)

SphinxClient::setSelect — Définit une clause à la sélection

Description

public bool SphinxClient::setSelect ( string $clause )

Définit la clause de sélection, liste les attributs à récupérer ainsi que les expressions pour exécution et récupération.

Liste de paramètres

clause

Clause sous la forme SQL.

Historique

Version PECL/sphinx | Description
1.0.1 | Ajout de SphinxClient::setSelect(), disponible uniquement si compilé avec libsphinxclient >= 0.9.9.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setRetries
SphinxClient::setServer
SphinxClient


Configure l'hôte et le port searchd

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient
PHP Manual

SphinxClient::setServer

(PECL sphinx >= 0.1.0)

SphinxClient::setServer — Configure l'hôte et le port searchd

Description

public bool SphinxClient::setServer ( string $server , int $port )

Configure l'hôte et le port searchd. Toutes les requêtes suivantes seront envoyées au nouvel hôte. Par défaut, l'hôte et le port sont 'localhost' et 3312, respectivement.

Liste de paramètres

server

IP ou nom d'hôte.

port

Numéro de port.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SphinxClient::setSelect
SphinxClient::setSortMode
SphinxClient


Configure le mode de tri

SphinxClient::setServer
SphinxClient::status
SphinxClient
PHP Manual

SphinxClient::setSortMode

(PECL sphinx >= 0.1.0)

SphinxClient::setSortMode — Configure le mode de tri

Description

public bool SphinxClient::setSortMode ( int $mode [, string $sortby ] )

Configure le mode de tri. Les modes possibles sont listés ci-dessous.

Sorting modes
Constante | Description
SPH_SORT_RELEVANCE | Tri par pertinence, en ordre décroissant (meilleures occurences en premier).
SPH_SORT_ATTR_DESC | Tri par un attribut, en ordre décroissant (plus grandes valeurs en premier).
SPH_SORT_ATTR_ASC | Tri par un attribut, en ordre croissant (plus petites valeurs en premier).
SPH_SORT_TIME_SEGMENTS | Tri par segment de temps (dernière heure, jour, semaine, mois), en ordre descendant, et par pertinence en ordre décroissant.
SPH_SORT_EXTENDED | Tri par combinaison de colonnes, comme en SQL.
SPH_SORT_EXPR | Tri par expression arithmétique.

Liste de paramètres

mode

Mode de tri.

sortby

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • SphinxClient::setMatchMode
  • SphinxClient::setSortMode

SphinxClient::setServer
SphinxClient::status
SphinxClient


Récupère le statut de searchd

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient
PHP Manual

SphinxClient::status

(PECL sphinx >= 1.0.3)

SphinxClient::status — Récupère le statut de searchd

Description

public array SphinxClient::status ( void )

Récupère le statut de searchd, et retourne un tableau contenant les paires noms/valeurs des variables représentant le statut.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Historique

Version PECL/sphinx | Description
1.0.3 | Ajout de SphinxClient::status(), uniquement disponible si compilé avec libsphinxclient >= 0.9.9.

Valeurs de retour

Retourne un tableau associatif contenant les statistiques du serveur de recherche, ou FALSE si une erreur survient.

SphinxClient::setSortMode
SphinxClient::updateAttributes
SphinxClient


Modifie les attributs d'un document

SphinxClient::status
Swish
SphinxClient
PHP Manual

SphinxClient::updateAttributes

(PECL sphinx >= 0.1.0)

SphinxClient::updateAttributes — Modifie les attributs d'un document

Description

public int SphinxClient::updateAttributes ( string $index , array $attributes , array $values )

Moifie un attribut dans un document.

Liste de paramètres

index

Le nom de l'index à modifier.

attributes

Un tableau de noms d'attributs, qui liste les attributs qui doivent être modifiées.

values

Un tableau associatif contenant les identifiants de documents comme clé, et un tableau d'attribut avec le nom des attributs et leur valeur.

Valeurs de retour

Retourne le nombre de documents réellement modifiées (0 ou plus), en cas de succès, et FALSE on failure.

SphinxClient::status
Swish
SphinxClient


Indexation Swish

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation simple
  • Fonctions Swish
    • Swish::__construct — Construit un objet Swish
    • Swish->getMetaList — Récupère la liste de méta-données de l'index
    • Swish->getPropertyList — Récupère la liste de propriétés pour un index
    • Swish->prepare — Prépare une requête de recherche
    • Swish->query — Exécute une requête et retourne un objet de résultats
    • SwishResult->getMetaList — Récupère une liste de méta-données
    • SwishResult->stem — Tronque le mot donné
    • SwishResults->getParsedWords — Récupère un tableau de mots analysés
    • SwishResults->getRemovedStopwords — Récupère un tableau de mots non significatifs supprimés de la requête
    • SwishResults->nextResult — Récupère le prochain résultat de la recherche
    • SwishResults->seekResult — Spécifie le pointeur de recherche à une position donnée
    • SwishSearch->execute — Exécute la recherche et récupère les résultats
    • SwishSearch->resetLimit — Réinitialise les limites de recherche
    • SwishSearch->setLimit — Spécifie les limites de recherche
    • SwishSearch->setPhraseDelimiter — Spécifie le délimiteur de phrase
    • SwishSearch->setSort — Spécifie l'ordre
    • SwishSearch->setStructure — Spécifie le flag de structure dans l'objet de recherche
SphinxClient::updateAttributes
Introduction
Extensions spécifiques aux moteurs de recherche


Introduction

L'extension swish fournit la liaison avec l'API Swish-e. Swish-e est l'acronyme de "Simple Web Indexing System for Humans - Enhanced". Il s'agit d'un programme de code source libre pour l'indexation et la recherche. Swish-e lui-même est régi par la licence GPL, mais utilise une clause qui permet aux applications de se lier à la bibliothèque si chaque copie de travail est accompagnée par l'URL de Swish-e code source. Ce lien est : » http://swish-e.org.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Swish
Installation/Configuration
Swish


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Swish


Pré-requis

PECL/swish requiert PHP 5.1.3 ou plus récent.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/swish.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Swish::META_TYPE_UNDEF (entier)
Swish::META_TYPE_STRING (entier)
Swish::META_TYPE_ULONG (entier)
Swish::META_TYPE_DATE (entier)
Swish::IN_FILE_BIT (entier)
Swish::IN_TITLE_BIT (entier)
Swish::IN_HEAD_BIT (entier)
Swish::IN_BODY_BIT (entier)
Swish::IN_COMMENTS_BIT (entier)
Swish::IN_HEADER_BIT (entier)
Swish::IN_EMPHASIZED_BIT (entier)
Swish::IN_META_BIT (entier)
Swish::IN_FILE (entier)
Swish::IN_TITLE (entier)
Swish::IN_HEAD (entier)
Swish::IN_BODY (entier)
Swish::IN_COMMENTS (entier)
Swish::IN_HEADER (entier)
Swish::IN_EMPHASIZED (entier)
Swish::IN_META (entier)
Swish::IN_ALL (entier)
Types de ressources
Exemples
Swish


Exemples

Sommaire

  • Utilisation simple
Constantes pré-définies
Utilisation simple
Swish


Utilisation simple

Exemple #1 Requête de recherche simple

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test OR text");

    echo "Trouvé ", $results->hits, " résultats\n";
    while ($result = $results->nextResult()) {
        var_dump($result);
        break; //arrête après le premier résultat
    }

} catch (SwishException $e) {
    echo "Erreur : ", $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé 9 résultats
object(SwishResult)#3 (8) {
  ["swishreccount"]=>
  int(1)
  ["swishrank"]=>
  int(1000)
  ["swishfilenum"]=>
  int(10)
  ["swishdbfile"]=>
  string(13) "index.swish-e"
  ["swishdocpath"]=>
  string(23) "README.SUBMITTING_PATCH"
  ["swishtitle"]=>
  NULL
  ["swishdocsize"]=>
  int(4557)
  ["swishlastmodified"]=>
  int(1072136752)
}
Exemples
Fonctions Swish
Exemples


Fonctions Swish

Sommaire

  • Swish::__construct — Construit un objet Swish
  • Swish->getMetaList — Récupère la liste de méta-données de l'index
  • Swish->getPropertyList — Récupère la liste de propriétés pour un index
  • Swish->prepare — Prépare une requête de recherche
  • Swish->query — Exécute une requête et retourne un objet de résultats
  • SwishResult->getMetaList — Récupère une liste de méta-données
  • SwishResult->stem — Tronque le mot donné
  • SwishResults->getParsedWords — Récupère un tableau de mots analysés
  • SwishResults->getRemovedStopwords — Récupère un tableau de mots non significatifs supprimés de la requête
  • SwishResults->nextResult — Récupère le prochain résultat de la recherche
  • SwishResults->seekResult — Spécifie le pointeur de recherche à une position donnée
  • SwishSearch->execute — Exécute la recherche et récupère les résultats
  • SwishSearch->resetLimit — Réinitialise les limites de recherche
  • SwishSearch->setLimit — Spécifie les limites de recherche
  • SwishSearch->setPhraseDelimiter — Spécifie le délimiteur de phrase
  • SwishSearch->setSort — Spécifie l'ordre
  • SwishSearch->setStructure — Spécifie le flag de structure dans l'objet de recherche
Utilisation simple
Swish::__construct
Swish


Construit un objet Swish

Fonctions Swish
Swish->getMetaList
Fonctions Swish
PHP Manual

Swish::__construct

(PECL swish >= 0.1.0)

Swish::__construct — Construit un objet Swish

Description

void Swish::__construct ( string $index_names )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

index_names

La liste de fichiers d'index séparés par des espaces.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple avec Swish::__construct()

<?php

try {
    $swish = new Swish("index1 index2");
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

foreach ($swish->indexes as $index) {
    var_dump($index["name"]);
    var_dump($index["headers"]["Total Words"]);
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(6) "index1"
int(1888)
string(6) "index2"
int(2429)

Fonctions Swish
Swish->getMetaList
Fonctions Swish


Récupère la liste de méta-données de l'index

Swish::__construct
Swish->getPropertyList
Fonctions Swish
PHP Manual

Swish->getMetaList

(PECL swish >= 0.1.0)

Swish->getMetaList — Récupère la liste de méta-données de l'index

Description

array Swish->getMetaList ( string $index_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

index_name

Le nom du fichier d'index.

Valeurs de retour

Retourne un tableau de méta-données pour un index donné.

Exemples

Exemple #1 Exemple simple avec Swish->getMetaList()

<?php

try {

    $swish = new Swish("index.swish-e");
    var_dump($swish->getMetaList("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  array(3) {
    ["Name"]=>
    string(12) "swishdefault"
    ["Type"]=>
    int(0)
    ["ID"]=>
    int(1)
  }
}

Swish::__construct
Swish->getPropertyList
Fonctions Swish


Récupère la liste de propriétés pour un index

Swish->getMetaList
Swish->prepare
Fonctions Swish
PHP Manual

Swish->getPropertyList

(PECL swish >= 0.1.0)

Swish->getPropertyList — Récupère la liste de propriétés pour un index

Description

array Swish->getPropertyList ( string $index_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

index_name

Le nom du fichier d'index.

Valeurs de retour

Retourne un tableau de propriétés pour un index donné.

Exemples

Exemple #1 Exemple simple avec Swish->getPropertyList()

<?php

try {

    $swish = new Swish("index.swish-e");
    $properties = $swish->getPropertyList("index.swish-e");
    foreach ($properties as $prop) {
        echo $prop["Name"],"\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

swishreccount
swishrank
swishfilenum
swishdbfile
swishdocpath
swishtitle
swishdocsize
swishlastmodified

Swish->getMetaList
Swish->prepare
Fonctions Swish


Prépare une requête de recherche

Swish->getPropertyList
Swish->query
Fonctions Swish
PHP Manual

Swish->prepare

(PECL swish >= 0.1.0)

Swish->prepare — Prépare une requête de recherche

Description

object Swish->prepare ([ string $query ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Prépare et retourne un objet de recherche que vous pouvez utiliser pour un nombre illimité de requêtes.

Liste de paramètres

query

Chaîne de requête optionnelle. La requête peut être aussi spécifiée en utilisant la méthode SwishSearch->execute().

Valeurs de retour

Retourne un objet SwishSearch.

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple simple avec Swish->prepare()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare("search query");
    $results = $search->execute();
    echo "Trouvé : ", $results->hits, " résultats\n";

    $results = $search->execute("new search");

    echo "Trouvé : ", $results->hits, " résultats\n";
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé : 2 résultats
Trouvé : 5 résultats

Swish->getPropertyList
Swish->query
Fonctions Swish


Exécute une requête et retourne un objet de résultats

Swish->prepare
SwishResult->getMetaList
Fonctions Swish
PHP Manual

Swish->query

(PECL swish >= 0.1.0)

Swish->query — Exécute une requête et retourne un objet de résultats

Description

object Swish->query ( string $query )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Une méthode rapide pour exécuter une requête avec les paramètres par défaut.

Liste de paramètres

query

Chaîne de recherche.

Valeurs de retour

Retourne un objet SwishResults.

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple simple avec Swish->query()

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test query");

    echo "Trouvé : ", $results->hits, " résultats\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé : 1 résultats

Swish->prepare
SwishResult->getMetaList
Fonctions Swish


Récupère une liste de méta-données

Swish->query
SwishResult->stem
Fonctions Swish
PHP Manual

SwishResult->getMetaList

(PECL swish >= 0.1.0)

SwishResult->getMetaList — Récupère une liste de méta-données

Description

array SwishResult->getMetaList ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Valeurs de retour

Retourne le même tableau que swish->getmetalist(), mais utilise le fichier d'index à partir la variable résultat.

Swish->query
SwishResult->stem
Fonctions Swish


Tronque le mot donné

SwishResult->getMetaList
SwishResults->getParsedWords
Fonctions Swish
PHP Manual

SwishResult->stem

(PECL swish >= 0.1.0)

SwishResult->stem — Tronque le mot donné

Description

array SwishResult->stem ( string $word )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Tronque le mot en se basant sur le mode flou utilisé pendant l'indexation. Chaque objet de résultat est lié à son index, donc les résultats sont basés sur cet index.

Liste de paramètres

word

Le mot à tronquer.

Valeurs de retour

Retourne un tableau contenant les variantes du mot tronqué (normalement qu'une seule).

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple simple avec SwishResult->stem()

<?php

try {

    $swish = new Swish("ext/swish/tests/index.swish-e");
    $results = $swish->query("testing OR others");

    if ($result = $results->nextResult()) {
        var_dump($result->stem("testing")); // les résultats dépendent de la troncature du mot dans l'index
        var_dump($result->stem("others"));
    }

} catch (SwishException $e) {
    echo "Erreur : ", $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  string(4) "test"
}
array(1) {
  [0]=>
  string(5) "other"
}

SwishResult->getMetaList
SwishResults->getParsedWords
Fonctions Swish


Récupère un tableau de mots analysés

SwishResult->stem
SwishResults->getRemovedStopwords
Fonctions Swish
PHP Manual

SwishResults->getParsedWords

(PECL swish >= 0.1.0)

SwishResults->getParsedWords — Récupère un tableau de mots analysés

Description

array SwishResults->getParsedWords ( string $index_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

indexi_name

Le nom de l'index utilisé pour initialiser l'objet Swish.

Valeurs de retour

Un tableau de mots analysés avec les mots non significatifs supprimés. La liste des mots analysés peut être utile pour mettre en évidence les termes de recherche dans les résultats.

Exemples

Exemple #1 Exemple simple avec SwishResults->getParsedWords()

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("'some characters' and numbers");

    var_dump($results->getParsedWords("index.swish-e"));
    var_dump($results->indexes[0]['parsed_words']); // même résultat de manière différente

} catch (SwishException $e) {
    echo "Erreur : ", $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}
array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}

SwishResult->stem
SwishResults->getRemovedStopwords
Fonctions Swish


Récupère un tableau de mots non significatifs supprimés de la requête

SwishResults->getParsedWords
SwishResults->nextResult
Fonctions Swish
PHP Manual

SwishResults->getRemovedStopwords

(PECL swish >= 0.1.0)

SwishResults->getRemovedStopwords — Récupère un tableau de mots non significatifs supprimés de la requête

Description

array SwishResults->getRemovedStopwords ( string $index_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

index_name

Le nom de l'index utilisé pour initialiser l'objet Swish.

Valeurs de retour

Retourne un tableau de mots non significatifs supprimés de la requête.

SwishResults->getParsedWords
SwishResults->nextResult
Fonctions Swish


Récupère le prochain résultat de la recherche

SwishResults->getRemovedStopwords
SwishResults->seekResult
Fonctions Swish
PHP Manual

SwishResults->nextResult

(PECL swish >= 0.1.0)

SwishResults->nextResult — Récupère le prochain résultat de la recherche

Description

object SwishResults->nextResult ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Valeurs de retour

Retourne le prochain objet SwishResult dans l'ensemble de résultats ou FALSE s'il n'y a plus de résultat disponible.

Exemples

Exemple #1 Exemple simple avec SwishResults->nextResult()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");
    while($result = $results->nextResult()) {
        /* faire quelque chose avec l'objet résultat */
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

SwishResults->getRemovedStopwords
SwishResults->seekResult
Fonctions Swish


Spécifie le pointeur de recherche à une position donnée

SwishResults->nextResult
SwishSearch->execute
Fonctions Swish
PHP Manual

SwishResults->seekResult

(PECL swish >= 0.1.0)

SwishResults->seekResult — Spécifie le pointeur de recherche à une position donnée

Description

int SwishResults->seekResult ( int $position )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

position

Position commençant par zéro. Ne peut être inférieur à zéro.

Valeurs de retour

Retourne la nouvelle position en cas de succès.

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple simple avec SwishResults->seekResult()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");

    var_dump($results->seekResult(0)); // ceci fonctionnera
    var_dump($results->seekResult(100)); // ceci échouera

} catch (SwishException $e) {
    echo "Erreur : ", $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(0)
Erreur : No more results

SwishResults->nextResult
SwishSearch->execute
Fonctions Swish


Exécute la recherche et récupère les résultats

SwishResults->seekResult
SwishSearch->resetLimit
Fonctions Swish
PHP Manual

SwishSearch->execute

(PECL swish >= 0.1.0)

SwishSearch->execute — Exécute la recherche et récupère les résultats

Description

object SwishSearch->execute ([ string $query ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cherche le(s) fichier(s) d'index en se basant sur les paramètres dans l'objet de recherche.

Liste de paramètres

query

La chaîne de requête est un paramètre optionnel, elle peut être aussi spécifiée en utilisant la méthode Swish->prepare(). La requête est préservée entre les exécutions, ainsi vous pouvez la paramétrer une fois, mais vous pouvez exécuter la recherche plusieurs fois.

Valeurs de retour

Retourne l'objet SwishResults.

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple simple avec SwishSearch->execute()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("query");
    echo "Trouvé lors de la première requête : ", $results->hits, " résultats\n";

    $results = $search->execute("new OR query");
    echo "Trouvé lors de la seconde requête : ", $results->hits, " résultats\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé lors de la première requête : 2 résultats
Trouvé lors de la seconde requête : 12 résultats

SwishResults->seekResult
SwishSearch->resetLimit
Fonctions Swish


Réinitialise les limites de recherche

SwishSearch->execute
SwishSearch->setLimit
Fonctions Swish
PHP Manual

SwishSearch->resetLimit

(PECL swish >= 0.1.0)

SwishSearch->resetLimit — Réinitialise les limites de recherche

Description

void SwishSearch->resetLimit ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Réinitialise les limites de recherche précédemment fixées par SwishSearch->setLimit.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple simple avec SwishSearch->resetLimit()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "Trouvé lors de la première requête : ", $results->hits, " résultats\n";

    $search->setLimit("swishdocsize", "3000", "6000"); // limite par la taille du document, entre 3000 et 6000 octets
    $results = $search->execute("time");
    echo "Trouvé lors de la seconde requête : ", $results->hits, " résultats\n";

    $search->resetLimit();
    $results = $search->execute("time");
    echo "Trouvé lors de la troisième requête : ", $results->hits, " résultats\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé lors de la première requête : 5 résultats
Trouvé lors de la seconde requête : 2 résultats
Trouvé lors de la troisième requête : 5 résultats

SwishSearch->execute
SwishSearch->setLimit
Fonctions Swish


Spécifie les limites de recherche

SwishSearch->resetLimit
SwishSearch->setPhraseDelimiter
Fonctions Swish
PHP Manual

SwishSearch->setLimit

(PECL swish >= 0.1.0)

SwishSearch->setLimit — Spécifie les limites de recherche

Description

void SwishSearch->setLimit ( string $property , string $low , string $high )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

property

Nom de la propriété du résultat de recherche.

low

La plus petite valeur de la propriété.

high

La plus grande valeur de la propriété.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Lance une SwishException en cas d'erreur.

Exemples

Exemple #1 Exemple avec SwishSearch->setLimit()

<?php
try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "Trouvé lors de la première requête : ", $results->hits, " résultats\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Résultat #", ++$i, " - ", $result->swishdocsize, " octets\n";
    }

    $search->setLimit("swishdocsize", "3000", "6000"); // limite par la taille du document, entre 3000 et 6000 octets
    $results = $search->execute("time");
    echo "Trouvé lors de la seconde requête : ", $results->hits, " résultats\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Résultat #", ++$i, " - ", $result->swishdocsize, " octets\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé lors de la première requête : 5 résultats
Résultat #1 - 4261 octets
Résultat #2 - 37937 octets
Résultat #3 - 7126 octets
Résultat #4 - 15427 octets
Résultat #5 - 4768 octets
Trouvé lors de la seconde requête : 2 résultats
Résultat #1 - 4261 octets
Résultat #2 - 4768 octets

SwishSearch->resetLimit
SwishSearch->setPhraseDelimiter
Fonctions Swish


Spécifie le délimiteur de phrase

SwishSearch->setLimit
SwishSearch->setSort
Fonctions Swish
PHP Manual

SwishSearch->setPhraseDelimiter

(PECL swish >= 0.1.0)

SwishSearch->setPhraseDelimiter — Spécifie le délimiteur de phrase

Description

void SwishSearch->setPhraseDelimiter ( string $delimiter )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

delimiter

Caractère de délimitation de phrase. Le délimiteur par défaut est le guillemet.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple simple avec SwishSearch->setPhraseDelimiter()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute('"every time"'); // recherche pour "every time"
    echo "Trouvé lors de la première requête : ", $results->hits, " résultats\n";

    $search->setPhraseDelimiter("'");
    $results = $search->execute("'every time'"); // la même requête, mais utilisant un délimiteur différent
    echo "Trouvé lors de la seconde requête : ", $results->hits, " résultats\n";

    $search->setPhraseDelimiter('"');
    $results = $search->execute("'every time'"); // recherche pour "every" et "time"
    echo "Trouvé lors de la troisième requête : ", $results->hits, " résultats\n";

    // Regardons les mots analysés
    var_dump($results->getParsedWords("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé lors de la première requête : 1 résultats
Trouvé lors de la seconde requête : 1 résultats
Trouvé lors de la troisième requête : 2 résultats
array(2) {
  [0]=>
  string(5) "every"
  [1]=>
  string(4) "time"
}

SwishSearch->setLimit
SwishSearch->setSort
Fonctions Swish


Spécifie l'ordre

SwishSearch->setPhraseDelimiter
SwishSearch->setStructure
Fonctions Swish
PHP Manual

SwishSearch->setSort

(PECL swish >= 0.1.0)

SwishSearch->setSort — Spécifie l'ordre

Description

void SwishSearch->setSort ( string $sort )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

sort

L'ordre des résultats est une chaîne de caractères contenant le nom d'une propriété de résultat combinée avec une direction ("asc" ou "desc"). Exemples : "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple simple avec SwishSearch->setSort()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "Trouvé lors de la première requête : ", $results->hits, " résultats\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Résultat #", ++$i, " - ", $result->swishdocsize, " octets\n";
    }

    $search->setSort("swishdocsize desc"); // ordonne par taille de document
    $results = $search->execute("time");
    echo "Trouvé lors de la seconde requête : ", $results->hits, " résultats\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Résultat #", ++$i, " - ", $result->swishdocsize, " octets\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé lors de la première requête : 5 résultats
Hit #1 - 4261 octets
Hit #2 - 37937 octets
Hit #3 - 7126 octets
Hit #4 - 15427 octets
Hit #5 - 4768 octets
Trouvé lors de la seconde requête : 5 résultats
Hit #1 - 37937 octets
Hit #2 - 15427 octets
Hit #3 - 7126 octets
Hit #4 - 4768 octets
Hit #5 - 4261 octets

SwishSearch->setPhraseDelimiter
SwishSearch->setStructure
Fonctions Swish


Spécifie le flag de structure dans l'objet de recherche

SwishSearch->setSort
Solr
Fonctions Swish
PHP Manual

SwishSearch->setStructure

(PECL swish >= 0.1.0)

SwishSearch->setStructure — Spécifie le flag de structure dans l'objet de recherche

Description

void SwishSearch->setStructure ( int $structure )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

structure

Le flag de structure est un masque de bit utilisé pour limiter la recherche à certaines parties de documents HTML (comme "title", "meta", "body" etc.). Ces valeurs possibles sont listées ci-dessous. Pour combiner plusieurs valeurs, utilisez l'opérateur OR, voyez l'exemple ci-dessous.

  • Swish::IN_FILE

  • Swish::IN_TITLE

  • Swish::IN_HEAD

  • Swish::IN_BODY

  • Swish::IN_COMMENTS

  • Swish::IN_HEADER

  • Swish::IN_EMPHASIZED

  • Swish::IN_META

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple simple avec SwishSearch->setStructure()

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "Trouvé lors de la première requête : ", $results->hits, " résultats\n";

    $search->setStructure(Swish::IN_TITLE|Swish::IN_HEAD); // cherche dans le title et head
    $results = $search->execute("time");
    echo "Trouvé lors de la seconde requête : ", $results->hits, " résultats\n";

    $search->setStructure(Swish::IN_ALL); //cherche dans tout le document, la valeur par défaut
    $results = $search->execute("time");
    echo "Trouvé lors de la troisième requête : ", $results->hits, " résultats\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Trouvé lors de la première requête : 5 résultats
Trouvé lors de la seconde requête : 0 résultats
Trouvé lors de la troisième requête : 5 résultats

SwishSearch->setSort
Solr
Fonctions Swish


Apache Solr

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Solr
    • solr_get_version — Retourne la version courant de l'extension Solr utilisé par Apache
  • Exemples
  • SolrUtils — La classe SolrUtils
    • SolrUtils::digestXmlResponse — Analyse une réponse XML dans un SolrObject
    • SolrUtils::escapeQueryChars — Protège une requête
    • SolrUtils::getSolrVersion — Récupère la version courant de l'extension Solr
    • SolrUtils::queryPhrase — Prépare une phrase depuis une chaîne non protégée par Lucene
  • SolrInputDocument — The SolrInputDocument class
    • SolrInputDocument::addField — Adds a field to the document
    • SolrInputDocument::clear — Resets the input document
    • SolrInputDocument::__clone — Creates a copy of a SolrDocument
    • SolrInputDocument::__construct — Constructeur
    • SolrInputDocument::deleteField — Removes a field from the document
    • SolrInputDocument::__destruct — Destructor
    • SolrInputDocument::fieldExists — Checks if a field exists
    • SolrInputDocument::getBoost — Retrieves the current boost value for the document
    • SolrInputDocument::getField — Retrieves a field by name
    • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount — Returns the number of fields in the document
    • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
    • SolrInputDocument::merge — Merges one input document into another
    • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
    • SolrInputDocument::setBoost — Sets the boost value for this document
    • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
    • SolrInputDocument::sort — Sorts the fields within the document
    • SolrInputDocument::toArray — Returns an array representation of the input document
  • SolrDocument — The SolrDocument class
    • SolrDocument::addField — Ajoute un champ au document
    • SolrDocument::clear — Efface tous les champs du document
    • SolrDocument::__clone — Crée une copie de l'objet SolrDocument
    • SolrDocument::__construct — Constructeur
    • SolrDocument::current — Récupère le champ courant
    • SolrDocument::deleteField — Efface un champ du document
    • SolrDocument::__destruct — Destructeur
    • SolrDocument::fieldExists — Vérifie si un champ existe dans le document
    • SolrDocument::__get — Accède à un champ comme une propriété
    • SolrDocument::getField — Récupère un champ par son nom
    • SolrDocument::getFieldCount — Récupère le nombre de champs du document
    • SolrDocument::getFieldNames — Récupère un tableau de noms de champs du document
    • SolrDocument::getInputDocument — Retourne un objet SolrInputDocument équivalent à l'objet
    • SolrDocument::__isset — Vérifie si un champ existe
    • SolrDocument::key — Récupère la clé courante
    • SolrDocument::merge — Fusionne la source à l'objet SolrDocument courant
    • SolrDocument::next — Déplace le pointeur interne sur le champ suivant
    • SolrDocument::offsetExists — Vérifie si un champ particulier existe
    • SolrDocument::offsetGet — Récupère un champ
    • SolrDocument::offsetSet — Ajoute un champ au document
    • SolrDocument::offsetUnset — Efface un champ
    • SolrDocument::reset — Alias de SolrDocument::clear()
    • SolrDocument::rewind — Réinitialise le pointeur interne au début
    • SolrDocument::serialize — Utilisé pour une linéarisation personnalisée
    • SolrDocument::__set — Ajoute un champ au document
    • SolrDocument::sort — Trie les champs du document
    • SolrDocument::toArray — Récupère un tableau représentant le document
    • SolrDocument::unserialize — Linéarisation personnalisée d'objets SolrDocument
    • SolrDocument::__unset — Efface un champ du document
    • SolrDocument::valid — Vérifie si la position courant interne est toujours valide
  • SolrDocumentField — The SolrDocumentField class
    • SolrDocumentField::__construct — Constructeur
    • SolrDocumentField::__destruct — Destructeur
  • SolrObject — The SolrObject class
    • SolrObject::__construct — Crée un objet Solr
    • SolrObject::__destruct — Destructeur
    • SolrObject::getPropertyNames — Récupère un tableau contenant les noms de toutes les propriétés
    • SolrObject::offsetExists — Vérifie si une propriété existe
    • SolrObject::offsetGet — Récupère une propriété
    • SolrObject::offsetSet — Définit la valeur d'une propriété
    • SolrObject::offsetUnset — Définit la valeur de la propriété
  • SolrClient — The SolrClient class
    • SolrClient::addDocument — Ajoute un document à l'index
    • SolrClient::addDocuments — Ajoute une collection d'instances SolrInputDocument à l'index
    • SolrClient::commit — Finalizes all add/deletes made to the index
    • SolrClient::__construct — Constructor for the SolrClient object
    • SolrClient::deleteById — Delete by Id
    • SolrClient::deleteByIds — Deletes by Ids
    • SolrClient::deleteByQueries — Removes all documents matching any of the queries
    • SolrClient::deleteByQuery — Deletes all documents matching the given query
    • SolrClient::__destruct — Destructor for SolrClient
    • SolrClient::getDebug — Returns the debug data for the last connection attempt
    • SolrClient::getOptions — Returns the client options set internally
    • SolrClient::optimize — Defragments the index
    • SolrClient::ping — Checks if Solr server is still up
    • SolrClient::query — Sends a query to the server
    • SolrClient::request — Sends a raw update request
    • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet — Modifie le type d'un servlet en une nouvelle valeur
    • SolrClient::threads — Vérifie le statut des threads
  • SolrResponse — The SolrResponse class
    • SolrResponse::getDigestedResponse — Récupère la réponse XML sous la forme de données PHP linéarisées
    • SolrResponse::getHttpStatus — Récupère le statut HTTP de la réponse
    • SolrResponse::getHttpStatusMessage — Récupère plus de détails sur le statut HTTP
    • SolrResponse::getRawRequest — Récupère la requête brute envpyée au serveur Solr
    • SolrResponse::getRawRequestHeaders — Récupère les en-têtes brutes de la requête envoyée au serveur Solr
    • SolrResponse::getRawResponse — Récupère la réponse brute du serveur
    • SolrResponse::getRawResponseHeaders — Récupère les en-têtes brutes de la réponse du serveur
    • SolrResponse::getRequestUrl — Récupère l'URL complète de la requête émise au serveur
    • SolrResponse::getResponse — Récupère l'objet SolrObject représentant la réponse XML du serveur
    • SolrResponse::setParseMode — Définit le mode d'analyse
    • SolrResponse::success — Vérifie si la requête au serveur a réussi
  • SolrQueryResponse — The SolrQueryResponse class
    • SolrQueryResponse::__construct — Constructeur
    • SolrQueryResponse::__destruct — Destructeur
  • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrUpdateResponse::__construct — Constructeur
    • SolrUpdateResponse::__destruct — Destructeur
  • SolrPingResponse — The SolrPingResponse class
    • SolrPingResponse::__construct — Constructeur
    • SolrPingResponse::__destruct — Destructeur
    • SolrPingResponse::getResponse — Récupère la réponse du serveur
  • SolrGenericResponse — The SolrGenericResponse class
    • SolrGenericResponse::__construct — Constructeur
    • SolrGenericResponse::__destruct — Destructeur
  • SolrParams — The SolrParams class
    • SolrParams::add — This is an alias for SolrParams::addParam
    • SolrParams::addParam — Adds a parameter to the object
    • SolrParams::get — This is an alias for SolrParams::getParam
    • SolrParams::getParam — Returns a parameter value
    • SolrParams::getParams — Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
    • SolrParams::serialize — Used for custom serialization
    • SolrParams::set — An alias of SolrParams::setParam
    • SolrParams::setParam — Sets the parameter to the specified value
    • SolrParams::toString — Returns all the name-value pair parameters in the object
    • SolrParams::unserialize — Used for custom serialization
  • SolrModifiableParams — The SolrModifiableParams class
    • SolrModifiableParams::__construct — Constructeur
    • SolrModifiableParams::__destruct — Destructeur
  • SolrQuery — The SolrQuery class
    • SolrQuery::addFacetDateField — Lie un facet.date
    • SolrQuery::addFacetDateOther — Ajoute une autre paramètre facet.date.other
    • SolrQuery::addFacetField — Ajoute un autre champ à la facette
    • SolrQuery::addFacetQuery — Ajoute une requête de facette
    • SolrQuery::addField — Spécifie quel champ doit retourner le résultat
    • SolrQuery::addFilterQuery — Spécifie un filtre de requête
    • SolrQuery::addHighlightField — Lie un hl.fl
    • SolrQuery::addMltField — Spécifie un champ à utiliser pour les similitudes
    • SolrQuery::addMltQueryField — Lie un mlt.qf
    • SolrQuery::addSortField — Utilisé pour contrôler le tri du résultat
    • SolrQuery::addStatsFacet — Récupère un sous résultat pour y trouver des valeurs d'une facette donnée
    • SolrQuery::addStatsField — Lie un paramètre stats.field
    • SolrQuery::__construct — Constructeur
    • SolrQuery::__destruct — Destructeur
    • SolrQuery::getFacet — Retourne la valeur du paramètre de facette
    • SolrQuery::getFacetDateEnd — Retourne la valeur du paramètre facet.date.end
    • SolrQuery::getFacetDateFields — Retourne tous les champs facet.date
    • SolrQuery::getFacetDateGap — Récupère la valeur du paramètre facet.date.gap
    • SolrQuery::getFacetDateHardEnd — Récupère la valeur du paramètre facet.date.hardend
    • SolrQuery::getFacetDateOther — Récupère la valeur du paramètre facet.date.other
    • SolrQuery::getFacetDateStart — Récupère la limite inférieure du premier intervalle de la date pour toutes les facettes de date pour ce champ
    • SolrQuery::getFacetFields — Récupère toutes les facettes des champs
    • SolrQuery::getFacetLimit — Récupère le nombre maximal de contraintes qui peut être retourné pour les facettes des champs
    • SolrQuery::getFacetMethod — Récupère la valeur du paramètre facet.method
    • SolrQuery::getFacetMinCount — Récupère le nombre minimal de facettes des champs qui doivent être incluses dans la réponse
    • SolrQuery::getFacetMissing — Récupère l'état courant du paramètre facet.missing
    • SolrQuery::getFacetOffset — Récupère la position dans la liste des contraintes à utiliser pour la pagination
    • SolrQuery::getFacetPrefix — Récupère le préfixe de la facette
    • SolrQuery::getFacetQueries — Récupère toutes les facettes des requêtes
    • SolrQuery::getFacetSort — Retourne le type de tri de la facette
    • SolrQuery::getFields — Récupère la liste des champs qui seront retournés dans la réponse
    • SolrQuery::getFilterQueries — Récupère un tableau de filtres de requêtes
    • SolrQuery::getHighlight — Récupère l'état du paramètre h1
    • SolrQuery::getHighlightAlternateField — Récupère le champ mis en évidence à utiliser comme champ par défaut ou comme champ de sauvegarde
    • SolrQuery::getHighlightFields — Récupère tous les champs pour lesquels Solr doit mettre en évidence un extrait
    • SolrQuery::getHighlightFormatter — Récupère le formatage utilisé pour mettre en évidence la sortie
    • SolrQuery::getHighlightFragmenter — Récupère le générateur d'extrait de texte pour la mise en évidence
    • SolrQuery::getHighlightFragsize — Retourne le nombre de caractères des fragments à considérer pour la mise en évidence
    • SolrQuery::getHighlightHighlightMultiTerm — Retourne si l'on doit activer la mise en évidence pour les intervalles/jokers/flous/préfixes des requêtes
    • SolrQuery::getHighlightMaxAlternateFieldLength — Retourne le nombre maximal de caractères du champ à retourner
    • SolrQuery::getHighlightMaxAnalyzedChars — Retourne le nombre maximal de caractères du document dans lequel les extraits seront cherchés
    • SolrQuery::getHighlightMergeContiguous — Retourne si l'on doit rassembler les fragments contigus en un seul fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars — Retourne le nombre maximal de caractères depuis un champ lors de l'utilisation d'une regex
    • SolrQuery::getHighlightRegexPattern — Récupère l'expression rationnelle utilisée pour la fragmentation
    • SolrQuery::getHighlightRegexSlop — Récupère le facteur de déviation depuis la taille du fragment idéal
    • SolrQuery::getHighlightRequireFieldMatch — Retourne si le champ ne doit être mis en évidence que si la requête correspond à un champ en particulier
    • SolrQuery::getHighlightSimplePost — Récupère le texte qui doit apparaître après le terme mise en évidence
    • SolrQuery::getHighlightSimplePre — Retourne le texte qui doit apparaître avant le terme mise en évidence
    • SolrQuery::getHighlightSnippets — Récupère le nombre maximal d'extraits mis en évidence à générer par champ
    • SolrQuery::getHighlightUsePhraseHighlighter — Récupère l'état du paramètre hl.usePhraseHighlighter
    • SolrQuery::getMlt — Retourne si les résultats MoreLikeThis doivent être activés
    • SolrQuery::getMltBoost — Retourne si la requête doit être améliorée en utilisant la pertinence des termes
    • SolrQuery::getMltCount — Récupère le nombre de documents similaires à retourner pour chaque résultat
    • SolrQuery::getMltFields — Récupère tous les champs à utiliser pour la similarité
    • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
    • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
    • SolrQuery::getQuery — Returns the main query
    • SolrQuery::getRows — Returns the maximum number of documents
    • SolrQuery::getSortFields — Returns all the sort fields
    • SolrQuery::getStart — Returns the offset in the complete result set
    • SolrQuery::getStats — Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets — Returns all the stats facets that were set
    • SolrQuery::getStatsFields — Returns all the statistics fields
    • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound — Returns the term to start at
    • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
    • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix — Returns the term prefix
    • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
    • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound — Returns the term to stop at
    • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeFacetDateField — Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField — Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
    • SolrQuery::removeField — Removes a field from the list of fields
    • SolrQuery::removeFilterQuery — Removes a filter query
    • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
    • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField — Removes one of the sort fields
    • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField — Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
    • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
    • SolrQuery::setExplainOther — Sets the explainOther common query parameter
    • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd — Maps to facet.date.end
    • SolrQuery::setFacetDateGap — Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart — Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit — Maps to facet.limit
    • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount — Maps to facet.mincount
    • SolrQuery::setFacetMissing — Maps to facet.missing
    • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
    • SolrQuery::setHighlight — Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
    • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt — Enables or disables moreLikeThis
    • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount — Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength — Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength — Sets the minimum word length
    • SolrQuery::setOmitHeader — Exclude the header from the returned results
    • SolrQuery::setQuery — Sets the search query
    • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo — Flag to show debug information
    • SolrQuery::setStart — Specifies the number of rows to skip
    • SolrQuery::setStats — Enables or disables the Stats component
    • SolrQuery::setTerms — Enables or disables the TermsComponent
    • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
    • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound — Specifies the Term to start from
    • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
    • SolrQuery::setTermsMinCount — Sets the minimum document frequency
    • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
    • SolrQuery::setTermsSort — Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound — Sets the term to stop at
    • SolrQuery::setTimeAllowed — The time allowed for search to finish
  • SolrException — The SolrException class
    • SolrException::getInternalInfo — Récupère des informations internes lorsqu'une exception a été lancée
  • SolrClientException — The SolrClientException class
    • SolrClientException::getInternalInfo — Retourne des informations internes sur l'endroit d'où est lancée l'exception
  • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalArgumentException::getInternalInfo — Retourne des informations sur l'endroit d'où l'exception a été émise
  • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrIllegalOperationException::getInternalInfo — Récupère des informations internes lorsqu'une exception a été lancée
SwishSearch->setStructure
Introduction
Extensions spécifiques aux moteurs de recherche


Introduction

The Solr extension allows you to communicate effectively with the Apache Solr server in PHP 5.

The Solr extension is an extremely fast, light-weight, feature-rich library that allows PHP developers to communicate effectively with Solr server instances.

It is compatible with both versions 1.3 and 1.4 of Apache Solr.

There are built-in tools to add documents and make updates to the solr server.

It also contains tools that allows you to build advanced queries to the server when searching for documents.

Solr
Installation/Configuration
Solr


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Solr


Pré-requis

PHP version 5.2.11 or later is required.

The libxml and curl extensions must also be enabled for the Apache Solr extension to be available.

libxml2 2.6.31 or later is required.

libcurl 7.18.0 or later is also required.

The above library versions are required and attempting to hack the code to make it compile is strongly discouraged. It will fail, possibly with errors that could be hard to debug

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/solr.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Note: The solr module can be compiled in debug mode by passing the --enable-solr-debug flag to configure
When building manually, be sure to include curl and libxml support within the build.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SOLR_MAJOR_VERSION ( integer )
SOLR_MINOR_VERSION ( integer )
SOLR_PATCH_VERSION ( integer )
SOLR_EXTENSION_VERSION ( string )

Types de ressources
Fonctions Solr
Solr


Fonctions Solr

Sommaire

  • solr_get_version — Retourne la version courant de l'extension Solr utilisé par Apache
Constantes pré-définies
solr_get_version
Solr


Retourne la version courant de l'extension Solr utilisé par Apache

Fonctions Solr
Exemples
Fonctions Solr
PHP Manual

solr_get_version

(PECL solr >= 0.9.1)

solr_get_version — Retourne la version courant de l'extension Solr utilisé par Apache

Description

string solr_get_version ( void )

Cette fonction retourne la version courante de l'extension, sous la forme d'une chaîne de caractères.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un chaîne de caractères en cas de succès, et FALSE si une erreur survient.

Erreurs / Exceptions

Cette fonction ne lance aucune erreur ni exception.

Exemples

Exemple #1 Exemple avec solr_get_version()

<?php

$solr_version = solr_get_version();

print $solr_version;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0.9.6

Voir aussi

  • SolrUtils::getSolrVersion() - Récupère la version courant de l'extension Solr

Fonctions Solr
Exemples
Fonctions Solr


Exemples

Examples of how to use the Apache Solr extension in PHP

Exemple #2 Contents of the BootStrap file

<?php

/* Domain name of the Solr server */
define('SOLR_SERVER_HOSTNAME', 'solr.example.com');

/* Whether or not to run in secure mode */
define('SOLR_SECURE', true);

/* HTTP Port to connection */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* HTTP Basic Authentication Username */
define('SOLR_SERVER_USERNAME', 'admin');

/* HTTP Basic Authentication password */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* HTTP connection timeout */
/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
define('SOLR_SERVER_TIMEOUT', 10);

/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* File name to a PEM-formatted private certificate only */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* File name to a PEM-formatted private key */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Password for PEM-formatted private key file */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Name of file holding one or more CA certificates to verify peer with*/
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Name of directory holding multiple CA certificates to verify peer with */
define('SOLR_SSL_CAPATH', 'certs/');

?>

Exemple #3 Adding a document to the index

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 446
        )

)

Exemple #4 Merging one document into another document

<?php

include "bootstrap.php";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, true);

print_r($second_doc->toArray());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)

Exemple #5 Searching for documents - SolrObject responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334456
                        )

                    [1] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334455
                        )

                    [2] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                            [id] => SOLR1000
                            [timestamp] => 2009-09-04T20:38:55.906
                        )

                )

        )

)

Exemple #6 Searching for documents - SolrDocument responses

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

$response = $query_response->getResponse();

print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 19740
                        )

                    [1] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25485
                        )

                    [2] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25052
                        )

                )

        )

)

Exemple #7 Simple TermsComponent example - basic

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

$query->setTermsField('cat');

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [electronics] => 14
                    [Lucene] => 4
                    [Software] => 4
                    [memory] => 3
                    [card] => 2
                    [connector] => 2
                    [drive] => 2
                    [graphics] => 2
                    [hard] => 2
                    [monitor] => 2
                )

        )

)

Exemple #8 Simple TermsComponent example - using a prefix

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

$query->setTermsField('cat')->setTermsPrefix($prefix);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                    [camera] => 1
                    [copier] => 1
                )

        )

)

Exemple #9 Simple TermsComponent example - specifying a minimum frequency

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

/* Return only terms with a frequency of 2 or greater */
$min_frequency = 2;

$query->setTermsField('cat')->setTermsPrefix($prefix)->setTermsMinCount($min_frequency);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 0
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                )

        )

)

Exemple #10 Simple Facet Example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2);

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
            [1] => 3
            [184] => 3
            [2] => 3
            [3200] => 3
            [400] => 3
            [500] => 3
            [ddr] => 3
            [i] => 3
            [ipod] => 3
            [memori] => 3
            [pc] => 3
            [pin] => 3
            [pod] => 3
            [sdram] => 3
            [system] => 3
            [unbuff] => 3
            [canon] => 2
            [corsair] => 2
            [drive] => 2
            [hard] => 2
            [mb] => 2
            [n] => 2
            [power] => 2
            [retail] => 2
            [video] => 2
            [x] => 2
        )

)

Exemple #11 Simple Facet Example - with optional field override for mincount

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Exemple #12 Connecting to SSL-Enabled Server

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'timeout'  => SOLR_SERVER_TIMEOUT,
    'secure'   => SOLR_SECURE,
    'ssl_cert' => SOLR_SSL_CERT_ONLY,
    'ssl_key'  => SOLR_SSL_KEY,
    'ssl_keypassword' => SOLR_SSL_KEYPASSWORD,
    'ssl_cainfo' => SOLR_SSL_CAINFO,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)
solr_get_version
SolrUtils
Solr


La classe SolrUtils

Introduction

Contient des méthodes utiles pour récupérer la version de l'extension courante et préparer les requêtes.

Contient également des méthodes pour échapper les chaînes utilisées dans les requêtes et analyser les réponses XML.

Synopsis de la classe

SolrUtils
abstract SolrUtils {
/* Méthodes */
public static SolrObject digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )
public static string escapeQueryChars ( string $str )
public static string getSolrVersion ( void )
public static string queryPhrase ( string $str )
}

Sommaire

  • SolrUtils::digestXmlResponse — Analyse une réponse XML dans un SolrObject
  • SolrUtils::escapeQueryChars — Protège une requête
  • SolrUtils::getSolrVersion — Récupère la version courant de l'extension Solr
  • SolrUtils::queryPhrase — Prépare une phrase depuis une chaîne non protégée par Lucene
Exemples
SolrUtils::digestXmlResponse
Solr


Analyse une réponse XML dans un SolrObject

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils
PHP Manual

SolrUtils::digestXmlResponse

(PECL solr >= 0.9.2)

SolrUtils::digestXmlResponse — Analyse une réponse XML dans un SolrObject

Description

public static SolrObject SolrUtils::digestXmlResponse ( string $xmlresponse [, int $parse_mode = 0 ] )

Cette méthode analyse une réponse XML depuis un serveur Apache Solr dans un SolrObject. Lance une exception SolrException si une erreur survient.

Liste de paramètres

xmlresponse

La réponse XML depuis le serveur Solr.

parse_mode

Utilisez SolrResponse::PARSE_SOLR_OBJ ou SolrResponse::PARSE_SOLR_DOC

Valeurs de retour

Retourne l'objet SolrObject représentant la réponse XML.

Si le paramètre parse_mode vaut SolrResponse::PARSE_SOLR_OBJ, les documents Solr seront analysés comme des instances SolrObject.

S'il vaut SolrResponse::PARSE_SOLR_DOC, ils seront analysés comme des instances SolrDocument.

SolrUtils
SolrUtils::escapeQueryChars
SolrUtils


Protège une requête

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils
PHP Manual

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars — Protège une requête

Description

public static string SolrUtils::escapeQueryChars ( string $str )

Le support Lucene protège les caractères spéciaux faisant partis de la syntaxe de la requête.

La liste actuelle des caractères spéciaux est :

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

Ces caractères font partis de la qyntaxe de la requête et doivent être échappés.

Liste de paramètres

str

Chaîne à protéger.

Valeurs de retour

Retourne la chaîne protégée ou FALSE si une erreur survient.

SolrUtils::digestXmlResponse
SolrUtils::getSolrVersion
SolrUtils


Récupère la version courant de l'extension Solr

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils
PHP Manual

SolrUtils::getSolrVersion

(PECL solr >= 0.9.2)

SolrUtils::getSolrVersion — Récupère la version courant de l'extension Solr

Description

public static string SolrUtils::getSolrVersion ( void )

Récupère la version courante Solr.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La version courante de l'extension Apache Solr.

SolrUtils::escapeQueryChars
SolrUtils::queryPhrase
SolrUtils


Prépare une phrase depuis une chaîne non protégée par Lucene

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils
PHP Manual

SolrUtils::queryPhrase

(PECL solr >= 0.9.2)

SolrUtils::queryPhrase — Prépare une phrase depuis une chaîne non protégée par Lucene

Description

public static string SolrUtils::queryPhrase ( string $str )

Prépare une phrase depuis une chaîne non protégée par Lucene.

Liste de paramètres

str

La phrase Lucene.

Valeurs de retour

Retourne la partie de la phrase contenue entre guillemets.

SolrUtils::getSolrVersion
SolrInputDocument
SolrUtils


The SolrInputDocument class

Introduction

This class represents a Solr document that is about to be submitted to the Solr index.

Synopsis de la classe

SolrInputDocument
final SolrInputDocument {
/* Constantes */
const integer SolrInputDocument::SORT_DEFAULT = 1 ;
const integer SolrInputDocument::SORT_ASC = 1 ;
const integer SolrInputDocument::SORT_DESC = 2 ;
const integer SolrInputDocument::SORT_FIELD_NAME = 1 ;
const integer SolrInputDocument::SORT_FIELD_VALUE_COUNT = 2 ;
const integer SolrInputDocument::SORT_FIELD_BOOST_VALUE = 4 ;
/* Méthodes */
public bool addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )
public bool clear ( void )
public void __clone ( void )
__construct ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public float getBoost ( void )
public SolrDocumentField getField ( string $fieldName )
public float getFieldBoost ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public bool merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )
public bool reset ( void )
public bool setBoost ( float $documentBoostValue )
public bool setFieldBoost ( string $fieldName , float $fieldBoostValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )
public array toArray ( void )
}

Constantes pré-définies

SolrInputDocument Class Constants

SolrInputDocument::SORT_DEFAULT

Sorts the fields in ascending order.

SolrInputDocument::SORT_ASC

Sorts the fields in ascending order.

SolrInputDocument::SORT_DESC

Sorts the fields in descending order.

SolrInputDocument::SORT_FIELD_NAME

Sorts the fields by name

SolrInputDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values.

SolrInputDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by boost value.

Sommaire

  • SolrInputDocument::addField — Adds a field to the document
  • SolrInputDocument::clear — Resets the input document
  • SolrInputDocument::__clone — Creates a copy of a SolrDocument
  • SolrInputDocument::__construct — Constructeur
  • SolrInputDocument::deleteField — Removes a field from the document
  • SolrInputDocument::__destruct — Destructor
  • SolrInputDocument::fieldExists — Checks if a field exists
  • SolrInputDocument::getBoost — Retrieves the current boost value for the document
  • SolrInputDocument::getField — Retrieves a field by name
  • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
  • SolrInputDocument::getFieldCount — Returns the number of fields in the document
  • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
  • SolrInputDocument::merge — Merges one input document into another
  • SolrInputDocument::reset — This is an alias of SolrInputDocument::clear
  • SolrInputDocument::setBoost — Sets the boost value for this document
  • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
  • SolrInputDocument::sort — Sorts the fields within the document
  • SolrInputDocument::toArray — Returns an array representation of the input document
SolrUtils::queryPhrase
SolrInputDocument::addField
Solr


Adds a field to the document

SolrInputDocument
SolrInputDocument::clear
SolrInputDocument
PHP Manual

SolrInputDocument::addField

(PECL solr >= 0.9.2)

SolrInputDocument::addField — Adds a field to the document

Description

public bool SolrInputDocument::addField ( string $fieldName , string $fieldValue [, float $fieldBoostValue = 0.0 ] )

For multi-value fields, if a valid boost value is specified, the specified value will be multiplied by the current boost value for this field.

Liste de paramètres

fieldName

The name of the field

fieldValue

The value for the field.

fieldBoostValue

The index time boost for the field. Though this cannot be negative, you can still pass values less than 1.0 but they must be greater than zero.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrInputDocument
SolrInputDocument::clear
SolrInputDocument


Resets the input document

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument
PHP Manual

SolrInputDocument::clear

(PECL solr >= 0.9.2)

SolrInputDocument::clear — Resets the input document

Description

public bool SolrInputDocument::clear ( void )

Resets the document by dropping all the fields and resets the document boost to zero.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrInputDocument::addField
SolrInputDocument::__clone
SolrInputDocument


Creates a copy of a SolrDocument

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument
PHP Manual

SolrInputDocument::__clone

(PECL solr >= 0.9.2)

SolrInputDocument::__clone — Creates a copy of a SolrDocument

Description

public void SolrInputDocument::__clone ( void )

Should not be called directly. It is used to create a deep copy of a SolrInputDocument.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Creates a new SolrInputDocument instance.

SolrInputDocument::clear
SolrInputDocument::__construct
SolrInputDocument


Constructeur

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument
PHP Manual

SolrInputDocument::__construct

(PECL solr >= 0.9.2)

SolrInputDocument::__construct — Constructeur

Description

SolrInputDocument::__construct ( void )

Constructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune.

SolrInputDocument::__clone
SolrInputDocument::deleteField
SolrInputDocument


Removes a field from the document

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument
PHP Manual

SolrInputDocument::deleteField

(PECL solr >= 0.9.2)

SolrInputDocument::deleteField — Removes a field from the document

Description

public bool SolrInputDocument::deleteField ( string $fieldName )

Removes a field from the document.

Liste de paramètres

fieldName

The name of the field.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrInputDocument::__construct
SolrInputDocument::__destruct
SolrInputDocument


Destructor

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument
PHP Manual

SolrInputDocument::__destruct

(PECL solr >= 0.9.2)

SolrInputDocument::__destruct — Destructor

Description

public void SolrInputDocument::__destruct ( void )

Destructor

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

None.

SolrInputDocument::deleteField
SolrInputDocument::fieldExists
SolrInputDocument


Checks if a field exists

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument
PHP Manual

SolrInputDocument::fieldExists

(PECL solr >= 0.9.2)

SolrInputDocument::fieldExists — Checks if a field exists

Description

public bool SolrInputDocument::fieldExists ( string $fieldName )

Checks if a field exists

Liste de paramètres

fieldName

Name of the field.

Valeurs de retour

Returns TRUE if the field was found and FALSE if it was not found.

SolrInputDocument::__destruct
SolrInputDocument::getBoost
SolrInputDocument


Retrieves the current boost value for the document

SolrInputDocument::fieldExists
SolrInputDocument::getField
SolrInputDocument
PHP Manual

SolrInputDocument::getBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getBoost — Retrieves the current boost value for the document

Description

public float SolrInputDocument::getBoost ( void )

Retrieves the current boost value for the document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns the boost value on success and FALSE on failure.

SolrInputDocument::fieldExists
SolrInputDocument::getField
SolrInputDocument


Retrieves a field by name

SolrInputDocument::getBoost
SolrInputDocument::getFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::getField

(PECL solr >= 0.9.2)

SolrInputDocument::getField — Retrieves a field by name

Description

public SolrDocumentField SolrInputDocument::getField ( string $fieldName )

Retrieves a field in the document.

Liste de paramètres

fieldName

The name of the field.

Valeurs de retour

Returns a SolrDocumentField object on success and FALSE on failure.

SolrInputDocument::getBoost
SolrInputDocument::getFieldBoost
SolrInputDocument


Retrieves the boost value for a particular field

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field

Description

public float SolrInputDocument::getFieldBoost ( string $fieldName )

Retrieves the boost value for a particular field.

Liste de paramètres

fieldName

The name of the field.

Valeurs de retour

Returns the boost value for the field or FALSE if there was an error.

SolrInputDocument::getField
SolrInputDocument::getFieldCount
SolrInputDocument


Returns the number of fields in the document

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldCount — Returns the number of fields in the document

Description

public int SolrInputDocument::getFieldCount ( void )

Returns the number of fields in the document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success ou FALSE si une erreur survient.

SolrInputDocument::getFieldBoost
SolrInputDocument::getFieldNames
SolrInputDocument


Returns an array containing all the fields in the document

SolrInputDocument::getFieldCount
SolrInputDocument::merge
SolrInputDocument
PHP Manual

SolrInputDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document

Description

public array SolrInputDocument::getFieldNames ( void )

Returns an array containing all the fields in the document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array on success and FALSE on failure.

SolrInputDocument::getFieldCount
SolrInputDocument::merge
SolrInputDocument


Merges one input document into another

SolrInputDocument::getFieldNames
SolrInputDocument::reset
SolrInputDocument
PHP Manual

SolrInputDocument::merge

(PECL solr >= 0.9.2)

SolrInputDocument::merge — Merges one input document into another

Description

public bool SolrInputDocument::merge ( SolrInputDocument $sourceDoc [, bool $overwrite = true ] )

Merges one input document into another.

Liste de paramètres

sourceDoc

The source document.

overwrite

If this is TRUE it will replace matching fields in the destination document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. In the future, this will be modified to return the number of fields in the new document.

SolrInputDocument::getFieldNames
SolrInputDocument::reset
SolrInputDocument


This is an alias of SolrInputDocument::clear

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument
PHP Manual

SolrInputDocument::reset

(PECL solr >= 0.9.2)

SolrInputDocument::reset — This is an alias of SolrInputDocument::clear

Description

public bool SolrInputDocument::reset ( void )

This is an alias of SolrInputDocument::clear

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrInputDocument::merge
SolrInputDocument::setBoost
SolrInputDocument


Sets the boost value for this document

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument
PHP Manual

SolrInputDocument::setBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setBoost — Sets the boost value for this document

Description

public bool SolrInputDocument::setBoost ( float $documentBoostValue )

Sets the boost value for this document.

Liste de paramètres

documentBoostValue

The index-time boost value for this document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrInputDocument::reset
SolrInputDocument::setFieldBoost
SolrInputDocument


Sets the index-time boost value for a field

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument
PHP Manual

SolrInputDocument::setFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field

Description

public bool SolrInputDocument::setFieldBoost ( string $fieldName , float $fieldBoostValue )

Sets the index-time boost value for a field. This replaces the current boost value for this field.

Liste de paramètres

fieldName

The name of the field.

fieldBoostValue

The index time boost value.

SolrInputDocument::setBoost
SolrInputDocument::sort
SolrInputDocument


Sorts the fields within the document

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument
PHP Manual

SolrInputDocument::sort

(PECL solr >= 0.9.2)

SolrInputDocument::sort — Sorts the fields within the document

Description

public bool SolrInputDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC ] )

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The $order_by parameter must be one of :

   * SolrInputDocument::SORT_FIELD_NAME
   * SolrInputDocument::SORT_FIELD_BOOST_VALUE
   * SolrInputDocument::SORT_FIELD_VALUE_COUNT

   The sort direction can be one of :

   * SolrInputDocument::SORT_DEFAULT
   * SolrInputDocument::SORT_ASC
   * SolrInputDocument::SORT_DESC

Liste de paramètres

sortOrderBy

The sort criteria

sortDirection

The sort direction

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrInputDocument::setFieldBoost
SolrInputDocument::toArray
SolrInputDocument


Returns an array representation of the input document

SolrInputDocument::sort
SolrDocument
SolrInputDocument
PHP Manual

SolrInputDocument::toArray

(PECL solr >= 0.9.2)

SolrInputDocument::toArray — Returns an array representation of the input document

Description

public array SolrInputDocument::toArray ( void )

Returns an array representation of the input document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array containing the fields. It returns FALSE on failure.

SolrInputDocument::sort
SolrDocument
SolrInputDocument


The SolrDocument class

Introduction

Represents a Solr document retrieved from a query response.

Synopsis de la classe

SolrDocument
final SolrDocument implements ArrayAccess , Iterator , Traversable , Serializable {
/* Constantes */
const integer SolrDocument::SORT_DEFAULT = 1 ;
const integer SolrDocument::SORT_ASC = 1 ;
const integer SolrDocument::SORT_DESC = 2 ;
const integer SolrDocument::SORT_FIELD_NAME = 1 ;
const integer SolrDocument::SORT_FIELD_VALUE_COUNT = 2 ;
const integer SolrDocument::SORT_FIELD_BOOST_VALUE = 4 ;
/* Méthodes */
public bool addField ( string $fieldName , string $fieldValue )
public bool clear ( void )
public void __clone ( void )
__construct ( void )
public SolrDocumentField current ( void )
public bool deleteField ( string $fieldName )
public void __destruct ( void )
public bool fieldExists ( string $fieldName )
public SolrDocumentField __get ( string $fieldName )
public SolrDocumentField getField ( string $fieldName )
public int getFieldCount ( void )
public array getFieldNames ( void )
public SolrInputDocument getInputDocument ( void )
public bool __isset ( string $fieldName )
public string key ( void )
public bool merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )
public void next ( void )
public bool offsetExists ( string $fieldName )
public SolrDocumentField offsetGet ( string $fieldName )
public void offsetSet ( string $fieldName , string $fieldValue )
public void offsetUnset ( string $fieldName )
public bool reset ( void )
public void rewind ( void )
public string serialize ( void )
public bool __set ( string $fieldName , string $fieldValue )
public bool sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )
public array toArray ( void )
public void unserialize ( string $serialized )
public bool __unset ( string $fieldName )
public bool valid ( void )
}

Constantes pré-définies

SolrDocument Node Types

SolrDocument::SORT_DEFAULT

Default mode for sorting fields within the document.

SolrDocument::SORT_ASC

Sorts the fields in ascending order

SolrDocument::SORT_DESC

Sorts the fields in descending order

SolrDocument::SORT_FIELD_NAME

Sorts the fields by field name.

SolrDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values in each field.

SolrDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by thier boost values.

Sommaire

  • SolrDocument::addField — Ajoute un champ au document
  • SolrDocument::clear — Efface tous les champs du document
  • SolrDocument::__clone — Crée une copie de l'objet SolrDocument
  • SolrDocument::__construct — Constructeur
  • SolrDocument::current — Récupère le champ courant
  • SolrDocument::deleteField — Efface un champ du document
  • SolrDocument::__destruct — Destructeur
  • SolrDocument::fieldExists — Vérifie si un champ existe dans le document
  • SolrDocument::__get — Accède à un champ comme une propriété
  • SolrDocument::getField — Récupère un champ par son nom
  • SolrDocument::getFieldCount — Récupère le nombre de champs du document
  • SolrDocument::getFieldNames — Récupère un tableau de noms de champs du document
  • SolrDocument::getInputDocument — Retourne un objet SolrInputDocument équivalent à l'objet
  • SolrDocument::__isset — Vérifie si un champ existe
  • SolrDocument::key — Récupère la clé courante
  • SolrDocument::merge — Fusionne la source à l'objet SolrDocument courant
  • SolrDocument::next — Déplace le pointeur interne sur le champ suivant
  • SolrDocument::offsetExists — Vérifie si un champ particulier existe
  • SolrDocument::offsetGet — Récupère un champ
  • SolrDocument::offsetSet — Ajoute un champ au document
  • SolrDocument::offsetUnset — Efface un champ
  • SolrDocument::reset — Alias de SolrDocument::clear()
  • SolrDocument::rewind — Réinitialise le pointeur interne au début
  • SolrDocument::serialize — Utilisé pour une linéarisation personnalisée
  • SolrDocument::__set — Ajoute un champ au document
  • SolrDocument::sort — Trie les champs du document
  • SolrDocument::toArray — Récupère un tableau représentant le document
  • SolrDocument::unserialize — Linéarisation personnalisée d'objets SolrDocument
  • SolrDocument::__unset — Efface un champ du document
  • SolrDocument::valid — Vérifie si la position courant interne est toujours valide
SolrInputDocument::toArray
SolrDocument::addField
Solr


Ajoute un champ au document

SolrDocument
SolrDocument::clear
SolrDocument
PHP Manual

SolrDocument::addField

(PECL solr >= 0.9.2)

SolrDocument::addField — Ajoute un champ au document

Description

public bool SolrDocument::addField ( string $fieldName , string $fieldValue )

Cette méthode ajoute un champ à l'instance SolrDocument.

Liste de paramètres

fieldName

Le nom du champ.

fieldValue

La valeur du champ.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument
SolrDocument::clear
SolrDocument


Efface tous les champs du document

SolrDocument::addField
SolrDocument::__clone
SolrDocument
PHP Manual

SolrDocument::clear

(PECL solr >= 0.9.2)

SolrDocument::clear — Efface tous les champs du document

Description

public bool SolrDocument::clear ( void )

Réinitialise l'objet courant. Efface tous les champs et réinitialise le document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::addField
SolrDocument::__clone
SolrDocument


Crée une copie de l'objet SolrDocument

SolrDocument::clear
SolrDocument::__construct
SolrDocument
PHP Manual

SolrDocument::__clone

(PECL solr >= 0.9.2)

SolrDocument::__clone — Crée une copie de l'objet SolrDocument

Description

public void SolrDocument::__clone ( void )

Crée une copie de l'objet SolrDocument. À ne pas appeler directement.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

None.

SolrDocument::clear
SolrDocument::__construct
SolrDocument


Constructeur

SolrDocument::__clone
SolrDocument::current
SolrDocument
PHP Manual

SolrDocument::__construct

(PECL solr >= 0.9.2)

SolrDocument::__construct — Constructeur

Description

SolrDocument::__construct ( void )

Construit un nouvel objet SolrDocument

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

SolrDocument::__clone
SolrDocument::current
SolrDocument


Récupère le champ courant

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument
PHP Manual

SolrDocument::current

(PECL solr >= 0.9.2)

SolrDocument::current — Récupère le champ courant

Description

public SolrDocumentField SolrDocument::current ( void )

Récupère le champ courant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le champ courant.

SolrDocument::__construct
SolrDocument::deleteField
SolrDocument


Efface un champ du document

SolrDocument::current
SolrDocument::__destruct
SolrDocument
PHP Manual

SolrDocument::deleteField

(PECL solr >= 0.9.2)

SolrDocument::deleteField — Efface un champ du document

Description

public bool SolrDocument::deleteField ( string $fieldName )

Efface un champ du document.

Liste de paramètres

fieldName

Nom du champ

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::current
SolrDocument::__destruct
SolrDocument


Destructeur

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument
PHP Manual

SolrDocument::__destruct

(PECL solr >= 0.9.2)

SolrDocument::__destruct — Destructeur

Description

public void SolrDocument::__destruct ( void )

Destructeur pour SolrDocument.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

SolrDocument::deleteField
SolrDocument::fieldExists
SolrDocument


Vérifie si un champ existe dans le document

SolrDocument::__destruct
SolrDocument::__get
SolrDocument
PHP Manual

SolrDocument::fieldExists

(PECL solr >= 0.9.2)

SolrDocument::fieldExists — Vérifie si un champ existe dans le document

Description

public bool SolrDocument::fieldExists ( string $fieldName )

Vérifie si le champ demandé est un champ valide du document.

Liste de paramètres

fieldName

Le nom du champ.

Valeurs de retour

Retourne TRUE si le champ est présent, ou FALSE sinon.

SolrDocument::__destruct
SolrDocument::__get
SolrDocument


Accède à un champ comme une propriété

SolrDocument::fieldExists
SolrDocument::getField
SolrDocument
PHP Manual

SolrDocument::__get

(PECL solr >= 0.9.2)

SolrDocument::__get — Accède à un champ comme une propriété

Description

public SolrDocumentField SolrDocument::__get ( string $fieldName )

Méthode magique pour accéder au champ comme à une propriété.

Liste de paramètres

fieldName

Le nom du champ.

Valeurs de retour

Retourne une instance SolrDocumentField.

SolrDocument::fieldExists
SolrDocument::getField
SolrDocument


Récupère un champ par son nom

SolrDocument::__get
SolrDocument::getFieldCount
SolrDocument
PHP Manual

SolrDocument::getField

(PECL solr >= 0.9.2)

SolrDocument::getField — Récupère un champ par son nom

Description

public SolrDocumentField SolrDocument::getField ( string $fieldName )

Récupère un champ par son nom.

Liste de paramètres

fieldName

Nom du champ.

Valeurs de retour

Retourne un objet SolrDocumentField en cas de succès, ou FALSE si une erreur survient.

SolrDocument::__get
SolrDocument::getFieldCount
SolrDocument


Récupère le nombre de champs du document

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument
PHP Manual

SolrDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrDocument::getFieldCount — Récupère le nombre de champs du document

Description

public int SolrDocument::getFieldCount ( void )

Récupère le nombre de champs du document. Les champs à valeur multiple sont comptés une seule fois.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier en cas de succès, FALSE sinon.

SolrDocument::getField
SolrDocument::getFieldNames
SolrDocument


Récupère un tableau de noms de champs du document

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument
PHP Manual

SolrDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrDocument::getFieldNames — Récupère un tableau de noms de champs du document

Description

public array SolrDocument::getFieldNames ( void )

Récupère un tableau de noms de champs du document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant les noms des champs du document.

SolrDocument::getFieldCount
SolrDocument::getInputDocument
SolrDocument


Retourne un objet SolrInputDocument équivalent à l'objet

SolrDocument::getFieldNames
SolrDocument::__isset
SolrDocument
PHP Manual

SolrDocument::getInputDocument

(PECL solr >= 0.9.2)

SolrDocument::getInputDocument — Retourne un objet SolrInputDocument équivalent à l'objet

Description

public SolrInputDocument SolrDocument::getInputDocument ( void )

Retourne un objet SolrInputDocument équivalent à l'objet. Utile si vous voulez re-soumettre/mettre à jour un document issue d'une requête.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet SolrInputDocument en cas de succès, et NULL si une erreur survient.

SolrDocument::getFieldNames
SolrDocument::__isset
SolrDocument


Vérifie si un champ existe

SolrDocument::getInputDocument
SolrDocument::key
SolrDocument
PHP Manual

SolrDocument::__isset

(PECL solr >= 0.9.2)

SolrDocument::__isset — Vérifie si un champ existe

Description

public bool SolrDocument::__isset ( string $fieldName )

Vérifie si un champ existe.

Liste de paramètres

fieldName

Nom du champ.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::getInputDocument
SolrDocument::key
SolrDocument


Récupère la clé courante

SolrDocument::__isset
SolrDocument::merge
SolrDocument
PHP Manual

SolrDocument::key

(PECL solr >= 0.9.2)

SolrDocument::key — Récupère la clé courante

Description

public string SolrDocument::key ( void )

Récupère la clé courante.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la clé courante.

SolrDocument::__isset
SolrDocument::merge
SolrDocument


Fusionne la source à l'objet SolrDocument courant

SolrDocument::key
SolrDocument::next
SolrDocument
PHP Manual

SolrDocument::merge

(PECL solr >= 0.9.2)

SolrDocument::merge — Fusionne la source à l'objet SolrDocument courant

Description

public bool SolrDocument::merge ( SolrDocument $sourceDoc [, bool $overwrite = true ] )

Fusionne la source à l'objet SolrDocument courant.

Liste de paramètres

sourceDoc

La source du document.

overwrite

Si vaut TRUE alors les champs dont les noms sont identiques dans le document destinataire seront écrasés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::key
SolrDocument::next
SolrDocument


Déplace le pointeur interne sur le champ suivant

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument
PHP Manual

SolrDocument::next

(PECL solr >= 0.9.2)

SolrDocument::next — Déplace le pointeur interne sur le champ suivant

Description

public void SolrDocument::next ( void )

Déplace le pointeur interne sur le champ suivant.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur retournée.

SolrDocument::merge
SolrDocument::offsetExists
SolrDocument


Vérifie si un champ particulier existe

SolrDocument::next
SolrDocument::offsetGet
SolrDocument
PHP Manual

SolrDocument::offsetExists

(PECL solr >= 0.9.2)

SolrDocument::offsetExists — Vérifie si un champ particulier existe

Description

public bool SolrDocument::offsetExists ( string $fieldName )

Vérifie si un champ particulier existe. Méthode utilisée lorsque l'objet est traité comme un tableau.

Liste de paramètres

fieldName

Le nom du champ.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::next
SolrDocument::offsetGet
SolrDocument


Récupère un champ

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument
PHP Manual

SolrDocument::offsetGet

(PECL solr >= 0.9.2)

SolrDocument::offsetGet — Récupère un champ

Description

public SolrDocumentField SolrDocument::offsetGet ( string $fieldName )

Utilisé pour récupérer un champ lorsque l'objet est traité comme un tableau.

Liste de paramètres

fieldName

Le nom du champ.

Valeurs de retour

Retourne un objet SolrDocumentField.

SolrDocument::offsetExists
SolrDocument::offsetSet
SolrDocument


Ajoute un champ au document

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument
PHP Manual

SolrDocument::offsetSet

(PECL solr >= 0.9.2)

SolrDocument::offsetSet — Ajoute un champ au document

Description

public void SolrDocument::offsetSet ( string $fieldName , string $fieldValue )

Utilisé lorsque l'objet est traité comme un tableau, pour ajouter un champ au document.

Liste de paramètres

fieldName

Le nom du champ.

fieldValue

Le valeur du champ.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::offsetGet
SolrDocument::offsetUnset
SolrDocument


Efface un champ

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument
PHP Manual

SolrDocument::offsetUnset

(PECL solr >= 0.9.2)

SolrDocument::offsetUnset — Efface un champ

Description

public void SolrDocument::offsetUnset ( string $fieldName )

Efface un champ du document.

Liste de paramètres

fieldName

Le nom du champ.

Valeurs de retour

Aucune valeur retournée.

SolrDocument::offsetSet
SolrDocument::reset
SolrDocument


Alias de SolrDocument::clear()

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument
PHP Manual

SolrDocument::reset

(PECL solr >= 0.9.2)

SolrDocument::reset — Alias de SolrDocument::clear()

Description

public bool SolrDocument::reset ( void )

Alias de SolrDocument::clear()

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::offsetUnset
SolrDocument::rewind
SolrDocument


Réinitialise le pointeur interne au début

SolrDocument::reset
SolrDocument::serialize
SolrDocument
PHP Manual

SolrDocument::rewind

(PECL solr >= 0.9.2)

SolrDocument::rewind — Réinitialise le pointeur interne au début

Description

public void SolrDocument::rewind ( void )

Réinitialise le pointeur interne au début.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur retournée.

SolrDocument::reset
SolrDocument::serialize
SolrDocument


Utilisé pour une linéarisation personnalisée

SolrDocument::rewind
SolrDocument::__set
SolrDocument
PHP Manual

SolrDocument::serialize

(PECL solr >= 0.9.2)

SolrDocument::serialize — Utilisé pour une linéarisation personnalisée

Description

public string SolrDocument::serialize ( void )

Utilisé pour une linéarisation personnalisée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères représentant le document Solr linéarisé.

SolrDocument::rewind
SolrDocument::__set
SolrDocument


Ajoute un champ au document

SolrDocument::serialize
SolrDocument::sort
SolrDocument
PHP Manual

SolrDocument::__set

(PECL solr >= 0.9.2)

SolrDocument::__set — Ajoute un champ au document

Description

public bool SolrDocument::__set ( string $fieldName , string $fieldValue )

Ajoute un champ au document. Utilisé pour définir les champs comme nouvelles propriétés.

Liste de paramètres

fieldName

Nom du champ.

fieldValue

Valeur du champ.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::serialize
SolrDocument::sort
SolrDocument


Trie les champs du document

SolrDocument::__set
SolrDocument::toArray
SolrDocument
PHP Manual

SolrDocument::sort

(PECL solr >= 0.9.2)

SolrDocument::sort — Trie les champs du document

Description

public bool SolrDocument::sort ( int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC ] )

Les champs sont triés suivant les critères spécifiés et la direction de tri

   Les champs peuvent être triés par leurs valeurs, leurs noms ou leurs nombres de valeurs.

   Le paramètre sortOrderBy peut être une constante parmi :

   * SolrDocument::SORT_FIELD_NAME
   * SolrDocument::SORT_FIELD_BOOST_VALUE
   * SolrDocument::SORT_FIELD_VALUE_COUNT

   sortDirection peut être une constante parmi :

   * SolrDocument::SORT_DEFAULT
   * SolrDocument::SORT_ASC
   * SolrDocument::SORT_DESC

   La direction par défaut est ASC.

Liste de paramètres

sortOrderBy

Le critère de tri.

sortDirection

La direction du tri.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::__set
SolrDocument::toArray
SolrDocument


Récupère un tableau représentant le document

SolrDocument::sort
SolrDocument::unserialize
SolrDocument
PHP Manual

SolrDocument::toArray

(PECL solr >= 0.9.2)

SolrDocument::toArray — Récupère un tableau représentant le document

Description

public array SolrDocument::toArray ( void )

Récupère un tableau représentant le document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau représentant le document.

Exemples

Exemple #1 Exemple avec SolrDocument::toArray

<?php

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

print_r($doc->toArray());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)

SolrDocument::sort
SolrDocument::unserialize
SolrDocument


Linéarisation personnalisée d'objets SolrDocument

SolrDocument::toArray
SolrDocument::__unset
SolrDocument
PHP Manual

SolrDocument::unserialize

(PECL solr >= 0.9.2)

SolrDocument::unserialize — Linéarisation personnalisée d'objets SolrDocument

Description

public void SolrDocument::unserialize ( string $serialized )

Linéarisation personnalisée d'objets SolrDocument.

Liste de paramètres

serialized

Une représentation XML du document.

Valeurs de retour

Aucune.

SolrDocument::toArray
SolrDocument::__unset
SolrDocument


Efface un champ du document

SolrDocument::unserialize
SolrDocument::valid
SolrDocument
PHP Manual

SolrDocument::__unset

(PECL solr >= 0.9.2)

SolrDocument::__unset — Efface un champ du document

Description

public bool SolrDocument::__unset ( string $fieldName )

Efface un champ du document lorsqu'il est accessible sous la forme d'une propriété de l'objet.

Liste de paramètres

fieldName

Le nom du champ.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrDocument::unserialize
SolrDocument::valid
SolrDocument


Vérifie si la position courant interne est toujours valide

SolrDocument::__unset
SolrDocumentField
SolrDocument
PHP Manual

SolrDocument::valid

(PECL solr >= 0.9.2)

SolrDocument::valid — Vérifie si la position courant interne est toujours valide

Description

public bool SolrDocument::valid ( void )

Vérifie si la position courant interne est toujours valide. Utilisée lors d'opérations foreach.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si la position courante n'est plus valide.

SolrDocument::__unset
SolrDocumentField
SolrDocument


The SolrDocumentField class

Introduction

This represents a field in a Solr document. All its properties are read-only.

Synopsis de la classe

SolrDocumentField
final SolrDocumentField {
/* Propriétés */
readonly public string $name ;
readonly public float $boost ;
readonly public array $values ;
/* Méthodes */
__construct ( void )
public void __destruct ( void )
}

Propriétés

name

The name of the field.

boost

The boost value for the field

values

An array of values for this field

Sommaire

  • SolrDocumentField::__construct — Constructeur
  • SolrDocumentField::__destruct — Destructeur
SolrDocument::valid
SolrDocumentField::__construct
Solr


Constructeur

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField
PHP Manual

SolrDocumentField::__construct

(PECL solr >= 0.9.2)

SolrDocumentField::__construct — Constructeur

Description

SolrDocumentField::__construct ( void )

Constructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune.

SolrDocumentField
SolrDocumentField::__destruct
SolrDocumentField


Destructeur

SolrDocumentField::__construct
SolrObject
SolrDocumentField
PHP Manual

SolrDocumentField::__destruct

(PECL solr >= 0.9.2)

SolrDocumentField::__destruct — Destructeur

Description

public void SolrDocumentField::__destruct ( void )

Destructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien.

SolrDocumentField::__construct
SolrObject
SolrDocumentField


The SolrObject class

Introduction

This is an object whose properties can also by accessed using the array syntax. All its properties are read-only.

Synopsis de la classe

SolrObject
final SolrObject implements ArrayAccess {
/* Méthodes */
__construct ( void )
public void __destruct ( void )
public array getPropertyNames ( void )
public bool offsetExists ( string $property_name )
public mixed offsetGet ( string $property_name )
public void offsetSet ( string $property_name , string $property_value )
public void offsetUnset ( string $property_name )
}

Sommaire

  • SolrObject::__construct — Crée un objet Solr
  • SolrObject::__destruct — Destructeur
  • SolrObject::getPropertyNames — Récupère un tableau contenant les noms de toutes les propriétés
  • SolrObject::offsetExists — Vérifie si une propriété existe
  • SolrObject::offsetGet — Récupère une propriété
  • SolrObject::offsetSet — Définit la valeur d'une propriété
  • SolrObject::offsetUnset — Définit la valeur de la propriété
SolrDocumentField::__destruct
SolrObject::__construct
Solr


Crée un objet Solr

SolrObject
SolrObject::__destruct
SolrObject
PHP Manual

SolrObject::__construct

(PECL solr >= 0.9.2)

SolrObject::__construct — Crée un objet Solr

Description

SolrObject::__construct ( void )

Crée un objet Solr.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

Exemples

Exemple #1 Exemple avec SolrObject::__construct

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

SolrObject
SolrObject::__destruct
SolrObject


Destructeur

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject
PHP Manual

SolrObject::__destruct

(PECL solr >= 0.9.2)

SolrObject::__destruct — Destructeur

Description

public void SolrObject::__destruct ( void )

Le destructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien.

SolrObject::__construct
SolrObject::getPropertyNames
SolrObject


Récupère un tableau contenant les noms de toutes les propriétés

SolrObject::__destruct
SolrObject::offsetExists
SolrObject
PHP Manual

SolrObject::getPropertyNames

(PECL solr >= 0.9.2)

SolrObject::getPropertyNames — Récupère un tableau contenant les noms de toutes les propriétés

Description

public array SolrObject::getPropertyNames ( void )

Récupère un tableau contenant les noms de toutes les propriétés.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau.

SolrObject::__destruct
SolrObject::offsetExists
SolrObject


Vérifie si une propriété existe

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject
PHP Manual

SolrObject::offsetExists

(PECL solr >= 0.9.2)

SolrObject::offsetExists — Vérifie si une propriété existe

Description

public bool SolrObject::offsetExists ( string $property_name )

Vérifie si une propriété existe. Cette méthode est utilisée lorsque l'objet est traité comme un tableau.

Liste de paramètres

property_name

Le nom de la propriété.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrObject::getPropertyNames
SolrObject::offsetGet
SolrObject


Récupère une propriété

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject
PHP Manual

SolrObject::offsetGet

(PECL solr >= 0.9.2)

SolrObject::offsetGet — Récupère une propriété

Description

public mixed SolrObject::offsetGet ( string $property_name )

Récupère la valeur d'une propriété. Cette méthode est utilisée lorsque l'objet est traité comme un tableau.

Liste de paramètres

property_name

Le nom de la propriété.

Valeurs de retour

Retourne la valeur de la propriété.

SolrObject::offsetExists
SolrObject::offsetSet
SolrObject


Définit la valeur d'une propriété

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject
PHP Manual

SolrObject::offsetSet

(PECL solr >= 0.9.2)

SolrObject::offsetSet — Définit la valeur d'une propriété

Description

public void SolrObject::offsetSet ( string $property_name , string $property_value )

Définit la valeur de la propriété. Cette méthode est utilisée lorsque l'objet est traité comme un tableau. Cet objet est en lecture seule. Vous ne devriez jamais utiliser cette méthode.

Liste de paramètres

property_name

Le nom de la propriété.

property_value

La nouvelle valeur.

Valeurs de retour

Rien.

SolrObject::offsetGet
SolrObject::offsetUnset
SolrObject


Définit la valeur de la propriété

SolrObject::offsetSet
SolrClient
SolrObject
PHP Manual

SolrObject::offsetUnset

(PECL solr >= 0.9.2)

SolrObject::offsetUnset — Définit la valeur de la propriété

Description

public void SolrObject::offsetUnset ( string $property_name )

Définit la valeur de la propriété. Cette méthode est utilisée lorsque l'objet est traité comme un tableau. Cet objet est en lecture seule. Vous ne devriez jamais utiliser cette méthode.

Liste de paramètres

property_name

Le nom de la propriété.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SolrObject::offsetUnset

<?php
/* ... */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

Voir aussi

  • Classname::Method

SolrObject::offsetSet
SolrClient
SolrObject


The SolrClient class

Introduction

Used to send requests to a Solr server. Currently, cloning and serialization of SolrClient instances is not supported.

Synopsis de la classe

SolrClient
final SolrClient {
/* Constantes */
const integer SolrClient::SEARCH_SERVLET_TYPE = 1 ;
const integer SolrClient::UPDATE_SERVLET_TYPE = 2 ;
const integer SolrClient::THREADS_SERVLET_TYPE = 4 ;
const integer SolrClient::PING_SERVLET_TYPE = 8 ;
const integer SolrClient::TERMS_SERVLET_TYPE = 16 ;
const string SolrClient::DEFAULT_SEARCH_SERVLET = select ;
const string SolrClient::DEFAULT_UPDATE_SERVLET = update ;
const string SolrClient::DEFAULT_THREADS_SERVLET = admin/threads ;
const string SolrClient::DEFAULT_PING_SERVLET = admin/ping ;
const string SolrClient::DEFAULT_TERMS_SERVLET = terms ;
/* Méthodes */
public SolrUpdateResponse addDocument ( SolrInputDocument $doc [, bool $allowDups = false [, int $commitWithin = 0 ]] )
public void addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )
public SolrUpdateResponse commit ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )
public __construct ( array $clientOptions )
public SolrUpdateResponse deleteById ( string $id )
public SolrUpdateResponse deleteByIds ( array $ids )
public SolrUpdateResponse deleteByQueries ( array $queries )
public SolrUpdateResponse deleteByQuery ( string $query )
public void __destruct ( void )
public string getDebug ( void )
public array getOptions ( void )
public SolrUpdateResponse optimize ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )
public SolrPingResponse ping ( void )
public SolrQueryResponse query ( SolrParams $query )
public void request ( string $raw_request )
public SolrUpdateResponse rollback ( void )
public void setResponseWriter ( string $responseWriter )
public bool setServlet ( int $type , string $value )
public void threads ( void )
}

Constantes pré-définies

SolrClient Node Types

SolrClient::SEARCH_SERVLET_TYPE

Used when updating the search servlet.

SolrClient::UPDATE_SERVLET_TYPE

Used when updating the update servlet.

SolrClient::THREADS_SERVLET_TYPE

Used when updating the threads servlet.

SolrClient::PING_SERVLET_TYPE

Used when updating the ping servlet.

SolrClient::TERMS_SERVLET_TYPE

Used when updating the terms servlet.

SolrClient::DEFAULT_SEARCH_SERVLET

This is the intial value for the search servlet.

SolrClient::DEFAULT_UPDATE_SERVLET

This is the intial value for the update servlet.

SolrClient::DEFAULT_THREADS_SERVLET

This is the intial value for the threads servlet.

SolrClient::DEFAULT_PING_SERVLET

This is the intial value for the ping servlet.

SolrClient::DEFAULT_TERMS_SERVLET

This is the intial value for the terms servlet used for the TermsComponent

Sommaire

  • SolrClient::addDocument — Ajoute un document à l'index
  • SolrClient::addDocuments — Ajoute une collection d'instances SolrInputDocument à l'index
  • SolrClient::commit — Finalizes all add/deletes made to the index
  • SolrClient::__construct — Constructor for the SolrClient object
  • SolrClient::deleteById — Delete by Id
  • SolrClient::deleteByIds — Deletes by Ids
  • SolrClient::deleteByQueries — Removes all documents matching any of the queries
  • SolrClient::deleteByQuery — Deletes all documents matching the given query
  • SolrClient::__destruct — Destructor for SolrClient
  • SolrClient::getDebug — Returns the debug data for the last connection attempt
  • SolrClient::getOptions — Returns the client options set internally
  • SolrClient::optimize — Defragments the index
  • SolrClient::ping — Checks if Solr server is still up
  • SolrClient::query — Sends a query to the server
  • SolrClient::request — Sends a raw update request
  • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
  • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
  • SolrClient::setServlet — Modifie le type d'un servlet en une nouvelle valeur
  • SolrClient::threads — Vérifie le statut des threads
SolrObject::offsetUnset
SolrClient::addDocument
Solr


Ajoute un document à l'index

SolrClient
SolrClient::addDocuments
SolrClient
PHP Manual

SolrClient::addDocument

(PECL solr >= 0.9.2)

SolrClient::addDocument — Ajoute un document à l'index

Description

public SolrUpdateResponse SolrClient::addDocument ( SolrInputDocument $doc [, bool $allowDups = false [, int $commitWithin = 0 ]] )

Cette méthode ajoute un document à l'index.

Liste de paramètres

doc

L'instance SolrInputDocument.

allowDups

Si FALSE, les doublons seront écrasés.

commitWithin

Nombre de millisecondes après lequel le document doit être valié. Disponible depuis Solr 1.4

Valeurs de retour

Retourne un objet SolrUpdateResponse et lance une exception SolrClientException si une erreur survient.

Exemples

Exemple #1 Exemple avec SolrClient::addDocument example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Voir aussi

  • SolrClient::addDocuments - Ajoute une collection d'instances SolrInputDocument à l'index

SolrClient
SolrClient::addDocuments
SolrClient


Ajoute une collection d'instances SolrInputDocument à l'index

SolrClient::addDocument
SolrClient::commit
SolrClient
PHP Manual

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Ajoute une collection d'instances SolrInputDocument à l'index

Description

public void SolrClient::addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )

Ajoute une collection de documents à l'index.

Liste de paramètres

docs

Un tableau contenant la collection d'instances SolrInputDocument. Ce tableau doit être une variable réelle.

allowDups

Si FALSE, les doublons seront écrasés.

commitWithin

Nombre de millisecondes pendant lequel le document doit être validé. Disponible depuis Solr 1.4.

Valeurs de retour

Retourne un objet SolrUpdateResponse en cas de succès, et lance une exception SolrClientException si une erreur survient.

Exemples

Exemple #1 Exemple avec SolrClient::addDocuments

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;

$doc2->deleteField('id');
$doc2->addField('id', 334456);

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs);

print_r($updateResponse->getResponse());

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Voir aussi

  • SolrClient::addDocument - Ajoute un document à l'index

SolrClient::addDocument
SolrClient::commit
SolrClient


Finalizes all add/deletes made to the index

SolrClient::addDocuments
SolrClient::__construct
SolrClient
PHP Manual

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit — Finalizes all add/deletes made to the index

Description

public SolrUpdateResponse SolrClient::commit ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )

This method finalizes all add/deletes made to the index.

Liste de paramètres

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

waitFlush

Block until index changes are flushed to disk.

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Valeurs de retour

Returns a SolrUpdateResponse object on success or throws a SolrClientException on failure.

Voir aussi

  • SolrClient::optimize - Defragments the index
  • SolrClient::rollback - Rollbacks all add/deletes made to the index since the last commit

SolrClient::addDocuments
SolrClient::__construct
SolrClient


Constructor for the SolrClient object

SolrClient::commit
SolrClient::deleteById
SolrClient
PHP Manual

SolrClient::__construct

(PECL solr >= 0.9.2)

SolrClient::__construct — Constructor for the SolrClient object

Description

public SolrClient::__construct ( array $clientOptions )

Constructor for the SolrClient object

Liste de paramètres

clientOptions

This is an array containing one of the following keys :

- secure          (Boolean value indicating whether or not to connect in secure mode)
 - hostname        (The hostname for the Solr server)
 - port            (The port number)
 - path            (The path to solr)
 - wt              (The name of the response writer e.g. xml, phpnative)
 - login           (The username used for HTTP Authentication, if any)
 - password        (The HTTP Authentication password)
 - proxy_host      (The hostname for the proxy server, if any)
 - proxy_port      (The proxy port)
 - proxy_login     (The proxy username)
 - proxy_password  (The proxy password)
 - timeout         (This is maximum time in seconds allowed for the http data transfer operation. Default is 30 seconds)
 - ssl_cert        (File name to a PEM-formatted file containing the private key + private certificate (concatenated in that order) )
 - ssl_key         (File name to a PEM-formatted private key file only)
 - ssl_keypassword (Password for private key)
 - ssl_cainfo      (Name of file holding one or more CA certificates to verify peer with)
 - ssl_capath      (Name of directory holding multiple CA certificates to verify peer with )

 Please note the if the ssl_cert file only contains the private certificate, you have to specify a separate ssl_key file

 The ssl_keypassword option is required if the ssl_cert or ssl_key options are set.

Exemples

Exemple #1 SolrClient::__construct example

<?php

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_PATH_TO_SOLR,
    'wt'       => SOLR_PHP_NATIVE_RESPONSE_WRITER,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Voir aussi

  • SolrClient::getOptions - Returns the client options set internally

SolrClient::commit
SolrClient::deleteById
SolrClient


Delete by Id

SolrClient::__construct
SolrClient::deleteByIds
SolrClient
PHP Manual

SolrClient::deleteById

(PECL solr >= 0.9.2)

SolrClient::deleteById — Delete by Id

Description

public SolrUpdateResponse SolrClient::deleteById ( string $id )

Deletes the document with the specified ID. Where ID is the value of the uniqueKey field declared in the schema

Liste de paramètres

id

The value of the uniqueKey field declared in the schema

Valeurs de retour

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Voir aussi

  • SolrClient::deleteByIds - Deletes by Ids
  • SolrClient::deleteByQuery - Deletes all documents matching the given query
  • SolrClient::deleteByQueries - Removes all documents matching any of the queries

SolrClient::__construct
SolrClient::deleteByIds
SolrClient


Deletes by Ids

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient
PHP Manual

SolrClient::deleteByIds

(PECL solr >= 0.9.2)

SolrClient::deleteByIds — Deletes by Ids

Description

public SolrUpdateResponse SolrClient::deleteByIds ( array $ids )

Deletes a collection of documents with the specified set of ids.

Liste de paramètres

ids

An array of IDs representing the uniqueKey field declared in the schema for each document to be deleted. This must be an actual php variable.

Valeurs de retour

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Voir aussi

  • SolrClient::deleteById - Delete by Id
  • SolrClient::deleteByQuery - Deletes all documents matching the given query
  • SolrClient::deleteByQueries - Removes all documents matching any of the queries

SolrClient::deleteById
SolrClient::deleteByQueries
SolrClient


Removes all documents matching any of the queries

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient
PHP Manual

SolrClient::deleteByQueries

(PECL solr >= 0.9.2)

SolrClient::deleteByQueries — Removes all documents matching any of the queries

Description

public SolrUpdateResponse SolrClient::deleteByQueries ( array $queries )

Removes all documents matching any of the queries

Liste de paramètres

queries

The array of queries. This must be an actual php variable.

Valeurs de retour

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Voir aussi

  • SolrClient::deleteById - Delete by Id
  • SolrClient::deleteByIds - Deletes by Ids
  • SolrClient::deleteByQuery - Deletes all documents matching the given query

SolrClient::deleteByIds
SolrClient::deleteByQuery
SolrClient


Deletes all documents matching the given query

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient
PHP Manual

SolrClient::deleteByQuery

(PECL solr >= 0.9.2)

SolrClient::deleteByQuery — Deletes all documents matching the given query

Description

public SolrUpdateResponse SolrClient::deleteByQuery ( string $query )

Deletes all documents matching the given query.

Liste de paramètres

query

The query

Valeurs de retour

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Voir aussi

  • SolrClient::deleteById - Delete by Id
  • SolrClient::deleteByIds - Deletes by Ids
  • SolrClient::deleteByQueries - Removes all documents matching any of the queries

SolrClient::deleteByQueries
SolrClient::__destruct
SolrClient


Destructor for SolrClient

SolrClient::deleteByQuery
SolrClient::getDebug
SolrClient
PHP Manual

SolrClient::__destruct

(PECL solr >= 0.9.2)

SolrClient::__destruct — Destructor for SolrClient

Description

public void SolrClient::__destruct ( void )

Destructor

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Destructor for SolrClient

Voir aussi

  • SolrClient::__construct - Constructor for the SolrClient object

SolrClient::deleteByQuery
SolrClient::getDebug
SolrClient


Returns the debug data for the last connection attempt

SolrClient::__destruct
SolrClient::getOptions
SolrClient
PHP Manual

SolrClient::getDebug

(PECL solr >= 0.9.7)

SolrClient::getDebug — Returns the debug data for the last connection attempt

Description

public string SolrClient::getDebug ( void )

Returns the debug data for the last connection attempt

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and null if there is nothing to return.

SolrClient::__destruct
SolrClient::getOptions
SolrClient


Returns the client options set internally

SolrClient::getDebug
SolrClient::optimize
SolrClient
PHP Manual

SolrClient::getOptions

(PECL solr >= 0.9.6)

SolrClient::getOptions — Returns the client options set internally

Description

public array SolrClient::getOptions ( void )

Returns the client options set internally. Very useful for debugging. The values returned are readonly and can only be set when the object is instantiated.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array containing all the options for the SolrClient object set internally.

Voir aussi

  • SolrClient::__construct - Constructor for the SolrClient object

SolrClient::getDebug
SolrClient::optimize
SolrClient


Defragments the index

SolrClient::getOptions
SolrClient::ping
SolrClient
PHP Manual

SolrClient::optimize

(PECL solr >= 0.9.2)

SolrClient::optimize — Defragments the index

Description

public SolrUpdateResponse SolrClient::optimize ([ int $maxSegments = "1" [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )

Defragments the index for faster search performance.

Liste de paramètres

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

waitFlush

Block until index changes are flushed to disk.

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Valeurs de retour

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Voir aussi

  • SolrClient::commit - Finalizes all add/deletes made to the index
  • SolrClient::rollback - Rollbacks all add/deletes made to the index since the last commit

SolrClient::getOptions
SolrClient::ping
SolrClient


Checks if Solr server is still up

SolrClient::optimize
SolrClient::query
SolrClient
PHP Manual

SolrClient::ping

(PECL solr >= 0.9.2)

SolrClient::ping — Checks if Solr server is still up

Description

public SolrPingResponse SolrClient::ping ( void )

Checks if the Solr server is still alive. Sends a HEAD request to the Apache Solr server.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a SolrPingResponse object on success and throws a SolrClientException on failure.

Exemples

Exemple #1 SolrClient::ping example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$pingresponse = $client->ping();

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrClient::optimize
SolrClient::query
SolrClient


Sends a query to the server

SolrClient::ping
SolrClient::request
SolrClient
PHP Manual

SolrClient::query

(PECL solr >= 0.9.2)

SolrClient::query — Sends a query to the server

Description

public SolrQueryResponse SolrClient::query ( SolrParams $query )

Sends a query to the server.

Liste de paramètres

query

A SolrParam object. It is recommended to use SolrQuery for advanced queries.

Valeurs de retour

Returns a SolrQueryResponse object on success and throws a SolrClientException object on failure.

Exemples

Exemple #1 SolrClient::query example

<?php

include "bootstrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrClient::ping
SolrClient::request
SolrClient


Sends a raw update request

SolrClient::query
SolrClient::rollback
SolrClient
PHP Manual

SolrClient::request

(PECL solr >= 0.9.2)

SolrClient::request — Sends a raw update request

Description

public void SolrClient::request ( string $raw_request )

Sends a raw XML update request to the server

Liste de paramètres

raw_request

An XML string with the raw request to the server.

Valeurs de retour

Returns a SolrUpdateResponse on success. Throws a SolrClientException on failure.

Exemples

Exemple #1 SolrClient::request example

<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$update_response = $client->request("<commit/>");

$response = $update_response->getResponse();

print_r($response);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...

SolrClient::query
SolrClient::rollback
SolrClient


Rollbacks all add/deletes made to the index since the last commit

SolrClient::request
SolrClient::setResponseWriter
SolrClient
PHP Manual

SolrClient::rollback

(PECL solr >= 0.9.2)

SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit

Description

public SolrUpdateResponse SolrClient::rollback ( void )

Rollbacks all add/deletes made to the index since the last commit. It neither calls any event listeners nor creates a new searcher.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Voir aussi

  • SolrClient::commit - Finalizes all add/deletes made to the index
  • SolrClient::optimize - Defragments the index

SolrClient::request
SolrClient::setResponseWriter
SolrClient


Sets the response writer used to prepare the response from Solr

SolrClient::rollback
SolrClient::setServlet
SolrClient
PHP Manual

SolrClient::setResponseWriter

(PECL solr >= 0.9.11)

SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr

Description

public void SolrClient::setResponseWriter ( string $responseWriter )

Sets the response writer used to prepare the response from Solr

Liste de paramètres

responseWriter

One of the following :

- xml
 - phpnative

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 SolrClient::setResponseWriter example

<?php

// This is my custom class for objects
class SolrClass
{
   public $_properties = array();

   public function __get($property_name) {

      if (property_exists($this, $property_name)) {

          return $this->$property_name;

      } else if (isset($_properties[$property_name])) {

          return $_properties[$property_name];
      }

      return null;
   }
}

$options = array
(
  'hostname' => 'localhost',
  'port' => 8983,
  'path' => '/solr/core1'
);

$client = new SolrClient($options);

// This uses the org.apache.solr.request.PHPNativeResponseWriter class on Solr
// Visit the following pages for more details
// https://issues.apache.org/jira/browse/SOLR-1967
// http://wiki.apache.org/solr/QueryResponseWriter
// http://wiki.apache.org/solr/SolPHP
$client->setResponseWriter("phpnative");

//$response = $client->ping();

$query = new SolrQuery();

$query->setQuery("*:*");

$query->set("objectClassName", "SolrClass");

$query->set("objectPropertiesStorageMode", 1); // 0 for independent properties, 1 for combined

try
{

$response = $client->query($query);

$resp = $response->getResponse();

print_r($response);

print_r($resp);

} catch (Exception $e) {

print_r($e);

}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrClient::rollback
SolrClient::setServlet
SolrClient


Modifie le type d'un servlet en une nouvelle valeur

SolrClient::setResponseWriter
SolrClient::threads
SolrClient
PHP Manual

SolrClient::setServlet

(PECL solr >= 0.9.2)

SolrClient::setServlet — Modifie le type d'un servlet en une nouvelle valeur

Description

public bool SolrClient::setServlet ( int $type , string $value )

Modifie le type d'un servlet en une nouvelle valeur.

Liste de paramètres

type

Une constante parmis :

- SolrClient::SEARCH_SERVLET_TYPE
 - SolrClient::UPDATE_SERVLET_TYPE
 - SolrClient::THREADS_SERVLET_TYPE
 - SolrClient::PING_SERVLET_TYPE
 - SolrClient::TERMS_SERVLET_TYPE

value

La nouvelle valeur du servlet

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrClient::setResponseWriter
SolrClient::threads
SolrClient


Vérifie le statut des threads

SolrClient::setServlet
SolrResponse
SolrClient
PHP Manual

SolrClient::threads

(PECL solr >= 0.9.2)

SolrClient::threads — Vérifie le statut des threads

Description

public void SolrClient::threads ( void )

Vérifie le statut des threads.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un objet SolrGenericResponse.

SolrClient::setServlet
SolrResponse
SolrClient


The SolrResponse class

Introduction

Represents a response from the Solr server.

Synopsis de la classe

SolrResponse
abstract SolrResponse {
/* Constantes */
const integer SolrResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrResponse::PARSE_SOLR_DOC = 1 ;
/* Propriétés */
protected integer $http_status ;
protected integer $parser_mode ;
protected bool $success ;
protected string $http_status_message ;
protected string $http_request_url ;
protected string $http_raw_request_headers ;
protected string $http_raw_request ;
protected string $http_raw_response_headers ;
protected string $http_raw_response ;
protected string $http_digested_response ;
/* Méthodes */
public string getDigestedResponse ( void )
public int getHttpStatus ( void )
public string getHttpStatusMessage ( void )
public string getRawRequest ( void )
public string getRawRequestHeaders ( void )
public string getRawResponse ( void )
public string getRawResponseHeaders ( void )
public string getRequestUrl ( void )
public SolrObject getResponse ( void )
public bool setParseMode ([ int $parser_mode = 0 ] )
public bool success ( void )
}

Propriétés

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request.

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server.

http_raw_response

The response message from the server.

http_digested_response

The response in PHP serialized format.

Constantes pré-définies

SolrResponse Class Constants

SolrResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Sommaire

  • SolrResponse::getDigestedResponse — Récupère la réponse XML sous la forme de données PHP linéarisées
  • SolrResponse::getHttpStatus — Récupère le statut HTTP de la réponse
  • SolrResponse::getHttpStatusMessage — Récupère plus de détails sur le statut HTTP
  • SolrResponse::getRawRequest — Récupère la requête brute envpyée au serveur Solr
  • SolrResponse::getRawRequestHeaders — Récupère les en-têtes brutes de la requête envoyée au serveur Solr
  • SolrResponse::getRawResponse — Récupère la réponse brute du serveur
  • SolrResponse::getRawResponseHeaders — Récupère les en-têtes brutes de la réponse du serveur
  • SolrResponse::getRequestUrl — Récupère l'URL complète de la requête émise au serveur
  • SolrResponse::getResponse — Récupère l'objet SolrObject représentant la réponse XML du serveur
  • SolrResponse::setParseMode — Définit le mode d'analyse
  • SolrResponse::success — Vérifie si la requête au serveur a réussi
SolrClient::threads
SolrResponse::getDigestedResponse
Solr


Récupère la réponse XML sous la forme de données PHP linéarisées

SolrResponse
SolrResponse::getHttpStatus
SolrResponse
PHP Manual

SolrResponse::getDigestedResponse

(PECL solr >= 0.9.2)

SolrResponse::getDigestedResponse — Récupère la réponse XML sous la forme de données PHP linéarisées

Description

public string SolrResponse::getDigestedResponse ( void )

Récupère la réponse XML sous la forme de données PHP linéarisées.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse XML sous la forme de données PHP linéarisées.

SolrResponse
SolrResponse::getHttpStatus
SolrResponse


Récupère le statut HTTP de la réponse

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse
PHP Manual

SolrResponse::getHttpStatus

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatus — Récupère le statut HTTP de la réponse

Description

public int SolrResponse::getHttpStatus ( void )

Récupère le statut HTTP de la réponse.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le statut HTTP de la réponse.

SolrResponse::getDigestedResponse
SolrResponse::getHttpStatusMessage
SolrResponse


Récupère plus de détails sur le statut HTTP

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse
PHP Manual

SolrResponse::getHttpStatusMessage

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatusMessage — Récupère plus de détails sur le statut HTTP

Description

public string SolrResponse::getHttpStatusMessage ( void )

Récupère plus de détails sur le statut HTTP.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne plus de détails sur le statut HTTP.

SolrResponse::getHttpStatus
SolrResponse::getRawRequest
SolrResponse


Récupère la requête brute envpyée au serveur Solr

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse
PHP Manual

SolrResponse::getRawRequest

(PECL solr >= 0.9.2)

SolrResponse::getRawRequest — Récupère la requête brute envpyée au serveur Solr

Description

public string SolrResponse::getRawRequest ( void )

Récupère la requête brute envpyée au serveur Solr.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la requête brute envpyée au serveur Solr.

SolrResponse::getHttpStatusMessage
SolrResponse::getRawRequestHeaders
SolrResponse


Récupère les en-têtes brutes de la requête envoyée au serveur Solr

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse
PHP Manual

SolrResponse::getRawRequestHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawRequestHeaders — Récupère les en-têtes brutes de la requête envoyée au serveur Solr

Description

public string SolrResponse::getRawRequestHeaders ( void )

Récupère les en-têtes brutes de la requête envoyée au serveur Solr.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les en-têtes brutes de la requête envoyée au serveur Solr.

SolrResponse::getRawRequest
SolrResponse::getRawResponse
SolrResponse


Récupère la réponse brute du serveur

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse
PHP Manual

SolrResponse::getRawResponse

(PECL solr >= 0.9.2)

SolrResponse::getRawResponse — Récupère la réponse brute du serveur

Description

public string SolrResponse::getRawResponse ( void )

Récupère la réponse brute du serveur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne la réponse brute du serveur.

SolrResponse::getRawRequestHeaders
SolrResponse::getRawResponseHeaders
SolrResponse


Récupère les en-têtes brutes de la réponse du serveur

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse
PHP Manual

SolrResponse::getRawResponseHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawResponseHeaders — Récupère les en-têtes brutes de la réponse du serveur

Description

public string SolrResponse::getRawResponseHeaders ( void )

Récupère les en-têtes brutes de la réponse du serveur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne les en-têtes brutes de la réponse du serveur.

SolrResponse::getRawResponse
SolrResponse::getRequestUrl
SolrResponse


Récupère l'URL complète de la requête émise au serveur

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse
PHP Manual

SolrResponse::getRequestUrl

(PECL solr >= 0.9.2)

SolrResponse::getRequestUrl — Récupère l'URL complète de la requête émise au serveur

Description

public string SolrResponse::getRequestUrl ( void )

Récupère l'URL complète de la requête émise au serveur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'URL complète de la requête émise au serveur.

SolrResponse::getRawResponseHeaders
SolrResponse::getResponse
SolrResponse


Récupère l'objet SolrObject représentant la réponse XML du serveur

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse
PHP Manual

SolrResponse::getResponse

(PECL solr >= 0.9.2)

SolrResponse::getResponse — Récupère l'objet SolrObject représentant la réponse XML du serveur

Description

public SolrObject SolrResponse::getResponse ( void )

Récupère l'objet SolrObject représentant la réponse XML du serveur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'objet SolrObject représentant la réponse XML du serveur.

SolrResponse::getRequestUrl
SolrResponse::setParseMode
SolrResponse


Définit le mode d'analyse

SolrResponse::getResponse
SolrResponse::success
SolrResponse
PHP Manual

SolrResponse::setParseMode

(PECL solr >= 0.9.2)

SolrResponse::setParseMode — Définit le mode d'analyse

Description

public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )

Définit le mode d'analyse.

Liste de paramètres

parser_mode

SolrResponse::PARSE_SOLR_DOC analyse les documents avec SolrDocument. SolrResponse::PARSE_SOLR_OBJ analyse les documents avec SolrObjects.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

SolrResponse::getResponse
SolrResponse::success
SolrResponse


Vérifie si la requête au serveur a réussi

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse
PHP Manual

SolrResponse::success

(PECL solr >= 0.9.2)

SolrResponse::success — Vérifie si la requête au serveur a réussi

Description

public bool SolrResponse::success ( void )

Vérifie si la requête au serveur a réussi.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne TRUE si la requête a réussi, FALSE sinon.

SolrResponse::setParseMode
SolrQueryResponse
SolrResponse


The SolrQueryResponse class

Introduction

Represents a response to a query request.

Synopsis de la classe

SolrQueryResponse
final SolrQueryResponse extends SolrResponse {
/* Constantes */
const integer SolrQueryResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrQueryResponse::PARSE_SOLR_DOC = 1 ;
/* Propriétés */
/* Méthodes */
__construct ( void )
public void __destruct ( void )
/* Méthodes héritées */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Propriétés

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Constantes pré-définies

SolrQueryResponse Class constants

SolrQueryResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrQueryResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Sommaire

  • SolrQueryResponse::__construct — Constructeur
  • SolrQueryResponse::__destruct — Destructeur
SolrResponse::success
SolrQueryResponse::__construct
Solr


Constructeur

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse
PHP Manual

SolrQueryResponse::__construct

(PECL solr >= 0.9.2)

SolrQueryResponse::__construct — Constructeur

Description

SolrQueryResponse::__construct ( void )

Constructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrQueryResponse
SolrQueryResponse::__destruct
SolrQueryResponse


Destructeur

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse
PHP Manual

SolrQueryResponse::__destruct

(PECL solr >= 0.9.2)

SolrQueryResponse::__destruct — Destructeur

Description

public void SolrQueryResponse::__destruct ( void )

Destructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrQueryResponse::__construct
SolrUpdateResponse
SolrQueryResponse


The SolrUpdateResponse class

Introduction

Represents a response to an update request.

Synopsis de la classe

SolrUpdateResponse
final SolrUpdateResponse extends SolrResponse {
/* Constantes */
const integer SolrUpdateResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrUpdateResponse::PARSE_SOLR_DOC = 1 ;
/* Propriétés */
/* Méthodes */
__construct ( void )
public void __destruct ( void )
/* Méthodes héritées */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Propriétés

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Constantes pré-définies

SolrUpdateResponse Class Constants

SolrUpdateResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrUpdateResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Sommaire

  • SolrUpdateResponse::__construct — Constructeur
  • SolrUpdateResponse::__destruct — Destructeur
SolrQueryResponse::__destruct
SolrUpdateResponse::__construct
Solr


Constructeur

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__construct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__construct — Constructeur

Description

SolrUpdateResponse::__construct ( void )

Constructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrUpdateResponse
SolrUpdateResponse::__destruct
SolrUpdateResponse


Destructeur

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse
PHP Manual

SolrUpdateResponse::__destruct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__destruct — Destructeur

Description

public void SolrUpdateResponse::__destruct ( void )

Destructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrUpdateResponse::__construct
SolrPingResponse
SolrUpdateResponse


The SolrPingResponse class

Introduction

Represents a response to a ping request to the server

Synopsis de la classe

SolrPingResponse
final SolrPingResponse extends SolrResponse {
/* Constantes */
const integer SolrPingResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrPingResponse::PARSE_SOLR_DOC = 1 ;
/* Propriétés */
/* Méthodes */
__construct ( void )
public void __destruct ( void )
public string getResponse ( void )
/* Méthodes héritées */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Propriétés

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Constantes pré-définies

SolrPingResponse Class Constants

SolrPingResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrPingResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Sommaire

  • SolrPingResponse::__construct — Constructeur
  • SolrPingResponse::__destruct — Destructeur
  • SolrPingResponse::getResponse — Récupère la réponse du serveur
SolrUpdateResponse::__destruct
SolrPingResponse::__construct
Solr


Constructeur

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse
PHP Manual

SolrPingResponse::__construct

(PECL solr >= 0.9.2)

SolrPingResponse::__construct — Constructeur

Description

SolrPingResponse::__construct ( void )

Constructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrPingResponse
SolrPingResponse::__destruct
SolrPingResponse


Destructeur

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse
PHP Manual

SolrPingResponse::__destruct

(PECL solr >= 0.9.2)

SolrPingResponse::__destruct — Destructeur

Description

public void SolrPingResponse::__destruct ( void )

Destructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrPingResponse::__construct
SolrPingResponse::getResponse
SolrPingResponse


Récupère la réponse du serveur

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse
PHP Manual

SolrPingResponse::getResponse

(PECL solr >= 0.9.2)

SolrPingResponse::getResponse — Récupère la réponse du serveur

Description

public string SolrPingResponse::getResponse ( void )

Récupère la réponse du serveur. Normalement, la réponse devrait être vide car la requête est de type HEAD.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne vide.

SolrPingResponse::__destruct
SolrGenericResponse
SolrPingResponse


The SolrGenericResponse class

Introduction

Represents a response from the solr server.

Synopsis de la classe

SolrGenericResponse
final SolrGenericResponse extends SolrResponse {
/* Constantes */
const integer SolrGenericResponse::PARSE_SOLR_OBJ = 0 ;
const integer SolrGenericResponse::PARSE_SOLR_DOC = 1 ;
/* Propriétés */
/* Méthodes */
__construct ( void )
public void __destruct ( void )
/* Méthodes héritées */
public string SolrResponse::getDigestedResponse ( void )
public int SolrResponse::getHttpStatus ( void )
public string SolrResponse::getHttpStatusMessage ( void )
public string SolrResponse::getRawRequest ( void )
public string SolrResponse::getRawRequestHeaders ( void )
public string SolrResponse::getRawResponse ( void )
public string SolrResponse::getRawResponseHeaders ( void )
public string SolrResponse::getRequestUrl ( void )
public SolrObject SolrResponse::getResponse ( void )
public bool SolrResponse::setParseMode ([ int $parser_mode = 0 ] )
public bool SolrResponse::success ( void )
}

Propriétés

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Constantes pré-définies

SolrGenericResponse Class constants

SolrGenericResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrGenericResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

Sommaire

  • SolrGenericResponse::__construct — Constructeur
  • SolrGenericResponse::__destruct — Destructeur
SolrPingResponse::getResponse
SolrGenericResponse::__construct
Solr


Constructeur

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse
PHP Manual

SolrGenericResponse::__construct

(PECL solr >= 0.9.2)

SolrGenericResponse::__construct — Constructeur

Description

SolrGenericResponse::__construct ( void )

Constructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrGenericResponse
SolrGenericResponse::__destruct
SolrGenericResponse


Destructeur

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse
PHP Manual

SolrGenericResponse::__destruct

(PECL solr >= 0.9.2)

SolrGenericResponse::__destruct — Destructeur

Description

public void SolrGenericResponse::__destruct ( void )

Destructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrGenericResponse::__construct
SolrParams
SolrGenericResponse


The SolrParams class

Introduction

Represents a collection of name-value pairs sent to the Solr server during a request.

Synopsis de la classe

SolrParams
abstract SolrParams implements Serializable {
/* Méthodes */
final public SolrParams add ( string $name , string $value )
public SolrParams addParam ( string $name , string $value )
final public mixed get ( string $param_name )
final public mixed getParam ([ string $param_name ] )
final public array getParams ( void )
final public array getPreparedParams ( void )
final public string serialize ( void )
final public void set ( string $name , string $value )
public SolrParams setParam ( string $name , string $value )
final public string toString ([ bool $url_encode = false ] )
final public void unserialize ( string $serialized )
}

Sommaire

  • SolrParams::add — This is an alias for SolrParams::addParam
  • SolrParams::addParam — Adds a parameter to the object
  • SolrParams::get — This is an alias for SolrParams::getParam
  • SolrParams::getParam — Returns a parameter value
  • SolrParams::getParams — Returns an array of non URL-encoded parameters
  • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
  • SolrParams::serialize — Used for custom serialization
  • SolrParams::set — An alias of SolrParams::setParam
  • SolrParams::setParam — Sets the parameter to the specified value
  • SolrParams::toString — Returns all the name-value pair parameters in the object
  • SolrParams::unserialize — Used for custom serialization
SolrGenericResponse::__destruct
SolrParams::add
Solr


This is an alias for SolrParams::addParam

SolrParams
SolrParams::addParam
SolrParams
PHP Manual

SolrParams::add

(PECL solr >= 0.9.2)

SolrParams::add — This is an alias for SolrParams::addParam

Description

final public SolrParams SolrParams::add ( string $name , string $value )

This is an alias for SolrParams::addParam

Liste de paramètres

name

The name of the parameter

value

The value of the parameter

Valeurs de retour

Returns a SolrParams instance on success

SolrParams
SolrParams::addParam
SolrParams


Adds a parameter to the object

SolrParams::add
SolrParams::get
SolrParams
PHP Manual

SolrParams::addParam

(PECL solr >= 0.9.2)

SolrParams::addParam — Adds a parameter to the object

Description

public SolrParams SolrParams::addParam ( string $name , string $value )

Adds a parameter to the object. This is used for parameters that can be specified multiple times.

Liste de paramètres

name

Name of parameter

value

Value of parameter

Valeurs de retour

Returns a SolrParam object on success and FALSE on failure.

SolrParams::add
SolrParams::get
SolrParams


This is an alias for SolrParams::getParam

SolrParams::addParam
SolrParams::getParam
SolrParams
PHP Manual

SolrParams::get

(PECL solr >= 0.9.2)

SolrParams::get — This is an alias for SolrParams::getParam

Description

final public mixed SolrParams::get ( string $param_name )

This is an alias for SolrParams::getParam

Liste de paramètres

param_name

Then name of the parameter

Valeurs de retour

Returns an array or string depending on the type of parameter

SolrParams::addParam
SolrParams::getParam
SolrParams


Returns a parameter value

SolrParams::get
SolrParams::getParams
SolrParams
PHP Manual

SolrParams::getParam

(PECL solr >= 0.9.2)

SolrParams::getParam — Returns a parameter value

Description

final public mixed SolrParams::getParam ([ string $param_name ] )

Returns a parameter with name param_name

Liste de paramètres

param_name

The name of the parameter

Valeurs de retour

Returns a string or an array depending on the type of the parameter

SolrParams::get
SolrParams::getParams
SolrParams


Returns an array of non URL-encoded parameters

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams
PHP Manual

SolrParams::getParams

(PECL solr >= 0.9.2)

SolrParams::getParams — Returns an array of non URL-encoded parameters

Description

final public array SolrParams::getParams ( void )

Returns an array of non URL-encoded parameters

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array of non URL-encoded parameters

SolrParams::getParam
SolrParams::getPreparedParams
SolrParams


Returns an array of URL-encoded parameters

SolrParams::getParams
SolrParams::serialize
SolrParams
PHP Manual

SolrParams::getPreparedParams

(PECL solr >= 0.9.2)

SolrParams::getPreparedParams — Returns an array of URL-encoded parameters

Description

final public array SolrParams::getPreparedParams ( void )

Returns an array on URL-encoded parameters

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array on URL-encoded parameters

SolrParams::getParams
SolrParams::serialize
SolrParams


Used for custom serialization

SolrParams::getPreparedParams
SolrParams::set
SolrParams
PHP Manual

SolrParams::serialize

(PECL solr >= 0.9.2)

SolrParams::serialize — Used for custom serialization

Description

final public string SolrParams::serialize ( void )

Used for custom serialization

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Used for custom serialization

SolrParams::getPreparedParams
SolrParams::set
SolrParams


An alias of SolrParams::setParam

SolrParams::serialize
SolrParams::setParam
SolrParams
PHP Manual

SolrParams::set

(PECL solr >= 0.9.2)

SolrParams::set — An alias of SolrParams::setParam

Description

final public void SolrParams::set ( string $name , string $value )

An alias of SolrParams::setParam

Liste de paramètres

name

Then name of the parameter

value

The parameter value

Valeurs de retour

Returns an instance of the SolrParams object on success

SolrParams::serialize
SolrParams::setParam
SolrParams


Sets the parameter to the specified value

SolrParams::set
SolrParams::toString
SolrParams
PHP Manual

SolrParams::setParam

(PECL solr >= 0.9.2)

SolrParams::setParam — Sets the parameter to the specified value

Description

public SolrParams SolrParams::setParam ( string $name , string $value )

Sets the query parameter to the specified value. This is used for parameters that can only be specified once. Subsequent calls with the same parameter name will override the existing value

Liste de paramètres

name

Name of the parameter

value

Value of the parameter

Valeurs de retour

Returns a SolrParam object on success and FALSE on value.

Exemples

Exemple #1 SolrParams::setParam example

<?php

$param = new SolrParam();

$param->setParam('q', 'solr')->setParam('rows', 2);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

SolrParams::set
SolrParams::toString
SolrParams


Returns all the name-value pair parameters in the object

SolrParams::setParam
SolrParams::unserialize
SolrParams
PHP Manual

SolrParams::toString

(PECL solr >= 0.9.2)

SolrParams::toString — Returns all the name-value pair parameters in the object

Description

final public string SolrParams::toString ([ bool $url_encode = false ] )

Returns all the name-value pair parameters in the object

Liste de paramètres

url_encode

Whether to return URL-encoded values

Valeurs de retour

Returns a string on success and FALSE on failure.

SolrParams::setParam
SolrParams::unserialize
SolrParams


Used for custom serialization

SolrParams::toString
SolrModifiableParams
SolrParams
PHP Manual

SolrParams::unserialize

(PECL solr >= 0.9.2)

SolrParams::unserialize — Used for custom serialization

Description

final public void SolrParams::unserialize ( string $serialized )

Used for custom serialization

Liste de paramètres

serialized

The serialized representation of the object

Valeurs de retour

None

SolrParams::toString
SolrModifiableParams
SolrParams


The SolrModifiableParams class

Introduction

Represents a collection of name-value pairs sent to the Solr server during a request.

Synopsis de la classe

SolrModifiableParams
SolrModifiableParams extends SolrParams implements Serializable {
/* Méthodes */
__construct ( void )
public void __destruct ( void )
/* Méthodes héritées */
final public SolrParams SolrParams::add ( string $name , string $value )
public SolrParams SolrParams::addParam ( string $name , string $value )
final public mixed SolrParams::get ( string $param_name )
final public mixed SolrParams::getParam ([ string $param_name ] )
final public array SolrParams::getParams ( void )
final public array SolrParams::getPreparedParams ( void )
final public string SolrParams::serialize ( void )
final public void SolrParams::set ( string $name , string $value )
public SolrParams SolrParams::setParam ( string $name , string $value )
final public string SolrParams::toString ([ bool $url_encode = false ] )
final public void SolrParams::unserialize ( string $serialized )
}

Sommaire

  • SolrModifiableParams::__construct — Constructeur
  • SolrModifiableParams::__destruct — Destructeur
SolrParams::unserialize
SolrModifiableParams::__construct
Solr


Constructeur

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams
PHP Manual

SolrModifiableParams::__construct

(PECL solr >= 0.9.2)

SolrModifiableParams::__construct — Constructeur

Description

SolrModifiableParams::__construct ( void )

Constructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune

SolrModifiableParams
SolrModifiableParams::__destruct
SolrModifiableParams


Destructeur

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams
PHP Manual

SolrModifiableParams::__destruct

(PECL solr >= 0.9.2)

SolrModifiableParams::__destruct — Destructeur

Description

public void SolrModifiableParams::__destruct ( void )

Destructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Rien

SolrModifiableParams::__construct
SolrQuery
SolrModifiableParams


The SolrQuery class

Introduction

Represents a collection of name-value pairs sent to the Solr server during a request.

Synopsis de la classe

SolrQuery
SolrQuery extends SolrModifiableParams implements Serializable {
/* Constantes */
const integer SolrQuery::ORDER_ASC = 0 ;
const integer SolrQuery::ORDER_DESC = 1 ;
const integer SolrQuery::FACET_SORT_INDEX = 0 ;
const integer SolrQuery::FACET_SORT_COUNT = 1 ;
const integer SolrQuery::TERMS_SORT_INDEX = 0 ;
const integer SolrQuery::TERMS_SORT_COUNT = 1 ;
/* Propriétés */
/* Méthodes */
public SolrQuery addFacetDateField ( string $dateField )
public SolrQuery addFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery addFacetField ( string $field )
public SolrQuery addFacetQuery ( string $facetQuery )
public SolrQuery addField ( string $field )
public SolrQuery addFilterQuery ( string $fq )
public SolrQuery addHighlightField ( string $field )
public SolrQuery addMltField ( string $field )
public SolrQuery addMltQueryField ( string $field , float $boost )
public SolrQuery addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )
public SolrQuery addStatsFacet ( string $field )
public SolrQuery addStatsField ( string $field )
__construct ([ string $q ] )
public void __destruct ( void )
public bool getFacet ( void )
public string getFacetDateEnd ([ string $field_override ] )
public array getFacetDateFields ( void )
public string getFacetDateGap ([ string $field_override ] )
public string getFacetDateHardEnd ([ string $field_override ] )
public array getFacetDateOther ([ string $field_override ] )
public string getFacetDateStart ([ string $field_override ] )
public array getFacetFields ( void )
public int getFacetLimit ([ string $field_override ] )
public string getFacetMethod ([ string $field_override ] )
public int getFacetMinCount ([ string $field_override ] )
public bool getFacetMissing ([ string $field_override ] )
public int getFacetOffset ([ string $field_override ] )
public string getFacetPrefix ([ string $field_override ] )
public array getFacetQueries ( void )
public int getFacetSort ([ string $field_override ] )
public array getFields ( void )
public array getFilterQueries ( void )
public bool getHighlight ( void )
public string getHighlightAlternateField ([ string $field_override ] )
public array getHighlightFields ( void )
public string getHighlightFormatter ([ string $field_override ] )
public string getHighlightFragmenter ([ string $field_override ] )
public int getHighlightFragsize ([ string $field_override ] )
public bool getHighlightHighlightMultiTerm ( void )
public int getHighlightMaxAlternateFieldLength ([ string $field_override ] )
public int getHighlightMaxAnalyzedChars ( void )
public bool getHighlightMergeContiguous ([ string $field_override ] )
public int getHighlightRegexMaxAnalyzedChars ( void )
public string getHighlightRegexPattern ( void )
public float getHighlightRegexSlop ( void )
public bool getHighlightRequireFieldMatch ( void )
public string getHighlightSimplePost ([ string $field_override ] )
public string getHighlightSimplePre ([ string $field_override ] )
public int getHighlightSnippets ([ string $field_override ] )
public bool getHighlightUsePhraseHighlighter ( void )
public bool getMlt ( void )
public bool getMltBoost ( void )
public int getMltCount ( void )
public array getMltFields ( void )
public int getMltMaxNumQueryTerms ( void )
public int getMltMaxNumTokens ( void )
public int getMltMaxWordLength ( void )
public int getMltMinDocFrequency ( void )
public int getMltMinTermFrequency ( void )
public int getMltMinWordLength ( void )
public array getMltQueryFields ( void )
public string getQuery ( void )
public int getRows ( void )
public array getSortFields ( void )
public int getStart ( void )
public bool getStats ( void )
public array getStatsFacets ( void )
public array getStatsFields ( void )
public bool getTerms ( void )
public string getTermsField ( void )
public bool getTermsIncludeLowerBound ( void )
public bool getTermsIncludeUpperBound ( void )
public int getTermsLimit ( void )
public string getTermsLowerBound ( void )
public int getTermsMaxCount ( void )
public int getTermsMinCount ( void )
public string getTermsPrefix ( void )
public bool getTermsReturnRaw ( void )
public int getTermsSort ( void )
public string getTermsUpperBound ( void )
public int getTimeAllowed ( void )
public SolrQuery removeFacetDateField ( string $field )
public SolrQuery removeFacetDateOther ( string $value [, string $field_override ] )
public SolrQuery removeFacetField ( string $field )
public SolrQuery removeFacetQuery ( string $value )
public SolrQuery removeField ( string $field )
public SolrQuery removeFilterQuery ( string $fq )
public SolrQuery removeHighlightField ( string $field )
public SolrQuery removeMltField ( string $field )
public SolrQuery removeMltQueryField ( string $queryField )
public SolrQuery removeSortField ( string $field )
public SolrQuery removeStatsFacet ( string $value )
public SolrQuery removeStatsField ( string $field )
public SolrQuery setEchoHandler ( bool $flag )
public SolrQuery setEchoParams ( string $type )
public SolrQuery setExplainOther ( string $query )
public SolrQuery setFacet ( bool $flag )
public SolrQuery setFacetDateEnd ( string $value [, string $field_override ] )
public SolrQuery setFacetDateGap ( string $value [, string $field_override ] )
public SolrQuery setFacetDateHardEnd ( bool $value [, string $field_override ] )
public SolrQuery setFacetDateStart ( string $value [, string $field_override ] )
public SolrQuery setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )
public SolrQuery setFacetLimit ( int $limit [, string $field_override ] )
public SolrQuery setFacetMethod ( string $method [, string $field_override ] )
public SolrQuery setFacetMinCount ( int $mincount [, string $field_override ] )
public SolrQuery setFacetMissing ( bool $flag [, string $field_override ] )
public SolrQuery setFacetOffset ( int $offset [, string $field_override ] )
public SolrQuery setFacetPrefix ( string $prefix [, string $field_override ] )
public SolrQuery setFacetSort ( int $facetSort [, string $field_override ] )
public SolrQuery setHighlight ( bool $flag )
public SolrQuery setHighlightAlternateField ( string $field [, string $field_override ] )
public SolrQuery setHighlightFormatter ( string $formatter [, string $field_override ] )
public SolrQuery setHighlightFragmenter ( string $fragmenter [, string $field_override ] )
public SolrQuery setHighlightFragsize ( int $size [, string $field_override ] )
public SolrQuery setHighlightHighlightMultiTerm ( bool $flag )
public SolrQuery setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )
public SolrQuery setHighlightMaxAnalyzedChars ( int $value )
public SolrQuery setHighlightMergeContiguous ( bool $flag [, string $field_override ] )
public SolrQuery setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )
public SolrQuery setHighlightRegexPattern ( string $value )
public SolrQuery setHighlightRegexSlop ( float $factor )
public SolrQuery setHighlightRequireFieldMatch ( bool $flag )
public SolrQuery setHighlightSimplePost ( string $simplePost [, string $field_override ] )
public SolrQuery setHighlightSimplePre ( string $simplePre [, string $field_override ] )
public SolrQuery setHighlightSnippets ( int $value [, string $field_override ] )
public SolrQuery setHighlightUsePhraseHighlighter ( bool $flag )
public SolrQuery setMlt ( bool $flag )
public SolrQuery setMltBoost ( bool $flag )
public SolrQuery setMltCount ( int $count )
public SolrQuery setMltMaxNumQueryTerms ( int $value )
public SolrQuery setMltMaxNumTokens ( int $value )
public SolrQuery setMltMaxWordLength ( int $maxWordLength )
public SolrQuery setMltMinDocFrequency ( int $minDocFrequency )
public SolrQuery setMltMinTermFrequency ( int $minTermFrequency )
public SolrQuery setMltMinWordLength ( int $minWordLength )
public SolrQuery setOmitHeader ( bool $flag )
public SolrQuery setQuery ( string $query )
public SolrQuery setRows ( int $rows )
public SolrQuery setShowDebugInfo ( bool $flag )
public SolrQuery setStart ( int $start )
public SolrQuery setStats ( bool $flag )
public SolrQuery setTerms ( bool $flag )
public SolrQuery setTermsField ( string $fieldname )
public SolrQuery setTermsIncludeLowerBound ( bool $flag )
public SolrQuery setTermsIncludeUpperBound ( bool $flag )
public SolrQuery setTermsLimit ( int $limit )
public SolrQuery setTermsLowerBound ( string $lowerBound )
public SolrQuery setTermsMaxCount ( int $frequency )
public SolrQuery setTermsMinCount ( int $frequency )
public SolrQuery setTermsPrefix ( string $prefix )
public SolrQuery setTermsReturnRaw ( bool $flag )
public SolrQuery setTermsSort ( int $sortType )
public SolrQuery setTermsUpperBound ( string $upperBound )
public SolrQuery setTimeAllowed ( int $timeAllowed )
/* Méthodes héritées */
SolrModifiableParams::__construct ( void )
public void SolrModifiableParams::__destruct ( void )
}

Constantes pré-définies

SolrQuery Node Types

SolrQuery::ORDER_ASC

Used to specify that the sorting should be in acending order

SolrQuery::ORDER_DESC

Used to specify that the sorting should be in descending order

SolrQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index

SolrQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count

SolrQuery::TERMS_SORT_INDEX

Used in the TermsComponent

SolrQuery::TERMS_SORT_COUNT

Used in the TermsComponent

Sommaire

  • SolrQuery::addFacetDateField — Lie un facet.date
  • SolrQuery::addFacetDateOther — Ajoute une autre paramètre facet.date.other
  • SolrQuery::addFacetField — Ajoute un autre champ à la facette
  • SolrQuery::addFacetQuery — Ajoute une requête de facette
  • SolrQuery::addField — Spécifie quel champ doit retourner le résultat
  • SolrQuery::addFilterQuery — Spécifie un filtre de requête
  • SolrQuery::addHighlightField — Lie un hl.fl
  • SolrQuery::addMltField — Spécifie un champ à utiliser pour les similitudes
  • SolrQuery::addMltQueryField — Lie un mlt.qf
  • SolrQuery::addSortField — Utilisé pour contrôler le tri du résultat
  • SolrQuery::addStatsFacet — Récupère un sous résultat pour y trouver des valeurs d'une facette donnée
  • SolrQuery::addStatsField — Lie un paramètre stats.field
  • SolrQuery::__construct — Constructeur
  • SolrQuery::__destruct — Destructeur
  • SolrQuery::getFacet — Retourne la valeur du paramètre de facette
  • SolrQuery::getFacetDateEnd — Retourne la valeur du paramètre facet.date.end
  • SolrQuery::getFacetDateFields — Retourne tous les champs facet.date
  • SolrQuery::getFacetDateGap — Récupère la valeur du paramètre facet.date.gap
  • SolrQuery::getFacetDateHardEnd — Récupère la valeur du paramètre facet.date.hardend
  • SolrQuery::getFacetDateOther — Récupère la valeur du paramètre facet.date.other
  • SolrQuery::getFacetDateStart — Récupère la limite inférieure du premier intervalle de la date pour toutes les facettes de date pour ce champ
  • SolrQuery::getFacetFields — Récupère toutes les facettes des champs
  • SolrQuery::getFacetLimit — Récupère le nombre maximal de contraintes qui peut être retourné pour les facettes des champs
  • SolrQuery::getFacetMethod — Récupère la valeur du paramètre facet.method
  • SolrQuery::getFacetMinCount — Récupère le nombre minimal de facettes des champs qui doivent être incluses dans la réponse
  • SolrQuery::getFacetMissing — Récupère l'état courant du paramètre facet.missing
  • SolrQuery::getFacetOffset — Récupère la position dans la liste des contraintes à utiliser pour la pagination
  • SolrQuery::getFacetPrefix — Récupère le préfixe de la facette
  • SolrQuery::getFacetQueries — Récupère toutes les facettes des requêtes
  • SolrQuery::getFacetSort — Retourne le type de tri de la facette
  • SolrQuery::getFields — Récupère la liste des champs qui seront retournés dans la réponse
  • SolrQuery::getFilterQueries — Récupère un tableau de filtres de requêtes
  • SolrQuery::getHighlight — Récupère l'état du paramètre h1
  • SolrQuery::getHighlightAlternateField — Récupère le champ mis en évidence à utiliser comme champ par défaut ou comme champ de sauvegarde
  • SolrQuery::getHighlightFields — Récupère tous les champs pour lesquels Solr doit mettre en évidence un extrait
  • SolrQuery::getHighlightFormatter — Récupère le formatage utilisé pour mettre en évidence la sortie
  • SolrQuery::getHighlightFragmenter — Récupère le générateur d'extrait de texte pour la mise en évidence
  • SolrQuery::getHighlightFragsize — Retourne le nombre de caractères des fragments à considérer pour la mise en évidence
  • SolrQuery::getHighlightHighlightMultiTerm — Retourne si l'on doit activer la mise en évidence pour les intervalles/jokers/flous/préfixes des requêtes
  • SolrQuery::getHighlightMaxAlternateFieldLength — Retourne le nombre maximal de caractères du champ à retourner
  • SolrQuery::getHighlightMaxAnalyzedChars — Retourne le nombre maximal de caractères du document dans lequel les extraits seront cherchés
  • SolrQuery::getHighlightMergeContiguous — Retourne si l'on doit rassembler les fragments contigus en un seul fragment
  • SolrQuery::getHighlightRegexMaxAnalyzedChars — Retourne le nombre maximal de caractères depuis un champ lors de l'utilisation d'une regex
  • SolrQuery::getHighlightRegexPattern — Récupère l'expression rationnelle utilisée pour la fragmentation
  • SolrQuery::getHighlightRegexSlop — Récupère le facteur de déviation depuis la taille du fragment idéal
  • SolrQuery::getHighlightRequireFieldMatch — Retourne si le champ ne doit être mis en évidence que si la requête correspond à un champ en particulier
  • SolrQuery::getHighlightSimplePost — Récupère le texte qui doit apparaître après le terme mise en évidence
  • SolrQuery::getHighlightSimplePre — Retourne le texte qui doit apparaître avant le terme mise en évidence
  • SolrQuery::getHighlightSnippets — Récupère le nombre maximal d'extraits mis en évidence à générer par champ
  • SolrQuery::getHighlightUsePhraseHighlighter — Récupère l'état du paramètre hl.usePhraseHighlighter
  • SolrQuery::getMlt — Retourne si les résultats MoreLikeThis doivent être activés
  • SolrQuery::getMltBoost — Retourne si la requête doit être améliorée en utilisant la pertinence des termes
  • SolrQuery::getMltCount — Récupère le nombre de documents similaires à retourner pour chaque résultat
  • SolrQuery::getMltFields — Récupère tous les champs à utiliser pour la similarité
  • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
  • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
  • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
  • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
  • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
  • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
  • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
  • SolrQuery::getQuery — Returns the main query
  • SolrQuery::getRows — Returns the maximum number of documents
  • SolrQuery::getSortFields — Returns all the sort fields
  • SolrQuery::getStart — Returns the offset in the complete result set
  • SolrQuery::getStats — Returns whether or not stats is enabled
  • SolrQuery::getStatsFacets — Returns all the stats facets that were set
  • SolrQuery::getStatsFields — Returns all the statistics fields
  • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
  • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
  • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
  • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
  • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
  • SolrQuery::getTermsLowerBound — Returns the term to start at
  • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
  • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
  • SolrQuery::getTermsPrefix — Returns the term prefix
  • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
  • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
  • SolrQuery::getTermsUpperBound — Returns the term to stop at
  • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
  • SolrQuery::removeFacetDateField — Removes one of the facet date fields
  • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
  • SolrQuery::removeFacetField — Removes one of the facet.date parameters
  • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
  • SolrQuery::removeField — Removes a field from the list of fields
  • SolrQuery::removeFilterQuery — Removes a filter query
  • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
  • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
  • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
  • SolrQuery::removeSortField — Removes one of the sort fields
  • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
  • SolrQuery::removeStatsField — Removes one of the stats.field parameters
  • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
  • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
  • SolrQuery::setExplainOther — Sets the explainOther common query parameter
  • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
  • SolrQuery::setFacetDateEnd — Maps to facet.date.end
  • SolrQuery::setFacetDateGap — Maps to facet.date.gap
  • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
  • SolrQuery::setFacetDateStart — Maps to facet.date.start
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
  • SolrQuery::setFacetLimit — Maps to facet.limit
  • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
  • SolrQuery::setFacetMinCount — Maps to facet.mincount
  • SolrQuery::setFacetMissing — Maps to facet.missing
  • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
  • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
  • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
  • SolrQuery::setHighlight — Enables or disables highlighting
  • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
  • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
  • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
  • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
  • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
  • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
  • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
  • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
  • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
  • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
  • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
  • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
  • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
  • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
  • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
  • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
  • SolrQuery::setMlt — Enables or disables moreLikeThis
  • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
  • SolrQuery::setMltCount — Set the number of similar documents to return for each result
  • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
  • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
  • SolrQuery::setMltMaxWordLength — Sets the maximum word length
  • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
  • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
  • SolrQuery::setMltMinWordLength — Sets the minimum word length
  • SolrQuery::setOmitHeader — Exclude the header from the returned results
  • SolrQuery::setQuery — Sets the search query
  • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
  • SolrQuery::setShowDebugInfo — Flag to show debug information
  • SolrQuery::setStart — Specifies the number of rows to skip
  • SolrQuery::setStats — Enables or disables the Stats component
  • SolrQuery::setTerms — Enables or disables the TermsComponent
  • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
  • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
  • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
  • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
  • SolrQuery::setTermsLowerBound — Specifies the Term to start from
  • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
  • SolrQuery::setTermsMinCount — Sets the minimum document frequency
  • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
  • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
  • SolrQuery::setTermsSort — Specifies how to sort the returned terms
  • SolrQuery::setTermsUpperBound — Sets the term to stop at
  • SolrQuery::setTimeAllowed — The time allowed for search to finish
SolrModifiableParams::__destruct
SolrQuery::addFacetDateField
Solr


Lie un facet.date

SolrQuery
SolrQuery::addFacetDateOther
SolrQuery
PHP Manual

SolrQuery::addFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateField — Lie un facet.date

Description

public SolrQuery SolrQuery::addFacetDateField ( string $dateField )

Cette méthode vous permet de spécifier un champ qui doit être traité comme une facette.

Elle peut être utilisée plusieurs fois avec différents noms de champs pour indiquer plusieurs champs de facette.

Liste de paramètres

dateField

Le nom du champ date.

Valeurs de retour

Retourne un objet SolrQuery.

SolrQuery
SolrQuery::addFacetDateOther
SolrQuery


Ajoute une autre paramètre facet.date.other

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery
PHP Manual

SolrQuery::addFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateOther — Ajoute une autre paramètre facet.date.other

Description

public SolrQuery SolrQuery::addFacetDateOther ( string $value [, string $field_override ] )

Définit le paramètre facet.date.other. Accepte un paramètre optionnel permettant d'écraser la valeur.

Liste de paramètres

value

La valeur à utiliser.

field_override

Le nom du champ pour l'écrasement.

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retourné est utilisée.

SolrQuery::addFacetDateField
SolrQuery::addFacetField
SolrQuery


Ajoute un autre champ à la facette

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery
PHP Manual

SolrQuery::addFacetField

(PECL solr >= 0.9.2)

SolrQuery::addFacetField — Ajoute un autre champ à la facette

Description

public SolrQuery SolrQuery::addFacetField ( string $field )

Ajoute un autre champ à la facette.

Liste de paramètres

field

Le nom du champ

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retournée est utilisée.

SolrQuery::addFacetDateOther
SolrQuery::addFacetQuery
SolrQuery


Ajoute une requête de facette

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery
PHP Manual

SolrQuery::addFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::addFacetQuery — Ajoute une requête de facette

Description

public SolrQuery SolrQuery::addFacetQuery ( string $facetQuery )

Ajoute une requête de facette.

Liste de paramètres

facetQuery

La requête de facette

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retournée est utilisée.

SolrQuery::addFacetField
SolrQuery::addField
SolrQuery


Spécifie quel champ doit retourner le résultat

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery
PHP Manual

SolrQuery::addField

(PECL solr >= 0.9.2)

SolrQuery::addField — Spécifie quel champ doit retourner le résultat

Description

public SolrQuery SolrQuery::addField ( string $field )

Cette méthode est utilisé pour spécifier un jeu de champs à retourner, permettant ainsi de limiter la quantité d'informations retournées.

Cette méthode doit être appelée plusieurs fois ; une fois par nom de champ.

Liste de paramètres

field

Le nom du champ

Valeurs de retour

Retourne l'objet SolrQuery courant.

SolrQuery::addFacetQuery
SolrQuery::addFilterQuery
SolrQuery


Spécifie un filtre de requête

SolrQuery::addField
SolrQuery::addHighlightField
SolrQuery
PHP Manual

SolrQuery::addFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::addFilterQuery — Spécifie un filtre de requête

Description

public SolrQuery SolrQuery::addFilterQuery ( string $fq )

Spécifie un filtre de requête.

Liste de paramètres

fq

Le filtre de requête

Valeurs de retour

Retourne l'objet SolrQuery courant.

SolrQuery::addField
SolrQuery::addHighlightField
SolrQuery


Lie un hl.fl

SolrQuery::addFilterQuery
SolrQuery::addMltField
SolrQuery
PHP Manual

SolrQuery::addHighlightField

(PECL solr >= 0.9.2)

SolrQuery::addHighlightField — Lie un hl.fl

Description

public SolrQuery SolrQuery::addHighlightField ( string $field )

Lie un hl.fl. Ceci est utilisé pour spécifier le champ à mettre en évidence.

Liste de paramètres

field

Nom du champ

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retournée est utilisée.

SolrQuery::addFilterQuery
SolrQuery::addMltField
SolrQuery


Spécifie un champ à utiliser pour les similitudes

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery
PHP Manual

SolrQuery::addMltField

(PECL solr >= 0.9.2)

SolrQuery::addMltField — Spécifie un champ à utiliser pour les similitudes

Description

public SolrQuery SolrQuery::addMltField ( string $field )

Lie un mlt.fl. Il spécifie qu'un champ doit être utilisé pour les similitudes.

Liste de paramètres

field

Le nom du champ

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retournée est utilisée.

SolrQuery::addHighlightField
SolrQuery::addMltQueryField
SolrQuery


Lie un mlt.qf

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery
PHP Manual

SolrQuery::addMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::addMltQueryField — Lie un mlt.qf

Description

public SolrQuery SolrQuery::addMltQueryField ( string $field , float $boost )

Lie un mlt.qf. Utilisé pour spécifier les champs de requêtes ainsi que leurs renforts.

Liste de paramètres

field

Le nom du champ

boost

La valeur du renfort

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retournée est utilisée.

SolrQuery::addMltField
SolrQuery::addSortField
SolrQuery


Utilisé pour contrôler le tri du résultat

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery
PHP Manual

SolrQuery::addSortField

(PECL solr >= 0.9.2)

SolrQuery::addSortField — Utilisé pour contrôler le tri du résultat

Description

public SolrQuery SolrQuery::addSortField ( string $field [, int $order = SolrQuery::ORDER_DESC ] )

Utilisé pour contrôler le tri du résultat.

Liste de paramètres

field

Le nom du champ

order

La direction du tri. Doit être soit SolrQuery::ORDER_ASC, soit SolrQuery::ORDER_DESC.

Valeurs de retour

Retourne l'objet SolrQuery courant.

SolrQuery::addMltQueryField
SolrQuery::addStatsFacet
SolrQuery


Récupère un sous résultat pour y trouver des valeurs d'une facette donnée

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery
PHP Manual

SolrQuery::addStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::addStatsFacet — Récupère un sous résultat pour y trouver des valeurs d'une facette donnée

Description

public SolrQuery SolrQuery::addStatsFacet ( string $field )

Récupère un sous résultat pour y trouver des valeurs d'une facette donnée. Lie un champ stats.facet.

Liste de paramètres

field

Le nom du champ

Valeurs de retour

Retourne l'objet courant SolrQuery, si la valeur retournée est utilisée.

SolrQuery::addSortField
SolrQuery::addStatsField
SolrQuery


Lie un paramètre stats.field

SolrQuery::addStatsFacet
SolrQuery::__construct
SolrQuery
PHP Manual

SolrQuery::addStatsField

(PECL solr >= 0.9.2)

SolrQuery::addStatsField — Lie un paramètre stats.field

Description

public SolrQuery SolrQuery::addStatsField ( string $field )

Lie un paramètre stats.field. Cette méthode ajoute un autre paramètre stats.field.

Liste de paramètres

field

Le nom du champ

Valeurs de retour

Retourne l'objet SolrQuery courant, si la valeur retournée est utilisée.

SolrQuery::addStatsFacet
SolrQuery::__construct
SolrQuery


Constructeur

SolrQuery::addStatsField
SolrQuery::__destruct
SolrQuery
PHP Manual

SolrQuery::__construct

(PECL solr >= 0.9.2)

SolrQuery::__construct — Constructeur

Description

SolrQuery::__construct ([ string $q ] )

Constructeur.

Liste de paramètres

q

Requête de recherche optionnelle

Valeurs de retour

Aucun

SolrQuery::addStatsField
SolrQuery::__destruct
SolrQuery


Destructeur

SolrQuery::__construct
SolrQuery::getFacet
SolrQuery
PHP Manual

SolrQuery::__destruct

(PECL solr >= 0.9.2)

SolrQuery::__destruct — Destructeur

Description

public void SolrQuery::__destruct ( void )

Destructeur

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucun.

SolrQuery::__construct
SolrQuery::getFacet
SolrQuery


Retourne la valeur du paramètre de facette

SolrQuery::__destruct
SolrQuery::getFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::getFacet

(PECL solr >= 0.9.2)

SolrQuery::getFacet — Retourne la valeur du paramètre de facette

Description

public bool SolrQuery::getFacet ( void )

Retourne la valeur du paramètre de facette.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::__destruct
SolrQuery::getFacetDateEnd
SolrQuery


Retourne la valeur du paramètre facet.date.end

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateEnd — Retourne la valeur du paramètre facet.date.end

Description

public string SolrQuery::getFacetDateEnd ([ string $field_override ] )

Retourne la valeur du paramètre facet.date.end. Cette méthode accepte un champ optionnel permettant l'écrasement.

Liste de paramètres

field_override

Le nom du champ

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacet
SolrQuery::getFacetDateFields
SolrQuery


Retourne tous les champs facet.date

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery
PHP Manual

SolrQuery::getFacetDateFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateFields — Retourne tous les champs facet.date

Description

public array SolrQuery::getFacetDateFields ( void )

Retourne tous les champs facet.date.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne tous les champs facet.date sous la forme d'un tableau ou NULL si aucun n'a été défini.

SolrQuery::getFacetDateEnd
SolrQuery::getFacetDateGap
SolrQuery


Récupère la valeur du paramètre facet.date.gap

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::getFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateGap — Récupère la valeur du paramètre facet.date.gap

Description

public string SolrQuery::getFacetDateGap ([ string $field_override ] )

Récupère la valeur du paramètre facet.date.gap. La méthode accepte un champ à y substituer.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL s'il n'est pas défini.

SolrQuery::getFacetDateFields
SolrQuery::getFacetDateHardEnd
SolrQuery


Récupère la valeur du paramètre facet.date.hardend

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery
PHP Manual

SolrQuery::getFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateHardEnd — Récupère la valeur du paramètre facet.date.hardend

Description

public string SolrQuery::getFacetDateHardEnd ([ string $field_override ] )

Récupère la valeur du paramètre facet.date.hardend . La méthode accepte un champ à y substituer.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL s'il n'est pas défini.

SolrQuery::getFacetDateGap
SolrQuery::getFacetDateOther
SolrQuery


Récupère la valeur du paramètre facet.date.other

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery
PHP Manual

SolrQuery::getFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateOther — Récupère la valeur du paramètre facet.date.other

Description

public array SolrQuery::getFacetDateOther ([ string $field_override ] )

Récupère la valeur du paramètre facet.date.other. La méthode accepte un champ à y substituer.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL s'il n'est pas défini.

SolrQuery::getFacetDateHardEnd
SolrQuery::getFacetDateStart
SolrQuery


Récupère la limite inférieure du premier intervalle de la date pour toutes les facettes de date pour ce champ

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery
PHP Manual

SolrQuery::getFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateStart — Récupère la limite inférieure du premier intervalle de la date pour toutes les facettes de date pour ce champ

Description

public string SolrQuery::getFacetDateStart ([ string $field_override ] )

Récupère la limite inférieure du premier intervalle de la date pour toutes les facettes de date pour ce champ. Accepte un champ optionnel pour l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si le paramètre n'est pas défini.

SolrQuery::getFacetDateOther
SolrQuery::getFacetFields
SolrQuery


Récupère toutes les facettes des champs

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery
PHP Manual

SolrQuery::getFacetFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetFields — Récupère toutes les facettes des champs

Description

public array SolrQuery::getFacetFields ( void )

Récupère toutes les facettes des champs.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant tous les champs et NULL si aucun n'a été défini.

SolrQuery::getFacetDateStart
SolrQuery::getFacetLimit
SolrQuery


Récupère le nombre maximal de contraintes qui peut être retourné pour les facettes des champs

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery
PHP Manual

SolrQuery::getFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::getFacetLimit — Récupère le nombre maximal de contraintes qui peut être retourné pour les facettes des champs

Description

public int SolrQuery::getFacetLimit ([ string $field_override ] )

Récupère le nombre maximal de contraintes qui peut être retourné pour les facettes des champs. Cette méthode accepte un champ optionnel autorisant l'écrasement.

Liste de paramètres

field_override

Le nom du champ

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacetFields
SolrQuery::getFacetMethod
SolrQuery


Récupère la valeur du paramètre facet.method

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery
PHP Manual

SolrQuery::getFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::getFacetMethod — Récupère la valeur du paramètre facet.method

Description

public string SolrQuery::getFacetMethod ([ string $field_override ] )

Récupère la valeur du paramètre facet.method. La méthode accepte un champ à y substituer.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL s'il n'est pas défini.

SolrQuery::getFacetLimit
SolrQuery::getFacetMinCount
SolrQuery


Récupère le nombre minimal de facettes des champs qui doivent être incluses dans la réponse

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery
PHP Manual

SolrQuery::getFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::getFacetMinCount — Récupère le nombre minimal de facettes des champs qui doivent être incluses dans la réponse

Description

public int SolrQuery::getFacetMinCount ([ string $field_override ] )

Récupère le nombre minimal de facettes des champs qui doivent être incluses dans la réponse. Accepte un champ optionnel autorisant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacetMethod
SolrQuery::getFacetMissing
SolrQuery


Récupère l'état courant du paramètre facet.missing

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery
PHP Manual

SolrQuery::getFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::getFacetMissing — Récupère l'état courant du paramètre facet.missing

Description

public bool SolrQuery::getFacetMissing ([ string $field_override ] )

Récupère l'état courant du paramètre facet.missing. Accepte un champ optionnel autorisant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacetMinCount
SolrQuery::getFacetOffset
SolrQuery


Récupère la position dans la liste des contraintes à utiliser pour la pagination

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery
PHP Manual

SolrQuery::getFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::getFacetOffset — Récupère la position dans la liste des contraintes à utiliser pour la pagination

Description

public int SolrQuery::getFacetOffset ([ string $field_override ] )

Récupère la position dans la liste des contraintes à utiliser pour la pagination. Accepte un champ optionnel autorisant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacetMissing
SolrQuery::getFacetPrefix
SolrQuery


Récupère le préfixe de la facette

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery
PHP Manual

SolrQuery::getFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::getFacetPrefix — Récupère le préfixe de la facette

Description

public string SolrQuery::getFacetPrefix ([ string $field_override ] )

Récupère le préfixe de la facette.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacetOffset
SolrQuery::getFacetQueries
SolrQuery


Récupère toutes les facettes des requêtes

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery
PHP Manual

SolrQuery::getFacetQueries

(PECL solr >= 0.9.2)

SolrQuery::getFacetQueries — Récupère toutes les facettes des requêtes

Description

public array SolrQuery::getFacetQueries ( void )

Récupère toutes les facettes des requêtes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau en cas de succès, et NULL si aucun paramètre n'a été défini.

SolrQuery::getFacetPrefix
SolrQuery::getFacetSort
SolrQuery


Retourne le type de tri de la facette

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery
PHP Manual

SolrQuery::getFacetSort

(PECL solr >= 0.9.2)

SolrQuery::getFacetSort — Retourne le type de tri de la facette

Description

public int SolrQuery::getFacetSort ([ string $field_override ] )

Retourne un entier (SolrQuery::FACET_SORT_INDEX ou SolrQuery::FACET_SORT_COUNT).

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un entier (SolrQuery::FACET_SORT_INDEX ou SolrQuery::FACET_SORT_COUNT) en cas de succès, et NULL si aucun paramètre n'est défini.

SolrQuery::getFacetQueries
SolrQuery::getFields
SolrQuery


Récupère la liste des champs qui seront retournés dans la réponse

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery
PHP Manual

SolrQuery::getFields

(PECL solr >= 0.9.2)

SolrQuery::getFields — Récupère la liste des champs qui seront retournés dans la réponse

Description

public array SolrQuery::getFields ( void )

Récupère la liste des champs qui seront retournés dans la réponse.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getFacetSort
SolrQuery::getFilterQueries
SolrQuery


Récupère un tableau de filtres de requêtes

SolrQuery::getFields
SolrQuery::getHighlight
SolrQuery
PHP Manual

SolrQuery::getFilterQueries

(PECL solr >= 0.9.2)

SolrQuery::getFilterQueries — Récupère un tableau de filtres de requêtes

Description

public array SolrQuery::getFilterQueries ( void )

Récupère un tableau de filtres de requêtes. Ce sont les requêtes qui peuvent être utilisées pour restreindre le jeu de documents qui peut être retourné, sans influencer le score.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getFields
SolrQuery::getHighlight
SolrQuery


Récupère l'état du paramètre h1

SolrQuery::getFilterQueries
SolrQuery::getHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::getHighlight

(PECL solr >= 0.9.2)

SolrQuery::getHighlight — Récupère l'état du paramètre h1

Description

public bool SolrQuery::getHighlight ( void )

Retourne un booléen indiquant si les extraits mis en évidence doivent être générés dans la réponse.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getFilterQueries
SolrQuery::getHighlightAlternateField
SolrQuery


Récupère le champ mis en évidence à utiliser comme champ par défaut ou comme champ de sauvegarde

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery
PHP Manual

SolrQuery::getHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::getHighlightAlternateField — Récupère le champ mis en évidence à utiliser comme champ par défaut ou comme champ de sauvegarde

Description

public string SolrQuery::getHighlightAlternateField ([ string $field_override ] )

Récupère le champ mis en évidence à utiliser comme champ par défaut ou comme champ de sauvegarde. Accepte un champ optionnel autorisant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun n'a été défini.

SolrQuery::getHighlight
SolrQuery::getHighlightFields
SolrQuery


Récupère tous les champs pour lesquels Solr doit mettre en évidence un extrait

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::getHighlightFields

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFields — Récupère tous les champs pour lesquels Solr doit mettre en évidence un extrait

Description

public array SolrQuery::getHighlightFields ( void )

Récupère tous les champs pour lesquels Solr doit mettre en évidence un extrait.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau en cas de succès, et NULL si aucun n'a été défini.

SolrQuery::getHighlightAlternateField
SolrQuery::getHighlightFormatter
SolrQuery


Récupère le formatage utilisé pour mettre en évidence la sortie

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::getHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFormatter — Récupère le formatage utilisé pour mettre en évidence la sortie

Description

public string SolrQuery::getHighlightFormatter ([ string $field_override ] )

Récupère le formatage utilisé pour mettre en évidence la sortie.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightFields
SolrQuery::getHighlightFragmenter
SolrQuery


Récupère le générateur d'extrait de texte pour la mise en évidence

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::getHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragmenter — Récupère le générateur d'extrait de texte pour la mise en évidence

Description

public string SolrQuery::getHighlightFragmenter ([ string $field_override ] )

Récupère le générateur d'extrait de texte pour la mise en évidence. Accepte un champ optionnel permettant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightFormatter
SolrQuery::getHighlightFragsize
SolrQuery


Retourne le nombre de caractères des fragments à considérer pour la mise en évidence

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::getHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragsize — Retourne le nombre de caractères des fragments à considérer pour la mise en évidence

Description

public int SolrQuery::getHighlightFragsize ([ string $field_override ] )

Retourne le nombre de caractères des fragments à considérer pour la mise en évidence. Zéro signifie aucun fragments. Le champ entier devrait être utilisé.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightFragmenter
SolrQuery::getHighlightHighlightMultiTerm
SolrQuery


Retourne si l'on doit activer la mise en évidence pour les intervalles/jokers/flous/préfixes des requêtes

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::getHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::getHighlightHighlightMultiTerm — Retourne si l'on doit activer la mise en évidence pour les intervalles/jokers/flous/préfixes des requêtes

Description

public bool SolrQuery::getHighlightHighlightMultiTerm ( void )

Retourne si l'on doit activer la mise en évidence pour les intervalles/jokers/flous/préfixes des requêtes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightFragsize
SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery


Retourne le nombre maximal de caractères du champ à retourner

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAlternateFieldLength — Retourne le nombre maximal de caractères du champ à retourner

Description

public int SolrQuery::getHighlightMaxAlternateFieldLength ([ string $field_override ] )

Retourne le nombre maximal de caractères du champ à retourner.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightHighlightMultiTerm
SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery


Retourne le nombre maximal de caractères du document dans lequel les extraits seront cherchés

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::getHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAnalyzedChars — Retourne le nombre maximal de caractères du document dans lequel les extraits seront cherchés

Description

public int SolrQuery::getHighlightMaxAnalyzedChars ( void )

Retourne le nombre maximal de caractères du document dans lequel les extraits seront cherchés.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightMaxAlternateFieldLength
SolrQuery::getHighlightMergeContiguous
SolrQuery


Retourne si l'on doit rassembler les fragments contigus en un seul fragment

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::getHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMergeContiguous — Retourne si l'on doit rassembler les fragments contigus en un seul fragment

Description

public bool SolrQuery::getHighlightMergeContiguous ([ string $field_override ] )

Retourne si l'on doit rassembler les fragments contigus en un seul fragment. Accepte un champ optionnel permettant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightMaxAnalyzedChars
SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery


Retourne le nombre maximal de caractères depuis un champ lors de l'utilisation d'une regex

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexMaxAnalyzedChars — Retourne le nombre maximal de caractères depuis un champ lors de l'utilisation d'une regex

Description

public int SolrQuery::getHighlightRegexMaxAnalyzedChars ( void )

Retourne le nombre maximal de caractères depuis un champ lors de l'utilisation d'une regex.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightMergeContiguous
SolrQuery::getHighlightRegexPattern
SolrQuery


Récupère l'expression rationnelle utilisée pour la fragmentation

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexPattern — Récupère l'expression rationnelle utilisée pour la fragmentation

Description

public string SolrQuery::getHighlightRegexPattern ( void )

Récupère l'expression rationnelle utilisée pour la fragmentation.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightRegexMaxAnalyzedChars
SolrQuery::getHighlightRegexSlop
SolrQuery


Récupère le facteur de déviation depuis la taille du fragment idéal

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::getHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexSlop — Récupère le facteur de déviation depuis la taille du fragment idéal

Description

public float SolrQuery::getHighlightRegexSlop ( void )

Retourne le facteur utilisé par l'expression rationnelle de fragmentation pour la déviation depuis la taille idéal du fragment afin d'accommoder l'expression rationnelle.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un double en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightRegexPattern
SolrQuery::getHighlightRequireFieldMatch
SolrQuery


Retourne si le champ ne doit être mis en évidence que si la requête correspond à un champ en particulier

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::getHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRequireFieldMatch — Retourne si le champ ne doit être mis en évidence que si la requête correspond à un champ en particulier

Description

public bool SolrQuery::getHighlightRequireFieldMatch ( void )

Retourne si le champ ne doit être mis en évidence que si la requête correspond à un champ en particulier.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightRegexSlop
SolrQuery::getHighlightSimplePost
SolrQuery


Récupère le texte qui doit apparaître après le terme mise en évidence

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePost — Récupère le texte qui doit apparaître après le terme mise en évidence

Description

public string SolrQuery::getHighlightSimplePost ([ string $field_override ] )

Récupère le texte qui doit apparaître après le terme mise en évidence. Accepte un champ optionnel permettant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightRequireFieldMatch
SolrQuery::getHighlightSimplePre
SolrQuery


Retourne le texte qui doit apparaître avant le terme mise en évidence

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::getHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePre — Retourne le texte qui doit apparaître avant le terme mise en évidence

Description

public string SolrQuery::getHighlightSimplePre ([ string $field_override ] )

Retourne le texte qui doit apparaître avant le terme mise en évidence. Accepte un champ optionnel permettant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightSimplePost
SolrQuery::getHighlightSnippets
SolrQuery


Récupère le nombre maximal d'extraits mis en évidence à générer par champ

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::getHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSnippets — Récupère le nombre maximal d'extraits mis en évidence à générer par champ

Description

public int SolrQuery::getHighlightSnippets ([ string $field_override ] )

>Récupère le nombre maximal d'extraits mis en évidence à générer par champ. Accepte un champ optionnel permettant l'écrasement.

Liste de paramètres

field_override

Le nom du champ.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightSimplePre
SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery


Récupère l'état du paramètre hl.usePhraseHighlighter

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery
PHP Manual

SolrQuery::getHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightUsePhraseHighlighter — Récupère l'état du paramètre hl.usePhraseHighlighter

Description

public bool SolrQuery::getHighlightUsePhraseHighlighter ( void )

Retourne si l'on doit utiliser SpanScorer pour mettre en évidence les termes d'une phrase uniquement lorsqu'ils apparaissent dans la phrase de requête du document.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightSnippets
SolrQuery::getMlt
SolrQuery


Retourne si les résultats MoreLikeThis doivent être activés

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery
PHP Manual

SolrQuery::getMlt

(PECL solr >= 0.9.2)

SolrQuery::getMlt — Retourne si les résultats MoreLikeThis doivent être activés

Description

public bool SolrQuery::getMlt ( void )

Retourne si les résultats MoreLikeThis doivent être activés.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getHighlightUsePhraseHighlighter
SolrQuery::getMltBoost
SolrQuery


Retourne si la requête doit être améliorée en utilisant la pertinence des termes

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery
PHP Manual

SolrQuery::getMltBoost

(PECL solr >= 0.9.2)

SolrQuery::getMltBoost — Retourne si la requête doit être améliorée en utilisant la pertinence des termes

Description

public bool SolrQuery::getMltBoost ( void )

Retourne si la requête doit être améliorée en utilisant la pertinence des termes.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un booléen en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getMlt
SolrQuery::getMltCount
SolrQuery


Récupère le nombre de documents similaires à retourner pour chaque résultat

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery
PHP Manual

SolrQuery::getMltCount

(PECL solr >= 0.9.2)

SolrQuery::getMltCount — Récupère le nombre de documents similaires à retourner pour chaque résultat

Description

public int SolrQuery::getMltCount ( void )

Récupère le nombre de documents similaires à retourner pour chaque résultat.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un entier en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getMltBoost
SolrQuery::getMltFields
SolrQuery


Récupère tous les champs à utiliser pour la similarité

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::getMltFields

(PECL solr >= 0.9.2)

SolrQuery::getMltFields — Récupère tous les champs à utiliser pour la similarité

Description

public array SolrQuery::getMltFields ( void )

Récupère tous les champs à utiliser pour la similarité.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau en cas de succès, et NULL si aucun n'est défini.

SolrQuery::getMltCount
SolrQuery::getMltMaxNumQueryTerms
SolrQuery


Returns the maximum number of query terms that will be included in any generated query

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query

Description

public int SolrQuery::getMltMaxNumQueryTerms ( void )

Returns the maximum number of query terms that will be included in any generated query

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getMltFields
SolrQuery::getMltMaxNumTokens
SolrQuery


Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Description

public int SolrQuery::getMltMaxNumTokens ( void )

Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxNumQueryTerms
SolrQuery::getMltMaxWordLength
SolrQuery


Returns the maximum word length above which words will be ignored

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored

Description

public int SolrQuery::getMltMaxWordLength ( void )

Returns the maximum word length above which words will be ignored

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxNumTokens
SolrQuery::getMltMinDocFrequency
SolrQuery


Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::getMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Description

public int SolrQuery::getMltMinDocFrequency ( void )

Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getMltMaxWordLength
SolrQuery::getMltMinTermFrequency
SolrQuery


Returns the frequency below which terms will be ignored in the source document

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::getMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document

Description

public int SolrQuery::getMltMinTermFrequency ( void )

Returns the frequency below which terms will be ignored in the source document

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getMltMinDocFrequency
SolrQuery::getMltMinWordLength
SolrQuery


Returns the minimum word length below which words will be ignored

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery
PHP Manual

SolrQuery::getMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored

Description

public int SolrQuery::getMltMinWordLength ( void )

Returns the minimum word length below which words will be ignored

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getMltMinTermFrequency
SolrQuery::getMltQueryFields
SolrQuery


Returns the query fields and their boosts

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery
PHP Manual

SolrQuery::getMltQueryFields

(PECL solr >= 0.9.2)

SolrQuery::getMltQueryFields — Returns the query fields and their boosts

Description

public array SolrQuery::getMltQueryFields ( void )

Returns the query fields and their boosts

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array on success and NULL if not set.

SolrQuery::getMltMinWordLength
SolrQuery::getQuery
SolrQuery


Returns the main query

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery
PHP Manual

SolrQuery::getQuery

(PECL solr >= 0.9.2)

SolrQuery::getQuery — Returns the main query

Description

public string SolrQuery::getQuery ( void )

Returns the main search query

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and NULL if not set.

SolrQuery::getMltQueryFields
SolrQuery::getRows
SolrQuery


Returns the maximum number of documents

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery
PHP Manual

SolrQuery::getRows

(PECL solr >= 0.9.2)

SolrQuery::getRows — Returns the maximum number of documents

Description

public int SolrQuery::getRows ( void )

Returns the maximum number of documents from the complete result set to return to the client for every request

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getQuery
SolrQuery::getSortFields
SolrQuery


Returns all the sort fields

SolrQuery::getRows
SolrQuery::getStart
SolrQuery
PHP Manual

SolrQuery::getSortFields

(PECL solr >= 0.9.2)

SolrQuery::getSortFields — Returns all the sort fields

Description

public array SolrQuery::getSortFields ( void )

Returns all the sort fields

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array on success and NULL if none of the parameters was set.

SolrQuery::getRows
SolrQuery::getStart
SolrQuery


Returns the offset in the complete result set

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery
PHP Manual

SolrQuery::getStart

(PECL solr >= 0.9.2)

SolrQuery::getStart — Returns the offset in the complete result set

Description

public int SolrQuery::getStart ( void )

Returns the offset in the complete result set for the queries where the set of returned documents should begin.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getSortFields
SolrQuery::getStats
SolrQuery


Returns whether or not stats is enabled

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery
PHP Manual

SolrQuery::getStats

(PECL solr >= 0.9.2)

SolrQuery::getStats — Returns whether or not stats is enabled

Description

public bool SolrQuery::getStats ( void )

Returns whether or not stats is enabled

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a boolean on success and NULL if not set.

SolrQuery::getStart
SolrQuery::getStatsFacets
SolrQuery


Returns all the stats facets that were set

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery
PHP Manual

SolrQuery::getStatsFacets

(PECL solr >= 0.9.2)

SolrQuery::getStatsFacets — Returns all the stats facets that were set

Description

public array SolrQuery::getStatsFacets ( void )

Returns all the stats facets that were set

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array on success and NULL if not set.

SolrQuery::getStats
SolrQuery::getStatsFields
SolrQuery


Returns all the statistics fields

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery
PHP Manual

SolrQuery::getStatsFields

(PECL solr >= 0.9.2)

SolrQuery::getStatsFields — Returns all the statistics fields

Description

public array SolrQuery::getStatsFields ( void )

Returns all the statistics fields

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an array on success and NULL if not set.

SolrQuery::getStatsFacets
SolrQuery::getTerms
SolrQuery


Returns whether or not the TermsComponent is enabled

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery
PHP Manual

SolrQuery::getTerms

(PECL solr >= 0.9.2)

SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled

Description

public bool SolrQuery::getTerms ( void )

Returns whether or not the TermsComponent is enabled

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a boolean on success and NULL if not set.

SolrQuery::getStatsFields
SolrQuery::getTermsField
SolrQuery


Returns the field from which the terms are retrieved

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsField

(PECL solr >= 0.9.2)

SolrQuery::getTermsField — Returns the field from which the terms are retrieved

Description

public string SolrQuery::getTermsField ( void )

Returns the field from which the terms are retrieved

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and NULL if not set.

SolrQuery::getTerms
SolrQuery::getTermsIncludeLowerBound
SolrQuery


Returns whether or not to include the lower bound in the result set

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set

Description

public bool SolrQuery::getTermsIncludeLowerBound ( void )

Returns whether or not to include the lower bound in the result set

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsField
SolrQuery::getTermsIncludeUpperBound
SolrQuery


Returns whether or not to include the upper bound term in the result set

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery
PHP Manual

SolrQuery::getTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set

Description

public bool SolrQuery::getTermsIncludeUpperBound ( void )

Returns whether or not to include the upper bound term in the result set

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsIncludeLowerBound
SolrQuery::getTermsLimit
SolrQuery


Returns the maximum number of terms Solr should return

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::getTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return

Description

public int SolrQuery::getTermsLimit ( void )

Returns the maximum number of terms Solr should return

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getTermsIncludeUpperBound
SolrQuery::getTermsLowerBound
SolrQuery


Returns the term to start at

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::getTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsLowerBound — Returns the term to start at

Description

public string SolrQuery::getTermsLowerBound ( void )

Returns the term to start at

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and NULL if not set.

SolrQuery::getTermsLimit
SolrQuery::getTermsMaxCount
SolrQuery


Returns the maximum document frequency

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery
PHP Manual

SolrQuery::getTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMaxCount — Returns the maximum document frequency

Description

public int SolrQuery::getTermsMaxCount ( void )

Returns the maximum document frequency

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getTermsLowerBound
SolrQuery::getTermsMinCount
SolrQuery


Returns the minimum document frequency to return in order to be included

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery
PHP Manual

SolrQuery::getTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included

Description

public int SolrQuery::getTermsMinCount ( void )

Returns the minimum document frequency to return in order to be included

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getTermsMaxCount
SolrQuery::getTermsPrefix
SolrQuery


Returns the term prefix

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::getTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::getTermsPrefix — Returns the term prefix

Description

public string SolrQuery::getTermsPrefix ( void )

Returns the prefix to which matching terms must be restricted. This will restrict matches to only terms that start with the prefix

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and NULL if not set.

SolrQuery::getTermsMinCount
SolrQuery::getTermsReturnRaw
SolrQuery


Whether or not to return raw characters

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery
PHP Manual

SolrQuery::getTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::getTermsReturnRaw — Whether or not to return raw characters

Description

public bool SolrQuery::getTermsReturnRaw ( void )

Returns a boolean indicating whether or not to return the raw characters of the indexed term, regardless of if it is human readable

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a boolean on success and NULL if not set.

SolrQuery::getTermsPrefix
SolrQuery::getTermsSort
SolrQuery


Returns an integer indicating how terms are sorted

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::getTermsSort

(PECL solr >= 0.9.2)

SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted

Description

public int SolrQuery::getTermsSort ( void )

SolrQuery::TERMS_SORT_INDEX indicates that the terms are returned by index order. SolrQuery::TERMS_SORT_COUNT implies that the terms are sorted by term frequency (highest count first)

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns an integer on success and NULL if not set.

SolrQuery::getTermsReturnRaw
SolrQuery::getTermsUpperBound
SolrQuery


Returns the term to stop at

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery
PHP Manual

SolrQuery::getTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsUpperBound — Returns the term to stop at

Description

public string SolrQuery::getTermsUpperBound ( void )

Returns the term to stop at

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns a string on success and NULL if not set.

SolrQuery::getTermsSort
SolrQuery::getTimeAllowed
SolrQuery


Returns the time in milliseconds allowed for the query to finish

SolrQuery::getTermsUpperBound
SolrQuery::removeFacetDateField
SolrQuery
PHP Manual

SolrQuery::getTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish

Description

public int SolrQuery::getTimeAllowed ( void )

Returns the time in milliseconds allowed for the query to finish.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Returns and integer on success and NULL if it is not set.

SolrQuery::getTermsUpperBound
SolrQuery::removeFacetDateField
SolrQuery


Removes one of the facet date fields

SolrQuery::getTimeAllowed
SolrQuery::removeFacetDateOther
SolrQuery
PHP Manual

SolrQuery::removeFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateField — Removes one of the facet date fields

Description

public SolrQuery SolrQuery::removeFacetDateField ( string $field )

The name of the field

Liste de paramètres

field

The name of the date field to remove

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::getTimeAllowed
SolrQuery::removeFacetDateOther
SolrQuery


Removes one of the facet.date.other parameters

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery
PHP Manual

SolrQuery::removeFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters

Description

public SolrQuery SolrQuery::removeFacetDateOther ( string $value [, string $field_override ] )

Removes one of the facet.date.other parameters

Liste de paramètres

value

The value

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetDateField
SolrQuery::removeFacetField
SolrQuery


Removes one of the facet.date parameters

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery
PHP Manual

SolrQuery::removeFacetField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetField — Removes one of the facet.date parameters

Description

public SolrQuery SolrQuery::removeFacetField ( string $field )

Removes one of the facet.date parameters

Liste de paramètres

field

The name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetDateOther
SolrQuery::removeFacetQuery
SolrQuery


Removes one of the facet.query parameters

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery
PHP Manual

SolrQuery::removeFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFacetQuery — Removes one of the facet.query parameters

Description

public SolrQuery SolrQuery::removeFacetQuery ( string $value )

Removes one of the facet.query parameters.

Liste de paramètres

value

The value

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetField
SolrQuery::removeField
SolrQuery


Removes a field from the list of fields

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery
PHP Manual

SolrQuery::removeField

(PECL solr >= 0.9.2)

SolrQuery::removeField — Removes a field from the list of fields

Description

public SolrQuery SolrQuery::removeField ( string $field )

Removes a field from the list of fields

Liste de paramètres

field

Name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFacetQuery
SolrQuery::removeFilterQuery
SolrQuery


Removes a filter query

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery
PHP Manual

SolrQuery::removeFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFilterQuery — Removes a filter query

Description

public SolrQuery SolrQuery::removeFilterQuery ( string $fq )

Removes a filter query.

Liste de paramètres

fq

The filter query to remove

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeField
SolrQuery::removeHighlightField
SolrQuery


Removes one of the fields used for highlighting

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery
PHP Manual

SolrQuery::removeHighlightField

(PECL solr >= 0.9.2)

SolrQuery::removeHighlightField — Removes one of the fields used for highlighting

Description

public SolrQuery SolrQuery::removeHighlightField ( string $field )

Removes one of the fields used for highlighting.

Liste de paramètres

field

The name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeFilterQuery
SolrQuery::removeMltField
SolrQuery


Removes one of the moreLikeThis fields

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery
PHP Manual

SolrQuery::removeMltField

(PECL solr >= 0.9.2)

SolrQuery::removeMltField — Removes one of the moreLikeThis fields

Description

public SolrQuery SolrQuery::removeMltField ( string $field )

Removes one of the moreLikeThis fields.

Liste de paramètres

field

Name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeHighlightField
SolrQuery::removeMltQueryField
SolrQuery


Removes one of the moreLikeThis query fields

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery
PHP Manual

SolrQuery::removeMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields

Description

public SolrQuery SolrQuery::removeMltQueryField ( string $queryField )

Removes one of the moreLikeThis query fields.

Liste de paramètres

queryField

The query field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeMltField
SolrQuery::removeSortField
SolrQuery


Removes one of the sort fields

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery
PHP Manual

SolrQuery::removeSortField

(PECL solr >= 0.9.2)

SolrQuery::removeSortField — Removes one of the sort fields

Description

public SolrQuery SolrQuery::removeSortField ( string $field )

Removes one of the sort fields

Liste de paramètres

field

The name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeMltQueryField
SolrQuery::removeStatsFacet
SolrQuery


Removes one of the stats.facet parameters

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery
PHP Manual

SolrQuery::removeStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters

Description

public SolrQuery SolrQuery::removeStatsFacet ( string $value )

Removes one of the stats.facet parameters

Liste de paramètres

value

The value

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeSortField
SolrQuery::removeStatsField
SolrQuery


Removes one of the stats.field parameters

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery
PHP Manual

SolrQuery::removeStatsField

(PECL solr >= 0.9.2)

SolrQuery::removeStatsField — Removes one of the stats.field parameters

Description

public SolrQuery SolrQuery::removeStatsField ( string $field )

Removes one of the stats.field parameters

Liste de paramètres

field

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeStatsFacet
SolrQuery::setEchoHandler
SolrQuery


Toggles the echoHandler parameter

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery
PHP Manual

SolrQuery::setEchoHandler

(PECL solr >= 0.9.2)

SolrQuery::setEchoHandler — Toggles the echoHandler parameter

Description

public SolrQuery SolrQuery::setEchoHandler ( bool $flag )

If set to true, Solr places the name of the handle used in the response to the client for debugging purposes.

Liste de paramètres

flag

TRUE or FALSE

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::removeStatsField
SolrQuery::setEchoParams
SolrQuery


Determines what kind of parameters to include in the response

SolrQuery::setEchoHandler
SolrQuery::setExplainOther
SolrQuery
PHP Manual

SolrQuery::setEchoParams

(PECL solr >= 0.9.2)

SolrQuery::setEchoParams — Determines what kind of parameters to include in the response

Description

public SolrQuery SolrQuery::setEchoParams ( string $type )

Instructs Solr what kinds of Request parameters should be included in the response for debugging purposes, legal values include:

- none - don't include any request parameters for debugging
- explicit - include the parameters explicitly specified by the client in the request
- all - include all parameters involved in this request, either specified explicitly by the client, or implicit because of the request handler configuration.

Liste de paramètres

type

The type of parameters to include

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setEchoHandler
SolrQuery::setExplainOther
SolrQuery


Sets the explainOther common query parameter

SolrQuery::setEchoParams
SolrQuery::setFacet
SolrQuery
PHP Manual

SolrQuery::setExplainOther

(PECL solr >= 0.9.2)

SolrQuery::setExplainOther — Sets the explainOther common query parameter

Description

public SolrQuery SolrQuery::setExplainOther ( string $query )

Sets the explainOther common query parameter

Liste de paramètres

query

The Lucene query to identify a set of documents

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setEchoParams
SolrQuery::setFacet
SolrQuery


Maps to the facet parameter. Enables or disables facetting

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery
PHP Manual

SolrQuery::setFacet

(PECL solr >= 0.9.2)

SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting

Description

public SolrQuery SolrQuery::setFacet ( bool $flag )

Enables or disables faceting.

Liste de paramètres

value

TRUE enables faceting and FALSE disables it.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setExplainOther
SolrQuery::setFacetDateEnd
SolrQuery


Maps to facet.date.end

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery
PHP Manual

SolrQuery::setFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateEnd — Maps to facet.date.end

Description

public SolrQuery SolrQuery::setFacetDateEnd ( string $value [, string $field_override ] )

Maps to facet.date.end

Liste de paramètres

value

See facet.date.end

field_override

Name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacet
SolrQuery::setFacetDateGap
SolrQuery


Maps to facet.date.gap

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery
PHP Manual

SolrQuery::setFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateGap — Maps to facet.date.gap

Description

public SolrQuery SolrQuery::setFacetDateGap ( string $value [, string $field_override ] )

Maps to facet.date.gap

Liste de paramètres

value

See facet.date.gap

field_override

The name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateEnd
SolrQuery::setFacetDateHardEnd
SolrQuery


Maps to facet.date.hardend

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery
PHP Manual

SolrQuery::setFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend

Description

public SolrQuery SolrQuery::setFacetDateHardEnd ( bool $value [, string $field_override ] )

Maps to facet.date.hardend

Liste de paramètres

value

See facet.date.hardend

field_override

The name of the field

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateGap
SolrQuery::setFacetDateStart
SolrQuery


Maps to facet.date.start

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery
PHP Manual

SolrQuery::setFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateStart — Maps to facet.date.start

Description

public SolrQuery SolrQuery::setFacetDateStart ( string $value [, string $field_override ] )

Maps to facet.date.start

Liste de paramètres

value

See facet.date.start

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateHardEnd
SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery


Sets the minimum document frequency used for determining term count

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery
PHP Manual

SolrQuery::setFacetEnumCacheMinDefaultFrequency

(PECL solr >= 0.9.2)

SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count

Description

public SolrQuery SolrQuery::setFacetEnumCacheMinDefaultFrequency ( int $frequency [, string $field_override ] )

Sets the minimum document frequency used for determining term count

Liste de paramètres

value

The minimum frequency

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetDateStart
SolrQuery::setFacetLimit
SolrQuery


Maps to facet.limit

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery
PHP Manual

SolrQuery::setFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::setFacetLimit — Maps to facet.limit

Description

public SolrQuery SolrQuery::setFacetLimit ( int $limit [, string $field_override ] )

Maps to facet.limit. Sets the maximum number of constraint counts that should be returned for the facet fields.

Liste de paramètres

limit

The maximum number of constraint counts

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetEnumCacheMinDefaultFrequency
SolrQuery::setFacetMethod
SolrQuery


Specifies the type of algorithm to use when faceting a field

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery
PHP Manual

SolrQuery::setFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field

Description

public SolrQuery SolrQuery::setFacetMethod ( string $method [, string $field_override ] )

Specifies the type of algorithm to use when faceting a field. This method accepts optional field override.

Liste de paramètres

method

The method to use.

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetLimit
SolrQuery::setFacetMinCount
SolrQuery


Maps to facet.mincount

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery
PHP Manual

SolrQuery::setFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::setFacetMinCount — Maps to facet.mincount

Description

public SolrQuery SolrQuery::setFacetMinCount ( int $mincount [, string $field_override ] )

Sets the minimum counts for facet fields that should be included in the response

Liste de paramètres

mincount

The minimum count

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMethod
SolrQuery::setFacetMissing
SolrQuery


Maps to facet.missing

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery
PHP Manual

SolrQuery::setFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::setFacetMissing — Maps to facet.missing

Description

public SolrQuery SolrQuery::setFacetMissing ( bool $flag [, string $field_override ] )

Used to indicate that in addition to the Term-based constraints of a facet field, a count of all matching results which have no value for the field should be computed

Liste de paramètres

flag

TRUE turns this feature on. FALSE disables it.

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMinCount
SolrQuery::setFacetOffset
SolrQuery


Sets the offset into the list of constraints to allow for pagination

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery
PHP Manual

SolrQuery::setFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination

Description

public SolrQuery SolrQuery::setFacetOffset ( int $offset [, string $field_override ] )

Sets the offset into the list of constraints to allow for pagination.

Liste de paramètres

offset

The offset

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetMissing
SolrQuery::setFacetPrefix
SolrQuery


Specifies a string prefix with which to limits the terms on which to facet

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery
PHP Manual

SolrQuery::setFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet

Description

public SolrQuery SolrQuery::setFacetPrefix ( string $prefix [, string $field_override ] )

Specifies a string prefix with which to limits the terms on which to facet.

Liste de paramètres

prefix

The prefix string

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetOffset
SolrQuery::setFacetSort
SolrQuery


Determines the ordering of the facet field constraints

SolrQuery::setFacetPrefix
SolrQuery::setHighlight
SolrQuery
PHP Manual

SolrQuery::setFacetSort

(PECL solr >= 0.9.2)

SolrQuery::setFacetSort — Determines the ordering of the facet field constraints

Description

public SolrQuery SolrQuery::setFacetSort ( int $facetSort [, string $field_override ] )

Determines the ordering of the facet field constraints

Liste de paramètres

facetSort

Use SolrQuery::FACET_SORT_INDEX for sorting by index order or SolrQuery::FACET_SORT_COUNT for sorting by count.

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetPrefix
SolrQuery::setHighlight
SolrQuery


Enables or disables highlighting

SolrQuery::setFacetSort
SolrQuery::setHighlightAlternateField
SolrQuery
PHP Manual

SolrQuery::setHighlight

(PECL solr >= 0.9.2)

SolrQuery::setHighlight — Enables or disables highlighting

Description

public SolrQuery SolrQuery::setHighlight ( bool $flag )

Setting it to TRUE enables highlighted snippets to be generated in the query response.

Setting it to FALSE disables highlighting

Liste de paramètres

flag

Enable or disable highlighting

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setFacetSort
SolrQuery::setHighlightAlternateField
SolrQuery


Specifies the backup field to use

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery
PHP Manual

SolrQuery::setHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::setHighlightAlternateField — Specifies the backup field to use

Description

public SolrQuery SolrQuery::setHighlightAlternateField ( string $field [, string $field_override ] )

If a snippet cannot be generated because there were no matching terms, one can specify a field to use as the backup or default summary

Liste de paramètres

field

The name of the backup field

field_override

The name of the field we are overriding this setting for.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlight
SolrQuery::setHighlightFormatter
SolrQuery


Specify a formatter for the highlight output

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery
PHP Manual

SolrQuery::setHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output

Description

public SolrQuery SolrQuery::setHighlightFormatter ( string $formatter [, string $field_override ] )

Specify a formatter for the highlight output.

Liste de paramètres

formatter

Currently the only legal value is "simple"

field_override

The name of the field.

SolrQuery::setHighlightAlternateField
SolrQuery::setHighlightFragmenter
SolrQuery


Sets a text snippet generator for highlighted text

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery
PHP Manual

SolrQuery::setHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text

Description

public SolrQuery SolrQuery::setHighlightFragmenter ( string $fragmenter [, string $field_override ] )

Specify a text snippet generator for highlighted text.

Liste de paramètres

fragmenter

The standard fragmenter is gap. Another option is regex, which tries to create fragments that resembles a certain regular expression

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFormatter
SolrQuery::setHighlightFragsize
SolrQuery


The size of fragments to consider for highlighting

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery
PHP Manual

SolrQuery::setHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting

Description

public SolrQuery SolrQuery::setHighlightFragsize ( int $size [, string $field_override ] )

Sets the size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).

Liste de paramètres

size

The size, in characters, of fragments to consider for highlighting

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFragmenter
SolrQuery::setHighlightHighlightMultiTerm
SolrQuery


Use SpanScorer to highlight phrase terms

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery
PHP Manual

SolrQuery::setHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms

Description

public SolrQuery SolrQuery::setHighlightHighlightMultiTerm ( bool $flag )

Use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Liste de paramètres

flag

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightFragsize
SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery


Sets the maximum number of characters of the field to return

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return

Description

public SolrQuery SolrQuery::setHighlightMaxAlternateFieldLength ( int $fieldLength [, string $field_override ] )

If SolrQuery::setHighlightAlternateField() was passed the value TRUE, this parameter specifies the maximum number of characters of the field to return

Any value less than or equal to 0 means unlimited.

Liste de paramètres

fieldLength

The length of the field

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightHighlightMultiTerm
SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery


Specifies the number of characters into a document to look for suitable snippets

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery
PHP Manual

SolrQuery::setHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets

Description

public SolrQuery SolrQuery::setHighlightMaxAnalyzedChars ( int $value )

Specifies the number of characters into a document to look for suitable snippets

Liste de paramètres

value

The number of characters into a document to look for suitable snippets

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMaxAlternateFieldLength
SolrQuery::setHighlightMergeContiguous
SolrQuery


Whether or not to collapse contiguous fragments into a single fragment

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery
PHP Manual

SolrQuery::setHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment

Description

public SolrQuery SolrQuery::setHighlightMergeContiguous ( bool $flag [, string $field_override ] )

Whether or not to collapse contiguous fragments into a single fragment

Liste de paramètres

value

Whether or not to collapse contiguous fragments into a single fragment

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMaxAnalyzedChars
SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery


Specify the maximum number of characters to analyze

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze

Description

public SolrQuery SolrQuery::setHighlightRegexMaxAnalyzedChars ( int $maxAnalyzedChars )

Specify the maximum number of characters to analyze from a field when using the regex fragmenter

Liste de paramètres

maxAnalyzedChars

The maximum number of characters to analyze from a field when using the regex fragmenter

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightMergeContiguous
SolrQuery::setHighlightRegexPattern
SolrQuery


Specify the regular expression for fragmenting

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting

Description

public SolrQuery SolrQuery::setHighlightRegexPattern ( string $value )

Specifies the regular expression for fragmenting. This could be used to extract sentences

Liste de paramètres

value

The regular expression for fragmenting. This could be used to extract sentences

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexMaxAnalyzedChars
SolrQuery::setHighlightRegexSlop
SolrQuery


Sets the factor by which the regex fragmenter can stray from the ideal fragment size

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery
PHP Manual

SolrQuery::setHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size

Description

public SolrQuery SolrQuery::setHighlightRegexSlop ( float $factor )

The factor by which the regex fragmenter can stray from the ideal fragment size ( specfied by SolrQuery::setHighlightFragsize )to accomodate the regular expression

Liste de paramètres

factor

The factor by which the regex fragmenter can stray from the ideal fragment size

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexPattern
SolrQuery::setHighlightRequireFieldMatch
SolrQuery


Require field matching during highlighting

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery
PHP Manual

SolrQuery::setHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting

Description

public SolrQuery SolrQuery::setHighlightRequireFieldMatch ( bool $flag )

If TRUE, then a field will only be highlighted if the query matched in this particular field.

This will only work if SolrQuery::setHighlightUsePhraseHighlighter() was set to TRUE

Liste de paramètres

flag

TRUE or FALSE

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightRegexSlop
SolrQuery::setHighlightSimplePost
SolrQuery


Sets the text which appears after a highlighted term

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term

Description

public SolrQuery SolrQuery::setHighlightSimplePost ( string $simplePost [, string $field_override ] )

Sets the text which appears before a highlighted term

Liste de paramètres

simplePost

Sets the text which appears after a highlighted term

The default is </em>

field_override

The name of the field.

SolrQuery::setHighlightRequireFieldMatch
SolrQuery::setHighlightSimplePre
SolrQuery


Sets the text which appears before a highlighted term

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery
PHP Manual

SolrQuery::setHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term

Description

public SolrQuery SolrQuery::setHighlightSimplePre ( string $simplePre [, string $field_override ] )

Sets the text which appears before a highlighted term

The default is <em>

Liste de paramètres

simplePre

The text which appears before a highlighted term

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSimplePost
SolrQuery::setHighlightSnippets
SolrQuery


Sets the maximum number of highlighted snippets to generate per field

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery
PHP Manual

SolrQuery::setHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field

Description

public SolrQuery SolrQuery::setHighlightSnippets ( int $value [, string $field_override ] )

Sets the maximum number of highlighted snippets to generate per field

Liste de paramètres

value

The maximum number of highlighted snippets to generate per field

field_override

The name of the field.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSimplePre
SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery


Whether to highlight phrase terms only when they appear within the query phrase

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery
PHP Manual

SolrQuery::setHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase

Description

public SolrQuery SolrQuery::setHighlightUsePhraseHighlighter ( bool $flag )

Sets whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Liste de paramètres

value

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightSnippets
SolrQuery::setMlt
SolrQuery


Enables or disables moreLikeThis

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery
PHP Manual

SolrQuery::setMlt

(PECL solr >= 0.9.2)

SolrQuery::setMlt — Enables or disables moreLikeThis

Description

public SolrQuery SolrQuery::setMlt ( bool $flag )

Enables or disables moreLikeThis

Liste de paramètres

flag

TRUE enables it and FALSE turns it off.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setHighlightUsePhraseHighlighter
SolrQuery::setMltBoost
SolrQuery


Set if the query will be boosted by the interesting term relevance

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery
PHP Manual

SolrQuery::setMltBoost

(PECL solr >= 0.9.2)

SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance

Description

public SolrQuery SolrQuery::setMltBoost ( bool $flag )

Set if the query will be boosted by the interesting term relevance

Liste de paramètres

value

Sets to TRUE or FALSE

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMlt
SolrQuery::setMltCount
SolrQuery


Set the number of similar documents to return for each result

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery
PHP Manual

SolrQuery::setMltCount

(PECL solr >= 0.9.2)

SolrQuery::setMltCount — Set the number of similar documents to return for each result

Description

public SolrQuery SolrQuery::setMltCount ( int $count )

Set the number of similar documents to return for each result

Liste de paramètres

count

The number of similar documents to return for each result

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltBoost
SolrQuery::setMltMaxNumQueryTerms
SolrQuery


Sets the maximum number of query terms included

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included

Description

public SolrQuery SolrQuery::setMltMaxNumQueryTerms ( int $value )

Sets the maximum number of query terms that will be included in any generated query.

Liste de paramètres

value

The maximum number of query terms that will be included in any generated query

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltCount
SolrQuery::setMltMaxNumTokens
SolrQuery


Specifies the maximum number of tokens to parse

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse

Description

public SolrQuery SolrQuery::setMltMaxNumTokens ( int $value )

Specifies the maximum number of tokens to parse in each example doc field that is not stored with TermVector support.

Liste de paramètres

value

The maximum number of tokens to parse

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxNumQueryTerms
SolrQuery::setMltMaxWordLength
SolrQuery


Sets the maximum word length

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxWordLength — Sets the maximum word length

Description

public SolrQuery SolrQuery::setMltMaxWordLength ( int $maxWordLength )

Sets the maximum word length above which words will be ignored.

Liste de paramètres

maxWordLength

The maximum word length above which words will be ignored

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxNumTokens
SolrQuery::setMltMinDocFrequency
SolrQuery


Sets the mltMinDoc frequency

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery
PHP Manual

SolrQuery::setMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency

Description

public SolrQuery SolrQuery::setMltMinDocFrequency ( int $minDocFrequency )

The frequency at which words will be ignored which do not occur in at least this many docs.

Liste de paramètres

minDocFrequency

Sets the frequency at which words will be ignored which do not occur in at least this many docs.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMaxWordLength
SolrQuery::setMltMinTermFrequency
SolrQuery


Sets the frequency below which terms will be ignored in the source docs

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery
PHP Manual

SolrQuery::setMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs

Description

public SolrQuery SolrQuery::setMltMinTermFrequency ( int $minTermFrequency )

Sets the frequency below which terms will be ignored in the source docs

Liste de paramètres

minTermFrequency

The frequency below which terms will be ignored in the source docs

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinDocFrequency
SolrQuery::setMltMinWordLength
SolrQuery


Sets the minimum word length

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery
PHP Manual

SolrQuery::setMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMinWordLength — Sets the minimum word length

Description

public SolrQuery SolrQuery::setMltMinWordLength ( int $minWordLength )

Sets the minimum word length below which words will be ignored.

Liste de paramètres

minWordLength

The minimum word length below which words will be ignored

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinTermFrequency
SolrQuery::setOmitHeader
SolrQuery


Exclude the header from the returned results

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery
PHP Manual

SolrQuery::setOmitHeader

(PECL solr >= 0.9.2)

SolrQuery::setOmitHeader — Exclude the header from the returned results

Description

public SolrQuery SolrQuery::setOmitHeader ( bool $flag )

Exclude the header from the returned results.

Liste de paramètres

flag

TRUE excludes the header from the result.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setMltMinWordLength
SolrQuery::setQuery
SolrQuery


Sets the search query

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery
PHP Manual

SolrQuery::setQuery

(PECL solr >= 0.9.2)

SolrQuery::setQuery — Sets the search query

Description

public SolrQuery SolrQuery::setQuery ( string $query )

Sets the search query.

Liste de paramètres

query

The search query

Valeurs de retour

Returns the current SolrQuery object

SolrQuery::setOmitHeader
SolrQuery::setRows
SolrQuery


Specifies the maximum number of rows to return in the result

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery
PHP Manual

SolrQuery::setRows

(PECL solr >= 0.9.2)

SolrQuery::setRows — Specifies the maximum number of rows to return in the result

Description

public SolrQuery SolrQuery::setRows ( int $rows )

Specifies the maximum number of rows to return in the result

Liste de paramètres

rows

The maximum number of rows to return

Valeurs de retour

Returns the current SolrQuery object.

SolrQuery::setQuery
SolrQuery::setShowDebugInfo
SolrQuery


Flag to show debug information

SolrQuery::setRows
SolrQuery::setStart
SolrQuery
PHP Manual

SolrQuery::setShowDebugInfo

(PECL solr >= 0.9.2)

SolrQuery::setShowDebugInfo — Flag to show debug information

Description

public SolrQuery SolrQuery::setShowDebugInfo ( bool $flag )

Whether to show debug info

Liste de paramètres

flag

Whether to show debug info. TRUE or FALSE

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setRows
SolrQuery::setStart
SolrQuery


Specifies the number of rows to skip

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery
PHP Manual

SolrQuery::setStart

(PECL solr >= 0.9.2)

SolrQuery::setStart — Specifies the number of rows to skip

Description

public SolrQuery SolrQuery::setStart ( int $start )

Specifies the number of rows to skip. Useful in pagination of results.

Liste de paramètres

start

The number of rows to skip.

Valeurs de retour

Returns the current SolrQuery object.

SolrQuery::setShowDebugInfo
SolrQuery::setStats
SolrQuery


Enables or disables the Stats component

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery
PHP Manual

SolrQuery::setStats

(PECL solr >= 0.9.2)

SolrQuery::setStats — Enables or disables the Stats component

Description

public SolrQuery SolrQuery::setStats ( bool $flag )

Enables or disables the Stats component.

Liste de paramètres

flag

TRUE turns on the stats component and FALSE disables it.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setStart
SolrQuery::setTerms
SolrQuery


Enables or disables the TermsComponent

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery
PHP Manual

SolrQuery::setTerms

(PECL solr >= 0.9.2)

SolrQuery::setTerms — Enables or disables the TermsComponent

Description

public SolrQuery SolrQuery::setTerms ( bool $flag )

Enables or disables the TermsComponent

Liste de paramètres

flag

TRUE enables it. FALSE turns it off

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setStats
SolrQuery::setTermsField
SolrQuery


Sets the name of the field to get the Terms from

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsField

(PECL solr >= 0.9.2)

SolrQuery::setTermsField — Sets the name of the field to get the Terms from

Description

public SolrQuery SolrQuery::setTermsField ( string $fieldname )

Sets the name of the field to get the terms from

Liste de paramètres

fieldname

The field name

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTerms
SolrQuery::setTermsIncludeLowerBound
SolrQuery


Include the lower bound term in the result set

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set

Description

public SolrQuery SolrQuery::setTermsIncludeLowerBound ( bool $flag )

Include the lower bound term in the result set.

Liste de paramètres

flag

Include the lower bound term in the result set

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsField
SolrQuery::setTermsIncludeUpperBound
SolrQuery


Include the upper bound term in the result set

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery
PHP Manual

SolrQuery::setTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set

Description

public SolrQuery SolrQuery::setTermsIncludeUpperBound ( bool $flag )

Include the upper bound term in the result set.

Liste de paramètres

flag

TRUE or FALSE

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsIncludeLowerBound
SolrQuery::setTermsLimit
SolrQuery


Sets the maximum number of terms to return

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery
PHP Manual

SolrQuery::setTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::setTermsLimit — Sets the maximum number of terms to return

Description

public SolrQuery SolrQuery::setTermsLimit ( int $limit )

Sets the maximum number of terms to return

Liste de paramètres

limit

The maximum number of terms to return. All the terms will be returned if the limit is negative.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsIncludeUpperBound
SolrQuery::setTermsLowerBound
SolrQuery


Specifies the Term to start from

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery
PHP Manual

SolrQuery::setTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsLowerBound — Specifies the Term to start from

Description

public SolrQuery SolrQuery::setTermsLowerBound ( string $lowerBound )

Specifies the Term to start from

Liste de paramètres

lowerBound

The lower bound Term

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsLimit
SolrQuery::setTermsMaxCount
SolrQuery


Sets the maximum document frequency

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery
PHP Manual

SolrQuery::setTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMaxCount — Sets the maximum document frequency

Description

public SolrQuery SolrQuery::setTermsMaxCount ( int $frequency )

Sets the maximum document frequency.

Liste de paramètres

frequency

The maximum document frequency.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsLowerBound
SolrQuery::setTermsMinCount
SolrQuery


Sets the minimum document frequency

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery
PHP Manual

SolrQuery::setTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMinCount — Sets the minimum document frequency

Description

public SolrQuery SolrQuery::setTermsMinCount ( int $frequency )

Sets the minimum doc frequency to return in order to be included

Liste de paramètres

frequency

The minimum frequency

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsMaxCount
SolrQuery::setTermsPrefix
SolrQuery


Restrict matches to terms that start with the prefix

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery
PHP Manual

SolrQuery::setTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix

Description

public SolrQuery SolrQuery::setTermsPrefix ( string $prefix )

Restrict matches to terms that start with the prefix

Liste de paramètres

prefix

Restrict matches to terms that start with the prefix

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsMinCount
SolrQuery::setTermsReturnRaw
SolrQuery


Return the raw characters of the indexed term

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery
PHP Manual

SolrQuery::setTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term

Description

public SolrQuery SolrQuery::setTermsReturnRaw ( bool $flag )

If true, return the raw characters of the indexed term, regardless of if it is human readable

Liste de paramètres

value

TRUE or FALSE

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsPrefix
SolrQuery::setTermsSort
SolrQuery


Specifies how to sort the returned terms

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery
PHP Manual

SolrQuery::setTermsSort

(PECL solr >= 0.9.2)

SolrQuery::setTermsSort — Specifies how to sort the returned terms

Description

public SolrQuery SolrQuery::setTermsSort ( int $sortType )

If SolrQuery::TERMS_SORT_COUNT, sorts the terms by the term frequency (highest count first). If SolrQuery::TERMS_SORT_INDEX, returns the terms in index order

Liste de paramètres

sortType

SolrQuery::TERMS_SORT_INDEX or SolrQuery::TERMS_SORT_COUNT

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsReturnRaw
SolrQuery::setTermsUpperBound
SolrQuery


Sets the term to stop at

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery
PHP Manual

SolrQuery::setTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsUpperBound — Sets the term to stop at

Description

public SolrQuery SolrQuery::setTermsUpperBound ( string $upperBound )

Sets the term to stop at

Liste de paramètres

upperBound

The term to stop at

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsSort
SolrQuery::setTimeAllowed
SolrQuery


The time allowed for search to finish

SolrQuery::setTermsUpperBound
SolrException
SolrQuery
PHP Manual

SolrQuery::setTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::setTimeAllowed — The time allowed for search to finish

Description

public SolrQuery SolrQuery::setTimeAllowed ( int $timeAllowed )

The time allowed for a search to finish. This value only applies to the search and not to requests in general. Time is in milliseconds. Values less than or equal to zero implies no time restriction. Partial results may be returned, if there are any.

Liste de paramètres

timeAllowed

The time allowed for a search to finish.

Valeurs de retour

Returns the current SolrQuery object, if the return value is used.

SolrQuery::setTermsUpperBound
SolrException
SolrQuery


The SolrException class

Introduction

This is the base class for all exception thrown by the Solr extension classes.

Synopsis de la classe

SolrException
SolrException extends Exception {
/* Propriétés */
protected integer $sourceline ;
protected string $sourcefile ;
protected string $zif_name ;
/* Méthodes */
public array getInternalInfo ( void )
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propriétés

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Sommaire

  • SolrException::getInternalInfo — Récupère des informations internes lorsqu'une exception a été lancée
SolrQuery::setTimeAllowed
SolrException::getInternalInfo
Solr


Récupère des informations internes lorsqu'une exception a été lancée

SolrException
SolrClientException
SolrException
PHP Manual

SolrException::getInternalInfo

(PECL solr >= 0.9.2)

SolrException::getInternalInfo — Récupère des informations internes lorsqu'une exception a été lancée

Description

public array SolrException::getInternalInfo ( void )

Récupère des informations internes lorsqu'une exception a été lancée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant des informations internes lorsqu'une exception a été lancée. Utilisé uniquement dans un cadre de débogage pour les développeurs de l'extension.

SolrException
SolrClientException
SolrException


The SolrClientException class

Introduction

An exception thrown when there is an error while making a request to the server from the client.

Synopsis de la classe

SolrClientException
SolrClientException extends SolrException {
/* Propriétés */
/* Méthodes */
public array getInternalInfo ( void )
/* Méthodes héritées */
public array SolrException::getInternalInfo ( void )
}

Propriétés

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Sommaire

  • SolrClientException::getInternalInfo — Retourne des informations internes sur l'endroit d'où est lancée l'exception
SolrException::getInternalInfo
SolrClientException::getInternalInfo
Solr


Retourne des informations internes sur l'endroit d'où est lancée l'exception

SolrClientException
SolrIllegalArgumentException
SolrClientException
PHP Manual

SolrClientException::getInternalInfo

(PECL solr >= 0.9.2)

SolrClientException::getInternalInfo — Retourne des informations internes sur l'endroit d'où est lancée l'exception

Description

public array SolrClientException::getInternalInfo ( void )

Retourne des informations internes sur l'endroit d'où est lancée l'exception.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant des informations internes sur l'endroit d'où est lancée l'exception. Utilisé uniquement par les developpeurs de l'extension.

SolrClientException
SolrIllegalArgumentException
SolrClientException


The SolrIllegalArgumentException class

Introduction

This object is thrown when an illeglal or invalid argument is passed to a method.

Synopsis de la classe

SolrIllegalArgumentException
SolrIllegalArgumentException extends SolrException {
/* Propriétés */
/* Méthodes */
public array getInternalInfo ( void )
/* Méthodes héritées */
public array SolrException::getInternalInfo ( void )
}

Propriétés

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Sommaire

  • SolrIllegalArgumentException::getInternalInfo — Retourne des informations sur l'endroit d'où l'exception a été émise
SolrClientException::getInternalInfo
SolrIllegalArgumentException::getInternalInfo
Solr


Retourne des informations sur l'endroit d'où l'exception a été émise

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException
PHP Manual

SolrIllegalArgumentException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalArgumentException::getInternalInfo — Retourne des informations sur l'endroit d'où l'exception a été émise

Description

public array SolrIllegalArgumentException::getInternalInfo ( void )

Retourne des informations sur l'endroit d'où l'exception a été émise.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant des informations internes d'où l'exception a été émise. Utilisé uniquement pour le déboguage par les développeurs de l'extension.

SolrIllegalArgumentException
SolrIllegalOperationException
SolrIllegalArgumentException


The SolrIllegalOperationException class

Introduction

This object is thrown when an illegal or unsupported operation is performed on an object.

Synopsis de la classe

SolrIllegalOperationException
SolrIllegalOperationException extends SolrException {
/* Propriétés */
/* Méthodes */
public array getInternalInfo ( void )
/* Méthodes héritées */
public array SolrException::getInternalInfo ( void )
}

Propriétés

message

The error message

code

The error code

file

The userspace php source file where exception was generated

line

The line in userspace php source file where exception was generated

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

Sommaire

  • SolrIllegalOperationException::getInternalInfo — Récupère des informations internes lorsqu'une exception a été lancée
SolrIllegalArgumentException::getInternalInfo
SolrIllegalOperationException::getInternalInfo
Solr


Récupère des informations internes lorsqu'une exception a été lancée

SolrIllegalOperationException
Extensions spécifiques aux serveurs
SolrIllegalOperationException
PHP Manual

SolrIllegalOperationException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalOperationException::getInternalInfo — Récupère des informations internes lorsqu'une exception a été lancée

Description

public array SolrIllegalOperationException::getInternalInfo ( void )

Récupère des informations internes lorsqu'une exception a été lancée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant des informations internes lorsqu'une exception a été lancée. Utilisé uniquement dans un cadre de débogage pour les développeurs de l'extension.

SolrIllegalOperationException
Extensions spécifiques aux serveurs
SolrIllegalOperationException


Extensions spécifiques aux serveurs

  • Apache
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Apache
  • IIS — Administration d'IIS
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions IIS
  • NSAPI
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions NSAPI
SolrIllegalOperationException::getInternalInfo
Apache
Référence des fonctions


Apache

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Apache
    • apache_child_terminate — Termine le processus Apache après cette requête
    • apache_get_modules — Retourne la liste des modules Apache chargés
    • apache_get_version — Récupère la version d'Apache
    • apache_getenv — Lit une variable de processus Apache
    • apache_lookup_uri — Effectue une requête partielle pour l'URI spécifiée et renvoie toutes les informations la concernant
    • apache_note — Affiche ou affecte le paramètre "apache request notes"
    • apache_request_headers — Récupère tous les en-têtes HTTP de la requête
    • apache_reset_timeout — Remet à sa position initiale le temporisateur d'Apache
    • apache_response_headers — Récupère tous les en-têtes de réponse HTTP
    • apache_setenv — Modifie une variable de processus Apache
    • getallheaders — Récupère tous les en-têtes de la requête HTTP
    • virtual — Effectue une sous-requête Apache
Extensions spécifiques aux serveurs
Introduction
Extensions spécifiques aux serveurs


Introduction

Ces fonctions ne sont disponibles que lorsque PHP est exécuté comme module d'Apache.

Note: Depuis PHP 4.3.2, PATH_TRANSLATED n'est plus défini implicitement sous Apache 2 SAPI contrairement à Apache 1, où cette variable était définie avec la même valeur que la variable serveur SCRIPT_FILENAME lorsqu'elle n'était pas définie par Apache. Cette modification a été effectuée afin de répondre aux spécifications CGI stipulant que PATH_TRANSLATED ne doit exister que si PATH_INFO est définie. Les utilisateurs d'Apache 2 doivent utiliser la directive AcceptPathInfo = On dans le fichier httpd.conf afin de définir la variable PATH_INFO.

Apache
Installation/Configuration
Apache


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Apache


Installation

Pour une installation de PHP sous Apache, lisez le chapitre sur l'installation.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement du module PHP d'Apache peut être configuré dans le fichier php.ini. Les configurations du php.ini peuvent être remplacées par l'option php_flag dans le fichier de configuration du serveur, ou dans les fichiers locaux .htaccess.

Exemple #1 Désactiver l'analyse des fichiers PHP dans un dossier avec .htaccess

php_flag engine off

Options de configuration Apache
Nom | Défaut | Modifiable | Historique
engine | "1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
child_terminate | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
last_modified | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
xbithack | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

engine booléen

Active ou non PHP. Cette directive est utile uniquement pour le module Apache. Elle est utilisée par les sites qui souhaitent activer ou non PHP, au cas par cas, par dossier ou par dossier virtuel. En utilisant engine off au bon endroit dans le fichier httpd.conf, PHP peut être activé ou non.

child_terminate booléen

Spécifie si les scripts PHP peuvent réclamer la fin des processus fils en fin de requête. Voir aussi apache_child_terminate().

last_modified booléen

Envoie la date de modification des scripts PHP dans l'en-tête HTTP Last-Modified:.

xbithack booléen

Analyse les fichiers avec l'exécutable PHP, indépendamment de leur extension.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Apache
Apache


Fonctions Apache

Sommaire

  • apache_child_terminate — Termine le processus Apache après cette requête
  • apache_get_modules — Retourne la liste des modules Apache chargés
  • apache_get_version — Récupère la version d'Apache
  • apache_getenv — Lit une variable de processus Apache
  • apache_lookup_uri — Effectue une requête partielle pour l'URI spécifiée et renvoie toutes les informations la concernant
  • apache_note — Affiche ou affecte le paramètre "apache request notes"
  • apache_request_headers — Récupère tous les en-têtes HTTP de la requête
  • apache_reset_timeout — Remet à sa position initiale le temporisateur d'Apache
  • apache_response_headers — Récupère tous les en-têtes de réponse HTTP
  • apache_setenv — Modifie une variable de processus Apache
  • getallheaders — Récupère tous les en-têtes de la requête HTTP
  • virtual — Effectue une sous-requête Apache
Constantes pré-définies
apache_child_terminate
Apache


Termine le processus Apache après cette requête

Fonctions Apache
apache_get_modules
Fonctions Apache
PHP Manual

apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5)

apache_child_terminate — Termine le processus Apache après cette requête

Description

bool apache_child_terminate ( void )

apache_child_terminate() va programmer le processus Apache pour qu'il se termine une fois la requête PHP courante terminée. Cela peut servir à terminer un processus après un script qui aurait consommé beaucoup de mémoire. En effet, la mémoire est généralement libérée de manière interne, mais pas rendue au système.

Valeurs de retour

Retourne TRUE si PHP fonctionne en tant que module d'Apache 1, que la version d'Apache n'est pas multithread et que la directive PHP child_terminate est activée (désactivée par défaut). Si ces conditions ne sont pas respectées, FALSE est retourné et une erreur de niveau E_WARNING est générée.

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

Voir aussi

  • exit() - Affiche un message et termine le script courant

Fonctions Apache
apache_get_modules
Fonctions Apache


Retourne la liste des modules Apache chargés

apache_child_terminate
apache_get_version
Fonctions Apache
PHP Manual

apache_get_modules

(PHP 4 >= 4.3.2, PHP 5)

apache_get_modules — Retourne la liste des modules Apache chargés

Description

array apache_get_modules ( void )

Retourne la liste des modules Apache chargés.

Valeurs de retour

Un tableau contenant les modules Apache chargés.

Historique

Version | Description
5.0.0 | Cette fonction est devenue disponible lors de l'utilisation d'Apache 1 ou de l'API "filter" de PHP Apache 2. Avant cette version, elle n'était disponible qu'en utilisant l'API "handler" d'Apache 2.

Exemples

Exemple #1 Exemple avec apache_get_modules()

<?php
print_r(apache_get_modules());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

apache_child_terminate
apache_get_version
Fonctions Apache


Récupère la version d'Apache

apache_get_modules
apache_getenv
Fonctions Apache
PHP Manual

apache_get_version

(PHP 4 >= 4.3.2, PHP 5)

apache_get_version — Récupère la version d'Apache

Description

string apache_get_version ( void )

Récupère la version d'Apache.

Valeurs de retour

Retourne la version d'Apache en cas de réussite ou FALSE si une erreur survient.

Historique

Version | Description
4.3.4 | Devenue disponible avec Apache 1.
5.0.0 | Devenue disponible avec l'API "filter" d'Apache 2.

Exemples

Exemple #1 Exemple avec apache_get_version()

<?php
$version = apache_get_version();
echo "$version\n";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Apache/1.3.29 (Unix) PHP/4.3.4

Voir aussi

  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP

apache_get_modules
apache_getenv
Fonctions Apache


Lit une variable de processus Apache

apache_get_version
apache_lookup_uri
Fonctions Apache
PHP Manual

apache_getenv

(PHP 4 >= 4.3.0, PHP 5)

apache_getenv — Lit une variable de processus Apache

Description

string apache_getenv ( string $variable [, bool $walk_to_top ] )

Récupère une variable d'environnement d'Apache.

Cette fonction requiert Apache 2, autrement elle est indéfinie.

Liste de paramètres

variable

La variable d'environnement Apache.

walk_to_top

Si passé à TRUE, récupération de la variable de haut niveau disponible pour toutes les couches d'Apache.

Valeurs de retour

La valeur de la variable d'environnement d'Apache en cas de réussite ou FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec apache_getenv()

L'exemple suivant montre comment récupérer la valeur de la variable d'environnement SERVER_ADDR.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

42.24.42.240

Voir aussi

  • apache_setenv() - Modifie une variable de processus Apache
  • getenv() - Retourne la valeur d'une variable d'environnement
  • Superglobales

apache_get_version
apache_lookup_uri
Fonctions Apache


Effectue une requête partielle pour l'URI spécifiée et renvoie toutes les informations la concernant

apache_getenv
apache_note
Fonctions Apache
PHP Manual

apache_lookup_uri

(PHP 4, PHP 5)

apache_lookup_uri — Effectue une requête partielle pour l'URI spécifiée et renvoie toutes les informations la concernant

Description

object apache_lookup_uri ( string $filename )

Cette fonction effectue une requête partielle pour l'URI spécifiée. Cette requête permet juste de récupérer toutes les informations importantes à propos de la ressource concernée.

Cette fonction n'est supportée que si PHP est installé en tant que module d'Apache.

Liste de paramètres

filename

Le nom du fichier (URI) qui sera demandé.

Valeurs de retour

Un objet des informations relatives à l'URI. Les propriétés de l'objet sont les suivantes :

  • status
  • the_request
  • status_line
  • method
  • content_type
  • handler
  • uri
  • filename
  • path_info
  • args
  • boundary
  • no_cache
  • no_local_copy
  • allowed
  • send_bodyct
  • bytes_sent
  • byterange
  • clength
  • unparsed_uri
  • mtime
  • request_time

Exemples

Exemple #1 Exemple avec apache_lookup_uri()

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
    echo 'le fichier existe !';
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
le fichier existe !

apache_getenv
apache_note
Fonctions Apache


Affiche ou affecte le paramètre "apache request notes"

apache_lookup_uri
apache_request_headers
Fonctions Apache
PHP Manual

apache_note

(PHP 4, PHP 5)

apache_note — Affiche ou affecte le paramètre "apache request notes"

Description

string apache_note ( string $note_name [, string $note_value ] )

Cette fonction est une abstraction des commandes table_get et table_set d'Apache. Elle édite la table des notes qui existe lors d'une requête. Le but de cette table est de permettre aux modules Apache de communiquer.

L'utilité de la fonction apache_note() est de passer des informations d'un module vers un autre, durant la même requête.

Liste de paramètres

note_name

Le nom de la note.

note_value

La valeur de la note.

Valeurs de retour

Si la fonction est appelée avec un argument, elle renvoie la valeur courante de la variable note_name. Si elle est appelée avec deux arguments, elle affecte à la note note_name la valeur note_value et elle retournera la valeur précédente de la variable note_name. Si la note ne peut être récupérée, FALSE est retourné.

Exemples

Exemple #1 Passage d'informations entre PHP et Perl

<?php

apache_note('name', 'Fredrik Ekengren');

// Appel du script Perl
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?>
# Récupération de l'objet de demande Apache
my $r = Apache->request()->main();

# Récupération des données passées
my $name = $r->notes('name');

# Des traitements

# Envoi du résultat vers PHP
$r->notes('resultdata', $result);

Exemple #2 Valeurs d'identification dans le fichier access.log

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" peut être utilisé dans la directive LogFormat

Voir aussi

  • virtual() - Effectue une sous-requête Apache

apache_lookup_uri
apache_request_headers
Fonctions Apache


Récupère tous les en-têtes HTTP de la requête

apache_note
apache_reset_timeout
Fonctions Apache
PHP Manual

apache_request_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_request_headers — Récupère tous les en-têtes HTTP de la requête

Description

array apache_request_headers ( void )

Récupère tous les en-têtes HTTP de la requête courante.

Cette fonction n'est supportée que si PHP est installé en tant que module d'Apache.

Valeurs de retour

Un tableau associatif avec tous les en-têtes HTTP de la requête courante ou FALSE en cas d'échec.

Historique

Version | Description
4.3.3

Note: Depuis PHP 4.3.3, vous pouvez utiliser cette fonction avec le module NSAPI des serveurs Netscape/iPlanet/SunONE.
4.3.0 | Avant PHP 4.3.0, apache_request_headers() s'appelait getallheaders(). Depuis PHP 4.3.0, getallheaders() est un alias de la fonction apache_request_headers().

Exemples

Exemple #1 Exemple avec apache_request_headers()

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive

Notes

Note: Vous pouvez aussi obtenir les valeurs des variables CGI communes en les lisant dans l'environnement, ce qui fonctionne, que vous soyez ou non en module Apache. Utilisez la fonction phpinfo() pour connaître la liste des variables d'environnement disponibles.

Voir aussi

  • apache_response_headers() - Récupère tous les en-têtes de réponse HTTP

apache_note
apache_reset_timeout
Fonctions Apache


Remet à sa position initiale le temporisateur d'Apache

apache_request_headers
apache_response_headers
Fonctions Apache
PHP Manual

apache_reset_timeout

(PHP 5 >= 5.1.0)

apache_reset_timeout — Remet à sa position initiale le temporisateur d'Apache

Description

bool apache_reset_timeout ( void )

apache_reset_timeout() remet à sa position initiale le temporisateur d'Apache, qui vaut par défaut 300 secondes. Avec des appels à set_time_limit(0); ignore_user_abort(true) et des appels périodiques à apache_reset_timeout(), Apache peut, théoriquement, fonctionner sans arrêt.

Cette fonction nécessite Apache 1.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Cette fonction est désactivée par le safe-mode

Voir aussi

  • set_time_limit() - Fixe le temps maximum d'exécution d'un script
  • ignore_user_abort() - Active l'interruption de script sur déconnexion du visiteur

apache_request_headers
apache_response_headers
Fonctions Apache


Récupère tous les en-têtes de réponse HTTP

apache_reset_timeout
apache_setenv
Fonctions Apache
PHP Manual

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers — Récupère tous les en-têtes de réponse HTTP

Description

array apache_response_headers ( void )

Récupère tous les en-têtes de réponse HTTP.

Valeurs de retour

Un tableau de tous les en-têtes de réponse d'Apache en cas de réussite ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apache_response_headers()

<?php
print_r(apache_response_headers());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Notes

Note: Depuis PHP 4.3.3, vous pouvez utiliser cette fonction avec le module NSAPI des serveurs Netscape/iPlanet/SunONE.

Voir aussi

  • apache_request_headers() - Récupère tous les en-têtes HTTP de la requête
  • headers_sent() - Indique si les en-têtes HTTP ont déjà été envoyés
  • headers_list() - Retourne la liste des en-têtes de réponse du script courant

apache_reset_timeout
apache_setenv
Fonctions Apache


Modifie une variable de processus Apache

apache_response_headers
getallheaders
Fonctions Apache
PHP Manual

apache_setenv

(PHP 4 >= 4.2.0, PHP 5)

apache_setenv — Modifie une variable de processus Apache

Description

bool apache_setenv ( string $variable , string $value [, bool $walk_to_top = false ] )

apache_setenv() définit la valeur de la variable d'environnement Apache spécifiée par le paramètre variable.

Note: Lors de la définition d'une variable d'environnement Apache, la variable $_SERVER correspondante n'est pas modifiée.

Liste de paramètres

variable

La variable d'environnement qui sera modifiée.

value

La nouvelle valeur de variable.

walk_to_top

Si passé à TRUE, assignation de la variable de haut niveau disponible pour toutes les couches d'Apache.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec apache_setenv()

<?php
apache_setenv("EXAMPLE_VAR", "Exemple de Valeur");
?>

Notes

Note: apache_setenv() peut être utilisée conjointement à apache_getenv() à travers plusieurs pages ou pour définir des variables à passer aux fichiers inclus coté serveur (.shtml) via des scripts PHP.

Voir aussi

  • apache_getenv() - Lit une variable de processus Apache

apache_response_headers
getallheaders
Fonctions Apache


Récupère tous les en-têtes de la requête HTTP

apache_setenv
virtual
Fonctions Apache
PHP Manual

getallheaders

(PHP 4, PHP 5)

getallheaders — Récupère tous les en-têtes de la requête HTTP

Description

array getallheaders ( void )

Récupère tous les en-têtes de la requête HTTP.

Cette fonction est un alias de la fonction apache_request_headers(). Lisez la documentation de apache_request_headers() pour plus d'informations sur le fonctionnement de cette fonction.

Cette fonction n'est supportée que si PHP est installé en tant que module d'Apache.

Valeurs de retour

Un tableau associatif avec tous les en-têtes HTTP de la requête courante ou FALSE en cas d'échec.

Historique

Version | Description
4.3.0 | Devient un alias pour apache_request_headers(). Essentiellement, cette fonction a été renommée. Cela est dû au fait que cette fonction ne fonctionne que sous Apache.

Exemples

Exemple #1 Exemple avec getallheaders()

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value\n";
}

?>

Notes

Note: Depuis PHP 4.3.3, vous pouvez utiliser cette fonction avec le module NSAPI des serveurs Netscape/iPlanet/SunONE.

Voir aussi

  • apache_response_headers() - Récupère tous les en-têtes de réponse HTTP

apache_setenv
virtual
Fonctions Apache


Effectue une sous-requête Apache

getallheaders
IIS
Fonctions Apache
PHP Manual

virtual

(PHP 4, PHP 5)

virtual — Effectue une sous-requête Apache

Description

bool virtual ( string $filename )

virtual() est une fonction spécifique au serveur Apache. Elle est similaire à la directive "<!--#include virtual...-->" lorsque vous utilisez le module mod_include d'Apache. Cette fonction effectue une sous-requête Apache. C'est très utile lorsque vous voulez analyser des scripts CGI, des fichiers .shtml ou n'importe quel autre type de fichier à travers le serveur Apache. Il est à noter que lors de l'utilisation avec des scripts CGI, ces derniers doivent générer un en-tête valide, c'est-à-dire, au minimum un en-tête Content-Type.

Pour exécuter une sous-requête, tous les tampons sont arrêtés et vidés vers le navigateur, les en-têtes restants le sont aussi.

Liste de paramètres

filename

Le fichier sur lequel la commande virtuelle sera effectuée.

Valeurs de retour

Exécute une commande virtuelle en cas de succès ou retourne FALSE en cas d'échec.

Historique

Version | Description
4.0.6 | Cette fonction peut être utilisée sur des fichiers PHP. Toutefois, il est conseillé d'utiliser les fonctions include() et require() pour les fichiers PHP.

Exemples

Voir la fonction apache_note() pour un exemple.

Notes

Avertissement

La chaîne requise peut être passée au fichier inclus, mais $_GET est copié depuis le script parent et seule la variable $_SERVER['QUERY_STRING'] est transmise en passant la chaîne requise. La chaîne requise passée fonctionne uniquement sous Apache 2. Les fichiers demandés ne sont pas listés dans les logs d'accès Apache.

Note: Les variables d'environnement fixées dans le fichier demandé ne sont pas visibles dans le fichier appelant.

Note: Depuis PHP 4.3.3, vous pouvez utiliser cette fonction avec le module NSAPI des serveurs Netscape/iPlanet/SunONE.

Voir aussi

  • apache_note() - Affiche ou affecte le paramètre "apache request notes"

getallheaders
IIS
Fonctions Apache


Administration d'IIS

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions IIS
    • iis_add_server — Crée un nouveau serveur web virtuel
    • iis_get_dir_security — Lit la configuration de sécurité du dossier
    • iis_get_script_map — Lit le mappage de script dans un dossier virtuel donné
    • iis_get_server_by_comment — Retourne le numéro d'instance associé à un Comment
    • iis_get_server_by_path — Retourne le numéro d'instance associé avec le chemin
    • iis_get_server_rights — Lit les droits du serveur
    • iis_get_service_state — Retourne l'état du service défini par ServiceId
    • iis_remove_server — Supprime le serveur IIS représenté par ServerInstance
    • iis_set_app_settings — Crée un espace d'exécution pour une application dans un dossier virtuel
    • iis_set_dir_security — Modifie la configuration de sécurité du dossier
    • iis_set_script_map — Modifie le mappage de script pour un dossier virtuel
    • iis_set_server_rights — Modifie les droits du serveur
    • iis_start_server — Démarre le serveur web virtuel
    • iis_start_service — Démarre le service IIS identifié par ServiceId
    • iis_stop_server — Stoppe le serveur web virtuel
    • iis_stop_service — Stoppe le service IIS identifié par ServiceId
virtual
Introduction
Extensions spécifiques aux serveurs


Introduction

Cette extension n'est disponible que pour Windows. Elle fournit des fonctions d'administration de Microsoft Internet Information Server (IIS). Cette extension inclut des fonctions pour créer des sites web et des dossiers virtuels, ainsi que pour configurer la sécurité et le extensions de scripts. Ces fonctions ont été ajoutées en PHP 4.

IIS
Installation/Configuration
IIS


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
IIS


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/iisfunc.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

IIS_READ (entier)
IIS_WRITE (entier)
IIS_EXECUTE (entier)
IIS_SCRIPT (entier)
IIS_ANONYMOUS (entier)
IIS_BASIC (entier)
IIS_NTLM (entier)
IIS_STARTING (entier)
IIS_STOPPED (entier)
IIS_PAUSED (entier)
IIS_RUNNING (entier)
Types de ressources
Fonctions IIS
IIS


Fonctions IIS

Sommaire

  • iis_add_server — Crée un nouveau serveur web virtuel
  • iis_get_dir_security — Lit la configuration de sécurité du dossier
  • iis_get_script_map — Lit le mappage de script dans un dossier virtuel donné
  • iis_get_server_by_comment — Retourne le numéro d'instance associé à un Comment
  • iis_get_server_by_path — Retourne le numéro d'instance associé avec le chemin
  • iis_get_server_rights — Lit les droits du serveur
  • iis_get_service_state — Retourne l'état du service défini par ServiceId
  • iis_remove_server — Supprime le serveur IIS représenté par ServerInstance
  • iis_set_app_settings — Crée un espace d'exécution pour une application dans un dossier virtuel
  • iis_set_dir_security — Modifie la configuration de sécurité du dossier
  • iis_set_script_map — Modifie le mappage de script pour un dossier virtuel
  • iis_set_server_rights — Modifie les droits du serveur
  • iis_start_server — Démarre le serveur web virtuel
  • iis_start_service — Démarre le service IIS identifié par ServiceId
  • iis_stop_server — Stoppe le serveur web virtuel
  • iis_stop_service — Stoppe le service IIS identifié par ServiceId
Constantes pré-définies
iis_add_server
IIS


Crée un nouveau serveur web virtuel

Fonctions IIS
iis_get_dir_security
Fonctions IIS
PHP Manual

iis_add_server

(PECL iisfunc SVN)

iis_add_server — Crée un nouveau serveur web virtuel

Description

int iis_add_server ( string $path , string $comment , string $server_ip , int $port , string $host_name , int $rights , int $start_server )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fonctions IIS
iis_get_dir_security
Fonctions IIS


Lit la configuration de sécurité du dossier

iis_add_server
iis_get_script_map
Fonctions IIS
PHP Manual

iis_get_dir_security

(PECL iisfunc SVN)

iis_get_dir_security — Lit la configuration de sécurité du dossier

Description

int iis_get_dir_security ( int $server_instance , string $virtual_path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_add_server
iis_get_script_map
Fonctions IIS


Lit le mappage de script dans un dossier virtuel donné

iis_get_dir_security
iis_get_server_by_comment
Fonctions IIS
PHP Manual

iis_get_script_map

(PECL iisfunc SVN)

iis_get_script_map — Lit le mappage de script dans un dossier virtuel donné

Description

string iis_get_script_map ( int $server_instance , string $virtual_path , string $script_extension )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_get_dir_security
iis_get_server_by_comment
Fonctions IIS


Retourne le numéro d'instance associé à un Comment

iis_get_script_map
iis_get_server_by_path
Fonctions IIS
PHP Manual

iis_get_server_by_comment

(PECL iisfunc SVN)

iis_get_server_by_comment — Retourne le numéro d'instance associé à un Comment

Description

int iis_get_server_by_comment ( string $comment )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_get_script_map
iis_get_server_by_path
Fonctions IIS


Retourne le numéro d'instance associé avec le chemin

iis_get_server_by_comment
iis_get_server_rights
Fonctions IIS
PHP Manual

iis_get_server_by_path

(PECL iisfunc SVN)

iis_get_server_by_path — Retourne le numéro d'instance associé avec le chemin

Description

int iis_get_server_by_path ( string $path )

Chaque serveur virtuel sous IIS est représenté par un numéro d'instance. iis_get_server_by_path() trouve ce numéro d'instance à partir du chemin physique jusqu'à la racine du dossier.

Liste de paramètres

path

Le chemin vers le dossier racine

Valeurs de retour

Retourne le numéro d'instance du serveur.

iis_get_server_by_comment
iis_get_server_rights
Fonctions IIS


Lit les droits du serveur

iis_get_server_by_path
iis_get_service_state
Fonctions IIS
PHP Manual

iis_get_server_rights

(PECL iisfunc SVN)

iis_get_server_rights — Lit les droits du serveur

Description

int iis_get_server_rights ( int $server_instance , string $virtual_path )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_get_server_by_path
iis_get_service_state
Fonctions IIS


Retourne l'état du service défini par ServiceId

iis_get_server_rights
iis_remove_server
Fonctions IIS
PHP Manual

iis_get_service_state

(PECL iisfunc SVN)

iis_get_service_state — Retourne l'état du service défini par ServiceId

Description

int iis_get_service_state ( string $service_id )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_get_server_rights
iis_remove_server
Fonctions IIS


Supprime le serveur IIS représenté par ServerInstance

iis_get_service_state
iis_set_app_settings
Fonctions IIS
PHP Manual

iis_remove_server

(PECL iisfunc SVN)

iis_remove_server — Supprime le serveur IIS représenté par ServerInstance

Description

int iis_remove_server ( int $server_instance )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_get_service_state
iis_set_app_settings
Fonctions IIS


Crée un espace d'exécution pour une application dans un dossier virtuel

iis_remove_server
iis_set_dir_security
Fonctions IIS
PHP Manual

iis_set_app_settings

(PECL iisfunc SVN)

iis_set_app_settings — Crée un espace d'exécution pour une application dans un dossier virtuel

Description

int iis_set_app_settings ( int $server_instance , string $virtual_path , string $application_scope )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_remove_server
iis_set_dir_security
Fonctions IIS


Modifie la configuration de sécurité du dossier

iis_set_app_settings
iis_set_script_map
Fonctions IIS
PHP Manual

iis_set_dir_security

(PECL iisfunc SVN)

iis_set_dir_security — Modifie la configuration de sécurité du dossier

Description

int iis_set_dir_security ( int $server_instance , string $virtual_path , int $directory_flags )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_set_app_settings
iis_set_script_map
Fonctions IIS


Modifie le mappage de script pour un dossier virtuel

iis_set_dir_security
iis_set_server_rights
Fonctions IIS
PHP Manual

iis_set_script_map

(PECL iisfunc SVN)

iis_set_script_map — Modifie le mappage de script pour un dossier virtuel

Description

int iis_set_script_map ( int $server_instance , string $virtual_path , string $script_extension , string $engine_path , int $allow_scripting )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_set_dir_security
iis_set_server_rights
Fonctions IIS


Modifie les droits du serveur

iis_set_script_map
iis_start_server
Fonctions IIS
PHP Manual

iis_set_server_rights

(PECL iisfunc SVN)

iis_set_server_rights — Modifie les droits du serveur

Description

int iis_set_server_rights ( int $server_instance , string $virtual_path , int $directory_flags )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_set_script_map
iis_start_server
Fonctions IIS


Démarre le serveur web virtuel

iis_set_server_rights
iis_start_service
Fonctions IIS
PHP Manual

iis_start_server

(PECL iisfunc SVN)

iis_start_server — Démarre le serveur web virtuel

Description

int iis_start_server ( int $server_instance )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_set_server_rights
iis_start_service
Fonctions IIS


Démarre le service IIS identifié par ServiceId

iis_start_server
iis_stop_server
Fonctions IIS
PHP Manual

iis_start_service

(PECL iisfunc SVN)

iis_start_service — Démarre le service IIS identifié par ServiceId

Description

int iis_start_service ( string $service_id )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_start_server
iis_stop_server
Fonctions IIS


Stoppe le serveur web virtuel

iis_start_service
iis_stop_service
Fonctions IIS
PHP Manual

iis_stop_server

(PECL iisfunc SVN)

iis_stop_server — Stoppe le serveur web virtuel

Description

int iis_stop_server ( int $server_instance )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_start_service
iis_stop_service
Fonctions IIS


Stoppe le service IIS identifié par ServiceId

iis_stop_server
NSAPI
Fonctions IIS
PHP Manual

iis_stop_service

(PECL iisfunc SVN)

iis_stop_service — Stoppe le service IIS identifié par ServiceId

Description

int iis_stop_service ( string $service_id )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

iis_stop_server
NSAPI
Fonctions IIS


NSAPI

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions NSAPI
    • nsapi_request_headers — Lit tous les en-têtes de requête HTTP sur un serveur Netscape
    • nsapi_response_headers — Lit tous les en-têtes de réponse HTTP sur Netscape serveur
    • nsapi_virtual — Effectue une sous-requête NSAPI
iis_stop_service
Introduction
Extensions spécifiques aux serveurs


Introduction

Ces fonctions ne sont disponibles que lorsque vous utilisez PHP comme module NSAPI avec les serveurs Netscape/iPlanet/Sun.

NSAPI
Installation/Configuration
NSAPI


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
NSAPI


Installation

Pour l'installation de PHP sur les serveurs Netscape/iPlanet/Sun voyez la section NSAPI (UNIX, Windows) dans le chapitre d'installation.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement du module PHP NSAPI est affecté par le fichier de configuration php.ini. Les configurations du fichier php.ini peuvent être remplacées par d'autres paramètres de la fonction php4_execute dans obj.conf

Options de configuration NSAPI
Nom | Défaut | Modifiable | Historique
nsapi.read_timeout | 60 | PHP_INI_ALL | Disponible depuis PHP 4.3.3.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

nsapi.read_timeout entier

Configure la durée d'attente des données envoyées en méthode POST par le client.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions NSAPI
NSAPI


Fonctions NSAPI

Voir aussi

NSAPI implémente un sous-ensemble des fonctions du module Apache, pour un maximum de compatibilité.

Fonctions Apache implémentées par NSAPI
Fonction Apache (uniquement un alias) | Fonction NSAPI | Description
apache_request_headers() | nsapi_request_headers() | Lit tous les en-têtes de requête HTTP
apache_response_headers() | nsapi_response_headers() | Lit tous les en-têtes de réponse HTTP
getallheaders() | nsapi_request_headers() | Lit tous les en-têtes de requête HTTP
virtual() | nsapi_virtual() | Fait une sous-requête NSAPI

Sommaire

  • nsapi_request_headers — Lit tous les en-têtes de requête HTTP sur un serveur Netscape
  • nsapi_response_headers — Lit tous les en-têtes de réponse HTTP sur Netscape serveur
  • nsapi_virtual — Effectue une sous-requête NSAPI
Constantes pré-définies
nsapi_request_headers
NSAPI


Lit tous les en-têtes de requête HTTP sur un serveur Netscape

Fonctions NSAPI
nsapi_response_headers
Fonctions NSAPI
PHP Manual

nsapi_request_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_request_headers — Lit tous les en-têtes de requête HTTP sur un serveur Netscape

Description

array nsapi_request_headers ( void )

nsapi_request_headers() retourne un tableau associatif avec tous les en-têtes HTTP de la requête courante. C'est uniquement disponible si PHP fonctionne en tant que module NSAPI.

Note: Avant PHP 4.3.3, getallheaders() n'était disponible que pour les serveurs Apaches. Depuis PHP 4.3.3, getallheaders() est un alias de la fonction nsapi_request_headers() si vous utilisez ce module.

Note: Vous pouvez aussi obtenir une valeur des variables CGI communes en lisant dans la variable $_SERVER, qui fonctionne si vous utilisez PHP en tant que module NSAPI ou non.

Valeurs de retour

Retourne un tableau associatif contenant tous les en-têtes HTTP.

Exemples

Exemple #1 Exemple avec nsapi_request_headers()

<?php
$headers = nsapi_request_headers();

foreach ($headers as $header => $value) {
  echo "$header: $value <br />\n";
}
?>

Fonctions NSAPI
nsapi_response_headers
Fonctions NSAPI


Lit tous les en-têtes de réponse HTTP sur Netscape serveur

nsapi_request_headers
nsapi_virtual
Fonctions NSAPI
PHP Manual

nsapi_response_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_response_headers — Lit tous les en-têtes de réponse HTTP sur Netscape serveur

Description

array nsapi_response_headers ( void )

nsapi_response_headers() lit tous les en-têtes de réponse HTTP sur Netscape serveur.

Valeurs de retour

Retourne un tableau associatif contenant tous les en-têtes de réponse NSAPI.

Voir aussi

  • nsapi_request_headers() - Lit tous les en-têtes de requête HTTP sur un serveur Netscape
  • headers_sent() - Indique si les en-têtes HTTP ont déjà été envoyés

nsapi_request_headers
nsapi_virtual
Fonctions NSAPI


Effectue une sous-requête NSAPI

nsapi_response_headers
Extensions sur les Sessions
Fonctions NSAPI
PHP Manual

nsapi_virtual

(PHP 4 >= 4.3.3, PHP 5)

nsapi_virtual — Effectue une sous-requête NSAPI

Description

bool nsapi_virtual ( string $uri )

virtual() est une fonction spécifique NSAPI, qui est l'équivalent de <!--#include virtual...--> en SSI (fichiers .shtml). Elle effectue une sous-requête NSAPI. C'est pratique pour inclure des scripts CGI ou .shtml ou d'autres choses que vous voulez faire analyser par le serveur web.

Pour exécuter une sous-requête, tous les buffers doivent être vidés vers le navigateur, ainsi que les en-têtes.

Vous ne pouvez pas faire de requêtes récursives avec cette fonction, vers un autre script PHP. Si vous voulez inclure des scripts PHP utilisez la fonction include() ou require().

Note: Cette fonction dépend d'une fonctionnalité non documentée de Netscape/iPlanet/Sun. Utilisez phpinfo() pour vérifier si elle est disponible. En environnement Unix, cela devrait toujours fonctionner, sous Windows, cela dépend du nom du fichier ns-httpdXX.dll.
Lisez la note à propos des sous-requêtes dans la section NSAPI (UNIX, Windows) si vous avez ce problème.

Liste de paramètres

uri

L'URI du script.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

nsapi_response_headers
Extensions sur les Sessions
Fonctions NSAPI


Extensions sur les Sessions

  • Msession — Fonctions sur le gestionnaire de session Mohawk
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Msession
  • Sessions — Gestion des sessions
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Sessions et sécurité
    • Fonctions Session
  • Session PgSQL — Sauvegarde d'Identifiant de session dans PostgreSQL
    • Introduction
    • Installation/Configuration
    • Définitions de Table
    • Constantes pré-définies
    • Session PgSQL Fonctions
nsapi_virtual
Msession
Référence des fonctions


Fonctions sur le gestionnaire de session Mohawk

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Msession
    • msession_connect — Ouvre la connexion au serveur msession
    • msession_count — Compte le nombre de sessions
    • msession_create — Crée une session
    • msession_destroy — Détruit une session
    • msession_disconnect — Ferme la connexion au serveur msession
    • msession_find — Trouve toutes les sessions avec un nom et une valeur
    • msession_get_array — Lit un tableau de variables msession
    • msession_get_data — Lit les données de la session
    • msession_get — Lit une valeur dans une session
    • msession_inc — Incrémente une valeur dans une session
    • msession_list — Liste toutes les sessions
    • msession_listvar — Liste les sessions contenant une variable
    • msession_lock — Verrouille une session
    • msession_plugin — Appel une fonction d'échappement dans les plugins de personnalité msession
    • msession_randstr — Lit une chaîne aléatoire
    • msession_set_array — Définit les variables msession depuis un tableau
    • msession_set_data — Définit les données de session
    • msession_set — Modifie une valeur dans la session
    • msession_timeout — Lit et/ou modifie la durée de vie d'une session
    • msession_uniq — Récupère un identifiant unique
    • msession_unlock — Déverrouille une session
Extensions sur les Sessions
Introduction
Extensions sur les Sessions


Introduction

msession est une interface avec un démon de sessions rapides, qui permet de gérer les sessions localement ou à distance. Il est conçu pour fournir une gestion de sessions cohérente pour une ferme de serveurs PHP. Plus d'informations sur les msession et le démon sont disponibles sur le site » http://www.mohawksoft.org/?q=node/8.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.3.

Msession
Installation/Configuration
Msession


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Msession


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/msession.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.3

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Msession
Msession


Fonctions Msession

Sommaire

  • msession_connect — Ouvre la connexion au serveur msession
  • msession_count — Compte le nombre de sessions
  • msession_create — Crée une session
  • msession_destroy — Détruit une session
  • msession_disconnect — Ferme la connexion au serveur msession
  • msession_find — Trouve toutes les sessions avec un nom et une valeur
  • msession_get_array — Lit un tableau de variables msession
  • msession_get_data — Lit les données de la session
  • msession_get — Lit une valeur dans une session
  • msession_inc — Incrémente une valeur dans une session
  • msession_list — Liste toutes les sessions
  • msession_listvar — Liste les sessions contenant une variable
  • msession_lock — Verrouille une session
  • msession_plugin — Appel une fonction d'échappement dans les plugins de personnalité msession
  • msession_randstr — Lit une chaîne aléatoire
  • msession_set_array — Définit les variables msession depuis un tableau
  • msession_set_data — Définit les données de session
  • msession_set — Modifie une valeur dans la session
  • msession_timeout — Lit et/ou modifie la durée de vie d'une session
  • msession_uniq — Récupère un identifiant unique
  • msession_unlock — Déverrouille une session
Constantes pré-définies
msession_connect
Msession


Ouvre la connexion au serveur msession

Fonctions Msession
msession_count
Fonctions Msession
PHP Manual

msession_connect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_connect — Ouvre la connexion au serveur msession

Description

bool msession_connect ( string $host , string $port )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fonctions Msession
msession_count
Fonctions Msession


Compte le nombre de sessions

msession_connect
msession_create
Fonctions Msession
PHP Manual

msession_count

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_count — Compte le nombre de sessions

Description

int msession_count ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_connect
msession_create
Fonctions Msession


Crée une session

msession_count
msession_destroy
Fonctions Msession
PHP Manual

msession_create

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_create — Crée une session

Description

bool msession_create ( string $session [, string $classname [, string $data ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_count
msession_destroy
Fonctions Msession


Détruit une session

msession_create
msession_disconnect
Fonctions Msession
PHP Manual

msession_destroy

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_destroy — Détruit une session

Description

bool msession_destroy ( string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_create
msession_disconnect
Fonctions Msession


Ferme la connexion au serveur msession

msession_destroy
msession_find
Fonctions Msession
PHP Manual

msession_disconnect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_disconnect — Ferme la connexion au serveur msession

Description

void msession_disconnect ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_destroy
msession_find
Fonctions Msession


Trouve toutes les sessions avec un nom et une valeur

msession_disconnect
msession_get_array
Fonctions Msession
PHP Manual

msession_find

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_find — Trouve toutes les sessions avec un nom et une valeur

Description

array msession_find ( string $name , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_disconnect
msession_get_array
Fonctions Msession


Lit un tableau de variables msession

msession_find
msession_get_data
Fonctions Msession
PHP Manual

msession_get_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_array — Lit un tableau de variables msession

Description

array msession_get_array ( string $session )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_find
msession_get_data
Fonctions Msession


Lit les données de la session

msession_get_array
msession_get
Fonctions Msession
PHP Manual

msession_get_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_data — Lit les données de la session

Description

string msession_get_data ( string $session )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_get_array
msession_get
Fonctions Msession


Lit une valeur dans une session

msession_get_data
msession_inc
Fonctions Msession
PHP Manual

msession_get

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get — Lit une valeur dans une session

Description

string msession_get ( string $session , string $name , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_get_data
msession_inc
Fonctions Msession


Incrémente une valeur dans une session

msession_get
msession_list
Fonctions Msession
PHP Manual

msession_inc

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_inc — Incrémente une valeur dans une session

Description

string msession_inc ( string $session , string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_get
msession_list
Fonctions Msession


Liste toutes les sessions

msession_inc
msession_listvar
Fonctions Msession
PHP Manual

msession_list

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_list — Liste toutes les sessions

Description

array msession_list ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_inc
msession_listvar
Fonctions Msession


Liste les sessions contenant une variable

msession_list
msession_lock
Fonctions Msession
PHP Manual

msession_listvar

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_listvar — Liste les sessions contenant une variable

Description

array msession_listvar ( string $name )

Utilisée pour rechercher les sessions ayant des attributs communs.

Liste de paramètres

name

Le nom à chercher.

Valeurs de retour

Retourne un tableau associatif des valeurs que prend la variable de session name dans les différentes sessions en cours.

msession_list
msession_lock
Fonctions Msession


Verrouille une session

msession_listvar
msession_plugin
Fonctions Msession
PHP Manual

msession_lock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_lock — Verrouille une session

Description

int msession_lock ( string $name )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_listvar
msession_plugin
Fonctions Msession


Appel une fonction d'échappement dans les plugins de personnalité msession

msession_lock
msession_randstr
Fonctions Msession
PHP Manual

msession_plugin

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_plugin — Appel une fonction d'échappement dans les plugins de personnalité msession

Description

string msession_plugin ( string $session , string $val [, string $param ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_lock
msession_randstr
Fonctions Msession


Lit une chaîne aléatoire

msession_plugin
msession_set_array
Fonctions Msession
PHP Manual

msession_randstr

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_randstr — Lit une chaîne aléatoire

Description

string msession_randstr ( int $param )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_plugin
msession_set_array
Fonctions Msession


Définit les variables msession depuis un tableau

msession_randstr
msession_set_data
Fonctions Msession
PHP Manual

msession_set_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_array — Définit les variables msession depuis un tableau

Description

void msession_set_array ( string $session , array $tuples )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_randstr
msession_set_data
Fonctions Msession


Définit les données de session

msession_set_array
msession_set
Fonctions Msession
PHP Manual

msession_set_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_data — Définit les données de session

Description

bool msession_set_data ( string $session , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_set_array
msession_set
Fonctions Msession


Modifie une valeur dans la session

msession_set_data
msession_timeout
Fonctions Msession
PHP Manual

msession_set

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set — Modifie une valeur dans la session

Description

bool msession_set ( string $session , string $name , string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_set_data
msession_timeout
Fonctions Msession


Lit et/ou modifie la durée de vie d'une session

msession_set
msession_uniq
Fonctions Msession
PHP Manual

msession_timeout

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_timeout — Lit et/ou modifie la durée de vie d'une session

Description

int msession_timeout ( string $session [, int $param ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_set
msession_uniq
Fonctions Msession


Récupère un identifiant unique

msession_timeout
msession_unlock
Fonctions Msession
PHP Manual

msession_uniq

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_uniq — Récupère un identifiant unique

Description

string msession_uniq ( int $param [, string $classname [, string $data ]] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_timeout
msession_unlock
Fonctions Msession


Déverrouille une session

msession_uniq
Sessions
Fonctions Msession
PHP Manual

msession_unlock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_unlock — Déverrouille une session

Description

int msession_unlock ( string $session , int $key )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

msession_uniq
Sessions
Fonctions Msession


Gestion des sessions

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Enregistrer une variable avec $_SESSION.
    • Passer l'identifiant de session (session ID)
    • Gestion personnalisée des sessions
  • Sessions et sécurité
  • Fonctions Session
    • session_cache_expire — Retourne la configuration actuelle du délai d'expiration du cache
    • session_cache_limiter — Lit et/ou modifie le limiteur de cache de session
    • session_commit — Alias de session_write_close
    • session_decode — Décode les données de session
    • session_destroy — Détruit une session
    • session_encode — Encode les données de session
    • session_get_cookie_params — Lit la configuration du cookie de session
    • session_id — Lit et/ou modifie l'identifiant courant de session
    • session_is_registered — Vérifie si une variable est enregistrée dans la session
    • session_module_name — Lit et/ou modifie le module de session courant
    • session_name — Lit et/ou modifie le nom de la session
    • session_regenerate_id — Remplace l'identifiant de session courant par un nouveau
    • session_register — Enregistre une variable globale dans une session
    • session_save_path — Lit et/ou modifie le chemin de sauvegarde des sessions
    • session_set_cookie_params — Modifie les paramètres du cookie de session
    • session_set_save_handler — Configure les fonctions de stockage de sessions
    • session_start — Initialise une session
    • session_unregister — Supprime une variable de la session
    • session_unset — Détruit toutes les variables d'une session
    • session_write_close — Écrit les données de session et ferme la session
msession_unlock
Introduction
Extensions sur les Sessions


Introduction

Le support des sessions de PHP est un moyen de préserver des données entre plusieurs accès. Cela vous permet de créer des applications personnalisées, et d'augmenter l'attrait de votre site.

Chaque visiteur accédant à votre page web se voit assigner un identifiant unique, appelé "identifiant de session". Il peut être stocké soit dans un cookie, soit propagé dans l'URL.

Le support des sessions vous permet d'enregistrer un nombre illimité de variables qui doivent être préservées entre les requêtes. Lorsqu'un visiteur accède à votre site, PHP va vérifier automatiquement (si session.auto_start est activé) ou sur demande (explicitement avec session_start() ou implicitement avec session_register()) s'il existe une session du même nom. Si c'est le cas, l'environnement précédemment sauvé sera recréé.

Attention

Si vous activez session.auto_start alors le seul moyen de mettre des objets en session est de charger les définitions de classe avec auto_prepend_file dans lequel vous chargez les définitions dont vous avez besoin, ou bien vous devrez utiliser serialize() sur votre objet, et unserialize() pour le récupérer.

Toutes les variables sont sérialisées après l'exécution du script PHP. Les variables qui sont indéfinies sont marquées comme telles. Lors des accès ultérieurs, elles ne seront pas définies, jusqu'à ce que l'utilisateur le fasse.

Avertissement

Quelques types de données ne peuvent pas être linéarisés pour être stockés dans les sessions. Cela inclut les variables de type resource ou les objets avec des références circulaires (i.e. objet qui passe une référence à lui-même à un autre objet).

Note: Notez que lorsque vous travaillez avec les sessions, un enregistrement dans la session ne sera pas créé tant que la variable ne sera pas enregistrée en utilisant la fonction session_register() ou en ajoutant une clé à la variable super-globale $_SESSION. Cela n'est vrai que si vous avez débuté une session en appelant la fonction session_start().

Note: PHP 5.2.2 a introduit une fonctionnalité non documentée pour stocker dans le dossier "/tmp" même si open_basedir est activé, et "/tmp" n'est pas explicitement ajouté dans les chemins autorisés. Cette fonctionnalité a été retirée de PHP depuis PHP 5.3.0.

Sessions
Installation/Configuration
Sessions


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Sessions


Pré-requis

Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.

Note: Optionnellement, vous pouvez utiliser l'allocation de mémoire partagée (mm), développé par Ralf S.Engelschall, pour stocker votre session. Vous devez télécharger » mm et l'installer. Cette option n'est pas disponible pour les environnements Windows. Notez que le module de stockage de session mm ne garantit pas les verrous de sessions en cas d'accès multiples à la même session. Il peut être plus approprié d'utiliser un système de fichiers basé en mémoire partagée (comme tmpfs sur Solaris/Linux ou /dev/md sur BSD) pour stocker les sessions dans des fichiers, car ils seront proprement verrouillés. Les données de session sont stockées en mémoire ainsi, elles seront effacées lors du redémarrage du serveur web.

Installation/Configuration
Installation
Installation/Configuration


Installation

Le support des sessions est activé par défaut. Si vous souhaitez l'exclure de PHP, vous devez utiliser l'option --disable-session lors de l'exécution du script de configuration. Pour utiliser la mémoire vive pour le stockage des sessions, compilez PHP avec l'option --with-mm[=DIR] .

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Note: Par défaut, toutes les données relatives à une session particulière seront stockées dans un fichier du répertoire spécifié par session.save_path dans les options du fichier php.ini. Un fichier pour chaque session sera créé. Cela est dû au fait que une session est ouverte (un fichier est créé) mais aucune donnée n'est écrite dans ce fichier. Notez que ce comportement est un effet des limitations d'utilisation du système de fichiers et il est possible qu'un gestionnaire de session personnalisé (par exemple, un qui utilise une base de données) ne garde aucune trace des sessions où aucune donnée n'y a été enregistrée.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour les sessions
Nom | Défaut | Modifiable | Historique
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Disponible depuis PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.4.
session.cookie_httponly | "" | PHP_INI_ALL | Disponible depuis PHP 5.2.0.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
session.referer_check | "" | PHP_INI_ALL |
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.2.3. PHP_INI_PERDIR en PHP < 5. Disponible depuis PHP 4.0.3.
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
session.hash_function | "0" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponible depuis PHP 4.0.4.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Le système de sessions dispose d'un grand nombre de directives dans le fichier php.ini. En voici une présentation :

session.save_handler string
Définit le nom du gestionnaire de session qui est utilisé pour stocker et relire les données. Par défaut, c'est le système intégré par fichiers : files. Noter que les extensions individuelles doivent enregistrer leurs propres gestionnaires de session. Voir aussi session_set_save_handler().
session.save_path string
Définit le chemin qui doit être passé au gestionnaire de sauvegarde. Si vous décidez de choisir le gestionnaire par défaut (par fichiers), cet argument sera utilisé comme dossier de sauvegarde des sessions. Voir aussi session_save_path().

Il y a un argument optionnel N à cette directive qui détermine la profondeur de répertoires où votre fichier de session sera stocké. Par exemple, si vous définissez '5;/tmp', votre fichier sera situé dans /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If. Si vous voulez utiliser N, vous devez créer tous ces répertoires avant de les utiliser. Un petit script shell existe dans ext/session pour réaliser ces créations et il se nomme mod_files.sh, et sa version Windows porte le nom mod_files.bat. Notez également que si N est utilisé et est supérieur à 0, alors la routine automatique gc (garbage collection) ne sera pas exécutée ; voir une copie de php.ini pour plus d'informations. Également, si vous utilisez N, assurez-vous d'entourer session.save_path de "doubles guillemets" car le séparateur (;) est également utilisé pour les commentaires dans php.ini.

Avertissement

Si vous laissez cette option configurée avec un dossier accessible en lecture à tout le monde, comme /tmp (par défaut), les autres utilisateurs pourront exploiter ces sessions en obtenant la liste de fichiers dans ce dossier.

Note: Avant PHP 4.3.6, les utilisateurs de Windows doivent changer cette valeur de variable pour que les fonctions de sessions de PHP fonctionnent. Indiquez un chemin de dossier valide, par exemple : c:/temp.

session.name string
Spécifie le nom de la session, qui sera utilisé comme nom de cookie. Il ne doit contenir que des caractères alphanumériques. Par défaut, c'est PHPSESSID. Voir aussi session_name().
session.auto_start booléen
Spécifie si le module de session doit démarrer automatiquement au début de chaque script PHP. Par défaut, c'est 0 (désactivé).
session.serialize_handler string
Définit le nom du gestionnaire qui est utilisé pour linéariser et délinéariser les données. Actuellement, le format interne à PHP (nommé php ou php_binary) et WDDX (nommé wddx) sont supportés. WDDX est seulement disponible, si PHP a été compilé avec l'option WDDX. Par défaut, c'est php.
session.gc_probability entier
Spécifie la probabilité, exprimée en pourcentage, en conjonction de session.gc_divisor, que la routine gc (garbage collection) soit démarrée à chaque requête. La valeur par défaut est 1. Voir session.gc_divisor pour plus de détails.
session.gc_divisor entier
session.gc_divisor en conjonction avec session.gc_probability définit la probabilité que la routine gc (garbage collection) soit démarrée à chaque début de session. La probabilité est calculée en utilisant gc_probability/gc_divisor, par exemple 1/100 signifie qu'il y a 1 % de chance pour que la routine gc démarre à chaque requête. La valeur par défaut est 100.
session.gc_maxlifetime entier
Spécifie la durée de vie des données sur le serveur, en nombre de secondes. Après cette durée, les données seront considérées comme obsolètes, et peuvent potentiellement être supprimées. Les données peuvent devenir obsolètes lors du démarrage de la session (suivant session.gc_probability et session.gc_divisor).

Note: Si des scripts différents ont des valeurs différentes de session.gc_maxlifetime mais partagent le même endroit pour y stocker les données de session, alors, le script dont la valeur est la plus petite effacera la donnée. Dans ce cas, utilisez cette directive conjointement avec session.save_path.

Note: Si vous utilisez le gestionnaire de sessions par fichier, qui est fourni par défaut, votre système doit garder la trace des dates de dernier accès aux fichiers (atime). La FAT de Windows ne le fait pas, il vous faudra donc trouver un autre système pour gérer les sessions qui ont expiré. Depuis PHP 4.2.3, on utilise mtime (date de modification) au lieu de atime. Ainsi, vous n'aurez plus de souci avec les systèmes de fichiers qui ne gèrent pas atime.

session.referer_check entier
Contient une sous-chaîne que vous souhaitez retrouver dans tous les en-têtes HTTP Referer. Si cet en-tête a été envoyé par le client et que la sous-chaîne n'a pas été trouvée, l'identifiant de session sera considéré comme invalide. Par défaut, cette option est une chaîne vide.
session.entropy_file string
Est un chemin jusqu'à une source externe (un fichier), qui sera utilisée comme source additionnelle d'entropie pour la création de l'identifiant de session. Des exemples valides sont /dev/random et /dev/urandom, qui sont disponibles sur tous les systèmes Unix. Cette fonctionnalité est supportée sous Windows depuis PHP 5.3.3. Le fait de définir session.entropy_length à une valeur différente de zéro fera que PHP utilisera l'API aléatoire de Windows comme source d'entropie.
session.entropy_length entier
Spécifie le nombre d'octets qui seront lus dans le fichier défini ci-dessus. Par défaut, il vaut 0, c'est-à-dire inactif.
session.use_cookies booléen
Spécifie si le module utilisera les cookies pour stocker les données de session sur le client. Par défaut, il vaut 1, c'est-à-dire actif.
session.use_only_cookies booléen
Spécifie si le module doit utiliser seulement les cookies pour stocker les identifiants de sessions du côté du navigateur. En l'activant, vous éviterez les attaques qui utilisent des identifiants de sessions dans les URL. Cette configuration a été ajoutée en PHP 4.3.0. Par défaut, vaut 1 (activé) depuis PHP 6.0.
session.cookie_lifetime entier
Spécifie la durée de vie du cookie en secondes. La valeur de 0 signifie : "Jusqu'à ce que le navigateur soit éteint". La valeur par défaut est 0. Voir aussi session_get_cookie_params() et session_set_cookie_params().

Note: Le timestamp représentant la durée de vie du cookie est définit par rapport au temps du serveur, qui n'est pas forcément le même que le temps du navigateur.

session.cookie_path string
Spécifie le chemin utilisé lors de la création du cookie. Par défaut, il vaut /. Voir aussi session_get_cookie_params() et session_set_cookie_params().
session.cookie_domain string
Spécifie le domaine utilisé lors de la création du cookie. Par défaut, il ne vaut rien, cela signifie que c'est le nom de l'hôte du serveur qui génère le cookie en accord avec les spécifications sur les cookies. Voir aussi session_get_cookie_params() et session_set_cookie_params().
session.cookie_secure booléen
Spécifie que les cookies ne doivent être émis que sur des connexions sécurisées. Par défaut, cette option est à off. Cette option a été ajoutée en PHP 4.0.4. Voir aussi session_get_cookie_params() et session_set_cookie_params().
session.cookie_httponly booléen
Marque le cookie pour qu'il ne soit accessible que via le protocole HTTP. Cela signifie que le cookie ne sera pas accessible par les langage de script, comme Javascript. Cette configuration permet de limiter les attaques comme les attaques XSS (bien qu'elle n'est pas supporté par tous les navigateurs).
session.cache_limiter string
Spécifie le type de contrôle de cache utilisé pour les pages avec sessions. Les valeurs possibles sont : nocache, private, private_no_expire, public. Par défaut, il vaut nocache. Voir aussi session_cache_limiter() pour connaître la signification de ces valeurs.
session.cache_expire entier
Spécifie la durée de vie des données de sessions, en minutes. Cette option n'a aucune conséquence sur le contrôle de cache. Par défaut, il vaut 180 (3 heures). Voir aussi session_cache_expire().
session.use_trans_sid booléen
Spécifie si le support du SID est transparent ou pas. Par défaut vaut 0 (désactivé).

Note: En PHP 4.1.2 ou plus ancien, cette option est activée en utilisant l'option de compilation --enable-trans-sid. Depuis PHP 4.2.0, cette option est toujours activée. Le système de gestion des sessions par URL pose un risque supplémentaire de sécurité : un utilisateur peut envoyer son URL avec l'identifiant de session par email à un ami, ou bien le mettre dans ses signets. Cela diffusera alors l'identifiant de session.

session.bug_compat_42 booléen
Les versions de PHP antérieures à la version 4.2.3 disposaient d'une fonctionnalité/bogue non documentée, qui vous permettait d'initialiser une variable de session dans le contexte global, même si register_globals était désactivé. PHP 4.3.0 et plus récent vous préviendra de l'utilisation de cette fonctionnalité si vous avez aussi activé session.bug_compat_warn. Cette fonctionnalité/bogue peut être désactivée en désactivant cette directive.
session.bug_compat_warn booléen
Les versions de PHP antérieures à la version 4.2.3 disposaient d'une fonctionnalité/bogue non documentée, qui vous permettait d'initialiser une variable de session dans le contexte global, même si register_globals était désactivé. PHP 4.3.0 et plus récent vous préviendra de l'utilisation de cette fonctionnalité si vous avez activé session.bug_compat_42 et session.bug_compat_warn.
session.hash_function mixed
session.hash_function vous permet de spécifier la fonction de hachage à utiliser pour générer les identifiants de session. '0' signifie MD5 (128 bits) et '1' signifie SHA-1 (160 bits).

Depuis PHP 5.3.0, il est également possible de spécifier n'importe quel algorithme fourni par l'extension hash (s'il est disponible), comme sha512 ou whirlpool. Une liste complète d'algorithmes peut être obtenue avec la fonction hash_algos().

Note: Disponible depuis PHP 5.

session.hash_bits_per_character entier
session.hash_bits_per_character vous permet de définir le nombre de bits utilisés pour chaque caractère lors des conversions des données binaires en éléments lisibles. Les valeurs possibles sont '4' (0-9, a-f), '5' (0-9, a-v), et '6' (0-9, a-z, A-Z, "-", ",").

Note: Disponible depuis PHP 5.

session.url_rewriter.tags string
Spécifie quelles sont les balises HTML qui doivent être réécrites si le support transparent du SID est activé. Par défaut, il vaut a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=.

Note: Si vous voulez vous conformer aux spécifications HTML/XHTML strictes, supprimez l'entrée form et utilisez le tag <fieldset> autour de votre balise form.

Les options track_vars et register_globals influencent le comportement des sessions, leur stockage et leur restauration.

Note: Depuis PHP 4.0.3, track_vars est toujours activé.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SID (chaîne de caractères)
Constante contenant le nom de la session et l'identifiant en cours, sous la forme "name=ID" ou une chaîne vide si l'identifiant de session a été défini dans un cookie de session. C'est la même valeur que celle retournée par la fonction session_id().
Types de ressources
Exemples
Sessions


Exemples

Sommaire

  • Enregistrer une variable avec $_SESSION.
  • Passer l'identifiant de session (session ID)
  • Gestion personnalisée des sessions
Constantes pré-définies
Enregistrer une variable avec $_SESSION.
Sessions


Enregistrer une variable avec $_SESSION.

Exemples
Passer l'identifiant de session (session ID)
Exemples
PHP Manual

Note: Depuis PHP 4.1.0, $_SESSION est disponible comme variable globale, au même titre que $_POST, $_GET, $_REQUEST, etc. Contrairement à $HTTP_SESSION_VARS, $_SESSION est toujours globale. Par conséquent, vous n'avez pas besoin d'utiliser le mot réservé global avec $_SESSION. Notez que cette documentation a été modifiée pour utiliser $_SESSION. Vous pouvez toujours le remplacer par $HTTP_SESSION_VARS si vous préférez l'ancienne version. Notez également que vous devez démarrer votre session en utilisant la fonction session_start() avant d'utiliser la variable super-globale $_SESSION.
Les clés du tableau $_SESSION sont sujettes aux mêmes limitations que les variables PHP habituelles, c'est-à-dire qu'elles ne peuvent pas commencer par un nombre, mais commencer par une lettre ou un souligné '_'. Pour plus de détails, reportez-vous à la section sur les variables.

Si register_globals est désactivé, seuls les éléments du tableau global $_SESSION contiendront les variables enregistrées dans la session. Les variables de sessions relues seront uniquement disponibles dans $_SESSION.

L'utilisation de $_SESSION (ou $HTTP_SESSION_VARS avec PHP 4.0.6 et plus ancien) est recommandé pour une meilleure sécurité et un code plus facilement entretenu. Avec $_SESSION, il n'y a pas besoin d'utiliser les fonctions session_register(), session_unregister() et session_is_registered(). Les variables de sessions sont accessibles comme toute autre variable.

Exemple #1 Enregistrer une variable avec $_SESSION.

<?php
session_start();
// Utilisez $HTTP_SESSION_VARS avec PHP 4.0.6 ou plus ancien
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

Exemple #2 Retirer une variable de session avec $_SESSION et register_globals inactif.

<?php
session_start();
// Utilisez $HTTP_SESSION_VARS avec PHP 4.0.6 ou plus ancien
unset($_SESSION['count']);
?>

Attention

N'utilisez PAS la fonction unset() avec $_SESSION sous la forme unset($_SESSION) sinon, cela rendra impossible l'enregistrement de données dans la session en utilisant la super-globale $_SESSION.

Avertissement

Vous ne pouvez pas utiliser les références sur des variables de session car il n'y a aucune manière faisable de restaurer une référence vers une autre variable.

Si register_globals est activé, alors toutes les variables globales peuvent être enregistrées comme variables de session, et toutes les variables de sessions seront reconstituées comme variables globales. Comme PHP doit savoir quels variables globales sont enregistrées comme variables de sessions, l'utilisateur doit enregistrer les variables avec session_register() tandis que $HTTP_SESSION_VARS et $_SESSION ne nécessitent pas session_register().

Attention

Avant PHP 4.3.0, si vous utilisez $_SESSION et que vous avez désactivé register_globals, n'utilisez pas session_register(), session_is_registered() ou session_unregister(). Désactiver register_globals est recommandé pour des raisons de sécurité et de performances.

Si register_globals est activé, alors les variables globales et les entrées dans le tableau $_SESSION seront des références sur la même valeur pour les valeurs qui auront été enregistrées avant le démarrage de la session (donc, dans les page précédentes). Cependant, si la variable a été enregistrée avec $_SESSION, alors, la variable globale est disponible jusqu'à la prochaine requête.

De plus, si vous enregistrez une nouvelle variable avec la fonction session_register(), l'entrée dans l'environnement global et $_SESSION ne fera pas de référence vers la même valeur jusqu'à la prochaine utilisation de session_start() (ceci s'applique à PHP 4.2.3 et avant seulement). C'est à dire qu'une modification dans les variables globales ne sera pas répercutée dans les entrées de $_SESSION. Il est peu probable que cela ait un impact en pratique et, de plus, cela a été corrigé en PHP 4.3.0.

Exemples
Passer l'identifiant de session (session ID)
Exemples


Passer l'identifiant de session (session ID)

Il y a deux méthodes de propagation de l'identifiant de session :

  • Cookies
  • Par URL

Le module de session supporte les deux méthodes. Les cookies sont optimaux, mais comme ils ne sont pas sûrs (tous les internautes ne les acceptent pas), ils ne sont pas fiables. La seconde méthode place l'identifiant de session directement dans les URL.

PHP est capable de faire cela de manière transparente, lorsqu'il est compilé avec l'option --enable-trans-sid. Si vous activez cette option et que l'option d'exécution session.use_trans_sid est activée, les URLs relatives seront modifiées pour contenir l'identifiant de session automatiquement.

Note: L'option arg_separator.output de php.ini vous permet de personnaliser le séparateur d'arguments. Pour être complètement en accord avec les spécifications XHTML, spécifiez &amp; ici.

Alternativement, vous pouvez utiliser la constante SID qui est définie si la session a commencé. Si le client n'envoie pas un cookie de session approprié, il aura la forme session_name=session_id. Sinon, il vaudra une chaîne vide. Ainsi, vous pouvez dans tous les cas l'inclure dans l'URL.

L'exemple suivant vous montre comment enregistrer une variable et comment réaliser un lien correct avec une autre page, avec SID.

Exemple #1 Compter le nombre de passages d'un utilisateur sur une page

<?php

session_start();

if (empty($_SESSION['count'])) {
 $_SESSION['count'] = 1;
} else {
 $_SESSION['count']++;
}
?>

<p>
 Bonjour visiteur, vous avez vu cette page <?php echo $_SESSION['count']; ?> fois.
</p>

<p>
 Pour continuer, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">cliquez ici</a>.
</p>

La fonction htmlspecialchars() est utilisée lors de l'affichage du SID dans le but de contrer les attaques XSS.

L'affichage du SID, comme montré dans l'exemple ci-dessus, n'est pas nécessaire si --enable-trans-sid a été utilisé pour compiler PHP.

Note: Les URL non-relatives sont considérées comme externes au site, et ne recevront pas le SID, car c'est une fuite d'informations vers un autre site (envoi d'informations importantes).

Enregistrer une variable avec $_SESSION.
Gestion personnalisée des sessions
Exemples


Gestion personnalisée des sessions

Pour implémenter un stockage en base de données, ou toute autre méthode, vous aurez besoin de la fonction session_set_save_handler() pour paramétrer vos propres fonctions de stockage.

Passer l'identifiant de session (session ID)
Sessions et sécurité
Exemples


Sessions et sécurité

Lien externe : » Session fixation

Utiliser les sessions ne signifie pas que les données de session ne pourront être vues que par un seul utilisateur. Il est important de garder cela en tête lorsque vous stockez et affichez des données importantes. Lorsque vous stockez des données dans une session, il faut se demander quels seront les problèmes posés si quelqu'un d'autre accède à cette information, ou comment votre application est affectée si la session est en fait celle d'un autre.

Par exemple, si quelqu'un usurpe une session, il peut alors poster un message dans un forum sous une fausse identité. Quelle est la gravité de ce problème ? Ou bien, il peut accéder aux commandes d'un client, et même, modifier son panier d'achat. À priori, c'est moins problématique pour un fleuriste que pour un pharmacien. Si vous voulez résoudre ce souci de façon simple, il peut être utile d'activer session.use_only_cookies. Dans ce cas, les cookies devront être activés par le client, sinon, les sessions ne fonctionneront pas.

Les sessions reposent sur un identifiant de session, ce qui signifie que quelqu'un peut voler cet identifiant, rien qu'en volant l'ID. Ce vol peut être rendu très difficile, comme en utilisant les cookies, mais en aucun cas cela sera impossible. Les sessions dépendent aussi de la discipline de l'utilisateur qui referme son navigateur à la fin de la session pour tout clore proprement. De plus, même les cookies de session peuvent être surveillés sur un réseau, ou bien notés par un proxy car ils transitent en clair sur le réseau. Pour remédier à cela, vous devriez implémenter un chiffrage SSL sur votre plate-forme.

Gestion personnalisée des sessions
Fonctions Session
Sessions


Fonctions Session

Sommaire

  • session_cache_expire — Retourne la configuration actuelle du délai d'expiration du cache
  • session_cache_limiter — Lit et/ou modifie le limiteur de cache de session
  • session_commit — Alias de session_write_close
  • session_decode — Décode les données de session
  • session_destroy — Détruit une session
  • session_encode — Encode les données de session
  • session_get_cookie_params — Lit la configuration du cookie de session
  • session_id — Lit et/ou modifie l'identifiant courant de session
  • session_is_registered — Vérifie si une variable est enregistrée dans la session
  • session_module_name — Lit et/ou modifie le module de session courant
  • session_name — Lit et/ou modifie le nom de la session
  • session_regenerate_id — Remplace l'identifiant de session courant par un nouveau
  • session_register — Enregistre une variable globale dans une session
  • session_save_path — Lit et/ou modifie le chemin de sauvegarde des sessions
  • session_set_cookie_params — Modifie les paramètres du cookie de session
  • session_set_save_handler — Configure les fonctions de stockage de sessions
  • session_start — Initialise une session
  • session_unregister — Supprime une variable de la session
  • session_unset — Détruit toutes les variables d'une session
  • session_write_close — Écrit les données de session et ferme la session
Sessions et sécurité
session_cache_expire
Sessions


Retourne la configuration actuelle du délai d'expiration du cache

Fonctions Session
session_cache_limiter
Fonctions Session
PHP Manual

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5)

session_cache_expire — Retourne la configuration actuelle du délai d'expiration du cache

Description

int session_cache_expire ([ string $new_cache_expire ] )

session_cache_expire() retourne la configuration actuelle de session.cache_expire.

Le délai d'expiration du cache est remis à sa valeur par défaut de 180, stockée dans session.cache_limiter, au démarrage de la requête. Par conséquent, vous devez appeler session_cache_expire() à chaque requête (et avant que session_start() ne soit appelée).

Liste de paramètres

new_cache_expire

Si new_cache_expire est fourni, la configuration actuelle de cache expire sera remplacée par new_cache_expire.

Note: La directive new_cache_expire n'a de valeur que si session.cache_limiter a une valeur différente de nocache.

Valeurs de retour

Retourne la configuration courante de session.cache_expire. La valeur retournée doit être lue en minutes, et vaut par défaut, 180.

Exemples

Exemple #1 Exemple avec session_cache_expire()

<?php

/* Configure le limiteur de cache à 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* Configure le délai d'expiration à 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* Démarre la session */

session_start();

echo "Le limiteur de cache est maintenant fixé à $cache_limiter<br />";
echo "La session en cache va expirer après $cache_expire minutes";
?>

Voir aussi

  • session.cache_expire
  • session.cache_limiter
  • session_cache_limiter() - Lit et/ou modifie le limiteur de cache de session

Fonctions Session
session_cache_limiter
Fonctions Session


Lit et/ou modifie le limiteur de cache de session

session_cache_expire
session_commit
Fonctions Session
PHP Manual

session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5)

session_cache_limiter — Lit et/ou modifie le limiteur de cache de session

Description

string session_cache_limiter ([ string $cache_limiter ] )

session_cache_limiter()retourne la configuration courante du limiteur de cache.

Le limiteur de cache contrôle les en-têtes HTTP envoyés au client. Certains en-têtes déterminent les règles de mise en cache de la page sur le navigateur. En configurant ce limiteur à nocache, par exemple, le navigateur ne mettra pas la page dans son cache. La valeur public, au contraire, permettra le cache. La valeur private désactive le cache pour le proxy et autorise le client à mettre en cache le contenu.

En mode private, l'en-tête Expire envoyé au client peut poser des problèmes à certains navigateurs, comme, notamment, Mozilla. Vous pouvez éviter ce problème avec le mode private_no_expire. L'en-tête Expire n'est jamais envoyé au navigateur pour ce mode.

Le limiteur de cache est remis à la valeur par défaut de session.cache_limiter à chaque démarrage de script PHP. Donc, vous devrez appeler session_cache_limiter() à chaque page, et avant session_start().

Liste de paramètres

cache_limiter

Si cache_limiter est fourni, le limiteur de cache est reconfiguré avec cette valeur.

Valeurs possibles
Valeurs Entêtes envoyés
public
Expires: (Quelque chose dans le futur, suivant session.cache_expire)
Cache-Control: public, max-age=(Quelque chose dans le futur, suivant session.cache_expire)
Last-Modified: (le timestamp correspondant à la dernière sauvegarde de la session)
private_no_expire
Cache-Control: private, max-age=(session.cache_expire dans le futur), pre-check=(session.cache_expire dans le futur)
Last-Modified: (le timestamp correspondant à la dernière sauvegarde de la session)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expire dans le futur), pre-check=(session.cache_expire dans le futur)
Last-Modified: (le timestamp correspondant à la dernière sauvegarde de la session)
nocache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Valeurs de retour

Retourne le nom du limiteur de cache courant.

Historique

Version | Description
4.2.0 | Ajout du limiteur de cache private_no_expire.

Exemples

Exemple #1 Exemple avec session_cache_limiter()

<?php

/* configure le limiteur de cache à 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "Le limiteur de cache vaut maintenant $cache_limiter<br />";
?>

Voir aussi

  • session.cache_limiter

session_cache_expire
session_commit
Fonctions Session


Alias de session_write_close

session_cache_limiter
session_decode
Fonctions Session
PHP Manual

session_commit

(PHP 4 >= 4.4.0, PHP 5)

session_commit — Alias de session_write_close()

Description

Cette fonction est un alias de : session_write_close().

session_cache_limiter
session_decode
Fonctions Session


Décode les données de session

session_commit
session_destroy
Fonctions Session
PHP Manual

session_decode

(PHP 4, PHP 5)

session_decode — Décode les données de session

Description

bool session_decode ( string $data )

session_decode() décode les données de sessions fournies dans le paramètre data, et définit les variables ainsi contenues dans la session.

Liste de paramètres

data

Les données encodées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • session_encode() - Encode les données de session

session_commit
session_destroy
Fonctions Session


Détruit une session

session_decode
session_encode
Fonctions Session
PHP Manual

session_destroy

(PHP 4, PHP 5)

session_destroy — Détruit une session

Description

bool session_destroy ( void )

session_destroy() détruit toutes les données associées à la session courante. Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session. Pour accéder à nouveau aux variables de session, la fonction session_start() doit être appelée de nouveau.

Pour détruire complètement une session, comme faire sortir l'utilisateur, l'identifiant de la session doit également être effacé. Si un cookie est utilisé pour propager l'identifiant de session (comportement par défaut), alors le cookie de session doit être effacé. La fonction setcookie() peut être utilisée pour cela.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Destruction d'une session avec $_SESSION

<?php
// Initialisation de la session.
// Si vous utilisez un autre nom
// session_name("autrenom")
session_start();

// Détruit toutes les variables de session
$_SESSION = array();

// Si vous voulez détruire complètement la session, effacez également
// le cookie de session.
// Note : cela détruira la session et pas seulement les données de session !
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finalement, on détruit la session.
session_destroy();
?>

Notes

Note: Utilisez uniquement la fonction session_unset() pour l'ancien code obsolète qui n'utilise pas les variables $_SESSION.

Voir aussi

  • unset() - Détruit une variable
  • setcookie() - Envoie un cookie

session_decode
session_encode
Fonctions Session


Encode les données de session

session_destroy
session_get_cookie_params
Fonctions Session
PHP Manual

session_encode

(PHP 4, PHP 5)

session_encode — Encode les données de session

Description

string session_encode ( void )

session_encode() retourne une chaîne contenant les variables de la session courante encodées et prêtes au stockage.

Valeurs de retour

Retourne le contenu encodé de la session courante.

Voir aussi

  • session_decode() - Décode les données de session

session_destroy
session_get_cookie_params
Fonctions Session


Lit la configuration du cookie de session

session_encode
session_id
Fonctions Session
PHP Manual

session_get_cookie_params

(PHP 4, PHP 5)

session_get_cookie_params — Lit la configuration du cookie de session

Description

array session_get_cookie_params ( void )

Lit la configuration du cookie de session.

Valeurs de retour

Retourne un tableau, qui contient les éléments suivants :

  • "lifetime" : durée de vie du cookie.
  • "path" : le chemin où les informations sont stockées.
  • "domain" : le domaine du cookie.
  • "secure" : le cookie ne doit être envoyé que sur des connexions sécurisées.
  • "httponly" : le cookie ne sera accessible que via le protocole HTTP.

Historique

Version | Description
5.2.0 | L'entrée "httponly" a été ajouté dans le tableau retourné.
4.0.4 | L'entrée "secure" a été ajouté dans le tableau retourné.

Voir aussi

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_set_cookie_params() - Modifie les paramètres du cookie de session

session_encode
session_id
Fonctions Session


Lit et/ou modifie l'identifiant courant de session

session_get_cookie_params
session_is_registered
Fonctions Session
PHP Manual

session_id

(PHP 4, PHP 5)

session_id — Lit et/ou modifie l'identifiant courant de session

Description

string session_id ([ string $id ] )

session_id() est utilisé pour récupérer ou définir l'identifiant de session pour la session courante.

La constante SID peut également être utilisée pour lire le nom de la session courante et l'identifiant de session à fournir dans les URL. Voyez aussi Gestion de session.

Liste de paramètres

id

Si id est fourni, il remplacera l'identifiant courant de session. session_id() doit alors être appelé avant session_start(). Suivant le gestionnaire de sessions que vous utilisez, tous les caractères ne seront pas acceptés dans cette valeur. Par exemple, le gestionnaire de sessions par défaut, basé sur les fichiers, n'accepte que les caractères compris dans l'intervalle a-z, A-Z et 0-9 !

Note: Lorsque vous utilisez les sessions avec les cookies, le fait de spécifier un id pour session_id() fera qu'un nouveau cookie sera toujours envoyé lors de l'appel à session_start(), sans ce soucier si l'identifiant de session courant est identique à celui qui vient d'être défini.

Valeurs de retour

session_id() retourne l'identifiant de session pour la session courante ou une chaîne vide ("") s'il n'y a pas de session courante (aucun identifiant de session n'existe).

Historique

Version | Description
5.0.0 | Les virgules , et tirets - sont autorisés dans le gestionnaire de session par fichiers.

Voir aussi

  • session_regenerate_id() - Remplace l'identifiant de session courant par un nouveau
  • session_start() - Initialise une session
  • session_set_save_handler() - Configure les fonctions de stockage de sessions
  • session.save_handler

session_get_cookie_params
session_is_registered
Fonctions Session


Vérifie si une variable est enregistrée dans la session

session_id
session_module_name
Fonctions Session
PHP Manual

session_is_registered

(PHP 4, PHP 5)

session_is_registered — Vérifie si une variable est enregistrée dans la session

Description

bool session_is_registered ( string $name )

Vérifie si une variable est enregistrée dans la session.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

name

Le nom de la variable.

Valeurs de retour

session_is_registered() retourne TRUE si la variable de nom name fait partie de la session courante, FALSE sinon.

Notes

Note: Si $_SESSION (ou $HTTP_SESSION_VARS en PHP 4.0.6 et plus ancien) est utilisé, utilisez la fonction isset() pour vérifier la présence de la variable dans $_SESSION.

Attention

Si vous utilisez $_SESSION
(ou $HTTP_SESSION_VARS),
n'utilisez pas session_register(),
session_is_registered() et
session_unregister().

session_id
session_module_name
Fonctions Session


Lit et/ou modifie le module de session courant

session_is_registered
session_name
Fonctions Session
PHP Manual

session_module_name

(PHP 4, PHP 5)

session_module_name — Lit et/ou modifie le module de session courant

Description

string session_module_name ([ string $module ] )

session_module_name() récupère le nom du module courant de session.

Liste de paramètres

module

Si module est fourni, cette valeur sera alors utilisée, et remplacera la valeur courante.

Valeurs de retour

Retourne le nom du module courant de session.

session_is_registered
session_name
Fonctions Session


Lit et/ou modifie le nom de la session

session_module_name
session_regenerate_id
Fonctions Session
PHP Manual

session_name

(PHP 4, PHP 5)

session_name — Lit et/ou modifie le nom de la session

Description

string session_name ([ string $name ] )

session_name() retourne le nom de la session courante. Si le paramètre name est fourni, session_name() modifiera le nom de la session et retournera l'ancien nom de la session.

Le nom de la session est réinitialisé à la valeur par défaut, stockée dans session.name lors du démarrage. Ainsi, vous devez appeler session_name() pour chaque demande (et avant que les fonctions session_start() ou session_register() ne soient appelées).

Liste de paramètres

name

Le nom de session est utilisé comme nom de cookie ou nom de variable dans les URL. Il ne doit contenir que des caractères alphanumériques ; il doit être court et descriptif (surtout pour les utilisateurs ayant activé l'alerte cookie). Si name est fourni, le nom de la session courante sera remplacé par cette valeur.

Avertissement

Les noms de session ne peuvent contenir que des chiffres, au moins une lettre doit être présente. Sinon, un identifiant de session sera généré à chaque fois.

Valeurs de retour

Retourne le nom de la session courante.

Exemples

Exemple #1 Exemple avec session_name()

<?php

/* choisi le nom de session  : WebsiteID */

$previous_name = session_name("WebsiteID");

echo "L'ancien nom de la session était $previous_name<br />";
?>

Voir aussi

  • La directive de configuration session.name

session_module_name
session_regenerate_id
Fonctions Session


Remplace l'identifiant de session courant par un nouveau

session_name
session_register
Fonctions Session
PHP Manual

session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5)

session_regenerate_id — Remplace l'identifiant de session courant par un nouveau

Description

bool session_regenerate_id ([ bool $delete_old_session = false ] )

session_regenerate_id() va remplacer l'identifiant de session courant par un nouveau, généré automatiquement, tout en conservant les valeurs de session.

Liste de paramètres

delete_old_session

Si l'on doit effacer l'ancien fichier de session associé ou pas.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.3 | Avant cette version, si les cookies de session sont activés, l'utilisation de session_regenerate_id() provoquera également un nouveau cookie de session avec le nouvel identifiant de session.
5.1.0 | Ajout du paramètre delete_old_session.

Exemples

Exemple #1 Exemple avec session_regenerate_id()

<?php
session_start();

$old_sessionid = session_id();

session_regenerate_id();

$new_sessionid = session_id();

echo "Ancienne Session: $old_sessionid<br />";
echo "Nouvelle Session: $new_sessionid<br />";

print_r($_SESSION);
?>

Voir aussi

  • session_id() - Lit et/ou modifie l'identifiant courant de session
  • session_start() - Initialise une session
  • session_name() - Lit et/ou modifie le nom de la session

session_name
session_register
Fonctions Session


Enregistre une variable globale dans une session

session_regenerate_id
session_save_path
Fonctions Session
PHP Manual

session_register

(PHP 4, PHP 5)

session_register — Enregistre une variable globale dans une session

Description

bool session_register ( mixed $name [, mixed $... ] )

session_register() enregistre toutes les variables de nom name dans la session courante. Le nombre de variables enregistrées est libre. Les noms peuvent être passés comme des chaînes, ou comme des tableaux contenant des chaînes ou des tableaux. Pour chaque nom, session_register() place la variable dans la session courante, pour la sauvegarde de fin de script.

Vous pouvez aussi créer une variable de session, simplement en ajoutant l'index approprié dans la variable $_SESSION ou $HTTP_SESSION_VARS (PHP < 4.1.0).

<?php
// L'utilisation de session_register() est déconseillée
$barney = "Un gros dinosaure violet.";
session_register("barney");

// L'utilisation de $_SESSION est encouragée depuis PHP 4.1.0
$_SESSION["zim"] = "Un envahisseur d'une autre planète.";

// L'ancienne méthode avec $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "Il a un caleçon carré !";
?>

Si session_start() n'a pas été appelé avant cette fonction, un appel implicite à session_start() sans aucun paramètre sera fait. $_SESSION ne reproduit pas ce comportement et nécessite d'abord un appel à la fonction session_start().

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

name

Le nom de la variable ou du tableau contenant les noms des variables ou d'autres tableaux.

...

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Attention

Si vous voulez que votre script fonctionne indépendamment de la configuration de la directive register_globals, vous devez utiliser la variable $_SESSION. Tous les éléments de $_SESSION sont automatiquement enregistrés. Si votre script utilise session_register(), il ne fonctionnera pas dans les environnements où register_globals est désactivée.

Note: register_globals : note importante
Depuis PHP 4.2.0, la valeur par défaut de la directive de configuration PHP register_globals vaut off. La communauté PHP vous recommande de ne pas dépendre de cette directive, mais de trouver d'autres moyens pour accéder aux données, tels que les superglobals.

Attention

Cette fonction enregistre une variable globale. Si vous enregistrez une variable globale dans une fonction, vous devez vous assurer de la rendre globale, avec le mot clé global ou le tableau $GLOBALS[], ou bien utiliser un des tableaux de session ci-dessous.

Attention

Si vous utilisez $_SESSION
(ou $HTTP_SESSION_VARS),
n'utilisez pas session_register(),
session_is_registered() et
session_unregister().

Note: Il n'est actuellement pas possible d'enregistrer des ressources dans les sessions. Par exemple, vous ne pouvez pas créer de connexion à une base de données, et stocker la connexion dans une variable de session. Elle ne sera pas valide lors de la prochaine page. Les fonctions PHP qui retournent des ressources sont identifiées avec le type resource dans leurs définitions. Une liste de fonctions qui retournent des ressources sont disponible dans l'annexe types de ressources.
Si $_SESSION (ou $HTTP_SESSION_VARS pour les versions antérieures à PHP 4.0.6) est utilisé, assignez les variables à $_SESSION : i.e. $_SESSION['var'] = 'ABC';

Voir aussi

  • session_is_registered() - Vérifie si une variable est enregistrée dans la session
  • session_unregister() - Supprime une variable de la session
  • $_SESSION

session_regenerate_id
session_save_path
Fonctions Session


Lit et/ou modifie le chemin de sauvegarde des sessions

session_register
session_set_cookie_params
Fonctions Session
PHP Manual

session_save_path

(PHP 4, PHP 5)

session_save_path — Lit et/ou modifie le chemin de sauvegarde des sessions

Description

string session_save_path ([ string $path ] )

session_save_path() retourne le chemin du dossier actuellement utilisé pour sauver les données de sessions.

Liste de paramètres

path

Chemin des données de session. Si path est spécifié, le chemin du dossier sera modifié. session_save_path() doit être appelé avant session_start().

Note: Sur certains systèmes d'exploitation, vous aurez à choisir un chemin vers un dossier capable de gérer un grand nombre de petits fichiers efficacement. Par exemple, sous Linux, reiserfs peut se rendre plus efficace que ext2fs.

Valeurs de retour

Retourne le chemin du dossier courant utilisé pour y stocker les données.

Voir aussi

  • La directive de configuration session.save_path

session_register
session_set_cookie_params
Fonctions Session


Modifie les paramètres du cookie de session

session_save_path
session_set_save_handler
Fonctions Session
PHP Manual

session_set_cookie_params

(PHP 4, PHP 5)

session_set_cookie_params — Modifie les paramètres du cookie de session

Description

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

Modifie les paramètres de configuration du cookie de session, qui a été configuré dans le fichier php.ini. L'effet de cette fonction ne dure que pendant l'exécution du script courant. De ce fait, vous devez appeler session_set_cookie_params() pour chaque script et avant l'appel à session_start().

Liste de paramètres

lifetime

La durée de vie du cookie, en secondes. Voir la directive lifetime.

path

Le chemin dans le domaine où le cookie sera accessible. Utilisez un simple slash ('/') pour tous les chemins du domaine. Voir la directive path.

domain

Le domaine du cookie, par exemple 'www.php.net'. Pour rendre les cookies visibles sur tous les sous-domaines, le domaine doit être préfixé avec un point, tel que '.php.net'. Voir la directive domain.

secure

Si TRUE, le cookie ne sera envoyé que sur une connexion sécurisée. Voir la directive secure.

httponly

Si TRUE, PHP va tenter d'envoyer l'option httponly lors de la configuration du cookie. Voir la directive httponly.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
5.2.0 | Ajout du paramètre httponly.
4.0.4 | Ajout du paramètre secure.

Voir aussi

  • session.cookie_lifetime
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session_get_cookie_params() - Lit la configuration du cookie de session

session_save_path
session_set_save_handler
Fonctions Session


Configure les fonctions de stockage de sessions

session_set_cookie_params
session_start
Fonctions Session
PHP Manual

session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler — Configure les fonctions de stockage de sessions

Description

bool session_set_save_handler ( callback $open , callback $close , callback $read , callback $write , callback $destroy , callback $gc )

session_set_save_handler() configure les fonctions de stockage de sessions, et permet de choisir des fonctions utilisateurs pour sauver et relire toutes les sessions. Cette fonction est très pratique lorsqu'il faut sauver les données de sessions en utilisant une autre technique que le système par fichier fourni par défaut : notamment, stockage en base de données.

Liste de paramètres

open

Fonction d'ouverture, qui fonctionne comme un constructeur dans une classe, et qui est exécutée quand la session est ouverte. La fonction d'ouverture attend deux paramètres : le premier est le chemin de sauvegarde, et le second est le nom de la session.

close

Fonction de fermeture, qui fonctionne comme un destructeur de classe, et qui est exécuté lorsque le script se termine.

read

La fonction de lecture doit toujours retourner une chaîne, pour que le gestionnaire fonctionne comme prévu. Vous devez retourner une chaîne vide s'il n'y a pas de données à lire. Les valeurs retournées par les autres gestionnaires sont converties en booléen avant d'être retournées au script. TRUE pour la réussite, FALSE pour l'échec.

write

Fonction appelée lorsque les données de session sont sauvegardées. Cette fonction attend 2 paramètres : un identifiant et les données associés à ce dernier.

Note: Le gestionnaire d'écriture n'est pas exécuté tant que le flot de sortie est ouvert. Par conséquent, l'affichage de messages de déboguage durant le gestionnaire d'écriture ne sera donc jamais visible depuis le navigateur. Si vous avez besoin de déboguage, nous vous suggérons d'écrire vos messages dans un fichier.

destroy

Le gestionnaire de destruction est exécuté quand une session est détruite avec la fonction session_destroy(). Il prend l'identifiant de session comme seul paramètre.

gc

Le collecteur est exécuté quand le collecteur de session est appelé, et il prend comme paramètre unique la durée de vie maximale d'une session.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec session_set_save_handler()

L'exemple suivant fournit un exemple de stockage des sessions semblable au système par défaut (par fichiers). Cet exemple peut facilement être adapté pour réaliser des sauvegardes en base de données, avec votre serveur préféré.

<?php
function open($save_path, $session_name)
{
  global $sess_save_path;

  $sess_save_path = $save_path;
  return(true);
}

function close()
{
  return(true);
}

function read($id)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  return (string) @file_get_contents($sess_file);
}

function write($id, $sess_data)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "w")) {
    $return = fwrite($fp, $sess_data);
    fclose($fp);
    return $return;
  } else {
    return(false);
  }

}

function destroy($id)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
}

function gc($maxlifetime)
{
  global $sess_save_path;

  foreach (glob("$sess_save_path/sess_*") as $filename) {
    if (filemtime($filename) + $maxlifetime < time()) {
      @unlink($filename);
    }
  }
  return true;
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");

session_start();

// Utilisez vos sessions comme d'habitude

?>

Notes

Avertissement

Les gestionnaires d'écriture et de fermeture sont appelés après la destruction des objets depuis PHP 5.0.5. Ces destructeurs peuvent utiliser les sessions mais le gestionnaire de session ne peut pas utiliser les objets. Dans les versions antérieures, ils étaient appelés dans l'ordre inverse.

Il est possible d'appeler session_write_close() depuis le destructeur pour résoudre ce problème.

Avertissement

Le dossier de travail courant change suivant les SAPIs si la session est fermée à la fin du script. Il est possible de fermer la session plus tard, grâce à la fonction session_write_close().

Voir aussi

  • La directive de configuration session.save_handler

session_set_cookie_params
session_start
Fonctions Session


Initialise une session

session_set_save_handler
session_unregister
Fonctions Session
PHP Manual

session_start

(PHP 4, PHP 5)

session_start — Initialise une session

Description

bool session_start ( void )

session_start() crée une session ou restaure celle trouvée sur le serveur, via l'identifiant de session passé dans une requête GET, POST ou par un cookie.

Pour utiliser une session nommée, vous devez appeler session_name() avant d'appeler session_start().

Lorsque session.use_trans_sid est activé, la function session_start() enregistrera un gestionnaire interne de sortie pour la réécriture d'URL.

Si un utilisateur utilise ob_gzhandler ou l'équivalent ob_start(), l'ordre d'appel des fonctions est important pour une sortie correcte. Par exemple, ob_gzhandler doit être enregistré avant de démarrer la session.

Valeurs de retour

Retourne TRUE si une session a pu être démarrée avec succès, et FALSE sinon.

Historique

Version | Description
5.3.0 | Si une session n'arrive pas à démarrer, alors FALSE est retourné. Précédemment TRUE était retourné.
4.3.3 | A partir de PHP 4.3.3, appeler session_start() après qu'une session sois déjà démarrée émettra une erreur E_NOTICE. De plus la deuxième session démarrée sera tout simplement ignorée.Also, the

Exemples

Exemple #1 Un exemple de session : page1.php

<?php
// page1.php

session_start();

echo 'Bienvenue à la page numéro 1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Fonctionne si le cookie a été accepté
echo '<br /><a href="page2.php">page 2</a>';

// Ou bien, en indiquant explicitement l'identfiant de session
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

Après avoir vu la page page1.php avec un navigateur, la seconde page page2.php va magiquement afficher les données de session. Lisez la référence sur les sessions pour des informations sur la propagation des identifiants de session, et l'utilisation de la constante SID.

Exemple #2 Un exemple de session : page2.php

<?php
// page2.php

session_start();

echo 'Bienvenue sur la page numéro 2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// Vous pourriez utiliser la constante SID ici, tout comme dans la page page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

Notes

Note: Pour utiliser des sessions basées sur les cookies, session_start() doit être appelée avant d'afficher quoi que ce soit dans le navigateur.

Note: L'utilisation de zlib.output_compression est recommandée, à la place de ob_gzhandler().

Note: Cette fonction va émettre plusieurs entêtes HTTP, en fonction de la configuration. Voyez session_cache_limiter() pour personnaliser ces entêtes.

Voir aussi

  • $_SESSION
  • La directive de configuration session.auto_start
  • session_id() - Lit et/ou modifie l'identifiant courant de session

session_set_save_handler
session_unregister
Fonctions Session


Supprime une variable de la session

session_start
session_unset
Fonctions Session
PHP Manual

session_unregister

(PHP 4, PHP 5)

session_unregister — Supprime une variable de la session

Description

bool session_unregister ( string $name )

session_unregister() supprime la variable name de la session courante.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

name

Le nom de la variable.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: Si $_SESSION (ou $HTTP_SESSION_VARS pour PHP 4.0.6 et plus ancien) est utilisé, utilisez unset() pour supprimer une variable de session. N'utilisez pas unset() directement sur $_SESSION sinon cela désactivera les fonctions spéciales du tableau superglobal $_SESSION.

Attention

session_unregister() ne supprime pas la variable globale correspondant au nom de name : elle empêche simplement que name soit sauvée de la session à la fin du script. Vous devez appeler unset() vous-même pour effacer la globale correspondante.

Attention

Si vous utilisez $_SESSION
(ou $HTTP_SESSION_VARS),
n'utilisez pas session_register(),
session_is_registered() et
session_unregister().

session_start
session_unset
Fonctions Session


Détruit toutes les variables d'une session

session_unregister
session_write_close
Fonctions Session
PHP Manual

session_unset

(PHP 4, PHP 5)

session_unset — Détruit toutes les variables d'une session

Description

void session_unset ( void )

session_unset() détruit toutes les variables de la session courante.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS pour PHP 4.0.6 ou plus ancien), utilisez unset() pour détruire une variable de session, i.e. unset($_SESSION['nomvariable']);.

Attention

Ne détruisez pas $_SESSION avec unset($_SESSION) car cela désactivera la possibilité d'enregistrer des variables de session à partir du tableau superglobal $_SESSION.

session_unregister
session_write_close
Fonctions Session


Écrit les données de session et ferme la session

session_unset
Session PgSQL
Fonctions Session
PHP Manual

session_write_close

(PHP 4 >= 4.0.4, PHP 5)

session_write_close — Écrit les données de session et ferme la session

Description

void session_write_close ( void )

Termine la session courante, après avoir stocké les données.

Les données de session sont généralement stockées à la fin de votre script, automatiquement, sans besoin d'appeler explicitement session_write_close(). Mais durant toute l'exécution du script, les données de session sont verrouillées en écriture, et un seul script peut opérer sur la session en même temps. Lorsque vous utilisez des frames avec des sessions, vous vous en rendrez compte en voyant les frames se rafraîchir les uns après les autres. Vous pouvez réduire le temps de calcul de ces pages en refermant la session aussitôt que possible, ce qui libère les données pour les autres scripts.

Valeurs de retour

Aucune valeur n'est retournée.

session_unset
Session PgSQL
Fonctions Session


Sauvegarde d'Identifiant de session dans PostgreSQL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Définitions de Table
  • Constantes pré-définies
  • Session PgSQL Fonctions
    • session_pgsql_add_error — Incrémente le nombre d'erreurs et fixe le dernier message d'erreur
    • session_pgsql_get_error — Retourne le nombre d'erreurs et le dernier message d'erreur
    • session_pgsql_get_field — Récupère la valeur de champ spécial
    • session_pgsql_reset — Remet la connexion à la session des serveurs de base de données
    • session_pgsql_set_field — Fixe la valeur d'un champ spécial
    • session_pgsql_status — Récupère le statut de l'identifiant de sauvegarde courant
session_write_close
Introduction
Extensions sur les Sessions


Introduction

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Ce module vous fournit un moyen additionnel pour sauvegarder vos identifiants de session pour les modules de session utilisant » PostgreSQL session en tant que sauvegarde du système. La sauvegarde d'identifiant de session user-level peut être aussi utilisée, mais ce module est écrit en C. Par conséquent, ce module est largement 2 fois plus rapide que la sauvegarde d'identifiant écrit en PHP.

Session PgSQL est conçu pour fonctionner avec n'importe quel sorte de sites web et offre certaines fonctionnalités avancées :

  • tables de session sont créées automatiquement
  • vidage de table de session automatique
  • meilleure récupération de place
  • support de multiples serveurs PostgreSQL
  • basculement de serveur de base de données automatique (changement)
  • chargement balancé de serveur de base de données automatique s'il y a multiples serveurs PostgreSQL.
  • court-circuit de UPDATE

Session PgSQL
Installation/Configuration
Session PgSQL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Session PgSQL


Pré-requis

Vous devez posséder au moins PHP >= 4.3.0, PostgreSQL >= 7.2.0 comme serveur de base de données. libpq qui vient avec PostgreSQL 7.2.0 ou supérieur (et les fichiers d'en-tête pour construction) et » libmm (et les fichiers d'en-tête).

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/session_pgsql.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

La sauvegarde d'identifiant de session de PostgreSQL est toujours en développement. Référez-vous au fichier README dans la distribution de source pour les détails de la configuration.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
Définitions de Table
Installation/Configuration


Définitions de Table

Définition de table de session

CREATE TABLE php_session (
 sess_id            text,
 sess_name          text,
 sess_data          text,
 sess_created       integer,
 sess_modified      integer,
 sess_expire        integer,
 sess_addr_created  text,
 sess_addr_modified text,
 sess_counter       integer,
 sess_error         integer,
 sess_warning       integer,
 sess_notice        integer,
 sess_err_message   text,
 sess_custom        text
);

CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);

Avertissement

Si vous utilisez HASH pour INDEX, vous aurez des problèmes de blocage lorsque la charge du serveur est très élevé. Même s'il est peu probable d'avoir un blocage sous des opérations normales, cela peut se produire. N'utilisez pas HASH pour INDEX.

Vous pouvez changer la table de session tant que tous les champs sont définis.

Définition de table de variables d'application

CREATE TABLE php_app_vars (
 app_modified       integer,
 app_name           text,
 app_vars           text
);

Types de ressources
Constantes pré-définies
Session PgSQL


Constantes pré-définies

Cette extension ne définit aucune constante.

Définitions de Table
Session PgSQL Fonctions
Session PgSQL


Session PgSQL Fonctions

Information Contact

Pour le moment, je n'ai pas vraiment le temps pour développer plus loin cette extension. Je créerai de plus en plus d'options dans un futur proche.

Si vous avez des commentaires, des bogues, des améliorations ou vous voulez aider le développement, vous pouvez me laisser un mail à » yohgaki@php.net. Toute aide est la bienvenue.

Sommaire

  • session_pgsql_add_error — Incrémente le nombre d'erreurs et fixe le dernier message d'erreur
  • session_pgsql_get_error — Retourne le nombre d'erreurs et le dernier message d'erreur
  • session_pgsql_get_field — Récupère la valeur de champ spécial
  • session_pgsql_reset — Remet la connexion à la session des serveurs de base de données
  • session_pgsql_set_field — Fixe la valeur d'un champ spécial
  • session_pgsql_status — Récupère le statut de l'identifiant de sauvegarde courant
Constantes pré-définies
session_pgsql_add_error
Session PgSQL


Incrémente le nombre d'erreurs et fixe le dernier message d'erreur

Session PgSQL Fonctions
session_pgsql_get_error
Session PgSQL Fonctions
PHP Manual

session_pgsql_add_error

(PECL session_pgsql SVN)

session_pgsql_add_error — Incrémente le nombre d'erreurs et fixe le dernier message d'erreur

Description

bool session_pgsql_add_error ( int $error_level [, string $error_message ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

error_level

error_message

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • session_pgsql_get_error() - Retourne le nombre d'erreurs et le dernier message d'erreur

Session PgSQL Fonctions
session_pgsql_get_error
Session PgSQL Fonctions


Retourne le nombre d'erreurs et le dernier message d'erreur

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Fonctions
PHP Manual

session_pgsql_get_error

(PECL session_pgsql SVN)

session_pgsql_get_error — Retourne le nombre d'erreurs et le dernier message d'erreur

Description

array session_pgsql_get_error ([ bool $with_error_message = false ] )

Récupère le nombre d'erreurs et optionnellement les messages d'erreurs.

Liste de paramètres

with_error_message

Fixé à TRUE le message d'erreur littéral pour chaque erreur est aussi retourné.

Valeurs de retour

Le nombre d'erreurs est retourné comme array .

Voir aussi

  • session_pgsql_add_error() - Incrémente le nombre d'erreurs et fixe le dernier message d'erreur

session_pgsql_add_error
session_pgsql_get_field
Session PgSQL Fonctions


Récupère la valeur de champ spécial

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Fonctions
PHP Manual

session_pgsql_get_field

(PECL session_pgsql SVN)

session_pgsql_get_field — Récupère la valeur de champ spécial

Description

string session_pgsql_get_field ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi

  • session_pgsql_set_field() - Fixe la valeur d'un champ spécial

session_pgsql_get_error
session_pgsql_reset
Session PgSQL Fonctions


Remet la connexion à la session des serveurs de base de données

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Fonctions
PHP Manual

session_pgsql_reset

(PECL session_pgsql SVN)

session_pgsql_reset — Remet la connexion à la session des serveurs de base de données

Description

bool session_pgsql_reset ( void )

Remet la connexion à la session des serveurs de base de données.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

session_pgsql_get_field
session_pgsql_set_field
Session PgSQL Fonctions


Fixe la valeur d'un champ spécial

session_pgsql_reset
session_pgsql_status
Session PgSQL Fonctions
PHP Manual

session_pgsql_set_field

(PECL session_pgsql SVN)

session_pgsql_set_field — Fixe la valeur d'un champ spécial

Description

bool session_pgsql_set_field ( string $value )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

value

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • session_pgsql_get_field() - Récupère la valeur de champ spécial

session_pgsql_reset
session_pgsql_status
Session PgSQL Fonctions


Récupère le statut de l'identifiant de sauvegarde courant

session_pgsql_set_field
Traitement du texte
Session PgSQL Fonctions
PHP Manual

session_pgsql_status

(PECL session_pgsql SVN)

session_pgsql_status — Récupère le statut de l'identifiant de sauvegarde courant

Description

array session_pgsql_status ( void )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

session_pgsql_set_field
Traitement du texte
Session PgSQL Fonctions


Traitement du texte

  • BBCode
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions BBCode
  • PCRE — Expressions rationnelles (compatible Perl)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Masques PCRE
    • Fonctions PCRE
  • Regex POSIX — Expressions rationnelles
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions POSIX Regex
  • Chaîne de caractères
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur les chaînes de caractères
session_pgsql_status
BBCode
Référence des fonctions


BBCode

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions BBCode
    • bbcode_add_element — Ajoute un élément BBCode
    • bbcode_add_smiley — Ajoute une émoticône à l'analyseur
    • bbcode_create — Crée une ressource BBCode
    • bbcode_destroy — Ferme une ressource BBCode_container
    • bbcode_parse — Analyse une chaîne en suivant le jeu de règles données
    • bbcode_set_arg_parser — Attache un analyseur pour gérer un autre jeu de règles
    • bbcode_set_flags — Spécifie ou modifie des options d'analyseurs BBcode
Traitement du texte
Introduction
Traitement du texte


Introduction

Cette extension se propose de vous aider dans l'analyse du texte BBCode afin de le convertir en HTML ou dans un autre langage à base de balises. Elle utilise une analyse en un seul passage et est bien plus rapide qu'une approche basée sur les expressions rationnelles. De plus, elle vous aidera à obtenir du code HTML valide en réorganisant les balises d'ouverture et de fermeture et en fermant automatiquement les balises.

Depuis la version 0.10.1, cette extension supporte les arguments encadrés par des guillemets simples, des guillemets doubles, mais aussi des guillemets doubles échappés en HTML.

BBCode
Installation/Configuration
BBCode


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
BBCode


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/bbcode

Une solution alternative, écrite en PHP, est le paquet PEAR » HTML_BBCodeParser.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Une seule ressource est utilisée par l'extension BBCode : BBCode_Container, retournée par la fonction bbcode_create().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

BBCODE_TYPE_NOARG ( integer )
La balise BBCode n'accepte aucun argument.
BBCODE_TYPE_SINGLE ( integer )
La balise BBCode n'a pas de balise fermante correspondante.
BBCODE_TYPE_ARG ( integer )
La balise BBCode nécessite un argument.
BBCODE_TYPE_OPTARG ( integer )
La balise BBCode accepte un argument optionnel.
BBCODE_TYPE_ROOT ( integer )
La balise BBCode est la balise racine spéciale (niveau 0).
BBCODE_FLAGS_ARG_PARSING ( integer )
La balise BBCode nécessite un sous argument d'analyse (l'argument sera également analysé par l'extension BBCode). Depuis la version 0.10.2, un autre analyseur peut être utilisé en tant qu'argument.
BBCODE_FLAGS_CDATA_NOT_ALLOWED ( integer )
La balise BBCode n'accepte pas de contenu (il sera automatiquement supprimé).
BBCODE_FLAGS_SMILEYS_ON ( integer ) - depuis 0.10.2
La balise BBCode accepte les émoticônes.
BBCODE_FLAGS_SMILEYS_OFF ( integer ) - depuis 0.10.2
La balise BBCode n'accepte pas les émoticônes.
BBCODE_FLAGS_ONE_OPEN_PER_LEVEL ( integer ) - depuis 0.10.2
La balise BBCode se ferme automatiquement si une autre balise du même type est trouvée, au même niveau.
BBCODE_FLAGS_REMOVE_IF_EMPTY ( integer ) - depuis 0.10.2
La balise BBCode est automatiquement effacé si le contenu est vide ; cela permet d'alléger le code HTML.
BBCODE_FLAGS_DENY_REOPEN_CHILD ( integer ) - depuis 0.10.3
La valise BBCode ne permet pas d'inclure des balises enfants réouvertes lorsqu'elles ont été fermées automatiquement.
BBCODE_ARG_DOUBLE_QUOTE ( integer ) - depuis 0.10.2
C'est une option de l'analyseur, permettant l'encadrement des arguments avec des doubles guillemets ".
BBCODE_ARG_SINGLE_QUOTE ( integer ) - depuis 0.10.2
C'est une option de l'analyseur, permettant l'encadrement des arguments avec des guillemets simples '.
BBCODE_ARG_HTML_QUOTE ( integer ) - depuis 0.10.2
C'est une option de l'analyseur, permettant l'encadrement des arguments avec la version HTML des guillemets doubles &quot;.
BBCODE_ARG_QUOTE_ESCAPING ( integer ) - depuis 1.0.2
C'est une option de l'analyseur, permettant d'échapper les guillemets présents dans l'argument. Ceci permet de trouver le délimiteur dans la chaîne. Le caractère d'échappement est \. Il peut échapper n'importe quel caractère, y compris lui-même. S'il est trouvé devant un caractère qui ne peut être échappé, il sera supprimé. Le comportement par défaut est de ne pas utiliser l'échappement.
BBCODE_AUTO_CORRECT ( integer ) - depuis 0.10.2
C'est une option de l'analyseur permettant de changer la façon dont les erreurs sont traitées. Elle ferme automatiquement les balises dans l'ordre dans laquelle elles ont été ouvertes. Et traite les balises avec seulement une balise ouverte s'il y a une balise fermante.
BBCODE_CORRECT_REOPEN_TAGS ( integer ) - depuis 0.10.2
C'est une option de l'analyseur permettant de changer la façon dont les erreurs sont traitées. Elle réouvre automatiquement les balises si les balises de fermeture ne sont pas dans le bon ordre.
BBCODE_DISABLE_TREE_BUILD ( integer ) - depuis 0.10.2
C'est une option de l'analyseur permettant de désactiver l'analyse BBCode si seul le remplacement des émoticônes doit être effectué.
BBCODE_DEFAULT_SMILEYS_ON ( integer ) - depuis 0.10.2
C'est une option de l'analyseur permettant l'activation des émoticônes si aucune balise n'est fournie au niveau des balises.
BBCODE_DEFAULT_SMILEYS_OFF ( integer ) - depuis 0.10.2
C'est une option de l'analyseur permettant la désactivation des émoticônes si aucune balise n'est fournie au niveau des balises.
BBCODE_FORCE_SMILEYS_OFF ( integer ) - depuis 0.10.2
C'est une option de l'analyseur permettant la désactivation complète de l'analyse des émoticônes.
BBCODE_SMILEYS_CASE_INSENSITIVE ( integer ) - depuis 0.10.3
Utilise une détection insensible à la casse pour les émoticônes, au lieu d'une simple recherche binaire.
BBCODE_SET_FLAGS_SET ( integer ) - depuis 0.10.2
Ceci permet de définir un jeu complet de drapeaux de l'analyseur.
BBCODE_SET_FLAGS_ADD ( integer ) - depuis 0.10.2
Ceci permet d'activer un drapeau de l'analyseur.
BBCODE_SET_FLAGS_REMOVE ( integer ) - depuis 0.10.2
Ceci permet de désactiver un drapeau de l'analyseur.
Types de ressources
Fonctions BBCode
BBCode


Fonctions BBCode

Sommaire

  • bbcode_add_element — Ajoute un élément BBCode
  • bbcode_add_smiley — Ajoute une émoticône à l'analyseur
  • bbcode_create — Crée une ressource BBCode
  • bbcode_destroy — Ferme une ressource BBCode_container
  • bbcode_parse — Analyse une chaîne en suivant le jeu de règles données
  • bbcode_set_arg_parser — Attache un analyseur pour gérer un autre jeu de règles
  • bbcode_set_flags — Spécifie ou modifie des options d'analyseurs BBcode
Constantes pré-définies
bbcode_add_element
BBCode


Ajoute un élément BBCode

Fonctions BBCode
bbcode_add_smiley
Fonctions BBCode
PHP Manual

bbcode_add_element

(PECL bbcode >= 0.9.0)

bbcode_add_element — Ajoute un élément BBCode

Description

bool bbcode_add_element ( resource $bbcode_container , string $tag_name , array $tag_rules )

Ajoute une balise à une ressource BBCode_Container existante.

Liste de paramètres

bbcode_container

Ressource BBCode_Container, retournée par bbcode_create().

tag_name

La nouvelle balise à ajouter au BBCode_Container tag_set.

tag_rules

Un tableau associatif contenant les règles d'analyse ; voir bbcode_create() pour les clés disponibles.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Fonctions BBCode
bbcode_add_smiley
Fonctions BBCode


Ajoute une émoticône à l'analyseur

bbcode_add_element
bbcode_create
Fonctions BBCode
PHP Manual

bbcode_add_smiley

(PECL bbcode >= 0.10.2)

bbcode_add_smiley — Ajoute une émoticône à l'analyseur

Description

bool bbcode_add_smiley ( resource $bbcode_container , string $smiley , string $replace_by )

Ajoute une émoticône à l'analyseur.

Liste de paramètres

bbcode_container

Ressource BBCode_Container, retournée par bbcode_create().

smiley

La chaîne qui représente l'émoticône.

replace_by

La chaîne qui remplace l'émoticône lorsqu'il sera trouvé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bbcode_add_smiley()

<?php
/*
 * Préparation du jeu de règles
 */
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,
                       'childs'=>'!i'),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>',
                       'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>',
                       'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>',
                       'close_tag'=>'</i>',
                       'childs'=>'b'),
);
/*
 * Aalyse du texte
 */
$text=<<<EOF
[i] No parse Test [/i] :)
[b] Parsed, with smiley :( [/b]
[u] Parsed, with no smiley :D [/u]
EOF;
/*
 * Initialise l'analyseur
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Ajout une règle d'émoticône à l'analyseur
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
 * Analyse le texte
 */
echo bbcode_parse($BBHandler,$text);
?>

L'exemple ci-dessus va afficher :

[i] No parse Test [/i] <img src="smiley.gif" alt=":)" />
<b> Parsed, with smiley <img src="sad.gif" alt=":(" /> </b>
<u> Parsed, with no smiley :D </u>

bbcode_add_element
bbcode_create
Fonctions BBCode


Crée une ressource BBCode

bbcode_add_smiley
bbcode_destroy
Fonctions BBCode
PHP Manual

bbcode_create

(PECL bbcode >= 0.9.0)

bbcode_create — Crée une ressource BBCode

Description

resource bbcode_create ([ array $bbcode_initial_tags ] )

Cette fonction retourne une nouvelle ressource BBCode, utilisée pour analyser les chaînes BBCode.

Liste de paramètres

bbcode_initial_tags

Un tableau associatif contenant les noms des balises en tant que clés, et les paramètres requis afin d'analyser correctement le code BBCode en tant que valeurs. Les paires clés/valeurs suivantes sont supportées :

  • flags optionnel - un jeu de drapeaux, basé sur les constantes BBCODE_FLAGS_*.
  • type requis - un entier, indiquant le type de drapeau. Utilisez les constantes BBCODE_TYPE_*.
  • open_tag requis - la chaîne HTML de remplacement pour la balise ouvrante.
  • close_tag requis - la chaîne HTML de remplacement pour la balise fermante.
  • default_arg optionnel - utilise cette valeur en tant qu'argument par défaut si aucun n'est fourni et que tag_type est du type OPTARG.
  • content_handling optionnel - Indique la fonction de rappel utilisée pour modifier le contenu. La notation orientée objet est supportée uniquement depuis la version 0.10.1. La signature de la fonction de rappel est de la forme : (string $content, string $argument)
  • param_handling optionnel - Spécifie la fonction de rappel utilisée pour modifier l'argument. La notation orientée objet est supportée uniquement depuis la version 0.10.1. La signature de la fonction de rappel est de la forme : (string $content, string $argument)
  • childs optionnel - Liste des enfants acceptés en tant que balise. Le format de la liste est une succession de chaînes, séparées par une virgule. Si la liste commence par un point d'exclamation, ce sera la liste des enfants rejetées comme balises.
  • parent optionnel - Liste des enfants acceptés pour la balise. Le format de la liste est une succession de chaînes, séparées par une virgule.

Valeurs de retour

Retourne un BBCode_Container

Exemples

Exemple #1 Exemple avec bbcode_create()

<?php
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,  'childs'=>'!i'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>',
                    'close_tag'=>'</i>', 'childs'=>'b'),
    'url'=>      array('type'=>BBCODE_TYPE_OPTARG,
                    'open_tag'=>'<a href="{PARAM}">', 'close_tag'=>'</a>',
                    'default_arg'=>'{CONTENT}',
                    'childs'=>'b,i'),
    'img'=>      array('type'=>BBCODE_TYPE_NOARG,
                    'open_tag'=>'<img src="', 'close_tag'=>'" />',
                    'childs'=>''),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>',
                    'close_tag'=>'</b>'),
);
$text=<<<EOF
[b]Bold Text[/b]
[i]Italic Text[/i]
[url]http://www.php.net/[/url]
[url=http://pecl.php.net/][b]Content Text[/b][/url]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[url=http://www.php.net/]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[/url]
EOF;
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
?>

L'exemple ci-dessus va afficher :

<b>Bold Text</b>
[i]Italic Text[/i]
<a href="http://www.php.net/">http://www.php.net/</a>
<a href="http://pecl.php.net/"><b>Content Text</b></a>
<img src="http://static.php.net/www.php.net/images/php.gif" />
<a href="http://www.php.net/">
[img]http://static.php.net/www.php.net/images/php.gif[/img]
</a>

bbcode_add_smiley
bbcode_destroy
Fonctions BBCode


Ferme une ressource BBCode_container

bbcode_create
bbcode_parse
Fonctions BBCode
PHP Manual

bbcode_destroy

(PECL bbcode >= 0.9.0)

bbcode_destroy — Ferme une ressource BBCode_container

Description

bool bbcode_destroy ( resource $bbcode_container )

Cette fonction ferme la ressource ouverte par bbcode_create().

Liste de paramètres

bbcode_container

Ressource BBCode_Container, retournée par bbcode_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

bbcode_create
bbcode_parse
Fonctions BBCode


Analyse une chaîne en suivant le jeu de règles données

bbcode_destroy
bbcode_set_arg_parser
Fonctions BBCode
PHP Manual

bbcode_parse

(PECL bbcode >= 0.9.0)

bbcode_parse — Analyse une chaîne en suivant le jeu de règles données

Description

string bbcode_parse ( resource $bbcode_container , string $to_parse )

Cette fonction analyse la chaîne to_parse en suivant les règles de bbcode_container, créé par bbcode_create()

Liste de paramètres

bbcode_container

Ressource BBCode_Container, retournée par bbcode_create().

to_parse

La chaîne à analyser.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

bbcode_destroy
bbcode_set_arg_parser
Fonctions BBCode


Attache un analyseur pour gérer un autre jeu de règles

bbcode_parse
bbcode_set_flags
Fonctions BBCode
PHP Manual

bbcode_set_arg_parser

(PECL bbcode >= 0.10.2)

bbcode_set_arg_parser — Attache un analyseur pour gérer un autre jeu de règles

Description

bool bbcode_set_arg_parser ( resource $bbcode_container , resource $bbcode_arg_parser )

Attache un autre analyseur à bbcode_container. Cet analyseur est utilisé uniquement lors que les arguments doivent être analysés. Si cette fonction n'est pas utilisée, l'analyseur par défaut est l'analyseur lui-même.

Liste de paramètres

bbcode_container

Ressource BBCode_Container, retournée par bbcode_create().

bbcode_arg_parser

Ressource BBCode_Container, retournée par bbcode_create().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bbcode_set_arg_parser()

<?php
/*
 * Génération des règles de BBCode pour l'analyseur principal
 */
$arrayBBCode=array(
    'quote'=>    array('type'=>BBCODE_TYPE_ARG,
                       'open_tag'=>'<quote><h4>Source: {PARAM}</h4>',
                       'close_tag'=>'</quote>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Génération des règles de BBCode pour les arguments
 */
$arrayBBCode_arg=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Texte qui sera traité
 */
$text=<<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Bar example :)[/b] :)
EOF;
/*
 * Initialisation des deux analyseurs BBcode
 */
$BBHandler=bbcode_create($arrayBBCode);
$BBArgHandler=bbcode_create($arrayBBCode_arg);
/*
 * Configuration des deux analyseurs
 */
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
 * Configuration de $BBArgHandler comme analyseur d'arguments
 */
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
 * Ajout de la gestion des émoticônes
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
 * Utilisation de l'analyseur principal
 */
echo bbcode_parse($BBHandler,$text);
?>

L'exemple ci-dessus va afficher :

<quote><h4>Source: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Bar example :)</b> <img src="smiley.gif" alt=":)" />

bbcode_parse
bbcode_set_flags
Fonctions BBCode


Spécifie ou modifie des options d'analyseurs BBcode

bbcode_set_arg_parser
PCRE
Fonctions BBCode
PHP Manual

bbcode_set_flags

(PECL bbcode >= 0.10.2)

bbcode_set_flags — Spécifie ou modifie des options d'analyseurs BBcode

Description

bool bbcode_set_flags ( resource $bbcode_container , int $flags [, int $mode = BBCODE_SET_FLAGS_SET ] )

Spécifie ou modifie des options d'analyseur BBCode.

Liste de paramètres

bbcode_container

Ressource BBCode_Container, retournée par bbcode_create().

flags

Le jeu de drapeaux qui doivent être appliquée aux options de bbcode_container

mode

Une des constantes BBCODE_SET_FLAGS_* à utiliser, ou supprimer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec bbcode_set_flags()

<?php
/*
 * Préparation des règles
 */
$arrayBBCode=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
 * BBCode mal imbriqué
 */
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Activation de la réouverture automatique des éléments fermés
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);

/*
 * BBCode mal imbriqué
 */
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Activation de la fermeture automatique des éléments ouverts
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_AUTO_CORRECT,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
?>

L'exemple ci-dessus va afficher :

<i> Parser <b> Auto Correction </b></i> at work
<i> Parser <b> Auto Correction </b></i><b> at work </b>
<i> Parser [b] Auto Correction </i> at work
<i> Parser <b> Auto Correction </b></i><b> at work
</b>

bbcode_set_arg_parser
PCRE
Fonctions BBCode


Expressions rationnelles (compatible Perl)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Masques PCRE
    • Options disponibles pour les expressions rationnelles — Options de recherche
    • Différences avec Perl
    • Differences avec les regex POSIX
    • Fonctionnement des expressions rationnelles — Syntaxe des masques
  • Fonctions PCRE
    • preg_filter — Recherche et remplace avec une expression rationnelle
    • preg_grep — Retourne un tableau avec les résultats de la recherche
    • preg_last_error — Retourne le code erreur de la dernière expression PCRE exécutée
    • preg_match_all — Expression rationnelle globale
    • preg_match — Expression rationnelle standard
    • preg_quote — Protection des caractères spéciaux des expressions rationnelles
    • preg_replace_callback — Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback
    • preg_replace — Rechercher et remplacer par expression rationnelle standard
    • preg_split — Éclate une chaîne par expression rationnelle
bbcode_set_flags
Introduction
Traitement du texte


Introduction

La syntaxe des masques utilisés dans ces fonctions ressemble fort à celle de Perl. Les expressions seront entourées de délimiteurs, slash (/), par exemple. Un délimiteur peut être n'importe quel caractère, tant qu'il n'est pas alphanumérique, un caractère blanc, l'antislash (\) ou le caractère nul (\0). Si un délimiteur doit être utilisé dans l'expression, il faudra le protéger avec un antislash. Depuis PHP 4.0.4, vous pouvez utiliser les délimiteurs (), {}, [], et <>, comme en Perl. Voir la syntaxe des masques pour plus d'explications.

Le délimiteur final peut être suivi d'options qui affecteront la recherche. Voir aussi options de recherche.

PHP supporte également les expressions rationnelles utilisant la syntaxe POSIX étendue (fonctions REGEX POSIX-extended).

Note: Cette extension maintient un cache global par thread des expressions rationnelles compilées (jusqu'à 4096).

Avertissement

Vous devez être conscient des limitations de PCRE. Lisez » http://www.pcre.org/pcre.txt pour plus de détails.

La bibliothèque PCRE est un ensemble de fonctions qui implémentent les expressions rationnelles en utilisant la même syntaxe et sémantique que Perl 5 avec seulement quelques différence (voir plus bas). L'implémentation courante correspond à Perl 5.005.

PCRE
Installation/Configuration
PCRE


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
PCRE


Installation

À partir de PHP 4.2.0, ces fonctions sont activées par défaut. Pour les anciennes versions, vous devez configurer et compiler PHP avec l'option --with-pcre-regex afin de pouvoir les utiliser. Utilisez --with-pcre-regex=DIR pour spécifier le répertoire où la bibliothèque PCRE est installée si vous n'utilisez pas la bibliothèque incluse dans PHP. Pour les versions plus anciennes de PHP, vous devez configurer et compiler PHP avec --with-pcre-regex[=DIR] pour pouvoir utiliser ces fonctions.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Note: Depuis PHP 5.3.0, cette extension ne peut plus être désactivée et est donc, toujours présente.
Il est cependant toujours possible de compiler PHP avec une bibliothèque externe PCRE, en utilisant l'option de compilation --with-pcre-regex=DIR

PCRE est un projet actif et au fur et à mesure où il change, les fonctionnalités PHP change également. Il est possible que certaines parties du manuel PHP soient obsolètes et qu'elles ne couvrent pas les nouvelles fonctionnalités que fournies PCRE. Pour une liste des modifications, reportez-vous au » changlog de la bibliothèques PCRE ainsi qu'à l'historique suivant de la version PCRE inclue dans PHP :

Historique des mises à jour de la bibliothèque PCRE inclue dans PHP
Version PHP | Version PCRE mise à jour | Notes
5.3.2 | 8.00 |
5.3.0 | 7.9 |
5.2.7 | 7.8 |
5.2.6 | 7.6 |
5.2.5 | 7.3 |
5.2.4 | 7.2 |
5.2.2 | 7.0 |
5.2.0 | 6.7 |
5.1.0 | 6.2 |
5.0.5 | 5.0 |
5.0.0 | 4.5 |
4.4.7 | 7.7 |

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration PCRE
Nom | Défaut | Modifiable | Historique
pcre.backtrack_limit | "100000" | PHP_INI_ALL | Disponible depuis PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Disponible depuis PHP 5.2.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

pcre.backtrack_limit entier

PCRE's backtracking limit.

pcre.recursion_limit entier

Limite de récurrence PCRE. Notez que si vous définissez cette valeur à un nombre très élevé, vous pourriez consommer tous les processus disponibles et, éventuellement, faire planter PHP (la taille limite de la pile imposée par le système sera atteinte).

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes PREG
Constante | Description
PREG_PATTERN_ORDER | Ordonne les résultats de façon à ce que $matches[0] contienne les résultats qui correspondent au masque entier, $matches[1] ceux qui correspondent à la première parenthèse capturante et ainsi de suite. Cette constante est utilisée avec preg_match_all().
PREG_SET_ORDER | Les résultats sont classés de telle façon que $matches[0] contient la première série de résultat, $matches[1] la deuxième, etc. Cette constante est utilisée avec preg_match_all().
PREG_OFFSET_CAPTURE | Voir la description de PREG_SPLIT_OFFSET_CAPTURE. Cette constante est utilisée depuis PHP 4.3.0 .
PREG_SPLIT_NO_EMPTY | Si cette option est activée, seules les sous-chaînes non vides seront retournées par preg_split().
PREG_SPLIT_DELIM_CAPTURE | Si cette option est activée, les expressions entre parenthèses entre les délimiteurs de masques seront aussi capturées et retournées. Cette option a été ajoutée en PHP 4.0.5. Cette constante est utilisée avec preg_split().
PREG_SPLIT_OFFSET_CAPTURE | Si cette constante est utilisée avec preg_split(), l'offset de début de résultat sera retourné, en plus de la chaîne résultat. Notez que cela change la nature du résultat retourné en un tableau contenant une chaîne à l'offset 0 et une chaîne contenant un offset à l'offset 1. Cette option est disponible depuis PHP 4.3.0.
PREG_NO_ERROR | Retourné par la fonction preg_last_error() s'il n'y a pas d'erreur. Disponible depuis PHP 5.2.0.
PREG_INTERNAL_ERROR | Retourné par la fonction preg_last_error() s'il y a une erreur interne PCRE. Disponible depuis PHP 5.2.0.
PREG_BACKTRACK_LIMIT_ERROR | Retourné par la fonction preg_last_error() si backtrack limit a été atteint. Disponible depuis PHP 5.2.0.
PREG_RECURSION_LIMIT_ERROR | Retourné par la fonction preg_last_error() si la limite de récurrence a été atteint. Disponible depuis PHP 5.2.0.
PREG_BAD_UTF8_ERROR | Retourné par la fonction preg_last_error() si la dernière erreur est du à une malformation des données UTF-8 (uniquement lors de l'exécution d'une expression en mode UTF-8). Disponible depuis PHP 5.2.0.
PREG_BAD_UTF8_OFFSET_ERROR | Retourné par la fonction preg_last_error() si l'offset ne correspond pas au début d'un point valide UTF-8 (uniquement lorsque l'on exécute une expression enmode UTF-8). Disponible depuis PHP 5.3.0.
PCRE_VERSION | Version PCRE ainsi que la date de publication (i.e. "7.0 18-Dec-2006"). Disponible depuis PHP 5.2.4.
Types de ressources
Exemples
PCRE


Exemples

Exemple #1 Exemples de masques valides

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Exemple #2 Exemples de masques invalides

  • /href='(.*)' - il manque le délimiteur de fin
  • /\w+\s*\w+/J - le modificateur 'J' est inconnu
  • 1-\d3-\d3-\d4| - il manque le délimiteur de début

Constantes pré-définies
Masques PCRE
PCRE


Masques PCRE

Sommaire

  • Options disponibles pour les expressions rationnelles
  • Différences avec Perl
  • Differences avec les regex POSIX
  • Fonctionnement des expressions rationnelles
Exemples
Options disponibles pour les expressions rationnelles
PCRE


Options de recherche

Les options de PCRE sont listées ci-dessous. Les noms entre parenthèses sont les noms internes à PCRE. Les espaces et les caractères de nouvelles lignes sont ignorés dans les modificateurs, les autres caractères causent des erreurs.

i (PCRE_CASELESS)
Effectue une recherche insensible à la casse.
m (PCRE_MULTILINE)
Par défaut, PCRE traite la chaîne sujet comme une seule ligne (même si cette chaîne contient des retours chariot). Le métacaractère "début de ligne" (^) ne sera valable qu'une seule fois, au début de la ligne, et le métacaractère "fin de ligne " ($) ne sera valable qu'à la fin de la chaîne, ou avant le retour chariot final (à moins que l'option D ne soit activée). C'est le même fonctionnement qu'en Perl. Lorsque cette option est activée, " début de ligne " et " fin de ligne " correspondront alors aux caractères suivant et précédent immédiatement un caractère de nouvelle ligne, en plus du début et de la fin de la chaîne. C'est le même fonctionnement que l'option Perl /m. S'il n'y a pas de caractère de nouvelle ligne "\n" dans la chaîne sujet, ou s'il n'y a aucune occurrence de ^ ou $ dans le masque, cette option ne sert à rien.
s (PCRE_DOTALL)
Avec cette option, le métacaractère point (.) remplace n'importe quel caractère, y compris les nouvelles lignes. Sans cette option, le caractère point ne remplace pas les nouvelles lignes. Cette option est équivalente à l'option Perl /s. Une classe de caractères négative telle que [^a] acceptera toujours les caractères de nouvelles lignes, indépendamment de cette option.
x (PCRE_EXTENDED)
Avec cette option, les caractères d'espacement sont ignorés, sauf lorsqu'ils sont échappés, ou à l'intérieur d'une classe de caractères, et tous les caractères entre # non échappés et en dehors d'une classe de caractères, et le prochain caractère de nouvelle ligne sont ignorés. C'est l'équivalent Perl de l'option /x : elle permet l'ajout de commentaires dans les masques compliqués. Notez bien, cependant, que cela ne s'applique qu'aux caractères de données. Les caractères d'espacement ne doivent jamais apparaître dans les séquences spéciales d'un masque, par exemple dans la séquence (?( qui introduit une parenthèse conditionnelle.
e (PREG_REPLACE_EVAL)
Avec cette option, preg_replace() effectue la substitution normale des références arrières dans la chaîne de remplacement, puis l'évalue comme un code PHP, et utilise le résultat pour remplacer la chaîne de recherche. Les guillemets simples, les guillemets doubles, les antislashs et les caractères NULL sont protégés avec des antislashs (\) dans les références arrières substituées.

Seule preg_replace() utilise cette option. Elle est ignorée par les autres.

A (PCRE_ANCHORED)
Avec cette option, le masque est ancré de force, c'est-à-dire que le masque doit s'appliquer juste au début de la chaîne sujet pour être considéré comme trouvé. Il est possible de réaliser le même effet en ajoutant les métacaractères adéquats, ce qui est la seule manière de le faire en Perl.
D (PCRE_DOLLAR_ENDONLY)
Avec cette option, le métacaractère $ ne sera valable qu'à la fin de la chaîne sujet. Sans cette option, $ est aussi valable avant une nouvelle ligne, si cette dernière est le dernier caractère de la chaîne. Cette option est ignorée si l'option m est activée. Il n'y a pas d'équivalent en Perl.
S
Lorsqu'un masque est utilisé plusieurs fois, cela vaut la peine de passer quelques instants de plus pour l'analyser et optimiser le code pour accélérer les traitements ultérieurs. Cette option force cette analyse plus poussée. Actuellement, cette analyse n'est utile que pour les masques non ancrés, qui ne commencent pas par un caractère fixe.
U (PCRE_UNGREEDY)
Cette option inverse la tendance à la gourmandise des expressions rationnelles. Vous pouvez aussi inverser cette tendance au coup par coup avec un ? mais cela rendra gourmand la séquence. Cette option n'est pas compatible avec Perl. Elle peut aussi être mise dans le masque avec l'option ?U dans le pattern ou par un point d'interrogation avant le quantificateur (.e.g. .*?).
X (PCRE_EXTRA)
Cette option ajoute d'autres fonctionnalités incompatibles avec le PCRE de Perl. Tous les antislashs suivis d'une lettre qui n'aurait pas de signification particulière causent une erreur, permettant la réservation de ces combinaisons pour des ajouts fonctionnels ultérieurs. Par défaut, comme en Perl, les antislashs suivis d'une lettre sans signification particulière sont traités comme des valeurs littérales. Actuellement, cette option ne déclenche pas d'autres fonctions.
J (PCRE_INFO_JCHANGED)
L'option (?J) interne de configuration modifie l'option locale PCRE_DUPNAMES. Permet la duplication de noms pour les sous-masques.
u (PCRE8)
Cette option désactive les fonctionnalités additionnelles de PCRE qui ne sont pas compatibles avec Perl. Les chaînes sont traitées comme des chaînes UTF-8. Cette option est disponible en PHP 4.1.0 et plus récent sur plate-forme Unix et en PHP 4.2.3 et plus récent sur plate-forme Windows.

Masques PCRE
Différences avec Perl
Masques PCRE


Différences avec Perl

Les différences avec Perl 5.005 sont présentées ici :

  1. Par défaut, un caractère d'espacement correspond à n'importe quel caractère que la fonction C isspace() reconnaît, bien qu'il soit possible de recompiler la bibliothèque PCRE avec d'autres tables de caractères. Normalement, isspace() retourne TRUE pour les espaces, les retours chariot, les nouvelles lignes, les formfeed, les tabulations verticales et horizontales. Perl 5 n'accepte plus la tabulation verticale comme caractère d'espacement. La séquence \v qui était dans la documentation Perl depuis longtemps n'a jamais été reconnue. Cependant, la tabulation verticale elle-même était reconnue comme un caractère d'espacement jusqu'à la version 5.002. Avec les versions 5.004 et 5.005, l'option \s l'ignore.
  2. PRCE ne tolère pas la répétition de quantificateurs dans les expressions. Perl le permet, mais cela ne signifie pas ce que vous pourriez penser. Par exemple, (?!a){3} ne s'interprète pas : les trois caractères suivants ne sont pas des "a". En fait, cela s'interprète comme : le caractère suivant n'est pas "a" trois fois.
  3. Les occurrences de sous-masques qui interviennent dans des assertions négatives sont comptées, mais elles ne sont pas enregistrées dans le vecteur d'occurrences. Perl modifie ses variables numériques pour toutes les occurrences de sous-masque, avant que l'assertion ne vérifie le masque entier, et uniquement si les sous-masques ne trouvent qu'une seule occurrence.
  4. Bien que les caractères nul soient tolérés dans la chaîne de recherche, ils ne sont pas acceptés dans le masque, car le masque est utilisé comme une chaîne C standard, terminée par le caractère nul. Il faut donc utiliser la séquence d'échappement "\x00" dans le masque pour rechercher les caractères nul.
  5. Les séquences d'échappement suivantes ne sont pas supportées par Perl : \l, \u, \L, \U. En fait, elles sont implémentées par la gestion intrinsèque de chaînes Perl, et ne font pas partie de ses caractères spéciaux.
  6. L'assertion \G du Perl n'est pas supportée car elle n'est pas pertinente pour faire des recherches avec des masques uniques.
  7. De manière assez évidente, PCRE n'accepte pas la construction (?{code}) et (??{code}). Cependant, les masques récursifs sont supportés.
  8. Au moment de l'écriture de PCRE, Perl 5.005_02 avait quelques comportements étranges avec la capture des chaînes lorsqu'une partie du masque est redoublée. Par exemple, "aba" avec le masque /^(a(b)?)+$/ va affecter à $2 la valeur "b", mais la même manipulation avec "aabbaa" et /^(aa(bb)?)+$/ laissera $2 vide. Cependant, si le masque est remplacé par /^(aa(b(b))?)+$/ alors $2 (et d'ailleurs $3) seront correctement affectés. Avec le Perl 5.004, $2 sera correctement affecté dans les deux cas, et c'est aussi vrai avec PCRE. Si Perl évolue vers un autre comportement cohérent, PCRE s'adaptera probablement.
  9. Une autre différence encore non résolue est le fait qu'en Perl 5.005_02 le masque /^(a)?(?(1)a|b)+$/ accepte la chaîne "a", tandis que PCRE ne l'accepte pas. Cependant, que ce soit avec Perl ou PCRE /^(a)?a/ et "a" laisseront $1 vide.

  10. PCRE propose quelques extensions aux expressions rationnelles du Perl.

    1. (a) Bien que les assertions arrières (lookbehind) soient obligées de rechercher une chaîne de longueur fixe, toutes les assertions arrières peuvent avoir une longueur différente. Perl 5.005 leur impose d'avoir toutes la même longueur.
    2. (b) Si PCRE_DOLLAR_ENDONLY est activé, et que PCRE_MULTILINE ne l'est pas, le métacaractère $ ne s'applique qu'à la fin physique de la chaîne, et non pas avant les caractères de nouvelle ligne.
    3. (c) Si PCRE_EXTRA est activé, un antislash suivi d'une lettre sans signification spéciale est considéré comme une erreur.
    4. (d) Si PCRE_UNGREEDY est activé, la "gourmandise" des quantificateurs de répétition est inversée, ce qui est rend non gourmand par défaut, mais s'ils sont suivis de ?, il seront gourmands.

Options disponibles pour les expressions rationnelles
Differences avec les regex POSIX
Masques PCRE


Differences avec les regex POSIX

Depuis PHP 5.3.0, l'extension des Regex POSIX est dépréciée. Il y a un certain nombre de différences entre les regex POSIX et PCRE. Cette page liste les plus remarquables qu'il faut connaitre pour passer de l'un à lautre.

  1. Les fonctions PCRE demandent à ce que le motif soit entouré dedelimiteurs.
  2. A la différence de POSIX, l'extension PCRE n'a pas de fonctions dédiées à la correspondance insensible à la casse. Au lieu de cela, il faut utiliser modificateur /i. D'autres modificateurs sont aussi disponibles.
  3. Les fonctions POSIX trouvent l'occurence la plus longue en partant de la gauche, mais PCRE s'arrête dès correspondance avec la première occurence. Si la chaine n'a aucune correspondance, cela ne crée pas de différence mais si il y a correspondance, cela peut avoir des effets dramatiques sur le resultat trouvé et le temps de recherche du motif. Pour illustrer cette différence, considérons l'exemple suivant tiré de "Mastering Regular Expressions" par Jeffrey Friedl. L'utilisation du motif one(self)?(selfsufficient)? sur la chaine oneselfsufficient avec PCRE donnera un résultat oneself, mais avec POSIX le résultat sera toute la chaine oneselfsufficient. Les deux sous-chaines correspondent à la chaine originale, mais POSIX utilise la plus longue comme résultat.

Remplacements de fonctions
POSIX | PCRE
ereg_replace() | preg_replace()
ereg() | preg_match()
eregi_replace() | preg_replace()
eregi() | preg_match()
split() | preg_split()
spliti() | preg_split()
sql_regcase() | No equivalent

Différences avec Perl
Fonctionnement des expressions rationnelles
Masques PCRE


Syntaxe des masques

Sommaire

  • Introduction
  • Délimiteurs
  • Métacaractères
  • Antislash
  • Propriétés des caractères Unicode
  • Accent circonflexe et Dollar
  • Point
  • Crochets
  • Barre verticale
  • Options internes
  • Sous-masques
  • Répétitions
  • Références arrières
  • Assertions
  • Sous-masques uniques
  • Les sous-masques conditionnels
  • Commentaires
  • Masques récursifs
  • Performances
Differences avec les regex POSIX
Introduction
Masques PCRE


Introduction

La syntaxe et la sémantique des expressions rationnelles supportées par PCRE sont décrites ci-dessous. Les expressions rationnelles sont aussi décrites dans la documentation Perl, et dans un grand nombre d'autres livres, avec de nombreux exemples. Le libre de Jeffrey Friedl "Mastering Regular Expressions", édité chez O'Reilly (ISBN 1-56592-257-3), les décrits en profondeur. Cette description est organisée comme une documentation de référence.

Une expression rationnelle est un masque appliqué à une chaîne sujet, de gauche à droite. La plupart des caractères se représentent eux-mêmes. Un exemple trivial : un masque qui serait "Le rapide renard gris", pourra correspondre à une partie de la chaîne sujet qui sera identique au masque, par exemple "Le rapide renard gris court dans la forêt",

Fonctionnement des expressions rationnelles
Délimiteurs
Fonctionnement des expressions rationnelles


Délimiteurs

Lors de l'utilisation des fonctions PCRE, il est nécessaire que le motif soit encadré par des délimiteurs. Un délimiteur peut être n'importe quel caractère alpha-numérique autre qu'un backslash ou qu'un espace.

Les délimiteurs les plus courants sont les slashes (/), dièses (#) et les tildes (~). Les exemples suivants ont tous des motifs encadrés avec des délimiteurs valides.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Si le délimiteur doit être décrit dans le motif, il doit être échappé avec un backslash. Si le délimiteur apparait souvent dans le motif, choisir un autre délimiteur est une bonne idée pour en augmenter la lisibilité.

/http:\/\//
#http://#
La fonction preg_quote() peut être utilisée pour échapper une chaine et l'utiliser dans un motif. Son second paramètre optionnel sert à spécifier le délimiteur qui doit être échappé.

En complément des délimiteurs cités ci-dessus, il est aussi possible d'utiliser des parenthèses comme délimiteur où les parenthèses ouvrante et fermante sont respectivement les délimiteurs ouvrant et fermant.

{ceci est un motif}

Vous pouvez aussi utiliser des modificateurs de motif après le délimiteur final. L'exemple suivant montre une correspondance insensible à la casse.

#[a-z]#i

Introduction
Métacaractères
Fonctionnement des expressions rationnelles


Métacaractères

La puissance des expressions rationnelles provient de leur capacité à autoriser des alternatives et des quantificateurs de répétition dans le masque. Ils sont encodés dans le masque par des métacaractères, qui ne représentent pas ce qu'ils sont, mais sont interprétés d'une certaine manière.

Il y a deux sortes de métacaractères : ceux qui sont reconnus n'importe où dans un masque, hormis entre crochets, et ceux qui sont reconnus entre crochets. À l'extérieur des crochets, les métacaractères sont :

\ antislash
Caractère de protection, avec de multiples usages
^ Accent circonflexe
Le début de la chaîne sujet (ou de ligne, en mode multilignes)
$ Dollar
La fin de la chaîne sujet (ou de ligne, en mode multilignes)
. Point
Remplace n'importe quel caractère, hormis le caractère de nouvelle ligne (par défaut) ;
[ Crochet ouvrant
Caractère de début de définition de classe
] Crochet fermant
Caractère de fin de définition de classe
| Barre verticale
Caractère de début d'alternative
( Parenthèse ouvrante
Caractère de début de sous-masque
) Parenthèse fermante
Caractère de fin de sous-masque
? Point d'interrogation
Étend le sens de (; quantificateur de 0 ou 1; quantificateur de minimisation (Voir les répétitions)
* Étoile
Quantificateur de 0 ou plus
+ Plus
Quantificateur de 1 ou plus
{ Accolade ouvrante
Caractère de début de quantificateur minimum/maximum
} Accolade fermante
Caractère de fin de quantificateur minimum/maximum
La partie du masque qui est entourée de crochets est appelée classe de caractères. Dans les classes de caractères, les seuls métacaractères autorisés sont :
\ antislash
Caractère de protection, avec de multiples usages
^ Accent circonflexe
Négation de la classe, mais uniquement si placé tout au début de la classe
- Moins
Indique un intervalle de caractères
] Crochet fermant
Termine la classe de caractères
La section suivante décrit l'utilisation de chaque métacaractère.

Délimiteurs
Antislash
Fonctionnement des expressions rationnelles


Antislash

Le caractère antislash a de nombreuses utilisations. En premier lieu, s'il est suivi d'un caractère non alphanumérique, il ne prendra pas la signification spéciale qui y est rattachée. Cette utilisation de l'antislash comme caractère de protection s'applique à l'intérieur et à l'extérieur des classes de caractères.

Par exemple, pour rechercher le caractère étoile "*", il faut écrire dans le masque : "\*". Cela s'applique dans tous les cas, que le caractère qui suive soit un métacaractère ou non. C'est un moyen sûr pour s'assurer qu'un caractère sera recherché pour sa valeur littérale, plutôt que pour sa valeur spéciale. En particulier, pour rechercher les antislashs, il faut écrire : "\\".

Note: La chaîne de caractères PHP simple ou double guillemet a une signification spéciale des antislashs. Donc, si \ doit être recherché avec une expression rationnelle \\, alors "\\\\" ou '\\\\' doit être utilisé dans le code PHP.

Si un masque est utilisé avec l'option PCRE_EXTENDED, les espaces blancs du masque, mais qui ne sont pas dans une classe de caractères, et les caractères entre dièse "#", ainsi que les nouvelles lignes sont ignorées. L'antislash peut être utilisé pour les protéger et ainsi rechercher un espace ou un dièse.

La deuxième utilité de l'antislash est de pouvoir coder des caractères invisibles dans les masques. Il n'y a pas de restriction sur la place de ces caractères invisibles, hormis pour le caractère nul qui doit terminer le masque. Lors de la préparation du masque, il est souvent plus pratique d'utiliser les séquences d'échappement suivantes, plutôt que le caractère binaire qu'elles représentent :

\a
alarme, c'est-à-dire le caractère BEL (hex 07)
\cx
"contrôle-x", avec x qui peut être n'importe quel caractère.
\e
escape (hex 1B)
\f
formfeed (hex 0C)
\n
nouvelle ligne (hex 0A)
\p{xx}
un caractère avec une propriété xx, voir les propriétés unicode pour plus d'informations
\P{xx}
un caracère sans propriété xx, voir les propriétés unicode pour plus d'informations
\r
retour chariot (hex 0D)
\t
tabulation (hex 09)
\xhh
caractère en hexadécimal, de code hh, voir les propriétés unicode pour plus d'informations
\ddd
caractère en octal, de code ddd, ou référence arrière

Dans la séquence "\cx" si "x" est en minuscule, il est converti en majuscule. Puis, le bit 6 (hex 40) est inversé. Ainsi "\cz" devient 1A, mais "\c{" devient hex 3B, tandis que "\c;" devient hex 7B.

Après "\x", deux caractères hexadécimaux sont lus (les lettres peuvent être en majuscule ou minuscule). En mode UTF-8, "\x{...}" est autorisée, où le contenu des accolades est une chaîne hexadécimale. Il sera interprété comme un caractère UTF-8 où le numéro de code est le numéro hexadécimal donné. La séquence d'échappement hexadécimale originale, \xhh, correspond à un caractère UTF-8 sur 2 octets si la valeur est plus grande que 127.

Après "\0", deux caractères octaux sont lus. Dans chacun des cas, le métacaractère tente de lire autant de caractères que possible. Ainsi, la séquence "\0\x\07" sera comprise comme deux caractères nuls, suivis d'un caractère alarme (BEL). Assurez-vous que vous fournissez suffisamment de chiffres après le métacaractère.

L'antislash de fin suivi par un nombre autre que 0 est compliqué. À l'extérieur d'une classe de caractère, PCRE le lit, et tous les nombres qui suivent, en tant que nombres décimaux. Si le nombre est plus petit que 10 ou s'il y a eu au moins précédemment une parenthèse gauche capturante dans l'expression, la séquence entière est prise en tant que référence arrière. Une description sur le fonctionnement est donnée plus tard, suivez la discussion sur les parenthèses des sous masques.

À l'intérieur d'un caractère de classe ou s'il est plus grand que 9, et qu'il n'y a pas eu assez de parenthèses ouvrantes auparavant, PCRE lit jusqu'à 3 chiffres octaux à la suite de l'antislash, et génère un octet unique, à partir des 8 bits de poids faible de la séquence. Tous les chiffres qui suivent ne sont pas interprétés, et se représentent eux-mêmes. Par exemple:

\040
une autre manière d'écrire un espace
\40
identique, dans la mesure où il n'y a pas 40 parenthèses ouvrantes auparavant
\7
est toujours une référence arrière
\11
peut être une référence de retour, ou une tabulation
\011
toujours une tabulation
\0113
est une tabulation suivie du caractère "3"
\113
est le caractère 113 (étant donné qu'il ne peut y avoir plus de 99 références arrières)
\377
est un octet dont tous les bits sont à 1
\81
peut être soit une référence arrière, soit un zéro binaire suivi des caractères "8" et "1"

Les valeurs octales supérieures ou égales à 100 ne doivent pas être introduites par un 0, car seuls les trois premiers octets seront lus.

Toutes les séquences qui définissent une valeur d'un seul octet peuvent être utilisées dans les classes de caractères, et à l'extérieur. De plus, dans une classe de caractères, la séquence "\b" est interprétée comme un caractère effacer (hex 08). À l'extérieur, elle peut avoir d'autres significations (voir ci-dessous).

On peut encore se servir de l'antislash pour préciser des types génériques de valeurs :

\d
tout caractère décimal
\D
tout caractère qui n'est pas un caractère décimal
\h
n'importe quel espace horizontal (depuis PHP 5.2.4)
\H
n'importe quel caractère qui n'est pas un espace horizontal (depuis PHP 5.2.4)
\s
tout caractère blanc
\S
tout caractère qui n'est pas un caractère blanc
\v
n'importe quel espace vertical (depuis PHP 5.2.4)
\V
n'importe quel caractère qui n'est pas un espace vertical (depuis PHP 5.2.4)
\w
tout caractère de "mot"
\W
tout caractère qui n'est pas un caractère de "mot"

Chaque paire précédente définit une partition de la table des caractères : les deux ensembles sont disjoints. Un caractère satisfera soit un métacaractère, soit l'autre.

Un caractère de "mot" sera une lettre, un chiffre ou le caractère souligné, c'est-à-dire un caractère qui pourra être une partie d'un mot Perl. La définition des lettres et chiffres est définie par les tables de caractères de PCRE, et peut varier suivant la table locale de caractères. Par exemple, dans la configuration "français" ("fr"), certains caractères ont des codes supérieurs à 128, pour les caractères accentués, et ils seront compris par le métacaractère \w.

Ces séquences de caractères peuvent apparaître à l'intérieur ou à l'extérieur des classes de caractères. Elles remplacent à chaque fois un caractère du type correspondant. Si cette séquence est placée en fin de masque, et qu'il n'y a plus de caractère à comparer dans la chaîne sujet, la recherche échoue.

La quatrième utilisation de l'antislash intervient lors d'assertions simples. Une assertion impose une condition à un certain point, sans remplacer de caractère. L'utilisation de sous-masques pour réaliser des assertions plus complexes est décrite plus bas. Les assertions avec antislash sont les suivantes :

\b
limite de mot
\B
pas limite de mot
\A
début de la chaîne sujet (indépendant du mode multilignes)
\Z
fin de la chaîne sujet ou nouvelle ligne à la fin de la chaîne sujet (indépendant du mode multilignes)
\G
position de la première occurrence trouvé dans la chaîne sujet
\z
fin de la chaîne sujet (indépendant du mode multilignes)

Ces assertions ne peuvent pas apparaître dans une classe de caractères (mais "\b" a une autre signification à l'intérieur d'une classe de caractères).

Une limite de mot est un emplacement dans la chaîne sujet ou un caractère et son suivant ne sont pas en même temps des caractères de mot (\w), ou le contraire (\W) (on peut le voir comme \w\W ou \W\w), ou encore le premier ou le dernier caractère est un caractère mot (\w).

Les assertions \A, \Z, et \z diffèrent des métacaractères ^ et $ dans la mesure où ils ne sont pas dépendants des options, notamment PCRE_MULTILINE ou PCRE_DOLLAR_ENDONLY. La différence entre \Z et \z tient au fait que \Z recherche les positions avant les nouvelles lignes et à la fin de la chaîne sujet, tandis que \z ne recherche que la fin de la chaîne.

L'assertion \G est réalisée uniquement lorsque la position courante de l'occurrence trouvée est au début de l'occurrence, comme spécifié par l'argument offset de la fonction preg_match(). Elle diffère de \A lorsque la valeur du paramètre offset est différente de zéro. Elle est disponible depuis PHP 4.3.3.

\Q et \E peuvent être utilisés pour ignorer les métacaractères dans le masque, depuis PHP 4.3.3. Par exemple : \w+\Q.$.\E$ recherchera un ou plusieurs caractères suivis par la chaîne littérale .$. et ancrés à la fin de la chaîne.

\K peut être utilisé pour réinitialiser le résultat, depuis PHP 5.2.4. Par exemple, le masque foo\Kbar trouve "foobar", mais reporte q'il a trouvé "bar". L'utilisation de \K n'interfère pas avec la configuration des sous-chaînes capturantes. Par exemple, lorsque le masque (foo)\Kbar trouve "foobar", la première sous-chaîne sera toujours "foo".

Métacaractères
Propriétés des caractères Unicode
Fonctionnement des expressions rationnelles


Propriétés des caractères Unicode

Depuis PHP 4.4.0 et 5.1.0, trois nouvelles séquences d'échappement pour trouver des types de caractères sont disponibles lorsque le mode UTF-8 est sélectionné. Elles sont :

\p{xx}
un caractère avec les propriétés xx
\P{xx}
un caractère sans les propriétés xx
\X
une séquence étendue Unicode

Les noms des propriétés représentés par xx ci-dessus sont limités aux catégories de propriétés générales Unicode. Chaque caractère a exactement une seule de ces propriétés, spécifié par une abréviation sur deux caractères. Pour des raisons de compatibilité avec Perl, la négation peut être spécifiée en incluant un accent circonflexe entre l'accolade ouvrante et le nom de la propriété. Par exemple, \p{^Lu} équivaut à la même chose que \P{Lu}.

Si une seule lettre est spécifiée avec \p ou \P, il inclut toutes les propriétés qui commencent par cette lettre. Dans ce cas, en l'absence de négation, les accolades dans la séquence d'échappement sont optionnelles ; ceci revient à la même chose :

   \p{L}
   \pL

Codes des propriétés supportées
Propriétés | Correspondance | Notes
C | Autre |
Cc | Contrôle |
Cf | Format |
Cn | Non affecté |
Co | Utilisation privée |
Cs | Substitut |
L | Lettre | Inclut les propriétés suivantes : Ll, Lm, Lo, Lt et Lu.
Ll | Lettre en minuscule |
Lm | Lettre de modification |
Lo | Autres lettres |
Lt | Lettre titrée |
Lu | Lettre en majuscule |
M | Marque |
Mc | Marque d'espacement |
Me | Marque d'enfermement |
Mn | Marque non espacée |
N | Nombre |
Nd | Nombre décimal |
Nl | Nombre Lettre |
No | Autres nombres |
P | Ponctuation |
Pc | Ponctuation de connecteur |
Pd | Tiret de ponctuation |
Pe | Ponctuation de fermeture |
Pf | Ponctuation finale |
Pi | Ponctuation initiale |
Po | Autres ponctuations |
Ps | Ponctuation ouvrante |
S | Symbole |
Sc | Symbole monétaire |
Sk | Symbole de modification |
Sm | Symbole mathématique |
So | Autres symboles |
Z | Séparateur |
Zl | Séparateur de ligne |
Zp | Séparateur de paragraphe |
Zs | Séparateur d'espace |

Les propriétés étendues comme "Greek" ou "InMusicalSymbols" ne sont pas supportées par PCRE.

La sensibilité à la casse de la recherche n'affecte pas les séquences d'échappement. Par exemple, \p{Lu} cherche toujours et uniquement les lettres en majuscules

La séquence \X cherche n'importe quel numéro de caractères Unicode qui forme une séquence étendue Unicode. \X est l'équivalent de (?>\PM\pM*).

C'est-à-dire qu'il cherchera un caractère sans la propriété "Marque", suivi par zéro ou plus caractères avec la propriété "Marque", et traitera la séquence en tant que groupe atomique (voir ci-dessous). Les caractères avec la propriété "Marque" sont typiquement des accents qui affectent le caractère précédent.

La recherche de caractères par les propriétés Unicode n'est pas la méthode la plus rapide, car PCRE doit chercher une structure qui contient les données dans plus de quinze mille caractères. C'est pour cela que les séquences traditionnelles comme \d et \w n'utilisent pas les propriétés Unicode dans PCRE.

Antislash
Accent circonflexe et Dollar
Fonctionnement des expressions rationnelles


Accent circonflexe et Dollar

En dehors d'une classe de caractères, avec les options par défaut, ^ est une assertion qui n'est vraie que si elle est placée tout au début de la chaîne. À l'intérieur d'une classe de caractères, ^ a un tout autre sens (voir ci-dessous).

^ n'a pas besoin d'être le premier caractère du masque, si plusieurs alternatives sont proposées, mais il doit être placé en premier dans chaque alternative. Si toutes les alternatives commencent par ^, alors le masque est dit ancré (il y a une autre construction qui porte cette appellation).

$ est une assertion qui n'est vraie que si elle est placée tout en fin de chaîne ou juste avant un caractère de nouvelle ligne qui serait le dernier caractère de la chaîne. À l'intérieur d'une classe de caractères, $ a un tout autre sens (voir ci-dessous). $ n'a pas besoin d'être le dernier caractère du masque, si plusieurs alternatives sont proposées, mais il doit être placé en dernier dans chaque alternative. Si toutes les alternatives finissent par $, alors le masque est dit ancré (il y a une autre construction qui porte cette appellation). $ n'a pas de valeur particulière dans une classe de caractères.

La signification de $ peut changer, de manière à l'amener à ce qu'il ne puisse se trouver qu'en toute fin de la chaîne sujet. Cela se fait en ajoutant l'option PCRE_DOLLAR_ENDONLY au moment de la compilation, ou de l'exécution. Cette option est inopérante sur \Z.

La signification de ^ peut changer, de manière à l'amener à ce qu'il puisse se trouver immédiatement avant et immédiatement après un caractère de nouvelle ligne "\n". Cela se fait en ajoutant l'option PCRE_MULTILINE au moment de la compilation ou de l'exécution. Par exemple, le masque /^abc$/ accepte la chaîne "def\nabc" uniquement en mode multilignes. Par conséquent, toutes les parties du masque qui commencent par "^" ne sont pas ancrées, en mode multilignes. L'option PCRE_DOLLAR_ENDONLY est ignorée si l'option PCRE_MULTILINE est choisie.

Notez que les métacaractères \A, \Z, et \z peuvent servir à repérer le début et la fin du sujet, et toutes les parties du masque qui commenceront par \A seront toujours ancrées, avec l'option PCRE_MULTILINE ou non.

Propriétés des caractères Unicode
Point
Fonctionnement des expressions rationnelles


Point

En dehors d'une classe de caractères, un point remplace n'importe quel caractère, même invisible et à l'exception du caractère de nouvelle ligne. Avec l'option PCRE_DOTALL le point remplace n'importe quel caractère, même le caractère de nouvelle ligne. La gestion des points et complètement indépendante de ^ et $. Le seul point commun est que les deux ont un comportement particulier vis-à-vis des caractères de nouvelle ligne. Le point n'a pas de comportement particulier dans une classe de caractères.

\C peut être utilisé pour chercher un seul octet. Il prend tout son sens en mode UTF-8 où le point correspond à un caractère entier qui peut être constitué de plusieurs octets.

Accent circonflexe et Dollar
Crochets
Fonctionnement des expressions rationnelles


Crochets

Un crochet ouvrant [ introduit une classe de caractères, et le crochet fermant ]la conclut. Le crochet fermant n'a pas de signification en lui-même. Si le crochet fermant est nécessaire à l'intérieur d'une classe de caractères, il faut qu'il soit le premier caractère (après un ^ éventuel) ou protégé avec un antislash.

Une classe de caractères remplace un seul caractère dans la chaîne sujet, à moins que le premier caractère de la classe soit un accent circonflexe ^, qui représente une négation : le caractère ne doit pas se trouver dans la classe. Si ^ est nécessaire dans la classe, il suffit qu'il ne soit pas le premier caractère, ou bien qu'il soit protégé par un antislash.

Par exemple, le caractère [aeiou] remplace n'importe quelle voyelle minuscule, tandis que [^aeiou] remplace n'importe quelle caractère qui n'est pas une voyelle minuscule. ^ est une notation pratique pour spécifier des caractères qui sont dans une classe, en ne citant que ceux qui n'y sont pas. Le comportement est inchangé.

Avec l'option d'insensibilité à la casse, toutes les lettres d'une classe de caractères représentent en même temps la majuscule et la minuscule. Par exemple, [aeiou] représentera "A" ou "a", et [^aeiou] n'acceptera pas "A", tandis que sans l'option, elle l'accepterait.

Le caractère de nouvelle ligne n'est pas traité de manière spéciale dans les classes de caractères, quelque soit l'option PCRE_DOTALL ou PCRE_MULTILINE. Une classe telle que [^a] acceptera toujours une nouvelle ligne.

Le signe moins (-) est utilisé pour spécifier un intervalle de caractères, dans une classe. Par exemple, [d-m] remplace toutes les lettres entre d et m inclus. Si le caractère moins est requis dans une classe, il faut le protéger avec un antislash, ou le faire apparaître à une position où il ne pourra pas être interprété comme une indication d'intervalle, c'est-à-dire au début ou à la fin de la classe.

Il n'est pas possible d'avoir le caractère crochet fermant "]" comme fin d'intervalle. Un masque tel que [W-]46] est compris comme la classe de caractères contenant deux caractères ("W" et "-") suivie de la chaîne littérale "46]", ce qui fait qu'il va accepter "W46]" ou "-46]". Cependant, si "]" est protégé avec un antislash, le masque [W-\]46] est interprété comme une classe d'un seul caractère, contenant un intervalle de caractères. La valeur octale ou hexadécimale de "]" peut aussi être utilisée pour déterminer les limites de l'intervalle.

Les intervalles travaillent sur des séquences ASCII. Ils peuvent aussi être précisés avec des valeurs numériques : par exemple "[\000-\037]". Si cet intervalle inclut des lettres utilisées avec une option d'insensibilité de casse, les majuscules ou minuscules correspondantes seront aussi incluses. Par exemple, "[W-c]" est équivalent à "[][\^_`wxyzabc]", avec l'option d'insensibilité de casse. Si la table locale de caractères est "fr", "[\xc8-\xcb]" correspond aux caractères accentués.

Les types de caractères \d, \D, \S, \s, \w, \W peuvent aussi intervenir dans les classes de caractères. Par exemple, "[][\^_`wxyzabc][\dABCDEF]" acceptera n'importe quel caractère hexadécimal. Un accent circonflexe peut aussi être utilisé pour spécifier adroitement des ensembles de caractères plus restrictifs : par exemple [^\W_] accepte toutes les lettres et les chiffres, mais pas les soulignés.

Tous les caractères non alphanumériques autres que \, -, ^ (placés en début de chaîne) et ] n'ont pas de signification particulière, mais ils ne perdront rien à être protégés. Le délimiteur de motif est toujours spécial, et doit être protégé lorsqu'il est utilisé à l'intérieur d'une expression.

Perl supporte la notation POSIX pour les classes de caractères. Elles utilisent des noms entourés par [: et :]. PCRE supporte également cette notation. Par exemple, [01[:alpha:]%] trouve "0", "1", tout caractère numérique, ou encore le caractère "%". Les noms de classe supportés sont :

Classes de caractères
alnum | lettres et chiffres
alpha | lettres
ascii | codes caractères 0 - 127
blank | espace ou tabulation uniquement
cntrl | caractères de contrôle
digit | chiffres décimales (identique à \d)
graph | caractères d'impression, excluant les espaces
lower | lettres en minuscule
print | caractères d'impression, incluant les espaces
punct | caractères d'impression, excluant les lettres et les chiffres
space | espace blanc (par tout à fait identique à \s)
upper | lettres en majuscule
word | caractères composant un mot (identique à \w)
xdigit | chiffres hexadécimaux
Les caractères d'espacement (space) sont HT (9), LF (10), VT (11), FF (12), CR (13), et l'espace (32). Notez que cette liste inclut le caractère VT (code 11). Ceci rend la classe "space" différente de \s, qui n'inclut pas ce caractère VT (pour une raison de compatibilité Perl).

La classe word est une extension Perl, et blank est une extension GNU de Perl 5.8. La négation est une autre extension Perl ; elle est indiquée par le caractère ^ après un double-point. Par exemple, [12[:^digit:]] trouve "1", "2", mais aussi tout caractère qui n'est pas un chiffre.

En mode UTF-8, les caractères dont les valeurs sont supérieures à 128 ne seront trouvés par aucune des classes de caractères POSIX.

Point
Barre verticale
Fonctionnement des expressions rationnelles


Barre verticale

La barre verticale | sert à séparer des alternatives. Par exemple, dans le masque "/dupont|martin/" recherche soit "dupont", soit "martin". Le nombre d'alternatives n'est pas limité, et il est même possible d'utiliser la chaîne vide. Lors de la recherche, toutes les alternatives sont essayées, de gauche à droite, et la première qui est acceptée est utilisée. Si les alternatives sont dans un sous-masque, elle ne réussiront que si le masque principal réussi aussi.

Crochets
Options internes
Fonctionnement des expressions rationnelles


Options internes

Les options PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED et PCRE_DUPNAMES peuvent être changées à l'intérieur du masque lui-même, avec des séquences mises entre "(?" et ")". Les options sont :

Options internes
i | pour PCRE_CASELESS
m | pour PCRE_MULTILINE
s | pour PCRE_DOTALL
x | pour PCRE_EXTENDED
U | pour PCRE_UNGREEDY
X | Pour PCRE_EXTRA
J | Pour PCRE_INFO_JCHANGED

Par exemple, (?im) rend le masque insensible à la casse, et multilignes. Il est possible d'annuler ces options en les faisant précéder par un signe - : par exemple (?im-sx), ajoutera les options PCRE_CASELESS et PCRE_MULTILINE, mais annulera les options PCRE_DOTALL et PCRE_EXTENDED. Si une option apparaît avant et après le signe moins, l'option sera annulée.

Lorsqu'une modification d'option survient au degré le plus haut (et donc, pas dans les parenthèses du sous-masque), les modifications sont appliquées dans le reste du masque qui suit. Donc, /ab(?i)c/ valide uniquement "abc" et "abC". Ce comportement a été modifié en PCRE 4.0 et est inclus depuis PHP 4.3.3. Dans les versions précédentes, /ab(?i)c/ fonctionne de la même façon que /abc/i (e.g. valide "ABC" et "aBc").

Si une option intervient dans un sous-masque, le comportement est différent. C'est un changement de comportement apparu en Perl 5.005. Une option à l'intérieur d'un sous-masque n'affecte que cette partie du masque, ce qui fait que (a(?i)b)c acceptera abc et aBc, mais aucune autre chaîne (en supposant que PCRE_CASELESS n'est pas utilisé). Cela signifie que les options permettent d'avoir différentes configurations de recherche pour différentes parties du masque.Une séquence d'options dans une alternative affecte toute l'alternative. Par exemple : (a(?i)b|c) accepte "ab", "aB", "c", et "C", même si, comme dans le cas de "C", la première alternative qui porte l'option n'est pas prise en compte. Sinon, cela risque d'introduire des comportements très étranges

Les options spécifiques à PCRE telles PCRE_UNGREEDY et PCRE_EXTRA peuvent être modifiées de la même manière, en utilisant respectivement les caractères U et X. L'option (?X) est particulière, car elle doit toujours intervenir avant toutes les autres options, même au niveau du masque entier. Il vaut mieux l'activer au début du masque.

Barre verticale
Sous-masques
Fonctionnement des expressions rationnelles


Sous-masques

Les sous-masques sont délimités par des parenthèses, et peuvent être imbriqués. Ajouter des sous-masques a deux utilités :

1. Délimiter des alternatives. Par exemple, le masque char(don|mant|) acceptera les mots "char", "chardon", ou "charmant". Sans les parenthèses, il n'accepterait que "chardon", "mant" ou la chaîne vide "".

2. Le sous-masque est considéré comme capturant : lorsqu'une chaîne sujet est acceptée par le masque complet, les sous-masques sont transmis à l'appelant grâce à un vecteur de sous-masques. Les parenthèses ouvrantes sont comptées de gauche à droite, (commençant à 1).

Par exemple, soit la chaîne sujet "le roi soleil" qui est utilisée avec le masque suivant : Le ((roi|prince) (soleil|charmant)), les sous-masques capturés sont "roi soleil", "roi", et "soleil", numérotés respectivement 1, 2, et 3.

L'ubiquité des parenthèses n'est pas toujours simple d'emploi. Il y a des moments où regrouper des sous-masques est nécessaire, sans pour autant capturer la valeur trouvée. Si une parenthèse ouvrante est suivie de "?:", le sous-masque ne capture pas la chaîne assortie, et ne sera pas compté lors de la numérotation des captures. Par exemple, avec la chaîne "le prince charmant", utilisé avec le masque Le (( ?roi|prince) (soleil|charmant)) les chaînes capturées seront "prince charmant" et "charmant", numérotés respectivement 1 et 2. Le nombre maximal de chaînes capturées est de 99, et le nombre total de sous-masques (capturant ou non) ne doit pas dépasser 200.

En guise de raccourci, si n'importe quelle option de configuration est requise au début des sous-masques non-capturants, les lettres d'option peuvent apparaître entre le signe "?" et le signe ":". Ainsi, les 2 masques

   (?i:samedi|dimanche)
   (?:(?i)samedi|dimanche)

captureront exactement les mêmes chaînes. Du fait que les branches alternatives sont testées de la gauche vers la droite, et que les options ne sont pas réinitialisées tant que le sous masque n'est pas atteint, une option de configuration d'une branche n'affecte pas les branches sous-jacentes ; ainsi, les 2 masques ci-dessus captureront "SAMEDI", mais aussi "Samedi".

A partir de PHP 4.3.3, il est possible de nommer un sous masque en utilisant la syntaxe (?P<name>pattern). Ce sous masque sera alors indexé dans le tableau de concordance par sa position, ainsi que par son nom. PHP 5.2.2 a introduit 2 nouvelles syntaxes : (?<name>pattern) et (?'name'pattern).

Options internes
Répétitions
Fonctionnement des expressions rationnelles


Répétitions

Les répétitions sont spécifiées avec des quantificateurs, qui peuvent être placés à la suite des caractères suivants :

  • Un caractère unique, même s'il s'agit d'un métacaractère
  • Le métacaractère .
  • Une classe de caractères
  • Une référence de retour (voir section suivante)
  • Un sous-masque avec parenthèses (à moins que ce ne soit une assertion, voir plus loin)

Les quantificateurs généraux précisent un nombre minimum et maximum de répétitions possibles, donnés par deux nombres entre accolades, et séparés par une virgule. Ces nombres doivent être plus petits que 65536, et le premier nombre doit être égal ou inférieur au second. Par exemple z{2,4} accepte "zz", "zzz", ou "zzzz". L'accolade fermante n'a pas de signification par elle-même. Si le second nombre est omis, mais que la virgule est là, cela signifie qu'il n'y a pas de limite supérieure. Si le second nombre et la virgule sont omis, le quantificateur correspond au nombre exact de répétitions attendues. Par exemple : [aeiou]{3,} accepte n'importe quelle succession d'au moins 3 voyelles minuscules, tandis que \d{d} n'accepte que 8 chiffres exactement. Une accolade ouvrante qui apparaît à une position où un quantificateur n'est pas accepté, ou si la syntaxe des quantificateurs n'est pas respectée, sera considérée littérale. Par exemple, "{,6}" n'est pas un quantificateur, mais une chaîne de 4 caractères.

Le quantificateur {0} est autorisé, mais l'expression est alors ignorée.

Par convenance (et pour la compatibilité ascendante), les trois quantificateurs les plus communs ont une abréviation d'un seul caractère :

Quantificateurs sur un seul caractère
* | équivalent à {0,}
+ | équivalent à {1,}
? | équivalent à {0,1}

Il est possible de constituer des boucles infinies en créant un sous-masque sans caractères, mais pourvu d'un quantificateur sans limite supérieure. Par exemple : (a?)*

Les versions plus anciennes de Perl et PCRE généraient alors une erreur au moment de la compilation. Cependant, étant donné qu'il existe des situations où ces constructions peuvent être utiles, ces masques sont désormais autorisés. Toutefois, si la répétition du sous-masque ne trouve aucun caractère, la boucle est interrompue.

Par défaut, les quantificateurs sont dits "gourmands", c'est à dire, qu'ils cherchent d'abord à trouver le nombre maximal de répétitions qui autorisent le succès de la recherche. L'exemple classique posé par cette gourmandise est la recherche de commentaires d'un programme en C. Les commentaires apparaissent entre les séquences /*....*/ et à l'intérieur de ces délimiteurs, les * et / sont autorisés. Appliquer le masque /\*.*\*/ à la chaîne /* premier commentaire */ aucun commentaire /* second commentaire */ ne peut réussir, car le masque travaille sur toute la chaîne, à cause de la gourmandise du caractère .*.

Cependant, un quantificateur suivi d'un point d'interrogation cesse d'être gourmand, et au contraire, ne recherche que le nombre minimum de répétition. Dans ces conditions, le masque /\*.*?\*/ trouvera bien les commentaires du code C. La signification des autres quantificateurs n'est pas changée. Attention à ne pas confondre l'utilisation du point d'interrogation ici avec son utilisation comme quantificateur lui-même. À cause de cette ambiguïté, il peut apparaître des situations où il faut le doubler : \d??\d Ce masque va tenter de lire un seul chiffre, mais le cas échéant, il acceptera 2 chiffres pour permettre à la recherche d'aboutir.

Si l'option PCRE_UNGREEDY est activée, (une option qui n'est pas disponible avec Perl) alors les quantificateurs sont non gourmands par défaut, mais peuvent être rendu gourmands au cas par cas, en ajoutant un point d'interrogation après. En d'autres termes, cette option inverse le comportement par défaut.

Les quantificateurs suivis par + sont "possessifs". Ils mangent autant de caractères que possible et ne retournent pas pour chercher le reste du masque. .*abc trouvera "abc", tandis que .*+abc ne le trouvera pas, car .*+ accapare totalement la chaîne. Les quantificateurs possessifs peuvent être utilisés pour accélérer le traitement depuis PHP 4.3.3

Lorsqu'un sous-masque est quantifié avec un nombre minimum de répétitions, qui soit plus grand que 1, ou avec un maximum de répétitions, le masque compilé aura besoin de plus de place de stockage, proportionnellement au minimum et au maximum.

Si un masque commence par .* ou .{0,} et que l'option PCRE_DOTALL (équivalent en Perl à /s) est activée, c'est-à-dire en autorisant le remplacement des nouvelles lignes par un métacaractère, alors le masque est implicitement ancré, car tout ce qui suit va être mangé par la première séquence, et se comportera comme si le masque se terminait par le métacaractère \A. Dans le cas où on sait d'avance qu'il n'y aura pas de caractère de nouvelle ligne, activer l'option PCRE_DOTALL et commencer le masque par .* permet d'optimiser le masque. Alternativement, on peut utiliser ^ pour ancrer explicitement le masque.

Lorsqu'un sous-masque capturant est répété, la valeur capturée est la dernière. Par exemple, après que (inter[net]{3}\s*)+ ait été appliqué à "internet interne", la valeur de la chaîne capturée est "interne". Cependant, s'il y a des sous-masques imbriqués, la valeur capturée correspondante peut l'avoir été lors des précédentes itérations. Par exemple : /(a|(b))+/ accepte "aba" et la deuxième valeur capturée est "b".

Sous-masques
Références arrières
Fonctionnement des expressions rationnelles


Références arrières

En dehors des classes de caractères, un antislash suivi d'un nombre plus grand que 0 (et possiblement plusieurs chiffres) est une référence arrière (c'est à dire vers la gauche) dans le masque, en supposant qu'il y ait suffisamment de sous-masques capturants précédents.

Cependant, si le nombre décimal suivant l'antislash est plus petit que 10, il sera toujours considéré comme une référence arrière, et cela générera une erreur si le nombre de captures n'est pas suffisant. En d'autres termes, il faut qu'il existe suffisamment de parenthèses ouvrantes à gauche de la référence, surtout si la référence est inférieure à 10. Reportez-vous à la section "antislash" pour avoir de plus amples détails à propos du nombre de chiffres qui suivent l'antislash.

La référence arrière remplace ce qui a été capturé par un sous-masque dans le masque courant, plutôt que remplacer le sous-masque lui-même. Ainsi (calme|rapide) et \1ment trouvera "calme et calmement" et "rapide et rapidement", mais pas "calme et rapidement". Si la recherche tient compte de la casse, alors la casse de la chaîne capturée sera importante. Par exemple, ((?i)rah)\s+\1 trouve "rah rah" et "RAH RAH", mais pas "RAH rah", même si le sous-masque capturant initial ne tenait pas compte de la casse.

Il peut y avoir plusieurs références arrières dans le même sous-masque. Si un sous-masque n'a pas été utilisé dans une recherche, alors les références arrières échoueront. Par exemple (a|(bc))\2 ne réussira jamais si la chaîne sujet commence par "a" plutôt que par "bc". Étant donné qu'il peut y avoir jusqu'à 99 références arrières, tous les chiffres après l'antislash sont considérés comment faisant potentiellement partie de la référence arrière. Si le masque recherche un chiffre après la référence, alors il faut impérativement utiliser des délimiteurs pour terminer la référence arrière. Si l'option PCRE_EXTENDED est activée, on peut utiliser un espace. Sinon, un commentaire vide fait l'affaire.

Une référence arrière qui intervient à l'intérieur de parenthèses auxquelles elle fait référence échouera dès que le sous-masque sera utilisé. Par exemple, (a\1) échouera toujours. Cependant, ces références peuvent être utiles dans les sous-masques répétitifs. Par exemple, le masque "(a|b\1)+" pourra convenir pour "a", "aba", "ababba", etc. À chaque itération du sous-masque, la référence arrière utilise le résultat du dernier sous-masque. Pour que cela fonctionne, il faut que la première itération n'ait pas besoin d'utiliser la référence arrière. Cela arrive avec les alternatives, comme dans l'exemple ci-dessus, ou avec un quantificateur de minimum 0.

Depuis PHP 5.2.2, la séquence d'échappement \g peut être utilisée pour le référencement absolu et relatif des sous-masques. Cette séquence doit être suivie par un nombre non-signé ou négatif, entouré optionnellement par des accolades. La séquence \1, \g1 et \g{1} sont identiques. L'utilisation de ce masque avec un nombre non-signé peut aider à ne pas le confondre lors de l'utilisation de nombre suivi d'un anti-slash. Cette séquence aide à distinguer les références arrières lors de l'utilisation de caractères octales et rend également plus facile d'avoir une référence arrière suivie par un nombre litéral, i.e. \g{2}1.

L'utilisation de la séquence \g avec un nombre négatif indique une référence relative. Par exemple, (foo)(bar)\g{-1} trouvera la séquence "foobarbar" et (foo)(bar)\g{-2} trouvera la séquence "foobarfoo". Ceci peut être pratique dans ce gros masque comme alternative afin de conserver une trace du nombre de sous-masques afin de référencer un sous-masque précédant spécifique.

Les références arrières du sous-masque nommé peuvent être utilisées sous la forme (?P=name) ou, depuis PHP 5.2.2, via \k<name> ou \k'name'. De plus, PHP 5.2.4 a ajouté le support de \k{name} et de \g{name}.

Répétitions
Assertions
Fonctionnement des expressions rationnelles


Assertions

Une assertion est un test sur les caractères suivants ou précédents celui qui est en cours d'étude. Ce test ne consomme par de caractère (ie, on ne déplace pas le pointeur de caractères). Les assertions simples sont codées avec \b, \B, \A, \Z, \z, ^ et $, et sont décrites précédemment. Il existe cependant des types d'assertions plus complexes, codées sous la forme de sous-masques. Il en existe deux types : celles qui travaillent au-delà de la position courante, et celles qui travaillent en-deçà.

Une assertion se comporte comme un sous-masque, hormis le fait qu'elle ne déplace pas le pointeur de position. Les assertions avant commencent par (?= pour les assertions positives, et par (?!, pour les assertions négatives. Par exemple : \w+(?=;) s'assure qu'un mot est suivi d'un point-virgule, mais n'inclut pas le point virgule dans la capture. D'autre part, (?!foo)bar en est proche, mais ne trouve pas une occurrence de "bar" qui soit précédée par quelque chose d'autre que "foofoo"; il trouve toutes les occurrences de "bar", quelque soit ce qui le précède, car l'assertion (?!foo) est toujours vraie quand les trois caractères suivants sont "bar". Une assertion arrière est ici nécessaire.

Les assertions arrières commencent par (?<= pour les assertions positives, et (?<! pour les assertions négatives. Par exemple : (?<!foo)bar trouve les occurrences de "bar" qui ne sont pas précédées par "foo". Le contenu d'une référence arrière est limité de telle façon que les chaînes qu'il utilise soient toujours de la même taille. Cependant, lorsqu'il y a plusieurs alternatives, elles n'ont pas besoin d'être de la même taille. Par exemple, (?<=bullock|donkey) est autorisé, tandis que (?<!dogs?|cats?) provoque une erreur de compilation. Les alternatives qui ont des longueurs différentes ne sont autorisées qu'au niveau supérieur des assertions arrières. C'est une amélioration du fonctionnement de Perl 5.005, qui impose aux alternatives d'avoir toutes la même taille. Une assertion telle que (?<=ab(c|de)) n'est pas autorisée, car l'assertion de bas niveau (la deuxième, ici) a deux alternatives de longueurs différentes. Pour la rendre acceptable, il faut écrire (?<=abc|abde) L'implémentation des assertions arrières déplace temporairement le pointeur de position vers l'arrière, et cherche à vérifier l'assertion. Si le nombre de caractères est différent, la position ne sera pas correcte, et l'assertion échouera. La combinaison d'assertions arrières avec des sous-masques peut être particulièrement pratique à fin des chaînes. Un exemple est donné à la fin de cette section.

Plusieurs assertions peuvent intervenir successivement. Par exemple, le masque (?<=\d{3})(?<!999)foo recherche les chaînes "foo" précédées par trois chiffres qui ne sont pas "999". Notez que chaque assertion est appliquées indépendamment, au même point de la chaîne à traiter. Tout d'abord, il est vérifié que les trois premiers caractères ont tous des chiffres, puis on s'assure que ces trois caractères ne sont pas "999". Le masque précédant n'accepte pas "foo" précédé de 6 caractères, les trois premiers étant des chiffres et les trois suivants étant différents de "999". Par exemple, ce masque n'acceptera pas la chaîne "123abcfoo". Pour ce faire, il faut utiliser le masque suivant : (?<=\d{3}...)(?<!999)foo.

Dans ce masque, la première assertion vérifie les six premiers caractères, s'assure que les trois premiers sont des entiers, et la deuxième assertion s'assure que les trois derniers caractères ne sont pas "999".

De plus, les assertions peuvent être imbriquées : (?<=(?<!foo)bar)baz recherche les occurrences de "baz" qui sont précédées par "bar", qui, à son tour, n'est pas précédé par "foo". Au contraire, (?<=\d{3}...(?<!999))foo est un autre masque, qui recherche les caractères "foo", précédés par trois chiffres, suivis de trois autres caractères qui ne forment pas "999".

Les assertions ne sont pas capturantes, et ne peuvent pas être répétées. Si une assertion contient des sous-masques capturants en son sein, ils seront compris dans le nombre de sous-masques capturants du masque entier. La capture est réalisée pour les assertions positives, mais cela n'a pas de sens pour les assertions négatives.

200 assertions au maximum sont autorisées.

Références arrières
Sous-masques uniques
Fonctionnement des expressions rationnelles


Sous-masques uniques

Avec les quantificateurs de répétitions, l'échec d'une recherche conduit normalement à une autre recherche, avec un nombre différent de répétitions, pour voir si le masque ne s'applique pas dans d'autres conditions. Parfois, il est pratique d'éviter ce comportement, soit pour changer la nature de la recherche, soit pour la faire abandonner plus tôt, si on pense qu'il n'est pas besoin d'aller plus loin.

Considérons, par exemple, le masque \d+foo appliqué à la ligne 123456bar.

Après avoir tenté d'utiliser les 6 chiffres suivis de "foo" qui font échouer, l'action habituelle sera de réessayer avec 5 chiffres, puis avec 4, et ainsi de suite jusqu'à l'échec final. Un sous-masque évalué une seule fois permettrait d'indiquer que lorsqu'une partie du masque est trouvée, elle n'a pas besoin d'être réévaluée à chaque tentative. Ceci conduirait à ce que la recherche échoue immédiatement après le premier test. Ces assertions ont leur propre notation, commençant avec (?> comme ceci : (?>\d+)bar

Ce type de parenthèses verrouille le sous-masque qu'il contient une fois qu'il a été trouvé, et empêche un échec ultérieur d'y repasser, mais autorise à revenir plus loin en arrière.

Une autre description est que les sous-masques de ce type recherchent les chaînes de caractères, et ancre le sous-masque à l'intérieur de la chaîne.

Les sous-masques uniques ne sont pas capturants. Des cas simples comme ceux présentés ci-dessus peuvent être pris comme des situations maximales, qui réservent le maximum de caractères. En effet, alors que \d+ et \d+? ajustent le nombre de chiffres trouvés de manière à laisser la possibilité au masque de réussir, (?>\d+) ne peut retenir que la séquence entière de chiffres.

Cette construction peut contenir un nombre arbitraire de sous-masques complexes, et ils peuvent être imbriqués.

Les sous-masques uniques ne peuvent être utilisés qu'avec les assertions arrières, pour effectuer une recherche efficace en fin de chaîne. Considérons un masque simple tel abcd$ appliqué à une très longue chaîne qui ne lui correspond pas. À cause du système de recherche de gauche à droite, PCRE va commencer par rechercher un "a" dans la chaîne sujet, puis vérifier si ce qui suit convient au reste du masque. Si le masque est spécifié sous la forme ^.*abcd$ alors, la séquence .* remplace en premier lieu la chaîne entière, et échoue, repart en arrière, et remplace tous les caractères sauf le dernier, échoue, retourne en arrière, prend un caractère de moins, etc. et ainsi de suite. Encore une fois, la recherche du "a" passe en revue toute la chaîne de gauche à droite, ce qui n'est pas très efficace. Par contre, si le masque était écrit ^(?>.*)(?<=abcd) alors il n'y aurait pas de retour en arrière, pour satisfaire la séquence .*, car elle ne peut que remplacer toute la chaîne. L'assertion arrière consécutive va alors faire un test sur les 4 derniers caractères. Si elle échoue, la recherche est immédiatement interrompue. Pour les chaînes très longues, cette approche fait la différence en termes de performances et de temps de recherche.

Lorsqu'un masque contient une répétition illimitée dans un sous-masque, qui contient lui-même un nombre illimité de répétiteurs, l'utilisation des sous-masques à utilisation unique est la seule façon d'éviter l'échec de la recherche après un temps de calcul trop long. Le masque (\D+|<\d+>)*[!?] recherche un nombre illimité de sous-chaînes, qui contiennent soit des non chiffres, soit des chiffres inclus dans <>, suivi soit par ! ou par ?. Lorsqu'il trouve une solution, ce masque va très vite. Mais, lorsqu'il est appliqué à une chaîne telle : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, il lui faut beaucoup de temps pour annoncer un échec. Cela est dû au fait que la chaîne peut être divisée en deux sous-chaînes d'un grand nombre de façons, et qu'elles ont toutes été essayées. (Cet exemple utilisait [!?] plutôt qu'un caractère simple, car PCRE et PHP utilise une optimisation qui leur permettent de détecter rapidement l'échec lorsqu'un caractère unique est trouvé. Il se souvient du dernier caractère qui est attendu, et s'aperçoit rapidement qu'il n'y a pas ce caractère). Si le masque utilisé est ((?>\D+)|<\d+>)*[!?] les séquences de chiffres ne peuvent pas être trouvées, et l'échec intervient rapidement.

Assertions
Les sous-masques conditionnels
Fonctionnement des expressions rationnelles


Les sous-masques conditionnels

Il est possible de lier un sous-masque à une condition, ou de choisir entre deux sous-masques alternatifs, en fonction du résultat d'une assertion, ou suivant les résultats de recherche précédents. Les deux formes possibles de sous-masques conditionnels sont

   (?(condition)masque positif)
   (?(condition) masque positif | masque négatif)

Si les conditions sont satisfaites, le masque positif est utilisé, sinon, le masque négatif est utilisé, si présent. S'il y a plus de deux alternatives, une erreur est générée à la compilation.

Il y a deux types de conditions : si le texte entre les parenthèses est une séquence de chiffres, alors la condition est satisfaite si le sous-masque correspondant à ce numéro a réussi. Considérons le masque suivant, qui contient des espaces non significatifs pour le rendre plus compréhensible (on supposera l'option PCRE_EXTENDED activée) et qui est divisée en trois parties pour simplifier les explications : ( \( )? [^()]+ (?(1) \) ).

La première partie recherche une parenthèse ouvrante optionnelle et, si elle existe, elle est capturée. La deuxième partie recherche un séquence de caractères qui ne contiennent pas de parenthèses. La troisième partie est conditionnée à la première, et s'assure que s'il y a une parenthèse ouvrante, il en existe une fermante. Si une parenthèse ouvrante a été trouvée, elle a été capturée, et donc la première capture existe, et la condition est exécutée. Sinon, elle est ignorée. Ce masque recherche donc une séquence de lettres, éventuellement placées entre parenthèse.

Si la condition est la chaîne (R), elle sera satisfaite si un appel récursif au masque ou au sous-masque a été fait. Au premier appel, la condition n'est pas vérifiée.

Si la condition n'est pas une séquence de chiffres, il faut que ce soit une assertion. Ce peut être une assertion positive ou négative, arrière ou avant. Considérons le masque suivant (même conditions que le précédent) et avec deux alternatives en seconde ligne :

   (?(?=[^a-z]*[a-z])
   \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

La condition est une assertion avant positive, qui recherche une séquence optionnelle de caractères non-lettre. En d'autres termes, elle teste la présence d'au moins une lettre dans la chaîne sujet. Si une lettre est trouvée, la recherche se poursuit avec la première alternative, et sinon, avec la seconde. Ce masque recherche des chaînes de la forme dd-aaa-dd ou dd-dd-dd, avec "aaa" qui sont des lettres, et dd qui sont des chiffres.

Sous-masques uniques
Commentaires
Fonctionnement des expressions rationnelles


Commentaires

La séquence (?# marque le début d'un commentaire, qui se termine à la prochaine parenthèse fermante. Les parenthèses imbriquées ne sont pas autorisées. Les caractères entre ces délimiteurs ne jouent alors aucun rôle dans le masque.

Si l'option PCRE_EXTENDED est activée, les caractères dièses # non protégés en dehors d'une classe de caractères introduisent un commentaire qui continuera jusqu'à la prochaine ligne dans le masque.

Les sous-masques conditionnels
Masques récursifs
Fonctionnement des expressions rationnelles


Masques récursifs

Considérons le cas où il faut rechercher dans une chaîne avec un niveau d'imbrications infini de parenthèses. Sans l'aide de la récursivité, le mieux que nous puissions obtenir est de créer un masque avec un niveau fixé de profondeur d'imbrication. Il n'est pas possible de traiter des masques à niveau d'imbrication variable. PCRE fournit un nouvel outil expérimental qui permet d'utiliser la récursivité dans les masques (entre autres). L'option (?R) est fournie pour servir la cause de la récursivité. Le masque suivant résout le problème des parenthèses (l'option PCRE_EXTENDED est utilisée pour ignorer les espaces) : \( ( (?>[^()]+) | (?R) )* \)

Tout d'abord, le masque recherche une parenthèse ouvrante. Puis, il recherche n'importe quel nombre de sous-chaînes qui sont soit des séquences de caractères non-parenthèses, ou bien une recherche récursive avec le même masque (i.e. une chaîne correctement incluse entre parenthèses). Finalement, il recherche une parenthèse fermante.

Cet exemple particulier contient un nombre illimité de répétitions imbriquées, ce qui fait que l'utilisation de sous-chaînes à utilisation unique pour rechercher les séquences de caractères non parenthèses est important, lorsqu'il s'applique à une chaîne qui n'est pas valide. Par exemple, si on l'applique à (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() la réponse arrive rapidement. Sinon, si les sous-chaînes à utilisation unique ne sont pas utilisées, la recherche peut prendre un temps très long, car il existe de très nombreuses combinaisons de + et * à tester avant de conclure à l'échec.

Les valeurs utilisées pour capturer les sous-masques sont celles utilisées par les niveaux les plus hauts de récursivité, auxquels la valeur est fixée. Si le masque précédent est utilisé avec (ab(cd)ef) la valeur de la parenthèse capturante est "ef", qui est la dernière valeur lue au niveau supérieur. Si de nouvelles parenthèses sont ajoutées, par exemple : \( ( ( (?>[^()]+) | (?R) )* ) \) alors la chaîne capturée est "ab(cd)ef", c'est-à-dire le contenu de la parenthèse capturante de plus haut niveau. S'il y a plus de 15 parenthèses capturantes dans une chaîne, PCRE doit utiliser plus de mémoire pour stocker ces données. S'il ne peut obtenir cette mémoire supplémentaire, il ne fait que sauver les 15 premières, car il n'y a pas moyen de générer une erreur de mémoire dans le cadre d'une récursivité.

Depuis PHP 4.3.3, (?1), (?2) et suivant peuvent être également utilisés pour les sous masques récursifs. Il est également possible d'utiliser les sous masques nommés : (?P>foo) ou (?P&name).

Si la syntaxe pour une référence de sous-masque récursif (soit par un nombre ou par un nom) est utilisée en dehors des parenthèses à laquelle elle fait référence, il opère comme une sous-routine dans un langage de programmation. Un exemple ci-dessus a montré que le masque (sens|respons)e and \1ibility trouvera "sense and sensibility" et "response and responsibility", mais pas "sense and responsibility". Si on utilise plutôt le masque (sens|respons)e and (?1)ibility alors, il trouvera "sense and responsibility" tout comme les deux autres chaînes. De telles références doivent, dépendant, suivre le sous-masque auquel elles se réfèrent.

La longueur maximale d'un sujet correspond au plus grand nombre positif qu'une variable entière peut contenir. Cependant, PCRE utilise la récursivité pour gérer les sous-masques et les répétitions infinies. Ce qui signifie que l'espace disponible pour la pile peut limiter la taille du sujet qui peut être passé à certains masques.

Commentaires
Performances
Fonctionnement des expressions rationnelles


Performances

Certaines séquences de recherches sont plus efficaces que d'autres. Ainsi, il est plus efficace d'utiliser une classe de caractères telle que [aeiou] plutôt qu'une alternative (a|e|i|o|u). En général, le masque le plus simple, qui permette la recherche désirée est le plus efficace. Le livre de Jeffrey Friedl's contient de nombreuses études à propos de l'optimisation des expressions rationnelles.

Lorsqu'un masque commence par.* et que l'option PCRE_DOTALL est activée, le masque est implicitement ancré par PCRE, étant donné qu'il ne peut que rechercher au début de la chaîne. Cependant, si l'option PCRE_DOTALL n'est pas activée, PCRE ne peut faire aucune optimisation car le métacaractères point "." ne remplace pas une nouvelle ligne, et si la chaîne sujet contient des nouvelles lignes, le masque peut trouver une solution qui serait située juste après une de ces nouvelles lignes, et non pas seulement au début de la chaîne sujet. Par exemple, le masque, (.*)second acceptera la chaîne "premier \net second" (avec "\n" qui remplace la nouvelle ligne), et la première chaîne capturée sera "et". Afin d'effectuer la recherche, PCRE va essayer d'appliquer le masque à partir de chaque début de ligne.

Si vous utilisez un tel masque avec des chaînes qui ne contiennent pas de caractères de nouvelle ligne, les meilleures performances seront atteintes avec l'option PCRE_DOTALL, ou en ancrant le masque avec ^.*. Cela évite à PCRE de scanner toute la chaîne pour rechercher un caractère de nouvelle ligne et recommencer la recherche.

Attention aux masques qui contiennent des quantificateurs infinis imbriqués. Ils peuvent demander un temps de calcul très long, lorsque appliqués à une chaîne qui ne correspond pas à ce masque. Par exemple, (a+)*

Ce masque peut accepter "aaaa" de 33 manières différentes, et ce nombre croit rapidement avec la taille de la chaîne (le quantificateur * peut prendre les valeurs de 0, 1, 2, 3, ou 4, et pour chaque cas non nul, le quantificateur + peut prendre différentes valeurs). Lorsque le reste de la chaîne est tel que l'on s'achemine vers un échec, PCRE doit en principe vérifier toutes les possibilités, et cela prend un temps extrêmement long.

Un optimiseur repère les cas les plus simples, tel que (a+)*b où un caractère simple suit les quantificateurs. Avant de partir dans les procédures standards de recherche, PCRE s'assure qu'il y a au moins un "b" dans la chaîne, et si ce n'est pas le cas, l'échec est annoncé immédiatement. Sinon, il n'y a pas d'optimisation dans la recherche. Vous pouvez voir la différence de comportement avec le masque suivant : (a+)*\d. Le premier retourne un échec quasi-immédiatement, s'il est appliqué à une ligne de "a", alors que le second masque prend un temps significatif pour une chaîne de plus de 20 caractères.

Masques récursifs
Fonctions PCRE
Fonctionnement des expressions rationnelles


Fonctions PCRE

Sommaire

  • preg_filter — Recherche et remplace avec une expression rationnelle
  • preg_grep — Retourne un tableau avec les résultats de la recherche
  • preg_last_error — Retourne le code erreur de la dernière expression PCRE exécutée
  • preg_match_all — Expression rationnelle globale
  • preg_match — Expression rationnelle standard
  • preg_quote — Protection des caractères spéciaux des expressions rationnelles
  • preg_replace_callback — Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback
  • preg_replace — Rechercher et remplacer par expression rationnelle standard
  • preg_split — Éclate une chaîne par expression rationnelle
Performances
preg_filter
PCRE


Recherche et remplace avec une expression rationnelle

Fonctions PCRE
preg_grep
Fonctions PCRE
PHP Manual

preg_filter

(PHP 5 >= 5.3.0)

preg_filter — Recherche et remplace avec une expression rationnelle

Description

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

preg_filter() est identique à preg_replace(), mais elle ne fait que retourner les occurrences trouvées. Pour plus de détails sur le fonctionnement de cette fonction, voyez preg_replace().

Valeurs de retour

Retourne un tableau si le paramètre subject est de type tableau ou une chaîne de caractères autrement.

Si aucune corrurence n'est trouvée ou si une erreur survient, un tableau vide sera retourné lorsque le paramètre subject est un tableau ou NULL sinon.

Exemples

Exemple #1 Exemple de comparaison de preg_filter() avec preg_replace()

<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$pattern = array('/\d/', '/[a-z]/', '/[1a]/');
$replace = array('A:$0', 'B:$0', 'C:$0');

echo "preg_filter renvoie\n";
print_r(preg_filter($pattern, $replace, $subject));

echo "preg_replace renvoie\n";
print_r(preg_replace($pattern, $replace, $subject));
?>

L'exemple ci-dessus va afficher :

preg_filter renvoie
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace renvoie
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Voir aussi

  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_replace_callback() - Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback
  • preg_grep() - Retourne un tableau avec les résultats de la recherche
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée

Fonctions PCRE
preg_grep
Fonctions PCRE


Retourne un tableau avec les résultats de la recherche

preg_filter
preg_last_error
Fonctions PCRE
PHP Manual

preg_grep

(PHP 4, PHP 5)

preg_grep — Retourne un tableau avec les résultats de la recherche

Description

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

preg_grep() retourne un tableau qui contient les éléments de input qui satisfont le masque pattern.

Liste de paramètres

pattern

Le motif à chercher, sous la forme d'une chaîne de caractères.

input

Le tableau d'entrée.

flags

Si cette option vaut PREG_GREP_INVERT, cette fonction retourne les éléments du tableau input qui ne correspondent pas au motif pattern.

Valeurs de retour

Retourne un tableau indexé, en utilisant les clé du tableau input d'entrée.

Historique

Version | Description
4.2.0 | Le paramètre flags a été ajouté.
4.0.4

Depuis cette version, le tableau retourné est indexé en utilisant les clés issues du tableau input.

Pour obtenir l'ancien comportement, utilisez la fonction array_values() sur le tableau retourné afin de réindexer les valeurs.

Exemples

Exemple #1 Exemple avec preg_grep()

<?php
// Recherche les nombres à virgule flottante dans le tableau
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>

Voir aussi

  • preg_match_all() - Expression rationnelle globale
  • preg_filter() - Recherche et remplace avec une expression rationnelle
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée

preg_filter
preg_last_error
Fonctions PCRE


Retourne le code erreur de la dernière expression PCRE exécutée

preg_grep
preg_match_all
Fonctions PCRE
PHP Manual

preg_last_error

(PHP 5 >= 5.2.0)

preg_last_error — Retourne le code erreur de la dernière expression PCRE exécutée

Description

int preg_last_error ( void )

Retourne le code erreur de la dernière regex PCRE exécutée.

Exemple #1 Exemple avec preg_last_error()

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 'Backtrack limit was exhausted!';
}

?>

L'exemple ci-dessus va afficher :

Backtrack limit was exhausted!

Valeurs de retour

Retourne une des constantes suivantes (expliquées sur cette page):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (voir aussi pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (voir aussi pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (depuis PHP 5.3.0)

preg_grep
preg_match_all
Fonctions PCRE


Expression rationnelle globale

preg_last_error
preg_match
Fonctions PCRE
PHP Manual

preg_match_all

(PHP 4, PHP 5)

preg_match_all — Expression rationnelle globale

Description

int preg_match_all ( string $pattern , string $subject , array &$matches [, int $flags [, int $offset ]] )

Analyse subject pour trouver l'expression pattern et met les résultats dans matches, dans l'ordre spécifié par flags.

Après avoir trouvé un premier résultat, la recherche continue jusqu'à la fin de la chaîne.

Liste de paramètres

pattern

Le masque à chercher, sous la forme d'une chaîne de caractères.

subject

La chaîne d'entrée.

matches

Tableau contenant tous les résultats, dans un tableau multidimensionnel ordonné suivant le paramètre flags.

flags

Peut prendre une des deux valeurs suivantes (notez bien qu'il est incohérent d'utiliser PREG_PATTERN_ORDER avec PREG_SET_ORDER ) :

PREG_PATTERN_ORDER

L'ordre est tel que $matches[0] est un tableau qui contient les résultats qui satisfont le masque complet, $matches[1] est un tableau qui contient les résultats qui satisfont la première parenthèse capturante, etc.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>exemple : </b><div align=left>ceci est un test</div>",
    $out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

L'exemple ci-dessus va afficher :

<b>exemple : </b>, <div align=left>ceci est un test</div>
exemple : , ceci est un test

Ainsi, $out[0] est un tableau qui contient les résultats qui satisfont le masque complet, et $out[1] est un tableau qui contient les balises entre > et <.

PREG_SET_ORDER

Les résultats sont classés de telle façon que $matches[0] contient la première série de résultats, $matches[1] contient la deuxième, etc.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>exemple : </b><div align=\"left\">ceci est un test</div>",
    $out, PREG_SET_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

L'exemple ci-dessus va afficher :

<b>exemple : </b>, exemple :
<div align="left">ceci est un test</div>, ceci est un test

PREG_OFFSET_CAPTURE

Si cette option est activée, toutes les sous-chaînes qui satisfont le masque seront aussi identifiées par leur offset. Notez que cela modifie le format de la valeur retournée, puisque chaque élément de réponse devient un tableau contenant la sous-chaîne résultat, à l'index 0 dans la chaîne subject constant 1.

Si order est omis, PREG_PATTERN_ORDER est utilisé par défaut.

offset

Normalement, la recherche commence au début de la chaîne subject. Le paramètre optionnel offset peut être utilisé pour spécifier une position pour le début de la recherche (en octets).

Note: Utiliser le paramètre offset ne revient pas à passer substr($subject, $offset) à preg_match_all() à la place de la chaîne subject, car pattern peut contenir des assertions comme ^, $ ou (?<=x). Lisez la documentation sur la fonction preg_match() pour des exemples.

Valeurs de retour

Retourne le nombre de résultats qui satisfont le masque complet, ou FALSE si une erreur survient.

Historique

Version | Description
5.2.2 | Les sous-masques nommés acceptent maintenant les syntaxes (?<name>), (?'name') ainsi que (?P<name>). Les précédantes versions n'acceptaient que la syntaxe (?P<name>).
4.3.3 | Le paramètre offset a été ajouté.
4.3.0 | Le drapeau PREG_OFFSET_CAPTURE a été ajouté.

Exemples

Exemple #1 Extraction de tous les numéros de téléphone d'un texte

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Call 555-1212 or 1-800-555-1212", $phones);
?>

Exemple #2 Recherche les couples de balises HTML (gourmand)

<?php
// Cet exemple utilise les références arrières (\\2).
// Elles indiquent à l'analyseur qu'il doit trouver quelque chose qu'il
// a déjà repéré un peu plus tôt
// le nombre 2 indique que c'est le deuxième jeu de parenthèses
// capturante qui doit être utilisé (ici, ([\w]+)).
// L'antislash est nécessaire ici, car la chaîne est entre guillemets doubles

$html = "<b>texte en gras</b><a href=howdy.html>cliquez moi</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);

foreach ($matches as $val) {
    echo "matched: " . $val[0] . "\n";
    echo "part 1: " . $val[1] . "\n";
    echo "part 2: " . $val[2] . "\n";
    echo "part 3: " . $val[3] . "\n";
    echo "part 4: " . $val[4] . "\n\n";
}
?>

L'exemple ci-dessus va afficher :

matched: <b>texte en gras</b>
part 2: b
part 3: texte en gras
part 4: </b>

matched: <a href=howdy.html>cliquez moi</a>
part 1: <a href=howdy.html>
part 2: a
part 3: cliquez moi
part 4: </a>

Exemple #3 Utilisation d'un sous-masque nommé

<?php

$str = <<<FOO
a: 1
b: 2
c: 3
FOO;

preg_match_all('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

/* Ceci fonctionne également en PHP 5.2.2 (PCRE 7.0) et suivants,
 * cependant, la forme ci-dessous est recommandée pour des raisons
 * de compatibilités ascendantes */
// preg_match_all('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [name] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [digit] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Voir aussi

  • preg_match() - Expression rationnelle standard
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_split() - Éclate une chaîne par expression rationnelle
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée

preg_last_error
preg_match
Fonctions PCRE


Expression rationnelle standard

preg_match_all
preg_quote
Fonctions PCRE
PHP Manual

preg_match

(PHP 4, PHP 5)

preg_match — Expression rationnelle standard

Description

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )

Analyse subject pour trouver l'expression qui correspond à pattern.

Liste de paramètres

pattern

Le masque à chercher, sous la forme d'une chaîne de caractères.

subject

La chaîne d'entrée.

matches

Si matches est fourni, il sera rempli par les résultats de la recherche. $matches[0] contiendra le texte qui satisfait le masque complet, $matches[1] contiendra le texte qui satisfait la première parenthèse capturante, etc.

flags

Le paramètre flags peut prendre l'une des valeurs suivantes :

PREG_OFFSET_CAPTURE
Si cette option est activée, toutes les sous-chaînes qui satisfont le masque seront aussi identifiées par leur offset. Notez que cela modifie la valeur de matches qui devient un tableau dont chaque élément est un tableau contenant la chaîne correspondant au masque à l'offset 0 ainsi que l'offset de la chaîne dans subject à l'offset 1.

offset

Normalement, la recherche commence au début de la chaîne subject. Le paramètre optionnel offset peut être utilisé pour spécifier une position pour le début de la recherche (en octets).

Note: Utiliser le paramètre offset ne revient pas à passer substr($subject, $offset) à preg_match_all() à la place de la chaîne subject, car pattern peut contenir des assertions comme ^, $ ou (?<=x). Comparez :

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

L'exemple ci-dessus va afficher :

Array
(
)

avec cet exemple :

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

produira :

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

Valeurs de retour

preg_match() retourne le nombre de fois où le masque pattern a été trouvé. Cela peut aller de 0 (pas de solution) à un 1 car preg_match() s'arrête dès qu'elle a trouvé une première solution. preg_match_all(), au contraire, va continuer jusqu'à la fin de la chaîne subject. preg_match() retourne FALSE si une erreur survient.

Historique

Version | Description
5.2.2 | Les sous-masques nommés acceptent maintenant la synthaxe (?<name>) et (?'name') mais aussi (?P<name>). Les anciennes versions n'acceptaient que la synthaxe (?P<name>).
4.3.3 | Le paramètre offset a été ajouté.
4.3.0 | Le drapeau PREG_OFFSET_CAPTURE a été ajouté.
4.3.0 | Le paramètre flags a été ajouté.

Exemples

Exemple #1 Trouve la chaîne "php"

<?php
// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
if (preg_match("/php/i", "PHP est le meilleur langage de script du web.")) {
    echo "Un résultat a été trouvé.";
} else {
    echo "Aucun résultat n'a été trouvé.";
}
?>

Exemple #2 Trouve le mot "web"

<?php
/* \b, dans le masque, indique une limite de mot, de façon à ce que le mot
 "web" uniquement soit repéré, et pas seulement des parties de mots comme
  dans "webbing" ou "cobweb" */
if (preg_match("/\bweb\b/i", "PHP est le meilleur langage de script du web.")) {
    echo "Le mot a été trouvé.";
} else {
    echo "Le mot n'a pas été trouvé.";
}

if (preg_match("/\bweb\b/i", "PHP est le meilleur langage de script du web.")) {
    echo "Le mot a été trouvé.";
} else {
    echo "Le mot n'a pas été trouvé.";
}
?>

Exemple #3 Lire un nom de domaine dans une URL

<?php
// repérer le nom de l'hôte dans l'URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.php.net/index.html", $matches);
$host = $matches[1];

// repérer les deux derniers segments du nom de l'hôte
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
echo "Le nom de domaine est : {$matches[0]}\n";
?>

L'exemple ci-dessus va afficher :

Le nom de domaine est : php.net

Exemple #4 Utilisation des sous-masques nommés

<?php

$str = 'foobar: 2008';

preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches);

/* Ceci fonctionne également en PHP 5.2.2 (PCRE 7.0) et suivants,
 * cependant, la syntaxe ci-dessous est recommandée pour des raisons
 * de compatibilités ascendantes */
// preg_match('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => foobar: 2008
    [name] => foobar
    [1] => foobar
    [digit] => 2008
    [2] => 2008
)

Notes

Astuce

N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaîne est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides.

Voir aussi

  • preg_match_all() - Expression rationnelle globale
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_split() - Éclate une chaîne par expression rationnelle
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée

preg_match_all
preg_quote
Fonctions PCRE


Protection des caractères spéciaux des expressions rationnelles

preg_match
preg_replace_callback
Fonctions PCRE
PHP Manual

preg_quote

(PHP 4, PHP 5)

preg_quote — Protection des caractères spéciaux des expressions rationnelles

Description

string preg_quote ( string $str [, string $delimiter = NULL ] )

preg_quote() ajoute un antislash devant tous les caractères de la chaîne str. Cela est très utile si vous avez une chaîne qui va servir de masque, mais qui est générée durant l'exécution.

Les caractères spéciaux qui seront protégés sont les suivants : . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

Liste de paramètres

str

La chaîne d'entrée.

delimiter

Si l'argument optionnel delimiter est fourni, il sera aussi échappé. Ceci est pratique pour échapper le délimiteur requis par les fonctions PCRE. Le slash / est le délimiteur le plus répandu.

Valeurs de retour

Retourne la chaîne protégée.

Historique

Version | Description
5.3.0 | Le caractère - est maintenant protégé.

Exemples

Exemple #1 Exemple avec preg_quote()

<?php
$keywords = '$40 pour un g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // retourne \$40 pour un g3\/400
?>

Exemple #2 Mise en italique d'un mot dans un texte

<?php
// Dans cet exemple, preg_quote($word) sert à éviter que les astérisques
// prennent une valeur particulière dans l'expression rationnelle.

$textbody = "Ce livre est *très* difficile à trouver.";
$word = "*très*";
$textbody = preg_replace ("/" . preg_quote($word) . "/",
                          "<i>" . $word . "</i>",
                          $textbody);
?>

Notes

Note: Cette fonction gère les chaînes binaires.

preg_match
preg_replace_callback
Fonctions PCRE


Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback

preg_quote
preg_replace
Fonctions PCRE
PHP Manual

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5)

preg_replace_callback — Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback

Description

mixed preg_replace_callback ( mixed $pattern , callback $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

Le comportement de preg_replace_callback() est presque identique à celui de preg_replace(), hormis le fait qu'à la place du paramètre replacement, il faut spécifier une fonction de rappel callback qui sera appelée, avec les éléments trouvés en arguments.

Liste de paramètres

pattern

Le masque à chercher. Il peut être une chaîne de caractères ou un tableau contenant des chaînes.

callback

La fonction de rappel qui recevra le tableau d'éléments trouvés dans la chaîne subject. La fonction de rappel doit retourner la chaîne de remplacement.

Vous aurez souvent besoin de la fonction callback avec preg_replace_callback() à un seul endroit. Dans ce cas, vous pouvez simplement utiliser une fonction anonyme (depuis PHP 5.3.0) ou la fonction create_function() pour déclarer une fonction anonyme comme fonction de rappel pour preg_replace_callback(). En faisant cela, vous concentrez toutes les routines liées à votre remplacement à un seul endroit, et nous ne polluez par votre espace de noms de fonctions avec des fonctions à usage unique.

Exemple #1 preg_replace_callback() et create_function()

<?php
// Un filtre de ligne de commande Unix pour convertir les lettres
// en majuscule de début des paragraphe en minuscules

$fp = fopen("php://stdin", "r") or die("Impossible de lire la ligne de commande");
while (!feof($fp)) {
    $line = fgets($fp);
    $line = preg_replace_callback(
        '|<p>\s*\w|',
        create_function(
            // Les guillemets simples sont très importants ici
            // ou bien il faut protéger les caractères $ avec \$
            '$matches',
            'return strtolower($matches[0]);'
        ),
        $line
    );
    echo $line;
}
fclose($fp);
?>

subject

La chaîne ou le tableau de chaînes à chercher et à remplacer.

limit

Le nombre maximal de remplacement pour chaque masque dans chaque chaîne subject. Vaut par défaut -1 (aucune limite).

count

Si fournie, cette variable sera remplie avec le nombre de remplacements effectués.

Valeurs de retour

preg_replace_callback() retourne un tableau si le paramètre subject est un tableau, ou, sinon, une chaîne de caractères. Si une erreur survient, la valeur retournée sera NULL.

Si des correspondances sont trouvées, le nouveau sujet sera retourné, sinon le paramètre subject sera retourné, inchangé.

Historique

Version | Description
5.1.0 | Le paramètre count a été ajouté.

Exemples

Exemple #2 Exemple avec preg_replace_callback()

<?php
// Ce texte était vrai en 2002
// nous voulons le mettre a jour pour 2003
$text = "Le premier avril est le 04/01/2002\n";
$text.= "Le dernier noël était le 12/24/2001\n";

// Fonction de callback
function next_year($matches)
{
  // comme d'habitude : $matches[0] représente la valeur totale
  // $matches[1] représente la première parenthèse capturante
  return $matches[1].($matches[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "next_year",
            $text);

?>

L'exemple ci-dessus va afficher :

Le premier avril est le 04/01/2003
Le dernier noël était le 12/24/2002

Exemple #3 Exemple avec preg_replace_callback() en utilisant une structure récursive pour gérer du BB code

<?php
$input = "plain [indent] deep [indent] deeper [/indent] deep [/indent] plain";

function parseTagsRecursive($input)
{

    $regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

    if (is_array($input)) {
        $input = '<div style="margin-left: 10px">'.$input[1].'</div>';
    }

    return preg_replace_callback($regex, 'parseTagsRecursive', $input);
}

$output = parseTagsRecursive($input);

echo $output;
?>

Voir aussi

  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée
  • create_function() - Crée une fonction anonyme
  • Informations sur le type callback

preg_quote
preg_replace
Fonctions PCRE


Rechercher et remplacer par expression rationnelle standard

preg_replace_callback
preg_split
Fonctions PCRE
PHP Manual

preg_replace

(PHP 4, PHP 5)

preg_replace — Rechercher et remplacer par expression rationnelle standard

Description

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Analyse subject pour trouver l'expression rationnelle pattern et remplace les résultats par replacement.

Liste de paramètres

pattern

Le masque à chercher. Il peut être une chaîne ou un tableau de chaînes.

e force preg_replace() à traiter replacement comme du code PHP une fois que les substitutions adéquates ont été faites. Conseil : assurez-vous que replacement est un code PHP valide, car sinon, PHP trouvera une erreur d'analyse dans la ligne contenant la fonction preg_replace().

replacement

La chaîne ou un tableau de chaînes pour le remplacement. Si ce paramètre est une chaîne et le paramètre pattern est un tableau, tous les masques seront remplacés par cette chaîne. Si les paramètres pattern et replacement sont des tableaux, chaque pattern sera remplacé son replacement associé. Si replacement à moins d'éléments que pattern, alors une chaîne vide est utilisée pour le reste des valeurs. Pour utiliser les antislashs dans le masque, vous devez les doubler ("\\\\").

replacement peut contenir des références de la forme \\n ou, (depuis PHP 4.0.4) $n. Cette dernière forme est recommandée. Ces références seront remplacées par le texte capturé par la n-ième parenthèse capturante du masque. n peut prendre des valeurs de 0 à 99, et \\0 ou $0, correspondent au texte de qui satisfait le masque complet. Les parenthèses ouvrantes sont comptées de gauche à droite (en commençant à 1) pour déterminer le numéro de parenthèse capturante.

Lorsque vous travaillez avec un masque de remplacement où une référence arrière est directement suivie par un nombre (i.e.: placer un nombre littéral immédiatement après une référence arrière), vous ne pouvez pas utiliser la syntaxe classique \\1 pour la référence arrière. \\11, par exemple, sera confus pour la fonction preg_replace() dans le sens où elle ne saura pas si vous désirez la référence arrière \\1 suivi du nombre 1 ou si vous désirez la référence arrière \\11 suivi de "rien". Dans ce cas, la solution est d'utiliser la syntaxe \${1}1. Cela créera une référence arrière isolée $1, suivi du nombre littéral 1.

Lorsque vous utilisez l'option e, cette fonction échappe quelques caractères (', ", \ et NULL) dans la chaîne qui remplace les références arrières. Ce comportement se justifie afin d'assurer qu'aucune erreur de syntaxe ne survient lors de l'utilisation des références arrières avec des guillemets simples et doubles (e.g. 'strlen(\'$1\')+strlen("$2")'). Assurez-vous d'être familier avec la syntaxe des chaînes afin de savoir exactement à quoi la chaîne interprétée doit ressembler.

subject

La chaîne ou le tableau contenant des chaînes à chercher et à remplacer.

Si subject est un tableau, alors l'opération sera appliquée à chacun des éléments du tableau, et le tableau sera retourné.

limit

Le nombre maximal de remplacement pour chaque masque dans chaque chaîne subject. Par défaut, vaut -1 (aucune limite).

count

Si fournie, cette variable contiendra le nombre de remplacements effectués.

Valeurs de retour

preg_replace() retourne un tableau si le paramètre subject est un tableau, ou une chaîne sinon.

Si des correspondances sont trouvées, le nouveau subject sera retourné, sinon subject sera retourné à l'identique, ou NULL si une erreur survient.

Historique

Version | Description
5.1.0 | Ajout du paramètre count
4.0.4 | Ajout de la forme '$n' pour le paramètre replacement
4.0.1 | Ajout du paramètre limit

Exemples

Exemple #1 Utilisation des références arrières avec des littéraux numériques

<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>

L'exemple ci-dessus va afficher :

April1,2003

Exemple #2 Utilisation de tableaux indexé avec preg_replace()

<?php
$string = 'Le renard marron agile saute par dessus le chien paresseux.';
$patterns = array();
$patterns[0] = '/agile/';
$patterns[1] = '/marron/';
$patterns[2] = '/renard/';
$replacements = array();
$replacements[2] = 'grizzly';
$replacements[1] = 'brun';
$replacements[0] = 'lent';
echo preg_replace($patterns, $replacements, $string);
?>

L'exemple ci-dessus va afficher :

Le grizzly brun lent saute par dessus le chien paresseux.

En triant les masques et les remplacements, vous devriez obtenir le résultat escompté.

<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>

L'exemple ci-dessus va afficher :

Le lent grizzly brun saute par dessus le chien paresseux.

Exemple #3 Remplacement de plusieurs valeurs simultanément

<?php
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
                   '/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>

L'exemple ci-dessus va afficher :

$startDate = 5/27/1999

Exemple #4 Utilisation de l'option 'e'

<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
             "'\\1'.strtoupper('\\2').'\\3'",
             $html_body);
?>

Cela va mettre en majuscule toutes les balises HTML du texte.

Exemple #5 Suppression des espaces

Cet exemple supprime les espaces en trop dans une chaîne.

<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);
// Affichera 'foo o'
echo $str;
?>

Exemple #6 Utilisation du paramètre count

<?php
$count = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
echo $count; //3
?>

L'exemple ci-dessus va afficher :

xp***to
3

Notes

Note: Lorsque vous utilisez des tableaux avec les paramètres pattern et replacement, les clés sont traitées dans l'ordre dans lequel elles apparaissent dans le tableau. Ce n'est pas forcément la même chose que l'ordre des index numériques. Si vous utilisez des index pour identifier quel pattern doit être replacé par quel replacement, il est recommandé de faire un tri ksort() sur chaque tableau avant de faire appel à preg_replace().

Voir aussi

  • preg_filter() - Recherche et remplace avec une expression rationnelle
  • preg_match() - Expression rationnelle standard
  • preg_replace_callback() - Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback
  • preg_split() - Éclate une chaîne par expression rationnelle
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée

preg_replace_callback
preg_split
Fonctions PCRE


Éclate une chaîne par expression rationnelle

preg_replace
Regex POSIX
Fonctions PCRE
PHP Manual

preg_split

(PHP 4, PHP 5)

preg_split — Éclate une chaîne par expression rationnelle

Description

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

Éclate une chaîne par expression rationnelle.

Liste de paramètres

pattern

Le masque à chercher, sous la forme d'une chaîne de caractères.

subject

La chaîne d'entrée.

limit

Si limit est spécifié, alors seules les limit premières sous-chaînes sont retournées avec le reste de la chaîne placé dans la dernière sous-chaîne. Si vous définissez le paramètre limit à -1, 0, ou NULL, cela signifie "aucune limite" et, vous pouvez utiliser la valeur NULL pour ignorer le paramètre flags.

flags

flags peut être la combinaison des options suivantes (combinées avec l'opérateur |):

PREG_SPLIT_NO_EMPTY
Si cette option est activée, seules les sous-chaînes non vides seront retournées par preg_split().
PREG_SPLIT_DELIM_CAPTURE
Si cette option est activée, les expressions entre parenthèses entre les délimiteurs de masques seront aussi capturées et retournées.
PREG_SPLIT_OFFSET_CAPTURE

Si cette option est activée, pour chaque résultat, la position de celui-ci sera retournée. Notez que cela change la valeur retournée en un tableau où chaque élément est un tableau constitué de la chaîne trouvée à la position 0 et la position de la chaîne dans subject à la position 1.

Valeurs de retour

Retourne un tableau contenant les sous-chaînes de subject, séparées par les chaînes qui vérifient pattern.

Historique

Version | Description
4.3.0 | Le drapeau PREG_SPLIT_OFFSET_CAPTURE a été ajouté.
4.0.5 | Le drapeau PREG_SPLIT_DELIM_CAPTURE a été ajouté.

Exemples

Exemple #1 Exemple avec preg_split() : Éclatement d'une chaîne de recherche

<?php
// scinde la phrase grâce aux virgules et espacements
// ce qui inclus les " ", \r, \t, \n et \f
$keywords = preg_split("/[\s,]+/", "langage hypertexte, programmation");
?>

Exemple #2 Scinder une chaîne en caractères

<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Exemple #3 Scinde une chaîne et capture les positions

<?php
$str = 'langage hypertexte, programmation';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Array
        (
            [0] => langage
            [1] => 0
        )

    [1] => Array
        (
            [0] => hypertexte,
            [1] => 8
        )

    [2] => Array
        (
            [0] => programmation
            [1] => 20
        )

)

Notes

Astuce

Si vous n'avez pas besoin de la puissance des expressions régulières, vous pouvez choisir des alternatives plus rapides (quoique plus simples) comme explode() ou str_split().

Voir aussi

  • spliti() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • implode() - Rassemble les éléments d'un tableau en une chaîne
  • preg_match() - Expression rationnelle standard
  • preg_match_all() - Expression rationnelle globale
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée

preg_replace
Regex POSIX
Fonctions PCRE


Expressions rationnelles

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions POSIX Regex
    • ereg_replace — >Remplacement par expression rationnelle
    • ereg — Recherche par expression rationnelle standard
    • eregi_replace — Remplacement par expression rationnelle insensible à la casse
    • eregi — Recherche par expression rationnelle insensible à la casse
    • split — Scinde une chaîne en un tableau, grâce à une expression rationnelle
    • spliti — Scinde une chaîne en un tableau, grâce à une expression rationnelle
    • sql_regcase — Prépare une expression rationnelle pour effectuer une recherche insensible à la casse
preg_split
Introduction
Traitement du texte


Introduction

Astuce

PHP supporte aussi des expressions rationnelles compatibles Perl, avec l'extension PCRE functions. Ces fonctions supportent des recherches non-gourmandes, des assertions, des sous-masques conditionnels et toute une gamme de fonctionnalités absentes des expressions rationnelles POSIX.

Avertissement

Ces expressions rationnelles ne sont pas compatibles avec les données binaires. Les expressions PCRE le sont.

Note: Depuis PHP 5.3.0, cette extension est obsolète ; l'appel à n'importe quelle fonction de cette extension émettra une alerte de type E_DEPRECATED.

Les expressions rationnelles sont utilisées pour de complexes manipulations sur les chaînes de caractères. PHP utilise les expressions rationnelles avancées de POSIX (POSIX 1003.2). Pour avoir tous les détails sur ces expressions, reportez-vous aux » pages de manuel incluses dans le répertoire de la distribution PHP. Elles sont au format manpage : pour les lire, vous devrez utiliser la ligne de commande man /usr/local/src/regex/regex.7.

Regex POSIX
Installation/Configuration
Regex POSIX


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Regex POSIX


Installation

Avertissement

Ne changez pas la valeur de TYPE à moins que vous ne sachiez ce que vous faites.

Pour activer le support des expressions rationnelles en PHP vous devez compiler PHP avec l'option --with-regex[=TYPE]. TYPE peut prendre l'une des valeurs suivantes : "system", "apache", "php". La valeur par défaut est "php".

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Regex POSIX


Exemples

Exemple #1 Exemples d'expressions rationnelles

<?php
/* Retourne true si "abc"
   est trouvé quelque part dans la chaîne $string. */
ereg("abc", $string);

/* Retourne true si  "abc"
   est trouvé au début de la chaîne $string. */
ereg("^abc", $string);

/* Retourne true si  "abc"
   est trouvé à la fin de la chaîne  $string. */
ereg("abc$", $string);

/* Retourne true si  le client
   est Netscape 2, 3 ou MSIE 3. */
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

/* Recherche trois mots séparés par des espaces
   dans les chaînes $regs[1], $regs[2] et $regs[3]. */
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs);

/* Insère une balise <br /> au début de la chaîne $string. */
$string = ereg_replace("^", "<br />", $string);

/* Insère une balise <br /> à la fin de la chaîne $string. */
$string = ereg_replace("$", "<br />", $string);

/* Supprime toutes les nouvelles lignes de $string. */
$string = ereg_replace("\n", "", $string);
?>

Constantes pré-définies
Fonctions POSIX Regex
Regex POSIX


Fonctions POSIX Regex

Voir aussi

Pour des expressions rationnelles compatibles Perl, voyez l'extension PCRE. Les commandes de recherche plus simples (avec support des caractères jokers) sont fournies par la fonction fnmatch().

Sommaire

  • ereg_replace — >Remplacement par expression rationnelle
  • ereg — Recherche par expression rationnelle standard
  • eregi_replace — Remplacement par expression rationnelle insensible à la casse
  • eregi — Recherche par expression rationnelle insensible à la casse
  • split — Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • spliti — Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • sql_regcase — Prépare une expression rationnelle pour effectuer une recherche insensible à la casse
Exemples
ereg_replace
Regex POSIX


>Remplacement par expression rationnelle

Fonctions POSIX Regex
ereg
Fonctions POSIX Regex
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replace — >Remplacement par expression rationnelle

Description

string ereg_replace ( string $pattern , string $replacement , string $string )

Cette fonction effectue une recherche par expression rationnelle dans la chaîne string en recherchant les occurrences de pattern, puis les remplace par la chaîne replacement.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Une expression rationnelle POSIX.

replacement

Si pattern contient des parenthèses capturantes, replacement pourra contenir des séquences de la forme \\digit, qui seront remplacées par le texte capturé par la parenthèse capturante numéro digit. \\0 correspond à la chaîne originale complète. De 0 à 9 parenthèses capturantes peuvent être utilisées. Les parenthèses peuvent être imbriquées, et leur numéro d'ordre est défini par leurs parenthèses ouvrantes.

string

La chaîne d'entrée.

Valeurs de retour

La chaîne modifiée est retournée. (Ce qui signifie que la chaîne originale sera retournée si aucune occurrence n'est trouvée.)

Exemples

Par exemple, le code suivant affiche "Ceci est un test" trois fois :

Exemple #1 Exemple avec ereg_replace()

<?php

$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);

?>

Il est à noter que si vous utilisez une valeur entière avec replacement, vous n'obtiendrez pas le résultat escompté, car ereg_replace() interprétera le nombre comme la valeur ordinale d'un caractère et l'appliquera. Par exemple :

Exemple #2 Exemple avec ereg_replace()

<?php
/* Ceci ne fonctionne pas comme attendu */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* Affiche : 'This string has   words.' */

/* Ceci fonctionne comme attendu */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* Affiche : 'This string has 4 words.' */
?>

Exemple #3 Remplacer les URL par des liens cliquables

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href=\"\\0\">\\0</a>", $text);
?>

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Astuce

preg_replace(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg_replace().

Voir aussi

  • ereg() - Recherche par expression rationnelle standard
  • eregi() - Recherche par expression rationnelle insensible à la casse
  • eregi_replace() - Remplacement par expression rationnelle insensible à la casse
  • str_replace() - Remplace toutes les occurrences dans une chaîne
  • preg_match() - Expression rationnelle standard

Fonctions POSIX Regex
ereg
Fonctions POSIX Regex


Recherche par expression rationnelle standard

ereg_replace
eregi_replace
Fonctions POSIX Regex
PHP Manual

ereg

(PHP 4, PHP 5)

ereg — Recherche par expression rationnelle standard

Description

int ereg ( string $pattern , string $string [, array &$regs ] )

Recherche dans la chaîne string les séquences de caractères qui correspondent au masque pattern, en tenant compte de la casse.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Expression rationnelle sensible à la casse.

string

La chaîne d'entrée.

regs

Si au moins une séquence est trouvée (éventuellement dans les parenthèses capturantes de pattern), et que la fonction est appelée avec un troisième argument regs, les résultats seront enregistrés dans regs.

$regs[1] contiendra la première parenthèse capturante (celle qui commence le plus tôt), $regs[2] contiendra la deuxième parenthèse capturante (celle qui commence après la première), et ainsi de suite. $regs[0] contient une copie de la chaîne.

Valeurs de retour

Retourne la longueur de l'occurrence trouvée si une occurrence a été trouvée dans la chaîne string et FALSE dans le cas contraire ou si une erreur est survenue.

Si le paramètre optionnel regs n'est pas passé à la fonction ou si la longueur du paramètre string vaut 0, la fonction retournera 1.

Historique

Version | Description
4.1.0 | Pour les versions de PHP inférieures ou égales à 4.1.0, $regs sera rempli d'exactement dix éléments, même s'il y a plus ou moins de dix parenthèses capturantes. Cela n'a aucun effet sur ereg() pour chercher plus de sous-chaînes. Si aucun résultat n'est trouvé, $regs ne sera pas altéré par ereg().

Exemples

Exemple #1 Exemple avec ereg()

L'exemple suivant prend une date au format ISO (YYYY-MM-DD) et l'affiche sous la forme DD.MM.YYYY :

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo "$regs[3].$regs[2].$regs[1]";
} else {
    echo "Format de date invalide : $date";
}
?>

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Note: preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().

Voir aussi

  • eregi() - Recherche par expression rationnelle insensible à la casse
  • ereg_replace() - >Remplacement par expression rationnelle
  • eregi_replace() - Remplacement par expression rationnelle insensible à la casse
  • preg_match() - Expression rationnelle standard
  • strpos() - Trouve la position d'un caractère dans une chaîne
  • strstr() - Trouve la première occurrence dans une chaîne
  • quotemeta() - Protège les métacaractères

ereg_replace
eregi_replace
Fonctions POSIX Regex


Remplacement par expression rationnelle insensible à la casse

ereg
eregi
Fonctions POSIX Regex
PHP Manual

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Remplacement par expression rationnelle insensible à la casse

Description

string eregi_replace ( string $pattern , string $replacement , string $string )

Cette fonction est identique à ereg_replace(), hormis le fait qu'elle ne tient pas compte de la casse des caractères alphabétiques.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Une expression rationnelle POSIX.

replacement

Si pattern contient des sous-masques mis entre parenthèses, replacement contiendra des sous-chaînes, sous la forme \\digit, qui seront remplacées par le texte correspondant au sous-masque mis entre parenthèses ; \\0 correspondra au contenu complet de la chaîne. Il est possible d'utiliser jusqu'à 9 sous-chaînes. Les parenthèses peuvent être imbriquées et seront comptées à partir de la parenthèse ouvrante.

string

La chaîne d'entrée.

Valeurs de retour

La chaîne modifiée est retournée. Si aucune correspondance n'est trouvée dans string, alors elle sera retournée sans aucune modification.

Exemples

Exemple #1 Mise en évidence des résultats de la recherche

<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1<span class="search">\\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Voir aussi

  • ereg() - Recherche par expression rationnelle standard
  • eregi() - Recherche par expression rationnelle insensible à la casse
  • ereg_replace() - >Remplacement par expression rationnelle

ereg
eregi
Fonctions POSIX Regex


Recherche par expression rationnelle insensible à la casse

eregi_replace
split
Fonctions POSIX Regex
PHP Manual

eregi

(PHP 4, PHP 5)

eregi — Recherche par expression rationnelle insensible à la casse

Description

int eregi ( string $pattern , string $string [, array &$regs ] )

Cette fonction est identique à ereg(), hormis le fait qu'elle ignore la casse des caractères lors de la recherche sur les caractères alphabétiques.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Expression rationnelle insensible à la casse.

string

La chaîne d'entrée.

regs

Si des correspondances sont trouvées pour les sous-masques entre parenthèses de pattern et que la fonction est appelé avec le troisième argument regs, les correspondances seront stockées dans des éléments du tableau regs.

$regs[1] contiendra la sous-chaîne qui commence à la première parenthèse la plus à gauche ; $regs[2], la seconde, et ainsi de suite. $regs[0] contiendra une copie complète de la chaîne matchée.

Valeurs de retour

Retourne la longueur de la chaîne trouvée si une correspondance pour le masque pattern a été trouvée dans string, ou FALSE si aucune correspondance n'a été trouvée ou si une erreur est survenue.

Si le paramètre optionnel regs n'est pas fourni ou si la longueur de la chaîne trouvée vaut 0, cette fonction retourne 1.

Exemples

Exemple #1 Exemple avec eregi()

<?php
$string = 'XYZ';
if (eregi('z', $string)) {
    echo "'$string' contient un 'z' ou un 'Z'!";
}
?>

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Voir aussi

  • ereg() - Recherche par expression rationnelle standard
  • ereg_replace() - >Remplacement par expression rationnelle
  • eregi_replace() - Remplacement par expression rationnelle insensible à la casse
  • stripos() - Recherche la première occurrence dans une chaîne, sans tenir compte de la casse
  • stristr() - Version insensible à la casse de strstr

eregi_replace
split
Fonctions POSIX Regex


Scinde une chaîne en un tableau, grâce à une expression rationnelle

eregi
spliti
Fonctions POSIX Regex
PHP Manual

split

(PHP 4, PHP 5)

split — Scinde une chaîne en un tableau, grâce à une expression rationnelle

Description

array split ( string $pattern , string $string [, int $limit ] )

Scinde la chaîne string dans un tableau grâce à une expression rationnelle.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Expression rationnelle sensible à la casse.

Si vous voulez utiliser n'importe quel caractère spécial des expressions rationnelles, vous devez les échapper. Si vous pensez que split() (ou toute autre expression rationnelle) se comporte bizarrement, lisez d'abord le fichier regex.7, inclus dans le dossier regex/ de la distribution PHP . Il est au format manpage, et vous pourrez le lire avec une commande telle que man /usr/local/src/regex/regex.7.

string

La chaîne d'entrée.

limit

Si limit est défini, le tableau retourné contiendra un maximum de limit éléments avec le dernier élément contenant le reste de la chaîne string.

Valeurs de retour

Retourne un tableau de chaînes : chacune d'entre elle est une sous-chaîne de string délimitée par les occurrences trouvées de l'expression rationnelle pattern.

S'il y a n occurrences de pattern, le tableau retourné contiendra n+1 éléments. Par exemple, s'il n'y a aucune occurrence de pattern, un tableau d'un seul élément sera retourné. Bien sûr, cela reste vrai si string est une chaîne vide. Si une erreur survient, split() retournera FALSE.

Exemples

Exemple #1 Exemple avec split()

Pour scinder les 4 premiers champs d'une ligne du fichier /etc/passwd :

<?php
list($user, $pass, $uid, $gid, $extra) =
    split(":", $passwd_line, 5);
?>

Exemple #2 Exemple avec split()

Pour analyser une date qui est délimitée par des /, des points ou des tirets :

<?php
// Les délimiteurs peuvent être des tirets, points ou slash
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Mois : $month; Jour : $day; Année : $year<br />\n";
?>

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Astuce

preg_split(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide à split(). Si vous n'avez pas besoin de la puissance des expressions rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas le moteur d'expressions rationnelles.

Astuce

Pour les utilisateurs qui recherchent le moyen d'émuler
la commande Perl @chars = split('', $str),
voyez la fonction preg_split() ou
la fonction str_split().

Voir aussi

  • preg_split() - Éclate une chaîne par expression rationnelle
  • spliti() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • str_split() - Convertit une chaîne de caractères en tableau
  • explode() - Coupe une chaîne en segments
  • implode() - Rassemble les éléments d'un tableau en une chaîne
  • chunk_split() - Scinde une chaîne
  • wordwrap() - Effectue la césure d'une chaîne

eregi
spliti
Fonctions POSIX Regex


Scinde une chaîne en un tableau, grâce à une expression rationnelle

split
sql_regcase
Fonctions POSIX Regex
PHP Manual

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Scinde une chaîne en un tableau, grâce à une expression rationnelle

Description

array spliti ( string $pattern , string $string [, int $limit ] )

Scinde la chaîne string dans un tableau, par expression rationnelle.

Cette fonction est identique à split(), hormis le fait qu'elle ignore la casse pour les caractères alphabétiques.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

pattern

Expression rationnelle insensible à la casse.

Si vous voulez effectuer la césure avec un caractère qui est considéré comme spécial par les expressions rationnelles, vous devez d'abord l'échapper. Si vous pensez que la fonction spliti() (ou tout autre fonction regex) fait quelque chose de bizarre, lisez le fichier regex.7, inclus dans le sous-dossier regex/ de la distribution PHP. Ce fichier est au format man, vous devrez donc utiliser la commande man /usr/local/src/regex/regex.7 pour le lire.

string

La chaîne d'entrée.

limit

Si limit est défini, le tableau retourné contiendra un maximum de limit éléments, dont le dernier élément contient le reste de la chaîne string.

Valeurs de retour

Retourne un tableau de chaînes, dont chaque élément est une sous-chaîne de string, formée par la césure réalisée grâce l'expression rationnelle pattern.

S'il y a n occurrences de pattern, le tableau retourné contiendra n+1 éléments. Par exemple, s'il n'y a pas d'occurrence de pattern, un tableau avec un seul élément sera retourné. Évidemment, ceci est également vrai si la chaîne string est vide. Si une erreur survient, spliti() retourne FALSE.

Exemples

Scinder une chaîne en utilisant la lettre 'a' comme séparateur :

Exemple #1 Exemple avec spliti()

<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>

L'exemple ci-dessus va afficher :

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Voir aussi

  • preg_split() - Éclate une chaîne par expression rationnelle
  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • explode() - Coupe une chaîne en segments
  • implode() - Rassemble les éléments d'un tableau en une chaîne

split
sql_regcase
Fonctions POSIX Regex


Prépare une expression rationnelle pour effectuer une recherche insensible à la casse

spliti
Chaîne de caractères
Fonctions POSIX Regex
PHP Manual

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Prépare une expression rationnelle pour effectuer une recherche insensible à la casse

Description

string sql_regcase ( string $string )

Prépare une expression rationnelle pour une recherche insensible à la casse.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

Liste de paramètres

string

La chaîne d'entrée.

Valeurs de retour

sql_regcase() retourne une expression rationnelle valide qui acceptera la chaîne string, et toutes les variantes majuscule/minuscule possibles de cette chaîne. Cette expression sera construite à partir de la chaîne string en remplaçant tous les caractères par des expressions entre crochets (des classes de caractères), contenant la lettre majuscule et minuscule. Les autres caractères ne sont pas modifiés.

Exemples

Exemple #1 Exemple avec sql_regcase()

<?php
echo sql_regcase("Foo - bar.");
?>

L'exemple ci-dessus va afficher :

[Ff][Oo][Oo] - [Bb][Aa][Rr].

Cette expression sert à effectuer des recherches insensibles à la casse avec d'autres logiciels, qui n'acceptent que les recherches sensibles à la casse.

Notes

Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.

spliti
Chaîne de caractères
Fonctions POSIX Regex


Chaîne de caractères

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur les chaînes de caractères
    • addcslashes — Ajoute des slash dans une chaîne, à la mode du langage C
    • addslashes — Ajoute des antislashs dans une chaîne
    • bin2hex — Convertit des données binaires en représentation hexadécimale
    • chop — Alias de rtrim
    • chr — Retourne un caractère à partir de son code ASCII
    • chunk_split — Scinde une chaîne
    • convert_cyr_string — Convertit une chaîne d'un jeu de caractères cyrillique à l'autre
    • convert_uudecode — Décode une chaîne au format uuencode
    • convert_uuencode — Encode une chaîne de caractères en utilisant l'algorithme uuencode
    • count_chars — Retourne des statistiques sur les caractères utilisés dans une chaîne
    • crc32 — Calcule la somme de contrôle CRC32
    • crypt — Hachage à sens unique (indéchiffrable)
    • echo — Affiche une chaîne de caractères
    • explode — Coupe une chaîne en segments
    • fprintf — Écrit une chaîne formatée dans un flux
    • get_html_translation_table — Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities
    • hebrev — Convertit un texte logique hébreux en texte visuel
    • hebrevc — Convertit un texte logique hébreux en texte visuel, avec retours à la ligne
    • html_entity_decode — Convertit toutes les entités HTML en caractères normaux
    • htmlentities — Convertit tous les caractères éligibles en entités HTML
    • htmlspecialchars_decode — Convertit les entités HTML spéciales en caractères
    • htmlspecialchars — Convertit les caractères spéciaux en entités HTML
    • implode — Rassemble les éléments d'un tableau en une chaîne
    • join — Alias de implode
    • lcfirst — Met le premier caractère en minuscule
    • levenshtein — Calcule la distance Levenshtein entre deux chaînes
    • localeconv — Lit la configuration locale
    • ltrim — Supprime les espaces (ou d'autres caractères) de début de chaîne
    • md5_file — Calcule le md5 d'un fichier
    • md5 — Calcule le md5 d'une chaîne
    • metaphone — Calcule la clé metaphone
    • money_format — Met un nombre au format monétaire
    • nl_langinfo — Rassemble des informations sur la langue et la configuration locale
    • nl2br — Insère un retour à la ligne HTML à chaque nouvelle ligne
    • number_format — Formate un nombre pour l'affichage
    • ord — Retourne le code ASCII d'un caractère
    • parse_str — Analyse une requête HTTP
    • print — Affiche une chaîne de caractères
    • printf — Affiche une chaîne de caractères formatée
    • quoted_printable_decode — Convertit une chaîne quoted-printable en chaîne 8 bits
    • quoted_printable_encode — Convertit une chaîne 8 bits en une chaîne quoted-printable
    • quotemeta — Protège les métacaractères
    • rtrim — Supprime les espaces (ou d'autres caractères) de fin de chaîne
    • setlocale — Modifie les informations de localisation
    • sha1_file — Calcule le sha1 d'un fichier
    • sha1 — Calcule le sha1 d'une chaîne de caractères
    • similar_text — Calcule la similarité de deux chaînes
    • soundex — Calcule la clé soundex
    • sprintf — Retourne une chaîne formatée
    • sscanf — Analyse une chaîne à l'aide d'un format
    • str_getcsv — Analyse une chaîne de caractères CSV dans un tableau
    • str_ireplace — Version insensible à la casse de str_replace
    • str_pad — Complète une chaîne jusqu'à une taille donnée
    • str_repeat — Répète une chaîne
    • str_replace — Remplace toutes les occurrences dans une chaîne
    • str_rot13 — Effectue une transformation ROT13
    • str_shuffle — Mélange les caractères d'une chaîne de caractères
    • str_split — Convertit une chaîne de caractères en tableau
    • str_word_count — Compte le nombre de mots utilisés dans une chaîne
    • strcasecmp — Comparaison insensible à la casse de chaînes binaires
    • strchr — Alias de strstr
    • strcmp — Comparaison binaire de chaînes
    • strcoll — Comparaison de chaînes localisées
    • strcspn — Trouve un segment de chaîne ne contenant pas certains caractères
    • strip_tags — Supprime les balises HTML et PHP d'une chaîne
    • stripcslashes — Décode une chaîne encodée avec addcslashes
    • stripos — Recherche la première occurrence dans une chaîne, sans tenir compte de la casse
    • stripslashes — Supprime les antislashs d'une chaîne
    • stristr — Version insensible à la casse de strstr
    • strlen — Calcule la taille d'une chaîne
    • strnatcasecmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)
    • strnatcmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel"
    • strncasecmp — Compare en binaire des chaînes de caractères
    • strncmp — Comparaison binaire des n premiers caractères
    • strpbrk — Recherche une chaîne de caractères dans un ensemble de caractères
    • strpos — Trouve la position d'un caractère dans une chaîne
    • strrchr — Trouve la dernière occurrence d'un caractère dans une chaîne
    • strrev — Inverse une chaîne
    • strripos — Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse
    • strrpos — Trouve la position de la dernière occurrence d'un caractère dans une chaîne
    • strspn — Trouve la longueur du premier segment d'une chaîne contenant tous les caractères d'un masque donné
    • strstr — Trouve la première occurrence dans une chaîne
    • strtok — Coupe une chaîne en segments
    • strtolower — Renvoie une chaîne en minuscules
    • strtoupper — Renvoie une chaîne en majuscules
    • strtr — Remplace des caractères dans une chaîne
    • substr_compare — Compare deux chaînes depuis un offset jusqu'à une longueur en caractères
    • substr_count — Compte le nombre d'occurrences de segments dans une chaîne
    • substr_replace — Remplace un segment dans une chaîne
    • substr — Retourne un segment de chaîne
    • trim — Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
    • ucfirst — Met le premier caractère en majuscule
    • ucwords — Met en majuscule la première lettre de tous les mots
    • vfprintf — Écrit une chaîne formatée dans un flux
    • vprintf — Affiche une chaîne formatée
    • vsprintf — Retourne une chaîne formatée
    • wordwrap — Effectue la césure d'une chaîne
sql_regcase
Introduction
Traitement du texte


Introduction

Ces fonctions permettent de manipuler des chaînes de caractères de différentes façons. Certaines fonctionnalités plus spécialisées sont disponibles dans les sections d'expressions rationnelles et de gestion des URL.

Pour plus de détails sur le comportement des chaînes de caractères, notamment avec les guillemets simples et doubles, les séquences d'échappement, reportez-vous à la section Chaînes de caractères dans la section Types.

Chaîne de caractères
Installation/Configuration
Chaîne de caractères


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Chaîne de caractères


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CRYPT_SALT_LENGTH entier
CRYPT_STD_DES entier
CRYPT_EXT_DES entier
CRYPT_MD5 entier
CRYPT_BLOWFISH entier
HTML_SPECIALCHARS (entier)
HTML_ENTITIES (entier)
ENT_COMPAT (entier)
ENT_QUOTES (entier)
ENT_NOQUOTES (entier)
CHAR_MAX (entier)
LC_CTYPE (entier)
LC_NUMERIC (entier)
LC_TIME (entier)
LC_COLLATE (entier)
LC_MONETARY (entier)
LC_ALL (entier)
LC_MESSAGES (entier)
STR_PAD_LEFT (entier)
STR_PAD_RIGHT (entier)
STR_PAD_BOTH (entier)
Types de ressources
Fonctions sur les chaînes de caractères
Chaîne de caractères


Fonctions sur les chaînes de caractères

Voir aussi

Pour des fonctions encore plus puissantes de gestion et manipulation des chaînes, reportez-vous aux expressions rationnelles POSIX et expressions rationnelles Perl.

Sommaire

  • addcslashes — Ajoute des slash dans une chaîne, à la mode du langage C
  • addslashes — Ajoute des antislashs dans une chaîne
  • bin2hex — Convertit des données binaires en représentation hexadécimale
  • chop — Alias de rtrim
  • chr — Retourne un caractère à partir de son code ASCII
  • chunk_split — Scinde une chaîne
  • convert_cyr_string — Convertit une chaîne d'un jeu de caractères cyrillique à l'autre
  • convert_uudecode — Décode une chaîne au format uuencode
  • convert_uuencode — Encode une chaîne de caractères en utilisant l'algorithme uuencode
  • count_chars — Retourne des statistiques sur les caractères utilisés dans une chaîne
  • crc32 — Calcule la somme de contrôle CRC32
  • crypt — Hachage à sens unique (indéchiffrable)
  • echo — Affiche une chaîne de caractères
  • explode — Coupe une chaîne en segments
  • fprintf — Écrit une chaîne formatée dans un flux
  • get_html_translation_table — Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities
  • hebrev — Convertit un texte logique hébreux en texte visuel
  • hebrevc — Convertit un texte logique hébreux en texte visuel, avec retours à la ligne
  • html_entity_decode — Convertit toutes les entités HTML en caractères normaux
  • htmlentities — Convertit tous les caractères éligibles en entités HTML
  • htmlspecialchars_decode — Convertit les entités HTML spéciales en caractères
  • htmlspecialchars — Convertit les caractères spéciaux en entités HTML
  • implode — Rassemble les éléments d'un tableau en une chaîne
  • join — Alias de implode
  • lcfirst — Met le premier caractère en minuscule
  • levenshtein — Calcule la distance Levenshtein entre deux chaînes
  • localeconv — Lit la configuration locale
  • ltrim — Supprime les espaces (ou d'autres caractères) de début de chaîne
  • md5_file — Calcule le md5 d'un fichier
  • md5 — Calcule le md5 d'une chaîne
  • metaphone — Calcule la clé metaphone
  • money_format — Met un nombre au format monétaire
  • nl_langinfo — Rassemble des informations sur la langue et la configuration locale
  • nl2br — Insère un retour à la ligne HTML à chaque nouvelle ligne
  • number_format — Formate un nombre pour l'affichage
  • ord — Retourne le code ASCII d'un caractère
  • parse_str — Analyse une requête HTTP
  • print — Affiche une chaîne de caractères
  • printf — Affiche une chaîne de caractères formatée
  • quoted_printable_decode — Convertit une chaîne quoted-printable en chaîne 8 bits
  • quoted_printable_encode — Convertit une chaîne 8 bits en une chaîne quoted-printable
  • quotemeta — Protège les métacaractères
  • rtrim — Supprime les espaces (ou d'autres caractères) de fin de chaîne
  • setlocale — Modifie les informations de localisation
  • sha1_file — Calcule le sha1 d'un fichier
  • sha1 — Calcule le sha1 d'une chaîne de caractères
  • similar_text — Calcule la similarité de deux chaînes
  • soundex — Calcule la clé soundex
  • sprintf — Retourne une chaîne formatée
  • sscanf — Analyse une chaîne à l'aide d'un format
  • str_getcsv — Analyse une chaîne de caractères CSV dans un tableau
  • str_ireplace — Version insensible à la casse de str_replace
  • str_pad — Complète une chaîne jusqu'à une taille donnée
  • str_repeat — Répète une chaîne
  • str_replace — Remplace toutes les occurrences dans une chaîne
  • str_rot13 — Effectue une transformation ROT13
  • str_shuffle — Mélange les caractères d'une chaîne de caractères
  • str_split — Convertit une chaîne de caractères en tableau
  • str_word_count — Compte le nombre de mots utilisés dans une chaîne
  • strcasecmp — Comparaison insensible à la casse de chaînes binaires
  • strchr — Alias de strstr
  • strcmp — Comparaison binaire de chaînes
  • strcoll — Comparaison de chaînes localisées
  • strcspn — Trouve un segment de chaîne ne contenant pas certains caractères
  • strip_tags — Supprime les balises HTML et PHP d'une chaîne
  • stripcslashes — Décode une chaîne encodée avec addcslashes
  • stripos — Recherche la première occurrence dans une chaîne, sans tenir compte de la casse
  • stripslashes — Supprime les antislashs d'une chaîne
  • stristr — Version insensible à la casse de strstr
  • strlen — Calcule la taille d'une chaîne
  • strnatcasecmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)
  • strnatcmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel"
  • strncasecmp — Compare en binaire des chaînes de caractères
  • strncmp — Comparaison binaire des n premiers caractères
  • strpbrk — Recherche une chaîne de caractères dans un ensemble de caractères
  • strpos — Trouve la position d'un caractère dans une chaîne
  • strrchr — Trouve la dernière occurrence d'un caractère dans une chaîne
  • strrev — Inverse une chaîne
  • strripos — Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse
  • strrpos — Trouve la position de la dernière occurrence d'un caractère dans une chaîne
  • strspn — Trouve la longueur du premier segment d'une chaîne contenant tous les caractères d'un masque donné
  • strstr — Trouve la première occurrence dans une chaîne
  • strtok — Coupe une chaîne en segments
  • strtolower — Renvoie une chaîne en minuscules
  • strtoupper — Renvoie une chaîne en majuscules
  • strtr — Remplace des caractères dans une chaîne
  • substr_compare — Compare deux chaînes depuis un offset jusqu'à une longueur en caractères
  • substr_count — Compte le nombre d'occurrences de segments dans une chaîne
  • substr_replace — Remplace un segment dans une chaîne
  • substr — Retourne un segment de chaîne
  • trim — Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
  • ucfirst — Met le premier caractère en majuscule
  • ucwords — Met en majuscule la première lettre de tous les mots
  • vfprintf — Écrit une chaîne formatée dans un flux
  • vprintf — Affiche une chaîne formatée
  • vsprintf — Retourne une chaîne formatée
  • wordwrap — Effectue la césure d'une chaîne
Constantes pré-définies
addcslashes
Chaîne de caractères


Ajoute des slash dans une chaîne, à la mode du langage C

Fonctions sur les chaînes de caractères
addslashes
Fonctions sur les chaînes de caractères
PHP Manual

addcslashes

(PHP 4, PHP 5)

addcslashes — Ajoute des slash dans une chaîne, à la mode du langage C

Description

string addcslashes ( string $str , string $charlist )

Retourne la chaîne str, après avoir ajouté des antislashs devant tous les caractères qui sont présents dans la liste charlist.

Liste de paramètres

str

La chaîne à échapper.

charlist

Une liste de caractères à échapper. Si charlist contient les caractères \n, \r etc., ils seront convertis à la mode du langage C, alors que les autres caractères non-alphanumériques ayant un code ASCII inférieur à 26, et supérieur à 126 sont remplacés par leur représentation octale.

Lorsque vous définissez une séquence de caractères dans le paramètre charlist, assurez-vous que vous connaissez bien tous les caractères qui viennent entre vos limites d'intervalles.

<?php
echo addcslashes('foo[ ]', 'A..z');
// Affiche :  \f\o\o\[ \]
// Toutes les majuscules et minuscules seront échappées
// ... mais aussi les caractères [\]^_`
?>
De plus, si le premier caractère d'un intervalle a un code ASCII plus grand que le second, l'intervalle ne sera pas créé. Seules les bornes de l'intervalle et le caractère point (.) seront échappés. Utilisez la fonction ord() pour trouver la valeur ASCII d'un caractère.
<?php
echo addcslashes("zoo['.']", 'z..A');
// Affiche :  \zoo['\.']
?>

Attention à l'utilisation des caractères tels que 0, a, b, f, n, r, t et v. Ils seront convertis en \0, \a, \b, \f, \n, \r, \t et \v. En PHP, \0 (NULL), \r (retour chariot), \n (nouvelle ligne), \v (tabulation horizontale) et \t (tabulation) sont prédéfinis comme séquences d'échappement, tandis qu'en C, ce sont toutes les séquences cités ci-dessus qui sont des séquences d'échappement.

Valeurs de retour

Retourne la chaîne, échappée.

Historique

Version | Description
5.2.5 | Les séquences \v et \f ont été ajoutées.

Exemples

charlist peut s'écrire "\0..\37", ce qui identifie tous les caractères ASCII dont le code est entre 0 et 37.

Exemple #1 Exemple avec addcslashes()

<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>

Voir aussi

  • stripcslashes() - Décode une chaîne encodée avec addcslashes
  • stripslashes() - Supprime les antislashs d'une chaîne
  • addslashes() - Ajoute des antislashs dans une chaîne
  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • quotemeta() - Protège les métacaractères

Fonctions sur les chaînes de caractères
addslashes
Fonctions sur les chaînes de caractères


Ajoute des antislashs dans une chaîne

addcslashes
bin2hex
Fonctions sur les chaînes de caractères
PHP Manual

addslashes

(PHP 4, PHP 5)

addslashes — Ajoute des antislashs dans une chaîne

Description

string addslashes ( string $str )

Retourne la chaîne str, après avoir échappé tous les caractères qui doivent l'être, pour être utilisée dans une requête de base de données. Ces caractères sont les guillemets simples ('), guillemets doubles ("), antislash (\) et NUL (le caractère NULL).

Un exemple d'utilisation d'addslashes() est lorsque vous entrez des données dans une base de données. Par exemple, pour insérer le nom O'reilly dans la base, vous aurez besoin de le protéger. Il est fortement recommandé d'utiliser les fonctions de protection spécifiques à chaque base de données (telle que mysqli_real_escape_string() pour MySQL et pg_escape_string() pour PostGreSQL), mais si la base de données que vous utilisez n'a pas de fonction spécifique, et que cette base utilise \ pour protéger les caractères spéciaux, vous pouvez utiliser cette fonction. Grâce à elle, \ sera ajouté. Si la directive PHP magic_quotes_sybase est activée, ' sera protégé par un autre '.

La directive PHP magic_quotes_gpc est à on par défaut, et elle appelle addslashes() sur toutes les données GET, POST et COOKIE. N'utilisez pas addslashes() sur des données déjà protégées avec magic_quotes_gpc sinon vous doublerez les protections. La fonction get_magic_quotes_gpc() est utile pour vérifier ce paramètre.

Liste de paramètres

str

La chaîne à échapper.

Valeurs de retour

Retourne la chaîne échappée.

Exemples

Exemple #1 Exemple avec addslashes()

<?php
$str = "Votre nom est-il O'reilly ?";

// Affiche : Votre nom est-il O\'reilly ?
echo addslashes($str);
?>

Voir aussi

  • stripcslashes() - Décode une chaîne encodée avec addcslashes
  • stripslashes() - Supprime les antislashs d'une chaîne
  • addcslashes() - Ajoute des slash dans une chaîne, à la mode du langage C
  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • quotemeta() - Protège les métacaractères
  • get_magic_quotes_gpc() - Retourne la configuration actuelle de l'option magic_quotes_gpc

addcslashes
bin2hex
Fonctions sur les chaînes de caractères


Convertit des données binaires en représentation hexadécimale

addslashes
chop
Fonctions sur les chaînes de caractères
PHP Manual

bin2hex

(PHP 4, PHP 5)

bin2hex — Convertit des données binaires en représentation hexadécimale

Description

string bin2hex ( string $str )

Retourne la chaîne str dont tous les caractères sont représentés par leur équivalent hexadécimal. La chaîne retournée est une chaîne ASCII. La conversion supporte les caractères binaires, et utilise les bits de poids forts en premier.

Liste de paramètres

str

Un caractère.

Valeurs de retour

Retourne la représentation hexadécimale de la chaîne fournie.

Voir aussi

  • pack() - Compacte des données dans une chaîne binaire
  • unpack() - Déconditionne des données depuis une chaîne binaire

addslashes
chop
Fonctions sur les chaînes de caractères


Alias de rtrim

bin2hex
chr
Fonctions sur les chaînes de caractères
PHP Manual

chop

(PHP 4, PHP 5)

chop — Alias de rtrim()

Description

Cette fonction est un alias de : rtrim().

Notes

Note: chop() est différente de son équivalent Perl chop(), qui supprime le dernier caractère dans la chaîne.

bin2hex
chr
Fonctions sur les chaînes de caractères


Retourne un caractère à partir de son code ASCII

chop
chunk_split
Fonctions sur les chaînes de caractères
PHP Manual

chr

(PHP 4, PHP 5)

chr — Retourne un caractère à partir de son code ASCII

Description

string chr ( int $ascii )

Retourne une chaîne d'un seul caractère, dont le code ASCII est donné par le paramètre ascii.

Cette fonction complète la fonction ord().

Liste de paramètres

ascii

Le code ascii.

Valeurs de retour

Retourne le caractère à partir de son code ASCII.

Exemples

Exemple #1 Exemple avec chr()

<?php
$str = "The string ends in escape: ";

// Ajoute un caractère d'échappement à la fin de la chaîne $str
$str .= chr(27);

// Ceci est souvent plus pratique, et réalise la même chose

$str = sprintf("The string ends in escape: %c", 27);
?>

Voir aussi

  • sprintf() - Retourne une chaîne formatée avec le caractère de formatage %c
  • ord()
  • La » table ASCII

chop
chunk_split
Fonctions sur les chaînes de caractères


Scinde une chaîne

chr
convert_cyr_string
Fonctions sur les chaînes de caractères
PHP Manual

chunk_split

(PHP 4, PHP 5)

chunk_split — Scinde une chaîne

Description

string chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] )

Scinde la chaîne body en segments de chunklen octets de longueur. Cette fonction est très pratique pour convertir les résultats de base64_encode() au format de la RFC 2045. Elle insère le paramètre end tous les chunklen caractères.

Liste de paramètres

body

La chaîne à scinder.

chunklen

La taille de la portion.

end

Le caractère de fin de la séquence.

Valeurs de retour

Retourne la chaîne scindée.

Exemples

Exemple #1 Exemple avec chunk_split()

<?php
// Formater des données pour suivre la norme RFC 2045
$new_string = chunk_split(base64_encode($data));
?>

Voir aussi

  • str_split() - Convertit une chaîne de caractères en tableau
  • explode() - Coupe une chaîne en segments
  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • wordwrap() - Effectue la césure d'une chaîne
  • » RFC 2045

chr
convert_cyr_string
Fonctions sur les chaînes de caractères


Convertit une chaîne d'un jeu de caractères cyrillique à l'autre

chunk_split
convert_uudecode
Fonctions sur les chaînes de caractères
PHP Manual

convert_cyr_string

(PHP 4, PHP 5)

convert_cyr_string — Convertit une chaîne d'un jeu de caractères cyrillique à l'autre

Description

string convert_cyr_string ( string $str , string $from , string $to )

Convertit une chaîne d'un jeu de caractères cyrillique à l'autre.

Liste de paramètres

str

La chaîne à convertir.

from

Le jeu de caractères cyrillique, comme simple caractère.

to

Le jeu de caractères cyrillique cible, comme simple caractère.

Les caractères supportés sont :

  • k : koi8-r
  • w : windows-1251
  • i : iso8859-5
  • a : x-cp866
  • d : x-cp866
  • m : x-mac-cyrillic

Valeurs de retour

Retourne la chaîne convertie.

Notes

Note: Cette fonction gère les chaînes binaires.

chunk_split
convert_uudecode
Fonctions sur les chaînes de caractères


Décode une chaîne au format uuencode

convert_cyr_string
convert_uuencode
Fonctions sur les chaînes de caractères
PHP Manual

convert_uudecode

(PHP 5)

convert_uudecode — Décode une chaîne au format uuencode

Description

string convert_uudecode ( string $data )

convert_uudecode() décode une chaîne au format uuencode.

Liste de paramètres

data

Les données, au format uuencode.

Valeurs de retour

Retourne les données décodées, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec convert_uudecode()

<?php
/* Pouvez-vous imaginer ce que cela va afficher ? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

Voir aussi

  • convert_uuencode() - Encode une chaîne de caractères en utilisant l'algorithme uuencode

convert_cyr_string
convert_uuencode
Fonctions sur les chaînes de caractères


Encode une chaîne de caractères en utilisant l'algorithme uuencode

convert_uudecode
count_chars
Fonctions sur les chaînes de caractères
PHP Manual

convert_uuencode

(PHP 5)

convert_uuencode — Encode une chaîne de caractères en utilisant l'algorithme uuencode

Description

string convert_uuencode ( string $data )

convert_uuencode()encode une chaîne de caractères en utilisant l'algorithme uuencode.

Uuencode traduit toutes les chaînes (y compris les binaires) en caractères imprimables, pour assurer leur transmission sur Internet. Les données au format uuencode sont environ 35 % plus grandes que les originales.

Liste de paramètres

data

Les données à encoder.

Valeurs de retour

Retourne les données, au format uuencode.

Exemples

Exemple #1 Exemple avec convert_uuencode()

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

Voir aussi

  • convert_uudecode() - Décode une chaîne au format uuencode
  • base64_encode() - Encode une chaîne en MIME base64

convert_uudecode
count_chars
Fonctions sur les chaînes de caractères


Retourne des statistiques sur les caractères utilisés dans une chaîne

convert_uuencode
crc32
Fonctions sur les chaînes de caractères
PHP Manual

count_chars

(PHP 4, PHP 5)

count_chars — Retourne des statistiques sur les caractères utilisés dans une chaîne

Description

mixed count_chars ( string $string [, int $mode = 0 ] )

count_chars() compte le nombre d'occurrences de tous les octets présents dans la chaîne string et retourne différentes statistiques.

Liste de paramètres

string

La chaîne analysée.

mode

Voir les valeurs retournées.

Valeurs de retour

Suivant la valeur de mode, count_chars() retourne les informations suivantes :

  • 0 : un tableau avec l'octet en index, et la fréquence correspondante pour chaque octet.
  • 1 : identique à 0, mais seules les fréquences supérieures à zéro sont listées.
  • 2 : identique à 0, mais seules les fréquences nulles sont listées.
  • 3 : une chaîne contenant tous les octets utilisés est retournée.
  • 4 : une chaîne contenant tous les octets non utilisés est retournée.

Exemples

Exemple #1 Exemple avec count_chars()

<?php
$data = "Deux D et un F.";

foreach (count_chars($data, 1) as $i => $val) {
   echo "Il y a $val occurence(s) de \"" , chr($i) , "\" dans la phrase.\n";
}
?>

L'exemple ci-dessus va afficher :

Il y a 4 occurrence(s) de " " dans la phrase.
Il y a 1 occurrence(s) de "." dans la phrase.
Il y a 2 occurrence(s) de "D" dans la phrase.
Il y a 1 occurrence(s) de "F" dans la phrase.
Il y a 2 occurrence(s) de "e" dans la phrase.
Il y a 1 occurrence(s) de "n" dans la phrase.
Il y a 1 occurrence(s) de "t" dans la phrase.
Il y a 2 occurrence(s) de "u" dans la phrase.
Il y a 1 occurrence(s) de "x" dans la phrase.

Voir aussi

  • strpos() - Trouve la position d'un caractère dans une chaîne
  • substr_count() - Compte le nombre d'occurrences de segments dans une chaîne

convert_uuencode
crc32
Fonctions sur les chaînes de caractères


Calcule la somme de contrôle CRC32

count_chars
crypt
Fonctions sur les chaînes de caractères
PHP Manual

crc32

(PHP 4 >= 4.0.1, PHP 5)

crc32 — Calcule la somme de contrôle CRC32

Description

int crc32 ( string $str )

Génère la somme de contrôle cyclique CRC32, calculée sur 32 bits, et appliquée à la chaîne str. Cette fonction est généralement utilisée pour valider l'intégrité de données durant une transmission.

Comme le type d'entier de PHP est signé, et que de nombreuses sommes de contrôle CRC32 aboutissent à un nombre négatif, vous devez utiliser le format "%u" de la fonction sprintf() ou printf() pour obtenir la représentation littérale de la somme de contrôle CRC32.

Liste de paramètres

str

Les données.

Valeurs de retour

Retourne la somme de contrôle crc32 de la chaîne str, sous la forme d'un entier.

Exemples

Exemple #1 Afficher une somme de contrôle CRC32

Cet exemple illustre comment afficher la somme de contrôle avec la fonction printf() :

<?php
$checksum = crc32("Le vif zéphyr jubile sur les kumquats du clown gracieux.");
printf("%u\n", $checksum);
?>

Voir aussi

  • md5() - Calcule le md5 d'une chaîne
  • sha1() - Calcule le sha1 d'une chaîne de caractères

count_chars
crypt
Fonctions sur les chaînes de caractères


Hachage à sens unique (indéchiffrable)

crc32
echo
Fonctions sur les chaînes de caractères
PHP Manual

crypt

(PHP 4, PHP 5)

crypt — Hachage à sens unique (indéchiffrable)

Description

string crypt ( string $str [, string $salt ] )

Retourne la chaîne str chiffrée avec l'algorithme standard Unix DES, ou bien un des algorithmes disponibles sur la machine.

Certains systèmes supportent plus d'un type de hachage. En fait, il arrive que le chiffrement DES standard soit remplacé par un algorithme de chiffrement MD5. Le choix du type de hachage est effectué en se basant sur la valeur du salt. À l'installation, PHP détermine les possibilités de la fonction crypt(), et acceptera des salt pour d'autres types de chiffrements. Si aucun salt n'est fourni, PHP va en générer deux caractères (DES), à moins que le système par défaut soit MD5, auquel cas un salt compatible MD5 sera généré. PHP définit une constante appelée CRYPT_SALT_LENGTH permettant de vous indiquer la longueur du salt disponible pour le système de hachage utilisé.

crypt(), lorsqu'elle est utilisée avec le chiffrement standard DES, retourne le salt dans les deux premiers caractères de la chaîne retournée. Elle n'utilise que les 8 premiers caractères de str, ce qui fait que toutes les chaînes plus longues, qui ont les mêmes premiers 8 octets retourneront le même résultat (tant que le salt est toujours le même).

Sur les systèmes où crypt() supporte plusieurs types de hachages, les constantes suivantes sont mises à 0 ou 1, suivant que le type correspondant est disponible :

  • CRYPT_STD_DES : chiffrement DES standard à 2 caractères depuis la classe de caractères "./0-9A-Za-z". L'utilisation de caractères invalides dans le salt fera échouer la fonction crypt().
  • CRYPT_EXT_DES : Hachage DES étendu. Le "salt" sera une chaîne de 9 caractères composé d'un underscore, suivi de 4 octets du compteur d'itération puis 4 octets du "salt". Ces caractères seront encodés en tant que caractères imprimables, 6 octets par caractère, et dont le premier caractère au moins sera significatif. Les valeurs de 0 à 63 seront encodés comme "./0-9A-Za-z". L'utilisation de caractères invalides dans le salt fera échouer la fonction crypt().
  • CRYPT_MD5 : hachage MD5 à 12 caractères commençant par $1$
  • CRYPT_BLOWFISH : hachage Blowfish dont le salt est composé comme ceci ; $2a$, un paramètre à 2 chiffres, $, et 22 base 64 chiffres depuis la classe de caractères "./0-9A-Za-z". L'utilisation de caractères en dehors de cette classe dans le salt fera que la fonction crypt() retournera une chaîne vide (de longueur 0). Le paramètre à 2 chiffres est le logarithme base-2 du compteur d'itération pour l'algorithme de hachage basé sur Blowfish sous jacent et doivent être dans l'intervalle 04-31. De la même façon, si vous utilisez une valeur en dehors de cet intervalle, la fonction crypt() échouera.
  • CRYPT_SHA256 - Hachage SHA-256 dont le salt est composé de 16 caractères préfixé par $5$. Si le salt commence par 'rounds=<N>$', la valeur numérique de N sera utilisée pour indiquer le nombre de fois que la boucle de hachage doit être exécutée, un peu comme le paramètre dans l'algorithme Blowfish. La valeur par défaut de rounds est de 5000, le minimum pouvant être de 1000 et le maximum, de 999,999,999. Tout autre sélection de N en dehors de cet intervalle sera tronqué à la plus proche des 2 limites.
  • CRYPT_SHA512 - Hachage SHA-512 dont le salt est composé de 16 caractères préfixé par $6$. Si le salt commence par 'rounds=<N>$', la valeur numérique de N sera utilisée pour indiquer le nombre de fois que la boucle de hachage doit être exécutée, un peu comme le paramètre dans l'algorithme Blowfish. La valeur par défaut de rounds est de 5000, le minimum pouvant être de 1000 et le maximum, de 999,999,999. Tout autre sélection de N en dehors de cet intervalle sera tronqué à la plus proche des 2 limites.

Note: Depuis PHP 5.3.0, PHP dispose de sa propre implémentation, et l'utilisera si le système ne dispose pas de fonction crypt, ou de certains algorithmes.

Liste de paramètres

str

La chaîne à hacher.

salt

Si l'argument salt n'est pas fourni, le comportement est défini par l'implémentation de l'algorithme et peut provoquer des résultats inattendus.

Valeurs de retour

Retourne la chaîne hachée ou une chaîne qui sera inférieure à 13 caractères et qui est garantie de différer du salt en cas d'erreur.

Historique

Version | Description
5.3.2 | Ajout de SHA-256 et de SHA-512 basés sur l'» implementation de Ulrich Drepper.
5.3.2 | Correction du comportement de Blowfish lors d'étape invalide où une chaîne d'échec ("*0" ou "*1") était retournée au lieu de retourner le DES dans ce cas.
5.3.0 | PHP dispose maintenant de sa propre implémentation de crypt MD5, Standard DES, Extended DES et l'algorithme Blowfish. Il l'utilisera si le système ne fournit pas l'un ou l'autre des algorithmes.

Exemples

Exemple #1 Exemple avec crypt()

<?php
// laissons le salt initialisé par PHP
$password = crypt('mypassword');

/*
  Il vaut mieux passer le résultat complet de crypt() comme salt nécessaire
  pour le chiffrement du mot de passe, pour éviter les problèmes entre les
  algorithmes utilisés (comme nous le disons ci-dessus, le chiffrement
  standard DES utilise un salt de 2 caractères, mais un chiffrement
  MD5 utilise un salt de 12).
*/
if (crypt($user_input, $password) == $password) {
   echo "Mot de passe correct !";
}
?>

Exemple #2 Utilisation de crypt() avec htpasswd

<?php
// Définition du mot de passe
$password = 'mypassword';

// Récupération du hash, on laisse le salt se générer automatiquement
$hash = crypt($password);
?>

Exemple #3 Utilisation de crypt() avec différents types de chiffrement

<?php
if (CRYPT_STD_DES == 1) {
    echo 'DES standard : ' . crypt('rasmuslerdorf', 'rl') . "\n";
}

if (CRYPT_EXT_DES == 1) {
    echo 'DES étendu : ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}

if (CRYPT_MD5 == 1) {
    echo 'MD5 :          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}

if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish :     ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA256 == 1) {
    echo 'SHA-256 :      ' . crypt('rasmuslerdorf', '$5$rounds=5000$usesomesillystringforsalt$') . "\n";
}

if (CRYPT_SHA512 == 1) {
    echo 'SHA-512 :      ' . crypt('rasmuslerdorf', '$6$rounds=5000$usesomesillystringforsalt$') . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

DES standard : rl.3StKT.4T8M
DES étendu : _J9..rasmBYk8r9AiWNc
MD5 :          $1$rasmusle$rISCgZzpwk3UhDidwXvin0
Blowfish :     $2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi
SHA-256 :      $5$rounds=5000$usesomesillystri$KqJWpanXZHKq2BOB43TSaYhEWsQ1Lr5QNyPCDH/Tp.6
SHA-512 :      $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21

Notes

Note: Il n'existe pas de fonction de déchiffrement, car la fonction crypt() utilise un algorithme à un seul sens (injection).

Voir aussi

  • md5() - Calcule le md5 d'une chaîne
  • L'extension Mcrypt
  • La page de manuel Unix de la fonction crypt pour plus d'informations

crc32
echo
Fonctions sur les chaînes de caractères


Affiche une chaîne de caractères

crypt
explode
Fonctions sur les chaînes de caractères
PHP Manual

echo

(PHP 4, PHP 5)

echo — Affiche une chaîne de caractères

Description

void echo ( string $arg1 [, string $... ] )

Affiche tous les paramètres.

echo() n'est pas vraiment une fonction (c'est techniquement une structure du langage), cela fait que vous n'êtes pas obligé d'utiliser des parenthèses. echo() (contrairement à d'autres structures de langage) ne se comporte pas comme une fonction, il ne peut donc pas être utilisé dans le contexte d'une fonction. De même, si vous voulez passer plusieurs paramètres à echo(), les paramètres ne doivent pas être entourés de parenthèses.

echo() dispose aussi d'une version courte, où vous pouvez faire suivre la balise PHP ouvrante d'un signe égal (=). Cette syntaxe n'est possible que si la directive de configuration short_open_tag a été activée.

J'ai <?=$foo?> foo.

Liste de paramètres

arg1

Le paramètre à afficher.

...

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec echo()

<?php
echo "Bonjour le monde";

echo "Cet echo() se
répartit sur plusieurs lignes. Il affiche aussi les
nouvelles lignes";

echo "Cet echo() se\nrépartit sur plusieurs lignes. Il affiche aussi les\nnouvelles lignes";

echo "L'échappement de caractères se fait : \"comme ceci\".";

// Vous pouvez utiliser des variables avec echo()
$foo = "foobar";
$bar = "barbaz";

echo "foo is $foo"; // foo vaut foobar

// Vous pouvez aussi utiliser des tableaux
$baz = array("value" => "foo");

echo "this is {$baz['value']} !"; // c'est foo !

// Les guillemets simples annulent le remplacement des variables
echo 'foo is $foo'; // foo vaut $foo

// Si vous n'utilisez pas d'autres caractères,
// vous pouvez afficher plusieurs variables
// en les séparant par des virgules
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Des personnes préfèrent passer plusieurs
// paramètres en utilisant la concaténation
echo 'Cette ', 'chaîne ', 'a été ', 'faite ', 'avec plusieurs paramètres.', chr(10);
echo 'Cette ' . 'chaîne ' . 'a été ' . 'faite ' . 'à l\'aide de la concaténation.' . "\n";

echo <<<END
Cette syntaxe s'intitule le "here document" et
permet d'afficher plusieurs lignes avec de
l'interpolation de variables. Notez que la fin de
la syntaxe doit apparaître sur une nouvelle ligne,
avec uniquement un point-virgule, et pas d'espace
de plus !
END;

// parce que echo() ne se comporte pas comme une fonction, le code suivant n'est pas valide.
($some_var) ? echo 'true' : echo 'false';

// Cependant, les lignes suivantes sont valides :
($some_var) ? print 'Oui' : print 'Non'; // print est aussi une structure de langage, mais
                                   // il se comporte comme une fonction, donc,
                                   // il peut être utilisé dans ce contexte.
echo $some_var ? 'Oui': 'Non';
?>

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Voir aussi

  • print() - Affiche une chaîne de caractères
  • printf() - Affiche une chaîne de caractères formatée
  • flush() - Vide les tampons de sortie
  • Syntaxe Heredoc

crypt
explode
Fonctions sur les chaînes de caractères


Coupe une chaîne en segments

echo
fprintf
Fonctions sur les chaînes de caractères
PHP Manual

explode

(PHP 4, PHP 5)

explode — Coupe une chaîne en segments

Description

array explode ( string $delimiter , string $string [, int $limit ] )

explode() retourne un tableau de chaînes, chacune d'elle étant une sous-chaîne du paramètre string extraite en utilisant le séparateur delimiter.

Liste de paramètres

delimiter

Le séparateur.

string

La chaîne initiale.

limit

Si limit est défini et positif, le tableau retourné contient, au maximum, limit éléments, et le dernier élément contiendra le reste de la chaîne.

Si le paramètre limit est négatif, tous les éléments, excepté les -limit derniers éléments sont retournés.

Si limit vaut zéro, il est traité comme valant 1.

Bien que implode() puisse, pour des raisons historiques, accepter ces paramètres dans n'importe quel ordre, explode() ne le peut pas. Vous devez vous assurer que le paramètre delimiter soit placé avant le paramètre string.

Valeurs de retour

Retourne un tableau de chaînes de caractères créées en découpant la chaîne du paramètre string en plusieurs morceaux suivant le paramètre delimiter.

Si delimiter est une chaîne vide (""), explode() retournera FALSE. Si delimiter contient une valeur qui n'est pas contenue dans string ainsi qu'une valeur négative pour le paramètre limit, alors explode() retournera un tableau vide, sinon, un tableau contenant la chaîne string entière.

Historique

Version | Description
5.1.0 | Le paramètre limit peut désormais être négatif
4.0.1 | Le paramètre limit a été ajouté

Exemples

Exemple #1 Exemple avec explode()

<?php
// Exemple 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Exemple 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Exemple #2 Exemple avec explode()

<?php
$str = 'one|two|three|four';

// limit positif
print_r(explode('|', $str, 2));

// limit négatif (depuis PHP 5.1)
print_r(explode('|', $str, -1));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • preg_split() - Éclate une chaîne par expression rationnelle
  • str_split() - Convertit une chaîne de caractères en tableau
  • str_word_count() - Compte le nombre de mots utilisés dans une chaîne
  • strtok() - Coupe une chaîne en segments
  • implode() - Rassemble les éléments d'un tableau en une chaîne

echo
fprintf
Fonctions sur les chaînes de caractères


Écrit une chaîne formatée dans un flux

explode
get_html_translation_table
Fonctions sur les chaînes de caractères
PHP Manual

fprintf

(PHP 5)

fprintf — Écrit une chaîne formatée dans un flux

Description

int fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] )

Écrit la chaîne produite avec le format format dans le flux représenté par handle.

Liste de paramètres

handle

Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().

format

Voir la documentation sur la fonction sprintf() pour une description du paramètre format.

args

...

Valeurs de retour

Retourne la longueur de la chaîne écrite.

Exemples

Exemple #1 fprintf() : Entiers avec zéros initiaux

<?php
if (!($fp = fopen('date.txt', 'w'))) {
    return;
}

fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// écrira la date formatée ISO dans le fichier date.txt
?>

Exemple #2 fprintf() : Format monétaire

<?php
if (!($fp = fopen('currency.txt', 'w'))) {
    return;
}

$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money affichera "123.1";
$len = fprintf($fp, '%01.2f', $money);
// écrira "123.10" dans le fichier currency.txt

echo "écriture de $len octets dans le fichier currency.txt";
// utilisez la valeur retournée par fprintf pour déterminer le nombre d'octets écrits
?>

Voir aussi

  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • fscanf() - Analyse un fichier en fonction d'un format
  • vsprintf() - Retourne une chaîne formatée
  • number_format() - Formate un nombre pour l'affichage

explode
get_html_translation_table
Fonctions sur les chaînes de caractères


Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities

fprintf
hebrev
Fonctions sur les chaînes de caractères
PHP Manual

get_html_translation_table

(PHP 4, PHP 5)

get_html_translation_table — Retourne la table de traduction des entités utilisée par htmlspecialchars() et htmlentities()

Description

array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $quote_style = ENT_COMPAT ]] )

get_html_translation_table() retourne la table de traduction des entités utilisée en interne par les fonctions htmlspecialchars() et htmlentities(), avec le jeu de caractères par défaut.

Note: Les caractères spéciaux peuvent être encodés de différentes façon. E.g. " peut être encodé comme &quot;, &#34; ou &#x22. get_html_translation_table() retourne uniquement la forme la plus courante d'encodage.

Liste de paramètres

table

Il existe deux constantes (HTML_ENTITIES et HTML_SPECIALCHARS), qui vous permettent de spécifier la table que vous souhaitez.

quote_style

Et comme dans les fonctions htmlspecialchars() et htmlentities(), vous pouvez optionnellement spécifier le type de guillemets que vous voulez utiliser. Pour la description de ces modes, reportez-vous à htmlspecialchars().

Valeurs de retour

Retourne la table de traduction, sous la forme d'un tableau.

Exemples

Exemple #1 Exemple avec la table de traduction des caractères en entités HTML

<?php
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "Hallo & <Frau> & Krämer";
$encoded = strtr($str, $trans);

echo $encoded;
?>

L'exemple ci-dessus va afficher :

Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer

Voir aussi

  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • html_entity_decode() - Convertit toutes les entités HTML en caractères normaux

fprintf
hebrev
Fonctions sur les chaînes de caractères


Convertit un texte logique hébreux en texte visuel

get_html_translation_table
hebrevc
Fonctions sur les chaînes de caractères
PHP Manual

hebrev

(PHP 4, PHP 5)

hebrev — Convertit un texte logique hébreux en texte visuel

Description

string hebrev ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

Convertit un texte logique hébreux en texte visuel.

La fonction tente d'éviter la césure des mots.

Liste de paramètres

hebrew_text

Une chaîne d'entrée en hébreux.

max_chars_per_line

Le paramètre optionnel max_chars_per_line indique le nombre maximum de caractères par ligne dans le résultat.

Valeurs de retour

Retourne la chaîne visuelle.

Voir aussi

  • hebrevc() - Convertit un texte logique hébreux en texte visuel, avec retours à la ligne

get_html_translation_table
hebrevc
Fonctions sur les chaînes de caractères


Convertit un texte logique hébreux en texte visuel, avec retours à la ligne

hebrev
html_entity_decode
Fonctions sur les chaînes de caractères
PHP Manual

hebrevc

(PHP 4, PHP 5)

hebrevc — Convertit un texte logique hébreux en texte visuel, avec retours à la ligne

Description

string hebrevc ( string $hebrew_text [, int $max_chars_per_line = 0 ] )

hebrevc() est similaire à hebrev() à la différence qu'elle convertit les nouvelles lignes (\n) en "<br>\n".

La fonction tente d'éviter la césure des mots.

Liste de paramètres

hebrew_text

Une chaîne d'entrée en hébreux.

max_chars_per_line

Le paramètre optionnel max_chars_per_line indique le nombre maximum de caractères par lignes dans le résultat.

Valeurs de retour

Retourne la chaîne visuelle.

Voir aussi

  • hebrev() - Convertit un texte logique hébreux en texte visuel

hebrev
html_entity_decode
Fonctions sur les chaînes de caractères


Convertit toutes les entités HTML en caractères normaux

hebrevc
htmlentities
Fonctions sur les chaînes de caractères
PHP Manual

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode — Convertit toutes les entités HTML en caractères normaux

Description

string html_entity_decode ( string $string [, int $quote_style = ENT_COMPAT [, string $charset ]] )

html_entity_decode() est la fonction contraire de htmlentities() : elle convertit les entités HTML de la chaîne string en caractères normaux.

Liste de paramètres

string

La chaîne d'entrée.

quote_style

Le paramètre optionnel quote_style vous permet de définir ce qu'il adviendra des guillemets simples et doubles. Ce paramètre prend l'une des valeurs suivantes (et la valeur par défaut est ENT_COMPAT) :

Constantes disponibles pour quote_style
Constante | Description
ENT_COMPAT | Convertit les guillemets doubles et ignore les guillemets simples.
ENT_QUOTES | Convertit les guillemets doubles et les guillemets simples.
ENT_NOQUOTES | Ne convertit aucun guillemet.

charset

Le jeu de caractères ISO-8859-1 est utilisé par défaut, comme paramètre charset. Ce paramètre permet de choisir le jeu de caractères utilisé dans la conversion.

Les jeux de caractères suivants sont disponibles et supportés par PHP 4.3.0 et plus récent.

Jeux de caractères supportés
Jeux de caractères | Alias | Description
ISO-8859-1 | ISO8859-1 | Europe occidentale, Latin-1
ISO-8859-15 | ISO8859-15 | Europe occidentale, Latin-9. Dispose du signe Euro, des caractères spéciaux français et finlandais, qui manquent au Latin-1(ISO-8859-1).
UTF-8 | Unicode 8 bits multioctets, compatible avec l'ASCII
cp866 | ibm866, 866 | Jeu de caractères Cyrillic spécifique à DOS. Ce jeu de caractères est supporté depuis PHP 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Jeu de caractères Cyrillic spécifique à Windows. Ce jeu de caractères est supporté depuis PHP 4.3.2.
cp1252 | Windows-1252, 1252 | Jeu de caractères spécifique de Windows pour l'Europe occidentale.
KOI8-R | koi8-ru, koi8r | Russe. Ce jeu de caractères est supporté depuis PHP 4.3.2.
BIG5 | 950 | Chinois traditionnel, principalement utilisé à Taïwan.
GB2312 | 936 | Chinois simplifié, officiel.
BIG5-HKSCS | Big5 avec les extensions de Hong Kong, chinois traditionnel.
Shift_JIS | SJIS, 932 | Japonais
EUC-JP | EUCJP | Japonais

Note: Les autres jeux de caractères ne sont pas reconnus, et le ISO-8859-1 sera utilisé à la place.

Valeurs de retour

Retourne la chaîne décodée.

Historique

Version | Description
5.0.0 | Le support des jeux de caractères multi-octets a été ajouté.

Exemples

Exemple #1 Décoder des entités HTML

<?php
$orig = 'J\'ai "sorti" le <strong>chien</strong> tout à l\'heure';
$a = htmlentities($orig);
$b = html_entity_decode($a);

echo $a; // J'ai &quot;sorti&quot; le &lt;strong&gt;chien&lt;/strong&gt; tout &amp;agrave; l'heure
echo $b; // J'ai "sorti" le <strong>chien</strong> tout à l'heure

// Pour les utilisateurs ayant des versions antérieures à PHP 4.3.0 :
function unhtmlentities($string)
{
   // Remplace les entités numériques
    $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
    $string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
   // Remplace les entités litérales
    $trans_tbl = get_html_translation_table(HTML_ENTITIES);
    $trans_tbl = array_flip($trans_tbl);
    return strtr($string, $trans_tbl);
}

$c = unhtmlentities($a);

echo $c; // J'ai "sorti" le <strong>chien</strong> tout à l'heure

?>

Notes

Note: Vous pourriez vous demander pourquoi trim(html_entity_decode('&nbsp;')); ne réduit pas la chaîne à la chaîne vide. C'est parce que l'entité &nbsp; n'est pas un code ASCII 32 (qui serait supprimé par trim()), mais un code ASCII 160 (0xa0) dans le jeu de caractères par défaut ISO 8859-1.

Voir aussi

  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • get_html_translation_table() - Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities
  • urldecode() - Décode une chaîne encodée URL

hebrevc
htmlentities
Fonctions sur les chaînes de caractères


Convertit tous les caractères éligibles en entités HTML

html_entity_decode
htmlspecialchars_decode
Fonctions sur les chaînes de caractères
PHP Manual

htmlentities

(PHP 4, PHP 5)

htmlentities — Convertit tous les caractères éligibles en entités HTML

Description

string htmlentities ( string $string [, int $quote_style = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

htmlentities() est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.

Si vous voulez réaliser l'opération inverse, vous devez utiliser la fonction html_entity_decode().

Liste de paramètres

string

La chaîne d'entrée.

quote_style

Comme htmlspecialchars(), cette fonction prend un deuxième argument optionnel, qui indique comment doivent être traités les guillemets doubles et simples. Vous pouvez utiliser l'une des constantes suivantes la valeur par défaut étant ENT_COMPAT :

Constantes disponibles pour quote_style
Constante | Description
ENT_COMPAT | Convertit les guillemets doubles, et ignore les guillemets simples.
ENT_QUOTES | Convertit les guillemets doubles et les guillemets simples.
ENT_NOQUOTES | Ignore les guillemets doubles et les guillemets simples.

charset

Comme htmlspecialchars(), cette fonction prend un troisième argument optionnel charset qui définit le jeu de caractères utilisé durant la conversion. Actuellement, le jeu de caractères ISO-8859-1 est utilisé par défaut.

Les jeux de caractères suivants sont disponibles et supportés par PHP 4.3.0 et plus récent.

Jeux de caractères supportés
Jeux de caractères | Alias | Description
ISO-8859-1 | ISO8859-1 | Europe occidentale, Latin-1
ISO-8859-15 | ISO8859-15 | Europe occidentale, Latin-9. Dispose du signe Euro, des caractères spéciaux français et finlandais, qui manquent au Latin-1(ISO-8859-1).
UTF-8 | Unicode 8 bits multioctets, compatible avec l'ASCII
cp866 | ibm866, 866 | Jeu de caractères Cyrillic spécifique à DOS. Ce jeu de caractères est supporté depuis PHP 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Jeu de caractères Cyrillic spécifique à Windows. Ce jeu de caractères est supporté depuis PHP 4.3.2.
cp1252 | Windows-1252, 1252 | Jeu de caractères spécifique de Windows pour l'Europe occidentale.
KOI8-R | koi8-ru, koi8r | Russe. Ce jeu de caractères est supporté depuis PHP 4.3.2.
BIG5 | 950 | Chinois traditionnel, principalement utilisé à Taïwan.
GB2312 | 936 | Chinois simplifié, officiel.
BIG5-HKSCS | Big5 avec les extensions de Hong Kong, chinois traditionnel.
Shift_JIS | SJIS, 932 | Japonais
EUC-JP | EUCJP | Japonais

Note: Les autres jeux de caractères ne sont pas reconnus, et le ISO-8859-1 sera utilisé à la place.

double_encode

Lorsque double_encode est désactivé, PHP n'encodera pas les entités html existantes. Par défaut, tout est convertie.

Valeurs de retour

Retourne la chaîne encodée.

Historique

Version | Description
5.2.3 | Ajout du paramètre double_encode.
4.1.0 | Ajout du paramètre charset.
4.0.3 | Ajout du paramètre quote_style.

Exemples

Exemple #1 Exemple avec htmlentities()

<?php
$str = 'Un \'apostrophe\' en <strong>gras</strong>';

// Affiche : Un 'apostrophe' en &lt;strong&gt;gras&lt;/strong&gt;
echo htmlentities($str);

// Affiche : Un &#039;apostrophe&#039; en &lt;strong&gt;gras&lt;/strong&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Voir aussi

  • html_entity_decode() - Convertit toutes les entités HTML en caractères normaux
  • get_html_translation_table() - Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities
  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • nl2br() - Insère un retour à la ligne HTML à chaque nouvelle ligne
  • urlencode() - Encode une chaîne en URL

html_entity_decode
htmlspecialchars_decode
Fonctions sur les chaînes de caractères


Convertit les entités HTML spéciales en caractères

htmlentities
htmlspecialchars
Fonctions sur les chaînes de caractères
PHP Manual

htmlspecialchars_decode

(PHP 5 >= 5.1.0)

htmlspecialchars_decode — Convertit les entités HTML spéciales en caractères

Description

string htmlspecialchars_decode ( string $string [, int $quote_style = ENT_COMPAT ] )

Cette fonction est l'opposée de htmlspecialchars(). Elle convertit les entités HTML spéciales en caractères.

Les entités converties sont : &amp;, &quot; (lorsque ENT_NOQUOTES n'est pas activée), &#039; (lorsque ENT_QUOTES est activée), &lt; et &gt;.

Liste de paramètres

string

La chaîne de caractères à décoder

quote_style

Le style de guillemets. Une des constantes suivantes :

Constantes quote_style
Nom de la Constante | Description
ENT_COMPAT | Convertira les guillemets et laissera les apostrophes (valeur par défaut)
ENT_QUOTES | Convertira les guillemets et les apostrophes
ENT_NOQUOTES | Laissera les guillemets et les apostrophes non convertis

Valeurs de retour

Retourne la chaîne de caractères décodée.

Exemples

Exemple #1 Exemple avec htmlspecialchars_decode()

<?php
$str = '<p>this -&gt; &quot;</p>';

echo htmlspecialchars_decode($str);

// notez ici que les guillemets ne sont pas convertis
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

L'exemple ci-dessus va afficher :

<p>this -> "</p>
<p>this -> &quot;</p>

Voir aussi

  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • html_entity_decode() - Convertit toutes les entités HTML en caractères normaux
  • get_html_translation_table() - Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities

htmlentities
htmlspecialchars
Fonctions sur les chaînes de caractères


Convertit les caractères spéciaux en entités HTML

htmlspecialchars_decode
implode
Fonctions sur les chaînes de caractères
PHP Manual

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars — Convertit les caractères spéciaux en entités HTML

Description

string htmlspecialchars ( string $string [, int $quote_style = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

Certains caractères ont des significations spéciales en HTML, et doivent être remplacés par des entités HTML pour être affichés. htmlspecialchars() remplace tous ces caractères par leur équivalent dans la chaîne string. Cette conversion est très pratique pour la programmation web. Si vous devez remplacer tous les caractères, utilisez plutôt htmlentities() à la place.

htmlspecialchars() est pratique pour éviter que des données fournies par les utilisateurs contiennent des balises HTML, comme pour un forum ou un chat.

Les remplacements effectués sont :

  • "&" (et commercial) devient "&amp;"
  • """ (guillemets doubles) devient "&quot;" lorsque ENT_NOQUOTES n'est pas utilisée.
  • "'" (guillemet simple) devient "&#039;" uniquement lorsque ENT_QUOTES est utilisée.
  • "<" (inférieur à) devient "&lt;"
  • ">" (supérieur à) devient "&gt;"

Liste de paramètres

string

La chaîne à convertir.

quote_style

L'argument optionnel quote_style indique comment doivent être traités les guillemets doubles et simples. Vous pouvez utiliser l'une des constantes suivantes : ENT_COMPAT, la constante par défaut, va convertir les guillemets doubles et ignorer les guillemets simples; ENT_QUOTES va convertir les guillemets doubles et les guillemets simples; ENT_NOQUOTES va ignorer les guillemets doubles et les guillemets simples.

charset

Jeu de caractères utilisé lors de la conversion. Par défaut, vaut ISO-8859-1.

Pour cette fonction, les jeux de caractères ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252, et KOI8-R sont équivalents, dans le sens où les caractères affectés par la fonction htmlspecialchars() occupent la même position dans tous ces jeux de caractères.

Les jeux de caractères suivants sont disponibles et supportés par PHP 4.3.0 et plus récent.

Jeux de caractères supportés
Jeux de caractères | Alias | Description
ISO-8859-1 | ISO8859-1 | Europe occidentale, Latin-1
ISO-8859-15 | ISO8859-15 | Europe occidentale, Latin-9. Dispose du signe Euro, des caractères spéciaux français et finlandais, qui manquent au Latin-1(ISO-8859-1).
UTF-8 | Unicode 8 bits multioctets, compatible avec l'ASCII
cp866 | ibm866, 866 | Jeu de caractères Cyrillic spécifique à DOS. Ce jeu de caractères est supporté depuis PHP 4.3.2.
cp1251 | Windows-1251, win-1251, 1251 | Jeu de caractères Cyrillic spécifique à Windows. Ce jeu de caractères est supporté depuis PHP 4.3.2.
cp1252 | Windows-1252, 1252 | Jeu de caractères spécifique de Windows pour l'Europe occidentale.
KOI8-R | koi8-ru, koi8r | Russe. Ce jeu de caractères est supporté depuis PHP 4.3.2.
BIG5 | 950 | Chinois traditionnel, principalement utilisé à Taïwan.
GB2312 | 936 | Chinois simplifié, officiel.
BIG5-HKSCS | Big5 avec les extensions de Hong Kong, chinois traditionnel.
Shift_JIS | SJIS, 932 | Japonais
EUC-JP | EUCJP | Japonais

Note: Les autres jeux de caractères ne sont pas reconnus, et le ISO-8859-1 sera utilisé à la place.

double_encode

Lorsque le paramètre double_encode est désactivé, PHP n'encodera pas les entités html existants ; par défaut, tout est converti.

Valeurs de retour

La chaîne convertie.

Historique

Version | Description
5.2.3 | Ajout du paramètre double_encode.
4.1.0 | Ajout du paramètre charset.

Exemples

Exemple #1 Exemple avec htmlspecialchars()

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Notes

Note: Notez que cette fonction ne fait aucun autre remplacement que ceux qui sont listés ci-dessus. Pour faire un remplacement total, voyez plutôt htmlentities().

Voir aussi

  • get_html_translation_table() - Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities
  • htmlspecialchars_decode() - Convertit les entités HTML spéciales en caractères
  • strip_tags() - Supprime les balises HTML et PHP d'une chaîne
  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • nl2br() - Insère un retour à la ligne HTML à chaque nouvelle ligne

htmlspecialchars_decode
implode
Fonctions sur les chaînes de caractères


Rassemble les éléments d'un tableau en une chaîne

htmlspecialchars
join
Fonctions sur les chaînes de caractères
PHP Manual

implode

(PHP 4, PHP 5)

implode — Rassemble les éléments d'un tableau en une chaîne

Description

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

Rassemble les éléments d'un tableau en une chaîne.

Note: implode() peut, pour des raisons historiques, accepter les paramètres dans un sens ou dans l'autre. Pour des raisons de cohérence avec explode(), toutefois, il est préférable d'utiliser l'ordre des arguments tels que documenté.

Liste de paramètres

glue

Par défaut, il vaut la chaîne vide ''. Ce n'est pas l'utilisation recommandée de la fonction implode(). Nous vous recommandons de toujours utiliser les deux paramètres pour être compatible avec les anciennes versions.

pieces

Le tableau de chaînes à rassembler.

Valeurs de retour

Retourne une chaîne contenant la représentation en chaîne de caractères de tous les éléments du tableau pieces, dans le même ordre, avec la chaîne glue, placée entre deux éléments.

Historique

Version | Description
4.3.0 | Le paramètre glue devient optionnel.

Exemples

Exemple #1 Exemple avec implode()

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • explode() - Coupe une chaîne en segments
  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle

htmlspecialchars
join
Fonctions sur les chaînes de caractères


Alias de implode

implode
lcfirst
Fonctions sur les chaînes de caractères
PHP Manual

join

(PHP 4, PHP 5)

join — Alias de implode()

Description

Cette fonction est un alias de : implode().

implode
lcfirst
Fonctions sur les chaînes de caractères


Met le premier caractère en minuscule

join
levenshtein
Fonctions sur les chaînes de caractères
PHP Manual

lcfirst

(PHP 5 >= 5.3.0)

lcfirst — Met le premier caractère en minuscule

Description

string lcfirst ( string $str )

Retourne une chaîne dont le premier caractère de str a été mis en minuscule, si ce caractère est un caractère alphabétique.

Notez que 'alphabétique' est déterminé par la locale courante. Actuellement, dans la locale par défaut "C", les caractères comme a-umlaut (ä) ne sera pas converti.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne résultante.

Exemples

Exemple #1 Exemple avec lcfirst()

<?php
$foo = 'HelloWorld';
$foo = lcfirst($foo);             // helloWorld

$bar = 'HELLO WORLD!';
$bar = lcfirst($bar);             // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
?>

Voir aussi

  • ucfirst() - Met le premier caractère en majuscule
  • strtolower() - Renvoie une chaîne en minuscules
  • strtoupper() - Renvoie une chaîne en majuscules
  • ucwords() - Met en majuscule la première lettre de tous les mots

join
levenshtein
Fonctions sur les chaînes de caractères


Calcule la distance Levenshtein entre deux chaînes

lcfirst
localeconv
Fonctions sur les chaînes de caractères
PHP Manual

levenshtein

(PHP 4 >= 4.0.1, PHP 5)

levenshtein — Calcule la distance Levenshtein entre deux chaînes

Description

int levenshtein ( string $str1 , string $str2 )
int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )

La distance Levenshtein est définie comme le nombre minimal de caractères qu'il faut remplacer, insérer ou modifier pour transformer la chaîne str1 en str2. La complexité de l'algorithme est en O(m*n), où n et m sont les tailles respectives de str1 et str2 : c'est plutôt bien, en comparaison de similar_text(), qui est en O(max(n,m)**3), mais cela reste très coûteux.

Dans sa forme la plus simple, levenshtein() va prendre uniquement deux chaînes de caractères comme paramètres, et calculer simplement le nombre d'insertions, de remplacements et d'effacements nécessaires pour transformer str1 en str2.

La deuxième variante de la fonction prend trois paramètres supplémentaires qui représentent les coûts d'insertions, de remplacements et d'effacements. C'est une version plus générale de la première fonction, mais qui est un peu moins efficace.

Liste de paramètres

str1

Une des chaînes à évaluer.

str2

Une des chaînes à évaluer.

cost_ins

Définit le coût de l'insertion.

cost_rep

Définit le coût du remplacement.

cost_del

Définit le coût de l'effacement.

Valeurs de retour

Retourne la distance Levenshtein entre deux chaînes de caractères. Elle retournera -1 si l'un des deux arguments contient plus de 255 caractères.

Exemples

Exemple #1 Exemple avec levenshtein()

<?php
// mot mal orthographié
$input = 'carrrot';

// tableau de mots à vérifier
$words  = array('apple','pineapple','banana','orange',
                'radish','carrot','pea','bean','potato');

// aucune distance de trouvée pour le moment
$shortest = -1;

// boucle sur les des mots pour trouver le plus près
foreach ($words as $word) {

    // calcule la distance avec le mot mis en entrée,
    // et le mot courant
    $lev = levenshtein($input, $word);

    // cherche une correspondance exacte
    if ($lev == 0) {

        // le mot le plus près est celui-ci (correspondance exacte)
        $closest = $word;
        $shortest = 0;

        // on sort de la boucle ; nous avons trouvé une correspondance exacte
        break;
    }

    // Si la distance est plus petite que la prochaine distance trouvée
    // OU, si le prochain mot le plus près n'a pas encore été trouvé
    if ($lev <= $shortest || $shortest < 0) {
        // définition du mot le plus près ainsi que la distance
        $closest  = $word;
        $shortest = $lev;
    }
}

echo "Mot entré : $input\n";
if ($shortest == 0) {
    echo "Correspondance exacte trouvée : $closest\n";
} else {
    echo "Vous voulez dire : $closest ?\n";
}

?>

L'exemple ci-dessus va afficher :

Mot entré : carrrot
Vous voulez dire : carrot ?

Voir aussi

  • soundex() - Calcule la clé soundex
  • similar_text() - Calcule la similarité de deux chaînes
  • metaphone() - Calcule la clé metaphone

lcfirst
localeconv
Fonctions sur les chaînes de caractères


Lit la configuration locale

levenshtein
ltrim
Fonctions sur les chaînes de caractères
PHP Manual

localeconv

(PHP 4 >= 4.0.5, PHP 5)

localeconv — Lit la configuration locale

Description

array localeconv ( void )

Retourne un tableau associatif contenant les informations de formats localisées pour les nombres et la monnaie.

Valeurs de retour

localeconv() retourne les formats en fonction de la configuration effectuée avec setlocale(). Le tableau associatif qui est retourné contient les index suivants :

Index du tableau | Description
decimal_point | Séparateur décimal
thousands_sep | Séparateur de milliers
grouping | Tableau contenant les regroupements numériques
int_curr_symbol | Symbole monétaire international (i.e. EUR)
currency_symbol | Symbole monétaire local (i.e. ¤)
mon_decimal_point | Séparateur décimal monétaire
mon_thousands_sep | Séparateur de milliers monétaires
mon_grouping | Tableau contenant les regroupements numériques monétaires
positive_sign | Signe des valeurs positives
negative_sign | Signe des valeurs négatives
int_frac_digits | Nombre international de décimales
frac_digits | Nombre local de décimales
p_cs_precedes | TRUE si le currency_symbol précède une valeur positive et FALSE s'il lui succède.
p_sep_by_space | TRUE si un espace sépare currency_symbol d'une valeur positive, et FALSE sinon.
n_cs_precedes | TRUE si currency_symbol précède une valeur négative, et FALSE s'il lui succède.
n_sep_by_space | TRUE si un espace sépare currency_symbol d'une valeur négative, et FALSE sinon.
p_sign_posn
  • 0 - Des parenthèses entourent la valeur et le symbole monétaire
  • 1 - Le signe précède la valeur et le symbole monétaire
  • 2 - Le signe suit la valeur et le symbole monétaire
  • 3 - Le signe précède immédiatement la valeur et le symbole monétaire
  • 4 - Le signe suit immédiatement la valeur et le symbole monétaire
n_sign_posn
  • 0 - Des parenthèses entourent la valeur et le symbole monétaire
  • 1 - Le signe précède la valeur et le symbole monétaire
  • 2 - Le signe suit la valeur et le symbole monétaire
  • 3 - Le signe précède immédiatement la valeur et le symbole monétaire
  • 4 - Le signe suit immédiatement la valeur et le symbole monétaire

Les champs p_sign_posn et n_sign_posn contiennent une chaîne formatée d'options. Chaque nombre représente une des conditions listées ci-dessus.

Les champs de regroupements contiennent des tableaux qui définissent la manière dont les nombres doivent être regroupés. Par exemple, le champ de regroupement monétaire pour nl_NL (en mode UTF-8 avec le signe euro), contiendra deux éléments, avec les valeurs 3 et 3. Si un élément de tableau contient CHAR_MAX, aucun autre regroupement n'est fait. Si un élément de tableau contient 0, l'élément précédent doit être utilisé.

Exemples

Exemple #1 Exemple avec localeconv()

<?php
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
    $locale_info = localeconv();
    print_r($locale_info);
}
?>

L'exemple ci-dessus va afficher :

Array
(
    [decimal_point] => .
    [thousands_sep] =>
    [int_curr_symbol] => EUR
    [currency_symbol] => ¤
    [mon_decimal_point] => ,
    [mon_thousands_sep] =>
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 1
    [p_sep_by_space] => 1
    [n_cs_precedes] => 1
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 2
    [grouping] => Array
        (
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Voir aussi

  • setlocale() - Modifie les informations de localisation

levenshtein
ltrim
Fonctions sur les chaînes de caractères


Supprime les espaces (ou d'autres caractères) de début de chaîne

localeconv
md5_file
Fonctions sur les chaînes de caractères
PHP Manual

ltrim

(PHP 4, PHP 5)

ltrim — Supprime les espaces (ou d'autres caractères) de début de chaîne

Description

string ltrim ( string $str [, string $charlist ] )

Supprime les espaces (ou d'autres caractères) de début de chaîne.

Liste de paramètres

str

La chaîne d'entrée.

charlist

Il est aussi possible de spécifier les caractères à supprimer en utilisant le paramètre charlist. Listez simplement les caractères que vous voulez supprimer dans ce paramètre. Avec .., vous pourrez spécifier des intervalles de caractères.

Valeurs de retour

Cette fonction retourne la chaîne str, après avoir supprimé les caractères invisibles de début de chaîne. Si le second paramètre charlist a été omis, ltrim() supprimera les caractères suivants :

  • " " (ASCII 32 (0x20)), un espace ordinaire.
  • "\t" (ASCII 9 (0x09)), une tabulation.
  • "\n" (ASCII 10 (0x0A)), une nouvelle ligne (line feed).
  • "\r" (ASCII 13 (0x0D)), un retour chariot (carriage return).
  • "\0" (ASCII 0 (0x00)), le caractère NUL.
  • "\x0B" (ASCII 11 (0x0B)), une tabulation verticale.

Historique

Version | Description
4.1.0 | Ajout du paramètre charlist.

Exemples

Exemple #1 Exemple avec ltrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = ltrim($text);
var_dump($trimmed);

$trimmed = ltrim($text, " \t.");
var_dump($trimmed);

$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);

// Supprime les caractères de contrôle ASCII du début de $binary
// (de 0 à 31, inclusif)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

L'exemple ci-dessus va afficher :

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "These are a few words :) ...  "
string(30) "These are a few words :) ...  "
string(7) "o World"
string(15) "Example string
"

Voir aussi

  • trim() - Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
  • rtrim() - Supprime les espaces (ou d'autres caractères) de fin de chaîne

localeconv
md5_file
Fonctions sur les chaînes de caractères


Calcule le md5 d'un fichier

ltrim
md5
Fonctions sur les chaînes de caractères
PHP Manual

md5_file

(PHP 4 >= 4.2.0, PHP 5)

md5_file — Calcule le md5 d'un fichier

Description

string md5_file ( string $filename [, bool $raw_output = false ] )

md5_file() calcule le MD5 du fichier filename en utilisant l'algorithme » RSA Data Security, Inc. MD5 Message-Digest Algorithm, puis retourne la valeur ainsi calculée. Le résultat est un nombre de 32 caractères hexadécimaux.

Liste de paramètres

filename

Le nom du fichier

raw_output

Lorsque TRUE, retourne le prétraitement en format binaire brut avec une grandeur de 16.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, FALSE autrement.

Historique

Version | Description
5.0.0 | Ajout du paramètre raw_output
5.1.0 | La fonction a changé pour utiliser les flux API. Cela signifie que vous pouvez l'utiliser avec des enveloppes, comme md5_file('http://example.com/..')

Exemples

Exemple #1 Exemple d'utilisation de md5_file()

<?php
$file = 'php-5.3.0alpha2-Win32-VC9-x64.zip';

echo 'La signature MD5 du fichier ' . $file . ' est ' . md5_file($file);
?>

Voir aussi

  • md5() - Calcule le md5 d'une chaîne
  • sha1_file() - Calcule le sha1 d'un fichier
  • crc32() - Calcule la somme de contrôle CRC32

ltrim
md5
Fonctions sur les chaînes de caractères


Calcule le md5 d'une chaîne

md5_file
metaphone
Fonctions sur les chaînes de caractères
PHP Manual

md5

(PHP 4, PHP 5)

md5 — Calcule le md5 d'une chaîne

Description

string md5 ( string $str [, bool $raw_output = false ] )

Calcule le MD5 de la chaîne de caractères str en utilisant l'algorithme » RSA Data Security, Inc. MD5 Message-Digest Algorithm, et retourne le résultat.

Liste de paramètres

str

La chaîne.

raw_output

Si le paramètre optionnel raw_output est défini à TRUE, alors le md5 est retourné au format binaire brut avec une longueur de 16.

Valeurs de retour

Retourne le md5 de la chaîne, sous la forme d'un nombre hexadécimal de 32 caractères.

Historique

Version | Description
5.0.0 | Ajout du paramètre raw_output.

Exemples

Exemple #1 Exemple avec md5()

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Voulez-vous une golden ou une spartan?";
}
?>

Voir aussi

  • md5_file() - Calcule le md5 d'un fichier
  • sha1_file() - Calcule le sha1 d'un fichier
  • crc32() - Calcule la somme de contrôle CRC32
  • sha1() - Calcule le sha1 d'une chaîne de caractères
  • hash() - Génère une valeur de hachage (empreinte numérique)

md5_file
metaphone
Fonctions sur les chaînes de caractères


Calcule la clé metaphone

md5
money_format
Fonctions sur les chaînes de caractères
PHP Manual

metaphone

(PHP 4, PHP 5)

metaphone — Calcule la clé metaphone

Description

string metaphone ( string $str [, int $phonemes = 0 ] )

Calcule la clé metaphone de str.

metaphone() est similaire à la fonction soundex() : elle créée une clé similaire pour des mots dont la prononciation est proche. C'est une fonction qui est plus précise que soundex() car elle prend en compte la prononciation anglaise. La clé metaphone générée est de taille variable.

Metaphone a été développée par Lawrence Philips <lphilips at verity dot com>. Cette méthode est décrite dans le livre ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].

Liste de paramètres

str

La chaîne d'entrée.

phonemes

Ce paramètre restreint la clé métaphone retournée à une longueur de phonemes caractères. La valeur par défaut est 0, ce qui signifie qu'aucune limitation ne sera appliquée.

Valeurs de retour

Retourne la clé metaphone, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec metaphone()

<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(7) "PRKRMNK"
string(6) "PRKRMR"

Exemple #2 Utilisation du paramètre phonemes

<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(5) "PRKRM"
string(5) "PRKRM"

md5
money_format
Fonctions sur les chaînes de caractères


Met un nombre au format monétaire

metaphone
nl_langinfo
Fonctions sur les chaînes de caractères
PHP Manual

money_format

(PHP 4 >= 4.3.0, PHP 5)

money_format — Met un nombre au format monétaire

Description

string money_format ( string $format , float $number )

money_format() retourne une version formatée du nombre number. Cette fonction fait l'interface avec la fonction strfmon() de la bibliothèque C, à la différence près que cette implémentation ne convertit qu'un nombre à la fois.

Liste de paramètres

format

Le paramètre de format est constitué de la séquence suivante :

  • un caractère %

  • une configuration optionnelle

  • une taille de champ optionnelle

  • une précision à gauche optionnelle

  • une précision à droite optionnelle

  • un caractère de conversion obligatoire

Drapeaux

Une ou plusieurs des configurations suivantes sont utilisables :

=f

Le caractère = suivi par un octet unique f qui sera utilisé comme caractère de remplissage. Le caractère de remplissage par défaut est espace.

^

Désactive le groupage de caractères (tel que défini dans la configuration locale).

+ ou (

Spécifie le style de formatage pour les nombres positifs et négatifs. Si + est utilisé, les équivalents dans la configuration locale de + et - seront utilisés. Si ( est utilisé, les sommes négatives seront placées entre parenthèses. Si aucune spécification n'est fournie, la valeur par défaut est +.

!

Supprime le simple monétaire dans la chaîne finale.

-

Si fourni, cette configuration fait que les champs seront justifiés à gauche (complétés à droite), au contraire de la configuration par défaut qui est justifiée à droite, et complétée à gauche.

Taille du champ

w

Un nombre décimal qui spécifie la taille minimale du champ. Le champ sera complété à gauche, à moins que la configuration - ne soit utilisée. Par défaut, cette valeur est de 0.

Précision à gauche

#n

Le nombre maximal de chiffres (n) attendus à gauche du séparateur décimal (e.g. la virgule). Cette option est généralement utilisée pour conserver l'alignement de colonnes de nombres, en utilisant un caractère pour compléter le nombre si ce dernier a moins de n chiffres. Si le nombre réel de chiffres est plus grand que n, cette spécification est ignorée.

Si le groupage n'a pas été supprimé via la configuration ^, les séparateurs de groupage seront insérés avant le caractère de remplissage (le cas échéant). Les séparateurs ne seront pas appliqués aux caractères de remplissage, même si ce caractère est un nombre.

Pour s'assurer de l'alignement, tous les caractères apparaissant avant et après le nombre formaté, tels que les symboles monétaires ou les signes négatif et positif, seront placés au même endroit grâce à des espaces supplémentaires, afin que toutes les tailles des nombres soient les mêmes.

Précision à droite

.p

Un point suivi par un nombre de décimales (p). Si la valeur de p est 0 (zéro), le séparateur décimal et les décimales seront supprimés. Si aucune précision à droite n'est précisée, la valeur par défaut sera lue dans la configuration locale. Le nombre formaté sera alors arrondi pour satisfaire les contraintes d'affichage.

Caractères de conversion

i

Le nombre est formaté suivant le format monétaire international de la configuration locale (e.g. pour la France : 1 234,56 F).

n

Le nombre est formaté en fonction du format monétaire national (e.g. pour la configuration de_DE : EU1.234,56).

%

Retourne le caractère %.

number

Le nombre à formater.

Valeurs de retour

Retourne la chaîne formatée. Les caractères avant et après la chaîne formatée seront retournés, inchangés. Un valeur non-numérique pour number retourne NULL et émet une alerte E_WARNING.

Notes

Note: La fonction money_format() est uniquement définie si le système a les capacités strfmon. Par exemple, Windows ne les a pas, donc, money_format() n'est pas définie sous Windows.

Note: La catégorie LC_MONETARY de la configuration locale affecte le comportement de cette fonction. Utilisez setlocale() pour configurer correctement PHP avant d'utiliser cette fonction.

Exemples

Exemple #1 Exemple avec money_format()

Voici plusieurs exemples d'utilisation de la fonction money_format() avec différentes chaînes de formatage, et configurations locales.

<?php

$number = 1234.56;

// Affichons ce nombre au format international pour en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// Et au format italien national avec 2 decimales
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// L. 1.234,56

// Utilisation d'un nombre négatif
$number = -1234.5672;

// Format US national, avec les parenthèeses pour les nombres négatifs
// et 10 chiffres de précision à gauche
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($        1,234.57)

// Format similaire au précédent, en ajoutant 2 décimales
// pour la précision à droite, et en utilisant le caractère de remplissage '*'
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Utilisons maintenant la justification à gauche, avec un champ de 14 caractères
// de long, sans groupage de chiffres, et en utilisant le format international
// pour de_DE
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// DEM 1234,56****

// Ajoutons encore à l'exemple précédent
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'La valeur finale est %i (après 10 %% de remise)';
echo money_format($fmt, 1234.56) . "\n";
// La valeur finale est GBP 1,234.56 (après 10 % de remise)

?>

Voir aussi

  • setlocale() - Modifie les informations de localisation
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • sprintf() - Retourne une chaîne formatée
  • printf() - Affiche une chaîne de caractères formatée
  • number_format() - Formate un nombre pour l'affichage

metaphone
nl_langinfo
Fonctions sur les chaînes de caractères


Rassemble des informations sur la langue et la configuration locale

money_format
nl2br
Fonctions sur les chaînes de caractères
PHP Manual

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5)

nl_langinfo — Rassemble des informations sur la langue et la configuration locale

Description

string nl_langinfo ( int $item )

nl_langinfo() est utilisée pour accéder à chaque élément de la configuration locale. Contrairement à la fonction localeconv() qui renvoie tous les éléments, nl_langinfo() vous permet de sélectionner un élément précis.

Liste de paramètres

item

item peut être la valeur entière d'un élément, ou le nom de sa constante. Voici une liste des noms de constantes pour item qui peuvent être utilisés et leur description. Certaines constantes peuvent ne pas être définies, ou ne contenir aucune valeur pour certaines locales.

Constantes nl_langinfo()
Constante | Description
Constantes de la catégorie LC_TIME
ABDAY_(1-7) | Nom court du jour de la semaine.
DAY_(1-7) | Nom du jour de la semaine (DAY_1 = Dimanche).
ABMON_(1-12) | Nom abrégé du mois de l'année.
MON_(1-12) | Nom du mois de l'année.
AM_STR | Chaîne pour Ante meridian.
PM_STR | Chaîne pour Post meridian.
D_T_FMT | Chaîne pouvant être utilisée comme chaîne de formatage pour la fonction strftime() pour représenter la date et l'heure.
D_FMT | Chaîne pouvant être utilisée comme chaîne de formatage pour la fonction strftime() pour représenter la date.
T_FMT | Chaîne pouvant être utilisée comme chaîne de formatage pour la fonction strftime() pour représenter l'heure.
T_FMT_AMPM | Chaîne pouvant être utilisée comme chaîne de formatage pour la fonction strftime() pour représenter l'heure au format 12 heures, avec ante/post meridian.
ERA | Ère de substitution.
ERA_YEAR | Année dans le format d'ère de substitution.
ERA_D_T_FMT | Date et heure dans le format d'ère de substitution (chaîne pouvant être utilisée dans la fonction strftime()).
ERA_D_FMT | Date dans le format d'ère de substitution (chaîne pouvant être utilisée dans la fonction strftime()).
ERA_T_FMT | Heure dans le format d'ère de substitution (chaîne pouvant être utilisée dans la fonction strftime()).
Constantes de la catégorie LC_MONETARY
INT_CURR_SYMBOL | Symbole monétaire international.
CURRENCY_SYMBOL | Symbole monétaire local.
CRNCYSTR | Même valeur que CURRENCY_SYMBOL.
MON_DECIMAL_POINT | Caractère de virgule décimale.
MON_THOUSANDS_SEP | Séparateur de centaine (groupes de trois lettres).
MON_GROUPING | Comme l'élément "grouping".
POSITIVE_SIGN | Signe pour les valeurs positives.
NEGATIVE_SIGN | Signe pour les valeurs négatives.
INT_FRAC_DIGITS | Chiffres partiels internationaux.
FRAC_DIGITS | Chiffres partiels locaux.
P_CS_PRECEDES | Retourne 1 si CURRENCY_SYMBOL précède une valeur positive.
P_SEP_BY_SPACE | Retourne 1 si un espace sépare CURRENCY_SYMBOL d'une valeur positive.
N_CS_PRECEDES | Retourne 1 si CURRENCY_SYMBOL précède une valeur négative.
N_SEP_BY_SPACE | Retourne 1 si un espace sépare CURRENCY_SYMBOL d'une valeur négative.
P_SIGN_POSN
  • Retourne 0 si des parenthèses entourent la quantité et CURRENCY_SYMBOL.
  • Retourne 1 si la chaîne de signes précède la quantité et CURRENCY_SYMBOL.
  • Retourne 2 si la chaîne de signes suit la quantité et CURRENCY_SYMBOL.
  • Retourne 3 si la chaîne de signes précède immédiatement le CURRENCY_SYMBOL.
  • Retourne 4 si la chaîne de signes suit immédiatement le CURRENCY_SYMBOL.
N_SIGN_POSN
Constantes de la catégorie LC_NUMERIC
DECIMAL_POINT | Caractère de virgule décimale.
RADIXCHAR | Même valeur que DECIMAL_POINT.
THOUSANDS_SEP | Caractère de séparation des centaines (groupe de trois lettres).
THOUSEP | Même valeur que THOUSANDS_SEP.
GROUPING
Constantes de la catégorie LC_MESSAGES
YESEXPR | Chaîne d'expression rationnelle pour chercher l'entrée "yes".
NOEXPR | Chaîne d'expression rationnelle pour chercher l'entrée "no".
YESSTR | Affichage de la chaîne pour "yes".
NOSTR | Affichage de la chaîne pour "no".
Constantes de la catégorie LC_CTYPE
CODESET | Retourne une chaîne de caractères avec le nom du jeux de caractères.

Valeurs de retour

Retourne l'élément, sous la forme d'une chaîne de caractères ou FALSE si le paramètre item n'est pas valide.

Notes

Note: Cette fonction n'est pas implémentée sous Windows.

Voir aussi

  • setlocale() - Modifie les informations de localisation
  • localeconv() - Lit la configuration locale

money_format
nl2br
Fonctions sur les chaînes de caractères


Insère un retour à la ligne HTML à chaque nouvelle ligne

nl_langinfo
number_format
Fonctions sur les chaînes de caractères
PHP Manual

nl2br

(PHP 4, PHP 5)

nl2br — Insère un retour à la ligne HTML à chaque nouvelle ligne

Description

string nl2br ( string $string [, bool $is_xhtml = true ] )

Retourne string après avoir inséré "<br />" ou '<br>' devant toutes les nouvelles lignes.

Liste de paramètres

string

La chaîne d'entrée.

is_xhtml

Produit des césures compatibles XHTML ou non.

Valeurs de retour

Retourne la chaîne modifiée.

Exemples

Exemple #1 Exemple avec nl2br()

<?php
echo nl2br("foo isn't\n bar");
?>

L'exemple ci-dessus va afficher :

foo isn't<br />
 bar

Exemple #2 Génération de code HTML valide avec le paramètre is_xhtml

<?php
echo nl2br("Welcome\r\nThis is my HTML document", false);
?>

L'exemple ci-dessus va afficher :

Welcome<br>
This is my HTML document

Historique

Version | Description
5.3.0 | Ajout du paramètre optionnel is_xhtml.
4.0.5 | nl2br() est désormais compatible XHTML. Toutes les versions antérieures retourneront l'argument string avec "<br>" inséré devant les nouvelles lignes, au lieu de "<br />".

Voir aussi

  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • wordwrap() - Effectue la césure d'une chaîne
  • str_replace() - Remplace toutes les occurrences dans une chaîne

nl_langinfo
number_format
Fonctions sur les chaînes de caractères


Formate un nombre pour l'affichage

nl2br
ord
Fonctions sur les chaînes de caractères
PHP Manual

number_format

(PHP 4, PHP 5)

number_format — Formate un nombre pour l'affichage

Description

string number_format ( float $number [, int $decimals ] )
string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )

Cette fonction accepte un, deux, ou quatre paramètres (et pas trois) :

Si seul le paramètre number est donné, il sera formaté sans partie décimale, mais avec une virgule entre chaque millier.

Si les deux paramètres number et decimals sont fournis, number sera formaté avec decimals décimales, un point (".") comme séparateur décimal et une virgule entre chaque millier.

Avec quatre paramètres, number sera formaté avec decimals décimales, dec_point comme séparateur décimal, et thousands_sep comme séparateur de milliers.

Valeurs de retour

Une version formatée du nombre number.

Liste de paramètres

number

Le nombre à formater.

decimals

Définit le nombre de décimal.

dec_point

Définit le séparateur pour le point décimal.

thousands_sep

Définit le séparateur des milliers.

Seul le premier caractère du paramètre thousands_sep est utilisé. Par exemple, si vous utilisez bar comme séparateur de milliers, sur le nombre 1000, number_format() retournera 1b000.

Exemples

Exemple #1 Exemple avec number_format()

En notation française, on utilise généralement deux chiffres après la virgule, une virgule comme séparateur décimal, et un espace comme séparateur de milliers. Cela donne :

<?php

$number = 1234.56;

// Notation anglaise (par défaut)
$english_format_number = number_format($number);
// 1,235

// Notation française
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// Notation anglaise sans séparateur des centaines
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Voir aussi

  • money_format() - Met un nombre au format monétaire
  • sprintf() - Retourne une chaîne formatée
  • printf() - Affiche une chaîne de caractères formatée
  • sscanf() - Analyse une chaîne à l'aide d'un format

nl2br
ord
Fonctions sur les chaînes de caractères


Retourne le code ASCII d'un caractère

number_format
parse_str
Fonctions sur les chaînes de caractères
PHP Manual

ord

(PHP 4, PHP 5)

ord — Retourne le code ASCII d'un caractère

Description

int ord ( string $string )

Retourne le code ASCII du premier caractère de string.

Cette fonction est le contraire de chr().

Liste de paramètres

string

Un caractère.

Valeurs de retour

Retourne la valeur ASCII, sous la forme d'un entier.

Exemples

Exemple #1 Exemple avec ord()

<?php
$str = "\n";
if (ord($str) == 10) {
  echo "Le premier caractère de \$str est une nouvelle ligne\n";
}
?>

Voir aussi

  • chr() - Retourne un caractère à partir de son code ASCII
  • » Table ASCII

number_format
parse_str
Fonctions sur les chaînes de caractères


Analyse une requête HTTP

ord
print
Fonctions sur les chaînes de caractères
PHP Manual

parse_str

(PHP 4, PHP 5)

parse_str — Analyse une requête HTTP

Description

void parse_str ( string $str [, array &$arr ] )

Analyse la chaîne de caractères str comme s'il s'agissait d'une requête HTTP, passée via l'URL. Toutes les variables qu'elle y repère sont alors créées, avec leurs valeurs respectives.

Note: Pour accéder à l'URL appelante QUERY_STRING, vous devez utiliser la variable $_SERVER['QUERY_STRING']. Il est aussi intéressant de lire la section sur les variables de sources externes.

Note: La configuration de magic_quotes_gpc affecte l'affichage de cette fonction car parse_str() utilise le même mécanisme que PHP utilise pour propager les variables $_GET, $_POST, etc.

Liste de paramètres

str

La chaîne d'entrée.

arr

Si le second paramètre arr est fourni, les variables y seront stockées, sous forme d'index de tableau.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
4.0.3 | Ajout du paramètre arr.

Exemples

Exemple #1 Exemple avec parse_str()

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

Voir aussi

  • parse_url() - Analyse une URL et retourne ses composants
  • pathinfo() - Retourne des informations sur un chemin système
  • http_build_query() - Génère une chaîne de requête en encodage URL
  • get_magic_quotes_gpc() - Retourne la configuration actuelle de l'option magic_quotes_gpc
  • urldecode() - Décode une chaîne encodée URL

ord
print
Fonctions sur les chaînes de caractères


Affiche une chaîne de caractères

parse_str
printf
Fonctions sur les chaînes de caractères
PHP Manual

print

(PHP 4, PHP 5)

print — Affiche une chaîne de caractères

Description

int print ( string $arg )

Affiche le paramètre arg.

print() n'est pas vraiment une fonction (c'est techniquement une structure de langage). Cela fait que vous n'êtes pas obligé d'utiliser des parenthèses.

Liste de paramètres

arg

Les données d'entrée.

Valeurs de retour

Retourne 1, toujours.

Exemples

Exemple #1 Exemple avec print()

<?php
print("Bonjour le monde");

print "print() fonctionne aussi sans les parenthèses.";

print "Ce print() se
répartit sur plusieurs lignes. Il affiche aussi les
nouvelles lignes";

print "Ce print() se\nrépartit sur plusieurs lignes. Il affiche aussi les\nnouvelles lignes";

print "L'échappement de caractères se fait : \"comme ceci\".";

// Vous pouvez utiliser des variables avec print
$foo = "foobar";
$bar = "barbaz";

print "foo vaut $foo"; // foo vaut foobar

// Vous pouvez aussi utiliser des tableaux
$bar = array("clé" => "foo");

print "c'est {$bar['clé']} !"; // c'est foo !

// Les guillemets simples annulent le remplacement des variables
print 'foo vaut $foo'; // foo vaut $foo

// Si vous n'utilisez pas d'autres caractères, vous
// pouvez afficher simplement vos variables comme ceci
print $foo; // foobar

print <<<END
Cette syntaxe s'intitule le "here document" et
permet d'afficher plusieurs lignes avec de
l'interpolation de variables. Notez que la fin de
la syntaxe doit apparaître sur une nouvelle ligne,
avec uniquement un point-virgule, et pas d'espace
de plus !
END;
?>

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Voir aussi

  • echo() - Affiche une chaîne de caractères
  • printf() - Affiche une chaîne de caractères formatée
  • flush() - Vide les tampons de sortie
  • Syntaxe Heredoc

parse_str
printf
Fonctions sur les chaînes de caractères


Affiche une chaîne de caractères formatée

print
quoted_printable_decode
Fonctions sur les chaînes de caractères
PHP Manual

printf

(PHP 4, PHP 5)

printf — Affiche une chaîne de caractères formatée

Description

int printf ( string $format [, mixed $args [, mixed $... ]] )

Affiche une chaîne de caractères formatée.

Liste de paramètres

format

Voir la documentation de la fonction sprintf() pour une description du paramètre format.

args

...

Valeurs de retour

Retourne la taille de la chaîne affichée.

Voir aussi

  • print() - Affiche une chaîne de caractères
  • sprintf() - Retourne une chaîne formatée
  • vprintf() - Affiche une chaîne formatée
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • fscanf() - Analyse un fichier en fonction d'un format
  • flush() - Vide les tampons de sortie

print
quoted_printable_decode
Fonctions sur les chaînes de caractères


Convertit une chaîne quoted-printable en chaîne 8 bits

printf
quoted_printable_encode
Fonctions sur les chaînes de caractères
PHP Manual

quoted_printable_decode

(PHP 4, PHP 5)

quoted_printable_decode — Convertit une chaîne quoted-printable en chaîne 8 bits

Description

string quoted_printable_decode ( string $str )

quoted_printable_decode() retourne la chaîne de caractères str, après l'avoir convertie du format quoted printable binaire 8 bits (en accord avec la » RFC2045, section 6.7, et non pas la » RFC2821, section 4.5.2, pour que les virgules additionnelles ne soient pas effacée du début de la ligne).

Cette fonction est similaire à imap_qprint(), hormis le fait qu'elle n'exige pas le module IMAP pour fonctionner.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne, convertie au format 8-bits.

Voir aussi

  • quoted_printable_encode() - Convertit une chaîne 8 bits en une chaîne quoted-printable

printf
quoted_printable_encode
Fonctions sur les chaînes de caractères


Convertit une chaîne 8 bits en une chaîne quoted-printable

quoted_printable_decode
quotemeta
Fonctions sur les chaînes de caractères
PHP Manual

quoted_printable_encode

(PHP 5 >= 5.3.0)

quoted_printable_encode — Convertit une chaîne 8 bits en une chaîne quoted-printable

Description

string quoted_printable_encode ( string $str )

Retourne une chaîne quoted printable créée suivant les règles de » RFC2045, section 6.7.

Cette fonction est similaire à imap_8bit(), sauf qu'elle ne requiert par de module IMAP pour fonctionner.

Liste de paramètres

str

La chaîne à traiter.

Valeurs de retour

La chaîne encodée.

Voir aussi

  • quoted_printable_decode() - Convertit une chaîne quoted-printable en chaîne 8 bits
  • iconv_mime_encode() - Construit un en-tête MIME avec les champs field_name et field_value

quoted_printable_decode
quotemeta
Fonctions sur les chaînes de caractères


Protège les métacaractères

quoted_printable_encode
rtrim
Fonctions sur les chaînes de caractères
PHP Manual

quotemeta

(PHP 4, PHP 5)

quotemeta — Protège les métacaractères

Description

string quotemeta ( string $str )

Retourne la chaîne str après avoir introduit un antislash (\) devant tous les caractères suivants :

. \ + * ? [ ^ ] ( $ )

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne dont les métacaractères ont été protégés.

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • addslashes() - Ajoute des antislashs dans une chaîne
  • addcslashes() - Ajoute des slash dans une chaîne, à la mode du langage C
  • htmlentities() - Convertit tous les caractères éligibles en entités HTML
  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
  • nl2br() - Insère un retour à la ligne HTML à chaque nouvelle ligne
  • stripslashes() - Supprime les antislashs d'une chaîne
  • stripcslashes() - Décode une chaîne encodée avec addcslashes
  • preg_match() - Expression rationnelle standard
  • preg_quote() - Protection des caractères spéciaux des expressions rationnelles

quoted_printable_encode
rtrim
Fonctions sur les chaînes de caractères


Supprime les espaces (ou d'autres caractères) de fin de chaîne

quotemeta
setlocale
Fonctions sur les chaînes de caractères
PHP Manual

rtrim

(PHP 4, PHP 5)

rtrim — Supprime les espaces (ou d'autres caractères) de fin de chaîne

Description

string rtrim ( string $str [, string $charlist ] )

Retourne la chaîne str, après avoir supprimé tous les caractères blancs de fin de chaîne.

Appelée sans le second paramètre, rtrim() supprimera les caractères suivants :

  • " " (ASCII 32 (0x20)), un espace ordinaire.
  • "\t" (ASCII 9 (0x09)), une tabulation.
  • "\n" (ASCII 10 (0x0A)), une nouvelle ligne (line feed).
  • "\r" (ASCII 13 (0x0D)), un retour chariot (carriage return).
  • "\0" (ASCII 0 (0x00)), le caractère NUL.
  • "\x0B" (ASCII 11 (0x0B)), une tabulation verticale.

Liste de paramètres

str

La chaîne d'entrée.

charlist

Il est aussi possible de spécifier les caractères à supprimer en utilisant le paramètre charlist. Listez simplement les caractères que vous voulez supprimer dans ce paramètre. Avec .., vous pourrez spécifier des intervalles de caractères.

Valeurs de retour

Retourne la chaîne modifiée.

Historique

Version | Description
4.1.0 | Ajout du paramètre charlist.

Exemples

Exemple #1 Exemple avec rtrim()

<?php

$text = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = rtrim($text);
var_dump($trimmed);

$trimmed = rtrim($text, " \t.");
var_dump($trimmed);

$trimmed = rtrim($hello, "Hdle");
var_dump($trimmed);

// enlève les caractères de contrôle ASCII à la fin de $binary
// (de 0 à 31 inclusif)
$clean = rtrim($binary, "\x00..\x1F");
var_dump($clean);

?>

L'exemple ci-dessus va afficher :

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(30) "        These are a few words :) ..."
string(26) "        These are a few words :)"
string(9) "Hello Wor"
string(15) "    Example string"

Voir aussi

  • trim() - Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
  • ltrim() - Supprime les espaces (ou d'autres caractères) de début de chaîne

quotemeta
setlocale
Fonctions sur les chaînes de caractères


Modifie les informations de localisation

rtrim
sha1_file
Fonctions sur les chaînes de caractères
PHP Manual

setlocale

(PHP 4, PHP 5)

setlocale — Modifie les informations de localisation

Description

string setlocale ( int $category , string $locale [, string $... ] )
string setlocale ( int $category , array $locale )

Modifie les informations de localisation.

Liste de paramètres

category

category est une constante (ou une chaîne) qui spécifie la catégorie de fonctions affectées par la configuration de localisation :

  • LC_ALL pour toutes les constantes suivantes
  • LC_COLLATE pour la comparaison de chaînes de caractères. Voir strcoll()
  • LC_CTYPE pour la classification et la conversion de caractères. Voir strtoupper()
  • LC_MONETARY pour localeconv()
  • LC_NUMERIC pour le séparateur décimal. Voir localeconv()
  • LC_TIME pour le format de date et d'heure avec strftime()
  • LC_MESSAGES pour les réponses système (disponible si PHP a été compilé avec libintl)

locale

Si locale est NULL ou la chaîne vide (""), les noms de locales seront pris dans l'environnement, à partir des variables de même nom que les catégories ci-dessus, ou depuis "LANG".

Si locale vaut NULL ou vaut "0", la configuration locale ne sera pas modifiée, et la configuration courante sera retournée.

Si locale est un tableau ou bien est suivi par des paramètres additionnels, alors chaque élément du tableau ou chaque paramètre tente d'être défini comme nouvelle locale jusqu'à ce qu'un réussisse. Cela est pratique si la locale est connue sous différents noms sur des systèmes différents ou bien pour prévoir une autre valeur en cas de non disponibilité de la locale choisie.

...

(Chaîne ou tableau de paramètres optionnel à essayer comme configuration de la locale jusqu'à réussite.)

Note: Sous Windows, setlocale(LC_ALL, '') définit les noms de la locale depuis la configuration de la langue/de la région du système d'exploitation (accessible depuis le Panneau de Contrôle).

Valeurs de retour

Retourne la nouvelle configuration locale, ou FALSE si la localisation n'est pas implémentée sur votre plate-forme, si la variable de localisation n'existe pas, ou si la catégorie spécifiée n'est pas valide.

Un nom de catégorie invalide générera un message d'alerte. La liste des noms de locales/catégories peut être trouvée en consultant la » RFC 1766 ainsi que l'» ISO 639. Les différentes plates-formes possèdent des conventions de nommages différentes.

Note: La valeur retournée par setlocale() dépend du système sur lequel PHP est installé. setlocale() retourne exactement ce que la fonction système setlocale retourne.

Historique

Version | Description
5.3.0 | Cette fonction émet désormais une alerte E_DEPRECATED si une chaîne est passée comme paramètre category au lieu d'une des constantes LC_*.
4.3.0 | Passer plusieurs locales devient possible.
4.2.0 | Passer category en tant que chaîne est déconseillé, utilisez les constantes mentionnées plus haut à la place. Les passer en tant que chaînes (entre guillemets) provoquera l'affichage d'un message d'avertissement.

Exemples

Exemple #1 Exemple avec setlocale()

<?php
/* Configure le script en hollandais */
setlocale(LC_ALL, 'nl_NL');

/* Affiche : vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* Essai de différentes valeurs possible pour l'allemand depuis PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "L'identifiant de l'allemand sur ce système est '$loc_de'";
?>

Exemple #2 Exemple avec setlocale() sous Windows

<?php
/* Configure le script en hollandais */
setlocale(LC_ALL, 'nld_nld');

/* Affiche : vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* Essai de différentes valeurs possible pour l'allemand depuis PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "L'identifiant de l'allemand sur ce système est '$loc_de'";
?>

Notes

Avertissement

L'information locale est maintenue par processus, non par thread. Si vous faites fonctionner PHP sur un serveur multi-threadé comme IIS ou Apache sur Windows, vous pourriez obtenir des changements soudains des configurations locales pendant qu'un script fonctionne, même si celui-ci n'appelle jamais la fonction setlocale(). Ceci survient à cause des autres scripts qui fonctionnent dans des threads différents du même processus. Ces scripts changent les configurations locales dans le processus au complet en utilisant la fonction setlocale().

Astuce

Les utilisateurs de Windows trouverons des informations utiles à propos du paramètre locale sur le site web MSDN de Microsoft. Les valeurs de locales supportées peuvent être trouvées » ici et les chaînes de pays/région » ici.

rtrim
sha1_file
Fonctions sur les chaînes de caractères


Calcule le sha1 d'un fichier

setlocale
sha1
Fonctions sur les chaînes de caractères
PHP Manual

sha1_file

(PHP 4 >= 4.3.0, PHP 5)

sha1_file — Calcule le sha1 d'un fichier

Description

string sha1_file ( string $filename [, bool $raw_output = false ] )

Calcule le sha1 du fichier spécifié par le paramètre filename en utilisant » US Secure Hash Algorithm 1, puis retourne ce sha1. Le sha1 est un nombre hexadécimal de 40 caractères.

Liste de paramètres

filename

Le nom du fichier à hasher.

raw_output

Lorsque TRUE, retourne le prétraitement en format binaire brut avec une grandeur de 20.

Valeurs de retour

Retourne une chaîne de caractères en cas de succès, FALSE autrement.

Exemples

Exemple #1 Exemple avec sha1_file()

<?php
foreach(glob('/home/Kalle/myproject/*.php') as $ent)
{
    if(is_dir($ent))
    {
        continue;
    }

    echo $ent . ' (SHA1: ' . sha1_file($ent) . ')', PHP_EOL;
}
?>

Historique

Version | Description
5.0.0 | Ajout du paramètre raw_output
5.1.0 | La fonction a changé pour utiliser les flux API. Cela signifie que vous pouvez l'utiliser avec des enveloppes, comme sha1_file('http://example.com/..')

Voir aussi

  • sha1() - Calcule le sha1 d'une chaîne de caractères
  • md5_file() - Calcule le md5 d'un fichier
  • crc32() - Calcule la somme de contrôle CRC32

setlocale
sha1
Fonctions sur les chaînes de caractères


Calcule le sha1 d'une chaîne de caractères

sha1_file
similar_text
Fonctions sur les chaînes de caractères
PHP Manual

sha1

(PHP 4 >= 4.3.0, PHP 5)

sha1 — Calcule le sha1 d'une chaîne de caractères

Description

string sha1 ( string $str [, bool $raw_output = false ] )

Calcule le sha1 de la chaîne de caractères str en utilisant » US Secure Hash Algorithm 1.

Liste de paramètres

str

La chaîne d'entrée.

raw_output

Si le paramètre optionnel raw_output est passé à TRUE, le sha1 est retourné sous forme binaire brute avec une taille de 20 caractères, sinon, il est retourné sous la forme d'un nombre hexadécimal d'une taille de 40 caractères.

Valeurs de retour

Retourne le sha1, sous la forme d'une chaîne de caractères.

Historique

Version | Description
5.0.0 | Ajout du paramètre raw_output.

Exemples

Exemple #1 Exemple avec sha1()

<?php
$str = 'pomme';

if (sha1($str) === '752c14ea195c460bac3c3b7896975ee9fd15eeb7') {
    echo "Voulez-vous une golden ou une spartan ?";
}
?>

Voir aussi

  • sha1_file() - Calcule le sha1 d'un fichier
  • crc32() - Calcule la somme de contrôle CRC32
  • md5() - Calcule le md5 d'une chaîne
  • hash() - Génère une valeur de hachage (empreinte numérique)

sha1_file
similar_text
Fonctions sur les chaînes de caractères


Calcule la similarité de deux chaînes

sha1
soundex
Fonctions sur les chaînes de caractères
PHP Manual

similar_text

(PHP 4, PHP 5)

similar_text — Calcule la similarité de deux chaînes

Description

int similar_text ( string $first , string $second [, float &$percent ] )

Calcule la similarité entre les deux chaînes first et second, selon la méthode d'Oliver [1993]. Notez que cette implémentation n'utilise pas la méthode de pile comme dans le pseudo code d'Oliver, mais des appels récursifs, ce qui accélère ou pas le processus. Notez que la complexité de l'algorithme est en O(N**3) où N est la taille de la plus grande chaîne.

Liste de paramètres

first

La première chaîne.

second

La seconde chaîne.

percent

En passant une référence en tant que troisième argument, similar_text() va calculer la similarité en pourcentage automatiquement.

Valeurs de retour

Retourne le nombre de caractères identiques dans les deux chaînes.

Voir aussi

  • levenshtein() - Calcule la distance Levenshtein entre deux chaînes
  • soundex() - Calcule la clé soundex

sha1
soundex
Fonctions sur les chaînes de caractères


Calcule la clé soundex

similar_text
sprintf
Fonctions sur les chaînes de caractères
PHP Manual

soundex

(PHP 4, PHP 5)

soundex — Calcule la clé soundex

Description

string soundex ( string $str )

Calcule la clé soundex de la chaîne str.

La clé soundex possède la propriété qui fait que deux mots prononcés similairement auront la même clé soundex. Cette fonction est donc utilisée pour simplifier les recherches dans les bases de données, où vous connaissez la prononciation d'un mot ou nom, mais pas son orthographe exacte. Cette fonction retourne une chaîne de 4 caractères, commençant par une lettre.

L'implémentation de la fonction soundex de PHP a été décrite par Donald Knuth dans "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la clé soundex, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemples Soundex

<?php
soundex("Euler")       == soundex("Ellery");    // E460
soundex("Gauss")       == soundex("Ghosh");     // G200
soundex("Hilbert")     == soundex("Heilbronn"); // H416
soundex("Knuth")       == soundex("Kant");      // K530
soundex("Lloyd")       == soundex("Ladd");      // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

Voir aussi

  • levenshtein() - Calcule la distance Levenshtein entre deux chaînes
  • metaphone() - Calcule la clé metaphone
  • similar_text() - Calcule la similarité de deux chaînes

similar_text
sprintf
Fonctions sur les chaînes de caractères


Retourne une chaîne formatée

soundex
sscanf
Fonctions sur les chaînes de caractères
PHP Manual

sprintf

(PHP 4, PHP 5)

sprintf — Retourne une chaîne formatée

Description

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

Retourne une chaîne formatée, avec le format format, en utilisant les arguments args.

Liste de paramètres

format

La chaîne de format est composée de zéro, une ou plusieurs directives : les caractères ordinaires (à l'exception de %) qui sont copiés directement dans le résultat, et des spécifications de conversion, qui exploitent chacune un des arguments passés après la chaîne de format. Ces formats s'appliquent à sprintf() et printf().

Chaque spécification de conversion est constituée d'un signe de pourcentage (%), suivi d'un ou plusieurs des éléments suivants, dans cet ordre :

  1. Le signe optionnel ne force pas le nombre à être positif/négatif mais force à utiliser le signe - ou + sur un nombre. Par défaut, seul le signe - est utilisé sur un nombre s'il est négatif. Ce spécificateur force également les nombres positifs à avoir un signe + d'attaché, et a été ajouté en PHP 4.3.0.
  2. Un remplisseur optionnel qui indique quel caractère sera utilisé pour compléter le résultat jusqu'à la longueur requise. Ce peut être le caractère d'espace, ou le caractère 0. Par défaut, le remplissage se fait avec des espaces. Un autre caractère de remplissage peut être spécifié en le préfixant avec un guillemet simple (') : voir les exemples ci-dessous.
  3. Un spécificateur d'alignement qui indique si le résultat doit être aligné à gauche ou à droite. Par défaut, le résultat est aligné à gauche. Le caractère - fera que le résultat sera justifié à gauche.
  4. Un nombre optionnel, spécificateur de taille indique le nombre minimum de caractères que cette conversion doit fournir en résultat.
  5. Un spécificateur de précision de la forme d'un point ("."), suivi par un nombre de décimales qui doivent être affichées pour les nombres décimaux. Lorsque vous utilisez ce spécificateur dans une chaîne, il agit comme un point de coupure, définissant une limite maximale de caractères de la chaîne.

  6. Un spécificateur de type qui indique le type avec lequel l'argument sera traité. Plusieurs types possibles :

    • % : un caractère de pourcentage littéral. Aucun argument n'est nécessaire.
    • b : l'argument est traité comme un entier, et présenté comme un nombre binaire.
    • c : l'argument est traité comme un entier, et présenté comme le caractère de code ASCII correspondant.
    • d : l'argument est traité comme un entier, et présenté comme un nombre décimal signé.
    • e : l'argument est traité comme une notation scientifique (e.g. 1.2e+2). Le spécificateur de précision représente le nombre de chiffres après la virgule depuis PHP 5.2.1. Dans les versions antérieures, il a été pris comme nombre des chiffres significatifs (au moins un).
    • E : comme %e mais utilise des lettres en majuscule (i.e. 1.2E+2).
    • u : l'argument est traité comme un entier, et présenté comme un nombre décimal non signé.
    • f : l'argument est traité comme un nombre à virgule flottante (type float ), et présenté comme un nombre à virgule flottante (tenant compte de la locale utilisée).
    • F : l'argument est traité comme un nombre à virgule flottante (type float ), et présenté comme un nombre à virgule flottante (ne tenant pas compte de la locale utilisée). Disponible depuis PHP 4.3.10 et PHP 5.0.3.
    • g : raccourci pour %e et %f.
    • G : reccourci pour %E et %f.
    • o : l'argument est traité comme un entier, et présenté comme un nombre octal.
    • s : l'argument est traité et présenté comme une chaîne de caractères.
    • x : l'argument est traité comme un entier, et présenté comme un nombre hexadécimal (les lettres en minuscules).
    • X : l'argument est traité comme un entier, et présenté comme un nombre hexadécimal (les lettres en majuscules).

La chaîne de format supporte le numérotage et l'échange d'arguments. Par exemple :

Exemple #1 Échange d'arguments

<?php
$format = 'Il y a %d singes dans le %s';
printf($format, $num, $location);
?>
Ainsi, cet exemple peut afficher : "Il y a 5 singes dans le bananier". Mais imaginez que la chaîne de format soit créée dans un script séparé, comme une bibliothèque : cela arrive lorsqu'il faut internationaliser une application. Suivant la langue, il faudra peut-être écrire :

Exemple #2 Échange d'arguments (2)

<?php
$format = 'Le %s a %d singes';
printf($format, $num, $location);
?>
Ici, nous voyons bien le problème. L'ordre des arguments a été changé, et ne correspond plus à l'ordre des arguments dans le script PHP. Nous souhaitons laisser le code PHP intact, mais simplement indiquer dans la chaîne de formatage l'ordre dans lequel les arguments doivent être utilisés. La chaîne de format peut être réécrite ainsi :

Exemple #3 Échange d'arguments (3)

<?php
$format = 'Le %2$s a %1$d singes';
printf($format, $num, $location);
?>
Un des avantages est que vous pouvez désormais exploiter plusieurs fois les arguments sans les répéter. Ainsi :

Exemple #4 Échange d'arguments (4)

<?php
$format = 'Le %2$s a %1$d singes.
           C\'est un beau %2$s avec %1$d singes.';
printf($format, $num, $location);
?>

args

...

Valeurs de retour

Retourne une chaîne de caractères créée suivant le format format.

Historique

Version | Description
4.0.6 | Ajout du support de l'argument d'échange

Exemples

Exemple #5 printf() : divers exemples

<?php
$n =  43951789;
$u = -43951789;
$c = 65; // ASCII 65 is 'A'

// notez le double %%, cela affiche un caractère '%' littéral
printf("%%b = '%b'\n", $n); // représentation binaire
printf("%%c = '%c'\n", $c); // affiche le caractère ascii, comme la fonction chr()
printf("%%d = '%d'\n", $n); // représentation standard d'un entier
printf("%%e = '%e'\n", $n); // notation scientifique
printf("%%u = '%u'\n", $n); // représentation entière non signée d'un entier positif
printf("%%u = '%u'\n", $u); // représentation entière non signée d'un entier négatif
printf("%%f = '%f'\n", $n); // représentation en virgule flottante
printf("%%o = '%o'\n", $n); // représentation octale
printf("%%s = '%s'\n", $n); // représentation chaîne de caractères
printf("%%x = '%x'\n", $n); // représentation hexadécimal (minuscule)
printf("%%X = '%X'\n", $n); // représentation hexadécimal (majuscule)

printf("%%+d = '%+d'\n", $n); // indication du signe pour un entier positif
printf("%%+d = '%+d'\n", $u); // indication du signe pour un entier négatif
?>

L'exemple ci-dessus va afficher :

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Exemple #6 printf() : spécificateurs chaînes de caractères

<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // affichage d'une chaîne standard
printf("[%10s]\n",    $s); // justification à droite avec des espaces
printf("[%-10s]\n",   $s); // justification à gauche avec des espaces
printf("[%010s]\n",   $s); // l'espacement nul fonctionne aussi sur les chaînes
printf("[%'#10s]\n",  $s); // utilisation du caractère personnalisé de séparation '#'
printf("[%10.10s]\n", $t); // justification à gauche mais avec une coupure à 10 caractères
?>

L'exemple ci-dessus va afficher :

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

Exemple #7 sprintf() : entier sans espace

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Exemple #8 sprintf() : formatage de devises

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money affichera "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted affichera "123.10"
?>

Exemple #9 sprintf(): notation scientifique

<?php
$number = 362525200;

echo sprintf("%.3e", $number); // affiche 3.625e+8
?>

Voir aussi

  • printf() - Affiche une chaîne de caractères formatée
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • fscanf() - Analyse un fichier en fonction d'un format
  • vsprintf() - Retourne une chaîne formatée
  • number_format() - Formate un nombre pour l'affichage

soundex
sscanf
Fonctions sur les chaînes de caractères


Analyse une chaîne à l'aide d'un format

sprintf
str_getcsv
Fonctions sur les chaînes de caractères
PHP Manual

sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf — Analyse une chaîne à l'aide d'un format

Description

mixed sscanf ( string $str , string $format [, mixed &$... ] )

sscanf() est l'inverse de la fonction printf(). sscanf() lit des données dans la chaîne str, et l'interprète en fonction du format format, qui est décrit dans la documentation de la fonction sprintf().

Tous les caractères blancs dans la chaîne format correspondent à un caractère blanc dans la chaîne str. Cela signifie que même une tabulation \t dans la chaîne de format peut correspondre à un simple espace dans la chaîne str.

Liste de paramètres

str

La chaîne à analyser.

format

Le format interprété pour la chaîne str, qui est décrit dans la documentation de la fonction sprintf() avec les différences suivantes :

  • La fonction n'est pas sensible à la locale courante.
  • F, g, G et b ne sont pas supportés.
  • D correspond aux nombres décimals.
  • i correspond aux entiers avec une détection de la base.
  • n correspond aux nombres de caractères analysés.

...

Optionnellement, vous pouvez passer des variables dans ce paramètre, par référence qui contiendront les valeurs de l'analyse.

Valeurs de retour

Si seuls deux paramètres sont fournis, les valeurs trouvées seront retournées sous forme de tableau. Sinon, les valeurs seront placées dans un tableau. Si l'argument optionnel est passé, la fonction retournera le nombre de valeurs assignées. Le paramètre optionnel doit être passé par référence.

Exemples

Exemple #1 Exemple avec sscanf()

<?php
// Lecture d'un numéro de série
list($serial) = sscanf("SN/2350001", "SN/%d");
// et la date de fabrication
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Le produit $serial a été fabriqué le : $year-" . substr($month, 0, 3) . "-$day\n";
?>

Si des paramètres optionnels sont passés, sscanf() retournera le nombre de valeurs assignées.

Exemple #2 sscanf() - utilisation des paramètres optionnels

<?php
// lit les informations d'auteur, et génère une entrée DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

Voir aussi

  • fscanf() - Analyse un fichier en fonction d'un format
  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée

sprintf
str_getcsv
Fonctions sur les chaînes de caractères


Analyse une chaîne de caractères CSV dans un tableau

sscanf
str_ireplace
Fonctions sur les chaînes de caractères
PHP Manual

str_getcsv

(PHP 5 >= 5.3.0)

str_getcsv — Analyse une chaîne de caractères CSV dans un tableau

Description

array str_getcsv ( string $input [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]] )

Similaire à la fonction fgetcsv(), cette fonction analyse une chaîne de caractères comme argument, contrairement à fgetcsv() qui prend un fichier.

Liste de paramètres

input

La chaîne à analyser.

delimiter

Le délimiteur de champ (un seul caractère).

enclosure

Le caractère d'encadrement (un seul caractère).

escape

Le caractère de protection (un seul caractère). Par défaut, c'est l'antislash. (\)

Valeurs de retour

Retourne un tableau contenant les champs lus.

Voir aussi

  • fgetcsv() - Renvoie la ligne courante et cherche les champs CSV

sscanf
str_ireplace
Fonctions sur les chaînes de caractères


Version insensible à la casse de str_replace

str_getcsv
str_pad
Fonctions sur les chaînes de caractères
PHP Manual

str_ireplace

(PHP 5)

str_ireplace — Version insensible à la casse de str_replace()

Description

mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

str_ireplace() retourne une chaîne de caractères ou un tableau dont toutes les occurrences de search dans subject (en ignorant la casse), ont été remplacées par la valeur de replace. Si vous n'avez pas besoin de règles de recherche complexes, il est recommandé d'utiliser cette fonction à la place de preg_replace() avec l'option i.

Liste de paramètres

search

Note: Chaque remplacement avec le tableau search est effectué sur le résultat du dernier remplacement.

replace

subject

Si subject est un tableau, le remplacement est effectué sur chacun des éléments du sujet subject, et la valeur retournée est un aussi un tableau.

count

Le nombre de remplacement sera retourné dans le paramètre count, passé par référence.

Si search et replace sont des tableaux, alors str_replace() prendra une valeur de chaque tableau, et l'utilisera pour faire le remplacement dans subject. Si replace a moins de valeurs que search, alors une chaîne vide sera utilisée pour effectuer les remplacements. Si search est un tableau et que replace est une chaîne, alors la chaîne de remplacement sera utilisée pour chaque élément de search.

Valeurs de retour

Retourne une chaîne ou un tableau de remplacement.

Historique

Version | Description
5.0.0 | Ajout du paramètre count.

Exemples

Exemple #1 Exemple avec str_ireplace()

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • str_replace() - Remplace toutes les occurrences dans une chaîne
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • strtr() - Remplace des caractères dans une chaîne

str_getcsv
str_pad
Fonctions sur les chaînes de caractères


Complète une chaîne jusqu'à une taille donnée

str_ireplace
str_repeat
Fonctions sur les chaînes de caractères
PHP Manual

str_pad

(PHP 4 >= 4.0.1, PHP 5)

str_pad — Complète une chaîne jusqu'à une taille donnée

Description

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

Retourne la chaîne input, complétée à droite, à gauche ou dans les deux sens, avec la chaîne pad_string jusqu'à ce qu'elle atteigne la taille de pad_length.

Liste de paramètres

input

La chaîne d'entrée.

pad_length

Si la valeur de pad_length est négative, plus petite que, ou égale à la taille courante de la chaîne input, input est retournée inchangée.

pad_string

Note: Le paramètre pad_string peut être tronqué si le nombre de caractères de complétion n'est pas multiple de la taille de pad_string.

pad_type

L'argument optionnel pad_type peut être l'une des constantes suivantes : STR_PAD_RIGHT, STR_PAD_LEFT, ou STR_PAD_BOTH. Si pad_type n'est pas spécifié, il prend la valeur par défaut de STR_PAD_RIGHT.

Valeurs de retour

Retourne la chaîne complétée.

Exemples

Exemple #1 Exemple avec str_pad()

<?php
$input = "Alien";
echo str_pad($input, 10);                      // affiche "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // affiche "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // affiche "__Alien___"
echo str_pad($input, 6 , "___");               // affiche "Alien_"
?>

str_ireplace
str_repeat
Fonctions sur les chaînes de caractères


Répète une chaîne

str_pad
str_replace
Fonctions sur les chaînes de caractères
PHP Manual

str_repeat

(PHP 4, PHP 5)

str_repeat — Répète une chaîne

Description

string str_repeat ( string $input , int $multiplier )

Retourne la chaîne input répétée multiplier fois.

Liste de paramètres

input

La chaîne à répéter.

multiplier

Nombre de fois où la chaîne input doit être multipliée.

multiplier doit être positif ou nul. Si multiplier vaut 0, la fonction retourne la chaîne vide.

Valeurs de retour

Retourne la chaîne, répétée multiplier fois.

Exemples

Exemple #1 Exemple avec str_repeat()

<?php
echo str_repeat("-=", 10);
?>

L'exemple ci-dessus va afficher :

-=-=-=-=-=-=-=-=-=-=

Voir aussi

  • for
  • str_pad() - Complète une chaîne jusqu'à une taille donnée
  • substr_count() - Compte le nombre d'occurrences de segments dans une chaîne

str_pad
str_replace
Fonctions sur les chaînes de caractères


Remplace toutes les occurrences dans une chaîne

str_repeat
str_rot13
Fonctions sur les chaînes de caractères
PHP Manual

str_replace

(PHP 4, PHP 5)

str_replace — Remplace toutes les occurrences dans une chaîne

Description

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

str_replace() retourne une chaîne ou un tableau, dont toutes les occurrences de search dans subject ont été remplacées par replace.

Si vous n'avez pas besoin de règles de remplacement compliquées (comme les expressions rationnelles), utilisez cette fonction de préférence à ereg_replace() et preg_replace().

Liste de paramètres

Si search et replace sont des tableaux, alors str_replace() prendra une valeur de chaque tableau, et l'utilisera pour faire le remplacement dans subject. Si replace a moins de valeurs que search, alors une chaîne vide sera utilisée pour effectuer les remplacements. Si search est un tableau et que replace est une chaîne, alors la chaîne de remplacement sera utilisée pour chaque élément de search. Cependant, l'inverse n'aurait aucun sens.

Si search ou replace sont des tableaux, les éléments sont traités du premier, au dernier.

search

La valeur à chercher, autrement connue comme le masque. Un tableau peut être utilisé pour désigner plusieurs masques.

replace

La valeur de remplacement à substituer aux valeurs trouvées. Un tableau peut être utilisé pour désigner plusieurs valeurs de remplacement.

subject

La chaîne de caractères ou le tableau sur lequel on va effectuer la recherche et le remplacement.

Si subject est un tableau, alors le remplacement se fera sur chaque élément de celui-ci, et la valeur retournée sera aussi un tableau.

count

Note: Si fourni, contiendra le nombre d'occurrences remplacés.

Valeurs de retour

Cette fonction retourne une chaîne, ou un tableau, contenant les valeurs remplacées.

Historique

Version | Description
5.0.0 | Ajout du paramètre count.
4.3.3 | Le comportement de cette fonction a changée. Dans les version précédentes, un bogue existait lors de l'utilisation de tableaux avec les paramètres search et replace en même temps. Les index de search qui étaient vides étaient ignorés, mais le pointeur interne de replace n'étais pas incrémenté. Cela a été corrigé en PHP 4.3.3, tout script s'appuyant sur ce bogue, doit supprimer les entrées vides avant d'appeler cette fonction pour imiter le comportement d'origine.
4.0.5 | Le plupart des paramètres peut maintenant être un tableau.

Exemples

Exemple #1 Exemple 1 avec str_replace()

<?php
// Génère : <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Génère : Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Génère : You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// Génère : 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;

?>

Exemple #2 Exemple 2 avec str_replace()

<?php
// Ordre des remplacements
$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';

// Traitement du premier \r\n, ils ne seront pas convertis deux fois.
$newstr = str_replace($order, $replace, $str);

// Affiche F car A est remplacé par B, puis B est remplacé par C, et ainsi de suite...
// Finalement, E est remplacé par F
$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);

// Affiche : apearpearle pear
// Pour les mêmes raisons que plus haut
$letters = array('a', 'p');
$fruit   = array('apple', 'pear');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);
echo $output;
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Attention

Ordre de remplacement

A cause du fait que la fonction str_replace() effectue les remplacements de la gauche vers la droite, elle peut remplacer une valeur précédemment insérée lors de multiples remplacements.

Note: Cette fonction est sensible à la casse. Utilisez la fonction str_ireplace() pour un remplacement insensible à la casse.

Voir aussi

  • str_ireplace() - Version insensible à la casse de str_replace
  • substr_replace() - Remplace un segment dans une chaîne
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard
  • strtr() - Remplace des caractères dans une chaîne

str_repeat
str_rot13
Fonctions sur les chaînes de caractères


Effectue une transformation ROT13

str_replace
str_shuffle
Fonctions sur les chaînes de caractères
PHP Manual

str_rot13

(PHP 4 >= 4.2.0, PHP 5)

str_rot13 — Effectue une transformation ROT13

Description

string str_rot13 ( string $str )

Effectue un encodage ROT13 de la chaîne str et retourne le résultat.

L'encodage ROT13 décale toutes les lettres de 13 dans l'alphabet, et laisse tous les autres caractères inchangés. L'encodage et le décodage est fait par la même fonction : passer le résultat de str_rot13() à nouveau comme argument, retournera la chaîne originale.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la version ROT13 de la chaîne fournie.

Exemples

Exemple #1 Exemple avec str_rot13()

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

Historique

Version | Description
4.3.0 | Le comportement de cette fonction a été corrigé. Avant cela, le paramètre str était aussi modifié, comme si il avait été passé par référence.

str_replace
str_shuffle
Fonctions sur les chaînes de caractères


Mélange les caractères d'une chaîne de caractères

str_rot13
str_split
Fonctions sur les chaînes de caractères
PHP Manual

str_shuffle

(PHP 4 >= 4.3.0, PHP 5)

str_shuffle — Mélange les caractères d'une chaîne de caractères

Description

string str_shuffle ( string $str )

str_shuffle() mélange les caractères d'une chaîne. Une permutation parmi toutes celles possibles est créée.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne mélangée.

Exemples

Exemple #1 Exemple avec str_shuffle()

<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// Cela va afficher quelque chose comme : bfdaec
echo $shuffled;
?>

Voir aussi

  • shuffle() - Mélange les éléments d'un tableau
  • rand() - Génère une valeur aléatoire

str_rot13
str_split
Fonctions sur les chaînes de caractères


Convertit une chaîne de caractères en tableau

str_shuffle
str_word_count
Fonctions sur les chaînes de caractères
PHP Manual

str_split

(PHP 5)

str_split — Convertit une chaîne de caractères en tableau

Description

array str_split ( string $string [, int $split_length = 1 ] )

Convertit une chaîne de caractères en tableau.

Liste de paramètres

string

La chaîne d'entrée.

split_length

Longueur maximale de chaque élément.

Valeurs de retour

Si le paramètre optionnel split_length est spécifié, le tableau retourné sera découpé en sous-parties, chacune de taille split_length, sinon, chaque sous-partie aura la taille d'un caractère.

FALSE est retourné si split_length est inférieur à 1. Si la longueur de split_length est supérieure à celle de string, la chaîne entière est retournée dans le premier (et seul) élément du tableau.

Exemples

Exemple #1 Exemple avec str_split()

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

Voir aussi

  • chunk_split() - Scinde une chaîne
  • preg_split() - Éclate une chaîne par expression rationnelle
  • explode() - Coupe une chaîne en segments
  • count_chars() - Retourne des statistiques sur les caractères utilisés dans une chaîne
  • str_word_count() - Compte le nombre de mots utilisés dans une chaîne
  • for

str_shuffle
str_word_count
Fonctions sur les chaînes de caractères


Compte le nombre de mots utilisés dans une chaîne

str_split
strcasecmp
Fonctions sur les chaînes de caractères
PHP Manual

str_word_count

(PHP 4 >= 4.3.0, PHP 5)

str_word_count — Compte le nombre de mots utilisés dans une chaîne

Description

mixed str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

str_word_count() compte le nombre de mots dans la chaîne string. Si le paramètre optionnel format n'est pas spécifié, alors la valeur retournée sera un entier, représentant le nombre de mots trouvés. Si format est spécifié, la valeur retournée sera un tableau, qui dépend du format format. Les valeurs possibles pour format sont listées plus bas.

Dans cette fonction, la notion de mot dépend de la configuration de localisation. C'est une chaîne qui contient tous les caractères alphabétiques, et qui peut contenir, mais pas commencer par "'" et "-".

Liste de paramètres

string

La chaîne de caractères

format

Spécifie la valeur de retour de cette fonction. Les valeurs actuellement supportées sont :

  • 0 : retourne le nombre de mots trouvés
  • 1 : retourne un tableau contenant tous les mots trouvés à l'intérieur de string
  • 2 : retourne un tableau associatif, où la clé indique la position numérique du mot à l'intérieur de string et la valeur est le mot actuel

charlist

Une liste des caractères additionnels qui seront considérés comme un mot

Valeurs de retour

Retourne un tableau ou un entier, dépendemment du format choisi.

Historique

Version | Description
5.1.0 | Ajout du paramètre charlist

Exemples

Exemple #1 Exemple avec str_word_count()

<?php

$str = "Salut l'ami, vous
        avez          une b3lle mine !";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Salut
    [1] => l'ami
    [2] => vous
    [3] => avez
    [4] => une
    [5] => b
    [6] => lle
    [7] => mine
)

Array
(
    [0] => Salut
    [6] => l'ami
    [13] => vous
    [27] => avez
    [41] => une
    [45] => b
    [47] => lle
    [51] => mine
)

Array
(
    [0] => Salut
    [1] => l'ami
    [2] => vous
    [3] => avez
    [4] => une
    [5] => b3lle
    [6] => mine
)

8

Voir aussi

  • explode() - Coupe une chaîne en segments
  • preg_split() - Éclate une chaîne par expression rationnelle
  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • count_chars() - Retourne des statistiques sur les caractères utilisés dans une chaîne
  • substr_count() - Compte le nombre d'occurrences de segments dans une chaîne

str_split
strcasecmp
Fonctions sur les chaînes de caractères


Comparaison insensible à la casse de chaînes binaires

str_word_count
strchr
Fonctions sur les chaînes de caractères
PHP Manual

strcasecmp

(PHP 4, PHP 5)

strcasecmp — Comparaison insensible à la casse de chaînes binaires

Description

int strcasecmp ( string $str1 , string $str2 )

Comparaison insensible à la casse de chaînes binaires.

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

Valeurs de retour

Retourne < 0 si str1 est inférieure à str2; > 0 si str1 est plus grande que str2, et 0 si les deux chaînes sont égales.

Exemples

Exemple #1 Exemple avec strcasecmp()

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
   echo '$var1 est égale à $var2 (comparaison insensible à la casse)';
}
?>

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcmp() - Comparaison binaire de chaînes
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strstr() - Trouve la première occurrence dans une chaîne

str_word_count
strchr
Fonctions sur les chaînes de caractères


Alias de strstr

strcasecmp
strcmp
Fonctions sur les chaînes de caractères
PHP Manual

strchr

(PHP 4, PHP 5)

strchr — Alias de strstr()

Description

Cette fonction est un alias de : strstr().

strcasecmp
strcmp
Fonctions sur les chaînes de caractères


Comparaison binaire de chaînes

strchr
strcoll
Fonctions sur les chaînes de caractères
PHP Manual

strcmp

(PHP 4, PHP 5)

strcmp — Comparaison binaire de chaînes

Description

int strcmp ( string $str1 , string $str2 )

Notez que cette comparaison est sensible à la casse.

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

Valeurs de retour

Retourne < 0 si str1 est inférieure à str2; > 0 si str1 est supérieure à str2, et 0 si les deux chaînes sont égales.

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strncmp() - Comparaison binaire des n premiers caractères
  • strstr() - Trouve la première occurrence dans une chaîne

strchr
strcoll
Fonctions sur les chaînes de caractères


Comparaison de chaînes localisées

strcmp
strcspn
Fonctions sur les chaînes de caractères
PHP Manual

strcoll

(PHP 4 >= 4.0.5, PHP 5)

strcoll — Comparaison de chaînes localisées

Description

int strcoll ( string $str1 , string $str2 )

Notez que cette comparaison est sensible à la casse, et que, contrairement à strcmp(), elle n'est pas compatible avec les chaînes binaires.

strcoll() utilise les locales courantes pour effectuer la comparaison. Si la locale courante est C ou POSIX, cette fonction est alors équivalente à la fonction strcmp().

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

Valeurs de retour

Retourne < 0 si str1 est inférieure à str2; > 0 si str1 est supérieure à str2, et 0 si les deux chaînes sont égales.

Historique

Version | Description
4.2.3 | Fonctionne désormais sous les systèmes Win32.

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcmp() - Comparaison binaire de chaînes
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strncmp() - Comparaison binaire des n premiers caractères
  • strstr() - Trouve la première occurrence dans une chaîne
  • setlocale() - Modifie les informations de localisation

strcmp
strcspn
Fonctions sur les chaînes de caractères


Trouve un segment de chaîne ne contenant pas certains caractères

strcoll
strip_tags
Fonctions sur les chaînes de caractères
PHP Manual

strcspn

(PHP 4, PHP 5)

strcspn — Trouve un segment de chaîne ne contenant pas certains caractères

Description

int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

Retourne la taille du premier segment de str1 qui contient aucun des caractères de str2.

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

start

La position sur la chaîne à partir de laquelle on analyse.

length

La taille à examiner de la chaîne.

Valeurs de retour

Retourne la longueur du segment, sous la forme d'un entier.

Historique

Version | Description
4.3.0 | Ajout des paramètres start et length

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strspn() - Trouve la longueur du premier segment d'une chaîne contenant tous les caractères d'un masque donné

strcoll
strip_tags
Fonctions sur les chaînes de caractères


Supprime les balises HTML et PHP d'une chaîne

strcspn
stripcslashes
Fonctions sur les chaînes de caractères
PHP Manual

strip_tags

(PHP 4, PHP 5)

strip_tags — Supprime les balises HTML et PHP d'une chaîne

Description

string strip_tags ( string $str [, string $allowable_tags ] )

strip_tags() tente de retourner la chaîne str après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code. Elle génère des alertes si les balises sont incomplètes ou erronées. Elle utilise le même moteur de recherche que fgetss().

Liste de paramètres

str

La chaîne d'entrée.

allowable_tags

Vous pouvez utiliser ce paramètre optionnel pour spécifier les balises qui ne doivent pas être supprimées.

Note: Les commentaires HTML et PHP sont également supprimés. Ce comportement ne peut être modifié avec le paramètre allowable_tags.

Valeurs de retour

Retourne la chaîne échappée.

Historique

Version | Description
5.0.0 | strip_tags() fonctionne désormais avec les données binaires
4.3.0 | Les commentaires HTML sont maintenant supprimés

Exemples

Exemple #1 Exemple avec strip_tags()

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Autorise <p> et <a>
echo strip_tags($text, '<p><a>');
?>

L'exemple ci-dessus va afficher :

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

Notes

Avertissement

Comme strip_tags() ne valide actuellement pas le HTML, les balises partielles ou rompues peuvent conduire à la suppression de plus de textes/données que désiré.

Avertissement

strip_tags() ne modifie pas les attributs des balises que vous autorisez via le paramètre allowable_tags, y compris les attributs style et onmouseover, que des utilisateurs mal intentionnés peuvent utiliser.

Voir aussi

  • htmlspecialchars() - Convertit les caractères spéciaux en entités HTML

strcspn
stripcslashes
Fonctions sur les chaînes de caractères


Décode une chaîne encodée avec addcslashes

strip_tags
stripos
Fonctions sur les chaînes de caractères
PHP Manual

stripcslashes

(PHP 4, PHP 5)

stripcslashes — Décode une chaîne encodée avec addcslashes()

Description

string stripcslashes ( string $str )

Retourne la chaîne str après avoir supprimé tous les antislashs. stripcslashes() respecte les séquences spéciales du C, telles que \n, \r..., les nombres octaux et hexadécimaux.

Liste de paramètres

str

La chaîne à traiter.

Valeurs de retour

Retourne la chaîne modifiée.

Voir aussi

  • addcslashes() - Ajoute des slash dans une chaîne, à la mode du langage C

strip_tags
stripos
Fonctions sur les chaînes de caractères


Recherche la première occurrence dans une chaîne, sans tenir compte de la casse

stripcslashes
stripslashes
Fonctions sur les chaînes de caractères
PHP Manual

stripos

(PHP 5)

stripos — Recherche la première occurrence dans une chaîne, sans tenir compte de la casse

Description

int stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Retourne la position numérique de la première occurrence de needle dans la chaîne haystack.

Contrairement à strpos(), stripos() est insensible à la casse.

Liste de paramètres

haystack

La chaîne à chercher.

needle

Le paramètre needle peut être une chaîne d'un ou plusieurs caractères.

Si needle n'est pas une chaîne, il est converti en entier, et utilisé comme valeur d'un caractère.

offset

Le paramètre optionnel offset vous permet de spécifier à partir de quel caractère dans haystack vous souhaitez commencer la recherche. La position retournée sera toujours relative au début de la chaîne haystack.

Valeurs de retour

Si le paramètre needle n'est pas trouvé, strpos() retournera FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec stripos()

<?php
$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// Non, 'a' ne fait pas partie de 'xyz'
if ($pos1 === false) {
    echo "La chaîne '$findme' n'a pas été trouvée dans la chaîne '$mystring'";
}

// Notez l'utilisation de ===.  Un simple == ne donnerait pas le résultat escompté
// car la lettre 'a' est à la position 0th (la première).
if ($pos2 !== false) {
    echo "La chaîne '$findme' a été trouvée dans la chaîne '$mystring'";
    echo " à la position $pos";
}
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strpos() - Trouve la position d'un caractère dans une chaîne
  • strrpos() - Trouve la position de la dernière occurrence d'un caractère dans une chaîne
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne
  • strripos() - Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse
  • str_ireplace() - Version insensible à la casse de str_replace

stripcslashes
stripslashes
Fonctions sur les chaînes de caractères


Supprime les antislashs d'une chaîne

stripos
stristr
Fonctions sur les chaînes de caractères
PHP Manual

stripslashes

(PHP 4, PHP 5)

stripslashes — Supprime les antislashs d'une chaîne

Description

string stripslashes ( string $str )

Supprime les antislashs d'une chaîne.

Note: Si magic_quotes_sybase est activée, aucun antislash n'est supprimé, mais deux apostrophes sont remplacées par une seule à la place.

Un exemple d'utilisation de stripslashes() est lorsque la directive PHP magic_quotes_gpc est à on (valeur par défaut) et que vous insérez des données dans une base de données qui requiert la protection des valeurs. Par exemple, si vous affichez simplement et directement des données provenant d'un formulaire HTML.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne une chaîne dont les antislashs on été supprimés. \' devient ', etc. Les doubles antislashs (\\) sont réduits à un seul antislash (\).

Exemples

Exemple #1 Exemple avec stripslashes()

<?php
$str = "Avez-vous l\'oreille dure?";

// Affiche : Avez-vous l'oreille dure?
echo stripslashes($str);
?>

Note: stripslashes() n'est pas récursif. Si vous voulez appliquer cette fonction à un tableau multidimensionnel, vous devez utiliser une fonction récursive.

Exemple #2 Utilisation de stripslashes() sur un tableau

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// Exemple
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Affiche
print_r($array);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Voir aussi

  • addslashes() - Ajoute des antislashs dans une chaîne
  • get_magic_quotes_gpc() - Retourne la configuration actuelle de l'option magic_quotes_gpc

stripos
stristr
Fonctions sur les chaînes de caractères


Version insensible à la casse de strstr

stripslashes
strlen
Fonctions sur les chaînes de caractères
PHP Manual

stristr

(PHP 4, PHP 5)

stristr — Version insensible à la casse de strstr()

Description

string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Retourne une sous-chaîne de haystack, allant de la première occurrence de needle jusqu'à la fin de la chaîne.

Liste de paramètres

haystack

La chaîne à chercher.

needle

Si needle n'est pas une chaîne, elle sera convertie en entier, et utilisée comme code ASCII du caractère correspondant.

before_needle

Si vaut TRUE, stristr() retourne la partie de haystack avant la première occurrence de needle.

needle et haystack sont traitées sans tenir compte de la casse.

Valeurs de retour

Retourne la partie de la chaîne correspondante. Si needle n'est pas trouvé, la fonction retourne FALSE.

Historique

Version | Description
5.3.0 | Ajout du paramètre optionnel before_needle.
4.3.0 | stristr() s'effectue en respectant les chaînes binaires.

Exemples

Exemple #1 Exemple avec stristr()

<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e'); // Affiche ER@EXAMPLE.com
  echo stristr($email, 'e', true); // Depuis PHP 5.3.0, Affiche US
?>

Exemple #2 Teste si une chaîne de caractères est trouvée ou pas

<?php
  $string = 'Hello World!';
  if(stristr($string, 'terre') === FALSE) {
   echo '"terre" non trouvé dans la chaîne de caractères';
  }
// affiche : "terre" non trouvé dans la chaîne de caractères
?>

Exemple #3 Utilisation d'une "chaîne de caractères" en chiffre

<?php
  $string = 'POMME';
  echo stristr($string, 112); // 112 = p minuscule
// Affiche : POMME
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strstr() - Trouve la première occurrence dans une chaîne
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne
  • preg_match() - Expression rationnelle standard

stripslashes
strlen
Fonctions sur les chaînes de caractères


Calcule la taille d'une chaîne

stristr
strnatcasecmp
Fonctions sur les chaînes de caractères
PHP Manual

strlen

(PHP 4, PHP 5)

strlen — Calcule la taille d'une chaîne

Description

int strlen ( string $string )

Retourne la taille de la chaîne string.

Liste de paramètres

string

La chaîne de caractères à mesurer.

Valeurs de retour

La taille de la chaîne string est 0 si le paramètre string est vide.

Exemples

Exemple #1 Exemple avec strlen()

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

Voir aussi

  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
  • mb_strlen() - Retourne la taille d'une chaîne

stristr
strnatcasecmp
Fonctions sur les chaînes de caractères


Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)

strlen
strnatcmp
Fonctions sur les chaînes de caractères
PHP Manual

strnatcasecmp

(PHP 4, PHP 5)

strnatcasecmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)

Description

int strnatcasecmp ( string $str1 , string $str2 )

strnatcasecmp() implémente l'algorithme de comparaison qui ordonne les chaînes tel qu'un homme le ferait. Cette fonction est similaire à la fonction strnatcmp(), mais la comparaison n'est pas sensible à la casse. Pour plus de détails, reportez-vous à » Natural Order String Comparison de Martin Pool (en anglais).

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

Valeurs de retour

Tout comme les autres fonctions de comparaison de chaînes, celle-ci retourne < 0 si str1 est inférieure à str2 > 0 si str1 est supérieure à str2, et 0 si les deux chaînes sont égales.

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcmp() - Comparaison binaire de chaînes
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strncmp() - Comparaison binaire des n premiers caractères
  • strstr() - Trouve la première occurrence dans une chaîne
  • setlocale() - Modifie les informations de localisation

strlen
strnatcmp
Fonctions sur les chaînes de caractères


Comparaison de chaînes avec l'algorithme d'"ordre naturel"

strnatcasecmp
strncasecmp
Fonctions sur les chaînes de caractères
PHP Manual

strnatcmp

(PHP 4, PHP 5)

strnatcmp — Comparaison de chaînes avec l'algorithme d'"ordre naturel"

Description

int strnatcmp ( string $str1 , string $str2 )

Implémente l'algorithme de comparaison qui ordonne les chaînes tel qu'un homme le ferait. Cette fonction est similaire à la fonction strnatcmp(), mais la comparaison n'est pas sensible à la casse.

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

Valeurs de retour

De la même façon que les autres fonctions comparant deux chaînes, la fonction retourne < 0 si str1 est inférieure à str2; > 0 si str1 est supérieure à str2, et 0 si les deux chaînes sont égales.

Exemples

Un exemple de la différence de traitement avec l'algorithme standard est présenté ci-dessous :

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Tri de chaînes standard\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nTri de chaînes \"ordre naturel\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

L'exemple ci-dessus va afficher :

Tri de chaînes standard
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Tri de chaînes "ordre naturel"
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Pour plus de détails, reportez-vous à » Natural Order String Comparison de Martin Pool (en anglais).

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strcmp() - Comparaison binaire de chaînes
  • strncmp() - Comparaison binaire des n premiers caractères
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strnatcasecmp() - Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)
  • strstr() - Trouve la première occurrence dans une chaîne
  • natsort() - Trie un tableau avec l'algorithme à "ordre naturel"
  • natcasesort() - Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse

strnatcasecmp
strncasecmp
Fonctions sur les chaînes de caractères


Compare en binaire des chaînes de caractères

strnatcmp
strncmp
Fonctions sur les chaînes de caractères
PHP Manual

strncasecmp

(PHP 4 >= 4.0.2, PHP 5)

strncasecmp — Compare en binaire des chaînes de caractères

Description

int strncasecmp ( string $str1 , string $str2 , int $len )

strncasecmp() est similaire à strcasecmp(), à la différence près qu'elle permet de limiter le nombre de caractères utilisés pour comparer str1 et str2, avec le paramètre len.

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

len

La longueur des chaînes à utiliser dans la comparaison.

Valeurs de retour

Retourne < 0 si str1 est plus petite que str2; > 0 si str1 est plus grande que str2, et 0 si elles sont égales.

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcmp() - Comparaison binaire de chaînes
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne

strnatcmp
strncmp
Fonctions sur les chaînes de caractères


Comparaison binaire des n premiers caractères

strncasecmp
strpbrk
Fonctions sur les chaînes de caractères
PHP Manual

strncmp

(PHP 4, PHP 5)

strncmp — Comparaison binaire des n premiers caractères

Description

int strncmp ( string $str1 , string $str2 , int $len )

Identique à la fonction strcmp(), avec la différence que vous pouvez spécifier le nombre maximum de caractères à utiliser pour la comparaison de str1 avec str2 grâce au paramètre len.

Notez que cette comparaison est sensible à la casse.

Liste de paramètres

str1

La première chaîne.

str2

La seconde chaîne.

len

Nombre de caractères à utiliser pour la comparaison.

Valeurs de retour

Retourne < 0 si str1 est inférieure à str2; > 0 si str1 est supérieure à str2, et 0 si les deux chaînes sont égales.

Voir aussi

  • preg_match() - Expression rationnelle standard
  • strcmp() - Comparaison binaire de chaînes
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strstr() - Trouve la première occurrence dans une chaîne

strncasecmp
strpbrk
Fonctions sur les chaînes de caractères


Recherche une chaîne de caractères dans un ensemble de caractères

strncmp
strpos
Fonctions sur les chaînes de caractères
PHP Manual

strpbrk

(PHP 5)

strpbrk — Recherche une chaîne de caractères dans un ensemble de caractères

Description

string strpbrk ( string $haystack , string $char_list )

strpbrk() recherche la chaîne haystack dans l'ensemble de caractères char_list.

Liste de paramètres

haystack

La chaîne dans laquelle on cherche char_list.

char_list

Ce paramètre est sensible à la casse.

Valeurs de retour

Retourne une chaîne, commençant au premier caractère trouvé, ou FALSE s'il n'a pas été trouvé.

Exemples

Exemple #1 Exemple avec strpbrk()

<?php

$text = 'This is a Simple text.';

// Ceci affichera "is is a Simple text." car 'i' correspond au premier
echo strpbrk($text, 'mi');

// Ceci affichera "Simple text." car les caractères sont sensibles à la casse
echo strpbrk($text, 'S');
?>

strncmp
strpos
Fonctions sur les chaînes de caractères


Trouve la position d'un caractère dans une chaîne

strpbrk
strrchr
Fonctions sur les chaînes de caractères
PHP Manual

strpos

(PHP 4, PHP 5)

strpos — Trouve la position d'un caractère dans une chaîne

Description

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Retourne la position numérique de la première occurrence de needle dans la chaîne de caractères haystack. Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité.

Liste de paramètres

haystack

La chaîne dans laquelle on doit chercher.

needle

Si needle n'est pas une chaîne, il est converti en entier, et utilisé comme caractère de code ASCII correspondant.

offset

Le paramètre optionnel offset vous permet de spécifier à partir de quel caractère dans haystack vous souhaitez commencer la recherche. La position retournée sera toujours relative au début de la chaîne haystack.

Valeurs de retour

Retourne la position, sous la forme d'un entier. Si needle n'est pas trouvé, strpos() retournera FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Avec ===

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Notez notre utilisation de ===.  == ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos === false) {
    echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
} else {
    echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
    echo " et débute à la position $pos";
}
?>

Exemple #2 Avec !==

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Notez notre utilisation de !==.  != ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos !== false) {
    echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
    echo " et débute à la position $pos";
} else {
    echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
}
?>

Exemple #3 Utiliser un offset

<?php
// Nous pouvons chercher le caractère, et ignorer tout ce qui est avant l'offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, non pas 0
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strrpos() - Trouve la position de la dernière occurrence d'un caractère dans une chaîne
  • stripos() - Recherche la première occurrence dans une chaîne, sans tenir compte de la casse
  • strripos() - Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne

strpbrk
strrchr
Fonctions sur les chaînes de caractères


Trouve la dernière occurrence d'un caractère dans une chaîne

strpos
strrev
Fonctions sur les chaînes de caractères
PHP Manual

strrchr

(PHP 4, PHP 5)

strrchr — Trouve la dernière occurrence d'un caractère dans une chaîne

Description

string strrchr ( string $haystack , mixed $needle )

Retourne le segment de la chaîne haystack qui commence avec la dernière occurrence de needle, jusqu'à la fin de la chaîne haystack.

Liste de paramètres

haystack

La chaîne dans laquelle on doit chercher.

needle

Si needle contient plus d'un caractère, seul le premier sera utilisé. Ce comportement est différent de celui de strchr().

Si needle n'est pas une chaîne, il est converti en entier, et utilisée comme caractère de code ASCII correspondant.

Valeurs de retour

Retourne la portion de la chaîne, ou FALSE si needle n'est pas trouvé.

Historique

Version | Description
4.3.0 | Cette fonction est maintenant compatible avec les données binaires.

Exemples

Exemple #1 Exemple avec strrchr()

<?php
// Lit le dernier dossier dans le chemin $PATH
$dir = substr(strrchr($PATH, ":"), 1);

// Lit tout, après la dernière nouvelle ligne
$text = "Ligne 1\nLigne 2\nLigne 3";
$last = substr(strrchr($text, 10), 1 );
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strstr() - Trouve la première occurrence dans une chaîne
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr

strpos
strrev
Fonctions sur les chaînes de caractères


Inverse une chaîne

strrchr
strripos
Fonctions sur les chaînes de caractères
PHP Manual

strrev

(PHP 4, PHP 5)

strrev — Inverse une chaîne

Description

string strrev ( string $string )

Retourne la chaîne string, après avoir changé l'ordre des caractères.

Liste de paramètres

string

La chaîne à inverser.

Valeurs de retour

Retourne la chaîne inversée.

Exemples

Exemple #1 Inverser une chaîne avec strrev()

<?php
echo strrev("Hello world!"); // Affiche "!dlrow olleH"
?>

strrchr
strripos
Fonctions sur les chaînes de caractères


Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse

strrev
strrpos
Fonctions sur les chaînes de caractères
PHP Manual

strripos

(PHP 5)

strripos — Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse

Description

int strripos ( string $haystack , string $needle [, int $offset = 0 ] )

Trouve la position numérique de la dernière occurrence de needle dans la chaîne de caractères haystack. Contrairement à strrpos(), strripos() est insensible à la casse.

Liste de paramètres

haystack

La chaîne dans laquelle on doit chercher.

needle

Notez que needle peut être une chaîne constituée d'un ou de plusieurs caractères.

offset

Le paramètre offset peu être spécifié pour commencer à chercher un nombre arbitraire de caractères dans la chaîne.

Les valeurs négatives commenceront la recherche aux caractères offset à partir du début de la chaîne de caractères.

Valeurs de retour

Retourne la position numérique de la dernière occurrence de needle. Notez que la position commence à partir de 0, et non de 1.

Si needle n'est pas trouvé, la fonction retourne FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec strripos()

<?php
$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "Désolé, impossible de trouver ($needle) dans ($haystack)";
} else {
    echo "Félicitations !\n";
    echo "Nous avons trouvé le dernier ($needle) dans ($haystack) à la position ($pos)";
}
?>

L'exemple ci-dessus va afficher :

Félicitations !
Nous avons trouvé le dernier (aB) dans (ababcd) à la position (2)

Voir aussi

  • strpos() - Trouve la position d'un caractère dans une chaîne
  • stripos() - Recherche la première occurrence dans une chaîne, sans tenir compte de la casse
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne

strrev
strrpos
Fonctions sur les chaînes de caractères


Trouve la position de la dernière occurrence d'un caractère dans une chaîne

strripos
strspn
Fonctions sur les chaînes de caractères
PHP Manual

strrpos

(PHP 4, PHP 5)

strrpos — Trouve la position de la dernière occurrence d'un caractère dans une chaîne

Description

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

Retourne la position numérique de la dernière occurrence du caractère needle dans la chaîne haystack. Notez que needle doit être un caractère unique en PHP 4. Si une chaîne est passée dans ce paramètre, seul le premier caractère sera utilisé.

Liste de paramètres

haystack

La chaîne à chercher.

needle

Si needle n'est pas une chaîne de caractères, il sera convertit en un entier et utilisé comme valeur ordinale du caractère.

offset

Doit être spécifié pour commencer la recherche à un nombre arbitraire de caractères dans la chaîne. Les valeurs négatives stopperont la recherche à un point arbitraire avant la fin de la chaîne de caractères.

Valeurs de retour

Retourne la position à laquelle l'occurrence a été trouvée. Retourne FALSE si l'occurrence n'a pas été trouvée.

Historique

Version | Description
5.0.0 | Le paramètre needle peut maintenant être une chaîne de caractères composée de plus d'un caractère.
5.0.0 | Le paramètre offset a été introduit.

Exemples

Exemple #1 Vérifie si une occurrence est trouvée dans une chaîne

Il est facile de faire une erreur quant à la valeur retournée entre "caractère trouvé à la position 0" et "caractère non trouvé". Voici comme détecter cette différence :

<?php

$pos = strrpos($mystring, "b");
if ($pos === false) { // note : 3 signes "="
    // non trouvé ...
}

?>

Exemple #2 Recherche avec positions

<?php
$foo = "0123456789a123456789b123456789c";

var_dump(strrpos($foo, '7', -5));  // Commence à cherche en arrière de 5 positions
                                   // depuis la fin. Résultat : int(17)

var_dump(strrpos($foo, '7', 20));  // Commence à chercher à partir de la 20ème positions
                                   // dansla chaîne. Résultat : int(27)

var_dump(strrpos($foo, '7', 28));  // Résultat : bool(false)
?>

Voir aussi

  • strpos() - Trouve la position d'un caractère dans une chaîne
  • strripos() - Trouve la position de la dernière occurrence d'une chaîne dans une autre, de façon insensible à la casse
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strstr() - Trouve la première occurrence dans une chaîne

strripos
strspn
Fonctions sur les chaînes de caractères


Trouve la longueur du premier segment d'une chaîne contenant tous les caractères d'un masque donné

strrpos
strstr
Fonctions sur les chaînes de caractères
PHP Manual

strspn

(PHP 4, PHP 5)

strspn — Trouve la longueur du premier segment d'une chaîne contenant tous les caractères d'un masque donné

Description

int strspn ( string $subject , string $mask [, int $start [, int $length ]] )

Retourne la longueur du premier groupe de caractères consécutifs du masque mask trouvé dans la chaîne subject.

Si les paramètres start et length sont omis, alors toutes les chaînes subject seront analysées. S'ils sont fournis, alors les effets seront identiques à appeler strspn(substr($subject, $start, $length), $mask) (voir substr pour plus d'informations).

Le code suivant :

<?php
$var = strspn("42 est la réponse, mais quelle est la question.", "1234567890");
?>
assigne 2 à la variable $var, car la chaîne "42" est le plus long segment du paramètre subject dont les caractères sont contenus dans "1234567890".

Liste de paramètres

subject

La chaîne à analyser.

mask

La liste des caractères autorisés à être inclus dans les segments comptés.

start

La position dans la chaîne subject à partir de laquelle nous devons chercher.

Si start est fourni et n'est pas négatif, alors strspn() commencera à analyser la chaîne subject à la position start. Par exemple, dans la chaîne 'abcdef', le caractère à la position 0 est 'a', le caractère à la position 2 est 'c', et ainsi de suite.

Si start est fourni et est négatif, alors strspn() commencera à analyser la chaîne subject à la position start depuis la fin de la chaîne subject.

length

La longueur de la chaîne à analyser.

Si length est fourni et n'est pas négatif, alors subject sera examiné sur length caractères après la position de départ.

Si length est fourni et est négatif, alors subject sera examiné sur length caractères depuis la fin de la chaîne subject.

Valeurs de retour

Retourne la taille du segment initial de la chaîne str1 qui est entièrement constitué de caractères contenus dans str2.

Historique

Version | Description
4.3.0 | Ajout des paramètres start et length

Exemples

Exemple #1 Exemple avec strspn()

<?php
echo strspn("foo", "o", 1, 2); // Affiche : 2
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strcspn() - Trouve un segment de chaîne ne contenant pas certains caractères

strrpos
strstr
Fonctions sur les chaînes de caractères


Trouve la première occurrence dans une chaîne

strspn
strtok
Fonctions sur les chaînes de caractères
PHP Manual

strstr

(PHP 4, PHP 5)

strstr — Trouve la première occurrence dans une chaîne

Description

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

Retourne une sous-chaîne de haystack, allant de la première occurrence de needle jusqu'à la fin de la chaîne.

Note: strstr() est sensible à la casse. Pour une fonctionnalité identique, mais insensible à la casse, reportez-vous à stristr().

Note: Si vous voulez juste déterminer si un needle particulier se trouve dans la chaîne haystack, utilisez la fonction strpos() qui est plus rapide et qui consomme moins de ressources.

Liste de paramètres

haystack

La chaîne d'entrée.

needle

Si needle n'est pas une chaîne, elle sera convertie en entier, et utilisée comme code ASCII du caractère correspondant.

before_needle

Si vaut TRUE, strstr() retourne la partie de haystack avant la première occurrence de needle.

Valeurs de retour

Retourne la portion de la chaîne, ou FALSE si needle n'est pas trouvé.

Historique

Version | Description
5.3.0 | Ajout du paramètre optionnel before_needle.
4.3.0 | strstr() est maintenant compatible avec les données binaires.

Exemples

Exemple #1 Exemple avec strstr()

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // Affiche : @example.com

$user = strstr($email, '@', true); // Depuis PHP 5.3.0
echo $user; // Affiche : name
?>

Voir aussi

  • preg_match() - Expression rationnelle standard
  • stristr() - Version insensible à la casse de strstr
  • strpos() - Trouve la position d'un caractère dans une chaîne
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne

strspn
strtok
Fonctions sur les chaînes de caractères


Coupe une chaîne en segments

strstr
strtolower
Fonctions sur les chaînes de caractères
PHP Manual

strtok

(PHP 4, PHP 5)

strtok — Coupe une chaîne en segments

Description

string strtok ( string $str , string $token )
string strtok ( string $token )

strtok() coupe la chaîne str en segment, chaque segment étant délimité par token. Par exemple, si vous avez une chaîne telle que "Voici un bon exemple", vous pouvez en extraire les différents mots en utilisant cette fonction.

Notez que seul le premier appel à strtok() nécessite les deux arguments. Tous les appels ultérieurs à strtok() ne nécessitent que le délimiteur. Pour initialiser à nouveau strtok(), ou pour recommencer, fournissez à nouveau le paramètre str. La chaîne str sera découpée dès que l'un des caractères de token est trouvé.

Liste de paramètres

str

La chaîne que l'on doit couper en plusieurs chaînes de tailles plus petites.

token

Le délimiteur utilisé lors de la découpe.

Valeurs de retour

Une chaîne coupée.

Exemples

Exemple #1 Exemple avec strtok()

<?php
$string = "This is\tan example\nstring";
// Utilisez aussi les nouvelles lignes et les tabulations
// comme séparateur de mots
$tok = strtok($string, " \n\t");

while ($tok !== false) {
    echo "Word=$tok<br />";
    $tok = strtok(" \n\t");
}
?>

Le comportement de cette fonction avec la chaîne vide a changé depuis PHP 4.1.0. L'ancien comportement était de retourner une chaîne vide, tandis que le nouveau comportement, plus correct, retourne FALSE :

Exemple #2 Ancien comportement de strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

L'exemple ci-dessus va afficher :

    string(0) ""
    string(9) "something"

Exemple #3 Nouveau comportement de strtok()

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

L'exemple ci-dessus va afficher :

    string(9) "something"
    bool(false)

Notes

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Voir aussi

  • split() - Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • explode() - Coupe une chaîne en segments

strstr
strtolower
Fonctions sur les chaînes de caractères


Renvoie une chaîne en minuscules

strtok
strtoupper
Fonctions sur les chaînes de caractères
PHP Manual

strtolower

(PHP 4, PHP 5)

strtolower — Renvoie une chaîne en minuscules

Description

string strtolower ( string $str )

Retourne string, après avoir converti tous les caractères alphabétiques en minuscules.

Notez que la notion d'"alphabétique" est déterminée par la configuration de localisation. Cela signifie que pour la configuration par défaut "C", les caractères tels que les voyelles accentuées (comme é, è ou à) ne seront pas convertis.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne en minuscule.

Exemples

Exemple #1 Exemple avec strtolower()

<?php
$str = "Marie A un Petit Agneau, et l'aime TRès fORt.";
$str = strtolower($str);
echo $str; // marie a un petit agneau, et l'aime très fort.
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strtoupper() - Renvoie une chaîne en majuscules
  • ucfirst() - Met le premier caractère en majuscule
  • ucwords() - Met en majuscule la première lettre de tous les mots
  • mb_strtolower() - Met tous les caractères en minuscules

strtok
strtoupper
Fonctions sur les chaînes de caractères


Renvoie une chaîne en majuscules

strtolower
strtr
Fonctions sur les chaînes de caractères
PHP Manual

strtoupper

(PHP 4, PHP 5)

strtoupper — Renvoie une chaîne en majuscules

Description

string strtoupper ( string $string )

strtoupper() retourne string, après avoir converti tous les caractères alphabétiques en majuscules.

Notez que la notion d'"alphabétique" est déterminée par la configuration de localisation. Cela signifie que pour la configuration par défaut "C", les caractères tels que les voyelles accentuées (comme é, è ou à) ne seront pas converties.

Liste de paramètres

string

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne en majuscule.

Exemples

Exemple #1 Exemple avec strtoupper()

<?php
$str = "Marie A un Petit Agneau, et l'aime fORt.";
$str = strtoupper($str);
echo $str; // MARIE A UN PETIT AGNEAU, ET L'AIME FORT.

// Note : Très aurait été converti en TRèS
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strtolower() - Renvoie une chaîne en minuscules
  • ucfirst() - Met le premier caractère en majuscule
  • ucwords() - Met en majuscule la première lettre de tous les mots
  • mb_strtoupper() - Met tous les caractères en majuscules

strtolower
strtr
Fonctions sur les chaînes de caractères


Remplace des caractères dans une chaîne

strtoupper
substr_compare
Fonctions sur les chaînes de caractères
PHP Manual

strtr

(PHP 4, PHP 5)

strtr — Remplace des caractères dans une chaîne

Description

string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )

strtr() retourne la chaîne str, après avoir remplacé chaque caractère du paramètre from par son équivalent dans le paramètre to.

Si from et to sont de tailles différentes, les caractères en trop dans l'un ou l'autre seront ignorés.

Liste de paramètres

str

La chaîne à traiter.

from

Les caractères de départ.

to

Les caractères de remplacement.

replace_pairs

Le paramètre replace_pairs peut être utilisé comme substitue à to et from et dans ce cas, ce sera un tableau sous la forme array('from' => 'to', ...).

Valeurs de retour

Retourne la chaîne de caractères modifiée.

Si replace_pairs contient une clé vide (""), FALSE sera retourné.

Exemples

Exemple #1 Exemple avec strtr()

<?php
$addr = strtr($addr, "äåö", "aao");
?>

strtr() peut être appelée avec uniquement deux arguments. Dans ce cas, elle se comporte d'une autre façon : from doit alors être un tableau associatif de paires, qui seront remplacées dans la chaîne str. strtr() commence toujours par rechercher la chaîne la plus longue, et ne travaille pas sur des segments qu'elle a déjà modifié.

Exemple #2 Exemple avec strtr() et 2 arguments

<?php
$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

L'exemple ci-dessus va afficher :

hello all, I said hi

Voir aussi

  • str_replace() - Remplace toutes les occurrences dans une chaîne
  • preg_replace() - Rechercher et remplacer par expression rationnelle standard

strtoupper
substr_compare
Fonctions sur les chaînes de caractères


Compare deux chaînes depuis un offset jusqu'à une longueur en caractères

strtr
substr_count
Fonctions sur les chaînes de caractères
PHP Manual

substr_compare

(PHP 5)

substr_compare — Compare deux chaînes depuis un offset jusqu'à une longueur en caractères

Description

int substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = false ]] )

substr_compare() compare main_str à partir de la position offset avec str pendant length caractères.

Liste de paramètres

main_str

La chaîne principale à comparer.

str

La chaîne secondaire à comparer.

offset

La position de départ de la comparaison. Si c'est une valeur négative, on commence à compter à partir de la fin de la chaîne.

length

La longueur de la comparaison. La valeur par défaut est la plus grande longueur du paramètre str comparée à la longueur de main_str, moins la valeur du paramètre offset.

case_insensitivity

Si case_insensitivity vaut TRUE, la comparaison est insensible à la casse.

Valeurs de retour

Retourne < 0 si main_str à partir de offset est inférieur à str, > 0 s'il est plus grand que str, et 0 si ils sont égaux. Si length est égal ou plus grand que la taille de main_str ou que length est configuré et est inférieur à 1, substr_compare() affiche une alerte et retourne FALSE.

Historique

Version | Description
5.1.0 | Ajout de la possibilité d'utiliser une valeur négative pour le paramètre offset.

Exemples

Exemple #1 Exemple avec substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>

strtr
substr_count
Fonctions sur les chaînes de caractères


Compte le nombre d'occurrences de segments dans une chaîne

substr_compare
substr_replace
Fonctions sur les chaînes de caractères
PHP Manual

substr_count

(PHP 4, PHP 5)

substr_count — Compte le nombre d'occurrences de segments dans une chaîne

Description

int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )

substr_count() retourne le nombre d'occurrences de needle dans la chaîne haystack. Notez que needle est sensible à la casse.

Note: Cette fonction ne compte pas les chaînes de caractères qui se recouvrent. Voyez l'exemple ci-dessous !

Liste de paramètres

haystack

La chaîne de caractères pour rechercher à l'intérieur

needle

La chaîne de caractères que l'on recherche

offset

Le décalage où on commence à compter

length

La taille maximale après le décalage spécifié pour rechercher la chaîne. La fonction émet une erreur si le décalage plus la taille est plus grand que la taille de haystack.

Valeurs de retour

Cette fonction retourne un entier.

Historique

Version | Description
5.1.0 | Ajout des paramètres offset et length

Exemples

Exemple #1 Exemple avec substr_count()

<?php
$text = 'Ceci est un test';
echo strlen($text); // 16

echo substr_count($text, 'est'); // 2

// la chaîne de caractères est réduite à 'st un test', alors elle affiche 1
echo substr_count($text, 'est', 6);

// le texte est réduit à 'st u', alors elle affiche 0
echo substr_count($text, 'est', 6, 4);

// génère une erreur parce que 8+10 > 16
echo substr_count($text, 'est', 8, 10);

// affiche seulement 1, parce que elle ne compte pas les chaînes de caractères
// qui se recouvrent
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Voir aussi

  • count_chars() - Retourne des statistiques sur les caractères utilisés dans une chaîne
  • strpos() - Trouve la position d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne
  • strstr() - Trouve la première occurrence dans une chaîne

substr_compare
substr_replace
Fonctions sur les chaînes de caractères


Remplace un segment dans une chaîne

substr_count
substr
Fonctions sur les chaînes de caractères
PHP Manual

substr_replace

(PHP 4, PHP 5)

substr_replace — Remplace un segment dans une chaîne

Description

mixed substr_replace ( mixed $string , string $replacement , int $start [, int $length ] )

substr_replace() remplace un segment de la chaîne string par la chaîne replacement. Le segment est délimité par start et éventuellement par length.

Liste de paramètres

string

La chaîne d'entrée.

replacement

La chaîne de remplacement.

start

Si start est positif, le remplacement se fera à partir du caractère numéro start dans string.

Si start est négatif, le remplacement se fera à partir du start-ième caractère en partant de la fin de la chaîne string.

length

Si length est fourni et positif, il représentera la longueur du segment de code remplacé dans la chaîne string. S'il est négatif, il représentera la longueur du segment remplacé, mais compté dans l'ordre inverse de la chaîne string. S'il est omis, il prendra la valeur par défaut de la taille de la chaîne, et remplacera tout jusqu'à la fin de la chaîne string. Bien sûr, si length vaut 0, alors, cette fonction aura comme effet d'insérer replacement dans string à la position start donnée.

Valeurs de retour

La chaîne résultante est retournée. Si le paramètre string est un tableau, alors un tableau sera retourné.

Exemples

Exemple #1 Exemple avec substr_replace()

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original : $var<hr />\n";

// Remplace toute la chaîne $var par 'bob'.
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

// Insert 'bob' au début de la chaîne
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

// Remplace la séquence 'MNRPQR' par 'bob'.
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

// Efface la séquence 'MNRPQR' de $var.
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • str_replace() - Remplace toutes les occurrences dans une chaîne
  • substr() - Retourne un segment de chaîne
  • Accès et modification d'une chaîne, par caractère

substr_count
substr
Fonctions sur les chaînes de caractères


Retourne un segment de chaîne

substr_replace
trim
Fonctions sur les chaînes de caractères
PHP Manual

substr

(PHP 4, PHP 5)

substr — Retourne un segment de chaîne

Description

string substr ( string $string , int $start [, int $length ] )

Retourne le segment de string défini par start et length.

Liste de paramètres

string

La chaîne d'entrée.

start

Si start est positif, la chaîne retournée commencera au caractère numéro start, dans la chaîne string. Le premier caractère est numéroté zéro. Actuellement, dans la chaîne 'abcdef', le caractère à la position 0 est 'a', le caractère à la position 2 est 'c', et ainsi de suite.

Si start est négatif, la chaîne retournée commencera au caractère numéro start à compter de la fin de la chaîne string.

Si string est plus petit ou égal à start caractères de long, FALSE sera retourné.

Exemple #1 Exemple de start négatif

<?php
$rest = substr("abcdef", -1);    // retourne "f"
$rest = substr("abcdef", -2);    // retourne "ef"
$rest = substr("abcdef", -3, 1); // retourne "d"
?>

length

Si length est fourni et est positif, la chaîne retournée contiendra au plus length caractères, en commençant à partir du caractère start (en fonction de la taille de la chaîne string).

Si length est fourni et négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne string. Si start représente une position hors de la chaîne, une chaîne vide sera retournée.

Si le paramètre length est fourni et vaut 0, FALSE ou NULL, une chaîne vide sera retournée.

Exemple #2 Utilisation d'une valeur négative pour length

<?php
$rest = substr("abcdef", 0, -1);  // retourne "abcde"
$rest = substr("abcdef", 2, -1);  // retourne "cde"
$rest = substr("abcdef", 4, -4);  // retourne ""
$rest = substr("abcdef", -3, -1); // retourne "de"
?>

Valeurs de retour

Retourne la partie extraite de la chaîne ou FALSE si une erreur survient.

Exemples

Exemple #3 Exemple avec substr()

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Accéder à un simple caractère dans une chaîne
// peut également être réalisé en utilisant des crochets
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

Erreurs / Exceptions

Retourne FALSE en cas d'erreur.

<?php
var_dump(substr('a', 1)); // bool(false)
?>

Voir aussi

  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr_replace() - Remplace un segment dans une chaîne
  • preg_match() - Expression rationnelle standard
  • trim() - Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
  • mb_substr() - Lit une sous-chaîne
  • wordwrap() - Effectue la césure d'une chaîne
  • Accès et modification d'une chaîne, par caractère

substr_replace
trim
Fonctions sur les chaînes de caractères


Supprime les espaces (ou d'autres caractères) en début et fin de chaîne

substr
ucfirst
Fonctions sur les chaînes de caractères
PHP Manual

trim

(PHP 4, PHP 5)

trim — Supprime les espaces (ou d'autres caractères) en début et fin de chaîne

Description

string trim ( string $str [, string $charlist ] )

trim() retourne la chaîne str, après avoir supprimé les caractères invisibles en début et fin de chaîne. Si le second paramètre charlist est omis, trim() supprimera les caractères suivants :

  • " " (ASCII 32 (0x20)), un espace ordinaire.
  • "\t" (ASCII 9 (0x09)), une tabulation.
  • "\n" (ASCII 10 (0x0A)), une nouvelle ligne (line feed).
  • "\r" (ASCII 13 (0x0D)), un retour chariot (carriage return).
  • "\0" (ASCII 0 (0x00)), le caractère NUL.
  • "\x0B" (ASCII 11 (0x0B)), une tabulation verticale.

Liste de paramètres

str

La chaîne de caractères qui sera coupé.

charlist

Optionnellement, les caractères supprimés peuvent aussi être spécifiés en utilisant le paramètre charlist. Listez simplement tous les caractères que vous voulez supprimer. Avec .. vous pouvez spécifier une plage de caractères.

Valeurs de retour

La chaîne de caractères coupée.

Historique

Version | Description
4.1.0 | Le paramètre optionnel charlist a été ajouté.

Exemples

Exemple #1 Exemple avec trim()

<?php

$text   = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Hdle");
var_dump($trimmed);

// Supprime les caractères de contrôle ASCII au début et à la fin de $binary
// (de 0 à 31 inclusif)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);

?>

L'exemple ci-dessus va afficher :

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(14) "Example string"

Exemple #2 Suppression de caractères dans un tableau avec trim()

<?php
function trim_value(&$value)
{
    $value = trim($value);
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

L'exemple ci-dessus va afficher :

array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(7) "banana "
  [2]=>
  string(11) " cranberry "
}
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(9) "cranberry"
}

Voir aussi

  • ltrim() - Supprime les espaces (ou d'autres caractères) de début de chaîne
  • rtrim() - Supprime les espaces (ou d'autres caractères) de fin de chaîne

substr
ucfirst
Fonctions sur les chaînes de caractères


Met le premier caractère en majuscule

trim
ucwords
Fonctions sur les chaînes de caractères
PHP Manual

ucfirst

(PHP 4, PHP 5)

ucfirst — Met le premier caractère en majuscule

Description

string ucfirst ( string $str )

Retourne la chaîne str après avoir remplacé le premier caractère par sa majuscule, si le premier caractère est alphabétique.

Notez que la notion d'"alphabétique" est déterminée par la configuration de localisation. Cela signifie que pour la configuration par défaut "C", les caractères tels que les voyelles accentuées (comme é, è ou à) ne seront pas converties.

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne après modification.

Exemples

Exemple #1 Exemple avec ucfirst()

<?php
$foo = 'bonjour tout le monde!';
$foo = ucfirst($foo);             // Bonjour tout le monde!

$bar = 'BONJOUR TOUT LE MONDE!';
$bar = ucfirst($bar);             // BONJOUR TOUT LE MONDE!
$bar = ucfirst(strtolower($bar)); // Bonjour tout le monde!
?>

Voir aussi

  • lcfirst() - Met le premier caractère en minuscule
  • strtolower() - Renvoie une chaîne en minuscules
  • strtoupper() - Renvoie une chaîne en majuscules
  • ucwords() - Met en majuscule la première lettre de tous les mots

trim
ucwords
Fonctions sur les chaînes de caractères


Met en majuscule la première lettre de tous les mots

ucfirst
vfprintf
Fonctions sur les chaînes de caractères
PHP Manual

ucwords

(PHP 4, PHP 5)

ucwords — Met en majuscule la première lettre de tous les mots

Description

string ucwords ( string $str )

Retourne la chaîne str après avoir mis en majuscule la première lettre de tous les mots, si ce caractère est alphabétique.

La définition d'un mot est : toute séquence de caractères qui suit immédiatement un caractère blanc (espace, tabulation, nouvelle ligne, retour chariot, tabulation verticale).

Liste de paramètres

str

La chaîne d'entrée.

Valeurs de retour

Retourne la chaîne, après modification.

Exemples

Exemple #1 Exemple avec ucwords()

<?php
$foo = 'bonjour tout le monde!';
$foo = ucwords($foo);             // Bonjour Tout Le Monde!

$bar = 'BONJOUR TOUT LE MONDE!';
$bar = ucwords($bar);             // BONJOUR TOUT LE MONDE!
$bar = ucwords(strtolower($bar)); // Bonjour Tout Le Monde!
?>

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strtoupper() - Renvoie une chaîne en majuscules
  • strtolower() - Renvoie une chaîne en minuscules
  • ucfirst() - Met le premier caractère en majuscule
  • mb_convert_case() - Modifie la casse d'une chaîne

ucfirst
vfprintf
Fonctions sur les chaînes de caractères


Écrit une chaîne formatée dans un flux

ucwords
vprintf
Fonctions sur les chaînes de caractères
PHP Manual

vfprintf

(PHP 5)

vfprintf — Écrit une chaîne formatée dans un flux

Description

int vfprintf ( resource $handle , string $format , array $args )

Écrit une chaîne produite en accord avec le paramètre format dans le flux handle.

Agit de la même façon que fprintf() excepté que vfprintf() accepte un tableau d'arguments, plutôt qu'un nombre variant d'arguments.

Liste de paramètres

handle

format

Voir la documentation de la fonction sprintf() pour une description complète du paramètre format.

args

Valeurs de retour

Retourne la longueur de la chaîne retournée.

Exemples

Exemple #1 vfprintf() : zéro comme caractères d'espacements

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// écrira la date formatée ISO dans date.txt
?>

Voir aussi

  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • fscanf() - Analyse un fichier en fonction d'un format
  • vsprintf() - Retourne une chaîne formatée
  • number_format() - Formate un nombre pour l'affichage

ucwords
vprintf
Fonctions sur les chaînes de caractères


Affiche une chaîne formatée

vfprintf
vsprintf
Fonctions sur les chaînes de caractères
PHP Manual

vprintf

(PHP 4 >= 4.1.0, PHP 5)

vprintf — Affiche une chaîne formatée

Description

int vprintf ( string $format , array $args )

vprintf() affiche le tableau args, sous forme de chaîne formatée grâce à format. Le format est le même que celui utilisé par sprintf().

vprintf() fonctionne comme printf(), mais accepte un tableau comme argument, au lieu d'une liste d'arguments.

Liste de paramètres

format

Voir la documentation de la fonction sprintf() pour une description détaillée du paramètre format.

args

Valeurs de retour

Retourne la longueur de la chaîne retournée.

Exemples

Exemple #1 Exemple avec vprintf() : entiers complétés avec des zéros

<?php
vprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Voir aussi

  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée
  • vsprintf() - Retourne une chaîne formatée

vfprintf
vsprintf
Fonctions sur les chaînes de caractères


Retourne une chaîne formatée

vprintf
wordwrap
Fonctions sur les chaînes de caractères
PHP Manual

vsprintf

(PHP 4 >= 4.1.0, PHP 5)

vsprintf — Retourne une chaîne formatée

Description

string vsprintf ( string $format , array $args )

vsprintf() fonctionne comme sprintf(), mais accepte un tableau comme argument, au lieu d'une liste d'arguments.

Liste de paramètres

format

Voir la documentation de la fonction sprintf() pour une description détaillée du paramètre format.

args

Valeurs de retour

Retourne une chaîne formatée à partir du tableau de valeurs args, et en utilisant le format format. Le format est le même que celui utilisé par sprintf().

Exemples

Exemple #1 Exemple avec vsprintf() : entiers avec zéro initiaux

<?php
print vsprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); // 1988-08-01
?>

Voir aussi

  • sprintf() - Retourne une chaîne formatée
  • vprintf() - Affiche une chaîne formatée

vprintf
wordwrap
Fonctions sur les chaînes de caractères


Effectue la césure d'une chaîne

vsprintf
Extensions relatives aux variables et aux types
Fonctions sur les chaînes de caractères
PHP Manual

wordwrap

(PHP 4 >= 4.0.2, PHP 5)

wordwrap — Effectue la césure d'une chaîne

Description

string wordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]] )

Effectue la césure d'une chaîne.

Liste de paramètres

str

La chaîne d'entrée.

width

La largeur de la colonne.

break

La ligne est rompue en utilisant ce paramètre optionnel.

cut

Si le paramètre cut vaut TRUE, la césure de la chaîne sera toujours à la taille width plus petit. Si vous avez un mot qui est plus long que la taille de césure, il sera coupé en morceaux : voir le second exemple.

Valeurs de retour

Retourne la chaîne str, après avoir inséré break tous les width caractères.

Historique

Version | Description
4.0.3 | Ajout du paramètre optionnel cut.

Exemples

Exemple #1 Exemple avec wordwrap()

<?php
$text = "Portez ce vieux whisky au juge blond qui fume.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

L'exemple ci-dessus va afficher :

Portez ce vieux<br />
whisky au juge<br />
blond qui fume.

Exemple #2 Exemple avec wordwrap()

<?php
$text = "Un mot très très loooooooooooooooooong.";
$newtext = wordwrap($text, 8, "\n", true);

echo "$newtext\n";
?>

L'exemple ci-dessus va afficher :

Un mot
très
très
looooooo
oooooooo
ooong.

Voir aussi

  • nl2br() - Insère un retour à la ligne HTML à chaque nouvelle ligne
  • chunk_split() - Scinde une chaîne

vsprintf
Extensions relatives aux variables et aux types
Fonctions sur les chaînes de caractères


Extensions relatives aux variables et aux types

  • Les tableaux
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Tri des tableaux
    • Fonctions sur les tableaux
  • Classes/Objets — Les Classes/Objets
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions Classes/Objets
  • Classkit
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Classkit
  • ctype — Vérification des types de caractères
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions Ctype
  • Filter — Filtrage des données
    • Introduction
    • Installation/Configuration
    • Types de filtres
    • Constantes pré-définies
    • Exemples
    • Filter Fonctions
  • Gestion des fonctions
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions sur la gestion des fonctions
  • Agrégation d'objets — Agrégation/composition d'objets [PHP4]
    • Introduction
    • Exemples
    • Fonctions d'agrégation d'objets/de composition de fonctions
  • Reflection
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Étendre la classe
    • Reflection — La classe Reflection
    • ReflectionClass — La classe ReflectionClass
    • ReflectionExtension — La classe ReflectionExtension
    • ReflectionFunction — La classe ReflectionFunction
    • ReflectionFunctionAbstract — La classe ReflectionFunctionAbstract
    • ReflectionMethod — La classe ReflectionMethod
    • ReflectionObject — La classe ReflectionObject
    • ReflectionParameter — La classe ReflectionParameter
    • ReflectionProperty — La classe ReflectionProperty
    • Reflector — L'interface Reflector
  • Gestion des variables
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions de gestion des variables
wordwrap
Les tableaux
Référence des fonctions


Les tableaux

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Tri des tableaux
  • Fonctions sur les tableaux
    • array_change_key_case — Change la casse des clés d'un tableau
    • array_chunk — Sépare un tableau en tableaux de taille inférieure
    • array_combine — Crée un tableau à partir de deux autres tableaux
    • array_count_values — Compte le nombre de valeurs d'un tableau
    • array_diff_assoc — Calcule la différence de deux tableaux, en prenant aussi en compte les clés
    • array_diff_key — Calcule la différence de deux tableaux en utilisant les clés pour comparaison
    • array_diff_uassoc — Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
    • array_diff_ukey — Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
    • array_diff — Calcule la différence entre deux tableaux
    • array_fill_keys — Remplit un tableau avec des valeurs, en spécifiant les clés
    • array_fill — Remplit un tableau avec une même valeur
    • array_filter — Filtre les éléments d'un tableau grâce à une fonction utilisateur
    • array_flip — Remplace les clés par les valeurs, et les valeurs par les clés
    • array_intersect_assoc — Calcule l'intersection de deux tableaux avec des tests sur les index
    • array_intersect_key — Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
    • array_intersect_uassoc — Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
    • array_intersect_ukey — Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
    • array_intersect — Calcule l'intersection de tableaux
    • array_key_exists — Vérifie si une clé existe dans un tableau
    • array_keys — Retourne toutes les clés d'un tableau
    • array_map — Applique une fonction sur les éléments d'un tableau
    • array_merge_recursive — Combine plusieurs tableaux ensemble, récursivement
    • array_merge — Fusionne plusieurs tableaux en un seul
    • array_multisort — Trie les tableaux multidimensionnels
    • array_pad — Complète un tableau avec une valeur jusqu'à la longueur spécifiée
    • array_pop — Dépile un élément de la fin d'un tableau
    • array_product — Calcule le produit des valeurs du tableau
    • array_push — Empile un ou plusieurs éléments à la fin d'un tableau
    • array_rand — Prend une ou plusieurs valeurs, au hasard dans un tableau
    • array_reduce — Réduit itérativement un tableau
    • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
    • array_replace — Remplace les éléments d'un tableau par ceux d'autres tableaux
    • array_reverse — Inverse l'ordre des éléments d'un tableau
    • array_search — Recherche dans un tableau la clé associée à une valeur
    • array_shift — Dépile un élément au début d'un tableau
    • array_slice — Extrait une portion de tableau
    • array_splice — Efface et remplace une portion de tableau
    • array_sum — Calcule la somme des valeurs du tableau
    • array_udiff_assoc — Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
    • array_udiff_uassoc — Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
    • array_udiff — Calcule la différence entre deux tableaux en utilisant une fonction rappel
    • array_uintersect_assoc — Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
    • array_uintersect_uassoc — Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel
    • array_uintersect — Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
    • array_unique — Dédoublonne un tableau
    • array_unshift — Empile un ou plusieurs éléments au début d'un tableau
    • array_values — Retourne toutes les valeurs d'un tableau
    • array_walk_recursive — Applique une fonction de rappel récursivement à chaque membre d'un tableau
    • array_walk — Exécute une fonction sur chacun des éléments d'un tableau
    • array — Crée un tableau
    • arsort — Trie un tableau en ordre inverse
    • asort — Trie un tableau et conserve l'association des index
    • compact — Crée un tableau à partir de variables et de leur valeur
    • count — Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
    • current — Retourne l'élément courant du tableau
    • each — Retourne chaque paire clé/valeur d'un tableau
    • end — Positionne le pointeur de tableau en fin de tableau
    • extract — Importe les variables dans la table des symboles
    • in_array — Indique si une valeur appartient à un tableau
    • key — Retourne une clé d'un tableau associatif
    • krsort — Trie un tableau en sens inverse et suivant les clés
    • ksort — Trie un tableau suivant les clés
    • list — Assigne des variables comme si elles étaient un tableau
    • natcasesort — Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse
    • natsort — Trie un tableau avec l'algorithme à "ordre naturel"
    • next — Avance le pointeur interne d'un tableau
    • pos — Alias de current
    • prev — Recule le pointeur courant de tableau
    • range — Crée un tableau contenant un intervalle d'éléments
    • reset — Remet le pointeur interne de tableau au début
    • rsort — Trie un tableau en ordre inverse
    • shuffle — Mélange les éléments d'un tableau
    • sizeof — Alias de count
    • sort — Trie un tableau
    • uasort — Trie un tableau en utilisant une fonction de rappel
    • uksort — Trie un tableau par ses clés en utilisant une fonction de rappel
    • usort — Trie un tableau en utilisant une fonction de comparaison
Extensions relatives aux variables et aux types
Introduction
Extensions relatives aux variables et aux types


Introduction

Ces fonctions vous permettent de travailler et de manipuler les tableaux de plusieurs façons. Les tableaux sont essentiels pour le stockage, la gestion et les opérations sur des jeux de variables.

Les tableaux simples et multidimensionnels sont supportés, et peuvent être créés soit par l'utilisateur, soit par une fonction. Il existe des fonctions spécifiques aux bases de données permettant de remplir des tableaux depuis des requêtes à la base de données, mais aussi des fonctions retournant des tableaux.

Référez-vous à la section sur les tableaux de ce manuel pour une explication détaillée sur la façon dont les tableaux sont implémentés et utilisés en PHP. Lisez également les opérateurs sur les tableaux afin de voir d'autres façons de manipuler les tableaux.

Les tableaux
Installation/Configuration
Les tableaux


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Les tableaux


Constantes pré-définies

Les constantes listées ici sont toujours disponibles dans PHP.

CASE_LOWER ( integer )
CASE_LOWER est utilisée avec array_change_key_case() et sert à convertir tous les index d'un tableau en minuscules. C'est aussi le comportement par défaut de array_change_key_case().
CASE_UPPER ( integer )
CASE_UPPER est utilisée avec array_change_key_case() et sert à convertir tous les index d'un tableau en majuscules.

Constantes d'ordre de tri :

SORT_ASC ( integer )
SORT_ASC est utilisée avec array_multisort() pour trier en ordre ascendant
SORT_DESC ( integer )
SORT_DESC est utilisée avec array_multisort() pour trier en ordre descendant

Autres constantes d'ordre de tri :

SORT_REGULAR ( integer )
SORT_REGULAR compare normalement les valeurs d'un tri.
SORT_NUMERIC ( integer )
SORT_NUMERIC compare numériquement les valeurs d'un tri.
SORT_STRING ( integer )
SORT_STRING compare alphabétiquement les valeurs d'un tri.
SORT_LOCALE_STRING ( integer )
SORT_LOCALE_STRING compare alphabétiquement les valeurs d'un tri, en utilisant la configuration locale. Ajoutée en PHP 5.0.2 et PHP 4.4.0.

COUNT_NORMAL ( integer )
COUNT_RECURSIVE ( integer )
EXTR_OVERWRITE ( integer )
EXTR_SKIP ( integer )
EXTR_PREFIX_SAME ( integer )
EXTR_PREFIX_ALL ( integer )
EXTR_PREFIX_INVALID ( integer )
EXTR_PREFIX_IF_EXISTS ( integer )
EXTR_IF_EXISTS ( integer )
EXTR_REFS ( integer )
Types de ressources
Tri des tableaux
Les tableaux


Tri des tableaux

PHP dispose de nombreuses fonctions pour trier les tableaux, et cette section du manuel va vous aider à vous y retrouver.

Les différences principales sont :

  • Certains des tris de tableau sont basés sur les clés, tandis que les autres sont basés sur les valeurs : $array['cle'] = 'valeur';
  • Certains tris maintiennent la corrélation entre les clés et les valeurs, et d'autres non, ce qui signifie que les clés sont généralement réaffectées numériquement (0,1,2 ...)
  • L'ordre du tri peut être : alphabétique, croissant, décroissant, numérique, naturel, aléatoire ou personnalisé.
  • Note : toutes ces fonctions de tris travaillent sur le tableau lui-même, contrairement à la pratique normale qui serait de retourner le tableau trié.
  • Si une de ces fonctions de tri évalue 2 membres comme égaux, alors l'ordre est indéfini (le tri n'est pas stable).

Attributs de fonctions de tri
Nom de la fonction | Tri par | Association clé-valeur | Ordre de tri | Fonctions associée
array_multisort() | valeur | associatif oui, numérique non | premier tableau, ou bien options de tri | array_walk()
asort() | valeur | oui | croissant | arsort()
arsort() | valeur | oui | décroissant | asort()
krsort() | clé | oui | décroissant | ksort()
ksort() | clé | oui | croissant | asort()
natcasesort() | valeur | oui | naturel, insensible à la casse | natsort()
natsort() | valeur | oui | naturel | natcasesort()
rsort() | valeur | non | décroissant | sort()
shuffle() | valeur | non | aléatoire | array_rand()
sort() | valeur | non | croissant | rsort()
uasort() | valeur | oui | Défini par une fonction utilisateur | uksort()
uksort() | clé | oui | Défini par une fonction utilisateur | uasort()
usort() | valeur | non | Défini par une fonction utilisateur | uasort()

Constantes pré-définies
Fonctions sur les tableaux
Les tableaux


Fonctions sur les tableaux

Voir aussi

Voir aussi
is_array(),
explode(),
implode(),
split(),
preg_split() et
unset().

Sommaire

  • array_change_key_case — Change la casse des clés d'un tableau
  • array_chunk — Sépare un tableau en tableaux de taille inférieure
  • array_combine — Crée un tableau à partir de deux autres tableaux
  • array_count_values — Compte le nombre de valeurs d'un tableau
  • array_diff_assoc — Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_key — Calcule la différence de deux tableaux en utilisant les clés pour comparaison
  • array_diff_uassoc — Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_diff_ukey — Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
  • array_diff — Calcule la différence entre deux tableaux
  • array_fill_keys — Remplit un tableau avec des valeurs, en spécifiant les clés
  • array_fill — Remplit un tableau avec une même valeur
  • array_filter — Filtre les éléments d'un tableau grâce à une fonction utilisateur
  • array_flip — Remplace les clés par les valeurs, et les valeurs par les clés
  • array_intersect_assoc — Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_key — Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
  • array_intersect_uassoc — Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_intersect_ukey — Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
  • array_intersect — Calcule l'intersection de tableaux
  • array_key_exists — Vérifie si une clé existe dans un tableau
  • array_keys — Retourne toutes les clés d'un tableau
  • array_map — Applique une fonction sur les éléments d'un tableau
  • array_merge_recursive — Combine plusieurs tableaux ensemble, récursivement
  • array_merge — Fusionne plusieurs tableaux en un seul
  • array_multisort — Trie les tableaux multidimensionnels
  • array_pad — Complète un tableau avec une valeur jusqu'à la longueur spécifiée
  • array_pop — Dépile un élément de la fin d'un tableau
  • array_product — Calcule le produit des valeurs du tableau
  • array_push — Empile un ou plusieurs éléments à la fin d'un tableau
  • array_rand — Prend une ou plusieurs valeurs, au hasard dans un tableau
  • array_reduce — Réduit itérativement un tableau
  • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
  • array_replace — Remplace les éléments d'un tableau par ceux d'autres tableaux
  • array_reverse — Inverse l'ordre des éléments d'un tableau
  • array_search — Recherche dans un tableau la clé associée à une valeur
  • array_shift — Dépile un élément au début d'un tableau
  • array_slice — Extrait une portion de tableau
  • array_splice — Efface et remplace une portion de tableau
  • array_sum — Calcule la somme des valeurs du tableau
  • array_udiff_assoc — Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc — Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_udiff — Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_uintersect_assoc — Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc — Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel
  • array_uintersect — Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_unique — Dédoublonne un tableau
  • array_unshift — Empile un ou plusieurs éléments au début d'un tableau
  • array_values — Retourne toutes les valeurs d'un tableau
  • array_walk_recursive — Applique une fonction de rappel récursivement à chaque membre d'un tableau
  • array_walk — Exécute une fonction sur chacun des éléments d'un tableau
  • array — Crée un tableau
  • arsort — Trie un tableau en ordre inverse
  • asort — Trie un tableau et conserve l'association des index
  • compact — Crée un tableau à partir de variables et de leur valeur
  • count — Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
  • current — Retourne l'élément courant du tableau
  • each — Retourne chaque paire clé/valeur d'un tableau
  • end — Positionne le pointeur de tableau en fin de tableau
  • extract — Importe les variables dans la table des symboles
  • in_array — Indique si une valeur appartient à un tableau
  • key — Retourne une clé d'un tableau associatif
  • krsort — Trie un tableau en sens inverse et suivant les clés
  • ksort — Trie un tableau suivant les clés
  • list — Assigne des variables comme si elles étaient un tableau
  • natcasesort — Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse
  • natsort — Trie un tableau avec l'algorithme à "ordre naturel"
  • next — Avance le pointeur interne d'un tableau
  • pos — Alias de current
  • prev — Recule le pointeur courant de tableau
  • range — Crée un tableau contenant un intervalle d'éléments
  • reset — Remet le pointeur interne de tableau au début
  • rsort — Trie un tableau en ordre inverse
  • shuffle — Mélange les éléments d'un tableau
  • sizeof — Alias de count
  • sort — Trie un tableau
  • uasort — Trie un tableau en utilisant une fonction de rappel
  • uksort — Trie un tableau par ses clés en utilisant une fonction de rappel
  • usort — Trie un tableau en utilisant une fonction de comparaison
Tri des tableaux
array_change_key_case
Les tableaux


Change la casse des clés d'un tableau

Fonctions sur les tableaux
array_chunk
Fonctions sur les tableaux
PHP Manual

array_change_key_case

(PHP 4 >= 4.2.0, PHP 5)

array_change_key_case — Change la casse des clés d'un tableau

Description

array array_change_key_case ( array $input [, int $case = CASE_LOWER ] )

Modifie les clés du tableau input et force leur casse. Cette fonction laissera les clés numériques inchangées.

Liste de paramètres

input

Le tableau à traiter

case

Soit CASE_UPPER (majuscules), soit CASE_LOWER (minuscules, valeur par défaut)

Valeurs de retour

Retourne un tableau dont les clés ont été transformées en majuscule ou en minuscule, ou FALSE si input n'est pas un tableau.

Erreurs / Exceptions

Lance une alerte de niveau E_WARNING si input n'est pas un tableau.

Exemples

Exemple #1 Exemple avec array_change_key_case()

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

L'exemple ci-dessus va afficher :

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

Notes

Note: Si un tableau possède des clés qui seront identiques lors de l'exécution de cette fonction (e.g. "clé" et "CLé"), la dernière valeur dans le tableau écrasera les précédentes.

Fonctions sur les tableaux
array_chunk
Fonctions sur les tableaux


Sépare un tableau en tableaux de taille inférieure

array_change_key_case
array_combine
Fonctions sur les tableaux
PHP Manual

array_chunk

(PHP 4 >= 4.2.0, PHP 5)

array_chunk — Sépare un tableau en tableaux de taille inférieure

Description

array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )

Sépare le tableau input en plusieurs tableaux de taille size. Il est aussi possible que le dernier tableau contienne moins de valeurs.

Liste de paramètres

input

Le tableau à traiter

size

La taille de chaque tableau

preserve_keys

Lorsque définit à TRUE, les clés seront préservées. Par défaut, vaut FALSE ce qui réindexera le tableau résultant numériquement

Valeurs de retour

Retourne un tableau multidimensionnel indexé numériquement, commençant à 0, dont chaque dimension contient size éléments.

Erreurs / Exceptions

Si size est inférieur à 1, une alerte de niveau E_WARNING sera émise et NULL retournée.

Exemples

Exemple #1 Exemple avec array_chunk()

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

L'exemple ci-dessus va afficher :

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
        )

)

array_change_key_case
array_combine
Fonctions sur les tableaux


Crée un tableau à partir de deux autres tableaux

array_chunk
array_count_values
Fonctions sur les tableaux
PHP Manual

array_combine

(PHP 5)

array_combine — Crée un tableau à partir de deux autres tableaux

Description

array array_combine ( array $keys , array $values )

Crée un tableau, dont les clés sont les valeurs de keys, et les valeurs sont les valeurs de values.

Liste de paramètres

keys

Tableau de clés à utiliser. Les valeurs illégales pour les clés seront converties en chaîne de caractères.

values

Tableau de valeurs à utiliser

Valeurs de retour

Retourne le tableau combiné ou FALSE si le nombre d'éléments de chaque tableau n'est pas identique ou si les tableaux sont vides.

Erreurs / Exceptions

Lance une alerte de niveau E_WARNING si keys et values sont vides, ou si leurs nombres d'éléments ne correspondent pas.

Exemples

Exemple #1 Exemple avec array_combine()

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

L'exemple ci-dessus va afficher :

Array
(
    [green]  => avocado
    [red]    => apple
    [yellow] => banana
)

Voir aussi

  • array_merge() - Fusionne plusieurs tableaux en un seul
  • array_walk() - Exécute une fonction sur chacun des éléments d'un tableau
  • array_values() - Retourne toutes les valeurs d'un tableau

array_chunk
array_count_values
Fonctions sur les tableaux


Compte le nombre de valeurs d'un tableau

array_combine
array_diff_assoc
Fonctions sur les tableaux
PHP Manual

array_count_values

(PHP 4, PHP 5)

array_count_values — Compte le nombre de valeurs d'un tableau

Description

array array_count_values ( array $input )

Retourne un tableau contenant les valeurs du tableau input comme clés et leur fréquence comme valeurs.

Liste de paramètres

input

Le tableau de valeurs à compter

Valeurs de retour

Retourne un tableau associatif de valeurs ayant les clés correspondant à input et leurs nombres comme valeurs.

Erreurs / Exceptions

Lance une alerte de niveau E_WARNING pour chaque élément qui n'est pas une chaîne de caractères ou un entier.

Exemples

Exemple #1 Exemple avec array_count_values()

<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>

L'exemple ci-dessus va afficher :

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

Voir aussi

  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
  • array_unique() - Dédoublonne un tableau
  • array_values() - Retourne toutes les valeurs d'un tableau
  • count_chars() - Retourne des statistiques sur les caractères utilisés dans une chaîne

array_combine
array_diff_assoc
Fonctions sur les tableaux


Calcule la différence de deux tableaux, en prenant aussi en compte les clés

array_count_values
array_diff_key
Fonctions sur les tableaux
PHP Manual

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc — Calcule la différence de deux tableaux, en prenant aussi en compte les clés

Description

array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )

Compare array1 et array2 et retourne la différence. Contrairement à la fonction array_diff(), les clés du tableau sont également utilisées dans la comparaison.

Liste de paramètres

array1

Le tableau à comparer

array2

Le tableau à comparer

...

Plus de tableaux à comparer

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 qui ne sont pas présentes dans les autres tableaux.

Exemples

Exemple #1 Exemple avec array_diff_assoc()

Dans cet exemple, vous pouvez voir que la paire "a" => "vert" est présente dans les deux tableaux, et donc, n'est pas présente dans le résultat de la fonction. Au contraire, la paire 0 => "rouge" est présente dans le résultat, car le second argument "rouge" possède une clé qui est 1.

<?php
$array1 = array("a" => "vert", "b" => "marron", "c" => "bleu", "rouge");
$array2 = array("a" => "vert", "jaune", "rouge");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [b] => marron
    [c] => bleu
    [0] => rouge
)

Exemple #2 Exemple avec array_diff_assoc()

Deux valeurs des paires clé => valeur sont considérées comme égales uniquement si (string) $elem1 === (string) $elem2 . En d'autres termes, une vérification stricte est effectuée sur la représentation en chaînes de caractères.

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => 0
    [1] => 1
    )

Notes

Note: Notez bien que cette fonction ne travaille que sur une dimension de tableau. Bien sur, vous pouvez utiliser des sous dimensions de tableau comme ceci : array_diff_assoc($array1[0], $array2[0]);.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index

array_count_values
array_diff_key
Fonctions sur les tableaux


Calcule la différence de deux tableaux en utilisant les clés pour comparaison

array_diff_assoc
array_diff_uassoc
Fonctions sur les tableaux
PHP Manual

array_diff_key

(PHP 5 >= 5.1.0)

array_diff_key — Calcule la différence de deux tableaux en utilisant les clés pour comparaison

Description

array array_diff_key ( array $array1 , array $array2 [, array $... ] )

Compare les clés du tableau array1 avec les clés du tableau array2 et retourne la différence. Cette fonction est identique à la fonction array_diff(), excepté sur le fait que la comparaison est faite sur les clés, plutôt que sur les valeurs.

Liste de paramètres

array1

Le tableau à comparer

array2

Le tableau à comparer

...

Plus de tableaux à comparer

Valeurs de retour

Retourne un tableau contenant toutes les entrées du tableau array1 dont les clés ne sont présentes dans aucun des autres tableaux.

Exemples

Exemple #1 Exemple avec array_diff_key()

Les deux clés depuis les paires clé => valeur sont considérées comme égales uniquement si (string) $cle1 === (string) $cle2 . En d'autres termes, une analyse de type stricte est exécutée, donc, le type doit être exactement le même.

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notes

Note: Notez que cette fonction vérifie uniquement une dimension d'un tableau possédant n dimensions. Bien sûr, vous pouvez vérifier une dimension plus profonde en utilisant, par exemple, array_diff_key($array1[0], $array2[0]);.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_diff_ukey() - Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_intersect_key() - Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
  • array_intersect_ukey() - Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

array_diff_assoc
array_diff_uassoc
Fonctions sur les tableaux


Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel

array_diff_key
array_diff_ukey
Fonctions sur les tableaux
PHP Manual

array_diff_uassoc

(PHP 5)

array_diff_uassoc — Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel

Description

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

Compare le tableau array1 avec le tableau array2 et retourne la différence. Contrairement à la fonction array_diff(), les clés du tableau sont utilisées dans la comparaison.

Contrairement à la fonction array_diff_assoc(), un utilisateur fournit une fonction de rappel utilisée pour la comparaison des indices, et non une fonction interne.

Liste de paramètres

array1

Le tableau à comparer

array2

Le tableau à comparer

...

Plus de tableaux à comparer

key_compare_func

La fonction de rappel à utiliser. Elle doit retourner un entier inférieur, égal ou supérieur à 0 si le première argument est considéré comme, respectivement, inférieur, égal ou supérieur au second paramètre.

Valeurs de retour

Retourne un tableau contenant toutes les entrées du tableau array1 qui ne sont présentes dans aucun autre tableau.

Exemples

Exemple #1 Exemple avec array_diff_uassoc()

Dans cet exemple, vous voyez que la paire "a" => "vert" est présente dans les deux tableaux et donc ne figure pas dans le résultat de la fonction. Contrairement à cela, la paire 0 => "rouge" est dans le résultat car dans le second argument, la clé de "rouge" est 1.

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "vert", "b" => "marron", "c" => "bleu", "rouge");
$array2 = array("a" => "vert", "jaune", "rouge");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [b] => marron
    [c] => bleu
    [0] => rouge
)

L'égalité de deux indices est vérifiée par la fonction utilisateur.

Notes

Note: Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau multidimensionnel. Vous pouvez, bien sûr, tester une dimension particulière en utilisant par exemple, array_diff_uassoc($array1[1], $array2[1], "key_compare_func");.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_diff_key
array_diff_ukey
Fonctions sur les tableaux


Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

array_diff_uassoc
array_diff
Fonctions sur les tableaux
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

Description

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

Compare les clés du tableau array1 avec celles du tableau array2 et retourne la différence. Cette fonction est identique à la fonction array_diff(), excepté le fait que la comparaison est effectuée sur les clés, plutôt que sur les valeurs.

Contrairement à la fonction array_diff_key(), une fonction utilisateur est fournie pour la comparaison des indices, et non une fonction interne.

Liste de paramètres

array1

Le tableau à comparer

array2

Le tableau à comparer

...

Plus de tableaux à comparer

key_compare_func

La fonction utilisateur ( callback ) à utiliser. La fonction utilisateur doit retourner un entier inférieur, égal ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur, égal ou supérieur au second paramètre.

Valeurs de retour

Retourne un tableau contenant toutes les entrées du tableau array1 qui ne sont présentes dans aucun autre tableau.

Exemples

Exemple #1 Exemple avec array_diff_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notes

Note: Notez que cette fonction vérifie uniquement une dimension d'un tableau possédant n dimensions. Bien sûr, vous pouvez vérifier une dimension plus profonde en utilisant, par exemple, array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_diff_key() - Calcule la différence de deux tableaux en utilisant les clés pour comparaison
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_intersect_key() - Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
  • array_intersect_ukey() - Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

array_diff_uassoc
array_diff
Fonctions sur les tableaux


Calcule la différence entre deux tableaux

array_diff_ukey
array_fill_keys
Fonctions sur les tableaux
PHP Manual

array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff — Calcule la différence entre deux tableaux

Description

array array_diff ( array $array1 , array $array2 [, array $ ... ] )

array_diff() compare le tableau array1 avec le tableau array2 et retourne la différence.

Liste de paramètres

array1

Le tableau à comparer

array2

Le tableau à comparer

...

Plus de tableaux à comparer

Valeurs de retour

Retourne un tableau contenant toutes les entités depuis le tableau array1 qui ne sont présents dans aucun autre tableau.

Exemples

Exemple #1 Exemple avec array_diff()

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

Les valeurs multiples dans array1 seront toutes traitées de la même façon. Ce qui affichera :

Array
(
    [1] => blue
)

Notes

Note: Deux éléments sont considérés comme égaux si et seulement si (string) $elem1 === (string) $elem2. En clair : lorsque la représentation en chaîne de caractères est identique.

Note: Notez que cette fonction ne vérifie qu'une dimension d'un tableau à plusieurs dimensions. Bien sûr, vous pouvez vérifier des dimensions plus profondes en utilisant array_diff($array1[0], $array2[0]);.

Voir aussi

  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index

array_diff_ukey
array_fill_keys
Fonctions sur les tableaux


Remplit un tableau avec des valeurs, en spécifiant les clés

array_diff
array_fill
Fonctions sur les tableaux
PHP Manual

array_fill_keys

(PHP 5 >= 5.2.0)

array_fill_keys — Remplit un tableau avec des valeurs, en spécifiant les clés

Description

array array_fill_keys ( array $keys , mixed $value )

Remplit un tableau avec la valeur du paramètre value, et en utilisant les valeurs du tableau keys comme clés.

Liste de paramètres

keys

Tableau de valeurs qui sera utilisé comme clés. Les valeurs illégales pour les clés seront converties en chaînes de caractères.

value

Valeur à utiliser pour remplir le tableau.

Valeurs de retour

Retourne le tableau rempli.

Exemples

Exemple #1 Exemple avec array_fill_keys()

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

L'exemple ci-dessus va afficher :

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

Voir aussi

  • array_fill() - Remplit un tableau avec une même valeur
  • array_combine() - Crée un tableau à partir de deux autres tableaux

array_diff
array_fill
Fonctions sur les tableaux


Remplit un tableau avec une même valeur

array_fill_keys
array_filter
Fonctions sur les tableaux
PHP Manual

array_fill

(PHP 4 >= 4.2.0, PHP 5)

array_fill — Remplit un tableau avec une même valeur

Description

array array_fill ( int $start_index , int $num , mixed $value )

Crée un tableau avec num entrées, toutes de valeur value. Les index commencent à la valeur start_index.

Liste de paramètres

start_index

Le premier index du tableau retourné. Ne supporte que les index qui ne sont pas négatifs.

num

Nombre d'éléments à insérer

value

Valeur à utiliser pour remplir le tableau

Valeurs de retour

Retourne le tableau rempli.

Erreurs / Exceptions

Lance une alerte de niveau E_WARNING si num est inférieur à 1.

Exemples

Exemple #1 Exemple avec array_fill()

<?php
$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 2, 'pear');
print_r($a);
print_r($b);
?>

L'exemple ci-dessus va afficher :

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)
Array
(
    [-2] => pear
    [0] => pear
)

Notes

Voir aussi la section du manuel sur les tableaux pour plus d'informations sur les clés négatives.

Voir aussi

  • array_fill_keys() - Remplit un tableau avec des valeurs, en spécifiant les clés
  • str_repeat() - Répète une chaîne
  • range() - Crée un tableau contenant un intervalle d'éléments

array_fill_keys
array_filter
Fonctions sur les tableaux


Filtre les éléments d'un tableau grâce à une fonction utilisateur

array_fill
array_flip
Fonctions sur les tableaux
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — Filtre les éléments d'un tableau grâce à une fonction utilisateur

Description

array array_filter ( array $input [, callback $callback ] )

Évalue chaque valeur du tableau input en les passant à la fonction utilisateur. Si la fonction utilisateur retourne TRUE, la valeur courante du tableau input est retourné dans le tableau résultant. Les clés du tableau sont préservées.

Liste de paramètres

input

Le tableau à évaluer

callback

La fonction utilisateur à utiliser

Si aucune fonction utilisateur n'est fournie, toutes les entrées du tableau input valant FALSE (voir la conversion en booléen) seront effacées.

Valeurs de retour

Retourne le tableau filtré.

Exemples

Exemple #1 Exemple avec array_filter()

<?php
function odd($var)
{
    return($var & 1);
}

function even($var)
{
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Ancien :\n";
print_r(array_filter($array1, "odd"));
echo "Nouveau :\n";
print_r(array_filter($array2, "even"));
?>

L'exemple ci-dessus va afficher :

Ancien :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Nouveau :
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Exemple #2 Exemple avec array_filter() sans fonction utilisateur

<?php

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => foo
    [2] => -1
)

Notes

Attention

Si le tableau est modifié depuis la fonction utilisateur (e.g. des éléments sont ajoutés, effacés ou réinitialisés), le comportement de cette fonction est indéfini.

Voir aussi

  • array_map() - Applique une fonction sur les éléments d'un tableau
  • array_reduce() - Réduit itérativement un tableau
  • array_walk() - Exécute une fonction sur chacun des éléments d'un tableau

array_fill
array_flip
Fonctions sur les tableaux


Remplace les clés par les valeurs, et les valeurs par les clés

array_filter
array_intersect_assoc
Fonctions sur les tableaux
PHP Manual

array_flip

(PHP 4, PHP 5)

array_flip — Remplace les clés par les valeurs, et les valeurs par les clés

Description

array array_flip ( array $trans )

array_flip() retourne un tableau dont les clés sont les valeurs du précédent tableau trans, et les valeurs sont les clés.

Notez bien que les valeurs de trans doivent être des clés valides, c'est-à-dire qu'elles doivent être des entiers (entier) ou des chaînes de caractères (chaîne de caractères). Une alerte sera émise si une valeur est d'un type qui ne convient pas et la paire en question ne sera pas inversée.

Si une valeur n'est pas unique, seule la dernière clé sera utilisée comme valeur, et toutes les autres seront perdues.

Liste de paramètres

trans

Un tableau de paire clés/valeurs à inverser.

Valeurs de retour

Retourne un tableau inversé en cas de succès, NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec array_flip()

<?php
$trans = array_flip($trans);
$original = strtr($str, $trans);
?>

Exemple #2 Exemple avec array_flip() : collision

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>

maintenant, $trans vaut :

Array
(
    [1] => b
    [2] => c
)

Voir aussi

  • array_values() - Retourne toutes les valeurs d'un tableau
  • array_keys() - Retourne toutes les clés d'un tableau
  • array_reverse() - Inverse l'ordre des éléments d'un tableau

array_filter
array_intersect_assoc
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux avec des tests sur les index

array_flip
array_intersect_key
Fonctions sur les tableaux
PHP Manual

array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_intersect_assoc — Calcule l'intersection de deux tableaux avec des tests sur les index

Description

array array_intersect_assoc ( array $array1 , array $array2 [, array $ ... ] )

array_intersect_assoc() retourne un tableau contenant toutes les valeurs de array1 qui sont aussi présentes dans tous les autres arguments array2, ..., etc. Notez que les clés sont utilisées durant la comparaison, contrairement à array_intersect().

Liste de paramètres

array1

Le tableau avec les valeurs maîtres à vérifier.

array2

Un tableau contenant les valeurs à comparer.

array

Une liste variable de tableaux à comparer.

Valeurs de retour

Retourne un tableau associatif contenant toutes les valeurs du tableau array1 qui sont présentes dans tous les arguments.

Exemples

Exemple #1 Exemple avec array_intersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
)

Dans notre exemple, vous pouvez voir que la paire "a" => "vert" est présente dans les deux tableaux, et donc placée dans le dernier tableau. La valeur rouge n'est pas retournée car dans $array1 son index est 2 tandis que dans le tableau $array2, son index est 1.

Les deux valeurs de la paire clé => valeur sont considérées égales uniquement si (string) $elem1 === (string) $elem2. En d'autres termes, une comparaison stricte est faite sur les représentations des index, avec le type chaîne.

Voir aussi

  • array_intersect() - Calcule l'intersection de tableaux
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel
  • array_diff() - Calcule la différence entre deux tableaux
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
array_flip
array_intersect_key
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison

array_intersect_assoc
array_intersect_uassoc
Fonctions sur les tableaux
PHP Manual

array_intersect_key

(PHP 5 >= 5.1.0)

array_intersect_key — Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison

Description

array array_intersect_key ( array $array1 , array $array2 [, array $ ... ] )

array_intersect_key() retourne un tableau contenant toutes les entrées du tableau array1 qui contiennent des clés présentes dans tous les arguments.

Liste de paramètres

array1

Le tableau contenant les clés maîtres à vérifier.

array2

Un tableau contenant les clés à comparer.

array

Une liste variable de tableaux à comparer.

Valeurs de retour

Retourne un tableau associatif contenant toutes les entrées du tableau array1 qui ont des clés présentes dans tous les arguments.

Exemples

Exemple #1 Exemple avec array_intersect_key()

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

Dans cet exemple, vous pouvez voir que seules les clés 'bleu' et 'vert' sont présentes dans les deux tableaux et donc, elles sont retournées. Notez également que les valeurs pour les clés 'bleu' et 'vert' diffèrent entre les deux tableaux. Néanmoins, elles correspondent toujours car uniquement les clés sont vérifiées. Les valeurs retournées sont celles du tableau array1.

Les deux clés depuis les paires clé => valeur sont considérées comme égales uniquement si (string) $cle1 === (string) $cle2 . En d'autres mots, une analyse du type stricte est exécuté, donc, le type doit être exactement le même.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_diff_key() - Calcule la différence de deux tableaux en utilisant les clés pour comparaison
  • array_diff_ukey() - Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_intersect_ukey() - Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

array_intersect_assoc
array_intersect_uassoc
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel

array_intersect_key
array_intersect_ukey
Fonctions sur les tableaux
PHP Manual

array_intersect_uassoc

(PHP 5)

array_intersect_uassoc — Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel

Description

array array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_intersect_uassoc() retourne un tableau contenant toutes les valeurs du tableau array1 qui sont présentes dans tous les arguments. Notez que les clés sont utilisées dans la comparaison par opposition à la fonction array_intersect().

La comparaison d'index est effectuée en utilisant la fonction de rappel fournie. Elle doit retourner un entier, plus petit que, égal à ou plus grand que zéro si le premier argument est considéré comme étant, respectivement, plus petit que, égal à ou plus grand le second.

Liste de paramètres

array1

Tableau initial pour la comparaison des autres tableaux.

array2

Premier tableau dont on doit comparer les clés.

array

Liste variable de tableaux à comparer.

key_compare_func

Fonction de rappel effectuant la comparaison.

Valeurs de retour

Retourne les valeurs du tableau array1 dont les valeurs existent dans tous les autres arguments.

Exemples

Exemple #1 Exemple avec array_intersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

L'exemple ci-dessus va afficher :

Array
(
    [b] => brown
)

Voir aussi

  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel
  • array_intersect_key() - Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
  • array_intersect_ukey() - Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

array_intersect_key
array_intersect_ukey
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

array_intersect_uassoc
array_intersect
Fonctions sur les tableaux
PHP Manual

array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukey — Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison

Description

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_intersect_ukey() retourne un tableau contenant toutes les valeurs du tableau array1 qui contiennent des clés présentes dans tous les arguments array2, ....

Cette comparaison est effectuée en utilisant une fonction de rappel fournie par l'utilisateur. La fonction de rappel doit retourner un entier plus petit que, égal à ou plus grand que 0 si la première clé est considérée, respectivement, comme plus petite que, égale à ou plus grande que la seconde.

Liste de paramètres

array1

Tableau initial pour la comparaison des tableaux.

array2

Premier tableau utilisé pour comparer les clés.

array

Liste variable de tableaux à comparer.

key_compare_func

Fonction de rappel à utiliser pour effectuer la comparaison.

Valeurs de retour

Retourne les valeurs du tableau array1 dont les clés existent dans tous les arguments.

Exemples

Exemple #1 Exemple avec array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

Dans cet exemple, vous pouvez voir que seules les clés 'bleu' et 'vert' sont présentes dans les deux tableaux et, donc, elles sont retournées. Notez également que les valeurs pour les clés 'bleu' et 'vert' diffèrent entre les deux tableaux. Néanmoins, elles correspondent toujours car uniquement les clés sont vérifiées. Les valeurs retournées sont celles du tableau array1.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_diff_key() - Calcule la différence de deux tableaux en utilisant les clés pour comparaison
  • array_diff_ukey() - Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_intersect_key() - Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison

array_intersect_uassoc
array_intersect
Fonctions sur les tableaux


Calcule l'intersection de tableaux

array_intersect_ukey
array_key_exists
Fonctions sur les tableaux
PHP Manual

array_intersect

(PHP 4 >= 4.0.1, PHP 5)

array_intersect — Calcule l'intersection de tableaux

Description

array array_intersect ( array $array1 , array $array2 [, array $ ... ] )

array_intersect() retourne un tableau contenant toutes les valeurs de array1 qui sont présentes dans tous les autres arguments array2, ..., etc. Notez que les clés sont préservées.

Liste de paramètres

array1

Le tableau contenant les valeurs maîtres à vérifier.

array2

Un tableau contenant les valeurs à comparer.

array

Une liste variable de tableaux à comparer.

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 dont les valeurs existent dans tous les arguments.

Exemples

Exemple #1 Exemple avec array_intersect()

<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
    [0] => red
)

Notes

Note: Deux éléments sont considérés comme égaux si et seulement si (string) $elem1 === (string) $elem2. En clair : lorsque la représentation en chaîne de caractères est identique.

Voir aussi

  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_diff() - Calcule la différence entre deux tableaux
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés

array_intersect_ukey
array_key_exists
Fonctions sur les tableaux


Vérifie si une clé existe dans un tableau

array_intersect
array_keys
Fonctions sur les tableaux
PHP Manual

array_key_exists

(PHP 4 >= 4.0.7, PHP 5)

array_key_exists — Vérifie si une clé existe dans un tableau

Description

bool array_key_exists ( mixed $key , array $search )

array_key_exists() retourne TRUE s'il existe une clé du nom de key dans le tableau search. key peut être n'importe quelle valeur valide d'index de tableau.

Liste de paramètres

key

Valeur à vérifier.

search

Un tableau contenant les clés à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Cette fonction ne fonctionne plus avec les objets. La fonction property_exists() doit être utilisée dans ce cas.

Exemples

Exemple #1 Exemple avec array_key_exists()

<?php
$search_array = array('premier' => 1, 'second' => 4);
if (array_key_exists('premier', $search_array)) {
    echo "L'élément 'premier' existe dans le tableau";
}
?>

Note: Cette fonction s'appelait key_exists() en PHP version 4.0.6.

Exemple #2 array_key_exists() et isset()

isset() ne retourne pas TRUE pour les clés de tableaux qui correspondent à une valeur NULL alors que c'est le cas pour array_key_exists().

<?php
$search_array = array('first' => null, 'second' => 4);

// retourne false
isset($search_array['first']);

// retourne true
array_key_exists('first', $search_array);
?>

Voir aussi

  • isset() - Détermine si une variable est définie et est différente de NULL
  • array_keys() - Retourne toutes les clés d'un tableau
  • in_array() - Indique si une valeur appartient à un tableau
  • property_exists() - Vérifie si un objet ou une classe possède une propriété

array_intersect
array_keys
Fonctions sur les tableaux


Retourne toutes les clés d'un tableau

array_key_exists
array_map
Fonctions sur les tableaux
PHP Manual

array_keys

(PHP 4, PHP 5)

array_keys — Retourne toutes les clés d'un tableau

Description

array array_keys ( array $input [, mixed $search_value [, bool $strict = false ]] )

array_keys() retourne les clés numériques et littérales du tableau input.

Si l'option search_value est spécifiée, seules les clés ayant cette valeur seront retournées. Sinon, toutes les clés de input sont retournées.

Liste de paramètres

input

Un tableau contenant les clés à retourner.

search_value

Si spécifié, alors seulement les clés contenant ces valeurs seront retournées.

strict

Le paramètre strict force la comparaison en mode strict, incluant le type, avec l'opérateur ===.

Valeurs de retour

Retourne un tableau de toutes les clés dans input.

Historique

Version | Description
5.0.0 | Ajout du paramètre strict.

Exemples

Exemple #1 Exemple avec array_keys()

<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

Voir aussi

  • array_values() - Retourne toutes les valeurs d'un tableau
  • array_key_exists() - Vérifie si une clé existe dans un tableau

array_key_exists
array_map
Fonctions sur les tableaux


Applique une fonction sur les éléments d'un tableau

array_keys
array_merge_recursive
Fonctions sur les tableaux
PHP Manual

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map — Applique une fonction sur les éléments d'un tableau

Description

array array_map ( callback $callback , array $arr1 [, array $... ] )

array_map() retourne un tableau contenant tous les éléments du tableau arr1, après leur avoir appliqué la fonction callback. Le nombre de paramètres de la fonction callback doit être égal au nombre de tableaux passés dans la fonction array_map().

Liste de paramètres

callback

La fonction de rappel à exécuter pour chaque élément de chaque tableau.

arr1

Un tableau à exécuter via la fonction de callback.

array

Liste des tableaux à exécuter via la fonction de callback.

Valeurs de retour

Retourne un tableau contenant tous les éléments du tableau arr1 après avoir appliqué la fonction de callback sur chacun d'eux.

Exemples

Exemple #1 Exemple avec array_map()

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Le contenu de la variable $b sera :

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Exemple #2 array_map() : utilisation d'une fonction quelconque (depuis PHP 5.3.0)

<?php

$func = function($value) {
    return $value * 2;
};

print_r(array_map($func, range(1, 5)));

?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Exemples

Exemple #3 array_map() : utilisation de plusieurs tableaux

<?php
function show_Spanish($n, $m)
{
    return("Le nombre $n se dit $m en Espagnol");
}

function map_Spanish($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

L'exemple ci-dessus va afficher :

// Contenu de $c
Array
(
    [0] => Le nombre 1 se dit uno en Espagnol
    [1] => Le nombre 2 se dit dos en Espagnol
    [2] => Le nombre 3 se dit tres en Espagnol
    [3] => Le nombre 4 se dit cuatro en Espagnol
    [4] => Le nombre 5 se dit cinco en Espagnol
)

// Contenu de $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Généralement, lors de l'utilisation de plusieurs tableaux, ils doivent être d'égale longueur, car la fonction de rappel est appliquée de manière similaire à tous les tableaux. Si les tableaux sont de tailles inégales, les plus petits seront complétés avec des éléments vides.

Une utilisation intéressante de cette fonction est la construction de tableaux de tableaux, facilement réalisée en passant la valeur NULL comme nom de fonction de rappel.

Exemple #4 Création d'un tableau de tableaux

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )

)

Si le tableau en argument contient des clés sous la forme de chaîne de caractères, alors, le tableau retourné contiendra également des clés sous la forme de chaîne de caractères, si et seulement si un seul tableau est passé. Si plusieurs tableaux sont passés comme argument, le tableau retourné aura toujours des clés sous la forme d'entier.

Exemple #5 array_map() - avec des clés sous la forme de chaîne de caractères

<?php
$arr = array("stringkey" => "value");
function cb1($a) {
    return array ($a);
}
function cb2($a, $b) {
    return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null,  $arr));
var_dump(array_map(null, $arr, $arr));
?>

L'exemple ci-dessus va afficher :

array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}

Voir aussi

  • array_filter() - Filtre les éléments d'un tableau grâce à une fonction utilisateur
  • array_reduce() - Réduit itérativement un tableau
  • array_walk() - Exécute une fonction sur chacun des éléments d'un tableau
  • create_function() - Crée une fonction anonyme
Informations sur le type callback

array_keys
array_merge_recursive
Fonctions sur les tableaux


Combine plusieurs tableaux ensemble, récursivement

array_map
array_merge
Fonctions sur les tableaux
PHP Manual

array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5)

array_merge_recursive — Combine plusieurs tableaux ensemble, récursivement

Description

array array_merge_recursive ( array $array1 [, array $... ] )

array_merge_recursive() rassemble les éléments de deux ou plusieurs tableaux ensemble, en ajoutant les éléments de l'un à la suite des éléments du précédent.

Si les tableaux passés en arguments ont les mêmes clés (chaînes de caractères), les valeurs sont alors rassemblées dans un tableau, de manière récursive, de façon à ce que, si l'une de ces valeurs est un tableau elle-même, la fonction la rassemblera avec les valeurs de l'entrée courante. Cependant, si deux tableaux ont la même clé numérique, la dernière valeur n'écrasera pas la précédente, mais sera ajoutée à la fin du tableau.

Liste de paramètres

array1

Tableau initial à rassembler.

...

Liste variable de tableaux à rassembler récursivement.

Valeurs de retour

Un tableau de valeurs résultantes de la fusion des arguments.

Exemples

Exemple #1 Exemple avec array_merge_recursive()

<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 5
    [1] => 10
)

Voir aussi

  • array_merge() - Fusionne plusieurs tableaux en un seul

array_map
array_merge
Fonctions sur les tableaux


Fusionne plusieurs tableaux en un seul

array_merge_recursive
array_multisort
Fonctions sur les tableaux
PHP Manual

array_merge

(PHP 4, PHP 5)

array_merge — Fusionne plusieurs tableaux en un seul

Description

array array_merge ( array $array1 [, array $array2 [, array $... ]] )

array_merge() rassemble les éléments d'un ou de plusieurs tableaux en ajoutant les valeurs de l'un à la fin de l'autre. Le résultat est un tableau.

Si les tableaux ont des clés en commun, la dernière valeur rencontrée écrasera l'ancienne. Pour les valeurs numériques, cela n'arrive pas, car, alors, les valeurs sont ajoutées en fin de tableau.

Si tous les tableaux contiennent uniquement des clés numériques, le tableau résultant contiendra des clés d'incrément, en commençant par zéro.

Liste de paramètres

array1

Tableau initial à fusionner.

...

Liste de tableaux à fusionner, récursivement.

Valeurs de retour

Retourne le tableau résultant.

Historique

Version Description
5.0.0
Avertissement

Le comportement de array_merge() a été modifié en PHP 5. Contrairement à PHP 4, array_merge() n'accepte que des paramètres de type array . Cependant, vous pouvez utiliser le transtypage pour fusionner les autres types de valeurs. Voyez l'exemple ci-dessous.

Exemple #1 Exemples PHP 5 avec array_merge()

<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>

L'exemple ci-dessus va afficher :

    Array
    (
        [0] => foo
        [1] => bar
    )

Exemples

Exemple #2 Exemple avec array_merge()

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

Exemple #3 Exemple simple avec array_merge()

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

N'oubliez pas que les index numériques seront réindexés !

Array
(
    [0] => data
)

Si vous voulez ajouter des éléments du second tableau au premier sans pour autant écraser ou ré-indexer les éléments du premier, utilisez l'opérateur d'union + :

<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>

Les clés du premier tableau sont préservées. Si une clé existe dans les 2 tableaux, alors l'élément du premier sera utilisé et la clé correspondante du second sera ignorée.

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

Voir aussi

  • array_merge_recursive() - Combine plusieurs tableaux ensemble, récursivement
  • array_combine() - Crée un tableau à partir de deux autres tableaux
  • les opérateurs de tableau

array_merge_recursive
array_multisort
Fonctions sur les tableaux


Trie les tableaux multidimensionnels

array_merge
array_pad
Fonctions sur les tableaux
PHP Manual

array_multisort

(PHP 4, PHP 5)

array_multisort — Trie les tableaux multidimensionnels

Description

bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $... ]]] )

array_multisort() sert à trier simultanément plusieurs tableaux, ou bien à trier un tableau multidimensionnel, suivant l'une ou l'autre de ses dimensions.

Les clés associatives (chaîne de caractères) seront maintenues, mais les clés numériques seront réindexées.

Liste de paramètres

arr

Un tableau à trier.

arg

Optionnellement, d'autres tableaux, ou des options de tri pour l'argument précédent : SORT_ASC, SORT_DESC, SORT_REGULAR, SORT_NUMERIC, SORT_STRING.

...

D'autres arguments.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Trier plusieurs tableaux

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>

Dans cet exemple, après le tri, le premier tableau contient 0, 10, 100, 100. Le deuxième tableau contient 4, 1, 2, 3. Les entrées du second tableau correspondant aux valeurs jumelles du premier tableau (100 et 100), sont aussi triées.

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Exemple #2 Trier un tableau multidimensionnel

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(   1,  2, "2",   3,   1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

Dans cet exemple, après le tri, le premier tableau contient "10", 100, 100, 11, "a" (tri alphabétique, ordre croissant); Le deuxième tableau contient 1, 3, "2", 2, 1 (tri numérique, ordre décroissant).

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Exemple #3 Classer les résultats d'une base de données

Dans cet exemple, chaque élément du tableau data représente une ligne de la table. Ce type de données est typique d'un enregistrement de base de données.

Exemple de données :

volume | edition
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Les données sont sous forme de tableau, appelé data. Cela est généralement le résultat, par exemple, de la fonction mysql_fetch_assoc().

<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>

Dans cet exemple, nous allons trier la colonne volume par ordre décroissant, et la colonne edition par ordre croissant.

Nous avons un tableau de lignes, mais array_multisort() nécessite un tableau de colonnes, donc nous utilisons le code suivant pour obtenir les colonnes et ainsi effectuer le tri.

<?php
// Obtient une liste de colonnes
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}

// Trie les données par volume décroissant, edition croissant
// Ajoute $data en tant que dernier paramètre, pour trier par la clé commune
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>

Le jeu d'enregistrement est maintenant trié et ressemble à cela :

volume | edition
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

Exemple #4 Tri non sensible à la casse

SORT_STRING et SORT_REGULAR sont sensibles à la casse, les chaînes de caractères commençant avec une lettre en majuscule viendront avant les chaînes de caractères commençant par une lettre en minuscule.

Pour effectuer une recherche insensible à la casse, effectuez le tri sur une copie minuscule des colonnes du tableau original.

<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);

array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);

print_r($array);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => Alpha
    [1] => atomic
    [2] => bank
    [3] => Beta
)

Voir aussi

  • usort() - Trie un tableau en utilisant une fonction de comparaison
  • Les fonctions de tri des tableaux

array_merge
array_pad
Fonctions sur les tableaux


Complète un tableau avec une valeur jusqu'à la longueur spécifiée

array_multisort
array_pop
Fonctions sur les tableaux
PHP Manual

array_pad

(PHP 4, PHP 5)

array_pad — Complète un tableau avec une valeur jusqu'à la longueur spécifiée

Description

array array_pad ( array $input , int $pad_size , mixed $pad_value )

array_pad() retourne une copie du tableau input complétée jusqu'à la taille de pad_size avec la valeur pad_value. Si pad_size est positif, alors le tableau est complété à droite, s'il est négatif, il est complété à gauche. Si la valeur absolue de pad_size est plus petite que la taille du tableau input, alors le tableau n'est pas complété. Il est possible d'ajouter au maximum 1048576 d'un seul coup.

Liste de paramètres

input

Tableau initial de valeurs à compléter.

pad_size

Nouvelle taille du tableau.

pad_value

Valeur à insérer si l'argument input est plus petit que l'argument pad_size.

Valeurs de retour

Retourne une copie du tableau input complétée jusqu'à la taille de pad_size avec la valeur pad_value. Si pad_size est positif, alors le tableau est complété à droite, s'il est négatif, il est complété à gauche. Si la valeur absolue de pad_size est plus petite que la taille du tableau input, alors le tableau n'est pas complété.

Exemples

Exemple #1 Exemple avec array_pad()

<?php
$input = array(12, 10, 9);

$result = array_pad($input, 5, 0);
// Le résultat est : array(12, 10, 9, 0, 0)

$result = array_pad($input, -7, -1);
// Le résultat est : array(-1, -1, -1, -1, 12, 10, 9)

$result = array_pad($input, 2, "noop");
// pas complété
?>

Voir aussi

  • array_fill() - Remplit un tableau avec une même valeur
  • range() - Crée un tableau contenant un intervalle d'éléments

array_multisort
array_pop
Fonctions sur les tableaux


Dépile un élément de la fin d'un tableau

array_pad
array_product
Fonctions sur les tableaux
PHP Manual

array_pop

(PHP 4, PHP 5)

array_pop — Dépile un élément de la fin d'un tableau

Description

mixed array_pop ( array &$array )

array_pop() dépile et retourne le dernier élément du tableau array, le raccourcissant d'un élément. Si array est vide, ou n'est pas un tableau, array_pop() retourne NULL. Un ajout sur une variable qui n'est pas un tableau émettra un message de type Alerte.

Note: Cette fonction remet le pointeur au début du tableau (équivalent de reset()).

Liste de paramètres

array

Le tableau duquel on récupère la valeur.

Valeurs de retour

Retourne la dernière valeur du tableau array. Si array est vide (ou n'est pas un tableau), NULL sera retourné.

Exemples

Exemple #1 Exemple avec array_pop()

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>

Après cela, $stack n'aura plus que 3 éléments :

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)

et raspberry sera assigné à $fruit.

Voir aussi

  • array_push() - Empile un ou plusieurs éléments à la fin d'un tableau
  • array_shift() - Dépile un élément au début d'un tableau
  • array_unshift() - Empile un ou plusieurs éléments au début d'un tableau

array_pad
array_product
Fonctions sur les tableaux


Calcule le produit des valeurs du tableau

array_pop
array_push
Fonctions sur les tableaux
PHP Manual

array_product

(PHP 5 >= 5.1.0)

array_product — Calcule le produit des valeurs du tableau

Description

number array_product ( array $array )

array_product() retourne le produit des valeurs du tableau array.

Liste de paramètres

array

Le tableau.

Valeurs de retour

Retourne le produit, sous la forme d'un entier ou d'un nombre décimal.

Exemples

Exemple #1 Exemple avec array_product()

<?php

$a = array(2, 4, 6, 8);
echo "produit(a) = " . array_product($a) . "\n";

?>

L'exemple ci-dessus va afficher :

produit(a) = 384

array_pop
array_push
Fonctions sur les tableaux


Empile un ou plusieurs éléments à la fin d'un tableau

array_product
array_rand
Fonctions sur les tableaux
PHP Manual

array_push

(PHP 4, PHP 5)

array_push — Empile un ou plusieurs éléments à la fin d'un tableau

Description

int array_push ( array &$array , mixed $var [, mixed $... ] )

array_push() considère array comme une pile, et empile les variables var, ... à la fin de array. La longueur du tableau array augmente d'autant. Cela a le même effet que :

<?php
$array[] = $var;
?>
répété pour chaque var.

Note: Si vous utilisez la fonction array_push() pour ajouter un élément à un tableau, il est mieux de la remplacer par l'opérateur $array[] = qui évite le passage par une fonction.

Note: array_push() émettra une alerte si le premier argument n'est pas un tableau. Ceci diffère du comportement de $var[] où un nouveau tableau est créé.

Liste de paramètres

array

Le tableau d'entrée.

var

La valeur à insérer.

Valeurs de retour

Retourne le nouveau nombre d'éléments dans le tableau.

Exemples

Exemple #1 Exemple avec array_push()

<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)

Voir aussi

  • array_pop() - Dépile un élément de la fin d'un tableau
  • array_shift() - Dépile un élément au début d'un tableau
  • array_unshift() - Empile un ou plusieurs éléments au début d'un tableau

array_product
array_rand
Fonctions sur les tableaux


Prend une ou plusieurs valeurs, au hasard dans un tableau

array_push
array_reduce
Fonctions sur les tableaux
PHP Manual

array_rand

(PHP 4, PHP 5)

array_rand — Prend une ou plusieurs valeurs, au hasard dans un tableau

Description

mixed array_rand ( array $input [, int $num_req = 1 ] )

array_rand() est pratique lorsque vous voulez sélectionner une ou plusieurs valeurs au hasard dans un tableau.

Liste de paramètres

input

Le tableau d'entrée.

num_req

Spécifie le nombre d'entrées que vous voulez récupérer. Essayer de récupérer plus d'entrées que le tableau n'en contient résultera dans une erreur de niveau E_WARNING.

Valeurs de retour

Si vous ne demandez qu'une seule entrée, array_rand() retourne l'index de la valeur. Sinon, elle retourne un tableau d'index. Cela vous permet de faire une sélection au hasard de clés, ou bien de valeurs.

Historique

Version | Description
5.2.10 | Les clés du tableau résultant ne sont plus mélangées.
4.2.0 | Le générateur de nombres aléatoires est initialisé automatiquement.

Exemples

Exemple #1 Exemple avec array_rand()

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Voir aussi

  • shuffle() - Mélange les éléments d'un tableau

array_push
array_reduce
Fonctions sur les tableaux


Réduit itérativement un tableau

array_rand
array_replace_recursive
Fonctions sur les tableaux
PHP Manual

array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce — Réduit itérativement un tableau

Description

mixed array_reduce ( array $input , callback $function [, mixed $initial = NULL ] )

array_reduce() applique itérativement la fonction function aux éléments du tableau input, de manière à réduire le tableau à une valeur simple.

Liste de paramètres

input

Le tableau d'entrée.

function

La fonction de rappel.

initial

Si l'argument optionnel initial est disponible, il sera utilisé pour initialiser le processus, ou bien comme valeur finale si le tableau est vide.

Valeurs de retour

Retourne la valeur résultante.

Si le tableau est vide et le paramètre initial n'est pas passé, array_reduce() retourne NULL.

Historique

Version | Description
5.3.0 | Modification du paramètre initial afin d'autoriser des variables de types mixtes ; auparavant, uniquement des entiers.

Exemples

Exemple #1 Exemple avec array_reduce()

<?php
function rsum($v, $w)
{
    $v += $w;
    return $v;
}

function rmul($v, $w)
{
    $v *= $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", "Aucune donnée à réduire");
?>

Dans cet exemple, $b contiendra 15, $c contiendra 1200 (= 10*1*2*3*4*5), et $d contiendra "Aucune donnée à réduire".

Voir aussi

  • array_filter() - Filtre les éléments d'un tableau grâce à une fonction utilisateur
  • array_map() - Applique une fonction sur les éléments d'un tableau
  • array_unique() - Dédoublonne un tableau
  • array_count_values() - Compte le nombre de valeurs d'un tableau

array_rand
array_replace_recursive
Fonctions sur les tableaux


Replaces elements from passed arrays into the first array recursively

array_reduce
array_replace
Fonctions sur les tableaux
PHP Manual

array_replace_recursive

(PHP 5 >= 5.3.0)

array_replace_recursive — Replaces elements from passed arrays into the first array recursively

Description

array array_replace_recursive ( array &$array , array &$array1 [, array &$array2 [, array &$... ]] )

array_replace_recursive() remplace les valeurs du premier array avec les valeurs des mêmes clés issues des tableaux suivants. Si une clé du premier tableau existe dans un des tableaux suivants, sa valeur sera remplacée. Si la clé n'existe pas dans le premier tableau, elle sera créée. Si la clé n'existe que dans le premier tableau, elle sera laissée intacte. Si plusieurs tableaux sont passés comme arguments de remplacement, ils seront traités dans l'ordre.

array_replace_recursive() est récursive : si une valeur est un tableau, la même fonction de remplacement lui sera appliqué.

Si la valeur dans array est scalaire, elle sera remplacée par la valeur du tableau array1, que ce soit un scalaire ou un tableau. Si la valeur de array et array1 sont toutes les deux des tableaux, array_replace_recursive() remplacera les valeurs récursivement.

Liste de paramètres

array

Le tableau dans lequel les éléments sont remplacés.

array1

Les tableaux dont les valeurs finiront dans le premier tableau.

Valeurs de retour

Retourne un tableau ou NULL si une erreur survient.

Exemples

Exemple #1 Exemle avec array_replace_recursive()

<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));

$basket = array_replace_recursive($base, $replacements);
print_r($basket);

$basket = array_replace($base, $replacements);
print_r($basket);
?>

L'exemple ci-dessus va afficher :

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)

Exemple #2 Exemple avec array_replace_recursive() et la récursivité

<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');

$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);

?>

L'exemple ci-dessus va afficher :

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)

Voir aussi

  • array_replace() - Remplace les éléments d'un tableau par ceux d'autres tableaux

array_reduce
array_replace
Fonctions sur les tableaux


Remplace les éléments d'un tableau par ceux d'autres tableaux

array_replace_recursive
array_reverse
Fonctions sur les tableaux
PHP Manual

array_replace

(PHP 5 >= 5.3.0)

array_replace — Remplace les éléments d'un tableau par ceux d'autres tableaux

Description

array array_replace ( array &$array , array &$array1 [, array &$array2 [, array &$... ]] )

array_replace() remplace les valeurs du premier array avec les valeurs des mêmes clés issues des tableaux suivants. Si une clé du premier tableau existe dans un des tableaux suivants, sa valeur sera remplacée. Si la clé n'existe pas dans le premier tableau, elle sera créée. Si la clé n'existe que dans le premier tableau, elle sera laissée intacte. Si plusieurs tableaux sont passés comme arguments de remplacement, ils seront traités dans l'ordre.

array_replace() n'est pas récursif : il remplace les valeurs du premier tableau par la valeur des tableaux suivants, quelque que soit leur type.

Liste de paramètres

array

Le tableau dans lequel les éléments sont remplacés.

array1

Les tableaux dont les valeurs finiront dans le premier tableau.

Valeurs de retour

Retourne un tableau ou NULL si une erreur survient.

Exemples

Exemple #1 Exemple avec array_replace()

<?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => grape
    [1] => banana
    [2] => apple
    [3] => raspberry
    [4] => cherry
)

Voir aussi

  • array_replace_recursive() - Replaces elements from passed arrays into the first array recursively

array_replace_recursive
array_reverse
Fonctions sur les tableaux


Inverse l'ordre des éléments d'un tableau

array_replace
array_search
Fonctions sur les tableaux
PHP Manual

array_reverse

(PHP 4, PHP 5)

array_reverse — Inverse l'ordre des éléments d'un tableau

Description

array array_reverse ( array $array [, bool $preserve_keys = false ] )

array_reverse() retourne un nouveau tableau qui contient les mêmes éléments que array, mais dans l'ordre inverse.

Liste de paramètres

array

Le tableau d'entrée.

preserve_keys

Si définit à TRUE, les clés seront préservées.

Valeurs de retour

Retourne le tableau dans l'ordre inverse.

Historique

Version | Description
4.0.3 | Le paramètre preserve_keys est ajouté.

Exemples

Exemple #1 Exemple avec array_reverse()

<?php
$input  = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
$result_keyed = array_reverse($input, true);
?>

Ce code fait que $result et $result_keyed contiennent les mêmes éléments, mais qu'ils diffèrent au niveau des clés. $result et $result_keyed contiennent :

Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

Voir aussi

  • array_flip() - Remplace les clés par les valeurs, et les valeurs par les clés

array_replace
array_search
Fonctions sur les tableaux


Recherche dans un tableau la clé associée à une valeur

array_reverse
array_shift
Fonctions sur les tableaux
PHP Manual

array_search

(PHP 4 >= 4.0.5, PHP 5)

array_search — Recherche dans un tableau la clé associée à une valeur

Description

mixed array_search ( mixed $needle , array $haystack [, bool $strict ] )

Recherche needle dans haystack.

Liste de paramètres

needle

La valeur à chercher.

Note: Si needle est une chaîne de caractères, la comparaison est effectuée en respectant la casse.

haystack

Le tableau.

strict

Si le troisième paramètre strict vaut TRUE, alors array_search() cherchera des éléments identiques dans haystack. Cela signifie que cette fonction s'assurera aussi que le type de needle est le même que celui de la valeur trouvée dans haystack, et que les objets proviennent de la même instance.

Valeurs de retour

Retourne la clé pour needle si elle est trouvée dans le tableau, FALSE sinon.

Si needle est trouvé plus d'une fois dans haystack, la première clé concordante est retournée. Pour trouver toutes les clés correspondantes, utilisez plutôt la fonction array_keys() avec le paramètre optionnel search_value.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Historique

Version | Description
4.2.0 | Avant la version 4.2.0, array_search() retourne NULL en cas d'échec au lieu de FALSE.

Exemples

Exemple #1 Exemple avec array_search()

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Voir aussi

  • array_keys() - Retourne toutes les clés d'un tableau
  • array_values() - Retourne toutes les valeurs d'un tableau
  • array_key_exists() - Vérifie si une clé existe dans un tableau
  • in_array() - Indique si une valeur appartient à un tableau

array_reverse
array_shift
Fonctions sur les tableaux


Dépile un élément au début d'un tableau

array_search
array_slice
Fonctions sur les tableaux
PHP Manual

array_shift

(PHP 4, PHP 5)

array_shift — Dépile un élément au début d'un tableau

Description

mixed array_shift ( array &$array )

array_shift() extrait la première valeur d'un tableau et la retourne, en raccourcissant le tableau d'un élément, et en déplaçant tous les éléments vers le bas. Toutes les clés numériques seront modifiées pour commencer à zéro.

Note: Cette fonction remet le pointeur au début du tableau (équivalent de reset()).

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Retourne la valeur dépilée, ou NULL si le tableau est vide ou si la valeur d'entrée n'est pas un tableau.

Exemples

Exemple #1 Exemple avec array_shift()

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => banana
    [1] => apple
    [2] => raspberry
)

et orange a été placé dans $fruit.

Voir aussi

  • array_unshift() - Empile un ou plusieurs éléments au début d'un tableau
  • array_push() - Empile un ou plusieurs éléments à la fin d'un tableau
  • array_pop() - Dépile un élément de la fin d'un tableau

array_search
array_slice
Fonctions sur les tableaux


Extrait une portion de tableau

array_shift
array_splice
Fonctions sur les tableaux
PHP Manual

array_slice

(PHP 4, PHP 5)

array_slice — Extrait une portion de tableau

Description

array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys = false ]] )

array_slice() retourne une série d' éléments du tableau array commençant à l'offset offset et représentant length éléments.

Note: Cette fonction remet le pointeur au début du tableau (équivalent de reset()).

Liste de paramètres

array

Le tableau d'entrée.

offset

Si offset est non-négatif, la série commencera à cet offset dans le tableau array. Si offset est négatif, cette série commencera à l'offset offset, mais en commençant à la fin du tableau array.

length

Si length est fourni et positif, alors la série retournée aura autant d'éléments. Si length est fourni et négatif, alors la série contiendra les éléments depuis l'offset offset jusqu'à length éléments en partant de la fin. Si length est omis, la séquence lira tous les éléments du tableau, depuis l'offset précisé jusqu'à la fin du tableau.

preserve_keys

Notez que, par défaut, la fonction array_slice() va réordonner et réinitialiser les indices du tableau. Vous pouvez modifier ce comportement en définissant le paramètre preserve_keys à TRUE.

Valeurs de retour

Retourne la portion du tableau.

Historique

Version | Description
5.0.2 | Le paramètre optionnel preserve_keys a été ajouté.

Exemples

Exemple #1 Exemple avec array_slice()

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);         // retourne "c", "d", et "e"
$output = array_slice($input, -2, 1);     // retourne "d"
$output = array_slice($input, 0, 3);      // retourne "a", "b", et "c"

// notez les clés d'index différentes
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Voir aussi

  • array_splice() - Efface et remplace une portion de tableau
  • unset() - Détruit une variable

array_shift
array_splice
Fonctions sur les tableaux


Efface et remplace une portion de tableau

array_slice
array_sum
Fonctions sur les tableaux
PHP Manual

array_splice

(PHP 4, PHP 5)

array_splice — Efface et remplace une portion de tableau

Description

array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )

array_splice() supprime les éléments désignés par offset et length du tableau input et les remplace par les éléments du tableau replacement, si ce dernier est présent.

Notez que les clés numériques de input ne sont pas préservées.

Note: Si replacement n'est pas un tableau, il sera transtypé en 1 (i.e. (array) $parameter). Cela peut conduire en un résultat non prévu lors de l'utilisation d'un objet ou NULL comme paramètre replacement.

Liste de paramètres

input

Le tableau d'entrée.

offset

Si offset est positif, la série commencera à cet offset dans le tableau input. Si offset est négatif, cette série commencera à l'offset offset, mais en commençant à la fin du tableau input.

length

Si length est donné et positif, alors la série aura autant d'éléments. Si length est donné et négatif, les éléments seront pris dans l'ordre inverse. Si length est omis, la séquence lira tous les éléments du tableau, depuis l'offset offset jusqu'à la fin du tableau. Conseil : pour supprimer tous les éléments du tableau depuis offset jusqu'à la fin, même si un tableau de remplacement replacement est spécifié, utilisez count($input) à la place de length.

replacement

Si replacement est précisé, alors les éléments supprimés sont remplacés par les éléments de ce tableau.

Si l'offset et length sont tels que la taille du tableau ne change pas, alors les éléments du tableau de remplacement replacement sont insérés à partir de l'offset offset. Notez que les clés numériques de input ne sont pas préservées.

Si le tableau de remplacement replacement ne contient qu'un seul élément, il n'est pas obligatoire de forcer le type en tableau avec (array)(), à moins que cette variable ne soit elle-même un tableau, un objet ou NULL.

Valeurs de retour

Retourne le tableau contenant les éléments supprimés.

Exemples

Exemple #1 Exemple avec array_splice()

<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")

$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
//          "blue", "black", "maroon")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
//          "blue", "purple", "yellow");
?>

Exemple #2 Exemple avec array_splice()

L'exemple suivant modifie les valeurs de $input de la même façon :

<?php
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input, 0, 1);
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
$input[$x] = $y; // pour les tableaux dont les clés sont égales à l'offset
array_splice($input, $x, 1, $y);
?>

Voir aussi

  • array_slice() - Extrait une portion de tableau
  • unset() - Détruit une variable
  • array_merge() - Fusionne plusieurs tableaux en un seul

array_slice
array_sum
Fonctions sur les tableaux


Calcule la somme des valeurs du tableau

array_splice
array_udiff_assoc
Fonctions sur les tableaux
PHP Manual

array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sum — Calcule la somme des valeurs du tableau

Description

number array_sum ( array $array )

array_sum() retourne la somme des valeurs du tableau array.

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Retourne la somme des valeurs, sous la forme d'un entier ou d'un nombre décimal.

Historique

Version | Description
4.2.1 | Dans les versions de PHP antérieure à la version 4.2.1, cette fonction modifiait le tableau passé en argument et convertissait les chaînes de caractères en nombres (ce qui conduisait généralement à 0).

Exemples

Exemple #1 Exemple avec array_sum()

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

L'exemple ci-dessus va afficher :

sum(a) = 20
sum(b) = 6.9

array_splice
array_udiff_assoc
Fonctions sur les tableaux


Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel

array_sum
array_udiff_uassoc
Fonctions sur les tableaux
PHP Manual

array_udiff_assoc

(PHP 5)

array_udiff_assoc — Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel

Description

array array_udiff_assoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel.

Note: Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau multidimensionnel. Vous pouvez, bien sûr, tester une dimension particulière en utilisant par exemple, array_udiff_assoc($array1[1], $array2[1], "compare_func");.

Liste de paramètres

array1

Le premier tableau.

array2

Le second tableau.

data_compare_func

La fonction de comparaison.

La fonction utilisateur de rappel est utilisé pour la comparaison. Elle doit retourner un entier inférieur à, égal à, ou plus grand que 0 si le premier argument est considéré comme étant, respectivement, inférieur à, égal à, ou plus grand que le second.

Valeurs de retour

array_udiff_assoc() retourne un tableau contenant toutes les valeurs de array1 qui ne sont présentes dans aucun autre des arguments array2, .... Notez que les clés sont utilisées dans les comparaisons contrairement à array_diff() et array_udiff(). La comparaison des données est effectuée en utilisant une fonction de rappel fournie par l'utilisateur, data_compare_func. Ce comportement est différent de celui de array_diff_assoc() qui utilise une fonction de comparaison interne.

Exemples

Exemple #1 Exemple avec array_udiff_assoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

Dans notre exemple, vous voyez que la paire "1" => new cr(4) est présente dans les deux tableaux et donc absente du tableau résultant.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_sum
array_udiff_uassoc
Fonctions sur les tableaux


Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel

array_udiff_assoc
array_udiff
Fonctions sur les tableaux
PHP Manual

array_udiff_uassoc

(PHP 5)

array_udiff_uassoc — Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel

Description

array array_udiff_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )

Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel.

Notez que les clés sont utilisées dans les comparaisons contrairement à array_diff() et array_udiff().

Liste de paramètres

array1

Le premier tableau.

array2

Le second tableau.

data_compare_func

La fonction de rappel effectuant la comparaison.

Pour la comparaison, la fonction de rappel de l'utilisateur est utilisée. Cette fonction doit retourner un entier inférieur, égal ou supérieur à zéro si le premier argument est respectivement plus petit, égal ou plus grand que le second.

Cette comparaison est effectuée par une fonction de rappel de l'utilisateur : data_compare_func. Ce comportement est différent de celui de array_diff_assoc() qui utilise une fonction interne pour les comparaisons.

key_compare_func

La comparaison des clés (indices) est effectuée par la fonction de rappel key_compare_func. Ce comportement est différent de celui de array_udiff_assoc(), vu que cette dernière utilise une fonction interne pour comparer les indices.

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 qui ne sont pas présentes dans aucun autre argument.

Exemples

Exemple #1 Exemple avec array_udiff_uassoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    static function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

Dans notre exemple, vous voyez que la paire "1" => new cr(4) est présente dans les deux tableaux et donc, absente du tableau résultant. Gardez en tête que vous devez fournir deux fonctions de rappel.

Notes

Note: Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau multidimensionnel. Vous pouvez, bien sûr, tester une dimension particulière en utilisant par exemple array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_udiff_assoc
array_udiff
Fonctions sur les tableaux


Calcule la différence entre deux tableaux en utilisant une fonction rappel

array_udiff_uassoc
array_uintersect_assoc
Fonctions sur les tableaux
PHP Manual

array_udiff

(PHP 5)

array_udiff — Calcule la différence entre deux tableaux en utilisant une fonction rappel

Description

array array_udiff ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Calcule la différence entre deux tableaux en utilisant une fonction rappel. Cette fonctionne agit comme la fonction array_diff() qui utilise une fonction interne pour comparer les données.

Liste de paramètres

array1

Le premier tableau.

array2

Le second tableau.

data_compare_func

La fonction de comparaison.

La fonction utilisateur de rappel est utilisée pour la comparaison. Elle doit retourner un entier plus petit que, égal à, ou plus grand que zéro si le premier argument est respectivement plus petit que, égal au, ou plus grand que le second.

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 qui ne sont pas présentes dans aucun autre argument.

Exemples

Exemple #1 Exemple avec array_udiff()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    static function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )

)

Notes

Note: Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau multidimensionnel. Vous pouvez, bien sûr, tester une dimension particulière en utilisant par exemple array_udiff($array1[0], $array2[0], "data_compare_func");.

Voir aussi

  • array_diff() - Calcule la différence entre deux tableaux
  • array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_udiff_uassoc
array_uintersect_assoc
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel

array_udiff
array_uintersect_uassoc
Fonctions sur les tableaux
PHP Manual

array_uintersect_assoc

(PHP 5)

array_uintersect_assoc — Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel

Description

array array_uintersect_assoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel.

Notez que les clés sont utilisées dans la comparaison par opposition à la fonction array_uintersect(). Les données sont comparées en utilisant une fonction de rappel.

Liste de paramètres

array1

Le premier tableau.

array2

Le second tableau.

data_compare_func

Pour la comparaison, une fonction de rappel spécifiée par l'utilisateur est utilisée. Elle doit retourner un entier, plus petit que, égal à ou plus grand que zéro si le premier argument est considéré comme étant, respectivement, plus petit que, égal à ou plus grand le second.

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 qui sont présentes dans tous les autres arguments.

Exemples

Exemple #1 Exemple avec array_uintersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
)

Voir aussi

  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_udiff
array_uintersect_uassoc
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_uintersect_assoc
array_uintersect
Fonctions sur les tableaux
PHP Manual

array_uintersect_uassoc

(PHP 5)

array_uintersect_uassoc — Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

Description

array array_uintersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )

Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel.Notez que les clés sont utilisées dans la comparaison en opposition à la fonction array_uintersect(). Les données et les index sont comparés en utilisant une fonction de rappel.

Liste de paramètres

array1

Le premier tableau.

array2

Le second tableau.

data_compare_func

Pour la comparaison, une fonction de rappel spécifiée par l'utilisateur est utilisée. Elle doit retourner un entier, plus petit que, égal à ou plus grand que zéro si le premier argument est considéré comme étant, respectivement, plus petit que, égal à ou plus grand le second.

key_compare_func

Fonction de rappel utilisée pour la comparaison des clés.

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 qui sont présentes dans tous les arguments.

Exemples

Exemple #1 Exemple avec array_uintersect_uassoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
    [b] => brown
)

Voir aussi

  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel

array_uintersect_assoc
array_uintersect
Fonctions sur les tableaux


Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel

array_uintersect_uassoc
array_unique
Fonctions sur les tableaux
PHP Manual

array_uintersect

(PHP 5)

array_uintersect — Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel

Description

array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel.

Liste de paramètres

array1

Le premier tableau.

array2

Le second tableau.

data_compare_func

La fonction de rappel de comparaison.

Pour la comparaison, une fonction de rappel, spécifiée par l'utilisateur, est utilisée. Elle doit retourner un entier, plus petit que, égal à ou plus grand que zéro si le premier argument est considéré comme étant, respectivement, plus petit que, égal à ou plus grand le second.

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array1 qui sont présentes dans tous les arguments.

Exemples

Exemple #1 Exemple avec array_uintersect()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

Voir aussi

  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_uintersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les donnée en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les indexes des deux tableaux en utilisant une fonction de rappel

array_uintersect_uassoc
array_unique
Fonctions sur les tableaux


Dédoublonne un tableau

array_uintersect
array_unshift
Fonctions sur les tableaux
PHP Manual

array_unique

(PHP 4 >= 4.0.1, PHP 5)

array_unique — Dédoublonne un tableau

Description

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

array_unique() extrait du tableau array les valeurs distinctes, et supprime tous les doublons.

Notez que les clés sont préservées. array_unique() trie les valeurs traitées comme des chaînes dans un premier temps, puis garde la première clé rencontrée pour chaque valeur et ignore les clés suivantes. Cela ne signifie pas que la clé de la première valeur rencontrée du tableau array non trié sera conservée.

Note: Deux éléments sont considérés comme égaux si et seulement si (string) $elem1 === (string) $elem2. En clair : lorsque la représentation en chaîne de caractères est identique. Le premier élément sera utilisé

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Le second paramètre optionnel sort_flags peut être utilisé pour modifier la façon dont s'effectue le tri en utilisant les valeurs suivantes :

Drapeau de type de tri :

  • SORT_REGULAR - compare les éléments normalement (ne modifie pas les types)
  • SORT_NUMERIC - compare les éléments numériquement
  • SORT_STRING - compare les éléments comme des chaînes
  • SORT_LOCALE_STRING - compare les éléments comme des chaînes, suivant la locale courante. Ajouté en PHP 4.4.0 et 5.0.2.

Valeurs de retour

Retourne le tableau filtré.

Historique

Version | Description
5.2.9 | Ajout du paramètre optionnel sort_flags, qui faut par défaut SORT_REGULAR. Avant 5.2.9, cette fonction utilisait par défaut SORT_STRING, en interne.
5.2.10 | Changement de la valeur par défaut de sort_flags de nouveau à SORT_STRING.

Exemples

Exemple #1 Exemple avec array_unique()

<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

Exemple #2 Exemple avec array_unique() et les types

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

L'exemple ci-dessus va afficher :

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Notes

Note: Notez que array_unique() n'est pas conçu pour fonctionner avec des tableaux multidimensionnels.

array_uintersect
array_unshift
Fonctions sur les tableaux


Empile un ou plusieurs éléments au début d'un tableau

array_unique
array_values
Fonctions sur les tableaux
PHP Manual

array_unshift

(PHP 4, PHP 5)

array_unshift — Empile un ou plusieurs éléments au début d'un tableau

Description

int array_unshift ( array &$array , mixed $var [, mixed $... ] )

array_unshift() ajoute les éléments var, ..., passés en argument au début du tableau array. Notez que les éléments sont ajoutés comme un tout, et qu'ils restent dans le même ordre. Toutes les clés numériques seront modifiées afin de commencer à partir de zéro, tandis que les clés littérales ne seront pas touchées.

Liste de paramètres

array

Le tableau d'entrée.

var

Les variables à ajouter.

Valeurs de retour

Retourne le nouveau nombre d'éléments du tableau array.

Exemples

Exemple #1 Exemple avec array_unshift()

<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)

Voir aussi

  • array_shift() - Dépile un élément au début d'un tableau
  • array_push() - Empile un ou plusieurs éléments à la fin d'un tableau
  • array_pop() - Dépile un élément de la fin d'un tableau

array_unique
array_values
Fonctions sur les tableaux


Retourne toutes les valeurs d'un tableau

array_unshift
array_walk_recursive
Fonctions sur les tableaux
PHP Manual

array_values

(PHP 4, PHP 5)

array_values — Retourne toutes les valeurs d'un tableau

Description

array array_values ( array $input )

array_values() retourne les valeurs du tableau input et l'indexe numériquement.

Liste de paramètres

input

Le tableau.

Valeurs de retour

Retourne un tableau de valeurs indexé.

Exemples

Exemple #1 Exemple avec array_values()

<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => XL
    [1] => gold
)

Voir aussi

  • array_keys() - Retourne toutes les clés d'un tableau

array_unshift
array_walk_recursive
Fonctions sur les tableaux


Applique une fonction de rappel récursivement à chaque membre d'un tableau

array_values
array_walk
Fonctions sur les tableaux
PHP Manual

array_walk_recursive

(PHP 5)

array_walk_recursive — Applique une fonction de rappel récursivement à chaque membre d'un tableau

Description

bool array_walk_recursive ( array &$input , callback $funcname [, mixed $userdata ] )

Applique la fonction utilisateur funcname à chaque élément du tableau input. Cette fonction se reproduira dans toutes les profondeurs du tableau.

Liste de paramètres

input

Le tableau d'entrée.

funcname

Typiquement, funcname prend 2 paramètres. Le paramètre input, représentant la valeur, est le premier, l'index/clé, le deuxième.

Note: Si funcname doit être exécuté avec les valeurs actuelles du tableau, spécifiez le premier paramètre de funcname par référence. Alors, tout changement effectué sur les éléments de ce tableau sera également effectué sur le tableau original.

userdata

Si le paramètre optionnel userdata est fourni, il sera passé comme troisième paramètre à la fonction de rappel funcname.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec array_walk_recursive()

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

L'exemple ci-dessus va afficher :

a holds apple
b holds banana
sour holds lemon

Vous aurez noté que la clé 'sweet' n'est jamais affichée. Toute clé qui est associée à un tableau n'est pas passée à la fonction de rappel.

Voir aussi

  • array_walk() - Exécute une fonction sur chacun des éléments d'un tableau
  • Informations sur le type callback

array_values
array_walk
Fonctions sur les tableaux


Exécute une fonction sur chacun des éléments d'un tableau

array_walk_recursive
array
Fonctions sur les tableaux
PHP Manual

array_walk

(PHP 4, PHP 5)

array_walk — Exécute une fonction sur chacun des éléments d'un tableau

Description

bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] )

Exécute la fonction funcname définie par l'utilisateur sur chaque élément du tableau array.

array_walk() n'est pas affecté par le pointeur interne du tableau array. array_walk() traversera le tableau en totalité sans se soucier de la position du pointeur.

Liste de paramètres

array

Le tableau d'entrée.

funcname

Typiquement, funcname prend deux paramètres. La valeur du paramètre input étant le premier et la clé/index, le second.

Note: Si funcname doit travailler avec les véritables valeurs du tableau, spécifiez que le premier paramètre de funcname doit être passé par référence. Alors, les éléments seront directement modifiés dans le tableau.

Les utilisateurs ne peuvent pas modifier le tableau lui-même depuis la fonction de rappel. Par exemple, Ajout/Effacement d'éléments, réinitialisation d'éléments, etc. Si le tableau sur lequel array_walk() est appliqué est changé, le comportement de la fonction est indéfini et non prévisible.

userdata

Si le paramètre optionnel userdata est fourni, il sera passé comme troisième paramètre à la fonction définie par l'utilisateur funcname.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Si function requiert plus de paramètres que ceux donnés, une alerte E_WARNING sera générée à chaque fois que la fonction array_walk() appellera funcname. Ces alertes peuvent ne pas être affichées en utilisant l'opérateur d'erreur PHP @ lors de l'appel de la fonction array_walk() ou en utilisant error_reporting().

Exemples

Exemple #1 Exemple avec array_walk()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

function test_alter(&$item1, $key, $prefix)
{
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
    echo "$key. $item2<br />\n";
}

echo "Avant ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');
echo "... et après :\n";

array_walk($fruits, 'test_print');
?>

L'exemple ci-dessus va afficher :

Avant ...:
d. lemon
a. orange
b. banana
c. apple
... et après :
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

Voir aussi

  • array_walk_recursive() - Applique une fonction de rappel récursivement à chaque membre d'un tableau
  • iterator_apply() - Appelle une fonction pour tous les éléments d'un itérateur
  • create_function() - Crée une fonction anonyme
  • list() - Assigne des variables comme si elles étaient un tableau
  • each() - Retourne chaque paire clé/valeur d'un tableau
  • call_user_func_array() - Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • array_map() - Applique une fonction sur les éléments d'un tableau
  • Informations sur le type callback
  • foreach

array_walk_recursive
array
Fonctions sur les tableaux


Crée un tableau

array_walk
arsort
Fonctions sur les tableaux
PHP Manual

array

(PHP 4, PHP 5)

array — Crée un tableau

Description

array array ([ mixed $... ] )

Crée un tableau. Lisez la section sur les types-tableaux pour plus d'informations sur ce qu'est un tableau.

Liste de paramètres

...

La syntaxe "index => valeur", séparée par des virgules, définit les index et leur valeur. Un index peut être une chaîne ou un nombre. Si l'index est omis, un index numérique sera automatiquement généré (commençant à 0). Si l'index est un entier, le prochain index généré prendra la valeur d'index la plus grande + 1. Notez que si deux index identiques sont définis, le dernier remplacera le premier.

Avoir une virgule après avoir défini la dernière entrée, bien qu'inutile, est une syntaxe valide.

Valeurs de retour

Retourne un tableau des paramètres. Les paramètres peuvent fournir un index en utilisant l'opérateur =>. Lisez la section sur les types-tableaux pour plus d'informations sur ce qu'est un tableau.

Exemples

L'exemple suivant montre comment créer un tableau à deux dimensions, comment spécifier les index d'un tableau associatif, et comment générer automatiquement des index numériques.

Exemple #1 Exemple avec array()

<?php
$fruits = array (
    "fruits"  => array("a" => "orange", "b" => "banana", "c" => "apple"),
    "numbers" => array(1, 2, 3, 4, 5, 6),
    "holes"   => array("first", 5 => "second", "third")
);
?>

Exemple #2 Index automatique avec array()

<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Notez bien que l'index '3' est défini deux fois, et conserve finalement sa dernière valeur de 13. L'index '4' est défini après l'index '8', et l'index généré suivant (valeur 19) est 9, puisque le plus grand index est alors 8.

Cet exemple crée un tableau dont les index commencent à 1.

Exemple #3 Index commençant à 1 avec array()

<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>

L'exemple ci-dessus va afficher :

Array
(
    [1] => January
    [2] => February
    [3] => March
)

Tout comme en Perl, vous pouvez accéder à une valeur d'un tableau dans des doubles guillemets. Cependant, avec PHP, vous devez entourer votre tableau avec des parenthèses.

Exemple #4 Accéder à un tableau dans des doubles guillemets

<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>

Notes

Note: array() est un constructeur de langage utilisé pour représenter littéralement les tableaux, mais ce n'est en aucun cas une fonction régulière.

Voir aussi

  • array_pad() - Complète un tableau avec une valeur jusqu'à la longueur spécifiée
  • list() - Assigne des variables comme si elles étaient un tableau
  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
  • range() - Crée un tableau contenant un intervalle d'éléments
  • foreach
  • Le type array

array_walk
arsort
Fonctions sur les tableaux


Trie un tableau en ordre inverse

array
asort
Fonctions sur les tableaux
PHP Manual

arsort

(PHP 4, PHP 5)

arsort — Trie un tableau en ordre inverse

Description

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

arsort() trie le tableau array de telle manière que la corrélation entre les index et les valeurs soit conservée.

L'usage principal est lors de tri de tableaux associatifs où l'ordre des éléments est important.

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Vous pouvez modifier le comportement de cette fonction en utilisant le paramètre optionnel sort_flags. Pour plus de détails, voyez la fonction sort().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec arsort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

L'exemple ci-dessus va afficher :

a = orange
d = lemon
b = banana
c = apple

Les fruits ont été triés en ordre alphabétique inverse, et leurs index respectifs ont été conservés.

Voir aussi

  • asort() - Trie un tableau et conserve l'association des index
  • Les fonctions de tri des tableaux

array
asort
Fonctions sur les tableaux


Trie un tableau et conserve l'association des index

arsort
compact
Fonctions sur les tableaux
PHP Manual

asort

(PHP 4, PHP 5)

asort — Trie un tableau et conserve l'association des index

Description

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

asort() trie le tableau array de telle manière que la corrélation entre les index et les valeurs soit conservée. L'usage principal est lors de tri de tableaux associatifs où l'ordre des éléments est important.

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Vous pouvez modifier le comportement de cette fonction en utilisant le paramètre optionnel sort_flags. Pour plus de détails, voyez le manuel pour la fonction sort().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec asort()

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

L'exemple ci-dessus va afficher :

c = apple
b = banana
d = lemon
a = orange

Les fruits ont été triés par ordre alphabétique, et leurs index respectifs ont été conservés.

Voir aussi

  • arsort() - Trie un tableau en ordre inverse
  • Les fonctions de tri des tableaux

arsort
compact
Fonctions sur les tableaux


Crée un tableau à partir de variables et de leur valeur

asort
count
Fonctions sur les tableaux
PHP Manual

compact

(PHP 4, PHP 5)

compact — Crée un tableau à partir de variables et de leur valeur

Description

array compact ( mixed $varname [, mixed $... ] )

Crée un tableau à partir de variables et de leur valeur.

Pour chacun des arguments varname, ..., compact() recherche une variable avec un même nom dans la table courante des symboles, et l'ajoute dans le tableau, de manière à avoir la relation nom => 'valeur de variable'. En bref, c'est le contraire de la fonction extract().

Toute chaîne non reconnue dans la table des symboles sera tout simplement ignorée.

Liste de paramètres

varname

compact() accepte différents paramètres varname. Les paramètres peuvent être des variables contenant des chaînes, ou un tableau de chaînes, qui peut contenir d'autres tableaux de noms de variables, que compact() traitera récursivement.

Valeurs de retour

Retourne le tableau de sortie contenant toutes les variables ajoutées.

Exemples

Exemple #1 Exemple avec compact()

<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);
print_r($result);
?>

L'exemple ci-dessus va afficher :

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

Notes

Note: Erreur commune
Parce que les variables variables ne doivent pas être utilisées avec les tableaux superglobaux dans des fonctions, les tableaux Superglobaux ne doivent pas être passés dans la fonction compact().

Voir aussi

  • extract() - Importe les variables dans la table des symboles

asort
count
Fonctions sur les tableaux


Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet

compact
current
Fonctions sur les tableaux
PHP Manual

count

(PHP 4, PHP 5)

count — Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet

Description

int count ( mixed $var [, int $mode = COUNT_NORMAL ] )

Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet.

Pour les objets, count() retourne le nombre de propriétés non-statiques, sans tenir compte de la visibilité. Si SPL est disponible, vous pouvez utiliser la fonction count() en implémentant l'interface Countable. Cette interface a exactement une méthode, count(), qui retourne la valeur retournée par la fonction count().

Reportez-vous à la section sur les Tableaux du manuel, pour plus de détails sur le fonctionnement des tableaux en PHP.

Liste de paramètres

var

Le tableau.

mode

Si le paramètre optionnel mode vaut COUNT_RECURSIVE (ou 1), count() va compter récursivement les tableaux. C'est particulièrement pratique pour compter le nombre d'éléments d'un tableau. count() ne détecte pas la récursivité infinie.

Valeurs de retour

Retourne le nombre d'éléments dans var, qui est généralement un tableau et tout le reste, sauf les objets, n'aura qu'un élément.

Si le paramètre var n'est ni un objet, ni un tableau, 1 sera retourné. Il y a néanmoins une exception : si le paramètre var vaut NULL, 0 sera retourné.

Attention

count() peut retourner 0 pour une variable qui n'a pas été affectée, ou pour un tableau vide. Utilisez plutôt isset() pour tester si la variable existe.

Historique

Version | Description
4.2.0 | Le paramètre optionnel mode a été ajouté.

Exemples

Exemple #1 Exemple avec count()

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3

$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
$result = count($b);
// $result == 3

$result = count(null);
// $result == 0

$result = count(false);
// $result == 1
?>

Exemple #2 Exemple de récursivité avec count()

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// count récursif
echo count($food, COUNT_RECURSIVE); // affiche 8

// count normal
echo count($food); // affiche 2

?>

Voir aussi

  • is_array() - Détermine si une variable est un tableau
  • isset() - Détermine si une variable est définie et est différente de NULL
  • strlen() - Calcule la taille d'une chaîne

compact
current
Fonctions sur les tableaux


Retourne l'élément courant du tableau

count
each
Fonctions sur les tableaux
PHP Manual

current

(PHP 4, PHP 5)

current — Retourne l'élément courant du tableau

Description

mixed current ( array &$array )

Chaque tableau entretient un pointeur interne, qui est initialisé lorsque le premier élément est inséré dans le tableau.

Liste de paramètres

array

Le tableau.

Valeurs de retour

current() ne fait que retourner l'élément courant pointé par le pointeur interne du tableau array. current() ne déplace pas le pointeur. Si le pointeur est au-delà du dernier élément de la liste, current() retourne FALSE.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple d'utilisation de current()

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

Notes

Note: Vous ne serez pas capable de distinguer la fin d'un tableau avec l'élément booléen FALSE. Pour traverser correctement un tableau qui peut contenir l'élément FALSE, voyez la fonction each().

Voir aussi

  • end() - Positionne le pointeur de tableau en fin de tableau
  • key() - Retourne une clé d'un tableau associatif
  • each() - Retourne chaque paire clé/valeur d'un tableau
  • prev() - Recule le pointeur courant de tableau
  • reset() - Remet le pointeur interne de tableau au début
  • next() - Avance le pointeur interne d'un tableau

count
each
Fonctions sur les tableaux


Retourne chaque paire clé/valeur d'un tableau

current
end
Fonctions sur les tableaux
PHP Manual

each

(PHP 4, PHP 5)

each — Retourne chaque paire clé/valeur d'un tableau

Description

array each ( array &$array )

each() retourne la paire clé/valeur courante du tableau array et avance le pointeur de tableau.

Après chaque appel à each(), le pointeur de tableau est déplacé au prochain élément, ou sur le dernier élément, lorsqu'on arrive à la fin. Vous devez utiliser reset() si vous voulez traverser le tableau à nouveau avec each().

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Retourne la paire clé/valeur courante du tableau array et avance le pointeur de tableau. Cette paire est retournée dans un tableau de 4 éléments, avec les clés 0, 1, key, et value. Les éléments 0 et key contiennent le nom de la clé et 1 et value contiennent la valeur.

Si le pointeur interne de tableau est au-delà de la fin du tableau, each() retourne FALSE.

Exemples

Exemple #1 Exemple avec each()

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar contient maintenant les clés/valeurs suivantes :

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar contient maintenant les clés/valeurs suivantes :

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() est typiquement utilisée en conjonction avec list() pour passer en revue un tableau. Par exemple :

Exemple #2 Passer en revue un tableau avec each()

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

L'exemple ci-dessus va afficher :

a => apple
b => banana
c => cranberry

Attention

Assigner un tableau à une autre variable remet le pointeur du tableau original à zéro. À cause de ce comportement, nous aurions pu provoquer une boucle infinie dans notre exemple si nous avions assigné $fruit à une autre variable dans notre boucle.

Avertissement

each() accepte également des objets, mais peut retourner un résultat non-attendu. Aussi, il n'est pas recommandé d'utiliser cette fonction sur des objets.

Voir aussi

  • key() - Retourne une clé d'un tableau associatif
  • list() - Assigne des variables comme si elles étaient un tableau
  • current() - Retourne l'élément courant du tableau
  • reset() - Remet le pointeur interne de tableau au début
  • next() - Avance le pointeur interne d'un tableau
  • prev() - Recule le pointeur courant de tableau
  • foreach
  • Itération d'objet

current
end
Fonctions sur les tableaux


Positionne le pointeur de tableau en fin de tableau

each
extract
Fonctions sur les tableaux
PHP Manual

end

(PHP 4, PHP 5)

end — Positionne le pointeur de tableau en fin de tableau

Description

mixed end ( array &$array )

end() déplace le pointeur interne du tableau array jusqu'au dernier élément et retourne sa valeur.

Liste de paramètres

array

Le tableau. Ce tableau est passé par référence car il sera modifié par la fonction. Cela signifie que vous devez passer une vraie variable et non une fonction retournant un tableau, car actuellement, seules les variables peuvent être passées par référence.

Valeurs de retour

Retourne la valeur du dernier élément ou FALSE si le tableau est vide.

Exemples

Exemple #1 Exemple avec end()

<?php

$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry

?>

Voir aussi

  • current() - Retourne l'élément courant du tableau
  • each() - Retourne chaque paire clé/valeur d'un tableau
  • prev() - Recule le pointeur courant de tableau
  • reset() - Remet le pointeur interne de tableau au début
  • next() - Avance le pointeur interne d'un tableau

each
extract
Fonctions sur les tableaux


Importe les variables dans la table des symboles

end
in_array
Fonctions sur les tableaux
PHP Manual

extract

(PHP 4, PHP 5)

extract — Importe les variables dans la table des symboles

Description

int extract ( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )

Importe les variables dans la table des symboles.

extract() vérifie chaque clé afin de contrôler si elle a un nom de variable valide. Elle vérifie également les collisions avec des variables existantes dans la table des symboles.

Liste de paramètres

var_array

Un tableau associatif. Cette fonction crée les variables dont les noms sont les index de ce tableau, et leur affecte la valeur associée. Pour chaque paire clé/valeur, extract() crée une variable, avec les paramètres extract_type et prefix.

Vous devez utiliser un tableau associatif. Un tableau indexé numériquement ne produira aucun résultat, à moins que vous n'utilisiez l'option EXTR_PREFIX_ALL ou EXTR_PREFIX_INVALID.

extract_type

Le traitement des collisions est déterminé par extract_type. Ce paramètre peut prendre une des valeurs suivantes :

EXTR_OVERWRITE
Lors d'une collision, réécrire la variable existante.
EXTR_SKIP
Lors d'une collision, ne pas réécrire la variable existante.
EXTR_PREFIX_SAME
Lors d'une collision, ajouter le préfixe prefix, et créer une nouvelle variable.
EXTR_PREFIX_ALL
Ajouter le préfixe prefix pour toutes les variables.
EXTR_PREFIX_INVALID
Préfixer uniquement les variables aux noms invalides ou numériques avec le préfixe prefix.
EXTR_IF_EXISTS
Écrase la variable uniquement si elle existe déjà dans la table des symboles, et, sinon, ne rien faire. Ceci est pratique pour définir une liste de variables valides, puis extraire du tableau les valeurs que vous avez déjà définies grâce à $_REQUEST, par exemple.
EXTR_PREFIX_IF_EXISTS
Ne crée que des variables préfixées, si la version non préfixée de la même variable existe dans la table des symboles courante.
EXTR_REFS
Extrait les variables sous forme de références. Cela signifie que les valeurs des variables importées font toujours référence aux valeurs des variables d'origine dans le paramètre var_array. Vous pouvez utiliser cette option seule, ou bien la combiner avec d'autres options avec l'opérateur OR, dans le paramètre extract_type.

Si extract_type est omis, extract() utilise EXTR_OVERWRITE par défaut.

prefix

Notez que prefix n'est nécessaire que pour les valeurs de extract_type suivantes : EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID ou EXTR_PREFIX_IF_EXISTS. Si le résultat préfixé n'est pas un nom de variable valide, il ne sera pas importé dans la table des symboles. Les préfixes sont automatiquement séparés de l'index du tableau par un caractère de soulignement.

Valeurs de retour

Retourne le nombre de variables importées avec succès dans la table des symboles.

Historique

Version | Description
4.3.0 | EXTR_REFS a été ajouté.
4.2.0 | EXTR_IF_EXISTS et EXTR_PREFIX_IF_EXISTS ont été ajoutés.
4.0.5 | Cette fonction retourne maintenant le nombre de variables extraites. EXTR_PREFIX_INVALID a été ajouté. EXTR_PREFIX_ALL inclut également les variables numériques.

Exemples

Exemple #1 Exemple avec extract()

Une utilisation possible de la fonction extract() est l'exportation vers la table des symboles de tableaux de variables retournés par wddx_deserialize().

<?php

/* Supposons que $var_array est un tableau retourné par
   wddx_deserialize */

$size = "large";
$var_array = array("color" => "blue",
                   "size"  => "medium",
                   "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$color, $size, $shape, $wddx_size\n";

?>

L'exemple ci-dessus va afficher :

blue, large, sphere, medium

La variable $taille n'a pas été réécrite, car on avait spécifié le paramètre EXTR_PREFIX_SAME, qui a permis la création de $wddx_taille. Si EXTR_SKIP avait été utilisée, alors $wddx_taille n'aurait pas été créé. Avec EXTR_OVERWRITE, $taille aurait pris la valeur "moyen", et avec EXTR_PREFIX_ALL, les variables créées seraient $wddx_couleur, $wddx_taille et $wddx_forme.

Notes

Avertissement

N'utilisez pas extract() sur des données inconnues, comme les données utilisateurs (i.e. $_GET, $_FILES, etc.). Si vous le faites, par exemple, pour rendre compatible un vieux code avec register_globals à Off de façon temporaire, assurez-vous d'utiliser l'une des constantes extract_type qui n'écrasent pas les valeurs, comme EXTR_SKIP. Sachez aussi que vous devez maintenant extraire dans le même ordre que celui défini dans variables_order du php.ini.

Note: Si vous avez la directive register_globals d'activée et que vous utilisez la fonction extract() sur les variables $_FILES et que vous spécifiez la constante EXTR_SKIP, vous pourriez être surpris du résultat.

Avertissement

Cette façon de faire n'est pas recommandée et est uniquement documentée ici pour bien comprendre le comportement. L'utilisation de la directive register_globals est obsolète et appeler la fonction extract() sur des données partagées comme les variables $_FILES est, comme mentionné ci-dessus, un risque potentiel pour la sécurité. Si vous rencontrez ce problème, cela signifie que vous avez écrit votre code de la mauvaise manière pour au moins 2 raisons.

<?php

/* Supposez que $testfile est le nom d'un champ de téléchargement de fichier
   et que register_globals est actif. */

var_dump($testfile);
extract($_FILES, EXTR_SKIP);
var_dump($testfile);
var_dump($testfile['tmp_name']);

?>
Vous vous attendez à voir quelque chose comme :
string(14) "/tmp/phpgCCPX8"
array(5) {
  ["name"]=>
  string(10) "somefile.txt"
  ["type"]=>
  string(24) "application/octet-stream"
  ["tmp_name"]=>
  string(14) "/tmp/phpgCCPX8"
  ["error"]=>
  int(0)
  ["size"]=>
  int(4208)
}
string(14) "/tmp/phpgCCPX8"
Cependant, vous devriez plutôt voir quelque comme :
string(14) "/tmp/phpgCCPX8"
string(14) "/tmp/phpgCCPX8"
string(1) "/"
Ceci est dû au fait que, depuis que la directive register_globals est ative, la variable $testfile existe déjà dans le scope global lorsque la fonction extract() est appelée. Et vû que la constante EXTR_SKIP est spécifiée, la variable $testfile n'est pas écrasée avec le contenu du tableau $_FILES, aussi, la variable $testfile reste une chaîne de caractères. Parceque les chaînes de caractères peuvent être accédées en utilisant la synthaxe des tableaux et que la chaîne de caractères non-numérique tmp_name est interprétée comme 0, PHP voit $testfile['tmp_name'] comme $testfile[0].

Voir aussi

  • compact() - Crée un tableau à partir de variables et de leur valeur

end
in_array
Fonctions sur les tableaux


Indique si une valeur appartient à un tableau

extract
key
Fonctions sur les tableaux
PHP Manual

in_array

(PHP 4, PHP 5)

in_array — Indique si une valeur appartient à un tableau

Description

bool in_array ( mixed $needle , array $haystack [, bool $strict ] )

Recherche needle dans haystack.

Liste de paramètres

needle

La valeur recherchée.

Note: Si needle est une chaîne, la comparaison est faite en tenant compte de la casse.

haystack

Le tableau.

strict

Le troisième paramètre strict est optionnel. S'il vaut TRUE alors in_array() vérifiera aussi que le type du paramètre needle correspond au type de la valeur trouvée dans haystack.

Valeurs de retour

Retourne TRUE si needle est trouvé dans le tableau, FALSE sinon.

Historique

Version | Description
4.2.0 | needle peut maintenant être un tableau.

Exemples

Exemple #1 Exemple avec in_array()

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo "Got mac";
}
?>

La seconde condition échoue, car in_array() est sensible à la casse. Le script retourne :

Got Irix

Exemple #2 Exemple avec in_array() et le mode strict

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "'12.4' est trouvé avec le mode strict\n";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 est trouvé avec le mode strict\n";
}
?>

L'exemple ci-dessus va afficher :

1.13 est trouvé avec le mode strict

Exemple #3 Exemple avec in_array() et un tableau en paramètre

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "'ph' a été trouvé\n";
}

if (in_array(array('f', 'i'), $a)) {
    echo "'fi' was found\n";
}

if (in_array('o', $a)) {
    echo "'o' a été trouvé\n";
}
?>

L'exemple ci-dessus va afficher :

  'ph' a été trouvé
  'o' a été trouvé

Voir aussi

  • array_search() - Recherche dans un tableau la clé associée à une valeur
  • isset() - Détermine si une variable est définie et est différente de NULL
  • array_key_exists() - Vérifie si une clé existe dans un tableau

extract
key
Fonctions sur les tableaux


Retourne une clé d'un tableau associatif

in_array
krsort
Fonctions sur les tableaux
PHP Manual

key

(PHP 4, PHP 5)

key — Retourne une clé d'un tableau associatif

Description

mixed key ( array &$array )

key() retourne la clé courante dans le tableau array.

Liste de paramètres

array

Le tableau.

Valeurs de retour

La fonction key() retourne simplement la clé de l'élément du tableau qui est actuellement pointée par le pointeur interne. Cette fonction ne modifie en aucun cas la position de ce pointeur. Si le pointeur interne pointe un élément se situant après la fin de la liste des éléments, ou bien si le tableau est vide, la fonction key() retournera NULL.

Exemples

Exemple #1 Exemple avec key()

<?php
$array = array(
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'fruit3' => 'grape',
    'fruit4' => 'apple',
    'fruit5' => 'apple');

// Cette boucle affiche toutes les clés
// dont la valeur vaut "apple"
while ($fruit_name = current($array)) {
    if ($fruit_name == 'apple') {
        echo key($array).'<br />';
    }
    next($array);
}
?>

L'exemple ci-dessus va afficher :

fruit1<br />
fruit4<br />
fruit5<br />

Voir aussi

  • current() - Retourne l'élément courant du tableau
  • next() - Avance le pointeur interne d'un tableau

in_array
krsort
Fonctions sur les tableaux


Trie un tableau en sens inverse et suivant les clés

key
ksort
Fonctions sur les tableaux
PHP Manual

krsort

(PHP 4, PHP 5)

krsort — Trie un tableau en sens inverse et suivant les clés

Description

bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

krsort() trie le tableau array en ordre inverse et suivant les clés, en maintenant la correspondance entre les clés et les valeurs. Cette fonction est pratique pour les tableaux associatifs.

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Vous pouvez modifier le comportement de cette fonction en utilisant le paramètre optionnel sort_flags. Pour plus de détails, voyez le manuel pour la fonction sort().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec krsort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

L'exemple ci-dessus va afficher :

d = lemon
c = apple
b = banana
a = orange

Voir aussi

  • arsort() - Trie un tableau en ordre inverse
  • ksort() - Trie un tableau suivant les clés
  • Les fonctions de tri des tableaux

key
ksort
Fonctions sur les tableaux


Trie un tableau suivant les clés

krsort
list
Fonctions sur les tableaux
PHP Manual

ksort

(PHP 4, PHP 5)

ksort — Trie un tableau suivant les clés

Description

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Trie le tableau array suivant les clés, en maintenant la correspondance entre les clés et les valeurs. Cette fonction est pratique pour les tableaux associatifs.

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Vous pouvez modifier le comportement de cette fonction en utilisant le paramètre optionnel sort_flags. Pour plus de détails, voyez le manuel pour la fonction sort().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ksort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

L'exemple ci-dessus va afficher :

a = orange
b = banana
c = apple
d = lemon

Voir aussi

  • asort() - Trie un tableau et conserve l'association des index
  • Les fonctions de tri des tableaux

krsort
list
Fonctions sur les tableaux


Assigne des variables comme si elles étaient un tableau

ksort
natcasesort
Fonctions sur les tableaux
PHP Manual

list

(PHP 4, PHP 5)

list — Assigne des variables comme si elles étaient un tableau

Description

array list ( mixed $varname [, mixed $... ] )

Tout comme array(), list() n'est pas une véritable fonction, mais un élément de langage, qui permet de rassembler les variables varname, ... sous forme de tableau, pour les assigner en une seule ligne.

Liste de paramètres

varname

Une variable.

Valeurs de retour

Retourne le tableau assigné.

Exemples

Exemple #1 Exemple avec list()

<?php

$info = array('coffee', 'brown', 'caffeine');

// Liste toutes les variables
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";

// Liste certaines variables
list($drink, , $power) = $info;
echo "$drink has $power.\n";

// Ou bien, n'utilisons que le troisième
list( , , $power) = $info;
echo "I need $power!\n";

// list() ne fonctionne pas avec les chaînes de caractères
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Exemple #2 Exemple d'utilisation de list()

<table>
 <tr>
  <th>Employee name</th>
  <th>Salary</th>
 </tr>

<?php

$result = mysql_query("SELECT id, name, salary FROM employees", $conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
    echo " <tr>\n" .
          "  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
          "  <td>$salary</td>\n" .
          " </tr>\n";
}

?>

</table>

Exemple #3 Utilisation d'un sous-list()

<?php

list($a, list($b, $c)) = array(1, array(2, 3));

var_dump($a, $b, $c);

?>
int(1)
int(2)
int(3)

Exemple #4 Utilisation de list() en tenant compte de l'ordre

<?php

$info = array('coffee', 'brown', 'caffeine');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

Cet exemple donne le résultat suivant (notez l'ordre d'affichage des éléments, en comparaison avec l'ordre dans lequel ils ont été écrits dans la syntaxe de list()) :

array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

Notes

Avertissement

list() assigne les valeurs en commençant par la valeur la plus à droite. Si vous utilisez ces variables, ce ne sera pas un problème. Mais si vous utilisez des tableaux, vous serez surpris de voir que list() les affecte de droite à gauche.

Note: list() fonctionne uniquement avec des tableaux à indexation numérique, et suppose que l'indexation commence à 0.

Voir aussi

  • each() - Retourne chaque paire clé/valeur d'un tableau
  • array() - Crée un tableau
  • extract() - Importe les variables dans la table des symboles

ksort
natcasesort
Fonctions sur les tableaux


Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse

list
natsort
Fonctions sur les tableaux
PHP Manual

natcasesort

(PHP 4, PHP 5)

natcasesort — Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse

Description

bool natcasesort ( array &$array )

natcasesort() est la version insensible à la casse de natsort().

natcasesort() implémente un algorithme de tri qui traite les chaînes alphanumériques du tableau array comme un être humain tout en conservant la relation clé/valeur. C'est ce qui est appelé l'"ordre naturel".

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec natcasesort()

<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo "Standard sorting\n";
print_r($array1);

natcasesort($array2);
echo "\nNatural order sorting (case-insensitive)\n";
print_r($array2);
?>

L'exemple ci-dessus va afficher :

Standard sorting
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Natural order sorting (case-insensitive)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Pour plus de détails, rendez-vous sur le site de Martin Pool : » Natural Order String Comparison page.

Voir aussi

  • natsort() - Trie un tableau avec l'algorithme à "ordre naturel"
  • Les fonctions de tri des tableaux
  • strnatcmp() - Comparaison de chaînes avec l'algorithme d'"ordre naturel"
  • strnatcasecmp() - Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)

list
natsort
Fonctions sur les tableaux


Trie un tableau avec l'algorithme à "ordre naturel"

natcasesort
next
Fonctions sur les tableaux
PHP Manual

natsort

(PHP 4, PHP 5)

natsort — Trie un tableau avec l'algorithme à "ordre naturel"

Description

bool natsort ( array &$array )

natsort() implémente un algorithme de tri qui traite les chaînes alphanumériques du tableau array comme un être humain tout en conservant la relation clé/valeur. C'est ce qui est appelé l'"ordre naturel". Un exemple de la différence de traitement entre un tel algorithme et un algorithme de tri de chaînes (comme lorsqu'on utilise sort()) est illustré ci-dessous.

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.10 | Les chaines numériques alignées par des zéros (e.g., '00005') ignorent les zéros d'alignement.

Exemples

Exemple #1 Exemple d'utilisation de base avec natsort()

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

asort($array1);
echo "Standard sorting\n";
print_r($array1);

natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);
?>

L'exemple ci-dessus va afficher :

Standard sorting
Array
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Pour plus de détails, rendez-vous sur le site de Martin Pool : » Natural Order String Comparison.

Exemple #2 Exemples montrant les pièges de natsort()

<?php
echo "Nombres négatifs\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);

echo "Alignement avec zéros\n";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);

echo "Autres caractères pouvant interférer\n";
$images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
print_r($images_oops);
natsort($images_oops);
print_r($images_oops);

echo "Tri par clés\n";
$smoothie = array('orange' => 1, 'apple' => 1, 'yogurt' => 4, 'banana' => 4);
print_r($smoothie);
uksort( $smoothie, 'strnatcmp');
print_r($smoothie);
?>

L'exemple ci-dessus va afficher :

Nombres négatifs
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

Alignement avec zéros
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Autres caractères pouvant interférer
Array
(
    [0] => image_1.jpg
    [1] => image_12.jpg
    [2] => image_21.jpg
    [3] => image_4.jpg
)
Array
(
    [0] => image_1.jpg
    [3] => image_4.jpg
    [1] => image_12.jpg
    [2] => image_21.jpg
)

Tri par clés
Array
(
    [orange] => 1
    [apple]  => 1
    [yogurt] => 4
    [banana] => 4
)
Array
(
    [apple]  => 1
    [banana] => 4
    [orange] => 1
    [yogurt] => 4
)

Voir aussi

  • natcasesort() - Trie un tableau avec l'algorithme à "ordre naturel" insensible à la casse
  • Les fonctions de tri des tableaux
  • strnatcmp() - Comparaison de chaînes avec l'algorithme d'"ordre naturel"
  • strnatcasecmp() - Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)

natcasesort
next
Fonctions sur les tableaux


Avance le pointeur interne d'un tableau

natsort
pos
Fonctions sur les tableaux
PHP Manual

next

(PHP 4, PHP 5)

next — Avance le pointeur interne d'un tableau

Description

mixed next ( array &$array )

next() se comporte comme current(), avec une différence. Il avance le pointeur interne du tableau d'un élément, avant de retourner la valeur de l'élément. Cela signifie qu'il retourne la prochaine valeur du tableau et avance le pointeur interne d'un élément.

Liste de paramètres

array

Le tableau à traiter.

Valeurs de retour

Retourne la prochaine valeur du tableau suivant le pointeur interne, ou FALSE s'il n'y a plus d'élément.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec next()

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Notes

Note: Vous ne serez pas capable de distinguer la fin d'un tableau avec l'élément booléen FALSE. Pour traverser correctement un tableau qui peut contenir l'élément FALSE, voyez la fonction each().

Voir aussi

  • current() - Retourne l'élément courant du tableau
  • end() - Positionne le pointeur de tableau en fin de tableau
  • prev() - Recule le pointeur courant de tableau
  • reset() - Remet le pointeur interne de tableau au début
  • each() - Retourne chaque paire clé/valeur d'un tableau

natsort
pos
Fonctions sur les tableaux


Alias de current

next
prev
Fonctions sur les tableaux
PHP Manual

pos

(PHP 4, PHP 5)

pos — Alias de current()

Description

Cette fonction est un alias de : current()

next
prev
Fonctions sur les tableaux


Recule le pointeur courant de tableau

pos
range
Fonctions sur les tableaux
PHP Manual

prev

(PHP 4, PHP 5)

prev — Recule le pointeur courant de tableau

Description

mixed prev ( array &$array )

Recule le pointeur courant de tableau.

prev() se comporte exactement comme next(), mais elle fait reculer le pointeur plutôt que de l'avancer.

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Retourne la valeur précédente du tableau suivant le pointeur interne du tableau, ou FALSE s'il n'y a plus d'élément.

Exemples

Exemple #1 Exemple avec prev()

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

Notes

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE comme 0 ou "". Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Note: Vous ne serez pas capable de distinguer la fin d'un tableau avec l'élément booléen FALSE. Pour traverser correctement un tableau qui peut contenir l'élément FALSE, voyez la fonction each().

Voir aussi

  • current() - Retourne l'élément courant du tableau
  • end() - Positionne le pointeur de tableau en fin de tableau
  • next() - Avance le pointeur interne d'un tableau
  • reset() - Remet le pointeur interne de tableau au début
  • each() - Retourne chaque paire clé/valeur d'un tableau

pos
range
Fonctions sur les tableaux


Crée un tableau contenant un intervalle d'éléments

prev
reset
Fonctions sur les tableaux
PHP Manual

range

(PHP 4, PHP 5)

range — Crée un tableau contenant un intervalle d'éléments

Description

array range ( mixed $low , mixed $high [, number $step ] )

Crée un tableau contenant un intervalle d'éléments.

Liste de paramètres

low

Valeur basse.

high

Valeur haute.

step

Si une valeur est donnée au paramètre step, il sera utilisé comme valeur incrémentale entre les éléments de la séquence. step doit être exprimé comme un nombre entier positif. S'il n'est pas spécifié, step vaut par défaut 1.

Valeurs de retour

Retourne un tableau d'éléments depuis low jusqu'à high, inclusif. Si la valeur basse est supérieure à la valeur haute, la séquence sera depuis la valeur haute jusqu'à la valeur basse.

Historique

Version | Description
5.0.0 | Le paramètre optionnel step a été ajouté.
4.1.0 à 4.3.2 | Dans les versions de PHP de 4.1.0 à 4.3.2, range() voyait les chaînes numériques comme des chaînes et non comme des entiers. Au lieu de cela, ils étaient utilisés comme séquence de caractères. Par exemple, "4242" était traité comme "4".
4.1.0 | Avant la version PHP 4.1.0, la fonction range() ne générait que des séquences d'entiers. Le support des séquences de caractères a été ajouté en PHP 4.1.0. Les valeurs de séquence des caractères sont limitées à 1. Si la longueur est supérieure à 1, seul le premier caractère est utilisé.

Exemples

Exemple #1 Exemple avec range()

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $number) {
    echo $number;
}

// La paramètre de pas (step) a été introduit en version 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $number) {
    echo $number;
}

// L'utilisation des caractères a été introduit en version 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letter) {
    echo $letter;
}
// array('c', 'b', 'a');
foreach (range('c', 'a') as $letter) {
    echo $letter;
}
?>

Voir aussi

  • shuffle() - Mélange les éléments d'un tableau
  • array_fill() - Remplit un tableau avec une même valeur
  • foreach

prev
reset
Fonctions sur les tableaux


Remet le pointeur interne de tableau au début

range
rsort
Fonctions sur les tableaux
PHP Manual

reset

(PHP 4, PHP 5)

reset — Remet le pointeur interne de tableau au début

Description

mixed reset ( array &$array )

reset() replace le pointeur de tableau array au premier élément et retourne la valeur du premier élément.

Liste de paramètres

array

Le tableau d'entrée.

Valeurs de retour

Retourne la valeur du premier élément du tableau, ou FALSE si le tableau est vide.

Exemples

Exemple #1 Exemple avec reset()

<?php

$array = array('step one', 'step two', 'step three', 'step four');

// Par défaut, le pointeur est sur le premier élément
echo current($array) . "<br />\n"; // "step one"

// on saute deux éléments
next($array);
next($array);
echo current($array) . "<br />\n"; // "step three"

// on remet le pointeur au début
reset($array);
echo current($array) . "<br />\n"; // "step one"

?>

Voir aussi

  • current() - Retourne l'élément courant du tableau
  • each() - Retourne chaque paire clé/valeur d'un tableau
  • end() - Positionne le pointeur de tableau en fin de tableau
  • next() - Avance le pointeur interne d'un tableau
  • prev() - Recule le pointeur courant de tableau

range
rsort
Fonctions sur les tableaux


Trie un tableau en ordre inverse

reset
shuffle
Fonctions sur les tableaux
PHP Manual

rsort

(PHP 4, PHP 5)

rsort — Trie un tableau en ordre inverse

Description

bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Effectue un tri en ordre décroissant (du plus grand au plus petit) du tableau array.

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Vous pouvez modifier le comportement de cette fonction en utilisant le paramètre optionnel sort_flags. Pour plus de détails, voyez le manuel pour la fonction sort().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec rsort()

<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

L'exemple ci-dessus va afficher :

0 = orange
1 = lemon
2 = banana
3 = apple

Les fruits ont été classés dans l'ordre alphabétique inverse.

Notes

Note: Cette fonction assigne de nouvelles clés pour les éléments du paramètre array. Elle effacera toutes les clés existantes que vous aviez pu assigner, plutôt que de les trier.

Voir aussi

  • arsort() - Trie un tableau en ordre inverse
  • krsort() - Trie un tableau en sens inverse et suivant les clés
  • Les fonctions de tri des tableaux

reset
shuffle
Fonctions sur les tableaux


Mélange les éléments d'un tableau

rsort
sizeof
Fonctions sur les tableaux
PHP Manual

shuffle

(PHP 4, PHP 5)

shuffle — Mélange les éléments d'un tableau

Description

bool shuffle ( array &$array )

Mélange les éléments du tableau array.

Liste de paramètres

array

Le tableau.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec shuffle()

<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
    echo "$number ";
}
?>

Historique

Version | Description
4.2.0 | Le générateur de nombres aléatoires est initialisé automatiquement.

Notes

Note: Cette fonction assigne de nouvelles clés pour les éléments du paramètre array. Elle effacera toutes les clés existantes que vous aviez pu assigner, plutôt que de les trier.

Voir aussi

  • Les fonctions de tri des tableaux

rsort
sizeof
Fonctions sur les tableaux


Alias de count

shuffle
sort
Fonctions sur les tableaux
PHP Manual

sizeof

(PHP 4, PHP 5)

sizeof — Alias de count()

Description

Cette fonction est un alias de : count().

shuffle
sort
Fonctions sur les tableaux


Trie un tableau

sizeof
uasort
Fonctions sur les tableaux
PHP Manual

sort

(PHP 4, PHP 5)

sort — Trie un tableau

Description

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

sort() trie le tableau array. Les éléments seront triés du plus petit au plus grand.

Liste de paramètres

array

Le tableau d'entrée.

sort_flags

Le paramètre optionnel sort_flags peut être utilisé pour modifier le comportement de tri en utilisant ces valeurs :

Constantes de type de tri :

  • SORT_REGULAR : compare les éléments normalement (ne modifie pas les types)
  • SORT_NUMERIC : compare les éléments numériquement
  • SORT_STRING : compare les éléments comme des chaînes de caractères
  • SORT_LOCALE_STRING : compare les éléments en utilisant la configuration locale. Ajouté en PHP 5.0.2 et 4.4.0. La locale courante est utilisée, elle peut être changée au moyen de setlocale().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec sort()

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

L'exemple ci-dessus va afficher :

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

Les fruits ont été classés dans l'ordre alphabétique.

Notes

Note: Cette fonction assigne de nouvelles clés pour les éléments du paramètre array. Elle effacera toutes les clés existantes que vous aviez pu assigner, plutôt que de les trier.

Note: Comme la plupart des fonctions de tri de PHP, sort() utilise une implémentation de » Quicksort.

Avertissement

Attention lorsque vous triez des tableaux avec des types différents de valeurs car le résultat de sort() est imprévisible.

Voir aussi

  • asort() - Trie un tableau et conserve l'association des index
  • Les fonctions de tri des tableaux

sizeof
uasort
Fonctions sur les tableaux


Trie un tableau en utilisant une fonction de rappel

sort
uksort
Fonctions sur les tableaux
PHP Manual

uasort

(PHP 4, PHP 5)

uasort — Trie un tableau en utilisant une fonction de rappel

Description

bool uasort ( array &$array , callback $cmp_function )

Trie le tableau array en conservant la correspondance entre les index et leurs valeurs. uasort() sert essentiellement lors de tri de tableaux associatifs où l'ordre des éléments est significatif. La fonction de comparaison utilisée cmp_function est définie par l'utilisateur.

Utilisé habituellement lors du trie de tableaux associatifs où l'ordre actuel des éléments est significatif.

Liste de paramètres

array

Le tableau d'entrée.

cmp_function

Voyez les fonctions usort() et uksort() pour des exemples de tris avec utilisation de fonction personnalisée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec uasort()

<?php
// Fonction de comparaison
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Tableau à trier
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);

// Trie et affiche le tableau résultant
uasort($array, 'cmp');
print_r($array);
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Voir aussi

  • usort() - Trie un tableau en utilisant une fonction de comparaison
  • Les fonctions de tri des tableaux

sort
uksort
Fonctions sur les tableaux


Trie un tableau par ses clés en utilisant une fonction de rappel

uasort
usort
Fonctions sur les tableaux
PHP Manual

uksort

(PHP 4, PHP 5)

uksort — Trie un tableau par ses clés en utilisant une fonction de rappel

Description

bool uksort ( array &$array , callback $cmp_function )

uksort() trie les clés du tableau array en utilisant la fonction utilisateur cmp_function. Si un tableau doit être trié avec un critère complexe, il est préférable d'utiliser cette fonction.

Liste de paramètres

array

Le tableau d'entrée.

cmp_function

La fonction de rappel utilisée pour la comparaison.

La fonction cmp_function doit accepter deux paramètres, qui représenteront une paire de clés du tableau array. La fonction de comparaison doit retourner un entier supérieur, égal ou inférieur à zéro, pour, respectivement, indiquer que le premier argument est supérieur, égal ou inférieur au second.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec uksort()

<?php
function cmp($a, $b)
{
    $a = preg_replace('@^(a|an|the) @', '', $a);
    $b = preg_replace('@^(a|an|the) @', '', $b);
    return strcasecmp($a, $b);
}

$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

uksort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
?>

L'exemple ci-dessus va afficher :

an apple: 3
a banana: 4
the Earth: 2
John: 1

Voir aussi

  • usort() - Trie un tableau en utilisant une fonction de comparaison
  • Les fonctions de tri des tableaux

uasort
usort
Fonctions sur les tableaux


Trie un tableau en utilisant une fonction de comparaison

uksort
Classes/Objets
Fonctions sur les tableaux
PHP Manual

usort

(PHP 4, PHP 5)

usort — Trie un tableau en utilisant une fonction de comparaison

Description

bool usort ( array &$array , callback $cmp_function )

usort() va trier le tableau array avec ses valeurs, en utilisant une fonction définie par l'utilisateur. Si un tableau doit être trié avec un critère complexe, il est préférable d'utiliser cette fonction.

Note: Si deux éléments sont égaux, au sens de la fonction cmp_function, leur ordre sera indéfini.

Note: Cette fonction assigne de nouvelles clés pour les éléments du paramètre array. Elle effacera toutes les clés existantes que vous aviez pu assigner, plutôt que de les trier.

Liste de paramètres

array

Le tableau d'entrée.

cmp_function

La fonction de comparaison cmp_function doit retourner un entier, qui sera inférieur, égal ou supérieur à zéro suivant que le premier argument est considéré comme plus petit, égal ou plus grand que le second argument. Si les deux arguments sont égaux, leur ordre est indéfini.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.1.0 | Un nouvel algorithme est introduit. Le paramètre cmp_function ne conserve pas l'ordre original des éléments considérés comme égaux.

Exemples

Exemple #1 Exemple avec usort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $key => $value) {
    echo "$key: $value\n";
}
?>

L'exemple ci-dessus va afficher :

0: 1
1: 2
2: 3
3: 5
4: 6

Note: Évidemment dans ce cas trivial, sort() serait plus approprié.

Exemple #2 Tri avec usort() sur un tableau multidimensionnel

<?php
function cmp($a, $b)
{
    return strcmp($a["fruit"], $b["fruit"]);
}

$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";

usort($fruits, "cmp");

while (list($key, $value) = each($fruits)) {
    echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>

Lors du tri de tableau multidimensionnel, $a et $b contiennent des références sur le premier élément du tableau.

L'exemple ci-dessus va afficher :

$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons

Exemple #3 Tri avec usort() sur un objet

<?php
class TestObj {
    var $name;

    function TestObj($name)
    {
        $this->name = $name;
    }

    /* Ceci est une fonction de comparaison statique */
    static function cmp_obj($a, $b)
    {
        $al = strtolower($a->name);
        $bl = strtolower($b->name);
        if ($al == $bl) {
            return 0;
        }
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

usort($a, array("TestObj", "cmp_obj"));

foreach ($a as $item) {
    echo $item->name . "\n";
}
?>

L'exemple ci-dessus va afficher :

b
c
d

Voir aussi

  • uasort() - Trie un tableau en utilisant une fonction de rappel
  • Les fonctions de tri des tableaux

uksort
Classes/Objets
Fonctions sur les tableaux


Les Classes/Objets

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions Classes/Objets
    • call_user_method_array — Appelle une méthode utilisateur avec un tableau de paramètres [obsolète]
    • call_user_method — Appelle une méthode utilisateur d'un objet [obsolète]
    • class_alias — Crée un alias de classe
    • class_exists — Vérifie qu'une classe a été définie
    • get_called_class — Le nom de la classe en "Late Static Binding"
    • get_class_methods — Retourne les noms des méthodes d'une classe
    • get_class_vars — Retourne les valeurs par défaut des propriétés d'une classe
    • get_class — Retourne la classe d'un objet
    • get_declared_classes — Liste toutes les classes définies dans PHP
    • get_declared_interfaces — Retourne un tableau avec toutes les interfaces déclarées
    • get_object_vars — Retourne les propriétés d'un objet
    • get_parent_class — Retourne le nom de la classe d'un objet
    • interface_exists — Vérifie si une interface a été définie
    • is_a — Vérifie si l'objet fait parti d'une classe ou a cette classe comme parents
    • is_subclass_of — Détermine si un objet est une sous-classe
    • method_exists — Vérifie que la méthode existe pour une classe
    • property_exists — Vérifie si un objet ou une classe possède une propriété
usort
Introduction
Extensions relatives aux variables et aux types


Introduction

Ces fonctions vous permettant d'obtenir des informations sur les classes ainsi que sur les instances d'objets. Vous pouvez obtenir le nom de la classe à laquelle un objet appartient, mais aussi les propriétés de ces membres et méthodes. En utilisant ces fonctions, vous pouvez retrouver non seulement la classe d'un objet, mais aussi son héritage (la classe étendant celle-ci).

Classes/Objets
Installation/Configuration
Classes/Objets


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Classes/Objets


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
Classes/Objets


Exemples

Dans cet exemple, nous commençons par définir une classe de base ainsi qu'une extension de cette classe. La classe de base un légume, s'il peut être éditer et qu'elle est sa couleur. La sous-classe Spinach ajoute une méthode pour le cuisiner, si possible.

Exemple #1 classes.inc

<?php

// classe de base, avec les propriétés des membres et des méthodes
class Vegetable {

   var $edible;
   var $color;

   function Vegetable($edible, $color="green")
   {
       $this->edible = $edible;
       $this->color = $color;
   }

   function is_edible()
   {
       return $this->edible;
   }

   function what_color()
   {
       return $this->color;
   }

} // fin de la classe Vegetable

// extend la classe de base
class Spinach extends Vegetable {

   var $cooked = false;

   function Spinach()
   {
       $this->Vegetable(true, "green");
   }

   function cook_it()
   {
       $this->cooked = true;
   }

   function is_cooked()
   {
       return $this->cooked;
   }

} // fin de la classe Spinach

?>

Puis, créons deux objets depuis ces classes et affichons les informations sur ces dernières, incluant leur classe parente. Nous définissons également des fonctions utilitaires, afin d'avoir un affichage plus joli des variables.

Exemple #2 test_script.php

<pre>
<?php

include "classes.inc";

// fonctions utiles

function print_vars($obj)
{
foreach (get_object_vars($obj) as $prop => $val) {
    echo "\t$prop = $val\n";
}
}

function print_methods($obj)
{
$arr = get_class_methods(get_class($obj));
foreach ($arr as $method) {
    echo "\tfonction $method()\n";
}
}

function class_parentage($obj, $class)
{
if (is_subclass_of($GLOBALS[$obj], $class)) {
    echo "L'objet $obj appartient à la classe " . get_class($$obj);
    echo " une sous-classe de $class\n";
} else {
    echo "L'object $obj n'appartient pas à la sous-classe $class\n";
}
}

// instanciation des 2 objets

$veggie = new Vegetable(true, "blue");
$leafy = new Spinach();

// Afifchage des informations des objets
echo "veggie: CLASS " . get_class($veggie) . "\n";
echo "leafy: CLASS " . get_class($leafy);
echo ", PARENT " . get_parent_class($leafy) . "\n";

// affichage de la propriété veggie
echo "\nveggie: Propriétés\n";
print_vars($veggie);

// et enfin, les méthodes
echo "\nleafy: Méthodes\n";
print_methods($leafy);

echo "\nClasse parente :\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>

Une chose importante à noter dans l'exemple ci-dessus est que l'objet $leafy est une instance de la classe Spinach qui est une sous-classe de Vegetable, toutefois, la dernière partie de ce script affichera :

   [...]
Classe parente :
L'object leafy n'appartient pas à la sous-classe Spinach
L'object leafy appartient à la classe spinach une sous-classe de Vegetable

Constantes pré-définies
Fonctions Classes/Objets
Classes/Objets


Fonctions Classes/Objets

Sommaire

  • call_user_method_array — Appelle une méthode utilisateur avec un tableau de paramètres [obsolète]
  • call_user_method — Appelle une méthode utilisateur d'un objet [obsolète]
  • class_alias — Crée un alias de classe
  • class_exists — Vérifie qu'une classe a été définie
  • get_called_class — Le nom de la classe en "Late Static Binding"
  • get_class_methods — Retourne les noms des méthodes d'une classe
  • get_class_vars — Retourne les valeurs par défaut des propriétés d'une classe
  • get_class — Retourne la classe d'un objet
  • get_declared_classes — Liste toutes les classes définies dans PHP
  • get_declared_interfaces — Retourne un tableau avec toutes les interfaces déclarées
  • get_object_vars — Retourne les propriétés d'un objet
  • get_parent_class — Retourne le nom de la classe d'un objet
  • interface_exists — Vérifie si une interface a été définie
  • is_a — Vérifie si l'objet fait parti d'une classe ou a cette classe comme parents
  • is_subclass_of — Détermine si un objet est une sous-classe
  • method_exists — Vérifie que la méthode existe pour une classe
  • property_exists — Vérifie si un objet ou une classe possède une propriété
Exemples
call_user_method_array
Classes/Objets


Appelle une méthode utilisateur avec un tableau de paramètres [obsolète]

Fonctions Classes/Objets
call_user_method
Fonctions Classes/Objets
PHP Manual

call_user_method_array

(PHP 4 >= 4.0.5, PHP 5)

call_user_method_array — Appelle une méthode utilisateur avec un tableau de paramètres [obsolète]

Description

mixed call_user_method_array ( string $method_name , object &$obj , array $params )
Avertissement

La fonction call_user_method_array() est obsolète depuis PHP 4.1.0.

Liste de paramètres

method_name

Le nom de la méthode appelé.

obj

L'objet que method_name va utiliser.

params

Un tableau de paramètres.

Exemples

Exemple #1 Alternative à la fonction call_user_method_array()

<?php
call_user_func_array(array($obj, $method_name), $params);
call_user_func_array(array(&$obj, $method_name), $params); // PHP 4
?>

Voir aussi

  • call_user_func_array() - Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • call_user_func() - Appelle une fonction utilisateur

Fonctions Classes/Objets
call_user_method
Fonctions Classes/Objets


Appelle une méthode utilisateur d'un objet [obsolète]

call_user_method_array
class_alias
Fonctions Classes/Objets
PHP Manual

call_user_method

(PHP 4, PHP 5)

call_user_method — Appelle une méthode utilisateur d'un objet [obsolète]

Description

mixed call_user_method ( string $method_name , object &$obj [, mixed $parameter [, mixed $... ]] )
Avertissement

La fonction call_user_method() est abandonnée depuis PHP 4.1.0.

Liste de paramètres

method_name

Le nom de la méthode à appeler.

obj

L'objet que method_name va utiliser.

parameter ...

Les paramètres optionnels.

Exemples

Exemple #1 Alternative à la fonction call_user_method()

<?php
call_user_func(array($obj, $method_name), $parameter /* , ... */);
call_user_func(array(&$obj, $method_name), $parameter /* , ... */); // PHP 4
?>

Voir aussi

  • call_user_func_array() - Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • call_user_func() - Appelle une fonction utilisateur

call_user_method_array
class_alias
Fonctions Classes/Objets


Crée un alias de classe

call_user_method
class_exists
Fonctions Classes/Objets
PHP Manual

class_alias

(PHP 5 >= 5.3.0)

class_alias — Crée un alias de classe

Description

boolean class_alias ([ string $original [, string $alias ]] )

Créé un alias appelé alias de la classe original. L'alias est en tous points similaire à la classe originale.

Liste de paramètres

original

La classe originale.

alias

Le nom de l'alias de la classe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec class_alias()

<?php

class foo { }

class_alias('foo', 'bar');

$a = new foo;
$b = new bar;

// the objects are the same
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// the classes are the same
var_dump($a instanceof foo);
var_dump($a instanceof bar);

var_dump($b instanceof foo);
var_dump($b instanceof bar);

?>

L'exemple ci-dessus va afficher :

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Voir aussi

  • get_parent_class() - Retourne le nom de la classe d'un objet
  • is_subclass_of() - Détermine si un objet est une sous-classe

call_user_method
class_exists
Fonctions Classes/Objets


Vérifie qu'une classe a été définie

class_alias
get_called_class
Fonctions Classes/Objets
PHP Manual

class_exists

(PHP 4, PHP 5)

class_exists — Vérifie qu'une classe a été définie

Description

bool class_exists ( string $class_name [, bool $autoload = true ] )

Cette fonction vérifie si une classe donnée a été définie.

Liste de paramètres

class_name

Le nom de la classe. Sensible à la casse.

autoload

Si l'on doit appeler __autoload ou non par défaut.

Valeurs de retour

Retourne TRUE si class_name est une classe définie, FALSE sinon.

Historique

Version | Description
5.0.2 | Ne retourne plus TRUE pour les interfaces définies. Utilisez la fonction interface_exists().
5.0.0 | La paramètre autoload a été ajoutée.

Exemples

Exemple #1 Exemple avec class_exists()

<?php
// Vérifiez que la classe existe avant de l'utiliser
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Exemple #2 Exemple avec le paramètre autoload

<?php
function __autoload($class)
{
    include($class . '.php');

    // Vérifie si l'include définie la classe
    if (!class_exists($class, false)) {
        trigger_error("Impossible de charger la classe : $class", E_USER_WARNING);
    }
}

if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

Voir aussi

  • function_exists() - Indique si une fonction est définie
  • interface_exists() - Vérifie si une interface a été définie
  • get_declared_classes() - Liste toutes les classes définies dans PHP

class_alias
get_called_class
Fonctions Classes/Objets


Le nom de la classe en "Late Static Binding"

class_exists
get_class_methods
Fonctions Classes/Objets
PHP Manual

get_called_class

(PHP 5 >= 5.3.0)

get_called_class — Le nom de la classe en "Late Static Binding"

Description

string get_called_class ( void )

Lit le nom de la classe, tel que le Late State Binding le calcule.

Valeurs de retour

Retourne le nom de la classe. Retourne FALSE si appelée depuis l'extérieur d'une classe.

Exemples

Exemple #1 Exemple avec get_called_class()

<?php

class foo {
    static public function test() {
        var_dump(get_called_class());
    }
}

class bar extends foo {
}

foo::test();
bar::test();

?>

L'exemple ci-dessus va afficher :

string(3) "foo"
string(3) "bar"

Voir aussi

  • get_parent_class() - Retourne le nom de la classe d'un objet
  • get_class() - Retourne la classe d'un objet
  • is_subclass_of() - Détermine si un objet est une sous-classe

class_exists
get_class_methods
Fonctions Classes/Objets


Retourne les noms des méthodes d'une classe

get_called_class
get_class_vars
Fonctions Classes/Objets
PHP Manual

get_class_methods

(PHP 4, PHP 5)

get_class_methods — Retourne les noms des méthodes d'une classe

Description

array get_class_methods ( mixed $class_name )

Retourne les noms des méthodes d'une classe.

Liste de paramètres

class_name

Le nom de la classe ou une instance d'objet

Valeurs de retour

Retourne un tableau contenant les noms des méthodes de la classe class_name. En cas d'erreur, NULL est retourné.

Historique

Version | Description
5.0.0 | Depuis PHP 5, cette fonction retourne le nom des méthodes telles quelles sont déclarées (sensible à la casse). En PHP 4, elles étaient en minuscules.
4.0.6 | La possibilité de spécifier l'objet lui-même a été ajoutée.

Exemples

Exemple #1 Exemple avec get_class_methods()

<?php

class myclass {
    // constructeur
    function myclass()
    {
        return(true);
    }

    // méthode 1
    function myfunc1()
    {
        return(true);
    }

    // méthode 2
    function myfunc2()
    {
        return(true);
    }
}

$class_methods = get_class_methods('myclass');
// ou
$class_methods = get_class_methods(new myclass());

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

L'exemple ci-dessus va afficher :

myclass
myfunc1
myfunc2

Voir aussi

  • get_class() - Retourne la classe d'un objet
  • get_class_vars() - Retourne les valeurs par défaut des propriétés d'une classe
  • get_object_vars() - Retourne les propriétés d'un objet

get_called_class
get_class_vars
Fonctions Classes/Objets


Retourne les valeurs par défaut des propriétés d'une classe

get_class_methods
get_class
Fonctions Classes/Objets
PHP Manual

get_class_vars

(PHP 4, PHP 5)

get_class_vars — Retourne les valeurs par défaut des propriétés d'une classe

Description

array get_class_vars ( string $class_name )

Retourne les valeurs par défaut des propriétés d'une classe.

Liste de paramètres

class_name

Le nom de la classe

Valeurs de retour

Retourne un tableau associatif contenant les nom/valeur des propriétés visibles dans le scope courant de la classe class_name. Les éléments du tableau résultant sont sous la forme : nom_variable => valeur.

Historique

Version | Description
5.0.3 | En fonction du contexte, get_class_vars() ne retourne que les propriétés qui sont accessibles depuis ce contexte.
5.0.2 | Appeler get_class_vars() produit toutes les propriétés sous la forme d'un tableau, contrairement au comportement précédent où les propriétés privées et publiques étaient préfixées par des caractères null.
5.0.1 | Appeler get_class_vars() retourne toutes les propriétés, exactement comme convertir un objet en un tableau.
Avant la version 4.2.0 | Les variables de classe non initialisées n'étaient pas rapportées par get_class_vars().

Exemples

Exemple #1 Exemple avec get_class_vars()

<?php

class myclass {

    var $var1; // pas de valeur par défaut...
    var $var2 = "xyz";
    var $var3 = 100;
    private $var4; // PHP 5

    // constructeur
    function myclass() {
        // changement de quelques propriétés
        $this->var1 = "foo";
        $this->var2 = "bar";
        return true;
    }

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}

?>

L'exemple ci-dessus va afficher :

// Avant PHP 4.2.0
var2 : xyz
var3 : 100

// Depuis PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

Exemple #2 Exemple avec get_class_vars() et les contextes

<?php
function format($array)
{
    return implode('|', array_keys($array)) . "\r\n";
}

class TestCase
{
    public $a = 1;
    protected $b = 2;
    private $c = 3;

    public static function expose()
    {
        echo format(get_class_vars(__CLASS__));
    }
}

TestCase::expose();
echo format(get_class_vars('TestCase'));
?>

L'exemple ci-dessus va afficher :

// 5.0.0
a| * b| TestCase c
a| * b| TestCase c

// 5.0.1 - 5.0.2
a|b|c
a|b|c

// 5.0.3 +
a|b|c
a

Voir aussi

  • get_class_methods() - Retourne les noms des méthodes d'une classe
  • get_object_vars() - Retourne les propriétés d'un objet

get_class_methods
get_class
Fonctions Classes/Objets


Retourne la classe d'un objet

get_class_vars
get_declared_classes
Fonctions Classes/Objets
PHP Manual

get_class

(PHP 4, PHP 5)

get_class — Retourne la classe d'un objet

Description

string get_class ([ object $object ] )

Retourne la classe de l'objet obj.

Liste de paramètres

object

L'objet testé

Valeurs de retour

Retourne le nom de la classe pour laquelle object est une instance. Retourne FALSE si object n'est pas un objet.

Erreurs / Exceptions

Si get_class() est appelé avec autre chose qu'un objet, une alerte de niveau E_WARNING sera émise.

Historique

Version | Description
Depuis 5.0.0 | Le nom de la classe est retourné dans sa notation originale.
Depuis 5.0.0 | Le paramètre object est optionnel s'il est appelé depuis la méthode de l'objet.

Exemples

Exemple #1 Exemple avec get_class()

<?php

class foo {
    function name()
    {
        echo "Mon nom est " , get_class($this) , "\n";
    }
}

// création d'un objet
$bar = new foo();

// Appel externe
echo "Son nom est " , get_class($bar) , "\n";

// Appel interne
$bar->name();

?>

L'exemple ci-dessus va afficher :

Son nom est foo
Mon nom est foo

Exemple #2 Utilisation de get_class() dans une superclasse

<?php

abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}

class foo extends bar {
}

new foo;

?>

L'exemple ci-dessus va afficher :

string(3) "foo"
string(3) "bar"

Voir aussi

  • get_called_class() - Le nom de la classe en "Late Static Binding"
  • get_parent_class() - Retourne le nom de la classe d'un objet
  • gettype() - Retourne le type de la variable
  • is_subclass_of() - Détermine si un objet est une sous-classe

get_class_vars
get_declared_classes
Fonctions Classes/Objets


Liste toutes les classes définies dans PHP

get_class
get_declared_interfaces
Fonctions Classes/Objets
PHP Manual

get_declared_classes

(PHP 4, PHP 5)

get_declared_classes — Liste toutes les classes définies dans PHP

Description

array get_declared_classes ( void )

Liste toutes les classes définies.

Valeurs de retour

Retourne un tableau contenant la liste des classes déclarées dans le script courant.

Note: Notez que suivant les extensions qui sont compilées ou chargées dans PHP, d'autres classes peuvent être présentes. Cela signifie que vous ne pourrez pas utiliser ces noms de classe pour définir vos propres classes. Voici une liste des classes prédéfinies.

Exemples

Exemple #1 Exemple avec get_declared_classes()

<?php
print_r(get_declared_classes());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Voir aussi

  • class_exists() - Vérifie qu'une classe a été définie
  • get_declared_interfaces() - Retourne un tableau avec toutes les interfaces déclarées
  • get_defined_functions() - Liste toutes les fonctions définies

get_class
get_declared_interfaces
Fonctions Classes/Objets


Retourne un tableau avec toutes les interfaces déclarées

get_declared_classes
get_object_vars
Fonctions Classes/Objets
PHP Manual

get_declared_interfaces

(PHP 5)

get_declared_interfaces — Retourne un tableau avec toutes les interfaces déclarées

Description

array get_declared_interfaces ( void )

Retourne un tableau avec toutes les interfaces déclarées.

Valeurs de retour

Retourne un tableau contenant les noms des interfaces déclarées dans le script courant.

Exemples

Exemple #1 Exemple avec get_declared_interfaces()

<?php
print_r(get_declared_interfaces());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Voir aussi

  • get_declared_classes() - Liste toutes les classes définies dans PHP
  • class_implements() - Retourne les interfaces implémentées par une classe donnée

get_declared_classes
get_object_vars
Fonctions Classes/Objets


Retourne les propriétés d'un objet

get_declared_interfaces
get_parent_class
Fonctions Classes/Objets
PHP Manual

get_object_vars

(PHP 4, PHP 5)

get_object_vars — Retourne les propriétés d'un objet

Description

array get_object_vars ( object $object )

Récupère les propriétés non-statiques accessibles de l'objet object du contexte.

Liste de paramètres

object

Une instance d'un objet.

Valeurs de retour

Retourne un tableau associatif contenant les propriétés non-statiques de l'objet object du contexte. Si une propriété n'a pas de valeur d'assignée, elle sera retournée avec une valeur NULL.

Historique

Version | Description
5.3.0 | Cette fonction retourne maintenant NULL si le paramètre object n'est pas un objet.
Avant 5.3.0 | Si le paramètre object n'est pas un objet, alors la fonction get_object_vars() retourne FALSE
Avant 4.2.0 | Si les variables déclarées dans la classe de l'objet obj, n'avaient pas été assignées, elles n'apparaissaient pas dans le tableau retourné

Exemples

Exemple #1 Exemple avec get_object_vars()

<?php

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;

    public function test() {
        var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

?>

L'exemple ci-dessus va afficher :

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

Voir aussi

  • get_class_methods() - Retourne les noms des méthodes d'une classe
  • get_class_vars() - Retourne les valeurs par défaut des propriétés d'une classe

get_declared_interfaces
get_parent_class
Fonctions Classes/Objets


Retourne le nom de la classe d'un objet

get_object_vars
interface_exists
Fonctions Classes/Objets
PHP Manual

get_parent_class

(PHP 4, PHP 5)

get_parent_class — Retourne le nom de la classe d'un objet

Description

string get_parent_class ([ mixed $object ] )

Récupère le nom de classe parent pour un objet ou une classe.

Liste de paramètres

object

L'objet ou le nom de la classe testé

Valeurs de retour

Retourne le nom de la classe parent dont object est une instance ou le nom.

Note: Si l'objet n'a pas de parent, FALSE sera retourné.

Si appelée sans paramètre en dehors de l'objet, cette fonction retourne FALSE.

Historique

Version | Description
Avant 5.1.0 | Si appelée sans paramètre en dehors de l'objet, cette fonction retourne NULL avec une alerte.
Depuis 5.0.0 | Le paramètre object est optionnel si appelé depuis la méthode de l'objet.
Depuis 4.0.5 | Si le paramètre obj est une chaîne, get_parent_class() retourne le nom de la classe parente.

Exemples

Exemple #1 Exemple avec get_parent_class()

<?php

class papa {
    function papa()
    {
    // un peu de code
    }
}

class enfant extends papa {
    function enfant()
    {
        echo "je suis le fils de " , get_parent_class($this) , "\n";
    }
}

class enfant2 extends papa {
    function enfant2()
    {
        echo "Je suis aussi le fils de " , get_parent_class('enfant2') , "\n";
    }
}

$foo = new enfant();
$bar = new enfant2();

?>

L'exemple ci-dessus va afficher :

je suis le fils de papa
Je suis aussi le fils de papa

Voir aussi

  • get_class() - Retourne la classe d'un objet
  • is_subclass_of() - Détermine si un objet est une sous-classe

get_object_vars
interface_exists
Fonctions Classes/Objets


Vérifie si une interface a été définie

get_parent_class
is_a
Fonctions Classes/Objets
PHP Manual

interface_exists

(PHP 5 >= 5.0.2)

interface_exists — Vérifie si une interface a été définie

Description

bool interface_exists ( string $interface_name [, bool $autoload = true ] )

Vérifie si une interface a été définie.

Liste de paramètres

interface_name

Le nom de l'interface

autoload

Si l'on doit appeler __autoload ou non par défaut.

Valeurs de retour

Retourne TRUE si l'interface fournie par le paramètre interface_name a été définie, FALSE sinon.

Exemples

Exemple #1 Exemple avec interface_exists()

<?php
// Vérifie si l'interface existe avant de l'utiliser
if (interface_exists('MyInterface')) {
    class MyClass implements MyInterface
    {
        // Méthodes
    }
}

?>

Voir aussi

  • class_exists() - Vérifie qu'une classe a été définie

get_parent_class
is_a
Fonctions Classes/Objets


Vérifie si l'objet fait parti d'une classe ou a cette classe comme parents

interface_exists
is_subclass_of
Fonctions Classes/Objets
PHP Manual

is_a

(PHP 4 >= 4.2.0, PHP 5)

is_a — Vérifie si l'objet fait parti d'une classe ou a cette classe comme parents

Description

bool is_a ( object $object , string $class_name )

Vérifie si l'objet object fait partie de cette classe ou a cette classe comme parent.

Liste de paramètres

object

L'objet testé

class_name

Le nom de la classe

Valeurs de retour

Retourne TRUE si l'objet fait parti de cette classe ou a cette classe comme parents, FALSE sinon.

Historique

Version | Description
5.3.0 | Cette fonction n'est plus obsolète, et ne lance plus d'alerte de type E_STRICT.
5.0.0 | Cette fonction devient obsolète en faveur de l'opérateur instanceof. L'appel à cette fonction émettra une alerte de niveau E_STRICT.

Exemples

Exemple #1 Exemple avec is_a()

<?php
// Définit une classe
class WidgetFactory
{
  var $oink = 'moo';
}

// Crée un nouvel objet
$WF = new WidgetFactory();

if (is_a($WF, 'WidgetFactory')) {
  echo "oui, \$WF est toujours un objet WidgetFactory\n";
}
?>

Exemple #2 Utilisation de l'opérateur instanceof avec PHP 5

<?php
if ($WF instanceof WidgetFactory) {
    echo 'Oui, $WF est un WidgetFactory';
}
?>

Voir aussi

  • get_class() - Retourne la classe d'un objet
  • get_parent_class() - Retourne le nom de la classe d'un objet
  • is_subclass_of() - Détermine si un objet est une sous-classe

interface_exists
is_subclass_of
Fonctions Classes/Objets


Détermine si un objet est une sous-classe

is_a
method_exists
Fonctions Classes/Objets
PHP Manual

is_subclass_of

(PHP 4, PHP 5)

is_subclass_of — Détermine si un objet est une sous-classe

Description

bool is_subclass_of ( mixed $object , string $class_name )

Vérifie si l'objet object a la classe class_name comme parents.

Liste de paramètres

object

Un nom de classe ou une instance d'un objet

class_name

Le nom de la classe

Valeurs de retour

Cette fonction retourne TRUE si l'objet object, appartient à une classe qui est une sous-classe de class_name, FALSE sinon.

Historique

Version | Description
5.0.3 | vous devez également spécifier le paramètre object en tant que chaîne de caractères (le nom de la classe).

Exemples

Exemple #1 Exemple avec is_subclass_of()

<?php
// Définit une classe
class WidgetFactory
{
  var $oink = 'moo';
}

// Définit une sous-classe
class WidgetFactory_Child extends WidgetFactory
{
  var $oink = 'oink';
}

// Création d'un nouvel objet
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (is_subclass_of($WFC, 'WidgetFactory')) {
  echo "oui, \$WFC est une sous-classe de la classe WidgetFactory\n";
} else {
  echo "non, \$WFC n'est pas une sous-classe de la classe WidgetFactory\n";
}

if (is_subclass_of($WF, 'WidgetFactory')) {
  echo "oui, \$WF est une sous-classe de la classe WidgetFactory\n";
} else {
  echo "non, \$WF n'est pas une sous-classe de la classe WidgetFactory\n";
}

// utilisable uniquement depuis PHP 5.0.3
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
  echo "oui, WidgetFactory_Child est une sous-classe de la classe WidgetFactory\n";
} else {
  echo "non, WidgetFactory_Child n'est pas une sous-classe de la classe WidgetFactory\n";
}
?>

L'exemple ci-dessus va afficher :

oui, $WFC est une sous-classe de la classe WidgetFactory
non, $WF n'est pas une sous-classe de la classe WidgetFactory
oui, WidgetFactory_Child est une sous-classe de la classe WidgetFactory

Notes

Note: L'usage de cette fonction utilisera toutes les autoloaders enregistrés si la classe n'est pas encore connue.

Voir aussi

  • get_class() - Retourne la classe d'un objet
  • get_parent_class() - Retourne le nom de la classe d'un objet
  • is_a() - Vérifie si l'objet fait parti d'une classe ou a cette classe comme parents

is_a
method_exists
Fonctions Classes/Objets


Vérifie que la méthode existe pour une classe

is_subclass_of
property_exists
Fonctions Classes/Objets
PHP Manual

method_exists

(PHP 4, PHP 5)

method_exists — Vérifie que la méthode existe pour une classe

Description

bool method_exists ( mixed $object , string $method_name )

Vérifie si la méthode existe pour l'objet object fourni.

Liste de paramètres

object

Une instance d'un objet ou le nom d'une classe

method_name

Le nom de la méthode

Valeurs de retour

Retourne TRUE si la méthode fournie par le paramètre method_name a été définie pour l'objet object, FALSE sinon.

Notes

Note: L'usage de cette fonction utilisera toutes les autoloaders enregistrés si la classe n'est pas encore connue.

Exemples

Exemple #1 Exemple avec method_exists()

<?php
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>

L'exemple ci-dessus va afficher :

bool(true)

Exemple #2 Exemple avec method_exists() en appel statique

<?php
var_dump(method_exists('Directory','read'));
?>

L'exemple ci-dessus va afficher :

bool(true)

Voir aussi

  • function_exists() - Indique si une fonction est définie
  • is_callable() - Détermine si l'argument peut être appelé comme fonction

is_subclass_of
property_exists
Fonctions Classes/Objets


Vérifie si un objet ou une classe possède une propriété

method_exists
Classkit
Fonctions Classes/Objets
PHP Manual

property_exists

(PHP 5 >= 5.1.0)

property_exists — Vérifie si un objet ou une classe possède une propriété

Description

bool property_exists ( mixed $class , string $property )

Cette fonction vérifie si la propriété property existe dans la classe spécifiée.

Note: property_exists() retourne TRUE même si la propriété a une valeur NULL, contrairement à la fonction isset().

Liste de paramètres

class

Le nom de la classe ou un objet de la classe à tester

property

Le nom de la propriété

Valeurs de retour

Retourne TRUE si la propriété existe, FALSE si elle n'existe pas et NULL si une erreur survient.

Notes

Note: L'usage de cette fonction utilisera toutes les autoloaders enregistrés si la classe n'est pas encore connue.

Note: La fonction property_exists() ne peut pas détecter les propriétés qui sont accessibles en utilisant la méthode __get.

Historique

Version | Description
5.3.0 | Cette fonction vérifie l'existence d'une propriété indépendamment de l'accessibilité.

Exemples

Exemple #1 Exemple avec property_exists()

<?php

class myClass {
    public $mine;
    private $xpto;
    static protected $test;

    static function test() {
        var_dump(property_exists('myClass', 'xpto')); //true
    }
}

var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //true, depuis PHP 5.3.0
var_dump(property_exists('myClass', 'bar'));    //false
var_dump(property_exists('myClass', 'test'));   //true, depuis PHP 5.3.0
myClass::test();

?>

Voir aussi

  • method_exists() - Vérifie que la méthode existe pour une classe

method_exists
Classkit
Fonctions Classes/Objets


Classkit

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Classkit
    • classkit_import — Importe de nouvelles définitions de méthodes de classes depuis un fichier
    • classkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
    • classkit_method_copy — Copie une méthode d'une classe vers une autre classe
    • classkit_method_redefine — Change dynamiquement le code de la méthode donnée
    • classkit_method_remove — Efface dynamiquement une méthode donnée
    • classkit_method_rename — Change dynamiquement le nom d'une méthode donnée
property_exists
Introduction
Extensions relatives aux variables et aux types


Introduction

Ces fonctions permettent la manipulation dynamique des classes PHP, au moment de l'exécution.

Note: Cette extension a été remplacé par l'extension runkit, qui n'est pas limitée aux classes, mais qui permet également la manipulation des fonctions.

Classkit
Installation/Configuration
Classkit


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Classkit


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/classkit.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CLASSKIT_ACC_PRIVATE (entier)
Rend la méthode "private"
CLASSKIT_ACC_PROTECTED (entier)
Rend la méthode "protected"
CLASSKIT_ACC_PUBLIC (entier)
Rend la méthode "public"

Types de ressources
Fonctions Classkit
Classkit


Fonctions Classkit

Sommaire

  • classkit_import — Importe de nouvelles définitions de méthodes de classes depuis un fichier
  • classkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • classkit_method_copy — Copie une méthode d'une classe vers une autre classe
  • classkit_method_redefine — Change dynamiquement le code de la méthode donnée
  • classkit_method_remove — Efface dynamiquement une méthode donnée
  • classkit_method_rename — Change dynamiquement le nom d'une méthode donnée
Constantes pré-définies
classkit_import
Classkit


Importe de nouvelles définitions de méthodes de classes depuis un fichier

Fonctions Classkit
classkit_method_add
Fonctions Classkit
PHP Manual

classkit_import

(PECL classkit >= 0.3)

classkit_import — Importe de nouvelles définitions de méthodes de classes depuis un fichier

Description

array classkit_import ( string $filename )

Note: Cette fonction ne peut pas être utilisée pour manipuler la méthode en cours (ou liée) d'exécution.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

filename

Le nom du fichier contenant les définitions des méthodes de classes à importer

Valeurs de retour

Tableau associatif contenant les méthodes importées

Exemples

Exemple #1 Exemple avec classkit_import()

<?php
// fichier : newclass.php
class Example {
    function foo() {
        return "bar!\n";
    }
}
?>
<?php
// requiert newclass.php (voir ci-dessous)
class Example {
    function foo() {
        return "foo!\n";
    }
}

$e = new Example();

// affichage original
echo $e->foo();

// importation d'une méthode de remplacement
classkit_import('newclass.php');

// affichage après l'importation
echo $e->foo();

?>

L'exemple ci-dessus va afficher :

foo!
bar!

Voir aussi

  • classkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • classkit_method_copy() - Copie une méthode d'une classe vers une autre classe

Fonctions Classkit
classkit_method_add
Fonctions Classkit


Ajoute dynamiquement une nouvelle méthode à une classe donnée

classkit_import
classkit_method_copy
Fonctions Classkit
PHP Manual

classkit_method_add

(PECL classkit >= 0.1)

classkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée

Description

bool classkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe où la méthode doit être ajoutée

methodname

Le nom de la méthode à ajouter

args

Liste d'arguments, séparés par des virgules, de la nouvelle méthode créée

code

Le code à exécuter lorsque methodname est appelé

flags

Le type de méthode à créer ; peut être CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED ou CLASSKIT_ACC_PRIVATE

Note: Ce paramètre est utilisé depuis PHP 5, car avant cette version, toutes les méthodes sont publiques.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec classkit_method_add()

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// création d'un objet Example
$e = new Example();

// Ajout d'une nouvelle méthode publique
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

L'exemple ci-dessus va afficher :

16

Voir aussi

  • classkit_method_copy() - Copie une méthode d'une classe vers une autre classe
  • classkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • classkit_method_remove() - Efface dynamiquement une méthode donnée
  • classkit_method_rename() - Change dynamiquement le nom d'une méthode donnée
  • create_function() - Crée une fonction anonyme

classkit_import
classkit_method_copy
Fonctions Classkit


Copie une méthode d'une classe vers une autre classe

classkit_method_add
classkit_method_redefine
Fonctions Classkit
PHP Manual

classkit_method_copy

(PECL classkit >= 0.2)

classkit_method_copy — Copie une méthode d'une classe vers une autre classe

Description

bool classkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

dClass

Classe de destination de la méthode copiée

dMethod

Nom de la nouvelle méthode

sClass

Classe source contenant la méthode à copier

sMethod

Nom de la méthode à copier depuis la classe source. Si ce paramètre est omis, la valeur du paramètre dMethod est utilisée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec classkit_method_copy()

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initialement, aucune méthode
}

// copie la méthode example() depuis la classe Foo vers la classe Bar et la nommer baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'example');

// affiche la fonction copiée
echo Bar::baz();
?>

L'exemple ci-dessus va afficher :

foo!

Voir aussi

  • classkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • classkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • classkit_method_remove() - Efface dynamiquement une méthode donnée
  • classkit_method_rename() - Change dynamiquement le nom d'une méthode donnée

classkit_method_add
classkit_method_redefine
Fonctions Classkit


Change dynamiquement le code de la méthode donnée

classkit_method_copy
classkit_method_remove
Fonctions Classkit
PHP Manual

classkit_method_redefine

(PECL classkit >= 0.1)

classkit_method_redefine — Change dynamiquement le code de la méthode donnée

Description

bool classkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags = CLASSKIT_ACC_PUBLIC ] )

Note: Cette fonction ne peut pas être utilisée pour manipuler la méthode en cours (ou liée) d'exécution.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode est redéfinie

methodname

Le nom de la méthode à redéfinir

args

Liste d'arguments séparés par une virgule pour la méthode redéfinie

code

Le nouveau code à évaluer lorsque methodname est appelé

flags

La méthode redéfinie peut être CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED ou CLASSKIT_ACC_PRIVATE

Note: Ce paramètre est utilisé depuis PHP 5, car avant cette version, toutes les méthodes sont publiques.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec classkit_method_redefine()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// création d'un objet Example
$e = new Example();

// affichage Example::foo() (avant la redéfinition)
echo "Avant : " . $e->foo();

// Redéfinition de la méthode 'foo'
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// affichage de Example::foo() (après la redéfinition)
echo "Après : " . $e->foo();
?>

L'exemple ci-dessus va afficher :

Avant : foo!
Après : bar!

Voir aussi

  • classkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • classkit_method_copy() - Copie une méthode d'une classe vers une autre classe
  • classkit_method_remove() - Efface dynamiquement une méthode donnée
  • classkit_method_rename() - Change dynamiquement le nom d'une méthode donnée

classkit_method_copy
classkit_method_remove
Fonctions Classkit


Efface dynamiquement une méthode donnée

classkit_method_redefine
classkit_method_rename
Fonctions Classkit
PHP Manual

classkit_method_remove

(PECL classkit >= 0.1)

classkit_method_remove — Efface dynamiquement une méthode donnée

Description

bool classkit_method_remove ( string $classname , string $methodname )

Note: Cette fonction ne peut pas être utilisée pour manipuler la méthode en cours (ou liée) d'exécution.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode est effacée

methodname

Le nom de la méthode à effacer

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec classkit_method_remove()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Efface la métode 'foo'
classkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

L'exemple ci-dessus va afficher :

bar

Voir aussi

  • classkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • classkit_method_copy() - Copie une méthode d'une classe vers une autre classe
  • classkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • classkit_method_rename() - Change dynamiquement le nom d'une méthode donnée

classkit_method_redefine
classkit_method_rename
Fonctions Classkit


Change dynamiquement le nom d'une méthode donnée

classkit_method_remove
ctype
Fonctions Classkit
PHP Manual

classkit_method_rename

(PECL classkit >= 0.1)

classkit_method_rename — Change dynamiquement le nom d'une méthode donnée

Description

bool classkit_method_rename ( string $classname , string $methodname , string $newname )

Note: Cette fonction ne peut pas être utilisée pour manipuler la méthode en cours (ou liée) d'exécution.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

classname

La classe dans laquelle la méthode doit être renommée

methodname

Le nom de la méthode à renommer

newname

Le nouveau nom à donner à la méthode

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec classkit_method_rename()

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Renomme la méthode 'foo' en 'bar'
classkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// affiche la fonction renommée
echo Example::bar();
?>

L'exemple ci-dessus va afficher :

foo!

Voir aussi

  • classkit_method_add() - Ajoute dynamiquement une nouvelle méthode à une classe donnée
  • classkit_method_copy() - Copie une méthode d'une classe vers une autre classe
  • classkit_method_redefine() - Change dynamiquement le code de la méthode donnée
  • classkit_method_remove() - Efface dynamiquement une méthode donnée

classkit_method_remove
ctype
Fonctions Classkit


Vérification des types de caractères

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions Ctype
    • ctype_alnum — Vérifie qu'une chaîne est alphanumérique
    • ctype_alpha — Vérifie qu'une chaîne est alphabétique
    • ctype_cntrl — Vérifie qu'un caractère est un caractère de contrôle
    • ctype_digit — Vérifie qu'une chaîne est un entier
    • ctype_graph — Vérifie qu'une chaîne est imprimable
    • ctype_lower — Vérifie qu'une chaîne est en minuscules
    • ctype_print — Vérifie qu'une chaîne est imprimable
    • ctype_punct — Vérifie qu'une chaîne contient de la ponctuation
    • ctype_space — Vérifie qu'une chaîne n'est faite que de caractères blancs
    • ctype_upper — Vérifie qu'une chaîne est en majuscules
    • ctype_xdigit — Vérifie qu'un caractère représente un nombre hexadécimal
classkit_method_rename
Introduction
Extensions relatives aux variables et aux types


Introduction

Les fonctions fournies par cette extension vérifient si un caractère ou une chaîne appartient à une certaine classe de caractères, suivant la configuration locale courante (voir aussi la fonction setlocale()).

Lorsqu'appelées avec un entier comme argument, ces fonctions se comportent exactement comme leur équivalent C du fichier ctype.h. Cela signifie que si vous passez un entier plus petit que 256, l'équivalent ASCII de la valeur sera utilisé afin de vérifier s'il se situe bien dans l'intervalle (les chiffres sont dans l'intervalle 0x30-0x39). Si le nombre se situe entre -128 et -1 inclus, alors 256 sera ajouté et la vérification se fera sur le résultat.

Lorsqu'appelées avec une chaîne comme argument, ces fonctions vérifient chaque caractère de la chaîne et ne retourneront TRUE que si chacun des caractères correspond aux critères. Lorsqu'une chaîne vide est passée, le résultat sera toujours TRUE en PHP < 5.1 et FALSE depuis 5.1.

Si l'on passe autre chose qu'une chaîne ou un entier, FALSE est retourné immédiatement.

Il est important de garder à l'esprit que les fonctions ctype sont toujours préférées pour les expressions rationnelles ainsi que pour les fonctions préfixées pas "str_" et "is_". En effet, ctype utilisant la bibliothèque native C, le traitement est extrêmement rapide.

ctype
Installation/Configuration
ctype


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
ctype


Pré-requis

Aucune autre bibliothèque mise à part la bibliothèque C n'est requise. Cette dernière est toujours disponible.

Installation/Configuration
Installation
Installation/Configuration


Installation

Depuis PHP 4.2.0, ces fonctions sont activées par défaut. Pour les versions plus anciennes, vous devrez configurer et compiler PHP avec l'option --enable-ctype. Vous pouvez toujours désactiver le support de l'extension ctype avec l'option de compilation --disable-ctype.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Note: Cette bibliothèque fait partie intégrante de PHP depuis la version 4.3.0.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions Ctype
ctype


Fonctions Ctype

Sommaire

  • ctype_alnum — Vérifie qu'une chaîne est alphanumérique
  • ctype_alpha — Vérifie qu'une chaîne est alphabétique
  • ctype_cntrl — Vérifie qu'un caractère est un caractère de contrôle
  • ctype_digit — Vérifie qu'une chaîne est un entier
  • ctype_graph — Vérifie qu'une chaîne est imprimable
  • ctype_lower — Vérifie qu'une chaîne est en minuscules
  • ctype_print — Vérifie qu'une chaîne est imprimable
  • ctype_punct — Vérifie qu'une chaîne contient de la ponctuation
  • ctype_space — Vérifie qu'une chaîne n'est faite que de caractères blancs
  • ctype_upper — Vérifie qu'une chaîne est en majuscules
  • ctype_xdigit — Vérifie qu'un caractère représente un nombre hexadécimal
Constantes pré-définies
ctype_alnum
ctype


Vérifie qu'une chaîne est alphanumérique

Fonctions Ctype
ctype_alpha
Fonctions Ctype
PHP Manual

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnum — Vérifie qu'une chaîne est alphanumérique

Description

bool ctype_alnum ( string $text )

ctype_alnum() vérifie si tous les caractères de la chaîne text sont des lettres et des chiffres. Elle retourne FALSE dans le cas contraire. En terme de langage C, les lettres sont [A-Za-z].

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text sont soit des lettres, soit des chiffres, FALSE sinon.

Exemples

Exemple #1 Exemple avec ctype_alnum() (en utilisant les locales par défaut)

<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
  if (ctype_alnum($testcase)) {
    echo "La chaîne $testcase contient des chiffres ou des lettres.\n";
  } else {
    echo "La chaîne $testcase ne contient pas que des chiffres ou des lettres.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne AbCd1zyZ9 contient des chiffres ou des lettres.
La chaîne foo!#$bar ne contient pas que des chiffres ou des lettres.

Voir aussi

  • ctype_alpha() - Vérifie qu'une chaîne est alphabétique
  • ctype_digit() - Vérifie qu'une chaîne est un entier
  • setlocale() - Modifie les informations de localisation

Fonctions Ctype
ctype_alpha
Fonctions Ctype


Vérifie qu'une chaîne est alphabétique

ctype_alnum
ctype_cntrl
Fonctions Ctype
PHP Manual

ctype_alpha

(PHP 4 >= 4.0.4, PHP 5)

ctype_alpha — Vérifie qu'une chaîne est alphabétique

Description

bool ctype_alpha ( string $text )

ctype_alpha() vérifie si tous les caractères de la chaîne text sont des lettres, et FALSE sinon. En langage C, les lettres sont [A-Za-z] et ctype_alpha() est équivalent à (ctype_upper($text) || ctype_lower($text)), si text est un caractère unique, mais certaines langues ont des caractères qui ne sont ni des majuscules, ni des minuscules.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text est une lettre de la locale courante, FALSE sinon.

Exemples

Exemple #1 Exemple avec ctype_alpha() (en utilisant les locales courantes)

<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
  if (ctype_alpha($testcase)) {
    echo "La chaîne $testcase ne contient que des lettres.\n";
  } else {
    echo "La chaîne $testcase ne contient pas que des lettres.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne KjgWZC ne contient que des lettres.
La chaîne arf12 ne contient pas que des lettres.

Voir aussi

  • ctype_upper() - Vérifie qu'une chaîne est en majuscules
  • ctype_lower() - Vérifie qu'une chaîne est en minuscules
  • setlocale() - Modifie les informations de localisation

ctype_alnum
ctype_cntrl
Fonctions Ctype


Vérifie qu'un caractère est un caractère de contrôle

ctype_alpha
ctype_digit
Fonctions Ctype
PHP Manual

ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5)

ctype_cntrl — Vérifie qu'un caractère est un caractère de contrôle

Description

bool ctype_cntrl ( string $text )

ctype_cntrl() vérifie si tous les caractères de la chaîne text sont des caractères de contrôles spéciaux. Ces caractères sont les nouvelles lignes, les tabulations, les caractères d'échappement.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si chaque caractère de text est un caractère de contrôle de la locale courante, FALSE sinon.

Exemples

Exemple #1 Exemple avec ctype_cntrl()

<?php
$strings = array('string1' => "\n\r\t", 'string2' => 'arf12');
foreach ($strings as $name => $testcase) {
  if (ctype_cntrl($testcase)) {
    echo "La chaîne '$name' ne contient que des caractères de contrôle.\n";
  } else {
    echo "La chaîne '$name' ne contient pas que des caractères de contrôle.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne 'string1' ne contient que des caractères de contrôle.
La chaîne 'string2' ne contient pas que des caractères de contrôle.

Voir aussi

  • ctype_print() - Vérifie qu'une chaîne est imprimable

ctype_alpha
ctype_digit
Fonctions Ctype


Vérifie qu'une chaîne est un entier

ctype_cntrl
ctype_graph
Fonctions Ctype
PHP Manual

ctype_digit

(PHP 4 >= 4.0.4, PHP 5)

ctype_digit — Vérifie qu'une chaîne est un entier

Description

bool ctype_digit ( string $text )

ctype_digit() vérifie si tous les caractères de la chaîne text sont des chiffres.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text sont des entiers, FALSE sinon.

Historique

Version | Description
5.1.0 | Avant PHP 5.1.0, cette fonction retournait TRUE lorsque le paramètre text était une chaîne vide.

Exemples

Exemple #1 Exemple avec ctype_digit()

<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
  if (ctype_digit($testcase)) {
    echo "La chaîne $testcase ne contient que des entiers.\n";
  } else {
    echo "La chaîne $testcase ne contient pas que des entiers.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne 1820.20 ne contient pas que des entiers.
La chaîne 10002 ne contient que des entiers.
La chaîne wsl!12 ne contient pas que des entiers.

Exemple #2 Exemple avec ctype_digit() pour comparer des chaînes et des nombres

<?php

$numeric_string = '42';
$integer        = 42;

ctype_digit($numeric_string);  // true
ctype_digit($integer);         // false

is_numeric($numeric_string);   // true
is_numeric($integer);          // true
?>

Notes

Note: Cette fonction nécessite une chaîne afin d'être pertinante ; par exemple, le fait de passer un entier retournera toujours FALSE. Voir aussi la section sur les types de ce manuel.

Voir aussi

  • ctype_alnum() - Vérifie qu'une chaîne est alphanumérique
  • ctype_xdigit() - Vérifie qu'un caractère représente un nombre hexadécimal
  • is_numeric() - Détermine si une variable est un type numérique
  • is_int() - Détermine si une variable est de type nombre entier
  • is_string() - Détermine si une variable est de type chaîne de caractères

ctype_cntrl
ctype_graph
Fonctions Ctype


Vérifie qu'une chaîne est imprimable

ctype_digit
ctype_lower
Fonctions Ctype
PHP Manual

ctype_graph

(PHP 4 >= 4.0.4, PHP 5)

ctype_graph — Vérifie qu'une chaîne est imprimable

Description

bool ctype_graph ( string $text )

ctype_graph() vérifie si tous les caractères de la chaîne text ont une représentation graphique, et créeront une impression sur l'écran (les espaces n'en font pas partie).

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text ont une représentation graphique et créeront une impression sur l'écran, FALSE sinon.

Exemples

Exemple #1 Exemple avec ctype_graph()

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
  if (ctype_graph($testcase)) {
    echo "La chaîne '$name' ne contient que des caractères imprimables.\n";
  } else {
    echo "La chaîne '$name' ne contient pas que des caractères imprimables.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne 'string1' ne contient pas que des caractères imprimables.
La chaîne 'string2' ne contient que des caractères imprimables.
La chaîne 'string3' ne contient que des caractères imprimables.

Voir aussi

  • ctype_alnum() - Vérifie qu'une chaîne est alphanumérique
  • ctype_print() - Vérifie qu'une chaîne est imprimable
  • ctype_punct() - Vérifie qu'une chaîne contient de la ponctuation

ctype_digit
ctype_lower
Fonctions Ctype


Vérifie qu'une chaîne est en minuscules

ctype_graph
ctype_print
Fonctions Ctype
PHP Manual

ctype_lower

(PHP 4 >= 4.0.4, PHP 5)

ctype_lower — Vérifie qu'une chaîne est en minuscules

Description

bool ctype_lower ( string $text )

ctype_lower() vérifie si tous les caractères de la chaîne text sont des minuscules.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text sont en minuscule dans la locale courante.

Exemples

Exemple #1 Exemple avec ctype_lower() (en utilisant les locales courantes)

<?php
$strings = array('aac123', 'qiutoas', 'QASsdks');
foreach ($strings as $testcase) {
  if (ctype_lower($testcase)) {
    echo "La chaîne $testcase ne contient que des minuscules.\n";
  } else {
    echo "La chaîne $testcase ne contient pas que des minuscules.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne aac123 ne contient pas que des minuscules.
La chaîne qiutoas ne contient que des minuscules.
La chaîne QASsdks ne contient pas que des minuscules.

Voir aussi

  • ctype_alpha() - Vérifie qu'une chaîne est alphabétique
  • ctype_upper() - Vérifie qu'une chaîne est en majuscules
  • setlocale() - Modifie les informations de localisation

ctype_graph
ctype_print
Fonctions Ctype


Vérifie qu'une chaîne est imprimable

ctype_lower
ctype_punct
Fonctions Ctype
PHP Manual

ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_print — Vérifie qu'une chaîne est imprimable

Description

bool ctype_print ( string $text )

ctype_print() vérifie si tous les caractères de la chaîne text vont être imprimables à l'écran (y compris les espaces blancs).

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text seront imprimables (y compris les espaces blancs). Retourne FALSE si text contient des caractères de contrôle ou des caractères qui ne s'afficheront pas ou non pas de fonction de contrôle.

Exemples

Exemple #1 Exemple avec ctype_print()

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
  if (ctype_print($testcase)) {
    echo "La chaîne '$name' ne contient que des caractères imprimables.\n";
  } else {
    echo "La chaîne '$name' ne contient pas que des caractères imprimables.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne 'string1' ne contient pas que des caractères imprimables.
La chaîne 'string2' ne contient que des caractères imprimables.
La chaîne 'string3' ne contient que des caractères imprimables.

Voir aussi

  • ctype_cntrl() - Vérifie qu'un caractère est un caractère de contrôle
  • ctype_graph() - Vérifie qu'une chaîne est imprimable
  • ctype_punct() - Vérifie qu'une chaîne contient de la ponctuation

ctype_lower
ctype_punct
Fonctions Ctype


Vérifie qu'une chaîne contient de la ponctuation

ctype_print
ctype_space
Fonctions Ctype
PHP Manual

ctype_punct

(PHP 4 >= 4.0.4, PHP 5)

ctype_punct — Vérifie qu'une chaîne contient de la ponctuation

Description

bool ctype_punct ( string $text )

ctype_punct() vérifie si tous les caractères de la chaîne text sont imprimables, mais ne sont ni des lettres, ni des chiffres, ni des espaces.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text sont des caractères de ponctuation, FALSE sinon.

Exemples

Exemple #1 Exemple avec ctype_punct()

<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
  if (ctype_punct($testcase)) {
    echo "La chaîne $testcase ne contient que de la ponctuation.\n";
  } else {
    echo "The string $testcase ne contient pas que de la ponctuation.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne ABasdk!@!$# ne contient pas que de la ponctuation.
La chaîne !@ # $ ne contient pas que de la ponctuation.
La chaîne *&$() cne contient que de la ponctuation.

Voir aussi

  • ctype_cntrl() - Vérifie qu'un caractère est un caractère de contrôle
  • ctype_graph() - Vérifie qu'une chaîne est imprimable

ctype_print
ctype_space
Fonctions Ctype


Vérifie qu'une chaîne n'est faite que de caractères blancs

ctype_punct
ctype_upper
Fonctions Ctype
PHP Manual

ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_space — Vérifie qu'une chaîne n'est faite que de caractères blancs

Description

bool ctype_space ( string $text )

ctype_space() vérifie si tous les caractères de la chaîne text vont créer un espace blanc.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text vont créer des espaces blancs, FALSE sinon. Cela inclut le tabulations, les tabulations verticales, les nouvelles lignes, les retours chariots et les retours à la ligne.

Exemples

Exemple #1 Exemple avec ctype_space()

<?php
$strings = array('string1' => "\n\r\t", 'string2' => "\narf12", 'string3' => '\n\r\t');
foreach ($strings as $name => $testcase) {
  if (ctype_space($testcase)) {
    echo "La chaîne '$name' ne contient que des caractères d'espacements blancs.\n";
  } else {
    echo "La chaîne '$name' ne contient pas que des catactères d'espacements blancs.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne 'string1' ne contient que des caractères d'espacements blancs.
La chaîne 'string2' ne contient pas que des catactères d'espacements blancs.
La chaîne 'string3' ne contient pas que des catactères d'espacements blancs.

Voir aussi

  • ctype_cntrl() - Vérifie qu'un caractère est un caractère de contrôle
  • ctype_graph() - Vérifie qu'une chaîne est imprimable
  • ctype_punct() - Vérifie qu'une chaîne contient de la ponctuation

ctype_punct
ctype_upper
Fonctions Ctype


Vérifie qu'une chaîne est en majuscules

ctype_space
ctype_xdigit
Fonctions Ctype
PHP Manual

ctype_upper

(PHP 4 >= 4.0.4, PHP 5)

ctype_upper — Vérifie qu'une chaîne est en majuscules

Description

bool ctype_upper ( string $text )

ctype_upper() vérifie si tous les caractères de la chaîne text sont des majuscules.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text sont en majuscules dans la locale courante.

Exemples

Exemple #1 Exemple avec ctype_upper() (en utilisant la locale courante)

<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
  if (ctype_upper($testcase)) {
    echo "La chaîne $testcase ne contient que des majuscules.\n";
  } else {
    echo "La chaîne $testcase ne contient pas que des majuscules.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne AKLWC139 ne contient pas que des majuscules.
La chaîne LMNSDO ne contient que des majuscules.
La chaîne akwSKWsm ne contient pas que des majuscules.

Voir aussi

  • ctype_alpha() - Vérifie qu'une chaîne est alphabétique
  • ctype_lower() - Vérifie qu'une chaîne est en minuscules
  • setlocale() - Modifie les informations de localisation

ctype_space
ctype_xdigit
Fonctions Ctype


Vérifie qu'un caractère représente un nombre hexadécimal

ctype_upper
Filter
Fonctions Ctype
PHP Manual

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit — Vérifie qu'un caractère représente un nombre hexadécimal

Description

bool ctype_xdigit ( string $text )

ctype_xdigit() vérifie si tous les caractères de la chaîne text sont des chiffres hexadécimaux.

Liste de paramètres

text

La chaîne testée.

Valeurs de retour

Retourne TRUE si tous les caractères de text sont des chiffres hexadécimaux, c'est-à-dire un chiffre ou une des lettres [A-Fa-f], FALSE sinon.

Exemples

Exemple #1 Exemple avec ctype_xdigit()

<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
  if (ctype_xdigit($testcase)) {
    echo "La chaîne $testcase ne contient que des chiffres hexadécimaux.\n";
  } else {
    echo "La chaîne $testcase ne contient pas que des chiffres hexadécimaux.\n";
  }
}
?>

L'exemple ci-dessus va afficher :

La chaîne AB10BC99 ne contient que des chiffres hexadécimaux.
La chaîne AR1012 ne contient pas que des chiffres hexadécimaux.
La chaîne ab12bc99 ne contient que des chiffres hexadécimaux.

Voir aussi

  • ctype_digit() - Vérifie qu'une chaîne est un entier

ctype_upper
Filter
Fonctions Ctype


Filtrage des données

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Types de filtres
    • Filtres de validation
    • Filtres de nettoyage
    • Autres filtres
    • Drapeaux des filtres
  • Constantes pré-définies
  • Exemples
    • Validation
    • Nettoyage
  • Filter Fonctions
    • filter_has_var — Vérifie si une variable d'un type spécifique existe
    • filter_id — Retourne l'identifiant d'un filtre nommé
    • filter_input_array — Récupère plusieurs valeurs externes et les filtre
    • filter_input — Récupère une variable externe et la filtre
    • filter_list — Retourne une liste de tous les filtres supportés
    • filter_var_array — Récupère plusieurs variables et les filtre
    • filter_var — Filtre une variable avec un filtre spécifique
ctype_xdigit
Introduction
Extensions relatives aux variables et aux types


Introduction

Cette extension filtre les données soit en les validant, soit en les nettoyant. C'est particulièrement utile lorsque les sources contiennent des données inconnues, comme les données utilisateurs. Par exemple, les données pourraient provenir d'un formulaire HTML.

Il y a deux moyens de filtre : la validation et le nettoyage.

La Validation sert à vérifier si une données passe certains critères. Par exemple, passer les critères de FILTER_VALIDATE_EMAIL va déterminer si une donnée est une adresse courriel valide, mais ne va pas modifier la données elle-même.

Le nettoyage va nettoyer les données, par exemple en retirant les caractères indésirables. Par exemple, passer une donnée à FILTER_SANITIZE_EMAIL va faire disparaître les caractères inappropriés dans une adresse courriel. D'un autre coté, la donnée n'est pas validée.

Des options sont éventuellement utilisées par la validation et le nettoyage, pour adapter leur comportement à des besoins spécifiques. Par exemple, avec l'option FILTER_FLAG_SCHEME_REQUIRED pour filter une URL, il faut indiquer le protocole utilisée (tel que http://).

Filter
Installation/Configuration
Filter


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Filter


Installation

L'extension filter est actvée par défaut depuis PHP 5.2.0. Avant cette version, une extension PECL expérimentale pouvait être utilisée. La version PECL n'est actuellement plus maintenue.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour Filter
Nom | Défaut | Modifiable | Historique
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible depuis PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible depuis PHP 5.2.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

filter.default string

Filtre toutes les données transmises via $_GET, $_POST, $_COOKIE, $_REQUEST et $_SERVER avec ce filtre. Les données originales peut être à l'aide de la fonction input_get().

Accepte le nom du filtre que vous voulez utiliser par défaut. Voir la liste des filtres existante pour en connaître les noms.

filter.default_flags integer

Drapeau par défaut.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
Types de filtres
Installation/Configuration


Types de filtres

Sommaire

  • Filtres de validation
  • Filtres de nettoyage
  • Autres filtres
  • Drapeaux des filtres
Types de ressources
Filtres de validation
Filter


Filtres de validation

Liste des filtres de validation
ID | Nom | Options | Flags | Description
FILTER_VALIDATE_BOOLEAN | "boolean" |  | FILTER_NULL_ON_FAILURE | Retourne TRUE pour "1", "true", "on" et "yes". Retourne FALSE sinon. Si FILTER_NULL_ON_FAILURE est active, FALSE n'est retourné que pour les valeurs "0", "false", "off", "no", "", et NULL est retourné pour les valeurs non-booléennes.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Valide une adresse courriel.
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Valide un nombre décimal.
FILTER_VALIDATE_INT | "int" | min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Valide un entier, éventuellement dans un intervalle donné.
FILTER_VALIDATE_IP | "validate_ip" |  | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Valide une adresse IP, éventuellement IPv4 ou IPv6, éventuellement hors des plages privées ou réservées.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Valide une valeur avec une expression rationnelle regexp, compatible Perl.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Valide une URL, éventuellement avec des composants requis.

Note: Les nombres +0 et -0 ne sont pas des entiers valides, mais plutôt des nombres à virgule flottante valides.

Types de filtres
Filtres de nettoyage
Types de filtres


Filtres de nettoyage

Liste des filtres de nettoyage
ID | Nom | Options | Flags | Description
FILTER_SANITIZE_EMAIL | "email" |  |  | Supprime tous les caractères sauf les lettres, chiffres, et !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | Applique l'encodage URL, et supprime ou encode les caractères spéciaux.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Applique addslashes().
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Supprime tous les caractères, sauf les chiffres, +- et éventuellement .,eE.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Supprime tous les caractères sauf les chiffres, et les signes plus et moins.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | Transforme en entité HTML les caractères '"<>& et les caractères ASCII de valeur inférieur à 32, et supprime ou encode les autres caractères spéciaux.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Supprime les balises, et supprime ou encode les caractères spéciaux.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Alias du filtre "string".
FILTER_SANITIZE_URL | "url" |  |  | Supprime tous les caractères sauf les lettres, chiffres et $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Ne fait rien, supprime ou encode les caractères spéciaux.

Filtres de validation
Autres filtres
Types de filtres


Autres filtres

Liste de filtres divers
ID | Nom | Options | Flags | Description
FILTER_CALLBACK | "callback" | Fonction ou méthode de rappel (type fonction de rappel) |  | Appelle une fonction utilisateur pour filtrer les données.

Filtres de nettoyage
Drapeaux des filtres
Types de filtres


Drapeaux des filtres

Liste de drapeaux de filtres
ID | Utilisé avec | Description
FILTER_FLAG_STRIP_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Supprime les caractères dont la valeur numérique est <32.
FILTER_FLAG_STRIP_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Supprime les caractères dont la valeur numérique est >127.
FILTER_FLAG_ALLOW_FRACTION | FILTER_SANITIZE_NUMBER_FLOAT | Autorise un point (.) comme séparateur fractionnaire pour les nombres.
FILTER_FLAG_ALLOW_THOUSAND | FILTER_SANITIZE_NUMBER_FLOAT, FILTER_VALIDATE_FLOAT | Autorise une virgule (,) comme séparateur fractionnaire pour les nombres.
FILTER_FLAG_ALLOW_SCIENTIFIC | FILTER_SANITIZE_NUMBER_FLOAT | Autorise un e ou un E pour la notation scientifique dans les nombres.
FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_SANITIZE_STRING | Si ce drapeau est présent, les simples quotes (') et les doubles (") ne seront pas encodées.
FILTER_FLAG_ENCODE_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Encode tous les caractères dont la valeur numérique est <32.
FILTER_FLAG_NO_ENCODE_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Encode tous les caractères dont la valeur numérique est >127.
FILTER_FLAG_NO_ENCODE_AMP | FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW | Encode les &.
FILTER_NULL_ON_FAILURE | FILTER_VALIDATE_BOOLEAN | Retourne NULL pour les valeurs booléennes non reconnues.
FILTER_FLAG_ALLOW_OCTAL | FILTER_VALIDATE_INT | Prend en compte les nombres octals précédés d'un zéro (0). Ceci ne fonctionne que pour les chiffres 0-7.
FILTER_FLAG_ALLOW_HEX | FILTER_VALIDATE_INT | Prend en compte les nombres héxadécimaux précédés de 0x ou 0X. Ceci ne fonctionne que pour a-fA-F0-9.
FILTER_FLAG_IPV4 | FILTER_VALIDATE_IP | Autorise une adresse IP au format IPv4.
FILTER_FLAG_IPV6 | FILTER_VALIDATE_IP | Autorise une adresse IP au format IPv6.
FILTER_FLAG_NO_PRIV_RANGE | FILTER_VALIDATE_IP | Echoue la validation pour les intervales privés IPv4: 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16. Echoue la validation pour les adresses IPv6 commençant par FD ou FC.
FILTER_FLAG_NO_RES_RANGE | FILTER_VALIDATE_IP | Echoue la validation pour les intervales IPv4 réservés: 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24 et 224.0.0.0/4. Ce drapeau ne concerne pas les adresses IPv6.
FILTER_FLAG_PATH_REQUIRED | FILTER_VALIDATE_URL | Oblige URL à contenir un chemin.
FILTER_FLAG_QUERY_REQUIRED | FILTER_VALIDATE_URL | Oblige URL à contenir une chaine de requête.

Autres filtres
Constantes pré-définies
Types de filtres


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

INPUT_POST (entier)
variables POST.
INPUT_GET (entier)
variables GET.
INPUT_COOKIE (entier)
variables COOKIE.
INPUT_ENV (entier)
variables ENV.
INPUT_SERVER (entier)
variables SERVER.
INPUT_SESSION (entier)
variables SESSION. (pas encore implémenté)
INPUT_REQUEST (entier)
variables REQUEST. (pas encore implémenté)
FILTER_FLAG_NONE (entier)
Aucun drapeau.
FILTER_REQUIRE_SCALAR (entier)
Drapeau utilisé pour requérir un scalaire en entrée.
FILTER_REQUIRE_ARRAY (entier)
Requière un tableau en entrée.
FILTER_FORCE_ARRAY (entier)
Retourne toujours un tableau.
FILTER_NULL_ON_FAILURE (entier)
Utilisation de NULL au lieu de FALSE si une erreur survient.
FILTER_VALIDATE_INT (entier)
ID du filtre "int".
FILTER_VALIDATE_BOOLEAN (entier)
ID du filtre "boolean".
FILTER_VALIDATE_FLOAT (entier)
ID du filtre "float".
FILTER_VALIDATE_REGEXP (entier)
ID du filtre "validate_regexp".
FILTER_VALIDATE_URL (entier)
ID du filtre "validate_url".
FILTER_VALIDATE_EMAIL (entier)
ID du filtre "validate_email".
FILTER_VALIDATE_IP (entier)
ID du filtre "validate_ip".
FILTER_DEFAULT (entier)
ID du filtre par défaut ("string").
FILTER_UNSAFE_RAW (entier)
ID du filtre "unsafe_raw".
FILTER_SANITIZE_STRING (entier)
ID du filtre "string".
FILTER_SANITIZE_STRIPPED (entier)
ID du filtre "stripped".
FILTER_SANITIZE_ENCODED (entier)
ID du filtre "encoded".
FILTER_SANITIZE_SPECIAL_CHARS (entier)
ID du filtre "special_chars".
FILTER_SANITIZE_EMAIL (entier)
ID du filtre "email".
FILTER_SANITIZE_URL (entier)
ID du filtre "url".
FILTER_SANITIZE_NUMBER_INT (entier)
ID du filtre "number_int".
FILTER_SANITIZE_NUMBER_FLOAT (entier)
ID du filtre "number_float".
FILTER_SANITIZE_MAGIC_QUOTES (entier)
ID du filtre "magic_quotes".
FILTER_CALLBACK (entier)
ID du filtre de rappel.
FILTER_FLAG_ALLOW_OCTAL (entier)
Alloue une notation octale (0[0-7]+) dans le filtre "int".
FILTER_FLAG_ALLOW_HEX (entier)
Alloue une notation hexadécimale (0x[0-9a-fA-F]+) dans le filtre "int".
FILTER_FLAG_STRIP_LOW (entier)
Supprime les caractères dont les valeurs ASCII sont inférieures à 32.
FILTER_FLAG_STRIP_HIGH (entier)
Supprime les caractères dont les valeurs ASCII sont supérieures à 127.
FILTER_FLAG_ENCODE_LOW (entier)
Encode les caractères dont les valeurs ASCII sont inférieures à 32.
FILTER_FLAG_ENCODE_HIGH (entier)
Encode les caractères dont les valeurs ASCII sont supérieures à 127.
FILTER_FLAG_ENCODE_AMP (entier)
Encode &.
FILTER_FLAG_NO_ENCODE_QUOTES (entier)
N'encode pas ', ni ".
FILTER_FLAG_EMPTY_STRING_NULL (entier)
(Non utilisé actuellement.)
FILTER_FLAG_ALLOW_FRACTION (entier)
Alloue une partie fractionnelle dans le filtre "number_float".
FILTER_FLAG_ALLOW_THOUSAND (entier)
Alloue le séparateur des milliers (,) dans le filtre "number_float".
FILTER_FLAG_ALLOW_SCIENTIFIC (entier)
Alloue une notation scientifique (e, E) dans le filtre "number_float".
FILTER_FLAG_SCHEME_REQUIRED (entier)
Schéma requis dans le filtre "validate_url".
FILTER_FLAG_HOST_REQUIRED (entier)
Hôte requis dans le filtre "validate_url".
FILTER_FLAG_PATH_REQUIRED (entier)
Chemin requis dans le filtre "validate_url".
FILTER_FLAG_QUERY_REQUIRED (entier)
Requête requise dans le filtre "validate_url".
FILTER_FLAG_IPV4 (entier)
N'autorise que les adresses IPv4 dans le filtre "validate_ip".
FILTER_FLAG_IPV6 (entier)
N'autorise que les adresses IPv6 dans le filtre "validate_ip".
FILTER_FLAG_NO_RES_RANGE (entier)
N'autorise pas les adresses réservées dans le filtre "validate_ip".
FILTER_FLAG_NO_PRIV_RANGE (entier)
N'autorise pas les adresses privées dans le filtre "validate_ip".
Drapeaux des filtres
Exemples
Filter


Exemples

Sommaire

  • Validation
  • Nettoyage
Constantes pré-définies
Validation
Filter


Validation

Exemple #1 Validation d'adresses email avec filter_var()

<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
    echo "Cette (email_a) adresse email est considérée comme valide.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
    echo "Cette (email_b) adresse email est considérée comme valide.";
}
?>

L'exemple ci-dessus va afficher :

Cette (email_a) adresse email est considérée comme valide.

Exemple #2 Validation d'adresses IP avec filter_var()

<?php
$ip_a = '127.0.0.1';
$ip_b = '42.42';

if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
    echo "Cette (ip_a) adresse IP est considérée comme valide.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
    echo "Cette (ip_b) adresse IP est considérée comme valide.";
}
?>

L'exemple ci-dessus va afficher :

Cette (ip_b) adresse IP est considérée comme valide.

Exemple #3 Passage d'options à la fonction filter_var()

<?php
$int_a = '1';
$int_b = '-1';
$int_c = '4';
$options = array(
    'options' => array(
                      'min_range' => 0,
                      'max_range' => 3,
                      )
);
if (filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Cet entier (int_a) est considéré comme valide (entre 0 et 3).\n";
}
if (filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Cet entier (int_b) est considéré comme valide (entre 0 et 3).\n";
}
if (filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
    echo "Cet entier (int_c) est considéré comme valide (entre 0 et 3).\n";
}

$options['options']['default'] = 1;
if (($int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
    echo "Cet entier (int_c) est considéré comme valide (entre 0 et 3) et vaut $int_c.";
}
?>

L'exemple ci-dessus va afficher :

Cet entier (int_a) est considéré comme valide (entre 0 et 3).
Cet entier (int_c) est considéré comme valide (entre 0 et 3) et vaut 1.

Exemples
Nettoyage
Exemples


Nettoyage

Exemple #1 Nettoyage et validation d'adresses email

<?php
$a = 'joe@example.org';
$b = 'bogus - at - example dot org';
$c = '(bogus@example.org)';

$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
    echo "Cette (a) adresse email nettoyée est considérée comme valide.";
}

$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
    echo "Cette (b) adresse email nettoyée est considérée comme valide.";
} else {
    echo "Cette (b) adresse email nettoyée est considérée comme invalide.";
}

$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
    echo "Cette (a) adresse email nettoyée est considérée comme valide.";
    echo "Avant : $c\n";
    echo "Après :  $sanitized_c\n";
}
?>

L'exemple ci-dessus va afficher :

Cette (a) adresse email nettoyée est considérée comme valide.
Cette (b) adresse email nettoyée est considérée comme invalide.
Cette (a) adresse email nettoyée est considérée comme valide.
Avant : (bogus@example.org)
Après :  bogus@example.org

Validation
Filter Fonctions
Exemples


Filter Fonctions

Sommaire

  • filter_has_var — Vérifie si une variable d'un type spécifique existe
  • filter_id — Retourne l'identifiant d'un filtre nommé
  • filter_input_array — Récupère plusieurs valeurs externes et les filtre
  • filter_input — Récupère une variable externe et la filtre
  • filter_list — Retourne une liste de tous les filtres supportés
  • filter_var_array — Récupère plusieurs variables et les filtre
  • filter_var — Filtre une variable avec un filtre spécifique
Nettoyage
filter_has_var
Filter


Vérifie si une variable d'un type spécifique existe

Filter Fonctions
filter_id
Filter Fonctions
PHP Manual

filter_has_var

(PHP 5 >= 5.2.0)

filter_has_var — Vérifie si une variable d'un type spécifique existe

Description

bool filter_has_var ( int $type , string $variable_name )

Liste de paramètres

type

Une constante parmi INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER ou INPUT_ENV.

variable_name

Nom de la variable à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Filter Fonctions
filter_id
Filter Fonctions


Retourne l'identifiant d'un filtre nommé

filter_has_var
filter_input_array
Filter Fonctions
PHP Manual

filter_id

(PHP 5 >= 5.2.0)

filter_id — Retourne l'identifiant d'un filtre nommé

Description

int filter_id ( string $filtername )

Liste de paramètres

filtername

Nom du filtre à récupérer.

Valeurs de retour

Identifiant du filtre en cas de succès, ou NULL si le filtre n'existe pas.

Voir aussi

  • filter_list() - Retourne une liste de tous les filtres supportés

filter_has_var
filter_input_array
Filter Fonctions


Récupère plusieurs valeurs externes et les filtre

filter_id
filter_input
Filter Fonctions
PHP Manual

filter_input_array

(PHP 5 >= 5.2.0)

filter_input_array — Récupère plusieurs valeurs externes et les filtre

Description

mixed filter_input_array ( int $type [, mixed $definition ] )

Cette fonction est utile pour récupérer plusieurs valeurs sans avoir à appeler plusieurs fois la fonction filter_input().

Liste de paramètres

type

Une constante parmi INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER ou INPUT_ENV.

definition

Un tableau définissant les arguments. Une clé valide est une chaîne de caractères contenant le nom de la variable et une valeur valide est soit le type d'un filtre, soit un tableau spécifiant le filtre, les drapeaux et les options. Si la valeur est un tableau, les clés valides sont filter qui spécifie le type du filtre, flags qui spécifie tous les drapeaux à appliquer au filtre, et options qui spécifie toutes les options à appliquer au filtre. Voir l'exemple ci-dessous pour une meilleure compréhension.

Ce paramètre peut également être un entier contenant une constante de filtre. Ensuite, toutes les valeurs du tableau d'entrée seront filtrées par ce filtre.

Valeurs de retour

Un tableau contenant les valeurs des variables demandées en cas de succès, ou FALSE si une erreur survient. Un tableau de valeurs peut valoir FALSE si le filtre échoue, ou NULL si la variable n'est pas définie. Ou, si le drapeau FILTER_NULL_ON_FAILURE est utilisé, la fonction retournera FALSE si la variable n'est pas définie et NULL si le filtre échoue.

Exemples

Exemple #1 Exemple avec filter_input_array()

<?php
error_reporting(E_ALL | E_STRICT);
/* les données arrivent depuis POST
$_POST = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
*/

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_REQUIRE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_ARRAY,
                           )

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

L'exemple ci-dessus va afficher :

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Voir aussi

  • filter_input() - Récupère une variable externe et la filtre
  • filter_var_array() - Récupère plusieurs variables et les filtre

filter_id
filter_input
Filter Fonctions


Récupère une variable externe et la filtre

filter_input_array
filter_list
Filter Fonctions
PHP Manual

filter_input

(PHP 5 >= 5.2.0)

filter_input — Récupère une variable externe et la filtre

Description

mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Liste de paramètres

type

Une constante parmi INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER ou INPUT_ENV.

variable_name

Nom de la variable à récupérer.

filter

Filtre à appliquer.

options

Tableau associatif d'options ou des drapeaux. Si le filtre accepte les options, les drapeaux peuvent être fournis dans le champ "flags" du tableau.

Valeurs de retour

Valeur de la variable demandée en cas de succès, FALSE si le filtre échoue, ou NULL si la variable variable_name n'est pas définie. Si le drapeau FILTER_NULL_ON_FAILURE est utilisé, la fonction retournera FALSE si la variable n'est pas définie et NULL si le filtre échoue.

Exemples

Exemple #1 Exemple avec filter_input()

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "Vous avez recherché $search_html.\n";
echo "<a href='?search=$search_url'>Nouvelle recherche.</a>";
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Vous avez recherché Me &#38; son.
<a href='?search=Me%20%26%20son'>Nouvelle recherche.</a>

Voir aussi

  • filter_var() - Filtre une variable avec un filtre spécifique
  • filter_input_array() - Récupère plusieurs valeurs externes et les filtre
  • filter_var_array() - Récupère plusieurs variables et les filtre

filter_input_array
filter_list
Filter Fonctions


Retourne une liste de tous les filtres supportés

filter_input
filter_var_array
Filter Fonctions
PHP Manual

filter_list

(PHP 5 >= 5.2.0)

filter_list — Retourne une liste de tous les filtres supportés

Description

array filter_list ( void )

Valeurs de retour

Retourne un tableau de noms de tous les filtres supportés, un tableau vide s'il n'y a pas de filtre. Les index de ce tableau ne sont pas les identifiants des filtres, ils peuvent être obtenus avec la fonction filter_id() à partir du nom.

Exemples

Exemple #1 Exemple avec filter_list()

<?php
print_r(filter_list());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

filter_input
filter_var_array
Filter Fonctions


Récupère plusieurs variables et les filtre

filter_list
filter_var
Filter Fonctions
PHP Manual

filter_var_array

(PHP 5 >= 5.2.0)

filter_var_array — Récupère plusieurs variables et les filtre

Description

mixed filter_var_array ( array $data [, mixed $definition ] )

Cette fonction est utile pour récupérer plusieurs valeurs sans appeler plusieurs fois la fonction filter_var().

Liste de paramètres

data

Un tableau avec les clés contenant les données à filtrer.

definition

Un tableau définissant les arguments. Une clé valide est une chaîne de caractères contenant le nom de la variable et une valeur valide est soit le type d'un filtre, soit un tableau spécifiant le filtre, les drapeaux et les options. Si la valeur est un tableau, les clés valides sont filter qui spécifie le type du filtre, flags qui spécifie tous les drapeaux à appliquer au filtre, et options qui spécifie toutes les options à appliquer au filtre. Voir l'exemple ci-dessous pour une meilleure compréhension.

Ce paramètre peut également être un entier contenant une constante de filtre. Ensuite, toutes les valeurs du tableau d'entrée seront filtrées par ce filtre.

Valeurs de retour

Un tableau contenant les valeurs des variables demandées en cas de succès, ou FALSE si une erreur survient. Un tableau de valeurs peut valoir FALSE si le filtre échoue, ou NULL si la variable n'est pas définie.

Exemples

Exemple #1 Exemple avec filter_var_array()

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

L'exemple ci-dessus va afficher :

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Voir aussi

  • filter_input_array() - Récupère plusieurs valeurs externes et les filtre
  • filter_var() - Filtre une variable avec un filtre spécifique
  • filter_input() - Récupère une variable externe et la filtre

filter_list
filter_var
Filter Fonctions


Filtre une variable avec un filtre spécifique

filter_var_array
Gestion des fonctions
Filter Fonctions
PHP Manual

filter_var

(PHP 5 >= 5.2.0)

filter_var — Filtre une variable avec un filtre spécifique

Description

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

Liste de paramètres

variable

Valeur à filtrer.

filter

Identifiant du filtre à utiliser (voir la page du manuel Types de filtres).

options

Tableau associatif d'options ou des drapeaux. Si le filtre accepte les options, les drapeaux peuvent être fournis dans le champ "flags" du tableau. Pour les fonctions de rappel, le type callback devra être passé. La fonction de rappel doit acceptée un seul argument ; la valeur à filtrer et retournera la valeur, une fois le filtre appliqué.

<?php
// Pour les filtres acceptant les options,
// utilisez ce format
$options = array(
    'options' => array(
        'default' => 3, // valeur à retourner si le filtre échoue
        // autres options ici...
        'min_range' => 0
    ),
    'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);

// Pour les filtres qui n'acceptent que des drapeaux,
// vous pouvez les passez directement
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

// Pour les filtres qui n'acceptent que des drapeaux,
// vous pouvez également les passer sous forme de tableau
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
                  array('flags' => FILTER_NULL_ON_FAILURE));

// Fonction de rappel du filtre
function foo($value)
{
    $ret = new stdClass;
    $ret->value = filter_var($value, FILTER_VALIDATE_BOOLEAN,
                             array('flags' => FILTER_NULL_ON_FAILURE));
    return $ret;
}
$var = filter_var('yes', FILTER_CALLBACK, array('options' => 'foo'));
?>

Valeurs de retour

Retourne les données filtrées, ou FALSE si le filtre échoue.

Exemples

Exemple #1 Exemple avec filter_var()

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>

L'exemple ci-dessus va afficher :

string(15) "bob@example.com"
bool(false)

Voir aussi

  • filter_var_array() - Récupère plusieurs variables et les filtre
  • filter_input() - Récupère une variable externe et la filtre
  • filter_input_array() - Récupère plusieurs valeurs externes et les filtre
  • Informations sur le type callback

filter_var_array
Gestion des fonctions
Filter Fonctions


Gestion des fonctions

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions sur la gestion des fonctions
    • call_user_func_array — Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
    • call_user_func — Appelle une fonction utilisateur
    • create_function — Crée une fonction anonyme
    • forward_static_call_array — Appelle une méthode statique et passe les arguments en tableau
    • forward_static_call — Appelle une méthode statique
    • func_get_arg — Retourne un élément de la liste des arguments
    • func_get_args — Retourne les arguments d'une fonction sous la forme d'un tableau
    • func_num_args — Retourne le nombre d'arguments passés à la fonction
    • function_exists — Indique si une fonction est définie
    • get_defined_functions — Liste toutes les fonctions définies
    • register_shutdown_function — Enregistre une fonction pour exécution à l'extinction
    • register_tick_function — Enregistre une fonction exécutée à chaque tick
    • unregister_tick_function — Annule la fonction exécutée à chaque tick
filter_var
Introduction
Extensions relatives aux variables et aux types


Introduction

Ces fonctions effectuent les manipulations liées à la gestion des fonctions.

Gestion des fonctions
Installation/Configuration
Gestion des fonctions


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gestion des fonctions


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions sur la gestion des fonctions
Gestion des fonctions


Fonctions sur la gestion des fonctions

Sommaire

  • call_user_func_array — Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • call_user_func — Appelle une fonction utilisateur
  • create_function — Crée une fonction anonyme
  • forward_static_call_array — Appelle une méthode statique et passe les arguments en tableau
  • forward_static_call — Appelle une méthode statique
  • func_get_arg — Retourne un élément de la liste des arguments
  • func_get_args — Retourne les arguments d'une fonction sous la forme d'un tableau
  • func_num_args — Retourne le nombre d'arguments passés à la fonction
  • function_exists — Indique si une fonction est définie
  • get_defined_functions — Liste toutes les fonctions définies
  • register_shutdown_function — Enregistre une fonction pour exécution à l'extinction
  • register_tick_function — Enregistre une fonction exécutée à chaque tick
  • unregister_tick_function — Annule la fonction exécutée à chaque tick
Constantes pré-définies
call_user_func_array
Gestion des fonctions


Appelle une fonction utilisateur avec les paramètres rassemblés en tableau

Fonctions sur la gestion des fonctions
call_user_func
Fonctions sur la gestion des fonctions
PHP Manual

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array — Appelle une fonction utilisateur avec les paramètres rassemblés en tableau

Description

mixed call_user_func_array ( callback $function , array $param_arr )

Appelle la fonction utilisateur function avec les paramètres param_arr, rassemblés dans un tableau.

Liste de paramètres

function

La fonction à appeler.

param_arr

Les paramètres à passer à la fonction, sous la forme d'un tableau indexé.

Valeurs de retour

Retourne le résultat de la fonction, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec call_user_func_array()

<?php
function foobar($arg, $arg2) {
    echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}

// Appel de la fonction foobar() avec 2 arguments
call_user_func_array("foobar", array("one", "two"));

// Appel de la méthode $foo->bar() avec 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

foobar got one and two
foo::bar got three and four

Exemple #2 Exemple avec call_user_func_array() en utilisant un espace de nom

<?php

namespace Foobar;

class Foo {
    static public function test($name) {
        print "Bonjour {$name}!\n";
    }
}

// Depuis PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes'));

// Depuis PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip'));

?>

L'exemple ci-dessus va afficher :

Bonjour Hannes!
Bonjour Philip!

Exemple #3 Utilisation d'une fonction lambda

<?php

$func = function($arg1, $arg2) {
    return $arg1 * $arg2;
};

var_dump(call_user_func_array($func, array(2, 4))); /* Depuis PHP 5.3.0 */

?>

L'exemple ci-dessus va afficher :

int(8)

Notes

Note: Les variables référencées dans le paramètre param_arr sont passées à la fonction par référence, les autres sont passées par leur valeur. En d'autres termes, cela ne dépend pas de la signature de la fonction suivant que le paramètre est passé par valeur ou par référence.

Note: Notez que les fonctions de rappel enregistrées avec des fonctions comme call_user_func() et call_user_func_array() ne seront pas appelées si une exception n'est pas interceptée alors qu'elle a été lancée dans une précédente fonction de rappel.

Voir aussi

  • call_user_func() - Appelle une fonction utilisateur
  • Informations sur le type callback

Fonctions sur la gestion des fonctions
call_user_func
Fonctions sur la gestion des fonctions


Appelle une fonction utilisateur

call_user_func_array
create_function
Fonctions sur la gestion des fonctions
PHP Manual

call_user_func

(PHP 4, PHP 5)

call_user_func — Appelle une fonction utilisateur

Description

mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )

Appelle une fonction utilisateur fournie par le paramètre function.

Liste de paramètres

function

La fonction à appeler. Les méthodes de classes peuvent être appelées statiquement en passant array($classname, $methodname) à ce paramètre. De plus, les méthodes de classe d'un objet peuvent être appelées en passant array($objectinstance, $methodname) à ce paramètre.

parameter

0 ou plus de paramètres à passer à la fonction.

Note: Notez que les paramètres pour call_user_func() ne sont pas passés par référence.

Exemple #1 Exemple avec call_user_func() par référence

<?php
function increment(&$var)
{
    $var++;
}

$a = 0;
call_user_func('increment', $a);
echo $a."\n";

call_user_func_array('increment', array(&$a));
// Vous pouvez utiliser ceci à la place jusqu'en PHP 5.3
echo $a."\n";
?>

L'exemple ci-dessus va afficher :

0
1

Valeurs de retour

Retourne le résultat de la fonction, ou FALSE si une erreur survient.

Exemples

Exemple #2 Exemple avec call_user_func()

<?php
function barber($type)
{
    echo "Vous voulez une coupe $type, aucun problème";
}
call_user_func('barber', "au bol");
call_user_func('barber', "au rasoir");
?>

L'exemple ci-dessus va afficher :

Vous voulez une coupe au bol, aucun problème
Vous voulez une coupe au rasoir, aucun problème

Exemple #3 Exemple avec call_user_func() en utilisant un espace de noms

<?php

namespace Foobar;

class Foo {
    static public function test() {
        print "Hello world!\n";
    }
}

call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // As of PHP 5.3.0
?>

L'exemple ci-dessus va afficher :

Hello world!
Hello world!

Exemple #4 Utilisation d'une méthode de classe avec call_user_func()

<?php

class maclasse {
    static function dit_bonjour()
    {
        echo "Bonjour!\n";
    }
}

$classname = "maclasse";

call_user_func(array($classname, 'dit_bonjour'));
call_user_func($classname .'::dit_bonjour');    // Depuis 5.2.3

$monobjet = new maclasse();

call_user_func(array($monobjet, 'dit_bonjour'));

?>

L'exemple ci-dessus va afficher :

Bonjour!
Bonjour!
Bonjour!

Exemple #5 Utilisation d'une fonction lambda avec call_user_func()

<?php
call_user_func(function($arg) { print "[$arg]\n"; }, 'test'); /* Depuis PHP 5.3.0 */
?>

L'exemple ci-dessus va afficher :

[test]

Notes

Note: Notez que les fonctions de rappel enregistrées avec des fonctions comme call_user_func() et call_user_func_array() ne seront pas appelées si une exception n'est pas interceptée alors qu'elle a été lancée dans une précédente fonction de rappel.

Voir aussi

  • call_user_func_array() - Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • is_callable() - Détermine si l'argument peut être appelé comme fonction
  • Informations sur le type callback

call_user_func_array
create_function
Fonctions sur la gestion des fonctions


Crée une fonction anonyme

call_user_func
forward_static_call_array
Fonctions sur la gestion des fonctions
PHP Manual

create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function — Crée une fonction anonyme

Description

string create_function ( string $args , string $code )

create_function() crée une fonction anonyme, à partir des paramètres passés, et retourne un nom de fonction unique.

Liste de paramètres

Généralement, les arguments args sont présentés sous la forme d'une chaîne à guillemets simples, et la même recommandation vaut pour code. La raison de l'utilisation des guillemets simples est de protéger les noms de variables du remplacement par leur valeur. Si vous utilisez les guillemets doubles, n'oubliez pas d'échapper les noms de variables (i.e. \$avar).

args

Les arguments de la fonction.

code

Le code de la fonction.

Valeurs de retour

Retourne un nom de fonction unique, sous la forme d'une chaîne de caractères, ou FALSE si une erreur survient.

Exemples

Exemple #1 Création d'une fonction anonyme avec create_function()

Vous pouvez utiliser cette fonction pour (par exemple) créer une fonction à partir d'informations récoltées durant l'exécution :

<?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";
// affichera :
// Nouvelle fonction anonyme : lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Ou, pour pouvoir appliquer une fonction générique à une liste d'arguments.

Exemple #2 Traitement générique par fonction avec create_function()

<?php
function process($var1, $var2, $farr)
{
    foreach ($farr as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// Création d'une série de fonction mathématiques
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    create_function('$x,$y', 'return "un peu de trigo : ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "une hypoténuse : ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nUtilisation de la première liste de fonctions anonymes\n";
echo "paramétres : 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// Maintenant une liste de fonction sur chaîne de caractères
$garr = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    'and \"$b\"\n** Look the same to me! (looking at the first 3 chars)";'),
    create_function('$a,$b', '; return "CRCs : " . crc32($a) . " , ".crc32(b);'),
    create_function('$a,$b', '; return "similarité (a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nUtilisation de la seconde liste de fonctions anonymes\n";
process("Twas brilling and the slithy toves", "Twas the night", $garr);
?>

L'exemple ci-dessus va afficher :

Utilisation de la première liste de fonctions anonymes
paramétres : 2.3445, M_PI
un peu de trigo : -1.6291725057799
une hypoténuse : 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a/b) = 0.27122299212594

Utilisation de la seconde liste de fonctions anonymes
** "Twas the night" and "Twas brilling and the slithy toves"
** Ces chaînes se ressemblent ! (regardez les trois premiers caractères)
CRCs : -725381282 , 1908338681
similarité (a,b) = 11(45.833333333333%)

Mais l'utilisation la plus courante des fonctions lambda est la fonction de rappel, par exemple, lors de l'utilisation de array_walk() ou usort()

Exemple #3 Utilisation de fonctions anonymes comme fonction de rappel

<?php
$av = array("la ", "une ", "cette ", "une certaine ");
array_walk($av, create_function('&$v,$k', '$v = $v . "maison";'));
print_r($av);
?>

L'exemple ci-dessus va afficher :

Array
(
  [0] => la maison
  [1] => une maison
  [2] => cette maison
  [3] => une certaine maison
)

un tableau de chaînes de caractères ordonnées de la plus courte à la plus longue

<?php

$sv = array("petite", "longue", "une très longue chaîne", "une phrase toute entière");
print_r($sv);

?>

L'exemple ci-dessus va afficher :

Array
(
  [0] => petite
  [1] => longue
  [2] => une très longue chaîne
  [3] => une phrase toute entière
)

ordonnées de la plus longue à la plus courte

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

L'exemple ci-dessus va afficher :

Array
(
  [0] => une phrase toute entière
  [1] => une très longue chaîne
  [2] => longue
  [3] => petite
)

Voir aussi

  • Fonctions anonymes

call_user_func
forward_static_call_array
Fonctions sur la gestion des fonctions


Appelle une méthode statique et passe les arguments en tableau

create_function
forward_static_call
Fonctions sur la gestion des fonctions
PHP Manual

forward_static_call_array

(PHP 5 >= 5.3.0)

forward_static_call_array — Appelle une méthode statique et passe les arguments en tableau

Description

mixed forward_static_call_array ( callback $function [, array $parameters ] )

Appelle une fonction ou une méthode utilisateur, nommée function, avec les arguments rassemblés dans un tableau. Cette fonction doit être appelée depuis une méthode, et ne peut pas être utilisée hors d'une classe. Tous les arguments transmis sont passés par valeur dans un tableau, similairement à call_user_func_array().

Liste de paramètres

function

La fonction ou la méthode appelée. Ce paramètre peut être un tableau, avec le nom de la classe et de la méthode, ou une chaîne, avec le nom de la fonction.

parameter

Un paramètre, rassemblant tous les paramètres dans un tableau.

Note: Notez que les paramètres sont passés par valeur par forward_static_call_array().

Valeurs de retour

Retourne le résultat de la fonction, et FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec forward_static_call_array()

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call_array(array('A', 'test'), array('encore', 'args'));
        forward_static_call_array( 'test', array('autres', 'args'));
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

L'exemple ci-dessus va afficher :

B
B encore,args
C autres,args

Voir aussi

  • forward_static_call() - Appelle une méthode statique
  • call_user_func() - Appelle une fonction utilisateur
  • call_user_func_array() - Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • is_callable() - Détermine si l'argument peut être appelé comme fonction
  • Informations sur le type callback

create_function
forward_static_call
Fonctions sur la gestion des fonctions


Appelle une méthode statique

forward_static_call_array
func_get_arg
Fonctions sur la gestion des fonctions
PHP Manual

forward_static_call

(PHP 5 >= 5.3.0)

forward_static_call — Appelle une méthode statique

Description

mixed forward_static_call ( callback $function [, mixed $parameter [, mixed $... ]] )

Appelle une fonction ou une méthode utilisateur, nommée function, avec les arguments qui suivent. Cette fonction doit être appelée depuis une méthode, et ne peut pas être utilisée hors d'une classe.

Liste de paramètres

function

La fonction ou la méthode appelée. Ce paramètre peut être un tableau, avec le nom de la classe et de la méthode, ou une chaîne, avec le nom de la fonction.

parameter

Zéro ou plusieurs paramètres à passer à la fonction.

Valeurs de retour

Retourne le résultat de la fonction, ou bien FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec forward_static_call()

<?php

class A
{
    const NAME = 'A';
    public static function test() {
        $args = func_get_args();
        echo static::NAME, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NAME = 'B';

    public static function test() {
        echo self::NAME, "\n";
        forward_static_call(array('A', 'test'), 'encore', 'args');
        forward_static_call( 'test', 'autres', 'args');
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

L'exemple ci-dessus va afficher :

B
B encore,args
C autres,args

Voir aussi

  • forward_static_call_array() - Appelle une méthode statique et passe les arguments en tableau
  • call_user_func_array() - Appelle une fonction utilisateur avec les paramètres rassemblés en tableau
  • call_user_func() - Appelle une fonction utilisateur
  • is_callable() - Détermine si l'argument peut être appelé comme fonction
  • Informations sur le type callback

forward_static_call_array
func_get_arg
Fonctions sur la gestion des fonctions


Retourne un élément de la liste des arguments

forward_static_call
func_get_args
Fonctions sur la gestion des fonctions
PHP Manual

func_get_arg

(PHP 4, PHP 5)

func_get_arg — Retourne un élément de la liste des arguments

Description

mixed func_get_arg ( int $arg_num )

Récupère un élément de la liste des arguments d'une fonction utilisateur.

func_get_arg() peut être utilisé
conjointement à func_num_args() et
func_get_args() pour permettre aux fonctions
utilisateurs d'accepter un nombre variable d'arguments.

Liste de paramètres

arg_num

La position de l'argument. Les arguments de la fonction sont comptés en commençant à partir de 0.

Valeurs de retour

Retourne l'argument spécifié, ou FALSE si une erreur survient.

Historique

Version | Description
5.3.0 | Cette fonction peut maintenant être utilisée dans des listes de paramètres.
5.3.0 | Si cette fonction est appelée depuis le scope le plus éloigné d'un fichier qui a été inclus via include() ou require() depuis l'intérieur d'une fonction du fichier appelant, elle génère une alerte et retourne FALSE.

Erreurs / Exceptions

Générera une alerte si elle est appelée hors d'une fonction utilisateur, ou si arg_num est plus grand que le nombre d'arguments passés.

Exemples

Exemple #1 Exemple avec func_get_arg()

<?php
function foo()
{
     $numargs = func_num_args();
     echo "Nombre d'arguments : $numargs<br />\n";
     if ($numargs >= 2) {
         echo "Le second argument est : " . func_get_arg(1) . "<br />\n";
     }
}

foo (1, 2, 3);
?>

Exemple #2 Exemple avec func_get_arg() avant et après PHP 5.3

test.php
<?php
function foo() {
    include './fga.inc';
}

foo('First arg', 'Second arg');
?>

fga.php
<?php

$arg = func_get_arg(1);
var_export($arg);

?>

Affiche, avant PHP 5.3 :

'Second arg'

Affiche, en PHP 5.3 et suivants :

Warning: func_get_arg():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Notes

Note: Parce que cette fonction dépend de la portée courante pour déterminer les détails des paramètres, ils ne peuvent être utilisés en tant que paramètre d'une fonction dans les versions antérieures à 5.3.0. Si vous devez passer cette valeur, assignez les résultats à une variable et utilisez-la.

Note: Cette fonction retourne uniquement une copie des arguments passés, et ne compte pas en tant qu'arguments par défaut (non passés).

Voir aussi

  • func_get_args() - Retourne les arguments d'une fonction sous la forme d'un tableau
  • func_num_args() - Retourne le nombre d'arguments passés à la fonction

forward_static_call
func_get_args
Fonctions sur la gestion des fonctions


Retourne les arguments d'une fonction sous la forme d'un tableau

func_get_arg
func_num_args
Fonctions sur la gestion des fonctions
PHP Manual

func_get_args

(PHP 4, PHP 5)

func_get_args — Retourne les arguments d'une fonction sous la forme d'un tableau

Description

array func_get_args ( void )

Récupère les arguments d'une fonction sous la forme d'un tableau.

func_get_arg() peut être utilisé conjointement à func_num_args() et func_get_args() pour permettre aux fonctions utilisateurs d'accepter un nombre variable d'arguments.

Valeurs de retour

Retourne un tableau dont chaque élément est une copie du membre correspondant de la liste d'arguments de la fonction.

Historique

Version | Description
5.3.0 | Cette fonction peut maintenant être utilisée dans des listes de paramètres.
5.3.0 | Si cette fonction est appelée dans un fichier inclus avec include() ou require() logé dans une fonction, elle génèrera une alerte et retournera FALSE.

Erreurs / Exceptions

Générera une alerte si elle est appelée hors d'une fonction.

Exemples

Exemple #1 Exemple avec func_get_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Nombre d'arguments : $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Le second argument est : " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "L'argument $i est : " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
?>

L'exemple ci-dessus va afficher :

Nombre d'arguments : 3<br />
Le second argument est : 2<br />
L'argument 0 est : 1<br />
L'argument 1 est : 2<br />
L'argument 2 est : 3<br />

Exemple #2 Exemples func_get_args() avant et après PHP 5.3

test.php
<?php
function foo() {
    include './fga.inc';
}

foo('Argument 1', 'Argument 2');
?>

fga.inc
<?php

$args = func_get_args();
var_export($args);

?>

Sortie avant PHP 5.3:

array (
  0 => 'Argument 1',
  1 => 'Argument 2',
)

Sortie depuis PHP 5.3

Warning: func_get_args():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false

Notes

Note: Parce que cette fonction dépend de la portée courante pour déterminer les détails des paramètres, ils ne peuvent être utilisés en tant que paramètre d'une fonction dans les versions antérieures à 5.3.0. Si vous devez passer cette valeur, assignez les résultats à une variable et utilisez-la.

Note: Cette fonction retourne uniquement une copie des arguments passés, et ne compte pas en tant qu'arguments par défaut (non passés).

Voir aussi

  • func_get_arg() - Retourne un élément de la liste des arguments
  • func_num_args() - Retourne le nombre d'arguments passés à la fonction

func_get_arg
func_num_args
Fonctions sur la gestion des fonctions


Retourne le nombre d'arguments passés à la fonction

func_get_args
function_exists
Fonctions sur la gestion des fonctions
PHP Manual

func_num_args

(PHP 4, PHP 5)

func_num_args — Retourne le nombre d'arguments passés à la fonction

Description

int func_num_args ( void )

Récupère le nombre d'arguments passés à la fonction.

func_get_arg() peut être utilisé
conjointement à func_num_args() et
func_get_args() pour permettre aux fonctions
utilisateurs d'accepter un nombre variable d'arguments.

Valeurs de retour

Retourne le nombre d'arguments passés à la fonction utilisateur courante. function.

Historique

Version | Description
5.3.0 | Cette fonction peut maintenant être utilisée dans des listes de paramètres.
5.3.0 | Si cette fonction est appelée dans un fichier inclus avec include() ou require() logé dans une fonction, elle génèrera une alerte et retournera -1.

Erreurs / Exceptions

Génère une alerte si elle est appelée hors d'une fonction utilisateur.

Exemples

Exemple #1 Exemple avec func_num_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Nombre d'arguments : $numargs\n";
}

foo(1, 2, 3);    // affiche ''
?>

L'exemple ci-dessus va afficher :

Nombre d'arguments: 3

Exemple #2 Exemples func_num_args() avant et après PHP 5.3

test.php
 <?php
 function foo() {
     include './fga.inc';
 }

 foo('Argument 1', 'Argument 2');
 ?>

 fga.php
 <?php

 $num_args = func_num_args();
 var_export($num_args);

 ?>

Sortie avant PHP 5.3:

 2

Sortie depuis PHP 5.3:

 Warning: func_num_args():  Called from the global scope - no function
 context in /home/torben/Desktop/code/ml/fga.inc on line 3
 -1

Notes

Note: Parce que cette fonction dépend de la portée courante pour déterminer les détails des paramètres, ils ne peuvent être utilisés en tant que paramètre d'une fonction dans les versions antérieures à 5.3.0. Si vous devez passer cette valeur, assignez les résultats à une variable et utilisez-la.

Voir aussi

  • func_get_arg() - Retourne un élément de la liste des arguments
  • func_get_args() - Retourne les arguments d'une fonction sous la forme d'un tableau

func_get_args
function_exists
Fonctions sur la gestion des fonctions


Indique si une fonction est définie

func_num_args
get_defined_functions
Fonctions sur la gestion des fonctions
PHP Manual

function_exists

(PHP 4, PHP 5)

function_exists — Indique si une fonction est définie

Description

bool function_exists ( string $function_name )

Vérifie la liste des fonctions définies par l'utilisateur afin d'y trouver function_name.

Liste de paramètres

function_name

Le nom de la fonction, sous la forme d'une chaîne de caractères.

Valeurs de retour

Retourne TRUE si la fonction function_name existe et est une fonction, FALSE sinon.

Note:

    Notez également que function_exists() retournera
    FALSE pour les instructions comme include_once()
    et echo().

Exemples

Exemple #1 Exemple avec function_exists()

<?php
if (function_exists('imap_open')) {
    echo "Les fonctions IMAP sont disponibles.<br />\n";
} else {
    echo "Les fonctions IMAP ne sont pas disponibles.<br />\n";
}
?>

Notes

Note: Un nom de fonction peut exister même si la fonction elle-même n'est pas utilisable à cause d'une configuration ou d'une option de compilation (avec les fonctions image par exemple).

Voir aussi

  • method_exists() - Vérifie que la méthode existe pour une classe
  • is_callable() - Détermine si l'argument peut être appelé comme fonction
  • get_defined_functions() - Liste toutes les fonctions définies

func_num_args
get_defined_functions
Fonctions sur la gestion des fonctions


Liste toutes les fonctions définies

function_exists
register_shutdown_function
Fonctions sur la gestion des fonctions
PHP Manual

get_defined_functions

(PHP 4 >= 4.0.4, PHP 5)

get_defined_functions — Liste toutes les fonctions définies

Description

array get_defined_functions ( void )

Liste toutes les fonctions définies.

Valeurs de retour

Retourne un tableau multidimensionnel, contenant la liste de toutes les fonctions définies, aussi bien les fonctions internes à PHP que celle déjà définie par l'utilisateur. Les noms des fonctions internes sont accessibles via $arr["internal"], et les fonctions utilisateur sont accessibles via $arr["user"].

Exemples

Exemple #1 Exemple avec get_defined_functions()

<?php
function myrow($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => myrow
        )

)

Voir aussi

  • function_exists() - Indique si une fonction est définie
  • get_defined_vars() - Liste toutes les variables définies
  • get_defined_constants() - Retourne la liste des constantes et leurs valeurs
  • get_declared_classes() - Liste toutes les classes définies dans PHP

function_exists
register_shutdown_function
Fonctions sur la gestion des fonctions


Enregistre une fonction pour exécution à l'extinction

get_defined_functions
register_tick_function
Fonctions sur la gestion des fonctions
PHP Manual

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function — Enregistre une fonction pour exécution à l'extinction

Description

void register_shutdown_function ( callback $function [, mixed $parameter [, mixed $... ]] )

register_shutdown_function() enregistre la fonction function pour exécution à l'extinction ou lorsque exit() est appelé.

Plusieurs appels à register_shutdown_function() sont possibles dans le même script, et les fonctions seront appelées dans le même ordre que celui dans lequel elles sont enregistrées. Si vous appelez exit() durant l'une des fonctions d'extinction, le processus sera définitivement arrêté, sans que les autres fonctions soient appelées.

Liste de paramètres

function

La fonction à enregistrer, pour exécution à l'extinction.

Une fonction d'extinction est appelée dans le traitement d'une requête, ce qui fait qu'il est possible d'envoyer des messages depuis ces fonctions. Il n'y a actuellement aucun moyen de traiter les données avec les fonctions de bufferisation dans la fonction d'extinction.

Les fonctions d'extinction sont appelées après avoir fermé tous les buffers, et, par exepmle, le contenu ne sera pas compressé si zlib.output_compression a été activé.

parameter

Il est possible de passer des paramètres aux fonctions d'extinction en configurant ces paramètres supplémentaires.

...

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
4.1.0 | Les fonctions d'extinction font maintenant partie de la requête. Dans les versions précédentes, et sous Apache, les fonctions enregistrées étaient appelée une fois que la requête était complètement terminée. (y compris lorsque les buffers ont été vidés) ce qui fait qu'il n'était pas possible d'envoyer de contenu au navigateur avec echo() ou print(), ou encore lire le contenu avec les fonctions ob_get_contents(). Les en-têtes étaient également toujours envoyés.

Exemples

Exemple #1 Exemple avec register_shutdown_function()

<?php
function shutdown()
{
    // Voici notre fonction shutdown
    // dans laquelle nous pouvons faire
    // toutes les dernières opérations
    // avant la fin du script.

    echo 'Script exécuté avec succès', PHP_EOL;
}

register_shutdown_function('shutdown');
?>

Notes

Note: Typiquement, les fonctions non définies causent des erreurs fatales en PHP, mais lorsque la fonction function est appelée avec register_shutdown_function() en étant non définie, une erreur de type E_WARNING est générée. De plus, pour des raisons internes à PHP cette erreur va Ãªtre indiquée comme Unknown at line #0.

Note: Le dossier de travail du script peut changer dans la fonction d'extinction sous quelques serveurs web, e.g. Apache.

Voir aussi

  • auto_append_file
  • exit() - Affiche un message et termine le script courant
  • La section sur la gestion des connexions

get_defined_functions
register_tick_function
Fonctions sur la gestion des fonctions


Enregistre une fonction exécutée à chaque tick

register_shutdown_function
unregister_tick_function
Fonctions sur la gestion des fonctions
PHP Manual

register_tick_function

(PHP 4 >= 4.0.3, PHP 5)

register_tick_function — Enregistre une fonction exécutée à chaque tick

Description

bool register_tick_function ( callback $function [, mixed $arg [, mixed $... ]] )

register_tick_function() enregistre la fonction function pour être exécutée à chaque fois qu'un tick survient.

Liste de paramètres

function

Le nom de la fonction, sous la forme d'une chaîne de caractères ou d'un tableau d'objets et de méthodes.

arg

...

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec register_tick_function()

<?php
// Utilisation d'une fonction de callback
register_tick_function('my_function', true);

// Utilisation d'une méthode d'objet
$object = new my_class();
register_tick_function(array(&$object, 'my_method'), true);
?>

Historique

Version | Description
5.3.0 | Les ticks sont maintenant supportés sur les serveurs Web threadés.

Notes

Avertissement

register_tick_function() ne doit pas être utilisé avec les serveurs web threadé, en PHP 5.2 et plus anciens.

Voir aussi

  • declare
  • unregister_tick_function() - Annule la fonction exécutée à chaque tick

register_shutdown_function
unregister_tick_function
Fonctions sur la gestion des fonctions


Annule la fonction exécutée à chaque tick

register_tick_function
Agrégation d'objets
Fonctions sur la gestion des fonctions
PHP Manual

unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5)

unregister_tick_function — Annule la fonction exécutée à chaque tick

Description

void unregister_tick_function ( string $function_name )

Annule l'exécution automatique de function_name à chaque tick.

Liste de paramètres

function_name

Le nom de la fonction, sous la forme d'une chaîne de caractères.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • register_tick_function() - Enregistre une fonction exécutée à chaque tick

register_tick_function
Agrégation d'objets
Fonctions sur la gestion des fonctions


Agrégation/composition d'objets [PHP4]

  • Introduction
  • Exemples
    • Exemples d'agrégation d'objets
    • Exemples
  • Fonctions d'agrégation d'objets/de composition de fonctions
    • aggregate_info — Récupère les informations d'agrégation pour un objet donné
    • aggregate_methods_by_list — Agrège sélectivement les méthodes d'une classe grâce à une liste
    • aggregate_methods_by_regexp — Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
    • aggregate_methods — Agrège dynamiquement les méthodes d'une classe à un objet
    • aggregate_properties_by_list — Agrège sélectivement les propriétés d'une classe grâce à une liste
    • aggregate_properties_by_regexp — Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
    • aggregate_properties — Agrège dynamiquement les propriétés d'une classe à un objet
    • aggregate — Agrège dynamiquement des classes et objets
    • aggregation_info — Alias de aggregate_info
    • deaggregate — Désagrège un objet
unregister_tick_function
Introduction
Extensions relatives aux variables et aux types


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

En programmation objet, il est courant de rencontrer la combinaison de classes simples (et de leurs instances) en une classe plus complexe. C'est une stratégie habile pour mettre en place des objets complexes, et des hiérarchies d'objets. Ce système peut fonctionner comme une alternative dynamique à l'héritage multiple. Il y a deux solutions pour combiner deux classes, suivant la relation de leurs éléments constitutifs : L'Association et l'agrégation.

Agrégation d'objets
Exemples
Agrégation d'objets


Exemples

Sommaire

  • Exemples d'agrégation d'objets
  • Exemples
Introduction
Exemples d'agrégation d'objets
Agrégation d'objets


Exemples d'agrégation d'objets

Une Association est une combinaison d'éléments construits indépendamment et visibles à l'extérieur. Lorsque nous associons des classes ou objets, chacun garde une référence à l'autre partie de l'association. Lorsque nous associons des classes statiquement, une classe contient une référence à une instance de l'autre classe. Par exemple :

Exemple #1 Association de classes

<?php
class MyDateTime {

  function MyDateTime()
  {
      // constructeur vide
  }

  function now()
  {
      return date("Y-m-d H:i:s");
  }
}

class Report {
  var $_dt;
  // autres propriétés ...

  function Report()
  {
      $this->_dt = new MyDateTime();
      // initialisation du code ...
  }

  function generateReport()
  {
      $dateTime = $this->_dt->now();
      // autre code ...
  }

  // autres méthodes ...
}

$rep = new Report();
?>
Nous pouvons aussi associer des instances dynamiquement, en passant une référence au constructeur (ou par une autre méthode), ce qui permet de gérer dynamiquement l'association entre les objets. Nous allons modifier l'exemple ci-dessus pour illustrer ce point :

Exemple #2 Association d'objets

<?php
class MyDateTime {
  // identique au précédent exemple
}

class MyDateTimePlus {
  var $_format;

  function MyDateTimePlus($format="Y-m-d H:i:s")
  {
      $this->_format = $format;
  }

  function now()
  {
      return date($this->_format);
  }
}

class Report {
  var $_dt;    // Nous allons garder la référence à DateTime ici
  // autre propriété ...

  function Report()
  {
      // initialisation
  }

  function setMyDateTime($dt)
  {
      $this->_dt =& $dt;
  }

  function generateReport()
  {
      $dateTime = $this->_dt->now();
      // autre code ...
  }

  // autres méthodes ...
}

$rep = new Report();
$dt = new MyDateTime();
$dtp = new MyDateTimePlus("l, F j, Y (h:i:s a, T)");

// Génération du rapport avec une simple date
$rep->setMyDateTime($dt);
echo $rep->generateReport();

// plus loin dans le code ...

// Génération du rapport avec une date designée
$rep->setMyDateTime($dtp);
$output = $rep->generateReport();
// sauvegarde pour affichage dans la base
// ... etc ...
?>

L'agrégation, d'un autre coté, implique l'encapsulation et le masquage des parties de la combinaison. Nous pouvons agréger des classes en utilisant une méthode statique, grâce aux sous-classes (mais PHP ne supporte pas bien les sous-classes), et, dans ce cas, la définition de la classe agrégée n'est pas accessible, sauf via les méthodes de la classe contenant. L'agrégation d'instances (agrégation d'objets) implique la création dynamique de sous-objets à l'intérieur d'un autre objet et, dans le même temps, l'extension des capacités de l'objet principal (en terme de méthodes accessibles).

L'agrégation d'objets est une méthode naturelle pour représenter des relations de type tout-partie (par exemple, une molécule est une agrégation d'atomes), ou bien peut être utilisée pour obtenir un effet équivalent à l'héritage multiple, sans avoir à lier plusieurs classes et leurs interfaces. En fait, les agrégations d'objets sont plus souples, car nous pouvons alors sélectionner les méthodes et les propriétés qui sont transmises à l'objet agrégé.

Exemples
Exemples
Exemples


Exemples
PHP Manual

Exemples

Nous définissons trois classes, qui implémentent chacune une méthode de stockage différente :

Exemple #1 storage_classes.inc

<?php
class FileStorage {
   var $data;

   function FileStorage($data)
   {
       $this->data = $data;
   }

   function write($name)
   {
       $fp = fopen(name, "w");
       fwrite($fp, $this->data);
       fclose($data);
   }
}

class WDDXStorage {
   var $data;
   var $version = "1.0";
   var $_id; // variable "privée"

   function WDDXStorage($data)
   {
       $this->data = $data;
       $this->_id = $this->_genID();
   }

   function store()
   {
       if ($this->_id) {
           $pid = wddx_packet_start($this->_id);
           wddx_add_vars($pid, "this->data");
           $packet = wddx_packet_end($pid);
       } else {
           $packet = wddx_serialize_value($this->data);
       }
       $dbh = dba_open("varstore", "w", "gdbm");
       dba_insert(md5(uniqid("", true)), $packet, $dbh);
       dba_close($dbh);
   }

   // méthode privée
   function _genID()
   {
       return md5(uniqid(rand(), true));
   }
}

class DBStorage {
   var $data;
   var $dbtype = "mysql";

   function DBStorage($data)
   {
       $this->data = $data;
   }

   function save()
   {
       $dbh = mysql_connect();
       mysql_select_db("storage", $dbh);
       $serdata = serialize($this->data);
       mysql_query("insert into vars ('$serdata',now())", $dbh);
       mysql_close($dbh);
   }
}

?>

Puis, nous "instantions" quelques objets issus de ces classes, et nous réalisons des agrégations et désagrégations, tout en affichant quelques résultats :

Exemple #2 test_aggregation.php

<?php
include "storageclasses.inc";

// quelques utilitaires

function p_arr($arr)
{
   foreach ($arr as $k => $v)
       $out[] = "\t$k => $v";
   return implode("\n", $out);
}

function object_info($obj)
{
   $out[] = "Classe : " . get_class($obj);
   foreach (get_object_vars($obj) as $var=>$val) {
       if (is_array($val)) {
           $out[] = "propriété : $var (array)\n" . p_arr($val);
       } else {
           $out[] = "propriété : $var = $val";
       }
   }
   foreach (get_class_methods($obj) as $method) {
       $out[] = "méthode : $method";
   }
   return implode("\n", $out);
}

$data = array(M_PI, "kludge != cruft");

// créons quelques objets simples
$fs = new FileStorage($data);
$ws = new WDDXStorage($data);

// affichons des informations sur ces objets
echo "\$fs object\n";
echo object_info($fs) . "\n";
echo "\n\$ws object\n";
echo object_info($ws) . "\n";

// maintenant, quelques agrégations

echo "\nagrégeons \$fs avec la classe WDDXStorage\n";
aggregate($fs, "WDDXStorage");
echo "L'objet \$fs \n";
echo object_info($fs) . "\n";

echo"\nagrégeons le résultat avec la classe DBStorage \n";
aggregate($fs, "DBStorage");
echo "L'objet \$fs \n";
echo object_info($fs)."\n";

echo "\nEt finalement, désagrégeons WDDXStorage\n";
deaggregate($fs, "WDDXStorage");
echo "L'objet \$fs \n";
echo object_info($fs) . "\n";

?>

Etudions maintenant le résultat du script pour comprendre les effets secondaires et les limitations des agrégations d'objets en PHP. D'abord, nous avons créé $fs et $ws et ils fournissent le bon résultat (suivant la définition de leur classe). Notez que dans le but de l'agrégation d'objets, les éléments privés d'une classe ou d'un objet doivent commencer par un souligné ("_"), même s'il n'y a pas de distinction réelle entre un objet privé et un objet public.

$fs object
Classe : filestorage
propriété : data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
méthode : filestorage
méthode : write

$ws object
Classe : wddxstorage
propriété : data (array)
   0 => 3.1415926535898
   1 => kludge != cruft
propriété : version = 1.0
propriété: _id = ID::9bb2b640764d4370eb04808af8b076a5
méthode : wddxstorage
méthode : store
méthode : _genid

Nous agrégeons alors $fs avec la classe WDDXStorage, et nous affichons les informations. Nous pouvons aussi voir que même si l'objet $fs est toujours du type FileStorage, il a maintenant la propriété $version, et la méthode store(), qui sont définies dans WDDXStorage. Une chose importante à noter est que les éléments privés n'ont pas été agrégés, même s'ils sont présents dans l'objet $ws. Un autre absent est le constructeur de WDDXStorage, qu'il n'est pas logique d'agréger.

agrégeons \$fs avec la classe WDDXStorage
L'objet $fs
Classe : filestorage
propriété : data (array)
     0 => 3.1415926535898
     1 => kludge != cruft
propriété : version = 1.0
méthode : filestorage
méthode : write
méthode : store

Le processus d'agrégation est cumulatif, ce qui fait que lorsque nous agrégeons $fs avec la classe DBStorage, nous générons un objet qui peut utiliser n'importe laquelle des méthodes de stockage de ces classes.

agrégeons le résultat avec la classe DBStorage
L'objet $fs
Classe : filestorage
propriété : data (array)
     0 => 3.1415926535898
     1 => kludge != cruft
propriété : version = 1.0
propriété : dbtype = mysql
méthode : filestorage
méthode : write
méthode : store
méthode : save

Finalement, de la même façon que nous avons agrégé les méthodes et propriétés dynamiquement, nous pouvons aussi les désagréger. Si nous désagrégeons la classe WDDXStorage de l'objet $fs, nous allons obtenir :

Et finalement, désagrégeons WDDXStorage
L'objet $fs
Classe : filestorage
propriété : data (array)
     0 => 3.1415926535898
     1 => kludge != cruft
propriété : dbtype = mysql
méthode : filestorage
méthode : write
méthode : save

Un point que nous n'avons pas mentionné ci-dessus et que l'agrégation ne va pas écraser les méthodes ou propriétés déjà existantes dans l'objet principal. Par exemple, la classe FileStorage définit une propriété $data, et la classe WDDXStorage aussi. Mais cette dernière ne sera pas impliquée dans l'agrégation.

Exemples d'agrégation d'objets
Fonctions d'agrégation d'objets/de composition de fonctions
Exemples
PHP Manual


Fonctions d'agrégation d'objets/de composition de fonctions

Sommaire

  • aggregate_info — Récupère les informations d'agrégation pour un objet donné
  • aggregate_methods_by_list — Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp — Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_methods — Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_properties_by_list — Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp — Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • aggregate_properties — Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate — Agrège dynamiquement des classes et objets
  • aggregation_info — Alias de aggregate_info
  • deaggregate — Désagrège un objet
Exemples
aggregate_info
Agrégation d'objets


Récupère les informations d'agrégation pour un objet donné

Fonctions d'agrégation d'objets/de composition de fonctions
aggregate_methods_by_list
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_info

(PHP 4 >= 4.3.0)

aggregate_info — Récupère les informations d'agrégation pour un objet donné

Description

array aggregate_info ( object $object )

Récupère les informations d'agrégation pour un objet donné.

Liste de paramètres

object

Valeurs de retour

Retourne un tableau associatif avec les méthodes et propriétés de chaque classe qui a été agrégée pour former l'objet object. La clé du tableau principal est le nom de la classe agrégée.

Exemples

Exemple #1 Exemple avec aggregate_info()

<?php

class Slicer {
    var $vegetable;

    function Slicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function slice_it($num_cuts)
    {
        echo "Doing some simple slicing\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // coupe en tranches
        }
    }
}

class Dicer {
    var $vegetable;
    var $rotation_angle = 90;   // degrés

    function Dicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function dice_it($num_cuts)
    {
        echo "Couper dans une direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // coupe
        }
        $this->rotate($this->rotation_angle);
        echo "Couper dans une seconde direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // coupe encore
        }
    }

    function rotate($deg)
    {
        echo "Maintenant tourne {$this->vegetable} {$deg} degrés\n";
    }

    function _secret_super_dicing($num_cuts)
    {
        // tellement secret que nous ne pouvons vous montrer ;-)
    }
}

$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>

L'exemple ci-dessus va afficher :

Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)
Comme vous pouvez le voir, toutes les méthodes et propriétés de la classe Dicer ont été agrégées dans notre nouvel objet, à l'exception de la classe constructeur et de la méthode privée _secret_super_dicing

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate() - Désagrège un objet

Fonctions d'agrégation d'objets/de composition de fonctions
aggregate_methods_by_list
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège sélectivement les méthodes d'une classe grâce à une liste

aggregate_info
aggregate_methods_by_regexp
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_methods_by_list

(PHP 4 >= 4.2.0)

aggregate_methods_by_list — Agrège sélectivement les méthodes d'une classe grâce à une liste

Description

void aggregate_methods_by_list ( object $object , string $class_name , array $methods_list [, bool $exclude = false ] )

Agrège les méthodes de la classe class_name avec l'objet object, en filtrant les méthodes agrégées grâce à la liste methods_list, appliquée au nom de la méthode.

Le constructeur de classe et les méthodes dont le nom commence par un caractère souligné ("_"), qui sont considérées comme privées, sont toujours exclues.

Liste de paramètres

object

class_name

methods_list

exclude

Le paramètre optionnel exclude sert à décider si l'expression régulière sélectionne les méthodes (exclude vaut FALSE), ou bien si elle sert à identifier les méthodes qui doivent être exclues (exclude vaut TRUE).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_info() - Récupère les informations d'agrégation pour un objet donné
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate() - Désagrège un objet

aggregate_info
aggregate_methods_by_regexp
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle

aggregate_methods_by_list
aggregate_methods
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_methods_by_regexp

(PHP 4 >= 4.2.0)

aggregate_methods_by_regexp — Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle

Description

void aggregate_methods_by_regexp ( object $object , string $class_name , string $regexp [, bool $exclude = false ] )

Agrège les méthodes de la classe class_name avec l'objet object, en filtrant les méthodes agrégées grâce à l'expression rationnelle regexp, appliquée au nom de la méthode.

Le constructeur de classe et les méthodes dont le nom commence par un caractère souligné ("_"), qui sont considérées comme privées, sont toujours exclues.

Liste de paramètres

object

class_name

regexp

exclude

Le paramètre optionnel exclude sert à décider si l'expression rationnelle sélectionne les méthodes (exclude vaut FALSE), ou bien si elle sert à identifier les méthodes qui doivent être exclues (exclude vaut TRUE).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_info() - Récupère les informations d'agrégation pour un objet donné
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate() - Désagrège un objet

aggregate_methods_by_list
aggregate_methods
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège dynamiquement les méthodes d'une classe à un objet

aggregate_methods_by_regexp
aggregate_properties_by_list
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_methods

(PHP 4 >= 4.2.0)

aggregate_methods — Agrège dynamiquement les méthodes d'une classe à un objet

Description

void aggregate_methods ( object $object , string $class_name )

Agrège toutes les méthodes de la classe class_name avec l'objet object, sauf les méthodes dont le nom commence par un souligné ("_"), qui sont considérées comme privées, et donc ignorées.

Liste de paramètres

object

class_name

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_info() - Récupère les informations d'agrégation pour un objet donné
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate() - Désagrège un objet

aggregate_methods_by_regexp
aggregate_properties_by_list
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège sélectivement les propriétés d'une classe grâce à une liste

aggregate_methods
aggregate_properties_by_regexp
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_properties_by_list

(PHP 4 >= 4.2.0)

aggregate_properties_by_list — Agrège sélectivement les propriétés d'une classe grâce à une liste

Description

void aggregate_properties_by_list ( object $object , string $class_name , array $properties_list [, bool $exclude = false ] )

Agrège les propriétés de la classe class_name avec l'objet object, en filtrant les propriétés agrégées grâce à la liste methods_list, appliquée au nom de la propriété.

Les propriétés dont le nom commence par un caractère souligné ("_"), qui sont considérées comme privées, sont toujours exclues.

Liste de paramètres

object

class_name

properties_list

exclude

Le paramètre optionnel exclude sert à décider si l'expression régulière sélectionne les propriétés (exclude vaut FALSE), ou bien si elle sert à identifier les propriétés qui doivent être exclues (exclude vaut TRUE).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • aggregate_info() - Récupère les informations d'agrégation pour un objet donné
  • deaggregate() - Désagrège un objet

aggregate_methods
aggregate_properties_by_regexp
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle

aggregate_properties_by_list
aggregate_properties
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_properties_by_regexp

(PHP 4 >= 4.2.0)

aggregate_properties_by_regexp — Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle

Description

void aggregate_properties_by_regexp ( object $object , string $class_name , string $regexp [, bool $exclude = false ] )

Agrège les propriétés de la classe class_name avec l'objet object, en filtrant les propriétés agrégées grâce à l'expression rationnelle regexp, appliquée au nom de la propriété.

Les propriétés dont le nom commence par un caractère souligné ("_"), qui sont considérées comme privées, sont toujours exclues.

Liste de paramètres

object

class_name

regexp

exclude

Le paramètre optionnel exclude sert à décider si l'expression rationnelle sélectionne les propriétés (exclude vaut FALSE), ou bien si elle sert à identifier les propriétés qui doivent être exclues (exclude vaut TRUE).

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_info() - Récupère les informations d'agrégation pour un objet donné
  • deaggregate() - Désagrège un objet

aggregate_properties_by_list
aggregate_properties
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège dynamiquement les propriétés d'une classe à un objet

aggregate_properties_by_regexp
aggregate
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate_properties

(PHP 4 >= 4.2.0)

aggregate_properties — Agrège dynamiquement les propriétés d'une classe à un objet

Description

void aggregate_properties ( object $object , string $class_name )

Agrège toutes les propriétés de la classe class_name avec l'objet object, sauf les propriétés dont le nom commence par un souligné ("_"), qui sont considérées comme privées, et donc ignorées.

Liste de paramètres

object

class_name

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties()
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate() - Désagrège un objet

aggregate_properties_by_regexp
aggregate
Fonctions d'agrégation d'objets/de composition de fonctions


Agrège dynamiquement des classes et objets

aggregate_properties
aggregation_info
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregate

(PHP 4 >= 4.2.0)

aggregate — Agrège dynamiquement des classes et objets

Description

void aggregate ( object $object , string $class_name )

Agrège les méthodes et propriétés de la classe class_name dans l'objet object. Les méthodes et propriétés commençant par un souligné ("_") sont considérées comme privées et ignorées dans le processus d'agrégation. Les constructeurs sont aussi exclus de l'agrégation.

Liste de paramètres

object

class_name

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate_info() - Récupère les informations d'agrégation pour un objet donné
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate() - Désagrège un objet

aggregate_properties
aggregation_info
Fonctions d'agrégation d'objets/de composition de fonctions


Alias de aggregate_info

aggregate
deaggregate
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

aggregation_info

(PHP 4 >= 4.2.0 and < 4.3.0)

aggregation_info — Alias de aggregate_info()

Description

Cette fonction est un alias de : aggregate_info().

aggregate
deaggregate
Fonctions d'agrégation d'objets/de composition de fonctions


Désagrège un objet

aggregation_info
Reflection
Fonctions d'agrégation d'objets/de composition de fonctions
PHP Manual

deaggregate

(PHP 4 >= 4.2.0)

deaggregate — Désagrège un objet

Description

void deaggregate ( object $object [, string $class_name ] )

Supprime les méthodes et propriétés de la classe class_name, qui ont été agrégées dans l'objet object.

Liste de paramètres

object

class_name

Si le paramètre optionnel class_name est passé, seules les méthodes et propriétés de cette classe sont désagrégées. Sinon, toutes les méthodes et propriétés agrégées sont retirées.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • aggregate() - Agrège dynamiquement des classes et objets
  • aggregate_methods() - Agrège dynamiquement les méthodes d'une classe à un objet
  • aggregate_methods_by_list() - Agrège sélectivement les méthodes d'une classe grâce à une liste
  • aggregate_methods_by_regexp() - Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
  • aggregate_properties() - Agrège dynamiquement les propriétés d'une classe à un objet
  • aggregate_properties_by_list() - Agrège sélectivement les propriétés d'une classe grâce à une liste
  • aggregate_properties_by_regexp() - Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
  • deaggregate()

aggregation_info
Reflection
Fonctions d'agrégation d'objets/de composition de fonctions


Reflection

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Étendre la classe
  • Reflection — La classe Reflection
    • Reflection::export — Exportes
    • Reflection::getModifierNames — Récupère le nom d'un modificateur
  • ReflectionClass — La classe ReflectionClass
    • ReflectionClass::__clone — Clones un objet
    • ReflectionClass::__construct — Construit une ReflectionClass
    • ReflectionClass::export — Exporte une classe
    • ReflectionClass::getConstant — Récupère les constantes définies
    • ReflectionClass::getConstants — Récupère les constantes
    • ReflectionClass::getConstructor — Récupère le constructeur
    • ReflectionClass::getDefaultProperties — Récupère les propriétés par défaut
    • ReflectionClass::getDocComment — Récupère les commentaires
    • ReflectionClass::getEndLine — Récupère la fin d'une ligne
    • ReflectionClass::getExtension — Récupère des informations d'une extension
    • ReflectionClass::getExtensionName — Récupère le nom d'une extension
    • ReflectionClass::getFileName — Récupère un nom de fichier
    • ReflectionClass::getInterfaceNames — Récupère les noms des interfaces
    • ReflectionClass::getInterfaces — Récupère les interfaces
    • ReflectionClass::getMethod — Récupère un objet ReflectionMethod
    • ReflectionClass::getMethods — Récupère la liste des méthodes
    • ReflectionClass::getModifiers — Récupère les modificateurs
    • ReflectionClass::getName — Récupère le nom de la classe
    • ReflectionClass::getNamespaceName — Récupère l'espace de noms
    • ReflectionClass::getParentClass — Récupère la classe parente
    • ReflectionClass::getProperties — Récupère les propriétés
    • ReflectionClass::getProperty — Récupère une propriété
    • ReflectionClass::getShortName — Récupère le nom court d'une classe
    • ReflectionClass::getStartLine — Récupère le numéro de ligne de départ
    • ReflectionClass::getStaticProperties — Récupère les propriétés statiques
    • ReflectionClass::getStaticPropertyValue — Récupère la valeur d'une propriété statique
    • ReflectionClass::hasConstant — Vérifie si une constante est définie
    • ReflectionClass::hasMethod — Vérifie si une méthode est définie
    • ReflectionClass::hasProperty — Vérifie si une propriété est définie
    • ReflectionClass::implementsInterface — Vérifie si une classe implémente une interface
    • ReflectionClass::inNamespace — Vérifie si une classe est définie dans un espace de noms
    • ReflectionClass::isAbstract — Vérifie si une classe est abstraite
    • ReflectionClass::isFinal — Vérifie si une classe est finale
    • ReflectionClass::isInstance — Vérifie si une classe est une instance d'une autre classe
    • ReflectionClass::isInstantiable — Vérifie si une classe est instanciable
    • ReflectionClass::isInterface — Vérifie si une classe est une interface
    • ReflectionClass::isInternal — Vérifie si une classe est une classe interne
    • ReflectionClass::isIterateable — Vérifie si la classe est itérable
    • ReflectionClass::isSubclassOf — Vérifie si la classe est une sous-classe
    • ReflectionClass::isUserDefined — Vérifie si une classe a été définie dans l'espace utilisateur
    • ReflectionClass::newInstance — Nouvelle instance
    • ReflectionClass::newInstanceArgs — Nouvelle instance
    • ReflectionClass::setStaticPropertyValue — Définit la valeur d'une propriété statiques
    • ReflectionClass::__toString — Crée une représentation textuelle
  • ReflectionExtension — La classe ReflectionExtension
    • ReflectionExtension::__clone — Clonage
    • ReflectionExtension::__construct — Construit un nouvel objet ReflectionExtension
    • ReflectionExtension::export — Exportation
    • ReflectionExtension::getClasses — Récupère les classes
    • ReflectionExtension::getClassNames — Récupère les noms des classes
    • ReflectionExtension::getConstants — Récupère les constantes
    • ReflectionExtension::getDependencies — Récupère les dépendances
    • ReflectionExtension::getFunctions — Récupère les fonctions d'une extension
    • ReflectionExtension::getINIEntries — Récupère les entrées ini de l'extension
    • ReflectionExtension::getName — Récupère le nom de l'extension
    • ReflectionExtension::getVersion — Récupère la version de l'extension
    • ReflectionExtension::info — Récupère des informations sur l'extension
    • ReflectionExtension::__toString — Récupère une représentation textuelle
  • ReflectionFunction — La classe ReflectionFunction
    • ReflectionFunction::__construct — Construit un nouvel objet ReflectionFunction
    • ReflectionFunction::export — Exporte une fonction
    • ReflectionFunction::invoke — Invoque une fonction
    • ReflectionFunction::invokeArgs — Invoque les arguments d'une fonction
    • ReflectionFunction::isDisabled — Vérifie si une fonction est désactivée
    • ReflectionFunction::__toString — Récupère une représentation textuelle
  • ReflectionFunctionAbstract — La classe ReflectionFunctionAbstract
    • ReflectionFunctionAbstract::__clone — Clone une fonction
    • ReflectionFunctionAbstract::getDocComment — Récupère un commentaire
    • ReflectionFunctionAbstract::getEndLine — Récupère le numéro de la dernière ligne
    • ReflectionFunctionAbstract::getExtension — Récupère les informations d'une extension
    • ReflectionFunctionAbstract::getExtensionName — Récupère le nom de l'extension
    • ReflectionFunctionAbstract::getFileName — Récupère le nom du fichier
    • ReflectionFunctionAbstract::getName — Récupère le nom d'une fonction
    • ReflectionFunctionAbstract::getNamespaceName — Récupère l'espace de noms
    • ReflectionFunctionAbstract::getNumberOfParameters — Récupère le nombre de paramètres
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Récupère le nombre de paramètres requis
    • ReflectionFunctionAbstract::getParameters — Récupère les paramètres
    • ReflectionFunctionAbstract::getShortName — Récupère le nom court d'une fonction
    • ReflectionFunctionAbstract::getStartLine — Récupère le numéro de ligne de départ
    • ReflectionFunctionAbstract::getStaticVariables — Récupère les variables statiques
    • ReflectionFunctionAbstract::inNamespace — Vérifie si une fonction est dans un espace de noms
    • ReflectionFunctionAbstract::isClosure — Vérifie si c'est une fermeture
    • ReflectionFunctionAbstract::isDeprecated — Vérifie si la fonction est obsolète
    • ReflectionFunctionAbstract::isInternal — Vérifie si la fonction est une fonction interne
    • ReflectionFunctionAbstract::isUserDefined — Vérifie si la fonction est définie dans l'espace utilisateur
    • ReflectionFunctionAbstract::returnsReference — Vérifie si la fonction retourne une référence
    • ReflectionFunctionAbstract::__toString — Récupère une représentation textuelle
  • ReflectionMethod — La classe ReflectionMethod
    • ReflectionMethod::__construct — Construit un nouvel objet ReflectionMethod
    • ReflectionMethod::export — Exportation
    • ReflectionMethod::getDeclaringClass — Récupère la déclaration de la classe
    • ReflectionMethod::getModifiers — Récupère les modificateurs
    • ReflectionMethod::getPrototype — Récupère le prototype
    • ReflectionMethod::invoke — Invoque
    • ReflectionMethod::invokeArgs — Invoque les arguments
    • ReflectionMethod::isAbstract — Vérifie si la méthode est abstraite
    • ReflectionMethod::isConstructor — Vérifie si la méthode est un constructeur
    • ReflectionMethod::isDestructor — Vérifie si la méthode est un destructeur
    • ReflectionMethod::isFinal — Vérifie si la méthode est finale
    • ReflectionMethod::isPrivate — Vérifie si la méthode est privée
    • ReflectionMethod::isProtected — Vérifie si la méthode est protégée
    • ReflectionMethod::isPublic — Vérifie si la méthode est publique
    • ReflectionMethod::isStatic — Vérifie si la méthode est statique
    • ReflectionMethod::setAccessible — Définit l'accessibilité de la méthode
    • ReflectionMethod::__toString — Récupère une représentation textuelle
  • ReflectionObject — La classe ReflectionObject
    • ReflectionObject::__construct — Construit un nouvel objet ReflectionObject
    • ReflectionObject::export — Exportation
  • ReflectionParameter — La classe ReflectionParameter
    • ReflectionParameter::allowsNull — Vérifie si la valeur NULL est autorisée comme valeur du paramètre
    • ReflectionParameter::__clone — Clonage
    • ReflectionParameter::__construct — Constructeur
    • ReflectionParameter::export — Exportation
    • ReflectionParameter::getClass — Récupère la classe
    • ReflectionParameter::getDeclaringClass — Récupère la classe déclarante
    • ReflectionParameter::getDeclaringFunction — Récupère la fonction déclarante
    • ReflectionParameter::getDefaultValue — Récupère la valeur par défaut du paramètre
    • ReflectionParameter::getName — Récupère le nom du paramètre
    • ReflectionParameter::getPosition — Récupère la position d'un paramètre
    • ReflectionParameter::isArray — Vérifie si le paramètre attend un tableau
    • ReflectionParameter::isDefaultValueAvailable — Vérifie si une valeur par défaut est disponible pour le paramètre
    • ReflectionParameter::isOptional — Vérifie si le paramètre est optionnel
    • ReflectionParameter::isPassedByReference — Vérifie si le paramètre est passé par référence
    • ReflectionParameter::__toString — Récupère une représentation textuelle
  • ReflectionProperty — La classe ReflectionProperty
    • ReflectionProperty::__clone — Clonage
    • ReflectionProperty::__construct — Construit un nouvel objet ReflectionProperty
    • ReflectionProperty::export — Exporte
    • ReflectionProperty::getDeclaringClass — Récupère la classe déclarante
    • ReflectionProperty::getDocComment — Récupère un commentaire
    • ReflectionProperty::getModifiers — Récupère les modificateurs
    • ReflectionProperty::getName — Récupère le nom de la proriété
    • ReflectionProperty::getValue — Récupère la valeur de la propriété
    • ReflectionProperty::isDefault — Vérifie si la propriété est celle par défaut
    • ReflectionProperty::isPrivate — Vérifie si la propriété est statique
    • ReflectionProperty::isProtected — Vérifie si la propriété est protégée
    • ReflectionProperty::isPublic — Vérifie si la propriété est publique
    • ReflectionProperty::isStatic — Vérifie si la propriété est statique
    • ReflectionProperty::setAccessible — Définit l'accessibilité de la propriété
    • ReflectionProperty::setValue — Définit la valeur de la propriété
    • ReflectionProperty::__toString — Récupère une représentation textuelle
  • Reflector — L'interface Reflector
    • Reflector::export — Export
    • Reflector::__toString — Conversion en chaîne de caractères
deaggregate
Introduction
Extensions relatives aux variables et aux types


Introduction

PHP 5 fournit une API Reflection complète qui permet de faire du reverse-engineer sur les classes, les interfaces, les fonctions, les méthodes et les extensions. De plus, l'API Reflection offre la possibilité de récupérer les commentaires des fonctions, des classes et des méthodes.

Notez que certaines parties de l'API interne ne fournissent pas le code nécessaire afin de faire fonctionner l'extension Reflection. I.e., une classe PHP interne peut manquer de données de réflection pour les propriétés. Ces quelques cas sont considérés comme des bogues, cependant, ils doivent être trouvés et corrigés.

Reflection
Installation/Configuration
Reflection


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Reflection


Constantes pré-définies

Chaque classe décrit ces propres constantes.

Types de ressources
Exemples
Reflection


Exemples

Plusieurs exemples existent dans la documentation Reflection, typiquement, dans la documentation __construct, pour chaque classe.

Exemple #1 Exemple avec Reflection depuis un Shell (un Terminale)

$ php --rf strlen
$ php --rc finfo
$ php --re json
$ php --ri dom

L'exemple ci-dessus va afficher quelque chose de similaire à :

Function [ <internal:Core> function strlen ] {

  - Parameters [1] {
    Parameter #0 [ <required> $str ]
  }
}

Class [ <internal:fileinfo> class finfo ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [4] {
    Method [ <internal:fileinfo, ctor> public method finfo ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $options ]
        Parameter #1 [ <optional> $arg ]
      }
    }

    Method [ <internal:fileinfo> public method set_flags ] {

      - Parameters [1] {
        Parameter #0 [ <required> $options ]
      }
    }

    Method [ <internal:fileinfo> public method file ] {

      - Parameters [3] {
        Parameter #0 [ <required> $filename ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }

    Method [ <internal:fileinfo> public method buffer ] {

      - Parameters [3] {
        Parameter #0 [ <required> $string ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }
  }
}

Extension [ <persistent> extension #23 json version 1.2.1 ] {

  - Constants [10] {
    Constant [ integer JSON_HEX_TAG ] { 1 }
    Constant [ integer JSON_HEX_AMP ] { 2 }
    Constant [ integer JSON_HEX_APOS ] { 4 }
    Constant [ integer JSON_HEX_QUOT ] { 8 }
    Constant [ integer JSON_FORCE_OBJECT ] { 16 }
    Constant [ integer JSON_ERROR_NONE ] { 0 }
    Constant [ integer JSON_ERROR_DEPTH ] { 1 }
    Constant [ integer JSON_ERROR_STATE_MISMATCH ] { 2 }
    Constant [ integer JSON_ERROR_CTRL_CHAR ] { 3 }
    Constant [ integer JSON_ERROR_SYNTAX ] { 4 }
  }

  - Functions {
    Function [ <internal:json> function json_encode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $value ]
        Parameter #1 [ <optional> $options ]
      }
    }
    Function [ <internal:json> function json_decode ] {

      - Parameters [3] {
        Parameter #0 [ <required> $json ]
        Parameter #1 [ <optional> $assoc ]
        Parameter #2 [ <optional> $depth ]
      }
    }
    Function [ <internal:json> function json_last_error ] {

      - Parameters [0] {
      }
    }
  }
}

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.7.3
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled
Constantes pré-définies
Étendre la classe
Reflection


Étendre la classe

Dans le cas où vous voulez créer une version spéciale de la classe interne (par exemple, pour créer une portion HTML mis en évidence lors de l'export, pour avoir un accès facile aux variables des membres au lieu des variables des méthodes, ou bien pour avoir des méthodes utiles), vous pouvez étendre la classe principale.

Exemple #2 Étendre les classes internes

<?php
/**
 * Mon classe Reflection_Method
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = array();

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility = Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Demo classe #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Demo classe #2
 *
 */
class U extends T {
    function x() {}
}

// Affichage des informations
var_dump(new My_Reflection_Method('U', 'x'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

object(My_Reflection_Method)#1 (3) {
  ["visibility"]=>
  array(1) {
    [0]=>
    string(6) "public"
  }
  ["name"]=>
  string(1) "x"
  ["class"]=>
  string(1) "U"
}
Attention

Si vous écrasez le constructeur, souvenez-vous d'appeler le constructeur parent avant d'insérer le moindre code. Si vous ne le faîtes pas, voici ce qui arrivera : Fatal error: Internal error: Failed to retrieve the reflection object

Exemples
Reflection
Reflection


La classe Reflection

Introduction

La classe reflection.

Synopsis de la classe

Reflection
Reflection {
/* Méthodes */
public static void export ( Reflector $reflector [, string $return = false ] )
public static array getModifierNames ( int $modifiers )
}

Sommaire

  • Reflection::export — Exportes
  • Reflection::getModifierNames — Récupère le nom d'un modificateur
Étendre la classe
Reflection::export
Reflection


Exportes

Reflection
Reflection::getModifierNames
Reflection
PHP Manual

Reflection::export

(PHP 5)

Reflection::export — Exportes

Description

public static void Reflection::export ( Reflector $reflector [, string $return = false ] )

Exportes un objet Reflection.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

reflector

La réflection à exporter.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Si le paramètre return est défini à TRUE, l'export sera retourné sous la forme d'une chaîne de caractères, sinon, NULL sera retourné.

Voir aussi

  • Reflection::getModifierNames - Récupère le nom d'un modificateur

Reflection
Reflection::getModifierNames
Reflection


Récupère le nom d'un modificateur

Reflection::export
ReflectionClass
Reflection
PHP Manual

Reflection::getModifierNames

(PHP 5)

Reflection::getModifierNames — Récupère le nom d'un modificateur

Description

public static array Reflection::getModifierNames ( int $modifiers )

Récupère le nom d'un modificateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

modifiers

Le modificateur à récupérer, sous forme numérique.

Valeurs de retour

Un tableau de noms de modificateurs.

Voir aussi

  • Reflection::export - Exportes

Reflection::export
ReflectionClass
Reflection


La classe ReflectionClass

Introduction

La classe ReflectionClass rapporte des informations sur une classe.

Synopsis de la classe

ReflectionClass
ReflectionClass implements Reflector {
/* Constantes */
const integer ReflectionClass::IS_IMPLICIT_ABSTRACT = 16 ;
const integer ReflectionClass::IS_EXPLICIT_ABSTRACT = 32 ;
const integer ReflectionClass::IS_FINAL = 64 ;
/* Propriétés */
public $name ;
/* Méthodes */
final private void __clone ( void )
__construct ( string $argument )
public static string export ( mixed $argument [, bool $return = false ] )
public mixed getConstant ( string $name )
public array getConstants ( void )
public object getConstructor ( void )
public array getDefaultProperties ( void )
public string getDocComment ( void )
public int getEndLine ( void )
public ReflectionExtension getExtension ( void )
public string getExtensionName ( void )
public string getFileName ( void )
public array getInterfaceNames ( void )
public array getInterfaces ( void )
public object getMethod ( string $name )
public array getMethods ([ string $filter ] )
public int getModifiers ( void )
public string getName ( void )
public string getNamespaceName ( void )
public object getParentClass ( void )
public array getProperties ([ int $filter ] )
public ReflectionProperty getProperty ( string $name )
public string getShortName ( void )
public int getStartLine ( void )
public array getStaticProperties ( void )
public mixed getStaticPropertyValue ( string $name [, string $default ] )
public bool hasConstant ( string $name )
public bool hasMethod ( string $name )
public bool hasProperty ( string $name )
public bool implementsInterface ( string $interface )
public bool inNamespace ( void )
public bool isAbstract ( void )
public bool isFinal ( void )
public bool isInstance ( object $object )
public bool isInstantiable ( void )
public bool isInterface ( void )
public bool isInternal ( void )
public bool isIterateable ( void )
public bool isSubclassOf ( string $class )
public bool isUserDefined ( void )
public object newInstance ( mixed $args [, mixed $... ] )
public object newInstanceArgs ([ array $args ] )
public void setStaticPropertyValue ( string $name , string $value )
public string __toString ( void )
}

Propriétés

name

Constantes pré-définies

Type de nœuds ReflectionClass

ReflectionClass::IS_IMPLICIT_ABSTRACT

ReflectionClass::IS_EXPLICIT_ABSTRACT

ReflectionClass::IS_FINAL

Sommaire

  • ReflectionClass::__clone — Clones un objet
  • ReflectionClass::__construct — Construit une ReflectionClass
  • ReflectionClass::export — Exporte une classe
  • ReflectionClass::getConstant — Récupère les constantes définies
  • ReflectionClass::getConstants — Récupère les constantes
  • ReflectionClass::getConstructor — Récupère le constructeur
  • ReflectionClass::getDefaultProperties — Récupère les propriétés par défaut
  • ReflectionClass::getDocComment — Récupère les commentaires
  • ReflectionClass::getEndLine — Récupère la fin d'une ligne
  • ReflectionClass::getExtension — Récupère des informations d'une extension
  • ReflectionClass::getExtensionName — Récupère le nom d'une extension
  • ReflectionClass::getFileName — Récupère un nom de fichier
  • ReflectionClass::getInterfaceNames — Récupère les noms des interfaces
  • ReflectionClass::getInterfaces — Récupère les interfaces
  • ReflectionClass::getMethod — Récupère un objet ReflectionMethod
  • ReflectionClass::getMethods — Récupère la liste des méthodes
  • ReflectionClass::getModifiers — Récupère les modificateurs
  • ReflectionClass::getName — Récupère le nom de la classe
  • ReflectionClass::getNamespaceName — Récupère l'espace de noms
  • ReflectionClass::getParentClass — Récupère la classe parente
  • ReflectionClass::getProperties — Récupère les propriétés
  • ReflectionClass::getProperty — Récupère une propriété
  • ReflectionClass::getShortName — Récupère le nom court d'une classe
  • ReflectionClass::getStartLine — Récupère le numéro de ligne de départ
  • ReflectionClass::getStaticProperties — Récupère les propriétés statiques
  • ReflectionClass::getStaticPropertyValue — Récupère la valeur d'une propriété statique
  • ReflectionClass::hasConstant — Vérifie si une constante est définie
  • ReflectionClass::hasMethod — Vérifie si une méthode est définie
  • ReflectionClass::hasProperty — Vérifie si une propriété est définie
  • ReflectionClass::implementsInterface — Vérifie si une classe implémente une interface
  • ReflectionClass::inNamespace — Vérifie si une classe est définie dans un espace de noms
  • ReflectionClass::isAbstract — Vérifie si une classe est abstraite
  • ReflectionClass::isFinal — Vérifie si une classe est finale
  • ReflectionClass::isInstance — Vérifie si une classe est une instance d'une autre classe
  • ReflectionClass::isInstantiable — Vérifie si une classe est instanciable
  • ReflectionClass::isInterface — Vérifie si une classe est une interface
  • ReflectionClass::isInternal — Vérifie si une classe est une classe interne
  • ReflectionClass::isIterateable — Vérifie si la classe est itérable
  • ReflectionClass::isSubclassOf — Vérifie si la classe est une sous-classe
  • ReflectionClass::isUserDefined — Vérifie si une classe a été définie dans l'espace utilisateur
  • ReflectionClass::newInstance — Nouvelle instance
  • ReflectionClass::newInstanceArgs — Nouvelle instance
  • ReflectionClass::setStaticPropertyValue — Définit la valeur d'une propriété statiques
  • ReflectionClass::__toString — Crée une représentation textuelle
Reflection::getModifierNames
ReflectionClass::__clone
Reflection


Clones un objet

ReflectionClass
ReflectionClass::__construct
ReflectionClass
PHP Manual

ReflectionClass::__clone

(PHP 5)

ReflectionClass::__clone — Clones un objet

Description

final private void ReflectionClass::__clone ( void )

Clones un objet.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ReflectionClass::__tostring - Crée une représentation textuelle
  • Le clonage d'objet

ReflectionClass
ReflectionClass::__construct
ReflectionClass


Construit une ReflectionClass

ReflectionClass::__clone
ReflectionClass::export
ReflectionClass
PHP Manual

ReflectionClass::__construct

(PHP 5)

ReflectionClass::__construct — Construit une ReflectionClass

Description

ReflectionClass::__construct ( string $argument )

Construit un nouvel objet ReflectionClass.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

argument

La classe à refléter.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Utilisation simple de ReflectionClass

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Voir aussi

  • ReflectionObject::__construct - Construit un nouvel objet ReflectionObject
  • Le constructeurs

ReflectionClass::__clone
ReflectionClass::export
ReflectionClass


Exporte une classe

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass
PHP Manual

ReflectionClass::export

(PHP 5)

ReflectionClass::export — Exporte une classe

Description

public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )

Exporte une classe reflétée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

argument

La réflection à exporter.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Si le paramètre return est défini à TRUE, l'export sera retourné sous la forme d'une chaîne de caractères, sinon, NULL sera retourné.

Voir aussi

  • ReflectionClass::getName - Récupère le nom de la classe

ReflectionClass::__construct
ReflectionClass::getConstant
ReflectionClass


Récupère les constantes définies

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass
PHP Manual

ReflectionClass::getConstant

(PHP 5)

ReflectionClass::getConstant — Récupère les constantes définies

Description

public mixed ReflectionClass::getConstant ( string $name )

Récupère les constantes définies.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

Valeurs de retour

Voir aussi

  • ReflectionClass::getConstants - Récupère les constantes

ReflectionClass::export
ReflectionClass::getConstants
ReflectionClass


Récupère les constantes

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass
PHP Manual

ReflectionClass::getConstants

(PHP 5)

ReflectionClass::getConstants — Récupère les constantes

Description

public array ReflectionClass::getConstants ( void )

Récupère les constantes définies d'une classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de constantes.

Voir aussi

  • ReflectionClass::getConstant - Récupère les constantes définies

ReflectionClass::getConstant
ReflectionClass::getConstructor
ReflectionClass


Récupère le constructeur

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass
PHP Manual

ReflectionClass::getConstructor

(PHP 5)

ReflectionClass::getConstructor — Récupère le constructeur

Description

public object ReflectionClass::getConstructor ( void )

Récupère le constructeur d'une classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionMethod.

Voir aussi

  • ReflectionClass::getName - Récupère le nom de la classe

ReflectionClass::getConstants
ReflectionClass::getDefaultProperties
ReflectionClass


Récupère les propriétés par défaut

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass
PHP Manual

ReflectionClass::getDefaultProperties

(PHP 5)

ReflectionClass::getDefaultProperties — Récupère les propriétés par défaut

Description

public array ReflectionClass::getDefaultProperties ( void )

Récupère les propriétés par défaut d'une classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau des propriétés par défaut.

Voir aussi

  • ReflectionClass::getProperties - Récupère les propriétés

ReflectionClass::getConstructor
ReflectionClass::getDocComment
ReflectionClass


Récupère les commentaires

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass
PHP Manual

ReflectionClass::getDocComment

(PHP 5 >= 5.1.0)

ReflectionClass::getDocComment — Récupère les commentaires

Description

public string ReflectionClass::getDocComment ( void )

Récupère les commentaires depuis une classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le commentaire, si il existe, FALSE sinon.

Exemples

Exemple #1 Exemple avec ReflectionClass::getDocComment

<?php
/**
* Une classe de test
*
* @param  foo bar
* @return baz
*/
class TestClass { }

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment())
?>

L'exemple ci-dessus va afficher :

string(55) "/**
* Une classe de test
*
* @param  foo bar
* @return baz
*/"

Voir aussi

  • ReflectionClass::getName - Récupère le nom de la classe

ReflectionClass::getDefaultProperties
ReflectionClass::getEndLine
ReflectionClass


Récupère la fin d'une ligne

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass
PHP Manual

ReflectionClass::getEndLine

(PHP 5)

ReflectionClass::getEndLine — Récupère la fin d'une ligne

Description

public int ReflectionClass::getEndLine ( void )

Récupère le numéro de la dernière ligne depuis une définition de classe, définie par l'utilisateur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le numéro de la dernière ligne depuis une définition de classe, définie par l'utilisateur, ou FALSE s'il est inconnu.

Exemples

Exemple #1 Exemple avec ReflectionClass::getEndLine

<?php
// Classe de test
class TestClass { }

$rc = new ReflectionClass('TestClass');

echo $rc->getEndLine();
?>

L'exemple ci-dessus va afficher :

3

Voir aussi

  • ReflectionClass::getStartLine - Récupère le numéro de ligne de départ

ReflectionClass::getDocComment
ReflectionClass::getExtension
ReflectionClass


Récupère des informations d'une extension

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass
PHP Manual

ReflectionClass::getExtension

(PHP 5)

ReflectionClass::getExtension — Récupère des informations d'une extension

Description

public ReflectionExtension ReflectionClass::getExtension ( void )

Récupère une extension de l'objet ReflectionExtension.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionExtension.

Voir aussi

  • ReflectionClass::getExtensionName - Récupère le nom d'une extension

ReflectionClass::getEndLine
ReflectionClass::getExtensionName
ReflectionClass


Récupère le nom d'une extension

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass
PHP Manual

ReflectionClass::getExtensionName

(PHP 5)

ReflectionClass::getExtensionName — Récupère le nom d'une extension

Description

public string ReflectionClass::getExtensionName ( void )

Récupère le nom d'une extension.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de l'extension.

Voir aussi

  • ReflectionClass::getExtension - Récupère des informations d'une extension

ReflectionClass::getExtension
ReflectionClass::getFileName
ReflectionClass


Récupère un nom de fichier

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass
PHP Manual

ReflectionClass::getFileName

(PHP 5)

ReflectionClass::getFileName — Récupère un nom de fichier

Description

public string ReflectionClass::getFileName ( void )

Récupère un nom de fichier.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom du fichier.

Voir aussi

  • ReflectionClass::getExtensionName - Récupère le nom d'une extension

ReflectionClass::getExtensionName
ReflectionClass::getInterfaceNames
ReflectionClass


Récupère les noms des interfaces

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass
PHP Manual

ReflectionClass::getInterfaceNames

(PHP 5)

ReflectionClass::getInterfaceNames — Récupère les noms des interfaces

Description

public array ReflectionClass::getInterfaceNames ( void )

Récupère les noms des interfaces.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau numérique dont les valeurs sont les noms des interfaces.

Exemples

Exemple #1 Exemple avec ReflectionClass::getInterfaceNames

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaceNames());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [0] => Foo
    [1] => Bar
)

Voir aussi

  • ReflectionClass::getInterfaces - Récupère les interfaces

ReflectionClass::getFileName
ReflectionClass::getInterfaces
ReflectionClass


Récupère les interfaces

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass
PHP Manual

ReflectionClass::getInterfaces

(PHP 5)

ReflectionClass::getInterfaces — Récupère les interfaces

Description

public array ReflectionClass::getInterfaces ( void )

Récupère les interfaces.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau associatif contenant les interfaces, dont les clés sont les noms des interfaces, et les valeurs, les objets ReflectionClass.

Exemples

Exemple #1 >Exemple avec ReflectionClass::getInterfaces

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaces());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
Array
(
    [Foo] => ReflectionClass Object
        (
            [name] => Foo
        )

    [Bar] => ReflectionClass Object
        (
            [name] => Bar
        )

)

Voir aussi

  • ReflectionClass::getInterfaceNames - Récupère les noms des interfaces

ReflectionClass::getInterfaceNames
ReflectionClass::getMethod
ReflectionClass


Récupère un objet ReflectionMethod

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass
PHP Manual

ReflectionClass::getMethod

(PHP 5)

ReflectionClass::getMethod — Récupère un objet ReflectionMethod

Description

public object ReflectionClass::getMethod ( string $name )

Récupère un objet ReflectionMethod sur une méthode.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

Le nom de la méthode à refléter.

Valeurs de retour

Un objet ReflectionMethod.

Voir aussi

  • ReflectionClass::getMethod

ReflectionClass::getInterfaces
ReflectionClass::getMethods
ReflectionClass


Récupère la liste des méthodes

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass
PHP Manual

ReflectionClass::getMethods

(PHP 5)

ReflectionClass::getMethods — Récupère la liste des méthodes

Description

public array ReflectionClass::getMethods ([ string $filter ] )

Récupère la liste des méthodes.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

filter

Une combinaison des constantes
ReflectionMethod::IS_STATIC,
ReflectionMethod::IS_PUBLIC,
ReflectionMethod::IS_PROTECTED,
ReflectionMethod::IS_PRIVATE,
ReflectionMethod::IS_ABSTRACT et
ReflectionMethod::IS_FINAL.

Valeurs de retour

Un tableau de méthodes.

Voir aussi

  • ReflectionClass::getMethod - Récupère un objet ReflectionMethod

ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass


Récupère les modificateurs

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass
PHP Manual

ReflectionClass::getModifiers

(PHP 5)

ReflectionClass::getModifiers — Récupère les modificateurs

Description

public int ReflectionClass::getModifiers ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionClass::getProperties - Récupère les propriétés

ReflectionClass::getMethods
ReflectionClass::getName
ReflectionClass


Récupère le nom de la classe

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass
PHP Manual

ReflectionClass::getName

(PHP 5)

ReflectionClass::getName — Récupère le nom de la classe

Description

public string ReflectionClass::getName ( void )

Récupère le nom de la classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de la classe.

Exemples

Exemple #1 Exemple avec ReflectionClass::getName

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

L'exemple ci-dessus va afficher :

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Voir aussi

  • ReflectionClass::getNamespaceName - Récupère l'espace de noms

ReflectionClass::getModifiers
ReflectionClass::getNamespaceName
ReflectionClass


Récupère l'espace de noms

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass
PHP Manual

ReflectionClass::getNamespaceName

(PHP 5 >= 5.3.0)

ReflectionClass::getNamespaceName — Récupère l'espace de noms

Description

public string ReflectionClass::getNamespaceName ( void )

Récupère l'espace de noms.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

L'espace de noms.

Exemples

Exemple #1 Exemple avec ReflectionClass::getNamespaceName

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

L'exemple ci-dessus va afficher :

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Voir aussi

  • ReflectionClass::getParentClass - Récupère la classe parente
  • Les espaces de noms

ReflectionClass::getName
ReflectionClass::getParentClass
ReflectionClass


Récupère la classe parente

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass
PHP Manual

ReflectionClass::getParentClass

(PHP 5)

ReflectionClass::getParentClass — Récupère la classe parente

Description

public object ReflectionClass::getParentClass ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionClass.

Voir aussi

  • ReflectionClass::__construct - Construit une ReflectionClass

ReflectionClass::getNamespaceName
ReflectionClass::getProperties
ReflectionClass


Récupère les propriétés

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass
PHP Manual

ReflectionClass::getProperties

(PHP 5)

ReflectionClass::getProperties — Récupère les propriétés

Description

public array ReflectionClass::getProperties ([ int $filter ] )

Récupère les propriétés reflétées.

Liste de paramètres

filter

Le filtre, optionnel, pour filtrer les types de propriiétés désirées. Ce filtre est configuré en utilisant les constantes ReflectionProperty, et par défaut, tous les types de propriétés sont retournés.

Valeurs de retour

Un tableau d'objets ReflectionProperty.

Exemples

Exemple #1 Exemple avec ReflectionClass::getProperties()

Cet exemple montre l'utilisation du paramètre optionnel filter, qui permet ici de filtrer les propriétés privées.

<?php
class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props   = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);

foreach ($props as $prop) {
    print $prop->getName() . "\n";
}

var_dump($props);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}

Voir aussi

  • ReflectionClass::getProperty - Récupère une propriété
  • ReflectionProperty
  • Les constantes ReflectionProperty

ReflectionClass::getParentClass
ReflectionClass::getProperty
ReflectionClass


Récupère une propriété

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass
PHP Manual

ReflectionClass::getProperty

(PHP 5)

ReflectionClass::getProperty — Récupère une propriété

Description

public ReflectionProperty ReflectionClass::getProperty ( string $name )

Récupère une propriété.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

Le nom de la propriété.

Valeurs de retour

Un objet ReflectionProperty.

Voir aussi

  • ReflectionClass::getProperties - Récupère les propriétés

ReflectionClass::getProperties
ReflectionClass::getShortName
ReflectionClass


Récupère le nom court d'une classe

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass
PHP Manual

ReflectionClass::getShortName

(PHP 5 >= 5.3.0)

ReflectionClass::getShortName — Récupère le nom court d'une classe

Description

public string ReflectionClass::getShortName ( void )

Récupère le nom court d'une classe, c'est-à-dire, la partie sans l'espace de noms.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom court de la classe.

Exemples

Exemple #1 Exemple avec ReflectionClass::getShortName

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

L'exemple ci-dessus va afficher :

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Voir aussi

  • ReflectionClass::getName - Récupère le nom de la classe

ReflectionClass::getProperty
ReflectionClass::getStartLine
ReflectionClass


Récupère le numéro de ligne de départ

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass
PHP Manual

ReflectionClass::getStartLine

(PHP 5)

ReflectionClass::getStartLine — Récupère le numéro de ligne de départ

Description

public int ReflectionClass::getStartLine ( void )

Récupère le numéro de ligne de départ.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le numéro de ligne de départ, sous la forme d'un entier.

Voir aussi

  • ReflectionClass::getEndLine - Récupère la fin d'une ligne

ReflectionClass::getShortName
ReflectionClass::getStaticProperties
ReflectionClass


Récupère les propriétés statiques

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::getStaticProperties

(PHP 5)

ReflectionClass::getStaticProperties — Récupère les propriétés statiques

Description

public array ReflectionClass::getStaticProperties ( void )

Récupère les propriétés statiques.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les propriétés statiques, sous la forme d'un tableau.

Voir aussi

  • ReflectionClass::getStaticPropertyValue - Récupère la valeur d'une propriété statique
  • ReflectionClass::setStaticPropertyValue - Définit la valeur d'une propriété statiques

ReflectionClass::getStartLine
ReflectionClass::getStaticPropertyValue
ReflectionClass


Récupère la valeur d'une propriété statique

ReflectionClass::getStaticProperties
ReflectionClass::hasConstant
ReflectionClass
PHP Manual

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::getStaticPropertyValue — Récupère la valeur d'une propriété statique

Description

public mixed ReflectionClass::getStaticPropertyValue ( string $name [, string $default ] )

Récupère la valeur d'une propriété statique.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

default

Valeurs de retour

Voir aussi

  • ReflectionClass::getStaticProperties - Récupère les propriétés statiques
  • ReflectionClass::setStaticPropertyValue - Définit la valeur d'une propriété statiques

ReflectionClass::getStaticProperties
ReflectionClass::hasConstant
ReflectionClass


Vérifie si une constante est définie

ReflectionClass::getStaticPropertyValue
ReflectionClass::hasMethod
ReflectionClass
PHP Manual

ReflectionClass::hasConstant

(PHP 5 >= 5.1.0)

ReflectionClass::hasConstant — Vérifie si une constante est définie

Description

public bool ReflectionClass::hasConstant ( string $name )

Vérifie si une constante spécifique est définie dans une classe.

Liste de paramètres

name

Nom de la constante à vérifier.

Valeurs de retour

TRUE si la constante est définie, FALSE sinon.

Exemples

Exemple #1 Exemple avec ReflectionClass::hasConstant

<?php
class Foo {
    const c1 = 1;
}

$class = new ReflectionClass("Foo");

var_dump($class->hasConstant("c1"));
var_dump($class->hasConstant("c2"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)

Voir aussi

  • ReflectionClass::hasMethod - Vérifie si une méthode est définie
  • ReflectionClass::hasProperty - Vérifie si une propriété est définie

ReflectionClass::getStaticPropertyValue
ReflectionClass::hasMethod
ReflectionClass


Vérifie si une méthode est définie

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass
PHP Manual

ReflectionClass::hasMethod

(PHP 5 >= 5.1.0)

ReflectionClass::hasMethod — Vérifie si une méthode est définie

Description

public bool ReflectionClass::hasMethod ( string $name )

Vérifie si une méthode spécifique est définie dans une classe.

Liste de paramètres

name

Nom de la méthode à vérifier.

Valeurs de retour

TRUE si la méthode est définie, FALSE sinon.

Exemples

Exemple #1 Exemple avec ReflectionClass::hasMethod

<?php
Class C {
    public function publicFoo() {
        return true;
    }

    protected function protectedFoo() {
        return true;
    }

    private function privateFoo() {
        return true;
    }

    static function staticFoo() {
        return true;
    }
}

$rc = new ReflectionClass("C");

var_dump($rc->hasMethod('publicFoo'));

var_dump($rc->hasMethod('protectedFoo'));

var_dump($rc->hasMethod('privateFoo'));

var_dump($rc->hasMethod('staticFoo'));

// C should not have method bar
var_dump($rc->hasMethod('bar'));

// Method names are case insensitive
var_dump($rc->hasMethod('PUBLICfOO'));
?>

L'exemple ci-dessus va afficher :

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

Voir aussi

  • ReflectionClass::hasConstant - Vérifie si une constante est définie
  • ReflectionClass::hasProperty - Vérifie si une propriété est définie

ReflectionClass::hasConstant
ReflectionClass::hasProperty
ReflectionClass


Vérifie si une propriété est définie

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass
PHP Manual

ReflectionClass::hasProperty

(PHP 5 >= 5.1.0)

ReflectionClass::hasProperty — Vérifie si une propriété est définie

Description

public bool ReflectionClass::hasProperty ( string $name )

Vérifie si la propriété spécifiée est définie.

Liste de paramètres

name

Le nom de la propriété à vérifier.

Valeurs de retour

TRUE si la propriété est définie, FALSE sinon.

Exemples

Exemple #1 Exemple avec ReflectionClass::hasProperty

<?php
class Foo {
    public    $p1;
    protected $p2;
    private   $p3;

}

$obj = new ReflectionObject(new Foo());

var_dump($obj->hasProperty("p1"));
var_dump($obj->hasProperty("p2"));
var_dump($obj->hasProperty("p3"));
var_dump($obj->hasProperty("p4"));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(true)
bool(true)
bool(false)

Voir aussi

  • ReflectionClass::hasConstant - Vérifie si une constante est définie
  • ReflectionClass::hasMethod - Vérifie si une méthode est définie

ReflectionClass::hasMethod
ReflectionClass::implementsInterface
ReflectionClass


Vérifie si une classe implémente une interface

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass
PHP Manual

ReflectionClass::implementsInterface

(PHP 5)

ReflectionClass::implementsInterface — Vérifie si une classe implémente une interface

Description

public bool ReflectionClass::implementsInterface ( string $interface )

Vérifie si une classe implémente une interface.

Liste de paramètres

interface

Le nom de l'interface.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ReflectionClass::isInterface - Vérifie si une classe est une interface
  • interface_exists() - Vérifie si une interface a été définie
  • Les interfaces

ReflectionClass::hasProperty
ReflectionClass::inNamespace
ReflectionClass


Vérifie si une classe est définie dans un espace de noms

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass
PHP Manual

ReflectionClass::inNamespace

(PHP 5 >= 5.3.0)

ReflectionClass::inNamespace — Vérifie si une classe est définie dans un espace de noms

Description

public bool ReflectionClass::inNamespace ( void )

Vérifie si une classe est définie dans un espace de noms.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ReflectionClass::inNamespace

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

L'exemple ci-dessus va afficher :

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Voir aussi

  • ReflectionClass::getNamespaceName - Récupère l'espace de noms
  • Les espaces de noms PHP

ReflectionClass::implementsInterface
ReflectionClass::isAbstract
ReflectionClass


Vérifie si une classe est abstraite

ReflectionClass::inNamespace
ReflectionClass::isFinal
ReflectionClass
PHP Manual

ReflectionClass::isAbstract

(PHP 5)

ReflectionClass::isAbstract — Vérifie si une classe est abstraite

Description

public bool ReflectionClass::isAbstract ( void )

Vérifie si une classe est abstraite.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ReflectionClass::isAbstract

<?php
class          TestClass { }
abstract class TestAbstractClass { }

$testClass     = new ReflectionClass('TestClass');
$abstractClass = new ReflectionClass('TestAbstractClass');

var_dump($testClass->isAbstract());
var_dump($abstractClass->isAbstract());
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • ReflectionClass::isInterface - Vérifie si une classe est une interface
  • L'abstraction de classe

ReflectionClass::inNamespace
ReflectionClass::isFinal
ReflectionClass


Vérifie si une classe est finale

ReflectionClass::isAbstract
ReflectionClass::isInstance
ReflectionClass
PHP Manual

ReflectionClass::isFinal

(PHP 5)

ReflectionClass::isFinal — Vérifie si une classe est finale

Description

public bool ReflectionClass::isFinal ( void )

Vérifie si une classe est finale.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ReflectionClass::isAbstract

<?php
class       TestClass { }
final class TestFinalClass { }

$normalClass = new ReflectionClass('TestClass');
$finalClass  = new ReflectionClass('TestFinalClass');

var_dump($normalClass->isFinal());
var_dump($finalClass->isFinal());

?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)

Voir aussi

  • ReflectionClass::isAbstract - Vérifie si une classe est abstraite
  • Mot clé Final

ReflectionClass::isAbstract
ReflectionClass::isInstance
ReflectionClass


Vérifie si une classe est une instance d'une autre classe

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass
PHP Manual

ReflectionClass::isInstance

(PHP 5)

ReflectionClass::isInstance — Vérifie si une classe est une instance d'une autre classe

Description

public bool ReflectionClass::isInstance ( object $object )

Vérifie si une classe est une instance d'une autre classe.

Liste de paramètres

object

L'objet utilisé pour comparer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ReflectionClass::isInstance

<?php
// Exemple d'utilisation
$class = new ReflectionClass('Foo');

if ($class->isInstance($arg)) {
    echo "Oui";
}

// Équivalent à
if ($arg instanceof Foo) {
    echo "Oui";
}

// Équivalent à
if (is_a($arg, 'Foo')) {
    echo "Oui";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Oui
Oui
Oui

Voir aussi

  • ReflectionClass::isInterface - Vérifie si une classe est une interface
  • Opérateurs de types (instanceof)
  • Les interfaces
  • is_a() - Vérifie si l'objet fait parti d'une classe ou a cette classe comme parents

ReflectionClass::isFinal
ReflectionClass::isInstantiable
ReflectionClass


Vérifie si une classe est instanciable

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass
PHP Manual

ReflectionClass::isInstantiable

(PHP 5)

ReflectionClass::isInstantiable — Vérifie si une classe est instanciable

Description

public bool ReflectionClass::isInstantiable ( void )

Vérifie si une classe est instanciable.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ReflectionClass::isInstantiable

<?php
class C { }

interface iface {
    function f1();
}

class ifaceImpl implements iface {
    function f1() {}
}

abstract class abstractClass {
    function f1() { }
    abstract function f2();
}

class D extends abstractClass {
    function f2() { }
}

$classes = array("C", "iface", "ifaceImpl", "abstractClass", "D");

foreach($classes  as $class ) {
    $reflectionClass = new ReflectionClass($class);
    echo "Est-ce que la classe $class est instanciable  ?  ";
    var_dump($reflectionClass->IsInstantiable());
}

?>

L'exemple ci-dessus va afficher :

Est-ce que la classe C est instanciable  ?  bool(true)
Est-ce que la classe iface est instanciable  ?  bool(false)
Est-ce que la classe ifaceImpl est instanciable  ?  bool(true)
Est-ce que la classe abstractClass est instanciable  ?  bool(false)
Est-ce que la classe D est instanciable  ?  bool(true)

Voir aussi

  • ReflectionClass::isInstance - Vérifie si une classe est une instance d'une autre classe

ReflectionClass::isInstance
ReflectionClass::isInterface
ReflectionClass


Vérifie si une classe est une interface

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass
PHP Manual

ReflectionClass::isInterface

(PHP 5)

ReflectionClass::isInterface — Vérifie si une classe est une interface

Description

public bool ReflectionClass::isInterface ( void )

Vérifie si une classe est une interface.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ReflectionClass::isInstance - Vérifie si une classe est une instance d'une autre classe

ReflectionClass::isInstantiable
ReflectionClass::isInternal
ReflectionClass


Vérifie si une classe est une classe interne

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass
PHP Manual

ReflectionClass::isInternal

(PHP 5)

ReflectionClass::isInternal — Vérifie si une classe est une classe interne

Description

public bool ReflectionClass::isInternal ( void )

Vérifie si une classe est une classe interne, plutôt qu'une classe définie dans l'espace utilisateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ReflectionClass::isUserDefined - Vérifie si une classe a été définie dans l'espace utilisateur

ReflectionClass::isInterface
ReflectionClass::isIterateable
ReflectionClass


Vérifie si la classe est itérable

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass
PHP Manual

ReflectionClass::isIterateable

(PHP 5)

ReflectionClass::isIterateable — Vérifie si la classe est itérable

Description

public bool ReflectionClass::isIterateable ( void )

Vérifie si la classe est itérable.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec ReflectionClass::isIterateable

<?php

class IteratorClass implements Iterator {
    public function __construct() { }
    public function key() { }
    public function current() { }
    function next() { }
    function valid() { }
    function rewind() { }
}
class DerivedClass extends IteratorClass { }
class NonIterator { }

function dump_iterateable($class) {
    $reflection = new ReflectionClass($class);
    var_dump($reflection->isIterateable());
}

$classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");

foreach ($classes as $class) {
    echo "Est-ce que la classe $class est itérable ? ";
    dump_iterateable($class);
}
?>

L'exemple ci-dessus va afficher :

Est-ce que la classe ArrayObject est itérable ? bool(true)
Est-ce que la classe IteratorClass est itérable ? bool(true)
Est-ce que la classe DerivedClass est itérable ? bool(true)
Est-ce que la classe NonIterator est itérable ? bool(false)

Voir aussi

  • ReflectionClass::__construct - Construit une ReflectionClass

ReflectionClass::isInternal
ReflectionClass::isSubclassOf
ReflectionClass


Vérifie si la classe est une sous-classe

ReflectionClass::isIterateable
ReflectionClass::isUserDefined
ReflectionClass
PHP Manual

ReflectionClass::isSubclassOf

(PHP 5)

ReflectionClass::isSubclassOf — Vérifie si la classe est une sous-classe

Description

public bool ReflectionClass::isSubclassOf ( string $class )

Vérifie si la classe est une sous-classe de la classe spécifiée.

Liste de paramètres

class

Nom de la classe à vérifier.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ReflectionClass::isInterface - Vérifie si une classe est une interface
  • is_subclass_of() - Détermine si un objet est une sous-classe
  • get_parent_class() - Retourne le nom de la classe d'un objet

ReflectionClass::isIterateable
ReflectionClass::isUserDefined
ReflectionClass


Vérifie si une classe a été définie dans l'espace utilisateur

ReflectionClass::isSubclassOf
ReflectionClass::newInstance
ReflectionClass
PHP Manual

ReflectionClass::isUserDefined

(PHP 5)

ReflectionClass::isUserDefined — Vérifie si une classe a été définie dans l'espace utilisateur

Description

public bool ReflectionClass::isUserDefined ( void )

Vérifie si une classe a été définie dans l'espace utilisateur, plutôt qu'en interne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • ReflectionClass::isInternal - Vérifie si une classe est une classe interne

ReflectionClass::isSubclassOf
ReflectionClass::newInstance
ReflectionClass


Nouvelle instance

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass
PHP Manual

ReflectionClass::newInstance

(PHP 5)

ReflectionClass::newInstance — Nouvelle instance

Description

public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )

Nouvelle instance.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

args

Accepte un nombre variable d'arguments passés à la fonction, comme pour la fonction call_user_func().

Valeurs de retour

Voir aussi

  • ReflectionClass::newInstanceArgs - Nouvelle instance

ReflectionClass::isUserDefined
ReflectionClass::newInstanceArgs
ReflectionClass


Nouvelle instance

ReflectionClass::newInstance
ReflectionClass::setStaticPropertyValue
ReflectionClass
PHP Manual

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3)

ReflectionClass::newInstanceArgs — Nouvelle instance

Description

public object ReflectionClass::newInstanceArgs ([ array $args ] )

Nouvelle instance.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

args

Valeurs de retour

Voir aussi

  • ReflectionClass::newInstance - Nouvelle instance

ReflectionClass::newInstance
ReflectionClass::setStaticPropertyValue
ReflectionClass


Définit la valeur d'une propriété statiques

ReflectionClass::newInstanceArgs
ReflectionClass::__toString
ReflectionClass
PHP Manual

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::setStaticPropertyValue — Définit la valeur d'une propriété statiques

Description

public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )

Définit la valeur d'une propriété statiques.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

Le nom de la propriété.

value

La nouvelle valeur pour la propriété.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ReflectionClass::getStaticPropertyValue - Récupère la valeur d'une propriété statique

ReflectionClass::newInstanceArgs
ReflectionClass::__toString
ReflectionClass


Crée une représentation textuelle

ReflectionClass::setStaticPropertyValue
ReflectionExtension
ReflectionClass
PHP Manual

ReflectionClass::__toString

(PHP 5)

ReflectionClass::__toString — Crée une représentation textuelle

Description

public string ReflectionClass::__toString ( void )

Crée une représentation textuelle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionClass::export - Exporte une classe
  • __toString

ReflectionClass::setStaticPropertyValue
ReflectionExtension
ReflectionClass


La classe ReflectionExtension

Introduction

La classe ReflectionExtension rapporte des informations sur une extension.

Synopsis de la classe

ReflectionExtension
ReflectionExtension implements Reflector {
/* Propriétés */
public $name ;
/* Méthodes */
final private void __clone ( void )
__construct ( string $name )
public static string export ( string $name [, string $return = false ] )
public array getClasses ( void )
public array getClassNames ( void )
public array getConstants ( void )
public array getDependencies ( void )
public array getFunctions ( void )
public array getINIEntries ( void )
public string getName ( void )
public string getVersion ( void )
public string info ( void )
public string __toString ( void )
}

Propriétés

name

Nom de l'extension, identique à l'appel de la méthode ReflectionExtension::getName

Sommaire

  • ReflectionExtension::__clone — Clonage
  • ReflectionExtension::__construct — Construit un nouvel objet ReflectionExtension
  • ReflectionExtension::export — Exportation
  • ReflectionExtension::getClasses — Récupère les classes
  • ReflectionExtension::getClassNames — Récupère les noms des classes
  • ReflectionExtension::getConstants — Récupère les constantes
  • ReflectionExtension::getDependencies — Récupère les dépendances
  • ReflectionExtension::getFunctions — Récupère les fonctions d'une extension
  • ReflectionExtension::getINIEntries — Récupère les entrées ini de l'extension
  • ReflectionExtension::getName — Récupère le nom de l'extension
  • ReflectionExtension::getVersion — Récupère la version de l'extension
  • ReflectionExtension::info — Récupère des informations sur l'extension
  • ReflectionExtension::__toString — Récupère une représentation textuelle
ReflectionClass::__toString
ReflectionExtension::__clone
Reflection


Clonage

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension
PHP Manual

ReflectionExtension::__clone

(PHP 5)

ReflectionExtension::__clone — Clonage

Description

final private void ReflectionExtension::__clone ( void )

La méthode clone empêche un objet d'être cloné. Les objets de réflexion ne peuvent être clonés.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur retournée, une erreur sera émise lors de l'appel à cette méthode.

Voir aussi

  • ReflectionExtension::__construct - Construit un nouvel objet ReflectionExtension
  • Le clonage d'objets

ReflectionExtension
ReflectionExtension::__construct
ReflectionExtension


Construit un nouvel objet ReflectionExtension

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension
PHP Manual

ReflectionExtension::__construct

(PHP 5)

ReflectionExtension::__construct — Construit un nouvel objet ReflectionExtension

Description

ReflectionExtension::__construct ( string $name )

Construit un nouvel objet ReflectionExtension.

Liste de paramètres

name

Nom de l'extension.

Valeurs de retour

Un nouvel objet ReflectionExtension.

Exemples

Exemple #1 exemple de ReflectionExtension

<?php
$ext = new ReflectionExtension('Reflection');

printf('Extension: %s (version: %s)', $ext->getName(), $ext->getVersion());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Extension: Reflection (version: $Revision: 300003 $)

Voir aussi

  • ReflectionExtension::info - Récupère des informations sur l'extension
  • Les constructeurs

ReflectionExtension::__clone
ReflectionExtension::export
ReflectionExtension


Exportation

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension
PHP Manual

ReflectionExtension::export

(PHP 5)

ReflectionExtension::export — Exportation

Description

public static string ReflectionExtension::export ( string $name [, string $return = false ] )

Exporte une extension reflétée. Le format de retour de cette fonction est similaire à celui du CLI appelé avec l'option --re [extension].

Liste de paramètres

name

La réflection à exporter.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Si le paramètre return est défini à TRUE, l'export sera retourné sous la forme d'une chaîne de caractères, sinon, NULL sera retourné.

Voir aussi

  • ReflectionExtension::info - Récupère des informations sur l'extension

ReflectionExtension::__construct
ReflectionExtension::getClasses
ReflectionExtension


Récupère les classes

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension
PHP Manual

ReflectionExtension::getClasses

(PHP 5)

ReflectionExtension::getClasses — Récupère les classes

Description

public array ReflectionExtension::getClasses ( void )

Récupère une liste des classes d'une extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau d'objets ReflectionClass, un par classes définies dans l'extension. Si aucune classe n'est définie, un tableau vide sera retourné.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getClasses

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClasses());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  ["XMLWriter"]=>
  &object(ReflectionClass)#2 (1) {
    ["name"]=>
    string(9) "XMLWriter"
  }
}

Voir aussi

  • ReflectionExtension::getClassNames - Récupère les noms des classes

ReflectionExtension::export
ReflectionExtension::getClassNames
ReflectionExtension


Récupère les noms des classes

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension
PHP Manual

ReflectionExtension::getClassNames

(PHP 5)

ReflectionExtension::getClassNames — Récupère les noms des classes

Description

public array ReflectionExtension::getClassNames ( void )

Récupère une liste des noms de classes définies dans l'extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de noms de classes définies dans l'extension. Si aucune classe n'est définie, un tableau vide sera retourné.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getClassNames

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClassNames());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(1) {
  [0]=>
  string(9) "XMLWriter"
}

Voir aussi

  • ReflectionExtension::getClasses - Récupère les classes
  • ReflectionExtension::getName - Récupère le nom de l'extension

ReflectionExtension::getClasses
ReflectionExtension::getConstants
ReflectionExtension


Récupère les constantes

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension
PHP Manual

ReflectionExtension::getConstants

(PHP 5)

ReflectionExtension::getConstants — Récupère les constantes

Description

public array ReflectionExtension::getConstants ( void )

Récupère les constantes d'une extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau associatif dont les clés sont les noms des constantes.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getConstants

<?php
$ext = new ReflectionExtension('DOM');

print_r($ext->getConstants());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [XML_ELEMENT_NODE] => 1
    [XML_ATTRIBUTE_NODE] => 2
    [XML_TEXT_NODE] => 3
    [XML_CDATA_SECTION_NODE] => 4
    [XML_ENTITY_REF_NODE] => 5
    [XML_ENTITY_NODE] => 6
    [XML_PI_NODE] => 7
    [XML_COMMENT_NODE] => 8
    [XML_DOCUMENT_NODE] => 9
    [XML_DOCUMENT_TYPE_NODE] => 10
    [XML_DOCUMENT_FRAG_NODE] => 11
    [XML_NOTATION_NODE] => 12
    [XML_HTML_DOCUMENT_NODE] => 13
    [XML_DTD_NODE] => 14
    [XML_ELEMENT_DECL_NODE] => 15
    [XML_ATTRIBUTE_DECL_NODE] => 16
    [XML_ENTITY_DECL_NODE] => 17
    [XML_NAMESPACE_DECL_NODE] => 18
    [XML_LOCAL_NAMESPACE] => 18
    [XML_ATTRIBUTE_CDATA] => 1
    [XML_ATTRIBUTE_ID] => 2
    [XML_ATTRIBUTE_IDREF] => 3
    [XML_ATTRIBUTE_IDREFS] => 4
    [XML_ATTRIBUTE_ENTITY] => 6
    [XML_ATTRIBUTE_NMTOKEN] => 7
    [XML_ATTRIBUTE_NMTOKENS] => 8
    [XML_ATTRIBUTE_ENUMERATION] => 9
    [XML_ATTRIBUTE_NOTATION] => 10
    [DOM_PHP_ERR] => 0
    [DOM_INDEX_SIZE_ERR] => 1
    [DOMSTRING_SIZE_ERR] => 2
    [DOM_HIERARCHY_REQUEST_ERR] => 3
    [DOM_WRONG_DOCUMENT_ERR] => 4
    [DOM_INVALID_CHARACTER_ERR] => 5
    [DOM_NO_DATA_ALLOWED_ERR] => 6
    [DOM_NO_MODIFICATION_ALLOWED_ERR] => 7
    [DOM_NOT_FOUND_ERR] => 8
    [DOM_NOT_SUPPORTED_ERR] => 9
    [DOM_INUSE_ATTRIBUTE_ERR] => 10
    [DOM_INVALID_STATE_ERR] => 11
    [DOM_SYNTAX_ERR] => 12
    [DOM_INVALID_MODIFICATION_ERR] => 13
    [DOM_NAMESPACE_ERR] => 14
    [DOM_INVALID_ACCESS_ERR] => 15
    [DOM_VALIDATION_ERR] => 16
)

Voir aussi

  • ReflectionExtension::getINIEntries - Récupère les entrées ini de l'extension

ReflectionExtension::getClassNames
ReflectionExtension::getDependencies
ReflectionExtension


Récupère les dépendances

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension
PHP Manual

ReflectionExtension::getDependencies

(PHP 5)

ReflectionExtension::getDependencies — Récupère les dépendances

Description

public array ReflectionExtension::getDependencies ( void )

Récupère les dépendances, en listant à la fois les dépendances requises, mais aussi les dépendances en conflits.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau associatif dont les clés sont les dépendances et comme valeurs, soit Required, Optional ou Conflicts.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getDependencies

<?php
$dom = new ReflectionExtension('dom');

print_r($dom->getDependencies());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [libxml] => Required
    [domxml] => Conflicts
)

Voir aussi

  • ReflectionClass::getVersion

ReflectionExtension::getConstants
ReflectionExtension::getFunctions
ReflectionExtension


Récupère les fonctions d'une extension

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension
PHP Manual

ReflectionExtension::getFunctions

(PHP 5)

ReflectionExtension::getFunctions — Récupère les fonctions d'une extension

Description

public array ReflectionExtension::getFunctions ( void )

Récupère les fonctions d'une extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau associatif d'objets ReflectionFunction, pour chaque fonction définie dans l'extension, dont les clés sont les noms des fonctions. Si aucune fonction n'est définie, un tableau vide sera retourné.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getFunctions

<?php
$dom = new ReflectionExtension('SimpleXML');

print_r($dom->getFunctions());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [simplexml_load_file] => ReflectionFunction Object
        (
            [name] => simplexml_load_file
        )

    [simplexml_load_string] => ReflectionFunction Object
        (
            [name] => simplexml_load_string
        )

    [simplexml_import_dom] => ReflectionFunction Object
        (
            [name] => simplexml_import_dom
        )

)

Voir aussi

  • ReflectionExtension::getClasses - Récupère les classes

ReflectionExtension::getDependencies
ReflectionExtension::getINIEntries
ReflectionExtension


Récupère les entrées ini de l'extension

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension
PHP Manual

ReflectionExtension::getINIEntries

(PHP 5)

ReflectionExtension::getINIEntries — Récupère les entrées ini de l'extension

Description

public array ReflectionExtension::getINIEntries ( void )

Récupère les entrées ini de l'extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau associatif dont les clés sont les entrées ini, et les valeurs, les contenus de ces entrées.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getINIEntries

<?php
$ext = new ReflectionExtension('mysql');

print_r($ext->getINIEntries());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [mysql.allow_persistent] => 1
    [mysql.max_persistent] => -1
    [mysql.max_links] => -1
    [mysql.default_host] =>
    [mysql.default_user] =>
    [mysql.default_password] =>
    [mysql.default_port] =>
    [mysql.default_socket] =>
    [mysql.connect_timeout] => 60
    [mysql.trace_mode] =>
    [mysql.allow_local_infile] => 1
    [mysql.cache_size] => 2000
)

Voir aussi

  • ReflectionExtension::getConstants - Récupère les constantes

ReflectionExtension::getFunctions
ReflectionExtension::getName
ReflectionExtension


Récupère le nom de l'extension

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension
PHP Manual

ReflectionExtension::getName

(PHP 5)

ReflectionExtension::getName — Récupère le nom de l'extension

Description

public string ReflectionExtension::getName ( void )

Récupère le nom de l'extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de l'extension.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getName

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getName());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(6) "mysqli"

Voir aussi

  • ReflectionExtension::getClassNames - Récupère les noms des classes

ReflectionExtension::getINIEntries
ReflectionExtension::getVersion
ReflectionExtension


Récupère la version de l'extension

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension
PHP Manual

ReflectionExtension::getVersion

(PHP 5)

ReflectionExtension::getVersion — Récupère la version de l'extension

Description

public string ReflectionExtension::getVersion ( void )

Récupère la version de l'extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La version de l'extension.

Exemples

Exemple #1 Exemple avec ReflectionExtension::getVersion

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getVersion());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(3) "0.1"

Voir aussi

  • ReflectionExtension::info - Récupère des informations sur l'extension

ReflectionExtension::getName
ReflectionExtension::info
ReflectionExtension


Récupère des informations sur l'extension

ReflectionExtension::getVersion
ReflectionExtension::__toString
ReflectionExtension
PHP Manual

ReflectionExtension::info

(PHP 5)

ReflectionExtension::info — Récupère des informations sur l'extension

Description

public string ReflectionExtension::info ( void )

Récupère des informations sur l'extension.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Informations sur l'extension.

Exemples

Exemple #1 Exemple avec ReflectionExtension::info

<?php
$ext = new ReflectionExtension('mysqli');
print_r($ext->info());
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.5-dev - 081106 - $Revision: 293923 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Persistent cache => enabled
put_hits => 0
put_misses => 0
get_hits => 0
get_misses => 0
size => 2000
free_items => 2000
references => 2

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => no value => no value
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On
mysqli.cache_size => 2000 => 2000
NULL

Voir aussi

  • ReflectionExtension::getName - Récupère le nom de l'extension
  • phpinfo() - Affiche de nombreuses informations sur la configuration de PHP

ReflectionExtension::getVersion
ReflectionExtension::__toString
ReflectionExtension


Récupère une représentation textuelle

ReflectionExtension::info
ReflectionFunction
ReflectionExtension
PHP Manual

ReflectionExtension::__toString

(PHP 5)

ReflectionExtension::__toString — Récupère une représentation textuelle

Description

public string ReflectionExtension::__toString ( void )

Exporte une extension reflétée et retourne le résultat sous forme de string . Cette méthode est similaire à ReflectionExtension::export appelée avec le paramètre return à TRUE.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'extension reflétée sous forme de chaîne de caractère, de la même façon que ReflectionExtension::export.

Voir aussi

  • ReflectionExtension::__construct - Construit un nouvel objet ReflectionExtension
  • ReflectionExtension::export - Exportation
  • __toString

ReflectionExtension::info
ReflectionFunction
ReflectionExtension


La classe ReflectionFunction

Introduction

La classe ReflectionFunction rapporte des informations sur une fonction.

Classe parent à ReflectionFunctionAbstract a les mêmes
méthodes, sauf invoke(),
invokeArgs(), export() et
isDisabled().

Synopsis de la classe

ReflectionFunction
ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const integer ReflectionFunction::IS_DEPRECATED = 262144 ;
/* Propriétés */
public $name ;
/* Méthodes */
__construct ( string $name )
public static string export ( string $name [, string $return ] )
public mixed invoke ([ string $args ] )
public mixed invokeArgs ( array $args )
public bool isDisabled ( void )
public string __toString ( void )
/* Méthodes héritées */
final private void ReflectionFunctionAbstract::__clone ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Propriétés

name

Constantes pré-définies

Type de nœuds ReflectionFunction

ReflectionFunction::IS_DEPRECATED

Sommaire

  • ReflectionFunction::__construct — Construit un nouvel objet ReflectionFunction
  • ReflectionFunction::export — Exporte une fonction
  • ReflectionFunction::invoke — Invoque une fonction
  • ReflectionFunction::invokeArgs — Invoque les arguments d'une fonction
  • ReflectionFunction::isDisabled — Vérifie si une fonction est désactivée
  • ReflectionFunction::__toString — Récupère une représentation textuelle
ReflectionExtension::__toString
ReflectionFunction::__construct
Reflection


Construit un nouvel objet ReflectionFunction

ReflectionFunction
ReflectionFunction::export
ReflectionFunction
PHP Manual

ReflectionFunction::__construct

(PHP 5)

ReflectionFunction::__construct — Construit un nouvel objet ReflectionFunction

Description

ReflectionFunction::__construct ( string $name )

Construit un nouvel objet ReflectionFunction.

Liste de paramètres

name

Le nom de la fonction à refléter.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Une exception ReflectionException si le paramètre name contient une fonction invalide.

Exemples

Exemple #1 Exemple avec ReflectionFunction::__construct

<?php
/**
 * Un simple compteur
 *
 * @return    int
 */
function counter()
{
    static $c = 0;
    return ++$c;
}

// Crée une instance de la classe ReflectionFunction
$func = new ReflectionFunction('counter');

// Affiche quelques informations
printf(
    "===> The %s function '%s'\n".
    "     declared in %s\n".
    "     lines %d to %d\n",
    $func->isInternal() ? 'internal' : 'user-defined',
    $func->getName(),
    $func->getFileName(),
    $func->getStartLine(),
    $func->getEndline()
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($func->getDocComment(), 1));

// Print static variables if existant
if ($statics = $func->getStaticVariables())
{
    printf("---> Static variables: %s\n", var_export($statics, 1));
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

===> The user-defined function 'counter'
     declared in /Users/philip/test.php
     lines 7 to 11
---> Documentation:
 '/**
 * A simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'c' => 0,
)

Voir aussi

  • ReflectionMethod::__construct - Construit un nouvel objet ReflectionMethod
  • Les constructeurs

ReflectionFunction
ReflectionFunction::export
ReflectionFunction


Exporte une fonction

ReflectionFunction::__construct
ReflectionFunction::invoke
ReflectionFunction
PHP Manual

ReflectionFunction::export

(PHP 5)

ReflectionFunction::export — Exporte une fonction

Description

public static string ReflectionFunction::export ( string $name [, string $return ] )

Exporte une fonction reflétée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

La réflection à exporter.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Si le paramètre return est défini à TRUE, l'export sera retourné sous la forme d'une chaîne de caractères, sinon, NULL sera retourné.

Voir aussi

  • ReflectionExtension::invoke

ReflectionFunction::__construct
ReflectionFunction::invoke
ReflectionFunction


Invoque une fonction

ReflectionFunction::export
ReflectionFunction::invokeArgs
ReflectionFunction
PHP Manual

ReflectionFunction::invoke

(PHP 5)

ReflectionFunction::invoke — Invoque une fonction

Description

public mixed ReflectionFunction::invoke ([ string $args ] )

Invoque une fonction reflétée.

Liste de paramètres

args

La liste d'arguments à passer à la fonction. Il est possible de passer un nombre variable d'arguments à la fonction, comme pour la fonction call_user_func().

Valeurs de retour

Voir aussi

  • ReflectionFunction::export - Exporte une fonction
  • __invoke

ReflectionFunction::export
ReflectionFunction::invokeArgs
ReflectionFunction


Invoque les arguments d'une fonction

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction
PHP Manual

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionFunction::invokeArgs — Invoque les arguments d'une fonction

Description

public mixed ReflectionFunction::invokeArgs ( array $args )

Invoque les arguments d'une fonction.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

args

Les arguments à invoquer.

Valeurs de retour

Voir aussi

  • ReflectionFunction::invoke - Invoque une fonction
  • ReflectionFunctionAbstract::getNumberOfParameters - Récupère le nombre de paramètres
  • __invoke

ReflectionFunction::invoke
ReflectionFunction::isDisabled
ReflectionFunction


Vérifie si une fonction est désactivée

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction
PHP Manual

ReflectionFunction::isDisabled

(PHP 5)

ReflectionFunction::isDisabled — Vérifie si une fonction est désactivée

Description

public bool ReflectionFunction::isDisabled ( void )

Vérifie si une fonction est désactivée, via la directive disable_functions.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la fonction est désactivée, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::isUserDefined - Vérifie si la fonction est définie dans l'espace utilisateur
  • La directive disable_functions

ReflectionFunction::invokeArgs
ReflectionFunction::__toString
ReflectionFunction


Récupère une représentation textuelle

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction
PHP Manual

ReflectionFunction::__toString

(PHP 5)

ReflectionFunction::__toString — Récupère une représentation textuelle

Description

public string ReflectionFunction::__toString ( void )

Récupère une représentation textuelle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionClassAbstract::clone
  • __toString

ReflectionFunction::isDisabled
ReflectionFunctionAbstract
ReflectionFunction


La classe ReflectionFunctionAbstract

Introduction

Une classe parente à ReflectionFunction, lisez sa description pour plus de détails.

Synopsis de la classe

ReflectionFunctionAbstract
ReflectionFunctionAbstract implements Reflector {
/* Propriétés */
public $name ;
/* Méthodes */
final private void __clone ( void )
public string getDocComment ( void )
public int getEndLine ( void )
public ReflectionExtension getExtension ( void )
public string getExtensionName ( void )
public string getFileName ( void )
public string getName ( void )
public string getNamespaceName ( void )
public int getNumberOfParameters ( void )
public int getNumberOfRequiredParameters ( void )
public array getParameters ( void )
public string getShortName ( void )
public int getStartLine ( void )
public array getStaticVariables ( void )
public bool inNamespace ( void )
public bool isClosure ( void )
public bool isDeprecated ( void )
public bool isInternal ( void )
public bool isUserDefined ( void )
public bool returnsReference ( void )
abstract public void __toString ( void )
}

Propriétés

name

Sommaire

  • ReflectionFunctionAbstract::__clone — Clone une fonction
  • ReflectionFunctionAbstract::getDocComment — Récupère un commentaire
  • ReflectionFunctionAbstract::getEndLine — Récupère le numéro de la dernière ligne
  • ReflectionFunctionAbstract::getExtension — Récupère les informations d'une extension
  • ReflectionFunctionAbstract::getExtensionName — Récupère le nom de l'extension
  • ReflectionFunctionAbstract::getFileName — Récupère le nom du fichier
  • ReflectionFunctionAbstract::getName — Récupère le nom d'une fonction
  • ReflectionFunctionAbstract::getNamespaceName — Récupère l'espace de noms
  • ReflectionFunctionAbstract::getNumberOfParameters — Récupère le nombre de paramètres
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Récupère le nombre de paramètres requis
  • ReflectionFunctionAbstract::getParameters — Récupère les paramètres
  • ReflectionFunctionAbstract::getShortName — Récupère le nom court d'une fonction
  • ReflectionFunctionAbstract::getStartLine — Récupère le numéro de ligne de départ
  • ReflectionFunctionAbstract::getStaticVariables — Récupère les variables statiques
  • ReflectionFunctionAbstract::inNamespace — Vérifie si une fonction est dans un espace de noms
  • ReflectionFunctionAbstract::isClosure — Vérifie si c'est une fermeture
  • ReflectionFunctionAbstract::isDeprecated — Vérifie si la fonction est obsolète
  • ReflectionFunctionAbstract::isInternal — Vérifie si la fonction est une fonction interne
  • ReflectionFunctionAbstract::isUserDefined — Vérifie si la fonction est définie dans l'espace utilisateur
  • ReflectionFunctionAbstract::returnsReference — Vérifie si la fonction retourne une référence
  • ReflectionFunctionAbstract::__toString — Récupère une représentation textuelle
ReflectionFunction::__toString
ReflectionFunctionAbstract::__clone
Reflection


Clone une fonction

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__clone

(PHP 5)

ReflectionFunctionAbstract::__clone — Clone une fonction

Description

final private void ReflectionFunctionAbstract::__clone ( void )

Clone une fonction.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • Le clonage d'objets

ReflectionFunctionAbstract
ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract


Récupère un commentaire

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getDocComment

(PHP 5 >= 5.1.0)

ReflectionFunctionAbstract::getDocComment — Récupère un commentaire

Description

public string ReflectionFunctionAbstract::getDocComment ( void )

Récupère un commentaire depuis une fonction.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le commentaire, s'il existe, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::getStartLine - Récupère le numéro de ligne de départ

ReflectionFunctionAbstract::__clone
ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract


Récupère le numéro de la dernière ligne

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getEndLine

(PHP 5)

ReflectionFunctionAbstract::getEndLine — Récupère le numéro de la dernière ligne

Description

public int ReflectionFunctionAbstract::getEndLine ( void )

Récupère le numéro de la dernière ligne.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le numéro de la dernière ligne d'une classe définie dans l'espace utilisateur, ou bien FALSE si ce numéro n'est pas connu.

Voir aussi

  • ReflectionFunctionAbstract::getStartLine - Récupère le numéro de ligne de départ

ReflectionFunctionAbstract::getDocComment
ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract


Récupère les informations d'une extension

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtension

(PHP 5)

ReflectionFunctionAbstract::getExtension — Récupère les informations d'une extension

Description

public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )

Récupère les informations d'une extension.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les informations de l'extension, sous la forme d'un objet ReflectionExtension.

Voir aussi

  • ReflectionFunctionAbstract::getExtensionName - Récupère le nom de l'extension

ReflectionFunctionAbstract::getEndLine
ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract


Récupère le nom de l'extension

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getExtensionName

(PHP 5)

ReflectionFunctionAbstract::getExtensionName — Récupère le nom de l'extension

Description

public string ReflectionFunctionAbstract::getExtensionName ( void )

Récupère le nom de l'extension.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de l'extension.

Voir aussi

  • ReflectionFunctionAbstract::getExtension - Récupère les informations d'une extension

ReflectionFunctionAbstract::getExtension
ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract


Récupère le nom du fichier

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getFileName

(PHP 5)

ReflectionFunctionAbstract::getFileName — Récupère le nom du fichier

Description

public string ReflectionFunctionAbstract::getFileName ( void )

Récupère le nom du fichier depuis une fonction définie dans l'espace utilisateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom du fichier.

Voir aussi

  • ReflectionFunctionAbstract::getNamespaceName - Récupère l'espace de noms

ReflectionFunctionAbstract::getExtensionName
ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract


Récupère le nom d'une fonction

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getName

(PHP 5)

ReflectionFunctionAbstract::getName — Récupère le nom d'une fonction

Description

public string ReflectionFunctionAbstract::getName ( void )

Récupère le nom d'une fonction.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de la fonction.

Voir aussi

  • ReflectionFunctionAbstract::getExtensionName - Récupère le nom de l'extension
  • ReflectionFunctionAbstract::isUserDefined - Vérifie si la fonction est définie dans l'espace utilisateur

ReflectionFunctionAbstract::getFileName
ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract


Récupère l'espace de noms

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNamespaceName

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::getNamespaceName — Récupère l'espace de noms

Description

public string ReflectionFunctionAbstract::getNamespaceName ( void )

Récupère l'espace de noms depuis lequel la classe est définie.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de l'espace de noms.

Voir aussi

  • ReflectionFunctionAbstract::getFileName - Récupère le nom du fichier
  • Les espaces de noms

ReflectionFunctionAbstract::getName
ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract


Récupère le nombre de paramètres

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.0.3)

ReflectionFunctionAbstract::getNumberOfParameters — Récupère le nombre de paramètres

Description

public int ReflectionFunctionAbstract::getNumberOfParameters ( void )

Récupère le nombre de paramètres défini dans la fonction ; aussi bien les paramètres requis qu'optionnels.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre de paramètres.

Voir aussi

  • ReflectionFunctionAbstract::getNumberOfRequiredParameters - Récupère le nombre de paramètres requis

ReflectionFunctionAbstract::getNamespaceName
ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract


Récupère le nombre de paramètres requis

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.0.3)

ReflectionFunctionAbstract::getNumberOfRequiredParameters — Récupère le nombre de paramètres requis

Description

public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )

Récupère le nombre de paramètres requis par une fonction.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nombre de paramètres requis.

Voir aussi

  • ReflectionFunctionAbstract::getNumberOfParameters - Récupère le nombre de paramètres

ReflectionFunctionAbstract::getNumberOfParameters
ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract


Récupère les paramètres

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getParameters

(PHP 5)

ReflectionFunctionAbstract::getParameters — Récupère les paramètres

Description

public array ReflectionFunctionAbstract::getParameters ( void )

Récupère les paramètres, sous la forme d'un tableau d'objets ReflectionParameter .

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les paramètres, sous la forme d'objets ReflectionParameter.

Voir aussi

  • ReflectionFunctionAbstract::getNumberOfParameters - Récupère le nombre de paramètres

ReflectionFunctionAbstract::getNumberOfRequiredParameters
ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract


Récupère le nom court d'une fonction

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getShortName

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::getShortName — Récupère le nom court d'une fonction

Description

public string ReflectionFunctionAbstract::getShortName ( void )

Récupère le nom court d'une fonction (sans la partie concernant l'espace de noms).

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom court de la fonction.

Voir aussi

  • ReflectionFunctionAbstract::getNamespaceName - Récupère l'espace de noms
  • Les espaces de noms

ReflectionFunctionAbstract::getParameters
ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract


Récupère le numéro de ligne de départ

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStartLine

(PHP 5)

ReflectionFunctionAbstract::getStartLine — Récupère le numéro de ligne de départ

Description

public int ReflectionFunctionAbstract::getStartLine ( void )

Récupère le numéro de ligne de départ de la fonction.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le numéro de la ligne de départ.

Voir aussi

  • ReflectionFunctionAbstract::getEndLine - Récupère le numéro de la dernière ligne

ReflectionFunctionAbstract::getShortName
ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract


Récupère les variables statiques

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::getStaticVariables

(PHP 5)

ReflectionFunctionAbstract::getStaticVariables — Récupère les variables statiques

Description

public array ReflectionFunctionAbstract::getStaticVariables ( void )

Récupère les variables statiques.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de variables statiques.

Voir aussi

  • ReflectionFunctionAbstract::getParameters - Récupère les paramètres

ReflectionFunctionAbstract::getStartLine
ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract


Vérifie si une fonction est dans un espace de noms

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::inNamespace

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::inNamespace — Vérifie si une fonction est dans un espace de noms

Description

public bool ReflectionFunctionAbstract::inNamespace ( void )

Vérifie si une fonction est dans un espace de noms.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la fonction est dans l'espace de noms, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::getNamespaceName - Récupère l'espace de noms
  • Les espaces de noms

ReflectionFunctionAbstract::getStaticVariables
ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract


Vérifie si c'est une fermeture

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isClosure

(PHP 5 >= 5.3.0)

ReflectionFunctionAbstract::isClosure — Vérifie si c'est une fermeture

Description

public bool ReflectionFunctionAbstract::isClosure ( void )

Vérifie si c'est une fermeture.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si c'est une fermeture, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::

ReflectionFunctionAbstract::inNamespace
ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract


Vérifie si la fonction est obsolète

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isDeprecated

(PHP 5)

ReflectionFunctionAbstract::isDeprecated — Vérifie si la fonction est obsolète

Description

public bool ReflectionFunctionAbstract::isDeprecated ( void )

Vérifie si la fonction est obsolète.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la fonction est obsolète, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::getDocComment - Récupère un commentaire

ReflectionFunctionAbstract::isClosure
ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract


Vérifie si la fonction est une fonction interne

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isInternal

(PHP 5)

ReflectionFunctionAbstract::isInternal — Vérifie si la fonction est une fonction interne

Description

public bool ReflectionFunctionAbstract::isInternal ( void )

Vérifie si la fonction est une fonction interne, au lieu d'une fonction définie dans l'espace utilisateur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la fonction est une fonction interne, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::isUserDefined - Vérifie si la fonction est définie dans l'espace utilisateur

ReflectionFunctionAbstract::isDeprecated
ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract


Vérifie si la fonction est définie dans l'espace utilisateur

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::isUserDefined

(PHP 5)

ReflectionFunctionAbstract::isUserDefined — Vérifie si la fonction est définie dans l'espace utilisateur

Description

public bool ReflectionFunctionAbstract::isUserDefined ( void )

Vérifie si la fonction est définie dans l'espace utilisateur, au lieu d'être une fonction interne.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la fonction a été définie dans l'espace utilisateur, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::isInternal - Vérifie si la fonction est une fonction interne

ReflectionFunctionAbstract::isInternal
ReflectionFunctionAbstract::returnsReference
ReflectionFunctionAbstract


Vérifie si la fonction retourne une référence

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::returnsReference

(PHP 5)

ReflectionFunctionAbstract::returnsReference — Vérifie si la fonction retourne une référence

Description

public bool ReflectionFunctionAbstract::returnsReference ( void )

Vérifie si la fonction retourne une référence.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la fonction retourne une référence, FALSE sinon.

Voir aussi

  • ReflectionFunctionAbstract::isClosure - Vérifie si c'est une fermeture

ReflectionFunctionAbstract::isUserDefined
ReflectionFunctionAbstract::__toString
ReflectionFunctionAbstract


Récupère une représentation textuelle

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract
PHP Manual

ReflectionFunctionAbstract::__toString

(PHP 5)

ReflectionFunctionAbstract::__toString — Récupère une représentation textuelle

Description

abstract public void ReflectionFunctionAbstract::__toString ( void )

Récupère une représentation textuelle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une chaîne de caractères.

Voir aussi

  • ReflectionClass::clone
  • __toString

ReflectionFunctionAbstract::returnsReference
ReflectionMethod
ReflectionFunctionAbstract


La classe ReflectionMethod

Introduction

La classe ReflectionMethod rapporte des informations sur une méthode.

Synopsis de la classe

ReflectionMethod
ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const integer ReflectionMethod::IS_STATIC = 1 ;
const integer ReflectionMethod::IS_PUBLIC = 256 ;
const integer ReflectionMethod::IS_PROTECTED = 512 ;
const integer ReflectionMethod::IS_PRIVATE = 1024 ;
const integer ReflectionMethod::IS_ABSTRACT = 2 ;
const integer ReflectionMethod::IS_FINAL = 4 ;
/* Propriétés */
public $name ;
public $class ;
/* Méthodes */
__construct ( string $class_or_method [, string $name ] )
public static string export ( string $class , string $name [, bool $return = false ] )
public ReflectionClass getDeclaringClass ( void )
public int getModifiers ( void )
public void getPrototype ( void )
public mixed invoke ( object $object , string $args )
public mixed invokeArgs ( string $object , array $args )
public bool isAbstract ( void )
public bool isConstructor ( void )
public bool isDestructor ( void )
public bool isFinal ( void )
public bool isPrivate ( void )
public bool isProtected ( void )
public bool isPublic ( void )
public bool isStatic ( void )
public void setAccessible ( bool $accessible )
public string __toString ( void )
/* Méthodes héritées */
final private void ReflectionFunctionAbstract::__clone ( void )
public string ReflectionFunctionAbstract::getDocComment ( void )
public int ReflectionFunctionAbstract::getEndLine ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getExtensionName ( void )
public string ReflectionFunctionAbstract::getFileName ( void )
public string ReflectionFunctionAbstract::getName ( void )
public string ReflectionFunctionAbstract::getNamespaceName ( void )
public int ReflectionFunctionAbstract::getNumberOfParameters ( void )
public int ReflectionFunctionAbstract::getNumberOfRequiredParameters ( void )
public array ReflectionFunctionAbstract::getParameters ( void )
public string ReflectionFunctionAbstract::getShortName ( void )
public int ReflectionFunctionAbstract::getStartLine ( void )
public array ReflectionFunctionAbstract::getStaticVariables ( void )
public bool ReflectionFunctionAbstract::inNamespace ( void )
public bool ReflectionFunctionAbstract::isClosure ( void )
public bool ReflectionFunctionAbstract::isDeprecated ( void )
public bool ReflectionFunctionAbstract::isInternal ( void )
public bool ReflectionFunctionAbstract::isUserDefined ( void )
public bool ReflectionFunctionAbstract::returnsReference ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Propriétés

name

class

Constantes pré-définies

Type de nœuds ReflectionMethod

ReflectionMethod::IS_STATIC

ReflectionMethod::IS_PUBLIC

ReflectionMethod::IS_PROTECTED

ReflectionMethod::IS_PRIVATE

ReflectionMethod::IS_ABSTRACT

ReflectionMethod::IS_FINAL

Sommaire

  • ReflectionMethod::__construct — Construit un nouvel objet ReflectionMethod
  • ReflectionMethod::export — Exportation
  • ReflectionMethod::getDeclaringClass — Récupère la déclaration de la classe
  • ReflectionMethod::getModifiers — Récupère les modificateurs
  • ReflectionMethod::getPrototype — Récupère le prototype
  • ReflectionMethod::invoke — Invoque
  • ReflectionMethod::invokeArgs — Invoque les arguments
  • ReflectionMethod::isAbstract — Vérifie si la méthode est abstraite
  • ReflectionMethod::isConstructor — Vérifie si la méthode est un constructeur
  • ReflectionMethod::isDestructor — Vérifie si la méthode est un destructeur
  • ReflectionMethod::isFinal — Vérifie si la méthode est finale
  • ReflectionMethod::isPrivate — Vérifie si la méthode est privée
  • ReflectionMethod::isProtected — Vérifie si la méthode est protégée
  • ReflectionMethod::isPublic — Vérifie si la méthode est publique
  • ReflectionMethod::isStatic — Vérifie si la méthode est statique
  • ReflectionMethod::setAccessible — Définit l'accessibilité de la méthode
  • ReflectionMethod::__toString — Récupère une représentation textuelle
ReflectionFunctionAbstract::__toString
ReflectionMethod::__construct
Reflection


Construit un nouvel objet ReflectionMethod

ReflectionMethod
ReflectionMethod::export
ReflectionMethod
PHP Manual

ReflectionMethod::__construct

(PHP 5)

ReflectionMethod::__construct — Construit un nouvel objet ReflectionMethod

Description

ReflectionMethod::__construct ( string $class_or_method [, string $name ] )

Construit un nouvel objet ReflectionMethod.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

class_or_method

name

Valeurs de retour

Exemples

Exemple #1 Exemple avec ReflectionMethod::__construct

<?php
class Counter
{
    private static $c = 0;

    /**
     * Compteur qui s'incrémente
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Crée une nouvelle instance de la classe ReflectionMethod
$method = new ReflectionMethod('Counter', 'increment');

// Affiche des informations
printf(
    "===> The %s%s%s%s%s%s%s method '%s' (which is %s)\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d[%s]\n",
        $method->isInternal() ? 'internal' : 'user-defined',
        $method->isAbstract() ? ' abstract' : '',
        $method->isFinal() ? ' final' : '',
        $method->isPublic() ? ' public' : '',
        $method->isPrivate() ? ' private' : '',
        $method->isProtected() ? ' protected' : '',
        $method->isStatic() ? ' static' : '',
        $method->getName(),
        $method->isConstructor() ? 'the constructor' : 'a regular method',
        $method->getFileName(),
        $method->getStartLine(),
        $method->getEndline(),
        $method->getModifiers(),
        implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Affiche le commentaire de la documentation
printf("---> Documentation:\n %s\n", var_export($method->getDocComment(), 1));

// Affiche les variables statiques, si elles existent
if ($statics= $method->getStaticVariables()) {
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoque la méthode
printf("---> Invocation results in: ");
var_dump($method->invoke(NULL));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

===> The user-defined final public static method 'increment' (which is a regular method)
     declared in /Users/philip/cvs/phpdoc/test.php
     lines 14 to 17
     having the modifiers 261[final public static]
---> Documentation:
 '/**
     * Compteur qui s'incrémente
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Invocation results in: int(1)

Voir aussi

  • ReflectionMethod::export - Exportation
  • Les constructeurs

ReflectionMethod
ReflectionMethod::export
ReflectionMethod


Exportation

ReflectionMethod::__construct
ReflectionMethod::getDeclaringClass
ReflectionMethod
PHP Manual

ReflectionMethod::export

(PHP 5)

ReflectionMethod::export — Exportation

Description

public static string ReflectionMethod::export ( string $class , string $name [, bool $return = false ] )

Exporte un objet ReflectionMethod.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

class

Le nom de la classe.

name

Le nom de la méthode.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Si le paramètre return est défini à TRUE, l'export sera retourné sous la forme d'une chaîne de caractères, sinon, NULL sera retourné.

Voir aussi

  • ReflectionMethod::__construct - Construit un nouvel objet ReflectionMethod

ReflectionMethod::__construct
ReflectionMethod::getDeclaringClass
ReflectionMethod


Récupère la déclaration de la classe

ReflectionMethod::export
ReflectionMethod::getModifiers
ReflectionMethod
PHP Manual

ReflectionMethod::getDeclaringClass

(PHP 5)

ReflectionMethod::getDeclaringClass — Récupère la déclaration de la classe

Description

public ReflectionClass ReflectionMethod::getDeclaringClass ( void )

Récupère la déclaration de la classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionClass.

Voir aussi

  • ReflectionMethod::isAbstract - Vérifie si la méthode est abstraite

ReflectionMethod::export
ReflectionMethod::getModifiers
ReflectionMethod


Récupère les modificateurs

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod
PHP Manual

ReflectionMethod::getModifiers

(PHP 5)

ReflectionMethod::getModifiers — Récupère les modificateurs

Description

public int ReflectionMethod::getModifiers ( void )

Récupère les modificateurs.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

A numeric representation of the modifiers.

Exemples

Exemple #1 Exemple avec ReflectionMethod::getModifiers

<?php
class Testing
{
    final public static function foo()
    {
        return;
    }
    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "Modifiers for method foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "Modifiers for method bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Modifiers for method foo():
261
final public static
Modifiers for method bar():
65792

Voir aussi

  • Reflection::getModifierNames - Récupère le nom d'un modificateur

ReflectionMethod::getDeclaringClass
ReflectionMethod::getPrototype
ReflectionMethod


Récupère le prototype

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod
PHP Manual

ReflectionMethod::getPrototype

(PHP 5)

ReflectionMethod::getPrototype — Récupère le prototype

Description

public void ReflectionMethod::getPrototype ( void )

Récupère le prototype de la méthode.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

The prototype.

Erreurs / Exceptions

Une exception ReflectionException sera émise si la méthode ne possède pas de prototype.

Voir aussi

  • ReflectionMethod::getModifiers - Récupère les modificateurs

ReflectionMethod::getModifiers
ReflectionMethod::invoke
ReflectionMethod


Invoque

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod
PHP Manual

ReflectionMethod::invoke

(PHP 5)

ReflectionMethod::invoke — Invoque

Description

public mixed ReflectionMethod::invoke ( object $object , string $args )

Invoque une méthode reflétée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

object

L'objet à invoquer.

args

Une liste d'arguments à passer. Il accepte un nombre variable d'arguments à passer à la fonction, comme la fonction call_user_func() le fait.

Valeurs de retour

Voir aussi

  • ReflectionMethod::invokeArgs - Invoque les arguments
  • __invoke

ReflectionMethod::getPrototype
ReflectionMethod::invokeArgs
ReflectionMethod


Invoque les arguments

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod
PHP Manual

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.0)

ReflectionMethod::invokeArgs — Invoque les arguments

Description

public mixed ReflectionMethod::invokeArgs ( string $object , array $args )

Invoque les arguments.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

object

args

Valeurs de retour

Voir aussi

  • ReflectionMethod::invoke - Invoque
  • __invoke

ReflectionMethod::invoke
ReflectionMethod::isAbstract
ReflectionMethod


Vérifie si la méthode est abstraite

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod
PHP Manual

ReflectionMethod::isAbstract

(PHP 5)

ReflectionMethod::isAbstract — Vérifie si la méthode est abstraite

Description

public bool ReflectionMethod::isAbstract ( void )

Vérifie si la méthode est abstraite.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est abstraite, FALSE sinon.

Voir aussi

  • ReflectionMethod::getDeclaringClass - Récupère la déclaration de la classe

ReflectionMethod::invokeArgs
ReflectionMethod::isConstructor
ReflectionMethod


Vérifie si la méthode est un constructeur

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod
PHP Manual

ReflectionMethod::isConstructor

(PHP 5)

ReflectionMethod::isConstructor — Vérifie si la méthode est un constructeur

Description

public bool ReflectionMethod::isConstructor ( void )

Vérifie si la méthode est un constructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est un constructeur; FALSE sinon.

Voir aussi

  • ReflectionMethod::__construct - Construit un nouvel objet ReflectionMethod
  • ReflectionMethod::isAbstract - Vérifie si la méthode est abstraite
  • ReflectionMethod::isDestructor - Vérifie si la méthode est un destructeur

ReflectionMethod::isAbstract
ReflectionMethod::isDestructor
ReflectionMethod


Vérifie si la méthode est un destructeur

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod
PHP Manual

ReflectionMethod::isDestructor

(PHP 5)

ReflectionMethod::isDestructor — Vérifie si la méthode est un destructeur

Description

public bool ReflectionMethod::isDestructor ( void )

Vérifie si la méthode est un destructeur.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est un destructeur, FALSE sinon.

Voir aussi

  • ReflectionMethod::isConstructor - Vérifie si la méthode est un constructeur

ReflectionMethod::isConstructor
ReflectionMethod::isFinal
ReflectionMethod


Vérifie si la méthode est finale

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod
PHP Manual

ReflectionMethod::isFinal

(PHP 5)

ReflectionMethod::isFinal — Vérifie si la méthode est finale

Description

public bool ReflectionMethod::isFinal ( void )

Vérifie si la méthode est finale.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est finale, FALSE sinon.

Voir aussi

  • ReflectionMethod::isStatic - Vérifie si la méthode est statique

ReflectionMethod::isDestructor
ReflectionMethod::isPrivate
ReflectionMethod


Vérifie si la méthode est privée

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod
PHP Manual

ReflectionMethod::isPrivate

(PHP 5)

ReflectionMethod::isPrivate — Vérifie si la méthode est privée

Description

public bool ReflectionMethod::isPrivate ( void )

Vérifie si la méthode est privée.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est privée, FALSE sinon.

Voir aussi

  • ReflectionMethod::isPublic - Vérifie si la méthode est publique

ReflectionMethod::isFinal
ReflectionMethod::isProtected
ReflectionMethod


Vérifie si la méthode est protégée

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod
PHP Manual

ReflectionMethod::isProtected

(PHP 5)

ReflectionMethod::isProtected — Vérifie si la méthode est protégée

Description

public bool ReflectionMethod::isProtected ( void )

Vérifie si la méthode est protégée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est protégée, FALSE sinon.

Voir aussi

  • ReflectionMethod::isPrivate - Vérifie si la méthode est privée

ReflectionMethod::isPrivate
ReflectionMethod::isPublic
ReflectionMethod


Vérifie si la méthode est publique

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod
PHP Manual

ReflectionMethod::isPublic

(PHP 5)

ReflectionMethod::isPublic — Vérifie si la méthode est publique

Description

public bool ReflectionMethod::isPublic ( void )

Vérifie si la méthode est publique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est statique, FALSE sinon.

Voir aussi

  • ReflectionMethod::isPrivate - Vérifie si la méthode est privée

ReflectionMethod::isProtected
ReflectionMethod::isStatic
ReflectionMethod


Vérifie si la méthode est statique

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod
PHP Manual

ReflectionMethod::isStatic

(PHP 5)

ReflectionMethod::isStatic — Vérifie si la méthode est statique

Description

public bool ReflectionMethod::isStatic ( void )

Vérifie si la méthode est statique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la méthode est statique, FALSE sinon.

Voir aussi

  • ReflectionMethod::isFinal - Vérifie si la méthode est finale

ReflectionMethod::isPublic
ReflectionMethod::setAccessible
ReflectionMethod


Définit l'accessibilité de la méthode

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod
PHP Manual

ReflectionMethod::setAccessible

(No version information available, might only be in SVN)

ReflectionMethod::setAccessible — Définit l'accessibilité de la méthode

Description

public void ReflectionMethod::setAccessible ( bool $accessible )

Définit l'accessibilité de la méthode. Par exemple, ceci permet d'invoquer des méthodes protégées et privées.

Liste de paramètres

accessible

TRUE pour permettre l'accessibilité, ou FALSE.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ReflectionMethod::isPrivate - Vérifie si la méthode est privée
  • ReflectionMethod::isProtected - Vérifie si la méthode est protégée

ReflectionMethod::isStatic
ReflectionMethod::__toString
ReflectionMethod


Récupère une représentation textuelle

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod
PHP Manual

ReflectionMethod::__toString

(PHP 5)

ReflectionMethod::__toString — Récupère une représentation textuelle

Description

public string ReflectionMethod::__toString ( void )

Récupère une représentation textuelle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionMethod::export - Exportation
  • __toString

ReflectionMethod::setAccessible
ReflectionObject
ReflectionMethod


La classe ReflectionObject

Introduction

La classe ReflectionObject rapporte des informations sur un objet.

Synopsis de la classe

ReflectionObject
ReflectionObject extends ReflectionClass implements Reflector {
/* Constantes */
const integer ReflectionObject::IS_IMPLICIT_ABSTRACT = 16 ;
const integer ReflectionObject::IS_EXPLICIT_ABSTRACT = 32 ;
const integer ReflectionObject::IS_FINAL = 64 ;
/* Propriétés */
/* Méthodes */
__construct ( object $argument )
public static string export ( string $argument [, bool $return ] )
/* Méthodes héritées */
final private void ReflectionClass::__clone ( void )
ReflectionClass::__construct ( string $argument )
public static string ReflectionClass::export ( mixed $argument [, bool $return = false ] )
public mixed ReflectionClass::getConstant ( string $name )
public array ReflectionClass::getConstants ( void )
public object ReflectionClass::getConstructor ( void )
public array ReflectionClass::getDefaultProperties ( void )
public string ReflectionClass::getDocComment ( void )
public int ReflectionClass::getEndLine ( void )
public ReflectionExtension ReflectionClass::getExtension ( void )
public string ReflectionClass::getExtensionName ( void )
public string ReflectionClass::getFileName ( void )
public array ReflectionClass::getInterfaceNames ( void )
public array ReflectionClass::getInterfaces ( void )
public object ReflectionClass::getMethod ( string $name )
public array ReflectionClass::getMethods ([ string $filter ] )
public int ReflectionClass::getModifiers ( void )
public string ReflectionClass::getName ( void )
public string ReflectionClass::getNamespaceName ( void )
public object ReflectionClass::getParentClass ( void )
public array ReflectionClass::getProperties ([ int $filter ] )
public ReflectionProperty ReflectionClass::getProperty ( string $name )
public string ReflectionClass::getShortName ( void )
public int ReflectionClass::getStartLine ( void )
public array ReflectionClass::getStaticProperties ( void )
public mixed ReflectionClass::getStaticPropertyValue ( string $name [, string $default ] )
public bool ReflectionClass::hasConstant ( string $name )
public bool ReflectionClass::hasMethod ( string $name )
public bool ReflectionClass::hasProperty ( string $name )
public bool ReflectionClass::implementsInterface ( string $interface )
public bool ReflectionClass::inNamespace ( void )
public bool ReflectionClass::isAbstract ( void )
public bool ReflectionClass::isFinal ( void )
public bool ReflectionClass::isInstance ( object $object )
public bool ReflectionClass::isInstantiable ( void )
public bool ReflectionClass::isInterface ( void )
public bool ReflectionClass::isInternal ( void )
public bool ReflectionClass::isIterateable ( void )
public bool ReflectionClass::isSubclassOf ( string $class )
public bool ReflectionClass::isUserDefined ( void )
public object ReflectionClass::newInstance ( mixed $args [, mixed $... ] )
public object ReflectionClass::newInstanceArgs ([ array $args ] )
public void ReflectionClass::setStaticPropertyValue ( string $name , string $value )
public string ReflectionClass::__toString ( void )
}

Propriétés

name

Constantes pré-définies

Type de nœuds ReflectionObject

ReflectionObject::IS_IMPLICIT_ABSTRACT

ReflectionObject::IS_EXPLICIT_ABSTRACT

ReflectionObject::IS_FINAL

Sommaire

  • ReflectionObject::__construct — Construit un nouvel objet ReflectionObject
  • ReflectionObject::export — Exportation
ReflectionMethod::__toString
ReflectionObject::__construct
Reflection


Construit un nouvel objet ReflectionObject

ReflectionObject
ReflectionObject::export
ReflectionObject
PHP Manual

ReflectionObject::__construct

(PHP 5)

ReflectionObject::__construct — Construit un nouvel objet ReflectionObject

Description

ReflectionObject::__construct ( object $argument )

Construit un nouvel objet ReflectionObject.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

argument

Une instance de l'objet.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ReflectionObject::export - Exportation
  • Les constructeurs

ReflectionObject
ReflectionObject::export
ReflectionObject


Exportation

ReflectionObject::__construct
ReflectionParameter
ReflectionObject
PHP Manual

ReflectionObject::export

(PHP 5)

ReflectionObject::export — Exportation

Description

public static string ReflectionObject::export ( string $argument [, bool $return ] )

Exporte une réflexion.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

argument

La réflection à exporter.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Si le paramètre return est défini à TRUE, l'export sera retourné sous la forme d'une chaîne de caractères, sinon, NULL sera retourné.

Voir aussi

  • ReflectionObject::__construct - Construit un nouvel objet ReflectionObject

ReflectionObject::__construct
ReflectionParameter
ReflectionObject


La classe ReflectionParameter

Introduction

La classe ReflectionParameter récupère les informations sur les paramètres des fonctions ou des méthodes.

Pour introspecter les paramètres des fonctions, tout d'abord, une instance de la classe ReflectionFunction ou de la classe ReflectionMethod est créée, puis, la méthode ReflectionFunctionAbstract::getParameters est utilisé pour créer un tableau des paramètres.

Synopsis de la classe

ReflectionParameter
ReflectionParameter implements Reflector {
/* Propriétés */
public $name ;
/* Méthodes */
public bool allowsNull ( void )
final private void __clone ( void )
__construct ( string $function , string $parameter )
public static string export ( string $function , string $parameter [, bool $return ] )
public ReflectionClass getClass ( void )
public ReflectionClass getDeclaringClass ( void )
public ReflectionFunction getDeclaringFunction ( void )
public mixed getDefaultValue ( void )
public string getName ( void )
public int getPosition ( void )
public bool isArray ( void )
public bool isDefaultValueAvailable ( void )
public bool isOptional ( void )
public bool isPassedByReference ( void )
public string __toString ( void )
}

Propriétés

name

Prop description

Sommaire

  • ReflectionParameter::allowsNull — Vérifie si la valeur NULL est autorisée comme valeur du paramètre
  • ReflectionParameter::__clone — Clonage
  • ReflectionParameter::__construct — Constructeur
  • ReflectionParameter::export — Exportation
  • ReflectionParameter::getClass — Récupère la classe
  • ReflectionParameter::getDeclaringClass — Récupère la classe déclarante
  • ReflectionParameter::getDeclaringFunction — Récupère la fonction déclarante
  • ReflectionParameter::getDefaultValue — Récupère la valeur par défaut du paramètre
  • ReflectionParameter::getName — Récupère le nom du paramètre
  • ReflectionParameter::getPosition — Récupère la position d'un paramètre
  • ReflectionParameter::isArray — Vérifie si le paramètre attend un tableau
  • ReflectionParameter::isDefaultValueAvailable — Vérifie si une valeur par défaut est disponible pour le paramètre
  • ReflectionParameter::isOptional — Vérifie si le paramètre est optionnel
  • ReflectionParameter::isPassedByReference — Vérifie si le paramètre est passé par référence
  • ReflectionParameter::__toString — Récupère une représentation textuelle
ReflectionObject::export
ReflectionParameter::allowsNull
Reflection


Vérifie si la valeur NULL est autorisée comme valeur du paramètre

ReflectionParameter
ReflectionParameter::__clone
ReflectionParameter
PHP Manual

ReflectionParameter::allowsNull

(PHP 5)

ReflectionParameter::allowsNull — Vérifie si la valeur NULL est autorisée comme valeur du paramètre

Description

public bool ReflectionParameter::allowsNull ( void )

Vérifie si la valeur NULL est autorisée comme valeur du paramètre.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la valeur NULL est autorisée comme valeur du paramètre, FALSE sinon.

Voir aussi

  • ReflectionParameter::isOptional - Vérifie si le paramètre est optionnel

ReflectionParameter
ReflectionParameter::__clone
ReflectionParameter


Clonage

ReflectionParameter::allowsNull
ReflectionParameter::__construct
ReflectionParameter
PHP Manual

ReflectionParameter::__clone

(PHP 5)

ReflectionParameter::__clone — Clonage

Description

final private void ReflectionParameter::__clone ( void )

Clonage.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionParameter::toString
  • Le clonage d'objet

ReflectionParameter::allowsNull
ReflectionParameter::__construct
ReflectionParameter


Constructeur

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter
PHP Manual

ReflectionParameter::__construct

(PHP 5)

ReflectionParameter::__construct — Constructeur

Description

ReflectionParameter::__construct ( string $function , string $parameter )

Construit une nouvelle classe ReflectionParameter.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

function

La fonction depuis laquelle les paramètres sont reflétés.

parameter

Le paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec ReflectionParameter

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

$reflect = new ReflectionFunction('foo');

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i, // $param->getPosition() can be used from PHP 5.2.3
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Function [ <user> function foo ] {
  @@ /Users/philip/cvs/phpdoc/a 2 - 2

  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- Parameter #0: a {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #1: b {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #2: c {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}

Voir aussi

  • ReflectionFunction::__construct - Construit un nouvel objet ReflectionFunction
  • ReflectionMethod::__construct - Construit un nouvel objet ReflectionMethod
  • Les constructeurs

ReflectionParameter::__clone
ReflectionParameter::export
ReflectionParameter


Exportation

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter
PHP Manual

ReflectionParameter::export

(PHP 5)

ReflectionParameter::export — Exportation

Description

public static string ReflectionParameter::export ( string $function , string $parameter [, bool $return ] )

Exportation.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

function

Le nom de la fonction.

parameter

Le nom du paramètre.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

La réflexion exportée.

Voir aussi

  • ReflectionParameter::toString

ReflectionParameter::__construct
ReflectionParameter::getClass
ReflectionParameter


Récupère la classe

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter
PHP Manual

ReflectionParameter::getClass

(PHP 5)

ReflectionParameter::getClass — Récupère la classe

Description

public ReflectionClass ReflectionParameter::getClass ( void )

Récupère la classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionClass.

Voir aussi

  • ReflectionParameter::getDeclaringClass - Récupère la classe déclarante

ReflectionParameter::export
ReflectionParameter::getDeclaringClass
ReflectionParameter


Récupère la classe déclarante

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringClass

(PHP 5)

ReflectionParameter::getDeclaringClass — Récupère la classe déclarante

Description

public ReflectionClass ReflectionParameter::getDeclaringClass ( void )

Récupère la classe déclarante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionClass.

Voir aussi

  • ReflectionParameter::getClass - Récupère la classe

ReflectionParameter::getClass
ReflectionParameter::getDeclaringFunction
ReflectionParameter


Récupère la fonction déclarante

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter
PHP Manual

ReflectionParameter::getDeclaringFunction

(PHP 5 >= 5.2.3)

ReflectionParameter::getDeclaringFunction — Récupère la fonction déclarante

Description

public ReflectionFunction ReflectionParameter::getDeclaringFunction ( void )

Récupère la fonction déclarante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionFunction.

Voir aussi

  • ReflectionParameter::getDeclaringClass - Récupère la classe déclarante

ReflectionParameter::getDeclaringClass
ReflectionParameter::getDefaultValue
ReflectionParameter


Récupère la valeur par défaut du paramètre

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getName
ReflectionParameter
PHP Manual

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3)

ReflectionParameter::getDefaultValue — Récupère la valeur par défaut du paramètre

Description

public mixed ReflectionParameter::getDefaultValue ( void )

Récupère la valeur par défaut du paramètre d'une fonction ou d'une méthode définie dans l'espace utilisateur. Si le paramètre n'est pas optionnel, une exception ReflectionException sera émise.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur par défaut du paramètre.

Exemples

Exemple #1 Exemple d'utilisation

<?php
function foo($test, $bar = 'baz')
{
    echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
    echo 'Nom : ' . $param->getName() . PHP_EOL;
    if ($param->isOptional()) {
        echo 'Valeur par défaut : ' . $param->getDefaultValue() . PHP_EOL;
    }
    echo PHP_EOL;
}
?>

L'exemple ci-dessus va afficher :

Nom : test

Nom : bar
Valeur par défaut : baz

Notes

Note: À cause du schéma d'implémentation, il n'est pas possible de récupérer la valeur par défaut d'une fonction ou d'une méthode interne. Le fait de tenter de récupérer une telle valeur émettra une exception ReflectionException.

Voir aussi

  • ReflectionParameter::isOptional - Vérifie si le paramètre est optionnel
  • ReflectionParameter::isPassedByReference - Vérifie si le paramètre est passé par référence

ReflectionParameter::getDeclaringFunction
ReflectionParameter::getName
ReflectionParameter


Récupère le nom du paramètre

ReflectionParameter::getDefaultValue
ReflectionParameter::getPosition
ReflectionParameter
PHP Manual

ReflectionParameter::getName

(PHP 5)

ReflectionParameter::getName — Récupère le nom du paramètre

Description

public string ReflectionParameter::getName ( void )

Récupère le nom du paramètre.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom du paramètre reflété.

Voir aussi

  • ReflectionParameter::getValue

ReflectionParameter::getDefaultValue
ReflectionParameter::getPosition
ReflectionParameter


Récupère la position d'un paramètre

ReflectionParameter::getName
ReflectionParameter::isArray
ReflectionParameter
PHP Manual

ReflectionParameter::getPosition

(PHP 5 >= 5.2.3)

ReflectionParameter::getPosition — Récupère la position d'un paramètre

Description

public int ReflectionParameter::getPosition ( void )

Récupère la position d'un paramètre.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La position du paramètre, depuis la gauche vers la droite, et en commençant à la position #0.

Voir aussi

  • ReflectionParameter::getName - Récupère le nom du paramètre

ReflectionParameter::getName
ReflectionParameter::isArray
ReflectionParameter


Vérifie si le paramètre attend un tableau

ReflectionParameter::getPosition
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter
PHP Manual

ReflectionParameter::isArray

(PHP 5 >= 5.1.0)

ReflectionParameter::isArray — Vérifie si le paramètre attend un tableau

Description

public bool ReflectionParameter::isArray ( void )

Vérifie si le paramètre attend un tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si le paramètre attend un tableau, FALSE sinon.

Voir aussi

  • ReflectionParameter::isOptional - Vérifie si le paramètre est optionnel

ReflectionParameter::getPosition
ReflectionParameter::isDefaultValueAvailable
ReflectionParameter


Vérifie si une valeur par défaut est disponible pour le paramètre

ReflectionParameter::isArray
ReflectionParameter::isOptional
ReflectionParameter
PHP Manual

ReflectionParameter::isDefaultValueAvailable

(PHP 5 >= 5.0.3)

ReflectionParameter::isDefaultValueAvailable — Vérifie si une valeur par défaut est disponible pour le paramètre

Description

public bool ReflectionParameter::isDefaultValueAvailable ( void )

Vérifie si une valeur par défaut est disponible pour le paramètre.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si une valeur par défaut est disponible pour le paramètre, FALSE sinon.

Voir aussi

  • ReflectionParameter::getDefaultValue - Récupère la valeur par défaut du paramètre
  • ReflectionParameter::getName - Récupère le nom du paramètre

ReflectionParameter::isArray
ReflectionParameter::isOptional
ReflectionParameter


Vérifie si le paramètre est optionnel

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isPassedByReference
ReflectionParameter
PHP Manual

ReflectionParameter::isOptional

(PHP 5 >= 5.0.3)

ReflectionParameter::isOptional — Vérifie si le paramètre est optionnel

Description

public bool ReflectionParameter::isOptional ( void )

Vérifie si le paramètre est optionnel.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si le paramètre est optionnel, FALSE sinon.

Voir aussi

  • ReflectionParameter::getName - Récupère le nom du paramètre

ReflectionParameter::isDefaultValueAvailable
ReflectionParameter::isPassedByReference
ReflectionParameter


Vérifie si le paramètre est passé par référence

ReflectionParameter::isOptional
ReflectionParameter::__toString
ReflectionParameter
PHP Manual

ReflectionParameter::isPassedByReference

(PHP 5)

ReflectionParameter::isPassedByReference — Vérifie si le paramètre est passé par référence

Description

public bool ReflectionParameter::isPassedByReference ( void )

Vérifie si le paramètre est passé par référence.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si le paramètre est passé par référence, FALSE sinon.

Voir aussi

  • ReflectionParameter::getName - Récupère le nom du paramètre

ReflectionParameter::isOptional
ReflectionParameter::__toString
ReflectionParameter


Récupère une représentation textuelle

ReflectionParameter::isPassedByReference
ReflectionProperty
ReflectionParameter
PHP Manual

ReflectionParameter::__toString

(PHP 5)

ReflectionParameter::__toString — Récupère une représentation textuelle

Description

public string ReflectionParameter::__toString ( void )

Récupère une représentation textuelle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionParameter::export - Exportation
  • __toString

ReflectionParameter::isPassedByReference
ReflectionProperty
ReflectionParameter


La classe ReflectionProperty

Introduction

La classe ReflectionProperty rapporte des informations sur les propriétés d'une classe.

Synopsis de la classe

ReflectionProperty
ReflectionProperty implements Reflector {
/* Constantes */
const integer ReflectionProperty::IS_STATIC = 1 ;
const integer ReflectionProperty::IS_PUBLIC = 256 ;
const integer ReflectionProperty::IS_PROTECTED = 512 ;
const integer ReflectionProperty::IS_PRIVATE = 1024 ;
/* Propriétés */
public $name ;
public $class ;
/* Méthodes */
final private void __clone ( void )
__construct ( mixed $class , string $name )
public static string export ( mixed $class , string $name [, bool $return ] )
public ReflectionClass getDeclaringClass ( void )
public string getDocComment ( void )
public int getModifiers ( void )
public string getName ( void )
public mixed getValue ([ string $object ] )
public bool isDefault ( void )
public bool isPrivate ( void )
public bool isProtected ( void )
public bool isPublic ( void )
public bool isStatic ( void )
public void setAccessible ( bool $accessible )
public void setValue ( object $object , mixed $value )
public string __toString ( void )
}

Propriétés

name

class

Constantes pré-définies

Type de nœuds ReflectionProperty

ReflectionProperty::IS_STATIC

ReflectionProperty::IS_PUBLIC

ReflectionProperty::IS_PROTECTED

ReflectionProperty::IS_PRIVATE

Sommaire

  • ReflectionProperty::__clone — Clonage
  • ReflectionProperty::__construct — Construit un nouvel objet ReflectionProperty
  • ReflectionProperty::export — Exporte
  • ReflectionProperty::getDeclaringClass — Récupère la classe déclarante
  • ReflectionProperty::getDocComment — Récupère un commentaire
  • ReflectionProperty::getModifiers — Récupère les modificateurs
  • ReflectionProperty::getName — Récupère le nom de la proriété
  • ReflectionProperty::getValue — Récupère la valeur de la propriété
  • ReflectionProperty::isDefault — Vérifie si la propriété est celle par défaut
  • ReflectionProperty::isPrivate — Vérifie si la propriété est statique
  • ReflectionProperty::isProtected — Vérifie si la propriété est protégée
  • ReflectionProperty::isPublic — Vérifie si la propriété est publique
  • ReflectionProperty::isStatic — Vérifie si la propriété est statique
  • ReflectionProperty::setAccessible — Définit l'accessibilité de la propriété
  • ReflectionProperty::setValue — Définit la valeur de la propriété
  • ReflectionProperty::__toString — Récupère une représentation textuelle
ReflectionParameter::__toString
ReflectionProperty::__clone
Reflection


Clonage

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty
PHP Manual

ReflectionProperty::__clone

(PHP 5)

ReflectionProperty::__clone — Clonage

Description

final private void ReflectionProperty::__clone ( void )

Clonage.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionProperty::export - Exporte
  • Le clonage d'objets

ReflectionProperty
ReflectionProperty::__construct
ReflectionProperty


Construit un nouvel objet ReflectionProperty

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty
PHP Manual

ReflectionProperty::__construct

(PHP 5)

ReflectionProperty::__construct — Construit un nouvel objet ReflectionProperty

Description

ReflectionProperty::__construct ( mixed $class , string $name )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

class

Le nom de la classe, qui contient la propriété.

name

Le nom de la propriété à refléter.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Le fait de tenter de récupérer ou définir la valeur d'une propriété privée ou protégée d'une classe émettra une exception.

Exemples

Exemple #1 Exemple avec ReflectionProperty::__construct

<?php
class String
{
    public $length  = 5;
}

// Création d'une instance de la classe ReflectionProperty
$prop = new ReflectionProperty('String', 'length');

// Affichage de quelques informations
printf(
    "===> The%s%s%s%s property '%s' (which was %s)\n" .
    "     having the modifiers %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Création d'une instance de chaîne
$obj= new String();

// Récupère la valeur courante
printf("---> Value is: ");
var_dump($prop->getValue($obj));

// Modifie la valeur
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));

// Affiche l'objet
var_dump($obj);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

===> The public property 'length' (which was declared at compile-time)
     having the modifiers array (
  0 => 'public',
)
---> Value is: int(5)
---> Setting value to 10, new value is: int(10)
object(String)#2 (1) {
  ["length"]=>
  int(10)
}

Exemple #2 Récupération d'une valeur depuis une propriété privée ou protégée en utilisant la classe ReflectionProperty

<?php

class Foo {
    public $x = 1;
    protected $y = 2;
    private $z = 3;
}

$obj = new Foo;

$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true); /* Depuis PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true); /* Depuis PHP 5.3.0 */
var_dump($prop->getValue($obj)); // int(2)

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

int(2)
int(3)

Voir aussi

  • ReflectionProperty::getName - Récupère le nom de la proriété
  • Les constructeurs

ReflectionProperty::__clone
ReflectionProperty::export
ReflectionProperty


Exporte

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty
PHP Manual

ReflectionProperty::export

(PHP 5)

ReflectionProperty::export — Exporte

Description

public static string ReflectionProperty::export ( mixed $class , string $name [, bool $return ] )

Exporte une réflexion.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

argument

La réflection à exporter.

name

Le nom de la propriété.

return

Le fait de le définir à TRUE retournera l'export plutôt que l'émission. Le définir à FALSE (par défaut) fera l'inverse.

Valeurs de retour

Voir aussi

  • ReflectionProperty::toString

ReflectionProperty::__construct
ReflectionProperty::getDeclaringClass
ReflectionProperty


Récupère la classe déclarante

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty
PHP Manual

ReflectionProperty::getDeclaringClass

(PHP 5)

ReflectionProperty::getDeclaringClass — Récupère la classe déclarante

Description

public ReflectionClass ReflectionProperty::getDeclaringClass ( void )

Récupère la classe déclarante.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionClass.

Voir aussi

  • ReflectionProperty::getName - Récupère le nom de la proriété

ReflectionProperty::export
ReflectionProperty::getDocComment
ReflectionProperty


Récupère un commentaire

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty
PHP Manual

ReflectionProperty::getDocComment

(PHP 5 >= 5.1.0)

ReflectionProperty::getDocComment — Récupère un commentaire

Description

public string ReflectionProperty::getDocComment ( void )

Récupère un commentaire.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le commentaire.

Voir aussi

  • ReflectionProperty::export - Exporte

ReflectionProperty::getDeclaringClass
ReflectionProperty::getModifiers
ReflectionProperty


Récupère les modificateurs

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty
PHP Manual

ReflectionProperty::getModifiers

(PHP 5)

ReflectionProperty::getModifiers — Récupère les modificateurs

Description

public int ReflectionProperty::getModifiers ( void )

Récupère les modificateurs.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une représentation numérique des modificateurs.

Voir aussi

  • ReflectionProperty::isPrivate - Vérifie si la propriété est statique
  • Reflection::getModifierNames - Récupère le nom d'un modificateur

ReflectionProperty::getDocComment
ReflectionProperty::getName
ReflectionProperty


Récupère le nom de la proriété

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty
PHP Manual

ReflectionProperty::getName

(PHP 5)

ReflectionProperty::getName — Récupère le nom de la proriété

Description

public string ReflectionProperty::getName ( void )

Récupère le nom de la proriété.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Le nom de la propriété reflétée.

Voir aussi

  • ReflectionProperty::getValue - Récupère la valeur de la propriété

ReflectionProperty::getModifiers
ReflectionProperty::getValue
ReflectionProperty


Récupère la valeur de la propriété

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty
PHP Manual

ReflectionProperty::getValue

(PHP 5)

ReflectionProperty::getValue — Récupère la valeur de la propriété

Description

public mixed ReflectionProperty::getValue ([ string $object ] )

Récupère la valeur de la propriété.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

object

L'objet à refléter.

Valeurs de retour

La valeur courante de la propriété.

Voir aussi

  • ReflectionProperty::getName - Récupère le nom de la proriété
  • ReflectionProperty::setValue - Définit la valeur de la propriété

ReflectionProperty::getName
ReflectionProperty::isDefault
ReflectionProperty


Vérifie si la propriété est celle par défaut

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty
PHP Manual

ReflectionProperty::isDefault

(PHP 5)

ReflectionProperty::isDefault — Vérifie si la propriété est celle par défaut

Description

public bool ReflectionProperty::isDefault ( void )

Vérifie si la propriété est celle par défaut.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la propriété a été déclarée lors de la compilation ou FALSE si elle a été déclarée au moment de l'exécution.

Voir aussi

  • ReflectionProperty::getValue - Récupère la valeur de la propriété

ReflectionProperty::getValue
ReflectionProperty::isPrivate
ReflectionProperty


Vérifie si la propriété est statique

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty
PHP Manual

ReflectionProperty::isPrivate

(PHP 5)

ReflectionProperty::isPrivate — Vérifie si la propriété est statique

Description

public bool ReflectionProperty::isPrivate ( void )

Vérifie si la propriété est statique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la propriété est statique, FALSE sinon.

Voir aussi

  • ReflectionProperty::isPublic - Vérifie si la propriété est publique

ReflectionProperty::isDefault
ReflectionProperty::isProtected
ReflectionProperty


Vérifie si la propriété est protégée

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty
PHP Manual

ReflectionProperty::isProtected

(PHP 5)

ReflectionProperty::isProtected — Vérifie si la propriété est protégée

Description

public bool ReflectionProperty::isProtected ( void )

Vérifie si la propriété est protégée.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la propriété est protégée, FALSE sinon.

Voir aussi

  • ReflectionProperty::isPrivate - Vérifie si la propriété est statique

ReflectionProperty::isPrivate
ReflectionProperty::isPublic
ReflectionProperty


Vérifie si la propriété est publique

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty
PHP Manual

ReflectionProperty::isPublic

(PHP 5)

ReflectionProperty::isPublic — Vérifie si la propriété est publique

Description

public bool ReflectionProperty::isPublic ( void )

Vérifie si la propriété est publique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la propriété est publique, FALSE sinon.

Voir aussi

  • ReflectionProperty::isPrivate - Vérifie si la propriété est statique

ReflectionProperty::isProtected
ReflectionProperty::isStatic
ReflectionProperty


Vérifie si la propriété est statique

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty
PHP Manual

ReflectionProperty::isStatic

(PHP 5)

ReflectionProperty::isStatic — Vérifie si la propriété est statique

Description

public bool ReflectionProperty::isStatic ( void )

Vérifie si la propriété est statique.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE si la propriété est statique, FALSE sinon.

Voir aussi

  • ReflectionProperty::isPrivate - Vérifie si la propriété est statique

ReflectionProperty::isPublic
ReflectionProperty::setAccessible
ReflectionProperty


Définit l'accessibilité de la propriété

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty
PHP Manual

ReflectionProperty::setAccessible

(PHP 5 >= 5.3.0)

ReflectionProperty::setAccessible — Définit l'accessibilité de la propriété

Description

public void ReflectionProperty::setAccessible ( bool $accessible )

Définit l'accessibilité de la propriété. Par exemple, ceci permet de rendre accessible une propriété protégée ou publique.

Liste de paramètres

accessible

TRUE pour permettre l'accès, ou FALSE.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ReflectionProperty::isPrivate - Vérifie si la propriété est statique
  • ReflectionProperty::isProtected - Vérifie si la propriété est protégée

ReflectionProperty::isStatic
ReflectionProperty::setValue
ReflectionProperty


Définit la valeur de la propriété

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty
PHP Manual

ReflectionProperty::setValue

(PHP 5)

ReflectionProperty::setValue — Définit la valeur de la propriété

Description

public void ReflectionProperty::setValue ( object $object , mixed $value )

Définit (modifie) la valeur de la propriété.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

object

Le nom de l'objet.

value

La nouvelle valeur.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • ReflectionProperty::getValue - Récupère la valeur de la propriété

ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty


Récupère une représentation textuelle

ReflectionProperty::setValue
Reflector
ReflectionProperty
PHP Manual

ReflectionProperty::__toString

(PHP 5)

ReflectionProperty::__toString — Récupère une représentation textuelle

Description

public string ReflectionProperty::__toString ( void )

Récupère une représentation textuelle.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionProperty::
  • __toString

ReflectionProperty::setValue
Reflector
ReflectionProperty


L'interface Reflector

Introduction

Reflector est une interface implémenté par toutes les classes exportables Reflection.

Synopsis de la classe

Reflector
Reflector {
/* Méthodes */
abstract public static string export ( void )
abstract public string __toString ( void )
}

Sommaire

  • Reflector::export — Export
  • Reflector::__toString — Conversion en chaîne de caractères
ReflectionProperty::__toString
Reflector::export
Reflection


Export

Reflector
Reflector::__toString
Reflector
PHP Manual

Reflector::export

(PHP 5)

Reflector::export — Export

Description

abstract public static string Reflector::export ( void )

Export.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • Reflection::__toString

Reflector
Reflector::__toString
Reflector


Conversion en chaîne de caractères

Reflector::export
Gestion des variables
Reflector
PHP Manual

Reflector::__toString

(PHP 5)

Reflector::__toString — Conversion en chaîne de caractères

Description

abstract public string Reflector::__toString ( void )

Conversion en chaîne de caractères.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Voir aussi

  • ReflectionProperty::export - Exporte
  • __toString

Reflector::export
Gestion des variables
Reflector


Gestion des variables

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions de gestion des variables
    • debug_zval_dump — Extrait une représentation sous forme de chaîne d'une valeur interne à Zend pour affichage
    • doubleval — Alias de floatval
    • empty — Détermine si une variable est vide
    • floatval — Convertit une chaîne en nombre à virgule flottante
    • get_defined_vars — Liste toutes les variables définies
    • get_resource_type — Retourne le type de ressource
    • gettype — Retourne le type de la variable
    • import_request_variables — Importe les variables de GET/POST/Cookie dans l'environnement global
    • intval — Retourne la valeur numérique entière équivalente d'une variable
    • is_array — Détermine si une variable est un tableau
    • is_bool — Détermine si une variable est un booléen
    • is_callable — Détermine si l'argument peut être appelé comme fonction
    • is_double — Alias de is_float
    • is_float — Détermine si une variable est de type nombre décimal
    • is_int — Détermine si une variable est de type nombre entier
    • is_integer — Alias de is_int
    • is_long — Alias de is_int
    • is_null — Indique si une variable vaut NULL
    • is_numeric — Détermine si une variable est un type numérique
    • is_object — Détermine si une variable est de type objet
    • is_real — Alias de is_float
    • is_resource — Détermine si une variable est une ressource
    • is_scalar — Indique si une variable est un scalaire
    • is_string — Détermine si une variable est de type chaîne de caractères
    • isset — Détermine si une variable est définie et est différente de NULL
    • print_r — Affiche des informations lisibles pour une variable
    • serialize — Linéarise une variable
    • settype — Affecte un type à une variable
    • strval — Récupère la valeur d'une variable, au format chaîne
    • unserialize — Crée une variable PHP à partir d'une valeur linéarisée
    • unset — Détruit une variable
    • var_dump — Affiche les informations d'une variable
    • var_export — Retourne le code PHP utilisé pour générer une variable
Reflector::__toString
Introduction
Extensions relatives aux variables et aux types


Introduction

Pour plus de détails sur le comportement des variables, reportez-vous à la section Variables du chapitre Référence du langage.

Gestion des variables
Installation/Configuration
Gestion des variables


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Gestion des variables


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour les variables
Nom | Défaut | Modifiable | Historique
unserialize_callback_func | NULL | PHP_INI_ALL | Disponible depuis PHP 4.2.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

unserialize_callback_func string

La fonction de rappel spécifié est appelée lorsque la fonction unserialize() tente d'utiliser une classe non définie. Une alerte apparaît si la fonction de rappel n'est pas définie, ou si elle échoue lors de la définition de la classe manquante.

Voir aussi unserialize() et l'auto-chargement de classes.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions de gestion des variables
Gestion des variables


Fonctions de gestion des variables

Sommaire

  • debug_zval_dump — Extrait une représentation sous forme de chaîne d'une valeur interne à Zend pour affichage
  • doubleval — Alias de floatval
  • empty — Détermine si une variable est vide
  • floatval — Convertit une chaîne en nombre à virgule flottante
  • get_defined_vars — Liste toutes les variables définies
  • get_resource_type — Retourne le type de ressource
  • gettype — Retourne le type de la variable
  • import_request_variables — Importe les variables de GET/POST/Cookie dans l'environnement global
  • intval — Retourne la valeur numérique entière équivalente d'une variable
  • is_array — Détermine si une variable est un tableau
  • is_bool — Détermine si une variable est un booléen
  • is_callable — Détermine si l'argument peut être appelé comme fonction
  • is_double — Alias de is_float
  • is_float — Détermine si une variable est de type nombre décimal
  • is_int — Détermine si une variable est de type nombre entier
  • is_integer — Alias de is_int
  • is_long — Alias de is_int
  • is_null — Indique si une variable vaut NULL
  • is_numeric — Détermine si une variable est un type numérique
  • is_object — Détermine si une variable est de type objet
  • is_real — Alias de is_float
  • is_resource — Détermine si une variable est une ressource
  • is_scalar — Indique si une variable est un scalaire
  • is_string — Détermine si une variable est de type chaîne de caractères
  • isset — Détermine si une variable est définie et est différente de NULL
  • print_r — Affiche des informations lisibles pour une variable
  • serialize — Linéarise une variable
  • settype — Affecte un type à une variable
  • strval — Récupère la valeur d'une variable, au format chaîne
  • unserialize — Crée une variable PHP à partir d'une valeur linéarisée
  • unset — Détruit une variable
  • var_dump — Affiche les informations d'une variable
  • var_export — Retourne le code PHP utilisé pour générer une variable
Constantes pré-définies
debug_zval_dump
Gestion des variables


Extrait une représentation sous forme de chaîne d'une valeur interne à Zend pour affichage

Fonctions de gestion des variables
doubleval
Fonctions de gestion des variables
PHP Manual

debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5)

debug_zval_dump — Extrait une représentation sous forme de chaîne d'une valeur interne à Zend pour affichage

Description

void debug_zval_dump ( mixed $variable )

Extrait une représentation sous forme de chaîne d'une valeur interne à Zend pour affichage.

Liste de paramètres

variable

La variable à évaluer.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec debug_zval_dump()

<?php
$var1 = 'Bonjour le monde !';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

L'exemple ci-dessus va afficher :

&string(18) "Bonjour le monde !" refcount(3)

Note: Faites attention avec refcount
La valeur refcount retournée par cette fonction n'est pas significative dans certaines circonstances. Par exemple, un développeur peut s'attendre avec l'exemple ci-dessus d'avoir un refcount de 2. La troisième référence est créée lors de l'appel à la fonction debug_zval_dump().
Ce comportement est encore plus fin lorsqu'une variable n'est pas passée par référence à la fonction debug_zval_dump(). Pour illustrer ceci, voici une version modifiée de l'exemple ci-dessus :

<?php
$var1 = 'Bonjour le monde !';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // non passée par référence, cette fois-ci
?>

L'exemple ci-dessus va afficher :

string(18) "Bonjour le monde !" refcount(1)

Pourquoi refcount(1) ? Parce qu'une copie de $var1 a été faite, lors de l'appel de la fonction.
Cette fonction devient encore plus confuse lorsqu'une variable avec un refcount de 1 est passée (par copie/valeur) :
<?php
$var1 = 'Bonjour le monde !';

debug_zval_dump($var1);
?>

L'exemple ci-dessus va afficher :

string(18) "Bonjour le monde !" refcount(2)

Un refcount de 2, ici, est vraiment inattendu. Tout spécialement si on considère les exemples ci-dessus. Donc, que se passe-t-il ?
Lorsqu'une variable a une seule référence (faire $var1 avant qu'elle ne soit utilisée en tant qu'argument de la fonction debug_zval_dump()), le moteur PHP optimise la façon dont elle est passée à la fonction. En interne, PHP traite $var1 comme une référence (et donc, le refcount est incrémenté), et avec le cas où le passage par référence intervient, une copie est alors faite, mais uniquement au moment de l'écriture. Ceci est connu comme "la copie à l'écriture".
Donc, si debug_zval_dump() intervient pour écrire son unique paramètre (et il ne le fait pas), alors une copie est faite. Jusque-là, le paramètre demeure une référence, faisant que le refcount est incrémenté à 2 pour l'appel à la fonction.

Voir aussi

  • var_dump() - Affiche les informations d'une variable
  • debug_backtrace() - Génère le contexte de déboguage
  • Explication sur les références
  • » Explication sur les références (par Derick Rethans)

Fonctions de gestion des variables
doubleval
Fonctions de gestion des variables


Alias de floatval

debug_zval_dump
empty
Fonctions de gestion des variables
PHP Manual

doubleval

(PHP 4, PHP 5)

doubleval — Alias de floatval()

Description

Cette fonction est un alias de : floatval().

Historique

Version | Description
4.2.0 | doubleval() est devenue un alias de floatval(). Avant ce temps, seulement doubleval() existait.

debug_zval_dump
empty
Fonctions de gestion des variables


Détermine si une variable est vide

doubleval
floatval
Fonctions de gestion des variables
PHP Manual

empty

(PHP 4, PHP 5)

empty — Détermine si une variable est vide

Description

bool empty ( mixed $var )

Détermine si une variable est considérée comme vide.

Liste de paramètres

var

Variable à vérifier.

Note: empty() ne vérifie que les variables, toute autre chose retournera une erreur d'analyse. En d'autres termes, ce qui suit ne fonctionne pas : empty(trim($name)).

empty() est l'opposé de (boolean) var, excepté le fait qu'aucune alerte n'est générée lorsqu'une variable n'est pas définie.

Valeurs de retour

Retourne FALSE si var a une valeur non-vide et différente de zéro.

Ce qui suit est considéré comme étant vide :

  • "" (une chaîne vide)
  • 0 (0 en tant qu'entier)
  • "0" (0 en tant que chaîne de caractères)
  • NULL
  • FALSE
  • array() (un tableau vide)
  • var $var; (une variable déclarée, mais sans valeur dans une classe)

Historique

Version | Description
PHP 5 | Depuis PHP 5, les objets n'ayant pas de propriété ne sont plus considérés comme vide.

Exemples

Exemple #1 Une comparaison simple empty() / isset().

<?php
$var = 0;

// Evalué à vrai car $var est vide
if (empty($var)) {
  echo '$var vaut soit 0, vide, ou pas définie du tout';
}

// Evalué à vrai car $var est défini
if (isset($var)) {
  echo '$var est définie même si elle est vide';
}
?>

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Note: Lors de l'utilisation de cette fonction sur des propriétés d'objet inaccessibles, la méthode magique __isset sera appelée, si elle existe.

Voir aussi

  • isset() - Détermine si une variable est définie et est différente de NULL
  • __isset
  • unset() - Détruit une variable
  • array_key_exists() - Vérifie si une clé existe dans un tableau
  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet
  • strlen() - Calcule la taille d'une chaîne
  • Les tables de comparaison des types

doubleval
floatval
Fonctions de gestion des variables


Convertit une chaîne en nombre à virgule flottante

empty
get_defined_vars
Fonctions de gestion des variables
PHP Manual

floatval

(PHP 4 >= 4.2.0, PHP 5)

floatval — Convertit une chaîne en nombre à virgule flottante

Description

float floatval ( mixed $var )

floatval() retourne la valeur de type float (nombre à virgule flottante), extraite à partir du paramètre var.

Liste de paramètres

var

Peut être de n'importe quel type scalaire. floatval() ne doit pas être utilisé sur les objets ; si tel est le cas, une alerte de niveau E_NOTICE sera émise et la fonction retournera 1.

Valeurs de retour

La valeur flottante de la variable donnée. Un tableau vide retourne 0, alors qu'un tableau non-vide retourne 1.

Exemples

Exemple #1 Exemple avec floatval()

<?php
$var = '122.34343The';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
?>

Voir aussi

  • intval() - Retourne la valeur numérique entière équivalente d'une variable
  • strval() - Récupère la valeur d'une variable, au format chaîne
  • settype() - Affecte un type à une variable
  • Transtypage

empty
get_defined_vars
Fonctions de gestion des variables


Liste toutes les variables définies

floatval
get_resource_type
Fonctions de gestion des variables
PHP Manual

get_defined_vars

(PHP 4 >= 4.0.4, PHP 5)

get_defined_vars — Liste toutes les variables définies

Description

array get_defined_vars ( void )

get_defined_vars() retourne un tableau multidimensionnel contenant la liste de toutes les variables définies, qu'elles soient des variables d'environnement, de serveur ou définies par l'utilisateur dans la portée d'appel de la fonction get_defined_vars().

Valeurs de retour

Un tableau multidimensionnel contenant toutes les variables.

Exemples

Exemple #1 Exemple avec get_defined_vars()

<?php
$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

// Affiche $b
print_r($arr["b"]);

/* Affiche le chemin vers l'interpréteur PHP (Si utilisé en tant que CGI)
 * e.g. /usr/local/bin/php */
echo $arr["_"];

// Affiche les paramètres de la ligne de commande s'il y en a
print_r($arr["argv"]);

// Affiche toutes les variables serveur
print_r($arr["_SERVER"]);

// Affiche toutes les clés disponibles du tableau de variables
print_r(array_keys(get_defined_vars()));
?>

Historique

Version | Description
5.0.0 | La variable $GLOBALS est incluse dans le tableau retourné.

Voir aussi

  • isset() - Détermine si une variable est définie et est différente de NULL
  • get_defined_functions() - Liste toutes les fonctions définies
  • get_defined_constants() - Retourne la liste des constantes et leurs valeurs

floatval
get_resource_type
Fonctions de gestion des variables


Retourne le type de ressource

get_defined_vars
gettype
Fonctions de gestion des variables
PHP Manual

get_resource_type

(PHP 4 >= 4.0.2, PHP 5)

get_resource_type — Retourne le type de ressource

Description

string get_resource_type ( resource $handle )

Cette fonction retourne le type de la ressource donnée.

Liste de paramètres

handle

Le gestionnaire de ressources à évaluer.

Valeurs de retour

Si le paramètre handle est une ressource, cette fonction retournera une chaîne de caractères représentant son type. Si le type n'est pas identifié par cette fonction, la valeur de retour sera une chaîne de caractères Unknown.

Cette fonction retournera FALSE et générera une erreur si handle n'est pas une ressource.

Exemples

Exemple #1 Exemple avec get_resource_type()

<?php
// affiche : mysql link (lien mysql)
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// affiche : file (fichier)
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// affiche : domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
?>

get_defined_vars
gettype
Fonctions de gestion des variables


Retourne le type de la variable

get_resource_type
import_request_variables
Fonctions de gestion des variables
PHP Manual

gettype

(PHP 4, PHP 5)

gettype — Retourne le type de la variable

Description

string gettype ( mixed $var )

Retourne le type de la variable var.

Avertissement

N'utilisez jamais gettype() pour vérifier un type, car la chaîne retournée est sujette à modification sans préavis dans une version ultérieure. De plus, c'est bien plus long comme cela, car cela implique une comparaison de chaîne.

À la place, utilisez les fonctions is_*.

Liste de paramètres

var

La variable à analyser.

Valeurs de retour

Les chaînes de caractères que peut retourner la fonction sont les suivantes :

  • " boolean "
  • " integer "
  • " double "(pour des raisons historiques, "double" est retournée lorsqu'une valeur de type float est fournie, au lieu de la chaîne "float")
  • " string "
  • " array "
  • " object "
  • " resource "
  • " NULL "
  • "unknown type"

Exemples

Exemple #1 Exemple avec gettype()

<?php

$data = array(1, 1., NULL, new stdClass, 'foo');

foreach ($data as $value) {
    echo gettype($value), "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

integer
double
NULL
object
string

Voir aussi

  • settype() - Affecte un type à une variable
  • get_class() - Retourne la classe d'un objet
  • is_array() - Détermine si une variable est un tableau
  • is_bool() - Détermine si une variable est un booléen
  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_null() - Indique si une variable vaut NULL
  • is_numeric() - Détermine si une variable est un type numérique
  • is_object() - Détermine si une variable est de type objet
  • is_resource() - Détermine si une variable est une ressource
  • is_scalar() - Indique si une variable est un scalaire
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • function_exists() - Indique si une fonction est définie
  • method_exists() - Vérifie que la méthode existe pour une classe

get_resource_type
import_request_variables
Fonctions de gestion des variables


Importe les variables de GET/POST/Cookie dans l'environnement global

gettype
intval
Fonctions de gestion des variables
PHP Manual

import_request_variables

(PHP 4 >= 4.1.0, PHP 5)

import_request_variables — Importe les variables de GET/POST/Cookie dans l'environnement global

Description

bool import_request_variables ( string $types [, string $prefix ] )

Importe les variables GET/POST/Cookie dans l'environnement global. C'est pratique si vous avez désactivé register_globals, mais que vous voulez enregistrer des variables dans l'environnement global.

Si vous souhaitez importer d'autres variables dans l'environnement global, comme $_SERVER, utilisez l'utilisation de la fonction extract().

Liste de paramètres

types

En utilisant le paramètre types, vous pouvez spécifier les variables que vous voulez importer. Vous pouvez utiliser 'G', 'P' et 'C' pour désigner respectivement GET, POST et Cookie. Ces caractères ne sont pas sensibles à la casse, et vous pouvez les combiner entre eux. POST inclut les fichiers téléchargés.

Note: Notez que l'ordre des lettres est important. En utilisant par exemple "GP", les variables POST écraseront les variables GET ayant le même nom. Toute lettre autre que G, P ou C, est ignorée.

prefix

Le paramètre prefix est utilisé comme un préfixe de nom de variable, qui sera ajouté au début de tous les noms de variables importées. Si vous avez par exemple une variable GET du nom de "userid", et utilisez le préfixe "pref_", la variable ainsi générée s'appellera $pref_userid.

Note: Bien que le paramètre prefix soit optionnel, il sera généré une alerte E_NOTICE si vous ne spécifiez pas de préfixe, ou si vous utilisez une chaîne vide comme préfixe. C'est potentiellement un trou de sécurité. Les alertes de ce niveau ne sont pas affichées si vous utilisez le niveau d'erreur par défaut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec import_request_variables()

<?php
// Ce code va importer les variables GET et POST
// avec un préfixe "rvar_"
import_request_variables("gp", "rvar_");

echo $rvar_foo;
?>

Voir aussi

  • $_REQUEST
  • register_globals
  • variables prédéfinies
  • extract() - Importe les variables dans la table des symboles

gettype
intval
Fonctions de gestion des variables


Retourne la valeur numérique entière équivalente d'une variable

import_request_variables
is_array
Fonctions de gestion des variables
PHP Manual

intval

(PHP 4, PHP 5)

intval — Retourne la valeur numérique entière équivalente d'une variable

Description

int intval ( mixed $var [, int $base = 10 ] )

intval() retourne la valeur numérique entière (entier) de la variable var, en convertissant la valeur dans la base spécifiée (par défaut en base 10). intval() ne doit pas être utilisée sur des objets ; si c'est le cas, une erreur de niveau E_NOTICE sera émise et la fonction retournera 1.

Liste de paramètres

var

La valeur scalaire à être convertie en entier

base

La base pour la conversion

Valeurs de retour

Une valeur de type entier de var en cas de succès ou 0 en cas d'échec. Les tableaux et les objets vides retournent 0, les tableaux et les objets non vides retournent 1.

La valeur maximale dépend du système. Les systèmes à 32 bits ont une valeur entière signée maximale de -2147483648 à 2147483647. Alors, par exemple, sur un système semblable, intval('1000000000000') retournera 2147483647. La valeur entière signée maximale pour un système à 64 bits est 9223372036854775807.

Les chaînes de caractères retournent la plupart du temps 0, cela dépend des caractères à l'extrême gauche de la chaîne. La règle courante du transtypage d'entier s'applique.

Exemples

Exemple #1 Exemples avec intval()

Les exemples suivant sont basés sur un système à 32 bits.

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
?>

Notes

Note: Le paramètre base n'a aucun effet à moins que le paramètre var soit une chaîne de caractères.

Voir aussi

  • floatval() - Convertit une chaîne en nombre à virgule flottante
  • strval() - Récupère la valeur d'une variable, au format chaîne
  • settype() - Affecte un type à une variable
  • is_numeric() - Détermine si une variable est un type numérique
  • Définition du type
  • Nombres de grande taille BCMath

import_request_variables
is_array
Fonctions de gestion des variables


Détermine si une variable est un tableau

intval
is_bool
Fonctions de gestion des variables
PHP Manual

is_array

(PHP 4, PHP 5)

is_array — Détermine si une variable est un tableau

Description

bool is_array ( mixed $var )

is_array() détermine si la variable donnée est un tableau.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un array , FALSE sinon.

Exemples

Exemple #1 Exemple avec is_array()

<?php
$yes = array('ceci', 'est', 'un tableau');

echo is_array($yes) ? 'Tableau' : 'ce n\'est pas un tableau';
echo "\n";

$no = 'ceci est une chaîne';

echo is_array($no) ? 'Tableau' : 'ce n\'est pas un tableau';
?>

L'exemple ci-dessus va afficher :

Tableau
ce n'est pas un tableau

Voir aussi

  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_object() - Détermine si une variable est de type objet

intval
is_bool
Fonctions de gestion des variables


Détermine si une variable est un booléen

is_array
is_callable
Fonctions de gestion des variables
PHP Manual

is_bool

(PHP 4, PHP 5)

is_bool — Détermine si une variable est un booléen

Description

bool is_bool ( mixed $var )

is_bool() détermine si la variable donnée est un booléen.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un booléen, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_bool()

<?php
$a = false;
$b = 0;

// Si $a est un booléen, is_bool retournera true
if (is_bool($a) === true) {
    echo "Oui, c'est un booléen.";
}

// Si $b n'est pas un booléen, is_bool retournera false
if (is_bool($b) === false) {
    echo "Oui, c'est un booléen.";
}
?>

Voir aussi

  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_object() - Détermine si une variable est de type objet
  • is_array() - Détermine si une variable est un tableau

is_array
is_callable
Fonctions de gestion des variables


Détermine si l'argument peut être appelé comme fonction

is_bool
is_double
Fonctions de gestion des variables
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable — Détermine si l'argument peut être appelé comme fonction

Description

bool is_callable ( callback $name [, bool $syntax_only = false [, string &$callable_name ]] )

Vérifie qu'une variable peut être appelée comme fonction. Cette fonction peut vérifier qu'une variable contient un nom de fonction valide, ou bien qu'elle contient un tableau, avec un objet et un nom de méthode.

Liste de paramètres

name

Peut être le nom d'une fonction stockée dans une variable de chaîne, ou un objet, et un nom de méthode pour cet objet, sous la forme :

array($unObjet, 'NomDeMethode' )

syntax_only

Si l'argument syntax_only vaut TRUE, la fonction ne va vérifier que si name peut être une fonction ou une méthode. Il va simplement rejeter les variables qui ne sont pas des chaînes, ou des tableaux qui n'ont pas la bonne structure pour être utilisés comme fonction de rappel. Les tableaux valides sont supposés n'avoir que deux entrées, le premier étant un objet ou une chaîne, et le second une chaîne.

callable_name

L'argument callable_name reçoit le nom à utiliser. Dans l'exemple ci-dessous, il vaut "someClass::someMethod". Notez que, bien que someClass::someMethod() puisse être appelée sous forme statique, ce n'est pas le cas.

Valeurs de retour

Retourne TRUE si name peut être appelé comme une fonction, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_callable()

<?php
//  Comment vérifier qu'une variable peut être appelée
//  comme fonction ?

//
//  Variable simple contenant une fonction
//

function someFunction()
{
}

$functionVariable = 'someFunction';

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

echo $callable_name, "\n";  // uneFonction

//
//  Tableau contenant une méthode
//

class someClass {

  function someMethod()
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject, 'someMethod');

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

echo $callable_name, "\n";  //  someClass::someMethod

?>

Voir aussi

  • function_exists() - Indique si une fonction est définie
  • method_exists() - Vérifie que la méthode existe pour une classe

is_bool
is_double
Fonctions de gestion des variables


Alias de is_float

is_callable
is_float
Fonctions de gestion des variables
PHP Manual

is_double

(PHP 4, PHP 5)

is_double — Alias de is_float()

Description

Cette fonction est un alias de : is_float().

is_callable
is_float
Fonctions de gestion des variables


Détermine si une variable est de type nombre décimal

is_double
is_int
Fonctions de gestion des variables
PHP Manual

is_float

(PHP 4, PHP 5)

is_float — Détermine si une variable est de type nombre décimal

Description

bool is_float ( mixed $var )

Détermine si la variable donnée est de type nombre décimal.

Note: Pour tester si une variable est un nombre ou une chaîne numérique (comme les entrées de formulaire, qui sont toujours des chaînes), vous devez utiliser la fonction is_numeric().

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un nombre décimal, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_float()

<?php
if (is_float(27.25)) {
    echo "is float\n";
} else {
    echo "is not float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7));  //Notation Scientifique
var_dump(is_float(true));
?>

L'exemple ci-dessus va afficher :

is float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)

Voir aussi

  • is_bool() - Détermine si une variable est un booléen
  • is_int() - Détermine si une variable est de type nombre entier
  • is_numeric() - Détermine si une variable est un type numérique
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_array() - Détermine si une variable est un tableau
  • is_object() - Détermine si une variable est de type objet

is_double
is_int
Fonctions de gestion des variables


Détermine si une variable est de type nombre entier

is_float
is_integer
Fonctions de gestion des variables
PHP Manual

is_int

(PHP 4, PHP 5)

is_int — Détermine si une variable est de type nombre entier

Description

bool is_int ( mixed $var )

Détermine si la variable donnée est de type nombre entier.

Note: Pour tester si une variable est un nombre ou une chaîne numérique (comme les entrées de formulaire, qui sont toujours des chaînes), vous devez utiliser la fonction is_numeric().

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un entier, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_int()

<?php
if (is_int(23)) {
    echo "est un entier\n";
} else {
    echo "n'est pas un entier\n";
}
var_dump(is_int(23));
var_dump(is_int("23"));
var_dump(is_int(23.5));
var_dump(is_int(true));
?>

L'exemple ci-dessus va afficher :

est un entier
bool(true)
bool(false)
bool(false)
bool(false)

Voir aussi

  • is_bool() - Détermine si une variable est un booléen
  • is_float() - Détermine si une variable est de type nombre décimal
  • is_numeric() - Détermine si une variable est un type numérique
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_array() - Détermine si une variable est un tableau
  • is_object() - Détermine si une variable est de type objet

is_float
is_integer
Fonctions de gestion des variables


Alias de is_int

is_int
is_long
Fonctions de gestion des variables
PHP Manual

is_integer

(PHP 4, PHP 5)

is_integer — Alias de is_int()

Description

Cette fonction est un alias de : is_int().

is_int
is_long
Fonctions de gestion des variables


Alias de is_int

is_integer
is_null
Fonctions de gestion des variables
PHP Manual

is_long

(PHP 4, PHP 5)

is_long — Alias de is_int()

Description

Cette fonction est un alias de : is_int().

is_integer
is_null
Fonctions de gestion des variables


Indique si une variable vaut NULL

is_long
is_numeric
Fonctions de gestion des variables
PHP Manual

is_null

(PHP 4 >= 4.0.4, PHP 5)

is_null — Indique si une variable vaut NULL

Description

bool is_null ( mixed $var )

Indique si la variable donnée vaut NULL.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est NULL, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_null()

<?php

error_reporting(E_ALL);

$foo = NULL;
var_dump(is_null($inexistent), is_null($foo));

?>
Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)

Voir aussi

  • Le type NULL
  • isset() - Détermine si une variable est définie et est différente de NULL
  • is_bool() - Détermine si une variable est un booléen
  • is_numeric() - Détermine si une variable est un type numérique
  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_object() - Détermine si une variable est de type objet
  • is_array() - Détermine si une variable est un tableau

is_long
is_numeric
Fonctions de gestion des variables


Détermine si une variable est un type numérique

is_null
is_object
Fonctions de gestion des variables
PHP Manual

is_numeric

(PHP 4, PHP 5)

is_numeric — Détermine si une variable est un type numérique

Description

bool is_numeric ( mixed $var )

Détermine si la variable donnée est de type numérique. Les chaînes numériques sont composées optionnellement de signes, de n'importe quel nombre de chiffres, optionnellement d'une partie décimale ainsi qu'une partie exponentielle. +0123.45e6 est une valeur numérique valide. La notation hexadécimale (0xFF) est autorisée également, mais uniquement sans un signe, sans décimale et sans partie exponentielle.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un nombre ou une chaîne numérique, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_numeric()

<?php
$tests = array(
        "42",
        1337,
        "1e4",
        "not numeric",
        Array(),
        9.1
        );

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "'{$element}' est de type numérique", PHP_EOL;
    } else {
        echo "'{$element}' n'est pas de type numérique", PHP_EOL;
    }
}
?>

L'exemple ci-dessus va afficher :

'42' est de type numérique
'1337' est de type numérique
'1e4' est de type numérique
'not numeric' n'est pas de type numérique
'Array' n'est pas de type numérique
'9.1' est de type numérique

Voir aussi

  • ctype_digit() - Vérifie qu'une chaîne est un entier
  • is_bool() - Détermine si une variable est un booléen
  • is_null() - Indique si une variable vaut NULL
  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_object() - Détermine si une variable est de type objet
  • is_array() - Détermine si une variable est un tableau

is_null
is_object
Fonctions de gestion des variables


Détermine si une variable est de type objet

is_numeric
is_real
Fonctions de gestion des variables
PHP Manual

is_object

(PHP 4, PHP 5)

is_object — Détermine si une variable est de type objet

Description

bool is_object ( mixed $var )

Détermine si la variable donnée est de type objet.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un objet, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_object()

<?php
// Déclare une simple fonction pour retourner un tableau
// de notre objet
function get_students($obj)
{
    if (!is_object($obj)) {
        return false;
    }

    return $obj->students;
}

// Déclare une nouvelle instance et
// la remplit
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));;
?>

Notes

Note: Cette fonction retourne FALSE si elle est utilisée sur un objet délinéarisé lorsque la classe de définition n'est pas présente (même si gettype() retourne object ).

Voir aussi

  • is_bool() - Détermine si une variable est un booléen
  • is_int() - Détermine si une variable est de type nombre entier
  • is_float() - Détermine si une variable est de type nombre décimal
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_array() - Détermine si une variable est un tableau

is_numeric
is_real
Fonctions de gestion des variables


Alias de is_float

is_object
is_resource
Fonctions de gestion des variables
PHP Manual

is_real

(PHP 4, PHP 5)

is_real — Alias de is_float()

Description

Cette fonction est un alias de : is_float().

is_object
is_resource
Fonctions de gestion des variables


Détermine si une variable est une ressource

is_real
is_scalar
Fonctions de gestion des variables
PHP Manual

is_resource

(PHP 4, PHP 5)

is_resource — Détermine si une variable est une ressource

Description

bool is_resource ( mixed $var )

Détermine si une variable est une ressource.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est une ressource, FALSE autrement.

Exemples

Exemple #1 Exemple avec is_resource()

<?php

$db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($db_link)) {
    die('Connexion impossible : ' . mysql_error());
}

?>

Voir aussi

  • La documentation sur les ressources
  • get_resource_type() - Retourne le type de ressource

is_real
is_scalar
Fonctions de gestion des variables


Indique si une variable est un scalaire

is_resource
is_string
Fonctions de gestion des variables
PHP Manual

is_scalar

(PHP 4 >= 4.0.5, PHP 5)

is_scalar — Indique si une variable est un scalaire

Description

bool is_scalar ( mixed $var )

Indique si la variable donnée est un scalaire.

Les variables scalaires sont celles qui contiennent des entiers, des nombres décimaux, des chaînes de caractères ou des booléens. Les types array , object et resource ne sont pas scalaires.

Note: is_scalar() ne considère pas les valeurs des types ressource comme scalaires, étant donné que les ressources sont des types abstraits, basés sur des entiers. Ceci est susceptible de changer.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est un scalaire, FALSE autrement.

Exemples

Exemple #1 Exemple avec is_scalar()

<?php
function show_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteines = array("hémoglobine", "cytochrome c oxidase", "ferredoxine");

show_var($pi);

show_var($proteines)
?>

L'exemple ci-dessus va afficher :

3.1416
array(3) {
  [0]=>
  string(11) "hémoglobine"
  [1]=>
  string(20) "cytochrome c oxidase"
  [2]=>
  string(11) "ferredoxine"
}

Voir aussi

  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_numeric() - Détermine si une variable est un type numérique
  • is_real() - Alias de is_float
  • is_string() - Détermine si une variable est de type chaîne de caractères
  • is_bool() - Détermine si une variable est un booléen
  • is_object() - Détermine si une variable est de type objet
  • is_array() - Détermine si une variable est un tableau

is_resource
is_string
Fonctions de gestion des variables


Détermine si une variable est de type chaîne de caractères

is_scalar
isset
Fonctions de gestion des variables
PHP Manual

is_string

(PHP 4, PHP 5)

is_string — Détermine si une variable est de type chaîne de caractères

Description

bool is_string ( mixed $var )

Détermine si la variable donnée est de type chaîne de caractères.

Liste de paramètres

var

La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est une chaîne de caractères, FALSE sinon.

Exemples

Exemple #1 Exemple avec is_string()

<?php
if (is_string("23")) {
    echo "est une chaîne\n";
} else {
    echo "n'est pas une chaîne\n";
}
var_dump(is_string('abc'));
var_dump(is_string("23"));
var_dump(is_string(23.5));
var_dump(is_string(true));
?>

L'exemple ci-dessus va afficher :

est une chaîne
bool(true)
bool(true)
bool(false)
bool(false)

Voir aussi

  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_bool() - Détermine si une variable est un booléen
  • is_object() - Détermine si une variable est de type objet
  • is_array() - Détermine si une variable est un tableau

is_scalar
isset
Fonctions de gestion des variables


Détermine si une variable est définie et est différente de NULL

is_string
print_r
Fonctions de gestion des variables
PHP Manual

isset

(PHP 4, PHP 5)

isset — Détermine si une variable est définie et est différente de NULL

Description

bool isset ( mixed $var [, mixed $var [, $... ]] )

Détermine si une variable est définie et est différente de NULL.

Si une variable a été détruite avec la fonction unset(), la fonction isset() renverra FALSE. isset() renvera FALSE lors du test d'une variable de valeur NULL. Notez aussi que le caractère nul ("\0") n'est pas équivalent à la constante PHP

Si plusieurs paramètres sont fournis, alors la fonction isset() retournera TRUE seulement si tous les paramètres sont définis. L'évaluation s'effectue de gauche vers la droite et s'arrête dès qu'une variable non-définie est rencontrée.

Liste de paramètres

var

La variable à analyser.

var

D'autres variables...

...

Valeurs de retour

Retourne TRUE si var existe et a une valeur autre que NULL, FALSE sinon.

Exemples

Exemple #1 Exemple avec isset()

<?php

$var = '';

// Ceci est vrai, alors le texte est affiché
if (isset($var)) {
    echo 'Cette variable existe, donc je peux l\'afficher.';
}

// Dans les exemples suivants, nous utilisons var_dump() pour afficher
// le retour de la fonction isset().

$a = 'test';
$b = 'anothertest';

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

Fonctionne aussi avec les tableaux :

<?php

$a = array ('test' => 1, 'bonjour' => NULL);

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['bonjour']));           // FALSE

// La clé 'bonjour' vaut NULL et est considérée comme non existante
// Si vous voulez vérifier l'existence de cette clé, utilisez cette fonction
var_dump(array_key_exists('bonjour', $a) ); // TRUE

?>

Notes

Avertissement

isset() fonctionne uniquement avec des variables car l'utilisation de toute autre chose aura comme conséquence une erreur d'analyse. Pour vérifier si une constants est définie, utilisez la fonction defined().

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Note: Lors de l'utilisation de cette fonction sur des propriétés d'objet inaccessibles, la méthode magique __isset sera appelée, si elle existe.

Voir aussi

  • empty() - Détermine si une variable est vide
  • __isset
  • unset() - Détruit une variable
  • defined() - Vérifie l'existence d'une constante
  • le tableau de comparaison de types
  • array_key_exists() - Vérifie si une clé existe dans un tableau
  • is_null() - Indique si une variable vaut NULL
  • l'opérateur de contrôle de rapport d'erreurs @

is_string
print_r
Fonctions de gestion des variables


Affiche des informations lisibles pour une variable

isset
serialize
Fonctions de gestion des variables
PHP Manual

print_r

(PHP 4, PHP 5)

print_r — Affiche des informations lisibles pour une variable

Description

mixed print_r ( mixed $expression [, bool $return = false ] )

print_r() affiche des informations à propos d'une variable, de manière à ce qu'elle soit lisible.

print_r(), var_dump() et var_export() afficheront également les propriétés protégées et privées d'un objet en PHP 5. Les membres des classes statiques ne seront pas affichés.

Gardez en tête que print_r() place le pointeur de tableau à la fin du tableau. Utilisez reset() pour le ramener au début.

Liste de paramètres

expression

L'expression à afficher.

return

Si vous voulez obtenir le résultat de print_r() dans une chaîne, utilisez le paramètre return. Lorsque ce paramètre vaut TRUE, print_r() retournera l'information plutôt que de l'afficher.

Valeurs de retour

Si une chaîne de caractères, un entier ou un nombre décimal est fournie, sa valeur sera affichée. Si un tableau est fourni, les valeurs seront affichées dans un format permettant de voir les clés et les éléments. Un format similaire sera également utilisé pour les objets.

Lorsque le paramètre return vaut TRUE, cette fonction retournera une chaîne de caractères. Autrement, la valeur de retour sera TRUE.

Notes

Note: Cette fonction utilise en interne le buffer de sortie avec ce paramètre, il ne peut donc pas être utilisé dans la fonction de rappel ob_start().

Historique

Version | Description
4.3.0 | Ajout du paramètre return. Si vous devez récupérer le résultat de print_r() avec une version de PHP plus ancienne que 4.3.0, utilisez les fonctions de bufferisation de sortie.
4.0.4 | Avant PHP 4.0.4, print_r() bouclera à l'infini si un tableau ou un objet contient une référence sur lui-même. Un exemple classique est notamment la ligne print_r($GLOBALS) car $GLOBALS est lui-même une variable globale, qui donc, contient une référence sur elle même.

Exemples

Exemple #1 Exemple avec print_r()

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

L'exemple ci-dessus va afficher :

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Exemple #2 Exemple avec le paramètre return

<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results contient l'affichage de print_r
?>

Voir aussi

  • ob_start() - Enclenche la tamporisation de sortie
  • var_dump() - Affiche les informations d'une variable
  • var_export() - Retourne le code PHP utilisé pour générer une variable

isset
serialize
Fonctions de gestion des variables


Linéarise une variable

print_r
settype
Fonctions de gestion des variables
PHP Manual

serialize

(PHP 4, PHP 5)

serialize — Linéarise une variable

Description

string serialize ( mixed $value )

Linéarise une variable.

C'est une technique pratique pour stocker ou passer des valeurs de PHP entre scripts, sans perdre ni leur structure, ni leur type.

Pour récupérer une variable linéarisée, et retrouver une variable, utilisez unserialize().

Liste de paramètres

value

La valeur à linéariser. serialize() acceptent tous les types sauf les ressources. Vous pouvez linéariser un tableau qui contient une référence sur lui-même. Les références dans ce tableau/objet seront également stockées. Toutes les autres références seront perdues.

Lors de la linéarisation d'un objet, PHP tentera d'appeler la fonction membre __sleep avant de linéariser. Cela permet à l'objet de faire un dernier nettoyage, etc. avant d'être linéarisé. De même, lorsque l'objet est restauré en utilisant unserialize(), la fonction membre __wakeup est appelée.

Note: Les attributs privés d'un objet auront le nom de la classe préfixé au nom de l'attributs; les attributs protégés seront préfixé avec un astérisque '*'. Ces valeurs préfixées ont des caractèrs nuls des deux cotés.

Valeurs de retour

Retourne une chaîne contenant une représentation linéaire de value, pour stockage.

Exemples

Exemple #1 Exemple avec serialize()

<?php
// $session_data contient un tableau multidimensionnel , avec les
// informations de session de l'utilisateur courant. On utilise serialize()
// pour les stocker dans une base de données

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
      "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata)) {
    $stmt = odbc_prepare($conn,
     "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, $sqldata)) {
        /* Un problème est survenu ! */
    }
}
?>

Historique

Version | Description
4.0.7 | Le processus de linéarisation a été corrigé.

Notes

Note: Il n'est pas possible de linéariser les objets internes de PHP.

Voir aussi

  • unserialize() - Crée une variable PHP à partir d'une valeur linéarisée
  • La linéarisation d'objets

print_r
settype
Fonctions de gestion des variables


Affecte un type à une variable

serialize
strval
Fonctions de gestion des variables
PHP Manual

settype

(PHP 4, PHP 5)

settype — Affecte un type à une variable

Description

bool settype ( mixed &$var , string $type )

Force le type de la variable var en type.

Liste de paramètres

var

La variable à convertir.

type

Les valeurs possibles pour le paramètre type sont :

  • "boolean" (ou, depuis PHP 4.2.0, "bool")
  • "integer" (ou, depuis PHP 4.2.0, "int")
  • "float" (uniquement depuis PHP 4.2.0. Pour les anciennes versions, utilisez l'alternative "double")
  • "string"
  • "array"
  • "object"
  • "NULL" (depuis PHP 4.2.0)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec settype()

<?php
$foo = "5bar"; // chaîne
$bar = true;   // booléen

settype($foo, "integer"); // $foo vaut maintenant 5   (integer)
settype($bar, "string");  // $bar vaut maintenant "1" (string)
?>

Notes

Note: La valeur maximale des entiers est la valeur contenue dans la variable PHP_INT_MAX.

Voir aussi

  • gettype() - Retourne le type de la variable
  • conversion de type
  • transtypage automatique

serialize
strval
Fonctions de gestion des variables


Récupère la valeur d'une variable, au format chaîne

settype
unserialize
Fonctions de gestion des variables
PHP Manual

strval

(PHP 4, PHP 5)

strval — Récupère la valeur d'une variable, au format chaîne

Description

string strval ( mixed $var )

Récupère la valeur de la variable var, au format chaîne de caractères. Voir la documentation sur les chaînes de caractères pour plus d'informations sur la conversion en chaîne.

Cette fonction n'effectue aucun formattage sur la valeur retournée. Si vous cherchez un moyen de formatter une valeur numérique en chaîne de caractères, repportez-vous à la fonction sprintf() ou la fonction number_format().

Liste de paramètres

var

La variable à convertir en chaîne de caractères.

var peut être un scalaire. Vous ne pouvez pas utiliser la fonction strval() avec des tableaux ou des objets.

Valeurs de retour

La valeur de la variable var sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Exemple avec strval() et la méthode magique __toString

<?php
class StrValTest
{
    public function __toString()
    {
        return __CLASS__;
    }
}

// Affiche 'StrValTest'
echo strval(new StrValTest);
?>

Voir aussi

  • floatval() - Convertit une chaîne en nombre à virgule flottante
  • intval() - Retourne la valeur numérique entière équivalente d'une variable
  • settype() - Affecte un type à une variable
  • sprintf() - Retourne une chaîne formatée
  • number_format() - Formate un nombre pour l'affichage
  • Le transtypage

settype
unserialize
Fonctions de gestion des variables


Crée une variable PHP à partir d'une valeur linéarisée

strval
unset
Fonctions de gestion des variables
PHP Manual

unserialize

(PHP 4, PHP 5)

unserialize — Crée une variable PHP à partir d'une valeur linéarisée

Description

mixed unserialize ( string $str )

unserialize() prend une variable linéarisée (voir serialize()) et la convertit en variable PHP.

Liste de paramètres

str

La chaîne linéarisée.

Si la variable délinéarisée est un objet, après avoir réussi à le reconstruire, PHP appellera automatiquement la méthode __wakeup() si elle existe.

Note: unserialize_callback_func directive
Il est possible de définir une fonction de rappel qui sera appelée si une classe indéfinie est utilisée lors de la délinéarisation (ce qui évitera de voir l'objet recevoir le type d'objet incomplet object "__PHP_Incomplete_Class"). Utilisez dans votre fichier php.ini ou le fichier .htaccess, ou encore avec la fonction ini_set(), pour définir une fonction unserialize_callback_func(). Chaque fois qu'une classe non-définie sera instanciée, cette fonction sera appelée. Pour désactiver cette fonctionnalité, laissez la simplement vide.

Valeurs de retour

La valeur convertie est retournée par la fonction, et peut être de type booléen, entier, nombre décimal, chaîne de caractères, tableau ou objet.

Si la chaîne passée ne peut être délinéarisée, cette fonction retourne FALSE et une erreur E_NOTICE est émise.

Historique

Version | Description
4.2.0 | La directive unserialize_callback_func devient disponible.

Exemples

Exemple #1 Exemple avec unserialize()

<?php
// Ici, on utilise <function>unserialize</function> pour charger les données de sessions
// depuis la base de données, dans $session_data. Cet exemple complète
// celui fourni avec <function>serialize</function>.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata) || !odbc_fetch_into($stmt, $tmp)) {
    // si la préparation ou la lecture échouent, on crée un tableau vide
    $session_data = array();
} else {
    // les données sauvées sont dans $tmp[0].
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // Erreur... initialisation d'un tableau vide
        $session_data = array();
    }
}
?>

Exemple #2 Exemple avec la directive unserialize_callback_func

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// directive unserialize_callback_func disponible depuis PHP 4.2.0
ini_set('unserialize_callback_func', 'mycallback');

function mycallback($classname)
{
    // Incluez simplement un fichier contenant votre définition de classe
    // vous saurez quelle classe grâce à $classname
}
?>

Notes

Avertissement

FALSE est retourné dans les cas où une erreur survient et si vous tentez de délinéariser une valeur linéarisé égale à FALSE. Il est possible d'intercepter ce cas spécial en comparant str avec serialize(false) ou en attrapant l'erreur E_NOTICE émise.

Voir aussi

  • serialize() - Linéarise une variable
  • Auto-chargement d'objets
  • unserialize_callback_func

strval
unset
Fonctions de gestion des variables


Détruit une variable

unserialize
var_dump
Fonctions de gestion des variables
PHP Manual

unset

(PHP 4, PHP 5)

unset — Détruit une variable

Description

void unset ( mixed $var [, mixed $var [, mixed $... ]] )

unset() détruit la ou les variables dont le nom a été passé en argument var.

Le comportement de unset() à l'intérieur d'une fonction peut varier suivant le type de variable que vous voulez détruire.

Si une variable globale est détruite avec unset() depuis une fonction, seule la variable locale sera détruite. Le variable globale gardera la valeur acquise avant l'appel à unset().

<?php
function destroy_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>

L'exemple ci-dessus va afficher :

bar

Pour détruire une variable globale à l'intérieur d'une fonction, vous pouvez utiliser le tableau $GLOBALS :

<?php
function foo()
{
    unset($GLOBALS['bar']);
}

$bar = "truc";
foo();
?>

Si une variable qui est passée par référence est détruite à l'intérieur d'une fonction, seule la variable locale sera détruite. La variable globale conservera la même valeur qu'elle avait avant l'appel de unset().

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'truc';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

L'exemple ci-dessus va afficher :

truc
truc

Si une variable statique est détruite à l'intérieur d'une fonction unset() détruira la variable seulement dans le contexte du reste de la fonction. Les appels suivants restaureront la valeur précédente de la variable.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Avant unset : $bar, ";
    unset($bar);
    $bar = 23;
    echo "après unset : $bar\n";
}

foo();
foo();
foo();
?>

L'exemple ci-dessus va afficher :

Avant unset : 1, après unset: 23
Avant unset : 2, après unset: 23
Avant unset : 3, après unset: 23

Liste de paramètres

var

La variable à détruire.

var

Autres variables...

...

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
4.0.1 | Ajout du support des arguments multiples.

Exemples

Exemple #1 Exemple avec unset()

<?php
// Destruction d'une seule variable
unset($foo);

// Destruction d'un élément de tableau
unset($bar['quux']);

// Destruction de plusieurs variables
unset($foo1, $foo2, $foo3);
?>

Exemple #2 Exemple avec un transtypage (unset)

<?php
$name = 'Felipe';

var_dump((unset) $name);
?>

Notes

Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les fonctions variables.

Note: Il est possible de détruire n'importe quelle propriété visible dans le contexte courant.

Note: Il n'est pas possible de détruire la variable spéciale $this à l'intérieur d'une méthode d'un objet, depuis PHP 5.

Note: Lors de l'utilisation de cette fonction sur des propriétés d'objet inaccessibles, la méthode magique __isset sera appelée, si elle existe.

Voir aussi

  • isset() - Détermine si une variable est définie et est différente de NULL
  • __unset
  • empty() - Détermine si une variable est vide
  • array_splice() - Efface et remplace une portion de tableau

unserialize
var_dump
Fonctions de gestion des variables


Affiche les informations d'une variable

unset
var_export
Fonctions de gestion des variables
PHP Manual

var_dump

(PHP 4, PHP 5)

var_dump — Affiche les informations d'une variable

Description

void var_dump ( mixed $expression [, mixed $expression [, $... ]] )

var_dump() retourne les informations structurées d'une variable, y compris son type et sa valeur. Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure.

En PHP 5, toutes les propriétés publiques, privées et protégées seront retournées dans le résultat.

Astuce

Comme pour toutes les fonctions qui affichent directement des résultats au navigateur, vous pouvez utiliser les fonctions de gestion des sorties pour capturer le contenu de cette fonction et le sauver, par exemple, dans une chaîne.

Liste de paramètres

expression

La variable que vous voulez exporter.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec var_dump()

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

L'exemple ci-dessus va afficher :

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b, $c);

?>

L'exemple ci-dessus va afficher :

float(3.1)
bool(true)

Voir aussi

  • var_export() - Retourne le code PHP utilisé pour générer une variable
  • print_r() - Affiche des informations lisibles pour une variable

unset
var_export
Fonctions de gestion des variables


Retourne le code PHP utilisé pour générer une variable

var_dump
Services Web
Fonctions de gestion des variables
PHP Manual

var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export — Retourne le code PHP utilisé pour générer une variable

Description

mixed var_export ( mixed $expression [, bool $return = false ] )

var_export() retourne des données structurées sur la variable donnée. C'est le même principe que var_dump() mais avec une exception : le résultat retourné est du code PHP valide.

Liste de paramètres

expression

La variable que vous voulez exporter.

return

Si utilisé et mis à TRUE, var_export() retournera la représentation de la variable au lieu de l'afficher.

Note: Cette fonction utilise en interne le buffer de sortie avec ce paramètre, il ne peut donc pas être utilisé dans la fonction de rappel ob_start().

Valeurs de retour

Retourne la représentation de la variable lorsque le paramètre return est utilisé et évalué à TRUE. Autrement, cette fonction retournera NULL.

Historique

Version | Description
5.1.0 | Possibilité d'exporter des classes et des tableaux contenant des classes en utilisant la méthode magique __set_state.

Exemples

Exemple #1 Exemple avec var_export()

<?php

$a = array (1, 2, array ("a", "b", "c"));
var_export($a);

?>

L'exemple ci-dessus va afficher :

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v; // 3.1

?>

L'exemple ci-dessus va afficher :

3.1

Exemple #2 Exporter des classes depuis PHP 5.1.0

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

L'exemple ci-dessus va afficher :

A::__set_state(array(
   'var' => 5,
))

Exemple #3 Utilisation de __set_state (depuis PHP 5.1.0)

<?php
class A
{
    public $var1;
    public $var2;

    public static function __set_state($an_array)
    {
        $obj = new A;
        $obj->var1 = $an_array['var1'];
        $obj->var2 = $an_array['var2'];
        return $obj;
    }
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
                                     //    'var1' => 5,
                                     //    'var2' => 'foo',
                                     // ));
var_dump($b);
?>

L'exemple ci-dessus va afficher :

object(A)#2 (2) {
    ["var1"]=>
    int(5)
    ["var2"]=>
    string(3) "foo"
}

Notes

Note: Les variables de type ressource ne peuvent être exportées par cette fonction.

Note: var_export() ne gère pas les références circulaires car il serait impossible de générer un code PHP analysable pour ce type de données. Si vous voulez faire quelque chose avec la représentation complète d'un tableau ou d'un objet, utilisez la fonction serialize().

Voir aussi

  • print_r() - Affiche des informations lisibles pour une variable
  • serialize() - Linéarise une variable
  • var_dump() - Affiche les informations d'une variable

var_dump
Services Web
Fonctions de gestion des variables


Services Web

  • OAuth
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions OAuth
    • OAuth — La classe OAuth
    • OAuthProvider — La classe OAuthProvider
    • OAuthException — La classe OAuthException
  • SCA
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions SCA
  • SOAP
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions SOAP
    • SoapClient — La classe SoapClient
    • SoapServer — La classe SoapServer
    • SoapFault — La classe SoapFault
    • SoapHeader — La classe SoapHeader
    • SoapParam — La classe SoapParam
    • SoapVar — La classe SoapVar
  • XML-RPC
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions XML-RPC
var_export
OAuth
Référence des fonctions


OAuth

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • FireEagle
  • Fonctions OAuth
    • oauth_get_sbs — Génère une chaîne de base de signature
    • oauth_urlencode — Encode une URI conformément à RFC 3986
  • OAuth — La classe OAuth
    • OAuth::__construct — Crée un nouvel objet OAuth
    • OAuth::__destruct — Le destructeur
    • OAuth::disableDebug — Désactive les messages de déboguage
    • OAuth::disableRedirects — Désactive les redirections
    • OAuth::disableSSLChecks — Désactive la vérification SSL
    • OAuth::enableDebug — Active les messages de débogage
    • OAuth::enableRedirects — Active les redirections
    • OAuth::enableSSLChecks — Active la vérification SSL
    • OAuth::fetch — Lit une ressource protégée par OAuth
    • OAuth::getAccessToken — Récupère un token d'accès
    • OAuth::getCAPath — Récupère l'information CA
    • OAuth::getLastResponse — Lit la dernière réponse
    • OAuth::getLastResponseInfo — Lit les informations HTTP de la dernière réponse
    • OAuth::getRequestToken — Lit le token de requête
    • OAuth::setAuthType — Définit le type d'autorisation
    • OAuth::setCAPath — Définit le chemin et les informations du CA
    • OAuth::setNonce — Configure le nonce OAuth
    • OAuth::setRequestEngine — Le but de setRequestEngine
    • OAuth::setRSACertificate — Définit le certificat RSA
    • OAuth::setTimestamp — Définit le timestamp
    • OAuth::setToken — Configure le token et le secret
    • OAuth::setVersion — Configure la version OAuth
  • OAuthProvider — La classe OAuthProvider
    • OAuthProvider::addRequiredParameter — Ajoute des paramètres requis
    • OAuthProvider::callconsumerHandler — Appelle la fonction de rappel consumerNonceHandler
    • OAuthProvider::callTimestampNonceHandler — Appelle la fonction de rappel timestampNonceHandler
    • OAuthProvider::calltokenHandler — Appelle la fonction de rappel tokenNonceHandler
    • OAuthProvider::checkOAuthRequest — Vérifie une requête OAuth
    • OAuthProvider::__construct — Construit un nouvel objet OAuthProvider
    • OAuthProvider::consumerHandler — Définit la fonction de rappel consumerHandler
    • OAuthProvider::generateToken — Génère un jeton aléatoire
    • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter — Remove a required parameter
    • OAuthProvider::reportProblem — Report a problem
    • OAuthProvider::setParam — Set a parameter
    • OAuthProvider::setRequestTokenPath — Set request token path
    • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
  • OAuthException — La classe OAuthException
Services Web
Introduction
Services Web


Introduction

Cette extension fournit un client et un prestataire de service OAuth. OAuth est un protocole d'autorisation qui est construit sur HTTP, et qui permet aux applications de sécuriser l'accès aux données sans avoir à stocker de noms d'utilisateurs et de mots de passe.

OAuth
Installation/Configuration
OAuth


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
OAuth


Pré-requis

PECL/oauth requiert PHP 5.1 ou plus récent, les extensions hash et curl avec le support HTTPS.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pear.php.net/package/oauth

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

La plupart de ces constantes impliquent des problèmes décrits dans la documentation officiels de » rapport de problèmes d'OAuth. Notez cependant que les noms des constantes sont spécifiques à PHP, malgré le fait que le schéma de nommage est similaire.

OAUTH_SIG_METHOD_RSASHA1 ( string )
Méthode de signature OAuth RSA-SHA1.
OAUTH_SIG_METHOD_HMACSHA1 ( string )

Méthode de signature OAuth HMAC-SHA1.

OAUTH_SIG_METHOD_HMACSHA256 ( string )
Méthode de signature OAuth HMAC-SHA256.
OAUTH_AUTH_TYPE_AUTHORIZATION ( string )

Cette constante représente l'entête Authorization.

OAUTH_AUTH_TYPE_NONE ( string )

Cette constante indique une requête NoAuth OAuth.

OAUTH_AUTH_TYPE_URI ( string )

Cette constante représente les paramètres OAuth dans l'URI de requête.

OAUTH_AUTH_TYPE_FORM ( string )

Cette constante représente les paramètres OAuth comme une partie du corps HTTP POST.

OAUTH_HTTP_METHOD_GET ( string )

Utilise la méthode GET pour la requête OAuth.

OAUTH_HTTP_METHOD_POST ( string )

Utilise la méthode POST pour la requête OAuth.

OAUTH_HTTP_METHOD_PUT ( string )

Utilise la méthode PUT pour la requête OAuth.

OAUTH_HTTP_METHOD_HEAD ( string )

Utilise la méthode HEAD pour la requête OAuth.

OAUTH_HTTP_METHOD_DELETE ( string )
Utilise la méthode DELETE pour la requête OAuth.
OAUTH_REQENGINE_STREAMS ( integer )
Utilisé par la méthode Oauth::setReqeustEngine pour définir le moteur de flux PHP, à l'opposé de OAUTH_REQENGINE_CURL pour Curl.
OAUTH_REQENGINE_CURL ( integer )
Utilisé par la méthode Oauth::setReqeustEngine pour définir le moteur de Curl, à l'opposé de OAUTH_REQENGINE_STREAMS pour les flux PHP.
OAUTH_OK ( integer )
La vie est belle.
OAUTH_BAD_NONCE ( integer )
La valeur oauth_nonce a été utilisée pour une précédente requête, et ne peut être utilisée maintenant.
OAUTH_BAD_TIMESTAMP ( integer )
La valeur oauth_timestamp n'est pas acceptée par le prestataire de service. Dans ce cas, la réponse devra aussi contenir le paramètre oauth_acceptable_timestamps.
OAUTH_CONSUMER_KEY_UNKNOWN ( integer )
oauth_consumer_key est temporairement innaceptable par le prestataire de service. Par exemple, le prestataire de service surcharge le consommateur.
OAUTH_CONSUMER_KEY_REFUSED ( integer )
La clé du consommateur a été refusée.
OAUTH_INVALID_SIGNATURE ( integer )
oauth_signature est invalide car elle ne correspond pas à la signature calculée par le prestataire de service.
OAUTH_TOKEN_USED ( integer )
oauth_token a été consommé. Elle ne peut plus être utilisée car elle a déjà été utilisée dans une ou plusieurs précédentes requêtes.
OAUTH_TOKEN_EXPIRED ( integer )
oauth_token a expiré.
OAUTH_TOKEN_REVOKED ( integer )
oauth_token a été révoquée et ne pourra plus être acceptée.
OAUTH_TOKEN_REJECTED ( integer )
oauth_token n'a pas été acceptée par le prestataire de service. La raison est inconnue, mais il se peut que le jeton n'a jamais été utilisé, a déjà été consommé, a expiré et/ou a été oublié par le prestataire de service.
OAUTH_VERIFIER_INVALID ( integer )
oauth_verifier est incorrect.
OAUTH_PARAMETER_ABSENT ( integer )
Un paramètre requis n'a pas été reçu. Dans ce cas, la réponse devra également contenir le paramètre oauth_parameters_absent.
OAUTH_SIGNATURE_METHOD_REJECTED ( integer )
oauth_signature_method n'a pas été accepté par le prestataire de service.

Types de ressources
Exemples
OAuth


Exemples

Sommaire

  • FireEagle
Constantes pré-définies
FireEagle
OAuth


FireEagle

$req_url = 'https://fireeagle.yahooapis.com/oauth/request_token';
$authurl = 'https://fireeagle.yahoo.net/oauth/authorize';
$acc_url = 'https://fireeagle.yahooapis.com/oauth/access_token';
$api_url = 'https://fireeagle.yahooapis.com/api/0.1';
$conskey = 'your_consumer_key';
$conssec = 'your_consumer_secret';

session_start();

// En état state=1 la prochaine requete doit inclure le oauth_token.
// Si ce n'est pas le cas, retour à 0
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {
  $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
  $oauth->enableDebug();
  if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
    $request_token_info = $oauth->getRequestToken($req_url);
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['state'] = 1;
    header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
    exit;
  } else if($_SESSION['state']==1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken($acc_url);
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
  }
  $oauth->setToken($_SESSION['token'],$_SESSION['secret']);
  $oauth->fetch("$api_url/user.json");
  $json = json_decode($oauth->getLastResponse());
  print_r($json);
} catch(OAuthException $E) {
  print_r($E);
}
?>

Exemples
Fonctions OAuth
Exemples


Fonctions OAuth

Sommaire

  • oauth_get_sbs — Génère une chaîne de base de signature
  • oauth_urlencode — Encode une URI conformément à RFC 3986
FireEagle
oauth_get_sbs
OAuth


Génère une chaîne de base de signature

Fonctions OAuth
oauth_urlencode
Fonctions OAuth
PHP Manual

oauth_get_sbs

(PECL OAuth >=0.99.7)

oauth_get_sbs — Génère une chaîne de base de signature

Description

string oauth_get_sbs ( string $http_method , string $uri [, array $request_parameters ] )

Génère une chaîne de base de signature pour pecl/oauth.

Liste de paramètres

http_method

La méthode HTTP.

uri

L'URI à encoder.

request_parameters

Tableau de paramètres de requêtes.

Valeurs de retour

Retourne une chaîne, la Signature Base String.

Fonctions OAuth
oauth_urlencode
Fonctions OAuth


Encode une URI conformément à RFC 3986

oauth_get_sbs
OAuth
Fonctions OAuth
PHP Manual

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Encode une URI conformément à RFC 3986

Description

string oauth_urlencode ( string $uri )

Encodes une URI conformément à » RFC 3986.

Liste de paramètres

uri

l'URI à encoder.

Valeurs de retour

Retourne une chaîne encodée conformément à » RFC 3986.

oauth_get_sbs
OAuth
Fonctions OAuth


La classe OAuth

Introduction

L'extension OAuth fournit une interface simple pour interagir avec des fournisseur de données, en utilisant les spécifications OAuth HTTP pour protéger les ressources.

Synopsis de la classe

OAuth
OAuth {
/* Propriétés */
public $debug ;
public $sslChecks ;
public $debugInfo ;
/* Méthodes */
__construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )
public void __destruct ( void )
public bool disableDebug ( void )
public bool disableRedirects ( void )
public bool disableSSLChecks ( void )
public bool enableDebug ( void )
public bool enableRedirects ( void )
public bool enableSSLChecks ( void )
public mixed fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )
public array getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )
public array getCAPath ( void )
public string getLastResponse ( void )
public array getLastResponseInfo ( void )
public array getRequestToken ( string $request_token_url [, string $callback_url ] )
public mixed setAuthType ( int $auth_type )
public mixed setCAPath ( string $ca_path , string $ca_info )
public mixed setNonce ( string $nonce )
public void setRequestEngine ( string $reqengine )
public mixed setRSACertificate ( string $cert )
public mixed setTimestamp ( string $timestamp )
public bool setToken ( string $token , string $token_secret )
public bool setVersion ( string $version )
}

Propriétés

debug

sslChecks

debugInfo

Sommaire

  • OAuth::__construct — Crée un nouvel objet OAuth
  • OAuth::__destruct — Le destructeur
  • OAuth::disableDebug — Désactive les messages de déboguage
  • OAuth::disableRedirects — Désactive les redirections
  • OAuth::disableSSLChecks — Désactive la vérification SSL
  • OAuth::enableDebug — Active les messages de débogage
  • OAuth::enableRedirects — Active les redirections
  • OAuth::enableSSLChecks — Active la vérification SSL
  • OAuth::fetch — Lit une ressource protégée par OAuth
  • OAuth::getAccessToken — Récupère un token d'accès
  • OAuth::getCAPath — Récupère l'information CA
  • OAuth::getLastResponse — Lit la dernière réponse
  • OAuth::getLastResponseInfo — Lit les informations HTTP de la dernière réponse
  • OAuth::getRequestToken — Lit le token de requête
  • OAuth::setAuthType — Définit le type d'autorisation
  • OAuth::setCAPath — Définit le chemin et les informations du CA
  • OAuth::setNonce — Configure le nonce OAuth
  • OAuth::setRequestEngine — Le but de setRequestEngine
  • OAuth::setRSACertificate — Définit le certificat RSA
  • OAuth::setTimestamp — Définit le timestamp
  • OAuth::setToken — Configure le token et le secret
  • OAuth::setVersion — Configure la version OAuth
oauth_urlencode
OAuth::__construct
OAuth


Crée un nouvel objet OAuth

OAuth
OAuth::__destruct
OAuth
PHP Manual

OAuth::__construct

(PECL OAuth >= 0.99.1)

OAuth::__construct — Crée un nouvel objet OAuth

Description

OAuth::__construct ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )

Crée un nouvel objet OAuth.

Liste de paramètres

consumer_key

La clé de lecture fournie par le fournisseur de services.

consumer_secret

Le secret de lecture fourni par le fournisseur de services.

signature_method

Ce paramètre optionnel définit la méthode de signature utilisée. Par défaut, c'est OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).

auth_type

Ce paramètre optionnel définit la méthode de passage des paramètres OAuth au fournisseur de services. Par défaut, c'est OAUTH_AUTH_TYPE_AUTHORIZATION (dans l'entête Authorization).

OAuth
OAuth::__destruct
OAuth


Le destructeur

OAuth::__construct
OAuth::disableDebug
OAuth
PHP Manual

OAuth::__destruct

(PECL OAuth >= 0.99.9)

OAuth::__destruct — Le destructeur

Description

public void OAuth::__destruct ( void )

Le destructeur.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • OAuth::__construct - Crée un nouvel objet OAuth
OAuth::__construct
OAuth::disableDebug
OAuth


Désactive les messages de déboguage

OAuth::__destruct
OAuth::disableRedirects
OAuth
PHP Manual

OAuth::disableDebug

(PECL OAuth >= 0.99.3)

OAuth::disableDebug — Désactive les messages de déboguage

Description

public bool OAuth::disableDebug ( void )

Désactive les messages de déboguage. Il est désactivé par défaut. Vous pouvez définir la propriété debug à FALSE pour désactiver le déboguage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE

Historique

Version | Description
0.99.8 | La propriété debug a été ajoutée

Voir aussi

  • OAuth::enableDebug - Active les messages de débogage

OAuth::__destruct
OAuth::disableRedirects
OAuth


Désactive les redirections

OAuth::disableDebug
OAuth::disableSSLChecks
OAuth
PHP Manual

OAuth::disableRedirects

(PECL OAuth >= 0.99.9)

OAuth::disableRedirects — Désactive les redirections

Description

public bool OAuth::disableRedirects ( void )

Désactive les redirections, permettant ainsi aux requêtes d'être redirigées manuellement.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE

Voir aussi

  • OAuth::enableRedirects - Active les redirections
OAuth::disableDebug
OAuth::disableSSLChecks
OAuth


Désactive la vérification SSL

OAuth::disableRedirects
OAuth::enableDebug
OAuth
PHP Manual

OAuth::disableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::disableSSLChecks — Désactive la vérification SSL

Description

public bool OAuth::disableSSLChecks ( void )

Désactive les vérifications de certificats et d'hôtes SLL (activé par défaut). Il est recommandé de ne pas utiliser cette fonction en production.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE

Historique

Version | Description
0.99.8 | La propriété debug a été ajoutée

Voir aussi

  • OAuth::enableSSLChecks - Active la vérification SSL

OAuth::disableRedirects
OAuth::enableDebug
OAuth


Active les messages de débogage

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth
PHP Manual

OAuth::enableDebug

(PECL OAuth >= 0.99.3)

OAuth::enableDebug — Active les messages de débogage

Description

public bool OAuth::enableDebug ( void )

Désactive les messages de débogage, pratiques en développement, mais inutiles en production.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE

Historique

Version | Description
0.99.8 | La propriété debug a été ajoutée

Voir aussi

  • OAuth::disableDebug - Désactive les messages de déboguage

OAuth::disableSSLChecks
OAuth::enableRedirects
OAuth


Active les redirections

OAuth::enableDebug
OAuth::enableSSLChecks
OAuth
PHP Manual

OAuth::enableRedirects

(PECL OAuth >= 0.99.9)

OAuth::enableRedirects — Active les redirections

Description

public bool OAuth::enableRedirects ( void )

Suit les redirections automatiquement ; c'est le comportement par défaut.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE

Voir aussi

  • OAuth::disableRedirects - Désactive les redirections
OAuth::enableDebug
OAuth::enableSSLChecks
OAuth


Active la vérification SSL

OAuth::enableRedirects
OAuth::fetch
OAuth
PHP Manual

OAuth::enableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::enableSSLChecks — Active la vérification SSL

Description

public bool OAuth::enableSSLChecks ( void )

Active les vérifications de certificats et d'hôtes SLL (activé par défaut).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

TRUE

Historique

Version | Description
0.99.8 | La propriété debug a été ajoutée

Voir aussi

  • OAuth::disableSSLChecks - Désactive la vérification SSL

OAuth::enableRedirects
OAuth::fetch
OAuth


Lit une ressource protégée par OAuth

OAuth::enableSSLChecks
OAuth::getAccessToken
OAuth
PHP Manual

OAuth::fetch

(PECL OAuth >= 0.99.1)

OAuth::fetch — Lit une ressource protégée par OAuth

Description

public mixed OAuth::fetch ( string $protected_resource_url [, array $extra_parameters [, string $http_method [, array $http_headers ]]] )

Lit une ressource protégée par OAuth.

Liste de paramètres

protected_resource_url

URL de la ressource protégées par OAuth.

extra_parameters

Paramètres supplémentaires à envoyer avec la requête, à la ressource.

http_method

Une des constantes OAUTH constants OAUTH_HTTP_METHOD_*, incluant GET, POST, PUT, HEAD, ou DELETE.

HEAD (OAUTH_HTTP_METHOD_HEAD) peut être utile pour découvrir des informations avant la demande (si les autorisations OAuth sont dans l'en-tête Authorization header).

http_headers

Les entêtes client HTTP (tels que User-Agent, Accept, etc.)

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.
0.99.5 | Ajout du paramètre http_method
0.99.8 | Ajout du paramètre http_headers

Exemples

Exemple #1 Exemple avec OAuth::fetch()

<?php
try {
    $oauth = new OAuth("consumer_key","consumer_secret",OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->setToken("access_token","access_token_secret");

    $oauth->fetch("http://photos.example.net/photo?file=vacation.jpg");

    $response_info = $oauth->getLastResponseInfo();
    header("Content-Type: {$response_info["content_type"]}");
    echo $oauth->getLastResponse();
} catch(OAuthException $E) {
    echo "Exception caught!\n";
    echo "Response: ". $E->lastResponse . "\n";
}
?>

Voir aussi

  • OAuth::getLastResponse - Lit la dernière réponse
  • OAuth::getLastResponseInfo - Lit les informations HTTP de la dernière réponse
  • OAuth::setToken - Configure le token et le secret

OAuth::enableSSLChecks
OAuth::getAccessToken
OAuth


Récupère un token d'accès

OAuth::fetch
OAuth::getCAPath
OAuth
PHP Manual

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — Récupère un token d'accès

Description

public array OAuth::getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )

Lit un token, un secret et toute information supplémentaire chez un fournisseur de services.

Liste de paramètres

access_token_url

L'URL à utiliser.

auth_session_handle

L'identifiant de session. Ce paramètre n'a pas d'existence dans les spécifications OAuth 1.0, mais peut être mis en place par de grosses implémentations. Voyez » ScalableOAuth pour plus de détails.

verifier_token

Pour les fournisseurs de service qui supportent 1.0a, le paramètre verifier_token doit être fourni, lors de l'échange de token de requête pour obtenir le token d'accès. Si verifier_token est présent dans $_GET ou $_POST, il est automatiquement passé et l'appelant n'a pas besoin de préciser de paramètre verifier_token (généralement, le token d'accès est échangé via l'URL de rappel callback_url.). Voyez » ScalableOAuth pour plus d'informations.

Valeurs de retour

Retourne un tableau contenant la réponse OAuth analyse, en cas de succès, et FALSE sinon.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.
0.99.9 | Le paramètre verifier_token a été ajouté

Exemples

Exemple #1 Exemple avec OAuth::getAccessToken()

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $oauth->setToken($request_token,$request_token_secret);
    $access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token");
    if(!empty($access_token_info)) {
        print_r($access_token_info);
    } else {
        print "Failed fetching access token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Voir aussi

  • OAuth::getLastResponse - Lit la dernière réponse
  • OAuth::getLastResponseInfo - Lit les informations HTTP de la dernière réponse
  • OAuth::setToken - Configure le token et le secret

OAuth::fetch
OAuth::getCAPath
OAuth


Récupère l'information CA

OAuth::getAccessToken
OAuth::getLastResponse
OAuth
PHP Manual

OAuth::getCAPath

(PECL OAuth >= 0.99.8)

OAuth::getCAPath — Récupère l'information CA

Description

public array OAuth::getCAPath ( void )

Récupère les informations du certificat de l'autorité, incluant les valeurs de ca_path et ca_info définit par la méthode OAuth::setCaPath.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau d'informations sur le certificat de l'autorité, contenant entre autres, les clés ca_path et ca_info.

Voir aussi

  • OAuth::setCAPath - Définit le chemin et les informations du CA
  • OAuth::getLastResponseInfo - Lit les informations HTTP de la dernière réponse
OAuth::getAccessToken
OAuth::getLastResponse
OAuth


Lit la dernière réponse

OAuth::getCAPath
OAuth::getLastResponseInfo
OAuth
PHP Manual

OAuth::getLastResponse

(PECL OAuth >= 0.99.1)

OAuth::getLastResponse — Lit la dernière réponse

Description

public string OAuth::getLastResponse ( void )

Lit la réponse brute de la dernière requête.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une chaîne avec la dernière requête.

Voir aussi

  • OAuth::getLastResponseInfo - Lit les informations HTTP de la dernière réponse
  • OAuth::fetch - Lit une ressource protégée par OAuth

OAuth::getCAPath
OAuth::getLastResponseInfo
OAuth


Lit les informations HTTP de la dernière réponse

OAuth::getLastResponse
OAuth::getRequestToken
OAuth
PHP Manual

OAuth::getLastResponseInfo

(PECL OAuth >= 0.99.1)

OAuth::getLastResponseInfo — Lit les informations HTTP de la dernière réponse

Description

public array OAuth::getLastResponseInfo ( void )

Lit les informations HTTP de la dernière réponse.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant les informations de réponse de la dernière requête. Les constantes de curl_getinfo() sont aussi utilisables.

Voir aussi

  • OAuth::fetch - Lit une ressource protégée par OAuth
  • OAuth::getLastResponse - Lit la dernière réponse

OAuth::getLastResponse
OAuth::getRequestToken
OAuth


Lit le token de requête

OAuth::getLastResponseInfo
OAuth::setAuthType
OAuth
PHP Manual

OAuth::getRequestToken

(PECL OAuth >= 0.99.1)

OAuth::getRequestToken — Lit le token de requête

Description

public array OAuth::getRequestToken ( string $request_token_url [, string $callback_url ] )

Lit le token de requête, le secret et toute information supplémentaire du fournisseur de services.

Liste de paramètres

request_token_url

l'URL dont il faut obtenir le token.

callback_url

URL de rappel OAuth. Si callback_url est passé et que sa valeur est vide, il prend alors la valeur de "oob" pour satisfaire aux exigences de OAuth 2009.1 advisory.

Valeurs de retour

Retourne un tableau contenant la réponse OAuth analysée, en cas de succès, ou FALSE en cas d'échec.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.
0.99.9 | Le paramètre callback_url a été ajouté

Exemples

Exemple #1 Exemple avec OAuth::getRequestToken()

<?php
try {
    $oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
    $request_token_info = $oauth->getRequestToken("https://example.com/oauth/request_token");
    if(!empty($request_token_info)) {
        print_r($request_token_info);
    } else {
        print "Failed fetching request token, response was: " . $oauth->getLastResponse();
    }
} catch(OAuthException $E) {
    echo "Response: ". $E->lastResponse . "\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Voir aussi

  • OAuth::getLastResponse - Lit la dernière réponse
  • OAuth::getLastResponseInfo - Lit les informations HTTP de la dernière réponse

OAuth::getLastResponseInfo
OAuth::setAuthType
OAuth


Définit le type d'autorisation

OAuth::getRequestToken
OAuth::setCAPath
OAuth
PHP Manual

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — Définit le type d'autorisation

Description

public mixed OAuth::setAuthType ( int $auth_type )

Configure les paramètres OAuth.

Liste de paramètres

auth_type

auth_type peut être un des options suivantes (elles sont classées par ordre décroissant de préférence, tel que précisé dans OAuth 1.0 section 5.2) :

OAUTH_AUTH_TYPE_AUTHORIZATION
Passe les paramètres OAuth dans l'entête HTTP Authorization.
OAUTH_AUTH_TYPE_FORM
Ajoute les paramètres OAuth au corps de la requête HTTP POST.
OAUTH_AUTH_TYPE_URI
Ajoute les paramètres OAuth à l'URI.
OAUTH_AUTH_TYPE_NONE
Aucun.

Valeurs de retour

Retourne TRUE si un paramètre est correctement défini, FALSE dans les autres cas.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.

OAuth::getRequestToken
OAuth::setCAPath
OAuth


Définit le chemin et les informations du CA

OAuth::setAuthType
OAuth::setNonce
OAuth
PHP Manual

OAuth::setCAPath

(PECL OAuth >= 0.99.8)

OAuth::setCAPath — Définit le chemin et les informations du CA

Description

public mixed OAuth::setCAPath ( string $ca_path , string $ca_info )

Définit le certificat d'autorité (CA), pour à la fois le chemin et les informations.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

ca_path

Le chemin du CA à définir.

ca_info

Les informations du CA à définir.

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si ca_path ou ca_info sont considérés comme invalide.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.

Voir aussi

  • OAuth::getCaPath - Récupère l'information CA
OAuth::setAuthType
OAuth::setNonce
OAuth


Configure le nonce OAuth

OAuth::setCAPath
OAuth::setRequestEngine
OAuth
PHP Manual

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Configure le nonce OAuth

Description

public mixed OAuth::setNonce ( string $nonce )

Configure le nonce OAuth pour les appels suivants.

Liste de paramètres

nonce

La valeur de oauth_nonce.

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si le paramètre nonce est considéré comme invalide.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.

Voir aussi

  • OAuth::setToken - Configure le token et le secret
  • OAuth::setAuthType - Définit le type d'autorisation
  • OAuth::setVersion - Configure la version OAuth

OAuth::setCAPath
OAuth::setRequestEngine
OAuth


Le but de setRequestEngine

OAuth::setNonce
OAuth::setRSACertificate
OAuth
PHP Manual

OAuth::setRequestEngine

(PECL OAuth >= 1.0.0)

OAuth::setRequestEngine — Le but de setRequestEngine

Description

public void OAuth::setRequestEngine ( string $reqengine )

Définit le moteur de requête, utilisé pour envoyer les requêtes HTTP.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

reqengine

Le moteur de requêtes désiré. Définir à OAUTH_REQENGINE_STREAMS pour utiliser les flux PHP, ou OAUTH_REQENGINE_CURL pour utiliser Curl.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une exception OAuthException si un moteur de requêtes invalide est choisi.

Exemples

Exemple #1 Exemple avec OAuth::setRequestEngine()

<?php
$consumer = new OAuth();

$consumer->setRequestEngine(OAUTH_REQENGINE_STREAMS);
?>

Voir aussi

  • Curl
  • Les flux PHP
  • OAuthException
OAuth::setNonce
OAuth::setRSACertificate
OAuth


Définit le certificat RSA

OAuth::setRequestEngine
OAuth::setTimestamp
OAuth
PHP Manual

OAuth::setRSACertificate

(PECL OAuth >= 1.0.0)

OAuth::setRSACertificate — Définit le certificat RSA

Description

public mixed OAuth::setRSACertificate ( string $cert )

Définit le certificat RSA.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

cert

Le certificat RSA.

Valeurs de retour

Retourne TRUE en cas de succès, ou FALSE si une erreur survient (i.e., le certificat RSA ne peut être analysé.)

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.

Exemples

Exemple #1 Exemple avec OAuth::setRsaCertificate

<?php
$consume = new OAuth('1234', '', OAUTH_SIG_METHOD_RSASHA1);

$consume->setRSACertificate(file_get_contents('test.pem'));
?>

Voir aussi

  • OAuth::setCaPath - Définit le chemin et les informations du CA
OAuth::setRequestEngine
OAuth::setTimestamp
OAuth


Définit le timestamp

OAuth::setRSACertificate
OAuth::setToken
OAuth
PHP Manual

OAuth::setTimestamp

(PECL OAuth >= 1.0.0)

OAuth::setTimestamp — Définit le timestamp

Description

public mixed OAuth::setTimestamp ( string $timestamp )

Définit le timestamp OAuth pour les prochaines requêtes.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

timestamp

Le timestamp.

Valeurs de retour

Retourne TRUE, ou FALSE si timestamp est invalide.

Historique

Version | Description
1.0.0 | Avant cette version, NULL était retourné au lieu de FALSE.

Voir aussi

  • setNonce
OAuth::setRSACertificate
OAuth::setToken
OAuth


Configure le token et le secret

OAuth::setTimestamp
OAuth::setVersion
OAuth
PHP Manual

OAuth::setToken

(PECL OAuth >= 0.99.1)

OAuth::setToken — Configure le token et le secret

Description

public bool OAuth::setToken ( string $token , string $token_secret )

Configure le token et le secret pour les prochains appels.

Liste de paramètres

token

Le token OAuth.

token_secret

Le secret OAuth.

Valeurs de retour

TRUE

Exemples

Exemple #1 L'exemple OAuth::setToken()

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>

OAuth::setTimestamp
OAuth::setVersion
OAuth


Configure la version OAuth

OAuth::setToken
OAuthProvider
OAuth
PHP Manual

OAuth::setVersion

(PECL OAuth >= 0.99.1)

OAuth::setVersion — Configure la version OAuth

Description

public bool OAuth::setVersion ( string $version )

Configure la version de OAuth pour les prochains appels.

Liste de paramètres

version

La version OAuth, et par défaut, c'est toujours "1.0"

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

OAuth::setToken
OAuthProvider
OAuth


La classe OAuthProvider

Introduction

Gère une classe OAuthProvider.

Voir aussi un tutoriel externe nommé » Écrire un service OAuth Provider, qui fournit une bonne approche pour proposer ce service. Il y a également des » exemples OAuth provider directement dans les sources de l'extension OAuth.

Synopsis de la classe

OAuthProvider
OAuthProvider {
/* Méthodes */
final public bool addRequiredParameter ( string $req_params )
public void callconsumerHandler ( void )
public void callTimestampNonceHandler ( void )
public void calltokenHandler ( void )
public void checkOAuthRequest ([ string $uri [, string $method ]] )
__construct ([ array $params_array ] )
public void consumerHandler ( callback $callback_function )
final public static string generateToken ( int $size [, bool $strong = false ] )
public void is2LeggedEndpoint ( mixed $params_array )
public void isRequestTokenEndpoint ( bool $will_issue_request_token )
final public bool removeRequiredParameter ( string $req_params )
final public static void reportProblem ( string $oauthexception )
final public bool setParam ( string $param_key [, mixed $param_val ] )
final public bool setRequestTokenPath ( string $path )
public void timestampNonceHandler ( callback $callback_function )
public void tokenHandler ( callback $callback_function )
}

Sommaire

  • OAuthProvider::addRequiredParameter — Ajoute des paramètres requis
  • OAuthProvider::callconsumerHandler — Appelle la fonction de rappel consumerNonceHandler
  • OAuthProvider::callTimestampNonceHandler — Appelle la fonction de rappel timestampNonceHandler
  • OAuthProvider::calltokenHandler — Appelle la fonction de rappel tokenNonceHandler
  • OAuthProvider::checkOAuthRequest — Vérifie une requête OAuth
  • OAuthProvider::__construct — Construit un nouvel objet OAuthProvider
  • OAuthProvider::consumerHandler — Définit la fonction de rappel consumerHandler
  • OAuthProvider::generateToken — Génère un jeton aléatoire
  • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
  • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
  • OAuthProvider::removeRequiredParameter — Remove a required parameter
  • OAuthProvider::reportProblem — Report a problem
  • OAuthProvider::setParam — Set a parameter
  • OAuthProvider::setRequestTokenPath — Set request token path
  • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
  • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
OAuth::setVersion
OAuthProvider::addRequiredParameter
OAuth


Ajoute des paramètres requis

OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider
PHP Manual

OAuthProvider::addRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::addRequiredParameter — Ajoute des paramètres requis

Description

final public bool OAuthProvider::addRequiredParameter ( string $req_params )

Ajoute des paramètres requis oauth provider.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

req_params

Les paramètres requis.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OAuthProvider::removeRequiredParameter - Remove a required parameter
OAuthProvider
OAuthProvider::callconsumerHandler
OAuthProvider


Appelle la fonction de rappel consumerNonceHandler

OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::callconsumerHandler

(No version information available, might only be in SVN)

OAuthProvider::callconsumerHandler — Appelle la fonction de rappel consumerNonceHandler

Description

public void OAuthProvider::callconsumerHandler ( void )

Appelle la fonction de rappel consumer handler, qui a été définie par la méthode OAuthProvider::consumerHandler.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une erreur E_ERROR si la fonction de rappel ne peut être appelée ou n'a pas été spécifiée.

Voir aussi

  • OAuthProvider::consumerHandler - Définit la fonction de rappel consumerHandler
OAuthProvider::addRequiredParameter
OAuthProvider::callTimestampNonceHandler
OAuthProvider


Appelle la fonction de rappel timestampNonceHandler

OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider
PHP Manual

OAuthProvider::callTimestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::callTimestampNonceHandler — Appelle la fonction de rappel timestampNonceHandler

Description

public void OAuthProvider::callTimestampNonceHandler ( void )

Appelle la fonction de rappel timestamp handler, qui a été définie par la méthode OAuthProvider::timestampNonceHandler.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une erreur E_ERROR si la fonction de rappel ne peut être appelée ou n'a pas été spécifiée.

Voir aussi

  • OAuthProvider::timestampNonceHandler - Set the timestampNonceHandler handler callback
OAuthProvider::callconsumerHandler
OAuthProvider::calltokenHandler
OAuthProvider


Appelle la fonction de rappel tokenNonceHandler

OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider
PHP Manual

OAuthProvider::calltokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::calltokenHandler — Appelle la fonction de rappel tokenNonceHandler

Description

public void OAuthProvider::calltokenHandler ( void )

Appelle la fonction de rappel token handler, qui a été définie par la méthode OAuthProvider::tokenHandler.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une erreur E_ERROR si la fonction de rappel ne peut être appelée ou n'a pas été spécifiée.

Voir aussi

  • OAuthProvider::tokenHandler - Set the tokenHandler handler callback
OAuthProvider::callTimestampNonceHandler
OAuthProvider::checkOAuthRequest
OAuthProvider


Vérifie une requête OAuth

OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider
PHP Manual

OAuthProvider::checkOAuthRequest

(PECL OAuth >= 1.0.0)

OAuthProvider::checkOAuthRequest — Vérifie une requête OAuth

Description

public void OAuthProvider::checkOAuthRequest ([ string $uri [, string $method ]] )

Vérifie une requête OAuth.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

uri

L'URI, optionnel, ou un point final.

method

La méthode HTTP. Optionnel ; passez-y une constante parmi les constantes OAuth OAUTH_HTTP_METHOD_* .

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet une erreur de niveau E_ERROR si la méthode HTTP ne peut être détectée.

Voir aussi

  • OAuthProvider::reportProblem - Report a problem
OAuthProvider::calltokenHandler
OAuthProvider::__construct
OAuthProvider


Construit un nouvel objet OAuthProvider

OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider
PHP Manual

OAuthProvider::__construct

(PECL OAuth >= 1.0.0)

OAuthProvider::__construct — Construit un nouvel objet OAuthProvider

Description

OAuthProvider::__construct ([ array $params_array ] )

Initie un nouvel object OAuthProvider.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

params_array

Le fait de définir des paramètres optionnels est limité au SAPI CLI.

Valeurs de retour

Un object OAuthProvider.

Exemples

Exemple #1 Exemple avec OAuthProvider::__construct()

<?php
try {

    $op = new OAuthProvider();

    // Utilisation des fonctions de rappel définies par l'utilisateur
    $op->consumerHandler(array($this, 'lookupConsumer'));
    $op->timestampNonceHandler(array($this, 'timestampNonceChecker'));
    $op->tokenHandler(array($this, 'myTokenHandler'));

    // Ignore le paramètre foo_uri
    $op->setParam('foo_uri', NULL);

    // Aucun jeton nécessaire pour ce point final
    $op->setRequestTokenPath('/v1/oauth/request_token');

    $op->checkOAuthRequest();

} catch (OAuthException $e) {

    echo OAuthProvider::reportProblem($e);
}
?>

Voir aussi

  • OAuthProvider::setParam - Set a parameter
OAuthProvider::checkOAuthRequest
OAuthProvider::consumerHandler
OAuthProvider


Définit la fonction de rappel consumerHandler

OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider
PHP Manual

OAuthProvider::consumerHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::consumerHandler — Définit la fonction de rappel consumerHandler

Description

public void OAuthProvider::consumerHandler ( callback $callback_function )

Définit la fonction de rappel consumer handler, qui pourra ensuite être appelée avec la méthode OAuthProvider::callConsumerHandler.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

callback_function

Le nom de la fonction de rappel.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec OAuthProvider::consumerHandler

<?php
function lookupConsumer($provider) {

    if ($provider->consumer_key === 'unknown') {
        return OAUTH_CONSUMER_KEY_UNKNOWN;
    } else if($provider->consumer_key == 'blacklisted' || $provider->consumer_key === 'throttled') {
        return OAUTH_CONSUMER_KEY_REFUSED;
    }

    $provider->consumer_secret = "the_consumers_secret";

    return OAUTH_OK;
}
?>

Voir aussi

  • OAuthProvider::callConsumerHandler - Appelle la fonction de rappel consumerNonceHandler
OAuthProvider::__construct
OAuthProvider::generateToken
OAuthProvider


Génère un jeton aléatoire

OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider
PHP Manual

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — Génère un jeton aléatoire

Description

final public static string OAuthProvider::generateToken ( int $size [, bool $strong = false ] )

Génère une chaîne de caractères d'octets pseudo-aléatoires.

Liste de paramètres

size

La longueur désirée du jeton, en octets.

strong

Définit à TRUE, signifie que /dev/random sera utilisé, sinon, ce sera /dev/urandom. Ce paramètre est ignoré sous Windows.

Valeurs de retour

Le jeton généré, sous la forme d'une chaîne de caractères d'octets.

Erreurs / Exceptions

Si le paramètre strong vaut TRUE, alors, une alerte de niveau E_WARNING sera émise lorsque la fonction de rappel rand() est utilisée pour compléter les octets aléatoires manquant (i.e., lorsqu'il n'y a pas assez de données aléatoires initialement).

Exemples

Exemple #1 Exemple avec OAuthProvider::generateToken()

<?php
$p = new OAuthProvider();

$t = $p->generateToken(4);

echo strlen($t),  PHP_EOL;
echo bin2hex($t), PHP_EOL;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

4
b6a82c27

Notes

Note: Lorsqu'il n'y a pas assez de données aléatoires de disponible sur le système, cette fonction complètera les octets manquant en utilisant la fonction PHP interne rand().

Voir aussi

  • openssl_random_pseudo_bytes() - Génère une chaine pseudo-aléatoire d'octets
  • mcrypt_create_iv() - Crée un vecteur d'initialisation à partir d'une source aléatoire
OAuthProvider::consumerHandler
OAuthProvider::is2LeggedEndpoint
OAuthProvider


is2LeggedEndpoint

OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider
PHP Manual

OAuthProvider::is2LeggedEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint

Description

public void OAuthProvider::is2LeggedEndpoint ( mixed $params_array )

The 2-legged flow, or request signing. It does not require a token.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

params_array

Valeurs de retour

An OAuthProvider object .

Exemples

Exemple #1 OAuthProvider::is2LeggedEndpoint() example

<?php

$provider = new OAuthProvider();

$provider->is2LeggedEndpoint(true);

?>

Voir aussi

  • OAuthProvider::__construct - Construit un nouvel objet OAuthProvider
OAuthProvider::generateToken
OAuthProvider::isRequestTokenEndpoint
OAuthProvider


Sets isRequestTokenEndpoint

OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider
PHP Manual

OAuthProvider::isRequestTokenEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint

Description

public void OAuthProvider::isRequestTokenEndpoint ( bool $will_issue_request_token )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

will_issue_request_token

Sets whether or not it will issue a request token, thus determining if OAuthProvider::tokenHandler needs to be called.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • OAuthProvider::setRequestTokenPath - Set request token path
  • OAuthProvider::reportProblem - Report a problem
OAuthProvider::is2LeggedEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider


Remove a required parameter

OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider
PHP Manual

OAuthProvider::removeRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::removeRequiredParameter — Remove a required parameter

Description

final public bool OAuthProvider::removeRequiredParameter ( string $req_params )

Removes a required parameter.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

req_params

The required parameter to be removed.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OAuthProvider::setParam - Set a parameter
  • OAuthProvider::addRequiredParameter - Ajoute des paramètres requis
OAuthProvider::isRequestTokenEndpoint
OAuthProvider::reportProblem
OAuthProvider


Report a problem

OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider
PHP Manual

OAuthProvider::reportProblem

(PECL OAuth >= 1.0.0)

OAuthProvider::reportProblem — Report a problem

Description

final public static void OAuthProvider::reportProblem ( string $oauthexception )

Pass in a problem as an OAuthException, with possible problems listed in the OAuth constants section.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

oauthexception

The OAuthException.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • OAuthProvider::checkOAuthRequest - Vérifie une requête OAuth
  • OAuthProvider::isRequestTokenEndpoint - Sets isRequestTokenEndpoint
OAuthProvider::removeRequiredParameter
OAuthProvider::setParam
OAuthProvider


Set a parameter

OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider
PHP Manual

OAuthProvider::setParam

(PECL OAuth >= 1.0.0)

OAuthProvider::setParam — Set a parameter

Description

final public bool OAuthProvider::setParam ( string $param_key [, mixed $param_val ] )

Sets a parameter.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

param_key

The parameter key.

param_val

The optional parameter value.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • OAuthProvider::addRequiredParameter - Ajoute des paramètres requis
OAuthProvider::reportProblem
OAuthProvider::setRequestTokenPath
OAuthProvider


Set request token path

OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider
PHP Manual

OAuthProvider::setRequestTokenPath

(PECL OAuth >= 1.0.0)

OAuthProvider::setRequestTokenPath — Set request token path

Description

final public bool OAuthProvider::setRequestTokenPath ( string $path )

Sets the request tokens path.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

path

The path.

Valeurs de retour

TRUE

Voir aussi

  • OAuthProvider::tokenHandler - Set the tokenHandler handler callback
OAuthProvider::setParam
OAuthProvider::timestampNonceHandler
OAuthProvider


Set the timestampNonceHandler handler callback

OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider
PHP Manual

OAuthProvider::timestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback

Description

public void OAuthProvider::timestampNonceHandler ( callback $callback_function )

Sets the timestamp nonce handler callback, which will later be called with OAuthProvider::callTimestampNonceHandler. Errors related to timestamp/nonce are thrown to this callback.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

callback_function

The callback functions name.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Example OAuthProvider::timestampNonceHandler callback

<?php
function timestampNonceChecker($provider) {

    if ($provider->nonce === 'bad') {
        return OAUTH_BAD_NONCE;
    } elseif ($provider->timestamp == '0') {
        return OAUTH_BAD_TIMESTAMP;
    }

    return OAUTH_OK;
}
?>

Voir aussi

  • OAuthProvider::callTimestampNonceHandler - Appelle la fonction de rappel timestampNonceHandler
OAuthProvider::setRequestTokenPath
OAuthProvider::tokenHandler
OAuthProvider


Set the tokenHandler handler callback

OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider
PHP Manual

OAuthProvider::tokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::tokenHandler — Set the tokenHandler handler callback

Description

public void OAuthProvider::tokenHandler ( callback $callback_function )

Sets the token handler callback, which will later be called with OAuthProvider::callTokenHandler.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

callback_function

The callback functions name.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Example OAuthProvider::tokenHandler callback

<?php
function tokenHandler($provider) {

    if ($provider->token === 'rejected') {
        return OAUTH_TOKEN_REJECTED;
    } elseif ($provider->token === 'revoked') {
        return OAUTH_TOKEN_REVOKED;
    }

    $provider->token_secret = "the_tokens_secret";
    return OAUTH_OK;
}
?>

Voir aussi

  • OAuthProvider::callTokenHandler - Appelle la fonction de rappel tokenNonceHandler
OAuthProvider::timestampNonceHandler
OAuthException
OAuthProvider


La classe OAuthException

Introduction

Cette exception est émise quand des erreurs exceptionnelles surviennent durant l'utilisation de l'extension OAuth, et contient des informations pratiques pour déboguer.

Synopsis de la classe

OAuthException
OAuthException extends Exception {
/* Propriétés */
public $lastResponse ;
public $debugInfo ;
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propriétés

message

Un message lisible sur le problème rencontré

code

Code de l'exception

file

Fichier où l'exception a été émise

line

Ligne où l'exception a été émise

lastResponse

La réponse à l'exception, s'il y en a eu une

debugInfo

OAuthProvider::tokenHandler
SCA
OAuth


SCA

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • La structure d'un composant de service
    • Obtention d'un proxy pour un autre composant de service
    • Appel d'un autre composant de service
    • Localisation et appel d'un service, depuis un script qui n'est pas un composant SCA
    • Exposer un composant comme un service Web
    • Déploiement d'un composant SCA
    • Obtenir le WSDL d'un composant SCA qui offre un service Web
    • Comprendre la génération du fichier WSDL
    • Travailler avec des structures de données
    • Gestion d'erreurs
  • Fonctions SCA
    • SCA_LocalProxy::createDataObject — Crée un SDO
    • SCA_SoapProxy::createDataObject — Crée un SDO
    • SCA::createDataObject — crée un SDO
    • SCA::getService — Obtient un proxy pour un service
OAuthException
Introduction
Services Web


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

SCA pour PHP rend possible aux programmeurs PHP l'utilisation de composants réutilisables, qui peuvent être appelées de différentes façons, avec une interface identique et un minimum de tracas. Actuellement, les composants peuvent s'appeller l'un l'autre, localement ou via des services Web, mais a l'avenir, il est prévu de mettre en place d'autres moyens de communication. SCA fournit aux programmeurs une approche aussi naturelle que possible pour cela.

Les composants SCA utilisent des annotations style phpDocumentor (voyez http://www.phpdoc.org/) pour déclarer des dépendances avec les autres composants SCA ou les services Web. L'exécuteur SCA de PHP résout ces dépendances à l'exécution, pour les autres composants, et permet au développeur PHP de se concentrer sur la logique métier, plutôt que sur la localisation des ressources.

Le modèle SCA pour PHP peut être étendu pour supporter de nombreux autres types de services, tels que REST et Atompub. Cependant, les services Web, et plus exactement, les services SOAP sur HTTP avec document WSDL) sont les seuls qui soient spécifiés.

Les composants utilisent aussi les annotations pour définir les interfaces avec lesquels ils exposent leurs services. L'exécuteur SCA pour PHP va automatiquement générer le document WSDL pour ces annotations, afin que les composants puissent exposer facilement leurs services Web. Ces annotations sont une extension naturelle de phpDocumentor. Déployer un service Web peut alors êtr aussi simple que de placer un composant PHP dans la racine Web d'un serveur Web.

Les composants utilisent aussi les annotations pour spécifier les structures de données (exprimées avec des types complexe de schéma XML), qui sont gérés avec Service Data Objects (SDOs).

Un script PHP qui n'est pas un composant SCA et qui ne contient aucune annotation peut utiliser les services d'un composant SCA. Un script PHP ou un composant peut faire des appels à un service Web qui n'utilise pas SCA, mais en utilisant le même système d'appels et d'annotations pour obtenir une référence.

Tout d'abord, nous présent un composant SCA simple, ConvertedStockQuote, qui illustre l'utilisation de SCA pour PHP. Il dispose d'une méthode getQuote(), qui, à partir d'un identifiant d'actions retourne le cours de l'action, converti dans une devise donnée. Nous utiliserons cet exemple comme base pour présenter SCA pour PHP dans le reste de la documentation.

Exemple #1 Exemple simple avec SCA

<?php

include "SCA/SCA.php";

/**
 * Calcule le prix d'une action, à partir de son symbole, dans une devise.
 *
 * @service
 * @binding.soap
 */
class ConvertedStockQuote {

    /**
     * Le service de taux de change à utiliser
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;

    /**
     * Le service de cotation des actions à utiliser
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;

    /**
     * Lit le prix d'une action, pour un symbole, dans une devise
     *
     * @param string $ticker Le symbole.
     * @param string $currency La devise.
     * @return float Le cours de l'action.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
}
?>

Dans cet exemple, nous voyons que le composant SCA est implémenté à l'aide d'une classe PHP, et qu'il inclut SCA.php. La classe contient un mélange de logique métier et de références à d'autres services et composants. Dans la méthode illustrée, getQuote() il n'y a que de la logique métier, mais elle repose sur les variables $stock_quote et $exchange_rate qui ont été initialisées. Ces variables font référence à deux autres composants, et seront initialisées par l'exécutable SCA, via des proxy pour ces deux services, à chaque fois que notre composant est exécuté. Les annotations de ces deux services montrent que l'un est un service local, qui sera appelé avec le même exécutable PHP, et que l'autre est un composant distant, qui sera appelé avec une requête SOAP. Ce composant expose alors la méthode getQuote(), localement et comme service Web, pour que l'on puisse y accéder localement et à distance.

SCA
Installation/Configuration
SCA


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SCA


Pré-requis

Si vous voulez utiliser SCA pour produire ou consommer des services Web, vous aurez besoin de PHP 5.2.0 ou plus récent, compilé avec l'extension SOAP. Si vous voulez simplement utiliser les composants locaux, et que vous n'avez pas bespoin des services Web, alors vous pourrez utiliser une version 5.1.6 de PHP et plus récent.

SCA est distribué avec SDO, via un paquet PECL. Voyez http://www.php.net/sdo#sdo.installation pour installer le paquet SCA_SDO depuis PECL. Le code SCA doit être dans l'include_path de votre isntallation PHP : par exemple, s'il a été installé dans /usr/local/lib/php/SCA, la directive include_path doit inclure /usr/local/lib/php

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/sca.

Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
SCA


Exemples

Sommaire

  • La structure d'un composant de service
  • Obtention d'un proxy pour un autre composant de service
  • Appel d'un autre composant de service
  • Localisation et appel d'un service, depuis un script qui n'est pas un composant SCA
  • Exposer un composant comme un service Web
  • Déploiement d'un composant SCA
  • Obtenir le WSDL d'un composant SCA qui offre un service Web
  • Comprendre la génération du fichier WSDL
  • Travailler avec des structures de données
  • Gestion d'erreurs

Les exemples de la section suivante illustrent différents aspects de PHP pour SCA :

  • Comment les annotations PHP peuvent être utilisées pour définir des classes PHP comme des composants SCA et comment les annotations sont utilisées pour définir des services.

  • Comment les composants SCA peuvent être exposés comme services Web.

  • Comment un composant SCA peut utiliser un service Web, qu'il soit fournit par un autre composant SCA ou par un autre service qui n'a pas de rapport avec SCA.

  • Comment un composant SCA peut appeler un autre composant SCA localement, avec le même processus et la même pile d'appels.

  • Comment un script client qui n'est pas un composant SCA peut utiliser la fonction getService() pour obtenir un proxy d'accès à un composant SCA.

  • Comment des structures de données telles que Adresses, ou Commandes sont représentées comme des Service Data Objects (SDO), et gérées.

  • Comment des composants SCA sont déployés, et en particulier, comment et quand des fichiers WSDL sont générés pour un service.

  • Comment les paramètres sont toujours passés par valeur (et non par référence), entre les composants, même si les appels sont locaux. Cela garantit que la sémantique de l'appel ne change pas, en fonction de l'emplacement du composant.

  • Comment les paramètres de position d'un service sont supportés, quand le WSDL sous-jacent est un document littéral, et qui ne supporte que des paramètres nommés.

  • Comment les exceptions métier et d'exécution sont gérées.

Constantes pré-définies
La structure d'un composant de service
SCA


La structure d'un composant de service

Un composant de service est implémenté sous forme de classe. Pour l'identifier, il doit contenir une annotation @service. L'exécutable SCA va utiliser le nom du fichier de script pour déterminer le nom du composant, par convention. La classe et le fichier de script doivent donc porter le même nom.

Les composants PHP SCA doivent toujours exposer un service, et il n'y a aucun moyen pour un composant d'être appelé autrement que comme le résultat d'un service Web, ou bien directement par un autre composant ou un script. Pour cette raison, un composant PHP SCA valide va toujours contenir une annotation @service et au moins une méthode publique.

Chaque composant SCA requiert que le script SCA.php soit inclus. En plus de contenir la définition de la classe SCA, ce script contient du code PHP qui est exécuté à chaque appel, et qui est responsable du comportement général du composant.

Attention

Il est très important que les autres inclusions de votre script interviennent avant celle du fichier SCA.php. S'il y a des inclusions après SCA.php, ils ne seront pas pris en compte lorsque l'exécutable SCA traitera votre classe.

L'exemple ci-dessous montre la structure générale.

Exemple #1 Structure d'un composant SCA pour PHP

<?php

// les inclusions

include "SCA/SCA.php";

/**
 * @service
 */

class ConvertedStockQuote {

       // variables, logique métier, inclusion d'au moins une méthode publique

}
?>

Exemples
Obtention d'un proxy pour un autre composant de service
Exemples


Obtention d'un proxy pour un autre composant de service

Un composant SCA peut appeler le service proposé par un autre composant SCA. Le service que fournit un composant est constitué de toutes ses méthodes publiques. SCA pour PHP propose deux méthodes pour que les composants s'appellent les uns les autres : soit localement (i.e., via le même exécutable PHP, et avec la même pile), ou bien à distance, via un service Web.

Afin qu'un composant en appelle un autre, le composant d'appel a besoin d'un proxy jusqu'au composant appelé. Ce proxy est généralement fourni sous forme de variable dans le composant appelant, même si les proxy peuvent être obtenu via la fonction SCA::getService()(). Quand un composant est construit, les proxy sont constitués pour toute variable d'instance qui fait référence à un autre composant, et ces proxy sont injectés dans les variables. Les proxy sont toujours utilisé, que le composant soit distant ou locale, afin de propose une interface d'appel identique, quelque soit la localisation des composants. Les proxy savent comment localiser un composant, et leur passer les appels.

Les variables d'instance qui sont destinées à contenir les proxy sont identifiées par deux annotations PHPDocumentor : @reference et @binding. Ces deux annotations sont rangées dans la section de documentation d'une classe, tel que le montre le code ci-dessous.

L'annotation @reference pour une variable d'instance indique que la variable doit être initialisée avec un proxy de composant.

L'annotation @binding prend deux formes : @binding.php et @binding.soap. Elles indiquent que le proxy est soit local, soit un service Web distant, respectivement. Pour les deux @binding.php et @binding.soap, l'annotation indique l'URI cible.

A ce moment, avec la méthode de spécification des dépendances via les annotations, le seul moyen de modifier la cible d'une référence est de modifier l'annotation dans le composant.

Dans notre exemple, la variable $exchange_rate est initialisée avec un proxy vers le composant ExchangeRate, à chaque fois qu'une instance de ConvertedStockQuote est construite.

Exemple #1 Obtention d'un proxy pour une classe PHP locale

<?php
   /**
     * Le service de change à utiliser
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;
?>

Pour @binding.php, l'URI identifie la localisation du script qui contient l'implémentation du composant. Le composant sera appelé localement. Le service fournit est un jeu de méthodes publiques dans le composant. L'URI doit être un simple chemin, absolu ou relatif. Le composant sera chargé avec une fonction include() de PHP, après avoir vérifié que le composant n'est pas chargé, avec class_exists(). Si l'URI est relative, elle est résolue relativement au composant qui contient l'annotation. Notez que cela est différent du comportement habituel de PHP, où les scripts cherchent les fichiers dans l'include_path. Ceci est nécessaire pour fournir une indépendance de localisation dans les références.

Si ce service ExchangeRate était distant, et qu'il était appelé comme un service Web, seule la ligne @binding aurait changé. Au lieu de donner la localisation d'une classe PHP, il faudrait donner la localisation d'un fichier WSDL, décrivant un service Web. Dans notre exemple de composant, ceci est illustré par la seconde référence :

Exemple #2 Obtention d'un proxy pour un service Web

<?php
/**
     * Le service de cotation des actions à utiliser
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;
?>

Le composant StockQuote sera appelé comme un service Web. Dans ce cas, l'URI du WSDL peut être un simple chemin, ou utiliser un gestionnaire de flux PHP, et commencer, par exemple, avec file:// ou http://. Dans l'événement où c'est un simple chemin de fichiers, il peut être absolu ou relatif, et dans le cas d'un chemin relatif, il sera résolu relativement au fichier qui contient l'annotation. Notez que c'est le même comportement que pour @binding.php, et que c'est différent du comportement habituel de PHP.

La structure d'un composant de service
Appel d'un autre composant de service
Exemples


Appel d'un autre composant de service

L'exemple ConvertedStockQuote fait aussi appel à des proxy pour deux composants dont il dépend.

Exemple #1 Appels de services

<?php
$quote  = $this->stock_quote->getQuote($ticker);
$rate   = $this->exchange_rate->getRate($currency);
?>

L'appel du service StockQuote est un appel à un service local; l'appel à ExchangeRate est un appel à un service distant. Notez que ces deux appels se ressemblent beaucoup, même si l'un est local et l'autre distant.

Les proxy ont été injecté pour s'assurer que les appels à ces deux composants sont bien les mêmes, quelle que soit leur nature. Par exemple, le proxy d'un service local fait une copie des arguments, et ne fait que passer ces copies, afin de s'assurer que les appels sont bien fait par valeur, comme cela serait le cas dans un service Web. De même, le proxy d'un service Web prend les arguments dans une liste à position, et s'assurent qu'ils sont correctement transmis dans une requête SOAP, puis convertis de nouveau en variable, au retour.

Dans l'exemple ci-dessus, $ticker et $currency sont clairement des valeurs PHP scalaires. Les composants peuvent passer des types scalaires, chaîne de caractères, entier, nombre décimal et booléen, mais les structures de données pour les appels de services sont toujours passés comme Service Data Objects (SDOs). Une section ultérieur montre comment un composant peut créer un SDO à passer à un service local, ou distant. La documentation PHP montre comment manipuler les objets SDO.

Obtention d'un proxy pour un autre composant de service
Localisation et appel d'un service, depuis un script qui n'est pas un composant SCA
Exemples


Localisation et appel d'un service, depuis un script qui n'est pas un composant SCA

Les composants SCA peuvent obtenir des proxy d'autres composants ou services qui ne sont pas annotés avec @reference, mais ce n'est pas possible pour un script qui n'est pas lui-même un composant. Un script client qui n'est pas un client doit utiliser la fonction statique SCA::getService() pour obtenir un proxy au service, qu'il soit local ou distant. La méthode getService() prendre une URI comme argument. Typiquement, ceci est la localisation d'un script PHP contenant un composant, ou un fichier WSDL, et il est utilisé exactement comme la cible d'une annotation @binding, décrite dans la section précédente : c'est à dire, les URI relatives sont décrites par rapport au fichier de l'annotation, et non pas l'include_path de PHP.

Par exemple, un script qui a besoin d'obtenir des proxy pour ExchangeRate et StockQuote mais n'est pas un composant peut utiliser la fonction SCA::getService() comme ceci :

Exemple #1 Obtention d'un proxy avec getService

<?php
$exchange_rate = SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   = SCA::getService('../StockQuote/StockQuote.wsdl');
?>

Les méthodes d'un service peuvent être appelé sur un proxy ainsi retourné, tout comme elles peuvent l'être sur un composant.

Exemple #2 Faire des appels sur un proxy

<?php
$quote  = $stock_quote->getQuote($ticker);
$rate   = $exchange_rate->getRate($currency);
?>

Appel d'un autre composant de service
Exposer un composant comme un service Web
Exemples


Exposer un composant comme un service Web

SCA pour PHP peut générer des fichiers WSDL à partir des annotations dans un composant, ce qui fait qu'il peut être facilement déployé et exposé comme un service Web. Pour fournir à SCA les informations dont il a besoin pour produire le WSDL, il est nécessaire d'ajouter l'annotation @binding.soap dans l'annotation @service et de spécifier les paramètres et les valeurs de retour avec les annotations @param et @return. Ces annotations seront lues quand le fichier WSDL sera produit, et l'ordre et les types des paramètres va déterminer le contenu de la section <schema> du fichier WSDL.

SCA pour PHP produit toujours des fichiers WSDL pour les composants qui exposent des services Web. Notez que cela n'empêche pas les composants de consommer des services Web qui ne sont pas des composants SCA, et qui sont documentés avec des fichiers WDSL qui ne sont pas dans le même format.

Les types scalaires qui peuvent être utilisé dans les annotations @param sont les quatres types scalaires communs de PHP : booléen, entier, nombre décimal et chaîne de caractères. Ils sont simplement transformés en un équivalent au format XML. L'exemple ci-dessous, qui est une implémentation triviale du service StockQuote avec des appels à ConvertedStockQuote illustre l'utilisation de chaîne de caractères et nombre décimal.

Exemple #1 Service StockQuote

<?php

include "SCA/SCA.php";

/**
 * Implémentation d'un service distant StockQuote Web.
 *
 * @service
 * @binding.soap
 *
 */
class StockQuote {

    /**
     * Lit une cotation pour un symbole
     *
     * @param string $ticker Le symbole de l'action
     * @return float La cotation de l'action
     */
    function getQuote($ticker) {
        return 80.9;
  }
}
?>

Un fichier WSDL, semblable au document suivant (mais avec une localisation de service autre que 'localhost', probablement) sera généré pour le service :

Exemple #2 Generated WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xsi:type="tDefinitions"
    xmlns:tns2="http://StockQuote" xmlns:tns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://StockQuote">
  <types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://StockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

  <message name="getQuoteRequest">
    <part name="getQuoteRequest" element="tns2:getQuote"/>
  </message>
  <message name="getQuoteResponse">
    <part name="return" element="tns2:getQuoteResponse"/>
  </message>
  <portType name="StockQuotePortType">
    <operation name="getQuote">
      <input message="tns2:getQuoteRequest"/>
      <output message="tns2:getQuoteResponse"/>
    </operation>
  </portType>
  <binding name="StockQuoteBinding" type="tns2:StockQuotePortType">
    <operation name="getQuote">
      <input>
        <tns3:body xsi:type="tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tBody" use="literal"/>
      </output>
      <tns3:operation xsi:type="tOperation" soapAction=""/>
    </operation>
    <tns3:binding xsi:type="tBinding" transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
  </binding>
  <service name="StockQuoteService">
    <port name="StockQuotePort" binding="tns2:StockQuoteBinding">
      <tns3:address xsi:type="tAddress" location="http://localhost/StockQuote/StockQuote.php"/>
    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Localisation et appel d'un service, depuis un script qui n'est pas un composant SCA
Déploiement d'un composant SCA
Exemples


Déploiement d'un composant SCA

Il n'y pas d'instruction particulière pour déployer un composant PHP SCA. Il est suffisant de placer le script PHP dans le serveur Web, comme un autre script PHP. C'est l'exécutable SCA::initComponent() dans le composant qui va l'exécuter correctement, quelque soit la méthode utilisée, et qui est responsable de proposer la réponse adaptée à la situation, que ce soit un appel local, Web service ou une requête WDSL.

Exposer un composant comme un service Web
Obtenir le WSDL d'un composant SCA qui offre un service Web
Exemples


Obtenir le WSDL d'un composant SCA qui offre un service Web

Les composant SCA qui exposent un service Web (i.e. qui ont une annotation @binding.soap) vont retourner une définition WSDL en réponse à une requête HTTP avec un paramètre GET "wsdl". L'approche habituelle pour cela est d'ajouter "?wsdl" à la fin de l'URL. L'exemple ci-dessous utilise la fonction file_get_contents() pour obtenir un fichier WSDL d'un service Web, et l'écrit dans un fichier temporaire, avant de demander un proxy. Vous pouvez évidemment obtenir le fichier WDSL dans votre navigateur, ou par d'autres moyens, et le sauver vous-mêmes.

Exemple #1 WSDL généré

<?php
$wsdl = file_get_contents('http://www.example.com/Services/Example.php?wsdl');
file_put_contents("service.wsdl",$wsdl); //write the wsdl to a file
$service = SCA::getService('service.wsdl');
?>

Note : si le fichier WSDL requiert des importations de xsd, elles devront être lus séparément.

Déploiement d'un composant SCA
Comprendre la génération du fichier WSDL
Exemples


Comprendre la génération du fichier WSDL

SCA pour PHP génère un fichier WSDL pour les composants qui contiennent une annotation @binding.soap, après l'annotation @service. Pour générer le service, SCA analyse la classe, et les annotations @param et @return pour chaque méthode publique, ainsi que les annotations de @types dans le composant. Les informations des annotations @param et @return sont utilisées pour construire la section <types> du fichier WDSL. Toutes les annotations @types qui spécifient un schéma distinct engendreront un élément <import> pour ce schéma dans le WSDL.

Attribut de localisation pour l'élément <service>

A la fin du fichier WSDL, l'élément <service> utilise un attribut de localisation 'location', pour identifier l'URL du service. Par exemple :

Exemple #1 Attribut location

<service name="ConvertedStockQuote"
...
location="http://localhost/ConvertedStockQuote/ConvertedStockQuote.php"/>

Notez que cette localisation est relative à la racine du document du serveur Web, et ne peut pas être connue à l'avance. Elle ne peut être résolue que lorsque le composant est mis en place dans un serveur Web en fonctionnement, lorsque le nom d'hôte et le port peuvent être connus et placés dans le fichier WDSL. Des informations de l'URL appelante sont aussi utilisés, ce qui fait que si le WSDL est produit en réponse à la requête http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php?wsdl, une localisation de http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php sera insérée dans l'attribut.

Inclusion des documents dans le WSDL et paramètres positionnés

SCA pour PHP produit des fichiers WSDL en incluant les documents et littéraux. Ce style encadre les paramètres et les valeurs de retour d'une méthode dans un 'gestionnaire' qui est nommé à partir de la méthode. L'élément <types> au début du fichier WSDL définit chacun de ces gestionnaires. Si nous étudions la méthode getQuote() de notre exemple ConvertedStockQuote :

Exemple #2 une méthode avec deux arguments

<?php
   /**
     * Lit une cotation pour une action à partir de son symbole et dans une devise
     *
     * @param string $ticker Le symbole
     * @param string $currency La devise cible
     * @return float La valeur de l'action dans la devise demandée
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
?>

Pour définir cette méthode, le fichier WSDL va donner des noms à la méthode et aux paramètres, puis donner au schéma XML le type des paramètres. La section de type du fichier WSDL produit ressemble à ceci :

Exemple #3 Section types avec paramètres nommés

<types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://ConvertedStockQuote">
      <xs:element name="getQuote">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ticker" type="xs:string"/>
            <xs:element name="currency" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="getQuoteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="getQuoteReturn" type="xs:float"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </types>

L'exécutable SCA gère la conversion de la liste des paramètres positionnés en une requête SOAP, puis de nouveau en liste de paramètres, au retour de la requête. Pour comprendre où cela est important, vous pouvez étudier comment PHP qui utiliserait une autre interface pour faire un appel SOAP devrait construire la liste de paramètres. Un script PHP utilisant la classe SoapClient, a besoin de passer les paramètres "ticker" et "currency", peut-être sous forme de tableau associatif. Pour cela, il faudrait que les appels à des services Web ou des fonctions locales se fassent avec des interfaces de programmation différente, et ce n'est pas voulu.

Quand SCA génère un fichier WSDL pour un composant SCA, il inclut des commentaires dans le WDSL qui indique le ce composant est un composant SCA. Dans ce cas, quand un composant SCA est appelé par un autre composant via un service Web, l'exécutable SCA prend la liste de paramètres et assigne les valeurs une à une dans le message SOAP. Par exemple, un appelle à la méthode getQuote() définie ci-dessus qui passe les valeurs 'IBM' et 'USD' ressemble à ceci :

$quote = $remote_service->getQuote('IBM','USD');

Elle produira un message SOAP qui contient ce code XML :

<getQuote>
  <ticker>IBM</ticker>
  <currency>USD</currency>
</getQuote>

Dans le composant de réception, l'exécutable SCA prend les paramètres dans le même ordre, et forme une liste de paramètres positionnés, en reformant la liste des arguments ('IBM','USD').

Attention

Dans les deux cas, l'exécutable SCA s'appuie sur l'ordre dans lequel les arguments sont placés dans le message SOAP : cet ordre doit correspondre à l'ordre d'appel des paramètres dans la fonction. Cet ordre est finalement défini par l'ordre des annotations @param : il déterminent l'ordre dans lequel les paramètres apparaissent dans le fichier WSDL, et dans le message SOAP. Par conséquent, il est essentiel que cet ordre d'annotations @param correspondent aux paramètres de la méthode publique.

Obtenir le WSDL d'un composant SCA qui offre un service Web
Travailler avec des structures de données
Exemples


Travailler avec des structures de données

Les composants SCA peuvent échanger les quatre types scalaires de PHP : booléen, entier, nombre décimal et chaîne de caractères, mais aussi passer des structures de données : SCA utilise les Service Data Objects (SDOs). Les SDO sont décrits en détails dans les pages SDO de ce manuel. Les lecteurs habitués aux SDO sauront qu'ils sont adaptés à la représentation de toutes sortes de données structurées et semi-structurées, qui sont souvent modélisées en CML, et qui se linéarises naturellement pour passer entre composants distants. Les SDO sont actuellement le seul moyen pour échanger des structures de données. Il n'est pas possible d'échanger des objets PHP ou des tableaux.

L'exécutable SCA s'assure toujours que les données sont passées par valeur, même dans les appels locaux. Pour cela, SCA copie les SDO dans la liste de paramètre avant de les passer, comme il le fait pour les valeurs scalaires.

Comment les structures de données sont définies par SCA

Actuellement, le seul mécanisme pour spécifier la localisation d'une définition de structure de données est de spécifier un type dans un schéma XML. Cependant, à l'avenir, il est peut être possible de définir des types d'une autre manière, comme en se basant sur des classes PHP ou des interfaces, ou encore des tableaux associatifs.

Pour illustrer l'utilisation de SDO, voici un nouveau composant. Le service PortfolioMangement retourne un SDO qui représente un porte-feuille d'actions, pour un client donné.

Exemple #1 Un composant SCA qui utilise des SDO

<?php

include "SCA/SCA.php";

/**
 * Gestion de porte-feuille d'un client
 *
 * @service
 * @binding.soap
 *
 * @types http://www.example.org/Portfolio PortfolioTypes.xsd
 *
 */
class PortfolioManagement {

    /**
     * Lit le porte-feuille d'un client donné.
     *
     * @param integer $customer_id L'identifiant du client
     * @return Portfolio http://www.example.org/Portfolio Le porte-feuille d'actions (symboles et quantités)
     */
    function getPortfolio($customer_id) {
        // Supposons que nous l'avons lu dans la base de données
        $portfolio = SCA::createDataObject('http://www.example.org/Portfolio', 'Portfolio');
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'AAPL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'INTL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'IBM';
        $holding->number = 100.5;
        return $portfolio;
    }

}
?>

L'annotation @types :

<?php
@types http://www.example.org/Portfolio PortfolioTypes.xsd
?>

elle indique que les types sont de l'espace de noms http://www.example.org/Portfolio seront disponibles dans le schéma PortfolioTypes.xsd. Le fichier WSDL produit va reproduire ces informations avec une commande d'importation comme ceci :

<xs:import schemaLocation="PortfolioTypes.xsd"
                      namespace="http://www.example.org/Portfolio"/>

Ce qui fait que l'URI, absolue ou relative, doit pouvoir être résolue lors de l'inclusion dans l'attribut schemaLocation.

Création de SDO

Les lecteurs familiers avec la notion de SDO savent qu'ils doivent toujours être créés en conformité avec une description de la structure autorisée (parfois aussi appelé schéma, ou modèle). Et que au lieu de créer directement le SDO en utilisant l'opérateur 'new', une certaine forme d'usine d'objet doit être utilisée, mais que, parfois, et notamment pour obtenir le premier objet, il faut autre chose qu'une usine.

En SCA, soit c'est la classe d'exécution ou les proxy, qu'ils soient locaux ou distants, qui servent d'usine à SDO. Les critères de choix entre les deux sont décrits dans les prochaines sections.

Nous allons passer à un autre exemple pour illustrer la création de SDO, afin de la passer à un service et pour en recueillir un.

Création de SDO à passer à un service

Un utilisateur de service qui requiert une structure de données doit utiliser un proxy vers ce service pour avoir une usine à données qui produira les SDO désirés. Par exemple, supposons qu'un composant utilise un proxy pour un service vers un carnet d'adresse AddressBook local.

<?php
/**
 * @reference
 * @binding.local AddressBook.php
 */
$address_book;
?>

Le composant AddressBook qui doit être utilisé est défini comme ceci :

<?php
/**
* @service
* @binding.soap
* @types http://addressbook ../AddressBook/AddressBook.xsd
*/
class AddressBook {

    /**
     * @param personType $person http://addressbook (un objet de personne)
     * @return addressType http://addressbook (un objet d'adress pour l'objet de personne)
     */
    function lookupAddress($person)  {
        ...
    }
}
?>

Le composant AddressBook fournit une méthode de service appelée lookupAddress() qui utilise les types du schéma http://addressbook. La méthode lookupAddress prend une structure personType et retourne un objet addressType. Les deux types sont définis dans le schéma addressbook.xsd.

Une fois que le composant qui veut utiliser le composant AddressBook a été construit, de manière à ce que la variable d'instance $address_book contiennent un proxy vers le service, le composant appelant peut utiliser ce proxy dans $address_book pour créer un SDO de personne, comme ceci :

<?php
$william_shakespeare        = $address_book->createDataObject('http://addressbook','personType');
$william_shakespeare ->name = "William Shakespeare";
$address                    = $address_book->lookupAddress($william_shakespeare);
?>

Notez que l'utilisation du proxy pour produire un SDO n'est pas limitée aux seuls composants SCA. Si un service est appelé depuis un script PHP ordinaire, et que le proxy a été obtenu via la méthode getService() alors la même approche est utilisée.

<?php
$address_book = SCA::getService('AddressBook.php');
$william_shakespeare = $address_book->createDataObject('http://addressbook','personType');
?>

Création d'un SDO à retourner d'un composant

Un composant qui a besoin de créer un objet de données à retourner à son appelant ne dispose pas d'un proxy à utiliser comme usine à données, et dans ce cas, il utilise la méthode statique createDataObject() du fichier SCA.php. Ainsi, si le composant AddressBook décrit ci-dessus a besoin de créer un objet de type addressType dans l'espace de noms http://addressbook, il peut le faire comme ceci :

<?php
$address = SCA::createDataObject('http://addressbook','addressType');
?>

Comprendre la génération du fichier WSDL
Gestion d'erreurs
Exemples


Gestion d'erreurs

Cette section décrit comment sont gérées les erreurs. Il y a deux types d'erreur :

  • Les exceptions de l'exécutable SCA sont celles qui signalent des problèmes dans la gestion de l'exécution des composants, et dans l'interaction avec les services. Cela peut survenir à cause de problèmes de configuration réseau.

  • Les exceptions métier sont celles qui sont définies par le programmeur. Elles étendent la classe PHP Exception, et sont émises puis interceptées explicitement comme partie intégrante de la logique métier.

Gestion des erreurs d'exécution

Il y a deux types d'erreur SCA :

  • SCA_RuntimeException : elle signale un problème dans ou survenant dans l'exécutable SCA. Elle peut être émise pour diverses raisons, et certaines d'entre elles peuvent être indépendantes de la connexion à un service local ou distant : une erreur dans l'une des annotations un fichier WSDL ou PHP manquant, etc. Dans le cas des services Web, une exception SCA_RuntimeException peut aussi être émise si une erreur SoapFault a été émise par un service Web et que le code d'erreur SoapFault indique qu'une nouvelle tentative a peu de chances d'aboutir.

  • SCA_ServiceUnavailableException : cette classe est une sous-classe de SCA_RuntimeException, et signale un problème lors de la connexion ou de l'utilisation d'un service distant, mais une erreur qui peut être dépassée si une nouvelle tentative est faite. Dans le cas des services Web, cette exception est émise si une erreur SoapFault est reçue avec un code qui indique qu'une nouvelle tentative pourrait être couronnée de succès.

Gestion des exceptions métier

Les exceptions métier peuvent être définies et émise par un composant de manière classique, indépendamment du fait que le service a été appelé localement ou à distance. L'exécutable SCA n'intercepte pas les exceptions locales, ce qui fait qu'elles seront acheminées au composant appelant de manière classique. Si un composant a été appelé comme service Web, l'exécutable SCA va les intercepter, et s'assurera qu'elles sont transmises au composant appelant, puis émise à nouveau. En supposant que le script appelant a une définition de l'exception métier (c'est à dire qu'il est capable d'inclure un fichier contenant la définition PHP de l'exception), la nouvelle exception sera émise avec les mêmes détails que l'originale, de qui fait que les informations de getLine() et getFile() contiendront les indications d'origine de l'erreur dans les fichiers du service appelé. Cette exception sera passée via le champ détail de la classe SoapFault.

Travailler avec des structures de données
Fonctions SCA
Exemples


Gestion d'erreurs
SCA_LocalProxy::createDataObject
SCA
PHP Manual

Fonctions SCA

Classes pré-définies

La plupart de l'interface SCA se définit via les annotations dans les composants SCA, ce qui fait qu'il y a peu de classes et de méthodes. La seule classe SCA que les scripts ou les composants peuvent appeler est la classe SCA elle-même, et les classe proxy SCA_LocalProxy et SCA_SoapProxy.

SCA

L'essentiel du travail de la classe SCA est effectué lors de l'inclusion du fichier SCA.php, qui est inclus avec le composant SCA. Cependant, un script PHP peut inclure SCA.php et appeler la méthode getService() de la classe SCA pour obtenir un proxy pour un service. Un composant n'aura pas besoin de faire cela car les proxy sont obtenus à l'aide d'une variable définie avec l'annotation @reference.

Les composants qui doivent créer un SDO à retourner à leur appelant doivent créer une usine de données à appeler. Pour cela, la classe SCA supporte la méthode createDataObject(), qui va créer un objet SDO en focntion du modèle défini par les annotations de composants @types. Les arguments arguments de createDataObject() sont les mêmes que ceux du service XML Data Access Service de SDO.

Méthodes

  • getService : obtient un proxy pour un service

  • createDataObject : crée un SDO

SCA_LocalProxy

Quand getService() est appelée avec une ressource cible qui est un composant PHP local, un proxy local est retourné. Un proxy local qui est définit est aussi injecté dans les variables d'instance du composant, qui ont été annotées avec @reference et @binding.php. Lorsque le script ou le composant font appel au proxy local, ils sont passés au composant cible lui-même.

Les composants qui doivent créer un SDO à retourner à leur appelant doivent créer une usine de données à appeler. Pour cela, la classe SCA_LocalProxy supporte la méthode createDataObject(), qui va créer un objet SDO en fonction du modèle défini par les annotations de composants @types. Les arguments arguments de createDataObject() sont les mêmes que ceux du service XML Data Access Service de SDO.

Méthodes

  • createDataObject : crée un SDO

SCA_SoapProxy

Quand getService() est appelée avec une ressource cible qui est un composant PHP distant, un proxy distant est retourné. Un proxy local qui est définit est aussi injecté dans les variables d'instance du composant, qui ont été annotées avec @reference et @binding.php. Lorsque le script ou le composant font appel au proxy distant, ils sont organisés en requête Web SOAP et passé au serveur distant, avec l'aide de l'extension SOAP.

Les composants qui doivent créer un SDO à retourner à leur appelant doivent créer une usine de données à appeler. Pour cela, la classe SCA_SoapProxy supporte la méthode createDataObject(), qui va créer un objet SDO en fonction du modèle défini par les annotations de composants @types. Les arguments arguments de createDataObject() sont les mêmes que ceux du service XML Data Access Service de SDO.

Méthodes

  • createDataObject : crée un SDO

Sommaire

  • SCA_LocalProxy::createDataObject — Crée un SDO
  • SCA_SoapProxy::createDataObject — Crée un SDO
  • SCA::createDataObject — crée un SDO
  • SCA::getService — Obtient un proxy pour un service
Gestion d'erreurs
SCA_LocalProxy::createDataObject
SCA
PHP Manual


Crée un SDO

Fonctions SCA
SCA_SoapProxy::createDataObject
Fonctions SCA
PHP Manual

SCA_LocalProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_LocalProxy::createDataObject — Crée un SDO

Description

SDO_DataObject SCA_LocalProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cette méthode est utilisée dans un script PHP ordinaire ou un composant SCA qui a besoin d'obtenir un objet SDO pour le passer à un service local. Le paramètre type_namespace_uri est l'URI de l'espace de nom désiré pour l'objet SDO, et le nom du type. L'espace de noms et le type doivent être définis dans l'interface du composant qui est appelé, ce qui fait que l'espace de noms et le type doivent être définis dans un des fichiers de schéma qui sont spécifiés dans les annotations @types dans le composant dont SCA_LocalProxy est le proxy.

Liste de paramètres

type_namespace_uri

L'espace de noms de types.

type_name

Le nom du type.

Valeurs de retour

Retourne un nouvel objet SDO_DataObject.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émet cette exception si l'URI d'espace de noms type_namespace_uri et type_name ne correspondent pas à un type spécifié dans l'un des espaces de noms définis dans les fichiers de schéma définis dans les annotations @types, à l'intérieur du composant SCA_LocalProxy.

Fonctions SCA
SCA_SoapProxy::createDataObject
Fonctions SCA


Crée un SDO

SCA_LocalProxy::createDataObject
SCA::createDataObject
Fonctions SCA
PHP Manual

SCA_SoapProxy::createDataObject

(PECL SDO >= 0.5.0)

SCA_SoapProxy::createDataObject — Crée un SDO

Description

SDO_DataObject SCA_SoapProxy::createDataObject ( string $type_namespace_uri , string $type_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cette méthode est utilisée dans un script PHP ordinaire ou un composant SCA qui a besoin d'obtenir un objet SDO pour le passer à un service distant. Le paramètre type_namespace_uri est l'URI de l'espace de nom désiré pour l'objet SDO, et le nom du type. L'espace de noms et le type doivent être définis dans le fichier WSDL du service Web qui est appelé, ce qui fait que l'espace de noms et le type doivent être définis dans un des fichiers de schéma qui sont spécifiés dans les annotations @types dans le composant dont SCA_LocalProxy est le proxy.

Liste de paramètres

type_namespace_uri

L'espace de noms de types.

type_name

Le nom du type.

Valeurs de retour

Retourne un nouvel objet SDO_DataObject.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émet une exception si l'URI d'espace de noms type_namespace_uri et type_name ne correspondent pas à un type spécifié dans le fichier WSDL qui a été utilisé pour initialiser le SCA_SoapProxy.

SCA_LocalProxy::createDataObject
SCA::createDataObject
Fonctions SCA


crée un SDO

SCA_SoapProxy::createDataObject
SCA::getService
Fonctions SCA
PHP Manual

SCA::createDataObject

(PECL SDO >= 0.5.0)

SCA::createDataObject — crée un SDO

Description

SDO_DataObject SCA::createDataObject ( string $type_namespace_uri , string $type_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Cette méthode est utilisée dans un script PHP ordinaire ou un composant SCA qui a besoin d'obtenir un objet SDO pour le retourner. Le paramètre type_namespace_uri est l'URI de l'espace de nom désiré pour l'objet SDO, et le nom du type. L'espace de noms et le type doivent être définis dans l'un des fichiers de schéma qui sont spécifiées dans les annotations @types du composant.

Liste de paramètres

type_namespace_uri

L'espace de noms de types.

type_name

Le nom du type.

Valeurs de retour

Retourne un nouvel objet SDO_DataObject.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émet cette exception si l'URI d'espace de noms type_namespace_uri et type_name ne correspondent pas à un type spécifié dans les annotations @types.

SCA_SoapProxy::createDataObject
SCA::getService
Fonctions SCA


Obtient un proxy pour un service

SCA::createDataObject
SOAP
Fonctions SCA
PHP Manual

SCA::getService

(PECL SDO >= 0.5.0)

SCA::getService — Obtient un proxy pour un service

Description

mixed SCA::getService ( string $target [, string $binding [, array $config ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Examine la cible, et initialise puis retourne un proxy approprié. Si la cible est un composant PHP local, le proxy retourné sera de type SCA_LocalProxy. Si la cible est un composant PHP distant, le proxy retourné sera de type SCA_SoapProxy.

Liste de paramètres

target

Un chemin absolu ou relatif jusqu'au service cible, ou la description du service (e.g. an URL vers une script de service en json-rpc, un composant PHP, un fichier WSDL, etc.). Une chemin relatif, si spécifié, est résolu relativement à la position du script qui émet l'appel à getService(), et non relativement à include_path, ou le dossier de travail courant.

binding

L'interface à utiliser (i.e. le protocole) avec le service (e.g binding.jsonrpc pour un service json-rpc). Notez que certaines types de services peuvent être déduits du paramètre de cible (e.g. si l'URL de cible finit par .wsdl alors SCA va supposer qu'il faut utiliser binding.soap). Tout protocole qui peut être spécifié dans une annotation peut être spécifié dans ce paramètre. Par exemple, 'binding.soap' est équivalent à l'annotation '@binding.soap'.

config

Toute configuration supplémentaire pour le protocole (e.g. array('location' => 'http://example.org')). Toute configuration supplémentaire peut aussi être configurée dans une annotation. Par exemple, 'location' est équivalent à l'annotation '@location', pour configurer la destination du service SOAP.

Valeurs de retour

The SCA_LocalProxy or SCA_SoapProxy.

Exemples

Exemple #1 Exemple avec SCA::getService()

Cet exemple montre comment obtenir un proxy pour un service SOAP de email, décrit par EmailService.wsdl et situé located at http://example.org.

<?php
include 'SCA/SCA.php';
$service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

L'exemple ci-dessus va afficher :

SCA::createDataObject
SOAP
Fonctions SCA


SOAP

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions SOAP
    • is_soap_fault — Vérifie si SOAP retourne une erreur
    • use_soap_error_handler — Active le gestionnaire d'erreurs SOAP natif
  • SoapClient — La classe SoapClient
    • SoapClient::__call — Appelle une fonction SOAP (obsolète)
    • SoapClient::__construct — Constructeur SoapClient
    • SoapClient::__doRequest — Exécute une requête SOAP
    • SoapClient::__getFunctions — Retourne une liste de fonctions SOAP publiées
    • SoapClient::__getLastRequest — Retourne la dernière requête SOAP
    • SoapClient::__getLastRequestHeaders — Retourne les entêtes de la dernière requête SOAP
    • SoapClient::__getLastResponse — Retourne la dernière réponse SOAP
    • SoapClient::__getLastResponseHeaders — Retourne les entêtes de la dernière réponse SOAP
    • SoapClient::__getTypes — Retourne une liste des types SOAP
    • SoapClient::__setCookie — Définit le cookie qui sera envoyé avec la requête SOAP
    • SoapClient::__setLocation — Configure l'URL du service Web à utiliser
    • SoapClient::__setSoapHeaders — Ajoute un entête SOAP pour les requêtes suivantes
    • SoapClient::__soapCall — Appelle une fonction SOAP
    • SoapClient::SoapClient — Constructeur SoapClient
  • SoapServer — La classe SoapServer
    • SoapServer::addFunction — Ajoute une ou plusieurs fonctions qui vont gérer les requêtes SOAP
    • SoapServer::addSoapHeader — Ajoute un entête SOAP à une réponse
    • SoapServer::__construct — Constructeur SoapServer
    • SoapServer::fault — Emet une erreur SoapServer
    • SoapServer::getFunctions — Retourne la liste des fonctions définies
    • SoapServer::handle — Traite une requête SOAP
    • SoapServer::setClass — Configure la classe qui sera utilisée pour gérer les requêtes SOAP
    • SoapServer::setObject — Configure l'objet qui sera utilisé pour gérer les requêtes SOAP
    • SoapServer::setPersistence — Active le mode persistant de SoapServer
    • SoapServer::SoapServer — Constructeur SoapServer
  • SoapFault — La classe SoapFault
    • SoapFault::__construct — Constructeur SoapFault
    • SoapFault::SoapFault — SoapFault constructor
    • SoapFault::__toString — Produit une représentation chaîne d'un objet SoapFault
  • SoapHeader — La classe SoapHeader
    • SoapHeader::__construct — Constructeur SoapHeader
    • SoapHeader::SoapHeader — SoapHeader constructor
  • SoapParam — La classe SoapParam
    • SoapParam::__construct — Constructeur SoapParam
    • SoapParam::SoapParam — Constructeur SoapParam
  • SoapVar — La classe SoapVar
    • SoapVar::__construct — Constructeur SoapVar
    • SoapVar::SoapVar — Constructeur SoapVar
SCA::getService
Introduction
Services Web


Introduction

L'extension SOAP peut être utilisée pour les échanges clients/serveurs SOAP. Elle supporte les spécifications » SOAP 1.1, » SOAP 1.2 et » WSDL 1.1.

SOAP
Installation/Configuration
SOAP


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SOAP


Pré-requis

Cette extension utilise la » bibliothèque GNOME xml. Téléchargez et installez-la. Vous devez utiliser au moins la version libxml-2.5.4.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est disponible si PHP a été configuré avec l'option de configuration --enable-soap.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration SOAP
Nom | Défaut | Modifiable | Historique
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |

Voici un éclaircissement sur l'utilisation des directives de configuration.

soap.wsdl_cache_enabled integer

Active ou pas le cache WSDL.

soap.wsdl_cache_dir string

Configure le nom du dossier où l'extension SOAP peut mettre les fichiers de cache.

soap.wsdl_cache_ttl integer

Configure la durée de vie des fichiers dans le cache, exprimé en secondes.

soap.wsdl_cache integer

Si soap.wsdl_cache_enabled est actif, cette directive détermine le type de cache. Il peut prendre l'une des valeurs suivantes : WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2) ou WSDL_CACHE_BOTH (3). Cela peut aussi être configuré via le paramètre options dans les constructeurs de SoapClient ou SoapServer.

soap.wsdl_cache_limit integer

Le nombre maximal de fichier WSDL en cache. La reception de nouveaux fichiers dans le cache, s'il est plein, causera l'effacement des plus anciens.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SOAP constants
Constant | Value | Description
SOAP_1_1 ( integer ) | 1 |
SOAP_1_2 ( integer ) | 2 |
SOAP_PERSISTENCE_SESSION ( integer ) | 1 |
SOAP_PERSISTENCE_REQUEST ( integer ) | 2 |
SOAP_FUNCTIONS_ALL ( integer ) | 999 |
SOAP_ENCODED ( integer ) | 1 |
SOAP_LITERAL ( integer ) | 2 |
SOAP_RPC ( integer ) | 1 |
SOAP_DOCUMENT ( integer ) | 2 |
SOAP_ACTOR_NEXT ( integer ) | 1 |
SOAP_ACTOR_NONE ( integer ) | 2 |
SOAP_ACTOR_UNLIMATERECEIVER ( integer ) | 3 |
SOAP_COMPRESSION_ACCEPT ( integer ) | 32 |
SOAP_COMPRESSION_GZIP ( integer ) | 0 |
SOAP_COMPRESSION_DEFLATE ( integer ) | 16 |
SOAP_AUTHENTICATION_BASIC ( integer ) | 0 |
SOAP_AUTHENTICATION_DIGEST ( integer ) | 1 |
UNKNOWN_TYPE ( integer ) | 999998 |
XSD_STRING ( integer ) | 101 |
XSD_BOOLEAN ( integer ) | 102 |
XSD_DECIMAL ( integer ) | 103 |
XSD_FLOAT ( integer ) | 104 |
XSD_DOUBLE ( integer ) | 105 |
XSD_DURATION ( integer ) | 106 |
XSD_DATETIME ( integer ) | 107 |
XSD_TIME ( integer ) | 108 |
XSD_DATE ( integer ) | 109 |
XSD_GYEARMONTH ( integer ) | 110 |
XSD_GYEAR ( integer ) | 111 |
XSD_GMONTHDAY ( integer ) | 112 |
XSD_GDAY ( integer ) | 113 |
XSD_GMONTH ( integer ) | 114 |
XSD_HEXBINARY ( integer ) | 115 |
XSD_BASE64BINARY ( integer ) | 116 |
XSD_ANYURI ( integer ) | 117 |
XSD_QNAME ( integer ) | 118 |
XSD_NOTATION ( integer ) | 119 |
XSD_NORMALIZEDSTRING ( integer ) | 120 |
XSD_TOKEN ( integer ) | 121 |
XSD_LANGUAGE ( integer ) | 122 |
XSD_NMTOKEN ( integer ) | 123 |
XSD_NAME ( integer ) | 124 |
XSD_NCNAME ( integer ) | 125 |
XSD_ID ( integer ) | 126 |
XSD_IDREF ( integer ) | 127 |
XSD_IDREFS ( integer ) | 128 |
XSD_ENTITY ( integer ) | 129 |
XSD_ENTITIES ( integer ) | 130 |
XSD_INTEGER ( integer ) | 131 |
XSD_NONPOSITIVEINTEGER ( integer ) | 132 |
XSD_NEGATIVEINTEGER ( integer ) | 133 |
XSD_LONG ( integer ) | 134 |
XSD_INT ( integer ) | 135 |
XSD_SHORT ( integer ) | 136 |
XSD_BYTE ( integer ) | 137 |
XSD_NONNEGATIVEINTEGER ( integer ) | 138 |
XSD_UNSIGNEDLONG ( integer ) | 139 |
XSD_UNSIGNEDINT ( integer ) | 140 |
XSD_UNSIGNEDSHORT ( integer ) | 141 |
XSD_UNSIGNEDBYTE ( integer ) | 142 |
XSD_POSITIVEINTEGER ( integer ) | 143 |
XSD_NMTOKENS ( integer ) | 144 |
XSD_ANYTYPE ( integer ) | 145 |
XSD_ANYXML ( integer ) | 147 |
APACHE_MAP ( integer ) | 200 |
SOAP_ENC_OBJECT ( integer ) | 301 |
SOAP_ENC_ARRAY ( integer ) | 300 |
XSD_1999_TIMEINSTANT ( integer ) | 401 |
XSD_NAMESPACE ( integer ) | http://www.w3.org/2001/XMLSchema |
XSD_1999_NAMESPACE ( integer ) | http://www.w3.org/1999/XMLSchema |
SOAP_SINGLE_ELEMENT_ARRAYS ( integer ) | 1 |
SOAP_WAIT_ONE_WAY_CALLS ( integer ) | 2 |
SOAP_USE_XSI_ARRAY_TYPE ( integer ) | 4 |
WSDL_CACHE_NONE ( integer ) | 0 |
WSDL_CACHE_DISK ( integer ) | 1 |
WSDL_CACHE_MEMORY ( integer ) | 2 |
WSDL_CACHE_BOTH ( integer ) | 3 |
Types de ressources
Fonctions SOAP
SOAP


Fonctions SOAP

Sommaire

  • is_soap_fault — Vérifie si SOAP retourne une erreur
  • use_soap_error_handler — Active le gestionnaire d'erreurs SOAP natif
Constantes pré-définies
is_soap_fault
SOAP


Vérifie si SOAP retourne une erreur

Fonctions SOAP
use_soap_error_handler
Fonctions SOAP
PHP Manual

is_soap_fault

(Unknown)

is_soap_fault — Vérifie si SOAP retourne une erreur

Description

bool is_soap_fault ( mixed $object )

is_soap_fault() sert à vérifier si l'API SOAP a échoué, sans utiliser les exceptions. Pour l'utiliser, créez un objet SoapClient avec l'option exceptions mise à zéro ou à FALSE. Dans ce cas, la méthode SOAP va retourner un objet spécial SoapFault, qui encapsule les détails de l'erreur (code d'erreur, message, acteur et détails).

Si exceptions n'est pas configurée, SOAP va émettre une exception. is_soap_fault() vérifie si le paramètre fourni est un objet SoapFault.

Liste de paramètres

objet

L'objet à tester.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec is_soap_fault()

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

Exemple #2 Gestion des erreurs par exception avec SOAP

<?php
try {
    $client = new SoapClient("some.wsdl");
    $result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

Voir aussi

  • SoapClient::SoapClient - Constructeur SoapClient
  • SoapFault::SoapFault - SoapFault constructor

Fonctions SOAP
use_soap_error_handler
Fonctions SOAP


Active le gestionnaire d'erreurs SOAP natif

is_soap_fault
SoapClient
Fonctions SOAP
PHP Manual

use_soap_error_handler

(Unknown)

use_soap_error_handler — Active le gestionnaire d'erreurs SOAP natif

Description

bool use_soap_error_handler ([ bool $handler ] )

use_soap_error_handler() active ou non le gestionnaire d'erreurs natif SOAP du serveur SOAP. Elle retourne la valeur précédemment utilisée. Si le paramètre handler est mis à TRUE, le détail des erreurs du serveur SoapServer seront envoyées au client. Si FALSE est passé, aucune information ne sera envoyée.

Liste de paramètres

handler

Avec la valeur TRUE, le détail des erreurs sera envoyé aux clients.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • set_error_handler() - Spécifie une fonction utilisateur comme gestionnaire d'erreurs
  • set_exception_handler() - Définit une fonction utilisateur de gestion d'exceptions

is_soap_fault
SoapClient
Fonctions SOAP


La classe SoapClient

Introduction

La classe SoapClient fournit un serveur pour les protocoles » SOAP 1.1 et » SOAP 1.2. Il peut être utilisé avec ou sans mode WSDL.

Synopsis de la classe

SoapClient
SoapClient {
/* Méthodes */
public mixed __call ( string $function_name , string $arguments )
SoapClient ( mixed $wsdl [, array $options ] )
public string __doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )
public array __getFunctions ( void )
public string __getLastRequest ( void )
public string __getLastRequestHeaders ( void )
public string __getLastResponse ( void )
public string __getLastResponseHeaders ( void )
public array __getTypes ( void )
public void __setCookie ( string $name [, string $value ] )
public string __setLocation ([ string $new_location ] )
public bool __setSoapHeaders ([ mixed $soapheaders ] )
public mixed __soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )
SoapClient ( mixed $wsdl [, array $options ] )
}

Sommaire

  • SoapClient::__call — Appelle une fonction SOAP (obsolète)
  • SoapClient::__construct — Constructeur SoapClient
  • SoapClient::__doRequest — Exécute une requête SOAP
  • SoapClient::__getFunctions — Retourne une liste de fonctions SOAP publiées
  • SoapClient::__getLastRequest — Retourne la dernière requête SOAP
  • SoapClient::__getLastRequestHeaders — Retourne les entêtes de la dernière requête SOAP
  • SoapClient::__getLastResponse — Retourne la dernière réponse SOAP
  • SoapClient::__getLastResponseHeaders — Retourne les entêtes de la dernière réponse SOAP
  • SoapClient::__getTypes — Retourne une liste des types SOAP
  • SoapClient::__setCookie — Définit le cookie qui sera envoyé avec la requête SOAP
  • SoapClient::__setLocation — Configure l'URL du service Web à utiliser
  • SoapClient::__setSoapHeaders — Ajoute un entête SOAP pour les requêtes suivantes
  • SoapClient::__soapCall — Appelle une fonction SOAP
  • SoapClient::SoapClient — Constructeur SoapClient
use_soap_error_handler
SoapClient::__call
SOAP


Appelle une fonction SOAP (obsolète)

SoapClient
SoapClient::__construct
SoapClient
PHP Manual

SoapClient::__call

(PHP 5 >= 5.0.1)

SoapClient::__call — Appelle une fonction SOAP (obsolète)

Description

public mixed SoapClient::__call ( string $function_name , string $arguments )

Cette méthode est obsolète. Utilisez plutôt SoapClient::__soapCall.

SoapClient
SoapClient::__construct
SoapClient


Constructeur SoapClient

SoapClient::__call
SoapClient::__doRequest
SoapClient
PHP Manual

SoapClient::__construct

(PHP 5 >= 5.0.1)

SoapClient::__construct — Constructeur SoapClient

Description

SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Cette fonction est un alias de : SoapClient::SoapClient

SoapClient::__call
SoapClient::__doRequest
SoapClient


Exécute une requête SOAP

SoapClient::__construct
SoapClient::__getFunctions
SoapClient
PHP Manual

SoapClient::__doRequest

(PHP 5 >= 5.0.1)

SoapClient::__doRequest — Exécute une requête SOAP

Description

public string SoapClient::__doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] )

Exécute une requête SOAP.

Cette méthode peut être écrasée dans les sous-classes pour implémenter différents transporteurs, effectuer des opérations XML supplémentaires ou toute autre chose.

Liste de paramètres

request

La requête SOAP en XML.

location

L'URL de la requête.

action

L'action SOAP.

version

La version SOAP.

one_way

Si one_way prend la valeur de 1, cette méthode ne retourne rien. Utilisez cette valeur quand une réponse n'est pas attendue.

Valeurs de retour

La réponse SOAP en XML.

Historique

Version | Description
5.1.3 | Le paramètre one_way a été ajouté.

Exemples

Exemple #1 Exemple avec SoapClient::__doRequest()

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>

SoapClient::__construct
SoapClient::__getFunctions
SoapClient


Retourne une liste de fonctions SOAP publiées

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient
PHP Manual

SoapClient::__getFunctions

(PHP 5 >= 5.0.1)

SoapClient::__getFunctions — Retourne une liste de fonctions SOAP publiées

Description

public array SoapClient::__getFunctions ( void )

SoapClient::__getFunctions() retourne une liste de fonctions SOAP publiées.

Note: Cette fonction n'est disponible qu'en mode WSDL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La liste des fonctions SOAP.

Exemples

Exemple #1 Exemple avec SoapClient::__getFunctions()

<?php
$client = new SoapClient('some.wsdl');
var_dump($client->__getFunctions());
?>

Voir aussi

  • SoapClient::SoapClient - Constructeur SoapClient

SoapClient::__doRequest
SoapClient::__getLastRequest
SoapClient


Retourne la dernière requête SOAP

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient
PHP Manual

SoapClient::__getLastRequest

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequest — Retourne la dernière requête SOAP

Description

public string SoapClient::__getLastRequest ( void )

Retourne le code XML de la dernière requête SOAP émise.

Note: Cette méthode fonctionne uniquement si l'objet SoapClient a été créé avec l'option trace configuré à TRUE.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La dernière requête SOAP, sous forme de chaîne de code XML.

Exemples

Exemple #1 Exemple avec SoapClient::__getLastRequest()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

Voir aussi

  • SoapClient::__getLastRequestHeaders - Retourne les entêtes de la dernière requête SOAP
  • SoapClient::__getLastResponse - Retourne la dernière réponse SOAP
  • SoapClient::__getLastResponseHeaders - Retourne les entêtes de la dernière réponse SOAP

SoapClient::__getFunctions
SoapClient::__getLastRequestHeaders
SoapClient


Retourne les entêtes de la dernière requête SOAP

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient
PHP Manual

SoapClient::__getLastRequestHeaders

(PHP 5 >= 5.0.1)

SoapClient::__getLastRequestHeaders — Retourne les entêtes de la dernière requête SOAP

Description

public string SoapClient::__getLastRequestHeaders ( void )

Retourne les entêtes de la dernière requête SOAP

Note: Cette fonction n'est disponible que si l'objet SoapClient a été créé avec l'option trace à TRUE

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les dernieres entêtes SOAP.

Exemples

Exemple #1 Exemple avec SoapClient::__getLastRequestHeaders()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST HEADERS:\n" . $client->__getLastRequestHeaders() . "\n";
?>

Voir aussi

  • SoapClient::__getLastResponseHeaders - Retourne les entêtes de la dernière réponse SOAP
  • SoapClient::__getLastRequest - Retourne la dernière requête SOAP
  • SoapClient::__getLastResponse - Retourne la dernière réponse SOAP

SoapClient::__getLastRequest
SoapClient::__getLastResponse
SoapClient


Retourne la dernière réponse SOAP

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient
PHP Manual

SoapClient::__getLastResponse

(PHP 5 >= 5.0.1)

SoapClient::__getLastResponse — Retourne la dernière réponse SOAP

Description

public string SoapClient::__getLastResponse ( void )

Retourne le code XML de la dernière réponse SOAP.

Note: Cette fonction n'est disponible que si l'objet SoapClient a été créé avec l'option trace à TRUE

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La dernière réponse SOAP, sous forme de chaîne XML.

Exemples

Exemple #1 Exemple avec SoapClient::__getLastResponse()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "Response:\n" . $client->__getLastResponse() . "\n";
?>

Voir aussi

  • SoapClient::__getLastResponseHeaders - Retourne les entêtes de la dernière réponse SOAP
  • SoapClient::__getLastRequest - Retourne la dernière requête SOAP
  • SoapClient::__getLastRequestHeaders - Retourne les entêtes de la dernière requête SOAP

SoapClient::__getLastRequestHeaders
SoapClient::__getLastResponseHeaders
SoapClient


Retourne les entêtes de la dernière réponse SOAP

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient
PHP Manual

SoapClient::__getLastResponseHeaders

(PHP 5 >= 5.0.1)

SoapClient::__getLastResponseHeaders — Retourne les entêtes de la dernière réponse SOAP

Description

public string SoapClient::__getLastResponseHeaders ( void )

Retourne les entêtes de la dernière réponse SOAP.

Note: Cette fonction n'est disponible que si l'objet SoapClient a été créé avec l'option trace à TRUE

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Les entêtes de la dernière réponse SOAP.

Exemples

Exemple #1 Exemple avec SoapClient::__getLastResponseHeaders()

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n";
?>

Voir aussi

  • SoapClient::__getLastRequestHeaders - Retourne les entêtes de la dernière requête SOAP
  • SoapClient::__getLastRequest - Retourne la dernière requête SOAP
  • SoapClient::__getLastResponse - Retourne la dernière réponse SOAP

SoapClient::__getLastResponse
SoapClient::__getTypes
SoapClient


Retourne une liste des types SOAP

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient
PHP Manual

SoapClient::__getTypes

(PHP 5 >= 5.0.1)

SoapClient::__getTypes — Retourne une liste des types SOAP

Description

public array SoapClient::__getTypes ( void )

SoapClient::__getTypes() retourne la liste des types SOAP décrits dans le fichier WSDL du service Web courant.

Note: Cette fonction n'est disponible qu'en mode WSDL.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de types SOAP.

Exemples

Exemple #1 Exemple avec SoapClient::__getTypes()

<?php
$client = new SoapClient("some.wsdl");
var_dump($client->__getTypes());
?>

Voir aussi

  • SoapClient::SoapClient - Constructeur SoapClient

SoapClient::__getLastResponseHeaders
SoapClient::__setCookie
SoapClient


Définit le cookie qui sera envoyé avec la requête SOAP

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient
PHP Manual

SoapClient::__setCookie

(PHP 5 >= 5.0.4)

SoapClient::__setCookie — Définit le cookie qui sera envoyé avec la requête SOAP

Description

public void SoapClient::__setCookie ( string $name [, string $value ] )

Définit le cookie qui sera envoyé avec la requête SOAP.

Note: L'appel à cette méthode affectera tous les appels suivants aux méthodes SoapClient.

Liste de paramètres

name

Le nom du cookie.

value

La valeur du cookie. Si non spécifié, le cookie sera effacé.

Valeurs de retour

Aucune valeur n'est retournée.

SoapClient::__getTypes
SoapClient::__setLocation
SoapClient


Configure l'URL du service Web à utiliser

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient
PHP Manual

SoapClient::__setLocation

(PHP 5 >= 5.0.1)

SoapClient::__setLocation — Configure l'URL du service Web à utiliser

Description

public string SoapClient::__setLocation ([ string $new_location ] )

Configure l'URL cible, à qui seront envoyés les requêtes SOAP. Ce revient à spécifier l'option location lors de la construction du client SoapClient.

Note: Cette méthode est optionnelle. SoapClient utilise l'URL indiquée dans le fichier WDSL par défaut.

Liste de paramètres

new_location

La nouvelle URL.

Valeurs de retour

L'ancienne URL.

Exemples

Exemple #1 Exemplea vec SoapClient::__setLocation()

<?php
$client = new SoapClient('http://example.com/webservice.php?wsdl');

$client->__setLocation('http://www.somethirdparty.com');

$old_location = $client->__setLocation(); // unsets the location option

echo $old_location;

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

http://www.somethirdparty.com

Voir aussi

  • SoapClient::SoapClient - Constructeur SoapClient

SoapClient::__setCookie
SoapClient::__setSoapHeaders
SoapClient


Ajoute un entête SOAP pour les requêtes suivantes

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient
PHP Manual

SoapClient::__setSoapHeaders

(PHP 5 >= 5.0.5)

SoapClient::__setSoapHeaders — Ajoute un entête SOAP pour les requêtes suivantes

Description

public bool SoapClient::__setSoapHeaders ([ mixed $soapheaders ] )

Définit un entête à utiliser dans les requêtes SOAP.

Note: Cette méthode va remplacer la valeur précédente.

Liste de paramètres

soapheaders

L'entête à configurer. Il peut être un objet SoapHeader ou un tableau d'objetcs SoapHeader. Si ce paramètre n'est pas spécifié ou défini à NULL, les en-têtes seront supprimés.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SoapClient::__setSoapHeaders()

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

Exemple #2 Configuration d'entêtes multiples pour SOAP

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$headers = array();

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world');

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
                            'echoMeStringRequest',
                            'hello world again');

$client->__setSoapHeaders($headers);

$client->__soapCall("echoVoid", null);
?>

SoapClient::__setLocation
SoapClient::__soapCall
SoapClient


Appelle une fonction SOAP

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient
PHP Manual

SoapClient::__soapCall

(PHP 5 >= 5.0.1)

SoapClient::__soapCall — Appelle une fonction SOAP

Description

public mixed SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )

Ceci est une fonction bas niveau de l'API qui est utilisée pour faire des appels SOAP. Habituellement, en mode WSDL, vous pouvez appeler simplement les fonctions SOAP comme des méthodes SoapClient. Cette méthode est pratique en mode non-WSDL lorsque soapaction est inconnu, uri est différente de la valeur par défaut ou lors de l'envoi et/ou de la réception d'en-têtes SOAP.

En cas d'erreur, un appel à une fonction SOAP peut causer un lancement d'exception par PHP ou retourner un objet SoapFault si les exceptions sont désactivées. Pour vérifier si l'appel à cette fonction n'arrive pas à attraper les exceptions SoapFault, vérifiez le résultat avec la fonction is_soap_fault().

Liste de paramètres

function_name

Le nom de la fonction SOAP à appeler.

arguments

Un tableau d'arguments à passer à la fonction. Cela peut être un tableau associatif ou ordonné.

options

Un tableau associatif d'options à passer au client.

Une option de location pour le service Web distant.

Une option uri avec l'espace de noms cible du service SOAP.

L'option soapaction est l'action à appeler.

input_headers

Un tableau d'entêtes à envoyer avec la requête SOAP.

output_headers

Si fourni, ce tableau sera rempli avec les entêtes de la réponse SOAP retournée.

Valeurs de retour

Les fonctions SOAP retournent une ou plusieurs valeurs. Si une seule valeur est retournée par la fonction SOAP, la valeur retournée de __soapCall sera une valeur simple (e.g. un entier, une chaîne de caractères, etc.). Si plusieurs valeurs sont retournées, __soapCall retournera un tableau associatif contenant les noms des paramètres affichés.

En cas d'erreur, si l'objet SoapClient a été construit avec l'option trace qui valait FALSE, un objet SoapFault sera retourné.

Exemples

Exemple #1 Exemple avec SoapClient::__soapCall()

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

Voir aussi

  • SoapClient::SoapClient - Constructeur SoapClient
  • SoapParam::SoapParam - Constructeur SoapParam
  • SoapVar::SoapVar - Constructeur SoapVar
  • SoapHeader::SoapHeader - SoapHeader constructor
  • SoapFault::SoapFault - SoapFault constructor
  • is_soap_fault() - Vérifie si SOAP retourne une erreur

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient


Constructeur SoapClient

SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual

SoapClient::SoapClient

(PHP 5 >= 5.0.1)

SoapClient::SoapClient — Constructeur SoapClient

Description

SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

Ce constructeur crée des objets SoapClient dans le mode WSDL ou non-WSDL.

Liste de paramètres

wsdl

URI du fichier WSDL ou NULL s'il travaille en mode non-WSDL.

Note: Durant le stage de développement, vous devriez vouloir désactiver le cache WSDL via l'option de configuration soap.wsdl_cache_ttl de votre php.ini, sinon, les modifications faites sur le fichier WSDL n'auront aucun effet tant que le cache soap.wsdl_cache_ttl n'aura pas expiré.

options

Un tableau d'options. Si l'on travaille en mode WSDL, ce paramètre est optionnel. En mode non-WSDL, vous devez définir les options location et uri, où location est l'URL à interroger et uri est l'espace de noms cible du service SOAP.

Les options style et use ne fonctionnent que dans le mode non-WSDL. En mode WSDL, ils viennent du fichier WSDL.

L'option soap_version spécifie si l'on doit utiliser le client SOAP version 1.1 (par défaut) ou 1.2.

Pour les identifications HTTP, vous devez utiliser les options login et password. Pour effectuer une connexion HTTP via un proxy, utilisez les options proxy_host, proxy_port, proxy_login et proxy_password. Pour les identifications à l'aide d'un certificat d'un client HTTPS, utilisez les options local_cert et passphrase. Une authentification peut être spécifiée dans l'option authentication. La méthode d'authentification peut être SOAP_AUTHENTICATION_BASIC (par défaut) ou SOAP_AUTHENTICATION_DIGEST.

L'option compression permet d'utiliser la compression sur les requêtes et les réponses HTTP SOAP.

L'option encoding définit le jeu d'encodage des caractères internes. Cette option ne modifie pas l'encodage des requêtes SOAP (il est toujours utf-8), mais convertit les chaînes en utilisant ce dernier.

L'option trace active le suivi des requêtes pour permettre le retraçage des défauts. FALSE par défaut.

L'option classmap peut être utilisée pour lier quelques types WSDL avec des classes PHP. Cette option doit être un tableau avec les types WSDL en tant que clés et les noms des classes PHP en tant que valeurs.

Définir l'option trace active l'utilisation des méthodes

 SoapClient->__getLastRequest,

 SoapClient->__getLastRequestHeaders,

 SoapClient->__getLastResponse et

 SoapClient->__getLastResponseHeaders.

L'option exceptions est un booléen définissant si les erreurs SOAP doivent lancer des exceptions du type SoapFault.

L'option connection_timeout définit le délai de connexion en secondes pour la connexion au service SOAP. Cette option ne définit pas un délai de connexion pour les services avec des réponses lentes. Pour limiter la durée d'attente de fin des appels, l'option default_socket_timeout est disponible.

L'option typemap est un tableau dont les clés sont type_name, type_ns (URI de l'espace de noms), from_xml (fonction de rappel acceptant un paramètre de type chaîne) et to_xml (fonction de rappel acceptant un paramètre de type objet).

L'option cache_wsdl est une constante parmi WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY ou WSDL_CACHE_BOTH.

L'option user_agent spécifie la chaîne à utiliser dans l'en-tête User-Agent.

L'option stream_context est une ressource de contexte.

L'option features est un masque représentant les constantes SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE et, SOAP_WAIT_ONE_WAY_CALLS.

Exemples

Exemple #1 Exemple avec SoapClient::SoapClient()

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

SoapClient::__soapCall
SoapServer
SoapClient


La classe SoapServer

Introduction

La classe SoapServer fournit un serveur pour les protocoles » SOAP 1.1 et » SOAP 1.2. Il peut être utilisé avec ou sans fichier de description de service WSDL.

Synopsis de la classe

SoapServer
SoapServer {
/* Méthodes */
public void addFunction ( string $functions )
public void addSoapHeader ( SoapHeader $object )
__construct ( mixed $wsdl [, array $options ] )
public void fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )
public array getFunctions ( void )
public void handle ([ string $soap_request ] )
public void setClass ( string $class_name [, string $args ] )
public void setObject ( string $object )
public void setPersistence ( string $mode )
SoapServer ( mixed $wsdl [, array $options ] )
}

Sommaire

  • SoapServer::addFunction — Ajoute une ou plusieurs fonctions qui vont gérer les requêtes SOAP
  • SoapServer::addSoapHeader — Ajoute un entête SOAP à une réponse
  • SoapServer::__construct — Constructeur SoapServer
  • SoapServer::fault — Emet une erreur SoapServer
  • SoapServer::getFunctions — Retourne la liste des fonctions définies
  • SoapServer::handle — Traite une requête SOAP
  • SoapServer::setClass — Configure la classe qui sera utilisée pour gérer les requêtes SOAP
  • SoapServer::setObject — Configure l'objet qui sera utilisé pour gérer les requêtes SOAP
  • SoapServer::setPersistence — Active le mode persistant de SoapServer
  • SoapServer::SoapServer — Constructeur SoapServer
SoapClient::SoapClient
SoapServer::addFunction
SOAP


Ajoute une ou plusieurs fonctions qui vont gérer les requêtes SOAP

SoapServer
SoapServer::addSoapHeader
SoapServer
PHP Manual

SoapServer::addFunction

(PHP 5 >= 5.0.1)

SoapServer::addFunction — Ajoute une ou plusieurs fonctions qui vont gérer les requêtes SOAP

Description

public void SoapServer::addFunction ( string $functions )

Exporte une ou plusieurs fonctions pour les clients distants.

Liste de paramètres

functions

Pour exporter une seule fonction, il faut passer son nom dans ce paramètre en tant que chaîne de caractères.

Pour exporter plusieurs fonctions, il faut utiliser un tableau de noms de fonctions.

Pour exporter toutes les fonctions, il faut utiliser la constante spéciale SOAP_FUNCTIONS_ALL.

Note: functions doit recevoir tous les arguments d'entrée dans le même ordre que celui défini dans le fichier WSDL (il ne doit recevoir aucun paramètre de sortie en tant qu'argument) et retourne une ou plusieurs valeurs. Pour retourner plusieurs valeurs, il doit retourner un tableau contenant le nom des paramètres de sortie.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SoapServer::addFunction()

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Voir aussi

  • SoapServer::SoapServer - Constructeur SoapServer
  • SoapServer::setClass - Configure la classe qui sera utilisée pour gérer les requêtes SOAP

SoapServer
SoapServer::addSoapHeader
SoapServer


Ajoute un entête SOAP à une réponse

SoapServer::addFunction
SoapServer::__construct
SoapServer
PHP Manual

SoapServer::addSoapHeader

(PHP 5 >= 5.0.1)

SoapServer::addSoapHeader — Ajoute un entête SOAP à une réponse

Description

public void SoapServer::addSoapHeader ( SoapHeader $object )

Ajoute un entête SOAP à la réponse courante.

Liste de paramètres

object

L'entête à renvoyer.

Valeurs de retour

Aucune valeur n'est retournée.

SoapServer::addFunction
SoapServer::__construct
SoapServer


Constructeur SoapServer

SoapServer::addSoapHeader
SoapServer::fault
SoapServer
PHP Manual

SoapServer::__construct

(PHP 5 >= 5.0.1)

SoapServer::__construct — Constructeur SoapServer

Description

SoapServer::__construct ( mixed $wsdl [, array $options ] )

Cette fonction est un alias de : SoapServer::SoapServer

SoapServer::addSoapHeader
SoapServer::fault
SoapServer


Emet une erreur SoapServer

SoapServer::__construct
SoapServer::getFunctions
SoapServer
PHP Manual

SoapServer::fault

(PHP 5 >= 5.0.1)

SoapServer::fault — Emet une erreur SoapServer

Description

public void SoapServer::fault ( string $code , string $string [, string $actor [, string $details [, string $name ]]] )

Envoie une réponse au client de la requête courante, avec un message d'erreur.

Note: Cela n'est possible que durant l'exécution de la requête.

Liste de paramètres

code

Le code d'erreur à retourner.

string

Une description de l'erreur.

actor

Une chaîne identifiant l'acteur en cause.

details

Plus de détails sur la faute.

name

Le nom de l'erreur. Cela peut être utilisé pour sélectionner un nom dans un fichier WSDL.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SoapFault::SoapFault - SoapFault constructor

SoapServer::__construct
SoapServer::getFunctions
SoapServer


Retourne la liste des fonctions définies

SoapServer::fault
SoapServer::handle
SoapServer
PHP Manual

SoapServer::getFunctions

(PHP 5 >= 5.0.1)

SoapServer::getFunctions — Retourne la liste des fonctions définies

Description

public array SoapServer::getFunctions ( void )

SoapServer::getFunctions() retourne la liste de toutes les fonctions ajoutées à l'objet serveur SoapServer. Elle retourne la liste de toutes les fonctions ajoutées à l'aide des méthodes SoapServer::addFunction() et SoapServer::setClass().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de toutes les fonctions.

Exemples

Exemple #1 Exemple avec SoapServer::getFunctions()

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "Ce serveur SOAP peut gérer les fonctions suivantes : ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

Voir aussi

  • SoapServer::SoapServer - Constructeur SoapServer
  • SoapServer::addFunction - Ajoute une ou plusieurs fonctions qui vont gérer les requêtes SOAP
  • SoapServer::setClass - Configure la classe qui sera utilisée pour gérer les requêtes SOAP

SoapServer::fault
SoapServer::handle
SoapServer


Traite une requête SOAP

SoapServer::getFunctions
SoapServer::setClass
SoapServer
PHP Manual

SoapServer::handle

(PHP 5 >= 5.0.1)

SoapServer::handle — Traite une requête SOAP

Description

public void SoapServer::handle ([ string $soap_request ] )

Effectue une requête SOAP, appelle les fonctions nécessaires et envoie une réponse en retour.

Liste de paramètres

soap_request

La requête SOAP. Si cet argument est omis, la requête est supposée être dans les données POST brûtes de la requête HTTP.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec SoapServer::handle()

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Voir aussi

  • SoapServer::SoapServer - Constructeur SoapServer

SoapServer::getFunctions
SoapServer::setClass
SoapServer


Configure la classe qui sera utilisée pour gérer les requêtes SOAP

SoapServer::handle
SoapServer::setObject
SoapServer
PHP Manual

SoapServer::setClass

(PHP 5 >= 5.0.1)

SoapServer::setClass — Configure la classe qui sera utilisée pour gérer les requêtes SOAP

Description

public void SoapServer::setClass ( string $class_name [, string $args ] )

Exporte toute les méthodes de la classe spécifiée.

SoapServer::setClass() configure une classe qui servira de gestionnaire aux requêtes SOAP. L'objet pourra alors être rendu persistant à travers les requêtes pour une session PHP, avec la méthode SoapServer::setPersistence().

Liste de paramètres

class_name

Le nom de la classe exportée.

args

Ces paramètres optionnels seront passé par défaut au constructeur de la classe, durant la phase de création de l'objet.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SoapServer::SoapServer - Constructeur SoapServer
  • SoapServer::addFunction - Ajoute une ou plusieurs fonctions qui vont gérer les requêtes SOAP
  • SoapServer::setPersistence - Active le mode persistant de SoapServer

SoapServer::handle
SoapServer::setObject
SoapServer


Configure l'objet qui sera utilisé pour gérer les requêtes SOAP

SoapServer::setClass
SoapServer::setPersistence
SoapServer
PHP Manual

SoapServer::setObject

(PHP 5 >= 5.2.0)

SoapServer::setObject — Configure l'objet qui sera utilisé pour gérer les requêtes SOAP

Description

public void SoapServer::setObject ( string $object )

SoapServer::setObject() configure un objet qui servira de gestionnaire aux requêtes SOAP, plutôt qu'une simple classe, comme avec SoapServer::setClass().

Liste de paramètres

object

L'objet qui va gérer les requêtes.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SoapServer::setClass - Configure la classe qui sera utilisée pour gérer les requêtes SOAP

SoapServer::setClass
SoapServer::setPersistence
SoapServer


Active le mode persistant de SoapServer

SoapServer::setObject
SoapServer::SoapServer
SoapServer
PHP Manual

SoapServer::setPersistence

(PHP 5 >= 5.1.2)

SoapServer::setPersistence — Active le mode persistant de SoapServer

Description

public void SoapServer::setPersistence ( string $mode )

Cette fonction permet de sauvegarder les données entre les requêtes dans une session PHP. Cela ne fonctionne qu'avec un serveur qui exporte les fonctions depuis une classe avec les méthodes SoapServer::setClass ou SoapServer::setObject.

Note: La constante de persistence SOAP_PERSISTENCE_SESSION rend uniquement les objets de la classe donnée persistants, mais non pas les données statiques. Dans ce cas, $this->bar au lieu de self::$bar.

Liste de paramètres

mode

Une des constantes suivantes :

SOAP_PERSISTENCE_REQUEST : fait persister l'objet pour toute la requête.

SOAP_PERSISTENCE_SESSION : fait persister l'objet pour toute la session.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • SoapServer::setClass - Configure la classe qui sera utilisée pour gérer les requêtes SOAP
  • SoapServer::setObject - Configure l'objet qui sera utilisé pour gérer les requêtes SOAP

SoapServer::setObject
SoapServer::SoapServer
SoapServer


Constructeur SoapServer

SoapServer::setPersistence
SoapFault
SoapServer
PHP Manual

SoapServer::SoapServer

(PHP 5 >= 5.0.1)

SoapServer::SoapServer — Constructeur SoapServer

Description

SoapServer::SoapServer ( mixed $wsdl [, array $options ] )

Ce constructeur permet la création d'objets SoapServer en mode WSDL ou non-WSDL.

Liste de paramètres

wsdl

Pour utiliser le mode WSDL, il faut définir l'URI du fichier WSDL dans ce paramètre. Avec les autres situations, il faut définir ce paramètre à NULL et définir l'option uri.

options

Permet de définir une version SOAP par défaut (soap_version), un jeu de caractères d'encodage interne (encoding) et un URI acteur (actor).

L'option classmap peut être utilisée pour lier quelques types WSDL à des classes PHP. Cette option doit être un tableau avec les types WSDL en tant que clés et les noms des classes PHP en tant que valeurs.

L'option typemap est un tableau dont les clés sont type_name, type_ns (URI de l'espace de noms), from_xml (fonction de rappel acceptant un paramètre de type chaîne de caractères) et to_xml (fonction de rappel acceptant un paramètre de type objet).

L'option cache_wsdl prend une des valeurs WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY ou WSDL_CACHE_BOTH.

La dernière option est features qui peut être défini à SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

Exemples

Exemple #1 Exemples avec SoapServer

<?php

$server = new SoapServer("fichier.wsdl");

$server = new SoapServer("fichier.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("fichier.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("fichier.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MonLivre {
        public $titre;
        public $auteur;
}

$server = new SoapServer("livre.wsdl", array('classmap' => array('book' => "MonLivre")));

?>

Historique

Version | Description
5.2.0 | Ajout de l'option typemap.

Voir aussi

  • SoapClient::SoapClient - Constructeur SoapClient

SoapServer::setPersistence
SoapFault
SoapServer


La classe SoapFault

Introduction

Représente une erreur SOAP.

Synopsis de la classe

SoapFault
SoapFault extends Exception {
/* Propriétés */
/* Méthodes */
__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
public string __toString ( void )
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propriétés

message

Description

code

Description

file

Description

line

Description

Sommaire

  • SoapFault::__construct — Constructeur SoapFault
  • SoapFault::SoapFault — SoapFault constructor
  • SoapFault::__toString — Produit une représentation chaîne d'un objet SoapFault
SoapServer::SoapServer
SoapFault::__construct
SOAP


Constructeur SoapFault

SoapFault
SoapFault::SoapFault
SoapFault
PHP Manual

SoapFault::__construct

(PHP 5 >= 5.0.1)

SoapFault::__construct — Constructeur SoapFault

Description

SoapFault::__construct ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

Cette fonction est un alias de : SoapFault::SoapFault

SoapFault
SoapFault::SoapFault
SoapFault


SoapFault constructor

SoapFault::__construct
SoapFault::__toString
SoapFault
PHP Manual

SoapFault::SoapFault

(PHP 5 >= 5.0.1)

SoapFault::SoapFault — SoapFault constructor

Description

SoapFault::SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )

SoapFault sert à envoyer des erreurs SOAP depuis le PHP.faultcode, faultstring, faultactor et details sont les éléments standards SOAP.

Liste de paramètres

faultcode

Le code erreur de SoapFault.

faultstring

Le message d'erreur de SoapFault.

faultactor

Une chaîne identifiant l'acteur qui a causé l'erreur.

detail

faultname

Peut être utilisé pour sélectionner l'encodage qui convient depuis WSDL.

headerfault

Peut être utilisé durant la gestion de l'entête SOAP pour rapporter une erreur dans l'en-tête de réponse.

Exemples

Exemple #1 Quelques exemples avec SoapFault

<?php
function test($x)
{
    return new SoapFault("Server", "Un message d'erreur");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Il est possible d'utiliser le mécanisme des exceptions de PHP pour lancer des exceptions SoapFault.

Exemple #2 Emission d'exceptions SoapFault

<?php
function test($x)
{
    throw new SoapFault("Server", "Un message d'erreur");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Voir aussi

  • SoapServer::fault - Emet une erreur SoapServer
  • is_soap_fault() - Vérifie si SOAP retourne une erreur

SoapFault::__construct
SoapFault::__toString
SoapFault


Produit une représentation chaîne d'un objet SoapFault

SoapFault::SoapFault
SoapHeader
SoapFault
PHP Manual

SoapFault::__toString

(PHP 5 >= 5.0.1)

SoapFault::__toString — Produit une représentation chaîne d'un objet SoapFault

Description

public string SoapFault::__toString ( void )

Retourne une représentation en chaîne de l'objet SoapFault.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Une chaîne décrivant l'objet SoapFault.

SoapFault::SoapFault
SoapHeader
SoapFault


La classe SoapHeader

Introduction

Représente un entête SOAP.

Synopsis de la classe

SoapHeader
SoapHeader {
/* Méthodes */
__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )
SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )
}

Sommaire

  • SoapHeader::__construct — Constructeur SoapHeader
  • SoapHeader::SoapHeader — SoapHeader constructor
SoapFault::__toString
SoapHeader::__construct
SOAP


Constructeur SoapHeader

SoapHeader
SoapHeader::SoapHeader
SoapHeader
PHP Manual

SoapHeader::__construct

(PHP 5 >= 5.0.1)

SoapHeader::__construct — Constructeur SoapHeader

Description

SoapHeader::__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )

Cette fonction est un alias de : SoapHeader::SoapHeader

SoapHeader
SoapHeader::SoapHeader
SoapHeader


SoapHeader constructor

SoapHeader::__construct
SoapParam
SoapHeader
PHP Manual

SoapHeader::SoapHeader

(PHP 5 >= 5.0.1)

SoapHeader::SoapHeader — SoapHeader constructor

Description

SoapHeader::SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )

Construit un nouvel objet SoapHeader.

Liste de paramètres

namespace

L'espace de noms de l'élément d'entête SOAP.

name

Le nom de l'élément d'entête SOAP.

data

Un contenu de l'en-tête SOAP. Il peut être une valeur PHP ou un objet SoapVar.

mustUnderstand

Valeur de l'attribut mustUnderstand de l'élément d'entête SOAP.

actor

Valeur de l'attribut actor de l'élément d'entête SOAP.

Exemples

Exemple #1 Exemple simple avec SoapHeader

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

Voir aussi

  • SoapClient::__soapCall - Appelle une fonction SOAP
  • SoapVar::SoapVar - Constructeur SoapVar
  • SoapParam::SoapParam - Constructeur SoapParam
  • SoapServer::addSoapHeader - Ajoute un entête SOAP à une réponse

SoapHeader::__construct
SoapParam
SoapHeader


La classe SoapParam

Introduction

Représentes un paramètre dans un appel SOAP.

Synopsis de la classe

SoapParam
SoapParam {
/* Méthodes */
__construct ( mixed $data , string $name )
SoapParam ( mixed $data , string $name )
}

Sommaire

  • SoapParam::__construct — Constructeur SoapParam
  • SoapParam::SoapParam — Constructeur SoapParam
SoapHeader::SoapHeader
SoapParam::__construct
SOAP


Constructeur SoapParam

SoapParam
SoapParam::SoapParam
SoapParam
PHP Manual

SoapParam::__construct

(PHP 5 >= 5.0.1)

SoapParam::__construct — Constructeur SoapParam

Description

SoapParam::__construct ( mixed $data , string $name )

Cette fonction est un alias de : SoapParam::SoapParam

SoapParam
SoapParam::SoapParam
SoapParam


Constructeur SoapParam

SoapParam::__construct
SoapVar
SoapParam
PHP Manual

SoapParam::SoapParam

(PHP 5 >= 5.0.1)

SoapParam::SoapParam — Constructeur SoapParam

Description

SoapParam::SoapParam ( mixed $data , string $name )

Construit un nouvel objet SoapParam.

Liste de paramètres

data

Les données à passer ou à retourner. Vous pouvez passer ce paramètre directement en tant qu'une valeur PHP, mais dans ce cas, il sera nommé paramN et le service SOAP ne le comprendra pas.

name

Le nom du paramètre.

Exemples

Exemple #1 Quelques exemples

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

Voir aussi

  • SoapClient::__soapCall - Appelle une fonction SOAP
  • SoapVar::SoapVar - Constructeur SoapVar

SoapParam::__construct
SoapVar
SoapParam


La classe SoapVar

Introduction

Une classe représentant une variable ou un objet qui utilise des services SOAP.

Synopsis de la classe

SoapVar
SoapVar {
/* Méthodes */
__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
SoapVar ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
}

Sommaire

  • SoapVar::__construct — Constructeur SoapVar
  • SoapVar::SoapVar — Constructeur SoapVar
SoapParam::SoapParam
SoapVar::__construct
SOAP


Constructeur SoapVar

SoapVar
SoapVar::SoapVar
SoapVar
PHP Manual

SoapVar::__construct

(PHP 5 >= 5.0.1)

SoapVar::__construct — Constructeur SoapVar

Description

SoapVar::__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Cette fonction est un alias de : SoapVar::SoapVar

SoapVar
SoapVar::SoapVar
SoapVar


Constructeur SoapVar

SoapVar::__construct
XML-RPC
SoapVar
PHP Manual

SoapVar::SoapVar

(PHP 5 >= 5.0.1)

SoapVar::SoapVar — Constructeur SoapVar

Description

SoapVar::SoapVar ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

Construit un nouvel objet SoapVar.

Liste de paramètres

data

Les données à passer ou à retourner.

encoding

L'ID d'encodage, une des constantes XSD_....

type_name

Le nom du type.

type_namespace

Le type de l'espace de noms.

node_name

Le nom du noeud XML.

node_namespace

L'espace de noms du noeud XML.

Exemples

Exemple #1 Exemple avec SoapVar::SoapVar()

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Voir aussi

  • SoapClient::__soapCall - Appelle une fonction SOAP
  • SoapParam::SoapParam - Constructeur SoapParam

SoapVar::__construct
XML-RPC
SoapVar


XML-RPC

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions XML-RPC
    • xmlrpc_decode_request — Décode le code XML en variables PHP natives
    • xmlrpc_decode — Décode le XML en types PHP natifs
    • xmlrpc_encode_request — Génère le XML pour une méthode
    • xmlrpc_encode — Génère le code XML pour une valeur PHP
    • xmlrpc_get_type — Retourne le type XMLRPC d'une valeur PHP
    • xmlrpc_is_fault — Détermine si un tableau de valeurs représente un XMLRPC
    • xmlrpc_parse_method_descriptions — Décode le code XML en une liste de descriptions de méthodes
    • xmlrpc_server_add_introspection_data — Ajoute des données d'introspection
    • xmlrpc_server_call_method — Analyse une requête XML et appelle les méthodes associées
    • xmlrpc_server_create — Crée un serveur XMLRPC
    • xmlrpc_server_destroy — Détruit un serveur XMLRPC
    • xmlrpc_server_register_introspection_callback — Enregistre une fonction PHP pour générer la documentation
    • xmlrpc_server_register_method — Enregistre une fonction PHP avec une méthode
    • xmlrpc_set_type — Définit le type xmlrpc, base64 ou datetime, d'une valeur PHP
SoapVar::SoapVar
Introduction
Services Web


Introduction

Ces fonctions servent à écrire sur les serveurs XML-RPC, mais aussi sur les clients. Vous pouvez trouver plus d'informations sur XML-RPC sur » http://www.xmlrpc.com/, et plus de documentations sur cette extension et ces fonctions, sur » http://xmlrpc-epi.sourceforge.net/.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

XML-RPC
Installation/Configuration
XML-RPC


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
XML-RPC


Installation

Le support de XML-RPC n'est pas activé par défaut en PHP. Vous devez l'activer avec l'option de compilation --with-xmlrpc[=DIR]. Cette extension est fournie avec PHP depuis la version 4.1.0.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit une ressource serveur XML-RPC, retournée par la fonction xmlrpc_server_create().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions XML-RPC
XML-RPC


Fonctions XML-RPC

Sommaire

  • xmlrpc_decode_request — Décode le code XML en variables PHP natives
  • xmlrpc_decode — Décode le XML en types PHP natifs
  • xmlrpc_encode_request — Génère le XML pour une méthode
  • xmlrpc_encode — Génère le code XML pour une valeur PHP
  • xmlrpc_get_type — Retourne le type XMLRPC d'une valeur PHP
  • xmlrpc_is_fault — Détermine si un tableau de valeurs représente un XMLRPC
  • xmlrpc_parse_method_descriptions — Décode le code XML en une liste de descriptions de méthodes
  • xmlrpc_server_add_introspection_data — Ajoute des données d'introspection
  • xmlrpc_server_call_method — Analyse une requête XML et appelle les méthodes associées
  • xmlrpc_server_create — Crée un serveur XMLRPC
  • xmlrpc_server_destroy — Détruit un serveur XMLRPC
  • xmlrpc_server_register_introspection_callback — Enregistre une fonction PHP pour générer la documentation
  • xmlrpc_server_register_method — Enregistre une fonction PHP avec une méthode
  • xmlrpc_set_type — Définit le type xmlrpc, base64 ou datetime, d'une valeur PHP
Constantes pré-définies
xmlrpc_decode_request
XML-RPC


Décode le code XML en variables PHP natives

Fonctions XML-RPC
xmlrpc_decode
Fonctions XML-RPC
PHP Manual

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode_request — Décode le code XML en variables PHP natives

Description

mixed xmlrpc_decode_request ( string $xml , string &$method [, string $encoding ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fonctions XML-RPC
xmlrpc_decode
Fonctions XML-RPC


Décode le XML en types PHP natifs

xmlrpc_decode_request
xmlrpc_encode_request
Fonctions XML-RPC
PHP Manual

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode — Décode le XML en types PHP natifs

Description

mixed xmlrpc_decode ( string $xml [, string $encoding = "iso-8859-1" ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

xml

Réponse XML retournée par la méthode XMLRPC.

encoding

Encodage d'entrée, supporté par iconv.

Valeurs de retour

Retourne soit un tableau, soit un entier, soit une chaîne, soit un booléen, en fonction de la réponse retournée par la méthode XMLRPC.

Exemples

Voir l'exemple fourni avec la documentation de la fonction xmlrpc_encode_request().

Voir aussi

  • xmlrpc_encode_request() - Génère le XML pour une méthode
  • xmlrpc_is_fault() - Détermine si un tableau de valeurs représente un XMLRPC

xmlrpc_decode_request
xmlrpc_encode_request
Fonctions XML-RPC


Génère le XML pour une méthode

xmlrpc_decode
xmlrpc_encode
Fonctions XML-RPC
PHP Manual

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode_request — Génère le XML pour une méthode

Description

string xmlrpc_encode_request ( string $method , mixed $params [, array $output_options ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

method

Nom de la méthode à appeler.

params

Paramètres de la méthode, compatibles avec la signature de la méthode.

output_options

Tableau spécifiant les options de sortie pouvant contenir (les valeurs par défaut sont en gras) :

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (peut être une chaîne avec une valeur ou un tableau avec plusieurs valeurs)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, autres jeux de caractères supportés par iconv

Valeurs de retour

Retourne une chaîne contenant la représentation XML de la demande.

Exemples

Exemple #1 Exemple avec XMLRPC

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Voir aussi

  • stream_context_create() - Crée un contexte de flux
  • file_get_contents() - Lit tout un fichier dans une chaîne
  • xmlrpc_decode() - Décode le XML en types PHP natifs

xmlrpc_decode
xmlrpc_encode
Fonctions XML-RPC


Génère le code XML pour une valeur PHP

xmlrpc_encode_request
xmlrpc_get_type
Fonctions XML-RPC
PHP Manual

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode — Génère le code XML pour une valeur PHP

Description

string xmlrpc_encode ( mixed $value )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_encode_request
xmlrpc_get_type
Fonctions XML-RPC


Retourne le type XMLRPC d'une valeur PHP

xmlrpc_encode
xmlrpc_is_fault
Fonctions XML-RPC
PHP Manual

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_get_type — Retourne le type XMLRPC d'une valeur PHP

Description

string xmlrpc_get_type ( mixed $value )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Particulièrement pratique pour les types chaînes de type base64 et datetime.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_encode
xmlrpc_is_fault
Fonctions XML-RPC


Détermine si un tableau de valeurs représente un XMLRPC

xmlrpc_get_type
xmlrpc_parse_method_descriptions
Fonctions XML-RPC
PHP Manual

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5)

xmlrpc_is_fault — Détermine si un tableau de valeurs représente un XMLRPC

Description

bool xmlrpc_is_fault ( array $arg )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

arg

Tableau retourné par la fonction xmlrpc_decode().

Valeurs de retour

Retourne TRUE si l'argument signifie fault, FALSE sinon. La description de fault est disponible dans la variable $arg["faultString"], le code de fault est disponible dans la variable $arg["faultCode"].

Exemples

Retrouvez un exemple avec la fonction xmlrpc_encode_request().

Voir aussi

  • xmlrpc_decode() - Décode le XML en types PHP natifs

xmlrpc_get_type
xmlrpc_parse_method_descriptions
Fonctions XML-RPC


Décode le code XML en une liste de descriptions de méthodes

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
Fonctions XML-RPC
PHP Manual

xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_parse_method_descriptions — Décode le code XML en une liste de descriptions de méthodes

Description

array xmlrpc_parse_method_descriptions ( string $xml )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
Fonctions XML-RPC


Ajoute des données d'introspection

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
Fonctions XML-RPC
PHP Manual

xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_add_introspection_data — Ajoute des données d'introspection

Description

int xmlrpc_server_add_introspection_data ( resource $server , array $desc )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
Fonctions XML-RPC


Analyse une requête XML et appelle les méthodes associées

xmlrpc_server_add_introspection_data
xmlrpc_server_create
Fonctions XML-RPC
PHP Manual

xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_call_method — Analyse une requête XML et appelle les méthodes associées

Description

string xmlrpc_server_call_method ( resource $server , string $xml , mixed $user_data [, array $output_options ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_server_add_introspection_data
xmlrpc_server_create
Fonctions XML-RPC


Crée un serveur XMLRPC

xmlrpc_server_call_method
xmlrpc_server_destroy
Fonctions XML-RPC
PHP Manual

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_create — Crée un serveur XMLRPC

Description

resource xmlrpc_server_create ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_server_call_method
xmlrpc_server_destroy
Fonctions XML-RPC


Détruit un serveur XMLRPC

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
Fonctions XML-RPC
PHP Manual

xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_destroy — Détruit un serveur XMLRPC

Description

int xmlrpc_server_destroy ( resource $server )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
Fonctions XML-RPC


Enregistre une fonction PHP pour générer la documentation

xmlrpc_server_destroy
xmlrpc_server_register_method
Fonctions XML-RPC
PHP Manual

xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_introspection_callback — Enregistre une fonction PHP pour générer la documentation

Description

bool xmlrpc_server_register_introspection_callback ( resource $server , string $function )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_server_destroy
xmlrpc_server_register_method
Fonctions XML-RPC


Enregistre une fonction PHP avec une méthode

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
Fonctions XML-RPC
PHP Manual

xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_register_method — Enregistre une fonction PHP avec une méthode

Description

bool xmlrpc_server_register_method ( resource $server , string $method_name , string $function )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xmlrpc_server_register_introspection_callback
xmlrpc_set_type
Fonctions XML-RPC


Définit le type xmlrpc, base64 ou datetime, d'une valeur PHP

xmlrpc_server_register_method
Extensions pour Windows uniquement
Fonctions XML-RPC
PHP Manual

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_set_type — Définit le type xmlrpc, base64 ou datetime, d'une valeur PHP

Description

bool xmlrpc_set_type ( string &$value , string $type )

xmlrpc_set_type() définit le type XMLRPC, base64 ou datetime, pour une chaîne PHP.

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Liste de paramètres

value

Valeur dont on veut modifier le type

type

base64 ou datetime

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. En cas de réussite, value sera converti en objet.

Exemples

Exemple #1 Exemple avec xmlrpc_set_type()

<?php

$params = date("Ymd\TH:i:s", time());
xmlrpc_set_type($params, 'datetime');
echo xmlrpc_encode($params);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <dateTime.iso8601>20090322T23:43:03</dateTime.iso8601>
 </value>
</param>
</params>

Erreurs / Exceptions

Émet une alerte de type E_WARNING lorsque le type n'est pas supporté par XMLRPC.

xmlrpc_server_register_method
Extensions pour Windows uniquement
Fonctions XML-RPC


Extensions pour Windows uniquement

  • .NET
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions .NET
  • COM — COM et .Net (Windows)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Erreur et gestion des erreurs
    • Exemples
    • Fonctions COM et .Net (Windows)
  • Impression
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions d'impression
  • W32api
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions W32api
  • win32ps
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • win32ps Fonctions
  • win32service
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions win32service
xmlrpc_set_type
.NET
Référence des fonctions


.NET

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions .NET
    • dotnet_load — Charge un module DOTNET
Extensions pour Windows uniquement
Introduction
Extensions pour Windows uniquement


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

.NET
Installation/Configuration
.NET


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
.NET


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions .NET
.NET


Fonctions .NET

Sommaire

  • dotnet_load — Charge un module DOTNET
Constantes pré-définies
dotnet_load
.NET


Charge un module DOTNET

Fonctions .NET
COM
Fonctions .NET
PHP Manual

dotnet_load

(PHP 4)

dotnet_load — Charge un module DOTNET

Description

int dotnet_load ( string $assembly_name [, string $datatype_name [, int $codepage ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Historique

Version | Description
4.1.0 | Le paramètre codepage a été ajouté.

Fonctions .NET
COM
Fonctions .NET


COM et .Net (Windows)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Erreur et gestion des erreurs
  • Exemples
    • For Each
    • Tableaux et propriétés à la façon des tableaux de COM
  • Fonctions COM et .Net (Windows)
    • COM — Classe COM
    • DOTNET — La classe DOTNET
    • VARIANT — classe VARIANT
    • com_addref — Incrémente le compteur de références [Obsolète]
    • com_create_guid — Génère un identifiant unique global (GUID)
    • com_event_sink — Connecte des événements d'un objet COM sur un objet PHP
    • com_get_active_object — Retourne un objet représentant l'instance actuelle d'un objet COM
    • com_get — Lit la valeur d'une propriété d'un composant COM [Obsolète]
    • com_invoke — Appelle une méthode d'un composant (déconseillé)
    • com_isenum — Indique si un objet COM a une interface IEnumVariant pour l'itération [Obsolète]
    • com_load_typelib — Charge un Typelib
    • com_load — Crée une référence sur un composant COM [Obsolète]
    • com_message_pump — Traite un message COM dans un délai donné
    • com_print_typeinfo — Affiche une définition de classe PHP pour une interface répartissable
    • com_propget — Alias de com_get
    • com_propput — Alias de com_set
    • com_propset — Alias de com_set
    • com_release — Décrémente le compteur de références [Obsolète]
    • com_set — Modifie une propriété d'un composant COM
    • variant_abs — Retourne la valeur absolue d'un variant
    • variant_add — "Ajoute" deux valeurs de variants et retourne le résultat
    • variant_and — Effectue un ET entre deux variants et retourne le résultat
    • variant_cast — Convertit un variant en un nouvel objet variant de type différent
    • variant_cat — Assemble deux valeurs variantes ensemble et retourne le résultat
    • variant_cmp — Compare deux variants
    • variant_date_from_timestamp — Retourne une représentation date en variant d'un timestamp Unix
    • variant_date_to_timestamp — Convertit une valeur date/temps variante en un timestamp Unix
    • variant_div — Retourne le résultat de la division de deux variants
    • variant_eqv — Effectue une équivalence de bits de deux variants
    • variant_fix — Récupère la portion entière d'un variant
    • variant_get_type — Retourne le type d'un objet variant
    • variant_idiv — Convertit des variants en valeurs entières, et effectue alors une division
    • variant_imp — Exécute une implication sur les bits de deux variants
    • variant_int — Retourne la partie entière d'un variant
    • variant_mod — Divise deux variantes et retourne le reste
    • variant_mul — Multiplie les valeurs de deux variants
    • variant_neg — Effectue une négation logique sur un variant
    • variant_not — Exécute une négation sur les bits sur un variant
    • variant_or — Performe une disjonction logique sur deux variants
    • variant_pow — Retourne le résultat de la fonction puissance avec deux variants
    • variant_round — Arrondit le variant au nombre spécifié de décimales
    • variant_set_type — Convertit un variant en un autre type "sur-place"
    • variant_set — Assigne une nouvelle valeur pour un objet variant
    • variant_sub — Soustrait la valeur du variant de droite de la valeur de celui de gauche
    • variant_xor — Exécute une exclusion logique sur deux variants
dotnet_load
Introduction
Extensions pour Windows uniquement


Introduction

COM est un acronyme pour Component Object Model; c'est une couche orientée objet (et services associés) au-dessus de DCE RPC (un standard libre) qui définit une convention de nommage commune permettant à un code écrit en n'importe quel langage de communiquer avec du code écrit dans un autre langage, pour peu que ces deux langages soient compatibles avec COM. Les codes n'ont pas besoin de faire partie du même exécutable. le code peut être chargé à partir d'une DLL, trouvé dans un autre processus fonctionnant sur le même serveur, ou, avec DCOM (Distributed COM), trouvé sur une machine distante, sans même que votre code ait à savoir où il se trouve.

Il y a une partie de COM connue sous le nom de OLE Automation qui comprend un jeu d'interfaces COM qui permettent de perdre l'attache aux objets COM, pour qu'ils puissent être découverts et appelés en cours d'exécution sans savoir au moment de la compilation comment l'objet fonctionne. L'extension COM de PHP utilise les interfaces OLE Automation pour vous permettre de créer et appeler des objets compatibles depuis vos scripts. Techniquement parlant, cela devrait vraiment s'appeler "the OLE Automation Extension for PHP", puisque tous les objets COM ne sont pas forcément compatibles OLE.

Maintenant, pourquoi voudriez-vous ou devriez-vous utiliser COM ? COM est l'une des méthodes les plus utilisées pour faire communiquer des applications et des composants sur les plates-formes Windows. En utilisant COM, vous pouvez ouvrir un document Microsoft Word, remplir un fichier de gabarit et le sauvegarder pour l'envoyer par courrier à votre visiteur. Vous pouvez aussi utiliser COM pour effectuer des tâches administratives sur votre réseau et configurer IIS ; ce ne sont que les utilisations les plus habituelles, vous pouvez faire beaucoup plus avec COM.

Avec PHP 5, cette extension (et cette documentation) on été réécrites de A à Z et la plupart des vieux problèmes et concepts prêtant à confusion ont été supprimés. De plus, nous supportons l'instanciation et la création d'assemblées .Net utilisant une couche d'interopérabilité COM fourni par Microsoft.

Lisez bien » cet article pour un aperçu des modifications de cette extension dans PHP 5.

COM
Installation/Configuration
COM


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
COM


Pré-requis

Les fonctions COM ne sont disponibles que sous les versions Windows de PHP.

Le support .Net nécessite PHP 5 ainsi que le gestionnaire .Net.

Installation/Configuration
Installation
Installation/Configuration


Installation

Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Vous êtes responsable de l'installation des divers objets COM dont vous auriez besoin (comme Ms Word) ; nous ne pouvons tous les inclure dans PHP.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour COM
Nom | Défaut | Modifiable | Historique
com.allow_dcom | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.5.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible depuis PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible depuis PHP 4.1.0.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible depuis PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.5.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

com.allow_dcom

Si cette directive est activée, PHP aura la permission d'opérer comme un client D-COM (Distributed COM) et permettra à PHP d'instancier des objets COM sur un serveur distant.

com.autoregister_typelib

Si cette directive est activée, PHP essayera de déclarer des constantes provenant de la bibliothèque typelibrary des objets qu'il instancie, si ces objets implémentent l'interface demandée pour obtenir les données demandées. La sensibilité des constantes à la casse est contrôlée par la directive de configuration .

com.autoregister_verbose

Quand cette directive est activée, tout problème rencontré lors du chargement d'une typelibrary durant l'instanciation de l'objet sera reporté en utilisant le mécanisme d'erreurs de PHP. Par défaut, elle est désactivée, ce qui ne donne aucune indication sur l'échec de l'opération lors d'une recherche ou d'un chargement de la bibliothèque de type.

com.autoregister_casesensitive

Cette directive est activée par défaut et fait que les constantes trouvées dans les bibliothèques de types seront enregistrées en mode sensible à la casse. Voyez com_load_typelib() pour plus de détails.

com.code_page

Cette directive permet de spécifier le code-page des jeux de caractères à utiliser lors de l'envoi et la réception de chaînes vers des objets COM. Si elle est vide, PHP pensera que vous voulez CP_ACP, qui est le code-page système ANSI par défaut.

Si le texte dans vos scripts est encodé avec un différent encodage ou jeu de caractères par défaut, configurer cette directive vous évitera d'avoir à passer tout votre code comme paramètre du constructeur de la classe COM. Notez qu'en utilisant cette directive (comme toute configuration de PHP), votre code PHP perd en portabilité. Vous devez utiliser le paramètre du constructeur à chaque fois que possible.

Note: Cette directive a été introduite en PHP 5.

com.typelib_file

Lorsqu'elle est configurée, cette directive doit être le chemin vers un fichier qui contient une liste de bibliothèques à charger au démarrage. Chaque ligne sera interprétée comme le nom de la bibliothèque de types et chargée comme si vous aviez utilisé com_load_typelib(). Les constantes seront enregistrées de façon persistante, pour que la bibliothèque ne soit chargée qu'une seule fois. Si le nom d'une bibliothèque de types se termine par #cis ou #case_insensitive, alors les constantes de cette bibliothèque de types seront enregistrées en mode insensible à la casse.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit une référence vers un objet COM, retournée par la fonction (obsolète) com_load() (cette fonction n'existe plus en PHP 5 ; utilisez la classe COM à la place).

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XML constants
Constant | Value | Description | Notes
CLSCTX_INPROC_SERVER ( integer ) | 1 | Le code qui crée et gère les objets de cette classe est une bibliothèque DLL qui est exécutée dans le même processus que l'appelant de la fonction, spécifiant ainsi le contexte de la classe. |
CLSCTX_INPROC_HANDLER ( integer ) | 2 | Le code qui gère les objets de cette classe est un gestionnaire du processus. C'est une bibliothèque DLL qui s'exécute dans le processus client et implémente les structures côté client de cette classe lorsque l'on accède à ses instances à distance. |
CLSCTX_LOCAL_SERVER ( integer ) | 4 | Le code d'exécution qui crée et gère les objets de cette classe s'exécute sur la même machine mais est chargé dans un espace séparé du processus. |
CLSCTX_REMOTE_SERVER ( integer ) | 16 | Le contexte distant. Le code qui crée et gère les objets de cette classe s'exécute sur une machine différente. |
CLSCTX_SERVER ( integer ) | 21 | Indique le code serveur, et si le processus est local ou distant. Correspond aux constantes CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER et CLSCTX_REMOTE_SERVER. |
CLSCTX_ALL ( integer ) | 23 | Indique tous les contextes de la classe. Correspond aux constantes CLSCTX_INPROC_HANDLER et CLSCTX_SERVER. |
VT_NULL ( integer ) | 1 | Référence de pointeur NULL. |
VT_EMPTY ( integer ) | 0 | Une propriété, dont le type de l'indicateur est VT_EMPTY, n'a aucune donné accosiée ; aussi, la taille de la valeur est de zéro. |
VT_UI1 ( integer ) | 17 | Entier non signé sur 1 octet. |
VT_I2 ( integer ) | 2 | 2 octets représentant une valeur entière signée sur 2 octets. |
VT_I4 ( integer ) | 3 | Entier signé sur 4 octets. |
VT_R4 ( integer ) | 4 | Valeur à virgule flottante IEEE sur 32 octets. |
VT_R8 ( integer ) | 5 | Valeur à virgule flottante IEEE sur 64 octets. |
VT_BOOL ( integer ) | 11 | Valeur booléenne. |
VT_ERROR ( integer ) | 10 | Code erreur ; contient le code statut associé avec l'erreur. |
VT_CY ( integer ) | 6 | Entier complémentaire de 8 octets (par tranche de 10.000). |
VT_DATE ( integer ) | 7 | Nombre à virgule flottante de 64 octets, représentant le nombre de jours (et non de secondes) depuis le 01 Décembre 1899. Par exemple, January 1, 1900, vaut 2.0, January 2, 1900, vaut 3.0, et ainsi de suite). Stocké sous la même représentation que la constante VT_R8. |
VT_BSTR ( integer ) | 8 | Pointeur vers une chaîne Unicode finissant par NULL. |
VT_DECIMAL ( integer ) | 14 | Une structure décimale. |
VT_UNKNOWN ( integer ) | 13 | Un pointeur vers un objet qui implémente l'interface IUnknown. |
VT_DISPATCH ( integer ) | 9 | Un pointeur vers un objet a été spécifié. |
VT_VARIANT ( integer ) | 12 | Un indicateur de type suivi par la valeur correspondante. VT_VARIANT peut être utilisé uniquement avec VT_BYREF. |
VT_I1 ( integer ) | 16 | Entier signé sur 1 octet. |
VT_UI2 ( integer ) | 18 | Entier non signé sur 2 octets. |
VT_UI4 ( integer ) | 19 | Entier non signé sur 4 octets. |
VT_INT ( integer ) | 22 | Valeur entière signée sur 4 octets (équivaut à VT_I4). |
VT_UINT ( integer ) | 23 | Entier non signé sur 4 octets (équivaut à VT_UI4). |
VT_ARRAY ( integer ) | 8192 | Si l'indicateur de type est combiné avec VT_ARRAY via un opérateur OR, la valeur sera un pointeur vers un SAFEARRAY. VT_ARRAY peut utiliser l'opérateur OR avec les types de données suivantes : VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4, VT_R8, VT_BOOL, VT_DECIMAL, VT_ERROR, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_UNKNOWN et VT_VARIANT. |
VT_BYREF ( integer ) | 16384 | Si l'indicateur de type est combiné avec VT_BYREF via un opérateur OR, la valeur sera une référence. Les types de référence sont interprétés comme une référence vers les données, similaire au type de référence en C++. |
CP_ACP ( integer ) | 0 | Le code page ANSI par défaut. |
CP_MACCP ( integer ) | 2 | Le code page Macintosh. |
CP_OEMCP ( integer ) | 1 | Le code page OEM par défaut. |
CP_UTF7 ( integer ) | 65000 | Unicode (UTF-7). |
CP_UTF8 ( integer ) | 65001 | Unicode (UTF-8). |
CP_SYMBOL ( integer ) | 42 | Traduction des SYMBOL. |
CP_THREAD_ACP ( integer ) | 3 | Le code page ANSI du thread courant. |
VARCMP_LT ( integer ) | 0 | Le bstr de gauche est plus petit que le bstr de droite. |
VARCMP_EQ ( integer ) | 1 | Les 2 paramètres sont égaux. |
VARCMP_GT ( integer ) | 2 | Le bstr de gauche est plus grand que le bstr de droite. |
VARCMP_NULL ( integer ) | 3 | Chaque expression vaut NULL. |
NORM_IGNORECASE ( integer ) | 1 | Ignore la casse. |
NORM_IGNORENONSPACE ( integer ) | 2 | Ignore les caractères non espacés. |
NORM_IGNORESYMBOLS ( integer ) | 4 | Ignore les symboles. |
NORM_IGNOREWIDTH ( integer ) | 131072 | Ignore la taille des caractères. |
NORM_IGNOREKANATYPE ( integer ) | 65536 | Ignore le type Kana. |
NORM_IGNOREKASHIDA ( integer ) | 262144 | Ignore les caractères Arabe kashida. | La disponibilité dépend de la bibliothèque sous-jacente.
DISP_E_DIVBYZERO ( integer ) | -2147352558 | Une erreur retournée qui indique qu'une division par zéro a eu lieu. |
DISP_E_OVERFLOW ( integer ) | -2147352566 | Une erreur qui indique qu'une valeur n'a pû être convertie en la représentation attendue. |
MK_E_UNAVAILABLE ( integer ) | -2147221021 | Code statut iMoniker COM, retourné lors d'erreurs générées lorsque l'on a tenté d'appeler une fonction qui n'est pas disponible. |
Types de ressources
Erreur et gestion des erreurs
COM


Erreur et gestion des erreurs

Exceptions (PHP 5)

Cette extension lancera des instances de la classe com_exception pour toute erreur fatale reportée par COM. Toutes les exceptions COM ont une propriété code qui correspond à la valeur de retour HRESULT des diverses opérations COM. Vous pouvez utiliser ce code pour choisir de façon automatique comment gérer cette exception.

Constantes pré-définies
Exemples
COM


Exemples

Sommaire

  • For Each
  • Tableaux et propriétés à la façon des tableaux de COM
Erreur et gestion des erreurs
For Each
COM


For Each

Avec PHP 5, vous pouvez utiliser la structure de contrôle foreach de PHP pour passe en boucle à travers le contenu d'un IEnumVariant COM/OLE standard. Cela signifie que vous pouvez utiliser foreach aux endroits où vous auriez pu utiliser For Each dans du code VB/ASP.

Exemple #1 For Each en ASP

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

Exemple #2 while() ... Next() en PHP 4

<?php
$domainObject = new COM("WinNT://Domain");
while ($obj = $domainObject->Next()) {
   echo $obj->Name . "<br />";
}
?>

Exemple #3 foreach en PHP 5

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
   echo $obj->Name . "<br />";
}
?>

Exemples
Tableaux et propriétés à la façon des tableaux de COM
Exemples


Tableaux et propriétés à la façon des tableaux de COM

Plusieurs objets COM exposent leurs propriétés comme tableaux, ou en utilisant un chemin d'accès à la façon des tableaux. En PHP 4, vous pouvez utiliser la syntaxe de tableaux de PHP pour lire/écrire une propriété de ce genre, mais une seule dimension est permise. Si vous voulez lire une propriété multidimensionnelle, vous pouvez y accéder à travers une fonction ou chaque paramètre représente une dimension de ce tableau, mais il n'y a aucun moyen d'écrire une telle propriété.

PHP 5 introduit différentes nouvelles fonctionnalités pour vous faciliter la vie:

  • Accédez aux tableaux multidimensionnels ou aux propriétés COM qui requièrent plusieurs paramètres comme si vous accédiez à un tableau. Vous pouvez aussi écrire ces propriétés en utilisant cette technique.

  • Bouclez sur les SafeArrays ("vrais" tableaux) en utilisant la structure de contrôle foreach. Cela fonctionne car un SafeArrays comporte des informations à propos de sa taille. Si une propriété à la façon des tableaux implémente IEnumVariant, alors vous pouvez aussi utiliser foreach pour cette propriété ; lisez For Each pour plus d'informations à ce sujet.

For Each
Fonctions COM et .Net (Windows)
Exemples


Fonctions COM et .Net (Windows)

Voir aussi

Pour plus d'informations sur les objets COM, lisez les » spécifications COM ou bien jetez un oeil au livre de Don Box (en anglais) : » Yet Another COM Library (YACL). Vous pouvez trouver des informations utiles dans notre FAQ pour PHP et COM. Si vous voulez utiliser des applications MS Office sur le serveur, vous devez lire les informations ici : » Considerations for Server-Side Automation of Office.

Sommaire

  • COM — Classe COM
  • DOTNET — La classe DOTNET
  • VARIANT — classe VARIANT
  • com_addref — Incrémente le compteur de références [Obsolète]
  • com_create_guid — Génère un identifiant unique global (GUID)
  • com_event_sink — Connecte des événements d'un objet COM sur un objet PHP
  • com_get_active_object — Retourne un objet représentant l'instance actuelle d'un objet COM
  • com_get — Lit la valeur d'une propriété d'un composant COM [Obsolète]
  • com_invoke — Appelle une méthode d'un composant (déconseillé)
  • com_isenum — Indique si un objet COM a une interface IEnumVariant pour l'itération [Obsolète]
  • com_load_typelib — Charge un Typelib
  • com_load — Crée une référence sur un composant COM [Obsolète]
  • com_message_pump — Traite un message COM dans un délai donné
  • com_print_typeinfo — Affiche une définition de classe PHP pour une interface répartissable
  • com_propget — Alias de com_get
  • com_propput — Alias de com_set
  • com_propset — Alias de com_set
  • com_release — Décrémente le compteur de références [Obsolète]
  • com_set — Modifie une propriété d'un composant COM
  • variant_abs — Retourne la valeur absolue d'un variant
  • variant_add — "Ajoute" deux valeurs de variants et retourne le résultat
  • variant_and — Effectue un ET entre deux variants et retourne le résultat
  • variant_cast — Convertit un variant en un nouvel objet variant de type différent
  • variant_cat — Assemble deux valeurs variantes ensemble et retourne le résultat
  • variant_cmp — Compare deux variants
  • variant_date_from_timestamp — Retourne une représentation date en variant d'un timestamp Unix
  • variant_date_to_timestamp — Convertit une valeur date/temps variante en un timestamp Unix
  • variant_div — Retourne le résultat de la division de deux variants
  • variant_eqv — Effectue une équivalence de bits de deux variants
  • variant_fix — Récupère la portion entière d'un variant
  • variant_get_type — Retourne le type d'un objet variant
  • variant_idiv — Convertit des variants en valeurs entières, et effectue alors une division
  • variant_imp — Exécute une implication sur les bits de deux variants
  • variant_int — Retourne la partie entière d'un variant
  • variant_mod — Divise deux variantes et retourne le reste
  • variant_mul — Multiplie les valeurs de deux variants
  • variant_neg — Effectue une négation logique sur un variant
  • variant_not — Exécute une négation sur les bits sur un variant
  • variant_or — Performe une disjonction logique sur deux variants
  • variant_pow — Retourne le résultat de la fonction puissance avec deux variants
  • variant_round — Arrondit le variant au nombre spécifié de décimales
  • variant_set_type — Convertit un variant en un autre type "sur-place"
  • variant_set — Assigne une nouvelle valeur pour un objet variant
  • variant_sub — Soustrait la valeur du variant de droite de la valeur de celui de gauche
  • variant_xor — Exécute une exclusion logique sur deux variants
Tableaux et propriétés à la façon des tableaux de COM
COM
COM


Classe COM

Fonctions COM et .Net (Windows)
DOTNET
Fonctions COM et .Net (Windows)
PHP Manual

COM

(PHP 4 >= 4.1.0, PHP 5)

COM — Classe COM

$obj = new COM("Application.ID")

Description

La classe COM vous permet d'instancier un objet COM compatible OLE, d'appeler ces méthodes et d'accéder à ces propriétés.

Méthodes

com COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib ]]] )

Constructeur de la classe COM. Paramètres :

module_name
Peut être un ProgID, un Class ID ou un Moniker qui nomment un composant à charger. Un ProgID est typiquement une application ou le nom d'une DLL, suivi d'une période, suivi par le nom de l'objet. e.g : Word.Application. Un Class ID est un UUID qui identifie de manière unique une classe donnée. Un Moniker est une manière spéciale de nommage, similaire dans le concept au schéma d'URL, qui identifie une ressource et spécifie comment elle doit être chargée. Par exemple, vous pouvez charger Word et prendre un objet représentant un document Word en spécifiant le chemin complet du document Word comme nom de module, ou bien, vous pouvez utiliser LDAP: comme un Moniker pour utiliser l'interface ADSI pour LDAP.
server_name
Le nom du serveur DCOM sur lequel le composant devrait être chargé et lancé. Si le paramètre vaut NULL, l'objet courant utilisera la valeur par défaut pour l'application. La valeur par défaut est typiquement localhost bien que l'administrateur peut avoir configuré l'application pour qu'elle s'exécute sur une machine différente. Si vous spécifiez une valeur non-NULL pour le serveur, PHP peut refuser de charger l'objet tant que l'option de configuration ne vaut pas TRUE.

Si server_name est un tableau, il doit contenir les éléments suivants (sensible à la casse). Notez qu'ils sont tous optionnels (bien que vous devez spécifier et USERNAME, et PASSWORD) ; si vous omettez les paramètres du serveur, le serveur par défaut sera utilisé (comme mentionné plus haut), et l'instanciation de l'objet ne sera pas affectée par la directive.

DCOM server name
clé server_name | type | description
Server | chaîne | Le nom du serveur.
Username | chaîne | L'utilisateur de connexion.
Password | chaîne | Le mot de passe de l'utilisateur Username.
Flags | entier | Une ou plusieurs des constantes suivantes CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER et CLSCTX_ALL. La valeur par défaut est CLSCTX_SERVER si vous omettez également Server, ou bien CLSCTX_REMOTE_SERVER si vous spécifiez un serveur. Vous devriez consulter la documentation Microsoft concernant CoCreateInstance pour plus d'informations sur ces constantes ; vous ne devriez pas les utiliser dans un cas typique.

codepage
Spécifie le code qui est utilisé pour transformer les chaînes de caractères PHP en chaînes unicode, et vice-versa. La conversion est appliquée même si une chaîne PHP est passée en paramètre ou bien retournée d'une méthode de cet objet COM. Le code est "collé" en PHP 5, ce qui signifie qu'il se propagera aux objets et aux variables retournés par cet objet. Les valeurs possibles sont : CP_ACP (utilise le code système par défaut d'ANSI - valeur par défaut si le paramètre est omis), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (utilise la valeur du code local pour l'exécution courante), CP_UTF7 et CP_UTF8. Vous devriez également utiliser le numéro pour un code donné ; consultez la documentation de Microsoft pour plus de détails sur les codes et leurs valeurs numériques.

Méthodes surchargées

L'objet retourné est un objet surchargé, ce qui signifie que PHP ne voit aucune méthode fixe comme il le fait avec les classes habituelles ; au lieu de cela, chaque accès à une propriété ou une méthode est effectué à travers COM.

À partir de PHP 5, PHP détectera automatiquement les méthodes qui acceptent les paramètres par référence, et convertira automatiquement les variables PHP classiques en une forme pouvant être passée par référence. Cela signifie que vous pouvez appeler les méthodes de façon naturelle ; vous n'avez pas d'efforts supplémentaires à faire dans votre code.

En PHP 4, pour passer les paramètres par référence, vous devez créer une instance de VARIANT la classe pour utiliser les paramètres par référence.

Les pseudo-méthodes

Dans les versions antérieures à PHP 5, des hacks faisaient que les noms des méthodes suivantes n'étaient pas passés à COM et étaient directement gérés par PHP. PHP 5 élimine cela ; lisez les détails suivants pour déterminer comment corriger vos scripts. Ces noms de méthodes ne sont pas sensibles à la casse.

void COM::AddRef ( void )

Ajoute artificiellement un compteur de référence à l'objet COM.

Avertissement

Vous ne devriez jamais avoir besoin d'utiliser cette méthode. Il existe un complément logique à la méthode Release() ci-dessous.

void COM::Release ( void )

Supprime artificiellement un compteur de référence à un objet COM.

Avertissement

Vous ne devriez jamais avoir besoin d'utiliser cette méthode. Son existence en PHP est un bogue fait pour résoudre un autre bogue qui conserve les objets COM fonctionnels plus longtemps qu'ils ne devraient l'être.

Les pseudo-méthodes pour itération

Ces pseudo-méthodes ne sont valables que si com_isenum() retourne TRUE et dans ce cas, elles cachent toute autre méthode portant le même nom qui pourrait provenir de l'objet COM. Ces méthodes ont été éliminées de PHP 5, et vous devez utiliser For Each en lieu et place.

variant COM::All ( void )

Retourne une variante représentant un "SafeArray" qui possède 10 éléments ; chaque élément sera une variante vide ou nulle. Cette fonction est supposée retourner un tableau contenant tous les éléments de l'itération, mais ne il sera jamais complet. Ne pas l'utiliser.

variant COM::Next ( void )

Retourne une variante représentant l'élément disponible suivant de l'itération ou FALSE lorsqu'il n'y a plus d'éléments.

variant COM::Prev ( void )

Retourne une variante représentant l'élément disponible précédent de l'itération ou FALSE lorsqu'il n'y a plus d'éléments.

void COM::Reset ( void )

Replace l'itération au début.

Exemples avec COM

Exemple #1 Exemple COM (1)

<?php

/* Démarrage de Word */
$word = new COM("word.application") or die("Impossible d'instancier l'application Word");
echo "Word lancé, version {$word->Version}\n";

/* Amener Word devant */
$word->Visible = 1;

/* Cree un document vide */
$word->Documents->Add();

/* Quelques commandes */
$word->Selection->TypeText("Ceci est un test...");
$word->Documents[1]->SaveAs("test.doc");

/* Fermeture de word */
$word->Quit();

/* Libération des ressources */
$word = null;
?>

Exemple #2 Exemple COM (2)

<?php
$conn = new COM("ADODB.Connection") or die("Impossible de démarrer ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

/* Jeux d'enregistrement */
$rs = $conn->Execute("SELECT * FROM sometable");

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
  $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
  for ($i=0; $i < $num_columns; $i++) {
    echo $fld[$i]->value . "\t";
  }
  echo "\n";

  /* Incrémentation */
  $rowcount++;
  $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

Fonctions COM et .Net (Windows)
DOTNET
Fonctions COM et .Net (Windows)


La classe DOTNET

COM
VARIANT
Fonctions COM et .Net (Windows)
PHP Manual

DOTNET

(PHP 4 >= 4.1.0, PHP 5)

DOTNET — La classe DOTNET

$obj = new DOTNET("assembly", "classname")

Description

La classe DOTNET vous autorise à instancier une classe depuis un ensemble .NET et à appeler ces propriétés ainsi qu'à accéder à ces propriétés.

Méthodes

string DOTNET::DOTNET ( string $assembly_name , string $class_name [, int $codepage ] )

Le construction de la classe DOTNET. assembly_name spécifie quel ensemble doit être chargé, et class_name spécifie quelle classe de l'ensemble doit être instanciée. Vous pouvez spécifier optionnellement un codepage à utiliser pour les transformations des chaînes Unicode ; voir COM la classe pour plus de détails sur les codepage.

L'objet retourné est un objet surchargé, ce qui signifie que PHP ne voit aucune méthode fixe comme il le fait avec les classes habituelles ; au lieu de cela, chaque accès à une propriété ou une méthode est effectué à travers COM et depuis DOTNET. En d'autres mots, l'objet .NET est tracé à travers la couche d'interopérabilité de COM fournie par le moteur .NET.

Dès que vous avez créé l'objet DOTNET, PHP l'utilise comme n'importe quel autre objet COM ; Toutes les mêmes règles y sont appliquées.

Exemple #1 Exemple DOTNET

<?php
$stack = new DOTNET("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Bonjour ");
echo $stack->Pop() . $stack->Pop();
?>

Note: Vous devez installer le moteur .NET sur votre serveur Web pour tirer avantage de ces fonctionnalités.

COM
VARIANT
Fonctions COM et .Net (Windows)


classe VARIANT

DOTNET
com_addref
Fonctions COM et .Net (Windows)
PHP Manual

VARIANT

(PHP 4 >= 4.1.0, PHP 5)

VARIANT — classe VARIANT

$vVar = new VARIANT($var)

Description

Le VARIANT est un équivalent de COM pour PHP zval ; c'est une structure qui peut contenir une valeur avec un intervalle de types possibles. La classe VARIANT fournie par l'extension COM vous permet d'avoir plus de contrôle sur ce que PHP envoie et reçoit de COM.

Méthodes

object VARIANT::VARIANT ([ mixed $value [, int $type [, int $codepage ]]] )

Constructeur VARIANT. Paramètres:

value
valeur initiale. Si omis, un objet VT_EMPTY sera créé.
type
spécifie le type d'objet VARIANT contenu. Les valeurs possibles sont une des constantes VT_XXX Constantes pré-définies. Dans les versions antérieures à PHP 5, vous pouvez forcer PHP à passer un objet VARIANT par référence en combinant VT_BYREF avec l'opérateur OR et le paramètre type. En PHP 5, ce hack n'est pas supporté ; en lieu et place, PHP 5 peut détecter les paramètres passés par référence automatiquement ; ils n'ont pas à être passés comme des objets VARIANT. Consultez la bibliothèque MSDN pour plus de détails.
codepage
spécifie le code qui est utilisé pour transformer les chaînes de caractères PHP en chaînes unicode, et vice-versa. Voir le paramètre du même nom dans la COM classe pour plus d'informations.

Les versions antérieures à PHP 5 définissent un nombre de propriétés virtuelles (non-documenté) pour les instances de classe VARIANT ; ces propriétés ont toutes été supprimées de PHP 5 en faveur d'une syntaxe plus naturelle ; ces différences sont bien illustrées par cet exemple :

Exemple #1 Exemple d'une classe VARIANT, comme utilisé en PHP 4.x

<?php
$v = new VARIANT(42);
echo 'The type is ' . $v->type . '<br />';
echo 'The value is ' . $v->value . '<br />';
?>

Exemple #2 Exemple d'une classe VARIANT, comme utilisé en PHP 5

<?php
$v = new VARIANT(42);
echo 'The type is ' . variant_get_type($v) . '<br />';
echo 'The value is ' . $v . '<br />';
?>

Les raisons de ces changements sont que, en interne, l'extension COM voit les classes VARIANT, CM et DOTNET comme étant la même chose, et l'esprit pour ces classes est que tous les accès aux propriétés et aux méthodes sont transmis à COM sans interférence. La nouvelle syntaxe est plus naturelle et demande moins d'efforts et la plupart des propriétés virtuelles supprimées n'ont plus aucun sens dans ce contexte.

Note: PHP 5 prend une approche plus simple pour gérer les classes VARIANT ; lorsqu'il retourne une valeur d'une propriété VARIANT, elle est convertie en une valeur PHP seulement s'il y a un mappage direct entre les types sans perdre aucune information. Dans tous les autres cas, le résultat est retourné comme une instance de la classe VARIANT. Vous pouvez forcer PHP à convertir ou à évaluer la classe VARIANT comme un type natif de PHP en utilisant explicitement un opérateur de transtypage, ou implicitement transtyper en une chaîne pour l'afficher. Vous pouvez utiliser l'éventail de fonctions pour réaliser des opérations arithmétiques sur les classes VARIANT sans forcer des conversions ou bien risquer de perdre des données.

Voir aussi variant_get_type().

DOTNET
com_addref
Fonctions COM et .Net (Windows)


Incrémente le compteur de références [Obsolète]

VARIANT
com_create_guid
Fonctions COM et .Net (Windows)
PHP Manual

com_addref

(PHP 4 >= 4.1.0)

com_addref — Incrémente le compteur de références [Obsolète]

Description

void com_addref ( void )

Incrémente le compteur de références.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Avertissement

Vous ne devriez jamais avoir besoin d'utiliser cette fonction.

VARIANT
com_create_guid
Fonctions COM et .Net (Windows)


Génère un identifiant unique global (GUID)

com_addref
com_event_sink
Fonctions COM et .Net (Windows)
PHP Manual

com_create_guid

(PHP 5)

com_create_guid — Génère un identifiant unique global (GUID)

Description

string com_create_guid ( void )

Génère un identifiant unique global (GUID).

Un GUID est généré de la même façon que DCE UUID, excepté le fait que la convention Microsoft inclut le GUID dans une parenthèse.

Valeurs de retour

Retourne le GUID, sous la forme d'une chaîne de caractères.

Voir aussi

  • uuid_create() dans l'extension PECL uuid

com_addref
com_event_sink
Fonctions COM et .Net (Windows)


Connecte des événements d'un objet COM sur un objet PHP

com_create_guid
com_get_active_object
Fonctions COM et .Net (Windows)
PHP Manual

com_event_sink

(PHP 4 >= 4.2.0, PHP 5)

com_event_sink — Connecte des événements d'un objet COM sur un objet PHP

Description

bool com_event_sink ( variant $comobject , object $sinkobject [, mixed $sinkinterface ] )

Connecte des événements de l'objet COM comobject sur un l'objet PHP sinkobject.

Soyez prudent sur l'utilisation de cette fonctionnalité ; si vous faites quelque chose de similaire à l'exemple ci-dessous, cela n'a pas de sens de le lancer sur un serveur Web.

Liste de paramètres

comobject

sinkobject

sinkobject devra être une instance de la classe avec des noms de méthodes suivant le dispinterface désiré ; vous devriez utiliser com_print_typeinfo() pour l'aide à la génération d'un gabarit de classe pour cela.

sinkinterface

PHP devrait être capable d'utiliser le type par défaut de dispinterface spécifié par la Typelib associée avec l'objet comobject, mais vous pouvez changer cela en spécifiant dans le paramètre sinkinterface le dispinterface que vous souhaitez utiliser.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple de connexions d'événements COM

<?php
class IEEventSinker {
    var $terminated = false;

   function ProgressChange($progress, $progressmax) {
      echo "Progression du téléchargement : $progress / $progressmax\n";
    }

    function DocumentComplete(&$dom, $url) {
      echo "Document $url terminé\n";
    }

    function OnQuit() {
      echo "Quit!\n";
      $this->terminated = true;
    }
}
$ie = new COM("InternetExplorer.Application");
// notez que vous n'avez pas besoin du & en PHP 5!
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

Voir aussi

  • com_print_typeinfo() - Affiche une définition de classe PHP pour une interface répartissable
  • com_message_pump() - Traite un message COM dans un délai donné

com_create_guid
com_get_active_object
Fonctions COM et .Net (Windows)


Retourne un objet représentant l'instance actuelle d'un objet COM

com_event_sink
com_get
Fonctions COM et .Net (Windows)
PHP Manual

com_get_active_object

(PHP 5)

com_get_active_object — Retourne un objet représentant l'instance actuelle d'un objet COM

Description

variant com_get_active_object ( string $progid [, int $code_page ] )

com_get_active_object() est similaire à la création d'une nouvelle instance COMd'un objet COM, excepté qu'elle ne retournera un objet à votre script uniquement si l'objet est actuellement instancié. Les applications OLE utilisent quelque chose de connu en tant que "Running Object Table" qui permet aux applications connues d'être exécutées juste une fois ; cette fonction expose la fonction GetActiveObject() de la bibliothèque COM pour récupérer un objet d'une instance en cours d'utilisation.

Liste de paramètres

progid

Le paramètre Progid doit être soit le ProgID, soit le CLSID de l'objet dont vous voulez avoir l'accès (par exemple, Word.Application).

code_page

utilise les mêmes règles que dans la COM classe.

Valeurs de retour

Si l'objet demandé est en cours d'exécution, la fonction retournera à votre script ce que toute autre objet COM retournerait.

Erreurs / Exceptions

Il y a beaucoup de raisons pour lesquelles cette fonction peut échouer. Dans cette situation, le code erreur de l'exception devrait être MK_E_UNAVAILABLE ; vous pouvez utiliser la méthode getCode de l'objet exception pour vérifier le code de l'exception.

Notes

Avertissement

Utiliser la fonction com_get_active_object() sur un serveur web n'est pas toujours la meilleure idée. La plupart des applications COM/OLE ne sont pas faites pour gérer plus d'un client en concurrence, comme (et surtout !!) Microsoft Office. Vous devriez lire les » considérations pour les automatismes coté serveur pour Office pour plus d'informations sur les comportements généraux.

com_event_sink
com_get
Fonctions COM et .Net (Windows)


Lit la valeur d'une propriété d'un composant COM [Obsolète]

com_get_active_object
com_invoke
Fonctions COM et .Net (Windows)
PHP Manual

com_get

(PHP 4)

com_get — Lit la valeur d'une propriété d'un composant COM [Obsolète]

Description

Obsolète ; utilisez la syntaxe orientée objet à la place.

Exemple #1 Syntaxe OO

<?php
// Faîtes ceci
$var = $obj->property;
// au lieu de ceci :
$var = com_get($obj, 'property');
?>

Notes

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_get_active_object
com_invoke
Fonctions COM et .Net (Windows)


Appelle une méthode d'un composant (déconseillé)

com_get
com_isenum
Fonctions COM et .Net (Windows)
PHP Manual

com_invoke

(PHP 4)

com_invoke — Appelle une méthode d'un composant (déconseillé)

Description

mixed com_invoke ( resource $com_object , string $function_name [, mixed $function_parameters ] )

com_invoke() appelle la méthode function_name du composant COM com_object. com_invoke() retourne FALSE en cas d'erreur, sinon retourne le résultat de la fonction function_name en cas de succès. Tous les paramètres supplémentaires function_parameters sont passés à la méthode function_name.

Exemple #1 N'utilisez pas com_invoke(), utilisez la syntaxe OO à la place

<?php
// do this
$val = $obj->method($one, $two);
// instead of this:
$val = com_invoke($obj, 'method', $one, $two);
?>

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_get
com_isenum
Fonctions COM et .Net (Windows)


Indique si un objet COM a une interface IEnumVariant pour l'itération [Obsolète]

com_invoke
com_load_typelib
Fonctions COM et .Net (Windows)
PHP Manual

com_isenum

(PHP 4 >= 4.1.0)

com_isenum — Indique si un objet COM a une interface IEnumVariant pour l'itération [Obsolète]

Description

bool com_isenum ( variant $com_module )

Vérifie si l'objet COM peut être énuméré en utilisant la méthode Next(). Voir la COM classe pour plus de détails sur ces méthodes.

Liste de paramètres

com_module

L'objet COM.

Valeurs de retour

Retourne TRUE si l'objet peut être énuméré, FALSE sinon.

Notes

Note: Cette fonction n'existe pas en PHP 5 ; utilisez l'instruction foreach pour parcourir le contenu des objets COM. Voir For Each pour plus de détails.

com_invoke
com_load_typelib
Fonctions COM et .Net (Windows)


Charge un Typelib

com_isenum
com_load
Fonctions COM et .Net (Windows)
PHP Manual

com_load_typelib

(PHP 4 >= 4.1.0, PHP 5)

com_load_typelib — Charge un Typelib

Description

bool com_load_typelib ( string $typelib_name [, bool $case_insensitive ] )

Charge un Typelib et enregistre son contenu dans le moteur, comme s'ils avaient été définis en utilisant define().

Notez qu'il est plus efficace d'utiliser l'option de configuration pour précharger et enregistrer les constantes, même si cela est moins flexible.

Si vous devez activer , alors PHP essayera d'enregistrer automatiquement les constantes associées à l'objet COM lorsque vous créerez l'objet. Cela dépendra de l'interface fournie par l'objet COM lui-même et ne sera pas toujours possible.

Liste de paramètres

typelib_name

typelib_name peut être une des valeurs suivantes :

  • Le nom d'un fichier .tlb ou le module exécutable contenant le Typelib.

  • Le GUID du Typelib, suivi du numéro de version ; par exemple {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • Le nom du Typelib, e.g Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP va essayer de résoudre le Typelib dans cet ordre, et le processus prendra de plus en plus de ressources pour arriver à la fin de la liste ; la recherche du Typelib par son nom est manipulée physiquement en énumérant le registre jusqu'à ce qu'un résultat y soit trouvé.

case_insensitive

Le paramètre case_insensitive se comporte comme le paramètre du même nom de la fonction define().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

com_isenum
com_load
Fonctions COM et .Net (Windows)


Crée une référence sur un composant COM [Obsolète]

com_load_typelib
com_message_pump
Fonctions COM et .Net (Windows)
PHP Manual

com_load

(PHP 4)

com_load — Crée une référence sur un composant COM [Obsolète]

Description

Obsolète ; utilisez la syntaxe orientée objet à la place.

Exemple #1 Syntaxe OO

<?php
// Fîtes ceci
$obj = new COM($module);
// au lieu de ceci :
$obj = com_load($module);
?>

Notes

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_load_typelib
com_message_pump
Fonctions COM et .Net (Windows)


Traite un message COM dans un délai donné

com_load
com_print_typeinfo
Fonctions COM et .Net (Windows)
PHP Manual

com_message_pump

(PHP 4 >= 4.2.0, PHP 5)

com_message_pump — Traite un message COM dans un délai donné

Description

bool com_message_pump ([ int $timeoutms ] )

Traite un message COM en attendant jusqu'à timeoutms millisecondes, ou bien en attendant qu'un message arrive dans la file d'attente.

Le but de cette fonction est d'acheminer les appels COM entre les éléments et de gérer les différentes synchronisations. Cela permet à votre script d'attendre efficacement les événements à déclencher, tout en gérant d'autres événements ou bien d'exécuter d'autres scripts en arrière-plan. Vous devriez l'utiliser dan une boucle, comme dans l'exemple de la fonction com_event_sink(), jusqu'à ce que vous ayez fini d'utiliser les objets COM liés à des événements.

Liste de paramètres

timeoutms

Le délai, en millisecondes.

Si vous ne spécifiez pas de valeur pour le paramètre timeoutms, alors il voudra 0. Une valeur à 0 signifie que les messages seront traités immédiatement ; s'il y a des messages dans la file d'attente, ils seront distribués aussitôt ; s'il n'y a aucun message dans la file d'attente, la fonction retournera FALSE immédiatement sans attendre.

Valeurs de retour

Si un ou plusieurs messages arrivent avant le délai d'expiration, ils seront distribués et la fonction retournera TRUE. Si le délai d'expiration survient et qu'aucun message n'est traité, la valeur retournée sera FALSE.

com_load
com_print_typeinfo
Fonctions COM et .Net (Windows)


Affiche une définition de classe PHP pour une interface répartissable

com_message_pump
com_propget
Fonctions COM et .Net (Windows)
PHP Manual

com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5)

com_print_typeinfo — Affiche une définition de classe PHP pour une interface répartissable

Description

bool com_print_typeinfo ( object $comobject [, string $dispinterface [, bool $wantsink ]] )

Aide à générer un squelette de classe pour l'utiliser comme évier d'événement. Vous pouvez également l'utiliser pour générer une sauvegarde de n'importe quel objet COM, à condition qu'il supporte assez d'interfaces d'introspection et que vous connaissiez le nom de l'interface que vous désirez afficher.

Liste de paramètres

comobject

comobject doit être soit une instance d'un objet COM, soit le nom d'une bibliothèque type (qui doit être résolu en accord des règles définies dans la fonction com_load_typelib()).

dispinterface

Le nom d'une interface descendante IDispatch que vous souhaitez afficher.

wantsink

Si le paramètre wantsink vaut TRUE, l'interface d'évier correspondante sera affichée à la place.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • com_event_sink() - Connecte des événements d'un objet COM sur un objet PHP
  • com_load_typelib() - Charge un Typelib

com_message_pump
com_propget
Fonctions COM et .Net (Windows)


Alias de com_get

com_print_typeinfo
com_propput
Fonctions COM et .Net (Windows)
PHP Manual

com_propget

(PHP 4)

com_propget — Alias de com_get()

Description

Cette fonction est un alias de : com_get().

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_print_typeinfo
com_propput
Fonctions COM et .Net (Windows)


Alias de com_set

com_propget
com_propset
Fonctions COM et .Net (Windows)
PHP Manual

com_propput

(PHP 4)

com_propput — Alias de com_set()

Description

Cette fonction est un alias de : com_set().

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_propget
com_propset
Fonctions COM et .Net (Windows)


Alias de com_set

com_propput
com_release
Fonctions COM et .Net (Windows)
PHP Manual

com_propset

(PHP 4)

com_propset — Alias de com_set()

Description

Cette fonction est un alias de : com_set().

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_propput
com_release
Fonctions COM et .Net (Windows)


Décrémente le compteur de références [Obsolète]

com_propset
com_set
Fonctions COM et .Net (Windows)
PHP Manual

com_release

(PHP 4 >= 4.1.0)

com_release — Décrémente le compteur de références [Obsolète]

Description

void com_release ( void )

Décrémente le compteur de références.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
5.0.0 | Cette fonction a été effacée.

Notes

Avertissement

Vous ne devriez jamais avoir besoin d'utiliser cette fonction.

com_propset
com_set
Fonctions COM et .Net (Windows)


Modifie une propriété d'un composant COM

com_release
variant_abs
Fonctions COM et .Net (Windows)
PHP Manual

com_set

(PHP 4)

com_set — Modifie une propriété d'un composant COM

Description

Obsolète ; utilisez la syntaxe orientée objet à la place.

Exemple #1 Syntaxe OO

<?php
// Faîtes ceci
$obj->property = $value;
// au lieu de ceci :
com_set($obj, 'property', $value);
?>

Notes

Note: Cette fonction n'existe pas en PHP 5 ; à la place, vous devriez utiliser la syntaxe OO pour accéder aux propriétés ou appeler les méthodes.

com_release
variant_abs
Fonctions COM et .Net (Windows)


Retourne la valeur absolue d'un variant

com_set
variant_add
Fonctions COM et .Net (Windows)
PHP Manual

variant_abs

(PHP 5)

variant_abs — Retourne la valeur absolue d'un variant

Description

mixed variant_abs ( mixed $val )

Retourne la valeur absolue d'un variant.

Liste de paramètres

val

Le variant.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne la valeur absolue de val.

Voir aussi

  • abs() - Valeur absolue

com_set
variant_add
Fonctions COM et .Net (Windows)


"Ajoute" deux valeurs de variants et retourne le résultat

variant_abs
variant_and
Fonctions COM et .Net (Windows)
PHP Manual

variant_add

(PHP 5)

variant_add — "Ajoute" deux valeurs de variants et retourne le résultat

Description

mixed variant_add ( mixed $left , mixed $right )

Ajoute left à right selon les règles suivantes (prises de la bibliothèque MSDN), qui correspondent à celles de Visual Basic :

Règle d'ajout des variants
Si | Alors
Les deux expressions sont des chaînes | Concaténation
Une expression est de type chaîne et l'autre est un caractère | Addition
Une expression est numérique est l'autre est une chaîne | Addition
Les deux expressions sont numériques | Addition
Une expression est NULL | NULL est retourné
Les deux expressions sont vides | Le sous-type entier est retourné

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne le résultat.

Voir aussi

  • variant_sub() - Soustrait la valeur du variant de droite de la valeur de celui de gauche

variant_abs
variant_and
Fonctions COM et .Net (Windows)


Effectue un ET entre deux variants et retourne le résultat

variant_add
variant_cast
Fonctions COM et .Net (Windows)
PHP Manual

variant_and

(PHP 5)

variant_and — Effectue un ET entre deux variants et retourne le résultat

Description

mixed variant_and ( mixed $left , mixed $right )

Effectue un ET sur les bits, selon la table de vérité suivante ; notez que cela est différent du ET normal.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règles du ET variant
Si left est | Si right est | alors le résultat est
TRUE | TRUE | TRUE
TRUE | FALSE | FALSE
TRUE | NULL | NULL
FALSE | TRUE | FALSE
FALSE | FALSE | FALSE
FALSE | NULL | FALSE
NULL | TRUE | NULL
NULL | FALSE | FALSE
NULL | NULL | NULL

Voir aussi

  • variant_or() - Performe une disjonction logique sur deux variants

variant_add
variant_cast
Fonctions COM et .Net (Windows)


Convertit un variant en un nouvel objet variant de type différent

variant_and
variant_cat
Fonctions COM et .Net (Windows)
PHP Manual

variant_cast

(PHP 5)

variant_cast — Convertit un variant en un nouvel objet variant de type différent

Description

variant variant_cast ( variant $variant , int $type )

Cette fonction crée une copie de variant et effectue alors un transtypage pour forcer la copie à avoir le type donné par type.

Cette fonction est en fait la fonction VariantChangeType() de la bibliothèque COM ; consultez MSDN pour plus d'informations.

Liste de paramètres

variant

Le variant.

type

type doit être un type parmi les constantes VT_XXX.

Valeurs de retour

Retourne un variant VT_DATE.

Voir aussi

  • variant_set_type() - Convertit un variant en un autre type "sur-place"

variant_and
variant_cat
Fonctions COM et .Net (Windows)


Assemble deux valeurs variantes ensemble et retourne le résultat

variant_cast
variant_cmp
Fonctions COM et .Net (Windows)
PHP Manual

variant_cat

(PHP 5)

variant_cat — Assemble deux valeurs variantes ensemble et retourne le résultat

Description

mixed variant_cat ( mixed $left , mixed $right )

Assemble left avec right et retourne le résultat.

Cette fonction est équivalente à $left . $right.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne le résultat de la concaténation.

Voir aussi

  • Opérateurs de chaînes pour l'opérateur de concaténation

variant_cast
variant_cmp
Fonctions COM et .Net (Windows)


Compare deux variants

variant_cat
variant_date_from_timestamp
Fonctions COM et .Net (Windows)
PHP Manual

variant_cmp

(PHP 5)

variant_cmp — Compare deux variants

Description

int variant_cmp ( mixed $left , mixed $right [, int $lcid [, int $flags ]] )

Compare left avec right.

Cette fonction ne comparera que des valeurs scalaires, pas de tableaux ni d'enregistrements variants.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

lcid

Locale Identifier valide à utiliser lors des comparaisons des chaînes (cela affecte la collation de la chaîne).

flags

flags peut être une ou plusieurs des valeurs suivantes, jointes avec des OR, et affecte les comparaisons de chaînes :

Options de comparaison Variant
Valeur | Signification
NORM_IGNORECASE | Compare avec sensibilité à la casse
NORM_IGNORENONSPACE | Ignore les caractères non-espaçants
NORM_IGNORESYMBOLS | Ignore les symboles
NORM_IGNOREWIDTH | Ignore la taille de la chaîne
NORM_IGNOREKANATYPE | Ignore le type Kana
NORM_IGNOREKASHIDA | Ignore les caractères arabes kashida

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne une des valeurs suivantes :

Résultats des comparaisons sur variants
Valeur | Signification
VARCMP_LT | left est plus petit que right
VARCMP_EQ | left est égal à right
VARCMP_GT | left est plus grand que right
VARCMP_NULL | left, right ou les deux sont NULL

variant_cat
variant_date_from_timestamp
Fonctions COM et .Net (Windows)


Retourne une représentation date en variant d'un timestamp Unix

variant_cmp
variant_date_to_timestamp
Fonctions COM et .Net (Windows)
PHP Manual

variant_date_from_timestamp

(PHP 5)

variant_date_from_timestamp — Retourne une représentation date en variant d'un timestamp Unix

Description

variant variant_date_from_timestamp ( int $timestamp )

Convertit timestamp depuis un timestamp Unix vers le type variant VT_DATE. Cela permet une interopérabilité plus facile des systèmes Unix de PHP et COM.

Liste de paramètres

timestamp

Un timestamp Unix.

Valeurs de retour

Retourne un variant VT_DATE.

Voir aussi

  • variant_date_to_timestamp() - Convertit une valeur date/temps variante en un timestamp Unix
  • mktime() - Retourne le timestamp UNIX d'une date
  • time() - Retourne le timestamp UNIX actuel

variant_cmp
variant_date_to_timestamp
Fonctions COM et .Net (Windows)


Convertit une valeur date/temps variante en un timestamp Unix

variant_date_from_timestamp
variant_div
Fonctions COM et .Net (Windows)
PHP Manual

variant_date_to_timestamp

(PHP 5)

variant_date_to_timestamp — Convertit une valeur date/temps variante en un timestamp Unix

Description

int variant_date_to_timestamp ( variant $variant )

Convertit variant d'une valeur VT_DATE (ou similaire) en un timestamp unix. Cela permet l'interopérabilité facile entre les parties Unix de PHP et COM.

Liste de paramètres

variant

Le variant.

Valeurs de retour

Retourne un timestamp Unix.

Voir aussi

  • variant_date_from_timestamp() - Retourne une représentation date en variant d'un timestamp Unix
  • date() - Formate une date/heure locale
  • strftime() - Formate une date/heure locale avec la configuration locale

variant_date_from_timestamp
variant_div
Fonctions COM et .Net (Windows)


Retourne le résultat de la division de deux variants

variant_date_to_timestamp
variant_eqv
Fonctions COM et .Net (Windows)
PHP Manual

variant_div

(PHP 5)

variant_div — Retourne le résultat de la division de deux variants

Description

mixed variant_div ( mixed $left , mixed $right )

Divise left par right et retourne le résultat.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règle de division des variants
Si | Alors
Les deux expressions sont des chaînes, dates, caractères, booléens | Double est retourné
Une expression est une chaîne et l'autre est un caractère | Division et double retournés
Une expression est numérique et l'autre est une chaîne | Division et double retournés
Les deux expressions sont numériques | Division et double retournés
Une des expressions est NULL | NULL est retourné
right est vide et left est tout mais non vide | Un code com_exception DISP_E_DIVBYZERO est lancé
left est vide et right est tout mais non vide. | 0 en tant que double est retourné
Les deux expressions sont vides | Un code com_exception DISP_E_OVERFLOW est lancé

Voir aussi

  • variant_idiv() - Convertit des variants en valeurs entières, et effectue alors une division

variant_date_to_timestamp
variant_eqv
Fonctions COM et .Net (Windows)


Effectue une équivalence de bits de deux variants

variant_div
variant_fix
Fonctions COM et .Net (Windows)
PHP Manual

variant_eqv

(PHP 5)

variant_eqv — Effectue une équivalence de bits de deux variants

Description

mixed variant_eqv ( mixed $left , mixed $right )

Effectue une équivalence de bits de deux variants.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Si chaque bit dans left est égal au bit correspondant dans right alors la fonction retourne TRUE, sinon elle retourne FALSE.

variant_div
variant_fix
Fonctions COM et .Net (Windows)


Récupère la portion entière d'un variant

variant_eqv
variant_get_type
Fonctions COM et .Net (Windows)
PHP Manual

variant_fix

(PHP 5)

variant_fix — Récupère la portion entière d'un variant

Description

mixed variant_fix ( mixed $variant )

Récupère la portion entière d'un variant.

Liste de paramètres

variant

Le variant.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Si variant est négatif, le premier entier négatif plus grand ou égal au variant est retourné, sinon cette fonction retourne la portion entière de la valeur de variant.

Notes

Avertissement

Cette documentation est basée sur la documentation MSDN ; il apparaît que cette fonction est la même que variant_int(), ou alors, il y a une erreur dans la documentation de MSDN.

Voir aussi

  • variant_int() - Retourne la partie entière d'un variant
  • variant_round() - Arrondit le variant au nombre spécifié de décimales
  • floor() - Arrondit à l'entier inférieur
  • ceil() - Arrondit au nombre supérieur
  • round() - Arrondi un nombre à virgule flottante

variant_eqv
variant_get_type
Fonctions COM et .Net (Windows)


Retourne le type d'un objet variant

variant_fix
variant_idiv
Fonctions COM et .Net (Windows)
PHP Manual

variant_get_type

(PHP 5)

variant_get_type — Retourne le type d'un objet variant

Description

int variant_get_type ( variant $variant )

Retourne le type d'un objet variant.

Liste de paramètres

variant

L'objet variant.

Valeurs de retour

Retourne une valeur entière qui indique le type de variant, qui peut être une instance de COM, DOTNET ou de VARIANT. La valeur de retour peut être comparée à l'une des constantes VT_XXX.

La valeur de retour pour les objets COM et DOTNET sera la plupart du temps VT_DISPATCH ; la seule raison qui fait que cette fonction marche avec ces classes est que COM et DOTNET sont des descendants de VARIANT.

Avant PHP 5, vous pouvez obtenir cette information en lisant une fausse propriété type. Voyez la classe VARIANT pour plus d'informations.

variant_fix
variant_idiv
Fonctions COM et .Net (Windows)


Convertit des variants en valeurs entières, et effectue alors une division

variant_get_type
variant_imp
Fonctions COM et .Net (Windows)
PHP Manual

variant_idiv

(PHP 5)

variant_idiv — Convertit des variants en valeurs entières, et effectue alors une division

Description

mixed variant_idiv ( mixed $left , mixed $right )

Convertit left et right en valeurs entières, et effectue alors une division entière.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règles de divisions internes des variants
Si | Alors
Les deux expressions sont des chaînes, dates, caractères, booléens | Division et entier retournés
Une expression est une chaîne et l'autre est un caractère | Division
Une expression est numérique et l'autre est une chaîne | Division
Les deux expressions sont numériques | Division
Une des expressions est NULL | NULL est retourné
Les deux expressions sont vides | Un code com_exception DISP_E_DIVBYZERO est lancé

Voir aussi

  • variant_div() - Retourne le résultat de la division de deux variants

variant_get_type
variant_imp
Fonctions COM et .Net (Windows)


Exécute une implication sur les bits de deux variants

variant_idiv
variant_int
Fonctions COM et .Net (Windows)
PHP Manual

variant_imp

(PHP 5)

variant_imp — Exécute une implication sur les bits de deux variants

Description

mixed variant_imp ( mixed $left , mixed $right )

Exécute une implication sur les bits de deux variants.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Table d'implication des variants
Si left est | Si right est | alors le résultat est
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | TRUE
FALSE | NULL | TRUE
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

variant_idiv
variant_int
Fonctions COM et .Net (Windows)


Retourne la partie entière d'un variant

variant_imp
variant_mod
Fonctions COM et .Net (Windows)
PHP Manual

variant_int

(PHP 5)

variant_int — Retourne la partie entière d'un variant

Description

mixed variant_int ( mixed $variant )

Récupère la partie entière d'un variant.

Liste de paramètres

variant

Le variant.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Si variant est négatif, le premier entier négatif supérieur ou égal à ce variant est retourné, sinon cette fonction retourne la partie entière de la valeur de variant.

Voir aussi

  • variant_fix() - Récupère la portion entière d'un variant
  • variant_round() - Arrondit le variant au nombre spécifié de décimales
  • floor() - Arrondit à l'entier inférieur
  • ceil() - Arrondit au nombre supérieur
  • round() - Arrondi un nombre à virgule flottante

variant_imp
variant_mod
Fonctions COM et .Net (Windows)


Divise deux variantes et retourne le reste

variant_int
variant_mul
Fonctions COM et .Net (Windows)
PHP Manual

variant_mod

(PHP 5)

variant_mod — Divise deux variantes et retourne le reste

Description

mixed variant_mod ( mixed $left , mixed $right )

Divise left par right et retourne le reste.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne le reste de la division.

Voir aussi

  • variant_div() - Retourne le résultat de la division de deux variants
  • variant_idiv() - Convertit des variants en valeurs entières, et effectue alors une division

variant_int
variant_mul
Fonctions COM et .Net (Windows)


Multiplie les valeurs de deux variants

variant_mod
variant_neg
Fonctions COM et .Net (Windows)
PHP Manual

variant_mul

(PHP 5)

variant_mul — Multiplie les valeurs de deux variants

Description

mixed variant_mul ( mixed $left , mixed $right )

Multiplie left par right.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Les valeurs booléennes sont converties en -1 pour FALSE et en 0 pour TRUE

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règles de multiplication des variants
Si | Alors
Les deux expressions sont du type chaîne, date, caractère ou booléen | Multiplication
Une expression est une chaîne et l'autre est un caractère | Multiplication
Une expression est numérique et l'autre est une chaîne | Multiplication
Les deux expressions sont numériques | Multiplication
Une des expressions est NULL | NULL est retourné
Les deux expressions sont vides | Une chaîne vide est retournée

Voir aussi

  • variant_div() - Retourne le résultat de la division de deux variants
  • variant_idiv() - Convertit des variants en valeurs entières, et effectue alors une division

variant_mod
variant_neg
Fonctions COM et .Net (Windows)


Effectue une négation logique sur un variant

variant_mul
variant_not
Fonctions COM et .Net (Windows)
PHP Manual

variant_neg

(PHP 5)

variant_neg — Effectue une négation logique sur un variant

Description

mixed variant_neg ( mixed $variant )

Effectue une négation logique sur variant.

Liste de paramètres

variant

Le variant.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne le résultat de la négation logique.

variant_mul
variant_not
Fonctions COM et .Net (Windows)


Exécute une négation sur les bits sur un variant

variant_neg
variant_or
Fonctions COM et .Net (Windows)
PHP Manual

variant_not

(PHP 5)

variant_not — Exécute une négation sur les bits sur un variant

Description

mixed variant_not ( mixed $variant )

Exécute une négation sur les bits sur le paramètre variant et retourne le résultat.

Liste de paramètres

variant

Le variant.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne la négation. Si variant vaut NULL, le résultat sera également NULL.

variant_neg
variant_or
Fonctions COM et .Net (Windows)


Performe une disjonction logique sur deux variants

variant_not
variant_pow
Fonctions COM et .Net (Windows)
PHP Manual

variant_or

(PHP 5)

variant_or — Performe une disjonction logique sur deux variants

Description

mixed variant_or ( mixed $left , mixed $right )

Effectue une opération sur les bits de types OR, selon la table de vérité suivante. Notez que ceci est différent de l'expression OR normale.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règles du OR Variant
Si left est | Si right est | alors le résultat est
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
FALSE | NULL | NULL
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

Voir aussi

  • variant_and() - Effectue un ET entre deux variants et retourne le résultat
  • variant_xor() - Exécute une exclusion logique sur deux variants

variant_not
variant_pow
Fonctions COM et .Net (Windows)


Retourne le résultat de la fonction puissance avec deux variants

variant_or
variant_round
Fonctions COM et .Net (Windows)
PHP Manual

variant_pow

(PHP 5)

variant_pow — Retourne le résultat de la fonction puissance avec deux variants

Description

mixed variant_pow ( mixed $left , mixed $right )

Retourne le résultat de left à la puissance right.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne le résultat de left à la puissance right.

Voir aussi

  • pow() - Expression exponentielle

variant_or
variant_round
Fonctions COM et .Net (Windows)


Arrondit le variant au nombre spécifié de décimales

variant_pow
variant_set_type
Fonctions COM et .Net (Windows)
PHP Manual

variant_round

(PHP 5)

variant_round — Arrondit le variant au nombre spécifié de décimales

Description

mixed variant_round ( mixed $variant , int $decimals )

Retourne la valeur de variant arrondi à decimals décimales.

Liste de paramètres

variant

Le variant.

decimals

Nombre de décimales.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Retourne la valeur arrondie.

Voir aussi

  • round() - Arrondi un nombre à virgule flottante

variant_pow
variant_set_type
Fonctions COM et .Net (Windows)


Convertit un variant en un autre type "sur-place"

variant_round
variant_set
Fonctions COM et .Net (Windows)
PHP Manual

variant_set_type

(PHP 5)

variant_set_type — Convertit un variant en un autre type "sur-place"

Description

void variant_set_type ( variant $variant , int $type )

Cette fonction est similaire variant_cast() à part que le variant est modifié "sur-place" ; aucun nouveau variant n'est créé. Les paramètres de cette fonction ont la même signification que ceux de variant_cast().

Liste de paramètres

variant

Le variant.

type

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • variant_cast() - Convertit un variant en un nouvel objet variant de type différent

variant_round
variant_set
Fonctions COM et .Net (Windows)


Assigne une nouvelle valeur pour un objet variant

variant_set_type
variant_sub
Fonctions COM et .Net (Windows)
PHP Manual

variant_set

(PHP 5)

variant_set — Assigne une nouvelle valeur pour un objet variant

Description

void variant_set ( variant $variant , mixed $value )

Convertit value en un variant et l'assigne à l'objet variant. Aucun nouvel objet n'est créé et l'ancienne valeur de variant est libérée.

Liste de paramètres

variant

Le variant.

value

Valeurs de retour

Aucune valeur n'est retournée.

variant_set_type
variant_sub
Fonctions COM et .Net (Windows)


Soustrait la valeur du variant de droite de la valeur de celui de gauche

variant_set
variant_xor
Fonctions COM et .Net (Windows)
PHP Manual

variant_sub

(PHP 5)

variant_sub — Soustrait la valeur du variant de droite de la valeur de celui de gauche

Description

mixed variant_sub ( mixed $left , mixed $right )

Soustrait right de left.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règles de soustraction des variants
Si | Alors
Les deux expressions sont des chaînes | Soustraction
Une expression est une chaîne et l'autre est un caractère | Soustraction
Une expression est numérique et l'autre est une chaîne | Soustraction.
Les deux expressions sont numériques | Soustraction
Une des expressions est NULL | NULL est retourné
Les deux expressions sont vides | Une chaîne vide est retournée

Voir aussi

  • variant_add() - "Ajoute" deux valeurs de variants et retourne le résultat

variant_set
variant_xor
Fonctions COM et .Net (Windows)


Exécute une exclusion logique sur deux variants

variant_sub
Impression
Fonctions COM et .Net (Windows)
PHP Manual

variant_xor

(PHP 5)

variant_xor — Exécute une exclusion logique sur deux variants

Description

mixed variant_xor ( mixed $left , mixed $right )

Exécute une exclusion logique sur deux variants.

Liste de paramètres

left

L'opérande de gauche.

right

L'opérande de droite.

Note: Comme pour toutes les fonctions arithmétiques, les paramètres pour cette fonction peuvent être soit un type PHP natif (entier, chaîne de caractères, nombre à virgule flottante, booléen ou NULL), ou une instance de la classe COM, VARIANT ou DOTNET. Les types PHP natifs seront convertis en VARIANT en utilisant les mêmes règles que celles trouvées dans le constructeur de la classe VARIANT. Les objets COM et DOTNET auront la valeur de leur propriété par défaut récupérée et utilisée en tant que valeur VARIANT.
Les fonctions arithmétiques VARIANT sont interfacées sur les fonctions de la bibliothèque COM équivalentes ; pour plus d'informations sur ces fonctions, veuillez consulter la bibliothèque MSDN. Les fonctions PHP sont nommées de façon légèrement différentes : par exemple, variant_add(), en PHP, correspond à VarAdd() dans la documentation MSDN.

Valeurs de retour

Règles XOR pour les Variant
Si left est | Si right est | alors le résultat est
TRUE | TRUE | FALSE
TRUE | FALSE | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
NULL | NULL | NULL

Voir aussi

  • variant_or() - Performe une disjonction logique sur deux variants
  • variant_and() - Effectue un ET entre deux variants et retourne le résultat

variant_sub
Impression
Fonctions COM et .Net (Windows)


Impression

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions d'impression
    • printer_abort — Efface la file d'attente de l'imprimante
    • printer_close — Ferme une connexion à une imprimante
    • printer_create_brush — Crée une nouvelle brosse
    • printer_create_dc — Crée un contexte d'imprimante
    • printer_create_font — Crée une nouvelle police
    • printer_create_pen — Crée un nouveau stylo
    • printer_delete_brush — Efface une brosse
    • printer_delete_dc — Efface un contexte d'imprimante
    • printer_delete_font — Efface une police
    • printer_delete_pen — Efface un stylo
    • printer_draw_bmp — Dessine un fichier BMP
    • printer_draw_chord — Dessine un arc de cercle
    • printer_draw_elipse — Dessine une ellipse
    • printer_draw_line — Dessine une ligne
    • printer_draw_pie — Dessine un secteur angulaire
    • printer_draw_rectangle — Dessine un rectangle
    • printer_draw_roundrect — Dessine un rectangle, avec des coins arrondis
    • printer_draw_text — Dessine un texte
    • printer_end_doc — Ferme le document
    • printer_end_page — Ferme la page active
    • printer_get_option — Lit les informations de configuration de l'imprimante
    • printer_list — Retourne la liste des imprimantes attachées à un serveur
    • printer_logical_fontheight — Lit la taille logique de la police
    • printer_open — Ouvre une connexion à une imprimante
    • printer_select_brush — Sélectionne une brosse
    • printer_select_font — Sélectionne une police de caractères
    • printer_select_pen — Sélectionne un stylo
    • printer_set_option — Configure la connexion à l'imprimante
    • printer_start_doc — Commence un nouveau document
    • printer_start_page — Commence une nouvelle page
    • printer_write — Écrit des données sur l'imprimante
variant_xor
Introduction
Extensions pour Windows uniquement


Introduction

Ces fonctions ne sont disponibles que sous Windows 9.x, ME, NT4 et 2000. Elles ont été ajoutées en PHP 4.0.4.

Impression
Installation/Configuration
Impression


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Impression


Installation

Cette extension » PECL n'est pas distribuée avec PHP.

Les utilisateurs de Windows doivent activer la bibliothèque php_printer.dll dans le php.ini pour utiliser ces fonctions. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour les imprimantes
Nom | Défaut | Modifiable | Historique
printer.default_printer | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.6. Supprimé en PHP 4.1.1.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Installation
Types de ressources
Installation/Configuration


Types de ressources

Cette extension définit les gestionnaires d'une connexion à une imprimante, d'une brosse, d'une police ou d'un stylo.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

PRINTER_COPIES ( integer )
PRINTER_MODE ( integer )
PRINTER_TITLE ( integer )
PRINTER_DEVICENAME ( integer )
PRINTER_DRIVERVERSION ( integer )
PRINTER_OUTPUT_FILE ( integer )
PRINTER_RESOLUTION_Y ( integer )
PRINTER_RESOLUTION_X ( integer )
PRINTER_SCALE ( integer )
PRINTER_BACKGROUND_COLOR ( integer )
PRINTER_PAPER_LENGTH ( integer )
PRINTER_PAPER_WIDTH ( integer )
PRINTER_PAPER_FORMAT ( integer )
PRINTER_FORMAT_CUSTOM ( integer )
PRINTER_FORMAT_LETTER ( integer )
PRINTER_FORMAT_LEGAL ( integer )
PRINTER_FORMAT_A3 ( integer )
PRINTER_FORMAT_A4 ( integer )
PRINTER_FORMAT_A5 ( integer )
PRINTER_FORMAT_B4 ( integer )
PRINTER_FORMAT_B5 ( integer )
PRINTER_FORMAT_FOLIO ( integer )
PRINTER_ORIENTATION ( integer )
PRINTER_ORIENTATION_PORTRAIT ( integer )
PRINTER_ORIENTATION_LANDSCAPE ( integer )
PRINTER_TEXT_COLOR ( integer )
PRINTER_TEXT_ALIGN ( integer )
PRINTER_TA_BASELINE ( integer )
PRINTER_TA_BOTTOM ( integer )
PRINTER_TA_TOP ( integer )
PRINTER_TA_CENTER ( integer )
PRINTER_TA_LEFT ( integer )
PRINTER_TA_RIGHT ( integer )
PRINTER_PEN_SOLID ( integer )
PRINTER_PEN_DASH ( integer )
PRINTER_PEN_DOT ( integer )
PRINTER_PEN_DASHDOT ( integer )
PRINTER_PEN_DASHDOTDOT ( integer )
PRINTER_PEN_INVISIBLE ( integer )
PRINTER_BRUSH_SOLID ( integer )
PRINTER_BRUSH_CUSTOM ( integer )
PRINTER_BRUSH_DIAGONAL ( integer )
PRINTER_BRUSH_CROSS ( integer )
PRINTER_BRUSH_DIAGCROSS ( integer )
PRINTER_BRUSH_FDIAGONAL ( integer )
PRINTER_BRUSH_HORIZONTAL ( integer )
PRINTER_BRUSH_VERTICAL ( integer )
PRINTER_FW_THIN ( integer )
PRINTER_FW_ULTRALIGHT ( integer )
PRINTER_FW_LIGHT ( integer )
PRINTER_FW_NORMAL ( integer )
PRINTER_FW_MEDIUM ( integer )
PRINTER_FW_BOLD ( integer )
PRINTER_FW_ULTRABOLD ( integer )
PRINTER_FW_HEAVY ( integer )
PRINTER_ENUM_LOCAL ( integer )
PRINTER_ENUM_NAME ( integer )
PRINTER_ENUM_SHARED ( integer )
PRINTER_ENUM_DEFAULT ( integer )
PRINTER_ENUM_CONNECTIONS ( integer )
PRINTER_ENUM_NETWORK ( integer )
PRINTER_ENUM_REMOTE ( integer )
Types de ressources
Fonctions d'impression
Impression


Fonctions d'impression

Sommaire

  • printer_abort — Efface la file d'attente de l'imprimante
  • printer_close — Ferme une connexion à une imprimante
  • printer_create_brush — Crée une nouvelle brosse
  • printer_create_dc — Crée un contexte d'imprimante
  • printer_create_font — Crée une nouvelle police
  • printer_create_pen — Crée un nouveau stylo
  • printer_delete_brush — Efface une brosse
  • printer_delete_dc — Efface un contexte d'imprimante
  • printer_delete_font — Efface une police
  • printer_delete_pen — Efface un stylo
  • printer_draw_bmp — Dessine un fichier BMP
  • printer_draw_chord — Dessine un arc de cercle
  • printer_draw_elipse — Dessine une ellipse
  • printer_draw_line — Dessine une ligne
  • printer_draw_pie — Dessine un secteur angulaire
  • printer_draw_rectangle — Dessine un rectangle
  • printer_draw_roundrect — Dessine un rectangle, avec des coins arrondis
  • printer_draw_text — Dessine un texte
  • printer_end_doc — Ferme le document
  • printer_end_page — Ferme la page active
  • printer_get_option — Lit les informations de configuration de l'imprimante
  • printer_list — Retourne la liste des imprimantes attachées à un serveur
  • printer_logical_fontheight — Lit la taille logique de la police
  • printer_open — Ouvre une connexion à une imprimante
  • printer_select_brush — Sélectionne une brosse
  • printer_select_font — Sélectionne une police de caractères
  • printer_select_pen — Sélectionne un stylo
  • printer_set_option — Configure la connexion à l'imprimante
  • printer_start_doc — Commence un nouveau document
  • printer_start_page — Commence une nouvelle page
  • printer_write — Écrit des données sur l'imprimante
Constantes pré-définies
printer_abort
Impression


Efface la file d'attente de l'imprimante

Fonctions d'impression
printer_close
Fonctions d'impression
PHP Manual

printer_abort

(PECL printer SVN)

printer_abort — Efface la file d'attente de l'imprimante

Description

void printer_abort ( resource $printer_handle )

Efface la file d'attente d'une imprimante.

Liste de paramètres

printer_handle

printer_handle doit être un gestionnaire d'imprimante valide.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_abort()

<?php
$handle = printer_open();
printer_abort($handle);
printer_close($handle);
?>

Fonctions d'impression
printer_close
Fonctions d'impression


Ferme une connexion à une imprimante

printer_abort
printer_create_brush
Fonctions d'impression
PHP Manual

printer_close

(PECL printer SVN)

printer_close — Ferme une connexion à une imprimante

Description

void printer_close ( resource $printer_handle )

Ferme la connexion avec l'imprimante représentée par la ressource handle. printer_close() ferme aussi le contexte d'imprimante actif.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_close()

<?php
$handle = printer_open();
printer_close($handle);
?>

printer_abort
printer_create_brush
Fonctions d'impression


Crée une nouvelle brosse

printer_close
printer_create_dc
Fonctions d'impression
PHP Manual

printer_create_brush

(PECL printer SVN)

printer_create_brush — Crée une nouvelle brosse

Description

resource printer_create_brush ( int $style , string $color )

Crée une nouvelle brosse et retourne une ressource de brosse. Une brosse est utilisée pour remplir des surfaces. Pour un exemple, voyez la fonction printer_select_brush().

Liste de paramètres

style

style doit prendre la valeur de l'une des constantes suivantes :

  • PRINTER_BRUSH_SOLID : crée une brosse avec une couleur pleine.
  • PRINTER_BRUSH_DIAGONAL : crée une brosse avec une direction diagonale ascendante, de droite à gauche ( / ).
  • PRINTER_BRUSH_CROSS: crée une brosse avec une forme de croix ( + ).
  • PRINTER_BRUSH_DIAGCROSS: crée une brosse avec une forme de croix diagonale ( x ).
  • PRINTER_BRUSH_FDIAGONAL: crée une brosse avec une direction diagonale ascendante, de gauche à droite ( \ ).
  • PRINTER_BRUSH_HORIZONTAL: crée une brosse avec une direction horizontale ( - ).
  • PRINTER_BRUSH_VERTICAL: crée une brosse avec une direction horizontale ( | ).
  • PRINTER_BRUSH_CUSTOM: crée une brosse à partir d'un fichier BMP. Le second paramètre est alors utilisé pour spécifier le chemin jusqu'au fichier BMP, au lieu d'être une couleur.

color

color doit être une couleur au format RGB hexadécimal, c'est à dire "000000" pour le noir.

Valeurs de retour

Retourne un gestionnaire de brosse, ou FALSE si une erreur survient.

printer_close
printer_create_dc
Fonctions d'impression


Crée un contexte d'imprimante

printer_create_brush
printer_create_font
Fonctions d'impression
PHP Manual

printer_create_dc

(PECL printer SVN)

printer_create_dc — Crée un contexte d'imprimante

Description

void printer_create_dc ( resource $printer_handle )

Crée un nouveau contexte d'imprimante pour l'imprimante handle. Un contexte d'imprimante est utilisé pour paramétrer les objets graphiques d'un document.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_create_dc()

<?php
$handle = printer_open();
printer_start_doc($handle);
printer_start_page($handle);

printer_create_dc($handle);
/* Exploitation du contexte */
printer_set_option($handle, PRINTER_TEXT_COLOR, "333333");
printer_draw_text($handle, 1, 1, "text");
printer_delete_dc($handle);

/* Création d'un autre contexte */
printer_create_dc($handle);
printer_set_option($handle, PRINTER_TEXT_COLOR, "000000");
printer_draw_text($handle, 1, 1, "text");
/* Exploitation du contexte */

printer_delete_dc($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_create_brush
printer_create_font
Fonctions d'impression


Crée une nouvelle police

printer_create_dc
printer_create_pen
Fonctions d'impression
PHP Manual

printer_create_font

(PECL printer SVN)

printer_create_font — Crée une nouvelle police

Description

resource printer_create_font ( string $face , int $height , int $width , int $font_weight , bool $italic , bool $underline , bool $strikeout , int $orientation )

Cette fonction crée une nouvelle police et retourne un gestionnaire représentant celle-ci. Une police est utilisée pour dessiner le texte. Pour un exemple, voir la documentation de la fonction printer_select_font().

Liste de paramètres

face

face doit être une chaîne de caractères spécifiant le nom de la police.

height

height spécifie la hauteur de la police.

width

width spécifie la largeur de la police.

font_weight

font_weight spécifie le poids de la police (400 est normal), et peut prendre comme valeur l'une des constantes suivantes :

  • PRINTER_FW_THIN: fixe un poids de police mince (100).
  • PRINTER_FW_ULTRALIGHT: fixe un poids de police très léger (200).
  • PRINTER_FW_LIGHT: fixe un poids de police léger (300).
  • PRINTER_FW_NORMAL: fixe un poids de police normal (400).
  • PRINTER_FW_MEDIUM: fixe un poids de police moyen (500).
  • PRINTER_FW_BOLD: fixe un poids de police gras (700).
  • PRINTER_FW_ULTRABOLD: fixe un poids de police très gras (800).
  • PRINTER_FW_HEAVY: fixe un poids de police lourd (900).

italic

italic vaut TRUE pour indiquer que la police est en italique, et FALSE sinon.

underline

underline vaut TRUE pour indiquer que la police est soulignée, et FALSE sinon.

strikeout

strikeout vaut TRUE pour indiquer que la police est barrée, et FALSE sinon.

orientaton

orientation spécifie l'orientation.

Valeurs de retour

Retourne un gestionnaire de police en cas de succès, FALSE si une erreur survient.

printer_create_dc
printer_create_pen
Fonctions d'impression


Crée un nouveau stylo

printer_create_font
printer_delete_brush
Fonctions d'impression
PHP Manual

printer_create_pen

(PECL printer SVN)

printer_create_pen — Crée un nouveau stylo

Description

resource printer_create_pen ( int $style , int $width , string $color )

Crée un nouveau stylo et retourne une ressource. Un stylo est utilisé pour dessiner des lignes et des courbes. Pour un exemple, voyez la fonction printer_select_pen().

Liste de paramètres

style

style doit être l'une des constantes suivantes :

  • PRINTER_PEN_SOLID : crée un stylo plein.
  • PRINTER_PEN_DASH : crée un stylo pointillé avec des tirets.
  • PRINTER_PEN_DOT : crée un stylo pointillé avec des points.
  • PRINTER_PEN_DASHDOT : crée un stylo pointillé avec des tirets et des points.
  • PRINTER_PEN_DASHDOTDOT : crée un stylo pointillé avec des tirets et des doubles points.
  • PRINTER_PEN_INVISIBLE : crée un stylo invisible.

width

width spécifie la largeur du stylo.

color

color doit être une couleur au format RGB hexadécimal, "000000" pour le noir.

Valeurs de retour

Retourne un gestionnaire de stylo, ou FALSE si une erreur survient.

printer_create_font
printer_delete_brush
Fonctions d'impression


Efface une brosse

printer_create_pen
printer_delete_dc
Fonctions d'impression
PHP Manual

printer_delete_brush

(PECL printer SVN)

printer_delete_brush — Efface une brosse

Description

void printer_delete_brush ( resource $brush_handle )

Efface la brosse représentée par sa ressource handle. Pour un exemple, voyez la fonction printer_select_brush().

Liste de paramètres

brush_handle

brush_handle doit être un gestionnaire de brosse valide.

Valeurs de retour

Aucune valeur n'est retournée.

printer_create_pen
printer_delete_dc
Fonctions d'impression


Efface un contexte d'imprimante

printer_delete_brush
printer_delete_font
Fonctions d'impression
PHP Manual

printer_delete_dc

(PECL printer SVN)

printer_delete_dc — Efface un contexte d'imprimante

Description

bool printer_delete_dc ( resource $printer_handle )

Efface le contexte représenté par sa ressource handle. Pour un exemple, voyez la fonction printer_create_dc().

Liste de paramètres

printer_handle

printer_handle doit être un gestionnaire d'imprimante valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

printer_delete_brush
printer_delete_font
Fonctions d'impression


Efface une police

printer_delete_dc
printer_delete_pen
Fonctions d'impression
PHP Manual

printer_delete_font

(PECL printer SVN)

printer_delete_font — Efface une police

Description

void printer_delete_font ( resource $font_handle )

Efface la police représentée par sa ressource handle. Pour un exemple, voyez la fonction printer_select_font().

Liste de paramètres

font_handle

font_handle doit être un gestionnaire de police valide.

Valeurs de retour

Aucune valeur n'est retournée.

printer_delete_dc
printer_delete_pen
Fonctions d'impression


Efface un stylo

printer_delete_font
printer_draw_bmp
Fonctions d'impression
PHP Manual

printer_delete_pen

(PECL printer SVN)

printer_delete_pen — Efface un stylo

Description

void printer_delete_pen ( resource $pen_handle )

Efface le stylo représenté par sa ressource handle. Pour un exemple, voyez la fonction printer_select_pen().

Liste de paramètres

pen_handle

pen_handle doit être un gestionnaire de stylo valide.

Valeurs de retour

Aucune valeur n'est retournée.

printer_delete_font
printer_draw_bmp
Fonctions d'impression


Dessine un fichier BMP

printer_delete_pen
printer_draw_chord
Fonctions d'impression
PHP Manual

printer_draw_bmp

(PECL printer SVN)

printer_draw_bmp — Dessine un fichier BMP

Description

bool printer_draw_bmp ( resource $printer_handle , string $filename , int $x , int $y [, int $width ], int $height )

Dessine simplement l'image BMP filename.

Liste de paramètres

printer_handle

printer_handle doit être un gestionnaire d'imprimante valide.

filename

Chemin vers le BMP.

x

x est la coordonnée en X du coin en haut, à gauche de l'image.

y

y est la coordonnée en Y du coin en haut, à gauche de l'image.

width

La largeur de l'image.

height

La hauteur de l'image.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec printer_draw_bmp()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

printer_draw_bmp($handle, "c:\\image.bmp", 1, 1);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_delete_pen
printer_draw_chord
Fonctions d'impression


Dessine un arc de cercle

printer_draw_bmp
printer_draw_elipse
Fonctions d'impression
PHP Manual

printer_draw_chord

(PECL printer SVN)

printer_draw_chord — Dessine un arc de cercle

Description

void printer_draw_chord ( resource $printer_handle , int $rec_x , int $rec_y , int $rec_x1 , int $rec_y1 , int $rad_x , int $rad_y , int $rad_x1 , int $rad_y1 )

Dessine un arc de cercle.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

rec_x

rec_x est l'abscisse supérieure gauche du rectangle d'encadrement.

rec_y

rec_y est l'ordonnée supérieure gauche du rectangle d'encadrement.

rec_x1

rec_x1 est l'abscisse inférieure droite du rectangle d'encadrement.

rec_y1

rec_y1 est l'ordonnée inférieure droite du rectangle d'encadrement.

rad_x

rad_x est l'abscisse du point de début de l'arc.

rad_y

rad_y est l'ordonnée du rayon qui définit le début de l'arc.

rad_x1

rad_x1 est l'abscisse du point de fin de l'arc.

rad_y1

rad_y1 est l'ordonnée du point de fin de l'arc.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_chord()

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_chord($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_bmp
printer_draw_elipse
Fonctions d'impression


Dessine une ellipse

printer_draw_chord
printer_draw_line
Fonctions d'impression
PHP Manual

printer_draw_elipse

(PECL printer SVN)

printer_draw_elipse — Dessine une ellipse

Description

void printer_draw_elipse ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

Dessine une ellipse.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

ul_x

ul_x est l'abscisse supérieure gauche de l'ellipse.

ul_y

ul_y est l'ordonnée supérieure gauche de l'ellipse.

lr_x

lr_x est l'abscisse inférieure droite de l'ellipse.

lr_y

lr_y est l'ordonnée inférieure droite de l'ellipse.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_elipse()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_elipse($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_chord
printer_draw_line
Fonctions d'impression


Dessine une ligne

printer_draw_elipse
printer_draw_pie
Fonctions d'impression
PHP Manual

printer_draw_line

(PECL printer SVN)

printer_draw_line — Dessine une ligne

Description

void printer_draw_line ( resource $printer_handle , int $from_x , int $from_y , int $to_x , int $to_y )

Dessine une ligne.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

from_x

from_x est l'ordonnée en X du point d'origine.

from_y

from_y est l'ordonnée en Y du point d'origine.

to_x

to_x est l'ordonnée en X du point de destination.

to_y

to_y est l'ordonnée en Y du point de destination.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_line()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "000000");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 10, 1000, 10);
printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_elipse
printer_draw_pie
Fonctions d'impression


Dessine un secteur angulaire

printer_draw_line
printer_draw_rectangle
Fonctions d'impression
PHP Manual

printer_draw_pie

(PECL printer SVN)

printer_draw_pie — Dessine un secteur angulaire

Description

void printer_draw_pie ( resource $printer_handle , int $rec_x , int $rec_y , int $rec_x1 , int $rec_y1 , int $rad1_x , int $rad1_y , int $rad2_x , int $rad2_y )

Dessine un secteur angulaire.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

rec_x

rec_x est l'abscisse supérieure gauche du rectangle d'encadrement.

rec_y

rec_y est l'ordonnée supérieure gauche du rectangle d'encadrement.

rec_x1

rec_x1 est l'abscisse inférieure droite du rectangle d'encadrement.

rec_y1

rec_y1 est l'ordonnée inférieure droite du rectangle d'encadrement.

rad1_x

rad1_x est l'abscisse du point de début de l'arc.

rad1_y

rad1_y est l'ordonnée du point de début de l'arc.

rad2_x

rad2_x est l'abscisse du point de fin de l'arc.

rad2_y

rad2_y est l'ordonnée du point de fin de l'arc.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_pie()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_pie($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_line
printer_draw_rectangle
Fonctions d'impression


Dessine un rectangle

printer_draw_pie
printer_draw_roundrect
Fonctions d'impression
PHP Manual

printer_draw_rectangle

(PECL printer SVN)

printer_draw_rectangle — Dessine un rectangle

Description

void printer_draw_rectangle ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

Dessine un rectangle.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

ul_x

ul_x est l'abscisse du coin supérieur gauche du rectangle.

ul_y

ul_y est l'ordonnée du coin supérieur gauche du rectangle.

lr_x

lr_x est l'abscisse du coin inférieur droit du rectangle.

lr_y

lr_y est l'ordonnée du coin inférieur droit du rectangle.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_rectangle()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_pie
printer_draw_roundrect
Fonctions d'impression


Dessine un rectangle, avec des coins arrondis

printer_draw_rectangle
printer_draw_text
Fonctions d'impression
PHP Manual

printer_draw_roundrect

(PECL printer SVN)

printer_draw_roundrect — Dessine un rectangle, avec des coins arrondis

Description

void printer_draw_roundrect ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y , int $width , int $height )

Dessine un rectangle, avec des coins arrondis.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

ul_x

ul_x est l'abscisse du coin supérieur gauche du rectangle.

ul_y

ul_y est l'ordonnée du coin supérieur gauche du rectangle.

lr_x

lr_x est l'abscisse du coin inférieur droit du rectangle.

lr_y

lr_y est l'ordonnée du coin inférieur droit du rectangle.

width

width est la largeur de l'ellipse.

height

height est la longueur de l'ellipse.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_roundrect()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_roundrect($handle, 1, 1, 500, 500, 200, 200);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_rectangle
printer_draw_text
Fonctions d'impression


Dessine un texte

printer_draw_roundrect
printer_end_doc
Fonctions d'impression
PHP Manual

printer_draw_text

(PECL printer SVN)

printer_draw_text — Dessine un texte

Description

void printer_draw_text ( resource $printer_handle , string $text , int $x , int $y )

Dessine le texte text à la position x, y, en utilisant la police de caractères courante.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

text

Le texte à écrire.

x

x est la coordonnée en X de la position.

y

y est la coordonnée en Y de la position.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_draw_text()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$font = printer_create_font("Arial", 72, 48, 400, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, "test", 10, 10);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_draw_roundrect
printer_end_doc
Fonctions d'impression


Ferme le document

printer_draw_text
printer_end_page
Fonctions d'impression
PHP Manual

printer_end_doc

(PECL printer SVN)

printer_end_doc — Ferme le document

Description

bool printer_end_doc ( resource $printer_handle )

Ferme le document dans la file d'attente de l'imprimante. Il est maintenant prêt à être imprimé. Pour un exemple, voyez la fonction printer_start_doc().

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

printer_draw_text
printer_end_page
Fonctions d'impression


Ferme la page active

printer_end_doc
printer_get_option
Fonctions d'impression
PHP Manual

printer_end_page

(PECL printer SVN)

printer_end_page — Ferme la page active

Description

bool printer_end_page ( resource $printer_handle )

Ferme la page active du document en cours. Pour un exemple, voyez la fonction printer_start_doc().

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

printer_end_doc
printer_get_option
Fonctions d'impression


Lit les informations de configuration de l'imprimante

printer_end_page
printer_list
Fonctions d'impression
PHP Manual

printer_get_option

(PECL printer SVN)

printer_get_option — Lit les informations de configuration de l'imprimante

Description

mixed printer_get_option ( resource $printer_handle , string $option )

Lit la configuration de l'option option.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

option

Lisez la documentation de printer_set_option() pour connaître les valeurs possibles du paramètre option. De plus, les valeurs options suivantes sont accessibles en lecture :

  • PRINTER_DEVICENAME retourne le nom du périphérique de l'imprimante.
  • PRINTER_DRIVERVERSION retourne la version du pilote de l'imprimante.

Valeurs de retour

Retourne la valeur de l'option option.

Exemples

Exemple #1 Exemple avec printer_get_option()

<?php
$handle = printer_open();
echo printer_get_option($handle, PRINTER_DRIVERVERSION);
printer_close($handle);
?>

printer_end_page
printer_list
Fonctions d'impression


Retourne la liste des imprimantes attachées à un serveur

printer_get_option
printer_logical_fontheight
Fonctions d'impression
PHP Manual

printer_list

(PECL printer SVN)

printer_list — Retourne la liste des imprimantes attachées à un serveur

Description

array printer_list ( int $enumtype [, string $name [, int $level ]] )

Retourne la liste des imprimantes attachées à un serveur.

Liste de paramètres

enumtype

enumtype doit être l'une des constantes suivantes :

  • PRINTER_ENUM_LOCAL : liste les imprimantes locales.
  • PRINTER_ENUM_NAME : liste des imprimantes de name, qui peut être un serveur, un domaine ou un fournisseur d'impression.
  • PRINTER_ENUM_SHARED : ce paramètre ne peut être utilisé seul, il doit être combiné avec d'autres paramètres, grâce à l'opérateur OR. PRINTER_ENUM_LOCAL détecte les imprimantes localement partagées.
  • PRINTER_ENUM_DEFAULT : (Win9.x uniquement) liste l'imprimante par défaut.
  • PRINTER_ENUM_CONNECTIONS : (WinNT/2000 uniquement) liste les imprimantes avec lesquelles l'utilisateur a établit une connexion.
  • PRINTER_ENUM_NETWORK : (WinNT/2000 uniquement) liste les imprimantes réseau du domaine de l'ordinateur. Valide uniquement si level vaut 1.
  • PRINTER_ENUM_REMOTE : (WinNT/2000 uniquement) liste les imprimantes réseau et les serveurs d'impression du domaine de l'ordinateur. Valide uniquement si level vaut 1.

name

Utilisé avec la constante PRINTER_ENUM_NAME.

level

level représente le niveau d'information demandé. Il peut prendre les valeurs de 1, 2, 4 ou 5.

Valeurs de retour

Retourne un tableau d'imprimantes.

Exemples

Exemple #1 Exemple avec printer_list()

<?php
/* liste les imprimantes partagées locales */
var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));
?>

printer_get_option
printer_logical_fontheight
Fonctions d'impression


Lit la taille logique de la police

printer_list
printer_open
Fonctions d'impression
PHP Manual

printer_logical_fontheight

(PECL printer SVN)

printer_logical_fontheight — Lit la taille logique de la police

Description

int printer_logical_fontheight ( resource $printer_handle , int $height )

Lit la taille logique de la police.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

height

La taille de la police.

Valeurs de retour

Retourne la taille logique de la police ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec printer_logical_fontheight()

<?php
$handle = printer_open();
echo printer_logical_fontheight($handle, 72);
printer_close($handle);
?>

printer_list
printer_open
Fonctions d'impression


Ouvre une connexion à une imprimante

printer_logical_fontheight
printer_select_brush
Fonctions d'impression
PHP Manual

printer_open

(PECL printer SVN)

printer_open — Ouvre une connexion à une imprimante

Description

resource printer_open ([ string $printername ] )

Ouvre une connexion à une imprimante.

printer_open() initialise aussi un contexte d'impression.

Liste de paramètres

printername

Le nom de l'imprimante. Si aucun paramètre n'est fourni, la fonction tente d'ouvrir une connexion à l'imprimante par défaut (si elle n'est pas détectée dans le fichier php.ini avec la directive printer.default_printer, PHP tente de la détecter).

Valeurs de retour

Retourne un gestionnaire d'imprimante en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec printer_open()

<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>

printer_logical_fontheight
printer_select_brush
Fonctions d'impression


Sélectionne une brosse

printer_open
printer_select_font
Fonctions d'impression
PHP Manual

printer_select_brush

(PECL printer SVN)

printer_select_brush — Sélectionne une brosse

Description

void printer_select_brush ( resource $printer_handle , resource $brush_handle )

Sélectionne la brosse brush_handle comme brosse active pour la connexion à l'imprimante printer_handle. Une brosse est utilisée pour remplir des surfaces. Si vous dessinez un rectangle, une brosse sera nécessaire pour dessiner le contenu, et un stylo pour dessiner les bords.

Si vous n'avez pas sélectionné de brosse avant de dessiner des formes, elles ne seront pas remplies.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

brush_handle

brush_handle doit être une ressource de brosse valide.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_select_brush()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);
$brush = printer_create_brush(PRINTER_BRUSH_CUSTOM, "c:\\brush.bmp");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "000000");
printer_select_brush($handle, $brush);
printer_draw_rectangle($handle, 1, 501, 500, 1001);
printer_delete_brush($brush);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_open
printer_select_font
Fonctions d'impression


Sélectionne une police de caractères

printer_select_brush
printer_select_pen
Fonctions d'impression
PHP Manual

printer_select_font

(PECL printer SVN)

printer_select_font — Sélectionne une police de caractères

Description

void printer_select_font ( resource $printer_handle , resource $font_handle )

Sélectionne une police de caractères.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

font_handle

font_handle doit être une ressource de police de caractères valide.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_select_font()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
printer_select_font($handle, $font);
printer_draw_text($handle, "PHP est tout simplement génial", 40, 40);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_select_brush
printer_select_pen
Fonctions d'impression


Sélectionne un stylo

printer_select_font
printer_set_option
Fonctions d'impression
PHP Manual

printer_select_pen

(PECL printer SVN)

printer_select_pen — Sélectionne un stylo

Description

void printer_select_pen ( resource $printer_handle , resource $pen_handle )

Sélectionne le stylo pen_handle comme stylo actif pour la connexion à l'imprimante printer_handle. Un stylo est utilisé pour dessiner des lignes et des courbes. Autrement dit, si vous dessinez une ligne, le stylo sera utilisé. Si vous dessinez un rectangle, il sera utilisé pour dessiner les contours tandis que la brosse sera utilisée pour remplir le contenu. Si vous n'avez pas sélectionné de stylo avant de dessiner des formes, elles ne seront pas tracées.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

pen_handle

pen_handle doit être une ressource de stylo valide.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec printer_select_pen()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "2222FF");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_select_font
printer_set_option
Fonctions d'impression


Configure la connexion à l'imprimante

printer_select_pen
printer_start_doc
Fonctions d'impression
PHP Manual

printer_set_option

(PECL printer SVN)

printer_set_option — Configure la connexion à l'imprimante

Description

bool printer_set_option ( resource $printer_handle , int $option , mixed $value )

Configure la connexion à l'imprimante.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

option

Peut être l'une des constantes suivantes :

  • PRINTER_COPIES : indique le nombre de copies à imprimer. value doit être un entier.
  • PRINTER_MODE : spécifie le type de data ("text", "raw" ou "emf"), valuedoit être une chaîne de caractères.
  • PRINTER_TITLE : spécifie le nom du document, value doit être une chaîne de caractères.
  • PRINTER_ORIENTATION : spécifie l'orientation du papier, value peut être PRINTER_ORIENTATION_PORTRAIT ou PRINTER_ORIENTATION_LANDSCAPE
  • PRINTER_RESOLUTION_Y : spécifie la résolution en ordonnées, en DPI, value doit être un entier.
  • PRINTER_RESOLUTION_X : spécifie la résolution en abscisse, en DPI, value doit être un entier.
  • PRINTER_PAPER_FORMAT : spécifie un format de papier prédéfini : donnez à value la valeur de PRINTER_FORMAT_CUSTOM si vous souhaitez utiliser un format de papier personnalisé, grâce aux constantes PRINTER_PAPER_WIDTH et PRINTER_PAPER_LENGTH. value peut alors être l'une des constantes suivantes :
    • PRINTER_FORMAT_CUSTOM : vous laisse spécifier le format de papier.
    • PRINTER_FORMAT_LETTER : spécifie le format standard "letter" (8 1/2 par 11 pouces (2.54cm)).
    • PRINTER_FORMAT_LEGAL : spécifie le format standard "legal" (8 1/2 par 14 pouces (2.54cm)).
    • PRINTER_FORMAT_A3 : spécifie le format standard "A3" (297 par 420 millimètres).
    • PRINTER_FORMAT_A4 : spécifie le format standard "A4" (210 par 297 millimètres).
    • PRINTER_FORMAT_A5 : spécifie le format standard "A5" (148 par 210 millimètres).
    • PRINTER_FORMAT_B4: spécifies le format standard B4 (250 par 354 millimètres).
    • PRINTER_FORMAT_B5 : spécifie le format standard "B5" (182 par 257 millimètres).
    • PRINTER_FORMAT_FOLIO : spécifie le format standard "FOLIO" (8 1/2 par 13 pouces (2.54cm)).
  • PRINTER_PAPER_LENGTH : si PRINTER_PAPER_FORMAT vaut PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_LENGTH spécifie une longueur personnalisée de papier, en millimètres. value doit être un entier.
  • PRINTER_PAPER_WIDTH : si PRINTER_PAPER_FORMAT vaut PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH spécifie une largeur personnalisée de papier, en millimètres. value doit être un entier.
  • PRINTER_SCALE : spécifie le facteur de mise à l'échelle du document. La taille physique de la page imprimée est alors mise à l'échelle avec un facteur égal à value/100. Par exemple, si vous donnez un facteur d'échelle de 50, l'impression sera de la moitié de la taille du document original. value doit être un entier.
  • PRINTER_BACKGROUND_COLOR : spécifie la couleur de fond pour le contexte actuel. value doit être une chaîne de caractères contenant une couleur au format RGB hexadécimal : par exemple, "005533".
  • PRINTER_TEXT_COLOR : spécifie la couleur du texte pour ce contexte d'imprimante. value doit être une chaîne de caractères contenant une couleur au format RGB hexadécimal : par exemple, "005533".
  • PRINTER_TEXT_ALIGN : spécifie l'alignement du texte pour le contexte d'imprimante. value peut être une combinaison, avec l'opérateur OR, des constantes suivantes :
    • PRINTER_TA_BASELINE : le texte sera aligné sur la ligne de base.
    • PRINTER_TA_BOTTOM : le texte sera aligné sur la ligne de fond.
    • PRINTER_TA_TOP : le texte sera aligné sur la ligne de haut.
    • PRINTER_TA_CENTER : le texte sera centré.
    • PRINTER_TA_LEFT : le texte sera aligné à gauche.
    • PRINTER_TA_RIGHT : le texte sera aligné à droite.

value

La valeur de l'option.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec printer_set_option()

<?php
$handle = printer_open();
printer_set_option($handle, PRINTER_SCALE, 75);
printer_set_option($handle, PRINTER_TEXT_ALIGN, PRINTER_TA_LEFT);
printer_close($handle);
?>

printer_select_pen
printer_start_doc
Fonctions d'impression


Commence un nouveau document

printer_set_option
printer_start_page
Fonctions d'impression
PHP Manual

printer_start_doc

(PECL printer SVN)

printer_start_doc — Commence un nouveau document

Description

bool printer_start_doc ( resource $printer_handle [, string $document ] )

Crée un nouveau document dans la file d'attente de l'imprimante handle. Un document peut contenir plusieurs pages, et il est programmé pour s'imprimer.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

document

Le paramètre optionnel document sert à donner un nom au document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec printer_start_doc()

<?php
$handle = printer_open();
printer_start_doc($handle, "Mon Document");
printer_start_page($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_set_option
printer_start_page
Fonctions d'impression


Commence une nouvelle page

printer_start_doc
printer_write
Fonctions d'impression
PHP Manual

printer_start_page

(PECL printer SVN)

printer_start_page — Commence une nouvelle page

Description

bool printer_start_page ( resource $printer_handle )

Crée une nouvelle page pour le document actif. Pour un exemple, voyez la fonction printer_start_doc().

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

printer_start_doc
printer_write
Fonctions d'impression


Écrit des données sur l'imprimante

printer_start_page
W32api
Fonctions d'impression
PHP Manual

printer_write

(PECL printer SVN)

printer_write — Écrit des données sur l'imprimante

Description

bool printer_write ( resource $printer_handle , string $content )

Écrit les données content directement sur l'imprimante.

Liste de paramètres

printer_handle

printer_handle doit être une ressource d'imprimante valide.

content

Les données à écrire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec printer_write()

<?php
$handle = printer_open();
printer_write($handle, "Texte à imprimer");
printer_close($handle);
?>

printer_start_page
W32api
Fonctions d'impression


W32api

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Récupération de l'uptime et affichage dans une boîte de message
  • Fonctions W32api
    • w32api_deftype — Définit un type pour utilisation avec les fonctions windows API
    • w32api_init_dtype — Crée une instance de type de données Win32 et la remplit
    • w32api_invoke_function — Appelle une fonction Windows 32
    • w32api_register_function — Enregistre une fonction Win32 dans PHP
    • w32api_set_call_method — Modifie le type d'appel de la fonction Win32
printer_write
Introduction
Extensions pour Windows uniquement


Introduction

Cette extension est une extension générique pour les DLL. Elle a été écrite pour permettre l'accès à l'API Win32 depuis PHP, mais vous pouvez également accéder aux fonctions exportées via d'autres DLLs.

Actuellement, les types supportées sont des types PHP génériques (chaîne de caractères booléen, nombre décimaux, entier et NULL) et les types définis avec la fonction w32api_deftype().

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

W32api
Installation/Configuration
W32api


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
W32api


Pré-requis

Cette extension ne fonctionne pas sous les systèmes Windows.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/w32api.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit une seule ressource, utilisée pour les types définies par l'utilisateur. Le nom de cette ressource est "dynaparm".

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

DC_MICROSOFT (entier)
DC_BORLAND (entier)
DC_CALL_CDECL (entier)
DC_CALL_STD (entier)
DC_RETVAL_MATH4 (entier)
DC_RETVAL_MATH8 (entier)
DC_CALL_STD_BO (entier)
DC_CALL_STD_MS (entier)
DC_CALL_STD_M8 (entier)
DC_FLAG_ARGPTR (entier)
Types de ressources
Exemples
W32api


Exemples

Sommaire

  • Récupération de l'uptime et affichage dans une boîte de message
Constantes pré-définies
Récupération de l'uptime et affichage dans une boîte de message
W32api


Récupération de l'uptime et affichage dans une boîte de message

Exemples
Fonctions W32api
Exemples
PHP Manual

Cet exemple récupère le temps depuis le système fonctionne et l'affiche dans une boîte de message.

Exemple #1 Récupération de l'uptime et affichage dans une boîte de message

<?php
// Définition des constantes nécessaires, récupérées depuis
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);

// Chargement de l'extension
dl("php_w32api.dll");

// Enregistrement de la fonction GetTickCount depuis kernel32.dll
w32api_register_function("kernel32.dll",
                         "GetTickCount",
                         "long");

// Enregistrement de la fonction MessageBoxA depuis User32.dll
w32api_register_function("User32.dll",
                         "MessageBoxA",
                         "long");

// Récupératin de l'uptime
$ticks = GetTickCount();

// Convertion en un format plus joli pour l'affichage
$secs  = floor($ticks / 1000);
$mins  = floor($secs / 60);
$hours = floor($mins / 60);

$str = sprintf("Vous utilisez votre ordinateur depuis :" .
                "\r\n %d Millisecondes, ou \r\n %d Secondes" .
                "ou \r\n %d mins or\r\n %d heures %d mins.",
                $ticks,
                $secs,
                $mins,
                $hours,
                $mins - ($hours*60));

// Affichage d'une boîte de message avec uniquement un bouton OK et le texte
MessageBoxA(NULL,
            $str,
            "Uptime Information",
            MB_OK);
?>
Exemples
Fonctions W32api
Exemples


Fonctions W32api

Sommaire

  • w32api_deftype — Définit un type pour utilisation avec les fonctions windows API
  • w32api_init_dtype — Crée une instance de type de données Win32 et la remplit
  • w32api_invoke_function — Appelle une fonction Windows 32
  • w32api_register_function — Enregistre une fonction Win32 dans PHP
  • w32api_set_call_method — Modifie le type d'appel de la fonction Win32
Récupération de l'uptime et affichage dans une boîte de message
w32api_deftype
W32api


Définit un type pour utilisation avec les fonctions windows API

Fonctions W32api
w32api_init_dtype
Fonctions W32api
PHP Manual

w32api_deftype

(PHP 4 >= 4.2.0)

w32api_deftype — Définit un type pour utilisation avec les fonctions windows API

Description

bool w32api_deftype ( string $typename , string $member1_type , string $member1_name [, string $... [, string $... ]] )

Vous devez appeler cette fonction si vous voulez définir un type pour un appel w32api.

Liste de paramètres

typename

Le nom du type.

member1_type

Un membre peut être de type défini par le programmeur. Tous les noms de types sont sensibles à la casse. Les noms de types intégrés doivent être fournis en minuscules.

member1_name

Le nom du membre member1_type.

...

...

Cette fonction prend 2n+1 arguments, où n est le nombre de membres du type typename. Ce nom est suivi du type de membre member1_type, puis de son nom member1_name, par paire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Fonctions W32api
w32api_init_dtype
Fonctions W32api


Crée une instance de type de données Win32 et la remplit

w32api_deftype
w32api_invoke_function
Fonctions W32api
PHP Manual

w32api_init_dtype

(PHP 4 >= 4.2.0)

w32api_init_dtype — Crée une instance de type de données Win32 et la remplit

Description

resource w32api_init_dtype ( string $typename , mixed $value [, mixed $... ] )

Crée une instance du type typename, et remplit les valeurs avec les données value, ....

Liste de paramètres

typename

Le paramètre typename est sensible à la casse.

value

Il faut donner les valeurs dans le même ordre que lors de la définition du type, avec w32api_deftype().

...

Valeurs de retour

Retourne la ressource dynaparm.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

w32api_deftype
w32api_invoke_function
Fonctions W32api


Appelle une fonction Windows 32

w32api_init_dtype
w32api_register_function
Fonctions W32api
PHP Manual

w32api_invoke_function

(PHP 4 >= 4.2.0)

w32api_invoke_function — Appelle une fonction Windows 32

Description

mixed w32api_invoke_function ( string $funcname , mixed $argument [, mixed $... ] )

w32api_invoke_function() essaie de trouver la fonction préalablement enregistrée, appelée funcname, en lui passant les arguments argument, ..., passés après funcname.

Liste de paramètres

funcname

Le nom de la fonction.

argument

Les arguments peuvent être n'importe lequel de ceux de PHP, ou un type défini via la fonction w32api_deftype().

...

Valeurs de retour

Le type retourné est celui que vous avez enregistré avec la fonction. La valeur est celle retournée par la fonction.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

w32api_init_dtype
w32api_register_function
Fonctions W32api


Enregistre une fonction Win32 dans PHP

w32api_invoke_function
w32api_set_call_method
Fonctions W32api
PHP Manual

w32api_register_function

(PHP 4 >= 4.2.0)

w32api_register_function — Enregistre une fonction Win32 dans PHP

Description

bool w32api_register_function ( string $library , string $function_name , string $return_type )

Essaie de trouver la fonction function_name dans la bibliothèque library, et essaie de l'importer en PHP.

Liste de paramètres

library

Le nom de la bibliothèque, sous la forme d'une chaîne de caractères.

function_name

Le nom de la fonction, sous la forme d'une chaîne de caractères.

return_type

La fonction sera alors enregistrée avec le type de valeur de retour return_type. return_type peut être un type générique de PHP ou bien un type défini par le programmeur avec la fonction w32api_deftype(). Tous les noms de type sont sensibles à la casse. Les types intégrés doivent être fournis en minuscules.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

w32api_invoke_function
w32api_set_call_method
Fonctions W32api


Modifie le type d'appel de la fonction Win32

w32api_register_function
win32ps
Fonctions W32api
PHP Manual

w32api_set_call_method

(PHP 4 >= 4.2.0)

w32api_set_call_method — Modifie le type d'appel de la fonction Win32

Description

void w32api_set_call_method ( int $method )

w32api_set_call_method() modifie le type d'appel de la fonction.

Liste de paramètres

method

Peut être l'une des constantes suivantes : DC_CALL_CDECL ou DC_CALL_STD (l'extension par défaut).

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

w32api_register_function
win32ps
Fonctions W32api


win32ps

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Statistiques sur le processus PHP courant
  • win32ps Fonctions
    • win32_ps_list_procs — Liste des processus qui fonctionnent
    • win32_ps_stat_mem — Statistiques de l'utilisation de la mémoire
    • win32_ps_stat_proc — Statistique de processus
w32api_set_call_method
Introduction
Extensions pour Windows uniquement


Introduction

L'extension win32ps est une extension spécifique à Windows qui permet à PHP de récupérer des statistiques sur les processus et sur l'utilisation de la mémoire.

win32ps
Installation/Configuration
win32ps


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
win32ps


Pré-requis

Windows NT, Windows 2000, Windows XP ou Windows Server 2003. Toutes les versions de Windows dérivées de Windows NT devraient être compatibles.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/win32ps.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
win32ps


Exemples

Sommaire

  • Statistiques sur le processus PHP courant
Constantes pré-définies
Statistiques sur le processus PHP courant
win32ps


Statistiques sur le processus PHP courant

Exemples
win32ps Fonctions
Exemples
PHP Manual

Exemple #1 Statistiques sur le processus PHP courant

<?php
print_r(win32_ps_stat_proc());
/*
    Array
    (
        [pid] => 936
        [exe] => D:\Daten\Source\php-5.1\Debug_TS\php.exe
        [mem] => Array
            (
                [page_fault_count] => 2062
                [peak_working_set_size] => 8396800
                [working_set_size] => 8396800
                [quota_peak_paged_pool_usage] => 32080
                [quota_paged_pool_usage] => 31876
                [quota_peak_non_paged_pool_usage] => 4240
                [quota_non_paged_pool_usage] => 3888
                [pagefile_usage] => 5865472
                [peak_pagefile_usage] => 5865472
            )

        [tms] => Array
            (
                [created] => 0.093
                [kernel] => 0.015
                [user] => 0.062
            )

    )
*/
?>

Exemple #2 Statistiques sur l'utilisation globale de la mémoire

<?php
print_r(win32_ps_stat_mem());
/*
    Array
    (
        [load] => 37
        [unit] => 1024
        [total_phys] => 1048096
        [avail_phys] => 649960
        [total_pagefile] => 2521368
        [avail_pagefile] => 2237940
        [total_virtual] => 2097024
        [avail_virtual] => 2057848
    )
*/
?>

Exemples
win32ps Fonctions
Exemples


win32ps Fonctions

Sommaire

  • win32_ps_list_procs — Liste des processus qui fonctionnent
  • win32_ps_stat_mem — Statistiques de l'utilisation de la mémoire
  • win32_ps_stat_proc — Statistique de processus
Statistiques sur le processus PHP courant
win32_ps_list_procs
win32ps


Liste des processus qui fonctionnent

win32ps Fonctions
win32_ps_stat_mem
win32ps Fonctions
PHP Manual

win32_ps_list_procs

(PECL win32ps >= 1.0.1)

win32_ps_list_procs — Liste des processus qui fonctionnent

Description

array win32_ps_list_procs ( void )

Récupère des statistiques à propos de tous les processus qui fonctionnent.

Valeurs de retour

Retourne FALSE en cas d'erreur ou un tableau contenant des statistiques de processus, comme la fonction win32_ps_stat_proc() retourne pour tous les processus qui fonctionnent, en cas de succès.

Voir aussi

  • win32_ps_stat_proc() - Statistique de processus

win32ps Fonctions
win32_ps_stat_mem
win32ps Fonctions


Statistiques de l'utilisation de la mémoire

win32_ps_list_procs
win32_ps_stat_proc
win32ps Fonctions
PHP Manual

win32_ps_stat_mem

(PECL win32ps >= 1.0.1)

win32_ps_stat_mem — Statistiques de l'utilisation de la mémoire

Description

array win32_ps_stat_mem ( void )

Récupère des statistiques à propos de l'utilisation globale de la mémoire.

Valeurs de retour

Retourne FALSE en cas d'échec ou un tableau contenant les informations suivantes en cas de succès :

load

La charge courante de la mémoire en pourcentage de la mémoire physique.

unit

Ceci est toujours 1024 et indique que les valeurs suivantes sont au compte de 1024 octets.

total_phys

Le nombre total de mémoire physique.

avail_phys

Le nombre total encore disponible de mémoire physique.

total_pagefile

Le nombre total de mémoire paginable (mémoire physique + fichier paginé).

avail_pagefile

Le nombre total encore disponible de mémoire paginable (mémoire physique + fichier paginé).

total_virtual

Le nombre total de mémoire virtuelle pour un processus.

avail_virtual

Le nombre total encore disponible de mémoire virtuelle pour un processus.

win32_ps_list_procs
win32_ps_stat_proc
win32ps Fonctions


Statistique de processus

win32_ps_stat_mem
win32service
win32ps Fonctions
PHP Manual

win32_ps_stat_proc

(PECL win32ps >= 1.0.1)

win32_ps_stat_proc — Statistique de processus

Description

array win32_ps_stat_proc ([ int $pid = 0 ] )

Récupère les statistiques à propos du processus avec l'identifiant pid.

Liste de paramètres

pid

L'identifiant du processus à obtenir des statistiques. Si omis, l'identifiant du processus courant est utilisé.

Valeurs de retour

Retourne FALSE en cas d'échec ou un tableau contenant les informations suivantes en cas de succès :

pid

L'identifiant du processus.

exe

Le chemin de l'image exécutable.

mem

Un tableau contenant les informations à propos des indicateurs de l'utilisation de mémoire suivants : page_fault_count, peak_working_set_size, working_set_size, quota_peak_paged_pool_usage, quota_paged_pool_usage, quota_peak_non_paged_pool_usage, quota_non_paged_pool_usage, pagefile_usage et peak_pagefile_usage.

tms

Un tableau contenant les informations à propos des indicateurs de l'utilisation du temps CPU suivants : created, kernel et user.

Voir aussi

  • win32_ps_list_procs() - Liste des processus qui fonctionnent

win32_ps_stat_mem
win32service
win32ps Fonctions


win32service

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Enregistre un script PHP pour exécuter en tant que service
  • Fonctions win32service
    • win32_create_service — Crée une nouvelle entrée pour service dans la base de données SCM
    • win32_delete_service — Supprime une entrée de service de la base de données SCM
    • win32_get_last_control_message — Retourne le dernier message de contrôle qui a été envoyé à ce service
    • win32_query_service_status — Questionne le statut d'un service
    • win32_set_service_status — Met à jour le statut d'un service
    • win32_start_service_ctrl_dispatcher — Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donné
    • win32_start_service — Démarre un service
    • win32_stop_service — Arrête un service
win32_ps_stat_proc
Introduction
Extensions pour Windows uniquement


Introduction

L'extension win32service est une extension spécifique à Windows qui autorise PHP à communiquer avec la Gestion de Contrôle de Service pour démarrer, arrêter, enregistrer ou effacer des services, et autorise aussi vos scripts PHP à s'exécuter en tant que service.

win32service
Installation/Configuration
win32service


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
win32service


Pré-requis

Windows NT, Windows 2000, Windows XP ou Windows Server 2003. N'importe quelle version de windows dérivé de Windows NT devrait être compatible.

Installation/Configuration
Installation
Installation/Configuration


Installation

Installation à partir de PECL

  1. Vous pouvez télécharger php_win32service.dll à partir de http://snaps.php.net/win32/. Choisissez le dossier PECL_X_X qui concorde avec votre version de PHP.

  2. Copiez le fichier php_win32service.dll dans votre extension_dir.

  3. Charge l'extension à partir de votre php.ini

    extension=php_win32service.dll

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

WIN32_SERVICE_CONTROL_CONTINUE (entier)
WIN32_SERVICE_CONTROL_INTERROGATE (entier)
WIN32_SERVICE_CONTROL_PAUSE (entier)
WIN32_SERVICE_CONTROL_STOP (entier)
WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE (entier)
WIN32_SERVICE_CONTROL_POWEREVENT (entier)
WIN32_SERVICE_CONTROL_SESSIONCHANGE (entier)
WIN32_ERROR_CALL_NOT_IMPLEMENTED (entier)
WIN32_NO_ERROR (entier)
WIN32_SERVICE_RUNNING (entier)
WIN32_SERVICE_STOPPED (entier)
WIN32_SERVICE_STOP_PENDING (entier)
WIN32_SERVICE_WIN32_OWN_PROCESS (entier)
WIN32_SERVICE_INTERACTIVE_PROCESS (entier)
WIN32_SERVICE_STOPPED (entier)
WIN32_SERVICE_START_PENDING (entier)
WIN32_SERVICE_STOP_PENDING (entier)
WIN32_SERVICE_RUNNING (entier)
WIN32_SERVICE_CONTINUE_PENDING (entier)
WIN32_SERVICE_PAUSE_PENDING (entier)
WIN32_SERVICE_PAUSED (entier)
WIN32_SERVICE_ACCEPT_NETBINDCHANGE (entier)
WIN32_SERVICE_ACCEPT_PARAMCHANGE (entier)
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE (entier)
WIN32_SERVICE_ACCEPT_SHUTDOWN (entier)
WIN32_SERVICE_ACCEPT_STOP (entier)
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE (entier)
WIN32_SERVICE_ACCEPT_POWEREVENT (entier)
WIN32_SERVICE_ACCEPT_SESSIONCHANGE (entier)
WIN32_SERVICE_FILE_SYSTEM_DRIVER (entier)
WIN32_SERVICE_KERNEL_DRIVER (entier)
WIN32;E_WIN32_SHARE_PROCESS (entier)
WIN32;E_RUNS_IN_SYSTEM_PROCESS (entier)
Types de ressources
Exemples
win32service


Exemples

Sommaire

  • Enregistre un script PHP pour exécuter en tant que service
Constantes pré-définies
Enregistre un script PHP pour exécuter en tant que service
win32service


Enregistre un script PHP pour exécuter en tant que service

Exemples
Fonctions win32service
Exemples
PHP Manual

Exemple #1 Enregistre un script PHP pour exécuter en tant que service

<?php
win32_create_service(array(
    'service' => 'dummyphp',                 # le nom de votre service
    'display' => 'sample dummy PHP service', # description
    'params' => 'c:\path\to\script.php run', # chemin au script et paramètres
));
?>

Exemple #2 Efface un service

<?php
win32_delete_service('dummyphp');
?>

Exemple #3 Exécution d'un service

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # effectuer votre travail ici.
    # essayez de ne pas prendre plus de 30 secondes avant de retourner au
    # début de la boucle
  }
}
?>

Exemples
Fonctions win32service
Exemples


Fonctions win32service

Sommaire

  • win32_create_service — Crée une nouvelle entrée pour service dans la base de données SCM
  • win32_delete_service — Supprime une entrée de service de la base de données SCM
  • win32_get_last_control_message — Retourne le dernier message de contrôle qui a été envoyé à ce service
  • win32_query_service_status — Questionne le statut d'un service
  • win32_set_service_status — Met à jour le statut d'un service
  • win32_start_service_ctrl_dispatcher — Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donné
  • win32_start_service — Démarre un service
  • win32_stop_service — Arrête un service
Enregistre un script PHP pour exécuter en tant que service
win32_create_service
win32service


Crée une nouvelle entrée pour service dans la base de données SCM

Fonctions win32service
win32_delete_service
Fonctions win32service
PHP Manual

win32_create_service

(PECL win32service SVN)

win32_create_service — Crée une nouvelle entrée pour service dans la base de données SCM

Description

mixed win32_create_service ( array $details [, string $machine ] )

Liste de paramètres

details

Un tableau des détails des services :

service

Le nom court du service. C'est le nom que vous utiliserez pour contrôler le service en utilisant la commande net. Le service doit être unique (deux services ne peuvent partager le même nom), et idéalement, devrait éviter d'avoir des espaces dans son nom.

display

Le nom d'affichage du service. C'est le nom que vous verrez dans l'Applet Services.

user

Le nom de l'utilisateur sous lequel vous voulez que le service s'exécute. Si oublié, le service fonctionnera en tant que LocalSystem. Si le nom de l'utilisateur est spécifié, vous devez aussi fournir un mot de passe.

password

Le mot de passe qui correspond à user.

path

Le chemin complet au module exécutable qui sera démarré lorsque le service est démarré. Si oublié, le chemin du processus courant de PHP sera utilisé.

params

Paramètres de commande à passer au service lorsqu'il démarre. Si vous voulez exécuter un script PHP en tant que service, alors le premier paramètre devrait être le chemin complet au script PHP que vous prévoyez exécuter. Si le nom du script ou le chemin contiennent des espaces, alors, entourez le chemin complet du script PHP par des "

load_order

Contrôle le load_order. Cela n'est pas encore complètement supporté.

svc_type

Fixe le type de service. Si oublié, la valeur par défaut est WIN32_SERVICE_WIN32_OWN_PROCESS. Ne changez pas ceci à moins que vous savez vraiment ce que vous faites.

start_type

Spécifie comment le service devrait être démarré. La valeur par défaut est WIN32_SERVIDE_AUTO_START qui signifie que le service sera démarré lorsque la machine démarrera.

error_control

Informe le SCM à propos de ce qu'il devrait faire lorsqu'il détecte un problème avec le service. La valeur par défaut est WIN32_SERVER_ERROR_IGNORE. Le changement de cette valeur n'est pas encore complètement supporté.

machine

Le nom optionnel de la machine sur lequel vous voulez créer le service. Si oublié, cela utilisera la machine locale.

Valeurs de retour

Retourne TRUE en cas de succès, retourne un code d'erreur win32 autrement.

Exemples

Exemple #1 Exemple avec win32_create_service()

Crée un service dont le nom court est 'dummyphp'.

<?php
$x = win32_create_service(array(
     'service' => 'dummyphp',
     'display' => 'exemple dummy PHP service',
     'params' => __FILE__ . ' run',
));
debug_zval_dump($x);
?>

Voir aussi

  • win32_delete_service() - Supprime une entrée de service de la base de données SCM

Fonctions win32service
win32_delete_service
Fonctions win32service


Supprime une entrée de service de la base de données SCM

win32_create_service
win32_get_last_control_message
Fonctions win32service
PHP Manual

win32_delete_service

(PECL win32service SVN)

win32_delete_service — Supprime une entrée de service de la base de données SCM

Description

int win32_delete_service ( string $servicename [, string $machine ] )

Essaie de supprimer un service de la base de données SCM. Les privilèges d'administrateur sont requis pour que cette fonction réussisse.

Cette fonction ne fait que marquer le service pour suppression. Si d'autre processus (comme l'Applet Services) sont ouverts, alors la suppression sera reportée jusqu'à ce que ces applications soient fermées. Si un service est marqué pour suppression, d'autres tentatives de suppression échoueront et les tentatives de créer un nouveau service avec ce nom échoueront aussi.

Liste de paramètres

servicename

Le nom court du service.

machine

Le nom optionnel de la machine. Si oublié, cela utilisera la machine locale.

Valeurs de retour

Retourne TRUE en cas de succès, retourne un code d'erreur win32 autrement.

Exemples

Exemple #1 Exemple avec win32_delete_service()

Supprime le service dummyphp.

<?php
win32_delete_service('dummyphp');
?>

win32_create_service
win32_get_last_control_message
Fonctions win32service


Retourne le dernier message de contrôle qui a été envoyé à ce service

win32_delete_service
win32_query_service_status
Fonctions win32service
PHP Manual

win32_get_last_control_message

(PECL win32service SVN)

win32_get_last_control_message — Retourne le dernier message de contrôle qui a été envoyé à ce service

Description

int win32_get_last_control_message ( void )

Retourne le code de contrôle qui a été envoyé en dernier à ce processus de service. Lorsqu'il fonctionne en tant que service, vous devriez vérifier périodiquement pour déterminer si le service doit être arrêté.

Valeurs de retour

Retourne une constante de contrôle; une de WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_STOP, WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE, WIN32_SERVICE_CONTROL_POWEREVENT, WIN32_SERVICE_CONTROL_SESSIONCHANGE.

Voir aussi

  • win32_start_service_ctrl_dispatcher() - Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donné

win32_delete_service
win32_query_service_status
Fonctions win32service


Questionne le statut d'un service

win32_get_last_control_message
win32_set_service_status
Fonctions win32service
PHP Manual

win32_query_service_status

(PECL win32service SVN)

win32_query_service_status — Questionne le statut d'un service

Description

mixed win32_query_service_status ( string $servicename [, string $machine ] )

Questionne le statut courant pour un service, retournant un tableau d'informations.

Liste de paramètres

servicename

Le nom court du service.

machine

Le nom optionnel de la machine. Si oublié, cela utilisera la machine locale.

Valeurs de retour

Retourne FALSE en cas d'échec, autrement retourne un tableau contenant les informations suivantes :

ServiceType

Le dwServiceType.

CurrentState

Le dwCurrentState.

ControlsAccepted

Quels contrôles de service sont acceptés par le service.

Win32ExitCode

Si le service quitte, le code de retour du processus.

ServiceSpecificExitCode

Si le service quitte avec une condition d'erreur, le code spécifique du service qui sera enregistré dans le journal d'évènements est visible ici.

CheckPoint

Si le service s'arrête, garde le nombre courant de point de contrôle. Ceci est utilisé par SCM comme un genre de battement de coeur pour détecter un processus de service arrêté. La valeur du point de contrôle est mieux interprétée en conjonction avec la valeur WaitHint.

WaitHint

Si le service s'arrête, il fixera un WaitHint à une valeur de point de contrôle qui indiquera l'exécution 100%. Cela peut être utilisé pour implanter un indicateur de progrès.

ProcessId

L'identifiant de processus de fenêtre. Si 0, le processus ne fonctionne pas.

ServiceFlags

Le dwServiceFlags.

win32_get_last_control_message
win32_set_service_status
Fonctions win32service


Met à jour le statut d'un service

win32_query_service_status
win32_start_service_ctrl_dispatcher
Fonctions win32service
PHP Manual

win32_set_service_status

(PECL win32service SVN)

win32_set_service_status — Met à jour le statut d'un service

Description

bool win32_set_service_status ( int $status )

Informe le SCM d'un statut courant d'un service qui fonctionne. Cet appel est seulement valide pour un processus de service qui fonctionne.

Liste de paramètres

status

Le code de statut de service, un de WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • win32_start_service_ctrl_dispatcher() - Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donné

win32_query_service_status
win32_start_service_ctrl_dispatcher
Fonctions win32service


Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donné

win32_set_service_status
win32_start_service
Fonctions win32service
PHP Manual

win32_start_service_ctrl_dispatcher

(PECL win32service SVN)

win32_start_service_ctrl_dispatcher — Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donné

Description

mixed win32_start_service_ctrl_dispatcher ( string $name )

Lorsque exécuté via le Gestionnaire de Contrôle de Service, un processus de service est requis pour "archiver" avec lui pour établir un service de surveillance et de communication ergonomique. Cette fonction effectue un archivage en démarrant un thread pour gérer les communications de bas niveau avec le gestionnaire de contrôle de service.

Une fois démarré, le processus de service devrait continuer à archiver avec le gestionnaire de contrôle de service ce qui permet de déterminer si il doit être terminé. Cela est effectué périodiquement en appelant win32_get_last_control_message() et en gérant le code de retour correctement.

Liste de paramètres

name

Le court nom du service, comme enregistré par win32_create_service().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec win32_start_service_ctrl_dispatcher()

Vérifie si le service fonctionne sous SCM.

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("Je ne fonctionne probablement pas sous le gestionnaire de contrôle de service");
}

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # effectuer votre travail ici.
  # essayez de ne pas prendre plus de 30 secondes avant de retourner au
}
?>

Voir aussi

  • win32_get_last_control_message() - Retourne le dernier message de contrôle qui a été envoyé à ce service

win32_set_service_status
win32_start_service
Fonctions win32service


Démarre un service

win32_start_service_ctrl_dispatcher
win32_stop_service
Fonctions win32service
PHP Manual

win32_start_service

(PECL win32service SVN)

win32_start_service — Démarre un service

Description

int win32_start_service ( string $servicename [, string $machine ] )

Essaie de démarrer le service nommé. Normalement, les privilèges d'administrateur sont requis.

Liste de paramètres

servicename

Le nom court du service.

machine

Le nom optionnel de la machine. Si oublié, cela utilisera la machine locale.

Valeurs de retour

Retourne WIN32_NO_ERROR en cas de succès, retourne un code d'erreur win32 autrement.

Voir aussi

  • win32_stop_service() - Arrête un service

win32_start_service_ctrl_dispatcher
win32_stop_service
Fonctions win32service


Arrête un service

win32_start_service
Manipulation XML
Fonctions win32service
PHP Manual

win32_stop_service

(PECL win32service SVN)

win32_stop_service — Arrête un service

Description

int win32_stop_service ( string $servicename [, string $machine ] )

Arrête un service nommé. Les privilèges d'administrateur sont requis.

Liste de paramètres

servicename

Le nom court du service.

machine

Le nom optionnel de la machine. Si oublié, cela utilisera la machine locale.

Valeurs de retour

Retourne WIN32_NO_ERROR en cas de succès, retourne un code d'erreur win32 autrement.

Voir aussi

  • win32_start_service() - Démarre un service

win32_start_service
Manipulation XML
Fonctions win32service


Manipulation XML

  • DOM — Model Objet d'un document
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • DOMAttr — La classe DOMAttr
    • DOMCharacterData — La classe DOMCharacterData
    • DOMComment — La classe DOMComment
    • DOMDocument — La classe DOMDocument
    • DOMDocumentFragment — La classe DOMDocumentFragment
    • DOMDocumentType — La classe DOMDocumentType
    • DOMElement — La classe DOMElement
    • DOMEntity — La classe DOMEntity
    • DOMEntityReference — La classe DOMEntityReference
    • DOMException — La classe DOMException
    • DOMImplementation — La classe DOMImplementation
    • DOMNamedNodeMap — La classe DOMNamedNodeMap
    • DOMNode — La classe DOMNode
    • DOMNodeList — La classe DOMNodeList
    • DOMNotation — La classe DOMNode
    • DOMProcessingInstruction — La classe DOMProcessingInstruction
    • DOMText — La classe DOMText
    • DOMXPath — La classe DOMXPath
    • DOM Fonctions
  • DOM XML (PHP 4)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions DOM XML (PHP 4)
  • libxml
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • libXMLError — La classe libXMLError
    • Fonctions libxml
  • qtdom
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions qtdom
  • SDO
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Limitations
    • Exemples
    • Fonctions SDO
  • SDO-DAS-Relational — SDO Relationnel Service d'Accès de Données
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Limitations
    • Fonctions SDO-DAS-Relational
  • SDO DAS XML — Fonctions de Service d'Accès de Données SDO XML
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Fonctions SDO DAS XML
  • SimpleXML
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • SimpleXMLElement — La classe SimpleXMLElement
    • Fonctions SimpleXML
  • WDDX
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • WDDX Fonctions
  • Analyseur syntaxique XML
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • gestionnaires d'événements
    • Problèmes de casse
    • Codes d'erreurs
    • Codage des caractères
    • Exemples
    • Fonctions d'analyse de fichier XML
  • XMLReader
    • Introduction
    • Installation/Configuration
    • XMLReader — La classe XMLReader
  • XMLWriter
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions XMLWriter
  • XSL
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • XSLTProcessor — La classe XSLTProcessor
  • XSLT (PHP4)
    • Introduction
    • Installation/Configuration
    • Constantes pré-définies
    • Fonctions XSLT (PHP4)
win32_stop_service
DOM
Référence des fonctions


Model Objet d'un document

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • DOMAttr — La classe DOMAttr
    • DOMAttr::__construct — Crée un nouvel objet DOMAttr
    • DOMAttr::isId — Vérifie si l'attribut est un identifiant défini
  • DOMCharacterData — La classe DOMCharacterData
    • DOMCharacterData::appendData — Ajoute la chaîne à la fin des données dans le noeud
    • DOMCharacterData::deleteData — Supprime une sous-chaîne dans le noeud
    • DOMCharacterData::insertData — Insère une chaîne à la position spécifiée d'unité 16-bit
    • DOMCharacterData::replaceData — Remplace une sous-chaîne dans le noeud DOMCharacterData
    • DOMCharacterData::substringData — Extrait un morceau de données dans le noeud
  • DOMComment — La classe DOMComment
    • DOMComment::__construct — Crée un nouvel objet DOMComment
  • DOMDocument — La classe DOMDocument
    • DOMDocument::__construct — Crée un nouvel objet DOMDocument
    • DOMDocument::createAttribute — Crée un nouvel attribut
    • DOMDocument::createAttributeNS — Crée un nouvel attribut avec un espace de noms associé
    • DOMDocument::createCDATASection — Crée un nouveau noeud cdata
    • DOMDocument::createComment — Crée un nouveau noeud de commentaire
    • DOMDocument::createDocumentFragment — Crée un nouveau fragment de document
    • DOMDocument::createElement — Crée un nouveau noeud
    • DOMDocument::createElementNS — Crée un nouveau noeud avec un espace de noms associé
    • DOMDocument::createEntityReference — Crée un nouveau noeud de référence d'entité
    • DOMDocument::createProcessingInstruction — Crée un nouveau noeud PI
    • DOMDocument::createTextNode — Crée un nouveau noeud de texte
    • DOMDocument::getElementById — Cherche un élément avec un certain identifiant
    • DOMDocument::getElementsByTagName — Cherche tous les éléments qui ont le nom de balise donné
    • DOMDocument::getElementsByTagNameNS — Recherche tous les éléments avec un nom de balise donné dans un espace de noms spécifié
    • DOMDocument::importNode — Importe un noeud dans le document courant
    • DOMDocument::load — Charge du XML depuis un fichier
    • DOMDocument::loadHTML — Charge du code HTML à partir d'une chaîne de caractères
    • DOMDocument::loadHTMLFile — Charge du HTML à partir d'un fichier
    • DOMDocument::loadXML — Charge du XML depuis une chaîne de caractères
    • DOMDocument::normalizeDocument — Normalise le document
    • DOMDocument::registerNodeClass — Enregistre la classe étendue utilisée pour créer un type de base de noeud
    • DOMDocument::relaxNGValidate — Effectue une validation relaxNG sur le document
    • DOMDocument::relaxNGValidateSource — Effectue une validation relaxNG sur le document
    • DOMDocument::save — Sauvegarde l'arbre interne XML dans un fichier
    • DOMDocument::saveHTML — Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML
    • DOMDocument::saveHTMLFile — Sauvegarde un document interne dans un fichier en utilisant un formatage HTML
    • DOMDocument::saveXML — Sauvegarde l'arbre interne XML dans une chaîne de caractères
    • DOMDocument::schemaValidate — Valide un document selon un schéma
    • DOMDocument::schemaValidateSource — Valide un document selon un schéma
    • DOMDocument::validate — Valide un document en se basant sur sa DTD
    • DOMDocument::xinclude — Remplace les XIncludes dans un objet DOMDocument
  • DOMDocumentFragment — La classe DOMDocumentFragment
    • DOMDocumentFragment::appendXML — Ajoute des données XML
  • DOMDocumentType — La classe DOMDocumentType
  • DOMElement — La classe DOMElement
    • DOMElement::__construct — Crée un nouvel objet DOMElement
    • DOMElement::getAttribute — Retourne la valeur d'un attribut
    • DOMElement::getAttributeNode — Retourne le noeud d'attribut
    • DOMElement::getAttributeNodeNS — Retourne le noeud d'attribut
    • DOMElement::getAttributeNS — Retourne la valeur de l'attribut
    • DOMElement::getElementsByTagName — Retourne les éléments par leur nom de balise
    • DOMElement::getElementsByTagNameNS — Récupère les éléments par leur espace de noms et leur localName
    • DOMElement::hasAttribute — Vérifie si un attribut existe
    • DOMElement::hasAttributeNS — Vérifie si un attribut existe
    • DOMElement::removeAttribute — Efface un attribut
    • DOMElement::removeAttributeNode — Efface un attribut
    • DOMElement::removeAttributeNS — Efface un attribut
    • DOMElement::setAttribute — Ajoute un nouvel attribut
    • DOMElement::setAttributeNode — Ajoute un nouvel attribut à l'élément
    • DOMElement::setAttributeNodeNS — Ajoute un nouvel attribut à l'élément
    • DOMElement::setAttributeNS — Ajoute un nouvel attribut
    • DOMElement::setIdAttribute — Déclare l'attribut spécifié par son nom à être de type ID
    • DOMElement::setIdAttributeNode — Déclare l'attribut spécifié par le noeud à être de type ID
    • DOMElement::setIdAttributeNS — Déclare l'attribut spécifié par son nom local et son espace de nom URI à être de type ID
  • DOMEntity — La classe DOMEntity
  • DOMEntityReference — La classe DOMEntityReference
    • DOMEntityReference::__construct — Crée un nouvel objet DOMEntityReference
  • DOMException — La classe DOMException
  • DOMImplementation — La classe DOMImplementation
    • DOMImplementation::__construct — Crée un nouvel objet DOMImplementation
    • DOMImplementation::createDocument — Crée un objet DOM Document du type spécifié avec ses éléments
    • DOMImplementation::createDocumentType — Crée un objet DOMDocumentType vide
    • DOMImplementation::hasFeature — Teste si l'implémentation DOM implémente une fonctionnalité spécifique
  • DOMNamedNodeMap — La classe DOMNamedNodeMap
    • DOMNamedNodeMap::getNamedItem — Retourne un noeud spécifié par nom nom
    • DOMNamedNodeMap::getNamedItemNS — Retourne un noeud spécifié par son nom local et son espace de noms
    • DOMNamedNodeMap::item — Retourne un noeud selon son index
  • DOMNode — La classe DOMNode
    • DOMNode::appendChild — Ajoute un nouveau fils à la fin des fils
    • DOMNode::cloneNode — Clone un noeud
    • DOMNode::getLineNo — Lit le numéro de ligne d'un noeud
    • DOMNode::hasAttributes — Vérifie si le noeud possède un attribut
    • DOMNode::hasChildNodes — Vérifie si le noeud possède des enfants
    • DOMNode::insertBefore — Ajoute un nouveau fils à la fin des enfants
    • DOMNode::isDefaultNamespace — Vérifie si l'espace de nom spécifié est l'espace de noms par défaut ou non
    • DOMNode::isSameNode — Indique si deux noeuds sont identiques
    • DOMNode::isSupported — Vérifie si la fonctionnalité est disponible pour la version spécifiée
    • DOMNode::lookupNamespaceURI — Retourne l'URI de l'espace de noms selon le préfixe
    • DOMNode::lookupPrefix — Retourne le préfixe de l'espace de noms selon l'URI de l'espace de noms
    • DOMNode::normalize — Normalise le noeud
    • DOMNode::removeChild — Supprime un fils de la liste des enfants
    • DOMNode::replaceChild — Remplace un fils
  • DOMNodeList — La classe DOMNodeList
    • DOMNodelist::item — Retourne un noeud spécifié par son index
  • DOMNotation — La classe DOMNode
  • DOMProcessingInstruction — La classe DOMProcessingInstruction
    • DOMProcessingInstruction::__construct — Crée un nouvel objet DOMProcessingInstruction
  • DOMText — La classe DOMText
    • DOMText::__construct — Crée un nouvel objet DOMText
    • DOMText::isWhitespaceInElementContent — Indique si ce noeud de texte contient des espaces blancs
    • DOMText::splitText — Coupe le noeud en deux noeuds à l'endroit spécifié
  • DOMXPath — La classe DOMXPath
    • DOMXPath::__construct — Crée un nouvel objet DOMXPath
    • DOMXPath::evaluate — Évalue une expression XPath donnée et retourne un résultat écrit si possible
    • DOMXPath::query — Évalue l'expression XPath donnée
    • DOMXPath::registerNamespace — Enregistre l'espace de noms avec l'objet DOMXPath
    • DOMXPath::registerPhpFunctions — Enregistre une fonction PHP comme fonction XPath
  • DOM Fonctions
    • dom_import_simplexml — Transforme un objet SimpleXMLElement en un objet DOMElement
Manipulation XML
Introduction
Manipulation XML


Introduction

L'extension DOM vous permet d'utiliser des documents XML via l'API DOM de PHP 5.

Pour PHP 4, utilisez l'extension DOM XML.

Note: L'extension DOM utilise l'encodage UTF-8. Utilisez les fonctions utf8_encode() et utf8_decode() pour travailler avec les textes en ISO-8859-1 ou l'extension Iconv pour les autres encodages.

DOM
Installation/Configuration
DOM


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
DOM


Installation

Aucune installation n'est nécessaire pour utiliser ces fonctions ; elles font parties du coeur de PHP. Le support DOM peut néanmoins être désactivé avec l'option de configuration --disable-dom.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes XML
Constante | Valeur | Description
XML_ELEMENT_NODE (entier) | 1 | Le noeud est un DOMElement
XML_ATTRIBUTE_NODE (entier) | 2 | Le noeud est un DOMAttr
XML_TEXT_NODE (entier) | 3 | Le noeud est un DOMText
XML_CDATA_SECTION_NODE (entier) | 4 | Le noeud est un DOMCharacterData
XML_ENTITY_REF_NODE (entier) | 5 | Le noeud est un DOMEntityReference
XML_ENTITY_NODE (entier) | 6 | Le noeud est un DOMEntity
XML_PI_NODE (entier) | 7 | Le noeud est un DOMProcessingInstruction
XML_COMMENT_NODE (entier) | 8 | Le noeud est un DOMComment
XML_DOCUMENT_NODE (entier) | 9 | Le noeud est un DOMDocument
XML_DOCUMENT_TYPE_NODE (entier) | 10 | Le noeud est un DOMDocumentType
XML_DOCUMENT_FRAG_NODE (entier) | 11 | Le noeud est un DOMDocumentFragment
XML_NOTATION_NODE (entier) | 12 | Le noeud est un DOMNotation
XML_HTML_DOCUMENT_NODE (entier) | 13 |
XML_DTD_NODE (entier) | 14 |
XML_ELEMENT_DECL_NODE (entier) | 15 |
XML_ATTRIBUTE_DECL_NODE (entier) | 16 |
XML_ENTITY_DECL_NODE (entier) | 17 |
XML_NAMESPACE_DECL_NODE (entier) | 18 |
XML_ATTRIBUTE_CDATA (entier) | 1 |
XML_ATTRIBUTE_ID (entier) | 2 |
XML_ATTRIBUTE_IDREF (entier) | 3 |
XML_ATTRIBUTE_IDREFS (entier) | 4 |
XML_ATTRIBUTE_ENTITY (entier) | 5 |
XML_ATTRIBUTE_NMTOKEN (entier) | 7 |
XML_ATTRIBUTE_NMTOKENS (entier) | 8 |
XML_ATTRIBUTE_ENUMERATION (entier) | 9 |
XML_ATTRIBUTE_NOTATION (entier) | 10 |
Constantes DOMException
Constante | Valeur | Description
DOM_PHP_ERR (entier) | 0 | Code erreur ne faisant pas parti de la spécification DOM. Utile pour les erreurs PHP.
DOM_INDEX_SIZE_ERR (entier) | 1 | Si l'index ou la taille sont négatifs ou plus grands que la valeur autorisée.
DOMSTRING_SIZE_ERR (entier) | 2 | Si la rangée spécifiée de texte ne tient pas dans le DOMString.
DOM_HIERARCHY_REQUEST_ERR (entier) | 3 | Si un noeud est inséré à un endroit non autorisé
DOM_WRONG_DOCUMENT_ERR (entier) | 4 | Si un noeud est utilisé dans un document autre que celui qui l'a créé.
DOM_INVALID_CHARACTER_ERR (entier) | 5 | Si un caractère invalide ou non autorisé est spécifié, par exemple, dans un nom.
DOM_NO_DATA_ALLOWED_ERR (entier) | 6 | Si des données sont spécifiées dans un noeud qui ne supporte pas les données.
DOM_NO_MODIFICATION_ALLOWED_ERR (entier) | 7 | Si une tentative est faite de modifier un objet où les modifications ne sont pas autorisées.
DOM_NOT_FOUND_ERR (entier) | 8 | Si une tentative est faite de référencer un noeud dans un contexte où il n'existe pas.
DOM_NOT_SUPPORTED_ERR (entier) | 9 | Si l'implémentation ne supporte pas le type requis de l'objet ou de l'opération.
DOM_INUSE_ATTRIBUTE_ERR (entier) | 10 | Si une tentative est faite d'ajouter un attribut qui est déjà utilisé autre part.
DOM_INVALID_STATE_ERR (entier) | 11 | Si une tentative est faite d'utiliser un objet qui n'est pas, ou n'est plus, utilisable.
DOM_SYNTAX_ERR (entier) | 12 | Si une chaîne de caractères invalide ou illégale est spécifiée.
DOM_INVALID_MODIFICATION_ERR (entier) | 13 | Si une tentative est faite de modifier le type d'un objet fondamental.
DOM_NAMESPACE_ERR (entier) | 14 | Si une tentative est faite de créer ou de modifier un objet dans un sens qui est incorrect au regard de l'espace de noms.
DOM_INVALID_ACCESS_ERR (entier) | 15 | Si un paramètre ou une opération n'est pas supporté par l'objet fondamental.
DOM_VALIDATION_ERR (entier) | 16 | Si un appel à une méthode tel que insertBefore ou removeChild voudrait rendre le noeud invalide avec le respect de la validation partielle, cette exception sera exécutée et l'opération ne sera pas effectuée.
Types de ressources
DOMAttr
DOM


La classe DOMAttr

Introduction

DOMAttr représente un attribut dans l'objet DOMElement.

Synopsis de la classe

DOMAttr
DOMAttr étend DOMNode {
/* Propriétés */
public readonly string $name ;
public readonly DOMElement $ownerElement ;
public readonly bool $schemaTypeInfo ;
public readonly bool $specified ;
public string $value ;
/* Méthodes */
__construct ( string $name [, string $value ] )
bool isId ( void )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

name

Le nom de l'attribut

ownerElement

L'élément qui contient l'attribut

schemaTypeInfo

Non implémenté, vaut toujours NULL

specified

Non implémenté, vaut toujours NULL

value

La valeur de l'attribut

Voir aussi

  • » spécification W3C de l'Attr

Sommaire

  • DOMAttr::__construct — Crée un nouvel objet DOMAttr
  • DOMAttr::isId — Vérifie si l'attribut est un identifiant défini
Constantes pré-définies
DOMAttr::__construct
DOM


Crée un nouvel objet DOMAttr

DOMAttr
DOMAttr::isId
DOMAttr
PHP Manual

DOMAttr::__construct

(PHP 5)

DOMAttr::__construct — Crée un nouvel objet DOMAttr

Description

DOMAttr::__construct ( string $name [, string $value ] )

Crée un nouvel objet DOMAttr. Cet objet est en lecture seule. Il peut être ajouté à un document, mais les noeuds additionnels ne peuvent pas être ajoutés à ce noeud tant que ce noeud est associé à un document. Pour créer un noeud accessible en écriture, utilisez DOMDocument::createAttribute.

Liste de paramètres

name

Le nom de l'attribut.

value

La valeur de l'attribut.

Exemples

Exemple #1 Création d'un nouvel objet DOMAttr

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML();

?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="iso-8859-1"?>
<root attr="attrvalue" />

Voir aussi

  • DOMDocument::createAttribute - Crée un nouvel attribut

DOMAttr
DOMAttr::isId
DOMAttr


Vérifie si l'attribut est un identifiant défini

DOMAttr::__construct
DOMCharacterData
DOMAttr
PHP Manual

DOMAttr::isId

(PHP 5)

DOMAttr::isId — Vérifie si l'attribut est un identifiant défini

Description

bool DOMAttr::isId ( void )

Cette fonction vérifie si l'attribut est un identifiant défini.

En accord avec le standard DOM, ceci requiert une DTD qui définit l'attribut ID qui est du type ID. Vous devez valider votre document avec la fonction DOMDocument::validate ou la fonction DOMDocument::validateOnParse avant d'utiliser cette fonction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec DOMAttr->isId()

<?php

$doc = new DomDocument;

// Nous devons valider notre document avant de nous référer à l'ID
$doc->validateOnParse = true;
$doc->Load('book.xml');

// Nous récupérons l'attribut nommé id de l'élément chapter
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

DOMAttr::__construct
DOMCharacterData
DOMAttr


La classe DOMCharacterData

Introduction

Représente un noeud contenant des données. Aucun noeud ne correspond à cette classe, mais d'autres noeuds en hérite.

Synopsis de la classe

DOMCharacterData
DOMCharacterData étend DOMNode {
/* Propriétés */
public string $data ;
readonly public int $length ;
/* Méthodes */
void appendData ( string $data )
void deleteData ( int $offset , int $count )
void insertData ( int $offset , string $data )
void replaceData ( int $offset , int $count , string $data )
string substringData ( int $offset , int $count )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

data

Le contenu du noeud.

length

La taille du contenu.

Voir aussi

  • » spécification W3C de CharacterData

Sommaire

  • DOMCharacterData::appendData — Ajoute la chaîne à la fin des données dans le noeud
  • DOMCharacterData::deleteData — Supprime une sous-chaîne dans le noeud
  • DOMCharacterData::insertData — Insère une chaîne à la position spécifiée d'unité 16-bit
  • DOMCharacterData::replaceData — Remplace une sous-chaîne dans le noeud DOMCharacterData
  • DOMCharacterData::substringData — Extrait un morceau de données dans le noeud
DOMAttr::isId
DOMCharacterData::appendData
DOM


Ajoute la chaîne à la fin des données dans le noeud

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData
PHP Manual

DOMCharacterData::appendData

(PHP 5)

DOMCharacterData::appendData — Ajoute la chaîne à la fin des données dans le noeud

Description

void DOMCharacterData::appendData ( string $data )

Ajoute la chaîne data à la fin des données dans le noeud.

Liste de paramètres

data

La chaîne à ajouter.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • DOMCharacterData::deleteData - Supprime une sous-chaîne dans le noeud
  • DOMCharacterData::insertData - Insère une chaîne à la position spécifiée d'unité 16-bit
  • DOMCharacterData::replaceData - Remplace une sous-chaîne dans le noeud DOMCharacterData
  • DOMCharacterData::substringData - Extrait un morceau de données dans le noeud

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData


Supprime une sous-chaîne dans le noeud

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData
PHP Manual

DOMCharacterData::deleteData

(PHP 5)

DOMCharacterData::deleteData — Supprime une sous-chaîne dans le noeud

Description

void DOMCharacterData::deleteData ( int $offset , int $count )

Efface count caractères à partir de la position offset.

Liste de paramètres

offset

La position à partir de laquelle on doit commencer à effacer.

count

Le nombre de caractères à effacer. SI la somme de offset et de count excède la longueur totale de la chaîne, alors tous les caractères jusqu'à la fin de la chaîne seront effacés.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_INDEX_SIZE_ERR

Lancé si offset est négatif ou plus grand que le nombre d'unités 16-bits dans les données ou si count est négatif.

Voir aussi

  • DOMCharacterData::appendData - Ajoute la chaîne à la fin des données dans le noeud
  • DOMCharacterData::insertData - Insère une chaîne à la position spécifiée d'unité 16-bit
  • DOMCharacterData::replaceData - Remplace une sous-chaîne dans le noeud DOMCharacterData
  • DOMCharacterData::substringData - Extrait un morceau de données dans le noeud

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData


Insère une chaîne à la position spécifiée d'unité 16-bit

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData
PHP Manual

DOMCharacterData::insertData

(PHP 5)

DOMCharacterData::insertData — Insère une chaîne à la position spécifiée d'unité 16-bit

Description

void DOMCharacterData::insertData ( int $offset , string $data )

Insère la chaîne data à la position offset.

Liste de paramètres

offset

La position de l'insertion.

data

La chaîne à insérer.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_INDEX_SIZE_ERR

Lancé si offset est négatif ou plus grand que le nombre d'unités 16-bits dans les données.

Voir aussi

  • DOMCharacterData::appendData - Ajoute la chaîne à la fin des données dans le noeud
  • DOMCharacterData::deleteData - Supprime une sous-chaîne dans le noeud
  • DOMCharacterData::replaceData - Remplace une sous-chaîne dans le noeud DOMCharacterData
  • DOMCharacterData::substringData - Extrait un morceau de données dans le noeud

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData


Remplace une sous-chaîne dans le noeud DOMCharacterData

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData
PHP Manual

DOMCharacterData::replaceData

(PHP 5)

DOMCharacterData::replaceData — Remplace une sous-chaîne dans le noeud DOMCharacterData

Description

void DOMCharacterData::replaceData ( int $offset , int $count , string $data )

Remplace count caractères en partant de la position offset par les données data.

Liste de paramètres

offset

La position à partir de laquelle on commence le remplacement.

count

Le nombre de caractères à remplacer. Si la somme de offset et de count excède la longueur totale de la chaîne, alors tous les caractères jusqu'à la fin des données seront remplacés.

data

La chaîne utilisée pour remplacer les caractères sélectionnés.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_INDEX_SIZE_ERR

Lancé si offset est négatif ou plus grand que le nombre d'unités 16-bits dans les données ou si count est négatif.

Voir aussi

  • DOMCharacterData::appendData - Ajoute la chaîne à la fin des données dans le noeud
  • DOMCharacterData::deleteData - Supprime une sous-chaîne dans le noeud
  • DOMCharacterData::insertData - Insère une chaîne à la position spécifiée d'unité 16-bit
  • DOMCharacterData::substringData - Extrait un morceau de données dans le noeud

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData


Extrait un morceau de données dans le noeud

DOMCharacterData::replaceData
DOMComment
DOMCharacterData
PHP Manual

DOMCharacterData::substringData

(PHP 5)

DOMCharacterData::substringData — Extrait un morceau de données dans le noeud

Description

string DOMCharacterData::substringData ( int $offset , int $count )

Retourne la sous-chaîne spécifiée.

Liste de paramètres

offset

La position du début de la chaîne à extraire.

count

Le nombre de caractères à extraire.

Valeurs de retour

La sous-chaîne spécifiée. Si la somme de offset et de count excède la longueur totale de la chaîne, alors toutes les unités 16-bits jusqu'à la fin des données seront retournées.

Erreurs / Exceptions

DOM_INDEX_SIZE_ERR

Lancé si offset est négatif ou plus grand que le nombre d'unités 16-bits dans les données ou si count est négatif.

Voir aussi

  • DOMCharacterData::appendData - Ajoute la chaîne à la fin des données dans le noeud
  • DOMCharacterData::deleteData - Supprime une sous-chaîne dans le noeud
  • DOMCharacterData::insertData - Insère une chaîne à la position spécifiée d'unité 16-bit
  • DOMCharacterData::replaceData - Remplace une sous-chaîne dans le noeud DOMCharacterData

DOMCharacterData::replaceData
DOMComment
DOMCharacterData


La classe DOMComment

Introduction

Représente un noeud de commentaire, délimité par <!-- et -->.

Synopsis de la classe

DOMComment
DOMComment étend DOMCharacterData {
/* Méthodes */
__construct ([ string $value ] )
/* Méthodes héritées */
void DOMCharacterData::appendData ( string $data )
void DOMCharacterData::deleteData ( int $offset , int $count )
void DOMCharacterData::insertData ( int $offset , string $data )
void DOMCharacterData::replaceData ( int $offset , int $count , string $data )
string DOMCharacterData::substringData ( int $offset , int $count )
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Voir aussi

  • » spécification W3C de Comment

Sommaire

  • DOMComment::__construct — Crée un nouvel objet DOMComment
DOMCharacterData::substringData
DOMComment::__construct
DOM


Crée un nouvel objet DOMComment

DOMComment
DOMDocument
DOMComment
PHP Manual

DOMComment::__construct

(PHP 5)

DOMComment::__construct — Crée un nouvel objet DOMComment

Description

DOMComment
__construct ([ string $value ] )

Crée un nouvel objet DOMComment. Cet objet est en lecture seule. Il peut être ajouté à un document, mais les noeuds additionnels ne peuvent pas être ajoutés à ce noeud tant que ce noeud n'est pas associé à un document. Pour créer un noeud accessible en écriture, utilisez DOMDocument::createComment.

Liste de paramètres

value

La valeur du commentaire.

Exemples

Exemple #1 Création d'un nouveau DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

Voir aussi

  • DOMDocument::createComment - Crée un nouveau noeud de commentaire

DOMComment
DOMDocument
DOMComment


La classe DOMDocument

Introduction

Représente un document HTML ou XML entier ; ce sera la racine de l'arbre document.

Synopsis de la classe

DOMDocument
DOMDocument étend DOMNode {
/* Propriétés */
readonly public string $actualEncoding ;
readonly public DOMConfiguration $config ;
readonly public DOMDocumentType $doctype ;
readonly public DOMElement $documentElement ;
public string $documentURI ;
public string $encoding ;
public bool $formatOutput ;
readonly public DOMImplementation $implementation ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
readonly public string $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Méthodes */
__construct ([ string $version [, string $encoding ]] )
DOMAttr createAttribute ( string $name )
DOMAttr createAttributeNS ( string $namespaceURI , string $qualifiedName )
DOMCDATASection createCDATASection ( string $data )
DOMComment createComment ( string $data )
DOMDocumentFragment createDocumentFragment ( void )
DOMElement createElement ( string $name [, string $value ] )
DOMElement createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
DOMEntityReference createEntityReference ( string $name )
DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data ] )
DOMText createTextNode ( string $content )
DOMElement getElementById ( string $elementId )
DOMNodeList getElementsByTagName ( string $name )
DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
DOMNode importNode ( DOMNode $importedNode [, bool $deep ] )
mixed load ( string $filename [, int $options = 0 ] )
bool loadHTML ( string $source )
bool loadHTMLFile ( string $filename )
mixed loadXML ( string $source [, int $options = 0 ] )
void normalizeDocument ( void )
bool registerNodeClass ( string $baseclass , string $extendedclass )
bool relaxNGValidate ( string $filename )
bool relaxNGValidateSource ( string $source )
int save ( string $filename [, int $options ] )
string saveHTML ( void )
int saveHTMLFile ( string $filename )
string saveXML ([ DOMNode $node [, int $options ]] )
bool schemaValidate ( string $filename )
bool schemaValidateSource ( string $source )
bool validate ( void )
int xinclude ([ int $options ] )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

actualEncoding

Obsolète. L'encodage actuel du document, en lecture seule, équivalent àencoding.

config

Obsolète. Configuration utilisée lorsque DOMDocument::normalizeDocument() est appelé.

doctype

Le doctype associé au document.

documentElement

C'est un attribut de convenence, qui permet un accès direct au noeud fils, qui est l'élément document du document.

documentURI

La localisation du document, ou NULL si indéfini.

encoding

L'encodage du document, tel que spécifié par la déclaration XML. Cet attribut n'est pas présent dans la spécification DOM Level 3 finale, mais représente la seule façon de manipuler l'encodage du document XML dans cette implémentation.

formatOutput

Formate la sortie avec une jolie indentation et des espaces supplémentaires.

implementation

L'objet DOMImplementation qui gère ce document.

preserveWhiteSpace

Ne pas supprimer les espaces redondants. Vaut par défaut TRUE.

recover

Propriétaire. Active le mode "recovery", i.e. tente d'analyser un document mal formé. Cet attribut ne fait pas parti de la spécification DOM et est spécifique à libxml.

resolveExternals

Définissez-le à TRUE pour charger des entités externes depuis la déclaration doctype. C'est utile pour inclure des entités dans vos documents XML.

standalone

Obsolète. Si le document est "standalone", ou non, tel que spécifié par la déclaration XML, correspondant à xmlStandalone.

strictErrorChecking

Lance une DOMException en cas d'erreur. Par défaut, vaut TRUE.

substituteEntities

Propriétaire. Si l'on doit ou non substituer les entités. Cet attribut ne fait pas parti de la spécification DOM et est spécifique à libxml.

validateOnParse

Charge et valide la DTD. Par défaut, vaut FALSE.

version

Obsolète. Version du XML, correspond à xmlVersion

xmlEncoding

Un attribut spécifiant l'encodage du document. Il vaut NULL lorsque l'encodage n'est pas spécifié, ou lorsqu'il est inconnu, comme c'est le cas lorsque le document a été créé en mémoire.

xmlStandalone

Un attribut spécifiant si le document est "standalone". Il vaut FALSE lorsque non spécifié.

xmlVersion

Un attribut spécifiant le numéro de version du document. S'il n'y a pas de déclaration et si le document supporte la fonctionnalité "XML", la valeur sera "1.0".

Voir aussi

  • » spécification W3C de Document

Sommaire

  • DOMDocument::__construct — Crée un nouvel objet DOMDocument
  • DOMDocument::createAttribute — Crée un nouvel attribut
  • DOMDocument::createAttributeNS — Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection — Crée un nouveau noeud cdata
  • DOMDocument::createComment — Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment — Crée un nouveau fragment de document
  • DOMDocument::createElement — Crée un nouveau noeud
  • DOMDocument::createElementNS — Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference — Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction — Crée un nouveau noeud PI
  • DOMDocument::createTextNode — Crée un nouveau noeud de texte
  • DOMDocument::getElementById — Cherche un élément avec un certain identifiant
  • DOMDocument::getElementsByTagName — Cherche tous les éléments qui ont le nom de balise donné
  • DOMDocument::getElementsByTagNameNS — Recherche tous les éléments avec un nom de balise donné dans un espace de noms spécifié
  • DOMDocument::importNode — Importe un noeud dans le document courant
  • DOMDocument::load — Charge du XML depuis un fichier
  • DOMDocument::loadHTML — Charge du code HTML à partir d'une chaîne de caractères
  • DOMDocument::loadHTMLFile — Charge du HTML à partir d'un fichier
  • DOMDocument::loadXML — Charge du XML depuis une chaîne de caractères
  • DOMDocument::normalizeDocument — Normalise le document
  • DOMDocument::registerNodeClass — Enregistre la classe étendue utilisée pour créer un type de base de noeud
  • DOMDocument::relaxNGValidate — Effectue une validation relaxNG sur le document
  • DOMDocument::relaxNGValidateSource — Effectue une validation relaxNG sur le document
  • DOMDocument::save — Sauvegarde l'arbre interne XML dans un fichier
  • DOMDocument::saveHTML — Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML
  • DOMDocument::saveHTMLFile — Sauvegarde un document interne dans un fichier en utilisant un formatage HTML
  • DOMDocument::saveXML — Sauvegarde l'arbre interne XML dans une chaîne de caractères
  • DOMDocument::schemaValidate — Valide un document selon un schéma
  • DOMDocument::schemaValidateSource — Valide un document selon un schéma
  • DOMDocument::validate — Valide un document en se basant sur sa DTD
  • DOMDocument::xinclude — Remplace les XIncludes dans un objet DOMDocument
DOMComment::__construct
DOMDocument::__construct
DOM


Crée un nouvel objet DOMDocument

DOMDocument
DOMDocument::createAttribute
DOMDocument
PHP Manual

DOMDocument::__construct

(PHP 5)

DOMDocument::__construct — Crée un nouvel objet DOMDocument

Description

DOMDocument::__construct ([ string $version [, string $encoding ]] )

Crée un nouvel objet DOMDocument.

Liste de paramètres

version

Le numéro de version du document en tant que partie de la déclaration XML.

encoding

L'encodage du document en tant que partie de la déclaration XML.

Exemples

Exemple #1 Création d'un nouveau DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Voir aussi

  • DOMImplementation::createDocument - Crée un objet DOM Document du type spécifié avec ses éléments

DOMDocument
DOMDocument::createAttribute
DOMDocument


Crée un nouvel attribut

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument
PHP Manual

DOMDocument::createAttribute

(PHP 5)

DOMDocument::createAttribute — Crée un nouvel attribut

Description

DOMAttr DOMDocument::createAttribute ( string $name )

Cette fonction crée une nouvelle instance de la classe DOMAttr. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Le nouveau DOMAttr ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_INVALID_CHARACTER_ERR

Émise si name contient un caractère invalide.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument


Crée un nouvel attribut avec un espace de noms associé

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument
PHP Manual

DOMDocument::createAttributeNS

(PHP 5)

DOMDocument::createAttributeNS — Crée un nouvel attribut avec un espace de noms associé

Description

DOMAttr DOMDocument::createAttributeNS ( string $namespaceURI , string $qualifiedName )

Cette fonction crée une nouvelle instance de la classe DOMAttr. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

qualifiedName

Le nom de la balise et le préfixe de l'attribut, sous cette forme : préfixe:nomBalise.

Valeurs de retour

Le nouveau DOMAttr ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_INVALID_CHARACTER_ERR

Lancé si qualifiedName contient un caractère invalide.

DOM_NAMESPACE_ERR

Lancé si qualifiedName est un nom qualifié malformé ou si qualifiedName a un suffixe et que namespaceURI est NULL.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument


Crée un nouveau noeud cdata

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument
PHP Manual

DOMDocument::createCDATASection

(PHP 5)

DOMDocument::createCDATASection — Crée un nouveau noeud cdata

Description

DOMCDATASection DOMDocument::createCDATASection ( string $data )

Cette fonction crée une nouvelle instance de la classe DOMCDATASection. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

data

Le contenu du cdata.

Valeurs de retour

Le nouveau DOMCDATASection ou FALSE si une erreur survient.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument


Crée un nouveau noeud de commentaire

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument
PHP Manual

DOMDocument::createComment

(PHP 5)

DOMDocument::createComment — Crée un nouveau noeud de commentaire

Description

DOMComment DOMDocument::createComment ( string $data )

Cette fonction crée une nouvelle instance de la classe DOMComment. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

data

Le contenu du commentaire.

Valeurs de retour

Le nouveau DOMComment ou FALSE si une erreur survient.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument


Crée un nouveau fragment de document

DOMDocument::createComment
DOMDocument::createElement
DOMDocument
PHP Manual

DOMDocument::createDocumentFragment

(PHP 5)

DOMDocument::createDocumentFragment — Crée un nouveau fragment de document

Description

DOMDocumentFragment DOMDocument::createDocumentFragment ( void )

Cette fonction crée une nouvelle instance de la classe DOMDocumentFragment. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Valeurs de retour

Le nouveau DOMDocumentFragment ou FALSE si une erreur survient.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createComment
DOMDocument::createElement
DOMDocument


Crée un nouveau noeud

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument
PHP Manual

DOMDocument::createElement

(PHP 5)

DOMDocument::createElement — Crée un nouveau noeud

Description

DOMElement DOMDocument::createElement ( string $name [, string $value ] )

Cette fonction crée une nouvelle instance de la classe DOMElement. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

name

Le nom du tag de l'élément.

value

La valeur de l'élément. Par défaut, un élément vide sera créé. La valeur peut également être définie plus tard avec la fonction DOMElement->nodeValue.

Valeurs de retour

Retourne une nouvelle instance de la classe DOMElement ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_INVALID_CHARACTER_ERR

Lancé si name contient un caractère invalide.

Exemples

Exemple #1 Création d'un nouvel élément et insertion en tant que racine

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElement('test', 'Ceci est l\'élément racine !');

// Nous insérons le nouvel élément en tant que racine (enfant du document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="iso-8859-1"?>
<test>Ceci est l'élément racine !</test>

Notes

Note: La valeur value ne sera pas échappée. Utilisez la méthode DOMDocument::createTextNode pour créer un nœud de texte avec le support de l'échappement.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument


Crée un nouveau noeud avec un espace de noms associé

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual

DOMDocument::createElementNS

(PHP 5)

DOMDocument::createElementNS — Crée un nouveau noeud avec un espace de noms associé

Description

DOMElement DOMDocument::createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )

Cette fonction crée un nouveau noeud avec un espace de noms associé. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

qualifiedName

Le nom qualifié de l'élément, en tant que préfixe:nomBalise.

value

La valeur de l'élément. Par défaut, un élément vide sera créé. Vous pouvez également définir la valeur plus tard en utilisant la fonction DOMElement->nodeValue.

Valeurs de retour

Un nouveau DOMElement ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_INVALID_CHARACTER_ERR

Lancé si qualifiedName contient un caractère invalide.

DOM_NAMESPACE_ERR

Lancé si qualifiedName est un nom qualifié malformé.

Exemples

Exemple #1 Création d'un nouvel élément et insertion en tant que racine

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'Ceci est l\'élément racine !');

// Nous insérons le nouvel élément en tant que racine (fils du document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="iso-8859-1"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">Ceci est l'élément racine !</xfoo:test>

Exemple #2 Un exemple avec un espace de noms en préfixe

<?php
$doc  = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);

echo $doc->saveXML(), "\n";

echo $item->namespaceURI, "\n"; // Affiche : http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Affiche : g
echo $item->localName, "\n";    // Affiche : item_type
?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
  <g:item_type>house</g:item_type>
</element>

http://base.google.com/ns/1.0
g
item_type

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument


Crée un nouveau noeud de référence d'entité

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument
PHP Manual

DOMDocument::createEntityReference

(PHP 5)

DOMDocument::createEntityReference — Crée un nouveau noeud de référence d'entité

Description

DOMEntityReference DOMDocument::createEntityReference ( string $name )

Cette fonction crée une nouvelle instance de la classe DOMEntityReference. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

name

Le contenu de la référence de l'entité, e.g. la référence de l'entité sans le & initial et le ; final.

Valeurs de retour

Le nouveau DOMEntityReference ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_INVALID_CHARACTER_ERR

Emise si name contient un caractère invalide.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument


Crée un nouveau noeud PI

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument
PHP Manual

DOMDocument::createProcessingInstruction

(PHP 5)

DOMDocument::createProcessingInstruction — Crée un nouveau noeud PI

Description

DOMProcessingInstruction DOMDocument::createProcessingInstruction ( string $target [, string $data ] )

Cette fonction crée une nouvelle instance de la classe DOMProcessingInstruction. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

target

La cible de l'instruction gérée.

data

Le contenu de l'instruction gérée.

Valeurs de retour

Le nouveau DOMProcessingInstruction ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_INVALID_CHARACTER_ERR

Emise si target contient un caractère invalide.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument


Crée un nouveau noeud de texte

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument
PHP Manual

DOMDocument::createTextNode

(PHP 5)

DOMDocument::createTextNode — Crée un nouveau noeud de texte

Description

DOMText DOMDocument::createTextNode ( string $content )

Cette fonction crée une nouvelle instance de la classe DOMText. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().

Liste de paramètres

content

Le contenu du texte.

Valeurs de retour

Un nouveau DOMText ou FALSE si une erreur survient.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMDocument::createAttribute - Crée un nouvel attribut
  • DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
  • DOMDocument::createCDATASection - Crée un nouveau noeud cdata
  • DOMDocument::createComment - Crée un nouveau noeud de commentaire
  • DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument


Cherche un élément avec un certain identifiant

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument
PHP Manual

DOMDocument::getElementById

(PHP 5)

DOMDocument::getElementById — Cherche un élément avec un certain identifiant

Description

DOMElement DOMDocument::getElementById ( string $elementId )

Cette fonction est similaire à la fonction DOMDocument::getElementsByTagName mais cherche un élément avec un identifiant donné.

Pour que cette fonction fonctionne, vous devez soit définir les attributs ID avec DOMElement::setIdAttribute ou définir une DTD qui définit un attribut devant être de type ID. Dans le dernier cas, vous devez valider votre document avec DOMDocument::validate ou DOMDocument::validateOnParse avant d'utiliser cette fonction.

Liste de paramètres

elementId

La valeur de l'identifiant unique pour un élément.

Valeurs de retour

Retourne un DOMElement ou NULL si l'élément n'est pas trouvé.

Exemples

Exemple #1 Exemple avec DOMDocument->getElementById()

<?php

$doc = new DomDocument;

// Nous devons valider notre document avant de nous référer à l'ID
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "L'élément dont l'ID est 'book' est : " . $doc->getElementById('books')->tagName . "\n";

?>

L'exemple ci-dessus va afficher :

L'élément dont l'ID est 'book' est : chapter

Voir aussi

  • DOMDocument::getElementsByTagName - Cherche tous les éléments qui ont le nom de balise donné

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument


Cherche tous les éléments qui ont le nom de balise donné

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument
PHP Manual

DOMDocument::getElementsByTagName

(PHP 5)

DOMDocument::getElementsByTagName — Cherche tous les éléments qui ont le nom de balise donné

Description

DOMNodeList DOMDocument::getElementsByTagName ( string $name )

Cette fonction retourne une instance de la classe DOMNodeList contenant les éléments qui ont un nom de balise donné.

Liste de paramètres

name

Le nom de la balise à chercher. La valeur spéciale * correspond à toutes les balises.

Valeurs de retour

Un nouvel objet DOMNodeList contenant tous les éléments correspondants.

Voir aussi

  • DOMDocument::getElementsByTagNameNS - Recherche tous les éléments avec un nom de balise donné dans un espace de noms spécifié

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument


Recherche tous les éléments avec un nom de balise donné dans un espace de noms spécifié

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument
PHP Manual

DOMDocument::getElementsByTagNameNS

(PHP 5)

DOMDocument::getElementsByTagNameNS — Recherche tous les éléments avec un nom de balise donné dans un espace de noms spécifié

Description

DOMNodeList DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Retourne un DOMNodeList de tous les éléments avec un nom local donné et une URI d'espace de noms.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms des éléments à chercher. La valeur spéciale * représente tous les espaces de noms.

localName

Le nom local des éléments à chercher. La valeur spéciale * représente tous les noms locaux.

Valeurs de retour

Un nouvel objet DOMNodeList contenant tous les éléments trouvés.

Exemples

Exemple #1 Récupération de tous les éléments XInclude

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

L'exemple ci-dessus va afficher :

local name: include, prefix: xi
local name: fallback, prefix: xi

Voir aussi

  • DOMDocument::getElementsByTagName - Cherche tous les éléments qui ont le nom de balise donné

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument


Importe un noeud dans le document courant

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument
PHP Manual

DOMDocument::importNode

(PHP 5)

DOMDocument::importNode — Importe un noeud dans le document courant

Description

DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )

Cette fonction retourne une copie du noeud à importer et l'associe avec le document courant.

Liste de paramètres

importedNode

Le noeud à importer.

deep

Si défini à TRUE, cette méthode importera récursivement le sous-arbre situé sous le noeud importedNode.

Note: Pour copier les attributs des noeuds, le paramètre deep doit être défini à TRUE

Valeurs de retour

Le noeud copié ou FALSE si la copie a échouée.

Erreurs / Exceptions

DOMException est lancé si le noeud ne peut pas être importé.

Exemples

Exemple #1 Exemple avec DOMDocument::importNode()

Copie de noeuds entre plusieurs documents.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>Texte dans un fils</child></element></root>");

// Le noeud que nous voulons importer dans le nouveau document
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Création du nouveau document
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Ajout de quelques balises
$newdoc->loadXML("<root><someelement>Texte dans un élément</someelement></root>");

echo "Le nouveau document avant d'y copier le noeud :\n";
echo $newdoc->saveXML();

// Importation du noeud, ainsi que tous ses files, dans le document
$node = $newdoc->importNode($node, true);
// Et on l'ajoute dans le le noeud racine "<root>"
$newdoc->documentElement->appendChild($node);

echo "\nLe nouveau document après y avoir copié les noeuds :\n";
echo $newdoc->saveXML();
?>

L'exemple ci-dessus va afficher :

Le nouveau document avant d'y copier le noeud :
<?xml version="1.0"?>
<root>
  <someelement>Texte dans un élément</someelement>
</root>

Le nouveau document après y avoir copié les noeuds :
<?xml version="1.0"?>
<root>
  <someelement>Texte dans un élément</someelement>
  <element>
    <child>Texte dans un fils</child>
  </element>
</root>

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument


Charge du XML depuis un fichier

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument
PHP Manual

DOMDocument::load

(PHP 5)

DOMDocument::load — Charge du XML depuis un fichier

Description

mixed DOMDocument::load ( string $filename [, int $options = 0 ] )

Charge un document XML depuis un fichier.

Avertissement

Les chemins de style Unix avec des antislash peuvent conduire à des réductions de performance sous les systèmes Windows ; assurez-vous d'appeler la fonction realpath().

Liste de paramètres

filename

Le chemin vers le document XML.

options

L'opérateur OR des constantes de libxml.constants.html.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si appelé statiquement, retourne un DOMDocument mais une alerte de type E_STRICT sera émise.

Erreurs / Exceptions

Si une chaîne vide est passée comme paramètre filename ou si le fichier est vide, une alerte sera générée. Cette alerte n'est pas générée par libxml, et ne peut être gérée en utilisant les fonctions de gestion d'erreur de libxml.

Exemples

Exemple #1 Création d'un Document

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Voir aussi

  • DOMDocument::loadXML - Charge du XML depuis une chaîne de caractères
  • DOMDocument::save - Sauvegarde l'arbre interne XML dans un fichier
  • DOMDocument::saveXML - Sauvegarde l'arbre interne XML dans une chaîne de caractères

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument


Charge du code HTML à partir d'une chaîne de caractères

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument
PHP Manual

DOMDocument::loadHTML

(PHP 5)

DOMDocument::loadHTML — Charge du code HTML à partir d'une chaîne de caractères

Description

bool DOMDocument::loadHTML ( string $source )

Cette fonction analyse un document HTML contenu dans la chaîne source. Contrairement au XML, le HTML n'a pas besoin d'être bien formé pour être chargé. Cette fonction peut aussi être appelée statiquement pour charger et créer un objet DOMDocument. L'appel statique peut être utilisé lorsque vous n'avez besoin de configurer aucune propriété de DOMDocument avant le chargement.

Liste de paramètres

source

La chaîne HTML.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si appelé statiquement, retourne un DOMDocument mais une alerte de type E_STRICT sera émise.

Erreurs / Exceptions

Si une chaîne vide est passée comme paramètre source, une alerte sera générée. Cette alerte n'est pas générée par libxml, et ne peut être gérée en utilisant les fonctions de gestion d'erreur de libxml.

Exemples

Exemple #1 Création d'un document

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Voir aussi

  • DOMDocument::loadHTMLFile - Charge du HTML à partir d'un fichier
  • DOMDocument::saveHTML - Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML
  • DOMDocument::saveHTMLFile - Sauvegarde un document interne dans un fichier en utilisant un formatage HTML

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument


Charge du HTML à partir d'un fichier

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument
PHP Manual

DOMDocument::loadHTMLFile

(PHP 5)

DOMDocument::loadHTMLFile — Charge du HTML à partir d'un fichier

Description

bool DOMDocument::loadHTMLFile ( string $filename )

Cette fonction analyse un document HTML contenu dans le fichier filename. Contrairement au XML, le HTML n'a pas besoin d'être bien formé pour être chargé.

Bien que non recommandé, cette fonction peut aussi être appelée statiquement pour charger et créer un objet DOMDocument. L'appel statique peut être utilisé lorsque vous n'avez besoin de configurer aucune propriété de DOMDocument avant le chargement. Cependant, le fait d'utiliser un appel statique résultera en l'émission d'une alerte de type E_STRICT.

Liste de paramètres

filename

Le chemin vers le fichier HTML.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si appelé stétiquement, retourne un DOMDocument et émet une alerte de type E_STRICT.

Erreurs / Exceptions

Si une chaîne vide est passée comme paramètre filename ou que le fichier est vide, une alerte sera générée. Cette alerte n'est pas générée par libxml, et ne peut être gérée en utilisant les fonctions de gestion d'erreur de libxml.

Exemples

Exemple #1 Création d'un document

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Voir aussi

  • DOMDocument::loadHTML - Charge du code HTML à partir d'une chaîne de caractères
  • DOMDocument::saveHTML - Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML
  • DOMDocument::saveHTMLFile - Sauvegarde un document interne dans un fichier en utilisant un formatage HTML

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument


Charge du XML depuis une chaîne de caractères

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument
PHP Manual

DOMDocument::loadXML

(PHP 5)

DOMDocument::loadXML — Charge du XML depuis une chaîne de caractères

Description

mixed DOMDocument::loadXML ( string $source [, int $options = 0 ] )

Charge un document XML depuis une chaîne de caractères.

Cette méthode peut être appelée statiquement pour charger et créer un objet DOMDocument. L'invocation statique peut être utilisée lorsque aucune propriété de la classe DOMDocument n'a besoin d'être définie avant le chargement.

Liste de paramètres

source

La chaîne de caractères contenant le XML.

options

L'opérateur OR des constantes libxml.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si appelé statiquement, retourne un DOMDocument et émet une alerte de type E_STRICT.

Erreurs / Exceptions

Si une chaîne vide est passée comme paramètre source, une alerte sera générée. Cette alerte n'est pas générée par libxml, et ne peut être gérée en utilisant les fonctions de gestion d'erreur de libxml.

Exemples

Exemple #1 Création d'un Document

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Exemple #2 Invocation statique de loadXML

<?php
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Voir aussi

  • DOMDocument::load - Charge du XML depuis un fichier
  • DOMDocument::save - Sauvegarde l'arbre interne XML dans un fichier
  • DOMDocument::saveXML - Sauvegarde l'arbre interne XML dans une chaîne de caractères

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument


Normalise le document

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument
PHP Manual

DOMDocument::normalizeDocument

(PHP 5)

DOMDocument::normalizeDocument — Normalise le document

Description

void DOMDocument::normalizeDocument ( void )

Cette méthode fonctionne comme si vous sauvegardiez le document puis vous le chargiez de nouveau, rendant le document sous une forme "normale".

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • » La spécification DOM
  • DOMNode::normalize - Normalise le noeud

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument


Enregistre la classe étendue utilisée pour créer un type de base de noeud

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument
PHP Manual

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0)

DOMDocument::registerNodeClass — Enregistre la classe étendue utilisée pour créer un type de base de noeud

Description

bool DOMDocument::registerNodeClass ( string $baseclass , string $extendedclass )

Cette méthode vous permet d'enregistrer votre propre classe étendue DOM à utiliser ensuite dans l'extension DOM de PHP.

Cette méthode ne fait pas partie du standard DOM.

Liste de paramètres

baseclass

La classe DOM qui vous voulez étendre. Vous pouvez trouver une liste de ces classes dans l'introduction du chapitre.

extendedclass

Le nom de votre classe étendue. Si la valeur NULL est fournie, toutes les classes enregistrées précédemment étendant baseclass seront supprimées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
PHP 5.2.2 | Avant la version 5.2.2, une classe extendedclass précédemment enregistrée devait être supprimées avant de pouvoir en enregistrer une nouvelle étendant la même classe baseclass.

Exemples

Exemple #1 Ajout d'un nouvelle méthode à DOMElement

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// À partir d'ici, l'ajout d'un élément à un autre se fait en un seul appel !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

L'exemple ci-dessus va afficher :

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Exemple #2 Récupération d'éléments sous la forme d'une classe personnalisée

<?php
class myElement extends DOMElement {
    public function __toString() {
        return $this->nodeValue;
    }
}

$doc = new DOMDocument;
$doc->loadXML("<root><element><child>Text dans un fils</child></element></root>");
$doc->registerNodeClass("DOMElement", "myElement");

$element = $doc->getElementsByTagName("child")->item(0);
var_dump(get_class($element));

// Et utilisons les avantages de la méthode __toString..
echo $element;
?>

L'exemple ci-dessus va afficher :

string(9) "myElement"
Text dans un fils

Exemple #3 Récupération du propriétaire du document

Lors de l'instanciation d'un DOMDocument personnalisé, la propriété ownerDocument se réfère à la classe instanciée, signifiant qu'il n'est pas nécessaire (et en fait, par possible) d'utiliser DOMDocument::registerNodeClass() avec DOMDocument

<?php
class myDOMDocument extends DOMDocument {
}

class myOtherDOMDocument extends DOMDocument {
}

// Création d'un document myDOMDocument avec quelques fragments XML
$doc = new myDOMDocument;
$doc->loadXML("<root><element><child>texte dans un fils</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// Le propriétaire courant du noeud est myDOMDocument
var_dump(get_class($child->ownerDocument));

// Importation d'un noeud depuis myDOMDocument
$newdoc = new myOtherDOMDocument;
$child = $newdoc->importNode($child);

// Le nouveau propriétaire du noeud a changé en myOtherDOMDocument
var_dump(get_class($child->ownerDocument));
?>

L'exemple ci-dessus va afficher :

string(13) "myDOMDocument"
string(18) "myOtherDOMDocument"

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument


Effectue une validation relaxNG sur le document

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument
PHP Manual

DOMDocument::relaxNGValidate

(PHP 5)

DOMDocument::relaxNGValidate — Effectue une validation relaxNG sur le document

Description

bool DOMDocument::relaxNGValidate ( string $filename )

Effectue une validation » relaxNG sur le document selon le schéma RNG défini par filename.

Liste de paramètres

filename

Le fichier RNG.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMDocument::relaxNGValidateSource - Effectue une validation relaxNG sur le document
  • DOMDocument::schemaValidate - Valide un document selon un schéma
  • DOMDocument::schemaValidateSource - Valide un document selon un schéma
  • DOMDocument::validate - Valide un document en se basant sur sa DTD

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument


Effectue une validation relaxNG sur le document

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument
PHP Manual

DOMDocument::relaxNGValidateSource

(PHP 5)

DOMDocument::relaxNGValidateSource — Effectue une validation relaxNG sur le document

Description

bool DOMDocument::relaxNGValidateSource ( string $source )

Effectue une validation » relaxNG sur le document selon le schéma RNG défini dans la chaîne source.

Liste de paramètres

source

Une chaîne contenant le schéma RNG.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMDocument::relaxNGValidate - Effectue une validation relaxNG sur le document
  • DOMDocument::schemaValidate - Valide un document selon un schéma
  • DOMDocument::schemaValidateSource - Valide un document selon un schéma
  • DOMDocument::validate - Valide un document en se basant sur sa DTD

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument


Sauvegarde l'arbre interne XML dans un fichier

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument
PHP Manual

DOMDocument::save

(PHP 5)

DOMDocument::save — Sauvegarde l'arbre interne XML dans un fichier

Description

int DOMDocument::save ( string $filename [, int $options ] )

Crée un document XML depuis la représentation DOM. Cette fonction est habituellement appelée après la construction d'un nouveau document DOM, comme dans l'exemple ci-dessous.

Liste de paramètres

filename

Le chemin où sera sauvegardé le document XML.

options

Options additionnelles. Actuellement, seul LIBXML_NOEMPTYTAG est supporté.

Valeurs de retour

Retourne le nombre d'octets écrit ou FALSE si une erreur survient.

Historique

Version | Description
5.1.0 | Ajout du paramètre options

Exemples

Exemple #1 Sauvegarde d'un arbre DOM dans un fichier

<?php

$doc = new DOMDocument('1.0');
// nous voulons un bel affichage
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Écrit : ' . $doc->save("/tmp/test.xml") . ' bytes'; // Écrit : 72 bytes

?>

Voir aussi

  • DOMDocument::save
  • DOMDocument::load - Charge du XML depuis un fichier
  • DOMDocument::loadXML - Charge du XML depuis une chaîne de caractères

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument


Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument
PHP Manual

DOMDocument::saveHTML

(PHP 5)

DOMDocument::saveHTML — Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML

Description

string DOMDocument::saveHTML ( void )

Crée un document HTML depuis une représentation DOM. Cette fonction est habituellement appelée après la construction d'un tout nouveau document DOM, comme dans l'exemple ci-dessous.

Valeurs de retour

Retourne le code HTML ou FALSE si une erreur survient.

Exemples

Exemple #1 Sauvegarde d'un arbre HTML dans une chaîne de caractères

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('Ceci est le titre');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Voir aussi

  • DOMDocument::saveHTML
  • DOMDocument::loadHTML - Charge du code HTML à partir d'une chaîne de caractères
  • DOMDocument::loadHTMLFile - Charge du HTML à partir d'un fichier

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument


Sauvegarde un document interne dans un fichier en utilisant un formatage HTML

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument
PHP Manual

DOMDocument::saveHTMLFile

(PHP 5)

DOMDocument::saveHTMLFile — Sauvegarde un document interne dans un fichier en utilisant un formatage HTML

Description

int DOMDocument::saveHTMLFile ( string $filename )

Crée un document HTML depuis une représentation DOM. Cette fonction est habituellement appelée après la construction d'un tout nouveau document DOM, comme dans l'exemple ci-dessous.

Liste de paramètres

filename

Le chemin où l'on doit sauvegarder le document HTML.

Valeurs de retour

Retourne le nombre d'octets écrit ou FALSE si une erreur survient.

Exemples

Exemple #1 Sauvegarde d'un arbre HTML dans un fichier

<?php

$doc = new DOMDocument('1.0');
// nous voulons un joli affichage
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('Ceci est le titre');
$text = $title->appendChild($text);

echo 'Écrit : ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Écrit : 129 bytes

?>

Voir aussi

  • DOMDocument::saveHTML - Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML
  • DOMDocument::loadHTML - Charge du code HTML à partir d'une chaîne de caractères
  • DOMDocument::loadHTMLFile - Charge du HTML à partir d'un fichier

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument


Sauvegarde l'arbre interne XML dans une chaîne de caractères

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument
PHP Manual

DOMDocument::saveXML

(PHP 5)

DOMDocument::saveXML — Sauvegarde l'arbre interne XML dans une chaîne de caractères

Description

string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] )

Crée un document XML depuis la représentation DOM. Cette fonction est habituellement appelée après la création d'un tout nouveau document DOM, comme dans l'exemple ci-dessous.

Liste de paramètres

node

Utilisez ce paramètre pour afficher uniquement un noeud spécifique sans déclaration XML plutôt que la totalité du document.

options

Options additionnelles. Actuellement, seul LIBXML_NOEMPTYTAG est supporté.

Valeurs de retour

Retourne le XML ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_WRONG_DOCUMENT_ERR

Lancé si node est issu d'un autre document.

Historique

Version | Description
5.1.0 | Ajout du paramètre options

Exemples

Exemple #1 Sauvegarde de l'arbre DOM dans une chaîne de caractères

<?php

$doc = new DOMDocument('1.0');
// nous voulons un joli affichage
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('Ceci est le titre');
$text = $title->appendChild($text);

echo "Récupération de tout le document :\n";
echo $doc->saveXML() . "\n";

echo "Récupération du titre, uniquement :\n";
echo $doc->saveXML($title);

?>

L'exemple ci-dessus va afficher :

Récupération de tout le document :
<?xml version="1.0"?>
<book>
  <title>Ceci est le titre</title>
</book>

Récupération du titre, uniquement :
<title>Ceci est le titre</title>

Voir aussi

  • DOMDocument::save - Sauvegarde l'arbre interne XML dans un fichier
  • DOMDocument::load - Charge du XML depuis un fichier
  • DOMDocument::loadXML - Charge du XML depuis une chaîne de caractères

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument


Valide un document selon un schéma

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument
PHP Manual

DOMDocument::schemaValidate

(PHP 5)

DOMDocument::schemaValidate — Valide un document selon un schéma

Description

bool DOMDocument::schemaValidate ( string $filename )

Valide un document selon un schéma contenu dans un fichier donné.

Liste de paramètres

filename

Le chemin vers le fichier contenant le schéma.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMDocument::schemaValidateSource - Valide un document selon un schéma
  • DOMDocument::relaxNGValidate - Effectue une validation relaxNG sur le document
  • DOMDocument::relaxNGValidateSource - Effectue une validation relaxNG sur le document
  • DOMDocument::validate - Valide un document en se basant sur sa DTD

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument


Valide un document selon un schéma

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument
PHP Manual

DOMDocument::schemaValidateSource

(PHP 5)

DOMDocument::schemaValidateSource — Valide un document selon un schéma

Description

bool DOMDocument::schemaValidateSource ( string $source )

Valide un document selon le schéma défini dans la chaîne donnée.

Liste de paramètres

source

Une chaîne contenant le schéma.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMDocument::schemaValidate - Valide un document selon un schéma
  • DOMDocument::relaxNGValidate - Effectue une validation relaxNG sur le document
  • DOMDocument::relaxNGValidateSource - Effectue une validation relaxNG sur le document
  • DOMDocument::validate - Valide un document en se basant sur sa DTD

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument


Valide un document en se basant sur sa DTD

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument
PHP Manual

DOMDocument::validate

(PHP 5)

DOMDocument::validate — Valide un document en se basant sur sa DTD

Description

bool DOMDocument::validate ( void )

Valide un document en se basant sur sa DTD.

Vous pouvez utiliser la propriété validateOnParse de la classe DOMDocument pour effectuer une validation DTD.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si le document n'a aucune DTD d'attachée, cette méthode retournera FALSE.

Exemples

Exemple #1 Exemple de validation DTD

<?php
$dom = new DOMDocument;
$dom->Load('book.xml');
if ($dom->validate()) {
    echo "Ce document est valide !\n";
}
?>

Vous pouvez également valider votre fichier XML en le chargeant :

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->Load('book.xml');
?>

Voir aussi

  • DOMDocument::schemaValidate - Valide un document selon un schéma
  • DOMDocument::schemaValidateSource - Valide un document selon un schéma
  • DOMDocument::relaxNGValidate - Effectue une validation relaxNG sur le document
  • DOMDocument::relaxNGValidateSource - Effectue une validation relaxNG sur le document

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument


Remplace les XIncludes dans un objet DOMDocument

DOMDocument::validate
DOMDocumentFragment
DOMDocument
PHP Manual

DOMDocument::xinclude

(PHP 5)

DOMDocument::xinclude — Remplace les XIncludes dans un objet DOMDocument

Description

int DOMDocument::xinclude ([ int $options ] )

Cette méthode remplace les » XIncludes dans un objet DOMDocument.

Note: Vu que la bibliothèque libxml2 résout automatiquement les entités, cette méthode peut produire des résultats non attendus si le fichier XML inclus a une DTD d'attachée.

Liste de paramètres

options

paramètres Libxml. Disponible depuis PHP 5.1.0 et Libxml 2.6.7.

Valeurs de retour

Retourne le nombre de XIncludes du document, -1 si une erreur survient lors du processus, ou FALSE s'il n'y a aucune substitution.

Exemples

Exemple #1 Exemple avec DOMDocument->xinclude()

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Les livres d'une autre personne</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml n'a pas été trouvé</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// Nous voulons un joli affichage
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// chargement de la chaîne XML définie ci-dessus
$dom->loadXML($xml);

// remplacement des xincludes
$dom->xinclude();

echo $dom->saveXML();

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Les livres d'une autre personne</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>

DOMDocument::validate
DOMDocumentFragment
DOMDocument


La classe DOMDocumentFragment

Synopsis de la classe

DOMDocumentFragment
DOMDocumentFragment étend DOMNode {
/* Propriétés */
/* Méthodes */
bool appendXML ( string $data )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Sommaire

  • DOMDocumentFragment::appendXML — Ajoute des données XML
DOMDocument::xinclude
DOMDocumentFragment::appendXML
DOM


Ajoute des données XML

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment
PHP Manual

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0)

DOMDocumentFragment::appendXML — Ajoute des données XML

Description

bool DOMDocumentFragment::appendXML ( string $data )

Ajoute des données XML brutes à un DOMDocumentFragment.

Cette méthode ne fait pas partie du standard DOM. Elle a été créée pour simplifier l'ajout d'un fragment XML dans un DOMDocument.

Si vous voulez respecter les standards, vous devez créer un DOMDocument temporaire avec une racine et parcourir les noeuds enfants de vos données XML pour les ajouter.

Liste de paramètres

data

XML à ajouter.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout de données XML à votre document

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

L'exemple ci-dessus va afficher :

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment


La classe DOMDocumentType

Introduction

Chaque DOMDocument a un attribut doctype dont la valeur est soit NULL, soit un objet DOMDocumentType.

Synopsis de la classe

DOMDocumentType
DOMDocumentType étend DOMNode {
/* Propriétés */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $name ;
readonly public DOMNamedNodeMap $entities ;
readonly public DOMNamedNodeMap $notations ;
readonly public string $internalSubset ;
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

publicId

L'identifiant public du subset externe.

systemId

L'identifiant système du subset externe. Ce peut être une URL absolue ou non.

name

Le nom de la DTD ; i.e., le nom suivant immédiatement le mot clé DOCTYPE.

entities

Un DOMNamedNodeMap contenant l'entité général, à la fois externe et interne, déclaré dans la DTD.

notations

Un DOMNamedNodeMap contenant les notations, déclarées dans la DTD.

internalSubset

Le subset interne, sous la forme d'une chaîne de caractères, ou NULL s'il n'y en a pas. Cette chaîne ne contient pas les crochets délimiteurs.

DOMDocumentFragment::appendXML
DOMElement
DOM


La classe DOMElement

Synopsis de la classe

DOMElement
DOMElement étend DOMNode {
/* Propriétés */
readonly public bool $schemaTypeInfo ;
readonly public string $tagName ;
/* Méthodes */
__construct ( string $name [, string $value [, string $namespaceURI ]] )
string getAttribute ( string $name )
DOMAttr getAttributeNode ( string $name )
DOMAttr getAttributeNodeNS ( string $namespaceURI , string $localName )
string getAttributeNS ( string $namespaceURI , string $localName )
DOMNodeList getElementsByTagName ( string $name )
DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
bool hasAttribute ( string $name )
bool hasAttributeNS ( string $namespaceURI , string $localName )
bool removeAttribute ( string $name )
bool removeAttributeNode ( DOMAttr $oldnode )
bool removeAttributeNS ( string $namespaceURI , string $localName )
DOMAttr setAttribute ( string $name , string $value )
DOMAttr setAttributeNode ( DOMAttr $attr )
DOMAttr setAttributeNodeNS ( DOMAttr $attr )
void setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )
void setIdAttribute ( string $name , bool $isId )
void setIdAttributeNode ( DOMAttr $attr , bool $isId )
void setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

schemaTypeInfo

Non implémenté, retourne toujours NULL

tagName

Le nom de l'élément

Sommaire

  • DOMElement::__construct — Crée un nouvel objet DOMElement
  • DOMElement::getAttribute — Retourne la valeur d'un attribut
  • DOMElement::getAttributeNode — Retourne le noeud d'attribut
  • DOMElement::getAttributeNodeNS — Retourne le noeud d'attribut
  • DOMElement::getAttributeNS — Retourne la valeur de l'attribut
  • DOMElement::getElementsByTagName — Retourne les éléments par leur nom de balise
  • DOMElement::getElementsByTagNameNS — Récupère les éléments par leur espace de noms et leur localName
  • DOMElement::hasAttribute — Vérifie si un attribut existe
  • DOMElement::hasAttributeNS — Vérifie si un attribut existe
  • DOMElement::removeAttribute — Efface un attribut
  • DOMElement::removeAttributeNode — Efface un attribut
  • DOMElement::removeAttributeNS — Efface un attribut
  • DOMElement::setAttribute — Ajoute un nouvel attribut
  • DOMElement::setAttributeNode — Ajoute un nouvel attribut à l'élément
  • DOMElement::setAttributeNodeNS — Ajoute un nouvel attribut à l'élément
  • DOMElement::setAttributeNS — Ajoute un nouvel attribut
  • DOMElement::setIdAttribute — Déclare l'attribut spécifié par son nom à être de type ID
  • DOMElement::setIdAttributeNode — Déclare l'attribut spécifié par le noeud à être de type ID
  • DOMElement::setIdAttributeNS — Déclare l'attribut spécifié par son nom local et son espace de nom URI à être de type ID
DOMDocumentType
DOMElement::__construct
DOM


Crée un nouvel objet DOMElement

DOMElement
DOMElement::getAttribute
DOMElement
PHP Manual

DOMElement::__construct

(PHP 5)

DOMElement::__construct — Crée un nouvel objet DOMElement

Description

DOMElement
__construct ( string $name [, string $value [, string $namespaceURI ]] )

Crée un nouvel objet DOMElement. Cet objet est en lecture seule. Il peut être ajouté à un document, mais les noeuds additionnels ne peuvent pas être ajoutés à ce noeud tant qu'il est associé à un document. Pour créer un noeud accessible en écriture, utilisez DOMDocument::createElement ou DOMDocument::createElementNS.

Liste de paramètres

name

Le nom de l'élément. Lorsqu'il est passé dans l'URI de l'espace de nom, le nom de l'élément doit comporter un préfixe pour être associé à l'URI.

value

La valeur de l'élément.

namespaceURI

Un espace de nom de l'URI pour créer l'élément dans un espace de nom spécifique.

Exemples

Exemple #1 Création d'un nouveau DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Voir aussi

  • DOMDocument::createElement - Crée un nouveau noeud
  • DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé

DOMElement
DOMElement::getAttribute
DOMElement


Retourne la valeur d'un attribut

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement
PHP Manual

DOMElement::getAttribute

(PHP 5)

DOMElement::getAttribute — Retourne la valeur d'un attribut

Description

string DOMElement::getAttribute ( string $name )

Récupère la valeur d'un attribut avec le nom name pour le noeud courant.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

La valeur de l'attribut ou une chaîne vide si aucun attribut avec le nom name donné n'est trouvé.

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::setAttribute - Ajoute un nouvel attribut
  • DOMElement::removeAttribute - Efface un attribut

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement


Retourne le noeud d'attribut

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement
PHP Manual

DOMElement::getAttributeNode

(PHP 5)

DOMElement::getAttributeNode — Retourne le noeud d'attribut

Description

DOMAttr DOMElement::getAttributeNode ( string $name )

Retourne le noeud d'attribut avec le nom name pour l'élément courant.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Le noeud d'attribut.

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::setAttributeNode - Ajoute un nouvel attribut à l'élément
  • DOMElement::removeAttributeNode - Efface un attribut

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement


Retourne le noeud d'attribut

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement
PHP Manual

DOMElement::getAttributeNodeNS

(PHP 5)

DOMElement::getAttributeNodeNS — Retourne le noeud d'attribut

Description

DOMAttr DOMElement::getAttributeNodeNS ( string $namespaceURI , string $localName )

Retourne le noeud d'attribut dans l'espace de noms namespaceURI avec le nom local localName pour le noeud courant.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

localName

Le nom local.

Valeurs de retour

Le noeud d'attribut.

Voir aussi

  • DOMElement::hasAttributeNS - Vérifie si un attribut existe
  • DOMElement::setAttributeNodeNS - Ajoute un nouvel attribut à l'élément
  • DOMElement::removeAttributeNode - Efface un attribut

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement


Retourne la valeur de l'attribut

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement
PHP Manual

DOMElement::getAttributeNS

(PHP 5)

DOMElement::getAttributeNS — Retourne la valeur de l'attribut

Description

string DOMElement::getAttributeNS ( string $namespaceURI , string $localName )

Récupère la valeur de l'attribut dans l'espace de noms namespaceURI avec le nom local localName pour le noeud courant.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

localName

Le nom local.

Valeurs de retour

La valeur de l'attribut, ou une chaîne vide si aucun attribut avec le nom local localName donné et dans l'espace de noms namespaceURI n'est trouvé.

Voir aussi

  • DOMElement::hasAttributeNS - Vérifie si un attribut existe
  • DOMElement::setAttributeNS - Ajoute un nouvel attribut
  • DOMElement::removeAttributeNS - Efface un attribut

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement


Retourne les éléments par leur nom de balise

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement
PHP Manual

DOMElement::getElementsByTagName

(PHP 5)

DOMElement::getElementsByTagName — Retourne les éléments par leur nom de balise

Description

DOMNodeList DOMElement::getElementsByTagName ( string $name )

Cette fonction retourne une nouvelle instance de la classe DOMNodeList contenant tous les éléments descendants avec un nom de balise name donné, dans l'ordre dans lequel ils sont rencontrés lors du parcours de l'arbre de cet élément.

Liste de paramètres

name

Le nom de la balise. Utilisez le caractère générique * pour récupérer tous les éléments contenus dans l'arbre de l'élément.

Valeurs de retour

Cette fonction retourne une nouvelle instance de la classe DOMNodeList contenant tous les éléments correspondants.

Voir aussi

  • DOMElement::getElementsByTagNameNS - Récupère les éléments par leur espace de noms et leur localName

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement


Récupère les éléments par leur espace de noms et leur localName

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement
PHP Manual

DOMElement::getElementsByTagNameNS

(PHP 5)

DOMElement::getElementsByTagNameNS — Récupère les éléments par leur espace de noms et leur localName

Description

DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Cette fonction récupère tous les éléments descendants avec un nom local localName et un espace de noms namespaceURI donnés.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

localName

Le nom local. Utilisez le caractère générique * pour récupérer tous les éléments de l'arbre de l'élément.

Valeurs de retour

Cette fonction retourne un nouvel objet de la classe DOMNodeList contenant tous les éléments correspondants dans l'ordre dans lesquels ils sont rencontrés lors du parcours de l'arbre de cet élément.

Voir aussi

  • DOMElement::getElementsByTagNameNS

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement


Vérifie si un attribut existe

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement
PHP Manual

DOMElement::hasAttribute

(PHP 5)

DOMElement::hasAttribute — Vérifie si un attribut existe

Description

bool DOMElement::hasAttribute ( string $name )

Indique si un attribut nommé name existe en tant que membre de l'élément.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMElement::hasAttributeNS - Vérifie si un attribut existe
  • DOMElement::getAttribute - Retourne la valeur d'un attribut
  • DOMElement::setAttribute - Ajoute un nouvel attribut
  • DOMElement::removeAttribute - Efface un attribut

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement


Vérifie si un attribut existe

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement
PHP Manual

DOMElement::hasAttributeNS

(PHP 5)

DOMElement::hasAttributeNS — Vérifie si un attribut existe

Description

bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )

Vérifie si un attribut dans l'espace de noms namespaceURI nommé localName existe en tant que membre de l'élément.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

localName

Le nom local.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::getAttributeNS - Retourne la valeur de l'attribut
  • DOMElement::setAttributeNS - Ajoute un nouvel attribut
  • DOMElement::removeAttributeNS - Efface un attribut

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement


Efface un attribut

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement
PHP Manual

DOMElement::removeAttribute

(PHP 5)

DOMElement::removeAttribute — Efface un attribut

Description

bool DOMElement::removeAttribute ( string $name )

Efface l'attribut nommé name de l'élément.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::getAttribute - Retourne la valeur d'un attribut
  • DOMElement::setAttribute - Ajoute un nouvel attribut

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement


Efface un attribut

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement
PHP Manual

DOMElement::removeAttributeNode

(PHP 5)

DOMElement::removeAttributeNode — Efface un attribut

Description

bool DOMElement::removeAttributeNode ( DOMAttr $oldnode )

Efface l'attribut oldnode de l'élément.

Liste de paramètres

oldnode

Le noeud de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

DOM_NOT_FOUND_ERROR

Lancé si oldnode n'est pas un attribut de l'élément.

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::getAttributeNode - Retourne le noeud d'attribut
  • DOMElement::setAttributeNode - Ajoute un nouvel attribut à l'élément

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement


Efface un attribut

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement
PHP Manual

DOMElement::removeAttributeNS

(PHP 5)

DOMElement::removeAttributeNS — Efface un attribut

Description

bool DOMElement::removeAttributeNS ( string $namespaceURI , string $localName )

Efface un attribut avec l'espace de noms namespaceURI nommé localName de l'élément.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

localName

Le nom local.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

Voir aussi

  • DOMElement::hasAttributeNS - Vérifie si un attribut existe
  • DOMElement::getAttributeNS - Retourne la valeur de l'attribut
  • DOMElement::setAttributeNS - Ajoute un nouvel attribut

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement


Ajoute un nouvel attribut

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement
PHP Manual

DOMElement::setAttribute

(PHP 5)

DOMElement::setAttribute — Ajoute un nouvel attribut

Description

DOMAttr DOMElement::setAttribute ( string $name , string $value )

Ajoute un attribut avec comme nom name et comme valeur value. Si l'attribut n'existe pas, il sera créé.

Liste de paramètres

name

Le nom de l'attribut.

value

La valeur de l'attribut.

Valeurs de retour

Le nouveau DOMAttr ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

Exemples

Exemple #1 Ajout d'un attribut

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::getAttribute - Retourne la valeur d'un attribut
  • DOMElement::removeAttribute - Efface un attribut

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement


Ajoute un nouvel attribut à l'élément

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement
PHP Manual

DOMElement::setAttributeNode

(PHP 5)

DOMElement::setAttributeNode — Ajoute un nouvel attribut à l'élément

Description

DOMAttr DOMElement::setAttributeNode ( DOMAttr $attr )

Ajoute un nouvel attribut attr à l'élément.

Liste de paramètres

attr

L'attribut.

Valeurs de retour

Retourne l'ancien noeud si l'attribut a été placé ou NULL.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

Voir aussi

  • DOMElement::hasAttribute - Vérifie si un attribut existe
  • DOMElement::getAttributeNode - Retourne le noeud d'attribut
  • DOMElement::removeAttributeNode - Efface un attribut

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement


Ajoute un nouvel attribut à l'élément

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement
PHP Manual

DOMElement::setAttributeNodeNS

(PHP 5)

DOMElement::setAttributeNodeNS — Ajoute un nouvel attribut à l'élément

Description

DOMAttr DOMElement::setAttributeNodeNS ( DOMAttr $attr )

Ajoute un nouvel attribut attr à l'élément.

Liste de paramètres

attr

Le nom de l'attribut.

Valeurs de retour

Retourne l'ancien noeud si l'attribut a été placé.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

Voir aussi

  • DOMElement::hasAttributeNS - Vérifie si un attribut existe
  • DOMElement::getAttributeNodeNS - Retourne le noeud d'attribut
  • DOMElement::removeAttributeNode - Efface un attribut

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement


Ajoute un nouvel attribut

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement
PHP Manual

DOMElement::setAttributeNS

(PHP 5)

DOMElement::setAttributeNS — Ajoute un nouvel attribut

Description

void DOMElement::setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )

Ajoute un attribut avec comme espace de noms namespaceURI et comme nom name avec comme valeur value. Si l'attribut n'existe pas, il sera créé.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

qualifiedName

Le nom qualifié de l'attribut, sous la forme prefixe:nomdebalise.

value

La valeur de l'attribut.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

DOM_NAMESPACE_ERR

Lancé si qualifiedName est un nom qualifié malformé ou si qualifiedName a un préfixe et un namespaceURI qui vaut NULL.

Voir aussi

  • DOMElement::hasAttributeNS - Vérifie si un attribut existe
  • DOMElement::getAttributeNodeNS - Retourne le noeud d'attribut
  • DOMElement::removeAttributeNode - Efface un attribut

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement


Déclare l'attribut spécifié par son nom à être de type ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement
PHP Manual

DOMElement::setIdAttribute

(PHP 5)

DOMElement::setIdAttribute — Déclare l'attribut spécifié par son nom à être de type ID

Description

void DOMElement::setIdAttribute ( string $name , bool $isId )

Déclare l'attribut name afin qu'il soit de type ID.

Liste de paramètres

name

Le nom de l'attribut.

isId

Définissez à TRUE si vous voulez que name soit de type ID, FALSE sinon.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Envoyé si le noeud est en lecture seule.

DOM_NOT_FOUND

Envoyé si name n'est pas un attribut de cet élément.

Voir aussi

  • DOMDocument::getElementById - Cherche un élément avec un certain identifiant
  • DOMElement::setIdAttributeNode - Déclare l'attribut spécifié par le noeud à être de type ID
  • DOMElement::setIdAttributeNS - Déclare l'attribut spécifié par son nom local et son espace de nom URI à être de type ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement


Déclare l'attribut spécifié par le noeud à être de type ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement
PHP Manual

DOMElement::setIdAttributeNode

(PHP 5)

DOMElement::setIdAttributeNode — Déclare l'attribut spécifié par le noeud à être de type ID

Description

void DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId )

Déclare l'attribut spécifié par attr afin qu'il soit de type ID.

Liste de paramètres

attr

L'attribut du noeud.

isId

Définissez à TRUE si vous voulez que name soit de type ID, FALSE sinon.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Envoyé si le noeud est en lecture seule.

DOM_NOT_FOUND

Envoyé si name n'est pas un attribut de cet élément.

Voir aussi

  • DOMDocument::getElementById - Cherche un élément avec un certain identifiant
  • DOMElement::setIdAttribute - Déclare l'attribut spécifié par son nom à être de type ID
  • DOMElement::setIdAttributeNS - Déclare l'attribut spécifié par son nom local et son espace de nom URI à être de type ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement


Déclare l'attribut spécifié par son nom local et son espace de nom URI à être de type ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement
PHP Manual

DOMElement::setIdAttributeNS

(PHP 5)

DOMElement::setIdAttributeNS — Déclare l'attribut spécifié par son nom local et son espace de nom URI à être de type ID

Description

void DOMElement::setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )

Déclare l'attribut spécifié par localName et namespaceURI afin qu'il soit de type ID.

Liste de paramètres

namespaceURI

L'URI de l'espace de nom de l'attribut.

localName

Le nom local de l'attribut, sous la forme prefix:tagname.

isId

Définissez à TRUE si vous voulez que name soit de type ID, FALSE sinon.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Émise si le noeud est en lecture seule.

DOM_NOT_FOUND

Émise si name n'est pas un attribut de cet élément.

Voir aussi

  • DOMDocument::getElementById - Cherche un élément avec un certain identifiant
  • DOMElement::setIdAttribute - Déclare l'attribut spécifié par son nom à être de type ID
  • DOMElement::setIdAttributeNode - Déclare l'attribut spécifié par le noeud à être de type ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement


La classe DOMEntity

Introduction

Cette interface représente une entité inconnue, analysée ou non, dans un document XML.

Synopsis de la classe

DOMEntity
DOMEntity étend DOMNode {
/* Propriétés */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $notationName ;
public string $actualEncoding ;
readonly public string $encoding ;
readonly public string $version ;
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

publicId

L'identifiant public associé avec l'entité, si spécifiée, et NULL sinon.

systemId

L'identifiant système associé avec l'entité, si spécifiée, et NULL sinon. Peut être une URL absolue ou non.

notationName

Pour les entités non analysée, le nom de la notation de l'entité. Pour les entités analysées, vaut NULL.

actualEncoding

Un attribut spécifiant l'encodage utilisé pour cette entité au moment de l'analyse, lorsque c'est une entité analysée externe. Vaut NULL si c'est une entité depuis un subset interne ou si l'encodage est inconnu.

encoding

Un attribut spécifiant (faisant parti de la déclaration) l'encodage de l'entité, lorsque c'est une entité analysée externe. Vaut NULL sinon.

version

Un attribut spécifiant (faisant parti de la déclaration) le numéro de version de l'entité, lorsque c'est une entité analysée externe. Vaut NULL sinon.

DOMElement::setIdAttributeNS
DOMEntityReference
DOM


La classe DOMEntityReference

Synopsis de la classe

DOMEntityReference
DOMEntityReference étend DOMNode {
/* Propriétés */
/* Méthodes */
__construct ( string $name )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Sommaire

  • DOMEntityReference::__construct — Crée un nouvel objet DOMEntityReference
DOMEntity
DOMEntityReference::__construct
DOM


Crée un nouvel objet DOMEntityReference

DOMEntityReference
DOMException
DOMEntityReference
PHP Manual

DOMEntityReference::__construct

(PHP 5)

DOMEntityReference::__construct — Crée un nouvel objet DOMEntityReference

Description

DOMEntityReference
__construct ( string $name )

Crée un nouvel objet DOMEntityReference.

Liste de paramètres

name

Le nom de la référence à l'entité.

Exemples

Exemple #1 Création d'un nouveau DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>&nbsp;</root> */

?>

Voir aussi

  • DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité

DOMEntityReference
DOMException
DOMEntityReference


La classe DOMException

Introduction

Les opérations DOM lancent des exceptions lors de circonstances particulières, i.e., lorsqu'il est impossible d'exécuter une opération pour des raisons logiques.

Voir aussi Les exceptions.

Synopsis de la classe

DOMException
DOMException étend Exception {
/* Propriétés */
readonly public int $code ;
/* Méthodes héritées */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

Propriétés

code

Un entier indiquant le type d'erreur généré

DOMEntityReference::__construct
DOMImplementation
DOM


La classe DOMImplementation

Introduction

L'interface DOMImplementation fournit des méthodes pour effectuer des opérations qui sont indépendantes d'une instance particulière du modèle objet d'un document.

Synopsis de la classe

DOMImplementation
DOMImplementation {
/* Propriétés */
/* Méthodes */
__construct ( void )
DOMDocument createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )
DOMDocumentType createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )
bool hasFeature ( string $feature , string $version )
}

Sommaire

  • DOMImplementation::__construct — Crée un nouvel objet DOMImplementation
  • DOMImplementation::createDocument — Crée un objet DOM Document du type spécifié avec ses éléments
  • DOMImplementation::createDocumentType — Crée un objet DOMDocumentType vide
  • DOMImplementation::hasFeature — Teste si l'implémentation DOM implémente une fonctionnalité spécifique
DOMException
DOMImplementation::__construct
DOM


Crée un nouvel objet DOMImplementation

DOMImplementation
DOMImplementation::createDocument
DOMImplementation
PHP Manual

DOMImplementation::__construct

(PHP 5)

DOMImplementation::__construct — Crée un nouvel objet DOMImplementation

Description

DOMImplementation
__construct ( void )

Crée un nouvel objet DOMImplementation.

DOMImplementation
DOMImplementation::createDocument
DOMImplementation


Crée un objet DOM Document du type spécifié avec ses éléments

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation
PHP Manual

DOMImplementation::createDocument

(PHP 5)

DOMImplementation::createDocument — Crée un objet DOM Document du type spécifié avec ses éléments

Description

DOMDocument DOMImplementation::createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )

Crée un objet DOMDocument du type spécifié avec ces éléments du document.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms des éléments du document à créer.

qualifiedName

Le nom qualifié des éléments du document à créer.

doctype

Le type de document à créer ou NULL.

Valeurs de retour

Un nouvel objet DOMDocument. Si namespaceURI, qualifiedName, et doctype sont nulles, le DOMDocument retourné est vide avec aucun élément de document.

Erreurs / Exceptions

DOM_WRONG_DOCUMENT_ERR

Lancé si doctype a déjà été utilisé avec un document différent ou a été créé depuis une implémentation différente.

DOM_NAMESPACE_ERR

Lancé s'il y a une erreur dans l'espace de noms, déterminé par namespaceURI et qualifiedName.

Voir aussi

  • DOMDocument::__construct - Crée un nouvel objet DOMDocument
  • DOMImplementation::createDocumentType - Crée un objet DOMDocumentType vide

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation


Crée un objet DOMDocumentType vide

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation
PHP Manual

DOMImplementation::createDocumentType

(PHP 5)

DOMImplementation::createDocumentType — Crée un objet DOMDocumentType vide

Description

DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )

Crée un objet DOMDocumentType vide. Les déclarations et notations d'entités ne sont pas disponibles. Les expansions de références d'entités et les ajouts d'attributs par défaut ne sont pas non plus effectués.

Liste de paramètres

qualifiedName

Le nom qualifié du type de document à créer.

publicId

L'identifiant publique externe du sous-ensemble.

systemId

L'identifiant système externe du sous-ensemble.

Valeurs de retour

Un nouveau noeud DOMDocumentType avec son ownerDocument défini à NULL.

Exemples

Exemple #1 Création d'un document avec une DTD attachée

<?php

// Création d'une instance de la classe DOMImplementation
$imp = new DOMImplementation;

// Création d'une instance DOMDocumentType
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Création d'une instance DOMDocument
$dom = $imp->createDocument("", "", $dtd);

// Définition des autres propriétés
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Création d'un élément vide
$element = $dom->createElement('graph');

// Ajout de l'élément
$dom->appendChild($element);

// Récupère et affiche le document
echo $dom->saveXML();

?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Erreurs / Exceptions

DOM_NAMESPACE_ERR

Émise s'il y a une erreur avec l'espace de noms, déterminé par qualifiedName.

Voir aussi

  • DOMImplementation::createDocument - Crée un objet DOM Document du type spécifié avec ses éléments

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation


Teste si l'implémentation DOM implémente une fonctionnalité spécifique

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual

DOMImplementation::hasFeature

(PHP 5)

DOMImplementation::hasFeature — Teste si l'implémentation DOM implémente une fonctionnalité spécifique

Description

bool DOMImplementation::hasFeature ( string $feature , string $version )

Teste si l'implémentation DOM implémente une fonctionnalité feature spécifique.

Vous pouvez trouver une liste de toutes les fonctionnalités dans la section » Conformance de la spécification DOM.

Liste de paramètres

feature

La fonctionnalité à tester.

version

Le numéro de version de la fonctionnalité feature à tester. Dans le niveau 2, ceci peut être soit 2.0 ou 1.0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Test votre implémentation DOM

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $key => $name) {
  if (DOMImplementation::hasFeature($key, '2.0')) {
    echo "A la fonctionnalité $name\n";
  } else {
    echo "N'a pas la fonctionnalité $name\n";
  }
}

?>

Voir aussi

  • DOMNode::isSupported - Vérifie si la fonctionnalité est disponible pour la version spécifiée

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation


La classe DOMNamedNodeMap

Synopsis de la classe

DOMNamedNodeMap
DOMNamedNodeMap {
/* Propriétés */
/* Méthodes */
DOMNode getNamedItem ( string $name )
DOMNode getNamedItemNS ( string $namespaceURI , string $localName )
DOMNode item ( int $index )
}

Sommaire

  • DOMNamedNodeMap::getNamedItem — Retourne un noeud spécifié par nom nom
  • DOMNamedNodeMap::getNamedItemNS — Retourne un noeud spécifié par son nom local et son espace de noms
  • DOMNamedNodeMap::item — Retourne un noeud selon son index
DOMImplementation::hasFeature
DOMNamedNodeMap::getNamedItem
DOM


Retourne un noeud spécifié par nom nom

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItem

(PHP 5)

DOMNamedNodeMap::getNamedItem — Retourne un noeud spécifié par nom nom

Description

DOMNode DOMNamedNodeMap::getNamedItem ( string $name )

Récupère un noeud spécifié par son nodeName.

Liste de paramètres

name

Le nodeName du noeud à récupérer.

Valeurs de retour

Un noeud (de n'importe quel type) avec un nodeName spécifié, ou NULL si aucun noeud n'est trouvé.

Voir aussi

  • DOMNamedNodeMap::getNamedItemNS - Retourne un noeud spécifié par son nom local et son espace de noms

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap


Retourne un noeud spécifié par son nom local et son espace de noms

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItemNS

(PHP 5)

DOMNamedNodeMap::getNamedItemNS — Retourne un noeud spécifié par son nom local et son espace de noms

Description

DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURI , string $localName )

Retourne un noeud spécifié par son nom local localName et son espace de noms namespaceURI.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms du noeud à récupérer.

localName

Le nom local du noeud à récupérer.

Valeurs de retour

Un noeud, de n'importe quel type ou NULL si aucun noeud n'est trouvé.

Voir aussi

  • DOMNamedNodeMap::getNamedItemNS

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap


Retourne un noeud selon son index

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::item

(PHP 5)

DOMNamedNodeMap::item — Retourne un noeud selon son index

Description

DOMNode DOMNamedNodeMap::item ( int $index )

Retourne un noeud spécifié par index dans l'objet DOMNamedNodeMap.

Liste de paramètres

index

Index dans cette carte.

Valeurs de retour

Le noeud à la position index dans la carte, ou NULL si ce n'est pas un index valide (plus grand que ou égal au nombre de noeuds dans cette carte).

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap


La classe DOMNode

Synopsis de la classe

DOMNode
DOMNode {
/* Propriétés */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode $firstChild ;
public readonly DOMNode $lastChild ;
public readonly DOMNode $previousSibling ;
public readonly DOMNode $nextSibling ;
public readonly DOMNamedNodeMap $attributes ;
public readonly DOMDocument $ownerDocument ;
public readonly string $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string $baseURI ;
public string $textContent ;
/* Méthodes */
DOMNode appendChild ( DOMNode $newnode )
DOMNode cloneNode ([ bool $deep ] )
public int getLineNo ( void )
bool hasAttributes ( void )
bool hasChildNodes ( void )
DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool isDefaultNamespace ( string $namespaceURI )
bool isSameNode ( DOMNode $node )
bool isSupported ( string $feature , string $version )
string lookupNamespaceURI ( string $prefix )
string lookupPrefix ( string $namespaceURI )
void normalize ( void )
DOMNode removeChild ( DOMNode $oldnode )
DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

nodeName

Retourne le nom, le plus précis, pour le type de noeud courant

nodeValue

La valeur du noeud, suivant son type

nodeType

Récupère le type du noeud. Une des constantes XML_xxx_NODE

parentNode

Le parent de ce noeud

childNodes

Un DOMNodeList qui contient tous les fils de ce noeud. S'il n'y a aucun fils, ce sera un DOMNodeList vide.

firstChild

Le premier fils de ce noeud. S'il n'y a aucun noeud de ce type, retourne NULL.

lastChild

Le dernier fils de ce noeud. S'il n'y a aucun noeud de ce type, retourne NULL.

previousSibling

Le noeud précédant immédiatement ce noeud. S'il n'y a aucun noeud, retourne NULL.

nextSibling

Le noeud suivant immédiatement ce noeud. S'il n'y a aucun noeud, retourne NULL.

attributes

Un DOMNamedNodeMap contenant les attributs de ce noeud (si c'est unDOMElement) ou NULL sinon.

ownerDocument

L'objet DOMDocument associé avec ce noeud.

namespaceURI

L'espace de nom de l'URL pour ce noeud, ou NULL s'il n'est pas spécifié.

prefix

Le préfixe de l'espace de nom de ce noeud, ou NULL s'il n'est pas spécifié.

localName

Retourne la partie locale du nom qualifié du noeud.

baseURI

La base de l'URL absolue du noeud, ou NULL si l'implémentation n'a pas réussi à obtenir l'URL absolue.

textContent

Cet attribut retourne le contenu texte de ce noeud et de ces descendants.

Voir aussi

  • » spécification W3C

Sommaire

  • DOMNode::appendChild — Ajoute un nouveau fils à la fin des fils
  • DOMNode::cloneNode — Clone un noeud
  • DOMNode::getLineNo — Lit le numéro de ligne d'un noeud
  • DOMNode::hasAttributes — Vérifie si le noeud possède un attribut
  • DOMNode::hasChildNodes — Vérifie si le noeud possède des enfants
  • DOMNode::insertBefore — Ajoute un nouveau fils à la fin des enfants
  • DOMNode::isDefaultNamespace — Vérifie si l'espace de nom spécifié est l'espace de noms par défaut ou non
  • DOMNode::isSameNode — Indique si deux noeuds sont identiques
  • DOMNode::isSupported — Vérifie si la fonctionnalité est disponible pour la version spécifiée
  • DOMNode::lookupNamespaceURI — Retourne l'URI de l'espace de noms selon le préfixe
  • DOMNode::lookupPrefix — Retourne le préfixe de l'espace de noms selon l'URI de l'espace de noms
  • DOMNode::normalize — Normalise le noeud
  • DOMNode::removeChild — Supprime un fils de la liste des enfants
  • DOMNode::replaceChild — Remplace un fils
DOMNamedNodeMap::item
DOMNode::appendChild
DOM


Ajoute un nouveau fils à la fin des fils

DOMNode
DOMNode::cloneNode
DOMNode
PHP Manual

DOMNode::appendChild

(PHP 5)

DOMNode::appendChild — Ajoute un nouveau fils à la fin des fils

Description

DOMNode DOMNode::appendChild ( DOMNode $newnode )

Cette fonction ajoute un fils à une liste de fils existante ou crée une nouvelle liste de fils. Le fils peut être créé avec, e.g. DOMDocument::createElement, DOMDocument::createTextNode, etc. ou simplement en utilisant tout autre noeud.

Liste de paramètres

newnode

Le fils à ajouter.

Valeurs de retour

Le noeud ajouté.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule ou si le parent précédent le noeud à insérer est en lecture seule.

DOM_HIERARCHY_REQUEST_ERR

Lancé si le noeud est d'un type qui n'autorise pas d'enfant du type du noeud newnode, ou si le noeud à ajouter est un des noeuds ancêtres ou ce noeud lui-même.

DOM_WRONG_DOCUMENT_ERR

Lancé si newnode a été créé depuis un document différent que celui qui a créé ce noeud.

Exemples

L'exemple suivant ajoutera un nouveau noeud à un document nouveau.

Exemple #1 Ajout d'un fils

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Voir aussi

  • DOMNode::removeChild - Supprime un fils de la liste des enfants
  • DOMNode::replaceChild - Remplace un fils

DOMNode
DOMNode::cloneNode
DOMNode


Clone un noeud

DOMNode::appendChild
DOMNode::getLineNo
DOMNode
PHP Manual

DOMNode::cloneNode

(PHP 5)

DOMNode::cloneNode — Clone un noeud

Description

DOMNode DOMNode::cloneNode ([ bool $deep ] )

Crée une copie d'un noeud.

Liste de paramètres

deep

Indique si l'on doit copier tous les noeuds fils. Ce paramètre vaut FALSE par défaut.

Valeurs de retour

Le noeud cloné.

DOMNode::appendChild
DOMNode::getLineNo
DOMNode


Lit le numéro de ligne d'un noeud

DOMNode::cloneNode
DOMNode::hasAttributes
DOMNode
PHP Manual

DOMNode::getLineNo

(PHP 5 >= 5.3.0)

DOMNode::getLineNo — Lit le numéro de ligne d'un noeud

Description

public int DOMNode::getLineNo ( void )

Lit le numéro de ligne d'un noeud.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le numéro de ligne de définition du noeud.

Exemples

Exemple #1 Exemple avec DOMNode::getLineNo

<?php
// XML de l'exemple
$xml = <<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
    <node />
</root>
XML;

// Création d'un objet DOMDocument
$dom = new DOMDocument;

// Chargement du XML
$dom->loadXML($xml);

// Affichage du numéro de ligne du noeud.
printf('Le noeud <node> est définit à la ligne %d', $dom->getElementsByTagName('node')->item(0)->getLineNo());
?>

L'exemple ci-dessus va afficher :

Le noeud <node> est définit à la ligne 3

DOMNode::cloneNode
DOMNode::hasAttributes
DOMNode


Vérifie si le noeud possède un attribut

DOMNode::getLineNo
DOMNode::hasChildNodes
DOMNode
PHP Manual

DOMNode::hasAttributes

(PHP 5)

DOMNode::hasAttributes — Vérifie si le noeud possède un attribut

Description

bool DOMNode::hasAttributes ( void )

Cette méthode vérifie si un noeud possède des attributs. Le noeud testé doit être un XML_ELEMENT_NODE.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMNode::hasChildNodes - Vérifie si le noeud possède des enfants

DOMNode::getLineNo
DOMNode::hasChildNodes
DOMNode


Vérifie si le noeud possède des enfants

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode
PHP Manual

DOMNode::hasChildNodes

(PHP 5)

DOMNode::hasChildNodes — Vérifie si le noeud possède des enfants

Description

bool DOMNode::hasChildNodes ( void )

Cette fonction vérifie si un noeud possède des enfants.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMImplementation::hasFeature - Teste si l'implémentation DOM implémente une fonctionnalité spécifique

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode


Ajoute un nouveau fils à la fin des enfants

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode
PHP Manual

DOMNode::insertBefore

(PHP 5)

DOMNode::insertBefore — Ajoute un nouveau fils à la fin des enfants

Description

DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )

Cette fonction insère un nouveau noeud juste avec le noeud de référence. Si vous comptez faire des modifications plus tard sur l'enfant ajouté, vous devez utiliser le noeud retourné.

Liste de paramètres

newnode

Le nouveau noeud.

refnode

Le noeud référencé. Si non spécifié, newnode sera ajouté au fils.

Valeurs de retour

Le noeud inséré.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule ou si le parent précédent le noeud à insérer est en lecture seule.

DOM_HIERARCHY_REQUEST_ERR

Lancé si ce noeud est d'un type qui n'autorise pas de fils du type du noeud newnode, ou si le noeud à ajouter est un des ancêtres de ce noeud ou ce noeud lui-même.

DOM_WRONG_DOCUMENT_ERR

Lancé si newnode a été créé depuis un document différent que celui qui a créé ce noeud.

DOM_NOT_FOUND

Lancé si refnode n'est pas un fils de ce noeud.

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode


Vérifie si l'espace de nom spécifié est l'espace de noms par défaut ou non

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode
PHP Manual

DOMNode::isDefaultNamespace

(PHP 5)

DOMNode::isDefaultNamespace — Vérifie si l'espace de nom spécifié est l'espace de noms par défaut ou non

Description

bool DOMNode::isDefaultNamespace ( string $namespaceURI )

Vérifie si namespaceURI est l'espace de noms par défaut.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms à vérifier.

Valeurs de retour

Retourne TRUE si namespaceURI est l'espace de noms par défaut, FALSE sinon.

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode


Indique si deux noeuds sont identiques

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode
PHP Manual

DOMNode::isSameNode

(PHP 5)

DOMNode::isSameNode — Indique si deux noeuds sont identiques

Description

bool DOMNode::isSameNode ( DOMNode $node )

Cette fonction indique si deux noeuds sont identiques. La comparaison n'est pas basée sur le contenu.

Liste de paramètres

node

Le noeud à comparer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode


Vérifie si la fonctionnalité est disponible pour la version spécifiée

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode
PHP Manual

DOMNode::isSupported

(PHP 5)

DOMNode::isSupported — Vérifie si la fonctionnalité est disponible pour la version spécifiée

Description

bool DOMNode::isSupported ( string $feature , string $version )

Vérifie si la fonctionnalité feature demandée est supportée par la version version spécifiée.

Liste de paramètres

feature

La fonctionnalité à tester. Voir l'exemple de DOMImplementation::hasFeature pour une liste de fonctionnalités.

version

Le numéro de la version de la fonctionnalité feature à tester.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • DOMImplementation::hasFeature - Teste si l'implémentation DOM implémente une fonctionnalité spécifique

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode


Retourne l'URI de l'espace de noms selon le préfixe

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode
PHP Manual

DOMNode::lookupNamespaceURI

(PHP 5)

DOMNode::lookupNamespaceURI — Retourne l'URI de l'espace de noms selon le préfixe

Description

string DOMNode::lookupNamespaceURI ( string $prefix )

Retourne l'URI de l'espace de noms selon le préfixe prefix.

Liste de paramètres

prefix

Le préfixe de l'espace de noms.

Valeurs de retour

L'URI de l'espace de noms de ce noeud.

Voir aussi

  • DOMNode::lookupPrefix - Retourne le préfixe de l'espace de noms selon l'URI de l'espace de noms

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode


Retourne le préfixe de l'espace de noms selon l'URI de l'espace de noms

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode
PHP Manual

DOMNode::lookupPrefix

(PHP 5)

DOMNode::lookupPrefix — Retourne le préfixe de l'espace de noms selon l'URI de l'espace de noms

Description

string DOMNode::lookupPrefix ( string $namespaceURI )

Retourne le préfixe de l'espace du noeud selon l'URI de l'espace de noms.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms.

Valeurs de retour

Le préfixe de l'espace de noms.

Voir aussi

  • DOMNode::lookupNamespaceURI - Retourne l'URI de l'espace de noms selon le préfixe

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode


Normalise le noeud

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode
PHP Manual

DOMNode::normalize

(PHP 5)

DOMNode::normalize — Normalise le noeud

Description

void DOMNode::normalize ( void )

Normalise le noeud.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • » La spécification DOM
  • DOMDocument::normalizeDocument - Normalise le document

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode


Supprime un fils de la liste des enfants

DOMNode::normalize
DOMNode::replaceChild
DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5)

DOMNode::removeChild — Supprime un fils de la liste des enfants

Description

DOMNode DOMNode::removeChild ( DOMNode $oldnode )

Cette fonction supprime un fils de la liste des enfants.

Liste de paramètres

oldnode

Le fils à effacer.

Valeurs de retour

Si le fils ne peut être effacé, la fonction retourne l'ancien fils.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule.

DOM_NOT_FOUND

Lancé si oldnode n'est pas un fils de ce noeud.

Exemples

L'exemple suivant va effacer l'élément chapter de notre document XML.

Exemple #1 Effacement d'un fils

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// Nous récupérons le chapitre et l'effaçons du livre
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMNode::replaceChild - Remplace un fils

DOMNode::normalize
DOMNode::replaceChild
DOMNode


Remplace un fils

DOMNode::removeChild
DOMNodeList
DOMNode
PHP Manual

DOMNode::replaceChild

(PHP 5)

DOMNode::replaceChild — Remplace un fils

Description

DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )

Cette fonction remplace le fils oldnode par le nouveau noeud spécifié. SI le nouveau noeud est déjà un fils, il ne sera pas ajouté une seconde fois. Si le remplacement réussi, l'ancien noeud sera retourné.

Liste de paramètres

newnode

Le nouveau noeud. Il doit être membre du document cible, i.e. créé par une des méthodes de DOMDocument->createXXX() ou importé dans le document par DOMDocument::importNode.

oldnode

L'ancien noeud.

Valeurs de retour

L'ancien noeud ou FALSE si une erreur survient.

Erreurs / Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Lancé si le noeud est en lecture seule ou si le parent précédent du noeud à insérer est en lecture seule.

DOM_HIERARCHY_REQUEST_ERR

Lancé si le noeud est d'un type qui n'autorise pas les fils du type du noeud newnode, ou si le noeud à insérer est un des ancêtres de ce noeud ou ce noeud lui-même.

DOM_WRONG_DOCUMENT_ERR

Émise si newnode a été créé depuis un document différent que celui qui a créé ce noeud.

DOM_NOT_FOUND

Lancé si oldnode n'est pas un fils de ce noeud.

Voir aussi

  • DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
  • DOMNode::removeChild - Supprime un fils de la liste des enfants

DOMNode::removeChild
DOMNodeList
DOMNode


La classe DOMNodeList

Synopsis de la classe

DOMNodeList
DOMNodeList {
/* Propriétés */
readonly public int $length ;
/* Méthodes */
DOMNode DOMNodelist::item ( int $index )
}

Propriétés

length

Le nombre de noeuds dans la liste. L'intervalle valide des indices des noeuds fils est 0 à length - 1, inclus.

Sommaire

  • DOMNodelist::item — Retourne un noeud spécifié par son index
DOMNode::replaceChild
DOMNodelist::item
DOM


Retourne un noeud spécifié par son index

DOMNodeList
DOMNotation
DOMNodeList
PHP Manual

DOMNodelist::item

(PHP 5)

DOMNodelist::item — Retourne un noeud spécifié par son index

Description

DOMNode DOMNodelist::item ( int $index )

Retourne un noeud spécifié par son index dans l'objet DOMNodeList.

Astuce

Si vous avez besoin de connaître le nombre de noeuds dans la collection, utilisez la propriété length de l'objet DOMNodeList.

Liste de paramètres

index

L'index du noeud dans la collection.

Valeurs de retour

Le noeud à la position index dans la DOMNodeList, ou NULL si ce n'est pas un index valide.

Exemples

Exemple #1 Parcours de toutes les entrées de la table

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

Alternativement, vous pouvez utiliser la structure foreach, qui est une manière plus convenable :

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

L'exemple ci-dessus va afficher :

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209

DOMNodeList
DOMNotation
DOMNodeList


La classe DOMNode

Synopsis de la classe

DOMNotation
DOMNotation étend DOMNode {
/* Propriétés */
readonly public string $publicId ;
readonly public string $systemId ;
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

publicId

systemId

DOMNodelist::item
DOMProcessingInstruction
DOM


La classe DOMProcessingInstruction

Synopsis de la classe

DOMProcessingInstruction
DOMProcessingInstruction étend DOMNode {
/* Propriétés */
readonly public string $target ;
public string $data ;
/* Méthodes */
__construct ( string $name [, string $value ] )
/* Méthodes héritées */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

target

data

Sommaire

  • DOMProcessingInstruction::__construct — Crée un nouvel objet DOMProcessingInstruction
DOMNotation
DOMProcessingInstruction::__construct
DOM


Crée un nouvel objet DOMProcessingInstruction

DOMProcessingInstruction
DOMText
DOMProcessingInstruction
PHP Manual

DOMProcessingInstruction::__construct

(PHP 5)

DOMProcessingInstruction::__construct — Crée un nouvel objet DOMProcessingInstruction

Description

DOMProcessingInstruction
__construct ( string $name [, string $value ] )

Crée un nouvel objet DOMProcessingInstruction. Cet objet est en lecture seule. Il peut être ajouté à un document, mais les noeuds additionnels ne peuvent pas être ajoutés à ce noeud tant qu'il est associé à un document. Pour créer un noeud accessible en écriture, utilisez DOMDocument::createProcessingInstruction.

Liste de paramètres

name

Le nom du tag de l'instruction.

value

La valeur de l'instruction.

Exemples

Exemple #1 Création d'un nouveau DOMProcessingInstruction

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Bonjour le monde !"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

L'exemple ci-dessus va afficher :

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Bonjour le monde !"; ?></body></html>

Voir aussi

  • DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI

DOMProcessingInstruction
DOMText
DOMProcessingInstruction


La classe DOMText

Introduction

La classe DOMText hérite de DOMCharacterData et représente le contenu textuel de DOMElement ou DOMAttr.

Synopsis de la classe

DOMText
DOMText étend DOMCharacterData {
/* Propriétés */
readonly public string $wholeText ;
/* Méthodes */
__construct ([ string $value ] )
bool isWhitespaceInElementContent ( void )
DOMText splitText ( int $offset )
/* Méthodes héritées */
void DOMCharacterData::appendData ( string $data )
void DOMCharacterData::deleteData ( int $offset , int $count )
void DOMCharacterData::insertData ( int $offset , string $data )
void DOMCharacterData::replaceData ( int $offset , int $count , string $data )
string DOMCharacterData::substringData ( int $offset , int $count )
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
public int DOMNode::getLineNo ( void )
bool DOMNode::hasAttributes ( void )
bool DOMNode::hasChildNodes ( void )
DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool DOMNode::isDefaultNamespace ( string $namespaceURI )
bool DOMNode::isSameNode ( DOMNode $node )
bool DOMNode::isSupported ( string $feature , string $version )
string DOMNode::lookupNamespaceURI ( string $prefix )
string DOMNode::lookupPrefix ( string $namespaceURI )
void DOMNode::normalize ( void )
DOMNode DOMNode::removeChild ( DOMNode $oldnode )
DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Propriétés

wholeText

Contient tout le texte des noeuds de texte adjacents (c'est à dire, des noeuds qui ne sont pas séparés par des balises Element, Comment ou Processing Instruction).

Sommaire

  • DOMText::__construct — Crée un nouvel objet DOMText
  • DOMText::isWhitespaceInElementContent — Indique si ce noeud de texte contient des espaces blancs
  • DOMText::splitText — Coupe le noeud en deux noeuds à l'endroit spécifié
DOMProcessingInstruction::__construct
DOMText::__construct
DOM


Crée un nouvel objet DOMText

DOMText
DOMText::isWhitespaceInElementContent
DOMText
PHP Manual

DOMText::__construct

(PHP 5)

DOMText::__construct — Crée un nouvel objet DOMText

Description

DOMText
__construct ([ string $value ] )

Crée un nouvel objet DOMText.

Liste de paramètres

value

La valeur du noeud texte. Si aucune n'est fournie, un noeud texte vide est créé.

Exemples

Exemple #1 Création d'un nouveau DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>valeur racine</root> */

?>

Voir aussi

  • DOMDocument::createTextNode - Crée un nouveau noeud de texte

DOMText
DOMText::isWhitespaceInElementContent
DOMText


Indique si ce noeud de texte contient des espaces blancs

DOMText::__construct
DOMText::splitText
DOMText
PHP Manual

DOMText::isWhitespaceInElementContent

(PHP 5)

DOMText::isWhitespaceInElementContent — Indique si ce noeud de texte contient des espaces blancs

Description

bool DOMText::isWhitespaceInElementContent ( void )

Indique si un noeud de texte contient des espaces. Cette détermination est faite durant le chargement du document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

DOMText::__construct
DOMText::splitText
DOMText


Coupe le noeud en deux noeuds à l'endroit spécifié

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText
PHP Manual

DOMText::splitText

(PHP 5)

DOMText::splitText — Coupe le noeud en deux noeuds à l'endroit spécifié

Description

DOMText DOMText::splitText ( int $offset )

Coupe le noeud en deux noeuds à l'endroit spécifié offset, en gardant les deux dans l'arbre comme parents.

Après la césure, ce noeud contiendra tout le texte jusqu'à offset. Un nouveau noeud avec le reste du texte sera retourné. Si le noeud d'origine possède un parent, le nouveau noeud est inséré à la suite du noeud courant. Lorsque offset est égal à la taille du noeud, le nouveau noeud est vide.

Liste de paramètres

offset

La position de la césure, commençant à 0.

Valeurs de retour

Le nouveau noeud du même type, qui contient tout le contenu à partir de la position offset.

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText


La classe DOMXPath

Introduction

Support de XPath 1.0.

Synopsis de la classe

DOMXPath
DOMXPath {
/* Propriétés */
public DOMDocument $document ;
/* Méthodes */
__construct ( DOMDocument $doc )
mixed evaluate ( string $expression [, DOMNode $contextnode ] )
DOMNodeList query ( string $expression [, DOMNode $contextnode ] )
bool registerNamespace ( string $prefix , string $namespaceURI )
public void registerPhpFunctions ([ mixed $restrict ] )
}

Propriétés

document

Sommaire

  • DOMXPath::__construct — Crée un nouvel objet DOMXPath
  • DOMXPath::evaluate — Évalue une expression XPath donnée et retourne un résultat écrit si possible
  • DOMXPath::query — Évalue l'expression XPath donnée
  • DOMXPath::registerNamespace — Enregistre l'espace de noms avec l'objet DOMXPath
  • DOMXPath::registerPhpFunctions — Enregistre une fonction PHP comme fonction XPath
DOMText::splitText
DOMXPath::__construct
DOM


Crée un nouvel objet DOMXPath

DOMXPath
DOMXPath::evaluate
DOMXPath
PHP Manual

DOMXPath::__construct

(PHP 5)

DOMXPath::__construct — Crée un nouvel objet DOMXPath

Description

DOMXPath
__construct ( DOMDocument $doc )

Crée un nouvel objet DOMXPath.

Liste de paramètres

doc

L'objet DOMDocument associé à l'objet DOMXPath.

DOMXPath
DOMXPath::evaluate
DOMXPath


Évalue une expression XPath donnée et retourne un résultat écrit si possible

DOMXPath::__construct
DOMXPath::query
DOMXPath
PHP Manual

DOMXPath::evaluate

(PHP 5 >= 5.1.0)

DOMXPath::evaluate — Évalue une expression XPath donnée et retourne un résultat écrit si possible

Description

mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode ] )

Exécute l'expression XPath expression et retourne un résultat écrit si possible.

Liste de paramètres

expression

L'expression XPath à exécuter.

contextnode

Le paramètre optionnel contextnode peut être spécifié pour effectuer des requêtes XPath relatives. Par défaut, les requêtes sont relatives à l'élément root.

Valeurs de retour

Retourne un résultat écrit si possible ou un DOMNodeList contenant tous les noeuds correspondant à 'expression XPath expression.

Exemples

Exemple #1 Récupération du nombre total de livres anglais

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// notre requête est relative au noeud tbody
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "Il y a $entries livres anglais\n";

?>

L'exemple ci-dessus va afficher :

Il y a 2 livres anglais

Voir aussi

  • DOMXPath::query - Évalue l'expression XPath donnée

DOMXPath::__construct
DOMXPath::query
DOMXPath


Évalue l'expression XPath donnée

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath
PHP Manual

DOMXPath::query

(PHP 5)

DOMXPath::query — Évalue l'expression XPath donnée

Description

DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode ] )

Évalue l'expression expression XPath donnée.

Liste de paramètres

expression

L'expression XPath à exécuter.

contextnode

Le paramètre optionnel contextnode peut être spécifié pour effectuer des requêtes XPath relative. Par défaut, les requêtes sont relatives à l'élément racine.

Valeurs de retour

Retourne un DOMNodeList contenant tous les noeuds correspondant à l'expression expression XPath donnée. Toutes les expressions qui ne retournent pas de noeud retourneront un DOMNodeList vide.

Exemples

Exemple #1 Récupération de tous les livres anglais

<?php

$doc = new DOMDocument;

// Nous ne voulons pas nous soucier des espaces blancs
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// Nous commençons à l'élément racine
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Livre trouvé {$entry->previousSibling->previousSibling->nodeValue}," .
         " par {$entry->previousSibling->nodeValue}\n";
}
?>

L'exemple ci-dessus va afficher :

Livre trouvé : The Grapes of Wrath, par John Steinbeck
Livre trouvé : The Pearl, par John Steinbeck

Nous pouvons également utiliser le paramètre contextnode pour raccourcir notre expression :

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// notre requête est relative au noeud tbody
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Livre trouvé : {$entry->previousSibling->previousSibling->nodeValue}," .
         " par {$entry->previousSibling->nodeValue}\n";
}
?>

Voir aussi

  • DOMXPath::query

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath


Enregistre l'espace de noms avec l'objet DOMXPath

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath
PHP Manual

DOMXPath::registerNamespace

(PHP 5)

DOMXPath::registerNamespace — Enregistre l'espace de noms avec l'objet DOMXPath

Description

bool DOMXPath::registerNamespace ( string $prefix , string $namespaceURI )

Enregistre l'espace de noms namespaceURI et le prefix avec l'objet DOMXPath.

Liste de paramètres

prefix

Le préfixe.

namespaceURI

L'URI de l'espace de noms.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

DOMXPath::query
DOMXPath::registerPhpFunctions
DOMXPath


Enregistre une fonction PHP comme fonction XPath

DOMXPath::registerNamespace
DOM Fonctions
DOMXPath
PHP Manual

DOMXPath::registerPhpFunctions

(PHP 5 >= 5.3.0)

DOMXPath::registerPhpFunctions — Enregistre une fonction PHP comme fonction XPath

Description

public void DOMXPath::registerPhpFunctions ([ mixed $restrict ] )

Cette méthode active la possibilité d'utiliser des fonctions PHP dans des expressions XPath.

Liste de paramètres

restrict

Utilisez ce paramètre uniquement pour autoriser certaines fonctions à être appelées depuis XPath.

Ce paramètre peut être soit une chaîne de caractères (un nom de fonction) ou un tableau de noms de fonctions.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Les exemples suivants utilisent le fichier book.xml qui contient les données suivantes :

Exemple #1 book.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <title>PHP Basics</title>
  <author>Jim Smith</author>
  <author>Jane Smith</author>
 </book>
 <book>
  <title>PHP Secrets</title>
  <author>Jenny Smythe</author>
 </book>
 <book>
  <title>XML basics</title>
  <author>Joe Black</author>
 </book>
</books>

Exemple #2 Exemple avec DOMXPath::registerPHPFunctions et php:functionString

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Enregistre l'espace de noms php (nécessaire)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Enregistre les fonctions PHP (Aucune restriction)
$xpath->registerPHPFunctions();

// Appèle la fonction substr sur le titre du livre
$nodes = $xpath->query('//book[php:functionString("substr", title, 0, 3) = "PHP"]');

echo "{$nodes->length} livres trouvés dont le titre commence par 'PHP':\n";
foreach ($nodes as $node) {
    $title  = $node->getElementsByTagName("title")->item(0)->nodeValue;
    $author = $node->getElementsByTagName("author")->item(0)->nodeValue;
    echo "$title par $author\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

2 livres trouvés dont le titre commence par 'PHP':
PHP Basics par Jim Smith
PHP Secrets par Jenny Smythe

Exemple #3 Exemple avec DOMXPath::registerPHPFunctions et php:function

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Enregistre l'espace de noms php (nécessaire)
$xpath->registerNamespace("php", "http://php.net/xpath");

// Enregistre des fonctions PHP (has_multiple uniquement)
$xpath->registerPHPFunctions("has_multiple");

function has_multiple($nodes) {
    // Retourne true s'il y a plus d'un auteur
    return count($nodes) > 1;
}
// Filtre les livres dont les auteurs sont multiples
$books = $xpath->query('//book[php:function("has_multiple", author)]');

echo "Livres avec plusieurs auteurs :\n";
foreach ($books as $book) {
    echo $book->getElementsByTagName("title")->item(0)->nodeValue . "\n";
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Livres avec plusieurs auteurs :
PHP Basics

Voir aussi

  • DOMXPath::registerNamespace - Enregistre l'espace de noms avec l'objet DOMXPath
  • DOMXPath::query - Évalue l'expression XPath donnée
  • DOMXPath::evaluate - Évalue une expression XPath donnée et retourne un résultat écrit si possible

DOMXPath::registerNamespace
DOM Fonctions
DOMXPath


DOM Fonctions

Sommaire

  • dom_import_simplexml — Transforme un objet SimpleXMLElement en un objet DOMElement
DOMXPath::registerPhpFunctions
dom_import_simplexml
DOM


Transforme un objet SimpleXMLElement en un objet DOMElement

DOM Fonctions
DOM XML (PHP 4)
DOM Fonctions
PHP Manual

dom_import_simplexml

(PHP 5)

dom_import_simplexml — Transforme un objet SimpleXMLElement en un objet DOMElement

Description

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

dom_import_simplexml() transforme l'objet SimpleXML node en un objet DOMElement. Le nouvel objet peut être utilisé en tant que noeud natif DOMElement.

Liste de paramètres

node

Le noeud SimpleXMLElement.

Valeurs de retour

Le noeud DOMElement à ajouter ou FALSE si une erreur survient.

Exemples

Exemple #1 Importation d'un objet SimpleXML dans DOM avec dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Erreur lors de l\'analyse du document';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Erreur lors de la convertion du XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Voir aussi

  • simplexml_import_dom() - Construit un objet SimpleXMLElement à partir d'un objet DOM

DOM Fonctions
DOM XML (PHP 4)
DOM Fonctions


DOM XML (PHP 4)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions DOM XML (PHP 4)
    • DomAttribute->name — Retourne le nom de l'attribut
    • DomAttribute->set_value — Spécifie une valeur à un attribut
    • DomAttribute->specified — Vérifie si un attribut est spécifié
    • DomAttribute->value — Retourne la valeur d'un attribut
    • DomDocument->add_root — Ajoute un noeud
    • DomDocument->create_attribute — Crée un nouvel attribut
    • DomDocument->create_cdata_section — Crée un nouveau noeud CDATA
    • DomDocument->create_comment — Crée un nouveau noeud de commentaire
    • DomDocument->create_element_ns — Crée un nouvel élément avec un espace de noms associé
    • DomDocument->create_element — Crée un nouveau noeud élément
    • DomDocument->create_entity_reference — Crée une entité référence
    • DomDocument->create_processing_instruction — Crée un nouveau noeud de traitement d'instructions (PI)
    • DomDocument->create_text_node — Crée un nouveau noeud de texte
    • DomDocument->doctype — Retourne le type de document
    • DomDocument->document_element — Retourne le noeud racine d'un document DOM XML
    • DomDocument->dump_file — Convertit un document DOM XML en fichier
    • DomDocument->dump_mem — Convertit l'arbre XML interne en une chaîne de caractères
    • DomDocument->get_element_by_id — Recherche un élément avec son identifiant
    • DomDocument->get_elements_by_tagname — Retourne un tableau avec noeuds pour le nom de balise donné dans le document ou un tableau vide si non trouvé
    • DomDocument->html_dump_mem — Convertit l'arbre XML interne en une chaîne de caractères au format HTML
    • DomDocument->xinclude — Remplace XIncludes dans un objet DomDocument
    • DomDocumentType->entities — Retourne la liste des entités
    • DomDocumentType->internal_subset — Retourne le sous ensemble interne (internal subset)
    • DomDocumentType->name — Retourne le nom du type de document
    • DomDocumentType->notations — Retourne la liste des notations
    • DomDocumentType->public_id — Retourne l'identifiant public du type de document
    • DomDocumentType->system_id — Retourne l'identifiant système du type de document
    • DomElement->get_attribute_node — Retourne la valeur d'un attribut
    • DomElement->get_attribute — Retourne la valeur d'un attribut
    • DomElement->get_elements_by_tagname — Lit les éléments par nom de balise
    • DomElement->has_attribute — Vérifie si un attribut existe
    • DomElement->remove_attribute — Supprime un attribut
    • DomElement->set_attribute_node — Ajoute un nouvel attribut
    • DomElement->set_attribute — Définie la valeur d'un attribut
    • DomElement->tagname — Retourne le nom de l'élément courant
    • DomNode->add_namespace — Ajoute une déclaration d'espace de nom à un noeud
    • DomNode->append_child — Ajoute un nouveau fils à la fin des enfants
    • DomNode->append_sibling — Ajoute un frère à un noeud
    • DomNode->attributes — Retourne la liste des attributs
    • DomNode->child_nodes — Retourne les fils d'un noeud
    • DomNode->clone_node — Clone un noeud
    • DomNode->dump_node — Convertit un noeud en chaîne
    • DomNode->first_child — Retourne le premier fils du noeud
    • DomNode->get_content — Retourne le contenu du noeud
    • DomNode->has_attributes — Vérifie si un noeud a des attributs
    • DomNode->has_child_nodes — Vérifie si un noeud a des fils
    • DomNode->insert_before — Insère un nouveau noeud fils
    • DomNode->is_blank_node — Vérifie si un noeud est blanc
    • DomNode->last_child — Retourne le dernier fils du noeud
    • DomNode->next_sibling — Retourne le prochain noeud frère
    • DomNode->node_name — Retourne le nom du noeud
    • DomNode->node_type — Retourne le type de noeud
    • DomNode->node_value — Retourne la valeur d'un noeud
    • DomNode->owner_document — Retourne le document auquel appartient ce noeud DOM XML
    • DomNode->parent_node — Retourne le père d'un noeud DOM XML
    • DomNode->prefix — Retourne le préfixe d'espace de nom d'un noeud
    • DomNode->previous_sibling — Retourne le frère précédent d'un noeud
    • DomNode->remove_child — Supprime un fils de la liste des noeuds fils
    • DomNode->replace_child — Remplace un noeud fils
    • DomNode->replace_node — Remplace un noeud DomXML
    • DomNode->set_content — Modifie le contenu d'un noeud
    • DomNode->set_name — Modifie le nom d'un noeud
    • DomNode->set_namespace — Modifie l'espace de noms d'un noeud
    • DomNode->unlink_node — Efface un noeud
    • DomProcessingInstruction->data — Retourne les données du noeud l'instruction en cours
    • DomProcessingInstruction->target — Retourne la cible du noeud de l'instruction en cours
    • DomXsltStylesheet->process — Applique une transformation XSLT à un objet domdocument
    • DomXsltStylesheet->result_dump_file — Écrit le résultat d'un transformation XSLT dans un fichier
    • DomXsltStylesheet->result_dump_mem — Écrit le résultat d'un transformation XSLT dans une chaîne
    • domxml_new_doc — Crée un document XML vide
    • domxml_open_file — Crée un objet DOM à partir d'un fichier XML
    • domxml_open_mem — Crée un objet DOM pour un document XML
    • domxml_version — Lit le numéro de version de la bibliothèque XML
    • domxml_xmltree — Crée un arbre d'objets PHP à partir d'un document XML
    • domxml_xslt_stylesheet_doc — Crée un objet DomXsltStylesheet à partir d'un objet DomDocument
    • domxml_xslt_stylesheet_file — Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier
    • domxml_xslt_stylesheet — Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne
    • domxml_xslt_version — Lit le numéro de version de la bibliothèque XSLT
    • xpath_eval_expression — Calcule un chemin XPath à partir d'une chaîne
    • xpath_eval — Calcule un chemin XPath à partir d'une chaîne
    • xpath_new_context — Crée un nouveau contexte xpath
    • xpath_register_ns_auto — Sauvegarde l'espace de nom donné dans le contexte XPath passé
    • xpath_register_ns — Sauvegarde l'espace de nom donné dans le contexte XPath passé
    • xptr_eval — Calcul un chemin XPtr à partir d'une chaîne
    • xptr_new_context — Crée un nouveau contexte XPath
dom_import_simplexml
Introduction
Manipulation XML


Introduction

L'extension DOM XML a été reprise en main en PHP 4.3.0 pour être mieux compatible avec les standards DOM. L'extension contient encore de vieilles fonctions, mais elles ne sont plus utilisées. En particulier, les fonctions qui ne sont pas orientées objets ne doivent pas être utilisées.

Cette extension vous permet de générer des documents XML avec les API DOM. Elle fournit aussi une fonction domxml_xmltree() qui transforme un fichier XML en tableau PHP. Actuellement, ce tableau est accessible uniquement en lecture. Cela ne signifie pas que vous ne pouvez pas le modifier, mais cela n'aurait aucun sens car DomDocument_dump_mem() ne pourra pas prendre ces modifications en considération. Par conséquent, si vous voulez lire un fichier XML et écrire sa version modifiée, utilisez les fonctions DomDocument_create_text_node(), set_attribute(), etc. et finalement DomDocument_dump_mem().

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

Note: Cette extension n'est plus considérée comme expérimental. Néanmoins, elle ne sera jamais distribuée avec PHP 5 mais uniquement avec PHP 4. Si vous avez besoin du support DOM XML avec PHP 5, vous pouvez utiliser l'extension DOM. domxml n'est pas compatible avec l'extension DOM.

DOM XML (PHP 4)
Installation/Configuration
DOM XML (PHP 4)


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
DOM XML (PHP 4)


Pré-requis

Cette extension utilise la bibliothèque » GNOME XML. Téléchargez là, puis installez là. Vous aurez besoin de la version libxml-2.4.14 ou plus récent. Pour utiliser les fonctionnalités DOM XSLT vous pouvez utiliser la bibliothèque » libxslt et les progrès des EXSLT (» http://www.exslt.org/). Téléchargez et installez ces bibliothèques si vous envisagez d'exploiter ces fonctionnalités. Vous aurez besoin d'au moins libxslt-1.0.18.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/domxml.

En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Cette extension est uniquement disponible si PHP a été configuré lors de la compilation avec l'option --with-dom=[DIR]. Ajoutez --with-dom-xslt[=DIR] pour inclure le support DOM XSLT. DIR est le dossier d'installation de libxslt. Ajoutez --with-dom-exslt[=DIR] pour inclure le support DOM EXSLT. DIR est le dossier d'installation de libxsl.

Les utilisateurs de Windows doivent activer la bibliothèque php_domxml.dll dans le php.ini pour pouvoir utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées. Aucune bibliothèque DLL pour cette extension PECL n'est actuellement disponible. Reportez-vous à la section Compilation sous Windows. En outre, il y a une DLL additionnelle qui doit être disponible à votre PATH système pour faire fonctionner cette extension. En PHP 4, elle se trouve dans le dossier dlls/. Son nom : Pour PHP <= 4.2.0, c'est libxml2.dll. Pour PHP >= 4.3.0, c'est iconv.dll. Et depuis PHP 5.0.0, iconv est compilé dans les binaires PHP pour Windows par défaut, donc, aucune bibliothèque supplémentaire n'est nécessaire.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Constantes XML
Constant | Value | Description
XML_ELEMENT_NODE (entier) | 1 | Le noeud est un élément
XML_ATTRIBUTE_NODE (entier) | 2 | Le noeud est un attribut
XML_TEXT_NODE (entier) | 3 | Le noeud est un texte
XML_CDATA_SECTION_NODE (entier) | 4 |
XML_ENTITY_REF_NODE (entier) | 5 |
XML_ENTITY_NODE (entier) | 6 | Le noeud est une entité, telle que &nbsp;
XML_PI_NODE (entier) | 7 | Le noeud est une instruction de script
XML_COMMENT_NODE (entier) | 8 | Le noeud est un commentaire
XML_DOCUMENT_NODE (entier) | 9 | Le noeud est un document
XML_DOCUMENT_TYPE_NODE (entier) | 10 |
XML_DOCUMENT_FRAG_NODE (entier) | 11 |
XML_NOTATION_NODE (entier) | 12 |
XML_GLOBAL_NAMESPACE (entier) | 1 |
XML_LOCAL_NAMESPACE (entier) | 2 |
XML_HTML_DOCUMENT_NODE (entier) |  |
XML_DTD_NODE (entier) |  |
XML_ELEMENT_DECL_NODE (entier) |  |
XML_ATTRIBUTE_DECL_NODE (entier) |  |
XML_ENTITY_DECL_NODE (entier) |  |
XML_NAMESPACE_DECL_NODE (entier) |  |
XML_ATTRIBUTE_CDATA (entier) |  |
XML_ATTRIBUTE_ID (entier) |  |
XML_ATTRIBUTE_IDREF (entier) |  |
XML_ATTRIBUTE_IDREFS (entier) |  |
XML_ATTRIBUTE_ENTITY (entier) |  |
XML_ATTRIBUTE_NMTOKEN (entier) |  |
XML_ATTRIBUTE_NMTOKENS (entier) |  |
XML_ATTRIBUTE_ENUMERATION (entier) |  |
XML_ATTRIBUTE_NOTATION (entier) |  |
XPATH_UNDEFINED (entier) |  |
XPATH_NODESET (entier) |  |
XPATH_BOOLEAN (entier) |  |
XPATH_NUMBER (entier) |  |
XPATH_STRING (entier) |  |
XPATH_POINT (entier) |  |
XPATH_RANGE (entier) |  |
XPATH_LOCATIONSET (entier) |  |
XPATH_USERS (entier) |  |
XPATH_NUMBER (entier) |  |
Types de ressources
Fonctions DOM XML (PHP 4)
DOM XML (PHP 4)


Fonctions DOM XML (PHP 4)

Fonctions dépréciées

Il y a un groupe de fonctions qui ne sont pas compatibles avec les standards DOM et qui ne devraient plus être utilisées. Ces fonctions sont listées dans la table ci-dessous. La fonction domNode_append_child() a vu son comportement changer. Désormais, elle ajoute un fils et non pas un frère. Si cela casse votre application, utilisez plutôt la fonction domNode_append_sibling(), qui ne fait pas partie des standards.

Fonctions abandonnées et leur remplacement
Ancienne fonction | Nouvelle fonction
xmldoc | domxml_open_mem()
xmldocfile | domxml_open_file()
domxml_new_xmldoc | domxml_new_doc()
domxml_dump_mem | DomDocument_dump_mem()
domxml_dump_mem_file | DomDocument_dump_file()
DomDocument_dump_mem_file | DomDocument_dump_file()
DomDocument_add_root | DomDocument_create_element() suivie de DomNode_append_child()
DomDocument_dtd | DomDocument_doctype()
DomDocument_root | DomDocument_document_element()
DomDocument_children | DomNode_child_nodes()
DomDocument_imported_node | Pas de remplacement.
DomNode_add_child | Créez un nouveau noeud avec DomDocument_create_element() puis ajoutez-le avec DomNode_append_child().
DomNode_children | DomNode_child_nodes()
DomNode_parent | DomNode_parent_node()
DomNode_new_child | Créez un nouveau noeud avec DomDocument_create_element() puis ajoutez-le avec DomNode_append_child().
DomNode_set_content | Créez un nouveau noeud avec DomDocument_create_text_node() puis ajoutez-le avec DomNode_append_child().
DomNode_get_content | Le contenu est juste un noeud de texte, et est accessible via DomNode_child_nodes().
DomNode_set_content | Le contenu est juste un noeud de texte, et peut être ajouté avec DomNode_append_child().

Classes

L'API de ce module suit le standard DOM niveau 2 aussi fidèlement que possible. Par conséquent, l'API est totalement orientée objet. C'est une bonne idée d'avoir les standards DOM disponibles sous la main, lorsque vous utilisez ce module. Bien que cette API soit orientée objet, il existe de nombreuses fonctions qui peuvent être appelées d'une manière non objet, en passant l'objet à utiliser comme premier argument de la fonction. Ces fonctions sont essentiellement conservées pour assurer la compatibilité avec les extensions plus anciennes, et ne doivent pas être utilisées.

Cette API diffère de l'API officielle DOM en deux points. Le premier est que tous les attributs des classes sont implémentées comme des fonctions du même nom. Le second est que les noms des fonctions suivent les standards PHP. Cela signifie que la fonction DOM lastChild() s'écrit en PHP last_child().

Ce module définit un grand nombre de classe, qui sont listés en incluant leur méthodes dans les tables suivantes. Les classes ayant un équivalent DOM sont préfixées par DOM.

Liste de classes
Nom de la classe | Classe parente
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomDocument : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | Actuellement, toujours appelée DomParser
XPathContext |

Classe DomDocument (DomDocument : DomNode)
Nom de la méthode | Nom de la fonction | Remarques
doctype | DomDocument_doctype() |
document_element | DomDocument_document_element() |
create_element | DomDocument_create_element() |
create_text_node | DomDocument_create_text_node() |
create_comment | DomDocument_create_comment() |
create_cdata_section | DomDocument_create_cdata_section() |
create_processing_instruction | DomDocument_create_processing_instruction() |
create_attribute | DomDocument_create_attribute() |
create_entity_reference | DomDocument_create_entity_reference() |
get_elements_by_tagname | DomDocument_get_elements_by_tagname() |
get_element_by_id | DomDocument_get_element_by_id() |
dump_mem | DomDocument_dump_mem() | Non standard DOM
dump_file | DomDocument_dump_file() | Non standard DOM
html_dump_mem | DomDocument_html_dump_mem() | Non standard DOM
xpath_init | xpath_init | Non standard DOM
xpath_new_context | xpath_new_context | Non standard DOM
xptr_new_context | xptr_new_context | Non standard DOM

Classe DomElement (DomElement : DomNode)
Nom de la méthode | Nom de la fonction | Remarques
tagname | DomElement_tagname() |
get_attribute | DomElement_get_attribute() |
set_attribute | DomElement_set_attribute() |
remove_attribute | DomElement_remove_attribute() |
get_attribute_node | DomElement_get_attribute_node() |
set_attribute_node | DomElement_set_attribute_node() |
get_elements_by_tagname | DomElement_get_elements_by_tagname() |
has_attribute | DomElement_has_attribute() |

Classe DomNode
Nom de la méthode | Remarques
DomNode_node_name() |
DomNode_node_value() |
DomNode_node_type() |
DomNode_last_child() |
DomNode_first_child() |
DomNode_child_nodes() |
DomNode_previous_sibling() |
DomNode_next_sibling() |
DomNode_parent_node() |
DomNode_owner_document() |
DomNode_insert_before() |
DomNode_append_child() |
DomNode_append_sibling() | Non standard DOM. Cette fonction émule le comportement précédent de DomNode_append_child().
DomNode_remove_child() |
DomNode_has_child_nodes() |
DomNode_has_attributes() |
DomNode_clone_node() |
DomNode_attributes() |
DomNode_unlink_node() | Non standard DOM
DomNode_replace_node() | Non standard DOM
DomNode_set_content() | Non standard DOM, déprécié
DomNode_get_content() | Non standard DOM, déprécié
DomNode_dump_node() | Non standard DOM
DomNode_is_blank_node() | Non standard DOM

Classe DomAttribute (DomAttribute : DomNode)
Nom de la méthode |  | Remarques
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

Classe DomProcessingInstruction (DomProcessingInstruction : DomNode)
Nom de la méthode | Nom de la fonction | Remarques
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

Classe Parser
Nom de la méthode | Nom de la fonction | Remarques
add_chunk | Parser_add_chunk() |
end | Parser_end() |

Classe XPathContext
Nom de la méthode | Nom de la fonction | Remarques
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

Classe DomDocumentType (DomDocumentType : DomNode)
Nom de la méthode | Nom de la fonction | Remarques
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

Les classes DomDtd sont dérivées de DomNode. DomComment est dérivée de DomCData.

Exemples

De nombreux exemples de cette partie requièrent une chaîne XML. Au lieu de répéter la chaîne dans tous les exemples, elle sera mise dans un fichier, qui sera inclus dans tous les exemples. Ce fichier inclus sera utilisé dans les exemples suivants dans cette section. Alternativement, vous pouvez créer un document XML et le lire avec la fonction DomDocument_open_file().

Exemple #1 Fichier d'inclusion example.inc pour la chaîne XML d'exemple

<?php
$xmlstr = "<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj  -->
<chapter language='en'><title language='en'>Title</title>
 <para language='ge'>
  &sp;
  <!-- comment -->
  <informaltable ID='findme' language='&sp;'>
   <tgroup cols='3'>
    <tbody>
     <row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
</chapter>";
?>

Sommaire

  • DomAttribute->name — Retourne le nom de l'attribut
  • DomAttribute->set_value — Spécifie une valeur à un attribut
  • DomAttribute->specified — Vérifie si un attribut est spécifié
  • DomAttribute->value — Retourne la valeur d'un attribut
  • DomDocument->add_root — Ajoute un noeud
  • DomDocument->create_attribute — Crée un nouvel attribut
  • DomDocument->create_cdata_section — Crée un nouveau noeud CDATA
  • DomDocument->create_comment — Crée un nouveau noeud de commentaire
  • DomDocument->create_element_ns — Crée un nouvel élément avec un espace de noms associé
  • DomDocument->create_element — Crée un nouveau noeud élément
  • DomDocument->create_entity_reference — Crée une entité référence
  • DomDocument->create_processing_instruction — Crée un nouveau noeud de traitement d'instructions (PI)
  • DomDocument->create_text_node — Crée un nouveau noeud de texte
  • DomDocument->doctype — Retourne le type de document
  • DomDocument->document_element — Retourne le noeud racine d'un document DOM XML
  • DomDocument->dump_file — Convertit un document DOM XML en fichier
  • DomDocument->dump_mem — Convertit l'arbre XML interne en une chaîne de caractères
  • DomDocument->get_element_by_id — Recherche un élément avec son identifiant
  • DomDocument->get_elements_by_tagname — Retourne un tableau avec noeuds pour le nom de balise donné dans le document ou un tableau vide si non trouvé
  • DomDocument->html_dump_mem — Convertit l'arbre XML interne en une chaîne de caractères au format HTML
  • DomDocument->xinclude — Remplace XIncludes dans un objet DomDocument
  • DomDocumentType->entities — Retourne la liste des entités
  • DomDocumentType->internal_subset — Retourne le sous ensemble interne (internal subset)
  • DomDocumentType->name — Retourne le nom du type de document
  • DomDocumentType->notations — Retourne la liste des notations
  • DomDocumentType->public_id — Retourne l'identifiant public du type de document
  • DomDocumentType->system_id — Retourne l'identifiant système du type de document
  • DomElement->get_attribute_node — Retourne la valeur d'un attribut
  • DomElement->get_attribute — Retourne la valeur d'un attribut
  • DomElement->get_elements_by_tagname — Lit les éléments par nom de balise
  • DomElement->has_attribute — Vérifie si un attribut existe
  • DomElement->remove_attribute — Supprime un attribut
  • DomElement->set_attribute_node — Ajoute un nouvel attribut
  • DomElement->set_attribute — Définie la valeur d'un attribut
  • DomElement->tagname — Retourne le nom de l'élément courant
  • DomNode->add_namespace — Ajoute une déclaration d'espace de nom à un noeud
  • DomNode->append_child — Ajoute un nouveau fils à la fin des enfants
  • DomNode->append_sibling — Ajoute un frère à un noeud
  • DomNode->attributes — Retourne la liste des attributs
  • DomNode->child_nodes — Retourne les fils d'un noeud
  • DomNode->clone_node — Clone un noeud
  • DomNode->dump_node — Convertit un noeud en chaîne
  • DomNode->first_child — Retourne le premier fils du noeud
  • DomNode->get_content — Retourne le contenu du noeud
  • DomNode->has_attributes — Vérifie si un noeud a des attributs
  • DomNode->has_child_nodes — Vérifie si un noeud a des fils
  • DomNode->insert_before — Insère un nouveau noeud fils
  • DomNode->is_blank_node — Vérifie si un noeud est blanc
  • DomNode->last_child — Retourne le dernier fils du noeud
  • DomNode->next_sibling — Retourne le prochain noeud frère
  • DomNode->node_name — Retourne le nom du noeud
  • DomNode->node_type — Retourne le type de noeud
  • DomNode->node_value — Retourne la valeur d'un noeud
  • DomNode->owner_document — Retourne le document auquel appartient ce noeud DOM XML
  • DomNode->parent_node — Retourne le père d'un noeud DOM XML
  • DomNode->prefix — Retourne le préfixe d'espace de nom d'un noeud
  • DomNode->previous_sibling — Retourne le frère précédent d'un noeud
  • DomNode->remove_child — Supprime un fils de la liste des noeuds fils
  • DomNode->replace_child — Remplace un noeud fils
  • DomNode->replace_node — Remplace un noeud DomXML
  • DomNode->set_content — Modifie le contenu d'un noeud
  • DomNode->set_name — Modifie le nom d'un noeud
  • DomNode->set_namespace — Modifie l'espace de noms d'un noeud
  • DomNode->unlink_node — Efface un noeud
  • DomProcessingInstruction->data — Retourne les données du noeud l'instruction en cours
  • DomProcessingInstruction->target — Retourne la cible du noeud de l'instruction en cours
  • DomXsltStylesheet->process — Applique une transformation XSLT à un objet domdocument
  • DomXsltStylesheet->result_dump_file — Écrit le résultat d'un transformation XSLT dans un fichier
  • DomXsltStylesheet->result_dump_mem — Écrit le résultat d'un transformation XSLT dans une chaîne
  • domxml_new_doc — Crée un document XML vide
  • domxml_open_file — Crée un objet DOM à partir d'un fichier XML
  • domxml_open_mem — Crée un objet DOM pour un document XML
  • domxml_version — Lit le numéro de version de la bibliothèque XML
  • domxml_xmltree — Crée un arbre d'objets PHP à partir d'un document XML
  • domxml_xslt_stylesheet_doc — Crée un objet DomXsltStylesheet à partir d'un objet DomDocument
  • domxml_xslt_stylesheet_file — Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier
  • domxml_xslt_stylesheet — Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne
  • domxml_xslt_version — Lit le numéro de version de la bibliothèque XSLT
  • xpath_eval_expression — Calcule un chemin XPath à partir d'une chaîne
  • xpath_eval — Calcule un chemin XPath à partir d'une chaîne
  • xpath_new_context — Crée un nouveau contexte xpath
  • xpath_register_ns_auto — Sauvegarde l'espace de nom donné dans le contexte XPath passé
  • xpath_register_ns — Sauvegarde l'espace de nom donné dans le contexte XPath passé
  • xptr_eval — Calcul un chemin XPtr à partir d'une chaîne
  • xptr_new_context — Crée un nouveau contexte XPath
Constantes pré-définies
DomAttribute->name
DOM XML (PHP 4)


Retourne le nom de l'attribut

Fonctions DOM XML (PHP 4)
DomAttribute->set_value
Fonctions DOM XML (PHP 4)
PHP Manual

DomAttribute->name

(PHP 4 >= 4.1.0)

DomAttribute->name — Retourne le nom de l'attribut

Description

DomAttribute
string name ( void )

Récupère le nom de l'attribut.

Valeurs de retour

Retourne le nom de l'attribut.

Migration vers PHP 5

Utilisez la propriété name de DOMAttr.

Voir aussi

  • DomAttribute->value pour un exemple

Fonctions DOM XML (PHP 4)
DomAttribute->set_value
Fonctions DOM XML (PHP 4)


Spécifie une valeur à un attribut

DomAttribute->name
DomAttribute->specified
Fonctions DOM XML (PHP 4)
PHP Manual

DomAttribute->set_value

(PHP 4 >= 4.1.0)

DomAttribute->set_value — Spécifie une valeur à un attribut

Description

DomAttribute
bool set_value ( string $content )

Cette fonction spécifie une valeur à un attribut.

Liste de paramètres

content

La nouvelle valeur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Migration vers PHP 5

Utilisez la propriété value de DOMAttr.

Voir aussi

  • DomAttribute->value

DomAttribute->name
DomAttribute->specified
Fonctions DOM XML (PHP 4)


Vérifie si un attribut est spécifié

DomAttribute->set_value
DomAttribute->value
Fonctions DOM XML (PHP 4)
PHP Manual

DomAttribute->specified

(PHP 4 >= 4.1.0)

DomAttribute->specified — Vérifie si un attribut est spécifié

Description

DomAttribute
bool specified ( void )

Vérifie si une valeur d'attribut a été explicitement donnée dans le document original.

Note: Cette méthode n'est pas encore implémentée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • La définition de » spécifié dans les Recommandations DOM

DomAttribute->set_value
DomAttribute->value
Fonctions DOM XML (PHP 4)


Retourne la valeur d'un attribut

DomAttribute->specified
DomDocument->add_root
Fonctions DOM XML (PHP 4)
PHP Manual

DomAttribute->value

(PHP 4 >= 4.1.0)

DomAttribute->value — Retourne la valeur d'un attribut

Description

DomAttribute
string value ( void )

DomAttribute->value retourne la valeur de l'attribut.

Exemples

Exemple #1 Récupération de tous les attributs d'un noeud

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
     echo "Erreur lors de l'analyse du document\n";
     exit;
}

$root = $dom->document_element();
$attrs = $root->attributes();

echo 'Attributs de ' . $root->node_name() . "\n";
foreach ($attrs as $attribute) {
     echo ' - ' . $attribute->name . ' : ' . $attribute->value . "\n";
}

?>

L'exemple ci-dessus va afficher :

Attributs de chapter
 - language : en

Valeurs de retour

Retourne la valeur de l'attribut.

Migration vers PHP 5

Utilisez la propriété value de DOMAttr.

Voir aussi

  • DomAttribute->set_value
  • DomAttribute->name

DomAttribute->specified
DomDocument->add_root
Fonctions DOM XML (PHP 4)


Ajoute un noeud

DomAttribute->value
DomDocument->create_attribute
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->add_root

(PHP 4 >= 4.1.0)

DomDocument->add_root — Ajoute un noeud

Description

domelement DomDocument->add_root ( string $name )

DomDocument->add_root ajoute un noeud racine au document dom, et retourne le nouveau noeud. Le nom de l'élément créé est fourni par le paramètre name.

Exemple #1 Création d'un en-tête de document HTML

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->add_root("html");
$head = $root->new_child("head", "");
$head->new_child("title", "Voilà le titre");
echo htmlentities($doc->dump_mem());
?>

DomAttribute->value
DomDocument->create_attribute
Fonctions DOM XML (PHP 4)


Crée un nouvel attribut

DomDocument->add_root
DomDocument->create_cdata_section
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_attribute

(PHP 4 >= 4.1.0)

DomDocument->create_attribute — Crée un nouvel attribut

Description

domattribute DomDocument->create_attribute ( string $name , string $value )

DomDocument->create_attribute() retourne une nouvelle instance de la classe DomAttribute. Le nom de l'attribut sera name, et sa valeur sera value. Ce noeud ne sera pas utilisé dans le document jusqu'à ce qu'il soit inséré dans le document avec la fonction domnode_append_child().

DomDocument->create_attribute() retourne FALSE si une erreur survient.

Voir aussi
domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->add_root
DomDocument->create_cdata_section
Fonctions DOM XML (PHP 4)


Crée un nouveau noeud CDATA

DomDocument->create_attribute
DomDocument->create_comment
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_cdata_section

(PHP 4 >= 4.1.0)

DomDocument->create_cdata_section — Crée un nouveau noeud CDATA

Description

domcdata DomDocument->create_cdata_section ( string $content )

DomDocument->create_cdata_section() retourne une nouvelle instance de la classe DomCData. Le contenu du CDATA sera content. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

DomDocument->create_cdata_section() retourne FALSE si une erreur survient.

Voir aussi
domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->create_attribute
DomDocument->create_comment
Fonctions DOM XML (PHP 4)


Crée un nouveau noeud de commentaire

DomDocument->create_cdata_section
DomDocument->create_element_ns
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_comment

(PHP 4 >= 4.1.0)

DomDocument->create_comment — Crée un nouveau noeud de commentaire

Description

domcomment DomDocument->create_comment ( string $content )

DomDocument->create_comment() retourne une nouvelle instance de la classe DomComment. Le contenu du commentaire sera content. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

DomDocument->create_comment() retourne FALSE si une erreur survient.

Voir aussi
domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->create_cdata_section
DomDocument->create_element_ns
Fonctions DOM XML (PHP 4)


Crée un nouvel élément avec un espace de noms associé

DomDocument->create_comment
DomDocument->create_element
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_element_ns

(PHP 4 >= 4.1.0)

DomDocument->create_element_ns — Crée un nouvel élément avec un espace de noms associé

Description

domelement DomDocument->create_element_ns ( string $uri , string $name [, string $prefix ] )

DomDocument->create_element_ns() retourne une nouvelle instance de la classe DomElement. Le nom de balise de l'élément sera content. L'URI de l'espace de noms est la valeur passé dans le paramètre uri. S'il y a déjà un espace de nom déclaré avec la même URI dans le document, le préfixe de ce dernier sera réservé, et sinon, il faudra en fournir un avec le paramètre prefix ou bien en générer un. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

DomDocument->create_element_ns() retourne FALSE si une erreur survient.

Voir aussi
domdocument_create_element_ns(),
domnode_add_namespace(),
domnode_set_namespace(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->create_comment
DomDocument->create_element
Fonctions DOM XML (PHP 4)


Crée un nouveau noeud élément

DomDocument->create_element_ns
DomDocument->create_entity_reference
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_element

(PHP 4 >= 4.1.0)

DomDocument->create_element — Crée un nouveau noeud élément

Description

domelement DomDocument->create_element ( string $name )

DomDocument->create_element() retourne une nouvelle instance de la classe DomElement. Le nom de balise l'élément sera name. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

DomDocument->create_processing_instruction() retourne FALSE si une erreur survient.

Voir aussi
domdocument_create_element_ns(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->create_element_ns
DomDocument->create_entity_reference
Fonctions DOM XML (PHP 4)


Crée une entité référence

DomDocument->create_element
DomDocument->create_processing_instruction
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_entity_reference

(PHP 4 >= 4.1.0)

DomDocument->create_entity_reference — Crée une entité référence

Description

domentityreference DomDocument->create_entity_reference ( string $content )

DomDocument->create_entity_reference() retourne une nouvelle instance de la classe DomEntityReference. Le contenu de la référence d'entité est passé dans le paramètre content. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

DomDocument->create_entity_reference() retourne FALSE si une erreur survient.

Voir aussi
domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_attribute() et
domnode_insert_before().

DomDocument->create_element
DomDocument->create_processing_instruction
Fonctions DOM XML (PHP 4)


Crée un nouveau noeud de traitement d'instructions (PI)

DomDocument->create_entity_reference
DomDocument->create_text_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_processing_instruction

(PHP 4 >= 4.1.0)

DomDocument->create_processing_instruction — Crée un nouveau noeud de traitement d'instructions (PI)

Description

domprocessinginstruction DomDocument->create_processing_instruction ( string $content )

DomDocument->create_processing_instruction() retourne une nouvelle instance de la classe DomCData. Le contenu de l'unité de traitement sera content. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

DomDocument->create_processing_instruction() retourne FALSE si une erreur survient.

Voir aussi
domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_attribute(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->create_entity_reference
DomDocument->create_text_node
Fonctions DOM XML (PHP 4)


Crée un nouveau noeud de texte

DomDocument->create_processing_instruction
DomDocument->doctype
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->create_text_node

(PHP 4 >= 4.1.0)

DomDocument->create_text_node — Crée un nouveau noeud de texte

Description

domtext DomDocument->create_text_node ( string $content )

DomDocument->create_text_node() retourne une nouvelle instance de la classe DomText. Le contenu de ce noeud est content. Le noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec domnode_append_child().

La fonction retourne FALSE en cas d'erreur.

Voir aussi
domnode_append_child(),
domdocument_create_element(),
domdocument_create_comment(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference() et
domnode_insert_before().

DomDocument->create_processing_instruction
DomDocument->doctype
Fonctions DOM XML (PHP 4)


Retourne le type de document

DomDocument->create_text_node
DomDocument->document_element
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->doctype

(PHP 4 >= 4.1.0)

DomDocument->doctype — Retourne le type de document

Description

domdocumenttype DomDocument->doctype ( void )

DomDocument->doctype retourne un objet de la classe DomDocumenttype. Dans les versions de PHP antérieures à la version 4.3, c'était la classe Dtd, mais les standards DOM ne disposent pas d'une telle classe.

Voir aussi les méthodes de la classe DomDocumentType.

DomDocument->create_text_node
DomDocument->document_element
Fonctions DOM XML (PHP 4)


Retourne le noeud racine d'un document DOM XML

DomDocument->doctype
DomDocument->dump_file
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->document_element

(PHP 4 >= 4.1.0)

DomDocument->document_element — Retourne le noeud racine d'un document DOM XML

Description

domelement DomDocument->document_element ( void )

DomDocument->document_element() retourne le noeud racine d'un document DOM XML.

L'exemple suivant retourne simplement l'élément nommé CHAPTER, puis l'affiche. L'autre noeud (le commentaire), n'est pas retourné.

Exemple #1 Récupération du noeud racine avec DomDocument->document_element()

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur lors de l'analyse du document\n";
  exit;
}

$root = $dom->document_element();
print_r($root);
?>

L'exemple ci-dessus va afficher :

domelement Object
(
    [type] => 1
    [tagname] => chapter
    [0] => 6
    [1] => 137960648
)

DomDocument->doctype
DomDocument->dump_file
Fonctions DOM XML (PHP 4)


Convertit un document DOM XML en fichier

DomDocument->document_element
DomDocument->dump_mem
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->dump_file

(PHP 4 >= 4.1.0)

DomDocument->dump_file — Convertit un document DOM XML en fichier

Description

string DomDocument->dump_file ( string $filename [, bool $compressionmode [, bool $format ]] )

DomDocument->dump_file() crée un document XML à partir de sa représentation interne DOM. DomDocument->dump_mem() est généralement appelée après la construction d'un document à partir de zéro, comme dans l'exemple ci-dessous. Le paramètre format spécifie si l'affichage doit être formaté proprement ou pas. filename est le nom du fichier dans lequel le document XML sera sauvegardé, et compressionmode indique si le fichier doit être compressé ou pas.

Exemple #1 Création d'un en-tête de document HTML avec DomDocument->dump_file()

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$root = $doc->append_child($root);
$head = $doc->create_element("HEAD");
$head = $root->append_child($head);
$title = $doc->create_element("TITLE");
$title = $head->append_child($title);
$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);
$doc->dump_file("/tmp/test.xml", false, true);
?>

Voir aussi domdocument_dump_mem() et domdocument_html_dump_mem().

DomDocument->document_element
DomDocument->dump_mem
Fonctions DOM XML (PHP 4)


Convertit l'arbre XML interne en une chaîne de caractères

DomDocument->dump_file
DomDocument->get_element_by_id
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->dump_mem

(PHP 4 >= 4.1.0)

DomDocument->dump_mem — Convertit l'arbre XML interne en une chaîne de caractères

Description

string DomDocument->dump_mem ([ bool $format [, string $encoding ]] )

DomDocument->dump_mem() crée un document XML à partir de sa représentation interne DOM. DomDocument->dump_mem() est généralement appelée après la construction d'un document à partir de zéro, comme dans l'exemple ci-dessous. Le paramètre format spécifie si l'affichage doit être formaté proprement ou pas.

Exemple #1 Création d'un en-tête de document HTML avec DomDocument->dump_mem()

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$root = $doc->append_child($root);
$head = $doc->create_element("HEAD");
$head = $root->append_child($head);
$title = $doc->create_element("TITLE");
$title = $head->append_child($title);
$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);
echo "<pre>";
echo htmlentities($doc->dump_mem(true));
echo "</pre>";
?>

Note: Le premier paramètre a été ajouté en PHP 4.3.0.

Voir aussi domdocument_dump_file() et domdocument_html_dump_mem().

DomDocument->dump_file
DomDocument->get_element_by_id
Fonctions DOM XML (PHP 4)


Recherche un élément avec son identifiant

DomDocument->dump_mem
DomDocument->get_elements_by_tagname
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->get_element_by_id

(PHP 4 >= 4.1.0)

DomDocument->get_element_by_id — Recherche un élément avec son identifiant

Description

domelement DomDocument->get_element_by_id ( string $id )

DomDocument->get_element_by_id() est similaire à domdocument_get_elements_by_tagname() mais recherche un élément grâce à l'identifiant passé en paramètre id. Suivant les standards DOM, cela impose l'utilisation d'une DTD qui définit l'attribut ID du type ID, même si l'implémentation courante fait une simple recherche xpath sur //*[@ID = '%s']. Ce n'est pas conforme aux standard DOM, qui demandent le retour de la valeur NULL s'il n'est pas possible de savoir quel attribut est de type id. Ce comportement sera probablement corrigé, alors ne vous fiez pas totalement à ce comportement actuel.

Voir aussi domdocument_get_elements_by_tagname().

DomDocument->dump_mem
DomDocument->get_elements_by_tagname
Fonctions DOM XML (PHP 4)


Retourne un tableau avec noeuds pour le nom de balise donné dans le document ou un tableau vide si non trouvé

DomDocument->get_element_by_id
DomDocument->html_dump_mem
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->get_elements_by_tagname

(PHP 4 >= 4.1.0)

DomDocument->get_elements_by_tagname — Retourne un tableau avec noeuds pour le nom de balise donné dans le document ou un tableau vide si non trouvé

Description

array DomDocument->get_elements_by_tagname ( string $name )

Voir aussi domdocument_add_root().

DomDocument->get_element_by_id
DomDocument->html_dump_mem
Fonctions DOM XML (PHP 4)


Convertit l'arbre XML interne en une chaîne de caractères au format HTML

DomDocument->get_elements_by_tagname
DomDocument->xinclude
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->html_dump_mem

(PHP 4 >= 4.1.0)

DomDocument->html_dump_mem — Convertit l'arbre XML interne en une chaîne de caractères au format HTML

Description

string DomDocument->html_dump_mem ( void )

DomDocument->html_dump_mem() crée un document HTML à partir de sa représentation interne DOM. DomDocument->dump_mem() est généralement appelée après la construction d'un document à partir de zéro, comme dans l'exemple ci-dessous.

Exemple #1 Création d'un en-tête de document HTML avec DomDocument->html_dump_mem()

<?php

// Création du document
$doc = domxml_new_doc("1.0");

$root = $doc->create_element("html");
$root = $doc->append_child($root);

$head = $doc->create_element("head");
$head = $root->append_child($head);

$title = $doc->create_element("title");
$title = $head->append_child($title);

$text = $doc->create_text_node("Ceci est le titre");
$text = $title->append_child($text);

echo $doc->html_dump_mem();
?>

L'exemple ci-dessus va afficher :

<html><head><title>Ceci est le titre</title></head></html>

Voir aussi domdocument_dump_file() et domdocument_html_dump_mem().

DomDocument->get_elements_by_tagname
DomDocument->xinclude
Fonctions DOM XML (PHP 4)


Remplace XIncludes dans un objet DomDocument

DomDocument->html_dump_mem
DomDocumentType->entities
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocument->xinclude

(PHP 5)

DomDocument->xinclude — Remplace XIncludes dans un objet DomDocument

Description

int DomDocument->xinclude ( void )

DomDocument->xinclude() substitue » XIncludes dans un objet DomDocument.

Exemple #1 Substitution des Xincludes

<?php

// include.xml contient :
// <child>test</child>

$xml = '<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="include.xml">
    <xi:fallback>
      <error>xinclude: include.xml n\'a pas été trouvé</error>
    </xi:fallback>
  </xi:include>
</root>';

$domxml = domxml_open_mem($xml);
$domxml->xinclude();

echo $domxml->dump_mem();

?>

L'exemple ci-dessus va afficher :

<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <child>test</child>
</root>

Si include.xml n'existe pas, vous verrez :

<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <error>xinclude:dom.xml n'a pas été trouvé</error>
</root>

DomDocument->html_dump_mem
DomDocumentType->entities
Fonctions DOM XML (PHP 4)


Retourne la liste des entités

DomDocument->xinclude
DomDocumentType->internal_subset
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocumentType->entities

(PHP 4 >= 4.1.0)

DomDocumentType->entities — Retourne la liste des entités

Description

DomDocumentType
array entities ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Migration vers PHP 5

Utilisez la propriété entities de l'objet DOMDocumentType.

DomDocument->xinclude
DomDocumentType->internal_subset
Fonctions DOM XML (PHP 4)


Retourne le sous ensemble interne (internal subset)

DomDocumentType->entities
DomDocumentType->name
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocumentType->internal_subset

(PHP 4 >= 4.1.0)

DomDocumentType->internal_subset — Retourne le sous ensemble interne (internal subset)

Description

DomDocumentType
bool internal_subset ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Migration vers PHP 5

Utilisez la propriété internalSubset de l'objet DOMDocumentType.

DomDocumentType->entities
DomDocumentType->name
Fonctions DOM XML (PHP 4)


Retourne le nom du type de document

DomDocumentType->internal_subset
DomDocumentType->notations
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocumentType->name

(PHP 4 >= 4.1.0)

DomDocumentType->name — Retourne le nom du type de document

Description

DomDocumentType
string name ( void )

Cette fonction retourne le nom du type de document.

Valeurs de retour

Retourne le nom de DomDocumentType, comme une chaîne de caractères.

Exemples

Exemple #1 Récupération du nom du type du document

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Erreur pendant l'analyse du document\n";
    exit;
}

$doctype = $dom->doctype();
echo $doctype->name(); // chapitre

?>

Migration vers PHP 5

Utilisez la propriété name de l'objet DOMDocumentType.

DomDocumentType->internal_subset
DomDocumentType->notations
Fonctions DOM XML (PHP 4)


Retourne la liste des notations

DomDocumentType->name
DomDocumentType->public_id
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocumentType->notations

(PHP 4 >= 4.1.0)

DomDocumentType->notations — Retourne la liste des notations

Description

DomDocumentType
array notations ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Migration vers PHP 5

Utilisez la propriété notations de l'objet DOMDocumentType.

DomDocumentType->name
DomDocumentType->public_id
Fonctions DOM XML (PHP 4)


Retourne l'identifiant public du type de document

DomDocumentType->notations
DomDocumentType->system_id
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocumentType->public_id

(PHP 4 >= 4.1.0)

DomDocumentType->public_id — Retourne l'identifiant public du type de document

Description

DomDocumentType
string public_id ( void )

Cette fonction retourne l'identifiant public du type de document.

Valeurs de retour

Retourne l'identifiant public de DomDocumentType, comme une chaîne de caractères.

Exemples

L'exemple ci-dessous n'affichera rien.

Exemple #1 Lire l'identifiant public avec DOM XML

<?php
include("exemple.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur lors de l'analyse du document\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->public_id();
?>

Migration vers PHP 5

Utilisez la propriété publicId de l'objet DOMDocumentType.

DomDocumentType->notations
DomDocumentType->system_id
Fonctions DOM XML (PHP 4)


Retourne l'identifiant système du type de document

DomDocumentType->public_id
DomElement->get_attribute_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomDocumentType->system_id

(PHP 4 >= 4.1.0)

DomDocumentType->system_id — Retourne l'identifiant système du type de document

Description

DomDocumentType
string system_id ( void )

Retourne l'identifiant système du type de document.

Valeurs de retour

Retourne l'identifiant système de DomDocumentType, comme une chaîne de caractères.

Exemples

Exemple #1 Lire un identifiant système DOM XML

<?php
include("exemple.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur durant l'analyse du document\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->system_id();
?>

L'exemple ci-dessus va afficher :

/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd

Migration vers PHP 5

Utilisez la propriété systemId de l'objet DOMDocumentType.

DomDocumentType->public_id
DomElement->get_attribute_node
Fonctions DOM XML (PHP 4)


Retourne la valeur d'un attribut

DomDocumentType->system_id
DomElement->get_attribute
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->get_attribute_node

(PHP 4 >= 4.1.0)

DomElement->get_attribute_node — Retourne la valeur d'un attribut

Description

DomElement
DomAttribute get_attribute_node ( string $name )

Retourne le noeud de l'attribut donné dans l'élément courant.

Liste de paramètres

name

Le nom de l'attribut cherché. Ce paramètre est sensible à la casse.

Valeurs de retour

Retourne le noeud de l'attribut comme étant DomAttribute ou FALSE si aucun attribut avec le nom name n'est trouvé.

Exemples

Exemple #1 Récupération d'un attribut d'un noeud

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Erreur lors de l'analyse du document\n";
    exit;
}

$root = $dom->document_element();
if ($attribute = $root->get_attribute_node('language')) {
    echo 'Le langage est : ' . $attribute->value() . "\n";
}

?>

Migration vers PHP 5

Utilisez DOMElement::getAttributeNode.

Voir aussi

  • DomElement->get_attribute
  • DomElement->set_attribute

DomDocumentType->system_id
DomElement->get_attribute
Fonctions DOM XML (PHP 4)


Retourne la valeur d'un attribut

DomElement->get_attribute_node
DomElement->get_elements_by_tagname
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->get_attribute

(PHP 4 >= 4.1.0)

DomElement->get_attribute — Retourne la valeur d'un attribut

Description

DomElement
string get_attribute ( string $name )

Retourne la valeur de l'attribut donné dans l'élément courant.

Depuis PHP 4.3, si aucun attribut de nom name n'est trouvé, une chaîne de caractères vide est retournée.

Liste de paramètres

name

Le nom de l'attribut cherché. Ce paramètre est sensible à la casse.

Valeurs de retour

Retourne le nom de l'attribut comme une chaîne de caractères ou une chaîne de caractères vide si aucun attribut avec le nom name n'est trouvé.

Exemples

Exemple #1 Récupération de la valeur d'un attribut

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Erreur lors de l'analyse du document\n";
    exit;
}

// get chapter
$root = $dom->document_element();
echo $root->get_attribute('language'); // en

?>

Migration vers PHP 5

Utilisez DOMElement::getAttribute.

Voir aussi

  • DomElement->get_attribute_node
  • DomElement->set_attribute

DomElement->get_attribute_node
DomElement->get_elements_by_tagname
Fonctions DOM XML (PHP 4)


Lit les éléments par nom de balise

DomElement->get_attribute
DomElement->has_attribute
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->get_elements_by_tagname

(PHP 4 >= 4.1.0)

DomElement->get_elements_by_tagname — Lit les éléments par nom de balise

Description

DomElement
array get_elements_by_tagname ( string $name )

Récupère tous les sous éléments avec un nom spécifique name à l'intérieur de l'élément courant.

Liste de paramètres

name

Le nom de l'attribut cherché.

Valeurs de retour

Retourne un tableau d'objets DomElement.

Exemples

Exemple #1 Récupération d'un contenu

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur pendant le parsage du document\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname('element');

foreach ($node_array as $node) {
    echo ' - ' . $node->get_content() . "\n";
}

?>

Migration vers PHP 5

Utilisez DOMElement::getElementsByTagName.

DomElement->get_attribute
DomElement->has_attribute
Fonctions DOM XML (PHP 4)


Vérifie si un attribut existe

DomElement->get_elements_by_tagname
DomElement->remove_attribute
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->has_attribute

(PHP 4 >= 4.1.0)

DomElement->has_attribute — Vérifie si un attribut existe

Description

DomElement
bool has_attribute ( string $name )

Cette fonction vérifie l'existence d'un attribut nommé name dans le noeud courant.

Liste de paramètres

name

Le nom de l'attribut testé.

Valeurs de retour

Retourne TRUE si l'attribut demandé existe, FALSE autrement.

Exemples

Exemple #1 Teste l'existence d'un attribut

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Erreur lors de l'analyse du document\n";
    exit;
}

$root = $dom->document_element();

$buffer = '<html';
if ($root->has_attribute('language')) {
    $buffer .= 'lang="' . $root->get_attribute('language') . '"';
}
$buffer .= '>';

?>

Migration vers PHP 5

Utilisez DOMElement::hasAttribute.

DomElement->get_elements_by_tagname
DomElement->remove_attribute
Fonctions DOM XML (PHP 4)


Supprime un attribut

DomElement->has_attribute
DomElement->set_attribute_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->remove_attribute

(PHP 4 >= 4.1.0)

DomElement->remove_attribute — Supprime un attribut

Description

DomElement
bool remove_attribute ( string $name )

Supprime un attribut du noeud courant DomElement.

Liste de paramètres

name

Le nom de l'attribut à supprimer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Migration vers PHP 5

Utilisez DOMElement::removeAttribute.

DomElement->has_attribute
DomElement->set_attribute_node
Fonctions DOM XML (PHP 4)


Ajoute un nouvel attribut

DomElement->remove_attribute
DomElement->set_attribute
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->set_attribute_node

(PHP 4 >= 4.1.0)

DomElement->set_attribute_node — Ajoute un nouvel attribut

Description

DomElement
DomNode set_attribute_node ( DomNode $attr )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

DomElement->remove_attribute
DomElement->set_attribute
Fonctions DOM XML (PHP 4)


Définie la valeur d'un attribut

DomElement->set_attribute_node
DomElement->tagname
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->set_attribute

(PHP 4 >= 4.1.0)

DomElement->set_attribute — Définie la valeur d'un attribut

Description

DomElement
DomAttribute set_attribute ( string $name , string $value )

Définie l'attribut de nom name, avec la valeur value.

Liste de paramètres

name

Le nom de l'attribut. Si cet attribut n'existe pas, il sera créé.

value

La valeur de l'attribut.

Valeurs de retour

Retourne le vieux noeud DomAttribute ou le nouveau si vous créé l'attribut pour la première fois.

Exemples

Exemple #1 Créer un attribut avec DOM XML

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

Migration vers PHP 5

Utilisez DOMElement::setAttribute.

Voir aussi

  • DomElement->get_attribute_node
  • DomElement->get_attribute

DomElement->set_attribute_node
DomElement->tagname
Fonctions DOM XML (PHP 4)


Retourne le nom de l'élément courant

DomElement->set_attribute
DomNode->add_namespace
Fonctions DOM XML (PHP 4)
PHP Manual

DomElement->tagname

(PHP 4 >= 4.1.0)

DomElement->tagname — Retourne le nom de l'élément courant

Description

DomElement
string tagname ( void )

Retourne le nom du noeud courant. Appeler cette fonction revient à accéder à la propriété tagname ou appeler DomNode->node_name sur le noeud courant.

Valeurs de retour

Retourne le nom du noeud courant DomElement.

Exemples

Exemple #1 Récupération du nom du noeud

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Erreur lors de l'analyse du document\n";
    exit;
}

$root = $dom->document_element();
echo $root->tagname();   // chapitre
echo $root->tagname;     // chapitre
echo $root->node_name(); // chapitre

?>

Migration vers PHP 5

Utilisez la propriété tagName de l'objet DOMElement.

DomElement->set_attribute
DomNode->add_namespace
Fonctions DOM XML (PHP 4)


Ajoute une déclaration d'espace de nom à un noeud

DomElement->tagname
DomNode->append_child
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->add_namespace

(PHP 4 >= 4.3.0)

DomNode->add_namespace — Ajoute une déclaration d'espace de nom à un noeud

Description

DOMNode
bool add_namespace ( string $uri , string $prefix )

Cette méthode ajoute une déclaration de nom à un noeud.

Note: Cette méthode ne fait pas parti des spécifications DOM.

Liste de paramètres

uri

L'espace de nom URI du noeud.

prefix

Le préfixe de l'espace de nom du noeud.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Migration vers PHP 5

Vous pouvez spécifier l'espace de nom URI et le préfixe de DOMElement ou de DOMAttr à la création en utilisant DOMDocument::createElementNS ou DOMDocument::createAttributeNS.

Note: Rappelez-vous qu'un attribut n'hérite pas son espace de nom à partir de l'élément dont il est attaché.

Voir aussi

  • DomDocument->create_element_ns
  • DomNode->set_namespace

DomElement->tagname
DomNode->append_child
Fonctions DOM XML (PHP 4)


Ajoute un nouveau fils à la fin des enfants

DomNode->add_namespace
DomNode->append_sibling
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->append_child

(PHP 4 >= 4.1.0)

DomNode->append_child — Ajoute un nouveau fils à la fin des enfants

Description

DOMNode
DOMNode append_child ( DOMNode $newnode )

Cette fonction ajoute un fils à une liste existante de fils ou crée une nouvelle liste de fils.

Liste de paramètres

newnode

Le noeud qui sera ajouté. Il peut être créé avec DomDocument->create_element, DomDocument->create_text_node etc. ou simplement en utilisant un autre noeud.

Note: Vous ne pouvez pas ajouter un DOMAttribute en utilisant cette méthode. Utilisez DomElement->set_attribute à la place.

Valeurs de retour

Retourne le noeud ajouté en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
4.3.0 | Vous n'êtes plus autorisé d'insérer un noeud à partir d'un autre document.
4.3.0 | Avant PHP 4.3.0, le nouveau fils est dupliqué avant d'être ajouté. Par conséquent, le nouveau fils est une copie qui peut être modifiée sans altérer le noeud utilisé dans cette fonction. Si le noeud passé a des fils, ils seront aussi dupliqués, ce qui rend cette fonction pratique pour copier des documents XML complexes. La valeur retournée est le noeud fils ajouté. Si vous voulez apporter des modifications au noeud fils, vous devez utiliser le noeud retourné.
4.3.0 et 4.3.1 | Le nouveau fils newnode est d'abord déconnecté de son contexte, s'il est déjà fils d'un DomNode. Le noeud est donc déplacé et n'est plus copié. Ceci est le comportement qui correspond aux spécifications W3C. Si vous avez besoin de l'ancien comportement, utilisez DomNode->clone_node avant d'ajouter.
4.3.2 | Le nouveau fils newnode est d'abord déconnecté de son contexte, s'il est déjà dans l'arbre. Les mêmes règles s'appliquent.

Exemples

L'exemple suivant ajoute un nouveau noeud dans un document, et modifie son attribut align à left.

Exemple #1 Ajouter un noeud fils avec dom xml

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

L'exemple ci-dessus peut être aussi écrit comme ceci :

Exemple #2 Ajouter un noeud fils avec dom xml (méthode 2)

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node->set_attribute("align", "left");
$newnode = $doc->append_child($node);
?>

Un exemple plus complexe est celui ci-dessous. Il commence par rechercher un élément, le duplique avec ses fils, et l'ajoute comme frère. Finalement, un nouvel attribut est ajouté, et le document complet est publié.

Exemple #3 Ajouter un noeud fils avec DOM XML (exemple 3)

<?php
include("exemple.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur lors de l'analyse du document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$parent = $element->parent_node();
$newnode = $parent->append_child($element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
?>

L'exemple ci-dessus peut aussi être réalisé avec la fonction DomNode->insert_before au lieu de DomNode->append_child.

Migration vers PHP 5

Vous devriez utiliser DOMNode::appendChild.

Voir aussi

  • DomNode->insert_before
  • DomNode->clone_node

DomNode->add_namespace
DomNode->append_sibling
Fonctions DOM XML (PHP 4)


Ajoute un frère à un noeud

DomNode->append_child
DomNode->attributes
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->append_sibling

(PHP 4 >= 4.2.0)

DomNode->append_sibling — Ajoute un frère à un noeud

Description

domelement DomNode->append_sibling ( domelement $newnode )

DomNode->append_sibling() ajoute le noeud newnode aux fils du noeud courant. newnode peut être créé avec les fonctions domdocument_create_element(), domdocument_create_text(), etc. ou simplement en utilisant un autre noeud.

Avant d'être ajouté, un noeud est d'abord dupliqué. Par conséquent, le nouveau fils est une copie qui peut être modifiée sans altérer le noeud utilisé dans cette fonction. Si le noeud passé a des fils, ils seront aussi dupliqués, ce qui rend cette fonction pratique pour copier des documents XML complexes. La valeur retournée est le noeud fils ajouté. Si vous voulez apporter des modifications au noeud fils, vous devez utiliser le noeud retourné.

DomNode->append_sibling() a été ajoutée pour fournir un remplaçant à domnode_append_child(), tel qu'il fonctionnait en PHP 4.2.

Voir aussi domnode_append_before().

DomNode->append_child
DomNode->attributes
Fonctions DOM XML (PHP 4)


Retourne la liste des attributs

DomNode->append_sibling
DomNode->child_nodes
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->attributes

(PHP 4 >= 4.1.0)

DomNode->attributes — Retourne la liste des attributs

Description

array DomNode->attributes ( void )

DomNode->attributes() retourne un tableau avec les attributs du noeud si le noeud est de type XML_ELEMENT_NODE.

(PHP >= 4.3 uniquement) Si aucun attribut n'est trouvé, NULL est retourné.

DomNode->append_sibling
DomNode->child_nodes
Fonctions DOM XML (PHP 4)


Retourne les fils d'un noeud

DomNode->attributes
DomNode->clone_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->child_nodes

(PHP 4 >= 4.1.0)

DomNode->child_nodes — Retourne les fils d'un noeud

Description

array DomNode->child_nodes ( void )

DomNode->child_nodes() retourne tous les fils d'un noeud.

Voir aussi domnode_next_sibling() et domnode_previous_sibling().

DomNode->attributes
DomNode->clone_node
Fonctions DOM XML (PHP 4)


Clone un noeud

DomNode->child_nodes
DomNode->dump_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->clone_node

(PHP 4 >= 4.1.0)

DomNode->clone_node — Clone un noeud

Description

domelement DomNode->clone_node ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

DomNode->child_nodes
DomNode->dump_node
Fonctions DOM XML (PHP 4)


Convertit un noeud en chaîne

DomNode->clone_node
DomNode->first_child
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->dump_node

(PHP 4 >= 4.1.0)

DomNode->dump_node — Convertit un noeud en chaîne

Description

string DomNode->dump_node ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Voir aussi domdocument_dump_mem().

DomNode->clone_node
DomNode->first_child
Fonctions DOM XML (PHP 4)


Retourne le premier fils du noeud

DomNode->dump_node
DomNode->get_content
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->first_child

(PHP 4 >= 4.1.0)

DomNode->first_child — Retourne le premier fils du noeud

Description

domelement DomNode->first_child ( void )

DomNode->first_child() retourne le premier fils du noeud.

(PHP >= 4.3 uniquement) Si aucun noeud fils n'est trouvé, NULL est retourné.

Voir aussi
domnode_last_child(),
domnode_next_sibling() et
domnode_previous_sibling().

DomNode->dump_node
DomNode->get_content
Fonctions DOM XML (PHP 4)


Retourne le contenu du noeud

DomNode->first_child
DomNode->has_attributes
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->get_content

(PHP 4 >= 4.2.0)

DomNode->get_content — Retourne le contenu du noeud

Description

string DomNode->get_content ( void )

Cette fonction retourne le contenu du noeud courant.

Exemple #1 Obtenir un contenu

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur pendant le parsage du document\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname("element");

for ($i = 0; $i<count($node_array); $i++) {
        $node = $node_array[$i];
        echo "L'élément[$i] est : " . $node->get_content();
}

?>

DomNode->first_child
DomNode->has_attributes
Fonctions DOM XML (PHP 4)


Vérifie si un noeud a des attributs

DomNode->get_content
DomNode->has_child_nodes
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->has_attributes

(PHP 4 >= 4.1.0)

DomNode->has_attributes — Vérifie si un noeud a des attributs

Description

bool DomNode->has_attributes ( void )

DomNode->has_attributes() vérifie si un noeud a des attributs.

Voir aussi domnode_has_child_nodes().

DomNode->get_content
DomNode->has_child_nodes
Fonctions DOM XML (PHP 4)


Vérifie si un noeud a des fils

DomNode->has_attributes
DomNode->insert_before
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->has_child_nodes

(PHP 4 >= 4.1.0)

DomNode->has_child_nodes — Vérifie si un noeud a des fils

Description

bool DomNode->has_child_nodes ( void )

DomNode->has_child_nodes() vérifie si un noeud a des fils.

Voir aussi domnode_child_nodes().

DomNode->has_attributes
DomNode->insert_before
Fonctions DOM XML (PHP 4)


Insère un nouveau noeud fils

DomNode->has_child_nodes
DomNode->is_blank_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->insert_before

(PHP 4 >= 4.1.0)

DomNode->insert_before — Insère un nouveau noeud fils

Description

domelement DomNode->insert_before ( domelement $newnode , domelement $refnode )

DomNode->insert_before insère le nouveau noeud fils newnode juste avant le noeud fils refnode. La valeur retournée est la valeur du noeud inséré. Si vous devez faire des modifications sur le fils, vous devez utiliser le noeud retourné.

(PHP >= 4.3 uniquement) Si newnode fait déjà partie du document, il sera d'abord déconnecté de son contexte courant. Si refnode vaut NULL alors newnode sera inséré à la fin de la liste des fils.

domnode_insert_before() est très similaire à domnode_append_child() comme l'exemple ci-dessous le montre : il réalise la même fonction que l'exemple de domnode_append_child().

Exemple #1 Ajouter un noeud fils DOM XML

include("example.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur durant l'analyse du document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$newnode = $element->insert_before($element, $element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

echo "<pre>";
$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
echo "</pre>";

Voir aussi domnode_append_child().

DomNode->has_child_nodes
DomNode->is_blank_node
Fonctions DOM XML (PHP 4)


Vérifie si un noeud est blanc

DomNode->insert_before
DomNode->last_child
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->is_blank_node

(PHP 4 >= 4.1.0)

DomNode->is_blank_node — Vérifie si un noeud est blanc

Description

bool DomNode->is_blank_node ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

DomNode->insert_before
DomNode->last_child
Fonctions DOM XML (PHP 4)


Retourne le dernier fils du noeud

DomNode->is_blank_node
DomNode->next_sibling
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->last_child

(PHP 4 >= 4.1.0)

DomNode->last_child — Retourne le dernier fils du noeud

Description

domelement DomNode->last_child ( void )

DomNode->last_child() retourne le dernier fils du noeud.

(PHP >= 4.3 uniquement) Si aucun fils n'est trouvé, NULL est retourné.

Voir aussi
domnode_first_child(),
domnode_next_sibling() et
domnode_previous_sibling().

DomNode->is_blank_node
DomNode->next_sibling
Fonctions DOM XML (PHP 4)


Retourne le prochain noeud frère

DomNode->last_child
DomNode->node_name
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->next_sibling

(PHP 4 >= 4.1.0)

DomNode->next_sibling — Retourne le prochain noeud frère

Description

domelement DomNode->next_sibling ( void )

DomNode->next_sibling retourne le prochain noeud frère du noeud courant. S'il n'y a pas de noeud fils suivant, cette fonction retournera FALSE (< PHP 4.3) ou NULL (>= 4.3). Vous pouvez utiliser cette fonction pour passer en revue tous les fils d'un noeud tel que présenté dans cet exemple.

Exemple #1 Listage des noeuds fils

<?php
include("exemple.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur d'analyse du document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("tbody");
$element = $elements[0];
$child = $element->first_child();

while($child) {
   print_r($child);
   $child = $child->next_sibling();
}
?>

Voir aussi domnode_previous_sibling().

DomNode->last_child
DomNode->node_name
Fonctions DOM XML (PHP 4)


Retourne le nom du noeud

DomNode->next_sibling
DomNode->node_type
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->node_name

(PHP 4 >= 4.1.0)

DomNode->node_name — Retourne le nom du noeud

Description

string DomNode->node_name ( void )

DomNode->node_name() retourne le nom du noeud. Le nom a différentes signification suivant le type de noeud, tel que présenté ci-dessous :

Signification de la valeur
Type | Signification
DomAttribute | Valeur de l'attribut
DomAttribute |
DomCDataSection | #cdata-section
DomComment | #comment
DomDocument | #document
DomDocumentType | Nom du type de document
DomElement | Nom de la balise
DomEntity | Nom de l'entité
DomEntityReference | Nom de la référence de l'entité
DomNotation | Nom de la notation
DomProcessingInstruction | target
DomText | #text

DomNode->next_sibling
DomNode->node_type
Fonctions DOM XML (PHP 4)


Retourne le type de noeud

DomNode->node_name
DomNode->node_value
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->node_type

(PHP 4 >= 4.1.0)

DomNode->node_type — Retourne le type de noeud

Description

int DomNode->node_type ( void )

DomNode->node_type() retourne le type de noeud. Tous les types possibles sont listés dans l'introduction.

<?php

include 'example.inc';

$dom = domxml_open_mem($xmlstr);

$chapter = $dom->document_element();

// Regardons les éléments contenus dans "chapter"
foreach($chapter->child_nodes() as $node) {
  if ($node->node_type() == XML_ELEMENT_NODE) {
    echo $node->node_name() . "\n";
  }
}

?>

L'exemple ci-dessus va afficher :

title
para
DomNode->node_name
DomNode->node_value
Fonctions DOM XML (PHP 4)


Retourne la valeur d'un noeud

DomNode->node_type
DomNode->owner_document
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->node_value

(PHP 4 >= 4.1.0)

DomNode->node_value — Retourne la valeur d'un noeud

Description

string DomNode->node_value ( void )

DomNode->node_value() retourne la valeur d'un noeud. La valeur a différente signification suivant le type de noeud, tel que présenté ci-dessous :

Signification de la valeur
Type | Signification
DomAttribute | Valeur de l'attribut
DomAttribute |
DomCDataSection | Contenu
DomComment | Contenu du commentaire
DomDocument | NULL
DomDocumentType | NULL
DomElement | NULL
DomEntity | NULL
DomEntityReference | NULL
DomNotation | NULL
DomProcessingInstruction | Tout le document sans la cible (target)
DomText | Contenu du texte

DomNode->node_type
DomNode->owner_document
Fonctions DOM XML (PHP 4)


Retourne le document auquel appartient ce noeud DOM XML

DomNode->node_value
DomNode->parent_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->owner_document

(PHP 4 >= 4.1.0)

DomNode->owner_document — Retourne le document auquel appartient ce noeud DOM XML

Description

domdocument DomNode->owner_document ( void )

DomNode->owner_document() retourne le document auquel appartient ce noeud.

L'exemple suivant affiche deux listes identiques de fils.

Exemple #1 Liste les noeuds sous DOM XML

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node = $doc->append_child($node);
$children = $doc->children();
print_r($children);

$doc2 = $node->owner_document();
$children = $doc2->children();
print_r($children);
?>

Voir aussi domnode_insert_before().

DomNode->node_value
DomNode->parent_node
Fonctions DOM XML (PHP 4)


Retourne le père d'un noeud DOM XML

DomNode->owner_document
DomNode->prefix
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->parent_node

(PHP 4 >= 4.1.0)

DomNode->parent_node — Retourne le père d'un noeud DOM XML

Description

domnode DomNode->parent_node ( void )

DomNode->parent_node() retourne le père d'un noeud.

(PHP >= 4.3 uniquement) Si aucun parent n'est trouvé, NULL est retourné.

L'exemple ci-dessous affiche deux listes identiques de noeuds fils

Exemple #1 Trouver le document d'un noeud avec DOM XML

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node = $doc->append_child($node);
$children = $doc->children();
print_r($children);

$doc2 = $node->parent_node();
$children = $doc2->children();
print_r($children);
?>

DomNode->owner_document
DomNode->prefix
Fonctions DOM XML (PHP 4)


Retourne le préfixe d'espace de nom d'un noeud

DomNode->parent_node
DomNode->previous_sibling
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->prefix

(PHP 4 >= 4.1.0)

DomNode->prefix — Retourne le préfixe d'espace de nom d'un noeud

Description

string DomNode->prefix ( void )

DomNode->prefix() retourne le préfixe d'espace de nom d'un noeud.

DomNode->parent_node
DomNode->previous_sibling
Fonctions DOM XML (PHP 4)


Retourne le frère précédent d'un noeud

DomNode->prefix
DomNode->remove_child
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->previous_sibling

(PHP 4 >= 4.1.0)

DomNode->previous_sibling — Retourne le frère précédent d'un noeud

Description

domelement DomNode->previous_sibling ( void )

DomNode->previous_sibling() retourne le frère précédent d'un noeud. S'il n'y a pas de noeud précédent, DomNode->previous_sibling() retournera FALSE (< PHP 4.3) ou NULL (>= PHP 4.3). Vous pouvez utiliser cette fonction pour lister tous les fils d'un noeud.

Voir aussi domnode_next_sibling().

DomNode->prefix
DomNode->remove_child
Fonctions DOM XML (PHP 4)


Supprime un fils de la liste des noeuds fils

DomNode->previous_sibling
DomNode->replace_child
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->remove_child

(PHP 4 >= 4.2.0)

DomNode->remove_child — Supprime un fils de la liste des noeuds fils

Description

domtext DomNode->remove_child ( domtext $oldchild )

DomNode->remove_child() supprime le fils oldchild de la liste des noeuds fils du noeud courant. Si le fils n'a pu être retiré, ou si ce n'est pas un fils du noeud courant, DomNode->remove_child() retournera FALSE. Si le fils a pu être retiré, DomNode->remove_child() le retournera.

Exemple #1 Supprimer un noeud en DOM XML

<?php
include("exemple.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur lors de l'analyse d'un document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("tbody");
$element = $elements[0];
$children = $element->child_nodes();
$child = $element->remove_child($children[0]);

echo "<pre>";
$xmlfile = $dom->dump_mem(true);
echo htmlentities($xmlfile);
echo "</pre>";
?>

Voir aussi domnode_append_child().

DomNode->previous_sibling
DomNode->replace_child
Fonctions DOM XML (PHP 4)


Remplace un noeud fils

DomNode->remove_child
DomNode->replace_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->replace_child

(PHP 4 >= 4.2.0)

DomNode->replace_child — Remplace un noeud fils

Description

domelement DomNode->replace_child ( domelement $newnode , domelement $oldnode )

(PHP 4.2) DomNode->replace_child() remplace le noeud fils oldnode avec le nouveau noeud newnode. Si le nouveau noeud est déjà un fils, il ne sera pas ajouté une seconde fois. Si l'ancien noeud ne peut être trouvé, DomNode->replace_child() retournera FALSE. Si le remplacement a pu avoir lieu, oldnode est retourné.

(PHP 4.3) DomNode->replace_child() remplace le noeud fils oldnode avec le nouveau noeud newnode, même si newnode est déjà fils. Si le nouveau noeud est déjà inséré dans le document, il sera retiré de son contexte courant.. Si DomNode->replace_child() ne peut trouver l'ancien noeud, elle retournera FALSE. Si le remplacement a pu avoir lieu, oldnode est retourné.

Voir aussi domnode_append_child().

DomNode->remove_child
DomNode->replace_node
Fonctions DOM XML (PHP 4)


Remplace un noeud DomXML

DomNode->replace_child
DomNode->set_content
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->replace_node

(PHP 4 >= 4.2.0)

DomNode->replace_node — Remplace un noeud DomXML

Description

domelement DomNode->replace_node ( domelement $newnode )

(PHP 4.2) DomNode->replace_node() remplace un noeud par newnode. Avant le remplacement, newnode est copié s'il a un parent, pour s'assure qu'un noeud qui est déjà dans le document n'est pas inséré une nouvelle fois. Ce comportement impose de faire toutes les modifications sur le noeud avant le remplacement, ou de le relire après le remplacement, avec des fonctions comme domnode_first_child(), domnode_child_nodes(), etc.

(PHP 4.3) DomNode->replace_node() remplace un noeud par le noeud newnode. Il n'est plus copié du tout. Si newnode était déjà inséré dans le document, il sera d'abord désolidarisé de son contexte courant. Si le remplacement réussi, le noeud est retourné.

Voir aussi domnode_append_child().

DomNode->replace_child
DomNode->set_content
Fonctions DOM XML (PHP 4)


Modifie le contenu d'un noeud

DomNode->replace_node
DomNode->set_name
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->set_content

(PHP 4 >= 4.1.0)

DomNode->set_content — Modifie le contenu d'un noeud

Description

bool DomNode->set_content ( string $content )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

DomNode->replace_node
DomNode->set_name
Fonctions DOM XML (PHP 4)


Modifie le nom d'un noeud

DomNode->set_content
DomNode->set_namespace
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->set_name

(PHP 4 >= 4.1.0)

DomNode->set_name — Modifie le nom d'un noeud

Description

bool DomNode->set_name ( void )

DomNode->set_name() modifie le nom d'un noeud.

Voir aussi domnode_node_name().

DomNode->set_content
DomNode->set_namespace
Fonctions DOM XML (PHP 4)


Modifie l'espace de noms d'un noeud

DomNode->set_name
DomNode->unlink_node
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->set_namespace

(PHP 4 >= 4.3.0)

DomNode->set_namespace — Modifie l'espace de noms d'un noeud

Description

void DomNode->set_namespace ( string $uri [, string $prefix ] )

DomNode->set_namespace remplace l'espace de noms courant du noeud par uri. S'il y a une déclaration d'espace de nom de même URI dans l'un des noeuds parents, le préfixe de ce parent sera alors utilisé. Sinon, la fonction prendre le préfixe fourni dans le paramètre optionnel prefix ou bien en générera un aléatoirement.

Voir aussi domdocument_create_element_ns() et domnode_add_namespace().

DomNode->set_name
DomNode->unlink_node
Fonctions DOM XML (PHP 4)


Efface un noeud

DomNode->set_namespace
DomProcessingInstruction->data
Fonctions DOM XML (PHP 4)
PHP Manual

DomNode->unlink_node

(PHP 4 >= 4.1.0)

DomNode->unlink_node — Efface un noeud

Description

void DomNode->unlink_node ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

DomNode->set_namespace
DomProcessingInstruction->data
Fonctions DOM XML (PHP 4)


Retourne les données du noeud l'instruction en cours

DomNode->unlink_node
DomProcessingInstruction->target
Fonctions DOM XML (PHP 4)
PHP Manual

DomProcessingInstruction->data

(PHP 4 >= 4.1.0)

DomProcessingInstruction->data — Retourne les données du noeud l'instruction en cours

Description

DomProcessingInstruction
string data ( void )

Cette méthode retourne les données du noeud de l'instruction en cours.

Valeurs de retour

Retourne les données de l'instruction en cours.

Migration vers PHP 5

Utilisez la propriété data de DOMProcessingInstruction.

DomNode->unlink_node
DomProcessingInstruction->target
Fonctions DOM XML (PHP 4)


Retourne la cible du noeud de l'instruction en cours

DomProcessingInstruction->data
DomXsltStylesheet->process
Fonctions DOM XML (PHP 4)
PHP Manual

DomProcessingInstruction->target

(PHP 4 >= 4.1.0)

DomProcessingInstruction->target — Retourne la cible du noeud de l'instruction en cours

Description

DomProcessingInstruction
string target ( void )

Cette méthode retourne la cible de l'instruction en cours.

Valeurs de retour

Retourne la cible de l'instruction en cours.

Migration vers PHP 5

Utilisez la propriété target de DOMProcessingInstruction.

DomProcessingInstruction->data
DomXsltStylesheet->process
Fonctions DOM XML (PHP 4)


Applique une transformation XSLT à un objet domdocument

DomProcessingInstruction->target
DomXsltStylesheet->result_dump_file
Fonctions DOM XML (PHP 4)
PHP Manual

DomXsltStylesheet->process

(PHP 4 >= 4.1.0)

DomXsltStylesheet->process — Applique une transformation XSLT à un objet domdocument

Description

DomXsltStylesheet
DomDocument process ( DomDocument $xml_doc [, array $xslt_params [, bool $is_xpath_param [, string $profile_filename ]]] )

Applique une Transformation XSLT sur l'objet DomDocument donné.

Liste de paramètres

xml_doc

Le document XML qui sera transformé, comme un objet DomDocument.

xslt_params

Un tableau associatif composé de paires de paramètres noms et valeurs.

is_xpath_param

Si FALSE, les valeurs de xslt_params seront mises entre guillemets. Ceci est le comportement par défaut. Cela vous permet de passer les valeurs comme des chaînes de caractères PHP.

Note: Si vos chaînes de caractères contiennent des apostrophes et des guillemets, vous devez faire attention à mettre en guillemets toutes les valeurs par vous-même et mettre ce paramètre à TRUE.

profile_filename

Mettre ce paramètre à un chemin d'un fichier, si vous souhaitez avoir des informations de profilage.

Valeurs de retour

Retourne le résultat du traitement, comme un objet DomDocument.

Migration vers PHP 5

Utilisez XSLTProcessor::setParameter() et XSLTProcessor::transform-to-doc().

Historique

Version | Description
4.3.0 | Le paramètre profile_filename a été ajouté.

Voir aussi

  • domxml_xslt_stylesheet() - Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne
  • domxml_xslt_stylesheet_file() - Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier
  • domxml_xslt_stylesheet_doc() - Crée un objet DomXsltStylesheet à partir d'un objet DomDocument

DomProcessingInstruction->target
DomXsltStylesheet->result_dump_file
Fonctions DOM XML (PHP 4)


Écrit le résultat d'un transformation XSLT dans un fichier

DomXsltStylesheet->process
DomXsltStylesheet->result_dump_mem
Fonctions DOM XML (PHP 4)
PHP Manual

DomXsltStylesheet->result_dump_file

(PHP 4 >= 4.1.0)

DomXsltStylesheet->result_dump_file — Écrit le résultat d'un transformation XSLT dans un fichier

Description

DomXsltStylesheet
string result_dump_file ( DomDocument $xmldoc , string $filename )

Comme DomXsltStylesheet->process retourne toujours un document XML correctement formaté, quelque soit la méthode d'affichage qui a été déclarée dans

<xsl:output>
ou dans un attribut similaire, elle n'est pas très pratique si vous voulez produire des documents HTML 4 ou du texte.

Cette fonction, au contraire, utilise

<xsl:output method="html|text">
et les autres directives de contrôle des sorties. Voyez l'exemple pour plus de détails.

Exemples

Exemple #1 Sauver le résultat d'une transformation XSLT dans un fichier

<?php
$filename = "stylesheet.xsl";
$xmldoc = domxml_open_file("data.xml");
$xsldoc = domxml_xslt_stylesheet_file($filename);
$result =  $xsldoc->process($xmldoc);
print $xsldoc->result_dump_file($result,"filename");
?>

Voir aussi

  • DomXsltStylesheet->result_dump_mem
  • DomXsltStylesheet->process

DomXsltStylesheet->process
DomXsltStylesheet->result_dump_mem
Fonctions DOM XML (PHP 4)


Écrit le résultat d'un transformation XSLT dans une chaîne

DomXsltStylesheet->result_dump_file
domxml_new_doc
Fonctions DOM XML (PHP 4)
PHP Manual

DomXsltStylesheet->result_dump_mem

(PHP 4 >= 4.1.0)

DomXsltStylesheet->result_dump_mem — Écrit le résultat d'un transformation XSLT dans une chaîne

Description

DomXsltStylesheet
string result_dump_mem ( DomDocument $xmldoc )

Comme DomXsltStylesheet->process retourne toujours un document XML correctement formaté, quelque soit la méthode d'affichage qui a été déclarée dans

<xsl:output>
ou dans un attribut similaire, elle n'est pas très pratique si vous voulez produire des documents HTML 4 ou du texte.

Cette fonction, au contraire, utilise

<xsl:output method="html|text">
et les autres directives de contrôle des sorties. Voyez l'exemple pour plus de détails.

Exemples

Exemple #1 Sauver le résultat d'une transformation XSLT dans une chaîne

<?php
$filename = "stylesheet.xsl";
$xmldoc = domxml_open_file("data.xml");
$xsldoc = domxml_xslt_stylesheet_file($filename);
$result =  $xsldoc->process($xmldoc);
echo $xsldoc->result_dump_mem($result);
?>

Voir aussi

  • DomXsltStylesheet->result_dump_file
  • DomXsltStylesheet->process

DomXsltStylesheet->result_dump_file
domxml_new_doc
Fonctions DOM XML (PHP 4)


Crée un document XML vide

DomXsltStylesheet->result_dump_mem
domxml_open_file
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_new_doc

(PHP 4 >= 4.2.0)

domxml_new_doc — Crée un document XML vide

Description

DomDocument domxml_new_doc ( string $version )

Crée un nouveau document Dom à partir de zéro et le retourne.

Liste de paramètres

version

Le numéro de version XML du document.

Valeurs de retour

Retourne une nouvelle instance DomDocument.

DomXsltStylesheet->result_dump_mem
domxml_open_file
Fonctions DOM XML (PHP 4)


Crée un objet DOM à partir d'un fichier XML

domxml_new_doc
domxml_open_mem
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_open_file

(PHP 4 >= 4.2.0)

domxml_open_file — Crée un objet DOM à partir d'un fichier XML

Description

DomDocument domxml_open_file ( string $filename [, int $mode [, array &$error ]] )

Cette fonction analyse le document XML dans le fichier donné.

Liste de paramètres

filename

Le chemin au fichier XML. Le fichier est accédé en mode lecture seule.

mode

Le paramètre optionnel peut être utilisé pour changer le comportement de cette fonction.

Vous pouvez utiliser une de ces constantes suivantes : DOMXML_LOAD_PARSING (défaut), DOMXML_LOAD_VALIDATING ou DOMXML_LOAD_RECOVERING. Vous pouvez également ajouter à ces valeurs DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES et DOMXML_LOAD_COMPLETE_ATTRS avec une manipulation sur les bits avec un OU.

error

Si utilisé, il contiendra les messages d'erreur. error doit être passé par référence.

Valeurs de retour

Retourne une instance DomDocument du fichier donné.

Exemples

Exemple #1 Ouvrir un document XML à partir d'un fichier

<?php

if(!$dom = domxml_open_file("exemple.xml")) {
  echo "Erreur lors de l'analyse du document\n";
  exit;
}

$root = $dom->document_element();
?>

Historique

Version | Description
4.3.0 | Les paramètres mode et error ont été ajoutés.

Voir aussi

  • domxml_open_mem() - Crée un objet DOM pour un document XML
  • domxml_new_doc() - Crée un document XML vide

domxml_new_doc
domxml_open_mem
Fonctions DOM XML (PHP 4)


Crée un objet DOM pour un document XML

domxml_open_file
domxml_version
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_open_mem

(PHP 4 >= 4.2.0)

domxml_open_mem — Crée un objet DOM pour un document XML

Description

DomDocument domxml_open_mem ( string $str [, int $mode [, array &$error ]] )

Cette fonction analyse le document XML dans le fichier donné.

Liste de paramètres

str

Le contenu du fichier XML.

mode

Le paramètre optionnel peut être utilisé pour changer le comportement de cette fonction.

Vous pouvez utiliser une de ces constantes suivantes : DOMXML_LOAD_PARSING (défaut), DOMXML_LOAD_VALIDATING ou DOMXML_LOAD_RECOVERING. Vous pouvez également ajouter à ces valeurs DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES et DOMXML_LOAD_COMPLETE_ATTRS avec une manipulation sur les bits avec un OU.

error

Si utilisé, il contiendra les messages d'erreur. error doit être passé par référence.

Valeurs de retour

Retourne une instance DomDocument du contenu XML donné.

Historique

Version | Description
4.3.0 | Les paramètres mode et error ont été ajoutés.

Exemples

Exemple #1 Ouvrir un document XML à partir d'une chaîne

<?php
include("exemple.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Erreur lors de l'analyse du document\n";
  exit;
}

$root = $dom->document_element();
?>

Voir aussi

  • domxml_open_file() - Crée un objet DOM à partir d'un fichier XML
  • domxml_new_doc() - Crée un document XML vide

domxml_open_file
domxml_version
Fonctions DOM XML (PHP 4)


Lit le numéro de version de la bibliothèque XML

domxml_open_mem
domxml_xmltree
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_version

(PHP 4 >= 4.1.0)

domxml_version — Lit le numéro de version de la bibliothèque XML

Description

string domxml_version ( void )

Lit le numéro de version de la bibliothèque XML actuellement utilisé.

Valeurs de retour

La version de la bibliothèque XML, comme une chaîne de caractères.

Exemples

Exemple #1 Exemple avec domxml_version()

<?php

echo domxml_version();

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

20607

domxml_open_mem
domxml_xmltree
Fonctions DOM XML (PHP 4)


Crée un arbre d'objets PHP à partir d'un document XML

domxml_version
domxml_xslt_stylesheet_doc
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_xmltree

(PHP 4 >= 4.2.0)

domxml_xmltree — Crée un arbre d'objets PHP à partir d'un document XML

Description

DomDocument domxml_xmltree ( string $str )

Cette fonction analyse le document XML passé dans la chaîne str et retourne un arbre d'objets PHP, représentant le document.

Cette fonction est isolée des autres, ce qui signifie que vous ne pouvez pas accéder aux objets de l'arbre avec les autres fonctions. Modifier l'arbre, par exemple en ajoutant des noeuds, n'a pas de sens car il n'y a pas moyen de convertir cet arbre fichier XML.

Cependant, cette fonction est pratique si vous vouez lire un fichier XML et en étudier le contenu.

Liste de paramètres

str

Le contenu du fichier XML.

Valeurs de retour

Retourne un arbre d'objets Dom commençant par un DomDocument.

domxml_version
domxml_xslt_stylesheet_doc
Fonctions DOM XML (PHP 4)


Crée un objet DomXsltStylesheet à partir d'un objet DomDocument

domxml_xmltree
domxml_xslt_stylesheet_file
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_xslt_stylesheet_doc

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet_doc — Crée un objet DomXsltStylesheet à partir d'un objet DomDocument

Description

DomXsltStylesheet domxml_xslt_stylesheet_doc ( DomDocument $xsl_doc )

Crée un objet DomXsltStylesheet à partir du document XSL donné.

Liste de paramètres

xsl_doc

Le document XSL, comme un objet DomDocument.

Valeurs de retour

Retourne une nouvelle instance de DomXsltStylesheet.

Migration vers PHP 5

Appelez XSLTProcessor::importStylesheet() avec le paramètre xsl_doc.

Voir aussi

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet() - Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne
  • domxml_xslt_stylesheet_file() - Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier

domxml_xmltree
domxml_xslt_stylesheet_file
Fonctions DOM XML (PHP 4)


Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier

domxml_xslt_stylesheet_doc
domxml_xslt_stylesheet
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_xslt_stylesheet_file

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet_file — Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier

Description

DomXsltStylesheet domxml_xslt_stylesheet_file ( string $xsl_file )

Crée un objet DomXsltStylesheet à partir du fichier XSL donné.

Liste de paramètres

xsl_file

Le chemin du document XSL, comme une chaîne.

Valeurs de retour

Retourne une nouvelle instance de DomXsltStylesheet.

Migration vers PHP 5

Appelez XSLTProcessor::importStylesheet() avec DOMDocument::load($xsl_file) comme paramètre.

Voir aussi

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet() - Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne
  • domxml_xslt_stylesheet_doc() - Crée un objet DomXsltStylesheet à partir d'un objet DomDocument

domxml_xslt_stylesheet_doc
domxml_xslt_stylesheet
Fonctions DOM XML (PHP 4)


Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne

domxml_xslt_stylesheet_file
domxml_xslt_version
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_xslt_stylesheet

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet — Crée un objet DomXsltStylesheet à partir d'un document XSL dans une chaîne

Description

DomXsltStylesheet domxml_xslt_stylesheet ( string $xsl_buf )

Crée un objet DomXsltStylesheet à partir d'une mémoire tampon XSL.

Liste de paramètres

xsl_buf

Le document XSL, comme une chaîne de caractères.

Valeurs de retour

Retourne une nouvelle instance de DomXsltStylesheet.

Migration vers PHP 5

Appelez XSLTProcessor::importStylesheet() avec DOMDocument::loadXML($xsl_buf) comme paramètre.

Voir aussi

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet_file() - Crée un objet DomXsltStylesheet à partir d'un document XSL dans un fichier
  • domxml_xslt_stylesheet_doc() - Crée un objet DomXsltStylesheet à partir d'un objet DomDocument

domxml_xslt_stylesheet_file
domxml_xslt_version
Fonctions DOM XML (PHP 4)


Lit le numéro de version de la bibliothèque XSLT

domxml_xslt_stylesheet
xpath_eval_expression
Fonctions DOM XML (PHP 4)
PHP Manual

domxml_xslt_version

(PHP 4 >= 4.2.0)

domxml_xslt_version — Lit le numéro de version de la bibliothèque XSLT

Description

int domxml_xslt_version ( void )

Lit le numéro de version de la bibliothèque XSLT.

Valeurs de retour

Retourne le numéro de version de la bibliothèque XSLT, comme un entier.

Exemples

Exemple #1 Exemple avec domxml_xslt_version()

<?php

echo domxml_xslt_version();

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

10112

Voir aussi

  • domxml_version() - Lit le numéro de version de la bibliothèque XML

domxml_xslt_stylesheet
xpath_eval_expression
Fonctions DOM XML (PHP 4)


Calcule un chemin XPath à partir d'une chaîne

domxml_xslt_version
xpath_eval
Fonctions DOM XML (PHP 4)
PHP Manual

xpath_eval_expression

(PHP 4)

xpath_eval_expression — Calcule un chemin XPath à partir d'une chaîne

Description

XPathContext
XPathObject xpath_eval_expression ( string $expression [, domnode $contextnode ] )
XPathObject xpath_eval_expression ( XPathContext $xpath_context , string $expression [, domnode $contextnode ] )

Exemple #1 Exemple avec xpath_eval_expression()

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Erreur lors de l'analyse du document\n";
    exit;
}

$xpath = xpath_new_context($dom);
var_dump(xpath_eval_expression($xpath, '/chapter/@language'));

?>

L'exemple ci-dessus va afficher :

object(XPathObject)(2) {
   ["type"]=>
   int(1)
   ["nodeset"]=>
   array(1) {
     [0]=>
     object(domattribute)(5) {
       ["type"]=>
       int(2)
       ["name"]=>
       string(8) "language"
       ["value"]=>
       string(2) "en"
       [0]=>
       int(7)
       [1]=>
       int(138004256)
     }
  }
}

Voir aussi xpath_eval().

domxml_xslt_version
xpath_eval
Fonctions DOM XML (PHP 4)


Calcule un chemin XPath à partir d'une chaîne

xpath_eval_expression
xpath_new_context
Fonctions DOM XML (PHP 4)
PHP Manual

xpath_eval

(PHP 4)

xpath_eval — Calcule un chemin XPath à partir d'une chaîne

Description

XPathContext
XPathObject xpath_eval ( string $xpath_expression [, domnode $contextnode ] )
XPathObject xpath_eval ( XPathContext $xpath_context , string $xpath_expression [, domnode $contextnode ] )

Le paramètre optionnel contextnode sert à spécifier des requêtes XPath relatives.

Voir aussi xpath_new_context().

xpath_eval_expression
xpath_new_context
Fonctions DOM XML (PHP 4)


Crée un nouveau contexte xpath

xpath_eval
xpath_register_ns_auto
Fonctions DOM XML (PHP 4)
PHP Manual

xpath_new_context

(PHP 4)

xpath_new_context — Crée un nouveau contexte xpath

Description

XPathContext xpath_new_context ( domdocument $dom_document )

Crée un nouveau contexte xpath.

Voir aussi

  • xpath_eval() - Calcule un chemin XPath à partir d'une chaîne

xpath_eval
xpath_register_ns_auto
Fonctions DOM XML (PHP 4)


Sauvegarde l'espace de nom donné dans le contexte XPath passé

xpath_new_context
xpath_register_ns
Fonctions DOM XML (PHP 4)
PHP Manual

xpath_register_ns_auto

(PHP 4 >= 4.3.0)

xpath_register_ns_auto — Sauvegarde l'espace de nom donné dans le contexte XPath passé

Description

bool xpath_register_ns_auto ( XPathContext $xpath_context [, object $context_node ] )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • xpath_register_ns() - Sauvegarde l'espace de nom donné dans le contexte XPath passé

xpath_new_context
xpath_register_ns
Fonctions DOM XML (PHP 4)


Sauvegarde l'espace de nom donné dans le contexte XPath passé

xpath_register_ns_auto
xptr_eval
Fonctions DOM XML (PHP 4)
PHP Manual

xpath_register_ns

(PHP 4 >= 4.2.0)

xpath_register_ns — Sauvegarde l'espace de nom donné dans le contexte XPath passé

Description

bool xpath_register_ns ( XPathContext $xpath_context , string $prefix , string $uri )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • xpath_register_ns_auto() - Sauvegarde l'espace de nom donné dans le contexte XPath passé

xpath_register_ns_auto
xptr_eval
Fonctions DOM XML (PHP 4)


Calcul un chemin XPtr à partir d'une chaîne

xpath_register_ns
xptr_new_context
Fonctions DOM XML (PHP 4)
PHP Manual

xptr_eval

(PHP 4)

xptr_eval — Calcul un chemin XPtr à partir d'une chaîne

Description

XPathContext
int xptr_eval ( string $eval_str [, domnode $contextnode ] )
int xptr_eval ( XPathContext $xpath_context , string $eval_str [, domnode $contextnode ] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xpath_register_ns
xptr_new_context
Fonctions DOM XML (PHP 4)


Crée un nouveau contexte XPath

xptr_eval
libxml
Fonctions DOM XML (PHP 4)
PHP Manual

xptr_new_context

(PHP 4)

xptr_new_context — Crée un nouveau contexte XPath

Description

XPathContext xptr_new_context ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

xptr_eval
libxml
Fonctions DOM XML (PHP 4)


libxml

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • libXMLError — La classe libXMLError
  • Fonctions libxml
    • libxml_clear_errors — Vide le buffer d'erreur libxml
    • libxml_disable_entity_loader — Désactive le chargement des entités externes
    • libxml_get_errors — Lit le tableau d'erreurs
    • libxml_get_last_error — Lit la dernière erreur libxml
    • libxml_set_streams_context — Configure le contexte de flux pour la prochaine opération libxml
    • libxml_use_internal_errors — Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure
xptr_new_context
Introduction
Manipulation XML


Introduction

Ces fonctions et constantes sont disponibles depuis PHP 5.1.0 et si vous avez compilé PHP avec les extensions basées sur libxml, c'est à dire DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XSLT, XML, XMLReader, XMLRPC et XMLWriter.

libxml
Installation/Configuration
libxml


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
libxml


Pré-requis

Cette extension requiert » libxml >= 2.6.0.

Installation/Configuration
Installation
Installation/Configuration


Installation

L'extension libxml est activé par défaut, et il peut être désactivé avec l'option --disable-libxml.

La directive optionnelle --with-libxml-dir est utilisée pour spécifier le dossier où libxml se trouve sur le système sur lequel PHP est compilé. À défaut de l'utilisation de cette option, les dossiers par défaut seront analysés. Le processus de configuration vérifie les dossiers où se trouve libxml (spécifiquement, xml2-config), dans cet ordre :

  1. Le dossier ([DIR]) spécifié avec l'option --with-libxml-dir ([DIR]/bin/xml2-config)

  2. /usr/local/bin/xml2-config

  3. /usr/bin/xml2-config

Si le processus de configuration ne peut trouver le fichier xml2-config dans le dossier spécifié par l'option --with-libxml-dir, alors, il continuera et analysera les dossiers par défaut.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

LIBXML_COMPACT ( integer )
Active l'optimisation de l'allocation de petits noeuds. Ceci pourrait augmenter la rapidité de votre application sans avoir besoin de changer votre code.

Note: Seulement disponible dans Libxml >= 2.6.21

LIBXML_DTDATTR ( integer )
Attribut de DTD par défaut
LIBXML_DTDLOAD ( integer )
Charge le sous-ensemble externe
LIBXML_DTDVALID ( integer )
Valide avec la DTD
LIBXML_NOBLANKS ( integer )
Suppression des noeuds vides
LIBXML_NOCDATA ( integer )
Fusion des CDATA en noeuds de texte
LIBXML_NOEMPTYTAG ( integer )
Agrandi les balises vides (par exemple, <br/> en <br></br>)

Note: Cette option est actuellement disponible uniquement avec les fonctions DOMDocument::save et DOMDocument::saveXML.

LIBXML_NOENT ( integer )
Substitution des entités
LIBXML_NOERROR ( integer )
Suppression du rapport d'erreur
LIBXML_NONET ( integer )
Désactivation du réseau lors du chargement de document
LIBXML_NOWARNING ( integer )
Suppression des rapports d'alerte
LIBXML_NOXMLDECL ( integer )
Annule la déclaration XML lors de la sauvegarde du document

Note: Seulement disponible dans Libxml >= 2.6.21

LIBXML_NSCLEAN ( integer )
Suppression des espaces de noms redondants
LIBXML_XINCLUDE ( integer )
Implémentation de la substitution XInclude
LIBXML_ERR_ERROR ( integer )
Erreur non-fatale
LIBXML_ERR_FATAL ( integer )
Erreur fatale
LIBXML_ERR_NONE ( integer )
Aucune erreur
LIBXML_ERR_WARNING ( integer )
Une alerte simple
LIBXML_VERSION ( integer )
libxml version sous la forme 20605 ou 20617
LIBXML_DOTTED_VERSION ( string )
libxml version sous la forme 2.6.5 ou 2.6.17
Types de ressources
libXMLError
libxml


La classe libXMLError

Introduction

Contient diverses informations sur les erreurs émises par la bibliothèque libxml. Les codes erreurs sont décrits dans la » documentation officielle de l'API xmlError.

Synopsis de la classe

libXMLError
libXMLError {
/* Propriétés */
public int $level ;
public int $code ;
public int $column ;
public string $message ;
public string $file ;
public int $line ;
}

Propriétés

level

la sévérité de l'erreur (une des constantes suivantes : LIBXML_ERR_WARNING, LIBXML_ERR_ERROR ou LIBXML_ERR_FATAL)

code

Le code de l'erreur.

column

La colonne dans laquelle l'erreur est survenue.

Note: Cette propriété n'est pas totalement implémentée par la bibliothèque libxml ; aussi, 0 est souvent retourné.

message

Le message d'erreur, s'il y en a.

file

Le nom du fichier, ou vide si le XML a été chargé depuis une chaîne.

line

La ligne depuis laquelle l'erreur est survenue.

Constantes pré-définies
Fonctions libxml
libxml


Fonctions libxml

Sommaire

  • libxml_clear_errors — Vide le buffer d'erreur libxml
  • libxml_disable_entity_loader — Désactive le chargement des entités externes
  • libxml_get_errors — Lit le tableau d'erreurs
  • libxml_get_last_error — Lit la dernière erreur libxml
  • libxml_set_streams_context — Configure le contexte de flux pour la prochaine opération libxml
  • libxml_use_internal_errors — Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure
libXMLError
libxml_clear_errors
libxml


Vide le buffer d'erreur libxml

Fonctions libxml
libxml_disable_entity_loader
Fonctions libxml
PHP Manual

libxml_clear_errors

(PHP 5 >= 5.1.0)

libxml_clear_errors — Vide le buffer d'erreur libxml

Description

void libxml_clear_errors ( void )

libxml_clear_errors() vide le buffer d'erreur libxml.

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • libxml_get_errors() - Lit le tableau d'erreurs
  • libxml_get_last_error() - Lit la dernière erreur libxml

Fonctions libxml
libxml_disable_entity_loader
Fonctions libxml


Désactive le chargement des entités externes

libxml_clear_errors
libxml_get_errors
Fonctions libxml
PHP Manual

libxml_disable_entity_loader

(PHP 5 >= 5.2.11)

libxml_disable_entity_loader — Désactive le chargement des entités externes

Description

ReturnType libxml_disable_entity_loader ([ bool $disable = TRUE ] )

Active ou désactive le chargement des entités externes.

Liste de paramètres

disable

Désactive (TRUE) ou active (FALSE) le chargement des entités externes par les extensions libxml (telles que DOM, XMLWriter et XMLReader).

Valeurs de retour

Retourne la configuration précédente.

Voir aussi

  • libxml_use_internal_errors() - Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure
  • La constante LIBXML_NONET

libxml_clear_errors
libxml_get_errors
Fonctions libxml


Lit le tableau d'erreurs

libxml_disable_entity_loader
libxml_get_last_error
Fonctions libxml
PHP Manual

libxml_get_errors

(PHP 5 >= 5.1.0)

libxml_get_errors — Lit le tableau d'erreurs

Description

array libxml_get_errors ( void )

Retourne un tableau d'erreurs.

Valeurs de retour

libxml_get_errors() retourne un tableau avec les objets LibXMLError qui représentent les erreurs, ou bien un tableau vide s'il n'y a pas d'erreurs.

Exemples

Exemple #1 Exemple avec libxml_get_errors()

Cet exemple montre comment créer un gestionnaire d'erreurs libxml simple.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!$doc) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

L'exemple ci-dessus va afficher :

  <titles>PHP: Behind the Parser</title>
----------------------------------------------^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 46

--------------------------------------------

Voir aussi

  • libxml_get_last_error() - Lit la dernière erreur libxml
  • libxml_clear_errors() - Vide le buffer d'erreur libxml

libxml_disable_entity_loader
libxml_get_last_error
Fonctions libxml


Lit la dernière erreur libxml

libxml_get_errors
libxml_set_streams_context
Fonctions libxml
PHP Manual

libxml_get_last_error

(PHP 5 >= 5.1.0)

libxml_get_last_error — Lit la dernière erreur libxml

Description

LibXMLError libxml_get_last_error ( void )

libxml_get_last_error() lit la dernière erreur libxml.

Valeurs de retour

libxml_get_last_error() retourne un objet LibXMLError s'il y a une erreur, et FALSE sinon.

Voir aussi

  • libxml_get_errors() - Lit le tableau d'erreurs
  • libxml_clear_errors() - Vide le buffer d'erreur libxml

libxml_get_errors
libxml_set_streams_context
Fonctions libxml


Configure le contexte de flux pour la prochaine opération libxml

libxml_get_last_error
libxml_use_internal_errors
Fonctions libxml
PHP Manual

libxml_set_streams_context

(PHP 5)

libxml_set_streams_context — Configure le contexte de flux pour la prochaine opération libxml

Description

void libxml_set_streams_context ( resource $streams_context )

libxml_set_streams_context() configure le contexte de flux pour la prochaine opération libxml.

Liste de paramètres

streams_context

La ressource de contexte de flux, créé avec la fonction stream_context_create().

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec libxml_set_streams_context()

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// lit un fichier via HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Voir aussi

  • stream_context_create() - Crée un contexte de flux

libxml_get_last_error
libxml_use_internal_errors
Fonctions libxml


Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure

libxml_set_streams_context
qtdom
Fonctions libxml
PHP Manual

libxml_use_internal_errors

(PHP 5 >= 5.1.0)

libxml_use_internal_errors — Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure

Description

bool libxml_use_internal_errors ([ bool $use_errors = false ] )

libxml_use_internal_errors() vous permet de désactiver le gestionnaire d'erreurs libxml standard, et d'activer votre propre gestionnaire d'erreur.

Liste de paramètres

use_errors

Active ou désactive le rapport d'erreur.

Valeurs de retour

libxml_use_internal_errors() retourne la valeur précédemment configurée pour use_errors.

Exemples

Exemple #1 Exemple avec libxml_use_internal_errors()

Cet exemple montre l'utilisation de base des erreurs libxml, et la valeur retournée par cette fonction.

<?php

// active la gestion d'erreur personnalisée
var_dump(libxml_use_internal_errors(true));

// Chargement du document
$doc = new DOMDocument;

if (!$doc->load('file.xml')) {
    foreach (libxml_get_errors() as $error) {
        // gérer les erreurs ici
    }

    libxml_clear_errors();
}

?>

L'exemple ci-dessus va afficher :

bool(false)

Voir aussi

  • libxml_clear_errors() - Vide le buffer d'erreur libxml
  • libxml_get_errors() - Lit le tableau d'erreurs

libxml_set_streams_context
qtdom
Fonctions libxml


qtdom

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions qtdom
    • qdom_error — Retourne le message d'erreur de la dernière opération QDOM, ou FALSE si aucune erreur n'est survenue
    • qdom_tree — Crée une arbre à partir d'une chaîne XML
libxml_use_internal_errors
Introduction
Manipulation XML


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Note: Cette extension n'est pas disponible sur les plates-formes Windows.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

qtdom
Installation/Configuration
qtdom


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
qtdom


Pré-requis

Vous devez installer la bibliothèque Qt-library >=2.2.0.

Installation/Configuration
Installation
Installation/Configuration


Installation

Cette extension est considérée comme non-maintenue et morte. Cependant, le code source est toujours disponible depuis le SVN de PECL ici : » http://svn.php.net/viewvc/pecl/qtdom.

Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions qtdom
qtdom


Fonctions qtdom

Sommaire

  • qdom_error — Retourne le message d'erreur de la dernière opération QDOM, ou FALSE si aucune erreur n'est survenue
  • qdom_tree — Crée une arbre à partir d'une chaîne XML
Constantes pré-définies
qdom_error
qtdom


Retourne le message d'erreur de la dernière opération QDOM, ou FALSE si aucune erreur n'est survenue

Fonctions qtdom
qdom_tree
Fonctions qtdom
PHP Manual

qdom_error

(PHP 4 >= 4.0.5)

qdom_error — Retourne le message d'erreur de la dernière opération QDOM, ou FALSE si aucune erreur n'est survenue

Description

string qdom_error ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Fonctions qtdom
qdom_tree
Fonctions qtdom


Crée une arbre à partir d'une chaîne XML

qdom_error
SDO
Fonctions qtdom
PHP Manual

qdom_tree

(PHP 4 >= 4.0.4)

qdom_tree — Crée une arbre à partir d'une chaîne XML

Description

QDomDocument qdom_tree ( string $doc )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

qdom_error
SDO
Fonctions qtdom


SDO

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Limitations
  • Exemples
    • Utilisation simple
    • Fixe et Récupère les Valeurs des Propriétés
    • Travailler avec des Objets de Données en Séquence
    • Réflexion sur des Objets de Service de Données
  • Fonctions SDO
    • SDO_DAS_ChangeSummary::beginLogging — Commence la journalisation
    • SDO_DAS_ChangeSummary::endLogging — Termine la journalisation
    • SDO_DAS_ChangeSummary::getChangeType — Récupère le type de changement qui a été fait à l'objet de données
    • SDO_DAS_ChangeSummary::getChangedDataObjects — Récupère une liste de d'objets de données qui ont été changés
    • SDO_DAS_ChangeSummary::getOldContainer — Récupère un ancien conteneur d'objet de données pour un objet de données supprimé
    • SDO_DAS_ChangeSummary::getOldValues — Récupère une liste des anciennes valeurs pour un objet de données
    • SDO_DAS_ChangeSummary::isLogging — Vérifie pour voir si la journalisation des changements est activée
    • SDO_DAS_DataFactory::addPropertyToType — Ajoute une nouvelle propriété à une définition de type
    • SDO_DAS_DataFactory::addType — Ajoute un nouveau type à un modèle
    • SDO_DAS_DataFactory::getDataFactory — Récupère l'instance de classe de données
    • SDO_DAS_DataObject::getChangeSummary — Récupère le résumé de changement pour un objet de données
    • SDO_DAS_Setting::getListIndex — Récupère la liste des index pour une propriété de valeurs multiples changée
    • SDO_DAS_Setting::getPropertyIndex — Récupère l'index de propriété pour la propriété changée
    • SDO_DAS_Setting::getPropertyName — Récupère le nom de la propriété pour la propriété changée
    • SDO_DAS_Setting::getValue — Récupère l'ancienne valeur pour la propriété changée
    • SDO_DAS_Setting::isSet — Vérifie pour voir si la propriété était fixée avant d'être modifiée
    • SDO_DataFactory::create — Crée un SDO_DataObject
    • SDO_DataObject::clear — Détruit les propriétés d'un SDO_DataObject
    • SDO_DataObject::createDataObject — Crée un enfant SDO_DataObject
    • SDO_DataObject::getContainer — Récupère un conteneur de l'objet de données
    • SDO_DataObject::getSequence — Récupère la séquence pour un objet de données
    • SDO_DataObject::getTypeName — Retourne le nom du type d'un objet de données
    • SDO_DataObject::getTypeNamespaceURI — Retourne l'espace de nom URI du type d'un objet de données
    • SDO_Exception::getCause — Récupère la cause d'une exception
    • SDO_List::insert — Insère dans une liste
    • SDO_Model_Property::getContainingType — Récupère le SDO_Model_Type qui contient cette propriété
    • SDO_Model_Property::getDefault — Récupère la valeur par défaut pour la propriété
    • SDO_Model_Property::getName — Récupère le nom de SDO_Model_Property
    • SDO_Model_Property::getType — Récupère le SDO_Model_Type de la propriété
    • SDO_Model_Property::isContainment — Vérifie pour voir si la propriété définit une relation contenue
    • SDO_Model_Property::isMany — Vérifie pour voir si la propriété est de valeurs multiples
    • SDO_Model_ReflectionDataObject::__construct — Construit un SDO_Model_ReflectionDataObject
    • SDO_Model_ReflectionDataObject::export — Récupère une chaîne de caractères décrivant le SDO_DataObject.
    • SDO_Model_ReflectionDataObject::getContainmentProperty — Récupère la propriété qui définit la relation contenue de l'objet de données
    • SDO_Model_ReflectionDataObject::getInstanceProperties — Récupère les propriétés de l'instance de SDO_DataObject
    • SDO_Model_ReflectionDataObject::getType — Récupère le SDO_Model_Type pour SDO_DataObject
    • SDO_Model_Type::getBaseType — Récupère le type de base pour le type
    • SDO_Model_Type::getName — Récupère le nom du type
    • SDO_Model_Type::getNamespaceURI — Récupère l'espace de nom URI pour le type
    • SDO_Model_Type::getProperties — Récupère les objets SDO_Model_Property définis pour le type
    • SDO_Model_Type::getProperty — Récupère un SDO_Model_Property du type
    • SDO_Model_Type::isAbstractType — Vérifie pour voir si ce SDO_Model_Type est un objet de type abstrait
    • SDO_Model_Type::isDataType — Vérifie pour voir si le SDO_Model_Type est un type de données primitive
    • SDO_Model_Type::isInstance — Vérifie si un SDO_DataObject est une instance de ce SDO_Model_Type
    • SDO_Model_Type::isOpenType — Vérifie pour voir si le type est un type ouvert
    • SDO_Model_Type::isSequencedType — Vérifie pour voir si le type est une séquence
    • SDO_Sequence::getProperty — Retourne la propriété pour l'index de séquence spécifié
    • SDO_Sequence::insert — Ajoute dans une séquence
    • SDO_Sequence::move — Déplace un item à une autre position de la séquence
qdom_tree
Introduction
Manipulation XML


Introduction

Les Objets de Service de Données (Service Data Objects (SDOs)) permet les applications PHP de travailler avec des données provenant de différentes sources (comme une requête de base de données, un fichier XML et une feuille de tableau) en utilisant une simple interface.

Chaque différente sorte de source de données requiert un Service d'Accès de Données (Data Access Service (DAS)) pour fournir un accès aux données dans la source de données. Dans votre application PHP, vous utilisez un DAS pour créer une instance SDO qui représente des données dans la source de données. Vous pouvez alors fixer et récupérer des valeurs dans l'instance SDO en utilisant l'interface SDO standard. Finalement, vous pouvez utiliser un DAS pour écrire les données modifiées à une source de données (normalement la même).

Voyez la liste des Services d'Accès de Données pour des détails sur ceux actuellement disponibles. En plus des DASs fournis, SDO fournit aussi des interfaces pour permettre les autres à être implémentés (voyez la section sur Interface SDO Service d'Accès de Données pour plus de détails).

Cette extension est dérivée des concepts pris des » Spécification d'Objets de Service de Données. Elle inclut une version de » Apache Tuscany SDO pour le projet C++.

La Structure d'un Objet de Service de Données

Une instance d'Objet de Service de Données est fait d'un arbre d'objets de données. L'arbre est défini par des relations contenues entre les objets de données. Par exemple, une objet de données Compagnie peut consister en un nombre d'objets de données Département et donc la Compagnie devrait avoir une relation contenue avec les Départements.

Un SDO peut aussi avoir des références non contenues entre les objets de données dans l'arbre. Par exemple, un objet de données Employé peut faire référence à un autre Employé pour identifier son mentor.

Les données peuvent se référencer entre eux, mais peuvent aussi avoir des propriétés primitives. Par exemple, l'objet de données Compagnie pourrait avoir une propriété appelée "nom" de type chaîne de caractères pour contenir le nom de la compagnie (par exemple, "Acme").

Chacune de ces propriétés de l'objet de données - références contenues, références non-contenues ou propriétés primitives - peut avoir plusieurs valeurs ou une seule. Dans l'exemple ci-dessous, "Departements" a plusieurs valeurs alors que le nom de la compagnie n'en a qu'une.

En PHP, chaque objet de données SDO est représenté en tant qu'objet PHP. Les propriétés de l'objet de données peuvent être accédées en utilisant soit la syntaxe orientée objet, soit la syntaxe de tableaux associatifs. Nous verrons quelques exemples de cela plus tard dans la documentation.

SDO
Installation/Configuration
SDO


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SDO


Pré-requis

L'extension SDO requiert PHP 5.1.0 ou supérieur. Elle nécessite également la bibliothèque libxml2. Normalement, libxml2 devrait être déjà installée mais si ce n'est pas le cas, vous pouvez la télécharger depuis » http://www.xmlsoft.org/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/sca_sco.

Note: Les versions précédentes de l'extension SDO nécessite une bibliothèque partagée séparée XML DAS. Ceci est désormais obsolète et toutes les références au fichier php_sdo_das_xml.dll ou au fichier sdo_das_xml.so doivent être supprimées de votre php.ini.

Systèmes Unix

  1. Les trois composants SDO - le corps SDO, le XML DAS et le relationnel DAS - font partis, avec le Service Component Architecture (SCA), d'un seul projet PECL, SCA_SDO ; vous pouvez donc télécharger SCA ainsi que les trois parties de SDO avec la commande :

    pecl install SCA_SDO

    Cette commande va construire la bibliothèque partagée SDO mais va aussi installer les fichiers PHP permettant le relationnel SCA et DAS.

    Si vous voulez installer la dernière version bêta, exécutez plutôt la commande :

    pecl install SCA_SDO-beta

  2. La commande pecl installe automatiquement le module SDO dans votre dossier d'extensions PHP. Pour activer les extensions SDO, vous devez ajouter les lignes suivantes à votre php.ini :

    extension=sdo.so

    Pour plus d'informations sur la constructions de paquets PECL, consultez la section de la documentation sur l'installation PECL.

Construire SDO sur Linux

Cette section décrit comment construire le noyau SDO et le XML DAS sur Linux. Vous devriez avoir besoin seulement de savoir comment faire cela seulement si vous souhaitez construire une version récente que vous auriez téléchargée de SVN.

  1. Changez le dossier principal d'extension : cd < où se trouve le code sdo >

  2. Exécutez phpize, qui fixera l'environnement pour compiler le SDO.

  3. Ensuite, exécutez ./configure; make; make install. Veuillez noter, vous devriez avoir besoin de vous identifier en tant que root pour installer cette extension.

  4. Vérifiez que ces modules sont chargés par PHP, en ajoutant extension=sdo.so dans votre fichier php.ini.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SDO_DAS_ChangeSummary::NONE=0 (entier)
Représente un changement de type 'none' (aucun).
SDO_DAS_ChangeSummary::MODIFICATION=1 (entier)
Représente un changement de type 'modification'.
SDO_DAS_ChangeSummary::ADDITION=2 (entier)
Représente un changement de type 'addition'.
SDO_DAS_ChangeSummary::DELETION=3 (entier)
Représente un changement de type "deletion" (suppression).
Types de ressources
Limitations
SDO


Limitations

Limitations d'Implémentation

La liste suivante contient les limitations dans l'implémentation courante de SDO :

  1. Il n'y a pas de support pour les jeux de caractères multioctet. Ceci doit être considéré, dépendemment de la nécessité de la communauté, dans la version de PHP où le support de l'Unicode est activé.

Limitations SDO

Les concepts suivants de SDO 2.0 ne sont pas supportés dans l'implémentation courante de PHP. Ce n'est pas nécessairement le cas que ceux-ci seront ajoutés avec le temps. Leur inclusion dépendra des besoins de la communauté.

  1. Relations bidirectionnelles.

  2. Type et propriété alias noms.

  3. Propriétés en lecture seule.

  4. Les classes d'aide définies dans SDO 2.0 ne sont pas directement implémentées. Cependant, une fonction équivalente est fournie dans un style plus naturel pour PHP. Par exemple, la fonction CopyHelper::copy() est fournie en utilisant le mot clé clone de PHP pour un objet de données.

Constantes pré-définies
Exemples
SDO


Exemples

Sommaire

  • Utilisation simple
  • Fixe et Récupère les Valeurs des Propriétés
  • Travailler avec des Objets de Données en Séquence
  • Réflexion sur des Objets de Service de Données
Limitations
Utilisation simple
SDO


Utilisation simple

Les exemples ci-dessous assument qu'un SDO est créé avec le schéma et l'information de l'instance montrée ci-dessous, en utilisant le Service d'Accès de Données.

L'instance du document ci-dessous décrit un compagnie simple, nommée "MegaCorp", qui contient un seul département, nommé "Advanced Technologies". Ce département contient trois employés. La compagnie "employeeOfTheMonth" référence le second employé, "Jane Doe".

<?xml version="1.0" encoding="UTF-8" ?>
<company xmlns="companyNS" name="MegaCorp"
  employeeOfTheMonth="E0003">
  <departments name="Advanced Technologies" location="NY" number="123">
    <employees name="John Jones" SN="E0001"/>
    <employees name="Jane Doe" SN="E0003"/>
    <employees name="Al Smith" SN="E0004" manager="true"/>
  </departments>
</company>

L'élément racine de ce schéma est une compagnie. La compagnie contient des départements, et chaque département contient des employés. Chaque élément a un nombre d'attributs pour y stocker des valeurs comme le nom, un numéro de série et ainsi de suite. Finalement, la compagnie a également un attribut IDREF qui identifie un des employés comme "employeeOfTheMonth".

<xsd:schema
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:sdo="commonj.sdo"
  xmlns:sdoxml="commonj.sdo/xml"
  xmlns:company="companyNS"
  targetNamespace="companyNS">
  <xsd:element name="company" type="company:CompanyType"/>
  <xsd:complexType name="CompanyType">
    <xsd:sequence>
      <xsd:element name="departments" type="company:DepartmentType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF"
      sdoxml:propertyType="company:EmployeeType"/>
  </xsd:complexType>
  <xsd:complexType name="DepartmentType">
    <xsd:sequence>
      <xsd:element name="employees" type="company:EmployeeType"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="location" type="xsd:string"/>
    <xsd:attribute name="number" type="xsd:int"/>
  </xsd:complexType>
  <xsd:complexType name="EmployeeType">
    <xsd:attribute name="name" type="xsd:string"/>
    <xsd:attribute name="SN" type="xsd:ID"/>
    <xsd:attribute name="manager" type="xsd:boolean"/>
  </xsd:complexType>
</xsd:schema>

Un Service d'Accès de Données XML voit ce schéma comme un SDO. Les attributs comme "name" deviennent des propriétés primaires, les séquences d'employés deviennent une relation de contenu à multiples valeurs, et ainsi de suite. Notez que les relations de contenu sont représentées comme un type complexe contenu dans un autre, où les références non-contenues sont représentées en terme d'ID et d'IDREF, avec un attribut sdoxml:propertyType spécial spécifiant le type de la référence non-contenue.

Exemples
Fixe et Récupère les Valeurs des Propriétés
Exemples


Fixe et Récupère les Valeurs des Propriétés

Les exemples suivants présument que $compagnie est la racine d'un arbre d'objets de données créés depuis le schéma et le document montré ci-dessus.

Exemple #1 Accès via les noms de Propriété

Les propriétés des objets de données peuvent être accéder en utilisant la syntaxe d'accès de propriété d'objet. L'exemple fixe le nom de compagnie à "Acme".

<?php
$company->name = 'Acme';
?>

Exemple #2 Accès via le nom de la propriété en tant que tableau indexé

Nous pouvons également accéder aux propriétés en utilisant un tableau associatif. La forme la plus simple est d'utiliser le nom de la propriété dans le tableau indexé. Par exemple, ce qui suit définit le nom de la compagnie et récupère l'"employeeOfTheMonth".

<?php
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>

Exemple #3 Itération d'objet de données

Vous pouvons passer en revue les propriétés d'un objet de données en utilisant l'instruction foreach.

<?php
  $eotm = $company->employeeOfTheMonth;
  foreach ($eotm as $name => $value) {
      echo "$name: $value\n";
  }
?>

Affichera :

name: Jane Doe
SN: E0003

La propriété "manager" n'est pas affichées, car elle n'a pas été spécifiée.

Exemple #4 Accès à une propriété à valeurs multiples par le nom

Les propriétés à valeurs multiples d'un objet de données peuvent être accédées en utilisant la syntaxe des noms de propriétés de l'objet. Ce qui suit récupère la liste des départements.

<?php
$departments = $company->departments;
?>

Exemple #5 Accès aux éléments à valeurs multiples

Nous pouvons accéder aux éléments individuels des propriétés à valeurs multiples en utilisant la syntaxe des tableaux. Ce qui suit permet d'accéder au premier département de la compagnie.

<?php
$ad_tech_dept = $company->departments[0];
?>

Exemple #6 Itération d'une propriété à valeurs multiples

Les propriétés à valeurs multiples peuvent être passées en revue en utilisant l'instruction foreach.

<?php
  foreach ($company->departments as $department) {
    // ...
  }
?>

Chaque itération assignera le prochain département de la liste dans la variable $department.

Exemple #7 Accès aux propriétés chaînées

Nous pouvons chaîner les références des propriétés sur une seule ligne. Ce qui suit définit et récupère le nom du premier département.

<?php
  $company->departments[0]->name = 'Emerging Technologies';
  $dept_name = $company->departments[0]->name;
?>

En utilisant la syntaxe des tableaux associatifs, c'est l'équivalent de

<?php
  $company['departments'][0]['name'] = 'Emerging Technologies';
  $dept_name = $company['departments'][0]['name'];
?>

Dans tous les cas, la variable dept_name est définie à "Emerging Technologies".

Exemple #8 Navigation XPath

Le tableau associatif indexé peut être une expression façon XPath. Les expressions valides sont définies par une sous définition d'XPath.

Deux façons d'indexations de propriétés à valeurs multiples sont supportées. La première est la syntaxe de tableau XPath standard dont l'index commence à 0, la seconde est une extension SDO à XPath avec un index qui commence à 0. La syntaxe standard est :

<?php
  $jane_doe = $company["departments[1]/employees[2]"];
?>

et la syntaxe de l'extension SDO XPath est :

<?php
  $jane_doe = $company["departments.0/employees.1"];
?>

Les deux exemples ci-dessus récupèrent le second employé du premier département.

Exemple #9 Requête XPath

Nous pouvons utiliser XPath pour effectuer une requête et ainsi identifier des parties d'un objet de données basé sur des données instanciées. Ce qui suit récupère le manager depuis le département "Advanced Technologies".

<?php
 $ad_tech_mgr =
  $company["departments[name='Advanced Technologies']/employees[manager=true]"];
?>

Exemple #10 Création d'objets de données fils

Un objet de données peut être une fraction pour ces objets de données fils. Un objet de données fils est automatiquement une partie des données. Ce qui suit ajoute un nouvel employé au département "Advanced Technologies".

<?php
  $ad_tech_dept = $company["departments[name='Advanced Technologies']"];
  $new_hire = $ad_tech_dept->createDataObject('employees');
  $new_hire->name = 'John Johnson';
  $new_hire->SN = 'E0005';
  $new_hire->manager = false;
?>

Exemple #11 Effacement d'une propriété primitive

Nous pouvons utiliser la fonction isset() et unset() pour tester et effacer des éléments de l'objet de données.

Ce qui suit efface le nom du premier département.

<?php
  unset($company->departments[0]->name);
?>

Exemple #12 Effacement d'un objet de données

La fonction unset() peut également être utilisée pour effacer un objet de données de l'arbre. L'exemple suivant montre comment John Jones à quitter la compagnie...

<?php
  unset($company->departments[0]->employees[0]);
?>

Exemple #13 Effacement d'un objet de données référencé

Ce qui suit efface "employeeOfTheMonth" de la compagnie. Si c'est une relation contenue, alors l'employé sera effacé de la compagnie. (probablement pas une bonne idée que d'effacer chaque mois votre meilleur employé !) mais si c'est une relation non-contenue, l'employé référencé restera dans le département de la compagnie, mais ne sera plus accessible via la propriété "employeeOfTheMonth".

<?php
  if (isset($company->employeeOfTheMonth)) {
    unset($company->employeeOfTheMonth);
  }
?>

Exemple #14 Accès via l'index de la propriété

Les propriétés de l'objet de données peuvent être accédées via leurs index en utilisant la syntaxe de tableaux. L'index de la propriété est la position dont la propriété apparaît dans le modèle (dans ce cas, le schéma XML). Nous pouvons voir dans le schéma listé ci-dessus que l'attribut du nom de la compagnie est la seconde propriété de la compagnie (l'interface SDO ne fait pas de distinction entre les attributs XML et les éléments). Ce qui suit va définir le nom de la compagnie en "Acme", avec le même résultat que lors de l'accès via le nom de la propriété.

<?php
  $company[1] = 'Acme';
?>

L'utilisation directe de l'index dans ce cas est fragile. Normalement, la syntaxe reposant sur le nom de la propriété est préférable, mais l'index des propriétés peut être nécessaire dans des cas très spéciaux.

Utilisation simple
Travailler avec des Objets de Données en Séquence
Exemples


Travailler avec des Objets de Données en Séquence

Des objets de données en Séquence sont des SDOs peuvent tracer l'ordre des propriétés à travers les propriétés des objets de données. Ils peuvent aussi contenir des éléments de texte non structuré (élément de texte qui n'appartient à aucune des propriétés SDO). Des objets de données en Séquence sont utiles pour travailler avec des documents XML qui permettent du texte non structuré (c'est-à-dire mixed=true) ou si les éléments peuvent être intercalée (

<A/><B/><A/>
). Ceci peut se produire par exemple lorsque le schéma définit maxOccurs>1 sur un élément qui est un complexType avec un choix de l'ordre.

Les exemples ci-dessous assument qu'un SDO est créé avec le schéma et l'information de l'instance montrée ci-dessous, en utilisant le Service d'Accès de Données.

Le schéma ci-dessous décrit le format d'une lettre. La lettre peut optionnellement contenir trois propriétés; date, prenom et nomFamille. Le schéma indique mixed="true" qui signifie que le texte non structuré peut être entremêlé entre les trois propriétés.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

L'exemple suivant est une instance du document lettre. Il contient les trois propriétés de la lettre; date, prenom et nomFamille, et a des éléments de texte non structuré pour l'adresse et le corps de la lettre.

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

Lorsque chargé, l'objet de données de lettre aura la séquence et les indices montrés dans la table ci-dessous :

Index de Séquence | Index:Nom | Valeur
0 | 0:date | March 1, 2005
1 | - | Mutual of Omaha
2 | - | Wild Kingdom, USA
3 | - | Dear
4 | 1:firstName | Casy
5 | 2:lastName | Crocodile
6 | - | Please buy more shark repellent.
7 | - | Your premium is past due.

Pour s'assurer que la séquence des indices soit maintenue, les objets de données en séquence devraient être manipulés à travers de l'interface SDO_Sequence. Ceci permet à l'instance de l'objet de données à être manipulée en tant qu'index de séquence plutôt qu'avec un index de propriété (montré dans la table ci-dessus). Les exemples suivants assument que l'instance de la lettre a été chargée dans l'objet de données référencé par la variable $lettre.

Exemple #1 Récupération de l'interface SDO_Sequence

Nous obtenons la séquence de l'objet de données en utilisant la méthode getSequence(). La suite récupère la séquence pour l'objet de données de la lettre.

<?php
  $letter_seq = $letter->getSequence();
?>

Tous les exemples suivants assument que la variable $lettre_seq a été assigné de la séquence pour l'objet de données de la lettre.

Exemple #2 Récupère/Fixe des valeurs de séquence

Nous pouvons récupérer et fixer des valeurs individuelles (en incluant le texte non structuré) en utilisant les index de séquence. L'exemple suivant fixe le prenom à "Snappy" et récupère la dernière valeur de séquence (le texte non structuré, "Votre prime est passée date.").

<?php
  $letter_seq[4] = 'Snappy';
  $text = $letter_seq[count($letter_seq) - 1];
?>

Exemple #3 Itération de Séquence

Nous pouvons itérer à travers des valeurs de séquence individuellement en utilisant foreach. L'exemple suivant passe au travers des valeurs individuelles dans l'ordre séquentiel.

<?php
foreach ($letter->getSequence() as $value) {
    // ...
}
?>

Exemple #4 Séquence versus Objet de Données

Fixer des valeurs à travers l'interface d'objet de données peut amener à ce que les valeurs ne fassent pas partie de la séquence. Une valeur fixée avec un objet de données sera seulement accessible avec la séquence si la propriété était déjà une partie de la séquence. L'exemple suivant fixe le nomFamille à travers de l'objet de données et le récupère par la séquence. Ceci est correct puisque nomFamille existe déjà dans la séquence. S'il n'avait pas été fixé, alors nomFamille devrait être fixé à "Smith", mais ne devrait pas faire partie de la séquence.

<?php
  $letter[2] = 'Smith';
  $last_name = $letter_seq[5];
?>

Exemple #5 Ajout à une séquence

Nous pouvons ajouter de nouvelles valeurs à une séquence en utilisant la méthode SDO_Sequence::insert(). Les exemples suivants assument que les propriétés "prenom" et "nomFamille" sont non fixées.

<?php
  // Ajoute une valeur prenom à la séquence
  // valeur : 'Smith'
  // index séquence : NULL (ajout)
  // identifiant de propriété : 1 (index propriété prenom)
  $lettre_seq->insert('Smith', NULL, 1);

  // Ajoute une valeur nomFamille à la séquence
  // valeur : 'Jones'
  // index séquence : NULL (ajout)
  // identifiant de propriété : 'nomFamille' (nom propriété nomFamille)
  $lettre_seq->insert('Jones', NULL, 'nomFamille');

  // Ajoute du texte non structuré
  // valeur : 'Annule Inscription.'
  // index séquence : absent (ajout)
  // identifiant de propriété : absent (texte non structuré)
  $lettre_seq->insert('Annule Inscription.');

  // Ajoute du nouveau texte non structuré. Les séquence valeurs suivantes
  // d'ordre sont décalées vers le haut
  // valeur : 'À l'attention de :'
  // index séquence : 1 (insert comme second élément)
  // identifiant de propriété : absent (texte non structuré)
  $lettre_seq->insert('À l'attention de :', 1);
?>

Exemple #6 Suppression d'une séquence

Nous pouvons utiliser les fonctions isset() et unset() pour tester et supprimer des items de la séquence (Note : unset() laisse actuellement les valeurs dans l'objet de données, mais ce comportement est devrait changer et supprimer les données de l'objet de données). Une séquence se comporte comme une liste contiguë; donc, la suppression d'un item au milieu de la liste décalera les entrées d'un indice plus haut vers le bas. L'exemple suivant teste pour vérifier si la première séquence d'élément est fixé et la détruit si elle l'est.

<?php
  if (isset($letter_seq[0])) {
    unset($letter_seq[0]);
  }
?>

Fixe et Récupère les Valeurs des Propriétés
Réflexion sur des Objets de Service de Données
Exemples


Réflexion sur des Objets de Service de Données

Les SDOs ont une connaissance de la structure qu'ils ont créée pour la représentation (le modèle). Par exemple, une Compagnie SDO créée utilisant le schéma de Compagnie XML ci-dessus devrait seulement être permis de contenir des objets de données DepartementType qui à leur tour devrait contenir seulement des objets de données EmployeType.

Parfois, il est utile d'être capable d'accéder ces informations de modèle à l'exécution. Par exemple, cela pourrait être utilisé pour générer automatiquement une interface d'usager pour remplir un objet de données. Les informations de modèle sont accédées en utilisant la réflexion.

Exemple #1 Réflexion sur les Objets de Données

L'exemple suivant montre comment nous pouvons utiliser la réflexion sur un objet de données vide Employe.

<?php
  // Crée l'objet de données employe (par exemple, à partir de Service d'Accès
  // de données XML)
  $employee = ...;
  $reflection = new SDO_Model_ReflectionDataObject($employee);
  print($reflection);
?>

L'exemple ci-dessus va afficher :

object(SDO_Model_ReflectionDataObject)#4 { - ROOT OBJECT - Type {
companyNS:EmployeeType[3] { commonj.sdo:String $name;
commonj.sdo:String $SN; commonj.sdo:Boolean $manager; } }

L'utilisation de print sur SDO_Model_ReflectionDataObject écrit à l'écran les données du modèle de l'objet. Nous pouvons voir à la sortie que le type compagnieNS:EmployeType a trois propriétés et nous pouvons voir le noms de ces propriétés avec leur type. Notez, les types primitifs sont listés en tant que types SDO (par exemple, commonj.sdo namespace, String type). Cela vaut la peine de noter que c'est le modèle SDO et lorsqu'ils sont utilisés dans l'application, ils peuvent être traités comme des types équivalent PHP (par exemple, chaîne de caractères et booléen).

Exemple #2 Accès d'informations de type

Nous pouvons effectuer une requête de type d'informations sur un objet de données en utilisant la réflexion. L'exemple suivant vérifie que le type corresponde à l'objet de données plutôt qu'à une primitive et alors itère à travers des propriétés de type, en affichant le nom de chaque propriété ($type et $property sont respectivement des objets SDO_Model_Type et SDO_Model_Property).

<?php
    // Crée l'objet de données employe (par exemple, à partir de Service d'Accès
    // de données XML)
    $employee = ...;
    $reflection = new SDO_Model_ReflectionDataObject($employee);
    $type = $reflection->getType();
    if (! $type->isDataType()) {
        foreach ($type->getProperties() as $property) {
            print $property->getName() . "\n";
        }
    }
?>

L'exemple ci-dessus va afficher :

name
SN
manager

Travailler avec des Objets de Données en Séquence
Fonctions SDO
Exemples


Fonctions SDO

Services d'Accès de Données

La table ci-dessous liste les Services d'Accès de Données SDO actuellement fournis :

Nom DAS | Description
SDO_DAS_XML | Un Service d'Accès de Données XML supportant la lecture/écriture SDOs comme documents XML.
SDO_DAS_Relational | Un Service d'Accès de Données basé sur PDO supportant la lecture/écriture SDO aux bases de données relationnelles. Implémente une politique optimiste de mises à jour concourante.

Classes pré-définies

SDO consiste en trois blocs d'interface. Le premier bloc couvre les interfaces pour utiliser avec les applications typiques SDO. Celles-ci sont identifiées par le préfixe de paquet 'SDO_'. Le deuxième bloc est celui qui utilise les interfaces qui sont utilisées pour la réflexion, et travaille avec le modèle d'objet de données. Ces interfaces sont identifiées par le préfixe de paquet 'SDO_Model_'. Finalement, le troisième bloc est celui qui utilise les interfaces qui sont utilisées par les implémentations de Service d'Accès de Données et sont identifiées par le préfixe de paquet 'SDO_DAS_'. La majorité des utilisateurs SDO n'auront pas besoin d'utiliser ou de comprendre les interfaces 'SDO_Model_' et 'SDO_DAS_'.

Interface Application pour programmer SDO

SDO_DataObject

L'interface principale dans laquelle les objets de données sont manipulés. En plus des méthode ci-dessous, SDO_DataObjet étend les interfaces ArrayAccess, SDO_PropertyAccess (définit les méthodes __get() / __set() pour surcharger l'accès aux propriétés), Iterator et Countable.

Méthodes

  • getSequence : récupère la séquence pour l'objet de données

  • createDataObject : crée un objet de données enfant

  • clear : détruit les propriétés d'un objet de données

  • getContainer : récupère le conteneur (aussi connu en tant que 'parent') de l'objet de données

  • getTypeName : récupère le nom du type de cet objet de données

  • getTypeNamespaceURI : récupère l'URI de l'espace de noms du type de cet objet de données

SDO_Sequence

L'interface avec laquelle on peut accéder aux objets de données en séquence pour préserver l'ordre parmi les propriétés de l'objet de données et pour permettre le texte non structuré. SDO_Sequence préserve les indices contigus et donc l'insertion ou la suppression d'éléments peut entraîner un décalage des autres éléments vers le haut ou vers le bas. En plus des méthodes ci-dessous, SDO_Sequence étend les interfaces ArrayAccess, Interator et Countable.

Méthodes

  • getProperty : récupère la propriété pour un index de séquence donné

  • move : déplace un élément d'un index vers un autre

  • insert : insère une nouvelle valeur dans la séquence

SDO_List

L'interface dans lequel les propriétés de plusieurs valeurs sont manipulées. En plus des méthodes définies ci-dessous, SDO_List étend ArrayAcces, Iterator et Countable. SDO_List préserve les indices contigus et donc l'insertion ou la suppression des éléments peut décaler les autres éléments vers le haut ou vers le bas.

Méthodes

  • insert : insertion d'une nouvelle valeur dans la liste

SDO_DataFactory

L'interface dans lequel les objets de données peuvent être créés. Un Service d'Accès de Données est responsable de remplir le modèle (c'est-à-dire, la configuration des classe de données avec le type et les informations de structure pour les objets de données qu'elle peut créer.) pour les classes et peut alors optionnellement retourner une instance ou une implémentation de l'interface de SDO_DataFactory.

Méthodes

  • create : crée un nouvel objet de données

SDO_Exception

Une exception SDO_Exception est lancée lorsque la demande de l'appelant ne peut être honorée. Les sous classes de SDO_Exception sont :

  • SDO_PropertyNotSetException - la propriété spécifiée existe mais n'a pas été définie ou n'a pas de valeur par défaut

  • SDO_PropertyNotFoundException - la propriété spécifiée ne fait pas partie du type de l'objet de données

  • SDO_TypeNotFoundException - l'URI d'espace de noms spécifiée ou le nom du type est inconnu

  • SDO_InvalidConversionException - la conversion entre les types d'assignation n'est pas possible

  • SDO_IndexOutOfBoundsException - l'index numérique d'un objet de données, d'une séquence ou d'une liste n'est pas dans un intervalle valide

  • SDO_UnsupportedOperationException - la demande n'a pû être honorée car elle n'est pas autorisée, par exemple, une tentative de définition d'une propriété en lecture seule

Méthodes

Une méthode est ajoutée à celles héritées depuis la classe interne Exception :

  • getCause : récupère la cause de cette exception SDO_Exception

Interfaces de réflexion d'application pour programmer SDO

SDO_Model_ReflectionDataObject

L'interface principale est utilisée pour la réflexion d'une instance d'objet de données pour obtenir son type de modèle et les informations de propriété. Elle est désignée pour suivre le motif de réflexion introduit dans PHP 5.

Constructeur

  • __construct : construit un nouvel SDO_Model_ReflectionDataObject.

Méthodes

  • export : récupère une chaîne décrivant l'objet de données.

  • getType : récupère le SDO_Model_Type pour l'objet de données.

  • getInstanceProperties : récupère les propriétés de l'instance de l'objet de données.

  • getContainmentProperty : récupère la propriété qui définit la relation contenue de l'objet de données.

SDO_Model_Type

L'interface dans lequel les informations de type de l'objet de données peuvent être récupérées. Cette interface peut être utilisée pour trouver le nom de type et l'espace de nom URI du type, si le type autorise l'ouverture du contenu, et ainsi de suite.

Méthodes

  • getName : récupère le nom du type.

  • getNamespaceURI : récupère l'espace de nom URI du type.

  • isInstance : vérifie pour un objet de données s'il est une instance du type.

  • getProperties : récupère les propriétés du type.

  • getProperty : récupère une propriété de type.

  • isDataType : vérifie pour voir si le type est une primitive de type scalaire.

  • isSequencedType : vérifie pour voir s'il s'agit d'un type de séquence.

  • isOpenType : vérifie pour voir s'il s'agit d'un type ouvert.

  • isAbstractType : vérifie pour voir s'il s'agit d'un type d'abstraction.

  • getBaseType : récupère le type de base de ce type (si un existe).

SDO_Model_Property

L'interface dans lequel les informations de propriété d'objet peuvent être récupérées. Cette interface peut être utilisée pour trouver le type d'une propriété, si une propriété a une valeur par défaut, si une propriété est contenue ou référencée par son parent, sa cardinalité, et ainsi de suite.

Méthodes

  • getName : récupère le nom de la propriété.

  • getType : récupère le type de la propriété.

  • isMany : vérifie pour voir si la propriété est de valeurs multiples.

  • isContainment : vérifie pour voir si la propriété décrit une relation contenue.

  • getContainingType : récupère le type qui contient cette propriété.

  • getDefault : récupère la valeur par défaut pour une propriété.

Interfaces de développeur Service d'Accès de Données SDO

SDO_DAS_DataObject

L'interface dans lequel un Service d'Accès de Données peut accéder à SDO_DAS_ChangeSummary de l'objet de données. Le résumé de changement est utilisé par le Service d'Accès de Données pour vérifier les conflits lors des applications des changements à une source de données.

Méthodes

  • getChangeSummary : récupère le résumé de changement pour un objet de données

SDO_DAS_ChangeSummary

L'interface dans lequel l'historique de changement d'un objet de données est accédé. Le résumé de changement contient des informations pour n'importe quelles modifications sur un objet de données qui s'est produites lorsque la journalisation a débuté. Dans le cas de suppression ou de modification, les dernières valeurs sont aussi gardées dans le résumé de changement.

Si la journalisation n'est plus active, alors le résumé de changement contient seulement les changements faits jusqu'au point où la journalisation fut désactivée. La réactivation de la journalisation supprime le résumé de changement. Cela peut être utile lorsqu'un certain nombre de changements ont été écris par un DAS et un objet de données qui est réutilisé.

Méthodes

  • beginLogging : démarre la journalisation des changements faits à l'objet de données

  • endLogging : termine la journalisation des changements faits à l'objet de données

  • isLogging : vérifie pour voir si la journalisation des changements est activée

  • getChangedDataObjects : récupère une liste de d'objets de données qui ont été changés

  • getChangeType : récupère le type de changement qui a été fait à l'objet de données

  • getOldValues : récupère une liste des anciennes valeurs pour un objet de données

  • getOldContainer : récupère un ancien conteneur d'objet de données pour un objet de données supprimé

SDO_DAS_Setting

L'interface dans lequel l'ancienne valeur pour une propriété est accédée. Une liste des configurations est retournée par le résumé de changement dont la méthode est getOldValues().

Méthodes

  • getPropertyIndex : récupère l'index pour la propriété changée

  • getPropertyName : récupère le nom pour la propriété changée

  • getValue : récupère l'ancienne valeur pour la propriété changée

  • getListIndex : récupère la liste des index pour l'ancienne valeur si elle faisait partie d'une propriété à valeurs multiples

  • isSet : vérifie si la propriété était fixée avant d'être modifiée

SDO_DAS_DataFactory

L'interface pour construire le modèle pour un SDO_DataObjet. Le SDO_DAS_DataFactory est une classe abstraite fournissant une méthode statique qui retourne une classe d'implémentation de données concrète. L'implémentation est utilisée par les Services d'Accès de Données pour créer un modèle SDO à partir de leur modèle. Par exemple, un Service d'Accès de Données Relationnel peut créer et remplir un modèle SDO_DAS_DataFactory basé sur un schéma pour une base de données relationnelle.

Méthodes

  • getDataFactory : méthodes statiques pour obtenir une instance de classe concrète de données

  • addType : ajoute un nouveau type au modèle SDO

  • addPropertyToType : ajoute une nouvelle propriété à une définition de type dans le modèle SDO

Sommaire

  • SDO_DAS_ChangeSummary::beginLogging — Commence la journalisation
  • SDO_DAS_ChangeSummary::endLogging — Termine la journalisation
  • SDO_DAS_ChangeSummary::getChangeType — Récupère le type de changement qui a été fait à l'objet de données
  • SDO_DAS_ChangeSummary::getChangedDataObjects — Récupère une liste de d'objets de données qui ont été changés
  • SDO_DAS_ChangeSummary::getOldContainer — Récupère un ancien conteneur d'objet de données pour un objet de données supprimé
  • SDO_DAS_ChangeSummary::getOldValues — Récupère une liste des anciennes valeurs pour un objet de données
  • SDO_DAS_ChangeSummary::isLogging — Vérifie pour voir si la journalisation des changements est activée
  • SDO_DAS_DataFactory::addPropertyToType — Ajoute une nouvelle propriété à une définition de type
  • SDO_DAS_DataFactory::addType — Ajoute un nouveau type à un modèle
  • SDO_DAS_DataFactory::getDataFactory — Récupère l'instance de classe de données
  • SDO_DAS_DataObject::getChangeSummary — Récupère le résumé de changement pour un objet de données
  • SDO_DAS_Setting::getListIndex — Récupère la liste des index pour une propriété de valeurs multiples changée
  • SDO_DAS_Setting::getPropertyIndex — Récupère l'index de propriété pour la propriété changée
  • SDO_DAS_Setting::getPropertyName — Récupère le nom de la propriété pour la propriété changée
  • SDO_DAS_Setting::getValue — Récupère l'ancienne valeur pour la propriété changée
  • SDO_DAS_Setting::isSet — Vérifie pour voir si la propriété était fixée avant d'être modifiée
  • SDO_DataFactory::create — Crée un SDO_DataObject
  • SDO_DataObject::clear — Détruit les propriétés d'un SDO_DataObject
  • SDO_DataObject::createDataObject — Crée un enfant SDO_DataObject
  • SDO_DataObject::getContainer — Récupère un conteneur de l'objet de données
  • SDO_DataObject::getSequence — Récupère la séquence pour un objet de données
  • SDO_DataObject::getTypeName — Retourne le nom du type d'un objet de données
  • SDO_DataObject::getTypeNamespaceURI — Retourne l'espace de nom URI du type d'un objet de données
  • SDO_Exception::getCause — Récupère la cause d'une exception
  • SDO_List::insert — Insère dans une liste
  • SDO_Model_Property::getContainingType — Récupère le SDO_Model_Type qui contient cette propriété
  • SDO_Model_Property::getDefault — Récupère la valeur par défaut pour la propriété
  • SDO_Model_Property::getName — Récupère le nom de SDO_Model_Property
  • SDO_Model_Property::getType — Récupère le SDO_Model_Type de la propriété
  • SDO_Model_Property::isContainment — Vérifie pour voir si la propriété définit une relation contenue
  • SDO_Model_Property::isMany — Vérifie pour voir si la propriété est de valeurs multiples
  • SDO_Model_ReflectionDataObject::__construct — Construit un SDO_Model_ReflectionDataObject
  • SDO_Model_ReflectionDataObject::export — Récupère une chaîne de caractères décrivant le SDO_DataObject.
  • SDO_Model_ReflectionDataObject::getContainmentProperty — Récupère la propriété qui définit la relation contenue de l'objet de données
  • SDO_Model_ReflectionDataObject::getInstanceProperties — Récupère les propriétés de l'instance de SDO_DataObject
  • SDO_Model_ReflectionDataObject::getType — Récupère le SDO_Model_Type pour SDO_DataObject
  • SDO_Model_Type::getBaseType — Récupère le type de base pour le type
  • SDO_Model_Type::getName — Récupère le nom du type
  • SDO_Model_Type::getNamespaceURI — Récupère l'espace de nom URI pour le type
  • SDO_Model_Type::getProperties — Récupère les objets SDO_Model_Property définis pour le type
  • SDO_Model_Type::getProperty — Récupère un SDO_Model_Property du type
  • SDO_Model_Type::isAbstractType — Vérifie pour voir si ce SDO_Model_Type est un objet de type abstrait
  • SDO_Model_Type::isDataType — Vérifie pour voir si le SDO_Model_Type est un type de données primitive
  • SDO_Model_Type::isInstance — Vérifie si un SDO_DataObject est une instance de ce SDO_Model_Type
  • SDO_Model_Type::isOpenType — Vérifie pour voir si le type est un type ouvert
  • SDO_Model_Type::isSequencedType — Vérifie pour voir si le type est une séquence
  • SDO_Sequence::getProperty — Retourne la propriété pour l'index de séquence spécifié
  • SDO_Sequence::insert — Ajoute dans une séquence
  • SDO_Sequence::move — Déplace un item à une autre position de la séquence
Réflexion sur des Objets de Service de Données
SDO_DAS_ChangeSummary::beginLogging
SDO


Commence la journalisation

Fonctions SDO
SDO_DAS_ChangeSummary::endLogging
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::beginLogging

(^)

SDO_DAS_ChangeSummary::beginLogging — Commence la journalisation

Description

void SDO_DAS_ChangeSummary::beginLogging ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Commence la journalisation des changements effectués au SDO_DataObject.

Liste de paramètres

Aucun.

Valeurs de retour

Aucune.

Fonctions SDO
SDO_DAS_ChangeSummary::endLogging
Fonctions SDO


Termine la journalisation

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::endLogging

(^)

SDO_DAS_ChangeSummary::endLogging — Termine la journalisation

Description

void SDO_DAS_ChangeSummary::endLogging ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Termine la journalisation des changements effectués au SDO_DataObject.

Liste de paramètres

Aucun.

Valeurs de retour

Aucune.

SDO_DAS_ChangeSummary::beginLogging
SDO_DAS_ChangeSummary::getChangeType
Fonctions SDO


Récupère le type de changement qui a été fait à l'objet de données

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::getChangeType

(^)

SDO_DAS_ChangeSummary::getChangeType — Récupère le type de changement qui a été fait à l'objet de données

Description

int SDO_DAS_ChangeSummary::getChangeType ( SDO_DataObject $dataObject )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le type de changement qui a été fait à l'objet SDO_DataObject fourni.

Liste de paramètres

dataObject

Le SDO_DataObject qui a été modifié.

Valeurs de retour

Le type de changement qui a été fait. Le type de changement est exprimé comme une énumération et sera une des quatre valeurs suivantes :

  • SDO_DAS_ChangeSummary::NONE

  • SDO_DAS_ChangeSummary::MODIFICATION

  • SDO_DAS_ChangeSummary::ADDITION

  • SDO_DAS_ChangeSummary::DELETION

SDO_DAS_ChangeSummary::endLogging
SDO_DAS_ChangeSummary::getChangedDataObjects
Fonctions SDO


Récupère une liste de d'objets de données qui ont été changés

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::getChangedDataObjects

(^)

SDO_DAS_ChangeSummary::getChangedDataObjects — Récupère une liste de d'objets de données qui ont été changés

Description

SDO_List SDO_DAS_ChangeSummary::getChangedDataObjects ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère un SDO_List de SDO_DataObjects qui ont été changés. Ces objets de données peuvent alors être utilisés pour identifier les types de changements effectués de chacun, avec les anciennes valeurs.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne un SDO_List de SDO_DataObjects.

SDO_DAS_ChangeSummary::getChangeType
SDO_DAS_ChangeSummary::getOldContainer
Fonctions SDO


Récupère un ancien conteneur d'objet de données pour un objet de données supprimé

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::getOldContainer

(^)

SDO_DAS_ChangeSummary::getOldContainer — Récupère un ancien conteneur d'objet de données pour un objet de données supprimé

Description

SDO_DataObject SDO_DAS_ChangeSummary::getOldContainer ( SDO_DataObject $data_object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère un ancien conteneur d'objet (SDO_DataObject) pour un SDO_DataObject supprimé.

Liste de paramètres

data_object

Le SDO_DataObject qui a été supprimé et pour lequel nous voulons identifier le conteneur.

Valeurs de retour

L'ancien conteneur d'objet de données de l'objet SDO_DataObject supprimé.

SDO_DAS_ChangeSummary::getChangedDataObjects
SDO_DAS_ChangeSummary::getOldValues
Fonctions SDO


Récupère une liste des anciennes valeurs pour un objet de données

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::getOldValues

(^)

SDO_DAS_ChangeSummary::getOldValues — Récupère une liste des anciennes valeurs pour un objet de données

Description

SDO_List SDO_DAS_ChangeSummary::getOldValues ( SDO_DataObject $data_object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère une liste des anciennes valeurs pour l'objet SDO_DataObject donné. Retourne une liste SDO_DAS_Settings décrivant les anciennes valeurs pour les propriétés changées de SDO_DataObject.

Liste de paramètres

data_object

L'objet de données qui a été changé.

Valeurs de retour

Une liste de SDO_DAS_Settings décrivant les anciennes valeurs pour les propriétés changées de SDO_DataObject. Si le type de changement est SDO_DAS_ChangeSummary::ADDITION, sa liste est vide.

SDO_DAS_ChangeSummary::getOldContainer
SDO_DAS_ChangeSummary::isLogging
Fonctions SDO


Vérifie pour voir si la journalisation des changements est activée

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
Fonctions SDO
PHP Manual

SDO_DAS_ChangeSummary::isLogging

(^)

SDO_DAS_ChangeSummary::isLogging — Vérifie pour voir si la journalisation des changements est activée

Description

bool SDO_DAS_ChangeSummary::isLogging ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si la journalisation des changements est activée.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si la journalisation est activée, autrement retourne FALSE.

SDO_DAS_ChangeSummary::getOldValues
SDO_DAS_DataFactory::addPropertyToType
Fonctions SDO


Ajoute une nouvelle propriété à une définition de type

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
Fonctions SDO
PHP Manual

SDO_DAS_DataFactory::addPropertyToType

(^)

SDO_DAS_DataFactory::addPropertyToType — Ajoute une nouvelle propriété à une définition de type

Description

void SDO_DAS_DataFactory::addPropertyToType ( string $parent_type_namespace_uri , string $parent_type_name , string $property_name , string $type_namespace_uri , string $type_name [, array $options ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Ajoute une nouvelle propriété à une définition de type. Le type doit être déjà connu de SDO_DAS_DataFactory (c'est-à-dire, a été ajouté en utilisant addType()). La propriété devient une propriété du type. Voici comment le modèle de graphique pour la structure d'un SDO_DataObject est construit.

Liste de paramètres

parent_type_namespace_uri

L'espace de nom URI du type parent.

parent_type_name

Le nom du type pour le type parent.

property_name

Le nom par lequel la propriété sera connue dans le type parent.

type_namespace_uri

L'espace de nom URI pour le type de la propriété.

type_name

Le nom du type pour le type de la propriété.

options

Ce tableau contient une ou plusieurs paires de clé=>valeur pour fixer les valeurs des attributs pour la propriété. Les clés optionnelles sont :

many

Un drapeau pour dire si la propriété est de valeurs multiples. Une valeur TRUE ajoute la propriété en tant que propriété à valeurs multiples (la valeur par défaut est FALSE).

readOnly

Un drapeau pour dire si la propriété est en lecture seule. Une valeur TRUE signifie que la valeur de la propriété ne peut être modifiée à travers des APIs de l'application SDO (la valeur par défaut est FALSE).

containment

Un drapeau pour dire si la propriété est contenue par le parent. Une valeur TRUE signifie que la propriété est contenue par le parent. Une valeur FALSE résulte en une référence non contenue (la valeur par défaut est TRUE). Ce drapeau est seulement interprété lors de l'ajout de propriétés qui sont des types d'objet de données, autrement il est ignoré.

default

Une valeur par défaut de la propriété. L'omission de cette clé signifie que la propriété ne possède pas de valeur par défaut. Une propriété peut seulement avoir une valeur par défaut s'il s'agit d'un type de données de valeur simple (primitive).

Valeurs de retour

Aucune.

Historique

Version | Description
0.5.2 | Les paramètres optionnels many, readOnly et containment sont obsolètes en faveur du tableau options.

Exemples

Exemple #1 Exemple avec SDO_DAS_DataFactory::addPropertyToType()

L'exemple suivant ajoute une propriété "addressline" au type Person. Le type person est identifié par son espace de nom, "PersonNS" et son nom de type "PersonType". Le type de la propriété "addressline" est de valeurs multiples (primitive) avec un espace de nom "commonj.sdo" et le nom de type est "String".

<?php
  $df->addPropertyToType('PersonNS', 'PersonType',
    'addressline', 'commonj.sdo', 'String', array('many'=>true));
?>

SDO_DAS_ChangeSummary::isLogging
SDO_DAS_DataFactory::addType
Fonctions SDO


Ajoute un nouveau type à un modèle

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
Fonctions SDO
PHP Manual

SDO_DAS_DataFactory::addType

(^)

SDO_DAS_DataFactory::addType — Ajoute un nouveau type à un modèle

Description

void SDO_DAS_DataFactory::addType ( string $type_namespace_uri , string $type_name [, array $options ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Ajoute un nouveau type à SDO_DAS_DataFactory, défini par son espace de nom et son type de nom. Le type devient une part du modèle de d'objets de données que la classe peut créer.

Liste de paramètres

type_namespace_uri

L'espace de nom du type.

type_name

Le nom du type.

options

Ce tableau contient une ou plusieurs paires clé=>valeur pour définir les valeurs de l'attribut de ce type. Les mots-clé optionnels sont :

open

Un flag pour dire si le type est ouvert. Un SDO_DataObject dont le type est ouvert peut avoir des propriétés ajoutées qui ne sont pas décrites par le type. Cette possibilité est utilisée pour supporter le travail avec les documents XML dont les schémas supportent le contenu ouvert tel que décrit par l'élément <xsd:any>. La valeur par défaut est "false".

sequenced

Un flag pour dire si le type est séquencé. Les types séquencés peuvent préserver l'ordre des propriétés et peuvent contenir du texte non structuré. La valeur par défaut est "false". Pour plus d'informations sur les types séquencés, lisez la section sur le travail avec les objets de données séquencés.

basetype

Si spécifié, un tableau d'URI d'espace de noms et de noms de type pour le type depuis lequel ce type est dérivé. Un exemple d'utilisation des types de base est lorsque un type dérivé dans un schéma XML hérite d'un autre type en utilisant <extension base="...">.

Valeurs de retour

Aucune.

Exemples

Exemple #1 Exemple avec SDO_DAS_DataFactory::addType()

L'exemple suivant ajoute un nouvel objet de données de "CompagnieType" à l'endroit où appartient l'espace de nom "CompagnieNS".

<?php
  $df->addType('CompagnieNS', 'CompagnieType');
?>

SDO_DAS_DataFactory::addPropertyToType
SDO_DAS_DataFactory::getDataFactory
Fonctions SDO


Récupère l'instance de classe de données

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
Fonctions SDO
PHP Manual

SDO_DAS_DataFactory::getDataFactory

(^)

SDO_DAS_DataFactory::getDataFactory — Récupère l'instance de classe de données

Description

SDO_DAS_DataFactory SDO_DAS_DataFactory::getDataFactory ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Méthode statique pour obtenir une instance de SDO_DAS_DataFactory. Cette instance est initialement configuré avec les types de SDO basic. Un Service d'Accès de Données est responsable du remplissage du modèle de classe de données et permet ainsi aux applications PHP de créer des SDOs basés sur un modèle à travers de l'interface SDO_DataFactory. Les applications PHP devraient toujours obtenir une classe de données d'un Service d'Accès de Données configuré, et non à travers cette interface.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne un SDO_DAS_DataFactory.

SDO_DAS_DataFactory::addType
SDO_DAS_DataObject::getChangeSummary
Fonctions SDO


Récupère le résumé de changement pour un objet de données

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
Fonctions SDO
PHP Manual

SDO_DAS_DataObject::getChangeSummary

(^)

SDO_DAS_DataObject::getChangeSummary — Récupère le résumé de changement pour un objet de données

Description

SDO_DAS_ChangeSummary SDO_DAS_DataObject::getChangeSummary ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le SDO_DAS_ChangeSummary pour un SDO_DAS_DataObject ou NULL s'il n'en a pas.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_DAS_ChangeSummary pour un SDO_DAS_DataObject ou NULL s'il n'en a pas.

SDO_DAS_DataFactory::getDataFactory
SDO_DAS_Setting::getListIndex
Fonctions SDO


Récupère la liste des index pour une propriété de valeurs multiples changée

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
Fonctions SDO
PHP Manual

SDO_DAS_Setting::getListIndex

(^)

SDO_DAS_Setting::getListIndex — Récupère la liste des index pour une propriété de valeurs multiples changée

Description

int SDO_DAS_Setting::getListIndex ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère la liste des index pour une modification faite sur un élément de propriété à valeurs multiples. Par exemple, si nous avions modifié le troisième élément d'une propriété à valeurs multiples, nous pourrions obtenir un SDO_DAS_Setting pour un résumé du changement correspondant à la modification. Un appel à getListIndex() sur cette configuration retournerait la valeur 2 (les listes commencent leur indexation à zéro).

Liste de paramètres

Aucun.

Valeurs de retour

La liste des index pour un élément d'une propriété à valeurs multiples pour laquelle a été changée.

SDO_DAS_DataObject::getChangeSummary
SDO_DAS_Setting::getPropertyIndex
Fonctions SDO


Récupère l'index de propriété pour la propriété changée

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
Fonctions SDO
PHP Manual

SDO_DAS_Setting::getPropertyIndex

(^)

SDO_DAS_Setting::getPropertyIndex — Récupère l'index de propriété pour la propriété changée

Description

int SDO_DAS_Setting::getPropertyIndex ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère l'index de propriété pour la propriété changée. Cet index identifie la propriété pour laquelle elle a été modifiée dans l'objet de données.

Liste de paramètres

Aucun.

Valeurs de retour

L'index de propriété pour une propriété changée.

SDO_DAS_Setting::getListIndex
SDO_DAS_Setting::getPropertyName
Fonctions SDO


Récupère le nom de la propriété pour la propriété changée

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
Fonctions SDO
PHP Manual

SDO_DAS_Setting::getPropertyName

(^)

SDO_DAS_Setting::getPropertyName — Récupère le nom de la propriété pour la propriété changée

Description

string SDO_DAS_Setting::getPropertyName ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le nom de la propriété pour la propriété changée. Le nom identifie la propriété pour laquelle elle a été modifiée dans l'objet de données.

Liste de paramètres

Aucun.

Valeurs de retour

Le nom de la propriété pour une propriété changée.

SDO_DAS_Setting::getPropertyIndex
SDO_DAS_Setting::getValue
Fonctions SDO


Récupère l'ancienne valeur pour la propriété changée

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
Fonctions SDO
PHP Manual

SDO_DAS_Setting::getValue

(^)

SDO_DAS_Setting::getValue — Récupère l'ancienne valeur pour la propriété changée

Description

mixed SDO_DAS_Setting::getValue ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère l'ancienne valeur pour la propriété changée. Cela peut être utilisé par le Service d'Accès de Données lors de l'écriture des mises à jours à une source de données. Le DAS utilise l'ancienne valeur pour détecter les conflits en la comparant avec la valeur courante dans la source de données. Si elles ne concordent pas, alors la source de données a été mise à jour depuis que l'objet de données fut rempli, et alors l'écriture de nouvelles mises à jour risque de compromettre l'intégrité des données.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne l'ancienne valeur de la propriété changée.

SDO_DAS_Setting::getPropertyName
SDO_DAS_Setting::isSet
Fonctions SDO


Vérifie pour voir si la propriété était fixée avant d'être modifiée

SDO_DAS_Setting::getValue
SDO_DataFactory::create
Fonctions SDO
PHP Manual

SDO_DAS_Setting::isSet

(^)

SDO_DAS_Setting::isSet — Vérifie pour voir si la propriété était fixée avant d'être modifiée

Description

bool SDO_DAS_Setting::isSet ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si la propriété était fixée avant d'être modifiée. Si elle avait été fixée avant d'être modifiée, alors le SDO_DAS_Setting contiendra aussi l'ancienne valeur.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si la propriété était fixée avant qu'elle soit modifiée, autrement retourne FALSE.

SDO_DAS_Setting::getValue
SDO_DataFactory::create
Fonctions SDO


Crée un SDO_DataObject

SDO_DAS_Setting::isSet
SDO_DataObject::clear
Fonctions SDO
PHP Manual

SDO_DataFactory::create

(^)

SDO_DataFactory::create — Crée un SDO_DataObject

Description

void SDO_DataFactory::create ( string $type_namespace_uri , string $type_name )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un nouvel SDO_DataObject donné par l'espace de nom URI et le nom du type de l'objet de données.

Liste de paramètres

type_namespace_uri

L'espace de nom du type.

type_name

Le nom du type.

Valeurs de retour

Retourne le nouvel SDO_DataObject créé.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émis si le namespaceURI et typeName ne correspondent pas à un type connu dans cette classe de données.

SDO_DAS_Setting::isSet
SDO_DataObject::clear
Fonctions SDO


Détruit les propriétés d'un SDO_DataObject

SDO_DataFactory::create
SDO_DataObject::createDataObject
Fonctions SDO
PHP Manual

SDO_DataObject::clear

(^)

SDO_DataObject::clear — Détruit les propriétés d'un SDO_DataObject

Description

void SDO_DataObject::clear ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Détruit les propriétés d'un SDO_DataObject. Les propriétés en lecture seule ne sont pas affectées. Les appels ultérieurs à isset() pour l'objet de données retournera FALSE.

Liste de paramètres

Aucun.

Valeurs de retour

Aucune valeur retournée.

SDO_DataFactory::create
SDO_DataObject::createDataObject
Fonctions SDO


Crée un enfant SDO_DataObject

SDO_DataObject::clear
SDO_DataObject::getContainer
Fonctions SDO
PHP Manual

SDO_DataObject::createDataObject

(^)

SDO_DataObject::createDataObject — Crée un enfant SDO_DataObject

Description

SDO_DataObject SDO_DataObject::createDataObject ( mixed $identifier )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Crée un enfant SDO_DataObject du type par défaut pour la propriété identifiée. L'objet de données est automatiquement inséré dans l'arbre et une référence l'identifiant est retournée.

Liste de paramètres

identifier

Identifie la propriété pour le type de l'objet de données qui sera créé. Peut être soit un nom (chaîne de caractères), un index (entier) ou un SDO_Model_Property.

Valeurs de retour

Retourne le nouvel SDO_DataObject créé.

Erreurs / Exceptions

SDO_PropertyNotFoundException

Émis si l'identifiant ne correspond pas à une propriété de l'objet de données.

SDO_DataObject::clear
SDO_DataObject::getContainer
Fonctions SDO


Récupère un conteneur de l'objet de données

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
Fonctions SDO
PHP Manual

SDO_DataObject::getContainer

(^)

SDO_DataObject::getContainer — Récupère un conteneur de l'objet de données

Description

SDO_DataObject SDO_DataObject::getContainer ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère un objet de données qui contient cet objet de données.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_DataObject qui contient ce SDO_DataObject ou retourne NULL s'il s'agit de la racine SDO_DataObject (c'est-à-dire qu'il ne possède pas de conteneur).

SDO_DataObject::createDataObject
SDO_DataObject::getSequence
Fonctions SDO


Récupère la séquence pour un objet de données

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
Fonctions SDO
PHP Manual

SDO_DataObject::getSequence

(^)

SDO_DataObject::getSequence — Récupère la séquence pour un objet de données

Description

SDO_Sequence SDO_DataObject::getSequence ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le SDO_Sequence pour ce SDO_DataObject. L'accès à SDO_DataObject à travers de l'interface SDO_Sequence agit sur la même instance SDO_DataObject de données, mais préserve l'ordre à travers les propriétés.

Liste de paramètres

Aucun.

Valeurs de retour

Le SDO_Sequence pour ce SDO_DataObject ou retourne NULL si le SDO_DataObject n'est pas un type que peut avoir une séquence.

SDO_DataObject::getContainer
SDO_DataObject::getTypeName
Fonctions SDO


Retourne le nom du type d'un objet de données

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
Fonctions SDO
PHP Manual

SDO_DataObject::getTypeName

(^)

SDO_DataObject::getTypeName — Retourne le nom du type d'un objet de données

Description

string SDO_DataObject::getTypeName ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le nom du type d'un objet de données. Une méthode plus commode correspondant à SDO_Model_ReflectionDataObject::getType().getName().

Liste de paramètres

Aucun.

Valeurs de retour

Le nom du type d'un objet de données.

SDO_DataObject::getSequence
SDO_DataObject::getTypeNamespaceURI
Fonctions SDO


Retourne l'espace de nom URI du type d'un objet de données

SDO_DataObject::getTypeName
SDO_Exception::getCause
Fonctions SDO
PHP Manual

SDO_DataObject::getTypeNamespaceURI

(^)

SDO_DataObject::getTypeNamespaceURI — Retourne l'espace de nom URI du type d'un objet de données

Description

string SDO_DataObject::getTypeNamespaceURI ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne l'espace de nom URI du type d'un objet de données. Une méthode plus commode correspondant à SDO_Model_ReflectionDataObject::getType().getNamespaceURI().

Liste de paramètres

Aucun.

Valeurs de retour

L'espace de nom URI du type d'un objet de données.

SDO_DataObject::getTypeName
SDO_Exception::getCause
Fonctions SDO


Récupère la cause d'une exception

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
Fonctions SDO
PHP Manual

SDO_Exception::getCause

(^)

SDO_Exception::getCause — Récupère la cause d'une exception

Description

mixed SDO_Exception::getCause ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne la cause de cette exception ou NULL si la cause est inexistante ou inconnue. Normalement, la cause sera un objet SDO_CPPException, qui peut être utilisé pour obtenir des informations de diagnostique additionnelles.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne la cause de cette exception ou NULL si la cause est inexistante ou inconnue.

SDO_DataObject::getTypeNamespaceURI
SDO_List::insert
Fonctions SDO


Insère dans une liste

SDO_Exception::getCause
SDO_Model_Property::getContainingType
Fonctions SDO
PHP Manual

SDO_List::insert

(^)

SDO_List::insert — Insère dans une liste

Description

void SDO_List::insert ( mixed $value [, int $index ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Insère un nouvel évènement à une position spécifiée dans la liste. Tous les items qui suivent dans la liste sont déplacés vers le haut.

Liste de paramètres

value

La nouvelle valeur à être insérée. Cela peut soit être une primitive ou un SDO_DataObject.

index

La position à laquelle insérer le nouvel évènement. Si cet argument n'est pas spécifié alors la nouvelle valeur sera ajoutée à la suite.

Valeurs de retour

Aucun.

Erreurs / Exceptions

SDO_IndexOutOfBoundsException

Émis si l'index de la liste est inférieur à zéro ou supérieur à sa taille.

SDO_InvalidConversionException

Émis si le type de la nouvelle valeur ne correspond pas avec le type de la liste (par exemple, le type de propriété de valeurs multiples que la liste représente).

SDO_Exception::getCause
SDO_Model_Property::getContainingType
Fonctions SDO


Récupère le SDO_Model_Type qui contient cette propriété

SDO_List::insert
SDO_Model_Property::getDefault
Fonctions SDO
PHP Manual

SDO_Model_Property::getContainingType

(^)

SDO_Model_Property::getContainingType — Récupère le SDO_Model_Type qui contient cette propriété

Description

SDO_Model_Type SDO_Model_Property::getContainingType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le SDO_Model_Type qui contient cette propriété.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_Model_Type qui contient cette propriété.

SDO_List::insert
SDO_Model_Property::getDefault
Fonctions SDO


Récupère la valeur par défaut pour la propriété

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
Fonctions SDO
PHP Manual

SDO_Model_Property::getDefault

(^)

SDO_Model_Property::getDefault — Récupère la valeur par défaut pour la propriété

Description

mixed SDO_Model_Property::getDefault ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère la valeur par défaut pour la propriété. Seules les propriétés de type de données primitives peuvent être des valeurs par défaut.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne la valeur par défaut pour la propriété.

SDO_Model_Property::getContainingType
SDO_Model_Property::getName
Fonctions SDO


Récupère le nom de SDO_Model_Property

SDO_Model_Property::getDefault
SDO_Model_Property::getType
Fonctions SDO
PHP Manual

SDO_Model_Property::getName

(^)

SDO_Model_Property::getName — Récupère le nom de SDO_Model_Property

Description

string SDO_Model_Property::getName ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le nom de SDO_Model_Property.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le nom de SDO_Model_Property.

SDO_Model_Property::getDefault
SDO_Model_Property::getType
Fonctions SDO


Récupère le SDO_Model_Type de la propriété

SDO_Model_Property::getName
SDO_Model_Property::isContainment
Fonctions SDO
PHP Manual

SDO_Model_Property::getType

(^)

SDO_Model_Property::getType — Récupère le SDO_Model_Type de la propriété

Description

SDO_Model_Type SDO_Model_Property::getType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le SDO_Model_Type de la propriété. Le SDO_Model_Type décrit les informations de type pour la propriété, comme le nom du type, l'espace de nom URI, si c'est un type de données primitive, et ainsi de suite.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_Model_Type décrit par les informations de type de la propriété.

SDO_Model_Property::getName
SDO_Model_Property::isContainment
Fonctions SDO


Vérifie pour voir si la propriété définit une relation contenue

SDO_Model_Property::getType
SDO_Model_Property::isMany
Fonctions SDO
PHP Manual

SDO_Model_Property::isContainment

(^)

SDO_Model_Property::isContainment — Vérifie pour voir si la propriété définit une relation contenue

Description

bool SDO_Model_Property::isContainment ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si la propriété définit une relation contenue. Retourne TRUE si la propriété définit une relation contenue ou FALSE s'il s'agit d'une référence.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si la propriété définit une relation contenue ou FALSE s'il s'agit d'une référence.

SDO_Model_Property::getType
SDO_Model_Property::isMany
Fonctions SDO


Vérifie pour voir si la propriété est de valeurs multiples

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
Fonctions SDO
PHP Manual

SDO_Model_Property::isMany

(^)

SDO_Model_Property::isMany — Vérifie pour voir si la propriété est de valeurs multiples

Description

bool SDO_Model_Property::isMany ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si la propriété est de valeurs multiples. Retourne TRUE pour voir si la propriété est de valeurs multiples autrement, elle retourne FALSE.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE pour voir si la propriété est de valeurs multiples autrement, elle retourne FALSE.

SDO_Model_Property::isContainment
SDO_Model_ReflectionDataObject::__construct
Fonctions SDO


Construit un SDO_Model_ReflectionDataObject

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
Fonctions SDO
PHP Manual

SDO_Model_ReflectionDataObject::__construct

(^)

SDO_Model_ReflectionDataObject::__construct — Construit un SDO_Model_ReflectionDataObject

Description

SDO_Model_ReflectionDataObject SDO_Model_ReflectionDataObject::__construct ( SDO_DataObject $data_object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Construit un SDO_Model_ReflectionDataObject pour effectuer une réflexion sur un SDO_DataObject. La réflexion sur un objet SDO_DataObject donne accès à des informations à propos de son modèle. Le modèle contient des informations comme le type d'objet de données et si le type de données est en séquence (garde l'ordre des propriétés) ou ouvert (chaque instance peut avoir son modèle étendu). Le modèle contient aussi des informations sur les propriétés de l'objet de données, des valeurs par défaut qu'il peut avoir, et ainsi de suite.

Liste de paramètres

data_object

Le SDO_DataObject sur lequel on effectuera la réflexion.

Valeurs de retour

Aucun.

SDO_Model_Property::isMany
SDO_Model_ReflectionDataObject::export
Fonctions SDO


Récupère une chaîne de caractères décrivant le SDO_DataObject.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
Fonctions SDO
PHP Manual

SDO_Model_ReflectionDataObject::export

(^)

SDO_Model_ReflectionDataObject::export — Récupère une chaîne de caractères décrivant le SDO_DataObject.

Description

mixed SDO_Model_ReflectionDataObject::export ( SDO_Model_ReflectionDataObject $rdo [, bool $return ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère une chaîne de caractères décrivant le SDO_DataObject. Le comportement par défaut est d'afficher le résultat, mais si TRUE est spécifié pour return, elle est retourné en tant que chaîne de caractères.

Liste de paramètres

rdo

Un SDO_Model_ReflectionDataObject.

return

Si TRUE, retourne le résultat en tant que chaîne de caractères, autrement l'affiche.

Valeurs de retour

Retourne le résultat si TRUE est spécifié pour return, autrement NULL.

SDO_Model_ReflectionDataObject::__construct
SDO_Model_ReflectionDataObject::getContainmentProperty
Fonctions SDO


Récupère la propriété qui définit la relation contenue de l'objet de données

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
Fonctions SDO
PHP Manual

SDO_Model_ReflectionDataObject::getContainmentProperty

(^)

SDO_Model_ReflectionDataObject::getContainmentProperty — Récupère la propriété qui définit la relation contenue de l'objet de données

Description

SDO_Model_Property SDO_Model_ReflectionDataObject::getContainmentProperty ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le SDO_Model_Property que contient le SDO_DataObject. Cette méthode est utilisée pour naviguer à travers la propriété du parent qui contient l'objet de données qui a été réfléchi.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_Model_Property du conteneur qui référence le SDO_DataObject ou NULL s'il s'agit de la racine SDO_DataObject.

SDO_Model_ReflectionDataObject::export
SDO_Model_ReflectionDataObject::getInstanceProperties
Fonctions SDO


Récupère les propriétés de l'instance de SDO_DataObject

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
Fonctions SDO
PHP Manual

SDO_Model_ReflectionDataObject::getInstanceProperties

(^)

SDO_Model_ReflectionDataObject::getInstanceProperties — Récupère les propriétés de l'instance de SDO_DataObject

Description

array SDO_Model_ReflectionDataObject::getInstanceProperties ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère les propriétés de l'instance pour SDO_DataObject. Les propriétés de l'instance consistent en toutes les propriétés définies dans le type de l'objet de données et n'importe quelle propriété d'instance d'un contenu ouvert (si l'objet de données est un type ouvert).

Liste de paramètres

Aucun.

Valeurs de retour

Un tableau d'objets SDO_Model_Property.

SDO_Model_ReflectionDataObject::getContainmentProperty
SDO_Model_ReflectionDataObject::getType
Fonctions SDO


Récupère le SDO_Model_Type pour SDO_DataObject

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
Fonctions SDO
PHP Manual

SDO_Model_ReflectionDataObject::getType

(^)

SDO_Model_ReflectionDataObject::getType — Récupère le SDO_Model_Type pour SDO_DataObject

Description

SDO_Model_Type SDO_Model_ReflectionDataObject::getType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le SDO_Model_Type pour SDO_DataObject. Le SDO_Model_Type contient toutes les informations à propos du type de l'objet de données, comme l'espace de nom URI, le nom du type, si le type de données est une primitive, et ainsi de suite.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_Model_Type pour SDO_DataObject.

SDO_Model_ReflectionDataObject::getInstanceProperties
SDO_Model_Type::getBaseType
Fonctions SDO


Récupère le type de base pour le type

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
Fonctions SDO
PHP Manual

SDO_Model_Type::getBaseType

(^)

SDO_Model_Type::getBaseType — Récupère le type de base pour le type

Description

SDO_Model_Type SDO_Model_Type::getBaseType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère le type de base pour le type. Retourne le SDO_Model_Type pour le type de base si ce type hérite d'un autre, autrement elle retourne NULL. Un exemple indiquant quand des types de base se produisent est lorsqu'un type défini dans un schéma XML hérite d'un autre en utilisant

<extension base="...">
.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le SDO_Model_Type pour le type de base si le type hérite d'un autre, autrement elle retourne NULL.

SDO_Model_ReflectionDataObject::getType
SDO_Model_Type::getName
Fonctions SDO


Récupère le nom du type

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
Fonctions SDO
PHP Manual

SDO_Model_Type::getName

(^)

SDO_Model_Type::getName — Récupère le nom du type

Description

string SDO_Model_Type::getName ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne le nom du type. La combinaison du nom du type et de l'espace de nom URI est utilisée pour identifier de manière unique le type.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne le nom du type.

SDO_Model_Type::getBaseType
SDO_Model_Type::getNamespaceURI
Fonctions SDO


Récupère l'espace de nom URI pour le type

SDO_Model_Type::getName
SDO_Model_Type::getProperties
Fonctions SDO
PHP Manual

SDO_Model_Type::getNamespaceURI

(^)

SDO_Model_Type::getNamespaceURI — Récupère l'espace de nom URI pour le type

Description

string SDO_Model_Type::getNamespaceURI ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne l'espace de nom pour le type. La combinaison de l'espace de nom URI et le nom du type est utilisée pour identifier de manière unique le type.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne l'espace de nom URI du type.

SDO_Model_Type::getName
SDO_Model_Type::getProperties
Fonctions SDO


Récupère les objets SDO_Model_Property définis pour le type

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
Fonctions SDO
PHP Manual

SDO_Model_Type::getProperties

(^)

SDO_Model_Type::getProperties — Récupère les objets SDO_Model_Property définis pour le type

Description

array SDO_Model_Type::getProperties ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère un tableau des objets SDO_Model_Property décrivant les propriétés définies pour le SDO_Model_Type. Chaque SDO_Model_Property contient des informations comme le nom de la propriété, la valeur par défaut, et ainsi de suite.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne un tableau d'objets SDO_Model_Property.

SDO_Model_Type::getNamespaceURI
SDO_Model_Type::getProperty
Fonctions SDO


Récupère un SDO_Model_Property du type

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
Fonctions SDO
PHP Manual

SDO_Model_Type::getProperty

(^)

SDO_Model_Type::getProperty — Récupère un SDO_Model_Property du type

Description

SDO_Model_Property SDO_Model_Type::getProperty ( mixed $identifier )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Récupère un SDO_Model_Property du type, identifié par son index ou son nom.

Liste de paramètres

identifier

L'index ou un nom.

Valeurs de retour

Retourne le SDO_Model_Property.

SDO_Model_Type::getProperties
SDO_Model_Type::isAbstractType
Fonctions SDO


Vérifie pour voir si ce SDO_Model_Type est un objet de type abstrait

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
Fonctions SDO
PHP Manual

SDO_Model_Type::isAbstractType

(^)

SDO_Model_Type::isAbstractType — Vérifie pour voir si ce SDO_Model_Type est un objet de type abstrait

Description

bool SDO_Model_Type::isAbstractType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si ce SDO_Model_Type est un objet de type abstrait. Retourne TRUE si le type est abstrait, ce qui signifie, qu'aucun SDO_DataObjet de ce type peut être instancié, par contre, d'autres types peuvent hériter de celui-ci.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si le type est un type abstrait, autrement retourne FALSE.

SDO_Model_Type::getProperty
SDO_Model_Type::isDataType
Fonctions SDO


Vérifie pour voir si le SDO_Model_Type est un type de données primitive

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
Fonctions SDO
PHP Manual

SDO_Model_Type::isDataType

(^)

SDO_Model_Type::isDataType — Vérifie pour voir si le SDO_Model_Type est un type de données primitive

Description

bool SDO_Model_Type::isDataType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si ce SDO_Model_Type est un type de données primitive. Retourne TRUE si le type est une primitive, autrement retourne FALSE.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si le type de données est une primitive, autrement retourne FALSE.

SDO_Model_Type::isAbstractType
SDO_Model_Type::isInstance
Fonctions SDO


Vérifie si un SDO_DataObject est une instance de ce SDO_Model_Type

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
Fonctions SDO
PHP Manual

SDO_Model_Type::isInstance

(^)

SDO_Model_Type::isInstance — Vérifie si un SDO_DataObject est une instance de ce SDO_Model_Type

Description

bool SDO_Model_Type::isInstance ( SDO_DataObject $data_object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie si un SDO_DataObject est une instance de ce SDO_Model_Type. Retourne TRUE si le SDO_DataObject fourni est une instance de ce SDO_Model_Type ou un type déviré, autrement retourne FALSE.

Liste de paramètres

data_object

Le SDO_DataObject à être testé.

Valeurs de retour

Retourne TRUE si le SDO_DataObject fourni est une instance de ce SDO_Model_Type ou un type dérivé, autrement retourne FALSE.

SDO_Model_Type::isDataType
SDO_Model_Type::isOpenType
Fonctions SDO


Vérifie pour voir si le type est un type ouvert

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
Fonctions SDO
PHP Manual

SDO_Model_Type::isOpenType

(^)

SDO_Model_Type::isOpenType — Vérifie pour voir si le type est un type ouvert

Description

bool SDO_Model_Type::isOpenType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si le type est un type ouvert. Retourne TRUE si le type est ouvert, autrement retourne FALSE. Un SDO_DataObject dont le type est ouvert peut avoir des propriétés ajoutées qui ne sont pas décrites par ce type. Cette capacité est utilisée pour supporter le travail avec les documents XML dont le schéma supporte les contenus ouvert, comme définis par l'élément

<xsd:any>
.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si le type est ouvert, autrement retourne FALSE.

SDO_Model_Type::isInstance
SDO_Model_Type::isSequencedType
Fonctions SDO


Vérifie pour voir si le type est une séquence

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
Fonctions SDO
PHP Manual

SDO_Model_Type::isSequencedType

(^)

SDO_Model_Type::isSequencedType — Vérifie pour voir si le type est une séquence

Description

bool SDO_Model_Type::isSequencedType ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Vérifie pour voir si le type est une séquence. Retourne TRUE si le type est une séquence, autrement retourne FALSE. Les types de séquence peuvent avoir des propriétés dont l'ordre est préservé et peut contenir du texte non structuré. Pour plus d'informations sur les types de séquence, voyez la section sur Travailler avec des Objets de Données Séquencés.

Liste de paramètres

Aucun.

Valeurs de retour

Retourne TRUE si le type est une séquence, autrement retourne FALSE.

SDO_Model_Type::isOpenType
SDO_Sequence::getProperty
Fonctions SDO


Retourne la propriété pour l'index de séquence spécifié

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
Fonctions SDO
PHP Manual

SDO_Sequence::getProperty

(^)

SDO_Sequence::getProperty — Retourne la propriété pour l'index de séquence spécifié

Description

SDO_Model_Property SDO_Sequence::getProperty ( int $sequence_index )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne la propriété pour l'index de séquence spécifié

Liste de paramètres

sequence_index

La position de l'élément dans la séquence.

Valeurs de retour

Un SDO_Model_Property. Une valeur de retour NULL signifie que l'élément de séquence n'appartient pas à une propriété et doit donc être un texte non structuré.

Erreurs / Exceptions

SDO_IndexOutOfBoundsException

Émis si l'index de séquence est inférieur à zéro ou supérieur à la taille de la séquence.

SDO_Model_Type::isSequencedType
SDO_Sequence::insert
Fonctions SDO


Ajoute dans une séquence

SDO_Sequence::getProperty
SDO_Sequence::move
Fonctions SDO
PHP Manual

SDO_Sequence::insert

(^)

SDO_Sequence::insert — Ajoute dans une séquence

Description

void SDO_Sequence::insert ( mixed $value [, int $sequenceIndex [, mixed $propertyIdentifier ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Insère un nouvel élément à une position spécifiée dans la séquence. Tous les items de la séquence suivant sont déplacés vers le haut.

Liste de paramètres

value

La nouvelle valeur à être insérée. Cela peut être soit une primitive soit un SDO_DataObject.

sequenceIndex

La position à laquelle il faut insérer le nouvel élément. La valeur par défaut est NULL, ainsi la nouvelle valeur sera ajoutée à la suite de la séquence.

propertyIdentifier

Soit une propriété index, name ou un SDO_Model_Property, utilisé pour identifier une propriété dans la séquence correspondant à SDO_DataObject. Une valeur de NULL signifie un texte non structuré.

Valeurs de retour

Aucune.

Erreurs / Exceptions

SDO_IndexOutOfBoundsException

Émis si l'index de la séquence est inférieur à zéro ou supérieur à la taille de la séquence.

SDO_InvalidConversionException

Émis si le type de la nouvelle valeur ne correspond pas avec le type pour la propriété de l'objet de données spécifié.

SDO_Sequence::getProperty
SDO_Sequence::move
Fonctions SDO


Déplace un item à une autre position de la séquence

SDO_Sequence::insert
SDO-DAS-Relational
Fonctions SDO
PHP Manual

SDO_Sequence::move

(^)

SDO_Sequence::move — Déplace un item à une autre position de la séquence

Description

void SDO_Sequence::move ( int $toIndex, int $fromIndex )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Modifie la position d'un item dans la séquence, sans altérer la valeur de la propriété dans le SDO_DataObject.

Liste de paramètres

toIndex

L'index de destination de la séquence. Si l'index est inférieur à zéro ou supérieur à la taille de la séquence, la valeur est ajoutée à celle-ci.

fromIndex

L'index source de la séquence.

Valeurs de retour

Aucune.

Erreurs / Exceptions

SDO_IndexOutOfBoundsException

Émis si l'index de la séquence fromIndex est inférieur à zéro ou supérieur à la taille de la séquence.

SDO_Sequence::insert
SDO-DAS-Relational
Fonctions SDO


SDO Relationnel Service d'Accès de Données

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Création, récupération, mise à jour et effacement de données
    • Spécification des métadonnées
    • Exemples avec une table
    • Exemples avec deux tables
    • Exemple avec trois tables
  • Limitations
  • Fonctions SDO-DAS-Relational
    • SDO_DAS_Relational::applyChanges — Applique les changements effectués au graphique de données à la base de données.
    • SDO_DAS_Relational::__construct — Construit une instance de DAS Relationnel
    • SDO_DAS_Relational::createRootDataObject — Retourne un objet racine spécial d'un graphique de données vide. Utilisé lors de la création d'un graphique de données à partir de zéro.
    • SDO_DAS_Relational::executePreparedQuery — Exécute une requête SQL passée comme requête préparée, avec une liste de valeurs à substituer pour les paramètres fictifs, et retourne les résultats comme un graphique de données normalisé.
    • SDO_DAS_Relational::executeQuery — Exécute une requête SQL donnée à une base de données relationnelle et retourne les résultats comme graphique de données normalisé.
SDO_Sequence::move
Introduction
Manipulation XML


Introduction

Avertissement

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Afin d'utiliser le Service d'Accès de Données Relationnel pour les Objets de Service de Données, vous devrez comprendre certains concepts derrière le SDO : le graphique de données, l'objet de données, le moyen de déconnexion pour travailler, le changement du sommaire, les expressions XPath et les propriétés, et ainsi de suite. Si vous n'êtes pas familier avec ses idées, vous devriez regarder en premier à la section sur le SDO. De plus, le DAS Relationnel utilise l'extension SDO pour s'isoler des communications spécifiques aux bases de données. Afin d'utiliser le DAS Relationnel, vous devrez être capable de créer et passer une connexion de base de données PDO; pour cette raison, vous devrez aussi regarder la section sur le PDO.

Le travail de DAS Relationnel est de déplacer les données entre les applications et une base de données relationnelle. Afin de faire cela, vous devez dire quelle sorte de données vont être transférées entre les entités de base de données - tables, colonnes, clés primaires et clés étrangères - et les éléments de modèle SDO - types, propriétés, relations de retenue et ainsi de suite. Vous spécifiez ces informations comme des métadonnées lorsque vous construisez le DAS Relationnel.

Vue d'ensemble des Opérations

  1. La première étape est d'appeler le constructeur de DAS Relationnel, en lui passant les métadonnées qui définissent les relations entre la base de données et le modèle SDO. Il y a des exemples plus bas.

  2. L'étape suivante devrait être l'appel des méthodes executeQuery() ou executePreparedQuery() sur le DAS Relationnel, en leur passant soit une requête SQL littérale pour le DAS pour préparer et exécuter ou une requête préparée avec des paramètres fictifs et une liste des valeurs à être insérées. Vous pouvez aussi avoir besoin de spécifier un peu de métadonnées à propos de la requête, ainsi le DAS Relationnel saura exactement quelles colonnes seront retournées de la base de données et dans quel ordre. Vous devez aussi passer une connexion de base de données PDO.

    La valeur de retour de executeQuery() ou executePreparedQuery() est un graphique de données normalisé contenant toutes les données du jeu de résultats. Pour une requête qui retourne les données obtenues à partir de plusieurs tables, ce graphique contiendra plusieurs objets de données, liés avec les relations SDO contenues. Il pourrait aussi y avoir des données de références qui ne sont pas de contenues Ã l'intérieur des données.

    Une fois que la requête a été exécutée et le graphique de données construit, il n'est pas nécessaire pour l'instance de DAS Relationnel ou pour la connexion de base de données. Il n'y a pas de verrou gardé sur la base de données. Le DAS Relationnel et la connexion de base de données PDO peuvent être tous deux passés au ramasse miettes.

  3. Il est probable que les données dans le graphique de données passent par plusieurs modifications. Le graphique de données peut être sérialisé dans une session PHP et ainsi peut avoir une vie au-delà d'une interaction client-serveur. Les objets de données peuvent être créés et ajoutés au graphique, les objets de données déjà dans le graphique peuvent être supprimés et les objets de données dans le graphique peuvent être modifiés.

  4. Enfin, les changements effectués sur le graphique de données peuvent être appliqués à la base de donnés en utilisant la méthode applyChanges() de DAS Relationnel. Pour cela, une autre instance de DAS Relationnel doit être construite, en utilisant les mêmes métadonnées, et une autre connexion à la base de données obtenue. La connexion et le graphique de données sont passés à applyChanges(). Ã ce point, le DAS Relationnel examine les changements et génère les requêtes SQL INSERT, UPDATE et DELETE nécessaires pour appliquer les changements. Toutes les requêtes UPDATE et DELETE sont qualifiées avec les valeurs originales des données, donc il se peut que les données aillent changées dans la base de données en attendant que les données soient détectées. En assumant qu'aucune collision de ce type ne s'est produite, les changements seront envoyés à la base de données. L'application peut alors continuer à travailler avec le graphique de données, effectuer d'autres changements et les appliquer, ou peut le jeter.

Il y a d'autres moyens de travailler avec les données dans la base de données : il est possible de créer simplement les objets de données et les écrire à la base de données sans effectuer d'appel préliminaire à executeQuery(), par exemple. Ce scénario et les autres sont explorés dans les exemples de la section plus bas.

SDO-DAS-Relational
Installation/Configuration
SDO-DAS-Relational


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SDO-DAS-Relational


Pré-requis

Le DAS Relationnel requiert que l'extension SDO soit installée. L'extension SDO requiert une version de PHP 5.1 et le DAS Relationnel requiert une version récente qui contient une mise à jour importante de PDO. Les informations les plus à jours à propos des niveaux requis de PHP devrait être trouvées dans le changelog pour ce paquetage sur PECL. Au moment que nous écrivons cette documentation, le DAS Relationnel requiert le plus récent niveau de bêta de PHP 5.1, qui est PHP 5.1.0.

Le DAS Relationnel utilise le PDO pour accéder à une base de données relationnelle et devrait fonctionner avec une variété différente de bases de données. Au moment que nous écrivons cette documentation, cela a été testé avec les configurations suivantes

  • MySQL 4.1.14, sur Windows. Le DAS Relationnel opère correctement avec le pilote php_pdo_mysql qui vient avec les programmes préconfigurés de PHP 5.1.0.

  • MySQL 4.1.13, sur Linux. Il est nécessaire d'avoir le plus récent pilote de PDO pour MySQL, qui vient avec un PHP. 5.1.0. Il se peut qu'il soit nécessaire de désinstaller les pilotes utilisés qui seraient venus de PECL en utilisant pear uninstall pdo_mysql. Vous devrez configurer votre PHP avec l'option --with-pdo-mysql.

  • DB2 8.2 Édition Personnelle, sur Windows. Le DAS Relationnel opère correctement avec le pilote php_pdo_odbc qui vient avec les programmes préconfigurés binaires de PHP 5.1.0.

  • DB2 8.2 Édition Personnelle de Développeur, sur Linux. L'édition e Développeur est requise puisqu'elle contient les fichiers d'inclusion requis lorsque PHP est configuré et bâti. Vous devrez configurer PHP avec l'option --with-pdo-odbc=ibm-db2.

Le DAS Relationnel applique les changements à la base de données à l'intérieur de transactions délimitées par l'utilisateur : cela appel la méthode PDO::beginTransaction() avant de commencer à appliquer les changements et PDO::commit() ou PDO::rollback() lorsque c'est complété. Peu importe la base de données qui est choisie, la base de données et le pilote PDO pour cette base de données doivent supporter ces appels.

Installation/Configuration
Installation
Installation/Configuration


Installation

Les instructions d'installation pour tous les composants SDO sont dans la section d'installation de la documentation SDO.

Dans tous les cas, les faits essentiels sont que le DAS Relationnel est écrit en PHP et devrait être placé quelque part dans le include_path de PHP.

Votre application devra bien sur inclure le DAS Relationnel avec une ligne comme cela :

<?php
require_once 'SDO/DAS/Relational.php';
?>

Pré-requis
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Suivi

Vous pouvez être intéressé de voir les requêtes SQL qui sont générées afin d'appliquer les changements à la base de données. Dans le haut du fichier SDO/DAS/Relational.php, vous trouvez un certain nombre de constantes qui contrôle si le processus de construction et d'exécution des requêtes SQL doivent être suivies. Essayez la configuration DEBUG_EXECUTE_PLAN à TRUE pour voir les requêtes SQL générées.

Installation
Types de ressources
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Le DAS Relationnel n'introduit aucune constante prédéfinie.

Types de ressources
Exemples
SDO-DAS-Relational


Exemples

Sommaire

  • Création, récupération, mise à jour et effacement de données
  • Spécification des métadonnées
  • Exemples avec une table
  • Exemples avec deux tables
  • Exemple avec trois tables
Constantes pré-définies
Création, récupération, mise à jour et effacement de données
SDO-DAS-Relational


Création, récupération, mise à jour et effacement de données

Cette section illustre comment le DAS Relationnel peut être utilisé pour créer, récupérer, mettre à jour et supprimer des données dans une base de données relationnelle. Plusieurs de ces exemples sont illustrés avec trois tables dans une base de données qui contient "compagnies", "departements" à l'intérieur de ces compagnies et "employes" qui travaillent dans ces départements. Cet exemple est utilisé dans plusieurs places dans la littérature SDO. Voyez la section des exemples de » spécification d'Objets de Service de Données ou la section d'exemples de la documentation de l'extension SDO.

Le DAS Relationnel est construit avec les métadonnées qui définissent la base de données relationnelle et comment il devrait être en relation avec le SDO. La longue section qui suit décrit ces métadonnées et comment construire le DAS Relationnel. Ces exemples qui suivent assument tous que ces métadonnées sont incluses dans un fichier PHP.

Les exemples ci-dessous et les autres peuvent être trouvés dans le dossier Scenarios dans le paquetage DAS Relationnel.

Le DAS Relationnel émet des exceptions dans le cas qu'il trouve des erreurs dans les métadonnées ou des erreurs lors de l'exécution des requêtes SQL à la base de données. Pour rendre les exemples plus concis, ils n'incluent pas les blocs try/catch autour des appels de DAS Relationnel.

Ces exemples diffèrent tous de l'utilisation prévue de SDO dans deux égards importants.

Premièrement, ils montrent toutes les interactions avec la base de données complétés dans un script. Ces scénarios ne sont pas réalistes mais sont choisis dans le but d'illustrer simplement l'utilisation de DAS Relationnel. Il est prévu que les interactions avec la base de données soient séparés dans le temps et le graphique de données linéarisées et délinéarisées dans une session PHP une ou plusieurs fois tant que l'application interagit avec l'utilisateur final.

Deuxièmement, toutes les requêtes exécutées sur la base de données sont figées dans le code sans aucune substitution de variable. Dans ce cas, il est plus sage d'utiliser le simple appel de executeQuery() et c'est ce que montrent les exemples. En pratique, il est peu probable que la requête SQL soit connue entièrement avant son exécution. Afin d'autoriser la substitution sans danger des variables dans les requêtes SQL, sans prendre le risque d'effectuer des injections SQL avec des effets inconnus, il est plus sécuritaire d'utiliser executePreparedQuery() qui prend une requête SQL préparée contenant des paramètres fictifs et une liste des valeurs à être substituées.

Exemples
Spécification des métadonnées
Exemples


Spécification des métadonnées

La première longue section décrit en détail comment les métadonnées décrivant la base de données et le modèle SDO requis est fourni à DAS Relationnel.

Lorsque le constructeur de DAS Relationnel est appelé, il doit recevoir plusieurs informations. La majeure partie des informations, passée en tant qu'un tableau associatif dans le premier argument du constructeur, dit à DAS Relationnel ce qu'il doit savoir à propos de la base de données relationnelle. Il décrit les noms des tables, des colonnes, des clés primaires et des clés secondaires. On devrait comprendre assez facilement ce qui est requis et une fois écrit, il peut être placé dans un fichier PHP et inclut lorsque nécessaire. Le reste des informations, passé dans un deuxième et troisième arguments du constructeur, dit au DAS Relationnel ce qu'il doit savoir à propos des relations entre les objets et la forme du graphique de données; il détermine finalement comment les données de la base de données seront normalisées dans le graphique.

Métadonnées de base de données

Le premier argument du constructeur décrit la base de données relationnelle cible.

Chaque table est décrite par un tableau associatif avec jusqu'à quatre clés.

Clé | Valeur
name | Le nom de la table.
columns | Un tableau listant les noms des colonnes, dans n'importe quel ordre.
PK | Le nom de la colonne contenant la clé primaire.
FK | Un tableau avec deux entrées, "from" et "to" (provenance et destination), qui définissent une colonne contenant la clé étrangère et une table dans lequel la clé étrangère pointe. S'il n'y a pas de clé étrangère dans la table, alors l'entrée "FK" est optionnelle. Seulement une clé étrangère peut être spécifiée. Seulement une clé étrangère pointant à une clé primaire d'une table peut être spécifiée.

<?php
/*****************************************************************
* MÉTADONNÉES DÉFINISSANT LA BASE DE DONNÉES
******************************************************************/
$company_table = array (
  'name' => 'company',
  'columns' => array('id', 'name',  'employee_of_the_month'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'employee_of_the_month',
      'to' => 'employee',
      ),
  );
$department_table = array (
  'name' => 'department',
  'columns' => array('id', 'name', 'location', 'number', 'co_id'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'co_id',
      'to' => 'company',
      )
  );
$employee_table = array (
  'name' => 'employee',
  'columns' => array('id', 'name', 'SN', 'manager', 'dept_id'),
  'PK' => 'id',
  'FK' => array (
      'from' => 'dept_id',
      'to' => 'department',
      )
  );
$database_metadata = array($company_table, $department_table, $employee_table);
?>

Les métadonnées correspondent à une base de données relationnelle qui peut avoir été définie comme étant MySQL :

create table company (
 id integer auto_increment,
 name char(20),
 employee_of_the_month integer,
 primary key(id)
);
create table department (
 id integer auto_increment,
 name char(20),
 location char(10),
 number integer(3),
 co_id integer,
 primary key(id)
);
create table employee (
 id integer auto_increment,
 name char(20),
 SN char(4),
 manager tinyint(1),
 dept_id integer,
 primary key(id)
);

or to DB2 as:

create table company ( \
  id integer not null generated by default as identity,  \
  name varchar(20), \
  employee_of_the_month integer, \
  primary key(id) )
create table department ( \
  id integer not null generated by default as identity, \
  name varchar(20), \
  location varchar(10), \
  number integer, \
  co_id integer, \
  primary key(id) )
create table employee ( \
  id integer not null generated by default as identity, \
  name varchar(20), \
  SN char(4), \
  manager smallint, \
  dept_id integer, \
  primary key(id) )

Notez que bien que dans cet exemple n'a pas de clé étrangère de spécifiée à la base de données et que la base de données n'est pas prévue à forcer l'intégrité référentielle, l'intention derrière la colonne co_id de la table departement et la colonne dept_id de la table employe est qu'elles pourraient contenir la clé primaire de leur compagnie les contenant ou l'enregistrement du département, respectivement. Alors ces deux colonnes actent comme des clés étrangères.

Il y a une troisième clé étrangère dans cet exemple, elle est de la colonne employe_du_mois de la table compagnie qui est compris dans une ligne de la table employe. Notez la différence dans l'intention entre cette clé étrangère et les deux autres. La colonne employe_du_mois représente une relation de valeurs simples : il peut y avoir seulement un employé du moi pour une compagnie donnée. Les colonnes co_id dept_id représentent des relations de valeurs multiples : une compagnie peut contenir plusieurs département et un département peut contenir beaucoup d'employés. Cette distinction deviendra évidente lorsque le reste des métadonnées sélectionne les relations entre la compagnie-département et le département-employé comme étant une relation contenue.

Il y a un peu de règles simples qui doivent être suivies lorsque l'on construit les métadonnées de base de données :

  • Toutes les tables doivent avoir des clés primaires et les clés primaires doivent être spécifiées dans les métadonnées. Sans clés primaires, il n'est pas possible de garder une trace des identités des objets. Comme vous pouvez le voir avec les requête SQL qui créent les tables, les clés primaires peuvent être générées automatiquement, ce qui signifie, qu'elles sont générées et assignées par la base de données lorsque l'enregistrement est inséré. Dans ce cas, la clé primaire générée automatiquement est obtenue de la base de données et insérées dans l'objet de données immédiatement après que la ligne soit insérée dans la base de données.

  • Il n'est pas nécessaire de spécifier les métadonnées de toutes les colonnes qui existent dans la base de données, seulement celles qui seront utilisées. Par exemple, si la table compagnie avait un autre colonne que l'application ne souhaite pas accéder avec SDO, il n'est pas nécessaire de la spécifiée dans les métadonnées. En contrepartie, cela ne devrait pas causer de problème de la spécifier : si elle est spécifiée dans les métadonnées mais jamais récupérée ou assignée par l'application, alors la colonne inutilisée ne devrait rien affecter.

  • Dans les métadonnées de base de données, notez que les définitions des clés étrangères n'identifient pas la colonne de destination dans la table qui est pointée, mais le nom de la table elle-même. Strictement, le modèle relationnel permet la destination d'une clé étrangère à être une clé non primaire. Seules les clés étrangères qui pointent à une clé primaire sont utiles pour la construction du modèle SDO, puisque les métadonnées spécifient le nom de la table. Il est entendu que la clé étrangère pointe vers la clé primaire d'une table donnée.

Ayant donné ces règles et les requêtes SQL qui définissent les bases de données, les métadonnées de base de données devrait être faciles à construire.

Que fait DAS Relationnel avec ces métadonnées

Le DAS Relationnel utilise les métadonnées de base de données pour former la plupart des modèles SDO. Pour chaque table dans les métadonnées de base de données, un type SDO est défini. Chaque colonne qui peut représenter une valeur primitive (les colonnes qui ne sont pas définies comme étant des clés étrangères) est ajoutée comme propriété au type SDO.

Toutes les propriétés primitives sont données par un type de chaîne de caractères dans le modèle SDO, sans se soucier de leur type SQL. Lors de la ré-écriture des données dans la base de données, le DAS Relationnel créera une requête SQL qui traitera les valeurs comme étant des chaînes de caractères et la base de données les convertira dans le type approprié.

Les clés étrangères sont interprétées de une des deux manières, dépendamment des métadonnées contenues dans le troisième argument du constructeur qui définissent les relations de SDO contenues. Une discussion de cela est donc reportée dans la section relations SDO contenues ci-dessous.

Spécification du type de racine de l'application

Le second argument du constructeur est l'application du type de racine. La vraie racine de chaque graphique de données est un objet d'un type de racine spécial et tous les objets de données des applications viennent quelque part sous cela. De la plupart des types d'application dans le modèle SDO, une doit être le type d'application immédiatement sous la racine du graphique de données. S'il y a seulement une table dans les métadonnées de base de données, le type de racine de l'application peut être impliqué et cet argument peut être omis.

Spécification des relations SDO contenues

Le troisième argument du constructeur définit comment les types dans le modèle seront liés ensemble pour former un graphique. Cela identifie les relations parent-enfant entre les types qui collectivement forment un graphique. Les relations doivent être supportées par les clés étrangères pour être trouvées dans les données, d'une manière rapide d'être décrit.

Les métadonnées sont un tableau contenant un ou plusieurs tableaux associatifs, chacun d'eux identifie un parent et un enfant. L'exemple ci-dessous montre une relation parent-enfant de compagnie au département et un autre du département aux employés. Chacune d'elles deviendra un propriété définissant une relation de valeur multiples contenue dans un modèle SDO.

<?php
$department_containment = array( 'parent' => 'company', 'child' => 'department');
$employee_containment = array( 'parent' => 'department', 'child' => 'employee');

$SDO_containment_metadata = array($department_containment, $employee_containment);
?>

Les clés étrangères dans les métadonnées de base de données sont interprétées comme des propriétés avec soit des relations de valeurs multiples contenues ou des références de simples valeurs non contenues, dépendamment si elles ont une relation SDO contenue correspondante spécifiée dans les métadonnées. Dans cet exemple ici, les clés étrangères du département à la compagnie (la colonne co_id dans la table de departement) et de l'employé au département (la colonne dept_id dans la table employe) sont interprétées comme supportant les relations SDO contenues. Chaque référence contenue mentionnée dans les métadonnées de relations contenue de SDO doit avoir une clé correspondante présente dans la base de données et définie dans les métadonnées de base de données. Les valeurs des colonnes de la clé étrangère pour les relations contenues n'apparaissent pas dans les objets de données; à la place, chacune d'entre elles est représentée par une relation contenue du parent à l'enfant. Alors la colonne co_id dans la ligne de département de la base de données, par exemple, n'apparaît pas en tant que propriété du type de département, mais apparaît à la place comme une relation contenue appelée departname sur le type de compagnie. Notez que la clé étrangère et la relation parent-enfant semble avoir un sens opposé : la clé étrangère pointe du département à la compagnie, mais la relation parent-enfant pointe de la compagnie au département.

La troisième clé dans cet exemple, le employe_du_mois, est gérée différemment. Elle n'est pas mentionnée dans les métadonnées de relations SDO contenues. Ceci a pour conséquence d'être interprété de la seconde manière : elle devient une référence de valeur simple non contenue sur l'objet compagnie, sur lequel vous pouvez assigner des références au type d'employé d'objets de données SDO. Elle apparaît comme une propriété du type de compagnie. Le moyen pour lui assigner une valeur dans le graphique de données est d'avoir un graphique qui contient un objet employé avec les relations contenues et d'assigner l'objet à celui-ci. Ceci est montré dans les exemples plus loin.

Création, récupération, mise à jour et effacement de données
Exemples avec une table
Exemples


Exemples avec une table

Les exemples suivants utilisent tous le DAS Relationnel pour travailler avec un graphique de données contenant juste un objet de données d'application, une seule compagnie et les données qui seront dans la table compagnie. Ces exemples ne montre pas le pouvoir de SDO ou de DAS Relationnel et bien sûr les mêmes résultats peuvent être atteints plus économiquement à l'aide de requêtes SQL directes mais ces exemples sont pour vous montrer comment fonctionne le DAS Relationnel.

Pour ce simple scénario, il serait possible de simplifier les métadonnées de base de données pour inclure juste la table de compagnie - si cela était fait, le deuxième et troisième argument du constructeur et le spécificateur de colonne utilisé dans l'exemple de requête deviendrait optionnel.

Exemple #1 Création d'un objet de données

Le plus simple exemple est de créer un objet de données simple et de l'écrire à la base de données. Dans cet exemple, un objet simple de compagnie est créé, son nom est fixé à "Acme" et le DAS Relationnel est appelé pour écrire les changements à la base de données. Le nom de la compagnie est fixé ici en utilisant la méthode de propriété de nom. Voyez la section d'exemples sur l'extension SDO pour d'autres moyens d'accéder au propriétés d'un objet.

Les objets de données peuvent seulement être créés lorsque vous avez un objet de données au démarrage. C'est pour cette raison que le premier appel à DAS Relationnel ici est pour obtenir l'objet racine. C'est en effet comment demander pour un graphique de données vide - l'objet de racine spécial est la vrai racine de l'arbre. L'objet de données compagnie est alors créé avec l'appel à createDataObject() sur l'objet racine. Ceci crée l'objet de données compagnie et l'insère dans le graphique en insérant une propriété de valeurs multiples contenue dans l'objet racine appelé "compagnie".

Lorsque DAS Relationnel est appelé pour effectuer les changements, une simple requête d'insertion "INSERT INTO compagnie (nom} VALUES ("Acme");" sera construite et exécutée. La clé primaire générée automatiquement sera fixée dans l'objet de données et le changement sera effacé, alors il serait possible de continuer de travailler avec le même objet de données, le modifier, et applique les nouveaux changements une deuxième fois.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construit le DAS avec les métadonnées
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

/**************************************************************
 * Obtient l'objet racine et crée un objet compagnie dessous.
 * Effectue un petit changement à l'objet de données.
 ***************************************************************/
$root = $das  -> createRootDataObject();
$acme = $root -> createDataObject('compagnie');

$acme->name = "Acme";

/**************************************************************
 * Récupère la connexion à la base de données et écrit l'objet à la base de données
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das -> applyChanges($dbh, $root);
?>

Exemple #2 Récupération d'un objet de données

Dans cet exemple, un simple objet de données est récupéré de la base de données - ou possiblement plus d'un s'il y avait plus d'une compagnie qui était appelée "Acme". Pour chaque compagnie retournée, les propriétés nom et id sont affichées.

Dans cet exemple, le troisième argument de executeQuery(), le spécificateur de colonne est requis puisqu'il y a d'autres tables dans les métadonnées avec le nom de colonne nom et id. S'il n'y avait pas d'ambiguïté possible, il aurait pu être omis.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construit le DAS avec les métadonnées
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

/**************************************************************
 * Récupère la connexion à la base de données
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Effectue une requête pour obtenir un objet compagnie - possiblement
 * plusieurs s'ils existent
 ***************************************************************/
$root = $das->executeQuery($dbh,
           'select nom, id from compagnie where nom="Acme"',
                        array('compagnie.nom', 'compagnie.id') );

/**************************************************************
 * Affiche le nom et le id
 ***************************************************************/
foreach ($root['compagnie'] as $compagnie) {
    echo "La compagnie obtenue de la base de données a le nom = " .
    $compagnie['nom'] . " et un id " . $compagnie['id'] . "\n";
}
?>

Exemple #3 Mise à jour d'objet de données

Cet exemple combine les deux précédent, dans le sens que pour être mis à jour, l'objet doit être premièrement récupéré. L'application renverse le nom de compagnie (alors "Acme" devient "emcA") et alors les changements sont écrits à la base de données de la même manière qu'ils étaient lorsque l'objet avait été créé. Puisque la requête cherche pour le nom, on peut chercher des deux manières le nom à plusieurs reprises pour trouver la compagnie et renverser son nom chaque fois.

Dans cet exemple, la même instance de DAS Relationnel est réutilisée pour applyChanges(), avec le descripteur de base de données PDO. Ceci est tout à fait correcte; il est aussi possible d'autoriser les instances précédentes d'être ramassées par le ramasse-miettes et d'obtenir de nouvelles instances. Aucune données d'état concernant le graphique n'est tenue par le DAS Relationnel une fois qu'il a retourné un graphique de données à l'application. Toutes les données nécessaires sont soit dans le graphique ou peuvent être reconstruites à partir des métadonnées.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construit le DAS avec les métadonnées
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

/**************************************************************
 * Récupère la connexion à la base de données
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Effectue une requête pour obtenir un objet compagnie - possiblement
 * plusieurs s'ils existent
 ***************************************************************/
$root = $das->executeQuery($dbh,
    'select nom, id from compagnie where nom="Acme" or nom="emcA"',
    array('compagnie.nom', 'compagnie.id') );

/**************************************************************
 * Modifie le nom de la première compagnie seulement
 ***************************************************************/
$compagnie = $root['compagnie'][0];
echo "Compagnie obtenue avec le nom " . $compagnie->nom . "\n";
$compagnie->nom = strrev($compagnie->nom);

/**************************************************************
 * Écriture du changement
 ***************************************************************/
$das->applyChanges($dbh,$root);
?>

Exemple #4 Suppression d'un objet de données

Toutes compagnies appelées "Acme" ou son inverse "emcA" sont récupérées. Elles sont ensuite toutes supprimées du graphique avec unset.

Dans l'exemple, elles sont toutes supprimées en un seul coup en supprimant la propriété contenue (la propriété définissant la relation contenue). Il est aussi possible de les supprimer individuellement.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construit le DAS avec les métadonnées
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

/**************************************************************
 * Récupère la connexion à la base de données
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Effectue une requête pour obtenir un objet compagnie - possiblement
 * plusieurs s'ils existent
 ***************************************************************/
$root = $das->executeQuery($dbh,
    'select nom, id from compagnie where nom="Acme" or nom="emcA"',
    array('company.name', 'company.id') );

/**************************************************************
 * Supprime les compagnies trouvées du graphique de données
 ***************************************************************/
unset($root['compagnie']);

/**************************************************************
 * Écrit le(s) changement(s)
 ***************************************************************/
$das->applyChanges($dbh,$root);
?>

Spécification des métadonnées
Exemples avec deux tables
Exemples


Exemples avec deux tables

Les exemples suivants utilisent tous deux tables de la base de données compagnie : les tables compagnie et departement. Ces exemples montrent plus le fonctionnement de DAS Relationnel.

Dans cette série d'exemples, une compagnie et un département son créé, récupéré, mis à jour et finalement supprimé. Ceci montre le cycle de vie pour un graphique de données contenant plus d'un objet. Notez que cet exemple vide les tables compagnie et departement au démarrage, ainsi les résultats exacts des requêtes peuvent être connus.

Vous pouvez trouvez ces exemples combinés dans un script appelé 1cd-CRUD dans le répertoire Scenarios du paquetage DAS Relationnel.

Exemple #1 Une compagnie, un département - Création

Comme dans l'exemple précédent où l'on créait juste un objet de données de compagnie, la première action après la construction du DAS Relationnel est d'appeler createRootDataObject() pour obtenir l'objet racine spécial du graphique de données vide. L'objet compagnie est alors créé en tant que fils de cet objet racine, et l'objet departement en tant que fils de l'objet compagnie.

Lorsqu'il est venu le temps d'appliquer les changements, le DAS Relationnel doit effectuer des traitements spéciaux pour maintenir la clé étrangère qui supporte les relations contenues, en particulier si une clé primaire générée automatiquement est en jeu. Dans cet exemple, les relations entre la clé primaire générée automatiquement id dans la table compagnie et la colonne co_id dans la table departement doivent être maintenues. Lors de l'insertion de la compagnie et du département pour la première fois, le DAS Relationnel doit premièrement insérer une ligne de compagnie, ensuite appeler la méthode de PDO getLastInsertId() pour obtenir la clé primaire générée automatiquement, et ensuite ajouter la valeur à la colonne co_id lors de l'insertion de la ligne departement.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Vidage des deux tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPAGNIE;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTEMENT;');
$rows_affected = $pdo_stmt->execute();

/**************************************************************
* Crée une compagnie avec le nom Acme et un département, département de Chaussure
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

$root = $das -> createRootDataObject();

$acme = $root -> createDataObject('compagnie');
$acme -> nom = "Acme";

$chaussure = $acme->createDataObject('departement');
$chaussure->nom = 'Chaussure';

$das -> applyChanges($dbh, $root);

?>

Exemple #2 Une compagnie, un département - Récupération et Mise à jour

Dans ce cas, la requête SQL passé à executeQuery() exécute un inner join pour joindre les données des tables compagnie et departement. Les clés primaires pour les tables compagnie et departement doivent être incluses dans la requête. Le jeu de résultats est normalisé de nouveau pour former un graphique de données normalisé. Notez que le spécificateur de colonne est passé en troisième argument de l'appel executeQuery() qui autorise DAS Relationnel de savoir quelle colonne est laquelle dans le jeu de résultats.

Notez que la colonne co_id bien qu'utilisée dans la requête n'est pas requis dans le jeu de résultats. Afin de comprendre que fait DAS Relationnel lorsqu'il construit le graphique de données, il peut être utile de visualiser à quoi ressemble les jeu de résultats. Bien que les données dans la base de données sont normalisée, alors plusieurs lignes de département peuvent pointer vers la clé étrangère d'une ligne de compagnie, les données dans le jeu de résultats sont non-normalisée : c'est, s'il y a une compagnie et de multiples département, les valeurs pour la compagnie qui sont répétées à chaque ligne. Le DAS Relationnel doit renverser ce processus et retourner le jeu de résultats dans un graphique normalisé, avec seulement un objet compagnie.

Dans cet exemple, le DAS Relationnel examine le jeu de résultats et le spécificateur de colonne, trouve les données pour les tables compagnie et departement, trouve les clés primaires pour les deux et interprète chaque ligne comme contenant des données d'un département et comme parent compagnie. S'il n'a pas vue de données de la compagnie auparavant (il utilise la clé primaire pour vérifier), il crée un objet compagnie et ensuite l'objet compagnie sous lui. S'il a vu des données pour la compagnie avant et a déjà créé l'objet compagnie, il crée simplement l'objet departement sous lui.

De cette manière, le DAS Relationnel peut récupérer et normaliser de nouveau les données pour de multiples compagnies et de multiples départements sous ceux-ci.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Récupération de la compagnie et du département de Chaussure, ensuite
 * supprime Chaussure et ajoute IT
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.nom, d.id, d.nom from compagnie Â«c, departement d where d.co_id = c.id',
array('compagnie.id','compagnie.nom','departement.id','departement.nom'));

$acme      = $root['compagnie'][0];            // récupère la première compagnie - sera 'Acme'
$chaussure = $acme['departement'][0];          // récupère le premier département en dessous - sera 'Chaussure'

unset($acme['departement'][0]);

$it = $acme->createDataObject('departement');
$it->name = 'IT';

$das -> applyChanges($dbh, $root);
?>

Exemple #3 Une compagnie, deux départements - Récupération et Suppression

Dans cet exemple, la compagnie et le département sont récupérés et ensuite supprimés. Il n'est pas nécessaire de les supprimer individuellement (bien que cela est possible) - la suppression de l'objet compagnie du graphique de données supprime aussi tous les départements sous lui.

Notez le moyen de l'objet compagnie est actuellement supprimé en utilisant l'appel unset de PHP. La suppression doit être effectuée sur la propriété qui est dans ce cas la propriété de compagnie sur l'objet racine spécial. Vous devez utiliser :

<?php
unset($root['company'][0]);
?>
et non pas :
<?php
unset($acme); //FAUX
?>
La suppression de $acme détruira simplement la variable mais laissera les données dans le graphique intacte.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Récupération de la compagnie et du département IT, ensuite supprime la
 * compagnie entière
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.nom, d.id, d.nom from compagnie c, departement d where d.co_id = c.id',
array('compagnie.id','compagnie.nom','departement.id','departement.nom'));

$acme = $root['compagnie'][0];
$it = $acme['departement'][0];

unset($root['compagnie'][0]);

$das -> applyChanges($dbh, $root);

?>

Exemples avec une table
Exemple avec trois tables
Exemples


Exemple avec trois tables

Les exemples suivant utilisent tous trois tables de la base de données compagnie : les tables compagnie, departement et employe. Elles introduisent le dernier morceau du fonctionnement non expliqué dans les exemples ci haut : la référence non contenue employe_du_mois.

Comme les exemples ci haut pour la compagnie et le département, la série d'exemples illustre le cycle de vie complet d'un graphique de données.

Exemple #1 Une compagnie, un département, un employé - Création

Dans cet exemple, une compagnie est créée contenant un département et seulement un employé. Notez que dans cet exemple, les trois tables sont vidées à leur démarrage ainsi les résultats exacts des requêtes peuvent être connus.

Notez comment une fois que la compagnie, le département et l'employé est créé que la propriété employe_du_mois de la compagnie peut être faite pour pointer au nouvel employé. Puisque c'est une référence qui n'est pas contenue, ceci ne peut être effectué tant que l'objet employé ait été créé dans le graphique. Les références non contenues doivent être gérées prudemment. Par exemple, si un employé est maintenant supprimé de son département, il ne serait pas correcte d'essayer de sauver le graphique sans premièrement effacer ou réassigner la propriété employe_du_mois. Cette règle SDO requiert que tous les objets pointé par une référence qui n'est pas contenue doit être aussi accessible par des relations contenues.

Lorsque vient le moment d'insérer le graphique dans la base de données, la procédure est similaire à l'exemple d'insertion d'une compagnie et d'un département, cependant, la propriété employe_du_mois introduit une plus grande complexité. Le DAS Relationnel doit insérer les objets en descendant l'arbre formée des relations contenues, donc la compagnie, ensuite le département et ensuite l'employée. Ceci est nécessaire puisqu'il y a toujours une clé primaire générée automatiquement du parent pour l'inclure dans une ligne du fils. Mais lorsque la compagnie est insérée, l'employée qui est l'employé du mois n'est pas encore inséré et la clé primaire est inconnue. La procédure est qu'après l'insertion de l'employé et que sa clé primaire soit connue, une dernière étape est effectuée qui permet de modifier la compagnie avec la clé primaire de l'employé.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Vidage des deux tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPAGNIE;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTEMENT;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM EMPLOYE;');
$rows_affected = $pdo_stmt->execute();

/*************************************************************************************
* Crée une compagnie minuscule mais complète.
* Le nom de la compagnie est Acme.
* Il y a un département, Chaussure.
* Il y a une employé, Bob.
* L'employé du mois est Bob.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root        = $das  -> createRootDataObject();
$acme        = $root -> createDataObject('compagnie');
$acme -> nom = "Acme";
$chaussure   = $acme -> createDataObject('departement');
$chaussure -> nom         = 'Chaussure';
$chaussure -> emplacement = 'Bloc-A';
$bob                              = $chaussure -> createDataObject('employe');
$bob -> nom              = 'Bob';
$acme -> employe_du_mois = $bob;

$das -> applyChanges($dbh, $root);

echo "Écriture de Acme avec un département et un employé\n";
?>

Exemple #2 Une compagnie, un département, un employé - Récupération et Mise à Jour

La requête SQL passée à DAS Relationnel est cette fois un inner join qui récupère les données des trois tables. Autrement, cet exemple n'introduit rien de nouveau de l'exemple précédent

Le graphique est mis à jour avec l'addition d'un nouveau département et d'un nouvel employé et quelques modifications au propriétés de nom des objets existant dans le graphique. Les changements combinés sont écrits. Le DAS Relationnel traitera et appliquera un mélange arbitraire des additions, des modifications et des suppressions provenant et allant vers le graphique.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
 * Trouve la compagnie encore et change certains aspects.
 * Change le nom de la compagnie, le département et l'employé.
 * Ajoute un second département et un nouvel employé.
 * Change l'employé du mois
 *************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
    "select c.id, c.nom, c.employe_du_mois, d.id, d.nom, e.id, e.nom " .
    "from compagnie c, departement d, employe e " .
    "where e.dept_id = d.id and d.co_id = c.id and c.nom='Acme'",
     array('compagnie.id','compagnie.nom','compagnie.employe_du_mois',
     'departement.id','departement.nom','employe.id','employe.nom'));
$acme   = $root['compagnie'][0];

$chaussure      = $acme->departement[0];
$bob          = $chaussure -> employe[0];

$it     = $acme->createDataObject('departement');
$it->nom = 'IT';
$it->location = 'Bloc-G';
$billy  = $it->createDataObject('employe');
$billy->nom = 'Billy';

$acme->nom = 'MegaCorp';
$chaussure->nom = 'Footwear';
$sue->nom = 'Suzan';

$acme->employe_du_mois = $billy;
$das -> applyChanges($dbh, $root);
echo "Écriture de la compagnie avec un département en plus et un employé et
tous les noms ont changés Megacorp/Footwear/Suzan)\n";

?>

Exemple #3 Une compagnie, deux départements, deux employés - Récupération et Suppression

La compagnie est récupéré en tant qu'un graphique de données complet contenant cinq objets de données - la compagnie, deux départements et deux employés. Ils sont tous supprimés en supprimant l'objet compagnie. La suppression d'un objet du graphique supprime tous les objets sous celui-ci dans le graphique. Cinq requêtes DELETE SQL sera générées et exécutée. Comme d'habitude, elles seront qualifiées avec une clause WHERE qui contient tous les champs qui ont été récupérés, alors toutes les mises à jour des données dans la base de données pendant ce temps par un autre processus seront détectées.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
 * Maintenant lit une ou plusieurs fois et supprime.
 * Vous pouvez supprimer par partie, appliquer les changements, et ensuite
 * continuer à travailler avec le même graphique de données mais la précaution
 * est requise pour garder véracité - vous ne pouvez pas supprimer l'employé
 * qui est l'employé du mois sans le réassigner. Pour plus de précaution ici,
 * nous supprimons la compagnie en entier d'un seul coup.
 *************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
    "select c.id, c.nom, c.employe_du_mois, d.id, d.nom, e.id, e.nom " .
    "from compagnie c, departement d, employe e " .
    "where e.dept_id = d.id and d.co_id = c.id and c.nom='MegaCorp';",
     array('compagnie.id','compagnie.nom','compagnie.employe_du_mois',
     'departement.id','departement.nom','employe.id','employe.nom'));
$megacorp = $root['compagnie'][0];

unset($root['compagnie']);
$das -> applyChanges($dbh, $root);

echo "Suppression de la compagnie, des départements et des employés d'un seul coup.\n";

?>

Exemples avec deux tables
Limitations
Exemples


Limitations

Il y a les limitations suivantes dans la version courante de DAS Relationnel :

  • Aucun support pour les données NULL. Il n'y a pas de support pour les types de SQL NULL. Cela n'est pas légal d'assigner une donnée PHP NULL à une propriété d'objet de données et le DAS Relationnel n'écriera pas en tant que NULL à la base de données. Si des données NULL sont trouvées dans la base de données dans une requête, la propriété restera non fixée.

  • Seulement deux types de relation SDO. Les métadonnées décrient plus bas permettent le DAS Relationnel de modéliser seulement deux types de relation SDO : relations contenues de valeurs multiples et les références contenues de valeurs simples. Dans SDO, si une propriété décrit une relation simple ou de valeurs multiples, et si c'est contenu ou non contenu, elle est indépendante. La plage complète des possibilités que SDO autorise ne peut être défini au complet. Il peut y avoir des relations qui peuvent être utiles pour modéliser mais que l'implémentation courante ne peut gérer. Un exemple est de relation de simples valeurs contenues.

  • Aucun support pour la plage complète des types de données SDO. Le DAS Relationnel définit des propriétés primitives dans le modèle SDO en tant qu'un type de chaîne de caractères. SDO définit un ensemble de types plus riche contenant des types entier, valeur à virgule flottante, booléen et des données et de temps. Une chaîne de caractères est adéquate pour les buts de DAS Relationnel puisque la combinaison de PHP, PDO et les bases de données assurera que les valeurs passées en tant que chaînes de caractères seront converties au bon type avant d'être envoyées à la base de données. Cela affecte certains scénarios dans lesquels DAS Relationnel doit travailler avec un graphique de données qui est venu ou ira à un différent DAS.

  • Seulement une clé étrangère par table. Les métadonnées fournissent seulement le moyen de spécifier une clé étrangère par table. Cette clé étrangère peut établir une correspondance à un ou deux types de relations SDO supportés. Évidemment, il y a des scénarios qui ne peuvent être décrits sous cette limitation - il n'est pas possible d'avoir deux références non contenues d'une table à une autre par exemple.

Exemple avec trois tables
Fonctions SDO-DAS-Relational
SDO-DAS-Relational


Fonctions SDO-DAS-Relational

Classes pré-définies

Le DAS Relationnel fournit deux classes : le DAS Relationnel lui-même et aussi la sous-classe Exception qui peut être jetée. Le DAS Relationnel a quatre appels publics utiles : le constructeur, la méthode createRootDataObject() pour obtenir l'objet racine d'un graphique de données vide, la méthode executeQuery() pour obtenir le graphique de données contenant les données d'une base de données relationnelle et la méthode applyChanges() pour écrire les changements effectués au graphique de données vers la base de données relationnelle.

SDO_DAS_Relational

Le seul autre objet que SDO_DAS_Relational_Exception que l'application pourrait interagir.

Méthodes

  • __construct : construit le DAS Relationnel avec le modèle dérivé des métadonnées passées

  • createRootDataObject : obtient le graphique de données vide contenant seulement l'objet racine spécial

  • executeQuery : exécute une requête SQL passée en tant que chaîne de caractères littérale et retourne les résultats dans un graphique de données normalisé

  • executePreparedQuery : exécute une requête SQL passée en tant que requête préparée, avec une liste de valeur à substituer pour les paramètres fictifs et retourne le résultats d'un graphique de données normalisé

  • applyChanges : examine les changements dans le graphique de données et applique ces changements à la base de données, sujet d'une acceptation de simultanéité optimiste

SDO_DAS_Relational_Exception

Est une sous-classe de la classe PHP Exception. Elle n'ajoute aucun comportement à Exception. Jetée, avec une explication utile, pour signaler les erreurs dans les métadonnées ou des échecs non prévus pour exécuter des opérations SQL.

Sommaire

  • SDO_DAS_Relational::applyChanges — Applique les changements effectués au graphique de données à la base de données.
  • SDO_DAS_Relational::__construct — Construit une instance de DAS Relationnel
  • SDO_DAS_Relational::createRootDataObject — Retourne un objet racine spécial d'un graphique de données vide. Utilisé lors de la création d'un graphique de données à partir de zéro.
  • SDO_DAS_Relational::executePreparedQuery — Exécute une requête SQL passée comme requête préparée, avec une liste de valeurs à substituer pour les paramètres fictifs, et retourne les résultats comme un graphique de données normalisé.
  • SDO_DAS_Relational::executeQuery — Exécute une requête SQL donnée à une base de données relationnelle et retourne les résultats comme graphique de données normalisé.
Limitations
SDO_DAS_Relational::applyChanges
SDO-DAS-Relational


Applique les changements effectués au graphique de données à la base de données.

Fonctions SDO-DAS-Relational
SDO_DAS_Relational::__construct
Fonctions SDO-DAS-Relational
PHP Manual

SDO_DAS_Relational::applyChanges

(^)

SDO_DAS_Relational::applyChanges — Applique les changements effectués au graphique de données à la base de données.

Description

void SDO_DAS_Relational::applyChanges ( PDO $database_handle , SDODataObject $root_data_object )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

En lui donnant une ressource de base de données PDO et l'objet racine spécial d'un graphique de données, la fonction examine les changements dans le graphique de données et applique les changements à la base de données Les changements qui peut appliquer sont les créations d'objets de données, les suppressions des objets de données et les modifications des propriétés des objets de données.

Liste de paramètres

PDO_database_handle

Construit en utilisant l'extension PDO. Une ligne typique pour construire une ressource de base de données PDO devrait ressembler à ceci :

$dbh = new PDO("mysql:dbname=COMPAGNIEDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

root_data_object

L'objet racine spécial qui est le sommet de chaque graphique de données SDO.

Valeurs de retour

Aucun. Notez cependant que le graphique de données qui a été passé est toujours intact et utilisable. De plus, si les objets de données ont été créés et écrits à une table avec des clés primaires générées automatiquement, alors ces clés primaires seront maintenant enregistrées dans les objets de données. Si les changements ont été correctement écrits, alors le changement associé avec le graphique de données sera supprimé, alors il est possible maintenant d'effectuer plus de changement au graphique de données et appliquer les changements alternativement. De cette façon, il est possible de travailler avec le même graphique de données et appliquer les changement à plusieurs reprises.

Erreurs / Exceptions

SDO_DAS_Relational::applyChanges() peut jeter une exception SDO_DAS_Relational_Exception si la méthode n'est pas capable d'appliquer tous les changements correctement.

Le DAS Relationnel démarre une transaction de base de données avant de commencer à appliquer les changements et enverra les transactions seulement si celles-ci sont réussies. Le DAS Relationnel génère des requêtes de mises à jour et de suppression qualifiées qui contiennent une clause WHERE qui spécifie que la ligne à être modifiée ou supprimée doit contenir les mêmes valeurs qu'elles avaient lorsque les données ont été préalablement récupérées. Voici comment la simultanéité optimiste est implantée. Si une des requêtes de mises à jour ou de suppression qualifiées échoue à mettre à jour ou à supprimer leur ligne, il se peut que cela soit à cause des données altérées dans la base de données en attendant. Quoi qu'il arrive, si une mise à jour échoue pour n'importe quelle raison, la transaction est retournée en arrière et une exception est jetée. Cette exception contiendra la requête SQL générée qui a échouée.

Le DAS Relationnel attrape aussi toutes les exceptions de PDO et obtient des informations de diagnostique de PDO qui incluent dans un SDO_DAS_Relational_Exception qui est lui-même ensuite jeté.

Exemples

Veuillez voir la section d'exemples dans les informations générales à propos de DAS Relationnel pour plusieurs exemples sur l'appel de cette méthode. Veuillez voir aussi la section sur le suivi pour voir comment vous pouvez voir quelles requêtes SQL sont générées par le DAS Relationnel.

Fonctions SDO-DAS-Relational
SDO_DAS_Relational::__construct
Fonctions SDO-DAS-Relational


Construit une instance de DAS Relationnel

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
Fonctions SDO-DAS-Relational
PHP Manual

SDO_DAS_Relational::__construct

(^)

SDO_DAS_Relational::__construct — Construit une instance de DAS Relationnel

Description

SDO_DAS_Relational SDO_DAS_Relational::__construct ( array $database_metadata [, string $application_root_type [, array $SDO_containment_references_metadata ]] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Construit une instance de DAS Relationnel à partir des métadonnées passées.

Liste de paramètres

database_metadata

Un tableau contenant une ou plusieurs définitions de table, chacune d'elle est un tableau associatif contenant les clés name, columns, PK et optionnellement, FK. Pour une discussion complète sur les métadonnées, voyez la section métadonnées dans les informations générales à propos de DAS Relationnel.

application_root_type

La racine de chaque graphique de données est un objet d'un type de racine spécial et les objets de données de l'application viennent sous cela. De la plupart des types d'application dans le modèle SDO, une doit être le type d'application immédiatement sous la racine du graphique de données. S'il n'y a qu'une seule table dans les métadonnées de base de données, alors le type de racine de l'application peut être impliqué et cet argument peut être omis.

SDO_containment_references_metadata

Un tableau contenant une ou plusieurs définitions d'une relation contenue, chacune d'elle est un tableau associatif contenant les clés parent et child. Les relations contenues décrient comment les types dans le modèle sont connectés pour former un arbre. Le type spécifié en tant que le type racine de l'application doit être présent en tant qu'un type de parent dans les références contenues. Si l'application doit seulement travailler avec une table à la fois et s'il n'y a pas de relation contenue dans le modèle, cet argument peut être omis. Pour une discussion complète sur les métadonnées, voyez la section métadonnées dans les informations générales à propos de DAS Relationnel.

Valeurs de retour

Retourne un objet SDO_DAS_Relational en cas de succès.

Erreurs / Exceptions

SDO_DAS_Relational::__construct() jette une exception SDO_DAS_Relational_Exception si des problèmes sont trouvés dans les métadonnées.

Exemples

Pour une discussion complète sur les métadonnées, voyez la section métadonnées dans les informations générales à propos de DAS Relationnel.

SDO_DAS_Relational::applyChanges
SDO_DAS_Relational::createRootDataObject
Fonctions SDO-DAS-Relational


Retourne un objet racine spécial d'un graphique de données vide. Utilisé lors de la création d'un graphique de données à partir de zéro.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
Fonctions SDO-DAS-Relational
PHP Manual

SDO_DAS_Relational::createRootDataObject

(^)

SDO_DAS_Relational::createRootDataObject — Retourne un objet racine spécial d'un graphique de données vide. Utilisé lors de la création d'un graphique de données à partir de zéro.

Description

SDODataObject SDO_DAS_Relational::createRootDataObject ( void )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Retourne un objet racine spécial du sommet d'un graphique de données vide. Cet appel est utilisé lorsque l'application veut créer un graphique de données à partir de zéro, sans avoir appelé executeQuery() pour créer le graphique de données.

L'objet racine spécial a une propriété de valeurs multiples contenue, avec un nom du type de racine de l'application qui a été passé lors de la construction de DAS Relationnel. La propriété peut prendre des valeurs de seulement ce type. La seule chose que l'application peut faire d'utile avec le type de racine est d'appeler createDataObject() sur celui-ci, en passant le nom du type de racine de l'application, dans l'ordre pour créer un objet de données avec son propre type d'application

Liste de paramètres

Aucun.

Valeurs de retour

L'objet racine.

Erreurs / Exceptions

Aucun.

Exemples

Veuillez visitez la section exemples dans la section information générale à propos des DAS Relationnel pour beaucoup d'exemples en appelant cette méthode.

SDO_DAS_Relational::__construct
SDO_DAS_Relational::executePreparedQuery
Fonctions SDO-DAS-Relational


Exécute une requête SQL passée comme requête préparée, avec une liste de valeurs à substituer pour les paramètres fictifs, et retourne les résultats comme un graphique de données normalisé.

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
Fonctions SDO-DAS-Relational
PHP Manual

SDO_DAS_Relational::executePreparedQuery

(^)

SDO_DAS_Relational::executePreparedQuery — Exécute une requête SQL passée comme requête préparée, avec une liste de valeurs à substituer pour les paramètres fictifs, et retourne les résultats comme un graphique de données normalisé.

Description

SDODataObject SDO_DAS_Relational::executePreparedQuery ( PDO $database_handle , PDOStatement $prepared_statement , array $value_list [, array $column_specifier ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exécute une requête donnée sur une base de données relationnelle, en utilisant la ressource de base de données PDO fourni. Elle diffère de la fonction simple executeQuery() puisqu'elle prend des requêtes préparées et une liste de valeurs. Ceci est l'appel approprié lorsque vous voulez utiliser une requête qui doit être appelée un certain nombre de fois avec des arguments différents et il y a donc un avantage de performance à être préparée une seule fois. Elle est utile aussi pour les requêtes SQL qui contiennent des valeurs qui varient prises d'une source qui ne peut pas être totalement sûre. Dans ce dernier cas, il est peu sécuritaire de construire une requête SQL en concaténant simplement les parties de la requête ensemble, puisque les valeurs peuvent convenir des morceau de SQL. Pour se protéger de ceci, d'une prétendue attaque par injection SQL, il est plus sécuritaire de préparer la requête SQL avec des paramètres fictifs (aussi connu sous le nom de marqueurs, noté '?') et fournir une liste de valeurs qui devra être substituée dans un argument séparé. Autrement, cette fonction est la même que executeQuery() puisqu'elle utilise le modèle qui était bâti à partir des métadonnées pour interpréter le jeu de résultats et retourner un graphique de données.

Liste de paramètres

PDO_database_handle

Construit en utilisant l'extension PDO. Une ligne typique pour construire un descripteur de base de données PDO devrait ressembler à ceci :

$dbh = new PDO("mysql:dbname=COMPAGNIEYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

prepared_statement

Une requête SQL préparée qui sera exécutée sur la base de données. Il aura été préparé par la méthode prepare() de PDO.

value_list

Un tableau de valeurs à être substituées dans la requête SQL à la place des paramètres fictifs. Dans le cas qu'il n'y a pas de paramètres fictifs ou de marqueurs dans la requête SQL, alors cet argument peut être spécifié comme NULL ou en tant qu'un tableau vide.

column_specifier

Le DAS Relationnel doit examiner le jeu de résultats et pour chaque colonne, provenant de quelle table et quelle colonne de la table il vient. Dans certaines circonstances, il peut trouver les informations pour lui-même, mais la plupart du temps il ne le peut pas. Dans ces cas, une colonne spécifique est requise, qui est un tableau qui identifie les colonnes. Chaque entrée dans le tableau est simplement une chaîne de caractères dans la forme table-name.column_name.

Le spécificateur de colonne est requis lorsqu'il y a des noms de colonnes similaires dans les métadonnées de base de données. Par exemple, dans une base de données utilisée dans ces exemples, toutes les tables ont une colonne id et une colonne nom. Lorsque DAS Relationnel récupère le jeu de résultats à partir de PDO, il peut le faire avec l'attribut PDO_FETCH_ASSOC, ce qui permettra aux colonnes dans les jeux de résultats d'être marquées avec un nom de colonne, mais on ne pourra pas distinguer les entrées similaires. Alors cela fonctionnera seulement lorsqu'il y aura aucune entrée similaire possible dans les jeux de résultats.

Pour résumer, spécifier un tableau de spécificateurs de colonne lorsqu'il y a une incertitude à propos des colonnes qui pourraient venir de quelle table. Il faut l'omettre seulement lorsque chaque nom des colonnes dans les métadonnées de base de données est unique.

Tous les exemples dans la section d'Exemples utilisent un spécificateur de colonne. Il y a un exemple dans le dossier Scenarios de l'installation qui ne fait pas : il ne fonctionne seulement avec la table employe et parce qu'il travaille seulement avec une seule table, il ne peut y avoir des noms de colonnes similaires.

Valeurs de retour

Retourne un graphique de données. Spécifiquement, elle retourne un objet racine d'un type spécial. Sous cet objet de racine se trouveront les données du jeu de résultat. L'objet de racine aura une propriété de valeurs multiples contenue avec le même nom que le type racine d'application spécifié dans le constructeur, et la propriété continuera un ou plusieurs objets de donnés du type de racine de l'application.

Dans le cas que la requête aucune donnée, l'objet spécial de racine pour le type de racine de l'application sera vide.

Erreurs / Exceptions

SDO_DAS_Relational::executePreparedQuery() peut jeter une exception SDO_DAS_Relational_Exception si elle n'est pas capable de construire le graphique de données correctement. Cela peut arriver pour un certains nombres de raisons : par exemple, si elle trouve qu'elle n'a pas de clés primaire dans le jeu de résultats pour tous les objets. Le DAS Relationnel attrape toutes les exceptions de PDO et obtient des informations de diagnostique de PDO qui inclut un SDO_DAS_Relationnal_Exception qui sera alors jeté.

Exemples

Exemple #1 Récupération d'un objet de données en utilisant executePreparedQuery()

Dans cet exemple, un simple objet de données est récupéré de la base de données - ou possiblement plus d'un s'il y a plus d'une compagnie appelée 'Acme'. Pour chaque compagnie retournée, les propriétés nom et id sont affichées.

D'autres exemples d'utilisation de executePreparedQuery() peuvent être trouvés dans le code d'exemple fourni dans sdo/DAS/Relational/Scenarios.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construit le DAS avec les métadonnées
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'compagnie',$SDO_reference_metadata);

/**************************************************************
 * Récupère une connexion à la base de données
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Effectue une requête pour obtenir un objet compagnie - il pourrait y en
 * avoir plus s'ils existaient
 * Utilise une requête préparée avec des paramètres fictifs.
 ***************************************************************/
$nom = 'Acme';
$pdo_stmt = $dbh->prepare('select nom, id from compagnie where nom=?');
$root = $das->executePreparedQuery(
    $dbh,
    $pdo_stmt,
    array($nom),
    array('compagnie.nom', 'compagnie.id'));

/**************************************************************
 * Affiche le nom et son id
 ***************************************************************/
foreach ($root['compagnie'] as $compagnie) {
 echo "Compagnie obtenue de la base de données a le nom de = " .
    $compagnie['nom'] . " et son id est " . $compagnie['id'] . "\n";
}
?>

SDO_DAS_Relational::createRootDataObject
SDO_DAS_Relational::executeQuery
Fonctions SDO-DAS-Relational


Exécute une requête SQL donnée à une base de données relationnelle et retourne les résultats comme graphique de données normalisé.

SDO_DAS_Relational::executePreparedQuery
SDO DAS XML
Fonctions SDO-DAS-Relational
PHP Manual

SDO_DAS_Relational::executeQuery

(^)

SDO_DAS_Relational::executeQuery — Exécute une requête SQL donnée à une base de données relationnelle et retourne les résultats comme graphique de données normalisé.

Description

SDODataObject SDO_DAS_Relational::executeQuery ( PDO $database_handle , string $SQL_statement [, array $column_specifier ] )
Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Exécute une requête donnée à la base de données relationnelle en utilisant la ressource de base de données PDO fourni. Utilise le modèle qui est bâti des métadonnées pour interpréter le jeu de résultats. Retourne un graphique de données.

Liste de paramètres

PDO_database_handle

Construit en utilisant l'extension PDO. Une ligne typique pour construire un descripteur de base de données PDO devrait ressembler à ceci :

$dbh = new PDO("mysql:dbname=COMPAGNIEDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

SQL_statement

La requête SQL à être exécutée sur la base de données.

column_specifier

Le DAS Relationnel doit examiner le jeu de résultats et pour chaque colonne, provenant de quelle table et quelle colonne de la table il vient. Dans certaines circonstances, il peut trouver les informations pour lui-même, mais la plupart du temps il ne le peut pas. Dans ces cas, une colonne spécifique est requise, qui est un tableau qui identifie les colonnes. Chaque entrée dans le tableau est simplement une chaîne de caractères dans la forme table-name.column_name.

Le spécificateur de colonne est requis lorsqu'il y a des noms de colonnes similaires dans les métadonnées de base de données. Par exemple, dans une base de données utilisée dans ces exemples, toutes les tables ont une colonne id et une colonne nom. Lorsque DAS Relationnel récupère le jeu de résultats à partir de PDO, il peut le faire avec l'attribut PDO_FETCH_ASSOC, ce qui permettra aux colonnes dans les jeux de résultats d'être marquées avec un nom de colonne, mais on ne pourra pas distinguer les entrées similaires. Alors cela fonctionnera seulement lorsqu'il y aura aucune entrée similaire possible dans les jeux de résultats.

Pour résumer, spécifier un tableau de spécificateurs de colonne lorsqu'il y a une incertitude à propos des colonnes qui pourraient venir de quelle table. Il faut l'omettre seulement lorsque chaque nom des colonnes dans les métadonnées de base de données est unique.

Tous les exemples dans la section d'Exemples utilisent un spécificateur de colonne. Il y a un exemple dans le dossier Scenarios de l'installation qui ne fait pas : il ne fonctionne seulement avec la table employe et parce que il travaille seulement avec une seule table, il ne peut y avoir des noms de colonnes similaires.

Valeurs de retour

Retourne un graphique de données. Spécifiquement, elle retourne un objet racine d'un type spécial. Sous cet objet de racine se trouvera les données du jeu de résultat. L'objet de racine aura une propriété de valeurs multiples contenue avec le même nom que le type racine d'application spécifié dans le constructeur, et la propriété continuera un ou plusieurs objets de donnés du type de racine de l'application.

Dans le cas que la requête aucune données, l'objet spécial de racine pour le type de racine de l'application sera vide.

Erreurs / Exceptions

SDO_DAS_Relational::executeQuery() peut jeter une exception SDO_DAS_Relational_Exception si elle n'est pas capable de construire le graphique de données correctement. Cela peut arriver pour un certains nombres de raisons : par exemple, si elle trouve qu'elle n'a pas de clés primaire dans le jeu de résultats pour tous les objets. Le DAS Relationnel attrape toutes les exceptions de PDO et obtient des informations de diagnostique de PDO qui inclut un SDO_DAS_Relationnal_Exception qui sera alors jeté.

Exemples

Veuillez visitez la section exemples dans la section information générale à propos des DAS Relationnel pour beaucoup d'exemples en appelant cette méthode.

SDO_DAS_Relational::executePreparedQuery
SDO DAS XML
Fonctions SDO-DAS-Relational


Fonctions de Service d'Accès de Données SDO XML

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
  • Fonctions SDO DAS XML
    • SDO_DAS_XML_Document::getRootDataObject — Retourne la racine de SDO_DataObject
    • SDO_DAS_XML_Document::getRootElementName — Retourne le nom de l'élément racine
    • SDO_DAS_XML_Document::getRootElementURI — Retourne la chaîne de caractères URI de l'élément racine
    • SDO_DAS_XML_Document::setEncoding — Fixe l'encodage à l'aide d'une chaîne de caractères
    • SDO_DAS_XML_Document::setXMLDeclaration — Fixe la déclaration xml
    • SDO_DAS_XML_Document::setXMLVersion — Fixe la version xml à l'aide d'une chaîne de caractères
    • SDO_DAS_XML::addTypes — Pour charger un second ou subséquent fichier schéma à un objet SDO_DAS_XML
    • SDO_DAS_XML::create — Pour créer un objet SDO_DAS_XML pour un fichier de schéma donné
    • SDO_DAS_XML::createDataObject — Crée un SDO_DataObject pour un espace de nom URI et un nom de type donnés
    • SDO_DAS_XML::createDocument — Crée un objet de document XML à partir de zéro, sans avoir besoin de charger un document à partir d'un fichier ou d'une chaîne de caractère
    • SDO_DAS_XML::loadFile — Retourne un objet SDO_DAS_XML_Document pour un chemin donné d'une instance de document xml
    • SDO_DAS_XML::loadString — Retourne un SDO_DAS_XML_Document pour une chaîne de caractères d'instance xml donnée
    • SDO_DAS_XML::saveFile — Sauvegarde l'objet SDO_DAS_XML_Document vers un fichier
    • SDO_DAS_XML::saveString — Sauvegarde l'objet SDO_DAS_XML_Document vers une chaîne de caractères
SDO_DAS_Relational::executeQuery
Introduction
Manipulation XML


Introduction

Afin d'utiliser le Service d'Accès de Données XML pour les Objets de Service de Données, vous aurez besoin de comprendre certains concepts derrière le SDO : les graphiques de données, les objets de données, XPath et ses expressions, et ainsi de suite. Si vous n'êtes pas familier avec ces idées, vous devriez jeter un oeil sur la section sur SDO.

Le travail de XML DAS est de déplacer les données entre l'application et un fichier source XML, qui peut être soit un fichier ou une adresse URL. SDO est créé et maintenu en accord avec un modèle qui définit les types des noms et quels noms de propriétés chaque type doit avoir. Pour les données qui proviennent d'un fichier XML, le modèle SDO est construit depuis un fichier de schéma écrit dans un langage XML (un fichier xsd). Ce schéma est habituellement passé à la méthode créée lorsque l'objet XMLDAS est initialisé. La » spécification SDO 2.0 définit le lien entre les types XML et les types SDO. Il y a quelques limitations dans le support PHP - tout ce qui se trouve dans la spécification ne peut pas être fait - et ces limitations sont énumérées dans une section suivante.

SDO DAS XML
Installation/Configuration
SDO DAS XML


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SDO DAS XML


Pré-requis

Le Service d'Accès de Données requiert PHP 5.1.0 ou supérieur. Il est fonctionnel avec l'extension SDO et requiert que SDO soit installée. Voyez les instructions d'installation SDO pour plus de détails sur comment faire cela.

Installation/Configuration
Installation
Installation/Configuration


Installation

Le Service d'Accès de Données et empaqueté et installé avec l'extension SDO. Référez-vous à instructions d'installation SDO.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
SDO DAS XML


Exemples

La plupart des exemples suivants sont basés sur l'exemple de la lettre décrite dans la documentation SDO. Les exemples assument que le Schéma XML pour la lettre est contenu dans un fichier lettre.xsd et que l'instance de la lettre est dans le fichier lettre.xml. Ces deux fichiers sont reproduits ici :

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:letter="http://letterSchema"
  targetNamespace="http://letterSchema">
  <xsd:element name="letters" type="letter:FormLetter"/>
  <xsd:complexType name="FormLetter" mixed="true">
    <xsd:sequence>
      <xsd:element name="date" minOccurs="0" type="xsd:string"/>
      <xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
      <xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

<letter:letters xmlns:letter="http://letterSchema">
  <date>March 1, 2005</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Casy</firstName>
  <lastName>Crocodile</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</letter:letters>

Exemple #1 Chargement, modification et sauvegarde d'un document XML

L'exemple suivant montre comment un document XML peut être chargé provenant d'un fichier, altéré et récrit.

<?php
/**
* Charge, met à jour et sauvegarde un document XML
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $root_data_object = $document->getRootDataObject();
   $root_data_object->date = "September 03, 2004";
   $root_data_object->firstName = "Anantoju";
   $root_data_object->lastName = "Madhu";
   $xmldas->saveFile($document, "letter-out.xml");
   echo "New file has been written:\n";
   print file_get_contents("letter-out.xml");
} catch (SDO_Exception $e) {
   print($e->getMessage());
}
?>

Une instance du XML DAS est la première obtenue de la méthode SDO_DAS_XML::create() qui est une méthode statique de la classe SDO_DAS_XML. L'emplacement du xsd est passé en paramètre. Une fois que nous avons une instance de XML DAS initialisée avec un schéma donné, nous pouvons l'utiliser pour charger l'instance du document en utilisant la méthode loadFile(). Il y a aussi la méthode loadString() si vous voulez charger une instance de document XML provenant d'une chaîne de caractères. Si l'instance du document se charge correctement, un objet de type SDO_DAS_XML_Document sera retourné sur lequel vous pourrez appeler la méthode getRootDataObject() pour obtenir l'objet de données SDO qui est la racine de votre graphique de données SDO. Vous pouvez alors utiliser les opérations SDO pour changer le graphique SDO. Dans cet exemple, nous modifions les propriétés date, prenom et nomFamille. Ensuite, nous utilisons la méthode saveFile() pour écrire les changements dans un fichier système. La méthode saveFile a un argument optionnel qui, s'il est spécifié, fera que le XML DAS va formate le code XML en utilisant cet argument pour indenter chaque changement dans le niveau du document.

Ceci va écrit ce qui suit dans le fichier letter-out.xml.

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <date>September 03, 2004</date>
  Mutual of Omaha
  Wild Kingdom, USA
  Dear
  <firstName>Anantoju</firstName>
  <lastName>Madhu</lastName>
  Please buy more shark repellent.
  Your premium is past due.
</FormLetter>

Exemple #2 Création d'un nouveau document XML

L'exemple précédent charge le document depuis un fichier. Cet exemple montre comment créer un graphique de données SDO en mémoire. Dans cet exemple, il est sauvegardé dans une chaîne XML. En outre, vu que la lettre contient à la fois du contenu structuré et non-structuré, on utilise l'API séquence pour assigner les propriétés pour construire le graphique des données.

<?php
/**
* Création d'un document XML
*/
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   try {
       $doc = $xmldas->createDocument();
       $rdo = $doc->getRootDataObject();
       $seq = $rdo->getSequence();
       $seq->insert("April 09, 2005", NULL, 'date');
       $seq->insert("Acme Inc. ", NULL, NULL);
       $seq->insert("United Kingdom. ");
       $seq->insert("Dear", NULL, NULL);
       $seq->insert("Tarun", NULL, "firstName");
       $seq->insert("Nayaraaa", NULL, "lastName");
       $rdo->lastName = "Nayar";
       $seq->insert("Please note that your order number ");
       $seq->insert(12345);
       $seq->insert(" has been dispatched today. Thanks for your business with us.");
       print($xmldas->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problem creating an XML document: " . $e->getMessage());
}
?>

La méthode createDocument() du XLM DAS retourne un objet document avec une donnée racine simple correspondant à un élément du document vide. Le nom de l'élément du document est connu du fichier de schéma. S'il y a le moindre doute quant à la valeur de l'élément du document, par exemple lorsque plus d'un schéma a été chargé dans le même XML DAS, le nom de l'élément et l'URI de l'espace de noms peuvent être passés à la méthode createDocument().

Ceci affichera (les retours à la ligne ont été insérés pour une meilleure lisibilité) :

<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>April 09, 2005</date>
Acme Inc. United Kingdom.
Dear
<firstName>Tarun</firstName>
<lastName>Nayar</lastName>
Please note that your order number 12345 has been
dispatched today. Thanks for your business with us.
</FormLetter>

Exemple #3 Définition des propriétés du document XML

Ce troisième exemple montre comment définir la version XML ainsi que l'encodage de l'objet document. Ceci sera utilisé lors de l'écriture du document XML. Si aucune déclaration XML n'est désirée (peut-être voulez-vous générer du XML sous la forme d'une chaîne à incorporer quelque part), alors, vous pouvez utiliser la méthode setXMLDeclaration() pour supprimer la déclaration.

<?php
/**
* Illustration des appels qui contrôlent la déclaration XML
*/
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $document->setXMLVersion("1.1");
   $document->setEncoding("ISO-8859-1");
   print($xmldas->saveString($document));
?>

La version et l'encodage du XML sont définis dans la déclaration XML en haut du document XML.

<?xml version="1.1" encoding="ISO-8859-1"?>
.../...

Exemple #4 Utilisation d'un type ouvert

Ce quatrième exemple illustre l'utilisation d'un type ouvert SDO ainsi que l'utilisation de la méthode createDataObject(). Pour cet exemple, nous utilisons les deux schémas suivants :

<schema
  xmlns="http://www.w3.org/2001/XMLSchema">

  <element name="jungle">
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
    </complexType>
  </element>

</schema>

Notez la présence de l'élément any dans la définition. Ce premier schéma définit le type complexe jungle qui contient une séquence de n'importe quel autre type. Les autres types que cet exemple utilise, sont définis dans un second fichier de schéma :

<schema xmlns= "http://www.w3.org/2001/XMLSchema">

   <complexType name="snakeType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "length" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="bearType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "weight" type="positiveInteger" />
     </sequence>
   </complexType>

   <complexType name="pantherType">
     <sequence>
       <element name= "name" type="string"/>
       <element name= "colour" type="string" />
     </sequence>
   </complexType>

</schema>

Voici l'exemple de code PHP qui utilise ces deux fichiers de schéma :

<?php

/**
* Illustration de types ouverts et de l'utilisaton de la méthode addTypes()
*/

$xmldas = SDO_DAS_XML::create();
$xmldas->addTypes("jungle.xsd"); // ceci est un type ouvert, i.e. la xsd spécifiée peut contenir le type "any"
$xmldas->addTypes('animalTypes.xsd');

$baloo            = $xmldas->createDataObject('','bearType');
$baloo->name      = "Baloo";
$baloo->weight    = 800;

$bagheera         = $xmldas->createDataObject('','pantherType');
$bagheera->name   = "Bagheera";
$bagheera->colour = 'inky black';

$kaa              = $xmldas->createDataObject('','snakeType');
$kaa->name        = "Kaa";
$kaa->length      = 25;

$document         = $xmldas->createDocument();
$do               = $document->getRootDataObject();
$do->bear         = $baloo;
$do->panther      = $bagheera;
$do->snake        = $kaa;

print($xmldas->saveString($document,2));

?>

Ces deux fichiers de schéma sont chargés dans le XML DAS avec les méthodes create() et addTypes(). La méthode createDataObject() est utilisée pour créer les trois objets de données. Dans chaque cas, l'URI de l'espace de noms et le nom du type sont passés à la méthode createDataObject() : dans cet exemple, l'URI de l'espace de nom est vide car aucun espace de noms n'est utilisé dans ce schéma. Une fois que les trois objets - représentant un ours, une panthère et un serpent - ont été créés, un objet document est créé avec la méthode createDocument(). Dans ce cas, il n'y a aucune ambiguïté sur l'élément document - vu que le second fichier de schéma définit uniquement des types complexes, l'élément document ne peut être que l'élément global jungle défini dans le premier schéma. Ce document aura un objet racine simple correspondant à un élément document jungle vide. Vu que c'est un type ouvert, les propriétés peuvent y être ajoutées. Lorsque la première assignation est effectuée avec $do->bear, une propriété bear est ajoutée à l'objet racine : de la même façon que pour les deux assignations suivantes. Lorsque le document est écrit via la méthode saveString(), le document résultant sera :

<?xml version="1.0" encoding="UTF-8"?>
<jungle xsi:type="jungle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <bear xsi:type="bearType">
    <name>Baloo</name>
    <weight>800</weight>
  </bear>
  <panther xsi:type="pantherType">
    <name>Bagheera</name>
    <colour>inky black</colour>
  </panther>
  <snake xsi:type="snakeType">
    <name>Kaa</name>
    <length>25</length>
  </snake>
</jungle>

Exemple #5 Trouver ce que vous voulez dans un document

Cet exemple illustre comment trouver un nom d'élément et l'espace de noms d'un élément du document depuis un objet XML Document, le type SDO et l'espace de noms depuis l'élément racine de données XML. Ceci peut être difficile à comprendre, car il y a 4 méthodes à appeler : deux peuvent être exécutées sur l'objet Document, et deux sur n'importe quelle donnée y compris l'objet racine. Parce que les règles qui définissent la façon dont le modèle SDO est dérivé du modèle XML, lorsque l'objet de données concerné est l'objet racine qui représente l'objet document pour le document, seulement trois valeurs possibles peuvent revenir de l'appels des quatre méthodes.

Les deux appels de méthodes qui peuvent être exécutés sur le document sont getRootElementName() et getRootEelementURI(). Elles retournent respectivement le nom de l'élément et l'espace de noms de l'élément document.

Les deux appels de méthodes qui peuvent être exécutés sur tous les objets de données sont getTypeName() et getTypeNamespaceURI(). Elles retournent respectivement le nom du type SDO et l'espace de noms du type de l'objet de données.

Dans tous les cas, l'appel à la méthode getRootElementURI() sur l'objet document retournera la même valeur que l'appel à la méthode getNamespaceURI() sur l'objet racine. Les informations sont toutes dérivées depuis les premières lignes du fichier schéma, où il y a trois sortes distinctes d'informations. Pour illustrer ceci, voici les premières lignes du fichier letter.xsd qui nous avons utilisé plus haut.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:letter="http://letterSchema"
            targetNamespace="http://letterSchema">

  <xsd:element name="letters" type="letter:FormLetter"/>

  <xsd:complexType name="FormLetter" mixed="true">
    .../...

Les trois valeurs importantes sont :

  • letters, le nom de l'élément document

  • FormLetter, le nom du type complexe de l'élément document. C'est également le nom du type SDO de l'objet racine.

  • http://letterSchema, l'espace de noms auquel l'élément document appartient. C'est également l'URI de l'espace de noms du type SDO de l'objet racine.

C'est une partie des règles XML-SDO qui, lorsque le modèle SDO est construit depuis le fichier schéma, sont utilisé pour récupérer le nom du type et l'URI de l'espace de noms des types SDO pour l'élément racine pour les types complexes de l'élément document, lorsqu'ils existent. Dans cet exemple, le nom du type de l'objet racine est FormLetter. Dans le cas où il n'y a pas de définition de type complexe séparé pour l'élément document, lorsque le type est défini en ligne et qu'il est anonyme, le nom du type SDO sera le même que le nom de l'élément.

Le programme suivant charge le document lettre et vérifie les valeurs retournées de chaque des quatre appels.

<?php

$xmldas = SDO_DAS_XML::create("letter.xsd");
$document = $xmldas->loadFile("letter.xml");
$root_do = $document->getRootDataObject();

/**
* Le "root element name" est le nom de l'élément de l'élément document
* dans ce cas 'letters'
* Ceci correspond à l'attribut 'name' de l'élément document dans le fichier xsd et correspond
* au nom de l'élément depuis le XML
*/
echo "Le nom de l'élément document est " . $document->getRootElementName() . "\n";
assert($document->getRootElementName() == 'letters'); // une propriété du document

/**
* Le "root element URI" est l'espace de noms du nom de l'élément de l'élément document
* dans ce cas 'http://letterSchema' vu que 'letters' est dans l'espace de noms.
* Il est récupéré depuis le xsd et correspond à l'espace de noms récupéré du XML
*/
echo "L'élément document est dans l'espace de noms " . $document->getRootElementURI() . "\n";
assert($document->getRootElementURI() == 'http://letterSchema'); // une propriété du document

/**
* Le nom du type est récupéré depuis le modèle SDO
* Les règles XML-SDO utilisées pour cela sont :
*   Le nom du type complexe s'il existe (ici, c'est le cas)
*   Le nom de l'élément document s'il n'y a pas de type complexe
* Il est récupéré depuis le xsd
*/
echo "Le nom du type de l'objet racine est " . $root_do->getTypeName() . "\n";
assert($root_do->getTypeName() == 'FormLetter');

/**
* Le type de l'espace de noms est récupéré depuis le modèle SDO
* Les règles XML-SDO assurent que ce sera toujours le même que l'URI de
* l'espace de noms de l'élément document
*/
echo "L'URI de l'espace de noms de l'objet racine est " . $root_do->getTypeNamespaceURI() . "\n";
assert($root_do->getTypeNamespaceURI() == 'http://letterSchema');

?>

Ce programme affichera :

Le nom de l'élément document est letters
L'élément document est dans l'espace de noms http://letterSchema
Le nom du type de l'objet racine est FormLetter
L'URI de l'espace de noms de l'objet racine est http://letterSchema

Exemple #6 Affichage du modèle SDO

Le XML DAS fournit une signification simple pour voir quels types et propriétés ont été chargés. L'instruction PHP "print" ou "echo" affichera les types et les propriétés.

<?php
/**
* Affichage du modèle
*/

$xmldas = SDO_DAS_XML::create("letter.xsd");
print $xmldas;

?>

L'affichage de ce programme sera :

object(SDO_XML_DAS)#1 {
18 types have been defined. The types and their properties are::
1. commonj.sdo:BigDecimal
2. commonj.sdo:BigInteger
3. commonj.sdo:Boolean
4. commonj.sdo:Byte
5. commonj.sdo:Bytes
6. commonj.sdo:ChangeSummary
7. commonj.sdo:Character
8. commonj.sdo:DataObject
9. commonj.sdo:Date
10. commonj.sdo:Double
11. commonj.sdo:Float
12. commonj.sdo:Integer
13. commonj.sdo:Long
14. commonj.sdo:Short
15. commonj.sdo:String
16. commonj.sdo:URI
17. http://letterSchema:FormLetter
    - date (commonj.sdo:String)
    - firstName (commonj.sdo:String)
    - lastName (commonj.sdo:String)
18. http://letterSchema:RootType
    - letters (http://letterSchema:FormLetter)
Constantes pré-définies
Fonctions SDO DAS XML
SDO DAS XML


Fonctions SDO DAS XML

Classes pré-définies

Le XML DAS fournit deux classes principales. La première est SDO_DAS_XML qui est la classe principale utilisée pour récupérer les données depuis le source XML et utilisée pour écrire les données. La seconde est la classe SDO_DAS_XML_Document qui représente les données du document XML.

Il y a également quelques classes d'exceptions qui peuvent être lancées si des erreurs sont trouvées lors d'une recherche ou de l'analyse du fichier xsd ou du fichier XML.

SDO_DAS_XML

C'est la classe principale de XML DAS, qui est utilisée pour récupérer les données depuis le source XML mais également pour écrire les données.

Méthodes

  • create C'est une méthode statique disponible dans la classe SDO_DAS_XML. Utilisée pour construire l'objet SDO_DAS_XML.

  • addTypes Fonctionne de la même manière que la méthode create() mais utilisée pour ajouter de contenu d'un second fichier schéma dans un XML DAS qui a déjà été créé.

  • createDataObject Peut être utilisée pour construire l'objet de données SDO d'un type donnée.

  • createDocument Peut être utilisée pour construire l'objet Document XML.

  • loadFile Charge une instance XML depuis un fichier. Ce fichier peut être en local ou sur un hôte distant.

  • loadString la même chose que la méthode ci-dessus. Charge l'instance XML qui est disponible sous la forme d'une chaîne de caractères.

  • saveFile sauvegarde l'objet SDO_DAS_XML_Document en tant qu'un fichier XML.

  • saveString sauvegarde l'objet SDO_DAS_XML_Document en tant qu'une chaîne de caractères.

SDO_DAS_XML_Document

Cette classe peut être utilisée pour récupérer le nom et l'espace de noms de l'élément document et pour récupérer l'objet racine du document. De plus, elle peut également être utilisée pour définir la version XML et l'encodage du document de sortie.

Méthodes

  • getRootDataObject récupère l'objet racine DataObject.

  • getRootElementName récupère le nom de l'objet racine DataObject.

  • getRootElementURI récupère l'URI de l'objet racine DataObject.

  • setEncoding définit l'encodage en fonction de la valeur fournie.

  • setXMLDeclaration pour définir/supprimer la déclaration XML.

  • setXMLVersion définit la version XML en fonction de la valeur fournie.

SDO_DAS_XML_ParserException

Est une sous classe de SDO_Exception. Lancée pour toutes les erreurs d'analyse lors du chargement des fichiers xsd/xml.

SDO_DAS_XML_FileException

Est une sous classe de SDO_Exception. Lancée par toutes les méthodes qui chargent des données depuis un fichier, lorsque le fichier ne peut être trouvé.

Limitations avec la spécification SDO 2.0

Les » spécifications SDO 2.0 définissent la concordance entre les types XML et les types SDO. Avec Java SDO, la concordance est implémentée par le XMLHelper. Avec SDO pour PHP, cette concordance est implémentée par les Services d'Accès de Données XML. Le XML DAS implémente la concordance décrite dans les spécifications SDO 2.0 avec les restrictions suivantes :

Types Simples XML

  1. Type Simple avec sdoJava:instanceClass - aucun support PHP fourni

  2. Type simple avec sdoJava:extendedInstanceClass - aucun support PHP fourni

  3. Type Simple avec une liste de itemType.

  4. Type Simple avec union.

Types XML complexes

  1. Type complexe avec sdo:aliasName - aucun support PHP pour ces types d'alias SDO.

Attribut XSD

  1. Attribut avec sdo:aliasName - aucun support PHP pour les alias des propriétés SDO.

  2. Attribut avec une valeur par défaut - aucun support PHP pour les propriétés par défaut SDO.

  3. Attribut avec une valeur fixe - aucun support PHP pour les propriétés SDO en lecture seule ou les valeurs par défaut.

  4. Attribut référençant un DataObject avec sdo:propertyType - aucun support pour sdo:propertyType="...".

  5. Attribut avec des propriétés bidirectionnelles d'un DataObject avec sdo:oppositeProperty et sdo:propertyType - aucun support PHP pour l'opposition SDO.

Éléments XSD

  1. Élément avec sdo:aliasName - aucun support PHP pour les alias de propriétés SDO.

  2. Élément avec un groupe de substitution.

Éléments XSD avec un type simple

  1. Élément de SimpleType avec une valeur par défaut - aucun support PHP pour les valeurs par défaut SDO

  2. Élément de SimpleType avec une valeur fixe - aucun support PHP pour les propriétés en lecture seule SDO ou les valeurs par défaut.

  3. Élément de SimpleType avec sdo:string - aucun support pour sdo:string="true".

  4. Élément référençant un objet DataObject avec sdo:propertyType - aucun support pour sdo:propertyType="..."

  5. Élément avec une référence bidirectionnelle pour un object DataObject avec sdo:oppositeProperty et sdo:propertyType - aucun support PHP pour l'opposition SDO.

Sommaire

  • SDO_DAS_XML_Document::getRootDataObject — Retourne la racine de SDO_DataObject
  • SDO_DAS_XML_Document::getRootElementName — Retourne le nom de l'élément racine
  • SDO_DAS_XML_Document::getRootElementURI — Retourne la chaîne de caractères URI de l'élément racine
  • SDO_DAS_XML_Document::setEncoding — Fixe l'encodage à l'aide d'une chaîne de caractères
  • SDO_DAS_XML_Document::setXMLDeclaration — Fixe la déclaration xml
  • SDO_DAS_XML_Document::setXMLVersion — Fixe la version xml à l'aide d'une chaîne de caractères
  • SDO_DAS_XML::addTypes — Pour charger un second ou subséquent fichier schéma à un objet SDO_DAS_XML
  • SDO_DAS_XML::create — Pour créer un objet SDO_DAS_XML pour un fichier de schéma donné
  • SDO_DAS_XML::createDataObject — Crée un SDO_DataObject pour un espace de nom URI et un nom de type donnés
  • SDO_DAS_XML::createDocument — Crée un objet de document XML à partir de zéro, sans avoir besoin de charger un document à partir d'un fichier ou d'une chaîne de caractère
  • SDO_DAS_XML::loadFile — Retourne un objet SDO_DAS_XML_Document pour un chemin donné d'une instance de document xml
  • SDO_DAS_XML::loadString — Retourne un SDO_DAS_XML_Document pour une chaîne de caractères d'instance xml donnée
  • SDO_DAS_XML::saveFile — Sauvegarde l'objet SDO_DAS_XML_Document vers un fichier
  • SDO_DAS_XML::saveString — Sauvegarde l'objet SDO_DAS_XML_Document vers une chaîne de caractères
Exemples
SDO_DAS_XML_Document::getRootDataObject
SDO DAS XML


Retourne la racine de SDO_DataObject

Fonctions SDO DAS XML
SDO_DAS_XML_Document::getRootElementName
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML_Document::getRootDataObject

(^)

SDO_DAS_XML_Document::getRootDataObject — Retourne la racine de SDO_DataObject

Description

SDO_DataObject SDO_DAS_XML_Document::getRootDataObject ( void )

Retourne la racine de SDO_DataObject.

Liste de paramètres

Valeurs de retour

Retourne la racine de SDO_DataObject.

Fonctions SDO DAS XML
SDO_DAS_XML_Document::getRootElementName
Fonctions SDO DAS XML


Retourne le nom de l'élément racine

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML_Document::getRootElementName

(^)

SDO_DAS_XML_Document::getRootElementName — Retourne le nom de l'élément racine

Description

string SDO_DAS_XML_Document::getRootElementName ( void )

Retourne le nom de l'élément racine.

Liste de paramètres

Valeurs de retour

Retourne le nom de l'élément racine.

SDO_DAS_XML_Document::getRootDataObject
SDO_DAS_XML_Document::getRootElementURI
Fonctions SDO DAS XML


Retourne la chaîne de caractères URI de l'élément racine

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML_Document::getRootElementURI

(^)

SDO_DAS_XML_Document::getRootElementURI — Retourne la chaîne de caractères URI de l'élément racine

Description

string SDO_DAS_XML_Document::getRootElementURI ( void )

Retourne la chaîne de caractères URI de l'élément racine.

Liste de paramètres

Valeurs de retour

Retourne la chaîne de caractères URI de l'élément racine.

SDO_DAS_XML_Document::getRootElementName
SDO_DAS_XML_Document::setEncoding
Fonctions SDO DAS XML


Fixe l'encodage à l'aide d'une chaîne de caractères

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML_Document::setEncoding

(^)

SDO_DAS_XML_Document::setEncoding — Fixe l'encodage à l'aide d'une chaîne de caractères

Description

void SDO_DAS_XML_Document::setEncoding ( string $encoding )

Fixe l'encodage à l'aide d'une chaîne de caractères.

Liste de paramètres

encoding

Chaîne de caractères d'encodage.

Valeurs de retour

Aucune.

SDO_DAS_XML_Document::getRootElementURI
SDO_DAS_XML_Document::setXMLDeclaration
Fonctions SDO DAS XML


Fixe la déclaration xml

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML_Document::setXMLDeclaration

(^)

SDO_DAS_XML_Document::setXMLDeclaration — Fixe la déclaration xml

Description

void SDO_DAS_XML_Document::setXMLDeclaration ( bool $xmlDeclatation )

Contrôle si une déclaration XML sera générée au début du document XML. Fixez à TRUE pour générer la déclaration XML ou à FALSE pour la supprimer.

Liste de paramètres

xmlDeclatation

Valeur booléenne pour fixer la déclaration XML.

Valeurs de retour

Aucune.

SDO_DAS_XML_Document::setEncoding
SDO_DAS_XML_Document::setXMLVersion
Fonctions SDO DAS XML


Fixe la version xml à l'aide d'une chaîne de caractères

SDO_DAS_XML_Document::setXMLDeclaration
SDO_DAS_XML::addTypes
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML_Document::setXMLVersion

(^)

SDO_DAS_XML_Document::setXMLVersion — Fixe la version xml à l'aide d'une chaîne de caractères

Description

void SDO_DAS_XML_Document::setXMLVersion ( string $xmlVersion )

Fixe la version xml à l'aide d'une chaîne de caractères.

Liste de paramètres

xmlVersion

Version xml en chaîne de caractères.

Valeurs de retour

Aucune.

SDO_DAS_XML_Document::setXMLDeclaration
SDO_DAS_XML::addTypes
Fonctions SDO DAS XML


Pour charger un second ou subséquent fichier schéma à un objet SDO_DAS_XML

SDO_DAS_XML_Document::setXMLVersion
SDO_DAS_XML::create
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::addTypes

(^)

SDO_DAS_XML::addTypes — Pour charger un second ou subséquent fichier schéma à un objet SDO_DAS_XML

Description

void SDO_DAS_XML::addTypes ( string $xsd_file )

Charge un second ou subséquent fichier schéma à un XML DAS qui est déjà créé avec la méthode statique create(). Bien que le fichier puisse être n'importe quel fichier de schéma valide, une raison pour laquelle utiliser cette méthode est commode est que pour ajouter un fichier schéma contenant les définitions de types très complexe, par conséquent, le nom. Voyez l'exemple 4 du document parent pour un exemple.

Liste de paramètres

xsd_file

Chemin du Fichier Schéma XSD.

Valeurs de retour

Aucune si réussite, autrement émet une exception comme décrite ci-dessous.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émis si un type n'est pas défini dans le modèle sous-jacent.

SDO_DAS_XML_ParserException

Émis pour n'importe quels problèmes lors de l'analyse du fichier XSD donné.

SDO_DAS_XML_FileException

Émis si le fichier spécifié ne peut être trouvé.

SDO_DAS_XML_Document::setXMLVersion
SDO_DAS_XML::create
Fonctions SDO DAS XML


Pour créer un objet SDO_DAS_XML pour un fichier de schéma donné

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::create

(^)

SDO_DAS_XML::create — Pour créer un objet SDO_DAS_XML pour un fichier de schéma donné

Description

SDO_DAS_XML SDO_DAS_XML::create ([ mixed $xsd_file [, string $key ]] )

Ceci est la seule méthode statique pour la classe SDO_DAS_XML. Utilisée pour instancier l'objet SDO_DAS_XML.

Liste de paramètres

xsd_file

Emplacement du fichier de Schéma XSD. Ceci est optionnel. S'il est omis, un DAS sera créé qui a seulement les types de base SDO de défini. Les fichiers de schéma peuvent être alors chargés avec la méthode addTypes().

key

Valeurs de retour

Retourne un objet SDO_DAS_XML en cas de succès ou autrement elle émet une exception comme décrite ci-dessous.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émis si un type n'est pas défini dans le modèle sous-jacent.

SDO_DAS_XML_ParserException

Émis pour n'importe quels problèmes lors de l'analyse du fichier XSD donné.

SDO_DAS_XML_FileException

Émis si le fichier spécifié ne peut être trouvé.

SDO_DAS_XML::addTypes
SDO_DAS_XML::createDataObject
Fonctions SDO DAS XML


Crée un SDO_DataObject pour un espace de nom URI et un nom de type donnés

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::createDataObject

(^)

SDO_DAS_XML::createDataObject — Crée un SDO_DataObject pour un espace de nom URI et un nom de type donnés

Description

SDO_DataObject SDO_DAS_XML::createDataObject ( string $namespace_uri , string $type_name )

Crée un SDO_DataObject pou un espace de nom URI et un nom de type donnés. Le type devrait être défini dans le modèle sous-jacent autrement SDO_TypeNotFoundException sera émis.

Liste de paramètres

namespace_uri

L'espace de nom URI du nom de type.

type_name

Nom de type.

Valeurs de retour

Retourne un SDO_DataObject en cas succès.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émis si un type n'est pas défini dans le modèle sous-jacent.

SDO_DAS_XML::create
SDO_DAS_XML::createDocument
Fonctions SDO DAS XML


Crée un objet de document XML à partir de zéro, sans avoir besoin de charger un document à partir d'un fichier ou d'une chaîne de caractère

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::createDocument

(^)

SDO_DAS_XML::createDocument — Crée un objet de document XML à partir de zéro, sans avoir besoin de charger un document à partir d'un fichier ou d'une chaîne de caractère

Description

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ([ string $document_element_name ] )
SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( string $document_element_namespace_URI , string $document_element_name [, SDO_DataObject $dataobject ] )

Crée un objet de document XML. Ceci contiendra seulement un seul élément racine vide dans lequel aucune propriété ne sera fixée. Le but de cet appel est d'autoriser une application de créer un document XML à partir de zéro sans avoir besoin de charger un document à partir d'un fichier ou d'une chaîne de caractères. Le document qui est créé sera comme un document qui aurait été chargé qui contient seulement un seul élément vide avec aucun jeu d'attribut ou d'élément à l'intérieur.

createDocument() peut avoir besoin de savoir quel élément de document il sera. Ceci ne sera pas nécessaire dans les cas simples. Lorsqu'il n'y a pas d'ambiguïté, alors aucun paramètre n'est nécessaire. Cependant, il est possible de charger plus d'un fichier schéma dans le même XML DAS et dans ce cas, il pourrait y avoir plus d'un élément de document possible de défini : de plus, il est même possible qu'il y ait deux éléments de document possibles qui diffèrent seulement avec le espace de nom. Pour pallier à ce problème dans ces cas, il est possible de spécifier soit le nom de l'élément du document ou le nom et l'espace de nom de l'élément du document à la méthode.

Liste de paramètres

document_element_name

Le nom de l'élément du document. Seulement nécessaire s'il y a plus d'une seule possibilité.

document_element_namespace_URI

L'espace de nom qui fait parti du nom de l'élément du document. Seulement nécessaire s'il y a plus d'un élément de document possible avec le même nom.

dataobject

Valeurs de retour

Retourne un objet SDO_DAS_XML_Document en cas de réussite.

Erreurs / Exceptions

SDO_UnsupportedOperationException

Émis si un nom de l'élément ou le nom de l'élément et l'espace de nom URI est passé, mais qu'ils ne sont pas trouvé dans le modèle sous-jacent.

SDO_DAS_XML::createDataObject
SDO_DAS_XML::loadFile
Fonctions SDO DAS XML


Retourne un objet SDO_DAS_XML_Document pour un chemin donné d'une instance de document xml

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::loadFile

(^)

SDO_DAS_XML::loadFile — Retourne un objet SDO_DAS_XML_Document pour un chemin donné d'une instance de document xml

Description

SDO_XMLDocument SDO_DAS_XML::loadFile ( string $xml_file )

Construit un arbre de SDO_DataObjects à partir de l'adresse donnée d'une instance de document xml. Retourne un Objet SDO_DAS_XML_Document. Utilisez la méthode SDO_DAS_XML_Document::getRootDataObject pour récupérer l'objet de données racine.

Liste de paramètres

xml_file

Chemin du document d'instance. Cela peut être un chemin à un fichier local ou à une adresse URL.

Valeurs de retour

Retourne un objet SDO_DAS_XML_Document en cas de réussite ou émet une exception comme définie ci-dessous.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émis si un type n'est pas défini dans le modèle sous-jacent.

SDO_PropertyNotFoundException

Émis si une propriété dans un type n'est pas défini dans le modèle sous-jacent.

SDO_DAS_XML_ParserException

Émis pour n'importe quels problèmes lors de l'analyse du fichier XSD donné.

SDO_DAS_XML_FileException

Émis si le fichier spécifié ne peut être trouvé.

SDO_DAS_XML::createDocument
SDO_DAS_XML::loadString
Fonctions SDO DAS XML


Retourne un SDO_DAS_XML_Document pour une chaîne de caractères d'instance xml donnée

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::loadString

(^)

SDO_DAS_XML::loadString — Retourne un SDO_DAS_XML_Document pour une chaîne de caractères d'instance xml donnée

Description

SDO_DAS_XML_Document SDO_DAS_XML::loadString ( string $xml_string )

Construit un arbre de SDO_DataObjects à partir d'une chaîne de caractères d'instance xml donnée. Retourne un Objet SDO_DAS_XML_Document. Utilisez la méthode SDO_DAS_XML_Document::getRootDataObject pour récupérer l'objet de données racine.

Liste de paramètres

xml_string

Chaînes de caractères xml.

Valeurs de retour

Retourne un objet SDO_DAS_XML_Document en cas de réussite ou émet une exception comme définie ci-dessous.

Erreurs / Exceptions

SDO_TypeNotFoundException

Émis si un type n'est pas défini dans le modèle sous-jacent.

SDO_PropertyNotFoundException

Émis si une propriété dans un type n'est pas défini dans le modèle sous-jacent.

SDO_DAS_XML_ParserException

Émis pour n'importe quels problèmes lors de l'analyse du fichier XSD donné.

SDO_DAS_XML::loadFile
SDO_DAS_XML::saveFile
Fonctions SDO DAS XML


Sauvegarde l'objet SDO_DAS_XML_Document vers un fichier

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::saveFile

(^)

SDO_DAS_XML::saveFile — Sauvegarde l'objet SDO_DAS_XML_Document vers un fichier

Description

void SDO_DAS_XML::saveFile ( SDO_XMLDocument $xdoc , string $xml_file [, int $indent ] )

Sauvegarde l'objet SDO_DAS_XML_Document vers un fichier.

Liste de paramètres

xdoc

Objet SDO_DAS_XML_Document.

xml_file

Fichier xml.

indent

Argument optionnel pour spécifier si le fichier xml devrait être formaté. Un entier non négatif est le montant d'indentation de chaque niveau du xml. Alors, un entier 2 par exemple, indentera le code XML de manière à ce que chaque élément contenu soit de deux espaces plus loin vers la droite que l'élément parent. L'entier 0 causera le fichier xml à être complètement aligné sur la gauche. Un entier -1 signifie aucun formatage - le fichier xml sera sur une longue ligne.

Valeurs de retour

Aucun.

Erreurs / Exceptions

SDO_DAS_XML_FileException

Émis si le fichier spécifié ne peut être trouvé.

SDO_DAS_XML::loadString
SDO_DAS_XML::saveString
Fonctions SDO DAS XML


Sauvegarde l'objet SDO_DAS_XML_Document vers une chaîne de caractères

SDO_DAS_XML::saveFile
SimpleXML
Fonctions SDO DAS XML
PHP Manual

SDO_DAS_XML::saveString

(^)

SDO_DAS_XML::saveString — Sauvegarde l'objet SDO_DAS_XML_Document vers une chaîne de caractères

Description

string SDO_DAS_XML::saveString ( SDO_XMLDocument $xdoc [, int $indent ] )

Sauvegarde l'objet SDO_DAS_XML_Document vers une chaîne de caractères

Liste de paramètres

xdoc

Objet SDO_DAS_XML_Document.

indent

Argument optionnel pour spécifier si le fichier xml devrait être formaté. Un entier non négatif est le montant d'indentation de chaque niveau du xml. Alors, un entier 2 par exemple, indentera le xml de manière à ce que chaque élément contenu soit de deux espaces plus loin vers la droite que l'élément parent. L'entier 0 causera le fichier xml à être complètement aligné sur la gauche. Un entier -1 signifie aucun formatage - le fichier xml sera sur une longue ligne.

Valeurs de retour

Chaîne de caractères xml.

SDO_DAS_XML::saveFile
SimpleXML
Fonctions SDO DAS XML


SimpleXML

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Utilisation de base
    • Traitement des erreurs XML
  • SimpleXMLElement — La classe SimpleXMLElement
    • SimpleXMLElement::addAttribute — Ajoute un attribut à l'élément SimpleXML
    • SimpleXMLElement::addChild — Ajoute un élément enfant au noeud XML
    • SimpleXMLElement::asXML — Retourne une chaîne XML basée sur un élément SimpleXML
    • SimpleXMLElement::attributes — Identifie les attributs d'un élément
    • SimpleXMLElement::children — Cherche les fils d'un noeud donné
    • SimpleXMLElement::__construct — Crée un nouvel objet SimpleXMLElement
    • SimpleXMLElement::count — Compte le nombre de fils pour un élément
    • SimpleXMLElement::getDocNamespaces — Retourne les espaces de noms déclarés dans un document
    • SimpleXMLElement::getName — Récupère le nom d'un élément XML
    • SimpleXMLElement::getNamespaces — Retourne les espaces de noms utilisés dans un document
    • SimpleXMLElement::registerXPathNamespace — Crée un contexte préfixe/ns pour la prochaine requête XPath
    • SimpleXMLElement::xpath — Exécute une requête Xpath sur des données XML
  • Fonctions SimpleXML
    • simplexml_import_dom — Construit un objet SimpleXMLElement à partir d'un objet DOM
    • simplexml_load_file — Convertit un fichier XML en objet
    • simplexml_load_string — Convertit une chaîne XML en objet
SDO_DAS_XML::saveString
Introduction
Manipulation XML


Introduction

L'extension SimpleXML fournit des outils très simples et faciles à utiliser pour convertir du XML en un objet qui peut être manipulé avec ses propriétés et les itérateurs de tableaux.

SimpleXML
Installation/Configuration
SimpleXML


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
SimpleXML


Pré-requis

L'extension SimpleXML requiert PHP 5.

Installation/Configuration
Installation
Installation/Configuration


Installation

L'extension SimpleXML est activé par défaut. Pour la désactiver, utilisez l'option de configuration --disable-simplexml.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
SimpleXML


Exemples

Sommaire

  • Utilisation de base
  • Traitement des erreurs XML
Constantes pré-définies
Utilisation de base
SimpleXML


Utilisation de base

Plusieurs exemples de ce chapitre requièrent une chaîne XML. Plutôt que de la répéter à chaque exemple, nous allons la placer dans un fichier que nous inclurons dans chacun d'entre eux. Le contenu de ce fichier est illustré par l'exemple qui suit. Autrement, vous pouvez créer un document XML et le lire avec simplexml_load_file().

Exemple #1 Fichier avec une chaîne XML qui sera inclus partout

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

La simplicité de SimpleXML apparaît plus clairement lorsqu'on essaye d'extraire une chaîne ou un nombre d'un document XML basique.

Exemple #2 Lecture de <plot>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie[0]->plot; // "So this language. It's like..."
?>

L'accès aux éléments d'un document XML qui contient des caractères non permis par rapport à la convention de nommage de PHP (e.g. les mots clés) est possible en encapsulant le nom de l'élément entre crochets et apostrophes.

Exemple #3 Récupération de <line>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie->{'great-lines'}->line; // "PHP solves all my web problems"
?>

Exemple #4 Accéder à un élément non-unique avec SimpleXML

Lorsque plusieurs instances d'un élément existent en tant que fils d'un élément père unique, les techniques normales d'itération peuvent être appliquées.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* Pour chaque <movie>, nous affichons un <plot>. */
foreach ($xml->movie as $movie) {
   echo $movie->plot, '<br />';
}

?>

Note: Les propriétés ($xml->movie dans notre précédent exemple) ne sont pas des tableaux. Ceux sont des objets itérables et accessibles.

Exemple #5 Utilisation des attributs

Jusque là, nous n'avons couvert que la lecture des noms d'éléments et leurs valeurs. SimpleXML peut aussi atteindre leurs attributs. L'accès aux attributs d'un élément se fait de la même façon que l'accès aux éléments d'un tableau.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* Accès au node <rating> du premier <movie>.
 * Affichage des attributs de <rating> également. */
foreach ($xml->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Récupération des attributs comme indices d'éléments
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }
}
?>

Exemple #6 Comparaison des éléments et des attributs avec du texte

Pour comparer un élément ou un attribut avec une chaîne de caractères ou pour le passer à une fonction qui nécessite une chaîne de caractères, vous devez le transtyper en une chaîne en utilisant (string). Sinon, PHP traitera l'élément comme un objet.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

if ((string) $xml->movie->title == 'PHP: Behind the Parser') {
    print 'My favorite movie.';
}

htmlentities((string) $xml->movie->title);
?>

Exemple #7 Comparaison de 2 éléments

Deux objets SimpleXMLElement sont considérés comme différents même s'ils pointent vers le même élément, depuis PHP 5.2.0.

<?php
$el1 = new SimpleXMLElement($xmlstr);
$el2 = new SimpleXMLElement($xmlstr);
var_dump($el1 == $el2); // retourne false depuis PHP 5.2.0
?>

Exemple #8 Utilisation de XPath

SimpleXML inclut le support embarqué de XPath. Pour trouver tous les éléments <character> :

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->xpath('//character') as $character) {
    echo $character->name, 'played by ', $character->actor, '<br />';
}
?>

'//' sert de joker. Pour spécifier un chemin absolu, enlevez un slash.

Exemple #9 Attribuer des valeurs

Les données dans SimpleXML n'ont pas à être constantes. L'objet permet la manipulation de tous ces éléments.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
?>

L'exemple précédent affichera un nouveau document XML, tout comme l'original mise à part que le nouveau document XML définit Ms. Coder à Miss Coder.

Exemple #10 Ajout d'éléments et d'attributs

Depuis PHP 5.1.3, SimpleXML est capable d'ajouter facilement des enfants et des attributs.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$character = $xml->movie[0]->characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $xml->movie[0]->addChild('rating', 'PG');
$rating->addAttribute('type', 'mpaa');

echo $xml->asXML();
?>

Le code ci-dessus sortira un document XML basé sur l'original mais ayant un nouveau personnage et résultat.

Exemple #11 Interopérabilité DOM

PHP possède un mécanisme pour convertir les noeuds XML entre les formats SimpleXML et DOM. Cet exemple montre comment changer un élément DOM en SimpleXML.

<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
     echo 'Erreur lors de l'analyse du document';
     exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

Exemples
Traitement des erreurs XML
Exemples


Traitement des erreurs XML

Le traitement des erreurs XML lors du chargement d'un document est une tâche simple. En utilisant les fonctionnalités libxml, il est possible de supprimer toutes les erreurs XML lors du chargement d'un document, puis, de les parcourir.

L'objet libXMLError, retourné par la fonction libxml_get_errors(), contient plusieurs propriétés dont le message, la ligne et la colonne (position) de l'erreur.

Exemple #1 Chargement de chaînes XML cassées

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if (!$sxe) {
    echo "Erreur lors du chargement du XML\n";
    foreach(libxml_get_errors() as $error) {
        echo "\t", $error->message;
    }
}

L'exemple ci-dessus va afficher :

Erreur lors du chargement du XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

Voir aussi

  • libxml_use_internal_errors()
  • libxml_get_errors()
  • libXMLError

Utilisation de base
SimpleXMLElement
Exemples


La classe SimpleXMLElement

Introduction

Représente un élément du document XML.

Synopsis de la classe

SimpleXMLElement
SimpleXMLElement {
/* Méthodes */
void addAttribute ( string $name , string $value [, string $namespace ] )
SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )
mixed asXML ([ string $filename ] )
SimpleXMLElement attributes ([ string $ns [, bool $is_prefix ]] )
SimpleXMLElement children ([ string $ns [, bool $is_prefix = false ]] )
integer count ( void )
array getDocNamespaces ([ bool $recursive ] )
string getName ( void )
array getNamespaces ([ bool $recursive ] )
bool registerXPathNamespace ( string $prefix , string $ns )
array xpath ( string $path )
}

Sommaire

  • SimpleXMLElement::addAttribute — Ajoute un attribut à l'élément SimpleXML
  • SimpleXMLElement::addChild — Ajoute un élément enfant au noeud XML
  • SimpleXMLElement::asXML — Retourne une chaîne XML basée sur un élément SimpleXML
  • SimpleXMLElement::attributes — Identifie les attributs d'un élément
  • SimpleXMLElement::children — Cherche les fils d'un noeud donné
  • SimpleXMLElement::__construct — Crée un nouvel objet SimpleXMLElement
  • SimpleXMLElement::count — Compte le nombre de fils pour un élément
  • SimpleXMLElement::getDocNamespaces — Retourne les espaces de noms déclarés dans un document
  • SimpleXMLElement::getName — Récupère le nom d'un élément XML
  • SimpleXMLElement::getNamespaces — Retourne les espaces de noms utilisés dans un document
  • SimpleXMLElement::registerXPathNamespace — Crée un contexte préfixe/ns pour la prochaine requête XPath
  • SimpleXMLElement::xpath — Exécute une requête Xpath sur des données XML
Traitement des erreurs XML
SimpleXMLElement::addAttribute
SimpleXML


Ajoute un attribut à l'élément SimpleXML

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement
PHP Manual

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3)

SimpleXMLElement::addAttribute — Ajoute un attribut à l'élément SimpleXML

Description

SimpleXMLElement
void addAttribute ( string $name , string $value [, string $namespace ] )

Ajoute un attribut à l'élément SimpleXML.

Liste de paramètres

name

Le nom de l'attribut à ajouter.

value

La valeur de l'attribut.

namespace

Si spécifié, l'espace de nom auquel l'attribut appartient.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Ajoute des attributs et enfants à un élément SimpleXML

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Voir aussi

  • SimpleXMLElement::addChild - Ajoute un élément enfant au noeud XML

SimpleXMLElement
SimpleXMLElement::addChild
SimpleXMLElement


Ajoute un élément enfant au noeud XML

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3)

SimpleXMLElement::addChild — Ajoute un élément enfant au noeud XML

Description

SimpleXMLElement
SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )

Ajoute un élément enfant au noeud et retourne un SimpleXMLElement de l'enfant.

Liste de paramètres

name

Le nom de l'élément enfant à ajouter.

value

Si spécifié, la valeur de l'élément enfant.

namespace

Si spécifié, l'espace de nom auquel l'élément enfant appartient.

Valeurs de retour

La méthode addChild retourne un objet SimpleXMLElement représentant l'enfant à ajouter au noeud XML.

Exemples

Exemple #1 Ajoute des attributs et des enfants à un élément SimpleXML

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Voir aussi

  • SimpleXMLElement::addAttribute - Ajoute un attribut à l'élément SimpleXML

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXMLElement


Retourne une chaîne XML basée sur un élément SimpleXML

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement
PHP Manual

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

SimpleXMLElement::asXML — Retourne une chaîne XML basée sur un élément SimpleXML

Description

SimpleXMLElement
mixed asXML ([ string $filename ] )

Formate les données de l'objet parent en XML 1.0.

Liste de paramètres

filename

Si spécifié, la fonction écrit les données au fichier au lieu de les retourner.

Valeurs de retour

Si le paramètre filename n'est pas spécifié, la fonction retourne une chaîne de caractères en cas de succès et FALSE en cas d'erreur. Si le paramètre est spécifié, elle retourne TRUE si le fichier a été écrit correctement et FALSE autrement.

Exemples

Exemple #1 Obtenir du XML avec SimpleXML

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>stuff</c> ...

?>

SimpleXMLElement::asXML() fonctionne aussi avec les résultats Xpath :

Exemple #2 Utilisation de SimpleXMLElement::asXML() avec les résultats de SimpleXMLElement::xpath()

<?php
// Suite de l'exemple plus haut.

/* On cherche <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML(); // <c>text</c> et <c>stuff</c>
}
?>

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXMLElement


Identifie les attributs d'un élément

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement
PHP Manual

SimpleXMLElement::attributes

(PHP 5 >= 5.0.1)

SimpleXMLElement::attributes — Identifie les attributs d'un élément

Description

SimpleXMLElement
SimpleXMLElement attributes ([ string $ns [, bool $is_prefix ]] )

Fournit les attributs et les valeurs définies dans une balise XML.

Note: SimpleXML ajoute des propriétés itératives pour presque toutes ses méthodes. Celles-ci ne peuvent être vues en utilisant var_dump() ou tout autre fonction qui examine les objets.

Liste de paramètres

ns

Un espace de noms optionnel pour les attributs récupérés

is_prefix

Par défaut, vaut FALSE

Valeurs de retour

Exemples

Exemple #1 Interprétation d'une chaîne XML

<?php
$string = <<<XML
<a>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

L'exemple ci-dessus va afficher :

name="one"
game="lonely"

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXMLElement


Cherche les fils d'un noeud donné

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement
PHP Manual

SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::children — Cherche les fils d'un noeud donné

Description

SimpleXMLElement
SimpleXMLElement children ([ string $ns [, bool $is_prefix = false ]] )

Cette méthode cherche les fils d'un élément. Le résultat suit les règles de l'itération normale.

Note: SimpleXML ajoute des propriétés itératives pour presque toutes ses méthodes. Celles-ci ne peuvent être vues en utilisant var_dump() ou tout autre fonction qui examine les objets.

Liste de paramètres

ns

Un espace de noms XML.

is_prefix

Si is_prefix vaut TRUE, ns sera considéré comme un préfixe. S'il vaut FALSE, ns sera considéré comme une URL vers un espace de noms.

Valeurs de retour

Retourne un élément SimpleXMLElement que le noeud possède un fils ou pas.

Historique

Version | Description
5.2.0 | Le paramètre optionnel is_prefix a été ajouté.

Exemples

Exemple #1 Parcours d'un pseudo-tableau children()

<?php
$xml = new SimpleXMLElement(
'<person>
 <child role="son">
  <child role="daughter"/>
 </child>
 <child role="daughter">
  <child role="son">
   <child role="son"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' The person begot a ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' who begot a ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' and that ' . $third_gen['role'] .
                ' begot a ' . $fourth_gen['role'];
        }
    }
}
?>

L'exemple ci-dessus va afficher :

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

Exemple #2 Utilisation des espaces de noms

<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>
int(0)
int(2)
int(2)
int(0)
int(1)

Notes

SimpleXMLElement::children retourne un noeud, peu importe si le noeud courant a un fils ou non. Utilisez la fonction count() sur le résultat pour vérifier si des fils existent. SimpleXMLElement::count peut aussi être utilisée à cet effet à partir de PHP 5.3.0.

Voir aussi

  • SimpleXMLElement::count - Compte le nombre de fils pour un élément
  • count() - Compte tous les éléments d'un tableau ou le nombre de propriétés d'un objet

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXMLElement


Crée un nouvel objet SimpleXMLElement

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement
PHP Manual

SimpleXMLElement::__construct

(PHP 5 >= 5.0.1)

SimpleXMLElement::__construct — Crée un nouvel objet SimpleXMLElement

Description

SimpleXMLElement
__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )

Crée un nouvel objet SimpleXMLElement.

Liste de paramètres

data

Une chaîne de caractères XML bien formée ou le chemin d'accès ou un URL pointant à un document XML si data_is_url vaut TRUE.

options

Optionnellement utilisé pour spécifier des paramètres Libxml additionnels.

data_is_url

Par défaut, data_is_url vaut FALSE. Utilisez TRUE pour spécifier que le paramètres data est un chemin d'accès ou un URL pointant à un document XML au lieu d'une chaîne de caractères de données.

ns

is_prefix

Valeurs de retour

Retourne un objet SimpleXMLElement représentant les données data.

Erreurs / Exceptions

Produit un message d'erreur de type E_WARNING pour chaque erreur trouvée dans les données XML et lance une exception si des erreurs sont détectées.

Astuce

Utilisez la fonction libxml_use_internal_errors() pour supprimer toutes les erreurs XML et la fonction libxml_get_errors() pour les parcourir.

Exemples

Exemple #1 Crée un objet SimpleXMLElement

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

Exemple #2 Crée un objet SimpleXMLElement à partir d'un URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Voir aussi

  • simplexml_load_string() - Convertit une chaîne XML en objet
  • simplexml_load_file() - Convertit un fichier XML en objet
  • Traitement des erreurs XML
  • libxml_use_internal_errors() - Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure

SimpleXMLElement::children
SimpleXMLElement::count
SimpleXMLElement


Compte le nombre de fils pour un élément

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::count

(PHP 5 >= 5.3.0)

SimpleXMLElement::count — Compte le nombre de fils pour un élément

Description

integer SimpleXMLElement::count ( void )

Cette méthode compte le nombre de fils d'un élément.

Valeurs de retour

Retourne le nombre de fils d'un élément.

Exemples

Exemple #1 Comptage du nombre de fils

<?php
$xml = <<<EOF
<people>
 <person name="Person 1">
  <child/>
  <child/>
  <child/>
 </person>
 <person name="Person 2">
  <child/>
  <child/>
  <child/>
  <child/>
  <child/>
 </person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach ($elem as $person) {
    printf("%s has got %d children.\n", $person['name'], $person->count());
}
?>

L'exemple ci-dessus va afficher :

Person 1 has got 3 children.
Person 2 has got 5 children.

Voir aussi

  • SimpleXMLElement::children - Cherche les fils d'un noeud donné

SimpleXMLElement::__construct
SimpleXMLElement::getDocNamespaces
SimpleXMLElement


Retourne les espaces de noms déclarés dans un document

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement
PHP Manual

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces — Retourne les espaces de noms déclarés dans un document

Description

SimpleXMLElement
array getDocNamespaces ([ bool $recursive ] )

Retourne les espaces de noms déclarés dans un document.

Liste de paramètres

recursive

Si spécifié, retourne tous les espaces de noms déclarés dans les noeuds parents et enfants. Sinon, retourne uniquement les espaces de noms déclarés dans le noeud racine.

Valeurs de retour

La méthode getDocNamespaces retourne un tableau d'espaces de noms avec leurs URL associées.

Exemples

Exemple #1 Récupère les espaces de noms du document

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

Exemple #2 Travail avec plusieurs espaces de noms

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person t:id="1">John Doe</p:person>
    <p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

Voir aussi

  • SimpleXMLElement::getNamespaces - Retourne les espaces de noms utilisés dans un document
  • SimpleXMLElement::registerXPathNamespace - Crée un contexte préfixe/ns pour la prochaine requête XPath

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement


Récupère le nom d'un élément XML

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement
PHP Manual

SimpleXMLElement::getName

(PHP 5 >= 5.1.3)

SimpleXMLElement::getName — Récupère le nom d'un élément XML

Description

SimpleXMLElement
string getName ( void )

Récupère le nom d'un élément XML.

Valeurs de retour

La méthode getName retourne un nom sous la forme de chaîne de caractères d'une balise XML référencé par l'objet SimpleXMLElement.

Exemples

Exemple #1 Récupère les noms des éléments XML

<?php

$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXMLElement


Retourne les espaces de noms utilisés dans un document

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement
PHP Manual

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getNamespaces — Retourne les espaces de noms utilisés dans un document

Description

SimpleXMLElement
array getNamespaces ([ bool $recursive ] )

Retourne les espaces de noms utilisés dans un document.

Liste de paramètres

recursive

Si spécifié, retourne tous les espaces de noms utilisés dans les noeuds parents et enfants. Sinon, retourne uniquement les espaces de noms utilisés dans le noeud racine.

Valeurs de retour

La méthode getNamespaces retourne un tableau d'espaces de noms avec leurs URL associés.

Exemples

Exemple #1 Récupère les espaces de noms utilisés dans un document

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

L'exemple ci-dessus va afficher :

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Voir aussi

  • SimpleXMLElement::getDocNamespaces - Retourne les espaces de noms déclarés dans un document
  • SimpleXMLElement::registerXPathNamespace - Crée un contexte préfixe/ns pour la prochaine requête XPath

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXMLElement


Crée un contexte préfixe/ns pour la prochaine requête XPath

SimpleXMLElement::getNamespaces
SimpleXMLElement::xpath
SimpleXMLElement
PHP Manual

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.2.0)

SimpleXMLElement::registerXPathNamespace — Crée un contexte préfixe/ns pour la prochaine requête XPath

Description

SimpleXMLElement
bool registerXPathNamespace ( string $prefix , string $ns )

Crée un contexte préfixe/ns pour la prochaine requête XPath. En particulier, ceci est utile si le fournisseur du document XML donné modifie les préfixes d'espace de nom. registerXPathNamespace créera un préfixe pour l'espace de nom associé, autorisant l'accès aux noeuds dans cet espace de nom sans avoir besoin de changer le code pour autoriser les nouveaux préfixes dictés par le fournisseur.

Liste de paramètres

prefix

Le préfixe d'espace de nom à utiliser dans la requête XPath pour l'espace de nom donnée dans ns.

ns

L'espace de nom à utiliser pour la requête XPath. Ceci doit concorder avec un espace de nom qui est utilisé par le document XML, sinon la requête XPath qui utilise prefix ne retournera aucun résultat.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Fixe un préfixe d'espace de nom pour utiliser dans une requête XPath

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>My Book</title>
    <chapter id="1">
        <chap:title>Chapter 1</chap:title>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:title>Chapter 2</chap:title>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
  echo $title . "\n";
}

?>

Notez comment le document XML montré dans cet exemple fixe un espace de nom avec le préfixe chap. Imaginez que ce document (ou un autre similaire) puisse avoir utilisé un préfixe c dans le passé pour le même espace de nom. Puisqu'il a changé, la requête XPath ne retournerait plus les résultats appropriés et la requête devrait être modifiée. L'utilisation de registerXPathNamespace évite les modifications futures de la requête même si le fournisseur change le préfixe d'espace de nom.

Voir aussi

  • SimpleXMLElement::getDocNamespaces - Retourne les espaces de noms déclarés dans un document
  • SimpleXMLElement::getNamespaces - Retourne les espaces de noms utilisés dans un document

SimpleXMLElement::getNamespaces
SimpleXMLElement::xpath
SimpleXMLElement


Exécute une requête Xpath sur des données XML

SimpleXMLElement::registerXPathNamespace
Fonctions SimpleXML
SimpleXMLElement
PHP Manual

SimpleXMLElement::xpath

(PHP 5 >= 5.2.0)

SimpleXMLElement::xpath — Exécute une requête Xpath sur des données XML

Description

SimpleXMLElement
array xpath ( string $path )

La méthode xpath cherche dans le noeud SimpleXML des enfants qui correspondent au path Xpath.

Liste de paramètres

path

Un chemin XPath

Valeurs de retour

Retourne un tableau d'objets SimpleXMLElement ou FALSE si une erreur survient.

Exemples

Exemple #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* On cherche <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Les chemins relatifs fonctionnent aussi... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

L'exemple ci-dessus va afficher :

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Notez que les deux résultats sont égaux.

SimpleXMLElement::registerXPathNamespace
Fonctions SimpleXML
SimpleXMLElement


Fonctions SimpleXML

Sommaire

  • simplexml_import_dom — Construit un objet SimpleXMLElement à partir d'un objet DOM
  • simplexml_load_file — Convertit un fichier XML en objet
  • simplexml_load_string — Convertit une chaîne XML en objet
SimpleXMLElement::xpath
simplexml_import_dom
SimpleXML


Construit un objet SimpleXMLElement à partir d'un objet DOM

Fonctions SimpleXML
simplexml_load_file
Fonctions SimpleXML
PHP Manual

simplexml_import_dom

(PHP 5)

simplexml_import_dom — Construit un objet SimpleXMLElement à partir d'un objet DOM

Description

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] )

simplexml_import_dom() prend un noeud d'un document DOM et la transforme en noeud SimpleXML. Ce nouvel objet peut alors être utilisé comme un objet natif SimpleXML.

Liste de paramètres

node

Un élément DOM

class_name

Vous pouvez utiliser ce paramètre optionnel afin que simplexml_load_string() retourne un objet de la classe spécifiée. Cette classe doit étendre la classe SimpleXMLElement .

Valeurs de retour

Retourne un objet SimpleXMLElement ou FALSE si une erreur survient.

Exemples

Exemple #1 Import DOM

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'Erreur durant l'analyse du document';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title; // blah
?>

Voir aussi

  • dom_import_simplexml() - Transforme un objet SimpleXMLElement en un objet DOMElement

Fonctions SimpleXML
simplexml_load_file
Fonctions SimpleXML


Convertit un fichier XML en objet

simplexml_import_dom
simplexml_load_string
Fonctions SimpleXML
PHP Manual

simplexml_load_file

(PHP 5)

simplexml_load_file — Convertit un fichier XML en objet

Description

object simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns [, bool $is_prefix = false ]]]] )

Convertit le document XML filename en un objet de type SimpleXMLElement .

Liste de paramètres

filename

Chemin vers le fichier XML

Note: Libxml 2 supprime la protection des caractères des URI, alors si vous voulez passer par exemple b&c comme paramètre URI à a, vous devez appeler simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Depuis PHP 5.1.0, vous n'avez plus besoin de faire cela puisque PHP le fait pour vous.

class_name

Vous pouvez utiliser ce paramètre optionnel et ainsi, la fonction simplexml_load_file() retournera un objet de la classe spécifiée. Cette classe doit étendre la classe SimpleXMLElement .

options

Depuis PHP 5.1.0 et Libxml 2.6.0, vous pouvez aussi utiliser le paramètre options pour spécifier des paramètres additionnels Libxml.

ns

is_prefix

Valeurs de retour

Retourne un objet de la classe SimpleXMLElement dont les propriétés contiennent les données du document XML. Si une erreur survient, la fonction retournera FALSE.

Erreurs / Exceptions

Produit un message d'erreur de niveau E_WARNING pour chaque erreur trouvée dans les données XML.

Astuce

Utilisez la fonction libxml_use_internal_errors() pour supprimer toutes les erreurs XML, et la fonction libxml_get_errors() pour les parcourir.

Exemples

Exemple #1 Interprétation d'un document XML

<?php
// Le fichier test.xml contient un document XML avec un élément racine
// et au moins un élément /[racine]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Echec lors de l\'ouverture du fichier test.xml.');
}
?>

Ce script affichera, en cas de succès :

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

À partir de là, vous pouvez utiliser $xml->title et tout autre élément.

Voir aussi

  • simplexml_load_string() - Convertit une chaîne XML en objet
  • SimpleXMLElement::__construct - Crée un nouvel objet SimpleXMLElement
  • Traitement des erreurs XML
  • libxml_use_internal_errors() - Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure

simplexml_import_dom
simplexml_load_string
Fonctions SimpleXML


Convertit une chaîne XML en objet

simplexml_load_file
WDDX
Fonctions SimpleXML
PHP Manual

simplexml_load_string

(PHP 5)

simplexml_load_string — Convertit une chaîne XML en objet

Description

object simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns [, bool $is_prefix = false ]]]] )

Convertit la chaîne XML data et retourne un objet de la classe SimpleXMLElement .

Liste de paramètres

data

Une chaîne XML valide

class_name

Vous pouvez utiliser le paramètre optionnel et, ainsi, la fonction simplexml_load_string() retournera un objet de la classe spécifiée. Cette classe doit étendre la classe SimpleXMLElement .

options

Depuis PHP 5.1.0 et Libxml 2.6.0, vous pouvez aussi utiliser le paramètre options pour spécifier des paramètres additionnels Libxml.

ns

is_prefix

Valeurs de retour

Retourne un objet de la classe SimpleXMLElement dont les propriétés contiennent les données du document XML. Si une erreur survient, la fonction retournera FALSE.

Erreurs / Exceptions

Produit un message d'erreur de niveau E_WARNING pour chaque erreur trouvée dans les données XML.

Astuce

Utilisez la fonction libxml_use_internal_errors() pour supprimer toutes les erreurs XML, et la fonction libxml_get_errors() pour les parcourir.

Exemples

Exemple #1 Convertir une chaîne XML

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?>

L'exemple ci-dessus va afficher :

SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

À partir de là, vous pouvez utiliser $xml->body et tout autre élément.

Voir aussi

  • simplexml_load_file() - Convertit un fichier XML en objet
  • SimpleXMLElement::__construct - Crée un nouvel objet SimpleXMLElement
  • Traitement des erreurs XML
  • libxml_use_internal_errors() - Désactive le rapport d'erreur libxml et les stocke pour lecture ultérieure

simplexml_load_file
WDDX
Fonctions SimpleXML


WDDX

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • Linéarisation d'une valeur simple avec WDDX
  • WDDX Fonctions
    • wddx_add_vars — Ajoute des variables à un paquet WDDX
    • wddx_deserialize — Alias de wddx_unserialize
    • wddx_packet_end — Clôt un paquet WDDX
    • wddx_packet_start — Commence un nouveau paquet WDDX avec une structure
    • wddx_serialize_value — Enregistre une valeur dans un paquet WDDX
    • wddx_serialize_vars — Enregistre plusieurs valeurs dans un paquet WDDX
    • wddx_unserialize — Délinéarise un paquet WDDX
simplexml_load_string
Introduction
Manipulation XML


Introduction

Ces fonctions sont prévues pour fonctionner avec » WDDX.

WDDX
Installation/Configuration
WDDX


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
WDDX


Pré-requis

Afin d'utiliser WDDX, vous devez installer la bibliothèque expat (qui est fournie avec Apache 1.3.7 ou supérieur).

Installation/Configuration
Installation
Installation/Configuration


Installation

Après avoir installé Expat, compilez PHP avec --enable-wddx.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit un identifiant de paquet WDDX, retourné par la fonction wddx_packet_start().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Exemples
WDDX


Exemples

Sommaire

  • Linéarisation d'une valeur simple avec WDDX
Constantes pré-définies
Linéarisation d'une valeur simple avec WDDX
WDDX


Linéarisation d'une valeur simple avec WDDX

Exemples
WDDX Fonctions
Exemples
PHP Manual

Toutes les fonctions qui linéarisent les variables utilisent le premier élément d'un tableau pour déterminer si le tableau doit être linéarisé dans un tableau ou dans une structure. Si le premier élément a une chaîne de caractères en tant que clé, alors, il sera linéarisé dans une structure, sinon, dans un tableau.

Exemple #1 Linéarisation d'une valeur simple avec WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

Cet exemple affichera :

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

Exemple #2 Utilisation de paquets incrémentaux avec WDDX

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suppose que $cities provient d'une base de données */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

Cet exemple affichera :

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Note: Si vous voulez linéariser des caractères non-ASCII, vous devez d'abord les convertir en UTF-8 (voir les fonctions utf8_encode() et iconv()).

Exemples
WDDX Fonctions
Exemples


WDDX Fonctions

Sommaire

  • wddx_add_vars — Ajoute des variables à un paquet WDDX
  • wddx_deserialize — Alias de wddx_unserialize
  • wddx_packet_end — Clôt un paquet WDDX
  • wddx_packet_start — Commence un nouveau paquet WDDX avec une structure
  • wddx_serialize_value — Enregistre une valeur dans un paquet WDDX
  • wddx_serialize_vars — Enregistre plusieurs valeurs dans un paquet WDDX
  • wddx_unserialize — Délinéarise un paquet WDDX
Linéarisation d'une valeur simple avec WDDX
wddx_add_vars
WDDX


Ajoute des variables à un paquet WDDX

WDDX Fonctions
wddx_deserialize
WDDX Fonctions
PHP Manual

wddx_add_vars

(PHP 4, PHP 5)

wddx_add_vars — Ajoute des variables à un paquet WDDX

Description

bool wddx_add_vars ( resource $packet_id , mixed $var_name [, mixed $... ] )

Sert à enregistrer et à ajouter les variables passées en argument au paquet repéré par son identifiant packet_id.

Liste de paramètres

Cette fonction prend un nombre variable de paramètres.

packet_id

Un paquet WDDX, retourné par la fonction wddx_packet_start().

var_name

Peut être une chaîne de caractères nommant une variable ou un tableau contenant des noms de variables ou d'autres tableaux, etc..

...

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

WDDX Fonctions
wddx_deserialize
WDDX Fonctions


Alias de wddx_unserialize

wddx_add_vars
wddx_packet_end
WDDX Fonctions
PHP Manual

wddx_deserialize

(PHP 4, PHP 5)

wddx_deserialize — Alias de wddx_unserialize()

Description

Cette fonction est un alias de : wddx_unserialize().

wddx_add_vars
wddx_packet_end
WDDX Fonctions


Clôt un paquet WDDX

wddx_deserialize
wddx_packet_start
WDDX Fonctions
PHP Manual

wddx_packet_end

(PHP 4, PHP 5)

wddx_packet_end — Clôt un paquet WDDX

Description

string wddx_packet_end ( resource $packet_id )

Clôt un paquet WDDX.

Liste de paramètres

packet_id

Un paquet WDDX, retourné par la fonction wddx_packet_start().

Valeurs de retour

Retourne une chaîne de caractères contenant le paquet WDDX.

wddx_deserialize
wddx_packet_start
WDDX Fonctions


Commence un nouveau paquet WDDX avec une structure

wddx_packet_end
wddx_serialize_value
WDDX Fonctions
PHP Manual

wddx_packet_start

(PHP 4, PHP 5)

wddx_packet_start — Commence un nouveau paquet WDDX avec une structure

Description

resource wddx_packet_start ([ string $comment ] )

wddx_packet_start() sert à créer un nouveau paquet WDDX, pour pouvoir y faire des ajouts incrémentaux de variables. Elle va automatiquement créer une définition de structure dans le paquet, pour accueillir des variables.

Liste de paramètres

comment

Une chaîne de caractères optionnelle contenant le commentaire.

Valeurs de retour

Retourne un identifiant de paquet pour utilisation ultérieure avec les fonctions WDDX, ou FALSE si une erreur survient.

wddx_packet_end
wddx_serialize_value
WDDX Fonctions


Enregistre une valeur dans un paquet WDDX

wddx_packet_start
wddx_serialize_vars
WDDX Fonctions
PHP Manual

wddx_serialize_value

(PHP 4, PHP 5)

wddx_serialize_value — Enregistre une valeur dans un paquet WDDX

Description

string wddx_serialize_value ( mixed $var [, string $comment ] )

Enregistre une valeur donnée dans un paquet WDDX.

Liste de paramètres

var

La valeur à linéariser.

comment

Une chaîne de caractères optionnelle contenant un commentaire qui apparaît dans l'en-tête du paquet.

Valeurs de retour

Retourne le paquet WDDX, ou FALSE si une erreur survient.

wddx_packet_start
wddx_serialize_vars
WDDX Fonctions


Enregistre plusieurs valeurs dans un paquet WDDX

wddx_serialize_value
wddx_unserialize
WDDX Fonctions
PHP Manual

wddx_serialize_vars

(PHP 4, PHP 5)

wddx_serialize_vars — Enregistre plusieurs valeurs dans un paquet WDDX

Description

string wddx_serialize_vars ( mixed $var_name [, mixed $... ] )

Sert à créer un paquet WDDX avec une structure qui contient la représentation des variables passées en arguments.

Liste de paramètres

Cette fonction prend un nombre variable de paramètres.

var_name

Peut être soit une chaîne de caractères nommant une variable ou un tableau contenant des noms de variables ou d'autres tableaux, etc..

...

Valeurs de retour

Retourne le paquet WDDX, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec wddx_serialize_vars()

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>

L'exemple ci-dessus va afficher :

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>

wddx_serialize_value
wddx_unserialize
WDDX Fonctions


Délinéarise un paquet WDDX

wddx_serialize_vars
Analyseur syntaxique XML
WDDX Fonctions
PHP Manual

wddx_unserialize

(PHP 4, PHP 5)

wddx_unserialize — Délinéarise un paquet WDDX

Description

mixed wddx_unserialize ( string $packet )

Délinéarise un paquetpacket WDDX.

Liste de paramètres

packet

Un paquet WDDX, sous la forme d'une chaîne de caractères ou d'un flux.

Valeurs de retour

Retourne le résultat qui peut être une chaîne, un nombre ou un tableau. Notez que les structures sont délinéarisées dans des tableaux associatifs.

wddx_serialize_vars
Analyseur syntaxique XML
WDDX Fonctions


Analyseur syntaxique XML

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • gestionnaires d'événements
  • Problèmes de casse
  • Codes d'erreurs
  • Codage des caractères
  • Exemples
    • Exemple de structure XML
    • Transtypage XML -> HTML
    • Entité externe
  • Fonctions d'analyse de fichier XML
    • utf8_decode — Convertit une chaîne UTF-8 en ISO-8859-1
    • utf8_encode — Convertit une chaîne ISO-8859-1 en UTF-8
    • xml_error_string — Lit le message d'erreur de l'analyseur XML
    • xml_get_current_byte_index — Retourne l'index de l'octet courant d'un analyseur XML
    • xml_get_current_column_number — Retourne le nombre courant de la colonne d'un analyseur XML
    • xml_get_current_line_number — Retourne le numéro de ligne courant d'un analyseur XML
    • xml_get_error_code — Récupère le code erreur de l'analyseur XML
    • xml_parse_into_struct — Analyse une structure XML
    • xml_parse — Commence l'analyse d'un document XML
    • xml_parser_create_ns — Crée un analyseur XML
    • xml_parser_create — Création d'un analyseur XML
    • xml_parser_free — Détruit un analyseur XML
    • xml_parser_get_option — Lit les options d'un analyseur XML
    • xml_parser_set_option — Affecte les options d'un analyseur XML
    • xml_set_character_data_handler — Affecte les gestionnaires de texte littéral
    • xml_set_default_handler — Affecte le gestionnaire XML par défaut
    • xml_set_element_handler — Affecte les gestionnaires de début et de fin de balise XML
    • xml_set_end_namespace_decl_handler — Configure le gestionnaire XML de données
    • xml_set_external_entity_ref_handler — Configure le gestionnaire XML de références externes
    • xml_set_notation_decl_handler — Configure le gestionnaire XML de notations
    • xml_set_object — Configure un objet comme analyseur XML
    • xml_set_processing_instruction_handler — Affecte les gestionnaires d'instructions exécutables
    • xml_set_start_namespace_decl_handler — Configure le gestionnaire de caractères
    • xml_set_unparsed_entity_decl_handler — Affecte les gestionnaires d'entités non déclarées
wddx_unserialize
Introduction
Manipulation XML


Introduction

Le langage XML (eXtensible Markup Language (Langage à Balises Extensible)) est un format structuré de données pour les échanges sur le web. C'est un standard défini par le consortium World Wide Web (W3C). Plus d'informations à propos du XML et des technologies afférentes sont accessibles (en anglais) » http://www.w3.org/XML/.

Cette extension PHP implémente la bibliothèque expat de James Clark sous PHP. Cela vous permettra d'analyser mais pas de valider les documents XML. Ce langage supporte trois types de jeux de caractères différents, disponibles aussi sous PHP : US-ASCII, ISO-8859-1 et UTF-8. UTF-16 n'est pas supporté.

Cette extension vous permet de créer des analyseurs XML puis de définir des gestionnaires pour chaque événement XML. Les analyseurs XML disposent de quelques paramètres que vous pouvez régler.

Analyseur syntaxique XML
Installation/Configuration
Analyseur syntaxique XML


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
Analyseur syntaxique XML


Pré-requis

Cette extension PHP utilise expat compat layer par défaut. Elle peut aussi utiliser expat, qui est disponible sur » http://www.jclark.com/xml/expat.html. Le fichier Makefile livré avec expat ne construit pas par défaut de bibliothèque : il faut utiliser la ligne suivante :

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
Un paquet RPM source de expat est disponible sur » http://sourceforge.net/projects/expat/.

Installation/Configuration
Installation
Installation/Configuration


Installation

Ces fonctions sont activées par défaut, et utilisent la bibliothèque expat fournie avec la distribution. Vous pouvez désactiver le support de XML en utilisant l'option de compilation --disable-xml. Si vous compilez PHP comme module pour Apache 1.3.9 ou supérieur, PHP va automatiquement utiliser la bibliothèque expat fournie par Apache. Si vous ne souhaitez pas utiliser la bibliothèque expat intégrée, il faut que vous compiliez PHP avec l'option --with-expat-dir=DIR, où DIR est le dossier d'installation de votre bibliothèque expat.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

La ressource xml est retournée par xml_parser_create() et xml_parser_create_ns(), et représente un analyseur XML à utiliser avec les autres fonctions de cette extension.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XML_ERROR_NONE (entier)
XML_ERROR_NO_MEMORY (entier)
XML_ERROR_SYNTAX (entier)
XML_ERROR_NO_ELEMENTS (entier)
XML_ERROR_INVALID_TOKEN (entier)
XML_ERROR_UNCLOSED_TOKEN (entier)
XML_ERROR_PARTIAL_CHAR (entier)
XML_ERROR_TAG_MISMATCH (entier)
XML_ERROR_DUPLICATE_ATTRIBUTE (entier)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (entier)
XML_ERROR_PARAM_ENTITY_REF (entier)
XML_ERROR_UNDEFINED_ENTITY (entier)
XML_ERROR_RECURSIVE_ENTITY_REF (entier)
XML_ERROR_ASYNC_ENTITY (entier)
XML_ERROR_BAD_CHAR_REF (entier)
XML_ERROR_BINARY_ENTITY_REF (entier)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (entier)
XML_ERROR_MISPLACED_XML_PI (entier)
XML_ERROR_UNKNOWN_ENCODING (entier)
XML_ERROR_INCORRECT_ENCODING (entier)
XML_ERROR_UNCLOSED_CDATA_SECTION (entier)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (entier)
XML_OPTION_CASE_FOLDING (entier)
XML_OPTION_TARGET_ENCODING (entier)
XML_OPTION_SKIP_TAGSTART (entier)
XML_OPTION_SKIP_WHITE (entier)
XML_SAX_IMPL ( string )
Précise la méthode d'implémentation de SAX. Peut être libxml ou expat.
Types de ressources
gestionnaires d'événements
Analyseur syntaxique XML


gestionnaires d'événements

Les gestionnaires d'événements XML sont :

Les gestionnaires d'événements XML supportés
Fonction PHP de configuration du gestionnaire | Description de l'événement
xml_set_element_handler() | Un événement est généré à chaque fois que l'analyseur XML rencontre une balise de début ou de fin. Deux gestionnaires sont disponibles : un pour le début, et un pour la fin.
xml_set_character_data_handler() | "Character data" correspond grosso modo à tout ce qui n'est pas une balise XML, y compris les espaces entre les balises. Notez bien que l'analyseur XML n'ajoute ou n'efface aucun espace, et que c'est à l'application (c'est-à-dire vous) de décider de la signification de ces espaces.
xml_set_processing_instruction_handler() | Les programmeurs PHP sont habitués aux instructions exécutables (processing instructions ou PIs). <?php ?> est une instruction exécutable où php est appelé programme cible. Ces instructions sont gérées de manière spécifique, (sauf le programme cible "XML" qui est réservé).
xml_set_default_handler() | Tout ce qui n'a pas trouvé de gestionnaire est transmis au gestionnaire par défaut. Vous retrouverez par exemple, les déclarations de type de document dans ce gestionnaire.
xml_set_unparsed_entity_decl_handler() | Ce gestionnaire est appelé pour gérer les déclaration des entités non analysées (NDATA).
xml_set_notation_decl_handler() | Ce gestionnaire est appelé pour déclarer les notations.
xml_set_external_entity_ref_handler() | Ce gestionnaire est appelé lorsque l'analyseur XML trouve une référence à une entité générale externe. Cela peut être une référence à un fichier ou à une URL. Reportez-vous à entité externe pour un exemple.

Constantes pré-définies
Problèmes de casse
Analyseur syntaxique XML


Problèmes de casse

Les fonctions de gestion des balises peuvent rencontrer des balises en minuscule, majuscule ou encore dans un mélange des deux. En XML, la procédure standard est d'"identifier les séquences de caractères qui ne sont pas reconnues comme majuscule, et de les remplacer par leur équivalent majuscule". C'est le case-folding, en anglais. En bref, XML met toutes les lettres en majuscules.

Par défaut, tous les noms des éléments qui sont transmis aux fonctions de gestion sont mises en majuscule. Ce comportement est contrôlé par l'analyseur XML, et peut être lu et modifié avec les fonctions respectives xml_parser_get_option() et xml_parser_set_option().

gestionnaires d'événements
Codes d'erreurs
Analyseur syntaxique XML


Codes d'erreurs

Les constantes suivantes sont définies comme des codes d'erreurs XML : (retournées par xml_parse())

  • XML_ERROR_NONE
  • XML_ERROR_NO_MEMORY
  • XML_ERROR_SYNTAX
  • XML_ERROR_NO_ELEMENTS
  • XML_ERROR_INVALID_TOKEN
  • XML_ERROR_UNCLOSED_TOKEN
  • XML_ERROR_PARTIAL_CHAR
  • XML_ERROR_TAG_MISMATCH
  • XML_ERROR_DUPLICATE_ATTRIBUTE
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT
  • XML_ERROR_PARAM_ENTITY_REF
  • XML_ERROR_UNDEFINED_ENTITY
  • XML_ERROR_RECURSIVE_ENTITY_REF
  • XML_ERROR_ASYNC_ENTITY
  • XML_ERROR_BAD_CHAR_REF
  • XML_ERROR_BINARY_ENTITY_REF
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
  • XML_ERROR_MISPLACED_XML_PI
  • XML_ERROR_UNKNOWN_ENCODING
  • XML_ERROR_INCORRECT_ENCODING
  • XML_ERROR_UNCLOSED_CDATA_SECTION
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING

Problèmes de casse
Codage des caractères
Analyseur syntaxique XML


Codage des caractères

L'extension XML de PHP supporte les caractères » Unicode grâce à différents codages. Il y a deux types de codages de caractères : le codage à la source et le codage à la cible. PHP utilise le UTF-8 comme représentation interne.

L'encodage à la source est effectué lors de l'analyse du fichier par XML. Lors de la création d'un analyseur XML), un type de codage à la source peut être spécifié (et il ne pourra plus être modifié jusqu'à la destruction de l'analyseur). Les codages supportés sont : ISO-8859-1, US-ASCII et UTF-8. Les deux derniers sont des codages à un seul octet, c'est-à-dire que les caractères sont représentés sur un seul octet. UTF-8 peut représenter des caractères composés par un nombre variable de bits (jusqu'à 21), allant de 1 à quatre octets. Le codage par défaut utilisé par PHP ISO-8859-1.

Le codage à la cible est effectué lorsque PHP transfert les données aux gestionnaires XML. Lorsqu'un analyseur est créé, le codage à la cible est spécifié de la même façon que le codage à la source, mais il peut être modifié à tout moment. Le codage à la cible affectera les balises, tout comme les données brutes, et les noms des instructions exécutables.

Si l'analyseur XML rencontre un caractère qu'il ne connaît pas (hors limite, par exemple), il retournera une erreur.

Si PHP rencontre un caractère dans le document XML analysé, qu'il ne peut pas représenter dans le codage à la cible choisi, le caractère sera remplacé par un point d'interrogation (cette attitude est susceptible de changer ultérieurement).

Codes d'erreurs
Exemples
Analyseur syntaxique XML


Exemples

Sommaire

  • Exemple de structure XML
  • Transtypage XML -> HTML
  • Entité externe
Codage des caractères
Exemple de structure XML
Analyseur syntaxique XML


Exemple de structure XML

Ce premier exemple affiche la structure de l'élément de début dans un document avec indentation.

Exemple #1 Afficher une structure XML

<?php
$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs)
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name)
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Exemples
Transtypage XML -> HTML
Exemples


Transtypage XML -> HTML

Exemple #1 Transtypage XML -> HTML

Cet exemple remplace les balises XML d'un document par des balises HTML. Les éléments inconnus seront ignorés. Bien entendu, cet exemple sera appliqué à un type précis de fichiers XML.

<?php
$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "<$map_array[$name]>";
    }
}

function endElement($parser, $name)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "</$map_array[$name]>";
    }
}

function characterData($parser, $data)
{
    echo $data;
}

$xml_parser = xml_parser_create();
// Utilisons la gestion de casse, de manière à être sûrs de trouver la balise dans $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("Erreur XML: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Exemple de structure XML
Entité externe
Exemples


Entité externe

Cet exemple exploite les références externes de XML : il est possible d'utiliser un gestionnaire d'entité externe pour inclure et analyser les documents, tous comme les instructions exécutables peuvent servir à inclure et analyser d'autres documents, et aussi fournir une indication de confiance (voir plus bas).

Le document XML qui est utilisé dans cet exemple est fourni plus loin dans l'exemple (xmltest.xml et xmltest2.xml).

Exemple #1 Entité externe

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // faites seulement confiance aux fichiers locaux dont vous êtes le propriétaire
    if (!preg_match("@^([a-z]+)\:\/\/@i", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs)
{
    echo "&lt;<font color=\"#0000cc\">$name</font>";
    if (count($attribs)) {
        foreach ($attribs as $k => $v) {
            echo " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    echo "&gt;";
}

function endElement($parser, $name)
{
    echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
    echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // si le document analysé est de confiance, nous déclarons qu'il est sûr
            // d'exécuter le code PHP qu'il contient. Si ce n'est pas le cas, le code est affiché
            // à la place.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data)
{
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file)
{
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("could not open XML input");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "parse complete\n";
xml_parser_free($xml_parser);

?>

Exemple #2 xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>Title &plainEntity;</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id="about">
  <title>About this Document</title>
  <para>
   <!-- this is a comment -->
   <?php echo 'Hi!  This is PHP version ' . phpversion(); ?>
  </para>
 </section>
</chapter>

Ce fichier est inclus depuis xmltest.xml :

Exemple #3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "Ceci est du code PHP qui est exécuté."; ?>
</foo>

Transtypage XML -> HTML
Fonctions d'analyse de fichier XML
Exemples


Fonctions d'analyse de fichier XML

Sommaire

  • utf8_decode — Convertit une chaîne UTF-8 en ISO-8859-1
  • utf8_encode — Convertit une chaîne ISO-8859-1 en UTF-8
  • xml_error_string — Lit le message d'erreur de l'analyseur XML
  • xml_get_current_byte_index — Retourne l'index de l'octet courant d'un analyseur XML
  • xml_get_current_column_number — Retourne le nombre courant de la colonne d'un analyseur XML
  • xml_get_current_line_number — Retourne le numéro de ligne courant d'un analyseur XML
  • xml_get_error_code — Récupère le code erreur de l'analyseur XML
  • xml_parse_into_struct — Analyse une structure XML
  • xml_parse — Commence l'analyse d'un document XML
  • xml_parser_create_ns — Crée un analyseur XML
  • xml_parser_create — Création d'un analyseur XML
  • xml_parser_free — Détruit un analyseur XML
  • xml_parser_get_option — Lit les options d'un analyseur XML
  • xml_parser_set_option — Affecte les options d'un analyseur XML
  • xml_set_character_data_handler — Affecte les gestionnaires de texte littéral
  • xml_set_default_handler — Affecte le gestionnaire XML par défaut
  • xml_set_element_handler — Affecte les gestionnaires de début et de fin de balise XML
  • xml_set_end_namespace_decl_handler — Configure le gestionnaire XML de données
  • xml_set_external_entity_ref_handler — Configure le gestionnaire XML de références externes
  • xml_set_notation_decl_handler — Configure le gestionnaire XML de notations
  • xml_set_object — Configure un objet comme analyseur XML
  • xml_set_processing_instruction_handler — Affecte les gestionnaires d'instructions exécutables
  • xml_set_start_namespace_decl_handler — Configure le gestionnaire de caractères
  • xml_set_unparsed_entity_decl_handler — Affecte les gestionnaires d'entités non déclarées
Entité externe
utf8_decode
Analyseur syntaxique XML


Convertit une chaîne UTF-8 en ISO-8859-1

Fonctions d'analyse de fichier XML
utf8_encode
Fonctions d'analyse de fichier XML
PHP Manual

utf8_decode

(PHP 4, PHP 5)

utf8_decode — Convertit une chaîne UTF-8 en ISO-8859-1

Description

string utf8_decode ( string $data )

utf8_decode() décode la chaîne data, en supposant qu'elle est au format UTF-8, et la convertit au format ISO-8859-1.

Liste de paramètres

data

La chaîne encodée UTF-8.

Valeurs de retour

Retourne la chaîne convertie.

Voir aussi

  • utf8_encode() - Convertit une chaîne ISO-8859-1 en UTF-8 (contient des détails sur l'encodage UTF-8)

Fonctions d'analyse de fichier XML
utf8_encode
Fonctions d'analyse de fichier XML


Convertit une chaîne ISO-8859-1 en UTF-8

utf8_decode
xml_error_string
Fonctions d'analyse de fichier XML
PHP Manual

utf8_encode

(PHP 4, PHP 5)

utf8_encode — Convertit une chaîne ISO-8859-1 en UTF-8

Description

string utf8_encode ( string $data )

utf8_encode() code la chaîne data au format UTF-8, et retourne la version codée. UTF-8 est un mécanisme standardisé utilisé par Unicode pour coder les caractères de grande taille dans des flux d'octets. UTF-8 est transparent pour les caractères ASCII, il est auto-synchronisé (c'est-à-dire qu'un programme peut toujours savoir dans un flux d'octet où un caractère commence), et peut être utilisé pour faire des comparaisons de chaînes standard, comme pour le tri. PHP utilise l'UTF-8 pour coder les caractères jusqu'à 4 octets comme ceci :

Encodage UTF-8
octets | bits | représentation
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb
Chaque b représente un bit qui peut être utilisé pour enregistrer un caractère.

Liste de paramètres

data

Une chaîne ISO-8859-1.

Valeurs de retour

Retour la version UTF-8 de data.

utf8_decode
xml_error_string
Fonctions d'analyse de fichier XML


Lit le message d'erreur de l'analyseur XML

utf8_encode
xml_get_current_byte_index
Fonctions d'analyse de fichier XML
PHP Manual

xml_error_string

(PHP 4, PHP 5)

xml_error_string — Lit le message d'erreur de l'analyseur XML

Description

string xml_error_string ( int $code )

Lit le message d'erreur de l'analyseur XML associé avec la code code donné.

Liste de paramètres

code

Un code erreur provenant de xml_get_error_code().

Valeurs de retour

Retourne une chaîne représentant la description de l'erreur code, ou FALSE si aucune description n'est trouvée.

Voir aussi

  • xml_get_error_code() - Récupère le code erreur de l'analyseur XML

utf8_encode
xml_get_current_byte_index
Fonctions d'analyse de fichier XML


Retourne l'index de l'octet courant d'un analyseur XML

xml_error_string
xml_get_current_column_number
Fonctions d'analyse de fichier XML
PHP Manual

xml_get_current_byte_index

(PHP 4, PHP 5)

xml_get_current_byte_index — Retourne l'index de l'octet courant d'un analyseur XML

Description

int xml_get_current_byte_index ( resource $parser )

Retourne l'index de l'octet courant de l'analyseur XML donné.

Liste de paramètres

parser

Une référence sur un analyseur XML valide.

Valeurs de retour

xml_get_current_byte_index() retourne FALSE si parser n'est pas valide ou, sinon, retourne l'index de l'octet d'analyse courante de l'analyseur XML (débute à 0).

Notes

Avertissement

Cette fonction retourne l'index de l'octet en accord avec le texte encodé UTF-8 même si l'entrée est dans un autre encodage.

Voir aussi

  • xml_get_current_column_number() - Retourne le nombre courant de la colonne d'un analyseur XML
  • xml_get_current_line_number() - Retourne le numéro de ligne courant d'un analyseur XML

xml_error_string
xml_get_current_column_number
Fonctions d'analyse de fichier XML


Retourne le nombre courant de la colonne d'un analyseur XML

xml_get_current_byte_index
xml_get_current_line_number
Fonctions d'analyse de fichier XML
PHP Manual

xml_get_current_column_number

(PHP 4, PHP 5)

xml_get_current_column_number — Retourne le nombre courant de la colonne d'un analyseur XML

Description

int xml_get_current_column_number ( resource $parser )

Retourne le nombre courant de la colonne de l'analyseur XML donné.

Liste de paramètres

parser

Une référence sur un analyseur XML valide.

Valeurs de retour

xml_get_current_column_number() retourne FALSE si parser n'est pas valide, ou sinon, retourne le numéro de colonne courante de la ligne courante de l'analyseur, qui correspond à la position d'analyse courante de l'analyseur XML (comme retourné par xml_get_current_line_number()).

Voir aussi

  • xml_get_current_byte_index() - Retourne l'index de l'octet courant d'un analyseur XML
  • xml_get_current_line_number() - Retourne le numéro de ligne courant d'un analyseur XML

xml_get_current_byte_index
xml_get_current_line_number
Fonctions d'analyse de fichier XML


Retourne le numéro de ligne courant d'un analyseur XML

xml_get_current_column_number
xml_get_error_code
Fonctions d'analyse de fichier XML
PHP Manual

xml_get_current_line_number

(PHP 4, PHP 5)

xml_get_current_line_number — Retourne le numéro de ligne courant d'un analyseur XML

Description

int xml_get_current_line_number ( resource $parser )

Retourne le numéro de ligne courant de l'analyseur XML donné.

Liste de paramètres

parser

Une référence sur un analyseur XML valide.

Valeurs de retour

xml_get_current_line_number() retourne FALSE si parser n'est pas valide ou, sinon, retourne le numéro de la ligne en cours d'analyse.

Voir aussi

  • xml_get_current_column_number() - Retourne le nombre courant de la colonne d'un analyseur XML
  • xml_get_current_byte_index() - Retourne l'index de l'octet courant d'un analyseur XML

xml_get_current_column_number
xml_get_error_code
Fonctions d'analyse de fichier XML


Récupère le code erreur de l'analyseur XML

xml_get_current_line_number
xml_parse_into_struct
Fonctions d'analyse de fichier XML
PHP Manual

xml_get_error_code

(PHP 4, PHP 5)

xml_get_error_code — Récupère le code erreur de l'analyseur XML

Description

int xml_get_error_code ( resource $parser )

Récupère le code erreur de l'analyseur XML.

Liste de paramètres

parser

Une référence sur un analyseur XML valide.

Valeurs de retour

xml_get_error_code() retourne FALSE si parser n'est pas une référence à une analyseur XML valide ou, sinon, retourne un des codes erreur listés dans la section sur les codes erreur.

Voir aussi

  • xml_error_string() - Lit le message d'erreur de l'analyseur XML

xml_get_current_line_number
xml_parse_into_struct
Fonctions d'analyse de fichier XML


Analyse une structure XML

xml_get_error_code
xml_parse
Fonctions d'analyse de fichier XML
PHP Manual

xml_parse_into_struct

(PHP 4, PHP 5)

xml_parse_into_struct — Analyse une structure XML

Description

int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

xml_parse_into_struct() analyse le fichier XML data et le place dans deux tableaux : le premier index contient des pointeurs sur la position des valeurs correspondantes dans le tableau values. Ces deux paramètres sont passés par références.

Liste de paramètres

parser

data

values

index

Valeurs de retour

xml_parse_into_struct() retourne 0 si une erreur survient et 1 en cas de succès. Ce n'est pas la même chose que FALSE et TRUE, soyez prudent avec les opérateurs comme ===.

Exemples

Ci-dessous, vous trouverez un exemple qui illustre la structure des deux tableaux générés par la fonction. On utilise une balise simple note, placée dans une autre balise para. On analyse le tout, et on affiche la structure générée :

Exemple #1 Exemple avec xml_parse_into_struct()

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

Affichera :

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

L'analyse événementielle (comme celle de expat), peut se révéler complexe lorsque le document XML est complexe. xml_parse_into_struct() ne génère pas d'objet de type DOM, mais il génère plutôt des structures qui peuvent être parcourues à la façon d'un arbre. Considérons le fichier suivant, qui représente une petite base de données XML :

Exemple #2 moldb.xml - Petite base de données moléculaires

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
Et maintenant, un code qui analyse le document, et génère les objets ad hoc :

Exemple #3 parsemoldb.php : Analyse moldb.xml et crée un tableau d'objets moléculaires

<?php

class AminoAcid {
    var $name;  // nom aa
    var $symbol;    // symbole à trois lettres
    var $code;  // code à une lettre
    var $type;  // hydrophobique, chargé ou neutre

    function AminoAcid ($aa) {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename) {
    // lit la base de données xml des acides aminés
    $data = implode("",file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
    xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
    xml_parse_into_struct($parser,$data,$values,$tags);
    xml_parser_free($parser);

    // boucle à travers les structures
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues) {
    for ($i=0; $i < count($mvalues); $i++)
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Base d'objets AminoAcid :\n";
print_r($db);

?>
Après exécution de parsemoldb.php, la variable $db contient un tableau d'objets AminoAcid, et l'affichage le confirme :
** Base d'objets AminoAcid :
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)

xml_get_error_code
xml_parse
Fonctions d'analyse de fichier XML


Commence l'analyse d'un document XML

xml_parse_into_struct
xml_parser_create_ns
Fonctions d'analyse de fichier XML
PHP Manual

xml_parse

(PHP 4, PHP 5)

xml_parse — Commence l'analyse d'un document XML

Description

int xml_parse ( resource $parser , string $data [, bool $is_final = false ] )

xml_parse() analyse un document XML. Les gestionnaires pour les événements configurés sont appelés autant de fois que nécessaire.

Liste de paramètres

parser

Une référence sur l'analyseur XML à utiliser.

data

Une partie des données à analyser. Un document peut être analysé morceau par morceau par appels successifs à xml_parse() avec de nouvelles données, aussi longtemps que le paramètre is_final est défini et TRUE lorsque les dernières données sont analysées.

is_final

Si défini et vaut TRUE, data sera le dernier morceau de données envoyées à l'analyseur.

Valeurs de retour

Retourne 1 en cas de succès ou 0 en cas d'échec.

Lors d'un échec d'analyse, la cause de l'erreur peut être obtenue grâce
aux fonctions
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() et
xml_get_current_byte_index().

Note: Les erreurs d'entités sont reportées à la fin des données, ceci uniquement si is_final vaut TRUE.

xml_parse_into_struct
xml_parser_create_ns
Fonctions d'analyse de fichier XML


Crée un analyseur XML

xml_parse
xml_parser_create
Fonctions d'analyse de fichier XML
PHP Manual

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5)

xml_parser_create_ns — Crée un analyseur XML

Description

resource xml_parser_create_ns ([ string $encoding [, string $separator = ':' ]] )

xml_parser_create_ns() crée un nouvel analyseur XML avec le support des espaces de noms, et retourne une ressource qui pourra être utilisée avec les autres fonctions XML.

Liste de paramètres

encoding

Le paramètre optionnel encoding spécifie le jeu de caractères d'encodage pour l'entrée/sortie dans PHP 4. Depuis PHP 5, ce jeu de caractères est automatiquement détecté et, donc, le paramètre encoding ne spécifie plus que la sortie. En PHP 4, le jeu de caractères de sortie par défaut est le même que celui d'entrée. En PHP 5.0.0 et PHP 5.0.1, le jeu de caractères d'entrée par défaut est ISO-8859-1, tandis qu'en PHP 5.0.2 et suivant, il vaut UTF-8. Les jeux de caractères supportés sont ISO-8859-1, UTF-8 et US-ASCII.

separator

Avec un analyseur qui supporte les espaces de noms, les balises qui sont passées aux différentes fonctions de gestion seront constituées du nom de l'espace et du nom de balise, séparé par la chaîne seperator.

Valeurs de retour

Retourne une ressource pour le nouvel analyseur XML.

Voir aussi

  • xml_parser_create() - Création d'un analyseur XML
  • xml_parser_free() - Détruit un analyseur XML

xml_parse
xml_parser_create
Fonctions d'analyse de fichier XML


Création d'un analyseur XML

xml_parser_create_ns
xml_parser_free
Fonctions d'analyse de fichier XML
PHP Manual

xml_parser_create

(PHP 4, PHP 5)

xml_parser_create — Création d'un analyseur XML

Description

resource xml_parser_create ([ string $encoding ] )

xml_parser_create() crée un analyseur XML et retourne une référence sur cet analyseur pour qu'il puisse être utilisé ultérieurement par d'autres fonctions XML.

Liste de paramètres

encoding

Le paramètre optionnel encoding spécifie le jeu de caractères d'encodage pour l'entrée/sortie dans PHP 4. Depuis PHP 5, ce jeu de caractères est automatiquement détecté et, donc, le paramètre encoding ne spécifie plus que la sortie. En PHP 4, le jeu de caractères de sortie par défaut est le même que celui d'entrée. Si une chaîne vide est passée, l'analyseur tente d'identifier quel jeu de caractère a été utilisé pour encoder le document en regardant les 3 ou 4 octets du haut. En PHP 5.0.0 et PHP 5.0.1, le jeu de caractères d'entrée par défaut est ISO-8859-1, tandis qu'en PHP 5.0.2 et suivant, il vaut UTF-8. Les jeux de caractères supportés sont ISO-8859-1, UTF-8 et US-ASCII.

Valeurs de retour

Retourne une ressource, gérant le nouvel analyseur XML.

Voir aussi

  • xml_parser_create_ns() - Crée un analyseur XML
  • xml_parser_free() - Détruit un analyseur XML

xml_parser_create_ns
xml_parser_free
Fonctions d'analyse de fichier XML


Détruit un analyseur XML

xml_parser_create
xml_parser_get_option
Fonctions d'analyse de fichier XML
PHP Manual

xml_parser_free

(PHP 4, PHP 5)

xml_parser_free — Détruit un analyseur XML

Description

bool xml_parser_free ( resource $parser )

Détruit l'analyseur XML parser.

Liste de paramètres

parser
Une référence sur un analyseur XML.

Valeurs de retour

Cette fonction retourne FALSE si parser n'est pas une référence valide ou, sinon, détruit l'analyseur et retourne TRUE.

xml_parser_create
xml_parser_get_option
Fonctions d'analyse de fichier XML


Lit les options d'un analyseur XML

xml_parser_free
xml_parser_set_option
Fonctions d'analyse de fichier XML
PHP Manual

xml_parser_get_option

(PHP 4, PHP 5)

xml_parser_get_option — Lit les options d'un analyseur XML

Description

mixed xml_parser_get_option ( resource $parser , int $option )

Lit les options d'un analyseur XML.

Liste de paramètres

parser
Une référence sur un analyseur XML valide.
option
L'option demandée. XML_OPTION_CASE_FOLDING et XML_OPTION_TARGET_ENCODING sont disponibles. Reportez-vous à xml_parser_set_option() pour leurs descriptions.

Valeurs de retour

xml_parser_get_option() retourne FALSE si parser n'est pas un analyseur valide ou si option n'est pas valide (génère aussi un E_WARNING). Sinon, elle retourne la valeur de l'option demandée.

xml_parser_free
xml_parser_set_option
Fonctions d'analyse de fichier XML


Affecte les options d'un analyseur XML

xml_parser_get_option
xml_set_character_data_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_parser_set_option

(PHP 4, PHP 5)

xml_parser_set_option — Affecte les options d'un analyseur XML

Description

bool xml_parser_set_option ( resource $parser , int $option , mixed $value )

Affecte les options d'un analyseur XML.

Liste de paramètres

parser

Une référence vers un analyseur XML.

option

L'option à modifier. Voir ci-dessous.

Les options suivantes sont disponibles :

Options de l'analyseur XML
Option | Type de données | Description
XML_OPTION_CASE_FOLDING | entier | Contrôle la gestion de la casse des balises de cet analyseur XML. Par défaut, activé.
XML_OPTION_SKIP_TAGSTART | entier | Spécifie combien de caractères doivent être éludés du début du nom de la balise.
XML_OPTION_SKIP_WHITE | entier | Élude ou non les valeurs contenant des caractères blancs.
XML_OPTION_TARGET_ENCODING | string | Modifie le codage à la cible utilisé par cet analyseur XML. Par défaut, c'est celui qui a été spécifié lors de l'appel de xml_parser_create(). Les codages supportés sont ISO-8859-1, US-ASCII et UTF-8.

value

La nouvelle valeur de l'option.

Valeurs de retour

Retourne FALSE si parser n'est pas une référence valide sur un analyseur XML, ou si l'option n'a pas pu être modifiée. Sinon, l'option est effectivement modifiée, et la fonction retourne TRUE.

xml_parser_get_option
xml_set_character_data_handler
Fonctions d'analyse de fichier XML


Affecte les gestionnaires de texte littéral

xml_parser_set_option
xml_set_default_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_character_data_handler

(PHP 4, PHP 5)

xml_set_character_data_handler — Affecte les gestionnaires de texte littéral

Description

bool xml_set_character_data_handler ( resource $parser , callback $handler )

Affecte les gestionnaires de début et de fin de l'analyseur XML parser.

Liste de paramètres

parser

handler

handler est une chaîne qui contient le nom d'une fonction qui existe lorsque xml_parse() est appelé pour créer parser.

La fonction handler doit accepter deux paramètres :

handler ( resource $parser , string $data )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
data
Le second paramètre, data, contient les caractères sous la forme d'une chaîne.

Le gestionnaire des données est appelé pour chaque pièce du texte d'un document XML. Il peut être appelé plusieurs fois dans chaque fragment (e.g. pour les chaînes non-ASCII).

Si un gestionnaire reçoit une chaîne vide ou FALSE, c'est qu'il est désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_parser_set_option
xml_set_default_handler
Fonctions d'analyse de fichier XML


Affecte le gestionnaire XML par défaut

xml_set_character_data_handler
xml_set_element_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_default_handler

(PHP 4, PHP 5)

xml_set_default_handler — Affecte le gestionnaire XML par défaut

Description

bool xml_set_default_handler ( resource $parser , callback $handler )

Affecte le gestionnaire par défaut de l'analyseur XML parser.

Liste de paramètres

parser

handler

handler est une chaîne qui contient le nom d'une fonction qui existe lorsque xml_parse() est appelé pour créer parser.

La fonction handler doit accepter deux paramètres :

handler ( resource $parser , string $data )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
data
Le second paramètre, data, contient les caractères sous la forme d'une chaîne. Cela peut être une déclaration XML, un type de document, une entité ou d'autres données pour lesquelles aucun gestionnaire n'est prévu.

Si un gestionnaire reçoit une chaîne vide ou FALSE, c'est qu'il est désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_set_character_data_handler
xml_set_element_handler
Fonctions d'analyse de fichier XML


Affecte les gestionnaires de début et de fin de balise XML

xml_set_default_handler
xml_set_end_namespace_decl_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_element_handler

(PHP 4, PHP 5)

xml_set_element_handler — Affecte les gestionnaires de début et de fin de balise XML

Description

bool xml_set_element_handler ( resource $parser , callback $start_element_handler , callback $end_element_handler )

Affecte les gestionnaires de début et de fin de l'analyseur XML parser. start_element_handler et end_element_handler sont des chaînes qui contiennent les noms de fonctions qui existent lorsque xml_parse() est appelé pour créer parser.

Liste de paramètres

parser

start_element_handler

La fonction start_element_handler doit accepter trois paramètres :

start_element_handler ( resource $parser , string $name , array $attribs )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
name
Le deuxième paramètre, name, contient le nom de l'élément qui a provoqué l'appel du gestionnaire. Si l'analyseur gère la casse, cet élément sera en majuscules.
attribs
Le troisième paramètre, attribs, contient un tableau associatif avec les attributs de l'éléments (s'il en existe). Les clés de ce tableau seront les noms des attributs, et les valeurs seront les valeurs correspondantes des attributs. Les noms des attributs seront mis en majuscules si l'analyseur gère la casse. Les valeurs des attributs seront inchangées. L'ordre original des attributs peut être retrouvé en passant en revue le tableau attribs, avec la fonction each(). La première clé sera la première clé du tableau.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

end_element_handler

La fonction endelementhandler doit accepter deux paramètres :

end_element_handler ( resource $parser , string $name )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
name
Le second paramètre, name, contient le nom de l'élément qui a provoqué l'appel du gestionnaire. Si l'analyseur gère la casse, cet élément sera en majuscules.

Si un gestionnaire reçoit une chaîne vide, ou FALSE, c'est qu'il est en train d'être désactivé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_set_default_handler
xml_set_end_namespace_decl_handler
Fonctions d'analyse de fichier XML


Configure le gestionnaire XML de données

xml_set_element_handler
xml_set_external_entity_ref_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_end_namespace_decl_handler — Configure le gestionnaire XML de données

Description

bool xml_set_end_namespace_decl_handler ( resource $parser , callback $handler )

Définit un gestionnaire à appeler lorsque l'on quitte le contexte d'un espace de noms. Il peut être appelé, pour chaque déclaration de l'espace de noms, après le gestionnaire de la dernière balise de l'élément dont l'espace de noms a été déclaré.

Liste de paramètres

parser

Une référence à un analyseur XML.

handler

handler est une chaîne contenant le nom d'une fonction qui doit exister lorsque la fonction xml_parse() est appelée pour l'analyseur parser.

La fonction nommée par le paramètre handler doit accepter 3 paramètres, et doit retourner une valeur entière. Si la valeur retournée du gestionnaire est FALSE (ce qui sera le cas si aucune valeur n'est retournée), l'analyseur XML arrêtera l'analyse et la fonction xml_get_error_code() retournera XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $user_data , string $prefix )
parser
Le 3ème paramètre, parser, est une référence à l'analyseur XML appelée par le gestionnaire.
user_data
prefix

Si une chaîne vide, ou FALSE, est passée à la fonction représentant le gestionnaire, le gestionnaire en question sera désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • xml_set_start_namespace_decl_handler() - Configure le gestionnaire de caractères

xml_set_element_handler
xml_set_external_entity_ref_handler
Fonctions d'analyse de fichier XML


Configure le gestionnaire XML de références externes

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_external_entity_ref_handler

(PHP 4, PHP 5)

xml_set_external_entity_ref_handler — Configure le gestionnaire XML de références externes

Description

bool xml_set_external_entity_ref_handler ( resource $parser , callback $handler )

Affecte le gestionnaire d'entité externe de l'analyseur XML parser.

Liste de paramètres

parser

handler

handler est une chaîne qui contient les noms de fonctions qui existent lorsque xml_parse() est appelé pour créer le parser.

La fonction handler doit accepter 5 paramètres, et retourner un entier. Si la valeur retournée par le gestionnaire est FALSE (par exemple si aucune valeur n'est retournée), l'analyseur XML s'arrêtera, et la fonction xml_get_error_code() retournera XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
Le premier paramètre,parser, est une référence sur l'analyseur XML qui appelle cette fonction.
open_entity_names
Le deuxième paramètre, open_entity_names, est la liste de noms d'entités, séparés par des espaces. Ces entités sont accessibles à l'analyse par cette entité (y compris le nom de l'entité référencée).
base
La meilleure base de résolution de l'identifiant système (system_id) de cette entité externe. Actuellement, ce paramètre est toujours une chaîne vide.
system_id
Identifiant système pour cette entité externe.
public_id
Le cinquième paramètre, public_id, est l'identifiant public, comme spécifié dans la déclaration d'entité, ou une chaîne vide, si aucune déclaration n'a été spécifiée. L'espace dans l'identifiant public sera normalisé comme spécifié dans les spécifications XML.

Si un gestionnaire reçoit une chaîne vide, ou FALSE, c'est qu'il est en train d'être désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
Fonctions d'analyse de fichier XML


Configure le gestionnaire XML de notations

xml_set_external_entity_ref_handler
xml_set_object
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_notation_decl_handler

(PHP 4, PHP 5)

xml_set_notation_decl_handler — Configure le gestionnaire XML de notations

Description

bool xml_set_notation_decl_handler ( resource $parser , callback $handler )

Affecte les gestionnaires de début et de fin de l'analyseur XML parser.

Une notation est une partie du DTD du document, qui a le format suivant :

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
Reportez-vous à la section » des spécifications XML 1.0 pour connaître les notations des entités externes.

Liste de paramètres

parser

handler

handler est une chaîne qui contient le nom d'une fonction qui existe lorsque xml_parse() est appelé pour créer parser.

La fonction handler doit accepter cinq paramètres :

handler ( resource $parser , string $notation_name , string $base , string $system_id , string $public_id )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
notation_name
Le nom de la notation, name, comme précisé dans le format de notation ci-dessus.
base
La meilleure base de résolution de l'identifiant système (system_id) de cette entité externe. Actuellement, ce paramètre est toujours une chaîne vide.
system_id
Identifiant système pour cette entité externe.
public_id
Identifiant public pour cette entité externe.

Si un gestionnaire reçoit une chaîne vide ou FALSE, c'est qu'il est en train d'être désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_set_external_entity_ref_handler
xml_set_object
Fonctions d'analyse de fichier XML


Configure un objet comme analyseur XML

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_object

(PHP 4, PHP 5)

xml_set_object — Configure un objet comme analyseur XML

Description

bool xml_set_object ( resource $parser , object &$object )

Rend l'analyseur parser utilisable depuis un objet. Toutes les méthodes de rappel, affectées par xml_set_element_handler(), seront les méthodes de cet objet.

Liste de paramètres

parser

object

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xml_set_object()

<?php
class xml  {
    var $parser;

    function xml()
    {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, $this);
        xml_set_element_handler($this->parser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function parse($data)
    {
        xml_parse($this->parser, $data);
    }

    function tag_open($parser, $tag, $attributes)
    {
        var_dump($parser, $tag, $attributes);
    }

    function cdata($parser, $cdata)
    {
        var_dump($parser, $cdata);
    }

    function tag_close($parser, $tag)
    {
        var_dump($parser, $tag);
    }

} // fin de la classe xml

$xml_parser = new xml();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
Fonctions d'analyse de fichier XML


Affecte les gestionnaires d'instructions exécutables

xml_set_object
xml_set_start_namespace_decl_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_processing_instruction_handler

(PHP 4, PHP 5)

xml_set_processing_instruction_handler — Affecte les gestionnaires d'instructions exécutables

Description

bool xml_set_processing_instruction_handler ( resource $parser , callback $handler )

Affecte le gestionnaire d'instructions exécutables de l'analyseur XML parser.

Une instruction exécutable a la forme suivante :

<?
target data
?>
Vous pouvez mettre du code PHP entre ces balises, mais soyez conscient d'une des limitations des instructions exécutables de XML : la balise de fin d'instruction exécutable (?>) ne peut être échappée, ce qui fait que cette séquence NE DOIT JAMAIS apparaître dans le code PHP placé dans le document PHP. Si un tel texte apparaît, la balise de fin d'instruction exécutable sera reconnue, et le reste du code sera considéré comme des données brutes (et donc, pas exécutées).

Liste de paramètres

parser

handler

handler est une chaîne qui contient le nom d'une fonction qui existe lorsque xml_parse() est appelé pour créer parser.

La fonction handler doit accepter trois paramètres :

handler ( resource $parser , string $target , string $data )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
target
Le second paramètre, target, contient l'application cible.
data
Le troisième paramètre, data, contient le code sous la forme d'une chaîne.

Si un gestionnaire reçoit une chaîne vide, ou FALSE, c'est qu'il est désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_set_object
xml_set_start_namespace_decl_handler
Fonctions d'analyse de fichier XML


Configure le gestionnaire de caractères

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_start_namespace_decl_handler — Configure le gestionnaire de caractères

Description

bool xml_set_start_namespace_decl_handler ( resource $parser , callback $handler )

Définit le gestionnaire à appeler lorsque l'espace de noms est déclaré. Les déclarations d'espace de noms surviennent dans les balises de départ. Mais le gestionnaire de départ, appelé lors de la déclaration de l'espace de noms, est appelé avant le gestionnaire de la balise de départ pour chaque espace de noms déclaré dans cette balise.

Liste de paramètres

parser

Une référence vers l'analyseur XML.

handler

handler est une chaîne contenant le nom d'une fonction devant exister lorsque la fonction xml_parse() est appelé pour l'analyseur parser.

La fonction nommée par le paramètre handler doit accepter 4 paramètres, et doit retourner une valeur entière. Si la valeur retournée par le gestionnaire vaut FALSE (ce qui sera le cas lorsqu'aucune valeur n'est retourné), l'analyseur XML arrêtera l'analyse et la fonction xml_get_error_code() retournera XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $user_data , string $prefix , string $uri )
parser
Le première paramètre, parser, est une référence à l'analyseur XML appelée par le gestionnaire.
user_data
prefix
uri

Si une chaîne vide, ou la valeur FALSE, est passée en guise de fonction pour le gestionnaire, il sera désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • xml_set_end_namespace_decl_handler() - Configure le gestionnaire XML de données

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
Fonctions d'analyse de fichier XML


Affecte les gestionnaires d'entités non déclarées

xml_set_start_namespace_decl_handler
XMLReader
Fonctions d'analyse de fichier XML
PHP Manual

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler — Affecte les gestionnaires d'entités non déclarées

Description

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callback $handler )

Affecte les gestionnaires d'entités non déclarées de l'analyseur XML parser.

Le gestionnaire parser sera appelé si l'analyseur XML rencontre une déclaration d'entité externe avec une déclaration de NDATA, comme suit :

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

Reportez-vous à la section » des spécifications XML 1.0 pour connaître les notations des entités externes.

Liste de paramètres

parser

handler

handler est une chaîne qui contient le nom d'une fonction qui existe lorsque xml_parse() est appelé pour créer parser.

La fonction handler doit accepter six paramètres :

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
entity_name
Le nom de l'entité qui va être définie.
base
La meilleure base de résolution de l'identifiant système de cette entité externe. Actuellement, ce paramètre est toujours une chaîne vide.
system_id
Identifiant système pour cette entité externe.
public_id
Identifiant public pour cette entité externe.
notation_name
Nom de la notation de cette entité. (Voir xml_set_notation_decl_handler()).

Si un gestionnaire reçoit une chaîne vide ou FALSE, c'est qu'il est en train d'être désactivé.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

xml_set_start_namespace_decl_handler
XMLReader
Fonctions d'analyse de fichier XML


XMLReader

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • XMLReader — La classe XMLReader
    • XMLReader::close — Ferme l'entrée XMLReader
    • XMLReader::expand — Retourne une copie du noeud courant comme un noeud d'objet DOM
    • XMLReader::getAttribute — Récupère la valeur d'un attribut par nom
    • XMLReader::getAttributeNo — Récupère la valeur d'un attribut par index
    • XMLReader::getAttributeNs — Récupère la valeur d'un attribut par nom local et URI
    • XMLReader::getParserProperty — Indique si la propriété spécifiée a été fixée
    • XMLReader::isValid — Indique si le document analysé est valide
    • XMLReader::lookupNamespace — Consulte l'espace de nom pour un préfixe
    • XMLReader::moveToAttribute — Déplace un curseur à un attribut nommé
    • XMLReader::moveToAttributeNo — Déplace le curseur à un attribut par index
    • XMLReader::moveToAttributeNs — Déplace le curseur à un attribut d'espace de nom
    • XMLReader::moveToElement — Positionne le curseur sur l'élément parent de l'attribut courant
    • XMLReader::moveToFirstAttribute — Positionne le curseur sur le premier attribut
    • XMLReader::moveToNextAttribute — Positionne le curseur sur le prochain attribut
    • XMLReader::next — Déplace le curseur au prochain noeud en sautant tous les sous arbres
    • XMLReader::open — Fixe le URI contenant le XML à analyser
    • XMLReader::read — Déplace le curseur sur le prochain noeud du document
    • XMLReader::readInnerXML — Lit le code XML du noeud courant
    • XMLReader::readOuterXML — Lit le code XML du noeud courant, y compris lui-même
    • XMLReader::readString — Lit le contenu du noeud courant sous forme de chaîne
    • XMLReader::setParserProperty — Fixe ou supprime des options pour l'analyseur
    • XMLReader::setRelaxNGSchema — Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG
    • XMLReader::setRelaxNGSchemaSource — Spécifie le schéma RelaxNG
    • XMLReader::setSchema — Valide le document avec XSD
    • XMLReader::XML — Fixe les données contenant le XML à analyser
xml_set_unparsed_entity_decl_handler
Introduction
Manipulation XML


Introduction

L'extension XMLReader un analyseur XML Pull. Le lecteur fonctionne comme un curseur qui avance sur le flux du document et s'arrête à chaque noeud sur le chemin.

Encodage

Il est important de noter que, en interne, libxml utilise l'encodage UTF-8 et donc, l'encodage du contenu récupéré devra toujours être encodé UTF-8.

XMLReader
Installation/Configuration
XMLReader


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
XMLReader


Installation

L'extension XMLReader est disponible dans PECL depuis PHP 5.0.0 et est fournie et activée par défaut en PHP 5.1.0. Elle peut être activée en ajoutant l'argument --enable-xmlreader (ou --with-xmlreader avant 5.1.0) à votre ligne de configuration. L'extension libxml est nécessaire.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension ne définit aucune ressource.

Configuration à l'exécution
XMLReader
Installation/Configuration


La classe XMLReader

Introduction

L'extension XMLReader est un analyseur XML. L'analyseur fonctionne comme un curseur qui parcourt le document et s'arrête sur chaque noeud.

Synopsis de la classe

XMLReader
XMLReader {
/* Constantes */
const int XMLReader::NONE = 0 ;
const int XMLReader::ELEMENT = 1 ;
const int XMLReader::ATTRIBUTE = 2 ;
const int XMLReader::TEXT = 3 ;
const int XMLReader::CDATA = 4 ;
const int XMLReader::ENTITY_REF = 5 ;
const int XMLReader::ENTITY = 6 ;
const int XMLReader::PI = 7 ;
const int XMLReader::COMMENT = 8 ;
const int XMLReader::DOC = 9 ;
const int XMLReader::DOC_TYPE = 10 ;
const int XMLReader::DOC_FRAGMENT = 11 ;
const int XMLReader::NOTATION = 12 ;
const int XMLReader::WHITESPACE = 13 ;
const int XMLReader::SIGNIFICANT_WHITESPACE = 14 ;
const int XMLReader::END_ELEMENT = 15 ;
const int XMLReader::END_ENTITY = 16 ;
const int XMLReader::XML_DECLARATION = 17 ;
const int XMLReader::LOADDTD = 1 ;
const int XMLReader::DEFAULTATTRS = 2 ;
const int XMLReader::VALIDATE = 3 ;
const int XMLReader::SUBST_ENTITIES = 4 ;
/* Propriétés */
public readonly int $attributeCount ;
public readonly string $baseURI ;
public readonly int $depth ;
public readonly bool $hasAttributes ;
public readonly bool $hasValue ;
public readonly bool $isDefault ;
public readonly bool $isEmptyElement ;
public readonly string $localName ;
public readonly string $name ;
public readonly string $namespaceURI ;
public readonly int $nodeType ;
public readonly string $prefix ;
public readonly string $value ;
public readonly string $xmlLang ;
/* Méthodes */
bool close ( void )
DOMNode expand ( void )
string getAttribute ( string $name )
string getAttributeNo ( int $index )
string getAttributeNs ( string $localName , string $namespaceURI )
bool getParserProperty ( int $property )
bool isValid ( void )
bool lookupNamespace ( string $prefix )
bool moveToAttribute ( string $name )
bool moveToAttributeNo ( int $index )
bool moveToAttributeNs ( string $localName , string $namespaceURI )
bool moveToElement ( void )
bool moveToFirstAttribute ( void )
bool moveToNextAttribute ( void )
bool next ([ string $localname ] )
bool open ( string $URI [, string $encoding [, int $options = 0 ]] )
bool read ( void )
string readInnerXML ( void )
string readOuterXML ( void )
string readString ( void )
bool setParserProperty ( int $property , bool $value )
bool setRelaxNGSchema ( string $filename )
bool setRelaxNGSchemaSource ( string $source )
bool setSchema ( string $filename )
bool xml ( string $source [, string $encoding [, int $options = 0 ]] )
}

Propriétés

attributeCount

Le nombre d'attributs dans le noeud

baseURI

La base URI du noeud

depth

Profondeur du noeud dans l'arbre démarrant à 0

hasAttributes

Indique si le noeud a des attributs

hasValue

Indique si le noeud a une valeur de texte

isDefault

Indique si l'attribut est par défaut à partir du DTD

isEmptyElement

Indique si le noeud est un élément vide

localName

Le nom local du noeud

name

Le noeud qualifié du noeud

namespaceURI

L'URI de l'espace de nom associé avec le noeud

nodeType

Le type de noeud pour le noeud

prefix

Le préfixe de l'espace de nom associé avec le noeud

value

La valeur du texte du noeud

xmlLang

La portée xml:lang dans lequel le noeud réside

Constantes pré-définies

Types de noeud XMLReader

XMLReader::NONE

Pas de type de noeud

XMLReader::ELEMENT

Élément de départ

XMLReader::ATTRIBUTE

Noeud Attribut

XMLReader::TEXT

Noeud texte

XMLReader::CDATA

Noeud CDATA

XMLReader::ENTITY_REF

Noeud de référence d'entité

XMLReader::ENTITY

Noeud de déclaration d'entité

XMLReader::PI

Noeud d'instruction de processus

XMLReader::COMMENT

Noeud de commentaire

XMLReader::DOC

Noeud document

XMLReader::DOC_TYPE

Noeud de type de document

XMLReader::DOC_FRAGMENT

Noeud de fragment de document

XMLReader::NOTATION

Noeud de notation

XMLReader::WHITESPACE

Noeud "espace"

XMLReader::SIGNIFICANT_WHITESPACE

Noeud "espace" significatif

XMLReader::END_ELEMENT

Élément de fin

XMLReader::END_ENTITY

Entité de fin

XMLReader::XML_DECLARATION

Noeud de déclaration XML

Options de l'analyseur XMLReader

XMLReader::LOADDTD

Charge une DTD mais ne la valide pas

XMLReader::DEFAULTATTRS

Charge une DTD et les attributs par défaut mais ne la valide pas

XMLReader::VALIDATE

Charge une DTD et valide le document au moment de l'analyse

XMLReader::SUBST_ENTITIES

Substitue les entités et étend les références

Sommaire

  • XMLReader::close — Ferme l'entrée XMLReader
  • XMLReader::expand — Retourne une copie du noeud courant comme un noeud d'objet DOM
  • XMLReader::getAttribute — Récupère la valeur d'un attribut par nom
  • XMLReader::getAttributeNo — Récupère la valeur d'un attribut par index
  • XMLReader::getAttributeNs — Récupère la valeur d'un attribut par nom local et URI
  • XMLReader::getParserProperty — Indique si la propriété spécifiée a été fixée
  • XMLReader::isValid — Indique si le document analysé est valide
  • XMLReader::lookupNamespace — Consulte l'espace de nom pour un préfixe
  • XMLReader::moveToAttribute — Déplace un curseur à un attribut nommé
  • XMLReader::moveToAttributeNo — Déplace le curseur à un attribut par index
  • XMLReader::moveToAttributeNs — Déplace le curseur à un attribut d'espace de nom
  • XMLReader::moveToElement — Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToFirstAttribute — Positionne le curseur sur le premier attribut
  • XMLReader::moveToNextAttribute — Positionne le curseur sur le prochain attribut
  • XMLReader::next — Déplace le curseur au prochain noeud en sautant tous les sous arbres
  • XMLReader::open — Fixe le URI contenant le XML à analyser
  • XMLReader::read — Déplace le curseur sur le prochain noeud du document
  • XMLReader::readInnerXML — Lit le code XML du noeud courant
  • XMLReader::readOuterXML — Lit le code XML du noeud courant, y compris lui-même
  • XMLReader::readString — Lit le contenu du noeud courant sous forme de chaîne
  • XMLReader::setParserProperty — Fixe ou supprime des options pour l'analyseur
  • XMLReader::setRelaxNGSchema — Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG
  • XMLReader::setRelaxNGSchemaSource — Spécifie le schéma RelaxNG
  • XMLReader::setSchema — Valide le document avec XSD
  • XMLReader::XML — Fixe les données contenant le XML à analyser
Types de ressources
XMLReader::close
XMLReader


Ferme l'entrée XMLReader

XMLReader
XMLReader::expand
XMLReader
PHP Manual

XMLReader::close

(PHP 5 >= 5.1.2)

XMLReader::close — Ferme l'entrée XMLReader

Description

bool XMLReader::close ( void )

Ferme l'entrée de l'objet XMLReader qui est en train d'être analysé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::open - Fixe le URI contenant le XML à analyser
  • XMLReader::xml - Fixe les données contenant le XML à analyser

XMLReader
XMLReader::expand
XMLReader


Retourne une copie du noeud courant comme un noeud d'objet DOM

XMLReader::close
XMLReader::getAttribute
XMLReader
PHP Manual

XMLReader::expand

(PHP 5 >= 5.1.2)

XMLReader::expand — Retourne une copie du noeud courant comme un noeud d'objet DOM

Description

DOMNode XMLReader::expand ( void )

Cette méthode copie le noeud courant et retourne l'objet approprié DOM.

Valeurs de retour

L'objet DOMNode résultant ou FALSE en cas d'erreur.

XMLReader::close
XMLReader::getAttribute
XMLReader


Récupère la valeur d'un attribut par nom

XMLReader::expand
XMLReader::getAttributeNo
XMLReader
PHP Manual

XMLReader::getAttribute

(PHP 5 >= 5.1.2)

XMLReader::getAttribute — Récupère la valeur d'un attribut par nom

Description

string XMLReader::getAttribute ( string $name )

Retourne la valeur d'un attribut par nom ou une chaîne de caractères vide si l'attribut n'existe pas ou n'est pas positionné sur le noeud.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

La valeur de l'attribut ou une chaîne de caractères vide si l'attribut avec le name donné n'existe pas ou n'est pas positionné sur l'élément.

Voir aussi

  • XMLReader::getAttributeNo - Récupère la valeur d'un attribut par index
  • XMLReader::getAttributeNs - Récupère la valeur d'un attribut par nom local et URI

XMLReader::expand
XMLReader::getAttributeNo
XMLReader


Récupère la valeur d'un attribut par index

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader
PHP Manual

XMLReader::getAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNo — Récupère la valeur d'un attribut par index

Description

string XMLReader::getAttributeNo ( int $index )

Retourne la valeur d'un attribut basé sur sa position ou d'une chaîne de caractères vide si l'attribut n'existe pas ou n'est pas positionné sur le noeud.

Liste de paramètres

index

La position de l'attribut.

Valeurs de retour

La valeur de l'attribut ou une chaîne de caractères vide si aucun attribut n'existe à index ou n'est pas positionné sur l'élément.

Voir aussi

  • XMLReader::getAttribute - Récupère la valeur d'un attribut par nom
  • XMLReader::getAttributeNs - Récupère la valeur d'un attribut par nom local et URI

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader


Récupère la valeur d'un attribut par nom local et URI

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader
PHP Manual

XMLReader::getAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNs — Récupère la valeur d'un attribut par nom local et URI

Description

string XMLReader::getAttributeNs ( string $localName , string $namespaceURI )

Retourne la valeur d'un attribut par nom et espace de nom URI ou une chaîne de caractères vide si l'attribut n'existe pas ou n'est pas positionné sur le noeud.

Liste de paramètres

localName

Le nom local.

namespaceURI

L'espace de nom URI.

Valeurs de retour

La valeur de l'attribut ou une chaîne de caractères vide si aucun attribut avec le localName et namespaceURI donnés n'est trouvé ou positionné sur l'élément.

Voir aussi

  • XMLReader::getAttribute - Récupère la valeur d'un attribut par nom
  • XMLReader::getAttributeNo - Récupère la valeur d'un attribut par index

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader


Indique si la propriété spécifiée a été fixée

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader
PHP Manual

XMLReader::getParserProperty

(PHP 5 >= 5.1.2)

XMLReader::getParserProperty — Indique si la propriété spécifiée a été fixée

Description

bool XMLReader::getParserProperty ( int $property )

Indique si la propriété spécifiée a été fixée.

Liste de paramètres

property

Une des constantes d'analyseur.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::setParserProperty - Fixe ou supprime des options pour l'analyseur

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader


Indique si le document analysé est valide

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader
PHP Manual

XMLReader::isValid

(PHP 5 >= 5.1.2)

XMLReader::isValid — Indique si le document analysé est valide

Description

bool XMLReader::isValid ( void )

Retourne un booléen indiquant si le document qui est en train d'être analysé est valide.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Validation XML

<?php
$xml = XMLReader::open('test.xml');

// Vous devez faire ceci pour l'utiliser
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Voir aussi

  • XMLReader::setParserProperty - Fixe ou supprime des options pour l'analyseur
  • XMLReader::setRelaxNGSchema - Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG
  • XMLReader::setRelaxNGSchemaSource - Spécifie le schéma RelaxNG

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader


Consulte l'espace de nom pour un préfixe

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader
PHP Manual

XMLReader::lookupNamespace

(PHP 5 >= 5.1.2)

XMLReader::lookupNamespace — Consulte l'espace de nom pour un préfixe

Description

bool XMLReader::lookupNamespace ( string $prefix )

Consulte dans la portée de l'espace de nom pour un préfixe donné.

Liste de paramètres

prefix

Chaînes de caractères contenant le préfixe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader


Déplace un curseur à un attribut nommé

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader
PHP Manual

XMLReader::moveToAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToAttribute — Déplace un curseur à un attribut nommé

Description

bool XMLReader::moveToAttribute ( string $name )

Positionne le curseur sur l'attribut nommé.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttributeNo - Déplace le curseur à un attribut par index
  • XMLReader::moveToAttributeNs - Déplace le curseur à un attribut d'espace de nom
  • XMLReader::moveToFirstAttribute - Positionne le curseur sur le premier attribut

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader


Déplace le curseur à un attribut par index

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader
PHP Manual

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNo — Déplace le curseur à un attribut par index

Description

bool XMLReader::moveToAttributeNo ( int $index )

Positionne le curseur sur l'attribut basé sur sa position.

Liste de paramètres

index

La position de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé
  • XMLReader::moveToAttributeNs - Déplace le curseur à un attribut d'espace de nom
  • XMLReader::moveToFirstAttribute - Positionne le curseur sur le premier attribut

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader


Déplace le curseur à un attribut d'espace de nom

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader
PHP Manual

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNs — Déplace le curseur à un attribut d'espace de nom

Description

bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )

Positionne le curseur sur le nom de l'attribut dans l'espace de nom spécifié.

Liste de paramètres

localName

Le nom local.

namespaceURI

L'espace de nom URI.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé
  • XMLReader::moveToAttributeNo - Déplace le curseur à un attribut par index
  • XMLReader::moveToFirstAttribute - Positionne le curseur sur le premier attribut

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader


Positionne le curseur sur l'élément parent de l'attribut courant

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader
PHP Manual

XMLReader::moveToElement

(PHP 5 >= 5.1.2)

XMLReader::moveToElement — Positionne le curseur sur l'élément parent de l'attribut courant

Description

bool XMLReader::moveToElement ( void )

Déplace le curseur de l'élément parent de l'attribut courant.

Valeurs de retour

Retourne TRUE en cas de succès et FALSE en cas d'échec ou non positionné sur un attribut lorsque cette méthode est appelée.

Voir aussi

  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé
  • XMLReader::moveToAttributeNo - Déplace le curseur à un attribut par index
  • XMLReader::moveToAttributeNs - Déplace le curseur à un attribut d'espace de nom
  • XMLReader::moveToFirstAttribute - Positionne le curseur sur le premier attribut

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader


Positionne le curseur sur le premier attribut

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader
PHP Manual

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToFirstAttribute — Positionne le curseur sur le premier attribut

Description

bool XMLReader::moveToFirstAttribute ( void )

Déplace le curseur sur le premier attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé
  • XMLReader::moveToAttributeNo - Déplace le curseur à un attribut par index
  • XMLReader::moveToAttributeNs - Déplace le curseur à un attribut d'espace de nom
  • XMLReader::moveToNextAttribute - Positionne le curseur sur le prochain attribut

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader


Positionne le curseur sur le prochain attribut

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader
PHP Manual

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToNextAttribute — Positionne le curseur sur le prochain attribut

Description

bool XMLReader::moveToNextAttribute ( void )

Déplace le curseur sur le prochain attribut si positionné sur un attribut ou déplace sur le premier attribut si positionné sur un élément.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé
  • XMLReader::moveToAttributeNo - Déplace le curseur à un attribut par index
  • XMLReader::moveToAttributeNs - Déplace le curseur à un attribut d'espace de nom
  • XMLReader::moveToFirstAttribute - Positionne le curseur sur le premier attribut

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader


Déplace le curseur au prochain noeud en sautant tous les sous arbres

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader
PHP Manual

XMLReader::next

(PHP 5 >= 5.1.2)

XMLReader::next — Déplace le curseur au prochain noeud en sautant tous les sous arbres

Description

bool XMLReader::next ([ string $localname ] )

Positionne le curseur sur le prochain noeud en sautant tous les sous arbres.

Liste de paramètres

localname

Le nom du prochaine noeud à se déplacer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToNextAttribute - Positionne le curseur sur le prochain attribut
  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader


Fixe le URI contenant le XML à analyser

XMLReader::next
XMLReader::read
XMLReader
PHP Manual

XMLReader::open

(PHP 5 >= 5.1.2)

XMLReader::open — Fixe le URI contenant le XML à analyser

Description

bool XMLReader::open ( string $URI [, string $encoding [, int $options = 0 ]] )

Fixe le URI contenant le document XML à être analysé.

Liste de paramètres

URI

URI pointant vers le document.

encoding

L'encodage du document, ou NULL.

options

Un masque de constante LIBXML_*.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.0 | Les paramètres encoding et options ont été ajoutés.

Voir aussi

  • XMLReader::xml - Fixe les données contenant le XML à analyser
  • XMLReader::close - Ferme l'entrée XMLReader

XMLReader::next
XMLReader::read
XMLReader


Déplace le curseur sur le prochain noeud du document

XMLReader::open
XMLReader::readInnerXML
XMLReader
PHP Manual

XMLReader::read

(PHP 5 >= 5.1.2)

XMLReader::read — Déplace le curseur sur le prochain noeud du document

Description

bool XMLReader::read ( void )

Déplace le curseur au prochain noeud texte du document.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::moveToElement - Positionne le curseur sur l'élément parent de l'attribut courant
  • XMLReader::moveToAttribute - Déplace un curseur à un attribut nommé
  • XMLReader::next - Déplace le curseur au prochain noeud en sautant tous les sous arbres

XMLReader::open
XMLReader::readInnerXML
XMLReader


Lit le code XML du noeud courant

XMLReader::read
XMLReader::readOuterXML
XMLReader
PHP Manual

XMLReader::readInnerXML

(PHP 5 >= 5.2.0)

XMLReader::readInnerXML — Lit le code XML du noeud courant

Description

string XMLReader::readInnerXML ( void )

Lit le contenu du noeud courant, incluant les enfants et le balisage.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le contenu du noeud courant sous forme de chaîne. Retourne une chaîne vide en cas d'échec.

Notes

Attention

Cette fonction n'est disponible que si PHP est compilé à l'aide de la librarie libxml 20620 ou ultérieure.

Voir aussi

  • XMLReader::readString() - Lit le contenu du noeud courant sous forme de chaîne
  • XMLReader::readOuterXML() - Lit le code XML du noeud courant, y compris lui-même
  • XMLReader::expand() - Retourne une copie du noeud courant comme un noeud d'objet DOM

XMLReader::read
XMLReader::readOuterXML
XMLReader


Lit le code XML du noeud courant, y compris lui-même

XMLReader::readInnerXML
XMLReader::readString
XMLReader
PHP Manual

XMLReader::readOuterXML

(PHP 5 >= 5.2.0)

XMLReader::readOuterXML — Lit le code XML du noeud courant, y compris lui-même

Description

string XMLReader::readOuterXML ( void )

Lit le code XML du noeud courant, y compris lui-même.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Lit le code XML du noeud courant, y compris lui-même, sous forme de chaîne. Retourne une chaîne vide en cas d'erreur.

Notes

Attention

Cette fonction n'est disponible que si PHP est compilé à l'aide de la librarie libxml 20620 ou ultérieure.

Voir aussi

  • XMLReader::readString() - Lit le contenu du noeud courant sous forme de chaîne
  • XMLReader::readInnerXML() - Lit le code XML du noeud courant
  • XMLReader::expand() - Retourne une copie du noeud courant comme un noeud d'objet DOM

XMLReader::readInnerXML
XMLReader::readString
XMLReader


Lit le contenu du noeud courant sous forme de chaîne

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader
PHP Manual

XMLReader::readString

(PHP 5 >= 5.2.0)

XMLReader::readString — Lit le contenu du noeud courant sous forme de chaîne

Description

string XMLReader::readString ( void )

>Lit le contenu du noeud courant sous forme de chaîne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne le contenu du noeud courant sous forme de chaîne. Retourne une chaîne vide en cas d'erreur.

Notes

Attention

Cette fonction n'est disponible que si PHP est compilé à l'aide de la librarie libxml 20620 ou ultérieure.

Voir aussi

  • XMLReader::readOuterXML() - Lit le code XML du noeud courant, y compris lui-même
  • XMLReader::readInnerXML() - Lit le code XML du noeud courant
  • XMLReader::expand() - Retourne une copie du noeud courant comme un noeud d'objet DOM

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader


Fixe ou supprime des options pour l'analyseur

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader
PHP Manual

XMLReader::setParserProperty

(PHP 5 >= 5.1.2)

XMLReader::setParserProperty — Fixe ou supprime des options pour l'analyseur

Description

bool XMLReader::setParserProperty ( int $property , bool $value )

Fixe ou supprime des options pour l'analyseur. Les options doivent être fixées après l'appel de xmlreader-open() ou xmlreader-xml() et avant le premier appel de xmlreader-read().

Liste de paramètres

property

Une des constantes d'analyseur.

value

Si fixée à TRUE, l'option sera activée sinon elle sera désactivée.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader


Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader
PHP Manual

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.2.0)

XMLReader::setRelaxNGSchema — Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG

Description

bool XMLReader::setRelaxNGSchema ( string $filename )

Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG à utiliser pour validation.

Liste de paramètres

filename

Nom du fichier ou URI pointant vers le Schéma RelaxNG.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::setRelaxNGSchemaSource - Spécifie le schéma RelaxNG

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader


Spécifie le schéma RelaxNG

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader
PHP Manual

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.2)

XMLReader::setRelaxNGSchemaSource — Spécifie le schéma RelaxNG

Description

bool XMLReader::setRelaxNGSchemaSource ( string $source )

Spécifie le schéma RelaxNG à utiliser pour validation.

Liste de paramètres

source

Chaîne de caractères contenant le schéma RelaxNG.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLReader::setRelaxNGSchema - Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader


Valide le document avec XSD

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader
PHP Manual

XMLReader::setSchema

(PHP 5 >= 5.2.0)

XMLReader::setSchema — Valide le document avec XSD

Description

bool XMLReader::setSchema ( string $filename )

Utilise le schéma XSD W3C pour valider le contenu, tel qu'il est traité. L'activation n'est possible qu'avant le premier Read().

Liste de paramètres

filename

Le nom du fichier de schéma XSD.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une alerte E_WARNING si libxml a été compilé sans le support des schémas, si le schéma contient des erreurs, ou si XMLReader::read() a déjà été appelé.

Notes

Attention

Cette fonction n'est disponible que si PHP est compilé à l'aide de la librarie libxml 20620 ou ultérieure.

Voir aussi

  • XMLReader::setRelaxNGSchema - Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader


Fixe les données contenant le XML à analyser

XMLReader::setSchema
XMLWriter
XMLReader
PHP Manual

XMLReader::XML

(PHP 5 >= 5.1.2)

XMLReader::XML — Fixe les données contenant le XML à analyser

Description

bool XMLReader::xml ( string $source [, string $encoding [, int $options = 0 ]] )

Fixe les données contenant le XML à analyser.

Liste de paramètres

source

Chaîne de caractères contenant le XML à être analysée.

encoding

L'encodage du document, ou NULL.

options

Un masque de constantes LIBXML_*.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
5.2.0 | Les paramètres encoding et options ont été ajoutés.

Voir aussi

  • XMLReader::open - Fixe le URI contenant le XML à analyser
  • XMLReader::close - Ferme l'entrée XMLReader

XMLReader::setSchema
XMLWriter
XMLReader


XMLWriter

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions XMLWriter
    • XMLWriter::endAttribute — Termine un attribut
    • XMLWriter::endCData — Termine un bloc CDATA
    • XMLWriter::endComment — Termine un commentaire
    • XMLWriter::endDocument — Termine un document
    • XMLWriter::endDTDAttlist — Termine la liste des attributs de la DTD courante
    • XMLWriter::endDTDElement — Termine l'élément de la DTD courante
    • XMLWriter::endDTDEntity — Termine l'entité de la DTD courante
    • XMLWriter::endDTD — Termine la DTD courante
    • XMLWriter::endElement — Termine l'élément courant
    • XMLWriter::endPI — Termine le PI courant
    • XMLWriter::flush — Affiche le buffer courant
    • XMLWriter::fullEndElement — Termine l'élément courant
    • XMLWriter::openMemory — Crée un nouveau xmlwriter en utilisant la mémoire pour l'affichage des chaînes
    • XMLWriter::openURI — Crée un nouveau xmlwriter, en utilisant l'URI source pour l'affichage
    • XMLWriter::outputMemory — Retourne le buffer courant
    • XMLWriter::setIndentString — Définit la chaîne à utiliser pour l'indentation
    • XMLWriter::setIndent — Active ou non l'indentation
    • XMLWriter::startAttributeNs — Crée un attribut pour l'espace de noms
    • XMLWriter::startAttribute — Crée un attribut
    • XMLWriter::startCData — Crée une balise CDATA
    • XMLWriter::startComment — Crée un commentaire
    • XMLWriter::startDocument — Crée un document
    • XMLWriter::startDTDAttlist — Crée une liste d'attributs pour la DTD
    • XMLWriter::startDTDElement — Crée un élément DTD
    • XMLWriter::startDTDEntity — Crée une entité DTD
    • XMLWriter::startDTD — Crée une DTD
    • XMLWriter::startElementNs — Crée un élément d'un espace de noms
    • XMLWriter::startElement — Crée un élément
    • XMLWriter::startPI — Crée une balise PI
    • XMLWriter::text — Écrit du texte
    • XMLWriter::writeAttributeNs — Écrit un attribut d'un espace de noms
    • XMLWriter::writeAttribute — Écrit un attribut
    • XMLWriter::writeCData — Écrit un bloc CDATA
    • XMLWriter::writeComment — Écrit un commentaire
    • XMLWriter::writeDTDAttlist — Écrit une liste d'attributs DTD
    • XMLWriter::writeDTDElement — Écrit un élément DTD
    • XMLWriter::writeDTDEntity — Écrit une entité DTD
    • XMLWriter::writeDTD — Écrit une DTD
    • XMLWriter::writeElementNS — Écrit un élément d'un espace de noms
    • XMLWriter::writeElement — Écrit un élément
    • XMLWriter::writePI — Écrit la balise PI
    • XMLWriter::writeRaw — Écrit un texte XML brut
XMLReader::XML
Introduction
Manipulation XML


Introduction

Voici l'extension XMLWriter. Elle utilise l'API libxml xmlWriter.

Cette extension permet la génération de flux et de fichiers au format XML.

Cette extension peut être utilisée dans un style orienté objet ou un style procédural. Chaque méthode documentée décrit l'appel procédural équivalent.

XMLWriter
Installation/Configuration
XMLWriter


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
XMLWriter


Installation

Cette extension est active par défaut depuis PHP 5.1.2.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Une ressource, utilisée par la version procédurale de l'extension XMLWriter : celle retournée par la fonction xmlwriter_open_memory() ou la fonction xmlwriter_open_uri().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Cette extension ne définit aucune constante.

Types de ressources
Fonctions XMLWriter
XMLWriter


Fonctions XMLWriter

Sommaire

  • XMLWriter::endAttribute — Termine un attribut
  • XMLWriter::endCData — Termine un bloc CDATA
  • XMLWriter::endComment — Termine un commentaire
  • XMLWriter::endDocument — Termine un document
  • XMLWriter::endDTDAttlist — Termine la liste des attributs de la DTD courante
  • XMLWriter::endDTDElement — Termine l'élément de la DTD courante
  • XMLWriter::endDTDEntity — Termine l'entité de la DTD courante
  • XMLWriter::endDTD — Termine la DTD courante
  • XMLWriter::endElement — Termine l'élément courant
  • XMLWriter::endPI — Termine le PI courant
  • XMLWriter::flush — Affiche le buffer courant
  • XMLWriter::fullEndElement — Termine l'élément courant
  • XMLWriter::openMemory — Crée un nouveau xmlwriter en utilisant la mémoire pour l'affichage des chaînes
  • XMLWriter::openURI — Crée un nouveau xmlwriter, en utilisant l'URI source pour l'affichage
  • XMLWriter::outputMemory — Retourne le buffer courant
  • XMLWriter::setIndentString — Définit la chaîne à utiliser pour l'indentation
  • XMLWriter::setIndent — Active ou non l'indentation
  • XMLWriter::startAttributeNs — Crée un attribut pour l'espace de noms
  • XMLWriter::startAttribute — Crée un attribut
  • XMLWriter::startCData — Crée une balise CDATA
  • XMLWriter::startComment — Crée un commentaire
  • XMLWriter::startDocument — Crée un document
  • XMLWriter::startDTDAttlist — Crée une liste d'attributs pour la DTD
  • XMLWriter::startDTDElement — Crée un élément DTD
  • XMLWriter::startDTDEntity — Crée une entité DTD
  • XMLWriter::startDTD — Crée une DTD
  • XMLWriter::startElementNs — Crée un élément d'un espace de noms
  • XMLWriter::startElement — Crée un élément
  • XMLWriter::startPI — Crée une balise PI
  • XMLWriter::text — Écrit du texte
  • XMLWriter::writeAttributeNs — Écrit un attribut d'un espace de noms
  • XMLWriter::writeAttribute — Écrit un attribut
  • XMLWriter::writeCData — Écrit un bloc CDATA
  • XMLWriter::writeComment — Écrit un commentaire
  • XMLWriter::writeDTDAttlist — Écrit une liste d'attributs DTD
  • XMLWriter::writeDTDElement — Écrit un élément DTD
  • XMLWriter::writeDTDEntity — Écrit une entité DTD
  • XMLWriter::writeDTD — Écrit une DTD
  • XMLWriter::writeElementNS — Écrit un élément d'un espace de noms
  • XMLWriter::writeElement — Écrit un élément
  • XMLWriter::writePI — Écrit la balise PI
  • XMLWriter::writeRaw — Écrit un texte XML brut
Constantes pré-définies
XMLWriter::endAttribute
XMLWriter


Termine un attribut

Fonctions XMLWriter
XMLWriter::endCData
Fonctions XMLWriter
PHP Manual

XMLWriter::endAttribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute — Termine un attribut

Description

Style orienté objet

XMLWriter
bool endAttribute ( void )

Style procédural

bool xmlwriter_end_attribute ( resource $xmlwriter )

Termine l'attribut courant.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startAttribute - Crée un attribut
  • XMLWriter::startAttributeNS - Crée un attribut pour l'espace de noms
  • XMLWriter::writeAttribute - Écrit un attribut
  • XMLWriter::writeAttributeNS - Écrit un attribut d'un espace de noms

Fonctions XMLWriter
XMLWriter::endCData
Fonctions XMLWriter


Termine un bloc CDATA

XMLWriter::endAttribute
XMLWriter::endComment
Fonctions XMLWriter
PHP Manual

XMLWriter::endCData

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endCData — Termine un bloc CDATA

Description

Style orienté objet

XMLWriter
bool endCData ( void )

Style procédural

bool xmlwriter_end_cdata ( resource $xmlwriter )

Termine la section CDATA courante.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startCData - Crée une balise CDATA
  • XMLWriter::writeCData - Écrit un bloc CDATA

XMLWriter::endAttribute
XMLWriter::endComment
Fonctions XMLWriter


Termine un commentaire

XMLWriter::endCData
XMLWriter::endDocument
Fonctions XMLWriter
PHP Manual

XMLWriter::endComment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment — Termine un commentaire

Description

Style orienté objet

XMLWriter
bool endComment ( void )

Style procédural

bool xmlwriter_end_comment ( resource $xmlwriter )

Termine le commentaire courant.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startComment - Crée un commentaire
  • XMLWriter::writeComment - Écrit un commentaire

XMLWriter::endCData
XMLWriter::endDocument
Fonctions XMLWriter


Termine un document

XMLWriter::endComment
XMLWriter::endDTDAttlist
Fonctions XMLWriter
PHP Manual

XMLWriter::endDocument

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument — Termine un document

Description

Style orienté objet

XMLWriter
bool endDocument ( void )

Style procédural

bool xmlwriter_end_document ( resource $xmlwriter )

Termine le document courant.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDocument - Crée un document

XMLWriter::endComment
XMLWriter::endDTDAttlist
Fonctions XMLWriter


Termine la liste des attributs de la DTD courante

XMLWriter::endDocument
XMLWriter::endDTDElement
Fonctions XMLWriter
PHP Manual

XMLWriter::endDTDAttlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDAttlist — Termine la liste des attributs de la DTD courante

Description

Style orienté objet

XMLWriter
bool endDTDAttlist ( void )

Style procédural

bool xmlwriter_end_dtd_attlist ( resource $xmlwriter )

Termine la liste des attributs de la DTD courante.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTDAttlist - Crée une liste d'attributs pour la DTD
  • XMLWriter::writeDTDAttlist - Écrit une liste d'attributs DTD

XMLWriter::endDocument
XMLWriter::endDTDElement
Fonctions XMLWriter


Termine l'élément de la DTD courante

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
Fonctions XMLWriter
PHP Manual

XMLWriter::endDTDElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDElement — Termine l'élément de la DTD courante

Description

Style orienté objet

XMLWriter
bool endDTDElement ( void )

Style procédural

bool xmlwriter_end_dtd_element ( resource $xmlwriter )

Termine l'élément de la DTD courante.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTDElement - Crée un élément DTD
  • XMLWriter::writeDTDElement - Écrit un élément DTD

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
Fonctions XMLWriter


Termine l'entité de la DTD courante

XMLWriter::endDTDElement
XMLWriter::endDTD
Fonctions XMLWriter
PHP Manual

XMLWriter::endDTDEntity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDEntity — Termine l'entité de la DTD courante

Description

Style orienté objet

XMLWriter
bool endDTDEntity ( void )

Style procédural

bool xmlwriter_end_dtd_entity ( resource $xmlwriter )

Termine l'entité de la DTD courante.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTDEntity - Crée une entité DTD
  • XMLWriter::writeDTDEntity - Écrit une entité DTD

XMLWriter::endDTDElement
XMLWriter::endDTD
Fonctions XMLWriter


Termine la DTD courante

XMLWriter::endDTDEntity
XMLWriter::endElement
Fonctions XMLWriter
PHP Manual

XMLWriter::endDTD

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTD — Termine la DTD courante

Description

Style orienté objet

XMLWriter
bool endDTD ( void )

Style procédural

bool xmlwriter_end_dtd ( resource $xmlwriter )

Termine la DTD courante du document.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTD - Crée une DTD
  • XMLWriter::writeDTD - Écrit une DTD

XMLWriter::endDTDEntity
XMLWriter::endElement
Fonctions XMLWriter


Termine l'élément courant

XMLWriter::endDTD
XMLWriter::endPI
Fonctions XMLWriter
PHP Manual

XMLWriter::endElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endElement — Termine l'élément courant

Description

Style orienté objet

XMLWriter
bool endElement ( void )

Style procédural

bool xmlwriter_end_element ( resource $xmlwriter )

Termine l'élément courant.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startElement - Crée un élément
  • XMLWriter::writeElement - Écrit un élément

XMLWriter::endDTD
XMLWriter::endPI
Fonctions XMLWriter


Termine le PI courant

XMLWriter::endElement
XMLWriter::flush
Fonctions XMLWriter
PHP Manual

XMLWriter::endPI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endPI — Termine le PI courant

Description

Style orienté objet

XMLWriter
bool endPI ( void )

Style procédural

bool xmlwriter_end_pi ( resource $xmlwriter )

Termine l'instruction courante.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startPI - Crée une balise PI
  • XMLWriter::writePI - Écrit la balise PI

XMLWriter::endElement
XMLWriter::flush
Fonctions XMLWriter


Affiche le buffer courant

XMLWriter::endPI
XMLWriter::fullEndElement
Fonctions XMLWriter
PHP Manual

XMLWriter::flush

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::flush — Affiche le buffer courant

Description

Style orienté objet

XMLWriter
mixed flush ([ bool $empty ] )

Style procédural

mixed xmlwriter_flush ( resource $xmlwriter [, bool $empty ] )

Affiche le buffer courant.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

empty

Si l'on doit vider le buffer ou non. Par défaut, ce paramètre vaut TRUE.

Valeurs de retour

Si vous aviez ouvert le gestionnaire d'écriture en mémoire, cette fonction retourne le buffer XML généré. Si vous utilisez une URI, cette fonction écrira le buffer et retournera le nombre d'octets écrits.

XMLWriter::endPI
XMLWriter::fullEndElement
Fonctions XMLWriter


Termine l'élément courant

XMLWriter::flush
XMLWriter::openMemory
Fonctions XMLWriter
PHP Manual

XMLWriter::fullEndElement

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::fullEndElement — Termine l'élément courant

Description

Style orienté objet

XMLWriter
bool fullEndElement ( void )

Style procédural

bool xmlwriter_full_end_element ( resource $xmlwriter )

Termine l'élément XML courant. Écrit une balise de fin même si l'élément est vide.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endElement - Termine l'élément courant

XMLWriter::flush
XMLWriter::openMemory
Fonctions XMLWriter


Crée un nouveau xmlwriter en utilisant la mémoire pour l'affichage des chaînes

XMLWriter::fullEndElement
XMLWriter::openURI
Fonctions XMLWriter
PHP Manual

XMLWriter::openMemory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory — Crée un nouveau xmlwriter en utilisant la mémoire pour l'affichage des chaînes

Description

Style orienté objet

XMLWriter
bool openMemory ( void )

Style procédural

resource xmlwriter_open_memory ( void )

Crée un nouvel objet XMLWriter, en utilisant la mémoire pour l'affichage des chaînes.

Liste de paramètres

Valeurs de retour

Style orienté objet : Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Style procédural : retourne une ressource xmlwriter en cas de succès, FALSE si une erreur survient.

Voir aussi

  • XMLWriter::openURI - Crée un nouveau xmlwriter, en utilisant l'URI source pour l'affichage

XMLWriter::fullEndElement
XMLWriter::openURI
Fonctions XMLWriter


Crée un nouveau xmlwriter, en utilisant l'URI source pour l'affichage

XMLWriter::openMemory
XMLWriter::outputMemory
Fonctions XMLWriter
PHP Manual

XMLWriter::openURI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openURI — Crée un nouveau xmlwriter, en utilisant l'URI source pour l'affichage

Description

Style orienté objet

XMLWriter
bool openURI ( string $uri )

Style procédural

resource xmlwriter_open_uri ( string $uri )

Crée un nouveau XMLWriter, en utilisant l'uri pour l'affichage.

Liste de paramètres

uri

L'URI de la ressource pour l'affichage.

Valeurs de retour

Style orienté objet : Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Style procédural : Retourne une ressource xmlwriter pour une utilisation future avec les fonctions xmlwriter en cas de succès, FALSE si une erreur survient.

Voir aussi

  • XMLWriter::openMemory - Crée un nouveau xmlwriter en utilisant la mémoire pour l'affichage des chaînes

XMLWriter::openMemory
XMLWriter::outputMemory
Fonctions XMLWriter


Retourne le buffer courant

XMLWriter::openURI
XMLWriter::setIndentString
Fonctions XMLWriter
PHP Manual

XMLWriter::outputMemory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::outputMemory — Retourne le buffer courant

Description

Style orienté objet

XMLWriter
string outputMemory ([ bool $flush ] )

Style procédural

string xmlwriter_output_memory ( resource $xmlwriter [, bool $flush ] )

Retourne le buffer courant.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

flush

Si l'on doit afficher le buffer ou non. Par défaut, ce paramètre vaut TRUE.

Valeurs de retour

Retourne le buffer courant sous la forme d'une chaîne de caractères.

Voir aussi

  • XMLWriter::flush - Affiche le buffer courant

XMLWriter::openURI
XMLWriter::setIndentString
Fonctions XMLWriter


Définit la chaîne à utiliser pour l'indentation

XMLWriter::outputMemory
XMLWriter::setIndent
Fonctions XMLWriter
PHP Manual

XMLWriter::setIndentString

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndentString — Définit la chaîne à utiliser pour l'indentation

Description

Style orienté objet

XMLWriter
bool setIndentString ( string $indentString )

Style procédural

bool xmlwriter_set_indent_string ( resource $xmlwriter , string $indentString )

Définit la chaîne qui sera utilisée pour indenter chaque élément/attribut d'un document XML.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

indentString

La chaîne pour l'indentation.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::setIndent - Active ou non l'indentation

XMLWriter::outputMemory
XMLWriter::setIndent
Fonctions XMLWriter


Active ou non l'indentation

XMLWriter::setIndentString
XMLWriter::startAttributeNs
Fonctions XMLWriter
PHP Manual

XMLWriter::setIndent

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndent — Active ou non l'indentation

Description

Style orienté objet

XMLWriter
bool setIndent ( bool $indent )

Style procédural

bool xmlwriter_set_indent ( resource $xmlwriter , bool $indent )

Active ou non l'indentation.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

indent

SI l'on doit activer l'indentation ou non.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::setIndentString - Définit la chaîne à utiliser pour l'indentation

XMLWriter::setIndentString
XMLWriter::startAttributeNs
Fonctions XMLWriter


Crée un attribut pour l'espace de noms

XMLWriter::setIndent
XMLWriter::startAttribute
Fonctions XMLWriter
PHP Manual

XMLWriter::startAttributeNs

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttributeNs — Crée un attribut pour l'espace de noms

Description

Style orienté objet

XMLWriter
bool startAttributeNS ( string $prefix , string $name , string $uri )

Style procédural

bool xmlwriter_start_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Crée un attribut pour l'espace de noms.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

Le préfixe pour l'espace de noms.

name

Le nom de l'attribut.

uri

L'URI de l'espace de noms.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startAttribute - Crée un attribut
  • XMLWriter::endAttribute - Termine un attribut
  • XMLWriter::writeAttribute - Écrit un attribut
  • XMLWriter::writeAttributeNS - Écrit un attribut d'un espace de noms

XMLWriter::setIndent
XMLWriter::startAttribute
Fonctions XMLWriter


Crée un attribut

XMLWriter::startAttributeNs
XMLWriter::startCData
Fonctions XMLWriter
PHP Manual

XMLWriter::startAttribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttribute — Crée un attribut

Description

Style orienté objet

XMLWriter
bool startAttribute ( string $name )

Style procédural

bool xmlwriter_start_attribute ( resource $xmlwriter , string $name )

Commence un attribut.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startAttributeNS - Crée un attribut pour l'espace de noms
  • XMLWriter::endAttribute - Termine un attribut
  • XMLWriter::writeAttribute - Écrit un attribut
  • XMLWriter::writeAttributeNS - Écrit un attribut d'un espace de noms

XMLWriter::startAttributeNs
XMLWriter::startCData
Fonctions XMLWriter


Crée une balise CDATA

XMLWriter::startAttribute
XMLWriter::startComment
Fonctions XMLWriter
PHP Manual

XMLWriter::startCData

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startCData — Crée une balise CDATA

Description

Style orienté objet

XMLWriter
bool startCData ( void )

Style procédural

bool xmlwriter_start_cdata ( resource $xmlwriter )

Commence un bloc CDATA.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endCData - Termine un bloc CDATA
  • XMLWriter::writeCData - Écrit un bloc CDATA

XMLWriter::startAttribute
XMLWriter::startComment
Fonctions XMLWriter


Crée un commentaire

XMLWriter::startCData
XMLWriter::startDocument
Fonctions XMLWriter
PHP Manual

XMLWriter::startComment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::startComment — Crée un commentaire

Description

Style orienté objet

XMLWriter
bool startComment ( void )

Style procédural

bool xmlwriter_start_comment ( resource $xmlwriter )

Commence un commentaire.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endComment - Termine un commentaire
  • XMLWriter::writeComment - Écrit un commentaire

XMLWriter::startCData
XMLWriter::startDocument
Fonctions XMLWriter


Crée un document

XMLWriter::startComment
XMLWriter::startDTDAttlist
Fonctions XMLWriter
PHP Manual

XMLWriter::startDocument

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDocument — Crée un document

Description

Style orienté objet

XMLWriter
bool startDocument ([ string $version [, string $encoding [, string $standalone ]]] )

Style procédural

bool xmlwriter_start_document ( resource $xmlwriter [, string $version [, string $encoding [, string $standalone = NULL ]]] )

Commence un document.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

version

Le numéro de version du document dans la déclaration XML. Par défaut, ce paramètre vaut 1.0.

encoding

L'encodage du document dans la déclaration XML. NULL par défaut.

standalone

yes ou no.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endDocument - Termine un document

XMLWriter::startComment
XMLWriter::startDTDAttlist
Fonctions XMLWriter


Crée une liste d'attributs pour la DTD

XMLWriter::startDocument
XMLWriter::startDTDElement
Fonctions XMLWriter
PHP Manual

XMLWriter::startDTDAttlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDAttlist — Crée une liste d'attributs pour la DTD

Description

Style orienté objet

XMLWriter
bool startDTDAttlist ( string $name )

Style procédural

bool xmlwriter_start_dtd_attlist ( resource $xmlwriter , string $name )

Crée une liste d'attributs pour la DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de la liste d'attributs.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endDTDAttlist - Termine la liste des attributs de la DTD courante
  • XMLWriter::writeDTDAttlist - Écrit une liste d'attributs DTD

XMLWriter::startDocument
XMLWriter::startDTDElement
Fonctions XMLWriter


Crée un élément DTD

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
Fonctions XMLWriter
PHP Manual

XMLWriter::startDTDElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDElement — Crée un élément DTD

Description

Style orienté objet

XMLWriter
bool startDTDElement ( string $qualifiedName )

Style procédural

bool xmlwriter_start_dtd_element ( resource $xmlwriter , string $qualifiedName )

Commence un élément DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

qualifiedName

Le nom qualifié du type de document à créer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endDTDElement - Termine l'élément de la DTD courante
  • XMLWriter::writeDTDElement - Écrit un élément DTD

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
Fonctions XMLWriter


Crée une entité DTD

XMLWriter::startDTDElement
XMLWriter::startDTD
Fonctions XMLWriter
PHP Manual

XMLWriter::startDTDEntity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDEntity — Crée une entité DTD

Description

Style orienté objet

XMLWriter
bool startDTDEntity ( string $name , bool $isparam )

Style procédural

bool xmlwriter_start_dtd_entity ( resource $xmlwriter , string $name , bool $isparam )

Commence une entité DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'entité.

isparam

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endDTDEntity - Termine l'entité de la DTD courante
  • XMLWriter::writeDTDEntity - Écrit une entité DTD

XMLWriter::startDTDElement
XMLWriter::startDTD
Fonctions XMLWriter


Crée une DTD

XMLWriter::startDTDEntity
XMLWriter::startElementNs
Fonctions XMLWriter
PHP Manual

XMLWriter::startDTD

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTD — Crée une DTD

Description

Style orienté objet

XMLWriter
bool startDTD ( string $qualifiedName [, string $publicId [, string $systemId ]] )

Style procédural

bool xmlwriter_start_dtd ( resource $xmlwriter , string $qualifiedName [, string $publicId [, string $systemId ]] )

Commence une DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

qualifiedName

Le nom qualifié du type de document à créer.

publicId

L'identifiant publique externe.

systemId

L'identifiant système externe.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endDTD - Termine la DTD courante
  • XMLWriter::writeDTD - Écrit une DTD

XMLWriter::startDTDEntity
XMLWriter::startElementNs
Fonctions XMLWriter


Crée un élément d'un espace de noms

XMLWriter::startDTD
XMLWriter::startElement
Fonctions XMLWriter
PHP Manual

XMLWriter::startElementNs

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElementNs — Crée un élément d'un espace de noms

Description

Style orienté objet

XMLWriter
bool startElementNS ( string $prefix , string $name , string $uri )

Style procédural

bool xmlwriter_start_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Crée un élément d'un espace de noms.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

Le préfixe de l'espace de noms.

name

Le nom de l'élément.

uri

L'URI de l'espace de noms.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endElement - Termine l'élément courant
  • XMLWriter::writeElementNS - Écrit un élément d'un espace de noms

XMLWriter::startDTD
XMLWriter::startElement
Fonctions XMLWriter


Crée un élément

XMLWriter::startElementNs
XMLWriter::startPI
Fonctions XMLWriter
PHP Manual

XMLWriter::startElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElement — Crée un élément

Description

Style orienté objet

XMLWriter
bool startElement ( string $name )

Style procédural

bool xmlwriter_start_element ( resource $xmlwriter , string $name )

Commence un élément.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'élément.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endElement - Termine l'élément courant
  • XMLWriter::writeElement - Écrit un élément

XMLWriter::startElementNs
XMLWriter::startPI
Fonctions XMLWriter


Crée une balise PI

XMLWriter::startElement
XMLWriter::text
Fonctions XMLWriter
PHP Manual

XMLWriter::startPI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startPI — Crée une balise PI

Description

Style orienté objet

XMLWriter
bool startPI ( string $target )

Style procédural

bool xmlwriter_start_pi ( resource $xmlwriter , string $target )

Commence une balise d'instruction.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

target

La cible de l'instruction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::endPI - Termine le PI courant
  • XMLWriter::writePI - Écrit la balise PI

XMLWriter::startElement
XMLWriter::text
Fonctions XMLWriter


Écrit du texte

XMLWriter::startPI
XMLWriter::writeAttributeNs
Fonctions XMLWriter
PHP Manual

XMLWriter::text

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::text — Écrit du texte

Description

Style orienté objet

XMLWriter
bool text ( string $content )

Style procédural

bool xmlwriter_text ( resource $xmlwriter , string $content )

Écrit du texte.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

content

Le contenu du texte.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

XMLWriter::startPI
XMLWriter::writeAttributeNs
Fonctions XMLWriter


Écrit un attribut d'un espace de noms

XMLWriter::text
XMLWriter::writeAttribute
Fonctions XMLWriter
PHP Manual

XMLWriter::writeAttributeNs

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttributeNs — Écrit un attribut d'un espace de noms

Description

Style orienté objet

XMLWriter
bool writeAttributeNS ( string $prefix , string $name , string $uri , string $content )

Style procédural

bool xmlwriter_write_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri , string $content )

Écrit un attribut d'un espace de noms.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

Le préfixe de l'espace de noms.

name

Le nom de l'attribut.

uri

L'URI de l'espace de noms.

content

La valeur de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::writeAttribute - Écrit un attribut
  • XMLWriter::startAttribute - Crée un attribut
  • XMLWriter::startAttributeNS - Crée un attribut pour l'espace de noms
  • XMLWriter::endAttribute - Termine un attribut

XMLWriter::text
XMLWriter::writeAttribute
Fonctions XMLWriter


Écrit un attribut

XMLWriter::writeAttributeNs
XMLWriter::writeCData
Fonctions XMLWriter
PHP Manual

XMLWriter::writeAttribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttribute — Écrit un attribut

Description

Style orienté objet

XMLWriter
bool writeAttribute ( string $name , string $value )

Style procédural

bool xmlwriter_write_attribute ( resource $xmlwriter , string $name , string $value )

Écrit un attribut.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'attribut.

value

La valeur de l'attribut.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::writeAttributeNS - Écrit un attribut d'un espace de noms
  • XMLWriter::startAttribute - Crée un attribut
  • XMLWriter::startAttributeNS - Crée un attribut pour l'espace de noms
  • XMLWriter::endAttribute - Termine un attribut

XMLWriter::writeAttributeNs
XMLWriter::writeCData
Fonctions XMLWriter


Écrit un bloc CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
Fonctions XMLWriter
PHP Manual

XMLWriter::writeCData

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCData — Écrit un bloc CDATA

Description

Style orienté objet

XMLWriter
bool writeCData ( string $content )

Style procédural

bool xmlwriter_write_cdata ( resource $xmlwriter , string $content )

Écrit un bloc CDATA.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

content

Le contenu du bloc CDATA.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startCData - Crée une balise CDATA
  • XMLWriter::endCData - Termine un bloc CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
Fonctions XMLWriter


Écrit un commentaire

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
Fonctions XMLWriter
PHP Manual

XMLWriter::writeComment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeComment — Écrit un commentaire

Description

Style orienté objet

XMLWriter
bool writeComment ( string $content )

Style procédural

bool xmlwriter_write_comment ( resource $xmlwriter , string $content )

Écrit un commentaire.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

content

Le contenu du commentaire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startComment - Crée un commentaire
  • XMLWriter::endComment - Termine un commentaire

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
Fonctions XMLWriter


Écrit une liste d'attributs DTD

XMLWriter::writeComment
XMLWriter::writeDTDElement
Fonctions XMLWriter
PHP Manual

XMLWriter::writeDTDAttlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDAttlist — Écrit une liste d'attributs DTD

Description

Style orienté objet

XMLWriter
bool writeDTDAttlist ( string $name , string $content )

Style procédural

bool xmlwriter_write_dtd_attlist ( resource $xmlwriter , string $name , string $content )

Écrit une liste d'attribut DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de la liste d'attributs DTD.

content

Le contenu de la liste d'attributs DTD.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTDAttlist - Crée une liste d'attributs pour la DTD
  • XMLWriter::endDTDAttlist - Termine la liste des attributs de la DTD courante

XMLWriter::writeComment
XMLWriter::writeDTDElement
Fonctions XMLWriter


Écrit un élément DTD

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
Fonctions XMLWriter
PHP Manual

XMLWriter::writeDTDElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDElement — Écrit un élément DTD

Description

Style orienté objet

XMLWriter
bool writeDTDElement ( string $name , string $content )

Style procédural

bool xmlwriter_write_dtd_element ( resource $xmlwriter , string $name , string $content )

Écrit un élément DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'élément DTD.

content

Le contenu de l'élément.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTDElement - Crée un élément DTD
  • XMLWriter::endDTDElement - Termine l'élément de la DTD courante

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
Fonctions XMLWriter


Écrit une entité DTD

XMLWriter::writeDTDElement
XMLWriter::writeDTD
Fonctions XMLWriter
PHP Manual

XMLWriter::writeDTDEntity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDEntity — Écrit une entité DTD

Description

Style orienté objet

XMLWriter
bool writeDTDEntity ( string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Style procédural

bool xmlwriter_write_dtd_entity ( resource $xmlwriter , string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Écrit une entité DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'entité.

content

Le contenu de l'entité.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTDEntity - Crée une entité DTD
  • XMLWriter::endDTDEntity - Termine l'entité de la DTD courante

XMLWriter::writeDTDElement
XMLWriter::writeDTD
Fonctions XMLWriter


Écrit une DTD

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
Fonctions XMLWriter
PHP Manual

XMLWriter::writeDTD

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTD — Écrit une DTD

Description

Style orienté objet

XMLWriter
bool writeDTD ( string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Style procédural

bool xmlwriter_write_dtd ( resource $xmlwriter , string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Écrit une DTD.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de la DTD.

publicId

L'identifiant publique externe.

systemId

L'identifiant système externe.

subset

Le contenu de la DTD.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startDTD - Crée une DTD
  • XMLWriter::endDTD - Termine la DTD courante

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
Fonctions XMLWriter


Écrit un élément d'un espace de noms

XMLWriter::writeDTD
XMLWriter::writeElement
Fonctions XMLWriter
PHP Manual

XMLWriter::writeElementNS

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElementNS — Écrit un élément d'un espace de noms

Description

Style orienté objet

XMLWriter
bool writeElementNS ( string $prefix , string $name , string $uri [, string $content ] )

Style procédural

bool xmlwriter_write_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri [, string $content ] )

Écrit un élément d'un espace de noms.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

prefix

Le préfixe de l'espace de noms.

name

Le nom de l'élément.

uri

L'URI de l'espace de noms.

content

Le contenu de l'élément.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
PHP 5.2.3 | Le paramètre content est devenu optionnel.

Voir aussi

  • XMLWriter::startElementNS - Crée un élément d'un espace de noms
  • XMLWriter::endElement - Termine l'élément courant
  • XMLWriter::writeElement - Écrit un élément

XMLWriter::writeDTD
XMLWriter::writeElement
Fonctions XMLWriter


Écrit un élément

XMLWriter::writeElementNS
XMLWriter::writePI
Fonctions XMLWriter
PHP Manual

XMLWriter::writeElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElement — Écrit un élément

Description

Style orienté objet

XMLWriter
bool writeElement ( string $name [, string $content ] )

Style procédural

bool xmlwriter_write_element ( resource $xmlwriter , string $name [, string $content ] )

Écrit un élément.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

name

Le nom de l'élément.

content

Le contenu de l'élément.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version | Description
PHP 5.2.3 | Le paramètre content est devenu optionnel.

Voir aussi

  • XMLWriter::startElement - Crée un élément
  • XMLWriter::endElement - Termine l'élément courant
  • XMLWriter::writeElementNS - Écrit un élément d'un espace de noms

XMLWriter::writeElementNS
XMLWriter::writePI
Fonctions XMLWriter


Écrit la balise PI

XMLWriter::writeElement
XMLWriter::writeRaw
Fonctions XMLWriter
PHP Manual

XMLWriter::writePI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writePI — Écrit la balise PI

Description

Style orienté objet

XMLWriter
bool writePI ( string $target , string $content )

Style procédural

bool xmlwriter_write_pi ( resource $xmlwriter , string $target , string $content )

Écrit la balise PI.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

target

La cible de l'instruction.

content

Le contenu de l'instruction.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::startPI - Crée une balise PI
  • XMLWriter::endPI - Termine le PI courant

XMLWriter::writeElement
XMLWriter::writeRaw
Fonctions XMLWriter


Écrit un texte XML brut

XMLWriter::writePI
XSL
Fonctions XMLWriter
PHP Manual

XMLWriter::writeRaw

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::writeRaw — Écrit un texte XML brut

Description

Style orienté objet

XMLWriter
bool writeRaw ( string $content )

Style procédural

bool xmlwriter_write_raw ( resource $xmlwriter , string $content )

Écrit un texte XML brut.

Liste de paramètres

xmlwriter

Uniquement pour les appels procéduraux. La ressource XMLWriter qui a été modifiée. Cette ressource provient d'un appel à xmlwriter_open_uri() ou xmlwriter_open_memory().

content

Le texte à écrire.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XMLWriter::text - Écrit du texte

XMLWriter::writePI
XSL
Fonctions XMLWriter


XSL

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Exemples
    • collection.xml
  • XSLTProcessor — La classe XSLTProcessor
    • XSLTProcessor::__construct — Crée un nouvel objet XSLTProcessor
    • XSLTProcessor::getParameter — Récupère la valeur d'un paramètre
    • XSLTProcessor::hasExsltSupport — Indique si PHP utilise EXSLT
    • XSLTProcessor::importStylesheet — Importe une feuille de style
    • XSLTProcessor::registerPHPFunctions — Active l'utilisation de PHP dans les feuilles de styles XSLT
    • XSLTProcessor::removeParameter — Efface un paramètre
    • XSLTProcessor::setParameter — Définit la valeur d'un paramètre
    • XSLTProcessor::setProfiling — Spécifie le fichier de profilage
    • XSLTProcessor::transformToDoc — Transforme en un document DOM
    • XSLTProcessor::transformToUri — Transforme en URI
    • XSLTProcessor::transformToXML — Transforme en XML
XMLWriter::writeRaw
Introduction
Manipulation XML


Introduction

L'extension XSL implémente le standard XSL, et effectue des » transformations XSLT en utilisant la » bibliothèque libxslt

XSL
Installation/Configuration
XSL


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
XSL


Pré-requis

Cette extension utilise libxslt qui peut être trouvée sur » http://xmlsoft.org/XSLT/. libxslt en version 1.1.0 ou ultérieure est requise.

Installation/Configuration
Installation
Installation/Configuration


Installation

PHP 5 inclut l'extension XSL par défaut et peut être activée en ajoutant l'argument --with-xsl[=DIR] à votre ligne de configuration. DIR est le dossier d'installation de la bibliothèque libxslt.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XSL_CLONE_AUTO (entier)
XSL_CLONE_NEVER (entier)
XSL_CLONE_ALWAYS (entier)
LIBXSLT_VERSION (entier)
Version libxslt, par exemple : 10117. Disponible depuis PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (chaîne de caractères)
Version libxslt, par exemple : 1.1.17. Disponible depuis PHP 5.1.2.
LIBEXSLT_VERSION (entier)
Version libexslt, par exemple : 813. Disponible depuis PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (chaîne de caractères)
Version libexslt, par exemple : 1.1.17. Disponible depuis PHP 5.1.2.
Types de ressources
Exemples
XSL


Exemples

Sommaire

  • collection.xml
Constantes pré-définies
collection.xml
XSL


collection.xml

Exemples
XSLTProcessor
Exemples
PHP Manual

De nombreux exemples de ce chapitre nécessitent à la fois un fichier XML et un fichier XSL. Nous utiliserons collection.xml et collection.xsl qui contiennent respectivement :

Exemple #1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Exemple #2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

Exemples
XSLTProcessor
Exemples


La classe XSLTProcessor

Introduction

Synopsis de la classe

XSLTProcessor
XSLTProcessor {
/* Méthodes */
string getParameter ( string $namespaceURI , string $localName )
bool hasExsltSupport ( void )
void importStylesheet ( object $stylesheet )
void registerPHPFunctions ([ mixed $restrict ] )
bool removeParameter ( string $namespaceURI , string $localName )
bool setParameter ( string $namespace , string $name , string $value )
bool setProfiling ( string $filename )
DOMDocument transformToDoc ( DOMNode $doc )
int transformToURI ( DOMDocument $doc , string $uri )
string transformToXML ( DOMDocument $doc )
}

Sommaire

  • XSLTProcessor::__construct — Crée un nouvel objet XSLTProcessor
  • XSLTProcessor::getParameter — Récupère la valeur d'un paramètre
  • XSLTProcessor::hasExsltSupport — Indique si PHP utilise EXSLT
  • XSLTProcessor::importStylesheet — Importe une feuille de style
  • XSLTProcessor::registerPHPFunctions — Active l'utilisation de PHP dans les feuilles de styles XSLT
  • XSLTProcessor::removeParameter — Efface un paramètre
  • XSLTProcessor::setParameter — Définit la valeur d'un paramètre
  • XSLTProcessor::setProfiling — Spécifie le fichier de profilage
  • XSLTProcessor::transformToDoc — Transforme en un document DOM
  • XSLTProcessor::transformToUri — Transforme en URI
  • XSLTProcessor::transformToXML — Transforme en XML
collection.xml
XSLTProcessor::__construct
XSL


Crée un nouvel objet XSLTProcessor

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor
PHP Manual

XSLTProcessor::__construct

(PHP 5)

XSLTProcessor::__construct — Crée un nouvel objet XSLTProcessor

Description

XSLTProcessor
__construct ( void )

Crée un nouvel objet XSLTProcessor.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec XSLTProcessor

<?php

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load($xsl_filename);
$xsl->importStyleSheet($doc);

$doc->load($xml_filename);
echo $xsl->transformToXML($doc);

?>

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor


Récupère la valeur d'un paramètre

XSLTProcessor::__construct
XSLTProcessor::hasExsltSupport
XSLTProcessor
PHP Manual

XSLTProcessor::getParameter

(PHP 5)

XSLTProcessor::getParameter — Récupère la valeur d'un paramètre

Description

XSLTProcessor
string getParameter ( string $namespaceURI , string $localName )

Récupère la valeur d'un paramètre s'il a été défini précédemment par la fonction XSLTProcessor::setParameter().

Liste de paramètres

namespaceURI

L'URI de l'espace de noms du paramètre XSLT.

localName

Le nom local du paramètre XSLT.

Valeurs de retour

La valeur du paramètre, ou NULL s'il n'est pas défini.

Voir aussi

  • XSLTProcessor::setParameter() - Définit la valeur d'un paramètre
  • XSLTProcessor::removeParameter() - Efface un paramètre

XSLTProcessor::__construct
XSLTProcessor::hasExsltSupport
XSLTProcessor


Indique si PHP utilise EXSLT

XSLTProcessor::getParameter
XSLTProcessor::importStylesheet
XSLTProcessor
PHP Manual

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4)

XSLTProcessor::hasExsltSupport — Indique si PHP utilise EXSLT

Description

XSLTProcessor
bool hasExsltSupport ( void )

Cette méthode détermine si PHP a été compilé avec la bibliothèque » EXSLT.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Test du support EXSLT

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('Le support d\'EXSLT n\'est pas disponible');
}

// Travaux avec EXSLT

?>

XSLTProcessor::getParameter
XSLTProcessor::importStylesheet
XSLTProcessor


Importe une feuille de style

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor
PHP Manual

XSLTProcessor::importStylesheet

(PHP 5)

XSLTProcessor::importStylesheet — Importe une feuille de style

Description

XSLTProcessor
void importStylesheet ( object $stylesheet )

Cette méthode importe une feuille de style dans le XSLTProcessor pour transformations.

Liste de paramètres

stylesheet

La feuille de style importée en tant qu'objet DOMDocument ou objet SimpleXMLElement.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
5.2.8 | Accepte de nouveau SimpleXMLElement depuis PHP 5.2.6 alors qu'il était cassé auparavant.

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor


Active l'utilisation de PHP dans les feuilles de styles XSLT

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4)

XSLTProcessor::registerPHPFunctions — Active l'utilisation de PHP dans les feuilles de styles XSLT

Description

XSLTProcessor
void registerPHPFunctions ([ mixed $restrict ] )

Cette méthode permet d'utiliser les fonctions PHP en tant que fonctions XSLT dans les feuilles de style XSL.

Liste de paramètres

restrict

Utilisez ce paramètre pour restreindre les fonctions PHP accessibles depuis XSLT.

Ce paramètre peut être une chaîne (le nom d'une fonction) ou un tableau de noms de fonctions.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Appel d'une fonction PHP depuis une feuille de style

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Users</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>

Historique

Version | Description
5.1.0 | Le paramètre restrict a été ajouté.

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor


Efface un paramètre

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor
PHP Manual

XSLTProcessor::removeParameter

(PHP 5)

XSLTProcessor::removeParameter — Efface un paramètre

Description

XSLTProcessor
bool removeParameter ( string $namespaceURI , string $localName )

Efface un paramètre, s'il est défini. Ceci fera que le processeur utilisera la valeur par défaut pour le paramètre comme défini dans la feuille de style.

Liste de paramètres

namespaceURI

L'URI de l'espace de noms du paramètre XSLT.

localName

Le nom local du paramètre XSLT.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Voir aussi

  • XSLTProcessor::setParameter() - Définit la valeur d'un paramètre
  • XSLTProcessor::getParameter() - Récupère la valeur d'un paramètre

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor


Définit la valeur d'un paramètre

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor
PHP Manual

XSLTProcessor::setParameter

(PHP 5)

XSLTProcessor::setParameter — Définit la valeur d'un paramètre

Description

XSLTProcessor
bool setParameter ( string $namespace , string $name , string $value )
XSLTProcessor
bool setParameter ( string $namespace , array $options )

Spécifie la valeur d'un ou plusieurs paramètres pour être utilisés dans une sous-séquence de transformation avec XSLTProcessor. Si le paramètre n'existe pas dans la feuille de style, il sera ignoré.

Liste de paramètres

namespace

L'URI de l'espace de noms du paramètre XSLT.

name

Le nom local du paramètre XSLT.

value

La nouvelle valeur du paramètre XSLT.

options

Un tableau de paire nom => valeur. Cette syntaxe est disponible depuis PHP 5.1.0.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Modification du propriétaire avant la transformation

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure le transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attachement des règles xsl

foreach ($collections as $name => $file) {
    // Chargement de la source XML
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Voir aussi

  • XSLTProcessor::getParameter() - Récupère la valeur d'un paramètre
  • XSLTProcessor::removeParameter() - Efface un paramètre

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor


Spécifie le fichier de profilage

XSLTProcessor::setParameter
XSLTProcessor::transformToDoc
XSLTProcessor
PHP Manual

XSLTProcessor::setProfiling

(PHP >= 5.3.0)

XSLTProcessor::setProfiling — Spécifie le fichier de profilage

Description

XSLTProcessor
bool setProfiling ( string $filename )

Spécifie le fichier de sortie contenant les informations de profilage lors de l'exécution d'une feuille de style.

Liste de paramètres

filename

Chemin vers le fichier pour décharger les informations de profilage.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple d'utilisation du profilage

<?php
// Chargement de la source XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuration du transformateur
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl); // attachement des règles xsl

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

Le code ci-dessus produira les informations suivantes dans le fichier de profilage :

number               match                name      mode  Calls Tot 100us Avg

    0                   cd                                    2      3      1
    1           collection                                    1      1      1

                         Total                                3      4

XSLTProcessor::setParameter
XSLTProcessor::transformToDoc
XSLTProcessor


Transforme en un document DOM

XSLTProcessor::setProfiling
XSLTProcessor::transformToUri
XSLTProcessor
PHP Manual

XSLTProcessor::transformToDoc

(PHP 5)

XSLTProcessor::transformToDoc — Transforme en un document DOM

Description

XSLTProcessor
DOMDocument transformToDoc ( DOMNode $doc )

Transforme le noeud source en un DOMDocument en y appliquant la feuille de style donnée par la méthode XSLTProcessor::importStylesheet().

Liste de paramètres

doc

Le noeud à transformer.

Valeurs de retour

Le DOMDocument résultant ou FALSE si une erreur survient.

Exemples

Exemple #1 Transformation en un document DOM

<?php

// Chargement de la source XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuration du transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attachement des règles xsl

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

L'exemple ci-dessus va afficher :

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Voir aussi

  • XSLTProcessor::transformToUri() - Transforme en URI
  • XSLTProcessor::transformToXml() - Transforme en XML

XSLTProcessor::setProfiling
XSLTProcessor::transformToUri
XSLTProcessor


Transforme en URI

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor
PHP Manual

XSLTProcessor::transformToUri

(PHP 5)

XSLTProcessor::transformToUri — Transforme en URI

Description

XSLTProcessor
int transformToURI ( DOMDocument $doc , string $uri )

Transforme le noeud source en une URI en y appliquant la feuille de style donnée par la méthode XSLTProcessor::importStylesheet().

Liste de paramètres

doc

Le document transformé.

uri

Valeurs de retour

Retourne le nombre d'octets écrits ou FALSE si une erreur survient.

Exemples

Exemple #1 Transformation en un fichier HTML

<?php

// Chargement du source XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuration du transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attachement des règles xsl

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Voir aussi

  • XSLTProcessor::transformToDoc() - Transforme en un document DOM
  • XSLTProcessor::transformToXml() - Transforme en XML

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor


Transforme en XML

XSLTProcessor::transformToUri
XSLT (PHP4)
XSLTProcessor
PHP Manual

XSLTProcessor::transformToXML

(PHP 5)

XSLTProcessor::transformToXML — Transforme en XML

Description

XSLTProcessor
string transformToXML ( DOMDocument $doc )

Transforme le noeud source en une chaîne en y appliquant une feuille de style donnée par la méthode xsltprocessor::importStylesheet().

Liste de paramètres

doc

Le document transformé.

Valeurs de retour

Le résultat de la transformation en tant que chaîne de caractères ou FALSE si une erreur survient.

Exemples

Exemple #1 Transformation en une chaîne

<?php

// CHargement du source XML
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configuration du transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attachement des règles xsl

echo $proc->transformToXML($xml);

?>

L'exemple ci-dessus va afficher :

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Voir aussi

  • XSLTProcessor::transformToDoc() - Transforme en un document DOM
  • XSLTProcessor::transformToUri() - Transforme en URI

XSLTProcessor::transformToUri
XSLT (PHP4)
XSLTProcessor


XSLT (PHP4)

  • Introduction
  • Installation/Configuration
    • Pré-requis
    • Installation
    • Configuration à l'exécution
    • Types de ressources
  • Constantes pré-définies
  • Fonctions XSLT (PHP4)
    • xslt_backend_info — Retourne les informations sur les paramètres de compilation du backend
    • xslt_backend_name — Retourne le nom du backend
    • xslt_backend_version — Retourne le numéro de version de Sablotron
    • xslt_create — Crée un nouvel analyseur XSLT
    • xslt_errno — Retourne le numéro d'erreur
    • xslt_error — Retourne un message d'erreur
    • xslt_free — Détruit le processus XSLT
    • xslt_getopt — Récupère les options d'un processeur xsl donné
    • xslt_process — Effectue une transformation XSLT
    • xslt_set_base — Configure l'URI de base de toutes les transformations XSLT
    • xslt_set_encoding — Configure le jeu de caractères pour l'analyse des documents XML
    • xslt_set_error_handler — Configure le gestionnaire d'erreurs du processeur XSLT
    • xslt_set_log — Configure le fichier d'historique pour les messages XSLT
    • xslt_set_object — Définit l'objet dans lequel doivent être résolues les fonctions de rappel
    • xslt_set_sax_handler — Modifie les gestionnaires SAX de l'analyseur XSLT
    • xslt_set_sax_handlers — Configure les gestionnaires SAX qui seront appelés pour gérer les documents XML
    • xslt_set_scheme_handler — Configure les gestionnaires de Scheme du processeur XSLT
    • xslt_set_scheme_handlers — Configure un gestionnaire de Scheme pour un processeur XSLT
    • xslt_setopt — Définit les options d'un processeur xsl donné
XSLTProcessor::transformToXML
Introduction
Manipulation XML


Introduction

Cette extension PHP fourni une API indépendante pour les transformations XSLT. Actuellement, seul Sablotron est supporté. Le support d'autres bibliothèques comme Xalan ou libxslt est prévu.

XSLT (Extensible Stylesheet Language Transformations ou XSL) est un langage de transformation des documents XML en d'autres documents XML. C'est un standard défini par le consortium World Wide Web (W3C). Les informations sur le XLST et ses technologies sont disponibles à » http://www.w3.org/TR/xslt.

Note: Cette extension est différente de l'extension sablotron qui était distribuée dans les versions de PHP avant la 4.1.0. Actuellement, seule la nouvelle extension XSLT est supportée. Si vous souhaitez un support pour les anciennes extensions, posez vos questions sur les listes de diffusion PHP.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

Note: Si vous avez besoin du support xslt avec PHP 5, vous pouvez utiliser l'extension XSL.

XSLT (PHP4)
Installation/Configuration
XSLT (PHP4)


Installation/Configuration

Sommaire

  • Pré-requis
  • Installation
  • Configuration à l'exécution
  • Types de ressources
Introduction
Pré-requis
XSLT (PHP4)


Pré-requis

Cette extension utilise Sablotron et expat, qui sont toutes les deux disponibles à » http://freshmeat.net/projects/sablotron/. Les sources comme les exécutables sont proposés.

Installation/Configuration
Installation
Installation/Configuration


Installation

Sous UNIX, lancez configure avec l'option --with-sablot ou --with-xslt-sablot. La bibliothèque Sablotron doit être installée là où le compilateur peut la trouver.

Assurez-vous d'avoir la même bibliothèque, compilée avec Sablotron que celle qui est fournie avec PHP. Les options de configuration : --with-expat-dir=DIR --with-iconv-dir=DIR sont disponibles pour vous aider à les spécifier correctement. Lorsque vous demandez de l'aide, mentionnez toujours ces directives, ainsi que si vous avez d'autres bibliothèques installées sur votre système. Naturellement, fournissez les numéros de version.

Attention

Assurez-vous que votre bibliothèque Sablotron soit correctement reliée à -lstdc++. Dans le cas contraire, votre configuration échouera ou bien PHP refusera de fonctionner ou de se charger.

Note: Support de JavaScript E-XSLT
Si vous compilez Sablotron avec le support JavaScript, vous devez spécifier cette option : --with-sablot-js.

Note: Note aux utilisateurs Win32
Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : sablot.dll, expat.dll, et iconv.dll.
En PHP <= 4.2.0, le fichier iconv.dll n'est pas nécessaire.

Pré-requis
Configuration à l'exécution
Installation/Configuration


Types de ressources

Cette extension définit une ressource XSLT processor, retournée par la fonction xslt_create().

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XSLT_OPT_SILENT (entier)
Ignore tous les rapports d'erreurs. C'est une option générique pour toutes les interfaces qui seront ajoutées plus tard.
XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (entier)

Commande à Sablotron de faire l'analyse des entités publiques. Par défaut, cette option est désactivée.

XSLT_SABOPT_DISABLE_ADDING_META (entier)

Ne pas ajouter la balise "Content-Type" pour les fichiers HTML. La valeur par défaut est choisie lors de la compilation de Sablotron.

XSLT_SABOPT_DISABLE_STRIPPING (entier)
Arrête la suppression des espaces (pour les fichiers de données uniquement).
XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (entier)
Considère les documents non résolus (la fonction document()) comme non-bloquant.
XSLT_SABOPT_FILES_TO_HANDLER (entier)
XSLT_ERR_UNSUPPORTED_SCHEME (entier)
Renvoie un code d'erreur pour les erreurs de gestionnaire de Scheme.
Types de ressources
Fonctions XSLT (PHP4)
XSLT (PHP4)


Fonctions XSLT (PHP4)

Sommaire

  • xslt_backend_info — Retourne les informations sur les paramètres de compilation du backend
  • xslt_backend_name — Retourne le nom du backend
  • xslt_backend_version — Retourne le numéro de version de Sablotron
  • xslt_create — Crée un nouvel analyseur XSLT
  • xslt_errno — Retourne le numéro d'erreur
  • xslt_error — Retourne un message d'erreur
  • xslt_free — Détruit le processus XSLT
  • xslt_getopt — Récupère les options d'un processeur xsl donné
  • xslt_process — Effectue une transformation XSLT
  • xslt_set_base — Configure l'URI de base de toutes les transformations XSLT
  • xslt_set_encoding — Configure le jeu de caractères pour l'analyse des documents XML
  • xslt_set_error_handler — Configure le gestionnaire d'erreurs du processeur XSLT
  • xslt_set_log — Configure le fichier d'historique pour les messages XSLT
  • xslt_set_object — Définit l'objet dans lequel doivent être résolues les fonctions de rappel
  • xslt_set_sax_handler — Modifie les gestionnaires SAX de l'analyseur XSLT
  • xslt_set_sax_handlers — Configure les gestionnaires SAX qui seront appelés pour gérer les documents XML
  • xslt_set_scheme_handler — Configure les gestionnaires de Scheme du processeur XSLT
  • xslt_set_scheme_handlers — Configure un gestionnaire de Scheme pour un processeur XSLT
  • xslt_setopt — Définit les options d'un processeur xsl donné
Constantes pré-définies
xslt_backend_info
XSLT (PHP4)


Retourne les informations sur les paramètres de compilation du backend

Fonctions XSLT (PHP4)
xslt_backend_name
Fonctions XSLT (PHP4)
PHP Manual

xslt_backend_info

(PHP 4 >= 4.3.0)

xslt_backend_info — Retourne les informations sur les paramètres de compilation du backend

Description

string xslt_backend_info ( void )

xslt_backend_info() récupère les informations sur les paramètres de compilation du backend.

Valeurs de retour

Retourne une chaîne contenant des informations à propos de la compilation du backend, ou une chaîne d'erreur lorsque l'information n'est pas disponible.

Voir aussi

  • xslt_backend_name() - Retourne le nom du backend
  • xslt_backend_version() - Retourne le numéro de version de Sablotron

Fonctions XSLT (PHP4)
xslt_backend_name
Fonctions XSLT (PHP4)


Retourne le nom du backend

xslt_backend_info
xslt_backend_version
Fonctions XSLT (PHP4)
PHP Manual

xslt_backend_name

(PHP 4 >= 4.3.0)

xslt_backend_name — Retourne le nom du backend

Description

string xslt_backend_name ( void )

Retourne le nom du backend.

Valeurs de retour

Retourne Sablotron.

Exemples

Exemple #1 Exemple avec xslt_backend_name()

<?php

echo xslt_backend_name(); // Sablotron

?>

Voir aussi

  • xslt_backend_info() - Retourne les informations sur les paramètres de compilation du backend
  • xslt_backend_version() - Retourne le numéro de version de Sablotron

xslt_backend_info
xslt_backend_version
Fonctions XSLT (PHP4)


Retourne le numéro de version de Sablotron

xslt_backend_name
xslt_create
Fonctions XSLT (PHP4)
PHP Manual

xslt_backend_version

(PHP 4 >= 4.3.0)

xslt_backend_version — Retourne le numéro de version de Sablotron

Description

string xslt_backend_version ( void )

xslt_backend_version() retourne le numéro de version de Sablotron.

Valeurs de retour

Retourne le numéro de version, ou FALSE s'il n'est pas disponible.

Exemples

Exemple #1 Exemple avec xslt_backend_version()

<?php

echo xslt_backend_version(); // 0.98 par exemple

?>

Voir aussi

  • xslt_backend_info() - Retourne les informations sur les paramètres de compilation du backend
  • xslt_backend_name() - Retourne le nom du backend

xslt_backend_name
xslt_create
Fonctions XSLT (PHP4)


Crée un nouvel analyseur XSLT

xslt_backend_version
xslt_errno
Fonctions XSLT (PHP4)
PHP Manual

xslt_create

(PHP 4 >= 4.0.3)

xslt_create — Crée un nouvel analyseur XSLT

Description

resource xslt_create ( void )

Crée et retourne une nouvelle ressource XSLT nécessaire pour les appels ultérieurs aux fonctions XSLT.

Valeurs de retour

Retourne un identifiant de processus XSLT en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xslt_create()

<?php
function xml2html($xmldata, $xsl)
{
    /* $xmldata -> votre XML */
    /* $xsl -> fichier XSLT */

    $path = 'include';
    $arguments = array('/_xml' => $xmldata);
    $xsltproc = xslt_create();
    xslt_set_encoding($xsltproc, 'ISO-8859-1');
    $html =
        xslt_process($xsltproc, 'arg:/_xml', "$path/$xsl", NULL, $arguments);

    if (empty($html)) {
       die('Erreur d\'analyse XSLT : '. xslt_error($xsltproc));
    }
    xslt_free($xsltproc);
    return $html;
}
?>

Voir aussi

  • xslt_free() - Détruit le processus XSLT

xslt_backend_version
xslt_errno
Fonctions XSLT (PHP4)


Retourne le numéro d'erreur

xslt_create
xslt_error
Fonctions XSLT (PHP4)
PHP Manual

xslt_errno

(PHP 4 >= 4.0.3)

xslt_errno — Retourne le numéro d'erreur

Description

int xslt_errno ( resource $xh )

Retourne le numéro de la dernière erreur, pour l'analyseur XSLT xh.

Liste de paramètres

xh

L'identifiant de processus XSLT, créé par la fonction xslt_create().

Valeurs de retour

Retourne le code erreur, sous la forme d'un entier.

Voir aussi

  • xslt_error() - Retourne un message d'erreur

xslt_create
xslt_error
Fonctions XSLT (PHP4)


Retourne un message d'erreur

xslt_errno
xslt_free
Fonctions XSLT (PHP4)
PHP Manual

xslt_error

(PHP 4 >= 4.0.3)

xslt_error — Retourne un message d'erreur

Description

string xslt_error ( resource $xh )

Retourne une chaîne décrivant la dernière erreur survenue sur le processus XSLT fourni.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

Valeurs de retour

Retourne le message d'erreur, sous la forme d'une chaîne de caractères.

Exemples

Exemple #1 Gestion d'erreurs avec xslt_error() et xslt_errno()

<?php

$xh = xslt_create();
$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
if (!$result) {
    die(sprintf("Impossible de traiter le document XSLT [%d]: %s",
                xslt_errno($xh), xslt_error($xh)));
}

echo $result;

xslt_free($xh);
?>

Voir aussi

  • xslt_errno() - Retourne le numéro d'erreur

xslt_errno
xslt_free
Fonctions XSLT (PHP4)


Détruit le processus XSLT

xslt_error
xslt_getopt
Fonctions XSLT (PHP4)
PHP Manual

xslt_free

(PHP 4 >= 4.0.3)

xslt_free — Détruit le processus XSLT

Description

void xslt_free ( resource $xh )

Détruit le processus XSLT, identifié par le gestionnaire fourni.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

  • xslt_create() - Crée un nouvel analyseur XSLT

xslt_error
xslt_getopt
Fonctions XSLT (PHP4)


Récupère les options d'un processeur xsl donné

xslt_free
xslt_process
Fonctions XSLT (PHP4)
PHP Manual

xslt_getopt

(PHP 4 >= 4.3.0)

xslt_getopt — Récupère les options d'un processeur xsl donné

Description

int xslt_getopt ( resource $processor )

xslt_getopt() retourne les options du processeur processor.

Liste de paramètres

processor

L'identifiant du processus XSLT, créé par la fonction xslt_create().

Valeurs de retour

Retourne les options, sous la forme d'un masque construit avec les constantes XSLT_SABOPT_XXX.

Voir aussi

  • xslt_setopt() - Définit les options d'un processeur xsl donné

xslt_free
xslt_process
Fonctions XSLT (PHP4)


Effectue une transformation XSLT

xslt_getopt
xslt_set_base
Fonctions XSLT (PHP4)
PHP Manual

xslt_process

(PHP 4 >= 4.0.3)

xslt_process — Effectue une transformation XSLT

Description

mixed xslt_process ( resource $xh , string $xmlcontainer , string $xslcontainer [, string $resultcontainer [, array $arguments [, array $parameters ]]] )

xslt_process() fait partie de la nouvelle vague de fonctions XSLT. Elle vous permet de réaliser des transformations XSLT en utilisant n'importe quelle type de source : des conteneurs. Cela se fait grâce à l'utilisation de buffers d'arguments : un concept issu de Sablotron XSLT (actuellement, c'est le seul processeur XSLT qui le supporte). Les conteneurs sont, par défaut, des fichiers qui contiennent le document à traiter.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

xmlcontainer

Chemin vers le fichier XML ou le marqueur pour l'argument XML.

xslcontainer

Chemin vers le fichier XSL ou le marqueur pour l'argument XML.

resultcontainer

Le conteneur de résultat est, par défaut, un fichier qui recevra le document traité. Si le conteneur de résultat n'est pas fourni (l'argument vaut alors NULL), le résultat sera retourné par la fonction.

arguments

Au lieu de fichiers comme arguments XML et XSLT à la fonction xslt_process(), vous pouvez spécifier "des marqueurs" qui seront substitués par les valeurs données dans le tableau arguments.

parameters

Un tableau pour les paramètres de haut niveau, qui seront passés au document XSLT. Ces paramètres sont accessibles depuis le fichier XSL en utilisant l'instruction <xsl:param name="parameter_name">. Les paramètres doivent être encodés au format UTF-8 et leur valeur sera interprétée comme une chaîne de caractères par l'analyseur Sablotron. En d'autres termes, vous ne pouvez pas passer des groupes de noeuds (node-sets) comme paramètres au document XSLT.

Les conteneurs peut également être définis via le tableau arguments (voir ci-dessous).

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. si le conteneur n'est pas spécifié - i.e. NULL - sinon, le résultat sera retourné.

Historique

Version | Description
4.0.6 | Cette fonction n'accepte plus de chaînes XML dans les paramètres xmlcontainer ou xslcontainer. Passer une chaîne contenant du XML dans un de ces paramètres engendrera une erreur de segmentation dans les versions Sablotron supérieures ou égales à 0.95.

Exemples

Le type le plus simple de transformation réalisable avec xslt_process() est la transformation d'un fichier XML avec un fichier XSLT, en plaçant le résultat dans un troisième fichier XML. Faire cela avec Sablotron est très facile...

Exemple #1 Utilisation de xslt_process() pour transformer un fichier XML avec un fichier XSL en un autre fichier XML

<?php

/* Allocation du processeur XSLT */
$xh = xslt_create();

/* Traitement du document */
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
    echo "Réussi. sample.xml a été transformé par sample.xsl en result.xml";
    echo ", result.xml contient ceci :\n<br />\n";
    echo "<pre>\n";
    readfile('result.xml');
    echo "</pre>\n";
} else {
    echo "Désolé, sample.xml n'a pu être transformé par sample.xsl en ";
    echo " result.xml. La raison est " . xslt_error($xh) . " et ";
    echo " le code d'erreur est " . xslt_errno($xh);
}

xslt_free($xh);

?>

Même si cette fonctionnalité est très pratique, il arrive souvent qu'en environnement web, vous vouliez être capable d'afficher directement votre résultat. Par conséquent, si vous omettez le troisième argument de xslt_process(), ou que vous fournissez la valeur NULL à la place, la fonction va automatiquement retourner le résultat de la transformation XSLT, au lieu de l'écrire dans un fichier.

Exemple #2 Utilisation de xslt_process() pour transformer un fichier XML avec un fichier XSL et le placer dans une variable

<?php

/* Allocation d'un analyseur XSLT */
$xh = xslt_create();

/* Traitement du document */
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
    echo "Réussi. sample.xml a été transformé par sample.xsl en result.xml";
    echo ", result.xml contient ceci : \n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Désolé, sample.xml n'a pu être transformé par sample.xsl en ";
    echo " result.xml. La raison est " . xslt_error($xh) . " et ";
    echo " le code d'erreur est " . xslt_errno($xh);
}

xslt_free($xh);

?>

Les deux cas de transformations XSLT ci-dessus sont les cas les plus simples, quand on parle de transformation XSLT, et ce sont les cas les plus courants, mais il existe des situations où vous obtenez vos données XML et XSLT de sources externes comme des sockets ou des bases de données. Dans ces cas, vous avez déjà les données dans une variable et, en mode de production, écrire ces données dans des fichiers serait trop inefficace. C'est là où la syntaxe de buffers d'arguments de XSLT prend la relève. Au lieu de fichiers en termes d'arguments XML et XSLT, vous pouvez passer des buffers d'arguments, qui sont alors substitués en valeur au cinquième argument de la fonction xslt_process(). L'exemple suivant vous montre comment traiter du XML et du XSLT issus de variables, et de retrouver le résultat dans une troisième variable.

Exemple #3 Utilisation de xslt_process() pour transformer une variable XML avec une autre variable XSL et placer le résultat dans une variable

<?php
/* $xml et $xsl contiennent des données XML et XSL */

$arguments = array(
     '/_xml' => $xml,
     '/_xsl' => $xsl
);

/* Allocation d'un analyseur XSLT */
$xh = xslt_create();

/* Traitement du document */
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
if ($result) {
    echo "Réussi. sample.xml a été transformé par sample.xsl en result.xml";
    echo ", result.xml contient ceci : \n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
}
else {
    echo "Désolé, sample.xml n'a pu être transformé par sample.xsl en ";
    echo " result.xml. La raison est " . xslt_error($xh) . " et ";
    echo " le code d'erreur est " . xslt_errno($xh);
}
xslt_free($xh);
?>

Exemple #4 Passer des variables PHP à un fichier XSL

<?php

// Chaîne XML
$xml = '<?xml version="1.0"?>
<para>
 change me
</para>';

// Chaîne XSL
$xsl = '
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no"
 omit-xml-declaration="yes"  media-type="text/html"/>
 <xsl:param name="myvar"/>
 <xsl:param name="mynode"/>
 <xsl:template match="/">
Ma variable PHP : <xsl:value-of select="$myvar"/><br />
Mon node set : <xsl:value-of select="$mynode"/>
 </xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

// le deuxième paramètre sera interprété comme une chaîne
$parameters = array (
  'myvar' => 'test',
  'mynode' => '<foo>bar</foo>'
);

$arguments = array (
  '/_xml' => $xml,
  '/_xsl' => $xsl
);

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments, $parameters);

?>

L'exemple ci-dessus va afficher :

Ma variable PHP : test<br>
Mon node set : &lt;foo&gt;bar&lt;/foo&gt;

Notes

Note: Notez que vous devez préfixer le chemin par file:// si vous utilisez Windows.

xslt_getopt
xslt_set_base
Fonctions XSLT (PHP4)


Configure l'URI de base de toutes les transformations XSLT

xslt_process
xslt_set_encoding
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_base

(PHP 4 >= 4.0.5)

xslt_set_base — Configure l'URI de base de toutes les transformations XSLT

Description

void xslt_set_base ( resource $xh , string $uri )

Configure l'URI de base de toutes les transformations XSLT. L'URI est utilisée avec les instructions Xpath pour résoudre les commandes document() et les autres commandes qui ont des accès externes. Il est également utilisé pour résoudre les URI pour les éléments <xsl:include> et <xsl:import>.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

uri

L'URI de base à utiliser.

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version | Description
4.3.0 | À partir de PHP 4.3, la valeur par défaut de l'URI est le répertoire courant d'exécution du script. En effet, c'est le nom du répertoire contenu dans la constante __FILE__. Dans les versions antérieures à 4.3, la valeur par défaut de l'URI était moins prévisible.

Notes

Note: Notez que vous devez préfixer le chemin par file:// si vous utilisez Windows.

xslt_process
xslt_set_encoding
Fonctions XSLT (PHP4)


Configure le jeu de caractères pour l'analyse des documents XML

xslt_set_base
xslt_set_error_handler
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_encoding

(PHP 4 >= 4.0.5)

xslt_set_encoding — Configure le jeu de caractères pour l'analyse des documents XML

Description

void xslt_set_encoding ( resource $xh , string $encoding )

Configure le jeu de caractères pour les transformations XSLT. Lorsque vous utilisez Sablotron, cette option est uniquement disponible lorsque vous compilez Sablotron avec le support des jeux de caractères.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

encoding

Un encodage de sortie, e.g iso-8859-1.

Valeurs de retour

Aucune valeur n'est retournée.

xslt_set_base
xslt_set_error_handler
Fonctions XSLT (PHP4)


Configure le gestionnaire d'erreurs du processeur XSLT

xslt_set_encoding
xslt_set_log
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handler — Configure le gestionnaire d'erreurs du processeur XSLT

Description

void xslt_set_error_handler ( resource $xh , mixed $handler )

xslt_set_error_handler() configure le gestionnaire d'erreurs du processeur XSLT représenté par xh. Le gestionnaire sera appelé à chaque fois qu'une erreur survient durant les transformations XSLT (pour les alertes aussi).

Liste de paramètres

xh

La ressource de processus XSLT, créé par la fonction xslt_create().

handler

La fonction utilisateur, qui doit accepter quatre paramètres : le processeur XSLT, le niveau d'erreur, le code erreur et un tableau de messages. La fonction peut être définie comme :

error_handler ( resource $xh , int $error_level , int $error_code , array $messages )

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec xslt_set_error_handler()

<?php

// Notre gestionnaire d'erreur
function xslt_error_handler($handler, $errno, $level, $info)
{
  // pour le moment, on regarde juste ce que l'on reçoit
  var_dump(func_get_args());
}

// Contenu XML :
$xml='<?xml version="1.0"?>
<para>
 oops, j\'ai mal écrit la balise fermante
</pata>';

// Contenu XSL :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
   <strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

xslt_set_error_handler($xh, "xslt_error_handler");

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
                  NULL, array("/_xml" => $xml, "/_xsl" => $xsl));

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(4) {
  [0]=>
  resource(1) of type (XSLT Processor)
  [1]=>
  int(3)
  [2]=>
  int(0)
  [3]=>
  array(6) {
    ["msgtype"]=>
    string(5) "error"
    ["code"]=>
    string(1) "2"
    ["module"]=>
    string(9) "Sablotron"
    ["URI"]=>
    string(9) "arg:/_xml"
    ["line"]=>
    string(1) "4"
    ["msg"]=>
    string(34) "XML parser error 7: mismatched tag"
  }
}

Voir aussi

  • xslt_set_object() - Définit l'objet dans lequel doivent être résolues les fonctions de rappel, si vous voulez utiliser une méthode d'un objet comme gestionnaire d'erreurs

xslt_set_encoding
xslt_set_log
Fonctions XSLT (PHP4)


Configure le fichier d'historique pour les messages XSLT

xslt_set_error_handler
xslt_set_object
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_log

(PHP 4 >= 4.0.6)

xslt_set_log — Configure le fichier d'historique pour les messages XSLT

Description

void xslt_set_log ( resource $xh [, mixed $log ] )

xslt_set_log() vous permet de configurer le fichier dans lequel vous voulez enregistrer les messages XSLT. Les messages XSLT sont différents des messages d'erreurs, car les messages ne sont pas des messages d'erreurs, mais plutôt des descriptions de l'état de l'analyseur. Ils sont très pratiques pour déboguer du code XSLT.

Par défaut, l'enregistrement dans l'historique est désactivé. Afin de l'activer, vous devez appeler xslt_set_log() avec le booléen qui active l'enregistrement, puis, si vous le voulez, indiquer un fichier de déboguage. Il faut alors passer un nom de fichier.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

log

Ce paramètre est soit un booléen, qui active ou non l'enregistrement dans le fichier d'historique, ou une chaîne contenant le nom du fichier d'historique dans lequel les erreurs seront enregistrées.

Valeurs de retour

Aucune valeur n'est retournée.

Notes

Note: Notez que vous devez préfixer le chemin par file:// si vous utilisez Windows.

Exemples

Exemple #1 Utilisation de l'enregistrement de messages XSLT

<?php

$xh = xslt_create();
xslt_set_log($xh, true);
xslt_set_log($xh, getcwd() . '/myfile.log');

$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
echo $result;

xslt_free($xh);
?>

xslt_set_error_handler
xslt_set_object
Fonctions XSLT (PHP4)


Définit l'objet dans lequel doivent être résolues les fonctions de rappel

xslt_set_log
xslt_set_sax_handler
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_object

(PHP 4 >= 4.3.0)

xslt_set_object — Définit l'objet dans lequel doivent être résolues les fonctions de rappel

Description

bool xslt_set_object ( resource $processor , object &$obj )

xslt_set_object() autorise l'utilisation du paramètre processor dans un objet object et donc de résoudre toutes les fonctions de rappel dans celui-ci.

Les fonctions de rappel peuvent être déclarées avec les fonctions
xslt_set_sax_handlers(),
xslt_set_scheme_handlers() ou
xslt_set_error_handler() et sont supposées comme étant
des méthodes de l'objet object.

Liste de paramètres

processor

L'identifiant du processus XSLT, créé par la fonction xslt_create().

obj

Un objet.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Utilisation de votre propre gestionnaire d'erreurs comme méthode

<?php

class my_xslt_processor {

    var $_xh; // votre processeur XSLT

    function my_xslt_processor()
    {
        $this->_xh = xslt_create();

        // Faites de l'objet $this, le résolveur de fonction de rappel
        xslt_set_object($this->_xh, $this);

        // Manipulation des erreurs
        xslt_set_error_handler($this->_xh, "my_xslt_error_handler");
    }

    function my_xslt_error_handler($handler, $errno, $level, $info)
    {
        // Maintenant, regardons les arguments
        var_dump(func_get_args());
    }
}

?>
xslt_set_log
xslt_set_sax_handler
Fonctions XSLT (PHP4)


Modifie les gestionnaires SAX de l'analyseur XSLT

xslt_set_object
xslt_set_sax_handlers
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_sax_handler

(PHP 4 >= 4.0.3)

xslt_set_sax_handler — Modifie les gestionnaires SAX de l'analyseur XSLT

Description

void xslt_set_sax_handler ( resource $xh , array $handlers )

Remplace les gestionnaires SAX de l'analyseur XSLT xh par handlers.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

handlers

Les gestionnaires SAX sont représentés par un tableau à deux dimensions, avec le format suivant (les éléments du premier niveau sont optionnels) :

array(
[document] =>
    array(
        start document handler,
        end document handler
    ),
[element] =>
    array(
        start element handler,
        end element handler
    ),
[namespace] =>
    array(
        start namespace handler,
        end namespace handler
    ),
[comment] => comment handler,
[pi] => processing instruction handler,
[character] => character data handler
)

Valeurs de retour

Aucune valeur n'est retournée.

xslt_set_object
xslt_set_sax_handlers
Fonctions XSLT (PHP4)


Configure les gestionnaires SAX qui seront appelés pour gérer les documents XML

xslt_set_sax_handler
xslt_set_scheme_handler
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_sax_handlers

(PHP 4 >= 4.0.6)

xslt_set_sax_handlers — Configure les gestionnaires SAX qui seront appelés pour gérer les documents XML

Description

void xslt_set_sax_handlers ( resource $processor , array $handlers )

xslt_set_sax_handlers() enregistre le gestionnaire SAX handlers pour le document, en lui donnant une ressource XSLT processor.

Utiliser la fonction xslt_set_sax_handlers() n'est pas vraiment différent qu'exécuter un analyseur SAX comme xml_parse() sur un résultat de la transformation xslt_process().

Liste de paramètres

processor

L'identifiant du processus XSLT, créé par la fonction xslt_create().

handlers

Le paramètre handlers doit être un tableau qui suit ce format :

<?php

$handlers = array(

  "document" => array(
    "start_doc",
    "end_doc"),

  "element"  => array(
    "start_element",
    "end_element"),

  "namespace" => array(
    "start_namespace",
    "end_namespace"),

  "comment"   => "comment",

  "pi"        => "pi",

  "character" => "characters"

);
?>
Où les fonctions suivent la syntaxe décrite dans le schéma du gestionnaire de fonctions.

Note: Le tableau fourni n'a pas besoin de contenir tous les éléments différents du gestionnaire SAX (bien qu'il le puisse), mais il doit uniquement être conforme au format "gestionnaire" => "fonction" décrit ci-dessus.

Chacune des fonctions du gestionnaire SAX correspond au format suivant :

  • start_doc ( resource $processor )

  • end_doc ( resource $processor )

  • start_element ( resource $processor , string $name , array $attributes )

  • end_element ( resource $processor , string $name )

  • start_namespace ( resource $processor , string $prefix , string $uri )

  • end_namespace ( resource $processor , string $prefix )

  • comment ( resource $processor , string $contents )

  • pi ( resource $processor , string $target , string $contents )

  • characters ( resource $processor , string $contents )

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec xslt_set_sax_handlers()

<?php
// Fournit par ohlesbeauxjours at yahoo dot fr
// Voici un exemple simple qui applique la fonction strtoupper()
// sur le contenu de chaque balise <auteur> et affiche
// le résultat sous forme d'arbre XML :

$xml='<?xml version="1.0"?>
<books>
 <book>
  <title>Mme Bovary</title>
  <author>Gustave Flaubert</author>
 </book>
 <book>
  <title>Mrs Dalloway</title>
  <author>Virginia Woolf</author>
 </book>
</books>';

$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/">
 <xsl:for-each select="books/book">
  <livre>
   <auteur><xsl:value-of select="author/text()"/></auteur>
  </livre>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>';

// Gestionnaire :
function start_document()
{
  // début de la lecture du document
}

function end_document()
{
  // fin de la lecture du document
}

function start_element($parser, $name, $attributes)
{
  global $result,$tag;
  $result .= "<". $name . ">";
  $tag = $name;
}

function end_element($parser, $name)
{
  global $result;
  $result .= "</" . $name . ">";
}

function characters($parser, $data)
{
  global $result,$tag;
  if ($tag == "auteur" ) {
    $data = strtoupper($data);
  }
  $result .= $data;
}

// Transformation :
$xh = xslt_create();
$handlers = array("document" => array("start_document","end_document"),
   "element" => array("start_element","end_element"),
   "character" => "characters");

xslt_set_sax_handlers($xh, $handlers);
xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
xslt_free($xh);
?>

Vous pouvez également utiliser la fonction xslt_set_object() si vous voulez implémenter votre gestionnaire dans un objet.

Exemple #2 Gestionnaire orienté objet

<?php
// Voici la version orientée objet de l'exemple ci-dessus
class data_sax_handler {

  var $buffer, $tag, $attrs;

  var $_xh;

  function data_sax_handler($xml, $xsl)
  {
      // notre ressource xslt
      $this->_xh = xslt_create();

      xslt_set_object($this->_xs, $this);

      // configuration du gestionnaire sax
      $handlers = array(
        "document" => array('start_document', 'end_document'),
        "element" => array('start_element', 'end_element'),
        "character" => 'characters'
      );

      xslt_set_sax_handlers($this->_xh, $handlers);

      xslt_process($this->_xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
      xslt_free($this->_xh);

  }

  function start_document()
  {
        // début de la lecture du document
  }

  function end_document() {
        // fin de la lecture du document
  }

  function start_element($parser, $name, $attributes) {
        $this->tag = $name;
        $this->buffer .= "<" . $name . ">";
        $this->attrs = $attributes;
  }

  function end_element($parser, $name)
  {
        $this->tag = '';
        $this->buffer .= "</" . $name . ">";
  }

  function characters($parser, $data)
  {
    if ($this->tag == 'auteur') {
          $data = strtoupper($data);
    }
    $this->buffer .= $data;
  }

  function get_buffer() {
    return $this->buffer;
  }

}

$exec = new data_sax_handler($xml, $xsl);

?>

Les deux exemples ci-dessus afficheront :

<livre>
   <auteur>GUSTAVE FLAUBERT</auteur>
</livre>
<livre>
   <auteur>VIRGINIA WOOLF</auteur>
</livre>
xslt_set_sax_handler
xslt_set_scheme_handler
Fonctions XSLT (PHP4)


Configure les gestionnaires de Scheme du processeur XSLT

xslt_set_sax_handlers
xslt_set_scheme_handlers
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_scheme_handler

(PHP 4 >= 4.0.5)

xslt_set_scheme_handler — Configure les gestionnaires de Scheme du processeur XSLT

Description

void xslt_set_scheme_handler ( resource $xh , array $handlers )

Configure les gestionnaires de Scheme, pour le processeur identifié par sa ressource xh.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

handlers

Les gestionnaires Scheme doivent être fournis sous forme de tableau (tous les éléments sont optionnels) :

array(
[get_all] => get all handler,
[open] => open handler,
[get] => get handler,
[put] => put handler,
[close] => close handler
)

Valeurs de retour

Aucune valeur n'est retournée.

xslt_set_sax_handlers
xslt_set_scheme_handlers
Fonctions XSLT (PHP4)


Configure un gestionnaire de Scheme pour un processeur XSLT

xslt_set_scheme_handler
xslt_setopt
Fonctions XSLT (PHP4)
PHP Manual

xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlers — Configure un gestionnaire de Scheme pour un processeur XSLT

Description

void xslt_set_scheme_handlers ( resource $xh , array $handlers )

Configure le gestionnaire de scheme (gestionnaire XPath) pour le document.

Liste de paramètres

xh

L'identifiant du processus XSLT, créé par la fonction xslt_create().

handlers

Un tableau possédant les clés suivantes : "get_all", "open", "get", "put", et "close".

Chaque entrée doit être un nom de fonction ou un tableau du format suivant : array($obj, "method").

Notez que le tableau fourni ne doit pas nécessairement contenir tous les éléments du gestionnaire (bien que cela reste possible), mais il doit uniquement correspondre au format "handler" => "fonction" décrit ci-dessus.

Chacune des fonctions individuelles de scheme appelée est au format suivant :

string   get_all(resource processor, string scheme, string rest)
resource open(resource processor, string scheme, string rest)
int      get(resource processor, resource fp, string &data)
int      put(resource processor, resource fp, string data)
void     close(resource processor, resource fp)

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec xslt_set_scheme_handlers()

Par exemple, voici une implémentation de la fonction PHP "file_exists()".

<?php

// Définition du gestionnaire
function mySchemeHandler($processor, $scheme, $rest)
{
    $rest = substr($rest,1);    // pour effacer le premier '/', automatiquement ajouté par le moteur
    if ($scheme == 'file_exists') {
        // Le résultat est retourné dans une chaîne XML
        return '<?xml version="1.0" encoding="UTF-8"?><root>' . (file_exists($rest) ? 'true' : 'false') . '</root>';
    }
}

$SchemeHandlerArray = array('get_all' => 'mySchemeHandler');

// Démarre le moteur
$params = array();
$xh = xslt_create();

xslt_set_scheme_handlers($xh, $SchemeHandlerArray);

$result = xslt_process($xh, "myFile.xml", "myFile.xsl", NULL, array(), $params);
xslt_free($xh);

echo $result;

?>

Ensuite, dans la feuille de style, vous pouvez tester si un fichier existe avec :

<xsl:if test="document('file_exists:anotherXMLfile.xml')/root='true'">
 <!-- Le fichier existe -->
</xsl:if>

Voir aussi

  • xslt_set_scheme_handler() - Configure les gestionnaires de Scheme du processeur XSLT

xslt_set_scheme_handler
xslt_setopt
Fonctions XSLT (PHP4)


Définit les options d'un processeur xsl donné

xslt_set_scheme_handlers
PHP at the Core: A Hacker's Guide to the Zend Engine
Fonctions XSLT (PHP4)
PHP Manual

xslt_setopt

(PHP 4 >= 4.3.0)

xslt_setopt — Définit les options d'un processeur xsl donné

Description

mixed xslt_setopt ( resource $processor , int $newmask )

xslt_setopt() définit les options newmask pour le processeur processor.

Liste de paramètres

processor

L'identifiant du processus XSLT, créé par la fonction xslt_create().

newmask

Le paramètre newmask est un masque construit avec les constantes suivantes :

  • XSLT_SABOPT_PARSE_PUBLIC_ENTITIES - Demande au processeur d'analyser les entrées publiques. Par défaut, cette constante est désactivée.

  • XSLT_SABOPT_DISABLE_ADDING_META - Permet de ne pas ajouter l'en-tête méta "Content-Type" lors de l'affichage HTML. La valeur par défaut est définie lors de la compilation du processeur.

  • XSLT_SABOPT_DISABLE_STRIPPING - Supprime les espaces (uniquement pour les fichiers de données).

  • XSLT_SABOPT_IGNORE_DOC_NOT_FOUND - Considère les documents non résolus (la fonction document()) comme existant.

Valeurs de retour

Retourne le nombre de masques précédents possible, TRUE sinon, et FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xslt_setopt()

<?php

$xh = xslt_create();

// Demande à Sablotron d'analyser les entités publiques
xslt_setopt($xh, XSLT_SABOPT_PARSE_PUBLIC_ENTITIES);

// Lui demande également de ne pas supprimer les espaces.
xslt_setopt($xh, xslt_getopt($xh) | XSLT_SABOPT_DISABLE_STRIPPING);

?>

Voir aussi

  • xslt_getopt() - Récupère les options d'un processeur xsl donné

xslt_set_scheme_handlers
PHP at the Core: A Hacker's Guide to the Zend Engine
Fonctions XSLT (PHP4)


PHP at the Core: A Hacker's Guide to the Zend Engine

  • Preface
  • The "counter" Extension - A Continuing Example
    • Installation/Configuration
    • Constantes pré-définies
    • Exemples
    • Counter — The Counter class
    • Basic — The basic interface
    • Extended — The extended interface
  • The PHP 5 build system
    • Building PHP for extension development
    • The ext_skel script
    • Talking to the UNIX build system: config.m4
    • Talking to the Windows build system: config.w32
  • Extension structure
    • Files which make up an extension
    • Basic constructs
    • The zend_module structure
    • Extension globals
    • Life cycle of an extension
    • Testing an extension
  • Memory management
    • Basic memory management
    • Data persistence
    • Thread-Safe Resource Manager
  • Working with variables
    • Intro
    • Creating variables and setting values
  • Writing functions
  • Working with classes and objects
  • Working with resources
  • Working with INI settings
  • Working with streams
  • PDO Driver How-To
    • Prerequisites
    • Preparation and Housekeeping
    • Fleshing out your skeleton
    • Building
    • Testing
    • Packaging and distribution
    • pdo_dbh_t definition
    • pdo_stmt_t definition
    • Constants
    • Error handling
  • Extension FAQs
  • Zend Engine 2 API reference
  • Zend Engine 2 opcode list
    • Opcodes
  • Zend Engine 1
    • Old introduction
    • Streams API for PHP Extension Authors
    • API Zend : Modification du coeur de PHP
    • TSRM API
  • The future: PHP 6 and Zend Engine 3
xslt_setopt
Preface
Manuel PHP


Preface

The Zend API has evolved considerably over time, as PHP has become a more robust and widespread language. With the introduction of PHP 5 came the Zend Engine 2 (ZE2). ZE2 came with an almost entirely new Object-Oriented Programming (OOP) model and a number of improvements in the API. PHP 6, which is still under active development at the time of this writing, introduces the Zend Engine 3 (ZE3), which brings full Unicode support to the language.

Avertissement

This documentation is still under heavy development. The original Zend documentation is preserved in its entirety in the Zend Engine 1 section for those who need it before this documentation is completed.

This section of the manual is devoted to ZE2. While PHP 4.4 is still in widespread use, the differences in how extensions are written in ZE1 are small; a short reference to them is given in an appendix to this section. ZE3's API may yet change significantly, and is covered in another appendix. It will be more fully documented when PHP 6 enters a beta testing stage.

The documentation in this section is current as of PHP 5.2.11, the most recent stable release of PHP 5.2 at the time of this writing. Notable differences in the minor PHP 5 releases (5.0 through 5.3) are given as appropriate.

PHP at the Core: A Hacker's Guide to the Zend Engine
The "counter" Extension - A Continuing Example
PHP at the Core: A Hacker's Guide to the Zend Engine


Preface
Installation/Configuration
PHP at the Core: A Hacker's Guide to the Zend Engine
PHP Manual

The "counter" Extension - A Continuing Example

Sommaire

  • Installation/Configuration
  • Constantes pré-définies
  • Exemples
  • Counter
  • Basic
  • Extended

Preface

Throughout this Zend documentation, references are made to an example module in order to illustrate various concepts. The "counter" extension is this example, a fictional yet functional Zend module which strives to use as much of the Zend API as is reasonably possible. This short chapter describes the userland interface to the completed extension.

Note: "counter" serves no practical purpose whatsoever, as the functionality it provides is far more effectively implemented by appropriate userland code.

Preface
Installation/Configuration
PHP at the Core: A Hacker's Guide to the Zend Engine


Installation/Configuration

Sommaire

  • Introduction
  • Configuration à l'exécution
  • Types de ressources
The "counter" Extension - A Continuing Example
Introduction
The "counter" Extension - A Continuing Example


Introduction

The "counter" extension provides any number of counters to PHP code using it which reset at times determined by the caller.

There are three interfaces to "counter": basic, extended, and objective. The basic interface provides a single counter controlled by INI settings and function calls. The extended interface provides an arbitrary number of named counter resources which may optionally persist beyond the lifetime of a single PHP request. The objective interface combines both the basic and extended interfaces into a Counter class.

Installation/Configuration
Configuration à l'exécution
Installation/Configuration


Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Counter configuration options
Name | Default | Changeable | Changelog
counter.reset_time | COUNTER_RESET_PER_REQUEST | PHP_INI_ALL |
counter.save_path | "" | PHP_INI_ALL |
counter.initial_value | "0" | PHP_INI_ALL |

Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

counter.reset_time integer
counter.reset_time tells "counter" to reset the counter used by the basic interface. It may be any of the COUNTER_RESET_* constants (see below).
counter.save_path string
Tells "counter" where to save data that has to persist between invocations of PHP (i.e. any counter that has COUNTER_RESET_NEVER or COUNTER_FLAG_SAVE). A file will be created at this path, which must be readable and writable to whatever user PHP is running as.
counter.initial_value integer
Sets the initial value of the counter used by the basic interface whenever it is reset.
Introduction
Types de ressources
Installation/Configuration


Types de ressources

The "counter" extension defines one resource type: a counter.

Configuration à l'exécution
Constantes pré-définies
Installation/Configuration


Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

COUNTER_FLAG_PERSIST ( integer )
A counter with this flag will be created as a persistent resource.
COUNTER_FLAG_SAVE ( integer )
A counter with this flag will be saved between invocations of PHP.
COUNTER_FLAG_NO_OVERWRITE ( integer )
This flag causes counter_create() to avoid overwriting an existing named counter with a new one.
COUNTER_META_NAME ( string )
Pass this constant to get the name of a counter resource or object.
COUNTER_META_IS_PERISTENT ( string )
Pass this constant to determine whether a counter resource or object is persistent (has the COUNTER_FLAG_PERSIST flag).
COUNTER_RESET_NEVER ( integer )
The counter will never be reset.
COUNTER_RESET_PER_LOAD ( integer )
The counter will be reset on each invocation of PHP.
COUNTER_RESET_PER_REQUEST ( integer )
The counter will be reset on each request.
Types de ressources
Exemples
The "counter" Extension - A Continuing Example


Exemples

Sommaire

  • Basic interface
  • Extended interface
  • Objective interface
Constantes pré-définies
Basic interface
The "counter" Extension - A Continuing Example


Basic interface

The basic interface provides three simple functions, illustrated here:

Exemple #1 "counter"'s basic interface

<?php
$starting_counter_value = counter_get();
counter_bump(1);
$second_counter_value = counter_get();
counter_reset();
$final_counter_value = counter_get();
printf("%3d %3d %3d", $starting_counter_value, $second_counter_value, $final_counter_value);
?>

L'exemple ci-dessus va afficher :

  0   1   0

The basic interface also provides a number of INI settings.

Exemples
Extended interface
Exemples


Extended interface

The extended interface provides a small suite of functions that allow the user to define an arbitrary number of named counters with unique settings. The basic interface can be used in parallel with the extended interface.

Exemple #1 "counter"'s extended interface

<?php
function print_counter_info($counter)
{
    if (is_resource($counter)) {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            counter_get_meta($counter, COUNTER_META_NAME),
            counter_get_meta($counter, COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            counter_get_value($counter));
    } else {
      print "Not a valid counter!\n";
    }
}

if (($counter_one = counter_get_named("one")) === NULL) {
    $counter_one = counter_create("one", 0, COUNTER_FLAG_PERSIST);
}
counter_bump_value($counter_one, 2);
$counter_two = counter_create("two", 5);
$counter_three = counter_get_named("three");
$counter_four = counter_create("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
counter_bump_value($counter_four, 1);

print_counter_info($counter_one);
print_counter_info($counter_two);
print_counter_info($counter_three);
print_counter_info($counter_four);
?>

When run once, the above example outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 3.

If run a second time within the same instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 4.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 4.

If then run a third time in a different instance of PHP, it outputs:

Counter's name is 'one' and is persistent. Its current value is 2.
Counter's name is 'two' and is not persistent. Its current value is 5.
Not a valid counter!
Counter's name is 'four' and is persistent. Its current value is 5.
Basic interface
Objective interface
Exemples


Objective interface

The objective interface provides an object-oriented way to access the extended interfaces. The following example shows how the above one would be implemented using the objective interface. The output of this example is exactly the same, except that instead of printing "Not a valid counter!", this will instead issue a PHP warning that the variable $counter_three is not an object. This example shows that it is possible to subclass the Counter class defined by the extension, as well as that the counter's value is maintained using an instance variable rather than method access.

Exemple #1 "counter"'s objective interface

<?php
class MyCounter extends Counter
{
    public function printCounterInfo() {
        printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
            $this->getMeta(COUNTER_META_NAME),
            $this->getMeta(COUNTER_META_IS_PERSISTENT) ? '' : ' not',
            $this->value);
    }
}

Counter::setCounterClass("MyCounter");
if (($counter_one = Counter::getNamed("one")) === NULL) {
    $counter_one = new Counter("one", 0, COUNTER_FLAG_PERSIST);
}
$counter_one->bumpValue(2); // we aren't allowed to "set" the value directly
$counter_two = new Counter("two", 5);
$counter_three = Counter::getNamed("three");
$counter_four = new Counter("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
$counter_four->bumpValue(1);

$counter_one->printCounterInfo();
$counter_two->printCounterInfo();
$counter_three->printCounterInfo();
$counter_four->printCounterInfo();
?>
Extended interface
Counter
Exemples


The Counter class

Introduction

Represents a single counter object.

Synopsis de la classe

Counter
Counter {
__construct ( string $name [, integer $initial_value [, integer $flags ]] )
integer getValue ( void )
void bumpValue ( integer $offset )
void resetValue ( void )
mixed getMeta ( integer $attribute )
static Counter getNamed ( string $name )
static void setCounterClass ( string $name )
}

Sommaire

  • Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.
  • Counter::getValue — Get the current value of a counter.
  • Counter::bumpValue — Change the current value of a counter.
  • Counter::resetValue — Reset the current value of a counter.
  • Counter::getMeta — Return a piece of metainformation about a counter.
  • Counter::getNamed — Retrieve an existing named counter.
  • Counter::setCounterClass — Set the class returned by Counter::getNamed.
Objective interface
Counter::__construct
The "counter" Extension - A Continuing Example


Creates an instance of a Counter which maintains a single numeric value.

Counter
Counter::getValue
Counter
PHP Manual

Counter::__construct

Counter::__construct — Creates an instance of a Counter which maintains a single numeric value.

Description

Counter::__construct ( string $name [, integer $initial_value [, integer $flags ]] )

Creates an instance of a Counter which maintains a single numeric value.

Liste de paramètres

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Valeurs de retour

Returns a Counter object on success.

Erreurs / Exceptions

Counter::__construct() throws an Exception if something goes wrong.

Counter
Counter::getValue
Counter


Get the current value of a counter.

Counter::__construct
Counter::bumpValue
Counter
PHP Manual

Counter::getValue

Counter::getValue — Get the current value of a counter.

Description

integer Counter::getValue ( void )

Counter::getValue() returns the current value of a counter.

Valeurs de retour

Counter::getValue() returns an integer.

Voir aussi

  • Counter::bumpValue() - Change the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::__construct
Counter::bumpValue
Counter


Change the current value of a counter.

Counter::getValue
Counter::resetValue
Counter
PHP Manual

Counter::bumpValue

Counter::bumpValue — Change the current value of a counter.

Description

void Counter::bumpValue ( integer $offset )

Counter::bumpValue() updates the current value of a counter.

Liste de paramètres

offset
The amount by which to change the counter's value. Can be negative.

Voir aussi

  • Counter::getValue() - Get the current value of a counter.
  • Counter::resetValue() - Reset the current value of a counter.
Counter::getValue
Counter::resetValue
Counter


Reset the current value of a counter.

Counter::bumpValue
Counter::getMeta
Counter
PHP Manual

Counter::resetValue

Counter::resetValue — Reset the current value of a counter.

Description

void Counter::resetValue ( void )

Counter::resetValue() resets the current value of a counter to its original initial value.

Voir aussi

  • Counter::getValue() - Get the current value of a counter.
  • Counter::bumpValue() - Change the current value of a counter.
Counter::bumpValue
Counter::getMeta
Counter


Return a piece of metainformation about a counter.

Counter::resetValue
Counter::getNamed
Counter
PHP Manual

Counter::getMeta

Counter::getMeta — Return a piece of metainformation about a counter.

Description

mixed Counter::getMeta ( integer $attribute )

Counter::getMeta() returns metainformation about a counter.

Liste de paramètres

attribute
The metainformation to retrieve.

Valeurs de retour

Counter::getMeta() returns values of varying types based on which metainformation was requested.

Counter::resetValue
Counter::getNamed
Counter


Retrieve an existing named counter.

Counter::getMeta
Counter::setCounterClass
Counter
PHP Manual

Counter::getNamed

Counter::getNamed — Retrieve an existing named counter.

Description

static Counter Counter::getNamed ( string $name )

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise. This is a static function.

Liste de paramètres

name
The counter name to search for.

Valeurs de retour

Counter::getNamed() returns an existing counter by name if that name exists, or NULL otherwise.

Counter::getMeta
Counter::setCounterClass
Counter


Set the class returned by Counter::getNamed.

Counter::getNamed
Basic
Counter
PHP Manual

Counter::setCounterClass

Counter::setCounterClass — Set the class returned by Counter::getNamed.

Description

static void Counter::setCounterClass ( string $name )

Counter::setCounterClass() changes the class of objects returned by Counter::getNamed(). The class being set must not have a public constructor and must be a subclass of Counter. If these conditions are not met, a fatal error is raised. This is a static function.

Liste de paramètres

name
The name of the class to use.
Counter::getNamed
Basic
Counter


The basic interface

Sommaire

  • counter_get — Get the current value of the basic counter.
  • counter_bump — Update the current value of the basic counter.
  • counter_reset — Reset the current value of the basic counter.
Counter::setCounterClass
counter_get
The "counter" Extension - A Continuing Example


Get the current value of the basic counter.

Basic
counter_bump
Basic
PHP Manual

counter_get

counter_get — Get the current value of the basic counter.

Description

integer counter_get ( void )

counter_get() returns the current value of the basic interface's counter.

Valeurs de retour

counter_get() returns an integer.

Voir aussi

  • counter_bump() - Update the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
Basic
counter_bump
Basic


Update the current value of the basic counter.

counter_get
counter_reset
Basic
PHP Manual

counter_bump

counter_bump — Update the current value of the basic counter.

Description

void counter_bump ( integer $offset )

counter_bump() updates the current value of the basic interface's counter.

Liste de paramètres

offset
The amount by which to change the counter's value. Can be negative.

Voir aussi

  • counter_get() - Get the current value of the basic counter.
  • counter_reset() - Reset the current value of the basic counter.
counter_get
counter_reset
Basic


Reset the current value of the basic counter.

counter_bump
Extended
Basic
PHP Manual

counter_reset

counter_reset — Reset the current value of the basic counter.

Description

void counter_reset ( void )

counter_reset() resets the current value of the basic interface's counter to its original initial value.

Voir aussi

  • counter_get() - Get the current value of the basic counter.
  • counter_bump() - Update the current value of the basic counter.
counter_bump
Extended
Basic


The extended interface

Sommaire

  • counter_create — Creates a counter which maintains a single numeric value.
  • counter_get_value — Get the current value of a counter resource.
  • counter_bump_value — Change the current value of a counter resource.
  • counter_reset_value — Reset the current value of a counter resource.
  • counter_get_meta — Return a piece of metainformation about a counter resource.
  • counter_get_named — Retrieve an existing named counter as a resource.
counter_reset
counter_create
The "counter" Extension - A Continuing Example


Creates a counter which maintains a single numeric value.

Extended
counter_get_value
Extended
PHP Manual

counter_create

counter_create — Creates a counter which maintains a single numeric value.

Description

resource counter_create ( string $name [, integer $initial_value [, integer $flags ]] )

Creates a counter which maintains a single numeric value.

Liste de paramètres

name
The new counter's name.
initial_value
The initial value of the counter. Defaults to zero (0).
flags
Flags for the new counter, chosen from the COUNTER_FLAG_* constants.

Valeurs de retour

Returns a counter resource.

Extended
counter_get_value
Extended


Get the current value of a counter resource.

counter_create
counter_bump_value
Extended
PHP Manual

counter_get_value

counter_get_value — Get the current value of a counter resource.

Description

integer counter_get_value ( resource $counter )

counter_get_value() returns the current value of a counter resource.

Liste de paramètres

counter
The counter resource to operate on.

Valeurs de retour

counter_get_value() returns an integer.

Voir aussi

  • counter_bump_value() - Change the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_create
counter_bump_value
Extended


Change the current value of a counter resource.

counter_get_value
counter_reset_value
Extended
PHP Manual

counter_bump_value

counter_bump_value — Change the current value of a counter resource.

Description

void counter_bump_value ( resource $counter , integer $offset )

counter_bump_value() updates the current value of a counter resource.

Liste de paramètres

counter
The counter resource to operate on.
offset
The amount by which to change the counter's value. Can be negative.

Voir aussi

  • counter_get_value() - Get the current value of a counter resource.
  • counter_reset_value() - Reset the current value of a counter resource.
counter_get_value
counter_reset_value
Extended


Reset the current value of a counter resource.

counter_bump_value
counter_get_meta
Extended
PHP Manual

counter_reset_value

counter_reset_value — Reset the current value of a counter resource.

Description

void counter_reset_value ( resource $counter )

counter_reset_value() resets the current value of a counter resource to its original initial value.

Liste de paramètres

counter
The counter resource to operate on.

Voir aussi

  • counter_get_value() - Get the current value of a counter resource.
  • counter_bump_value() - Change the current value of a counter resource.
counter_bump_value
counter_get_meta
Extended


Return a piece of metainformation about a counter resource.

counter_reset_value
counter_get_named
Extended
PHP Manual

counter_get_meta

counter_get_meta — Return a piece of metainformation about a counter resource.

Description

mixed counter_get_meta ( resource $counter , integer $attribute )

counter_get_meta() returns metainformation about a counter resource.

Liste de paramètres

counter
The counter resource to operate on.
attribute
The metainformation to retrieve.

Valeurs de retour

counter_get_meta() returns values of varying types based on which metainformation was requested.

counter_reset_value
counter_get_named
Extended


Retrieve an existing named counter as a resource.

counter_get_meta
The PHP 5 build system
Extended
PHP Manual

counter_get_named

counter_get_named — Retrieve an existing named counter as a resource.

Description

resource Counter::getNamed ( string $name )

counter_get_named() returns an existing counter by name if that name exists, or NULL otherwise.

Liste de paramètres

name
The counter name to search for.

Valeurs de retour

counter_get_name() returns an existing counter by name if that name exists, or NULL otherwise.

counter_get_meta
The PHP 5 build system
Extended


The PHP 5 build system

Sommaire

  • Building PHP for extension development
  • The ext_skel script
  • Talking to the UNIX build system: config.m4
  • Talking to the Windows build system: config.w32

With all the functionality and flexibility available in PHP 5, it is no surprise that it consists of several thousand files and over one million lines of source code. Equally unsurprising is the necessity of a build system to manage so much data. This section describes how to set PHP up for extension development, the layout of an extension within the PHP source tree, and how to interface your extension with the build system.

counter_get_named
Building PHP for extension development
PHP at the Core: A Hacker's Guide to the Zend Engine


Building PHP for extension development

In a typical PHP installation, the need for high performance almost always results in optimization at the cost of debugging facilities. This is a reasonable tradeoff for production use, but when developing an extension it falls short. What we need is a build of PHP which will give us some hints what has gone wrong when something does.

The Zend Engine provides a memory manager which is capable of tracking memory leaks in extensions and providing detailed debugging information. This tracking is disabled by default, as is thread-safety. To turn them on, pass the --enable-debug and --enable-maintainer-zts options to configure, along with whatever options you typically use. For instructions on building PHP from source, see the instructions at Considérations générales sur l'installation. A typical configure line might look like this:

$ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql

The PHP 5 build system
The ext_skel script
The PHP 5 build system


The ext_skel script

A PHP extension is composed of several files common to all extensions. As the details of many of those files are similar from extension to extension, it can be laborious to duplicate the content for each one. Fortunately, there is a script which can do all of the initial setup for you. It's called ext_skel, and it's been distributed with PHP since 4.0.

Running ext_skel with no parameters produces this output in PHP 5.2.2:

php-5.2.2/ext$ ./ext_skel
./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
           [--skel=dir] [--full-xml] [--no-help]

  --extname=module   module is the name of your extension
  --proto=file       file contains prototypes of functions to create
  --stubs=file       generate only function stubs in file
  --xml              generate xml documentation to be added to phpdoc-cvs
  --skel=dir         path to the skeleton directory
  --full-xml         generate xml documentation for a self-contained extension
                     (not yet implemented)
  --no-help          don't try to be nice and create comments in the code
                     and helper functions to test if the module compiled
Generally, when developing a new extension the only parameters you will be interested in are --extname and --no-help. Unless you are already experienced with the structure of an extension, you will not want to use --no-help; specifying it causes ext_skel to leave out many helpful comments in the files it generates.

This leaves you with --extname, which tells ext_skel what the name of your extension is. This "name" is an all-lowercase identifier containing only letters and underscores which is unique among everything in the ext/ folder of your PHP distribution.

The --proto option is intended to allow the developer to specify a header file from which a set of PHP functions will be created, ostensibly for the purpose of developing an extension based on a library, but it often functions poorly with most modern header files. A test run on the zlib.h header resulted in a very large number of empty and nonsense prototypes in the ext_skel output files. The --xml and --full-xml options are entirely nonfunctional thus far. The --skel option can be used to specify a modified set of skeleton files to work from, a topic which is beyond the scope of this section.

Building PHP for extension development
Talking to the UNIX build system: config.m4
The PHP 5 build system


Talking to the UNIX build system: config.m4

The config.m4 file for an extension tells the UNIX build system what configure options your extension supports, what external libraries and includes you require, and what source files are to be compiled as part of it. A reference to all the commonly used autoconf macros, both PHP-specific and those built into autoconf, is given in the Zend Engine 2 API reference section.

Astuce

When developing a PHP extension, it is strongly recommended that autoconf version 2.13 be installed, despite the newer releases which are available. Version 2.13 is recognized as a common denominator of autoconf availability, usability, and user base. Using later versions will sometimes produce cosmetic differences from the expected output of configure.

Exemple #1 An example config.m4 file

dnl $Id$
dnl config.m4 for extension example
PHP_ARG_WITH(example, for example support,
[  --with-example[=FILE]       Include example support. File is the optional path to example-config])
PHP_ARG_ENABLE(example-debug, whether to enable debugging support in example,
[  --enable-example-debug        example: Enable debugging support in example], no, no)
PHP_ARG_WITH(example-extra, for extra libraries for example,
[  --with-example-extra=DIR      example: Location of extra libraries for example], no, no)

dnl Check whether the extension is enabled at all
if test "$PHP_EXAMPLE" != "no"; then

  dnl Check for example-config. First try any path that was given to us, then look in $PATH
  AC_MSG_CHECKING([for example-config])
  EXAMPLE_CONFIG="example-config"
  if test "$PHP_EXAMPLE" != "yes"; then
    EXAMPLE_PATH=$PHP_EXAMPLE
  else
    EXAMPLE_PATH=`$php_shtool path $EXAMPLE_CONFIG`
  fi

  dnl If a usable example-config was found, use it
  if test -f "$EXAMPLE_PATH" && test -x "$EXAMPLE_PATH" && $EXAMPLE_PATH --version > /dev/null 2>&1; then
    AC_MSG_RESULT([$EXAMPLE_PATH])
    EXAMPLE_LIB_NAME=`$EXAMPLE_PATH --libname`
    EXAMPLE_INCDIRS=`$EXAMPLE_PATH --incdirs`
    EXAMPLE_LIBS=`$EXAMPLE_PATH --libs`

    dnl Check that the library works properly
    PHP_CHECK_LIBRARY($EXAMPLE_LIB_NAME, example_critical_function,
    [
      dnl Add the necessary include dirs
      PHP_EVAL_INCLINE($EXAMPLE_INCDIRS)
      dnl Add the necessary libraries and library dirs
      PHP_EVAL_LIBLINE($EXAMPLE_LIBS, EXAMPLE_SHARED_LIBADD)
    ],[
      dnl Bail out
      AC_MSG_ERROR([example library not found. Check config.log for more information.])
    ],[$EXAMPLE_LIBS]
    )
  else
    dnl No usable example-config, bail
    AC_MSG_RESULT([not found])
    AC_MSG_ERROR([Please check your example installation.])
  fi

  dnl Check whether to enable debugging
  if test "$PHP_EXAMPLE_DEBUG" != "no"; then
    dnl Yes, so set the C macro
    AC_DEFINE(USE_EXAMPLE_DEBUG,1,[Include debugging support in example])
  fi

  dnl Check for the extra support
  if test "$PHP_EXAMPLE_EXTRA" != "no"; then
    if test "$PHP_EXAMPLE_EXTRA" == "yes"; then
      AC_MSG_ERROR([You must specify a path when using --with-example-extra])
    fi

    PHP_CHECK_LIBRARY(example-extra, example_critical_extra_function,
    [
      dnl Add the neccessary paths
      PHP_ADD_INCLUDE($PHP_EXAMPLE_EXTRA/include)
      PHP_ADD_LIBRARY_WITH_PATH(example-extra, $PHP_EXAMPLE_EXTRA/lib, EXAMPLE_SHARED_LIBADD)
      AC_DEFINE(HAVE_EXAMPLEEXTRALIB,1,[Whether example-extra support is present and requested])
      EXAMPLE_SOURCES="$EXAMPLE_SOURCES example_extra.c"
    ],[
      AC_MSG_ERROR([example-extra lib not found. See config.log for more information.])
    ],[-L$PHP_EXAMPLE_EXTRA/lib]
    )
  fi

  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(example, example.c $EXAMPLE_SOURCES, $ext_shared)
  PHP_SUBST(EXAMPLE_SHARED_LIBADD)
fi

A short introduction to autoconf syntax

config.m4 files are written using the GNU autoconf syntax. It can be described in a nutshell as shell scripting augmented by a powerful macro language. Comments are delimited by the string dnl, and strings are quoted using left and right brackets (e.g. [ and ]). Quoting of strings can be nested as many times as needed. A full reference to the syntax can be found in the autoconf manual at » http://www.gnu.org/software/autoconf/manual/.

PHP_ARG_*: Giving users the option

The very first thing seen in the example config.m4 above, aside from a couple of comments, are three lines using PHP_ARG_WITH() and PHP_ARG_ENABLE(). These provide configure with the options and help text seen when running ./configure --help. As the names suggest, the difference between the two is whether they create a --with-* option or an --enable-* option. Every extension should provide at least one or the other with the extension name, so that users can choose whether or not to build the extension into PHP. By convention, PHP_ARG_WITH() is used for an option which takes a parameter, such as the location of a library or program required by an extension, while PHP_ARG_ENABLE() is used for an option which represents a simple flag.

Exemple #2 Sample configure output

$ ./configure --help
...
  --with-example[=FILE]       Include example support. FILE is the optional path to example-config
  --enable-example-debug        example: Enable debugging support in example
  --with-example-extra=DIR      example: Location of extra libraries for example
...

$ ./configure --with-example=/some/library/path/example-config --disable-example-debug --with-example-extra=/another/library/path
...
checking for example support... yes
checking whether to enable debugging support in example... no
checking for extra libraries for example... /another/library/path
...

Note: Regardless of the order in which options are specified on the command line when configure is called, the checks will be run in the order they are specified in config.m4.

Processing the user's choices

Now that config.m4 can provide the user with some choices of what to do, it's time to act upon those choices. In the example above, the obvious default for all three options, if any of them are unspecified, is "no". As a matter of convention, it is best to use this as the default for the option which enables the extension, as it will be overridden by phpize for extensions built separately, and should not clutter the extension space by default when being built into PHP. The code to process the three options is by far the most complicated.

Handling the --with-example[=FILE] option

The first check made of the --with-example[=FILE] option is whether it was set at all. As this option controls the inclusion of the entire extension, if it was unspecified, given in the negative form (--without-example), or given the value "no", nothing else is done at all. In the example above, it is specified with the value /some/library/path/example-config, so the first test succeeds.

Next, the code calls AC_MSG_CHECKING(), an autoconf macro which outputs a standard "checking for something" line, and checks whether the user gave an explicit path to the fictional example-config. In this example, PHP_EXAMPLE got the value /some/library/path/example-config, which is now copied into the EXAMPLE_PATH variable. Had the user specified only --with-example, the code would have executed $php_shtool path $EXAMPLE_CONFIG, which would try to guess the location of example-config using the user's current PATH. Either way, the next step is to check whether the chosen EXAMPLE_PATH is a regular file, is executable, and can be run successfully. If so, AC_MSG_RESULT() is called, which completes the output line started by AC_MSG_CHECKING(). Otherwise, AC_MSG_ERROR() is called, which prints the given message and halts configure immediately.

The code now determines some site-specific configuration information by running example-config several times. The next call is to PHP_CHECK_LIBRARY(), a macro provided by the PHP buildsystem as a wrapper around autoconf's AC_CHECK_LIB(). PHP_CHECK_LIBRARY() attempts to compile, link, and run a program which calls the symbol specified by the second parameter in the library specified by the first, using the string given in the fifth as extra linker options. If the attempt succeeds, the script given in the third parameter is run. This script tells the PHP buildsystem to extract include paths, library paths, and library names from the raw option strings example-config provided. If the attempt fails, the script in the fourth parameter is run instead. In this case, AC_MSG_ERROR() is called to stop processing.

Handling the --enable-example-debug option

Processing the --enable-example-debug is much simpler. A simple check for its truth value is performed. If that check succeeds, AC_DEFINE() is called to make the C macro USE_EXAMPLE_DEBUG available to the source of the extension. The third parameter is a comment string for config.h; it is safe to leave this empty, and often is.

Handling the --with-example-extra=DIR option

For the sake of this example, the fictional "extra" functionality requested by the --with-example-extra=DIR option does not share the fictional example-config program, nor does it have any default paths to search. Therefore, the user is required to provide the installation prefix of the necessary library. This setup is somewhat unlikely in a real-world extension, but is considered illustrative.

The code begins in a now-familiar way by checking the truth value of PHP_EXAMPLE_EXTRA. If a negative form was provided, no further processing is done; the user did not request extra functionality. If a positive form was provided without a parameter, AC_MSG_ERROR() is called to halt processing. The next step is another invocation of PHP_CHECK_LIBRARY(). This time, since there is no set of predefined compiler options provided, PHP_ADD_INCLUDE() and PHP_ADD_LIBRARY_WITH_PATH() are used to construct the necessary include paths, library paths, and library flags for the extra functionality. AC_DEFINE() is also called to indicate to the code that the extra functionality was both requested and available, and a variable is set to tell later code that there are extra source files to build. If the check fails, the familiar AC_MSG_ERROR() is called. A different way to handle the failure would have been to call AC_MSG_WARNING() instead, e.g.:

AC_MSG_WARNING([example-extra lib not found. example will be built without extra functionality.])

In this case, configure would print a warning message rather than an error, and continue processing. Which way such failures are handled is a design decision left to the extension developer.

Telling the buildsystem what was decided

With all the necessary includes and libraries specified, with all the options processed and macros defined, one more thing remains to be done: The build system must be told to build the extension itself, and which files are to be used for that. To do this, the PHP_NEW_EXTENSION() macro is called. The first parameter is the name of the extension, which is the same as the name of the directory containing it. The second parameter is the list of all source files which are part of the extension. See PHP_ADD_BUILD_DIR() for information about adding source files in subdirectories to the build process. The third parameter should always be $ext_shared, a value which was determined by configure when PHP_ARG_WITH() was called for --with-example[=FILE]. The fourth parameter specifies a "SAPI class", and is only useful for extensions which require the CGI or CLI SAPIs specifically. It should be left empty in all other cases. The fifth parameter specifies a list of flags to be added to CFLAGS while building the extension; the sixth is a boolean value which, if "yes", will force the entire extension to be built using $CXX instead of $CC. All parameters after the third are optional. Finally, PHP_SUBST() is called to enable shared builds of the extension. See Extension FAQs for more information on disabling support for building an extension in shared mode.

The counter extension's config.m4 file

The counter extension previously documented has a much simpler config.m4 file than that described above, as it doesn't make use of many buildsystem features. This is a preferred method of operation for any extension that doesn't use an external or bundled library.

Exemple #3 counter's config.m4 file

dnl
$
Id$
dnl config.m4 for extension counter

PHP_ARG_ENABLE(counter, for counter support,
[  --enable-counter            Include counter support])

dnl Check whether the extension is enabled at all
if test "$PHP_COUNTER" != "no"; then
  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(counter, counter.c counter_util.c, $ext_shared)
  PHP_SUBST(COUNTER_SHARED_LIBADD)
fi
The ext_skel script
Talking to the Windows build system: config.w32
The PHP 5 build system


Talking to the Windows build system: config.w32

An extension's config.w32 file is similar in usage to the config.m4 file, with two critical differences: first, it is used for Windows builds, and second, it is written in JavaScript. This section makes no attempt to cover JavaScript syntax. For the moment, this section is incomplete in lieu of a Win32 testbed, and an experimental-only port of the example config.m4 is the only example provided.

Exemple #1 An example config.w32 file

// $Id$
// vim:ft=javascript
ARG_WITH("example", "for example support", "no");
ARG_ENABLE("example-debug", "for debugging support in example", "no")
ARG_WITH("example-extra", "for extra functionality in example", "no")
if (PHP_EXAMPLE != "no") {
    if (CHECK_LIB("libexample.lib", "example", PHP_EXAMPLE) &&
        CHECK_HEADER_ADD_INCLUDE("example.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + "\\include")) {

        if (PHP_EXAMPLE_DEBUG != "no") {
            AC_DEFINE('USE_EXAMPLE_DEBUG', 1, 'Debug support in example');
        }

        if (PHP_EXAMPLE_EXTRA != "no" &&
            CHECK_LIB("libexample-extra.lib", "example", PHP_EXAMPLE) &&
            CHECK_HEADER_ADD_INCLUDE("example-extra.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + ";" + PHP_PHP_BUILD + "\\include") {
            AC_DEFINE('HAVE_EXAMPLEEXTRA', 1, 'Extra functionality in example');
            HAVE_EXTRA = 1;
        } else {
            WARNING( "extra example functionality not enabled, lib not found" );
        }

        EXTENSION("example", "example.c");
        if (HAVE_EXTRA == 1) {
            ADD_SOURCES("example-extra.c");
        }
    } else {
        WARNING( "example not enabled; libraries not found" );
    }
}

The counter extension's config.w32 file

The counter extension previously documented has a much simpler config.w32 file than that described above, as it doesn't make use of many buildsystem features.

Exemple #2 counter's config.w32 file

// $Id$
// vim:ft=javascript
ARG_ENABLE("counter", "for counter support", "no");
if (PHP_COUNTER != "no") {
    EXTENSION("counter", "counter.c");
    ADD_SOURCE("counter-util.c");
}
Talking to the UNIX build system: config.m4
Extension structure
The PHP 5 build system


Extension structure

Sommaire

  • Files which make up an extension
  • Basic constructs
  • The zend_module structure
  • Extension globals
  • Life cycle of an extension
  • Testing an extension

Many extension-writing guides focus on simple examples first and ignore the requirements of more complex implementations until later. Often such guides must repeat themselves over and over in order to describe these new features. This section describes extension structure from the perspective of a mature, practical implementation, in order to prepare users for needs and issues they will almost always encounter in the process of extension development.

Talking to the Windows build system: config.w32
Files which make up an extension
PHP at the Core: A Hacker's Guide to the Zend Engine


Files which make up an extension

Whether created by hand, using ext_skel, or by an alternate extension generator, such as » CodeGen, all extensions will have at least four files:

config.m4

UNIX build system configuration (see Talking to the UNIX build system: config.m4)

config.w32

Windows buildsystem configuration (see Talking to the Windows build system: config.w32)

php_counter.h

When building an extension as static module into the PHP binary the build system expects a header file with php_ prepended to the extension name which includes a declaration for a pointer to the extension's module structure. This file usually contains additional macros, prototypes, and globals, just like any header.

counter.c

Main extension source file. By convention, the name of this file is the extension name, but this is not a requirement. This file contains the module structure declaration, INI entries, management functions, userspace functions, and other requirements of an extension.

The buildsystem files are discussed elsewhere; this section concentrates on the rest. These four files make up the bare minimum for an extension, which may also contain any number of headers, source files, unit tests, and other support files. The list of files in the counter extension might look like this:

Exemple #1 Files in the counter extension, in no particular order

ext/
 counter/
  .cvsignore
  config.m4
  config.w32
  counter_util.h
  counter_util.c
  php_counter.h
  counter.c
  package.xml
  CREDITS
  tests/
   critical_function_001.phpt
   critical_function_002.phpt
   optional_function_001.phpt
   optional_function_002.phpt

Non-source files

The .cvsignore file is used for extensions which are checked into one of the PHP CVS repositories (usually » PECL); the one generated by ext_skel contains:

.deps
*.lo
*.la

These lines tell CVS to ignore interim files generated by the PHP buildsystem. This is only a convenience, and can be omitted completely without ill effect.

The CREDITS file lists the contributors and/or maintainers of the extension in plain text format. The main purpose of this file is generating the credits information for bundled extensions as used by phpcredits(). By convention the first line of the file should hold the name of the extension, the second a comma separated list of contributors. The contributors are usually ordered by the chronological order of their contributions. In a » PECL package, this information is already maintained in package.xml, for example. This is another file which can be omitted without ill effect.

The package.xml file is specific to » PECL-based extensions; it is a metainformation file which gives details about an extension's dependencies, authors, installation requirements, and other tidbits. In an extension not being hosted in » PECL, this file is extraneous.

Extension structure
Basic constructs
Extension structure


Basic constructs

C is a very low-level language by modern definitions. This means that it has no built-in support for many features that PHP takes for granted, such as reflection, dynamic module loading, bounds checking, threadsafe data management and various useful data structures including linked lists and hash tables. At the same time, C is a common denominator of language support and functionality. Given enough work, none of these concepts are impossible; the Zend Engine uses them all.

A lot of effort has gone into making the Zend API both extensible and understandable, but C forces certain necessary declarations upon any extension that to an inexperienced eye seem redundant or plain unnecessary. All of those constructs, detailed in this section, are "write once and forget" in Zend Engine 2 and 3. Here are some excerpts from the pre-generated php_counter.h and counter.c files created by PHP 5.3's ext_skel, showing the pre-generated declarations:

Note: The astute reader will notice that there are several declarations in the real files that aren't shown here. Those declarations are specific to various Zend subsystems and are discussed elsewhere as appropriate.

extern zend_module_entry counter_module_entry;
#define phpext_counter_ptr &counter_module_entry

#ifdef PHP_WIN32
#    define PHP_COUNTER_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
#    define PHP_COUNTER_API __attribute__ ((visibility("default")))
#else
#    define PHP_COUNTER_API
#endif

#ifdef ZTS
#include "TSRM.h"
#endif

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_counter.h"

/* ... */

#ifdef COMPILE_DL_COUNTER
ZEND_GET_MODULE(counter)
#endif
  • The lines concerning counter_module_entry declare a global variable, and a macroed pointer to it, which contains the zend_module_entry for the extension. Despite the later discussion regarding the drawbacks of "true" globals, this usage is intentional; Zend takes precautions to avoid misusing this variable.
  • PHP_COUNTER_API is declared for use by non-PHP functions the module intends to export for the use of other modules. The counter extension doesn't declare any of these, and in the final version of the header file, this macro has been removed. The PHPAPI macro is declared identically elsewhere and is used by the standard extension to make the phpinfo() utility functions available to other extensions.
  • The include of TSRM.h is skipped if PHP, or the extension, isn't being compiled with thread-safety, since in that case TSRM isn't used.
  • A standard list of includes, especially the extension's own php_counter.h, is given. config.h gives the extension access to determinations made by configure. php.h is the gateway to the entire PHP and Zend APIs. php_ini.h adds the APIs for runtime configuration (INI) entries. Not all extensions will use this. Finally, ext/standard/info.h imports the aforementioned phpinfo() utility API.
  • COMPILE_DL_COUNTER will only be defined by configure if the counter extension is both enabled and wants to be built as a dynamically loadable module instead of being statically linked into PHP. ZEND_GET_MODULE defines a tiny function which Zend can use to get the extension's zend_module_entry at runtime.

    Note: The astute reader who has peeked into main/php_config.h after trying to build with the counter module enabled statically may have noticed that there is also a HAVE_COUNTER constant defined that the source code doesn't check for. There's a simple reason this check isn't done: It's unnecessary. If the extension isn't enabled, the source file will never be compiled.

Files which make up an extension
The zend_module structure
Extension structure


The zend_module structure

The main source file of a PHP extension contains several new constructs for a C programmer. The most important of these, the one touched first when starting a new extension, is the zend_module structure. This structure contains a wealth of information that tells the Zend Engine about the extension's dependencies, version, callbacks, and other critical data. The structure has mutated considerably over time; this section will focus on the structure as it has appeared since PHP 5.2, and will identify the very few parts which have changed in PHP 5.3.

The zend_module declaration from counter.c looks like this before any code has been written. The example file was generated by ext_skel --extname=counter, with some obsolete constructs removed:

Exemple #1 zend_module declaration in the counter extension

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),        /* Replace with NULL if there's nothing to do at request start */
    PHP_RSHUTDOWN(counter),    /* Replace with NULL if there's nothing to do at request end */
    PHP_MINFO(counter),
    "0.1", /* Replace with version number for your extension */
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

This may look a bit daunting at first glance, but most of it is very simple to understand. Here's the declaration of zend_module from zend_modules.h in PHP 5.3:

Exemple #2 zend_module definition in PHP 5.3

struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    const struct _zend_ini_entry *ini_entry;
    const struct _zend_module_dep *deps;
    const char *name;
    const struct _zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    const char *version;
    size_t globals_size;
#ifdef ZTS
    ts_rsrc_id* globals_id_ptr;
#else
    void* globals_ptr;
#endif
    void (*globals_ctor)(void *global TSRMLS_DC);
    void (*globals_dtor)(void *global TSRMLS_DC);
    int (*post_deactivate_func)(void);
    int module_started;
    unsigned char type;
    void *handle;
    int module_number;
};

Many of these fields will never be touched by an extension writer. There are a number of standard macros that set them to their proper values automatically. The macro STANDARD_MODULE_HEADER fills in everything up to the deps field. Alternatively, the STANDARD_MODULE_HEADER_EX will leave the deps field empty for the developer's use. The developer is always responsible for everything from name to version. After that, the STANDARD_MODULE_PROPERTIES macro will fill in the rest of the structure, or the STANDARD_MODULE_PROPERTIES_EX macro can be used to leave the extension globals and post-deactivation function fields unfilled. Most modern extensions will make use of module globals.

Note: This table gives the values that each field would have if the developer were to fill in the structure entirely by hand, without recourse to any of the shortcut macros. This is not recommended. The "correct" values for many fields may change. Use the macros whenever possible.

Module structure field values
Field | Value | Description
size [1] [2] [3] | sizeof(zend_module_entry) | The size in bytes of the structure.
zend_api [1] [2] [3] | ZEND_MODULE_API_NO | The version of the Zend API this module was compiled against.
zend_debug [1] [2] [3] | ZEND_DEBUG | A flag indicating whether the module was compiled with debugging turned on.
zts [1] [2] [3] | USING_ZTS | A flag indicating whether the module was compiled with ZTS (TSRM) enabled (see Memory management).
ini_entry [1] [3] | NULL | This pointer is used internally by Zend to keep a non-local reference to any INI entries declared for the module.
deps [3] | NULL | A pointer to a list of dependencies for the module.
name | "mymodule" | The name of the module. This is the short name, such as "spl" or "standard".
functions | mymodule_functions | A pointer to the module's function table, which Zend uses to expose functions in the module to user space.
module_startup_func | PHP_MINIT(mymodule) | A callback function that Zend will call the first time a module is loaded into a particular instance of PHP.
module_shutdown_func | PHP_MSHUTDOWN(mymodule) | A callback function that Zend will call the when a module is unloaded from a particular instance of PHP, typically during final shutdown.
request_startup_func | PHP_RINIT(mymodule) | A callback function that Zend will call at the beginning of each request.
request_shutdown_func | PHP_RSHUTDOWN(mymodule) | A callback function that Zend will call at the end of each request.
info_func | PHP_MINFO(mymodule) | A callback function that Zend will call when the phpinfo() function is called.
version | NO_VERSION_YET | A string giving the version of the module, as specified by the module developer. It is recommended that the version number be either in the format expected by version_compare() (e.g. "1.0.5-dev"), or a CVS or SVN revision number (e.g. "$Rev: 297078 $").
globals_size [1] [4] [5] [6] | sizeof(zend_mymodule_globals) | The size of the data structure containing the module's globals, if any.
globals_id_ptr [1] [4] [5] [6] [7] | &mymodule_globals_id | Only one of these two fields will exist, depending upon whether the USING_ZTS constant is TRUE. The former is an index into TSRM's allocation table for the module's globals, and the latter is a pointer directly to the globals.
globals_ptr [1] [4] [5] [6] [8] | &mymodule_globals
globals_ctor [4] [5] [6] | PHP_GINIT(mymodule) | This funtion is called to initialize a module's globals before any module_startup_func.
globals_dtor [4] [5] [6] | PHP_GSHUTDOWN(mymodule) | This funtion is called to deallocate a module's globals after any module_shutdown_func.
post_deactivate_func [4] | ZEND_MODULE_POST_ZEND_DEACTIVATE_N(mymodule) | This function is called by Zend after request shutdown. It is rarely used.
module_started [1] [9] [4] | 0 | These fields are used for Zend's internal tracking information.
type [1] [9] [4] | 0
handle [1] [9] [4] | NULL
module_number [1] [9] [4] | 0
[1] This field is not intended for use by module developers. [2] This field is filled in by STANDARD_MODULE_HEADER_EX. [3] This field is filled in by STANDARD_MODULE_HEADER. [4] This field is filled in by STANDARD_MODULE_PROPERTIES. [5] This field is filled in by NO_MODULE_GLOBALS. [6] This field is filled in by PHP_MODULE_GLOBALS. [7] This field only exists when USING_ZTS is TRUE. [8] This field only exists when USING_ZTS is FALSE. [9] This field is filled in by STANDARD_MODULE_PROPERTIES_EX.

Filling in the structure in a practical situation

With all these fields to play with, it can be confusing to know which to use for what purpose. Here is the zend_module definition from the "counter" example extension after updating it to its final form.

Exemple #3 Counter extension module definition

/* {{{ counter_module_entry
 */
zend_module_entry counter_module_entry = {
    STANDARD_MODULE_HEADER,
    "counter",
    counter_functions,
    PHP_MINIT(counter),
    PHP_MSHUTDOWN(counter),
    PHP_RINIT(counter),
    PHP_RSHUTDOWN(counter),
    PHP_MINFO(counter),
    NO_VERSION_YET,
    PHP_MODULE_GLOBALS(counter),
    PHP_GINIT(counter),
    PHP_GSHUTDOWN(counter),
    NULL,
    STANDARD_MODULE_PROPERTIES_EX
};
/* }}} */
  • STANDARD_MODULE_HEADER is used since this module doesn't define any dependencies.
  • "counter" is the extension's name, and is used to define the various callback functions the module passes to Zend. "counter" uses module, globals, and request functions at startup and shutdown times, and provides information to phpinfo(), so all seven callbacks are defined.
  • It is assumed that there is a variable of type zend_function_entry * named counter_functions earlier in the file that contains the module definition, listing the functions the module exports to userspace.
  • NO_VERSION_YET is a particularly nice way of telling Zend the module doesn't have a version. It might have been more correct to place "1.0" here instead in a real module.
  • "counter" uses per-module globals, so PHP_MODULE_GLOBALS is used
  • This module has no post-deactivate function, so NULL is used.
  • Since this module does use globals, STANDARD_MODULE_PROPERTIES_EX is used to finish the structure.

What's changed between 5.2 and 5.3?

Nothing. The only differences in the zend_module structure between PHP 5.2 and PHP 5.3 are a few const keywords.

Basic constructs
Extension globals
Extension structure


Extension globals

Introduction to globals in a PHP extension

In a language such as C, a "global" variable is a variable that can be accessed from any function without any extra declaration. These traditional globals have a few drawbacks:

  • Barring any special options passed to the compiler, a global variable can be accessed and changed by any piece of code anywhere in the program, whether or not that code should be doing so.
  • A typical global variable is not thread safe.
  • The names of global variables are as global as the variables themselves.

A PHP extension's globals are more properly called the "extension state", since most modules must remember what they're doing between function calls. The "counter" extension is a perfect example of this need: The basic interface calls for a counter with a persistent value. A programmer new to Zend and PHP might do something like this in counter.c to store that value:

Exemple #1 The wrong way to store the basic counter interface's value

/* ... */
static long basic_counter_value;

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(basic_counter_value);
}

On the surface this appears a viable solution, and indeed in a simple test it would function correctly. However, there are a number of situations in which more than one copy of PHP is running in the same thread, which means more than one instance of the counter module. Suddenly these multiple threads are sharing the same counter value, which is clearly undesirable. Another problem shows itself when considering that another extension might someday happen to have a global with the same name, and due to the rules of C scoping, this has the potential to cause a compile failure, or worse, a runtime error. Something more elaborate is needed, and so exists Zend's support for thread-safe per-module globals.

Declaring module globals

Whether a module uses only a single global or dozens, they must be defined in a structure, and that structure must be declared. There are some macros that assist with doing so in a way that avoids name conflicts between modules: ZEND_BEGIN_MODULE_GLOBALS(), ZEND_END_MODULE_GLOBALS(), and ZEND_DECLARE_MODULE_GLOBALS(). All three take as a parameter the short name of the module, which in the case of the counter module is simply "counter". Here is the global structure declaration from php_counter.h:

Exemple #2 The counter module's globals

ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

And this is the declaration from counter.c:

Exemple #3 The counter module's global structure declaration

ZEND_DECLARE_MODULE_GLOBALS(counter)

Accessing module globals

As discussed above, per-module globals are declared inside a C structure whose name is obscured by Zend macros. As a result, the ideal way to access members of this structure is by the use of further macros. Accordingly, most if not all extensions which have globals have a declaration like this somewhere in their header file:

Exemple #4 Accessor macros for per-module globals

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

Note: This could have been generalized into a macro of its own by the Zend API, but as of PHP 5.3 (and PHP 6 at the time of this writing), that hasn't happened. The global accessor construct is written into the header by ext_skel and thus is generally left alone by extension writers, unless they wish to change the name of the accessor macro.

Note: COUNTER_G was the name given to the macro by ext_skel, but it's not necessary for it to have that name and could just as easily be called FOO instead.

Any code in the counter extension that accesses a global must thus wrap it in the macro COUNTER_G.

Avertissement

Any function which accesses globals must either be declared by Zend macros, have TSRMLS_DC as its last argument, or call the macro TSRMLS_FETCH before accessing the globals. See the TSRM documentation for more information.

So with all of that in mind, here is our new version of the counter_get():

Exemple #5 The right way to store the basic counter interface's value

/* php_counter.h */
ZEND_BEGIN_MODULE_GLOBALS(counter)
    long        basic_counter_value;
ZEND_END_MODULE_GLOBALS(counter)

#ifdef ZTS
#define COUNTER_G(v) TSRMG(counter_globals_id, zend_counter_globals *, v)
#else
#define COUNTER_G(v) (counter_globals.v)
#endif

/* counter.c */
ZEND_DECLARE_MODULE_GLOBALS(counter)

/* ... */

PHP_FUNCTION(counter_get)
{
    RETURN_LONG(COUNTER_G(basic_counter_value));
}

This is a correct implementation. It is not, however, a complete one. The section Life cycle of an extension explains why.

The zend_module structure
Life cycle of an extension
Extension structure


Life cycle of an extension

A PHP extension goes through several phases during its lifetime. All of these phases are opportunities for the developer to perform various initialization, termination, or informational functions. The Zend API allows for hooks into five separate phases of an extension's existence, apart from calls by PHP functions.

Loading, unloading, and requests

As the Zend engine runs, it processes one or more "requests" from its client. In the traditional CGI implementation, this corresponds to one execution of a process. However, many other implementations, most notably the Apache module, can map many requests onto a single PHP process. A PHP extension may thus see many requests in its lifetime.

Overview

  • In the Zend API, a module is loaded into memory only once when the associated PHP process starts up. Each module receives a call to the "module initialization" function specified in its zend_module structure as it is loaded.
  • Whenever the associated PHP process starts to handle a request from its client - i.e. whenever the PHP interpreter is told to start working - each module receives a call to the "request initialization" function specified in its zend_module structure.
  • Whenever the associated PHP process is done handling a request, each module receives a call to the "request termination" function specified in its zend_module structure.
  • A given module is unloaded from memory when its associated PHP process is shut down in an orderly manner. The module receives a call to the "module termination" function specified in its zend_module structure at this time.

What to do, and when to do it

There are many tasks that might be performed at any of these four points. This table details where many common initialization and termination tasks belong.

What to do, and when to do it
Module initialization/termination | Request initialization/termination
Allocate/deallocate and initialize module global variables | Allocate/deallocate and initialize request-specific variables
Register/unregister class entries |
Register/unregister INI entries |
Register constants |

The phpinfo() callback

Aside from globals initialization and certain rarely-used callbacks, there is one more part of a module's lifecycle to examine: A call to phpinfo(). The output a user sees from this call, whether text or HTML or anything else, is generated by each individual extension that is loaded into the PHP interpreter at the time the call is made.

To provide for format-neutral output, the header "ext/standard/info.h" provides an array of functions to produce standardized display elements. Specifically, several functions which create the familiar tables exist:

php_info_print_table_start()
Open a table in phpinfo() output. Takes no parameters.
php_info_print_table_header()
Print a table header in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column heading.
php_info_print_table_row()
Print a table row in phpinfo() output. Takes one parameter, the number of columns, plus the same number of char * parameters which are the texts for each column content.
php_info_print_table_end()
Close a table formerly opened by php_info_print_table_start(). Takes no parameters.

Using these four functions, it is possible to produce status information for nearly any combination of features in an extension. Here is the information callback from the counter extension:

Exemple #1 counter's PHP_MINFO function

/* {{{ PHP_MINFO(counter) */
PHP_MINFO_FUNCTION(counter)
{
    char        buf[10];

    php_info_print_table_start();
    php_info_print_table_row(2, "counter support", "enabled");
    snprintf(buf, sizeof(buf), "%ld", COUNTER_G(basic_counter_value));
    php_info_print_table_row(2, "Basic counter value", buf);
    php_info_print_table_end();
}
/* }}} */
Extension globals
Testing an extension
Extension structure


Testing an extension

One of the accepted requirements of good programming is testing. PHP provides a test harness for unit regression tests, in the form of a script called run-tests.php.

Tests for a particular module are stored in the tests/ subdirectory of the module's folder, and have a .phpt extension. For details of the PHPT format, see » http://qa.php.net/.

Life cycle of an extension
Memory management
Extension structure


Memory management

Sommaire

  • Basic memory management
  • Data persistence
  • Thread-Safe Resource Manager

Memory management in the Zend Engine is deceptively simple. There are some APIs to learn, and some concepts behind them to understand, but that's about all.

Testing an extension
Basic memory management
PHP at the Core: A Hacker's Guide to the Zend Engine


Basic memory management

When programming in the C programming language the developer has to manually care about memory management. As PHP is usually used as a web server module memory management is from special relevance in order to prevent memory leaks. Additionally you should be aware that PHP might be used in threaded environments which means that global variables might lead to race conditions. For information about dealing with thread-global data please refer to the documentation on the Thread-Safe Resource Manager, which serves as thread-isolation facility.

Additionally to these requirements the Zend Engine is faced with a quite special usage pattern where, within a relatively short time, many memory blocks of the size of a zval structure or other small memory blocks are requested and freed again. Memory management in PHP has also to respect the memory_limit.

For fulfilling the above requirements the Zend Engine provides a special memory manager for handling request-bound data. Request-bound data is data that is needed only for serving a single request and which will be freed at the request's end at latest. Extension authors will mostly only have contact with the routines listed in the table below. Although they are implemented as macros for providing some convenience features this documentation will treat them like functions.

Main memory APIs
Prototype | Description
void *emalloc(size_t size) | Allocate size bytes of memory.
void *ecalloc(size_t nmemb, size_t size) | Allocate a buffer for nmemb elements of size bytes and makes sure it is initialized with zeros.
void *erealloc(void *ptr, size_t size) | Resize the buffer ptr, which was allocated using emalloc to hold size bytes of memory.
void efree(void *ptr) | Free the buffer pointed by ptr. The buffer had to be allocated by emalloc.
void *safe_emalloc(size_t nmemb, size_t size, size_t offset) | Allocate a buffer for holding nmemb blocks of each size bytes and an additional offset bytes. This is similar to emalloc(nmemb * size + offset) but adds a special protection against overflows.
char *estrdup(const char *s) | Allocate a buffer that can hold the NULL-terminated string s and copy the s into that buffer.
char *estrndup(const char *s, unsigned int length) | Similar to estrdup while the length of the NULL-terminated string is already known.

Note: Unlike their C standard library's counterparts the Zend Engine's memory management functions won't return NULL in case of an problem while allocating the requested memory but bail out and terminate the current request.

As said above it is an essential part of the memory management to avoid having memory leaks and therefore free all memory you've allocated as soon as possible. As a safety net the Zend Engine will free all memory, which had been allocated using above mentioned APIs at the end of a request. If PHP was built using the --enable-debug configuration option this will lead to a warning.

Exemple #1 PHP's leak warnings

ZEND_FUNCTION(leak)
{
    long leakbytes = 3;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &leakbytes) == FAILURE) {
        return;
    }

    emalloc(leakbytes);
}

L'exemple ci-dessus va afficher quelque chose de similaire à :

[Thu Oct 22 02:14:57 2009]  Script:  '-'
/home/johannes/src/PHP_5_3/Zend/zend_builtin_functions.c(1377) :  Freeing 0x088888D4 (3 bytes), script=-
=== Total 1 memory leaks detected ===

Note: When dealing with PHP variables you have to make sure the variable's memory is allocated using emalloc and take care of the reference count. Details can be found in Working with variables.

Note: This leak detection can only find leaks caused by blocks allocated by emalloc. You're advised to use a memory checker like valgrind or libumem for deeper analysis. To simplify the analysis PHP's memory manager can be disabled by setting the environment variable USE_ZEND_ALLOC=0 before starting PHP.

Memory management
Data persistence
Memory management


Data persistence

Basic memory management
Thread-Safe Resource Manager
Memory management


Thread-Safe Resource Manager

Data persistence
Working with variables
Memory management


Working with variables

Sommaire

  • Intro
  • Creating variables and setting values
Thread-Safe Resource Manager
Intro
PHP at the Core: A Hacker's Guide to the Zend Engine


Intro

For working with variables in PHP's core you have to learn about different fundamental concepts used in PHP. Firstly PHP is a dynamic and weak typed language. Secondly PHP uses a copy on write mechanism with reference counting for memory handling. Please check the Bases sur le comptage des références chapter for details how reference counting and references work.

PHP variables, in general, consist out of two things: The label, which might, for instance, be an entry in a symbol table, and the actual variable container. For the most parts of this manual we will focus on the variable container.

The variable container, in code called zval, is holding all data needed to handle the variable. This includes not only the actual value but also the current type, a counter counting the number of labels pointing to this container and a flag whether these labels should be treated as references or copies. In PHP 5.3 the relevant structures, which you can find in Zend/zend.h, look like this:

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {                   /* string type */
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    zend_object_value obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    zend_uint refcount__gc;
    zend_uchar type;           /* active type */
    zend_uchar is_ref__gc;
};

In the zvalue_value one can find the internal representation for the different types the fields used should be clear from the names and comments - especially if one knows that PHP's arrays are infact hash tables. Nonetheless, knowing PHP's types one might miss a few: NULL, boolean and resources. For NULL we need no value, as NULL is the value of that type. For boolean and resource values PHP re-uses the value field. In the case of a boolean it holds either 0 for false or 1 for true. For resource-typed variables it holds the resource id.

Now the good message is that you don't have to know these things in detail as there are - like always in PHP - acces macros. The bad news is that there are many of them: There are macros to access any aspect of the zval and then, as one often deals with pointers to zvals and even pointers to pointers to zvals, for most of them there are shortcuts dereferencing these pointers. These macros are spread over Zend/zend.h, Zend/zend_operators.h and Zend/zend_API.h.

Working with variables
Creating variables and setting values
Working with variables


Creating variables and setting values

Intro
Writing functions
Working with variables


Writing functions

One core element of an extension are functions which are exported to the PHP userland. Even when you're planning to write object-oriented extensions you are advised to read this chapter as most of the information is valid for methods, too.

When adding a function to an extension, for instance after using the ext_skel script to create the raw infrastructure, you can create a function by implementing it as a C function and then providing an entry for the extension's function table. The function entry can contain a pointer to an argument information structure. Providing this information ins not strictly necessary, unless you plan to accept parameters by reference or want to return a reference, but provides information that can be accessed via PHP's Reflection API. As you will see below the parameters aren't passed as direct function parameters to the implementation but passed on a stack, which is checked by the function's implementation which can't directly serve as source for this information.

Exemple #1 Minimal PHP extension with one function

/* {{{ proto void hello_world()
       Do nothing */
PHP_FUNCTION(hello_world)
{
}
/* }}} */

/* {{{ arginfo_hello_world */
ZEND_BEGIN_ARG_INFO(arginfo_hello_world, 0)
ZEND_END_ARG_INFO()
/* }}} */

/* {{{ demo_functions */
function_entry demo_functions[] = {
    PHP_FE(hello_world, arginfo_hello_world)
    {NULL, NULL, NULL}
}
/* }}} */

/* {{{ demo_module_enry */
zend_module_entry demo_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
    STANDARD_MODULE_HEADER,
#endif
    "demo",
    demo_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
#if ZEND_MODULE_API_NO >= 20010901
    "1.0.0",
#en
    STANDARD_MODULE_PROPERTIES
}
/* }}} */

In his example you can see the above discussed elements and the module structure, if you don't remember his strucure go back to The zend_module structure.

The first part of this extension is the actual implementation. As a convention each exported function is preceded by a two line comment describing the function's userland prototype and a short one line comment.

For providing source code compatibility between different versions of PHP the functions declaration is wrapped into the PHP_FUNCTION macro. The compiler's preprocessor will, when using PHP 5.3 transform this into a function like this:

void zif_hello_world(int ht, zval *return_value, zval **return_value_ptr,
                     zval *this_ptr, int return_value_used TSRMLS_DC)
{
}

For preventing a naming conflict between a function exported to userland and another C function with the same name the C symbol of the exported function is prefixed with the prefix zif_. You can also see that this prototype doesn't reference the argument stack. Accessing parameters passed from PHP is described below. The following table lists the C level parameters which are also defined in the INTERNAL_FUNCTION_PARAMETERS macro. Mind that these parameters might change between PHP versions and you should use the provide macros.

INTERNAL_FUNCTION_PARAMETERS
Name and type | Description | Access macros
int ht | Number of actual parameters passed by user | ZEND_NUM_ARGS()
zval *return_value | Pointer to a PHP variable that can be filled with the return value passed to the user. The default type is IS_NULL. | RETVAL_*, RETURN_*
zval **return_value_ptr | When returning references to PHP set this to a pointer to your variable. It is not suggested to return references. |
zval *this_ptr | In case this is a method call this points to the PHP variable holding the $this object. | getThis()
int return_value_used | Flag indicating whether the returned value will be used by the caller. |

As said the function shown above will simply return NULL to the user and do nothing else. The function can be called, from the PHP userland, with an arbitrary number of parameters. A more useful function consists of four parts in general:

  1. Declaration of local variables. In C we have to declare locale vars, so we do this at the functions top.

  2. Parameter parsing. PHP passes parameters on a special stack, we have to read them from there, verify the types, cast them if needed and bail out in case something goes wrong.

  3. Actual logic. Do whatever is needed.

  4. Set the return value, cleanup, return.

In some cases the exact order of these steps may change. Especially the last two steps are often mixed up, but it's a good idea to stay in that order.

Exemple #2 A simple function

/* {{{ proto void hello_world(string name)
   Greets a user */
PHP_FUNCTION(hello_world)
{
    char *name;
    int name_len;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) {
        return;
    }

    php_printf("Hello %s!", name);

    RETURN_TRUE;
}
/* }}} */

The function above shows these parts. Let's start the analysis with the last lines: php_printf is - as one can guess easily - PHP's version of standard C's printf. Unlike printf it doesn't print to the process's STDOUT channel but to the current output stream, which might be buffered by the user. It should be noted that php_printf, unlike most parts of PHP's API is not binary safe, so if name contains a NULL-byte the rest would be ignored. For a binary safe output PHPWRITE should be used.

Note: In general it is considered to directly print data to the output stream, it is suggested to return data as string to the user instead so the user can decide what to do. Exceptions to this rule might be functions dealing with binary data like images while your API should provide a way to access the data even there.

The RETURN_TRUE macro in the last line does three things: It sets the type of the variable we got as return_value pointer to IS_BOOLEAN and the value to a true value. Then it returns from the C function. So when using this macro you're housekeeping for memory and other resources has to be completed as further code of this function won't be executed.

The zend_parse_parameters() function is responsible for reading the parameters passed by the user from the argument stack and putting it with proper casting in local C variables. If the user doesn't pass the wrong number of parameters or types that can't be casted the function will emit a verbose error and return FAILURE. In that case we simply return from the function - by not changing the return_value the default return value of NULL will be returned to the user.

Note: Please mind that FAILURE is represented by a -1 and SUCCESS by 0. To make the code clear you should always use the named constants for comparing the value.

The first parameter to zend_parse_parameters() is the number of parameters that have actually been passed to the function by the user. The number is passed as ht parameter to our function but, as discussed above, this should be considered as an implementation detail and ZEND_NUM_ARGS() should be used.

For compatibility with PHP's thread-isolation, the thread-safe resource manager, we also have to pass the thread context using TSRMLS_CC. Unlike in other functions this can't be the last parameter as zend_parse_parameters expects a variable number of parameters - depending on the number of user-parameters to read.

Following the thread context the expected parameters are declared. Each parameter is represented by a character in the string describing the type. In our case we expect one parameter as a string so our type specification is simply "s".

Lastly one has to pass one or more pointers to C variables which should be filled with the variable's value or provide more details. In the case of a string we get the actual string, which will always be NULL-terminated, as a char* and its length, excluding the NULL-byte, as int.

A documentation of all type specifiers and the corresponding additional C types can be found in the file README.PARAMETER_PARSING_API which is part of the source distribution. The most important types can be found in the table below.

zend_parse_parameters() type specifiers
Modifier | Additional parameter types | Description
b | zend_bool | Boolean value
l | long | A integer (long) value
d | double | A float (double) value
s | char*, int | A binary safe string
h | HashTable* | An array's hash table
Creating variables and setting values
Working with classes and objects
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with classes and objects

Writing functions
Working with resources
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with resources

Working with classes and objects
Working with INI settings
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with INI settings

Working with resources
Working with streams
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with streams

Note: Information on using streams within the PHP source code can be found in the Streams API for PHP Extension Authors reference.

Working with INI settings
PDO Driver How-To
PHP at the Core: A Hacker's Guide to the Zend Engine


PDO Driver How-To

Sommaire

  • Prerequisites
  • Preparation and Housekeeping
  • Fleshing out your skeleton
  • Building
  • Testing
  • Packaging and distribution
  • pdo_dbh_t definition
  • pdo_stmt_t definition
  • Constants
  • Error handling

The purpose of this How-To is to provide a basic understanding of the steps required to write a database driver that interfaces with the PDO layer. Please note that this is still an evolving API and as such, subject to change. This document was prepared based on version 0.3 of PDO. The learning curve is steep; expect to spend a lot of time on the prerequisites.

Working with streams
Prerequisites
PHP at the Core: A Hacker's Guide to the Zend Engine


Prerequisites

The following is list of prerequisites and assumptions needed for writing a PDO database driver:

  1. A working target database, examples, demos, etc. working as per vendor specifications;

  2. A working development environment:

    1. Linux: standard development tools, gcc, ld, make, autoconf, automake, etc., versions dependent on distribution;

    2. Other Unix: standard development tools supplied by vendor plus the GNU development tool set;

    3. Win32: Visual Studio compiler suite;

  3. A working PHP environment version 5.0.3 or higher with a working PEAR extension version 1.3.5 or higher;

  4. A working PDO environment (can be installed using 'sudo pecl install PDO'), including the headers which will be needed to access the PDO type definitions and function declarations;

  5. A good working knowledge of the C programming language;

  6. A good working knowledge of the way to write a PHP extension; George Schlossnagle's Advanced PHP Programming (published by Developer's Library, chapters 21 and 22) is recommended;

  7. Finally, a familiarity with the Zend API that forms the heart of PHP, in particular paying attention to the memory management aspects.

PDO Driver How-To
Preparation and Housekeeping
PDO Driver How-To


Preparation and Housekeeping

Source directory layout

The source directory for a typical PDO driver is laid out as follows, where SKEL represents a shortened form of the name of the database that the driver is going to connect to. Even though SKEL is presented here in uppercase (for clarity), the convention is to use lowercase characters.

pdo_SKEL/
  config.m4                  # unix build script
  config.w32                 # win32 build script
  CREDITS
  package.xml                # meta information about the package
  pdo_SKEL.c                 # standard PHP extension glue
  php_pdo_SKEL.h
  php_pdo_SKEL_int.h         # driver private header
  SKEL_dbh.c                 # contains the implementation of the PDO driver interface
  SKEL_stmt.c                # contains the implementation of the PDO statement interface
  tests/

The contents of these files are defined later in this document.

Creating a skeleton

The easiest way to get started is to use the ext_skel shell script found in the PHP build tree in the ext directory. This will build a skeleton directory containing a lot of the files listed above. It can be build by executing the following command from within the ext directory:

./ext_skel --extname=pdo_SKEL

This will generate a directory called pdo_SKEL containing the skeleton files that you can then modify. This directory should then be moved out of the php extension directory. PDO is a PECL extension and should not be included in the standard extension directory. As long as you have PHP and PDO installed, you should be able to build from any directory.

Standard Includes

Build Specific Headers

The header file config.h is generated by the configure process for the platform for the which the driver is being built. If this header is present, the HAVE_CONFIG_H compiler variable is set. This variable should be tested for and if set, the file config.h should be included in the compilation unit.

PHP Headers

The following standard public php headers should be included in each source module:

  1. php.h

  2. php_ini.h

  3. ext/standard/info.h

PDO Interface Headers

The following standard public PDO header files are also included in each source module:

pdo/php_pdo.h

This header file contains definitions of the initialization and shutdown functions in the main driver as well as definitions of global PDO variables.

pdo/php_pdo_driver.h

This header contains the types and API contracts that are used to write a PDO driver. It also contains method signature for calling back into the PDO layer and registering/unregistering your driver with PDO. Most importantly, this header file contains the type definitions for PDO database handles and statements. The two main structures a driver has to deal with, pdo_dbh_t and pdo_stmt_t, are described in more detail in Appendix A and B.

Driver Specific Headers

The typical PDO driver has two header files that are specific to the database implementation. This does not preclude the use of more depending on the implementation. The following two headers are, by convention, standard:

php_pdo_SKEL.h

This header file is virtually an exact duplicate in functionality and content of the previously defined pdo/php_pdo.h that has been specifically tailored for your database. If your driver requires the use of global variables they should be defined using the ZEND_BEGIN_MODULE_GLOBALS and ZEND_END_MODULE_GLOBALS macros. Macros are then used to access these variables. This macro is usually named PDO_SKEL_G(v) where v is global variable to be accessed. Consult the Zend programmer documentation for more information.

php_pdo_SKEL_int.h

This header file typically contains type definitions and function declarations specific to the driver implementation. It also should contain the db specific definitions of a pdo_SKEL_handle and pdo_SKEL_stmt structures. These are the names of the private data structures that are then referenced by the driver_data members of the handle and statement structures.

Optional Headers

Depending on the implementation details for a particular driver it may be necessary to include the following header:

#include <zend_exceptions.h>
Prerequisites
Fleshing out your skeleton
PDO Driver How-To


Fleshing out your skeleton

Major Structures and Attributes

The major structures, pdo_dbh_t and pdo_stmt_t are defined and explained in Appendix A and B respectively. Database and Statement attributes are defined in Appendix C. Error handling is explained in Appendix D.

pdo_SKEL.c: PHP extension glue

function entries

static function_entry pdo_SKEL_functions[] = {
  { NULL, NULL, NULL }
};

This structure is used to register functions into the global php function namespace. PDO drivers should try to avoid doing this, so it is recommended that you leave this structure initialized to NULL, as shown in the synopsis above.

Module entry

/* {{{ pdo_SKEL_module_entry */
#if ZEND_EXTENSION_API_NO >= 220050617
static zend_module_dep pdo_SKEL_deps[] = {
    ZEND_MOD_REQUIRED("pdo")
    {NULL, NULL, NULL}
};
#endif
/* }}} */

zend_module_entry pdo_SKEL_module_entry = {
#if ZEND_EXTENSION_API_NO >= 220050617
    STANDARD_MODULE_HEADER_EX, NULL,
    pdo_SKEL_deps,
#else
    STANDARD_MODULE_HEADER,
#endif
    "pdo_SKEL",
    pdo_SKEL_functions,
    PHP_MINIT(pdo_SKEL),
    PHP_MSHUTDOWN(pdo_SKEL),
    NULL,
    NULL,
    PHP_MINFO(pdo_SKEL),
    PHP_PDO_<DB>_MODULE_VERSION,
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_PDO_<DB>
ZEND_GET_MODULE(pdo_db)
#endif

A structure of type zend_module_entry called pdo_SKEL_module_entry must be declared and should include reference to the pdo_SKEL_functions table defined previously.

Standard PHP Module Extension Functions

PHP_MINIT_FUNCTION
/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(pdo_SKEL)
{
    return php_pdo_register_driver(&pdo_SKEL_driver);
}
/* }}} */

This standard PHP extension function should be used to register your driver with the PDO layer. This is done by calling the php_pdo_register_driver() function passing a pointer to a structure of type pdo_driver_t typically named pdo_SKEL_driver. A pdo_driver_t contains a header that is generated using the PDO_DRIVER_HEADER(SKEL) macro and pdo_SKEL_handle_factory() function pointer. The actual function is described during the discussion of the SKEL_dbh.c unit.

PHP_MSHUTDOWN_FUNCTION
/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(pdo_SKEL)
{
    php_pdo_unregister_driver(&pdo_SKEL_driver);
    return SUCCESS;
}
/* }}} */

This standard PHP extension function is used to unregister your driver from the PDO layer. This is done by calling the php_pdo_unregister_driver() function, passing the same pdo_SKEL_driver structure that was passed in the init function above.

PHP_MINFO_FUNCTION

This is again a standard PHP extension function. Its purpose is to display information regarding the module when the phpinfo() is called from a script. The convention is to display the version of the module and also what version of the db you are dependent on, along with any other configuration style information that might be relevant.

SKEL_driver.c: Driver implementation

This unit implements all of the database handling methods that support the PDO database handle object. It also contains the error fetching routines. All of these functions will typically need to access the global variable pool. Therefore, it is necessary to use the Zend macro TSRMLS_DC macro at the end of each of these statements. Consult the Zend programmer documentation for more information on this macro.

pdo_SKEL_error

static int pdo_SKEL_error(pdo_dbh_t *dbh,
  pdo_stmt_t *stmt, const char *file, int line TSRMLS_DC)

The purpose of this function is to be used as a generic error handling function within the driver. It is called by the driver when an error occurs within the driver. If an error occurs that is not related to SQLSTATE, the driver should set either dbh->error_code or stmt->error_code to an SQLSTATE that most closely matches the error or the generic SQLSTATE error "HY000". The file pdo_sqlstate.c in the PDO source contains a table of commonly used SQLSTATE codes that the PDO code explicitly recognizes. This setting of the error code should be done prior to calling this function.; This function should set the global pdo_err variable to the error found in either the dbh or the stmt (if the variable stmt is not NULL).

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the current statement or NULL. If NULL, the error is derived by error code found in the dbh.

file

The source file where the error occurred or NULL if not available.

line

The line number within the source file if available.

If the dbh member methods is NULL (which implies that the error is being raised from within the PDO constructor), this function should call the zend_throw_exception_ex() function otherwise it should return the error code. This function is usually called using a helper macro that customizes the calling sequence for either database handling errors or statement handling errors.

Exemple #1 Example macros for invoking pdo_SKEL_error

#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)
#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)

For more info on error handling, see Error handling.

Note: Despite being documented here, the PDO driver interface does not specify that this function be present; it is merely a convenient way to handle errors, and it just happens to be equally convenient for the majority of database client library APIs to structure your driver implementation in this way.

pdo_SKEL_fetch_error_func

static int pdo_SKEL_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt,
    zval *info TSRMLS_DC)

The purpose of this function is to obtain additional information about the last error that was triggered. This includes the driver specific error code and a human readable string. It may also include additional information if appropriate. This function is called as a result of the PHP script calling the PDO::errorInfo() method.

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the most current statement or NULL. If NULL, the error translated is derived by error code found in the dbh.

info

A hash table containing error codes and messages.

The error_func should return two pieces of information as successive array elements. The first item is expected to be a numeric error code, the second item is a descriptive string. The best way to set this item is by using add_next_index. Note that the type of the first argument need not be long ; use whichever type most closely matches the error code returned by the underlying database API.

/* now add the error information. */
/* These need to be added in a specific order */
add_next_index_long(info, error_code);   /* driver specific error code */
add_next_index_string(info, message, 0); /* readable error message */

This function should return 1 if information is available, 0 if the driver does not have additional info.

SKEL_handle_closer

static int SKEL_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to close an open database.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to close the open database. PDO ignores the return value from this function.

SKEL_handle_preparer

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)

This function will be called by PDO in response to PDO::query() and PDO::prepare() calls from the PHP script. The purpose of the function is to prepare raw SQL for execution, storing whatever state is appropriate into the stmt that is passed in.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

Stmt

Pointer to the returned statement or NULL if an error occurs.

driver_options

Any driver specific/defined options.

This function is essentially the constructor for a stmt object. This function is responsible for processing statement options, and setting driver-specific option fields in the pdo_stmt_t structure.

PDO does not process any statement options on the driver's behalf before calling the preparer function. It is your responsibility to process them before you return, raising an error for any unknown options that are passed.

One very important responsibility of this function is the processing of SQL statement parameters. At the time of this call, PDO does not know if your driver supports binding parameters into prepared statements, nor does it know if it supports named or positional parameter naming conventions.

Your driver is responsible for setting stmt->supports_placeholders as appropriate for the underlying database. This may involve some run-time determination on the part of your driver, if this setting depends on the version of the database server to which it is connected. If your driver doesn't directly support both named and positional parameter conventions, you should use the pdo_parse_params() API to have PDO rewrite the query to take advantage of the support provided by your database.

Exemple #2 Using pdo_parse_params

int ret;
    char *nsql = NULL;
    int nsql_len = 0;

    /* before we prepare, we need to peek at the query; if it uses named parameters,
     * we want PDO to rewrite them for us */
    stmt->supports_placeholders = PDO_PLACEHOLDER_POSITIONAL;
    ret = pdo_parse_params(stmt, (char*)sql, sql_len, &nsql, &nsql_len TSRMLS_CC);

    if (ret == 1) {
        /* query was re-written */
        sql = nsql;
    } else if (ret == -1) {
        /* couldn't grok it */
        strcpy(dbh->error_code, stmt->error_code);
        return 0;
    }

    /* now proceed to prepare the query in "sql" */

Possible values for supports_placeholders are: PDO_PLACEHOLDER_NAMED, PDO_PLACEHOLDER_POSITIONAL and PDO_PLACEHOLDER_NONE. If the driver doesn't support prepare statements at all, then this function should simply allocate any state that it might need, and then return:

Exemple #3 Implementing preparer for drivers that don't support native prepared statements

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
    long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
{
    pdo_SKEL_db_handle *H = (pdo_SKEL_db_handle *)dbh->driver_data;
    pdo_SKEL_stmt *S = ecalloc(1, sizeof(pdo_SKEL_stmt));

    S->H = H;
    stmt->driver_data = S;
    stmt->methods = &SKEL_stmt_methods;
    stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;

    return 1;
}

This function returns 1 on success or 0 on failure.

SKEL_handle_doer

static long SKEL_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_DC)

This function will be called by PDO to execute a raw SQL statement. No pdo_stmt_t is created.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

This function returns 1 on success or 0 on failure.

SKEL_handle_quoter

static int SKEL_handle_quoter(pdo_dbh_t *dbh, const char *unquoted,
  int unquoted_len, char **quoted, int quoted_len, enum pdo_param_type param_type TSRMLS_DC)

This function will be called by PDO to turn an unquoted string into a quoted string for use in a query.

dbh

Pointer to the database handle initialized by the handle factory

unquoted

Pointer to a character string containing the string to be quoted.

unquoted_len

The length of the string to be quoted.

quoted

Pointer to the address where a pointer to the newly quoted string will be returned.

quoted_len

The length of the new string.

param_type

A driver specific hint for driver that have alternate quoting styles

This function is called in response to a call to PDO::quote() or when the driver has set supports_placeholder to PDO_PLACEHOLDER_NONE. The purpose is to quote a parameter when building SQL statements.

If your driver does not support native prepared statements, implementation of this function is required.

This function returns 1 if the quoting process reformatted the string, and 0 if it was not necessary to change the string. The original string will be used unchanged with a 0 return.

SKEL_handle_begin

static int SKEL_handle_begin(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to begin a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to begin a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_commit

static int SKEL_handle_commit(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to end a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to commit a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_rollback

static int SKEL_handle_rollback( pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to rollback a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to rollback a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_get_attribute

static int SKEL_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value TSRMLS_DC)

This function will be called by PDO to retrieve a database attribute.

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to supply this function. PDO driver handles the PDO_ATTR_PERSISTENT, PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_set_attribute

static int SKEL_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to set a database attribute, usually in response to a script calling PDO::setAttribute().

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to provide this function if it does not need to support additional attributes. The PDO driver handles the PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_last_id

static char * SKEL_handle_last_id(pdo_dbh_t *dbh, const char *name, unsigned int len TSRMLS_DC)

This function will be called by PDO to retrieve the ID of the last inserted row.

dbh

Pointer to the database handle initialized by the handle factory

name

string representing a table or sequence name.

len

the length of the name parameter.

This function returns a character string containing the id of the last inserted row on success or NULL on failure. This is an optional function.

SKEL_check_liveness

static int SKEL_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to test whether or not a persistent connection to a database is alive and ready for use.

dbh

Pointer to the database handle initialized by the handle factory

This function returns 1 if the database connection is alive and ready for use, otherwise it should return 0 to indicate failure or lack of support.

Note: This is an optional function.

SKEL_get_driver_methods

static function_entry *SKEL_get_driver_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)

This function will be called by PDO in response to a call to any method that is not a part of either the PDO or PDOStatement classes. It's purpose is to allow the driver to provide additional driver specific methods to those classes.

dbh

Pointer to the database handle initialized by the handle factory

kind

One of the following:

PDO_DBH_DRIVER_METHOD_KIND_DBH

Set when the method call was attempted on an instance of the PDO class. The driver should return a pointer a function_entry table for any methods it wants to add to that class, or NULL if there are none.

PDO_DBH_DRIVER_METHOD_KIND_STMT

Set when the method call was attempted on an instance of the PDOStatement class. The driver should return a pointer to a function_entry table for any methods it wants to add to that class, or NULL if there are none.

This function returns a pointer to the function_entry table requested, or NULL there are no driver specific methods.

SKEL_handle_factory

static int SKEL_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC)

This function will be called by PDO to create a database handle. For most databases this involves establishing a connection to the database. In some cases, a persistent connection may be requested, in other cases connection pooling may be requested. All of these are database/driver dependent.

dbh

Pointer to the database handle initialized by the handle factory

driver_options

An array of driver options, keyed by integer option number. See Database and Statement Attributes Table for a list of possible attributes.

This function should fill in the passed database handle structure with its driver specific information on success and return 1, otherwise it should return 0 to indicate failure.

PDO processes the AUTOCOMMIT and PERSISTENT driver options before calling the handle_factory. It is the handle factory's responsibility to process other options.

Driver method table

A static structure of type pdo_dbh_methods named SKEL_methods must be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

pdo_SKEL_driver

A structure of type pdo_driver_t named pdo_SKEL_driver should be declared. The PDO_DRIVER_HEADER(SKEL) macro should be used to declare the header and the function pointer to the handle factory function should set.

SKEL_statement.c: Statement implementation

This unit implements all of the database statement handling methods that support the PDO statement object.

SKEL_stmt_dtor

static int SKEL_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to destroy a previously constructed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This should do whatever is necessary to free up any driver specific storage allocated for the statement. The return value from this function is ignored.

SKEL_stmt_execute

static int SKEL_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to execute the prepared SQL statement in the passed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_fetch

static int SKEL_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
   long offset TSRMLS_DC)

This function will be called by PDO to fetch a row from a previously executed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

ori

One of PDO_FETCH_ORI_xxx which will determine which row will be fetched.

offset

If ori is set to PDO_FETCH_ORI_ABS or PDO_FETCH_ORI_REL, offset represents the row desired or the row relative to the current position, respectively. Otherwise, this value is ignored.

The results of this fetch are driver dependent and the data is usually stored in the driver_data member of the pdo_stmt_t object. The ori and offset parameters are only meaningful if the statement represents a scrollable cursor. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_param_hook

static int SKEL_stmt_param_hook(pdo_stmt_t *stmt,
  struct pdo_bound_param_data *param, enum pdo_param_event event_type TSRMLS_DC)

This function will be called by PDO for handling of both bound parameters and bound columns.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

param

The structure describing either a statement parameter or a bound column.

event_type

The type of event to occur for this parameter, one of the following:

PDO_PARAM_EVT_ALLOC

Called when PDO allocates the binding. Occurs as part of PDOStatement::bindParam(), PDOStatement::bindValue() or as part of an implicit bind when calling PDOStatement::execute(). This is your opportunity to take some action at this point; drivers that implement native prepared statements will typically want to query the parameter information, reconcile the type with that requested by the script, allocate an appropriately sized buffer and then bind the parameter to that buffer. You should not rely on the type or value of the zval at param->parameter at this point in time.

PDO_PARAM_EVT_FREE

Called once per parameter as part of cleanup. You should release any resources associated with that parameter now.

PDO_PARAM_EXEC_PRE

Called once for each parameter immediately before calling SKEL_stmt_execute; take this opportunity to make any final adjustments ready for execution. In particular, you should note that variables bound via PDOStatement::bindParam() are only legal to touch now, and not any sooner.

PDO_PARAM_EXEC_POST

Called once for each parameter immediately after calling SKEL_stmt_execute; take this opportunity to make any post-execution actions that might be required by your driver.

PDO_PARAM_FETCH_PRE

Called once for each parameter immediately prior to calling SKEL_stmt_fetch.

PDO_PARAM_FETCH_POST

Called once for each parameter immediately after calling SKEL_stmt_fetch.

This hook will be called for each bound parameter and bound column in the statement. For ALLOC and FREE events, a single call will be made for each parameter or column. The param structure contains a driver_data field that the driver can use to store implementation specific information about each of the parameters.

For all other events, PDO may call you multiple times as the script issues PDOStatement::execute() and PDOStatement::fetch() calls.

If this is a bound parameter, the is_param flag in the param structure is set, otherwise the param structure refers to a bound column.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_describe_col

static int SKEL_stmt_describe_col(pdo_stmt_t *stmt, int colno TSRMLS_DC)

This function will be called by PDO to query information about a particular column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

The driver should populate the pdo_stmt_t member columns(colno) with the appropriate information. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_get_col_data

static int SKEL_stmt_get_col_data(pdo_stmt_t *stmt, int colno,
  char **ptr, unsigned long *len, int *caller_frees TSRMLS_DC)

This function will be called by PDO to retrieve data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

ptr

Pointer to the retrieved data.

len

The length of the data pointed to by ptr.

caller_frees

If set, ptr should point to emalloc'd memory and the main PDO driver will free it as soon as it is done with it. Otherwise, it will be the responsibility of the driver to free any allocated memory as a result of this call.

The driver should return the resultant data and length of that data in the ptr and len variables respectively. It should be noted that the main PDO driver expects the driver to manage the lifetime of the data. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_set_attr

static int SKEL_stmt_set_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to allow the setting of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

val

The new value for the attribute.

This function is driver dependent and allows the driver the capability to set database specific attributes for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional settable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_attr

static int SKEL_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval
   *return_value TSRMLS_DC)

This function will be called by PDO to allow the retrieval of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See Database and Statement Attributes Table for valid attributes.

return_value

The returned value for the attribute.

This function is driver dependent and allows the driver the capability to retrieve a previously set database specific attribute for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional gettable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_col_meta

static int SKEL_stmt_get_col_meta(pdo_stmt_t *stmt, int colno,
   zval *return_value TSRMLS_DC)
Avertissement

This function is not well defined and is subject to change.

This function will be called by PDO to retrieve meta data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number for which data is to be retrieved.

return_value

Holds the returned meta data.

The driver author should consult the documentation for this function that can be found in the php_pdo_driver.h header as this will be the most current. This function returns 1 for success or 0 in the event of failure. The database driver does not need to provide this function.

Statement handling method table

A static structure of type pdo_stmt_methods named SKEL_stmt_methods should be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

Preparation and Housekeeping
Building
PDO Driver How-To


Building

The build process is designed to work with PEAR (see » http://pear.php.net/ for more information about PEAR). There are two files that are used to assist in configuring your package for building. The first is config.m4 which is the autoconf configuration file for all platforms except Win32. The second is config.w32 which is a build configuration file for use on Win32. Skeleton files for these are built for you when you first set up your project. You then need to customize them to fit the needs of your project. Once you've customized your config files, you can build your driver using the following sequence of commands:

Before first build:

$ sudo pecl install PDO

For each build:

$ cd pdo_SKEL
$ phpize
$ ./configure
$ make
$ sudo make install

The process can then be repeated as necessary during the development process.

Fleshing out your skeleton
Testing
PDO Driver How-To


Testing

PDO has a set of "core" tests that all drivers should pass before being released. They're designed to run from the PHP source distribution, so running the tests for your driver requires moving things around a bit. The suggested procedure is to obtain the latest PHP 5.1 snapshot and perform the following step:

$ cp -r pdo_SKEL /path/to/php-5.1/ext

This will allow the test harness to run your tests. The next thing you need to do is create a test that will redirect into the PDO common core tests. The convention is to name this file common.phpt; it should be placed in the tests subdirectory that was created by ext_skel when you created your extension skeleton. The content of this file should look something like the following:

--TEST--
SKEL
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_SKEL')) print 'skip'; ?>
--REDIRECTTEST--
if (false !== getenv('PDO_SKEL_TEST_DSN')) {
# user set them from their shell
   $config['ENV']['PDOTEST_DSN'] = getenv('PDO_SKEL_TEST_DSN');
   $config['ENV']['PDOTEST_USER'] = getenv('PDO_SKEL_TEST_USER');
   $config['ENV']['PDOTEST_PASS'] = getenv('PDO_SKEL_TEST_PASS');
   if (false !== getenv('PDO_SKEL_TEST_ATTR')) {
      $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_SKEL_TEST_ATTR');
   }
   return $config;
}
return array(
   'ENV' => array(
           'PDOTEST_DSN' => 'SKEL:dsn',
           'PDOTEST_USER' => 'username',
           'PDOTEST_PASS' => 'password'
       ),
   'TESTS' => 'ext/pdo/tests'
   );

This will cause the common core tests to be run, passing the values of PDOTEST_DSN, PDOTEST_USER and PDOTEST_PASS to the PDO constructor as the dsn, username and password parameters. It will first check the environment, so that appropriate values can be passed in when the test harness is run, rather than hard-coding the database credentials into the test file.

The test harness can be invoked as follows:

$ cd /path/to/php-5.1
$ make TESTS=ext/pdo_SKEL/tests PDO_SKEL_TEST_DSN="skel:dsn" \
 PDO_SKEL_TEST_USER=user PDO_SKEL_TEST_PASS=pass test
Building
Packaging and distribution
PDO Driver How-To


Packaging and distribution

Creating a package

PDO drivers are released via PECL; all the usual rules for PECL extensions apply. Packaging is accomplished by creating a valid package.xml file and then running:

$ pecl package

This will create a tarball named PDO_SKEL-X.Y.Z.tgz.

Before releasing the package, you should test that it builds correctly; if you've made a mistake in your config.m4 or package.xml files, the package may not function correctly. You can test the build, without installing anything, using the following invocation:

$ pecl build package.xml

Once this is proven to work, you can test installation:

$ pecl package
$ sudo pecl install PDO_SKEL-X.Y.X.tgz

Full details about package.xml can be found in the PEAR Programmer's documentation (» http://pear.php.net/manual/).

Releasing the package

A PDO driver is released via the PHP Extension Community Library (PECL). Information about PECL can be found at » http://pecl.php.net/.

Testing
pdo_dbh_t definition
PDO Driver How-To


pdo_dbh_t definition

All fields should be treated as read-only by the driver, unless explicitly stated otherwise.

pdo_dbh_t

/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;
*
/* driver specific data */
    void *driver_data;
**
/* credentials */
    char *username, *password;
***
/* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;
****
/* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;
*****
/* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;
******
/* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;

    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;
*******
/* data source string used to open this handle */
    const char *data_source;
********
unsigned long data_source_len;

    /* the global error code. */
    pdo_error_type error_code;
*********
enum pdo_case_conversion native_case
**********
, desired_case;
};
*

The driver must set this during SKEL_handle_factory().

**

This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.

***

The username and password that were passed into the PDO constructor. The driver should use these values when it initiates a connection to the database.

****

If this is set to 1, then any data that is referenced by the dbh, including whatever structure your driver allocates, MUST be allocated persistently. This is easy to achieve; rather than using the usual emalloc() simply use pemalloc() and pass the value of this flag as the last parameter. Failure to use the appropriate kind of memory can lead to serious memory faults, resulting (in the best case) a hard crash, and in the worst case, an exploitable memory problem.

If, for whatever reason, your driver is not suitable to run persistently, you MUST check this flag in your SKEL_handle_factory() and raise an appropriate error.

*****

You should check this value in your SKEL_handle_doer() and SKEL_stmt_execute() functions; if it evaluates to true, you must attempt to commit the query now. Most database implementations offer an auto-commit mode that handles this automatically.

******

If your database client library API operates by fetching data into a caller-supplied buffer, you should set this flag to 1 during your SKEL_handle_factory(). When set, PDO will call your SKEL_stmt_describer() earlier than it would otherwise. This early call allows you to determine those buffer sizes and issue appropriate calls to the database client library.

If your database client library API simply returns pointers to its own internal buffers for you to copy after each fetch call, you should leave this value set to 0.

*******

If your driver doesn't support native prepared statements (supports_placeholders is set to PDO_PLACEHOLDER_NONE), you must set this value to the maximum length that can be taken up by a single character when it is quoted by your SKEL_handle_quoter() function. This value is used to calculate the amount of buffer space required when PDO executes the statement.

********

This holds the value of the DSN that was passed into the PDO constructor. If your driver implementation needed to modify the DSN for whatever reason, it should update this member during SKEL_handle_factory(). Modifying this member should be avoided. If you do change it, you must ensure that data_source_len is also correct.

*********

Whenever an error occurs during a call to one of your driver methods, you should set this member to the SQLSTATE code that best describes the error and return an error. In this HOW-TO, the suggested practice is to call SKEL_handle_error() when an error is detected, and have it set the error code.

**********

Your driver should set this during SKEL_handle_factory(); the value should reflect how the database returns the names of the columns in result sets. If the name matches the case that was used in the query, set it to PDO_CASE_NATURAL (this is actually the default). If the column names are always returned in upper case, set it to PDO_CASE_UPPER. If the column names are always returned in lower case, set it to PDO_CASE_LOWER. The value you set is used to determine if PDO should perform case folding when the user sets the PDO_ATTR_CASE attribute.

Packaging and distribution
pdo_stmt_t definition
PDO Driver How-To


pdo_stmt_t definition

All fields should be treated as read-only unless explicitly stated otherwise.

pdo_stmt_t

/* represents a prepared statement */
struct _pdo_stmt_t {
    /* driver specifics */
    struct pdo_stmt_methods *methods;
*
void *driver_data;
**
/* if true, we've already successfully executed this statement at least
     * once */
    unsigned executed:1;
***
/* if true, the statement supports placeholders and can implement
     * bindParam() for its prepared statements, if false, PDO should
     * emulate prepare and bind on its behalf */
    unsigned supports_placeholders:2;
****
/* the number of columns in the result set; not valid until after
     * the statement has been executed at least once.  In some cases, might
     * not be valid until fetch (at the driver level) has been called at least once.
     * */
    int column_count;
*****
struct pdo_column_data *columns;
******
/* points at the dbh that this statement was prepared on */
    pdo_dbh_t *dbh;

    /* keep track of bound input parameters.  Some drivers support
     * input/output parameters, but you can't rely on that working */
    HashTable *bound_params;
    /* When rewriting from named to positional, this maps positions to names */
    HashTable *bound_param_map;
    /* keep track of PHP variables bound to named (or positional) columns
     * in the result set */
    HashTable *bound_columns;

    /* not always meaningful */
    long row_count;

    /* used to hold the statement's current query */
    char *query_string;
    int query_stringlen;

    /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */
    char *active_query_string;
    int active_query_stringlen;

    /* the cursor specific error code. */
    pdo_error_type error_code;

    /* used by the query parser for driver specific
     * parameter naming (see pgsql driver for example) */
    const char *named_rewrite_template;
};
* | The driver must set this during SKEL_handle_preparer().
** | This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
*** | This is set by PDO after the statement has been executed for the first time. Your driver can inspect this value to determine if it can skip one-time actions as an optimization.
**** | Discussed in more detail in SKEL_handle_preparer.
***** | Your driver is responsible for setting this field to the number of columns available in a result set. This is usually set during SKEL_stmt_execute() but with some database implementations, the column count may not be available until SKEL_stmt_fetch() has been called at least once. Drivers that implement SKEL_stmt_next_rowset() should update the column count when a new rowset is available.
****** | PDO will allocate this field based on the value that you set for the column count. You are responsible for populating each column during SKEL_stmt_describe(). You must set the precision, maxlen, name, namelen and param_type members for each column. The name is expected to be allocated using emalloc(); PDO will call efree() at the appropriate time.
pdo_dbh_t definition
Constants
PDO Driver How-To


Constants

Database and Statement Attributes Table

Attribute

Valid value(s)

PDO_ATTR_AUTOCOMMIT

BOOL

TRUE if autocommit is set, FALSE otherwise.

dbh->auto_commit contains value. Processed by PDO directly.

PDO_ATTR_PREFETCH

LONG

Value of the prefetch size in drivers that support it.

PDO_ATTR_TIMEOUT

LONG

How long to wait for a db operation before timing out.

PDO_ATTR_ERRMODE

LONG

Processed and handled by PDO

PDO_ATTR_SERVER_VERSION

STRING

The "human-readable" string representing the Server/Version this driver is currently connected to.

PDO_ATTR_CLIENT_VERSION

STRING

The "human-readable" string representing the Client/Version this driver supports.

PDO_ATTR_SERVER_INFO

STRING

The "human-readable" description of the Server.

PDO_ATTR_CONNECTION_STATUS

LONG

Values not yet defined

PDO_ATTR_CASE

LONG

Processed and handled by PDO.

PDO_ATTR_CURSOR_NAME

STRING

String representing the name for a database cursor for use in "where current in <name>" SQL statements.

PDO_ATTR_CURSOR

LONG

PDO_CURSOR_FWDONLY

Forward only cursor

PDO_CURSOR_SCROLL

Scrollable cursor

The values for the attributes above are all defined in terms of the Zend API. The Zend API contains macros that can be used to convert a *zval to a value. These macros are defined in the Zend header file, zend_API.h in the Zend directory of your PHP build directory. Some of these attributes can be used with the statement attribute handlers such as the PDO_ATTR_CURSOR and PDO_ATTR_CURSOR_NAME. See the statement attribute handling functions for more information.

pdo_stmt_t definition
Error handling
PDO Driver How-To


Error handling

Error handling is implemented using a hand-shaking protocol between PDO and the database driver code. The database driver code signals PDO that an error has occurred via a failure (0) return from any of the interface functions. If a zero is returned, set the field error_code in the control block appropriate to the context (either the pdo_dbh_t or pdo_stmt_t block). In practice, it is probably a good idea to set the field in both blocks to the same value to ensure the correct one is getting used.

The error_mode field is a six-byte field containing a 5 character ASCIIZ SQLSTATE identifier code. This code drives the error message process. The SQLSTATE code is used to look up an error message in the internal PDO error message table (see pdo_sqlstate.c for a list of error codes and their messages). If the code is not known to PDO, a default "Unknown Message" value will be used.

In addition to the SQLSTATE code and error message, PDO will call the driver-specific fetch_err() routine to obtain supplemental data for the particular error condition. This routine is passed an array into which the driver may place additional information. This array has slot positions assigned to particular types of supplemental info:

  1. A native error code. This will frequently be an error code obtained from the database API.

  2. A descriptive string. This string can contain any additional information related to the failure. Database drivers typically include information such as an error message, code location of the failure, and any additional descriptive information the driver developer feels worthy of inclusion. It is generally a good idea to include all diagnostic information obtainable from the database interface at the time of the failure. For driver-detected errors (such as memory allocation problems), the driver developer can define whatever error information that seems appropriate.

Constants
Extension FAQs
PDO Driver How-To


Extension FAQs

Error handling
Zend Engine 2 API reference
PHP at the Core: A Hacker's Guide to the Zend Engine


Zend Engine 2 API reference

Extension FAQs
Zend Engine 2 opcode list
PHP at the Core: A Hacker's Guide to the Zend Engine


Zend Engine 2 API reference
Opcodes
PHP at the Core: A Hacker's Guide to the Zend Engine
PHP Manual

Zend Engine 2 opcode list

Sommaire

  • Opcodes

Opcodes

This page lists and partially documents all the opcodes generated by Zend Engine 2 when it parses PHP files. Opcodes may be dumped for a given PHP file using the vld extension (see » http://pecl.php.net/package/vld).

Zend Engine 2 API reference
Opcodes
PHP at the Core: A Hacker's Guide to the Zend Engine


Opcodes

Sommaire

  • Opcode list
  • ADD
  • ADD_ARRAY_ELEMENT
  • ADD_CHAR
  • ADD_INTERFACE
  • ADD_STRING
  • ADD_VAR
  • ASSIGN
  • ASSIGN_ADD
  • ASSIGN_BW_AND
  • ASSIGN_BW_OR
  • ASSIGN_BW_XOR
  • ASSIGN_CONCAT
  • ASSIGN_DIM
  • ASSIGN_DIV
  • ASSIGN_MOD
  • ASSIGN_MUL
  • ASSIGN_OBJ
  • ASSIGN_REF
  • ASSIGN_SL
  • ASSIGN_SR
  • ASSIGN_SUB
  • BEGIN_SILENCE
  • BOOL
  • BOOL_NOT
  • BOOL_XOR
  • BRK
  • BW_AND
  • BW_NOT
  • BW_OR
  • BW_XOR
  • CASE
  • CAST
  • CATCH
  • CLONE
  • CONCAT
  • DECLARE_CLASS
  • DECLARE_FUNCTION
  • DECLARE_INHERITED_CLASS
  • DIV
  • DO_FCALL
  • DO_FCALL_BY_NAME
  • ECHO
  • END_SILENCE
  • EXIT
  • EXT_FCALL_BEGIN
  • EXT_FCALL_END
  • EXT_NOP
  • EXT_STMT
  • FETCH_CLASS
  • FETCH_CONSTANT
  • FETCH_DIM_FUNC_ARG
  • FETCH_DIM_IS
  • FETCH_DIM_R
  • FETCH_DIM_RW
  • FETCH_DIM_TMP_VAR
  • FETCH_DIM_UNSET
  • FETCH_DIM_W
  • FETCH_FUNC_ARG
  • FETCH_IS
  • FETCH_OBJ_FUNC_ARG
  • FETCH_OBJ_IS
  • FETCH_OBJ_R
  • FETCH_OBJ_RW
  • FETCH_OBJ_UNSET
  • FETCH_OBJ_W
  • FETCH_R
  • FETCH_RW
  • FETCH_UNSET
  • FETCH_W
  • FE_FETCH
  • FE_RESET
  • FREE
  • HANDLE_EXCEPTION
  • INCLUDE_OR_EVAL
  • INIT_ARRAY
  • INIT_FCALL_BY_NAME
  • INIT_METHOD_CALL
  • INIT_STATIC_METHOD_CALL
  • INIT_STRING
  • INSTANCEOF
  • ISSET_ISEMPTY_DIM_OBJ
  • ISSET_ISEMPTY_PROP_OBJ
  • ISSET_ISEMPTY_VAR
  • IS_EQUAL
  • IS_IDENTICAL
  • IS_NOT_EQUAL
  • IS_NOT_IDENTICAL
  • IS_SMALLER
  • IS_SMALLER_OR_EQUAL
  • JMPNZ
  • JMPNZ_EX
  • JMPZ
  • JMPZNZ
  • JMPZ_EX
  • MOD
  • MUL
  • NEW
  • NOP
  • POST_DEC
  • POST_DEC_OBJ
  • POST_INC
  • POST_INC_OBJ
  • PRE_DEC
  • PRE_DEC_OBJ
  • PRE_INC
  • PRE_INC_OBJ
  • PRINT
  • QM_ASSIGN
  • RAISE_ABSTRACT_ERROR
  • RECV
  • RECV_INIT
  • RETURN
  • SEND_REF
  • SEND_VAL
  • SEND_VAR
  • SEND_VAR_NO_REF
  • SL
  • SR
  • SUB
  • SWITCH_FREE
  • THROW
  • TICKS
  • UNSET_DIM
  • UNSET_OBJ
  • UNSET_VAR
  • USER_OPCODE
  • VERIFY_ABSTRACT_CLASS
Zend Engine 2 opcode list
Opcode list
Zend Engine 2 opcode list


Opcode list

Opcode list
Number | Name | Has sample code?
0 | NOP | yes
1 | ADD | yes
2 | SUB | yes
3 | MUL | yes
4 | DIV | yes
5 | MOD | yes
6 | SL | yes
7 | SR | yes
8 | CONCAT | yes
9 | BW_OR | yes
10 | BW_AND | yes
11 | BW_XOR | yes
12 | BW_NOT | yes
13 | BOOL_NOT | yes
14 | BOOL_XOR | yes
15 | IS_IDENTICAL | yes
16 | IS_NOT_IDENTICAL | yes
17 | IS_EQUAL | yes
18 | IS_NOT_EQUAL | yes
19 | IS_SMALLER | yes
20 | IS_SMALLER_OR_EQUAL | yes
21 | CAST | yes
22 | QM_ASSIGN | yes
23 | ASSIGN_ADD | yes
24 | ASSIGN_SUB | yes
25 | ASSIGN_MUL | yes
26 | ASSIGN_DIV | yes
27 | ASSIGN_MOD | yes
28 | ASSIGN_SL | yes
29 | ASSIGN_SR | yes
30 | ASSIGN_CONCAT | yes
31 | ASSIGN_BW_OR | yes
32 | ASSIGN_BW_AND | yes
33 | ASSIGN_BW_XOR | yes
34 | PRE_INC | yes
35 | PRE_DEC | yes
36 | POST_INC | yes
37 | POST_DEC | yes
38 | ASSIGN | yes
39 | ASSIGN_REF | yes
40 | ECHO | yes
41 | PRINT | yes
42 | not documented | no
43 | JMPZ | yes
44 | JMPNZ | yes
45 | JMPZNZ | yes
46 | JMPZ_EX | yes
47 | JMPNZ_EX | yes
48 | CASE | yes
49 | SWITCH_FREE | yes
50 | BRK | yes
51 | not documented | no
52 | BOOL | yes
53 | INIT_STRING | yes
54 | ADD_CHAR | yes
55 | ADD_STRING | yes
56 | ADD_VAR | yes
57 | BEGIN_SILENCE | yes
58 | END_SILENCE | yes
59 | INIT_FCALL_BY_NAME | yes
60 | DO_FCALL | yes
61 | DO_FCALL_BY_NAME | yes
62 | RETURN | yes
63 | RECV | yes
64 | RECV_INIT | yes
65 | SEND_VAL | yes
66 | SEND_VAR | yes
67 | SEND_REF | yes
68 | NEW | yes
69 | not documented | no
70 | FREE | yes
71 | INIT_ARRAY | yes
72 | ADD_ARRAY_ELEMENT | yes
73 | INCLUDE_OR_EVAL | yes
74 | UNSET_VAR | yes
75 | UNSET_DIM | yes
76 | UNSET_OBJ | yes
77 | FE_RESET | yes
78 | FE_FETCH | yes
79 | EXIT | yes
80 | FETCH_R | yes
81 | FETCH_DIM_R | yes
82 | FETCH_OBJ_R | yes
83 | FETCH_W | yes
84 | FETCH_DIM_W | yes
85 | FETCH_OBJ_W | yes
86 | FETCH_RW | yes
87 | FETCH_DIM_RW | yes
88 | FETCH_OBJ_RW | yes
89 | FETCH_IS | yes
90 | FETCH_DIM_IS | no
91 | FETCH_OBJ_IS | no
92 | FETCH_FUNC_ARG | yes
93 | FETCH_DIM_FUNC_ARG | yes
94 | FETCH_OBJ_FUNC_ARG | yes
95 | FETCH_UNSET | no
96 | FETCH_DIM_UNSET | no
97 | FETCH_OBJ_UNSET | no
98 | FETCH_DIM_TMP_VAR | yes
99 | FETCH_CONSTANT | yes
100 | not documented | no
101 | EXT_STMT | no
102 | EXT_FCALL_BEGIN | no
103 | EXT_FCALL_END | no
104 | EXT_NOP | no
105 | TICKS | yes
106 | SEND_VAR_NO_REF | no
107 | CATCH | yes
108 | THROW | yes
109 | FETCH_CLASS | yes
110 | CLONE | yes
111 | not documented | no
112 | INIT_METHOD_CALL | yes
113 | INIT_STATIC_METHOD_CALL | yes
114 | ISSET_ISEMPTY_VAR | yes
115 | ISSET_ISEMPTY_DIM_OBJ | yes
116 | not documented | no
117 | not documented | no
118 | not documented | no
119 | not documented | no
120 | not documented | no
121 | not documented | no
122 | not documented | no
123 | not documented | no
124 | not documented | no
125 | not documented | no
126 | not documented | no
127 | not documented | no
128 | not documented | no
129 | not documented | no
130 | not documented | no
131 | not documented | no
132 | PRE_INC_OBJ | yes
133 | PRE_DEC_OBJ | yes
134 | POST_INC_OBJ | yes
135 | POST_DEC_OBJ | yes
136 | ASSIGN_OBJ | yes
137 | not documented | no
138 | INSTANCEOF | yes
139 | DECLARE_CLASS | yes
140 | DECLARE_INHERITED_CLASS | yes
141 | DECLARE_FUNCTION | yes
142 | RAISE_ABSTRACT_ERROR | yes
143 | not documented | no
144 | ADD_INTERFACE | no
145 | not documented | no
146 | VERIFY_ABSTRACT_CLASS | no
147 | ASSIGN_DIM | yes
148 | ISSET_ISEMPTY_PROP_OBJ | yes
149 | HANDLE_EXCEPTION | yes
150 | USER_OPCODE | no
152 | ZEND_JMP_SET | no
153 | ZEND_DECLARE_LAMBDA_FUNCTION | no
Opcodes
ADD
Opcodes


ADD

PHP code

<?php
/*
 * Adds "value1" to "value2" and stores the result into "result".
 * opcode number: 1
 */
echo 1 + 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ADD |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
Opcode list
ADD_ARRAY_ELEMENT
Opcodes


ADD_ARRAY_ELEMENT

PHP code

<?php
/*
 * Add elem-value as an element to array-value
 * opcode number: 72
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
ADD
ADD_CHAR
Opcodes


ADD_CHAR

PHP code

<?php
/*
 * add character value2 to string value1 and store in result
 * opcode number: 54
 */
echo "hello\ world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello%5C+world'
7 | 1 | RETURN |  |  |  | 1
ADD_ARRAY_ELEMENT
ADD_INTERFACE
Opcodes


ADD_INTERFACE

PHP code

<?php
/*
 *
 * opcode number: 144
 * No sample PHP yet */
?>
ADD_CHAR
ADD_STRING
Opcodes


ADD_STRING

PHP code

<?php
/*
 * add string value2 to string value2 and store in result
 * opcode number: 55
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_INTERFACE
ADD_VAR
Opcodes


ADD_VAR

PHP code

<?php
/*
 * add contents of variable in value2 to string value1 and store in result
 * opcode number: 56
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
ADD_STRING
ASSIGN
Opcodes


ASSIGN

PHP code

<?php
/*
 * assigns value1 to result
 * opcode number: 38
 */
$a=1;
$a='a';
$a=new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !0,'a'
8 | 2 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 3 | NEW |  |  | $3 | :2
 | 4 | DO_FCALL_BY_NAME |  | 0 |  |
 | 5 | ASSIGN |  |  |  | !0,$3
9 | 6 | RETURN |  |  |  | 1
ADD_VAR
ASSIGN_ADD
Opcodes


ASSIGN_ADD

PHP code

<?php
/*
 * Add value1 to value2 and store in variable indicated by value1
 * opcode number: 23
 */
$a+=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_ADD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN
ASSIGN_BW_AND
Opcodes


ASSIGN_BW_AND

PHP code

<?php
/*
 * Performs binary AND on result and value1 and stores in variable indicated by result.
 * opcode number: 32
 */
$a &= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_AND |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_ADD
ASSIGN_BW_OR
Opcodes


ASSIGN_BW_OR

PHP code

<?php
/*
 * Performs binary OR on result and value1 and stores in variable indicated by result.
 * opcode number: 31
 */
$a |= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_OR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_AND
ASSIGN_BW_XOR
Opcodes


ASSIGN_BW_XOR

PHP code

<?php
/*
 * Performs binary XOR on result and value1and stores in variable indicated by result.
 * opcode number: 33
 */
$a ^= 64;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_BW_XOR |  |  |  | !0,64
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_OR
ASSIGN_CONCAT
Opcodes


ASSIGN_CONCAT

PHP code

<?php
/*
 * Concats string values result and value1 and store in variable indicated by result
 * opcode number: 30
 */
$a .= 'z';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_CONCAT |  |  |  | !0,'z'
7 | 1 | RETURN |  |  |  | 1
ASSIGN_BW_XOR
ASSIGN_DIM
Opcodes


ASSIGN_DIM

PHP code

<?php
/*
 *
 * opcode number: 147
 */
$b = 1;
$a[1][2] = $b;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | FETCH_DIM_W |  |  | $1 | !1,1
 | 2 | ZEND_ASSIGN_DIM |  |  |  | $1,2
 | 3 | ZEND_OP_DATA |  |  |  | !0,$3
8 | 4 | RETURN |  |  |  | 1
ASSIGN_CONCAT
ASSIGN_DIV
Opcodes


ASSIGN_DIV

PHP code

<?php
/*
 * Divide result by value1and store in variable indicated by result.
 * opcode number: 26
 */
$a/=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_DIV |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIM
ASSIGN_MOD
Opcodes


ASSIGN_MOD

PHP code

<?php
/*
 * Perform result mod value1 and store in variable indicated by result
 * opcode number: 27
 */
$a %= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MOD |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_DIV
ASSIGN_MUL
Opcodes


ASSIGN_MUL

PHP code

<?php
/*
 * Multiply result by value1 and store in variable indicated by result
 * opcode number: 25
 */
$a*=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_MUL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_MOD
ASSIGN_OBJ
Opcodes


ASSIGN_OBJ

PHP code

<?php
/*
 *
 * opcode number: 136
 */
$obj->a = $otherobj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$otherobj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ASSIGN_OBJ |  |  |  | !0,'a'
 | 1 | ZEND_OP_DATA |  |  |  | !1
7 | 2 | RETURN |  |  |  | 1
ASSIGN_MUL
ASSIGN_REF
Opcodes


ASSIGN_REF

PHP code

<?php
/*
 * indicates that variable indicated by value1 is to be treated in the global scope for the remainder of the current scope.
 * opcode number: 39
 */
global $a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_W | globallock |  | $0 | 'a'
 | 1 | ASSIGN_REF |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
ASSIGN_OBJ
ASSIGN_SL
Opcodes


ASSIGN_SL

PHP code

<?php
/*
 * Shift result by value1 bits to left and store in variable indicated by result
 * opcode number: 28
 */
$a <<= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SL |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_REF
ASSIGN_SR
Opcodes


ASSIGN_SR

PHP code

<?php
/*
 * Shift result by value1 bits to right and store in variable indicated by result
 * opcode number: 29
 */
$a >>= 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SR |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SL
ASSIGN_SUB
Opcodes


ASSIGN_SUB

PHP code

<?php
/*
 * Subtract value1 from value2 and store in variable indicated by value1
 * opcode number: 24
 */
$a-=3;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN_SUB |  |  |  | !0,3
7 | 1 | RETURN |  |  |  | 1
ASSIGN_SR
BEGIN_SILENCE
Opcodes


BEGIN_SILENCE

PHP code

<?php
/*
 * prepare to perform function call without displaying error messages
 * opcode number: 57
 */
/* Intentional file error */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
7 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
8 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
9 | 12 | RETURN |  |  |  | 1
ASSIGN_SUB
BOOL
Opcodes


BOOL

PHP code

<?php
/*
 * convert value1 to boolean and store in result??????????
 * opcode number: 52
 */
if (1 || 2 || 1) echo "foo";
//$a = true;
//if($a) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | JMPNZ_EX |  |  | ~0 | 1,->2
 | 1 | BOOL |  |  | ~0 | 2
 | 2 | JMPNZ_EX |  |  | ~0 | ~0,->4
 | 3 | BOOL |  |  | ~0 | 1
 | 4 | JMPZ |  |  |  | ~0,->7
 | 5 | ECHO |  |  |  | 'foo'
 | 6 | JMP |  |  |  | ->7
9 | 7 | RETURN |  |  |  | 1
BEGIN_SILENCE
BOOL_NOT
Opcodes


BOOL_NOT

PHP code

<?php
/*
 * Boolean (logical) not of "value"
 * opcode number: 13
 */
echo !1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_NOT |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL
BOOL_XOR
Opcodes


BOOL_XOR

PHP code

<?php
/*
 * Boolean (logical) xor of value1
 * opcode number: 14
 */
echo 1 xor 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BOOL_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BOOL_NOT
BRK
Opcodes


BRK

PHP code

<?php
/*
 * ???  End of a case block exists the current switch block.  Followed by JMP?
 * opcode number: 50
 */
$x = 0;
while(1) {
    if($x == 0) break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
7 | 1 | JMPZ |  |  |  | 1,->7
8 | 2 | IS_EQUAL |  |  | ~1 | !0,0
 | 3 | JMPZ |  |  |  | ~1,->6
 | 4 | BRK |  |  |  | 1
 | 5 | JMP |  |  |  | ->6
9 | 6 | JMP |  |  |  | ->1
10 | 7 | RETURN |  |  |  | 1
BOOL_XOR
BW_AND
Opcodes


BW_AND

PHP code

<?php
/*
 * Bit-wise and of value1 and value2
 * opcode number: 10
 */
echo 1&2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_AND |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BRK
BW_NOT
Opcodes


BW_NOT

PHP code

<?php
/*
 * Bit-wise not of "value"
 * opcode number: 12
 */
echo ~15;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_NOT |  |  | ~0 | 15
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_AND
BW_OR
Opcodes


BW_OR

PHP code

<?php
/*
 * Bit-wise or of value1 and value2
 * opcode number: 9
 */
echo 1|2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_OR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_NOT
BW_XOR
Opcodes


BW_XOR

PHP code

<?php
/*
 * Bit-wise xor of value1 and value2
 * opcode number: 11
 */
echo 1^2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
BW_OR
CASE
Opcodes


CASE

PHP code

<?php
/*
 * Set result to true if value1 equals value2.  The value2 must be a constant value?
 * opcode number: 48
 */
$i=0;
switch ($i) {
   case 0:
         echo "i=0";
         break;
   case 1:
         echo "i=1";
         break;
   case 2:
         echo "i=2";
         break;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
8 | 1 | CASE |  |  | ~1 | !0,0
 | 2 | JMPZ |  |  |  | ~1,->6
9 | 3 | ECHO |  |  |  | 'i%3D0'
10 | 4 | BRK |  |  |  | 1
11 | 5 | JMP |  |  |  | ->8
 | 6 | CASE |  |  | ~1 | !0,1
 | 7 | JMPZ |  |  |  | ~1,->11
12 | 8 | ECHO |  |  |  | 'i%3D1'
13 | 9 | BRK |  |  |  | 1
14 | 10 | JMP |  |  |  | ->13
 | 11 | CASE |  |  | ~1 | !0,2
 | 12 | JMPZ |  |  |  | ~1,->16
15 | 13 | ECHO |  |  |  | 'i%3D2'
16 | 14 | BRK |  |  |  | 1
17 | 15 | JMP |  |  |  | ->16
18 | 16 | RETURN |  |  |  | 1
BW_XOR
CAST
Opcodes


CAST

PHP code

<?php
/*
 * casts value1 as type value2 (?? Not certain about arguments ??)
 * opcode number: 21
 */
echo (int)1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CAST |  |  | ~0 | 1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CASE
CATCH
Opcodes


CATCH

PHP code

<?php
/*
 *
 * opcode number: 107
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
CAST
CLONE
Opcodes


CLONE

PHP code

<?php
/*
 *
 * opcode number: 110
 */
$obj = new A();
$copy = clone $obj;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj, !1=$copy

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_CLONE |  |  | $4 | !0
 | 5 | ASSIGN |  |  |  | !1,$4
8 | 6 | RETURN |  |  |  | 1
CATCH
CONCAT
Opcodes


CONCAT

PHP code

<?php
/*
 * Concats string values string1 and string2
 * opcode number: 8
 */
echo "hello" . "world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | CONCAT |  |  | ~0 | 'hello','world'
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
CLONE
DECLARE_CLASS
Opcodes


DECLARE_CLASS

PHP code

<?php
/*
 * Declare a class with the name of class-name as the implementation specified by ID.
 * opcode number: 139
 */
class A {
    function methodA(){
        echo "hello world";
    }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
11 | 1 | RETURN |  |  |  | 1

Function name: methodA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world'
9 | 1 | RETURN |  |  |  | null
CONCAT
DECLARE_FUNCTION
Opcodes


DECLARE_FUNCTION

PHP code

<?php
/*
 *
 * opcode number: 141
 */
class A{
 function funcA(){
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | RETURN |  |  |  | null
DECLARE_CLASS
DECLARE_INHERITED_CLASS
Opcodes


DECLARE_INHERITED_CLASS

PHP code

<?php
/*
 *
 * opcode number: 140
 */
 if($b){
 class Foo {
  public static $my_static = 'foo';
  public function staticValue() {
    return self::$my_static;
  }
 }

 class Bar extends Foo {
  public function fooStatic() {
     echo parent::$my_static;
  }
 }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$b

line | # | op | fetch | ext | return | operands
6 | 0 | JMPZ |  |  |  | !0,->5
7 | 1 | ZEND_DECLARE_CLASS |  |  | $0 | '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo'
14 | 2 | ZEND_FETCH_CLASS |  |  | :1 | 'Foo'
 | 3 | ZEND_DECLARE_INHERITED_CLASS |  |  | $2 | '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar'
19 | 4 | JMP |  |  |  | ->5
20 | 5 | RETURN |  |  |  | 1

Function name: staticValue

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
10 | 0 | ZEND_FETCH_CLASS |  |  |  |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | RETURN |  |  |  | $1
11 | 3 | RETURN |  |  |  | null

Function name: fooStatic

Compiled variables: !0=$my_static

line | # | op | fetch | ext | return | operands
16 | 0 | ZEND_FETCH_CLASS |  |  | :0 |
 | 1 | FETCH_R | staticmember |  | $1 | 'my_static'
 | 2 | ECHO |  |  |  | $1
17 | 3 | RETURN |  |  |  | null
DECLARE_FUNCTION
DIV
Opcodes


DIV

PHP code

<?php
/*
 * Divides "value1" by "value2" and stores the result into "result".
 * opcode number: 4
 */
echo 6/3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | DIV |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
DECLARE_INHERITED_CLASS
DO_FCALL
Opcodes


DO_FCALL

PHP code

<?php
/*
 * Call a function.  Following multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 60
 */
$a = phpinfo();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
 | 1 | ASSIGN |  |  |  | !0,$0
7 | 2 | RETURN |  |  |  | 1
DIV
DO_FCALL_BY_NAME
Opcodes


DO_FCALL_BY_NAME

PHP code

<?php
/*
 * Call a function by name.  Following INIT_FCALL_BY_NAME and multiple SEND_VAL, SEND_VAR or SEND_REF.
 * opcode number: 61
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
DO_FCALL
ECHO
Opcodes


ECHO

PHP code

<?php
/*
 * Dump text
 * opcode number: 40
 */
echo "hello world";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | ECHO |  |  |  | 'hello+world'
7 | 1 | RETURN |  |  |  | 1
DO_FCALL_BY_NAME
END_SILENCE
Opcodes


END_SILENCE

PHP code

<?php
/*
 * no longer surpress error messages
 * opcode number: 58
 */
$my_file = @file ('non_existent_file') or
   die ("error:'$php_errormsg'");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$my_file, !1=$php_errormsg

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | SEND_VAL |  |  |  | 'non_existent_file'
 | 2 | DO_FCALL |  | 1 |  | 'file'
 | 3 | END_SILENCE |  |  |  | ~0
 | 4 | ASSIGN |  |  | $2 | !0,$1
 | 5 | JMPNZ_EX |  |  | ~3 | $2,->11
7 | 6 | ADD_STRING |  |  | ~4 | 'error%3A%27'
 | 7 | ADD_VAR |  |  | ~4 | ~4,!1
 | 8 | ADD_CHAR |  |  | ~4 | ~4,39
 | 9 | EXIT |  |  |  | ~4
 | 10 | BOOL |  |  | ~3 | true
 | 11 | FREE |  |  |  | ~3
8 | 12 | RETURN |  |  |  | 1
ECHO
EXIT
Opcodes


EXIT

PHP code

<?php
/*
 * Exit running after dumping "message".
 * opcode number: 79
 */
die("foobar");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | EXIT |  |  |  | 'foobar'
7 | 1 | RETURN |  |  |  | 1
END_SILENCE
EXT_FCALL_BEGIN
Opcodes


EXT_FCALL_BEGIN

PHP code

<?php
/*
 *
 * opcode number: 102
 * No sample PHP yet */
?>
EXIT
EXT_FCALL_END
Opcodes


EXT_FCALL_END

PHP code

<?php
/*
 *
 * opcode number: 103
 * No sample PHP yet */
?>
EXT_FCALL_BEGIN
EXT_NOP
Opcodes


EXT_NOP

PHP code

<?php
/*
 *
 * opcode number: 104
 * No sample PHP yet */
?>
EXT_FCALL_END
EXT_STMT
Opcodes


EXT_STMT

PHP code

<?php
/*
 *
 * opcode number: 101
 * No sample PHP yet */
?>
EXT_NOP
FETCH_CLASS
Opcodes


FETCH_CLASS

PHP code

<?php
/*
 *
 * opcode number: 109
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
EXT_STMT
FETCH_CONSTANT
Opcodes


FETCH_CONSTANT

PHP code

<?php
/*
 * Fetch the constant value bound to the specified name (name) and stores it into a variable (result).
 * opcode number: 99
 */
define("FOO", "something");
echo FOO;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SEND_VAL |  |  |  | 'FOO'
 | 1 | SEND_VAL |  |  |  | 'something'
 | 2 | DO_FCALL |  | 2 |  | 'define'
7 | 3 | FETCH_CONSTANT |  |  | ~1 | 'FOO'
 | 4 | ECHO |  |  |  | ~1
8 | 5 | RETURN |  |  |  | 1
FETCH_CLASS
FETCH_DIM_FUNC_ARG
Opcodes


FETCH_DIM_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 93
 */

function foo(&$x)
{
  print($x);
}

$x = array(0, 1, 2, 3, 4, 5);
$z = "foo";

$z($x[0]);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$z

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
12 | 1 | INIT_ARRAY |  |  | ~0 | 0
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 1
 | 3 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 4 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 5 | ADD_ARRAY_ELEMENT |  |  | ~0 | 4
 | 6 | ADD_ARRAY_ELEMENT |  |  | ~0 | 5
 | 7 | ASSIGN |  |  |  | !0,~0
13 | 8 | ASSIGN |  |  |  | !1,'foo'
15 | 9 | INIT_FCALL_BY_NAME |  |  |  | !1
 | 10 | FETCH_DIM_FUNC_ARG |  |  | $3 | !0,0
 | 11 | SEND_VAR |  |  |  | $3
 | 12 | DO_FCALL_BY_NAME |  | 1 |  |
17 | 13 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | RECV |  |  |  | 1
9 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
10 | 3 | RETURN |  |  |  | null
FETCH_CONSTANT
FETCH_DIM_IS
Opcodes


FETCH_DIM_IS

PHP code

<?php
/*
 *
 * opcode number: 90
 * No sample PHP yet */
?>
FETCH_DIM_FUNC_ARG
FETCH_DIM_R
Opcodes


FETCH_DIM_R

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Read-only?
 * opcode number: 81
 */
$x = array(1,2,3);
$a = 'x';
echo $$a[0];
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_R | local |  | $4 | $3
 | 7 | ECHO |  |  |  | $4
9 | 8 | RETURN |  |  |  | 1
FETCH_DIM_IS
FETCH_DIM_RW
Opcodes


FETCH_DIM_RW

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".
 * opcode number: 87
 */
$x = array(1,2,3);
$a = 'x';
$$a[0]++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_DIM_R |  |  | $3 | !1,0
 | 6 | FETCH_RW | local |  | $4 | $3
 | 7 | POST_INC |  |  | ~5 | $4
 | 8 | FREE |  |  |  | ~5
9 | 9 | RETURN |  |  |  | 1
FETCH_DIM_R
FETCH_DIM_TMP_VAR
Opcodes


FETCH_DIM_TMP_VAR

PHP code

<?php
/*
 * Fetch an entry of an array from a temporal variable?
 * opcode number: 98
 */
list($x) = array("X");
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 'X'
 | 1 | FETCH_DIM_TMP_VAR |  |  | $1 | ~0,0
 | 2 | ASSIGN |  |  |  | !0,$1
 | 3 | FREE |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
FETCH_DIM_RW
FETCH_DIM_UNSET
Opcodes


FETCH_DIM_UNSET

PHP code

<?php
/*
 * Fetch an entry of an array variable for the purpose of unset() operation.
 * opcode number: 96
 * No sample PHP yet */
?>
FETCH_DIM_TMP_VAR
FETCH_DIM_W
Opcodes


FETCH_DIM_W

PHP code

<?php
/*
 * Fetch the value of the element at "index" in "array-value" to store it in "result".  Write-only?
 * opcode number: 84
 */
$a = 1;
while($a > 0){
    $a = 0;
}
/*$input =array(1,2,3);
while (list($var,) = @each($input)){
    unset($$var);
}*/
/*$a = array(1,2,3);
$x = 'a';
$$x[0] = 1;*/

/*while ($b = each($a)) {
  print $b;
}*/

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | IS_SMALLER |  |  | ~1 | 0,!0
 | 2 | JMPZ |  |  |  | ~1,->5
8 | 3 | ASSIGN |  |  |  | !0,0
9 | 4 | JMP |  |  |  | ->1
23 | 5 | RETURN |  |  |  | 1
FETCH_DIM_UNSET
FETCH_FUNC_ARG
Opcodes


FETCH_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 92
 */
function foo($x)
{
}

$x = 1;
$y = "x";
$z = "foo";

$z($$y);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$y, !2=$z

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | ASSIGN |  |  |  | !0,1
11 | 2 | ASSIGN |  |  |  | !1,'x'
12 | 3 | ASSIGN |  |  |  | !2,'foo'
14 | 4 | INIT_FCALL_BY_NAME |  |  |  | !2
 | 5 | FETCH_FUNC_ARG | local |  | $3 | !1
 | 6 | SEND_VAR |  |  |  | $3
 | 7 | DO_FCALL_BY_NAME |  | 1 |  |
16 | 8 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
8 | 1 | RETURN |  |  |  | null
FETCH_DIM_W
FETCH_IS
Opcodes


FETCH_IS

PHP code

<?php
/*
 * Fetch the value from variable which is to be used to test if it is set or not, through isset()/isempty().
 * opcode number: 89
 */
echo isset($_SESSION['userid']);
echo isset($_SESSION['userid'][1]);
echo isset($_SESSION->prop->prop);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | FETCH_IS |  |  | $0 | '_SESSION'
 | 1 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~1 | $0,'userid'
 | 2 | ECHO |  |  |  | ~1
7 | 3 | FETCH_IS |  |  | $2 | '_SESSION'
 | 4 | FETCH_DIM_IS |  |  | $3 | $2,'userid'
 | 5 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~4 | $3,1
 | 6 | ECHO |  |  |  | ~4
8 | 7 | FETCH_IS |  |  | $5 | '_SESSION'
 | 8 | FETCH_OBJ_IS |  |  | $6 | $5,'prop'
 | 9 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~7 | $6,'prop'
 | 10 | ECHO |  |  |  | ~7
9 | 11 | RETURN |  |  |  | 1
FETCH_FUNC_ARG
FETCH_OBJ_FUNC_ARG
Opcodes


FETCH_OBJ_FUNC_ARG

PHP code

<?php
/*
 *
 * opcode number: 94
 */
include './classA.php';

function foo(&$x)
{
  print($x);
}

$z = "foo";

$obj = new A();
print $obj->num;
$z($obj->num);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$z, !1=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | '.%2FclassA.php',INCLUDE
8 | 1 | NOP |  |  |  |
13 | 2 | ASSIGN |  |  |  | !0,'foo'
15 | 3 | ZEND_FETCH_CLASS |  |  | :2 | 'A'
 | 4 | NEW |  |  | $3 | :2
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !1,$3
16 | 7 | FETCH_OBJ_R |  |  | $6 | !1,'num'
 | 8 | PRINT |  |  | ~7 | $6
 | 9 | FREE |  |  |  | ~7
17 | 10 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 11 | FETCH_OBJ_FUNC_ARG |  |  | $8 | !1,'num'
 | 12 | SEND_VAR |  |  |  | $8
 | 13 | DO_FCALL_BY_NAME |  | 1 |  |
19 | 14 | RETURN |  |  |  | 1

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null

Function name: foo

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
8 | 0 | RECV |  |  |  | 1
10 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
11 | 3 | RETURN |  |  |  | null
FETCH_IS
FETCH_OBJ_IS
Opcodes


FETCH_OBJ_IS

PHP code

<?php
/*
 *
 * opcode number: 91
 * No sample PHP yet */
?>
FETCH_OBJ_FUNC_ARG
FETCH_OBJ_R
Opcodes


FETCH_OBJ_R

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.  Read-only?
 * opcode number: 82
 */
$x = new A();
$a = 'x';
echo $$a->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_R | local |  | $5 | !1
 | 6 | FETCH_OBJ_R |  |  | $6 | $5,'num'
 | 7 | ECHO |  |  |  | $6
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_IS
FETCH_OBJ_RW
Opcodes


FETCH_OBJ_RW

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.
 * opcode number: 88
 */
$x = new A();
$a = 'x';
$$a->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_RW | local |  | $5 | !1
 | 6 | ZEND_POST_INC_OBJ |  |  | ~7 | $5,'num'
 | 7 | FREE |  |  |  | ~7
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_R
FETCH_OBJ_UNSET
Opcodes


FETCH_OBJ_UNSET

PHP code

<?php
/*
 * Fetch a property of an object variable for the purpose of unset() operation.
 * opcode number: 97
 * No sample PHP yet */
?>
FETCH_OBJ_RW
FETCH_OBJ_W
Opcodes


FETCH_OBJ_W

PHP code

<?php
/*
 * Fetch the "prop-name" property value of this object.  Write-only?
 * opcode number: 85
 */
$x = new A();
$a = 'x';
$$a->num = 1;;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ASSIGN |  |  |  | !1,'x'
8 | 5 | FETCH_W | local |  | $5 | !1
 | 6 | ZEND_ASSIGN_OBJ |  |  |  | $5,'num'
 | 7 | ZEND_OP_DATA |  |  |  | 1
9 | 8 | RETURN |  |  |  | 1
FETCH_OBJ_UNSET
FETCH_R
Opcodes


FETCH_R

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Read-only?
 * opcode number: 80
 */
$x = 1;
$a = 'x';
echo $$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_R | local |  | $2 | !1
 | 3 | ECHO |  |  |  | $2
9 | 4 | RETURN |  |  |  | 1
FETCH_OBJ_W
FETCH_RW
Opcodes


FETCH_RW

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?
 * opcode number: 86
 */
$x = 1;
$a = 'x';
$$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_RW | local |  | $2 | !1
 | 3 | POST_INC |  |  | ~3 | $2
 | 4 | FREE |  |  |  | ~3
9 | 5 | RETURN |  |  |  | 1
FETCH_R
FETCH_UNSET
Opcodes


FETCH_UNSET

PHP code

<?php
/*
 * Fetch a variable for the purpose of unset() operation.
 * opcode number: 95
 * No sample PHP yet */
?>
FETCH_RW
FETCH_W
Opcodes


FETCH_W

PHP code

<?php
/*
 * Fetch the value of the varible of "name" to assign it to a variable?  Write-only?
 * opcode number: 83
 */
$x = 1;
$a = 'x';
$$a = 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | FETCH_W | local |  | $2 | !1
 | 3 | ASSIGN |  |  |  | $2,2
9 | 4 | RETURN |  |  |  | 1
FETCH_UNSET
FE_FETCH
Opcodes


FE_FETCH

PHP code

<?php
/*
 * Fetch an element from iterator.  If no element is available, jump to address.  Followed by OP_DATA?
 * opcode number: 78
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
FETCH_W
FE_RESET
Opcodes


FE_RESET

PHP code

<?php
/*
 * Initialize an iterator on array-value.  If the array is empty, jump to address.  Followed by FE_FETCH.
 * opcode number: 77
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
FE_FETCH
FREE
Opcodes


FREE

PHP code

<?php
/*
 * Release the allocated space of the value.
 * opcode number: 70
 */
 print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
FE_RESET
HANDLE_EXCEPTION
Opcodes


HANDLE_EXCEPTION

PHP code

<?php
/*
 *
 * opcode number: 149
 */
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
FREE
INCLUDE_OR_EVAL
Opcodes


INCLUDE_OR_EVAL

PHP code

<?php
/*
 * Include the file specified by filename and eval it.
 * opcode number: 73
 */
include("test.php");
eval("test.php");
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | INCLUDE_OR_EVAL |  |  |  | 'test.php',INCLUDE
7 | 1 | INCLUDE_OR_EVAL |  |  |  | 'test.php',EVAL
8 | 2 | RETURN |  |  |  | 1

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
2 | 0 | DO_FCALL |  | 0 |  | 'phpinfo'
3 | 1 | RETURN |  |  |  | 1
HANDLE_EXCEPTION
INIT_ARRAY
Opcodes


INIT_ARRAY

PHP code

<?php
/*
 * Allocate a new array with elem-value as the first element of the array.  Followed by ADD_ARRAY_ELEMENT.
 * opcode number: 71
 */
$a = array(1,2,3);
print_r($a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'print_r'
8 | 6 | RETURN |  |  |  | 1
INCLUDE_OR_EVAL
INIT_FCALL_BY_NAME
Opcodes


INIT_FCALL_BY_NAME

PHP code

<?php
/*
 * prepare for a function call to function value1
 * opcode number: 59
 */
$x = 'phpinfo';
$a = $x();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,'phpinfo'
7 | 1 | INIT_FCALL_BY_NAME |  |  |  | !0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !1,$1
8 | 4 | RETURN |  |  |  | 1
INIT_ARRAY
INIT_METHOD_CALL
Opcodes


INIT_METHOD_CALL

PHP code

<?php
/*
 * Prepare for a method call.  Followed by DO_FCALL.
 * opcode number: 112
 */
class A {
  var $num;
    function incrementNum(){
    $num++;
  }
}

$obj = new A();
$obj->incrementNum();

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
13 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'A'
 | 2 | NEW |  |  | $2 | :1
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
 | 4 | ASSIGN |  |  |  | !0,$2
14 | 5 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'incrementNum'
 | 6 | DO_FCALL_BY_NAME |  | 0 |  |
16 | 7 | RETURN |  |  |  | 1

Function name: incrementNum

Compiled variables: !0=$num

line | # | op | fetch | ext | return | operands
9 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
10 | 2 | RETURN |  |  |  | null
INIT_FCALL_BY_NAME
INIT_STATIC_METHOD_CALL
Opcodes


INIT_STATIC_METHOD_CALL

PHP code

<?php
/*
 *
 * opcode number: 113
 */
class Foo {
    public static function aStaticMethod() {
            echo "hello world\n";
    }
}

Foo::aStaticMethod();
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
12 | 1 | ZEND_INIT_STATIC_METHOD_CALL |  |  |  | 'Foo','aStaticMethod'
 | 2 | ZEND_OP_DATA |  |  |  | 'foo%3A%3Aastaticmethod'
 | 3 | DO_FCALL_BY_NAME |  | 0 |  |
13 | 4 | RETURN |  |  |  | 1

Function name: aStaticMethod

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ECHO |  |  |  | 'hello+world%0A'
9 | 1 | RETURN |  |  |  | null
INIT_METHOD_CALL
INIT_STRING
Opcodes


INIT_STRING

PHP code

<?php
/*
 * appears to create a string variable in result
 * opcode number: 53
 */
echo "hello$a world";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ADD_STRING |  |  | ~0 | 'hello'
 | 1 | ADD_VAR |  |  | ~0 | ~0,!0
 | 2 | ADD_STRING |  |  | ~0 | ~0,'+world'
 | 3 | ECHO |  |  |  | ~0
7 | 4 | RETURN |  |  |  | 1
INIT_STATIC_METHOD_CALL
INSTANCEOF
Opcodes


INSTANCEOF

PHP code

<?php
/*
 *
 * opcode number: 138
 */
$obj = new A();

if ($obj instanceof A) {
   echo 'A';
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
8 | 4 | ZEND_FETCH_CLASS |  |  | :4 | 'A'
 | 5 | ZEND_INSTANCEOF |  |  | ~5 | !0,$4
 | 6 | JMPZ |  |  |  | ~5,->9
9 | 7 | ECHO |  |  |  | 'A'
10 | 8 | JMP |  |  |  | ->9
11 | 9 | RETURN |  |  |  | 1
INIT_STRING
ISSET_ISEMPTY_DIM_OBJ
Opcodes


ISSET_ISEMPTY_DIM_OBJ

PHP code

<?php
/*
 * Tests if the entry of an array is set or not.
 * opcode number: 115
 */
if(isset($a[0])) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_DIM_OBJ |  | 1 | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
INSTANCEOF
ISSET_ISEMPTY_PROP_OBJ
Opcodes


ISSET_ISEMPTY_PROP_OBJ

PHP code

<?php
/*
 *
 * opcode number: 148
 */
$obj = new A();
if(empty($obj->num)) return 0;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_ISSET_ISEMPTY_PROP_OBJ |  |  | ~4 | !0,'num'
 | 5 | JMPZ |  |  |  | ~4,->8
 | 6 | RETURN |  |  |  | 0
 | 7 | JMP |  |  |  | ->8
8 | 8 | RETURN |  |  |  | 1
ISSET_ISEMPTY_DIM_OBJ
ISSET_ISEMPTY_VAR
Opcodes


ISSET_ISEMPTY_VAR

PHP code

<?php
/*
 * Tests if the value of a variable is set or not.
 * opcode number: 114
 */
if(isset($a)){ return 0;}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_ISSET_ISEMPTY_VAR |  | 5 | ~0 | !0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | 0
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
ISSET_ISEMPTY_PROP_OBJ
IS_EQUAL
Opcodes


IS_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are equal
 * opcode number: 17
 */
echo (1 == 1);
echo (1 == 'c');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_EQUAL |  |  | ~1 | 1,'c'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
ISSET_ISEMPTY_VAR
IS_IDENTICAL
Opcodes


IS_IDENTICAL

PHP code

<?php
/*
 * Compares value1 and value2 to see if they are equal AND have the same type
 * opcode number: 15
 */
echo (1===1);
echo (1==='a');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | IS_IDENTICAL |  |  | ~1 | 1,'a'
 | 3 | ECHO |  |  |  | ~1
8 | 4 | RETURN |  |  |  | 1
IS_EQUAL
IS_NOT_EQUAL
Opcodes


IS_NOT_EQUAL

PHP code

<?php
/*
 * compares if value1 and value2 are not equal
 * opcode number: 18
 */
echo (1 != 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_IDENTICAL
IS_NOT_IDENTICAL
Opcodes


IS_NOT_IDENTICAL

PHP code

<?php
/*
 * compares value1 and value2 to see if they are unequal or of different types
 * opcode number: 16
 */
echo (1 !== 1);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_IDENTICAL |  |  | ~0 | 1,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_EQUAL
IS_SMALLER
Opcodes


IS_SMALLER

PHP code

<?php
/*
 * compares if value1 is less than value2
 * opcode number: 19
 */
echo (1 < 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_NOT_IDENTICAL
IS_SMALLER_OR_EQUAL
Opcodes


IS_SMALLER_OR_EQUAL

PHP code

<?php
/*
 * compares if value1 is less than or equal to value2
 * opcode number: 20
 */
echo (1 >= 2);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | IS_SMALLER_OR_EQUAL |  |  | ~0 | 2,1
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
IS_SMALLER
JMPNZ
Opcodes


JMPNZ

PHP code

<?php
/*
 * Jump to the address if the value is not zero
 * opcode number: 44
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
IS_SMALLER_OR_EQUAL
JMPNZ_EX
Opcodes


JMPNZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 47
 */
if(1^2) return;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BW_XOR |  |  | ~0 | 1,2
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | RETURN |  |  |  | null
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ
JMPZ
Opcodes


JMPZ

PHP code

<?php
/*
 * Jump to the address if the value is zero
 * opcode number: 43
 */
if($a != 0) echo "foo";
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | IS_NOT_EQUAL |  |  | ~0 | !0,0
 | 1 | JMPZ |  |  |  | ~0,->4
 | 2 | ECHO |  |  |  | 'foo'
 | 3 | JMP |  |  |  | ->4
7 | 4 | RETURN |  |  |  | 1
JMPNZ_EX
JMPZNZ
Opcodes


JMPZNZ

PHP code

<?php
/*
 * Jump to the address if the value is .. ???
 * opcode number: 45
 */
for($i=0; $i<3; $i++){
    echo "hi";
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$i

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,0
 | 1 | IS_SMALLER |  |  | ~1 | !0,3
 | 2 | JMPZNZ |  | 6 |  | ~1,->8
 | 3 | POST_INC |  |  | ~2 | !0
 | 4 | FREE |  |  |  | ~2
 | 5 | JMP |  |  |  | ->1
7 | 6 | ECHO |  |  |  | 'hi'
8 | 7 | JMP |  |  |  | ->3
9 | 8 | RETURN |  |  |  | 1
JMPZ
JMPZ_EX
Opcodes


JMPZ_EX

PHP code

<?php
/*
 * Jump to the address if the xor of value1 and value2 is zero .. ???
 * opcode number: 46
 */

?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | RETURN |  |  |  | 1
JMPZNZ
MOD
Opcodes


MOD

PHP code

<?php
/*
 * Makes the value of "result" congruent to "value1" modulo "value2".
 * opcode number: 5
 */
echo 6 % 3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MOD |  |  | ~0 | 6,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
JMPZ_EX
MUL
Opcodes


MUL

PHP code

<?php
/*
 * Multiplys "value1" by "value2" and stores the result into "result".
 * opcode number: 3
 */
echo 2*3;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | MUL |  |  | ~0 | 2,3
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
MOD
NEW
Opcodes


NEW

PHP code

<?php
/*
 * Construct an instance of "type" and store the reference to the object into "result".
 * opcode number: 68
 */
$obj = new A();
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | RETURN |  |  |  | 1
MUL
NOP
Opcodes


NOP

PHP code

<?php
/*
 * no operation
 * opcode number: 0
 */
function A(){};
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | null
NEW
POST_DEC
Opcodes


POST_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 37
 */
$a--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_DEC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
NOP
POST_DEC_OBJ
Opcodes


POST_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 135
 */
$obj = new A();
$obj->num--;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_DEC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_DEC
POST_INC
Opcodes


POST_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (after performing other operations) and stores in result
 * opcode number: 36
 */
$a++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | POST_INC |  |  | ~0 | !0
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
POST_DEC_OBJ
POST_INC_OBJ
Opcodes


POST_INC_OBJ

PHP code

<?php
/*
 * Increment the property value specified by prop-name and store the original value into result.
 * opcode number: 134
 */
$obj = new A();
$obj->num++;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_POST_INC_OBJ |  |  | ~5 | !0,'num'
 | 5 | FREE |  |  |  | ~5
8 | 6 | RETURN |  |  |  | 1
POST_INC
PRE_DEC
Opcodes


PRE_DEC

PHP code

<?php
/*
 * decrements variable indicated by value1 by 1 (before performing other operations) and stores in results
 * opcode number: 35
 */
--$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_DEC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
POST_INC_OBJ
PRE_DEC_OBJ
Opcodes


PRE_DEC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 133
 */
$obj = new A();
--$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_DEC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_DEC
PRE_INC
Opcodes


PRE_INC

PHP code

<?php
/*
 * increments variable indicated by value1 by 1 (before performing other operations) and stores in result
 * opcode number: 34
 */
++$a;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | PRE_INC |  |  |  | !0
7 | 1 | RETURN |  |  |  | 1
PRE_DEC_OBJ
PRE_INC_OBJ
Opcodes


PRE_INC_OBJ

PHP code

<?php
/*
 *
 * opcode number: 132
 */
$obj = new A();
++$obj->num;
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | ZEND_PRE_INC_OBJ |  |  |  | !0,'num'
8 | 5 | RETURN |  |  |  | 1
PRE_INC
PRINT
Opcodes


PRINT

PHP code

<?php
/*
 *
 * opcode number: 41
 */
print "Hello World";
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | PRINT |  |  | ~0 | 'Hello+World'
 | 1 | FREE |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
PRE_INC_OBJ
QM_ASSIGN
Opcodes


QM_ASSIGN

PHP code

<?php
/*
 * Question Mark Assign, used twice inside a question mark assign to temporarily assign result as value1  (this is followed up with an ASSIGN bytecode)
 * opcode number: 22
 */
function A(){
 echo 1?2:3;
}

function B(){
 $b = 0;
 $a = $b > 1 ? 10: 11;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | NOP |  |  |  |
14 | 2 | RETURN |  |  |  | 1

Function name: A

Compiled variables: none

line | # | op | fetch | ext | return | operands
7 | 0 | JMPZ |  |  |  | 1,->3
 | 1 | QM_ASSIGN |  |  | ~0 | 2
 | 2 | JMP |  |  |  | ->4
 | 3 | QM_ASSIGN |  |  | ~0 | 3
 | 4 | ECHO |  |  |  | ~0
8 | 5 | RETURN |  |  |  | null

Function name: B

Compiled variables: !0=$b, !1=$a

line | # | op | fetch | ext | return | operands
11 | 0 | ASSIGN |  |  |  | !0,0
12 | 1 | IS_SMALLER |  |  | ~1 | 1,!0
 | 2 | JMPZ |  |  |  | ~1,->5
 | 3 | QM_ASSIGN |  |  | ~2 | 10
 | 4 | JMP |  |  |  | ->6
 | 5 | QM_ASSIGN |  |  | ~2 | 11
 | 6 | ASSIGN |  |  |  | !1,~2
13 | 7 | RETURN |  |  |  | null
PRINT
RAISE_ABSTRACT_ERROR
Opcodes


RAISE_ABSTRACT_ERROR

PHP code

<?php
/*
 *
 * opcode number: 142
 */

abstract class fail {
    abstract function show();
}

class pass extends fail {
    function show() {
        echo "Call to function show()\n";
    }
}

$t2 = new pass();
$t2->show();

$t = new fail();
$t->show();

echo "Done\n"; // shouldn't be displayed
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$t2, !1=$t

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
11 | 1 | NOP |  |  |  |
 | 2 | NOP |  |  |  |
17 | 3 | ZEND_FETCH_CLASS |  |  | :3 | 'pass'
 | 4 | NEW |  |  | $4 | :3
 | 5 | DO_FCALL_BY_NAME |  | 0 |  |
 | 6 | ASSIGN |  |  |  | !0,$4
18 | 7 | ZEND_INIT_METHOD_CALL |  |  |  | !0,'show'
 | 8 | DO_FCALL_BY_NAME |  | 0 |  |
20 | 9 | ZEND_FETCH_CLASS |  |  | :9 | 'fail'
 | 10 | NEW |  |  | $10 | :9
 | 11 | DO_FCALL_BY_NAME |  | 0 |  |
 | 12 | ASSIGN |  |  |  | !1,$10
21 | 13 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'show'
 | 14 | DO_FCALL_BY_NAME |  | 0 |  |
23 | 15 | ECHO |  |  |  | 'Done%0A'
24 | 16 | RETURN |  |  |  | 1

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
8 | 0 | ZEND_RAISE_ABSTRACT_ERROR |  |  |  |
 | 1 | RETURN |  |  |  | null

Function name: show

Compiled variables: none

line | # | op | fetch | ext | return | operands
13 | 0 | ECHO |  |  |  | 'Call+to+function+show%28%29%0A'
14 | 1 | RETURN |  |  |  | null
QM_ASSIGN
RECV
Opcodes


RECV

PHP code

<?php
/*
 * Receive a functoin argument of "argument-number" and store the argument value into a variable of "argument-number".  (e.g. $1 for 1)
 * opcode number: 63
 */
function hello($a){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
 | 1 | RETURN |  |  |  | null
RAISE_ABSTRACT_ERROR
RECV_INIT
Opcodes


RECV_INIT

PHP code

<?php
/*
 * Initialize a function argument with "value" if not received from caller.  Otherwise same as RECV.
 * opcode number: 64
 */
function hello($a=5){}
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
7 | 1 | RETURN |  |  |  | 1

Function name: hello

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | RECV_INIT |  |  |  | 1,5
 | 1 | RETURN |  |  |  | null
RECV
RETURN
Opcodes


RETURN

PHP code

<?php
/*
 * Return value from a funciton.
 * opcode number: 62
 */
return 1;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | RETURN |  |  |  | 1
7 | 1 | RETURN |  |  |  | 1
RECV_INIT
SEND_REF
Opcodes


SEND_REF

PHP code

<?php
/*
 * Pass the reference value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 67
 */
@each($input);
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | BEGIN_SILENCE |  |  | ~0 |
 | 1 | FETCH_W | local |  | $1 | 'input'
 | 2 | SEND_REF |  |  |  | $1
 | 3 | DO_FCALL |  | 1 |  | 'each'
 | 4 | END_SILENCE |  |  |  | ~0
7 | 5 | RETURN |  |  |  | 1
RETURN
SEND_VAL
Opcodes


SEND_VAL

PHP code

<?php
/*
 * Pass the constant value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 65
 */
function funcA($msg){
    print $msg;
}

funcA('HELLO');

defined('IN_PHPBB');
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | NOP |  |  |  |
10 | 1 | SEND_VAL |  |  |  | 'HELLO'
 | 2 | DO_FCALL |  | 1 |  | 'funca'
12 | 3 | SEND_VAL |  |  |  | 'IN_PHPBB'
 | 4 | DO_FCALL |  | 1 |  | 'defined'
13 | 5 | RETURN |  |  |  | 1

Function name: funcA

Compiled variables: !0=$msg

line | # | op | fetch | ext | return | operands
6 | 0 | RECV |  |  |  | 1
7 | 1 | PRINT |  |  | ~0 | !0
 | 2 | FREE |  |  |  | ~0
8 | 3 | RETURN |  |  |  | null
SEND_REF
SEND_VAR
Opcodes


SEND_VAR

PHP code

<?php
/*
 * Pass the variable value as an actual parameter to a function.  DO_FCALL follows.
 * opcode number: 66
 */
$a = array(1,2,3);
if(is_array($a)){ return 0; }
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | SEND_VAR |  |  |  | !0
 | 5 | DO_FCALL |  | 1 |  | 'is_array'
 | 6 | JMPZ |  |  |  | $2,->9
 | 7 | RETURN |  |  |  | 0
 | 8 | JMP |  |  |  | ->9
8 | 9 | RETURN |  |  |  | 1
SEND_VAL
SEND_VAR_NO_REF
Opcodes


SEND_VAR_NO_REF

PHP code

<?php
/*
 *
 * opcode number: 106
 * No sample PHP yet */
?>
SEND_VAR
SL
Opcodes


SL

PHP code

<?php
/*
 * Shift value1 by balue2 bits to left
 * opcode number: 6
 */
echo 8 << 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SL |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SEND_VAR_NO_REF
SR
Opcodes


SR

PHP code

<?php
/*
 * Shift bits to right
 * opcode number: 7
 */
echo 8 >> 2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SR |  |  | ~0 | 8,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SL
SUB
Opcodes


SUB

PHP code

<?php
/*
 * Subtracts "value2" from "value1" and stores the result into "result".
 * opcode number: 2
 */
echo 1-2;
?>

PHP opcodes

Function name: (null)

Compiled variables: none

line | # | op | fetch | ext | return | operands
6 | 0 | SUB |  |  | ~0 | 1,2
 | 1 | ECHO |  |  |  | ~0
7 | 2 | RETURN |  |  |  | 1
SR
SWITCH_FREE
Opcodes


SWITCH_FREE

PHP code

<?php
/*
 * Release the allocated space of "value"?
 * opcode number: 49
 */
$a = array(1,2,3);
foreach($a as $num){
    print $num;
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a, !1=$num

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | FE_RESET |  |  | $2 | !0,->11
 | 5 | FE_FETCH |  |  | $3 | $2,->11
 | 6 | ZEND_OP_DATA |  |  |  |
 | 7 | ASSIGN |  |  |  | !1,$3
8 | 8 | PRINT |  |  | ~5 | !1
 | 9 | FREE |  |  |  | ~5
9 | 10 | JMP |  |  |  | ->5
 | 11 | SWITCH_FREE |  |  |  | $2
10 | 12 | RETURN |  |  |  | 1
SUB
THROW
Opcodes


THROW

PHP code

<?php
/*
 *
 * opcode number: 108
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line | # | op | fetch | ext | return | operands
7 | 0 | ASSIGN |  |  |  | !0,'Always+throw+this+error'
8 | 1 | ZEND_FETCH_CLASS |  |  | :1 | 'Exception'
 | 2 | NEW |  |  | $2 | :1
 | 3 | SEND_VAR |  |  |  | !0
 | 4 | DO_FCALL_BY_NAME |  | 1 |  |
 | 5 | ZEND_THROW |  | 0 |  | $2
11 | 6 | ECHO |  |  |  | 'Never+executed'
13 | 7 | JMP |  |  |  | ->15
 | 8 | ZEND_FETCH_CLASS |  |  | :4 | 'Exception'
 | 9 | ZEND_CATCH |  | 15 |  | $4,!1
14 | 10 | ECHO |  |  |  | 'Caught+exception%3A+'
 | 11 | ZEND_INIT_METHOD_CALL |  |  |  | !1,'getMessage'
 | 12 | DO_FCALL_BY_NAME |  | 0 |  |
 | 13 | ECHO |  |  |  | $6
 | 14 | ECHO |  |  |  | '%0A'
18 | 15 | ECHO |  |  |  | 'Hello+World'
19 | 16 | RETURN |  |  |  | 1
SWITCH_FREE
TICKS
Opcodes


TICKS

PHP code

<?php
/*
 *
 * opcode number: 105
 */
// A function that records the time when it is called
function profile()
{
   echo "profile function is called\n";
}

// Set up a tick handler
register_tick_function("profile");

// Initialize the function before the declare block
profile();

// Run a block of code, throw a tick every 2nd statement
declare(ticks=2) {
   for ($x = 0; $x < 10; ++$x) {
         echo "hello world\n";
   }
}
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line | # | op | fetch | ext | return | operands
7 | 0 | NOP |  |  |  |
13 | 1 | SEND_VAL |  |  |  | 'profile'
 | 2 | DO_FCALL |  | 1 |  | 'register_tick_function'
16 | 3 | DO_FCALL |  | 0 |  | 'profile'
20 | 4 | ASSIGN |  |  |  | !0,0
 | 5 | IS_SMALLER |  |  | ~3 | !0,10
 | 6 | JMPZNZ |  | 9 |  | ~3,->13
 | 7 | PRE_INC |  |  |  | !0
 | 8 | JMP |  |  |  | ->5
21 | 9 | ECHO |  |  |  | 'hello+world%0A'
 | 10 | TICKS |  |  |  | 2
22 | 11 | TICKS |  |  |  | 2
 | 12 | JMP |  |  |  | ->7
 | 13 | TICKS |  |  |  | 2
23 | 14 | TICKS |  |  |  | 2
24 | 15 | RETURN |  |  |  | 1

Function name: profile

Compiled variables: none

line | # | op | fetch | ext | return | operands
9 | 0 | ECHO |  |  |  | 'profile+function+is+called%0A'
10 | 1 | RETURN |  |  |  | null
THROW
UNSET_DIM
Opcodes


UNSET_DIM

PHP code

<?php
/*
 * Unset the entry of array-value, which is specified by index, and store the original element value into "result".
 * opcode number: 75
 */
$a = array(1,2,3);
unset($a[0]);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$a

line | # | op | fetch | ext | return | operands
6 | 0 | INIT_ARRAY |  |  | ~0 | 1
 | 1 | ADD_ARRAY_ELEMENT |  |  | ~0 | 2
 | 2 | ADD_ARRAY_ELEMENT |  |  | ~0 | 3
 | 3 | ASSIGN |  |  |  | !0,~0
7 | 4 | UNSET_DIM |  |  | $2 | !0,0
8 | 5 | RETURN |  |  |  | 1
TICKS
UNSET_OBJ
Opcodes


UNSET_OBJ

PHP code

<?php
/*
 * Unset the property of the current object (this) and store the original value into "result".
 * opcode number: 76
 */
$obj = new A();
unset($obj->num);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$obj

line | # | op | fetch | ext | return | operands
6 | 0 | ZEND_FETCH_CLASS |  |  | :0 | 'A'
 | 1 | NEW |  |  | $1 | :0
 | 2 | DO_FCALL_BY_NAME |  | 0 |  |
 | 3 | ASSIGN |  |  |  | !0,$1
7 | 4 | UNSET_OBJ |  |  | $4 | !0,'num'
8 | 5 | RETURN |  |  |  | 1
UNSET_DIM
UNSET_VAR
Opcodes


UNSET_VAR

PHP code

<?php
/*
 * Unset the variable and store the original value into "result".
 * opcode number: 74
 */
$x = 1;
$a='x';
unset($$a);
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x, !1=$a

line | # | op | fetch | ext | return | operands
6 | 0 | ASSIGN |  |  |  | !0,1
7 | 1 | ASSIGN |  |  |  | !1,'x'
8 | 2 | UNSET_VAR |  |  | $2 | !1
9 | 3 | RETURN |  |  |  | 1
UNSET_OBJ
USER_OPCODE
Opcodes


USER_OPCODE

PHP code

<?php
/*
 *
 * opcode number: 150
 * No sample PHP yet */
?>
UNSET_VAR
VERIFY_ABSTRACT_CLASS
Opcodes


VERIFY_ABSTRACT_CLASS

PHP code

<?php
/*
 *
 * opcode number: 146
 * No sample PHP yet */
?>
USER_OPCODE
Zend Engine 1
Opcodes


Zend Engine 1

Sommaire

  • Old introduction
  • Streams API for PHP Extension Authors
  • API Zend : Modification du coeur de PHP
  • TSRM API

Zend Engine 1 is the internal engine used by PHP for the entire version 4 release line. It is no longer considered active, but PHP 4 is still in widespread use, so the old ZE1 documentation is preserved here exactly as it was.

VERIFY_ABSTRACT_CLASS
Old introduction
PHP at the Core: A Hacker's Guide to the Zend Engine


Old introduction

If you are about to begin developing PHP or Zend extensions, you need to prepare yourself for the programming environment provided by the various APIs. This part of the documentation tries to introduce the APIs provided by the different PHP and Zend Engine versions available. Since most of the information available here is somewhat outdated, you'll want to read various files found in the PHP source, files such as README.SELF-CONTAINED-EXTENSIONS and README.EXT_SKEL in addition to the manual.

Zend Engine 1
Streams API for PHP Extension Authors
Zend Engine 1


Streams API for PHP Extension Authors

Note: The functions in this chapter are for use in the PHP source code and are not PHP functions. Information on userland stream functions can be found in the Stream Reference.

Overview

The PHP Streams API introduces a unified approach to the handling of files and sockets in PHP extension. Using a single API with standard functions for common operations, the streams API allows your extension to access files, sockets, URLs, memory and script-defined objects. Streams is a run-time extensible API that allows dynamically loaded modules (and scripts!) to register new streams.

The aim of the Streams API is to make it comfortable for developers to open files, URLs and other streamable data sources with a unified API that is easy to understand. The API is more or less based on the ANSI C stdio family of functions (with identical semantics for most of the main functions), so C programmers will have a feeling of familiarity with streams.

The streams API operates on a couple of different levels: at the base level, the API defines php_stream objects to represent streamable data sources. On a slightly higher level, the API defines php_stream_wrapper objects which "wrap" around the lower level API to provide support for retrieving data and meta-data from URLs. An additional context parameter, accepted by most stream creation functions, is passed to the wrapper's stream_opener method to fine-tune the behavior of the wrapper.

Any stream, once opened, can also have any number of filters applied to it, which process data as it is read from/written to the stream.

Streams can be cast (converted) into other types of file-handles, so that they can be used with third-party libraries without a great deal of trouble. This allows those libraries to access data directly from URL sources. If your system has the fopencookie() or funopen() function, you can even pass any PHP stream to any library that uses ANSI stdio!

Streams Basics

Using streams is very much like using ANSI stdio functions. The main difference is in how you obtain the stream handle to begin with. In most cases, you will use php_stream_open_wrapper() to obtain the stream handle. This function works very much like fopen, as can be seen from the example below:

Exemple #1 simple stream example that displays the PHP home page

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];

        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

The table below shows the Streams equivalents of the more common ANSI stdio functions. Unless noted otherwise, the semantics of the functions are identical.

ANSI stdio equivalent functions in the Streams API
ANSI Stdio Function | PHP Streams Function | Notes
fopen | php_stream_open_wrapper | Streams includes additional parameters
fclose | php_stream_close |
fgets | php_stream_gets |
fread | php_stream_read | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like read(2)
fwrite | php_stream_write | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like write(2)
fseek | php_stream_seek |
ftell | php_stream_tell |
rewind | php_stream_rewind |
feof | php_stream_eof |
fgetc | php_stream_getc |
fputc | php_stream_putc |
fflush | php_stream_flush |
puts | php_stream_puts | Same semantics as puts, NOT fputs
fstat | php_stream_stat | Streams has a richer stat structure

Streams as Resources

All streams are registered as resources when they are created. This ensures that they will be properly cleaned up even if there is some fatal error. All of the filesystem functions in PHP operate on streams resources - that means that your extensions can accept regular PHP file pointers as parameters to, and return streams from their functions. The streams API makes this process as painless as possible:

Exemple #2 How to accept a stream as a parameter

PHP_FUNCTION(example_write_hello)
{
    zval *zstream;
    php_stream *stream;

    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
        return;

    php_stream_from_zval(stream, &zstream);

    /* you can now use the stream.  However, you do not "own" the
        stream, the script does.  That means you MUST NOT close the
        stream, because it will cause PHP to crash! */

    php_stream_write(stream, "hello\n");

    RETURN_TRUE();
}

Exemple #3 How to return a stream from a function

PHP_FUNCTION(example_open_php_home_page)
{
    php_stream *stream;

    stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);

    php_stream_to_zval(stream, return_value);

    /* after this point, the stream is "owned" by the script.
        If you close it now, you will crash PHP! */
}

Since streams are automatically cleaned up, it's tempting to think that we can get away with being sloppy programmers and not bother to close the streams when we are done with them. Although such an approach might work, it is not a good idea for a number of reasons: streams hold locks on system resources while they are open, so leaving a file open after you have finished with it could prevent other processes from accessing it. If a script deals with a large number of files, the accumulation of the resources used, both in terms of memory and the sheer number of open files, can cause web server requests to fail. Sounds bad, doesn't it? The streams API includes some magic that helps you to keep your code clean - if a stream is not closed by your code when it should be, you will find some helpful debugging information in you web server error log.

Note: Always use a debug build of PHP when developing an extension (--enable-debug when running configure), as a lot of effort has been made to warn you about memory and stream leaks.

In some cases, it is useful to keep a stream open for the duration of a request, to act as a log or trace file for example. Writing the code to safely clean up such a stream is not difficult, but it's several lines of code that are not strictly needed. To save yourself the trouble of writing the code, you can mark a stream as being OK for auto cleanup. What this means is that the streams API will not emit a warning when it is time to auto-cleanup a stream. To do this, you can use php_stream_auto_cleanup().

Streams open options

These constants affect the operation of stream factory functions.

IGNORE_PATH
This is the default option for streams; it requests that the include_path is not to be searched for the requested file.
USE_PATH
Requests that the include_path is to be searched for the requested file.
IGNORE_URL
Requests that registered URL wrappers are to be ignored when opening the stream. Other non-URL wrappers will be taken into consideration when decoding the path. There is no opposite form for this flag; the streams API will use all registered wrappers by default.
IGNORE_URL_WIN
On Windows systems, this is equivalent to IGNORE_URL. On all other systems, this flag has no effect.
ENFORCE_SAFE_MODE
Requests that the underlying stream implementation perform safe_mode checks on the file before opening the file. Omitting this flag will skip safe_mode checks and allow opening of any file that the PHP process has rights to access.
REPORT_ERRORS
If this flag is set, and there was an error during the opening of the file or URL, the streams API will call the php_error function for you. This is useful because the path may contain username/password information that should not be displayed in the browser output (it would be a security risk to do so). When the streams API raises the error, it first strips username/password information from the path, making the error message safe to display in the browser.
STREAM_MUST_SEEK
This flag is useful when your extension really must be able to randomly seek around in a stream. Some streams may not be seekable in their native form, so this flag asks the streams API to check to see if the stream does support seeking. If it does not, it will copy the stream into temporary storage (which may be a temporary file or a memory stream) which does support seeking. Please note that this flag is not useful when you want to seek the stream and write to it, because the stream you are accessing might not be bound to the actual resource you requested.

Note: If the requested resource is network based, this flag will cause the opener to block until the whole contents have been downloaded.

STREAM_WILL_CAST
If your extension is using a third-party library that expects a FILE* or file descriptor, you can use this flag to request the streams API to open the resource but avoid buffering. You can then use php_stream_cast() to retrieve the FILE* or file descriptor that the library requires. The is particularly useful when accessing HTTP URLs where the start of the actual stream data is found after an indeterminate offset into the stream. Since this option disables buffering at the streams API level, you may experience lower performance when using streams functions on the stream; this is deemed acceptable because you have told streams that you will be using the functions to match the underlying stream implementation. Only use this option when you are sure you need it.

Old introduction
API Zend : Modification du coeur de PHP
Zend Engine 1


API Zend : Modification du coeur de PHP

Introduction

Those who know don't talk.

Those who talk don't know.

Sometimes, PHP "as is" simply isn't enough. Although these cases are rare for the average user, professional applications will soon lead PHP to the edge of its capabilities, in terms of either speed or functionality. New functionality cannot always be implemented natively due to language restrictions and inconveniences that arise when having to carry around a huge library of default code appended to every single script, so another method needs to be found for overcoming these eventual lacks in PHP.

As soon as this point is reached, it's time to touch the heart of PHP and take a look at its core, the C code that makes PHP go.

Avertissement

This information is currently rather outdated, parts of it only cover early stages of the ZendEngine 1.0 API as it was used in early versions of PHP 4.

More recent information may be found in the various README files that come with the PHP source and the » Internals section on the Zend website.

Overview

"Extending PHP" is easier said than done. PHP has evolved to a full-fledged tool consisting of a few megabytes of source code, and to hack a system like this quite a few things have to be learned and considered. When structuring this chapter, we finally decided on the "learn by doing" approach. This is not the most scientific and professional approach, but the method that's the most fun and gives the best end results. In the following sections, you'll learn quickly how to get the most basic extensions to work almost instantly. After that, you'll learn about Zend's advanced API functionality. The alternative would have been to try to impart the functionality, design, tips, tricks, etc. as a whole, all at once, thus giving a complete look at the big picture before doing anything practical. Although this is the "better" method, as no dirty hacks have to be made, it can be very frustrating as well as energy- and time-consuming, which is why we've decided on the direct approach.

Note that even though this chapter tries to impart as much knowledge as possible about the inner workings of PHP, it's impossible to really give a complete guide to extending PHP that works 100% of the time in all cases. PHP is such a huge and complex package that its inner workings can only be understood if you make yourself familiar with it by practicing, so we encourage you to work with the source.

What Is Zend? and What Is PHP?

The name Zend refers to the language engine, PHP's core. The term PHP refers to the complete system as it appears from the outside. This might sound a bit confusing at first, but it's not that complicated ( see below). To implement a Web script interpreter, you need three parts:

  1. The interpreter part analyzes the input code, translates it, and executes it.

  2. The functionality part implements the functionality of the language (its functions, etc.).

  3. The interface part talks to the Web server, etc.

Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3. Together they form the complete PHP package. Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions. PHP contains all the modules that actually create the language's outstanding capabilities.
The internal structure of PHP.

The following sections discuss where PHP can be extended and how it's done.

Extension Possibilities

As shown above, PHP can be extended primarily at three points: external modules, built-in modules, and the Zend engine. The following sections discuss these options.

External Modules

External modules can be loaded at script runtime using the function dl(). This function loads a shared object from disk and makes its functionality available to the script to which it's being bound. After the script is terminated, the external module is discarded from memory. This method has both advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
External modules don't require recompiling of PHP. | The shared objects need to be loaded every time a script is being executed (every hit), which is very slow.
The size of PHP remains small by "outsourcing" certain functionality. | External additional files clutter up the disk.
 |  | Every script that wants to use an external module's functionality has to specifically include a call to dl(), or the extension tag in php.ini needs to be modified (which is not always a suitable solution).
To sum up, external modules are great for third-party products, small additions to PHP that are rarely used, or just for testing purposes. To develop additional functionality quickly, external modules provide the best results. For frequent usage, larger implementations, and complex code, the disadvantages outweigh the advantages.

Third parties might consider using the extension tag in php.ini to create additional external modules to PHP. These external modules are completely detached from the main package, which is a very handy feature in commercial environments. Commercial distributors can simply ship disks or archives containing only their additional modules, without the need to create fixed and solid PHP binaries that don't allow other modules to be bound to them.

Built-in Modules

Built-in modules are compiled directly into PHP and carried around with every PHP process; their functionality is instantly available to every script that's being run. Like external modules, built-in modules have advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
No need to load the module specifically; the functionality is instantly available. | Changes to built-in modules require recompiling of PHP.
No external files clutter up the disk; everything resides in the PHP binary. | The PHP binary grows and consumes more memory.
Built-in modules are best when you have a solid library of functions that remains relatively unchanged, requires better than poor-to-average performance, or is used frequently by many scripts on your site. The need to recompile PHP is quickly compensated by the benefit in speed and ease of use. However, built-in modules are not ideal when rapid development of small additions is required.

The Zend Engine

Of course, extensions can also be implemented directly in the Zend engine. This strategy is good if you need a change in the language behavior or require special functions to be built directly into the language core. In general, however, modifications to the Zend engine should be avoided. Changes here result in incompatibilities with the rest of the world, and hardly anyone will ever adapt to specially patched Zend engines. Modifications can't be detached from the main PHP sources and are overridden with the next update using the "official" source repositories. Therefore, this method is generally considered bad practice and, due to its rarity, is not covered in this book.

Source Layout

Note: Prior to working through the rest of this chapter, you should retrieve clean, unmodified source trees of your favorite Web server. We're working with Apache (available at » http://httpd.apache.org/) and, of course, with PHP (available at » http://www.php.net/ - does it need to be said?).
Make sure that you can compile a working PHP environment by yourself! We won't go into this issue here, however, as you should already have this most basic ability when studying this chapter.

Before we start discussing code issues, you should familiarize yourself with the source tree to be able to quickly navigate through PHP's files. This is a must-have ability to implement and debug extensions.

The following table describes the contents of the major directories.

Directory | Contents
php-src | Main PHP source files and main header files; here you'll find all of PHP's API definitions, macros, etc. (important). Everything else is below this directory.
php-src/ext | Repository for dynamic and built-in modules; by default, these are the "official" PHP modules that have been integrated into the main source tree. From PHP 4.0, it's possible to compile these standard extensions as dynamic loadable modules (at least, those that support it).
php-src/main | This directory contains the main php macros and definitions. (important)
php-src/pear | Directory for the PHP Extension and Application Repository. This directory contains core PEAR files.
php-src/sapi | Contains the code for the different server abstraction layers.
TSRM | Location of the "Thread Safe Resource Manager" (TSRM) for Zend and PHP.
ZendEngine2 | Location of the Zend Engine files; here you'll find all of Zend's API definitions, macros, etc. (important).

Discussing all the files included in the PHP package is beyond the scope of this chapter. However, you should take a close look at the following files:

  • php-src/main/php.h, located in the main PHP directory. This file contains most of PHP's macro and API definitions.

  • php-src/Zend/zend.h, located in the main Zend directory. This file contains most of Zend's macros and definitions.

  • php-src/Zend/zend_API.h, also located in the Zend directory, which defines Zend's API.

You should also follow some sub-inclusions from these files; for example, the ones relating to the Zend executor, the PHP initialization file support, and such. After reading these files, take the time to navigate around the package a little to see the interdependencies of all files and modules - how they relate to each other and especially how they make use of each other. This also helps you to adapt to the coding style in which PHP is authored. To extend PHP, you should quickly adapt to this style.

Extension Conventions

Zend is built using certain conventions; to avoid breaking its standards, you should follow the rules described in the following sections.

Macros

For almost every important task, Zend ships predefined macros that are extremely handy. The tables and figures in the following sections describe most of the basic functions, structures, and macros. The macro definitions can be found mainly in zend.h and zend_API.h. We suggest that you take a close look at these files after having studied this chapter. (Although you can go ahead and read them now, not everything will make sense to you yet.)

Memory Management

Resource management is a crucial issue, especially in server software. One of the most valuable resources is memory, and memory management should be handled with extreme care. Memory management has been partially abstracted in Zend, and you should stick to this abstraction for obvious reasons: Due to the abstraction, Zend gets full control over all memory allocations. Zend is able to determine whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks. The functions to be used are described in the following table:

Function | Description
emalloc() | Serves as replacement for malloc().
efree() | Serves as replacement for free().
estrdup() | Serves as replacement for strdup().
estrndup() | Serves as replacement for strndup(). Faster than estrdup() and binary-safe. This is the recommended function to use if you know the string length prior to duplicating it.
ecalloc() | Serves as replacement for calloc().
erealloc() | Serves as replacement for realloc().
emalloc(), estrdup(), estrndup(), ecalloc(), and erealloc() allocate internal memory; efree() frees these previously allocated blocks. Memory handled by the e*() functions is considered local to the current process and is discarded as soon as the script executed by this process is terminated.
Avertissement

To allocate resident memory that survives termination of the current script, you can use malloc() and free(). This should only be done with extreme care, however, and only in conjunction with demands of the Zend API; otherwise, you risk memory leaks.

Zend also features a thread-safe resource manager to provide better native support for multithreaded Web servers. This requires you to allocate local structures for all of your global variables to allow concurrent threads to be run. Because the thread-safe mode of Zend was not finished back when this was written, it is not yet extensively covered here.

Directory and File Functions

The following directory and file functions should be used in Zend modules. They behave exactly like their C counterparts, but provide virtual working directory support on the thread level.

Zend Function | Regular C Function
V_GETCWD() | getcwd()
V_FOPEN() | fopen()
V_OPEN() | open()
V_CHDIR() | chdir()
V_GETWD() | getwd()
V_CHDIR_FILE() | Takes a file path as an argument and changes the current working directory to that file's directory.
V_STAT() | stat()
V_LSTAT() | lstat()

String Handling

Strings are handled a bit differently by the Zend engine than other values such as integers, Booleans, etc., which don't require additional memory allocation for storing their values. If you want to return a string from a function, introduce a new string variable to the symbol table, or do something similar, you have to make sure that the memory the string will be occupying has previously been allocated, using the aforementioned e*() functions for allocation. (This might not make much sense to you yet; just keep it somewhere in your head for now - we'll get back to it shortly.)

Complex Types

Complex types such as arrays and objects require different treatment. Zend features a single API for these types - they're stored using hash tables.

Note: To reduce complexity in the following source examples, we're only working with simple types such as integers at first. A discussion about creating more advanced types follows later in this chapter.

PHP's Automatic Build System

PHP 4 features an automatic build system that's very flexible. All modules reside in a subdirectory of the ext directory. In addition to its own sources, each module consists of a config.m4 file, for extension configuration. (for example, see » http://www.gnu.org/software/m4/)

All these stub files are generated automatically, along with .cvsignore, by a little shell script named ext_skel that resides in the ext directory. As argument it takes the name of the module that you want to create. The shell script then creates a directory of the same name, along with the appropriate stub files.

Step by step, the process looks like this:

:~/cvs/php4/ext:> ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/my_module/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-my_module
5.  $ make
6.  $ ./php -f ext/my_module/my_module.php
7.  $ vi ext/my_module/my_module.c
8.  $ make

Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
This instruction creates the aforementioned files. To include the new module in the automatic configuration and build process, you have to run buildconf, which regenerates the configure script by searching through the ext directory and including all found config.m4 files.

The default config.m4 shown in The default config.m4. is a bit more complex:

Exemple #1 The default config.m4.

dnl $Id: build.xml 297078 2010-03-29 16:25:51Z degeberg $
dnl config.m4 for extension my_module

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [  --with-my_module             Include my_module support])

dnl Otherwise use enable:

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [  --enable-my_module           Enable my_module support])

if test "$PHP_MY_MODULE" != "no"; then
  dnl Write more examples of tests here...

  dnl # --with-my_module -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/my_module.h"  # you most likely want to change this
  dnl if test -r $PHP_MY_MODULE/; then # path given as parameter
  dnl   MY_MODULE_DIR=$PHP_MY_MODULE
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for my_module files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       MY_MODULE_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$MY_MODULE_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the my_module distribution])
  dnl fi

  dnl # --with-my_module -> add include path
  dnl PHP_ADD_INCLUDE($MY_MODULE_DIR/include)

  dnl # --with-my_module -> chech for lib and symbol presence
  dnl LIBNAME=my_module # you may want to change this
  dnl LIBSYMBOL=my_module # you most likely want to change this

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $MY_MODULE_DIR/lib, MY_MODULE_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_MY_MODULELIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong my_module lib version or lib not found])
  dnl ],[
  dnl   -L$MY_MODULE_DIR/lib -lm -ldl
  dnl ])
  dnl
  dnl PHP_SUBST(MY_MODULE_SHARED_LIBADD)

  PHP_NEW_EXTENSION(my_module, my_module.c, $ext_shared)
fi

If you're unfamiliar with M4 files (now is certainly a good time to get familiar), this might be a bit confusing at first; but it's actually quite easy.

Note: Everything prefixed with dnl is treated as a comment and is not parsed.

The config.m4 file is responsible for parsing the command-line options passed to configure at configuration time. This means that it has to check for required external files and do similar configuration and setup tasks.

The default file creates two configuration directives in the configure script: --with-my_module and --enable-my_module. Use the first option when referring external files (such as the --with-apache directive that refers to the Apache directory). Use the second option when the user simply has to decide whether to enable your extension. Regardless of which option you use, you should uncomment the other, unnecessary one; that is, if you're using --enable-my_module, you should remove support for --with-my_module, and vice versa.

By default, the config.m4 file created by ext_skel accepts both directives and automatically enables your extension. Enabling the extension is done by using the PHP_EXTENSION macro. To change the default behavior to include your module into the PHP binary when desired by the user (by explicitly specifying --enable-my_module or --with-my_module), change the test for $PHP_MY_MODULE to == "yes":

if test "$PHP_MY_MODULE" == "yes"; then dnl
    Action.. PHP_EXTENSION(my_module, $ext_shared)
    fi
This would require you to use --enable-my_module each time when reconfiguring and recompiling PHP.

Note: Be sure to run buildconf every time you change config.m4!

We'll go into more details on the M4 macros available to your configuration scripts later in this chapter. For now, we'll simply use the default files.

Creating Extensions

We'll start with the creation of a very simple extension at first, which basically does nothing more than implement a function that returns the integer it receives as parameter. A simple extension. shows the source.

Exemple #2 A simple extension.

/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}

This code contains a complete PHP module. We'll explain the source code in detail shortly, but first we'd like to discuss the build process. (This will allow the impatient to experiment before we dive into API discussions.)

Note: The example source makes use of some features introduced with the Zend version used in PHP 4.1.0 and above, it won't compile with older PHP 4.0.x versions.

Compiling Modules

There are basically two ways to compile modules:

  • Use the provided "make" mechanism in the ext directory, which also allows building of dynamic loadable modules.

  • Compile the sources manually.

The first method should definitely be favored, since, as of PHP 4.0, this has been standardized into a sophisticated build process. The fact that it is so sophisticated is also its drawback, unfortunately - it's hard to understand at first. We'll provide a more detailed introduction to this later in the chapter, but first let's work with the default files.

The second method is good for those who (for some reason) don't have the full PHP source tree available, don't have access to all files, or just like to juggle with their keyboard. These cases should be extremely rare, but for the sake of completeness we'll also describe this method.

Compiling Using Make

To compile the sample sources using the standard mechanism, copy all their subdirectories to the ext directory of your PHP source tree. Then run buildconf, which will create an updated configure script containing appropriate options for the new extension. By default, all the sample sources are disabled, so you don't have to fear breaking your build process.

After you run buildconf, configure --help shows the following additional modules:

  --enable-array_experiments   BOOK: Enables array experiments
  --enable-call_userland       BOOK: Enables userland module
  --enable-cross_conversion    BOOK: Enables cross-conversion module
  --enable-first_module        BOOK: Enables first module
  --enable-infoprint           BOOK: Enables infoprint module
  --enable-reference_test      BOOK: Enables reference test module
  --enable-resource_test       BOOK: Enables resource test module
  --enable-variable_creation   BOOK: Enables variable-creation module

The module shown earlier in A simple extension. can be enabled with --enable-first_module or --enable-first_module=yes.

Compiling Manually

To compile your modules manually, you need the following commands:

Action | Command
Compiling | cc -fpic -DCOMPILE_DL_FIRST_MODULE=1 -I/usr/local/include -I. -I.. -I../Zend -c -o <your_object_file> <your_c_file>
Linking | cc -shared -L/usr/local/lib -rdynamic -o <your_module_file> <your_object_file(s)>
The command to compile the module simply instructs the compiler to generate position-independent code (-fpic shouldn't be omitted) and additionally defines the constant COMPILE_DL_FIRST_MODULE to tell the module code that it's compiled as a dynamically loadable module (the test module above checks for this; we'll discuss it shortly). After these options, it specifies a number of standard include paths that should be used as the minimal set to compile the source files.

Note: All include paths in the example are relative to the directory ext. If you're compiling from another directory, change the pathnames accordingly. Required items are the PHP directory, the Zend directory, and (if necessary), the directory in which your module resides.

The link command is also a plain vanilla command instructing linkage as a dynamic module.

You can include optimization options in the compilation command, although these have been omitted in this example (but some are included in the makefile template described in an earlier section).

Note: Compiling and linking manually as a static module into the PHP binary involves very long instructions and thus is not discussed here. (It's not very efficient to type all those commands.)

Using Extensions

Depending on the build process you selected, you should either end up with a new PHP binary to be linked into your Web server (or run as CGI), or with an .so (shared object) file. If you compiled the example file first_module.c as a shared object, your result file should be first_module.so. To use it, you first have to copy it to a place from which it's accessible to PHP. For a simple test procedure, you can copy it to your htdocs directory and try it with the source in A test file for first_module.so.. If you compiled it into the PHP binary, omit the call to dl(), as the module's functionality is instantly available to your scripts.

Avertissement

For security reasons, you should not put your dynamic modules into publicly accessible directories. Even though it can be done and it simplifies testing, you should put them into a separate directory in production environments.

Exemple #3 A test file for first_module.so.

<?php

// remove next comment if necessary
// dl("first_module.so");

$param = 2;
$return = first_module($param);

print("We sent '$param' and got '$return'");

?>

Calling this PHP file should output the following:

We sent '2' and got '2'

If required, the dynamic loadable module is loaded by calling the dl() function. This function looks for the specified shared object, loads it, and makes its functions available to PHP. The module exports the function first_module(), which accepts a single parameter, converts it to an integer, and returns the result of the conversion.

If you've gotten this far, congratulations! You just built your first extension to PHP.

Troubleshooting

Actually, not much troubleshooting can be done when compiling static or dynamic modules. The only problem that could arise is that the compiler will complain about missing definitions or something similar. In this case, make sure that all header files are available and that you specified their path correctly in the compilation command. To be sure that everything is located correctly, extract a clean PHP source tree and use the automatic build in the ext directory with the fresh files; this will guarantee a safe compilation environment. If this fails, try manual compilation.

PHP might also complain about missing functions in your module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external functions you're trying to access from your module are misspelled, they'll remain as "unlinked symbols" in the symbol table. During dynamic loading and linkage by PHP, they won't resolve because of the typing errors - there are no corresponding symbols in the main binary. Look for incorrect declarations in your module file or incorrectly written external references. Note that this problem is specific to dynamic loadable modules; it doesn't occur with static modules. Errors in static modules show up at compile time.

Source Discussion

Now that you've got a safe build environment and you're able to include the modules into PHP files, it's time to discuss how everything works.

Module Structure

All PHP modules follow a common structure:

  • Header file inclusions (to include all required macros, API definitions, etc.)

  • C declaration of exported functions (required to declare the Zend function block)

  • Declaration of the Zend function block

  • Declaration of the Zend module block

  • Implementation of get_module()

  • Implementation of all exported functions

Header File Inclusions

The only header file you really have to include for your modules is php.h, located in the PHP directory. This file makes all macros and API definitions required to build new modules available to your code.

Tip: It's good practice to create a separate header file for your module that contains module-specific definitions. This header file should contain all the forward definitions for exported functions and include php.h. If you created your module using ext_skel you already have such a header file prepared.

Declaring Exported Functions

To declare functions that are to be exported (i.e., made available to PHP as new native functions), Zend provides a set of macros. A sample declaration looks like this:

ZEND_FUNCTION ( my_function );

ZEND_FUNCTION declares a new C function that complies with Zend's internal API. This means that the function is of type void and accepts INTERNAL_FUNCTION_PARAMETERS (another macro) as parameters. Additionally, it prefixes the function name with zif. The immediately expanded version of the above definitions would look like this:

void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Expanding INTERNAL_FUNCTION_PARAMETERS results in the following:
void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

Since the interpreter and executor core have been separated from the main PHP package, a second API defining macros and function sets has evolved: the Zend API. As the Zend API now handles quite a few of the responsibilities that previously belonged to PHP, a lot of PHP functions have been reduced to macros aliasing to calls into the Zend API. The recommended practice is to use the Zend API wherever possible, as the old API is only preserved for compatibility reasons. For example, the types zval and pval are identical. zval is Zend's definition; pval is PHP's definition (actually, pval is an alias for zval now). As the macro INTERNAL_FUNCTION_PARAMETERS is a Zend macro, the above declaration contains zval. When writing code, you should always use zval to conform to the new Zend API.

The parameter list of this declaration is very important; you should keep these parameters in mind (see Zend's Parameters to Functions Called from PHP for descriptions).

Zend's Parameters to Functions Called from PHP
Parameter | Description
ht | The number of arguments passed to the Zend function. You should not touch this directly, but instead use ZEND_NUM_ARGS() to obtain the value.
return_value | This variable is used to pass any return values of your function back to PHP. Access to this variable is best done using the predefined macros. For a description of these see below.
this_ptr | Using this variable, you can gain access to the object in which your function is contained, if it's used within an object. Use the function getThis() to obtain this pointer.
return_value_used | This flag indicates whether an eventual return value from this function will actually be used by the calling script. 0 indicates that the return value is not used; 1 indicates that the caller expects a return value. Evaluation of this flag can be done to verify correct usage of the function as well as speed optimizations in case returning a value requires expensive operations (for an example, see how array.c makes use of this).
executor_globals | This variable points to global settings of the Zend engine. You'll find this useful when creating new variables, for example (more about this later). The executor globals can also be introduced to your function by using the macro TSRMLS_FETCH().

Declaration of the Zend Function Block

Now that you have declared the functions to be exported, you also have to introduce them to Zend. Introducing the list of functions is done by using an array of zend_function_entry. This array consecutively contains all functions that are to be made available externally, with the function's name as it should appear in PHP and its name as defined in the C source. Internally, zend_function_entry is defined as shown in Internal declaration of zend_function_entry..

Exemple #4 Internal declaration of zend_function_entry.

typedef struct _zend_function_entry {
    char *fname;
    void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
    unsigned char *func_arg_types;
} zend_function_entry;
Entry | Description
fname | Denotes the function name as seen in PHP (for example, fopen, mysql_connect, or, in our example, first_module).
handler | Pointer to the C function responsible for handling calls to this function. For example, see the standard macro INTERNAL_FUNCTION_PARAMETERS discussed earlier.
func_arg_types | Allows you to mark certain parameters so that they're forced to be passed by reference. You usually should set this to NULL.
In the example above, the declaration looks like this:
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};
You can see that the last entry in the list always has to be {NULL, NULL, NULL}. This marker has to be set for Zend to know when the end of the list of exported functions is reached.

Note: You cannot use the predefined macros for the end marker, as these would try to refer to a function named "NULL"!

The macro ZEND_FE (short for 'Zend Function Entry') simply expands to a structure entry in zend_function_entry. Note that these macros introduce a special naming scheme to your functions - your C functions will be prefixed with zif_, meaning that ZEND_FE(first_module) will refer to a C function zif_first_module(). If you want to mix macro usage with hand-coded entries (not a good practice), keep this in mind.

Tip: Compilation errors that refer to functions named zif_*() relate to functions defined with ZEND_FE.

Macros for Defining Functions shows a list of all the macros that you can use to define functions.

Macros for Defining Functions
Macro Name | Description
ZEND_FE(name, arg_types) | Defines a function entry of the name name in zend_function_entry. Requires a corresponding C function. arg_types needs to be set to NULL. This function uses automatic C function name generation by prefixing the PHP function name with zif_. For example, ZEND_FE("first_module", NULL) introduces a function first_module() to PHP and links it to the C function zif_first_module(). Use in conjunction with ZEND_FUNCTION.
ZEND_NAMED_FE(php_name, name, arg_types) | Defines a function that will be available to PHP by the name php_name and links it to the corresponding C function name. arg_types needs to be set to NULL. Use this function if you don't want the automatic name prefixing introduced by ZEND_FE. Use in conjunction with ZEND_NAMED_FUNCTION.
ZEND_FALIAS(name, alias, arg_types) | Defines an alias named alias for name. arg_types needs to be set to NULL. Doesn't require a corresponding C function; refers to the alias target instead.
PHP_FE(name, arg_types) | Old PHP API equivalent of ZEND_FE.
PHP_NAMED_FE(runtime_name, name, arg_types) | Old PHP API equivalent of ZEND_NAMED_FE.

Note: You can't use ZEND_FE in conjunction with PHP_FUNCTION, or PHP_FE in conjunction with ZEND_FUNCTION. However, it's perfectly legal to mix ZEND_FE and ZEND_FUNCTION with PHP_FE and PHP_FUNCTION when staying with the same macro set for each function to be declared. But mixing is not recommended; instead, you're advised to use the ZEND_* macros only.

Declaration of the Zend Module Block

This block is stored in the structure zend_module_entry and contains all necessary information to describe the contents of this module to Zend. You can see the internal definition of this module in Internal declaration of zend_module_entry..

Exemple #5 Internal declaration of zend_module_entry.

typedef struct _zend_module_entry zend_module_entry;

    struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    char *name;
    zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;

[ Rest of the structure is not interesting here ]

};
Entry | Description
size, zend_api, zend_debug and zts | Usually filled with the "STANDARD_MODULE_HEADER", which fills these four members with the size of the whole zend_module_entry, the ZEND_MODULE_API_NO, whether it is a debug build or normal build (ZEND_DEBUG) and if ZTS is enabled (USING_ZTS).
name | Contains the module name (for example, "File functions", "Socket functions", "Crypt", etc.). This name will show up in phpinfo(), in the section "Additional Modules."
functions | Points to the Zend function block, discussed in the preceding section.
module_startup_func | This function is called once upon module initialization and can be used to do one-time initialization steps (such as initial memory allocation, etc.). To indicate a failure during initialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINIT.
module_shutdown_func | This function is called once upon module shutdown and can be used to do one-time deinitialization steps (such as memory deallocation). This is the counterpart to module_startup_func(). To indicate a failure during deinitialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MSHUTDOWN.
request_startup_func | This function is called once upon every page request and can be used to do one-time initialization steps that are required to process a request. To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request startup function is called right after the module startup function (both initialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RINIT.
request_shutdown_func | This function is called once after every page request and works as counterpart to request_startup_func(). To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request shutdown function is immediately followed by a call to the module shutdown handler (both deinitialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RSHUTDOWN.
info_func | When phpinfo() is called in a script, Zend cycles through all loaded modules and calls this function. Every module then has the chance to print its own "footprint" into the output page. Generally this is used to dump environmental or statistical information. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINFO.
version | The version of the module. You can use NO_VERSION_YET if you don't want to give the module a version number yet, but we really recommend that you add a version string here. Such a version string can look like this (in chronological order): "2.5-dev", "2.5RC1", "2.5" or "2.5pl3".
Remaining structure elements | These are used internally and can be prefilled by using the macro STANDARD_MODULE_PROPERTIES_EX. You should not assign any values to them. Use STANDARD_MODULE_PROPERTIES_EX only if you use global startup and shutdown functions; otherwise, use STANDARD_MODULE_PROPERTIES directly.

In our example, this structure is implemented as follows:

zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL, NULL, NULL, NULL, NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES,
};
This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module, then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes, you can find a list of the macros involved in declared startup and shutdown functions in Macros to Declare Startup and Shutdown Functions. These are not used in our basic example yet, but will be demonstrated later on. You should make use of these macros to declare your startup and shutdown functions, as these require special arguments to be passed (INIT_FUNC_ARGS and SHUTDOWN_FUNC_ARGS), which are automatically included into the function declaration when using the predefined macros. If you declare your functions manually and the PHP developers decide that a change in the argument list is necessary, you'll have to change your module sources to remain compatible.

Macros to Declare Startup and Shutdown Functions
Macro | Description
ZEND_MINIT(module) | Declares a function for module startup. The generated name will be zend_minit_<module> (for example, zend_minit_first_module). Use in conjunction with ZEND_MINIT_FUNCTION.
ZEND_MSHUTDOWN(module) | Declares a function for module shutdown. The generated name will be zend_mshutdown_<module> (for example, zend_mshutdown_first_module). Use in conjunction with ZEND_MSHUTDOWN_FUNCTION.
ZEND_RINIT(module) | Declares a function for request startup. The generated name will be zend_rinit_<module> (for example, zend_rinit_first_module). Use in conjunction with ZEND_RINIT_FUNCTION.
ZEND_RSHUTDOWN(module) | Declares a function for request shutdown. The generated name will be zend_rshutdown_<module> (for example, zend_rshutdown_first_module). Use in conjunction with ZEND_RSHUTDOWN_FUNCTION.
ZEND_MINFO(module) | Declares a function for printing module information, used when phpinfo() is called. The generated name will be zend_info_<module> (for example, zend_info_first_module). Use in conjunction with ZEND_MINFO_FUNCTION.

Creation of get_module()

This function is special to all dynamic loadable modules. Take a look at the creation via the ZEND_GET_MODULE macro first:

#if COMPILE_DL_FIRSTMOD
     ZEND_GET_MODULE(firstmod)
#endif

The function implementation is surrounded by a conditional compilation statement. This is needed since the function get_module() is only required if your module is built as a dynamic extension. By specifying a definition of COMPILE_DL_FIRSTMOD in the compiler command (see above for a discussion of the compilation instructions required to build a dynamic extension), you can instruct your module whether you intend to build it as a dynamic extension or as a built-in module. If you want a built-in module, the implementation of get_module() is simply left out.

get_module() is called by Zend at load time of the module. You can think of it as being invoked by the dl() call in your script. Its purpose is to pass the module information block back to Zend in order to inform the engine about the module contents.

If you don't implement a get_module() function in your dynamic loadable module, Zend will compliment you with an error message when trying to access it.

Implementation of All Exported Functions

Implementing the exported functions is the final step. The example function in first_module looks like this:

ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}
The function declaration is done using ZEND_FUNCTION, which corresponds to ZEND_FE in the function entry table (discussed earlier).

After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).

Summary

That's it, basically - there's nothing more to implementing PHP modules. Built-in modules are structured similarly to dynamic modules, so, equipped with the information presented in the previous sections, you'll be able to fight the odds when encountering PHP module source files.

Now, in the following sections, read on about how to make use of PHP's internals to build powerful extensions.

Accepting Arguments

One of the most important issues for language extensions is accepting and dealing with data passed via arguments. Most extensions are built to deal with specific input data (or require parameters to perform their specific actions), and function arguments are the only real way to exchange data between the PHP level and the C level. Of course, there's also the possibility of exchanging data using predefined global values (which is also discussed later), but this should be avoided by all means, as it's extremely bad practice.

PHP doesn't make use of any formal function declarations; this is why call syntax is always completely dynamic and never checked for errors. Checking for correct call syntax is left to the user code. For example, it's possible to call a function using only one argument at one time and four arguments the next time - both invocations are syntactically absolutely correct.

Determining the Number of Arguments

Since PHP doesn't have formal function definitions with support for call syntax checking, and since PHP features variable arguments, sometimes you need to find out with how many arguments your function has been called. You can use the ZEND_NUM_ARGS macro in this case. In previous versions of PHP, this macro retrieved the number of arguments with which the function has been called based on the function's hash table entry, ht, which is passed in the INTERNAL_FUNCTION_PARAMETERS list. As ht itself now contains the number of arguments that have been passed to the function, ZEND_NUM_ARGS has been stripped down to a dummy macro (see its definition in zend_API.h). But it's still good practice to use it, to remain compatible with future changes in the call interface. Note: The old PHP equivalent of this macro is ARG_COUNT.

The following code checks for the correct number of arguments:

if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;
If the function is not called with two arguments, it exits with an error message. The code snippet above makes use of the tool macro WRONG_PARAM_COUNT, which can be used to generate a standard error message like:
"Warning: Wrong parameter count for firstmodule() in /home/www/htdocs/firstmod.php on line 5"

This macro prints a default error message and then returns to the caller. Its definition can also be found in zend_API.h and looks like this:

ZEND_API void wrong_param_count(void);

#define WRONG_PARAM_COUNT { wrong_param_count(); return; }
As you can see, it calls an internal function named wrong_param_count() that's responsible for printing the warning. For details on generating customized error messages, see the later section "Printing Information."

Retrieving Arguments

Note: New parameter parsing API
This chapter documents the new Zend parameter parsing API introduced by Andrei Zmievski. It was introduced in the development stage between PHP 4.0.6 and 4.1.0.

Parsing parameters is a very common operation and it may get a bit tedious. It would also be nice to have standardized error checking and error messages. Since PHP 4.1.0, there is a way to do just that by using the new parameter parsing API. It greatly simplifies the process of receiving parameters, but it has a drawback in that it can't be used for functions that expect variable number of parameters. But since the vast majority of functions do not fall into those categories, this parsing API is recommended as the new standard way.

The prototype for parameter parsing function looks like this:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
The first argument to this function is supposed to be the number of actual parameters passed to your function, so ZEND_NUM_ARGS() can be used for that. The second parameter should always be TSRMLS_CC macro. The third argument is a string that specifies the number and types of arguments your function is expecting, similar to how printf format string specifies the number and format of the output values it should operate on. And finally the rest of the arguments are pointers to variables which should receive the values from the parameters.

zend_parse_parameters() also performs type conversions whenever possible, so that you always receive the data in the format you asked for. Any type of scalar can be converted to another one, but conversions between complex types (arrays, objects, and resources) and scalar types are not allowed.

If the parameters could be obtained successfully and there were no errors during type conversion, the function will return SUCCESS, otherwise it will return FAILURE. The function will output informative error messages, if the number of received parameters does not match the requested number, or if type conversion could not be performed.

Here are some sample error messages:

Warning - ini_get_all() requires at most 1 parameter, 2 given
Warning - wddx_deserialize() expects parameter 1 to be string, array given
Of course each error message is accompanied by the filename and line number on which it occurs.

Here is the full list of type specifiers:

  • l - long

  • d - double

  • s - string (with possible null bytes) and its length

  • b - boolean

  • r - resource, stored in zval*

  • a - array, stored in zval*

  • o - object (of any class), stored in zval*

  • O - object (of class specified by class entry), stored in zval*

  • z - the actual zval*

The following characters also have a meaning in the specifier string:

  • | - indicates that the remaining parameters are optional. The storage variables corresponding to these parameters should be initialized to default values by the extension, since they will not be touched by the parsing function if the parameters are not passed.

  • / - the parsing function will call SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows, to provide a copy of the parameter, unless it's a reference.

  • ! - the parameter it follows can be of specified type or NULL (only applies to a, o, O, r, and z). If NULL value is passed by the user, the storage pointer will be set to NULL.

The best way to illustrate the usage of this function is through examples:

/* Gets a long, a string and its length, and a zval. */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "lsz", &l, &s, &s_len, &param) == FAILURE) {
    return;
}

/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O|d", &obj, my_ce, &d) == FAILURE) {
    return;
}

/* Gets an object or null, and an array.
   If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!a", &obj, &arr) == FAILURE) {
    return;
}

/* Gets a separated array. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) {
    return;
}

/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3, "zbr!", &z, &b, &r) == FAILURE) {
    return;
}

Note that in the last example we pass 3 for the number of received parameters, instead of ZEND_NUM_ARGS(). What this lets us do is receive the least number of parameters if our function expects a variable number of them. Of course, if you want to operate on the rest of the parameters, you will have to use zend_get_parameters_array_ex() to obtain them.

The parsing function has an extended version that allows for an additional flags argument that controls its actions.

int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);

The only flag you can pass currently is ZEND_PARSE_PARAMS_QUIET, which instructs the function to not output any error messages during its operation. This is useful for functions that expect several sets of completely different arguments, but you will have to output your own error messages.

For example, here is how you would get either a set of three longs or a string:

long l1, l2, l3;
char *s;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                             ZEND_NUM_ARGS() TSRMLS_CC,
                             "lll", &l1, &l2, &l3) == SUCCESS) {
    /* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                                    ZEND_NUM_ARGS(), "s", &s, &s_len) == SUCCESS) {
    /* manipulate string */
} else {
    php_error(E_WARNING, "%s() takes either three long values or a string as argument",
              get_active_function_name(TSRMLS_C));
    return;
}

With all the abovementioned ways of receiving function parameters you should have a good handle on this process. For even more example, look through the source code for extensions that are shipped with PHP - they illustrate every conceivable situation.

Old way of retrieving arguments (deprecated)

Note: Deprecated parameter parsing API
This API is deprecated and superseded by the new ZEND parameter parsing API.

After having checked the number of arguments, you need to get access to the arguments themselves. This is done with the help of zend_get_parameters_ex():

zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
All arguments are stored in a zval container, which needs to be pointed to twice. The snippet above tries to retrieve one argument and make it available to us via the parameter pointer.

zend_get_parameters_ex() accepts at least two arguments. The first argument is the number of arguments to retrieve (which should match the number of arguments with which the function has been called; this is why it's important to check for correct call syntax). The second argument (and all following arguments) are pointers to pointers to pointers to zvals. (Confusing, isn't it?) All these pointers are required because Zend works internally with **zval; to adjust a local **zval in our function,zend_get_parameters_ex() requires a pointer to it.

The return value of zend_get_parameters_ex() can either be SUCCESS or FAILURE, indicating (unsurprisingly) success or failure of the argument processing. A failure is most likely related to an incorrect number of arguments being specified, in which case you should exit with WRONG_PARAM_COUNT.

To retrieve more than one argument, you can use a similar snippet:

zval **param1, **param2, **param3, **param4;

if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

zend_get_parameters_ex() only checks whether you're trying to retrieve too many parameters. If the function is called with five arguments, but you're only retrieving three of them with zend_get_parameters_ex(), you won't get an error but will get the first three parameters instead. Subsequent calls of zend_get_parameters_ex() won't retrieve the remaining arguments, but will get the same arguments again.

Dealing with a Variable Number of Arguments/Optional Parameters

If your function is meant to accept a variable number of arguments, the snippets just described are sometimes suboptimal solutions. You have to create a line calling zend_get_parameters_ex() for every possible number of arguments, which is often unsatisfying.

For this case, you can use the function zend_get_parameters_array_ex(), which accepts the number of parameters to retrieve and an array in which to store them:

zval **parameter_array[4];

/* get the number of arguments */
argument_count = ZEND_NUM_ARGS();

/* see if it satisfies our minimal request (2 arguments) */
/* and our maximal acceptance (4 arguments) */
if(argument_count < 2 || argument_count > 4)
    WRONG_PARAM_COUNT;

/* argument count is correct, now retrieve arguments */
if(zend_get_parameters_array_ex(argument_count, parameter_array) != SUCCESS)
    WRONG_PARAM_COUNT;
First, the number of arguments is checked to make sure that it's in the accepted range. After that, zend_get_parameters_array_ex() is used to fill parameter_array with valid pointers to the argument values.

A very clever implementation of this can be found in the code handling PHP's fsockopen() located in ext/standard/fsock.c, as shown in PHP's implementation of variable arguments in fsockopen().. Don't worry if you don't know all the functions used in this source yet; we'll get to them shortly.

Exemple #6 PHP's implementation of variable arguments in fsockopen().

pval **args[5];
int *sock=emalloc(sizeof(int));
int *sockp;
int arg_count=ARG_COUNT(ht);
int socketd = -1;
unsigned char udp = 0;
struct timeval timeout = { 60, 0 };
unsigned short portno;
unsigned long conv;
char *key = NULL;
FLS_FETCH();

if (arg_count > 5 || arg_count < 2 || zend_get_parameters_array_ex(arg_count,args)==FAILURE) {
    CLOSE_SOCK(1);
    WRONG_PARAM_COUNT;
}

switch(arg_count) {
    case 5:
        convert_to_double_ex(args[4]);
        conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
        timeout.tv_sec = conv / 1000000;
        timeout.tv_usec = conv % 1000000;
        /* fall-through */
    case 4:
        if (!PZVAL_IS_REF(*args[3])) {
            php_error(E_WARNING,"error string argument to fsockopen not passed by reference");
        }
        pval_copy_constructor(*args[3]);
        ZVAL_EMPTY_STRING(*args[3]);
        /* fall-through */
    case 3:
        if (!PZVAL_IS_REF(*args[2])) {
            php_error(E_WARNING,"error argument to fsockopen not passed by reference");
            return;
        }
        ZVAL_LONG(*args[2], 0);
        break;
}

convert_to_string_ex(args[0]);
convert_to_long_ex(args[1]);
portno = (unsigned short) Z_LVAL_P(args[1]);

key = emalloc(Z_STRLEN_P(args[0]) + 10);

fsockopen() accepts two, three, four, or five parameters. After the obligatory variable declarations, the function checks for the correct range of arguments. Then it uses a fall-through mechanism in a switch() statement to deal with all arguments. The switch() statement starts with the maximum number of arguments being passed (five). After that, it automatically processes the case of four arguments being passed, then three, by omitting the otherwise obligatory break keyword in all stages. After having processed the last case, it exits the switch() statement and does the minimal argument processing needed if the function is invoked with only two arguments.

This multiple-stage type of processing, similar to a stairway, allows convenient processing of a variable number of arguments.

Accessing Arguments

To access arguments, it's necessary for each argument to have a clearly defined type. Again, PHP's extremely dynamic nature introduces some quirks. Because PHP never does any kind of type checking, it's possible for a caller to pass any kind of data to your functions, whether you want it or not. If you expect an integer, for example, the caller might pass an array, and vice versa - PHP simply won't notice.

To work around this, you have to use a set of API functions to force a type conversion on every argument that's being passed (see Argument Conversion Functions).

Note: All conversion functions expect a **zval as parameter.

Argument Conversion Functions
Function | Description
convert_to_boolean_ex() | Forces conversion to a Boolean type. Boolean values remain untouched. Longs, doubles, and strings containing 0 as well as NULL values will result in Boolean 0 (FALSE). Arrays and objects are converted based on the number of entries or properties, respectively, that they have. Empty arrays and objects are converted to FALSE; otherwise, to TRUE. All other values result in a Boolean 1 (TRUE).
convert_to_long_ex() | Forces conversion to a long, the default integer type. NULL values, Booleans, resources, and of course longs remain untouched. Doubles are truncated. Strings containing an integer are converted to their corresponding numeric representation, otherwise resulting in 0. Arrays and objects are converted to 0 if empty, 1 otherwise.
convert_to_double_ex() | Forces conversion to a double, the default floating-point type. NULL values, Booleans, resources, longs, and of course doubles remain untouched. Strings containing a number are converted to their corresponding numeric representation, otherwise resulting in 0.0. Arrays and objects are converted to 0.0 if empty, 1.0 otherwise.
convert_to_string_ex() | Forces conversion to a string. Strings remain untouched. NULL values are converted to an empty string. Booleans containing TRUE are converted to "1", otherwise resulting in an empty string. Longs and doubles are converted to their corresponding string representation. Arrays are converted to the string "Array" and objects to the string "Object".
convert_to_array_ex(value) | Forces conversion to an array. Arrays remain untouched. Objects are converted to an array by assigning all their properties to the array table. All property names are used as keys, property contents as values. NULL values are converted to an empty array. All other values are converted to an array that contains the specific source value in the element with the key 0.
convert_to_object_ex(value) | Forces conversion to an object. Objects remain untouched. NULL values are converted to an empty object. Arrays are converted to objects by introducing their keys as properties into the objects and their values as corresponding property contents in the object. All other types result in an object with the property scalar , having the corresponding source value as content.
convert_to_null_ex(value) | Forces the type to become a NULL value, meaning empty.

Note: You can find a demonstration of the behavior in cross_conversion.php on the accompanying CD-ROM.

Cross-conversion behavior of PHP.

Using these functions on your arguments will ensure type safety for all data that's passed to you. If the supplied type doesn't match the required type, PHP forces dummy contents on the resulting value (empty strings, arrays, or objects, 0 for numeric values, FALSE for Booleans) to ensure a defined state.

Following is a quote from the sample module discussed previously, which makes use of the conversion functions:

zval **parameter;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &parameter) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

convert_to_long_ex(parameter);

RETURN_LONG(Z_LVAL_P(parameter));
After retrieving the parameter pointer, the parameter value is converted to a long (an integer), which also forms the return value of this function. Understanding access to the contents of the value requires a short discussion of the zval type, whose definition is shown in PHP/Zend zval type definition..

Exemple #7 PHP/Zend zval type definition.

typedef pval zval;

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    struct {
        zend_class_entry *ce;
        HashTable *properties;
    } obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    unsigned char type;        /* active type */
    unsigned char is_ref;
    short refcount;
};

Actually, pval (defined in php.h) is only an alias of zval (defined in zend.h), which in turn refers to _zval_struct. This is a most interesting structure. _zval_struct is the "master" structure, containing the value structure, type, and reference information. The substructure zvalue_value is a union that contains the variable's contents. Depending on the variable's type, you'll have to access different members of this union. For a description of both structures, see Zend zval Structure, Zend zvalue_value Structure and Zend Variable Type Constants.

Zend zval Structure
Entry | Description
value | Union containing this variable's contents. See Zend zvalue_value Structure for a description.
type | Contains this variable's type. For a list of available types, see Zend Variable Type Constants.
is_ref | 0 means that this variable is not a reference; 1 means that this variable is a reference to another variable.
refcount | The number of references that exist for this variable. For every new reference to the value stored in this variable, this counter is increased by 1. For every lost reference, this counter is decreased by 1. When the reference counter reaches 0, no references exist to this value anymore, which causes automatic freeing of the value.
Zend zvalue_value Structure
Entry | Description
lval | Use this property if the variable is of the type IS_LONG, IS_BOOLEAN, or IS_RESOURCE.
dval | Use this property if the variable is of the type IS_DOUBLE.
str | This structure can be used to access variables of the type IS_STRING. The member len contains the string length; the member val points to the string itself. Zend uses C strings; thus, the string length contains a trailing 0x00.
ht | This entry points to the variable's hash table entry if the variable is an array.
obj | Use this property if the variable is of the type IS_OBJECT.
Zend Variable Type Constants
Constant | Description
IS_NULL | Denotes a NULL (empty) value.
IS_LONG | A long (integer) value.
IS_DOUBLE | A double (floating point) value.
IS_STRING | A string.
IS_ARRAY | Denotes an array.
IS_OBJECT | An object.
IS_BOOL | A Boolean value.
IS_RESOURCE | A resource (for a discussion of resources, see the appropriate section below).
IS_CONSTANT | A constant (defined) value.

To access a long you access zval.value.lval, to access a double you use zval.value.dval, and so on. Because all values are stored in a union, trying to access data with incorrect union members results in meaningless output.

Accessing arrays and objects is a bit more complicated and is discussed later.

Dealing with Arguments Passed by Reference

If your function accepts arguments passed by reference that you intend to modify, you need to take some precautions.

What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zvals that refer to Zend-internal data!

We've only discussed the so-called *_ex() API so far. You may have noticed that the API functions we've used are called zend_get_parameters_ex() instead of zend_get_parameters(), convert_to_long_ex() instead of convert_to_long(), etc. The *_ex() functions form the so-called new "extended" Zend API. They give a minor speed increase over the old API, but as a tradeoff are only meant for providing read-only access.

Because Zend works internally with references, different variables may reference the same value. Write access to a zval container requires this container to contain an isolated value, meaning a value that's not referenced by any other containers. If a zval container were referenced by other containers and you changed the referenced zval, you would automatically change the contents of the other containers referencing this zval (because they'd simply point to the changed value and thus change their own value as well).

zend_get_parameters_ex() doesn't care about this situation, but simply returns a pointer to the desired zval containers, whether they consist of references or not. Its corresponding function in the traditional API, zend_get_parameters(), immediately checks for referenced values. If it finds a reference, it creates a new, isolated zval container; copies the referenced data into this newly allocated space; and then returns a pointer to the new, isolated value.

This action is called zval separation (or pval separation). Because the *_ex() API doesn't perform zval separation, it's considerably faster, while at the same time disabling write access.

To change parameters, however, write access is required. Zend deals with this situation in a special way: Whenever a parameter to a function is passed by reference, it performs automatic zval separation. This means that whenever you're calling a function like this in PHP, Zend will automatically ensure that $parameter is being passed as an isolated value, rendering it to a write-safe state:

my_function(&$parameter);

But this is not the case with regular parameters! All other parameters that are not passed by reference are in a read-only state.

This requires you to make sure that you're really working with a reference - otherwise you might produce unwanted results. To check for a parameter being passed by reference, you can use the macro PZVAL_IS_REF. This macro accepts a zval* to check if it is a reference or not. Examples are given in in Testing for referenced parameter passing..

Exemple #8 Testing for referenced parameter passing.

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
    return;

/* check for parameter being passed by reference */
if (!PZVAL_IS_REF(parameter)) {
{
    zend_error(E_WARNING, "Parameter wasn't passed by reference");
    RETURN_NULL();
}

/* make changes to the parameter */
ZVAL_LONG(parameter, 10);
Testing for referenced parameter passing

Assuring Write Safety for Other Parameters

You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context:

zval **parameter;

/* retrieve parameter */
zend_get_parameters_ex(1, &parameter);

/* at this stage, <parameter> still is connected */
/* to Zend's internal data buffers */

/* make <parameter> write-safe */
SEPARATE_ZVAL(parameter);

/* now we can safely modify <parameter> */
/* without implying global changes */
SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM.

Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter.

Creating Variables

When exchanging data from your own extensions with PHP scripts, one of the most important issues is the creation of variables. This section shows you how to deal with the variable types that PHP supports.

Overview

To create new variables that can be seen "from the outside" by the executing script, you need to allocate a new zval container, fill this container with meaningful values, and then introduce it to Zend's internal symbol table. This basic process is common to all variable creations:

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
ZEND_SET_SYMBOL(EG(active_symbol_table), "new_variable_name", new_variable);

/* the variable is now accessible to the script by using $new_variable_name */

The macro MAKE_STD_ZVAL allocates a new zval container using ALLOC_ZVAL and initializes it using INIT_ZVAL. As implemented in Zend at the time of this writing, initializing means setting the reference count to 1 and clearing the is_ref flag, but this process could be extended later - this is why it's a good idea to keep using MAKE_STD_ZVAL instead of only using ALLOC_ZVAL. If you want to optimize for speed (and you don't have to explicitly initialize the zval container here), you can use ALLOC_ZVAL, but this isn't recommended because it doesn't ensure data integrity.

ZEND_SET_SYMBOL takes care of introducing the new variable to Zend's symbol table. This macro checks whether the value already exists in the symbol table and converts the new symbol to a reference if so (with automatic deallocation of the old zval container). This is the preferred method if speed is not a crucial issue and you'd like to keep memory usage low.

Note that ZEND_SET_SYMBOL makes use of the Zend executor globals via the macro EG. By specifying EG(active_symbol_table), you get access to the currently active symbol table, dealing with the active, local scope. The local scope may differ depending on whether the function was invoked from within a function.

If you need to optimize for speed and don't care about optimal memory usage, you can omit the check for an existing variable with the same value and instead force insertion into the symbol table by using zend_hash_update():

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
zend_hash_update(
    EG(active_symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
This is actually the standard method used in most modules.

The variables generated with the snippet above will always be of local scope, so they reside in the context in which the function has been called. To create new variables in the global scope, use the same method but refer to another symbol table:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
ZEND_SET_SYMBOL(&EG(symbol_table), "new_variable_name", new_variable);
The macro ZEND_SET_SYMBOL is now being called with a reference to the main, global symbol table by referring EG(symbol_table).

Note: The active_symbol_table variable is a pointer, but symbol_table is not. This is why you have to use EG(active_symbol_table) and &EG(symbol_table) as parameters to ZEND_SET_SYMBOL - it requires a pointer.

Similarly, to get a more efficient version, you can hardcode the symbol table update:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
zend_hash_update(
    &EG(symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &new_variable,
    sizeof(zval *),
    NULL
);
Creating variables with different scopes. shows a sample source that creates two variables - local_variable with a local scope and global_variable with a global scope (see Figure 9.7). The full example can be found on the CD-ROM.

Note: You can see that the global variable is actually not accessible from within the function. This is because it's not imported into the local scope using global $global_variable; in the PHP source.

Exemple #9 Creating variables with different scopes.

ZEND_FUNCTION(variable_creation)
{
    zval *new_var1, *new_var2;

    MAKE_STD_ZVAL(new_var1);
    MAKE_STD_ZVAL(new_var2);

    ZVAL_LONG(new_var1, 10);
    ZVAL_LONG(new_var2, 5);

    ZEND_SET_SYMBOL(EG(active_symbol_table), "local_variable", new_var1);
    ZEND_SET_SYMBOL(&EG(symbol_table), "global_variable", new_var2);

    RETURN_NULL();

}
Creating variables with different scopes

Longs (Integers)

Now let's get to the assignment of data to variables, starting with longs. Longs are PHP's integers and are very simple to store. Looking at the zval.value container structure discussed earlier in this chapter, you can see that the long data type is directly contained in the union, namely in the lval field. The corresponding type value for longs is IS_LONG (see Creation of a long.).

Exemple #10 Creation of a long.

zval *new_long;

MAKE_STD_ZVAL(new_long);

new_long-&gt;type = IS_LONG;
new_long-&gt;value.lval = 10;
Alternatively, you can use the macro ZVAL_LONG:
zval *new_long;

MAKE_STD_ZVAL(new_long);
ZVAL_LONG(new_long, 10);

Doubles (Floats)

Doubles are PHP's floats and are as easy to assign as longs, because their value is also contained directly in the union. The member in the zval.value container is dval; the corresponding type is IS_DOUBLE.

zval *new_double;

MAKE_STD_ZVAL(new_double);

new_double-&gt;type = IS_DOUBLE;
new_double-&gt;value.dval = 3.45;
Alternatively, you can use the macro ZVAL_DOUBLE:
zval *new_double;

MAKE_STD_ZVAL(new_double);
ZVAL_DOUBLE(new_double, 3.45);

Strings

Strings need slightly more effort. As mentioned earlier, all strings that will be associated with Zend's internal data structures need to be allocated using Zend's own memory-management functions. Referencing of static strings or strings allocated with standard routines is not allowed. To assign strings, you have to access the structure str in the zval.value container. The corresponding type is IS_STRING:

zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = strlen(string_contents);
new_string-&gt;value.str.val = estrdup(string_contents);
Note the usage of Zend's estrdup() here. Of course, you can also use the predefined macro ZVAL_STRING:
zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);
ZVAL_STRING(new_string, string_contents, 1);
ZVAL_STRING accepts a third parameter that indicates whether the supplied string contents should be duplicated (using estrdup()). Setting this parameter to 1 causes the string to be duplicated; 0 simply uses the supplied pointer for the variable contents. This is most useful if you want to create a new variable referring to a string that's already allocated in Zend internal memory.

If you want to truncate the string at a certain position or you already know its length, you can use ZVAL_STRINGL(zval, string, length, duplicate), which accepts an explicit string length to be set for the new string. This macro is faster than ZVAL_STRING and also binary-safe.

To create empty strings, set the string length to 0 and use empty_string as contents:

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = 0;
new_string-&gt;value.str.val = empty_string;
Of course, there's a macro for this as well (ZVAL_EMPTY_STRING):
MAKE_STD_ZVAL(new_string);
ZVAL_EMPTY_STRING(new_string);

Booleans

Booleans are created just like longs, but have the type IS_BOOL. Allowed values in lval are 0 and 1:

zval *new_bool;

MAKE_STD_ZVAL(new_bool);

new_bool-&gt;type = IS_BOOL;
new_bool-&gt;value.lval = 1;
The corresponding macros for this type are ZVAL_BOOL (allowing specification of the value) as well as ZVAL_TRUE and ZVAL_FALSE (which explicitly set the value to TRUE and FALSE, respectively).

Arrays

Arrays are stored using Zend's internal hash tables, which can be accessed using the zend_hash_*() API. For every array that you want to create, you need a new hash table handle, which will be stored in the ht member of the zval.value container.

There's a whole API solely for the creation of arrays, which is extremely handy. To start a new array, you call array_init().

zval *new_array;

MAKE_STD_ZVAL(new_array);

array_init(new_array);
array_init() always returns SUCCESS.

To add new elements to the array, you can use numerous functions, depending on what you want to do. Zend's API for Associative Arrays, Zend's API for Indexed Arrays, Part 1 and Zend's API for Indexed Arrays, Part 2 describe these functions. All functions return FAILURE on failure and SUCCESS on success.

Zend's API for Associative Arrays
Function | Description
add_assoc_long(zval *array, char *key, long n);() | Adds an element of type long.
add_assoc_unset(zval *array, char *key);() | Adds an unset element.
add_assoc_bool(zval *array, char *key, int b);() | Adds a Boolean element.
add_assoc_resource(zval *array, char *key, int r);() | Adds a resource to the array.
add_assoc_double(zval *array, char *key, double d);() | Adds a floating-point value.
add_assoc_string(zval *array, char *key, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_assoc_stringl(zval *array, char *key, char *str, uint length, int duplicate); () | Adds a string with the desired length length to the array. Otherwise, behaves like add_assoc_string().
add_assoc_zval(zval *array, char *key, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 1
Function | Description
add_index_long(zval *array, uint idx, long n);() | Adds an element of type long.
add_index_unset(zval *array, uint idx);() | Adds an unset element.
add_index_bool(zval *array, uint idx, int b);() | Adds a Boolean element.
add_index_resource(zval *array, uint idx, int r);() | Adds a resource to the array.
add_index_double(zval *array, uint idx, double d);() | Adds a floating-point value.
add_index_string(zval *array, uint idx, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_index_stringl(zval *array, uint idx, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_index_zval(zval *array, uint idx, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...
Zend's API for Indexed Arrays, Part 2
Function | Description
add_next_index_long(zval *array, long n);() | Adds an element of type long.
add_next_index_unset(zval *array);() | Adds an unset element.
add_next_index_bool(zval *array, int b);() | Adds a Boolean element.
add_next_index_resource(zval *array, int r);() | Adds a resource to the array.
add_next_index_double(zval *array, double d);() | Adds a floating-point value.
add_next_index_string(zval *array, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_next_index_stringl(zval *array, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_next_index_zval(zval *array, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

All these functions provide a handy abstraction to Zend's internal hash API. Of course, you can also use the hash functions directly - for example, if you already have a zval container allocated that you want to insert into an array. This is done using zend_hash_update() for associative arrays (see Adding an element to an associative array.) and zend_hash_index_update() for indexed arrays (see Adding an element to an indexed array.):

Exemple #11 Adding an element to an associative array.

zval *new_array, *new_element;
char *key = "element_key";

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_update(new_array-&gt;value.ht, key, strlen(key) + 1, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

Exemple #12 Adding an element to an indexed array.

zval *new_array, *new_element;
int key = 2;

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_index_update(new_array-&gt;value.ht, key, (void *)&new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

To emulate the functionality of add_next_index_*(), you can use this:

zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: To return arrays from a function, use array_init() and all following actions on the predefined variable return_value (given as argument to your exported function; see the earlier discussion of the call interface). You do not have to use MAKE_STD_ZVAL on this.

Tip: To avoid having to write new_array->value.ht every time, you can use HASH_OF(new_array), which is also recommended for compatibility and style reasons.

Objects

Since objects can be converted to arrays (and vice versa), you might have already guessed that they have a lot of similarities to arrays in PHP. Objects are maintained with the same hash functions, but there's a different API for creating them.

To initialize an object, you use the function object_init():

zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}
You can use the functions described in Zend's API for Object Creation to add members to your object.

Zend's API for Object Creation
Function | Description
add_property_long(zval *object, char *key, long l);() | Adds a long to the object.
add_property_unset(zval *object, char *key);() | Adds an unset property to the object.
add_property_bool(zval *object, char *key, int b);() | Adds a Boolean to the object.
add_property_resource(zval *object, char *key, long r);() | Adds a resource to the object.
add_property_double(zval *object, char *key, double d);() | Adds a double to the object.
add_property_string(zval *object, char *key, char *str, int duplicate);() | Adds a string to the object.
add_property_stringl(zval *object, char *key, char *str, uint length, int duplicate);() | Adds a string of the specified length to the object. This function is faster than add_property_string() and also binary-safe.
add_property_zval(zval *obect, char *key, zval *container):() | Adds a zval container to the object. This is useful if you have to add properties which aren't simple types like integers or strings but arrays or other objects.

Resources

Resources are a special kind of data type in PHP. The term resources doesn't really refer to any special kind of data, but to an abstraction method for maintaining any kind of information. Resources are kept in a special resource list within Zend. Each entry in the list has a correspondending type definition that denotes the kind of resource to which it refers. Zend then internally manages all references to this resource. Access to a resource is never possible directly - only via a provided API. As soon as all references to a specific resource are lost, a corresponding shutdown function is called.

For example, resources are used to store database links and file descriptors. The de facto standard implementation can be found in the MySQL module, but other modules such as the Oracle module also make use of resources.

Note: In fact, a resource can be a pointer to anything you need to handle in your functions (e.g. pointer to a structure) and the user only has to pass a single resource variable to your function.

To create a new resource you need to register a resource destruction handler for it. Since you can store any kind of data as a resource, Zend needs to know how to free this resource if its not longer needed. This works by registering your own resource destruction handler to Zend which in turn gets called by Zend whenever your resource can be freed (whether manually or automatically). Registering your resource handler within Zend returns you the resource type handle for that resource. This handle is needed whenever you want to access a resource of this type later and is most of time stored in a global static variable within your extension. There is no need to worry about thread safety here because you only register your resource handler once during module initialization.

The Zend function to register your resource handler is defined as:

ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);

There are two different kinds of resource destruction handlers you can pass to this function: a handler for normal resources and a handler for persistent resources. Persistent resources are for example used for database connection. When registering a resource, either of these handlers must be given. For the other handler just pass NULL.

zend_register_list_destructors_ex() accepts the following parameters:

ld | Normal resource destruction handler callback
pld | Pesistent resource destruction handler callback
type_name | A string specifying the name of your resource. It's always a good thing to specify a unique name within PHP for the resource type so when the user for example calls var_dump($resource); he also gets the name of the resource.
module_number | The module_number is automatically available in your PHP_MINIT_FUNCTION function and therefore you just pass it over.
The return value is a unique integer ID for your resource type.

The resource destruction handler (either normal or persistent resources) has the following prototype:

void resource_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC);
The passed rsrc is a pointer to the following structure:
typedef struct _zend_rsrc_list_entry {

    void *ptr;
    int type;
    int refcount;

} zend_rsrc_list_entry;
The member void *ptr is the actual pointer to your resource.

Now we know how to start things, we define our own resource we want register within Zend. It is only a simple structure with two integer members:

typedef struct {

    int resource_link;
    int resource_type;

} my_resource;
Our resource destruction handler is probably going to look something like this:
void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

    // You most likely cast the void pointer to your structure type

    my_resource *my_rsrc = (my_resource *) rsrc->ptr;

    // Now do whatever needs to be done with you resource. Closing
    // Files, Sockets, freeing additional memory, etc.
    // Also, don't forget to actually free the memory for your resource too!

    do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
}

Note: One important thing to mention: If your resource is a rather complex structure which also contains pointers to memory you allocated during runtime you have to free them before freeing the resource itself!

Now that we have defined

  1. what our resource is and

  2. our resource destruction handler

we can go on and do the rest of the steps:

  1. create a global variable within the extension holding the resource ID so it can be accessed from every function which needs it

  2. define the resource name

  3. write the resource destruction handler

  4. and finally register the handler

// Somewhere in your extension, define the variable for your registered resources.
    // If you wondered what 'le' stands for: it simply means 'list entry'.
    static int le_myresource;

    // It's nice to define your resource name somewhere
    #define le_myresource_name  "My type of resource"

    [...]

    // Now actually define our resource destruction handler
    void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

        my_resource *my_rsrc = (my_resource *) rsrc->ptr;
        do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
    }

    [...]

    PHP_MINIT_FUNCTION(my_extension) {

        // Note that 'module_number' is already provided through the
        // PHP_MINIT_FUNCTION() function definition.

        le_myresource = zend_register_list_destructors_ex(my_destruction_handler, NULL, le_myresource_name, module_number);

        // You can register additional resources, initialize
        // your global vars, constants, whatever.
    }

To actually register a new resource you use can either use the zend_register_resource() function or the ZEND_REGISTER_RESOURE() macro, both defined in zend_list.h. Although the arguments for both map 1:1 it's a good idea to always use macros to be upwards compatible:

int ZEND_REGISTER_RESOURCE(zval *rsrc_result, void *rsrc_pointer, int rsrc_type);
rsrc_result | This is an already initialized zval * container.
rsrc_pointer | Your resource pointer you want to store.
rsrc_type | The type which you received when you registered the resource destruction handler. If you followed the naming scheme this would be le_myresource.
The return value is a unique integer identifier for that resource.

What is really going on when you register a new resource is it gets inserted in an internal list in Zend and the result is just stored in the given zval * container:

rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type);

    if (rsrc_result) {
        rsrc_result->value.lval = rsrc_id;
        rsrc_result->type = IS_RESOURCE;
    }

    return rsrc_id;
The returned rsrc_id uniquely identifies the newly registered resource. You can use the macro RETURN_RESOURE to return it to the user:
    RETURN_RESOURCE(rsrc_id)

Note: It is common practice that if you want to return the resource immediately to the user you specify the return_value as the zval * container.

Zend now keeps track of all references to this resource. As soon as all references to the resource are lost, the destructor that you previously registered for this resource is called. The nice thing about this setup is that you don't have to worry about memory leakages introduced by allocations in your module - just register all memory allocations that your calling script will refer to as resources. As soon as the script decides it doesn't need them anymore, Zend will find out and tell you.

Now that the user got his resource, at some point he is passing it back to one of your functions. The value.lval inside the zval * container contains the key to your resource and thus can be used to fetch the resource with the following macro: ZEND_FETCH_RESOURCE:

ZEND_FETCH_RESOURCE(rsrc, rsrc_type, rsrc_id, default_rsrc_id, resource_type_name, resource_type)
rsrc | This is your pointer which will point to your previously registered resource.
rsrc_type | This is the typecast argument for your pointer, e.g. myresource *.
rsrc_id | This is the address of the zval *container the user passed to your function, e.g. &z_resource if zval *z_resource is given.
default_rsrc_id | This integer specifies the default resource ID if no resource could be fetched or -1.
resource_type_name | This is the name of the requested resource. It's a string and is used when the resource can't be found or is invalid to form a meaningful error message.
resource_type | The resource_type you got back when registering the resource destruction handler. In our example this was le_myresource.
This macro has no return value. It is for the developers convenience and takes care of TSRMLS arguments passing and also does check if the resource could be fetched. It throws a warning message and returns the current PHP function with NULL if there was a problem retrieving the resource.

To force removal of a resource from the list, use the function zend_list_delete(). You can also force the reference count to increase if you know that you're creating another reference for a previously allocated value (for example, if you're automatically reusing a default database link). For this case, use the function zend_list_addref(). To search for previously allocated resource entries, use zend_list_find(). The complete API can be found in zend_list.h.

Macros for Automatic Global Variable Creation

In addition to the macros discussed earlier, a few macros allow easy creation of simple global variables. These are nice to know in case you want to introduce global flags, for example. This is somewhat bad practice, but Table Macros for Global Variable Creation describes macros that do exactly this task. They don't need any zval allocation; you simply have to supply a variable name and value.

Macros for Global Variable Creation
Macro | Description
SET_VAR_STRING(name, value) | Creates a new string.
SET_VAR_STRINGL(name, value, length) | Creates a new string of the specified length. This macro is faster than SET_VAR_STRING and also binary-safe.
SET_VAR_LONG(name, value) | Creates a new long.
SET_VAR_DOUBLE(name, value) | Creates a new double.

Creating Constants

Zend supports the creation of true constants (as opposed to regular variables). Constants are accessed without the typical dollar sign ($) prefix and are available in all scopes. Examples include TRUE and FALSE, to name just two.

To create your own constants, you can use the macros in Macros for Creating Constants. All the macros create a constant with the specified name and value.

You can also specify flags for each constant:

  • CONST_CS - This constant's name is to be treated as case sensitive.

  • CONST_PERSISTENT - This constant is persistent and won't be "forgotten" when the current process carrying this constant shuts down.

To use the flags, combine them using a inary OR:
 // register a new constant of type "long"
     REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
     CONST_PERSISTENT);
There are two types of macros - REGISTER_*_CONSTANT andREGISTER_MAIN_*_CONSTANT. The first type creates constants bound to the current module. These constants are dumped from the symbol table as soon as the module that registered the constant is unloaded from memory. The second type creates constants that remain in the symbol table independently of the module.

Macros for Creating Constants
Macro | Description
REGISTER_LONG_CONSTANT(name, value, flags) REGISTER_MAIN_LONG_CONSTANT(name, value, flags) | Registers a new constant of type long.
REGISTER_DOUBLE_CONSTANT(name, value, flags) REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags) | Registers a new constant of type double.
REGISTER_STRING_CONSTANT(name, value, flags) REGISTER_MAIN_STRING_CONSTANT(name, value, flags) | Registers a new constant of type string. The specified string must reside in Zend's internal memory.
REGISTER_STRINGL_CONSTANT(name, value, length, flags) REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags) | Registers a new constant of type string. The string length is explicitly set to length. The specified string must reside in Zend's internal memory.

Duplicating Variable Contents: The Copy Constructor

Sooner or later, you may need to assign the contents of one zval container to another. This is easier said than done, since the zval container doesn't contain only type information, but also references to places in Zend's internal data. For example, depending on their size, arrays and objects may be nested with lots of hash table entries. By assigning one zval to another, you avoid duplicating the hash table entries, using only a reference to them (at most).

To copy this complex kind of data, use the copy constructor. Copy constructors are typically defined in languages that support operator overloading, with the express purpose of copying complex types. If you define an object in such a language, you have the possibility of overloading the "=" operator, which is usually responsible for assigning the contents of the rvalue (result of the evaluation of the right side of the operator) to the lvalue (same for the left side).

Overloading means assigning a different meaning to this operator, and is usually used to assign a function call to an operator. Whenever this operator would be used on such an object in a program, this function would be called with the lvalue and rvalue as parameters. Equipped with that information, it can perform the operation it intends the "=" operator to have (usually an extended form of copying).

This same form of "extended copying" is also necessary for PHP's zval containers. Again, in the case of an array, this extended copying would imply re-creation of all hash table entries relating to this array. For strings, proper memory allocation would have to be assured, and so on.

Zend ships with such a function, called zend_copy_ctor() (the previous PHP equivalent was pval_copy_constructor()).

A most useful demonstration is a function that accepts a complex type as argument, modifies it, and then returns the argument:

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
   return;
}

// do modifications to the parameter here

// now we want to return the modified container:
*return_value = *parameter;
zval_copy_ctor(return_value);

The first part of the function is plain-vanilla argument retrieval. After the (left out) modifications, however, it gets interesting: The container of parameter is assigned to the (predefined) return_value container. Now, in order to effectively duplicate its contents, the copy constructor is called. The copy constructor works directly with the supplied argument, and the standard return values are FAILURE on failure and SUCCESS on success.

If you omit the call to the copy constructor in this example, both parameter and return_value would point to the same internal data, meaning that return_value would be an illegal additional reference to the same data structures. Whenever changes occurred in the data that parameter points to, return_value might be affected. Thus, in order to create separate copies, the copy constructor must be used.

The copy constructor's counterpart in the Zend API, the destructor zval_dtor(), does the opposite of the constructor.

Returning Values

Returning values from your functions to PHP was described briefly in an earlier section; this section gives the details. Return values are passed via the return_value variable, which is passed to your functions as argument. The return_value argument consists of a zval container (see the earlier discussion of the call interface) that you can freely modify. The container itself is already allocated, so you don't have to run MAKE_STD_ZVAL on it. Instead, you can access its members directly.

To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in Predefined Macros for Returning Values from a Function and Predefined Macros for Setting the Return Value of a Function.

Note: The macros in Predefined Macros for Returning Values from a Function automatically return from your function, those in Predefined Macros for Setting the Return Value of a Function only set the return value; they don't return from your function.

Predefined Macros for Returning Values from a Function
Macro | Description
RETURN_RESOURCE(resource) | Returns a resource.
RETURN_BOOL(bool) | Returns a Boolean.
RETURN_NULL() | Returns nothing (a NULL value).
RETURN_LONG(long) | Returns a long.
RETURN_DOUBLE(double) | Returns a double.
RETURN_STRING(string, duplicate) | Returns a string. The duplicate flag indicates whether the string should be duplicated using estrdup().
RETURN_STRINGL(string, length, duplicate) | Returns a string of the specified length; otherwise, behaves like RETURN_STRING. This macro is faster and binary-safe, however.
RETURN_EMPTY_STRING() | Returns an empty string.
RETURN_FALSE | Returns Boolean false.
RETURN_TRUE | Returns Boolean true.
Predefined Macros for Setting the Return Value of a Function
Macro | Description
RETVAL_RESOURCE(resource) | Sets the return value to the specified resource.
RETVAL_BOOL(bool) | Sets the return value to the specified Boolean value.
RETVAL_NULL | Sets the return value to NULL.
RETVAL_LONG(long) | Sets the return value to the specified long.
RETVAL_DOUBLE(double) | Sets the return value to the specified double.
RETVAL_STRING(string, duplicate) | Sets the return value to the specified string and duplicates it to Zend internal memory if desired (see also RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) | Sets the return value to the specified string and forces the length to become length (see also RETVAL_STRING). This macro is faster and binary-safe, and should be used whenever the string length is known.
RETVAL_EMPTY_STRING | Sets the return value to an empty string.
RETVAL_FALSE | Sets the return value to Boolean false.
RETVAL_TRUE | Sets the return value to Boolean true.

Complex types such as arrays and objects can be returned by using array_init() and object_init(), as well as the corresponding hash functions on return_value. Since these types cannot be constructed of trivial information, there are no predefined macros for them.

Printing Information

Often it's necessary to print messages to the output stream from your module, just as print() would be used within a script. PHP offers functions for most generic tasks, such as printing warning messages, generating output for phpinfo(), and so on. The following sections provide more details. Examples of these functions can be found on the CD-ROM.

zend_printf()

zend_printf() works like the standard printf(), except that it prints to Zend's output stream.

zend_error()

zend_error() can be used to generate error messages. This function accepts two arguments; the first is the error type (see zend_errors.h), and the second is the error message.

zend_error(E_WARNING, "This function has been called with empty arguments");
Zend's Predefined Error Messages. shows a list of possible values (see below). These values are also referred to in php.ini. Depending on which error type you choose, your messages will be logged.
Zend's Predefined Error Messages.
Error | Description
E_ERROR | Signals an error and terminates execution of the script immediately.
E_WARNING | Signals a generic warning. Execution continues.
E_PARSE | Signals a parser error. Execution continues.
E_NOTICE | Signals a notice. Execution continues. Note that by default the display of this type of error messages is turned off in php.ini.
E_CORE_ERROR | Internal error by the core; shouldn't be used by user-written modules.
E_COMPILE_ERROR | Internal error by the compiler; shouldn't be used by user-written modules.
E_COMPILE_WARNING | Internal warning by the compiler; shouldn't be used by user-written modules.
Display of warning messages in the browser.

Including Output in phpinfo()

After creating a real module, you'll want to show information about the module in phpinfo() (in addition to the module name, which appears in the module list by default). PHP allows you to create your own section in the phpinfo() output with the ZEND_MINFO() function. This function should be placed in the module descriptor block (discussed earlier) and is always called whenever a script calls phpinfo().

PHP automatically prints a section in phpinfo() for you if you specify the ZEND_MINFO function, including the module name in the heading. Everything else must be formatted and printed by you.

Typically, you can print an HTML table header using php_info_print_table_start() and then use the standard functions php_info_print_table_header() and php_info_print_table_row(). As arguments, both take the number of columns (as integers) and the column contents (as strings). Source code and screenshot for output in phpinfo. shows a source example and its output. To print the table footer, use php_info_print_table_end().

Exemple #13 Source code and screenshot for output in phpinfo().

php_info_print_table_start();
php_info_print_table_header(2, "First column", "Second column");
php_info_print_table_row(2, "Entry in first row", "Another entry");
php_info_print_table_row(2, "Just to fill", "another row here");
php_info_print_table_end();
Output of phpinfo()

Execution Information

You can also print execution information, such as the current file being executed. The name of the function currently being executed can be retrieved using the function get_active_function_name(). This function returns a pointer to the function name and doesn't accept any arguments. To retrieve the name of the file currently being executed, use zend_get_executed_filename(). This function accesses the executor globals, which are passed to it using the TSRMLS_C macro. The executor globals are automatically available to every function that's called directly by Zend (they're part of the INTERNAL_FUNCTION_PARAMETERS described earlier in this chapter). If you want to access the executor globals in another function that doesn't have them available automatically, call the macro TSRMLS_FETCH() once in that function; this will introduce them to your local scope.

Finally, the line number currently being executed can be retrieved using the function zend_get_executed_lineno(). This function also requires the executor globals as arguments. For examples of these functions, see Printing execution information..

Exemple #14 Printing execution information.

zend_printf("The name of the current function is %s&lt;br&gt;", get_active_function_name(TSRMLS_C));
zend_printf("The file currently executed is %s&lt;br&gt;", zend_get_executed_filename(TSRMLS_C));
zend_printf("The current line being executed is %i&lt;br&gt;", zend_get_executed_lineno(TSRMLS_C));
Printing execution information

Startup and Shutdown Functions

Startup and shutdown functions can be used for one-time initialization and deinitialization of your modules. As discussed earlier in this chapter (see the description of the Zend module descriptor block), there are module, and request startup and shutdown events.

The module startup and shutdown functions are called whenever a module is loaded and needs initialization; the request startup and shutdown functions are called every time a request is processed (meaning that a file is being executed).

For dynamic extensions, module and request startup/shutdown events happen at the same time.

Declaration and implementation of these functions can be done with macros; see the earlier section "Declaration of the Zend Module Block" for details.

Calling User Functions

You can call user functions from your own modules, which is very handy when implementing callbacks; for example, for array walking, searching, or simply for event-based programs.

User functions can be called with the function call_user_function_ex(). It requires a hash value for the function table you want to access, a pointer to an object (if you want to call a method), the function name, return value, number of arguments, argument array, and a flag indicating whether you want to perform zval separation.

ZEND_API int call_user_function_ex(HashTable *function_table, zval *object,
zval *function_name, zval **retval_ptr_ptr,
int param_count, zval **params[],
int no_separation);

Note that you don't have to specify both function_table and object; either will do. If you want to call a method, you have to supply the object that contains this method, in which case call_user_function()automatically sets the function table to this object's function table. Otherwise, you only need to specify function_table and can set object to NULL.

Usually, the default function table is the "root" function table containing all function entries. This function table is part of the compiler globals and can be accessed using the macro CG. To introduce the compiler globals to your function, call the macro TSRMLS_FETCH once.

The function name is specified in a zval container. This might be a bit surprising at first, but is quite a logical step, since most of the time you'll accept function names as parameters from calling functions within your script, which in turn are contained in zval containers again. Thus, you only have to pass your arguments through to this function. This zval must be of type IS_STRING.

The next argument consists of a pointer to the return value. You don't have to allocate memory for this container; the function will do so by itself. However, you have to destroy this container (using zval_dtor()) afterward!

Next is the parameter count as integer and an array containing all necessary parameters. The last argument specifies whether the function should perform zval separation - this should always be set to 0. If set to 1, the function consumes less memory but fails if any of the parameters need separation.

Calling user functions. shows a small demonstration of calling a user function. The code calls a function that's supplied to it as argument and directly passes this function's return value through as its own return value. Note the use of the constructor and destructor calls at the end - it might not be necessary to do it this way here (since they should be separate values, the assignment might be safe), but this is bulletproof.

Exemple #15 Calling user functions.

zval **function_name;
zval *retval;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &function_name) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

if((*function_name)->type != IS_STRING)
{
    zend_error(E_ERROR, "Function requires string argument");
}

TSRMSLS_FETCH();

if(call_user_function_ex(CG(function_table), NULL, *function_name, &retval, 0, NULL, 0) != SUCCESS)
{
    zend_error(E_ERROR, "Function call failed");
}

zend_printf("We have %i as type\n", retval->type);

*return_value = *retval;
zval_copy_ctor(return_value);
zval_ptr_dtor(&retval);

<?php

dl("call_userland.so");

function test_function()
{
    echo "We are in the test function!\n";
    return 'hello';
}

$return_value = call_userland("test_function");

echo "Return value: '$return_value'";
?>

L'exemple ci-dessus va afficher :

We are in the test function!
We have 3 as type
Return value: 'hello'

Initialization File Support

PHP 4 features a redesigned initialization file support. It's now possible to specify default initialization entries directly in your code, read and change these values at runtime, and create message handlers for change notifications.

To create an .ini section in your own module, use the macros PHP_INI_BEGIN() to mark the beginning of such a section and PHP_INI_END() to mark its end. In between you can use PHP_INI_ENTRY() to create entries.

PHP_INI_BEGIN()
PHP_INI_ENTRY("first_ini_entry",  "has_string_value", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("second_ini_entry", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("third_ini_entry",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
The PHP_INI_ENTRY() macro accepts four parameters: the entry name, the entry value, its change permissions, and a pointer to a change-notification handler. Both entry name and value must be specified as strings, regardless of whether they really are strings or integers.

The permissions are grouped into three sections:PHP_INI_SYSTEM allows a change only directly in the php.ini file; PHP_INI_USER allows a change to be overridden by a user at runtime using additional configuration files, such as .htaccess; and PHP_INI_ALL allows changes to be made without restrictions. There's also a fourth level, PHP_INI_PERDIR, for which we couldn't verify its behavior yet.

The fourth parameter consists of a pointer to a change-notification handler. Whenever one of these initialization entries is changed, this handler is called. Such a handler can be declared using the PHP_INI_MH macro:

PHP_INI_MH(OnChangeSecond);             // handler for ini-entry "second_ini_entry"

// specify ini-entries here

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message caught, our ini entry has been changed to %s&lt;br&gt;", new_value);

    return(SUCCESS);

}
The new value is given to the change handler as string in the variable new_value. When looking at the definition of PHP_INI_MH, you actually have a few parameters to use:
#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
All these definitions can be found in php_ini.h. Your message handler will have access to a structure that contains the full entry, the new value, its length, and three optional arguments. These optional arguments can be specified with the additional macros PHP_INI_ENTRY1 (allowing one additional argument), PHP_INI_ENTRY2 (allowing two additional arguments), and PHP_INI_ENTRY3 (allowing three additional arguments).

The change-notification handlers should be used to cache initialization entries locally for faster access or to perform certain tasks that are required if a value changes. For example, if a constant connection to a certain host is required by a module and someone changes the hostname, automatically terminate the old connection and attempt a new one.

Access to initialization entries can also be handled with the macros shown in Macros to Access Initialization Entries in PHP.

Macros to Access Initialization Entries in PHP
Macro | Description
INI_INT(name) | Returns the current value of entry name as integer (long).
INI_FLT(name) | Returns the current value of entry name as float (double).
INI_STR(name) | Returns the current value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_BOOL(name) | Returns the current value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).
INI_ORIG_INT(name) | Returns the original value of entry name as integer (long).
INI_ORIG_FLT(name) | Returns the original value of entry name as float (double).
INI_ORIG_STR(name) | Returns the original value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_ORIG_BOOL(name) | Returns the original value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).

Finally, you have to introduce your initialization entries to PHP. This can be done in the module startup and shutdown functions, using the macros REGISTER_INI_ENTRIES() and UNREGISTER_INI_ENTRIES():

ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Where to Go from Here

You've learned a lot about PHP. You now know how to create dynamic loadable modules and statically linked extensions. You've learned how PHP and Zend deal with internal storage of variables and how you can create and access these variables. You know quite a set of tool functions that do a lot of routine tasks such as printing informational texts, automatically introducing variables to the symbol table, and so on.

Even though this chapter often had a mostly "referential" character, we hope that it gave you insight on how to start writing your own extensions. For the sake of space, we had to leave out a lot; we suggest that you take the time to study the header files and some modules (especially the ones in the ext/standard directory and the MySQL module, as these implement commonly known functionality). This will give you an idea of how other people have used the API functions - particularly those that didn't make it into this chapter.

Reference: Some Configuration Macros

config.m4

The file config.m4 is processed by buildconf and must contain all the instructions to be executed during configuration. For example, these can include tests for required external files, such as header files, libraries, and so on. PHP defines a set of macros that can be used in this process, the most useful of which are described in M4 Macros for config.m4.

M4 Macros for config.m4
Macro | Description
AC_MSG_CHECKING(message) | Prints a "checking <message>" text during configure.
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING; should specify either yes or no as value.
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script.
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module).
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files.
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link.
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with-<modulename> is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes), in which case the value of the option is contained in the variable $withval. Otherwise, it executes conditionaltest.
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_<modulename>.

API Macros

A set of macros was introduced into Zend's API that simplify access to zval containers (see API Macros for Accessing zval Containers).

API Macros for Accessing zval Containers
Macro | Refers to
Z_LVAL(zval) | (zval).value.lval
Z_DVAL(zval) | (zval).value.dval
Z_STRVAL(zval) | (zval).value.str.val
Z_STRLEN(zval) | (zval).value.str.len
Z_ARRVAL(zval) | (zval).value.ht
Z_LVAL_P(zval) | (*zval).value.lval
Z_DVAL_P(zval) | (*zval).value.dval
Z_STRVAL_P(zval_p) | (*zval).value.str.val
Z_STRLEN_P(zval_p) | (*zval).value.str.len
Z_ARRVAL_P(zval_p) | (*zval).value.ht
Z_LVAL_PP(zval_pp) | (**zval).value.lval
Z_DVAL_PP(zval_pp) | (**zval).value.dval
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht
Streams API for PHP Extension Authors
TSRM API
Zend Engine 1


TSRM API

API Zend : Modification du coeur de PHP
The future: PHP 6 and Zend Engine 3
Zend Engine 1


The future: PHP 6 and Zend Engine 3

TSRM API
FAQ
PHP at the Core: A Hacker's Guide to the Zend Engine


FAQ : foire Aux Questions

  • Informations générales
  • Listes de diffusion — Listes de diffusions
  • Obtenir PHP
  • Considérations sur les bases de données
  • Installation
  • Problèmes de compilation
  • Utiliser PHP
  • PHP et HTML
  • PHP et COM
  • PHP et les autres langages
  • Migrer de PHP 4 à PHP 5 — Migration de PHP 4 à PHP 5
  • Questions diverses
The future: PHP 6 and Zend Engine 3
Informations générales
Manuel PHP


Informations générales

Cette section présente les questions les plus fréquentes à propos de PHP : ce qu'est PHP et ce qu'il fait.

  1. Qu'est-ce que PHP ?
  2. Que représente l'acronyme PHP ?
  3. Quelle est la relation entre les versions ?
  4. Puis-je utiliser plusieurs versions de PHP en même temps ?
  5. Quel est la différence entre PHP 4 et PHP 5?
  6. Je pense avoir trouvé un bogue ! Qui dois-je contacter ?
Qu'est-ce que PHP ?

Depuis la préface de ce manuel :

PHP est un langage de script HTML, exécuté coté serveur. Sa syntaxe est empruntée aux langages C, Java et Perl, et est facile à apprendre. Le but de ce langage est de permettre aux développeurs web d'écrire des pages dynamiques rapidement, mais vous pouvez faire beaucoup plus avec PHP.

Que représente l'acronyme PHP ?

PHP signifie PHP: Hypertext Preprocessor. La confusion vient du fait que la première lettre de l'acronyme représente l'acronyme lui-même. Ce type d'acronyme est appelé un acronyme récursif. Pour plus d'informations, les plus curieux peuvent visiter "» Free On-Line Dictionary of Computing" ou l'» entrée Wikipedia sur les acronymes récursifs.

Quelle est la relation entre les versions ?

PHP/FI 2.0 est une des premières versions de PHP et elle n'est plus supportée. PHP 3 en est son successeur et est beaucoup plus convivial. PHP 4 est la génération actuelle de PHP, qui utilise le » moteur Zend 2 qui apporte, entre autres, beaucoup de nouveautés dans le modèle objet.

Puis-je utiliser plusieurs versions de PHP en même temps ?

Oui. Voir le fichier INSTALL inclus dans les sources de PHP.

Quel est la différence entre PHP 4 et PHP 5?

Bien que PHP 5 a été conçu pour être le plus compatible possible avec les précédentes versions, il contient d'importantes modifications, qui incluent :

  • Un nouveau model objet basé sur le moteur Zend 2.0
  • Une nouvelle extension améliorant le support de MySQL
  • Un support interne de SQLite
  • Une nouvelle constante, E_STRICT, proposant des suggestions au moment de l'exécution
  • Une panoplie de nouvelles fonctions permettant de simplifier le code (et réduire la nécessité d'écrire vos propres fonctions pour des procédures courantes)
Pour plus d'informations détaillées, reportez-vous à la section sur la migration de PHP 4 à PHP 5 ainsi que la section sur les modifications incompatibles avec les versions précédentes.

Je pense avoir trouvé un bogue ! Qui dois-je contacter ?

Vous devriez aller sur la base de données de bogues PHP afin de vous assurer qu'il n'est pas déjà connu. Si vous ne le trouvez pas, utilisez le formulaire de rapport de bogues pour le faire connaître. Il est important d'utiliser la base de données de bogues au lieu d'envoyer simplement un courriel à une des listes de diffusion car le bogue se verra assigner un numéro qui vous sera utile pour suivre son évolution. La base de données de bogues peut être trouvée à » http://bugs.php.net/.

FAQ
Listes de diffusion
FAQ


Listes de diffusions

Cette section traite des questions à propos de la communication avec la communauté PHP. Le meilleur moyen est l'utilisation des listes de diffusion.

  1. Existe-t-il des listes de diffusion PHP ?
  2. Y a-t-il d'autres communautés ?
  3. Puis-je mettre en place ma propre liste de diffusion PHP ?
  4. Aidez-moi ! Je ne peux visiblement pas m'inscrire à une / me désinscrire d'une des listes de diffusion !
  5. Y a-t-il une archive des listes de diffusion quelque part ?
  6. Que puis-je demander sur les listes de diffusion ?
  7. Quelle information devrais-je inclure lors de l'écriture de mon message à la liste de diffusion ?
Existe-t-il des listes de diffusion PHP ?

Bien sûr ! Il y a beaucoup de listes de diffusion traitant de beaucoup de sujets. Une liste des listes de diffusion les plus communes peut être trouvée sur cette » page.

La liste de diffusion la plus générale est la liste php-general. Pour s'y inscrire, envoyez un courriel vide à » php-general-subscribe@lists.php.net. Pour se déinscrire, envoyez un courriel vide à » php-general-unsubscribe@lists.php.net.

Vous pouvez également vous inscrire et vous désinscrire en utilisant l'interface web sur cette » page; les instructions pour se désinscrire sont également présentes en bas de chaque courriel de la liste.

Y a-t-il d'autres communautés ?

Il y a énormément de communautés PHP à travers le monde, et nous avons une liste de la plupart des ressources (ainsi que des informations pour en connaître d'autres) sur notre page de » support.

Puis-je mettre en place ma propre liste de diffusion PHP ?

Absolument ! En fait, nous ne faisons pas que l'autoriser, mais nous l'encourageons ! Le fait d'aider les autres en partageant ses compétences et son expérience de PHP aide dans le développement de la communauté PHP mais aussi dans le language en tant que tel.

Aidez-moi ! Je ne peux visiblement pas m'inscrire à une / me désinscrire d'une des listes de diffusion !

Si vous avez des problèmes pour l'inscription/la désinscription depuis la liste de diffusion php-general, cela peut être dû au fait que le logiciel de listes de diffusion n'arrive pas à traiter correctement la liste de diffusion à utiliser. Si votre adresse e-mail est joeblow@example.com, vous pouvez envoyer une requête d'inscription à php-general-subscribe-joeblow=example.com@lists.php.net, ou une requête de désinscription à php-general-unsubscribe-joeblow=example.com@lists.php.net. Utilisez la même méthode avec les autres listes de diffusion.

La plupart du temps, lorsque les utilisateurs rencontrent des problèmes pour se désinscrire d'une liste de diffusion PHP, c'est à cause des courriels redirigés. Par exemple, si votre adresse est danbrown@example.com, mais que vous vous êtes inscrit en utilisant la redirection php-lists@example.com et ensuite, vous redirigez la liste vers danbrown@example.com, le fait de tenter de se désinscrire en utilisant danbrown@example.com ne fonctionnera pas. À la place, vous devez vous désinscrire en utilisant l'adresse recevant les courriels de la liste - dans notre exemple, php-lists@example.com.

Y a-t-il une archive des listes de diffusion quelque part ?

Oui, vous pouvez trouver la liste des sites proposant des archives sur la page des » listes de diffusion. Vous pouvez également trouver plusieurs sites qui archivent ou publient le contenu de nos listes de diffusion en utilisant votre moteur de recherche Internet préféré, en cherchant, par exemple, la chaîne "php mailing list archives".

Tous les messages de nos listes de diffusion sont également archivés dans des newsgroup. Vous pouvez accéder à ces serveurs sur » news://news.php.net/ avec un client adapté. Il y a également une interface web expérimentale pour ces serveurs à l'adresse » http://news.php.net/

Que puis-je demander sur les listes de diffusion ?

PHP devient de plus en plus populaire chaque jour, augmentant ainsi le trafic sur la liste de diffusion php-general qui accueille de 75 à 200 messages chaque jour. Aussi, c'est dans l'intérêt de tous que d'utiliser la liste de diffusion en dernier ressort, lorsque vous avez déjà épuisé toutes les autres voies.

Avant de poster sur cette liste, merci de lire la FAQ (Foire Aux Questions) afin de voir si vous n'y trouvez pas de l'aide. S'il n'y a rien concernant votre problème, essayez dans les archives de la liste de diffusion (voir précédemment). Si vous avez des problèmes pour l'installation ou la configuration de PHP, lisez toute la documentation s'y rapportant, ainsi que les fichiers README. Si vous ne trouvez toujours pas de réponse à votre problème, vous êtes le bienvenu sur la liste de diffusion.

Afin d'avoir la meilleure réponse à votre question (et pour éviter d'agacer les développeurs), assurez-vous de poser votre question sur la liste de diffusion appropriée. Par exemple, si vous avez des difficultés à installer PHP, vous devez poser votre question sur la liste de diffusion php-install. Attention : certaines listes ont des noms similaires, mais des usages totalement différents ; une question vis à vis des scripts PHP sous Windows doit être dirigée vers la liste des utilisateurs PHP sous Windows, et non vers la liste interne Windows.

Avant de poser une question, vous devriez lire l'article intitulé "» Comment poser une question de la meilleur façon" ; c'est une bonne idée, pour tout le monde.

Quelle information devrais-je inclure lors de l'écriture de mon message à la liste de diffusion ?

Les messages comme "Je n'arrive pas à faire fonctionner PHP !! Aidez-moi !! Qu'est-ce qu'il ne va pas ??" sont totalement inutiles, pour tous. Si vous avez des problèmes pour faire fonctionner PHP, vous devez inclure le système sur lequel le problème survient, quelle version de PHP vous tentez de faire fonctionner, sous quelle forme vous l'avez installée (précompilé, SVN, RPMs, etc.), qu'est-ce que vous avez fait pour le moment, l'endroit où vous êtes coincé et quel est le message d'erreur.

Cela est valable pour n'importe quel type de problème. Vous devez inclure les informations sur ce que vous avez fait, où vous êtes coincé, ce que vous cherché à faire et, si possible, le message d'erreur obtenu. Si vous avez un problème avec votre code source, vous devez également inclure la portion de code qui ne fonctionne pas. N'incluez que le code nécessaire à la compréhension du problème ! Si vous incluez tout le code, votre message sera difficile à lire et, à cause de cela, beaucoup de personnes passeront sans même le lire. Si vous n'êtes pas sûr sur la quantité d'informations à inclure à votre message, il est préférable d'en mettre trop que pas assez et préparez-vous à fournir d'autres informations.

Un autre point important à ne pas oublier est de résumer votre problème dans l'objet du message. Un objet qui ressemble à "Aidez-moi !!!!" ou "Quel est le souci ici ?" sera ignoré par la majorité des lecteurs.

Et pour finir, vous êtes encouragé à lire l'article sur "» Comment poser une question de la meilleur façon", ce qui sera une aide énorme pour tous, et tout spécialement pour vous.

Informations générales
Obtenir PHP
FAQ


Obtenir PHP

Cette section traite du téléchargement de PHP et les problèmes liés aux systèmes d'exploitation.

  1. Où puis-je obtenir PHP ?
  2. Est-ce que les versions binaires pré-compilées sont disponibles ?
  3. Où puis-je obtenir les bibliothèques dont j'ai besoin pour compiler les extensions optionnelles de PHP ?
  4. Comment faire fonctionner ces bibliothèques ?
  5. J'ai la dernière version du code source de PHP, téléchargée à partir de SVN. De quoi ai-je besoin pour le compiler sous Windows ?
  6. Où puis-je trouver le fichier Browser Capabilities ?
Où puis-je obtenir PHP ?

Vous pouvez télécharger PHP à partir d'un des membres du réseau de sites PHP. Vous pouvez les trouver sur » http://www.php.net/. Vous pouvez aussi utiliser SVN pour obtenir la toute dernière version des sources. Pour plus d'informations, allez sur » http://php.net/svn.php.

Est-ce que les versions binaires pré-compilées sont disponibles ?

Nous ne les distribuons que pour le système Windows, car nous ne pouvons compiler PHP pour chaque plate-forme Linux/Unix avec toutes les combinaisons d'extensions. Notez aussi que plusieurs distributions Linux fournissent PHP d'office de nos jours. Les binaires Windows peuvent être téléchargés à partir de notre page de » Téléchargement, pour les binaires Linux, visitez le site de votre distribution.

Où puis-je obtenir les bibliothèques dont j'ai besoin pour compiler les extensions optionnelles de PHP ?

Note: Celles marquées avec un * ne sont pas des bibliothèques thread-safe, et ne doivent pas être utilisées avec PHP en module de serveur dans les serveurs web Windows multi-threadés (IIS, Netscape). Cela n'est pas applicable pour les environnements Unix, pour le moment.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Mozilla Directory (LDAP) SDK
  • » free LDAP server.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD* (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Disponible localement.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

Comment faire fonctionner ces bibliothèques ?

Vous devrez suivre les instructions fournies avec les bibliothèques. Quelques une d'entre elles sont détectées automatiquement lorsque vous exécutez le script 'configure' de PHP (comme la bibliothèque GD), pour les autres, vous devrez les activer en utilisant l'option '--with-EXTENSION' de 'configure'. Exécutez 'configure --help' pour en avoir la liste complète.

J'ai la dernière version du code source de PHP, téléchargée à partir de SVN. De quoi ai-je besoin pour le compiler sous Windows ?

Voyez la section du manuel à propos parlant de la compilation de PHP à partir des sources sur Windows.

Où puis-je trouver le fichier Browser Capabilities ?

Vous pouvez trouver un fichier browscap.ini sur » http://browsers.garykeith.com/downloads.asp.

Listes de diffusion
Considérations sur les bases de données
FAQ


Considérations sur les bases de données

Cette section traite de questions relatives aux relations entre PHP et les bases de données. Oui, PHP peut accéder virtuellement à n'importe quelle base de données disponible aujourd'hui.

  1. J'ai entendu dire qu'il était possible d'accéder à Microsoft SQL Server à partir de PHP. Comment est-ce possible ?
  2. Puis-je accéder à des bases Microsoft Access ?
  3. PHP 5 n'inclut plus les bibliothèques clientes MySQL, qu'est ce que ça implique pour moi ? Puis-je toujours utiliser MySQL avec PHP ? J'essaie d'utiliser MySQL, mais j'obtiens des erreurs "undefined function".
  4. Après avoir ajouté le support partagé de MySQL, Apache plante dès que libphp4.so est chargé. Comment résoudre ce problème ?
  5. Pourquoi est ce que j'obtiens une erreur comme celle-ci : "Warning: 0 is not a MySQL result index in <file> on line <x>" ou "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>" ?
J'ai entendu dire qu'il était possible d'accéder à Microsoft SQL Server à partir de PHP. Comment est-ce possible ?

Sur une machine Windows, vous pouvez tout simplement utiliser le support ODBC inclus avec le pilote ODBC adéquat.

Sur des machines Unix, vous pouvez utiliser le pilote Sybase-CT pour accéder à Microsoft SQL Server car il est (en grande partie) compatible. Sybase a fourni une » version libre des bibliothèques nécessaires pour Linux. Pour les autres systèmes Unix, vous devez contacter Sybase pour obtenir les bibliothèques adéquates. Jetez aussi un oeil à la réponse à la question suivante.

Puis-je accéder à des bases Microsoft Access ?

Oui. Vous avez déjà tous les outils nécessaires si vous utilisez uniquement Windows 9x/Me, ou NT/2000, et que vous utilisez ODBC avec les pilotes ODBC pour Microsoft Access.

Si vous utilisez PHP sur une machine Unix et que vous voulez vous connecter à une base Access sur une machine Windows, vous aurez besoin des pilotes ODBC Unix. » OpenLink Software fournit des pilotes ODBC pour Unix qui peuvent le faire.

Une autre solution consiste à utiliser un serveur SQL qui a des pilotes ODBC Windows et l'utiliser pour stocker les données, que vous pouvez utiliser à partir de Microsoft Access (en utilisant ODBC) et PHP (en utilisant les pilotes inclus), ou bien utiliser un format de fichier intermédiaire que Access et PHP peuvent traiter tous les deux, comme des fichier bruts ou des bases de données dBase. À ce sujet, Tim Hayes de Openlink software écrit :

Utiliser une autre base de données comme intermédiaire n'est pas une bonne idée lorsque vous pouvez utiliser ODBC de PHP directement vers vos bases de données - par exemple avec les pilotes Openlink. Si vous avez besoin d'un format de fichier intermédiaire, Openlink a publié Virtuoso (un moteur de base de données virtuel) pour NT, Linux et d'autres plates-formes Unix. Visitez notre » site pour un téléchargement gratuit.

Une solution qui a fait ses preuves est d'utiliser MySQL et ses pilotes ODBC sous Windows et de synchroniser les bases de données. Steve Lawrence écrit :

  • Installez MySQL sur votre plate-forme conformément aux instructions de MySQL. Vous pouvez l'obtenir sur » http://www.mysql.com/. Aucune configuration particulière n'est nécessaire, mis à part que lorsque vous configurez une base de données et un compte utilisateur, il faille spécifier % dans le champ host, ou bien le nom de la machine Windows avec laquelle vous voulez accéder à MySQL. Notez bien votre nom de serveur, d'utilisateur et votre mot de passe.
  • Téléchargez les pilotes MyODBC pour Windows à partir du site de MySQL. Installez les sur votre machine Windows. Vous pouvez tester votre installation avec les utilitaires fournis avec les pilotes.
  • Créez un utilisateur ou une source de données système dans votre administration ODBC, dans le panneau de configuration. Donnez un nom de source de données dsn, entrez votre nom d'hôte, identifiant, mot de passe, port, etc. pour la base de données configurée à l'étape 1.
  • Installez Access avec une installation complète pour être sûr d'avoir tous les composants nécessaires... Vous aurez besoin d'au moins le support ODBC et le gestionnaire de tables liées.
  • Maintenant, la partie amusante ! Créez un accès à une base de données. Dans la fenêtre de la table, cliquez droit et sélectionner Lier les Tables, ou, dans le menu Fichier, sélectionnez Obtenir des données externes et alors Lier les Tables. Quand la fenêtre de gestion de fichiers apparaît, sélectionnez les fichiers de type : ODBC. Sélectionnez dsn Système et le nom de votre dsn créée à l'étape 3. Sélectionnez la table à lier, cliquez sur OK, et voilà ! Vous pouvez maintenant ouvrir la table et ajouter/supprimer/éditer des données sur votre serveur MySQL ! Vous pouvez ainsi exécuter des requêtes, importer/exporter des tables vers MySQL, construire des formulaires et des rapports, etc.

Trucs et astuces :

  • Vous pouvez construire vos tables dans Access et les exporter dans MySQL, puis les lier de nouveau. Cela rend la création de table très rapide.
  • Lorsque vous créez des tables dans Access, vous devez avoir une clé primaire définie pour avoir accès en écriture à la table. Assurez-vous que vous avez bien créé une clé primaire dans MySQL avant de lier le tout à Access.
  • Si vous changez une table dans MySQL, vous devez la lier de nouveau à Access. Allez dans Outils>suppléments>gestionnaire de tables liées, cherchez votre DSN ODBC, et sélectionnez la table à lier de nouveau. Vous pouvez aussi changer votre source dsn à partir de là, en cliquant sur l'option toujours demander pour un nouvel emplacement avant de presser OK.

PHP 5 n'inclut plus les bibliothèques clientes MySQL, qu'est ce que ça implique pour moi ? Puis-je toujours utiliser MySQL avec PHP ? J'essaie d'utiliser MySQL, mais j'obtiens des erreurs "undefined function".

Oui. PHP supportera toujours MySQL, d'une façon ou d'une autre. Le seul changement avec PHP 5 est que nous ne compilons plus la bibliothèque cliente en elle-même. En voici en vrac quelques justifications :

  • La plupart des systèmes incluent maintenant les bibliothèques clientes.

  • Ainsi, avoir plusieurs versions des bibliothèques peut être gênant. Par exemple, si vous liez mod_auth_mysql à une version et PHP à une autre, et que vous les activez tous les deux dans Apache, vous obtenez un joli plantage. Ainsi, la bibliothèque cliente incluse avec PHP ne fonctionnait pas toujours bien. Le symptôme le plus gênant était que le chemin vers le socket Unix mysql.sock n'était pas le bon.

  • La maintenance en était lourde et le devenait de plus en plus au fur et à mesure des versions.

  • Les versions futures de la bibliothèque seront publiées sous licence GPL et nous ne pouvons pas inclure une telle bibliothèque car sa licence n'est pas compatible avec un projet sous licence de type BSD/Apache. Un tel changement dans PHP 5 semble être la meilleure solution.

Ceci n'affectera pas tant que ça les utilisateurs. Les utilisateurs d'Unix, au moins ceux qui savent ce qu'ils font, ont tendance à compiler PHP avec les bibliothèques déjà installées sur leur système, simplement en spécifiant --with-mysql=/usr lors de la configuration de PHP. Les utilisateurs de Windows peuvent activer l'extension php_mysql.dll dans leur php.ini. Pour plus de détails, lisez la référence MySQL sur les instructions d'installation. Assurez-vous également que libmysql.dll est disponible dans le PATH du système. Pour plus de détails sur cela, lisez la FAQ sur la configuration du PATH sur les systèmes Windows. Comme libmysql.dll (et plusieurs fichiers relatifs à PHP) existe dans le dossier de PHP, il est recommandé d'ajouter le dossier de PHP à votre PATH système.

Après avoir ajouté le support partagé de MySQL, Apache plante dès que libphp4.so est chargé. Comment résoudre ce problème ?

Ceci arrive quand vos bibliothèques MySQL sont liées à pthreads. Vérifiez que vous utilisez ldd. Sinon, téléchargez les sources de MySQL et compilez-les ou bien refaites un paquet RPM à partir des sources en enlevant l'option qui active le client threadé dans le fichier de spec. L'une ou l'autre de ces solutions corrigera le problème. Recompilez alors PHP avec les nouvelles bibliothèques MySQL.

Pourquoi est ce que j'obtiens une erreur comme celle-ci : "Warning: 0 is not a MySQL result index in <file> on line <x>" ou "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>" ?

Vous essayez d'utiliser un identifiant de résultat qui vaut 0. Le 0 indique que votre requête a échoué pour une quelconque raison. Vous devez alors chercher les erreurs après avoir exécuté une requête et avant même de vouloir traiter le résultat. Une façon propre de le faire est de coder comme ceci :

<?php

$result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
    echo mysql_error();
    exit;
}
?>
ou
<?php

$result = mysql_query("SELECT * FROM tables_priv")
    or die("Bad query: " . mysql_error());
?>

Obtenir PHP
Installation
FAQ


Installation

Cette section traite de questions courantes sur la façon d'installer PHP. PHP est disponible sur la plupart des systèmes d'exploitation (sauf les versions de MacOS antérieures à Mac OSX) et pour quasiment n'importe quel serveur web.

Pour installer PHP, suivez les instructions présentes dans Installation et configuration.

  1. Pourquoi ne doit-on pas utiliser Apache 2 dans un environnement threadé multiprocesseur de production ?
  2. Unix/Windows : où doit être placé mon fichier php.ini ?
  3. Unix : j'ai installé PHP, mais à chaque fois que je charge un document, j'obtiens l'erreur 'Document Contains No Data' ! Que se passe-t-il ?
  4. Unix : J'ai installé PHP en utilisant des fichiers sources RPM, mais apache ne traite pas les pages PHP. Que se passe-t-il ?
  5. Unix : J'ai patché Apache avec l'extension FrontPage et subitement, PHP ne fonctionne plus. Est-ce que PHP est incompatible avec l'extension FrontPage pour Apache ?
  6. Unix/Windows : J'ai installé PHP, mais lorsque je tente d'accéder à un fichier contenant un script PHP via mon navigateur, j'obtiens un écran vide.
  7. Unix/Windows : J'ai installé PHP, mais lorsque je tente d'accéder à un fichier contenant un script PHP via mon navigateur, j'obtiens une erreur de type 'server 500 error'.
  8. Quelques systèmes d'exploitations : J'ai installé PHP sans erreur, mais lorsque je tente de démarrer Apache, j'obtiens une erreur du type 'Undefined symbols' : [mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  9. Windows : J'ai installé PHP, mais lorsque je tente d'accèder à un fichier contenant un script PHP via mon navigateur, j'obtiens l'erreur : cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  10. Windows : J'ai suivi toutes les instructions, mais je n'arrive toujours pas à faire fonctionner PHP et IIS ensemble !
  11. Lorsque vous exécutez PHP comme CGI avec IIS, PWS, OmniHTTPD ou Xitami, j'obtiens l'erreur suivante : Security Alert! PHP CGI cannot be accessed directly..
  12. Comment puis-je savoir si mon php.ini a bien été trouvé et lu ? Cela semble être le cas mais aucun de mes changements n'ont eu d'effet.
  13. Où dois-je ajouter mon répertoire PHP à la variable PATH sous Windows ?
  14. Comment rendre le fichier php.ini disponible à PHP sous Windows ?
  15. Est-il possible d'utiliser la négociation sur le contenu fournie par Apache (option MultiViews) avec PHP ?
  16. Est-ce que PHP est limité au traitement des méthodes GET et POST ?
Pourquoi ne doit-on pas utiliser Apache 2 dans un environnement threadé multiprocesseur de production ?

PHP est un mortier. C'est un mortier utilisé pour construire de belles applications web en utilisant beaucoup de bibliothèques ensemble, apparaissant comme une seule entité à travers un langage intuitif et facile à apprendre. La flexibilité et la puissance de PHP se fondent sur la stabilité et la robustesse de la plate-forme fondamentale. Il a besoin d'un OS qui fonctionne, d'un serveur web qui fonctionne et de bibliothèques externes pour coller le tout. Lorsqu'un seul de ces éléments arrêtent subitement de fonctionner, PHP doit identifier le problème et le réparer au plus vite. En rendant le cadre fondamental plus complexe en ne séparant pas les exécutions des threads, ni les segments mémoires, ni un endroit clos pour traiter chaque requête entrante, de nouvelles faiblesses sont introduites dans le système PHP.

Si vous pensez que vous devez utiliser un MPM threadé, regardez du côté d'une configuration FastCGI dans lequel PHP s'exécute dans son propre espace mémoire.

Et finalement, cette mise en garde contre les environnements MPM threadés n'est pas aussi forte pour les environnements Windows, où les bibliothèques sont mieux threadées.

Unix/Windows : où doit être placé mon fichier php.ini ?

Par défaut sous Unix, il doit être placé dans /usr/local/lib qui est en fait <install-path>/lib. La plupart des personnes voudront changer ceci lors de la compilation avec l'option --with-config-file-path. Vous pouvez par exemple le régler de cette façon :

--with-config-file-path=/etc
Et alors vous copierez le fichier php.ini-development livré avec les sources vers /etc/php.ini et l'éditer pour l'adapter à vos besoins.

--with-config-file-scan-dir=PATH

Sous Windows, le chemin par défaut de php.ini est le répertoire de Windows. Si vous utilisez le serveur web Apache, php.ini est tout d'abord cherché dans le répertoire d'installation de Apache, c'est-à-dire c:\program files\apache group\apache. De cette façon, vous pouvez avoir un php.ini différent pour chaque version de Apache installée.

Consultez aussi le chapitre sur le fichier de configuration.

Unix : j'ai installé PHP, mais à chaque fois que je charge un document, j'obtiens l'erreur 'Document Contains No Data' ! Que se passe-t-il ?

Cela signifie probablement que PHP rencontre un problème et génère un fichier core. Consultez vos fichiers de logs de votre serveur pour voir si c'est le cas, et tentez de reproduire le problème avec un test simple. Si vous savez utiliser 'gdb', il serait très utile de fournir un backtrace avec votre rapport de bogue, afin d'aider les développeurs à cerner le problème. Si vous utilisez PHP en module Apache, essayez ceci :

  • Stoppez vos processus httpd

  • gdb httpd

  • Stoppez vos processus httpd

  • > run -X -f /path/to/httpd.conf

  • Pointez alors avec votre navigateur vers l'URL posant problème.

  • > run -X -f /path/to/httpd.conf

  • Si vous obtenez un fichier core, gdb doit alors vous en informer.

  • tapez : bt

  • Vous devriez inclure votre backtrace dans votre rapport de bogue. Celui-ci doit être posté sur » http://bugs.php.net/.

Si votre script utilise les expressions rationnelles (preg_match() et consorts), assurez-vous que PHP et Apache ont été compilés avec les même outils d'expression rationnelles. Cela doit être automatiquement le cas avec PHP et Apache 1.3.x.

Unix : J'ai installé PHP en utilisant des fichiers sources RPM, mais apache ne traite pas les pages PHP. Que se passe-t-il ?

En supposant que vous avez installé à la fois Apache et PHP à partir de fichiers RPM, vous devrez commenter ou ajouter au moins quelques unes des lignes suivantes dans votre fichier httpd.conf :

# Extra Modules
AddModule mod_php.c
AddModule mod_php.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
Et ajouter :
AddType application/x-httpd-php .php
... aux propriétés globales ou aux propriétés du VirtualDomain ou vous voulez que PHP officie.

Unix : J'ai patché Apache avec l'extension FrontPage et subitement, PHP ne fonctionne plus. Est-ce que PHP est incompatible avec l'extension FrontPage pour Apache ?

Non, PHP fonctionne très bien avec l'extension FrontPage. Le souci vient du fait que le patch pour l'installation de FrontPage modifie la structure d'Apache, qui est relié à PHP. Recompiler PHP (en utilisant 'make clean ; make') après avoir patché Apache avec l'extension FrontPage devrait résoudre ce problème.

Unix/Windows : J'ai installé PHP, mais lorsque je tente d'accéder à un fichier contenant un script PHP via mon navigateur, j'obtiens un écran vide.

Affichez le code source du document dans votre navigateur et vous devriez probablement trouver le code source de votre script PHP. Cela signifie que le serveur web n'a pas envoyé le script à PHP pour interprétation. Quelque chose est donc incorrecte dans le fichier de configuration de votre serveur web - re-vérifier la configuration du serveur web en vous référant aux instructions d'installations de PHP.

Unix/Windows : J'ai installé PHP, mais lorsque je tente d'accéder à un fichier contenant un script PHP via mon navigateur, j'obtiens une erreur de type 'server 500 error'.

Quelque chose se passe mal lorsque le serveur tente d'utiliser PHP. Pour tenter de récupérer un message d'erreur, depuis la ligne de commande, placez-vous dans le répertoire contenant l'exécutable PHP (php.exe sous Windows) et exécutez la commande php -i. Si PHP a un problème quelconque l'empêchant de fonctionner, un message d'erreur devrait s'afficher qui devrait expliquer comment résoudre ce souci. Si un écran de code HTML apparaît (la sortie de la fonction phpinfo()), cela signifie que PHP fonctionne correctement et que le problème doit certainement venir de la configuration de votre serveur web que vous devriez re-vérifier.

Quelques systèmes d'exploitations : J'ai installé PHP sans erreur, mais lorsque je tente de démarrer Apache, j'obtiens une erreur du type 'Undefined symbols' :
[mybox:user /src/php5] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

Cela n'a actuellement rien à voir avec PHP mais avec la bibliothèque cliente MySQL. Suivant les versions, elle a besoin que PHP soit compilé avec l'option --with-zlib, d'autre non. Ce problème est également traité dans la FAQ de MySQL.

Windows : J'ai installé PHP, mais lorsque je tente d'accèder à un fichier contenant un script PHP via mon navigateur, j'obtiens l'erreur :
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

Ce message d'erreur signifie que PHP a échoué lors de l'affichage. Pour tenter de récupérer un message d'erreur, depuis la ligne de commande, placez-vous dans le répertoire contenant l'exécutable PHP (php.exe sous Windows) et exécutez la commande php -i. Si PHP a un quelconque souci de fonctionnement, alors un message d'erreur le décrivant s'affichera. Si vous obtenez un écran de code HTML (le contenu du résultat de la fonction phpinfo()), alors PHP fonctionne correctement.

Si PHP fonctionne depuis la ligne de commande, tentez d'accéder à votre script encore une fois via votre navigateur. S'il échoue toujours, alors, il se peut que ce soit l'un des soucis suivants :

  • Les permissions de votre script PHP des fichiers php.exe, php5ts.dll, php.ini ou de toute extension nécessaire à PHP que vous tentez de charger, sont telles que l'utilisateur internet anonyme de votre système ISUR_<machinename> ne peut pas y accéder.
  • Le script PHP n'existe pas (ou n'est pas à l'endroit que vous pensez, relativement au répertoire racine de votre serveur web). Notez que pour le serveur web IIS, vous pouvez vérifier cela en cochant la case 'vérifier si le fichier existe' lors de la configuration de l'exécution des scripts dans le gestionnaire de services Internet. Si un fichier de script n'existe pas, le serveur web retournera une erreur 404. IIS a également l'avantage d'effectuer toutes les identifications requises à votre place, basés sur les permissions NTLanMan, sur votre fichier de script.
Windows : J'ai suivi toutes les instructions, mais je n'arrive toujours pas à faire fonctionner PHP et IIS ensemble !

Assurez-vous que chaque utilisateur qui a besoin d'exécuter un script PHP possède les droits requis pour exécuter le fichier php.exe ! IIS utilise un utilisateur anonyme qui est ajouté lors de l'installation de IIS. Cet utilisateur doit avoir les droits suffisant sur le fichier php.exe. De même, tous les utilisateurs enregistrés doivent posséder les droits requis pour exécuter le fichier php.exe. Pour IIS4, vous devez lui dire que PHP est un moteur de script. De plus, vous devriez lire cette FAQ.

Lorsque vous exécutez PHP comme CGI avec IIS, PWS, OmniHTTPD ou Xitami, j'obtiens l'erreur suivante : Security Alert! PHP CGI cannot be accessed directly..

Vous devez définir la directive cgi.force_redirect à 0. Par défaut, elle vaut 1, donc, soyez sûrs que cette directive n'est pas commentée (précédée d'un point virgule). Comme toutes les directives, elles sont définies dans le php.ini.

Comme la valeur par défaut vaut 1, il est impératif que vous soyez sûrs à 100% que le bon fichier php.ini a été lu. Lisez cette FAQ pour plus de détails.

Comment puis-je savoir si mon php.ini a bien été trouvé et lu ? Cela semble être le cas mais aucun de mes changements n'ont eu d'effet.

Pour être sûr que votre php.ini a été lu par PHP, effectuez un appel à la fonction phpinfo(). Vers le haut du document résultant, il devrait figurer une liste appelée Configuration File (php.ini). Cela vous indiquera où PHP a cherché le php.ini et si oui ou non il l'a lu. S'il n'apparaît qu'un chemin vers un répertoire existant, cela signifie que vous devez copier votre php.ini dans ce répertoire. Si le php.ini est présent dans le chemin, cela signifie qu'il a bien été lu.

Si le php.ini a bien été lu et que vous exécutez PHP comme module, alors assurez-vous de redémarrer le serveur web après avoir effectué les modifications à votre php.ini.

Voir aussi la fonction php_ini_loaded_file().

Où dois-je ajouter mon répertoire PHP à la variable PATH sous Windows ?

Sous Windows NT+, et Windows Server 2000+:

  • Allez dans le centre de contrôle et ouvrez l'icône système (Démarrer -> Paramètres -> Panneau de configuration -> Système ou juste Démarrer -> centre de contrôle -> Système pour Windows XP/2003+)

  • Allez à l'onglet "Avancé"

  • Cliquez sur le bouton "Variables d'environnements"

  • Regardez dans le panneau "Variables systèmes"

  • Trouvez l'entrée Path (vous devriez avoir à faire descendre l'ascenseur pour le trouver)

  • Double cliquez sur l'entrée Path

  • Entrez votre répertoire PHP à la fin, sans oublier le point virgule (;) avant (par exemple ;C:\php)

  • Confirmez en cliquant sur OK

Sous Windows 98/Me, vous devez éditer le fichier autoexec.bat :

  • Ouvrez Notepad (Démarrer -> Exécuter et entrez notepad)

  • Ouvrez le fichier C:\autoexec.bat

  • Repérez la ligne contenant PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... et ajoutez : ;C:\php à la fin de la ligne.

  • Sauvegardez le fichier et redémarrer l'ordinateur

Note: Assurez-vous de redémarrer l'ordinateur après avoir suivi cette procédure afin que les modifications sur la variable PATH soient bien prises en compte.

Le manuel PHP vous encourage à copier les fichiers dans le dossier système de Windows car ce dossier (C:\Windows, C:\WINNT, etc.) se trouve par défaut dans le PATH système. Copier les fichiers dans le dossier système de Windows est depuis obsolète et peut causer des problèmes.

Comment rendre le fichier php.ini disponible à PHP sous Windows ?

Il y a plusieurs façons de faire cela. Si vous utilisez Apache, lisez leurs instructions spécifiques d'installation (Apache 1, Apache 2) sinon, vous devez définir la variable d'environnement PHPRC :

Sous Windows NT, 2000, XP et 2003:

  • Allez dans le centre de contrôle et ouvrez l'icône système (Démarrer -> Paramètres -> Panneau de configuration -> Système ou juste Démarrer -> centre de contrôle -> Système pour Windows XP/2003)

  • Allez à l'onglet "Avancé"

  • Cliquez sur le bouton "Variables d'environnements"

  • Regardez dans le panneau "Variables systèmes"

  • Cliquez sur "Nouveau" et entrez "PHPRC" comme nom de variable et le dossier où se trouve votre fichier php.ini comme valeur (par exemple C:\php)

  • Confirmez en cliquant sur OK et redémarrer votre ordinateur

Sous Windows 98/Me, vous devez éditer le fichier autoexec.bat :

  • Ouvrez Notepad (Démarrer ->Exécuter et entrez notepad)

  • Ouvrez le fichier C:\autoexec.bat

  • Ajouter une nouvelle ligne à la fin du fichier : set PHPRC C:\php (remplacez C:\php avec le dossier où se trouve le fichier php.ini). Notez que le chemin ne peut contenir d'espace. Aussi, si vous avez installé PHP dans le dossier C:\Program Files\PHP, vous devez entrer le chemin C:\PROGRA~1\PHP.

  • Sauvegardez le fichier et redémarrer l'ordinateur

Est-il possible d'utiliser la négociation sur le contenu fournie par Apache (option MultiViews) avec PHP ?

Si les liens vers les fichiers PHP incluent l'extension, tout fonctionne parfaitement. Cette entrée de la FAQ traite uniquement du cas où les liens vers les fichiers PHP n'incluent pas l'extension et que vous voulez utiliser la négociation sur le contenu fourni par Apache pour choisir les fichiers PHP depuis une URL qui ne contient pas d'extension. Dans ce cas, remplacez la ligne AddType application/x-httpd-php .php par :

AddHandler php5-script php
AddType text/html php
Cette solution ne fonctionne pas pour Apache 1 car le module PHP ne captura pas le php-script.

Est-ce que PHP est limité au traitement des méthodes GET et POST ?

Non, il est possible de gérer tout type de méthode, comme CONNECT. Les bons en-têtes de réponse peuvent être envoyés avec la fonction header(). Si seules les méthodes POST et GET doivent être gérées, vous pouvez configurer Apache comme ce qui suit :

<LimitExcept GET POST>
Deny from all
</LimitExcept>

Considérations sur les bases de données
Problèmes de compilation
FAQ


Problèmes de compilation

Cette section couvre les erreurs les plus communes pouvant se produire lors de la compilation de PHP.

  1. J'ai téléchargé la dernière version des sources de PHP en utilisant SVN, mais il n'y a pas de script configure !
  2. J'ai des problèmes pour configurer PHP avec Apache. On m'indique que httpd.h n'est pas trouvé, mais il est bien là ou je l'ai spécifié !
  3. Pendant la configuration de PHP (./configure), vous rencontrez une erreur semblable à celle-ci : checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Quand je lance Apache, j'obtiens le message suivant : fatal: relocation error: file /path/to/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. Quand je lance le ./configure, on me dit que les fichiers d'en-tête de GD, gdbm, ... ne sont pas trouvés !
  6. Quand le fichier language-parser.tab.c est compilé, j'obtiens un message yytname undeclared.
  7. Quand je lance make, tout semble bien se passer, mais ça échoue quand il essaie de lier l'application finale, en prétendant qu'il manque des fichiers.
  8. Au moment de lier PHP, il y a des références indéfinies.
  9. Je ne vois pas comment compiler PHP avec Apache 1.3.
  10. J'ai suivi toutes les étapes pour installer le module Apache sous Unix, mais malgré tout, mes scripts PHP s'affichent en clair dans mon navigateur ou celui-ci me demande de sauver le fichier.
  11. Il est dit d'utiliser --activate-module=src/modules/php4/libphp4.a, mais ce fichier n'existe pas, alors je l'ai changé pour --activate-module=src/modules/php4/libmodphp4.a et ça ne fonctionne pas. Qu'est ce qui se passe ?
  12. Quand j'essaie de compiler Apache avec PHP en module statique en utilisant --activate-module=src/modules/php4/libphp4.a on me répond que mon compilateur n'est pas conforme aux normes ANSI.
  13. Quand j'esaie de compiler PHP avec --with-apxs, j'obtiens des messages d'erreur étranges.
  14. Pendant le make, j'ai des erreurs concernant microtime et beaucoup de RUSAGE_.
  15. Quand je compile PHP avec le support MySQL, le configure se passe bien, mais pendant le make, j'obtiens une erreur de ce style : ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', qu'est ce qui ne va pas ?
  16. Je veux mettre à jour mon PHP. Où puis-je trouver la ligne ./configure qui a été utilisée pour mon installation actuelle de PHP?
  17. Quand je compile PHP avec le support de la bibliothèque GD, j'obtiens des erreurs de compilation étrange, voire même des erreurs de segmentation.
  18. Quand je compile PHP, j'obtiens des erreurs aléatoires, voire même tout s'arrête. J'utilise Solaris.
J'ai téléchargé la dernière version des sources de PHP en utilisant SVN, mais il n'y a pas de script configure !

Vous devez avoir le logiciel GNU autoconf d'installé pour générer le script configure à partir de configure.in. Lancez juste ./buildconf à la racine du répertoire des sources après avoir récupéré celles-ci à partir du serveur SVN. (De plus, à moins que vous ne lanciez configure avec l'option --enable-maintainer-mode, le script configure ne sera pas automatiquement reconstruit si configure.in est mis à jour, vous obligeant à le faire à la main quand vous remarquez que configure.in est mis à jour. Une conséquence de ceci est que l'on trouve des choses telles que @VARIABLE@ dans votre Makefile après que configure ou config.status soit lancé.)

J'ai des problèmes pour configurer PHP avec Apache. On m'indique que httpd.h n'est pas trouvé, mais il est bien là ou je l'ai spécifié !

Vous devez spécifier au script de configuration (configure) l'emplacement du répertoire ou sont les sources de Apache. Cela signifie que vous devez spécifier --with-apache=/chemin/vers/apache et pas --with-apache=/chemin/vers/apache/src.

Pendant la configuration de PHP (./configure), vous rencontrez une erreur semblable à celle-ci :

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Assurez-vous de bien avoir lu les instructions d'installation et d'avoir flex et bison d'installés pour compiler PHP. Selon votre système, vous devrez installer bison et flex à partir de sources ou bien de paquets, tel qu'un RPM.

Quand je lance Apache, j'obtiens le message suivant :

fatal: relocation error: file /path/to/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Cette erreur survient généralement quand quelqu'un compile le coeur Apache comme bibliothèque partagée DSO. Essayez de reconfigurer Apache, en vous assurant d'utiliser les options suivantes :

--enable-shared=max --enable-rule=SHARED_CORE

Pour davantage d'informations, lisez le fichier INSTALL à la racine de votre répertoire source Apache ou bien » le manuel des bibliothèques DSO.

Quand je lance le ./configure, on me dit que les fichiers d'en-tête de GD, gdbm, ... ne sont pas trouvés !

Vous pouvez forcer le script configure à chercher les fichiers d'en-tête à des endroits non-standard en passant des options supplémentaires au préprocesseur C et à l'éditeur de liens, par exemple :

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
Si vous utilisez une variante de csh, utilisez plutôt :
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure

Quand le fichier language-parser.tab.c est compilé, j'obtiens un message yytname undeclared.

Vous devez mettre à jour votre version de bison. Vous pourrez trouver la dernière version sur » http://www.gnu.org/software/bison/bison.html.

Quand je lance make, tout semble bien se passer, mais ça échoue quand il essaie de lier l'application finale, en prétendant qu'il manque des fichiers.

Certaines anciennes versions de make ne déplacent pas correctement les versions compilées des fichiers dans le répertoire functions. Essayez de lancer cp *.o functions et de relancer make pour voir si le problème est résolu. Si tel est le cas, vous devriez vraiment mettre à jour votre version de GNU make.

Au moment de lier PHP, il y a des références indéfinies.

Jetez un oeil à la ligne de lien et assurez-vous que toutes les bibliothèques nécessaires ont été incluses à la fin. Celles qui manquent probablement sont '-ldl' et les bibliothèques relatives aux bases de données dont vous voulez le support.

Si vous compilez par rapport à Apache 1.2.x, souvenez-vous de bien mettre les informatiosn appropriées dans la ligne EXTRA_LIBS du fichier Configuration et relancez le script Configure de Apache. Lisez le chapitre sur l'installation pour plus de détails.

Des personnes nous ont rapporté qu'elle devaient ajouter '-ldl' immédiatement après libphp4.a lors de la compilation avec Apache.

Je ne vois pas comment compiler PHP avec Apache 1.3.

C'est relativement simple. Suivez attentivement ces étapes :

  • Téléchargez la dernière version de Apache 1.3 sur » http://httpd.apache.org/download.cgi.
  • Désarchivez le tout, par exemple dans /usr/local/src/apache-1.3.
  • Compilez PHP en lançant tout d'abord ./configure --with-apache=/<path>/apache-1.3 (remplacez <path> par le chemin de votre répertoire apache-1.3).
  • Tapez make puis make install pour compiler PHP et copier les fichiers nécessaires dans le répertoire source Apache.
  • Déplacez-vous dans votre répertoire /<path>/apache-1.3/src et éditez le fichier Configuration. Ajoutez y : AddModule modules/php4/libphp4.a.
  • Tapez : ./configure puis make.
  • Vous devriez alors avoir une bibliothèque httpd avec le support de PHP !

Note: Vous pouvez utiliser le nouveau script ./configure de Apache. Suivez les instructions du fichier README.configure fourni avec votre version de Apache. Lisez aussi le fichier INSTALL inclus avec les sources de PHP.

J'ai suivi toutes les étapes pour installer le module Apache sous Unix, mais malgré tout, mes scripts PHP s'affichent en clair dans mon navigateur ou celui-ci me demande de sauver le fichier.

Cela signifie que le module PHP n'est pas chargé, pour une raison ou pour une autre. Avant de chercher de l'aide ailleurs, veuillez vérifier ces quelques points :

  • Assurez-vous que le binaire httpd que vous exécutez est bien le nouveau binaire que vous avez compilé. Pour cela, essayez de lancer : /chemin/vers/le/binaire/httpd -l Si vous ne voyez pas mod_php4.c dans la liste, c'est que vous n'utilisez pas le bon binaire. Trouvez et installez correctement le bon binaire.
  • Assurez-vous que vous avez bien ajouté le bon type Mime à un de vos fichiers Apache .conf. Ce devrait être : AddType application/x-httpd-php .php Assurez-vous aussi que cette ligne Addtype n'est pas dissimulée dans un contexte de <Virtualhost> ou <Directory> qui l'empêcherait de s'appliquer à l'emplacement de vos scripts.
  • Enfin, l'emplacement par défaut des fichiers de configuration Apache a changé entre Apache 1.2 et Apache 1.3. Vous devriez vérifier que les fichiers de configuration auxquels vous ajoutez la ligne Addtype sont bien ceux qui sont pris en compte. Vous pouvez introduire une erreur de syntaxe dans votre httpd.conf (ou bien tout autre changement incorrect) pour vous assurer que c'est bien ce fichier qui est pris en compte.

Il est dit d'utiliser --activate-module=src/modules/php4/libphp4.a, mais ce fichier n'existe pas, alors je l'ai changé pour --activate-module=src/modules/php4/libmodphp4.a et ça ne fonctionne pas. Qu'est ce qui se passe ?

Notez que le fichier libphp4.a n'est pas supposé exister. Le processus apache le créera !

Quand j'essaie de compiler Apache avec PHP en module statique en utilisant --activate-module=src/modules/php4/libphp4.a on me répond que mon compilateur n'est pas conforme aux normes ANSI.

C'est un mauvais message d'erreur de Apache qui n'apparaît plus dans des versions plus récentes.

Quand j'esaie de compiler PHP avec --with-apxs, j'obtiens des messages d'erreur étranges.

Il y a trois choses à vérifier ici. Tout d'abord, quand Apache crée le script Perl apxs, il s'interrompt parfois en étant compilé sans le bon compilateur ou les bonnes options. Trouvez votre script apxs (lancez la commande which apxs), qui se trouve souvent à /usr/local/apache/bin/apxs ou bien /usr/sbin/apxs. Éditez-le et vérifiez que des lignes similaires sont présentes :

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Si c'est ce que vous voyez, vous avez trouvé votre problème. Elles peuvent contenir juste des espaces ou d'autres valeurs incorrectes, comme 'q()'. Changez ces lignes pour obtenir :
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
Le deuxième problème potentiel est uniquement relatif aux distributions Red Hat 6.1 et 6.2. The scripts apxs de Red Hat est défectueux. Cherchez cette ligne :
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Si vous la voyez telle quelle, changez-la en :
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
Enfin, si vous reconfigurez/réinstallez Apache, lancez un make clean entre votre ./configure et votre make.

Pendant le make, j'ai des erreurs concernant microtime et beaucoup de RUSAGE_.

Pendant le make, si vous rencontrez des problèmes identiques à celui-ci :

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Votre système est défectueux. Vous devez corriger vos fichiers /usr/include en instalant un paquet glibc-devel qui correspond à votre version de la glibc. Cela n'a rien à voir avec PHP. Pour vous en convaincre, essayez ceci :

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Si vous obtenez des erreurs, c'est que vos fichiers d'en-tête sont mauvais.

Quand je compile PHP avec le support MySQL, le configure se passe bien, mais pendant le make, j'obtiens une erreur de ce style : ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', qu'est ce qui ne va pas ?

Tout d'abord, il est important de savoir que ce n'est qu'un Warning et pas une erreur fatale. Comme c'est souvent la dernière erreur vu lors du make, ça a l'air d'une erreur fatale, mais ça n'en est pas une. Bien sûr, si vous demandez à votre compilateur de stopper à chaque Warning, ça en deviendra une. Notez aussi que le support de MySQL est activé par défaut.

Note: Depuis PHP 4.3.2, vous verrez le texte suivant après la compilation (make) :

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

Je veux mettre à jour mon PHP. Où puis-je trouver la ligne ./configure qui a été utilisée pour mon installation actuelle de PHP?

Vous pouvez jetez un oeil au fichier config.nice dans votre répertoire source ou sinon simplement exécuter un script

<?php phpinfo(); ?>
Au début du résultat affiché figure la ligne ./configure qui fût utilisée lors de la configuration de votre PHP actuel.

Quand je compile PHP avec le support de la bibliothèque GD, j'obtiens des erreurs de compilation étrange, voire même des erreurs de segmentation.

Assurez-vous que votre bibliothèque GD et PHP sont liés aux mêmes bibliothèques (libpng, par exemple).

Quand je compile PHP, j'obtiens des erreurs aléatoires, voire même tout s'arrête. J'utilise Solaris.

L'utilisation d'utilitaires non-GNU pour compiler PHP peut poser problème. Assurez-vous de bien utiliser des outils GNU pour être certain que votre compilation arrive à terme. Par exemple, sous Solaris, utiliser les version SunOS BSD-compatible ou Solaris de sed ne fonctionnera pas, mais utiliser les versions GNU ou Sun POSIX (xpg4) de sed fonctionnera. Liens : » GNU sed, » GNU flex et » GNU bison.

Installation
Utiliser PHP
FAQ


Utiliser PHP

Cette section regroupe plusieurs erreurs que vous pouvez rencontrer lors de l'écriture de vos scripts PHP.

  1. Je ne me rappelle par de l'ordre des paramètres dans les fonctions PHP, sont-ils aléatoires ?
  2. J'aimerais écrire un script PHP générique qui pourrait traiter les données provenant de tout formulaire. Comment savoir quelles variables de la méthode POST sont disponibles ?
  3. Il faut que je convertisse tous les guillemets simples (') en un antislash suivi d'un guillemet simple (\'). Comment le faire avec une expression régulière ? J'aimerais aussi convertir " en \" et \ en \\.
  4. Tous mes " se transforment en \" et mes ' en \', comment me débarrasser de tous ces antislashs ? Comment et pourquoi sont-ils apparus ?
  5. Comment la directive register_globals affecte-t-elle mes scripts ?
  6.       Quand je fais ce qui suit, l'affichage se fait dans le mauvais ordre :

<?php
function mafonction($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "mafonction($variable) = " . mafonction($variable);
?>

     que se passe-t-il ?
  7. Hey, où sont mes nouvelles lignes ? <pre> <?php echo "Ceci est ma première ligne."; ?> <?php echo "Celle-ci devrait s'afficher en dessous de la première."; ?> </pre>
  8. J'obtiens le message 'Warning: Cannot send session cookie - headers already sent...' ou 'Cannot add header information - headers already sent...'.
  9. J'ai besoin d'accéder à des informations dans l'en-tête de requête directement. Comment puis-je le faire ?
  10. Quand j'essaye d'utiliser l'identification avec IIS j'obtiens 'No Input file specified'.
  11. Windows: Je ne peux pas accéder aux fichiers partagés sur un autre ordinateur utilisant IIS
  12. Comment mélanger XML et PHP ? PHP se plaint de mes balises <?xml !
  13. Où puis-je trouver une liste complète des variables prédéfinies que je peux utiliser dans mes scripts PHP ?
  14. Comment puis-je générer des fichiers PDF sans utiliser les bibliothèques non libres PDFLib ? J'aimerais une façon gratuite et qui ne requiert pas de bibliothèques PDF externes.
  15. J'essaye d'accéder à une des variables standard CGI (comme $DOCUMENT_ROOT ou $HTTP_REFERER) dans une fonction écrite par moi-même, et il semblerait qu'elle ne soit pas définie. Que se passe-t-il ?
  16. Certaines directives PHP peuvent prendre des noms littéraux, et pas seulement des valeurs entières. Quelles sont tous les raccourcis disponibles? Peut-on les utiliser en dehors de php.ini?
Je ne me rappelle par de l'ordre des paramètres dans les fonctions PHP, sont-ils aléatoires ?

PHP rassemble des centaines de bibliothèques externes et ça peut paraître parfois déroutant. Cependant, une règle simple à retenir :

Les paramètres concernant les fonctions sur les tableaux sont dans l'ordre "needle, haystack" tandis que les paramètres sur les fonctions gérants les chaînes sont exactement à l'opposé "haystack, needle".

J'aimerais écrire un script PHP générique qui pourrait traiter les données provenant de tout formulaire. Comment savoir quelles variables de la méthode POST sont disponibles ?

PHP fournit plusieurs variables pré-définies, comme la superglobale $_POST. Vous pouvez boucler sur $_POST puisque c'est un tableau associatif de toutes les valeurs envoyés par la méthode POST. Par exemple, bouclons dessus simplement avec foreach, vérifions les valeurs vides et affichons-les.

<?php
$empty = $post = array();
foreach ($_POST as $nomvar => $valeurvar) {
    if (empty($varvalue)) {
        $empty[$nomvar] = $valeurvar;
    } else {
        $post[$nomvar] = $valeurvar;
    }
}

echo '<pre>';
if (empty($empty)) {
    print "Aucune valeur POSTée n'est vide, postées :\n";
    var_dump($post);
} else {
    print "Nous avons " . count($empty) . " valeurs vides\n";
    print "Postées :\n"; var_dump($post);
    print "Vides :\n";  var_dump($empty);
    exit;
}
echo '</pre>';
?>

Note: Superglobales : disponibilité
Depuis PHP 4.1.0, les tableaux superglobaux tels que $_GET, $_POST et $_SERVER, etc. sont disponibles. Pour plus d'informations, lisez la section superglobals

Il faut que je convertisse tous les guillemets simples (') en un antislash suivi d'un guillemet simple (\'). Comment le faire avec une expression régulière ? J'aimerais aussi convertir " en \" et \ en \\.

Si l'on suppose que c'est pour une base de données, utilisez le méchanisme d'échappement fourni avec la base de données. Par exemple, utilisez la fonction mysql_real_escape_string() avec MySQL et pg_escape_string() avec PostgreSQL. Il y a également les fonctions génériques comme addslashes() et stripslashes(), qui sont plus communes avec l'ancien code PHP.

Note: Note concernant la directive : magic_quotes_gpc
La directive PHP magic_quotes_gpc est par défaut à on. En bref, elle applique la fonction addslashes() sur toutes vos données issues de GET, POST et COOKIE. Vous pouvez utiliser la fonction stripslashes() pour supprimer cet effet.

Tous mes " se transforment en \" et mes ' en \', comment me débarrasser de tous ces antislashs ? Comment et pourquoi sont-ils apparus ?

Les anti-slashes existent très probablement parce que la directive PHP magic_quotes_gpc est activée. C'est une ancienne fonctionnalité de PHP et elle doit être désactivée et plus jamais être utilisée. De même, la fonction PHP stripslashes() peut être utilisée pour supprimer les slashes d'une chaîne de caractères.

Note: Note concernant la directive : magic_quotes_gpc
La directive PHP magic_quotes_gpc est par défaut à on. En bref, elle applique la fonction addslashes() sur toutes vos données issues de GET, POST et COOKIE. Vous pouvez utiliser la fonction stripslashes() pour supprimer cet effet.

Comment la directive register_globals affecte-t-elle mes scripts ?

Tout d'abord, une rapide explication sur ce que réalise cette configuration ini. Supposons que nous utilisons l'URL suivante : http://example.com/foo.php?animal=cat et, dans le fichier foo.php, nous avons le code PHP suivant :

<?php
// L'utilisation de $_GET est ici préférée
echo $_GET['animal'];

// Pour que $animal existe, register_globals doit être actif
// NE FAITE JAMAIS CELA !
echo $animal;

// Ceci s'applique à toutes les variables, y compris à $_SERVER
echo $_SERVER['PHP_SELF'];

// Encore une fois, pour que $PHP_SELF existe, register_globals doit être actif
// NE FAITE JAMAIS CELA !
echo $PHP_SELF;
?>

Le code ci-dessus démontre la façon dont register_globals crée un grand nombre de variables. Durant des années, ce type de codage a été désapprouvé, et donc, depuis des années, cette fonctionnalité a été désactivée par défaut. Notez que PHP peut éventuellement supprimer cette fonctionnalité obsolète. Bien que la majorité des hébergeurs Web a désactivé cette fonctionnalité, il y a toujours sur le web des articles, des tutoriels et des livres qui demandent à ce que cette option de configuration soit activée.

Voir aussi les ressources suivantes pour plus d'informations :

  • La directive register_globals
  • Le chapitre sur la sécurité et register globals
  • Gestion des variables externes
  • Utilisez les superglobals à la place

Note: Dans l'exemple ci-dessus, nous utilisez une URL qui contient une QUERY_STRING. Passer des informations comme cela se fait via une requête HTTP GET, c'est la raison pour laquelle la superglobale $_GET est utilisée.

Quand je fais ce qui suit, l'affichage se fait dans le mauvais ordre :
<?php
function mafonction($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "mafonction($variable) = " . mafonction($variable);
?>
que se passe-t-il ?

Pour pouvoir utiliser le résultat de votre fonction dans une expression (comme le concaténer avec une chaîne comme dans cet exemple), vous devez retourner la valeur avec return(), et non pas l'afficher avec echo().

Hey, où sont mes nouvelles lignes ?
<pre>
<?php echo "Ceci est ma première ligne."; ?>
<?php echo "Celle-ci devrait s'afficher en dessous de la première."; ?>
</pre>

En PHP, la fin d'un bloc de code est soit "?>" ou "?>\n" (où \n signifie une nouvelle ligne). Donc dans l'exemple plus haut, les phrases affichées le seront sur une seule ligne, car PHP oublie les nouvelles lignes après la fin du bloc. Cela signifie que vous devez insérer une nouvelle ligne de plus après chaque bloc de code PHP pour la lui faire afficher.

Pourquoi PHP fait-il cela ? Car lors du formatage du HTML, cela vous simplifie la vie car vous ne voulez pas de cette nouvelle ligne, mais vous devez créer de très longues lignes ou rendre la source brute de la page illisible pour arriver à cet effet.

J'obtiens le message 'Warning: Cannot send session cookie - headers already sent...' ou 'Cannot add header information - headers already sent...'.

Les fonctions header(), setcookie(), et les fonctions de session doivent ajouter des en-têtes au flux de sortie, mais ceux-ci ne peuvent être envoyés qu'avant le reste du contenu. Il ne doit y avoir aucun affichage avant d'utiliser ces fonctions, comme le HTML par exemple. La fonction headers_sent() vérifiera si votre script a déjà envoyé des en-têtes. Voyez aussi les fonctions de bufferisation de sortie.

J'ai besoin d'accéder à des informations dans l'en-tête de requête directement. Comment puis-je le faire ?

La fonction getallheaders() le fera si vous exécutez PHP en tant que module Apache. Le code suivant vous montrera tous les en-têtes de requête :

<?php
$headers = getallheaders();
foreach ($headers as $nom => $contenu) {
    echo "headers[$nom] = $contenu<br />\n";
}
?>

Voir aussi
apache_lookup_uri(),
apache_response_headers() et
fsockopen().

Quand j'essaye d'utiliser l'identification avec IIS j'obtiens 'No Input file specified'.

Le modèle sécuritaire de IIS est en faute. C'est un problème commun à tous les programmes CGI fonctionnant avec IIS. Une alternative est de créer un fichier HTML (non exécuté par PHP) comme page d'entrée dans le dossier où il faut s'identifier. Utilisez alors une balise META pour rediriger vers la page PHP, ou encore proposez un lien vers celle-ci. PHP reconnaîtra alors l'identification correctement. Avec le module ISAPI, cela n'est pas un problème. Cela ne devrait pas non plus affecter d'autres serveurs NT. Pour plus d'informations, voyez : » http://support.microsoft.com/kb/q160422/ et la section du manuel concernant l'identification HTTP.

Windows: Je ne peux pas accéder aux fichiers partagés sur un autre ordinateur utilisant IIS

Vous devez modifier le service Go to Internet Information Services. Localisez votre fichier PHP et éditez ces propriétés. Placez-vous sur l'onglet File Security, Edit -< Anonymous access and authentication control.

Vous pouvez résoudre ce souci soit en décochant la case Anonymous Access et en laissant la case Integrated Window Authentication cochée, soit en cochant la case Anonymous Access et en éditant l'utilisateur qui ne doit pas avoir les droits d'accès.

Comment mélanger XML et PHP ? PHP se plaint de mes balises <?xml !

Pour inclure <?xml dans votre code PHP, vous devrez désactiver les short tags en configurant la directive PHP short_open_tags à 0. Vous ne pouvez pas modifier cette directive avec ini_set(). Que short_open_tags soit à on ou off, vous pouvez toujours faire ceci : <?php echo '<?xml'; ?>. La valeur par défaut pour cette directive est On.

Où puis-je trouver une liste complète des variables prédéfinies que je peux utiliser dans mes scripts PHP ?

Lisez la page du manuel qui concerne les variables prédéfinies vu qu'elle présente une liste partielle des variables prédéfinies disponibles dans votre script. Une liste complète des variables disponibles (et beaucoup d'informations) peut être vue en appelant la fonction phpinfo(). Lisez la section du manuel traitant des variables non-issues de PHP, elle décrit des scénarios communs pour les variables externes, comme celles issues d'un formulaire HTML, d'un cookie, et de l'URL.

Note: register_globals : note importante
Depuis PHP 4.2.0, la valeur par défaut de la directive de configuration PHP register_globals vaut off. La communauté PHP vous recommande de ne pas dépendre de cette directive, mais de trouver d'autres moyens pour accéder aux données, tels que les superglobals.

Comment puis-je générer des fichiers PDF sans utiliser les bibliothèques non libres PDFLib ? J'aimerais une façon gratuite et qui ne requiert pas de bibliothèques PDF externes.

Il y a quelques alternatives écrites en PHP tel que » FPDF et » TCPDF.

Il y a également l'extension Haru qui utilise la bibliothèque externe libre libHaru.

J'essaye d'accéder à une des variables standard CGI (comme $DOCUMENT_ROOT ou $HTTP_REFERER) dans une fonction écrite par moi-même, et il semblerait qu'elle ne soit pas définie. Que se passe-t-il ?

Il est important de réaliser que la directive PHP register_globals affecte aussi les variables d'environnement et de serveur. Lorsque register_globals = off (valeur par défaut depuis PHP 4.2.0), $DOCUMENT_ROOT n'existera pas. À la place, utilisez $_SERVER['DOCUMENT_ROOT']. Si register_globals = on alors les variables $DOCUMENT_ROOT et $GLOBALS['DOCUMENT_ROOT'] existeront aussi.

Si vous êtes sûrs que register_globals = on et que vous vous demandez pourquoi $DOCUMENT_ROOT n'est pas disponible à l'intérieur de votre fonction, c'est parce que elle est comme toute autre variable et requiert donc global $DOCUMENT_ROOT dans le corps de la fonction. Voyez aussi la page du manuel à propos de la portée des variables. Il est recommandé de coder avec register_globals = off.

Note: Superglobales : disponibilité
Depuis PHP 4.1.0, les tableaux superglobaux tels que $_GET, $_POST et $_SERVER, etc. sont disponibles. Pour plus d'informations, lisez la section superglobals

Certaines directives PHP peuvent prendre des noms littéraux, et pas seulement des valeurs entières . Quelles sont tous les raccourcis disponibles? Peut-on les utiliser en dehors de php.ini?

Les options disponibles sont K (pour Kilo octets) et M (pour mégaoctet) et G (pour gigaoctet ; disponible depuis PHP 5.1.0), ils sont insensibles à la casse. Tout autre syntaxe est supposée représenter des octets. 1M équivaut à un mégaoctet ou 1048576 octets. 1K équivaut à un kilooctet ou 1024 octets. Vous ne devriez pas utiliser ces abréviations en dehors du fichier php.ini. À la place, utilisez une valeur entière en octets. Lisez la documentation sur la fonction ini_get() pour un exemple sur la façon de convertir ces valeurs.

Problèmes de compilation
PHP et HTML
FAQ


PHP et HTML

PHP et HTML sont très interactifs : PHP peut générer du HTML et HTML peut passer des informations à PHP. Avant de lire cette faq (foire aux questions), il est important que vous appreniez comment récupérer des variables externes à PHP. La page du manuel correspondante contient beaucoup d'exemples. Faites particulièrement attention à ce que signifie register_globals.

  1. Quel encodage/décodage ai-je besoin lors du passage d'une valeur via un formulaire/une URL ?
  2. J'essaye d'utiliser <input type="image"> mais les variables $foo.x et $foo.y ne sont pas disponibles. $_GET['foo.x'] n'existe pas non plus. Où sont-elles ?
  3. Comment créer un tableau dans une balise <form> HTML ?
  4. Comment puis-je récupérer le résultat d'un champ HTML SELECT multiple ?
  5. Comment puis-je passer une variable de Javascript vers PHP ?
Quel encodage/décodage ai-je besoin lors du passage d'une valeur via un formulaire/une URL ?

Il y a plusieurs étapes pour lesquelles le codage est important. En supposant que vous avez une chaîne de caractères $data, qui contient la chaîne que vous voulez passer de manière non-encodée, voici les étapes appropriées :

  • Interprétation HTML. Afin d'indiquer une chaîne aléatoire, vous devez l'inclure entre doubles guillemets et utiliser la fonction htmlspecialchars() pour encoder la chaîne.

  • URL : une URL est constituée de plusieurs parties. Si vous voulez que vos données soient interprétées comme un seul élément, vous devez les encoder avec la fonction urlencode().

Exemple #1 Un élément de formulaire HTML caché

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />';
?>

Note: Il n'est pas correct d'utiliser la fonction urlencode() pour vos données $data, car il en est de la responsabilité du navigateur de les encoder. Tous les navigateurs populaires le font correctement. Notez que cela s'effectue sans considération de la méthode utilisée (c'est-à-dire GET ou POST). Vous devez uniquement noter ce cas pour les requêtes GET, car les requêtes POST sont généralement cachées.

Exemple #2 Données éditables par l'utilisateur

<?php
echo "<textarea name=\"mydata\">\n";
echo htmlspecialchars($data)."\n";
echo '</textarea>';
?>

Note: Les données sont montrées dans le navigateur comme prévues, car celui-ci interprétera les symboles HTML échappés. Au moment de la validation, via la méthode GET ou POST, les données devraient être url-encodées par le navigateur avant le transfert et directement url-décodées par PHP. Donc, finalement, vous n'avez pas à effectuer d'url-encodage/url-decodage vous-même, tout est effectué automatiquement.

Exemple #3 Dans une URL

<?php
echo "<a href=\"" . htmlspecialchars("/nextpage.php?stage=23&data=" .
        urlencode($data)) . "\">\n";
?>

Note: En fait, vous simulez une requête GET HTML, il est nécessaire d'utiliser manuellement la fonction urlencode() sur vos données.

Note: Vous devez utiliser htmlspecialchars() sur l'URL complète, car l'URL se comporte comme la valeur d'un attribut HTML. Dans ce cas, le navigateur fera un htmlspecialchars() sur la valeur et passera le résultat à l'URL. PHP devrait comprendre l'URL correctement, car vous avez url-encodé les données. Vous devez noter que & dans l'URL est remplacé par &amp;. Bien que la plus part des navigateurs devraient corriger cela si vous l'oubliez, ce n'est pas toujours le cas. Donc, même si votre URL n'est pas dynamique, vous devez utiliser la fonction htmlspecialchars() sur l'URL.

J'essaye d'utiliser <input type="image"> mais les variables $foo.x et $foo.y ne sont pas disponibles. $_GET['foo.x'] n'existe pas non plus. Où sont-elles ?

Lorsque vous validez un formulaire, il est possible d'utiliser une image au lieu du bouton standard de type "submit" avec une balise du type :

<input type="image" src="image.gif" name="foo" />
Lorsque l'utilisateur clique sur l'image, le formulaire est transmis au serveur avec deux variables supplémentaires : foo.x et foo.y qui représentent les coordonnées du point cliqué.

Comme foo.x et foo.y sont des noms de variables invalides en PHP, elles sont automatiquement converties en foo_x et foo_y. Les points sont remplacés par des soulignés. Donc, vous devez accéder à ces variables comme n'importe quelle autre variable tel que décrit dans la section "Variables provenant d'autres sources". Par exemple, en utilisant $_GET['foo_x'].

Note: Les espaces dans les noms de variables sont également converties en un souligné bas.

Comment créer un tableau dans une balise <form> HTML ?

Pour envoyer le résultat du <form> comme un tableau de variables à votre script PHP, vous devez nommer, via l'attribut name, les balises <input>, <select> ou <textarea> comme cela :

<input name="MonTableau[]" />
<input name="MonTableau[]" />
<input name="MonTableau[]" />
<input name="MonTableau[]" />
Noter les crochets après le nom de la variable, c'est ce qui fait que celle-ci sera un tableau. Vous pouvez grouper les éléments dans différents tableaux de variables en assignant le même nom à différents éléments :
<input name="MonTableau[]" />
<input name="MonTableau[]" />
<input name="MonAutreTableau[]" />
<input name="MonAutreTableau[]" />
Cela produira deux tableaux de variables, MonTableau et MonAutreTableau, qui seront envoyés au script PHP. Il est également possible d'assigner des clés spécifiques à votre tableau :
<input name="UnAutreTableau[]" />
<input name="UnAutreTableau[]" />
<input name="UnAutreTableau[email]" />
<input name="UnAutreTableau[telephone]" />
Le tableau UnAutreTableau contiendra les clés 0, 1, email et telephone.

Note: Le fait de spécifier une clé à un tableau est optionnel en HTML. Si vous ne le faites pas, les clés du tableau suiveront l'ordre d'apparition des éléments dans le formulaire. Dans notre premier exemple, le tableau contient les clés 0, 1, 2 et 3.

Voir aussi les fonctions sur les tableaux de variables et la section sur les variables provenant d'autres sources.

Comment puis-je récupérer le résultat d'un champ HTML SELECT multiple ?

Le champ SELECT multiple en HTML permet à l'utilisateur de sélectionner plusieurs éléments d'une liste. Ces éléments seront transmis à la page pointée par l'attribut action de la balise form. Le problème est que ces éléments sont tous passés avec le même nom de variable.

<select name="var" multiple="yes">
Chaque option sélectionnée arrivera au mécanisme de traitement sous la forme :
var=option1
var=option2
var=option3
Chaque option effacera donc le contenu de la précédente variable $var. La solution consiste à utiliser un tableau de variables dans cet élément de formulaire HTML, par exemple :
<select name="var[]" multiple="yes">
Cela fera que PHP traitera $var comme un tableau de variables et que chaque assignement de valeur à var[] ajoutera un index au tableau. La première option choisie sera mise dans $var[0], la suivante sera mise dans $var[1], etc. La fonction count() peut être utilisée pour déterminer combien d'options ont été sélectionnées, et la fonction sort() peut être utilisée pour trier le tableau, si nécessaire.

Notez que si vous utilisez Javascript, [] dans le nom de l'élément peut vous poser problème lorsque vous tenterez d'accéder à celui-ci par son nom. Utilisez plutôt l'indice numérique de l'élément dans ce cas, ou bien utilisez les simples guillemets pour entourer cet élément, comme :

variable = documents.forms[0].elements['var[]'];

Comment puis-je passer une variable de Javascript vers PHP ?

Javascript est (habituellement) une technologie côté client et PHP est (habituellement) une technologie côté serveur et sachant que HTTP est un protocole statique, les deux langages ne peuvent pas directement partager des variables.

Cependant, il est possible de faire passer des variables entre les deux. Une des solutions pour cela est de générer un code Javascript à l'aide de PHP et de faire rafraîchir le navigateur tout seul, passant ainsi des variables spécifiques au script PHP. L'exemple suivant montre précisément comme réaliser cela -- il permet à PHP de récupérer les dimensions de l'écran du client, ce qui est normalement possible qu'en technologie coté client.

Exemple #4 Génération de Javascript avec PHP

<?php
if (isset($_GET['largeur']) AND isset($_GET['hauteur'])) {
  // Affichage des variables
  echo 'La largeur de l\'écran est : ' . $_GET['largeur'] ."<br />\n";
  echo 'La hauteur de l\'écran est : ' . $_GET['hauteur'] . "<br />\n";
} else {
  // passage des variables de dimensions
  // (préservation de la requête d'origine
  //   -- les variables par méthode POST doivent être traitées différemment)

  echo "<script type=\"text/javascript\">\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&largeur=\" + screen.width + \"&hauteur=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

Utiliser PHP
PHP et COM
FAQ


PHP et COM

PHP peut être utilisé pour accéder à des objets COM et DCOM sur les plates-formes Win32.

  1. J'ai compilé une DLL pour calculer quelque chose. Y a-t-il un moyen d'utiliser cette DLL sous PHP ?
  2. Que signifie 'Unsupported variant type: xxxx (0xxxxx)' ?
  3. Est-il possible de manipuler des objets visuels en PHP ?
  4. Puis-je stocker un objet COM dans une session ?
  5. Comment puis-je intercepter des erreurs COM ?
  6. Puis-je générer des fichiers DLL à partir de PHP comme je le fais avec Perl ?
  7. Que signifie 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?
  8. Comment puis-je utiliser des objets COM à partir d'un serveur distant ?
  9. J'obtiens 'DCOM is disabled in C:\path...\scriptname.php on line 6', que dois-je faire ?
  10. Est-il possible de charger/manipuler des objets ActiveX dans une page en PHP ?
  11. Est-il possible d'obtenir une instance fonctionnelle d'un composant ?
  12. Y a-t-il moyen de manipuler un événement envoyé par un objet COM ?
  13. J'ai des problèmes quand j'invoque une méthode d'un objet COM qui expose plus d'une interface. Que puis-je faire ?
  14. Bon, PHP fonctionne avec COM, mais qu'en est-il de COM+ ?
  15. Si PHP peut manipuler des objets COM, peut-on imaginer d'utiliser des ressources de composants, en conjonction avec PHP ?
J'ai compilé une DLL pour calculer quelque chose. Y a-t-il un moyen d'utiliser cette DLL sous PHP ?

Si c'est une DLL simple, il n'y a aucun moyen pour le moment de l'utiliser avec PHP. Si la DLL contient un serveur COM, vous pourrez l'utiliser si elle implémente l'interface IDispatch.

Que signifie 'Unsupported variant type: xxxx (0xxxxx)' ?

Il y a des dizaines de types de VARIANT et de combinaisons entre elles. La plupart d'entre elles sont déjà supportées, mais quelques une ne sont toujours pas implémentées. Les tableaux ne sont pas complètement supportés. Seuls le tableaux unidimensionnels indexés peuvent être transmis entre PHP et COM. Si vous trouvez d'autres types qui ne sont pas supportés, reportez-les nous comme un bogue (si ce n'est pas déjà fait) et fournissez le plus d'informations possibles.

Est-il possible de manipuler des objets visuels en PHP ?

Généralement, c'est possible, mais comme PHP est utilisé le plus souvent en tant que langage de script web et dans un environnement de serveur web, les objets visuels n'apparaîtront jamais sur le bureau du serveur. Si vous voulez utiliser PHP pour scripter des applications, par exemple avec PHP-GTK, il n'y a aucune limitation à accéder et manipuler des objets visuels via COM.

Puis-je stocker un objet COM dans une session ?

Non, vous ne pouvez pas. Les instances COM sont traitées comme des ressources, ce qui signifie qu'elles ne sont disponibles que dans un seul contexte de script.

Comment puis-je intercepter des erreurs COM ?

En PHP 5, l'extension COM envoie des exceptions com_exception, que vous pouvez intercepter en inspectant le membre code pour déterminer que faire.

En PHP 4, il n'est pas possible d'intercepter des erreurs COM en dehors de la façon dont elles sont fournies par PHP lui-même (@, track_errors, ..).

Puis-je générer des fichiers DLL à partir de PHP comme je le fais avec Perl ?

Non, il n'y a malheureusement pas d'outil disponible pour le faire en PHP.

Que signifie 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?

Cette erreur peut avoir plusieurs causes :

  • le CLSID est incorrect
  • la DLL demandée est introuvable
  • le composant demandé n'implémente pas l'interface IDispatch

Comment puis-je utiliser des objets COM à partir d'un serveur distant ?

Exactement de la même manière qu'avec des objets locaux. Vous devez juste passer l'adresse IP de la machine distante en deuxième paramètre du constructeur COM.

Assurez-vous que vous avez spécifié com.allow_dcom =TRUE dans votre php.ini.

J'obtiens 'DCOM is disabled in C:\path...\scriptname.php on line 6', que dois-je faire ?

Éditez votre php.ini et mettez com.allow_dcom =TRUE.

Est-il possible de charger/manipuler des objets ActiveX dans une page en PHP ?

Cela n'a rien à voir avec PHP. Les objets ActiveX sont chargés côté client s'il sont demandés par le document HTML. Il n'y a aucune relation avec le script PHP et il n'y a pas d'interaction directe possible avec le serveur.

Est-il possible d'obtenir une instance fonctionnelle d'un composant ?

C'est possible avec l'aide de monikers. Si vous voulez des références multiples au même mot d'instance, vous pouvez créer une instance de la façon suivante :

<?php
$word = new COM("C:\docs\word.doc");
?>

Cela créera une nouvelle instance s'il n'y en a aucune disponible ou retournera un descripteur vers l'instance courante, si elle est disponible.

Y a-t-il moyen de manipuler un événement envoyé par un objet COM ?

Vous pouvez définir un moniteur d'événement (sink) et le lier en utilisant com_event_sink(). Vous pouvez utiliser com_print_typeinfo() pour que PHP génère un squelette pour la classe du moniteur d'événement.

J'ai des problèmes quand j'invoque une méthode d'un objet COM qui expose plus d'une interface. Que puis-je faire ?

La réponse est aussi simple que non satisfaisante. Je ne sais pas exactement, mais je pense que vous ne pouvez rien faire. Si quelqu'un a des informations spécifiques sur ce sujet, faites-le » moi savoir :)

Bon, PHP fonctionne avec COM, mais qu'en est-il de COM+ ?

COM+ étend COM avec un canevas pour gérer des composants via MTS et MSMQ mais il n'y a rien de particulier que PHP doit supporter pour utiliser de tels composants.

Si PHP peut manipuler des objets COM, peut-on imaginer d'utiliser des ressources de composants, en conjonction avec PHP ?

PHP ne supporte pas encore les transactions. Ainsi, si une erreur se produit, aucun rollback n'est initié. Si vous utilisez des composants qui supportent les transactions, vous devrez implémenter le gestionnaire de transactions par vous-même.

PHP et HTML
PHP et les autres langages
FAQ


PHP et les autres langages

PHP est le meilleur langage pour la programmation web, mais qu'en est-il des autres langages ?

  1. PHP contre ASP ?
  2. PHP contre Cold Fusion ?
  3. PHP contre Perl ?
PHP contre ASP ?

ASP n'est pas vraiment un langage en lui-même, c'est l'acronyme de Active Server Pages, les langages courants pour programmer en ASP étant Visual Basic Script, JScript et C#, entre autres. Le plus gros inconvénient de ASP est que c'est un système propriétaire utilisé nativement sur Microsoft Internet Information Server (IIS). Cela limite sa disponibilité aux seules plates-formes Win32. Il existe cependant des projets pour utiliser ASP dans d'autres environnements et avec d'autres serveurs web : » InstantASP de » Halcyon (commercial), Chili!Soft ASP de » Chili!Soft (commercial) et » Mono (open-source). ASP est connu pour être un langage plus lent et plus lourd que PHP, mais aussi généralement moins stable. Les gens favorables à ASP prétendront que comme ils utilisent de base VBScript, c'est un langage facile à apprendre si vous connaissez déjà Visual Basic. Le support de ASP est activé par défaut dans IIS, le rendant facile à mettre en oeuvre et à utiliser. Les composants inclus de base dans ASP sont vraiment limités, et si vous devez utiliser des fonctionnalités "avancées" comme l'interaction avec des serveurs FTP, vous devrez acheter des composants supplémentaires.

PHP contre Cold Fusion ?

Si PHP est réputé pour être plus rapide et plus efficace pour la programmation complexe et pour tester de nouvelles idées, il est aussi réputé plus stable et moins consommateur de ressources. Bien que Cold Fusion ait eu une meilleure gestion des erreurs, une meilleure abstraction de bases de données et une meilleure gestion des dates, le retard en terme d'abstraction de bases de données a été comblé depuis PHP 4. Un autre point réputé pour être une des forces de Cold Fusion est sont excellent moteur de recherche, mais il peut paraître absurde d'intégrer un moteur de recherche dans un langage de script Web. PHP fonctionne sur quasiment toutes les plate-formes modernes alors que Cold Fusion ne supporte que Windows, Solaris, Linux, MacOS et AIX. Cold Fusion intègre un bon environnement de développement (IDE) et il est facile à apprendre, alors que PHP requiert davantage de connaissances en programmation. Cold Fusion est pensé pour des non-développeurs, alors que PHP est pensé pour les développeurs.

PHP contre Perl ?

Le plus grand avantage de PHP par rapport à Perl est que PHP a été pensé pour la programmation Web alors que Perl a été pensé pour faire des choses bien plus diversifiées, ce qui le rend bien plus compliqué. La complexité / flexibilité de Perl rend difficile la collaboration entre développeurs de niveaux différents. PHP a un formalisme moins confus et plus structuré sans pour autant perdre en flexibilité. PHP est aussi plus facile que Perl à intégrer dans du HTML. De façon générale, PHP a toutes les "bonnes" fonctionnalités de Perl : la construction, la syntaxe... sans pour autant être aussi compliqué que Perl. De plus, l'interpréteur en ligne de commande (CLI) de PHP est assez puissant pour faire les mêmes tâches de haut-niveau que celles pour lesquelles Perl était d'habitude utilisé. Perl est un véritable langage bien éprouvé, fidèle à ses bases depuis la fin des années 80, mais PHP est devenu mature et a évolué très rapidement, et continue encore de faire des progrès fantastiques.

PHP et COM
Migrer de PHP 4 à PHP 5
FAQ


Migration de PHP 4 à PHP 5

Cette section devrait vous aider à migrer de PHP 4 à PHP 5.

  1. Migration de PHP 4 à PHP 5
  2. Est-ce que MySQL fonctionne en PHP 5 ? Il semble avoir disparu.
  3. J'ai entendu dire que PHP 5 à un tout nouveau modèle objet ; est-ce que mon actuel code objet fonctionne ? Où puis-je trouver des informations concernant ces nouvelles fonctionnalités ?
  4. Donc, mise à part le nouveau modèle objet, qu'est-ce qui a changé dans PHP 5 ? En particulier, existe-t-il une version spécifique du manuel PHP ?
Migration de PHP 4 à PHP 5

Bien que PHP 5 offre beaucoup de nouvelles fonctionnalités, il a été prévu pour être compatible avec les anciennes versions de PHP autant que possible, avec un minimum de fonctionnalités rompues dans le processus.

Assurez-vous de lire l'annexe intitulé "Migrer en PHP 5" de ce manuel ; il contient beaucoup plus d'informations concernant la migration en PHP 5.

Est-ce que MySQL fonctionne en PHP 5 ? Il semble avoir disparu.

MySQL est supporté avec la seule différence que le support de MySQL n'est plus activé par défaut en PHP 5. Cela signifie essentiellement que PHP n'inclut pas automatiquement --with-mysql dans la configuration ; vous devez donc maintenant l'ajouter à la main lorsque vous compilez PHP. Les utilisateurs de Windows doivent éditer leur php.ini et activer la bibliothèque DLL php_mysql.dll, sachant qu'en PHP 4, cette bibliothèque n'existait pas, elle était automatiquement incluse dans le binaire PHP.

En outre, la bibliothèque cliente MySQL n'est plus incluse avec PHP. Plus de détails sur ce sujet sont consultables dans cette section de la FAQ ; lisez également la section MySQL pour les détails concernant l'installation de MySQL. Un exemple de ligne de configuration serait --with-mysql=/usr alors que les utilisateurs de Windows doivent avoir la bibliothèque DLL nommée libmySQL.dll de disponible sur leur système.

J'ai entendu dire que PHP 5 à un tout nouveau modèle objet ; est-ce que mon actuel code objet fonctionne ? Où puis-je trouver des informations concernant ces nouvelles fonctionnalités ?

Le principal changement en PHP 5 est le nouveau model objet car PHP 5 utilise désormais le Zend Engine 2.0. La directive zend.ze1_compatibility_mode active la compatibilité avec le Zend Engine 1.0 (PHP 4).

Le nouveau model objet est documenté dans la référence du langage orienté objet ainsi que dans les sections concernant la migration du model objet.

Donc, mise à part le nouveau modèle objet, qu'est-ce qui a changé dans PHP 5 ? En particulier, existe-t-il une version spécifique du manuel PHP ?

Peu de changements existent mise à part le modèle objet, lisez l'annexe "Migration 5" pour plus de détails. Il n'y a pas de version spécifique à PHP 5 de ce manuel car la majorité des fonctionnalités de PHP restent les mêmes.

PHP et les autres langages
Questions diverses
FAQ


Questions diverses

Il y'a quelques questions inclassables. Vous les trouverez ici.

  1. Comment puis-je manipuler le manuel compressé en bzip2 sous Windows ?
  2. Que signifie le caractère "&" devant les arguments dans les déclarations des fonctions comme la fonction asort ?
  3. Comment puis-je gérer la directive register_globals ?
Comment puis-je manipuler le manuel compressé en bzip2 sous Windows ?

Si vous n'avez pas d'outil d'archivage prenant en charge les fichiers au format bz2, » téléchargez l'outil en ligne de commande à partir de Redhat (merci de lire les informations plus bas).

Si vous préférez ne pas utiliser d'outil en ligne de commande, vous pouvez essayer des outils gratuits comme » Stuffit Expander, » UltimateZip, » 7-Zip, ou » Quick Zip. Si vous avez des outils comme » WinRAR ou » Power Archiver, vous pouvez facilement décompresser les fichiers bz2 avec. Si vous utilisez Total Commander (autrefois Windows Commander), un plugin bz2 est disponible gratuitement sur le site de » Total Commander.

L'outil en ligne commande bzip2 de Redhat :

Les utilisateurs du service pack 2 de Win2K doivent prendre la version 1.0.2, tous les autres utilisateurs de Windows doivent prendre la version 1.00. Après avoir téléchargé, renommez l'exécutable en bzip2.exe. Pour votre convenance, mettez-le dans un dossier dans votre path, c'est à dire C:\Windows où C représente votre disque où Windows est installé.

Note : Dans ce qui suit, lang représente votre langue et x le format désiré, par exemple : pdf. Pour décompresser php_manual_lang.x.bz2 suivez les instructions suivantes :

  • ouvrez un invite de commande
  • déplacez-vous dans le dossier où se trouvent les fichiers php_manual_lang.x.bz2
  • lancez la commande bzip2 -d php_manual_lang.x.bz2, pour extraire php_manual_lang.x dans ce même dossier

Dans le cas où vous avez téléchargé le fichier php_manual_lang.tar.bz2 avec beaucoup de fichiers HTML à l'intérieur, la procédure est la même. La seule différence est que vous obtiendrez un fichier php_manual_lang.tar. Le format tar est connu pour être pris en compte par la plupart des archiveurs de Windows, comme » WinZip.

Que signifie le caractère "&" devant les arguments dans les déclarations des fonctions comme la fonction asort() ?

Cela signifie que cet argument est passé par référence et que la fonction le modifiera, comme expliqué dans la documentation. Vous pouvez passer uniquement des variables de cette façon et vous n'avez pas besoin de les passer avec le caractère "&" dans l'appel de la fonction (car dépréciée).

Comment puis-je gérer la directive register_globals ?

Pour plus d'informations concernant l'implication sur la sécurité de la directive register_globals, lisez le chapitre sur la sécurité concernant l'utilisation de register_globals.

Il est préférable d'utiliser les superglobals, plutôt que de remettre à on la directive register_globals.

Si vous êtes sur un serveur mutualisé avec la directive register_globals de positionnée à off et que vous devez utiliser des applications qui requièrent que cette option soit à on ou si vous êtes hébergés sur un serveur qui a cette directive d'activée mais que vous voudriez éliminer ce risque sécuritaire, vous devriez émuler l'argument opposé avec PHP. C'est toujours une bonne idée que de demander tout d'abord s'il est possible de modifier cette option dans la configuration de PHP mais si cela n'est pas possible, vous pouvez utiliser ces astuces de compatibilité.

Exemple #5 Émulation des Register Globals

Ceci émulera la directive register_globals à On. Si vous modifiez la directive variables_order, modifiez la variable $superglobals pour qu'elle corresponde à votre nouvelle directive..

<?php
// Émulation de register_globals à on
if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobals, $_SESSION);
    }
    foreach ($superglobals as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>

Ceci émulera register_globals à Off. Gardez à l'esprit que ce code doit être appelé au tout début de votre script ou après la fonction session_start() si vous l'utilisez pour commencer votre session.

<?php
// Émulation de register_globals à off
function unregister_GLOBALS()
{
    if (!ini_get('register_globals')) {
        return;
    }

    // Vous pouvez vouloir modifier cela pour avoir une erreur plus jolie
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
    die('Tentative d\'effacement des GLOBALS détectée');
    }

    // Les variables à ne jamais effacer
    $noUnset = array('GLOBALS',  '_GET',
    '_POST',    '_COOKIE',
    '_REQUEST', '_SERVER',
    '_ENV',     '_FILES');

    $input = array_merge($_GET,    $_POST,
    $_COOKIE, $_SERVER,
    $_ENV,    $_FILES,
    isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach ($input as $k => $v) {
        if (!in_array($k, $noUnset) && isset($GLOBALS[$k])) {
            unset($GLOBALS[$k]);
        }
    }
}

unregister_GLOBALS();

?>

Migrer de PHP 4 à PHP 5
Annexes
FAQ


Annexes

  • Histoire de PHP
    • Histoire de PHP
    • Quelques projets liés à PHP
    • Livres traitant de PHP
    • Publications sur PHP
  • Migration de PHP 5.2.x vers PHP 5.3.x
    • Ce qui change en PHP 5.3.x
    • Évolutions incompatibles avec les versions précédentes
    • Nouvelles fonctionnalités
    • Évolutions du support de Windows
    • Évolutions des modules SAPI
    • Fonctionnalités obsolètes en PHP 5.3.x
    • Undeprecated features in PHP 5.3.x
    • Nouveaux paramètres
    • Nouvelles fonctions
    • Nouveaux gestionnaires de flux
    • Nouveaux filtres de flux
    • Nouvelles constantes de classe
    • Nouvelles méthodes
    • Nouvelles extensions
    • Extensions retirées
    • Autres changements aux extensions
    • Nouvelles classes
    • Nouvelles constantes globales
    • Modifications à la gestion du fichier INI
    • Autres changements
  • Migration de PHP 5.1.x à PHP 5.2.x
    • Ce qui a changé en PHP 5.2.x
    • Changements incompatibles avec les versions précédentes
    • Nouveaux messages d'erreurs
    • Modification dans le support PHP de datetime
    • Nouveaux paramètres
    • Nouvelles fonctions
    • Nouvelles méthodes
    • Extensions supprimées
    • Nouvelles extensions
    • Nouvelles classes
    • Nouvelles constantes globales
    • Nouvelles constantes de classe
    • Nouvelles directives INI
    • Rapports d'erreur
    • Améliorations
  • Migration de PHP 5.0.x à PHP 5.1.x
    • Nouvelles fonctionnalités PHP 5.1.x
    • Changement dans la gestion des références
    • Lecture de []
    • Valeurs entières dans les paramètres de fonction
    • Changements dans les classes et objets
    • Extensions
    • Support des dates et heures
    • Modifications dans le support des bases de données
    • Vérifier E_STRICT
  • Migration de PHP 4 à PHP 5.0.x
    • Nouveautés de PHP 5.0.x
    • Incompatibilités avec les version antérieures
    • CLI et CGI
    • Migration des fichiers de configuration
    • Nouvelles fonctions
    • Nouvelles Directives
    • Bases de données
    • Nouveau Modèle Objet
    • Rapport d'erreurs
  • Les classes et les objets (PHP 4)
    • Les classes : class
    • extends : héritage
    • Constructeur
    • Opérateur de contexte de classe (::)
    • parent
    • Sauvegarde d'objets - cas des sessions
    • Les fonctions magiques __sleep et __wakeup
    • Références dans un constructeur
    • Comparer des objets
  • Débogueur PHP
    • À propos du débogueur en PHP
  • Options de configuration
    • Liste des options de configuration internes
  • Directives du php.ini
    • Liste des directives du php.ini
    • Liste des sections du fichier php.ini
    • Description des directives internes du php.ini
  • Catégorie/Liste des extensions
    • Par ordre alphabétique
    • Adhésion
    • État
  • Liste des alias
  • Mots réservés en PHP
    • Liste de mots-clés
    • Classes prédéfinies
    • Constantes pré-définies
  • Types des ressources PHP
  • Liste des protocoles supportés
    • Système de fichiers
    • HTTP et HTTPS
    • FTP et FTPS
    • Flux d'entrée/sortie
    • Flux compressés
    • Données (RFC 2397)
    • Glob
    • Phar
    • Shell sécurisé 2
    • Flux Audio
    • Gestionnaire de flux
  • Liste des filtres standards
    • Filtres de chaînes de caractères
    • Filtres de conversion
    • Filtres de compression
    • Filtres de chiffrement
  • Liste des modes de transport de sockets disponibles
    • Domaines Internet : TCP, UDP, SSL et TLS
    • Domaine Unix : UNIX et UDG
  • Comparaison de types en PHP
  • Liste des tokens de l'analyseur
  • Guide de nommage de l'espace utilisateur
    • Espace de noms global
    • Règles
    • Astuces
  • À propos du manuel
    • Formats
    • À propos des notes utilisateurs
    • Comment lire la définition d'une fonction (prototype)
    • Versions de PHP documentées dans ce manuel
    • Où trouver plus d'informations sur PHP ?
    • Comment aider à l'amélioration de la documentation ?
    • Comment sont générées les documentations
    • Traductions
  • Creative Commons Attribution 3.0
  • Index des fonctions
Questions diverses
Histoire de PHP
Manuel PHP


Histoire de PHP
Annexes
PHP Manual

Histoire de PHP

Sommaire

  • Histoire de PHP
  • Quelques projets liés à PHP
  • Livres traitant de PHP
  • Publications sur PHP

L'évolution de PHP s'est faite en quelques années. Devenir l'un des langages les plus importants du web ne fut pas une évolution simple. Pour ceux que ça intéresse, voici comment PHP a évolué jusqu'à aujourd'hui. Les vieilles versions de PHP sont disponibles dans le » musée PHP.

Annexes
Histoire de PHP
Annexes


Histoire de PHP
Quelques projets liés à PHP
Histoire de PHP
PHP Manual

Histoire de PHP

PHP/FI

PHP a pris la suite d'un langage plus ancien, appelé PHP/FI. PHP/FI a été créé par Rasmus Lerdorf, en 1995. C'était initialement une bibliothèque de scripts Perl, dont il se servait pour noter les accès à son CV en ligne. Il donna le nom de 'Personnal Home Page Tools' à cette bibliothèque. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation en C, capable de communiquer avec les bases de données, et de créer des applications dynamiques et simples pour le web. Rasmus décida alors de publier » son code, pour que tout le monde puisse l'utiliser et en profiter. Cela appela aussi aux contributions et aux améliorations du code.

PHP/FI, qui signifie Personal Home Page / Forms Interpreter, (Home Page personnelle, Interpreteur de Formulaires), incluait plusieurs fonctionnalités de base que nous connaissons encore aujourd'hui. Il avait ces variables qui ressemblent au Perl, un système d'interprétation automatique des variables de formulaires, et une syntaxe qui s'intègre facilement dans HTML. La syntaxe elle-même était similaire à celle du Perl mais beaucoup plus limitée. Elle était simple et un peu incohérente.

En 1997, PHP/FI 2.0, la seconde version en langage C, avait déjà une audience estimée de plusieurs milliers d'utilisateurs dans le monde, et environ 50,000 noms de domaine indiquaient qu'ils avaient installé PHP. Cela représentait environ 1 % des noms de domaine sur l'Internet. Même si le nombre de contributeurs était plutôt élevé, PHP était toujours le projet d'un seul homme.

PHP/FI 2.0 fut publié officiellement en novembre 1997, après avoir passé l'essentiel de sa vie en version bêta. Peu de temps après, une version alpha de PHP 3.0 était publiée.

Exemple #1 Exemple de code PHP/FI

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hé, vous utilisez Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Désolé, cette ligne n'existe pas<p>
<!--endif exit-->
  Bienvenue <!--$user-->!<p>
  Vous avez <!--$index:0--> crédits sur votre compte.<p>

<!--include /text/footer.html-->

PHP 3

PHP 3.0 fut la première version du langage tel que nous le connaissons actuellement. Il fut créé par Andi Gutmans et Zeev Suraski en 1997, sous forme de réécriture complète de PHP/FI, lorsqu'ils s'aperçurent que PHP/FI était sous-performant pour leur application de commerce électronique. Dans un effort de coopération et de compatibilité avec les anciennes versions de PHP/FI, Andi, Rasmus et Zeev décidèrent de coopérer et d'annoncer PHP 3.0 comme le successeur officiel de PHP/FI. Le développement de PHP/FI 2.0 fut complètement arrêté.

Une des améliorations notables de PHP 3.0 fut ses capacités d'extensions. En plus de fournir une solide infrastructure aux utilisateurs finaux, des accès à de nombreuses bases de données et protocoles, PHP 3.0 proposait une API modulaire, qui attira des douzaines de développeurs. Ceux-ci réalisèrent et partagèrent de nouvelles extensions. Sans doute, ce fut la clé du succès retentissant de PHP 3.0. Les autres améliorations de PHP 3.0 furent le support de la syntaxe objet, et une syntaxe de langage plus robuste et cohérente.

Le nouveau langage fut publié sous un nouveau nom, qui indiquait clairement que le projet n'était plus un projet personnel, comme l'était PHP/FI 2.0. Il fut nommé 'PHP' avec une nouvelle signification : 'PHP: Hypertext Preprocessor'. C'est un acronyme récursif, c'est-à-dire qu'il se définit lui-même. En français, cela donne : 'Le préprocesseur Hypertexte, c'est PHP'.

À la fin de 1998, PHP avait conquis une base de plusieurs dizaines de milliers d'utilisateurs, et des centaines de milliers de sites indiquaient qu'ils l'utilisaient. Au plus fort de son utilisation, PHP 3.0 était installé sur 10 % du parc mondial de serveurs web.

PHP 3.0 fut officiellement publié en Juin 1998, après 9 mois de tests.

PHP 4

Durant l'hiver 1998, juste après la publication de PHP 3.0, Andi Gutmans et Zeev Suraski commencèrent la réécriture du moteur interne de PHP à la base. L'objectif était d'améliorer les performances de PHP avec les applications complexes et d'améliorer la modularité du code. Ces applications étaient rendues possibles par la syntaxe de PHP 3.0 mais le logiciel n'était pas conçu pour supporter efficacement ces applications.

Le nouveau moteur, appelé 'Zend Engine' (combinaison des noms de Zeev et Andi), atteint cet objectif avec succès, et la première version fut publiée vers la mi-1999. PHP 4.0, s'appuyant sur ce moteur et amélioré par un grand nombre de nouvelles fonctionnalités, fut publié officiellement en mai 2000, presque 2 ans après son prédécesseur. En plus de performances nettement plus élevées, PHP 4.0 apportait le support de nombreux serveurs web, les sessions HTTP, la bufferisation de sortie, une sécurité accrue des informations visiteurs et plusieurs nouvelles structures de langage.

Actuellement, PHP est utilisé par des centaines de milliers de développeurs, et plusieurs millions de sites web indiquent qu'ils sont configurés avec PHP, ce qui représente environ 20 % des noms de domaine sur Internet.

L'équipe de développement de PHP inclut des douzaines de développeurs, et d'autres équipes travaillent à des projets liés tels que PEAR ou la documentation.

PHP 5

PHP 5 est sorti en Juillet 2004 après un long développement et plusieurs pré-versions. Il est régi par son moteur, le Zend Engine 2.0 avec un nouveau modèle et des dizaines de nouvelles fonctionnalités.

Histoire de PHP
Quelques projets liés à PHP
Histoire de PHP
PHP Manual


Quelques projets liés à PHP

PEAR

» PEAR, signifie PHP Extension and Application Repository (initialement, PHP Extension and Add-on Repository) et est la première version des classes de base en PHP. Elle deviendra à terme le moyen privilégié de distribuer des extensions PHP entre développeurs.

PEAR a été conçu durant les débats tenus lors des PHP Developers' Meeting (PDM) (Rencontres de développeurs PHP), qui ont eu lieu en Janvier 2000 à Tel Aviv. Il a été créé à l'initiative de Stig S. Bakken, et dédié à sa première fille, Malin Bakken.

Depuis l'an 2000, PEAR a grossi jusqu'à devenir un projet significatif avec un groupe de développeurs compétents, qui travaillent à mettre en place une bibliothèque complète, réutilisable et commune à la communauté PHP entière. PEAR inclut une vaste sélection de classes de base pour réaliser une couche d'abstraction de bases de données, du cache, des calculs mathématiques et des transactions de commerce électronique.

Plus d'informations sur PEAR sont disponibles dans » le manuel.

Equipe d'assurance Qualité

» L'équipe d'assurance Qualité de PHP a été mise en place durant l'été 2000, en réponse aux critiques reçues par PHP 3.0, qui n'était pas suffisamment testé sur des environnements de production. L'équipe est constituée d'un groupe de développeurs de haut niveau, qui ont une bonne connaissance des sources PHP. Ces développeurs passent le plus clair de leur temps à localiser et supprimer les bogues trouvés dans PHP. De plus, il y a bien d'autres membres du groupe PHP qui testent et fournissent un compte-rendu fidèle de l'utilisation de PHP sur différentes plate-formes.

PHP-GTK

» PHP-GTK est la solution PHP pour écrire des applications avec interface, coté client. Andrei Zmievski se souvient de la création de PHP-GTK :

La programmation d'interface GUI a toujours été une passion pour moi, et je pensais que Gtk+ était une excellente bibliothèque, hormis le fait qu'elle était écrite en C, ce qui était plutôt laborieux. Après avoir assisté aux implémentations de PyGtk et GTK-Perl, j'ai décidé de voir si PHP pouvait disposer de sa propre interface avec Gtk+, même minimale. J'ai commencé au mois d'août 2000, alors que j'avais un peu plus de temps libre, et j'ai réalisé les premières expérimentations. Mon guide principal fut l'implémentation de PyGtk, qui était plutôt complète et avait une interface orientée objet. James Henstridge, l'auteur de PyGtk, fut d'une aide précieuse au démarrage du projet.

Réécrire toutes les interfaces de Gtk+ à la main était hors de question et j'ai pensé à réaliser un générateur de code, exactement comme PyGtk l'avait fait. Le générateur de code était un programme PHP qui lisait un ensemble de fichiers .defs, contenant les classes, constantes et méthodes Gtk+, puis générait le code d'interface de PHP. Ce qui ne pouvait pas être généré automatiquement était traité à la main, dans le fichier .overrides.

Travailler sur le générateur de code et sur l'infrastructure prit un peu de temps, car je n'avais pas beaucoup de temps à consacrer à PHP-GTK durant l'automne 2000. Après que j'ai montré PHP-GTK à Frank Kromann, il s'y intéressa et commença à m'aider sur le générateur et l'implémentation Win32. Lorsque nous écrivîmes le premier programme 'Hello World', ce fut extrêmement excitant. Cela a pris encore quelques mois pour avoir une version initiale. Elle fut publiée en mars 2001. Cela a encore pris quelques mois pour que le projet soit dans une forme présentable. Ce projet fut rapidement présenté sur SlashDot.

Anticipant que PHP-GTK serait un projet à part entière, j'ai installé des listes de diffusion et un serveur CVS indépendants, de même que le site gtk.php.net, avec l'aide de Colin Viebrock. La documentation demandait aussi de l'aide, et James Moore vint me porter une aide précieuse.

Depuis sa publication PHP-GTK a gagné en popularité. Nous avons notre propre équipe de documentation, et le manuel s'améliore de plus en plus. Des extensions ont été écrites pour PHP-GTK et des applications de plus en plus importantes sont conçues.

Histoire de PHP
Livres traitant de PHP
Histoire de PHP


Livres traitant de PHP

Comme PHP a évolué, il a été reconnu comme une plate-forme de développement populaire. Un des signes qui ne trompent pas est que le nombre de livres dédiés à PHP a évolué parallèlement.

À notre connaissance, le premier livre dédié à PHP fut 'PHP - tvorba interaktivních internetových aplikací' - un livre tchèque publié en avril 1999, écrit par Jirka Kosek. Le mois suivant parut un livre allemand écrit par Egon Schmid, Christian Cartus et Richard Blume. Le premier livre en anglais sur PHP fut publié juste après : 'Core PHP Programming' par Leon Atkinson. Ces trois livres se rapportaient à PHP 3.0.

Même si ces livres restent uniques dans leur genre, ils furent rapidement suivis par un grand nombre d'autres livres, de différents éditeurs. Il y a plus de 40 livres en anglais, 50 en allemand et plus de 20 en français. De plus, on peut maintenant trouver des livres sur PHP dans de nombreuses autres langues, comme l'espagnol, le coréen, le japonais ou l'hébreu.

Ce grand nombre de livres, écrits par différents auteurs et publiés par différents éditeurs, ainsi que leur disponibilité en différentes langues, témoigne clairement du succès planétaire de PHP.

Quelques projets liés à PHP
Publications sur PHP
Histoire de PHP


Publications sur PHP

À notre connaissance, le premier article consacré à PHP dans un magazine papier fut publié dans un magazine français, vers la fin 1998 et se rapportait à PHP 3.0. Comme pour les livres, ce fut le premier d'une longue série d'articles publiés dans différents magazines.

Des articles sur PHP ont été publiés dans Dr. Dobbs, Linux Enterprise, Linux Magazine et bien d'autres. Il existe même des articles sur la migration d'applications ASP vers PHP sous Windows dans la bibliothèque MSDN de Microsoft.

Livres traitant de PHP
Migration de PHP 5.2.x vers PHP 5.3.x
Histoire de PHP


Migration de PHP 5.2.x vers PHP 5.3.x

Sommaire

  • Ce qui change en PHP 5.3.x
  • Évolutions incompatibles avec les versions précédentes
  • Nouvelles fonctionnalités
  • Évolutions du support de Windows
  • Évolutions des modules SAPI
  • Fonctionnalités obsolètes en PHP 5.3.x
  • Undeprecated features in PHP 5.3.x
  • Nouveaux paramètres
  • Nouvelles fonctions
  • Nouveaux gestionnaires de flux
  • Nouveaux filtres de flux
  • Nouvelles constantes de classe
  • Nouvelles méthodes
  • Nouvelles extensions
  • Extensions retirées
  • Autres changements aux extensions
  • Nouvelles classes
  • Nouvelles constantes globales
  • Modifications à la gestion du fichier INI
  • Autres changements

Voir aussi les guides de migrations entre les différents versions de PHP 5.0.x, 5.1.x et 5.2.x.

Publications sur PHP
Ce qui change en PHP 5.3.x
Annexes


Ce qui change en PHP 5.3.x

La majorité des améliorations de PHP 5.3.x n'ont pas d'impact sur le code existant. Il existe quelques incompatibilités et de nouvelles fonctionnalités qui doivent être prises en compte, et le code doit être testé avant de changer les versions en production.

Si le système est mis à jour à partir d'une vieille version de PHP, alors les documentations suivantes sont recommandées :

  • Notes de migration pour PHP 5.2.x.
  • Notes de migration pour PHP 5.1.x.
  • Notes de migration pour PHP 4 vers PHP 5.
Migration de PHP 5.2.x vers PHP 5.3.x
Évolutions incompatibles avec les versions précédentes
Migration de PHP 5.2.x vers PHP 5.3.x


Évolutions incompatibles avec les versions précédentes

Même si l'essentiel du code PHP 5 va fonctionner sans modification, il faut faire attention aux situations suivantes, qui sont incompatibles avec les versions précédentes :

  • L'API interne d'analyse des paramètres a été appliquée à toute les extensions qui sont livrées avec PHP 5.3. Cette API retourne NULL si des paramètres incompatibles sont passés à la fonction. Il existe quelques exceptions, comme la fonction get_class() qui va retourner FALSE en cas d'erreur.
  • clearstatcache() ne vide pas le cache de chemins de la fonction realpath() par défaut.
  • realpath() est maintenant indépendant du système, et fonctionne sur toutes les plate-formes. Ceci a pour conséquence que les chemins relatifs incorrects comme __FILE__ . "/../x" ne fonctionne plus.
  • Les fonctions call_user_func() et similaires propages la variable $this, même si la fonction appelante est la classe parente.
  • Les fonctions de tableaux : natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip() et array_unique() n'acceptent plus les objets passés comme arguments. Si vous avez besoin d'accéder à leurs propriétés comme dans un tableau, il faudra commencer par transtyper les objets en tableau.
  • Le comportement des fonctions qui ont des paramètres par référence mais sont passés par valeur a changé. Alors que la fonction acceptait des arguments par valeur, une erreur fatale est maintenant émise. L'ancien code qui passait des constantes ou des valeurs à une fonction qui attendait des références doit être modifié pour assigner la valeur à une variable avant d'appeler la fonction.
  • La nouvelle bibliothèque mysqlnd impose l'utilisation du nouveau format de mot de passe de MySQL 4.1 (et plus récent). L'utilisation du vieux format de 16 octets fait que mysql_connect() produit le message d'erreur suivant : "mysqlnd cannot connect to MySQL 4.1+ using old authentication".
  • La nouvelle bibliothèque mysqlnd ne lit pas les fichiers de configuration MySQL (my.cnf/my.ini), alors que l'ancienne bibliothèque libmysql le faisait. Si votre code utilise les paramètres des fichiers de configuration MySQL, vous pouvez les charger explicitement en utilisant la fonction mysqli_options(). Notez que cela signifie que les constantes spécifiques PDO::MYSQL_ATTR_READ_DEFAULT_FILE et PDO::MYSQL_ATTR_READ_DEFAULT_GROUP ne sont pas définies si le support de MySQL dans PDO a été compilé avec mysqlnd.
  • Le caractère / final a été supprimé des classes SplFileInfo et des autres classes de dossier similaires.
  • La fonction magique __toString n'accepte plus d'arguments.
  • Les méthodes magiques __get, __set, __isset, __unset, __call, doivent toujours être publiques, et ne peuvent plus être statiques. La signature des méthodes est vérifiées à la compilation.
  • La méthode magique __call est appelée en cas d'accès à une méthode privée ou protégée.
  • func_get_arg(), func_get_args() et func_num_args() ne peuvent plus être appelées depuis le scope le plus éloigné d'un fichier qui a été inclus via include() ou require() depuis l'intérieur d'une fonction du fichier appelant.

Les mots-clé suivant sont maintenant réservés, et ne peuvent plus être utilisés dans les noms de fonctions, de classes, etc.

  • goto
  • namespace
Ce qui change en PHP 5.3.x
Nouvelles fonctionnalités
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles fonctionnalités

PHP 5.3.0 contient un large éventail de nouvelles fonctionnalités.

  • Le support des espaces de noms (en anglais, namespaces) ont été ajouté.
  • Le support de Late Static Bindings a été ajouté.
  • Le support des goto et étiquettes de saut (limited goto) a été ajouté.
  • Le support natif des fermetures (en anglais, Closures) fonctions anonymes et fonctions lambda, ont été ajouté.
  • Il y a deux nouvelles méthodes magiques : __callStatic et __invoke ont été ajouté.
  • La syntaxe Nowdoc a été ajouté, et fonctionne comme la syntaxe Heredoc mais avec des guillemets simples.
  • Il est maintenant possible d'utiliser Heredoc pour initialiser des variables statiques ou des propriétés/constantes de classes.
  • La synthaxe Heredoc doit maintenant être déclarée en utilisant des guillemets doubles, complétant ainsi la synthaxe Nowdoc.
  • Les constantes peuvent être déclarées hors d'une classe à l'aide du mot const.
  • L'opérateur ternaire dispose maintenant d'un raccourci sous la forme de ?:.
  • Le gestionnaire de flux HTTP considère maintenant tous les codes de 200 à 399 comme réussis.
  • L'accès dynamique aux méthodes statiques est maintenant possible.
  • Les exceptions peuvent être imbriquées.
  • Un collecteur de mémoire concernant les références circulaires a été ajouté, et activé par défaut.
  • La fonction mail() supporte maintenant l'historisation des emails envoyés. (Notes : ceci n'est valide que pour les emails émis avec cette fonction)
Évolutions incompatibles avec les versions précédentes
Évolutions du support de Windows
Migration de PHP 5.2.x vers PHP 5.3.x


Évolutions du support de Windows

Évolutions dans les versions Windows :

  • La version minimale pour PHP est maintenant Windows XP SP3; Windows 98, ME et NT4 ne sont plus supportées.
  • Les binaires Windows ciblent maintenant les architectures i586 et plus récentes. i386 et i486 ne sont plus supportées.
  • Il y a maintenant un support expérimental des architectures 64 bits pour PHP sur Windows.
  • Le compilateur Visual C++ 9 (VC9) est maintenant supporté, via Visual Studio 2008. Les versions officielles et intermédiaires sont maintenant disponibles en VC9. Les anciennes versions basées sur VC6 sont toujours supportées, et seront livrées en même temps que celles compilées avec VC9.
  • La bibliothèque PDO_OCI php_pdo_oci8.dll (à utiliser avec les bibliothèques cliente Oracle version 8) ne sont plus compilées. Il est recommandé d'utiliser à la place php_pdo_oci.dll (notez l'absence de '8') avec les bibliothèques cliente Oracle 10 et 11. Les connexions aux autres versions sont supportées.
  • Pour l'extension OCI8, une nouvelle bibliothèque php_oci8_11g.dll est disponible, en plus de php_oci8.dll. Une seule d'entre elle peut être utilisée en même temps. Utilisez php_oci8.dll avec les bibliothèques client Oracle 10.2. Utilisez php_oci8_11g.dll avec les bibliothèque client Oracle 11. Les connexions aux autres versions de base de données sont supportées.

Le support Windows n'est plus le même pour les fonctions suivantes :

  • checkdnsrr()
  • dns_get_record()
  • fnmatch()
  • getmxrr()
  • getopt()
  • imagecolorclosesthwb()
  • inet_ntop()
  • inet_pton()
  • link()
  • linkinfo()
  • mcrypt_create_iv()
  • readlink()
  • socket_create_pair() : cette fonction était précédemment disponible sur Windows, mais à cause d'un bug, était désactivée depuis PHP 4.3.0.
  • stream_socket_pair()
  • symlink()
  • time_nanosleep()
  • time_sleep_until()

Autres modifications :

  • Amélioration de la portabilité des fonctions stat(), touch(), filemtime(), filesize() et associées (100% portable pour les données disponibles).
  • Il est désormais possible d'utiliser des liens en dur sur Windows en utilisant la fonction link() et des liens symboliques via la fonction symlink(). Les liens en dur sont disponibles depuis Windows 2000 et les liens symboliques depuis Windows Vista.
  • La version Windows de PHP publie une famille de constantes préfixées par PHP_WINDOWS_* : leur liste et leur utilisation est accessible Constantes pré-définies.
Avertissement

Le support du module ISAPI a été abandonné, au profit du SAPI FastCGI, plus rapide et plus moderne.

Note: Un nouveau site consacré à PHP sur Windows, incluant des téléchargements, des versions et des snapshots de différentes ascendances (avec ou sans sécurité des threads, VC6/VC9, x86/x64) est lancé. L'URL du site est » http://windows.php.net/.

Nouvelles fonctionnalités
Évolutions des modules SAPI
Migration de PHP 5.2.x vers PHP 5.3.x


Évolutions des modules SAPI

  • Un nouveau SAPI est disponible : litespeed.
  • Le support FastCGI dans le SAPI CGI est maintenant toujours activé et ne peut pas être désactivé. Repportez-vous à sapi/cgi/CHANGES pour plus de détails.
  • Une nouvelle option de SAPI CGI, -T, peut être utilisée pour mesurer la durée d'exécution d'un script, exécuté plusieurs fois.
  • CGI/FastCGI supporte maintenant les fichiers .htaccess pour des fichiers de variables personnalisées php.ini.
  • La fonction dl() est maintenant désactivée par défaut, et est disponible en CLI, CGI et pour les SAPI embarquées.
Évolutions du support de Windows
Fonctionnalités obsolètes en PHP 5.3.x
Migration de PHP 5.2.x vers PHP 5.3.x


Fonctionnalités obsolètes en PHP 5.3.x

PHP 5.3.0 introduit deux nouveaux niveaux d'erreur : E_DEPRECATED et E_USER_DEPRECATED. Le niveau d'erreur E_DEPRECATED sert à indiquer qu'une fonctionnalité est obsolète, et E_USER_DEPRECATED sert à la même chose pour les fonctions utilisateur, tout comme E_USER_ERROR et E_USER_WARNING .

Voici une liste des directives INI obsolètes : si l'une d'entre elle est activée, elle va émettre une alerte d'obsolescence (E_DEPRECATED) au démarrage.

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Les commentaires initiés par "#" sont obsolètes dans les fichiers .ini.

Fonctions obsolètes :

  • call_user_method() (utilisez la fonction call_user_func() à la place)
  • call_user_method_array() (utilisez la fonction call_user_func_array() à la place)
  • define_syslog_variables()
  • dl()
  • ereg() (utilisez la fonction preg_match() à la place)
  • ereg_replace() (utilisez la fonction preg_replace() à la place)
  • eregi() (utilisez la fonction preg_match() avec le paramètre 'i' à la place)
  • eregi_replace() (utilisez la fonction preg_replace() avec le paramètre 'i' à la place)
  • set_magic_quotes_runtime() et ses alias magic_quotes_runtime()
  • session_register() (utilisez la variable $_SESSION à la place)
  • session_unregister() (utilisez la variable $_SESSION à la place)
  • session_is_registered() (utilisez la variable $_SESSION à la place)
  • set_socket_blocking() (utilisez la fonction stream_set_blocking() à la place)
  • split() (utilisez la fonction preg_split() à la place)
  • spliti() (utilisez la fonction preg_split() avec le paramètre 'i' à la place)
  • sql_regcase()
  • mysql_db_query() (utilisez les fonctions mysql_select_db() et mysql_query() à la place)
  • mysql_escape_string() (utilisez la fonction mysql_real_escape_string() à la place)
  • L'utilisation des chaînes pour les catégories de locales est maintenant obsolète. Utilisez les constantes de la famille LC_* à la place.
  • Le paramètre is_dst de mktime(). Utilisez les fonctions du nouveau gestionnaire de décalage horaire à la place.

Fonctionnalités obsolètes :

  • Assigner la valeur de retour de l'opérateur new par référence est obsolète.
  • Le passage par référence à l'appel est maintenant obsolète.
  • L'utilisation des accolades ({}) pour accéder aux positions dans une chaîne de caractères est obsolète. Utilisez des crochets ([]) à la place.
Évolutions des modules SAPI
Undeprecated features in PHP 5.3.x
Migration de PHP 5.2.x vers PHP 5.3.x


Undeprecated features in PHP 5.3.x

La fonction is_a() a été restaurée par demande populaire, ce qui signifie qu'elle n'émet plus d'erreur E_STRICT.

Fonctionnalités obsolètes en PHP 5.3.x
Nouveaux paramètres
Migration de PHP 5.2.x vers PHP 5.3.x


Nouveaux paramètres

Certaines fonctions ont reçu de nouveaux paramètres, optionnels, en PHP 5.3.x :

Coeur de PHP :

  • clearstatcache() : ajout des paramètres clear_realpath_cache et filename.
  • copy() : ajout du paramètre context.
  • fgetcsv() : ajout du paramètre escape.
  • ini_get_all() : ajout du paramètre details.
  • nl2br() : ajout du paramètre is_xhtml.
  • parse_ini_file() : ajout du paramètre scanner_mode.
  • round() : ajout du paramètre mode.
  • stream_context_create() : ajout du paramètre params.
  • strstr() et stristr() : ajout du paramètre before_needle.

json:

  • json_encode() : ajout du paramètre options.
  • json_decode() : ajout du paramètre depth.

Stream:

  • stream_select(),
stream_set_blocking(),
stream_set_timeout() et
stream_set_write_buffer() fonctionne avec des
gestionnaires de flux utilisateurs.

sybase_ct:

  • sybase_connect() : ajout du paramètre new.

Nouveaux paramètres de méthode en PHP 5.3.0.

PHP Core:

  • Exception:__construct : ajout du paramètre previous.
Undeprecated features in PHP 5.3.x
Nouvelles fonctions
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles fonctions

PHP 5.3 apporte de nouvelles fonctions :

Coeur de PHP :

  • array_replace() : remplace les éléments de plusieurs tableaux en un seul.
  • array_replace_recursive() : remplace récursivement les éléments de plusieurs tableaux en un seul.
  • class_alias() : crée un alias pour une classe utilisateur.
  • forward_static_call() : appelle la fonction utilisateur passée en premier paramètre.
  • forward_static_call_array() : appelle la fonction utilisateur passée en premier paramètre avec les arguments passés en tableau.
  • gc_collect_cycles() : force la collecte de la mémoire.
  • gc_disable() : désactive la collecte circulaire de la mémoire.
  • gc_enable() : active la collecte circulaire de la mémoire.
  • gc_enabled() : retourne le statut de la collecte circulaire de la mémoire.
  • get_called_class() : lit le nom de la classe à qui appartient la méthode statique appelée.
  • gethostname() : lit le nom d'hôte courant de la machine locale.
  • header_remove() : supprime un entête HTTP précédemment ajouté avec la fonction header().
  • lcfirst() : met le premier caractère de la chaîne en minuscule.
  • parse_ini_string() : analyse une chaîne de configuration.
  • quoted_printable_encode() : convertit une chaîne 8 bits en une chaîne quoted-printable. string.
  • str_getcsv() : analyse une chaîne CSV et retourne un tableau.
  • stream_context_set_default() : configure le contexte de flux par défaut.
  • stream_supports_lock() : indique si le flux supporte les verrous.
  • stream_context_get_params() : lit les paramètres du contexte.
  • streamWrapper::stream_cast() : lit la resource sous-jacente.
  • streamWrapper::stream_set_option() : modifie les options du flux.

Date/Heure:

  • date_add() : ajoute des jours, mois, années, heures, minutes et secondes à un objet DateTime.
  • date_create_from_format() : retourne un nouvel objet DateTime formatté selon les spécifications.
  • date_diff() : retourne la différence entre deux objets DateTime.
  • date_get_last_errors() : retourne les alertes et erreurs de la dernière opération sur les dates et heures.
  • date_parse_from_format() : lit des informations sur la date donnée.
  • date_sub() : soustrait des jours, mois, années, heures, minutes et secondes à un objet DateTime.
  • timezone_version_get() : lit la version de la base de données de fuseaux horaires.

GMP:

  • gmp_testbit() : vérifie si un bit est activé.

Hash:

  • hash_copy() : copie le contexte de hashage.

IMAP:

  • imap_gc() : vide le cache IMAP.
  • imap_utf8_to_mutf7() : encode une chaîne UTF-8 en UTF-7 modifié.
  • imap_mutf7_to_utf8()() : décode une chaîne UTF-7 modifié en UTF-8.

JSON:

  • json_last_error() : retourne la dernière erreur JSON qui est survenue.

MySQL Improved:

  • mysqli_fetch_all() : lit tous les résultats dans un tableau associatif, numérique ou combiné.
  • mysqli_get_connection_stats() : retourne des statistiques sur la connexion cliente.
  • mysqli_poll() : vérifie le statut des connexions.
  • mysqli_reap_async_query() : lit les résultats d'une requête asynchrone.

OpenSSL:

  • openssl_random_pseudo_bytes() : retourne une chaîne de taille spécifiée, remplie de pseudo-données aléatoires.

PCNTL:

  • pcntl_signal_dispatch() : demande à un gestionnaire de signaux les signaux en attente.
  • pcntl_sigprocmask() : spécifie et lit les signaux bloqués.
  • pcntl_sigtimedwait() : attend des signaux, avec un délai d'expiration.
  • pcntl_sigwaitinfo() : attend des signaux.

PCRE:

  • preg_filter() : effectue un remplacement par expression rationnelle et retourne uniquement les résultats correspondant au masque de recherche.

Semaphore:

  • msg_queue_exists() : vérifie si une queue de messages existe.
  • shm_has_var() : vérifie si une variable spécifique existe.

The following functions are now natively implemented, meaning they are always available no matter the operating system:

  • acosh()
  • asinh()
  • atanh()
  • expm1()
  • log1p()
Nouveaux paramètres
Nouveaux gestionnaires de flux
Migration de PHP 5.2.x vers PHP 5.3.x


Nouveaux gestionnaires de flux

Les gestionnaires de flux suivants on été ajoutés en 5.3.0 :

  • glob://
  • phar://
Nouvelles fonctions
Nouveaux filtres de flux
Migration de PHP 5.2.x vers PHP 5.3.x


Nouveaux filtres de flux

Les filtres de flux suivants ont été ajoutés en PHP 5.3.0 :

  • dechunk
  • Le filtre bz2.decompress supporte maintenant la concaténation.
Nouveaux gestionnaires de flux
Nouvelles constantes de classe
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles constantes de classe

De nouvelles constantes de classes ont été ajoutées en 5.3.0 :

PDO_FIREBIRD:

  • PDO::FB_ATTR_DATE_FORMAT : configure le format des dates.
  • PDO::FB_ATTR_TIME_FORMAT : configure le format des heures.
  • PDO::FB_ATTR_TIMESTAMP_FORMAT : configure le format des timestamps.
Nouveaux filtres de flux
Nouvelles méthodes
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles méthodes

De nouvelles méthodes ont été introduites en PHP 5.3.0 :

Date/Heure:

  • DateTime::add() : ajoute des jours, mois, années, heures, minutes et secondes à un objet DateTime.
  • DateTime::createFromFormat() : retourne un nouvel objet DateTime formatté selon les spécifications.
  • DateTime::diff() : retourne la différence entre deux objets DateTime.
  • DateTime::getLastErrors() : retourne les alertes et erreurs de la dernière opération sur les dates et heures.
  • DateTime::sub() : soustrait des jours, mois, années, heures, minutes et secondes à un objet DateTime.

Exception:

  • Exception::getPrevious() - Récupère l'exception précédente.

DOM:

  • DOMNode::getLineNo() - Récupère le numéro de la ligne du noeud analysé.

PDO_FIREBIRD:

  • PDO::setAttribute() - Définit un attribut.

Reflection:

  • ReflectionClass::getNamespaceName : retourne le nom de l'espace de noms où la classe est définie.
  • ReflectionClass::getShortName : retourne le nom court de la classe (sans l'espace de noms).
  • ReflectionClass::inNamespace : indique si la classe est définie dans un espace de noms.
  • ReflectionFunction::getNamespaceName : indique le nom de l'espace de noms où la classe est définie.
  • ReflectionFunction::getShortName : retourne le nom court de la fonction (sans l'espace de noms).
  • ReflectionFunction::inNamespace : indique si la fonction est définie dans un espace de noms.
  • ReflectionProperty::setAccessible : modifie l'accessibilité de propriétés non-publiques.

SPL:

  • SplObjectStorage::addAll() : ajoute tous les éléments d'un objet SplObjectStorage.
  • SplObjectStorage::removeAll() : supprime tous les éléments d'un objet SplObjectStorage.

XSL:

  • XSLTProcessor::setProfiling() : configure le fichier de profilage.
Nouvelles constantes de classe
Nouvelles extensions
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles extensions

Les nouvelles extensions suivantes ont été ajoutés (par défaut) dans PHP 5.3.0 :

  • Enchant : interface d'abstraction des bibliothèques de correction orthographique.
  • Fileinfo : remplacement avantageux de Mimetype, qui a été abandonnée.
  • INTL : extension d'internationalisation. INTL est une interface avec la bibliothèque » ICU.
  • Phar : implémentation des archives PHP.
  • SQLite3 : support des bases de données SQLite version 3.

mysqlnd est une nouvelle bibliothèque du coeur de PHP. C'est un remplacement spécifique à PHP de la bibliothèque libmysql. mysqlnd sert pour les extesnsions mysql, mysqli et PDO_MYSQL si libmysql n'est pas trouvée dans le système, mais il peut aussi être utilisé à la place de libmysql.

Nouvelles méthodes
Extensions retirées
Migration de PHP 5.2.x vers PHP 5.3.x


Extensions retirées

Ces extensions ont été placées dans PECL, et ne font plus partie de la distribution PHP. Le paquet PECL de ces extensions seront créés en fonction de la demande des utilisateurs.

  • dbase : plus entretenue.
  • fbsql : plus entretenue.
  • fdf : entretenue.
  • ming : entretenue.
  • msql : plus entretenue.
  • ncurses : entretenue.
  • sybase : abandonnée. Utilisez sybase_ct à la place, qui fait partie du coeur de PHP.
  • mhash : abandonnée. Utilisez plutôt hash à la place. hash supporte totalement mhash, et les applications seront compatibles.
Nouvelles extensions
Autres changements aux extensions
Migration de PHP 5.2.x vers PHP 5.3.x


Autres changements aux extensions

Les extensions suivantes ne peuvent plus être désactivées durant la compilation de PHP :

  • PCRE
  • Reflection
  • SPL

Modification du comportement des extensions et nouveautés :

  • Date et Heure : La variable d'environnement TZ n'est plus utilisée pour deviner le décalage horaire
  • cURL : cURL supporte maintenant SSH
  • Network : la fonction dns_check_record() retourne maintenant une nouvelle entrée "entries", qui contient l'élément TXT.
  • Hash : les algorithmes SHA-224 et salsa sont supportés.
  • mbstring : supporte maintenant l'encodage CP850.
  • OCI8 : appeler oci_close() avec une connexion persistante ou sur une variable qui fait référence à une connexion hors de contexte va maintenant annuler les transactions. Vous devez archiver explicitement, ou bien annuler si besoin. En utilisant oci8.old_oci_close_semantics=On dans le php.ini, vous obtiendrez l'ancien comportement. Le Database Resident Connection Pooling (DRCP) et Fast Application Notification (FAN) sont maintenant supportés. Oracle External Authentication est maintenant supporté (pas sur Windows). oci_bind_by_name() supporte maintenant SQLT_AFC (alias le type de données CHAR).
  • OpenSSL : support de OpenSSL digest et des fonctions de chiffrement. Il est aussi possible d'accéder aux valeurs internes des clés DSA, RSA et DH.
  • Session : les sessions ne stockent plus les fichiers dans le dossier "/tmp", si open_basedir est activé, sauf si "/tmp" est explicitement ajouté à la liste des chemins autorisés.
  • SOAP : supporte maintenant l'envoi de HTTP personnalisés.
  • MySQLi : supporte maintenant les connexions persistantes, quand on préfixe le nom d'hôte avec "p:".
  • Traitement d'image et GD L'index "JPG Support" retourné depuis la fonction gd_info() a été renommé en "JPEG Support".
Extensions retirées
Nouvelles classes
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles classes

Les classes suivantes ont été ajoutées en PHP 5.3.0 :

Date/Heure:

  • DateInterval
  • DatePeriod

Phar:

  • Phar
  • PharData
  • PharException
  • PharFileInfo

SPL:

  • FilesystemIterator
  • GlobIterator
  • MultipleIterator
  • RecursiveTreeIterator
  • SplDoublyLinkedList
  • SplFixedArray
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplQueue
  • SplStack
Autres changements aux extensions
Nouvelles constantes globales
Migration de PHP 5.2.x vers PHP 5.3.x


Nouvelles constantes globales

Coeur de sPHP :

  • __DIR__
  • __NAMESPACE__
  • E_DEPRECATED
  • E_USER_DEPRECATED
  • INI_SCANNER_NORMAL
  • INI_SCANNER_RAW
  • PHP_MAXPATHLEN
  • PHP_WINDOWS_NT_DOMAIN_CONTROLLER
  • PHP_WINDOWS_NT_SERVER
  • PHP_WINDOWS_NT_WORKSTATION
  • PHP_WINDOWS_VERSION_BUILD
  • PHP_WINDOWS_VERSION_MAJOR
  • PHP_WINDOWS_VERSION_MINOR
  • PHP_WINDOWS_VERSION_PLATFORM
  • PHP_WINDOWS_VERSION_PRODUCTTYPE
  • PHP_WINDOWS_VERSION_SP_MAJOR
  • PHP_WINDOWS_VERSION_SP_MINOR
  • PHP_WINDOWS_VERSION_SUITEMASK

cURL:

  • CURLOPT_PROGRESSFUNCTION

GD :

  • IMG_FILTER_PIXELATE

JSON :

  • JSON_ERROR_CTRL_CHAR
  • JSON_ERROR_DEPTH
  • JSON_ERROR_NONE
  • JSON_ERROR_STATE_MISMATCH
  • JSON_ERROR_SYNTAX
  • JSON_FORCE_OBJECT
  • JSON_HEX_TAG
  • JSON_HEX_AMP
  • JSON_HEX_APOS
  • JSON_HEX_QUOT

LDAP :

  • LDAP_OPT_NETWORK_TIMEOUT

libxml:

  • LIBXML_LOADED_VERSION

PCRE :

  • PREG_BAD_UTF8_OFFSET_ERROR

PCNTL :

  • BUS_ADRALN
  • BUS_ADRERR
  • BUS_OBJERR
  • CLD_CONTIUNED
  • CLD_DUMPED
  • CLD_EXITED
  • CLD_KILLED
  • CLD_STOPPED
  • CLD_TRAPPED
  • FPE_FLTDIV
  • FPE_FLTINV
  • FPE_FLTOVF
  • FPE_FLTRES
  • FPE_FLTSUB
  • FPE_FLTUND
  • FPE_INTDIV
  • FPE_INTOVF
  • ILL_BADSTK
  • ILL_COPROC
  • ILL_ILLADR
  • ILL_ILLOPC
  • ILL_ILLOPN
  • ILL_ILLTRP
  • ILL_PRVOPC
  • ILL_PRVREG
  • POLL_ERR
  • POLL_HUP
  • POLL_IN
  • POLL_MSG
  • POLL_OUT
  • POLL_PRI
  • SEGV_ACCERR
  • SEGV_MAPERR
  • SI_ASYNCIO
  • SI_KERNEL
  • SI_MESGQ
  • SI_NOINFO
  • SI_QUEUE
  • SI_SIGIO
  • SI_TIMER
  • SI_TKILL
  • SI_USER
  • SIG_BLOCK
  • SIG_SETMASK
  • SIG_UNBLOCK
  • TRAP_BRKPT
  • TRAP_TRACE
Nouvelles classes
Modifications à la gestion du fichier INI
Migration de PHP 5.2.x vers PHP 5.3.x


Modifications à la gestion du fichier INI

PHP 5.3.0 a significativement amélioré les performances, l'analyse et la syntaxe du fichier php.ini.

  • Le fichier standard php.ini a été réorganiser, et renommé. php.ini-development contient les options qui sont recommandées pour un environnement de développement. php.ini-production contient les configurations recommandées pour la production.
  • Il y a désormais deux sections spéciales : [PATH=/opt/httpd/www.exemple.com/] et [HOST=www.exemple.com]. Les directives configurées dans ces sections ne peuvent pas être modifiées par des fichiers INI des utilisateurs, ou durant l'exécution. Pour plus d'informations sur ces sections, voyez ici.
  • zend_extension_debug et zend_extension_ts ont été supprimées. Maintenant, il existe une directive pour charger toutes les extensions Zend : zend_extension.
  • zend.ze1_compatibility_mode a été retirée. Si cette directive INI est activée, une alerte E_ERROR est émise au démarrage.
  • Il est désormais possible d'utiliser le chemin complet pour charger un module, en utilisant la directive "extension".
  • "ini-variables" peut être utilisé presque partout dans un fichier php.ini.
  • Des ajouts de restrictions à open_basedir peuvent être faits durant l'exécution.
  • Il est maintenant possible d'utiliser des variables alphanumériques ou des index de variables dans les tableaux d'options INI.
  • get_cfg_var() est maintenant capable de retourner les options sous forme de tableau
  • Une nouvelle directive mail.add_x_header a été ajoutée.
  • user_ini.filename a été ajouté
  • user_ini.cache_ttl a été ajouté
  • exit_on_timeout a été ajouté
  • open_basedir est maintenant PHP_INI_ALL

Les directives INI suivantes ont été ajoutées :

  • user_ini.filename et user_ini.cache_ttl pour les nouveaux mécanismes d'initialisation utilisateur.
  • Ajout de mbstring.http_output_conv_mimetype. Cette directive définit une expression rationnelle qui identifie les types de contenus pour lesquels mb_output_handler() est activé.
  • Ajout de request_order. Autorise le contrôle des options de requêtes disponibles dans $_REQUEST.

Le directives INI suivantes ont changé de valeur par défaut :

  • session.use_only_cookies vaut maintenant "1" (activé) par défaut.
  • oci8.default_prefetch a changé de valeur par défaut de "10" à "100".
Nouvelles constantes globales
Autres changements
Migration de PHP 5.2.x vers PHP 5.3.x


Autres changements

  • SplFileInfo::getpathinfo() retourne désormais des informations sur le nom du chemin.
  • SplObjectStorage dispose maintenant du support de ArrayAccess. Il est aussi possible de stocker des informations associatives avec des objets dans SplObjectStorage.
  • Dans l'extension GD, le support de la pixelisation est maintenant possible à l'aide de la fonction imagefilter().
  • var_dump() affiche aussi les propriétés privées des objets.
  • session_start() retourne FALSE lorsque la session n'a pas pu être démarrée.
  • property_exists() vérifie désormais l'existence d'une propriété indépendante de son accessibilité (comme method_exists()).
  • Stream wrappers peut maintenant être utilisée par include_path.
  • Le paramètre initial de array_reduce() peut être de n'importe quel type.
  • Les fonctions de dossiers opendir(), scandir() et dir() utilise maintenant le contexte par défaut, si aucun contexte n'est passé en argument.
  • crypt() supporte maintenant Blowfish et le DES étendu. crypt() est maintenant 100% portable. PHP dispose de son propre crypt interne, qui se substitue lorsque crypt ou crypt_r n'est pas trouvé.
  • getopt() accepte des options longues sur toutes les plate-formes. Les valeurs optionnelles et le séparateur = est maintenant supporté pour les options courtes.
  • fopen() dispose d'un nouveau mode, n), dont l'utilisation va envoyer la constante O_NONBLOCK à l'appel système syscall() sous-jaçent. Notez que ce mode n'est pas supporté par Windows.
  • getimagesize() supporte maintenant les fichiers icônes (.ico).
  • L'extension mhash a été déplacée dans PECL, mais l'extension Hash a été modifiée pour supporter mhash si PHP est compilé avec l'option --with-mhash. Notez que l'extension Hash ne nécessite pas la bibliothèque mhash lors de l'utilisation de l'émulation mhash.
Modifications à la gestion du fichier INI
Migration de PHP 5.1.x à PHP 5.2.x
Migration de PHP 5.2.x vers PHP 5.3.x


Migration de PHP 5.1.x à PHP 5.2.x

Sommaire

  • Ce qui a changé en PHP 5.2.x
  • Changements incompatibles avec les versions précédentes
  • Nouveaux messages d'erreurs
  • Modification dans le support PHP de datetime
  • Nouveaux paramètres
  • Nouvelles fonctions
  • Nouvelles méthodes
  • Extensions supprimées
  • Nouvelles extensions
  • Nouvelles classes
  • Nouvelles constantes globales
  • Nouvelles constantes de classe
  • Nouvelles directives INI
  • Rapports d'erreur
  • Améliorations

Voir aussi les guides de migrations entre les différents versions de PHP 5.0.x, 5.1.x et 5.3.x.

Autres changements
Ce qui a changé en PHP 5.2.x
Annexes


Ce qui a changé en PHP 5.2.x

La majorité des améliorations de PHP 5.2.x n'a aucun impact sur le code existant. Il y a quelques incompatibilités et de nouveaux messages d'erreur qui doivent être pris en compte, et le code doit être testé avant de changer la version des serveurs en production.

Si la version de PHP en production est 5.0.x, la section Notes de mise à jour pour PHP 5.1.x doit être lue également.

Similairement, si la version d'origine est une version 4, la section Migration de PHP 4 à PHP 5 doit être lue.

Migration de PHP 5.1.x à PHP 5.2.x
Changements incompatibles avec les versions précédentes
Migration de PHP 5.1.x à PHP 5.2.x


Changements incompatibles avec les versions précédentes

Même si la majorité du code PHP 5 devrait fonctionner sans modification, il est recommandé de surveiller les points suivants, qui introduisent des incompatibilités avec les versions précédentes.

  • La fonction getrusage() retourne NULL quand on lui passe des arguments incorrects depuis PHP 5.2.1.
  • ZipArchive::setCommentName() retourne TRUE en cas de succès depuis PHP 5.2.1.
  • ZipArchive::setCommentIndex() retourne TRUE en cas de succès depuis PHP 5.2.1.
  • SplFileObject::getFilename() retourne le nom du fichier, et non plus le chemin relatif jusqu'au fichier, depuis PHP 5.2.1.
  • Changement de priorité de la constante d'environnement PHPRC sur Windows 32. La variable d'environnement PHPRC a la priorité sur la valeur enregistrée dans la base de registre Windows.
  • CLI SAPI ne cherche plus dans cwd le fichier php.ini ni le fichier php-cli.ini En PHP 5.1.x, une fonctionnalité non-documentée a été ajoutée à la version CLI de PHP, pour rechercher dans le dossier courant un fichier de configuration PHP, menant à des comportements inattendus, si des fichiers inopinés étaient trouvés. Cette fonctionnalité a été supprimée en PHP 5.2.0, et PHP ne cherche plus dans le dossier de travail courant le fichier php.ini ni le fichier php-cli.ini. Voyez aussi la section sur la ligne de commande du manuel.
  • Ajout d'une alerte lors de calcul de modulo 0 Dans les versions précédentes de PHP, effectuer un calcul de modulo 0 ne donnait aucun message d'alerte, mais retournait la valeur inattendue FALSE. Depuis PHP 5.2.0, cette tentative conduit à l'émission d'une alerte de type E_WARNING, comme lorsque des divisions par zéro sont effectuées.
    <?php
    print 10 % 0;
    /* Warning:  Division by zero in filename on line n */
    ?>
  • Désormais, __toString() est appelé à chaque fois que c'est possible. La méthode magique __toString() est maintenant appelée dans tout contexte de chaîne, c'est à dire à chaque fois qu'un objet est utilisé comme chaîne de caractères. Le comportement par défaut qui retournait une chaîne représentant l'identifiant de l'objet a été abandonné en PHP 5.2.0. Il était devenu problématique, car un identifiant d'objet ne peut pas être considéré comme unique. Ce changement implique que votre application est erronée si elle utilise les identifiants d'objets comme valeur de retour. Une tentative d'utilisation de cette valeur comme chaîne de caractères produit maintenant une erreur fatale.
    <?php
    class foo {}
    $foo = new foo;
    print     $foo;
    /* Catchable fatal error:  Object of class foo could
       not be converted to string in filename on line n */
    ?>
    Même avec __toString(), les objets ne peuvent pas être utilisés comme des index ou des clés de tableaux. Nous envisageons d'ajouter un support natif de hachage ultérieurement, mais pour les versions 5.2.x, vous devrez fournir votre propre système, ou bien utiliser la nouvelle fonction SPL spl_object_hash(). __toString() ne peut pas émettre d'exception.
    <?php
    class foo {
        public function     __toString() {
            throw new     Exception;
        }
    }

    try {
        print new     foo;
            /* Fatal error:  Method foo::__toString() must
           not throw an exception in filename on line n */
    } catch(Exception $e) {}
    ?>
  • Abandon des fonctions de classes statiques et abstraites. A cause d'une inattention, PHP 5.0.x et 5.1.x permettaient les méthodes statiques abstraites dans les classes. Depuis PHP 5.2.x, seules les interfaces peuvent en avoir.
    <?php
    abstract class foo {
        abstract static function     bar();
            /* Strict Standards:  Static function foo::bar()
           should not be abstract in filename on line n */
    }
    ?>
  • L'extension Oracle nécessite au moins la version 10 d'Oracle, sous Windows.
  • Ajout du support de la RFC2397 (flux data:). L'introduction du flux de type 'data' peut conduire à un changement de comportement sous Windows. Si vous travaillez avec un système de fichiers NTFS, que vous utilisez vos propres meta-flux dans vos applications, et que vous avez déjà baptisé l'un des fichiers du nom de 'data:', accessible sans aucune information de chemin, sachez qu'il ne fonctionnera plus. Le correctif est d'utiliser le protocole 'file:' pour y accéder. Voyez aussi la » RFC 2397
    <?php
    /* lorsque allow_url_include vaut OFF (valeur par défaut) */
    include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
    /* Warning:  include(): URL file-access is disabled
       in the server configuration in filename on line n */
    ?>
  • Régression dans le masque glob() Dans la version 5.2.4, une mise à jour de sécurité a provoqué une régression des masques de la forme "/foo/*/bar/*". Depuis la version 5.2.5, au lieu d'émettre une alerte, la fonction glob() retourne FALSE lorsque les restrictions openbase_dir sont violées.
Ce qui a changé en PHP 5.2.x
Nouveaux messages d'erreurs
Migration de PHP 5.1.x à PHP 5.2.x


Nouveaux messages d'erreurs

Trouvez ci-dessous les nouveaux messages d'erreurs qui n'ont pas encore été abordés dans ce document.

Exemple #1 Dans le coeur de PHP

<?php
echo " ";
session_regenerate_id();
/*  Warning:  session_regenerate_id(): Cannot regenerate
    session id - headers already sent in filename on line n */

str_word_count("string", 4);
/* Warning:  str_word_count(): Invalid format value 4
   in filename on line n */

strripos("foo", "f", 4);
/* Notice:  strripos(): Offset is greater than the
   length of haystack string in filename on line n */

strrpos("foo", "f", 4);
/* Notice:  strrpos(): Offset is greater than the
   length of haystack string in filename on line n */

/* As of PHP 5.2.1, when allow_url_include is OFF (default) */
include "php://input";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>

Exemple #2 Dans le coeur orienté objet de PHP

<?php
interface foo {
}
class bar implements foo, foo {
}
/* Fatal error: Class bar cannot implement previously
   implemented interface foo in filename on line n */

class foo {
    public $bar;
    function __get($var)
    {
        return $this->bar;
    }
}

$foo = new foo;
$bar =& $foo->prop;
/* Notice: Indirect modification of overloaded property
   foo::$prop has no effect in filename on line n */

class foo implements iterator {
    public function current() {
    }
    public function next() {
    }
    public function key() {
    }
    public function valid() {
    }
    public function rewind() {
    }
}

$foo = new foo();
foreach($foo as &$ref) {}
/* Fatal error: An iterator cannot be used with foreach
   by reference in filename on line n */

class foo {
    private function __construct() {
    }
}
class bar extends foo {
    public function __construct() {
        parent::__construct();
        /* Fatal error:  Cannot call private
           foo::__construct() in filename on line n */
    }
}
new bar;

stream_filter_register("", "class");
/* Warning:  stream_filter_register(): Filter name
   cannot be empty in filename on line n */

stream_filter_register("filter", "");
/* Warning:  stream_filter_register(): Class name
   cannot be empty in filename on line n */
?>

Exemple #3 Dans l'extension bzip2

<?php
bzopen("", "w");
/* Warning:  bzopen(): filename cannot be empty
   in filename on line n */

bzopen("foo", "a");
/* Warning:  bzopen(): 'a' is not a valid mode for
   bzopen(). Only 'w' and 'r' are supported in
   filename on line n */

$fp = fopen("foo", "w");
bzopen($fp, "r");
/* Warning:  bzopen(): cannot read from a stream
   opened in write only mode in filename on line n */
?>

Exemple #4 Dans l'extension datetime

<?php
strtotime("today", "now");
/* Warning:  strtotime() expects parameter 2 to be
   long, string given in filename on line n */

/* As of PHP 5.2.1 */
new DateTime(new stdclass);
/* Fatal error: Uncaught exception 'Exception' with
   message 'DateTime::__construct() expects parameter
   1 to be string, object given' in filename:n */
?>

Exemple #5 Dans l'extension dBase

<?php
dbase_open("foo", -1);
/* Warning: Invalid access mode -1 in filename on line n */

/* As of PHP 5.2.1 */
dbase_open("foo", null);
/* Warning: The filename cannot be empty in filename on line n */
?>

Exemple #6 Dans l'extension mcrypt

<?php
$key = "this is a secret key";
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td),
                        MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, "");
/* Warning: mcrypt_generic(): An empty string was
   passed in filename on line n */
?>

Exemple #7 Dans l'extension oci8

<?php
oci_connect("user", "pass", "db", "bogus_charset");
/* Warning: Invalid character set name:
   bogus_charset in filename on line n */

$oci = oci_connect("user", "pass", "db");
oci_password_change($oci, "", "old", "new");
/* Warning: username cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "", "new");
/* Warning: old password cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "old", "");
/* Warning: new password cannot be empty in filename
   on line n */
?>

Exemple #8 Dans l'extension SPL

<?php
$obj = new SplFileObject(__FILE__);
$obj->fgetcsv("foo");
/* Warning:  SplFileObject::fgetcsv(): delimiter must
   be a character in filename on line n */

$obj->fgetcsv(",", "foo");
/* Warning:  SplFileObject::fgetcsv(): enclosure must
   be a character in filename on line n */
?>

Exemple #9 Dans l'extension Semaphore (sysvmsg)

<?php
/* Warning:  maximum size of the message has to be
   greater then zero in filename on line n */
?>

Exemple #10 Un exemple en PHP 5.2.1+ de Zip

<?php
$obj = new ZipArchive();
$obj->open('archive.zip');
$obj->setCommentName('', 'comment');
/* Notice:  ZipArchive::setCommentName(): Empty string
   as entry name in filename on line n */

/* As of PHP 5.2.1 */
$obj->getCommentName('');
/* Notice:  ZipArchive::getCommentName(): Empty string
   as entry name in filename on line n */
?>

Changements incompatibles avec les versions précédentes
Modification dans le support PHP de datetime
Migration de PHP 5.1.x à PHP 5.2.x


Modification dans le support PHP de datetime

Depuis PHP 5.1.0, il existe une extension date dans le coeur de PHP. C'est une nouvelle implémentation du support des dates et heures en PHP. Même si PHP tente de deviner le fuseau horaire tout seul, il est recommandé de le configurer manuellement. Vous pouvez le faire de trois manières :

  • dans votre fichier php.ini avec la directive date.timezone
  • dans votre système, avec la variable d'environnement TZ
  • dans le script, en utilisant la fonction date_default_timezone_set()

Tous les fuseaux horaires supportés sont listés dans le manuel PHP.

Avec l'arrivée de PHP 5.2.x, il y a une représentation objet des dates et fuseaux horaires, qui portent respectivement le nom anglais de DateTime et DateTimeZone. Les méthodes associées sont directement reliées à leurs cousines procédurales.

Nouveaux messages d'erreurs
Nouveaux paramètres
Migration de PHP 5.1.x à PHP 5.2.x


Nouveaux paramètres

Certaines fonctions ont reçu de nouveaux paramètres optionnels en PHP 5.2.x :

Coeur de PHP :

  • htmlentities() : ajout du paramètre double_encode en PHP 5.2.3.
  • htmlspecialchars() : ajout du paramètre double_encode en PHP 5.2.3.
  • base64_decode() : ajout du paramètre strict
  • setcookie() : ajout du paramètre httponly
  • setrawcookie() : ajout du paramètre httponly
  • session_set_cookie_params() : ajout du paramètre httponly
  • memory_get_usage() : ajout du paramètre real_usage
  • get_loaded_extensions() : ajout du paramètre zend_extensions en PHP 5.2.4

curl:

  • curl_multi_info_read() : ajout du paramètre msgs_in_queue

datetime

  • date() : ajout du caractère de format "u" (millisecondes) en PHP 5.2.2

imap:

  • imap_open() : ajout du paramètre n_retries
  • imap_reopen() : ajout du paramètre n_retries

mbstring:

  • mb_strrpos() : ajout du paramètre offset
    Avertissement

    Le paramètre offset a été ajouté à la place du paramètre encoding. La compatibilité ascendante a été assurée en permettant au paramètre encoding d'être précisé comme troisième paramètre. L'utilisation du mode de compatibilité n'est pas recommandé, car il sera supprimé dans une version ultérieure.

ming:

  • swfmovie::streamMP3() : ajout du paramètre skip en PHP 5.2.1

openssl:

  • openssl_verify() : ajout du paramètre signature_algo

pgsql:

  • pg_escape_bytea() : ajout du paramètre connection
  • pg_escape_string() : ajout du paramètre connection

simplexml:

  • SimpleXMLElement::__construct() : ajout du paramètre is_prefix
  • SimpleXMLElement::attributes() : ajout du paramètre is_prefix
  • SimpleXMLElement::children() : ajout du paramètre is_prefix
  • simplexml_load_file() : ajout du paramètre is_prefix
  • simplexml_load_string() : ajout du paramètre is_prefix

spl:

  • array iterator_to_array(Traversable it [, bool use_keys = true]) : ajout du paramètre use_keys en PHP 5.2.1

xmlreader:

  • XMLReader::open() : ajout du paramètre encoding et options
  • XMLReader::XML() : ajout du paramètre encoding et du paramètre options

XMLWriter:

  • XMLWriter::WriteElement() : le paramètre content est devenu optionnel en PHP 5.2.3
  • XMLWriter::WriteElementNs() : le paramètre content est devenu optionnel en PHP 5.2.3
Modification dans le support PHP de datetime
Nouvelles fonctions
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles fonctions

PHP 5.2.x présente de nouvelles fonctions :

Coeur de PHP :

  • array_fill_keys() : crée un tableau en utilisant les éléments du premier argument comme clé, et ceux du second argument comme la valeur val associée.
  • error_get_last() : lit la dernière erreur, sous forme de tableau associatif. Retourne NULL s'il n'y a pas encore eu d'erreur.
  • image_type_to_extension() : retourne l'extension du type d'image fourni par getimagesize(), exif_read_data(), exif_thumbnail(), exif_imagetype()
  • memory_get_peak_usage() : retourne le maximum de mémoire consommé par PHP
  • sys_get_temp_dir() : retourne le dossier utilisé pour les fichiers temporaires (ajouté en PHP 5.2.1).
  • timezone_abbreviations_list() : retourne un tableau associatif contenant l'heure d'été, le décalage et le fuseau horaire.
  • timezone_identifiers_list() : retourne un tableau numérique avec tous les identifiants de fuseau.
  • timezone_name_from_abbr() : retourne l'abréviation du fuseau.
  • stream_socket_shutdown() : force la fermeture de tout ou partie d'une socket full-duplex (ajouté en PHP 5.2.1).

Image:

  • imagegrabscreen() : prend une capture de tout l'écran. Depuis PHP 5.2.2.

libXML:

  • libxml_disable_entity_loader() : désactive le chargement des entités externes. Disponible depuis PHP 5.2.11.
  • imagegrabwindow() : capture une image d'une fenêtre. Disponible depuis PHP 5.2.2.

mbstring:

  • mb_stripos() : trouve la position de la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse.
  • mb_stristr() : trouve la première occurrence d'une chaîne dans une autre, sans tenir compte de la casse.
  • mb_strrchr() : trouve la dernière occurrence d'un caractère dans une chaîne.
  • mb_strrichr() : trouve la dernière occurrence d'un caractère dans une chaîne, sans tenir compte de la casse.
  • mb_strripos() : trouve la position de la dernière occurrence d'une chaîne dans une autre, sans tenir compte de la casse.
  • mb_strstr() : trouve la première occurrence d'une chaîne dans une autre.

ming (depuis PHP 5.2.1):

  • void ming_setSWFCompression(int num) : configure la compression de sortie.
  • void swfmovie::namedanchor(string name) : crée une ancre.
  • void swfmovie::protect([string password]) : protège par mot de passe.

openssl:

  • openssl_csr_get_public_key() : extrait la clé publique d'un CERT et prépare son utilisation.
  • openssl_csr_get_subject() : retourne le sujet du CERT.
  • openssl_pkey_get_details() : retourne un tableau avec les détails sur la clé (bits, pkey, type).

spl:

  • spl_object_hash() : retourne un identifiant hash d'un objet.
  • int iterator_apply(Traversable it, mixed function [, mixed params]) : appelle une fonction pour chaque élément d'un itérateur.

pcre:

  • preg_last_error() : retourne le code d'erreur de la dernière expression rationnelle.

pgsql:

  • pg_field_table() : retourne le nom de la table à laquelle appartient le fichier, ou bien l'oid du tableau si oid_only vaut TRUE.

posix:

  • posix_initgroups() : calcule la liste d'accès de groupe pour un utilisateur.

gmp:

  • gmp_nextprime() : recherche le prochain nombre premier.

xmlwriter:

  • xmlwriter_full_end_element() : ferme l'élément courant. Retourne FALSE en cas d'erreur.
  • xmlwriter_write_raw() : écrit le texte. Retourne FALSE en cas d'erreur.
  • xmlwriter_start_dtd_entity() : crée une entité DTD. Retourne FALSE en cas d'erreur.
  • xmlwriter_end_dtd_entity() : ferme une entité DTD Entity. Retourne FALSE en cas d'erreur.
  • xmlwriter_write_dtd_entity() : écrit une balise DTD complète. Retourne FALSE en cas d'erreur.
Nouveaux paramètres
Nouvelles méthodes
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles méthodes

De nouvelles méthodes on été introduites en PHP 5.2.0 :

dom:

  • DOMDocument::registerNodeClass() : enregistre une classe étendue pour créer un noeud de base.
  • DOMElement::setIDAttribute() : déclare l'attribut, identifié par son nom, de type ID.
  • DOMElement::setIDAttributeNode() : déclare l'attribut, identifié par son noeud, de type ID.
  • DOMElement::setIDAttributeNS() : déclare l'attribut, identifié par son nom local, de type ID.
  • DOMNode::C14N([bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) : canonise les noeuds dans une chaîne.
  • DOMNode::C14NFile(string uri [, bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) : canonise les noeuds dans un fichier.
  • DOMNode::getNodePath() : obtient un xpath pour un noeud.

soap:

  • SoapServer::setObject(object obj) : configure un objet pour gérer les requêtes SOAP.

spl:

  • int ArrayObject::asort(void) : trie les éléments par valeur en utilisant une fonction utilisateur.
  • int ArrayObject::ksort(void) : trie les éléments par clé en utilisant une fonction utilisateur.
  • int ArrayObject::natcasesort(void) : trie les entrées par clé, en utilisant le tri naturel insensible à la casse.
  • int ArrayObject::natsort(void) : trie les éléments par valeur, en utilisant un algorithme naturel.
  • int ArrayObject::uasort(callback cmp_function) : trie les éléments par valeur, avec une fonction utilisateur.
  • int ArrayObject::uksort(callback cmp_function) : trie les éléments par clé, avec une fonction utilisateur.
  • ArrayIterator AppendIterator::getArrayIterator() : donne accès à l'ArrayIterator interne.
  • int AppendIterator::getIteratorIndex() : lit l'index de l'itérateur.
  • bool CachingIterator::getCache() : retourne le cache.
  • int CachingIterator::getFlags() : retourne les options internes.
  • bool CachingIterator::offsetExists(mixed index) : retourne TRUE si l'index demandé existe.
  • string CachingIterator::offsetGet(mixed index) : retourne le cache interne s'il est utilisé.
  • void CachingIterator::offsetSet(mixed index, mixed newval) : spécifie l'index donné dans le cache.
  • void CachingIterator::offsetUnset(mixed index) : supprime l'index donné du cache.
  • void CachingIterator::setFlags() : configure les options internes.
  • array("delimiter" =>, "enclosure" =>) SplFileObject::getCsvControl(void) : retourne les délimiteurs et séparateurs utilisés par fgetcsv().
  • void SplFileObject::setCsvControl([string delimiter = ',' [, string enclosure = '"']]) : configure les délimiteurs et séparateurs utilisés par fgetcsv().

Tidy

  • tidyNode tidyNode::getParent() : retourne le noeud parent du noeud courant (ajoutée en PHP 5.2.2).

XMLReader

  • boolean XMLReader::setSchema() : utilise le schéma W3C XSD pour valider le document tel qu'il est traité. L'activation n'est possible qu'avant la première lecture avec XMLReader::read()

zip:

  • ZipArchive::addEmptyDir() : crée un dossier vide dans une archive.
Nouvelles fonctions
Extensions supprimées
Migration de PHP 5.1.x à PHP 5.2.x


Extensions supprimées

Ces extensions ont été déplacées dans PECL et ne font plus partie de la distribution de PHP. Les paquets PECL de ces extensions seront créés sur demande.

  • filePro
  • Hyperwave API
Nouvelles méthodes
Nouvelles extensions
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles extensions

Les extensions suivantes ont été ajoutées à la distribution standard de PHP, depuis PHP 5.2.1 :

  • Filter : valide et filtre les données. Cette extension est conçue pour être utilisée avec des données utilisateurs entrantes. Cette extension est activée par défaut ; le mode par défaut est RAW (brut), et n'a aucun impact sur les données.
  • JSON : implémente le format d'échange de données JavaScript Object Notation (JSON). Cette extension est activée par défaut.
  • Zip : permet l'utilisation transparente des fichiers d'archives compressées ZIP.
Extensions supprimées
Nouvelles classes
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles classes

Les classes suivantes ont été introduites en PHP 5.2.0 :

  • DateTime
  • DateTimeZone
  • RegexIterator, étend FilterIterator ; implémente Iterator, Traversable, OuterIterator Constantes :
    • RegexIterator::ALL_MATCHES
    • RegexIterator::GET_MATCH
    • RegexIterator::MATCH
    • RegexIterator::REPLACE
    • RegexIterator::SPLIT
    • RegexIterator::USE_KEY
    Propriétés :
    • public replacement
    Méthodes:
    • RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) : crée un RegexIterator à partir d'un autre itérateur et une expression rationnelle.
    • bool RegexIterator::accept() : applique l'expression rationnelle à (string) current().
    • bool RegexIterator::getFlags() : retourne les options de l'opération courante.
    • bool RegexIterator::getMode() : retourne le mode d'opération courant.
    • bool RegexIterator::getPregFlags() : retourne les options PREG courantes (si elles sont utilisées, sinon NULL).
    • bool RegexIterator::setFlags(int new_flags) : configure les options d'opération.
    • bool RegexIterator::setMode(int new_mode) : configure le nouveau mode d'opération.
    • bool RegexIterator::setPregFlags(int new_flags) : configure les options PREG.
  • RecursiveRegexIterator Constantes :
    • RecursiveRegexIterator::ALL_MATCHES
    • RecursiveRegexIterator::GET_MATCH
    • RecursiveRegexIterator::MATCH
    • RecursiveRegexIterator::REPLACE
    • RecursiveRegexIterator::SPLIT
    • RecursiveRegexIterator::USE_KEY
    Méthodes :
    • RecursiveRegexIterator::__construct(RecursiveIterator it, string regex [, int mode [, int flags [, int preg_flags]]]) : crée un RecursiveRegexIterator à partir d'un autre itérateur récursif, et d'une expression rationnelle.
    • RecursiveRegexIterator RecursiveRegexIterator::getChildren() : retourne le fils interne d'un itérateur contenu dans RecursiveRegexIterator.
    • bool RecursiveRegexIterator::hasChildren() : vérifie si l'itérateur interne a un fils.
Nouvelles extensions
Nouvelles constantes globales
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles constantes globales

Coeur de PHP :

  • M_EULER
  • M_LNPI
  • M_SQRT3
  • M_SQRTPI
  • PATHINFO_FILENAME
  • PREG_BACKTRACK_LIMIT_ERROR
  • PREG_BAD_UTF8_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_NO_ERROR
  • PREG_RECURSION_LIMIT_ERROR
  • UPLOAD_ERR_EXTENSION
  • STREAM_SHUT_RD
  • STREAM_SHUT_WR
  • STREAM_SHUT_RDWR

curl:

  • CURLE_FILESIZE_EXCEEDED
  • CURLE_FTP_SSL_FAILED
  • CURLE_LDAP_INVALID_URL
  • CURLFTPAUTH_DEFAULT
  • CURLFTPAUTH_SSL
  • CURLFTPAUTH_TLS
  • CURLFTPSSL_ALL
  • CURLFTPSSL_CONTROL
  • CURLFTPSSL_NONE
  • CURLFTPSSL_TRY
  • CURLOPT_FTP_SSL
  • CURLOPT_FTPSSLAUTH
  • CURLOPT_TCP_NODELAY Ajoutée en PHP 5.2.1.
  • CURLOPT_TIMEOUT_MS Ajoutée en PHP 5.2.3
  • CURLOPT_CONNECTTIMEOUT_MS Ajoutée en PHP 5.2.3

GMP:

  • GMP_VERSION Ajoutée en PHP 5.2.2.

ming:

  • SWFTEXTFIELD_USEFONT
  • SWFTEXTFIELD_AUTOSIZE
  • SWF_SOUND_NOT_COMPRESSED
  • SWF_SOUND_ADPCM_COMPRESSED
  • SWF_SOUND_MP3_COMPRESSED
  • SWF_SOUND_NOT_COMPRESSED_LE
  • SWF_SOUND_NELLY_COMPRESSED
  • SWF_SOUND_5KHZ
  • SWF_SOUND_11KHZ
  • SWF_SOUND_22KHZ
  • SWF_SOUND_44KHZ
  • SWF_SOUND_8BITS
  • SWF_SOUND_16BITS
  • SWF_SOUND_MONO
  • SWF_SOUND_STEREO

openssl :

  • OPENSSL_VERSION_NUMBER
  • OPENSSL_VERSION_TEXT

snmp :

  • SNMP_OID_OUTPUT_FULL
  • SNMP_OID_OUTPUT_NUMERIC

Semaphore :

  • MSG_EAGAIN
  • MSG_ENOMSG
Nouvelles classes
Nouvelles constantes de classe
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles constantes de classe

pdo :

  • PDO::ATTR_DEFAULT_FETCH_MODE
  • PDO::FETCH_PROPS_LATE
  • PDO::FETCH_KEY_PAIR Lit un résultat de deux colonnes dans un tableau associatif. (Ajouté en PHP 5.2.3)

spl :

  • CachingIterator::FULL_CACHE
  • CachingIterator::TOSTRING_USE_INNER
  • SplFileObject::READ_AHEAD
  • SplFileObject::READ_CSV
  • SplFileObject::SKIP_EMPTY
Nouvelles constantes globales
Nouvelles directives INI
Migration de PHP 5.1.x à PHP 5.2.x


Nouvelles directives INI

Les nouvelles directives php.ini introduites en PHP 5.2.0 :

  • allow_url_include Cette option pratique permet de faire la différence entre les opérations de fichiers et les inclusions de code. Alors que les premières sont souvent utiles, les secondes sont des risques de sécurité, lorsqu'elles sont autorisées naïvement. Depuis PHP 5.2.0, vous pouvez autoriser les opérations sur les fichiers distants, mais interdire les inclusions de fichiers locaux. En fait, c'est la configuration par défaut.
  • pcre.backtrack_limit Limitation du suivi de PCRE.
  • pcre.recursion_limit Limite de récursion de PCRE. Notez que si vous donnez à cette directive une valeur trop grande, vous pouvez consommer toute la pile d'exécution, et planter PHP (due à une limite de pile imposée par le système d'exploitation).
  • session.cookie_httponly Configure le cookie comme n'étant accessible que par protocole HTTP. Cela signifie que le cookie ne peut pas être accessible par des langages comme JavaScript. Cette configuration peut aider à prévenir le vol de cookie via des attaques XSS (même si tous les navigateurs ne la supportent pas encore).

Nouvelles directives de PHP 5.2.2 :

  • max_input_nesting_level Limite le nombre de dimensions autorisées pour les variables d'entrées à plusieurs dimensions, la valeur par défaut est 64.
Nouvelles constantes de classe
Rapports d'erreur
Migration de PHP 5.1.x à PHP 5.2.x


Rapports d'erreur

Certaines des conditions E_ERROR ont été converties en erreurs qui peuvent être interceptées par un gestionnaire d'erreur local. Si E_RECOVERABLE_ERROR n'est pas géré, il sera géré de la même manière que E_ERROR dans les autres versions de PHP. Les erreurs de ce type sont identifiées comme Catchable fatal error.

Cette modification signifie que la valeur de la constante E_ALL error_reporting est maintenant de 6143, alors qu'elle était de 2047 auparavant. Commme les constantes PHP n'ont pas de signification hors de PHP, il arrive que la valeur entière soit utilisée à la place de la constante, et il faudra alors modifier ces valeurs. Par exemple, configurer le rapport d'erreur dans le fichier httpd.conf ou dans les fichiers .htaccess doit se faire maintenant avec la valeur 6143. Cela s'applique aussi aux valeurs numériques utilisées directement dans les scripts.

Un effet secondaire de la modification faite pour éviter les messages récurrents avec track_errors à On, est qu'il est désormais nécessaire de retourner FALSE depuis le gestionnaire d'erreur pour remplir la variable $php_errormsg. Cela fournit un contrôle fin sur les messages stockés.

Nouvelles directives INI
Améliorations
Migration de PHP 5.1.x à PHP 5.2.x


Améliorations

  • Amélioration du gestionnaire de mémoire, et augmentation du niveau de mémoire par défaut. Le nouveau gestionnaire de mémoire consomme moins de mémoire et travaille plus vite que sa version précédente. Il demande de la mémoire au système par gros bloc, puis gère son stock lui-même. La valeur de memory_limit dans php.ini est vérifiée non plus pour chaque appel à emalloc() mais pour chaque allocation de bloc. Cela signifie que memory_limit est bien plus précis qu'avant, car le vieux gestionnaire de mémoire ne calculait pas toute la mémoire consommée par la bibliothèque malloc. Grâce à cette nouvelle précision, la quantité de mémoire semble avoir augmenté, mais ce n'est pas le cas. Pour s'adapter à cette augmentation artificielle, la directive memory_limit a été augmentée de 8 à 16 Mo.
  • Ajout du support des constructeurs dans les interfaces, pour forcer la signature des constructeurs via les interfaces. Depuis PHP 5.2.0, les interfaces peuvent contenir des constructeurs. Toutefois, si vous choisissez de déclarer un constructeur dans une interface, les classes qui l'implémentent DOIVENT inclure un constructeur avec une signature qui correspond à celle de l'interface originale. Par signature, nous signifions les paramètres et les types retournés, incluant les types de paramètres, et leur passage par référence ou par valeur.
Rapports d'erreur
Migration de PHP 5.0.x à PHP 5.1.x
Migration de PHP 5.1.x à PHP 5.2.x


Migration de PHP 5.0.x à PHP 5.1.x

Sommaire

  • Nouvelles fonctionnalités PHP 5.1.x
  • Changement dans la gestion des références
  • Lecture de []
  • Valeurs entières dans les paramètres de fonction
  • Changements dans les classes et objets
  • Extensions
  • Support des dates et heures
  • Modifications dans le support des bases de données
  • Vérifier E_STRICT

Voir aussi les guides de migrations entre les différents versions de PHP 5.0.x, 5.2.x et 5.3.x.

Améliorations
Nouvelles fonctionnalités PHP 5.1.x
Annexes


Nouvelles fonctionnalités PHP 5.1.x

Ce qui a changé en PHP 5.1.x :

  • Réécriture complète de la gestion des dates, avec support des fuseaux horaires.

  • Amélioration significative des performances comparés à PHP 5.0.X.

  • L'extension PDO est maintenant activée par défaut.

  • Plus de 30 nouvelles fonctions dans différentes extensions et fonctions natives.

  • Plus de 400 corrections de bogues.

Migration de PHP 5.0.x à PHP 5.1.x
Changement dans la gestion des références
Migration de PHP 5.0.x à PHP 5.1.x


Changement dans la gestion des références

  • Présentation

  • Code qui fonctionnait en 4.3.x, mais qui échoue maintenant

  • Code qui fonctionnait en 4.3.x, mais qui émet une alerte

  • Code qui échouait en PHP 4.3.x, mais qui fonctionne maintenant

  • Code qui devrait avoir fonctionné en PHP 5.0.x

  • Alertes qui vont et viennent

Présentation

Du point de vue du programmeur, le changement qui aura le plus d'impact sur le code déjà écrit est la manière avec laquelle les références sont gérées dans les versions PHP 4.4.0 et plus récentes.

Jusqu'à la version PHP 4.3 incluse, il était possible d'envoyer, assigner ou retourner des variables par références, alors qu'elles auraient dues être retournées par valeur, comme des constantes, des valeurs temporaires (comme le résultat d'une expression), ou le résultat d'une fonction qui elle-même, retourne une valeur.

<?php
$foo = "123";

function return_value() {
    global $foo;
    return $foo;
}

$bar = &return_value();
?>

Même si ce code fonctionne tel qu'attendu en PHP 4.3, en général il conduit à une situation indéfinie. Le moteur Zend ne peut pas fonctionner correctement avec des valeurs passées par références. Ce bogue peut et a conduit à des corruptions de mémoire difficiles à reproduire, notamment lorsque le code de l'application est compliqué.

En PHP 4.4.0, PHP 5.0.4 et toutes les versions plus récentes, le moteur Zend a été modifié pour reconnaître les cas où une valeur ne doit pas être utilisée par référence. La valeur réelle est maintenant utilisée dans ces cas, et une alerte est émise. Cette alerte prend la forme d'un message E_NOTICE en PHP 4.4.0 et plus récent, et E_STRICT en PHP 5.0.4 et plus récent.

Du code qui pouvait produire des corruptions de mémoire ne peut plus le faire. Cependant, certains codes anciens peuvent fonctionner de manière différente.

Code qui fonctionnait en 4.3.x, mais qui échoue maintenant

<?php
function func(&$arraykey) {
    return $arraykey; // la fonction retourne par valeur!
}

$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
    $y = &func($array[$key]);
    $z[] =& $y;
}

var_dump($z);
?>
<

L'exécution du script ci-dessus dans une version de PHP antérieure à la correction du bogue produit ce résultat :

array(3) {
  [0]=>
  &string(1) "a"
  [1]=>
  &string(1) "b"
  [2]=>
  &string(1) "c"
}

Après la correction du bogue, cela donne :

array(3) {
  [0]=>
  &string(1) "c"
  [1]=>
  &string(1) "c"
  [2]=>
  &string(1) "c"
}

Ceci est dû au fait que func() effectue une assignation par valeur. La valeur de $y est réassignée, et que la liaison par référence avec $z est préservée. Avant la correction du bogue, la valeur était assignée par référence, faisant que la variable $y était réassignée à chaque assignement. La tentative de liaison avec une valeur temporaire est la cause de la corruption de la mémoire.

Ce code peut être réparé pour fonctionner à l'identique avec des versions pré et post-correction. La signature de func() peut être modifiée pour retourner les valeurs par référence, ou bien l'affectation par référence peut être supprimée du résultat de func().

<?php
function func() {
    return 'function return';
}

$x = 'original value';
$y =& $x;
$y = &func();
echo $x;
?>

En PHP 4.3, $x vaudrait 'original value', alors qu'après le changement, il vaudrait 'function return' : n'oubliez pas que la fonction ne retourne plus par référence, et que la référence est convertie en affectation par valeur. Encore une fois, cela peut être corrigé en forçant func() à retourner par référence, ou bien en éliminant l'affectation par référence.

Code qui fonctionnait en PHP 4.3.x, mais qui émet maintenant une erreur

<?php
class Foo {

    function getThis() {
        return $this;
    }

    function destroyThis() {
        $baz =& $this->getThis();
    }
}

$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>

En PHP 5.0.3, $bar vaut NULL au lieu de l'objet attendu. Cela arrive car getThis() retourne une valeur, mais que la valeur est assignée par référence. Même si cela fonctionne désormais comme attendu, ce code est en fait invalide, et émettra une alerte E_NOTICE sous PHP 4.4 ou E_STRICT en PHP 5.0.4 et plus récent.

Code qui échouaient en PHP 4.3.x, mais qui fonctionne maintenant

<?php
function &f() {
    $x = "foo";
    var_dump($x);
    print "$x\n";
    return($a);
}

for ($i = 0; $i < 3; $i++) {
    $h = &f();
}
?>

En PHP 4.3, le troisième appel à var_dump() produit NULL, à cause d'une correction de la mémoire, causée par le retour d'une valeur non initialisée par référence. C'est du code valide en PHP 5.0.4 et plus récent, mais il produit une erreur dans les versions plus anciennes.

<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>

Jusqu'en PHP 5.0.5, il n'était pas possible d'assigner un élément de tableau par référence de cette manière. C'est corrigé maintenant.

Code qui aurait du fonctionner en PHP 5.0.x

Il y a quelques cas de bogues rapportés en PHP PHP 5.0 avant la correction de ce bogue qui 'refonctionnent'. Cependant, dans tous les cas, des erreurs sont émises en PHP 5.1.x, car le code est invalide. Retourner des références avec self:: fonctionne maintenant, mais émet une alerte E_STRICT, et même si votre expérience est différente lors de l'assignation d'un objet par référence, vous verrez toujours une erreur E_ERROR lorsque vous tentez cela même si l'assignation semble fonctionner.

Alertes qui vont et viennent

Des appels imbriqués à des fonctions retournant des valeurs par référence sont valides en PHP 4.3.x et PHP 5.1.x, mais ils émettent des erreurs E_NOTICE et E_STRICT dans les nouvelles versions de PHP.

<?php
function & foo() {
    $var = 'ok';
    return $var;
}

function & bar() {
    return foo();
}

$a =& bar();
echo "$a\n";
?>
Nouvelles fonctionnalités PHP 5.1.x
Lecture de []
Migration de PHP 5.0.x à PHP 5.1.x


Lecture de []

<?php
class XmlTest {

    function test_ref(&$test) {
        $test = "ok";
    }

    function test($test) { }

    function run() {
        $ar = array();
        $this->test_ref($ar[]);
        var_dump($ar);
        $this->test($ar[]);
    }
}

$o = new XmlTest();
$o->run();
?>

Ce code va toujours émettre une alerte fatale E_ERROR, car l'opérateur [] ne peut pas être utilisé pour lire des données. C'est du code invalide depuis PHP 4.4.2 et PHP 5.0.5.

Changement dans la gestion des références
Valeurs entières dans les paramètres de fonction
Migration de PHP 5.0.x à PHP 5.1.x


Valeurs entières dans les paramètres de fonction

Avec la venue de PHP 5.0.x, une nouvelle API d'analyse des arguments a été introduite entre 5.0.x et 5.1.x. La gestion des entiers est très stricte, et rejette tous les nombres qui ne sont pas valides lorsque PHP attend un entier. Ces validations ont maintenant été assouplies, pour accepter des chaînes telles que " 123" et "123 ", et elles ne les refuseront plus comme c'était le cas en PHP 5.0.x. Toutefois, pour faire la promotion de la sécurité et de la validation, les fonctions PHP vont désormais émettre des alertes E_NOTICE lorsque de tels arguments sont donnés.

Lecture de []
Changements dans les classes et objets
Migration de PHP 5.0.x à PHP 5.1.x


Changements dans les classes et objets

  • instanceof, is_a(), is_subclass_of() et catch

  • Méthodes privées abstraites

  • Options d'accès dans les interfaces

  • Changements dans les règles d'héritage

  • Constantes de classe

instanceof, is_a(), is_subclass_of() et catch

En PHP 5.0, is_a() a été rendu abandonné et remplacé par l'opérateur instanceof. Il y a eu des problèmes dans les premières implantations de instanceof, qui se base sur __autoload() pour rechercher les classes non définies. Si la classe n'est pas définie, instanceof émettait une erreur fatale E_ERROR, après l'échec de __autoload(). Le même comportement apparaissait avec l'opérateur catch et la fonction is_subclass_of().

Aucune de ces instructions n'appelle plus __autoload() en PHP 5.1.x, et les palliatifs à base de class_exists() utilisé dans le code écrit en PHP 5.0.x ne sont plus nécessaires.

Méthodes privées abstraites

Les méthodes privées abstraites sont supportées en PHP entre 5.0.0 et et 5.0.4, mais elles ont été abandonnées car private et abstract sont mutuellement exclusif.

Changements dans les règles d'héritage

Avec PHP 5.0, les déclarations de fonctions dans les interfaces sont traitées exactement de la même manière que pour les déclarations de fonctions dans les classes. Ce n'est plus le cas depuis octobre 2004, au moment où seuls l'option d'accès public a été autorisée dans les déclarations d'interface. Depuis avril 2005, ce qui est antérieur à PHP 5.0b1, l'option static a aussi été autorisée. Mais les options protected and private émettent désormais une erreur E_ERROR, tout comme abstract. Notez que cette modification ne va pas affecter votre code existant, car aucune de ces options n'a de sens dans le cadre d'une interface.

Changements dans les règles d'héritages

En PHP 5.0, il était possible d'avoir une déclaration de fonction qui dérivait d'une classe ayant la même fonction mais pas la même signature. Par exemple :

Ce code va émettre une erreur E_STRICT si utilisé avec PHP 5.1.x.

<?php
class Base {
    function &return_by_ref() {
        $r = 1;
        return $r;
    }
}

class Derived extends Base {
    function return_by_ref() {
        return 1;
    }
}
?>

Constantes de classe

En PHP 5.0.x, le code suivant était valide :

En PHP 5.1.x, la redéfinition d'une constante de classe émet une erreur fatale E_ERROR.

<?php
class test {
    const foobar = 'foo';
    const foobar = 'bar';
}

?>
Valeurs entières dans les paramètres de fonction
Extensions
Migration de PHP 5.0.x à PHP 5.1.x


Extensions

  • Extensions qui ont été retirées du coeur de PHP

  • Constantes de classes, nouvelles dans les extensions de PHP 5.1.x

Extensions qui ont été retirées du coeur de PHP

La première chose que vous remarquerez en chargeant PHP 5.1.x, est que plusieurs extensions anciennes ont disparues. Ces extensions sont encore supportées, et entretenues dans la bibliothèque PECL, PHP Extension Community Library (PECL), accessible à l'URL » http://pecl.php.net/.

Extensions retirées
Extension | Remplacement/Statut
ext/cpdf | pecl/pdflib
ext/dbx | pecl/dbx
ext/dio | pecl/dio
ext/fam | Sans entretien
ext/ingres_ii | pecl/ingres
ext/ircg | Sans entretien
ext/mcve | pecl/mcve
ext/mnogosearch | Sans entretien
ext/oracle | ext/oci8 or ext/pdo_oci
ext/ovrimos | Sans entretien
ext/pfpro | Sans entretien
ext/w32api | » pecl/ffi
ext/yp | Sans entretien
ext/activescript | » pecl/activescript

Les modules de PECL qui ne sont plus entretenus (i.e. qui n'ont pas été mis à jour depuis longtemps, ou qui n'ont plus de responsable déclaré), sont toujours accessible via CVS, à l'adresse » http://svn.php.net/viewvc/pecl. Cependant, les modules PHP qui ne sont pas publiés, sont par nature sans support, et leur installation est à vos risques et périls.

Constantes de classes, nouvelles dans les extensions de PHP 5.1.x

L'API du moteur Zend 2.1 permet aux développeurs d'extensions de déclarer leurs constantes dans les versions orientées objets de leur extension. Les nouvelles extensions écrites pour PHP 5.1.x, incluant SPL, PDO, XMLReader et date, dispose de constantes au format PDO::CLASS_CONSTANT plutôt qu'au format C de type PDO_CLASS_CONSTANT afin de réduire la pollution des espaces de noms globaux de PHP.

Changements dans les classes et objets
Support des dates et heures
Migration de PHP 5.0.x à PHP 5.1.x


Support des dates et heures

Le support des dates et heures a été entièrement réécrit en PHP 5.1.x, et n'utilise plus du tout le système pour gérer les opérations sur les fuseaux horaires. Désormais, il utilise, dans l'ordre :

  • La fuseau horaire configuré avec la fonction date_default_timezone_set()

  • La variable d'environnement TZ si elle n'est pas vide

  • une prédiction magique (si le système d'exploitation le supporte)

  • Si aucune méthode ci-dessus ne fonctionne, UTC.

Pour s'assurer de la précision, et éviter les alertes E_STRICT, vous devez définir votre fuseau horaire dans le fichier php.ini avec ce format :

date.timezone = Europe/Paris

Les fuseaux horaires supportés sont listés dans l'annexe de la documentation : annexe des fuseaux horaires.

Notez aussi que strtotime() retourne désormais FALSE en cas d'échec, au lieu de -1.

Extensions
Modifications dans le support des bases de données
Migration de PHP 5.0.x à PHP 5.1.x


Modifications dans le support des bases de données

  • extension PDO

  • Support de MySQL

  • Support de SQLite

Extension PDO

Les PHP Data Objects (PDO) ont été introduits comme extension PECL en PHP 5.0, et sont devenus partie intégrale de la distribution PHP en version 5.1.0. L'extension PDO propose une interface constante pour accéder aux bases de données, et est utilisée avec des pilotes PDO. Chaque pilote assure le relais avec une base de données spécifique, mais l'envoi de requête et la réception des données sont fait depuis les fonctions PDO. Le pilote est choisi avec la fonction PDO::__construct().

Notez que l'extension PDO et ses pilotes sont conçus pour être des extensions partagées. Cela permet des mises à jour simples des pilotes à partir de PECL, sans forcer la recompilation de PHP.

Au moment de la publication de PHP 5.1.x, PDO est fin prêt pour une utilisation grand public, et peut être adopté dans la plupart des situations. Cependant, il faut bien comprendre que PDO et ses pilotes sont relativement jeunes, et manquent encore de certaines fonctionnalités spécifiques à une base de données. Faites votre évaluation complète de PDO avant de l'adopter pour un projet.

L'ancien code aura besoin des extensions spécifiques de base de données, qui sont toujours entretenues.

Support de MySQL

En PHP 4, le support MySQL 3 était automatique. Avec les versions 5.0 de PHP, il y a maintenant 2 extensions MySQL, qui portent les noms de 'mysql' et 'mysqli' : elles sont été conçues pour supporter MySQL < 4.1 et MySQL 4.1 et plus récent, respectivement. Avec l'introduction de PDO, qui fournit une interface rapide avec toutes les bases de données supportées par PHP, le pilote PDO_MYSQL peut supporter toutes les versions de MySQL (MySQL 3, 4 or 5) avec du code PHP écrit avec PDO, en fonction de la version de la bibliothèque de MySQL compilée avec PHP. Les anciennes extensions MySQL restent en place pour assurer la compatibilité ascendante, mais elles ne sont plus activées par défaut.

Support de SQLite

En PHP 5.0.x, le support de SQLite 2 a été ajouté dans la distribution, et a été placé en PECL pour PHP 4.3 et 4.4. Avec l'introduction de PDO, l'extension sqlite se dédouble pour servir aussi de pilote PDO. Cela est dû au fait que l'extension PDO de PHP 5.1.x dépend de PDO.

PHP 5.1.x inclut un grand nombre d'interface alternatives pour sqlite :

L'extension sqlite fournit une approche classique procédurale et POO, telle que celle qui a été utilisée dans les anciennes versions de PDO. Elle fournit aussi un pilote 'sqlite2', qui permet d'accéder au code SQLite2, en utilisant PDO.

PDO_SQLITE fournit un pilote 'sqlite' version 3. SQLite version 3 est nettement supérieur à SQLite version 2, mais les formats de fichiers des deux versions sont incompatibles.

Si votre projet basé sur SQLite est déjà écrit, et fonctionne avec d'anciennes versions de PHP, vous pouvez continuer à utiliser ext/sqlite sans problème, mais vous devez explicitement activer PDO et sqlite. Les nouveaux projets doivent utiliser PDO et le pilote 'sqlite' version 3, car il est plus rapide que le pilote SQLite 2, dispose d'un verrou efficace, supporte les commandes préparées et les colonnes binaires natives.

Vous devez activer PDO pour utiliser l'extension SQLite. Si vous voulez compiler PDO comme extension partagée, alors l'extension SQLite doit être aussi une extension partagée. C'est la même chose pour le pilote PDO.

Support des dates et heures
Vérifier E_STRICT
Migration de PHP 5.0.x à PHP 5.1.x


Vérifier E_STRICT

Si vous n'avez qu'un seul script à vérifier, vous pouvez identifier les erreurs E_STRICT en utilisant PHP en ligne de commande :

php -d error_reporting=4095 -l script_to_check.php

Pour les projets d'envergure, le script Shell ci-dessous sera plus efficace :

#!/bin/sh

directory=$1

shift

# Les extensions suivantes sont vérifiées
extensions="php inc"

check_file ()
{
  echo -ne "Vérification E_STRICT de la syntaxe PHP sur $1 ..."

  # Options:
  ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`

  if test -z "$ERRORS"; then
    echo -ne "OK."
  else
    echo -e "Erreurs trouvées!\n$ERRORS"
  fi

  echo
}

# test des autres arguments
for FILE in "$@" ; do
  for ext in $extensions; do
     if echo $FILE | grep "\.$ext$" > /dev/null; then
       if test -f $FILE; then
         check_file "$FILE"
       fi
     fi
  done
done
Modifications dans le support des bases de données
Migration de PHP 4 à PHP 5.0.x
Migration de PHP 5.0.x à PHP 5.1.x


Migration de PHP 4 à PHP 5.0.x

Sommaire

  • Nouveautés de PHP 5.0.x
  • Incompatibilités avec les version antérieures
  • CLI et CGI
  • Migration des fichiers de configuration
  • Nouvelles fonctions
  • Nouvelles Directives
  • Bases de données
  • Nouveau Modèle Objet
  • Rapport d'erreurs

Voir aussi les guides de migrations entre les différents versions de PHP 5.1.x, 5.2.x et 5.3.x.

Vérifier E_STRICT
Nouveautés de PHP 5.0.x
Annexes


Nouveautés de PHP 5.0.x

Les modifications apportées à PHP 5 et au Zend Engine 2 augmentent considérablement les capacités et les performances de PHP. Une attention toute particulière a été apportée à ce que cette nouvelle version soit la plus compatible possible avec les scripts antérieurs. Ainsi la migration de votre code de PHP 4 vers PHP 5 devrait être aisée. La plupart des scripts PHP 4 devraient être prêts à fonctionner sans nécessiter la moindre modification. Il existe toutefois quelques différences et vous devriez tester vos codes avant de changer de version en production.

Migration de PHP 4 à PHP 5.0.x
Incompatibilités avec les version antérieures
Migration de PHP 4 à PHP 5.0.x


Incompatibilités avec les version antérieures

Bien que la plupart des scripts PHP 4 existants devraient fonctionner, il convient de noter quelques incompatibilités avec les versions antérieures de PHP :

  • Il y a quelques nouveaux mots réservés.
  • strrpos() et strripos() utilisent maintenant une chaîne de caractères complète (un seul caractère auparavant) en tant qu'élément de recherche.
  • L'utilisation d'index illégaux sur une chaîne de caractères entraîne maintenant un message E_ERROR au lieu d'un message E_WARNING auparavant. Voici un exemple incorrect : $str = 'abc'; unset($str[0]);.
  • La fonction array_merge() a été modifiée pour n'accepter que des tableaux. Pour chaque variable passée en paramètre autre qu'un tableau, un message E_WARNING sera envoyé. Soyez attentifs car votre script pourrait émettre des E_WARNING de façon inopinée.
  • La variable de serveur PATH_TRANSLATED n'est plus définie implicitement avec Apache2 SAPI contrairement à auparavant (PHP 4) où elle était fixée avec la même valeur que SCRIPT_FILENAME lorsqu'Apache ne la renseignait pas. Cette modification a été apportée afin d'être en conformité avec les » spécifications CGI. Merci de consulter le » bogue #23610 pour plus d'informations, ainsi que la description de $_SERVER['PATH_TRANSLATED'] du manuel. Ce problème affecte également PHP >= 4.3.2.
  • La constante T_ML_CONSTANT n'est plus définie par l'extension Tokenizer. Si error_reporting est réglée à E_ALL, PHP va générer un avertissement. Bien que T_ML_CONSTANT n'ait jamais été utilisée, elle était définie dans PHP 4. Avec PHP 4 et PHP 5, // et /* */ sont assimilés à la constante T_COMMENT. Toutefois les commentaires de style PHPDoc /** */, qui sont analysés depuis PHP 5, sont reconnus en tant que T_DOC_COMMENT.
  • $_SERVER contient dorénavant argc et argv si votre variables_order inclus "S". Si vous avez configuré votre système pour qu'il ne crée pas $_SERVER, ils n'existeront bien sûr pas. Cette modification a été effectuée afin que argc et argv soient toujours accessibles dans la version CLI quelle que soit la valeur de variables_order. Ainsi, la version CLI renseignera dorénavant toujours les variables $argc et $argv.
  • Un objet sans propriété n'est plus considéré comme vide (empty()).
  • Dans certains cas, les classes doivent être déclarées avant d'être utilisées. Cela survient uniquement si les nouvelles fonctionnalités de PHP 5 (comme les interfaces) sont utilisées. Sinon, le comportement sera le même qu'avant.
  • Les fonctions get_class(), get_parent_class() et get_class_methods() retournent désormais le nom de la classe comme elle a été déclarée (sensible à la casse), ce qui peut causer des problèmes dans vos anciens scripts qui utilisent le comportement précédent (le nom de la classe était toujours retourné en minuscules). Une solution possible est de rechercher ces fonctions dans tous vos anciens scripts et d'utiliser la fonction strtolower(). Ces changements de sensibilité à la casse sont également appliqués aux constantes magiques prédéfinies __CLASS__, __METHOD__ et __FUNCTION__. Les valeurs sont retournées exactement comme elles ont été déclarées (sensible à la casse).
  • La fonction ip2long() retourne maintenant FALSE lorsqu'une adresse IP invalide est entrée comme argument de la fonction, et non plus -1.
  • Lorsque des fonctions sont définies dans un fichier inclus, elles peuvent être utilisées dans le fichier principal, qu'elles soient définies avant ou après l'instruction return(). Si le fichier est inclus deux fois, PHP 5 émet une erreur fatale car les fonctions sont toujours déclarées, tandis que PHP 4 n'a aucun problème avec ça. Il est recommandé d'utiliser l'instruction include_once() au lieu de vérifier si le fichier a déjà été inclus et de retourner, conditionnellement, l'inclusion du fichier.
  • include_once() et require_once() normalisent d'abord le chemin du fichier à inclure sous Windows. Donc inclure le fichier A.php et le fichier a.php revient à n'inclure qu'une seule fois ce fichier.
  • Le fait de passer un tableau à une fonction par sa valeur ne réinitialise plus le pointeur interne pour les tableaux dont on accède à l'intérieur de la fonction. En d'autres termes, en PHP 4, lorsque vous passiez un tableau à une fonction, son pointeur interne à l'intérieur de la fonction était réinitialisé, tandis qu'en PHP 5, lorsque vous passez un tableau à une fonction, le pointeur interne du tableau à l'intérieur de la fonction reste à la même position que lorsqu'il est passé à la fonction.

Exemple #1 strrpos() et strripos() recherchent maintenant une chaîne de caractères dans une autre

<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

Exemple #2 Un objet sans propriété n'est plus considéré comme vide (empty())

<?php
class test { }
$t = new test();

var_dump(empty($t)); // echo bool(false)

if ($t) {
    // Cette portion de code sera exécutée
}
?>

Exemple #3 Dans certains cas, les classes doivent être déclarées avant d'être utilisées

<?php

// fonctionne sans erreur :
$a = new a();
class a {
}

// ici, une erreur :
$a = new b();

interface c{
}
class b implements c {
}

?>

Nouveautés de PHP 5.0.x
CLI et CGI
Migration de PHP 4 à PHP 5.0.x


CLI et CGI

PHP 5 introduit des modifications dans les noms des fichiers CLI et CGI. Avec PHP 5, la version CGI s'appelle maintenant php-cgi.exe (auparavant php.exe) et la version CLI se trouve maintenant dans le répertoire principal de PHP (auparavant cli/php.exe).

Un nouveau mode a également été introduit avec PHP 5 : php-win.exe. Cette version est équivalente à la version CLI sauf qu'elle n'ouvre pas de fenêtre de console DOS au lancement. Ce comportement est similaire à celui de php-gtk.

Avec PHP 5, la version CLI renseignera toujours les variables globales $argv et $argc en accord avec toutes les directives du php.ini. Même si vous avez la directive register_argc_argv configurée à Off, cela n'aura pas d'effet sur la version CLI.

Voir aussi la documentation sur la ligne de commande.

Incompatibilités avec les version antérieures
Migration des fichiers de configuration
Migration de PHP 4 à PHP 5.0.x


Migration des fichiers de configuration

Les modules ISAPI ayant changé de nom (php4xxx vers php5xxx), il est nécessaire de faire quelques modifications dans vos fichiers de configuration. Des modifications des noms des versions CLI et CGI ont également été faites. Consultez la section correspondante pour plus d'informations.

La migration du fichier de configuration Apache est très facile. Consultez l'exemple ci-dessous afin de connaître les modifications que vous devez faire :

Exemple #1 Migration des fichiers de configuration Apache

# changez cette ligne :
LoadModule php4_module /php/sapi/php4apache2.dll

# en :
LoadModule php5_module /php/php5apache2.dll

Si votre serveur web utilise PHP en mode CGI, il vous faut noter que la version CGI a changé de nom, passant de php.exe à php-cgi.exe. Voici la modification à faire, pour Apache :

Exemple #2 Migration des fichiers de configuration Apache, en mode CGI

# changez cette ligne :
Action application/x-httpd-php "/php/php.exe"

# en :
Action application/x-httpd-php "/php/php-cgi.exe"

Si vous utilisez un serveur web autre que Apache, vous devez également changer le nom de fichier du module ISAPI ou du CGI.

CLI et CGI
Nouvelles fonctions
Migration de PHP 4 à PHP 5.0.x


Nouvelles fonctions

PHP 5 introduit de nouvelles fonctions. En voici la liste :

Tableaux :

  • array_combine() : créé un tableau en combinant un tableau pour les clés et un autre pour les valeurs correspondantes.
  • array_diff_uassoc() : renvoie la différence entre deux tableaux avec la possibilité de vérifier les index par l'appel d'une fonction utilisateur de callback.
  • array_udiff() : renvoie la différence entre deux tableaux en utilisant une fonction de rappel pour la comparaison des valeurs.
  • array_udiff_assoc() : renvoie la différence entre deux tableaux avec la possibilité de vérifier les index. Les valeurs sont, elles, comparées grâce à une fonction utilisateur de rappel.
  • array_udiff_uassoc() : renvoie la différence entre deux tableaux avec la possibilité de vérifier les index. Les valeurs sont comparées grâce à une fonction utilisateur de rappel ; les index sont également comparés grâce à une (autre) fonction utilisateur de rappel.
  • array_walk_recursive() : applique une fonction utilisateur de façon récursive à chaque élément d'un tableau.
  • array_uintersect_assoc() : calcule l'intersection de deux tableaux avec une vérification des index. Les données sont comparées en utilisant une fonction de rappel.
  • array_uintersect_uassoc() : calcule l'intersection de deux tableaux avec une vérification des index. Les données et les index sont comparés en utilisant des fonctions de rappel.
  • array_uintersect() : calcule l'intersection de deux tableaux. Les données sont comparées en utilisant une fonction de rappel.

InterBase :

  • ibase_affected_rows() : renvoie le nombre de lignes modifiées par la requête précédente.
  • ibase_backup() : lance une tâche de sauvegarde dans le gestionnaire de services et rend la main immédiatement.
  • ibase_commit_ret() : permet de valider une transaction sans avoir à la fermer.
  • ibase_db_info() : renvoie des statistiques sur une base de données.
  • ibase_drop_db() : supprime une base de données.
  • ibase_errcode() : renvoie un code d'erreur.
  • ibase_free_event_handler() : annule un gestionnaire d'événements enregistré.
  • ibase_gen_id() : incrémente le générateur donné et renvoie sa nouvelle valeur.
  • ibase_maintain_db() : exécute une commande de maintenance sur le serveur de base de données.
  • ibase_name_result() : assigne un nom à un jeu de résultats.
  • ibase_num_params() : renvoie le nombre de paramètres d'une requête préparée.
  • ibase_param_info() : renvoie des informations sur un paramètre spécifique d'une requête préparée.
  • ibase_restore() : lance une restauration dans le gestionnaire de services et rend la main immédiatement.
  • ibase_rollback_ret() : annule la transaction et conserve son contexte.
  • ibase_server_info() : renvoie des statistiques sur un serveur de bases de données.
  • ibase_service_attach() : initie une connexion au gestionnaire de services.
  • ibase_service_detach() : arrête une connexion au gestionnaire de services.
  • ibase_set_event_handler() : permet d'enregistrer une fonction de callback appelée lorsque des événements sont postés.
  • ibase_wait_event() : attend qu'un événement soit posté par la base de données.

iconv :

  • iconv_mime_decode() : décode un champ d'en-tête MIME.
  • iconv_mime_decode_headers() : décode plusieurs champs d'en-tête MIME en une seule fois.
  • iconv_mime_encode() : crée un champ d'en-tête MIME.
  • iconv_strlen() : renvoie le nombre de caractères de la chaîne.
  • iconv_strpos() : trouve la position de la première occurrence d'une chaîne donnée dans une autre chaîne.
  • iconv_strrpos() : trouve la position de la dernière occurrence dans une chaîne
  • iconv_substr() : supprime un morceau de chaîne.

Flux :

  • stream_copy_to_stream() : copie les données d'un flux vers un autre.
  • stream_get_line() : récupère une ligne d'un flux donné jusqu'au délimiteur fourni.
  • stream_socket_accept() : accepte une connexion sur un socket créé avecstream_socket_server().
  • stream_socket_client() : ouvre une connexion socket sur un domaine Unix ou Internet.
  • stream_socket_get_name() : récupère le nom des sockets locaux ou distants.
  • stream_socket_recvfrom() : reçoit des données d'un socket, qu'il soit connecté ou non.
  • stream_socket_sendto() : envoie un message vers un socket, qu'il soit connecté ou non.
  • stream_socket_server() : créé un socket de domaine Unix ou Internet.

Date et heure :

  • idate() : formate une date/heure en tant qu'entier.
  • date_sunset() : renvoie l'heure du coucher du soleil pour un jour et un endroit donnés.
  • date_sunrise() : renvoie l'heure du lever du soleil pour un jour et un endroit donnés.
  • time_nanosleep() : marque une pause exprimée en secondes et nanosecondes.

Chaîne de caractères :

  • str_split() : convertit une chaîne en tableau.
  • strpbrk() : recherche dans une chaîne l'un des caractères d'une liste.
  • substr_compare() : compare deux chaînes depuis un offset jusqu'à une longueur en caractères, d'une façon sécurisée contre les données binaires et, optionnellement, insensible à la casse.

Autres :

  • convert_uudecode() : décode une chaîne.
  • convert_uuencode() : encode une chaîne.
  • curl_copy_handle() : copie un descripteur cURL avec toutes ses préférences.
  • dba_key_split() : sépare une clé sous forme de chaîne en représentation sous forme de tableau.
  • dbase_get_header_info() : récupère les informations d'en-tête d'une base de données dBase.
  • dbx_fetch_row() : récupère une ligne à partir d'un résultat de requête ayant le marqueur DBX_RESULT_UNBUFFERED.
  • fbsql_set_password() : change le mot de passe d'un utilisateur donné.
  • file_put_contents() : écrit une chaîne dans un fichier.
  • ftp_alloc() : alloue de l'espace pour un fichier à télécharger.
  • get_declared_interfaces() : renvoie un tableau contenant toutes les interfaces déclarées.
  • get_headers() : renvoie tous les en-têtes envoyés par le serveur en réponse à une requête HTTP.
  • headers_list() : renvoie la liste des en-têtes de réponse envoyés (ou prêts à être envoyés).
  • http_build_query() : renvoie une requête encodée sous forme d'URL.
  • image_type_to_extension() : renvoie l'extension
de fichier pour le type d'image retourné par getimagesize(),
exif_read_data(),
exif_thumbnail(),
exif_imagetype().
  • imagefilter() : applique un filtre sur une image en utilisant des arguments spécialisés.
  • imap_getacl() : récupère la valeur de l'ACL pour une boîte aux lettres donnée.
  • ldap_sasl_bind(): établit une liaison à un répertoire LDAP en utilisant SASL.
  • mb_list_encodings() : retourne un tableau contenant tous les encodages supportés.
  • pcntl_getpriority() : renvoie la priorité d'un processus.
  • pcntl_wait() : attend ou renvoie le statut d'un processus enfant comme défini par l'appel système waitpid().
  • pg_version() : renvoie un tableau contenant les versions du client, du protocole et du serveur PostGreSQL, si disponibles.
  • php_check_syntax() : vérifie la syntaxe d'un fichier donné.
  • php_strip_whitespace() : renvoie la source en supprimant les commentaires et les espaces.
  • proc_nice() : change la priorité du processus courant.
  • pspell_config_data_dir() : change l'emplacement des fichiers de langues.
  • pspell_config_dict_dir() : change l'emplacement de la liste principale de mots.
  • setrawcookie() : envoie un cookie sans encodage url de la valeur.
  • scandir() - Liste les fichiers et les dossiers d'un chemin spécifique.
  • snmp_read_mib() : lit et analyse un fichier MIB dans l'arbre actif MIB.
  • sqlite_fetch_column_types() : renvoie un tableau contenant les types des colonnes pour une table spécifiée.

Note: L'API de l'extension Tidy a changé du tout au tout.

Migration des fichiers de configuration
Nouvelles Directives
Migration de PHP 4 à PHP 5.0.x


Nouvelles Directives

De nouvelles directives pour le fichier php.ini ont été ajoutées avec PHP 5. En voici une liste :

  • mail.force_extra_parameters : permet de forcer l'ajout du paramètre spécifié en tant que paramètre supplémentaire pour sendmail. Ces paramètres prendront la place du cinquième paramètre de la fonction mail() quoi qu'il arrive, même en safe mode.
  • register_long_arrays : permet/interdit à PHP d'utiliser les tableaux $HTTP_*_VARS.
  • session.hash_function : permet de choisir une fonction de hachage (MD5 ou SHA-1).
  • session.hash_bits_per_character : permet de définir le nombre de bits utilisés pour chaque caractère lors de conversions de données binaires en éléments lisibles (de 4 à 6).
  • zend.ze1_compatibility_mode : active le mode de compatibilité avec le Zend Engine 1 (PHP 4).
Nouvelles fonctions
Bases de données
Migration de PHP 4 à PHP 5.0.x


Bases de données

Certaines modifications ont été apportées au support des bases de données (MySQL et SQLite).

PHP 5 n'intègre pas les bibliothèques clientes MySQL par défaut, entre autres pour des raisons de licence. Pour plus d'informations, lisez la FAQ.

Il existe également une nouvelle extension, MySQLi (Improved MySQL), créée pour fonctionner avec MySQL 4.1 et supérieur.

À partir de PHP 5, l'extension SQLite est intégrée à PHP. SQLite est un moteur de bases de données embarqué, il ne s'agit pas simplement d'une bibliothèque cliente permettant de se connecter à un serveur de bases de données (comme MySQL ou PostgreSQL). La bibliothèque SQLite lit et écrit ses bases de données directement dans des fichiers sur le disque.

Nouvelles Directives
Nouveau Modèle Objet
Migration de PHP 4 à PHP 5.0.x


Nouveau Modèle Objet

PHP 5 inclut un nouveau modèle objet. Le traitement des objets en PHP a complètement été réécrit pour arriver à de meilleures performances et plus de fonctionnalités. Dans les versions précédentes de PHP, les objets étaient traités comme des types primitifs (par exemple les entiers ou les chaînes de caractères). L'inconvénient de cette méthode était que sémantiquement, l'objet en entier était copié lorsqu'une variable était assignée ou passée comme paramètre à une fonction. Dans la nouvelle approche, les objets sont référencés par un pointeur et non pas leur valeur (on peut penser à un pointeur en tant qu'identifiant d'objet).

Beaucoup de développeurs PHP ne se rendent pas compte des caprices lors de la copie dans l'ancien modèle objet et, par conséquent, la majorité des applications PHP devrait fonctionner directement ou avec très peu de modifications.

Le nouveau modèle objet est documenté dans la partie de référence du langage.

En PHP 5, la fonction portant le nom d'une classe est appelée comme constructeur seulement si définit dans la même classe. En PHP 4, il sera également appelé s'il est définit dans la classe parent.

Voir aussi la directive zend.ze1_compatibility_mode pour la compatibilité avec PHP 4.

Bases de données
Rapport d'erreurs
Migration de PHP 4 à PHP 5.0.x


Rapport d'erreurs

Depuis PHP 5, la constante d'erreur constant E_STRICT est disponible, avec la valeur 2048. Lorsqu'activés, les messages seront émis pour vous avertir que votre code est obsolète ou bien qu'il le sera bientôt.

Note: E_ALL n'inclut pas E_STRICT; il n'est donc pas activé par défaut. Vous devez définir explicitement le niveau de repport d'erreur pour inclure le niveau E_STRICT afin d'en lire les messages.

Voir aussi les constantes prédéfinies pour plus d'informations.

Nouveau Modèle Objet
Les classes et les objets (PHP 4)
Migration de PHP 4 à PHP 5.0.x


Les classes et les objets (PHP 4)

Sommaire

  • Les classes : class
  • extends : héritage
  • Constructeur
  • Opérateur de contexte de classe (::)
  • parent
  • Sauvegarde d'objets - cas des sessions
  • Les fonctions magiques __sleep et __wakeup
  • Références dans un constructeur
  • Comparer des objets
Rapport d'erreurs
Les classes : class
Annexes


Les classes : class

Une classe est une collection de variables et de fonctions qui fonctionnent avec ces variables. Les variables sont définies par l'élément var et les fonctions par function. Une classe est définie en utilisant la syntaxe suivante :

<?php
class Panier {
    // Eléments de notre panier
    var $items;

    // Ajout de $num articles de type $artnr au panier

    function add_item($artnr, $num) {
        $this->items[$artnr] += $num;
    }

    // Suppression de $num articles du type $artnr du panier

    function remove_item($artnr, $num) {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } elseif ($this->items[$artnr] == $num) {
            unset($this->items[$artnr]);
            return true;
        } else {
            return false;
        }
    }
}
?>

L'exemple ci-dessus définit la classe Panier qui est composée d'un tableau associatif contenant les articles du panier et de deux fonctions, une pour ajouter et une pour enlever des éléments au panier.

Avertissement

Vous NE POUVEZ PAS couper la définition d'une classe en plusieurs fichiers. De la même façon, vous NE POUVEZ PAS couper la définition d'une classe en de multiples blocs, à moins que la coupure ne soit à l'intérieur de la déclaration d'une méthode. Ce qui suit ne fonctionnera pas :

<?php
class test {
?>
<?php
    function test() {
        print 'OK';
    }
}
?>

Néanmoins, ce qui suit est autorisé :

<?php
class test {
    function test() {
        ?>
        <?php
        print 'OK';
    }
}
?>

Les notes suivantes ne sont valables que pour PHP 4.

Attention

Le nom stdClass est utilisé en interne par Zend et ne doit pas être utilisé. Vous ne pouvez pas nommer une classe stdClass en PHP.

Attention

Les noms de fonctions __sleep et __wakeup sont magiques en PHP. Vous ne pouvez pas utiliser ces noms de fonctions dans vos classes, à moins que vous ne souhaitiez utiliser la magie qui y est associée.

Attention

PHP se réserve l'usage de tous les noms de fonctions commençant par __, pour sa propre magie. Il est vivement recommandé de ne pas utiliser des noms de fonctions commençant par __, à moins que vous ne souhaitiez utiliser la magie qui y est associée.

En PHP 4, seuls les initialiseurs constants pour les variables var sont autorisés. Utilisez les constructeurs pour les initialisations variables, ou utilisant des expressions.

<?php
/* Aucune de ces syntaxes ne fonctionnera en PHP 4 */
class Panier {
    var $date_du_jour = date("d/m/Y");
    var $name = $firstname;
    var $owner = 'Fred ' . 'Jones';
    var $items = array("DVD", "Télé","Magnétoscope");
}
/* Voici comment cela doit se faire désormais. */
class Panier {
    var $date_du_jour;
    var $name;
    var $owner;
    var $items;
    function Panier() {
        $this->date_du_jour = date("d/m/Y");
        $this->name = $GLOBALS['firstname'];
        /* etc. */
    }
}
?>

Les classes forment un type de variable. Pour créer une variable du type désiré, vous devez utiliser l'opérateur new.

<?php
$cart = new Panier;
$cart->add_item("10", 1);

$another_cart = new Panier;
$another_cart->add_item("0815", 3);
?>

L'instruction ci-dessus crée l'objet $cart et $another_cart de la classe Panier. La fonction add_idem() de l'objet $cart est appelée afin d'ajouter l'article numéro 10 dans $cart. Trois articles numéro 0815 sont ajoutés au panier $another_cart.

$cart et $another_cart disposent des fonctions add_item(), remove_item() et de la variable items. Ce sont des fonctions et variables distinctes. Vous pouvez vous représenter les objets comme des dossiers sur votre disque dur. Vous pouvez avoir deux fichiers lisez-moi.txt sur votre disque dur, tant qu'ils ne sont pas dans le même répertoire. De même que vous devez alors taper le chemin complet jusqu'au fichier, vous devez spécifier le nom complet de la méthode avant de l'employer : en termes PHP, le dossier racine est l'espace de nom global, et le séparateur de dossier est ->. Par exemple, les noms $cart->items et $another_cart->items représentent deux variables distinctes. Notez que le nom de la variable est alors $cart->items, et non pas $cart->$items : il n'y a qu'un seul signe $ dans un nom de variable.

<?php
// correct, le signe $ est unique
$cart->items  = array("10" => 1);

// incorrect, car $cart->$items devient $cart->""
$cart->$items = array("10" => 1);

// correct, mais risque de ne pas se comporter comme prévu
// $cart->$myvar devient $cart->items
$myvar = 'items';
$cart->$myvar = array("10" => 1);
?>

À l'intérieur d'une définition de classe, vous ne savez pas le nom de la variable à partir duquel l'objet sera accessible dans le script. On ne peut prévoir que l'objet créé sera affecté à la variable $cart, $another_cart ou quelque chose d'autres. Donc, vous ne pouvez pas utiliser la syntaxe $cart->items. Mais pour pouvoir accéder aux méthodes et membres d'un objet, vous pouvez utiliser la variable spéciale $this, qui peut s'interpréter comme "moi-même", ou bien "l'objet courant". Par exemple, '$this->items[$artnr] += $num' peut se lire comme 'ajouter $num au compteur $artnr de mon propre tableau de compteur' ou bien 'ajouter $num au compteur $artnr du tableau de compteurs de l'objet courant'.

Note: La pseudo-variable $this n'est pas toujours définie si la méthode dans laquelle elle est présente est appelée statiquement. Cependant, ceci n'est pas une règle stricte : $this est définie si une méthode est appelée statiquement depuis un autre objet. Dans ce cas, la valeur de $this vaut l'objet appelé. Ce comportement est illustré dans l'exemple ci-dessous :

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this est défini (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this n'est pas défini.\n";
        }
    }
}

class B
{
    function bar()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

L'exemple ci-dessus va afficher :

$this est défini (a)
$this n'est pas défini.
$this est défini (b)
$this n'est pas défini.

Note: Il y a des fonctions très pratiques pour gérer les classes et objets. Vous pouvez étudier le chapitre sur les fonctions de classes et objets.

Les classes et les objets (PHP 4)
extends : héritage
Les classes et les objets (PHP 4)


extends : héritage

Souvent, vous aurez besoin d'une classe avec des méthodes et fonctions similaires à une autre classe. En fait, il est bon de définir des classes génériques, qui pourront être réutilisées et adaptées à tous vos projets. Pour faciliter cela, une classe peut être une extension d'une autre classe. La classe dérivée hérite alors de toutes les méthodes et variables de la classe de base (cet héritage a de bien que personne ne meurt pour en profiter), mais peut définir ses propres fonctions et variables, qui s'ajouteront. Une classe ne peut hériter que d'une seule autre classe, et l'héritage multiple n'est pas supporté. Les héritages se font avec le mot clé 'extends'.

<?php
class Panier_nomme extends Panier {
    var $owner;

    function set_owner ($name) {
        $this->owner = $name;
    }
}
?>

L'exemple ci-dessus définit la classe Panier_nomme qui possède les mêmes variables que la classe Panier et la variable $owner en plus, ainsi que la fonction set_owner(). Vous créez un panier nominatif de la même manière que précédemment, et vous pouvez alors affecter un nom au panier ou en connaître le nom. Vous pouvez de toutes les façons utiliser les mêmes fonctions que sur un panier classique.

<?php
$ncart = new Panier_nomme;    // Création d'un panier nominatif
$ncart->set_owner ("kris");   // Affectation du nom du panier
print $ncart->owner;           // Affichage du nom du panier
$ncart->add_item ("10", 1);   // (héritage des fonctions de la classe père)
?>

Ceci est également appelé une relation "parent-enfant". Vous créez une classe parent, et utilisez extends pour créer une nouvelle classe basée sur la classe parent : la classe enfant. Vous pouvez toujours utiliser cette nouvelle classe enfant et en créer une nouvelle basée sur cette classe enfant.

Note: Les classes doivent être définies avant d'être utilisées ! Si vous voulez que la classe Named_Cart étende la classe Cart, vous devez d'abord définir la classe Cart. Si vous voulez créer une autre classe appelée Yellow_named_cart, basée sur la classe Named_Cart, vous devez d'abord définir la classe Named_Cart. Pour faire court : l'ordre dans lequel les classes sont définies est important.

Les classes : class
Constructeur
Les classes et les objets (PHP 4)


Constructeur

Le constructeur est la fonction qui est appelée automatiquement par la classe lorsque vous créez une nouvelle instance d'une classe à l'aide de l'opérateur new. La fonction constructeur a le même nom que la classe. Une fonction devient le constructeur si elle porte le même nom que la classe. Si une classe n'a pas de constructeur, le constructeur de la classe de base sera appelé, s'il existe.

<?php
class Auto_Panier extends Panier {
    function Auto_Panier () {
        $this->add_item ("10", 1);
    }
}
?>

L'exemple ci-dessus définit la classe Auto_Panier qui hérite de la classe Panier et définit le constructeur de la classe. Ce dernier initialise le panier avec 1 article de type numéro 10 dès que l'instruction new est appelée. La fonction constructeur peut prendre ou non des paramètres optionnels, ce qui la rend beaucoup plus pratique. Pour pouvoir utiliser cette classe sans paramètre, tous les paramètres du constructeurs devraient être optionnels, en fournissant une valeur par défaut, comme ci-dessous.

<?php
class Constructor_Cart extends Cart {
    function Constructor_Cart($item = "10", $num = 1) {
        $this->add_item ($item, $num);
    }
}

// Création du Panier
$default_cart = new Constructor_Cart;

// Création d'un vrai Panier
$different_cart = new Constructor_Cart("20", 17);
?>

Vous pouvez également utiliser l'opérateur @ pour empêcher les erreurs survenant dans le constructeur de s'afficher, e.g. @new.

<?php
class A
{
    function A()
    {
        echo "Je suis le constructeur de A.<br />\n";
    }

    function B()
    {
        echo "Je suis une fonction standard appelée B dans la classe A.<br />\n";
        echo "Je ne suis pas le constructeur de A.<br />\n";
    }
}

class B extends A
{
}

// Cette syntaxe va appeler B() comme constructeur.
$b = new B;
?>

La fonction B() de la classe A va soudainement devenir le constructeur de la classe B, bien qu'il n'ait pas été prévu pour. PHP 4 ne se soucie guère si la fonction est définie dans la classe B ou si elle a été héritée.

Attention

PHP n'appelle pas automatiquement le constructeur de la classe supérieure depuis le constructeur de la classe dérivée. Il est de votre responsabilité de propager l'appel des constructeurs.

Les destructeurs sont des fonctions qui sont appelées lorsqu'un objet est détruit, soit avec la fonction unset() soit par simple sortie d'une fonction (cas des variables locales). Il n'y a pas de destructeurs en PHP. Vous devez utiliser la fonction register_shutdown_function() à la place pour simuler la plupart des effets des destructeurs.

extends : héritage
Opérateur de contexte de classe (::)
Les classes et les objets (PHP 4)


Opérateur de contexte de classe (::)

Attention

La documentation suivante n'est valable que pour PHP 4 et plus récent.

Parfois, il est pratique de faire référence aux fonctions et variables d'une classe de base, ou bien d'utiliser des méthodes de classes qui n'ont pas encore d'objets créés. L'opérateur :: est là pour ces situations.

<?php
class A {
    function example() {
        echo "Je suis la fonction originale A::example().<br />\n";
    }
}

class B extends A {
    function example() {
        echo "Je suis la fonction redéfinie B::example().<br />\n";
        A::example();
    }
}

// Il n'y a pas d'objets de classe A.
// L'affichage est :
//   Je suis la fonction originale A::example().<br />
A::example();

// Création d'un objet de la classe B.
$b = new B;

// L'affichage est :
//   Je suis la fonction redéfinie B::example().<br />
//   Je suis la fonction originale A::example().<br />
$b->example();
?>

Les exemples ci-dessus appellent la fonction example() dans la classe A, mais il n'y a pas encore d'objet de classe A, alors il n'est pas possible d'écrire $a->example(). À la place, on appelle la fonction example() comme une fonction de classe, c'est-à-dire avec le nom de la classe elle-même, et sans objet.

Il y a des fonctions de classe, mais pas de variables de classe. En fait, il n'y a aucun objet au moment de l'appel de la fonction. Donc, une fonction de classe ne peut accéder à aucune variable (mais elle peut accéder aux variables locales et globales). Il faut proscrire l'utilisation de $this.

Dans l'exemple ci-dessus, la classe B redéfinit la fonction example(). La définition originale dans la classe A est remplacée par celle de B, et n'est plus accessible depuis B, à moins que vous n'appeliez spécifiquement la fonction example() de la classe A avec l'opérateur ::. Écrivez A::example() pour cela (en fait, il faudrait écrire parent::example(), comme expliqué dans la section suivante).

Dans ce contexte, il y a un objet courant, qui peut avoir d'autres variables objets. De ce fait, lorsqu'il est utilisé depuis une méthode d'un objet, vous pouvez utiliser $this.

Constructeur
parent
Les classes et les objets (PHP 4)


parent

Il arrive que vous ayez à écrire du code qui faire référence aux variables et fonctions des classes de base. C'est particulièrement vrai si votre classe dérivée est une spécialisation de votre classe de base.

Au lieu d'utiliser le nom littéral de votre classe de base dans votre code, vous pouvez utiliser le mot réservé parent, qui représente votre classe de base (celle indiqué par extends, dans la déclaration de votre classe). En faisant cela, vous évitez d'appeler le nom de votre classe de base directement dans votre code. Si votre héritage change, vous n'aurez plus qu'à modifier le nom de la classe dans la déclaration extends de votre classe.

<?php
class A {
    function example() {
        echo "Je suis A::example() et je fournis une fonctionnalité de base.<br />\n";
    }
}

class B extends A {
    function example() {
        echo "Je suis B::example() et je fournis une fonctionnalité supplémentaire.<br />\n";
        parent::example();
    }
}

$b = new B;

// Cette syntaxe va appeler B::example(), qui, à sont tour, va appeler A::example().
$b->example();
?>
Opérateur de contexte de classe (::)
Sauvegarde d'objets - cas des sessions
Les classes et les objets (PHP 4)


Sauvegarde d'objets - cas des sessions

serialize() retourne une chaîne représentant une valeur qui peut être stockée dans les sessions de PHP, ou une base de données. unserialize() peut relire cette chaîne pour recréer la valeur originale. serialize() va sauver toutes les variables d'un objet. Le nom de la classe sera sauvé mais par les méthodes de cet objet.

Pour permettre à unserialize() de lire un objet, la classe de cet objet doit être définie. C'est-à-dire, si vous avez un objet $a de la classe A dans une page php1.php, et que vous le linéarisez avec serialize(), vous obtiendrez une chaîne qui fait référence à la classe A, et contient toutes les valeurs de $a. Pour pouvoir le relire avec la fonction unserialize() dans une page page2.php, recréé la variable $a de la classe A, il faut que la définition de la classe A soit présente dans page2.php. Cela peut se faire de manière pratique en sauvant la définition de la classe A dans un fichier séparé, et en l'incluant dans les deux pages page1.php et page2.php.

<?php
// classa.inc:

  class A {
      var $one = 1;

      function show_one() {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // enregistrez $s où la page2.php pourra la trouver.
  $fp = fopen("store", "w");
  fwrite($fp, $s);
  fclose($fp);

// page2.php:

  // Ceci est nécessaire pour que unserialize() fonctionne correctement
  include("classa.inc");

  $s = implode("", @file("store"));
  $a = unserialize($s);

  // maintenant, utilisez la méthode show_one de l'objet $a.
  $a->show_one();
?>

Si vous utilisez les sessions et la fonction session_register() pour sauver des objets, ces objets seront linéarisés automatiquement avec la fonction serialize() à la fin de chaque script, et relus avec unserialize() au début du prochain script. Cela signifie que ces objets peuvent apparaître dans n'importe quelle page qui utilise vos sessions.

Il est vivement recommandé d'inclure la définition de classe dans toutes vos pages, même si vous n'utilisez pas ces classes dans toutes vos pages. Si vous l'oubliez et qu'un tel objet est présent, il perdra sa classe, et deviendra un objet de classe __PHP_Incomplete_Class_Name sans aucune fonction et, donc, plutôt inutile.

Si, dans l'exemple ci-dessus, $a devient un objet de session avec l'utilisation de session_register("a"), vous devez penser à inclure le fichier classa.inc dans toutes vos pages, et pas seulement page1.php et page2.php.

parent
Les fonctions magiques __sleep et __wakeup
Les classes et les objets (PHP 4)


Les fonctions magiques __sleep et __wakeup

serialize() s'assure que votre classe a une méthode avec le nom magique __sleep. Si c'est le cas, cette fonction est appelée avant toute linéarisation. Elle peut alors nettoyer l'objet et on s'attend à ce qu'elle retourne un tableau avec la liste des noms de variables qui doivent être sauvées. Si la méthode ne retourne rien, alors NULL est linéarisé et une alerte de type E_NOTICE sera émise.

Le but avoué de __sleep est de valider les données en attente ou d'effectuer des opérations de nettoyage. Cette fonction est aussi pratique si vous avez de très grands objets qui n'ont pas besoin d'être sauvés entièrement.

À l'inverse, unserialize() s'assure de la présence de la fonction magique __wakeup. Si elle existe, cette fonction reconstruit toutes les ressources d'un objet.

Le but de cette fonction __wakeup est de rétablir toutes les connexions aux bases de données, et de recréer les variables qui n'ont pas été sauvées.

Sauvegarde d'objets - cas des sessions
Références dans un constructeur
Les classes et les objets (PHP 4)


Références dans un constructeur

Créer des références dans un constructeur peut conduire à des résultats étranges. Ce tutoriel vous guide pour éviter ces problèmes.

<?php
class Foo {
    function Foo($name) {
        // crée une référence dans le tableau global $globalref
        global $globalref;
        $globalref[] = &$this;
        // donne le nom de la variable
        $this->setName($name);
        // et l'affiche
        $this->echoName();
    }

    function echoName() {
        echo "<br />", $this->name;
    }

    function setName($name) {
        $this->name = $name;
    }
}
?>

Vérifions maintenant qu'il y a une différence entre $bar1 qui a été créé avec = et $bar2 qui a été créé avec l'opérateur de référence =& :

<?php
$bar1 = new Foo('crée dans le constructeur');
$bar1->echoName();
$globalref[0]->echoName();

/* affiche :
crée dans le constructeur
crée dans le constructeur
crée dans le constructeur */

$bar2 =&new foo('crée dans le constructeur');
$bar2->echoName();
$globalref[1]->echoName();

/* affiche :
crée dans le constructeur
crée dans le constructeur
crée dans le constructeur */
?>

Apparemment, il n'y a pas de différence, mais en fait, il y en a une significative : $bar1 et $globalref[0] ne sont pas référencées, ces deux variables sont différentes. Cela est dû au fait que l'opérateur new ne retourne par de référence, mais retourne une copie.

Note: Il n'y a aucune perte de performances (puisque PHP 4 utilise un compteur de références) à retourner des copies au lieu de références. Au contraire, il est souvent mieux de travailler sur les copies plutôt que sur les références, car créer une référence prend un peu plus de temps que de créer une copie qui ne prend virtuellement pas de temps (à moins de créer un tableau géant ou un objet monstrueux, auquel cas il est préférable de passer par des références).

Pour prouver ceci, regardez le code suivant :
<?php
// maintenant, nous allons changer de nom. Qu'attendez-vous ?
// Vous pouvez vous attendre à ce que les deux variables $bar
// et $globalref[0] changent de nom...
$bar1->setName('modifié');

// comme prédit, ce n'est pas le cas
$bar1->echoName();
$globalref[0]->echoName();

/* affiche :
modifié
crée dans le constructeur
*/

// quelle est la différence entre $bar2 et $globalref[1]
$bar2->setName('modifié');

// Heureusement, elles sont non seulement égales, mais
// elles représentent la même variable.
// donc $bar2->Name et $globalref[1]->Name sont les mêmes
$bar2->echoName();
$globalref[1]->echoName();

/* affiche :
  modifié
  modifié */
?>

Un dernier exemple pour bien comprendre.

<?php
class A {
    function A($i) {
        $this->value = $i;
        // Essayez de comprendre on n'a pas besoin de
        // référence ici
        $this->b = new B($this);
    }

    function createRef() {
        $this->c = new B($this);
    }

    function echoValue() {
        echo "<br />","class ",get_class($this),': ',$this->value;
    }
}

class B {
    function B(&$a) {
        $this->a = &$a;
    }

    function echoValue() {
        echo "<br />","class ",get_class($this),': ',$this->a->value;
    }
}
// Essayez de comprendre pourquoi une copie simple va
// conduire à un résultat indésirable à
// la ligne marquée d'une étoile
$a =&new a(10);
$a->createRef();

$a->echoValue();
$a->b->echoValue();
$a->c->echoValue();

$a->value = 11;

$a->echoValue();
$a->b->echoValue(); // *
$a->c->echoValue();

?>

L'exemple ci-dessus va afficher :

class A: 10
class B: 10
class B: 10
class A: 11
class B: 11
class B: 11

Les fonctions magiques __sleep et __wakeup
Comparer des objets
Les classes et les objets (PHP 4)


Comparer des objets

En PHP 4, les objets sont comparés de manière très simple, à savoir : deux instances sont égales si elles ont les mêmes attributs et valeurs, et qu'elles sont de la même classe. Des règles similaires s'appliquent lors de la comparaison avec l'opérateur ===.

Si vous exécutez le code suivant :

Exemple #1 Exemple de comparaison d'objets en PHP 4

<?php
function bool2str($bool) {
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2) {
    echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool2str($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool2str($o1 !== $o2)."\n";
}

class Flag {
    var $flag;

    function Flag($flag=true) {
            $this->flag = $flag;
    }
}

class SwitchableFlag extends Flag {

    function turnOn() {
        $this->flag = true;
    }

    function turnOff() {
        $this->flag = false;
    }
}

$o = new Flag();
$p = new Flag(false);
$q = new Flag();

$r = new SwitchableFlag();

echo "Compare des instances créées avec les mêmes paramètres\n";
compareObjects($o, $q);

echo "\nCompare des instances créées avec différents paramètres\n";
compareObjects($o, $p);

echo "\nCompare une instance d'un parent avec celle d'une sous-classe\n";
compareObjects($o, $r);
?>

L'exemple ci-dessus va afficher :

Compare des instances créées avec les mêmes paramètres
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Compare des instances créées avec différents paramètres
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Compare une instance d'un parent avec celle d'une sous-classe
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
Ce qui est le résultat que nous attendions, au vu des règles édictées. Seules deux instances avec les mêmes valeurs d'attributs, et issues de la même classe, sont considérées comme égales.

Même lorsque nous avons une composition d'objet, la même règle de comparaison s'applique. Dans l'exemple ci-dessous, nous allons créer une classe conteneur, qui stocke un tableau associatif Flag.

Exemple #2 Comparaison d'objets composés en PHP 4

<?php
class FlagSet {
    var $set;

    function FlagSet($flagArr = array()) {
        $this->set = $flagArr;
    }

    function addFlag($name, $flag) {
        $this->set[$name] = $flag;
    }

    function removeFlag($name) {
        if (array_key_exists($name, $this->set)) {
            unset($this->set[$name]);
        }
    }
}

$u = new FlagSet();
$u->addFlag('flag1', $o);
$u->addFlag('flag2', $p);
$v = new FlagSet(array('flag1'=>$q, 'flag2'=>$p));
$w = new FlagSet(array('flag1'=>$q));

echo "\nObjects composés u(o,p) et v(q,p)\n";
compareObjects($u, $v);

echo "\nu(o,p) et w(q)\n";
compareObjects($u, $w);
?>

L'exemple ci-dessus va afficher :

Objects composés u(o,p) et v(q,p)
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

u(o,p) et w(q)
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Références dans un constructeur
Débogueur PHP
Les classes et les objets (PHP 4)


Débogueur PHP

Sommaire

  • À propos du débogueur en PHP
Comparer des objets
À propos du débogueur en PHP
Annexes


À propos du débogueur en PHP

PHP n'inclut aucun support de déboguage. Vous pouvez toutefois utiliser un des débogueurs externes. Le » Studio Zend inclut un débogueur et il y a aussi des débogueurs gratuits comme » http://dd.cron.ru/dbg/, le » Advanced PHP Debugger (APD) ou » Xdebug.

Débogueur PHP
Options de configuration
Débogueur PHP


Options de configuration

Sommaire

  • Liste des options de configuration internes
À propos du débogueur en PHP
Liste des options de configuration internes
Annexes


Options de configuration
Directives du php.ini
Options de configuration
PHP Manual

Liste des options de configuration internes

Ci-dessous une liste partielle des options de configuration utilisées par le script PHP configure lors de la compilation sur les systèmes Unix et assimilés. La plupart des options de configuration sont listées dans leur emplacement approprié sur les pages de référence de l'extension et non pas ici. Pour une liste complète des options de configuration, exécutez la commande ./configure --help dans le répertoire contenant les sources de PHP après avoir exécuté la commande autoconf (voir aussi le chapitre sur l'installation de PHP). Vous pouvez également être intéressé par la lecture de la documentation sur la » configuration GNU pour plus d'informations sur les options de la commande configure comme --prefix=PREFIX.

Note: Ils sont également utilisés lors de la compilation. Si vous voulez modifier la configuration de l'exécution de PHP, lisez le chapitre sur la configuration de l'exécution.

  • Divers

  • Comportement de PHP

  • Serveur

Options de configuration

Note: Ces options sont uniquement utilisables depuis la version 4.1.0. Quelques-unes sont valables dans les versions antérieures. Si vous voulez compiler des anciennes versions, certaines options ne seront probablement pas disponibles.

Options diverses

--enable-debug

Compile en activant les symboles de déboguage

--with-layout=TYPE

Spécifie la façon dont les fichiers installés seront présentés. TYPE peut valoir PHP (valeur par défaut) ou GNU.

--with-pear=DIR

Installe PEAR dans le dossier DIR (par défaut, PREFIX/lib/php).

--without-pear

Ne pas installer PEAR.

--enable-sigchild

Active le propre traitement du SIGCHLD de PHP.

--disable-rpath

Désactive le passage de chemins additionnels de recherche de bibliothèques d'exécution.

--enable-libgcc

Active explicitement le lien avec la bibliothèque libgcc.

--enable-php-streams

Inclut le support expérimental des flux PHP. Utilisez-le seulement si vous testez le code !

--with-zlib-dir[=DIR]

Définit le chemin du répertoire d'installation de la bibliothèque zlib.

--enable-trans-sid

Active la propagation transparente de l'identifiant de session. Seulement valable pour PHP 4.1.2 et antérieures. À partir de PHP 4.2.0, cette fonctionnalité est toujours compilée.

--with-tsrm-pthreads

Utilise les threads POSIX (par défaut).

--enable-shared[=PKGS]

Compile les bibliothèques de partage [defaut=oui].

--enable-static[=PKGS]

Compile les bibliothèques statiques [default=oui].

--enable-fast-install[=PKGS]

Optimise pour une installation rapide [default=oui].

--with-gnu-ld

Le compilateur C utilise GNU ld [default=non].

--disable-libtool-lock

Évite de verrouiller (cela pourrait casser des constructions parallèles).

--with-pic

Tente d'utiliser uniquement les objets PIC/non-PIC [default=utilisation des deux].

--enable-memory-limit

Compile avec le support de limitation de mémoire. (non disponible depuis PHP 5.2.1 - toujours activé)

--disable-url-fopen-wrapper

Désactive le gestionnaire de ressources distantes, qui permet d'accéder à des fichiers via des URL et HTTP ou FTP. (non disponible depuis PHP 5.2.5)

--enable-versioning

Exporte uniquement les symboles requis. Voir le fichier INSTALL pour plus d'informations.

Options PHP

--enable-maintainer-mode

Active des règles de compilation (make) et des dépendances pas toujours utiles aux utilisateurs occasionnels.

--with-config-file-path=PATH

Indique le chemin dans lequel réside le fichier php.ini. Par défaut, c'est PREFIX/lib.

--enable-safe-mode

Active le safe mode (mode sécurisé) par défaut.

--with-exec-dir[=DIR]

Autorise uniquement des exécutables dans le dossier DIR lorsque le safe mode est activé ; par défaut, DIR vaut /usr/local/php/bin.

--enable-magic-quotes

Active les guillemets magiques.

--disable-short-tags

Désactive les balises courtes <?.

Options SAPI

La liste suivante contient les options valides SAPI&s (Server Application Programming Interface) pour PHP.

--with-aolserver=DIR

Spécifie le chemin d'installation du serveur AOLserver.

--with-apxs[=FILE]

Compile un module Apache partagé. FILE est un chemin d'accès optionnel vers les outils apxs d'Apache. Par défaut, c'est apxs. Assurez-vous de spécifier la version d'apxs qui est réellement installée sur votre système, et NON pas celle qui est fournie avec Apache.

--with-apache[=DIR]

Compile le module Apache. DIR est le chemin du dossier d'installation d'Apache. Par défaut, DIR vaut /usr/local/apache.

--with-mod_charset

Active les tables de transfert pour mod_charset (version russe de Apache).

--with-apxs2[=FILE]

Compile le module partagé Apache 2.0. FILE est un chemin d'accès optionnel vers les outils apxs d'Apache. Par défaut, c'est apxs.

--with-caudium=DIR

Compile PHP comme module Pike pour utilisation avec Caudium. DIR est le serveur Caudium. Par défaut, c'est /usr/local/caudium/server.

--disable-cli

Disponible depuis PHP 4.3.0. Empêche la compilation de la version CLI de PHP (cela force aussi l'option --without-pear). Disponible depuis PHP 4.3.0. Plus d'informations dans la section sur l'utilisation de PHP en ligne de commande.

--enable-embed[=TYPE]

Active la compilation de la bibliothèque intégrée SAPI. TYPE vaut soit shared, soit static. Par défaut, c'est shared. Disponible depuis PHP 4.3.0.

--with-fhttpd[=DIR]

Compile le module fhttpd. DIR est le dossier d'installation de fhttpd. Par défaut, DIR vaut /usr/local/src/fhttpd. Disponible depuis PHP 4.3.0.

--with-isapi=DIR

Compile PHP sous forme de module ISAPI pour utiliser avec le serveur Zeus.

--with-nsapi=DIR

Spécifie le chemin vers le serveur web Netscape/iPlanet/SunONE.

--with-phttpd=DIR

Aucune information fournie actuellement.

--with-pi3web=DIR

Compile PHP sous forme de module pour utiliser avec le serveur Pi3Web.

--with-roxen=DIR

Compile PHP sous forme de module Pike. DIR est le chemin d'installation de Roxen. Par défaut, DIR vaut /usr/local/roxen/server.

--enable-roxen-zts

Compile PHP sous forme de module Roxen, en utilisant Zend Thread Safety.

--with-servlet[=DIR]

Inclut le support des servlets. DIR est le chemin d'installation du JSDK. Cette SAPI impose que l'extension java soit compilée comme une bibliothèque partagée.

--with-thttpd=SRCDIR

Compile PHP comme module thttpd.

--with-tux=MODULEDIR

Compile PHP comme module TUX (Linux uniquement).

--with-webjames=SRCDIR

Compile PHP comme module WebJames (RISC OS uniquement)

--disable-cgi

Empêche la compilation de la version CGI de PHP. Disponible depuis PHP 4.3.0.

--enable-force-cgi-redirect

Active la sécurité lors des redirections internes du serveur. Il est recommandé d'utiliser cette option lorsque vous utilisez PHP en CGI avec Apache.

--enable-discard-path

Si cette option est activée, l'exécutable CGI PHP peut être placé hors de l'arborescence web, en toute sécurité. Il ne sera pas possible de contourner les fichiers .htaccess. security.

--with-fastcgi

Compile PHP comme application FastCGI. Cette option n'est plus disponible depuis PHP 4.3.0 et vous devez utiliser --enable-fastcgi à la place.

--enable-fastcgi

Si cette option est activée, le module CGI sera compilé avec le support FastCGI. Cette option est disponible depuis PHP 4.3.0.

--disable-path-info-check

Si cette option est désactivée, des chemins tels que /info.php/test?a=b ne pourront pas fonctionner. Cette option est disponible depuis PHP 4.3.0. Pour plus d'informations, voir le » Manuel Apache.

Options de configuration
Directives du php.ini
Options de configuration
PHP Manual


Directives du php.ini

Sommaire

  • Liste des directives du php.ini
  • Liste des sections du fichier php.ini
  • Description des directives internes du php.ini
Liste des options de configuration internes
Liste des directives du php.ini
Annexes


Liste des directives du php.ini

Cette liste inclut les directives du php.ini que vous pouvez définir pour configurer votre installation de PHP.

Options de configuration
Nom | Par défaut | Modifiable | Historique
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
allow_url_fopen | "1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.3.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 5. Disponible depuis PHP 5.2.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Disponible depuis PHP 4.1.0.
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en APC <= 3.0.12. Disponible depuis APC 3.0.0.
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM en APC 2. PHP_INI_ALL en APC <= 3.0.12.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.7.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.6.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.include_once_override | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.12.
apc.localcache | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.14.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.7.
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en APC 2. Retiré depuis APC 3.0.13.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.11.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.13.
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.stat | "1" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.10.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.13.
apc.ttl | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.0.
apc.write_lock | "1" | PHP_INI_SYSTEM | Disponible depuis APC 3.0.11.
apd.bitmask | "0" | PHP_INI_ALL | Retiré depuis apd 0.9.
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Disponible depuis apd 0.9.
arg_separator | "&" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.6.
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible depuis PHP 4.0.5.
arg_separator.output | "&" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP 4.0.0.
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
async_send | "0" | PHP_INI_ALL | Disponible depuis PHP 4.2.0. Disponible jusqu'en PHP 4.3.0.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
auto_detect_line_endings | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible depuis PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
axis2.client_home | "~/work/axisc/c/deply" | PHP_INI_ALL |
axis2.enable_exception | "1" | PHP_INI_ALL |
axis2.enable_trace | "1" | PHP_INI_ALL |
axis2.log_path | "/tmp" | PHP_INI_ALL |
bcmath.scale | "0" | PHP_INI_ALL |
bcompiler.enabled | "1" | PHP_INI_ALL | Disponible depuis bcompiler 0.8.
birdstep.max_links | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.2.0.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.2.1.
cgi.discard_path | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible depuis PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible depuis PHP 4.2.0.
cgi.nph | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.5.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible depuis PHP 4.2.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
child_terminate | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
coin_acceptor.autoreset | "On" | PHP_INI_ALL | Retiré depuis coin_acceptor 0.2.
coin_acceptor.auto_initialize | "Off" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.2.
coin_acceptor.auto_reset | "On" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.2.
coin_acceptor.command_function | "Off" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.3.
coin_acceptor.delay | "53132" | PHP_INI_ALL | Retiré depuis coin_acceptor 0.2.
coin_acceptor.delay_coins | "53132" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.2.
coin_acceptor.delay_prom | "55748" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.2.
coin_acceptor.device | "/dev/ttyS1" | PHP_INI_ALL | Retiré depuis coin_acceptor 0.2.
coin_acceptor.lock_on_close | "Off" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.2.
coin_acceptor.start_unlocked | "On" | PHP_INI_ALL | Disponible depuis coin_acceptor 0.2.
com.allow_dcom | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.5.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible depuis PHP 4.1.0.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible depuis PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP 4. Disponible depuis PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.5.
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM en crack <= 0.2. Disponible depuis PHP 4.0.5. Disponible jusqu'en PHP 5.0.0.
daffodildb.default_host | "localhost" | PHP_INI_ALL |
daffodildb.default_password | "daffodil" | PHP_INI_ALL |
daffodildb.default_socket | NULL | PHP_INI_ALL |
daffodildb.default_user | "DAFFODIL" | PHP_INI_ALL |
daffodildb.port | "3456" | PHP_INI_ALL |
date.default_latitude | "31.7667" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Disponible depuis PHP 5.1.0.
dba.default_handler | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0. Disponible jusqu'en PHP 5.1.0.
default_charset | "" | PHP_INI_ALL |
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
define_syslog_variables | "0" | PHP_INI_ALL | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
detect_unicode | "1" | PHP_INI_ALL | Disponible depuis PHP 5.1.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
disable_classes | "" | php.ini uniquement | Disponible depuis PHP 4.3.2.
disable_functions | "" | php.ini uniquement | Disponible depuis PHP 4.0.1.
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.3.
docref_ext | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.2.
docref_root | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
engine | "1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
etpan.default.charset | "utf-8" | PHP_INI_ALL |
etpan.default.protocol | "imap" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
expect.logfile | "" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expose_php | "1" | php.ini uniquement |
extension | NULL | php.ini only |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible depuis PHP 4.3.0.
fastcgi.logging | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 5.2.0. Disponible depuis PHP 4.4.0.
fbsql.allow_persistant | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6. Disponible jusqu'en PHP 4.2.0.
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0. Disponible jusqu'en PHP 5.1.0.
fbsql.batchsize | "1000" | PHP_INI_ALL | Disponible depuis PHP 5.1.0.
fbsql.default_database | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6.
fbsql.mbatchSize | "1000" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.6. Disponible jusqu'en PHP 4.2.0.
fbsql.show_timestamp_decimals | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.5.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible depuis PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible depuis PHP 5.2.0.
from | "" | PHP_INI_ALL |
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Disponible depuis PHP 5.1.3.
geoip.custom_directory | NULL | PHP_INI_ALL | Disponible depuis geoip 1.0.1.
geoip.database_standard | "GeoIP.dat" | PHP_INI_ALL | Retiré depuis geoip 1.0.1.
gpc_order | "GPC" | PHP_INI_ALL | Disponible jusqu'en PHP 5.0.0.
hidef.ini_path | (char*)default_ini_path | PHP_INI_SYSTEM |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible depuis PHP 4.0.2.
htscanner.config_file | ".htaccess" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM | Disponible depuis htscanner 0.6.0.
htscanner.stop_on_error | "0" | PHP_INI_SYSTEM | Disponible depuis htscanner 0.7.0.
http.allowed_methods | "" | PHP_INI_ALL | Disponible depuis pecl_http 0.4.0. Retiré depuis pecl_http 1.0.0.
http.allowed_methods_log | "" | PHP_INI_ALL | Disponible depuis pecl_http 0.12.0. Retiré depuis pecl_http 1.0.0.
http.cache_log | "" | PHP_INI_ALL | Disponible depuis pecl_http 0.8.0. Retiré depuis pecl_http 1.0.0.
http.composite_log | "" | PHP_INI_ALL | Disponible depuis pecl_http 0.12.0. Retiré depuis pecl_http 1.0.0.
http.etag.mode | "MD5" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.etag_mode | "MD5" | PHP_INI_ALL | Disponible depuis pecl_http 0.12.0. Retiré depuis pecl_http 1.0.0.
http.force_exit | "1" | PHP_INI_ALL | Disponible depuis pecl_http 0.18.0.
http.log.allowed_methods | "" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.log.cache | "" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.log.composite | "" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.log.not_found | "" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.log.redirect | "" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.ob_deflate_auto | "0" | PHP_INI_PERDIR | Disponible depuis pecl_http 0.21.0. Retiré depuis pecl_http 1.0.0.
http.ob_deflate_flags | "0" | PHP_INI_ALL | Disponible depuis pecl_http 0.21.0. Retiré depuis pecl_http 1.0.0.
http.ob_inflate_auto | "0" | PHP_INI_PERDIR | Disponible depuis pecl_http 0.21.0. Retiré depuis pecl_http 1.0.0.
http.ob_inflate_flags | "0" | PHP_INI_ALL | Disponible depuis pecl_http 0.21.0. Retiré depuis pecl_http 1.0.0.
http.only_exceptions | "0" | PHP_INI_ALL | Disponible depuis pecl_http 0.11.0.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | Disponible depuis pecl_http 1.5.0.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | Disponible depuis pecl_http 1.5.0.
http.redirect_log | "" | PHP_INI_ALL | Disponible depuis pecl_http 0.12.0. Retiré depuis pecl_http 1.0.0.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Disponible depuis pecl_http 1.3.0.
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Disponible depuis pecl_http 1.3.0.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Disponible depuis pecl_http 1.3.0.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Disponible depuis pecl_http 1.3.0.
http.request.methods.allowed | "" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.request.methods.custom | "" | PHP_INI_PERDIR | Disponible depuis pecl_http 1.0.0.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR | Disponible depuis pecl_http 1.0.0.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR | Disponible depuis pecl_http 1.0.0.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
http.send.not_found_404 | "1" | PHP_INI_ALL | Disponible depuis pecl_http 1.0.0.
hyerwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible jusqu'en PHP 4.3.2.
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.2. Disponible jusqu'en PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Disponible jusqu'en PHP 5.0.0.
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
ibase.default_db | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Disponible depuis ibm_db2 1.0.2.
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible jusqu'en PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Disponible jusqu'en PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Disponible jusqu'en PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Disponible jusqu'en PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Disponible jusqu'en PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Disponible jusqu'en PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Disponible jusqu'en PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Disponible jusqu'en PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible jusqu'en PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Disponible jusqu'en PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Disponible jusqu'en PHP 5.2.1.
ignore_repeated_errors | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
ignore_user_abort | "0" | PHP_INI_ALL |
imlib2.font_cache_max_size | "524288" | PHP_INI_ALL |
imlib2.font_path | "/usr/share/php/fonts/" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR en PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
ingres.array_index_start | "1" | PHP_INI_ALL | Disponible depuis ingres 1.4.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Disponible depuis ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Disponible depuis ingres 1.1.
ingres.default_database | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
ingres.default_password | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
ingres.default_user | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
ingres.report_db_warnings | "1" | PHP_INI_ALL | Disponible depuis ingres 1.1.
ingres.timeout | "-1" | PHP_INI_ALL | Disponible depuis ingres 1.4.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Disponible depuis ingres 1.2.1.
ircg.control_user | "nobody" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Disponible jusqu'en PHP 5.1.0.
ircg.keep_alive_interval | "60" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Disponible jusqu'en PHP 5.1.0.
ircg.max_format_message_sets | "12" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Disponible jusqu'en PHP 5.1.0.
ircg.shared_mem_size | "6000000" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Disponible jusqu'en PHP 5.1.0.
ircg.work_dir | "/tmp/ircg" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Disponible jusqu'en PHP 5.1.0.
last_modified | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
ldap.base_dn | NULL | PHP_INI_ALL | Disponible jusqu'en PHP 4.2.0.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log.dbm_dir | "" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.1.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Obsolète en PHP 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
magic_quotes_runtime | "0" | PHP_INI_ALL | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
magic_quotes_sybase | "0" | PHP_INI_ALL | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
mail.add_x_header | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Available since PHP 5.3.0.
mail.force_extra_parameters | NULL | php.ini uniquement | Disponible depuis PHP 5.0.0.
mail.log | "" | PHP_INI_ALL | Disponible depuis PHP 5.3.0.
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Disponible depuis PHP 4.1.0. Disponible jusqu'en PHP 4.2.0.
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Disponible depuis PHP 4.4.8. Disponible jusqu'en PHP 5.0.0.
max_input_time | "-1" | PHP_INI_PERDIR | Disponible depuis PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Disponible depuis PHP 4.3.0.
mbstring.func_overload | "0" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. PHP_INI_SYSTEM | PHP_INI_PERDIR entre PHP 4.3 et 5.2.6. Disponible depuis PHP 4.2.0.
mbstring.http_input | "pass" | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mbstring.language | "neutral" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.; PHP_INI_PERDIR en PHP <= 5.2.6
mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Disponible depuis PHP 5.1.2.
mbstring.substitute_character | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.6.
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2.
memcache.allow_failover | "1" | PHP_INI_ALL | Disponible depuis memcache 2.0.2.
memcache.chunk_size | "8192" | PHP_INI_ALL | Disponible depuis memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Disponible depuis memcache 2.0.2.
memcache.hash_function | "crc32" | PHP_INI_ALL | Disponible depuis memcache 2.2.0.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Disponible depuis memcache 2.2.0.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Disponible depuis memcache 2.1.0.
memory_limit | "128M" | PHP_INI_ALL |
mime_magic.debug | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0.
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.4.
mssql.charset | "" | PHP_INI_ALL | Disponible depuis PHP 5.1.2.
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Disponible depuis PHP 4.2.0.
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_procs | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0.
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Disponible depuis PHP 4.1.0.
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM en PHP <= 4.3.2. Disponible depuis PHP 4.3.0.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.1.
mysql.default_user | NULL | PHP_INI_ALL |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
mysqli.default_host | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
namazu.debugmode | "0" | PHP_INI_ALL |
namazu.lang | NULL | PHP_INI_ALL |
namazu.loggingmode | "0" | PHP_INI_ALL |
namazu.sortmethod | NULL | PHP_INI_ALL |
namazu.sortorder | NULL | PHP_INI_ALL |
nsapi.read_timeout | "60" | PHP_INI_ALL | Disponible depuis PHP 4.3.3.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.2.
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.default_db | NULL | PHP_INI_ALL |
odbc.default_pw | NULL | PHP_INI_ALL |
odbc.default_user | NULL | PHP_INI_ALL |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbtp.datetime_format | "object" | PHP_INI_ALL |
odbtp.detach_default_queries | "0" | PHP_INI_ALL |
odbtp.guid_format | "string" | PHP_INI_ALL | Disponible depuis odbtp 1.1.3.
odbtp.interface_file | "/usr/local/share/odbtp.conf" | PHP_INI_ALL |
odbtp.truncation_errors | "1" | PHP_INI_ALL |
opendirectory.default_separator | "/" | PHP_INI_ALL | Retiré depuis opendirectory 0.2.2.
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL | Disponible depuis opendirectory 0.2.2.
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM en PHP < 5.2.3.
oracle.allow_persistent | "-1" | PHP_INI_ALL | Disponible jusqu'en PHP 5.1.0.
oracle.max_links | "-1" | PHP_INI_ALL | Disponible jusqu'en PHP 5.1.0.
oracle.max_persistent | "-1" | PHP_INI_ALL | Disponible jusqu'en PHP 5.1.0.
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Disponible depuis PHP 4.0.4.
pam.servicename | "php" | PHP_INI_ALL |
pcre.backtrack_limit | "100000" | PHP_INI_ALL | Disponible depuis PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Disponible depuis PHP 5.2.0.
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Disponible depuis PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.1. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 5.1.0.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
phar.extract_list | "" | PHP_INI_ALL | Disponible depuis phar 1.1.0.
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
precision | "14" | PHP_INI_ALL |
printer.default_printer | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.6. Disponible jusqu'en PHP 4.1.1.
python.append_path | "" | PHP_INI_ALL |
python.prepend_path | "." | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Obsolète en 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible depuis PHP 5.0.0. Obsolète en PHP 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
report_memleaks | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Disponible depuis PHP 5.3.0
runkit.internal_override | "0" | PHP_INI_SYSTEM |
runkit.superglobal | "" | PHP_INI_PERDIR |
safe_mode | "0" | PHP_INI_SYSTEM | Obsolète en PHP 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.1.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 4.1.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "100" | PHP_INI_ALL | Disponible depuis PHP 4.3.2.
session.auto_start | "0" | PHP_INI_ALL |
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_httponly | "" | PHP_INI_ALL | Disponible depuis PHP 5.2.0.
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Disponible depuis PHP 4.0.4.
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.gc_dividend | "100" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Disponible jusqu'en PHP 4.3.2.
session.gc_divisor | "100" | PHP_INI_ALL | Disponible depuis PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
session.hash_function | "0" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
session.name | "PHPSESSID" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.save_path | "" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.2.3. PHP_INI_PERDIR en PHP < 5. Disponible depuis PHP 4.0.3.
session_pgsql.create_table | "1" | PHP_INI_SYSTEM |
session_pgsql.db | "host=localhost dbname=php_session user=nobody" | PHP_INI_SYSTEM |
session_pgsql.disable | "0" | PHP_INI_SYSTEM |
session_pgsql.failover_mode | "0" | PHP_INI_SYSTEM |
session_pgsql.gc_interval | "3600" | PHP_INI_SYSTEM |
session_pgsql.keep_expired | "0" | PHP_INI_SYSTEM |
session_pgsql.sem_file_name | "/tmp/php_session_pgsql" | PHP_INI_SYSTEM |
session_pgsql.serializable | "0" | PHP_INI_SYSTEM |
session_pgsql.short_circuit | "0" | PHP_INI_SYSTEM |
session_pgsql.use_app_vars | "0" | PHP_INI_SYSTEM |
session_pgsql.vacuum_interval | "21600" | PHP_INI_SYSTEM |
short_open_tag | "1" | PHP_INI_ALL | PHP_INI_ALL en PHP 4.0.0. PHP_INI_PERDIR en PHP < 5.3.0.
simple_cvs.authMethod | "0" | PHP_INI_ALL |
simple_cvs.compressionLevel | "0" | PHP_INI_ALL |
simple_cvs.cvsRoot | "0" | PHP_INI_ALL |
simple_cvs.host | "0" | PHP_INI_ALL |
simple_cvs.moduleName | "0" | PHP_INI_ALL |
simple_cvs.userName | "0" | PHP_INI_ALL |
simple_cvs.workingDir | "0" | PHP_INI_ALL |
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
soap.wsdl_cache | "1" | PHP_INI_ALL | Disponible depuis PHP 5.1.5.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Disponible depuis PHP 5.1.5.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite.assoc_case | "0" | PHP_INI_ALL | Disponible depuis PHP 5.0.0.
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.hostname | NULL | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.2.
sybase.interface_file | "" | PHP_INI_ALL |
sybase.login_timeout | "0" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.2.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.0.2. PHP_INI_SYSTEM en PHP <= 4.0.3.
sybase.min_client_severity | "10" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.2.
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.min_server_severity | "10" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.2.
sybase.timeout | "0" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.2.
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
sybct.hostname | NULL | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 4.0.3.
sybct.login_timeout | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.0.2.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.0.2. Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Disponible depuis PHP 4.0.2. Disponible jusqu'en PHP 4.0.3.
sybct.packet_size | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.5.
sybct.timeout | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.2.
sysvshm.init_mem | "10000" | PHP_INI_ALL |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR en PHP 5. Disponible depuis PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
track_vars | "1" | PHP_INI_ALL | Disponible jusqu'en PHP 4.0.3.
unserialize_callback_func | NULL | PHP_INI_ALL | Disponible depuis PHP 4.2.0.
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Disponible depuis PHP PHP 5.2.12.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponible depuis PHP 4.0.4.
user_agent | NULL | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.0.5.
velocis.max_links | "-1" | PHP_INI_ALL | Disponible jusqu'en PHP 4.2.0.
vld.active | "0" | PHP_INI_SYSTEM |
vld.execute | "1" | PHP_INI_SYSTEM | Disponible depuis vld 0.8.0.
vld.skip_append | "0" | PHP_INI_SYSTEM | Disponible depuis vld 0.8.0.
vld.skip_prepend | "0" | PHP_INI_SYSTEM | Disponible depuis vld 0.8.0.
xbithack | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
xdebug.auto_profile | "0" | PHP_INI_ALL | Retiré depuis Xdebug 2.0.0.
xdebug.auto_profile_mode | "0" | PHP_INI_ALL | Retiré depuis Xdebug 2.0.0.
xdebug.auto_trace | "0" | PHP_INI_ALL |
xdebug.collect_includes | "1" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.collect_params | "0" | PHP_INI_ALL |
xdebug.collect_return | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.collect_vars | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.default_enable | "1" | PHP_INI_ALL | PHP_INI_SYSTEM en Xdebug 1.
xdebug.dump.COOKIE | NULL | PHP_INI_ALL |
xdebug.dump.ENV | NULL | PHP_INI_ALL |
xdebug.dump.FILES | NULL | PHP_INI_ALL |
xdebug.dump.GET | NULL | PHP_INI_ALL |
xdebug.dump.POST | NULL | PHP_INI_ALL |
xdebug.dump.REQUEST | NULL | PHP_INI_ALL |
xdebug.dump.SERVER | NULL | PHP_INI_ALL |
xdebug.dump.SESSION | NULL | PHP_INI_ALL |
xdebug.dump_globals | "1" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.dump_once | "1" | PHP_INI_ALL |
xdebug.dump_undefined | "0" | PHP_INI_ALL |
xdebug.extended_info | "1" | PHP_INI_SYSTEM | Disponible depuis Xdebug 2.0.0.
xdebug.idekey | "" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.manual_url | "http://www.php.net" | PHP_INI_ALL |
xdebug.max_nesting_level | "100" | PHP_INI_ALL |
xdebug.output_dir | "/tmp" | PHP_INI_PERDIR | PHP_INI_SYSTEM en Xdebug <= 1.2.0. Retiré depuis Xdebug 2.0.0.
xdebug.profiler_aggregate | "0" | PHP_INI_PERDIR | Disponible depuis Xdebug 2.0.0.
xdebug.profiler_append | "0" | PHP_INI_PERDIR | Disponible depuis Xdebug 2.0.0.
xdebug.profiler_enable | "0" | PHP_INI_PERDIR | Disponible depuis Xdebug 2.0.0.
xdebug.profiler_enable_trigger | "0" | PHP_INI_PERDIR | Disponible depuis Xdebug 2.0.0.
xdebug.profiler_output_dir | "/tmp" | PHP_INI_PERDIR | Disponible depuis Xdebug 2.0.0.
xdebug.profiler_output_name | "cachegrind.out.%p" | PHP_INI_PERDIR | Disponible depuis Xdebug 2.0.0.
xdebug.remote_autostart | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.remote_enable | "0" | PHP_INI_PERDIR |
xdebug.remote_handler | "dbgp" | PHP_INI_ALL |
xdebug.remote_host | "localhost" | PHP_INI_ALL |
xdebug.remote_log | "" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.remote_mode | "req" | PHP_INI_ALL |
xdebug.remote_port | "9000" | PHP_INI_ALL |
xdebug.show_exception_trace | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.show_local_vars | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.show_mem_delta | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.trace_format | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.trace_options | "0" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.trace_output_dir | "/tmp" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.trace_output_name | "trace.%c" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.var_display_max_children | "128" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.var_display_max_data | "512" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xdebug.var_display_max_depth | "3" | PHP_INI_ALL | Disponible depuis Xdebug 2.0.0.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Disponible depuis PHP 4.1.0.
xmms.path | "/usr/bin/xmms" | PHP_INI_ALL |
xmms.session | "0" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
yami.response.timeout | "5" | PHP_INI_ALL | Disponible depuis yami 1.0.1.
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_file | NULL | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Disponible jusqu'en PHP 5.0.0.
yaz.log_mask | NULL | PHP_INI_ALL | Disponible depuis yaz 1.0.3.
yaz.max_links | "100" | PHP_INI_ALL | Disponible depuis PHP 4.3.0. Disponible jusqu'en PHP 5.0.0.
zend.enable_gc | "1" | PHP_INI_ALL | Disponible depuis PHP 5.3.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Disponible jusqu'en PHP 5.3.0.
zend_extension | NULL | php.ini only |
zend_extension_debug | NULL | php.ini only |
zend_extension_debug_ts | NULL | php.ini only |
zend_extension_ts | NULL | php.ini only |
zlib.output_compression | "0" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.

Directives du php.ini
Liste des sections du fichier php.ini
Directives du php.ini


Liste des sections du fichier php.ini

Cette liste inclut les sections du php.ini que vous pouvez ajuster pour configurer votre PHP selon l'hôte virtuel ou le chemin. Ces sections sont optionnelles.

Ces sections n'affectent pas directement PHP. Elles sont utilisées pour grouper les autres directives de configuration du php.ini et pour les appliquer à un hôte ou à un chemin particulier.

Ces sections ne sont utilisées qu'en mode CGI/FastCGI et elles ne peuvent définir des extensions et des directives zend_extension.

Sections
Nom | Modifiable | Historique
[HOST=] | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.
[PATH=] | PHP_INI_SYSTEM | Disponible depuis PHP 5.3.0.

Voici un éclaircissement sur l'utilisation des directives de configuration.

[HOST=<host>]

Cette section vous permet de définir un jeu de directives du php.ini qui prendront effet sur l'hôte spécifié.

Exemple #1 Active la sortie d'erreur à l'écran pour dev.site.com

[HOST=dev.site.com]
error_reporting = E_ALL
display_errors = On

[PATH=<path>]

Cette section vous permet de définir un jeu de directives du php.ini qui prendront effet quand un script sera lancé depuis le chemin spécifié.

Exemple #2 Ajoute un script de sécurité pour les zones protégées

[PATH=/home/site/public/secure]
auto_prepend_file=security.php

Liste des directives du php.ini
Description des directives internes du php.ini
Directives du php.ini


Description des directives internes du php.ini

Cette liste inclut les directives internes du php.ini que vous pouvez définir pour personnaliser votre configuration de PHP. Les directives gérées par les extensions sont listées et détaillées dans les pages de documentation respectives des extensions ; les informations concernant les directives sur les sessions par exemple, peuvent être trouvées sur la page de documentation des sessions.

Options Httpd

Options de configuration
Nom | Par défaut | Modifiable | Historique
async_send | "0" | PHP_INI_ALL |

Options du langage

Options de configuration
Nom | Par défaut | Modifiable | Historique
short_open_tag | On | PHP_INI_ALL | PHP_INI_ALL pour PHP 4.0.0. PHP_INI_PERDIR en PHP < 5.3.0.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP 4.0.0.
precision | "14" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP 4.0.0.
disable_functions | "" | php.ini only | Disponible depuis PHP 4.0.1.
disable_classes | "" | php.ini only | Disponible depuis PHP 4.3.2.
expose_php | "1" | php.ini uniquement |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible depuis PHP 5.0.0. Supprimé en PHP 5.3.0.
detect_unicode | "1" | PHP_INI_ALL | Disponible depuis PHP 5.1.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.

Voici un éclaircissement sur l'utilisation des directives de configuration.

short_open_tag boolean

Définit si les balises courtes d'ouverture de PHP (<? ?>) sont autorisées ou non. Si vous voulez utiliser PHP avec XML, vous devez désactiver cette option de configuration pour pouvoir utiliser <?xml ?>. Sinon, vous pouvez l'écrire à l'aide de PHP, par exemple : <?php echo '<?xml version="1.0">'; ?>. Si cette option est désactivée, vous devez utiliser la version longue d'ouverture de balises PHP (<?php ?>).

Note: Cette directive affecte également l'utilisation de <?=, qui est identique à <? echo. L'utilisation de cette écriture nécessite que l'option short_open_tag soit activée.

asp_tags boolean
Active l'utilisation des balises ASP (<% %>) tout en conservant les balises PHP (<?php ?>). Cela inclut l'utilisation des balises courtes comme <%= $valeur %>. Pour plus d'informations, lisez la page Sortir du mode HTML.
precision integer
Le nombre de décimales significatif à afficher dans les nombres à virgule flottante.
y2k_compliance boolean
Force la conformité avec l'an 2000 (peut être la cause de problèmes avec les navigateurs non-conformes)
allow_call_time_pass_reference boolean

Active ou non la possibilité de forcer les arguments à être passés par référence lors de l'appel à une fonction. Il est préférable de spécifier directement dans la déclaration de la fonction si les arguments seront passés ou non par référence. Nous vous encourageons à désactiver cette option et de vous assurer que vos scripts fonctionnent correctement avec, afin d'être sûr qu'ils fonctionneront avec les versions futures du langage (vous devriez recevoir une alerte à chaque fois que vous utiliserez cette fonctionnalité).

Passer les arguments par référence à l'appel de la fonction a été abandonné pour rendre le code plus clair. Les fonctions risquaient de modifier les arguments d'une manière aléatoire si l'argument était passé par référence. Pour éviter cet effet, il est préférable de spécifier le passage par référence dans le prototype de la fonction.

En PHP5, allow_call_time_pass_reference est obsolète, dans les versions inférieures à PHP 5.3.0, cette fonctionnalité émet une erreur E_COMPILE_WARNING, et dans les versions supérieures à PHP 5.3.0+, l'erreur est de niveau E_DEPRECATED.

Voir aussi l'explication sur les références.

expose_php boolean

Décide ou non si PHP doit être affiché comme étant installé sur le serveur (e.g. en ajoutant sa signature dans les en-têtes du serveur web). Ce n'est en aucun cas une menace de sécurité, mais cela permet de déterminer si vous utilisez PHP ou non sur votre serveur.

disable_functions string
Cette directive vous permet de désactiver certaines fonctions pour des raisons de securité. Elle prend une liste de noms de fonction délimités par une virgule. Cette directive n'est pas affectée par le Safe Mode. Cette directive doit être définie dans le php.ini. Par exemple, vous ne pouvez pas le définir dans le fichier httpd.conf.
disable_classes string
Cette directive vous permet de désactiver certaines classes pour des raisons de securité. Elle prend une liste de noms de classes délimités par une virgule. Cette directive n'est pas affectée par le Safe Mode. Cette directive doit être définie dans le php.ini. Par exemple, vous ne pouvez pas le définir dans le fichier httpd.conf.

Note: Note de disponibilité
Cette directive est devenue disponible depuis PHP 4.3.2.

zend.ze1_compatibility_mode boolean

Active le mode de compatibilité avec le Zend Engine 1 (PHP 4). Cela affecte le clonage, le casting (les objets sans propriété sont transtipés en FALSE ou 0) et la comparaison des objets. Dans ce mode, les objets sont passés par valeur plutôt que par référence, par défaut.

Voir aussi la section intitulée Migration de PHP 4 à PHP 5.

Avertissement

Cette fonctionnalité est devenue OBSOLÈTE et a été SUPPRIMÉE depuis PHP 5.3.0.

detect_unicode boolean

Vérifie le BOM (Byte Order Mark) et regarde si le fichier contient des caractères multi-octets valides. Cette détection est effectuée avant le lancement de la fonction __halt_compiler(). Disponible uniquement en mode Zend multi-octets.

Limite des ressources

Options de configuration
Nom | Par défaut | Modifiable | Historique
memory_limit | "128M" | PHP_INI_ALL | "8M" avant PHP 5.2.0, "16M" depuis PHP 5.2.0

Voici un éclaircissement sur l'utilisation des directives de configuration.

memory_limit integer

Cette option détermine la mémoire limite, en octets, qu'un script est autorisé à allouer. Cela permet de prévenir l'utilisation de toute la mémoire par un script mal codé. Notez que pour n'avoir aucune limite, vous devez définir cette directive à -1.

Avant la version 5.2.1 de PHP, pour pouvoir utiliser cette directive, vous deviez l'activer au moment de la compilation en utilisant l'option --enable-memory-limit dans la ligne de configuration. Cette option de compilation était aussi requise afin de définir les fonctions memory_get_usage() et memory_get_peak_usage() avant la version 5.2.1

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..

Voir aussi : max_execution_time.

Réglage de Performance

Réglage de Performance
Nom | Par défaut | Modifiable | Historique
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible depuis PHP 5.1.0.

Voici un éclaircissement sur l'utilisation des directives de configuration.

realpath_cache_size entier

Détermine la taille du cache de realpath qui sera utilisée par PHP. Cette valeur devrait être augmentée sur les systèmes où PHP ouvre plusieurs fichiers, pour refléter la quantité d'opérations exécutées sur les fichiers.

realpath_cache_ttl entier

Temps (en seconde) pour lequel persiste l'information du cache de realpath pour un fichier ou un répertoire donné. Pour des systèmes avec des fichiers qui changent peu souvent, pensez à augmenter cette valeur.

Gestion des données

Options de configuration
Nom | Par défaut | Modifiable | Historique
track_vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL | Disponible depuis PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible depuis PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 5.0.5.
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Disponible depuis PHP 5.3.0
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible depuis PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible depuis PHP 5.0.0. Obsolète en PHP 5.3.0. Cette fonctionnalité obsolète sera certainement supprimée dans le futur.
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM pour PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
gpc_order | "GPC" | PHP_INI_ALL |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3. Disponible depuis PHP 4.1.0.
allow_webdav_methods | "0" | PHP_INI_PERDIR |

Voici un éclaircissement sur l'utilisation des directives de configuration.

track_vars boolean

Si cette option est configurée, alors les variables d'environnement GET, POST, Cookie et Server peuvent être trouvées respectivement dans les tableaux associatifs globaux $_ENV, $_GET, $_POST, $_COOKIE et $_SERVER.

Notez que depuis PHP 4.0.3, track_vars est toujours activée.

arg_separator.output string

Le séparateur utilisé lorsque PHP génère les URL pour séparer les arguments.

arg_separator.input string

Liste des séparateur(s) utilisé(s) par PHP pour analyser les URL entrantes et en déduire les valeurs.

Note: Chaque caractère de cette directive est considéré comme étant un séparateur !

variables_order string

Définit l'ordre d'analyse des variables EGPCS (Environment, Get, Post, Cookie, et Server). Par exemple, si variables_order est défini à "SP" alors PHP créera superglobals $_SERVER et $_POST, maisne créera pas $_ENV, $_GET, et $_COOKIE. Le fait de définir cet ordre à "" signifie qu'aucune superglobals ne sera définie.

Si la directive obsolète register_globals est activée, alors variables_order configurera également l'ordre pour les variables ENV, GET, POST, COOKIE et SERVER qui seront peuplées dans le contexte global. Ainsi, par exemple, si variables_order est défini à "EGPCS", si register_globals est actif, et que $_GET['action'] et $_POST['action'] sont définies, alors $action contiendra la valeur de $_POST['action'] vu que P vient après G dans la valeur de la directive pour cet exemple.

Avertissement

En SAPIs CGI et FastCGI, $_SERVER est également peuplé de valeur de l'environnement ; S est toujours équivalent à ES au regard de la position de E autre part dans cette directive.

Note: Le contenu et l'ordre de $_REQUEST sont également affectés par cette directive.

request_order string

Cette directive décrit l'ordre dans lequel PHP place les variables GET, POST et Cookie dans le tableau _REQUEST. Le placement s'effectue de la gauche vers la droite, les valeurs les plus récentes écrasant les valeurs plus anciennes.

Si cette directive n'est pas définie, variables_order est utilisé pour le contenu de $_REQUEST.

Notez que les fichiers php.ini de la distribution par défaut ne contiennent pas 'C' pour les cookies, ceci pour des raisons de sécurité.

auto_globals_jit boolean

Quand cette directive est activée, les variables SERVER et ENV sont créées lorsqu'elles sont utilisées : seulement si nécessaire. Si ces variables ne sont pas utilisées dans un script, le script verra un gain de performances.

Les directives PHP register_globals, register_long_arrays, et register_argc_argv doivent être désactivées pour que cete directive soit utilisable. Depuis PHP 5.1.3, il n'est plus nécessaire de désactiver register_argc_argv.

Avertissement

L'utilisation des variables SERVER et ENV est vérifiée lors de la compilation. Ainsi, les utiliser avec, par exemple, des variables dynamiques ne provoquera pas leur initialisation.

register_globals boolean

Définit si oui ou non les variables EGPCS (Environment, GET, POST, Cookie, Server) seront enregistrées comme des variables globales.

Depuis » PHP 4.2.0, la valeur par défaut de cette directive est off.

Lisez le chapitre sur la sécurité concernant l'utilisation de register_globals pour plus d'informations.

Notez que register_globals ne peut pas être défini durant le traitement (ini_set()). Vous pouvez utiliser .htaccess si votre hôte vous le permet comme décrit ci-dessous. Exemple d'une entrée .htaccess : php_flag register_globals off.

Note: La directive register_globals est affectée par la directive variables_order .

Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

register_argc_argv boolean
Dit à PHP s'il doit déclarer ou non les variables argv et argc (qui contiendront les informations GET). Voir aussi les lignes de commande. Cette directive a été introduite depuis PHP 4.0.0 et valait toujours "on" avant.
register_long_arrays boolean
Dit à PHP si oui ou non il doit enregistrer les types dépréciés $HTTP_*_VARS comme variables pré-définies. Lorsque cette directive est activée (par défaut), les variables longues PHP comme $HTTP_GET_VARS seront définies. Si vous ne les utilisez pas, il est recommandé de désactiver cette option pour des raisons de performance. À la place, utilisez les variables tableaux super-globales comme $_GET. Cette directive est Disponible depuis PHP 5.0.0.
Avertissement

Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

post_max_size integer
Définit la taille maximale des données reçues par la méthode POST. Cette option affecte également les fichiers chargés. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize. Si la limitation de mémoire est activée par votre script de configuration, memory_limit affectera également les fichiers chargés. De façon générale, memory_limit doit être plus grand que post_max_size. Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ.. Dans le cas où la taille des données reçues par la méthode POST est plus grande que post_max_size, les superglobales $_POST et $_FILES seront vides. Ceci peut être surveillé de différentes façons, e.g. en passant une variable $_GET au script qui traite les données, i.e. <form action="edit.php?processed=1">, et ainsi vérifier si $_GET['processed'] est défini.

Note: PHP autorise des mots-clés pour les bits, incluant K (kilo), M (méga) et G (giga). PHP effectue la conversion automatiquement si vous les utilisez. Soyez attentif de ne pas dépasser la limite d'un entier signé sur 32 bits (si vous utilisez les versions 32 bits), auquel cas votre script échouera.

gpc_order string

Définit l'ordre de parcours des variables GET/POST/COOKIE. Par défaut, cette directive vaut "GPC". Si vous positionnez cette directive à "GP" par exemple, PHP ignorera complètement les cookies et effacera toutes les variables de la méthode GET avec les variables de la méthode POST portant le même nom.

Note: Cette option n'est pas disponible en PHP 4. Utilisez variables_order à la place.

auto_prepend_file string

Spécifie le nom d'un fichier qui sera automatiquement parcouru avant le fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction require(), donc include_path est utilisé.

La valeur spéciale none désactive l'ajout automatique.

auto_append_file string

Spécifie le nom du fichier qui sera automatiquement parcouru après le fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction require(), donc include_path est utilisé.

La valeur spéciale none désactive l'ajout automatique.

Note: Si le script se termine par la fonction exit(), l'ajout automatique ne se fera pas.

default_mimetype string

default_charset string

PHP enverra toujours un jeux de caractères par défaut à l'en-tête HTTP Content-type: header. Pour désactiver l'envoi du jeu de caractères, définissez le tout simplement à une valeur vide.

always_populate_raw_post_data boolean

Remplit toujours la variable $HTTP_RAW_POST_DATA. Sinon, la variable est remplie uniquement des types MIME non reconnus des données. Cependant, la méthode préférée pour l'accès à ce type de données est php://input. $HTTP_RAW_POST_DATA n'est pas disponible avec enctype="multipart/form-data".

allow_webdav_methods boolean

Autorise la gestion des requêtes HTTP WebDav avec des scripts PHP (e.g PROPFIND, PROPPATCH, MOVE, COPY, etc.). Cette directive n'existe plus depuis PHP 4.3.2. Si vous voulez récupérer les données envoyées avec la méthode POST de ce type de requêtes, vous devez également définir always_populate_raw_post_data.

Voir aussi : magic_quotes_gpc, magic_quotes_runtime et magic_quotes_sybase.

Chemins et répertoires

Options de configuration
Nom | Par défaut | Modifiable | Historique
include_path | ".;/chemin/vers/php/pear" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM en PHP < 5.3.0
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/chemin/vers/php" | PHP_INI_SYSTEM |
extension | NULL | php.ini uniquement |
zend_extension | NULL | php.ini uniquement |
zend_extension_debug | NULL | php.ini uniquement |
zend_extension_debug_ts | NULL | php.ini uniquement |
zend_extension_ts | NULL | php.ini uniquement |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.2.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0. PHP_INI_ALL dans les versions inférieures à PHP 5.2.1.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0. PHP_INI_ALL dans les versions inférieures à PHP 5.2.1.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Disponible depuis PHP 4.2.0. PHP_INI_ALL dans les versions inférieures à PHP 5.2.1.
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Disponible depuis PHP 4.3.0. PHP_INI_ALL dans les versions inférieures à PHP 5.2.1.
fastcgi.logging | "1" | PHP_INI_SYSTEM | Disponible depuis PHP PHP 4.3.0. PHP_INI_ALL dans les versions inférieures à PHP 5.2.1.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible depuis PHP 4.3.0.

Voici un éclaircissement sur l'utilisation des directives de configuration.

include_path string

Spécifie une liste de répertoires où les fonctions require(), include(), fopen(), file(), readfile() et file_get_contents() chercheront les fichiers. Le format est identique à la variable d'environnement système PATH : une liste de répertoires séparés par deux points (:) sous Unix ou par un point-virgule (;) sous Windows.

PHP considère chaque entrée du chemin d'inclusion séparément lors de la recherche des fichiers à inclure. Il va vérifier le premier chemin, et s'il ne trouve pas le fichier, il va vérifier le chemin suivant, jusqu'à ce qu'il trouve le fichier à inclure ou bien retourner une alerte de type warning ou de type error. Vous pouvez spécifier votre chemin d'inclusion au moment de l'exécution en utilisant la fonction set_include_path().

Exemple #1 include_path sous Unix

include_path=".:/php/includes"

Exemple #2 include_path sous Windows

include_path=".;c:\php\includes"

L'utilisation d'un point (.) dans le chemin d'inclusion vous permet de faire des inclusions relatives au répertoire courant. Cependant, il est plus efficace d'inclure explicitement un fichier avec include './file', que de demander à PHP de vérifier le dossier courant à chaque inclusion.

open_basedir string

Limite les fichiers pouvant être ouverts par PHP à une architecture de dossiers spécifique, incluant le fichier lui-même. Cette directive n'est PAS affectée par le Safe Mode.

Lorsqu'un script tente d'ouverir un fichier avec, par exemple, la fonction fopen() ou la fonction gzopen(), le chemin vers le fichier est analysé. Lorsque le fichier se trouve à l'extérieur de l'architecture de dossiers spécifié, PHP refusera de l'ouvrir. Tous les liens symboliques sont résolus, aussi, il n'est pas possible d'outre-passer cette restriction avec un lien symboliqsue. Si le fichier n'existe pas, alors le lien symbolique ne pourra être résolu et le nom du fichier est comparé avec l'open_basedir.

La valeur spéciale . indique que le dossier courant du script sera utilisé comme dossier de base.Ceci est cependant légèrement dangereux dans le sens où le dossier courant peut être facilement changer grâce à la fonction chdir().

Dans le fichier httpd.conf, open_basedir peut être désactivée (i.e. pour certains hôtes virtuels) de la même façon que n'importe quelle diirective de configuration avec "php_admin_value open_basedir none".

Sous Windows, séparez les dossiers avec un point-virgule. Sous tous les autres systèmes, séparez les dossiers avec des deux-points. Lors de l'utilisation d'Apache en module, les chemins de l'open_basedir depuis les dossiers parents sont maintenant automatiquement hérités.

La restriction spécifié avec l'open_basedir est actuellement un préfixe, et non un nom de dossier. Ceci signifie que "open_basedir = /dir/incl" permet également d'accéder à "/dir/include" et "/dir/incls" s'ils existent. Lorsque vous souhaitez restreindre l'accès à un dossier spécifique, terminez le chemin par un slash. Par exemple : open_basedir = /dir/incl/

Par défaut, tous les fichiers peuvent être ouverts.

Note: Depuis PHP 5.3.0, open_basedir peut être affinée au moment de la compilation. Ceci signifie que si open_basedir est définie à /www/ dans le fichier php.ini, un script peut affiné la configuration en /www/tmp/ au moment de la compilation en utilisant la fonction ini_set().

doc_root string

Le dossier racine de PHP sur le serveur. Uniquement utilisé si non vide. Si PHP est configuré avec le safe mode, aucun fichier n'est servi en dehors de ce répertoire. Si PHP n'a pas été compilé avec FORCE_REDIRECT, vous devez définir le doc_root si vous utilisez PHP en tant que CGI sous n'importe quel serveur web (autre que IIS). Alternativement, vous pouvez utiliser la configuration cgi.force_redirect.

user_dir string

Le nom de base du répertoire utilisé dans un répertoire utilisateur pour les fichiers PHP, par exemple, public_html.

extension_dir string

Spécifie le répertoire dans lequel PHP doit chercher des extensions externes à charger. Voir aussi enable_dl et dl().

extension chaîne de caractères

Quelles extensions doivent être chargées dynamiquement lors du démarrage de PHP.

zend_extension string

Chemin absolu des extensions Zend chargeable dynamiquement (par exexemple APD) à charger lors du démarrage de PHP.

zend_extension_debug string

Variante de zend_extension pour les extensions compilées avec les informations de débogage.

zend_extension_debug_ts string

Variante de zend_extension pour les extensions compilées avec les informations de débogage et la sécurité des threads.

zend_extension_ts string

Variante de zend_extension pour les extensions compilés avec la sécurité des threads.

cgi.check_shebang_line booléen

Contrôle si PHP CGI vérifie la ligne commençant par #! (shebang) en haut du script exécuté. Cette ligne est nécessaire si le script est destiné à être exécuté en mode autonome et via un PHP CGI. PHP en mode CGI ne lit pas cette ligne et ignore son contenu si cette directive est active.

cgi.fix_pathinfo booléen

Fournit un réel PATH_INFO/ PATH_TRANSLATED pour CGI. Le comportement précédent de PHP était de définir PATH_TRANSLATED en SCRIPT_FILENAME et de ne pas remplir PATH_INFO. Pour plus d'informations sur PATH_INFO, lisez les spécificités CGI. Si définie à 1, PHP CGI fixera ce chemin suivant les spécifications. Si définie à 0, PHP appliquera l'ancien comportement. Par défaut, cette directive est activée. Vous devriez modifier vos scripts pour utiliser SCRIPT_FILENAME à la place de PATH_TRANSLATED.

cgi.force_redirect boolean

cgi.force_redirect est nécessaire pour des raisons de sécurité lors de l'utilisation de PHP en mode CGI sous la plupart des serveurs web. Si vous ne la définissez pas, PHP l'activera automatiquement par défaut. Vous pouvez la désactiver à vos risques et périls.

Note: Utilisateurs de Windows : Vous pouvez désactiver cette option en toute sécurité si vous utilisez le serveur web IIS ; en fait, vous le devez. Pour faire fonctionner les serveurs web OmniHTTPD ou Xitami, vous devez désactiver cette directive.

cgi.redirect_status_env string

Si cgi.force_redirect est activé et que vous ne tournez pas sous un serveur web Apache ou Netscape (iPlanet), vous devriez avoir besoin de définir un nom de variable d'environnement que PHP utilisera pour voir si tout est correct pour continuer l'exécution.

Note: La définition de cette variable peut avoir des conséquences sur la sécurité. Sachez ce que vous faites avant de faire cela.

fastcgi.impersonate string

FastCGI sous IIS (sur les systèmes d'exploitation basés sur WINNT) supporte la possibilité de déterminer la marque de sécurité du client appelant. Cela permet à IIS de définir le contexte de sécurité sur lequel la requête est exécuté. mod_fastcgi sous Apache ne supporte actuellement pas cette fonctionnalité (03/17/2002). Définie à 1 si vous utilisez IIS. Par défaut, vaut 0.

fastcgi.logging boolean

Active la journalisation SAPI avec FastCGI. Activé par défaut.

cgi.rfc2616_headers int

Dit à PHP quel type d'en-tête doit être utilisé lors de l'envoi du code réponse HTTP. Si définie à 0; PHP enverra un en-tête Status: qui est supporté par Apache et les autres serveurs web. Lorsque définie à -1, PHP enverra un en-tête répondant à la spécification de la » RFC 2616. Laissez cette valeur à 0 à moins que vous sachiez ce que vous faites.

Chargement de fichiers

Options de configuration
Nom | Par défaut | Modifiable | Historique
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL pour PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.
max_file_uploads | 20 | PHP_INI_SYSTEM | Disponible depuis PHP PHP 5.2.12.

Voici un éclaircissement sur l'utilisation des directives de configuration.

file_uploads boolean

Autorise ou non le chargement de fichiers par HTTP. Voir aussi les directives upload_max_filesize, upload_tmp_dir et post_max_size.

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..
upload_tmp_dir string

Le répertoire temporaire utilisé pour stocker les fichiers lors du chargement. L'utilisateur sous lequel fonctionne PHP doit avoir les droits en écriture sur ce répertoire. Si non spécifié, PHP utilisera celui par défaut du système.

upload_max_filesize integer

La taille maximale en octets d'un fichier à charger.

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..
max_file_uploads entier

Le nombre maximum de fichiers pouvant être envoyés simultanément.

SQL général

Options de configuration
Nom | Par défaut | Modifiable | Historique
sql.safe_mode | "0" | PHP_INI_SYSTEM |

Voici un éclaircissement sur l'utilisation des directives de configuration.

sql.safe_mode boolean

Si activé, les fonctions de connexion à la base de données qui spécifient des valeurs par défaut utiliseront ces valeurs au lieu des arguments fournis. Pour les valeurs par défaut, reportez-vous à la documentation des fonctions de connexion pour la base de données concernée.

Liste des sections du fichier php.ini
Catégorie/Liste des extensions
Directives du php.ini


Catégorie/Liste des extensions

Sommaire

  • Par ordre alphabétique
  • Adhésion
  • État

Cette annexe classe par catégorie plus de 150 extensions documentées dans le manuel PHP suivant différents critères.

Description des directives internes du php.ini
Par ordre alphabétique
Annexes


Par ordre alphabétique

  • Apache
  • APC
  • APD
  • Les tableaux
  • BBCode
  • BC Math
  • bcompiler
  • Bzip2
  • Calendar
  • chdb
  • Classkit
  • Classes/Objets
  • COM
  • Crack
  • ctype
  • cURL
  • Cyrus
  • Date/Heure
  • DBA
  • dBase
  • DB++
  • dbx
  • Direct IO
  • Les dossiers
  • DOM
  • DOM XML (PHP 4)
  • .NET
  • Enchant
  • Gestion des erreurs
  • Exécution de programme
  • Exif
  • Expect
  • FAM
  • FrontBase
  • FDF
  • Fileinfo
  • filePro
  • Système de fichiers
  • Filter
  • FriBiDi
  • FTP
  • Gestion des fonctions
  • GeoIP
  • Gettext
  • GMP
  • GnuPG
  • haru
  • Hash
  • HTTP
  • Hyperwave API
  • Hyperwave
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • ID3
  • Informix
  • IIS
  • GD
  • ImageMagick
  • IMAP
  • inclued
  • Options PHP et informations PHP
  • Ingres
  • Inotify
  • intl
  • Java
  • JSON
  • KADM5
  • LDAP
  • libxml
  • LZF
  • Mail
  • Mailparse
  • Math
  • MaxDB
  • Chaînes de caractères multi-octets
  • Mcrypt
  • MCVE
  • Memcache
  • Mhash
  • Mimetype
  • Ming
  • Misc.
  • mnoGoSearch
  • Mongo
  • mqseries
  • Msession
  • mSQL
  • Mssql
  • MySQL
  • mysqli
  • Ncurses
  • Gopher
  • Réseau
  • Newt
  • YP/NIS
  • Lotus Notes
  • NSAPI
  • Agrégation d'objets
  • OCI8
  • oggvorbis
  • OpenAL
  • OpenSSL
  • Contrôle de l'affichage
  • Surcharge d'objets
  • SQL Ovrimos
  • Paradox
  • Parsekit
  • PCNTL
  • PCRE
  • PDF
  • PDO
  • PostgreSQL
  • Phar
  • POSIX
  • Impression
  • PS
  • Pspell
  • qtdom
  • Radius
  • Rar
  • Readline
  • Recode
  • Regex POSIX
  • RPM Reader
  • runkit
  • SAM
  • SCA
  • scream
  • SDO
  • SDO-DAS-Relational
  • SDO DAS XML
  • Semaphore
  • Sessions
  • Session PgSQL
  • Mémoire partagée
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Sphinx
  • SPL
  • Types SPL
  • SPPLUS
  • SQLite3
  • SQLite
  • SSH2
  • Fonctions statistiques
  • Flux
  • Chaîne de caractères
  • SVN
  • SWF
  • Swish
  • Sybase
  • TCP
  • Tidy
  • Tokenizer
  • ODBC
  • URLs
  • Gestion des variables
  • vpopmail
  • W32api
  • WDDX
  • win32ps
  • win32service
  • xattr
  • xdiff
  • Analyseur syntaxique XML
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • XSLT (PHP4)
  • YAZ
  • Zip
  • Zlib
Catégorie/Liste des extensions
Adhésion
Catégorie/Liste des extensions


Adhésion

Extensions internes

Elles ne sont actuellement pas des extensions. Elles font partie intégrante de PHP et ne peuvent pas être enlevées des binaires PHP avec des options de compilation.

  • Les tableaux

  • Classes/Objets

  • Date/Heure

  • Les dossiers

  • Gestion des erreurs

  • Exécution de programme

  • Système de fichiers

  • Gestion des fonctions

  • Options PHP et informations PHP

  • Mail

  • Math

  • Misc.

  • Réseau

  • Contrôle de l'affichage

  • Regex POSIX

  • Sessions

  • Flux

  • Chaîne de caractères

  • Tokenizer

  • URLs

  • Gestion des variables

Extensions embarquées

Ces extensions sont embarquées avec PHP.

  • Apache

  • BC Math

  • Bzip2

  • Calendar

  • COM

  • ctype

  • cURL

  • DBA

  • dBase

  • DOM

  • .NET

  • Exif

  • FrontBase

  • FDF

  • FTP

  • Gettext

  • GMP

  • Hash

  • Firebird/InterBase

  • iconv

  • Informix

  • GD

  • IMAP

  • JSON

  • LDAP

  • libxml

  • Chaînes de caractères multi-octets

  • Mcrypt

  • Mhash

  • Mimetype

  • Ming

  • mSQL

  • Mssql

  • MySQL

  • mysqli

  • Ncurses

  • NSAPI

  • Agrégation d'objets

  • OCI8

  • OpenSSL

  • PCNTL

  • PCRE

  • PDO

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC et DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • POSIX

  • Pspell

  • Readline

  • Recode

  • Semaphore

  • Mémoire partagée

  • SimpleXML

  • SNMP

  • SOAP

  • Sockets

  • SPL

  • SQLite

  • SVN

  • Sybase

  • Tidy

  • ODBC

  • WDDX

  • Analyseur syntaxique XML

  • XMLReader

  • XML-RPC

  • XSL

  • XSLT (PHP4)

  • Zip

  • Zlib

Extensions externes

Pour pouvoir compiler ces extensions, des bibliothèques externes sont nécessaires.

  • BBCode

  • Bzip2

  • chdb

  • Crack

  • cURL

  • dBase

  • DB++

  • dbx

  • DOM

  • DOM XML (PHP 4)

  • Enchant

  • FAM

  • FrontBase

  • FDF

  • Fileinfo

  • FriBiDi

  • GeoIP

  • Gettext

  • GMP

  • haru

  • Hyperwave

  • Hyperwave API

  • Firebird/InterBase

  • IBM DB2

  • Informix

  • ImageMagick

  • IMAP

  • Ingres

  • Java

  • LDAP

  • libxml

  • MaxDB

  • Mcrypt

  • Memcache

  • Mhash

  • Ming

  • mnoGoSearch

  • Msession

  • mSQL

  • Mssql

  • MySQL

  • mysqli

  • Ncurses

  • Newt

  • OCI8

  • oggvorbis

  • OpenAL

  • OpenSSL

  • SQL Ovrimos

  • Paradox

  • PDF

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC et DB2 (PDO)

  • PostgreSQL (PDO)

  • PostgreSQL

  • PS

  • Pspell

  • qtdom

  • Radius

  • Rar

  • Readline

  • Recode

  • Session PgSQL

  • SimpleXML

  • SNMP

  • SOAP

  • Sphinx

  • SSH2

  • SWF

  • Swish

  • Sybase

  • Tidy

  • ODBC

  • vpopmail

  • WDDX

  • xattr

  • xdiff

  • Analyseur syntaxique XML

  • XMLReader

  • XSL

  • XSLT (PHP4)

  • YAZ

Extensions PECL

Ces extensions sont disponibles depuis » PECL. Plus d'extensions PECL existent mais elles ne sont pas encore documentées dans le manuel de PHP.

  • APC

  • APD

  • BBCode

  • bcompiler

  • chdb

  • Classkit

  • Crack

  • Cyrus

  • DB++

  • dbx

  • Direct IO

  • DOM XML (PHP 4)

  • Enchant

  • Expect

  • FAM

  • Fileinfo

  • filePro

  • Filter

  • FriBiDi

  • GeoIP

  • GnuPG

  • haru

  • Hash

  • HTTP

  • Hyperwave

  • Hyperwave API

  • IBM DB2

  • ID3

  • IIS

  • ImageMagick

  • Ingres

  • Java

  • JSON

  • KADM5

  • LZF

  • Mailparse

  • MaxDB

  • MCVE

  • Memcache

  • mnoGoSearch

  • Mongo

  • Msession

  • Ncurses

  • Gopher

  • Newt

  • YP/NIS

  • Lotus Notes

  • oggvorbis

  • OpenAL

  • SQL Ovrimos

  • Paradox

  • Parsekit

  • PDF

  • PDO

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC et DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • Phar

  • Impression

  • PS

  • qtdom

  • Radius

  • Rar

  • RPM Reader

  • runkit

  • SAM

  • SCA

  • SDO

  • SDO DAS XML

  • SDO-DAS-Relational

  • Session PgSQL

  • Sphinx

  • SSH2

  • Fonctions statistiques

  • SVN

  • SWF

  • Swish

  • TCP

  • Tidy

  • vpopmail

  • W32api

  • win32ps

  • win32service

  • xattr

  • xdiff

  • XMLReader

  • XMLWriter

  • YAZ

  • Zip

Par ordre alphabétique
État
Catégorie/Liste des extensions


État

Cette partie liste les extensions non prévues pour un environnement de production - elles sont soit trop "vieilles" (dépréciées), soit trop "nouvelles" (expérimentales).

Extensions dépréciées

Ces extensions ont été dépréciées habituellement en faveur d'autres extensions.

  • Mimetype

  • Surcharge d'objets

Extensions expérimentales

Le comportement de ces extensions - incluant le nom de ses fonctions et tout ce qui est documenté à propos de ces extensions - peut être modifié sans aucun avertissement dans les prochaines versions de PHP. Utilisez ces extensions à vos risques et périls.

  • bcompiler

  • DB++

  • .NET

  • haru

  • Hash

  • ImageMagick

  • Java

  • Ming

  • Mongo

  • Ncurses

  • Newt

  • Lotus Notes

  • Agrégation d'objets

  • Paradox

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • Oracle (PDO)

  • PS

  • qtdom

  • SCA

  • SDO-DAS-Relational

  • Sphinx

  • Swish

  • vpopmail

  • W32api

  • XML-RPC

Adhésion
Liste des alias
Catégorie/Liste des extensions


Liste des alias

Il y a beaucoup de fonctions en PHP qui peuvent être appelées sous différents noms. Dans la plupart des cas, il n'y pas de nom préféré par rapport à un autre, is_int() et is_integer() sont exactement identiques, par exemple. Ces modifications de noms ont été réalisées en général à cause d'un changement dans l'API d'origine ou pour d'autres raisons et les anciens noms sont conservés uniquement pour des raisons de compatiblité ascendante. C'est une très mauvaise habitude d'utiliser ces alias, car ils risquent à tous moment de disparaître, rendus obsolète sans préavis, ou bien par un simple changement de nom, ce qui rend votre script inutilisable avec des versions plus récentes de PHP. Préférez toujours les versions officielles. En fait, cette liste est surtout destinée à ceux qui doivent mettre à jour leurs scripts avec les syntaxes plus récentes.

Cette liste est en phase avec PHP 4.0.6.

Aliases
Alias | Fonction principale | Extension mère
_ | gettext() | Gettext
add | swfmovie_add() | Ming (flash)
add | swfsprite_add() | Ming (flash)
add_root | domxml_add_root() | DOM XML
addaction | swfbutton_addAction() | Ming (flash)
addcolor | swfdisplayitem_addColor() | Ming (flash)
addentry | swfgradient_addEntry() | Ming (flash)
addfill | swfshape_addfill() | Ming (flash)
addshape | swfbutton_addShape() | Ming (flash)
addstring | swftext_addString() | Ming (flash)
addstring | swftextfield_addString() | Ming (flash)
align | swftextfield_align() | Ming (flash)
attributes | domxml_attributes() | DOM XML
children | domxml_children() | DOM XML
chop | rtrim() | Base syntax
close | closedir() | Base syntax
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
die | exit() | Miscellaneous functions
dir | getdir() | Base syntax
diskfreespace | disk_free_space() | Filesystem
domxml_getattr | domxml_get_attribute() | DOM XML
domxml_setattr | domxml_set_attribute() | DOM XML
doubleval | floatval() | Base syntax
drawarc | swfshape_drawarc() | Ming (flash)
drawcircle | swfshape_drawcircle() | Ming (flash)
drawcubic | swfshape_drawcubic() | Ming (flash)
drawcubicto | swfshape_drawcubicto() | Ming (flash)
drawcurve | swfshape_drawcurve() | Ming (flash)
drawcurveto | swfshape_drawcurveto() | Ming (flash)
drawglyph | swfshape_drawglyph() | Ming (flash)
drawline | swfshape_drawline() | Ming (flash)
drawlineto | swfshape_drawlineto() | Ming (flash)
dtd | domxml_intdtd() | DOM XML
dumpmem | domxml_dumpmem() | DOM XML
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Base syntax
get_attribute | domxml_get_attribute() | DOM XML
getascent | swffont_getAscent() | Ming (flash)
getascent | swftext_getAscent() | Ming (flash)
getattr | domxml_get_attribute() | DOM XML
getdescent | swffont_getDescent() | Ming (flash)
getdescent | swftext_getDescent() | Ming (flash)
getheight | swfbitmap_getHeight() | Ming (flash)
getleading | swffont_getLeading() | Ming (flash)
getleading | swftext_getLeading() | Ming (flash)
getshape1 | swfmorph_getShape1() | Ming (flash)
getshape2 | swfmorph_getShape2() | Ming (flash)
getwidth | swfbitmap_getWidth() | Ming (flash)
getwidth | swffont_getWidth() | Ming (flash)
getwidth | swftext_getWidth() | Ming (flash)
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Multi-bytes Strings
i18n_discover_encoding | mb_detect_encoding() | Multi-bytes Strings
i18n_http_input | mb_http_input() | Multi-bytes Strings
i18n_http_output | mb_http_output() | Multi-bytes Strings
i18n_internal_encoding | mb_internal_encoding() | Multi-bytes Strings
i18n_ja_jp_hantozen | mb_convert_kana() | Multi-bytes Strings
i18n_mime_header_decode | mb_decode_mimeheader() | Multi-bytes Strings
i18n_mime_header_encode | mb_encode_mimeheader() | Multi-bytes Strings
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Base syntax
is_double | is_float() | Base syntax
is_integer | is_int() | Base syntax
is_long | is_int() | Base syntax
is_real | is_float() | Base syntax
is_writeable | is_writable() | Base syntax
join | implode() | Base syntax
labelframe | swfmovie_labelFrame() | Ming (flash)
labelframe | swfsprite_labelFrame() | Ming (flash)
last_child | domxml_last_child() | DOM XML
lastchild | domxml_last_child() | DOM XML
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Base syntax
mbstrcut | mb_strcut() | Multi-bytes Strings
mbstrlen | mb_strlen() | Multi-bytes Strings
mbstrpos | mb_strpos() | Multi-bytes Strings
mbstrrpos | mb_strrpos() | Multi-bytes Strings
mbsubstr | mb_substr() | Multi-bytes Strings
ming_setcubicthreshold | ming_setCubicThreshold() | Ming (flash)
ming_setscale | ming_setScale() | Ming (flash)
move | swfdisplayitem_move() | Ming (flash)
movepen | swfshape_movepen() | Ming (flash)
movepento | swfshape_movepento() | Ming (flash)
moveto | swfdisplayitem_moveTo() | Ming (flash)
moveto | swffill_moveTo() | Ming (flash)
moveto | swftext_moveTo() | Ming (flash)
msql | msql_db_query() | mSQL
msql_createdb | msql_create_db() | mSQL
msql_dbname | msql_result() | mSQL
msql_dropdb | msql_drop_db() | mSQL
msql_fieldflags | msql_field_flags() | mSQL
msql_fieldlen | msql_field_len() | mSQL
msql_fieldname | msql_field_name() | mSQL
msql_fieldtable | msql_field_table() | mSQL
msql_fieldtype | msql_field_type() | mSQL
msql_freeresult | msql_free_result() | mSQL
msql_listdbs | msql_list_dbs() | mSQL
msql_listfields | msql_list_fields() | mSQL
msql_listtables | msql_list_tables() | mSQL
msql_numfields | msql_num_fields() | mSQL
msql_numrows | msql_num_rows() | mSQL
msql_regcase | sql_regcase() | mSQL
msql_selectdb | msql_select_db() | mSQL
msql_tablename | msql_result() | mSQL
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_close | sybase_close() | Sybase
mssql_close | sybase_close() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_min_client_severity | sybase_min_client_severity() | Sybase
mssql_min_error_severity | sybase_min_error_severity() | Sybase
mssql_min_message_severity | sybase_min_message_severity() | Sybase
mssql_min_server_severity | sybase_min_server_severity() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_query | sybase_query() | Sybase
mssql_query | sybase_query() | Sybase
mssql_result | sybase_result() | Sybase
mssql_result | sybase_result() | Sybase
mssql_select_db | sybase_select_db() | Sybase
mssql_select_db | sybase_select_db() | Sybase
multcolor | swfdisplayitem_multColor() | Ming (flash)
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
name | domxml_attrname() | DOM XML
new_child | domxml_new_child() | DOM XML
new_xmldoc | domxml_new_xmldoc() | DOM XML
nextframe | swfmovie_nextFrame() | Ming (flash)
nextframe | swfsprite_nextFrame() | Ming (flash)
node | domxml_node() | DOM XML
oci8append | ocicollappend() | OCI8
oci8assign | ocicollassign() | OCI8
oci8assignelem | ocicollassignelem() | OCI8
oci8close | ocicloselob() | OCI8
oci8free | ocifreecoll() | OCI8
oci8free | ocifreedesc() | OCI8
oci8getelem | ocicollgetelem() | OCI8
oci8load | ociloadlob() | OCI8
oci8max | ocicollmax() | OCI8
oci8ocifreecursor | ocifreestatement() | OCI8
oci8save | ocisavelob() | OCI8
oci8savefile | ocisavelobfile() | OCI8
oci8size | ocicollsize() | OCI8
oci8trim | ocicolltrim() | OCI8
oci8writetemporary | ociwritetemporarylob() | OCI8
oci8writetofile | ociwritelobtofile() | OCI8
odbc_do | odbc_exec() | ODBC
odbc_field_precision | odbc_field_len() | ODBC
output | swfmovie_output() | Ming (flash)
parent | domxml_parent() | DOM XML
pdf_add_outline | pdf_add_bookmark() | PDF
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Base syntax
recode | recode_string() | Recode
remove | swfmovie_remove() | Ming (flash)
remove | swfsprite_remove() | Ming (flash)
rewind | rewinddir() | Base syntax
root | domxml_root() | DOM XML
rotate | swfdisplayitem_rotate() | Ming (flash)
rotateto | swfdisplayitem_rotateTo() | Ming (flash)
rotateto | swffill_rotateTo() | Ming (flash)
save | swfmovie_save() | Ming (flash)
savetofile | swfmovie_saveToFile() | Ming (flash)
scale | swfdisplayitem_scale() | Ming (flash)
scaleto | swfdisplayitem_scaleTo() | Ming (flash)
scaleto | swffill_scaleTo() | Ming (flash)
set_attribute | domxml_set_attribute() | DOM XML
set_content | domxml_set_content() | DOM XML
setaction | swfbutton_setAction() | Ming (flash)
setattr | domxml_set_attribute() | DOM XML
setbackground | swfmovie_setBackground() | Ming (flash)
setbounds | swftextfield_setBounds() | Ming (flash)
setcolor | swftext_setColor() | Ming (flash)
setcolor | swftextfield_setColor() | Ming (flash)
setdepth | swfdisplayitem_setDepth() | Ming (flash)
setdimension | swfmovie_setDimension() | Ming (flash)
setdown | swfbutton_setDown() | Ming (flash)
setfont | swftext_setFont() | Ming (flash)
setfont | swftextfield_setFont() | Ming (flash)
setframes | swfmovie_setFrames() | Ming (flash)
setframes | swfsprite_setFrames() | Ming (flash)
setheight | swftext_setHeight() | Ming (flash)
setheight | swftextfield_setHeight() | Ming (flash)
sethit | swfbutton_setHit() | Ming (flash)
setindentation | swftextfield_setIndentation() | Ming (flash)
setleftfill | swfshape_setleftfill() | Ming (flash)
setleftmargin | swftextfield_setLeftMargin() | Ming (flash)
setline | swfshape_setline() | Ming (flash)
setlinespacing | swftextfield_setLineSpacing() | Ming (flash)
setmargins | swftextfield_setMargins() | Ming (flash)
setmatrix | swfdisplayitem_setMatrix() | Ming (flash)
setname | swfdisplayitem_setName() | Ming (flash)
setname | swftextfield_setName() | Ming (flash)
setover | swfbutton_setOver() | Ming (flash)
setrate | swfmovie_setRate() | Ming (flash)
setratio | swfdisplayitem_setRatio() | Ming (flash)
setrightfill | swfshape_setrightfill() | Ming (flash)
setrightmargin | swftextfield_setRightMargin() | Ming (flash)
setspacing | swftext_setSpacing() | Ming (flash)
setup | swfbutton_setUp() | Ming (flash)
show_source | highlight_file() | Base syntax
sizeof | count() | Base syntax
skewx | swfdisplayitem_skewX() | Ming (flash)
skewxto | swfdisplayitem_skewXTo() | Ming (flash)
skewxto | swffill_skewXTo() | Ming (flash)
skewy | swfdisplayitem_skewy() | Ming (flash)
skewyto | swfdisplayitem_skewYTo() | Ming (flash)
skewyto | swffill_skewYTo() | Ming (flash)
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Base syntax
streammp3 | swfmovie_streamMp3() | Ming (flash)
swfaction | swfaction_init() | Ming (flash)
swfbitmap | swfbitmap_init() | Ming (flash)
swfbutton | swfbutton_init() | Ming (flash)
swffill | swffill_init() | Ming (flash)
swffont | swffont_init() | Ming (flash)
swfgradient | swfgradient_init() | Ming (flash)
swfmorph | swfmorph_init() | Ming (flash)
swfmovie | swfmovie_init() | Ming (flash)
swfshape | swfshape_init() | Ming (flash)
swfsprite | swfsprite_init() | Ming (flash)
swftext | swftext_init() | Ming (flash)
swftextfield | swftextfield_init() | Ming (flash)
unlink | domxml_unlink_node() | DOM XML
xptr_new_context | xpath_new_context() | DOM XML

État
Mots réservés en PHP
Annexes


Mots réservés en PHP

Sommaire

  • Liste de mots-clés
  • Classes prédéfinies
  • Constantes pré-définies

Cette annexe est une liste d'identifiants prédéfinis en PHP. Aucun des identifiants utilisés ici ne doit être repris comme nom de variable ou de fonction dans vos scripts. Ces identifiants incluent des mots-clés, des constantes, des classes, et des variables prédéfinies. Ces listes ne sont pas complètes ou exhaustives.

Liste des alias
Liste de mots-clés
Annexes


Liste de mots-clés

Ces mots ont un sens spécial en PHP. Certains représentent des objets qui ressemblent à des fonctions, d'autres à des constantes, et ainsi de suite, mais ils n'en sont pas vraiment : ce sont des structures de langage. Vous ne pourrez pas les utiliser comme constante, nom de classes, nom de fonctions ou nom de méthodes. Vous pouvez les utiliser comme nom de variables, mais cela risque d'entraîner des confusions.

Mots réservés en PHP
abstract (depuis PHP 5) | and | array() | as | break
case | catch (depuis PHP 5) | cfunction (PHP 4 uniquement) | class | clone (depuis PHP 5)
const | continue | declare | default | do
else | elseif | enddeclare | endfor | endforeach
endif | endswitch | endwhile | extends | final (depuis PHP 5)
for | foreach | function | global | goto (depuis PHP 5.3)
if | implements (depuis PHP 5) | interface (depuis PHP 5) | instanceof (depuis PHP 5)
namespace (depuis PHP 5.3) | new | old_function (PHP 4 uniquement) | or | private (depuis PHP 5)
protected (depuis PHP 5) | public (depuis PHP 5) | static | switch | throw (depuis PHP 5)
try (depuis PHP 5) | use | var | while | xor
Constantes utilisées lors de la compilation
__CLASS__ | __DIR__ (depuis PHP 5.3) | __FILE__ | __FUNCTION__ | __METHOD__
__NAMESPACE__ (depuis PHP 5.3) |  |  |  |
Constructeurs de langage
die() | echo() | empty() | exit() | eval()
include() | include_once() | isset() | list() | require()
require_once() | return() | print() | unset() |
Mots réservés en PHP
Classes prédéfinies
Mots réservés en PHP


Classes prédéfinies

Cette section liste les classes standards prédéfinies. Les autres extensions qui définissent d'autres classes sont décrites dans leur référence.

Classes standards

Ces classes sont définies dans le jeu de classe standard de PHP, inclus dans toutes les versions de PHP.

Directory
La classe qui permet d'instancier dir.
stdClass
Créé par la conversion en objet.
__PHP_Incomplete_Class
Peut être créé par la fonction unserialize().

Classes prédéfinies en PHP 5

Ces classes ont été ajoutées en PHP 5.0.0.

exception
php_user_filter

Closure

La classe prédéfinie finale Closure a été introduite en PHP 5.3.0. Elle est utilisée pour l'implémentation interne des fonctions anonymes.

La classe dispose d'un constructeur qui interdit la création manuelle de l'objet (il émet une erreur E_RECOVERABLE_ERROR) et appelle la méthode __invoke sur appel magique.

Classes spéciales

Les identifiants suivants ne devraient pas être utilisés en tant que nom de classe à cause de leur rôle particulier.

self
Classe courante.
static
Classe courante au moment de l'exécution.
parent
Classe parent.
Liste de mots-clés
Constantes pré-définies
Mots réservés en PHP


Constantes pré-définies

Constantes prédéfinies

Ces constantes sont définies par le coeur de PHP. Cela inclut notamment PHP, le moteur Zend et les modules SAPI.

PHP_VERSION (chaîne de caractères)
PHP_MAJOR_VERSION (entier)
Disponible depuis PHP 5.2.7.
PHP_MINOR_VERSION (entier)
Disponible depuis PHP 5.2.7.
PHP_RELEASE_VERSION (entier)
Disponible depuis PHP 5.2.7.
PHP_VERSION_ID (entier)
Disponible depuis PHP 5.2.7.
PHP_EXTRA_VERSION (chaîne de caractères)
Disponible depuis PHP 5.2.7.
PHP_ZTS (entier)
Disponible depuis PHP 5.2.7.
PHP_DEBUG (entier)
Disponible depuis PHP 5.2.7.
PHP_MAXPATHLEN (entier)
Disponible depuis PHP 5.3.0.
PHP_OS (chaîne de caractères)
PHP_SAPI (chaîne de caractères)
Disponible depuis PHP 4.2.0. Voyez aussi php_sapi_name().
PHP_EOL (chaîne de caractères)
Disponible depuis PHP 4.3.10 et PHP 5.0.2
PHP_INT_MAX (entier)
Disponible depuis PHP 4.4.0 et PHP 5.0.5
PHP_INT_SIZE (entier)
Disponible depuis PHP 4.4.0 et PHP 5.0.5
DEFAULT_INCLUDE_PATH (chaîne de caractères)
PEAR_INSTALL_DIR (chaîne de caractères)
PEAR_EXTENSION_DIR (chaîne de caractères)
PHP_EXTENSION_DIR (chaîne de caractères)
PHP_PREFIX (chaîne de caractères)
Disponible depuis PHP 4.3.0
PHP_BINDIR (chaîne de caractères)
PHP_LIBDIR (chaîne de caractères)
PHP_DATADIR (chaîne de caractères)
PHP_SYSCONFDIR (chaîne de caractères)
PHP_LOCALSTATEDIR (chaîne de caractères)
PHP_CONFIG_FILE_PATH (chaîne de caractères)
PHP_CONFIG_FILE_SCAN_DIR (chaîne de caractères)
PHP_SHLIB_SUFFIX (chaîne de caractères)
Disponible depuis PHP 4.3.0
PHP_OUTPUT_HANDLER_START (entier)
PHP_OUTPUT_HANDLER_CONT (entier)
PHP_OUTPUT_HANDLER_END (entier)
PHP_WINDOWS_VERSION_MAJOR (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_MINOR (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_BUILD (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_PLATFORM (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_SP_MAJOR (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_SP_MINOR (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_SUITEMASK (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_VERSION_PRODUCTTYPE (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_NT_DOMAIN_CONTROLLER (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_NT_SERVER (entier)
Disponible depuis PHP 5.3.0
PHP_WINDOWS_NT_WORKSTATION (entier)
Disponible depuis PHP 5.3.0
E_ERROR (entier)
E_WARNING (entier)
E_PARSE (entier)
E_NOTICE (entier)
E_CORE_ERROR (entier)
E_CORE_WARNING (entier)
E_COMPILE_ERROR (entier)
E_COMPILE_WARNING (entier)
E_USER_ERROR (entier)
E_USER_WARNING (entier)
E_USER_NOTICE (entier)
E_DEPRECATED (entier)
Disponible depuis PHP 5.3.0
E_USER_DEPRECATED (entier)
Disponible depuis PHP 5.3.0
E_ALL (entier)
E_STRICT (entier)
Disponible depuis PHP 5.0.0.
__COMPILER_HALT_OFFSET__ (entier)
Disponible depuis PHP 5.1.0
TRUE ( boolean )
Voir Booleans.
FALSE ( boolean )
Voir Booleans.
NULL ( boolean )
Voir Null.

Voir aussi les constantes magiques.

Constantes standards prédéfinies

Ces constantes sont définies par défaut dans PHP.

EXTR_OVERWRITE (entier)
EXTR_SKIP (entier)
EXTR_PREFIX_SAME (entier)
EXTR_PREFIX_ALL (entier)
EXTR_PREFIX_INVALID (entier)
EXTR_PREFIX_IF_EXISTS (entier)
EXTR_IF_EXISTS (entier)
SORT_ASC (entier)
SORT_DESC (entier)
SORT_REGULAR (entier)
SORT_NUMERIC (entier)
SORT_STRING (entier)
CASE_LOWER (entier)
CASE_UPPER (entier)
COUNT_NORMAL (entier)
COUNT_RECURSIVE (entier)
ASSERT_ACTIVE (entier)
ASSERT_CALLBACK (entier)
ASSERT_BAIL (entier)
ASSERT_WARNING (entier)
ASSERT_QUIET_EVAL (entier)
CONNECTION_ABORTED (entier)
CONNECTION_NORMAL (entier)
CONNECTION_TIMEOUT (entier)
INI_USER (entier)
INI_PERDIR (entier)
INI_SYSTEM (entier)
INI_ALL (entier)
M_E (float)
M_LOG2E (float)
M_LOG10E (float)
M_LN2 (float)
M_LN10 (float)
M_PI (float)
M_PI_2 (float)
M_PI_4 (float)
M_1_PI (float)
M_2_PI (float)
M_2_SQRTPI (float)
M_SQRT2 (float)
M_SQRT1_2 (float)
CRYPT_SALT_LENGTH (entier)
CRYPT_STD_DES (entier)
CRYPT_EXT_DES (entier)
CRYPT_MD5 (entier)
CRYPT_BLOWFISH (entier)
DIRECTORY_SEPARATOR (chaîne de caractères)
SEEK_SET (entier)
SEEK_CUR (entier)
SEEK_END (entier)
LOCK_SH (entier)
LOCK_EX (entier)
LOCK_UN (entier)
LOCK_NB (entier)
HTML_SPECIALCHARS (entier)
HTML_ENTITIES (entier)
ENT_COMPAT (entier)
ENT_QUOTES (entier)
ENT_NOQUOTES (entier)
INFO_GENERAL (entier)
INFO_CREDITS (entier)
INFO_CONFIGURATION (entier)
INFO_MODULES (entier)
INFO_ENVIRONMENT (entier)
INFO_VARIABLES (entier)
INFO_LICENSE (entier)
INFO_ALL (entier)
CREDITS_GROUP (entier)
CREDITS_GENERAL (entier)
CREDITS_SAPI (entier)
CREDITS_MODULES (entier)
CREDITS_DOCS (entier)
CREDITS_FULLPAGE (entier)
CREDITS_QA (entier)
CREDITS_ALL (entier)
STR_PAD_LEFT (entier)
STR_PAD_RIGHT (entier)
STR_PAD_BOTH (entier)
PATHINFO_DIRNAME (entier)
PATHINFO_BASENAME (entier)
PATHINFO_EXTENSION (entier)
PATH_SEPARATOR (chaîne de caractères)
CHAR_MAX (entier)
LC_CTYPE (entier)
LC_NUMERIC (entier)
LC_TIME (entier)
LC_COLLATE (entier)
LC_MONETARY (entier)
LC_ALL (entier)
LC_MESSAGES (entier)
ABDAY_1 (entier)
ABDAY_2 (entier)
ABDAY_3 (entier)
ABDAY_4 (entier)
ABDAY_5 (entier)
ABDAY_6 (entier)
ABDAY_7 (entier)
DAY_1 (entier)
DAY_2 (entier)
DAY_3 (entier)
DAY_4 (entier)
DAY_5 (entier)
DAY_6 (entier)
DAY_7 (entier)
ABMON_1 (entier)
ABMON_2 (entier)
ABMON_3 (entier)
ABMON_4 (entier)
ABMON_5 (entier)
ABMON_6 (entier)
ABMON_7 (entier)
ABMON_8 (entier)
ABMON_9 (entier)
ABMON_10 (entier)
ABMON_11 (entier)
ABMON_12 (entier)
MON_1 (entier)
MON_2 (entier)
MON_3 (entier)
MON_4 (entier)
MON_5 (entier)
MON_6 (entier)
MON_7 (entier)
MON_8 (entier)
MON_9 (entier)
MON_10 (entier)
MON_11 (entier)
MON_12 (entier)
AM_STR (entier)
PM_STR (entier)
D_T_FMT (entier)
D_FMT (entier)
T_FMT (entier)
T_FMT_AMPM (entier)
ERA (entier)
ERA_YEAR (entier)
ERA_D_T_FMT (entier)
ERA_D_FMT (entier)
ERA_T_FMT (entier)
ALT_DIGITS (entier)
INT_CURR_SYMBOL (entier)
CURRENCY_SYMBOL (entier)
CRNCYSTR (entier)
MON_DECIMAL_POINT (entier)
MON_THOUSANDS_SEP (entier)
MON_GROUPING (entier)
POSITIVE_SIGN (entier)
NEGATIVE_SIGN (entier)
INT_FRAC_DIGITS (entier)
FRAC_DIGITS (entier)
P_CS_PRECEDES (entier)
P_SEP_BY_SPACE (entier)
N_CS_PRECEDES (entier)
N_SEP_BY_SPACE (entier)
P_SIGN_POSN (entier)
N_SIGN_POSN (entier)
DECIMAL_POINT (entier)
RADIXCHAR (entier)
THOUSANDS_SEP (entier)
THOUSEP (entier)
GROUPING (entier)
YESEXPR (entier)
NOEXPR (entier)
YESSTR (entier)
NOSTR (entier)
CODESET (entier)
LOG_EMERG (entier)
LOG_ALERT (entier)
LOG_CRIT (entier)
LOG_ERR (entier)
LOG_WARNING (entier)
LOG_NOTICE (entier)
LOG_INFO (entier)
LOG_DEBUG (entier)
LOG_KERN (entier)
LOG_USER (entier)
LOG_MAIL (entier)
LOG_DAEMON (entier)
LOG_AUTH (entier)
LOG_SYSLOG (entier)
LOG_LPR (entier)
LOG_NEWS (entier)
LOG_UUCP (entier)
LOG_CRON (entier)
LOG_AUTHPRIV (entier)
LOG_LOCAL0 (entier)
LOG_LOCAL1 (entier)
LOG_LOCAL2 (entier)
LOG_LOCAL3 (entier)
LOG_LOCAL4 (entier)
LOG_LOCAL5 (entier)
LOG_LOCAL6 (entier)
LOG_LOCAL7 (entier)
LOG_PID (entier)
LOG_CONS (entier)
LOG_ODELAY (entier)
LOG_NDELAY (entier)
LOG_NOWAIT (entier)
LOG_PERROR (entier)
Classes prédéfinies
Types des ressources PHP
Mots réservés en PHP


Types des ressources PHP

Voici la liste des fonctions qui créent, utilisent ou détruisent les ressources PHP. Vous pouvez déterminer si une variable contient une ressource avec la fonction is_resource(), et le type d'une ressource que vous utilisez avec la fonction get_resource_type().

Types de ressource
Ressource | Construite par | Utilisée par | Détruite par | Définition
aspell | aspell_new() | aspell_check(), aspell_check_raw(), aspell_suggest() | Aucun | Dictionnaire Aspell
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Fichier bzip2
COM | com_load() | com_invoke(), com_propget(), com_get(), com_propput(), com_set(), com_propput() | Aucun | Référence sur un objet COM
VARIANT
cpdf | cpdf_open() | cpdf_page_init(), cpdf_finalize_page(), cpdf_finalize(), cpdf_output_buffer(), cpdf_save_to_file(), cpdf_set_current_page(), cpdf_begin_text(), cpdf_end_text(), cpdf_show(), cpdf_show_xy(), cpdf_text(), cpdf_set_font(), cpdf_set_leading(), cpdf_set_text_rendering(), cpdf_set_horiz_scaling(), cpdf_set_text_rise(), cpdf_set_text_matrix(), cpdf_set_text_pos(), cpdf_set_text_pos(), cpdf_set_word_spacing(), cpdf_continue_text(), cpdf_stringwidth(), cpdf_save(), cpdf_translate(), cpdf_restore(), cpdf_scale(), cpdf_rotate(), cpdf_setflat(), cpdf_setlinejoin(), cpdf_setlinecap(), cpdf_setmiterlimit(), cpdf_setlinewidth(), cpdf_setdash(), cpdf_moveto(), cpdf_rmoveto(), cpdf_curveto(), cpdf_lineto(), cpdf_rlineto(), cpdf_circle(), cpdf_arc(), cpdf_rect(), cpdf_closepath(), cpdf_stroke(), cpdf_closepath_fill_stroke(), cpdf_fill_stroke(), cpdf_clip(), cpdf_fill(), cpdf_setgray_fill(), cpdf_setgray_stroke(), cpdf_setgray(), cpdf_setrgbcolor_fill(), cpdf_setrgbcolor_stroke(), cpdf_setrgbcolor(), cpdf_add_outline(), cpdf_set_page_animation(), cpdf_import_jpeg(), cpdf_place_inline_image(), cpdf_add_annotation() | cpdf_close() | Document PDF avec la bibliothèque CPDF
cpdf outline
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | Session Curl
dbm | dbmopen() | dbmexists(), dbmfetch(), dbminsert(), dbmreplace(), dbmdelete(), dbmfirstkey(), dbmnextkey() | dbmclose() | Lien vers une base de données DBM
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Lien vers une base de données DBA
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | Aucun | Lien persistant vers une base de données DBA
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Lien vers une base de données dbase
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | Connexion dbx
dbx_result_object | dbx_query() | Aucun | Résultat dbx
domxml attribute
domxml document
domxml node
xpath context
xpath object
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_blob_size(), fbsql_clob_size(), fbsql_commit(), fbsql_change_user(), fbsql_create_blob(), fbsql_create_db(), fbsql_create_clob(), fbsql_data_seek(), fbsql_database_password(), fbsql_database(), fbsql_db_query(), fbsql_db_status(), fbsql_drop_db(), fbsql_errno(), fbsql_error(), fbsql_get_autostart_info(), fbsql_hostname(), fbsql_insert_id(), fbsql_list_dbs(), fbsql_password(), fbsql_read_blob(), fbsql_read_clob(), fbsql_rollback(), fbsql_select_db(), fbsql_set_password(), fbsql_set_transaction(), fbsql_start_db(), fbsql_stop_db(), fbsql_username() | fbsql_close() | Lien vers une base de données fbsql
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | Aucun | Lien persistant vers une base de données fbsql
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | Résultat fbsql
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | Fichier FDF
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | Flux FTP
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | Image GD
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | Aucun | Police pour GD
gd PS encoding
gd PS font | imagepsloadfont() | imagepstext(), imagepsslantfont(), imagepsextendfont(), imagepsencodefont(), imagepsbbox() | imagepsfreefont() | Police PostScript pour GD
GMP integer | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | Aucun | Nombre GMP
hyperwave document | hw_cp(), hw_docbyanchor(), hw_getremote(), hw_getremotechildren() | hw_children(), hw_childrenobj(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getsrcbydestobj(), hw_getandlock(), hw_gettext(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_inscoll(), hw_pipedocument(), hw_unlock() | hw_deleteobject() | Objet Hyperwave
hyperwave link | hw_connect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | hw_close(), hw_free_document() | Lien vers un serveur Hyperwave
hyperwave link persistent | hw_pconnect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | Aucun | Lien persistant vers un serveur Hyperwave
icap | icap_open() | icap_fetch_event(), icap_list_events(), icap_store_event(), icap_snooze(), icap_list_alarms(), icap_delete_event() | icap_close() | Lien vers un serveur icap
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Lien vers un serveur mail (IMAP, POP3)
imap chain persistent
imap persistent
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Lien vers une base de données ingresII
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | Aucun | Lien persistant vers une base de données ingresII
interbase blob
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Lien vers une base de données Interbase
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | Aucun | Lien persistant vers une base de données Interbase
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Requête Interbase
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Résultat Interbase
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Transaction Interbase
java
ldap link | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | Lien vers un serveur LDAP
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | Résultat de recherche LDAP
ldap result entry
mcal | mcal_open(), mcal_popen() | mcal_create_calendar(), mcal_rename_calendar(), mcal_rename_calendar(), mcal_delete_calendar(), mcal_fetch_event(), mcal_list_events(), mcal_append_event(), mcal_store_event(), mcal_delete_event(), mcal_list_alarms(), mcal_event_init(), mcal_event_set_category(), mcal_event_set_title(), mcal_event_set_description(), mcal_event_set_start(), mcal_event_set_end(), mcal_event_set_alarm(), mcal_event_set_class(), mcal_next_recurrence(), mcal_event_set_recur_none(), mcal_event_set_recur_daily(), mcal_event_set_recur_weekly(), mcal_event_set_recur_monthly_mday(), mcal_event_set_recur_monthly_wday(), mcal_event_set_recur_yearly(), mcal_fetch_current_stream_event(), mcal_event_add_attribute(), mcal_expunge() | mcal_close() | Lien vers un serveur Mcal
SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFGradient
SWFMorph
SWFMovie
SWFShape
SWFSprite
SWFText
SWFTextField
mnogosearch agent
mnogosearch result
msql link | msql_connect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | msql_close() | Lien vers une base de données mSQL
msql link persistent | msql_pconnect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | Aucun | Lien persistant vers une base de données mSQL
msql query | msql_db_query(), msql_list_dbs(), msql_list_fields(), msql_list_tables(), msql_query() | msql(), msql_affected_rows(), msql_data_seek(), msql_dbname(), msql_fetch_array(), msql_fetch_field(), msql_fetch_object(), msql_fetch_row(), msql_field_seek(), msql_field_table(), msql_field_flags(), msql_field_len(), msql_field_name(), msql_field_type(), msql_num_fields(), msql_num_rows(), msql_numfields(), msql_numrows(), msql_result() | msql_free_result(), msql_free_result() | Résultat mSQL
mssql link | mssql_connect() | mssql_query(), mssql_select_db() | mssql_close() | Lien vers une base de données Microsoft SQL Server
mssql link persistent | mssql_pconnect() | mssql_query(), mssql_select_db() | Aucun | Lien persistant vers une base de données Microsoft SQL Server
mssql result | mssql_query() | mssql_data_seek(), mssql_fetch_array(), mssql_fetch_field(), mssql_fetch_object(), mssql_fetch_row(), mssql_field_length(), mssql_field_name(), mssql_field_seek(), mssql_field_type(), mssql_num_fields(), mssql_num_rows(), mssql_result() | mssql_free_result() | Résultat Microsoft SQL Server
mysql link | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Lien vers une base de données MySQL
mysql link persistent | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | Aucun | Lien persistant vers une base de données MySQL
mysql result | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | Résultat MySQL
oci8 collection
oci8 connection | ocilogon(), ociplogon(), ocinlogon() | ocicommit(), ociserverversion(), ocinewcursor(), ociparse(), ocierror() | ocilogoff() | Lien vers une base de données Oracle
oci8 descriptor
oci8 server
oci8 session
oci8 statement | ocinewdescriptor() | ocirollback(), ocinewdescriptor(), ocirowcount(), ocidefinebyname(), ocibindbyname(), ociexecute(), ocinumcols(), ociresult(), ocifetch(), ocifetchinto(), ocifetchstatement(), ocicolumnisnull(), ocicolumnname(), ocicolumnsize(), ocicolumntype(), ocistatementtype(), ocierror() | ocifreestatement() | Curseur Oracle
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Lien vers une base de données ODBC
odbc link persistent | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | Aucun | Lien persistant vers une base de données ODBC
odbc result | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | Résultat ODBC
birdstep link
birdstep result
OpenSSL key | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | Clé de cryptage OpenSSL
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Clé publique
oracle cursor | ora_open() | ora_bind(), ora_columnname(), ora_columnsize(), ora_columntype(), ora_error(), ora_errorcode(), ora_exec(), ora_fetch(), ora_fetch_into(), ora_getcolumn(), ora_numcols(), ora_numrows(), ora_parse() | ora_close() | Curseur oracle
oracle link | ora_logon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | ora_logoff() | Lien vers une base de données oracle
oracle link persistent | ora_plogon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | Aucun | Lien persistant vers une base de données oracle
pdf document | pdf_new() | pdf_add_bookmark(), pdf_add_launchlink(), pdf_add_locallink(), pdf_add_note(), pdf_add_pdflink(), pdf_add_weblink(), pdf_arc(), pdf_attach_file(), pdf_begin_page(), pdf_circle(), pdf_clip(), pdf_closepath(), pdf_closepath_fill_stroke(), pdf_closepath_stroke(), pdf_concat(), pdf_continue_text(), pdf_curveto(), pdf_end_page(), pdf_endpath(), pdf_fill(), pdf_fill_stroke(), pdf_findfont(), pdf_get_buffer(), pdf_get_image_height(), pdf_get_image_width(), pdf_get_parameter(), pdf_get_value(), pdf_lineto(), pdf_moveto(), pdf_open_ccitt(), pdf_open_file(), pdf_open_image_file(), pdf_place_image(), pdf_rect(), pdf_restore(), pdf_rotate(), pdf_save(), pdf_scale(), pdf_setdash(), pdf_setflat(), pdf_setfont(), pdf_setgray(), pdf_setgray_fill(), pdf_setgray_stroke(), pdf_setlinecap(), pdf_setlinejoin(), pdf_setlinewidth(), pdf_setmiterlimit(), pdf_setpolydash(), pdf_setrgbcolor(), pdf_setrgbcolor_fill(), pdf_setrgbcolor_stroke(), pdf_set_border_color(), pdf_set_border_dash(), pdf_set_border_style(), pdf_set_char_spacing(), pdf_set_duration(), pdf_set_font(), pdf_set_horiz_scaling(), pdf_set_parameter(), pdf_set_text_pos(), pdf_set_text_rendering(), pdf_set_value(), pdf_set_word_spacing(), pdf_show(), pdf_show_boxed(), pdf_show_xy(), pdf_skew(), pdf_stringwidth(), pdf_stroke(), pdf_translate(), pdf_add_thumbnail(), pdf_arcn(), pdf_begin_pattern(), pdf_begin_template(), pdf_end_pattern(), pdf_end_template(), pdf_initgraphics(), pdf_makespotcolor(), pdf_set_info(), pdf_setcolor(), pdf_setmatrix(), pdf_open_memory_image() | pdf_close(), pdf_delete() | Document PDF
pdf image | pdf_open_image(), pdf_open_image_file(), pdf_open_memory_image() | pdf_get_image_height(), pdf_get_image_width(), pdf_open_ccitt(), pdf_place_image() | pdf_close_image() | Image dans un document PDF
pdf object
pdf outline
Objet de grande taille pgsql | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | Objet de grande taille PostGreSQL
pgsql link | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Lien vers une base de données PostGreSQL
pgsql link persistent | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | Aucun | Lien persistant vers une base de données PostGreSQL
pgsql result | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | Résultat PostGreSQL
pgsql string
printer
printer brush
printer font
printer pen
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | Aucun | Dictionnaire Pspell
pspell config | pspell_config_create() | pspell_new_config() | Aucun | Configuration Pspell
Sablotron XSLT | xslt_create() | xslt_closelog(), xslt_openlog(), xslt_run(), xslt_set_sax_handler(), xslt_errno(), xslt_error(), xslt_fetch_result(), xslt_free() | xslt_free() | Analyseur XSLT
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close()
sockets file descriptor set | socket() | accept_connect(), bind(), connect(), listen(), read(), write() | close() | Socket
sockets i/o vector
Flux | opendir() | readdir(), rewinddir() | closedir() | Dossier
Flux | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | Fichier
Flux | popen(), fsockopen(), pfsockopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Processus
socket | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Socket
sybase-db link | sybase_connect() | sybase_query(), sybase_select_db() | sybase_close() | Lien vers une base de données Sybase avec la bibliothèque db
sybase-db link persistent | sybase_pconnect() | sybase_query(), sybase_select_db() | Aucun | Lien persistant vers une base de données Sybase avec la bibliothèque db
sybase-db result | sybase_query(), sybase_unbuffered_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Résultat Sybase avec la bibliothèque DB
sybase-ct link | sybase_connect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | sybase_close() | Lien vers une base de données Sybase avec la bibliothèque CT
sybase-ct link persistent | sybase_pconnect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | Aucun | Lien persistant vers une base de données Sybase avec la bibliothèque CT
sybase-ct result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Résultat Sybase avec la bibliothèque CT
sysvsem | sem_get() | sem_acquire() | sem_release() | Sémaphore Système V
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | Mémoire partagée Système V
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | Paquet wddx
xml | xml_parser_create(), xml_parser_create_ns() | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | Analyseur syntaxique XML
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | Fichier compressé Gzip

Constantes pré-définies
Liste des protocoles supportés
Annexes


Liste des protocoles supportés

Sommaire

  • Système de fichiers
  • HTTP et HTTPS
  • FTP et FTPS
  • Flux d'entrée/sortie
  • Flux compressés
  • Données (RFC 2397)
  • Glob
  • Phar
  • Shell sécurisé 2
  • Flux Audio
  • Gestionnaire de flux

PHP dispose de nombreux protocoles natifs, pour différents styles d'URL, à utiliser avec des fonctions de fichiers telles que fopen() et copy(). En plus de ces protocoles, depuis PHP 4.3.0, vous pouvez écrire vos propres protocoles et les enregistrer avec la fonction stream_wrapper_register().

Note: La synthaxe de l'URL utilisée pour décrire un gestionnaire est exclusivement de la forme scheme://... Les synthaxes de la forme scheme:/ et scheme: ne sont pas supportées.

La liste des options de contexte est disponible dans le chapitre Options et paramètres de contexte.

Types des ressources PHP
Système de fichiers
Annexes


Système de fichiers

Toutes les versions de PHP. Explicitement avec le protocole file:// depuis PHP 5.0.0.

  • /path/to/file.ext
  • relative/path/to/file.ext
  • fileInCwd.ext
  • C:/path/to/winfile.ext
  • C:\path\to\winfile.ext
  • \\smbserver\share\path\to\winfile.ext
  • file:///path/to/file.ext

Filesystem est le gestionnaire par défaut de PHP et il représente les fichiers locaux. Lorsqu'un chemin relatif est spécifié (un chemin qui ne commence pas par /, \, \\, ou une lettre de lecteur Windows), le chemin sera calculé relativement à la position courante. Dans de nombreux cas, c'est le dossier de résidence du script, à moins qu'il n'ait été modifié. En utilisant la version CLI, le chemin sera calculé par rapport au dossier d'appel du script.

Avec certaines fonctions comme fopen() et file_get_contents(), include_path peut être analysé pour y trouver les fichiers, si un chemin relatif est fourni.

Liste des gestionnaires
Attribut | Supporté
Restreint par allow_url_fopen | Non
Autorise les lectures | Oui
Autorise les écritures | Oui
Autorise l'ajout | Oui
Autorise simultanément les lectures et écritures | Oui
Supporte stat() | Oui
Supporte unlink() | Oui
Supporte rename() | Oui
Supporte mkdir() | Oui
Supporte rmdir() | Oui

Liste des protocoles supportés
HTTP et HTTPS
Liste des protocoles supportés


HTTP et HTTPS

PHP 4, PHP 5. https:// depuis PHP 4.3.0

  • http://example.com
  • http://example.com/file.php?var1=val1&var2=val2
  • http://user:motdepasse@example.com
  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:motdepasse@example.com

Permet des accès en lecture uniquement, pour des fichiers accessibles sur le réseau avec la méthode GET de HTTP 1.0. Un en-tête Host: est envoyé avec la requête, pour gérer les hôtes virtuels, basés sur des noms. Si vous avez configuré une version de navigateur avec l'option user_agent dans votre fichier php.ini, ou via le contexte de flux, il sera aussi utilisé dans votre requête.

Avertissement

Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les alertes. À partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur.

Les redirections sont supportées depuis PHP 4.0.5; si vous utilisez une version plus ancienne, vous devrez ajouter vous-même les slash finaux dans vos URL. S'il est important de connaître l'URL de la ressource qui vous a fourni le document, une fois que toutes les redirections ont été suivies, vous devez analyser les en-têtes de réponses retournés par le flux.

Exemple #1 http:// et redirections

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

/* Avant PHP 4.3.0 utilisez $http_response_header
   au lieu de stream_get_meta_data() */
$meta_data = stream_get_meta_data($fp);
foreach($meta_data['wrapper_data'] as $response) {

  /* Redirections? */
  if (substr(strtolower($response), 0, 10) == 'location: ') {
    /* modification de $url avec la nouvelle URL */
    $url = substr($response, 18);
  }

}

?>

Le flux donne l'accès au corps (body) de la ressource. Les entêtes sont stockés dans la variable $http_response_header. Depuis PHP 4.3.0, les en-têtes sont aussi accessibles avec la fonction stream_get_meta_data().

Les connexions HTTP sont en lecture seule. Vous ne pouvez pas écrire dans des fichiers ouverts via le protocole HTTP.

Note: HTTPS est supporté depuis PHP 4.3, si vous avez compilé le support d'OpenSSL.

Si vous avez défini la directive from depuis le fichier php.ini, et que vous ne définissez pas d'en-tête From: dans le Options et paramètres de contexte, alors cette valeur sera émise en tant qu'en-tête From: dans la requête HTTP.

Résumé des gestionnaires
Attribut | Supporté
Limité par allow_url_fopen | Oui
Autorisé en lecture | Oui
Autorisé en écriture | Non
Autorisé en ajout | Non
Autorise les lectures / écritures simultanées | Non applicable
Supporte stat() | Non
Supporte unlink() | Non
Supporte rename() | Non
Supporte mkdir() | Non
Supporte rmdir() | Non

Les en-têtes personnalisés peuvent être envoyés avec une requête HTTP dans les versions antérieures à la version 5 en tirant avantage d'un effet de bord dans la gestion de la configuration INI de user_agent. Définissez user_agent en n'importe quelle chaîne valide (comme la chaîne par défaut, PHP/version) suivi d'un caractère de retour chariot et d'un caractère de nouvelle ligne, suivis des entêtes additionnels. Cette méthode fonctionne en PHP 4 ainsi que toutes les versions suivantes.

Exemple #2 Envoi d'en-têtes personnalisés avec une requête HTTP

<?php
ini_set('user_agent', "PHP\r\nX-MyCustomHeader: Foo");

$fp = fopen('http://www.example.com/index.php', 'r');
?>

Équivaut à la requête suivante :

GET /index.php HTTP/1.0
Host: www.example.com
User-Agent: PHP
X-MyCustomHeader: Foo

Système de fichiers
FTP et FTPS
Liste des protocoles supportés


FTP et FTPS

PHP 4, PHP 5. ftps:// depuis PHP 4.3

  • ftp://example.com/pub/file.txt
  • ftp://user:motdepasse@example.com/pub/file.txt
  • ftps://example.com/pub/file.txt
  • ftps://user:motdepasse@example.com/pub/file.txt

Permet l'accès aux fichiers existants, et la création de fichiers via FTP. Si le serveur ne supporte pas les connexions en mode passif, la connexion échouera.

Vous pouvez ouvrir des fichiers en lecture et en écriture, mais pas les deux en même temps. Si le fichier distant existe déjà sur le serveur ftp et que vous tentez de l'ouvrir en écriture alors que vous n'avez pas spécifié l'option overwrite dans le contexte, la connexion échouera. Si vous devez réécrire des fichiers existants en utilisant ftp, spécifiez l'option overwrite dans le contexte et ouvrez le fichier en écriture. Alternativement, vous pouvez utiliser l'extension FTP.

Note: Apposer
Depuis PHP 5.0.0, les fichiers doivent être apposés via la gestion d'URL ftp://. Dans les versions plus anciennes, tenter d'apposer un fichier via ftp:// causera une erreur.

ftps:// a été introduit en PHP 4.3. C'est le même que ftp://, mais il tente d'établir une connexion sécurisée avec le serveur FTP. Si le serveur ne le supporte pas, la connexion sera une connexion non sécurisée.

Note: FTPS est supporté depuis PHP 4.3.0, si vous avez compilé le support d'OpenSSL.

Si vous avez définie la directive from dans le fichier php.ini, alors cette valeur sera émise en tant que mot de passe pour les FTP anonymes.

Résumé des gestionnaires
Attribut | PHP 4 | PHP 5
Limité par allow_url_fopen | Oui | Oui
Autorisé en lecture | Oui | Oui
Autorisé en écriture | Oui (nouveaux fichiers uniquement) | Oui (nouveaux fichiers et fichiers existants avec overwrite)
Autorisé en ajout | Non | Oui
Autorisé en lecture et écriture | Non | Non
Supporte stat() | Non | Depuis PHP 5.0.0 : uniquement filesize(), filetype(), file_exists(), is_file() et is_dir(). Depuis PHP 5.1.0 : filemtime().
Supporte unlink() | Non | Oui
Supporte rename() | Non | Oui
Supporte mkdir() | Non | Oui
Supporte rmdir() | Non | Oui

HTTP et HTTPS
Flux d'entrée/sortie
Liste des protocoles supportés


Flux d'entrée/sortie

  • php://stdin
  • php://stdout
  • php://stderr
  • php://output
  • php://input
  • php://filter (disponible depuis PHP 5.0.0)
  • php://memory (disponible depuis PHP 5.1.0)
  • php://temp (disponible depuis PHP 5.1.0)

php://stdin, php://stdout et php://stderr donnent un accès direct au flux correspondants d'entrée ou de sortie du processus PHP. Le flux représente un descripteur dupliqué du fichier, donc, si vous ouvrez php://stdin et que vous le fermez plus tard, vous fermez uniquement le descripteur, le flux référencé par STDIN ne sera pas affecté. Notez que le comportement de PHP à ce sujet est relativement instable dans les versions antérieures à 5.2.1. Il est recommandé d'utiliser simplement les constantes STDIN, STDOUT et STDERR au lieu d'ouvrir manuellement les flux en utilisant ces gestionnaires.

php://output vous permet d'écrire dans le buffer de sortie, de la même manière que print() et echo().

php://input permet de lire des données POST bruts. C'est moins gourmand en mémoire que $HTTP_RAW_POST_DATA et il n'y a pas de directive spéciale dans php.ini. php://input n'est pas disponible avec enctype="multipart/form-data".

Note: php://input ne peut être lu qu'une seule fois.

php://stdin et php://input sont en lecture seule, tandis que php://stdout, php://stderr et php://output sont en écriture seule.

php://filter est une sorte de méta-gestionnaire, prévu pour qui permet l'utilisation de filtre avec les données d'entrée au moment du démarrage du script. C'est pratique avec des fonctions compactes comme readfile(), file() et file_get_contents() où il n'y a pas d'opportunité d'appliquer un filtre aux données lues.

Le gestionnaire de php://filter prend les 'paramètres' suivants dans le 'chemin'.

  • /resource=<flux à filtrer> (obligatoire) Ce paramètre doit être situé à la fin de votre chaîne php://filter et doit pointer sur le flux à filtrer.

    Exemple #1 php:// et les filtres

    <?php
    /* Ceci est l'équivalent de :
       readfile("http://www.example.com");
       puisque aucun filtre n'est spécifié */

    readfile("php://filter/resource=http://www.example.com");
    ?>

  • /read=<liste de filtres de la chaîne de lecture> (optionnel) Ce paramètre prend un ou plusieurs noms de filtres, séparés par le caractère pipe |.

    Exemple #2 php:// et filtres de lecture

    <?php
    /* Cette ligne va afficher le contenu de
       www.example.com tout en majuscule */
    readfile("php://filter/read=string.toupper/resource=http://www.example.com");

    /* Cela va faire la même chose que ci-dessus, mais en plus,
       le résultat sera chiffré en ROT13 */
    readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
    ?>

  • /write=<liste de filtres de la chaîne d'écriture> (optionnel) Ce paramètre prend un ou plusieurs noms de filtres, séparés par le caractère pipe |.

    Exemple #3 php:// et filtres d'écritures

    <?php
    /* Cette ligne va filtrer la chaîne "Bonjour le monde"
       avec le filtre rot13, puis écrire le résultat dans
       le fichier exemple.txt du dossier courant */
    file_put_contents("php://filter/write=string.rot13/resource=exemple.txt","Bonjour le monde");
    ?>

  • /<liste de filtres des deux chaînes> (optionnel) Tous les filtres qui ne sont pas préfixés avec read= ou write= seront appliqués aux deux chaînes de filtres, en lecture et en écriture.

Le gestionnaire php://memory stocke les données en mémoire. php://temp fonctionne de la même façon, mais utilise des fichiers temporaires pour stocker les données lorsqu'une certaine limite mémoire est atteinte (par défaut, 2 Mo).

Le gestionnaire php://temp prend les paramètres suivants, qui sont les parties du chemin :

  • /maxmemory:<nombre d'octets> (optionnel). Ce paramètre permet de changer la valeur de la limite mémoire (lorsque les données sont déplacées vers un fichier temporaire).

    <?php
    $fiveMBs     = 5 * 1024 * 1024;
    $fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

    fputs($fp, "Bonjour\n");

    // lecture de ce que nous avons écrit
    rewind($fp);
    echo     stream_get_contents($fp);
    ?>

Résumé des gestionnaires (pour php://filter, voyez le résumé du filtre)
Attribut | Supporté
Limité par allow_url_fopen | Non
Limité par allow_url_include | php://input, php://stdin, php://memory et php://temp uniquement.
Autorisé en lecture | php://stdin, php://input, php://memory et php://temp uniquement.
Autorisé en écriture | php://stdout, php://stderr, php://output, php://memory et php://temp uniquement.
Autorisé en ajout | php://stdout, php://stderr, php://output, php://memory et php://temp uniquement. (Equivalent à écrire)
Autorisé en lecture et écriture | php://memory et php://temp uniquement.
Supporte stat() | php://memory et php://temp uniquement.
Supporte unlink() | Non
Supporte rename() | Non
Supporte mkdir() | Non
Supporte rmdir() | Non
Supporte stream_select() | php://stdin, php://stdout, php://stderr et php://temp.

FTP et FTPS
Flux compressés
Liste des protocoles supportés


Flux compressés

zlib: PHP 4.0.4 - PHP 4.2.3 (systèmes avec fopencookie uniquement)

compress.zlib:// et compress.bzip2:// PHP 4.3.0 et suivant

  • zlib:
  • compress.zlib://
  • compress.bzip2://

zlib: fonctionne comme gzopen(), hormis le fait que le flux peut être utilisé directement avec fread() et les autres fonctions de système de fichier. Cette notation est obsolète depuis PHP 4.3.0, étant données les ambiguïtés dues aux noms de fichiers contenant des deux points ':'. Utilisez plutôt compress.zlib://.

compress.zlib:// et compress.bzip2:// sont équivalents à gzopen() et bzopen() respectivement, et ils opèrent même sur les systèmes qui ne supportent pas fopencookie.

Résumé des gestionnaires
Attribut | Supporté
Limité par allow_url_fopen | Non
Autorisé en lecture | Oui
Autorisé en écriture | Oui
Autorisé en ajout | Oui
Autorisé en lecture et écriture | Non
Supporte stat() | Non, utilisez le gestionnaire file:// pour avoir des informations sur les fichiers compressés.
Supporte unlink() | Non, utilisez le gestionnaire file:// pour avoir des informations sur les fichiers compressés.
Supporte rename() | Non
Supporte mkdir() | Non
Supporte rmdir() | Non

L'extension ZIP inclut l'interface zip:.

Flux d'entrée/sortie
Données (RFC 2397)
Liste des protocoles supportés


Données (RFC 2397)

Le gestionnaire de flux data: (» RFC 2397) est disponible depuis PHP 5.2.0.

Exemple #1 Affichage du contenu de data://

<?php
// Affiche "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Exemple #2 Récupération du type de média

<?php
$fp   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// Affiche "text/plain"
echo $meta['mediatype'];
?>

Résumé du gestionnaire
Attribut | Supporté
Restreint par allow_url_fopen | Non
Restreint par allow_url_include | Oui
Autorisé en lecture | Oui
Autorisé en écriture | Non
Autorisé en ajout | Non
Autorisé en lecture et en écriture simutané | Non
Supporte stat() | Non
Supporte unlink() | Non
Supporte rename() | Non
Supporte mkdir() | Non
Supporte rmdir() | Non

Flux compressés
Glob
Liste des protocoles supportés


Glob

Le gestionnaire de flux glob: est disponible depuis PHP 5.3.0.

Exemple #1 Utilisation simple

<?php
// Boucle sur tous les fichiers *.php du dossier ext/spl/examples/ et
// affiche le nom du fichier ainsi que sa taille
$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
foreach($it as $f) {
    printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>
tree.php: 1.0K
findregex.php: 0.6K
findfile.php: 0.7K
dba_dump.php: 0.9K
nocvsdir.php: 1.1K
phar_from_dir.php: 1.0K
ini_groups.php: 0.9K
directorytree.php: 0.9K
dba_array.php: 1.1K
class_tree.php: 1.8K

Résumé du gestionnaire
Attribut | Support
Restreint par allow_url_fopen | Non
Restreint par allow_url_include | Non
Autorisé en lecture | Non
Autorisé en écriture | Non
Autorisé en ajout | Non
Autorisé en lecture et en écriture simultané | Non
Support de stat() | Non
Support de unlink() | Non
Support de rename() | Non
Support de mkdir() | Non
Support de rmdir() | Non

Données (RFC 2397)
Phar
Liste des protocoles supportés


Phar

Le gestionnaire de flux phar:// est disponible depuis PHP 5.3.0. Voyez gestionnaire de flux Phar pour une description détaillée.

Résumé du gestionnaire
Attribut | Supporté
Restraint par allow_url_fopen | Non
Restricted by allow_url_include | Non
Permet la lecture | Oui
Permet l'écriture | Oui
Permet l'ajout | Non
Permet l'écriture et la lecture simultanément | Oui
Support de la fonction stat() | Oui
Support de la fonction unlink() | Oui
Support de la fonction rename() | Oui
Support de la fonction mkdir() | Oui
Support de la fonction rmdir() | Oui

Glob
Shell sécurisé 2
Liste des protocoles supportés


Shell sécurisé 2

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 et supérieur (PECL)

  • ssh2.shell://user:pass@example.com:22/xterm
  • ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd
  • ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14
  • ssh2.sftp://user:pass@example.com:22/path/to/filename

Note: Ce gestionnaire n'est pas activé par défaut
Pour utiliser le gestionnaire ssh2.*://, vous devez installer l'extension » SSH2 disponible dans » PECL.

En plus d'accepter les traditionnelles identifications via l'URI, le gestionnaire ssh2 réutilisera les connexions ouvertes en passant la ressource de connexion dans la partie hôte de l'URL.

Exemple #1 Ouverture d'un flux depuis une connexion active

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
                                            '/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>

Résumé du gestionnaire
Attribut | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Restreint par allow_url_fopen | Oui | Oui | Oui | Oui | Oui
Permet la lecture | Oui | Oui | Oui | Oui | Oui
Permet l'écriture | Oui | Oui | Oui | Oui | Non
Permet l'ajout | Non | Non | Non | Oui (lorsque supporté par le serveur) | Non
Permet l'écriture et la lecture simultanément | Oui | Oui | Oui | Oui | Non
Supporte la fonction stat() | Non | Non | Non | Oui | Non
Supporte la fonction unlink() | Non | Non | Non | Oui | Non
Supporte la fonction rename() | Non | Non | Non | Oui | Non
Supporte la fonction mkdir() | Non | Non | Non | Oui | Non
Supporte la fonction rmdir() | Non | Non | Non | Oui | Non

Options de contexte
Nom | Usage | Défaut
session | ressource ssh2 pré-connectée pour être réutilisée |
sftp | ressource sftp pré-allouée pour être réutilisée |
methods | méthodes échange de clés, hostkey, cipher, compression et MAC à utiliser |
callbacks |  |
username | Nom de l'utilisateur pour la connexion |
password | Mot de passe à utiliser lors d'une identification via mot de passe |
pubkey_file | Nom du fichier contenant la clé publique à utiliser lors de l'identification |
privkey_file | Nom du fichier contenant la clé privée à utiliser lors de l'identification |
env | Tableau associatif de variables d'environnements à définir |
term | Type d'émulation de terminal à demander lors de l'allocation d'un pty |
term_width | Largeur du terminal à demander lors de l'allocation d'un pty |
term_height | Hauteur du terminal à demander lors de l'allocation d'un pty |
term_units | Unités à utiliser avec term_width et term_height | SSH2_TERM_UNIT_CHARS

Phar
Flux Audio
Liste des protocoles supportés


Flux Audio

ogg:// PHP 4.3.0 et suivant (PECL)

  • ogg://fichierSon.ogg
  • ogg:///chemin/vers/fichierSon.ogg
  • ogg://http://www.example.com/chemin/vers/FluxAduio.ogg

Note: Ce gestionnaire n'est pas activé par défaut
Pour utiliser le gestionnaire ogg://, vous devez installer l'extension » OGG/Vorbis disponible sur » PECL.

Les fichiers ouverts pour lecture avec le gestionnaire ogg:// sont traités comme de l'audio compressée en utilisant le codec OGG/Vorbis. De la même façon, les fichiers ouverts pour écriture ou pour ajout avec le gestionnaire ogg:// sont écrits comme étant des données audio compressées. La fonction stream_get_meta_data(), lorsqu'elle est utilisée sur un fichier OGG/Vorbis ouvert pour lecture retournera de nombreux détails concernant ce flux, incluant l'en-tête vendor, tous les commentaires comments, le nombre de canaux channels, le taux d'échantillonnage rate ainsi que le taux d'encodage décrit par : bitrate_lower, bitrate_upper, bitrate_nominal et bitrate_window.

Résumé du gestionnaire
Attribut | Supporté
Restreint par allow_url_fopen | Non
Permet la lecture | Oui
Permet l'écriture | Oui
Permet l'ajout | Oui
Permet la lecture et l'écriture simultanément | Non
Supporte la fonction stat() | Non
Supporte la fonction unlink() | Non
Supporte la fonction rename() | Non
Supporte la fonction mkdir() | Non
Supporte la fonction rmdir() | Non

Options de contexte
Nom | Utilisation | Défaut | Mode
pcm_mode | L'encodage PCM à appliquer pendant la lecture, parmi un de ceux-là : OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE et OGGVORBIS_PCM_S16_LE. (8 vs 16 bit, signé ou non, gros ou petit endian) | OGGVORBIS_PCM_S16_LE | Lecture
rate | Taux d'échantillonnage des données entrantes, exprimé en Hz | 44100 | Écriture/Traitement
bitrate | Lorsque donné sous forme d'entier, la vitesse du débit pour encoder : de 16000 à 131072. Lorsque donné sous forme de nombre décimal, la variation de la qualité du débit à utiliser : de -1.0 à 1.0. | 128000 | Écriture/Ajout
channels | Le numéro du canal audio à encoder, typiquement 1 (Mono) ou 2 (Stéréo). Intervalle pouvant aller aussi haut que 16. | 2 | Écriture/Ajout
comments | Un tableau de valeurs sous forme de chaînes de caractères à encoder dans la piste d'en-tête. |  | Écriture/Ajout

Shell sécurisé 2
Gestionnaire de flux
Liste des protocoles supportés


Gestionnaire de flux

expect:// PHP 4.3.0 et supérieur (PECL)

  • expect://command

Note: Ce gestionnaire est disponible par défaut
Pour pouvoir utiliser le gestionnaire expect://, vous devez installer l'extension » Expect disponible depuis » PECL.

Les flux ouverts avec le gestionnaire expect:// permettent d'accéder à stdio, stdout et stderr via PTY.

Résumé du gestionnaire
Attribut | Supporté
Restreint par allow_url_fopen | Non
Permet la lecture | Oui
Permet l'écriture | Oui
Permet l'ajout | Oui
Permet l'écriture et la lecture simultanément | Non
Support de la fonction stat() | Non
Support de la fonction unlink() | Non
Support de la fonction rename() | Non
Support de la fonction mkdir() | Non
Support de la fonction rmdir() | Non

Flux Audio
Liste des filtres standards
Liste des protocoles supportés


Liste des filtres standards

Sommaire

  • Filtres de chaînes de caractères
  • Filtres de conversion
  • Filtres de compression
  • Filtres de chiffrement

Cette section contient la liste des filtres de flux, à utiliser avec stream_filter_append(). Votre version de PHP peut avoir des filtres supplémentaires, ou manquants par rapport à cette liste.

Il est bon de noter une légère différence entre stream_filter_append() et stream_filter_prepend(). Tous les flux PHP disposent d'un petit buffer de lecture, où ils stockent des blocs de données lues dans le système de fichiers, ou dans d'autres sources, afin de les traiter plus efficacement. Aussitôt que les données sont lues depuis la ressource dans le buffer interne, les données sont immédiatement passées au filtre, même si l'application PHP n'est pas prête pour lire ces données. Si des données sont déjà en attente dans le buffer lorsqu'un filtre est ajouté au flux (appended), ces données seront immédiatement passées au filtre, pour que la modification soit transparente. Mais si vous ajoutez un filtre avec prepended, les données NE seront PAS filtrées. Elles attendront que le prochain bloc arrive de la ressource.

Pour avoir la liste complète des filtres de votre version de PHP, utilisez la fonction stream_get_filters().

Gestionnaire de flux
Filtres de chaînes de caractères
Annexes


Filtres de chaînes de caractères

Chaque filtre fait ce que son nom implique, et se réfère au comportement de la fonction PHP correspondante. Pour plus de détails sur un filtre, reportez-vous au manuel de la fonction de référence.

string.rot13 (depuis PHP 4.3.0) Utilisez ce filtre pour faire traiter les données par la fonction str_rot13().

Exemple #1 Exemple avec le filtre string.rot13

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "Ceci est un test.\n");
/* affiche :  Prpv rfg ha grfg.   */
?>

string.toupper (depuis PHP 5.0.0) Utilisez ce filtre pour faire traiter les données par la fonction strtoupper().

Exemple #2 Exemple avec le filtre string.toupper

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "Ceci est un test.\n");
/* affiche :  CECI EST UN TEST.   */
?>

string.tolower (depuis PHP 5.0.0) Utilisez ce filtre pour faire traiter les données par la fonction strtolower().

Exemple #3 Exemple avec le filtre string.tolower

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "Ceci est un test.\n");
/* affiche :  ceci est un test.   */
?>

string.strip_tags (depuis PHP 5.0.0) Utilisez ce filtre pour faire traiter les données par la fonction strip_tags(). Le filtre accepte les paramètres sous deux formats : soit une chaîne contenant une liste de balises, de manière similaire au second paramètre de la fonction strip_tags(); soit un tableau de noms de balises.

Exemple #4 Exemple avec le filtre string.strip_tags

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<strong><em><span>");
fwrite($fp, "<strong>Ce texte en gras</strong> finit par être aggrandi <h1>en un titre 1</h1>\n");
fclose($fp);
/* affiche :  <strong>Ce texte en gras</strong> finit par être aggrandi en un titre 1   */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('strong','em','span'));
fwrite($fp, "<strong>Ce texte en gras</strong> finit par être aggrandi <h1>en un titre 1</h1>\n");
fclose($fp);
/* affiche :  <strong>Ce texte en gras</strong> finit par être aggrandi en un titre 1   */
?>
Liste des filtres standards
Filtres de conversion
Liste des filtres standards


Filtres de conversion

Comme pour les filtres de chaînes, les filtres de conversion font ce que leur nom indique. Ces filtres ont été ajoutés en PHP 5.0.0. Pour plus d'informations, voyez le manuel de la fonction correspondante.

convert.base64-encode et convert.base64-decode Utilisez ce filtre pour faire traiter les données par les fonctions base64_encode() et base64_decode(). convert.base64-encode supporte les paramètres sous forme de tableau. Si line-length est donné, le résultat sera coupé en lignes de line-length caractères. Si line-break-chars est founi, chaque bloc de caractères sera terminé par ce paramètre. Ces paramètres donnent le même effet que la fonction base64_encode() utilisée conjointement avec chunk_split().

Exemple #1 Exemple avec les filtres convert.base64-encode et convert.base64-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "This is a test.\n");
fclose($fp);
/* affiche :  VGhpcyBpcyBhIHRlc3QuCg==  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "This is a test.\n");
fclose($fp);
/* affiche :  VGhpcyBp
           :  cyBhIHRl
           :  c3QuCg==  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* affiche :  This is a test.  */
?>

convert.quoted-printable-encode et convert.quoted-printable-decode Utilisez ce filtre pour faire traiter les données par la fonction quoted_printable_decode(). Il n'y a pas d'équivalent fonctionnel à convert.quoted-printable-encode. convert.quoted-printable-encode reçoit les paramètres sous forme de tableau. En plus des paramètres classiques de convert.base64-encode, convert.quoted-printable-encode accepte aussi les arguments booléens binary et force-encode-first. convert.base64-decode ne supporte le paramètre line-break-chars que comme indication pour supprimer les nouvelles lignes.

Exemple #2 Exemple avec les filtres convert.quoted-printable-encode et convert.quoted-printable-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "This is a test.\n");
/* affiche :  =This is a test.=0A  */
?>
Filtres de chaînes de caractères
Filtres de compression
Liste des filtres standards


Filtres de compression

Alors que les gestionnaires de compression fournissent un moyen pour générer des fichiers aux formats gzip et bz2, ils ne permettent pas de gérer les protocoles réseaux compressés, ni de commencer avec un flux non compressé pour le transformer en flux compressé. Pour faire cela, il faut appliquer un filtre de compression.

Note: Les filtres de compression ne génèrent pas les en-têtes et fins de fichiers, comme le fait l'utilitaire gzip. Ils ne font que compresser et décompresser des portions de flux de données.

zlib.deflate (compression) et zlib.inflate (decompression) sont les implémentations des méthodes de compression présentées dans la » RFC 1951. Le filtre deflate prend jusqu'à trois paramètres, passés sous la forme de tableau associatif. level spécifie le niveau de compression souhaité, de 1 à 9. Plus le niveau est haut, meilleure est la compression, et plus cher est le coût de compression. Deux niveaux de compression spéciaux existent : 0, qui représente l'absence de compression, et -1, qui représente le niveau par défaut de la bibliothèque zlib : actuellement, c'est 6. window est la taille du buffer mémoire, en base 2. Les valeurs supérieures, jusqu'à 15, soit 32768 octets, donnent de meilleures compressions, et les valeurs inférieures, jusqu'à 9, soit 512 octets, occupent le moins d'espace en mémoire. Par défaut, window vaut actuellement 15. memory est une indication du niveau de mémoire nécessaire. Les valeurs valides vont de 1, pour l'allocation minimale, à 9, pour une allocation maximale. L'allocation de mémoire affecte la vitesse d'exécution, et non pas le coût global.

Note: Comme le niveau de compression est le paramètre le plus courant, il peut aussi être fourni en passant un entier comme paramètre, au lieu d'un tableau.

Les filtres de compression zlib.* sont disponibles avec PHP depuis la version 5.1.0 si le support zlib est activé. Ils sont également disponibles pour les versions 5.0.x en installant le paquet » zlib_filter depuis » PECL. Ces filtres ne sont pas disponibles en PHP 4.

Exemple #1 zlib.deflate et zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "Le texte original est long de " . strlen($original_text) . " octets.\n";

$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $original_text);
fclose($fp);

echo "Le fichier compressé fait " . filesize('test.deflated') . " octets de long.\n";
echo "Le texte original était :\n";
/* Utilise readfile et zlib.inflate pour décompresser à la volée */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Affiche :

Le texte original est long de 70 octets
Le fichier compressé fait 56 octets de long.
Le texte original était :
This is a test.
This is only a test.
This is not an important string.

 */
?>

Exemple #2 simple zlib.deflate

<?php
$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "Le texte original est long de " . strlen($original_text) . " octets.\n";

$fp = fopen('test.deflated', 'w');
/* Ici, "6" indique le niveau de compression de 6 */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $original_text);
fclose($fp);

echo "Le fichier compressé fait " . filesize('test.deflated') . " octets de long.\n";

/* Affiche :

Le texte original est long de 70 octets
Le fichier compressé fait 56 octets de long.

 */
?>

bzip2.compress et bzip2.decompress fonctionnent de la même manière que les filtres zlib. Le filtre bzip2.compress accepte jusqu'à 2 paramètres, sous la forme d'un tableau associatif : blocks est une valeur entière, de 1 à 9, spécifiant le nombre de blocs de 100 kb de mémoire à allouer à l'espace de travail. work est aussi un entier dont la valeur va de 0 à 250, et qui indique le niveau d'efforts fournis avec une méthode de compression avant de passer à une autre méthode, plus lente. Modifier ce paramètre n'a qu'un effet sur la vitesse de compression. Le gain d'espace ou la mémoire utilisée restent les mêmes. Un niveau de 0 indique que la bibliothèque doit utiliser sa configuration par défaut. Le filtre bzip2.decompress accepte uniquement un paramètre, qui peut être passé sous la forme d'un booléen associé à l'index small. small, lorsqu'il vaut TRUE, indique à la bibliothèque bzip qu'elle doit faire une décompression en utilisant le moins de mémoire possible, aux dépends de la vitesse.

Les filtres bzip2.* ne sont pas inclus dans la distribution PHP depuis la version 5.1.0 si le support bz2 est activé. Ils sont également disponibles pour les versions 5.0.x de PHP en installant le paquet » bz2_filter depuis » PECL. Ces filtres ne sont pas disponibles pour PHP 4.

Exemple #3 bzip2.compress et bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "Le texte original est long de " . strlen(LICENSE) . " octets.\n";

$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);

echo "Le fichier compressé fait " . filesize('LICENSE.compressed') . " octets de long.\n";

/* Affiche :

Le texte original est long de 3288 octets.
Le fichier compressé fait 1488 octets de long.

 */
?>
Filtres de conversion
Filtres de chiffrement
Liste des filtres standards


Filtres de chiffrement

mcrypt.* et mdecrypt.* fournissent un système de chiffrement symétrique basé sur libmcrypt. Les deux filtres supportent les mêmes algorithmes disponibles avec la bibliothèque mcrypt, sous la forme de la directive mcrypt.ciphername où ciphername est le nom du chiffrement qui sera passé à mcrypt_module_open(). Les cinq paramètres suivants sont aussi disponibles :

Paramètres du filtre mcrypt
Paramètre | Obligatoire | Par défaut | Valeurs possibles
mode | Optionnel | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Optionnel | ini_get('mcrypt.algorithms_dir') | Chemin vers les algorithmes de modules
modes_dir | Optionnel | ini_get('mcrypt.modes_dir') | Chemin vers les modes de modules
iv | Obligatoire | N/A | Généralement 8, 16 ou 32 octets de données binaires. Dépend du chiffrement
key | Obligatoire | N/A | Généralement 8, 16 ou 32 octets de données binaires. Dépend du chiffrement

Exemple #1 Chiffrement d'un fichier avec 3DES

<?php
$passphrase = 'My secret';

/* Transforme un mot de passe humain
 * en une paire iv/clé
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secert-file.enc', 'wb');
stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'Secret secret secret data');
fclose($fp);
?>

Exemple #2 Lecture d'un fichier chiffré

<?php
$passphrase = 'My secret';

/* Transforme un mot de passe humain
 * en une paire iv/clé
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secert-file.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
$data = rtrim(stream_get_contents($fp));
fclose($fp);

echo $data;
?>
Filtres de compression
Liste des modes de transport de sockets disponibles
Liste des filtres standards


Liste des modes de transport de sockets disponibles

Sommaire

  • Domaines Internet : TCP, UDP, SSL et TLS
  • Domaine Unix : UNIX et UDG

Voici la liste des différents modes de transport, format URL, dont PHP dispose en interne pour les flux qui exploitent les sockets, tels que fsockopen() et stream_socket_client(). Ces modes de transport ne s'appliquent pas à l'extension sockets.

Pour connaître la liste des modes de transport installés sur votre version de PHP, utilisez stream_get_transports().

Filtres de chiffrement
Domaines Internet : TCP, UDP, SSL et TLS
Annexes


Domaines Internet : TCP, UDP, SSL et TLS

PHP 4, PHP 5. ssl:// & tls:// depuis PHP 4.30, sslv2:// & sslv3:// depuis PHP 5.0.2.

Note: Si aucun transport n'est spécifié, tcp:// est utilisé.

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • sslv2://www.example.com
  • sslv3://www.example.com
  • tls://www.example.com

Les sockets du domaine Internet utilisent un numéro de port en plus de l'adresse de l'hôte. Dans le cas de fsockopen(), il est spécifié en deuxième paramètre et, donc, n'a pas d'impact sur le format du mode de transport. Avec stream_socket_client() et les autres fonctions de la même famille, le numéro de port est spécifié comme un suffixe dans l'URL de transport, identifié par le signe deux-points.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Note: Adresse IPv6 et numéro de port
Dans le second exemple ci-dessus, les exemples en IPv4 et les noms d'hôtes sont identiques, mais les IPv6 sont placées entre crochets, en plus d'avoir les deux-points et le numéro de port : [fe80::1]. Cela permet de distinguer les deux-points utilisés en IPv6 et le deux-points utilisés pour délimiter le numéro de port.

Les modes ssl:// et tls:// (disponibles uniquement lorsque le support OpenSSl est compilé avec PHP) sont des extensions de tcp:// qui incluent le chiffrement SSL. En PHP 4.3, OpenSll doit être compilé statiquement avec PHP. en PHP 5.0, il peut être compilé en module ou statiquement.

ssl:// va tenter de négocier une connexion SSL V2 ou SSL V3, suivant les capacités et les références de l'hôte distant. sslv2:// et sslv3:// sélectionnent explicitement le protocole.

Liste des modes de transport de sockets disponibles
Domaine Unix : UNIX et UDG
Liste des modes de transport de sockets disponibles


Domaine Unix : UNIX et UDG

unix:// et udg:// (udg:// depuis PHP 5).

  • unix:///tmp/mysock
  • udg:///tmp/mysock

unix:// fournit l'accès à un flux de type socket, sur un domaine Unix. udg:// fournit un mode de transport alternatif, avec un protocole de datagrammes utilisateurs.

Les sockets du domaine Unix, contrairement à celles du domaine Internet, n'utilisent pas de numéro de port. Dans ce cas, le paramètre portno de fsockopen() doit valoir 0.

Domaines Internet : TCP, UDP, SSL et TLS
Comparaison de types en PHP
Liste des modes de transport de sockets disponibles


Comparaison de types en PHP

La table suivante résume les différents comportements de PHP avec les types et opérateurs de comparaison, strictes ou larges. Cette table est aussi reliée au transtypage. Elle a été inspirée par différents commentaires d'utilisateurs, et par le travail fait chez » BlueShoes.

Avant d'utiliser ces tables, il est important de comprendre les types et leur signification. Par exemple, "42" est une chaîne de caractères, alors que 42 est un entier. FALSE est boolean alors que "false" est une chaîne de caractères.

Note: Les formulaires HTML ne connaissent pas les entiers, nombres à virgules et autres booléens. Pour savoir si une structure est un entier, utilisez is_numeric().

Note: La ligne if ($x) génère une erreur de niveau E_NOTICE lorsque $x est indéfini. Alternativement, utilisez plutôt les fonctions empty() ou isset(), ou encore, initialisez toutes vos variables.

Comparaisons de $x avec des fonctions PHP
Expression | gettype() | empty() | is_null() | isset() | boolean : if($x)
$x = ""; | chaîne de caractères | TRUE | FALSE | TRUE | FALSE
$x = null | NULL | TRUE | TRUE | FALSE | FALSE
var $x; | NULL | TRUE | TRUE | FALSE | FALSE
$x est indéfini | NULL | TRUE | TRUE | FALSE | FALSE
$x = array(); | array | TRUE | FALSE | TRUE | FALSE
$x = false; | boolean | TRUE | FALSE | TRUE | FALSE
$x = true; | boolean | FALSE | FALSE | TRUE | TRUE
$x = 1; | entier | FALSE | FALSE | TRUE | TRUE
$x = 42; | entier | FALSE | FALSE | TRUE | TRUE
$x = 0; | entier | TRUE | FALSE | TRUE | FALSE
$x = -1; | entier | FALSE | FALSE | TRUE | TRUE
$x = "1"; | chaîne de caractères | FALSE | FALSE | TRUE | TRUE
$x = "0"; | chaîne de caractères | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | chaîne de caractères | FALSE | FALSE | TRUE | TRUE
$x = "php"; | chaîne de caractères | FALSE | FALSE | TRUE | TRUE
$x = "true"; | chaîne de caractères | FALSE | FALSE | TRUE | TRUE
$x = "false"; | string | FALSE | FALSE | TRUE | TRUE

Comparaison large avec ==
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE
FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE

Comparaison stricte avec ===
 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" | ""
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

Domaine Unix : UNIX et UDG
Liste des tokens de l'analyseur
Annexes


Liste des tokens de l'analyseur

De nombreuses parties du langage PHP sont représentées en interne par des tokens. Litéralement, ce sont des trucs, ou jetons. Ici, des briques de base, comme T_SR. PHP affiche des identifiants comme celui-ci dans les erreurs d'analyse, par exemple : unexpected T_SR, expecting ',' or ';' in script.php on line 10..

Vous êtes suppposé savoir ce que T_SR signifie. Pour ceux qui ne le savent pas, voici une liste de ces identifiants, la syntaxe PHP correspondante, et les références appropriées au manuel.

Tokens
Token | Syntaxe | Référence
T_ABSTRACT | abstract | Abstraction de classes (disponible depuis PHP 5.0.0)
T_AND_EQUAL | &= | opérateurs d'assignation
T_ARRAY | array() | array(), syntaxe de tableau
T_ARRAY_CAST | (array) | transtypage
T_AS | as | foreach
T_BAD_CHARACTER |  | Tous les caractères en dessous de ASCII 32 excepté \t (0x09), \n (0x0a) et \r (0x0d)
T_BOOLEAN_AND | && | opérateurs logiques
T_BOOLEAN_OR | || | opérateurs logiques
T_BOOL_CAST | (bool) ou (boolean) | transtypage
T_BREAK | break; | break
T_CASE | case | switch
T_CATCH | catch | Les exceptions (disponible depuis PHP 5.0.0)
T_CHARACTER |  | Plus utilisé actuellement
T_CLASS | class | classes et objets
T_CLASS_C | __CLASS__ | constantes magiques (disponible depuis PHP 4.3.0)
T_CLONE | clone | classes et objets. (disponible depuis PHP 5.0.0)
T_CLOSE_TAG | ?> or %> | échapper depuis le HTML
T_COMMENT | // ou #, et /* */ en PHP 5 | commentaires
T_CONCAT_EQUAL | .= | opérateurs d'assignation
T_CONST | const | constantes de classe
T_CONSTANT_ENCAPSED_STRING | "foo" ou 'bar' | syntaxe chaîne de caractères
T_CONTINUE | continue | continue
T_CURLY_OPEN | {$ | synthaxe d'analyse de variable complexe
T_DEC | -- | opérateurs d'incrémention/décrémention
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | constantes magiques (disponible depuis PHP 5.3.0)
T_DIV_EQUAL | /= | opérateurs d'assignation
T_DNUMBER | 0.12, etc. | nombres à virgule flottante
T_DOC_COMMENT | /** */ | style de commentaire dans la PHPDoc (disponible depuis PHP 5.0.0)
T_DO | do | do...while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | syntaxe de variable complexe analysée
T_DOUBLE_ARROW | => | syntaxe de tableau
T_DOUBLE_CAST | (real), (double) ou (float) | transtypage
T_DOUBLE_COLON | :: | Voyez T_PAAMAYIM_NEKUDOTAYIM plus bas
T_ECHO | echo | echo()
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE | " $a" | partie des constantes d'une chaîne de caractères contenant des variables
T_ENDDECLARE | enddeclare | declare, syntaxe alternative
T_ENDFOR | endfor | for, syntaxe alternative
T_ENDFOREACH | endforeach | foreach, syntaxe alternative
T_ENDIF | endif | if, syntaxe alternative
T_ENDSWITCH | endswitch | switch, syntaxe alternative
T_ENDWHILE | endwhile | while, syntaxe alternative
T_END_HEREDOC |  | syntaxe heredoc
T_EVAL | eval() | eval()
T_EXIT | exit or die | exit(), die()
T_EXTENDS | extends | extends, classes et objets
T_FILE | __FILE__ | constantes magiques
T_FINAL | final | Mot-clé "final" (disponible depuis PHP 5.0.0)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function or cfunction | fonctions
T_FUNC_C | __FUNCTION__ | constantes magiques (disponible depuis PHP 4.3.0)
T_GLOBAL | global | scope de variable
T_GOTO | goto | (disponible depuis PHP 5.3.0)
T_HALT_COMPILER | __halt_compiler() | __halt_compiler (disponible depuis PHP 5.1.0)
T_IF | if | if
T_IMPLEMENTS | implements | Interfaces (disponible depuis PHP 5.0.0)
T_INC | ++ | opérateurs d'incrémention/décrémention
T_INCLUDE | include() | include()
T_INCLUDE_ONCE | include_once() | include_once()
T_INLINE_HTML |  | texte en dehors de PHP
T_INSTANCEOF | instanceof | opérateurs de type (disponible depuis PHP 5.0.0)
T_INT_CAST | (int) ou (integer) | transtypage
T_INTERFACE | interface | Interfaces (dipsonible depuis PHP 5.0.0)
T_ISSET | isset() | isset()
T_IS_EQUAL | == | opérateurs de comparaison
T_IS_GREATER_OR_EQUAL | >= | opérateurs de comparaison
T_IS_IDENTICAL | === | opérateurs de comparaison
T_IS_NOT_EQUAL | != ou <> | opérateurs de comparaison
T_IS_NOT_IDENTICAL | !== | opérateurs de comparaison
T_IS_SMALLER_OR_EQUAL | <= | opérateurs de comparaison
T_LINE | __LINE__ | constantes magiques
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc | entiers
T_LOGICAL_AND | and | opérateurs logiques
T_LOGICAL_OR | or | opérateurs logiques
T_LOGICAL_XOR | xor | opérateurs logiques
T_METHOD_C | __METHOD__ | constantes magiques (disponible depuis PHP 5.0.0)
T_MINUS_EQUAL | -= | opérateurs d'assignation
T_ML_COMMENT | /* et */ | commentaires (PHP 4 uniquement)
T_MOD_EQUAL | %= | opérateurs d'assignation
T_MUL_EQUAL | *= | opérateurs d'assignation
T_NAMESPACE | namespace | namespaces (disponible PHP 5.3.0)
T_NS_C | __NAMESPACE__ | namespaces (disponible depuis PHP 5.3.0)
T_NS_SEPARATOR | \ | namespaces (disponible depuis PHP 5.3.0)
T_NEW | new | classes et objets
T_NUM_STRING | "$a[0]" | index d'un tableau numérique se trouvant dans une chaîne de caractères
T_OBJECT_CAST | (object) | transtypage
T_OBJECT_OPERATOR | -> | classes et objets
T_OLD_FUNCTION | old_function | (uniquement PHP 4)
T_OPEN_TAG | <?php, <? or <% | sortie du mode HTML
T_OPEN_TAG_WITH_ECHO | <?= ou <%= | sortie du mode HTML
T_OR_EQUAL | |= | opérateurs d'assignation
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Définie également en tant que T_DOUBLE_COLON.
T_PLUS_EQUAL | += | opérateurs d'assignation
T_PRINT | print() | print()
T_PRIVATE | private | classes et objets (disponible depuis PHP 5.0.0)
T_PUBLIC | public | classes et objets (disponible depuis PHP 5.0.0)
T_PROTECTED | protected | classes et objets (disponible depuis PHP 5.0.0)
T_REQUIRE | require() | require()
T_REQUIRE_ONCE | require_once() | require_once()
T_RETURN | return | valeurs retournées
T_SL | << | opérateurs sur les bits
T_SL_EQUAL | <<= | opérateurs d'assignation
T_SR | >> | opérateurs sur les bits
T_SR_EQUAL | >>= | opérateurs d'assignation
T_START_HEREDOC | <<< | syntaxe heredoc
T_STATIC | static | scope de variable
T_STRING | "$a[a]" | index d'un tableau de chaînes de caractères se trouvant dans une chaîne de caractères
T_STRING_CAST | (string) | transtypage
T_STRING_VARNAME | "${a | synthaxe d'analyse d'une variable complexe
T_SWITCH | switch | switch
T_THROW | throw | Les exceptions (disponible depuis PHP 5.0.0)
T_TRY | try | Les exceptions (disponible depuis PHP 5.0.0)
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | type-casting (disponible depuis PHP 5.0.0)
T_USE | use | namespaces (disponible depuis PHP 5.3.0)
T_VAR | var | classes et objets
T_VARIABLE | $foo | variables
T_WHILE | while | while, do...while
T_WHITESPACE | \t \r\n |
T_XOR_EQUAL | ^= | opérateurs d'assignation

Voir aussi token_name().

Comparaison de types en PHP
Guide de nommage de l'espace utilisateur
Annexes


Guide de nommage de l'espace utilisateur

Sommaire

  • Espace de noms global
  • Règles
  • Astuces

Ce guide permet de choisir de la meilleure façon possible les noms pour les identifiants dans le code PHP de l'espace utilisateur. Lors du choix des noms pour n'importe quel code qui crée des symboles dans l'espace de noms global, il est important de prendre en compte ce guide afin d'éviter d'éventuels problèmes avec les futures versions de PHP et vos symboles.

Liste des tokens de l'analyseur
Espace de noms global
Annexes


Espace de noms global

Ceci est une vude la construction du code qui ira dans l'espace de noms global :

  • fonctions

  • classes

  • interfaces

  • constantes (et non les constantes de classe)

  • variables définies à l'extérieur des fonctions/méthodes

Guide de nommage de l'espace utilisateur
Règles
Guide de nommage de l'espace utilisateur


Règles

La liste suivante fournit un aperçu global des règles réservées au projet PHP lors du choix des noms pour les nouveaux identifiants internes. Le guide définitif est l'officiel » CODING STANDARDS :

  • PHP possède l'espace de noms de haut niveau mais tente de trouver des noms descriptifs cohérents.

  • Les noms des fonctions utilisent un underscore entre les mots, tandis que les noms des classes utilisent la notation CamelCase (il y a quelques exceptions pour les anciennes classes et fonctions).

  • PHP préfixe tous les symboles globaux d'une extension avec le nom de l'extension. (Dans le passé, il y avait quelques exceptions à cette règle) Exemples :

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (exemple d'une erreur du passé)

    • new SplFileObject()

  • Les itérateurs et les exceptions sont cependant simplement suffixés par respectivement, "Iterator" et "Exception." Exemples :

    • ArrayIterator

    • LogicException

  • PHP réserve tous les symboles commençant par un __ comme étant magique. Il est recommandé de ne pas créer de symboles commençant par un __ en PHP sauf si vous voulez utiliser les fonctionnalités magiques documentées. Exemple :

    • __get()

    • __autoload()

Espace de noms global
Astuces
Guide de nommage de l'espace utilisateur


Astuces

Si vous voulez écrire du code portable, il est recommandé de préfixer (ou suffixer) tout ce qui va dans l'espace de noms global avec un préfixe non commun de 3-4 lettres (ou suffixe) séparé par un underscore. Il est recommandé, afin d'éviter des problèmes d'espace de noms avec d'autres codes de l'espace utilisateur, de faire en sorte que les projets recherchent les préfixes (ou les suffixes) utilisés dans les autres projets et de choisir vos préfixes (ou suffixe) en fonction. Exemples :

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

Règles
À propos du manuel
Guide de nommage de l'espace utilisateur


À propos du manuel

Sommaire

  • Formats
  • À propos des notes utilisateurs
  • Comment lire la définition d'une fonction (prototype)
  • Versions de PHP documentées dans ce manuel
  • Où trouver plus d'informations sur PHP ?
  • Comment aider à l'amélioration de la documentation ?
  • Comment sont générées les documentations
  • Traductions
Astuces
Formats
Annexes


Formats

Le manuel PHP est fourni en différents formats. Ces formats sont divisés en deux groupes : ceux qui sont disponibles en ligne, et les téléchargeables.

Note: Certains éditeurs ont fournis des versions imprimées de ce manuel. Nous n'en recommandons aucune, car elles sont rapidement obsolètes.

Le manuel peut être lu en ligne sur le site » php.net et sur les nombreux miroirs. Pour un confort d'utilisation accru, il est recommandé d'utiliser un miroir proche de chez vous. La version en ligne du manuel PHP a actuellement deux rendus CSS : un rendu agréable à l'oeil et un pratique pour l'impression.

Deux avantages du manuel en ligne sur la plupart des formats téléchargeables, sont l'intégration des notes des utilisateurs et les » URL de raccourci que vous pouvez utiliser pour accéder rapidement à une partie du manuel. Un inconvénient évident est que vous devez être en ligne pour profiter de ce format.

Il y a de nombreux formats de manuel pour la consultation hors ligne, et le format le plus approprié dépend de votre OS et de vos goûts personnels. Pour savoir comment le manuel est généré, lisez la section 'Comment le manuel est généré' de cet appendice.

Le format le plus portable est le HTML. Le manuel est fourni dans un format en une seule page HTML, ou comme un ensemble de fichiers de tailles réduites (mais un bon millier de fichiers tout de même). Nous fournissons ce format sous une forme compressée, vous aurez donc besoin d'un utilitaire de décompression pour extraire les fichiers de l'archive.

Pour les plates-formes Windows, le format Windows HTML Help fournit une version HTML du manuel à utiliser avec l'application Windows HTML Help : il intègre un moteur de recherche complet, un index et des signets. De nombreux IDE sous Windows fournissent des liens avec ce format pour une meilleure intégration. Il existe aussi des visualisateurs de CHM pour Linux. Visitez » xCHM ou » GnoCHM.

Il existe aussi une » version CHM étendue, qui est mise à jour moins souvent mais qui fournit plus de fonctionnalités. Elle ne fonctionnera que sur Microsoft Windows à cause des technologies utilisées pour construire ces pages.

À propos du manuel
À propos des notes utilisateurs
À propos du manuel


À propos des notes utilisateurs

Les notes des utilisateurs jouent un rôle très important dans le développement de ce manuel. En permettant aux lecteurs de contribuer par des exemples, des remarques et critiques, ou encore des clarifications, nous intégrons des aspects très importants du langage dans le manuel. Jusqu'à ce que les notes les plus importantes soient intégrées dans la documentation, elles sont disponibles sur le site lui-même, et dans certains formats hors ligne.

Note: Les notes des utilisateurs ne sont pas modérées avant d'apparaître sur le site, et même si elles le sont, leur véracité ne peut être garantie, pas plus qu'il n'existe de garantie quand à l'exactitude du manuel lui-même.

Note: Pour des questions de portée de licence, les notes utilisateurs sont considérées comme faisant partie du manuel PHP, et sont donc couvertes par la même licence qui couvre cette documenation (Creative Commons Attribution à ce jour). Pour plus de détails, lisez la page Manual's Copyright.

Formats
Comment lire la définition d'une fonction (prototype)
À propos du manuel


Comment lire la définition d'une fonction (prototype)

Chaque fonction dans le manuel est documentée pour permettre une compréhension rapide. Savoir décoder le texte rendra votre apprentissage plus facile. Plutôt que de dépendre d'exemples prêts en copier/coller, il est plus utile de savoir lire la définition d'une fonction (prototype). Voici comment :

Note: Pré-requis : Connaissances de base des types.
Bien que PHP soit un langage sans typage fort, une connaissance de base des types est essentielle, car ils ont quand même des sens importants.

Les définitions de fonctions vous indiquent quel type de données est retourné. Examinons la fonction strlen() comme exemple :

strlen

(PHP 4, PHP 5)
strlen -- Retourne la taille de la chaîne

Description
int strlen ( string  $string )

Retourne la taille de la chaîne $string.

Explications de la définition de la fonction
Partie | Description
strlen | Le nom de la fonction.
(PHP 4, PHP 5) | strlen() est présente dans toutes les versions de PHP 4, PHP 5 et PHP 6.
int | Type de valeur retournée par cette fonction, qui est, en l'occurrence, un entier (i.e. la taille d'une chaîne est mesurée par un nombre).
( string $string ) | Le premier (et ici le seul) paramètre à fournir à cette fonction est le paramètre string, qui doit être du type chaîne de caractères.

Nous pourrions réécrire ce prototype avec une version plus générique :

type_retourné   nom_de_la_fonction    ( type_du_paramètre nom_du_paramètre )

Plusieurs fonctions ont besoin de plusieurs paramètres, comme in_array(). Son prototype est le suivant :

bool in_array ( mixed $needle, array $haystack [, bool $strict])

Qu'est ce que cela signifie ? in_array() retourne un booléen TRUE en cas de réussite (le paramètre needle a été trouvé dans le tableau haystack) ou FALSE si une erreur survient (le paramètre needle n'a pas été trouvé dans le tableau haystack). Le premier paramètre s'appelle needle et il peut être de différents types : il porte donc la mention mixed. Le paramètre needle (ce que nous recherchons) peut être une valeur scalaire ( chaîne de caractères, entier, ou float), ou encore un array . haystack (le array, dans lequel nous recherchons) est le second paramètre. Le troisième paramètre, optionnel, strict, est optionnel. Tous les paramètres optionnels sont placés entre [ crochets ]. La manuel indique que le paramètre strict vaut par défaut FALSE. Reportez-vous au manuel de chaque fonction pour savoir comment elle fonctionne.

Il y'a aussi des fonctions avec des informations plus complexes concernant les versions de PHP. Prenons html_entity_decode() comme exemple :

(PHP 4 >= 4.3.0, PHP 5)

Cela signifie que cette fonction n'est disponible que depuis PHP 4.3.0.

À propos des notes utilisateurs
Versions de PHP documentées dans ce manuel
À propos du manuel


Versions de PHP documentées dans ce manuel

Ce manuel contient des informations sur les anciennes, actuelles et futures versions de PHP. Les modifications de comportement sont documentées sous la forme de notes, d'historiques de version mais aussi dans les pages du manuel. La version documentée la plus ancienne est la version 4.1.0 tandis que la plus récente est la 5.x.x.

Lorsque la documentation existe pour les dernières versions de développement (non publiés) de PHP, elle sera intitulée "disponible dans SVN" ou "version de developpement." Ces changements sont prévus mais peuvent encore évoluer dans de rares cas.

Tout le développent est dans Subversion (SVN) et peut être récupéré comme décrit dans » accès anonyme SVN. Aussi, ces mêmes sources peuvent être téléchargées dans » PHP snapshots, disponibles pour chaque branche de PHP.

Et par souci de clareté, le manuel fera référence aux versions majeures, mineures et révisions de PHP. Par exemple PHP 5.3.1, le 5 est la version majeure, 3 la mineure, et 1 la révision. Typiquement PHP n'ajoute de nouvelles fonctionnalités que dans les majeures ou mineures, et corrige des bugs dans les révisions. Cependant, cette convention n'est pas toujours vérifiée.

Notez aussi que la manuel concerne PHP présent et non futur, même pour les fonctionnalités documentées et qui ne sont pas encore disponibles. Ainsi le manuel peut perdurer dans le temps et ne requière pas de mises à jours importantes à chaque sortie de PHP.

À plusieurs reprises, le manuel de PHP liste les valeurs par défaut des directives PHP. Ces valeurs sont basées sur le comportement de PHP dans fichier de configuration php.ini, ainsi ceci peut changer des valeurs trouvées dans les fichiers distribués php.ini-development et php.ini-production . Les valeurs indiquées sont aussi celles de la dernière version de PHP, un changelog indique les valeurs précédement employées. Voyez l'appendice sur les directives PHP pour plus de détails sur ces valeurs et leurs évolutions.

Comment lire la définition d'une fonction (prototype)
Où trouver plus d'informations sur PHP ?
À propos du manuel


Où trouver plus d'informations sur PHP ?

Ce manuel n'a pas pour objectif de fournir des présentations sur les pratiques de programmation. Si vous être un néophyte total, ou même un programmeur débutant, vous pouvez trouver difficile d'apprendre la programmation PHP avec uniquement ce manuel : il serait mieux de trouver des ressources plus orientées vers l'apprentissage.

Il y a un bon nombre de listes de diffusion actives, traitant de tous les aspects du langage et de la programmation PHP. Si vous êtes bloqué par un problème, vous pourrez sûrement trouver de l'aide auprès de ces listes. Il existe un recensement des listes de diffusion sur » la page de support de php.net. De plus, sur » la page des liens de php.net, il y'a une liste de sites web dédiés à PHP, avec des articles, des forums et des bibliothèques de code.

Versions de PHP documentées dans ce manuel
Comment aider à l'amélioration de la documentation ?
À propos du manuel


Comment aider à l'amélioration de la documentation ?

Il y a trois façon de participer à l'amélioration de la documentation.

Si vous trouvez des erreurs, dans n'importe quelle traduction de la documentation, utilisez le système de rapport de bogues : » http://bugs.php.net/. Classez le rapport sous la catégorie "Documentation Problem". Vous pouvez aussi poster les problèmes liés aux différents formats du manuel à cet endroit.

Note: N'abusez pas du système de bogues pour envoyer des demandes d'aide. Utilisez plutôt une des options proposées par le » support.

En contribuant aux notes, vous pouvez fournir de nouveaux exemples, mettre en lumière des effets de bords et apporter des clarifications pour les autres lecteurs. Mais ne prenez pas le système d'annotation pour un système de soumission de bogues. Vous pouvez en savoir plus sur les annotations dans la section 'À propos des notes utilisateurs'

Le manuel PHP est traduit en de nombreux langages. La connaissance de l'anglais ainsi que d'une autre langue peut vous permettre d'aider la documentation de PHP en travaillant avec une équipe de traduction. Pour plus d'informations sur le commencement d'une traduction, ou sur l'aide d'une version déjà traduite, commencez par lire » http://doc.php.net/php/dochowto/.

Le projet de documentation de PHP a un canal IRC où vous pouvez venir et parler avec les auteurs du manuel ou trouver un certain aspect du manuel avec lequel vous pourriez aider. Les coordonnées : #php.doc sur irc.efnet.org.

Où trouver plus d'informations sur PHP ?
Comment sont générées les documentations
À propos du manuel


Comment sont générées les documentations

Ce manuel est écrit en XML, en utilisant la » DTD de DocBook XML, et » PhD (Le moteur [PH]P d'affichage [D]ocBook) pour la maintenance et le formattage.

Grâce au format XML comme source, nous avons la possibilité de générer de nombreux formats tout en ayant une seule source pour tous les formats. Les outils utilisés pour formater le manuel en ligne sont » PhD. Nous utilisons » Microsoft HTML Help Workshop pour générer le format Windows HTML Help du manuel, et, bien sûr, PHP lui-même pour effectuer des conversions et du formattage. Nous utilisons Microsoft HTML Help Workshop pour générer le format Windows HTML Help du manuel, et bien sur, PHP lui-même pour réaliser certaines conversions et formats.

Le manuel PHP est généré en de nombreux langages et formats, lisez » http://www.php.net/docs.php pour plus d'informations. Le code source XML peut être téléchargé depuis le SVN et lu sur » http://svn.php.net/viewvc/. La documentation est stockée dans le module phpdoc.

Comment aider à l'amélioration de la documentation ?
Traductions
À propos du manuel


Traductions

La manuel PHP est disponible non seulement en anglais, mais aussi dans différentes langues. Le texte du manuel est écrit d'abord en anglais, puis des équipes à travers le monde assurent la traduction du manuel dans leur langue natale. Si la traduction d'une section n'est pas encore disponible, le système de création de la documentation présentera alors la version anglaise.

Les contributeurs aux documentations partent des codes sources XML disponibles sur le CVS » http://svn.php.net/viewvc/ puis traduisent dans leur langue. Ils n'utilisent pas les versions générées (comme le HTML ou le texte plein) car c'est le système d'édition qui se charge de faire les conversions du format XML vers un format lisible.

Note: Si vous voulez aider à la traduction de la documentation, entrez en contact avec l'équipe de documentation en vous inscrivant à la liste de diffusion : » phpdoc-subscribe@lists.php.net. L'adresse de la liste de diffusion est phpdoc@lists.php.net. Indiquez dans le message que vous êtes intéressé par la traduction de la documentation dans une nouvelle langue, et quelqu'un viendra vous aider à démarrer une nouvelle traduction, ou rejoindre l'équipe qui a pris en charge cette traduction.

Actuellement, le manuel est disponible, partiellement ou en totalité, dans 10 langues.

Ils peuvent tous être téléchargés ici : » http://www.php.net/docs.php.

Comment sont générées les documentations
Creative Commons Attribution 3.0
À propos du manuel


Creative Commons Attribution 3.0

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
  2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
  3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
  4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
  5. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
  6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  7. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
  8. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
  2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
  3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
  4. to Distribute and Publicly Perform Adaptations.

  5. For the avoidance of doubt:

    1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
    2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
    3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
  2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
  3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination.

  1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent
  5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
  6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Traductions
Index des fonctions
Annexes


Index des fonctions

Index des fonctions

_
__halt_compiler()
A
abs()
acos()
acosh()
addcslashes()
addslashes()
aggregate()
aggregate_info()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
aggregation_info()
apache_child_terminate()
apache_get_modules()
apache_get_version()
apache_getenv()
apache_lookup_uri()
apache_note()
apache_request_headers()
apache_reset_timeout()
apache_response_headers()
apache_setenv()
apc_add()
apc_cache_info()
apc_clear_cache()
apc_compile_file()
apc_define_constants()
apc_delete()
apc_fetch()
apc_load_constants()
apc_sma_info()
apc_store()
apd_breakpoint()
apd_callstack()
apd_clunk()
apd_continue()
apd_croak()
apd_dump_function_table()
apd_dump_persistent_resources()
apd_dump_regular_resources()
apd_echo()
apd_get_active_symbols()
apd_set_pprof_trace()
apd_set_session()
apd_set_session_trace()
apd_set_socket_session_trace()
array()
array_change_key_case()
array_chunk()
array_combine()
array_count_values()
array_diff()
array_diff_assoc()
array_diff_key()
array_diff_uassoc()
array_diff_ukey()
array_fill()
array_fill_keys()
array_filter()
array_flip()
array_intersect()
array_intersect_assoc()
array_intersect_key()
array_intersect_uassoc()
array_intersect_ukey()
array_key_exists()
array_keys()
array_map()
array_merge()
array_merge_recursive()
array_multisort()
array_pad()
array_pop()
array_product()
array_push()
array_rand()
array_reduce()
array_reverse()
array_search()
array_shift()
array_slice()
array_splice()
array_sum()
array_udiff()
array_udiff_assoc()
array_udiff_uassoc()
array_uintersect()
array_uintersect_assoc()
array_uintersect_uassoc()
array_unique()
array_unshift()
array_values()
array_walk()
array_walk_recursive()
ArrayIterator::current()
ArrayIterator::key()
ArrayIterator::next()
ArrayIterator::rewind()
ArrayIterator::seek()
ArrayIterator::valid()
ArrayObject::__construct()
ArrayObject::append()
ArrayObject::count()
ArrayObject::getIterator()
ArrayObject::offsetExists()
ArrayObject::offsetGet()
ArrayObject::offsetSet()
ArrayObject::offsetUnset()
arsort()
ascii2ebcdic()
asin()
asinh()
asort()
aspell_check()
aspell_check_raw()
aspell_new()
aspell_suggest()
assert()
assert_options()
atan()
atan2()
atanh()
B
base64_decode()
base64_encode()
base_convert()
basename()
bbcode_add_element()
bbcode_create()
bbcode_destroy()
bbcode_parse()
bcadd()
bccomp()
bcdiv()
bcmod()
bcmul()
bcompiler_load()
bcompiler_load_exe()
bcompiler_parse_class()
bcompiler_read()
bcompiler_write_class()
bcompiler_write_constant()
bcompiler_write_exe_footer()
bcompiler_write_file()
bcompiler_write_footer()
bcompiler_write_function()
bcompiler_write_functions_from_file()
bcompiler_write_header()
bcompiler_write_included_filename()
bcpow()
bcpowmod()
bcscale()
bcsqrt()
bcsub()
bin2hex()
bind_textdomain_codeset()
bindec()
bindtextdomain()
bzclose()
bzcompress()
bzdecompress()
bzerrno()
bzerror()
bzerrstr()
bzflush()
bzopen()
bzread()
bzwrite()
C
CachingIterator::__toString()
CachingIterator::hasNext()
CachingIterator::next()
CachingIterator::rewind()
CachingIterator::valid()
CachingRecursiveIterator::getChildren()
CachingRecursiveIterator::hasChildren()
cal_days_in_month()
cal_from_jd()
cal_info()
cal_to_jd()
call_user_func()
call_user_func_array()
call_user_method()
call_user_method_array()
ccvs_add()
ccvs_auth()
ccvs_command()
ccvs_count()
ccvs_delete()
ccvs_done()
ccvs_init()
ccvs_lookup()
ccvs_new()
ccvs_report()
ccvs_return()
ccvs_reverse()
ccvs_sale()
ccvs_status()
ccvs_textvalue()
ccvs_void()
ceil()
chdir()
checkdate()
checkdnsrr()
chgrp()
chmod()
chop()
chown()
chr()
chroot()
chunk_split()
class_exists()
class_implements()
class_parents()
classkit_import()
classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()
clearstatcache()
closedir()
closelog()
com()
com_addref()
com_create_guid()
com_event_sink()
com_get()
com_get_active_object()
com_invoke()
com_isenum()
com_load()
com_load_typelib()
com_message_pump()
com_print_typeinfo()
com_propget()
com_propput()
com_propset()
com_release()
com_set()
compact()
configuration()
connection_aborted()
connection_status()
connection_timeout()
constant()
constants()
constants()
constants()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
copy()
cos()
cosh()
count()
count_chars()
cpdf_add_annotation()
cpdf_add_outline()
cpdf_arc()
cpdf_begin_text()
cpdf_circle()
cpdf_clip()
cpdf_close()
cpdf_closepath()
cpdf_closepath_fill_stroke()
cpdf_closepath_stroke()
cpdf_continue_text()
cpdf_curveto()
cpdf_end_text()
cpdf_fill()
cpdf_fill_stroke()
cpdf_finalize()
cpdf_finalize_page()
cpdf_global_set_document_limits()
cpdf_import_jpeg()
cpdf_lineto()
cpdf_moveto()
cpdf_newpath()
cpdf_open()
cpdf_output_buffer()
cpdf_page_init()
cpdf_place_inline_image()
cpdf_rect()
cpdf_restore()
cpdf_rlineto()
cpdf_rmoveto()
cpdf_rotate()
cpdf_rotate_text()
cpdf_save()
cpdf_save_to_file()
cpdf_scale()
cpdf_set_action_url()
cpdf_set_char_spacing()
cpdf_set_creator()
cpdf_set_current_page()
cpdf_set_font()
cpdf_set_font_directories()
cpdf_set_font_map_file()
cpdf_set_horiz_scaling()
cpdf_set_keywords()
cpdf_set_leading()
cpdf_set_page_animation()
cpdf_set_subject()
cpdf_set_text_matrix()
cpdf_set_text_pos()
cpdf_set_text_rendering()
cpdf_set_text_rise()
cpdf_set_title()
cpdf_set_viewer_preferences()
cpdf_set_word_spacing()
cpdf_setdash()
cpdf_setflat()
cpdf_setgray()
cpdf_setgray_fill()
cpdf_setgray_stroke()
cpdf_setlinecap()
cpdf_setlinejoin()
cpdf_setlinewidth()
cpdf_setmiterlimit()
cpdf_setrgbcolor()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor_stroke()
cpdf_show()
cpdf_show_xy()
cpdf_stringwidth()
cpdf_stroke()
cpdf_text()
cpdf_translate()
crack_check()
crack_closedict()
crack_getlastmessage()
crack_opendict()
crc32()
create_function()
crypt()
ctype_alnum()
ctype_alpha()
ctype_cntrl()
ctype_digit()
ctype_graph()
ctype_lower()
ctype_print()
ctype_punct()
ctype_space()
ctype_upper()
ctype_xdigit()
curl_close()
curl_copy_handle()
curl_errno()
curl_error()
curl_exec()
curl_getinfo()
curl_init()
curl_multi_add_handle()
curl_multi_close()
curl_multi_exec()
curl_multi_getcontent()
curl_multi_info_read()
curl_multi_init()
curl_multi_remove_handle()
curl_multi_select()
curl_setopt()
curl_setopt_array()
curl_version()
current()
cybercash_base64_decode()
cybercash_base64_encode()
cybercash_decr()
cybercash_encr()
cybermut_creerformulairecm()
cybermut_creerreponsecm()
cybermut_testmac()
cyrus_authenticate()
cyrus_bind()
cyrus_close()
cyrus_connect()
cyrus_query()
cyrus_unbind()
D
date()
date_create()
date_date_set()
date_default_timezone_get()
date_default_timezone_set()
date_format()
date_isodate_set()
date_modify()
date_offset_get()
date_parse()
date_sun_info()
date_sunrise()
date_sunset()
date_time_set()
date_timezone_get()
date_timezone_set()
db2_autocommit()
db2_bind_param()
db2_client_info()
db2_close()
db2_column_privileges()
db2_columns()
db2_commit()
db2_conn_error()
db2_conn_errormsg()
db2_connect()
db2_cursor_type()
db2_escape_string()
db2_exec()
db2_execute()
db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()
db2_foreign_keys()
db2_free_result()
db2_free_stmt()
db2_get_option()
db2_lob_read()
db2_next_result()
db2_num_fields()
db2_num_rows()
db2_pconnect()
db2_prepare()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_result()
db2_rollback()
db2_server_info()
db2_set_option()
db2_special_columns()
db2_statistics()
db2_stmt_error()
db2_stmt_errormsg()
db2_table_privileges()
db2_tables()
dba_close()
dba_delete()
dba_exists()
dba_fetch()
dba_firstkey()
dba_handlers()
dba_insert()
dba_key_split()
dba_list()
dba_nextkey()
dba_open()
dba_optimize()
dba_popen()
dba_replace()
dba_sync()
dbase_add_record()
dbase_close()
dbase_create()
dbase_delete_record()
dbase_get_header_info()
dbase_get_record()
dbase_get_record_with_names()
dbase_numfields()
dbase_numrecords()
dbase_open()
dbase_pack()
dbase_replace_record()
dblist()
dbmclose()
dbmdelete()
dbmexists()
dbmfetch()
dbmfirstkey()
dbminsert()
dbmnextkey()
dbmopen()
dbmreplace()
dbplus_add()
dbplus_aql()
dbplus_chdir()
dbplus_close()
dbplus_curr()
dbplus_errcode()
dbplus_errno()
dbplus_find()
dbplus_first()
dbplus_flush()
dbplus_freealllocks()
dbplus_freelock()
dbplus_freerlocks()
dbplus_getlock()
dbplus_getunique()
dbplus_info()
dbplus_last()
dbplus_lockrel()
dbplus_next()
dbplus_open()
dbplus_prev()
dbplus_rchperm()
dbplus_rcreate()
dbplus_rcrtexact()
dbplus_rcrtlike()
dbplus_resolve()
dbplus_restorepos()
dbplus_rkeys()
dbplus_ropen()
dbplus_rquery()
dbplus_rrename()
dbplus_rsecindex()
dbplus_runlink()
dbplus_rzap()
dbplus_savepos()
dbplus_setindex()
dbplus_setindexbynumber()
dbplus_sql()
dbplus_tcl()
dbplus_tremove()
dbplus_undo()
dbplus_undoprepare()
dbplus_unlockrel()
dbplus_unselect()
dbplus_update()
dbplus_xlockrel()
dbplus_xunlockrel()
dbx_close()
dbx_compare()
dbx_connect()
dbx_error()
dbx_escape_string()
dbx_fetch_row()
dbx_query()
dbx_sort()
dcgettext()
dcngettext()
deaggregate()
debug_backtrace()
debug_print_backtrace()
debug_zval_dump()
debugger_off()
debugger_on()
decbin()
dechex()
decoct()
define()
define_syslog_variables()
defined()
deg2rad()
delete()
dgettext()
die()
dio_close()
dio_fcntl()
dio_open()
dio_read()
dio_seek()
dio_stat()
dio_tcsetattr()
dio_truncate()
dio_write()
dir()
DirectoryIterator::__construct()
DirectoryIterator::current()
DirectoryIterator::getATime()
DirectoryIterator::getCTime()
DirectoryIterator::getFilename()
DirectoryIterator::getGroup()
DirectoryIterator::getInode()
DirectoryIterator::getMTime()
DirectoryIterator::getOwner()
DirectoryIterator::getPath()
DirectoryIterator::getPathname()
DirectoryIterator::getPerms()
DirectoryIterator::getSize()
DirectoryIterator::getType()
DirectoryIterator::isDir()
DirectoryIterator::isDot()
DirectoryIterator::isExecutable()
DirectoryIterator::isFile()
DirectoryIterator::isLink()
DirectoryIterator::isReadable()
DirectoryIterator::isWritable()
DirectoryIterator::key()
DirectoryIterator::next()
DirectoryIterator::rewind()
DirectoryIterator::valid()
dirname()
disk_free_space()
disk_total_space()
diskfreespace()
dl()
dngettext()
dns_check_record()
dns_get_mx()
dns_get_record()
dom_import_simplexml()
DOMAttr->__construct()
DOMAttr->isId()
DomAttribute->name()
DomAttribute->set_value()
DomAttribute->specified()
DomAttribute->value()
DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()
DOMComment->__construct()
DOMDocument->__construct()
DomDocument->add_root()
DomDocument->create_attribute()
DomDocument->create_cdata_section()
DomDocument->create_comment()
DomDocument->create_element()
DomDocument->create_element_ns()
DomDocument->create_entity_reference()
DomDocument->create_processing_instruction()
DomDocument->create_text_node()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()
DomDocument->doctype()
DomDocument->document_element()
DomDocument->dump_file()
DomDocument->dump_mem()
DomDocument->get_element_by_id()
DomDocument->get_elements_by_tagname()
DOMDocument->getElementById()
DOMDocument->getElementsByTagName()
DOMDocument->getElementsByTagNameNS()
DomDocument->html_dump_mem()
DOMDocument->importNode()
DOMDocument->load()
DOMDocument->loadHTML()
DOMDocument->loadHTMLFile()
DOMDocument->loadXML()
DOMDocument->normalizeDocument()
DOMDocument->registerNodeClass()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()
DOMDocument->save()
DOMDocument->saveHTML()
DOMDocument->saveHTMLFile()
DOMDocument->saveXML()
DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->validate()
DomDocument->xinclude()
DOMDocument->xinclude()
DOMDocumentFragment->appendXML()
DomDocumentType->entities()
DomDocumentType->internal_subset()
DomDocumentType->name()
DomDocumentType->notations()
DomDocumentType->public_id()
DomDocumentType->system_id()
DOMElement->__construct()
DomElement->get_attribute()
DomElement->get_attribute_node()
DomElement->get_elements_by_tagname()
DOMElement->getAttribute()
DOMElement->getAttributeNode()
DOMElement->getAttributeNodeNS()
DOMElement->getAttributeNS()
DOMElement->getElementsByTagName()
DOMElement->getElementsByTagNameNS()
DomElement->has_attribute()
DOMElement->hasAttribute()
DOMElement->hasAttributeNS()
DomElement->remove_attribute()
DOMElement->removeAttribute()
DOMElement->removeAttributeNode()
DOMElement->removeAttributeNS()
DomElement->set_attribute()
DomElement->set_attribute_node()
DOMElement->setAttribute()
DOMElement->setAttributeNode()
DOMElement->setAttributeNodeNS()
DOMElement->setAttributeNS()
DOMElement->setIdAttribute()
DOMElement->setIdAttributeNode()
DOMElement->setIdAttributeNS()
DomElement->tagname()
DOMEntityReference->__construct()
DOMImplementation->__construct()
DOMImplementation->createDocument()
DOMImplementation->createDocumentType()
DOMImplementation->hasFeature()
DOMNamedNodeMap->getNamedItem()
DOMNamedNodeMap->getNamedItemNS()
DOMNamedNodeMap->item()
DomNode->add_namespace()
DomNode->append_child()
DomNode->append_sibling()
DOMNode->appendChild()
DomNode->attributes()
DomNode->child_nodes()
DomNode->clone_node()
DOMNode->cloneNode()
DomNode->dump_node()
DomNode->first_child()
DomNode->get_content()
DomNode->has_attributes()
DomNode->has_child_nodes()
DOMNode->hasAttributes()
DOMNode->hasChildNodes()
DomNode->insert_before()
DOMNode->insertBefore()
DomNode->is_blank_node()
DOMNode->isDefaultNamespace()
DOMNode->isSameNode()
DOMNode->isSupported()
DomNode->last_child()
DOMNode->lookupNamespaceURI()
DOMNode->lookupPrefix()
DomNode->next_sibling()
DomNode->node_name()
DomNode->node_type()
DomNode->node_value()
DOMNode->normalize()
DomNode->owner_document()
DomNode->parent_node()
DomNode->prefix()
DomNode->previous_sibling()
DomNode->remove_child()
DOMNode->removeChild()
DomNode->replace_child()
DomNode->replace_node()
DOMNode->replaceChild()
DomNode->set_content()
DomNode->set_name()
DomNode->set_namespace()
DomNode->unlink_node()
DOMNodelist->item()
DOMProcessingInstruction->__construct()
DomProcessingInstruction->data()
DomProcessingInstruction->target()
DOMText->__construct()
DOMText->isWhitespaceInElementContent()
DOMText->splitText()
domxml_new_doc()
domxml_open_file()
domxml_open_mem()
domxml_version()
domxml_xmltree()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_doc()
domxml_xslt_stylesheet_file()
domxml_xslt_version()
DOMXPath->__construct()
DOMXPath->evaluate()
DOMXPath->query()
DOMXPath->registerNamespace()
DomXsltStylesheet->process()
DomXsltStylesheet->result_dump_file()
DomXsltStylesheet->result_dump_mem()
dotnet()
dotnet_load()
doubleval()
E
each()
easter_date()
easter_days()
ebcdic2ascii()
echo()
empty()
enchant_broker_describe()
enchant_broker_dict_exists()
enchant_broker_free()
enchant_broker_free_dict()
enchant_broker_get_error()
enchant_broker_init()
enchant_broker_list_dicts()
enchant_broker_request_dict()
enchant_broker_request_pwl_dict()
enchant_broker_set_ordering()
enchant_dict_add_to_personal()
enchant_dict_add_to_session()
enchant_dict_check()
enchant_dict_describe()
enchant_dict_get_error()
enchant_dict_is_in_session()
enchant_dict_quick_check()
enchant_dict_store_replacement()
enchant_dict_suggest()
end()
ereg()
ereg_replace()
eregi()
eregi_replace()
error_get_last()
error_log()
error_reporting()
escapeshellarg()
escapeshellcmd()
eval()
exec()
exif_imagetype()
exif_read_data()
exif_tagname()
exif_thumbnail()
exit()
exp()
expect_expectl()
expect_popen()
explode()
expm1()
extension_loaded()
extract()
ezmlm_hash()
F
fam_cancel_monitor()
fam_close()
fam_monitor_collection()
fam_monitor_directory()
fam_monitor_file()
fam_next_event()
fam_open()
fam_pending()
fam_resume_monitor()
fam_suspend_monitor()
fbsql_affected_rows()
fbsql_autocommit()
fbsql_blob_size()
fbsql_change_user()
fbsql_clob_size()
fbsql_close()
fbsql_commit()
fbsql_connect()
fbsql_create_blob()
fbsql_create_clob()
fbsql_create_db()
fbsql_data_seek()
fbsql_database()
fbsql_database_password()
fbsql_db_query()
fbsql_db_status()
fbsql_drop_db()
fbsql_errno()
fbsql_error()
fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_field()
fbsql_fetch_lengths()
fbsql_fetch_object()
fbsql_fetch_row()
fbsql_field_flags()
fbsql_field_len()
fbsql_field_name()
fbsql_field_seek()
fbsql_field_table()
fbsql_field_type()
fbsql_free_result()
fbsql_get_autostart_info()
fbsql_hostname()
fbsql_insert_id()
fbsql_list_dbs()
fbsql_list_fields()
fbsql_list_tables()
fbsql_next_result()
fbsql_num_fields()
fbsql_num_rows()
fbsql_password()
fbsql_pconnect()
fbsql_query()
fbsql_read_blob()
fbsql_read_clob()
fbsql_result()
fbsql_rollback()
fbsql_rows_fetched()
fbsql_select_db()
fbsql_set_characterset()
fbsql_set_lob_mode()
fbsql_set_password()
fbsql_set_transaction()
fbsql_start_db()
fbsql_stop_db()
fbsql_table_name()
fbsql_tablename()
fbsql_username()
fbsql_warnings()
fclose()
fdf_add_doc_javascript()
fdf_add_template()
fdf_close()
fdf_create()
fdf_enum_values()
fdf_errno()
fdf_error()
fdf_get_ap()
fdf_get_attachment()
fdf_get_encoding()
fdf_get_file()
fdf_get_flags()
fdf_get_opt()
fdf_get_status()
fdf_get_value()
fdf_get_version()
fdf_header()
fdf_next_field_name()
fdf_open()
fdf_open_string()
fdf_remove_item()
fdf_save()
fdf_save_string()
fdf_set_ap()
fdf_set_encoding()
fdf_set_file()
fdf_set_flags()
fdf_set_javascript_action()
fdf_set_on_import_javascript()
fdf_set_opt()
fdf_set_status()
fdf_set_submit_form_action()
fdf_set_target_frame()
fdf_set_value()
fdf_set_version()
feof()
fflush()
fgetc()
fgetcsv()
fgets()
fgetss()
file()
file_exists()
file_get_contents()
file_put_contents()
fileatime()
filectime()
filegroup()
fileinode()
filemtime()
fileowner()
fileperms()
filepro()
filepro_fieldcount()
filepro_fieldname()
filepro_fieldtype()
filepro_fieldwidth()
filepro_retrieve()
filepro_rowcount()
filesize()
filetype()
filter_has_var()
filter_id()
filter_input()
filter_input_array()
filter_list()
filter_var()
filter_var_array()
FilterIterator::current()
FilterIterator::getInnerIterator()
FilterIterator::key()
FilterIterator::next()
FilterIterator::rewind()
FilterIterator::valid()
finfo->__construct()
finfo_buffer()
finfo_close()
finfo_file()
finfo_open()
finfo_set_flags()
floatval()
flock()
floor()
flush()
fmod()
fnmatch()
fopen()
fpassthru()
fprintf()
fputcsv()
fputs()
fread()
frenchtojd()
fribidi_log2vis()
fscanf()
fseek()
fsockopen()
fstat()
ftell()
ftok()
ftp_alloc()
ftp_cdup()
ftp_chdir()
ftp_chmod()
ftp_close()
ftp_connect()
ftp_delete()
ftp_exec()
ftp_fget()
ftp_fput()
ftp_get()
ftp_get_option()
ftp_login()
ftp_mdtm()
ftp_mkdir()
ftp_nb_continue()
ftp_nb_fget()
ftp_nb_fput()
ftp_nb_get()
ftp_nb_put()
ftp_nlist()
ftp_pasv()
ftp_put()
ftp_pwd()
ftp_quit()
ftp_raw()
ftp_rawlist()
ftp_rename()
ftp_rmdir()
ftp_set_option()
ftp_site()
ftp_size()
ftp_ssl_connect()
ftp_systype()
ftruncate()
func_get_arg()
func_get_args()
func_num_args()
function_exists()
fwrite()
G
gd_info()
geoip_country_code3_by_name()
geoip_country_code_by_name()
geoip_country_name_by_name()
geoip_database_info()
geoip_db_avail()
geoip_db_filename()
geoip_db_get_all_info()
geoip_id_by_name()
geoip_org_by_name()
geoip_record_by_name()
geoip_region_by_name()
get_browser()
get_cfg_var()
get_class()
get_class_methods()
get_class_vars()
get_current_user()
get_declared_classes()
get_declared_interfaces()
get_defined_constants()
get_defined_functions()
get_defined_vars()
get_extension_funcs()
get_headers()
get_html_translation_table()
get_include_path()
get_included_files()
get_loaded_extensions()
get_magic_quotes_gpc()
get_magic_quotes_runtime()
get_meta_tags()
get_object_vars()
get_parent_class()
get_required_files()
get_resource_type()
getallheaders()
getcwd()
getdate()
getenv()
gethostbyaddr()
gethostbyname()
gethostbynamel()
getimagesize()
getlastmod()
getmxrr()
getmygid()
getmyinode()
getmypid()
getmyuid()
getopt()
getprotobyname()
getprotobynumber()
getrandmax()
getrusage()
getservbyname()
getservbyport()
gettext()
gettimeofday()
gettype()
glob()
gmdate()
gmmktime()
gmp_abs()
gmp_add()
gmp_and()
gmp_clrbit()
gmp_cmp()
gmp_com()
gmp_div()
gmp_div_q()
gmp_div_qr()
gmp_div_r()
gmp_divexact()
gmp_fact()
gmp_gcd()
gmp_gcdext()
gmp_hamdist()
gmp_init()
gmp_intval()
gmp_invert()
gmp_jacobi()
gmp_legendre()
gmp_mod()
gmp_mul()
gmp_neg()
gmp_nextprime()
gmp_or()
gmp_perfect_square()
gmp_popcount()
gmp_pow()
gmp_powm()
gmp_prob_prime()
gmp_random()
gmp_scan0()
gmp_scan1()
gmp_setbit()
gmp_sign()
gmp_sqrt()
gmp_sqrtrem()
gmp_strval()
gmp_sub()
gmp_testbit()
gmp_xor()
gmstrftime()
gnupg_adddecryptkey()
gnupg_addencryptkey()
gnupg_addsignkey()
gnupg_cleardecryptkeys()
gnupg_clearencryptkeys()
gnupg_clearsignkeys()
gnupg_decrypt()
gnupg_decryptverify()
gnupg_encrypt()
gnupg_encryptsign()
gnupg_export()
gnupg_geterror()
gnupg_getprotocol()
gnupg_import()
gnupg_keyinfo()
gnupg_setarmor()
gnupg_seterrormode()
gnupg_setsignmode()
gnupg_sign()
gnupg_verify()
gopher_parsedir()
gregoriantojd()
gzclose()
gzcompress()
gzdecode()
gzdeflate()
gzencode()
gzeof()
gzfile()
gzgetc()
gzgets()
gzgetss()
gzinflate()
gzopen()
gzpassthru()
gzputs()
gzread()
gzrewind()
gzseek()
gztell()
gzuncompress()
gzwrite()
H
haruannotation()
HaruAnnotation::setBorderStyle()
HaruAnnotation::setHighlightMode()
HaruAnnotation::setIcon()
HaruAnnotation::setOpened()
harudestination()
HaruDestination::setFit()
HaruDestination::setFitB()
HaruDestination::setFitBH()
HaruDestination::setFitBV()
HaruDestination::setFitH()
HaruDestination::setFitR()
HaruDestination::setFitV()
HaruDestination::setXYZ()
harudoc()
HaruDoc::__construct()
HaruDoc::addPage()
HaruDoc::addPageLabel()
HaruDoc::createOutline()
HaruDoc::getCurrentEncoder()
HaruDoc::getCurrentPage()
HaruDoc::getEncoder()
HaruDoc::getFont()
HaruDoc::getInfoAttr()
HaruDoc::getPageLayout()
HaruDoc::getPageMode()
HaruDoc::getStreamSize()
HaruDoc::insertPage()
HaruDoc::loadJPEG()
HaruDoc::loadPNG()
HaruDoc::loadRaw()
HaruDoc::loadTTC()
HaruDoc::loadTTF()
HaruDoc::loadType1()
HaruDoc::output()
HaruDoc::readFromStream()
HaruDoc::resetError()
HaruDoc::resetStream()
HaruDoc::save()
HaruDoc::saveToStream()
HaruDoc::setCompressionMode()
HaruDoc::setCurrentEncoder()
HaruDoc::setEncryptionMode()
HaruDoc::setInfoAttr()
HaruDoc::setInfoDateAttr()
HaruDoc::setOpenAction()
HaruDoc::setPageLayout()
HaruDoc::setPageMode()
HaruDoc::setPagesConfiguration()
HaruDoc::setPassword()
HaruDoc::setPermission()
HaruDoc::useCNSEncodings()
HaruDoc::useCNSFonts()
HaruDoc::useCNTEncodings()
HaruDoc::useCNTFonts()
HaruDoc::useJPEncodings()
HaruDoc::useJPFonts()
HaruDoc::useKREncodings()
HaruDoc::useKRFonts()
haruencoder()
HaruEncoder::getByteType()
HaruEncoder::getType()
HaruEncoder::getUnicode()
HaruEncoder::getWritingMode()
haruexception()
harufont()
HaruFont::getAscent()
HaruFont::getCapHeight()
HaruFont::getDescent()
HaruFont::getEncodingName()
HaruFont::getFontName()
HaruFont::getTextWidth()
HaruFont::getUnicodeWidth()
HaruFont::getXHeight()
HaruFont::measureText()
haruimage()
HaruImage::getBitsPerComponent()
HaruImage::getColorSpace()
HaruImage::getHeight()
HaruImage::getSize()
HaruImage::getWidth()
HaruImage::setColorMask()
HaruImage::setMaskImage()
haruoutline()
HaruOutline::setDestination()
HaruOutline::setOpened()
harupage()
HaruPage::arc()
HaruPage::beginText()
HaruPage::circle()
HaruPage::closePath()
HaruPage::concat()
HaruPage::createDestination()
HaruPage::createLinkAnnotation()
HaruPage::createTextAnnotation()
HaruPage::createURLAnnotation()
HaruPage::curveTo()
HaruPage::curveTo2()
HaruPage::curveTo3()
HaruPage::drawImage()
HaruPage::ellipse()
HaruPage::endPath()
HaruPage::endText()
HaruPage::eofill()
HaruPage::eoFillStroke()
HaruPage::fill()
HaruPage::fillStroke()
HaruPage::getCharSpace()
HaruPage::getCMYKFill()
HaruPage::getCMYKStroke()
HaruPage::getCurrentFont()
HaruPage::getCurrentFontSize()
HaruPage::getCurrentPos()
HaruPage::getCurrentTextPos()
HaruPage::getDash()
HaruPage::getFillingColorSpace()
HaruPage::getFlatness()
HaruPage::getGMode()
HaruPage::getGrayFill()
HaruPage::getGrayStroke()
HaruPage::getHeight()
HaruPage::getHorizontalScaling()
HaruPage::getLineCap()
HaruPage::getLineJoin()
HaruPage::getLineWidth()
HaruPage::getMiterLimit()
HaruPage::getRGBFill()
HaruPage::getRGBStroke()
HaruPage::getStrokingColorSpace()
HaruPage::getTextLeading()
HaruPage::getTextMatrix()
HaruPage::getTextRenderingMode()
HaruPage::getTextRise()
HaruPage::getTextWidth()
HaruPage::getTransMatrix()
HaruPage::getWidth()
HaruPage::getWordSpace()
HaruPage::lineTo()
HaruPage::measureText()
HaruPage::moveTextPos()
HaruPage::moveTo()
HaruPage::moveToNextLine()
HaruPage::rectangle()
HaruPage::setCharSpace()
HaruPage::setCMYKFill()
HaruPage::setCMYKStroke()
HaruPage::setDash()
HaruPage::setFlatness()
HaruPage::setFontAndSize()
HaruPage::setGrayFill()
HaruPage::setGrayStroke()
HaruPage::setHeight()
HaruPage::setHorizontalScaling()
HaruPage::setLineCap()
HaruPage::setLineJoin()
HaruPage::setLineWidth()
HaruPage::setMiterLimit()
HaruPage::setRGBFill()
HaruPage::setRGBStroke()
HaruPage::setRotate()
HaruPage::setSize()
HaruPage::setSlideShow()
HaruPage::setTextLeading()
HaruPage::setTextMatrix()
HaruPage::setTextRenderingMode()
HaruPage::setTextRise()
HaruPage::setWidth()
HaruPage::setWordSpace()
HaruPage::showText()
HaruPage::showTextNextLine()
HaruPage::stroke()
HaruPage::textOut()
HaruPage::textRect()
hash()
hash_algos()
hash_file()
hash_final()
hash_hmac()
hash_hmac_file()
hash_init()
hash_update()
hash_update_file()
hash_update_stream()
header()
headers_list()
headers_sent()
hebrev()
hebrevc()
hexdec()
highlight_file()
highlight_string()
html_entity_decode()
htmlentities()
htmlspecialchars()
htmlspecialchars_decode()
http_build_cookie()
http_build_query()
http_build_str()
http_build_url()
http_cache_etag()
http_cache_last_modified()
http_chunked_decode()
http_date()
http_deflate()
http_get()
http_get_request_body()
http_get_request_body_stream()
http_get_request_headers()
http_head()
http_inflate()
http_match_etag()
http_match_modified()
http_match_request_header()
http_negotiate_charset()
http_negotiate_content_type()
http_negotiate_language()
http_parse_cookie()
http_parse_headers()
http_parse_message()
http_parse_params()
http_persistent_handles_clean()
http_persistent_handles_count()
http_persistent_handles_ident()
http_post_data()
http_post_fields()
http_put_data()
http_put_file()
http_put_stream()
http_redirect()
http_request()
http_request_body_encode()
http_request_method_exists()
http_request_method_name()
http_request_method_register()
http_request_method_unregister()
http_send_content_disposition()
http_send_content_type()
http_send_data()
http_send_file()
http_send_last_modified()
http_send_status()
http_send_stream()
http_support()
http_throttle()
httpdeflatestream()
HttpDeflateStream::__construct()
HttpDeflateStream::factory()
HttpDeflateStream::finish()
HttpDeflateStream::flush()
HttpDeflateStream::update()
httpinflatestream()
HttpInflateStream::__construct()
HttpInflateStream::factory()
HttpInflateStream::finish()
HttpInflateStream::flush()
HttpInflateStream::update()
httpmessage()
HttpMessage::__construct()
HttpMessage::addHeaders()
HttpMessage::detach()
HttpMessage::factory()
HttpMessage::fromEnv()
HttpMessage::fromString()
HttpMessage::getBody()
HttpMessage::getHeader()
HttpMessage::getHeaders()
HttpMessage::getHttpVersion()
HttpMessage::getParentMessage()
HttpMessage::getRequestMethod()
HttpMessage::getRequestUrl()
HttpMessage::getResponseCode()
HttpMessage::getResponseStatus()
HttpMessage::getType()
HttpMessage::guessContentType()
HttpMessage::prepend()
HttpMessage::reverse()
HttpMessage::send()
HttpMessage::setBody()
HttpMessage::setHeaders()
HttpMessage::setHttpVersion()
HttpMessage::setRequestMethod()
HttpMessage::setRequestUrl()
HttpMessage::setResponseCode()
HttpMessage::setResponseStatus()
HttpMessage::setType()
HttpMessage::toMessageTypeObject()
HttpMessage::toString()
httpquerystring()
HttpQueryString::__construct()
HttpQueryString::get()
HttpQueryString::mod()
HttpQueryString::set()
HttpQueryString::singleton()
HttpQueryString::toArray()
HttpQueryString::toString()
HttpQueryString::xlate()
httprequest()
HttpRequest::__construct()
HttpRequest::addCookies()
HttpRequest::addHeaders()
HttpRequest::addPostFields()
HttpRequest::addPostFile()
HttpRequest::addPutData()
HttpRequest::addQueryData()
HttpRequest::addRawPostData()
HttpRequest::addSslOptions()
HttpRequest::clearHistory()
HttpRequest::enableCookies()
HttpRequest::getContentType()
HttpRequest::getCookies()
HttpRequest::getHeaders()
HttpRequest::getHistory()
HttpRequest::getMethod()
HttpRequest::getOptions()
HttpRequest::getPostFields()
HttpRequest::getPostFiles()
HttpRequest::getPutData()
HttpRequest::getPutFile()
HttpRequest::getQueryData()
HttpRequest::getRawPostData()
HttpRequest::getRawRequestMessage()
HttpRequest::getRawResponseMessage()
HttpRequest::getRequestMessage()
HttpRequest::getResponseBody()
HttpRequest::getResponseCode()
HttpRequest::getResponseCookies()
HttpRequest::getResponseData()
HttpRequest::getResponseHeader()
HttpRequest::getResponseInfo()
HttpRequest::getResponseMessage()
HttpRequest::getResponseStatus()
HttpRequest::getSslOptions()
HttpRequest::getUrl()
HttpRequest::resetCookies()
HttpRequest::send()
HttpRequest::setContentType()
HttpRequest::setCookies()
HttpRequest::setHeaders()
HttpRequest::setMethod()
HttpRequest::setOptions()
HttpRequest::setPostFields()
HttpRequest::setPostFiles()
HttpRequest::setPutData()
HttpRequest::setPutFile()
HttpRequest::setQueryData()
HttpRequest::setRawPostData()
HttpRequest::setSslOptions()
HttpRequest::setUrl()
httprequestpool()
HttpRequestPool::__construct()
HttpRequestPool::__destruct()
HttpRequestPool::attach()
HttpRequestPool::detach()
HttpRequestPool::getAttachedRequests()
HttpRequestPool::getFinishedRequests()
HttpRequestPool::reset()
HttpRequestPool::send()
HttpRequestPool::socketPerform()
HttpRequestPool::socketSelect()
httpresponse()
HttpResponse::capture()
HttpResponse::getBufferSize()
HttpResponse::getCache()
HttpResponse::getCacheControl()
HttpResponse::getContentDisposition()
HttpResponse::getContentType()
HttpResponse::getData()
HttpResponse::getETag()
HttpResponse::getFile()
HttpResponse::getGzip()
HttpResponse::getHeader()
HttpResponse::getLastModified()
HttpResponse::getRequestBody()
HttpResponse::getRequestBodyStream()
HttpResponse::getRequestHeaders()
HttpResponse::getStream()
HttpResponse::getThrottleDelay()
HttpResponse::guessContentType()
HttpResponse::redirect()
HttpResponse::send()
HttpResponse::setBufferSize()
HttpResponse::setCache()
HttpResponse::setCacheControl()
HttpResponse::setContentDisposition()
HttpResponse::setContentType()
HttpResponse::setData()
HttpResponse::setETag()
HttpResponse::setFile()
HttpResponse::setGzip()
HttpResponse::setHeader()
HttpResponse::setLastModified()
HttpResponse::setStream()
HttpResponse::setThrottleDelay()
HttpResponse::status()
hw_api->checkin()
hw_api->checkout()
hw_api->children()
hw_api->content()
hw_api->copy()
hw_api->dbstat()
hw_api->dcstat()
hw_api->dstanchors()
hw_api->dstofsrcanchor()
hw_api->find()
hw_api->ftstat()
hw_api->hwstat()
hw_api->identify()
hw_api->info()
hw_api->insert()
hw_api->insertanchor()
hw_api->insertcollection()
hw_api->insertdocument()
hw_api->link()
hw_api->lock()
hw_api->move()
hw_api->object()
hw_api->objectbyanchor()
hw_api->parents()
hw_api->remove()
hw_api->replace()
hw_api->setcommittedversion()
hw_api->srcanchors()
hw_api->srcsofdst()
hw_api->unlock()
hw_api->user()
hw_api->userlist()
hw_api_attribute()
hw_api_attribute->key()
hw_api_attribute->langdepvalue()
hw_api_attribute->value()
hw_api_attribute->values()
hw_api_content()
hw_api_content->mimetype()
hw_api_content->read()
hw_api_error->count()
hw_api_error->reason()
hw_api_object()
hw_api_object->assign()
hw_api_object->attreditable()
hw_api_object->count()
hw_api_object->insert()
hw_api_object->remove()
hw_api_object->title()
hw_api_object->value()
hw_api_reason->description()
hw_api_reason->type()
hw_array2objrec()
hw_changeobject()
hw_children()
hw_childrenobj()
hw_close()
hw_connect()
hw_connection_info()
hw_cp()
hw_deleteobject()
hw_docbyanchor()
hw_docbyanchorobj()
hw_document_attributes()
hw_document_bodytag()
hw_document_content()
hw_document_setcontent()
hw_document_size()
hw_dummy()
hw_edittext()
hw_error()
hw_errormsg()
hw_free_document()
hw_getanchors()
hw_getanchorsobj()
hw_getandlock()
hw_getchildcoll()
hw_getchildcollobj()
hw_getchilddoccoll()
hw_getchilddoccollobj()
hw_getobject()
hw_getobjectbyquery()
hw_getobjectbyquerycoll()
hw_getobjectbyquerycollobj()
hw_getobjectbyqueryobj()
hw_getparents()
hw_getparentsobj()
hw_getrellink()
hw_getremote()
hw_getremotechildren()
hw_getsrcbydestobj()
hw_gettext()
hw_getusername()
hw_identify()
hw_incollections()
hw_info()
hw_inscoll()
hw_insdoc()
hw_insertanchors()
hw_insertdocument()
hw_insertobject()
hw_mapid()
hw_modifyobject()
hw_mv()
hw_new_document()
hw_objrec2array()
hw_output_document()
hw_pconnect()
hw_pipedocument()
hw_root()
hw_setlinkroot()
hw_stat()
hw_unlock()
hw_who()
hwapi_hgcsp()
hypot()
I
ibase_add_user()
ibase_affected_rows()
ibase_backup()
ibase_blob_add()
ibase_blob_cancel()
ibase_blob_close()
ibase_blob_create()
ibase_blob_echo()
ibase_blob_get()
ibase_blob_import()
ibase_blob_info()
ibase_blob_open()
ibase_close()
ibase_commit()
ibase_commit_ret()
ibase_connect()
ibase_db_info()
ibase_delete_user()
ibase_drop_db()
ibase_errcode()
ibase_errmsg()
ibase_execute()
ibase_fetch_assoc()
ibase_fetch_object()
ibase_fetch_row()
ibase_field_info()
ibase_free_event_handler()
ibase_free_query()
ibase_free_result()
ibase_gen_id()
ibase_maintain_db()
ibase_modify_user()
ibase_name_result()
ibase_num_fields()
ibase_num_params()
ibase_param_info()
ibase_pconnect()
ibase_prepare()
ibase_query()
ibase_restore()
ibase_rollback()
ibase_rollback_ret()
ibase_server_info()
ibase_service_attach()
ibase_service_detach()
ibase_set_event_handler()
ibase_timefmt()
ibase_trans()
ibase_wait_event()
iconv()
iconv_get_encoding()
iconv_mime_decode()
iconv_mime_decode_headers()
iconv_mime_encode()
iconv_set_encoding()
iconv_strlen()
iconv_strpos()
iconv_strrpos()
iconv_substr()
id3_get_frame_long_name()
id3_get_frame_short_name()
id3_get_genre_id()
id3_get_genre_list()
id3_get_genre_name()
id3_get_tag()
id3_get_version()
id3_remove_tag()
id3_set_tag()
idate()
ifx_affected_rows()
ifx_blobinfile_mode()
ifx_byteasvarchar()
ifx_close()
ifx_connect()
ifx_copy_blob()
ifx_create_blob()
ifx_create_char()
ifx_do()
ifx_error()
ifx_errormsg()
ifx_fetch_row()
ifx_fieldproperties()
ifx_fieldtypes()
ifx_free_blob()
ifx_free_char()
ifx_free_result()
ifx_get_blob()
ifx_get_char()
ifx_getsqlca()
ifx_htmltbl_result()
ifx_nullformat()
ifx_num_fields()
ifx_num_rows()
ifx_pconnect()
ifx_prepare()
ifx_query()
ifx_textasvarchar()
ifx_update_blob()
ifx_update_char()
ifxus_close_slob()
ifxus_create_slob()
ifxus_free_slob()
ifxus_open_slob()
ifxus_read_slob()
ifxus_seek_slob()
ifxus_tell_slob()
ifxus_write_slob()
ignore_user_abort()
iis_add_server()
iis_get_dir_security()
iis_get_script_map()
iis_get_server_by_comment()
iis_get_server_by_path()
iis_get_server_rights()
iis_get_service_state()
iis_remove_server()
iis_set_app_settings()
iis_set_dir_security()
iis_set_script_map()
iis_set_server_rights()
iis_start_server()
iis_start_service()
iis_stop_server()
iis_stop_service()
image2wbmp()
image_type_to_extension()
image_type_to_mime_type()
imagealphablending()
imageantialias()
imagearc()
imagechar()
imagecharup()
imagecolorallocate()
imagecolorallocatealpha()
imagecolorat()
imagecolorclosest()
imagecolorclosestalpha()
imagecolorclosesthwb()
imagecolordeallocate()
imagecolorexact()
imagecolorexactalpha()
imagecolormatch()
imagecolorresolve()
imagecolorresolvealpha()
imagecolorset()
imagecolorsforindex()
imagecolorstotal()
imagecolortransparent()
imageconvolution()
imagecopy()
imagecopymerge()
imagecopymergegray()
imagecopyresampled()
imagecopyresized()
imagecreate()
imagecreatefromgd()
imagecreatefromgd2()
imagecreatefromgd2part()
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromstring()
imagecreatefromwbmp()
imagecreatefromxbm()
imagecreatefromxpm()
imagecreatetruecolor()
imagedashedline()
imagedestroy()
imageellipse()
imagefill()
imagefilledarc()
imagefilledellipse()
imagefilledpolygon()
imagefilledrectangle()
imagefilltoborder()
imagefilter()
imagefontheight()
imagefontwidth()
imageftbbox()
imagefttext()
imagegammacorrect()
imagegd()
imagegd2()
imagegif()
imagegrabscreen()
imagegrabwindow()
imageinterlace()
imageistruecolor()
imagejpeg()
imagelayereffect()
imageline()
imageloadfont()
imagepalettecopy()
imagepng()
imagepolygon()
imagepsbbox()
imagepsencodefont()
imagepsextendfont()
imagepsfreefont()
imagepsloadfont()
imagepsslantfont()
imagepstext()
imagerectangle()
imagerotate()
imagesavealpha()
imagesetbrush()
imagesetpixel()
imagesetstyle()
imagesetthickness()
imagesettile()
imagestring()
imagestringup()
imagesx()
imagesy()
imagetruecolortopalette()
imagettfbbox()
imagettftext()
imagetypes()
imagewbmp()
imagexbm()
imagick()
Imagick::__construct()
Imagick::adaptiveBlurImage()
Imagick::adaptiveResizeImage()
Imagick::adaptiveSharpenImage()
Imagick::adaptiveThresholdImage()
Imagick::addImage()
Imagick::addNoiseImage()
Imagick::affineTransformImage()
Imagick::annotateImage()
Imagick::appendImages()
Imagick::averageImages()
Imagick::blackThresholdImage()
Imagick::blurImage()
Imagick::borderImage()
Imagick::charcoalImage()
Imagick::chopImage()
Imagick::clear()
Imagick::clipImage()
Imagick::clipPathImage()
Imagick::clone()
Imagick::coalesceImages()
Imagick::colorFloodfillImage()
Imagick::colorizeImage()
Imagick::combineImages()
Imagick::commentImage()
Imagick::compareImageChannels()
Imagick::compareImageLayers()
Imagick::compositeImage()
Imagick::contrastImage()
Imagick::contrastStretchImage()
Imagick::convolveImage()
Imagick::cropImage()
Imagick::cropThumbnailImage()
Imagick::current()
Imagick::cycleColormapImage()
Imagick::deconstructImages()
Imagick::despeckleImage()
Imagick::destroy()
Imagick::displayImage()
Imagick::displayImages()
Imagick::drawImage()
Imagick::edgeImage()
Imagick::embossImage()
Imagick::enhanceImage()
Imagick::equalizeImage()
Imagick::evaluateImage()
Imagick::flattenImages()
Imagick::flipImage()
Imagick::flopImage()
Imagick::frameImage()
Imagick::fxImage()
Imagick::gammaImage()
Imagick::gaussianBlurImage()
Imagick::getCompression()
Imagick::getCompressionQuality()
Imagick::getCopyright()
Imagick::getFilename()
Imagick::getFormat()
Imagick::getHomeURL()
Imagick::getImage()
Imagick::getImageBackgroundColor()
Imagick::getImageBlob()
Imagick::getImageBluePrimary()
Imagick::getImageBorderColor()
Imagick::getImageChannelDepth()
Imagick::getImageChannelDistortion()
Imagick::getImageChannelExtrema()
Imagick::getImageChannelMean()
Imagick::getImageChannelStatistics()
Imagick::getImageColormapColor()
Imagick::getImageColors()
Imagick::getImageColorspace()
Imagick::getImageCompose()
Imagick::getImageDelay()
Imagick::getImageDepth()
Imagick::getImageDispose()
Imagick::getImageDistortion()
Imagick::getImageExtrema()
Imagick::getImageFilename()
Imagick::getImageFormat()
Imagick::getImageGamma()
Imagick::getImageGeometry()
Imagick::getImageGreenPrimary()
Imagick::getImageHeight()
Imagick::getImageHistogram()
Imagick::getImageIndex()
Imagick::getImageInterlaceScheme()
Imagick::getImageInterpolateMethod()
Imagick::getImageIterations()
Imagick::getImageMatte()
Imagick::getImageMatteColor()
Imagick::getImagePage()
Imagick::getImagePixelColor()
Imagick::getImageProfile()
Imagick::getImageProperty()
Imagick::getImageRedPrimary()
Imagick::getImageRegion()
Imagick::getImageRenderingIntent()
Imagick::getImageResolution()
Imagick::getImageScene()
Imagick::getImageSignature()
Imagick::getImageSize()
Imagick::getImageTicksPerSecond()
Imagick::getImageTotalInkDensity()
Imagick::getImageType()
Imagick::getImageUnits()
Imagick::getImageVirtualPixelMethod()
Imagick::getImageWhitePoint()
Imagick::getImageWidth()
Imagick::getInterlaceScheme()
Imagick::getNumberImages()
Imagick::getOption()
Imagick::getPackageName()
Imagick::getPage()
Imagick::getPixelIterator()
Imagick::getPixelRegionIterator()
Imagick::getQuantumDepth()
Imagick::getQuantumRange()
Imagick::getReleaseDate()
Imagick::getResource()
Imagick::getResourceLimit()
Imagick::getSamplingFactors()
Imagick::getSize()
Imagick::getSizeOffset()
Imagick::getVersion()
Imagick::hasNextImage()
Imagick::hasPreviousImage()
Imagick::identifyImage()
Imagick::implodeImage()
Imagick::labelImage()
Imagick::levelImage()
Imagick::linearStretchImage()
Imagick::magnifyImage()
Imagick::matteFloodfillImage()
Imagick::medianFilterImage()
Imagick::minifyImage()
Imagick::modulateImage()
Imagick::montageImage()
Imagick::morphImages()
Imagick::mosaicImages()
Imagick::motionBlurImage()
Imagick::negateImage()
Imagick::newImage()
Imagick::newPseudoImage()
Imagick::nextImage()
Imagick::normalizeImage()
Imagick::oilPaintImage()
Imagick::optimizeImageLayers()
Imagick::paintOpaqueImage()
Imagick::paintTransparentImage()
Imagick::pingImage()
Imagick::pingImageBlob()
Imagick::pingImageFile()
Imagick::polaroidImage()
Imagick::posterizeImage()
Imagick::previousImage()
Imagick::profileImage()
Imagick::queryFontMetrics()
Imagick::queryFonts()
Imagick::queryFormats()
Imagick::radialBlurImage()
Imagick::raiseImage()
Imagick::randomThresholdImage()
Imagick::readImage()
Imagick::readImageBlob()
Imagick::readImageFile()
Imagick::reduceNoiseImage()
Imagick::removeImage()
Imagick::removeImageProfile()
Imagick::render()
Imagick::resampleImage()
Imagick::resizeImage()
Imagick::rollImage()
Imagick::rotateImage()
Imagick::roundCorners()
Imagick::sampleImage()
Imagick::scaleImage()
Imagick::separateImageChannel()
Imagick::sepiaToneImage()
Imagick::setBackgroundColor()
Imagick::setCompression()
Imagick::setCompressionQuality()
Imagick::setFilename()
Imagick::setFirstIterator()
Imagick::setFormat()
Imagick::setImageBackgroundColor()
Imagick::setImageBias()
Imagick::setImageBluePrimary()
Imagick::setImageBorderColor()
Imagick::setImageChannelDepth()
Imagick::setImageColormapColor()
Imagick::setImageColorspace()
Imagick::setImageCompose()
Imagick::setImageCompression()
Imagick::setImageDelay()
Imagick::setImageDepth()
Imagick::setImageDispose()
Imagick::setImageExtent()
Imagick::setImageFilename()
Imagick::setImageFormat()
Imagick::setImageGamma()
Imagick::setImageGreenPrimary()
Imagick::setImageIndex()
Imagick::setImageInterlaceScheme()
Imagick::setImageInterpolateMethod()
Imagick::setImageIterations()
Imagick::setImageMatte()
Imagick::setImageMatteColor()
Imagick::setImagePage()
Imagick::setImageProfile()
Imagick::setImageProperty()
Imagick::setImageRedPrimary()
Imagick::setImageRenderingIntent()
Imagick::setImageResolution()
Imagick::setImageScene()
Imagick::setImageTicksPerSecond()
Imagick::setImageType()
Imagick::setImageUnits()
Imagick::setImageVirtualPixelMethod()
Imagick::setImageWhitePoint()
Imagick::setInterlaceScheme()
Imagick::setOption()
Imagick::setPage()
Imagick::setResolution()
Imagick::setResourceLimit()
Imagick::setSamplingFactors()
Imagick::setSize()
Imagick::setSizeOffset()
Imagick::setType()
Imagick::shadeImage()
Imagick::shadowImage()
Imagick::sharpenImage()
Imagick::shaveImage()
Imagick::shearImage()
Imagick::sigmoidalContrastImage()
Imagick::sketchImage()
Imagick::solarizeImage()
Imagick::spliceImage()
Imagick::spreadImage()
Imagick::steganoImage()
Imagick::stereoImage()
Imagick::stripImage()
Imagick::swirlImage()
Imagick::textureImage()
Imagick::thresholdImage()
Imagick::thumbnailImage()
Imagick::tintImage()
Imagick::transverseImage()
Imagick::trimImage()
Imagick::uniqueImageColors()
Imagick::unsharpMaskImage()
Imagick::valid()
Imagick::vignetteImage()
Imagick::waveImage()
Imagick::whiteThresholdImage()
Imagick::writeImage()
Imagick::writeImages()
ImagickDraw::__construct()
ImagickDraw::affine()
ImagickDraw::annotation()
ImagickDraw::arc()
ImagickDraw::bezier()
ImagickDraw::circle()
ImagickDraw::clear()
ImagickDraw::clone()
ImagickDraw::color()
ImagickDraw::comment()
ImagickDraw::composite()
ImagickDraw::destroy()
ImagickDraw::ellipse()
ImagickDraw::getClipPath()
ImagickDraw::getClipRule()
ImagickDraw::getClipUnits()
ImagickDraw::getFillColor()
ImagickDraw::getFillOpacity()
ImagickDraw::getFillRule()
ImagickDraw::getFont()
ImagickDraw::getFontFamily()
ImagickDraw::getFontSize()
ImagickDraw::getFontStyle()
ImagickDraw::getFontWeight()
ImagickDraw::getGravity()
ImagickDraw::getStrokeAntialias()
ImagickDraw::getStrokeColor()
ImagickDraw::getStrokeDashArray()
ImagickDraw::getStrokeDashOffset()
ImagickDraw::getStrokeLineCap()
ImagickDraw::getStrokeLineJoin()
ImagickDraw::getStrokeMiterLimit()
ImagickDraw::getStrokeOpacity()
ImagickDraw::getStrokeWidth()
ImagickDraw::getTextAlignment()
ImagickDraw::getTextAntialias()
ImagickDraw::getTextDecoration()
ImagickDraw::getTextEncoding()
ImagickDraw::getTextUnderColor()
ImagickDraw::getVectorGraphics()
ImagickDraw::line()
ImagickDraw::matte()
ImagickDraw::pathClose()
ImagickDraw::pathCurveToAbsolute()
ImagickDraw::pathCurveToQuadraticBezierAbsolute()
ImagickDraw::pathCurveToQuadraticBezierRelative()
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute()
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative()
ImagickDraw::pathCurveToRelative()
ImagickDraw::pathCurveToSmoothAbsolute()
ImagickDraw::pathCurveToSmoothRelative()
ImagickDraw::pathEllipticArcAbsolute()
ImagickDraw::pathEllipticArcRelative()
ImagickDraw::pathFinish()
ImagickDraw::pathLineToAbsolute()
ImagickDraw::pathLineToHorizontalAbsolute()
ImagickDraw::pathLineToHorizontalRelative()
ImagickDraw::pathLineToRelative()
ImagickDraw::pathLineToVerticalAbsolute()
ImagickDraw::pathLineToVerticalRelative()
ImagickDraw::pathMoveToAbsolute()
ImagickDraw::pathMoveToRelative()
ImagickDraw::pathStart()
ImagickDraw::point()
ImagickDraw::polygon()
ImagickDraw::polyline()
ImagickDraw::pop()
ImagickDraw::popClipPath()
ImagickDraw::popDefs()
ImagickDraw::popPattern()
ImagickDraw::push()
ImagickDraw::pushClipPath()
ImagickDraw::pushDefs()
ImagickDraw::pushPattern()
ImagickDraw::rectangle()
ImagickDraw::render()
ImagickDraw::rotate()
ImagickDraw::roundRectangle()
ImagickDraw::scale()
ImagickDraw::setClipPath()
ImagickDraw::setClipRule()
ImagickDraw::setClipUnits()
ImagickDraw::setFillAlpha()
ImagickDraw::setFillColor()
ImagickDraw::setFillOpacity()
ImagickDraw::setFillPatternURL()
ImagickDraw::setFillRule()
ImagickDraw::setFont()
ImagickDraw::setFontFamily()
ImagickDraw::setFontSize()
ImagickDraw::setFontStretch()
ImagickDraw::setFontStyle()
ImagickDraw::setFontWeight()
ImagickDraw::setGravity()
ImagickDraw::setStrokeAlpha()
ImagickDraw::setStrokeAntialias()
ImagickDraw::setStrokeColor()
ImagickDraw::setStrokeDashArray()
ImagickDraw::setStrokeDashOffset()
ImagickDraw::setStrokeLineCap()
ImagickDraw::setStrokeLineJoin()
ImagickDraw::setStrokeMiterLimit()
ImagickDraw::setStrokeOpacity()
ImagickDraw::setStrokePatternURL()
ImagickDraw::setStrokeWidth()
ImagickDraw::setTextAlignment()
ImagickDraw::setTextAntialias()
ImagickDraw::setTextDecoration()
ImagickDraw::setTextEncoding()
ImagickDraw::setTextUnderColor()
ImagickDraw::setVectorGraphics()
ImagickDraw::setViewbox()
ImagickDraw::skewX()
ImagickDraw::skewY()
ImagickDraw::translate()
ImagickPixel::__construct()
ImagickPixel::clear()
ImagickPixel::destroy()
ImagickPixel::getColor()
ImagickPixel::getColorCount()
ImagickPixel::getColorValue()
ImagickPixel::getHSL()
ImagickPixel::isSimilar()
ImagickPixel::setColor()
ImagickPixel::setColorValue()
ImagickPixel::setHSL()
ImagickPixelIterator::__construct()
ImagickPixelIterator::clear()
ImagickPixelIterator::destroy()
ImagickPixelIterator::getCurrentIteratorRow()
ImagickPixelIterator::getIteratorRow()
ImagickPixelIterator::getNextIteratorRow()
ImagickPixelIterator::getPreviousIteratorRow()
ImagickPixelIterator::newPixelIterator()
ImagickPixelIterator::newPixelRegionIterator()
ImagickPixelIterator::resetIterator()
ImagickPixelIterator::setIteratorFirstRow()
ImagickPixelIterator::setIteratorLastRow()
ImagickPixelIterator::setIteratorRow()
ImagickPixelIterator::syncIterator()
imap_8bit()
imap_alerts()
imap_append()
imap_base64()
imap_binary()
imap_body()
imap_bodystruct()
imap_check()
imap_clearflag_full()
imap_close()
imap_createmailbox()
imap_delete()
imap_deletemailbox()
imap_errors()
imap_expunge()
imap_fetch_overview()
imap_fetchbody()
imap_fetchheader()
imap_fetchstructure()
imap_get_quota()
imap_get_quotaroot()
imap_getacl()
imap_getmailboxes()
imap_getsubscribed()
imap_header()
imap_headerinfo()
imap_headers()
imap_last_error()
imap_list()
imap_listmailbox()
imap_listscan()
imap_listsubscribed()
imap_lsub()
imap_mail()
imap_mail_compose()
imap_mail_copy()
imap_mail_move()
imap_mailboxmsginfo()
imap_mime_header_decode()
imap_msgno()
imap_num_msg()
imap_num_recent()
imap_open()
imap_ping()
imap_qprint()
imap_renamemailbox()
imap_reopen()
imap_rfc822_parse_adrlist()
imap_rfc822_parse_headers()
imap_rfc822_write_address()
imap_savebody()
imap_scanmailbox()
imap_search()
imap_set_quota()
imap_setacl()
imap_setflag_full()
imap_sort()
imap_status()
imap_subscribe()
imap_thread()
imap_timeout()
imap_uid()
imap_undelete()
imap_unsubscribe()
imap_utf7_decode()
imap_utf7_encode()
imap_utf8()
implode()
import_request_variables()
in_array()
inet_ntop()
inet_pton()
ingres_autocommit()
ingres_close()
ingres_commit()
ingres_connect()
ingres_cursor()
ingres_errno()
ingres_error()
ingres_errsqlstate()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()
ingres_field_length()
ingres_field_name()
ingres_field_nullable()
ingres_field_precision()
ingres_field_scale()
ingres_field_type()
ingres_num_fields()
ingres_num_rows()
ingres_pconnect()
ingres_query()
ingres_rollback()
ini_alter()
ini_get()
ini_get_all()
ini_restore()
ini_set()
installation()
installation()
interface_exists()
intval()
ip2long()
iptcembed()
iptcparse()
ircg_channel_mode()
ircg_disconnect()
ircg_eval_ecmascript_params()
ircg_fetch_error_msg()
ircg_get_username()
ircg_html_encode()
ircg_ignore_add()
ircg_ignore_del()
ircg_invite()
ircg_is_conn_alive()
ircg_join()
ircg_kick()
ircg_list()
ircg_lookup_format_messages()
ircg_lusers()
ircg_msg()
ircg_names()
ircg_nick()
ircg_nickname_escape()
ircg_nickname_unescape()
ircg_notice()
ircg_oper()
ircg_part()
ircg_pconnect()
ircg_register_format_messages()
ircg_set_current()
ircg_set_file()
ircg_set_on_die()
ircg_topic()
ircg_who()
ircg_whois()
is_a()
is_array()
is_binary()
is_bool()
is_buffer()
is_callable()
is_dir()
is_double()
is_executable()
is_file()
is_finite()
is_float()
is_infinite()
is_int()
is_integer()
is_link()
is_long()
is_nan()
is_null()
is_numeric()
is_object()
is_readable()
is_real()
is_resource()
is_scalar()
is_soap_fault()
is_string()
is_subclass_of()
is_unicode()
is_uploaded_file()
is_writable()
is_writeable()
isset()
iterator_count()
iterator_to_array()
J
java_last_exception_clear()
java_last_exception_get()
jddayofweek()
jdmonthname()
jdtofrench()
jdtogregorian()
jdtojewish()
jdtojulian()
jdtounix()
jewishtojd()
join()
jpeg2wbmp()
json_decode()
json_encode()
juliantojd()
K
kadm5_chpass_principal()
kadm5_create_principal()
kadm5_delete_principal()
kadm5_destroy()
kadm5_flush()
kadm5_get_policies()
kadm5_get_principal()
kadm5_get_principals()
kadm5_init_with_password()
kadm5_modify_principal()
key()
krsort()
ksort()
L
lcg_value()
lchgrp()
lchown()
ldap_8859_to_t61()
ldap_add()
ldap_bind()
ldap_close()
ldap_compare()
ldap_connect()
ldap_count_entries()
ldap_delete()
ldap_dn2ufn()
ldap_err2str()
ldap_errno()
ldap_error()
ldap_explode_dn()
ldap_first_attribute()
ldap_first_entry()
ldap_first_reference()
ldap_free_result()
ldap_get_attributes()
ldap_get_dn()
ldap_get_entries()
ldap_get_option()
ldap_get_values()
ldap_get_values_len()
ldap_list()
ldap_mod_add()
ldap_mod_del()
ldap_mod_replace()
ldap_modify()
ldap_next_attribute()
ldap_next_entry()
ldap_next_reference()
ldap_parse_reference()
ldap_parse_result()
ldap_read()
ldap_rename()
ldap_sasl_bind()
ldap_search()
ldap_set_option()
ldap_set_rebind_proc()
ldap_sort()
ldap_start_tls()
ldap_t61_to_8859()
ldap_unbind()
levenshtein()
libxml_clear_errors()
libxml_get_errors()
libxml_get_last_error()
libxml_set_streams_context()
libxml_use_internal_errors()
LimitIterator::getPosition()
LimitIterator::next()
LimitIterator::rewind()
LimitIterator::seek()
LimitIterator::valid()
link()
linkinfo()
list()
locale_get_default()
locale_set_default()
localeconv()
localtime()
log()
log10()
log1p()
long2ip()
lstat()
ltrim()
lzf_compress()
lzf_decompress()
lzf_optimized_for()
M
m_checkstatus()
m_completeauthorizations()
m_connect()
m_connectionerror()
m_deletetrans()
m_destroyconn()
m_destroyengine()
m_getcell()
m_getcellbynum()
m_getcommadelimited()
m_getheader()
m_initconn()
m_initengine()
m_iscommadelimited()
m_maxconntimeout()
m_monitor()
m_numcolumns()
m_numrows()
m_parsecommadelimited()
m_responsekeys()
m_responseparam()
m_returnstatus()
m_setblocking()
m_setdropfile()
m_setip()
m_setssl()
m_setssl_cafile()
m_setssl_files()
m_settimeout()
m_sslcert_gen_hash()
m_transactionssent()
m_transinqueue()
m_transkeyval()
m_transnew()
m_transsend()
m_uwait()
m_validateidentifier()
m_verifyconnection()
m_verifysslcert()
mail()
mailparse_determine_best_xfer_encoding()
mailparse_msg_create()
mailparse_msg_extract_part()
mailparse_msg_extract_part_file()
mailparse_msg_extract_whole_part_file()
mailparse_msg_free()
mailparse_msg_get_part()
mailparse_msg_get_part_data()
mailparse_msg_get_structure()
mailparse_msg_parse()
mailparse_msg_parse_file()
mailparse_rfc822_parse_addresses()
mailparse_stream_encode()
mailparse_uudecode_all()
main()
max()
maxdb()
maxdb->affected_rows()
maxdb->auto_commit()
maxdb->change_user()
maxdb->character_set_name()
maxdb->close()
maxdb->close_long_data()
maxdb->commit()
maxdb->disable_reads_from_master()
maxdb->errno()
maxdb->fetch_assoc()
maxdb->field_count()
maxdb->get_host_info()
maxdb->info()
maxdb->insert_id()
maxdb->kill()
maxdb->more_results()
maxdb->multi_query()
maxdb->next_result()
maxdb->options()
maxdb->ping()
maxdb->prepare()
maxdb->protocol_version()
maxdb->query()
maxdb->real_connect()
maxdb->real_escape_string()
maxdb->real_query()
maxdb->rollback()
maxdb->rpl_query_type()
maxdb->select_db()
maxdb->send_query()
maxdb->server_info()
maxdb->sqlstate()
maxdb->ssl_set()
maxdb->stat()
maxdb->stmt_init()
maxdb->store_result()
maxdb->store_result()
maxdb->thread_id()
maxdb->use_result()
maxdb->warning_count()
maxdb_affected_rows()
maxdb_autocommit()
maxdb_bind_param()
maxdb_bind_result()
maxdb_change_user()
maxdb_character_set_name()
maxdb_client_encoding()
maxdb_close()
maxdb_close_long_data()
maxdb_commit()
maxdb_connect()
maxdb_connect_errno()
maxdb_connect_error()
maxdb_data_seek()
maxdb_debug()
maxdb_disable_reads_from_master()
maxdb_disable_rpl_parse()
maxdb_dump_debug_info()
maxdb_embedded_connect()
maxdb_enable_reads_from_master()
maxdb_enable_rpl_parse()
maxdb_errno()
maxdb_error()
maxdb_escape_string()
maxdb_execute()
maxdb_fetch()
maxdb_fetch_array()
maxdb_fetch_assoc()
maxdb_fetch_field()
maxdb_fetch_field_direct()
maxdb_fetch_fields()
maxdb_fetch_lengths()
maxdb_fetch_object()
maxdb_fetch_row()
maxdb_field_count()
maxdb_field_seek()
maxdb_field_tell()
maxdb_free_result()
maxdb_get_client_info()
maxdb_get_client_version()
maxdb_get_host_info()
maxdb_get_metadata()
maxdb_get_proto_info()
maxdb_get_server_info()
maxdb_get_server_version()
maxdb_info()
maxdb_init()
maxdb_insert_id()
maxdb_kill()
maxdb_master_query()
maxdb_more_results()
maxdb_multi_query()
maxdb_next_result()
maxdb_num_fields()
maxdb_num_rows()
maxdb_options()
maxdb_param_count()
maxdb_ping()
maxdb_prepare()
maxdb_query()
maxdb_real_connect()
maxdb_real_escape_string()
maxdb_real_query()
maxdb_report()
maxdb_rollback()
maxdb_rpl_parse_enabled()
maxdb_rpl_probe()
maxdb_rpl_query_type()
maxdb_select_db()
maxdb_send_long_data()
maxdb_send_query()
maxdb_server_end()
maxdb_server_init()
maxdb_set_opt()
maxdb_sqlstate()
maxdb_ssl_set()
maxdb_stat()
maxdb_stmt->affected_rows()
maxdb_stmt->close()
maxdb_stmt->errno()
maxdb_stmt->error()
maxdb_stmt_affected_rows()
maxdb_stmt_bind_param()
maxdb_stmt_bind_result()
maxdb_stmt_close()
maxdb_stmt_close_long_data()
maxdb_stmt_data_seek()
maxdb_stmt_errno()
maxdb_stmt_error()
maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_stmt_free_result()
maxdb_stmt_init()
maxdb_stmt_num_rows()
maxdb_stmt_param_count()
maxdb_stmt_prepare()
maxdb_stmt_reset()
maxdb_stmt_result_metadata()
maxdb_stmt_send_long_data()
maxdb_stmt_sqlstate()
maxdb_stmt_store_result()
maxdb_store_result()
maxdb_thread_id()
maxdb_thread_safe()
maxdb_use_result()
maxdb_warning_count()
mb_check_encoding()
mb_convert_case()
mb_convert_encoding()
mb_convert_kana()
mb_convert_variables()
mb_decode_mimeheader()
mb_decode_numericentity()
mb_detect_encoding()
mb_detect_order()
mb_encode_mimeheader()
mb_encode_numericentity()
mb_ereg()
mb_ereg_match()
mb_ereg_replace()
mb_ereg_search()
mb_ereg_search_getpos()
mb_ereg_search_getregs()
mb_ereg_search_init()
mb_ereg_search_pos()
mb_ereg_search_regs()
mb_ereg_search_setpos()
mb_eregi()
mb_eregi_replace()
mb_get_info()
mb_http_input()
mb_http_output()
mb_internal_encoding()
mb_language()
mb_output_handler()
mb_parse_str()
mb_preferred_mime_name()
mb_regex_encoding()
mb_regex_set_options()
mb_send_mail()
mb_split()
mb_strcut()
mb_strimwidth()
mb_stripos()
mb_stristr()
mb_strlen()
mb_strpos()
mb_strrchr()
mb_strrichr()
mb_strripos()
mb_strrpos()
mb_strstr()
mb_strtolower()
mb_strtoupper()
mb_strwidth()
mb_substitute_character()
mb_substr()
mb_substr_count()
mcal_append_event()
mcal_close()
mcal_create_calendar()
mcal_date_compare()
mcal_date_valid()
mcal_day_of_week()
mcal_day_of_year()
mcal_days_in_month()
mcal_delete_calendar()
mcal_delete_event()
mcal_event_add_attribute()
mcal_event_init()
mcal_event_set_alarm()
mcal_event_set_category()
mcal_event_set_class()
mcal_event_set_description()
mcal_event_set_end()
mcal_event_set_recur_daily()
mcal_event_set_recur_monthly_mday()
mcal_event_set_recur_monthly_wday()
mcal_event_set_recur_none()
mcal_event_set_recur_weekly()
mcal_event_set_recur_yearly()
mcal_event_set_start()
mcal_event_set_title()
mcal_expunge()
mcal_fetch_current_stream_event()
mcal_fetch_event()
mcal_is_leap_year()
mcal_list_alarms()
mcal_list_events()
mcal_next_recurrence()
mcal_open()
mcal_popen()
mcal_rename_calendar()
mcal_reopen()
mcal_snooze()
mcal_store_event()
mcal_time_valid()
mcal_week_of_year()
mcrypt_cbc()
mcrypt_cfb()
mcrypt_create_iv()
mcrypt_decrypt()
mcrypt_ecb()
mcrypt_enc_get_algorithms_name()
mcrypt_enc_get_block_size()
mcrypt_enc_get_iv_size()
mcrypt_enc_get_key_size()
mcrypt_enc_get_modes_name()
mcrypt_enc_get_supported_key_sizes()
mcrypt_enc_is_block_algorithm()
mcrypt_enc_is_block_algorithm_mode()
mcrypt_enc_is_block_mode()
mcrypt_enc_self_test()
mcrypt_encrypt()
mcrypt_generic()
mcrypt_generic_deinit()
mcrypt_generic_end()
mcrypt_generic_init()
mcrypt_get_block_size()
mcrypt_get_cipher_name()
mcrypt_get_iv_size()
mcrypt_get_key_size()
mcrypt_list_algorithms()
mcrypt_list_modes()
mcrypt_module_close()
mcrypt_module_get_algo_block_size()
mcrypt_module_get_algo_key_size()
mcrypt_module_get_supported_key_sizes()
mcrypt_module_is_block_algorithm()
mcrypt_module_is_block_algorithm_mode()
mcrypt_module_is_block_mode()
mcrypt_module_open()
mcrypt_module_self_test()
mcrypt_ofb()
md5()
md5_file()
mdecrypt_generic()
Memcache::add()
Memcache::addServer()
Memcache::close()
Memcache::connect()
Memcache::decrement()
Memcache::delete()
Memcache::flush()
Memcache::get()
Memcache::getExtendedStats()
Memcache::getServerStatus()
Memcache::getStats()
Memcache::getVersion()
Memcache::increment()
Memcache::pconnect()
Memcache::replace()
Memcache::set()
Memcache::setCompressThreshold()
Memcache::setServerParams()
memcache_debug()
memory_get_peak_usage()
memory_get_usage()
metaphone()
method_exists()
mhash()
mhash_count()
mhash_get_block_size()
mhash_get_hash_name()
mhash_keygen_s2k()
microtime()
mime_content_type()
min()
ming_keypress()
ming_setcubicthreshold()
ming_setscale()
ming_setswfcompression()
ming_useconstants()
ming_useswfversion()
mkdir()
mktime()
money_format()
move_uploaded_file()
msession_connect()
msession_count()
msession_create()
msession_destroy()
msession_disconnect()
msession_find()
msession_get()
msession_get_array()
msession_get_data()
msession_inc()
msession_list()
msession_listvar()
msession_lock()
msession_plugin()
msession_randstr()
msession_set()
msession_set_array()
msession_set_data()
msession_timeout()
msession_uniq()
msession_unlock()
msg_get_queue()
msg_receive()
msg_remove_queue()
msg_send()
msg_set_queue()
msg_stat_queue()
msql()
msql_affected_rows()
msql_close()
msql_connect()
msql_create_db()
msql_createdb()
msql_data_seek()
msql_db_query()
msql_dbname()
msql_drop_db()
msql_error()
msql_fetch_array()
msql_fetch_field()
msql_fetch_object()
msql_fetch_row()
msql_field_flags()
msql_field_len()
msql_field_name()
msql_field_seek()
msql_field_table()
msql_field_type()
msql_fieldflags()
msql_fieldlen()
msql_fieldname()
msql_fieldtable()
msql_fieldtype()
msql_free_result()
msql_list_dbs()
msql_list_fields()
msql_list_tables()
msql_num_fields()
msql_num_rows()
msql_numfields()
msql_numrows()
msql_pconnect()
msql_query()
msql_regcase()
msql_result()
msql_select_db()
msql_tablename()
mssql_bind()
mssql_close()
mssql_connect()
mssql_data_seek()
mssql_execute()
mssql_fetch_array()
mssql_fetch_assoc()
mssql_fetch_batch()
mssql_fetch_field()
mssql_fetch_object()
mssql_fetch_row()
mssql_field_length()
mssql_field_name()
mssql_field_seek()
mssql_field_type()
mssql_free_result()
mssql_free_statement()
mssql_get_last_message()
mssql_guid_string()
mssql_init()
mssql_min_error_severity()
mssql_min_message_severity()
mssql_next_result()
mssql_num_fields()
mssql_num_rows()
mssql_pconnect()
mssql_query()
mssql_result()
mssql_rows_affected()
mssql_select_db()
mt_getrandmax()
mt_rand()
mt_srand()
muscat_close()
muscat_get()
muscat_give()
muscat_setup()
muscat_setup_net()
mysql_affected_rows()
mysql_change_user()
mysql_client_encoding()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_db_name()
mysql_db_query()
mysql_drop_db()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_field()
mysql_fetch_lengths()
mysql_fetch_object()
mysql_fetch_row()
mysql_field_flags()
mysql_field_len()
mysql_field_name()
mysql_field_seek()
mysql_field_table()
mysql_field_type()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_insert_id()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_pconnect()
mysql_ping()
mysql_query()
mysql_real_escape_string()
mysql_result()
mysql_select_db()
mysql_set_charset()
mysql_stat()
mysql_tablename()
mysql_thread_id()
mysql_unbuffered_query()
mysqli->__construct()
mysqli->affected_rows()
mysqli->autocommit()
mysqli->change_user()
mysqli->character_set_name()
mysqli->close()
mysqli->commit()
mysqli->debug()
mysqli->disable_reads_from_master()
mysqli->dump_debug_info()
mysqli->errno()
mysqli->fetch_assoc()
mysqli->field_count()
mysqli->host_info()
mysqli->info()
mysqli->insert_id()
mysqli->kill()
mysqli->more_results()
mysqli->multi_query()
mysqli->next_result()
mysqli->options()
mysqli->ping()
mysqli->prepare()
mysqli->protocol_version()
mysqli->query()
mysqli->real_connect()
mysqli->real_escape_string()
mysqli->real_query()
mysqli->rollback()
mysqli->rpl_query_type()
mysqli->select_db()
mysqli->send_query()
mysqli->server_info()
mysqli->server_version()
mysqli->set_charset()
mysqli->sqlstate()
mysqli->ssl_set()
mysqli->stat()
mysqli->stmt_init()
mysqli->store_result()
mysqli->thread_id()
mysqli->use_result()
mysqli->warning_count()
mysqli_affected_rows()
mysqli_autocommit()
mysqli_bind_param()
mysqli_bind_result()
mysqli_change_user()
mysqli_character_set_name()
mysqli_client_encoding()
mysqli_close()
mysqli_commit()
mysqli_connect()
mysqli_connect_errno()
mysqli_connect_error()
mysqli_data_seek()
mysqli_debug()
mysqli_disable_reads_from_master()
mysqli_disable_rpl_parse()
mysqli_dump_debug_info()
mysqli_embedded_server_end()
mysqli_embedded_server_start()
mysqli_enable_reads_from_master()
mysqli_enable_rpl_parse()
mysqli_errno()
mysqli_error()
mysqli_escape_string()
mysqli_execute()
mysqli_fetch()
mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_field()
mysqli_fetch_field_direct()
mysqli_fetch_fields()
mysqli_fetch_lengths()
mysqli_fetch_object()
mysqli_fetch_row()
mysqli_field_count()
mysqli_field_seek()
mysqli_field_tell()
mysqli_free_result()
mysqli_get_charset()
mysqli_get_client_info()
mysqli_get_client_version()
mysqli_get_host_info()
mysqli_get_metadata()
mysqli_get_proto_info()
mysqli_get_server_info()
mysqli_get_server_version()
mysqli_get_warnings()
mysqli_info()
mysqli_init()
mysqli_insert_id()
mysqli_kill()
mysqli_master_query()
mysqli_more_results()
mysqli_multi_query()
mysqli_next_result()
mysqli_num_fields()
mysqli_num_rows()
mysqli_options()
mysqli_param_count()
mysqli_ping()
mysqli_prepare()
mysqli_query()
mysqli_real_connect()
mysqli_real_escape_string()
mysqli_real_query()
mysqli_report()
mysqli_rollback()
mysqli_rpl_parse_enabled()
mysqli_rpl_probe()
mysqli_rpl_query_type()
mysqli_select_db()
mysqli_send_long_data()
mysqli_send_query()
mysqli_server_end()
mysqli_server_init()
mysqli_set_charset()
mysqli_set_local_infile_default()
mysqli_set_local_infile_handler()
mysqli_set_opt()
mysqli_slave_query()
mysqli_sqlstate()
mysqli_ssl_set()
mysqli_stat()
mysqli_stmt->affected_rows()
mysqli_stmt->close()
mysqli_stmt->errno()
mysqli_stmt->error()
mysqli_stmt->sqlstate()
mysqli_stmt->store_result()
mysqli_stmt_affected_rows()
mysqli_stmt_attr_get()
mysqli_stmt_attr_set()
mysqli_stmt_bind_param()
mysqli_stmt_bind_result()
mysqli_stmt_close()
mysqli_stmt_data_seek()
mysqli_stmt_errno()
mysqli_stmt_error()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_stmt_field_count()
mysqli_stmt_free_result()
mysqli_stmt_get_warnings()
mysqli_stmt_init()
mysqli_stmt_insert_id()
mysqli_stmt_num_rows()
mysqli_stmt_param_count()
mysqli_stmt_prepare()
mysqli_stmt_reset()
mysqli_stmt_result_metadata()
mysqli_stmt_send_long_data()
mysqli_stmt_sqlstate()
mysqli_stmt_store_result()
mysqli_store_result()
mysqli_thread_id()
mysqli_thread_safe()
mysqli_use_result()
mysqli_warning_count()
N
natcasesort()
natsort()
ncurses_addch()
ncurses_addchnstr()
ncurses_addchstr()
ncurses_addnstr()
ncurses_addstr()
ncurses_assume_default_colors()
ncurses_attroff()
ncurses_attron()
ncurses_attrset()
ncurses_baudrate()
ncurses_beep()
ncurses_bkgd()
ncurses_bkgdset()
ncurses_border()
ncurses_bottom_panel()
ncurses_can_change_color()
ncurses_cbreak()
ncurses_clear()
ncurses_clrtobot()
ncurses_clrtoeol()
ncurses_color_content()
ncurses_color_set()
ncurses_curs_set()
ncurses_def_prog_mode()
ncurses_def_shell_mode()
ncurses_define_key()
ncurses_del_panel()
ncurses_delay_output()
ncurses_delch()
ncurses_deleteln()
ncurses_delwin()
ncurses_doupdate()
ncurses_echo()
ncurses_echochar()
ncurses_end()
ncurses_erase()
ncurses_erasechar()
ncurses_filter()
ncurses_flash()
ncurses_flushinp()
ncurses_getch()
ncurses_getmaxyx()
ncurses_getmouse()
ncurses_getyx()
ncurses_halfdelay()
ncurses_has_colors()
ncurses_has_ic()
ncurses_has_il()
ncurses_has_key()
ncurses_hide_panel()
ncurses_hline()
ncurses_inch()
ncurses_init()
ncurses_init_color()
ncurses_init_pair()
ncurses_insch()
ncurses_insdelln()
ncurses_insertln()
ncurses_insstr()
ncurses_instr()
ncurses_isendwin()
ncurses_keyok()
ncurses_keypad()
ncurses_killchar()
ncurses_longname()
ncurses_meta()
ncurses_mouse_trafo()
ncurses_mouseinterval()
ncurses_mousemask()
ncurses_move()
ncurses_move_panel()
ncurses_mvaddch()
ncurses_mvaddchnstr()
ncurses_mvaddchstr()
ncurses_mvaddnstr()
ncurses_mvaddstr()
ncurses_mvcur()
ncurses_mvdelch()
ncurses_mvgetch()
ncurses_mvhline()
ncurses_mvinch()
ncurses_mvvline()
ncurses_mvwaddstr()
ncurses_napms()
ncurses_new_panel()
ncurses_newpad()
ncurses_newwin()
ncurses_nl()
ncurses_nocbreak()
ncurses_noecho()
ncurses_nonl()
ncurses_noqiflush()
ncurses_noraw()
ncurses_pair_content()
ncurses_panel_above()
ncurses_panel_below()
ncurses_panel_window()
ncurses_pnoutrefresh()
ncurses_prefresh()
ncurses_putp()
ncurses_qiflush()
ncurses_raw()
ncurses_refresh()
ncurses_replace_panel()
ncurses_reset_prog_mode()
ncurses_reset_shell_mode()
ncurses_resetty()
ncurses_savetty()
ncurses_scr_dump()
ncurses_scr_init()
ncurses_scr_restore()
ncurses_scr_set()
ncurses_scrl()
ncurses_show_panel()
ncurses_slk_attr()
ncurses_slk_attroff()
ncurses_slk_attron()
ncurses_slk_attrset()
ncurses_slk_clear()
ncurses_slk_color()
ncurses_slk_init()
ncurses_slk_noutrefresh()
ncurses_slk_refresh()
ncurses_slk_restore()
ncurses_slk_set()
ncurses_slk_touch()
ncurses_standend()
ncurses_standout()
ncurses_start_color()
ncurses_termattrs()
ncurses_termname()
ncurses_timeout()
ncurses_top_panel()
ncurses_typeahead()
ncurses_ungetch()
ncurses_ungetmouse()
ncurses_update_panels()
ncurses_use_default_colors()
ncurses_use_env()
ncurses_use_extended_names()
ncurses_vidattr()
ncurses_vline()
ncurses_waddch()
ncurses_waddstr()
ncurses_wattroff()
ncurses_wattron()
ncurses_wattrset()
ncurses_wborder()
ncurses_wclear()
ncurses_wcolor_set()
ncurses_werase()
ncurses_wgetch()
ncurses_whline()
ncurses_wmouse_trafo()
ncurses_wmove()
ncurses_wnoutrefresh()
ncurses_wrefresh()
ncurses_wstandend()
ncurses_wstandout()
ncurses_wvline()
newt_bell()
newt_button()
newt_button_bar()
newt_centered_window()
newt_checkbox()
newt_checkbox_get_value()
newt_checkbox_set_flags()
newt_checkbox_set_value()
newt_checkbox_tree()
newt_checkbox_tree_add_item()
newt_checkbox_tree_find_item()
newt_checkbox_tree_get_current()
newt_checkbox_tree_get_entry_value()
newt_checkbox_tree_get_multi_selection()
newt_checkbox_tree_get_selection()
newt_checkbox_tree_multi()
newt_checkbox_tree_set_current()
newt_checkbox_tree_set_entry()
newt_checkbox_tree_set_entry_value()
newt_checkbox_tree_set_width()
newt_clear_key_buffer()
newt_cls()
newt_compact_button()
newt_component_add_callback()
newt_component_takes_focus()
newt_create_grid()
newt_cursor_off()
newt_cursor_on()
newt_delay()
newt_draw_form()
newt_draw_root_text()
newt_entry()
newt_entry_get_value()
newt_entry_set()
newt_entry_set_filter()
newt_entry_set_flags()
newt_finished()
newt_form()
newt_form_add_component()
newt_form_add_components()
newt_form_add_hot_key()
newt_form_destroy()
newt_form_get_current()
newt_form_run()
newt_form_set_background()
newt_form_set_height()
newt_form_set_size()
newt_form_set_timer()
newt_form_set_width()
newt_form_watch_fd()
newt_get_screen_size()
newt_grid_add_components_to_form()
newt_grid_basic_window()
newt_grid_free()
newt_grid_get_size()
newt_grid_h_close_stacked()
newt_grid_h_stacked()
newt_grid_place()
newt_grid_set_field()
newt_grid_simple_window()
newt_grid_v_close_stacked()
newt_grid_v_stacked()
newt_grid_wrapped_window()
newt_grid_wrapped_window_at()
newt_init()
newt_label()
newt_label_set_text()
newt_listbox()
newt_listbox_append_entry()
newt_listbox_clear()
newt_listbox_clear_selection()
newt_listbox_delete_entry()
newt_listbox_get_current()
newt_listbox_get_selection()
newt_listbox_insert_entry()
newt_listbox_item_count()
newt_listbox_select_item()
newt_listbox_set_current()
newt_listbox_set_current_by_key()
newt_listbox_set_data()
newt_listbox_set_entry()
newt_listbox_set_width()
newt_listitem()
newt_listitem_get_data()
newt_listitem_set()
newt_open_window()
newt_pop_help_line()
newt_pop_window()
newt_push_help_line()
newt_radio_get_current()
newt_radiobutton()
newt_redraw_help_line()
newt_reflow_text()
newt_refresh()
newt_resize_screen()
newt_resume()
newt_run_form()
newt_scale()
newt_scale_set()
newt_scrollbar_set()
newt_set_help_callback()
newt_set_suspend_callback()
newt_suspend()
newt_textbox()
newt_textbox_get_num_lines()
newt_textbox_reflowed()
newt_textbox_set_height()
newt_textbox_set_text()
newt_vertical_scrollbar()
newt_wait_for_key()
newt_win_choice()
newt_win_entries()
newt_win_menu()
newt_win_message()
newt_win_messagev()
newt_win_ternary()
next()
ngettext()
nl2br()
nl_langinfo()
notes_body()
notes_copy_db()
notes_create_db()
notes_create_note()
notes_drop_db()
notes_find_note()
notes_header_info()
notes_list_msgs()
notes_mark_read()
notes_mark_unread()
notes_nav_create()
notes_search()
notes_unread()
notes_version()
nsapi_request_headers()
nsapi_response_headers()
nsapi_virtual()
number_format()
O
ob_clean()
ob_deflatehandler()
ob_end_clean()
ob_end_flush()
ob_etaghandler()
ob_flush()
ob_get_clean()
ob_get_contents()
ob_get_flush()
ob_get_length()
ob_get_level()
ob_get_status()
ob_gzhandler()
ob_iconv_handler()
ob_implicit_flush()
ob_inflatehandler()
ob_list_handlers()
ob_start()
ob_tidyhandler()
OCI-Collection->append()
OCI-Collection->assign()
OCI-Collection->assignElem()
OCI-Collection->free()
OCI-Collection->getElem()
OCI-Collection->max()
OCI-Collection->size()
OCI-Collection->trim()
OCI-Lob->append()
OCI-Lob->close()
OCI-Lob->eof()
OCI-Lob->erase()
OCI-Lob->export()
OCI-Lob->flush()
OCI-Lob->free()
OCI-Lob->getBuffering()
OCI-Lob->import()
OCI-Lob->load()
OCI-Lob->read()
OCI-Lob->rewind()
OCI-Lob->save()
OCI-Lob->saveFile()
OCI-Lob->seek()
OCI-Lob->setBuffering()
OCI-Lob->size()
OCI-Lob->tell()
OCI-Lob->truncate()
OCI-Lob->write()
OCI-Lob->writeTemporary()
OCI-Lob->writeToFile()
oci_bind_array_by_name()
oci_bind_by_name()
oci_cancel()
oci_close()
oci_commit()
oci_connect()
oci_define_by_name()
oci_error()
oci_execute()
oci_fetch()
oci_fetch_all()
oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_field_is_null()
oci_field_name()
oci_field_precision()
oci_field_scale()
oci_field_size()
oci_field_type()
oci_field_type_raw()
oci_free_statement()
oci_internal_debug()
oci_lob_copy()
oci_lob_is_equal()
oci_new_collection()
oci_new_connect()
oci_new_cursor()
oci_new_descriptor()
oci_num_fields()
oci_num_rows()
oci_parse()
oci_password_change()
oci_pconnect()
oci_result()
oci_rollback()
oci_server_version()
oci_set_prefetch()
oci_statement_type()
ocibindbyname()
ocicancel()
ocicloselob()
ocicollappend()
ocicollassign()
ocicollassignelem()
ocicollgetelem()
ocicollmax()
ocicollsize()
ocicolltrim()
ocicolumnisnull()
ocicolumnname()
ocicolumnprecision()
ocicolumnscale()
ocicolumnsize()
ocicolumntype()
ocicolumntyperaw()
ocicommit()
ocidefinebyname()
ocierror()
ociexecute()
ocifetch()
ocifetchinto()
ocifetchstatement()
ocifreecollection()
ocifreecursor()
ocifreedesc()
ocifreestatement()
ociinternaldebug()
ociloadlob()
ocilogoff()
ocilogon()
ocinewcollection()
ocinewcursor()
ocinewdescriptor()
ocinlogon()
ocinumcols()
ociparse()
ociplogon()
ociresult()
ocirollback()
ocirowcount()
ocisavelob()
ocisavelobfile()
ociserverversion()
ocisetprefetch()
ocistatementtype()
ociwritelobtofile()
ociwritetemporarylob()
octdec()
odbc_autocommit()
odbc_binmode()
odbc_close()
odbc_close_all()
odbc_columnprivileges()
odbc_columns()
odbc_commit()
odbc_connect()
odbc_cursor()
odbc_data_source()
odbc_do()
odbc_error()
odbc_errormsg()
odbc_exec()
odbc_execute()
odbc_fetch_array()
odbc_fetch_into()
odbc_fetch_object()
odbc_fetch_row()
odbc_field_len()
odbc_field_name()
odbc_field_num()
odbc_field_precision()
odbc_field_scale()
odbc_field_type()
odbc_foreignkeys()
odbc_free_result()
odbc_gettypeinfo()
odbc_longreadlen()
odbc_next_result()
odbc_num_fields()
odbc_num_rows()
odbc_pconnect()
odbc_prepare()
odbc_primarykeys()
odbc_procedurecolumns()
odbc_procedures()
odbc_result()
odbc_result_all()
odbc_rollback()
odbc_setoption()
odbc_specialcolumns()
odbc_statistics()
odbc_tableprivileges()
odbc_tables()
openal_buffer_create()
openal_buffer_data()
openal_buffer_destroy()
openal_buffer_get()
openal_buffer_loadwav()
openal_context_create()
openal_context_current()
openal_context_destroy()
openal_context_process()
openal_context_suspend()
openal_device_close()
openal_device_open()
openal_listener_get()
openal_listener_set()
openal_source_create()
openal_source_destroy()
openal_source_get()
openal_source_pause()
openal_source_play()
openal_source_rewind()
openal_source_set()
openal_source_stop()
openal_stream()
opendir()
openlog()
openssl_csr_export()
openssl_csr_export_to_file()
openssl_csr_get_public_key()
openssl_csr_get_subject()
openssl_csr_new()
openssl_csr_sign()
openssl_error_string()
openssl_free_key()
openssl_get_privatekey()
openssl_get_publickey()
openssl_open()
openssl_pkcs7_decrypt()
openssl_pkcs7_encrypt()
openssl_pkcs7_sign()
openssl_pkcs7_verify()
openssl_pkey_export()
openssl_pkey_export_to_file()
openssl_pkey_free()
openssl_pkey_get_details()
openssl_pkey_get_private()
openssl_pkey_get_public()
openssl_pkey_new()
openssl_private_decrypt()
openssl_private_encrypt()
openssl_public_decrypt()
openssl_public_encrypt()
openssl_seal()
openssl_sign()
openssl_verify()
openssl_x509_check_private_key()
openssl_x509_checkpurpose()
openssl_x509_export()
openssl_x509_export_to_file()
openssl_x509_free()
openssl_x509_parse()
openssl_x509_read()
ora_bind()
ora_close()
ora_columnname()
ora_columnsize()
ora_columntype()
ora_commit()
ora_commitoff()
ora_commiton()
ora_do()
ora_error()
ora_errorcode()
ora_exec()
ora_fetch()
ora_fetch_into()
ora_getcolumn()
ora_logoff()
ora_logon()
ora_numcols()
ora_numrows()
ora_open()
ora_parse()
ora_plogon()
ora_rollback()
orbitenum()
orbitobject()
orbitstruct()
ord()
output_add_rewrite_var()
output_reset_rewrite_vars()
overload()
override_function()
ovrimos_close()
ovrimos_commit()
ovrimos_connect()
ovrimos_cursor()
ovrimos_exec()
ovrimos_execute()
ovrimos_fetch_into()
ovrimos_fetch_row()
ovrimos_field_len()
ovrimos_field_name()
ovrimos_field_num()
ovrimos_field_type()
ovrimos_free_result()
ovrimos_longreadlen()
ovrimos_num_fields()
ovrimos_num_rows()
ovrimos_prepare()
ovrimos_result()
ovrimos_result_all()
ovrimos_rollback()
P
pack()
ParentIterator::getChildren()
ParentIterator::hasChildren()
ParentIterator::next()
ParentIterator::rewind()
parse_ini_file()
parse_str()
parse_url()
parsekit_compile_file()
parsekit_compile_string()
parsekit_func_arginfo()
passthru()
pathinfo()
pclose()
pcntl_alarm()
pcntl_exec()
pcntl_fork()
pcntl_getpriority()
pcntl_setpriority()
pcntl_signal()
pcntl_wait()
pcntl_waitpid()
pcntl_wexitstatus()
pcntl_wifexited()
pcntl_wifsignaled()
pcntl_wifstopped()
pcntl_wstopsig()
pcntl_wtermsig()
pdf_activate_item()
pdf_add_annotation()
pdf_add_bookmark()
pdf_add_launchlink()
pdf_add_locallink()
pdf_add_nameddest()
pdf_add_note()
pdf_add_outline()
pdf_add_pdflink()
pdf_add_table_cell()
pdf_add_textflow()
pdf_add_thumbnail()
pdf_add_weblink()
pdf_arc()
pdf_arcn()
pdf_attach_file()
pdf_begin_document()
pdf_begin_font()
pdf_begin_glyph()
pdf_begin_item()
pdf_begin_layer()
pdf_begin_page()
pdf_begin_page_ext()
pdf_begin_pattern()
pdf_begin_template()
pdf_begin_template_ext()
pdf_circle()
pdf_clip()
pdf_close()
pdf_close_image()
pdf_close_pdi()
pdf_close_pdi_page()
pdf_closepath()
pdf_closepath_fill_stroke()
pdf_closepath_stroke()
pdf_concat()
pdf_continue_text()
pdf_create_3dview()
pdf_create_action()
pdf_create_annotation()
pdf_create_bookmark()
pdf_create_field()
pdf_create_fieldgroup()
pdf_create_gstate()
pdf_create_pvf()
pdf_create_textflow()
pdf_curveto()
pdf_define_layer()
pdf_delete()
pdf_delete_pvf()
pdf_delete_table()
pdf_delete_textflow()
pdf_encoding_set_char()
pdf_end_document()
pdf_end_font()
pdf_end_glyph()
pdf_end_item()
pdf_end_layer()
pdf_end_page()
pdf_end_page_ext()
pdf_end_pattern()
pdf_end_template()
pdf_endpath()
pdf_fill()
pdf_fill_imageblock()
pdf_fill_pdfblock()
pdf_fill_stroke()
pdf_fill_textblock()
pdf_findfont()
pdf_fit_image()
pdf_fit_pdi_page()
pdf_fit_table()
pdf_fit_textflow()
pdf_fit_textline()
pdf_get_apiname()
pdf_get_buffer()
pdf_get_errmsg()
pdf_get_errnum()
pdf_get_font()
pdf_get_fontname()
pdf_get_fontsize()
pdf_get_image_height()
pdf_get_image_width()
pdf_get_majorversion()
pdf_get_minorversion()
pdf_get_parameter()
pdf_get_pdi_parameter()
pdf_get_pdi_value()
pdf_get_value()
pdf_info_font()
pdf_info_matchbox()
pdf_info_table()
pdf_info_textflow()
pdf_info_textline()
pdf_initgraphics()
pdf_lineto()
pdf_load_3ddata()
pdf_load_font()
pdf_load_iccprofile()
pdf_load_image()
pdf_makespotcolor()
pdf_moveto()
pdf_new()
pdf_open_ccitt()
pdf_open_file()
pdf_open_gif()
pdf_open_image()
pdf_open_image_file()
pdf_open_jpeg()
pdf_open_memory_image()
pdf_open_pdi()
pdf_open_pdi_page()
pdf_open_tiff()
pdf_pcos_get_number()
pdf_pcos_get_stream()
pdf_pcos_get_string()
pdf_place_image()
pdf_place_pdi_page()
pdf_process_pdi()
pdf_rect()
pdf_restore()
pdf_resume_page()
pdf_rotate()
pdf_save()
pdf_scale()
pdf_set_border_color()
pdf_set_border_dash()
pdf_set_border_style()
pdf_set_char_spacing()
pdf_set_duration()
pdf_set_gstate()
pdf_set_horiz_scaling()
pdf_set_info()
pdf_set_info_author()
pdf_set_info_creator()
pdf_set_info_keywords()
pdf_set_info_subject()
pdf_set_info_title()
pdf_set_layer_dependency()
pdf_set_leading()
pdf_set_parameter()
pdf_set_text_matrix()
pdf_set_text_pos()
pdf_set_text_rendering()
pdf_set_text_rise()
pdf_set_value()
pdf_set_word_spacing()
pdf_setcolor()
pdf_setdash()
pdf_setdashpattern()
pdf_setflat()
pdf_setfont()
pdf_setgray()
pdf_setgray_fill()
pdf_setgray_stroke()
pdf_setlinecap()
pdf_setlinejoin()
pdf_setlinewidth()
pdf_setmatrix()
pdf_setmiterlimit()
pdf_setpolydash()
pdf_setrgbcolor()
pdf_setrgbcolor_fill()
pdf_setrgbcolor_stroke()
pdf_shading()
pdf_shading_pattern()
pdf_shfill()
pdf_show()
pdf_show_boxed()
pdf_show_xy()
pdf_skew()
pdf_stringwidth()
pdf_stroke()
pdf_suspend_page()
pdf_translate()
pdf_utf16_to_utf8()
pdf_utf32_to_utf16()
pdf_utf8_to_utf16()
PDO->__construct()
PDO->beginTransaction()
PDO->commit()
PDO->errorCode()
PDO->errorInfo()
PDO->exec()
PDO->getAttribute()
PDO->getAvailableDrivers()
PDO->lastInsertId()
PDO->prepare()
PDO->query()
PDO->quote()
PDO->rollBack()
PDO->setAttribute()
PDO->sqliteCreateAggregate()
PDO->sqliteCreateFunction()
PDO::pgsqlLOBCreate()
PDO::pgsqlLOBOpen()
PDO::pgsqlLOBUnlink()
PDOStatement->bindColumn()
PDOStatement->bindParam()
PDOStatement->bindValue()
PDOStatement->closeCursor()
PDOStatement->columnCount()
PDOStatement->errorCode()
PDOStatement->errorInfo()
PDOStatement->execute()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()
PDOStatement->fetchObject()
PDOStatement->getAttribute()
PDOStatement->getColumnMeta()
PDOStatement->nextRowset()
PDOStatement->rowCount()
PDOStatement->setAttribute()
PDOStatement->setFetchMode()
pfpro_cleanup()
pfpro_init()
pfpro_process()
pfpro_process_raw()
pfpro_version()
pfsockopen()
pg_affected_rows()
pg_cancel_query()
pg_client_encoding()
pg_close()
pg_connect()
pg_connection_busy()
pg_connection_reset()
pg_connection_status()
pg_convert()
pg_copy_from()
pg_copy_to()
pg_dbname()
pg_delete()
pg_end_copy()
pg_escape_bytea()
pg_escape_string()
pg_execute()
pg_fetch_all()
pg_fetch_all_columns()
pg_fetch_array()
pg_fetch_assoc()
pg_fetch_object()
pg_fetch_result()
pg_fetch_row()
pg_field_is_null()
pg_field_name()
pg_field_num()
pg_field_prtlen()
pg_field_size()
pg_field_table()
pg_field_type()
pg_field_type_oid()
pg_free_result()
pg_get_notify()
pg_get_pid()
pg_get_result()
pg_host()
pg_insert()
pg_last_error()
pg_last_notice()
pg_last_oid()
pg_lo_close()
pg_lo_create()
pg_lo_export()
pg_lo_import()
pg_lo_open()
pg_lo_read()
pg_lo_read_all()
pg_lo_seek()
pg_lo_tell()
pg_lo_unlink()
pg_lo_write()
pg_meta_data()
pg_num_fields()
pg_num_rows()
pg_options()
pg_parameter_status()
pg_pconnect()
pg_ping()
pg_port()
pg_prepare()
pg_put_line()
pg_query()
pg_query_params()
pg_result_error()
pg_result_error_field()
pg_result_seek()
pg_result_status()
pg_select()
pg_send_execute()
pg_send_prepare()
pg_send_query()
pg_send_query_params()
pg_set_client_encoding()
pg_set_error_verbosity()
pg_trace()
pg_transaction_status()
pg_tty()
pg_unescape_bytea()
pg_untrace()
pg_update()
pg_version()
Phar->compressAllFilesBZIP2()
Phar->compressAllFilesGZ()
Phar->count()
Phar->getMetaData()
Phar->getModified()
Phar->getSignature()
Phar->getStub()
Phar->getVersion()
Phar->isBuffering()
Phar->setMetaData()
Phar->setStub()
Phar->startBuffering()
Phar->stopBuffering()
Phar->uncompressAllFiles()
Phar::__construct()
Phar::apiVersion()
Phar::canCompress()
Phar::canWrite()
Phar::loadPhar()
Phar::mapPhar()
Phar::offsetExists()
Phar::offsetGet()
Phar::offsetSet()
Phar::offsetUnset()
PharFileInfo->chmod()
PharFileInfo->getCompressedSize()
PharFileInfo->getCRC32()
PharFileInfo->getMetaData()
PharFileInfo->getPharFlags()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCRCChecked()
PharFileInfo->setCompressedBZIP2()
PharFileInfo->setCompressedGZ()
PharFileInfo->setMetaData()
PharFileInfo->setUncompressed()
PharFileInfo::__construct()
php_check_syntax()
php_ini_scanned_files()
php_logo_guid()
php_sapi_name()
php_strip_whitespace()
php_uname()
phpcredits()
phpinfo()
phpversion()
pi()
png2wbmp()
popen()
pos()
posix_access()
posix_ctermid()
posix_get_last_error()
posix_getcwd()
posix_getegid()
posix_geteuid()
posix_getgid()
posix_getgrgid()
posix_getgrnam()
posix_getgroups()
posix_getlogin()
posix_getpgid()
posix_getpgrp()
posix_getpid()
posix_getppid()
posix_getpwnam()
posix_getpwuid()
posix_getrlimit()
posix_getsid()
posix_getuid()
posix_initgroups()
posix_isatty()
posix_kill()
posix_mkfifo()
posix_mknod()
posix_setegid()
posix_seteuid()
posix_setgid()
posix_setpgid()
posix_setsid()
posix_setuid()
posix_strerror()
posix_times()
posix_ttyname()
posix_uname()
pow()
preg_grep()
preg_last_error()
preg_match()
preg_match_all()
preg_quote()
preg_replace()
preg_replace_callback()
preg_split()
prev()
print()
print_r()
printer_abort()
printer_close()
printer_create_brush()
printer_create_dc()
printer_create_font()
printer_create_pen()
printer_delete_brush()
printer_delete_dc()
printer_delete_font()
printer_delete_pen()
printer_draw_bmp()
printer_draw_chord()
printer_draw_elipse()
printer_draw_line()
printer_draw_pie()
printer_draw_rectangle()
printer_draw_roundrect()
printer_draw_text()
printer_end_doc()
printer_end_page()
printer_get_option()
printer_list()
printer_logical_fontheight()
printer_open()
printer_select_brush()
printer_select_font()
printer_select_pen()
printer_set_option()
printer_start_doc()
printer_start_page()
printer_write()
printf()
proc_close()
proc_get_status()
proc_nice()
proc_open()
proc_terminate()
property_exists()
ps_add_bookmark()
ps_add_launchlink()
ps_add_locallink()
ps_add_note()
ps_add_pdflink()
ps_add_weblink()
ps_arc()
ps_arcn()
ps_begin_page()
ps_begin_pattern()
ps_begin_template()
ps_circle()
ps_clip()
ps_close()
ps_close_image()
ps_closepath()
ps_closepath_stroke()
ps_continue_text()
ps_curveto()
ps_delete()
ps_end_page()
ps_end_pattern()
ps_end_template()
ps_fill()
ps_fill_stroke()
ps_findfont()
ps_get_buffer()
ps_get_parameter()
ps_get_value()
ps_hyphenate()
ps_include_file()
ps_lineto()
ps_makespotcolor()
ps_moveto()
ps_new()
ps_open_file()
ps_open_image()
ps_open_image_file()
ps_open_memory_image()
ps_place_image()
ps_rect()
ps_restore()
ps_rotate()
ps_save()
ps_scale()
ps_set_border_color()
ps_set_border_dash()
ps_set_border_style()
ps_set_info()
ps_set_parameter()
ps_set_text_pos()
ps_set_value()
ps_setcolor()
ps_setdash()
ps_setflat()
ps_setfont()
ps_setgray()
ps_setlinecap()
ps_setlinejoin()
ps_setlinewidth()
ps_setmiterlimit()
ps_setoverprintmode()
ps_setpolydash()
ps_shading()
ps_shading_pattern()
ps_shfill()
ps_show()
ps_show2()
ps_show_boxed()
ps_show_xy()
ps_show_xy2()
ps_string_geometry()
ps_stringwidth()
ps_stroke()
ps_symbol()
ps_symbol_name()
ps_symbol_width()
ps_translate()
pspell_add_to_personal()
pspell_add_to_session()
pspell_check()
pspell_clear_session()
pspell_config_create()
pspell_config_data_dir()
pspell_config_dict_dir()
pspell_config_ignore()
pspell_config_mode()
pspell_config_personal()
pspell_config_repl()
pspell_config_runtogether()
pspell_config_save_repl()
pspell_new()
pspell_new_config()
pspell_new_personal()
pspell_save_wordlist()
pspell_store_replacement()
pspell_suggest()
putenv()
px_close()
px_create_fp()
px_date2string()
px_delete()
px_delete_record()
px_get_field()
px_get_info()
px_get_parameter()
px_get_record()
px_get_schema()
px_get_value()
px_insert_record()
px_new()
px_numfields()
px_numrecords()
px_open_fp()
px_put_record()
px_retrieve_record()
px_set_blob_file()
px_set_parameter()
px_set_tablename()
px_set_targetencoding()
px_set_value()
px_timestamp2string()
px_update_record()
Q
qdom_error()
qdom_tree()
quoted_printable_decode()
quotemeta()
R
rad2deg()
radius_acct_open()
radius_add_server()
radius_auth_open()
radius_close()
radius_config()
radius_create_request()
radius_cvt_addr()
radius_cvt_int()
radius_cvt_string()
radius_demangle()
radius_demangle_mppe_key()
radius_get_attr()
radius_get_vendor_attr()
radius_put_addr()
radius_put_attr()
radius_put_int()
radius_put_string()
radius_put_vendor_addr()
radius_put_vendor_attr()
radius_put_vendor_int()
radius_put_vendor_string()
radius_request_authenticator()
radius_send_request()
radius_server_secret()
radius_strerror()
rand()
range()
Rar::extract()
Rar::getAttr()
Rar::getCrc()
Rar::getFileTime()
Rar::getHostOs()
Rar::getMethod()
Rar::getName()
Rar::getPackedSize()
Rar::getUnpackedSize()
Rar::getVersion()
rar_close()
rar_entry_get()
rar_list()
rar_open()
rawurldecode()
rawurlencode()
read_exif_data()
readdir()
readfile()
readgzfile()
readline()
readline_add_history()
readline_callback_handler_install()
readline_callback_handler_remove()
readline_callback_read_char()
readline_clear_history()
readline_completion_function()
readline_info()
readline_list_history()
readline_on_new_line()
readline_read_history()
readline_redisplay()
readline_write_history()
readlink()
realpath()
recode()
recode_file()
recode_string()
RecursiveDirectoryIterator::getChildren()
RecursiveDirectoryIterator::hasChildren()
RecursiveDirectoryIterator::key()
RecursiveDirectoryIterator::next()
RecursiveDirectoryIterator::rewind()
RecursiveIteratorIterator::current()
RecursiveIteratorIterator::getDepth()
RecursiveIteratorIterator::getSubIterator()
RecursiveIteratorIterator::key()
RecursiveIteratorIterator::next()
RecursiveIteratorIterator::rewind()
RecursiveIteratorIterator::valid()
register_shutdown_function()
register_tick_function()
rename()
rename_function()
reset()
resources()
restore_error_handler()
restore_exception_handler()
restore_include_path()
result->current_field()
result->current_field()
result->data_seek()
result->data_seek()
result->fetch_array()
result->fetch_array()
result->fetch_field()
result->fetch_field()
result->fetch_field_direct()
result->fetch_field_direct()
result->fetch_fields()
result->fetch_fields()
result->fetch_object()
result->fetch_object()
result->fetch_row()
result->fetch_row()
result->field_count()
result->field_count()
result->field_seek()
result->field_seek()
result->free()
result->free()
result->lengths()
result->lengths()
result->num_rows()
rewind()
rewinddir()
rmdir()
round()
rpm_close()
rpm_get_tag()
rpm_is_valid()
rpm_open()
rpm_version()
rsort()
rtrim()
runkit_class_adopt()
runkit_class_emancipate()
runkit_constant_add()
runkit_constant_redefine()
runkit_constant_remove()
runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_remove()
runkit_function_rename()
runkit_import()
runkit_lint()
runkit_lint_file()
runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_return_value_used()
runkit_sandbox()
runkit_sandbox_output_handler()
runkit_sandbox_parent()
runkit_superglobals()
S
SAMConnection->__construct()
SAMConnection->commit()
SAMConnection->connect()
SAMConnection->disconnect()
SAMConnection->errno()
SAMConnection->error()
SAMConnection->isConnected()
SAMConnection->peek()
SAMConnection->peekAll()
SAMConnection->receive()
SAMConnection->remove()
SAMConnection->rollback()
SAMConnection->send()
SAMConnection->subscribe()
SAMConnection->unsubscribe()
SAMConnection::setDebug()
SAMMessage->__construct()
SAMMessage->body()
SAMMessage->header()
satellite_caught_exception()
satellite_exception_id()
satellite_exception_value()
satellite_get_repository_id()
satellite_load_idl()
satellite_object_to_string()
SCA::createDataObject()
SCA::getService()
SCA_LocalProxy::createDataObject()
SCA_SoapProxy::createDataObject()
scandir()
SDO_DAS_ChangeSummary::beginLogging()
SDO_DAS_ChangeSummary::endLogging()
SDO_DAS_ChangeSummary::getChangedDataObjects()
SDO_DAS_ChangeSummary::getChangeType()
SDO_DAS_ChangeSummary::getOldContainer()
SDO_DAS_ChangeSummary::getOldValues()
SDO_DAS_ChangeSummary::isLogging()
SDO_DAS_DataFactory::addPropertyToType()
SDO_DAS_DataFactory::addType()
SDO_DAS_DataFactory::getDataFactory()
SDO_DAS_DataObject::getChangeSummary()
SDO_DAS_Relational::__construct()
SDO_DAS_Relational::applyChanges()
SDO_DAS_Relational::createRootDataObject()
SDO_DAS_Relational::executePreparedQuery()
SDO_DAS_Relational::executeQuery()
SDO_DAS_Setting::getListIndex()
SDO_DAS_Setting::getPropertyIndex()
SDO_DAS_Setting::getPropertyName()
SDO_DAS_Setting::getValue()
SDO_DAS_Setting::isSet()
SDO_DAS_XML::addTypes()
SDO_DAS_XML::create()
SDO_DAS_XML::createDataObject()
SDO_DAS_XML::createDocument()
SDO_DAS_XML::loadFile()
SDO_DAS_XML::loadString()
SDO_DAS_XML::saveFile()
SDO_DAS_XML::saveString()
SDO_DAS_XML_Document::getRootDataObject()
SDO_DAS_XML_Document::getRootElementName()
SDO_DAS_XML_Document::getRootElementURI()
SDO_DAS_XML_Document::setEncoding()
SDO_DAS_XML_Document::setXMLDeclaration()
SDO_DAS_XML_Document::setXMLVersion()
SDO_DataFactory::create()
SDO_DataObject::clear()
SDO_DataObject::createDataObject()
SDO_DataObject::getContainer()
SDO_DataObject::getSequence()
SDO_DataObject::getTypeName()
SDO_DataObject::getTypeNamespaceURI()
SDO_Exception::getCause()
SDO_List::insert()
SDO_Model_Property::getContainingType()
SDO_Model_Property::getDefault()
SDO_Model_Property::getName()
SDO_Model_Property::getType()
SDO_Model_Property::isContainment()
SDO_Model_Property::isMany()
SDO_Model_ReflectionDataObject::__construct()
SDO_Model_ReflectionDataObject::export()
SDO_Model_ReflectionDataObject::getContainmentProperty()
SDO_Model_ReflectionDataObject::getInstanceProperties()
SDO_Model_ReflectionDataObject::getType()
SDO_Model_Type::getBaseType()
SDO_Model_Type::getName()
SDO_Model_Type::getNamespaceURI()
SDO_Model_Type::getProperties()
SDO_Model_Type::getProperty()
SDO_Model_Type::isAbstractType()
SDO_Model_Type::isDataType()
SDO_Model_Type::isInstance()
SDO_Model_Type::isOpenType()
SDO_Model_Type::isSequencedType()
SDO_Sequence::getProperty()
SDO_Sequence::insert()
SDO_Sequence::move()
sem_acquire()
sem_get()
sem_release()
sem_remove()
serialize()
sesam_affected_rows()
sesam_commit()
sesam_connect()
sesam_diagnostic()
sesam_disconnect()
sesam_errormsg()
sesam_execimm()
sesam_fetch_array()
sesam_fetch_result()
sesam_fetch_row()
sesam_field_array()
sesam_field_name()
sesam_free_result()
sesam_num_fields()
sesam_query()
sesam_rollback()
sesam_seek_row()
sesam_settransaction()
session_cache_expire()
session_cache_limiter()
session_commit()
session_decode()
session_destroy()
session_encode()
session_get_cookie_params()
session_id()
session_is_registered()
session_module_name()
session_name()
session_pgsql_add_error()
session_pgsql_get_error()
session_pgsql_get_field()
session_pgsql_reset()
session_pgsql_set_field()
session_pgsql_status()
session_regenerate_id()
session_register()
session_save_path()
session_set_cookie_params()
session_set_save_handler()
session_start()
session_unregister()
session_unset()
session_write_close()
set_error_handler()
set_exception_handler()
set_file_buffer()
set_include_path()
set_magic_quotes_runtime()
set_time_limit()
setcookie()
setlocale()
setrawcookie()
settype()
sha1()
sha1_file()
shell_exec()
shm_attach()
shm_detach()
shm_get_var()
shm_put_var()
shm_remove()
shm_remove_var()
shmop_close()
shmop_delete()
shmop_open()
shmop_read()
shmop_size()
shmop_write()
show_source()
shuffle()
similar_text()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
SimpleXMLElement->__construct()
SimpleXMLElement->addAttribute()
SimpleXMLElement->addChild()
SimpleXMLElement->asXML()
SimpleXMLElement->attributes()
SimpleXMLElement->children()
SimpleXMLElement->getDocNamespaces()
SimpleXMLElement->getName()
SimpleXMLElement->getNamespaces()
SimpleXMLElement->registerXPathNamespace()
SimpleXMLElement->xpath()
SimpleXMLIterator::current()
SimpleXMLIterator::getChildren()
SimpleXMLIterator::hasChildren()
SimpleXMLIterator::key()
SimpleXMLIterator::next()
SimpleXMLIterator::rewind()
SimpleXMLIterator::valid()
sin()
sinh()
sizeof()
sleep()
snmp_get_quick_print()
snmp_get_valueretrieval()
snmp_read_mib()
snmp_set_enum_print()
snmp_set_oid_numeric_print()
snmp_set_oid_output_format()
snmp_set_quick_print()
snmp_set_valueretrieval()
snmpget()
snmpgetnext()
snmprealwalk()
snmpset()
snmpwalk()
snmpwalkoid()
SoapClient->__call()
SoapClient->__construct()
SoapClient->__doRequest()
SoapClient->__getFunctions()
SoapClient->__getLastRequest()
SoapClient->__getLastRequestHeaders()
SoapClient->__getLastResponse()
SoapClient->__getLastResponseHeaders()
SoapClient->__getTypes()
SoapClient->__setCookie()
SoapClient->__soapCall()
SoapFault->__construct()
SoapHeader->__construct()
SoapParam->__construct()
SoapServer->__construct()
SoapServer->addFunction()
SoapServer->fault()
SoapServer->getFunctions()
SoapServer->handle()
SoapServer->setClass()
SoapServer->setPersistence()
SoapVar->__construct()
socket_accept()
socket_bind()
socket_clear_error()
socket_close()
socket_connect()
socket_create()
socket_create_listen()
socket_create_pair()
socket_get_option()
socket_get_status()
socket_getpeername()
socket_getsockname()
socket_last_error()
socket_listen()
socket_read()
socket_recv()
socket_recvfrom()
socket_select()
socket_send()
socket_sendto()
socket_set_block()
socket_set_blocking()
socket_set_nonblock()
socket_set_option()
socket_set_timeout()
socket_shutdown()
socket_strerror()
socket_write()
sort()
soundex()
spl_autoload()
spl_autoload_call()
spl_autoload_extensions()
spl_autoload_functions()
spl_autoload_register()
spl_autoload_unregister()
spl_classes()
spl_object_hash()
split()
spliti()
sprintf()
sql_regcase()
sqlite_array_query()
sqlite_busy_timeout()
sqlite_changes()
sqlite_close()
sqlite_column()
sqlite_create_aggregate()
sqlite_create_function()
sqlite_current()
sqlite_error_string()
sqlite_escape_string()
sqlite_exec()
sqlite_factory()
sqlite_fetch_all()
sqlite_fetch_array()
sqlite_fetch_column_types()
sqlite_fetch_object()
sqlite_fetch_single()
sqlite_fetch_string()
sqlite_field_name()
sqlite_has_more()
sqlite_has_prev()
sqlite_key()
sqlite_last_error()
sqlite_last_insert_rowid()
sqlite_libencoding()
sqlite_libversion()
sqlite_next()
sqlite_num_fields()
sqlite_num_rows()
sqlite_open()
sqlite_popen()
sqlite_prev()
sqlite_query()
sqlite_rewind()
sqlite_seek()
sqlite_single_query()
sqlite_udf_decode_binary()
sqlite_udf_encode_binary()
sqlite_unbuffered_query()
sqlite_valid()
SQLiteDatabase->arrayQuery()
SQLiteDatabase->busyTimeout()
SQLiteDatabase->changes()
SQLiteDatabase->createAggregate()
SQLiteDatabase->createFunction()
SQLiteDatabase->exec()
SQLiteDatabase->fetchColumnTypes()
SQLiteDatabase->lastError()
SQLiteDatabase->lastInsertRowid()
SQLiteDatabase->query()
SQLiteDatabase->singleQuery()
SQLiteDatabase->unbufferedQuery()
SQLiteResult->column()
SQLiteResult->current()
SQLiteResult->fetch()
SQLiteResult->fetchAll()
SQLiteResult->fetchObject()
SQLiteResult->fetchSingle()
SQLiteResult->fieldName()
SQLiteResult->hasPrev()
SQLiteResult->key()
SQLiteResult->next()
SQLiteResult->numFields()
SQLiteResult->numRows()
SQLiteResult->prev()
SQLiteResult->rewind()
SQLiteResult->seek()
SQLiteResult->valid()
SQLiteUnbuffered->column()
SQLiteUnbuffered->current()
SQLiteUnbuffered->fetch()
SQLiteUnbuffered->fetchAll()
SQLiteUnbuffered->fetchObject()
SQLiteUnbuffered->fetchSingle()
SQLiteUnbuffered->fieldName()
SQLiteUnbuffered->next()
SQLiteUnbuffered->numFields()
SQLiteUnbuffered->valid()
sqrt()
srand()
sscanf()
ssh2_auth_hostbased_file()
ssh2_auth_none()
ssh2_auth_password()
ssh2_auth_pubkey_file()
ssh2_connect()
ssh2_exec()
ssh2_fetch_stream()
ssh2_fingerprint()
ssh2_methods_negotiated()
ssh2_publickey_add()
ssh2_publickey_init()
ssh2_publickey_list()
ssh2_publickey_remove()
ssh2_scp_recv()
ssh2_scp_send()
ssh2_sftp()
ssh2_sftp_lstat()
ssh2_sftp_mkdir()
ssh2_sftp_readlink()
ssh2_sftp_realpath()
ssh2_sftp_rename()
ssh2_sftp_rmdir()
ssh2_sftp_stat()
ssh2_sftp_symlink()
ssh2_sftp_unlink()
ssh2_shell()
ssh2_tunnel()
stat()
stats_absolute_deviation()
stats_cdf_beta()
stats_cdf_binomial()
stats_cdf_cauchy()
stats_cdf_chisquare()
stats_cdf_exponential()
stats_cdf_f()
stats_cdf_gamma()
stats_cdf_laplace()
stats_cdf_logistic()
stats_cdf_negative_binomial()
stats_cdf_noncentral_chisquare()
stats_cdf_noncentral_f()
stats_cdf_poisson()
stats_cdf_t()
stats_cdf_uniform()
stats_cdf_weibull()
stats_covariance()
stats_den_uniform()
stats_dens_beta()
stats_dens_cauchy()
stats_dens_chisquare()
stats_dens_exponential()
stats_dens_f()
stats_dens_gamma()
stats_dens_laplace()
stats_dens_logistic()
stats_dens_negative_binomial()
stats_dens_normal()
stats_dens_pmf_binomial()
stats_dens_pmf_hypergeometric()
stats_dens_pmf_poisson()
stats_dens_t()
stats_dens_weibull()
stats_harmonic_mean()
stats_kurtosis()
stats_rand_gen_beta()
stats_rand_gen_chisquare()
stats_rand_gen_exponential()
stats_rand_gen_f()
stats_rand_gen_funiform()
stats_rand_gen_gamma()
stats_rand_gen_ibinomial()
stats_rand_gen_ibinomial_negative()
stats_rand_gen_int()
stats_rand_gen_ipoisson()
stats_rand_gen_iuniform()
stats_rand_gen_noncenral_chisquare()
stats_rand_gen_noncentral_f()
stats_rand_gen_noncentral_t()
stats_rand_gen_normal()
stats_rand_gen_t()
stats_rand_get_seeds()
stats_rand_phrase_to_seeds()
stats_rand_ranf()
stats_rand_setall()
stats_skew()
stats_standard_deviation()
stats_stat_binomial_coef()
stats_stat_correlation()
stats_stat_gennch()
stats_stat_independent_t()
stats_stat_innerproduct()
stats_stat_noncentral_t()
stats_stat_paired_t()
stats_stat_percentile()
stats_stat_powersum()
stats_variance()
stmt->bind_param()
stmt->bind_param()
stmt->bind_result()
stmt->bind_result()
stmt->close_long_data()
stmt->data_seek()
stmt->data_seek()
stmt->execute()
stmt->execute()
stmt->fetch()
stmt->fetch()
stmt->free_result()
stmt->free_result()
stmt->num_rows()
stmt->num_rows()
stmt->param_count()
stmt->param_count()
stmt->prepare()
stmt->prepare()
stmt->reset()
stmt->reset()
stmt->result_metadata()
stmt->send_long_data()
stmt->send_long_data()
str_getcsv()
str_ireplace()
str_pad()
str_repeat()
str_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcasecmp()
strchr()
strcmp()
strcoll()
strcspn()
stream_bucket_append()
stream_bucket_make_writeable()
stream_bucket_new()
stream_bucket_prepend()
stream_context_create()
stream_context_get_default()
stream_context_get_options()
stream_context_set_option()
stream_context_set_params()
stream_copy_to_stream()
stream_encoding()
stream_filter_append()
stream_filter_prepend()
stream_filter_register()
stream_filter_remove()
stream_get_contents()
stream_get_filters()
stream_get_line()
stream_get_meta_data()
stream_get_transports()
stream_get_wrappers()
stream_register_wrapper()
stream_resolve_include_path()
stream_select()
stream_set_blocking()
stream_set_timeout()
stream_set_write_buffer()
stream_socket_accept()
stream_socket_client()
stream_socket_enable_crypto()
stream_socket_get_name()
stream_socket_pair()
stream_socket_recvfrom()
stream_socket_sendto()
stream_socket_server()
stream_socket_shutdown()
stream_wrapper_register()
stream_wrapper_restore()
stream_wrapper_unregister()
strftime()
strip_tags()
stripcslashes()
stripos()
stripslashes()
stristr()
strlen()
strnatcasecmp()
strnatcmp()
strncasecmp()
strncmp()
strpbrk()
strpos()
strptime()
strrchr()
strrev()
strripos()
strrpos()
strspn()
strstr()
strtok()
strtolower()
strtotime()
strtoupper()
strtr()
strval()
substr()
substr_compare()
substr_count()
substr_replace()
svn_add()
svn_auth_get_parameter()
svn_auth_set_parameter()
svn_cat()
svn_checkout()
svn_cleanup()
svn_client_version()
svn_commit()
svn_diff()
svn_fs_abort_txn()
svn_fs_apply_text()
svn_fs_begin_txn2()
svn_fs_change_node_prop()
svn_fs_check_path()
svn_fs_contents_changed()
svn_fs_copy()
svn_fs_delete()
svn_fs_dir_entries()
svn_fs_file_contents()
svn_fs_file_length()
svn_fs_is_dir()
svn_fs_is_file()
svn_fs_make_dir()
svn_fs_make_file()
svn_fs_node_created_rev()
svn_fs_node_prop()
svn_fs_props_changed()
svn_fs_revision_prop()
svn_fs_revision_root()
svn_fs_txn_root()
svn_fs_youngest_rev()
svn_import()
svn_log()
svn_ls()
svn_repos_create()
svn_repos_fs()
svn_repos_fs_begin_txn_for_commit()
svn_repos_fs_commit_txn()
svn_repos_hotcopy()
svn_repos_open()
svn_repos_recover()
svn_status()
svn_update()
swf_actiongeturl()
swf_actiongotoframe()
swf_actiongotolabel()
swf_actionnextframe()
swf_actionplay()
swf_actionprevframe()
swf_actionsettarget()
swf_actionstop()
swf_actiontogglequality()
swf_actionwaitforframe()
swf_addbuttonrecord()
swf_addcolor()
swf_closefile()
swf_definebitmap()
swf_definefont()
swf_defineline()
swf_definepoly()
swf_definerect()
swf_definetext()
swf_endbutton()
swf_enddoaction()
swf_endshape()
swf_endsymbol()
swf_fontsize()
swf_fontslant()
swf_fonttracking()
swf_getbitmapinfo()
swf_getfontinfo()
swf_getframe()
swf_labelframe()
swf_lookat()
swf_modifyobject()
swf_mulcolor()
swf_nextid()
swf_oncondition()
swf_openfile()
swf_ortho()
swf_ortho2()
swf_perspective()
swf_placeobject()
swf_polarview()
swf_popmatrix()
swf_posround()
swf_pushmatrix()
swf_removeobject()
swf_rotate()
swf_scale()
swf_setfont()
swf_setframe()
swf_shapearc()
swf_shapecurveto()
swf_shapecurveto3()
swf_shapefillbitmapclip()
swf_shapefillbitmaptile()
swf_shapefilloff()
swf_shapefillsolid()
swf_shapelinesolid()
swf_shapelineto()
swf_shapemoveto()
swf_showframe()
swf_startbutton()
swf_startdoaction()
swf_startshape()
swf_startsymbol()
swf_textwidth()
swf_translate()
swf_viewport()
swfaction()
SWFAction->__construct()
swfbitmap()
SWFBitmap->__construct()
SWFBitmap->getHeight()
SWFBitmap->getWidth()
swfbutton()
SWFButton->__construct()
SWFButton->addAction()
SWFButton->addASound()
SWFButton->addShape()
SWFButton->setAction()
SWFButton->setDown()
SWFButton->setHit()
SWFButton->setMenu()
SWFButton->setOver()
SWFButton->setUp()
swfdisplayitem()
SWFDisplayItem->addAction()
SWFDisplayItem->addColor()
SWFDisplayItem->endMask()
SWFDisplayItem->getRot()
SWFDisplayItem->getX()
SWFDisplayItem->getXScale()
SWFDisplayItem->getXSkew()
SWFDisplayItem->getY()
SWFDisplayItem->getYScale()
SWFDisplayItem->getYSkew()
SWFDisplayItem->move()
SWFDisplayItem->moveTo()
SWFDisplayItem->multColor()
SWFDisplayItem->remove()
SWFDisplayItem->rotate()
SWFDisplayItem->rotateTo()
SWFDisplayItem->scale()
SWFDisplayItem->scaleTo()
SWFDisplayItem->setDepth()
SWFDisplayItem->setMaskLevel()
SWFDisplayItem->setMatrix()
SWFDisplayItem->setName()
SWFDisplayItem->setRatio()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()
swffill()
SWFFill->moveTo()
SWFFill->rotateTo()
SWFFill->scaleTo()
SWFFill->skewXTo()
SWFFill->skewYTo()
swffont()
SWFFont->__construct()
SWFFont->getAscent()
SWFFont->getDescent()
SWFFont->getLeading()
SWFFont->getShape()
SWFFont->getUTF8Width()
SWFFont->getWidth()
swffontchar()
SWFFontChar->addChars()
SWFFontChar->addUTF8Chars()
swfgradient()
SWFGradient->__construct()
SWFGradient->addEntry()
swfmorph()
SWFMorph->__construct()
SWFMorph->getShape1()
SWFMorph->getShape2()
swfmovie()
SWFMovie->__construct()
SWFMovie->add()
SWFMovie->addExport()
SWFMovie->addFont()
SWFMovie->importChar()
SWFMovie->importFont()
SWFMovie->labelFrame()
SWFMovie->nextFrame()
SWFMovie->output()
SWFMovie->remove()
SWFMovie->save()
SWFMovie->saveToFile()
SWFMovie->setbackground()
SWFMovie->setDimension()
SWFMovie->setFrames()
SWFMovie->setRate()
SWFMovie->startSound()
SWFMovie->stopSound()
SWFMovie->streamMP3()
SWFMovie->writeExports()
swfprebuiltclip()
SWFPrebuiltClip->__construct()
swfshape()
SWFShape->__construct()
SWFShape->addFill()
SWFShape->drawArc()
SWFShape->drawCircle()
SWFShape->drawCubic()
SWFShape->drawCubicTo()
SWFShape->drawCurve()
SWFShape->drawCurveTo()
SWFShape->drawGlyph()
SWFShape->drawLine()
SWFShape->drawLineTo()
SWFShape->movePen()
SWFShape->movePenTo()
SWFShape->setLeftFill()
SWFShape->setLine()
SWFShape->setRightFill()
swfsound()
swfsound()
swfsoundinstance()
SWFSoundInstance->loopCount()
SWFSoundInstance->loopInPoint()
SWFSoundInstance->loopOutPoint()
SWFSoundInstance->noMultiple()
swfsprite()
SWFSprite->__construct()
SWFSprite->add()
SWFSprite->labelFrame()
SWFSprite->nextFrame()
SWFSprite->remove()
SWFSprite->setFrames()
SWFSprite->startSound()
SWFSprite->stopSound()
swftext()
SWFText->__construct()
SWFText->addString()
SWFText->addUTF8String()
SWFText->getAscent()
SWFText->getDescent()
SWFText->getLeading()
SWFText->getUTF8Width()
SWFText->getWidth()
SWFText->moveTo()
SWFText->setColor()
SWFText->setFont()
SWFText->setHeight()
SWFText->setSpacing()
swftextfield()
SWFTextField->__construct()
SWFTextField->addChars()
SWFTextField->addString()
SWFTextField->align()
SWFTextField->setBounds()
SWFTextField->setColor()
SWFTextField->setFont()
SWFTextField->setHeight()
SWFTextField->setIndentation()
SWFTextField->setLeftMargin()
SWFTextField->setLineSpacing()
SWFTextField->setMargins()
SWFTextField->setName()
SWFTextField->setPadding()
SWFTextField->setRightMargin()
swfvideostream()
SWFVideoStream->__construct()
SWFVideoStream->getNumFrames()
SWFVideoStream->setDimension()
Swish->getMetaList()
Swish->getPropertyList()
Swish->prepare()
Swish->query()
Swish::__construct()
SwishResult->getMetaList()
SwishResult->stem()
SwishResults->getParsedWords()
SwishResults->getRemovedStopwords()
SwishResults->nextResult()
SwishResults->seekResult()
SwishSearch->execute()
SwishSearch->resetLimit()
SwishSearch->setLimit()
SwishSearch->setPhraseDelimiter()
SwishSearch->setSort()
SwishSearch->setStructure()
sybase_affected_rows()
sybase_close()
sybase_connect()
sybase_data_seek()
sybase_deadlock_retry_count()
sybase_fetch_array()
sybase_fetch_assoc()
sybase_fetch_field()
sybase_fetch_object()
sybase_fetch_row()
sybase_field_seek()
sybase_free_result()
sybase_get_last_message()
sybase_min_client_severity()
sybase_min_error_severity()
sybase_min_message_severity()
sybase_min_server_severity()
sybase_num_fields()
sybase_num_rows()
sybase_pconnect()
sybase_query()
sybase_result()
sybase_select_db()
sybase_set_message_handler()
sybase_unbuffered_query()
symlink()
sys_get_temp_dir()
sys_getloadavg()
syslog()
system()
T
tan()
tanh()
tcpwrap_check()
tempnam()
textdomain()
tidy::__construct()
tidy_access_count()
tidy_clean_repair()
tidy_config_count()
tidy_diagnose()
tidy_error_count()
tidy_get_body()
tidy_get_config()
tidy_get_error_buffer()
tidy_get_head()
tidy_get_html()
tidy_get_html_ver()
tidy_get_opt_doc()
tidy_get_output()
tidy_get_release()
tidy_get_root()
tidy_get_status()
tidy_getopt()
tidy_is_xhtml()
tidy_is_xml()
tidy_load_config()
tidy_node->get_attr()
tidy_node->get_nodes()
tidy_node->next()
tidy_node->prev()
tidy_parse_file()
tidy_parse_string()
tidy_repair_file()
tidy_repair_string()
tidy_reset_config()
tidy_save_config()
tidy_set_encoding()
tidy_setopt()
tidy_warning_count()
tidyNode->hasChildren()
tidyNode->hasSiblings()
tidyNode->isAsp()
tidyNode->isComment()
tidyNode->isHtml()
tidyNode->isJste()
tidyNode->isPhp()
tidyNode->isText()
tidyNode::getParent()
time()
time_nanosleep()
time_sleep_until()
timezone_abbreviations_list()
timezone_identifiers_list()
timezone_name_from_abbr()
timezone_name_get()
timezone_offset_get()
timezone_open()
timezone_transitions_get()
tmpfile()
token_get_all()
token_name()
touch()
trigger_error()
trim()
U
uasort()
ucfirst()
ucwords()
udm_add_search_limit()
udm_alloc_agent()
udm_alloc_agent_array()
udm_api_version()
udm_cat_list()
udm_cat_path()
udm_check_charset()
udm_check_stored()
udm_clear_search_limits()
udm_close_stored()
udm_crc32()
udm_errno()
udm_error()
udm_find()
udm_free_agent()
udm_free_ispell_data()
udm_free_res()
udm_get_doc_count()
udm_get_res_field()
udm_get_res_param()
udm_hash32()
udm_load_ispell_data()
udm_open_stored()
udm_set_agent_param()
uksort()
umask()
unicode_decode()
unicode_encode()
unicode_get_error_mode()
unicode_get_subst_char()
unicode_semantics()
unicode_set_error_mode()
unicode_set_subst_char()
uniqid()
unixtojd()
unlink()
unpack()
unregister_tick_function()
unserialize()
unset()
urldecode()
urlencode()
usage()
use_soap_error_handler()
user_error()
usleep()
usort()
utf8_decode()
utf8_encode()
V
var_dump()
var_export()
variant()
variant_abs()
variant_add()
variant_and()
variant_cast()
variant_cat()
variant_cmp()
variant_date_from_timestamp()
variant_date_to_timestamp()
variant_div()
variant_eqv()
variant_fix()
variant_get_type()
variant_idiv()
variant_imp()
variant_int()
variant_mod()
variant_mul()
variant_neg()
variant_not()
variant_or()
variant_pow()
variant_round()
variant_set()
variant_set_type()
variant_sub()
variant_xor()
version_compare()
vfprintf()
virtual()
vpopmail_add_alias_domain()
vpopmail_add_alias_domain_ex()
vpopmail_add_domain()
vpopmail_add_domain_ex()
vpopmail_add_user()
vpopmail_alias_add()
vpopmail_alias_del()
vpopmail_alias_del_domain()
vpopmail_alias_get()
vpopmail_alias_get_all()
vpopmail_auth_user()
vpopmail_del_domain()
vpopmail_del_domain_ex()
vpopmail_del_user()
vpopmail_error()
vpopmail_passwd()
vpopmail_set_user_quota()
vprintf()
vsprintf()
W
w32api_deftype()
w32api_init_dtype()
w32api_invoke_function()
w32api_register_function()
w32api_set_call_method()
wddx_add_vars()
wddx_deserialize()
wddx_packet_end()
wddx_packet_start()
wddx_serialize_value()
wddx_serialize_vars()
wddx_unserialize()
win32_create_service()
win32_delete_service()
win32_get_last_control_message()
win32_ps_list_procs()
win32_ps_stat_mem()
win32_ps_stat_proc()
win32_query_service_status()
win32_set_service_status()
win32_start_service()
win32_start_service_ctrl_dispatcher()
win32_stop_service()
wordwrap()
X
xattr_get()
xattr_list()
xattr_remove()
xattr_set()
xattr_supported()
xdiff_file_diff()
xdiff_file_diff_binary()
xdiff_file_merge3()
xdiff_file_patch()
xdiff_file_patch_binary()
xdiff_string_diff()
xdiff_string_diff_binary()
xdiff_string_merge3()
xdiff_string_patch()
xdiff_string_patch_binary()
xml_error_string()
xml_get_current_byte_index()
xml_get_current_column_number()
xml_get_current_line_number()
xml_get_error_code()
xml_parse()
xml_parse_into_struct()
xml_parser_create()
xml_parser_create_ns()
xml_parser_free()
xml_parser_get_option()
xml_parser_set_option()
xml_set_character_data_handler()
xml_set_default_handler()
xml_set_element_handler()
xml_set_end_namespace_decl_handler()
xml_set_external_entity_ref_handler()
xml_set_notation_decl_handler()
xml_set_object()
xml_set_processing_instruction_handler()
xml_set_start_namespace_decl_handler()
xml_set_unparsed_entity_decl_handler()
XMLReader::close()
XMLReader::expand()
XMLReader::getAttribute()
XMLReader::getAttributeNo()
XMLReader::getAttributeNs()
XMLReader::getParserProperty()
XMLReader::isValid()
XMLReader::lookupNamespace()
XMLReader::moveToAttribute()
XMLReader::moveToAttributeNo()
XMLReader::moveToAttributeNs()
XMLReader::moveToElement()
XMLReader::moveToFirstAttribute()
XMLReader::moveToNextAttribute()
XMLReader::next()
XMLReader::open()
XMLReader::read()
XMLReader::setParserProperty()
XMLReader::setRelaxNGSchema()
XMLReader::setRelaxNGSchemaSource()
XMLReader::XML()
xmlrpc_decode()
xmlrpc_decode_request()
xmlrpc_encode()
xmlrpc_encode_request()
xmlrpc_get_type()
xmlrpc_is_fault()
xmlrpc_parse_method_descriptions()
xmlrpc_server_add_introspection_data()
xmlrpc_server_call_method()
xmlrpc_server_create()
xmlrpc_server_destroy()
xmlrpc_server_register_introspection_callback()
xmlrpc_server_register_method()
xmlrpc_set_type()
XMLWriter::endAttribute()
XMLWriter::endCData()
XMLWriter::endComment()
XMLWriter::endDocument()
XMLWriter::endDTD()
XMLWriter::endDTDAttlist()
XMLWriter::endDTDElement()
XMLWriter::endDTDEntity()
XMLWriter::endElement()
XMLWriter::endPI()
XMLWriter::flush()
XMLWriter::fullEndElement()
XMLWriter::openMemory()
XMLWriter::openURI()
XMLWriter::outputMemory()
XMLWriter::setIndent()
XMLWriter::setIndentString()
XMLWriter::startAttribute()
XMLWriter::startAttributeNS()
XMLWriter::startCData()
XMLWriter::startComment()
XMLWriter::startDocument()
XMLWriter::startDTD()
XMLWriter::startDTDAttlist()
XMLWriter::startDTDElement()
XMLWriter::startDTDEntity()
XMLWriter::startElement()
XMLWriter::startElementNS()
XMLWriter::startPI()
XMLWriter::text()
XMLWriter::writeAttribute()
XMLWriter::writeAttributeNS()
XMLWriter::writeCData()
XMLWriter::writeComment()
XMLWriter::writeDTD()
XMLWriter::writeDTDAttlist()
XMLWriter::writeDTDElement()
XMLWriter::writeDTDEntity()
XMLWriter::writeElement()
XMLWriter::writeElementNS()
XMLWriter::writePI()
XMLWriter::writeRaw()
xpath_eval()
xpath_eval_expression()
xpath_new_context()
xpath_register_ns()
xpath_register_ns_auto()
xptr_eval()
xptr_new_context()
xslt_backend_info()
xslt_backend_name()
xslt_backend_version()
xslt_create()
xslt_errno()
xslt_error()
xslt_free()
xslt_getopt()
xslt_process()
xslt_set_base()
xslt_set_encoding()
xslt_set_error_handler()
xslt_set_log()
xslt_set_object()
xslt_set_sax_handler()
xslt_set_sax_handlers()
xslt_set_scheme_handler()
xslt_set_scheme_handlers()
xslt_setopt()
XSLTProcessor::__construct()
XSLTProcessor::getParameter()
XSLTProcessor::hasExsltSupport()
XSLTProcessor::importStylesheet()
XSLTProcessor::registerPHPFunctions()
XSLTProcessor::removeParameter()
XSLTProcessor::setParameter()
XSLTProcessor::transformToDoc()
XSLTProcessor::transformToURI()
XSLTProcessor::transformToXML()
Y
yaz_addinfo()
yaz_ccl_conf()
yaz_ccl_parse()
yaz_close()
yaz_connect()
yaz_database()
yaz_element()
yaz_errno()
yaz_error()
yaz_es()
yaz_es_result()
yaz_get_option()
yaz_hits()
yaz_itemorder()
yaz_present()
yaz_range()
yaz_record()
yaz_scan()
yaz_scan_result()
yaz_schema()
yaz_search()
yaz_set_option()
yaz_sort()
yaz_syntax()
yaz_wait()
yp_all()
yp_cat()
yp_err_string()
yp_errno()
yp_first()
yp_get_default_domain()
yp_master()
yp_match()
yp_next()
yp_order()
Z
zend_logo_guid()
zend_thread_id()
zend_version()
zip_close()
zip_entry_close()
zip_entry_compressedsize()
zip_entry_compressionmethod()
zip_entry_filesize()
zip_entry_name()
zip_entry_open()
zip_entry_read()
zip_open()
zip_read()
ZipArchive::addEmptyDir()
ZipArchive::addFile()
ZipArchive::addFromString()
ZipArchive::close()
ZipArchive::deleteIndex()
ZipArchive::deleteName()
ZipArchive::extractTo()
ZipArchive::getArchiveComment()
ZipArchive::getCommentIndex()
ZipArchive::getCommentName()
ZipArchive::getFromIndex()
ZipArchive::getFromName()
ZipArchive::getNameIndex()
ZipArchive::getStream()
ZipArchive::locateName()
ZipArchive::open()
ZipArchive::renameIndex()
ZipArchive::renameName()
ZipArchive::setArchiveComment()
ZipArchive::setCommentIndex()
ZipArchive::setCommentName()
ZipArchive::statIndex()
ZipArchive::statName()
ZipArchive::unchangeAll()
ZipArchive::unchangeArchive()
ZipArchive::unchangeIndex()
ZipArchive::unchangeName()
zlib_get_coding_type()

Creative Commons Attribution 3.0
Version HTML Help
Annexes


Version HTML Help

  • About This Edition
  • Using PHP Manual CHM Edition
    • The HTML Help Toolbar
    • The Navigation Pane
    • Keyboard Shortcuts
  • The Full Text Search
    • General searching rules
    • Searching for words or phrases
    • Defining search terms
    • Using nested expressions when searching
  • Specialities of this Edition
    • User Preferences
    • Presentational Specialities
  • Integrating the PHP Manual
  • Skin development
    • Page Display Process
    • Page Elements
    • CSS classes
  • CHM Edition Credits
Index des fonctions
About This Edition
Manuel PHP


About This Edition

The Windows HTML Help Edition of the PHP Manual is aimed at developers, who want the manual at hand every time, and would like to read manual pages and user notes without waiting for a remote web page to download. This edition gives you the full content of the manual plus the user notes, with some great features provided by the viewer application by the scripts we use to generate this format and by other contributors in the form of skins.

This distribution of the PHP Manual contains many files, including the main manual file php_manual_en.chm. You can view the manual by double clicking on this file (as you already guessed). You may also see a php_manual_en.chw file in the directory, it's generated the first time you use the index tab, and it contains an index with the manual's pages.

For those interested in technical details about Microsoft HTML Help, » http://www.helpware.net/ is a great resource. For more information and positioning of Windows HTML Help in the Microsoft help formats and services history, see this » WinWriters article.

Version HTML Help
Using PHP Manual CHM Edition
Version HTML Help


Using PHP Manual CHM Edition

Sommaire

  • The HTML Help Toolbar
  • The Navigation Pane
  • Keyboard Shortcuts

When you double click on a CHM, a HTML Help Viewer window opens with three panes. On the left side of the window is the Navigation pane. It contains four navigational tabs: the Contents, Index, Search and Favorites tabs. On the right side of the window is the Topic pane. It displays the selected help topic, or the default help topic on startup. The help pages are all separate HTML files, your Internet Explorer displays the pages in the Topic pane. The third pane is the toolbar, which is located below the help window title bar. You can adjust the horizontal layout with dragging the vertical border between the Navigation pane and the Topic pane.

Note, that when you open the CHM the first time, it may appear in a strange position and size. From then, Windows remembers the window position, size and the last opened tab. All these including your favorites are stored in a file named hh.dat. If you move your file to another directory, all these remembered settings will be lost (including your favorites listing!). If you replace your CHM file with a new one, with the same name, this is not a problem though. The file names and path values are stored in hh.dat.

About This Edition
The HTML Help Toolbar
Version HTML Help


The HTML Help Toolbar

The HTML Help Toolbar contains the following icons, when you view the PHP Manual:

  • Hide/Show - Hides/shows the navigation pane.
  • Locate - Locates a topic in the contents tab (in case you reached a topic with search, index or favorites, and would like to see where it is in the table of contents tree view).
  • Back - Goes back in the history.
  • Forward - Goes forward in the history.
  • Refresh - Reloads the current page.
  • Home - Opens the startup page of the CHM.
  • Print - Opens the print dialog box.
  • Options - Provides a dropdown with more options.
Using this toolbar is really easy, many of the toolbar icons are strongly related to their Internet Explorer equivalents.

Using PHP Manual CHM Edition
The Navigation Pane
Using PHP Manual CHM Edition


The Navigation Pane

The Navigation Pane contains four navigational tabs: the Contents, Index, Search and Favorites tabs. These all provide different methods to access a topic in the help file.

  • The contents tab reveals a tree like table of contents, where you can navigate to the desired topic by opening and closing parts of the tree. You can even access the deepest sections using this TOC. If you right click on an item here and choose "Print...", you'll have the option to print the selected topic or the selected topic and all subtopics. However printing is not the initial goal of this representation of the manual (the PDF version is suitable for printing).
  • The index tab lists a huge number of "keywords" (actually manual page titles). You can pick one, or start to type a keyword, see the list adjusting to your input, and then click on a topic, or press enter if the selected topic is the one you would like to see.
  • The search tab shows one of the most powerful features of the HTML Help Viewer, the full text search (also known as FTS). Here you can type in your search expression, optionally connecting words with AND/OR/NEAR/NOT. Before you click 'List topics', you can also set some options at the bottom. After the search results are displayed, you'll realize that manual text and user note results are separated. To sort out the two types, click on the 'Location' column header. Now from the search results list, you can pick a topic, and see it's page. The keywords you searched for are highlighted on the page.
  • The favorites tab enables you to store your most used topics in a list, easily accessible. Here you can see the list, add the current topic to it, remove one, or display a selected item. You can also specify your own title for the favorite, by typing it into the 'Current topic:' box. The user note page titles are prepended with a 'N:' string so you can distinguish them from normal manual pages in the favorites listing.

The HTML Help Toolbar
Keyboard Shortcuts
Using PHP Manual CHM Edition


Keyboard Shortcuts

There are many keyboard shortcuts you can use to increase your productivity. Many users find it more appropriate to use these keyboard shortcuts to access topics, instead of clicking.

General Help Viewer Shortcuts
To | Press
Close the Help Viewer | ALT+F4
Display the Options menu | ALT+O
Hide or show the Navigation pane | ALT+O, and then T
Print a topic | ALT+O, and then P
Move back to the previous topic | ALT+LEFT ARROW
Move forward to the next topic (provided you have viewed it just previously) | ALT+RIGHT ARROW
Turn on or off search highlighting. | ALT+O, and then O
Return to the help file home page | ALT+O, and then H
Switch between the Navigation pane and the Topic pane | F6
Scroll through all the links in a topic or through all the options on a Navigation pane tab | TAB
Display context (right click) menu [see the User Preferences section] | SHIFT+F10
Contents Tab Shortcuts
To | Press
Display the Contents tab | ALT+C
Open and close a book or folder | PLUS SIGN and MINUS SIGN, or LEFT ARROW and RIGHT ARROW
Select a topic | DOWN ARROW and UP ARROW
Display the selected topic | ENTER
Index Tab Shortcuts
To | Press
Display the Index tab | ALT+N
Type a keyword to search for | ALT+W, and then type the word
Select a keyword in the list | UP ARROW and DOWN ARROW
Display the associated topic | ENTER or ALT+D
Search Tab shortcuts
To | Press
Display the Search tab | ALT+S
Type a keyword to search for | ALT+W, and then type the word
Start a search | ALT+L
Select a topic in the results list | ALT+T, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Search for a keyword in the result list of a prior search | ALT+U
Search for words similar to the keyword. For example, to find words like "running" and "runs" for the keyword "run" | ALT+M
Only search through topic titles | ALT+R
Favorites Tab Shortcuts
To | Press
Display the Favorites tab | ALT+I
Add the currently displayed topic to the Favorites list | ALT+A
Select a topic in the Favorites list | ALT+P, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Remove the selected topic from the list | ALT+R
Topic Pane Shortcuts
To | Press
Index Lookup | Select the words you would like to look up and press F1
Find on page | CTRL+F, and then adjust options
Refresh page | F5

The Navigation Pane
The Full Text Search
Using PHP Manual CHM Edition


The Full Text Search

Sommaire

  • General searching rules
  • Searching for words or phrases
  • Defining search terms
  • Using nested expressions when searching

This edition of the PHP Manual includes an advanced full text search possibility provided by the viewer application. This enables users to search through every word in the help file to find a match. For example, if a user does a full-text search on the word "Apache", every topic that contains the word "Apache" will be listed. Advanced full-text search allows a user to search using boolean, wildcard, and nested expressions. A user can also limit the search to previous results, match similar words, or search topic titles only.

The usage of the search feature is fairly straightforward. Click on the search tab, type in the desired words and press ENTER (or click on "List Topics"). Then you'll receive a list of matches from the PHP Manual (and the notes). You can use the button with a right arrow on it to add boolean operators to your search (or you can type them in). As you see the results, you can use the column headings (Title, Location and Rank) to sort the topic list. The default order is by Rank. You can also adjust some parameters at the bottom of this tab.

The words found are highlighted on the current page in the Topic pane by default. You can turn off this feature by choosing the "Search Highlight Off" menu item in the Options menu. To can get this feature back similarly. If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted, due to a limitation of the viewer.

Keyboard Shortcuts
General searching rules
Version HTML Help


General searching rules

A basic search consists of the word or phrase you want to find. You can use wildcard expressions, nested expressions, boolean operators, similar word matches, a previous results list, or topic titles to further define your search.

The basic rules for formulating queries are as follows:

  • Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters.
  • You may search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and common words, like: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you.
  • Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search.
  • Group the elements of your search using double quotes or parentheses to set apart each element. You cannot search for quotation marks.

Note: If you are searching for a file name with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the period will break the file name into two separate terms. The default operation between terms is AND, so you will create the logical equivalent to "filename AND ext."

The Full Text Search
Searching for words or phrases
The Full Text Search


Searching for words or phrases

You can search for words or phrases and use wildcard expressions. Wildcard expressions allow you to search for one or more characters using a question mark or asterisk. The table below describes the results of these different kinds of searches.

Word and phrase searches
Search for | Example | Results
A single word | select | Topics that contain the word "select". (You will also find its grammatical variations, such as "selector" and "selection".)
A phrase | "new operator" or new operator | Topics that contain the literal phrase "new operator" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying "new AND operator," which will find topics containing both of the individual words, instead of the phrase.
Wildcard expressions | esc* or HT?? | Results for the first example include topics that contain the terms "ESC", "escape", "escalation", and so on. The asterisk cannot be the only character in the term. Results for the second example include topics that contain the terms "HTTP", "HTML" and so on. The question mark cannot be the only character in the term.

Note: Select the Match similar words check box to include minor grammatical variations for the phrase you search. This feature only locates variations of the word with common suffixes. For example, a search on the word "add" will find "added," but it will not find "additive". This option is independent of other options or syntax. If you do a titles-only search, variations in titles will be matched. If you use quotes (or any other query operator) any variation of the word can appear; for example, "stemmed search" will also match "stemming search".

General searching rules
Defining search terms
The Full Text Search


Defining search terms

The AND, OR, NOT, and NEAR operators enable you to precisely define your search by creating a relationship between search terms. The following table shows how you can use each of these operators. If no operator is specified, AND is used. For example, the query "server cgi security" is equivalent to "server AND cgi AND security".

Search operators
Search for | Example | Results
Both terms in the same topic | http AND apache | Topics containing both the words "http" and "apache".
Either term in a topic | ming OR swflib | Topics containing either the word "ming" or the word "swflib" or both.
The first term without the second term | xml NOT expat | Topics containing the word "xml" but not the word "expat".
Both terms in the same topic, close together | database NEAR security | Topics containing the word "database" within eight words of the word "security".

Note: The |, &, and ! characters can also be used in place of OR AND and NOT respectively. This may not work if you use a very old version of the viewer.

Searching for words or phrases
Using nested expressions when searching
The Full Text Search


Using nested expressions when searching

Nested expressions allow you to create complex searches for information. For example, "html AND ((smtp OR pop3) NEAR mail)" finds topics containing the word "html" along with the words "smtp" and "mail" close together, or containing "html" along with the words "pop3" and "mail" close together.

The basic rules for searching help topics using nested expressions are as follows:

  • You can use parentheses to nest expressions within a query. The expressions in parentheses are evaluated before the rest of the query.
  • If a query does not contain a nested expression, it is evaluated from left to right. For example: "mail NOT pop3 OR smtp" finds topics containing the word "mail" without the word "pop3" or topics containing the word "smtp". On the other hand, "mail NOT (pop3 OR smtp)" finds topics containing the word "mail" without either of the words "pop3" or "smtp".
  • You cannot nest expressions more than five levels deep.

Defining search terms
Specialities of this Edition
The Full Text Search


Specialities of this Edition

Sommaire

  • User Preferences
  • Presentational Specialities

The HTML Help Edition of the PHP Manual over-performs the presentational and interactive capabilities offered by other editions (including the online manual).

Using nested expressions when searching
User Preferences
Version HTML Help


User Preferences

Most of the interactive features of this manual are provided by the viewer application (including full text search, index, favorites list), but we extended this list with PHP Manual specific tools. All these can be adjusted to your needs using a simple desktop application named php_manual_prefs.exe. If you run this program you can see three groups of settings: Online Functions, Context Menu, and Skin. All your settings are stored in php_manual_prefs.js.

Online functions enable you to have elements connected to websites. The two ones you can see on all manual pages are "This page online" and "Report a bug". As you can figure out the first one shows you the same page in the online manual, the second one opens a page from » http://bugs.php.net/ and prefills some bug data for you. You need to select a mirror site to use for "php.net sensitive" online functions. We recommend choosing a close mirror site to get the best speed. Other components that may be limited by this online functions setting include context menu items opening new websites ("Google search selection" for example). Custom designs may also include elements restricted by this setting.

The context menu settings enables you to choose which context menu you prefer. This application provides you with an option to define your own context menu adding elements to it from a predefined set. You can have this custom context menu for the right click of your mouse, and have the original menu for CTRL+right click, or the opposite way. Three special types of custom context menu items exist:

Context menu items
Type | Examples | Comments
Page Jump | Function Reference, Function Index | These items jump to a specific page in the CHM. Page Jump options are not restricted to point inside the CHM though. They can point to websites or other resources. Page jump options with a protocol part in the URL open in new window.
Function Call | Print page, Select all, Copy selection to clipboard, Google Search Selection | These are "function calls" for internally defined context menu functions. The last two examples have the speciality that they only show up in the menu if you rightclicked on a selection. Currently there is no way to extend the context menu with skin defined functions.
Special display | Google SearchBox, AlltheWeb SearchBox | These are displayed as HTML forms, where you can enter search keywords, press ENTER, and receive a new window with the search issued in the appropriate search engine. Currently there is no way to extend the set of specially displayed context menu items.
Possible context menu elements and their "abstract implementations" are stored in context.ini. You have the ability to add possible page jump options there, but there is no way currently to extend the context menu system with user (skin) defined functions. The possible mirror sites are listed in mirrors.ini. Feel free to suggest more bundled context menu items to us at » php-doc-chm@lists.php.net.

The skins setting enables you to choose from the two bundled default skins, or from any user defined skins. The Low skin is optimized to display correctly at any small size, the High skin is optimized for your viewing pleasure. Other skins may be developed according to our skins development guide. The recommended place for skins on the file system is the skins/SKINNAME subfolder of the PHP Manual directory. Though this is not required, some skins may define other rules (not recommended). We included sample skins for you to see examples of how to develop skins for the PHP Manual.

You have three buttons to choose from at the bottom. The Apply button applies your changes without exiting, the OK button applies and closes the application, the Cancel button does not modify your settings and closes the program.

Specialities of this Edition
Presentational Specialities
Specialities of this Edition


Presentational Specialities

This edition of the PHP Manual is highly optimized for screen presentation. Skins may be developed to better support printing, as this was not the goal of the included skins. This approach allowed us to make many modifications to the presentation of different parts of the manual.

The first thing you'll notice is that all examples are color coded, using the PHP function show_source(). The actual colors used are defined by CSS classes. Examples also have links to PHP functions used in them to provide quick access to reference material. All code examples have a "copy to clipboard" link by the side of them with which you can copy the text contents of the example to the clipboard.

External links are marked with a special » sign, and open in a new browser window. We also included the "path to this page" information on all pages for you to easily identify where you are and navigate as needed.

Other parts of the manual are quite similar to the online ones by default, though custom skins can modify many elements on the pages.

User Preferences
Integrating the PHP Manual
Specialities of this Edition


Integrating the PHP Manual

Note: The information provided here is mainly aimed at IDE authors, or advanced users who would like to integrate this CHM file to their favorite IDEs or other production environment components.

There are several editors out there with support for CHM integration, but you may need to know a few things about what the CHM contains to successfully integrate the manual into your environment.

The CHM is built using XSL style sheets from XML sources. This is unique currently in the PHP Manual family, as all other versions are generated using DSSSL style sheets. This also means, that non-intentional rendering differences may come up. A special conversion script is run on the XSLT output, adding several cute features, and packing up the manual with the preferences files and skin examples.

If you never worked with CHMs, you can think of them as compressed files with OS supported access for files inside and some added search and index support. However CHMs can only be viewed using the HTML Help Viewer, you can directly access files inside them using a special URL prefix, the CHM file name and the file you request from inside. As all the help content is stored in HTML files, you can show pages of the CHM in Internet Explorer.

Assume that you placed your php_manual_en.chm to c:\phpmanual the index file in the manual (which you see the first time) can be accessed with the following URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Here mk:@MSITStore: is the special "protocol", C:\phpmanual\php_manual_en.chm is the CHM with it's full path. The /_index.html part is the path to the index file inside the CHM and :: is just what you need to put between the CHM path and this file path.

Note: All files are in the root directory of the CHM, unlike the previous CHM versions which included a language directory. Images, style sheets and other supplemental files have names starting with an underscore (like the main index shown above), to avoid name collisions.

The names of generated files follow the same rules as the online manual, except that the extension is .html and not .php. The most important is that function documentation files are named function.FUNCNAME.html where FUNCNAME is the function name, with all underscores converted to hyphens. Some examples are function.echo.html, function.mysql-close.html, function.imagecopy.html.

Using all this information, you can show a manual page for a function requested by a user. A simple example is included in the distribution, named php_quickref.hta. This is a » HTML Application to demonstrate the simple process of showing a manual page for a function. The quickRef() function defined therein does the job.

If you would like to integrate the manual into an IDE without direct support for the PHP manual (actually the underscore to hyphen conversion), you can use the included _function.html file to access a function page. This file is simply a redirector, and can be parameterized via the URL, as _function.html#mysql_close. This page will redirect you to the mysql_close function page (function.mysql-close.html) automatically. You can provide the full path of this file if your IDE supports context sensitive help, and provide the IDE specified string as the parameter. An example for this is the UltraEdit 9 intergation (see the edition's website).

The index of the manual (accessible via the index tab on the navigation pane) can also be used for integrational purposes. All the HTML pages are included in the index with their titles as index terms (including function description pages).

If you are a desktop application developer and would like to tightly integrate the CHM into your program (such as displaying the TOC tree in your IDE's help box), you can find more information at » http://www.helpware.net/, as well as links to other useful resources. The official site for HTML Help is at » http://www.microsoft.com/downloads/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc&DisplayLang=en.

Presentational Specialities
Skin development
Version HTML Help


Skin development

Sommaire

  • Page Display Process
  • Page Elements
  • CSS classes

This edition of the PHP Manual allows users to choose from skins to display the contents, as well as develop custom skins to meet some special needs. We decided to support skins because we realized that one skin cannot satisfy everybody's needs in a such heavily used edition.

We included two skins by default inside the CHM. These cannot be modified or removed, so if you have the CHM, you have these two skins inside. The Low skin is optimized for small window display, the High skin is a variation of the Low one with some graphics added to spice it up.

A skin must have at least two files, a skin loader JavaScript file and a CSS file. The two inline skins have these files inside the CHM. The skin loader JS should at least load in the CSS file and display the page contents to the viewer. Theoretically there are two kinds of skins: CSS skins and Full skins. CSS skins only modify the CSS and does not amend the page layout. Full skins also modify the page layout. We have included sample skins for both the CSS skin type and the Full skin type ("greenlinks" and "headernostalgia" respectively).

Avertissement

Note that though the current skin development methods are quite final, there may be heavy changes in used CSS classes or page elements while we refine the skin development ideas. As this edition is currently in development stage, the information described herein is not to be considered completely stable.

Integrating the PHP Manual
Page Display Process
Version HTML Help


Page Display Process

If you are going to develop your own skin, you should know how one page is loaded and displayed to the user, and how a skin fits in this process. For these paragraphs, we assume that you have put your CHM into c:\phpmanual, so it's accessible as c:\phpmanual\php_manual_LANG.chm (where LANG is the language code), and you would like to see the function page of "echo", which is function.echo.html inside the CHM. See the sections about integration for more information on CHM contents.

  • First of all the HTML content is loaded in from function.echo.html from inside the CHM.
  • At the top of this file, there is a HTML <script> tag, which loads in the _script.js file from the CHM. This file contains all the JS code needed to move on with the process. Most importantly this JS defines many variables (like where the CHM is, or what is the actual page viewed) and many functions to print out the context menu or handle online functions.
  • At last _script.js loads in the preferences file from outside the CHM (c:\phpmanual\php_manual_prefs.js in our example). This JS file defines the preference variables, and calls back prefHandler() which is also defined in _script.js.
  • That function loads in the skin JS file as the preferences dictate. The skin JS file should load in the needed CSS file, and define a displayPage() function, which displays the page if called.
  • The HTML file (function.echo.html in this example) also contains a function call to load in the user notes, which simply puts the notes into this HTML file using DHTML to be displayed as if they were here before...
  • The HTML file also contains a body onload attribute which calls the skin-defined displayPage() function to show the page to the user. This is the last function called, it should present the page in it's complete form to the user.
Every action is synchronized with calling back a function in the previously loaded file when the JS is in memory. The notes loading and skin JS loading is only synchronized with the page's onload event (which as the Microsoft documentation says only fires if the page is completely loaded).

This load and callback chain may seem to be too complicated, but so far this seemed to be the best way to do as many things as possible parallel, while also synchronize some calls.

As you can see your skin JavaScript file is loaded in by _script.js and it's displayPage() function is called by the body onload event.

Skin development
Page Elements
Skin development


Page Elements

The PHP Manual pages are all HTML files with several HTML tags in them for both presentational and divisional purposes. The HTML pages contain divisions to be used for skinning purposes and misc divisions added by the DocBook XSL sheets.

A HTML page can be either a function reference page or another kind of page (like a feature description). Skins should get ready to skin these two kinds of pages separately most of the time (depending on the actual design).

The pages are structured using <div> tags with appropriate IDs to ease the skin writers work. A page consists of these parts:

  • <div id="pageContent"></div> contains all the page contents. This begins right after <body> and ends just before </body>. This division is hidden by default, you need to show it after you are ready with the page rewriting process.
  • <div id="pageHeaders"></div> contains the page header parts. This includes the text only main title (in a <span id="pageTitle"></span>) and function properties, in case this is a function page (contained in <span id="funcPurpose"></span>, <span id="funcAvail"></span> and <span id="funcUsage"></span>). In case one of these three is not available, the current page is not a function page.
  • <div id="pageText"></div> contains the majority of the page contents, including examples, manual notes, warnings, etc. This also includes see also parts for now, as we still cannot differentiate between see also and normal text parts (may be a thing to change in the future).
  • <div id="pageNotes"></div> contains the user notes (itself loaded in from another HTML file by JS). It contains a heading, and then a <div> without ID for every user note and spans in that divs for every element of a user note (with "email", "date" and "text" IDs respectively).
  • <div id="pageNav"></div> contains the
navigation table, which is further divided into spans (<span
id="navPrev"></span>, <span
id="navPath"></span>, <span
id="navNext"></span>, <span
id="navOnline"></span>, <span
id="navThisOnline"></span> and <span
id="navReportBug"></span>), where navThisOnline
and navReportBug is inside navOnline.
If you would like to rewrite the page, you should first read in the parts you need from the page to JS variables, then clear the contents of pageContent (or just the part you would like to rewrite), write in the new content and show the pageContent div for the user. If you would not like to make any structural changes, you can simply display the pageContent div and only specify a special style sheet in your skin JS file (see the "greenlinks" skin for an example).

You can find a "Full skin" developed to show you how to make skins built on top of this structure. The skin name is "headernostalgia". It rewrites the header part and removes the footer navigational table.

Page Display Process
CSS classes
Skin development


CSS classes

We cannot provide accurate documentation currently on usable CSS classes, as some of the DocBook XSL sheets classes are not used and some classes are added. Please see the sample CSS files included for first time reference.

Page Elements
CHM Edition Credits
Skin development


CHM Edition Credits

This enhanced version of the PHP Manual would never come to existence, if the following people would not help with their contribution to the project (in no particular order):

  • Holger Eggert, who created the two default designs, and provided many usability tips
  • Gonzalo De la Pena Andreu, who added many comments on how it would be ideal to provide the skinnable interface
  • Olexandr Vynnychenko added countless comments and testing all the time
  • Brendan Ferguson, who provided many optimizations, improvements to the HTML and JS codes behind the manual pages
  • Sandor Hojtsy, who coded the manual preferences desktop application
  • And at last but not least, everybody, who provided feedback through our mailing list, and in the user survey

CSS classes
Version HTML Help